Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/winsup
diff options
context:
space:
mode:
Diffstat (limited to 'winsup')
-rw-r--r--winsup/CYGWIN_LICENSE38
-rw-r--r--winsup/ChangeLog388
-rw-r--r--winsup/Makefile.common195
-rw-r--r--winsup/Makefile.in120
-rwxr-xr-xwinsup/configure1341
-rwxr-xr-xwinsup/configure.in96
-rw-r--r--winsup/cygserver/ChangeLog455
-rw-r--r--winsup/cygserver/Makefile.in91
-rw-r--r--winsup/cygserver/README231
-rw-r--r--winsup/cygserver/bsd_helper.cc702
-rw-r--r--winsup/cygserver/bsd_helper.h65
-rw-r--r--winsup/cygserver/bsd_log.cc95
-rw-r--r--winsup/cygserver/bsd_log.h33
-rw-r--r--winsup/cygserver/bsd_mutex.cc387
-rw-r--r--winsup/cygserver/bsd_mutex.h52
-rw-r--r--winsup/cygserver/client.cc543
-rwxr-xr-xwinsup/cygserver/configure2163
-rw-r--r--winsup/cygserver/configure.in123
-rwxr-xr-xwinsup/cygserver/cygserver-config209
-rw-r--r--winsup/cygserver/cygserver.cc782
-rw-r--r--winsup/cygserver/cygserver.conf141
-rw-r--r--winsup/cygserver/msg.cc117
-rw-r--r--winsup/cygserver/process.cc500
-rw-r--r--winsup/cygserver/process.h179
-rw-r--r--winsup/cygserver/sem.cc107
-rw-r--r--winsup/cygserver/shm.cc124
-rw-r--r--winsup/cygserver/sysv_msg.cc1210
-rw-r--r--winsup/cygserver/sysv_sem.cc1385
-rw-r--r--winsup/cygserver/sysv_shm.cc1043
-rw-r--r--winsup/cygserver/threaded_queue.cc410
-rw-r--r--winsup/cygserver/threaded_queue.h127
-rw-r--r--winsup/cygserver/transport.cc53
-rw-r--r--winsup/cygserver/transport.h39
-rw-r--r--winsup/cygserver/transport_pipes.cc355
-rw-r--r--winsup/cygserver/transport_pipes.h47
-rw-r--r--winsup/cygserver/transport_sockets.cc395
-rw-r--r--winsup/cygserver/transport_sockets.h46
-rw-r--r--winsup/cygserver/woutsup.h73
-rw-r--r--winsup/cygwin/include/machine/stdlib.h22
-rw-r--r--winsup/doc/ChangeLog567
-rw-r--r--winsup/doc/Makefile.in133
-rw-r--r--winsup/doc/README30
-rw-r--r--winsup/doc/calls.texinfo709
-rw-r--r--winsup/doc/changes.texinfo202
-rwxr-xr-xwinsup/doc/configure1067
-rw-r--r--winsup/doc/configure.in54
-rw-r--r--winsup/doc/copy.texinfo384
-rw-r--r--winsup/doc/cygserver.sgml274
-rw-r--r--winsup/doc/cygwin-api.in.sgml58
-rw-r--r--winsup/doc/cygwin-ug-net.in.sgml25
-rw-r--r--winsup/doc/cygwin-ug.in.sgml72
-rw-r--r--winsup/doc/cygwin.dsl16
-rw-r--r--winsup/doc/cygwinenv.sgml200
-rw-r--r--winsup/doc/dll.sgml141
-rw-r--r--winsup/doc/doctool.c622
-rw-r--r--winsup/doc/doctool.txt146
-rw-r--r--winsup/doc/effectively.sgml211
-rw-r--r--winsup/doc/faq-api.xml348
-rw-r--r--winsup/doc/faq-problems.xml44
-rw-r--r--winsup/doc/faq-programming.xml873
-rw-r--r--winsup/doc/faq-resources.xml51
-rw-r--r--winsup/doc/faq-sections.xml82
-rw-r--r--winsup/doc/faq-setup.xml465
-rw-r--r--winsup/doc/faq-using.xml960
-rw-r--r--winsup/doc/faq-what.xml206
-rw-r--r--winsup/doc/faq.texinfo15
-rw-r--r--winsup/doc/faq.xml78
-rw-r--r--winsup/doc/fhandler-tut.txt94
-rw-r--r--winsup/doc/filemodes.sgml34
-rw-r--r--winsup/doc/gcc.sgml156
-rw-r--r--winsup/doc/gdb.sgml88
-rw-r--r--winsup/doc/history.texinfo5
-rw-r--r--winsup/doc/how-api.texinfo292
-rw-r--r--winsup/doc/how-programming.texinfo703
-rw-r--r--winsup/doc/how-resources.texinfo123
-rw-r--r--winsup/doc/how-using.texinfo813
-rw-r--r--winsup/doc/how.texinfo6
-rw-r--r--winsup/doc/install.texinfo374
-rw-r--r--winsup/doc/legal.sgml30
-rw-r--r--winsup/doc/ntsec.sgml834
-rw-r--r--winsup/doc/overview.sgml115
-rw-r--r--winsup/doc/overview2.sgml389
-rw-r--r--winsup/doc/pathnames.sgml377
-rw-r--r--winsup/doc/programming.sgml11
-rw-r--r--winsup/doc/readme.texinfo19
-rw-r--r--winsup/doc/relnotes.texinfo27
-rw-r--r--winsup/doc/setup-net.sgml259
-rw-r--r--winsup/doc/setup.sgml47
-rw-r--r--winsup/doc/setup2.sgml206
-rw-r--r--winsup/doc/textbinary.sgml173
-rw-r--r--winsup/doc/using.sgml23
-rw-r--r--winsup/doc/what.texinfo87
-rw-r--r--winsup/doc/who.texinfo88
-rw-r--r--winsup/doc/windres.sgml169
-rw-r--r--winsup/mingw/CONTRIBUTORS28
-rw-r--r--winsup/mingw/CRT_fp10.c16
-rw-r--r--winsup/mingw/CRT_fp8.c18
-rw-r--r--winsup/mingw/CRT_noglob.c15
-rw-r--r--winsup/mingw/CRTfmode.c16
-rw-r--r--winsup/mingw/CRTglob.c16
-rw-r--r--winsup/mingw/CRTinit.c24
-rw-r--r--winsup/mingw/ChangeLog3083
-rw-r--r--winsup/mingw/DISCLAIMER12
-rw-r--r--winsup/mingw/Makefile.in477
-rw-r--r--winsup/mingw/README10
-rw-r--r--winsup/mingw/TODO1
-rw-r--r--winsup/mingw/binmode.c5
-rwxr-xr-xwinsup/mingw/config.guess1407
-rwxr-xr-xwinsup/mingw/config.sub1504
-rwxr-xr-xwinsup/mingw/configure2163
-rw-r--r--winsup/mingw/configure.in136
-rw-r--r--winsup/mingw/crt1.c279
-rw-r--r--winsup/mingw/crtdll.def695
-rw-r--r--winsup/mingw/crtmt.c14
-rw-r--r--winsup/mingw/crtst.c12
-rw-r--r--winsup/mingw/dllcrt1.c183
-rw-r--r--winsup/mingw/dllmain.c19
-rw-r--r--winsup/mingw/gccmain.c79
-rw-r--r--winsup/mingw/include/_mingw.h165
-rw-r--r--winsup/mingw/include/assert.h51
-rw-r--r--winsup/mingw/include/complex.h205
-rw-r--r--winsup/mingw/include/conio.h53
-rw-r--r--winsup/mingw/include/ctype.h247
-rw-r--r--winsup/mingw/include/dir.h26
-rw-r--r--winsup/mingw/include/direct.h73
-rw-r--r--winsup/mingw/include/dirent.h123
-rw-r--r--winsup/mingw/include/dos.h89
-rw-r--r--winsup/mingw/include/errno.h101
-rw-r--r--winsup/mingw/include/excpt.h102
-rw-r--r--winsup/mingw/include/fcntl.h69
-rw-r--r--winsup/mingw/include/fenv.h91
-rw-r--r--winsup/mingw/include/float.h152
-rw-r--r--winsup/mingw/include/getopt.h84
-rw-r--r--winsup/mingw/include/inttypes.h278
-rw-r--r--winsup/mingw/include/io.h313
-rw-r--r--winsup/mingw/include/limits.h112
-rw-r--r--winsup/mingw/include/locale.h88
-rw-r--r--winsup/mingw/include/malloc.h98
-rw-r--r--winsup/mingw/include/math.h832
-rw-r--r--winsup/mingw/include/mbctype.h97
-rw-r--r--winsup/mingw/include/mbstring.h132
-rw-r--r--winsup/mingw/include/mem.h6
-rw-r--r--winsup/mingw/include/memory.h7
-rw-r--r--winsup/mingw/include/process.h138
-rw-r--r--winsup/mingw/include/search.h64
-rw-r--r--winsup/mingw/include/setjmp.h56
-rw-r--r--winsup/mingw/include/share.h33
-rw-r--r--winsup/mingw/include/signal.h98
-rw-r--r--winsup/mingw/include/stdint.h184
-rw-r--r--winsup/mingw/include/stdio.h509
-rw-r--r--winsup/mingw/include/stdlib.h524
-rw-r--r--winsup/mingw/include/string.h193
-rw-r--r--winsup/mingw/include/strings.h12
-rw-r--r--winsup/mingw/include/sys/fcntl.h7
-rw-r--r--winsup/mingw/include/sys/file.h7
-rw-r--r--winsup/mingw/include/sys/locking.h31
-rw-r--r--winsup/mingw/include/sys/param.h22
-rw-r--r--winsup/mingw/include/sys/stat.h195
-rw-r--r--winsup/mingw/include/sys/time.h16
-rw-r--r--winsup/mingw/include/sys/timeb.h74
-rw-r--r--winsup/mingw/include/sys/types.h120
-rw-r--r--winsup/mingw/include/sys/unistd.h6
-rw-r--r--winsup/mingw/include/sys/utime.h82
-rw-r--r--winsup/mingw/include/tchar.h418
-rw-r--r--winsup/mingw/include/time.h217
-rw-r--r--winsup/mingw/include/unistd.h33
-rw-r--r--winsup/mingw/include/utime.h1
-rw-r--r--winsup/mingw/include/values.h4
-rw-r--r--winsup/mingw/include/varargs.h7
-rw-r--r--winsup/mingw/include/wchar.h475
-rw-r--r--winsup/mingw/include/wctype.h153
-rw-r--r--winsup/mingw/init.c67
-rwxr-xr-xwinsup/mingw/install-sh253
-rw-r--r--winsup/mingw/isascii.c21
-rw-r--r--winsup/mingw/iscsym.c20
-rw-r--r--winsup/mingw/iscsymf.c21
-rw-r--r--winsup/mingw/jamfile71
-rw-r--r--winsup/mingw/main.c79
-rw-r--r--winsup/mingw/mingwex/Makefile.in261
-rw-r--r--winsup/mingw/mingwex/_Exit.c3
-rw-r--r--winsup/mingw/mingwex/atoll.c3
-rwxr-xr-xwinsup/mingw/mingwex/btowc.c19
-rw-r--r--winsup/mingw/mingwex/complex/cabs.c7
-rwxr-xr-xwinsup/mingw/mingwex/complex/cabsf.c7
-rwxr-xr-xwinsup/mingw/mingwex/complex/cabsl.c7
-rw-r--r--winsup/mingw/mingwex/complex/cacos.c82
-rwxr-xr-xwinsup/mingw/mingwex/complex/cacosf.c64
-rw-r--r--winsup/mingw/mingwex/complex/cacosh.c37
-rwxr-xr-xwinsup/mingw/mingwex/complex/cacoshf.c37
-rwxr-xr-xwinsup/mingw/mingwex/complex/cacoshl.c39
-rwxr-xr-xwinsup/mingw/mingwex/complex/cacosl.c66
-rwxr-xr-xwinsup/mingw/mingwex/complex/carg.c9
-rwxr-xr-xwinsup/mingw/mingwex/complex/cargf.c9
-rwxr-xr-xwinsup/mingw/mingwex/complex/cargl.c8
-rw-r--r--winsup/mingw/mingwex/complex/casin.c48
-rwxr-xr-xwinsup/mingw/mingwex/complex/casinf.c48
-rw-r--r--winsup/mingw/mingwex/complex/casinh.c23
-rwxr-xr-xwinsup/mingw/mingwex/complex/casinhf.c23
-rwxr-xr-xwinsup/mingw/mingwex/complex/casinhl.c23
-rwxr-xr-xwinsup/mingw/mingwex/complex/casinl.c48
-rw-r--r--winsup/mingw/mingwex/complex/catan.c49
-rwxr-xr-xwinsup/mingw/mingwex/complex/catanf.c49
-rw-r--r--winsup/mingw/mingwex/complex/catanh.c23
-rwxr-xr-xwinsup/mingw/mingwex/complex/catanhf.c23
-rwxr-xr-xwinsup/mingw/mingwex/complex/catanhl.c23
-rwxr-xr-xwinsup/mingw/mingwex/complex/catanl.c53
-rw-r--r--winsup/mingw/mingwex/complex/ccos.c20
-rwxr-xr-xwinsup/mingw/mingwex/complex/ccosf.c20
-rw-r--r--winsup/mingw/mingwex/complex/ccosh.c19
-rwxr-xr-xwinsup/mingw/mingwex/complex/ccoshf.c19
-rwxr-xr-xwinsup/mingw/mingwex/complex/ccoshl.c19
-rwxr-xr-xwinsup/mingw/mingwex/complex/ccosl.c20
-rw-r--r--winsup/mingw/mingwex/complex/cexp.c19
-rwxr-xr-xwinsup/mingw/mingwex/complex/cexpf.c19
-rwxr-xr-xwinsup/mingw/mingwex/complex/cexpl.c19
-rw-r--r--winsup/mingw/mingwex/complex/cimag.c6
-rwxr-xr-xwinsup/mingw/mingwex/complex/cimagf.c6
-rwxr-xr-xwinsup/mingw/mingwex/complex/cimagl.c5
-rw-r--r--winsup/mingw/mingwex/complex/clog.c19
-rwxr-xr-xwinsup/mingw/mingwex/complex/clogf.c19
-rwxr-xr-xwinsup/mingw/mingwex/complex/clogl.c19
-rw-r--r--winsup/mingw/mingwex/complex/cpow.c48
-rwxr-xr-xwinsup/mingw/mingwex/complex/cpowf.c43
-rwxr-xr-xwinsup/mingw/mingwex/complex/cpowl.c43
-rw-r--r--winsup/mingw/mingwex/complex/cproj.c22
-rwxr-xr-xwinsup/mingw/mingwex/complex/cprojf.c22
-rwxr-xr-xwinsup/mingw/mingwex/complex/cprojl.c22
-rw-r--r--winsup/mingw/mingwex/complex/creal.c6
-rwxr-xr-xwinsup/mingw/mingwex/complex/crealf.c6
-rwxr-xr-xwinsup/mingw/mingwex/complex/creall.c5
-rw-r--r--winsup/mingw/mingwex/complex/csin.c21
-rwxr-xr-xwinsup/mingw/mingwex/complex/csinf.c21
-rw-r--r--winsup/mingw/mingwex/complex/csinh.c21
-rwxr-xr-xwinsup/mingw/mingwex/complex/csinhf.c21
-rwxr-xr-xwinsup/mingw/mingwex/complex/csinhl.c20
-rwxr-xr-xwinsup/mingw/mingwex/complex/csinl.c21
-rw-r--r--winsup/mingw/mingwex/complex/csqrt.c56
-rwxr-xr-xwinsup/mingw/mingwex/complex/csqrtf.c49
-rwxr-xr-xwinsup/mingw/mingwex/complex/csqrtl.c55
-rw-r--r--winsup/mingw/mingwex/complex/ctan.c41
-rwxr-xr-xwinsup/mingw/mingwex/complex/ctanf.c41
-rw-r--r--winsup/mingw/mingwex/complex/ctanh.c44
-rwxr-xr-xwinsup/mingw/mingwex/complex/ctanhf.c44
-rwxr-xr-xwinsup/mingw/mingwex/complex/ctanhl.c44
-rwxr-xr-xwinsup/mingw/mingwex/complex/ctanl.c41
-rwxr-xr-xwinsup/mingw/mingwex/configure1011
-rw-r--r--winsup/mingw/mingwex/configure.in55
-rw-r--r--winsup/mingw/mingwex/dirent.c322
-rw-r--r--winsup/mingw/mingwex/feclearexcept.c15
-rw-r--r--winsup/mingw/mingwex/fegetenv.c14
-rw-r--r--winsup/mingw/mingwex/fegetexceptflag.c15
-rw-r--r--winsup/mingw/mingwex/fegetround.c14
-rw-r--r--winsup/mingw/mingwex/feholdexcept.c16
-rw-r--r--winsup/mingw/mingwex/feraiseexcept.c19
-rw-r--r--winsup/mingw/mingwex/fesetenv.c43
-rw-r--r--winsup/mingw/mingwex/fesetexceptflag.c22
-rw-r--r--winsup/mingw/mingwex/fesetround.c19
-rw-r--r--winsup/mingw/mingwex/fetestexcept.c15
-rw-r--r--winsup/mingw/mingwex/feupdateenv.c20
-rwxr-xr-xwinsup/mingw/mingwex/ftruncate.c5
-rw-r--r--winsup/mingw/mingwex/fwide.c26
-rw-r--r--winsup/mingw/mingwex/getopt.c507
-rw-r--r--winsup/mingw/mingwex/imaxabs.c17
-rw-r--r--winsup/mingw/mingwex/imaxdiv.c25
-rw-r--r--winsup/mingw/mingwex/ldtoa.c614
-rw-r--r--winsup/mingw/mingwex/lltoa.c3
-rw-r--r--winsup/mingw/mingwex/lltow.c3
-rw-r--r--winsup/mingw/mingwex/math/acosf.c23
-rwxr-xr-xwinsup/mingw/mingwex/math/acosh.c26
-rwxr-xr-xwinsup/mingw/mingwex/math/acoshf.c25
-rwxr-xr-xwinsup/mingw/mingwex/math/acoshl.c27
-rw-r--r--winsup/mingw/mingwex/math/acosl.c25
-rw-r--r--winsup/mingw/mingwex/math/asinf.c20
-rwxr-xr-xwinsup/mingw/mingwex/math/asinh.c28
-rwxr-xr-xwinsup/mingw/mingwex/math/asinhf.c28
-rwxr-xr-xwinsup/mingw/mingwex/math/asinhl.c28
-rw-r--r--winsup/mingw/mingwex/math/asinl.c21
-rw-r--r--winsup/mingw/mingwex/math/atan2f.c15
-rw-r--r--winsup/mingw/mingwex/math/atan2l.c16
-rw-r--r--winsup/mingw/mingwex/math/atanf.c17
-rwxr-xr-xwinsup/mingw/mingwex/math/atanh.c31
-rwxr-xr-xwinsup/mingw/mingwex/math/atanhf.c30
-rwxr-xr-xwinsup/mingw/mingwex/math/atanhl.c29
-rw-r--r--winsup/mingw/mingwex/math/atanl.c19
-rw-r--r--winsup/mingw/mingwex/math/cbrt.c162
-rw-r--r--winsup/mingw/mingwex/math/cbrtf.c147
-rw-r--r--winsup/mingw/mingwex/math/cbrtl.c161
-rw-r--r--winsup/mingw/mingwex/math/ceilf.S31
-rw-r--r--winsup/mingw/mingwex/math/ceill.S33
-rw-r--r--winsup/mingw/mingwex/math/cephes_emath.c1318
-rw-r--r--winsup/mingw/mingwex/math/cephes_emath.h713
-rw-r--r--winsup/mingw/mingwex/math/cephes_mconf.h395
-rw-r--r--winsup/mingw/mingwex/math/copysign.S19
-rw-r--r--winsup/mingw/mingwex/math/copysignf.S19
-rw-r--r--winsup/mingw/mingwex/math/copysignl.S20
-rw-r--r--winsup/mingw/mingwex/math/cosf.S29
-rw-r--r--winsup/mingw/mingwex/math/coshf.c3
-rw-r--r--winsup/mingw/mingwex/math/coshl.c110
-rw-r--r--winsup/mingw/mingwex/math/cosl.S30
-rwxr-xr-xwinsup/mingw/mingwex/math/erfl.c299
-rw-r--r--winsup/mingw/mingwex/math/exp2.S39
-rw-r--r--winsup/mingw/mingwex/math/exp2f.S39
-rw-r--r--winsup/mingw/mingwex/math/exp2l.S39
-rw-r--r--winsup/mingw/mingwex/math/expf.c3
-rw-r--r--winsup/mingw/mingwex/math/expl.c71
-rwxr-xr-xwinsup/mingw/mingwex/math/expm1.c28
-rwxr-xr-xwinsup/mingw/mingwex/math/expm1f.c29
-rwxr-xr-xwinsup/mingw/mingwex/math/expm1l.c29
-rw-r--r--winsup/mingw/mingwex/math/fabs.c10
-rw-r--r--winsup/mingw/mingwex/math/fabsf.c9
-rw-r--r--winsup/mingw/mingwex/math/fabsl.c9
-rwxr-xr-xwinsup/mingw/mingwex/math/fastmath.h115
-rw-r--r--winsup/mingw/mingwex/math/fdim.c7
-rw-r--r--winsup/mingw/mingwex/math/fdimf.c7
-rw-r--r--winsup/mingw/mingwex/math/fdiml.c7
-rw-r--r--winsup/mingw/mingwex/math/floorf.S35
-rw-r--r--winsup/mingw/mingwex/math/floorl.S33
-rw-r--r--winsup/mingw/mingwex/math/fma.S12
-rw-r--r--winsup/mingw/mingwex/math/fmaf.S12
-rw-r--r--winsup/mingw/mingwex/math/fmal.c5
-rw-r--r--winsup/mingw/mingwex/math/fmax.c7
-rw-r--r--winsup/mingw/mingwex/math/fmaxf.c7
-rw-r--r--winsup/mingw/mingwex/math/fmaxl.c7
-rw-r--r--winsup/mingw/mingwex/math/fmin.c7
-rw-r--r--winsup/mingw/mingwex/math/fminf.c7
-rw-r--r--winsup/mingw/mingwex/math/fminl.c7
-rw-r--r--winsup/mingw/mingwex/math/fmodf.c23
-rw-r--r--winsup/mingw/mingwex/math/fmodl.c22
-rw-r--r--winsup/mingw/mingwex/math/fp_consts.c14
-rw-r--r--winsup/mingw/mingwex/math/fp_consts.h48
-rw-r--r--winsup/mingw/mingwex/math/fp_constsf.c12
-rw-r--r--winsup/mingw/mingwex/math/fp_constsl.c12
-rw-r--r--winsup/mingw/mingwex/math/fpclassify.c20
-rw-r--r--winsup/mingw/mingwex/math/fpclassifyf.c10
-rw-r--r--winsup/mingw/mingwex/math/fpclassifyl.c10
-rw-r--r--winsup/mingw/mingwex/math/frexpf.c3
-rw-r--r--winsup/mingw/mingwex/math/frexpl.S71
-rw-r--r--winsup/mingw/mingwex/math/fucom.c11
-rw-r--r--winsup/mingw/mingwex/math/hypotf.c4
-rw-r--r--winsup/mingw/mingwex/math/hypotl.c73
-rw-r--r--winsup/mingw/mingwex/math/ilogb.S37
-rw-r--r--winsup/mingw/mingwex/math/ilogbf.S35
-rw-r--r--winsup/mingw/mingwex/math/ilogbl.S36
-rw-r--r--winsup/mingw/mingwex/math/isnan.c14
-rw-r--r--winsup/mingw/mingwex/math/isnanf.c12
-rw-r--r--winsup/mingw/mingwex/math/isnanl.c13
-rw-r--r--winsup/mingw/mingwex/math/ldexpf.c3
-rw-r--r--winsup/mingw/mingwex/math/ldexpl.c19
-rw-r--r--winsup/mingw/mingwex/math/lgamma.c359
-rw-r--r--winsup/mingw/mingwex/math/lgammaf.c253
-rw-r--r--winsup/mingw/mingwex/math/lgammal.c416
-rw-r--r--winsup/mingw/mingwex/math/llrint.c10
-rw-r--r--winsup/mingw/mingwex/math/llrintf.c9
-rw-r--r--winsup/mingw/mingwex/math/llrintl.c10
-rw-r--r--winsup/mingw/mingwex/math/llround.c19
-rw-r--r--winsup/mingw/mingwex/math/llroundf.c19
-rw-r--r--winsup/mingw/mingwex/math/llroundl.c19
-rw-r--r--winsup/mingw/mingwex/math/log10f.S48
-rw-r--r--winsup/mingw/mingwex/math/log10l.S52
-rw-r--r--winsup/mingw/mingwex/math/log1p.S47
-rw-r--r--winsup/mingw/mingwex/math/log1pf.S47
-rw-r--r--winsup/mingw/mingwex/math/log1pl.S54
-rw-r--r--winsup/mingw/mingwex/math/log2.S51
-rw-r--r--winsup/mingw/mingwex/math/log2f.S51
-rw-r--r--winsup/mingw/mingwex/math/log2l.S48
-rw-r--r--winsup/mingw/mingwex/math/logb.c16
-rw-r--r--winsup/mingw/mingwex/math/logbf.c16
-rw-r--r--winsup/mingw/mingwex/math/logbl.c17
-rw-r--r--winsup/mingw/mingwex/math/logf.S39
-rw-r--r--winsup/mingw/mingwex/math/logl.S40
-rw-r--r--winsup/mingw/mingwex/math/lrint.c9
-rw-r--r--winsup/mingw/mingwex/math/lrintf.c9
-rw-r--r--winsup/mingw/mingwex/math/lrintl.c10
-rw-r--r--winsup/mingw/mingwex/math/lround.c19
-rw-r--r--winsup/mingw/mingwex/math/lroundf.c19
-rw-r--r--winsup/mingw/mingwex/math/lroundl.c19
-rw-r--r--winsup/mingw/mingwex/math/modff.c22
-rw-r--r--winsup/mingw/mingwex/math/modfl.c22
-rw-r--r--winsup/mingw/mingwex/math/nearbyint.S30
-rw-r--r--winsup/mingw/mingwex/math/nearbyintf.S29
-rw-r--r--winsup/mingw/mingwex/math/nearbyintl.S30
-rw-r--r--winsup/mingw/mingwex/math/nextafterf.c27
-rwxr-xr-xwinsup/mingw/mingwex/math/nextafterl.c65
-rwxr-xr-xwinsup/mingw/mingwex/math/nexttoward.c42
-rwxr-xr-xwinsup/mingw/mingwex/math/nexttowardf.c38
-rw-r--r--winsup/mingw/mingwex/math/pow.c781
-rw-r--r--winsup/mingw/mingwex/math/powf.c3
-rw-r--r--winsup/mingw/mingwex/math/powi.c200
-rw-r--r--winsup/mingw/mingwex/math/powif.c198
-rw-r--r--winsup/mingw/mingwex/math/powil.c179
-rw-r--r--winsup/mingw/mingwex/math/powl.c804
-rw-r--r--winsup/mingw/mingwex/math/remainder.S19
-rw-r--r--winsup/mingw/mingwex/math/remainderf.S19
-rw-r--r--winsup/mingw/mingwex/math/remainderl.S22
-rw-r--r--winsup/mingw/mingwex/math/remquo.S38
-rw-r--r--winsup/mingw/mingwex/math/remquof.S38
-rw-r--r--winsup/mingw/mingwex/math/remquol.S36
-rw-r--r--winsup/mingw/mingwex/math/rint.c6
-rw-r--r--winsup/mingw/mingwex/math/rintf.c7
-rw-r--r--winsup/mingw/mingwex/math/rintl.c7
-rw-r--r--winsup/mingw/mingwex/math/round.c8
-rw-r--r--winsup/mingw/mingwex/math/roundf.c8
-rw-r--r--winsup/mingw/mingwex/math/roundl.c8
-rw-r--r--winsup/mingw/mingwex/math/s_erf.c345
-rw-r--r--winsup/mingw/mingwex/math/scalbn.S19
-rw-r--r--winsup/mingw/mingwex/math/scalbnf.S19
-rw-r--r--winsup/mingw/mingwex/math/scalbnl.S20
-rw-r--r--winsup/mingw/mingwex/math/sf_erf.c264
-rw-r--r--winsup/mingw/mingwex/math/signbit.c13
-rw-r--r--winsup/mingw/mingwex/math/signbitf.c10
-rw-r--r--winsup/mingw/mingwex/math/signbitl.c11
-rw-r--r--winsup/mingw/mingwex/math/sinf.S32
-rw-r--r--winsup/mingw/mingwex/math/sinhf.c3
-rw-r--r--winsup/mingw/mingwex/math/sinhl.c172
-rw-r--r--winsup/mingw/mingwex/math/sinl.S32
-rw-r--r--winsup/mingw/mingwex/math/sqrtf.c20
-rw-r--r--winsup/mingw/mingwex/math/sqrtl.c20
-rw-r--r--winsup/mingw/mingwex/math/tanf.S31
-rw-r--r--winsup/mingw/mingwex/math/tanhf.c3
-rw-r--r--winsup/mingw/mingwex/math/tanhl.c151
-rw-r--r--winsup/mingw/mingwex/math/tanl.S33
-rw-r--r--winsup/mingw/mingwex/math/tgamma.c385
-rw-r--r--winsup/mingw/mingwex/math/tgammaf.c265
-rw-r--r--winsup/mingw/mingwex/math/tgammal.c501
-rw-r--r--winsup/mingw/mingwex/math/trunc.c16
-rw-r--r--winsup/mingw/mingwex/math/truncf.c17
-rw-r--r--winsup/mingw/mingwex/math/truncl.c16
-rwxr-xr-xwinsup/mingw/mingwex/mb_wc_common.h18
-rwxr-xr-xwinsup/mingw/mingwex/mbrtowc.c154
-rw-r--r--winsup/mingw/mingwex/mbsinit.c21
-rwxr-xr-xwinsup/mingw/mingwex/mingw-aligned-malloc.c120
-rw-r--r--winsup/mingw/mingwex/mingw-fseek.c106
-rw-r--r--winsup/mingw/mingwex/sitest.c1527
-rwxr-xr-xwinsup/mingw/mingwex/stdio/fopen64.c7
-rwxr-xr-xwinsup/mingw/mingwex/stdio/fseeko64.c30
-rwxr-xr-xwinsup/mingw/mingwex/stdio/ftello64.c11
-rwxr-xr-xwinsup/mingw/mingwex/stdio/lseek64.c8
-rw-r--r--winsup/mingw/mingwex/stdio/snprintf.c13
-rw-r--r--winsup/mingw/mingwex/stdio/snwprintf.c13
-rw-r--r--winsup/mingw/mingwex/stdio/vfscanf.c40
-rw-r--r--winsup/mingw/mingwex/stdio/vfwscanf.c42
-rw-r--r--winsup/mingw/mingwex/stdio/vscanf.c9
-rw-r--r--winsup/mingw/mingwex/stdio/vsnprintf.c5
-rw-r--r--winsup/mingw/mingwex/stdio/vsnwprintf.c5
-rw-r--r--winsup/mingw/mingwex/stdio/vsscanf.c41
-rw-r--r--winsup/mingw/mingwex/stdio/vswscanf.c43
-rw-r--r--winsup/mingw/mingwex/stdio/vwscanf.c10
-rw-r--r--winsup/mingw/mingwex/strtof.c6
-rw-r--r--winsup/mingw/mingwex/strtoimax.c112
-rw-r--r--winsup/mingw/mingwex/strtold.c421
-rw-r--r--winsup/mingw/mingwex/strtoumax.c110
-rw-r--r--winsup/mingw/mingwex/testwmem.c104
-rwxr-xr-xwinsup/mingw/mingwex/tst-aligned-malloc.c90
-rw-r--r--winsup/mingw/mingwex/ulltoa.c3
-rw-r--r--winsup/mingw/mingwex/ulltow.c3
-rwxr-xr-xwinsup/mingw/mingwex/wcrtomb.c94
-rw-r--r--winsup/mingw/mingwex/wcstof.c6
-rw-r--r--winsup/mingw/mingwex/wcstoimax.c119
-rw-r--r--winsup/mingw/mingwex/wcstold.c76
-rw-r--r--winsup/mingw/mingwex/wcstoumax.c113
-rwxr-xr-xwinsup/mingw/mingwex/wctob.c21
-rwxr-xr-xwinsup/mingw/mingwex/wctrans.c60
-rwxr-xr-xwinsup/mingw/mingwex/wctype.c60
-rw-r--r--winsup/mingw/mingwex/wdirent.c3
-rw-r--r--winsup/mingw/mingwex/wmemchr.c28
-rw-r--r--winsup/mingw/mingwex/wmemcmp.c32
-rw-r--r--winsup/mingw/mingwex/wmemcpy.c32
-rw-r--r--winsup/mingw/mingwex/wmemmove.c43
-rw-r--r--winsup/mingw/mingwex/wmemset.c30
-rw-r--r--winsup/mingw/mingwex/wtoll.c3
-rwxr-xr-xwinsup/mingw/mkinstalldirs36
-rw-r--r--winsup/mingw/moldname.def.in151
-rw-r--r--winsup/mingw/msvcrt.def.in809
-rw-r--r--winsup/mingw/mthr.c197
-rw-r--r--winsup/mingw/mthr_init.c80
-rw-r--r--winsup/mingw/mthr_stub.c44
-rwxr-xr-xwinsup/mingw/profile/COPYING340
-rwxr-xr-xwinsup/mingw/profile/CYGWIN_LICENSE38
-rw-r--r--winsup/mingw/profile/Makefile.in142
-rwxr-xr-xwinsup/mingw/profile/configure1035
-rw-r--r--winsup/mingw/profile/configure.in75
-rw-r--r--winsup/mingw/profile/gcrt0.c52
-rw-r--r--winsup/mingw/profile/gmon.c290
-rw-r--r--winsup/mingw/profile/gmon.h181
-rw-r--r--winsup/mingw/profile/mcount.c179
-rw-r--r--winsup/mingw/profile/profil.c185
-rw-r--r--winsup/mingw/profile/profil.h51
-rw-r--r--winsup/mingw/profile/profile.h83
-rw-r--r--winsup/mingw/pseudo-reloc-list.c3
-rw-r--r--winsup/mingw/pseudo-reloc.c46
-rw-r--r--winsup/mingw/readme.txt685
-rw-r--r--winsup/mingw/samples/dirent/jamfile3
-rw-r--r--winsup/mingw/samples/dirent/test.c91
-rw-r--r--winsup/mingw/samples/dirent/wtest.c98
-rw-r--r--winsup/mingw/samples/dlltest/dll.c22
-rw-r--r--winsup/mingw/samples/dlltest/dll.def3
-rw-r--r--winsup/mingw/samples/dlltest/dll.h4
-rw-r--r--winsup/mingw/samples/dlltest/exe.c23
-rw-r--r--winsup/mingw/samples/dlltest/exe.exp8
-rw-r--r--winsup/mingw/samples/dlltest/expexe.c17
-rw-r--r--winsup/mingw/samples/dlltest/expexe.def2
-rw-r--r--winsup/mingw/samples/dlltest/jamfile46
-rw-r--r--winsup/mingw/samples/dlltest/loaddll.c40
-rw-r--r--winsup/mingw/samples/dlltest/loadexe.c47
-rw-r--r--winsup/mingw/samples/dlltest/readme.txt39
-rw-r--r--winsup/mingw/samples/dlltest/silly.cpp55
-rw-r--r--winsup/mingw/samples/dlltest/silly.def11
-rw-r--r--winsup/mingw/samples/dlltest/silly.exp8
-rw-r--r--winsup/mingw/samples/dlltest/silly.h27
-rw-r--r--winsup/mingw/samples/dlltest/sillydll.cpp107
-rw-r--r--winsup/mingw/samples/filehand/filehand.c57
-rw-r--r--winsup/mingw/samples/filehand/jamfile3
-rw-r--r--winsup/mingw/samples/filehand/junk.txt1
-rw-r--r--winsup/mingw/samples/fixargv/fixargv.c290
-rw-r--r--winsup/mingw/samples/fixargv/fixargv.h24
-rw-r--r--winsup/mingw/samples/fixargv/readme.txt85
-rw-r--r--winsup/mingw/samples/fmode/all.c49
-rw-r--r--winsup/mingw/samples/fmode/jamfile7
-rw-r--r--winsup/mingw/samples/fmode/readme.txt5
-rw-r--r--winsup/mingw/samples/fmode/test.c32
-rw-r--r--winsup/mingw/samples/fmode/test2.c37
-rw-r--r--winsup/mingw/samples/globbing/glob.c20
-rw-r--r--winsup/mingw/samples/globbing/jamfile11
-rw-r--r--winsup/mingw/samples/globbing/noglob.c22
-rw-r--r--winsup/mingw/samples/globbing/readme.txt14
-rw-r--r--winsup/mingw/samples/print/jamfile9
-rw-r--r--winsup/mingw/samples/print/prntest.c65
-rw-r--r--winsup/mingw/samples/seh/eh3.c112
-rw-r--r--winsup/mingw/samples/seh/exutil.c68
-rw-r--r--winsup/mingw/samples/seh/exutil.def3
-rw-r--r--winsup/mingw/samples/seh/exutil.h23
-rw-r--r--winsup/mingw/samples/seh/jamfile13
-rw-r--r--winsup/mingw/samples/seh/sehfix.c60
-rw-r--r--winsup/mingw/samples/seh/sehsub.c43
-rw-r--r--winsup/mingw/samples/seh/sehtest.c72
-rw-r--r--winsup/mingw/samples/simpledll/dll.c33
-rw-r--r--winsup/mingw/samples/simpledll/dll.cpp44
-rw-r--r--winsup/mingw/samples/simpledll/dll.def2
-rw-r--r--winsup/mingw/samples/simpledll/exe.c13
-rw-r--r--winsup/mingw/samples/simpledll/jamfile14
-rw-r--r--winsup/mingw/samples/simpledll/makedll.bat23
-rw-r--r--winsup/mingw/samples/test/jamfile9
-rw-r--r--winsup/mingw/samples/test/test.c20
-rw-r--r--winsup/mingw/samples/wintest/jamfile8
-rw-r--r--winsup/mingw/samples/wintest/test.c212
-rw-r--r--winsup/mingw/strcasecmp.c21
-rw-r--r--winsup/mingw/strncasecmp.c21
-rw-r--r--winsup/mingw/test_headers.c54
-rw-r--r--winsup/mingw/toascii.c22
-rw-r--r--winsup/mingw/txtmode.c7
-rw-r--r--winsup/mingw/wcscmpi.c21
-rw-r--r--winsup/subauth/ChangeLog21
-rw-r--r--winsup/subauth/Makefile.in89
-rwxr-xr-xwinsup/subauth/configure1253
-rw-r--r--winsup/subauth/configure.in91
-rw-r--r--winsup/subauth/cygsuba.c141
-rw-r--r--winsup/subauth/cygsuba.din5
-rw-r--r--winsup/testsuite/ChangeLog700
-rw-r--r--winsup/testsuite/Makefile.in196
-rw-r--r--winsup/testsuite/README40
-rw-r--r--winsup/testsuite/config/default.exp13
-rw-r--r--winsup/testsuite/configure1193
-rwxr-xr-xwinsup/testsuite/configure.in19
-rw-r--r--winsup/testsuite/cygload/Makefile36
-rw-r--r--winsup/testsuite/cygload/README18
-rw-r--r--winsup/testsuite/cygload/cygload.cc618
-rw-r--r--winsup/testsuite/cygload/cygload.exp40
-rw-r--r--winsup/testsuite/cygload/cygload.h158
-rw-r--r--winsup/testsuite/cygrun.c69
-rw-r--r--winsup/testsuite/libltp/include/dataascii.h65
-rw-r--r--winsup/testsuite/libltp/include/databin.h44
-rw-r--r--winsup/testsuite/libltp/include/file_lock.h40
-rw-r--r--winsup/testsuite/libltp/include/forker.h63
-rw-r--r--winsup/testsuite/libltp/include/open_flags.h73
-rw-r--r--winsup/testsuite/libltp/include/pattern.h90
-rw-r--r--winsup/testsuite/libltp/include/random_range.h45
-rw-r--r--winsup/testsuite/libltp/include/rmobj.h12
-rw-r--r--winsup/testsuite/libltp/include/search_path.h36
-rw-r--r--winsup/testsuite/libltp/include/str_to_bytes.h39
-rw-r--r--winsup/testsuite/libltp/include/string_to_tokens.h48
-rw-r--r--winsup/testsuite/libltp/include/test.h232
-rw-r--r--winsup/testsuite/libltp/include/tlibio.h148
-rw-r--r--winsup/testsuite/libltp/include/usctest.h319
-rw-r--r--winsup/testsuite/libltp/include/write_log.h169
-rw-r--r--winsup/testsuite/libltp/lib/dataascii.c218
-rw-r--r--winsup/testsuite/libltp/lib/databin.c298
-rw-r--r--winsup/testsuite/libltp/lib/datapid.c374
-rw-r--r--winsup/testsuite/libltp/lib/forker.c286
-rw-r--r--winsup/testsuite/libltp/lib/get_high_address.c20
-rw-r--r--winsup/testsuite/libltp/lib/libtestsuite.c70
-rw-r--r--winsup/testsuite/libltp/lib/open_flags.c330
-rw-r--r--winsup/testsuite/libltp/lib/parse_opts.c876
-rw-r--r--winsup/testsuite/libltp/lib/pattern.c168
-rw-r--r--winsup/testsuite/libltp/lib/rmobj.c211
-rw-r--r--winsup/testsuite/libltp/lib/search_path.c249
-rw-r--r--winsup/testsuite/libltp/lib/str_to_bytes.c211
-rw-r--r--winsup/testsuite/libltp/lib/string_to_tokens.c109
-rw-r--r--winsup/testsuite/libltp/lib/tst_res.c960
-rw-r--r--winsup/testsuite/libltp/lib/tst_sig.c220
-rw-r--r--winsup/testsuite/libltp/lib/tst_tmpdir.c347
-rw-r--r--winsup/testsuite/libltp/lib/write_log.c468
-rw-r--r--winsup/testsuite/winsup.api/checksignal.c76
-rw-r--r--winsup/testsuite/winsup.api/crlf.c527
-rw-r--r--winsup/testsuite/winsup.api/devdsp.c783
-rw-r--r--winsup/testsuite/winsup.api/devdsp_okay.h531
-rw-r--r--winsup/testsuite/winsup.api/devzero.c115
-rw-r--r--winsup/testsuite/winsup.api/iospeed.c115
-rw-r--r--winsup/testsuite/winsup.api/known_bugs.tcl4
-rw-r--r--winsup/testsuite/winsup.api/ltp/access01.c300
-rw-r--r--winsup/testsuite/winsup.api/ltp/access03.c506
-rw-r--r--winsup/testsuite/winsup.api/ltp/access04.c241
-rw-r--r--winsup/testsuite/winsup.api/ltp/access05.c424
-rw-r--r--winsup/testsuite/winsup.api/ltp/alarm01.c226
-rw-r--r--winsup/testsuite/winsup.api/ltp/alarm02.c240
-rw-r--r--winsup/testsuite/winsup.api/ltp/alarm03.c229
-rw-r--r--winsup/testsuite/winsup.api/ltp/alarm07.c201
-rw-r--r--winsup/testsuite/winsup.api/ltp/asyncio02.c364
-rw-r--r--winsup/testsuite/winsup.api/ltp/chdir02.c219
-rw-r--r--winsup/testsuite/winsup.api/ltp/chdir04.c188
-rw-r--r--winsup/testsuite/winsup.api/ltp/chmod01.c230
-rw-r--r--winsup/testsuite/winsup.api/ltp/chmod02.c260
-rw-r--r--winsup/testsuite/winsup.api/ltp/chown01.c244
-rw-r--r--winsup/testsuite/winsup.api/ltp/close01.c201
-rw-r--r--winsup/testsuite/winsup.api/ltp/close02.c143
-rw-r--r--winsup/testsuite/winsup.api/ltp/close08.c241
-rw-r--r--winsup/testsuite/winsup.api/ltp/creat01.c207
-rw-r--r--winsup/testsuite/winsup.api/ltp/creat03.c154
-rw-r--r--winsup/testsuite/winsup.api/ltp/creat09.c246
-rw-r--r--winsup/testsuite/winsup.api/ltp/dup01.c261
-rw-r--r--winsup/testsuite/winsup.api/ltp/dup02.c246
-rw-r--r--winsup/testsuite/winsup.api/ltp/dup03.c291
-rw-r--r--winsup/testsuite/winsup.api/ltp/dup04.c297
-rw-r--r--winsup/testsuite/winsup.api/ltp/dup05.c266
-rw-r--r--winsup/testsuite/winsup.api/ltp/execl01.c258
-rw-r--r--winsup/testsuite/winsup.api/ltp/execle01.c257
-rw-r--r--winsup/testsuite/winsup.api/ltp/execlp01.c256
-rw-r--r--winsup/testsuite/winsup.api/ltp/execv01.c254
-rw-r--r--winsup/testsuite/winsup.api/ltp/execve01.c258
-rw-r--r--winsup/testsuite/winsup.api/ltp/execvp01.c257
-rw-r--r--winsup/testsuite/winsup.api/ltp/exit01.c165
-rw-r--r--winsup/testsuite/winsup.api/ltp/exit02.c228
-rw-r--r--winsup/testsuite/winsup.api/ltp/fchdir01.c249
-rw-r--r--winsup/testsuite/winsup.api/ltp/fchdir02.c160
-rw-r--r--winsup/testsuite/winsup.api/ltp/fchmod01.c241
-rw-r--r--winsup/testsuite/winsup.api/ltp/fchown01.c234
-rw-r--r--winsup/testsuite/winsup.api/ltp/fcntl02.c244
-rw-r--r--winsup/testsuite/winsup.api/ltp/fcntl03.c240
-rw-r--r--winsup/testsuite/winsup.api/ltp/fcntl04.c239
-rw-r--r--winsup/testsuite/winsup.api/ltp/fcntl05.c249
-rw-r--r--winsup/testsuite/winsup.api/ltp/fcntl07.c423
-rw-r--r--winsup/testsuite/winsup.api/ltp/fcntl07B.c422
-rw-r--r--winsup/testsuite/winsup.api/ltp/fcntl08.c250
-rw-r--r--winsup/testsuite/winsup.api/ltp/fcntl09.c278
-rw-r--r--winsup/testsuite/winsup.api/ltp/fcntl10.c284
-rw-r--r--winsup/testsuite/winsup.api/ltp/fork01.c316
-rw-r--r--winsup/testsuite/winsup.api/ltp/fork02.c139
-rw-r--r--winsup/testsuite/winsup.api/ltp/fork03.c165
-rw-r--r--winsup/testsuite/winsup.api/ltp/fork04.c403
-rw-r--r--winsup/testsuite/winsup.api/ltp/fork06.c153
-rw-r--r--winsup/testsuite/winsup.api/ltp/fork07.c200
-rw-r--r--winsup/testsuite/winsup.api/ltp/fork09.c229
-rw-r--r--winsup/testsuite/winsup.api/ltp/fork10.c216
-rw-r--r--winsup/testsuite/winsup.api/ltp/fork11.c141
-rw-r--r--winsup/testsuite/winsup.api/ltp/fpathconf01.c256
-rw-r--r--winsup/testsuite/winsup.api/ltp/fstat01.c237
-rw-r--r--winsup/testsuite/winsup.api/ltp/fstat02.c244
-rw-r--r--winsup/testsuite/winsup.api/ltp/fstat03.c189
-rw-r--r--winsup/testsuite/winsup.api/ltp/fstat04.c244
-rw-r--r--winsup/testsuite/winsup.api/ltp/fsync01.c248
-rw-r--r--winsup/testsuite/winsup.api/ltp/ftruncate01.c244
-rw-r--r--winsup/testsuite/winsup.api/ltp/ftruncate02.c313
-rw-r--r--winsup/testsuite/winsup.api/ltp/ftruncate03.c324
-rw-r--r--winsup/testsuite/winsup.api/ltp/getegid01.c226
-rw-r--r--winsup/testsuite/winsup.api/ltp/geteuid01.c226
-rw-r--r--winsup/testsuite/winsup.api/ltp/getgid01.c219
-rw-r--r--winsup/testsuite/winsup.api/ltp/getgid02.c159
-rw-r--r--winsup/testsuite/winsup.api/ltp/getgid03.c158
-rw-r--r--winsup/testsuite/winsup.api/ltp/getgroups01.c314
-rw-r--r--winsup/testsuite/winsup.api/ltp/getgroups02.c226
-rw-r--r--winsup/testsuite/winsup.api/ltp/gethostid01.c224
-rw-r--r--winsup/testsuite/winsup.api/ltp/gethostname01.c226
-rw-r--r--winsup/testsuite/winsup.api/ltp/getpgid01.c236
-rw-r--r--winsup/testsuite/winsup.api/ltp/getpgid02.c172
-rw-r--r--winsup/testsuite/winsup.api/ltp/getpgrp01.c219
-rw-r--r--winsup/testsuite/winsup.api/ltp/getpid01.c217
-rw-r--r--winsup/testsuite/winsup.api/ltp/getpid02.c186
-rw-r--r--winsup/testsuite/winsup.api/ltp/getppid01.c219
-rw-r--r--winsup/testsuite/winsup.api/ltp/getppid02.c148
-rw-r--r--winsup/testsuite/winsup.api/ltp/getuid01.c219
-rw-r--r--winsup/testsuite/winsup.api/ltp/getuid02.c137
-rw-r--r--winsup/testsuite/winsup.api/ltp/getuid03.c138
-rw-r--r--winsup/testsuite/winsup.api/ltp/kill01.c162
-rw-r--r--winsup/testsuite/winsup.api/ltp/kill02.c857
-rw-r--r--winsup/testsuite/winsup.api/ltp/kill03.c170
-rw-r--r--winsup/testsuite/winsup.api/ltp/kill04.c181
-rw-r--r--winsup/testsuite/winsup.api/ltp/kill09.c258
-rw-r--r--winsup/testsuite/winsup.api/ltp/link02.c263
-rw-r--r--winsup/testsuite/winsup.api/ltp/link03.c330
-rw-r--r--winsup/testsuite/winsup.api/ltp/link04.c426
-rw-r--r--winsup/testsuite/winsup.api/ltp/link05.c351
-rw-r--r--winsup/testsuite/winsup.api/ltp/lseek01.c255
-rw-r--r--winsup/testsuite/winsup.api/ltp/lseek02.c242
-rw-r--r--winsup/testsuite/winsup.api/ltp/lseek03.c289
-rw-r--r--winsup/testsuite/winsup.api/ltp/lseek04.c256
-rw-r--r--winsup/testsuite/winsup.api/ltp/lseek05.c252
-rw-r--r--winsup/testsuite/winsup.api/ltp/lseek06.c235
-rw-r--r--winsup/testsuite/winsup.api/ltp/lseek07.c286
-rw-r--r--winsup/testsuite/winsup.api/ltp/lseek08.c240
-rw-r--r--winsup/testsuite/winsup.api/ltp/lseek09.c266
-rw-r--r--winsup/testsuite/winsup.api/ltp/lseek10.c344
-rw-r--r--winsup/testsuite/winsup.api/ltp/lstat02.c253
-rw-r--r--winsup/testsuite/winsup.api/ltp/mkdir01.c270
-rw-r--r--winsup/testsuite/winsup.api/ltp/mkdir08.c235
-rw-r--r--winsup/testsuite/winsup.api/ltp/mknod01.c275
-rw-r--r--winsup/testsuite/winsup.api/ltp/mmap001.c203
-rw-r--r--winsup/testsuite/winsup.api/ltp/mmap02.c291
-rw-r--r--winsup/testsuite/winsup.api/ltp/mmap03.c290
-rw-r--r--winsup/testsuite/winsup.api/ltp/mmap04.c291
-rw-r--r--winsup/testsuite/winsup.api/ltp/mmap05.c301
-rw-r--r--winsup/testsuite/winsup.api/ltp/mmap06.c234
-rw-r--r--winsup/testsuite/winsup.api/ltp/mmap07.c233
-rw-r--r--winsup/testsuite/winsup.api/ltp/mmap08.c234
-rw-r--r--winsup/testsuite/winsup.api/ltp/munmap01.c281
-rw-r--r--winsup/testsuite/winsup.api/ltp/munmap02.c306
-rw-r--r--winsup/testsuite/winsup.api/ltp/nice05.c219
-rw-r--r--winsup/testsuite/winsup.api/ltp/open02.c146
-rw-r--r--winsup/testsuite/winsup.api/ltp/open03.c243
-rw-r--r--winsup/testsuite/winsup.api/ltp/pathconf01.c245
-rw-r--r--winsup/testsuite/winsup.api/ltp/pause01.c229
-rw-r--r--winsup/testsuite/winsup.api/ltp/pipe01.c156
-rw-r--r--winsup/testsuite/winsup.api/ltp/pipe08.c158
-rw-r--r--winsup/testsuite/winsup.api/ltp/pipe09.c230
-rw-r--r--winsup/testsuite/winsup.api/ltp/pipe10.c167
-rw-r--r--winsup/testsuite/winsup.api/ltp/pipe11.c227
-rw-r--r--winsup/testsuite/winsup.api/ltp/poll01.c250
-rw-r--r--winsup/testsuite/winsup.api/ltp/read01.c280
-rw-r--r--winsup/testsuite/winsup.api/ltp/read04.c174
-rw-r--r--winsup/testsuite/winsup.api/ltp/readdir01.c350
-rw-r--r--winsup/testsuite/winsup.api/ltp/readlink01.c229
-rw-r--r--winsup/testsuite/winsup.api/ltp/readlink02.c244
-rw-r--r--winsup/testsuite/winsup.api/ltp/readlink03.c360
-rw-r--r--winsup/testsuite/winsup.api/ltp/rename01.c263
-rw-r--r--winsup/testsuite/winsup.api/ltp/rename02.c251
-rw-r--r--winsup/testsuite/winsup.api/ltp/rename08.c205
-rw-r--r--winsup/testsuite/winsup.api/ltp/rename10.c203
-rw-r--r--winsup/testsuite/winsup.api/ltp/rmdir01.c189
-rw-r--r--winsup/testsuite/winsup.api/ltp/rmdir04.c236
-rw-r--r--winsup/testsuite/winsup.api/ltp/rmdir05.c447
-rw-r--r--winsup/testsuite/winsup.api/ltp/sbrk01.c279
-rw-r--r--winsup/testsuite/winsup.api/ltp/select01.c276
-rw-r--r--winsup/testsuite/winsup.api/ltp/select02.c268
-rw-r--r--winsup/testsuite/winsup.api/ltp/select03.c282
-rw-r--r--winsup/testsuite/winsup.api/ltp/setgid01.c219
-rw-r--r--winsup/testsuite/winsup.api/ltp/setgroups01.c228
-rw-r--r--winsup/testsuite/winsup.api/ltp/setpgid01.c238
-rw-r--r--winsup/testsuite/winsup.api/ltp/setregid01.c338
-rw-r--r--winsup/testsuite/winsup.api/ltp/setreuid01.c338
-rw-r--r--winsup/testsuite/winsup.api/ltp/setuid01.c225
-rw-r--r--winsup/testsuite/winsup.api/ltp/setuid02.c240
-rw-r--r--winsup/testsuite/winsup.api/ltp/signal03.c663
-rw-r--r--winsup/testsuite/winsup.api/ltp/stat01.c267
-rw-r--r--winsup/testsuite/winsup.api/ltp/stat02.c276
-rw-r--r--winsup/testsuite/winsup.api/ltp/stat03.c391
-rw-r--r--winsup/testsuite/winsup.api/ltp/stat05.c241
-rw-r--r--winsup/testsuite/winsup.api/ltp/stat06.c377
-rw-r--r--winsup/testsuite/winsup.api/ltp/symlink01.c2032
-rw-r--r--winsup/testsuite/winsup.api/ltp/symlink02.c245
-rw-r--r--winsup/testsuite/winsup.api/ltp/symlink03.c404
-rw-r--r--winsup/testsuite/winsup.api/ltp/symlink04.c238
-rw-r--r--winsup/testsuite/winsup.api/ltp/symlink05.c222
-rw-r--r--winsup/testsuite/winsup.api/ltp/sync01.c216
-rw-r--r--winsup/testsuite/winsup.api/ltp/sync02.c238
-rw-r--r--winsup/testsuite/winsup.api/ltp/time01.c218
-rw-r--r--winsup/testsuite/winsup.api/ltp/time02.c182
-rw-r--r--winsup/testsuite/winsup.api/ltp/times01.c222
-rw-r--r--winsup/testsuite/winsup.api/ltp/times02.c136
-rw-r--r--winsup/testsuite/winsup.api/ltp/times03.c247
-rw-r--r--winsup/testsuite/winsup.api/ltp/truncate01.c262
-rw-r--r--winsup/testsuite/winsup.api/ltp/truncate02.c335
-rw-r--r--winsup/testsuite/winsup.api/ltp/ulimit01.c273
-rw-r--r--winsup/testsuite/winsup.api/ltp/umask01.c220
-rw-r--r--winsup/testsuite/winsup.api/ltp/umask02.c135
-rw-r--r--winsup/testsuite/winsup.api/ltp/umask03.c170
-rw-r--r--winsup/testsuite/winsup.api/ltp/uname01.c221
-rw-r--r--winsup/testsuite/winsup.api/ltp/unlink05.c246
-rw-r--r--winsup/testsuite/winsup.api/ltp/unlink06.c254
-rw-r--r--winsup/testsuite/winsup.api/ltp/unlink07.c328
-rw-r--r--winsup/testsuite/winsup.api/ltp/unlink08.c432
-rw-r--r--winsup/testsuite/winsup.api/ltp/vfork01.c400
-rw-r--r--winsup/testsuite/winsup.api/ltp/wait02.c230
-rw-r--r--winsup/testsuite/winsup.api/ltp/wait401.c188
-rw-r--r--winsup/testsuite/winsup.api/ltp/wait402.c203
-rw-r--r--winsup/testsuite/winsup.api/ltp/write01.c250
-rw-r--r--winsup/testsuite/winsup.api/ltp/write02.c165
-rw-r--r--winsup/testsuite/winsup.api/ltp/write03.c192
-rw-r--r--winsup/testsuite/winsup.api/mmaptest01.c176
-rw-r--r--winsup/testsuite/winsup.api/mmaptest02.c190
-rw-r--r--winsup/testsuite/winsup.api/mmaptest03.c154
-rw-r--r--winsup/testsuite/winsup.api/mmaptest04.c103
-rw-r--r--winsup/testsuite/winsup.api/msgtest.c348
-rw-r--r--winsup/testsuite/winsup.api/nullgetcwd.c17
-rw-r--r--winsup/testsuite/winsup.api/pthread/cancel1.c147
-rw-r--r--winsup/testsuite/winsup.api/pthread/cancel10.c68
-rw-r--r--winsup/testsuite/winsup.api/pthread/cancel11.c74
-rw-r--r--winsup/testsuite/winsup.api/pthread/cancel12.c69
-rw-r--r--winsup/testsuite/winsup.api/pthread/cancel2.c181
-rw-r--r--winsup/testsuite/winsup.api/pthread/cancel3.c166
-rw-r--r--winsup/testsuite/winsup.api/pthread/cancel4.c172
-rw-r--r--winsup/testsuite/winsup.api/pthread/cancel5.c165
-rw-r--r--winsup/testsuite/winsup.api/pthread/cancel6.c62
-rw-r--r--winsup/testsuite/winsup.api/pthread/cancel7.c71
-rw-r--r--winsup/testsuite/winsup.api/pthread/cancel8.c71
-rw-r--r--winsup/testsuite/winsup.api/pthread/cancel9.c81
-rw-r--r--winsup/testsuite/winsup.api/pthread/cleanup2.c157
-rw-r--r--winsup/testsuite/winsup.api/pthread/cleanup3.c160
-rw-r--r--winsup/testsuite/winsup.api/pthread/condvar1.c65
-rw-r--r--winsup/testsuite/winsup.api/pthread/condvar2.c80
-rw-r--r--winsup/testsuite/winsup.api/pthread/condvar2_1.c107
-rw-r--r--winsup/testsuite/winsup.api/pthread/condvar3.c115
-rw-r--r--winsup/testsuite/winsup.api/pthread/condvar3_1.c145
-rw-r--r--winsup/testsuite/winsup.api/pthread/condvar3_2.c139
-rw-r--r--winsup/testsuite/winsup.api/pthread/condvar3_3.c100
-rw-r--r--winsup/testsuite/winsup.api/pthread/condvar4.c137
-rw-r--r--winsup/testsuite/winsup.api/pthread/condvar5.c136
-rw-r--r--winsup/testsuite/winsup.api/pthread/condvar6.c209
-rw-r--r--winsup/testsuite/winsup.api/pthread/condvar7.c227
-rw-r--r--winsup/testsuite/winsup.api/pthread/condvar8.c221
-rw-r--r--winsup/testsuite/winsup.api/pthread/condvar9.c239
-rw-r--r--winsup/testsuite/winsup.api/pthread/count1.c62
-rw-r--r--winsup/testsuite/winsup.api/pthread/create1.c34
-rw-r--r--winsup/testsuite/winsup.api/pthread/create2.c74
-rw-r--r--winsup/testsuite/winsup.api/pthread/equal1.c34
-rw-r--r--winsup/testsuite/winsup.api/pthread/exit1.c18
-rw-r--r--winsup/testsuite/winsup.api/pthread/exit2.c30
-rw-r--r--winsup/testsuite/winsup.api/pthread/exit3.c34
-rw-r--r--winsup/testsuite/winsup.api/pthread/inherit1.c99
-rw-r--r--winsup/testsuite/winsup.api/pthread/join0.c40
-rw-r--r--winsup/testsuite/winsup.api/pthread/join1.c51
-rw-r--r--winsup/testsuite/winsup.api/pthread/join2.c41
-rw-r--r--winsup/testsuite/winsup.api/pthread/mainthreadexits.c48
-rw-r--r--winsup/testsuite/winsup.api/pthread/mutex1.c36
-rw-r--r--winsup/testsuite/winsup.api/pthread/mutex1d.c42
-rw-r--r--winsup/testsuite/winsup.api/pthread/mutex1e.c42
-rw-r--r--winsup/testsuite/winsup.api/pthread/mutex1n.c42
-rw-r--r--winsup/testsuite/winsup.api/pthread/mutex1r.c42
-rw-r--r--winsup/testsuite/winsup.api/pthread/mutex2.c34
-rw-r--r--winsup/testsuite/winsup.api/pthread/mutex3.c43
-rw-r--r--winsup/testsuite/winsup.api/pthread/mutex4.c67
-rw-r--r--winsup/testsuite/winsup.api/pthread/mutex5.c30
-rw-r--r--winsup/testsuite/winsup.api/pthread/mutex6d.c71
-rw-r--r--winsup/testsuite/winsup.api/pthread/mutex6e.c70
-rw-r--r--winsup/testsuite/winsup.api/pthread/mutex6n.c72
-rw-r--r--winsup/testsuite/winsup.api/pthread/mutex6r.c68
-rw-r--r--winsup/testsuite/winsup.api/pthread/mutex7.c50
-rw-r--r--winsup/testsuite/winsup.api/pthread/mutex7d.c51
-rw-r--r--winsup/testsuite/winsup.api/pthread/mutex7e.c70
-rw-r--r--winsup/testsuite/winsup.api/pthread/mutex7n.c61
-rw-r--r--winsup/testsuite/winsup.api/pthread/mutex7r.c68
-rw-r--r--winsup/testsuite/winsup.api/pthread/mutex8e.c35
-rw-r--r--winsup/testsuite/winsup.api/pthread/mutex8n.c60
-rw-r--r--winsup/testsuite/winsup.api/pthread/mutex8r.c37
-rw-r--r--winsup/testsuite/winsup.api/pthread/once1.c45
-rw-r--r--winsup/testsuite/winsup.api/pthread/priority1.c78
-rw-r--r--winsup/testsuite/winsup.api/pthread/priority2.c80
-rw-r--r--winsup/testsuite/winsup.api/pthread/rwlock1.c29
-rw-r--r--winsup/testsuite/winsup.api/pthread/rwlock2.c34
-rw-r--r--winsup/testsuite/winsup.api/pthread/rwlock3.c45
-rw-r--r--winsup/testsuite/winsup.api/pthread/rwlock4.c44
-rw-r--r--winsup/testsuite/winsup.api/pthread/rwlock5.c47
-rw-r--r--winsup/testsuite/winsup.api/pthread/rwlock6.c69
-rw-r--r--winsup/testsuite/winsup.api/pthread/rwlock7.c190
-rw-r--r--winsup/testsuite/winsup.api/pthread/self1.c26
-rw-r--r--winsup/testsuite/winsup.api/pthread/self2.c46
-rw-r--r--winsup/testsuite/winsup.api/pthread/test.h102
-rw-r--r--winsup/testsuite/winsup.api/pthread/threadidafterfork.c50
-rw-r--r--winsup/testsuite/winsup.api/pthread/tsd1.c170
-rw-r--r--winsup/testsuite/winsup.api/samples/sample-fail.c5
-rw-r--r--winsup/testsuite/winsup.api/samples/sample-miscompile.c1
-rw-r--r--winsup/testsuite/winsup.api/samples/sample-pass.c5
-rw-r--r--winsup/testsuite/winsup.api/semtest.c348
-rw-r--r--winsup/testsuite/winsup.api/shmtest.c293
-rw-r--r--winsup/testsuite/winsup.api/sigchld.c22
-rwxr-xr-xwinsup/testsuite/winsup.api/signal-into-win32-api.c58
-rw-r--r--winsup/testsuite/winsup.api/systemcall.c68
-rw-r--r--winsup/testsuite/winsup.api/waitpid.c24
-rw-r--r--winsup/testsuite/winsup.api/winsup.exp81
-rw-r--r--winsup/utils/ChangeLog1758
-rw-r--r--winsup/utils/ChangeLog-2000347
-rw-r--r--winsup/utils/Makefile.in217
-rw-r--r--winsup/utils/aclocal.m478
-rwxr-xr-xwinsup/utils/configure1391
-rw-r--r--winsup/utils/configure.in92
-rw-r--r--winsup/utils/cygcheck.cc1861
-rw-r--r--winsup/utils/cygpath.cc813
-rw-r--r--winsup/utils/dump_setup.cc508
-rw-r--r--winsup/utils/dumper.cc882
-rw-r--r--winsup/utils/dumper.h132
-rw-r--r--winsup/utils/getfacl.c256
-rw-r--r--winsup/utils/ipcrm.c182
-rw-r--r--winsup/utils/ipcs.c872
-rw-r--r--winsup/utils/kill.cc294
-rw-r--r--winsup/utils/mkgroup.c797
-rw-r--r--winsup/utils/mkpasswd.c781
-rw-r--r--winsup/utils/module_info.cc114
-rw-r--r--winsup/utils/mount.cc560
-rw-r--r--winsup/utils/parse_pe.cc94
-rw-r--r--winsup/utils/passwd.c561
-rw-r--r--winsup/utils/path.cc356
-rw-r--r--winsup/utils/path.h11
-rw-r--r--winsup/utils/ps.cc408
-rw-r--r--winsup/utils/regtool.cc698
-rw-r--r--winsup/utils/setfacl.c566
-rw-r--r--winsup/utils/ssp.c951
-rw-r--r--winsup/utils/ssp.txt125
-rw-r--r--winsup/utils/strace.cc1025
-rw-r--r--winsup/utils/umount.cc254
-rw-r--r--winsup/utils/utils.sgml1584
-rw-r--r--winsup/w32api/CONTRIBUTIONS5
-rw-r--r--winsup/w32api/ChangeLog8562
-rw-r--r--winsup/w32api/Makefile.in157
-rw-r--r--winsup/w32api/README.w32api32
-rw-r--r--winsup/w32api/TODO62
-rwxr-xr-xwinsup/w32api/config.guess1407
-rwxr-xr-xwinsup/w32api/config.sub1504
-rwxr-xr-xwinsup/w32api/configure2727
-rw-r--r--winsup/w32api/configure.in50
-rw-r--r--winsup/w32api/include/GL/gl.h1472
-rw-r--r--winsup/w32api/include/GL/glext.h4623
-rw-r--r--winsup/w32api/include/GL/glu.h289
-rw-r--r--winsup/w32api/include/accctrl.h329
-rw-r--r--winsup/w32api/include/aclapi.h117
-rw-r--r--winsup/w32api/include/aclui.h134
-rw-r--r--winsup/w32api/include/afxres.h23
-rw-r--r--winsup/w32api/include/basetsd.h119
-rw-r--r--winsup/w32api/include/basetyps.h169
-rw-r--r--winsup/w32api/include/cderr.h44
-rw-r--r--winsup/w32api/include/cguid.h83
-rw-r--r--winsup/w32api/include/comcat.h177
-rw-r--r--winsup/w32api/include/commctrl.h3604
-rw-r--r--winsup/w32api/include/commdlg.h596
-rw-r--r--winsup/w32api/include/cpl.h61
-rw-r--r--winsup/w32api/include/cplext.h12
-rw-r--r--winsup/w32api/include/custcntl.h102
-rw-r--r--winsup/w32api/include/dbt.h154
-rw-r--r--winsup/w32api/include/dde.h64
-rw-r--r--winsup/w32api/include/ddeml.h314
-rw-r--r--winsup/w32api/include/ddk/atm.h507
-rw-r--r--winsup/w32api/include/ddk/batclass.h298
-rw-r--r--winsup/w32api/include/ddk/cfg.h139
-rw-r--r--winsup/w32api/include/ddk/cfgmgr32.h1533
-rw-r--r--winsup/w32api/include/ddk/d4drvif.h104
-rw-r--r--winsup/w32api/include/ddk/d4iface.h84
-rw-r--r--winsup/w32api/include/ddk/ddkmapi.h334
-rw-r--r--winsup/w32api/include/ddk/hidclass.h153
-rw-r--r--winsup/w32api/include/ddk/hidpi.h604
-rwxr-xr-xwinsup/w32api/include/ddk/hidsdi.h73
-rw-r--r--winsup/w32api/include/ddk/hidusage.h210
-rw-r--r--winsup/w32api/include/ddk/kbdmou.h91
-rw-r--r--winsup/w32api/include/ddk/mcd.h143
-rw-r--r--winsup/w32api/include/ddk/miniport.h77
-rw-r--r--winsup/w32api/include/ddk/minitape.h223
-rw-r--r--winsup/w32api/include/ddk/mountdev.h79
-rw-r--r--winsup/w32api/include/ddk/mountmgr.h139
-rw-r--r--winsup/w32api/include/ddk/ndis.h5227
-rw-r--r--winsup/w32api/include/ddk/ndisguid.h439
-rw-r--r--winsup/w32api/include/ddk/ndistapi.h1308
-rw-r--r--winsup/w32api/include/ddk/ndiswan.h251
-rw-r--r--winsup/w32api/include/ddk/netevent.h42
-rw-r--r--winsup/w32api/include/ddk/netpnp.h69
-rw-r--r--winsup/w32api/include/ddk/newdev.h66
-rw-r--r--winsup/w32api/include/ddk/ntapi.h2906
-rw-r--r--winsup/w32api/include/ddk/ntdd8042.h213
-rw-r--r--winsup/w32api/include/ddk/ntddbeep.h54
-rw-r--r--winsup/w32api/include/ddk/ntddcdrm.h347
-rw-r--r--winsup/w32api/include/ddk/ntddcdvd.h213
-rw-r--r--winsup/w32api/include/ddk/ntddchgr.h353
-rw-r--r--winsup/w32api/include/ddk/ntdddisk.h521
-rw-r--r--winsup/w32api/include/ddk/ntddk.h91
-rw-r--r--winsup/w32api/include/ddk/ntddkbd.h135
-rw-r--r--winsup/w32api/include/ddk/ntddmou.h115
-rw-r--r--winsup/w32api/include/ddk/ntddndis.h188
-rw-r--r--winsup/w32api/include/ddk/ntddpar.h119
-rw-r--r--winsup/w32api/include/ddk/ntddpcm.h165
-rw-r--r--winsup/w32api/include/ddk/ntddscsi.h171
-rw-r--r--winsup/w32api/include/ddk/ntddser.h449
-rw-r--r--winsup/w32api/include/ddk/ntddstor.h333
-rw-r--r--winsup/w32api/include/ddk/ntddtape.h79
-rw-r--r--winsup/w32api/include/ddk/ntddtdi.h61
-rw-r--r--winsup/w32api/include/ddk/ntddvdeo.h440
-rw-r--r--winsup/w32api/include/ddk/ntddvol.h141
-rw-r--r--winsup/w32api/include/ddk/ntifs.h4729
-rw-r--r--winsup/w32api/include/ddk/ntpoapi.h229
-rw-r--r--winsup/w32api/include/ddk/ntstatus.h1105
-rw-r--r--winsup/w32api/include/ddk/parallel.h277
-rw-r--r--winsup/w32api/include/ddk/pfhook.h76
-rw-r--r--winsup/w32api/include/ddk/poclass.h118
-rw-r--r--winsup/w32api/include/ddk/scsi.h1694
-rw-r--r--winsup/w32api/include/ddk/scsiscan.h130
-rw-r--r--winsup/w32api/include/ddk/scsiwmi.h215
-rw-r--r--winsup/w32api/include/ddk/smbus.h190
-rw-r--r--winsup/w32api/include/ddk/srb.h753
-rw-r--r--winsup/w32api/include/ddk/storport.h422
-rw-r--r--winsup/w32api/include/ddk/tdi.h593
-rw-r--r--winsup/w32api/include/ddk/tdiinfo.h110
-rw-r--r--winsup/w32api/include/ddk/tdikrnl.h1162
-rw-r--r--winsup/w32api/include/ddk/tdistat.h83
-rw-r--r--winsup/w32api/include/ddk/tvout.h116
-rw-r--r--winsup/w32api/include/ddk/upssvc.h94
-rw-r--r--winsup/w32api/include/ddk/usb.h471
-rw-r--r--winsup/w32api/include/ddk/usb100.h237
-rw-r--r--winsup/w32api/include/ddk/usbcamdi.h404
-rw-r--r--winsup/w32api/include/ddk/usbdi.h407
-rw-r--r--winsup/w32api/include/ddk/usbioctl.h353
-rw-r--r--winsup/w32api/include/ddk/usbiodef.h106
-rw-r--r--winsup/w32api/include/ddk/usbscan.h158
-rw-r--r--winsup/w32api/include/ddk/usbuser.h328
-rw-r--r--winsup/w32api/include/ddk/video.h1566
-rw-r--r--winsup/w32api/include/ddk/videoagp.h129
-rw-r--r--winsup/w32api/include/ddk/win2k.h106
-rw-r--r--winsup/w32api/include/ddk/winddi.h4156
-rw-r--r--winsup/w32api/include/ddk/winddk.h9228
-rw-r--r--winsup/w32api/include/ddk/winnt4.h623
-rw-r--r--winsup/w32api/include/ddk/winxp.h38
-rw-r--r--winsup/w32api/include/ddk/ws2san.h248
-rw-r--r--winsup/w32api/include/ddk/xfilter.h239
-rw-r--r--winsup/w32api/include/dhcpcsdk.h42
-rw-r--r--winsup/w32api/include/directx/d3d9.h1288
-rw-r--r--winsup/w32api/include/directx/d3d9caps.h338
-rw-r--r--winsup/w32api/include/directx/d3d9types.h1272
-rw-r--r--winsup/w32api/include/directx/dxerr8.h53
-rw-r--r--winsup/w32api/include/directx/dxerr9.h53
-rw-r--r--winsup/w32api/include/dlgs.h186
-rw-r--r--winsup/w32api/include/docobj.h148
-rw-r--r--winsup/w32api/include/errorrep.h40
-rw-r--r--winsup/w32api/include/exdisp.h257
-rw-r--r--winsup/w32api/include/exdispid.h14
-rw-r--r--winsup/w32api/include/httpext.h98
-rw-r--r--winsup/w32api/include/idispids.h10
-rw-r--r--winsup/w32api/include/imagehlp.h329
-rw-r--r--winsup/w32api/include/imm.h433
-rw-r--r--winsup/w32api/include/initguid.h12
-rw-r--r--winsup/w32api/include/intshcut.h82
-rw-r--r--winsup/w32api/include/ipexport.h88
-rw-r--r--winsup/w32api/include/iphlpapi.h60
-rw-r--r--winsup/w32api/include/ipifcons.h23
-rw-r--r--winsup/w32api/include/iprtrmib.h209
-rw-r--r--winsup/w32api/include/iptypes.h78
-rw-r--r--winsup/w32api/include/isguids.h15
-rw-r--r--winsup/w32api/include/largeint.h112
-rw-r--r--winsup/w32api/include/lm.h27
-rw-r--r--winsup/w32api/include/lmaccess.h610
-rw-r--r--winsup/w32api/include/lmalert.h60
-rw-r--r--winsup/w32api/include/lmapibuf.h18
-rw-r--r--winsup/w32api/include/lmat.h39
-rw-r--r--winsup/w32api/include/lmaudit.h250
-rw-r--r--winsup/w32api/include/lmbrowsr.h74
-rw-r--r--winsup/w32api/include/lmchdev.h61
-rw-r--r--winsup/w32api/include/lmconfig.h21
-rw-r--r--winsup/w32api/include/lmcons.h75
-rw-r--r--winsup/w32api/include/lmerr.h306
-rw-r--r--winsup/w32api/include/lmerrlog.h211
-rw-r--r--winsup/w32api/include/lmmsg.h27
-rw-r--r--winsup/w32api/include/lmremutl.h45
-rw-r--r--winsup/w32api/include/lmrepl.h94
-rw-r--r--winsup/w32api/include/lmserver.h606
-rw-r--r--winsup/w32api/include/lmshare.h147
-rw-r--r--winsup/w32api/include/lmsname.h58
-rw-r--r--winsup/w32api/include/lmstats.h114
-rw-r--r--winsup/w32api/include/lmsvc.h134
-rw-r--r--winsup/w32api/include/lmuse.h60
-rw-r--r--winsup/w32api/include/lmuseflg.h10
-rw-r--r--winsup/w32api/include/lmwksta.h233
-rw-r--r--winsup/w32api/include/lzexpand.h40
-rw-r--r--winsup/w32api/include/mapi.h163
-rw-r--r--winsup/w32api/include/mciavi.h25
-rw-r--r--winsup/w32api/include/mcx.h77
-rw-r--r--winsup/w32api/include/mgmtapi.h58
-rw-r--r--winsup/w32api/include/mmsystem.h1941
-rw-r--r--winsup/w32api/include/msacm.h186
-rw-r--r--winsup/w32api/include/mshtml.h704
-rw-r--r--winsup/w32api/include/mswsock.h113
-rw-r--r--winsup/w32api/include/nb30.h186
-rw-r--r--winsup/w32api/include/nddeapi.h133
-rw-r--r--winsup/w32api/include/nspapi.h126
-rw-r--r--winsup/w32api/include/ntdef.h60
-rw-r--r--winsup/w32api/include/ntdll.h15
-rw-r--r--winsup/w32api/include/ntldap.h60
-rw-r--r--winsup/w32api/include/ntsecapi.h612
-rw-r--r--winsup/w32api/include/ntsecpkg.h44
-rw-r--r--winsup/w32api/include/oaidl.h771
-rw-r--r--winsup/w32api/include/objbase.h203
-rw-r--r--winsup/w32api/include/objfwd.h57
-rw-r--r--winsup/w32api/include/objidl.h1734
-rw-r--r--winsup/w32api/include/objsafe.h26
-rw-r--r--winsup/w32api/include/ocidl.h837
-rw-r--r--winsup/w32api/include/odbcinst.h148
-rw-r--r--winsup/w32api/include/ole.h308
-rw-r--r--winsup/w32api/include/ole2.h110
-rw-r--r--winsup/w32api/include/ole2ver.h8
-rw-r--r--winsup/w32api/include/oleacc.h219
-rw-r--r--winsup/w32api/include/oleauto.h654
-rw-r--r--winsup/w32api/include/olectl.h323
-rw-r--r--winsup/w32api/include/olectlid.h114
-rw-r--r--winsup/w32api/include/oledlg.h935
-rw-r--r--winsup/w32api/include/oleidl.h575
-rw-r--r--winsup/w32api/include/pbt.h20
-rw-r--r--winsup/w32api/include/poppack.h3
-rw-r--r--winsup/w32api/include/powrprof.h120
-rw-r--r--winsup/w32api/include/prsht.h304
-rw-r--r--winsup/w32api/include/psapi.h95
-rw-r--r--winsup/w32api/include/pshpack1.h3
-rw-r--r--winsup/w32api/include/pshpack2.h3
-rw-r--r--winsup/w32api/include/pshpack4.h3
-rw-r--r--winsup/w32api/include/pshpack8.h3
-rw-r--r--winsup/w32api/include/rapi.h54
-rw-r--r--winsup/w32api/include/ras.h964
-rw-r--r--winsup/w32api/include/rasdlg.h148
-rw-r--r--winsup/w32api/include/raserror.h210
-rw-r--r--winsup/w32api/include/rassapi.h182
-rw-r--r--winsup/w32api/include/reason.h47
-rw-r--r--winsup/w32api/include/regstr.h769
-rw-r--r--winsup/w32api/include/richedit.h523
-rw-r--r--winsup/w32api/include/richole.h107
-rw-r--r--winsup/w32api/include/rpc.h65
-rw-r--r--winsup/w32api/include/rpcdce.h393
-rw-r--r--winsup/w32api/include/rpcdce2.h56
-rw-r--r--winsup/w32api/include/rpcdcep.h129
-rw-r--r--winsup/w32api/include/rpcndr.h515
-rw-r--r--winsup/w32api/include/rpcnsi.h122
-rw-r--r--winsup/w32api/include/rpcnsip.h25
-rw-r--r--winsup/w32api/include/rpcnterr.h23
-rw-r--r--winsup/w32api/include/rpcproxy.h204
-rw-r--r--winsup/w32api/include/schannel.h90
-rw-r--r--winsup/w32api/include/schnlsp.h14
-rw-r--r--winsup/w32api/include/scrnsave.h81
-rw-r--r--winsup/w32api/include/secext.h43
-rw-r--r--winsup/w32api/include/security.h42
-rw-r--r--winsup/w32api/include/servprov.h33
-rw-r--r--winsup/w32api/include/setupapi.h1579
-rw-r--r--winsup/w32api/include/shellapi.h342
-rwxr-xr-xwinsup/w32api/include/shldisp.h61
-rw-r--r--winsup/w32api/include/shlguid.h102
-rw-r--r--winsup/w32api/include/shlobj.h1518
-rw-r--r--winsup/w32api/include/shlwapi.h712
-rw-r--r--winsup/w32api/include/snmp.h259
-rw-r--r--winsup/w32api/include/sql.h408
-rw-r--r--winsup/w32api/include/sqlext.h1218
-rw-r--r--winsup/w32api/include/sqltypes.h165
-rw-r--r--winsup/w32api/include/sqlucode.h142
-rw-r--r--winsup/w32api/include/sspi.h338
-rw-r--r--winsup/w32api/include/subauth.h209
-rw-r--r--winsup/w32api/include/svcguid.h33
-rw-r--r--winsup/w32api/include/tlhelp32.h140
-rw-r--r--winsup/w32api/include/tmschema.h664
-rw-r--r--winsup/w32api/include/unknwn.h76
-rw-r--r--winsup/w32api/include/userenv.h57
-rw-r--r--winsup/w32api/include/uxtheme.h122
-rw-r--r--winsup/w32api/include/vfw.h1144
-rw-r--r--winsup/w32api/include/w32api.h47
-rw-r--r--winsup/w32api/include/winable.h99
-rw-r--r--winsup/w32api/include/winbase.h2353
-rw-r--r--winsup/w32api/include/winber.h67
-rw-r--r--winsup/w32api/include/wincon.h225
-rw-r--r--winsup/w32api/include/wincrypt.h728
-rw-r--r--winsup/w32api/include/windef.h331
-rw-r--r--winsup/w32api/include/windns.h367
-rw-r--r--winsup/w32api/include/windows.h128
-rw-r--r--winsup/w32api/include/windowsx.h544
-rw-r--r--winsup/w32api/include/winerror.h2230
-rw-r--r--winsup/w32api/include/wingdi.h3073
-rw-r--r--winsup/w32api/include/wininet.h974
-rw-r--r--winsup/w32api/include/winioctl.h554
-rw-r--r--winsup/w32api/include/winldap.h713
-rw-r--r--winsup/w32api/include/winnetwk.h350
-rw-r--r--winsup/w32api/include/winnls.h713
-rw-r--r--winsup/w32api/include/winnt.h3454
-rw-r--r--winsup/w32api/include/winperf.h139
-rw-r--r--winsup/w32api/include/winreg.h161
-rw-r--r--winsup/w32api/include/winresrc.h14
-rw-r--r--winsup/w32api/include/winsnmp.h329
-rw-r--r--winsup/w32api/include/winsock.h535
-rw-r--r--winsup/w32api/include/winsock2.h1282
-rw-r--r--winsup/w32api/include/winspool.h791
-rw-r--r--winsup/w32api/include/winsvc.h309
-rw-r--r--winsup/w32api/include/winuser.h4270
-rw-r--r--winsup/w32api/include/winver.h133
-rw-r--r--winsup/w32api/include/ws2spi.h200
-rw-r--r--winsup/w32api/include/ws2tcpip.h364
-rw-r--r--winsup/w32api/include/wsahelp.h96
-rw-r--r--winsup/w32api/include/wsipx.h28
-rw-r--r--winsup/w32api/include/wsnetbs.h35
-rw-r--r--winsup/w32api/include/wtypes.h170
-rw-r--r--winsup/w32api/include/zmouse.h36
-rwxr-xr-xwinsup/w32api/install-sh251
-rw-r--r--winsup/w32api/lib/Makefile.in276
-rw-r--r--winsup/w32api/lib/aclui.def7
-rw-r--r--winsup/w32api/lib/advapi32.def533
-rw-r--r--winsup/w32api/lib/avicap32.def8
-rw-r--r--winsup/w32api/lib/avifil32.def77
-rw-r--r--winsup/w32api/lib/cap.def6
-rw-r--r--winsup/w32api/lib/comctl32.def133
-rw-r--r--winsup/w32api/lib/comdlg32.def27
-rw-r--r--winsup/w32api/lib/crypt32.def23
-rw-r--r--winsup/w32api/lib/ctl3d32.def27
-rw-r--r--winsup/w32api/lib/ddk/Makefile.in195
-rw-r--r--winsup/w32api/lib/ddk/apcups.def8
-rw-r--r--winsup/w32api/lib/ddk/cfgmgr32.def198
-rw-r--r--winsup/w32api/lib/ddk/dxapi.def9
-rw-r--r--winsup/w32api/lib/ddk/hal.def94
-rw-r--r--winsup/w32api/lib/ddk/hid.def47
-rw-r--r--winsup/w32api/lib/ddk/hidparse.def32
-rw-r--r--winsup/w32api/lib/ddk/mcd.def7
-rw-r--r--winsup/w32api/lib/ddk/ndis.def277
-rw-r--r--winsup/w32api/lib/ddk/newdev.def6
-rw-r--r--winsup/w32api/lib/ddk/ntoskrnl.def1459
-rw-r--r--winsup/w32api/lib/ddk/scsiport.def49
-rw-r--r--winsup/w32api/lib/ddk/tdi.def50
-rw-r--r--winsup/w32api/lib/ddk/usbcamd.def10
-rw-r--r--winsup/w32api/lib/ddk/usbcamd2.def10
-rw-r--r--winsup/w32api/lib/ddk/videoprt.def115
-rw-r--r--winsup/w32api/lib/ddk/win32k.def226
-rw-r--r--winsup/w32api/lib/dhcpcsvc.def8
-rw-r--r--winsup/w32api/lib/directx/Makefile.in220
-rw-r--r--winsup/w32api/lib/directx/d3d8.def6
-rw-r--r--winsup/w32api/lib/directx/d3d9.def8
-rw-r--r--winsup/w32api/lib/directx/d3dim.def15
-rw-r--r--winsup/w32api/lib/directx/d3drm.def23
-rw-r--r--winsup/w32api/lib/directx/d3dx8d.def208
-rw-r--r--winsup/w32api/lib/directx/d3dx9d.def269
-rw-r--r--winsup/w32api/lib/directx/d3dxof.def3
-rw-r--r--winsup/w32api/lib/directx/ddraw.def15
-rw-r--r--winsup/w32api/lib/directx/dinput.def5
-rw-r--r--winsup/w32api/lib/directx/dinput8.def3
-rw-r--r--winsup/w32api/lib/directx/dinput_joy.c63
-rw-r--r--winsup/w32api/lib/directx/dinput_joy2.c183
-rw-r--r--winsup/w32api/lib/directx/dinput_kbd.c275
-rw-r--r--winsup/w32api/lib/directx/dinput_mouse.c26
-rw-r--r--winsup/w32api/lib/directx/dinput_mouse2.c30
-rw-r--r--winsup/w32api/lib/directx/dinput_private.h81
-rw-r--r--winsup/w32api/lib/directx/dmoguids.c40
-rw-r--r--winsup/w32api/lib/directx/dplayx.def8
-rw-r--r--winsup/w32api/lib/directx/dpnaddr.def3
-rw-r--r--winsup/w32api/lib/directx/dpnet.def3
-rw-r--r--winsup/w32api/lib/directx/dpnlobby.def3
-rw-r--r--winsup/w32api/lib/directx/dpvoice.def3
-rw-r--r--winsup/w32api/lib/directx/dsetup.def20
-rw-r--r--winsup/w32api/lib/directx/dsound.def12
-rw-r--r--winsup/w32api/lib/directx/dxerr.c773
-rw-r--r--winsup/w32api/lib/directx/dxerr8.c18
-rw-r--r--winsup/w32api/lib/directx/dxerr8w.c21
-rw-r--r--winsup/w32api/lib/directx/dxerr9.c18
-rw-r--r--winsup/w32api/lib/directx/dxerr9w.c21
-rw-r--r--winsup/w32api/lib/directx/dxguid.c607
-rw-r--r--winsup/w32api/lib/directx/ksproxy.def8
-rw-r--r--winsup/w32api/lib/directx/ksuser.c400
-rw-r--r--winsup/w32api/lib/directx/ksuser.def6
-rw-r--r--winsup/w32api/lib/directx/msdmo.def17
-rw-r--r--winsup/w32api/lib/directx/quartz.def7
-rw-r--r--winsup/w32api/lib/directx/strmiids.c980
-rw-r--r--winsup/w32api/lib/directx/test.c12
-rw-r--r--winsup/w32api/lib/dlcapi.def5
-rw-r--r--winsup/w32api/lib/dnsapi.def31
-rw-r--r--winsup/w32api/lib/faultrep.def5
-rw-r--r--winsup/w32api/lib/gdi32.def345
-rw-r--r--winsup/w32api/lib/glaux.def173
-rw-r--r--winsup/w32api/lib/glu32.def54
-rw-r--r--winsup/w32api/lib/glut.def116
-rw-r--r--winsup/w32api/lib/glut32.def116
-rw-r--r--winsup/w32api/lib/igmpagnt.def6
-rw-r--r--winsup/w32api/lib/imagehlp.def114
-rw-r--r--winsup/w32api/lib/imm32.def78
-rw-r--r--winsup/w32api/lib/iphlpapi.def45
-rw-r--r--winsup/w32api/lib/kernel32.c49
-rw-r--r--winsup/w32api/lib/kernel32.def869
-rw-r--r--winsup/w32api/lib/largeint.c118
-rw-r--r--winsup/w32api/lib/lz32.def14
-rw-r--r--winsup/w32api/lib/mapi32.def164
-rw-r--r--winsup/w32api/lib/mfcuia32.def12
-rw-r--r--winsup/w32api/lib/mgmtapi.def14
-rw-r--r--winsup/w32api/lib/mpr.def72
-rw-r--r--winsup/w32api/lib/msacm32.def46
-rw-r--r--winsup/w32api/lib/mshtml-uuid.c147
-rw-r--r--winsup/w32api/lib/msimg32.def5
-rw-r--r--winsup/w32api/lib/msvcp60.def71
-rw-r--r--winsup/w32api/lib/msvfw32.def49
-rw-r--r--winsup/w32api/lib/mswsock.def28
-rw-r--r--winsup/w32api/lib/nddeapi.def30
-rw-r--r--winsup/w32api/lib/netapi32.def247
-rw-r--r--winsup/w32api/lib/ntdll.def1017
-rw-r--r--winsup/w32api/lib/odbc32.def185
-rw-r--r--winsup/w32api/lib/odbccp32.def54
-rw-r--r--winsup/w32api/lib/ole32.def255
-rw-r--r--winsup/w32api/lib/oleacc.def17
-rw-r--r--winsup/w32api/lib/oleaut32.def355
-rw-r--r--winsup/w32api/lib/olecli32.def57
-rw-r--r--winsup/w32api/lib/oledlg.def25
-rw-r--r--winsup/w32api/lib/olepro32.def9
-rw-r--r--winsup/w32api/lib/olesvr32.def13
-rw-r--r--winsup/w32api/lib/opengl32.def369
-rw-r--r--winsup/w32api/lib/penwin32.def101
-rw-r--r--winsup/w32api/lib/pkpd32.def36
-rw-r--r--winsup/w32api/lib/powrprof.def25
-rw-r--r--winsup/w32api/lib/psapi.def21
-rw-r--r--winsup/w32api/lib/rapi.def84
-rw-r--r--winsup/w32api/lib/rasapi32.def146
-rw-r--r--winsup/w32api/lib/rasdlg.def8
-rw-r--r--winsup/w32api/lib/res.rc6
-rw-r--r--winsup/w32api/lib/rpcdce4.def26
-rw-r--r--winsup/w32api/lib/rpcns4.def60
-rw-r--r--winsup/w32api/lib/rpcrt4.def373
-rw-r--r--winsup/w32api/lib/scrnsave.c407
-rw-r--r--winsup/w32api/lib/secur32.def39
-rw-r--r--winsup/w32api/lib/setupapi.def379
-rw-r--r--winsup/w32api/lib/shell32.c78
-rw-r--r--winsup/w32api/lib/shell32.def184
-rw-r--r--winsup/w32api/lib/shfolder.def4
-rw-r--r--winsup/w32api/lib/shlwapi.def296
-rw-r--r--winsup/w32api/lib/snmpapi.def40
-rw-r--r--winsup/w32api/lib/svrapi.def22
-rw-r--r--winsup/w32api/lib/tapi32.def116
-rw-r--r--winsup/w32api/lib/test.c117
-rw-r--r--winsup/w32api/lib/th32.def14
-rw-r--r--winsup/w32api/lib/thunk32.def68
-rw-r--r--winsup/w32api/lib/url.def9
-rw-r--r--winsup/w32api/lib/user32.def641
-rw-r--r--winsup/w32api/lib/userenv.def11
-rw-r--r--winsup/w32api/lib/uuid.c342
-rw-r--r--winsup/w32api/lib/uxtheme.def50
-rw-r--r--winsup/w32api/lib/vdmdbg.def18
-rw-r--r--winsup/w32api/lib/version.def16
-rw-r--r--winsup/w32api/lib/vfw32.mri6
-rw-r--r--winsup/w32api/lib/win32spl.def16
-rw-r--r--winsup/w32api/lib/wininet.def244
-rw-r--r--winsup/w32api/lib/winmm.def196
-rw-r--r--winsup/w32api/lib/winspool.def133
-rw-r--r--winsup/w32api/lib/winstrm.def9
-rw-r--r--winsup/w32api/lib/wldap32.def257
-rw-r--r--winsup/w32api/lib/wow32.def19
-rw-r--r--winsup/w32api/lib/ws2_32.def111
-rw-r--r--winsup/w32api/lib/wsnmp32.def48
-rw-r--r--winsup/w32api/lib/wsock32.def75
-rw-r--r--winsup/w32api/lib/wst.def3
1342 files changed, 0 insertions, 319884 deletions
diff --git a/winsup/CYGWIN_LICENSE b/winsup/CYGWIN_LICENSE
deleted file mode 100644
index 7c6adad80..000000000
--- a/winsup/CYGWIN_LICENSE
+++ /dev/null
@@ -1,38 +0,0 @@
---------------------------------------------------------------------------
-This program is free software; you can redistribute it and/or modify it
-under the terms of the GNU General Public License (GPL) as published by
-the Free Software Foundation; either version 2 of the License, or (at
-your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
---------------------------------------------------------------------------
-
- *** NOTE ***
-
-In accordance with section 10 of the GPL, Red Hat permits programs whose
-sources are distributed under a license that complies with the Open
-Source definition to be linked with libcygwin.a without libcygwin.a
-itself causing the resulting program to be covered by the GNU GPL.
-
-This means that you can port an Open Source(tm) application to cygwin,
-and distribute that executable as if it didn't include a copy of
-libcygwin.a linked into it. Note that this does not apply to the cygwin
-DLL itself. If you distribute a (possibly modified) version of the DLL
-you must adhere to the terms of the GPL, i.e. you must provide sources
-for the cygwin DLL.
-
-See http://www.opensource.org/docs/definition_plain.html for the precise Open Source
-Definition referenced above.
-
-Red Hat sells a special Cygwin License for customers who are unable to
-provide their application in open source code form. For more
-information, please see: http://www.redhat.com/software/tools/cygwin/,
-or call 866-2REDHAT ext. 3007
-
diff --git a/winsup/ChangeLog b/winsup/ChangeLog
deleted file mode 100644
index b2593c64e..000000000
--- a/winsup/ChangeLog
+++ /dev/null
@@ -1,388 +0,0 @@
-2005-10-11 Christopher Faylor <cgf@timesys.com>
-
- * Makefile.common (CFLAGS_COMMON): Add -Wstrict-aliasing.
-
-2005-03-22 Christopher Faylor <cgf@timesys.com>
-
- * Makefile.common: Add -dD to options when creating preprocess files.
-
-2003-11-23 Corinna Vinschen <corinna@vinschen.de>
-
- * Makefile.in: Make cygserver depending on cygwin.
-
-2003-11-20 Christopher Faylor <cgf@redhat.com>
-
- * configure.in: Make --use-server the default.
- * configure: Regenerate.
-
-2003-08-05 Christopher Faylor <cgf@redhat.com>
-
- * Makefile.common: Hmm. Older compilers seem to need -nostdinc.
-
-2003-08-05 Christopher Faylor <cgf@redhat.com>
-
- * Makefile.common: Don't use -nostdinc with g++.
-
-2003-07-25 Christopher Faylor <cgf@redhat.com>
-
- * Makefile.in: Only use localhost when building mingw with distcc or
- gcc won't be able to find .exp files on other hosts.
-
-2003-07-18 Vaclav Haisman <V.Haisman@sh.cvut.cz>
-
- * Makefile.common (CFLAGS_COMMON): Remove -march=i386.
-
-2003-07-01 Christopher Faylor <cgf@redhat.com>
-
- * configure.in: Add --enable-server option.
- * configure: Regenerate.
-
-2003-07-01 Christopher Faylor <cgf@redhat.com>
-
- * Makefile.common (CFLAGS_COMMON): Remove -Winline since it is too
- noisy on newer versions of gcc.
-
-2003-07-01 Christopher Faylor <cgf@redhat.com>
-
- * configure.in: Add cygserver subdir.
- * Makefile.in: Ditto.
- * configure: Regenerate.
-
- * Makefile.common: Remove debugging statements.
-
-2003-05-12 Corinna Vinschen <corinna@vinschen.de>
-
- * Makefile.common: Remove newlib_sys_include and
- newlib_sys_include_include entirely. Set CRT0 to cygwin/crt0.o.
-
-2003-04-18 Christopher Faylor <cgf@redhat.com>
-
- * Makefile.in: Reorganize to try to allow lack of mingw/w32api to work.
-
-2003-04-11 Christopher Faylor <cgf@redhat.com>
-
- * Makefile.common (w32api_lib): Fix w32api detection.
-
-2003-03-28 Christopher Faylor <cgf@redhat.com>
-
- * Makefile.common (ALL_CXXFLAGS): Make normal '=' type variable so that
- CXXFLAGS is properly interpreted.
-
-2003-03-17 Christopher Faylor <cgf@redhat.com>
-
- * Makefile.common (w32api_lib): Default to system w32api directory if
- w32api is missing from source.
-
-2003-03-17 Christopher Faylor <cgf@redhat.com>
-
- * Makefile.common: Fix typo from previous checkin.
-
-2003-03-17 Christopher Faylor <cgf@redhat.com>
-
- * configure.in: w32api directory was already optional. Semi-revert
- 2003-02-06 change.
- * configure: Regenerate.
- * Makefile.common: Don't specific -nostdinc if there is no w32api
- directory.
-
-2003-03-09 Christopher Faylor <cgf@redhat.com>
-
- * Makefile.common: Avoid double slashes in GCC_INCLUDE.
-
-2003-02-12 Christopher Faylor <cgf@redhat.com>
-
- * MAINTAINERS: Remove out-of-date file.
-
-2003-02-06 Christopher Faylor <cgf@redhat.com>
-
- * configure.in: Make w32api directory optional.
- * configure: Regenerate.
-
-2003-01-22 Corinna Vinschen <corinna@vinschen.de>
-
- * Makefile.common (MINGW_LDFLAGS): Add mingw/mingwex builddir.
-
-2002-12-21 Christopher Faylor <cgf@redhat.com>
-
- * Makefile.common: Don't attempt to pretty-print c++ errors.
-
-2002-12-12 Corinna Vinschen <corinna@vinschen.de>
-
- * Makefile.common: Define MINGW_LDFLAGS.
- * configure.in: Reorder SUBDIRS to have mingw before cygwin.
- * configure: Regenerate from configure.in.
-
-2002-09-27 Christopher Faylor <cgf@redhat.com>
-
- * Makefile.in (check): Be more defensive when creating testsuite
- config.status.
-
-2002-08-16 Christopher Faylor <cgf@redhat.com>
-
- * Makefile.in: Change COMPILE_C* definitions.
-
-2002-08-10 Earnie Boyd <earnie@users.sf.net>
-
- * w32sdk: New winsup module.
-
-2002-07-06 Christopher Faylor <cgf@redhat.com>
-
- * Makefile.common (MINGW_INCLUDES): Simplify.
- (MINGW_CFLAGS): New.
- (MINGW_CXXFLAGS): Ditto.
-
-2002-06-02 Christopher Faylor <cgf@redhat.com>
-
- * configure.in: Complain about lack of w32api directory.
- * configure: Regenerate.
-
-2002-04-25 Christopher Faylor <cgf@redhat.com>
-
- * configure.in: Remove cinstall target.
- * Makefile.in: Ditto.
- * configure: Regenerate.
-
-2002-02-19 Christopher Faylor <cgf@redhat.com>
-
- * configure.in: Avoid building w32api or mingw if they don't exist.
- * configure: Regenerate.
-
-2001-12-18 Christopher Faylor <cgf@redhat.com>
-
- * Makefile.in: Don't attempt to use zlib directory as a dependency if
- it doesn't exist.
-
-2001-12-14 Christopher Faylor <cgf@redhat.com>
-
- * configure.in: Detect zlib subdirectory.
- * configure: Regenerate
- * Makefile.in: Exit immediately if a sub-make fails.
- * Makefile.common: Add automatic rules for bz2lib and zlib.
-
-2001-11-04 Christopher Faylor <cgf@redhat.com>
-
- * Makefile.in: Force configure in testsuite directory if config.status
- does not exist.
-
-2001-11-03 Christopher Faylor <cgf@redhat.com>
-
- * configure.in: Disable subauth directory test.
- * configure: Regenerate.
- * Makefile.in: Use MAKE variable in directory builds.
-
-2001-11-03 Christopher Faylor <cgf@redhat.com>
-
- * Makefile.in: Add directory dependencies to ensure ordering when using
- 'make -jN'.
-
-2001-11-03 Christopher Faylor <cgf@redhat.com>
-
- * Makefile.common: Remove preferred-stack-boundary setting since gcc
- 2.95.3 doesn't work well with it.
-
-2001-11-01 Christopher Faylor <cgf@redhat.com>
-
- * Makefile.common: Add some stuff to common CFLAGS.
-
-2001-10-29 Egor Duda <deo@logos-m.ru>
-
- * Makefile.in: Propagate 'clean' to subdirs properly.
-
-2001-10-26 Corinna Vinschen <corinna@vinschen.de>
-
- * configure: Regenerate, removing erroneous SUBDIRS substitution.
-
-2001-10-24 Christopher Faylor <cgf@redhat.com>
-
- * Makefile.in: Only build testsuite directory on first 'make check'.
- * configure.in: Remove testsuite from SUBDIRS.
- * configure: Regenerate.
-
-2001-10-12 Christopher Faylor <cgf@redhat.com>
-
- * Makefile.in: Add -nostdinc to CXXFLAGS.
-
-2001-10-12 Christopher Faylor <cgf@redhat.com>
-
- * Makefile.common: Perform more include file testing trickery.
-
-Sun Oct 7 23:08:46 2001 Christopher Faylor <cgf@cygnus.com>
-
- * Makefile.common: Avoid adding -I options to compile if they already
- exist in CC or C*FLAGS. This prevents warnings from newer versions of
- gcc.
-
-Tue May 15 01:09:56 2001 Christopher Faylor <cgf@cygnus.com>
-
- * Makefile.common: Change method for finding current directory.
-
-Sat May 5 00:14:03 2001 Christopher Faylor <cgf@cygnus.com>
-
- * configure.in: Fix typo.
- * configure: Regenerate.
-
-Fri May 4 11:24:53 2001 Christopher Faylor <cgf@cygnus.com>
-
- * configure.in: Make subauth configuration optional.
- * configure: Regenerate.
-
-Fri May 4 15:06:00 Corinna Vinschen <corinna@vinschen.de>
-
- * subauth: New subdirectory.
- * configure.in: Add subauth to the list of subdirectories.
- * configure: Regenerated from configure.in.
-
-Wed Apr 18 18:45:07 2001 Christopher Faylor <cgf@cygnus.com>
-
- * configure.in: Add bz2lib.
-
-2001-03-19 DJ Delorie <dj@redhat.com>
-
- * configure: fix regeneration bug.
-
-Thu Feb 22 13:36:00 2000 Corinna Vinschen <corinna@vinschen.de>
-
- * Makefile.common: Revert previous change.
-
-Wed Feb 21 22:41:00 2000 Corinna Vinschen <corinna@vinschen.de>
-
- * Makefile.common: Add `-fvtable-thunks' to COMPILE_CXX.
-
-Sun Dec 3 00:21:31 2000 Christopher Faylor <cgf@cygnus.com>
-
- * Makefile.common: Eliminate checks for libgcc.a and libstdc++.a. Use
- CXX for g++ compiles.
- * configure.in: Find correct c++ compiler.
- * configure: Regenerate.
-
-Mon Oct 23 00:50:02 2000 Christopher Faylor <cgf@cygnus.com>
-
- * Makefile.common (LIBGCC): Acommodate older gcc's that don't need
- libstdc++.a.
-
-Sat Oct 21 18:01:22 2000 Christopher Faylor <cgf@cygnus.com>
-
- * Makefile.common (LIBGCC): Find libstdc++.a as well as libc.a since
- builtin functions are in this library in newer gcc's.
-
-Sun Oct 1 22:02:38 2000 Christopher Faylor <cgf@cygnus.com>
-
- * Makefile.common: Extend VERBOSE default.
- * Makefile.in: Don't clean the testsuite separately. It's already part
- of CLEAN_SUBDIRS.
-
-2000-09-30 Christopher Faylor <cgf@cygnus.com>
-
- * Makefile.common: Default to VERBOSE when part of overall source
- tree build.
-
-2000-09-02 Egor Duda <deo@logos-m.ru>
-
- * Makefile.in: Add new goal "check"
- * configure.in: When doing native build do configure in
- testsuite subdirectory
- * configure: Regenerate.
-
-Fri Sep 1 10:15:37 2000 Christopher Faylor <cgf@cygnus.com>
-
- * Makefile.in: More normalization.
-
-Thu Aug 31 16:37:31 2000 Christopher Faylor <cgf@cygnus.com>
-
- * Makefile.in: Normalize 'pwd' based on location of winsup.
-
-Thu Aug 24 15:02:26 2000 Christopher Faylor <cgf@cygnus.com>
-
- * Makefile.common: Add bupdir2 to reference above the i686-pc-cygwin
- directory.
-
-Thu Jun 22 18:28:06 2000 Christopher Faylor <cgf@cygnus.com>
-
- * Makefile.in: Add dummy info targets.
-
-Tue Jun 20 13:36:23 2000 Christopher Faylor <cgf@cygnus.com>
-
- * configure.in: Bow to necessity and build w32api before anything else.
- * configure: Regenerate.
-
-Sat Jun 17 13:50:04 2000 Christopher Faylor <cgf@cygnus.com>
-
- * configure.in: Detect "cross-hosting" situation and add a subset of
- directories to SUBDIRS.
- * configure: Regenerate.
-
-Thu May 25 18:39:24 2000 Christopher Faylor <cgf@cygnus.com>
-
- * configure.in: Don't assume that cinstall directory exists.
- * configure: Regenerate
-
-2000-05-24 DJ Delorie <dj@cygnus.com>
-
- * Makefile.common (%.o): further simplify, add "..." to make it obvious
- it's an abbreviated command line.
-
-Thu May 18 14:33:05 2000 Christopher Faylor <cgf@cygnus.com>
-
- * MAINTAINERS: Add Corinna to general list.
-
-2000-04-17 DJ Delorie <dj@cygnus.com>
-
- * Makefile.common (srcdir): remove dependence on where pwd is
-
-Sun Apr 9 23:47:45 2000 Christopher Faylor <cgf@cygnus.com>
-
- * Makefile.common: Resolve srcdir to absolute path or it will confuse
- usages when passed to submakes. Eliminate vestigal use of
- MAKEOVERRIDES.
-
-Sun Apr 9 02:06:49 2000 Christopher Faylor <cgf@cygnus.com>
-
- * Makefile.in: Work around MAKEOVERRIDES problem with older versions
- of make.
- * Makefile.common: Ditto.
-
-Fri Apr 7 17:04:02 Ron Parker <rdparker@sourceware.cygnus.com>
-
- * configure.in: Added cinstall to the list of subdirs.
- * configure: Regenerate.
-
-Thu Mar 30 23:45:00 2000 Christopher Faylor <cgf@cygnus.com>
-
- * MAINTAINERS: Add Ron Parker as maintainer of cinstall stuff.
-
-Sun Feb 6 18:15:44 2000 Christopher Faylor <cgf@cygnus.com>
-
- * configure.in: Do the standard CC/CFLAGS stuff for propagation to
- sub-configures.
- * configure: Regenerate.
-
-2000-01-26 DJ Delorie <dj@cygnus.com>
-
- * doc/Makefile.in: fix doctool -d options
-
-Fri Jan 21 12:51:32 2000 Christopher Faylor <cgf@cygnus.com>
-
- * Makefile.common: No need to rerun Makefile if config.status changes.
- That should happen automatically.
- * Makefile.in: Ditto.
-
-Sat Jan 8 14:40:01 2000 Christopher Faylor <cgf@cygnus.com>
-
- * Makefile.common: Remove cygwin DLL specific stuff. Make Makefile
- target PRECIOUS.
- * Makefile.in: Make Makefile target PRECIOUS.
-
-Fri Jan 7 21:00:49 2000 Christopher Faylor <cgf@cygnus.com>
-
- * Makefile.common: Remove cygwin DLL specific stuff. Correctly deal
- with updir stuff when building in the same directory as the source.
-
-Thu Jan 6 19:04:35 2000 Christopher Faylor <cgf@cygnus.com>
-
- Create new directory structure
- * Makefile.in: New file.
- * configure.in: New file.
- * configure: New file.
- * Makefile.common: New file.
- * cygwin: New directory.
- * w32api: New directory.
diff --git a/winsup/Makefile.common b/winsup/Makefile.common
deleted file mode 100644
index 96e58ef2d..000000000
--- a/winsup/Makefile.common
+++ /dev/null
@@ -1,195 +0,0 @@
-# Makefile.common - common definitions for the winsup directory
-#
-# Copyright 2000, 2001, 2002, 2003, 2004, 2005 Red Hat, Inc.
-#
-# This file is part of Cygwin.
-#
-# This software is a copyrighted work licensed under the terms of the
-# Cygwin license. Please consult the file "CYGWIN_LICENSE" for
-# details.
-
-# This makefile requires GNU make.
-
-CFLAGS_COMMON:=-Wall -Wstrict-aliasing -Wwrite-strings -fno-common -pipe -fbuiltin -fmessage-length=0# -finline-functions
-MALLOC_DEBUG:=#-DMALLOC_DEBUG -I/cygnus/src/uberbaum/winsup/cygwin/dlmalloc
-MALLOC_OBJ:=#/cygnus/src/uberbaum/winsup/cygwin/dlmalloc/malloc.o
-
-override srcdir:=${shell cd $(srcdir); pwd}
-ifneq (,${filter-out /%,$(srcdir)})
- updir:=$(srcdir)/..
- updir1:=$(updir)/..
-else
- updir:=${patsubst %:::,%,${patsubst %/:::,%,$(dir $(srcdir)):::}}
-ifneq (,${findstring /,$(updir)})
- updir1:=${patsubst %:::,%,${patsubst %/:::,%,$(dir $(updir)):::}}
-else
- updir1:=$(updir)/..
-endif
-endif
-
-pwd:=${shell pwd}
-ifneq "${filter winsup%,${notdir $(pwd)}}" ""
- here:=${pwd}/cygwin
-else
- here:=${dir $(pwd)}cygwin
-endif
-bupdir:=${shell cd $(here)/..; pwd}
-ifneq (,${filter-out /%,$(bupdir)})
- bupdir1:=../..
- bupdir2:=../../..
-else
-ifneq (,${findstring /,$(bupdir)})
- bupdir1:=${patsubst %:::,%,${patsubst %/:::,%,$(dir $(bupdir)):::}}
-else
- bupdir1:=$(bupdir)/..
-endif
-ifneq (,${findstring /,$(bupdir1)})
- bupdir2:=${patsubst %:::,%,${patsubst %/:::,%,$(dir $(bupdir1)):::}}
-else
- bupdir2:=$(bupdir1)/..
-endif
-endif
-
-zlib_source:=$(updir)/zlib
-zlib_build:=$(bupdir)/zlib
-bz2lib_source:=$(updir)/bz2lib
-bz2lib_build:=$(bupdir)/bz2lib
-w32api_source:=$(updir)/w32api
-w32api_build:=$(bupdir)/w32api
-w32api_lib:=$(w32api_build)/lib
-newlib_source:=$(updir1)/newlib
-newlib_build:=$(bupdir1)/newlib
-cygwin_build:=$(bupdir)/cygwin
-cygwin_source:=$(updir)/cygwin
-mingw_build:=$(bupdir)/mingw
-mingw_source:=$(updir)/mingw
-utils_build:=$(bupdir)/utils
-utils_source:=$(updir)/utils
-ifeq (,${findstring $(newlib_source)/libc/include,$(CFLAGS) $(CXXFLAGS) $(CXX) $(CC)})
-newlib_include:=-I$(newlib_source)/libc/include
-endif
-ifeq (,${findstring $(cygwin_source)/include,$(CFLAGS) $(CXXFLAGS) $(CXX) $(CC)})
-cygwin_include:=-I$(cygwin_source)/include
-endif
-
-# Try to determine what directories are available in winsup.
-# Attempt to properly detect missing mingw or w32api and adjust command
-# line parameters appropriately
-
-# nostdinc:=${shell [ -d "$(updir)/w32api" ] && echo "-nostdinc"}
-# ifneq (,$(nostdinc))
-nostdincxx:=-nostdinc++
-# ifeq (,${findstring $(w32api_source),$(CFLAGS) $(CXXFLAGS) $(CXX) $(CC)})
-w32api_include:=-I$(w32api_source)/include
-# endif
-# endif
-
-mingw_include:=${shell [ -d "$(mingw_source)/include" ] && echo "-I$(mingw_source)/include"}
-ifneq (,$(mingw_include))
-nostdlib:=-nostdlib
-else
-nostdlib:=
-endif
-
-ifeq (,${nostdlib})
-nostdinc:=
-endif
-
-INCLUDES:=-I. $(cygwin_include) -I$(cygwin_source) $(newlib_include) $(w32api_include)
-ifdef CONFIG_DIR
-INCLUDES+=-I$(CONFIG_DIR)
-endif
-
-MINGW_INCLUDES:=${mingw_include} $(w32api_include)
-MINGW_CFLAGS:=-mno-cygwin $(MINGW_INCLUDES)
-MINGW_CXXFLAGS:=${filter-out $(newlib_source)/%,$(CXXFLAGS)} -mno-cygwin $(MINGW_INCLUDES)
-MINGW_LDFLAGS:=-B${mingw_build} -B${mingw_build}/mingwex
-
-GCC_DEFAULT_OPTIONS:=$(CFLAGS_COMMON) $(CFLAGS_CONFIG) $(INCLUDES)
-
-# Link in libc and libm from newlib
-
-LIBC:=$(newlib_build)/libc/libc.a
-LIBM:=$(newlib_build)/libm/libm.a
-CRT0:=$(cygwin_build)/crt0.o
-
-ALL_CFLAGS:=$(DEFS) $(MALLOC_DEBUG) $(CFLAGS) $(GCC_DEFAULT_OPTIONS)
-ALL_CXXFLAGS=$(DEFS) $(MALLOC_DEBUG) $(CXXFLAGS) $(GCC_DEFAULT_OPTIONS)
-
-ifndef PREPROCESS
-c=-c
-o=.o
-else
-c=-E -dD
-o=.E
-endif
-
-libgcc:=${subst \,/,${shell $(CC_FOR_TARGET) -print-libgcc-file-name}}
-gcc_libdir:=${word 1,${dir $(libgcc)}}
-ifeq (,${findstring $(gcc_libdir),$(CFLAGS) $(CXXFLAGS) $(CXX) $(CC)})
-GCC_INCLUDE:=${subst //,/,-I$(gcc_libdir)/include}
-endif
-
-COMPILE_CXX=$(CXX) $c $(nostdincxx) $(nostdinc) $(ALL_CXXFLAGS) $(GCC_INCLUDE) \
- -fno-rtti -fno-exceptions
-COMPILE_CC=$(CC) $c $(nostdinc) $(ALL_CFLAGS) $(GCC_INCLUDE)
-
-vpath %.a $(cygwin_build):$(w32api_lib):$(newlib_build)/libc:$(newlib_build)/libm
-
-MAKEOVERRIDES_WORKAROUND=${wordlist 2,1,a b c}
-
-ifneq ($(MAKEOVERRIDES_WORKAROUND),)
- override MAKE:=$(MAKE) $(MAKEOVERRIDES)
- MAKEOVERRIDES:=
- export MAKEOVERRIDES
-endif
-
-ifdef RPATH_ENVVAR
-VERBOSE=1
-endif
-
-ifneq "${findstring -B,$(COMPILE_CXX) $(COMPILE_CC)}" ""
-VERBOSE=1
-endif
-
-.PRECIOUS: %.o
-
-%.o: %.cc
-ifdef VERBOSE
- $(COMPILE_CXX) -o $(@D)/$(*F)$o $<
-else
- @echo $(CXX) $c $(CXXFLAGS) ... $(*F).cc
- @$(COMPILE_CXX) -o $(@D)/$(*F)$o $<
-endif
-
-%.o: %.c
-ifdef VERBOSE
- $(COMPILE_CC) -o $(@D)/$(*F)$o $<
-else
- @echo $(CC) $c $(CFLAGS) ... $(*F).c
- @$(COMPILE_CC) -o $(@D)/$(*F)$o $<
-endif
-
-$(bupdir1)/libiberty/%.o: $(updir1)/libiberty/%.c
- @$(MAKE) -C $(@D) $(@F)
-
-$(w32api_lib)/%.a: $(w32api_lib)/Makefile
- @$(MAKE) --no-print-dir -C $(@D) $(@F)
-
-$(bz2lib)/%.a: $(bz2lib)/Makefile
- @$(MAKE) --no-print-dir -C $(@D) $(@F)
-
-$(zlib)/%.a: $(zlib)/Makefile
- @$(MAKE) --no-print-dir -C $(@D) $(@F)
-
-all:
-
-# For auto-rebuilding the Makefile
-
-.PRECIOUS: Makefile
-
-Makefile: Makefile.in $(srcdir)/configure.in config.status
- $(SHELL) config.status
-
-config.status: configure
- $(SHELL) config.status --recheck
diff --git a/winsup/Makefile.in b/winsup/Makefile.in
deleted file mode 100644
index ca3272412..000000000
--- a/winsup/Makefile.in
+++ /dev/null
@@ -1,120 +0,0 @@
-# Makefile.in for windows stuff
-# Copyright 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 Red Hat, Inc.
-#
-# This file is part of Cygwin.
-#
-# This software is a copyrighted work licensed under the terms of the
-# Cygwin license. Please consult the file "CYGWIN_LICENSE" for
-# details.
-
-# This makefile requires GNU make.
-
-SHELL:=@SHELL@
-VPATH:=@srcdir@
-srcdir:=@srcdir@
-objdir:=.
-
-target_alias:=@target_alias@
-build_alias:=@build_alias@
-host_alias:=@host_alias@
-prefix:=@prefix@
-
-program_transform_name:=@program_transform_name@
-exec_prefix:=@exec_prefix@
-bindir:=@bindir@
-libdir:=@libdir@
-ifeq ($(target_alias),$(host_alias))
-ifeq ($(build_alias),$(host_alias))
-tooldir:=$(exec_prefix)
-else
-tooldir:=$(exec_prefix)/$(target_alias)
-endif
-else
-tooldir:=$(exec_prefix)/$(target_alias)
-endif
-datadir:=@datadir@
-infodir:=@infodir@
-includedir:=@includedir@
-
-SUBDIRS=@SUBDIRS@
-INSTALL_SUBDIRS=${patsubst %,install_%,$(SUBDIRS)}
-CLEAN_SUBDIRS=${patsubst %,clean_%,$(SUBDIRS)}
-ZLIB=${findstring zlib,$(SUBDIRS)}
-
-.PHONY: all install clean all-info info install-info check \
- $(SUBDIRS) $(INSTALL_SUBDIRS) $(CLEAN_SUBDIRS)
-
-.SUFFIXES:
-
-MAKEOVERRIDES_WORKAROUND=${wordlist 2,1,a b c}
-
-ifneq ($(MAKEOVERRIDES_WORKAROUND),)
- override MAKE:=$(MAKE) $(MAKEOVERRIDES)
- MAKEOVERRIDES:=
- export MAKEOVERRIDES
-endif
-
-all: Makefile $(SUBDIRS)
-
-install: Makefile $(INSTALL_SUBDIRS)
-
-clean: $(CLEAN_SUBDIRS)
-
-all-info:
-
-install-info:
-
-info:
-
-$(SUBDIRS):
- @if cd $@ 2>/dev/null; then \
- test "$@" = "mingw" && export DISTCC_HOSTS=localhost;\
- $(MAKE) all || exit 1; \
- fi || exit 0
-
-$(INSTALL_SUBDIRS):
- @if cd ${patsubst install_%,%,$@} 2>/dev/null; then \
- $(MAKE) install || exit 1; \
- fi || exit 0
-
-$(CLEAN_SUBDIRS):
- @if cd ${patsubst clean_%,%,$@} 2>/dev/null; then \
- $(MAKE) clean || exit 1; \
- fi || exit 0
-
-.PRECIOUS: Makefile
-
-Makefile: Makefile.in $(srcdir)/configure.in config.status
- $(SHELL) config.status
-
-config.status: configure
- $(SHELL) config.status --recheck
-
-check: cygwin
- @if [ -f testsuite/config.status ]; then \
- cd testsuite; \
- else \
- (mkdir testsuite 2>/dev/null || exit 0); \
- cd testsuite; \
- sed -n -e '1,/^done/{' -e 's%winsup/cygwin\([ /]\)%winsup/testsuite\1%g; ' -e 'p; }' ../cygwin/config.status > config.status; \
- chmod a+x config.status; \
- sh ./config.status --recheck; \
- sh ./config.status; \
- fi; \
- $(MAKE) check
-
-utils: cygwin mingw
-
-mingw: w32api
-
-cygwin: w32api
-
-cygserver: cygwin
-
-install_utils: cygwin mingw
-
-install_mingw: w32api
-
-install_cygwin: w32api
-
-install_cygserver: cygwin
diff --git a/winsup/configure b/winsup/configure
deleted file mode 100755
index 5dee7e399..000000000
--- a/winsup/configure
+++ /dev/null
@@ -1,1341 +0,0 @@
-#! /bin/sh
-
-# Guess values for system-dependent variables and create Makefiles.
-# Generated automatically using autoconf version 2.13
-# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
-#
-# This configure script is free software; the Free Software Foundation
-# gives unlimited permission to copy, distribute and modify it.
-
-# Defaults:
-ac_help=
-ac_default_prefix=/usr/local
-# Any additions from configure.in:
-ac_help="$ac_help
- --enable-server Build a cygwin DLL which can communicate with cygserver"
-
-# Initialize some variables set by options.
-# The variables have the same names as the options, with
-# dashes changed to underlines.
-build=NONE
-cache_file=./config.cache
-exec_prefix=NONE
-host=NONE
-no_create=
-nonopt=NONE
-no_recursion=
-prefix=NONE
-program_prefix=NONE
-program_suffix=NONE
-program_transform_name=s,x,x,
-silent=
-site=
-srcdir=
-target=NONE
-verbose=
-x_includes=NONE
-x_libraries=NONE
-bindir='${exec_prefix}/bin'
-sbindir='${exec_prefix}/sbin'
-libexecdir='${exec_prefix}/libexec'
-datadir='${prefix}/share'
-sysconfdir='${prefix}/etc'
-sharedstatedir='${prefix}/com'
-localstatedir='${prefix}/var'
-libdir='${exec_prefix}/lib'
-includedir='${prefix}/include'
-oldincludedir='/usr/include'
-infodir='${prefix}/info'
-mandir='${prefix}/man'
-
-# Initialize some other variables.
-subdirs=
-MFLAGS= MAKEFLAGS=
-SHELL=${CONFIG_SHELL-/bin/sh}
-# Maximum number of lines to put in a shell here document.
-ac_max_here_lines=12
-
-ac_prev=
-for ac_option
-do
-
- # If the previous option needs an argument, assign it.
- if test -n "$ac_prev"; then
- eval "$ac_prev=\$ac_option"
- ac_prev=
- continue
- fi
-
- case "$ac_option" in
- -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
- *) ac_optarg= ;;
- esac
-
- # Accept the important Cygnus configure options, so we can diagnose typos.
-
- case "$ac_option" in
-
- -bindir | --bindir | --bindi | --bind | --bin | --bi)
- ac_prev=bindir ;;
- -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
- bindir="$ac_optarg" ;;
-
- -build | --build | --buil | --bui | --bu)
- ac_prev=build ;;
- -build=* | --build=* | --buil=* | --bui=* | --bu=*)
- build="$ac_optarg" ;;
-
- -cache-file | --cache-file | --cache-fil | --cache-fi \
- | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
- ac_prev=cache_file ;;
- -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
- | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
- cache_file="$ac_optarg" ;;
-
- -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
- ac_prev=datadir ;;
- -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
- | --da=*)
- datadir="$ac_optarg" ;;
-
- -disable-* | --disable-*)
- ac_feature=`echo $ac_option|sed -e 's/-*disable-//'`
- # Reject names that are not valid shell variable names.
- if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then
- { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
- fi
- ac_feature=`echo $ac_feature| sed 's/-/_/g'`
- eval "enable_${ac_feature}=no" ;;
-
- -enable-* | --enable-*)
- ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'`
- # Reject names that are not valid shell variable names.
- if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then
- { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
- fi
- ac_feature=`echo $ac_feature| sed 's/-/_/g'`
- case "$ac_option" in
- *=*) ;;
- *) ac_optarg=yes ;;
- esac
- eval "enable_${ac_feature}='$ac_optarg'" ;;
-
- -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
- | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
- | --exec | --exe | --ex)
- ac_prev=exec_prefix ;;
- -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
- | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
- | --exec=* | --exe=* | --ex=*)
- exec_prefix="$ac_optarg" ;;
-
- -gas | --gas | --ga | --g)
- # Obsolete; use --with-gas.
- with_gas=yes ;;
-
- -help | --help | --hel | --he)
- # Omit some internal or obsolete options to make the list less imposing.
- # This message is too long to be a string in the A/UX 3.1 sh.
- cat << EOF
-Usage: configure [options] [host]
-Options: [defaults in brackets after descriptions]
-Configuration:
- --cache-file=FILE cache test results in FILE
- --help print this message
- --no-create do not create output files
- --quiet, --silent do not print \`checking...' messages
- --version print the version of autoconf that created configure
-Directory and file names:
- --prefix=PREFIX install architecture-independent files in PREFIX
- [$ac_default_prefix]
- --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
- [same as prefix]
- --bindir=DIR user executables in DIR [EPREFIX/bin]
- --sbindir=DIR system admin executables in DIR [EPREFIX/sbin]
- --libexecdir=DIR program executables in DIR [EPREFIX/libexec]
- --datadir=DIR read-only architecture-independent data in DIR
- [PREFIX/share]
- --sysconfdir=DIR read-only single-machine data in DIR [PREFIX/etc]
- --sharedstatedir=DIR modifiable architecture-independent data in DIR
- [PREFIX/com]
- --localstatedir=DIR modifiable single-machine data in DIR [PREFIX/var]
- --libdir=DIR object code libraries in DIR [EPREFIX/lib]
- --includedir=DIR C header files in DIR [PREFIX/include]
- --oldincludedir=DIR C header files for non-gcc in DIR [/usr/include]
- --infodir=DIR info documentation in DIR [PREFIX/info]
- --mandir=DIR man documentation in DIR [PREFIX/man]
- --srcdir=DIR find the sources in DIR [configure dir or ..]
- --program-prefix=PREFIX prepend PREFIX to installed program names
- --program-suffix=SUFFIX append SUFFIX to installed program names
- --program-transform-name=PROGRAM
- run sed PROGRAM on installed program names
-EOF
- cat << EOF
-Host type:
- --build=BUILD configure for building on BUILD [BUILD=HOST]
- --host=HOST configure for HOST [guessed]
- --target=TARGET configure for TARGET [TARGET=HOST]
-Features and packages:
- --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
- --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
- --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
- --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
- --x-includes=DIR X include files are in DIR
- --x-libraries=DIR X library files are in DIR
-EOF
- if test -n "$ac_help"; then
- echo "--enable and --with options recognized:$ac_help"
- fi
- exit 0 ;;
-
- -host | --host | --hos | --ho)
- ac_prev=host ;;
- -host=* | --host=* | --hos=* | --ho=*)
- host="$ac_optarg" ;;
-
- -includedir | --includedir | --includedi | --included | --include \
- | --includ | --inclu | --incl | --inc)
- ac_prev=includedir ;;
- -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
- | --includ=* | --inclu=* | --incl=* | --inc=*)
- includedir="$ac_optarg" ;;
-
- -infodir | --infodir | --infodi | --infod | --info | --inf)
- ac_prev=infodir ;;
- -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
- infodir="$ac_optarg" ;;
-
- -libdir | --libdir | --libdi | --libd)
- ac_prev=libdir ;;
- -libdir=* | --libdir=* | --libdi=* | --libd=*)
- libdir="$ac_optarg" ;;
-
- -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
- | --libexe | --libex | --libe)
- ac_prev=libexecdir ;;
- -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
- | --libexe=* | --libex=* | --libe=*)
- libexecdir="$ac_optarg" ;;
-
- -localstatedir | --localstatedir | --localstatedi | --localstated \
- | --localstate | --localstat | --localsta | --localst \
- | --locals | --local | --loca | --loc | --lo)
- ac_prev=localstatedir ;;
- -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
- | --localstate=* | --localstat=* | --localsta=* | --localst=* \
- | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
- localstatedir="$ac_optarg" ;;
-
- -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
- ac_prev=mandir ;;
- -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
- mandir="$ac_optarg" ;;
-
- -nfp | --nfp | --nf)
- # Obsolete; use --without-fp.
- with_fp=no ;;
-
- -no-create | --no-create | --no-creat | --no-crea | --no-cre \
- | --no-cr | --no-c)
- no_create=yes ;;
-
- -no-recursion | --no-recursion | --no-recursio | --no-recursi \
- | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
- no_recursion=yes ;;
-
- -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
- | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
- | --oldin | --oldi | --old | --ol | --o)
- ac_prev=oldincludedir ;;
- -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
- | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
- | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
- oldincludedir="$ac_optarg" ;;
-
- -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
- ac_prev=prefix ;;
- -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
- prefix="$ac_optarg" ;;
-
- -program-prefix | --program-prefix | --program-prefi | --program-pref \
- | --program-pre | --program-pr | --program-p)
- ac_prev=program_prefix ;;
- -program-prefix=* | --program-prefix=* | --program-prefi=* \
- | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
- program_prefix="$ac_optarg" ;;
-
- -program-suffix | --program-suffix | --program-suffi | --program-suff \
- | --program-suf | --program-su | --program-s)
- ac_prev=program_suffix ;;
- -program-suffix=* | --program-suffix=* | --program-suffi=* \
- | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
- program_suffix="$ac_optarg" ;;
-
- -program-transform-name | --program-transform-name \
- | --program-transform-nam | --program-transform-na \
- | --program-transform-n | --program-transform- \
- | --program-transform | --program-transfor \
- | --program-transfo | --program-transf \
- | --program-trans | --program-tran \
- | --progr-tra | --program-tr | --program-t)
- ac_prev=program_transform_name ;;
- -program-transform-name=* | --program-transform-name=* \
- | --program-transform-nam=* | --program-transform-na=* \
- | --program-transform-n=* | --program-transform-=* \
- | --program-transform=* | --program-transfor=* \
- | --program-transfo=* | --program-transf=* \
- | --program-trans=* | --program-tran=* \
- | --progr-tra=* | --program-tr=* | --program-t=*)
- program_transform_name="$ac_optarg" ;;
-
- -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- | -silent | --silent | --silen | --sile | --sil)
- silent=yes ;;
-
- -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
- ac_prev=sbindir ;;
- -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
- | --sbi=* | --sb=*)
- sbindir="$ac_optarg" ;;
-
- -sharedstatedir | --sharedstatedir | --sharedstatedi \
- | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
- | --sharedst | --shareds | --shared | --share | --shar \
- | --sha | --sh)
- ac_prev=sharedstatedir ;;
- -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
- | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
- | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
- | --sha=* | --sh=*)
- sharedstatedir="$ac_optarg" ;;
-
- -site | --site | --sit)
- ac_prev=site ;;
- -site=* | --site=* | --sit=*)
- site="$ac_optarg" ;;
-
- -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
- ac_prev=srcdir ;;
- -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
- srcdir="$ac_optarg" ;;
-
- -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
- | --syscon | --sysco | --sysc | --sys | --sy)
- ac_prev=sysconfdir ;;
- -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
- | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
- sysconfdir="$ac_optarg" ;;
-
- -target | --target | --targe | --targ | --tar | --ta | --t)
- ac_prev=target ;;
- -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
- target="$ac_optarg" ;;
-
- -v | -verbose | --verbose | --verbos | --verbo | --verb)
- verbose=yes ;;
-
- -version | --version | --versio | --versi | --vers)
- echo "configure generated by autoconf version 2.13"
- exit 0 ;;
-
- -with-* | --with-*)
- ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'`
- # Reject names that are not valid shell variable names.
- if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then
- { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
- fi
- ac_package=`echo $ac_package| sed 's/-/_/g'`
- case "$ac_option" in
- *=*) ;;
- *) ac_optarg=yes ;;
- esac
- eval "with_${ac_package}='$ac_optarg'" ;;
-
- -without-* | --without-*)
- ac_package=`echo $ac_option|sed -e 's/-*without-//'`
- # Reject names that are not valid shell variable names.
- if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then
- { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
- fi
- ac_package=`echo $ac_package| sed 's/-/_/g'`
- eval "with_${ac_package}=no" ;;
-
- --x)
- # Obsolete; use --with-x.
- with_x=yes ;;
-
- -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
- | --x-incl | --x-inc | --x-in | --x-i)
- ac_prev=x_includes ;;
- -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
- | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
- x_includes="$ac_optarg" ;;
-
- -x-libraries | --x-libraries | --x-librarie | --x-librari \
- | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
- ac_prev=x_libraries ;;
- -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
- | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
- x_libraries="$ac_optarg" ;;
-
- -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; }
- ;;
-
- *)
- if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then
- echo "configure: warning: $ac_option: invalid host type" 1>&2
- fi
- if test "x$nonopt" != xNONE; then
- { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; }
- fi
- nonopt="$ac_option"
- ;;
-
- esac
-done
-
-if test -n "$ac_prev"; then
- { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; }
-fi
-
-trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
-
-# File descriptor usage:
-# 0 standard input
-# 1 file creation
-# 2 errors and warnings
-# 3 some systems may open it to /dev/tty
-# 4 used on the Kubota Titan
-# 6 checking for... messages and results
-# 5 compiler messages saved in config.log
-if test "$silent" = yes; then
- exec 6>/dev/null
-else
- exec 6>&1
-fi
-exec 5>./config.log
-
-echo "\
-This file contains any messages produced by compilers while
-running configure, to aid debugging if configure makes a mistake.
-" 1>&5
-
-# Strip out --no-create and --no-recursion so they do not pile up.
-# Also quote any args containing shell metacharacters.
-ac_configure_args=
-for ac_arg
-do
- case "$ac_arg" in
- -no-create | --no-create | --no-creat | --no-crea | --no-cre \
- | --no-cr | --no-c) ;;
- -no-recursion | --no-recursion | --no-recursio | --no-recursi \
- | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;;
- *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*)
- ac_configure_args="$ac_configure_args '$ac_arg'" ;;
- *) ac_configure_args="$ac_configure_args $ac_arg" ;;
- esac
-done
-
-# NLS nuisances.
-# Only set these to C if already set. These must not be set unconditionally
-# because not all systems understand e.g. LANG=C (notably SCO).
-# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'!
-# Non-C LC_CTYPE values break the ctype check.
-if test "${LANG+set}" = set; then LANG=C; export LANG; fi
-if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
-if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi
-if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi
-
-# confdefs.h avoids OS command line length limits that DEFS can exceed.
-rm -rf conftest* confdefs.h
-# AIX cpp loses on an empty file, so make sure it contains at least a newline.
-echo > confdefs.h
-
-# A filename unique to this package, relative to the directory that
-# configure is in, which we can look for to find out if srcdir is correct.
-ac_unique_file=Makefile.in
-
-# Find the source files, if location was not specified.
-if test -z "$srcdir"; then
- ac_srcdir_defaulted=yes
- # Try the directory containing this script, then its parent.
- ac_prog=$0
- ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'`
- test "x$ac_confdir" = "x$ac_prog" && ac_confdir=.
- srcdir=$ac_confdir
- if test ! -r $srcdir/$ac_unique_file; then
- srcdir=..
- fi
-else
- ac_srcdir_defaulted=no
-fi
-if test ! -r $srcdir/$ac_unique_file; then
- if test "$ac_srcdir_defaulted" = yes; then
- { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; }
- else
- { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; }
- fi
-fi
-srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'`
-
-# Prefer explicitly selected file to automatically selected ones.
-if test -z "$CONFIG_SITE"; then
- if test "x$prefix" != xNONE; then
- CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
- else
- CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
- fi
-fi
-for ac_site_file in $CONFIG_SITE; do
- if test -r "$ac_site_file"; then
- echo "loading site script $ac_site_file"
- . "$ac_site_file"
- fi
-done
-
-if test -r "$cache_file"; then
- echo "loading cache $cache_file"
- . $cache_file
-else
- echo "creating cache $cache_file"
- > $cache_file
-fi
-
-ac_ext=c
-# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
-ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
-cross_compiling=$ac_cv_prog_cc_cross
-
-ac_exeext=
-ac_objext=o
-if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
- # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
- if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
- ac_n= ac_c='
-' ac_t=' '
- else
- ac_n=-n ac_c= ac_t=
- fi
-else
- ac_n= ac_c='\c' ac_t=
-fi
-
-
-
-
-
-
-
-
-ac_aux_dir=
-for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do
- if test -f $ac_dir/install-sh; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/install-sh -c"
- break
- elif test -f $ac_dir/install.sh; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/install.sh -c"
- break
- fi
-done
-if test -z "$ac_aux_dir"; then
- { echo "configure: error: can not find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." 1>&2; exit 1; }
-fi
-ac_config_guess=$ac_aux_dir/config.guess
-ac_config_sub=$ac_aux_dir/config.sub
-ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
-
-
-# Do some error checking and defaulting for the host and target type.
-# The inputs are:
-# configure --host=HOST --target=TARGET --build=BUILD NONOPT
-#
-# The rules are:
-# 1. You are not allowed to specify --host, --target, and nonopt at the
-# same time.
-# 2. Host defaults to nonopt.
-# 3. If nonopt is not specified, then host defaults to the current host,
-# as determined by config.guess.
-# 4. Target and build default to nonopt.
-# 5. If nonopt is not specified, then target and build default to host.
-
-# The aliases save the names the user supplied, while $host etc.
-# will get canonicalized.
-case $host---$target---$nonopt in
-NONE---*---* | *---NONE---* | *---*---NONE) ;;
-*) { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; } ;;
-esac
-
-
-# Make sure we can run config.sub.
-if ${CONFIG_SHELL-/bin/sh} $ac_config_sub sun4 >/dev/null 2>&1; then :
-else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
-fi
-
-echo $ac_n "checking host system type""... $ac_c" 1>&6
-echo "configure:580: checking host system type" >&5
-
-host_alias=$host
-case "$host_alias" in
-NONE)
- case $nonopt in
- NONE)
- if host_alias=`${CONFIG_SHELL-/bin/sh} $ac_config_guess`; then :
- else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; }
- fi ;;
- *) host_alias=$nonopt ;;
- esac ;;
-esac
-
-host=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $host_alias`
-host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
-host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
-host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
-echo "$ac_t""$host" 1>&6
-
-echo $ac_n "checking target system type""... $ac_c" 1>&6
-echo "configure:601: checking target system type" >&5
-
-target_alias=$target
-case "$target_alias" in
-NONE)
- case $nonopt in
- NONE) target_alias=$host_alias ;;
- *) target_alias=$nonopt ;;
- esac ;;
-esac
-
-target=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $target_alias`
-target_cpu=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
-target_vendor=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
-target_os=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
-echo "$ac_t""$target" 1>&6
-
-echo $ac_n "checking build system type""... $ac_c" 1>&6
-echo "configure:619: checking build system type" >&5
-
-build_alias=$build
-case "$build_alias" in
-NONE)
- case $nonopt in
- NONE) build_alias=$host_alias ;;
- *) build_alias=$nonopt ;;
- esac ;;
-esac
-
-build=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $build_alias`
-build_cpu=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
-build_vendor=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
-build_os=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
-echo "$ac_t""$build" 1>&6
-
-test "$host_alias" != "$target_alias" &&
- test "$program_prefix$program_suffix$program_transform_name" = \
- NONENONEs,x,x, &&
- program_prefix=${target_alias}-
-
-
-if test $host != $build; then
- ac_tool_prefix=${host_alias}-
-else
- ac_tool_prefix=
-fi
-
-# Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}gcc; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:651: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
- ac_dummy="$PATH"
- for ac_dir in $ac_dummy; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- ac_cv_prog_CC="${ac_tool_prefix}gcc"
- break
- fi
- done
- IFS="$ac_save_ifs"
-fi
-fi
-CC="$ac_cv_prog_CC"
-if test -n "$CC"; then
- echo "$ac_t""$CC" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
-
-if test -z "$ac_cv_prog_CC"; then
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "gcc", so it can be a program name with args.
-set dummy gcc; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:683: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
- ac_dummy="$PATH"
- for ac_dir in $ac_dummy; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- ac_cv_prog_CC="gcc"
- break
- fi
- done
- IFS="$ac_save_ifs"
- test -z "$ac_cv_prog_CC" && ac_cv_prog_CC="gcc"
-fi
-fi
-CC="$ac_cv_prog_CC"
-if test -n "$CC"; then
- echo "$ac_t""$CC" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
-else
- CC="gcc"
-fi
-fi
-
-if test -z "$CC"; then
- # Extract the first word of "cc", so it can be a program name with args.
-set dummy cc; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:719: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
- ac_prog_rejected=no
- ac_dummy="$PATH"
- for ac_dir in $ac_dummy; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then
- ac_prog_rejected=yes
- continue
- fi
- ac_cv_prog_CC="cc"
- break
- fi
- done
- IFS="$ac_save_ifs"
-if test $ac_prog_rejected = yes; then
- # We found a bogon in the path, so make sure we never use it.
- set dummy $ac_cv_prog_CC
- shift
- if test $# -gt 0; then
- # We chose a different compiler from the bogus one.
- # However, it has the same basename, so the bogon will be chosen
- # first if we set CC to just the basename; use the full file name.
- shift
- set dummy "$ac_dir/$ac_word" "$@"
- shift
- ac_cv_prog_CC="$@"
- fi
-fi
-fi
-fi
-CC="$ac_cv_prog_CC"
-if test -n "$CC"; then
- echo "$ac_t""$CC" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
- test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; }
-fi
-
-echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
-echo "configure:768: checking whether we are using GNU C" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.c <<EOF
-#ifdef __GNUC__
- yes;
-#endif
-EOF
-if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:777: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
- ac_cv_prog_gcc=yes
-else
- ac_cv_prog_gcc=no
-fi
-fi
-
-echo "$ac_t""$ac_cv_prog_gcc" 1>&6
-
-if test $ac_cv_prog_gcc = yes; then
- GCC=yes
- ac_test_CFLAGS="${CFLAGS+set}"
- ac_save_CFLAGS="$CFLAGS"
- CFLAGS=
- echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
-echo "configure:792: checking whether ${CC-cc} accepts -g" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- echo 'void f(){}' > conftest.c
-if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then
- ac_cv_prog_cc_g=yes
-else
- ac_cv_prog_cc_g=no
-fi
-rm -f conftest*
-
-fi
-
-echo "$ac_t""$ac_cv_prog_cc_g" 1>&6
- if test "$ac_test_CFLAGS" = set; then
- CFLAGS="$ac_save_CFLAGS"
- elif test $ac_cv_prog_cc_g = yes; then
- CFLAGS="-g -O2"
- else
- CFLAGS="-O2"
- fi
-else
- GCC=
- test "${CFLAGS+set}" = set || CFLAGS="-g"
-fi
-
-# Extract the first word of "${ac_tool_prefix}g++", so it can be a program name with args.
-set dummy ${ac_tool_prefix}g++; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:822: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_CXX'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$CXX"; then
- ac_cv_prog_CXX="$CXX" # Let the user override the test.
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
- ac_dummy="$PATH"
- for ac_dir in $ac_dummy; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- ac_cv_prog_CXX="${ac_tool_prefix}g++"
- break
- fi
- done
- IFS="$ac_save_ifs"
-fi
-fi
-CXX="$ac_cv_prog_CXX"
-if test -n "$CXX"; then
- echo "$ac_t""$CXX" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
-
-if test -z "$ac_cv_prog_CXX"; then
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "g++", so it can be a program name with args.
-set dummy g++; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:854: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_CXX'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$CXX"; then
- ac_cv_prog_CXX="$CXX" # Let the user override the test.
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
- ac_dummy="$PATH"
- for ac_dir in $ac_dummy; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- ac_cv_prog_CXX="g++"
- break
- fi
- done
- IFS="$ac_save_ifs"
- test -z "$ac_cv_prog_CXX" && ac_cv_prog_CXX="g++"
-fi
-fi
-CXX="$ac_cv_prog_CXX"
-if test -n "$CXX"; then
- echo "$ac_t""$CXX" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
-else
- CXX="g++"
-fi
-fi
-
-if test -z "$CXX"; then
- # Extract the first word of "c++", so it can be a program name with args.
-set dummy c++; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:890: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_CXX'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$CXX"; then
- ac_cv_prog_CXX="$CXX" # Let the user override the test.
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
- ac_dummy="$PATH"
- for ac_dir in $ac_dummy; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- ac_cv_prog_CXX="c++"
- break
- fi
- done
- IFS="$ac_save_ifs"
-fi
-fi
-CXX="$ac_cv_prog_CXX"
-if test -n "$CXX"; then
- echo "$ac_t""$CXX" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
- test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; }
-fi
-
-CXXFLAGS='$(CFLAGS)'
-
-
-use_cygserver='yes'
-# Check whether --enable-server or --disable-server was given.
-if test "${enable_server+set}" = set; then
- enableval="$enable_server"
- case "${enableval}" in
-yes) ;;
-no) use_cygserver=;;
-esac
-
-fi
-
-
-SUBDIRS='cygwin w32api'
-test -d $srcdir/mingw && SUBDIRS="mingw $SUBDIRS"
-
-case "$with_cross_host" in
- ""|*cygwin*)
- # test -d $srcdir/bz2lib && SUBDIRS="$SUBDIRS bz2lib"
- # test -d $srcdir/zlib && SUBDIRS="$SUBDIRS zlib"
- # test -d $srcdir/subauth && SUBDIRS="$SUBDIRS subauth"
- test -n "$use_cygserver" -a -d $srcdir/cygserver && SUBDIRS="$SUBDIRS cygserver"
- SUBDIRS="$SUBDIRS utils doc"
- ;;
-esac
-
-subdirs="$SUBDIRS"
-
-
-echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
-echo "configure:951: checking whether ${MAKE-make} sets \${MAKE}" >&5
-set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`
-if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftestmake <<\EOF
-all:
- @echo 'ac_maketemp="${MAKE}"'
-EOF
-# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
-eval `${MAKE-make} -f conftestmake 2>/dev/null | grep temp=`
-if test -n "$ac_maketemp"; then
- eval ac_cv_prog_make_${ac_make}_set=yes
-else
- eval ac_cv_prog_make_${ac_make}_set=no
-fi
-rm -f conftestmake
-fi
-if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
- echo "$ac_t""yes" 1>&6
- SET_MAKE=
-else
- echo "$ac_t""no" 1>&6
- SET_MAKE="MAKE=${MAKE-make}"
-fi
-
-
-
-trap '' 1 2 15
-cat > confcache <<\EOF
-# This file is a shell script that caches the results of configure
-# tests run on this system so they can be shared between configure
-# scripts and configure runs. It is not useful on other systems.
-# If it contains results you don't want to keep, you may remove or edit it.
-#
-# By default, configure uses ./config.cache as the cache file,
-# creating it if it does not exist already. You can give configure
-# the --cache-file=FILE option to use a different cache file; that is
-# what configure does when it calls configure scripts in
-# subdirectories, so they share the cache.
-# Giving --cache-file=/dev/null disables caching, for debugging configure.
-# config.status only pays attention to the cache file if you give it the
-# --recheck option to rerun configure.
-#
-EOF
-# The following way of writing the cache mishandles newlines in values,
-# but we know of no workaround that is simple, portable, and efficient.
-# So, don't put newlines in cache variables' values.
-# Ultrix sh set writes to stderr and can't be redirected directly,
-# and sets the high bit in the cache file unless we assign to the vars.
-(set) 2>&1 |
- case `(ac_space=' '; set | grep ac_space) 2>&1` in
- *ac_space=\ *)
- # `set' does not quote correctly, so add quotes (double-quote substitution
- # turns \\\\ into \\, and sed turns \\ into \).
- sed -n \
- -e "s/'/'\\\\''/g" \
- -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p"
- ;;
- *)
- # `set' quotes correctly as required by POSIX, so do not add quotes.
- sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p'
- ;;
- esac >> confcache
-if cmp -s $cache_file confcache; then
- :
-else
- if test -w $cache_file; then
- echo "updating cache $cache_file"
- cat confcache > $cache_file
- else
- echo "not updating unwritable cache $cache_file"
- fi
-fi
-rm -f confcache
-
-trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
-
-test "x$prefix" = xNONE && prefix=$ac_default_prefix
-# Let make expand exec_prefix.
-test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
-
-# Any assignment to VPATH causes Sun make to only execute
-# the first set of double-colon rules, so remove it if not needed.
-# If there is a colon in the path, we need to keep it.
-if test "x$srcdir" = x.; then
- ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d'
-fi
-
-trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15
-
-# Transform confdefs.h into DEFS.
-# Protect against shell expansion while executing Makefile rules.
-# Protect against Makefile macro expansion.
-cat > conftest.defs <<\EOF
-s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%-D\1=\2%g
-s%[ `~#$^&*(){}\\|;'"<>?]%\\&%g
-s%\[%\\&%g
-s%\]%\\&%g
-s%\$%$$%g
-EOF
-DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '`
-rm -f conftest.defs
-
-
-# Without the "./", some shells look in PATH for config.status.
-: ${CONFIG_STATUS=./config.status}
-
-echo creating $CONFIG_STATUS
-rm -f $CONFIG_STATUS
-cat > $CONFIG_STATUS <<EOF
-#! /bin/sh
-# Generated automatically by configure.
-# Run this file to recreate the current configuration.
-# This directory was configured as follows,
-# on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
-#
-# $0 $ac_configure_args
-#
-# Compiler output produced by configure, useful for debugging
-# configure, is in ./config.log if it exists.
-
-ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]"
-for ac_option
-do
- case "\$ac_option" in
- -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
- echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
- exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
- -version | --version | --versio | --versi | --vers | --ver | --ve | --v)
- echo "$CONFIG_STATUS generated by autoconf version 2.13"
- exit 0 ;;
- -help | --help | --hel | --he | --h)
- echo "\$ac_cs_usage"; exit 0 ;;
- *) echo "\$ac_cs_usage"; exit 1 ;;
- esac
-done
-
-ac_given_srcdir=$srcdir
-
-trap 'rm -fr `echo "Makefile" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
-EOF
-cat >> $CONFIG_STATUS <<EOF
-
-# Protect against being on the right side of a sed subst in config.status.
-sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&%]/\\\\&/g;
- s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF
-$ac_vpsub
-$extrasub
-s%@SHELL@%$SHELL%g
-s%@CFLAGS@%$CFLAGS%g
-s%@CPPFLAGS@%$CPPFLAGS%g
-s%@CXXFLAGS@%$CXXFLAGS%g
-s%@FFLAGS@%$FFLAGS%g
-s%@DEFS@%$DEFS%g
-s%@LDFLAGS@%$LDFLAGS%g
-s%@LIBS@%$LIBS%g
-s%@exec_prefix@%$exec_prefix%g
-s%@prefix@%$prefix%g
-s%@program_transform_name@%$program_transform_name%g
-s%@bindir@%$bindir%g
-s%@sbindir@%$sbindir%g
-s%@libexecdir@%$libexecdir%g
-s%@datadir@%$datadir%g
-s%@sysconfdir@%$sysconfdir%g
-s%@sharedstatedir@%$sharedstatedir%g
-s%@localstatedir@%$localstatedir%g
-s%@libdir@%$libdir%g
-s%@includedir@%$includedir%g
-s%@oldincludedir@%$oldincludedir%g
-s%@infodir@%$infodir%g
-s%@mandir@%$mandir%g
-s%@host@%$host%g
-s%@host_alias@%$host_alias%g
-s%@host_cpu@%$host_cpu%g
-s%@host_vendor@%$host_vendor%g
-s%@host_os@%$host_os%g
-s%@target@%$target%g
-s%@target_alias@%$target_alias%g
-s%@target_cpu@%$target_cpu%g
-s%@target_vendor@%$target_vendor%g
-s%@target_os@%$target_os%g
-s%@build@%$build%g
-s%@build_alias@%$build_alias%g
-s%@build_cpu@%$build_cpu%g
-s%@build_vendor@%$build_vendor%g
-s%@build_os@%$build_os%g
-s%@CC@%$CC%g
-s%@CXX@%$CXX%g
-s%@subdirs@%$subdirs%g
-s%@SET_MAKE@%$SET_MAKE%g
-s%@SUBDIRS@%$SUBDIRS%g
-
-CEOF
-EOF
-
-cat >> $CONFIG_STATUS <<\EOF
-
-# Split the substitutions into bite-sized pieces for seds with
-# small command number limits, like on Digital OSF/1 and HP-UX.
-ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script.
-ac_file=1 # Number of current file.
-ac_beg=1 # First line for current file.
-ac_end=$ac_max_sed_cmds # Line after last line for current file.
-ac_more_lines=:
-ac_sed_cmds=""
-while $ac_more_lines; do
- if test $ac_beg -gt 1; then
- sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file
- else
- sed "${ac_end}q" conftest.subs > conftest.s$ac_file
- fi
- if test ! -s conftest.s$ac_file; then
- ac_more_lines=false
- rm -f conftest.s$ac_file
- else
- if test -z "$ac_sed_cmds"; then
- ac_sed_cmds="sed -f conftest.s$ac_file"
- else
- ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file"
- fi
- ac_file=`expr $ac_file + 1`
- ac_beg=$ac_end
- ac_end=`expr $ac_end + $ac_max_sed_cmds`
- fi
-done
-if test -z "$ac_sed_cmds"; then
- ac_sed_cmds=cat
-fi
-EOF
-
-cat >> $CONFIG_STATUS <<EOF
-
-CONFIG_FILES=\${CONFIG_FILES-"Makefile"}
-EOF
-cat >> $CONFIG_STATUS <<\EOF
-for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
- # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
- case "$ac_file" in
- *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
- ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
- *) ac_file_in="${ac_file}.in" ;;
- esac
-
- # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories.
-
- # Remove last slash and all that follows it. Not all systems have dirname.
- ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
- if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
- # The file is in a subdirectory.
- test ! -d "$ac_dir" && mkdir "$ac_dir"
- ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`"
- # A "../" for each directory in $ac_dir_suffix.
- ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'`
- else
- ac_dir_suffix= ac_dots=
- fi
-
- case "$ac_given_srcdir" in
- .) srcdir=.
- if test -z "$ac_dots"; then top_srcdir=.
- else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;;
- /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;;
- *) # Relative path.
- srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix"
- top_srcdir="$ac_dots$ac_given_srcdir" ;;
- esac
-
-
- echo creating "$ac_file"
- rm -f "$ac_file"
- configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure."
- case "$ac_file" in
- *Makefile*) ac_comsub="1i\\
-# $configure_input" ;;
- *) ac_comsub= ;;
- esac
-
- ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
- sed -e "$ac_comsub
-s%@configure_input@%$configure_input%g
-s%@srcdir@%$srcdir%g
-s%@top_srcdir@%$top_srcdir%g
-" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file
-fi; done
-rm -f conftest.s*
-
-EOF
-cat >> $CONFIG_STATUS <<EOF
-
-EOF
-cat >> $CONFIG_STATUS <<\EOF
-
-exit 0
-EOF
-chmod +x $CONFIG_STATUS
-rm -fr confdefs* $ac_clean_files
-test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1
-
-if test "$no_recursion" != yes; then
-
- # Remove --cache-file and --srcdir arguments so they do not pile up.
- ac_sub_configure_args=
- ac_prev=
- for ac_arg in $ac_configure_args; do
- if test -n "$ac_prev"; then
- ac_prev=
- continue
- fi
- case "$ac_arg" in
- -cache-file | --cache-file | --cache-fil | --cache-fi \
- | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
- ac_prev=cache_file ;;
- -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
- | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
- ;;
- -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
- ac_prev=srcdir ;;
- -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
- ;;
- *) ac_sub_configure_args="$ac_sub_configure_args $ac_arg" ;;
- esac
- done
-
- for ac_config_dir in $SUBDIRS; do
-
- # Do not complain, so a configure script can configure whichever
- # parts of a large source tree are present.
- if test ! -d $srcdir/$ac_config_dir; then
- continue
- fi
-
- echo configuring in $ac_config_dir
-
- case "$srcdir" in
- .) ;;
- *)
- if test -d ./$ac_config_dir || mkdir ./$ac_config_dir; then :;
- else
- { echo "configure: error: can not create `pwd`/$ac_config_dir" 1>&2; exit 1; }
- fi
- ;;
- esac
-
- ac_popdir=`pwd`
- cd $ac_config_dir
-
- # A "../" for each directory in /$ac_config_dir.
- ac_dots=`echo $ac_config_dir|sed -e 's%^\./%%' -e 's%[^/]$%&/%' -e 's%[^/]*/%../%g'`
-
- case "$srcdir" in
- .) # No --srcdir option. We are building in place.
- ac_sub_srcdir=$srcdir ;;
- /*) # Absolute path.
- ac_sub_srcdir=$srcdir/$ac_config_dir ;;
- *) # Relative path.
- ac_sub_srcdir=$ac_dots$srcdir/$ac_config_dir ;;
- esac
-
- # Check for guested configure; otherwise get Cygnus style configure.
- if test -f $ac_sub_srcdir/configure; then
- ac_sub_configure=$ac_sub_srcdir/configure
- elif test -f $ac_sub_srcdir/configure.in; then
- ac_sub_configure=$ac_configure
- else
- echo "configure: warning: no configuration information is in $ac_config_dir" 1>&2
- ac_sub_configure=
- fi
-
- # The recursion is here.
- if test -n "$ac_sub_configure"; then
-
- # Make the cache file name correct relative to the subdirectory.
- case "$cache_file" in
- /*) ac_sub_cache_file=$cache_file ;;
- *) # Relative path.
- ac_sub_cache_file="$ac_dots$cache_file" ;;
- esac
-
- echo "running ${CONFIG_SHELL-/bin/sh} $ac_sub_configure $ac_sub_configure_args --cache-file=$ac_sub_cache_file --srcdir=$ac_sub_srcdir"
- # The eval makes quoting arguments work.
- if eval ${CONFIG_SHELL-/bin/sh} $ac_sub_configure $ac_sub_configure_args --cache-file=$ac_sub_cache_file --srcdir=$ac_sub_srcdir
- then :
- else
- { echo "configure: error: $ac_sub_configure failed for $ac_config_dir" 1>&2; exit 1; }
- fi
- fi
-
- cd $ac_popdir
- done
-fi
-
diff --git a/winsup/configure.in b/winsup/configure.in
deleted file mode 100755
index 18766ba8c..000000000
--- a/winsup/configure.in
+++ /dev/null
@@ -1,96 +0,0 @@
-dnl Autoconf configure script for Cygwin.
-dnl Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 Red Hat, Inc.
-dnl
-dnl This file is part of Cygwin.
-dnl
-dnl This software is a copyrighted work licensed under the terms of the
-dnl Cygwin license. Please consult the file "CYGWIN_LICENSE" for
-dnl details.
-dnl
-dnl Process this file with autoconf to produce a configure script.
-
-AC_PREREQ(2.12)dnl
-AC_INIT(Makefile.in)
-
-dnl FIXME: We temporarily define our own version of AC_PROG_CC. This is
-dnl copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
-dnl are probably using a cross compiler, which will not be able to fully
-dnl link an executable. This should really be fixed in autoconf
-dnl itself.
-
-AC_DEFUN(LIB_AC_PROG_CC,
-[AC_BEFORE([$0], [AC_PROG_CPP])dnl
-AC_CHECK_TOOL(CC, gcc, gcc)
-if test -z "$CC"; then
- AC_CHECK_PROG(CC, cc, cc, , , /usr/ucb/cc)
- test -z "$CC" && AC_MSG_ERROR([no acceptable cc found in \$PATH])
-fi
-
-AC_PROG_CC_GNU
-
-if test $ac_cv_prog_gcc = yes; then
- GCC=yes
-dnl Check whether -g works, even if CFLAGS is set, in case the package
-dnl plays around with CFLAGS (such as to build both debugging and
-dnl normal versions of a library), tasteless as that idea is.
- ac_test_CFLAGS="${CFLAGS+set}"
- ac_save_CFLAGS="$CFLAGS"
- CFLAGS=
- AC_PROG_CC_G
- if test "$ac_test_CFLAGS" = set; then
- CFLAGS="$ac_save_CFLAGS"
- elif test $ac_cv_prog_cc_g = yes; then
- CFLAGS="-g -O2"
- else
- CFLAGS="-O2"
- fi
-else
- GCC=
- test "${CFLAGS+set}" = set || CFLAGS="-g"
-fi
-])
-
-AC_DEFUN(LIB_AC_PROG_CXX,
-[AC_BEFORE([$0], [AC_PROG_CPP])dnl
-AC_CHECK_TOOL(CXX, g++, g++)
-if test -z "$CXX"; then
- AC_CHECK_PROG(CXX, c++, c++, , , )
- test -z "$CC" && AC_MSG_ERROR([no acceptable cc found in \$PATH])
-fi
-
-CXXFLAGS='$(CFLAGS)'
-])
-
-AC_CANONICAL_SYSTEM
-
-LIB_AC_PROG_CC
-LIB_AC_PROG_CXX
-
-use_cygserver='yes'
-AC_ARG_ENABLE(server,
-[ --enable-server Build a cygwin DLL which can communicate with cygserver],
-[case "${enableval}" in
-yes) ;;
-no) use_cygserver=;;
-esac
-])
-
-SUBDIRS='cygwin w32api'
-test -d $srcdir/mingw && SUBDIRS="mingw $SUBDIRS"
-
-case "$with_cross_host" in
- ""|*cygwin*)
- # test -d $srcdir/bz2lib && SUBDIRS="$SUBDIRS bz2lib"
- # test -d $srcdir/zlib && SUBDIRS="$SUBDIRS zlib"
- # test -d $srcdir/subauth && SUBDIRS="$SUBDIRS subauth"
- test -n "$use_cygserver" -a -d $srcdir/cygserver && SUBDIRS="$SUBDIRS cygserver"
- SUBDIRS="$SUBDIRS utils doc"
- ;;
-esac
-
-AC_CONFIG_SUBDIRS($SUBDIRS)
-
-AC_PROG_MAKE_SET
-
-AC_SUBST(SUBDIRS)
-AC_OUTPUT(Makefile)
diff --git a/winsup/cygserver/ChangeLog b/winsup/cygserver/ChangeLog
deleted file mode 100644
index bee49e054..000000000
--- a/winsup/cygserver/ChangeLog
+++ /dev/null
@@ -1,455 +0,0 @@
-2005-11-10 Corinna Vinschen <corinna@vinschen.de>
-
- * bsd_helper.cc (securityinit): New function. Move initialization
- of security related variables from ipcinit here.
- * bsd_helper.h (securityinit): Add prototype.
- * cygserver.cc (main): Call securityinit right after wincap.init.
-
-2005-11-10 Corinna Vinschen <corinna@vinschen.de>
-
- * bsd_log.cc (_vpanic): LOG_EMERG is overkill, use LOG_CRIT.
-
-2005-11-09 Corinna Vinschen <corinna@vinschen.de>
-
- * process.cc (process_cache::process): Fix maximum process condition.
-
-2005-10-24 Corinna Vinschen <corinna@vinschen.de>
-
- * README: Add description for new -p/--process-cache option.
- * bsd_helper.cc (default_tun_check): Add kern.srv.process_cache_size
- entry to tunable_params. Set max value of kern.srv.request_threads
- to 310.
- * cygserver.cc (SERVER_VERSION): Set to 1.20.
- (print_usage): Print usage of new parameter -p.
- (main): Add process cache parameter handling. Accomodate new max
- value of request threads.
- * cygserver.conf: Add kern.srv.process_cache_size tunable parameter.
- Accomodate new max value of kern.srv.request_threads.
- * process.cc: Fix a comment.
- (process_cache::process_cache): Add max process cache size parameter.
- Change _cache_add_trigger to manual reset event.
- (struct pcache_wait_t): New struct used as parameter to
- pcache_wait_thread.
- (pcache_wait_thread): New thread function used for threaded process
- cache.
- (process_cache::wait_for_processes): Use threaded waiting if number
- of processes to wait for is bigger than 62. Always check all processes
- to avoid race under heavy load.
- (process_cache::sync_wait_array): Remove useless assert. Reset
- _cache_add_trigger right at the start since it's manual reset now.
- Accomodate threaded waiting.
- * process.h (process_cache::process_cache): Add max_procs parameter.
- (process_cache::_max_process_count): New member.
- (process_cache::_wait_array: Raise to allow up to 5 wait threads.
- (process_cache::_process_array): Ditto.
-
-2005-08-08 Christopher Faylor <cgf@timesys.com>
-
- * cygserver.cc (main): Call wincap.init() earlier to avoid a NULL
- dereference.
-
-2005-06-14 Corinna Vinschen <corinna@vinschen.de>
-
- * sysv_sem.cc (semu_list): Define static to avoid gcc 4.x compiler
- warning.
-
-2005-04-08 Corinna Vinschen <corinna@vinschen.de>
-
- * bsd_mutex.cc (msleep_cnt): Remove.
- (msleep_max_cnt): Remove.
- (msleep_arr): Remove.
- (class msleep_sync_array): New class to encapsulate msleep/wakeup
- thread synchronization.
- (msleep_sync): New object pointer.
- (msleep_init): Initialize new msleep_sync object.
- (_mutex): Just call msleep_sync->enter() and msleep_sync->leave() for
- thread synchronization. Improve debug output a bit more.
- (wakeup): Just call msleep_sync->wakeup().
- (wakeup_all): Whitespace fix.
-
-2005-04-06 Corinna Vinschen <corinna@vinschen.de>
-
- * bsd_helper.cc (ipcexit_hookthread): Fix whitespace and handle leak.
- * bsd_mutex.cc: Include stdlib.h, sys/msg.h and sys/sem.h.
- (mtx_init): Initialize lock counter to 0.
- (_mtx_lock): Increment and log mutex lock counter.
- (mtx_owned): Add winpid argument. Return true only if mutex is
- actually owned by process winpid.
- (_mtx_assert): Add winpid argument accordingly.
- (_mtx_unlock): Log owner and lock count.
- (MSLEEP_MUTEX): Remove.
- (MSLEEP_SEM): Ditto.
- (MSLEEP_EVENT): Ditto.
- (msleep_event_name): Ditto.
- (msleep_cs): New global critical section.
- (msleep_cnt): New global variable indicating msleep record usage.
- (msleep_max_cnt): New global variable indicating msleep record size.
- (msleep_arr): New global pointer to msleep records.
- (msleep_init): Initialize msleep_cs. Allocate msleep_arr array.
- (_msleep): Rewrite using new msleep_cs/msleep_arr based thread
- synchronization. Don't be shy with debug output.
- (wakeup): Rewrite using new msleep_cs/msleep_arr based thread
- synchronization.
- * bsd_mutex.h (struct mtx): Add lock counter for better debugging.
- (mtx_owned): Declare with winpid argument.
- (_mtx_assert): Ditto.
- (mtx_assert): Define with winpid argument.
- * cygserver.cc (version): Remove.
- (SERVER_VERSION): New define, decoupling server version information
- from source code control system.
- (print_version): Simplify printing server version.
- * process.cc (process::process): Fix wrong bracketing (and handle leak).
- (process::~process): Only try to close _signal_arrived if valid.
- * sysv_sem.cc: Include sys/smallprint.h.
- (semundo_clear): Define with additional struct thread pointer argument.
- Accomodate throughout.
- (SEMUNDO_LOCKASSERT): Define with winpid argument. Accomodate
- throughout.
- (struct sem_undo): Define un_proc as pid_t on Cygwin. Accomodate
- throughout.
- (seminit): Improve debugging by adding the semid to the mutex name.
- (semget): Correctly print key value as 64 bit hex value in debug
- output.
- (semexit_myhook): Remove Cygwin specific unlocking of mutexes owned
- by exiting process. Keep semaphore global lock throughout whole
- function to avoid races.
- * sysv_shm.cc (GIANT_REQUIRED): Define empty on Cygwin. We know that
- Giant is locked.
-
-2005-04-01 Corinna Vinschen <corinna@vinschen.de>
-
- * bsd_mutex.cc (_msleep): Whitespace fix.
- * process.cc (process::process): Handle invalid signal_arrived values
- more gracefully.
-
-2004-12-30 Corinna Vinschen <corinna@vinschen.de>
-
- * bsd_mutex.cc: Include limits.h.
- (MSLEEP_MUTEX): New define for third parameter to msleep_event_name.
- (MSLEEP_SEM): Ditto.
- (MSLEEP_EVENT): Ditto.
- (msleep_event_name): Add third parameter to allow multiple
- synchronization objects per ident.
- (_msleep): Implement new synchronization technique to make sure
- that all threads have been woken up by a corresponding wakeup call.
- (wakeup): Ditto.
-
-2004-10-18 Corinna Vinschen <corinna@vinschen.de>
-
- * sysv_sem.cc: Redefine offsetof to circumvent build problems with
- gcc 3.4.
-
-2004-10-04 Corinna Vinschen <corinna@vinschen.de>
-
- * bsd_mutex.cc (_msleep): Simplify event creation. Revert change from
- 2004-08-24. It should be unnecessary now.
- * msg.cc (client_request_msg::serve): Release process critical
- section as early as possible.
- * sem.cc (client_request_sem::serve): Ditto.
- * shm.cc (client_request_shm::serve): Ditto.
- * process.cc: Use hold and release method calls instead of
- EnterCriticalSection/LeaveCriticalSection calls throughout.
- * process.h (_hold): Rename from hold. Take filename and linenumber
- parameter for logging. Define matching hold macro.
- (release): Ditto.
-
-2004-10-01 Corinna Vinschen <corinna@vinschen.de>
-
- * sysv_sem.cc: Update to FreeBSD version 1.69.
- 1.68: Reduce the overhead of semop() by using the kernel stack
- instead of malloc'd memory to store the operations array if it
- is small enough to fit.
- 1.69: Adjust the number of processes waiting on a semaphore properly
- if we're woken up in the middle of sleeping.
-
-2004-09-23 Corinna Vinschen <corinna@vinschen.de>
-
- * sysv_shm.cc (kern_shmat): Avoid compiler warning.
-
-2004-09-21 Corinna Vinschen <corinna@vinschen.de>
-
- * sysv_shm.cc (vm_object_reference): remove Cygwin specific define.
- (vm_map_find): Ditto.
- (vm_map_inherit): Ditto.
- (kern_shmat): On Cygwin, take shmaddr just as is. Don't call vm
- system calls on Cygwin. Add comment.
-
-2004-09-15 Corinna Vinschen <corinna@vinschen.de>
-
- Fix copyright throughout.
- Eliminate use of _impure_ptr outside Cygwin.
- * bsd_helper.cc: Include errno.h instead of cygerrno.h.
- * bsd_mutex.cc : Ditto.
- * client.cc: Ditto.
- * cygserver.cc: Ditto.
- * process.cc: Don't build functions inside Cygwin. Don't include
- cygerrno.h. Don't set errno.
- * transport_pipes.cc (SET_ERRNO): New define. Use througout.
- * transport_sockets.cc (SET_ERRNO): Ditto.
- (GET_ERRNO): Ditto.
-
-2004-09-06 Corinna Vinschen <corinna@vinschen.de>
-
- * bsd_mutex.cc (_msleep): Disable resetting event object for now.
-
-2004-08-31 Corinna Vinschen <corinna@vinschen.de>
-
- * sysv_shm.cc (kern_shmat): Add debug_printf's.
-
-2004-08-24 Corinna Vinschen <corinna@vinschen.de>
-
- * bsd_mutex.cc (_msleep): Release process object while waiting.
-
-2004-08-03 Corinna Vinschen <corinna@vinschen.de>
-
- * transport.cc (transport_layer_base::~transport_layer_base): Resurrect.
- * transport.h (transport_layer_base::~transport_layer_base): Ditto.
-
-2004-07-30 Corinna Vinschen <corinna@vinschen.de>
-
- * bsd_mutex.cc (_msleep): Reset event object and close it before
- entering mutex. Turn order of conditional for better readability.
-
-2004-07-26 Corinna Vinschen <corinna@vinschen.de>
-
- * cygserver.conf: Describe relation between shmmaxpgs and SHMMAX.
-
-2004-07-20 Corinna Vinschen <corinna@vinschen.de>
-
- * bsd_helper.cc: Whitespace fixes.
- * bsd_mutex.cc: Ditto.
-
-2004-07-19 Corinna Vinschen <corinna@vinschen.de>
-
- * transport.cc (transport_layer_base::~transport_layer_base): Remove.
- * transport.h (transport_layer_base::~transport_layer_base): Ditto.
-
-2004-07-19 Corinna Vinschen <corinna@vinschen.de>
-
- * bsd_mutex.cc (win_priority): Actually calculate p from priority.
-
-2004-06-03 Corinna Vinschen <corinna@vinschen.de>
-
- * shm.cc (shmget): Explicitely set td_retval[0] to -1 on error.
-
-2004-03-30 Corinna Vinschen <corinna@vinschen.de>
-
- * sysv_shm.cc (shmget): Allow to retrieve shared memory segments
- by shmid when IPC_KEY_IS_SHMID is set.
-
-2004-03-02 Corinna Vinschen <corinna@vinschen.de>
-
- * sysv_sem.cc (semundo_adjust): Check for process id instead of
- process struct pointer, which isn't fixed under Cygwin.
- (semexit_myhook): Ditto. Adjust debug print statements to print
- Cygwin and Windows PIDs instead of process pointer under Cygwin.
-
-2004-02-07 Corinna Vinschen <corinna@vinschen.de>
-
- * bsd_mutex.cc (win_priority): Move to msleep helper function section.
- (set_priority): Ditto. Fix formatting.
- (_msleep): Cleanup obj formatting. Rearrange obj order.
-
-2004-02-06 Corinna Vinschen <corinna@vinschen.de>
-
- * bsd_mutex.cc (_msleep): Handle PCATCH using signal_arrived event.
- * client.cc: Include sigproc.h.
- * msg.cc (client_request_msg::serve): Accomodate third parameter to
- process::process.
- * sem.cc (client_request_sem::serve): Ditto.
- * shm.cc (client_request_shm::serve): Ditto.
- * process.cc (process::process): Duplicate signal_arrived into
- Cygserver process space.
- (process::~process): Close _signal_arrived handle.
- (process_cache::process): Add signal_arrived handling.
- * process.h (process::process): Add signal_arrived parameter.
- (process:signal_arrived): New read accessor.
- (process:_signal_arrived): New member.
- (process_cache::process): Add signal_arrived parameter.
-
-2004-01-16 Corinna Vinschen <corinna@vinschen.de>
-
- * process.h (cleanup_routine::~cleanup_routine): Make pure virtual
- function to avoid miscompilation with certain versions of gcc.
- * process.cc (cleanup_routine::~cleanup_routine): Remove.
-
-2003-12-26 Christopher Faylor <cgf@redhat.com>
-
- * Makefile.in (CFLAGS, CXXFLAGS): Remove unneeded include.
- (CYGWIN_LIB): Delete.
- (cygserver.exe target): Add -L$(cygwin_build) to the link line to force
- linker to use build tree version of the library. Remove specific
- inclusion of libcygwin.a from the link line.
-
-2003-12-16 Corinna Vinschen <corinna@vinschen.de>
-
- * bsd_helper.cc (tunable_params): Add entries for kern.ipc.msgmnb and
- kern.ipc.msgtql. Raise max value for kern.ipc.msgseg to 65535.
- * cygserver.conf: Add kern.ipc.msgmnb and kern.ipc.msgtql.
- * sysv_msg.cc (msginit): Add TUNABLE_INT_FETCH call for
- kern.ipc.msgmnb and kern.ipc.msgtql.
-
-2003-11-26 Corinna Vinschen <corinna@vinschen.de>
-
- * cygserver.cc (main): Move call to ipcinit() up before installing
- any threads.
- * sysv_sem.cc: Update to FreeBSD version 1.67.
- (seminit): Initialize semaphore sequence numbers to 0.
-
-2003-11-26 Corinna Vinschen <corinna@vinschen.de>
-
- * Makefile.in (CYGWIN_LIB): Variable pointing to libcygwin.a in
- the parallel cygwin dir.
- (cygserver.exe): Depend on and link against $CYGWIN_LIB.
-
-2003-11-25 Christopher Faylor <cgf@redhat.com>
-
- * Makefile.in (CXXFLAGS): Remove duplicate options handled in
- Makefile.common.
-
-2003-11-22 Corinna Vinschen <corinna@vinschen.de>
-
- * msg.cc (client_request_msg::serve): Add default case to msgop switch.
- * sem.cc (client_request_sem::serve): Add default case to semop switch.
- * shm.cc (client_request_shm::serve): Add default case to shmop switch.
-
-2003-11-21 Corinna Vinschen <corinna@vinschen.de>
-
- * Makefile.in (install): Explicitely create directories. Install
- README to $(prefix)/share/doc/Cygwin.
- * README: New file.
-
-2003-11-21 Corinna Vinschen <corinna@vinschen.de>
-
- * cygserver.cc (print_usage): Fix scrambled output.
-
-2003-11-20 Corinna Vinschen <corinna@vinschen.de>
-
- * cygserver-config: Slightly modify printed message.
-
-2003-11-20 Corinna Vinschen <corinna@vinschen.de>
-
- * Makefile.in (install): Install cygserver-config script to bindir.
- * cygserver-config: New script.
-
-2003-11-19 Corinna Vinschen <corinna@vinschen.de>
-
- Don't use safe_new but new throughout. Fix copyright dates
- throughout.
- * Makefile.in: Accomodate all new files and name changes.
- Add a *.d dependency.
- (sbindir): Add.
- (etcdir): Drop in favor of more appropriate sysconfdir definition.
- (sysconfdir): Add.
- (CXXFLAGS): Add -MMD flag. Add SYSCONFDIR definition.
- (.SUFFIXES): Add.
- (install): Add action items.
- (libclean): New target.
- (fullclean): Ditto.
- * bsd_helper.cc: New file.
- * bsd_helper.h: Ditto.
- * bsd_log.cc: Ditto.
- * bsd_log.h: Ditto.
- * bsd_mutex.cc: Ditto.
- * bsd_mutex.h: Ditto.
- * client.cc: Rearrange to build as less as possible if
- __INSIDE_CYGWIN__.
- (client_request::handle_request): Add Message Queue and Semaphore
- handling.
- * cygserver.cc: Rearrange to build as less as possible if
- __INSIDE_CYGWIN__. Use new debug/log/panic logging functions.
- (DEF_CONFIG_FILE): New definition for configuration file. Use
- throughout.
- (getfunc): Remove.
- (__cygserver__printf): Remove.
- (client_request_attach_tty::serve): Return error if impersonation
- fails.
- (print_usage): Pump up help message.
- (print_version): Add output of default configuration file.
- (main): Accommodate new options. Allow overwrite of threading options
- from config file. Call several new initialization functions. Drop
- printing dots. Don't define SIGHANDLE inline.
- * cygserver.conf: New file.
- * cygserver_process.h: Rename to process.h.
- * cygserver_transport.h: Rename to transport.h.
- * cygserver_transport_pipes.h: Rename to transport_pipes.h.
- * cygserver_transport_sockets.h: Rename to transport_sockets.h.
- * msg.cc: Rewrite.
- * sem.cc: Rewrite.
- * shm.cc: Rewrite.
- * sysv_msg.cc: New file, derived from FreeBSD version 1.52.
- * sysv_sem.cc: New file, derived from FreeBSD version 1.66.
- * sysv_shm.cc: New file, derived from FreeBSD version 1.89.
- * threaded_queue.cc: Rearrange to build as less as possible if
- __INSIDE_CYGWIN__.
- * transport.cc (transport_layer_base::impersonate_client): Define bool.
- (transport_layer_base::revert_to_self): Ditto.
- * transport.h (transport_layer_base::impersonate_client): Declare bool.
- (transport_layer_base::revert_to_self): Ditto.
- * transport_pipes.cc (transport_layer_pipes::transport_layer_pipes):
- Don't call init_security.
- (init_security): Remove.
- (transport_layer_pipes::accept): Use global sec_all_nih.
- (transport_layer_pipes::connect): Ditto.
- (transport_layer_pipes::impersonate_client): Define bool.
- (transport_layer_pipes::revert_to_self): Ditt.
- * transport_pipes.h (transport_layer_pipes::impersonate_client): Declare
- bool.
- (transport_layer_pipes::revert_to_self): Ditto.
- * woutsup.h: Include bsd compatibility headers.
- (SIGHANDLE): Add definition.
- (__cygserver__printf): Remove definition.
- (__noop_printf): Ditto.
- (debug_printf): Define using debug.
- (syscall_printf): Define using log.
- (system_printf): Ditto.
- Drop all other _printf definitions.
-
-2003-10-22 Corinna Vinschen <corinna@vinschen.de>
-
- Accomodate moving cygserver header files from cygwin/include/cygwin
- to here and cygwin dir.
- * Makefile.in (EXEEXT): Drop as unused.
- (EXEEXT_FOR_BUILD): Ditto.
- (all): Don't build libcygserver.a.
- * cygserver_process.h: Moved from cygwin/include/cygwin to here.
- * cygserver_transport.h: Ditto.
- * cygserver_transport_pipes.h: Ditto.
- * cygserver_transport_sockets.h: Ditto.
- * ipc.h: Moved to ../cygwin and renamed to cygserver_ipc.h.
- * shm.h: Moved to ../cygwin and renamed to cygserver_shm.h.
-
-2003-08-30 Christopher Faylor <cgf@redhat.com>
-
- * msg.cc: New file.
- * sem.cc: Ditto.
-
-2003-08-30 Christopher Faylor <cgf@redhat.com>
-
- * threaded_queue.h: New file.
-
-2003-08-25 Christopher Faylor <cgf@redhat.com>
-
- * Makefile.in: Build libcygserver.a.
- * client.cc: Rename allow_daemon to allow_server.
-
-2003-07-25 Christopher Faylor <cgf@redhat.com>
-
- * configure.in: Use 'install-sh -c'.
- * configure: Regenerate.
-
-2003-07-25 Christopher Faylor <cgf@redhat.com>
-
- * configure.in: Always use install-sh.
- * configure: Regenerate.
-
-2003-07-01 Christopher Faylor <cgf@redhat.com>
-
- * Makefile.in (OBJS): Move some more files from cygwin directory.
- * woutsup.h: Define _MT_SAFE.
-
-2003-07-01 Christopher Faylor <cgf@redhat.com>
-
- * configure.in: First pass.
- * Makefile.in: Ditto.
- * configure: Generate.
diff --git a/winsup/cygserver/Makefile.in b/winsup/cygserver/Makefile.in
deleted file mode 100644
index 1b76a7643..000000000
--- a/winsup/cygserver/Makefile.in
+++ /dev/null
@@ -1,91 +0,0 @@
-# Makefile for Cygwin server
-# Copyright 2003 Red Hat, Inc.
-
-# This file is part of Cygwin.
-
-# This software is a copyrighted work licensed under the terms of the
-# Cygwin license. Please consult the file "CYGWIN_LICENSE" for
-# details.
-
-SHELL:=@SHELL@
-
-srcdir:=@srcdir@
-VPATH:=@srcdir@
-prefix:=@prefix@
-exec_prefix:=@exec_prefix@
-
-bindir:=@bindir@
-sbindir:=@sbindir@
-sysconfdir:=@sysconfdir@
-program_transform_name:=@program_transform_name@
-
-INSTALL:=@INSTALL@
-INSTALL_PROGRAM:=@INSTALL_PROGRAM@
-INSTALL_DATA:=@INSTALL_DATA@
-
-CC:=@CC@
-CC_FOR_TARGET:=$(CC)
-CXX:=@CXX@
-CXX_FOR_TARGET:=$(CXX)
-AR:=@AR@
-
-include $(srcdir)/../Makefile.common
-
-CFLAGS:=@CFLAGS@
-CXXFLAGS:=@CXXFLAGS@
-override CXXFLAGS+=-MMD -DHAVE_DECL_GETOPT=0 -D__OUTSIDE_CYGWIN__ -DSYSCONFDIR="\"$(sysconfdir)\""
-
-.SUFFIXES: .c .cc .a .o .d
-
-OBJS:= cygserver.o client.o process.o msg.o sem.o shm.o threaded_queue.o \
- transport.o transport_pipes.o transport_sockets.o \
- bsd_helper.o bsd_log.o bsd_mutex.o \
- sysv_msg.o sysv_sem.o sysv_shm.o
-LIBOBJS:=${patsubst %.o,lib%.o,$(OBJS)}
-
-CYGWIN_OBJS:=$(cygwin_build)/smallprint.o $(cygwin_build)/version.o \
- $(cygwin_build)/wincap.o
-
-CYGWIN_LIB:=$(cygwin_build)/libcygwin.a
-
-all: cygserver.exe
-
-install: all $(updir1)/mkinstalldirs cygserver.conf cygserver-config README
- $(updir1)/mkinstalldirs $(sbindir)
- $(updir1)/mkinstalldirs $(bindir)
- $(updir1)/mkinstalldirs $(sysconfdir)/defaults/etc
- $(updir1)/mkinstalldirs $(prefix)/share/doc/Cygwin
- $(INSTALL_PROGRAM) cygserver.exe $(sbindir)/cygserver.exe
- $(INSTALL_PROGRAM) $(srcdir)/cygserver-config $(bindir)/cygserver-config
- $(INSTALL_DATA) $(srcdir)/cygserver.conf $(sysconfdir)/defaults/etc/cygserver.conf
- $(INSTALL_DATA) $(srcdir)/README $(prefix)/share/doc/Cygwin/cygserver.README
-
-clean:
- rm -f $(OBJS) ${patsubst %.o,%.d,$(OBJS)} cygserver.exe
-
-libclean:
- rm -f $(LIBOBJS) ${patsubst %.o,%.d,$(LIBOBJS)} libcygserver.a
-
-fullclean: clean libclean
-
-cygserver.exe: $(CYGWIN_LIB) $(OBJS) $(CYGWIN_OBJS)
- $(CXX) -o $@ ${wordlist 2,999,$^} -L$(cygwin_build)
-
-$(cygwin_build)/%.o: $(cygwin_source)/%.cc
- @$(MAKE) -C $(@D) $(@F)
-
-$(cygwin_build)/%.o: $(cygwin_source)/%.c
- @$(MAKE) -C $(@D) $(@F)
-
-Makefile: Makefile.in configure
-
-lib%.o: %.cc
- ${filter-out -D__OUTSIDE_CYGWIN__, $(COMPILE_CXX)} -I$(updir)/cygwin -o $(@D)/${basename $(@F)}$o $<
-
-libcygserver.a: $(LIBOBJS)
- $(AR) crus $@ $?
-
-deps:=${wildcard *.d}
-ifneq (,$(deps))
-include $(deps)
-endif
diff --git a/winsup/cygserver/README b/winsup/cygserver/README
deleted file mode 100644
index 39dcd9f98..000000000
--- a/winsup/cygserver/README
+++ /dev/null
@@ -1,231 +0,0 @@
-What is Cygserver?
-
- Cygserver is a program which is designed to run as a background service.
- It provides Cygwin applications with services which require security
- arbitration or which need to persist while no other cygwin application
- is running.
-
- The implemented services so far are:
-
- - Control slave tty/pty handle dispersal from tty owner to other
- processes without compromising the owner processes' security.
- - XSI IPC Message Queues.
- - XSI IPC Semaphores.
- - XSI IPC Shared Memory.
-
-
-Cygserver command line options:
-
- Options to Cygserver take the normal UNIX-style `-X' or `--longoption' form.
- Nearly all options have a counterpart in the configuration file (see below)
- so setting them on the command line isn't really necessary. Command line
- options override settings from the Cygserver configuration file.
-
- The one-character options are prepended by a single dash, the long variants
- are prepended with two dashes. Arguments to options are marked in angle
- brackets below. These are not part of the actual syntax but are used only to
- denote the arguments. Note that all arguments are required. Cygserver
- has no options with optional arguments.
-
- The options recognized are:
-
- -f, --config-file <file>
-
- Use <file> as configuration file instead of the default configuration
- line. The default configuration file is /etc/cygserver.conf, typically.
- The --help and --version options will print the default configuration
- pathname.
-
- This option has no counterpart in the configuration file, for obvious
- reasons.
-
- -c, --cleanup-threads <num>
-
- Number of threads started to perform cleanup tasks. Default is 2.
- Configuration file option: kern.srv.cleanup_threads
-
- -r, --request-threads <num>
-
- Number of threads started to serve application requests. Default is 10.
- The -c and -r options can be used to play with Cygserver's performance
- under heavy load conditions or on slow machines.
- Configuration file option: kern.srv.request_threads
-
- -p, --process-cache <num>
-
- Number of processes which can connect concurrently to cygserver.
- Default is 62. Each process connected to cygserver is a synchronization
- object which has to be maintained. The data structure to maintain these
- processes is the so-called "process cache". In theory, an arbitrary
- number of processes could connect to cygserver, but due to the need to
- synchronize, the higher the number of connected processes, the more
- synchronization overhead exists. By using this option, you can set an
- upper limit to the synchronization effort. If more than 62 processes
- try to connect to cygserver concurrently, two additional synchronization
- threads are necessary, and one for each further 62 concurrent
- processes. So, useful values for the --process-cache option are 62, 124,
- 186, 248, 310. 310 is the maximum value.
- Configuration file option: kern.srv.process_cache_size
-
- NOTE: The number of child processes of a single parent process is limited
- to 256. So in case of taking advantage of a process cache size beyond 256,
- keep in mind that not all of these processes can be child processes of one
- single parent process.
-
- -d, --debug
-
- Log debug messages to stderr. These will clutter your stderr output with
- a lot of information, typically only useful to developers.
-
- -e, --stderr
-
- Force logging to stderr. This is the default if stderr is connected to
- a tty. Otherwise, the default is logging to the system log. By using
- the -e, -E, -y, -Y options (or the appropriate settings in the
- configuration file), you can explicitely set the logging output as you
- like, even to both, stderr and syslog.
- Configuration file option: kern.log.stderr
-
- -E, --no-stderr
-
- Don't log to stderr. Configuration file option: kern.log.stderr
-
- -y, --syslog
-
- Force logging to the system log. This is the default, if stderr is not
- connected to a tty, e. g. redirected to a file. Note, that on 9x/Me
- systems the syslog is faked by a file C:\CYGWIN_SYSLOG.TXT.
- Configuration file option: kern.log.syslog
-
- -Y, --no-syslog
-
- Don't log to syslog. Configuration file option: kern.log.syslog
-
- -l, --log-level <level>
-
- Set the verbosity level of the logging output. Valid values are between
- 1 and 7. The default level is 6, which is relatively chatty. If you set
- it to 1, you will get only messages which are printed under severe conditions,
- which will result in stopping Cygserver itself.
- Configuration file option: kern.log.level
-
- -m, --no-sharedmem
-
- Don't start XSI IPC Shared Memory support. If you don't need XSI IPC
- Shared Memory support, you can switch it off here.
- Configuration file option: kern.srv.sharedmem
-
- -q, --no-msgqueues
-
- Don't start XSI IPC Message Queues.
- Configuration file option: kern.srv.msgqueues
-
- -s, --no-semaphores
-
- Don't start XSI IPC Semaphores.
- Configuration file option: kern.srv.semaphores
-
- -S, --shutdown
-
- Shutdown a running daemon and exit. Other methods are sending a SIGHUP
- to the Cygserver PID or, if running as service under NT, calling
- `net stop cygserver' or `cygrunsrv -E cygserver'.
-
- -h, --help
-
- Output usage information and exit.
-
- -v, --version
-
- Output version information and exit.
-
-
-How to start Cygserver:
-
- Before you run Cygserver for the first time, you should run the
- /usr/bin/cygserver-config script once. It creates the default
- configuration file and, upon request, installs Cygserver as service
- when running under NT. The script only performs a default install,
- with no further options given to Cygserver when running as service.
- Due to the wide configurability by changing the configuration file,
- that's typically not necessary.
-
- On Windows 9x/Me, just start Cygserver in any console window. It's
- advisable to redirect stderr to a file of choice (e. g.
- /var/log/cygserver.log) and to use the -e and -Y options or the
- set the appropriate settings in the configuration file (see below).
-
- On Windows NT/2000/XP or 2003, you should always run Cygserver as a
- service under LocalSystem account. This is the way it is installed
- for you by the /usr/bin/cygserver-config script.
-
-
-How to use the Cygserver services:
-
- The Cygserver services are used by Cygwin applications only if you
- set the environment variable CYGWIN to contain the string "server".
- You must do this before starting the application.
-
- Typically, you don't need any other option, so it's ok to set CYGWIN
- just to "server". It is not necessary to set the CYGWIN environment
- variable prior to starting the Cygserver process itself, but it won't
- hurt to do so.
-
- The easiest way is to set the environment variable CYGWIN to the values
- you want in the Windows system environment and to reboot the machine.
- This is advisable, since it allows you to set the variable once and
- then forget about it. It also ensures that services as well as desktop
- applications have the same setting.
-
- If you don't want that for whatever reason, you can set the
- variable in the /cygwin.bat file which is used in the net distribution,
- to start a Cygwin bash from the desktop. In that file, you can set
- the CYGWIN variable using Windows command line interpreter syntax, e. g.:
-
- set CYGWIN=server
-
- If you don't set CYGWIN in the system environment, but you're running
- other Cygwin services, these services need to get that CYGWIN value by
- setting the environment using the appropriate cygrunsrv option '-e' when
- installing the service. Example installing a service 'foo':
-
- cygrunsrv -I foo -p /usr/sbin/foo -e "CYGWIN=server"
-
-
-The Cygserver configuration file:
-
- Cygserver has many options, which allow to customize the server
- to your needs. Customization is accomplished by editing the configuration
- file, which is by default /etc/cygserver.conf. This file is read only
- once on startup of Cygserver. There's no option to re-read the file on
- runtime by, say, sending a signal to Cygserver.
-
- The configuration file determines how Cygserver operates. There are
- options which set the number of threads running in parallel, options
- for setting how and what to log and options to set various maximum
- values for the IPC services.
-
- The default configuration file delivered with Cygserver is installed
- to /etc/defaults/etc. The /usr/bin/cygserver-config script copies it to
- /etc, giving you the option to overwrite an already existing file or to
- leave it alone. Therefore, the /etc file is safe to be changed by you,
- since it will not be overwritten by a later update installation.
-
- The default configuration file contains many comments which describe
- everything needed to understand the settings. A comment at the start of the
- file describes the syntax rules for the file. The default options are shown
- in the file but are commented out.
-
- It is generally a good idea to uncomment only options which you intend to
- change from the default values. Since reading the options file on Cygserver
- startup doesn't take much time, it's also considered good practice to keep
- all other comments in the file. This keeps you from searching for clues
- in other sources.
-
-
-If you have problems with Cygserver, or you have found a bug, or you
-think you have found a bug, or you don't understand configuration file
-options, the mailing list <cygwin@cygwin.com> is the right place to ask
-questions.
-
-Have fun!
diff --git a/winsup/cygserver/bsd_helper.cc b/winsup/cygserver/bsd_helper.cc
deleted file mode 100644
index 53ae4a070..000000000
--- a/winsup/cygserver/bsd_helper.cc
+++ /dev/null
@@ -1,702 +0,0 @@
-/* bsd_helper.cc
-
- Copyright 2003, 2004, 2005 Red Hat Inc.
-
-This file is part of Cygwin.
-
-This software is a copyrighted work licensed under the terms of the
-Cygwin license. Please consult the file "CYGWIN_LICENSE" for
-details. */
-#ifdef __OUTSIDE_CYGWIN__
-#include "woutsup.h"
-#include <errno.h>
-#define _KERNEL 1
-#define __BSD_VISIBLE 1
-#include <sys/smallprint.h>
-#include <sys/cygwin.h>
-#include <sys/ipc.h>
-#include <sys/param.h>
-#include <sys/msg.h>
-#include <sys/queue.h>
-#include <malloc.h>
-#include <unistd.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <ctype.h>
-
-#include "security.h"
-#include "cygserver.h"
-#include "process.h"
-#include "cygserver_ipc.h"
-#include "cygserver_msg.h"
-#include "cygserver_sem.h"
-#include "cygserver_shm.h"
-
-/*
- * Copy a piece of memory from the client process into the server process.
- * Returns an error code.
- */
-int
-win_copyin (struct thread *td, const void *client_src,
- void *server_tgt, size_t len)
-{
- if (!ReadProcessMemory (td->client->handle (), client_src, server_tgt,
- len, NULL))
- return cygwin_internal (CW_GET_ERRNO_FROM_WINERROR,
- GetLastError (), EINVAL);
- return 0;
-}
-
-/*
- * Copy a piece of memory from the server process into the client process.
- * Returns an error code.
- */
-int
-win_copyout (struct thread *td, const void *server_src,
- void *client_tgt, size_t len)
-{
- if (!WriteProcessMemory (td->client->handle (), client_tgt, server_src,
- len, NULL))
- return cygwin_internal (CW_GET_ERRNO_FROM_WINERROR,
- GetLastError (), EINVAL);
- return 0;
-}
-
-#define enter_critical_section(c) _enter_critical_section((c),__FILE__,__LINE__)
-static void
-_enter_critical_section (LPCRITICAL_SECTION pcs, const char *file, int line)
-{
- _log (file, line, LOG_DEBUG, "Try enter critical section(%p)", pcs);
- EnterCriticalSection (pcs);
- _log (file, line, LOG_DEBUG, "Entered critical section(%p)", pcs);
-}
-
-#define leave_critical_section(c) _leave_critical_section((c),__FILE__,__LINE__)
-static void
-_leave_critical_section (LPCRITICAL_SECTION pcs, const char *file, int line)
-{
- LeaveCriticalSection (pcs);
- _log (file, line, LOG_DEBUG, "Left critical section(%p)", pcs);
-}
-
-CRITICAL_SECTION ipcht_cs;
-
-struct ipc_hookthread_storage {
- HANDLE process_hdl;
- proc ipcblk;
-};
-
-struct ipc_hookthread {
- SLIST_ENTRY (ipc_hookthread) sht_next;
- HANDLE thread;
- DWORD winpid;
- struct vmspace vmspace;
-};
-static SLIST_HEAD (, ipc_hookthread) ipcht_list; /* list of hook threads */
-
-static HANDLE ipcexit_event;
-
-struct vmspace *
-ipc_p_vmspace (struct proc *proc)
-{
- struct vmspace *ret = NULL;
- ipc_hookthread *ipcht_entry;
- enter_critical_section (&ipcht_cs);
- SLIST_FOREACH (ipcht_entry, &ipcht_list, sht_next)
- {
- if (ipcht_entry->winpid == proc->winpid)
- {
- ret = proc->p_vmspace = &ipcht_entry->vmspace;
- break;
- }
- }
- leave_critical_section (&ipcht_cs);
- return ret;
-}
-
-static DWORD WINAPI
-ipcexit_hookthread (const LPVOID param)
-{
- ipc_hookthread_storage *shs = (ipc_hookthread_storage *) param;
- HANDLE obj[2] = { ipcexit_event, shs->process_hdl };
- switch (WaitForMultipleObjects (2, obj, FALSE, INFINITE))
- {
- case WAIT_OBJECT_0:
- /* Cygserver shutdown. */
- /*FALLTHRU*/
- case WAIT_OBJECT_0 + 1:
- /* Process exited. Call semexit_myhook to handle SEM_UNDOs for the
- exiting process and shmexit_myhook to keep track of shared
- memory. */
- if (Giant.owner == shs->ipcblk.winpid)
- mtx_unlock (&Giant);
- if (support_semaphores == TUN_TRUE)
- semexit_myhook (NULL, &shs->ipcblk);
- if (support_sharedmem == TUN_TRUE)
- {
- _mtx_lock (&Giant, shs->ipcblk.winpid, __FILE__, __LINE__);
- ipc_p_vmspace (&shs->ipcblk);
- shmexit_myhook (shs->ipcblk.p_vmspace);
- mtx_unlock (&Giant);
- }
- break;
- default:
- /* FIXME: Panic? */
- break;
- }
- CloseHandle (shs->process_hdl);
- ipc_hookthread *ipcht_entry, *sav_entry;
- enter_critical_section (&ipcht_cs);
- SLIST_FOREACH_SAFE (ipcht_entry, &ipcht_list, sht_next, sav_entry)
- {
- if (ipcht_entry->winpid == shs->ipcblk.winpid)
- {
- SLIST_REMOVE (&ipcht_list, ipcht_entry, ipc_hookthread, sht_next);
- CloseHandle (ipcht_entry->thread);
- delete ipcht_entry;
- }
- }
- leave_critical_section (&ipcht_cs);
- delete shs;
- return 0;
-}
-
-/* Deletes all pending hook threads. Called by ipcunload() which in turn
- is called by the cygserver main routine. */
-static void
-ipcexit_dispose_hookthreads (void)
-{
- SetEvent (ipcexit_event);
- ipc_hookthread *ipcht_entry;
- enter_critical_section (&ipcht_cs);
- SLIST_FOREACH (ipcht_entry, &ipcht_list, sht_next)
- {
- WaitForSingleObject (ipcht_entry->thread, 1000);
- /* Don't bother removing the linked list on cygserver shutdown. */
- /* FIXME: Error handling? */
- }
- leave_critical_section (&ipcht_cs);
-}
-
-/* Creates the per process wait thread. Called by semget() under locked
- Giant mutex condition. */
-int
-ipcexit_creat_hookthread (struct thread *td)
-{
- ipc_hookthread *ipcht_entry;
- int ret = -1;
- enter_critical_section (&ipcht_cs);
- SLIST_FOREACH (ipcht_entry, &ipcht_list, sht_next)
- {
- if (ipcht_entry->winpid == td->ipcblk->winpid)
- ret = 0;
- }
- leave_critical_section (&ipcht_cs);
- if (!ret)
- return 0;
-
- DWORD tid;
- ipc_hookthread_storage *shs = new ipc_hookthread_storage;
- if (!DuplicateHandle (GetCurrentProcess (), td->client->handle (),
- GetCurrentProcess (), &shs->process_hdl,
- 0, FALSE, DUPLICATE_SAME_ACCESS))
- {
- log (LOG_CRIT, "failed to duplicate process handle, error = %lu",
- GetLastError ());
- return cygwin_internal (CW_GET_ERRNO_FROM_WINERROR,
- GetLastError (), ENOMEM);
- }
- shs->ipcblk = *td->ipcblk;
- HANDLE thread = CreateThread (NULL, 0, ipcexit_hookthread, shs, 0, &tid);
- if (!thread)
- {
- log (LOG_CRIT, "failed to create thread, error = %lu", GetLastError ());
- return cygwin_internal (CW_GET_ERRNO_FROM_WINERROR,
- GetLastError (), ENOMEM);
- }
- ipcht_entry = new ipc_hookthread;
- ipcht_entry->thread = thread;
- ipcht_entry->winpid = td->ipcblk->winpid;
- ipcht_entry->vmspace.vm_map = NULL;
- ipcht_entry->vmspace.vm_shm = NULL;
- enter_critical_section (&ipcht_cs);
- SLIST_INSERT_HEAD (&ipcht_list, ipcht_entry, sht_next);
- leave_critical_section (&ipcht_cs);
- return 0;
-}
-
-/*
- * Need the admins group SID to compare with groups in client token.
- */
-PSID admininstrator_group_sid;
-
-static void
-init_admin_sid (void)
-{
- if (wincap.has_security ())
- {
- SID_IDENTIFIER_AUTHORITY nt_auth = {SECURITY_NT_AUTHORITY};
- if (! AllocateAndInitializeSid (&nt_auth, 2, 32, 544, 0, 0, 0, 0, 0, 0,
- &admininstrator_group_sid))
- panic ("failed to create well known sids, error = %lu",
- GetLastError ());
- }
-}
-
-SECURITY_DESCRIPTOR sec_all_nih_sd;
-SECURITY_ATTRIBUTES sec_all_nih = { sizeof (SECURITY_ATTRIBUTES),
- &sec_all_nih_sd,
- FALSE };
-
-void
-securityinit ()
-{
- InitializeSecurityDescriptor (&sec_all_nih_sd, SECURITY_DESCRIPTOR_REVISION);
- SetSecurityDescriptorDacl (&sec_all_nih_sd, TRUE, 0, FALSE);
- init_admin_sid ();
-}
-
-/* Global vars, determining whether the IPC stuff should be started or not. */
-tun_bool_t support_sharedmem = TUN_UNDEF;
-tun_bool_t support_msgqueues = TUN_UNDEF;
-tun_bool_t support_semaphores = TUN_UNDEF;
-
-void
-ipcinit ()
-{
- mtx_init (&Giant, "Giant", NULL, MTX_DEF);
- msleep_init ();
- ipcexit_event = CreateEvent (NULL, TRUE, FALSE, NULL);
- if (!ipcexit_event)
- panic ("Failed to create ipcexit event object");
- InitializeCriticalSection (&ipcht_cs);
- if (support_msgqueues == TUN_TRUE)
- msginit ();
- if (support_semaphores == TUN_TRUE)
- seminit ();
- if (support_sharedmem == TUN_TRUE)
- shminit ();
-}
-
-int
-ipcunload ()
-{
- ipcexit_dispose_hookthreads ();
- CloseHandle (ipcexit_event);
- wakeup_all ();
- if (support_semaphores == TUN_TRUE)
- semunload ();
- if (support_sharedmem == TUN_TRUE)
- shmunload ();
- if (support_msgqueues == TUN_TRUE)
- msgunload ();
- mtx_destroy (&Giant);
- return 0;
-}
-
-/*
- * Helper function to find a gid in a list of gids.
- */
-static bool
-is_grp_member (gid_t grp, gid_t *grplist, int listsize)
-{
- if (grplist)
- for (; listsize > 0; --listsize)
- if (grp == grplist[listsize - 1])
- return true;
- return false;
-}
-
-/*
- * Helper function to get a specific token information from a token.
- * This function mallocs the necessary buffer spcae by itself. It
- * must be free'd by the calling function.
- */
-static void *
-get_token_info (HANDLE tok, TOKEN_INFORMATION_CLASS tic)
-{
- void *buf;
- DWORD size;
-
- if (!GetTokenInformation (tok, tic, NULL, 0, &size)
- && GetLastError () != ERROR_INSUFFICIENT_BUFFER)
- return NULL;
- if (!(buf = malloc (size)))
- return NULL;
- if (!GetTokenInformation (tok, tic, buf, size, &size))
- {
- free (buf);
- return NULL;
- }
- return buf;
-}
-
-/*
- * Check if client user helds "mode" permission when accessing object
- * associated with "perm" permission record.
- * Returns an error code.
- */
-int
-ipcperm (struct thread *td, ipc_perm *perm, unsigned int mode)
-{
- proc *p = td->ipcblk;
-
- if (!suser (td))
- return 0;
- if (mode & IPC_M)
- {
- return (p->uid != perm->cuid && p->uid != perm->uid)
- ? EACCES : 0;
- }
- if (p->uid != perm->cuid && p->uid != perm->uid)
- {
- /* If the user is a member of the creator or owner group, test
- against group bits, otherwise against other bits. */
- mode >>= p->gid != perm->gid && p->gid != perm->cgid
- && !is_grp_member (perm->gid, p->gidlist, p->gidcnt)
- && !is_grp_member (perm->cgid, p->gidlist, p->gidcnt)
- ? 6 : 3;
- }
- return (mode & perm->mode) != mode ? EACCES : 0;
-}
-
-/*
- * Check for client user being superuser.
- * Returns an error code.
- */
-int
-suser (struct thread *td)
-{
- /* Always superuser on 9x. */
- if (!wincap.has_security ())
- return 0;
-
- /* This value has been set at ImpersonateNamedPipeClient() time
- using the token information. See adjust_identity_info() below. */
- return td->ipcblk->is_admin ? 0 : EACCES;
-}
-
-/*
- * Retrieves user and group info from impersonated token and creates the
- * correct uid, gid, gidlist and is_admin entries in p from that.
- */
-bool
-adjust_identity_info (struct proc *p)
-{
- HANDLE tok;
-
- /* No access tokens on 9x. */
- if (!wincap.has_security ())
- return true;
-
- if (!OpenThreadToken (GetCurrentThread (), TOKEN_READ, TRUE, &tok))
- {
- debug ("Failed to open worker thread access token for pid %d, winpid %d",
- p->cygpid, p->winpid);
- return false;
- }
-
- /* Get uid from user SID in token. */
- PTOKEN_USER user;
- if (!(user = (PTOKEN_USER)get_token_info (tok, TokenUser)))
- goto faulty;
- p->uid = cygwin_internal (CW_GET_UID_FROM_SID, user->User.Sid);
- free (user);
- if (p->uid == (uid_t)-1)
- log (LOG_WARNING, "WARNING: User not found in /etc/passwd! Using uid -1!");
-
- /* Get gid from primary group SID in token. */
- PTOKEN_PRIMARY_GROUP pgrp;
- if (!(pgrp = (PTOKEN_PRIMARY_GROUP)get_token_info (tok, TokenPrimaryGroup)))
- goto faulty;
- p->gid = cygwin_internal (CW_GET_GID_FROM_SID, pgrp->PrimaryGroup);
- free (pgrp);
- if (p->gid == (gid_t)-1)
- log (LOG_WARNING,"WARNING: Group not found in /etc/passwd! Using gid -1!");
-
- /* Generate gid list from token group's SID list. Also look if the token
- has an enabled admin group SID. That means, the process has admin
- privileges. That knowledge is used in suser(). */
- PTOKEN_GROUPS gsids;
- if (!(gsids = (PTOKEN_GROUPS)get_token_info (tok, TokenGroups)))
- goto faulty;
- if (gsids->GroupCount)
- {
- p->gidlist = (gid_t *) calloc (gsids->GroupCount, sizeof (gid_t));
- if (p->gidlist)
- p->gidcnt = gsids->GroupCount;
- }
- for (DWORD i = 0; i < gsids->GroupCount; ++i)
- {
- if (p->gidlist)
- p->gidlist[i] = cygwin_internal (CW_GET_GID_FROM_SID,
- gsids->Groups[i].Sid);
- if (EqualSid (gsids->Groups[i].Sid, admininstrator_group_sid)
- && (gsids->Groups[i].Attributes & SE_GROUP_ENABLED))
- p->is_admin = true;
- }
- free (gsids);
-
- CloseHandle (tok);
- return true;
-
-faulty:
- CloseHandle (tok);
- log (LOG_CRIT, "Failed to get token information for pid %d, winpid %d",
- p->cygpid, p->winpid);
- return false;
-}
-
-/*
- * Windows wrapper implementation of the VM functions called by sysv_shm.cc.
- */
-
-vm_object_t
-_vm_pager_allocate (int size, int shmflg)
-{
- /* Create the file mapping object with full access for everyone. This is
- necessary to allow later calls to shmctl(..., IPC_SET,...) to
- change the access rights and ownership of a shared memory region.
- The access rights are tested at the beginning of every shm... function.
- Note that this does not influence the actual read or write access
- defined in a call to shmat. */
- vm_object_t object = CreateFileMapping (INVALID_HANDLE_VALUE, &sec_all_nih,
- PAGE_READWRITE, 0, size, NULL);
- if (!object)
- panic ("CreateFileMapping in _vm_pager_allocate failed, %E");
- return object;
-}
-
-vm_object_t
-vm_object_duplicate (struct thread *td, vm_object_t object)
-{
- vm_object_t dup_object;
- if (!DuplicateHandle (GetCurrentProcess (), object,
- td->client->handle (), &dup_object,
- 0, TRUE, DUPLICATE_SAME_ACCESS))
- panic ("!DuplicateHandle in vm_object_duplicate failed, %E");
- return dup_object;
-}
-
-void
-vm_object_deallocate (vm_object_t object)
-{
- if (object)
- CloseHandle (object);
-}
-
-/*
- * Tunable parameters are read from a system wide cygserver.conf file.
- * On the first call to tunable_int_fetch, the file is read and the
- * parameters are set accordingly. Each parameter has default, max and
- * min settings.
- */
-
-enum tun_params_type {
- TUN_NULL,
- TUN_INT,
- TUN_BOOL
-};
-
-union tun_value {
- long ival;
- tun_bool_t bval;
-};
-
-struct tun_struct {
- const char *name;
- tun_params_type type;
- union tun_value value;
- union tun_value min;
- union tun_value max;
- void (*check_func)(tun_struct *, char *, const char *);
-};
-
-static void
-default_tun_check (tun_struct *that, char *value, const char *fname)
-{
- char *c = NULL;
- tun_value val;
- switch (that->type)
- {
- case TUN_INT:
- val.ival = strtoul (value, &c, 10);
- if (!val.ival || (c && *c))
- panic ("Error in config file %s: Value of parameter %s malformed",
- fname, that->name);
- if (val.ival < that->min.ival || val.ival > that->max.ival)
- panic ("Error in config file %s: Value of parameter %s must be "
- "between %lu and %lu",
- fname, that->name, that->min.ival, that->max.ival);
- if (that->value.ival)
- panic ("Error in config file %s: Parameter %s set twice.\n",
- fname, that->name);
- that->value.ival = val.ival;
- break;
- case TUN_BOOL:
- if (!strcasecmp (value, "no") || !strcasecmp (value, "n")
- || !strcasecmp (value, "false") || !strcasecmp (value, "f")
- || !strcasecmp (value, "0"))
- val.bval = TUN_FALSE;
- else if (!strcasecmp (value, "yes") || !strcasecmp (value, "y")
- || !strcasecmp (value, "true") || !strcasecmp (value, "t")
- || !strcasecmp (value, "1"))
- val.bval = TUN_TRUE;
- else
- panic ("Error in config file %s: Value of parameter %s malformed\n"
- "Allowed values: \"yes\", \"no\", \"y\", \"n\", \"true\", \"false\", \"t\", \"f\", \"1\" and \"0\"", fname, that->name);
- that->value.bval = val.bval;
- break;
- default:
- /* Shouldn't happen. */
- panic ("Internal error: Wrong type of tunable parameter");
- break;
- }
-}
-
-static tun_struct tunable_params[] =
-{
- /* SRV */
- { "kern.srv.cleanup_threads", TUN_INT, {0}, {1}, {32}, default_tun_check},
- { "kern.srv.request_threads", TUN_INT, {0}, {1}, {310}, default_tun_check},
- { "kern.srv.process_cache_size", TUN_INT, {0}, {1}, {310}, default_tun_check},
- { "kern.srv.sharedmem", TUN_BOOL, {TUN_UNDEF}, {TUN_FALSE}, {TUN_TRUE}, default_tun_check},
- { "kern.srv.msgqueues", TUN_BOOL, {TUN_UNDEF}, {TUN_FALSE}, {TUN_TRUE}, default_tun_check},
- { "kern.srv.semaphores", TUN_BOOL, {TUN_UNDEF}, {TUN_FALSE}, {TUN_TRUE}, default_tun_check},
-
- /* LOG */
- { "kern.log.syslog", TUN_BOOL, {TUN_UNDEF}, {TUN_FALSE}, {TUN_TRUE}, default_tun_check},
- { "kern.log.stderr", TUN_BOOL, {TUN_UNDEF}, {TUN_FALSE}, {TUN_TRUE}, default_tun_check},
- { "kern.log.debug", TUN_BOOL, {TUN_UNDEF}, {TUN_FALSE}, {TUN_TRUE}, default_tun_check},
- { "kern.log.level", TUN_INT, {0}, {1}, {7}, default_tun_check},
-
- /* MSG */
- { "kern.ipc.msgseg", TUN_INT, {0}, {256}, {65535}, default_tun_check},
- { "kern.ipc.msgssz", TUN_INT, {0}, {8}, {1024}, default_tun_check},
- { "kern.ipc.msgmnb", TUN_INT, {0}, {1}, {65535}, default_tun_check},
- { "kern.ipc.msgmni", TUN_INT, {0}, {1}, {1024}, default_tun_check},
- { "kern.ipc.msgtql", TUN_INT, {0}, {1}, {1024}, default_tun_check},
-
- /* SEM */
- //{ "kern.ipc.semmap", TUN_INT, {0}, {1}, {1024}, default_tun_check},
- { "kern.ipc.semmni", TUN_INT, {0}, {1}, {1024}, default_tun_check},
- { "kern.ipc.semmns", TUN_INT, {0}, {1}, {1024}, default_tun_check},
- { "kern.ipc.semmnu", TUN_INT, {0}, {1}, {1024}, default_tun_check},
- { "kern.ipc.semmsl", TUN_INT, {0}, {1}, {1024}, default_tun_check},
- { "kern.ipc.semopm", TUN_INT, {0}, {1}, {1024}, default_tun_check},
- { "kern.ipc.semume", TUN_INT, {0}, {1}, {1024}, default_tun_check},
- //{ "kern.ipc.semusz", TUN_INT, {0}, {1}, {1024}, default_tun_check},
- { "kern.ipc.semvmx", TUN_INT, {0}, {1}, {32767}, default_tun_check},
- { "kern.ipc.semaem", TUN_INT, {0}, {1}, {32767}, default_tun_check},
-
- /* SHM */
- { "kern.ipc.shmmaxpgs", TUN_INT, {0}, {1}, {32767}, default_tun_check},
- //{ "kern.ipc.shmmin", TUN_INT, {0}, {1}, {32767}, default_tun_check},
- { "kern.ipc.shmmni", TUN_INT, {0}, {1}, {32767}, default_tun_check},
- { "kern.ipc.shmseg", TUN_INT, {0}, {1}, {32767}, default_tun_check},
- //{ "kern.ipc.shm_use_phys", TUN_INT, {0}, {1}, {32767}, default_tun_check},
- { NULL, TUN_NULL, {0}, {0}, {0}, NULL}
-};
-
-#define skip_whitespace(c) while (*(c) && isspace (*(c))) ++(c)
-#define skip_nonwhitespace(c) while (*(c) && !isspace (*(c)) && *(c) != '#') ++(c)
-#define end_of_content(c) (!*(c) || *(c) == '#')
-
-void
-tunable_param_init (const char *config_file, bool force)
-{
- FILE *fp = fopen (config_file, "rt");
- if (!fp)
- {
- if (force)
- panic ("can't open config file %s\n", config_file);
- return;
- }
- char line[1024];
- while (fgets (line, 1024, fp))
- {
- char *c = strrchr (line, '\n');
- if (!c)
- panic ("Line too long in confg file %s\n", config_file);
- /* Overwrite trailing NL. */
- *c = '\0';
- c = line;
- skip_whitespace (c);
- if (end_of_content (c))
- continue;
- /* So we are on the first character of a parameter name. */
- char *name = c;
- /* Find end of name. */
- skip_nonwhitespace (c);
- if (end_of_content (c))
- {
- *c++ = '\0';
- panic ("Error in config file %s: Parameter %s has no value.\n",
- config_file, name);
- }
- /* Mark end of name. */
- *c++ = '\0';
- skip_whitespace (c);
- if (end_of_content (c))
- panic ("Error in config file %s: Parameter %s has no value.\n",
- config_file, name);
- /* Now we are on the first character of a parameter's value. */
- char *value = c;
- /* This only works for simple parameters. If complex string parameters
- are added at one point, the scanning routine must be changed here. */
- /* Find end of value. */
- skip_nonwhitespace (c);
- /* Mark end of value. */
- *c++ = '\0';
- /* Now look if name is one from our list. */
- tun_struct *s;
- for (s = &tunable_params[0]; s->name; ++s)
- if (!strcmp (name, s->name))
- {
- /* Now read value and check for validity. check_func doesn't
- return on error. */
- s->check_func (s, value, config_file);
- break;
- }
- if (!s->name)
- panic ("Error in config file %s: Unknown parameter %s.\n",
- config_file, name);
- }
- fclose (fp);
-}
-
-void
-tunable_int_fetch (const char *name, long *tunable_target)
-{
- tun_struct *s;
- for (s = &tunable_params[0]; s->name; ++s)
- if (!strcmp (name, s->name))
- break;
- if (!s) /* Not found */
- return;
- if (s->type != TUN_INT) /* Wrong type */
- return;
- if (!s->value.ival) /* Not set in config file */
- return;
- *tunable_target = s->value.ival;
- debug ("\nSet %s to %lu\n", name, *tunable_target);
-}
-
-void
-tunable_bool_fetch (const char *name, tun_bool_t *tunable_target)
-{
- tun_struct *s;
- const char *tun_bool_val_string[] = { "undefined", "no", "yes" };
- for (s = &tunable_params[0]; s->name; ++s)
- if (!strcmp (name, s->name))
- break;
- if (!s) /* Not found */
- return;
- if (s->type != TUN_BOOL) /* Wrong type */
- return;
- if (!s->value.ival) /* Not set in config file */
- return;
- *tunable_target = s->value.bval;
- debug ("\nSet %s to %s\n", name, tun_bool_val_string[*tunable_target]);
-}
-#endif /* __OUTSIDE_CYGWIN__ */
diff --git a/winsup/cygserver/bsd_helper.h b/winsup/cygserver/bsd_helper.h
deleted file mode 100644
index 014b82a05..000000000
--- a/winsup/cygserver/bsd_helper.h
+++ /dev/null
@@ -1,65 +0,0 @@
-/* bsd_helper.h: Helps integrating BSD kernel code
-
- Copyright 2003 Red Hat, Inc.
-
-This file is part of Cygwin.
-
-This software is a copyrighted work licensed under the terms of the
-Cygwin license. Please consult the file "CYGWIN_LICENSE" for
-details. */
-#ifndef _BSD_HELPER_H
-#define _BSD_HELPER_H
-
-#include <sys/types.h>
-#include <sys/syslog.h>
-
-enum tun_bool_t {
- TUN_UNDEF = 0,
- TUN_FALSE = 1,
- TUN_TRUE = 2
-};
-
-#define TUNABLE_INT_FETCH(a,b) tunable_int_fetch((a),(b))
-#define TUNABLE_BOOL_FETCH(a,b) tunable_bool_fetch((a),(b))
-
-#define sys_malloc(a,b,c) (malloc(a)?:(panic("malloc failed in %s, line %d"),(void*)NULL))
-#define sys_free(a,b) free(a)
-
-#define jail_sysvipc_allowed true
-#define jailed(a) false
-
-extern const char *__progname;
-
-/* Global vars, determining whether the IPC stuff should be started or not. */
-extern tun_bool_t support_sharedmem;
-extern tun_bool_t support_msgqueues;
-extern tun_bool_t support_semaphores;
-
-extern SECURITY_ATTRIBUTES sec_all_nih;
-
-void securityinit (void);
-
-int win_copyin (struct thread *, const void *, void *, size_t);
-int win_copyout (struct thread *, const void *, void *, size_t);
-#define copyin(a,b,c) win_copyin((td),(a),(b),(c))
-#define copyout(a,b,c) win_copyout((td),(a),(b),(c))
-
-int ipcperm (struct thread *, struct ipc_perm *, unsigned int);
-int suser (struct thread *);
-bool adjust_identity_info (struct proc *p);
-
-struct vmspace *ipc_p_vmspace (struct proc *);
-int ipcexit_creat_hookthread(struct thread *);
-void ipcinit (void);
-int ipcunload (void);
-
-vm_object_t _vm_pager_allocate (int, int);
-#define vm_pager_allocate(a,b,s,c,d) _vm_pager_allocate((s),(mode))
-vm_object_t vm_object_duplicate (struct thread *td, vm_object_t object);
-void vm_object_deallocate (vm_object_t object);
-
-void tunable_param_init (const char *, bool);
-void tunable_int_fetch (const char *, long *);
-void tunable_bool_fetch (const char *, tun_bool_t *);
-
-#endif /* _BSD_HELPER_H */
diff --git a/winsup/cygserver/bsd_log.cc b/winsup/cygserver/bsd_log.cc
deleted file mode 100644
index 583b90557..000000000
--- a/winsup/cygserver/bsd_log.cc
+++ /dev/null
@@ -1,95 +0,0 @@
-/* bsd_log.cc
-
- Copyright 2003, 2004 Red Hat Inc.
-
-This file is part of Cygwin.
-
-This software is a copyrighted work licensed under the terms of the
-Cygwin license. Please consult the file "CYGWIN_LICENSE" for
-details. */
-#ifdef __OUTSIDE_CYGWIN__
-#include "woutsup.h"
-#define _KERNEL 1
-#define __BSD_VISIBLE 1
-#include <sys/smallprint.h>
-#include <stdio.h>
-#include <stdlib.h>
-
-long log_level = 8; /* Illegal value. Don't change! */
-tun_bool_t log_debug = TUN_UNDEF;
-tun_bool_t log_syslog = TUN_UNDEF;
-tun_bool_t log_stderr = TUN_UNDEF;
-
-void
-loginit (tun_bool_t opt_stderr, tun_bool_t opt_syslog)
-{
- if (log_debug == TUN_UNDEF)
- TUNABLE_BOOL_FETCH ("kern.log.debug", &log_debug);
- if (log_debug == TUN_UNDEF)
- log_debug = TUN_FALSE;
-
- if (opt_stderr != TUN_UNDEF)
- log_stderr = opt_stderr;
- else
- TUNABLE_BOOL_FETCH ("kern.log.stderr", &log_stderr);
- if (log_stderr == TUN_UNDEF)
- log_stderr = TUN_FALSE;
-
- if (opt_syslog != TUN_UNDEF)
- log_syslog = opt_syslog;
- else
- TUNABLE_BOOL_FETCH ("kern.log.syslog", &log_syslog);
- if (log_syslog == TUN_UNDEF)
- log_syslog = TUN_FALSE;
-
- if (log_level == 8)
- TUNABLE_INT_FETCH ("kern.log.level", &log_level);
- if (log_level == 8)
- log_level = 6;
-}
-
-void
-_vlog (const char *file, int line, int level,
- const char *fmt, va_list ap)
-{
- char buf[16384];
-
- if ((level == LOG_DEBUG && log_debug != TUN_TRUE)
- || (level != LOG_DEBUG && level >= log_level))
- return;
- strcpy (buf, "cygserver: ");
- if (file && log_debug == TUN_TRUE)
- __small_sprintf (strchr (buf, '\0'), "%s, line %d: ", file, line);
- __small_vsprintf (strchr (buf, '\0'), fmt, ap);
- if (log_syslog == TUN_TRUE && level != LOG_DEBUG)
- syslog (level, buf);
- if (log_stderr == TUN_TRUE || level == LOG_DEBUG)
- {
- fputs (buf, stderr);
- fputc ('\n', stderr);
- }
-}
-
-void
-_log (const char *file, int line, int level, const char *fmt, ...)
-{
- va_list ap;
- va_start (ap, fmt);
- _vlog (file, line, level, fmt, ap);
-}
-
-void
-_vpanic (const char *file, int line, const char *fmt, va_list ap)
-{
- _vlog (file, line, LOG_CRIT, fmt, ap);
- exit (1);
-}
-
-void
-_panic (const char *file, int line, const char *fmt, ...)
-{
- va_list ap;
- va_start (ap, fmt);
- _vpanic (file, line, fmt, ap);
-}
-#endif /* __OUTSIDE_CYGWIN__ */
diff --git a/winsup/cygserver/bsd_log.h b/winsup/cygserver/bsd_log.h
deleted file mode 100644
index 48573182a..000000000
--- a/winsup/cygserver/bsd_log.h
+++ /dev/null
@@ -1,33 +0,0 @@
-/* bsd_log.h: Helps integrating BSD kernel code
-
- Copyright 2003 Red Hat, Inc.
-
-This file is part of Cygwin.
-
-This software is a copyrighted work licensed under the terms of the
-Cygwin license. Please consult the file "CYGWIN_LICENSE" for
-details. */
-#ifndef _BSD_LOG_H
-#define _BSD_LOG_H
-
-#include <sys/types.h>
-#include <sys/syslog.h>
-
-extern long log_level;
-extern tun_bool_t log_debug;
-extern tun_bool_t log_syslog;
-extern tun_bool_t log_stderr;
-
-void loginit (tun_bool_t, tun_bool_t);
-void _vlog (const char *, int, int, const char *, va_list);
-void _log (const char *, int, int, const char *, ...);
-void _vpanic (const char *, int, const char *, va_list) __attribute__ ((noreturn));
-void _panic (const char *, int, const char *, ...) __attribute__ ((noreturn));
-#define vlog(l,f,a) _vlog(NULL,0,(l),(f),(a))
-#define log(l,f,...) _log(NULL,0,(l),(f),##__VA_ARGS__)
-#define vdebug(f,a) _vlog(__FILE__,__LINE__,LOG_DEBUG,(f),(a))
-#define debug(f,...) _log(__FILE__,__LINE__,LOG_DEBUG,(f),##__VA_ARGS__)
-#define vpanic(f,a) _vpanic(__FILE__,__LINE__,(f),(a))
-#define panic(f,...) _panic(__FILE__,__LINE__,(f),##__VA_ARGS__)
-
-#endif /* _BSD_LOG_H */
diff --git a/winsup/cygserver/bsd_mutex.cc b/winsup/cygserver/bsd_mutex.cc
deleted file mode 100644
index bbd7fd280..000000000
--- a/winsup/cygserver/bsd_mutex.cc
+++ /dev/null
@@ -1,387 +0,0 @@
-/* bsd_mutex.cc
-
- Copyright 2003, 2004, 2005 Red Hat Inc.
-
-This file is part of Cygwin.
-
-This software is a copyrighted work licensed under the terms of the
-Cygwin license. Please consult the file "CYGWIN_LICENSE" for
-details. */
-#ifdef __OUTSIDE_CYGWIN__
-#include "woutsup.h"
-#include <errno.h>
-#define _KERNEL 1
-#define __BSD_VISIBLE 1
-#include <sys/smallprint.h>
-#include <limits.h>
-#include <stdlib.h>
-#include <sys/msg.h>
-#include <sys/sem.h>
-
-#include "process.h"
-#include "cygserver_ipc.h"
-
-/* A BSD kernel global mutex. */
-struct mtx Giant;
-
-void
-mtx_init (mtx *m, const char *name, const void *, int)
-{
- m->name = name;
- m->owner = 0;
- m->cnt = 0;
- /* Can't use Windows Mutexes here since Windows Mutexes are only
- unlockable by the lock owner. */
- m->h = CreateSemaphore (NULL, 1, 1, NULL);
- if (!m->h)
- panic ("couldn't allocate %s mutex, %E\n", name);
-}
-
-void
-_mtx_lock (mtx *m, DWORD winpid, const char *file, int line)
-{
- _log (file, line, LOG_DEBUG, "Try locking mutex %s (%u) (hold: %u)",
- m->name, winpid, m->owner);
- if (WaitForSingleObject (m->h, INFINITE) != WAIT_OBJECT_0)
- _panic (file, line, "wait for %s in %d failed, %E", m->name, winpid);
- m->owner = winpid;
- _log (file, line, LOG_DEBUG, "Locked mutex %s/%u (%u)",
- m->name, ++m->cnt, winpid);
-}
-
-int
-mtx_owned (mtx *m, DWORD winpid)
-{
- return m->owner == winpid;
-}
-
-void
-_mtx_assert (mtx *m, int what, DWORD winpid, const char *file, int line)
-{
- switch (what)
- {
- case MA_OWNED:
- if (!mtx_owned (m, winpid))
- _panic (file, line, "Mutex %s not owned", m->name);
- break;
- case MA_NOTOWNED:
- if (mtx_owned (m, winpid))
- _panic (file, line, "Mutex %s is owned", m->name);
- break;
- default:
- break;
- }
-}
-
-void
-_mtx_unlock (mtx *m, const char *file, int line)
-{
- DWORD owner = m->owner;
- unsigned long cnt = m->cnt;
- m->owner = 0;
- /* Cautiously check if mtx_destroy has been called (shutdown).
- In that case, m->h is NULL. */
- if (m->h && !ReleaseSemaphore (m->h, 1, NULL))
- {
- /* Check if the semaphore was already on it's max value. In this case,
- ReleaseSemaphore returns FALSE with an error code which *sic* depends
- on the OS. */
- if ( (!wincap.is_winnt () && GetLastError () != ERROR_INVALID_PARAMETER)
- || (wincap.is_winnt () && GetLastError () != ERROR_TOO_MANY_POSTS))
- _panic (file, line, "release of mutex %s failed, %E", m->name);
- }
- _log (file, line, LOG_DEBUG, "Unlocked mutex %s/%u (owner: %u)",
- m->name, cnt, owner);
-}
-
-void
-mtx_destroy (mtx *m)
-{
- HANDLE tmp = m->h;
- m->h = NULL;
- if (tmp)
- CloseHandle (tmp);
-}
-
-/*
- * Helper functions for msleep/wakeup.
- */
-
-static int
-win_priority (int priority)
-{
- int p = (int)((priority) & PRIO_MASK) - PZERO;
- /* Generating a valid priority value is a bit tricky. The only valid
- values on 9x and NT4 are -15, -2, -1, 0, 1, 2, 15. */
- switch (p)
- {
- case -15: case -14: case -13: case -12: case -11:
- return THREAD_PRIORITY_IDLE;
- case -10: case -9: case -8: case -7: case -6:
- return THREAD_PRIORITY_LOWEST;
- case -5: case -4: case -3: case -2: case -1:
- return THREAD_PRIORITY_BELOW_NORMAL;
- case 0:
- return THREAD_PRIORITY_NORMAL;
- case 1: case 2: case 3: case 4: case 5:
- return THREAD_PRIORITY_ABOVE_NORMAL;
- case 6: case 7: case 8: case 9: case 10:
- return THREAD_PRIORITY_HIGHEST;
- case 11: case 12: case 13: case 14: case 15:
- return THREAD_PRIORITY_TIME_CRITICAL;
- }
- return THREAD_PRIORITY_NORMAL;
-}
-
-/*
- * Sets the thread priority, returns the old priority.
- */
-static int
-set_priority (int priority)
-{
- int old_prio = GetThreadPriority (GetCurrentThread ());
- if (!SetThreadPriority (GetCurrentThread (), win_priority (priority)))
- log (LOG_WARNING,
- "Warning: Setting thread priority to %d failed with error %lu\n",
- win_priority (priority), GetLastError ());
- return old_prio;
-}
-
-/*
- * Original description from BSD code:
- *
- * General sleep call. Suspends the current process until a wakeup is
- * performed on the specified identifier. The process will then be made
- * runnable with the specified priority. Sleeps at most timo/hz seconds
- * (0 means no timeout). If pri includes PCATCH flag, signals are checked
- * before and after sleeping, else signals are not checked. Returns 0 if
- * awakened, EWOULDBLOCK if the timeout expires. If PCATCH is set and a
- * signal needs to be delivered, ERESTART is returned if the current system
- * call should be restarted if possible, and EINTR is returned if the system
- * call should be interrupted by the signal (return EINTR).
- *
- * The mutex argument is exited before the caller is suspended, and
- * entered before msleep returns. If priority includes the PDROP
- * flag the mutex is not entered before returning.
- */
-static HANDLE msleep_glob_evt;
-
-class msleep_sync_array
-{
- enum msleep_action {
- MSLEEP_ENTER = 0,
- MSLEEP_LEAVE,
- MSLEEP_WAKEUP
- };
-
- CRITICAL_SECTION cs;
- long cnt;
- long max_cnt;
- struct msleep_record {
- void *ident;
- HANDLE wakeup_evt;
- LONG threads;
- } *a;
-
- int find_ident (void *ident, msleep_action action)
- {
- int i;
- for (i = 0; i < cnt; ++i)
- if (a[i].ident == ident)
- return i;
- if (i >= max_cnt)
- panic ("ident %x not found and run out of slots.", ident);
- if (i >= cnt && action == MSLEEP_LEAVE)
- panic ("ident %x not found (%d).", ident, action);
- return i;
- }
-
- HANDLE first_entry (int i, void *ident)
- {
- debug ("New ident %x, index %d", ident, i);
- a[i].ident = ident;
- a[i].wakeup_evt = CreateEvent (NULL, TRUE, FALSE, NULL);
- if (!a[i].wakeup_evt)
- panic ("CreateEvent failed: %E");
- debug ("i = %d, CreateEvent: %x", i, a[i].wakeup_evt);
- a[i].threads = 1;
- ++cnt;
- return a[i].wakeup_evt;
- }
-
- HANDLE next_entry (int i)
- {
- if (a[i].ident && WaitForSingleObject (a[i].wakeup_evt, 0) != WAIT_OBJECT_0)
- {
- ++a[i].threads;
- return a[i].wakeup_evt;
- }
- return NULL;
- }
-
-public:
-
- msleep_sync_array (int count) : cnt (0), max_cnt (count)
- {
- InitializeCriticalSection (&cs);
- if (!(a = new msleep_record[count]))
- panic ("Allocating msleep records failed: %d", errno);
- }
-
- HANDLE enter (void *ident)
- {
- HANDLE evt = NULL;
- while (!evt)
- {
- EnterCriticalSection (&cs);
- int i = find_ident (ident, MSLEEP_ENTER);
- if (i >= cnt)
- evt = first_entry (i, ident);
- else if (!(evt = next_entry (i)))
- {
- /* wakeup has been called, so sleep to wait until all
- formerly waiting threads have left and retry. */
- LeaveCriticalSection (&cs);
- Sleep (1L);
- }
- }
- LeaveCriticalSection (&cs);
- return evt;
- }
-
- void leave (void *ident)
- {
- EnterCriticalSection (&cs);
- int i = find_ident (ident, MSLEEP_LEAVE);
- if (--a[i].threads == 0)
- {
- debug ("i = %d, CloseEvent: %x", i, a[i].wakeup_evt);
- CloseHandle (a[i].wakeup_evt);
- a[i].ident = NULL;
- --cnt;
- if (i < cnt)
- a[i] = a[cnt];
- }
- LeaveCriticalSection (&cs);
- }
-
- void wakeup (void *ident)
- {
- EnterCriticalSection (&cs);
- int i = find_ident (ident, MSLEEP_WAKEUP);
- if (i < cnt && a[i].ident)
- SetEvent (a[i].wakeup_evt);
- LeaveCriticalSection (&cs);
- }
-};
-
-static msleep_sync_array *msleep_sync;
-
-void
-msleep_init (void)
-{
- extern struct msginfo msginfo;
- extern struct seminfo seminfo;
-
- msleep_glob_evt = CreateEvent (NULL, TRUE, FALSE, NULL);
- if (!msleep_glob_evt)
- panic ("CreateEvent in msleep_init failed: %E");
- long msgmni = support_msgqueues ? msginfo.msgmni : 0;
- long semmni = support_semaphores ? seminfo.semmni : 0;
- TUNABLE_INT_FETCH ("kern.ipc.msgmni", &msgmni);
- TUNABLE_INT_FETCH ("kern.ipc.semmni", &semmni);
- debug ("Try allocating msgmni (%d) + semmni (%d) msleep records",
- msgmni, semmni);
- msleep_sync = new msleep_sync_array (msgmni + semmni);
- if (!msleep_sync)
- panic ("Allocating msleep records in msleep_init failed: %d", errno);
-}
-
-int
-_msleep (void *ident, struct mtx *mtx, int priority,
- const char *wmesg, int timo, struct thread *td)
-{
- int ret = -1;
-
- HANDLE evt = msleep_sync->enter (ident);
-
- if (mtx)
- mtx_unlock (mtx);
- int old_priority = set_priority (priority);
- HANDLE obj[4] =
- {
- evt,
- msleep_glob_evt,
- td->client->handle (),
- td->client->signal_arrived ()
- };
- /* PCATCH handling. If PCATCH is given and signal_arrived is a valid
- handle, then it's used in the WaitFor call and EINTR is returned. */
- int obj_cnt = 3;
- if ((priority & PCATCH)
- && td->client->signal_arrived () != INVALID_HANDLE_VALUE)
- obj_cnt = 4;
- switch (WaitForMultipleObjects (obj_cnt, obj, FALSE, timo ?: INFINITE))
- {
- case WAIT_OBJECT_0: /* wakeup() has been called. */
- ret = 0;
- debug ("msleep wakeup called for %d", td->td_proc->winpid);
- break;
- case WAIT_OBJECT_0 + 1: /* Shutdown event (triggered by wakeup_all). */
- priority |= PDROP;
- /*FALLTHRU*/
- case WAIT_OBJECT_0 + 2: /* The dependent process has exited. */
- debug ("msleep process exit or shutdown for %d", td->td_proc->winpid);
- ret = EIDRM;
- break;
- case WAIT_OBJECT_0 + 3: /* Signal for calling process arrived. */
- debug ("msleep process got signal for %d", td->td_proc->winpid);
- ret = EINTR;
- break;
- case WAIT_TIMEOUT:
- ret = EWOULDBLOCK;
- break;
- default:
- /* There's a chance that a process has been terminated before
- WaitForMultipleObjects has been called. In this case the handles
- might be invalid. The error code returned is ERROR_INVALID_HANDLE.
- Since we can trust the values of these handles otherwise, we
- treat an ERROR_INVALID_HANDLE as a normal process termination and
- hope for the best. */
- if (GetLastError () != ERROR_INVALID_HANDLE)
- panic ("wait in msleep (%s) failed, %E", wmesg);
- debug ("wait in msleep (%s) failed for %d, %E", wmesg,
- td->td_proc->winpid);
- ret = EIDRM;
- break;
- }
-
- msleep_sync->leave (ident);
-
- set_priority (old_priority);
-
- if (mtx && !(priority & PDROP))
- mtx_lock (mtx);
- return ret;
-}
-
-/*
- * Make all threads sleeping on the specified identifier runnable.
- */
-int
-wakeup (void *ident)
-{
- msleep_sync->wakeup (ident);
- return 0;
-}
-
-/*
- * Wakeup all sleeping threads. Only called in the context of cygserver
- * shutdown.
- */
-void
-wakeup_all (void)
-{
- SetEvent (msleep_glob_evt);
-}
-#endif /* __OUTSIDE_CYGWIN__ */
diff --git a/winsup/cygserver/bsd_mutex.h b/winsup/cygserver/bsd_mutex.h
deleted file mode 100644
index c9f501576..000000000
--- a/winsup/cygserver/bsd_mutex.h
+++ /dev/null
@@ -1,52 +0,0 @@
-/* bsd_mutex.h: BSD Mutex helper
-
- Copyright 2003, 2005 Red Hat, Inc.
-
-This file is part of Cygwin.
-
-This software is a copyrighted work licensed under the terms of the
-Cygwin license. Please consult the file "CYGWIN_LICENSE" for
-details. */
-#ifndef _BSD_MUTEX_H
-#define _BSD_MUTEX_H
-
-#define MTX_DEF 0
-
-#define MA_OWNED 1
-#define MA_NOTOWNED 2
-
-#define PZERO (0x20)
-#define PRIO_MASK (0x1f)
-#define PDROP 0x1000
-#define PCATCH 0x2000
-#define PLOCK 0x3000
-
-struct mtx {
- HANDLE h;
- const char *name;
- DWORD owner;
- unsigned long cnt;
-};
-
-/* Some BSD kernel global mutex. */
-extern struct mtx Giant;
-
-void mtx_init (mtx *, const char *, const void *, int);
-void _mtx_lock (mtx *, DWORD winpid, const char *, int);
-#define mtx_lock(m) _mtx_lock((m), (td->ipcblk->winpid), __FILE__, __LINE__)
-int mtx_owned (mtx *, DWORD);
-void _mtx_assert(mtx *, int, DWORD winpid, const char *, int);
-#define mtx_assert(m,w,p) _mtx_assert((m),(w),(p),__FILE__,__LINE__)
-void _mtx_unlock (mtx *, const char *, int);
-#define mtx_unlock(m) _mtx_unlock((m),__FILE__,__LINE__)
-
-void mtx_destroy (mtx *);
-
-void msleep_init (void);
-int _msleep (void *, struct mtx *, int, const char *, int, struct thread *);
-#define msleep(i,m,p,w,t) _msleep((i),(m),(p),(w),(t),(td))
-#define tsleep(i,p,w,t) _msleep((i),NULL,(p),(w),(t),(td))
-int wakeup (void *);
-void wakeup_all (void);
-
-#endif /* _BSD_MUTEX_H */
diff --git a/winsup/cygserver/client.cc b/winsup/cygserver/client.cc
deleted file mode 100644
index 953e5a166..000000000
--- a/winsup/cygserver/client.cc
+++ /dev/null
@@ -1,543 +0,0 @@
-/* client.cc
-
- Copyright 2001, 2002, 2003, 2004 Red Hat Inc.
-
- Written by Egor Duda <deo@logos-m.ru>
-
-This file is part of Cygwin.
-
-This software is a copyrighted work licensed under the terms of the
-Cygwin license. Please consult the file "CYGWIN_LICENSE" for
-details. */
-
-/* to allow this to link into cygwin and the .dll, a little magic is needed. */
-#ifdef __OUTSIDE_CYGWIN__
-#include "woutsup.h"
-#else
-#include "winsup.h"
-#endif
-
-#include <assert.h>
-#include <errno.h>
-#include <stdio.h>
-#include <unistd.h>
-
-#include "sigproc.h"
-
-#include "cygserver_msg.h"
-#include "cygserver_sem.h"
-#include "cygserver_shm.h"
-
-#include "cygserver.h"
-#include "transport.h"
-
-int cygserver_running = CYGSERVER_UNKNOWN; // Nb: inherited by children.
-
-bool allow_server = false; // Nb: inherited by children.
-
-client_request_get_version::client_request_get_version ()
- : client_request (CYGSERVER_REQUEST_GET_VERSION, &version, sizeof (version))
-{
- msglen (0); // No parameters for request.
-
- // verbose: syscall_printf ("created");
-}
-
-/*
- * client_request_get_version::check_version ()
- *
- * The major version and API version numbers must match exactly. An
- * older than expected minor version number is accepted (as long as
- * the first numbers match, that is).
- */
-
-#ifdef __INSIDE_CYGWIN__
-
-bool
-client_request_get_version::check_version () const
-{
- const bool ok = (version.major == CYGWIN_SERVER_VERSION_MAJOR
- && version.api == CYGWIN_SERVER_VERSION_API
- && version.minor <= CYGWIN_SERVER_VERSION_MINOR);
-
- if (!ok)
- syscall_printf (("incompatible version of cygwin server: "
- "client version %d.%d.%d.%d, "
- "server version %ld.%ld.%ld.%ld"),
- CYGWIN_SERVER_VERSION_MAJOR,
- CYGWIN_SERVER_VERSION_API,
- CYGWIN_SERVER_VERSION_MINOR,
- CYGWIN_SERVER_VERSION_PATCH,
- version.major,
- version.api,
- version.minor,
- version.patch);
-
- return ok;
-}
-
-client_request_attach_tty::client_request_attach_tty (DWORD nmaster_pid,
- HANDLE nfrom_master,
- HANDLE nto_master)
- : client_request (CYGSERVER_REQUEST_ATTACH_TTY, &req, sizeof (req))
-{
- req.pid = GetCurrentProcessId ();
- req.master_pid = nmaster_pid;
- req.from_master = nfrom_master;
- req.to_master = nto_master;
-
- syscall_printf (("created: pid = %lu, master_pid = %lu, "
- "from_master = %lu, to_master = %lu"),
- req.pid, req.master_pid, req.from_master, req.to_master);
-}
-#endif /* __INSIDE_CYGWIN__ */
-
-/*
- * client_request_attach_tty::send ()
- *
- * Wraps the base method to provide error handling support. If the
- * reply contains a body but is flagged as an error, close any handles
- * that have been returned by cygserver and then discard the message
- * body, i.e. the client either sees a successful result with handles
- * or an unsuccessful result with no handles.
- */
-
-void
-client_request_attach_tty::send (transport_layer_base * const conn)
-{
- client_request::send (conn);
-
- if (msglen () && error_code ())
- {
- if (from_master ())
- CloseHandle (from_master ());
- if (to_master ())
- CloseHandle (to_master ());
- msglen (0);
- }
-}
-
-client_request::header_t::header_t (const request_code_t request_code,
- const size_t msglen)
- : msglen (msglen),
- request_code (request_code)
-{
- assert (request_code >= 0 && request_code < CYGSERVER_REQUEST_LAST);
-}
-
-// FIXME: also check write and read result for -1.
-
-void
-client_request::send (transport_layer_base * const conn)
-{
- assert (conn);
- assert (!(msglen () && !_buf)); // i.e., msglen () implies _buf
- assert (msglen () <= _buflen);
-
- {
- const ssize_t count = conn->write (&_header, sizeof (_header));
-
- if (count != sizeof (_header))
- {
- assert (errno);
- error_code (errno);
- syscall_printf (("request header write failure: "
- "only %ld bytes sent of %ld, "
- "error = %d(%lu)"),
- count, sizeof (_header),
- errno, GetLastError ());
- return;
- }
- }
-
- if (msglen ())
- {
- const ssize_t count = conn->write (_buf, msglen ());
-
- if (count == -1 || (size_t) count != msglen ())
- {
- assert (errno);
- error_code (errno);
- syscall_printf (("request body write failure: "
- "only %ld bytes sent of %ld, "
- "error = %d(%lu)"),
- count, msglen (),
- errno, GetLastError ());
- return;
- }
- }
-
- // verbose: syscall_printf ("request sent (%ld + %ld bytes)",
- // sizeof (_header), msglen ());
-
- {
- const ssize_t count = conn->read (&_header, sizeof (_header));
-
- if (count != sizeof (_header))
- {
- assert (errno);
- error_code (errno);
- syscall_printf (("reply header read failure: "
- "only %ld bytes received of %ld, "
- "error = %d(%lu)"),
- count, sizeof (_header),
- errno, GetLastError ());
- return;
- }
- }
-
- if (msglen () && !_buf)
- {
- system_printf ("no client buffer for reply body: %ld bytes needed",
- msglen ());
- error_code (EINVAL);
- return;
- }
-
- if (msglen () > _buflen)
- {
- system_printf (("client buffer too small for reply body: "
- "have %ld bytes and need %ld"),
- _buflen, msglen ());
- error_code (EINVAL);
- return;
- }
-
- if (msglen ())
- {
- const ssize_t count = conn->read (_buf, msglen ());
-
- if (count == -1 || (size_t) count != msglen ())
- {
- assert (errno);
- error_code (errno);
- syscall_printf (("reply body read failure: "
- "only %ld bytes received of %ld, "
- "error = %d(%lu)"),
- count, msglen (),
- errno, GetLastError ());
- return;
- }
- }
-
- // verbose: syscall_printf ("reply received (%ld + %ld bytes)",
- // sizeof (_header), msglen ());
-}
-
-#ifdef __OUTSIDE_CYGWIN__
-
-client_request_attach_tty::client_request_attach_tty ()
- : client_request (CYGSERVER_REQUEST_ATTACH_TTY, &req, sizeof (req))
-{
-}
-
-/*
- * client_request::handle_request ()
- *
- * A server-side method.
- *
- * This is a factory method for the client_request subclasses. It
- * reads the incoming request header and, based on its request code,
- * creates an instance of the appropriate class.
- *
- * FIXME: If the incoming packet is malformed, the server drops it on
- * the floor. Should it try and generate some sort of reply for the
- * client? As it is, the client will simply get a broken connection.
- *
- * FIXME: also check write and read result for -1.
- */
-
-/* static */ void
-client_request::handle_request (transport_layer_base *const conn,
- process_cache *const cache)
-{
- // verbose: debug_printf ("about to read");
-
- header_t header;
-
- {
- const ssize_t count = conn->read (&header, sizeof (header));
-
- if (count != sizeof (header))
- {
- syscall_printf (("request header read failure: "
- "only %ld bytes received of %ld, "
- "error = %d(%lu)"),
- count, sizeof (header),
- errno, GetLastError ());
- return;
- }
-
- // verbose: debug_printf ("got header (%ld)", count);
- }
-
- client_request *req = NULL;
-
- switch (header.request_code)
- {
- case CYGSERVER_REQUEST_GET_VERSION:
- req = new client_request_get_version;
- break;
- case CYGSERVER_REQUEST_SHUTDOWN:
- req = new client_request_shutdown;
- break;
- case CYGSERVER_REQUEST_ATTACH_TTY:
- req = new client_request_attach_tty;
- break;
- case CYGSERVER_REQUEST_MSG:
- req = new client_request_msg;
- break;
- case CYGSERVER_REQUEST_SEM:
- req = new client_request_sem;
- break;
- case CYGSERVER_REQUEST_SHM:
- req = new client_request_shm;
- break;
- default:
- syscall_printf ("unknown request code %d received: request ignored",
- header.request_code);
- return;
- }
-
- assert (req);
-
- req->msglen (header.msglen);
- req->handle (conn, cache);
-
- delete req;
-}
-
-/*
- * client_request::handle ()
- *
- * A server-side method.
- *
- * At this point, the header of an incoming request has been read and
- * an appropriate client_request object constructed. This method has
- * to read the request body into its buffer, if there is such a body,
- * then perform the request and send back the results to the client.
- *
- * FIXME: If the incoming packet is malformed, the server drops it on
- * the floor. Should it try and generate some sort of reply for the
- * client? As it is, the client will simply get a broken connection.
- *
- * FIXME: also check write and read result for -1.
- */
-
-void
-client_request::handle (transport_layer_base *const conn,
- process_cache *const cache)
-{
- if (msglen () && !_buf)
- {
- system_printf ("no buffer for request body: %ld bytes needed",
- msglen ());
- error_code (EINVAL);
- return;
- }
-
- if (msglen () > _buflen)
- {
- system_printf (("buffer too small for request body: "
- "have %ld bytes and need %ld"),
- _buflen, msglen ());
- error_code (EINVAL);
- return;
- }
-
- if (msglen ())
- {
- const ssize_t count = conn->read (_buf, msglen ());
-
- if (count == -1 || (size_t) count != msglen ())
- {
- assert (errno);
- error_code (errno);
- syscall_printf (("request body read failure: "
- "only %ld bytes received of %ld, "
- "error = %d(%lu)"),
- count, msglen (),
- errno, GetLastError ());
- return;
- }
- }
-
- // verbose: syscall_printf ("request received (%ld + %ld bytes)",
- // sizeof (_header), msglen ());
-
- error_code (0); // Overwrites the _header.request_code field.
-
- /*
- * This is not allowed to fail. We must return ENOSYS at a minimum
- * to the client.
- */
- serve (conn, cache);
-
- {
- const ssize_t count = conn->write (&_header, sizeof (_header));
-
- if (count != sizeof (_header))
- {
- assert (errno);
- error_code (errno);
- syscall_printf (("reply header write failure: "
- "only %ld bytes sent of %ld, "
- "error = %d(%lu)"),
- count, sizeof (_header),
- errno, GetLastError ());
- return;
- }
- }
-
- if (msglen ())
- {
- const ssize_t count = conn->write (_buf, msglen ());
-
- if (count == -1 || (size_t) count != msglen ())
- {
- assert (errno);
- error_code (errno);
- syscall_printf (("reply body write failure: "
- "only %ld bytes sent of %ld, "
- "error = %d(%lu)"),
- count, msglen (),
- errno, GetLastError ());
- return;
- }
- }
-
- // verbose: syscall_printf ("reply sent (%ld + %ld bytes)",
- // sizeof (_header), msglen ());
-}
-
-/* The server side implementation of make_request. Very simple. */
-int
-client_request::make_request ()
-{
- transport_layer_base *const transport = create_server_transport ();
- assert (transport);
- if (transport->connect () == -1)
- {
- if (errno)
- error_code (errno);
- else
- error_code (ENOSYS);
- delete transport;
- return -1;
- }
- send (transport);
- delete transport;
- return 0;
-}
-#endif /* __OUTSIDE_CYGWIN__ */
-
-client_request::client_request (request_code_t const id,
- void * const buf,
- size_t const buflen)
- : _header (id, buflen),
- _buf (buf),
- _buflen (buflen)
-{
- assert ((!_buf && !_buflen) || (_buf && _buflen));
-}
-
-client_request::~client_request ()
-{}
-
-#ifdef __INSIDE_CYGWIN__
-int
-client_request::make_request ()
-{
- assert (cygserver_running == CYGSERVER_UNKNOWN \
- || cygserver_running == CYGSERVER_OK \
- || cygserver_running == CYGSERVER_UNAVAIL);
-
- if (cygserver_running == CYGSERVER_UNKNOWN)
- cygserver_init ();
-
- assert (cygserver_running == CYGSERVER_OK \
- || cygserver_running == CYGSERVER_UNAVAIL);
-
- /* Don't retry every request if the server's not there */
- if (cygserver_running == CYGSERVER_UNAVAIL)
- {
- syscall_printf ("cygserver un-available");
- error_code (ENOSYS);
- return -1;
- }
-
- transport_layer_base *const transport = create_server_transport ();
-
- assert (transport);
-
- if (transport->connect () == -1)
- {
- if (errno)
- error_code (errno);
- else
- error_code (ENOSYS);
- delete transport;
- return -1;
- }
-
- // verbose: debug_printf ("connected to server %p", transport);
-
- send (transport);
-
- delete transport;
-
- return 0;
-}
-
-bool
-check_cygserver_available ()
-{
- assert (cygserver_running == CYGSERVER_UNKNOWN \
- || cygserver_running == CYGSERVER_UNAVAIL);
-
- cygserver_running = CYGSERVER_OK; // For make_request ().
-
- client_request_get_version req;
-
- /* This indicates that we failed to connect to cygserver at all but
- * that's fine as cygwin doesn't need it to be running.
- */
- if (req.make_request () == -1)
- return false;
-
- /* We connected to the server but something went wrong after that
- * (in sending the message, in cygserver itself, or in receiving the
- * reply).
- */
- if (req.error_code ())
- {
- syscall_printf ("failure in cygserver version request: %d",
- req.error_code ());
- syscall_printf ("process will continue without cygserver support");
- return false;
- }
-
- return req.check_version ();
-}
-
-void
-cygserver_init ()
-{
- if (!allow_server)
- {
- syscall_printf ("cygserver use disabled in client");
- cygserver_running = CYGSERVER_UNAVAIL;
- return;
- }
-
- assert (cygserver_running == CYGSERVER_UNKNOWN \
- || cygserver_running == CYGSERVER_OK \
- || cygserver_running == CYGSERVER_UNAVAIL);
-
- if (cygserver_running == CYGSERVER_OK)
- return;
-
- if (!check_cygserver_available ())
- cygserver_running = CYGSERVER_UNAVAIL;
-}
-#endif /* __INSIDE_CYGWIN__ */
diff --git a/winsup/cygserver/configure b/winsup/cygserver/configure
deleted file mode 100755
index 6eb065e99..000000000
--- a/winsup/cygserver/configure
+++ /dev/null
@@ -1,2163 +0,0 @@
-#! /bin/sh
-
-# Guess values for system-dependent variables and create Makefiles.
-# Generated automatically using autoconf version 2.13
-# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
-#
-# This configure script is free software; the Free Software Foundation
-# gives unlimited permission to copy, distribute and modify it.
-
-# Defaults:
-ac_help=
-ac_default_prefix=/usr/local
-# Any additions from configure.in:
-ac_help="$ac_help
- --enable-debugging Build a cygwin DLL which has more consistency checking for debugging"
-
-# Initialize some variables set by options.
-# The variables have the same names as the options, with
-# dashes changed to underlines.
-build=NONE
-cache_file=./config.cache
-exec_prefix=NONE
-host=NONE
-no_create=
-nonopt=NONE
-no_recursion=
-prefix=NONE
-program_prefix=NONE
-program_suffix=NONE
-program_transform_name=s,x,x,
-silent=
-site=
-srcdir=
-target=NONE
-verbose=
-x_includes=NONE
-x_libraries=NONE
-bindir='${exec_prefix}/bin'
-sbindir='${exec_prefix}/sbin'
-libexecdir='${exec_prefix}/libexec'
-datadir='${prefix}/share'
-sysconfdir='${prefix}/etc'
-sharedstatedir='${prefix}/com'
-localstatedir='${prefix}/var'
-libdir='${exec_prefix}/lib'
-includedir='${prefix}/include'
-oldincludedir='/usr/include'
-infodir='${prefix}/info'
-mandir='${prefix}/man'
-
-# Initialize some other variables.
-subdirs=
-MFLAGS= MAKEFLAGS=
-SHELL=${CONFIG_SHELL-/bin/sh}
-# Maximum number of lines to put in a shell here document.
-ac_max_here_lines=12
-
-ac_prev=
-for ac_option
-do
-
- # If the previous option needs an argument, assign it.
- if test -n "$ac_prev"; then
- eval "$ac_prev=\$ac_option"
- ac_prev=
- continue
- fi
-
- case "$ac_option" in
- -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
- *) ac_optarg= ;;
- esac
-
- # Accept the important Cygnus configure options, so we can diagnose typos.
-
- case "$ac_option" in
-
- -bindir | --bindir | --bindi | --bind | --bin | --bi)
- ac_prev=bindir ;;
- -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
- bindir="$ac_optarg" ;;
-
- -build | --build | --buil | --bui | --bu)
- ac_prev=build ;;
- -build=* | --build=* | --buil=* | --bui=* | --bu=*)
- build="$ac_optarg" ;;
-
- -cache-file | --cache-file | --cache-fil | --cache-fi \
- | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
- ac_prev=cache_file ;;
- -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
- | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
- cache_file="$ac_optarg" ;;
-
- -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
- ac_prev=datadir ;;
- -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
- | --da=*)
- datadir="$ac_optarg" ;;
-
- -disable-* | --disable-*)
- ac_feature=`echo $ac_option|sed -e 's/-*disable-//'`
- # Reject names that are not valid shell variable names.
- if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then
- { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
- fi
- ac_feature=`echo $ac_feature| sed 's/-/_/g'`
- eval "enable_${ac_feature}=no" ;;
-
- -enable-* | --enable-*)
- ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'`
- # Reject names that are not valid shell variable names.
- if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then
- { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
- fi
- ac_feature=`echo $ac_feature| sed 's/-/_/g'`
- case "$ac_option" in
- *=*) ;;
- *) ac_optarg=yes ;;
- esac
- eval "enable_${ac_feature}='$ac_optarg'" ;;
-
- -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
- | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
- | --exec | --exe | --ex)
- ac_prev=exec_prefix ;;
- -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
- | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
- | --exec=* | --exe=* | --ex=*)
- exec_prefix="$ac_optarg" ;;
-
- -gas | --gas | --ga | --g)
- # Obsolete; use --with-gas.
- with_gas=yes ;;
-
- -help | --help | --hel | --he)
- # Omit some internal or obsolete options to make the list less imposing.
- # This message is too long to be a string in the A/UX 3.1 sh.
- cat << EOF
-Usage: configure [options] [host]
-Options: [defaults in brackets after descriptions]
-Configuration:
- --cache-file=FILE cache test results in FILE
- --help print this message
- --no-create do not create output files
- --quiet, --silent do not print \`checking...' messages
- --version print the version of autoconf that created configure
-Directory and file names:
- --prefix=PREFIX install architecture-independent files in PREFIX
- [$ac_default_prefix]
- --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
- [same as prefix]
- --bindir=DIR user executables in DIR [EPREFIX/bin]
- --sbindir=DIR system admin executables in DIR [EPREFIX/sbin]
- --libexecdir=DIR program executables in DIR [EPREFIX/libexec]
- --datadir=DIR read-only architecture-independent data in DIR
- [PREFIX/share]
- --sysconfdir=DIR read-only single-machine data in DIR [PREFIX/etc]
- --sharedstatedir=DIR modifiable architecture-independent data in DIR
- [PREFIX/com]
- --localstatedir=DIR modifiable single-machine data in DIR [PREFIX/var]
- --libdir=DIR object code libraries in DIR [EPREFIX/lib]
- --includedir=DIR C header files in DIR [PREFIX/include]
- --oldincludedir=DIR C header files for non-gcc in DIR [/usr/include]
- --infodir=DIR info documentation in DIR [PREFIX/info]
- --mandir=DIR man documentation in DIR [PREFIX/man]
- --srcdir=DIR find the sources in DIR [configure dir or ..]
- --program-prefix=PREFIX prepend PREFIX to installed program names
- --program-suffix=SUFFIX append SUFFIX to installed program names
- --program-transform-name=PROGRAM
- run sed PROGRAM on installed program names
-EOF
- cat << EOF
-Host type:
- --build=BUILD configure for building on BUILD [BUILD=HOST]
- --host=HOST configure for HOST [guessed]
- --target=TARGET configure for TARGET [TARGET=HOST]
-Features and packages:
- --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
- --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
- --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
- --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
- --x-includes=DIR X include files are in DIR
- --x-libraries=DIR X library files are in DIR
-EOF
- if test -n "$ac_help"; then
- echo "--enable and --with options recognized:$ac_help"
- fi
- exit 0 ;;
-
- -host | --host | --hos | --ho)
- ac_prev=host ;;
- -host=* | --host=* | --hos=* | --ho=*)
- host="$ac_optarg" ;;
-
- -includedir | --includedir | --includedi | --included | --include \
- | --includ | --inclu | --incl | --inc)
- ac_prev=includedir ;;
- -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
- | --includ=* | --inclu=* | --incl=* | --inc=*)
- includedir="$ac_optarg" ;;
-
- -infodir | --infodir | --infodi | --infod | --info | --inf)
- ac_prev=infodir ;;
- -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
- infodir="$ac_optarg" ;;
-
- -libdir | --libdir | --libdi | --libd)
- ac_prev=libdir ;;
- -libdir=* | --libdir=* | --libdi=* | --libd=*)
- libdir="$ac_optarg" ;;
-
- -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
- | --libexe | --libex | --libe)
- ac_prev=libexecdir ;;
- -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
- | --libexe=* | --libex=* | --libe=*)
- libexecdir="$ac_optarg" ;;
-
- -localstatedir | --localstatedir | --localstatedi | --localstated \
- | --localstate | --localstat | --localsta | --localst \
- | --locals | --local | --loca | --loc | --lo)
- ac_prev=localstatedir ;;
- -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
- | --localstate=* | --localstat=* | --localsta=* | --localst=* \
- | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
- localstatedir="$ac_optarg" ;;
-
- -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
- ac_prev=mandir ;;
- -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
- mandir="$ac_optarg" ;;
-
- -nfp | --nfp | --nf)
- # Obsolete; use --without-fp.
- with_fp=no ;;
-
- -no-create | --no-create | --no-creat | --no-crea | --no-cre \
- | --no-cr | --no-c)
- no_create=yes ;;
-
- -no-recursion | --no-recursion | --no-recursio | --no-recursi \
- | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
- no_recursion=yes ;;
-
- -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
- | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
- | --oldin | --oldi | --old | --ol | --o)
- ac_prev=oldincludedir ;;
- -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
- | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
- | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
- oldincludedir="$ac_optarg" ;;
-
- -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
- ac_prev=prefix ;;
- -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
- prefix="$ac_optarg" ;;
-
- -program-prefix | --program-prefix | --program-prefi | --program-pref \
- | --program-pre | --program-pr | --program-p)
- ac_prev=program_prefix ;;
- -program-prefix=* | --program-prefix=* | --program-prefi=* \
- | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
- program_prefix="$ac_optarg" ;;
-
- -program-suffix | --program-suffix | --program-suffi | --program-suff \
- | --program-suf | --program-su | --program-s)
- ac_prev=program_suffix ;;
- -program-suffix=* | --program-suffix=* | --program-suffi=* \
- | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
- program_suffix="$ac_optarg" ;;
-
- -program-transform-name | --program-transform-name \
- | --program-transform-nam | --program-transform-na \
- | --program-transform-n | --program-transform- \
- | --program-transform | --program-transfor \
- | --program-transfo | --program-transf \
- | --program-trans | --program-tran \
- | --progr-tra | --program-tr | --program-t)
- ac_prev=program_transform_name ;;
- -program-transform-name=* | --program-transform-name=* \
- | --program-transform-nam=* | --program-transform-na=* \
- | --program-transform-n=* | --program-transform-=* \
- | --program-transform=* | --program-transfor=* \
- | --program-transfo=* | --program-transf=* \
- | --program-trans=* | --program-tran=* \
- | --progr-tra=* | --program-tr=* | --program-t=*)
- program_transform_name="$ac_optarg" ;;
-
- -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- | -silent | --silent | --silen | --sile | --sil)
- silent=yes ;;
-
- -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
- ac_prev=sbindir ;;
- -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
- | --sbi=* | --sb=*)
- sbindir="$ac_optarg" ;;
-
- -sharedstatedir | --sharedstatedir | --sharedstatedi \
- | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
- | --sharedst | --shareds | --shared | --share | --shar \
- | --sha | --sh)
- ac_prev=sharedstatedir ;;
- -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
- | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
- | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
- | --sha=* | --sh=*)
- sharedstatedir="$ac_optarg" ;;
-
- -site | --site | --sit)
- ac_prev=site ;;
- -site=* | --site=* | --sit=*)
- site="$ac_optarg" ;;
-
- -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
- ac_prev=srcdir ;;
- -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
- srcdir="$ac_optarg" ;;
-
- -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
- | --syscon | --sysco | --sysc | --sys | --sy)
- ac_prev=sysconfdir ;;
- -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
- | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
- sysconfdir="$ac_optarg" ;;
-
- -target | --target | --targe | --targ | --tar | --ta | --t)
- ac_prev=target ;;
- -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
- target="$ac_optarg" ;;
-
- -v | -verbose | --verbose | --verbos | --verbo | --verb)
- verbose=yes ;;
-
- -version | --version | --versio | --versi | --vers)
- echo "configure generated by autoconf version 2.13"
- exit 0 ;;
-
- -with-* | --with-*)
- ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'`
- # Reject names that are not valid shell variable names.
- if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then
- { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
- fi
- ac_package=`echo $ac_package| sed 's/-/_/g'`
- case "$ac_option" in
- *=*) ;;
- *) ac_optarg=yes ;;
- esac
- eval "with_${ac_package}='$ac_optarg'" ;;
-
- -without-* | --without-*)
- ac_package=`echo $ac_option|sed -e 's/-*without-//'`
- # Reject names that are not valid shell variable names.
- if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then
- { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
- fi
- ac_package=`echo $ac_package| sed 's/-/_/g'`
- eval "with_${ac_package}=no" ;;
-
- --x)
- # Obsolete; use --with-x.
- with_x=yes ;;
-
- -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
- | --x-incl | --x-inc | --x-in | --x-i)
- ac_prev=x_includes ;;
- -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
- | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
- x_includes="$ac_optarg" ;;
-
- -x-libraries | --x-libraries | --x-librarie | --x-librari \
- | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
- ac_prev=x_libraries ;;
- -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
- | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
- x_libraries="$ac_optarg" ;;
-
- -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; }
- ;;
-
- *)
- if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then
- echo "configure: warning: $ac_option: invalid host type" 1>&2
- fi
- if test "x$nonopt" != xNONE; then
- { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; }
- fi
- nonopt="$ac_option"
- ;;
-
- esac
-done
-
-if test -n "$ac_prev"; then
- { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; }
-fi
-
-trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
-
-# File descriptor usage:
-# 0 standard input
-# 1 file creation
-# 2 errors and warnings
-# 3 some systems may open it to /dev/tty
-# 4 used on the Kubota Titan
-# 6 checking for... messages and results
-# 5 compiler messages saved in config.log
-if test "$silent" = yes; then
- exec 6>/dev/null
-else
- exec 6>&1
-fi
-exec 5>./config.log
-
-echo "\
-This file contains any messages produced by compilers while
-running configure, to aid debugging if configure makes a mistake.
-" 1>&5
-
-# Strip out --no-create and --no-recursion so they do not pile up.
-# Also quote any args containing shell metacharacters.
-ac_configure_args=
-for ac_arg
-do
- case "$ac_arg" in
- -no-create | --no-create | --no-creat | --no-crea | --no-cre \
- | --no-cr | --no-c) ;;
- -no-recursion | --no-recursion | --no-recursio | --no-recursi \
- | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;;
- *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*)
- ac_configure_args="$ac_configure_args '$ac_arg'" ;;
- *) ac_configure_args="$ac_configure_args $ac_arg" ;;
- esac
-done
-
-# NLS nuisances.
-# Only set these to C if already set. These must not be set unconditionally
-# because not all systems understand e.g. LANG=C (notably SCO).
-# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'!
-# Non-C LC_CTYPE values break the ctype check.
-if test "${LANG+set}" = set; then LANG=C; export LANG; fi
-if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
-if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi
-if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi
-
-# confdefs.h avoids OS command line length limits that DEFS can exceed.
-rm -rf conftest* confdefs.h
-# AIX cpp loses on an empty file, so make sure it contains at least a newline.
-echo > confdefs.h
-
-# A filename unique to this package, relative to the directory that
-# configure is in, which we can look for to find out if srcdir is correct.
-ac_unique_file=cygserver.cc
-
-# Find the source files, if location was not specified.
-if test -z "$srcdir"; then
- ac_srcdir_defaulted=yes
- # Try the directory containing this script, then its parent.
- ac_prog=$0
- ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'`
- test "x$ac_confdir" = "x$ac_prog" && ac_confdir=.
- srcdir=$ac_confdir
- if test ! -r $srcdir/$ac_unique_file; then
- srcdir=..
- fi
-else
- ac_srcdir_defaulted=no
-fi
-if test ! -r $srcdir/$ac_unique_file; then
- if test "$ac_srcdir_defaulted" = yes; then
- { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; }
- else
- { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; }
- fi
-fi
-srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'`
-
-# Prefer explicitly selected file to automatically selected ones.
-if test -z "$CONFIG_SITE"; then
- if test "x$prefix" != xNONE; then
- CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
- else
- CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
- fi
-fi
-for ac_site_file in $CONFIG_SITE; do
- if test -r "$ac_site_file"; then
- echo "loading site script $ac_site_file"
- . "$ac_site_file"
- fi
-done
-
-if test -r "$cache_file"; then
- echo "loading cache $cache_file"
- . $cache_file
-else
- echo "creating cache $cache_file"
- > $cache_file
-fi
-
-ac_ext=c
-# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
-ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
-cross_compiling=$ac_cv_prog_cc_cross
-
-ac_exeext=
-ac_objext=o
-if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
- # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
- if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
- ac_n= ac_c='
-' ac_t=' '
- else
- ac_n=-n ac_c= ac_t=
- fi
-else
- ac_n= ac_c='\c' ac_t=
-fi
-
-
-
-INSTALL=`cd $srcdir/../..; echo $(pwd)/install-sh -c`
-
-ac_aux_dir=
-for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do
- if test -f $ac_dir/install-sh; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/install-sh -c"
- break
- elif test -f $ac_dir/install.sh; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/install.sh -c"
- break
- fi
-done
-if test -z "$ac_aux_dir"; then
- { echo "configure: error: can not find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." 1>&2; exit 1; }
-fi
-ac_config_guess=$ac_aux_dir/config.guess
-ac_config_sub=$ac_aux_dir/config.sub
-ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
-
-# Find a good install program. We prefer a C program (faster),
-# so one script is as good as another. But avoid the broken or
-# incompatible versions:
-# SysV /etc/install, /usr/sbin/install
-# SunOS /usr/etc/install
-# IRIX /sbin/install
-# AIX /bin/install
-# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
-# AFS /usr/afsws/bin/install, which mishandles nonexistent args
-# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
-# ./install, which can be erroneously created by make from ./install.sh.
-echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
-echo "configure:561: checking for a BSD compatible install" >&5
-if test -z "$INSTALL"; then
-if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":"
- for ac_dir in $PATH; do
- # Account for people who put trailing slashes in PATH elements.
- case "$ac_dir/" in
- /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
- *)
- # OSF1 and SCO ODT 3.0 have their own names for install.
- # Don't use installbsd from OSF since it installs stuff as root
- # by default.
- for ac_prog in ginstall scoinst install; do
- if test -f $ac_dir/$ac_prog; then
- if test $ac_prog = install &&
- grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
- # AIX install. It has an incompatible calling convention.
- :
- else
- ac_cv_path_install="$ac_dir/$ac_prog -c"
- break 2
- fi
- fi
- done
- ;;
- esac
- done
- IFS="$ac_save_IFS"
-
-fi
- if test "${ac_cv_path_install+set}" = set; then
- INSTALL="$ac_cv_path_install"
- else
- # As a last resort, use the slow shell script. We don't cache a
- # path for INSTALL within a source directory, because that will
- # break other packages using the cache if that directory is
- # removed, or if the path is relative.
- INSTALL="$ac_install_sh"
- fi
-fi
-echo "$ac_t""$INSTALL" 1>&6
-
-# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
-# It thinks the first close brace ends the variable substitution.
-test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
-
-test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
-
-test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
-
-
-
-
-
-
-
-
-# Do some error checking and defaulting for the host and target type.
-# The inputs are:
-# configure --host=HOST --target=TARGET --build=BUILD NONOPT
-#
-# The rules are:
-# 1. You are not allowed to specify --host, --target, and nonopt at the
-# same time.
-# 2. Host defaults to nonopt.
-# 3. If nonopt is not specified, then host defaults to the current host,
-# as determined by config.guess.
-# 4. Target and build default to nonopt.
-# 5. If nonopt is not specified, then target and build default to host.
-
-# The aliases save the names the user supplied, while $host etc.
-# will get canonicalized.
-case $host---$target---$nonopt in
-NONE---*---* | *---NONE---* | *---*---NONE) ;;
-*) { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; } ;;
-esac
-
-
-# Make sure we can run config.sub.
-if ${CONFIG_SHELL-/bin/sh} $ac_config_sub sun4 >/dev/null 2>&1; then :
-else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
-fi
-
-echo $ac_n "checking host system type""... $ac_c" 1>&6
-echo "configure:647: checking host system type" >&5
-
-host_alias=$host
-case "$host_alias" in
-NONE)
- case $nonopt in
- NONE)
- if host_alias=`${CONFIG_SHELL-/bin/sh} $ac_config_guess`; then :
- else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; }
- fi ;;
- *) host_alias=$nonopt ;;
- esac ;;
-esac
-
-host=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $host_alias`
-host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
-host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
-host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
-echo "$ac_t""$host" 1>&6
-
-echo $ac_n "checking target system type""... $ac_c" 1>&6
-echo "configure:668: checking target system type" >&5
-
-target_alias=$target
-case "$target_alias" in
-NONE)
- case $nonopt in
- NONE) target_alias=$host_alias ;;
- *) target_alias=$nonopt ;;
- esac ;;
-esac
-
-target=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $target_alias`
-target_cpu=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
-target_vendor=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
-target_os=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
-echo "$ac_t""$target" 1>&6
-
-echo $ac_n "checking build system type""... $ac_c" 1>&6
-echo "configure:686: checking build system type" >&5
-
-build_alias=$build
-case "$build_alias" in
-NONE)
- case $nonopt in
- NONE) build_alias=$host_alias ;;
- *) build_alias=$nonopt ;;
- esac ;;
-esac
-
-build=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $build_alias`
-build_cpu=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
-build_vendor=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
-build_os=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
-echo "$ac_t""$build" 1>&6
-
-test "$host_alias" != "$target_alias" &&
- test "$program_prefix$program_suffix$program_transform_name" = \
- NONENONEs,x,x, &&
- program_prefix=${target_alias}-
-
-
-if test $host != $build; then
- ac_tool_prefix=${host_alias}-
-else
- ac_tool_prefix=
-fi
-
-# Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}gcc; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:718: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
- ac_dummy="$PATH"
- for ac_dir in $ac_dummy; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- ac_cv_prog_CC="${ac_tool_prefix}gcc"
- break
- fi
- done
- IFS="$ac_save_ifs"
-fi
-fi
-CC="$ac_cv_prog_CC"
-if test -n "$CC"; then
- echo "$ac_t""$CC" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
-
-if test -z "$ac_cv_prog_CC"; then
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "gcc", so it can be a program name with args.
-set dummy gcc; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:750: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
- ac_dummy="$PATH"
- for ac_dir in $ac_dummy; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- ac_cv_prog_CC="gcc"
- break
- fi
- done
- IFS="$ac_save_ifs"
- test -z "$ac_cv_prog_CC" && ac_cv_prog_CC="gcc"
-fi
-fi
-CC="$ac_cv_prog_CC"
-if test -n "$CC"; then
- echo "$ac_t""$CC" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
-else
- CC="gcc"
-fi
-fi
-
-if test -z "$CC"; then
- # Extract the first word of "cc", so it can be a program name with args.
-set dummy cc; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:786: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
- ac_prog_rejected=no
- ac_dummy="$PATH"
- for ac_dir in $ac_dummy; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then
- ac_prog_rejected=yes
- continue
- fi
- ac_cv_prog_CC="cc"
- break
- fi
- done
- IFS="$ac_save_ifs"
-if test $ac_prog_rejected = yes; then
- # We found a bogon in the path, so make sure we never use it.
- set dummy $ac_cv_prog_CC
- shift
- if test $# -gt 0; then
- # We chose a different compiler from the bogus one.
- # However, it has the same basename, so the bogon will be chosen
- # first if we set CC to just the basename; use the full file name.
- shift
- set dummy "$ac_dir/$ac_word" "$@"
- shift
- ac_cv_prog_CC="$@"
- fi
-fi
-fi
-fi
-CC="$ac_cv_prog_CC"
-if test -n "$CC"; then
- echo "$ac_t""$CC" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
- test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; }
-fi
-
-echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
-echo "configure:835: checking whether we are using GNU C" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.c <<EOF
-#ifdef __GNUC__
- yes;
-#endif
-EOF
-if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:844: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
- ac_cv_prog_gcc=yes
-else
- ac_cv_prog_gcc=no
-fi
-fi
-
-echo "$ac_t""$ac_cv_prog_gcc" 1>&6
-
-if test $ac_cv_prog_gcc = yes; then
- GCC=yes
- ac_test_CFLAGS="${CFLAGS+set}"
- ac_save_CFLAGS="$CFLAGS"
- CFLAGS=
- echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
-echo "configure:859: checking whether ${CC-cc} accepts -g" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- echo 'void f(){}' > conftest.c
-if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then
- ac_cv_prog_cc_g=yes
-else
- ac_cv_prog_cc_g=no
-fi
-rm -f conftest*
-
-fi
-
-echo "$ac_t""$ac_cv_prog_cc_g" 1>&6
- if test "$ac_test_CFLAGS" = set; then
- CFLAGS="$ac_save_CFLAGS"
- elif test $ac_cv_prog_cc_g = yes; then
- CFLAGS="-gstabs+ -O2"
- else
- CFLAGS="-O2"
- fi
-else
- GCC=
- test "${CFLAGS+set}" = set || CFLAGS="-g"
-fi
-
-# Extract the first word of "${ac_tool_prefix}g++", so it can be a program name with args.
-set dummy ${ac_tool_prefix}g++; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:889: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_CXX'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$CXX"; then
- ac_cv_prog_CXX="$CXX" # Let the user override the test.
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
- ac_dummy="$PATH"
- for ac_dir in $ac_dummy; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- ac_cv_prog_CXX="${ac_tool_prefix}g++"
- break
- fi
- done
- IFS="$ac_save_ifs"
-fi
-fi
-CXX="$ac_cv_prog_CXX"
-if test -n "$CXX"; then
- echo "$ac_t""$CXX" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
-
-if test -z "$ac_cv_prog_CXX"; then
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "g++", so it can be a program name with args.
-set dummy g++; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:921: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_CXX'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$CXX"; then
- ac_cv_prog_CXX="$CXX" # Let the user override the test.
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
- ac_dummy="$PATH"
- for ac_dir in $ac_dummy; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- ac_cv_prog_CXX="g++"
- break
- fi
- done
- IFS="$ac_save_ifs"
- test -z "$ac_cv_prog_CXX" && ac_cv_prog_CXX="g++"
-fi
-fi
-CXX="$ac_cv_prog_CXX"
-if test -n "$CXX"; then
- echo "$ac_t""$CXX" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
-else
- CXX="g++"
-fi
-fi
-
-if test -z "$CXX"; then
- # Extract the first word of "c++", so it can be a program name with args.
-set dummy c++; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:957: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_CXX'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$CXX"; then
- ac_cv_prog_CXX="$CXX" # Let the user override the test.
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
- ac_dummy="$PATH"
- for ac_dir in $ac_dummy; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- ac_cv_prog_CXX="c++"
- break
- fi
- done
- IFS="$ac_save_ifs"
-fi
-fi
-CXX="$ac_cv_prog_CXX"
-if test -n "$CXX"; then
- echo "$ac_t""$CXX" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
- test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; }
-fi
-
-CXXFLAGS='$(CFLAGS)'
-
-
-case "$with_cross_host" in
- ""|*cygwin*)
- all_host="all_host"
- install_host="install_host"
- ;;
- *)
- all_host=
- install_host=
- ;;
-esac
-
-
-
-
-# Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
-set dummy ${ac_tool_prefix}ar; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1006: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$AR"; then
- ac_cv_prog_AR="$AR" # Let the user override the test.
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
- ac_dummy="$PATH"
- for ac_dir in $ac_dummy; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- ac_cv_prog_AR="${ac_tool_prefix}ar"
- break
- fi
- done
- IFS="$ac_save_ifs"
-fi
-fi
-AR="$ac_cv_prog_AR"
-if test -n "$AR"; then
- echo "$ac_t""$AR" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
-
-if test -z "$ac_cv_prog_AR"; then
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "ar", so it can be a program name with args.
-set dummy ar; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1038: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$AR"; then
- ac_cv_prog_AR="$AR" # Let the user override the test.
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
- ac_dummy="$PATH"
- for ac_dir in $ac_dummy; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- ac_cv_prog_AR="ar"
- break
- fi
- done
- IFS="$ac_save_ifs"
- test -z "$ac_cv_prog_AR" && ac_cv_prog_AR="ar"
-fi
-fi
-AR="$ac_cv_prog_AR"
-if test -n "$AR"; then
- echo "$ac_t""$AR" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
-else
- AR="ar"
-fi
-fi
-
-# Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args.
-set dummy ${ac_tool_prefix}as; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1073: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_AS'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$AS"; then
- ac_cv_prog_AS="$AS" # Let the user override the test.
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
- ac_dummy="$PATH"
- for ac_dir in $ac_dummy; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- ac_cv_prog_AS="${ac_tool_prefix}as"
- break
- fi
- done
- IFS="$ac_save_ifs"
-fi
-fi
-AS="$ac_cv_prog_AS"
-if test -n "$AS"; then
- echo "$ac_t""$AS" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
-
-if test -z "$ac_cv_prog_AS"; then
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "as", so it can be a program name with args.
-set dummy as; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1105: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_AS'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$AS"; then
- ac_cv_prog_AS="$AS" # Let the user override the test.
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
- ac_dummy="$PATH"
- for ac_dir in $ac_dummy; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- ac_cv_prog_AS="as"
- break
- fi
- done
- IFS="$ac_save_ifs"
- test -z "$ac_cv_prog_AS" && ac_cv_prog_AS="as"
-fi
-fi
-AS="$ac_cv_prog_AS"
-if test -n "$AS"; then
- echo "$ac_t""$AS" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
-else
- AS="as"
-fi
-fi
-
-# Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
-set dummy ${ac_tool_prefix}ranlib; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1140: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$RANLIB"; then
- ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
- ac_dummy="$PATH"
- for ac_dir in $ac_dummy; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
- break
- fi
- done
- IFS="$ac_save_ifs"
-fi
-fi
-RANLIB="$ac_cv_prog_RANLIB"
-if test -n "$RANLIB"; then
- echo "$ac_t""$RANLIB" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
-
-if test -z "$ac_cv_prog_RANLIB"; then
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "ranlib", so it can be a program name with args.
-set dummy ranlib; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1172: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$RANLIB"; then
- ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
- ac_dummy="$PATH"
- for ac_dir in $ac_dummy; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- ac_cv_prog_RANLIB="ranlib"
- break
- fi
- done
- IFS="$ac_save_ifs"
- test -z "$ac_cv_prog_RANLIB" && ac_cv_prog_RANLIB="ranlib"
-fi
-fi
-RANLIB="$ac_cv_prog_RANLIB"
-if test -n "$RANLIB"; then
- echo "$ac_t""$RANLIB" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
-else
- RANLIB="ranlib"
-fi
-fi
-
-# Extract the first word of "${ac_tool_prefix}ld", so it can be a program name with args.
-set dummy ${ac_tool_prefix}ld; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1207: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_LD'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$LD"; then
- ac_cv_prog_LD="$LD" # Let the user override the test.
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
- ac_dummy="$PATH"
- for ac_dir in $ac_dummy; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- ac_cv_prog_LD="${ac_tool_prefix}ld"
- break
- fi
- done
- IFS="$ac_save_ifs"
-fi
-fi
-LD="$ac_cv_prog_LD"
-if test -n "$LD"; then
- echo "$ac_t""$LD" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
-
-if test -z "$ac_cv_prog_LD"; then
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "ld", so it can be a program name with args.
-set dummy ld; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1239: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_LD'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$LD"; then
- ac_cv_prog_LD="$LD" # Let the user override the test.
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
- ac_dummy="$PATH"
- for ac_dir in $ac_dummy; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- ac_cv_prog_LD="ld"
- break
- fi
- done
- IFS="$ac_save_ifs"
- test -z "$ac_cv_prog_LD" && ac_cv_prog_LD="ld"
-fi
-fi
-LD="$ac_cv_prog_LD"
-if test -n "$LD"; then
- echo "$ac_t""$LD" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
-else
- LD="ld"
-fi
-fi
-
-# Extract the first word of "${ac_tool_prefix}nm", so it can be a program name with args.
-set dummy ${ac_tool_prefix}nm; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1274: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_NM'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$NM"; then
- ac_cv_prog_NM="$NM" # Let the user override the test.
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
- ac_dummy="$PATH"
- for ac_dir in $ac_dummy; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- ac_cv_prog_NM="${ac_tool_prefix}nm"
- break
- fi
- done
- IFS="$ac_save_ifs"
-fi
-fi
-NM="$ac_cv_prog_NM"
-if test -n "$NM"; then
- echo "$ac_t""$NM" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
-
-if test -z "$ac_cv_prog_NM"; then
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "nm", so it can be a program name with args.
-set dummy nm; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1306: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_NM'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$NM"; then
- ac_cv_prog_NM="$NM" # Let the user override the test.
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
- ac_dummy="$PATH"
- for ac_dir in $ac_dummy; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- ac_cv_prog_NM="nm"
- break
- fi
- done
- IFS="$ac_save_ifs"
- test -z "$ac_cv_prog_NM" && ac_cv_prog_NM="nm"
-fi
-fi
-NM="$ac_cv_prog_NM"
-if test -n "$NM"; then
- echo "$ac_t""$NM" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
-else
- NM="nm"
-fi
-fi
-
-# Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args.
-set dummy ${ac_tool_prefix}dlltool; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1341: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_DLLTOOL'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$DLLTOOL"; then
- ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test.
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
- ac_dummy="$PATH"
- for ac_dir in $ac_dummy; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool"
- break
- fi
- done
- IFS="$ac_save_ifs"
-fi
-fi
-DLLTOOL="$ac_cv_prog_DLLTOOL"
-if test -n "$DLLTOOL"; then
- echo "$ac_t""$DLLTOOL" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
-
-if test -z "$ac_cv_prog_DLLTOOL"; then
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "dlltool", so it can be a program name with args.
-set dummy dlltool; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1373: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_DLLTOOL'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$DLLTOOL"; then
- ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test.
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
- ac_dummy="$PATH"
- for ac_dir in $ac_dummy; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- ac_cv_prog_DLLTOOL="dlltool"
- break
- fi
- done
- IFS="$ac_save_ifs"
- test -z "$ac_cv_prog_DLLTOOL" && ac_cv_prog_DLLTOOL="dlltool"
-fi
-fi
-DLLTOOL="$ac_cv_prog_DLLTOOL"
-if test -n "$DLLTOOL"; then
- echo "$ac_t""$DLLTOOL" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
-else
- DLLTOOL="dlltool"
-fi
-fi
-
-# Extract the first word of "${ac_tool_prefix}windres", so it can be a program name with args.
-set dummy ${ac_tool_prefix}windres; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1408: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_WINDRES'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$WINDRES"; then
- ac_cv_prog_WINDRES="$WINDRES" # Let the user override the test.
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
- ac_dummy="$PATH"
- for ac_dir in $ac_dummy; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- ac_cv_prog_WINDRES="${ac_tool_prefix}windres"
- break
- fi
- done
- IFS="$ac_save_ifs"
-fi
-fi
-WINDRES="$ac_cv_prog_WINDRES"
-if test -n "$WINDRES"; then
- echo "$ac_t""$WINDRES" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
-
-if test -z "$ac_cv_prog_WINDRES"; then
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "windres", so it can be a program name with args.
-set dummy windres; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1440: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_WINDRES'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$WINDRES"; then
- ac_cv_prog_WINDRES="$WINDRES" # Let the user override the test.
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
- ac_dummy="$PATH"
- for ac_dir in $ac_dummy; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- ac_cv_prog_WINDRES="windres"
- break
- fi
- done
- IFS="$ac_save_ifs"
- test -z "$ac_cv_prog_WINDRES" && ac_cv_prog_WINDRES="windres"
-fi
-fi
-WINDRES="$ac_cv_prog_WINDRES"
-if test -n "$WINDRES"; then
- echo "$ac_t""$WINDRES" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
-else
- WINDRES="windres"
-fi
-fi
-
-
-echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
-echo "configure:1474: checking how to run the C preprocessor" >&5
-# On Suns, sometimes $CPP names a directory.
-if test -n "$CPP" && test -d "$CPP"; then
- CPP=
-fi
-if test -z "$CPP"; then
-if eval "test \"`echo '$''{'ac_cv_prog_CPP'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- # This must be in double quotes, not single quotes, because CPP may get
- # substituted into the Makefile and "${CC-cc}" will confuse make.
- CPP="${CC-cc} -E"
- # On the NeXT, cc -E runs the code through the compiler's parser,
- # not just through cpp.
- cat > conftest.$ac_ext <<EOF
-#line 1489 "configure"
-#include "confdefs.h"
-#include <assert.h>
-Syntax Error
-EOF
-ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1495: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
-if test -z "$ac_err"; then
- :
-else
- echo "$ac_err" >&5
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- CPP="${CC-cc} -E -traditional-cpp"
- cat > conftest.$ac_ext <<EOF
-#line 1506 "configure"
-#include "confdefs.h"
-#include <assert.h>
-Syntax Error
-EOF
-ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1512: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
-if test -z "$ac_err"; then
- :
-else
- echo "$ac_err" >&5
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- CPP="${CC-cc} -nologo -E"
- cat > conftest.$ac_ext <<EOF
-#line 1523 "configure"
-#include "confdefs.h"
-#include <assert.h>
-Syntax Error
-EOF
-ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1529: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
-if test -z "$ac_err"; then
- :
-else
- echo "$ac_err" >&5
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- CPP=/lib/cpp
-fi
-rm -f conftest*
-fi
-rm -f conftest*
-fi
-rm -f conftest*
- ac_cv_prog_CPP="$CPP"
-fi
- CPP="$ac_cv_prog_CPP"
-else
- ac_cv_prog_CPP="$CPP"
-fi
-echo "$ac_t""$CPP" 1>&6
-
-# The Ultrix 4.2 mips builtin alloca declared by alloca.h only works
-# for constant arguments. Useless!
-echo $ac_n "checking for working alloca.h""... $ac_c" 1>&6
-echo "configure:1556: checking for working alloca.h" >&5
-if eval "test \"`echo '$''{'ac_cv_header_alloca_h'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 1561 "configure"
-#include "confdefs.h"
-#include <alloca.h>
-int main() {
-char *p = alloca(2 * sizeof(int));
-; return 0; }
-EOF
-if { (eval echo configure:1568: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
- rm -rf conftest*
- ac_cv_header_alloca_h=yes
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- ac_cv_header_alloca_h=no
-fi
-rm -f conftest*
-fi
-
-echo "$ac_t""$ac_cv_header_alloca_h" 1>&6
-if test $ac_cv_header_alloca_h = yes; then
- cat >> confdefs.h <<\EOF
-#define HAVE_ALLOCA_H 1
-EOF
-
-fi
-
-echo $ac_n "checking for alloca""... $ac_c" 1>&6
-echo "configure:1589: checking for alloca" >&5
-if eval "test \"`echo '$''{'ac_cv_func_alloca_works'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 1594 "configure"
-#include "confdefs.h"
-
-#ifdef __GNUC__
-# define alloca __builtin_alloca
-#else
-# ifdef _MSC_VER
-# include <malloc.h>
-# define alloca _alloca
-# else
-# if HAVE_ALLOCA_H
-# include <alloca.h>
-# else
-# ifdef _AIX
- #pragma alloca
-# else
-# ifndef alloca /* predefined by HP cc +Olibcalls */
-char *alloca ();
-# endif
-# endif
-# endif
-# endif
-#endif
-
-int main() {
-char *p = (char *) alloca(1);
-; return 0; }
-EOF
-if { (eval echo configure:1622: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
- rm -rf conftest*
- ac_cv_func_alloca_works=yes
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- ac_cv_func_alloca_works=no
-fi
-rm -f conftest*
-fi
-
-echo "$ac_t""$ac_cv_func_alloca_works" 1>&6
-if test $ac_cv_func_alloca_works = yes; then
- cat >> confdefs.h <<\EOF
-#define HAVE_ALLOCA 1
-EOF
-
-fi
-
-if test $ac_cv_func_alloca_works = no; then
- # The SVR3 libPW and SVR4 libucb both contain incompatible functions
- # that cause trouble. Some versions do not even contain alloca or
- # contain a buggy version. If you still want to use their alloca,
- # use ar to extract alloca.o from them instead of compiling alloca.c.
- ALLOCA=alloca.${ac_objext}
- cat >> confdefs.h <<\EOF
-#define C_ALLOCA 1
-EOF
-
-
-echo $ac_n "checking whether alloca needs Cray hooks""... $ac_c" 1>&6
-echo "configure:1654: checking whether alloca needs Cray hooks" >&5
-if eval "test \"`echo '$''{'ac_cv_os_cray'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 1659 "configure"
-#include "confdefs.h"
-#if defined(CRAY) && ! defined(CRAY2)
-webecray
-#else
-wenotbecray
-#endif
-
-EOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- egrep "webecray" >/dev/null 2>&1; then
- rm -rf conftest*
- ac_cv_os_cray=yes
-else
- rm -rf conftest*
- ac_cv_os_cray=no
-fi
-rm -f conftest*
-
-fi
-
-echo "$ac_t""$ac_cv_os_cray" 1>&6
-if test $ac_cv_os_cray = yes; then
-for ac_func in _getb67 GETB67 getb67; do
- echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:1684: checking for $ac_func" >&5
-if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 1689 "configure"
-#include "confdefs.h"
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func(); below. */
-#include <assert.h>
-/* Override any gcc2 internal prototype to avoid an error. */
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func();
-
-int main() {
-
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-$ac_func();
-#endif
-
-; return 0; }
-EOF
-if { (eval echo configure:1712: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
- rm -rf conftest*
- eval "ac_cv_func_$ac_func=yes"
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- eval "ac_cv_func_$ac_func=no"
-fi
-rm -f conftest*
-fi
-
-if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
- echo "$ac_t""yes" 1>&6
- cat >> confdefs.h <<EOF
-#define CRAY_STACKSEG_END $ac_func
-EOF
-
- break
-else
- echo "$ac_t""no" 1>&6
-fi
-
-done
-fi
-
-echo $ac_n "checking stack direction for C alloca""... $ac_c" 1>&6
-echo "configure:1739: checking stack direction for C alloca" >&5
-if eval "test \"`echo '$''{'ac_cv_c_stack_direction'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test "$cross_compiling" = yes; then
- ac_cv_c_stack_direction=0
-else
- cat > conftest.$ac_ext <<EOF
-#line 1747 "configure"
-#include "confdefs.h"
-find_stack_direction ()
-{
- static char *addr = 0;
- auto char dummy;
- if (addr == 0)
- {
- addr = &dummy;
- return find_stack_direction ();
- }
- else
- return (&dummy > addr) ? 1 : -1;
-}
-main ()
-{
- exit (find_stack_direction() < 0);
-}
-EOF
-if { (eval echo configure:1766: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
-then
- ac_cv_c_stack_direction=1
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -fr conftest*
- ac_cv_c_stack_direction=-1
-fi
-rm -fr conftest*
-fi
-
-fi
-
-echo "$ac_t""$ac_cv_c_stack_direction" 1>&6
-cat >> confdefs.h <<EOF
-#define STACK_DIRECTION $ac_cv_c_stack_direction
-EOF
-
-fi
-
-echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
-echo "configure:1788: checking whether ${MAKE-make} sets \${MAKE}" >&5
-set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`
-if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftestmake <<\EOF
-all:
- @echo 'ac_maketemp="${MAKE}"'
-EOF
-# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
-eval `${MAKE-make} -f conftestmake 2>/dev/null | grep temp=`
-if test -n "$ac_maketemp"; then
- eval ac_cv_prog_make_${ac_make}_set=yes
-else
- eval ac_cv_prog_make_${ac_make}_set=no
-fi
-rm -f conftestmake
-fi
-if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
- echo "$ac_t""yes" 1>&6
- SET_MAKE=
-else
- echo "$ac_t""no" 1>&6
- SET_MAKE="MAKE=${MAKE-make}"
-fi
-
-
-# Test for builtin mem* functions.
-
-ac_ext=C
-# CXXFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='${CXX-g++} -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
-ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
-cross_compiling=$ac_cv_prog_cxx_cross
-
-cat > conftest.$ac_ext <<EOF
-#line 1825 "configure"
-#include "confdefs.h"
-
-#include <string.h>
-void foo(char *s, int c, size_t n)
-{
- __builtin_memset(s, c, n);
-}
-
-int main() {
-
-; return 0; }
-EOF
-if { (eval echo configure:1838: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
- rm -rf conftest*
- use_builtin_memset=yes
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- use_builtin_memset=no
-fi
-rm -f conftest*
-if test $use_builtin_memset = "yes"; then
- cat >> confdefs.h <<\EOF
-#define HAVE_BUILTIN_MEMSET 1
-EOF
-
-fi
-ac_ext=c
-# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
-ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
-cross_compiling=$ac_cv_prog_cc_cross
-
-
-# Check whether --enable-debugging or --disable-debugging was given.
-if test "${enable_debugging+set}" = set; then
- enableval="$enable_debugging"
- case "${enableval}" in
-yes) cat >> confdefs.h <<\EOF
-#define DEBUGGING 1
-EOF
- ;;
-no) ;;
-esac
-
-fi
-
-
-trap '' 1 2 15
-cat > confcache <<\EOF
-# This file is a shell script that caches the results of configure
-# tests run on this system so they can be shared between configure
-# scripts and configure runs. It is not useful on other systems.
-# If it contains results you don't want to keep, you may remove or edit it.
-#
-# By default, configure uses ./config.cache as the cache file,
-# creating it if it does not exist already. You can give configure
-# the --cache-file=FILE option to use a different cache file; that is
-# what configure does when it calls configure scripts in
-# subdirectories, so they share the cache.
-# Giving --cache-file=/dev/null disables caching, for debugging configure.
-# config.status only pays attention to the cache file if you give it the
-# --recheck option to rerun configure.
-#
-EOF
-# The following way of writing the cache mishandles newlines in values,
-# but we know of no workaround that is simple, portable, and efficient.
-# So, don't put newlines in cache variables' values.
-# Ultrix sh set writes to stderr and can't be redirected directly,
-# and sets the high bit in the cache file unless we assign to the vars.
-(set) 2>&1 |
- case `(ac_space=' '; set | grep ac_space) 2>&1` in
- *ac_space=\ *)
- # `set' does not quote correctly, so add quotes (double-quote substitution
- # turns \\\\ into \\, and sed turns \\ into \).
- sed -n \
- -e "s/'/'\\\\''/g" \
- -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p"
- ;;
- *)
- # `set' quotes correctly as required by POSIX, so do not add quotes.
- sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p'
- ;;
- esac >> confcache
-if cmp -s $cache_file confcache; then
- :
-else
- if test -w $cache_file; then
- echo "updating cache $cache_file"
- cat confcache > $cache_file
- else
- echo "not updating unwritable cache $cache_file"
- fi
-fi
-rm -f confcache
-
-trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
-
-test "x$prefix" = xNONE && prefix=$ac_default_prefix
-# Let make expand exec_prefix.
-test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
-
-# Any assignment to VPATH causes Sun make to only execute
-# the first set of double-colon rules, so remove it if not needed.
-# If there is a colon in the path, we need to keep it.
-if test "x$srcdir" = x.; then
- ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d'
-fi
-
-trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15
-
-# Transform confdefs.h into DEFS.
-# Protect against shell expansion while executing Makefile rules.
-# Protect against Makefile macro expansion.
-cat > conftest.defs <<\EOF
-s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%-D\1=\2%g
-s%[ `~#$^&*(){}\\|;'"<>?]%\\&%g
-s%\[%\\&%g
-s%\]%\\&%g
-s%\$%$$%g
-EOF
-DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '`
-rm -f conftest.defs
-
-
-# Without the "./", some shells look in PATH for config.status.
-: ${CONFIG_STATUS=./config.status}
-
-echo creating $CONFIG_STATUS
-rm -f $CONFIG_STATUS
-cat > $CONFIG_STATUS <<EOF
-#! /bin/sh
-# Generated automatically by configure.
-# Run this file to recreate the current configuration.
-# This directory was configured as follows,
-# on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
-#
-# $0 $ac_configure_args
-#
-# Compiler output produced by configure, useful for debugging
-# configure, is in ./config.log if it exists.
-
-ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]"
-for ac_option
-do
- case "\$ac_option" in
- -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
- echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
- exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
- -version | --version | --versio | --versi | --vers | --ver | --ve | --v)
- echo "$CONFIG_STATUS generated by autoconf version 2.13"
- exit 0 ;;
- -help | --help | --hel | --he | --h)
- echo "\$ac_cs_usage"; exit 0 ;;
- *) echo "\$ac_cs_usage"; exit 1 ;;
- esac
-done
-
-ac_given_srcdir=$srcdir
-ac_given_INSTALL="$INSTALL"
-
-trap 'rm -fr `echo "Makefile" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
-EOF
-cat >> $CONFIG_STATUS <<EOF
-
-# Protect against being on the right side of a sed subst in config.status.
-sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&%]/\\\\&/g;
- s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF
-$ac_vpsub
-$extrasub
-s%@SHELL@%$SHELL%g
-s%@CFLAGS@%$CFLAGS%g
-s%@CPPFLAGS@%$CPPFLAGS%g
-s%@CXXFLAGS@%$CXXFLAGS%g
-s%@FFLAGS@%$FFLAGS%g
-s%@DEFS@%$DEFS%g
-s%@LDFLAGS@%$LDFLAGS%g
-s%@LIBS@%$LIBS%g
-s%@exec_prefix@%$exec_prefix%g
-s%@prefix@%$prefix%g
-s%@program_transform_name@%$program_transform_name%g
-s%@bindir@%$bindir%g
-s%@sbindir@%$sbindir%g
-s%@libexecdir@%$libexecdir%g
-s%@datadir@%$datadir%g
-s%@sysconfdir@%$sysconfdir%g
-s%@sharedstatedir@%$sharedstatedir%g
-s%@localstatedir@%$localstatedir%g
-s%@libdir@%$libdir%g
-s%@includedir@%$includedir%g
-s%@oldincludedir@%$oldincludedir%g
-s%@infodir@%$infodir%g
-s%@mandir@%$mandir%g
-s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g
-s%@INSTALL_SCRIPT@%$INSTALL_SCRIPT%g
-s%@INSTALL_DATA@%$INSTALL_DATA%g
-s%@host@%$host%g
-s%@host_alias@%$host_alias%g
-s%@host_cpu@%$host_cpu%g
-s%@host_vendor@%$host_vendor%g
-s%@host_os@%$host_os%g
-s%@target@%$target%g
-s%@target_alias@%$target_alias%g
-s%@target_cpu@%$target_cpu%g
-s%@target_vendor@%$target_vendor%g
-s%@target_os@%$target_os%g
-s%@build@%$build%g
-s%@build_alias@%$build_alias%g
-s%@build_cpu@%$build_cpu%g
-s%@build_vendor@%$build_vendor%g
-s%@build_os@%$build_os%g
-s%@CC@%$CC%g
-s%@CXX@%$CXX%g
-s%@all_host@%$all_host%g
-s%@install_host@%$install_host%g
-s%@AR@%$AR%g
-s%@AS@%$AS%g
-s%@RANLIB@%$RANLIB%g
-s%@LD@%$LD%g
-s%@NM@%$NM%g
-s%@DLLTOOL@%$DLLTOOL%g
-s%@WINDRES@%$WINDRES%g
-s%@CPP@%$CPP%g
-s%@ALLOCA@%$ALLOCA%g
-s%@SET_MAKE@%$SET_MAKE%g
-
-CEOF
-EOF
-
-cat >> $CONFIG_STATUS <<\EOF
-
-# Split the substitutions into bite-sized pieces for seds with
-# small command number limits, like on Digital OSF/1 and HP-UX.
-ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script.
-ac_file=1 # Number of current file.
-ac_beg=1 # First line for current file.
-ac_end=$ac_max_sed_cmds # Line after last line for current file.
-ac_more_lines=:
-ac_sed_cmds=""
-while $ac_more_lines; do
- if test $ac_beg -gt 1; then
- sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file
- else
- sed "${ac_end}q" conftest.subs > conftest.s$ac_file
- fi
- if test ! -s conftest.s$ac_file; then
- ac_more_lines=false
- rm -f conftest.s$ac_file
- else
- if test -z "$ac_sed_cmds"; then
- ac_sed_cmds="sed -f conftest.s$ac_file"
- else
- ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file"
- fi
- ac_file=`expr $ac_file + 1`
- ac_beg=$ac_end
- ac_end=`expr $ac_end + $ac_max_sed_cmds`
- fi
-done
-if test -z "$ac_sed_cmds"; then
- ac_sed_cmds=cat
-fi
-EOF
-
-cat >> $CONFIG_STATUS <<EOF
-
-CONFIG_FILES=\${CONFIG_FILES-"Makefile"}
-EOF
-cat >> $CONFIG_STATUS <<\EOF
-for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
- # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
- case "$ac_file" in
- *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
- ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
- *) ac_file_in="${ac_file}.in" ;;
- esac
-
- # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories.
-
- # Remove last slash and all that follows it. Not all systems have dirname.
- ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
- if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
- # The file is in a subdirectory.
- test ! -d "$ac_dir" && mkdir "$ac_dir"
- ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`"
- # A "../" for each directory in $ac_dir_suffix.
- ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'`
- else
- ac_dir_suffix= ac_dots=
- fi
-
- case "$ac_given_srcdir" in
- .) srcdir=.
- if test -z "$ac_dots"; then top_srcdir=.
- else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;;
- /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;;
- *) # Relative path.
- srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix"
- top_srcdir="$ac_dots$ac_given_srcdir" ;;
- esac
-
- case "$ac_given_INSTALL" in
- [/$]*) INSTALL="$ac_given_INSTALL" ;;
- *) INSTALL="$ac_dots$ac_given_INSTALL" ;;
- esac
-
- echo creating "$ac_file"
- rm -f "$ac_file"
- configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure."
- case "$ac_file" in
- *Makefile*) ac_comsub="1i\\
-# $configure_input" ;;
- *) ac_comsub= ;;
- esac
-
- ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
- sed -e "$ac_comsub
-s%@configure_input@%$configure_input%g
-s%@srcdir@%$srcdir%g
-s%@top_srcdir@%$top_srcdir%g
-s%@INSTALL@%$INSTALL%g
-" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file
-fi; done
-rm -f conftest.s*
-
-EOF
-cat >> $CONFIG_STATUS <<EOF
-
-EOF
-cat >> $CONFIG_STATUS <<\EOF
-
-exit 0
-EOF
-chmod +x $CONFIG_STATUS
-rm -fr confdefs* $ac_clean_files
-test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1
-
diff --git a/winsup/cygserver/configure.in b/winsup/cygserver/configure.in
deleted file mode 100644
index 16cbd84bd..000000000
--- a/winsup/cygserver/configure.in
+++ /dev/null
@@ -1,123 +0,0 @@
-dnl Autoconf configure script for Cygwin.
-dnl Copyright 2003 Red Hat, Inc.
-dnl
-dnl This file is part of Cygwin.
-dnl
-dnl This software is a copyrighted work licensed under the terms of the
-dnl Cygwin license. Please consult the file "CYGWIN_LICENSE" for
-dnl details.
-dnl
-dnl Process this file with autoconf to produce a configure script.
-
-AC_PREREQ(2.12)dnl
-AC_INIT(cygserver.cc)
-
-INSTALL=`cd $srcdir/../..; echo $(pwd)/install-sh -c`
-
-AC_PROG_INSTALL
-
-dnl FIXME: We temporarily define our own version of AC_PROG_CC. This is
-dnl copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
-dnl are probably using a cross compiler, which will not be able to fully
-dnl link an executable. This should really be fixed in autoconf
-dnl itself.
-
-AC_DEFUN(LIB_AC_PROG_CC,
-[AC_BEFORE([$0], [AC_PROG_CPP])dnl
-AC_CHECK_TOOL(CC, gcc, gcc)
-if test -z "$CC"; then
- AC_CHECK_PROG(CC, cc, cc, , , /usr/ucb/cc)
- test -z "$CC" && AC_MSG_ERROR([no acceptable cc found in \$PATH])
-fi
-
-AC_PROG_CC_GNU
-
-if test $ac_cv_prog_gcc = yes; then
- GCC=yes
-dnl Check whether -g works, even if CFLAGS is set, in case the package
-dnl plays around with CFLAGS (such as to build both debugging and
-dnl normal versions of a library), tasteless as that idea is.
- ac_test_CFLAGS="${CFLAGS+set}"
- ac_save_CFLAGS="$CFLAGS"
- CFLAGS=
- AC_PROG_CC_G
- if test "$ac_test_CFLAGS" = set; then
- CFLAGS="$ac_save_CFLAGS"
- elif test $ac_cv_prog_cc_g = yes; then
- CFLAGS="-gstabs+ -O2"
- else
- CFLAGS="-O2"
- fi
-else
- GCC=
- test "${CFLAGS+set}" = set || CFLAGS="-g"
-fi
-])
-
-AC_DEFUN(LIB_AC_PROG_CXX,
-[AC_BEFORE([$0], [AC_PROG_CPP])dnl
-AC_CHECK_TOOL(CXX, g++, g++)
-if test -z "$CXX"; then
- AC_CHECK_PROG(CXX, c++, c++, , , )
- test -z "$CC" && AC_MSG_ERROR([no acceptable cc found in \$PATH])
-fi
-
-CXXFLAGS='$(CFLAGS)'
-])
-
-AC_CANONICAL_SYSTEM
-
-LIB_AC_PROG_CC
-LIB_AC_PROG_CXX
-
-case "$with_cross_host" in
- ""|*cygwin*)
- all_host="all_host"
- install_host="install_host"
- ;;
- *)
- all_host=
- install_host=
- ;;
-esac
-
-AC_SUBST(all_host)
-AC_SUBST(install_host)
-
-AC_CHECK_TOOL(AR, ar, ar)
-AC_CHECK_TOOL(AS, as, as)
-AC_CHECK_TOOL(RANLIB, ranlib, ranlib)
-AC_CHECK_TOOL(LD, ld, ld)
-AC_CHECK_TOOL(NM, nm, nm)
-AC_CHECK_TOOL(DLLTOOL, dlltool, dlltool)
-AC_CHECK_TOOL(WINDRES, windres, windres)
-
-AC_ALLOCA
-AC_PROG_MAKE_SET
-
-dnl check whether gcc supports __builtin_memset.
-# Test for builtin mem* functions.
-AC_LANG_SAVE
-AC_LANG_CPLUSPLUS
-AC_TRY_COMPILE([
-#include <string.h>
-void foo(char *s, int c, size_t n)
-{
- __builtin_memset(s, c, n);
-}
-], [ ],
-use_builtin_memset=yes, use_builtin_memset=no)
-if test $use_builtin_memset = "yes"; then
- AC_DEFINE(HAVE_BUILTIN_MEMSET)
-fi
-AC_LANG_RESTORE
-
-AC_ARG_ENABLE(debugging,
-[ --enable-debugging Build a cygwin DLL which has more consistency checking for debugging],
-[case "${enableval}" in
-yes) AC_DEFINE(DEBUGGING) ;;
-no) ;;
-esac
-])
-
-AC_OUTPUT(Makefile)
diff --git a/winsup/cygserver/cygserver-config b/winsup/cygserver/cygserver-config
deleted file mode 100755
index 54440c3e9..000000000
--- a/winsup/cygserver/cygserver-config
+++ /dev/null
@@ -1,209 +0,0 @@
-#!/bin/bash
-#
-# cygserver-config, Copyright 2003 Red Hat Inc.
-#
-# This file is part of the Cygwin DLL.
-
-# Directory where the config files are stored
-SYSCONFDIR=/etc
-LOCALSTATEDIR=/var
-
-progname=$0
-auto_answer=""
-
-request()
-{
- if [ "${auto_answer}" = "yes" ]
- then
- echo "$1 (yes/no) yes"
- return 0
- elif [ "${auto_answer}" = "no" ]
- then
- echo "$1 (yes/no) no"
- return 1
- fi
-
- answer=""
- while [ "X${answer}" != "Xyes" -a "X${answer}" != "Xno" ]
- do
- echo -n "$1 (yes/no) "
- read -e answer
- done
- if [ "X${answer}" = "Xyes" ]
- then
- return 0
- else
- return 1
- fi
-}
-
-# Check options
-
-while :
-do
- case $# in
- 0)
- break
- ;;
- esac
-
- option=$1
- shift
-
- case "${option}" in
- -d | --debug )
- set -x
- ;;
-
- -y | --yes )
- auto_answer=yes
- ;;
-
- -n | --no )
- auto_answer=no
- ;;
-
- *)
- echo "usage: ${progname} [OPTION]..."
- echo
- echo "This script creates an Cygserver service configuration."
- echo
- echo "Options:"
- echo " --debug -d Enable shell's debug output."
- echo " --yes -y Answer all questions with \"yes\" automatically."
- echo " --no -n Answer all questions with \"no\" automatically."
- echo
- exit 1
- ;;
-
- esac
-done
-
-# Check if running on NT
-_sys="`uname`"
-_nt=`expr "${_sys}" : "CYGWIN_NT"`
-
-# Check for running cygserver processes first.
-if ps -ef | grep -v grep | grep -q cygserver
-then
- echo
- echo "There is a cygserver already running. Nothing to do, apparently."
- echo
- exit 1
-fi
-
-# Check for ${SYSCONFDIR} directory
-if [ -e "${SYSCONFDIR}" -a ! -d "${SYSCONFDIR}" ]
-then
- echo
- echo "${SYSCONFDIR} is existant but not a directory."
- echo "Cannot create global configuration file."
- echo
- exit 1
-fi
-
-# Create it if necessary
-if [ ! -e "${SYSCONFDIR}" ]
-then
- mkdir "${SYSCONFDIR}"
- if [ ! -e "${SYSCONFDIR}" ]
- then
- echo
- echo "Creating ${SYSCONFDIR} directory failed"
- echo
- exit 1
- fi
-fi
-
-# Create /var/log if not already existing
-if [ -f ${LOCALSTATEDIR}/log ]
-then
- echo "Creating ${LOCALSTATEDIR}/log failed!"
-else
- if [ ! -d ${LOCALSTATEDIR}/log ]
- then
- mkdir -p ${LOCALSTATEDIR}/log
- fi
-fi
-
-# Check if cygserver.conf exists. If yes, ask for overwriting
-if [ -f "${SYSCONFDIR}/cygserver.conf" ]
-then
- if request "Overwrite existing ${SYSCONFDIR}/cygserver.conf file?"
- then
- rm -f "${SYSCONFDIR}/cygserver.conf"
- if [ -f "${SYSCONFDIR}/cygserver.conf" ]
- then
- echo
- echo "Can't overwrite. ${SYSCONFDIR}/cygserver.conf is write protected."
- echo
- exit 1
- fi
- fi
-fi
-
-# Create default cygserver.conf from skeleton files in /etc/defaults/etc
-if [ ! -f "${SYSCONFDIR}/cygserver.conf" ]
-then
- echo "Generating ${SYSCONFDIR}/cygserver.conf file"
- cp "${SYSCONFDIR}/defaults/etc/cygserver.conf" "${SYSCONFDIR}/cygserver.conf"
- if [ ! -f "${SYSCONFDIR}/cygserver.conf" ]
- then
- echo
- echo "Couldn't create ${SYSCONFDIR}/cygserver.conf."
- echo "Perhaps there's no default file in ${SYSCONFDIR}/defaults/etc?"
- echo "Reinstalling Cygwin might help."
- echo
- exit 1
- fi
- chmod 664 "${SYSCONFDIR}/cygserver.conf"
- chown system.544 "${SYSCONFDIR}/cygserver.conf"
-fi
-
-# On NT ask if cygserver should be installed as service
-if [ ${_nt} -gt 0 ]
-then
- # But only if it is not already installed
- if ! cygrunsrv -Q cygserver > /dev/null 2>&1
- then
- echo
- echo
- echo "Warning: The following function requires administrator privileges!"
- echo
- echo "Do you want to install cygserver as service?"
- if request "(Say \"no\" if it's already installed as service)"
- then
- if ! cygrunsrv -I cygserver -d "CYGWIN cygserver" -p /usr/sbin/cygserver
- then
- echo
- echo "Installation of cygserver as service failed. Please check the"
- echo "error messages you got. They might give a clue why it failed."
- echo
- echo "A good start is either you don't have administrator privileges"
- echo "or a missing cygrunsrv binary. Please check for both."
- echo
- exit 1
- fi
- echo
- echo "The service has been installed under LocalSystem account."
- echo "To start it, call \`net start cygserver' or \`cygrunsrv -S cygserver'."
- fi
- touch "${LOCALSTATEDIR}/log/cygserver.log"
- chown system.544 "${LOCALSTATEDIR}/log/cygserver.log"
- fi
-fi
-
-echo
-echo "Further configuration options are available by editing the configuration"
-echo "file ${SYSCONFDIR}/cygserver.conf. Please read the inline information in that"
-echo "file carefully. The best option for the start is to just leave it alone."
-echo
-echo "Please keep in mind, that a client application which wants to use"
-echo "the services provided by cygserver *must* have the environment variable"
-echo "CYGWIN set so that it contains the word \"server\". So, if you don't"
-echo "need any other special CYGWIN setting, just set it to \"server\"".
-echo
-echo "It is advisable to add this setting to the Windows system environment."
-echo
-echo "Basic Cygserver configuration finished. Have fun!"
-echo
diff --git a/winsup/cygserver/cygserver.cc b/winsup/cygserver/cygserver.cc
deleted file mode 100644
index a73c5ef95..000000000
--- a/winsup/cygserver/cygserver.cc
+++ /dev/null
@@ -1,782 +0,0 @@
-/* cygserver.cc
-
- Copyright 2001, 2002, 2003, 2004, 2005 Red Hat Inc.
-
- Written by Egor Duda <deo@logos-m.ru>
-
-This file is part of Cygwin.
-
-This software is a copyrighted work licensed under the terms of the
-Cygwin license. Please consult the file "CYGWIN_LICENSE" for
-details. */
-
-#ifdef __OUTSIDE_CYGWIN__
-#include "woutsup.h"
-
-#include <sys/types.h>
-
-#include <assert.h>
-#include <errno.h>
-#include <ctype.h>
-#include <getopt.h>
-#include <signal.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <unistd.h>
-
-#include "cygwin_version.h"
-
-#include "cygserver.h"
-#include "process.h"
-#include "transport.h"
-
-#include "cygserver_ipc.h"
-#include "cygserver_msg.h"
-#include "cygserver_sem.h"
-
-#define DEF_CONFIG_FILE "" SYSCONFDIR "/cygserver.conf"
-
-#define SERVER_VERSION "1.20"
-
-GENERIC_MAPPING access_mapping;
-
-static bool
-setup_privileges ()
-{
- BOOL rc, ret_val;
- HANDLE hToken = NULL;
- TOKEN_PRIVILEGES sPrivileges;
-
- rc = OpenProcessToken (GetCurrentProcess () , TOKEN_ALL_ACCESS , &hToken) ;
- if (!rc)
- {
- debug ("error opening process token (%lu)", GetLastError ());
- return false;
- }
- rc = LookupPrivilegeValue (NULL, SE_DEBUG_NAME, &sPrivileges.Privileges[0].Luid);
- if (!rc)
- {
- debug ("error getting privilege luid (%lu)", GetLastError ());
- ret_val = false;
- goto out;
- }
- sPrivileges.PrivilegeCount = 1 ;
- sPrivileges.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED ;
- rc = AdjustTokenPrivileges (hToken, FALSE, &sPrivileges, 0, NULL, NULL) ;
- if (!rc)
- {
- debug ("error adjusting privilege level. (%lu)", GetLastError ());
- ret_val = false;
- goto out;
- }
-
- access_mapping.GenericRead = FILE_READ_DATA;
- access_mapping.GenericWrite = FILE_WRITE_DATA;
- access_mapping.GenericExecute = 0;
- access_mapping.GenericAll = FILE_READ_DATA | FILE_WRITE_DATA;
-
- ret_val = true;
-
-out:
- CloseHandle (hToken);
- return ret_val;
-}
-
-int
-check_and_dup_handle (HANDLE from_process, HANDLE to_process,
- HANDLE from_process_token,
- DWORD access,
- HANDLE from_handle,
- HANDLE *to_handle_ptr, BOOL bInheritHandle = FALSE)
-{
- HANDLE local_handle = NULL;
- int ret_val = EACCES;
-
- if (from_process != GetCurrentProcess ())
- {
- if (!DuplicateHandle (from_process, from_handle,
- GetCurrentProcess (), &local_handle,
- 0, bInheritHandle,
- DUPLICATE_SAME_ACCESS))
- {
- log (LOG_ERR, "error getting handle(%u) to server (%lu)",
- (unsigned int)from_handle, GetLastError ());
- goto out;
- }
- } else
- local_handle = from_handle;
-
- if (!wincap.has_security ())
- assert (!from_process_token);
- else
- {
- char sd_buf [1024];
- PSECURITY_DESCRIPTOR sd = (PSECURITY_DESCRIPTOR) &sd_buf;
- DWORD bytes_needed;
- PRIVILEGE_SET ps;
- DWORD ps_len = sizeof (ps);
- BOOL status;
-
- if (!GetKernelObjectSecurity (local_handle,
- (OWNER_SECURITY_INFORMATION
- | GROUP_SECURITY_INFORMATION
- | DACL_SECURITY_INFORMATION),
- sd, sizeof (sd_buf), &bytes_needed))
- {
- log (LOG_ERR, "error getting handle SD (%lu)", GetLastError ());
- goto out;
- }
-
- MapGenericMask (&access, &access_mapping);
-
- if (!AccessCheck (sd, from_process_token, access, &access_mapping,
- &ps, &ps_len, &access, &status))
- {
- log (LOG_ERR, "error checking access rights (%lu)",
- GetLastError ());
- goto out;
- }
-
- if (!status)
- {
- log (LOG_ERR, "access to object denied");
- goto out;
- }
- }
-
- if (!DuplicateHandle (from_process, from_handle,
- to_process, to_handle_ptr,
- access, bInheritHandle, 0))
- {
- log (LOG_ERR, "error getting handle to client (%lu)", GetLastError ());
- goto out;
- }
-
- debug ("Duplicated %p to %p", from_handle, *to_handle_ptr);
-
- ret_val = 0;
-
- out:
- if (local_handle && from_process != GetCurrentProcess ())
- CloseHandle (local_handle);
-
- return (ret_val);
-}
-
-/*
- * client_request_attach_tty::serve ()
- */
-
-void
-client_request_attach_tty::serve (transport_layer_base *const conn,
- process_cache *)
-{
- assert (conn);
-
- assert (!error_code ());
-
- if (!wincap.has_security ())
- {
- log (LOG_NOTICE, "operation only supported on systems with security");
- error_code (EINVAL);
- msglen (0);
- return;
- }
-
- if (msglen () != sizeof (req))
- {
- log (LOG_ERR, "bad request body length: expecting %lu bytes, got %lu",
- sizeof (req), msglen ());
- error_code (EINVAL);
- msglen (0);
- return;
- }
-
- msglen (0); // Until we fill in some fields.
-
- debug ("pid %ld:(%p,%p) -> pid %ld", req.master_pid, req.from_master,
- req.to_master, req.pid);
-
- debug ("opening process %ld", req.master_pid);
-
- const HANDLE from_process_handle =
- OpenProcess (PROCESS_DUP_HANDLE, FALSE, req.master_pid);
-
- if (!from_process_handle)
- {
- log (LOG_ERR, "error opening `from' process, error = %lu",
- GetLastError ());
- error_code (EACCES);
- return;
- }
-
- debug ("opening process %ld", req.pid);
-
- const HANDLE to_process_handle =
- OpenProcess (PROCESS_DUP_HANDLE, FALSE, req.pid);
-
- if (!to_process_handle)
- {
- log (LOG_ERR, "error opening `to' process, error = %lu",
- GetLastError ());
- CloseHandle (from_process_handle);
- error_code (EACCES);
- return;
- }
-
- debug ("Impersonating client");
- if (!conn->impersonate_client ())
- {
- CloseHandle (from_process_handle);
- CloseHandle (to_process_handle);
- error_code (EACCES);
- return;
- }
-
- HANDLE token_handle = NULL;
-
- debug ("about to open thread token");
- const DWORD rc = OpenThreadToken (GetCurrentThread (),
- TOKEN_QUERY,
- TRUE,
- &token_handle);
-
- debug ("opened thread token, rc=%lu", rc);
- if (!conn->revert_to_self ())
- {
- CloseHandle (from_process_handle);
- CloseHandle (to_process_handle);
- error_code (EACCES);
- return;
- }
-
- if (!rc)
- {
- log (LOG_ERR, "error opening thread token, error = %lu",
- GetLastError ());
- CloseHandle (from_process_handle);
- CloseHandle (to_process_handle);
- error_code (EACCES);
- return;
- }
-
- // From this point on, a reply body is returned to the client.
-
- const HANDLE from_master = req.from_master;
- const HANDLE to_master = req.to_master;
-
- req.from_master = NULL;
- req.to_master = NULL;
-
- msglen (sizeof (req));
-
- if (from_master)
- if (check_and_dup_handle (from_process_handle, to_process_handle,
- token_handle,
- GENERIC_READ,
- from_master,
- &req.from_master, TRUE) != 0)
- {
- log (LOG_ERR, "error duplicating from_master handle, error = %lu",
- GetLastError ());
- error_code (EACCES);
- }
-
- if (to_master)
- if (check_and_dup_handle (from_process_handle, to_process_handle,
- token_handle,
- GENERIC_WRITE,
- to_master,
- &req.to_master, TRUE) != 0)
- {
- log (LOG_ERR, "error duplicating to_master handle, error = %lu",
- GetLastError ());
- error_code (EACCES);
- }
-
- CloseHandle (from_process_handle);
- CloseHandle (to_process_handle);
- CloseHandle (token_handle);
-
- debug ("%lu(%lu, %lu) -> %lu(%lu,%lu)",
- req.master_pid, from_master, to_master,
- req.pid, req.from_master, req.to_master);
-
- return;
-}
-
-void
-client_request_get_version::serve (transport_layer_base *, process_cache *)
-{
- assert (!error_code ());
-
- if (msglen ())
- log (LOG_ERR, "unexpected request body ignored: %lu bytes", msglen ());
-
- msglen (sizeof (version));
-
- version.major = CYGWIN_SERVER_VERSION_MAJOR;
- version.api = CYGWIN_SERVER_VERSION_API;
- version.minor = CYGWIN_SERVER_VERSION_MINOR;
- version.patch = CYGWIN_SERVER_VERSION_PATCH;
-}
-
-class server_request : public queue_request
-{
-public:
- server_request (transport_layer_base *const conn, process_cache *const cache)
- : _conn (conn), _cache (cache)
- {}
-
- virtual ~server_request ()
- {
- delete _conn;
- }
-
- virtual void process ()
- {
- client_request::handle_request (_conn, _cache);
- }
-
-private:
- transport_layer_base *const _conn;
- process_cache *const _cache;
-};
-
-class server_submission_loop : public queue_submission_loop
-{
-public:
- server_submission_loop (threaded_queue *const queue,
- transport_layer_base *const transport,
- process_cache *const cache)
- : queue_submission_loop (queue, false),
- _transport (transport),
- _cache (cache)
- {
- assert (_transport);
- assert (_cache);
- }
-
-private:
- transport_layer_base *const _transport;
- process_cache *const _cache;
-
- virtual void request_loop ();
-};
-
-/* FIXME: this is a little ugly. What we really want is to wait on
- * two objects: one for the pipe/socket, and one for being told to
- * shutdown. Otherwise this will stay a problem (we won't actually
- * shutdown until the request _AFTER_ the shutdown request. And
- * sending ourselves a request is ugly
- */
-void
-server_submission_loop::request_loop ()
-{
- /* I'd like the accepting thread's priority to be above any "normal"
- * thread in the system to avoid overflowing the listen queue (for
- * sockets; similar issues exist for named pipes); but, for example,
- * a normal priority thread in a foregrounded process is boosted to
- * THREAD_PRIORITY_HIGHEST (AFAICT). Thus try to set the current
- * thread's priority to a level one above that. This fails on
- * win9x/ME so assume any failure in that call is due to that and
- * simply call again at one priority level lower.
- */
- if (!SetThreadPriority (GetCurrentThread (), THREAD_PRIORITY_HIGHEST + 1))
- if (!SetThreadPriority (GetCurrentThread (), THREAD_PRIORITY_HIGHEST))
- debug ("failed to raise accept thread priority, error = %lu",
- GetLastError ());
-
- while (_running)
- {
- bool recoverable = false;
- transport_layer_base *const conn = _transport->accept (&recoverable);
- if (!conn && !recoverable)
- {
- log (LOG_ERR, "fatal error on IPC transport: closing down");
- return;
- }
- // EINTR probably implies a shutdown request; so back off for a
- // moment to let the main thread take control, otherwise the
- // server spins here receiving EINTR repeatedly since the signal
- // handler in the main thread doesn't get a chance to be called.
- if (!conn && errno == EINTR)
- {
- if (!SetThreadPriority (GetCurrentThread (), THREAD_PRIORITY_NORMAL))
- debug ("failed to reset thread priority, error = %lu",
- GetLastError ());
-
- Sleep (0);
- if (!SetThreadPriority (GetCurrentThread (),
- THREAD_PRIORITY_HIGHEST + 1))
- if (!SetThreadPriority (GetCurrentThread (),
- THREAD_PRIORITY_HIGHEST))
- debug ("failed to raise thread priority, error = %lu",
- GetLastError ());
- }
- if (conn)
- _queue->add (new server_request (conn, _cache));
- }
-}
-
-client_request_shutdown::client_request_shutdown ()
- : client_request (CYGSERVER_REQUEST_SHUTDOWN)
-{
-}
-
-void
-client_request_shutdown::serve (transport_layer_base *, process_cache *)
-{
- assert (!error_code ());
-
- if (msglen ())
- log (LOG_ERR, "unexpected request body ignored: %lu bytes", msglen ());
-
- /* FIXME: link upwards, and then this becomes a trivial method call to
- * only shutdown _this queue_
- */
-
- kill (getpid (), SIGINT);
-
- msglen (0);
-}
-
-static sig_atomic_t shutdown_server = false;
-
-static void
-handle_signal (const int signum)
-{
- /* any signal makes us die :} */
-
- shutdown_server = true;
-}
-
-/*
- * print_usage ()
- */
-
-static void
-print_usage (const char *const pgm)
-{
- log (LOG_NOTICE, "Usage: %s [OPTIONS]\n"
-"Configuration option:\n"
-" -f, --config-file <file> Use <file> as config file. Default is\n"
-" " DEF_CONFIG_FILE "\n"
-"\n"
-"Performance options:\n"
-" -c, --cleanup-threads <num> Number of cleanup threads to use.\n"
-" -p, --process-cache <num> Size of process cache.\n"
-" -r, --request-threads <num> Number of request threads to use.\n"
-"\n"
-"Logging options:\n"
-" -d, --debug Log debug messages to stderr.\n"
-" -e, --stderr Log to stderr (default if stderr is a tty).\n"
-" -E, --no-stderr Don't log to stderr (see -y, -Y options).\n"
-" -l, --log-level <level> Verbosity of logging (1..7). Default: 6\n"
-" -y, --syslog Log to syslog (default if stderr is no tty).\n"
-" -Y, --no-syslog Don't log to syslog (See -e, -E options).\n"
-"\n"
-"Support options:\n"
-" -m, --no-sharedmem Don't start XSI Shared Memory support.\n"
-" -q, --no-msgqueues Don't start XSI Message Queue support.\n"
-" -s, --no-semaphores Don't start XSI Semaphore support.\n"
-"\n"
-"Miscellaneous:\n"
-" -S, --shutdown Shutdown the daemon.\n"
-" -h, --help Output usage information and exit.\n"
-" -v, --version Output version information and exit."
-, pgm);
-}
-
-/*
- * print_version ()
- */
-
-static void
-print_version ()
-{
- char buf[200];
- snprintf (buf, sizeof (buf), "%d.%d.%d(%d.%d/%d/%d)-(%d.%d.%d.%d) %s",
- cygwin_version.dll_major / 1000,
- cygwin_version.dll_major % 1000,
- cygwin_version.dll_minor,
- cygwin_version.api_major,
- cygwin_version.api_minor,
- cygwin_version.shared_data,
- CYGWIN_SERVER_VERSION_MAJOR,
- CYGWIN_SERVER_VERSION_API,
- CYGWIN_SERVER_VERSION_MINOR,
- CYGWIN_SERVER_VERSION_PATCH,
- cygwin_version.mount_registry,
- cygwin_version.dll_build_date);
-
- log (LOG_INFO, "(cygwin) %s\n"
- "API version %s\n"
- "Copyright 2001, 2002, 2003, 2004, 2005 Red Hat, Inc.\n"
- "Compiled on %s\n"
- "Default configuration file is %s",
- SERVER_VERSION, buf, __DATE__, DEF_CONFIG_FILE);
-}
-
-/*
- * main ()
- */
-
-int
-main (const int argc, char *argv[])
-{
- const struct option longopts[] = {
- {"cleanup-threads", required_argument, NULL, 'c'},
- {"debug", no_argument, NULL, 'd'},
- {"stderr", no_argument, NULL, 'e'},
- {"no-stderr", no_argument, NULL, 'E'},
- {"config-file", required_argument, NULL, 'f'},
- {"help", no_argument, NULL, 'h'},
- {"log-level", required_argument, NULL, 'l'},
- {"no-sharedmem", no_argument, NULL, 'm'},
- {"process-cache", required_argument, NULL, 'p'},
- {"no-msgqueues", no_argument, NULL, 'q'},
- {"request-threads", required_argument, NULL, 'r'},
- {"no-semaphores", no_argument, NULL, 's'},
- {"shutdown", no_argument, NULL, 'S'},
- {"version", no_argument, NULL, 'v'},
- {"syslog", no_argument, NULL, 'y'},
- {"no-syslog", no_argument, NULL, 'Y'},
- {0, no_argument, NULL, 0}
- };
-
- const char opts[] = "c:deEf:hl:mp:qr:sSvyY";
-
- long cleanup_threads = 0;
- long request_threads = 0;
- long process_cache_size = 0;
- bool shutdown = false;
- const char *config_file = DEF_CONFIG_FILE;
- bool force_config_file = false;
- tun_bool_t option_log_stderr = TUN_UNDEF;
- tun_bool_t option_log_syslog = TUN_UNDEF;
-
- char *c = NULL;
-
- /* Check if we have a terminal. If so, default to stderr logging,
- otherwise default to syslog logging. This must be done early
- to allow default logging already in option processing state. */
- openlog ("cygserver", LOG_PID, LOG_KERN);
- if (isatty (2))
- log_stderr = TUN_TRUE;
- else
- log_syslog = TUN_TRUE;
-
- int opt;
-
- wincap.init ();
- securityinit ();
-
- opterr = 0;
- while ((opt = getopt_long (argc, argv, opts, longopts, NULL)) != EOF)
- switch (opt)
- {
- case 'c':
- c = NULL;
- cleanup_threads = strtol (optarg, &c, 10);
- if (cleanup_threads <= 0 || cleanup_threads > 32 || (c && *c))
- panic ("Number of cleanup threads must be between 1 and 32");
- break;
-
- case 'd':
- log_debug = TUN_TRUE;
- break;
-
- case 'e':
- option_log_stderr = TUN_TRUE;
- break;
-
- case 'E':
- option_log_stderr = TUN_FALSE;
- break;
-
- case 'f':
- config_file = optarg;
- force_config_file = true;
- break;
-
- case 'h':
- print_usage (getprogname ());
- return 0;
-
- case 'l':
- c = NULL;
- log_level = strtoul (optarg, &c, 10);
- if (!log_level || log_level > 7 || (c && *c))
- panic ("Log level must be between 1 and 7");
- break;
-
- case 'm':
- support_sharedmem = TUN_FALSE;
- break;
-
- case 'p':
- c = NULL;
- process_cache_size = strtol (optarg, &c, 10);
- if (process_cache_size <= 0 || process_cache_size > 310 || (c && *c))
- panic ("Size of process cache must be between 1 and 310");
- break;
-
- case 'q':
- support_msgqueues = TUN_FALSE;
- break;
-
- case 'r':
- c = NULL;
- request_threads = strtol (optarg, &c, 10);
- if (request_threads <= 0 || request_threads > 310 || (c && *c))
- panic ("Number of request threads must be between 1 and 310");
- break;
-
- case 's':
- support_semaphores = TUN_FALSE;
- break;
-
- case 'S':
- shutdown = true;
- break;
-
- case 'v':
- print_version ();
- return 0;
-
- case 'y':
- option_log_syslog = TUN_TRUE;
- break;
-
- case 'Y':
- option_log_syslog = TUN_FALSE;
- break;
-
- case '?':
- panic ("unknown option -- %c\n"
- "Try `%s --help' for more information.", optopt, getprogname ());
- }
-
- if (optind != argc)
- panic ("Too many arguments");
-
- if (shutdown)
- {
- /* Setting `cygserver_running' stops the request code making a
- * version request, which is not much to the point.
- */
- cygserver_running = CYGSERVER_OK;
-
- client_request_shutdown req;
-
- if (req.make_request () == -1 || req.error_code ())
- panic("Shutdown request failed: %s", strerror (req.error_code ()));
-
- // FIXME: It would be nice to wait here for the daemon to exit.
-
- return 0;
- }
-
- SIGHANDLE (SIGHUP);
- SIGHANDLE (SIGINT);
- SIGHANDLE (SIGTERM);
-
- tunable_param_init (config_file, force_config_file);
-
- loginit (option_log_stderr, option_log_syslog);
-
- log (LOG_INFO, "daemon starting up");
-
- if (!cleanup_threads)
- TUNABLE_INT_FETCH ("kern.srv.cleanup_threads", &cleanup_threads);
- if (!cleanup_threads)
- cleanup_threads = 2;
-
- if (!request_threads)
- TUNABLE_INT_FETCH ("kern.srv.request_threads", &request_threads);
- if (!request_threads)
- request_threads = 10;
-
- if (!process_cache_size)
- TUNABLE_INT_FETCH ("kern.srv.process_cache_size", &process_cache_size);
- if (!process_cache_size)
- process_cache_size = 62;
-
- if (support_sharedmem == TUN_UNDEF)
- TUNABLE_BOOL_FETCH ("kern.srv.sharedmem", &support_sharedmem);
- if (support_sharedmem == TUN_UNDEF)
- support_sharedmem = TUN_TRUE;
-
- if (support_msgqueues == TUN_UNDEF)
- TUNABLE_BOOL_FETCH ("kern.srv.msgqueues", &support_msgqueues);
- if (support_msgqueues == TUN_UNDEF)
- support_msgqueues = TUN_TRUE;
-
- if (support_semaphores == TUN_UNDEF)
- TUNABLE_BOOL_FETCH ("kern.srv.semaphores", &support_semaphores);
- if (support_semaphores == TUN_UNDEF)
- support_semaphores = TUN_TRUE;
-
- if (wincap.has_security () && !setup_privileges ())
- panic ("Setting process privileges failed.");
-
- ipcinit ();
-
- /*XXXXX*/
- threaded_queue request_queue (request_threads);
-
- transport_layer_base *const transport = create_server_transport ();
- assert (transport);
-
- process_cache cache (process_cache_size, cleanup_threads);
-
- server_submission_loop submission_loop (&request_queue, transport, &cache);
-
- request_queue.add_submission_loop (&submission_loop);
-
- if (transport->listen () == -1)
- return 1;
-
- cache.start ();
-
- request_queue.start ();
-
- log (LOG_NOTICE, "Initialization complete. Waiting for requests.");
-
- /* TODO: wait on multiple objects - the thread handle for each
- * request loop + all the process handles. This should be done by
- * querying the request_queue and the process cache for all their
- * handles, and then waiting for (say) 30 seconds. after that we
- * recreate the list of handles to wait on, and wait again. the
- * point of all this abstraction is that we can trivially server
- * both sockets and pipes simply by making a new transport, and then
- * calling request_queue.process_requests (transport2);
- */
- /* WaitForMultipleObjects abort && request_queue && process_queue && signal
- -- if signal event then retrigger it
- */
- while (!shutdown_server && request_queue.running () && cache.running ())
- {
- pause ();
- if (ipcunload ())
- {
- shutdown_server = false;
- log (LOG_WARNING, "Shutdown request received but ignored. "
- "Dependent processes still running.");
- }
- }
-
- log (LOG_INFO, "Shutdown request received - new requests will be denied");
- request_queue.stop ();
- log (LOG_INFO, "All pending requests processed");
- delete transport;
- log (LOG_INFO, "No longer accepting requests - cygwin will operate in daemonless mode");
- cache.stop ();
- log (LOG_INFO, "All outstanding process-cache activities completed");
- log (LOG_NOTICE, "Shutdown finished.");
-
- return 0;
-}
-#endif /* __OUTSIDE_CYGWIN__ */
diff --git a/winsup/cygserver/cygserver.conf b/winsup/cygserver/cygserver.conf
deleted file mode 100644
index c224c0e4c..000000000
--- a/winsup/cygserver/cygserver.conf
+++ /dev/null
@@ -1,141 +0,0 @@
-# cygserver.conf, Copyright(C) 2003, 2005 Red Hat Inc.
-#
-# Contains configurable parameters for the cygserver.
-#
-# The format of this file is easy. Lines beginning with a hash `#' are
-# comments and ignored. Lines consisting of only whitespaces are ignored.
-# Any other line is a setting for cygserver.
-# A setting consists of a name/value pair, separated by whitespace.
-# Each line must only consist of one name/value pair.
-# Lines must not be longer than 1023 characters.
-#
-# Some settings can be overridden by a command line switch. If so, it's
-# mentioned below.
-#
-# Settings which are commented out will use the default values. These are
-# mentioned below, too.
-
-# kern.srv.cleanup_threads: No. of cygserver threads used for cleanup tasks.
-# Default: 2, Min: 1, Max: 16, command line option -c, --cleanup-threads
-#kern.srv.cleanup_threads 2
-
-# kern.srv.request_threads: No. of cygserver threads used to serve
-# application requests.
-# Default: 10, Min: 1, Max: 310, command line option -r, --request-threads
-#kern.srv.request_threads 10
-
-# kern.srv.process_cache_size: No. of concurrent processes which can be handled
-# by Cygserver concurrently.
-# Default: 62, Min: 1, Max: 310, command line option -p, --process-cache
-#kern.srv.process_cache_size 62
-
-# kern.srv.msgqueues: Determines whether XSI Message Queue support should be
-# started, "yes" (or "true", "y", "t", "1") or "no" (or "false", "n", "f", "0").
-# These values are valid for all binary type options.
-# Default is "yes". Command line option -q, --no-msgqueues
-#kern.srv.msgqueues yes
-
-# kern.srv.semaphores: Determines whether XSI Semaphore support should be
-# started. Default is "yes". Command line option -s, --no-semaphores
-#kern.srv.semaphores yes
-
-# kern.srv.sharedmem: Determines whether XSI Shared Memory support should be
-# started. Default is "yes". Command line option -m, --no-sharedmem
-#kern.srv.sharedmem yes
-
-# LOGGING
-
-# kern.log.syslog: Determines whether logging should go to the syslog,
-# Default is "yes", if stderr is no tty, "no" otherwise.
-# Command line option -y, --syslog or -Y, --no-syslog.
-#kern.log.syslog no
-
-# kern.log.stderr: Determines whether logging should go to stderr,
-# Default is "yes", if stderr is a tty, "no" otherwise.
-# Command line option -e, --stderr or -E, --no-stderr.
-#kern.log.stderr no
-
-# kern.log.level: Logging level. Valid values are 1 to 7 with a bigger
-# value emitting more logging output. Default level is 6.
-# Command line option -l, --log-level.
-#kern.log.level 6
-
-# kern.log.debug: Determines whether debug output should be printed to stderr.
-# Default is "no". Command line option -d, --debug
-#kern.log.debug no
-
-# XSI message queue parameters.
-#
-# Each message is broken up and stored in segments that are msgssz bytes
-# long. For efficiency reasons, this should be a power of two. Also,
-# it doesn't make sense if it is less than 8 or greater than about 256.
-
-# kern.ipc.msgseg: Maximum no. of message queue segments hold concurrently.
-# Default: 2048, Min: 256, Max: 65535
-#kern.ipc.msgseg 2048
-
-# kern.ipc.msgssz: Size of segment in bytes. Must be a power of 2 value.
-# Default: 8, Min: 8, Max: 1024
-#kern.ipc.msgssz 8
-
-# kern.ipc.msgmnb: Maximum no. of bytes in a single message queue.
-# Default: 2048, Min: 1, Max: 65535
-#kern.ipc.msgmnb 2048
-
-# kern.ipc.msgmni: Maximum no. of message queue identifiers hold concurrently.
-# Default: 40, Min: 1, Max: 1024
-#kern.ipc.msgmni 40
-
-# kern.ipc.msgtql: Maximum no. of messages hold concurrently.
-# Default: 40, Min: 1, Max: 1024
-#kern.ipc.msgtql 40
-
-# XSI semaphore parameters
-
-# kern.ipc.semmni: Maximum no. of semaphore identifiers hold concurrently.
-# Default: 10, Min: 1, Max: 1024
-#kern.ipc.semmni 10
-
-# kern.ipc.semmns: Maximum no. of semaphores hold concurrently.
-# Default: 60, Min: 1, Max: 1024
-#kern.ipc.semmns 60
-
-# kern.ipc.semmnu: Total no. of undo structures hold by server.
-# Default: 30, Min: 1, Max: 1024
-#kern.ipc.semmnu 30
-
-# kern.ipc.semmsl: Maximum no. of semaphores per semaphore id.
-# Default: 60, Min: 1, Max: 1024
-#kern.ipc.semmsl 60
-
-# kern.ipc.semopm: Maximum no. of operations per semop call.
-# Default: 100, Min: 1, Max: 1024
-#kern.ipc.semopm 100
-
-# kern.ipc.semume: Maximum no. of undo entries per process.
-# Default: 10, Min: 1, Max: 1024
-#kern.ipc.semume 10
-
-# kern.ipc.semvmx: Maximum value of a semaphore.
-# Default: 32767, Min: 1, Max: 32767
-#kern.ipc.semvmx 32767
-
-# kern.ipc.semaem: Maximum value to adjust on process exit.
-# Default: 16384, Min: 1, Max: 32767
-#kern.ipc.semaem 16384
-
-# XSI shared memory parameters
-
-# kern.ipc.shmmaxpgs: Maximum pages available for XSI shared memory.
-# Changing shmmaxpgs immediately affects setting SHMMAX. The relation
-# between shmmaxpgs and SHMMAX is: SHMMAX = shmmaxpgs * getpagesize().
-# Default: 8192, Min: 1, Max: 32767
-#kern.ipc.shmmaxpgs 8192
-
-# kern.ipc.shmmni: Maximum number of shared memory segments, system wide.
-# Default: 192, Min: 1, Max: 32767
-#kern.ipc.shmmni 192
-
-# kern.ipc.shmseg: Maximum number of shared memory segments per process.
-# Default: 128, Min: 1, Max: 32767
-#kern.ipc.shmseg 128
diff --git a/winsup/cygserver/msg.cc b/winsup/cygserver/msg.cc
deleted file mode 100644
index 87df87310..000000000
--- a/winsup/cygserver/msg.cc
+++ /dev/null
@@ -1,117 +0,0 @@
-/* msg.cc: Single unix specification IPC interface for Cygwin.
-
- Copyright 2003, 2004 Red Hat, Inc.
-
-This file is part of Cygwin.
-
-This software is a copyrighted work licensed under the terms of the
-Cygwin license. Please consult the file "CYGWIN_LICENSE" for
-details. */
-
-#ifdef __OUTSIDE_CYGWIN__
-#include "woutsup.h"
-
-#include <errno.h>
-#include <pthread.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <time.h>
-
-#include "cygserver.h"
-#include "process.h"
-#include "transport.h"
-
-#include "cygserver_ipc.h"
-#include "cygserver_msg.h"
-
-client_request_msg::client_request_msg ()
- : client_request (CYGSERVER_REQUEST_MSG,
- &_parameters, sizeof (_parameters))
-{
-}
-
-void
-client_request_msg::serve (transport_layer_base *const conn,
- process_cache *const cache)
-{
- if (msglen () != sizeof (_parameters.in))
- {
- syscall_printf ("bad request body length: expecting %lu bytes, got %lu",
- sizeof (_parameters), msglen ());
- error_code (EINVAL);
- msglen (0);
- return;
- }
- if (support_msgqueues == TUN_FALSE)
- {
- syscall_printf ("Message queue support not started");
- error_code (ENOSYS);
- if (_parameters.in.msgop == MSGOP_msgrcv)
- _parameters.out.rcv = -1;
- else
- _parameters.out.ret = -1;
- msglen (sizeof (_parameters.out));
- return;
- }
- process *const client = cache->process (_parameters.in.ipcblk.cygpid,
- _parameters.in.ipcblk.winpid,
- _parameters.in.ipcblk.signal_arrived);
- if (!client)
- {
- error_code (EAGAIN);
- msglen (0);
- return;
- }
- if (!conn->impersonate_client ())
- {
- client->release ();
- error_code (EACCES);
- msglen (0);
- return;
- }
- if (!adjust_identity_info (&_parameters.in.ipcblk))
- {
- client->release ();
- conn->revert_to_self ();
- error_code (EACCES);
- msglen (0);
- return;
- }
- /* Early revert_to_self since IPC code runs in kernel mode. */
- conn->revert_to_self ();
- /* sysv_msg.cc takes care of itself. */
- client->release ();
- thread td = { client, &_parameters.in.ipcblk, {-1, -1} };
- int res;
- msgop_t msgop = _parameters.in.msgop; /* Get's overwritten otherwise. */
- switch (msgop)
- {
- case MSGOP_msgctl:
- res = msgctl (&td, &_parameters.in.ctlargs);
- break;
- case MSGOP_msgget:
- res = msgget (&td, &_parameters.in.getargs);
- break;
- case MSGOP_msgrcv:
- res = msgrcv (&td, &_parameters.in.rcvargs);
- break;
- case MSGOP_msgsnd:
- res = msgsnd (&td, &_parameters.in.sndargs);
- break;
- default:
- res = ENOSYS;
- td.td_retval[0] = -1;
- break;
- }
- /* Allocated by the call to adjust_identity_info(). */
- if (_parameters.in.ipcblk.gidlist)
- free (_parameters.in.ipcblk.gidlist);
- error_code (res);
- if (msgop == MSGOP_msgrcv)
- _parameters.out.rcv = td.td_retval[0];
- else
- _parameters.out.ret = td.td_retval[0];
- msglen (sizeof (_parameters.out));
-}
-#endif /* __OUTSIDE_CYGWIN__ */
diff --git a/winsup/cygserver/process.cc b/winsup/cygserver/process.cc
deleted file mode 100644
index cc665d88e..000000000
--- a/winsup/cygserver/process.cc
+++ /dev/null
@@ -1,500 +0,0 @@
-/* process.cc
-
- Copyright 2001, 2002, 2003, 2004, 2005 Red Hat Inc.
-
- Written by Robert Collins <rbtcollins@hotmail.com>
-
-This file is part of Cygwin.
-
-This software is a copyrighted work licensed under the terms of the
-Cygwin license. Please consult the file "CYGWIN_LICENSE" for
-details. */
-
-#ifdef __OUTSIDE_CYGWIN__
-#include "woutsup.h"
-
-#include <sys/types.h>
-
-#include <assert.h>
-#include <stdlib.h>
-
-#include "process.h"
-
-/*****************************************************************************/
-
-#define elements(ARRAY) (sizeof (ARRAY) / sizeof (*ARRAY))
-
-/*****************************************************************************/
-
-process_cleanup::~process_cleanup ()
-{
- delete _process;
-}
-
-void
-process_cleanup::process ()
-{
- _process->cleanup ();
-}
-
-/*****************************************************************************/
-
-process::process (const pid_t cygpid, const DWORD winpid, HANDLE signal_arrived)
- : _cygpid (cygpid),
- _winpid (winpid),
- _hProcess (NULL),
- _signal_arrived (INVALID_HANDLE_VALUE),
- _cleaning_up (false),
- _exit_status (STILL_ACTIVE),
- _routines_head (NULL),
- _next (NULL)
-{
- _hProcess = OpenProcess (PROCESS_ALL_ACCESS, FALSE, winpid);
- if (!_hProcess)
- {
- system_printf ("unable to obtain handle for new cache process %d(%lu)",
- _cygpid, _winpid);
- _hProcess = INVALID_HANDLE_VALUE;
- _exit_status = 0;
- }
- else
- debug_printf ("got handle %p for new cache process %d(%lu)",
- _hProcess, _cygpid, _winpid);
- if (!signal_arrived)
- system_printf ("signal_arrived NULL for process %d(%lu)",
- _cygpid, _winpid);
- else if (signal_arrived != INVALID_HANDLE_VALUE)
- {
- if (!DuplicateHandle (_hProcess, signal_arrived,
- GetCurrentProcess (), &_signal_arrived,
- 0, FALSE, DUPLICATE_SAME_ACCESS))
- {
- system_printf ("error getting signal_arrived to server (%lu)",
- GetLastError ());
- _signal_arrived = INVALID_HANDLE_VALUE;
- }
- }
- InitializeCriticalSection (&_access);
- debug ("initialized (%lu)", _cygpid);
-}
-
-process::~process ()
-{
- debug ("deleting (%lu)", _cygpid);
- DeleteCriticalSection (&_access);
- if (_signal_arrived && _signal_arrived != INVALID_HANDLE_VALUE)
- CloseHandle (_signal_arrived);
- CloseHandle (_hProcess);
-}
-
-/* No need to be thread-safe as this is only ever called by
- * process_cache::check_and_remove_process (). If it has to be made
- * thread-safe later on, it should not use the `access' critical section as
- * that is held by the client request handlers for an arbitrary length of time,
- * i.e. while they do whatever processing is required for a client request.
- */
-DWORD
-process::check_exit_code ()
-{
- if (_hProcess && _hProcess != INVALID_HANDLE_VALUE
- && _exit_status == STILL_ACTIVE
- && !GetExitCodeProcess (_hProcess, &_exit_status))
- {
- system_printf ("failed to retrieve exit code for %d(%lu), error = %lu",
- _cygpid, _winpid, GetLastError ());
- _hProcess = INVALID_HANDLE_VALUE;
- }
- return _exit_status;
-}
-
-bool
-process::add (cleanup_routine *const entry)
-{
- assert (entry);
-
- bool res = false;
- hold ();
-
- if (!_cleaning_up)
- {
- entry->_next = _routines_head;
- _routines_head = entry;
- res = true;
- }
-
- release ();
- return res;
-}
-
-bool
-process::remove (const cleanup_routine *const entry)
-{
- assert (entry);
-
- bool res = false;
- hold ();
-
- if (!_cleaning_up)
- {
- cleanup_routine *previous = NULL;
-
- for (cleanup_routine *ptr = _routines_head;
- ptr;
- previous = ptr, ptr = ptr->_next)
- {
- if (*ptr == *entry)
- {
- if (previous)
- previous->_next = ptr->_next;
- else
- _routines_head = ptr->_next;
-
- delete ptr;
- res = true;
- break;
- }
- }
- }
-
- release ();
- return res;
-}
-
-/* This is single threaded. It's called after the process is removed
- * from the cache, but inserts may be attemped by worker threads that
- * have a pointer to it.
- */
-void
-process::cleanup ()
-{
- hold ();
- assert (!is_active ());
- assert (!_cleaning_up);
- InterlockedExchange (&_cleaning_up, true);
- cleanup_routine *entry = _routines_head;
- _routines_head = NULL;
- release ();
-
- while (entry)
- {
- cleanup_routine *const ptr = entry;
- entry = entry->_next;
- ptr->cleanup (this);
- delete ptr;
- }
-}
-
-/*****************************************************************************/
-
-void
-process_cache::submission_loop::request_loop ()
-{
- assert (this);
- assert (_cache);
- assert (_interrupt_event);
-
- while (_running)
- _cache->wait_for_processes (_interrupt_event);
-}
-
-/*****************************************************************************/
-
-process_cache::process_cache (const size_t max_procs,
- const unsigned int initial_workers)
- : _queue (initial_workers),
- _submitter (this, &_queue), // true == interruptible
- _processes_count (0),
- _max_process_count (max_procs),
- _processes_head (NULL),
- _cache_add_trigger (NULL)
-{
- /* there can only be one */
- InitializeCriticalSection (&_cache_write_access);
-
- _cache_add_trigger = CreateEvent (NULL, // SECURITY_ATTRIBUTES
- TRUE, // Manual-reset
- FALSE, // Initially non-signalled
- NULL); // Anonymous
-
- if (!_cache_add_trigger)
- {
- system_printf ("failed to create cache add trigger, error = %lu",
- GetLastError ());
- abort ();
- }
-
- _queue.add_submission_loop (&_submitter);
-}
-
-process_cache::~process_cache ()
-{
- (void) CloseHandle (_cache_add_trigger);
- DeleteCriticalSection (&_cache_write_access);
-}
-
-/* This returns the process object to the caller already locked, that
- * is, with the object's `access' critical region entered. Thus the
- * caller must unlock the object when it's finished with it (via
- * process::release ()). It must then not try to access the object
- * afterwards, except by going through this routine again, as it may
- * have been deleted once it has been unlocked.
- */
-class process *
-process_cache::process (const pid_t cygpid, const DWORD winpid,
- HANDLE signal_arrived)
-{
- /* TODO: make this more granular, so a search doesn't involve the
- * write lock.
- */
- EnterCriticalSection (&_cache_write_access);
- class process *previous = NULL;
- class process *entry = find (winpid, &previous);
-
- if (!entry)
- {
- if (_processes_count >= _max_process_count)
- {
- LeaveCriticalSection (&_cache_write_access);
- system_printf (("process limit (%d processes) reached; "
- "new connection refused for %d(%lu)"),
- _max_process_count, cygpid, winpid);
- return NULL;
- }
-
- entry = new class process (cygpid, winpid, signal_arrived);
- if (!entry->is_active ())
- {
- LeaveCriticalSection (&_cache_write_access);
- delete entry;
- return NULL;
- }
-
- if (previous)
- {
- entry->_next = previous->_next;
- previous->_next = entry;
- }
- else
- {
- entry->_next = _processes_head;
- _processes_head = entry;
- }
-
- _processes_count += 1;
- SetEvent (_cache_add_trigger);
- }
-
- entry->hold (); // To be released by the caller.
- LeaveCriticalSection (&_cache_write_access);
- assert (entry);
- assert (entry->_winpid == winpid);
- return entry;
-}
-
-struct pcache_wait_t
-{
- size_t index;
- size_t count;
- HANDLE *hdls;
-};
-
-static DWORD WINAPI
-pcache_wait_thread (const LPVOID param)
-{
- pcache_wait_t *p = (pcache_wait_t *) param;
-
- DWORD rc = WaitForMultipleObjects (p->count, p->hdls, FALSE, INFINITE);
- ExitThread (rc == WAIT_FAILED ? rc : rc + p->index);
-}
-
-void
-process_cache::wait_for_processes (const HANDLE interrupt_event)
-{
- // Update `_wait_array' with handles of all current processes.
- size_t idx;
- const size_t count = sync_wait_array (interrupt_event);
-
- debug_printf ("waiting on %u objects in total (%u processes)",
- count, _processes_count);
-
- DWORD rc = WAIT_FAILED;
-
- if (count <= 64)
- {
- /* If count <= 64, a single WaitForMultipleObjects is sufficient and
- we can simply wait in the main thread. */
- rc = WaitForMultipleObjects (count, _wait_array, FALSE, INFINITE);
- if (rc == WAIT_FAILED)
- {
- system_printf ("could not wait on the process handles, error = %lu",
- GetLastError ());
- abort ();
- }
- }
- else
- {
- /* If count > 64 we have to create sub-threads which wait for the
- actual wait objects and the main thread waits for the termination
- of one of the threads. */
- HANDLE main_wait_array[5] = { NULL };
- DWORD mcount = 0;
-
- for (idx = 0; idx < count; idx += 64)
- {
- pcache_wait_t p = { idx, min (count - idx, 64), _wait_array + idx };
- main_wait_array[mcount++] = CreateThread (NULL, 0, pcache_wait_thread,
- &p, 0, NULL);
- }
-
- rc = WaitForMultipleObjects (mcount, main_wait_array, FALSE, INFINITE);
- if (rc == WAIT_FAILED)
- {
- system_printf ("could not wait on the process handles, error = %lu",
- GetLastError ());
- abort ();
- }
-
- /* Check for error condition on signalled sub-thread. */
- GetExitCodeThread (main_wait_array[rc], &rc);
- if (rc == WAIT_FAILED)
- {
- system_printf ("could not wait on the process handles, error = %lu",
- GetLastError ());
- abort ();
- }
-
- /* Wake up all waiting threads. _cache_add_trigger gets reset
- in sync_wait_array again. */
- SetEvent (_cache_add_trigger);
- WaitForMultipleObjects (mcount, main_wait_array, TRUE, INFINITE);
- for (idx = 0; idx < mcount; idx++)
- CloseHandle (main_wait_array[idx]);
- }
-
- /* Tell all processes the bad news. This one formerly only checked
- processes beginning with the index of the signalled process, but
- this can result in processes which are signalled but never removed
- under heavy load conditions. */
- for (idx = 0; idx < count; idx++)
- if (_process_array[idx])
- check_and_remove_process (idx);
-}
-
-/*
- * process_cache::sync_wait_array ()
- *
- * Fill-in the wait array with the handles that the cache needs to wait on.
- * These handles are:
- * - the process_process_param's interrupt event
- * - the process_cache's cache_add_trigger event
- * - the handle for each live process in the cache.
- *
- * Return value: the number of live handles in the array.
- */
-
-size_t
-process_cache::sync_wait_array (const HANDLE interrupt_event)
-{
- assert (this);
- assert (interrupt_event && interrupt_event != INVALID_HANDLE_VALUE);
-
- /* Always reset _cache_add_trigger before filling up the array again. */
- ResetEvent (_cache_add_trigger);
-
- EnterCriticalSection (&_cache_write_access);
-
- size_t index = 0;
-
- for (class process *ptr = _processes_head; ptr; ptr = ptr->_next)
- {
- assert (ptr->_hProcess && ptr->_hProcess != INVALID_HANDLE_VALUE);
- assert (ptr->is_active ());
-
- _wait_array[index] = ptr->handle ();
- _process_array[index++] = ptr;
-
- if (!ptr->_next || index % 64 == 62)
- {
- /* Added at the end of each thread's array part for efficiency. */
- _wait_array[index] = interrupt_event;
- _process_array[index++] = NULL;
- _wait_array[index] = _cache_add_trigger;
- _process_array[index++] = NULL;
- }
- }
-
- if (!index)
- {
- /* To get at least *something* to wait for. */
- _wait_array[index] = interrupt_event;
- _process_array[index++] = NULL;
- _wait_array[index] = _cache_add_trigger;
- _process_array[index++] = NULL;
- }
-
- assert (index <= elements (_wait_array));
-
- LeaveCriticalSection (&_cache_write_access);
-
- return index;
-}
-
-void
-process_cache::check_and_remove_process (const size_t index)
-{
- assert (this);
- assert (index < elements (_wait_array) - SPECIALS_COUNT);
-
- class process *const process = _process_array[index];
-
- assert (process);
- assert (process->handle () == _wait_array[index]);
-
- if (process->check_exit_code () == STILL_ACTIVE)
- return;
-
- debug_printf ("process %d(%lu) has left the building ($? = %lu)",
- process->_cygpid, process->_winpid, process->_exit_status);
-
- /* Unlink the process object from the process list. */
-
- EnterCriticalSection (&_cache_write_access);
-
- class process *previous = NULL;
-
- const class process *const tmp = find (process->_winpid, &previous);
-
- assert (tmp == process);
- assert (previous ? previous->_next == process : _processes_head == process);
-
- if (previous)
- previous->_next = process->_next;
- else
- _processes_head = process->_next;
-
- _processes_count -= 1;
- LeaveCriticalSection (&_cache_write_access);
-
- /* Schedule any cleanup tasks for this process. */
- _queue.add (new process_cleanup (process));
-}
-
-class process *
-process_cache::find (const DWORD winpid, class process **previous)
-{
- if (previous)
- *previous = NULL;
-
- for (class process *ptr = _processes_head; ptr; ptr = ptr->_next)
- if (ptr->_winpid == winpid)
- return ptr;
- else if (ptr->_winpid > winpid) // The list is sorted by winpid.
- return NULL;
- else if (previous)
- *previous = ptr;
-
- return NULL;
-}
-
-/*****************************************************************************/
-#endif /* __OUTSIDE_CYGWIN__ */
diff --git a/winsup/cygserver/process.h b/winsup/cygserver/process.h
deleted file mode 100644
index 4702d2818..000000000
--- a/winsup/cygserver/process.h
+++ /dev/null
@@ -1,179 +0,0 @@
-/* process.h
-
- Copyright 2001, 2002, 2003, 2004, 2005 Red Hat Inc.
-
- Written by Robert Collins <rbtcollins@hotmail.com>
-
-This file is part of Cygwin.
-
-This software is a copyrighted work licensed under the terms of the
-Cygwin license. Please consult the file "CYGWIN_LICENSE" for
-details. */
-
-#ifndef _PROCESS_H
-#define _PROCESS_H
-
-#include <assert.h>
-
-#include "threaded_queue.h"
-
-class process_cleanup : public queue_request
-{
-public:
- process_cleanup (class process *const theprocess)
- : _process (theprocess)
- {
- assert (_process);
- }
-
- virtual ~process_cleanup ();
-
- virtual void process ();
-
-private:
- class process *const _process;
-};
-
-class process;
-
-class cleanup_routine
-{
- friend class process;
-
-public:
- cleanup_routine (void *const key)
- : _key (key),
- _next (NULL)
- {}
-
- virtual ~cleanup_routine () = 0;
-
- bool operator== (const cleanup_routine &rhs) const
- {
- return _key == rhs._key;
- }
-
- void *key () const { return _key; }
-
- /* MUST BE SYNCHRONOUS */
- virtual void cleanup (class process *) = 0;
-
-private:
- void *const _key;
- cleanup_routine *_next;
-};
-
-class process_cache;
-
-#define hold() _hold(__FILE__,__LINE__)
-#define release() _release(__FILE__,__LINE__)
-
-class process
-{
- friend class process_cache;
- friend class process_cleanup;
-
-public:
- process (pid_t cygpid, DWORD winpid,
- HANDLE signal_arrived = INVALID_HANDLE_VALUE);
- ~process ();
-
- pid_t cygpid () const { return _cygpid; }
- DWORD winpid () const { return _winpid; }
- HANDLE handle () const { return _hProcess; }
- HANDLE signal_arrived () const { return _signal_arrived; }
-
- bool is_active () const { return _exit_status == STILL_ACTIVE; }
-
- void _hold (const char *file, int line) {
- _log (file, line, LOG_DEBUG, "Try hold(%lu)", _cygpid);
- EnterCriticalSection (&_access);
- _log (file, line, LOG_DEBUG, "holding (%lu)", _cygpid);
- }
- void _release (const char *file, int line) {
- _log (file, line, LOG_DEBUG, "leaving (%lu)", _cygpid);
- LeaveCriticalSection (&_access);
- }
-
- bool add (cleanup_routine *);
- bool remove (const cleanup_routine *);
-
-private:
- const pid_t _cygpid;
- const DWORD _winpid;
- HANDLE _hProcess;
- HANDLE _signal_arrived;
- long _cleaning_up;
- DWORD _exit_status; // Set in the constructor and in exit_code ().
- cleanup_routine *_routines_head;
- /* used to prevent races-on-delete */
- CRITICAL_SECTION _access;
- class process *_next;
-
- DWORD check_exit_code ();
- void cleanup ();
-};
-
-class process_cache
-{
- // Number of special (i.e., non-process) handles in _wait_array.
- // See wait_for_processes () and sync_wait_array () for details.
- enum {
- SPECIALS_COUNT = 2
- };
-
- class submission_loop : public queue_submission_loop
- {
- public:
- submission_loop (process_cache *const cache, threaded_queue *const queue)
- : queue_submission_loop (queue, true),
- _cache (cache)
- {
- assert (_cache);
- }
-
- private:
- process_cache *const _cache;
-
- virtual void request_loop ();
- };
-
- friend class submission_loop;
-
-public:
- process_cache (const size_t max_procs, const unsigned int initial_workers);
- ~process_cache ();
-
- class process *process (pid_t cygpid, DWORD winpid,
- HANDLE signal_arrived = INVALID_HANDLE_VALUE);
-
- bool running () const { return _queue.running (); }
-
- bool start () { return _queue.start (); }
- bool stop () { return _queue.stop (); }
-
-private:
- threaded_queue _queue;
- submission_loop _submitter;
-
- size_t _processes_count;
- size_t _max_process_count;
- class process *_processes_head; // A list sorted by winpid.
-
- // Access to the _wait_array and related fields is not thread-safe,
- // since they are used solely by wait_for_processes () and its callees.
-
- HANDLE _wait_array[5 * MAXIMUM_WAIT_OBJECTS];
- class process *_process_array[5 * MAXIMUM_WAIT_OBJECTS];
-
- HANDLE _cache_add_trigger; // Actually both add and remove.
- CRITICAL_SECTION _cache_write_access; // Actually both read and write access.
-
- void wait_for_processes (HANDLE interrupt);
- size_t sync_wait_array (HANDLE interrupt);
- void check_and_remove_process (const size_t index);
-
- class process *find (DWORD winpid, class process **previous = NULL);
-};
-
-#endif /* _PROCESS_H */
diff --git a/winsup/cygserver/sem.cc b/winsup/cygserver/sem.cc
deleted file mode 100644
index 37d894ef9..000000000
--- a/winsup/cygserver/sem.cc
+++ /dev/null
@@ -1,107 +0,0 @@
-/* sem.cc: Single unix specification IPC interface for Cygwin.
-
- Copyright 2003, 2004 Red Hat, Inc.
-
-This file is part of Cygwin.
-
-This software is a copyrighted work licensed under the terms of the
-Cygwin license. Please consult the file "CYGWIN_LICENSE" for
-details. */
-
-#ifdef __OUTSIDE_CYGWIN__
-#include "woutsup.h"
-
-#include <errno.h>
-#include <pthread.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <time.h>
-
-#include "cygserver.h"
-#include "process.h"
-#include "transport.h"
-
-#include "cygserver_ipc.h"
-#include "cygserver_sem.h"
-
-client_request_sem::client_request_sem ()
- : client_request (CYGSERVER_REQUEST_SEM,
- &_parameters, sizeof (_parameters))
-{
-}
-
-void
-client_request_sem::serve (transport_layer_base *const conn,
- process_cache *const cache)
-{
- if (msglen () != sizeof (_parameters.in))
- {
- syscall_printf ("bad request body length: expecting %lu bytes, got %lu",
- sizeof (_parameters), msglen ());
- error_code (EINVAL);
- msglen (0);
- return;
- }
- if (support_semaphores == TUN_FALSE)
- {
- syscall_printf ("Semaphore support not started");
- error_code (ENOSYS);
- _parameters.out.ret = -1;
- msglen (sizeof (_parameters.out));
- return;
- }
- process *const client = cache->process (_parameters.in.ipcblk.cygpid,
- _parameters.in.ipcblk.winpid,
- _parameters.in.ipcblk.signal_arrived);
- if (!client)
- {
- error_code (EAGAIN);
- msglen (0);
- return;
- }
- if (!conn->impersonate_client ())
- {
- client->release ();
- error_code (EACCES);
- msglen (0);
- return;
- }
- if (!adjust_identity_info (&_parameters.in.ipcblk))
- {
- client->release ();
- conn->revert_to_self ();
- error_code (EACCES);
- msglen (0);
- return;
- }
- /* Early revert_to_self since IPC code runs in kernel mode. */
- conn->revert_to_self ();
- /* sysv_sem.cc takes care of itself. */
- client->release ();
- thread td = { client, &_parameters.in.ipcblk, {-1, -1} };
- int res;
- switch (_parameters.in.semop)
- {
- case SEMOP_semctl:
- res = semctl (&td, &_parameters.in.ctlargs);
- break;
- case SEMOP_semget:
- res = semget (&td, &_parameters.in.getargs);
- break;
- case SEMOP_semop:
- res = semop (&td, &_parameters.in.opargs);
- break;
- default:
- res = ENOSYS;
- td.td_retval[0] = -1;
- break;
- }
- /* Allocated by the call to adjust_identity_info(). */
- if (_parameters.in.ipcblk.gidlist)
- free (_parameters.in.ipcblk.gidlist);
- error_code (res);
- _parameters.out.ret = td.td_retval[0];
- msglen (sizeof (_parameters.out));
-}
-#endif /* __OUTSIDE_CYGWIN__ */
diff --git a/winsup/cygserver/shm.cc b/winsup/cygserver/shm.cc
deleted file mode 100644
index 38f2d2ee5..000000000
--- a/winsup/cygserver/shm.cc
+++ /dev/null
@@ -1,124 +0,0 @@
-/* shm.cc: Single unix specification IPC interface for Cygwin.
-
- Copyright 2003, 2004 Red Hat, Inc.
-
-This file is part of Cygwin.
-
-This software is a copyrighted work licensed under the terms of the
-Cygwin license. Please consult the file "CYGWIN_LICENSE" for
-details. */
-
-#ifdef __OUTSIDE_CYGWIN__
-#include "woutsup.h"
-
-#include <errno.h>
-#include <pthread.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <time.h>
-
-#include "cygserver.h"
-#include "process.h"
-#include "transport.h"
-
-#include "cygserver_ipc.h"
-#include "cygserver_shm.h"
-
-client_request_shm::client_request_shm ()
- : client_request (CYGSERVER_REQUEST_SHM,
- &_parameters, sizeof (_parameters))
-{
-}
-
-void
-client_request_shm::serve (transport_layer_base *const conn,
- process_cache *const cache)
-{
- if (msglen () != sizeof (_parameters.in))
- {
- syscall_printf ("bad request body length: expecting %lu bytes, got %lu",
- sizeof (_parameters), msglen ());
- error_code (EINVAL);
- msglen (0);
- return;
- }
- if (support_sharedmem == TUN_FALSE)
- {
- syscall_printf ("Shared memory support not started");
- error_code (ENOSYS);
- if (_parameters.in.shmop == SHMOP_shmat)
- _parameters.out.ptr = (vm_offset_t)0;
- else
- _parameters.out.ret = -1;
- msglen (sizeof (_parameters.out));
- return;
- }
- process *const client = cache->process (_parameters.in.ipcblk.cygpid,
- _parameters.in.ipcblk.winpid,
- _parameters.in.ipcblk.signal_arrived);
- if (!client)
- {
- error_code (EAGAIN);
- msglen (0);
- return;
- }
- if (!conn->impersonate_client ())
- {
- client->release ();
- error_code (EACCES);
- msglen (0);
- return;
- }
- if (!adjust_identity_info (&_parameters.in.ipcblk))
- {
- client->release ();
- conn->revert_to_self ();
- error_code (EACCES);
- msglen (0);
- return;
- }
- /* Early revert_to_self since IPC code runs in kernel mode. */
- conn->revert_to_self ();
- /* sysv_shm.cc takes care of itself. */
- client->release ();
- thread td = { client, &_parameters.in.ipcblk, {0, 0} };
- int res;
- shmop_t shmop = _parameters.in.shmop; /* Get's overwritten otherwise. */
- switch (shmop)
- {
- case SHMOP_shmat:
- ipc_p_vmspace (td.ipcblk);
- res = shmat (&td, &_parameters.in.atargs);
- break;
- case SHMOP_shmctl:
- res = shmctl (&td, &_parameters.in.ctlargs);
- break;
- case SHMOP_shmdt:
- ipc_p_vmspace (td.ipcblk);
- res = shmdt (&td, &_parameters.in.dtargs);
- break;
- case SHMOP_shmget:
- res = shmget (&td, &_parameters.in.getargs);
- break;
- case SHMOP_shmfork:
- res = cygwin_shmfork_myhook (&td, &_parameters.in.forkargs);
- break;
- default:
- res = ENOSYS;
- td.td_retval[0] = -1;
- break;
- }
- /* Allocated by the call to adjust_identity_info(). */
- if (_parameters.in.ipcblk.gidlist)
- free (_parameters.in.ipcblk.gidlist);
- error_code (res);
- if (shmop == SHMOP_shmat)
- _parameters.out.ptr = td.td_retval[0];
- else
- _parameters.out.ret = td.td_retval[0];
- if (shmop == SHMOP_shmget)
- _parameters.out.obj = td.td_retval[1];
- msglen (sizeof (_parameters.out));
-}
-#endif /* __OUTSIDE_CYGWIN__ */
diff --git a/winsup/cygserver/sysv_msg.cc b/winsup/cygserver/sysv_msg.cc
deleted file mode 100644
index 90ea95325..000000000
--- a/winsup/cygserver/sysv_msg.cc
+++ /dev/null
@@ -1,1210 +0,0 @@
-/*
- * Implementation of SVID messages
- *
- * Author: Daniel Boulet
- *
- * Copyright 1993 Daniel Boulet and RTMX Inc.
- *
- * This system call was implemented by Daniel Boulet under contract from RTMX.
- *
- * Redistribution and use in source forms, with and without modification,
- * are permitted provided that this entire comment appears intact.
- *
- * Redistribution in binary form may occur without any restrictions.
- * Obviously, it would be nice if you gave credit where credit is due
- * but requiring it would be too onerous.
- *
- * This software is provided ``AS IS'' without any warranties of any kind.
- */
-
-/*
- * This file is heavily changed to become part of Cygwin's cygserver.
- */
-
-#ifdef __OUTSIDE_CYGWIN__
-#include "woutsup.h"
-#include <sys/cdefs.h>
-#ifndef __FBSDID
-#define __FBSDID(s) const char version[] = (s)
-#endif
-__FBSDID("$FreeBSD: /usr/local/www/cvsroot/FreeBSD/src/sys/kern/sysv_msg.c,v 1.52 2003/11/07 04:47:14 rwatson Exp $");
-
-#define _KERNEL 1
-#define __BSD_VISIBLE 1
-#include <sys/types.h>
-#include <sys/sysproto.h>
-#include <sys/ipc.h>
-#include <sys/param.h>
-#include <sys/msg.h>
-#include <malloc.h>
-#include <errno.h>
-#include <time.h>
-#include "cygserver.h"
-#include "process.h"
-#include "cygserver_ipc.h"
-
-#ifdef __CYGWIN__
-#define MSG_DEBUG
-#endif /* __CYGWIN__ */
-
-#ifdef MSG_DEBUG
-#define DPRINTF(a) debug_printf a
-#else
-#define DPRINTF(a)
-#endif
-
-static void msg_freehdr(struct msg *msghdr);
-
-#ifndef __CYGWIN__
-int msgctl(struct thread *, struct msgctl_args *);
-int msgget(struct thread *, struct msgget_args *);
-int msgsnd(struct thread *, struct msgsnd_args *);
-int msgrcv(struct thread *, struct msgrcv_args *);
-
-static sy_call_t *msgcalls[] = {
- (sy_call_t *)msgctl, (sy_call_t *)msgget,
- (sy_call_t *)msgsnd, (sy_call_t *)msgrcv
-};
-#endif /* __CYGWIN__ */
-
-
-struct msg {
- struct msg *msg_next; /* next msg in the chain */
- long msg_type; /* type of this message */
- /* >0 -> type of this message */
- /* 0 -> free header */
- u_short msg_ts; /* size of this message */
- short msg_spot; /* location of start of msg in buffer */
-};
-
-
-#ifndef MSGSSZ
-#define MSGSSZ 8 /* Each segment must be 2^N long */
-#endif
-#ifndef MSGSEG
-#define MSGSEG 2048 /* must be less than 32767 */
-#endif
-#define MSGMAX (MSGSSZ*MSGSEG)
-#ifndef MSGMNB
-#define MSGMNB 2048 /* max # of bytes in a queue */
-#endif
-#ifndef MSGMNI
-#define MSGMNI 40
-#endif
-#ifndef MSGTQL
-#define MSGTQL 40
-#endif
-
-/*
- * Based on the configuration parameters described in an SVR2 (yes, two)
- * config(1m) man page.
- *
- * Each message is broken up and stored in segments that are msgssz bytes
- * long. For efficiency reasons, this should be a power of two. Also,
- * it doesn't make sense if it is less than 8 or greater than about 256.
- * Consequently, msginit in kern/sysv_msg.c checks that msgssz is a power of
- * two between 8 and 1024 inclusive (and panic's if it isn't).
- */
-struct msginfo msginfo = {
- MSGMAX, /* max chars in a message */
- MSGMNB, /* max chars in a queue */
- MSGMNI, /* # of message queue identifiers */
- MSGTQL, /* max messages in system */
- MSGSSZ, /* size of a message segment */
- /* (must be small power of 2 greater than 4) */
- MSGSEG /* number of message segments */
-};
-
-/*
- * macros to convert between msqid_ds's and msqid's.
- * (specific to this implementation)
- */
-#define MSQID(ix,ds) ((ix) & 0xffff | (((ds).msg_perm.seq << 16) & 0xffff0000))
-#define MSQID_IX(id) ((id) & 0xffff)
-#define MSQID_SEQ(id) (((id) >> 16) & 0xffff)
-
-/*
- * The rest of this file is specific to this particular implementation.
- */
-
-struct msgmap {
- short next; /* next segment in buffer */
- /* -1 -> available */
- /* 0..(MSGSEG-1) -> index of next segment */
-};
-
-#define MSG_LOCKED 01000 /* Is this msqid_ds locked? */
-
-static int nfree_msgmaps; /* # of free map entries */
-static short free_msgmaps; /* head of linked list of free map entries */
-static struct msg *free_msghdrs;/* list of free msg headers */
-static char *msgpool; /* MSGMAX byte long msg buffer pool */
-static struct msgmap *msgmaps; /* MSGSEG msgmap structures */
-static struct msg *msghdrs; /* MSGTQL msg headers */
-static struct msqid_ds *msqids; /* MSGMNI msqid_ds struct's */
-static struct mtx msq_mtx; /* global mutex for message queues. */
-
-#ifdef __CYGWIN__
-static struct msg_info msg_info;
-#endif /* __CYGWIN__ */
-
-void
-msginit()
-{
- int i;
-
- TUNABLE_INT_FETCH("kern.ipc.msgseg", &msginfo.msgseg);
- TUNABLE_INT_FETCH("kern.ipc.msgssz", &msginfo.msgssz);
- msginfo.msgmax = msginfo.msgseg * msginfo.msgssz;
- TUNABLE_INT_FETCH("kern.ipc.msgmnb", &msginfo.msgmnb);
- TUNABLE_INT_FETCH("kern.ipc.msgmni", &msginfo.msgmni);
- TUNABLE_INT_FETCH("kern.ipc.msgtql", &msginfo.msgtql);
-
- msgpool = (char *) sys_malloc(msginfo.msgmax, M_MSG, M_WAITOK);
- if (msgpool == NULL)
- panic("msgpool is NULL");
- msgmaps = (msgmap *) sys_malloc(sizeof(struct msgmap) * msginfo.msgseg, M_MSG, M_WAITOK);
- if (msgmaps == NULL)
- panic("msgmaps is NULL");
- msghdrs = (msg *) sys_malloc(sizeof(struct msg) * msginfo.msgtql, M_MSG, M_WAITOK);
- if (msghdrs == NULL)
- panic("msghdrs is NULL");
- msqids = (msqid_ds *) sys_malloc(sizeof(struct msqid_ds) * msginfo.msgmni, M_MSG, M_WAITOK);
- if (msqids == NULL)
- panic("msqids is NULL");
-
- /*
- * msginfo.msgssz should be a power of two for efficiency reasons.
- * It is also pretty silly if msginfo.msgssz is less than 8
- * or greater than about 256 so ...
- */
-
- i = 8;
- while (i < 1024 && i != msginfo.msgssz)
- i <<= 1;
- if (i != msginfo.msgssz) {
- DPRINTF(("msginfo.msgssz=%d (0x%x)\n", msginfo.msgssz,
- msginfo.msgssz));
- panic("msginfo.msgssz not a small power of 2");
- }
-
- if (msginfo.msgseg > 32767) {
- DPRINTF(("msginfo.msgseg=%d\n", msginfo.msgseg));
- panic("msginfo.msgseg > 32767");
- }
-
- if (msgmaps == NULL)
- panic("msgmaps is NULL");
-
- for (i = 0; i < msginfo.msgseg; i++) {
- if (i > 0)
- msgmaps[i-1].next = i;
- msgmaps[i].next = -1; /* implies entry is available */
- }
- free_msgmaps = 0;
- nfree_msgmaps = msginfo.msgseg;
-
- if (msghdrs == NULL)
- panic("msghdrs is NULL");
-
- for (i = 0; i < msginfo.msgtql; i++) {
- msghdrs[i].msg_type = 0;
- if (i > 0)
- msghdrs[i-1].msg_next = &msghdrs[i];
- msghdrs[i].msg_next = NULL;
- }
- free_msghdrs = &msghdrs[0];
-
- if (msqids == NULL)
- panic("msqids is NULL");
-
- for (i = 0; i < msginfo.msgmni; i++) {
- msqids[i].msg_qbytes = 0; /* implies entry is available */
- msqids[i].msg_perm.seq = 0; /* reset to a known value */
- msqids[i].msg_perm.mode = 0;
- }
- mtx_init(&msq_mtx, "msq", NULL, MTX_DEF);
-}
-
-int
-msgunload()
-{
- struct msqid_ds *msqptr;
- int msqid;
-
- for (msqid = 0; msqid < msginfo.msgmni; msqid++) {
- /*
- * Look for an unallocated and unlocked msqid_ds.
- * msqid_ds's can be locked by msgsnd or msgrcv while
- * they are copying the message in/out. We can't
- * re-use the entry until they release it.
- */
- msqptr = &msqids[msqid];
- if (msqptr->msg_qbytes != 0 ||
- (msqptr->msg_perm.mode & MSG_LOCKED) != 0)
- break;
- }
-#ifndef __CYGWIN__
- if (msqid != msginfo.msgmni)
- return (EBUSY);
-#endif /* __CYGWIN__ */
-
- sys_free(msgpool, M_MSG);
- sys_free(msgmaps, M_MSG);
- sys_free(msghdrs, M_MSG);
- sys_free(msqids, M_MSG);
- mtx_destroy(&msq_mtx);
- return (0);
-}
-
-
-#ifndef __CYGWIN__
-static int
-sysvmsg_modload(struct module *module, int cmd, void *arg)
-{
- int error = 0;
-
- switch (cmd) {
- case MOD_LOAD:
- msginit();
- break;
- case MOD_UNLOAD:
- error = msgunload();
- break;
- case MOD_SHUTDOWN:
- break;
- default:
- error = EINVAL;
- break;
- }
- return (error);
-}
-
-static moduledata_t sysvmsg_mod = {
- "sysvmsg",
- &sysvmsg_modload,
- NULL
-};
-
-SYSCALL_MODULE_HELPER(msgsys);
-SYSCALL_MODULE_HELPER(msgctl);
-SYSCALL_MODULE_HELPER(msgget);
-SYSCALL_MODULE_HELPER(msgsnd);
-SYSCALL_MODULE_HELPER(msgrcv);
-
-DECLARE_MODULE(sysvmsg, sysvmsg_mod,
- SI_SUB_SYSV_MSG, SI_ORDER_FIRST);
-MODULE_VERSION(sysvmsg, 1);
-
-/*
- * Entry point for all MSG calls
- *
- * MPSAFE
- */
-int
-msgsys(thread *td, struct msgsys_args *uap)
-{
- int error;
-
- if (!jail_sysvipc_allowed && jailed(td->td_ucred))
- return (ENOSYS);
- if (uap->which < 0 ||
- (unsigned) uap->which >= sizeof(msgcalls)/sizeof(msgcalls[0]))
- return (EINVAL);
- error = (*msgcalls[uap->which])(td, &uap->a2);
- return (error);
-}
-#endif
-
-static void
-msg_freehdr(struct msg *msghdr)
-{
- while (msghdr->msg_ts > 0) {
- short next;
- if (msghdr->msg_spot < 0 || msghdr->msg_spot >= msginfo.msgseg)
- panic("msghdr->msg_spot out of range");
- next = msgmaps[msghdr->msg_spot].next;
- msgmaps[msghdr->msg_spot].next = free_msgmaps;
- free_msgmaps = msghdr->msg_spot;
- nfree_msgmaps++;
- msghdr->msg_spot = next;
- if (msghdr->msg_ts >= msginfo.msgssz)
- msghdr->msg_ts -= msginfo.msgssz;
- else
- msghdr->msg_ts = 0;
- }
- if (msghdr->msg_spot != -1)
- panic("msghdr->msg_spot != -1");
- msghdr->msg_next = free_msghdrs;
- free_msghdrs = msghdr;
-}
-
-#ifndef _SYS_SYSPROTO_H_
-struct msgctl_args {
- int msqid;
- int cmd;
- struct msqid_ds *buf;
-};
-#endif
-
-/*
- * MPSAFE
- */
-int
-msgctl(struct thread *td, struct msgctl_args *uap)
-{
- int msqid = uap->msqid;
- int cmd = uap->cmd;
- struct msqid_ds *user_msqptr = uap->buf;
- int rval, error;
- struct msqid_ds msqbuf;
- register struct msqid_ds *msqptr;
-
- DPRINTF(("call to msgctl(%d, %d, 0x%x)\n", msqid, cmd, user_msqptr));
-
- if (!jail_sysvipc_allowed && jailed(td->td_ucred))
- return (ENOSYS);
-
-#ifdef __CYGWIN__
- if (cmd == IPC_INFO) {
- if (!msqid) {
- error = copyout(&msginfo, user_msqptr,
- sizeof(struct msginfo));
- td->td_retval[0] = error ? -1 : 0;
- return (error);
- }
- if (msqid > msginfo.msgmni)
- msqid = msginfo.msgmni;
- error = copyout(msqids, user_msqptr,
- msqid * sizeof(struct msqid_ds));
- td->td_retval[0] = error ? -1 : 0;
- return (error);
- } else if (cmd == MSG_INFO) {
- mtx_lock(&msq_mtx);
- error = copyout(&msg_info, user_msqptr,
- sizeof(struct msg_info));
- td->td_retval[0] = error ? -1 : 0;
- mtx_unlock(&msq_mtx);
- return (error);
- }
-#endif /* __CYGWIN__ */
- msqid = IPCID_TO_IX(msqid);
-
- if (msqid < 0 || msqid >= msginfo.msgmni) {
- DPRINTF(("msqid (%d) out of range (0<=msqid<%d)\n", msqid,
- msginfo.msgmni));
- return (EINVAL);
- }
- if (cmd == IPC_SET &&
- (error = copyin(user_msqptr, &msqbuf, sizeof(msqbuf))) != 0)
- return (error);
-
- msqptr = &msqids[msqid];
-
- mtx_lock(&msq_mtx);
- if (msqptr->msg_qbytes == 0) {
- DPRINTF(("no such msqid\n"));
- error = EINVAL;
- goto done2;
- }
- if (msqptr->msg_perm.seq != IPCID_TO_SEQ(uap->msqid)) {
- DPRINTF(("wrong sequence number\n"));
- error = EINVAL;
- goto done2;
- }
-
- error = 0;
- rval = 0;
-
- switch (cmd) {
-
- case IPC_RMID:
- {
- struct msg *msghdr;
- if ((error = ipcperm(td, &msqptr->msg_perm, IPC_M)))
- goto done2;
- /* Free the message headers */
- msghdr = msqptr->msg_first;
- while (msghdr != NULL) {
- struct msg *msghdr_tmp;
-
- /* Free the segments of each message */
- msqptr->msg_cbytes -= msghdr->msg_ts;
- msqptr->msg_qnum--;
- msghdr_tmp = msghdr;
- msghdr = msghdr->msg_next;
- msg_freehdr(msghdr_tmp);
- }
-
- if (msqptr->msg_cbytes != 0)
- panic("msg_cbytes is screwed up");
- if (msqptr->msg_qnum != 0)
- panic("msg_qnum is screwed up");
-
- msqptr->msg_qbytes = 0; /* Mark it as free */
-#ifdef __CYGWIN__
- msg_info.msg_ids--;
-#endif /* __CYGWIN__ */
-
- wakeup(msqptr);
- }
-
- break;
-
- case IPC_SET:
- if ((error = ipcperm(td, &msqptr->msg_perm, IPC_M)))
- goto done2;
- if (msqbuf.msg_qbytes > msqptr->msg_qbytes) {
- error = suser(td);
- if (error)
- goto done2;
- }
- if (msqbuf.msg_qbytes > (unsigned long) msginfo.msgmnb) {
- DPRINTF(("can't increase msg_qbytes beyond %d"
- "(truncating)\n", msginfo.msgmnb));
- msqbuf.msg_qbytes = msginfo.msgmnb; /* silently restrict qbytes to system limit */
- }
- if (msqbuf.msg_qbytes == 0) {
- DPRINTF(("can't reduce msg_qbytes to 0\n"));
- error = EINVAL; /* non-standard errno! */
- goto done2;
- }
- msqptr->msg_perm.uid = msqbuf.msg_perm.uid; /* change the owner */
- msqptr->msg_perm.gid = msqbuf.msg_perm.gid; /* change the owner */
- msqptr->msg_perm.mode = (msqptr->msg_perm.mode & ~0777) |
- (msqbuf.msg_perm.mode & 0777);
- msqptr->msg_qbytes = msqbuf.msg_qbytes;
- msqptr->msg_ctime = time (NULL);
- break;
-
- case IPC_STAT:
- if ((error = ipcperm(td, &msqptr->msg_perm, IPC_R))) {
- DPRINTF(("requester doesn't have read access\n"));
- goto done2;
- }
- break;
-
- default:
- DPRINTF(("invalid command %d\n", cmd));
- error = EINVAL;
- goto done2;
- }
-
- if (error == 0)
- td->td_retval[0] = rval;
-done2:
- mtx_unlock(&msq_mtx);
- if (cmd == IPC_STAT && error == 0)
- error = copyout(msqptr, user_msqptr, sizeof(struct msqid_ds));
- return(error);
-}
-
-#ifndef _SYS_SYSPROTO_H_
-struct msgget_args {
- key_t key;
- int msgflg;
-};
-#endif
-
-/*
- * MPSAFE
- */
-int
-msgget(struct thread *td, struct msgget_args *uap)
-{
- int msqid, error = 0;
- key_t key = uap->key;
- unsigned msgflg = uap->msgflg;
- register struct msqid_ds *msqptr = NULL;
-
- DPRINTF(("msgget(0x%x, 0%o)\n", key, msgflg));
-
- if (!jail_sysvipc_allowed && jailed(td->td_ucred))
- return (ENOSYS);
-
- mtx_lock(&msq_mtx);
- if (key != IPC_PRIVATE) {
- for (msqid = 0; msqid < msginfo.msgmni; msqid++) {
- msqptr = &msqids[msqid];
- if (msqptr->msg_qbytes != 0 &&
- msqptr->msg_perm.key == key)
- break;
- }
- if (msqid < msginfo.msgmni) {
- DPRINTF(("found public key\n"));
- if ((msgflg & IPC_CREAT) && (msgflg & IPC_EXCL)) {
- DPRINTF(("not exclusive\n"));
- error = EEXIST;
- goto done2;
- }
- if ((error = ipcperm(td, &msqptr->msg_perm, msgflg & 0700))) {
- DPRINTF(("requester doesn't have 0%o access\n",
- msgflg & 0700));
- goto done2;
- }
- goto found;
- }
- }
-
- DPRINTF(("need to allocate the msqid_ds\n"));
- if (key == IPC_PRIVATE || (msgflg & IPC_CREAT)) {
- for (msqid = 0; msqid < msginfo.msgmni; msqid++) {
- /*
- * Look for an unallocated and unlocked msqid_ds.
- * msqid_ds's can be locked by msgsnd or msgrcv while
- * they are copying the message in/out. We can't
- * re-use the entry until they release it.
- */
- msqptr = &msqids[msqid];
- if (msqptr->msg_qbytes == 0 &&
- (msqptr->msg_perm.mode & MSG_LOCKED) == 0)
- break;
- }
- if (msqid == msginfo.msgmni) {
- DPRINTF(("no more msqid_ds's available\n"));
- error = ENOSPC;
- goto done2;
- }
- DPRINTF(("msqid %d is available\n", msqid));
- msqptr->msg_perm.key = key;
-#ifdef __CYGWIN__
- msqptr->msg_perm.cuid = td->ipcblk->uid;
- msqptr->msg_perm.uid = td->ipcblk->uid;
- msqptr->msg_perm.cgid = td->ipcblk->gid;
- msqptr->msg_perm.gid = td->ipcblk->gid;
-#else
- msqptr->msg_perm.cuid = cred->cr_uid;
- msqptr->msg_perm.uid = cred->cr_uid;
- msqptr->msg_perm.cgid = cred->cr_gid;
- msqptr->msg_perm.gid = cred->cr_gid;
-#endif /* __CYGWIN__ */
- msqptr->msg_perm.mode = (msgflg & 0777);
- /* Make sure that the returned msqid is unique */
- msqptr->msg_perm.seq = (msqptr->msg_perm.seq + 1) & 0x7fff;
- msqptr->msg_first = NULL;
- msqptr->msg_last = NULL;
- msqptr->msg_cbytes = 0;
- msqptr->msg_qnum = 0;
- msqptr->msg_qbytes = msginfo.msgmnb;
- msqptr->msg_lspid = 0;
- msqptr->msg_lrpid = 0;
- msqptr->msg_stime = 0;
- msqptr->msg_rtime = 0;
- msqptr->msg_ctime = time (NULL);
-#ifdef __CYGWIN__
- msg_info.msg_ids++;
-#endif /* __CYGWIN__ */
- } else {
- DPRINTF(("didn't find it and wasn't asked to create it\n"));
- error = ENOENT;
- goto done2;
- }
-
-found:
- /* Construct the unique msqid */
- td->td_retval[0] = IXSEQ_TO_IPCID(msqid, msqptr->msg_perm);
-done2:
- mtx_unlock(&msq_mtx);
- return (error);
-}
-
-#ifndef _SYS_SYSPROTO_H_
-struct msgsnd_args {
- int msqid;
- const void *msgp;
- size_t msgsz;
- int msgflg;
-};
-#endif
-
-/*
- * MPSAFE
- */
-int
-msgsnd(struct thread *td, struct msgsnd_args *uap)
-{
- int msqid = uap->msqid;
- const void *user_msgp = uap->msgp;
- size_t msgsz = uap->msgsz;
- int msgflg = uap->msgflg;
- int segs_needed, error = 0;
- register struct msqid_ds *msqptr;
- register struct msg *msghdr;
- short next;
-
- DPRINTF(("call to msgsnd(%d, 0x%x, %d, %d)\n", msqid, user_msgp, msgsz,
- msgflg));
-
- if (!jail_sysvipc_allowed && jailed(td->td_ucred))
- return (ENOSYS);
-
- mtx_lock(&msq_mtx);
- msqid = IPCID_TO_IX(msqid);
-
- if (msqid < 0 || msqid >= msginfo.msgmni) {
- DPRINTF(("msqid (%d) out of range (0<=msqid<%d)\n", msqid,
- msginfo.msgmni));
- error = EINVAL;
- goto done2;
- }
-
- msqptr = &msqids[msqid];
- if (msqptr->msg_qbytes == 0) {
- DPRINTF(("no such message queue id\n"));
- error = EINVAL;
- goto done2;
- }
- if (msqptr->msg_perm.seq != IPCID_TO_SEQ(uap->msqid)) {
- DPRINTF(("wrong sequence number\n"));
- error = EINVAL;
- goto done2;
- }
-
- if ((error = ipcperm(td, &msqptr->msg_perm, IPC_W))) {
- DPRINTF(("requester doesn't have write access\n"));
- goto done2;
- }
-
- segs_needed = (msgsz + msginfo.msgssz - 1) / msginfo.msgssz;
- DPRINTF(("msgsz=%d, msgssz=%d, segs_needed=%d\n", msgsz, msginfo.msgssz,
- segs_needed));
- for (;;) {
- int need_more_resources = 0;
-
- /*
- * check msgsz
- * (inside this loop in case msg_qbytes changes while we sleep)
- */
-
- if (msgsz > msqptr->msg_qbytes) {
- DPRINTF(("msgsz > msqptr->msg_qbytes\n"));
- error = EINVAL;
- goto done2;
- }
-
- if (msqptr->msg_perm.mode & MSG_LOCKED) {
- DPRINTF(("msqid is locked\n"));
- need_more_resources = 1;
- }
- if (msgsz + msqptr->msg_cbytes > msqptr->msg_qbytes) {
- DPRINTF(("msgsz + msg_cbytes > msg_qbytes\n"));
- need_more_resources = 1;
- }
- if (segs_needed > nfree_msgmaps) {
- DPRINTF(("segs_needed > nfree_msgmaps\n"));
- need_more_resources = 1;
- }
- if (free_msghdrs == NULL) {
- DPRINTF(("no more msghdrs\n"));
- need_more_resources = 1;
- }
-
- if (need_more_resources) {
- int we_own_it;
-
- if ((msgflg & IPC_NOWAIT) != 0) {
- DPRINTF(("need more resources but caller "
- "doesn't want to wait\n"));
- error = EAGAIN;
- goto done2;
- }
-
- if ((msqptr->msg_perm.mode & MSG_LOCKED) != 0) {
- DPRINTF(("we don't own the msqid_ds\n"));
- we_own_it = 0;
- } else {
- /* Force later arrivals to wait for our
- request */
- DPRINTF(("we own the msqid_ds\n"));
- msqptr->msg_perm.mode |= MSG_LOCKED;
- we_own_it = 1;
- }
- DPRINTF(("goodnight\n"));
- error = msleep(msqptr, &msq_mtx, (PZERO - 4) | PCATCH,
- "msgwait", 0);
- DPRINTF(("good morning, error=%d\n", error));
- if (we_own_it)
- msqptr->msg_perm.mode &= ~MSG_LOCKED;
- if (error != 0) {
- DPRINTF(("msgsnd: interrupted system call\n"));
-#ifdef __CYGWIN__
- if (error != EIDRM)
-#endif /* __CYGWIN__ */
- error = EINTR;
- goto done2;
- }
-
- /*
- * Make sure that the msq queue still exists
- */
-
- if (msqptr->msg_qbytes == 0) {
- DPRINTF(("msqid deleted\n"));
- error = EIDRM;
- goto done2;
- }
-
- } else {
- DPRINTF(("got all the resources that we need\n"));
- break;
- }
- }
-
- /*
- * We have the resources that we need.
- * Make sure!
- */
-
- if (msqptr->msg_perm.mode & MSG_LOCKED)
- panic("msg_perm.mode & MSG_LOCKED");
- if (segs_needed > nfree_msgmaps)
- panic("segs_needed > nfree_msgmaps");
- if (msgsz + msqptr->msg_cbytes > msqptr->msg_qbytes)
- panic("msgsz + msg_cbytes > msg_qbytes");
- if (free_msghdrs == NULL)
- panic("no more msghdrs");
-
- /*
- * Re-lock the msqid_ds in case we page-fault when copying in the
- * message
- */
-
- if ((msqptr->msg_perm.mode & MSG_LOCKED) != 0)
- panic("msqid_ds is already locked");
- msqptr->msg_perm.mode |= MSG_LOCKED;
-
- /*
- * Allocate a message header
- */
-
- msghdr = free_msghdrs;
- free_msghdrs = msghdr->msg_next;
- msghdr->msg_spot = -1;
- msghdr->msg_ts = msgsz;
-
- /*
- * Allocate space for the message
- */
-
- while (segs_needed > 0) {
- if (nfree_msgmaps <= 0)
- panic("not enough msgmaps");
- if (free_msgmaps == -1)
- panic("nil free_msgmaps");
- next = free_msgmaps;
- if (next <= -1)
- panic("next too low #1");
- if (next >= msginfo.msgseg)
- panic("next out of range #1");
- DPRINTF(("allocating segment %d to message\n", next));
- free_msgmaps = msgmaps[next].next;
- nfree_msgmaps--;
- msgmaps[next].next = msghdr->msg_spot;
- msghdr->msg_spot = next;
- segs_needed--;
- }
-
- /*
- * Copy in the message type
- */
-
- mtx_unlock(&msq_mtx);
- if ((error = copyin(user_msgp, &msghdr->msg_type,
- sizeof(msghdr->msg_type))) != 0) {
- mtx_lock(&msq_mtx);
- DPRINTF(("error %d copying the message type\n", error));
- msg_freehdr(msghdr);
- msqptr->msg_perm.mode &= ~MSG_LOCKED;
- wakeup(msqptr);
- goto done2;
- }
- mtx_lock(&msq_mtx);
- user_msgp = (const char *)user_msgp + sizeof(msghdr->msg_type);
-
- /*
- * Validate the message type
- */
-
- if (msghdr->msg_type < 1) {
- msg_freehdr(msghdr);
- msqptr->msg_perm.mode &= ~MSG_LOCKED;
- wakeup(msqptr);
- DPRINTF(("mtype (%d) < 1\n", msghdr->msg_type));
- error = EINVAL;
- goto done2;
- }
-
- /*
- * Copy in the message body
- */
-
- next = msghdr->msg_spot;
- while (msgsz > 0) {
- size_t tlen;
- if (msgsz > (unsigned long) msginfo.msgssz)
- tlen = msginfo.msgssz;
- else
- tlen = msgsz;
- if (next <= -1)
- panic("next too low #2");
- if (next >= msginfo.msgseg)
- panic("next out of range #2");
- mtx_unlock(&msq_mtx);
- if ((error = copyin(user_msgp, &msgpool[next * msginfo.msgssz],
- tlen)) != 0) {
- mtx_lock(&msq_mtx);
- DPRINTF(("error %d copying in message segment\n",
- error));
- msg_freehdr(msghdr);
- msqptr->msg_perm.mode &= ~MSG_LOCKED;
- wakeup(msqptr);
- goto done2;
- }
- mtx_lock(&msq_mtx);
- msgsz -= tlen;
- user_msgp = (const char *)user_msgp + tlen;
- next = msgmaps[next].next;
- }
- if (next != -1)
- panic("didn't use all the msg segments");
-
- /*
- * We've got the message. Unlock the msqid_ds.
- */
-
- msqptr->msg_perm.mode &= ~MSG_LOCKED;
-
- /*
- * Make sure that the msqid_ds is still allocated.
- */
-
- if (msqptr->msg_qbytes == 0) {
- msg_freehdr(msghdr);
- wakeup(msqptr);
- error = EIDRM;
- goto done2;
- }
-
- /*
- * Put the message into the queue
- */
-
- if (msqptr->msg_first == NULL) {
- msqptr->msg_first = msghdr;
- msqptr->msg_last = msghdr;
- } else {
- msqptr->msg_last->msg_next = msghdr;
- msqptr->msg_last = msghdr;
- }
- msqptr->msg_last->msg_next = NULL;
-
- msqptr->msg_cbytes += msghdr->msg_ts;
- msqptr->msg_qnum++;
- msqptr->msg_lspid = td->td_proc->p_pid;
- msqptr->msg_stime = time (NULL);
-
-#ifdef __CYGWIN__
- msg_info.msg_num++;
- msg_info.msg_tot += uap->msgsz;
-#endif /* __CYGWIN__ */
-
- wakeup(msqptr);
- td->td_retval[0] = 0;
-done2:
- mtx_unlock(&msq_mtx);
- return (error);
-}
-
-#ifndef _SYS_SYSPROTO_H_
-struct msgrcv_args {
- int msqid;
- void *msgp;
- size_t msgsz;
- long msgtyp;
- int msgflg;
-};
-#endif
-
-/*
- * MPSAFE
- */
-int
-msgrcv(struct thread *td, struct msgrcv_args *uap)
-{
- int msqid = uap->msqid;
- void *user_msgp = uap->msgp;
- size_t msgsz = uap->msgsz;
- long msgtyp = uap->msgtyp;
- int msgflg = uap->msgflg;
- size_t len;
- register struct msqid_ds *msqptr;
- register struct msg *msghdr;
- int error = 0;
- short next;
-
- DPRINTF(("call to msgrcv(%d, 0x%x, %d, %ld, %d)\n", msqid, user_msgp,
- msgsz, msgtyp, msgflg));
-
- if (!jail_sysvipc_allowed && jailed(td->td_ucred))
- return (ENOSYS);
-
- msqid = IPCID_TO_IX(msqid);
-
- if (msqid < 0 || msqid >= msginfo.msgmni) {
- DPRINTF(("msqid (%d) out of range (0<=msqid<%d)\n", msqid,
- msginfo.msgmni));
- return (EINVAL);
- }
-
- msqptr = &msqids[msqid];
- mtx_lock(&msq_mtx);
- if (msqptr->msg_qbytes == 0) {
- DPRINTF(("no such message queue id\n"));
- error = EINVAL;
- goto done2;
- }
- if (msqptr->msg_perm.seq != IPCID_TO_SEQ(uap->msqid)) {
- DPRINTF(("wrong sequence number\n"));
- error = EINVAL;
- goto done2;
- }
-
- if ((error = ipcperm(td, &msqptr->msg_perm, IPC_R))) {
- DPRINTF(("requester doesn't have read access\n"));
- goto done2;
- }
-
- msghdr = NULL;
- while (msghdr == NULL) {
- if (msgtyp == 0) {
- msghdr = msqptr->msg_first;
- if (msghdr != NULL) {
- if (msgsz < msghdr->msg_ts &&
- (msgflg & MSG_NOERROR) == 0) {
- DPRINTF(("first message on the queue "
- "is too big (want %d, got %d)\n",
- msgsz, msghdr->msg_ts));
- error = E2BIG;
- goto done2;
- }
- if (msqptr->msg_first == msqptr->msg_last) {
- msqptr->msg_first = NULL;
- msqptr->msg_last = NULL;
- } else {
- msqptr->msg_first = msghdr->msg_next;
- if (msqptr->msg_first == NULL)
- panic("msg_first/last screwed up #1");
- }
- }
- } else {
- struct msg *previous;
- struct msg **prev;
-
- previous = NULL;
- prev = &(msqptr->msg_first);
- while ((msghdr = *prev) != NULL) {
- /*
- * Is this message's type an exact match or is
- * this message's type less than or equal to
- * the absolute value of a negative msgtyp?
- * Note that the second half of this test can
- * NEVER be true if msgtyp is positive since
- * msg_type is always positive!
- */
-
- if (msgtyp == msghdr->msg_type ||
- msghdr->msg_type <= -msgtyp) {
- DPRINTF(("found message type %d, "
- "requested %d\n",
- msghdr->msg_type, msgtyp));
- if (msgsz < msghdr->msg_ts &&
- (msgflg & MSG_NOERROR) == 0) {
- DPRINTF(("requested message "
- "on the queue is too big "
- "(want %d, got %d)\n",
- msgsz, msghdr->msg_ts));
- error = E2BIG;
- goto done2;
- }
- *prev = msghdr->msg_next;
- if (msghdr == msqptr->msg_last) {
- if (previous == NULL) {
- if (prev !=
- &msqptr->msg_first)
- panic("msg_first/last screwed up #2");
- msqptr->msg_first =
- NULL;
- msqptr->msg_last =
- NULL;
- } else {
- if (prev ==
- &msqptr->msg_first)
- panic("msg_first/last screwed up #3");
- msqptr->msg_last =
- previous;
- }
- }
- break;
- }
- previous = msghdr;
- prev = &(msghdr->msg_next);
- }
- }
-
- /*
- * We've either extracted the msghdr for the appropriate
- * message or there isn't one.
- * If there is one then bail out of this loop.
- */
-
- if (msghdr != NULL)
- break;
-
- /*
- * Hmph! No message found. Does the user want to wait?
- */
-
- if ((msgflg & IPC_NOWAIT) != 0) {
- DPRINTF(("no appropriate message found (msgtyp=%d)\n",
- msgtyp));
- /* The SVID says to return ENOMSG. */
- error = ENOMSG;
- goto done2;
- }
-
- /*
- * Wait for something to happen
- */
-
- DPRINTF(("msgrcv: goodnight\n"));
- error = msleep(msqptr, &msq_mtx, (PZERO - 4) | PCATCH,
- "msgwait", 0);
- DPRINTF(("msgrcv: good morning (error=%d)\n", error));
-
- if (error != 0) {
- DPRINTF(("msgsnd: interrupted system call\n"));
-#ifdef __CYGWIN__
- if (error != EIDRM)
-#endif /* __CYGWIN__ */
- error = EINTR;
- goto done2;
- }
-
- /*
- * Make sure that the msq queue still exists
- */
-
- if (msqptr->msg_qbytes == 0 ||
- msqptr->msg_perm.seq != IPCID_TO_SEQ(uap->msqid)) {
- DPRINTF(("msqid deleted\n"));
- error = EIDRM;
- goto done2;
- }
- }
-
- /*
- * Return the message to the user.
- *
- * First, do the bookkeeping (before we risk being interrupted).
- */
-
- msqptr->msg_cbytes -= msghdr->msg_ts;
- msqptr->msg_qnum--;
- msqptr->msg_lrpid = td->td_proc->p_pid;
- msqptr->msg_rtime = time (NULL);
-
- /*
- * Make msgsz the actual amount that we'll be returning.
- * Note that this effectively truncates the message if it is too long
- * (since msgsz is never increased).
- */
-
- DPRINTF(("found a message, msgsz=%d, msg_ts=%d\n", msgsz,
- msghdr->msg_ts));
- if (msgsz > msghdr->msg_ts)
- msgsz = msghdr->msg_ts;
-
- /*
- * Return the type to the user.
- */
-
- mtx_unlock(&msq_mtx);
- error = copyout(&(msghdr->msg_type), user_msgp,
- sizeof(msghdr->msg_type));
- mtx_lock(&msq_mtx);
- if (error != 0) {
- DPRINTF(("error (%d) copying out message type\n", error));
- msg_freehdr(msghdr);
- wakeup(msqptr);
- goto done2;
- }
- user_msgp = (char *)user_msgp + sizeof(msghdr->msg_type);
-
- /*
- * Return the segments to the user
- */
-
- next = msghdr->msg_spot;
- for (len = 0; len < msgsz; len += msginfo.msgssz) {
- size_t tlen;
-
- if (msgsz - len > (unsigned long) msginfo.msgssz)
- tlen = msginfo.msgssz;
- else
- tlen = msgsz - len;
- if (next <= -1)
- panic("next too low #3");
- if (next >= msginfo.msgseg)
- panic("next out of range #3");
- mtx_unlock(&msq_mtx);
- error = copyout(&msgpool[next * msginfo.msgssz],
- user_msgp, tlen);
- mtx_lock(&msq_mtx);
- if (error != 0) {
- DPRINTF(("error (%d) copying out message segment\n",
- error));
- msg_freehdr(msghdr);
- wakeup(msqptr);
- goto done2;
- }
- user_msgp = (char *)user_msgp + tlen;
- next = msgmaps[next].next;
- }
-
- /*
- * Done, return the actual number of bytes copied out.
- */
-
-#ifdef __CYGWIN__
- msg_info.msg_num--;
- msg_info.msg_tot -= msgsz;
-#endif /* __CYGWIN__ */
-
- msg_freehdr(msghdr);
- wakeup(msqptr);
- td->td_retval[0] = msgsz;
-done2:
- mtx_unlock(&msq_mtx);
- return (error);
-}
-
-#ifndef __CYGWIN__
-static int
-sysctl_msqids(SYSCTL_HANDLER_ARGS)
-{
-
- return (SYSCTL_OUT(req, msqids,
- sizeof(struct msqid_ds) * msginfo.msgmni));
-}
-
-SYSCTL_DECL(_kern_ipc);
-SYSCTL_INT(_kern_ipc, OID_AUTO, msgmax, CTLFLAG_RD, &msginfo.msgmax, 0, "");
-SYSCTL_INT(_kern_ipc, OID_AUTO, msgmni, CTLFLAG_RDTUN, &msginfo.msgmni, 0, "");
-SYSCTL_INT(_kern_ipc, OID_AUTO, msgmnb, CTLFLAG_RD, &msginfo.msgmnb, 0, "");
-SYSCTL_INT(_kern_ipc, OID_AUTO, msgtql, CTLFLAG_RD, &msginfo.msgtql, 0, "");
-SYSCTL_INT(_kern_ipc, OID_AUTO, msgssz, CTLFLAG_RDTUN, &msginfo.msgssz, 0, "");
-SYSCTL_INT(_kern_ipc, OID_AUTO, msgseg, CTLFLAG_RDTUN, &msginfo.msgseg, 0, "");
-SYSCTL_PROC(_kern_ipc, OID_AUTO, msqids, CTLFLAG_RD,
- NULL, 0, sysctl_msqids, "", "Message queue IDs");
-#endif /* __CYGWIN__ */
-#endif /* __OUTSIDE_CYGWIN__ */
diff --git a/winsup/cygserver/sysv_sem.cc b/winsup/cygserver/sysv_sem.cc
deleted file mode 100644
index ee1bda856..000000000
--- a/winsup/cygserver/sysv_sem.cc
+++ /dev/null
@@ -1,1385 +0,0 @@
-/*
- * Implementation of SVID semaphores
- *
- * Author: Daniel Boulet
- *
- * This software is provided ``AS IS'' without any warranties of any kind.
- */
-
-/*
- * This file is heavily changed to become part of Cygwin's cygserver.
- */
-
-#ifdef __OUTSIDE_CYGWIN__
-#include "woutsup.h"
-#include <sys/cygwin.h>
-#include <sys/cdefs.h>
-#ifndef __FBSDID
-#define __FBSDID(s) const char version[] = (s)
-#endif
-__FBSDID("$FreeBSD: /repoman/r/ncvs/src/sys/kern/sysv_sem.c,v 1.70 2004/05/30 20:34:58 phk Exp $");
-
-#define _KERNEL 1
-#define __BSD_VISIBLE 1
-#include <sys/types.h>
-#include <sys/ipc.h>
-
-#include <sys/param.h>
-#include <sys/sysproto.h>
-#include <sys/lock.h>
-#include <sys/sem.h>
-#include <sys/queue.h>
-#include <malloc.h>
-#include <errno.h>
-#include <time.h>
-#include "cygserver.h"
-#include "process.h"
-#include "cygserver_ipc.h"
-#include <sys/smallprint.h>
-
-#ifdef __CYGWIN__
-#define __semctl semctl
-#define __semctl_args semctl_args
-#define SEM_DEBUG
-#endif /* __CYGWIN__ */
-
-#ifdef SEM_DEBUG
-#define DPRINTF(a) debug_printf a
-#else
-#define DPRINTF(a)
-#endif
-
-static int semvalid(int semid, struct semid_ds *semaptr);
-
-static struct sem_undo *semu_alloc(struct thread *td);
-static int semundo_adjust(struct thread *td, struct sem_undo **supptr,
- int semid, int semnum, int adjval);
-static void semundo_clear(int semid, int semnum, struct thread *td);
-
-#ifndef _SYS_SYSPROTO_H_
-struct __semctl_args;
-int __semctl(struct thread *td, struct __semctl_args *uap);
-struct semget_args;
-int semget(struct thread *td, struct semget_args *uap);
-struct semop_args;
-int semop(struct thread *td, struct semop_args *uap);
-#endif
-
-#ifndef __CYGWIN__
-/* XXX casting to (sy_call_t *) is bogus, as usual. */
-static sy_call_t *semcalls[] = {
- (sy_call_t *)__semctl, (sy_call_t *)semget,
- (sy_call_t *)semop
-};
-#endif
-
-static struct mtx sem_mtx; /* semaphore global lock */
-static int semtots = 0;
-static int semtot = 0;
-static struct semid_ds *sema; /* semaphore id pool */
-static struct mtx *sema_mtx; /* semaphore id pool mutexes*/
-static struct sem *sem; /* semaphore pool */
-static SLIST_HEAD(, sem_undo) semu_list; /* list of active undo structures */
-static int *semu; /* undo structure pool */
-#ifndef __CYGWIN__
-static eventhandler_tag semexit_tag;
-#endif /* __CYGWIN__ */
-
-#define SEMUNDO_MTX sem_mtx
-#define SEMUNDO_LOCK() mtx_lock(&SEMUNDO_MTX);
-#define SEMUNDO_HOOKLOCK() _mtx_lock(&SEMUNDO_MTX, p->winpid, __FILE__, __LINE__);
-#define SEMUNDO_UNLOCK() mtx_unlock(&SEMUNDO_MTX);
-#define SEMUNDO_LOCKASSERT(how,pid) mtx_assert(&SEMUNDO_MTX, (how), (pid));
-
-struct sem {
- u_short semval; /* semaphore value */
- pid_t sempid; /* pid of last operation */
- u_short semncnt; /* # awaiting semval > cval */
- u_short semzcnt; /* # awaiting semval = 0 */
-};
-
-/*
- * Undo structure (one per process)
- */
-struct undo {
- short un_adjval; /* adjust on exit values */
- short un_num; /* semaphore # */
- int un_id; /* semid */
-} un_ent[1]; /* undo entries */
-
-struct sem_undo {
- SLIST_ENTRY(sem_undo) un_next; /* ptr to next active undo structure */
-#ifdef __CYGWIN__
- DWORD un_proc; /* owner of this structure */
-#else
- struct proc *un_proc; /* owner of this structure */
-#endif
- short un_cnt; /* # of active entries */
- struct undo un_ent[1]; /* undo entries */
-};
-
-/*
- * Configuration parameters
- */
-#ifndef SEMMNI
-#define SEMMNI 10 /* # of semaphore identifiers */
-#endif
-#ifndef SEMMNS
-#define SEMMNS 60 /* # of semaphores in system */
-#endif
-#ifndef SEMUME
-#define SEMUME 10 /* max # of undo entries per process */
-#endif
-#ifndef SEMMNU
-#define SEMMNU 30 /* # of undo structures in system */
-#endif
-
-/* shouldn't need tuning */
-#ifndef SEMMAP
-#define SEMMAP 30 /* # of entries in semaphore map */
-#endif
-#ifndef SEMMSL
-#define SEMMSL SEMMNS /* max # of semaphores per id */
-#endif
-#ifndef SEMOPM
-#define SEMOPM 100 /* max # of operations per semop call */
-#endif
-
-#ifndef SEMVMX
-#define SEMVMX 32767 /* semaphore maximum value */
-#endif
-#ifndef SEMAEM
-#define SEMAEM 16384 /* adjust on exit max value */
-#endif
-
-#ifdef __CYGWIN__
-/* gcc 3.4 defines a new offsetof which is different for C++. Since this
- file is just a derived plain-C file, we need to revert to the plain-C
- definition of offsetof. */
-#ifdef offsetof
-#undef offsetof
-#endif
-#define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER)
-#endif /* __CYGWIN__ */
-/*
- * Due to the way semaphore memory is allocated, we have to ensure that
- * SEMUSZ is properly aligned.
- */
-
-#define SEM_ALIGN(bytes) (((bytes) + (sizeof(long) - 1)) & ~(sizeof(long) - 1))
-
-/* actual size of an undo structure */
-#define SEMUSZ SEM_ALIGN(offsetof(struct sem_undo, un_ent[SEMUME]))
-
-/*
- * Macro to find a particular sem_undo vector
- */
-#define SEMU(ix) \
- ((struct sem_undo *)(((intptr_t)semu)+ix * seminfo.semusz))
-
-/*
- * semaphore info struct
- */
-struct seminfo seminfo = {
- SEMMNI, /* # of semaphore identifiers */
- SEMMNS, /* # of semaphores in system */
- SEMMSL, /* max # of semaphores per id */
- SEMOPM, /* max # of operations per semop call */
- SEMMNU, /* # of undo structures in system */
- SEMUME, /* max # of undo entries per process */
- SEMVMX, /* semaphore maximum value */
- SEMAEM, /* adjust on exit max value */
- SEMMAP, /* # of entries in semaphore map */
- SEMUSZ /* size in bytes of undo structure */
-};
-
-#ifndef __CYGWIN__
-SYSCTL_DECL(_kern_ipc);
-SYSCTL_INT(_kern_ipc, OID_AUTO, semmap, CTLFLAG_RW, &seminfo.semmap, 0, "");
-SYSCTL_INT(_kern_ipc, OID_AUTO, semmni, CTLFLAG_RDTUN, &seminfo.semmni, 0, "");
-SYSCTL_INT(_kern_ipc, OID_AUTO, semmns, CTLFLAG_RDTUN, &seminfo.semmns, 0, "");
-SYSCTL_INT(_kern_ipc, OID_AUTO, semmnu, CTLFLAG_RDTUN, &seminfo.semmnu, 0, "");
-SYSCTL_INT(_kern_ipc, OID_AUTO, semmsl, CTLFLAG_RW, &seminfo.semmsl, 0, "");
-SYSCTL_INT(_kern_ipc, OID_AUTO, semopm, CTLFLAG_RDTUN, &seminfo.semopm, 0, "");
-SYSCTL_INT(_kern_ipc, OID_AUTO, semume, CTLFLAG_RDTUN, &seminfo.semume, 0, "");
-SYSCTL_INT(_kern_ipc, OID_AUTO, semusz, CTLFLAG_RDTUN, &seminfo.semusz, 0, "");
-SYSCTL_INT(_kern_ipc, OID_AUTO, semvmx, CTLFLAG_RW, &seminfo.semvmx, 0, "");
-SYSCTL_INT(_kern_ipc, OID_AUTO, semaem, CTLFLAG_RW, &seminfo.semaem, 0, "");
-SYSCTL_PROC(_kern_ipc, OID_AUTO, sema, CTLFLAG_RD,
- NULL, 0, sysctl_sema, "", "");
-#endif /* __CYGWIN__ */
-
-void
-seminit(void)
-{
- int i;
-
- TUNABLE_INT_FETCH("kern.ipc.semmap", &seminfo.semmap);
- TUNABLE_INT_FETCH("kern.ipc.semmni", &seminfo.semmni);
- TUNABLE_INT_FETCH("kern.ipc.semmns", &seminfo.semmns);
- TUNABLE_INT_FETCH("kern.ipc.semmnu", &seminfo.semmnu);
- TUNABLE_INT_FETCH("kern.ipc.semmsl", &seminfo.semmsl);
- TUNABLE_INT_FETCH("kern.ipc.semopm", &seminfo.semopm);
- TUNABLE_INT_FETCH("kern.ipc.semume", &seminfo.semume);
- TUNABLE_INT_FETCH("kern.ipc.semusz", &seminfo.semusz);
- TUNABLE_INT_FETCH("kern.ipc.semvmx", &seminfo.semvmx);
- TUNABLE_INT_FETCH("kern.ipc.semaem", &seminfo.semaem);
-
-#ifdef __CYGWIN__
- /* It's too dangerous a setting to leave it alone.
- Keep that clean here. */
- seminfo.semusz = SEM_ALIGN(offsetof(struct sem_undo,
- un_ent[seminfo.semume]));
-#endif /* __CYGWIN__ */
-
- sem = (struct sem *) sys_malloc(sizeof(struct sem) * seminfo.semmns, M_SEM, M_WAITOK);
- sema = (struct semid_ds *) sys_malloc(sizeof(struct semid_ds) * seminfo.semmni, M_SEM,
- M_WAITOK);
- sema_mtx = (struct mtx *) sys_malloc(sizeof(struct mtx) * seminfo.semmni, M_SEM,
- M_WAITOK | M_ZERO);
- semu = (int *) sys_malloc(seminfo.semmnu * seminfo.semusz, M_SEM, M_WAITOK);
-
- for (i = 0; i < seminfo.semmni; i++) {
- sema[i].sem_base = 0;
- sema[i].sem_perm.mode = 0;
- sema[i].sem_perm.seq = 0;
- }
- for (i = 0; i < seminfo.semmni; i++)
- {
- char *buf = (char *)malloc (16);
- __small_sprintf (buf, "semid[%d]", i);
- mtx_init(&sema_mtx[i], buf, NULL, MTX_DEF);
- }
- for (i = 0; i < seminfo.semmnu; i++) {
- struct sem_undo *suptr = SEMU(i);
-#ifdef __CYGWIN__
- suptr->un_proc = 0;
-#else
- suptr->un_proc = NULL;
-#endif
- }
- SLIST_INIT(&semu_list);
- mtx_init(&sem_mtx, "sem", NULL, MTX_DEF);
-#ifndef __CYGWIN__
- semexit_tag = EVENTHANDLER_REGISTER(process_exit, semexit_myhook, NULL,
- EVENTHANDLER_PRI_ANY);
-#endif /* __CYGWIN__ */
-}
-
-int
-semunload(void)
-{
-#ifndef __CYGWIN__ /* Would result in being unable to shutdown the
- server gracefully. */
- if (semtot != 0)
- return (EBUSY);
-
- EVENTHANDLER_DEREGISTER(process_exit, semexit_tag);
-#endif /* __CYGWIN__ */
- sys_free(sem, M_SEM);
- sys_free(sema, M_SEM);
- sys_free(semu, M_SEM);
- for (int i = 0; i < seminfo.semmni; i++)
- mtx_destroy(&sema_mtx[i]);
- mtx_destroy(&sem_mtx);
- return (0);
-}
-
-#ifndef __CYGWIN__
-static int
-sysvsem_modload(struct module *module, int cmd, void *arg)
-{
- int error = 0;
-
- switch (cmd) {
- case MOD_LOAD:
- seminit();
- break;
- case MOD_UNLOAD:
- error = semunload();
- break;
- case MOD_SHUTDOWN:
- break;
- default:
- error = EINVAL;
- break;
- }
- return (error);
-}
-
-static moduledata_t sysvsem_mod = {
- "sysvsem",
- &sysvsem_modload,
- NULL
-};
-
-SYSCALL_MODULE_HELPER(semsys);
-SYSCALL_MODULE_HELPER(__semctl);
-SYSCALL_MODULE_HELPER(semget);
-SYSCALL_MODULE_HELPER(semop);
-
-DECLARE_MODULE(sysvsem, sysvsem_mod,
- SI_SUB_SYSV_SEM, SI_ORDER_FIRST);
-MODULE_VERSION(sysvsem, 1);
-
-/*
- * Entry point for all SEM calls
- *
- * MPSAFE
- */
-int
-semsys(td, uap)
- struct thread *td;
- /* XXX actually varargs. */
- struct semsys_args /* {
- int which;
- int a2;
- int a3;
- int a4;
- int a5;
- } */ *uap;
-{
- int error;
-
- if (!jail_sysvipc_allowed && jailed(td->td_ucred))
- return (ENOSYS);
- if (uap->which < 0 ||
- uap->which >= sizeof(semcalls)/sizeof(semcalls[0]))
- return (EINVAL);
- error = (*semcalls[uap->which])(td, &uap->a2);
- return (error);
-}
-#endif /* __CYGWIN__ */
-
-/*
- * Allocate a new sem_undo structure for a process
- * (returns ptr to structure or NULL if no more room)
- */
-
-static struct sem_undo *
-semu_alloc(struct thread *td)
-{
- int i;
- struct sem_undo *suptr;
- struct sem_undo **supptr;
- int attempt;
-
- SEMUNDO_LOCKASSERT(MA_OWNED, td->td_proc->winpid);
- /*
- * Try twice to allocate something.
- * (we'll purge an empty structure after the first pass so
- * two passes are always enough)
- */
-
- for (attempt = 0; attempt < 2; attempt++) {
- /*
- * Look for a free structure.
- * Fill it in and return it if we find one.
- */
-
- for (i = 0; i < seminfo.semmnu; i++) {
- suptr = SEMU(i);
-#ifdef __CYGWIN__
- if (suptr->un_proc == 0) {
-#else
- if (suptr->un_proc == NULL) {
-#endif
- SLIST_INSERT_HEAD(&semu_list, suptr, un_next);
- suptr->un_cnt = 0;
- suptr->un_proc = td->td_proc->winpid;
- return(suptr);
- }
- }
-
- /*
- * We didn't find a free one, if this is the first attempt
- * then try to free a structure.
- */
-
- if (attempt == 0) {
- /* All the structures are in use - try to free one */
- int did_something = 0;
-
- SLIST_FOREACH_PREVPTR(suptr, supptr, &semu_list,
- un_next) {
- if (suptr->un_cnt == 0) {
-#ifdef __CYGWIN__
- suptr->un_proc = 0;
-#else
- suptr->un_proc = NULL;
-#endif
- did_something = 1;
- *supptr = SLIST_NEXT(suptr, un_next);
- break;
- }
- }
-
- /* If we didn't free anything then just give-up */
- if (!did_something)
- return(NULL);
- } else {
- /*
- * The second pass failed even though we freed
- * something after the first pass!
- * This is IMPOSSIBLE!
- */
- panic("semu_alloc - second attempt failed");
- }
- }
- return (NULL);
-}
-
-/*
- * Adjust a particular entry for a particular proc
- */
-
-static int
-semundo_adjust(struct thread *td, struct sem_undo **supptr, int semid,
- int semnum, int adjval)
-{
- struct proc *p = td->td_proc;
- struct sem_undo *suptr;
- struct undo *sunptr;
- int i;
-
- SEMUNDO_LOCKASSERT(MA_OWNED, td->td_proc->winpid);
- /* Look for and remember the sem_undo if the caller doesn't provide
- it */
-
- suptr = *supptr;
- if (suptr == NULL) {
- SLIST_FOREACH(suptr, &semu_list, un_next) {
-#ifdef __CYGWIN__
- if (suptr->un_proc == p->winpid) {
-#else
- if (suptr->un_proc == p) {
-#endif
- *supptr = suptr;
- break;
- }
- }
- if (suptr == NULL) {
- if (adjval == 0)
- return(0);
- suptr = semu_alloc(td);
- if (suptr == NULL)
- return(ENOSPC);
- *supptr = suptr;
- }
- }
-
- /*
- * Look for the requested entry and adjust it (delete if adjval becomes
- * 0).
- */
- sunptr = &suptr->un_ent[0];
- for (i = 0; i < suptr->un_cnt; i++, sunptr++) {
- if (sunptr->un_id != semid || sunptr->un_num != semnum)
- continue;
- if (adjval != 0) {
- adjval += sunptr->un_adjval;
- if (adjval > seminfo.semaem || adjval < -seminfo.semaem)
- return (ERANGE);
- }
- sunptr->un_adjval = adjval;
- if (sunptr->un_adjval == 0) {
- suptr->un_cnt--;
- if (i < suptr->un_cnt)
- suptr->un_ent[i] =
- suptr->un_ent[suptr->un_cnt];
- }
- return(0);
- }
-
- /* Didn't find the right entry - create it */
- if (adjval == 0)
- return(0);
- if (adjval > seminfo.semaem || adjval < -seminfo.semaem)
- return (ERANGE);
- if (suptr->un_cnt != seminfo.semume) {
- sunptr = &suptr->un_ent[suptr->un_cnt];
- suptr->un_cnt++;
- sunptr->un_adjval = adjval;
- sunptr->un_id = semid; sunptr->un_num = semnum;
- } else
- return(EINVAL);
- return(0);
-}
-
-static void
-semundo_clear(int semid, int semnum, struct thread *td)
-{
- struct sem_undo *suptr;
-
- SEMUNDO_LOCKASSERT(MA_OWNED, td->td_proc->winpid);
- SLIST_FOREACH(suptr, &semu_list, un_next) {
- struct undo *sunptr = &suptr->un_ent[0];
- int i = 0;
-
- while (i < suptr->un_cnt) {
- if (sunptr->un_id == semid) {
- if (semnum == -1 || sunptr->un_num == semnum) {
- suptr->un_cnt--;
- if (i < suptr->un_cnt) {
- suptr->un_ent[i] =
- suptr->un_ent[suptr->un_cnt];
- continue;
- }
- }
- if (semnum != -1)
- break;
- }
- i++, sunptr++;
- }
- }
-}
-
-static int
-semvalid(int semid, struct semid_ds *semaptr)
-{
-
- return ((semaptr->sem_perm.mode & SEM_ALLOC) == 0 ||
- semaptr->sem_perm.seq != IPCID_TO_SEQ(semid) ? EINVAL : 0);
-}
-
-/*
- * Note that the user-mode half of this passes a union, not a pointer
- */
-#ifndef _SYS_SYSPROTO_H_
-struct __semctl_args {
- int semid;
- int semnum;
- int cmd;
- union semun *arg;
-};
-#endif
-
-/*
- * MPSAFE
- */
-int
-__semctl(struct thread *td, struct __semctl_args *uap)
-{
- int semid = uap->semid;
- int semnum = uap->semnum;
- int cmd = uap->cmd;
- u_short *array;
- union semun *arg = uap->arg;
- union semun real_arg;
-#ifndef __CYGWIN__
- struct ucred *cred = td->td_ucred;
-#endif
- int i, rval, error;
- struct semid_ds sbuf;
- struct semid_ds *semaptr;
- struct mtx *sema_mtxp;
- u_short usval, count;
-
- DPRINTF(("call to semctl(%d, %d, %d, 0x%x)\n",
- semid, semnum, cmd, arg));
- if (!jail_sysvipc_allowed && jailed(td->td_ucred))
- return (ENOSYS);
-
- array = NULL;
-
- switch(cmd) {
-#ifdef __CYGWIN__
- case IPC_INFO:
- if ((error = copyin(arg, &real_arg, sizeof(real_arg))) != 0)
- return (error);
- if (!semid) {
- error = copyout(&seminfo, real_arg.buf,
- sizeof(struct seminfo));
- td->td_retval[0] = error ? -1 : 0;
- return (error);
- }
- if (semid > seminfo.semmni)
- semid = seminfo.semmni;
- error = copyout(sema, real_arg.buf,
- semid * sizeof(struct semid_ds));
- td->td_retval[0] = error ? -1 : 0;
- return (error);
- case SEM_INFO:
- if (!(error = copyin(arg, &real_arg, sizeof(real_arg)))) {
- struct sem_info sem_info;
- sem_info.sem_ids = semtots;
- sem_info.sem_num = semtot;
- error = copyout(&sem_info, real_arg.buf,
- sizeof(struct sem_info));
- }
- td->td_retval[0] = error ? -1 : 0;
- return (error);
-
-#endif /* __CYGWIN__ */
- case SEM_STAT:
- if (semid < 0 || semid >= seminfo.semmni)
- return (EINVAL);
- if ((error = copyin(arg, &real_arg, sizeof(real_arg))) != 0)
- return (error);
- semaptr = &sema[semid];
- sema_mtxp = &sema_mtx[semid];
- mtx_lock(sema_mtxp);
- if ((semaptr->sem_perm.mode & SEM_ALLOC) == 0) {
- error = EINVAL;
- goto done2;
- }
- if ((error = ipcperm(td, &semaptr->sem_perm, IPC_R)))
- goto done2;
- mtx_unlock(sema_mtxp);
- error = copyout(semaptr, real_arg.buf, sizeof(struct semid_ds));
- rval = IXSEQ_TO_IPCID(semid,semaptr->sem_perm);
- if (error == 0)
- td->td_retval[0] = rval;
- return (error);
- }
-
- semid = IPCID_TO_IX(semid);
- if (semid < 0 || semid >= seminfo.semmni)
- return (EINVAL);
-
- semaptr = &sema[semid];
- sema_mtxp = &sema_mtx[semid];
-
- error = 0;
- rval = 0;
-
- switch (cmd) {
- case IPC_RMID:
- mtx_lock(sema_mtxp);
- if ((error = semvalid(uap->semid, semaptr)) != 0)
- goto done2;
- if ((error = ipcperm(td, &semaptr->sem_perm, IPC_M)))
- goto done2;
-#ifdef __CYGWIN__
- semaptr->sem_perm.cuid = td->ipcblk->uid;
- semaptr->sem_perm.uid = td->ipcblk->uid;
-#else
- semaptr->sem_perm.cuid = cred->cr_uid;
- semaptr->sem_perm.uid = cred->cr_uid;
-#endif
- semtot -= semaptr->sem_nsems;
- semtots--;
- for (i = semaptr->sem_base - sem; i < semtot; i++)
- sem[i] = sem[i + semaptr->sem_nsems];
- for (i = 0; i < seminfo.semmni; i++) {
- if ((sema[i].sem_perm.mode & SEM_ALLOC) &&
- sema[i].sem_base > semaptr->sem_base)
- sema[i].sem_base -= semaptr->sem_nsems;
- }
- semaptr->sem_perm.mode = 0;
- SEMUNDO_LOCK();
- semundo_clear(semid, -1, td);
- SEMUNDO_UNLOCK();
- wakeup(semaptr);
- break;
-
- case IPC_SET:
- if ((error = copyin(arg, &real_arg, sizeof(real_arg))) != 0)
- goto done2;
- if ((error = copyin(real_arg.buf, &sbuf, sizeof(sbuf))) != 0)
- goto done2;
- mtx_lock(sema_mtxp);
- if ((error = semvalid(uap->semid, semaptr)) != 0)
- goto done2;
- if ((error = ipcperm(td, &semaptr->sem_perm, IPC_M)))
- goto done2;
- semaptr->sem_perm.uid = sbuf.sem_perm.uid;
- semaptr->sem_perm.gid = sbuf.sem_perm.gid;
- semaptr->sem_perm.mode = (semaptr->sem_perm.mode & ~0777) |
- (sbuf.sem_perm.mode & 0777);
- semaptr->sem_ctime = time (NULL);
- break;
-
- case IPC_STAT:
- if ((error = copyin(arg, &real_arg, sizeof(real_arg))) != 0)
- goto done2;
- mtx_lock(sema_mtxp);
- if ((error = semvalid(uap->semid, semaptr)) != 0)
- goto done2;
- if ((error = ipcperm(td, &semaptr->sem_perm, IPC_R)))
- goto done2;
- sbuf = *semaptr;
- mtx_unlock(sema_mtxp);
- error = copyout(semaptr, real_arg.buf,
- sizeof(struct semid_ds));
- break;
-
- case GETNCNT:
- mtx_lock(sema_mtxp);
- if ((error = semvalid(uap->semid, semaptr)) != 0)
- goto done2;
- if ((error = ipcperm(td, &semaptr->sem_perm, IPC_R)))
- goto done2;
- if (semnum < 0 || semnum >= semaptr->sem_nsems) {
- error = EINVAL;
- goto done2;
- }
- rval = semaptr->sem_base[semnum].semncnt;
- break;
-
- case GETPID:
- mtx_lock(sema_mtxp);
- if ((error = semvalid(uap->semid, semaptr)) != 0)
- goto done2;
- if ((error = ipcperm(td, &semaptr->sem_perm, IPC_R)))
- goto done2;
- if (semnum < 0 || semnum >= semaptr->sem_nsems) {
- error = EINVAL;
- goto done2;
- }
- rval = semaptr->sem_base[semnum].sempid;
- break;
-
- case GETVAL:
- mtx_lock(sema_mtxp);
- if ((error = semvalid(uap->semid, semaptr)) != 0)
- goto done2;
- if ((error = ipcperm(td, &semaptr->sem_perm, IPC_R)))
- goto done2;
- if (semnum < 0 || semnum >= semaptr->sem_nsems) {
- error = EINVAL;
- goto done2;
- }
- rval = semaptr->sem_base[semnum].semval;
- break;
-
- case GETALL:
- if ((error = copyin(arg, &real_arg, sizeof(real_arg))) != 0)
- goto done2;
- array = (u_short *) sys_malloc(sizeof(*array) * semaptr->sem_nsems, M_TEMP,
- M_WAITOK);
- mtx_lock(sema_mtxp);
- if ((error = semvalid(uap->semid, semaptr)) != 0)
- goto done2;
- if ((error = ipcperm(td, &semaptr->sem_perm, IPC_R)))
- goto done2;
- for (i = 0; i < semaptr->sem_nsems; i++)
- array[i] = semaptr->sem_base[i].semval;
- mtx_unlock(sema_mtxp);
- error = copyout(array, real_arg.array,
- i * sizeof(real_arg.array[0]));
- break;
-
- case GETZCNT:
- mtx_lock(sema_mtxp);
- if ((error = semvalid(uap->semid, semaptr)) != 0)
- goto done2;
- if ((error = ipcperm(td, &semaptr->sem_perm, IPC_R)))
- goto done2;
- if (semnum < 0 || semnum >= semaptr->sem_nsems) {
- error = EINVAL;
- goto done2;
- }
- rval = semaptr->sem_base[semnum].semzcnt;
- break;
-
- case SETVAL:
- if ((error = copyin(arg, &real_arg, sizeof(real_arg))) != 0)
- goto done2;
- mtx_lock(sema_mtxp);
- if ((error = semvalid(uap->semid, semaptr)) != 0)
- goto done2;
- if ((error = ipcperm(td, &semaptr->sem_perm, IPC_W)))
- goto done2;
- if (semnum < 0 || semnum >= semaptr->sem_nsems) {
- error = EINVAL;
- goto done2;
- }
- if (real_arg.val < 0 || real_arg.val > seminfo.semvmx) {
- error = ERANGE;
- goto done2;
- }
- semaptr->sem_base[semnum].semval = real_arg.val;
- SEMUNDO_LOCK();
- semundo_clear(semid, semnum, td);
- SEMUNDO_UNLOCK();
- wakeup(semaptr);
- break;
-
- case SETALL:
- mtx_lock(sema_mtxp);
-raced:
- if ((error = semvalid(uap->semid, semaptr)) != 0)
- goto done2;
- count = semaptr->sem_nsems;
- mtx_unlock(sema_mtxp);
- if ((error = copyin(arg, &real_arg, sizeof(real_arg))) != 0)
- goto done2;
- array = (u_short *) sys_malloc(sizeof(*array) * count, M_TEMP, M_WAITOK);
- copyin(real_arg.array, array, count * sizeof(*array));
- if (error)
- break;
- mtx_lock(sema_mtxp);
- if ((error = semvalid(uap->semid, semaptr)) != 0)
- goto done2;
- /* we could have raced? */
- if (count != semaptr->sem_nsems) {
- sys_free(array, M_TEMP);
- array = NULL;
- goto raced;
- }
- if ((error = ipcperm(td, &semaptr->sem_perm, IPC_W)))
- goto done2;
- for (i = 0; i < semaptr->sem_nsems; i++) {
- usval = array[i];
- if (usval > seminfo.semvmx) {
- error = ERANGE;
- break;
- }
- semaptr->sem_base[i].semval = usval;
- }
- SEMUNDO_LOCK();
- semundo_clear(semid, -1, td);
- SEMUNDO_UNLOCK();
- wakeup(semaptr);
- break;
-
- default:
- error = EINVAL;
- break;
- }
-
- if (error == 0)
- td->td_retval[0] = rval;
-done2:
- if (mtx_owned(sema_mtxp, td->td_proc->winpid))
- mtx_unlock(sema_mtxp);
- if (array != NULL)
- sys_free(array, M_TEMP);
- return(error);
-}
-
-#ifndef _SYS_SYSPROTO_H_
-struct semget_args {
- key_t key;
- int nsems;
- int semflg;
-};
-#endif
-
-/*
- * MPSAFE
- */
-int
-semget(struct thread *td, struct semget_args *uap)
-{
- int semid, error = 0;
- key_t key = uap->key;
- int nsems = uap->nsems;
- int semflg = uap->semflg;
-#ifndef __CYGWIN__
- struct ucred *cred = td->td_ucred;
-#endif
-
- DPRINTF(("semget(0x%X, %d, 0%o)\n", key, nsems, semflg));
- if (!jail_sysvipc_allowed && jailed(td->td_ucred))
- return (ENOSYS);
-
- mtx_lock(&Giant);
- if (key != IPC_PRIVATE) {
- for (semid = 0; semid < seminfo.semmni; semid++) {
- if ((sema[semid].sem_perm.mode & SEM_ALLOC) &&
- sema[semid].sem_perm.key == key)
- break;
- }
- if (semid < seminfo.semmni) {
- DPRINTF(("found public key\n"));
- if ((error = ipcperm(td, &sema[semid].sem_perm,
- semflg & 0700))) {
- goto done2;
- }
- if (nsems > 0 && sema[semid].sem_nsems < nsems) {
- DPRINTF(("too small\n"));
- error = EINVAL;
- goto done2;
- }
- if ((semflg & IPC_CREAT) && (semflg & IPC_EXCL)) {
- DPRINTF(("not exclusive\n"));
- error = EEXIST;
- goto done2;
- }
- goto found;
- }
- }
-
- DPRINTF(("need to allocate the semid_ds\n"));
- if (key == IPC_PRIVATE || (semflg & IPC_CREAT)) {
- if (nsems <= 0 || nsems > seminfo.semmsl) {
- DPRINTF(("nsems out of range (0<%d<=%d)\n", nsems,
- seminfo.semmsl));
- error = EINVAL;
- goto done2;
- }
- if (nsems > seminfo.semmns - semtot) {
- DPRINTF((
- "not enough semaphores left (need %d, got %d)\n",
- nsems, seminfo.semmns - semtot));
- error = ENOSPC;
- goto done2;
- }
- for (semid = 0; semid < seminfo.semmni; semid++) {
- if ((sema[semid].sem_perm.mode & SEM_ALLOC) == 0)
- break;
- }
- if (semid == seminfo.semmni) {
- DPRINTF(("no more semid_ds's available\n"));
- error = ENOSPC;
- goto done2;
- }
- DPRINTF(("semid %d is available\n", semid));
- sema[semid].sem_perm.key = key;
-#ifdef __CYGWIN__
- sema[semid].sem_perm.cuid = td->ipcblk->uid;
- sema[semid].sem_perm.uid = td->ipcblk->uid;
- sema[semid].sem_perm.cgid = td->ipcblk->gid;
- sema[semid].sem_perm.gid = td->ipcblk->gid;
-#else
- sema[semid].sem_perm.cuid = cred->cr_uid;
- sema[semid].sem_perm.uid = cred->cr_uid;
- sema[semid].sem_perm.cgid = cred->cr_gid;
- sema[semid].sem_perm.gid = cred->cr_gid;
-#endif
- sema[semid].sem_perm.mode = (semflg & 0777) | SEM_ALLOC;
- sema[semid].sem_perm.seq =
- (sema[semid].sem_perm.seq + 1) & 0x7fff;
- sema[semid].sem_nsems = nsems;
- sema[semid].sem_otime = 0;
- sema[semid].sem_ctime = time (NULL);
- sema[semid].sem_base = &sem[semtot];
- semtot += nsems;
- semtots++;
- bzero(sema[semid].sem_base,
- sizeof(sema[semid].sem_base[0])*nsems);
- DPRINTF(("sembase = 0x%x, next = 0x%x\n", sema[semid].sem_base,
- &sem[semtot]));
- } else {
- DPRINTF(("didn't find it and wasn't asked to create it\n"));
- error = ENOENT;
- goto done2;
- }
-
-found:
- td->td_retval[0] = IXSEQ_TO_IPCID(semid, sema[semid].sem_perm);
-done2:
-#ifdef __CYGWIN__
- if (!error)
- ipcexit_creat_hookthread (td);
-#endif
- mtx_unlock(&Giant);
- return (error);
-}
-
-#ifndef _SYS_SYSPROTO_H_
-struct semop_args {
- int semid;
- struct sembuf *sops;
- size_t nsops;
-};
-#endif
-
-/*
- * MPSAFE
- */
-int
-semop(struct thread *td, struct semop_args *uap)
-{
-#define SMALL_SOPS 8
- struct sembuf small_sops[SMALL_SOPS];
- int semid = uap->semid;
- size_t nsops = uap->nsops;
- struct sembuf *sops;
- struct semid_ds *semaptr;
- struct sembuf *sopptr = 0;
- struct sem *semptr = 0;
- struct sem_undo *suptr;
- struct mtx *sema_mtxp;
- size_t i, j, k;
- int error;
- int do_wakeup, do_undos;
-
- DPRINTF(("call to semop(%d, 0x%x, %u)\n", semid, uap->sops, nsops));
-
- if (!jail_sysvipc_allowed && jailed(td->td_ucred))
- return (ENOSYS);
-
- semid = IPCID_TO_IX(semid); /* Convert back to zero origin */
-
- if (semid < 0 || semid >= seminfo.semmni)
- return (EINVAL);
-
- /* Allocate memory for sem_ops */
- if (nsops <= SMALL_SOPS)
- sops = small_sops;
- else if (nsops <= (unsigned long) seminfo.semopm)
- sops = (struct sembuf *) sys_malloc(nsops * sizeof(*sops), M_SEM, M_WAITOK);
- else {
- DPRINTF(("too many sops (max=%d, nsops=%d)\n", seminfo.semopm,
- nsops));
- return (E2BIG);
- }
- if ((error = copyin(uap->sops, sops, nsops * sizeof(sops[0]))) != 0) {
- DPRINTF(("error = %d from copyin(%08x, %08x, %d)\n", error,
- uap->sops, sops, nsops * sizeof(sops[0])));
- if (sops != small_sops)
- sys_free(sops, M_SEM);
- return (error);
- }
-
- semaptr = &sema[semid];
- sema_mtxp = &sema_mtx[semid];
- mtx_lock(sema_mtxp);
- if ((semaptr->sem_perm.mode & SEM_ALLOC) == 0) {
- error = EINVAL;
- goto done2;
- }
- if (semaptr->sem_perm.seq != IPCID_TO_SEQ(uap->semid)) {
- error = EINVAL;
- goto done2;
- }
- /*
- * Initial pass thru sops to see what permissions are needed.
- * Also perform any checks that don't need repeating on each
- * attempt to satisfy the request vector.
- */
- j = 0; /* permission needed */
- do_undos = 0;
- for (i = 0; i < nsops; i++) {
- sopptr = &sops[i];
- if (sopptr->sem_num >= semaptr->sem_nsems) {
- error = EFBIG;
- goto done2;
- }
- if (sopptr->sem_flg & SEM_UNDO && sopptr->sem_op != 0)
- do_undos = 1;
- j |= (sopptr->sem_op == 0) ? SEM_R : SEM_A;
- }
-
- if ((error = ipcperm(td, &semaptr->sem_perm, j))) {
- DPRINTF(("error = %d from ipaccess\n", error));
- goto done2;
- }
-
- /*
- * Loop trying to satisfy the vector of requests.
- * If we reach a point where we must wait, any requests already
- * performed are rolled back and we go to sleep until some other
- * process wakes us up. At this point, we start all over again.
- *
- * This ensures that from the perspective of other tasks, a set
- * of requests is atomic (never partially satisfied).
- */
- for (;;) {
- do_wakeup = 0;
- error = 0; /* error return if necessary */
-
- for (i = 0; i < nsops; i++) {
- sopptr = &sops[i];
- semptr = &semaptr->sem_base[sopptr->sem_num];
-
- DPRINTF((
- "semop: semaptr=%x, sem_base=%x, "
- "semptr=%x, sem[%d]=%d : op=%d, flag=%s\n",
- semaptr, semaptr->sem_base, semptr,
- sopptr->sem_num, semptr->semval, sopptr->sem_op,
- (sopptr->sem_flg & IPC_NOWAIT) ?
- "nowait" : "wait"));
-
- if (sopptr->sem_op < 0) {
- if (semptr->semval + sopptr->sem_op < 0) {
- DPRINTF(("semop: can't do it now\n"));
- break;
- } else {
- semptr->semval += sopptr->sem_op;
- if (semptr->semval == 0 &&
- semptr->semzcnt > 0)
- do_wakeup = 1;
- }
- } else if (sopptr->sem_op == 0) {
- if (semptr->semval != 0) {
- DPRINTF(("semop: not zero now\n"));
- break;
- }
- } else if (semptr->semval + sopptr->sem_op >
- seminfo.semvmx) {
- error = ERANGE;
- break;
- } else {
- if (semptr->semncnt > 0)
- do_wakeup = 1;
- semptr->semval += sopptr->sem_op;
- }
- }
-
- /*
- * Did we get through the entire vector?
- */
- if (i >= nsops)
- goto done;
-
- /*
- * No ... rollback anything that we've already done
- */
- DPRINTF(("semop: rollback 0 through %d\n", i-1));
- for (j = 0; j < i; j++)
- semaptr->sem_base[sops[j].sem_num].semval -=
- sops[j].sem_op;
-
- /* If we detected an error, return it */
- if (error != 0)
- goto done2;
-
- /*
- * If the request that we couldn't satisfy has the
- * NOWAIT flag set then return with EAGAIN.
- */
- if (sopptr->sem_flg & IPC_NOWAIT) {
- error = EAGAIN;
- goto done2;
- }
-
- if (sopptr->sem_op == 0)
- semptr->semzcnt++;
- else
- semptr->semncnt++;
-
- DPRINTF(("semop: good night!\n"));
- error = msleep(semaptr, sema_mtxp, (PZERO - 4) | PCATCH,
- "semwait", 0);
- DPRINTF(("semop: good morning (error=%d)!\n", error));
- /* return code is checked below, after sem[nz]cnt-- */
-
- /*
- * Make sure that the semaphore still exists
- */
- if ((semaptr->sem_perm.mode & SEM_ALLOC) == 0 ||
- semaptr->sem_perm.seq != IPCID_TO_SEQ(uap->semid)) {
- error = EIDRM;
- goto done2;
- }
-
- /*
- * The semaphore is still alive. Readjust the count of
- * waiting processes.
- */
- if (sopptr->sem_op == 0)
- semptr->semzcnt--;
- else
- semptr->semncnt--;
-
- /*
- * Is it really morning, or was our sleep interrupted?
- * (Delayed check of msleep() return code because we
- * need to decrement sem[nz]cnt either way.)
- */
- if (error != 0) {
-#ifdef __CYGWIN__
- if (error != EIDRM)
-#endif /* __CYGWIN__ */
- error = EINTR;
- goto done2;
- }
- DPRINTF(("semop: good morning!\n"));
- }
-
-done:
- /*
- * Process any SEM_UNDO requests.
- */
- if (do_undos) {
- SEMUNDO_LOCK();
- suptr = NULL;
- for (i = 0; i < nsops; i++) {
- /*
- * We only need to deal with SEM_UNDO's for non-zero
- * op's.
- */
- int adjval;
-
- if ((sops[i].sem_flg & SEM_UNDO) == 0)
- continue;
- adjval = sops[i].sem_op;
- if (adjval == 0)
- continue;
- error = semundo_adjust(td, &suptr, semid,
- sops[i].sem_num, -adjval);
- if (error == 0)
- continue;
-
- /*
- * Oh-Oh! We ran out of either sem_undo's or undo's.
- * Rollback the adjustments to this point and then
- * rollback the semaphore ups and down so we can return
- * with an error with all structures restored. We
- * rollback the undo's in the exact reverse order that
- * we applied them. This guarantees that we won't run
- * out of space as we roll things back out.
- */
- for (j = 0; j < i; j++) {
- k = i - j - 1;
- if ((sops[k].sem_flg & SEM_UNDO) == 0)
- continue;
- adjval = sops[k].sem_op;
- if (adjval == 0)
- continue;
- if (semundo_adjust(td, &suptr, semid,
- sops[k].sem_num, adjval) != 0)
- panic("semop - can't undo undos");
- }
-
- for (j = 0; j < nsops; j++)
- semaptr->sem_base[sops[j].sem_num].semval -=
- sops[j].sem_op;
-
- DPRINTF(("error = %d from semundo_adjust\n", error));
- SEMUNDO_UNLOCK();
- goto done2;
- } /* loop through the sops */
- SEMUNDO_UNLOCK();
- } /* if (do_undos) */
-
- /* We're definitely done - set the sempid's and time */
- for (i = 0; i < nsops; i++) {
- sopptr = &sops[i];
- semptr = &semaptr->sem_base[sopptr->sem_num];
- semptr->sempid = td->td_proc->p_pid;
- }
- semaptr->sem_otime = time (NULL);
-
- /*
- * Do a wakeup if any semaphore was up'd whilst something was
- * sleeping on it.
- */
- if (do_wakeup) {
- DPRINTF(("semop: doing wakeup\n"));
- wakeup(semaptr);
- DPRINTF(("semop: back from wakeup\n"));
- }
- DPRINTF(("semop: done\n"));
- td->td_retval[0] = 0;
-done2:
- mtx_unlock(sema_mtxp);
- if (sops != small_sops)
- sys_free(sops, M_SEM);
- return (error);
-}
-
-/*
- * Go through the undo structures for this process and apply the adjustments to
- * semaphores.
- */
-void
-semexit_myhook(void *arg, struct proc *p)
-{
- struct sem_undo *suptr;
- struct sem_undo **supptr;
-
- /*
- * Go through the chain of undo vectors looking for one
- * associated with this process.
- */
- SEMUNDO_HOOKLOCK();
- SLIST_FOREACH_PREVPTR(suptr, supptr, &semu_list, un_next) {
-#ifdef __CYGWIN__
- if (suptr->un_proc == p->winpid)
-#else
- if (suptr->un_proc == p)
-#endif
- break;
- }
-#ifndef __CYGWIN__
- SEMUNDO_UNLOCK();
-#endif
-
- if (suptr == NULL) {
- SEMUNDO_UNLOCK();
- return;
- }
-
-#ifdef __CYGWIN__
- DPRINTF(("proc @%u(%u) has undo structure with %d entries\n",
- p->cygpid, p->winpid, suptr->un_cnt));
-#else
- DPRINTF(("proc @%08x has undo structure with %d entries\n", p,
- suptr->un_cnt));
-#endif
-
- /*
- * If there are any active undo elements then process them.
- */
- if (suptr->un_cnt > 0) {
- int ix;
-
- for (ix = 0; ix < suptr->un_cnt; ix++) {
- int semid = suptr->un_ent[ix].un_id;
- int semnum = suptr->un_ent[ix].un_num;
- int adjval = suptr->un_ent[ix].un_adjval;
- struct semid_ds *semaptr;
- struct mtx *sema_mtxp;
-
- semaptr = &sema[semid];
- sema_mtxp = &sema_mtx[semid];
-#ifdef __CYGWIN__
- _mtx_lock(sema_mtxp, p->winpid, __FILE__, __LINE__);
-#else
- mtx_lock(sema_mtxp);
- SEMUNDO_HOOKLOCK();
-#endif
- if ((semaptr->sem_perm.mode & SEM_ALLOC) == 0)
- panic("semexit - semid not allocated");
- if (semnum >= semaptr->sem_nsems)
- panic("semexit - semnum out of range");
-
- DPRINTF((
-#ifdef __CYGWIN__
- "semexit: %u id=%d num=%d(adj=%d) ; sem=%d\n",
-#else
- "semexit: %08x id=%d num=%d(adj=%d) ; sem=%d\n",
-#endif
- suptr->un_proc, suptr->un_ent[ix].un_id,
- suptr->un_ent[ix].un_num,
- suptr->un_ent[ix].un_adjval,
- semaptr->sem_base[semnum].semval));
-
- if (adjval < 0) {
- if (semaptr->sem_base[semnum].semval < -adjval)
- semaptr->sem_base[semnum].semval = 0;
- else
- semaptr->sem_base[semnum].semval +=
- adjval;
- } else
- semaptr->sem_base[semnum].semval += adjval;
-
- wakeup(semaptr);
- DPRINTF(("semexit: back from wakeup\n"));
- _mtx_unlock(sema_mtxp, __FILE__, __LINE__);
-#ifndef __CYGWIN__
- SEMUNDO_UNLOCK();
-#endif
- }
- }
-
- /*
- * Deallocate the undo vector.
- */
- DPRINTF(("removing vector (%u)\n", suptr->un_proc));
-#ifdef __CYGWIN__
- suptr->un_proc = 0;
-#else
- suptr->un_proc = NULL;
-#endif
- *supptr = SLIST_NEXT(suptr, un_next);
-#ifdef __CYGWIN__
- SEMUNDO_UNLOCK();
-#endif
-}
-
-#ifndef __CYGWIN__
-static int
-sysctl_sema(SYSCTL_HANDLER_ARGS)
-{
-
- return (SYSCTL_OUT(req, sema,
- sizeof(struct semid_ds) * seminfo.semmni));
-}
-#endif /* __CYGWIN__ */
-#endif /* __OUTSIDE_CYGWIN__ */
diff --git a/winsup/cygserver/sysv_shm.cc b/winsup/cygserver/sysv_shm.cc
deleted file mode 100644
index 2b6758755..000000000
--- a/winsup/cygserver/sysv_shm.cc
+++ /dev/null
@@ -1,1043 +0,0 @@
-/* $NetBSD: sysv_shm.c,v 1.23 1994/07/04 23:25:12 glass Exp $ */
-/*
- * Copyright (c) 1994 Adam Glass and Charles Hannum. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgement:
- * This product includes software developed by Adam Glass and Charles
- * Hannum.
- * 4. The names of the authors may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- * IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-/*
- * This file is heavily changed to become part of Cygwin's cygserver.
- */
-
-#ifdef __OUTSIDE_CYGWIN__
-#include "woutsup.h"
-#include <sys/cdefs.h>
-#ifndef __FBSDID
-#define __FBSDID(s) const char version[] = (s)
-#endif
-__FBSDID("$FreeBSD: /repoman/r/ncvs/src/sys/kern/sysv_shm.c,v 1.89 2003/11/07 04:47:14 rwatson Exp $");
-
-#define _KERNEL 1
-#define __BSD_VISIBLE 1
-#include <sys/param.h>
-#include <sys/lock.h>
-#include <sys/shm.h>
-#include <malloc.h>
-#include <sys/mman.h>
-#include <sys/stat.h>
-#include <sys/sysproto.h>
-
-#include <errno.h>
-#include <time.h>
-#include <unistd.h>
-#include "cygserver.h"
-#include "process.h"
-#include "cygserver_ipc.h"
-
-#ifdef __CYGWIN__
-#ifndef PAGE_SIZE
-#define PAGE_SIZE (getpagesize ())
-#endif
-#ifndef PAGE_MASK
-#define PAGE_MASK (PAGE_SIZE - 1)
-#endif
-#define btoc(b) (((b) + PAGE_MASK) / PAGE_SIZE)
-#define round_page(p) ((((unsigned long)(p)) + PAGE_MASK) & ~(PAGE_MASK))
-#define ACCESSPERMS (0777)
-#ifdef __CYGWIN__
-#define GIANT_REQUIRED
-#else
-#define GIANT_REQUIRED mtx_assert(&Giant, MA_OWNED)
-#endif
-#define KERN_SUCCESS 0
-#define VM_PROT_READ PROT_READ
-#define VM_PROT_WRITE PROT_WRITE
-#define VM_INHERIT_SHARE 0
-#define OBJT_PHYS 0
-#define OBJT_SWAP 0
-#define VM_PROT_DEFAULT 0
-#define VM_OBJECT_LOCK(a)
-#define vm_object_clear_flag(a,b)
-#define vm_object_set_flag(a,b)
-#define VM_OBJECT_UNLOCK(a)
-#define vm_map_remove(a,b,c) KERN_SUCCESS
-typedef int vm_prot_t;
-#endif /* __CYGWIN__ */
-
-#ifndef __CYGWIN__
-static MALLOC_DEFINE(M_SHM, "shm", "SVID compatible shared memory segments");
-
-struct oshmctl_args;
-static int oshmctl(struct thread *td, struct oshmctl_args *uap);
-#endif /* __CYGWIN__ */
-
-static int shmget_allocate_segment(struct thread *td,
- struct shmget_args *uap, int mode);
-static int shmget_existing(struct thread *td, struct shmget_args *uap,
- int mode, int segnum);
-
-#ifndef __CYGWIN__
-/* XXX casting to (sy_call_t *) is bogus, as usual. */
-static sy_call_t *shmcalls[] = {
- (sy_call_t *)shmat, (sy_call_t *)oshmctl,
- (sy_call_t *)shmdt, (sy_call_t *)shmget,
- (sy_call_t *)shmctl
-};
-#endif /* __CYGWIN__ */
-
-#define SHMSEG_FREE 0x0200
-#define SHMSEG_REMOVED 0x0400
-#define SHMSEG_ALLOCATED 0x0800
-#define SHMSEG_WANTED 0x1000
-
-static int shm_last_free, shm_nused, shm_committed, shmalloced, shm_nattch;
-static struct shmid_ds *shmsegs;
-
-struct shm_handle {
- /* vm_offset_t kva; */
- vm_object_t shm_object;
-};
-
-struct shmmap_state {
- vm_offset_t va;
- int shmid;
-};
-
-static void shm_deallocate_segment(struct shmid_ds *);
-static int shm_find_segment_by_key(key_t);
-static struct shmid_ds *shm_find_segment_by_shmid(int);
-static struct shmid_ds *shm_find_segment_by_shmidx(int);
-static int shm_delete_mapping(struct vmspace *vm, struct shmmap_state *);
-static void shmrealloc(void);
-
-/*
- * Tuneable values.
- */
-#ifndef SHMMAXPGS
-#define SHMMAXPGS 8192 /* Note: sysv shared memory is swap backed. */
-#endif
-#ifndef SHMMAX
-#define SHMMAX (SHMMAXPGS*PAGE_SIZE)
-#endif
-#ifndef SHMMIN
-#define SHMMIN 1
-#endif
-#ifndef SHMMNI
-#define SHMMNI 192
-#endif
-#ifndef SHMSEG
-#define SHMSEG 128
-#endif
-#ifndef SHMALL
-#define SHMALL (SHMMAXPGS)
-#endif
-
-struct shminfo shminfo = {
- SHMMAX,
- SHMMIN,
- SHMMNI,
- SHMSEG,
- SHMALL
-};
-
-#ifndef __CYGWIN__
-static int shm_use_phys;
-#else
-static long shm_use_phys;
-static long shm_allow_removed;
-#endif /* __CYGWIN__ */
-
-#ifndef __CYGWIN__
-struct shm_info shm_info;
-#endif /* __CYGWIN__ */
-
-#ifndef __CYGWIN__
-SYSCTL_DECL(_kern_ipc);
-SYSCTL_INT(_kern_ipc, OID_AUTO, shmmax, CTLFLAG_RW, &shminfo.shmmax, 0, "");
-SYSCTL_INT(_kern_ipc, OID_AUTO, shmmin, CTLFLAG_RW, &shminfo.shmmin, 0, "");
-SYSCTL_INT(_kern_ipc, OID_AUTO, shmmni, CTLFLAG_RDTUN, &shminfo.shmmni, 0, "");
-SYSCTL_INT(_kern_ipc, OID_AUTO, shmseg, CTLFLAG_RDTUN, &shminfo.shmseg, 0, "");
-SYSCTL_INT(_kern_ipc, OID_AUTO, shmall, CTLFLAG_RW, &shminfo.shmall, 0, "");
-SYSCTL_INT(_kern_ipc, OID_AUTO, shm_use_phys, CTLFLAG_RW,
- &shm_use_phys, 0, "");
-SYSCTL_INT(_kern_ipc, OID_AUTO, shm_allow_removed, CTLFLAG_RW,
- &shm_allow_removed, 0, "");
-SYSCTL_PROC(_kern_ipc, OID_AUTO, shmsegs, CTLFLAG_RD,
- NULL, 0, sysctl_shmsegs, "", "");
-#endif /* __CYGWIN__ */
-
-static int
-shm_find_segment_by_key(key_t key)
-{
- int i;
-
- for (i = 0; i < shmalloced; i++)
- if ((shmsegs[i].shm_perm.mode & SHMSEG_ALLOCATED) &&
- shmsegs[i].shm_perm.key == key)
- return (i);
- return (-1);
-}
-
-static struct shmid_ds *
-shm_find_segment_by_shmid(int shmid)
-{
- int segnum;
- struct shmid_ds *shmseg;
-
- segnum = IPCID_TO_IX(shmid);
- if (segnum < 0 || segnum >= shmalloced)
- return (NULL);
- shmseg = &shmsegs[segnum];
- if ((shmseg->shm_perm.mode & SHMSEG_ALLOCATED) == 0 ||
- (!shm_allow_removed &&
- (shmseg->shm_perm.mode & SHMSEG_REMOVED) != 0) ||
- shmseg->shm_perm.seq != IPCID_TO_SEQ(shmid))
- return (NULL);
- return (shmseg);
-}
-
-static struct shmid_ds *
-shm_find_segment_by_shmidx(int segnum)
-{
- struct shmid_ds *shmseg;
-
- if (segnum < 0 || segnum >= shmalloced)
- return (NULL);
- shmseg = &shmsegs[segnum];
- if ((shmseg->shm_perm.mode & SHMSEG_ALLOCATED) == 0 ||
- (!shm_allow_removed &&
- (shmseg->shm_perm.mode & SHMSEG_REMOVED) != 0))
- return (NULL);
- return (shmseg);
-}
-
-static void
-shm_deallocate_segment(struct shmid_ds *shmseg)
-{
- struct shm_handle *shm_handle;
- size_t size;
-
- GIANT_REQUIRED;
-
- shm_handle = shmseg->shm_internal;
- vm_object_deallocate(shm_handle->shm_object);
- sys_free(shm_handle, M_SHM);
- shmseg->shm_internal = NULL;
- size = round_page(shmseg->shm_segsz);
- shm_committed -= btoc(size);
- shm_nused--;
- shmseg->shm_perm.mode = SHMSEG_FREE;
-}
-
-static int
-shm_delete_mapping(struct vmspace *vm, struct shmmap_state *shmmap_s)
-{
- struct shmid_ds *shmseg;
- int segnum, result;
- size_t size;
-
- GIANT_REQUIRED;
-
- segnum = IPCID_TO_IX(shmmap_s->shmid);
- shmseg = &shmsegs[segnum];
- size = round_page(shmseg->shm_segsz);
- result = vm_map_remove(&vm->vm_map, shmmap_s->va, shmmap_s->va + size);
- if (result != KERN_SUCCESS)
- return (EINVAL);
- shmmap_s->shmid = -1;
- shmseg->shm_dtime = time (NULL);
- --shm_nattch;
- if ((--shmseg->shm_nattch <= 0) &&
- (shmseg->shm_perm.mode & SHMSEG_REMOVED)) {
- shm_deallocate_segment(shmseg);
- shm_last_free = segnum;
- }
- return (0);
-}
-
-#ifndef _SYS_SYSPROTO_H_
-struct shmdt_args {
- const void *shmaddr;
-};
-#endif
-
-/*
- * MPSAFE
- */
-int
-shmdt(struct thread *td, struct shmdt_args *uap)
-{
- struct proc *p = td->td_proc;
- struct shmmap_state *shmmap_s;
- int i;
- int error = 0;
-
- if (!jail_sysvipc_allowed && jailed(td->td_ucred))
- return (ENOSYS);
- mtx_lock(&Giant);
- shmmap_s = p->p_vmspace->vm_shm;
- if (shmmap_s == NULL) {
- error = EINVAL;
- goto done2;
- }
- for (i = 0; i < shminfo.shmseg; i++, shmmap_s++) {
- if (shmmap_s->shmid != -1 &&
- shmmap_s->va == (vm_offset_t)uap->shmaddr) {
- break;
- }
- }
- if (i == shminfo.shmseg) {
- error = EINVAL;
- goto done2;
- }
- error = shm_delete_mapping(p->p_vmspace, shmmap_s);
-done2:
- mtx_unlock(&Giant);
- return (error);
-}
-
-#ifndef _SYS_SYSPROTO_H_
-struct shmat_args {
- int shmid;
- const void *shmaddr;
- int shmflg;
-};
-#endif
-
-/*
- * MPSAFE
- */
-int
-kern_shmat(struct thread *td, int shmid, const void *shmaddr, int shmflg)
-{
- struct proc *p = td->td_proc;
- int i, flags;
- struct shmid_ds *shmseg;
- struct shmmap_state *shmmap_s = NULL;
-#ifndef __CYGWIN__
- struct shm_handle *shm_handle;
-#endif
- vm_offset_t attach_va;
- vm_prot_t prot;
- vm_size_t size;
-#ifndef __CYGWIN__
- int rv;
-#endif
- int error = 0;
-
- if (!jail_sysvipc_allowed && jailed(td->td_ucred))
- return (ENOSYS);
- mtx_lock(&Giant);
- shmmap_s = p->p_vmspace->vm_shm;
- if (shmmap_s == NULL) {
- size = shminfo.shmseg * sizeof(struct shmmap_state);
- shmmap_s = (struct shmmap_state *) sys_malloc(size, M_SHM, M_WAITOK);
- for (i = 0; i < shminfo.shmseg; i++)
- shmmap_s[i].shmid = -1;
- p->p_vmspace->vm_shm = shmmap_s;
- }
- shmseg = shm_find_segment_by_shmid(shmid);
- if (shmseg == NULL) {
- error = EINVAL;
- goto done2;
- }
- error = ipcperm(td, &shmseg->shm_perm,
- (shmflg & SHM_RDONLY) ? IPC_R : IPC_R|IPC_W);
- if (error)
- goto done2;
- for (i = 0; i < shminfo.shmseg; i++) {
- if (shmmap_s->shmid == -1)
- break;
- shmmap_s++;
- }
- if (i >= shminfo.shmseg) {
- error = EMFILE;
- goto done2;
- }
- size = round_page(shmseg->shm_segsz);
-#ifdef VM_PROT_READ_IS_EXEC
- prot = VM_PROT_READ | VM_PROT_EXECUTE;
-#else
- prot = VM_PROT_READ;
-#endif
- if ((shmflg & SHM_RDONLY) == 0)
- prot |= VM_PROT_WRITE;
- flags = MAP_ANON | MAP_SHARED;
- debug_printf ("shmaddr: %x, shmflg: %x", shmaddr, shmflg);
-#ifdef __CYGWIN__
- /* The alignment checks have already been made in the Cygwin DLL
- and shmat's only job is to keep record of the attached mem.
- These checks break shm on 9x since MapViewOfFileEx apparently
- returns memory which isn't aligned to SHMLBA. Go figure! */
- attach_va = (vm_offset_t)shmaddr;
-#else
- if (shmaddr) {
- flags |= MAP_FIXED;
- if (shmflg & SHM_RND) {
- attach_va = (vm_offset_t)shmaddr & ~(SHMLBA-1);
- } else if (((vm_offset_t)shmaddr & (SHMLBA-1)) == 0) {
- attach_va = (vm_offset_t)shmaddr;
- } else {
- error = EINVAL;
- goto done2;
- }
- } else {
- /*
- * This is just a hint to vm_map_find() about where to
- * put it.
- */
- attach_va = round_page((vm_offset_t)p->p_vmspace->vm_taddr
- + maxtsiz + maxdsiz);
- }
-
- shm_handle = shmseg->shm_internal;
- vm_object_reference(shm_handle->shm_object);
- rv = vm_map_find(&p->p_vmspace->vm_map, shm_handle->shm_object,
- 0, &attach_va, size, (flags & MAP_FIXED)?0:1, prot, prot, 0);
- if (rv != KERN_SUCCESS) {
- error = ENOMEM;
- goto done2;
- }
- vm_map_inherit(&p->p_vmspace->vm_map,
- attach_va, attach_va + size, VM_INHERIT_SHARE);
-#endif
-
- shmmap_s->va = attach_va;
- shmmap_s->shmid = shmid;
- shmseg->shm_lpid = p->p_pid;
- shmseg->shm_atime = time (NULL);
- shmseg->shm_nattch++;
- shm_nattch++;
- td->td_retval[0] = attach_va;
-done2:
- mtx_unlock(&Giant);
- return (error);
-}
-
-int
-shmat(struct thread *td, struct shmat_args *uap)
-{
- return kern_shmat(td, uap->shmid, uap->shmaddr, uap->shmflg);
-}
-
-#ifndef __CYGWIN__
-struct oshmid_ds {
- struct ipc_perm shm_perm; /* operation perms */
- int shm_segsz; /* size of segment (bytes) */
- u_short shm_cpid; /* pid, creator */
- u_short shm_lpid; /* pid, last operation */
- short shm_nattch; /* no. of current attaches */
- time_t shm_atime; /* last attach time */
- time_t shm_dtime; /* last detach time */
- time_t shm_ctime; /* last change time */
- void *shm_handle; /* internal handle for shm segment */
-};
-
-struct oshmctl_args {
- int shmid;
- int cmd;
- struct oshmid_ds *ubuf;
-};
-
-/*
- * MPSAFE
- */
-static int
-oshmctl(struct thread *td, struct oshmctl_args *uap)
-{
-#ifdef COMPAT_43
- int error = 0;
- struct shmid_ds *shmseg;
- struct oshmid_ds outbuf;
-
- if (!jail_sysvipc_allowed && jailed(td->td_ucred))
- return (ENOSYS);
- mtx_lock(&Giant);
- shmseg = shm_find_segment_by_shmid(uap->shmid);
- if (shmseg == NULL) {
- error = EINVAL;
- goto done2;
- }
- switch (uap->cmd) {
- case IPC_STAT:
- error = ipcperm(td, &shmseg->shm_perm, IPC_R);
- if (error)
- goto done2;
- outbuf.shm_perm = shmseg->shm_perm;
- outbuf.shm_segsz = shmseg->shm_segsz;
- outbuf.shm_cpid = shmseg->shm_cpid;
- outbuf.shm_lpid = shmseg->shm_lpid;
- outbuf.shm_nattch = shmseg->shm_nattch;
- outbuf.shm_atime = shmseg->shm_atime;
- outbuf.shm_dtime = shmseg->shm_dtime;
- outbuf.shm_ctime = shmseg->shm_ctime;
- outbuf.shm_handle = shmseg->shm_internal;
- error = copyout(&outbuf, uap->ubuf, sizeof(outbuf));
- if (error)
- goto done2;
- break;
- default:
- /* XXX casting to (sy_call_t *) is bogus, as usual. */
- error = ((sy_call_t *)shmctl)(td, uap);
- break;
- }
-done2:
- mtx_unlock(&Giant);
- return (error);
-#else
- return (EINVAL);
-#endif
-}
-#endif /* __CYGWIN__ */
-
-#ifndef _SYS_SYSPROTO_H_
-struct shmctl_args {
- int shmid;
- int cmd;
- struct shmid_ds *buf;
-};
-#endif
-
-/*
- * MPSAFE
- */
-int
-kern_shmctl(struct thread *td, int shmid, int cmd, void *buf, size_t *bufsz)
-{
- int error = 0;
- struct shmid_ds *shmseg;
-
- if (!jail_sysvipc_allowed && jailed(td->td_ucred))
- return (ENOSYS);
-
- mtx_lock(&Giant);
- switch (cmd) {
- case IPC_INFO:
- memcpy(buf, &shminfo, sizeof(shminfo));
- if (bufsz)
- *bufsz = sizeof(shminfo);
- td->td_retval[0] = shmalloced;
- goto done2;
- case SHM_INFO: {
- struct shm_info shm_info;
- shm_info.used_ids = shm_nused;
- shm_info.shm_tot = shm_committed * PAGE_SIZE;
-#ifdef __CYGWIN__
- shm_info.shm_atts = shm_nattch;
-#else
- shm_info.shm_rss = 0; /*XXX where to get from ? */
- shm_info.shm_swp = 0; /*XXX where to get from ? */
- shm_info.swap_attempts = 0; /*XXX where to get from ? */
- shm_info.swap_successes = 0; /*XXX where to get from ? */
-#endif /* __CYGWIN__ */
- memcpy(buf, &shm_info, sizeof(shm_info));
- if (bufsz)
- *bufsz = sizeof(shm_info);
- td->td_retval[0] = shmalloced;
- goto done2;
- }
- }
- if (cmd == SHM_STAT)
- shmseg = shm_find_segment_by_shmidx(shmid);
- else
- shmseg = shm_find_segment_by_shmid(shmid);
- if (shmseg == NULL) {
- error = EINVAL;
- goto done2;
- }
- switch (cmd) {
- case SHM_STAT:
- case IPC_STAT:
- error = ipcperm(td, &shmseg->shm_perm, IPC_R);
- if (error)
- goto done2;
- memcpy(buf, shmseg, sizeof(struct shmid_ds));
- if (bufsz)
- *bufsz = sizeof(struct shmid_ds);
- if (cmd == SHM_STAT)
- td->td_retval[0] = IXSEQ_TO_IPCID(shmid, shmseg->shm_perm);
- break;
- case IPC_SET: {
- struct shmid_ds *shmid;
-
- shmid = (struct shmid_ds *)buf;
- error = ipcperm(td, &shmseg->shm_perm, IPC_M);
- if (error)
- goto done2;
- shmseg->shm_perm.uid = shmid->shm_perm.uid;
- shmseg->shm_perm.gid = shmid->shm_perm.gid;
- shmseg->shm_perm.mode =
- (shmseg->shm_perm.mode & ~ACCESSPERMS) |
- (shmid->shm_perm.mode & ACCESSPERMS);
- shmseg->shm_ctime = time (NULL);
- break;
- }
- case IPC_RMID:
- error = ipcperm(td, &shmseg->shm_perm, IPC_M);
- if (error)
- goto done2;
- shmseg->shm_perm.key = IPC_PRIVATE;
- shmseg->shm_perm.mode |= SHMSEG_REMOVED;
- if (shmseg->shm_nattch <= 0) {
- shm_deallocate_segment(shmseg);
- shm_last_free = IPCID_TO_IX(shmid);
- }
- break;
-#if 0
- case SHM_LOCK:
- case SHM_UNLOCK:
-#endif
- default:
- error = EINVAL;
- break;
- }
-done2:
- mtx_unlock(&Giant);
- return (error);
-}
-
-int
-shmctl(struct thread *td, struct shmctl_args *uap)
-{
- int error = 0;
- struct shmid_ds buf;
- size_t bufsz;
-
- /* IPC_SET needs to copyin the buffer before calling kern_shmctl */
- if (uap->cmd == IPC_SET) {
- if ((error = copyin(uap->buf, &buf, sizeof(struct shmid_ds))))
- goto done;
- }
-#ifdef __CYGWIN__
- if (uap->cmd == IPC_INFO && uap->shmid > 0) {
- /* Can't use the default kern_shmctl interface. */
- int shmid = uap->shmid;
- if (shmid > shminfo.shmmni)
- shmid = shminfo.shmmni;
- error = copyout(shmsegs, uap->buf,
- shmid * sizeof(struct shmid_ds));
- td->td_retval[0] = error ? -1 : 0;
- return (error);
- }
-#endif /* __CYGWIN__ */
-
- error = kern_shmctl(td, uap->shmid, uap->cmd, (void *)&buf, &bufsz);
- if (error)
- goto done;
-
- /* Cases in which we need to copyout */
- switch (uap->cmd) {
- case IPC_INFO:
- case SHM_INFO:
- case SHM_STAT:
- case IPC_STAT:
- error = copyout(&buf, uap->buf, bufsz);
- break;
- }
-
-done:
- if (error) {
- /* Invalidate the return value */
- td->td_retval[0] = -1;
- }
- return (error);
-}
-
-
-#ifndef _SYS_SYSPROTO_H_
-struct shmget_args {
- key_t key;
- size_t size;
- int shmflg;
-};
-#endif
-
-static int
-shmget_existing(struct thread *td, struct shmget_args *uap, int mode, int segnum)
-{
- struct shmid_ds *shmseg;
- int error;
-
- shmseg = &shmsegs[segnum];
- if (shmseg->shm_perm.mode & SHMSEG_REMOVED) {
- /*
- * This segment is in the process of being allocated. Wait
- * until it's done, and look the key up again (in case the
- * allocation failed or it was freed).
- */
- shmseg->shm_perm.mode |= SHMSEG_WANTED;
- error = tsleep(shmseg, PLOCK | PCATCH, "shmget", 0);
- if (error)
- return (error);
- return (EAGAIN);
- }
- if ((uap->shmflg & (IPC_CREAT | IPC_EXCL)) == (IPC_CREAT | IPC_EXCL))
- return (EEXIST);
- error = ipcperm(td, &shmseg->shm_perm, mode);
- if (error)
- return (error);
- if (uap->size && uap->size > shmseg->shm_segsz)
- return (EINVAL);
- td->td_retval[0] = IXSEQ_TO_IPCID(segnum, shmseg->shm_perm);
-#ifdef __CYGWIN__
- td->td_retval[1] =
- vm_object_duplicate(td, shmseg->shm_internal->shm_object);
-#endif /* __CYGWIN__ */
- return (0);
-}
-
-static int
-shmget_allocate_segment(struct thread *td, struct shmget_args *uap, int mode)
-{
- int i, segnum, shmid, size;
-#ifndef __CYGWIN__
- struct ucred *cred = td->td_ucred;
-#endif /* __CYGWIN__ */
- struct shmid_ds *shmseg;
- struct shm_handle *shm_handle;
-
- GIANT_REQUIRED;
-
- if (uap->size < (unsigned long) shminfo.shmmin ||
- uap->size > (unsigned long) shminfo.shmmax)
- return (EINVAL);
- if (shm_nused >= shminfo.shmmni) /* Any shmids left? */
- return (ENOSPC);
- size = round_page(uap->size);
- if (shm_committed + btoc(size) > (unsigned long) shminfo.shmall)
- return (ENOMEM);
- if (shm_last_free < 0) {
- shmrealloc(); /* Maybe expand the shmsegs[] array. */
- for (i = 0; i < shmalloced; i++)
- if (shmsegs[i].shm_perm.mode & SHMSEG_FREE)
- break;
- if (i == shmalloced)
- return (ENOSPC);
- segnum = i;
- } else {
- segnum = shm_last_free;
- shm_last_free = -1;
- }
- shmseg = &shmsegs[segnum];
- /*
- * In case we sleep in malloc(), mark the segment present but deleted
- * so that noone else tries to create the same key.
- */
- shmseg->shm_perm.mode = SHMSEG_ALLOCATED | SHMSEG_REMOVED;
- shmseg->shm_perm.key = uap->key;
- shmseg->shm_perm.seq = (shmseg->shm_perm.seq + 1) & 0x7fff;
- shm_handle = (struct shm_handle *)
- sys_malloc(sizeof(struct shm_handle), M_SHM, M_WAITOK);
- shmid = IXSEQ_TO_IPCID(segnum, shmseg->shm_perm);
-
- /*
- * We make sure that we have allocated a pager before we need
- * to.
- */
- if (shm_use_phys) {
- shm_handle->shm_object =
- vm_pager_allocate(OBJT_PHYS, 0, size, VM_PROT_DEFAULT, 0);
- } else {
- shm_handle->shm_object =
- vm_pager_allocate(OBJT_SWAP, 0, size, VM_PROT_DEFAULT, 0);
- }
- VM_OBJECT_LOCK(shm_handle->shm_object);
- vm_object_clear_flag(shm_handle->shm_object, OBJ_ONEMAPPING);
- vm_object_set_flag(shm_handle->shm_object, OBJ_NOSPLIT);
- VM_OBJECT_UNLOCK(shm_handle->shm_object);
-
- shmseg->shm_internal = shm_handle;
-#ifdef __CYGWIN__
- shmseg->shm_perm.cuid = shmseg->shm_perm.uid = td->ipcblk->uid;
- shmseg->shm_perm.cgid = shmseg->shm_perm.gid = td->ipcblk->gid;
-#else
- shmseg->shm_perm.cuid = shmseg->shm_perm.uid = cred->cr_uid;
- shmseg->shm_perm.cgid = shmseg->shm_perm.gid = cred->cr_gid;
-#endif /* __CYGWIN__ */
- shmseg->shm_perm.mode = (shmseg->shm_perm.mode & SHMSEG_WANTED) |
- (mode & ACCESSPERMS) | SHMSEG_ALLOCATED;
- shmseg->shm_segsz = uap->size;
- shmseg->shm_cpid = td->td_proc->p_pid;
- shmseg->shm_lpid = shmseg->shm_nattch = 0;
- shmseg->shm_atime = shmseg->shm_dtime = 0;
- shmseg->shm_ctime = time (NULL);
- shm_committed += btoc(size);
- shm_nused++;
- if (shmseg->shm_perm.mode & SHMSEG_WANTED) {
- /*
- * Somebody else wanted this key while we were asleep. Wake
- * them up now.
- */
- shmseg->shm_perm.mode &= ~SHMSEG_WANTED;
- wakeup(shmseg);
- }
- td->td_retval[0] = shmid;
-#ifdef __CYGWIN__
- td->td_retval[1] =
- vm_object_duplicate(td, shmseg->shm_internal->shm_object);
-#endif /* __CYGWIN__ */
- return (0);
-}
-
-/*
- * MPSAFE
- */
-int
-shmget(struct thread *td, struct shmget_args *uap)
-{
- int segnum, mode;
- int error;
-
- if (!jail_sysvipc_allowed && jailed(td->td_ucred))
- return (ENOSYS);
- mtx_lock(&Giant);
- mode = uap->shmflg & ACCESSPERMS;
- if (uap->key != IPC_PRIVATE) {
- again:
-#ifdef __CYGWIN__
- if (uap->shmflg & IPC_KEY_IS_SHMID)
- segnum = shm_find_segment_by_shmid ((int) uap->key) ?
- IPCID_TO_IX((int) uap->key) : -1;
- else
-#endif
- segnum = shm_find_segment_by_key(uap->key);
- if (segnum >= 0) {
- error = shmget_existing(td, uap, mode, segnum);
- if (error == EAGAIN)
- goto again;
- goto done2;
- }
- if ((uap->shmflg & IPC_CREAT) == 0) {
- error = ENOENT;
- goto done2;
- }
- }
- error = shmget_allocate_segment(td, uap, mode);
-done2:
-#ifdef __CYGWIN__
- if (!error)
- ipcexit_creat_hookthread (td);
- else
- td->td_retval[0] = -1;
-#endif
- mtx_unlock(&Giant);
- return (error);
-}
-
-#ifndef __CYGWIN__
-/*
- * MPSAFE
- */
-int
-shmsys(td, uap)
- struct thread *td;
- /* XXX actually varargs. */
- struct shmsys_args /* {
- int which;
- int a2;
- int a3;
- int a4;
- } */ *uap;
-{
- int error;
-
- if (!jail_sysvipc_allowed && jailed(td->td_ucred))
- return (ENOSYS);
- if (uap->which < 0 ||
- uap->which >= sizeof(shmcalls)/sizeof(shmcalls[0]))
- return (EINVAL);
- mtx_lock(&Giant);
- error = (*shmcalls[uap->which])(td, &uap->a2);
- mtx_unlock(&Giant);
- return (error);
-}
-#endif /* __CYGWIN__ */
-
-static void
-shmfork_myhook(struct proc *p1, struct proc *p2)
-{
- struct shmmap_state *shmmap_s;
- size_t size;
- int i;
-
- size = shminfo.shmseg * sizeof(struct shmmap_state);
- shmmap_s = (struct shmmap_state *) sys_malloc(size, M_SHM, M_WAITOK);
- bcopy(p1->p_vmspace->vm_shm, shmmap_s, size);
- p2->p_vmspace->vm_shm = shmmap_s;
- for (i = 0; i < shminfo.shmseg; i++, shmmap_s++)
- if (shmmap_s->shmid != -1) {
- shm_nattch++;
- shmsegs[IPCID_TO_IX(shmmap_s->shmid)].shm_nattch++;
- }
-}
-
-#ifdef __CYGWIN__
-int cygwin_shmfork_myhook (struct thread *td, struct proc *parent)
-{
- ipcexit_creat_hookthread (td);
- ipc_p_vmspace (td->ipcblk);
- ipc_p_vmspace (parent);
- shmfork_myhook (parent, td->ipcblk);
- return 0;
-}
-#endif
-
-void
-shmexit_myhook(struct vmspace *vm)
-{
- struct shmmap_state *base, *shm;
- int i;
-
- GIANT_REQUIRED;
-
- if ((base = vm->vm_shm) != NULL) {
- vm->vm_shm = NULL;
- for (i = 0, shm = base; i < shminfo.shmseg; i++, shm++) {
- if (shm->shmid != -1)
- shm_delete_mapping(vm, shm);
- }
- sys_free(base, M_SHM);
- }
-}
-
-static void
-shmrealloc(void)
-{
- int i;
- struct shmid_ds *newsegs;
-
- if (shmalloced >= shminfo.shmmni)
- return;
-
- newsegs = (struct shmid_ds *) sys_malloc(shminfo.shmmni * sizeof(*newsegs), M_SHM, M_WAITOK);
- if (newsegs == NULL)
- return;
- for (i = 0; i < shmalloced; i++)
- bcopy(&shmsegs[i], &newsegs[i], sizeof(newsegs[0]));
- for (; i < shminfo.shmmni; i++) {
- shmsegs[i].shm_perm.mode = SHMSEG_FREE;
- shmsegs[i].shm_perm.seq = 0;
- }
- sys_free(shmsegs, M_SHM);
- shmsegs = newsegs;
- shmalloced = shminfo.shmmni;
-}
-
-void
-shminit(void)
-{
- int i;
-
- TUNABLE_INT_FETCH("kern.ipc.shmmaxpgs", &shminfo.shmall);
- for (i = PAGE_SIZE; i > 0; i--) {
- shminfo.shmmax = shminfo.shmall * PAGE_SIZE;
- if (shminfo.shmmax >= shminfo.shmall)
- break;
- }
- TUNABLE_INT_FETCH("kern.ipc.shmmin", &shminfo.shmmin);
- TUNABLE_INT_FETCH("kern.ipc.shmmni", &shminfo.shmmni);
- TUNABLE_INT_FETCH("kern.ipc.shmseg", &shminfo.shmseg);
- TUNABLE_INT_FETCH("kern.ipc.shm_use_phys", &shm_use_phys);
-
- shmalloced = shminfo.shmmni;
- shmsegs = (struct shmid_ds *) sys_malloc(shmalloced * sizeof(shmsegs[0]), M_SHM, M_WAITOK);
- if (shmsegs == NULL)
- panic("cannot allocate initial memory for sysvshm");
- for (i = 0; i < shmalloced; i++) {
- shmsegs[i].shm_perm.mode = SHMSEG_FREE;
- shmsegs[i].shm_perm.seq = 0;
- }
- shm_last_free = 0;
- shm_nused = 0;
- shm_committed = 0;
-#ifndef __CYGWIN__
- shmexit_hook = &shmexit_myhook;
- shmfork_hook = &shmfork_myhook;
-#endif /* __CYGWIN__ */
-}
-
-int
-shmunload(void)
-{
-
- if (shm_nused > 0)
- return (EBUSY);
-
- sys_free(shmsegs, M_SHM);
-#ifndef __CYGWIN__
- shmexit_hook = NULL;
- shmfork_hook = NULL;
-#endif /* __CYGWIN__ */
- return (0);
-}
-
-#ifndef __CYGWIN__
-static int
-sysctl_shmsegs(SYSCTL_HANDLER_ARGS)
-{
-
- return (SYSCTL_OUT(req, shmsegs, shmalloced * sizeof(shmsegs[0])));
-}
-
-static int
-sysvshm_modload(struct module *module, int cmd, void *arg)
-{
- int error = 0;
-
- switch (cmd) {
- case MOD_LOAD:
- shminit();
- break;
- case MOD_UNLOAD:
- error = shmunload();
- break;
- case MOD_SHUTDOWN:
- break;
- default:
- error = EINVAL;
- break;
- }
- return (error);
-}
-
-static moduledata_t sysvshm_mod = {
- "sysvshm",
- &sysvshm_modload,
- NULL
-};
-
-SYSCALL_MODULE_HELPER(shmsys);
-SYSCALL_MODULE_HELPER(shmat);
-SYSCALL_MODULE_HELPER(shmctl);
-SYSCALL_MODULE_HELPER(shmdt);
-SYSCALL_MODULE_HELPER(shmget);
-
-DECLARE_MODULE(sysvshm, sysvshm_mod,
- SI_SUB_SYSV_SHM, SI_ORDER_FIRST);
-MODULE_VERSION(sysvshm, 1);
-#endif /* __CYGWIN__ */
-#endif /* __OUTSIDE_CYGWIN__ */
diff --git a/winsup/cygserver/threaded_queue.cc b/winsup/cygserver/threaded_queue.cc
deleted file mode 100644
index 53dd6fa11..000000000
--- a/winsup/cygserver/threaded_queue.cc
+++ /dev/null
@@ -1,410 +0,0 @@
-/* threaded_queue.cc
-
- Copyright 2001, 2002, 2003 Red Hat Inc.
-
- Written by Robert Collins <rbtcollins@hotmail.com>
-
-This file is part of Cygwin.
-
-This software is a copyrighted work licensed under the terms of the
-Cygwin license. Please consult the file "CYGWIN_LICENSE" for
-details. */
-
-#ifdef __OUTSIDE_CYGWIN__
-#include "woutsup.h"
-
-#include <assert.h>
-#include <errno.h>
-#include <stdio.h>
-#include <unistd.h>
-#include <sys/types.h>
-#include <stdlib.h>
-#include "threaded_queue.h"
-
-/*****************************************************************************/
-
-/* queue_request */
-
-queue_request::~queue_request ()
-{}
-
-/*****************************************************************************/
-
-/* threaded_queue */
-
-threaded_queue::threaded_queue (const size_t initial_workers)
- : _workers_count (0),
- _running (false),
- _submitters_head (NULL),
- _requests_count (0),
- _requests_head (NULL),
- _requests_sem (NULL)
-{
- InitializeCriticalSection (&_queue_lock);
-
- // This semaphore's count is the number of requests on the queue.
- // The maximum count (129792) is calculated as MAXIMUM_WAIT_OBJECTS
- // multiplied by max. threads per process (2028?), which is (a few)
- // more requests than could ever be pending with the current design.
-
- _requests_sem = CreateSemaphore (NULL, // SECURITY_ATTRIBUTES
- 0, // Initial count
- 129792, // Maximum count
- NULL); // Anonymous
-
- if (!_requests_sem)
- {
- system_printf (("failed to create the request queue semaphore, "
- "error = %lu"),
- GetLastError ());
- abort ();
- }
-
- create_workers (initial_workers);
-}
-
-threaded_queue::~threaded_queue ()
-{
- if (_running)
- stop ();
-
- debug_printf ("deleting all pending queue requests");
- queue_request *reqptr = _requests_head;
- while (reqptr)
- {
- queue_request *const ptr = reqptr;
- reqptr = reqptr->_next;
- delete ptr;
- }
-
- DeleteCriticalSection (&_queue_lock);
- if (_requests_sem)
- (void) CloseHandle (_requests_sem);
-}
-
-/* FIXME: return success or failure rather than quitting */
-void
-threaded_queue::add_submission_loop (queue_submission_loop *const submitter)
-{
- assert (this);
- assert (submitter);
- assert (submitter->_queue == this);
- assert (!submitter->_next);
-
- submitter->_next =
- TInterlockedExchangePointer (&_submitters_head, submitter);
-
- if (_running)
- submitter->start ();
-}
-
-bool
-threaded_queue::start ()
-{
- EnterCriticalSection (&_queue_lock);
- const bool was_running = _running;
- _running = true;
- queue_submission_loop *loopptr = _submitters_head;
- LeaveCriticalSection (&_queue_lock);
-
- if (!was_running)
- {
- debug_printf ("starting all queue submission loops");
-
- while (loopptr)
- {
- queue_submission_loop *const ptr = loopptr;
- loopptr = loopptr->_next;
- ptr->start ();
- }
- }
-
- return was_running;
-}
-
-bool
-threaded_queue::stop ()
-{
- EnterCriticalSection (&_queue_lock);
- const bool was_running = _running;
- _running = false;
- queue_submission_loop *loopptr = _submitters_head;
- LeaveCriticalSection (&_queue_lock);
-
- if (was_running)
- {
- debug_printf ("stopping all queue submission loops");
- while (loopptr)
- {
- queue_submission_loop *const ptr = loopptr;
- loopptr = loopptr->_next;
- ptr->stop ();
- }
-
- ReleaseSemaphore (_requests_sem, _workers_count, NULL);
- while (_workers_count)
- {
- debug_printf (("waiting for worker threads to terminate: "
- "%lu still running"),
- _workers_count);
- Sleep (1000);
- }
- debug_printf ("all worker threads have terminated");
- }
-
- return was_running;
-}
-
-/* FIXME: return success or failure */
-void
-threaded_queue::add (queue_request *const therequest)
-{
- assert (this);
- assert (therequest);
- assert (!therequest->_next);
-
- if (!_workers_count)
- {
- system_printf ("warning: no worker threads to handle request!");
- // FIXME: And then what?
- }
-
- EnterCriticalSection (&_queue_lock);
- if (!_requests_head)
- _requests_head = therequest;
- else
- {
- /* Add to the queue end. */
- queue_request *reqptr = _requests_head;
- for (; reqptr->_next; reqptr = reqptr->_next)
- {}
- assert (reqptr);
- assert (!reqptr->_next);
- reqptr->_next = therequest;
- }
-
- _requests_count += 1;
- assert (_requests_count > 0);
- LeaveCriticalSection (&_queue_lock);
-
- (void) ReleaseSemaphore (_requests_sem, 1, NULL);
-}
-
-/*static*/ DWORD WINAPI
-threaded_queue::start_routine (const LPVOID lpParam)
-{
- class threaded_queue *const queue = (class threaded_queue *) lpParam;
- assert (queue);
-
- queue->worker_loop ();
-
- const long count = InterlockedDecrement (&queue->_workers_count);
- assert (count >= 0);
-
- if (queue->_running)
- debug_printf ("worker loop has exited; thread about to terminate");
-
- return 0;
-}
-
-/* Called from the constructor: so no need to be thread-safe until the
- * worker threads start to be created; thus the interlocked increment
- * of the `_workers_count' field.
- */
-
-void
-threaded_queue::create_workers (const size_t initial_workers)
-{
- assert (initial_workers > 0);
-
- for (unsigned int i = 0; i != initial_workers; i++)
- {
- const long count = InterlockedIncrement (&_workers_count);
- assert (count > 0);
-
- DWORD tid;
- const HANDLE hThread =
- CreateThread (NULL, 0, start_routine, this, 0, &tid);
-
- if (!hThread)
- {
- system_printf ("failed to create thread, error = %lu",
- GetLastError ());
- abort ();
- }
-
- (void) CloseHandle (hThread);
- }
-}
-
-void
-threaded_queue::worker_loop ()
-{
- while (true)
- {
- const DWORD rc = WaitForSingleObject (_requests_sem, INFINITE);
- if (rc == WAIT_FAILED)
- {
- system_printf ("wait for request semaphore failed, error = %lu",
- GetLastError ());
- return;
- }
- assert (rc == WAIT_OBJECT_0);
-
- EnterCriticalSection (&_queue_lock);
- if (!_running)
- {
- LeaveCriticalSection (&_queue_lock);
- return;
- }
-
- assert (_requests_head);
- queue_request *const reqptr = _requests_head;
- _requests_head = reqptr->_next;
-
- _requests_count -= 1;
- assert (_requests_count >= 0);
- LeaveCriticalSection (&_queue_lock);
-
- assert (reqptr);
- reqptr->process ();
- delete reqptr;
- }
-}
-
-/*****************************************************************************/
-
-/* queue_submission_loop */
-
-queue_submission_loop::queue_submission_loop (threaded_queue *const queue,
- const bool ninterruptible)
- : _running (false),
- _interrupt_event (NULL),
- _queue (queue),
- _interruptible (ninterruptible),
- _hThread (NULL),
- _tid (0),
- _next (NULL)
-{
- if (_interruptible)
- {
- // verbose: debug_printf ("creating an interruptible processing thread");
-
- _interrupt_event = CreateEvent (NULL, // SECURITY_ATTRIBUTES
- FALSE, // Auto-reset
- FALSE, // Initially non-signalled
- NULL); // Anonymous
-
- if (!_interrupt_event)
- {
- system_printf ("failed to create interrupt event, error = %lu",
- GetLastError ());
- abort ();
- }
- }
-}
-
-queue_submission_loop::~queue_submission_loop ()
-{
- if (_running)
- stop ();
- if (_interrupt_event)
- (void) CloseHandle (_interrupt_event);
- if (_hThread)
- (void) CloseHandle (_hThread);
-}
-
-bool
-queue_submission_loop::start ()
-{
- assert (this);
- assert (!_hThread);
-
- const bool was_running = _running;
-
- if (!was_running)
- {
- _running = true;
-
- _hThread = CreateThread (NULL, 0, start_routine, this, 0, &_tid);
- if (!_hThread)
- {
- system_printf ("failed to create thread, error = %lu",
- GetLastError ());
- abort ();
- }
- }
-
- return was_running;
-}
-
-bool
-queue_submission_loop::stop ()
-{
- assert (this);
- assert (_hThread && _hThread != INVALID_HANDLE_VALUE);
-
- const bool was_running = _running;
-
- if (_running)
- {
- _running = false;
-
- if (_interruptible)
- {
- assert (_interrupt_event
- && _interrupt_event != INVALID_HANDLE_VALUE);
-
- SetEvent (_interrupt_event);
-
- if (WaitForSingleObject (_hThread, 1000) == WAIT_TIMEOUT)
- {
- system_printf (("request loop thread %lu failed to shutdown "
- "when asked politely: about to get heavy"),
- _tid);
-
- if (!TerminateThread (_hThread, 0))
- {
- system_printf (("failed to kill request loop thread %lu"
- ", error = %lu"),
- _tid, GetLastError ());
- abort ();
- }
- }
- }
- else
- {
- // FIXME: could wait to see if the request loop notices that
- // the submission loop is no longer running and shuts down
- // voluntarily.
-
- debug_printf ("killing request loop thread %lu", _tid);
-
- if (!TerminateThread (_hThread, 0))
- system_printf (("failed to kill request loop thread %lu"
- ", error = %lu"),
- _tid, GetLastError ());
- }
- }
-
- return was_running;
-}
-
-/*static*/ DWORD WINAPI
-queue_submission_loop::start_routine (const LPVOID lpParam)
-{
- class queue_submission_loop *const submission_loop =
- (class queue_submission_loop *) lpParam;
- assert (submission_loop);
-
- submission_loop->request_loop ();
-
- debug_printf ("submission loop has exited; thread about to terminate");
-
- submission_loop->stop ();
-
- return 0;
-}
-
-/*****************************************************************************/
-#endif /* __OUTSIDE_CYGWIN__ */
diff --git a/winsup/cygserver/threaded_queue.h b/winsup/cygserver/threaded_queue.h
deleted file mode 100644
index 0c3f9913a..000000000
--- a/winsup/cygserver/threaded_queue.h
+++ /dev/null
@@ -1,127 +0,0 @@
-/* threaded_queue.h
-
- Copyright 2001, 2002, 2003 Red Hat Inc.
-
- Written by Robert Collins <rbtcollins@hotmail.com>
-
-This file is part of Cygwin.
-
-This software is a copyrighted work licensed under the terms of the
-Cygwin license. Please consult the file "CYGWIN_LICENSE" for
-details. */
-
-#ifndef _THREADED_QUEUE_
-#define _THREADED_QUEUE_
-
-/*****************************************************************************/
-
-/* a specific request */
-
-class queue_request
-{
-public:
- queue_request *_next;
-
- queue_request () : _next (NULL) {}
- virtual ~queue_request ();
-
- virtual void process () = 0;
-};
-
-/*****************************************************************************/
-
-/* a queue to allocate requests from n submission loops to x worker threads */
-
-class queue_submission_loop;
-
-class threaded_queue
-{
-public:
- threaded_queue (size_t initial_workers = 1);
- ~threaded_queue ();
-
- void add_submission_loop (queue_submission_loop *);
-
- bool running () const { return _running; }
-
- bool start ();
- bool stop ();
-
- void add (queue_request *);
-
-private:
- long _workers_count;
- bool _running;
-
- queue_submission_loop *_submitters_head;
-
- long _requests_count; // Informational only.
- queue_request *_requests_head;
-
- CRITICAL_SECTION _queue_lock;
- HANDLE _requests_sem; // == _requests_count
-
- static DWORD WINAPI start_routine (LPVOID /* this */);
-
- void create_workers (size_t initial_workers);
- void worker_loop ();
-};
-
-/*****************************************************************************/
-
-/* parameters for a request finding and submitting loop */
-
-class queue_submission_loop
-{
- friend class threaded_queue;
-
-public:
- queue_submission_loop (threaded_queue *, bool ninterruptible);
- virtual ~queue_submission_loop ();
-
- bool start ();
- bool stop ();
-
- threaded_queue *queue () { return _queue; };
-
-protected:
- bool _running;
- HANDLE _interrupt_event;
- threaded_queue *const _queue;
-
-private:
- bool _interruptible;
- HANDLE _hThread;
- DWORD _tid;
- queue_submission_loop *_next;
-
- static DWORD WINAPI start_routine (LPVOID /* this */);
- virtual void request_loop () = 0;
-};
-
-#ifdef __cplusplus
-
-/*---------------------------------------------------------------------------*
- * Some type-safe versions of the various interlocked functions.
- *---------------------------------------------------------------------------*/
-
-template <typename T> T *
-TInterlockedExchangePointer (T **lvalue, T *rvalue)
-{
- return reinterpret_cast<T *>
- (InterlockedExchangePointer (reinterpret_cast<void **> (lvalue),
- reinterpret_cast<void *> (rvalue)));
-}
-
-template <typename T> T *
-TInterlockedCompareExchangePointer (T **lvalue, T *rvalue1, T *rvalue2)
-{
- return reinterpret_cast<T *>
- (InterlockedCompareExchangePointer (reinterpret_cast<void **> (lvalue),
- reinterpret_cast<void *> (rvalue1),
- reinterpret_cast<void *> (rvalue2)));
-}
-
-#endif /* __cplusplus */
-
-#endif /* _THREADED_QUEUE_ */
diff --git a/winsup/cygserver/transport.cc b/winsup/cygserver/transport.cc
deleted file mode 100644
index 0e9708272..000000000
--- a/winsup/cygserver/transport.cc
+++ /dev/null
@@ -1,53 +0,0 @@
-/* transport.cc
-
- Copyright 2001, 2002, 2003, 2004 Red Hat Inc.
-
- Written by Robert Collins <rbtcollins@hotmail.com>
-
-This file is part of Cygwin.
-
-This software is a copyrighted work licensed under the terms of the
-Cygwin license. Please consult the file "CYGWIN_LICENSE" for
-details. */
-
-/* to allow this to link into cygwin and the .dll, a little magic is needed. */
-#ifdef __OUTSIDE_CYGWIN__
-#include "woutsup.h"
-#else
-#include "winsup.h"
-#endif
-
-#include <sys/socket.h>
-
-#include "transport.h"
-#include "transport_pipes.h"
-#include "transport_sockets.h"
-
-/* The factory */
-transport_layer_base *
-create_server_transport ()
-{
- if (wincap.is_winnt ())
- return new transport_layer_pipes;
- else
- return new transport_layer_sockets;
-}
-
-#ifndef __INSIDE_CYGWIN__
-
-bool
-transport_layer_base::impersonate_client ()
-{
- return true;
-}
-
-bool
-transport_layer_base::revert_to_self ()
-{
- return true;
-}
-
-#endif /* !__INSIDE_CYGWIN__ */
-
-transport_layer_base::~transport_layer_base ()
-{}
diff --git a/winsup/cygserver/transport.h b/winsup/cygserver/transport.h
deleted file mode 100644
index 80f50fd06..000000000
--- a/winsup/cygserver/transport.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/* transport.h
-
- Copyright 2001, 2002, 2003, 2004 Red Hat Inc.
-
- Written by Robert Collins <rbtcollins@hotmail.com>
-
-This file is part of Cygwin.
-
-This software is a copyrighted work licensed under the terms of the
-Cygwin license. Please consult the file "CYGWIN_LICENSE" for
-details. */
-
-#ifndef _TRANSPORT_H
-#define _TRANSPORT_H
-
-class transport_layer_base *create_server_transport ();
-
-class transport_layer_base
-{
-public:
-#ifndef __INSIDE_CYGWIN__
- virtual int listen () = 0;
- virtual class transport_layer_base *accept (bool *recoverable) = 0;
-#endif
-
- virtual void close () = 0;
- virtual ssize_t read (void *buf, size_t len) = 0;
- virtual ssize_t write (void *buf, size_t len) = 0;
- virtual int connect () = 0;
-
-#ifndef __INSIDE_CYGWIN__
- virtual bool impersonate_client ();
- virtual bool revert_to_self ();
-#endif
-
- virtual ~transport_layer_base ();
-};
-
-#endif /* _TRANSPORT_H */
diff --git a/winsup/cygserver/transport_pipes.cc b/winsup/cygserver/transport_pipes.cc
deleted file mode 100644
index 9fdf75899..000000000
--- a/winsup/cygserver/transport_pipes.cc
+++ /dev/null
@@ -1,355 +0,0 @@
-/* transport_pipes.cc
-
- Copyright 2001, 2002, 2003, 2004 Red Hat Inc.
-
- Written by Robert Collins <rbtcollins@hotmail.com>
-
-This file is part of Cygwin.
-
-This software is a copyrighted work licensed under the terms of the
-Cygwin license. Please consult the file "CYGWIN_LICENSE" for
-details. */
-
-/* to allow this to link into cygwin and the .dll, a little magic is needed. */
-#ifdef __OUTSIDE_CYGWIN__
-#include "woutsup.h"
-#else
-#include "winsup.h"
-#endif
-
-#include <sys/types.h>
-
-#include <assert.h>
-#include <netdb.h>
-#include <pthread.h>
-#include <unistd.h>
-
-#include "cygerrno.h"
-#include "transport.h"
-#include "transport_pipes.h"
-
-#ifndef __INSIDE_CYGWIN__
-#include "cygserver.h"
-#include "cygserver_ipc.h"
-#else
-#include "security.h"
-#endif
-
-#ifdef __INSIDE_CYGWIN__
-#define SET_ERRNO(err) set_errno (err)
-#else
-#define SET_ERRNO(err) errno = (err)
-#endif
-
-enum
- {
- MAX_WAIT_NAMED_PIPE_RETRY = 64,
- WAIT_NAMED_PIPE_TIMEOUT = 10 // milliseconds
- };
-
-#ifndef __INSIDE_CYGWIN__
-
-static pthread_once_t pipe_instance_lock_once = PTHREAD_ONCE_INIT;
-static CRITICAL_SECTION pipe_instance_lock;
-static long pipe_instance = 0;
-
-static void
-initialise_pipe_instance_lock ()
-{
- assert (pipe_instance == 0);
- InitializeCriticalSection (&pipe_instance_lock);
-}
-
-#endif /* !__INSIDE_CYGWIN__ */
-
-#ifndef __INSIDE_CYGWIN__
-
-transport_layer_pipes::transport_layer_pipes (const HANDLE hPipe)
- : _pipe_name (""),
- _hPipe (hPipe),
- _is_accepted_endpoint (true),
- _is_listening_endpoint (false)
-{
- assert (_hPipe);
- assert (_hPipe != INVALID_HANDLE_VALUE);
-
-}
-
-#endif /* !__INSIDE_CYGWIN__ */
-
-transport_layer_pipes::transport_layer_pipes ()
- : _pipe_name ("\\\\.\\pipe\\cygwin_lpc"),
- _hPipe (NULL),
- _is_accepted_endpoint (false),
- _is_listening_endpoint (false)
-{
-}
-
-transport_layer_pipes::~transport_layer_pipes ()
-{
- close ();
-}
-
-#ifndef __INSIDE_CYGWIN__
-
-int
-transport_layer_pipes::listen ()
-{
- assert (!_hPipe);
- assert (!_is_accepted_endpoint);
- assert (!_is_listening_endpoint);
-
- _is_listening_endpoint = true;
-
- /* no-op */
- return 0;
-}
-
-class transport_layer_pipes *
-transport_layer_pipes::accept (bool *const recoverable)
-{
- assert (!_hPipe);
- assert (!_is_accepted_endpoint);
- assert (_is_listening_endpoint);
-
- pthread_once (&pipe_instance_lock_once, &initialise_pipe_instance_lock);
-
- EnterCriticalSection (&pipe_instance_lock);
-
- // Read: http://www.securityinternals.com/research/papers/namedpipe.php
- // See also the Microsoft security bulletins MS00-053 and MS01-031.
-
- // FIXME: Remove FILE_CREATE_PIPE_INSTANCE.
-
- const bool first_instance = (pipe_instance == 0);
-
- const HANDLE accept_pipe =
- CreateNamedPipe (_pipe_name,
- (PIPE_ACCESS_DUPLEX
- | (first_instance ? FILE_FLAG_FIRST_PIPE_INSTANCE : 0)),
- (PIPE_TYPE_BYTE | PIPE_WAIT),
- PIPE_UNLIMITED_INSTANCES,
- 0, 0, 1000,
- &sec_all_nih);
-
- const bool duplicate = (accept_pipe == INVALID_HANDLE_VALUE
- && pipe_instance == 0
- && GetLastError () == ERROR_ACCESS_DENIED);
-
- if (accept_pipe != INVALID_HANDLE_VALUE)
- InterlockedIncrement (&pipe_instance);
-
- LeaveCriticalSection (&pipe_instance_lock);
-
- if (duplicate)
- {
- *recoverable = false;
- system_printf ("failed to create named pipe: "
- "is the daemon already running?");
- return NULL;
- }
-
- if (accept_pipe == INVALID_HANDLE_VALUE)
- {
- debug_printf ("error creating pipe (%lu).", GetLastError ());
- *recoverable = true; // FIXME: case analysis?
- return NULL;
- }
-
- assert (accept_pipe);
-
- if (!ConnectNamedPipe (accept_pipe, NULL)
- && GetLastError () != ERROR_PIPE_CONNECTED)
- {
- debug_printf ("error connecting to pipe (%lu)", GetLastError ());
- (void) CloseHandle (accept_pipe);
- *recoverable = true; // FIXME: case analysis?
- return NULL;
- }
-
- return new transport_layer_pipes (accept_pipe);
-}
-
-#endif /* !__INSIDE_CYGWIN__ */
-
-void
-transport_layer_pipes::close ()
-{
- // verbose: debug_printf ("closing pipe %p", _hPipe);
-
- if (_hPipe)
- {
- assert (_hPipe != INVALID_HANDLE_VALUE);
-
-#ifndef __INSIDE_CYGWIN__
-
- if (_is_accepted_endpoint)
- {
- (void) FlushFileBuffers (_hPipe); // Blocks until client reads.
- (void) DisconnectNamedPipe (_hPipe);
- EnterCriticalSection (&pipe_instance_lock);
- (void) CloseHandle (_hPipe);
- assert (pipe_instance > 0);
- InterlockedDecrement (&pipe_instance);
- LeaveCriticalSection (&pipe_instance_lock);
- }
- else
- (void) CloseHandle (_hPipe);
-
-#else /* __INSIDE_CYGWIN__ */
-
- assert (!_is_accepted_endpoint);
- (void) ForceCloseHandle (_hPipe);
-
-#endif /* __INSIDE_CYGWIN__ */
-
- _hPipe = NULL;
- }
-}
-
-ssize_t
-transport_layer_pipes::read (void *const buf, const size_t len)
-{
- // verbose: debug_printf ("reading from pipe %p", _hPipe);
-
- assert (_hPipe);
- assert (_hPipe != INVALID_HANDLE_VALUE);
- assert (!_is_listening_endpoint);
-
- DWORD count;
- if (!ReadFile (_hPipe, buf, len, &count, NULL))
- {
- debug_printf ("error reading from pipe (%lu)", GetLastError ());
- SET_ERRNO (EINVAL); // FIXME?
- return -1;
- }
-
- return count;
-}
-
-ssize_t
-transport_layer_pipes::write (void *const buf, const size_t len)
-{
- // verbose: debug_printf ("writing to pipe %p", _hPipe);
-
- assert (_hPipe);
- assert (_hPipe != INVALID_HANDLE_VALUE);
- assert (!_is_listening_endpoint);
-
- DWORD count;
- if (!WriteFile (_hPipe, buf, len, &count, NULL))
- {
- debug_printf ("error writing to pipe, error = %lu", GetLastError ());
- SET_ERRNO (EINVAL); // FIXME?
- return -1;
- }
-
- return count;
-}
-
-/*
- * This routine holds a static variable, assume_cygserver, that is set
- * if the transport has good reason to think that cygserver is
- * running, i.e. if if successfully connected to it with the previous
- * attempt. If this is set, the code tries a lot harder to get a
- * connection, making the assumption that any failures are just
- * congestion and overloading problems.
- */
-
-int
-transport_layer_pipes::connect ()
-{
- assert (!_hPipe);
- assert (!_is_accepted_endpoint);
- assert (!_is_listening_endpoint);
-
- static bool assume_cygserver = false;
-
- BOOL rc = TRUE;
- int retries = 0;
-
- while (rc)
- {
- _hPipe = CreateFile (_pipe_name,
- GENERIC_READ | GENERIC_WRITE,
- FILE_SHARE_READ | FILE_SHARE_WRITE,
- &sec_all_nih,
- OPEN_EXISTING,
- SECURITY_IMPERSONATION,
- NULL);
-
- if (_hPipe != INVALID_HANDLE_VALUE)
- {
- assert (_hPipe);
-#ifdef __INSIDE_CYGWIN__
- ProtectHandle (_hPipe);
-#endif
- assume_cygserver = true;
- return 0;
- }
-
- _hPipe = NULL;
-
- if (!assume_cygserver && GetLastError () != ERROR_PIPE_BUSY)
- {
- debug_printf ("Error opening the pipe (%lu)", GetLastError ());
- return -1;
- }
-
- /* Note: `If no instances of the specified named pipe exist, the
- * WaitNamedPipe function returns immediately, regardless of the
- * time-out value.' Thus the explicit Sleep if the call fails
- * with ERROR_FILE_NOT_FOUND.
- */
- while (retries != MAX_WAIT_NAMED_PIPE_RETRY
- && !(rc = WaitNamedPipe (_pipe_name, WAIT_NAMED_PIPE_TIMEOUT)))
- {
- if (GetLastError () == ERROR_FILE_NOT_FOUND)
- Sleep (0); // Give the server a chance.
-
- retries += 1;
- }
- }
-
- assert (retries == MAX_WAIT_NAMED_PIPE_RETRY);
-
- system_printf ("lost connection to cygserver, error = %lu",
- GetLastError ());
-
- assume_cygserver = false;
-
- return -1;
-}
-
-#ifndef __INSIDE_CYGWIN__
-
-bool
-transport_layer_pipes::impersonate_client ()
-{
- assert (_hPipe);
- assert (_hPipe != INVALID_HANDLE_VALUE);
- assert (_is_accepted_endpoint);
-
- if (_hPipe && !ImpersonateNamedPipeClient (_hPipe))
- {
- debug_printf ("Failed to Impersonate client, (%lu)", GetLastError ());
- return false;
- }
-
- return true;
-}
-
-bool
-transport_layer_pipes::revert_to_self ()
-{
- assert (_is_accepted_endpoint);
-
- if (!RevertToSelf ())
- {
- debug_printf ("Failed to RevertToSelf, (%lu)", GetLastError ());
- return false;
- }
- return true;
-}
-
-#endif /* !__INSIDE_CYGWIN__ */
diff --git a/winsup/cygserver/transport_pipes.h b/winsup/cygserver/transport_pipes.h
deleted file mode 100644
index 7265a88f8..000000000
--- a/winsup/cygserver/transport_pipes.h
+++ /dev/null
@@ -1,47 +0,0 @@
-/* transport_pipes.h
-
- Copyright 2001, 2002, 2003 Red Hat Inc.
-
- Written by Robert Collins <rbtcollins@hotmail.com>
-
-This file is part of Cygwin.
-
-This software is a copyrighted work licensed under the terms of the
-Cygwin license. Please consult the file "CYGWIN_LICENSE" for
-details. */
-
-#ifndef _TRANSPORT_PIPES_H
-#define _TRANSPORT_PIPES_H
-
-/* Named pipes based transport, for security on NT */
-class transport_layer_pipes : public transport_layer_base
-{
-public:
-#ifndef __INSIDE_CYGWIN__
- virtual int listen ();
- virtual class transport_layer_pipes *accept (bool *recoverable);
-#endif
-
- virtual void close ();
- virtual ssize_t read (void *buf, size_t len);
- virtual ssize_t write (void *buf, size_t len);
- virtual int connect ();
-
-#ifndef __INSIDE_CYGWIN__
- virtual bool impersonate_client ();
- virtual bool revert_to_self ();
-#endif
-
- transport_layer_pipes ();
- virtual ~transport_layer_pipes ();
-
-private:
- const char *const _pipe_name;
- HANDLE _hPipe;
- const bool _is_accepted_endpoint;
- bool _is_listening_endpoint;
-
- transport_layer_pipes (HANDLE hPipe);
-};
-
-#endif /* _TRANSPORT_PIPES_H */
diff --git a/winsup/cygserver/transport_sockets.cc b/winsup/cygserver/transport_sockets.cc
deleted file mode 100644
index d89e343dc..000000000
--- a/winsup/cygserver/transport_sockets.cc
+++ /dev/null
@@ -1,395 +0,0 @@
-/* transport_sockets.cc
-
- Copyright 2001, 2002, 2003, 2004 Red Hat Inc.
-
- Written by Robert Collins <rbtcollins@hotmail.com>
-
-This file is part of Cygwin.
-
-This software is a copyrighted work licensed under the terms of the
-Cygwin license. Please consult the file "CYGWIN_LICENSE" for
-details. */
-
-/* to allow this to link into cygwin and the .dll, a little magic is needed. */
-#ifdef __OUTSIDE_CYGWIN__
-#include "woutsup.h"
-#else
-#include "winsup.h"
-#endif
-
-#include <sys/types.h>
-#include <sys/socket.h>
-#include <sys/stat.h>
-
-#include <assert.h>
-#include <stdio.h>
-#include <unistd.h>
-
-#include "cygerrno.h"
-#include "transport.h"
-#include "transport_sockets.h"
-
-#ifdef __INSIDE_CYGWIN__
-#define SET_ERRNO(err) set_errno (err)
-#define GET_ERRNO() get_errno ()
-#else
-#define SET_ERRNO(err) errno = (err)
-#define GET_ERRNO() (errno)
-#endif
-
-/* to allow this to link into cygwin and the .dll, a little magic is needed. */
-#ifndef __OUTSIDE_CYGWIN__
-
-extern "C" int cygwin_accept (int fd, struct sockaddr *, int *len);
-extern "C" int cygwin_bind (int fd, const struct sockaddr *, int len);
-extern "C" int cygwin_connect (int fd, const struct sockaddr *, int len);
-extern "C" int cygwin_listen (int fd, int backlog);
-extern "C" int cygwin_shutdown (int fd, int how);
-extern "C" int cygwin_socket (int af, int type, int protocol);
-
-#else /* __OUTSIDE_CYGWIN__ */
-
-#define cygwin_accept(A,B,C) ::accept (A,B,C)
-#define cygwin_bind(A,B,C) ::bind (A,B,C)
-#define cygwin_connect(A,B,C) ::connect (A,B,C)
-#define cygwin_listen(A,B) ::listen (A,B)
-#define cygwin_shutdown(A,B) ::shutdown (A,B)
-#define cygwin_socket(A,B,C) ::socket (A,B,C)
-
-#endif /* __OUTSIDE_CYGWIN__ */
-
-enum
- {
- MAX_CONNECT_RETRY = 64
- };
-
-transport_layer_sockets::transport_layer_sockets (const int fd)
- : _fd (fd),
- _addr_len (0),
- _is_accepted_endpoint (true),
- _is_listening_endpoint (false)
-{
- assert (_fd != -1);
-
- memset (&_addr, '\0', sizeof (_addr));
-}
-
-transport_layer_sockets::transport_layer_sockets ()
- : _fd (-1),
- _addr_len (0),
- _is_accepted_endpoint (false),
- _is_listening_endpoint (false)
-{
- memset (&_addr, '\0', sizeof (_addr));
-
- _addr.sun_family = AF_UNIX;
- strcpy (_addr.sun_path, "/tmp/cygdaemo"); // FIXME: $TMP?
- _addr_len = SUN_LEN (&_addr);
-}
-
-transport_layer_sockets::~transport_layer_sockets ()
-{
- close ();
-}
-
-#ifndef __INSIDE_CYGWIN__
-
-int
-transport_layer_sockets::listen ()
-{
- assert (_fd == -1);
- assert (!_is_accepted_endpoint);
- assert (!_is_listening_endpoint);
-
- debug_printf ("listen () [this = %p]", this);
-
- struct stat sbuf;
-
- if (stat (_addr.sun_path, &sbuf) == -1)
- {
- if (GET_ERRNO () != ENOENT)
- {
- system_printf ("cannot access socket file `%s': %s",
- _addr.sun_path, strerror (GET_ERRNO ()));
- return -1;
- }
- }
- else if (S_ISSOCK (sbuf.st_mode))
- {
- // The socket already exists: is a duplicate cygserver running?
-
- const int newfd = cygwin_socket (AF_UNIX, SOCK_STREAM, 0);
-
- if (newfd == -1)
- {
- system_printf ("failed to create UNIX domain socket: %s",
- strerror (GET_ERRNO ()));
- return -1;
- }
-
- if (cygwin_connect (newfd, (struct sockaddr *) &_addr, _addr_len) == 0)
- {
- system_printf ("the daemon is already running");
- (void) cygwin_shutdown (newfd, SHUT_WR);
- char buf[BUFSIZ];
- while (::read (newfd, buf, sizeof (buf)) > 0)
- {}
- (void) ::close (newfd);
- return -1;
- }
-
- if (unlink (_addr.sun_path) == -1)
- {
- system_printf ("failed to remove `%s': %s",
- _addr.sun_path, strerror (GET_ERRNO ()));
- (void) ::close (newfd);
- return -1;
- }
- }
- else
- {
- system_printf ("cannot create socket `%s': File already exists",
- _addr.sun_path);
- return -1;
- }
-
- _fd = cygwin_socket (AF_UNIX, SOCK_STREAM, 0);
-
- if (_fd == -1)
- {
- system_printf ("failed to create UNIX domain socket: %s",
- strerror (GET_ERRNO ()));
- return -1;
- }
-
- if (cygwin_bind (_fd, (struct sockaddr *) &_addr, _addr_len) == -1)
- {
- const int saved_errno = GET_ERRNO ();
- close ();
- SET_ERRNO (saved_errno);
- system_printf ("failed to bind UNIX domain socket `%s': %s",
- _addr.sun_path, strerror (GET_ERRNO ()));
- return -1;
- }
-
- _is_listening_endpoint = true; // i.e. this really means "have bound".
-
- if (cygwin_listen (_fd, SOMAXCONN) == -1)
- {
- const int saved_errno = GET_ERRNO ();
- close ();
- SET_ERRNO (saved_errno);
- system_printf ("failed to listen on UNIX domain socket `%s': %s",
- _addr.sun_path, strerror (GET_ERRNO ()));
- return -1;
- }
-
- debug_printf ("0 = listen () [this = %p, fd = %d]", this, _fd);
-
- return 0;
-}
-
-class transport_layer_sockets *
-transport_layer_sockets::accept (bool *const recoverable)
-{
- assert (_fd != -1);
- assert (!_is_accepted_endpoint);
- assert (_is_listening_endpoint);
-
- debug_printf ("accept () [this = %p, fd = %d]", this, _fd);
-
- struct sockaddr_un client_addr;
- socklen_t client_addr_len = sizeof (client_addr);
-
- const int accept_fd =
- cygwin_accept (_fd, (struct sockaddr *) &client_addr, &client_addr_len);
-
- if (accept_fd == -1)
- {
- system_printf ("failed to accept connection: %s", strerror (GET_ERRNO ()));
- switch (GET_ERRNO ())
- {
- case ECONNABORTED:
- case EINTR:
- case EMFILE:
- case ENFILE:
- case ENOBUFS:
- case ENOMEM:
- *recoverable = true;
- break;
-
- default:
- *recoverable = false;
- break;
- }
- return NULL;
- }
-
- debug_printf ("%d = accept () [this = %p, fd = %d]", accept_fd, this, _fd);
-
- return new transport_layer_sockets (accept_fd);
-}
-
-#endif /* !__INSIDE_CYGWIN__ */
-
-void
-transport_layer_sockets::close ()
-{
- debug_printf ("close () [this = %p, fd = %d]", this, _fd);
-
- if (_is_listening_endpoint)
- (void) unlink (_addr.sun_path);
-
- if (_fd != -1)
- {
- (void) cygwin_shutdown (_fd, SHUT_WR);
- if (!_is_listening_endpoint)
- {
- char buf[BUFSIZ];
- while (::read (_fd, buf, sizeof (buf)) > 0)
- {}
- }
- (void) ::close (_fd);
- _fd = -1;
- }
-
- _is_listening_endpoint = false;
-}
-
-ssize_t
-transport_layer_sockets::read (void *const buf, const size_t buf_len)
-{
- assert (_fd != -1);
- assert (!_is_listening_endpoint);
-
- assert (buf);
- assert (buf_len > 0);
-
- // verbose: debug_printf ("read (buf = %p, len = %u) [this = %p, fd = %d]",
- // buf, buf_len, this, _fd);
-
- char *read_buf = static_cast<char *> (buf);
- size_t read_buf_len = buf_len;
- ssize_t res = 0;
-
- while (read_buf_len != 0
- && (res = ::read (_fd, read_buf, read_buf_len)) > 0)
- {
- read_buf += res;
- read_buf_len -= res;
-
- assert (read_buf_len >= 0);
- }
-
- if (res != -1)
- {
- if (res == 0)
- SET_ERRNO (EIO); // FIXME?
-
- res = buf_len - read_buf_len;
- }
-
- if (res != static_cast<ssize_t> (buf_len))
- debug_printf ("%d = read (buf = %p, len = %u) [this = %p, fd = %d]: %s",
- res, buf, buf_len, this, _fd,
- (res == -1 ? strerror (GET_ERRNO ()) : "EOF"));
- else
- {
- // verbose: debug_printf ("%d = read (buf = %p, len = %u) [this = %p, fd = %d]",
- // res, buf, buf_len, this, _fd);
- }
-
- return res;
-}
-
-ssize_t
-transport_layer_sockets::write (void *const buf, const size_t buf_len)
-{
- assert (_fd != -1);
- assert (!_is_listening_endpoint);
-
- assert (buf);
- assert (buf_len > 0);
-
- // verbose: debug_printf ("write (buf = %p, len = %u) [this = %p, fd = %d]",
- // buf, buf_len, this, _fd);
-
- char *write_buf = static_cast<char *> (buf);
- size_t write_buf_len = buf_len;
- ssize_t res = 0;
-
- while (write_buf_len != 0
- && (res = ::write (_fd, write_buf, write_buf_len)) > 0)
- {
- write_buf += res;
- write_buf_len -= res;
-
- assert (write_buf_len >= 0);
- }
-
- if (res != -1)
- {
- if (res == 0)
- SET_ERRNO (EIO); // FIXME?
-
- res = buf_len - write_buf_len;
- }
-
- if (res != static_cast<ssize_t> (buf_len))
- debug_printf ("%d = write (buf = %p, len = %u) [this = %p, fd = %d]: %s",
- res, buf, buf_len, this, _fd,
- (res == -1 ? strerror (GET_ERRNO ()) : "EOF"));
- else
- {
- // verbose: debug_printf ("%d = write (buf = %p, len = %u) [this = %p, fd = %d]",
- // res, buf, buf_len, this, _fd);
- }
-
- return res;
-}
-
-int
-transport_layer_sockets::connect ()
-{
- assert (_fd == -1);
- assert (!_is_accepted_endpoint);
- assert (!_is_listening_endpoint);
-
- static bool assume_cygserver = false;
-
- debug_printf ("connect () [this = %p]", this);
-
- for (int retries = 0; retries != MAX_CONNECT_RETRY; retries++)
- {
- _fd = cygwin_socket (AF_UNIX, SOCK_STREAM, 0);
-
- if (_fd == -1)
- {
- system_printf ("failed to create UNIX domain socket: %s",
- strerror (GET_ERRNO ()));
- return -1;
- }
-
- if (cygwin_connect (_fd, (struct sockaddr *) &_addr, _addr_len) == 0)
- {
- assume_cygserver = true;
- debug_printf ("0 = connect () [this = %p, fd = %d]", this, _fd);
- return 0;
- }
-
- if (!assume_cygserver || GET_ERRNO () != ECONNREFUSED)
- {
- debug_printf ("failed to connect to server: %s", strerror (GET_ERRNO ()));
- (void) ::close (_fd);
- _fd = -1;
- return -1;
- }
-
- (void) ::close (_fd);
- _fd = -1;
- Sleep (0); // Give the server a chance.
- }
-
- debug_printf ("failed to connect to server: %s", strerror (GET_ERRNO ()));
- return -1;
-}
diff --git a/winsup/cygserver/transport_sockets.h b/winsup/cygserver/transport_sockets.h
deleted file mode 100644
index dab086e7d..000000000
--- a/winsup/cygserver/transport_sockets.h
+++ /dev/null
@@ -1,46 +0,0 @@
-/* transport_sockets.h
-
- Copyright 2001, 2002, 2003 Red Hat Inc.
-
- Written by Robert Collins <rbtcollins@hotmail.com>
-
-This file is part of Cygwin.
-
-This software is a copyrighted work licensed under the terms of the
-Cygwin license. Please consult the file "CYGWIN_LICENSE" for
-details. */
-
-#ifndef _TRANSPORT_SOCKETS_H
-#define _TRANSPORT_SOCKETS_H
-
-#include <sys/socket.h>
-#include <sys/un.h>
-
-class transport_layer_sockets : public transport_layer_base
-{
-public:
-#ifndef __INSIDE_CYGWIN__
- virtual int listen ();
- virtual class transport_layer_sockets *accept (bool *recoverable);
-#endif
-
- virtual void close ();
- virtual ssize_t read (void *buf, size_t len);
- virtual ssize_t write (void *buf, size_t len);
- virtual int connect ();
-
- transport_layer_sockets ();
- virtual ~transport_layer_sockets ();
-
-private:
- /* for socket based communications */
- int _fd;
- struct sockaddr_un _addr;
- socklen_t _addr_len;
- const bool _is_accepted_endpoint;
- bool _is_listening_endpoint;
-
- transport_layer_sockets (int fd);
-};
-
-#endif /* _TRANSPORT_SOCKETS_H */
diff --git a/winsup/cygserver/woutsup.h b/winsup/cygserver/woutsup.h
deleted file mode 100644
index 39db63997..000000000
--- a/winsup/cygserver/woutsup.h
+++ /dev/null
@@ -1,73 +0,0 @@
-/* woutsup.h: for Cygwin code compiled outside the DLL (i.e. cygserver).
-
- Copyright 2002, 2003 Red Hat, Inc.
-
-This file is part of Cygwin.
-
-This software is a copyrighted work licensed under the terms of the
-Cygwin license. Please consult the file "CYGWIN_LICENSE" for
-details. */
-
-#define _MT_SAFE 1
-
-#ifdef __INSIDE_CYGWIN__
-#error "woutsup.h is not for code being compiled inside the dll"
-#endif
-
-#ifndef _WIN32_WINNT
-#define _WIN32_WINNT 0x0500
-#endif
-
-#if _WIN32_WINNT < 0x0500
-#undef _WIN32_WINNT
-#define _WIN32_WINNT 0x0500
-#endif
-
-#define WIN32_LEAN_AND_MEAN 1
-#define _WINGDI_H
-#define _WINUSER_H
-#define _WINNLS_H
-#define _WINVER_H
-#define _WINNETWK_H
-#define _WINSVC_H
-#include <windows.h>
-#include <wincrypt.h>
-#include <lmcons.h>
-#undef _WINGDI_H
-#undef _WINUSER_H
-#undef _WINNLS_H
-#undef _WINVER_H
-#undef _WINNETWK_H
-#undef _WINSVC_H
-
-#include "wincap.h"
-
-#include "bsd_helper.h"
-#include "bsd_log.h"
-#include "bsd_mutex.h"
-
-/* The one function we use from winuser.h most of the time */
-extern "C" DWORD WINAPI GetLastError (void);
-
-extern int cygserver_running;
-
-#define SIGHANDLE(SIG) \
- do \
- { \
- struct sigaction act; \
- \
- act.sa_handler = &handle_signal; \
- act.sa_mask = 0; \
- act.sa_flags = 0; \
- \
- if (sigaction (SIG, &act, NULL) == -1) \
- { \
- panic ("failed to install handler for " #SIG ": %s", \
- strerror (errno)); \
- exit (1); \
- } \
- } while (false)
-
-#define debug_printf(f,...) debug((f),##__VA_ARGS__)
-#define syscall_printf(f,...) log(LOG_ERR,(f),##__VA_ARGS__)
-#define system_printf(f,...) log(LOG_ERR,(f),##__VA_ARGS__)
diff --git a/winsup/cygwin/include/machine/stdlib.h b/winsup/cygwin/include/machine/stdlib.h
deleted file mode 100644
index 2d1539e2c..000000000
--- a/winsup/cygwin/include/machine/stdlib.h
+++ /dev/null
@@ -1,22 +0,0 @@
-/* machine/stdlib.h
-
- Copyright 2005 Red Hat, Inc.
-
- This file is part of Cygwin.
-
- This software is a copyrighted work licensed under the terms of the
- Cygwin license. Please consult the file "CYGWIN_LICENSE" for
- details. */
-
-#ifndef _MACHSTDLIB_H_
-#define _MACHSTDLIB_H_
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-char *mkdtemp (char *);
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* _MACHSTDLIB_H_ */
diff --git a/winsup/doc/ChangeLog b/winsup/doc/ChangeLog
deleted file mode 100644
index 21df88086..000000000
--- a/winsup/doc/ChangeLog
+++ /dev/null
@@ -1,567 +0,0 @@
-2005-10-02 Joshua Daniel Franklin <joshuadfranklin@yahoo.com>
-
- * faq-what.xml: Add 2003 and WOW64 to "supported" FAQ.
- * faq-programming.xml: Fix cygexec FAQ, building link.
-
-2005-09-25 Joshua Daniel Franklin <joshuadfranklin@yahoo.com>
-
- * faq.xml: Remove copyright section, link to license.html
- * faq-sections.xml: Remove copyright section, link to license.html
- * faq-programming.xml: Remove confusing reference to Red Hat.
- * faq-what.xml: Reword "supported" FAQ.
-
-2005-09-15 Corinna Vinschen <corinna@vinschen.de>
-
- * cygwinenv.sgml (ntea): Add some wording to scare people away
- from using this option.
-
-2005-08-26 Brian Dessent <brian@dessent.net>
-
- * faq-using.xml: Add 'net use' hint to network shares FAQ.
-
-2005-08-26 Joshua Daniel Franklin <joshuadfranklin@yahoo.com>
-
- * Makefile.in: Remove extra anchor to make NN4 happy.
- * faq.xml: Link to cygwin.com/license.html
- * faq-resources.xml: Link instead of duplicating info.
- * faq-using.xml: Split out services and network shares FAQ.
- * faq-what.xml: Link to cygwin.com/license.html
-
-2005-08-17 Christopher Faylor <cgf@timesys.com>
-
- * textbinary.sgml: Correct incorrect information about ability to
- specify text mode in fopen().
-
-2005-08-05 Joshua Daniel Franklin <joshuadfranklin@yahoo.com>
-
- * cygwin.dsl: Add default DOCTYPE and output filename.
- * Makefile: Update to switch FAQ from texinfo to DocBook.
- * faq.xml: New file.
- * faq-api.xml: New file.
- * faq-problems.xml: New file.
- * faq-programming.xml: New file.
- * faq-resources.xml: New file.
- * faq-sections.xml: New file.
- * faq-setup.xml: New file.
- * faq-using.xml: New file.
- * faq-what.xml: New file.
-
-2005-07-10 Joshua Daniel Franklin <joshuadfranklin@yahoo.com>
-
- * cygwinenv.sgml: Update tty section to mention rxvt and xterm.
- * how-programming.texinfo: Update GPL section of CVS FAQ.
- * how-using.texinfo: Expand FAQ about out of date packages.
- * setup-net.sgml: Add troubleshooting setup.exe section.
-
-2005-07-08 Corinna Vinschen <corinna@vinschen.de>
-
- * how-using.texinfo: Fix typos.
-
-2005-06-20 Joshua Daniel Franklin <joshuadfranklin@yahoo.com>
-
- * how-resources.texinfo: Update section on cygwin-developers.
- * how-using.texinfo: Add FAQ about firewall software. Update
- section on mounting and specifically note using managed mounts.
-
-2005-06-03 Max Kaehn <slothman@electric-cloud.com>
-
- * how-programming.texinfo: Add "How do I load cygwin1.dll dynamically
- from a Visual Studio or MinGW application?"
-
-2005-05-28 Joshua Daniel Franklin <joshuadfranklin@yahoo.com>
-
- * how-using.texinfo : Update the mkdir -p section to reflect
- changes in handling network drives.
-
-2005-05-18 Brian Dessent <brian@dessent.net>
-
- * install.texinfo ("How do I uninstall..."): Rewrite to cover
- removing services, dealing with permissions, and other common
- tasks for removing Cygwin completely.
-
-2005-05-08 Joshua Daniel Franklin <joshuadfranklin@yahoo.com>
-
- * how-programming.texinfo: Replace MAKE_MODE entry with FAQ about
- execvp errors and cygexec.
-
-2005-04-20 Brian Dessent <brian@dessent.net>
-
- * pathnames.sgml (mount-table): Indicate that user-specific
- mounts override system-wide.
-
-2005-04-20 Gerd Spalink <Gerd.Spalink@t-online.de>
-
- * fhandler-tut.txt: Update description to cygwin 1.5.13
-
-2005-04-19 Corinna Vinschen <corinna@vinschen.de>
-
- * cygwinenv.sgml: Mention that check_case is deprecated.
-
-2005-04-16 Corinna Vinschen <corinna@vinschen.de>
-
- * cygwinenv.sgml: Add new words for (no)traverse option.
-
-2005-03-30 Christopher Faylor <cgf@timesys.com>
-
- * how-using.texinfo: Add more words to the "multiple DLL" section.
-
-2005-03-25 Joshua Daniel Franklin <joshuadfranklin@yahoo.com>
-
- * how-programming.texinfo: Mention generic-build-script in
- packaging FAQ.
-
-2005-03-19 Joshua Daniel Franklin <joshuadfranklin@yahoo.com>
-
- * how-programming.texinfo: Remove incorrect libm.a note.
-
-2005-03-05 Christopher Faylor <cgf@timesys.com>
-
- * pathnames.sgml: Clarify binmode/textmode behavior slightly.
- * textbinary.sgml: Ditto.
-
-2005-03-03 Joshua Daniel Franklin <joshuadfranklin@yahoo.com>
-
- * how-api.texinfo: Add Pierre's security text.
-
-2005-02-23 Joshua Daniel Franklin <joshuadfranklin@yahoo.com>
-
- * README: New file.
-
-2005-01-31 Corinna Vinschen <corinna@vinschen.de>
-
- * cygwinenv.sgml: Add words for (no)traverse option.
-
-2005-01-29 Joshua Daniel Franklin <joshuadfranklin@yahoo.com>
-
- * install.texinfo: Update setup.exe snapshot URL.
- * ntsec.sgml: Add Pierre's Windows 2003 text.
-
-2005-01-28 Corinna Vinschen <corinna@vinschen.de>
-
- * how-using.texinfo: Change text about using shortcuts.
-
-2005-01-22 Joshua Daniel Franklin <joshuadfranklin@yahoo.com>
-
- * how-api.texinfo: Make snapshot URL an HTML link.
- * how-programming.texinfo: Add details about building a
- debugging version of the DLL.
- * how-using.texinfo: Correct rxvt README location.
- * install.texinfo: Add mount -m note to uninstall instructions.
-
-2005-01-21 Christopher Faylor <cgf@timesys.com>
-
- * how-programming.texinfo: Remove obsolete w32api instructions and add
- some words about unpacking net release .tar.bz2.
-
-2004-12-30 Joshua Daniel Franklin <joshuadfranklin@yahoo.com>
-
- * path.sgml: Encode programming example with CDATA.
- * overview.sgml: Add notes about SUS, newlib, and ash.
- * overview2.sgml: Add notes about /usr/share/doc/Cygwin.
-
-2004-12-27 Joshua Daniel Franklin <joshuadfranklin@yahoo.com>
-
- * Makefile.in: Update to use xmlto.
- * cygwin.dsl: Change into DocBook XSL stylesheet for xmlto.
- * pathnames.sgml: Correct documentation of mount behavior.
-
-2004-12-24 Joshua Daniel Franklin <joshuadfranklin@yahoo.com>
-
- * cygserver.sgml: Cleanup markup for XML validity.
- * cygwin-api.in.sgml: Cleanup markup for XML validity.
- * cygwin-ug-net.in.sgml: Cleanup markup for XML validity.
- * cygwin-ug.in.sgml: Cleanup markup for XML validity.
- * cygwinenv.sgml: Cleanup markup for XML validity.
- * dll.sgml: Cleanup markup for XML validity.
- * effectively.sgml: Cleanup markup for XML validity.
- * filemodes.sgml: Cleanup markup for XML validity.
- * legal.sgml: Cleanup markup for XML validity.
- * ntsec.sgml: Cleanup markup for XML validity.
- * overview.sgml: Cleanup markup for XML validity.
- * overview2.sgml: Cleanup markup for XML validity.
- * pathnames.sgml: Cleanup markup for XML validity.
- * setup-net.sgml: Cleanup markup for XML validity.
- * setup2.sgml: Cleanup markup for XML validity.
- * textbinary.sgml: Cleanup markup for XML validity.
- * utils.sgml: Cleanup markup for XML validity.
-
-2004-12-02 Joshua Daniel Franklin <joshuadfranklin@yahoo.com>
-
- * cygserver.sgml: Cleanup minor markup problem.
- * how-resources.texinfo: Add man and info to documentation FAQ.
- * how-using.texinfo: Add more detail to Unicode FAQ.
- * install.texinfo: Finally apply Pierre's patch from 2003-03-03.
- * relnotes.texinfo: Add note about hyperthreading reports.
-
-2004-09-30 Joshua Daniel Franklin <joshuadfranklin@yahoo.com>
-
- * how-using.texinfo: Fix typo. Add note about "Install For All Users"
-
-2004-09-30 Joshua Daniel Franklin <joshuadfranklin@yahoo.com>
-
- * how-programming.texinfo: Add gcj note to WinMain@16 FAQ.
- * how-using.texinfo: Add FAQ about network shares and authentication.
- * install.texinfo: Add "Where is make" to FAQ subtitle.
-
-2004-09-24 Corinna Vinschen <corinna@vinschen.de>
-
- * cygwinenv.sgml: smbntsec is not on by default.
-
-2004-09-14 Christopher Faylor <cgf@timesys.com>
-
- * what.texinfo: Fix two typos reported on cygwin list.
-
-2004-09-02 Corinna Vinschen <corinna@vinschen.de>
-
- * textbinary.sgml: Change default mode for non-mounted paths to binary.
-
-2004-07-16 Joshua Daniel Franklin <joshuadfranklin@yahoo.com>
-
- * how-resources.texinfo: Update documentation to /usr/share/doc.
- * how-using.texinfo: Add paragraph about find -noleaf.
-
-2004-06-14 Joshua Daniel Franklin <joshuadfranklin@yahoo.com>
-
- * how-programming.texinfo: Add section about Visual Studio linking.
-
-2004-06-13 Joshua Daniel Franklin <joshuadfranklin@yahoo.com>
-
- * faq.texinfo: Move outdated calls.texinfo to readme.texinfo.
- * how-api.texinfo: Fix typos.
- * how-programming.texinfo: Fix typos.
- * how-resources.texinfo: Fix typos.
- * how-using.texinfo: Fix typos.
- * install.texinfo: Fix typos.
- * readme.texinfo: Move outdated calls.texinfo to readme.texinfo.
-
-2004-05-21 Brian Ford <ford@vss.fsi.com>
-
- * pathnames.sgml: Remove /dev/kmem from the supported POSIX
- device list.
-
- * cygwinenv.sgml: Fix typo in check_case description.
-
-2004-03-30 Joshua Daniel Franklin <joshuadfranklin@yahoo.com>
-
- * ntsec.sgml: Replace chapter numbers with <link>s,
- replace release-numbers in <title>s with descriptions.
-
-2004-03-30 Ronald Landheer-Cieslak <ronald@landheer.com>
-
- * ntsec.sgml: Fix typos, correct chapter numbers.
-
-2004-03-29 Corinna Vinschen <corinna@vinschen.de>
-
- * pathnames.sgml: Fix /dev/srX description.
-
-2004-03-28 Joshua Daniel Franklin <joshuadfranklin@yahoo.com>
-
- * how-programming.texinfo: Make list in .lib FAQ enumerative.
-
-2004-03-28 Joshua Daniel Franklin <joshuadfranklin@yahoo.com>
-
- * how-programming.texinfo: Add note about gcc .lib linking.
- * pathnames.sgml: Mention create_devices.sh for /dev/ creation.
-
-2004-03-27 Corinna Vinschen <corinna@vinschen.de>
-
- * cygserver.sgml: New file.
- * using.sgml: Include Cygserver docs.
-
-2004-03-26 Joshua Daniel Franklin <joshuadfranklin@yahoo.com>
-
- * cygwinenv.sgml: Add example for CYGWIN=error_start.
- * pathnames.sgml: Update list of /dev/ devices.
-
-2004-02-22 Joshua Daniel Franklin <joshuadfranklin@yahoo.com>
-
- * Makefile.in: Fix problem links in faq0.html file.
- * what.texinfo: Remove outdated 'recent' history.
-
-2004-02-19 Joshua Daniel Franklin <joshuadfranklin@yahoo.com>
-
- * cygwinenv.sgml: Remove incorrect ^Z information. Add
- some tags to server option description.
- * textbinary.sgml: Remove incorrect ^Z information.
-
-2004-02-16 Corinna Vinschen <corinna@vinschen.de>
-
- * cygwinenv.sgml: Add server option description.
-
-2004-02-04 Joshua Daniel Franklin <joshuadfranklin@yahoo.com>
-
- * Makefile.in: Generate monolithic faq0.html file.
-
-2004-01-24 Joshua Daniel Franklin <joshuadfranklin@yahoo.com>
-
- * cygwinenv.sgml: Cleanup minor markup problems.
- * dll.sgml: Cleanup minor markup problems.
- * effectively.sgml: Cleanup minor markup problems.
- * gcc.sgml: Cleanup minor markup problems.
- * ntsec.sgml: Cleanup minor markup problems.
- * pathnames.sgml: Cleanup minor markup problems.
- * setup-net.sgml: Cleanup minor markup problems.
- * textbinary.sgml: Cleanup minor markup problems.
- * windres.sgml: Cleanup minor markup problems.
-
-2004-01-20 Joshua Daniel Franklin <joshuadfranklin@yahoo.com>
-
- * Makefile.in: Remove unused cygwin-ug and cygwin-api-int
- targets from default build.
- * how-using.texinfo: Add information about 8-bit character
- display to FAQ.
- * setup2.sgml: Add information about 8-bit character display
- to "Setting up Cygwin".
-
-2004-01-15 Joshua Daniel Franklin <joshuadfranklin@yahoo.com>
-
- * setup-net.sgml: Add "internet-setup" id anchor.
- * overview.sgml: Update "What is it?" section. Add links to
- "Is it free software?" section. Update "Brief History" section.
- * overview2.sgml: Rewrite "Expectations for {Windows,Unix}"
- as "Quick Start for those more experienced with {Windows,Unix}".
-
-2004-01-11 Joshua Daniel Franklin <joshuadfranklin@yahoo.com>
-
- * Makefile.in: Add new target for single-file User's Guide, use new
- cygwin.dsl for output.
- * cygwin.dsl: New file, DSSSL stylesheet for custom Cygwin output.
- * cygwin-api.in.sgml: Update to DocBook SGML 4.2 DTD.
- * cygwin-ug-net.in.sgml: Update to DocBook SGML 4.2 DTD.
- * cygwin-ug.in.sgml: Update to DocBook SGML 4.2 DTD.
- * cygwinenv.sgml: Correct some tags. Add description of default values
- to ntsec, export, and error_start items.
- * dll.sgml: Add explanation of cyg prefix for DLLs.
- * effectively.sgml: Use systemitem tag for names of Cygwin packages.
- * how-programming.texinfo: Add example to FAQ entry.
- * pathnames.sgml: Add discussion of /proc filesystem.
- * setup-net.sgml: Correct some typos and grammar.
-
-2003-09-01 Corinna Vinschen <corinna@vinschen.de>
-
- * pathnames.sgml: Remove description how to mount raw devices and
- dicourage it. Desparately try to make usage of raw devices a bit
- clearer.
-
-2003-07-31 Joshua Daniel Franklin <joshuadfranklin@yahoo.com>
-
- * effectively.sgml: New file, "Using Cygwin Effectively with Windows".
- * legal.sgml: Update year in copyright notice.
- * using.sgml: Include "Using Cygwin Effectively with Windows" section.
-
-2003-07-15 Christopher Faylor <cgf@redhat.com>
-
- * pathnames.sgml: Use correct registry key. Clarify '@' operation.
-
-2003-07-03 Christopher Faylor <cgf@redhat.com>
-
- * ntsec.sgml: Reword references to "ntsec patch".
-
-2003-05-08 Joshua Daniel Franklin <joshuadfranklin@yahoo.com>
-
- * cygwin-ug-net.in.sgml: Remove outdated revision information and
- author's names.
-
-2003-04-26 Joshua Daniel Franklin <joshuadfranklin@yahoo.com>
-
- * gcc.sgml: Remove outdated "WinMainCRTStartup" references. Add a
- hellogui.c example.
-
-2003-03-26 Joshua Daniel Franklin <joshuadfranklin@yahoo.com>
-
- * setup-net.sgml: Make suggested additions to setup.exe documentation
-
-2003-03-23 Joshua Daniel Franklin <joshuadfranklin@yahoo.com>
-
- * setup-net.sgml: Improve setup.exe documentation
-
-2003-03-22 Joshua Daniel Franklin <joshuadfranklin@yahoo.com>
-
- * setup-net.sgml: Document setup.exe
-
-2003-02-07 Christopher Faylor <cgf@redhat.com>
-
- * how.texinfo: Add more w32api words.
-
-2003-02-07 Igor Pechtchanski <pechtcha@cs.nyu.edu>
-
- * ntsec.sgml: Add note on special names for missing user/group.
-
-2002-12-18 Christopher Faylor <cgf@redhat.com>
-
- * overview2.sgml: Remove CTRL-Z discussion.
- * cygwinenv.sgml: Expand on CYGWIN=binmode.
-
-2002-11-10 Christopher Faylor <cgf@redhat.com>
-
- * how-programming.texinfo: Document _WIN32 more fully.
-
-2002-10-22 Joshua Daniel Franklin <joshuadfranklin@yahoo.com>
-
- * ntsec.sgml: Correct some minor grammatical errors.
-
-2002-10-22 Joshua Daniel Franklin <joshuadfranklin@yahoo.com>
-
- * dll.sgml: Simplify dll build instructions.
-
-2002-09-11 Corinna Vinschen <corinna@vinschen.de>
-
- * ntsec.html: Add chapter for switching user context w/o password.
-
-2002-08-29 Christopher Faylor <cgf@redhat.com>
-
- * how-api.texinfo: Remove a line from the CRLF discussion about lseek
- not working. Answer thread safe question more simply.
-
-2002-08-27 Nicholas Wourms <nwourms@netscape.net>
-
- * calls.texinfo: Add getc_unlocked, getchar_unlocked, putc_unlocked
- and putchar_unlocked.
-
-2002-08-21 Christopher Faylor <cgf@redhat.com>
-
- * dll.sgml: Remove indirect reference to older gccs.
-
-2002-06-22 Joshua Daniel Franklin <joshuadfranklin@yahoo.com>
-
- * dll.sgml: Refine dll build instructions.
-
-2002-08-21 Christopher Faylor <cgf@redhat.com>
-
- * ntsec.html: Correct some typos.
-
-2002-07-23 Nicholas Wourms <nwourms@netscape.net>
-
- * calls.texinfo: Add fcloseall and fcloseall_r.
-
-2002-06-24 Corinna Vinschen <corinna@vinschen.de>
-
- * ntsec.sgml: Clean up text for examples of /etc/passwd and /etc/group.
- Add examples with SIDs. Warn about changing them crudely.
-
-2002-06-21 Christopher Faylor <cgf@redhat.com>
-
- * what.texinfo: Fix typo.
-
-2002-06-02 Christopher Faylor <cgf@redhat.com>
-
- * how-programming.texinfo: Add more words to the "how to build".
-
-2002-03-01 Christopher Faylor <cgf@redhat.com>
-
- * overview.sgml: Fix 'more more' typo.
-
-2002-01-12 Christopher Faylor <cgf@redhat.com>
-
- * overview.sgml: Fix Red Hat cygwin contract link.
- * what.texinfo: Ditto.
-
-2002-01-01 Christopher Faylor <cgf@redhat.com>
-
- * Makefile.in: Duh. Actually use bzip2 to create the tarball. Don't
- just change the name.
-
-2002-01-01 Christopher Faylor <cgf@redhat.com>
-
- * Makefile.in: Make .bz2 tarball.
-
-2001-12-11 Christopher Faylor <cgf@redhat.com>
-
- * what.texinfo: Clarify XP.
-
-2001-12-03 Christopher Faylor <cgf@redhat.com>
-
- Cleanup copyrights and Cygnus'isms throughout.
- * setup.sgml: Nuke ancient instructions.
-
-Tue Oct 16 18:02:00 2001 Corinna Vinschen <corinna@vinschen.de>
-
- * pathnames.sgml: Cleanup raw device text to be more coherent.
-
-Tue Oct 16 17:14:00 2001 Corinna Vinschen <corinna@vinschen.de>
-
- * pathnames.sgml: Add description for new fixed device paths.
-
-Fri Sep 7 12:47:47 2001 Michael Schaap <cygwin@mscha.com>
-
- * how-resources.texinfo: Add some additional words about where to find
- documentation.
-
-Wed Jun 13 13:54:35 2001 Christopher Faylor <cgf@cygnus.com>
-
- * who.texinfo: Oops. Add a couple of important folk.
-
-Wed Jun 13 13:45:44 2001 Christopher Faylor <cgf@cygnus.com>
-
- * who.texinfo: Remove email addresses. Modernize.
-
-Tue May 29 21:30:07 2001 Christopher Faylor <cgf@cygnus.com>
-
- * Makefile.in: Tweak to attempt to accomodate older texi2html.
-
-Tue May 29 16:24:46 2001 Christopher Faylor <cgf@cygnus.com>
-
- * Makefile.in: Accomodate newer versions of docbook and openjade.
-
-Thu Apr 12 23:52:00 2001 Corinna Vinschen <corinna@vinschen.de>
-
- * cygwinenv.sgml: Add text for `check_case' option.
-
-Fri Mar 2 12:42:00 2001 Corinna Vinschen <corinna@vinschen.de>
-
- * cygwinenv.sgml: Add text for `winsymlinks' option.
- * how-api.texinfo: Add text to explain new symlinks==shortcuts
- and the CYGWIN setting `(no)winsymlinks'.
- * how-using.texinfo: Add text that Cygwin now treats shortcuts
- as symlinks.
-
-2001-02-07 Eric M. Monsler <emonsler@beamreachnetworks.com>
-
- * setup2.sgml: Add docs about domain accounts.
-
-Thu Dec 21 15:03:29 2000 Edward M. Lee <tailbert@yahoo.com>
-
- * cygwinenv.sgml: Fix typo in <filename>. Add missing </para>.
-
-Tue Dec 19 21:06:00 2000 Corinna Vinschen <corinna@vinschen.de>
-
- * cygwinenv.sgml: Add text for `smbntsec' option.
-
-Sat Nov 18 23:50:12 2000 Christopher Faylor <cgf@cygnus.com>
-
- * cygwinenv.sgml: Remove CYGWIN=strace option. Update CYGWIN options.
- * setup2.sgml: Remove CYGWIN=strace example.
- * how-programming.texinfo: Remove stuff about CYGWIN=strace.
-
-Thu Oct 26 10:00:00 2000 Corinna Vinschen <corinna@vinschen.de>
-
- * ntsec.sgml: Slight changes. Fix some errors.
-
-Thu Oct 26 9:35:00 2000 Corinna Vinschen <corinna@vinschen.de>
-
- * ntsec.sgml: Changed the (now incorrect) hint that ntsec only
- uses access allowed ACEs.
-
-Fri Sep 29 23:52:00 2000 Corinna Vinschen <corinna@vinschen.de>
-
- * pathnames.sgml: Add documentation about raw block special
- devices and tape devices to the "POSIX devices" chapter.
-
-Fri Aug 18 15:51:06 2000 Christopher Faylor <cgf@cygnus.com>
-
- * fhandler-tut.txt: hinfo -> dtable.
-
-Thu Jul 20 13:01:00 2000 Corinna Vinschen <corinna@vinschen.de>
-
- * ntsec.sgml: Add description for the new setuid ability
- of Cygwin since release 1.1.3.
- * overview2.sgml: Add description for new chroot functionality.
- * calls.texinfo: Add missing calls. Change comments for
- setuid, setgid, seteuid, setegid, chroot.
-
-Tue May 3 0:25:00 2000 Corinna Vinschen <corinna@vinschen.de>
-
- * ntsec.sgml: Revisited description of `ntsec' according to
- the changes in release 1.1.
- * setup.sgml: Include ntsec.
- * setup-net.sgml: Ditto.
diff --git a/winsup/doc/Makefile.in b/winsup/doc/Makefile.in
deleted file mode 100644
index 4ecc82ac7..000000000
--- a/winsup/doc/Makefile.in
+++ /dev/null
@@ -1,133 +0,0 @@
-# -*- Makefile -*- for winsup/doc
-# Copyright (c) 1998-2000,2001 Red Hat, Inc.
-#
-# This file is part of Cygwin.
-#
-# This software is a copyrighted work licensed under the terms of the
-# Cygwin license. Please consult the file "CYGWIN_LICENSE" for
-# details.
-
-SHELL = @SHELL@
-srcdir = @srcdir@
-VPATH = @srcdir@
-
-SGMLDIRS = -d $(srcdir) -d $(utils_source) -d $(cygwin_source)
-
-# These *.info targets don't actually work, so remove them for now.
-# Put them back when we figure out what to do with them. (davisb)
-#DOC=faq.txt faq.info readme.txt readme.info
-DOC=faq.txt readme.txt
-HTMLDOC=faq0.html faq.html readme.html
-
-CC:=@CC@
-CC_FOR_TARGET:=@CC@
-exeext:=@build_exeext@
-
-MAKEINFO:=makeinfo
-TEXI2DVI:=texi2dvi
-TEXI2HTML:=texi2html
-
-include $(srcdir)/../Makefile.common
-
-TOCLEAN:=faq.txt ./*.html readme.txt doctool.o doctool.exe *.junk \
- cygwin-ug.sgml cygwin-ug cygwin-ug-net.html.gz \
- cygwin-ug-net.sgml cygwin-ug-net cygwin-ug-net.html \
- cygwin-api.sgml cygwin-api cygwin-api-int.sgml cygwin-api-int \
- faq
-
-.SUFFIXES:
-
-all : \
- cygwin-ug-net/cygwin-ug-net.html \
- cygwin-ug-net/cygwin-ug-net.html.gz \
- cygwin-api/cygwin-api.html \
- faq/faq.html faq/faq-nochunks.html
-
-clean:
- rm -Rf $(TOCLEAN)
-
-install: all
-
-cygwin-ug-net/cygwin-ug-net.html.gz : cygwin-ug-net.sgml doctool
- -xmlto html-nochunks -m $(srcdir)/cygwin.dsl $<
- -cp cygwin-ug-net.html cygwin-ug-net/cygwin-ug-net-nochunks.html
- -rm -f cygwin-ug-net/cygwin-ug-net-nochunks.html.gz
- -gzip cygwin-ug-net/cygwin-ug-net-nochunks.html
-
-cygwin-ug-net/cygwin-ug-net.html : cygwin-ug-net.sgml doctool
- -xmlto html -o cygwin-ug-net/ -m $(srcdir)/cygwin.dsl $<
-
-cygwin-ug-net.sgml : cygwin-ug-net.in.sgml ./doctool Makefile
- -./doctool -m $(SGMLDIRS) -s $(srcdir) -o $@ $<
-
-cygwin-api/cygwin-api.html : cygwin-api.sgml
- -xmlto html -o cygwin-api/ -m $(srcdir)/cygwin.dsl $<
-
-cygwin-api.sgml : cygwin-api.in.sgml ./doctool Makefile
- -./doctool -m $(SGMLDIRS) -s $(srcdir) -o $@ $<
-
-faq/faq.html :
- -xmlto html -o faq -m $(srcdir)/cygwin.dsl $(srcdir)/faq-sections.xml
- -sed -i 's;</a><a name="id[0-9]*"></a>;</a>;g' faq/faq.*.html
-
-faq/faq-nochunks.html :
- -xmlto html -o faq -m $(srcdir)/cygwin.dsl $(srcdir)/faq.xml
- -sed -i 's;</a><a name="id[0-9]*"></a>;</a>;g' faq/faq-nochunks.html
-
-./doctool : doctool.c
- gcc -g $< -o $@
-
-%.dvi: %.sgml
- -db2dvi $<
-
-%.rtf: %.sgml
- -db2rtf $<
-
-%.ps: %.sgml
- -db2ps $<
-
-%.pdf: %.ps
- -ps2pdf $< $@
-
-%.info: %.texinfo
- -$(MAKEINFO) -I $(srcdir) $<
-
-%.txt: %.texinfo
- -$(MAKEINFO) -I $(srcdir) $<
-
-%.html: %.texinfo
- -$(TEXI2HTML) -I $(srcdir) $<
-
-readme.txt: $(srcdir)/readme.texinfo $(srcdir)/*.texinfo
- -$(MAKEINFO) -I$(srcdir) --no-split --no-headers $< -o - |\
- sed '/^Concept Index/,$$d' > $@
-
-#faq0.html: $(srcdir)/faq.texinfo $(srcdir)/*.texinfo
-# -rm -f faq_toc.html; \
-# for i in $(srcdir)/*.texinfo ; do \
-# sed < $$i -e 's?@file{\([fth]*p://[^}]*\)}?@strong{<A HREF="\1">\1</A>}?' \
-# -e 's?\([.+a-zA-Z0-9-]*@@[.a-zA-Z0-9-]*[a-zA-Z0-9]\)?<A HREF="mailto:\1">\1</A>?' >./`basename $$i` ; done; \
-# $(TEXI2HTML) -monolithic ./faq.texinfo; \
-# rm -f *.texinfo; \
-# sed -e 's;"faq.html;"faq0.html;g' faq.html > faq0.html; \
-# rm -f faq.html; exit 0
-#
-#faq.html: $(srcdir)/faq.texinfo $(srcdir)/*.texinfo
-# -rm -f faq_toc.html; \
-# for i in $(srcdir)/*.texinfo ; do \
-# sed < $$i -e 's?@file{\([fth]*p://[^}]*\)}?@strong{<A HREF="\1">\1</A>}?' \
-# -e 's?\([.+a-zA-Z0-9-]*@@[.a-zA-Z0-9-]*[a-zA-Z0-9]\)?<A HREF="mailto:\1">\1</A>?' >./`basename $$i` ; done; \
-# $(TEXI2HTML) -split_chapter ./faq.texinfo; \
-# rm -f *.texinfo; \
-# [ -r faq_toc.html ] && mv faq_toc.html faq.html; exit 0
-
-TBFILES = cygwin-ug-net.dvi cygwin-ug-net.rtf cygwin-ug-net.ps \
- cygwin-ug-net.pdf cygwin-ug-net.sgml \
- cygwin-api.dvi cygwin-api.rtf cygwin-api.ps \
- cygwin-api.pdf cygwin-api.sgml
-TBDIRS = cygwin-ug-net cygwin-api
-TBDEPS = cygwin-ug-net/cygwin-ug-net.html cygwin-api/cygwin-api.html
-
-tarball : cygwin-docs.tar.bz2
-cygwin-docs.tar.bz2 : $(TBFILES) $(TBDEPS)
- find $(TBFILES) $(TBDIRS) \! -type d | sort | tar -T - -cf - | bzip2 > cygwin-docs.tar.bz2
diff --git a/winsup/doc/README b/winsup/doc/README
deleted file mode 100644
index 1f1e15419..000000000
--- a/winsup/doc/README
+++ /dev/null
@@ -1,30 +0,0 @@
-The cygwin-doc source files are kept in CVS. Please see
-http://cygwin.com/cvs.html for more information.
-
-BUILD REQUIREMENTS:
-
-ash
-bzip2
-coreutils
-cygwin
-docbook-xml42
-docbook-xsl
-gzip
-make
-texinfo
-perl
-xmlto
-
-
-OTHER NOTES:
-
-You may use docbook2X to convert the DocBook files into info pages.
-I have not been able to get a working docbook2X installation on Cygwin,
-so currently I convert the files on a machine running GNU/Linux. PDF
-generation is also problematic; I use 'jw -b pdf' right now but have
-also used 'xmlto pdf' and jade.
-
-A few handmade files (cygwin.texi, intro.3, etc.) are found in the
-cygwin-doc-x.y-z-src.tar.bz2 package. It also contains the utilities for
-building the cygwin-doc-x.y-z "binary" package--simply run each step in
-the cygwin-doc-x.y-z.sh script.
diff --git a/winsup/doc/calls.texinfo b/winsup/doc/calls.texinfo
deleted file mode 100644
index e180d811f..000000000
--- a/winsup/doc/calls.texinfo
+++ /dev/null
@@ -1,709 +0,0 @@
-@chapter What Unix API calls are supported by Cygwin?
-
-This is the beginning of documentation listing the calls supported
-by the Cygwin library.
-
-All POSIX.1/1996 and ANSI C calls are listed in this file. Note that
-while almost all POSIX.1/1990 calls are included in Cygwin, most
-POSIX.1/1996 calls are not (yet at least!). Additional Unix
-compatibility calls and extended libc/libm calls are provided by
-Cygwin but may or may not be listed yet.
-
-To see if a function is implemented but not listed here, check for the
-presence of the call in the file winsup/cygwin.din in the sources. In
-addition, you may want to read the source code corresponding to the call
-to verify that it is not a stub. Finally, libc/libm functions
-(including extended calls not listed here) may be documented in the
-newlib texinfo documentation.
-
-Calls are implemented on both Windows 95 and NT unless otherwise
-noted. Included are references to relevant standards, if any.
-Calls starting with "cygwin_" are Cygwin-specific calls.
-
-@section ANSI C Library Functions
-
-@strong{(Please note: This section has not yet been updated for the latest
-net release.)}
-
-@itemize @code
-
-@item libc stdio (newlib/libc/stdio)
-@itemize @code
-@item clearerr: C 4.9.10.1
-@item fclose: C 4.9.5.1, P 8.2.3.2
-@item feof: C 4.9.10.2
-@item ferror: C 4.9.10.3
-@item fflush: C 4.9.5.2, P 8.2.3.4
-@item fgetc: C 4.9.7.1, P 8.2.3.5
-@item fgetpos: C 4.9.9.1
-@item fgets: C 4.9.7.2, P 8.2.3.5
-@item fopen: C 4.9.5.3, P 8.2.3.1
-@item fprintf: C 4.9.7.3, P 8.2.3.6
-@item fputc: C 4.9.7.3, P 8.2.3.6
-@item fputs: C 4.9.7.4, P 8.2.3.6
-@item fread: C 4.9.8.1, P 8.2.3.5
-@item freopen: C 4.9.5.4, P 8.2.3.3
-@item fscanf: C 4.9.6.2, P 8.2.3.7
-@item fseek: C 4.9.9.2, P 8.2.3.7
-@item fsetpos: C 4.9.9.3
-@item ftell: C 4.9.9.4, P 8.2.3.10
-@item fwrite: C 4.9.8.2, P 8.2.3.6
-@item getc: C 4.9.7.5, P 8.2.3.5
-@item getchar: C 4.9.7.6, P 8.2.3.5
-@item gets: C 4.9.7.7, P 8.2.3.5
-@item perror: C 4.9.10.4, P 8.2.3.8
-@item printf: C 4.9.6.3, P 8.2.3.6
-@item putc: C 4.9.7.8, P 8.2.3.6
-@item putchar: C 4.9.7.9, P 8.2.3.6
-@item puts: C 4.9.7.10, P 8.2.3.6
-@item remove: C 4.9.4.1, P 8.2.4
-@item rename: C 4.9.4.2, P 5.5.3.1
-@item rewind: C 4.9.9.5, P 8.2.3.7
-@item scanf: C 4.9.6.4, P 8.2.3.5
-@item setbuf: C 4.9.5.5
-@item setvbuf: C 4.9.5.6
-@item sprintf: C 4.9.6.5
-@item sscanf: C 4.9.6.6
-@item tmpfile: C 4.9.4.3, P 8.2.3.9
-@item tmpnam: C 4.9.4.4, P 8.2.5
-@item vfprintf: C 4.9.6.7
-@item ungetc: C 4.9.7.11
-@item vprintf: C 4.9.6.8
-@item vsprintf: C 4.9.6.9
-@end itemize
-
-@item libc string (newlib/libc/string)
-@itemize @code
-@item memchr: C 4.11.5.1
-@item memcmp: C 4.11.4.1
-@item memcpy: C 4.11.2.1
-@item memmove: C 4.11.2.2
-@item memset: C 4.11.6.1
-@item strcat: C 4.11.3.1
-@item strchr: C 4.11.5.2
-@item strcmp: C 4.11.4.2
-@item strcoll: C 4.11.4.3
-@item strcpy: C 4.11.2.3
-@item strcspn: C 4.11.5.3
-@item strerror: C 4.11.6.2
-@item strlen: C 4.11.6.3
-@item strncat: C 4.11.3.2
-@item strncmp: C 4.11.3.2
-@item strncpy: C 4.11.2.4
-@item strpbrk: C 4.11.5.4
-@item strrchr: C 4.11.5.5
-@item strspn: C 4.11.5.6
-@item strstr: C 4.11.5.7
-@item strtok: C 4.11.5.8
-@item strxfrm: C 4.11.4.5
-@end itemize
-
-@item libc stdlib (newlib/libc/stdlib, environ.cc, newlib/libc/include/machine/setjmp.h newlib/libc/include/assert.h)
-@itemize @code
-@item abort: C 4.10.4.1, P 8.2.3.12
-@item abs: C 4.10.6.1
-@item assert: C 4.2.1.1
-@item atexit: C 4.10.4.2
-@item atof: C 4.10.1.1
-@item atoi: C 4.10.1.2
-@item atol: C 4.10.1.3
-@item bsearch: C 4.10.5.1
-@item calloc: C 4.10.3.1
-@item div: C 4.10.6.2
-@item exit: C 4.10.4.3, P 8.2.3.12
-@item free: C 4.10.3.2
-@item getenv: C 4.10.4.4, P 4.6.1.1
-@item labs: C 4.10.6.3
-@item ldiv: C 4.10.6.2
-@item longjmp: C 4.6.2.1
-@item malloc: C 4.10.3.3
-@item mblen: C 4.10.7.1
-@item mbstowcs: C 4.10.8.1
-@item mbtowc: C 4.10.7.2
-@item qsort: 4.10.5.2
-@item rand: C 4.10.2.1
-@item realloc: C 4.10.3.4
-@item setjmp: C 4.6.1.1
-@item srand: C 4.10.2.2
-@item strtod: C 4.10.1.4
-@item strtol: C 4.10.1.5
-@item strtoul: C 4.10.1.6
-@item system: C 4.10.4.5
-@item wcstombs: C 4.10.8.2
-@item wctomb: C 4.10.7.3
-@end itemize
-
-@item libc time (times.cc, newlib/libc/time)
-@itemize @code
-@item asctime: C 4.12.3.1
-@item gmtime: C 4.12.3.3
-@item localtime: C 4.12.3.4, P 8.1.1
-@item time: C 4.12.2.4, P 4.5.1.1
-@item clock: C 4.12.2.1
-@item ctime: C 4.12.3.2
-@item difftime: C 4.12.2.2
-@item mktime: C 4.12.2.3, P 8.1.1
-@item strftime: C 4.11.6.2
-@end itemize
-
-@item libc signals (signal.cc, newlib/libc/signal)
-@itemize @code
-@item raise: C 4.7.2.1
-@item signal: C 4.7.1.1
-@end itemize
-
-@item libc ctype (newlib/libc/ctype)
-@itemize @code
-@item isalnum: C 4.3.1.1
-@item isalpha: C 4.3.1.2
-@item iscntrl: C 4.3.1.3
-@item isdigit: C 4.3.1.4
-@item isgraph: C 4.3.1.5
-@item islower: C 4.3.1.6
-@item isprint: C 4.3.1.7
-@item ispunct: C 4.3.1.8
-@item isspace: C 4.3.1.9
-@item isupper: C 4.3.1.10
-@item isxdigit: C 4.3.1.11
-@item tolower: C 4.3.2.1
-@item toupper: C 4.3.2.2
-@end itemize
-
-@item libm math (newlib/libm/math)
-@itemize @code
-@item acos: C 4.5.2.1
-@item asin: C 4.5.2.2
-@item atan: C 4.5.2.3
-@item atan2: C 4.5.2.4
-@item ceil: C 4.5.6.1
-@item cos: C 4.5.2.5
-@item cosh: C 4.5.3.2
-@item exp: C 4.5.4.1
-@item fabs: C 4.5.6.2
-@item floor: C 4.5.6.3
-@item fmod: C 4.5.6.4
-@item frexp: C 4.5.4.2
-@item ldexp: C 4.5.4.3
-@item log: C 4.5.4.4
-@item log10: C 4.5.4.5
-@item modf: C 4.5.4.6
-@item pow: C 4.5.5.1
-@item sin: C 4.5.2.6
-@item sinh: C 4.5.3.2
-@item sqrt: C 4.5.5.2
-@item tan: C 4.5.2.7
-@item tanh: C 4.5.3.3
-@end itemize
-
-@item libc misc (newlib/libc/locale, gcc/ginclude/stdarg.h)
-@itemize @code
-@item localeconv: C 4.4.2.1
-@item setlocale: C 4.4.1.1, P 8.1.2.1
-@item va_arg: C 4.8.1.2
-@item va_end: C 4.8.1.3
-@item va_start: C 4.8.1.1
-@end itemize
-
-@section POSIX.1/96 Functions
-
-@strong{(Please note: This section has not yet been updated for the latest
-net release.)}
-
-@item Process Primitives (Section 3)
-@itemize @code
-@item fork: P 3.1.1.1
-@item execl: P 3.1.2.1
-@item execle: P 3.1.2.1
-@item execlp: P 3.1.2.1
-@item execv: P 3.1.2.1
-@item execve: P 3.1.2.1
-@item execvp: P 3.1.2.1
-@item pthread_atfork: P96 3.1.3.1 -- unimplemented
-@item wait: P 3.2.1.1
-@item waitpid: P 3.2.1.1
-@item _exit: P 3.2.2.1
-@item kill: P 3.3.2.1
-@item sigemptyset: P 3.3.3.1
-@item sigfillset: P 3.3.3.1
-@item sigaddset: P 3.3.3.1
-@item sigdelset: P 3.3.3.1
-@item sigismember: P 3.3.3.1
-@item sigaction: P 3.3.4.1
-@item pthread_sigmask: P96 3.3.5.1
-@item sigprocmask: P 3.3.5.1
-@item sigpending: P 3.3.6.1
-@item sigsuspend: P 3.3.7.1
-@item sigwait: P96 3.3.8.1 -- unimplemented
-@item sigwaitinfo: P96 3.3.8.1 -- unimplemented
-@item sigtimedwait: P96 3.3.8.1 -- unimplemented
-@item sigqueue: P96 3.3.9.1 -- unimplemented
-@item pthread_kill: P96 3.3.10.1
-@item alarm: P 3.4.1.1
-@item pause: P 3.4.2.1
-@item sleep: P 3.4.3.1
-@end itemize
-
-@item Process Environment (Section 4)
-@itemize @code
-@item getpid: P 4.1.1.1
-@item getppid: P 4.1.1.1
-@item getuid: P 4.2.1.1
-@item geteuid: P 4.2.1.1
-@item getgid: P 4.2.1.1
-@item getegid: P 4.2.1.1
-@item setuid: P 4.2.2.1 (stub on 9X, sets ENOSYS, returns zero)
-@item setgid: P 4.2.2.1 (stub on 9X, sets ENOSYS, returns zero)
-@item getgroups: P 4.2.3.1
-@item getlogin: P 4.2.4.1
-@item getlogin_r: P 4.2.4.1 -- unimplemented
-@item getpgrp: P 4.3.1.1
-@item setsid: P 4.3.2.1
-@item setpgid: P 4.3.3.1
-@item uname: P 4.4.1.1
-@item time: C 4.12.2.4, P 4.5.1.1
-@item times: P 4.5.2.1
-@item getenv: C 4.10.4.4, P 4.6.1.1
-@item ctermid: P 4.7.1.1
-@item ttyname: P 4.7.2.1
-@item ttyname_r: P 4.7.2.1 -- unimplemented
-@item isatty: P 4.7.2.1
-@item sysconf: P 4.8.1.1
-@end itemize
-
-@item Files and Directories (Section 5)
-@itemize @code
-@item opendir: P 5.1.2.1
-@item readdir: P 5.1.2.1
-@item readdir_r: P96 5.1.2.1 -- unimplemented
-@item rewinddir: P 5.1.2.1
-@item closedir: P 5.1.2.1
-@item chdir: P 5.2.1.1
-@item getcwd: P 5.2.2.1
-@item open: P 5.3.1.1
-@item creat: P 5.3.2.1
-@item umask: P 5.3.3.1
-@item link: P 5.3.4.1 (copy file in Win 95, and when link fails in NT)
-@item mkdir: P 5.4.1.1
-@item mkfifo: P 5.4.2.1 -- unimplemented!!!
-@item unlink: P 5.5.1.1
-@item rmdir: P 5.5.2.1
-@item rename: C 4.9.4.2, P 5.5.3.1
-@item stat: P 5.6.2.1
-@item fstat: P 5.6.2.1
-@item access: P 5.6.3.1
-@item chmod: P 5.6.4.1
-@item fchmod: P96 5.6.4.1
-@item chown: P 5.6.5.1 (stub in Win 95; always returns zero)
-@item utime: P 5.6.6.1
-@item ftruncate: P96 5.6.7.1
-@item pathconf: P 5.7.1.1
-@item fpathconf: P 5.7.1.1
-@end itemize
-
-@item Input and Output Primitives (Section 6)
-@itemize @code
-@item pipe: P 6.1.1.1
-@item dup: P 6.2.1.1
-@item dup2: P 6.2.1.1
-@item close: P 6.3.1.1
-@item read: P 6.4.1.1
-@item write: P 6.4.2.1
-@item fcntl: P 6.5.2.1 (note: fcntl(fd, F_GETLK,...) is not implemented (returns -1 with errno set to ENOSYS)).
-@item lseek: P 6.5.3.1 (note: only works correctly on binary files)
-@item fsync: P96 6.6.1.1
-@item fdatasync: P96 6.6.2.1 -- unimplemented
-@item aio_read: P96 6.7.2.1 -- unimplemented
-@item aio_write: P96 6.7.3.1 -- unimplemented
-@item lio_listio: P96 6.7.4.1 -- unimplemented
-@item aio_error: P96 6.7.5.1 -- unimplemented
-@item aio_return: P96 6.7.6.1 -- unimplemented
-@item aio_cancel: P96 6.7.7.1 -- unimplemented
-@item aio_suspend: P96 6.7.8.1 -- unimplemented
-@item aio_fsync: P96 6.7.9.1 -- unimplemented
-@end itemize
-
-@item Device- and Class-Specific Functions (Section 7)
-@itemize @code
-@item cfgetispeed: P96 7.1.3.1
-@item cfgetospeed: P96 7.1.3.1
-@item cfsetispeed: P96 7.1.3.1
-@item cfsetospeed: P96 7.1.3.1
-@item tcdrain: P 7.2.2.1
-@item tcflow: P 7.2.2.1
-@item tcflush: P 7.2.2.1
-@item tcgetattr: P96 7.2.1.1
-@item tcgetpgrp: P 7.2.3.1
-@item tcsendbreak: P 7.2.2.1
-@item tcsetattr: P96 7.2.1.1
-@item tcsetpgrp: P 7.2.4.1
-@end itemize
-
-@item Language-Specific Services for the C Programming Language
-(Section 8)
-@itemize @code
-@item abort: C 4.10.4.1, P 8.2.3.12
-@item asctime_r: P96 8.3.4.1 -- unimplemented
-@item ctime_r: P96 8.3.5.1 -- unimplemented
-@item exit: C 4.10.4.3, P 8.2.3.12
-@item fclose: C 4.9.5.1, P 8.2.3.2
-@item fdopen: P 8.2.2.1
-@item fflush: C 4.9.5.2, P 8.2.3.4
-@item fgetc: C 4.9.7.1, P 8.2.3.5
-@item fgets: C 4.9.7.2, P 8.2.3.5
-@item fileno: P 8.2.1.1
-@item flockfile: P96 8.2.6.1 -- unimplemented
-@item fopen: C 4.9.5.3, P 8.2.3.1
-@item fprintf: C 4.9.7.3, P 8.2.3.6
-@item fputc: C 4.9.7.3, P 8.2.3.6
-@item fputs: C 4.9.7.4, P 8.2.3.6
-@item fread: C 4.9.8.1, P 8.2.3.5
-@item freopen: C 4.9.5.4, P 8.2.3.3
-@item fscanf: C 4.9.6.2, P 8.2.3.7
-@item fseek: C 4.9.9.2, P 8.2.3.7
-@item ftell: C 4.9.9.4, P 8.2.3.10
-@item ftrylockfile: P96 8.2.6.1 -- unimplemented
-@item funlockfile: P96 8.2.6.1 -- unimplemented
-@item fwrite: C 4.9.8.2, P 8.2.3.6
-@item getc: C 4.9.7.5, P 8.2.3.5
-@item getc_unlocked: P96 8.2.7.1
-@item getchar: C 4.9.7.6, P 8.2.3.5
-@item getchar_unlocked: P96 8.2.7.1
-@item gets: C 4.9.7.7, P 8.2.3.5
-@item gmtime_r: P96 8.3.6.1 -- unimplemented
-@item localtime_r: P96 8.3.7.1 -- unimplemented
-@item perror: C 4.9.10.4, P 8.2.3.8
-@item printf: C 4.9.6.3, P 8.2.3.6
-@item putc: C 4.9.7.8, P 8.2.3.6
-@item putc_unlocked: P96 8.2.7.1
-@item putchar: C 4.9.7.9, P 8.2.3.6
-@item putchar_unlocked: P96 8.2.7.1
-@item puts: C 4.9.7.10, P 8.2.3.6
-@item rand_r: P96 8.3.8.1 -- unimplemented
-@item remove: C 4.9.4.1, P 8.2.4
-@item rewind: C 4.9.9.5, P 8.2.3.7
-@item scanf: C 4.9.6.4, P 8.2.3.5
-@item setlocale: C 4.4.1.1, P 8.1.2.1
-@item siglongjmp: P 8.3.1.1
-@item sigsetjmp: P 8.3.1.1
-@item strtok_r: P96 8.3.3.1 -- unimplemented
-@item tmpfile: C 4.9.4.3, P 8.2.3.9
-@item tmpnam: C 4.9.4.4, P 8.2.5
-@item tzset: P 8.3.2.1
-@end itemize
-
-@item System Databases (Section 9)
-@itemize @code
-@item getgrgid: P 9.2.1.1
-@item getgrgid_r: P96 9.2.1.1 -- unimplemented
-@item getgrnam: P 9.2.1.1
-@item getgrnam_r: P96 9.2.1.1 -- unimplemented
-@item getpwnam: P 9.2.2.1
-@item getpwnam_r: P96 9.2.2.1 -- unimplemented
-@item getpwuid: P 9.2.2.1
-@item getpwuid_r: P96 9.2.2.1 -- unimplemented
-@end itemize
-
-@item Synchronization (Section 11)
-@itemize @code
-@item pthread_cond_broadcast: P96 11.4.3.1
-@item pthread_cond_destroy: P96 11.4.2.1
-@item pthread_cond_init: P96 11.4.2.1
-@item pthread_cond_signal: P96 11.4.3.1
-@item pthread_cond_timedwait: P96 11.4.4.1
-@item pthread_cond_wait: P96 11.4.4.1
-@item pthread_condattr_destroy: P96 11.4.1.1 -- unimplemented
-@item pthread_condattr_getpshared: P96 11.4.1.1 -- unimplemented
-@item pthread_condattr_init: P96 11.4.1.1 -- unimplemented
-@item pthread_condattr_setpshared: P96 11.4.1.1 -- unimplemented
-@item pthread_mutex_destroy: P96 11.3.2.1
-@item pthread_mutex_init: P96 11.3.2.1
-@item pthread_mutex_lock: P96 11.3.3.1
-@item pthread_mutex_trylock: P96 11.3.3.1
-@item pthread_mutex_unlock: P96 11.3.3.1
-@item sem_close: P96 11.2.4.1 -- unimplemented
-@item sem_destroy: P96 11.2.2.1
-@item sem_getvalue: P96 11.2.8.1 -- unimplemented
-@item sem_init: P96 11.2.1.1
-@item sem_open: P96 11.2.3.1 -- unimplemented
-@item sem_post: P96 11.2.7.1
-@item sem_trywait: P96 11.2.6.1
-@item sem_unlink: P96 11.2.5.1 -- unimplemented
-@item sem_wait: P96 11.2.6.1
-@end itemize
-
-@item Memory Management (Section 12)
-@itemize @code
-@item mlock: P96 12.1.2.1 -- unimplemented
-@item mlockall: P96 12.1.1.1 -- unimplemented
-@item mmap: P96 12.2.1.1
-@item mprotect: P96 12.2.3.1
-@item msync: P96 12.2.4.1
-@item munlock: P96 12.1.2.1 -- unimplemented
-@item munlockall: P96 12.1.1.1 -- unimplemented
-@item munmap: P96 12.2.2.1
-@item shm_open: P96 12.3.1.1 -- unimplemented
-@item shm_unlink: P96 12.3.2.1 -- unimplemented
-@end itemize
-
-@item Execution Scheduling (Section 13)
-@itemize @code
-@item pthread_attr_getinheritsched: P96 13.5.1.1 -- unimplemented
-@item pthread_attr_getschedparam: P96 13.5.1.1 -- unimplemented
-@item pthread_attr_getschedpolicy: P96 13.5.1.1 -- unimplemented
-@item pthread_attr_getscope: P96 13.5.1.1 -- unimplemented
-@item pthread_attr_setinheritsched: P96 13.5.1.1
-@item pthread_attr_setschedparam: P96 13.5.1.1 -- unimplemented
-@item pthread_attr_setschedpolicy: P96 13.5.1.1 -- unimplemented
-@item pthread_attr_setscope: P96 13.5.1.1 -- unimplemented
-@item pthread_getschedparam: P96 13.5.2.1
-@item pthread_mutex_getprioceiling: P96 13.6.2.1 -- unimplemented
-@item pthread_mutex_setprioceiling: P96 13.6.2.1 -- unimplemented
-@item pthread_mutexattr_getprioceiling: P96 13.6.1.1 -- unimplemented
-@item pthread_mutexattr_getprotocol: P96 13.6.1.1 -- unimplemented
-@item pthread_mutexattr_setprioceiling: P96 13.6.1.1 -- unimplemented
-@item pthread_mutexattr_setprotocol: P96 13.6.1.1 -- unimplemented
-@item pthread_setschedparam: P96 13.5.2.1
-@item sched_get_priority_max: P96 13.3.6.1 -- unimplemented
-@item sched_get_priority_min: P96 13.3.6.1 -- unimplemented
-@item sched_getparam: P96 13.3.2.1 -- unimplemented
-@item sched_getscheduler: P96 13.3.4.1 -- unimplemented
-@item sched_rr_get_interval: P96 13.3.6.1 -- unimplemented
-@item sched_setparam: P96 13.3.1.1 -- unimplemented
-@item sched_setscheduler: P96 13.3.3.1 -- unimplemented
-@item sched_yield: P96 13.3.5.1 -- unimplemented
-@end itemize
-
-@item Clocks and Timers (Section 14)
-@itemize @code
-@item clock_getres: P96 14.2.1.1 -- unimplemented
-@item clock_gettime: P96 14.2.1.1 -- unimplemented
-@item clock_settime: P96 14.2.1.1 -- unimplemented
-@item nanosleep: P96 14.2.5.1 -- unimplemented
-@item timer_create: P96 14.2.2.1 -- unimplemented
-@item timer_delete: P96 14.2.3.1 -- unimplemented
-@item timer_getoverrun: P96 14.2.4.1 -- unimplemented
-@item timer_gettime: P96 14.2.4.1 -- unimplemented
-@item timer_settime: P96 14.2.4.1 -- unimplemented
-@end itemize
-
-@item Message Passing (Section 15)
-@itemize @code
-@item mq_close: P96 15.2.2.1 -- unimplemented
-@item mq_getattr: P96 15.2.8.1 -- unimplemented
-@item mq_notify: P96 15.2.6.1 -- unimplemented
-@item mq_open: P96 15.2.1.1 -- unimplemented
-@item mq_receive: P96 15.2.5.1 -- unimplemented
-@item mq_send: P96 15.2.4.1 -- unimplemented
-@item mq_setattr: P96 15.2.7.1 -- unimplemented
-@item mq_unlink: P96 15.2.3.1 -- unimplemented
-@end itemize
-
-@item Thread Management (Section 16)
-@itemize @code
-@item pthread_attr_destroy: P96 16.2.1.1
-@item pthread_attr_getdetachstate: P96 16.2.1.1 -- unimplemented
-@item pthread_attr_getstackaddr: P96 16.2.1.1 -- unimplemented
-@item pthread_attr_getstacksize: P96 16.2.1.1
-@item pthread_attr_init: P96 16.2.1.1
-@item pthread_attr_setdetachstate: P96 16.2.1.1 -- unimplemented
-@item pthread_attr_setstackaddr: P96 16.2.1.1 -- unimplemented
-@item pthread_attr_setstacksize: P96 16.2.1.1
-@item pthread_create: P96 16.2.2.1
-@item pthread_detach: P96 16.2.4.1 -- unimplemented
-@item pthread_equal: P96 16.2.7.1
-@item pthread_exit: P96 16.2.5.1
-@item pthread_join: P96 16.2.3.1 -- unimplemented
-@item pthread_once: P96 16.2.8.1 -- unimplemented
-@item pthread_self: P96 16.2.6.1
-@end itemize
-
-@item Thread-Specific Data (Section 17)
-@itemize @code
-@item pthread_getspecific: P96 17.1.2.1
-@item pthread_key_create: P96 17.1.1.1
-@item pthread_key_delete: P96 17.1.3.1
-@item pthread_setspecific: P96 17.1.2.1
-@end itemize
-
-@item Thread Cancellation (Section 18)
-@itemize @code
-@item pthread_cancel: P96 18.2.1.1 -- unimplemented
-@item pthread_cleanup_pop: P96 18.2.3.1 -- unimplemented
-@item pthread_cleanup_push: P96 18.2.3.1 -- unimplemented
-@item pthread_setcancelstate: P96 18.2.2.1 -- unimplemented
-@item pthread_setcanceltype: P96 18.2.2.1 -- unimplemented
-@item pthread_testcancel: P96 18.2.2.1 -- unimplemented
-@end itemize
-
-@section Misc Functions
-
-@strong{(Please note: This section has not yet been updated for the latest
-net release.)}
-
-@item Networking (net.cc) (Standardized by POSIX 1.g, which is probably still in draft?)
-@itemize @code
-@item accept
-@item bind
-@item connect
-@item getdomainname
-@item gethostbyaddr
-@item gethostbyname
-@item getpeername
-@item getprotobyname
-@item getprotobynumber
-@item getservbyname
-@item getservbyport
-@item getsockname
-@item getsockopt
-@item herror
-@item htonl
-@item htons
-@item inet_addr
-@item inet_makeaddr
-@item inet_netof
-@item inet_ntoa
-@item listen
-@item ntohl
-@item ntohs
-@item rcmd
-@item recv
-@item recvfrom
-@item rexec
-@item rresvport
-@item send
-@item sendto
-@item setsockopt
-@item shutdown
-@item socket
-@item socketpair
-@end itemize
-
-Of these networking calls, rexec, rcmd and rresvport are implemented
-in MS IP stack but may not be implemented in other vendors' stacks.
-
-@item Other
-@itemize @code
-@item acl
-@item aclcheck
-@item aclfrommode
-@item aclfrompbits
-@item aclfromtext
-@item aclsort
-@item acltomode
-@item acltopbits
-@item acltotext
-@item chroot (with restrictions)
-@item closelog
-@item cwait
-@item cygwin_conv_to_full_posix_path
-@item cygwin_conv_to_full_win32_path
-@item cygwin_conv_to_posix_path
-@item cygwin_conv_to_win32_path
-@item cygwin_logon_user
-@item cygwin_posix_path_list_p
-@item cygwin_posix_to_win32_path_list
-@item cygwin_posix_to_win32_path_list_buf_size
-@item cygwin_set_impersonation_token
-@item cygwin_split_path
-@item cygwin_win32_to_posix_path_list
-@item cygwin_win32_to_posix_path_list_buf_size
-@item cygwin_winpid_to_pid
-@item dlclose
-@item dlerror
-@item dlfork
-@item dlopen
-@item dlsym
-@item endgrent
-@item endhostent
-@item facl
-@item fcloseall
-@item fcloseall_r
-@item ffs
-@item fstatfs
-@item ftime
-@item get_osfhandle
-@item getdtablesize
-@item getgrent
-@item gethostname
-@item getitimer
-@item getmntent
-@item getpagesize
-@item getpgid
-@item getpwent
-@item gettimeofday: BSD
-@item grantpt
-@item initgroups (stub)
-@item ioctl
-@item killpg
-@item login
-@item logout
-@item lstat
-@item mknod (stub, sets ENOSYS, returns -1)
-@item memccpy
-@item nice
-@item openlog
-@item pclose
-@item popen
-@item ptsname
-@item putenv
-@item random
-@item readv
-@item realpath
-@item regfree
-@item rexec
-@item select
-@item setegid: SVR4 (stub on 9X, sets ENOSYS, returns zero)@item endpwent
-@item setenv
-@item seterrno
-@item seteuid (stub on 9X, sets ENOSYS, returns zero)
-@item sethostent
-@item setitimer
-@item setmntent
-@item setmode
-@item setpassent
-@item setpgrp
-@item setpwent
-@item settimeofday: BSD (stub, set ENOSYS, return -1)
-@item sexecl
-@item sexecle
-@item sexeclp
-@item sexeclpe
-@item sexeclpe
-@item sexecp
-@item sexecv
-@item sexecve
-@item sexecvpe
-@item sigpause
-@item spawnl (spawn calls are from Windows C library)
-@item spawnle
-@item spawnlp
-@item spawnlpe
-@item spawnv
-@item spawnve
-@item spawnvp
-@item spawnvpe
-@item srandom
-@item statfs
-@item strsignal
-@item strtosigno
-@item swab
-@item syslog
-@item timezone
-@item truncate (SVR4/4.3+BSD)
-@item ttyslot
-@item unlockpt
-@item unsetenv
-@item usleep
-@item utimes
-@item vfork: stub that calls fork
-@item vhangup (stub, sets ENOSYS, returns -1)
-@item wait3
-@item wait4
-@item wcscmp
-@item wcslen
-@item wprintf
-@item writev
-@end itemize
-
-@end itemize
-
diff --git a/winsup/doc/changes.texinfo b/winsup/doc/changes.texinfo
deleted file mode 100644
index 6e464784d..000000000
--- a/winsup/doc/changes.texinfo
+++ /dev/null
@@ -1,202 +0,0 @@
-@section Release Beta 20.1 (Dec 4 1998)
-
-This is a bug fix update to the Beta 20 release.
-
-The main change is an improved version of the Cygwin library although
-there are also a couple of other minor changes to the tools.
-
-@subsection Changes in specific tools:
-
-The "-mno-cygwin" flag to gcc now include the correct headers. In 20.0,
-it included the Cygwin headers which was incorrect.
-
-The "-pipe" flag to gcc works correctly now.
-
-The cygcheck program now reassures users that not finding cpp is the
-correct behavior.
-
-The "-b" flag to md5sum can now be used to generate correct checksums
-of binary files.
-
-The libtermcap library has been added to the compiler tools sources.
-It is the new source of the termcap library and /etc/termcap file.
-
-The less pager (using libtermcap) has been added to the binary
-distribution.
-
-@subsection Changes in the Cygwin API (cygwin.dll):
-
-This version of Cygwin is backwards-compatible with the beta 20 and 19
-releases. The library is now much more stable under Windows 9x and the
-bugs affecting configures under 9x (and NT to a lesser extent) have
-also been fixed.
-
-The bug that made it necessary to start the value of the CYGWIN
-environment variable with two leading spaces has been fixed.
-
-The serial support in the select call has been fixed.
-
-Handling of DLLs loaded by non-cygwin apps has been improved. Bugs in
-dlopen have been fixed.
-
-Passing _SC_CHILD_MAX to the sysconf function now yields CHILD_MAX (63)
-instead of _POSIX_CHILD_MAX (3).
-
-Several minor path bugs have been fixed. Including the one that
-caused "mkdir a/" to fail.
-
-The include file sys/sysmacros.h has been added. Added missing protos
-for wcslen and wcscmp to wchar.h.
-
-__P is now defined in include/sys/cdefs.h. To support that last change,
-the top-level Makefile.in now sets CC_FOR_TARGET and CXX_FOR_TARGET
-differently.
-
-Cygwin now exports the following newlib bessel functions: j1, jn, y1,
-yn.
-
-Several tty ioctl options have been added: TCGETA, TCSETA, TCSETAW, and
-TCSETAF.
-
-Several functions cope with NULL pointer references more gracefully.
-
-Problems with execution of relative paths via #! should be fixed.
-
-@section Release Beta 20 (Oct 30 1998)
-
-This is a significant update to the Beta 19 release. In addition to an
-EGCS-based compiler and updated tools, this release includes a new
-version of the Cygwin library that contains many improvements and
-bugfixes over the last one.
-
-@subsection The project has a new name!
-
-Starting with this release, we are retiring the "GNU-Win32" name for the
-releases. We have also dropped the "32" from Cygwin32. This means that
-you should now refer to the tools as "the Cygwin toolset", the library
-as "the Cygwin library" or "the Cygwin DLL", and the library's interface
-as "the Cygwin API".
-
-Because of this name change, we have changed any aspects of the library
-that involved the name "Cygwin32". For example, the CYGWIN32
-environment variable is now the CYGWIN environment variable. API
-functions starting with cygwin32_ are still available under that form
-for backwards-compatibility as well as under the new cygwin_-prefixed
-names. The same goes for the change of preprocessor define from
-__CYGWIN32__ to __CYGWIN__. We will remove the old names in a future
-release so please take the minute or two that it will take to remove
-those "32"s. Thanks and I apologize for the hassle this may cause
-people. We would have changed the name to "Bob" but that name's already
-taken by Microsoft... :-)
-
-Why change it? For one thing, not all of the software included in the
-distributions is GNU software, including the Cygwin library itself. So
-calling the project "GNU-Win32" has always been a bit of a misnomer. In
-addition, we think that calling the tools the "Cygwin tools" that use
-the "Cygwin library" will be less confusing to people.
-
-Also notice that we are now on the spiffy new sourceware.cygnus.com
-web/ftp site. The old address will work for some unknown period of
-time (hopefully at least until we get all of the mirrors adjusted).
-
-@subsection Changes in specific tools:
-
-The latest public EGCS release is now the basis for the compiler used
-in Cygwin distributions. As a result, EGCS 1.1 is the compiler in this
-release, with a few additional x86/Cygwin-related patches.
-
-Those of you who are more interested in native Windows development than
-in porting Unix programs will be glad to know that a new gcc flag
-"-mno-cygwin" will link in the latest Mingw32 libs and produce an
-executable that does not use Cygwin.
-
-All of the other development tools have been updated to their latest
-versions. The linker (ld) includes many important bug fixes. It is now
-possible to safely strip a DLL with a .reloc section. The windres
-resource compiler is significantly improved.
-
-Beta 20 also includes upgrades to a number of packages: ash-0.3.2-4,
-bash 2.02.1, grep-2.2, ncurses 4.2, and less 332. We have added bzip2
-0.9.0 to the distribution. And you'll now find that the df utility
-has joined its other friends from the fileutils package.
-
-The sh executable is still ash from the Debian Linux distribution but no
-longer has the problematic quoting bug that was present in the Beta 19
-release. Control-Cs in the bash shell no longer kill background tasks.
-
-Tcl/tk are upgraded to version 8.1a2 (with additional patches).
-Compatible versions of tix and itcl are included. These all include
-Cygwin-compatible configury files so you can do a Unix-style build of
-the Win32 ports of tcl/tk. expect has been upgraded to 5.26 with some
-additional Cygwin patches.
-
-In response to customer requests and feedback, Cygnus has developed a
-better graphical front end to GDB than GDBtk or WinGDB. This tcl-based
-GUI is shipping today to customers of the GNUPro Toolkit. The
-instrumentation changes to GDB and the tcl interpreter that was built
-into GDB are part of the GPL'd source base. But the tcl scripts are not
-being made available to the net at this time. For this reason, you will
-only find a command-line version of gdb in this Cygwin release.
-
-DJ Delorie has written a new "cygcheck" program that will print out
-useful information about how your Cygwin environment is set up, what
-DLLs a named executable is loading from where, etc. We hope this will
-make it easier to help diagnose common setup problems.
-
-The ps utility has been upgraded. It now has several options including
-shorter and longer output formats.
-
-@subsection Changes in the Cygwin API (cygwin.dll):
-
-This version of Cygwin is backwards-compatible with the beta 19 release.
-You can use the new "cygwin1.dll" with your old B19-compiled executables
-if you move the old "cygwinb19.dll" out of the way and install a copy
-of "cygwin1.dll" as "cygwinb19.dll".
-
-Quite a lot of the Cygwin internals have been rewritten or modified to
-address various issues. If you have a question about specific changes,
-the winsup/ChangeLog file in the development tools sources lists all
-changes made to the DLL over the last three years. Following are a few
-highlights:
-
-We are now using a new versioning scheme for Cygwin. There is now a
-separate version number for the DLL, the API, the shared memory region
-interfaces, and the registry interface. This will hopefully make it
-easier for multiple Cygwin toolsets to coexist in one user environment.
-
-Windows 98 is now supported (it is like Windows 95 from Cygwin's
-perspective). We still recommend upgrading to Windows NT.
-
-While there is still a lot left to do in improving Cygwin's runtime
-performance, we have put some effort into this prior to the B20 release.
-Hopefully you will find that the latest version of Cygwin is faster than
-ever. In addition, we have plugged several nasty handle leaks
-associated with opening/closing files and with using ttys.
-
-The lseek call now uses WriteFile to fill gaps with zeros whenever a
-write is done past an EOF, rather than leaving "undefined" data as Win32
-specifies.
-
-Significant work has been done to improve the Cygwin header files.
-
-The Cygwin Support for Unix-style serial I/O is much improved.
-
-Path handling has had another round of fixes/rewrites. We no longer use
-NT Extended Attributes by default for storing Unix permissions/execute
-status because the file NT creates on FAT partitions is not scalable to
-thousands of files (everything slows to a crawl).
-
-Signal handling has also gotten a fair amount of attention.
-Unfortunately, there are still some problems combining itimers and
-Windows 9x.
-
-The number of ttys has been upped from 16 to 128.
-
-New API calls included in the DLL: sethostent, endhostent.
-
-As mentioned earlier, all cygwin32_-prefixed functions are now exported
-with a cygwin_ prefix instead. Please adjust your code to call the
-newly named functions.
-
-reads of `slow' devices are now correctly interrupted by signals, i.e.
-a read will receive an EINTR.
diff --git a/winsup/doc/configure b/winsup/doc/configure
deleted file mode 100755
index eea87df57..000000000
--- a/winsup/doc/configure
+++ /dev/null
@@ -1,1067 +0,0 @@
-#! /bin/sh
-
-# Guess values for system-dependent variables and create Makefiles.
-# Generated automatically using autoconf version 2.13
-# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
-#
-# This configure script is free software; the Free Software Foundation
-# gives unlimited permission to copy, distribute and modify it.
-
-# Defaults:
-ac_help=
-ac_default_prefix=/usr/local
-# Any additions from configure.in:
-
-# Initialize some variables set by options.
-# The variables have the same names as the options, with
-# dashes changed to underlines.
-build=NONE
-cache_file=./config.cache
-exec_prefix=NONE
-host=NONE
-no_create=
-nonopt=NONE
-no_recursion=
-prefix=NONE
-program_prefix=NONE
-program_suffix=NONE
-program_transform_name=s,x,x,
-silent=
-site=
-srcdir=
-target=NONE
-verbose=
-x_includes=NONE
-x_libraries=NONE
-bindir='${exec_prefix}/bin'
-sbindir='${exec_prefix}/sbin'
-libexecdir='${exec_prefix}/libexec'
-datadir='${prefix}/share'
-sysconfdir='${prefix}/etc'
-sharedstatedir='${prefix}/com'
-localstatedir='${prefix}/var'
-libdir='${exec_prefix}/lib'
-includedir='${prefix}/include'
-oldincludedir='/usr/include'
-infodir='${prefix}/info'
-mandir='${prefix}/man'
-
-# Initialize some other variables.
-subdirs=
-MFLAGS= MAKEFLAGS=
-SHELL=${CONFIG_SHELL-/bin/sh}
-# Maximum number of lines to put in a shell here document.
-ac_max_here_lines=12
-
-ac_prev=
-for ac_option
-do
-
- # If the previous option needs an argument, assign it.
- if test -n "$ac_prev"; then
- eval "$ac_prev=\$ac_option"
- ac_prev=
- continue
- fi
-
- case "$ac_option" in
- -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
- *) ac_optarg= ;;
- esac
-
- # Accept the important Cygnus configure options, so we can diagnose typos.
-
- case "$ac_option" in
-
- -bindir | --bindir | --bindi | --bind | --bin | --bi)
- ac_prev=bindir ;;
- -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
- bindir="$ac_optarg" ;;
-
- -build | --build | --buil | --bui | --bu)
- ac_prev=build ;;
- -build=* | --build=* | --buil=* | --bui=* | --bu=*)
- build="$ac_optarg" ;;
-
- -cache-file | --cache-file | --cache-fil | --cache-fi \
- | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
- ac_prev=cache_file ;;
- -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
- | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
- cache_file="$ac_optarg" ;;
-
- -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
- ac_prev=datadir ;;
- -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
- | --da=*)
- datadir="$ac_optarg" ;;
-
- -disable-* | --disable-*)
- ac_feature=`echo $ac_option|sed -e 's/-*disable-//'`
- # Reject names that are not valid shell variable names.
- if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then
- { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
- fi
- ac_feature=`echo $ac_feature| sed 's/-/_/g'`
- eval "enable_${ac_feature}=no" ;;
-
- -enable-* | --enable-*)
- ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'`
- # Reject names that are not valid shell variable names.
- if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then
- { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
- fi
- ac_feature=`echo $ac_feature| sed 's/-/_/g'`
- case "$ac_option" in
- *=*) ;;
- *) ac_optarg=yes ;;
- esac
- eval "enable_${ac_feature}='$ac_optarg'" ;;
-
- -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
- | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
- | --exec | --exe | --ex)
- ac_prev=exec_prefix ;;
- -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
- | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
- | --exec=* | --exe=* | --ex=*)
- exec_prefix="$ac_optarg" ;;
-
- -gas | --gas | --ga | --g)
- # Obsolete; use --with-gas.
- with_gas=yes ;;
-
- -help | --help | --hel | --he)
- # Omit some internal or obsolete options to make the list less imposing.
- # This message is too long to be a string in the A/UX 3.1 sh.
- cat << EOF
-Usage: configure [options] [host]
-Options: [defaults in brackets after descriptions]
-Configuration:
- --cache-file=FILE cache test results in FILE
- --help print this message
- --no-create do not create output files
- --quiet, --silent do not print \`checking...' messages
- --version print the version of autoconf that created configure
-Directory and file names:
- --prefix=PREFIX install architecture-independent files in PREFIX
- [$ac_default_prefix]
- --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
- [same as prefix]
- --bindir=DIR user executables in DIR [EPREFIX/bin]
- --sbindir=DIR system admin executables in DIR [EPREFIX/sbin]
- --libexecdir=DIR program executables in DIR [EPREFIX/libexec]
- --datadir=DIR read-only architecture-independent data in DIR
- [PREFIX/share]
- --sysconfdir=DIR read-only single-machine data in DIR [PREFIX/etc]
- --sharedstatedir=DIR modifiable architecture-independent data in DIR
- [PREFIX/com]
- --localstatedir=DIR modifiable single-machine data in DIR [PREFIX/var]
- --libdir=DIR object code libraries in DIR [EPREFIX/lib]
- --includedir=DIR C header files in DIR [PREFIX/include]
- --oldincludedir=DIR C header files for non-gcc in DIR [/usr/include]
- --infodir=DIR info documentation in DIR [PREFIX/info]
- --mandir=DIR man documentation in DIR [PREFIX/man]
- --srcdir=DIR find the sources in DIR [configure dir or ..]
- --program-prefix=PREFIX prepend PREFIX to installed program names
- --program-suffix=SUFFIX append SUFFIX to installed program names
- --program-transform-name=PROGRAM
- run sed PROGRAM on installed program names
-EOF
- cat << EOF
-Host type:
- --build=BUILD configure for building on BUILD [BUILD=HOST]
- --host=HOST configure for HOST [guessed]
- --target=TARGET configure for TARGET [TARGET=HOST]
-Features and packages:
- --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
- --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
- --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
- --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
- --x-includes=DIR X include files are in DIR
- --x-libraries=DIR X library files are in DIR
-EOF
- if test -n "$ac_help"; then
- echo "--enable and --with options recognized:$ac_help"
- fi
- exit 0 ;;
-
- -host | --host | --hos | --ho)
- ac_prev=host ;;
- -host=* | --host=* | --hos=* | --ho=*)
- host="$ac_optarg" ;;
-
- -includedir | --includedir | --includedi | --included | --include \
- | --includ | --inclu | --incl | --inc)
- ac_prev=includedir ;;
- -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
- | --includ=* | --inclu=* | --incl=* | --inc=*)
- includedir="$ac_optarg" ;;
-
- -infodir | --infodir | --infodi | --infod | --info | --inf)
- ac_prev=infodir ;;
- -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
- infodir="$ac_optarg" ;;
-
- -libdir | --libdir | --libdi | --libd)
- ac_prev=libdir ;;
- -libdir=* | --libdir=* | --libdi=* | --libd=*)
- libdir="$ac_optarg" ;;
-
- -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
- | --libexe | --libex | --libe)
- ac_prev=libexecdir ;;
- -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
- | --libexe=* | --libex=* | --libe=*)
- libexecdir="$ac_optarg" ;;
-
- -localstatedir | --localstatedir | --localstatedi | --localstated \
- | --localstate | --localstat | --localsta | --localst \
- | --locals | --local | --loca | --loc | --lo)
- ac_prev=localstatedir ;;
- -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
- | --localstate=* | --localstat=* | --localsta=* | --localst=* \
- | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
- localstatedir="$ac_optarg" ;;
-
- -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
- ac_prev=mandir ;;
- -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
- mandir="$ac_optarg" ;;
-
- -nfp | --nfp | --nf)
- # Obsolete; use --without-fp.
- with_fp=no ;;
-
- -no-create | --no-create | --no-creat | --no-crea | --no-cre \
- | --no-cr | --no-c)
- no_create=yes ;;
-
- -no-recursion | --no-recursion | --no-recursio | --no-recursi \
- | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
- no_recursion=yes ;;
-
- -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
- | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
- | --oldin | --oldi | --old | --ol | --o)
- ac_prev=oldincludedir ;;
- -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
- | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
- | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
- oldincludedir="$ac_optarg" ;;
-
- -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
- ac_prev=prefix ;;
- -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
- prefix="$ac_optarg" ;;
-
- -program-prefix | --program-prefix | --program-prefi | --program-pref \
- | --program-pre | --program-pr | --program-p)
- ac_prev=program_prefix ;;
- -program-prefix=* | --program-prefix=* | --program-prefi=* \
- | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
- program_prefix="$ac_optarg" ;;
-
- -program-suffix | --program-suffix | --program-suffi | --program-suff \
- | --program-suf | --program-su | --program-s)
- ac_prev=program_suffix ;;
- -program-suffix=* | --program-suffix=* | --program-suffi=* \
- | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
- program_suffix="$ac_optarg" ;;
-
- -program-transform-name | --program-transform-name \
- | --program-transform-nam | --program-transform-na \
- | --program-transform-n | --program-transform- \
- | --program-transform | --program-transfor \
- | --program-transfo | --program-transf \
- | --program-trans | --program-tran \
- | --progr-tra | --program-tr | --program-t)
- ac_prev=program_transform_name ;;
- -program-transform-name=* | --program-transform-name=* \
- | --program-transform-nam=* | --program-transform-na=* \
- | --program-transform-n=* | --program-transform-=* \
- | --program-transform=* | --program-transfor=* \
- | --program-transfo=* | --program-transf=* \
- | --program-trans=* | --program-tran=* \
- | --progr-tra=* | --program-tr=* | --program-t=*)
- program_transform_name="$ac_optarg" ;;
-
- -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- | -silent | --silent | --silen | --sile | --sil)
- silent=yes ;;
-
- -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
- ac_prev=sbindir ;;
- -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
- | --sbi=* | --sb=*)
- sbindir="$ac_optarg" ;;
-
- -sharedstatedir | --sharedstatedir | --sharedstatedi \
- | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
- | --sharedst | --shareds | --shared | --share | --shar \
- | --sha | --sh)
- ac_prev=sharedstatedir ;;
- -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
- | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
- | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
- | --sha=* | --sh=*)
- sharedstatedir="$ac_optarg" ;;
-
- -site | --site | --sit)
- ac_prev=site ;;
- -site=* | --site=* | --sit=*)
- site="$ac_optarg" ;;
-
- -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
- ac_prev=srcdir ;;
- -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
- srcdir="$ac_optarg" ;;
-
- -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
- | --syscon | --sysco | --sysc | --sys | --sy)
- ac_prev=sysconfdir ;;
- -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
- | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
- sysconfdir="$ac_optarg" ;;
-
- -target | --target | --targe | --targ | --tar | --ta | --t)
- ac_prev=target ;;
- -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
- target="$ac_optarg" ;;
-
- -v | -verbose | --verbose | --verbos | --verbo | --verb)
- verbose=yes ;;
-
- -version | --version | --versio | --versi | --vers)
- echo "configure generated by autoconf version 2.13"
- exit 0 ;;
-
- -with-* | --with-*)
- ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'`
- # Reject names that are not valid shell variable names.
- if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then
- { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
- fi
- ac_package=`echo $ac_package| sed 's/-/_/g'`
- case "$ac_option" in
- *=*) ;;
- *) ac_optarg=yes ;;
- esac
- eval "with_${ac_package}='$ac_optarg'" ;;
-
- -without-* | --without-*)
- ac_package=`echo $ac_option|sed -e 's/-*without-//'`
- # Reject names that are not valid shell variable names.
- if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then
- { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
- fi
- ac_package=`echo $ac_package| sed 's/-/_/g'`
- eval "with_${ac_package}=no" ;;
-
- --x)
- # Obsolete; use --with-x.
- with_x=yes ;;
-
- -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
- | --x-incl | --x-inc | --x-in | --x-i)
- ac_prev=x_includes ;;
- -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
- | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
- x_includes="$ac_optarg" ;;
-
- -x-libraries | --x-libraries | --x-librarie | --x-librari \
- | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
- ac_prev=x_libraries ;;
- -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
- | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
- x_libraries="$ac_optarg" ;;
-
- -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; }
- ;;
-
- *)
- if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then
- echo "configure: warning: $ac_option: invalid host type" 1>&2
- fi
- if test "x$nonopt" != xNONE; then
- { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; }
- fi
- nonopt="$ac_option"
- ;;
-
- esac
-done
-
-if test -n "$ac_prev"; then
- { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; }
-fi
-
-trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
-
-# File descriptor usage:
-# 0 standard input
-# 1 file creation
-# 2 errors and warnings
-# 3 some systems may open it to /dev/tty
-# 4 used on the Kubota Titan
-# 6 checking for... messages and results
-# 5 compiler messages saved in config.log
-if test "$silent" = yes; then
- exec 6>/dev/null
-else
- exec 6>&1
-fi
-exec 5>./config.log
-
-echo "\
-This file contains any messages produced by compilers while
-running configure, to aid debugging if configure makes a mistake.
-" 1>&5
-
-# Strip out --no-create and --no-recursion so they do not pile up.
-# Also quote any args containing shell metacharacters.
-ac_configure_args=
-for ac_arg
-do
- case "$ac_arg" in
- -no-create | --no-create | --no-creat | --no-crea | --no-cre \
- | --no-cr | --no-c) ;;
- -no-recursion | --no-recursion | --no-recursio | --no-recursi \
- | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;;
- *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*)
- ac_configure_args="$ac_configure_args '$ac_arg'" ;;
- *) ac_configure_args="$ac_configure_args $ac_arg" ;;
- esac
-done
-
-# NLS nuisances.
-# Only set these to C if already set. These must not be set unconditionally
-# because not all systems understand e.g. LANG=C (notably SCO).
-# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'!
-# Non-C LC_CTYPE values break the ctype check.
-if test "${LANG+set}" = set; then LANG=C; export LANG; fi
-if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
-if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi
-if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi
-
-# confdefs.h avoids OS command line length limits that DEFS can exceed.
-rm -rf conftest* confdefs.h
-# AIX cpp loses on an empty file, so make sure it contains at least a newline.
-echo > confdefs.h
-
-# A filename unique to this package, relative to the directory that
-# configure is in, which we can look for to find out if srcdir is correct.
-ac_unique_file=cygwin-api.in.sgml
-
-# Find the source files, if location was not specified.
-if test -z "$srcdir"; then
- ac_srcdir_defaulted=yes
- # Try the directory containing this script, then its parent.
- ac_prog=$0
- ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'`
- test "x$ac_confdir" = "x$ac_prog" && ac_confdir=.
- srcdir=$ac_confdir
- if test ! -r $srcdir/$ac_unique_file; then
- srcdir=..
- fi
-else
- ac_srcdir_defaulted=no
-fi
-if test ! -r $srcdir/$ac_unique_file; then
- if test "$ac_srcdir_defaulted" = yes; then
- { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; }
- else
- { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; }
- fi
-fi
-srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'`
-
-# Prefer explicitly selected file to automatically selected ones.
-if test -z "$CONFIG_SITE"; then
- if test "x$prefix" != xNONE; then
- CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
- else
- CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
- fi
-fi
-for ac_site_file in $CONFIG_SITE; do
- if test -r "$ac_site_file"; then
- echo "loading site script $ac_site_file"
- . "$ac_site_file"
- fi
-done
-
-if test -r "$cache_file"; then
- echo "loading cache $cache_file"
- . $cache_file
-else
- echo "creating cache $cache_file"
- > $cache_file
-fi
-
-ac_ext=c
-# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
-ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
-cross_compiling=$ac_cv_prog_cc_cross
-
-ac_exeext=
-ac_objext=o
-if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
- # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
- if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
- ac_n= ac_c='
-' ac_t=' '
- else
- ac_n=-n ac_c= ac_t=
- fi
-else
- ac_n= ac_c='\c' ac_t=
-fi
-
-
-
-
-
-ac_aux_dir=
-for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do
- if test -f $ac_dir/install-sh; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/install-sh -c"
- break
- elif test -f $ac_dir/install.sh; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/install.sh -c"
- break
- fi
-done
-if test -z "$ac_aux_dir"; then
- { echo "configure: error: can not find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." 1>&2; exit 1; }
-fi
-ac_config_guess=$ac_aux_dir/config.guess
-ac_config_sub=$ac_aux_dir/config.sub
-ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
-
-
-# Do some error checking and defaulting for the host and target type.
-# The inputs are:
-# configure --host=HOST --target=TARGET --build=BUILD NONOPT
-#
-# The rules are:
-# 1. You are not allowed to specify --host, --target, and nonopt at the
-# same time.
-# 2. Host defaults to nonopt.
-# 3. If nonopt is not specified, then host defaults to the current host,
-# as determined by config.guess.
-# 4. Target and build default to nonopt.
-# 5. If nonopt is not specified, then target and build default to host.
-
-# The aliases save the names the user supplied, while $host etc.
-# will get canonicalized.
-case $host---$target---$nonopt in
-NONE---*---* | *---NONE---* | *---*---NONE) ;;
-*) { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; } ;;
-esac
-
-
-# Make sure we can run config.sub.
-if ${CONFIG_SHELL-/bin/sh} $ac_config_sub sun4 >/dev/null 2>&1; then :
-else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
-fi
-
-echo $ac_n "checking host system type""... $ac_c" 1>&6
-echo "configure:575: checking host system type" >&5
-
-host_alias=$host
-case "$host_alias" in
-NONE)
- case $nonopt in
- NONE)
- if host_alias=`${CONFIG_SHELL-/bin/sh} $ac_config_guess`; then :
- else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; }
- fi ;;
- *) host_alias=$nonopt ;;
- esac ;;
-esac
-
-host=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $host_alias`
-host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
-host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
-host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
-echo "$ac_t""$host" 1>&6
-
-echo $ac_n "checking target system type""... $ac_c" 1>&6
-echo "configure:596: checking target system type" >&5
-
-target_alias=$target
-case "$target_alias" in
-NONE)
- case $nonopt in
- NONE) target_alias=$host_alias ;;
- *) target_alias=$nonopt ;;
- esac ;;
-esac
-
-target=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $target_alias`
-target_cpu=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
-target_vendor=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
-target_os=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
-echo "$ac_t""$target" 1>&6
-
-echo $ac_n "checking build system type""... $ac_c" 1>&6
-echo "configure:614: checking build system type" >&5
-
-build_alias=$build
-case "$build_alias" in
-NONE)
- case $nonopt in
- NONE) build_alias=$host_alias ;;
- *) build_alias=$nonopt ;;
- esac ;;
-esac
-
-build=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $build_alias`
-build_cpu=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
-build_vendor=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
-build_os=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
-echo "$ac_t""$build" 1>&6
-
-test "$host_alias" != "$target_alias" &&
- test "$program_prefix$program_suffix$program_transform_name" = \
- NONENONEs,x,x, &&
- program_prefix=${target_alias}-
-
-
-if test $host != $build; then
- ac_tool_prefix=${host_alias}-
-else
- ac_tool_prefix=
-fi
-
-# Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}gcc; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:646: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
- ac_dummy="$PATH"
- for ac_dir in $ac_dummy; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- ac_cv_prog_CC="${ac_tool_prefix}gcc"
- break
- fi
- done
- IFS="$ac_save_ifs"
-fi
-fi
-CC="$ac_cv_prog_CC"
-if test -n "$CC"; then
- echo "$ac_t""$CC" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
-
-if test -z "$ac_cv_prog_CC"; then
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "gcc", so it can be a program name with args.
-set dummy gcc; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:678: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
- ac_dummy="$PATH"
- for ac_dir in $ac_dummy; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- ac_cv_prog_CC="gcc"
- break
- fi
- done
- IFS="$ac_save_ifs"
- test -z "$ac_cv_prog_CC" && ac_cv_prog_CC="gcc"
-fi
-fi
-CC="$ac_cv_prog_CC"
-if test -n "$CC"; then
- echo "$ac_t""$CC" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
-else
- CC="gcc"
-fi
-fi
-
-if test -z "$CC"; then
- # Extract the first word of "cc", so it can be a program name with args.
-set dummy cc; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:714: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
- ac_prog_rejected=no
- ac_dummy="$PATH"
- for ac_dir in $ac_dummy; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then
- ac_prog_rejected=yes
- continue
- fi
- ac_cv_prog_CC="cc"
- break
- fi
- done
- IFS="$ac_save_ifs"
-if test $ac_prog_rejected = yes; then
- # We found a bogon in the path, so make sure we never use it.
- set dummy $ac_cv_prog_CC
- shift
- if test $# -gt 0; then
- # We chose a different compiler from the bogus one.
- # However, it has the same basename, so the bogon will be chosen
- # first if we set CC to just the basename; use the full file name.
- shift
- set dummy "$ac_dir/$ac_word" "$@"
- shift
- ac_cv_prog_CC="$@"
- fi
-fi
-fi
-fi
-CC="$ac_cv_prog_CC"
-if test -n "$CC"; then
- echo "$ac_t""$CC" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
- test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; }
-fi
-
-if test $ac_cv_prog_gcc = yes; then
- GCC=yes
- ac_test_CFLAGS="${CFLAGS+set}"
- ac_save_CFLAGS="$CFLAGS"
- CFLAGS=
- echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
-echo "configure:768: checking whether ${CC-cc} accepts -g" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- echo 'void f(){}' > conftest.c
-if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then
- ac_cv_prog_cc_g=yes
-else
- ac_cv_prog_cc_g=no
-fi
-rm -f conftest*
-
-fi
-
-echo "$ac_t""$ac_cv_prog_cc_g" 1>&6
- if test "$ac_test_CFLAGS" = set; then
- CFLAGS="$ac_save_CFLAGS"
- elif test $ac_cv_prog_cc_g = yes; then
- CFLAGS="-g -O2"
- else
- CFLAGS="-O2"
- fi
- if test "$ac_test_CXXFLAGS" != set; then
- CXXFLAGS='$(CFLAGS)'
- fi
-else
- GCC=
- test "${CFLAGS+set}" = set || CFLAGS="-g"
-fi
-
-
-
-
-trap '' 1 2 15
-cat > confcache <<\EOF
-# This file is a shell script that caches the results of configure
-# tests run on this system so they can be shared between configure
-# scripts and configure runs. It is not useful on other systems.
-# If it contains results you don't want to keep, you may remove or edit it.
-#
-# By default, configure uses ./config.cache as the cache file,
-# creating it if it does not exist already. You can give configure
-# the --cache-file=FILE option to use a different cache file; that is
-# what configure does when it calls configure scripts in
-# subdirectories, so they share the cache.
-# Giving --cache-file=/dev/null disables caching, for debugging configure.
-# config.status only pays attention to the cache file if you give it the
-# --recheck option to rerun configure.
-#
-EOF
-# The following way of writing the cache mishandles newlines in values,
-# but we know of no workaround that is simple, portable, and efficient.
-# So, don't put newlines in cache variables' values.
-# Ultrix sh set writes to stderr and can't be redirected directly,
-# and sets the high bit in the cache file unless we assign to the vars.
-(set) 2>&1 |
- case `(ac_space=' '; set | grep ac_space) 2>&1` in
- *ac_space=\ *)
- # `set' does not quote correctly, so add quotes (double-quote substitution
- # turns \\\\ into \\, and sed turns \\ into \).
- sed -n \
- -e "s/'/'\\\\''/g" \
- -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p"
- ;;
- *)
- # `set' quotes correctly as required by POSIX, so do not add quotes.
- sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p'
- ;;
- esac >> confcache
-if cmp -s $cache_file confcache; then
- :
-else
- if test -w $cache_file; then
- echo "updating cache $cache_file"
- cat confcache > $cache_file
- else
- echo "not updating unwritable cache $cache_file"
- fi
-fi
-rm -f confcache
-
-trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
-
-test "x$prefix" = xNONE && prefix=$ac_default_prefix
-# Let make expand exec_prefix.
-test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
-
-# Any assignment to VPATH causes Sun make to only execute
-# the first set of double-colon rules, so remove it if not needed.
-# If there is a colon in the path, we need to keep it.
-if test "x$srcdir" = x.; then
- ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d'
-fi
-
-trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15
-
-# Transform confdefs.h into DEFS.
-# Protect against shell expansion while executing Makefile rules.
-# Protect against Makefile macro expansion.
-cat > conftest.defs <<\EOF
-s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%-D\1=\2%g
-s%[ `~#$^&*(){}\\|;'"<>?]%\\&%g
-s%\[%\\&%g
-s%\]%\\&%g
-s%\$%$$%g
-EOF
-DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '`
-rm -f conftest.defs
-
-
-# Without the "./", some shells look in PATH for config.status.
-: ${CONFIG_STATUS=./config.status}
-
-echo creating $CONFIG_STATUS
-rm -f $CONFIG_STATUS
-cat > $CONFIG_STATUS <<EOF
-#! /bin/sh
-# Generated automatically by configure.
-# Run this file to recreate the current configuration.
-# This directory was configured as follows,
-# on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
-#
-# $0 $ac_configure_args
-#
-# Compiler output produced by configure, useful for debugging
-# configure, is in ./config.log if it exists.
-
-ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]"
-for ac_option
-do
- case "\$ac_option" in
- -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
- echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
- exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
- -version | --version | --versio | --versi | --vers | --ver | --ve | --v)
- echo "$CONFIG_STATUS generated by autoconf version 2.13"
- exit 0 ;;
- -help | --help | --hel | --he | --h)
- echo "\$ac_cs_usage"; exit 0 ;;
- *) echo "\$ac_cs_usage"; exit 1 ;;
- esac
-done
-
-ac_given_srcdir=$srcdir
-
-trap 'rm -fr `echo "Makefile" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
-EOF
-cat >> $CONFIG_STATUS <<EOF
-
-# Protect against being on the right side of a sed subst in config.status.
-sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&%]/\\\\&/g;
- s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF
-$ac_vpsub
-$extrasub
-s%@SHELL@%$SHELL%g
-s%@CFLAGS@%$CFLAGS%g
-s%@CPPFLAGS@%$CPPFLAGS%g
-s%@CXXFLAGS@%$CXXFLAGS%g
-s%@FFLAGS@%$FFLAGS%g
-s%@DEFS@%$DEFS%g
-s%@LDFLAGS@%$LDFLAGS%g
-s%@LIBS@%$LIBS%g
-s%@exec_prefix@%$exec_prefix%g
-s%@prefix@%$prefix%g
-s%@program_transform_name@%$program_transform_name%g
-s%@bindir@%$bindir%g
-s%@sbindir@%$sbindir%g
-s%@libexecdir@%$libexecdir%g
-s%@datadir@%$datadir%g
-s%@sysconfdir@%$sysconfdir%g
-s%@sharedstatedir@%$sharedstatedir%g
-s%@localstatedir@%$localstatedir%g
-s%@libdir@%$libdir%g
-s%@includedir@%$includedir%g
-s%@oldincludedir@%$oldincludedir%g
-s%@infodir@%$infodir%g
-s%@mandir@%$mandir%g
-s%@host@%$host%g
-s%@host_alias@%$host_alias%g
-s%@host_cpu@%$host_cpu%g
-s%@host_vendor@%$host_vendor%g
-s%@host_os@%$host_os%g
-s%@target@%$target%g
-s%@target_alias@%$target_alias%g
-s%@target_cpu@%$target_cpu%g
-s%@target_vendor@%$target_vendor%g
-s%@target_os@%$target_os%g
-s%@build@%$build%g
-s%@build_alias@%$build_alias%g
-s%@build_cpu@%$build_cpu%g
-s%@build_vendor@%$build_vendor%g
-s%@build_os@%$build_os%g
-s%@CC@%$CC%g
-s%@build_exeext@%$build_exeext%g
-
-CEOF
-EOF
-
-cat >> $CONFIG_STATUS <<\EOF
-
-# Split the substitutions into bite-sized pieces for seds with
-# small command number limits, like on Digital OSF/1 and HP-UX.
-ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script.
-ac_file=1 # Number of current file.
-ac_beg=1 # First line for current file.
-ac_end=$ac_max_sed_cmds # Line after last line for current file.
-ac_more_lines=:
-ac_sed_cmds=""
-while $ac_more_lines; do
- if test $ac_beg -gt 1; then
- sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file
- else
- sed "${ac_end}q" conftest.subs > conftest.s$ac_file
- fi
- if test ! -s conftest.s$ac_file; then
- ac_more_lines=false
- rm -f conftest.s$ac_file
- else
- if test -z "$ac_sed_cmds"; then
- ac_sed_cmds="sed -f conftest.s$ac_file"
- else
- ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file"
- fi
- ac_file=`expr $ac_file + 1`
- ac_beg=$ac_end
- ac_end=`expr $ac_end + $ac_max_sed_cmds`
- fi
-done
-if test -z "$ac_sed_cmds"; then
- ac_sed_cmds=cat
-fi
-EOF
-
-cat >> $CONFIG_STATUS <<EOF
-
-CONFIG_FILES=\${CONFIG_FILES-"Makefile"}
-EOF
-cat >> $CONFIG_STATUS <<\EOF
-for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
- # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
- case "$ac_file" in
- *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
- ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
- *) ac_file_in="${ac_file}.in" ;;
- esac
-
- # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories.
-
- # Remove last slash and all that follows it. Not all systems have dirname.
- ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
- if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
- # The file is in a subdirectory.
- test ! -d "$ac_dir" && mkdir "$ac_dir"
- ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`"
- # A "../" for each directory in $ac_dir_suffix.
- ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'`
- else
- ac_dir_suffix= ac_dots=
- fi
-
- case "$ac_given_srcdir" in
- .) srcdir=.
- if test -z "$ac_dots"; then top_srcdir=.
- else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;;
- /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;;
- *) # Relative path.
- srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix"
- top_srcdir="$ac_dots$ac_given_srcdir" ;;
- esac
-
-
- echo creating "$ac_file"
- rm -f "$ac_file"
- configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure."
- case "$ac_file" in
- *Makefile*) ac_comsub="1i\\
-# $configure_input" ;;
- *) ac_comsub= ;;
- esac
-
- ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
- sed -e "$ac_comsub
-s%@configure_input@%$configure_input%g
-s%@srcdir@%$srcdir%g
-s%@top_srcdir@%$top_srcdir%g
-" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file
-fi; done
-rm -f conftest.s*
-
-EOF
-cat >> $CONFIG_STATUS <<EOF
-
-EOF
-cat >> $CONFIG_STATUS <<\EOF
-
-exit 0
-EOF
-chmod +x $CONFIG_STATUS
-rm -fr confdefs* $ac_clean_files
-test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1
-
diff --git a/winsup/doc/configure.in b/winsup/doc/configure.in
deleted file mode 100644
index 503777724..000000000
--- a/winsup/doc/configure.in
+++ /dev/null
@@ -1,54 +0,0 @@
-dnl Autoconf configure script for winsup/regexp
-dnl Copyright 1997,1998,1999,2000,2001 Red Hat, Inc.
-dnl
-dnl This file is part of Cygwin.
-dnl
-dnl This software is a copyrighted work licensed under the terms of the
-dnl Cygwin license. Please consult the file "CYGWIN_LICENSE" for
-dnl details.
-
-dnl Process this file with autoconf to produce a configure script.
-
-AC_PREREQ(2.12)
-AC_INIT(cygwin-api.in.sgml)
-
-AC_DEFUN(LIB_AC_PROG_CC,
-[AC_BEFORE([$0], [AC_PROG_CPP])dnl
-AC_CHECK_TOOL(CC, gcc, gcc)
-if test -z "$CC"; then
- AC_CHECK_PROG(CC, cc, cc, , , /usr/ucb/cc)
- test -z "$CC" && AC_MSG_ERROR([no acceptable cc found in \$PATH])
-fi
-
-if test $ac_cv_prog_gcc = yes; then
- GCC=yes
-dnl Check whether -g works, even if CFLAGS is set, in case the package
-dnl plays around with CFLAGS (such as to build both debugging and
-dnl normal versions of a library), tasteless as that idea is.
- ac_test_CFLAGS="${CFLAGS+set}"
- ac_save_CFLAGS="$CFLAGS"
- CFLAGS=
- AC_PROG_CC_G
- if test "$ac_test_CFLAGS" = set; then
- CFLAGS="$ac_save_CFLAGS"
- elif test $ac_cv_prog_cc_g = yes; then
- CFLAGS="-g -O2"
- else
- CFLAGS="-O2"
- fi
- if test "$ac_test_CXXFLAGS" != set; then
- CXXFLAGS='$(CFLAGS)'
- fi
-else
- GCC=
- test "${CFLAGS+set}" = set || CFLAGS="-g"
-fi
-])
-
-AC_CANONICAL_SYSTEM
-
-LIB_AC_PROG_CC
-
-AC_SUBST(build_exeext)
-
-AC_OUTPUT(Makefile)
diff --git a/winsup/doc/copy.texinfo b/winsup/doc/copy.texinfo
deleted file mode 100644
index 5dcdac9c8..000000000
--- a/winsup/doc/copy.texinfo
+++ /dev/null
@@ -1,384 +0,0 @@
-@chapter What are the copyrights ?
-
-@section The general idea
-
-Most of the tools are covered by the GNU General Public License (GPL),
-although some are public domain, and others have a X11-style
-copyright. To cover the GNU GPL requirements, the basic rule is if
-you give out any binaries, you must also make the source available.
-For the full details, be sure to read the text of the GNU GPL which
-follows.
-
-The Cygwin API library found in the winsup subdirectory of the source
-code is also covered by the GNU GPL. By default, all executables link
-against this library (and in the process include GPL'd Cygwin glue
-code). This means that unless you modify the tools so that compiled
-executables do not make use of the Cygwin library, your compiled
-programs will also have to be free software distributed under the GPL
-with source code available to all.
-
-Cygwin is currently available for proprietary use only through a
-proprietary-use license. Please see
-@file{http://www.redhat.com/software/cygwin/} for more information
-about the Red Hat Cygwin Product.
-
-In accordance with section 10 of the GPL, Red Hat, Inc. permits
-programs whose sources are distributed under a license that complies
-with the Open Source definition to be linked with libcygwin.a without
-libcygwin.a itself causing the resulting program to be covered by the
-GNU GPL.
-
-This means that you can port an Open Source(tm) application to cygwin,
-and distribute that executable as if it didn't include a copy of
-libcygwin.a linked into it. Note that this does not apply to the
-cygwin DLL itself. If you distribute a (possibly modified) version of
-the DLL you must adhere to the terms of the GPL, i.e., you must
-provide sources for the cygwin DLL.
-
-See @file{http://www.opensource.org/docs/definition_plain.html} for
-the precise Open Source Definition referenced above.
-
-@section GNU GENERAL PUBLIC LICENSE
-@example
- GNU GENERAL PUBLIC LICENSE
- Version 2, June 1991
-
- Copyright (C) 1989, 1991 Free Software Foundation, Inc.
- 675 Mass Ave, Cambridge, MA 02139, USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
- Preamble
-
- The licenses for most software are designed to take away your
-freedom to share and change it. By contrast, the GNU General Public
-License is intended to guarantee your freedom to share and change free
-software--to make sure the software is free for all its users. This
-General Public License applies to most of the Free Software
-Foundation's software and to any other program whose authors commit to
-using it. (Some other Free Software Foundation software is covered by
-the GNU Library General Public License instead.) You can apply it to
-your programs, too.
-
- When we speak of free software, we are referring to freedom, not
-price. Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-this service if you wish), that you receive source code or can get it
-if you want it, that you can change the software or use pieces of it
-in new free programs; and that you know you can do these things.
-
- To protect your rights, we need to make restrictions that forbid
-anyone to deny you these rights or to ask you to surrender the rights.
-These restrictions translate to certain responsibilities for you if you
-distribute copies of the software, or if you modify it.
-
- For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must give the recipients all the rights that
-you have. You must make sure that they, too, receive or can get the
-source code. And you must show them these terms so they know their
-rights.
-
- We protect your rights with two steps: (1) copyright the software, and
-(2) offer you this license which gives you legal permission to copy,
-distribute and/or modify the software.
-
- Also, for each author's protection and ours, we want to make certain
-that everyone understands that there is no warranty for this free
-software. If the software is modified by someone else and passed on, we
-want its recipients to know that what they have is not the original, so
-that any problems introduced by others will not reflect on the original
-authors' reputations.
-
- Finally, any free program is threatened constantly by software
-patents. We wish to avoid the danger that redistributors of a free
-program will individually obtain patent licenses, in effect making the
-program proprietary. To prevent this, we have made it clear that any
-patent must be licensed for everyone's free use or not licensed at all.
-
- The precise terms and conditions for copying, distribution and
-modification follow.
-
- GNU GENERAL PUBLIC LICENSE
- TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
- 0. This License applies to any program or other work which contains
-a notice placed by the copyright holder saying it may be distributed
-under the terms of this General Public License. The "Program", below,
-refers to any such program or work, and a "work based on the Program"
-means either the Program or any derivative work under copyright law:
-that is to say, a work containing the Program or a portion of it,
-either verbatim or with modifications and/or translated into another
-language. (Hereinafter, translation is included without limitation in
-the term "modification".) Each licensee is addressed as "you".
-
-Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope. The act of
-running the Program is not restricted, and the output from the Program
-is covered only if its contents constitute a work based on the
-Program (independent of having been made by running the Program).
-Whether that is true depends on what the Program does.
-
- 1. You may copy and distribute verbatim copies of the Program's
-source code as you receive it, in any medium, provided that you
-conspicuously and appropriately publish on each copy an appropriate
-copyright notice and disclaimer of warranty; keep intact all the
-notices that refer to this License and to the absence of any warranty;
-and give any other recipients of the Program a copy of this License
-along with the Program.
-
-You may charge a fee for the physical act of transferring a copy, and
-you may at your option offer warranty protection in exchange for a fee.
-
- 2. You may modify your copy or copies of the Program or any portion
-of it, thus forming a work based on the Program, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
- a) You must cause the modified files to carry prominent notices
- stating that you changed the files and the date of any change.
-
- b) You must cause any work that you distribute or publish, that in
- whole or in part contains or is derived from the Program or any
- part thereof, to be licensed as a whole at no charge to all third
- parties under the terms of this License.
-
- c) If the modified program normally reads commands interactively
- when run, you must cause it, when started running for such
- interactive use in the most ordinary way, to print or display an
- announcement including an appropriate copyright notice and a
- notice that there is no warranty (or else, saying that you provide
- a warranty) and that users may redistribute the program under
- these conditions, and telling the user how to view a copy of this
- License. (Exception: if the Program itself is interactive but
- does not normally print such an announcement, your work based on
- the Program is not required to print an announcement.)
-
-These requirements apply to the modified work as a whole. If
-identifiable sections of that work are not derived from the Program,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works. But when you
-distribute the same sections as part of a whole which is a work based
-on the Program, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Program.
-
-In addition, mere aggregation of another work not based on the Program
-with the Program (or with a work based on the Program) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
- 3. You may copy and distribute the Program (or a work based on it,
-under Section 2) in object code or executable form under the terms of
-Sections 1 and 2 above provided that you also do one of the following:
-
- a) Accompany it with the complete corresponding machine-readable
- source code, which must be distributed under the terms of Sections
- 1 and 2 above on a medium customarily used for software interchange; or,
-
- b) Accompany it with a written offer, valid for at least three
- years, to give any third party, for a charge no more than your
- cost of physically performing source distribution, a complete
- machine-readable copy of the corresponding source code, to be
- distributed under the terms of Sections 1 and 2 above on a medium
- customarily used for software interchange; or,
-
- c) Accompany it with the information you received as to the offer
- to distribute corresponding source code. (This alternative is
- allowed only for noncommercial distribution and only if you
- received the program in object code or executable form with such
- an offer, in accord with Subsection b above.)
-
-The source code for a work means the preferred form of the work for
-making modifications to it. For an executable work, complete source
-code means all the source code for all modules it contains, plus any
-associated interface definition files, plus the scripts used to
-control compilation and installation of the executable. However, as a
-special exception, the source code distributed need not include
-anything that is normally distributed (in either source or binary
-form) with the major components (compiler, kernel, and so on) of the
-operating system on which the executable runs, unless that component
-itself accompanies the executable.
-
-If distribution of executable or object code is made by offering
-access to copy from a designated place, then offering equivalent
-access to copy the source code from the same place counts as
-distribution of the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
- 4. You may not copy, modify, sublicense, or distribute the Program
-except as expressly provided under this License. Any attempt
-otherwise to copy, modify, sublicense or distribute the Program is
-void, and will automatically terminate your rights under this License.
-However, parties who have received copies, or rights, from you under
-this License will not have their licenses terminated so long as such
-parties remain in full compliance.
-
- 5. You are not required to accept this License, since you have not
-signed it. However, nothing else grants you permission to modify or
-distribute the Program or its derivative works. These actions are
-prohibited by law if you do not accept this License. Therefore, by
-modifying or distributing the Program (or any work based on the
-Program), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Program or works based on it.
-
- 6. Each time you redistribute the Program (or any work based on the
-Program), the recipient automatically receives a license from the
-original licensor to copy, distribute or modify the Program subject to
-these terms and conditions. You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties to
-this License.
-
- 7. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Program at all. For example, if a patent
-license would not permit royalty-free redistribution of the Program by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Program.
-
-If any portion of this section is held invalid or unenforceable under
-any particular circumstance, the balance of the section is intended to
-apply and the section as a whole is intended to apply in other
-circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system, which is
-implemented by public license practices. Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
- 8. If the distribution and/or use of the Program is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Program under this License
-may add an explicit geographical distribution limitation excluding
-those countries, so that distribution is permitted only in or among
-countries not thus excluded. In such case, this License incorporates
-the limitation as if written in the body of this License.
-
- 9. The Free Software Foundation may publish revised and/or new versions
-of the General Public License from time to time. Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-Each version is given a distinguishing version number. If the Program
-specifies a version number of this License which applies to it and "any
-later version", you have the option of following the terms and conditions
-either of that version or of any later version published by the Free
-Software Foundation. If the Program does not specify a version number of
-this License, you may choose any version ever published by the Free Software
-Foundation.
-
- 10. If you wish to incorporate parts of the Program into other free
-programs whose distribution conditions are different, write to the author
-to ask for permission. For software which is copyrighted by the Free
-Software Foundation, write to the Free Software Foundation; we sometimes
-make exceptions for this. Our decision will be guided by the two goals
-of preserving the free status of all derivatives of our free software and
-of promoting the sharing and reuse of software generally.
-
- NO WARRANTY
-
- 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
-FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
-OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
-PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
-OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
-TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
-PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
-REPAIR OR CORRECTION.
-
- 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
-REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
-INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
-OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
-TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
-YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
-PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGES.
-
- END OF TERMS AND CONDITIONS
-
- Appendix: How to Apply These Terms to Your New Programs
-
- If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
- To do so, attach the following notices to the program. It is safest
-to attach them to the start of each source file to most effectively
-convey the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
- <one line to give the program's name and a brief idea of what it does.>
- Copyright (C) 19yy <name of author>
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
-Also add information on how to contact you by electronic and paper mail.
-
-If the program is interactive, make it output a short notice like this
-when it starts in an interactive mode:
-
- Gnomovision version 69, Copyright (C) 19yy name of author
- Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
- This is free software, and you are welcome to redistribute it
- under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License. Of course, the commands you use may
-be called something other than `show w' and `show c'; they could even be
-mouse-clicks or menu items--whatever suits your program.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the program, if
-necessary. Here is a sample; alter the names:
-
- Yoyodyne, Inc., hereby disclaims all copyright interest in the program
- `Gnomovision' (which makes passes at compilers) written by James Hacker.
-
- <signature of Ty Coon>, 1 April 1989
- Ty Coon, President of Vice
-
-This General Public License does not permit incorporating your program into
-proprietary programs. If your program is a subroutine library, you may
-consider it more useful to permit linking proprietary applications with the
-library. If this is what you want to do, use the GNU Library General
-Public License instead of this License.
-
-@end example
-
diff --git a/winsup/doc/cygserver.sgml b/winsup/doc/cygserver.sgml
deleted file mode 100644
index 27e538b2a..000000000
--- a/winsup/doc/cygserver.sgml
+++ /dev/null
@@ -1,274 +0,0 @@
-<sect1 id="using-cygserver"><title>Cygserver</title>
-
-<sect2 id="what-is-cygserver"><title>What is Cygserver?</title>
-
-<para>
- Cygserver is a program which is designed to run as a background service.
- It provides Cygwin applications with services which require security
- arbitration or which need to persist while no other cygwin application
- is running.
-</para>
-<para>
- The implemented services so far are:
-</para>
-<itemizedlist mark="bullet">
- <listitem><para>Control slave tty/pty handle dispersal from tty owner to other
- processes without compromising the owner processes' security.</para></listitem>
- <listitem><para>XSI IPC Message Queues.</para></listitem>
- <listitem><para>XSI IPC Semaphores.</para></listitem>
- <listitem><para>XSI IPC Shared Memory.</para></listitem>
-</itemizedlist>
-
-</sect2>
-
-<sect2 id="cygserver-command-line"><title>Cygserver command line options</title>
-
-<para>
- Options to Cygserver take the normal UNIX-style `-X' or `--longoption' form.
- Nearly all options have a counterpart in the configuration file (see below)
- so setting them on the command line isn't really necessary. Command line
- options override settings from the Cygserver configuration file.
-</para>
-<para>
- The one-character options are prepended by a single dash, the long variants
- are prepended with two dashes. Arguments to options are marked in angle
- brackets below. These are not part of the actual syntax but are used only to
- denote the arguments. Note that all arguments are required. Cygserver
- has no options with optional arguments.
-</para>
-<para>
- The recognized options are:
-</para>
-
-<itemizedlist spacing="compact">
- <screen>-f, --config-file &lt;file&gt;</screen>
- <para>
- Use &lt;file&gt; as configuration file instead of the default configuration
- line. The default configuration file is /etc/cygserver.conf, typically.
- The --help and --version options will print the default configuration
- pathname.
- </para>
- <para>
- This option has no counterpart in the configuration file, for obvious
- reasons.
- </para>
-<listitem>
- <screen>-c, --cleanup-threads &lt;num&gt;</screen>
- <para>
- Number of threads started to perform cleanup tasks. Default is 2.
- Configuration file option: kern.srv.cleanup_threads
- </para>
-</listitem>
-<listitem>
- <screen>-r, --request-threads &lt;num&gt;</screen>
- <para>
- Number of threads started to serve application requests. Default is 10.
- The -c and -r options can be used to play with Cygserver's performance
- under heavy load conditions or on slow machines.
- Configuration file option: kern.srv.request_threads
- </para>
-</listitem>
-<listitem>
- <screen>-d, --debug</screen>
- <para>
- Log debug messages to stderr. These will clutter your stderr output with
- a lot of information, typically only useful to developers.
- </para>
-</listitem>
-<listitem>
- <screen>-e, --stderr</screen>
- <para>
- Force logging to stderr. This is the default if stderr is connected to
- a tty. Otherwise, the default is logging to the system log. By using
- the -e, -E, -y, -Y options (or the appropriate settings in the
- configuration file), you can explicitely set the logging output as you
- like, even to both, stderr and syslog.
- Configuration file option: kern.log.stderr
- </para>
-</listitem>
-<listitem>
- <screen>-E, --no-stderr</screen>
- <para>
- Don't log to stderr. Configuration file option: kern.log.stderr
- </para>
-</listitem>
-<listitem>
- <screen>-y, --syslog</screen>
- <para>
- Force logging to the system log. This is the default, if stderr is not
- connected to a tty, e. g. redirected to a file. Note, that on 9x/Me
- systems the syslog is faked by a file C:\CYGWIN_SYSLOG.TXT.
- Configuration file option: kern.log.syslog
- </para>
-</listitem>
-<listitem>
- <screen>-Y, --no-syslog</screen>
- <para>
- Don't log to syslog. Configuration file option: kern.log.syslog
- </para>
-</listitem>
-<listitem>
- <screen>-l, --log-level &lt;level&gt;</screen>
- <para>
- Set the verbosity level of the logging output. Valid values are between
- 1 and 7. The default level is 6, which is relatively chatty. If you set
- it to 1, you will get only messages which are printed under severe conditions,
- which will result in stopping Cygserver itself.
- Configuration file option: kern.log.level
- </para>
-</listitem>
-<listitem>
- <screen>-m, --no-sharedmem</screen>
- <para>
- Don't start XSI IPC Shared Memory support. If you don't need XSI IPC
- Shared Memory support, you can switch it off here.
- Configuration file option: kern.srv.sharedmem
- </para>
-</listitem>
-<listitem>
- <screen>-q, --no-msgqueues</screen>
- <para>
- Don't start XSI IPC Message Queues.
- Configuration file option: kern.srv.msgqueues
- </para>
-</listitem>
-<listitem>
- <screen>-s, --no-semaphores</screen>
- <para>
- Don't start XSI IPC Semaphores.
- Configuration file option: kern.srv.semaphores
- </para>
-</listitem>
-<listitem>
- <screen>-S, --shutdown</screen>
- <para>
- Shutdown a running daemon and exit. Other methods are sending a SIGHUP
- to the Cygserver PID or, if running as service under NT, calling
- `net stop cygserver' or `cygrunsrv -E cygserver'.
- </para>
-</listitem>
-<listitem>
- <screen>-h, --help</screen>
- <para>
- Output usage information and exit.
- </para>
-</listitem>
-<listitem>
- <screen>-v, --version</screen>
- <para>
- Output version information and exit.
- </para>
-</listitem>
-</itemizedlist>
-
-</sect2>
-
-<sect2 id="start-cygserver"><title>How to start Cygserver</title>
-
-<para>
- Before you run Cygserver for the first time, you should run the
- /usr/bin/cygserver-config script once. It creates the default
- configuration file and, upon request, installs Cygserver as service
- when running under NT. The script only performs a default install,
- with no further options given to Cygserver when running as service.
- Due to the wide configurability by changing the configuration file,
- that's typically not necessary.
-</para>
-<para>
- On Windows 9x/Me, just start Cygserver in any console window. It's
- advisable to redirect stderr to a file of choice (e. g.
- /var/log/cygserver.log) and to use the -e and -Y options or the
- set the appropriate settings in the configuration file (see below).
-</para>
-<para>
- On Windows NT/2000/XP or 2003, you should always run Cygserver as a
- service under LocalSystem account. This is the way it is installed
- for you by the /usr/bin/cygserver-config script.
-</para>
-
-</sect2>
-
-<sect2 id="use-cygserver"><title>How to use the Cygserver services</title>
-
-<para>
- The Cygserver services are used by Cygwin applications only if you
- set the environment variable CYGWIN to contain the string "server".
- You must do this before starting the application.
-</para>
-<para>
- Typically, you don't need any other option, so it's ok to set CYGWIN
- just to "server". It is not necessary to set the CYGWIN environment
- variable prior to starting the Cygserver process itself, but it won't
- hurt to do so.
-</para>
-<para>
- The easiest way is to set the environment variable CYGWIN to the values
- you want in the Windows system environment and to reboot the machine.
- This is advisable, since it allows you to set the variable once and
- then forget about it. It also ensures that services as well as desktop
- applications have the same setting.
-</para>
-<para>
- If you don't want that for whatever reason, you can set the
- variable in the /cygwin.bat file which is used in the net distribution,
- to start a Cygwin bash from the desktop. In that file, you can set
- the CYGWIN variable using Windows command line interpreter syntax, e. g.:
-</para>
-<para>
- <screen>
- set CYGWIN=server
- </screen>
-</para>
-<para>
- If you don't set CYGWIN in the system environment, but you're running
- other Cygwin services, these services need to get that CYGWIN value by
- setting the environment using the appropriate cygrunsrv option '-e' when
- installing the service. Example installing a service 'foo':
-</para>
-<para>
- <screen>
- cygrunsrv -I foo -p /usr/sbin/foo -e "CYGWIN=server"
- </screen>
-</para>
-
-</sect2>
-
-<sect2 id="cygserver-config"><title>The Cygserver configuration file</title>
-
-<para>
- Cygserver has many options, which allow to customize the server
- to your needs. Customization is accomplished by editing the configuration
- file, which is by default /etc/cygserver.conf. This file is read only
- once on startup of Cygserver. There's no option to re-read the file on
- runtime by, say, sending a signal to Cygserver.
-</para>
-<para>
- The configuration file determines how Cygserver operates. There are
- options which set the number of threads running in parallel, options
- for setting how and what to log and options to set various maximum
- values for the IPC services.
-</para>
-<para>
- The default configuration file delivered with Cygserver is installed
- to /etc/defaults/etc. The /usr/bin/cygserver-config script copies it to
- /etc, giving you the option to overwrite an already existing file or to
- leave it alone. Therefore, the /etc file is safe to be changed by you,
- since it will not be overwritten by a later update installation.
-</para>
-<para>
- The default configuration file contains many comments which describe
- everything needed to understand the settings. A comment at the start of the
- file describes the syntax rules for the file. The default options are shown
- in the file but are commented out.
-</para>
-<para>
- It is generally a good idea to uncomment only options which you intend to
- change from the default values. Since reading the options file on Cygserver
- startup doesn't take much time, it's also considered good practice to keep
- all other comments in the file. This keeps you from searching for clues
- in other sources.
-</para>
-
-</sect2>
-
-</sect1>
diff --git a/winsup/doc/cygwin-api.in.sgml b/winsup/doc/cygwin-api.in.sgml
deleted file mode 100644
index 08589402e..000000000
--- a/winsup/doc/cygwin-api.in.sgml
+++ /dev/null
@@ -1,58 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
-"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"[]>
-
-<book id="cygwin-api">
-
- <bookinfo>
- <date>1998-08-31</date>
- <title>Cygwin API Reference</title>
- <authorgroup>
- <author>
- <firstname>DJ</firstname>
- <surname>Delorie</surname>
- </author>
- <author>
- <firstname>Geoffrey</firstname>
- <surname>Noer</surname>
- </author>
- </authorgroup>
-
- DOCTOOL-INSERT-legal
-
- <revhistory>
- <revision>
- <revnumber>0.0</revnumber>
- <date>1998-08-31</date>
- <authorinitials>dj</authorinitials>
- <revremark>Initial revision</revremark>
- </revision>
- <revision>
- <revnumber>0.5.0</revnumber>
- <date>1998-12-17</date>
- <authorinitials>noer</authorinitials>
- <revremark>Add pthread, sem calls. Change revnumber to
- three-part number: Cygwin API major, Cygwin API minor, Doc rev
- number. Starts out at 0.5.0.</revremark>
- </revision>
- </revhistory>
- </bookinfo>
-
- <toc></toc>
-
-<chapter id="compatibility"><title>Compatibility</title>
-DOCTOOL-INSERT-std-ansi
-DOCTOOL-INSERT-std-posix
-DOCTOOL-INSERT-std-misc
-</chapter>
-
-<chapter id="cygwin-functions"><title>Cygwin Functions</title>
-
-<para>These functions are specific to Cygwin itself, and probably
-won't be found anywhere else. </para>
-
-DOCTOOL-INSERT-func-
-
-</chapter>
-
-</book>
diff --git a/winsup/doc/cygwin-ug-net.in.sgml b/winsup/doc/cygwin-ug-net.in.sgml
deleted file mode 100644
index c56ad8e14..000000000
--- a/winsup/doc/cygwin-ug-net.in.sgml
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
-"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"[]>
-
-<book id="cygwin-ug-net">
-
- <bookinfo>
- <date>2003-04-08</date>
- <title>Cygwin User's Guide</title>
-
-DOCTOOL-INSERT-legal
-
- </bookinfo>
-
- <toc></toc>
-
-DOCTOOL-INSERT-overview
-
-DOCTOOL-INSERT-setup-net
-
-DOCTOOL-INSERT-using
-
-DOCTOOL-INSERT-programming
-
-</book>
diff --git a/winsup/doc/cygwin-ug.in.sgml b/winsup/doc/cygwin-ug.in.sgml
deleted file mode 100644
index 284d56bd1..000000000
--- a/winsup/doc/cygwin-ug.in.sgml
+++ /dev/null
@@ -1,72 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"[
- <!ENTITY cygnus-copyright "<year>1999,2000,2001</year>
- <holder>Red Hat, Inc.</holder>">
- <!ENTITY cygnus-code-copyright "
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-Copyright (C) 1998, 1999, 2000, 2001 Red Hat, Inc.
-
-This is copyrighted software that may only
-be reproduced, modified, or distributed
-under license from Red Hat, Inc.
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-">
- ]>
-
-<book id="cygwin-ug">
-
- <bookinfo>
- <date>2001-22-03</date>
- <title>Cygwin User's Guide</title>
- <authorgroup>
- <author>
- <firstname>Corinna</firstname>
- <surname>Vinschen</surname>
- </author>
- <author>
- <firstname>Christopher</firstname>
- <surname>Faylor</surname>
- </author>
- <author>
- <firstname>DJ</firstname>
- <surname>Delorie</surname>
- </author>
- <author>
- <firstname>Pierre</firstname>
- <surname>Humblet</surname>
- </author>
- <author>
- <firstname>Geoffrey</firstname>
- <surname>Noer</surname>
- </author>
- </authorgroup>
-
-DOCTOOL-INSERT-legal
-
- <revhistory>
- <revision>
- <revnumber>0.0</revnumber>
- <date>1998-08-31</date>
- <authorinitials>dj</authorinitials>
- <revremark>Initial revision</revremark>
- </revision>
- <revision>
- <revnumber>20.1.0</revnumber>
- <date>1999-02-08</date>
- <authorinitials>Pierre.Humblet@eurecom.fr</authorinitials>
- <revremark>Expand, describe Cygwin 20.1</revremark>
- </revision>
- </revhistory>
- </bookinfo>
-
- <toc></toc>
-
-DOCTOOL-INSERT-overview
-
-DOCTOOL-INSERT-setup
-
-DOCTOOL-INSERT-using
-
-DOCTOOL-INSERT-programming
-
-</book>
diff --git a/winsup/doc/cygwin.dsl b/winsup/doc/cygwin.dsl
deleted file mode 100644
index 35156d73f..000000000
--- a/winsup/doc/cygwin.dsl
+++ /dev/null
@@ -1,16 +0,0 @@
-<?xml version='1.0'?>
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
- xmlns:fo="http://www.w3.org/1999/XSL/Format"
- version='1.0'>
-
-<!-- See /usr/share/docbook-xsl/params/ -->
-<xsl:param name="chunker.output.doctype-public"
- select="'-//W3C//DTD HTML 4.01 Transitional//EN'" />
-<xsl:param name="html.stylesheet" select="'docbook.css'"/>
-<xsl:param name="use.id.as.filename" select="1" />
-<xsl:param name="root.filename" select="@id" />
-
-<!-- TODO: make URLs and paths wrap with PDF output -->
-
-</xsl:stylesheet>
-
diff --git a/winsup/doc/cygwinenv.sgml b/winsup/doc/cygwinenv.sgml
deleted file mode 100644
index 835f56c17..000000000
--- a/winsup/doc/cygwinenv.sgml
+++ /dev/null
@@ -1,200 +0,0 @@
-<sect1 id="using-cygwinenv"><title>The <envar>CYGWIN</envar> environment
-variable</title>
-
-<para>The <envar>CYGWIN</envar> environment variable is used to configure
-many global settings for the Cygwin runtime system. It contains the options
-listed below, separated by blank characters. Many options can be turned off
-by prefixing with <literal>no </literal>.</para>
-
-<itemizedlist mark="bullet">
-<listitem>
-<para><envar>(no)binmode</envar> - if set, non-disk
-(e.g. pipe and COM ports) file opens default to binary mode
-(no CRLF translation) instead of text mode. Defaults to set (binary
-mode). By default, devices are opened in binary mode, so this option
-has little effect on normal cygwin operations.
-
-It does affect two things, however. For non-NTFS filesystems, this
-option will control the line endings for standard output/input/error
-for redirection from the Windows command shell. It will also affect
-the default translation mode of a pipe, although most shells set the
-pipe to binary by default.
-</para>
-</listitem>
-<listitem>
-<para><envar>check_case:level</envar> - THIS OPTION IS DEPRECATED.
-Don't use it unless you know what you're doing and don't see any way
-around it. And even then, this option is error prone, slows down Cygwin
-and not well maintained. This option controls the behavior of
-Cygwin when a user tries to open or create a file using a case different from
-the case of the path as saved on the disk.
-<literal>level</literal> is one of <literal>relaxed</literal>,
-<literal>adjust</literal> and <literal>strict</literal>.</para>
-<itemizedlist mark="bullet">
-<listitem>
-<para><envar>relaxed</envar> which is the default behaviour simply
-ignores case. That's the default for native Windows applications as well.</para>
-</listitem>
-<listitem>
-<para><envar>adjust</envar> behaves mostly invisible. The POSIX input
-path is internally adjusted in case, so that the resulting DOS path uses the
-correct case throughout. You can see the result when changing the directory
-using a wrong case and calling <command>/bin/pwd</command> afterwards.</para>
-</listitem>
-<listitem>
-<para><envar>strict</envar> results in a error message if the case
-isn't correct. Trying to open a file <filename>Foo</filename> while a file
-<filename>fOo</filename> exists results in a "no such file or directory"
-error. Trying to create a file <filename>BAR</filename> while a file
-<filename>Bar</filename> exists results in a "Filename exists with different
-case" error.</para>
-</listitem>
-</itemizedlist>
-</listitem>
-
-<listitem>
-<para><envar>codepage:[ansi|oem]</envar> - Windows console
-applications can use different character sets (codepages) for drawing
-characters. The first setting, called "ansi", is the default.
-This character set contains various forms of latin characters used
-in European languages. The name originates from the ANSI Latin1
-(ISO 8859-1) standard, used in Windows 1.0, though the character
-sets have since diverged from any standard. The second setting
-selects an older, DOS-based character set, containing various line
-drawing and special characters. It is called "oem" since it was
-originally encoded in the firmware of IBM PCs by original
-equipment manufacturers (OEMs). If you find that some characters
-(especially non-US or 'graphical' ones) do not display correctly in
-Cygwin, you can use this option to select an appropriate codepage.
-</para>
-</listitem>
-
-<listitem>
-<para><envar>(no)envcache</envar> - If set, environment variable
-conversions (between Win32 and POSIX) are cached. Note that this is may
-cause problems if the mount table changes, as the cache is not invalidated
-and may contain values that depend on the previous mount table
-contents. Defaults to set.</para>
-</listitem>
-<listitem>
-<para><envar>(no)export</envar> - if set, the final values of these
-settings are re-exported to the environment as <envar>CYGWIN</envar> again.
-Defaults to off.</para>
-</listitem>
-<listitem>
-<para>
-<envar>error_start:Win32filepath</envar> - if set, runs
-<filename>Win32filepath</filename> when cygwin encounters a fatal error,
-which is useful for debugging. <filename>Win32filepath</filename> is
-usually set to the path to <command>gdb</command> or
-<command>dumper</command>, for example
-<filename>C:\cygwin\bin\gdb.exe</filename>.
-There is no default set.
-</para>
-</listitem>
-<listitem>
-<para><envar>forkchunk:32768</envar> - causes <function>fork()</function>
-to copy memory some number of bytes at a time, in the above example
-32768 bytes (32Kb) at a time. The default is to copy as many bytes as
-possible, which is preferable in most cases but may slow some older systems
-down.
-</para>
-</listitem>
-<listitem>
-<para><envar>(no)glob[:ignorecase]</envar> - if set, command line arguments
-containing UNIX-style file wildcard characters (brackets, question mark,
-asterisk, escaped with \) are expanded into lists of files that match
-those wildcards.
-This is applicable only to programs running from a DOS command line prompt.
-Default is set.</para>
-<para>This option also accepts an optional <literal>[no]ignorecase</literal> modifer.
-If supplied, wildcard matching is case insensitive. The default is <literal>noignorecase</literal></para>
-</listitem>
-<listitem>
-<para><envar>(no)ntea</envar> - if set, use NT Extended Attributes to
-store UNIX-like inode information.
-This option only operates under Windows NT. Defaults to not set.
-Only FAT and NTFS support Extended Attributes, not FAT32, so it's
-of no use there. Furthermore, on NTFS partitions ntsec, which provides
-real permissions, overrides ntea, which only provides faked permissions.
-So setting ntea only makes sense if you either have FAT partitions,
-or if you switch off ntsec explicitely. </para>
-<warning><title>Warning!</title> <para>This may create additional
-<emphasis>large</emphasis> files on FAT partitions.</para></warning>
-</listitem>
-<listitem>
-<para><envar>(no)ntsec</envar> - if set, use the NT security
-model to set UNIX-like permissions on files and processes. The
-file permissions can only be set on NTFS partitions. FAT/FAT32 don't
-support the NT file security. Defaults to set. For more information, read
-the documentation in <xref linkend="ntsec"></xref>.</para>
-</listitem>
-<listitem>
-<para><envar>(no)smbntsec</envar> - if set, use <envar>ntsec</envar> on remote
-drives as well (default is "nosmbntesc"). When setting "smbntsec" there's
-a chance that you get problems with Samba shares so you should use this
-option with care. One reason for a non working <envar>ntsec</envar> on
-remote drives could be insufficient permissions of the users. The requires
-user rights are somewhat dangerous (SeRestorePrivilege), so it's not always
-an option to grant that rights to users. However, this shouldn't be a
-problem in NT domain environments.</para>
-</listitem>
-<listitem>
-<para><envar>(no)reset_com</envar> - if set, serial ports are reset
-to 9600-8-N-1 with no flow control when used. This is done at open
-time and when handles are inherited. Defaults to set.</para>
-</listitem>
-<listitem>
-<para><envar>(no)server</envar> - if set, allows client applications
-to use the Cygserver facilities. This option must be enabled explicitely
-on the client side, otherwise your applications won't be able to use the
-XSI IPC function calls (<function>msgget</function>,
-<function>semget</function>, <function>shmget</function>, and friends)
-successfully. These function calls will return with
-<literal>ENOSYS</literal>, "Bad system call".
-</para>
-</listitem>
-<listitem>
-<para><envar>(no)strip_title</envar> - if set, strips the directory
-part off the window title, if any. Default is not set.</para>
-</listitem>
-<listitem>
-<para><envar>(no)title</envar> - if set, the title bar
-reflects the name of the program currently running. Default is not
-set. Note that under Win9x the title bar is always enabled and it is
-stripped by default, but this is because of the way Win9x works. In
-order not to strip, specify <literal>title</literal> or <literal>title
-nostrip_title</literal>.</para>
-</listitem>
-<listitem>
-<para><envar>(no)traverse</envar> - This option only affects NT systems.
-If set, Cygwin handles file permissions so that the parent directories'
-permissions are checked, as it's default on POSIX systems. If not set,
-only the file's own permissions are taken into account. This is the
-default on Windows and called "bypass traverse checking". Default was
-"traverse" in version 1.5.13 and 1.5.14. Beginning with 1.5.15, traverse
-checking is disabled again since it's not correctly implemented by Microsoft
-and it's behaviour is getting worse with each new OS version. Unprivileged
-terminal server sessions are practically impossible with traverse checking
-switched on. So, use at your own risk.</para>
-</listitem>
-<listitem>
-<para><envar>(no)tty</envar> - if set, Cygwin enables extra support
-(i.e., termios) for UNIX-like ttys in the Windows console.
-It is not compatible with some Windows programs.
-Defaults to not set, in which case the tty is opened in text mode.
-Note that this has been changed such that ^D works as
-expected instead of ^Z, and is settable via <command>stty</command>.
-This option must be specified before starting a Cygwin shell
-and it cannot be changed in the shell. It should not be set when using
-other terminals (i.e., rxvt or xterm).
-</para>
-</listitem>
-<listitem>
-<para><envar>(no)winsymlinks</envar> - if set, Cygwin creates
-symlinks as Windows shortcuts with a special header and the R/O attribute
-set. If not set, Cygwin creates symlinks as plain files with a magic number,
-a path and the system attribute set. Defaults to set.</para>
-</listitem>
-</itemizedlist>
-</sect1>
diff --git a/winsup/doc/dll.sgml b/winsup/doc/dll.sgml
deleted file mode 100644
index d5578ff19..000000000
--- a/winsup/doc/dll.sgml
+++ /dev/null
@@ -1,141 +0,0 @@
-<sect1 id="dll"><title>Building and Using DLLs</title>
-
-<para>DLLs are Dynamic Link Libraries, which means that they're linked
-into your program at run time instead of build time. There are three
-parts to a DLL:</para>
-
-<itemizedlist spacing="compact">
-<listitem><para> the exports </para></listitem>
-<listitem><para> the code and data </para></listitem>
-<listitem><para> the import library </para></listitem>
-</itemizedlist>
-
-<para>The code and data are the parts you write - functions,
-variables, etc. All these are merged together, like if you were
-building one big object files, and put into the dll. They are not
-put into your .exe at all.</para>
-
-<para>The exports contains a list of functions and variables that the
-dll makes available to other programs. Think of this as the list of
-"global" symbols, the rest being hidden. Normally, you'd create this
-list by hand with a text editor, but it's possible to do it
-automatically from the list of functions in your code. The
-<filename>dlltool</filename> program creates the exports section of
-the dll from your text file of exported symbols.</para>
-
-<para>The import library is a regular UNIX-like
-<filename>.a</filename> library, but it only contains the tiny bit of
-information needed to tell the OS how your program interacts with
-("imports") the dll. This information is linked into your
-<filename>.exe</filename>. This is also generated by
-<filename>dlltool</filename>.</para>
-
-<sect2 id="dll-build"><title>Building DLLs</title>
-
-<para>This page gives only a few simple examples of gcc's DLL-building
-capabilities. To begin an exploration of the many additional options,
-see the gcc documentation and website, currently at
-<ulink url="http://gcc.gnu.org/">http://gcc.gnu.org/</ulink>
-</para>
-
-<para>Let's go through a simple example of how to build a dll.
-For this example, we'll use a single file
-<filename>myprog.c</filename> for the program
-(<filename>myprog.exe</filename>) and a single file
-<filename>mydll.c</filename> for the contents of the dll
-(<filename>mydll.dll</filename>).</para>
-
-<para>Fortunately, with the latest gcc and binutils the process for building a dll
-is now pretty simple. Say you want to build this minimal function in mydll.c:</para>
-
-<screen>
-#include &lt;stdio.h&gt;
-
-int
-hello()
-{
- printf ("Hello World!\n");
-}
-</screen>
-
-<para>First compile mydll.c to object code:</para>
-
-<screen>gcc -c mydll.c</screen>
-
-<para>Then, tell gcc that it is building a shared library:</para>
-
-<screen>gcc -shared -o mydll.dll mydll.o</screen>
-
-<para>
-That's it! To finish up the example, you can now link to the
-dll with a simple program:
-</para>
-
-<screen>
-int
-main ()
-{
- hello ();
-}
-</screen>
-
-<para>
-Then link to your dll with a command like:
-</para>
-
-<screen>gcc -o myprog myprog.ca -L./ -lmydll</screen>
-
-<para>However, if you are building a dll as an export library,
-you will probably want to use the complete syntax:</para>
-
-<screen>gcc -shared -o cyg${module}.dll \
- -Wl,--out-implib=lib${module}.dll.a \
- -Wl,--export-all-symbols \
- -Wl,--enable-auto-import \
- -Wl,--whole-archive ${old_libs} \
- -Wl,--no-whole-archive ${dependency_libs}</screen>
-
-<para>
-The name of your library is <literal>${module}</literal>, prefixed with
-<literal>cyg</literal> for the DLL and <literal>lib</literal> for the
-import library. Cygwin DLLs use the <literal>cyg</literal> prefix to
-differentiate them from native-Windows MinGW DLLs, see
-<ulink url="http://mingw.org">the MinGW website</ulink> for more details.
-<literal>${old_libs}</literal> are all
-your object files, bundled together in static libs or single object
-files and the <literal>${dependency_libs}</literal> are import libs you
-need to link against, e.g
-<userinput>'-lpng -lz -L/usr/local/special -lmyspeciallib'</userinput>.
-</para>
-</sect2>
-
-<sect2 id="dll-link"><title>Linking Against DLLs</title>
-
-<para>If you have an existing DLL already, you need to build a
-Cygwin-compatible import library. If you have the source to compile
-the DLL, see <xref linkend="dll-build"></xref> for details on having
-<filename>gcc</filename> build one for you. If you do not have the
-source or a supplied working import library, you can get most of
-the way by creating a .def file with these commands (you might need to
-do this in <filename>bash</filename> for the quoting to work
-correctly):</para>
-
-<screen>
-echo EXPORTS > foo.def
-nm foo.dll | grep ' T _' | sed 's/.* T _//' >> foo.def
-</screen>
-
-<para>Note that this will only work if the DLL is not stripped.
-Otherwise you will get an error message: "No symbols in
-foo.dll".</para>
-
-<para>Once you have the <filename>.def</filename> file, you can create
-an import library from it like this:</para>
-
-<screen>
-dlltool --def foo.def --dllname foo.dll --output-lib foo.a
-</screen>
-
-</sect2>
-
-</sect1>
diff --git a/winsup/doc/doctool.c b/winsup/doc/doctool.c
deleted file mode 100644
index ae034f345..000000000
--- a/winsup/doc/doctool.c
+++ /dev/null
@@ -1,622 +0,0 @@
-/* doctool.c
-
- Copyright 1998,1999,2000,2001 Red Hat, Inc.
-
-This file is part of Cygwin.
-
-This software is a copyrighted work licensed under the terms of the
-Cygwin license. Please consult the file "CYGWIN_LICENSE" for
-details. */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <dirent.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <utime.h>
-
-/* Building native in a cross-built directory is tricky. Be careful,
-and beware that you don't have the full portability stuff available to
-you (like libiberty) */
-
-/*****************************************************************************/
-
-/* The list of extensions that may contain SGML snippets. We check
- both cases in case the file system isn't case sensitive enough. */
-
-struct {
- char *upper;
- char *lower;
- int is_sgml;
-} extensions[] = {
- { ".C", ".c", 0 },
- { ".CC", ".cc", 0 },
- { ".H", ".h", 0 },
- { ".SGML", ".sgml", 1 },
- { 0, 0, 0 }
-};
-
-/*****************************************************************************/
-
-void
-show_help()
-{
- printf("Usage: doctool [-m] [-i] [-d dir] [-o outfile] [-s prefix] \\\n");
- printf(" [-b book_id] infile\n");
- printf(" -m means to adjust Makefile to include new dependencies\n");
- printf(" -i means to include internal snippets\n");
- printf(" -d means to recursively scan directory for snippets\n");
- printf(" -o means to output to file (else stdout)\n");
- printf(" -s means to suppress source dir prefix\n");
- printf(" -b means to change the <book id=\"book_id\">\n");
- printf("\n");
- printf("doctool looks for DOCTOOL-START and DOCTOOL-END lines in source,\n");
- printf("saves <foo id=\"bar\"> blocks, and looks for DOCTOOL-INSERT-bar\n");
- printf("commands to insert selected sections. IDs starting with int-\n");
- printf("are internal only, add- are added at the end of relevant sections\n");
- printf("or add-int- for both. Inserted sections are chosen by prefix,\n");
- printf("and sorted when inserted.\n");
- exit(1);
-}
-
-/*****************************************************************************/
-
-typedef struct Section {
- struct Section *next;
- struct OneFile *file;
- char *name;
- char internal;
- char addend;
- char used;
- char **lines;
- int num_lines;
- int max_lines;
-} Section;
-
-typedef struct OneFile {
- struct OneFile *next;
- char *filename;
- int enable_scan;
- int used;
- Section *sections;
-} OneFile;
-
-OneFile *file_list = 0;
-
-char *output_name = 0;
-FILE *output_file = 0;
-
-char *source_dir_prefix = "";
-char *book_id = 0;
-
-int internal_flag = 0;
-
-/*****************************************************************************/
-
-char *
-has_string(char *line, char *string)
-{
- int i;
- while (*line)
- {
- for (i=0; line[i]; i++)
- {
- if (!string[i])
- return line;
- if (line[i] != string[i])
- break;
- }
- line++;
- }
- return 0;
-}
-
-int
-starts_with(char *line, char *string)
-{
- int i=0;
- while (1)
- {
- if (!string[i])
- return 1;
- if (!line[i] || line[i] != string[i])
- return 0;
- i++;
- }
-}
-
-/*****************************************************************************/
-
-#ifdef S_ISLNK
-#define STAT lstat
-#else
-#define STAT stat
-#endif
-
-void
-scan_directory(dirname)
- char *dirname;
-{
- struct stat st;
- char *name;
- struct dirent *de;
- DIR *dir = opendir(dirname);
- if (!dir)
- return;
- while (de = readdir(dir))
- {
- if (strcmp(de->d_name, ".") == 0
- || strcmp(de->d_name, "..") == 0)
- continue;
-
- name = (char *)malloc(strlen(dirname)+strlen(de->d_name)+3);
- strcpy(name, dirname);
- strcat(name, "/");
- strcat(name, de->d_name);
-
- STAT(name, &st);
-
- if (S_ISDIR(st.st_mode))
- {
- scan_directory(name);
- }
-
- else if (S_ISREG(st.st_mode))
- {
- char *dot = strrchr(de->d_name, '.');
- int i;
-
- if (dot)
- {
- for (i=0; extensions[i].upper; i++)
- if (strcmp(dot, extensions[i].upper) == 0
- || strcmp(dot, extensions[i].lower) == 0)
- {
- OneFile *one = (OneFile *)malloc(sizeof(OneFile));
- one->next = file_list;
- file_list = one;
- one->filename = name;
- one->enable_scan = ! extensions[i].is_sgml;
- one->used = 0;
- one->sections = 0;
- }
- }
- }
- }
- closedir (dir);
-}
-
-/*****************************************************************************/
-
-void
-scan_file(OneFile *one)
-{
- FILE *f = fopen(one->filename, "r");
- int enabled = ! one->enable_scan;
- char line[1000], *tag=0, *id=0, *tmp;
- int taglen = 0;
- Section *section = 0;
- Section **prev_section_ptr = &(one->sections);
-
- if (!f)
- {
- perror(one->filename);
- return;
- }
-
- while (fgets(line, 1000, f))
- {
- if (one->enable_scan)
- {
- /* source files have comment-embedded docs, check for them */
- if (has_string(line, "DOCTOOL-START"))
- enabled = 1;
- if (has_string(line, "DOCTOOL-END"))
- enabled = 0;
- }
- if (!enabled)
- continue;
-
- /* DOCTOOL-START
-
-<sect1 id="dt-tags">
-this is the doctool tags section.
-</sect1>
-
- DOCTOOL-END */
-
- if (!tag && line[0] == '<')
- {
- tag = (char *)malloc(strlen(line)+1);
- id = (char *)malloc(strlen(line)+1);
- if (sscanf(line, "<%s id=\"%[^\"]\">", tag, id) == 2)
- {
- if (strcmp(tag, "book") == 0 || strcmp(tag, "BOOK") == 0)
- {
- /* Don't want to "scan" these */
- return;
- }
- taglen = strlen(tag);
- section = (Section *)malloc(sizeof(Section));
- /* We want chunks within single files to appear in that order */
- section->next = 0;
- section->file = one;
- *prev_section_ptr = section;
- prev_section_ptr = &(section->next);
- section->internal = 0;
- section->addend = 0;
- section->used = 0;
- section->name = id;
- if (starts_with(section->name, "add-"))
- {
- section->addend = 1;
- section->name += 4;
- }
- if (starts_with(section->name, "int-"))
- {
- section->internal = 1;
- section->name += 4;
- }
- section->lines = (char **)malloc(10*sizeof(char *));
- section->num_lines = 0;
- section->max_lines = 10;
- }
- else
- {
- free(tag);
- free(id);
- tag = id = 0;
- }
- }
-
- if (tag && section)
- {
- if (section->num_lines >= section->max_lines)
- {
- section->max_lines += 10;
- section->lines = (char **)realloc(section->lines,
- section->max_lines * sizeof (char *));
- }
- section->lines[section->num_lines] = (char *)malloc(strlen(line)+1);
- strcpy(section->lines[section->num_lines], line);
- section->num_lines++;
-
- if (line[0] == '<' && line[1] == '/'
- && memcmp(line+2, tag, taglen) == 0
- && (isspace(line[2+taglen]) || line[2+taglen] == '>'))
- {
- /* last line! */
- tag = 0;
- }
- }
- }
- fclose(f);
-}
-
-/*****************************************************************************/
-
-Section **
-enumerate_matching_sections(char *name_prefix, int internal, int addend, int *count_ret)
-{
- Section **rv = (Section **)malloc(12*sizeof(Section *));
- int count = 0, max=10, prefix_len = strlen(name_prefix);
- OneFile *one;
- int wildcard = 0;
-
- if (name_prefix[strlen(name_prefix)-1] == '-')
- wildcard = 1;
-
- for (one=file_list; one; one=one->next)
- {
- Section *s;
- for (s=one->sections; s; s=s->next)
- {
- int matches = 0;
- if (wildcard)
- {
- if (starts_with(s->name, name_prefix))
- matches = 1;
- }
- else
- {
- if (strcmp(s->name, name_prefix) == 0)
- matches = 1;
- }
- if (s->internal <= internal
- && s->addend == addend
- && matches
- && ! s->used)
- {
- s->used = 1;
- if (count >= max)
- {
- max += 10;
- rv = (Section **)realloc(rv, max*sizeof(Section *));
- }
- rv[count++] = s;
- rv[count] = 0;
- }
- }
- }
- if (count_ret)
- *count_ret = count;
- return rv;
-}
-
-/*****************************************************************************/
-
-#define ID_CHARS "~@$%&()_-+[]{}:."
-
-void include_section(char *name, int addend);
-
-char *
-unprefix(char *fn)
-{
- int l = strlen(source_dir_prefix);
- if (memcmp(fn, source_dir_prefix, l) == 0)
- {
- fn += l;
- while (*fn == '/' || *fn == '\\')
- fn++;
- return fn;
- }
- return fn;
-}
-
-void
-parse_line(char *line, char *filename)
-{
- char *cmd = has_string(line, "DOCTOOL-INSERT-");
- char *sname, *send, *id, *save;
- if (!cmd)
- {
- if (book_id
- && (starts_with(line, "<book") || starts_with(line, "<BOOK")))
- {
- cmd = strchr(line, '>');
- if (cmd)
- {
- cmd++;
- fprintf(output_file, "<book id=\"%s\">", book_id);
- fputs(cmd, output_file);
- return;
- }
- }
- fputs(line, output_file);
- return;
- }
- if (cmd != line)
- fwrite(line, cmd-line, 1, output_file);
- save = (char *)malloc(strlen(line)+1);
- strcpy(save, line);
- line = save;
-
- sname = cmd + 15; /* strlen("DOCTOOL-INSERT-") */
- for (send = sname;
- *send && isalnum(*send) || strchr(ID_CHARS, *send);
- send++);
- id = (char *)malloc(send-sname+2);
- memcpy(id, sname, send-sname);
- id[send-sname] = 0;
- include_section(id, 0);
-
- fprintf(output_file, "<!-- %s -->\n", unprefix(filename));
-
- fputs(send, output_file);
- free(save);
-}
-
-int
-section_sort(const void *va, const void *vb)
-{
- Section *a = *(Section **)va;
- Section *b = *(Section **)vb;
- int rv = strcmp(a->name, b->name);
- if (rv)
- return rv;
- return a->internal - b->internal;
-}
-
-void
-include_section(char *name, int addend)
-{
- Section **sections, *s;
- int count, i, l;
-
- sections = enumerate_matching_sections(name, internal_flag, addend, &count);
-
- qsort(sections, count, sizeof(sections[0]), section_sort);
- for (i=0; i<count; i++)
- {
- s = sections[i];
- s->file->used = 1;
- fprintf(output_file, "<!-- %s -->\n", unprefix(s->file->filename));
- for (l=addend; l<s->num_lines-1; l++)
- parse_line(s->lines[l], s->file->filename);
- if (!addend)
- {
- include_section(s->name, 1);
- parse_line(s->lines[l], s->file->filename);
- }
- }
-
- free(sections);
-}
-
-void
-parse_sgml(FILE *in, char *input_name)
-{
- static char line[1000];
- while (fgets(line, 1000, in))
- {
- parse_line(line, input_name);
- }
-}
-
-/*****************************************************************************/
-
-void
-fix_makefile(char *output_name)
-{
- FILE *in, *out;
- char line[1000];
- int oname_len = strlen(output_name);
- OneFile *one;
- int used_something = 0;
- struct stat st;
- struct utimbuf times;
-
- stat("Makefile", &st);
-
- in = fopen("Makefile", "r");
- if (!in)
- {
- perror("Makefile");
- return;
- }
-
- out = fopen("Makefile.new", "w");
- if (!out)
- {
- perror("Makefile.new");
- return;
- }
-
- while (fgets(line, 1000, in))
- {
- if (starts_with(line, output_name)
- && strcmp(line+oname_len, ": \\\n") == 0)
- {
- /* this is the old dependency */
- while (fgets(line, 1000, in))
- {
- if (strcmp(line+strlen(line)-2, "\\\n"))
- break;
- }
- }
- else
- fputs(line, out);
- }
- fclose(in);
-
- for (one=file_list; one; one=one->next)
- if (one->used)
- {
- used_something = 1;
- break;
- }
-
- if (used_something)
- {
- fprintf(out, "%s:", output_name);
- for (one=file_list; one; one=one->next)
- if (one->used)
- fprintf(out, " \\\n\t%s", one->filename);
- fprintf(out, "\n");
- }
-
- fclose(out);
-
- times.actime = st.st_atime;
- times.modtime = st.st_mtime;
- utime("Makefile.new", &times);
-
- if (rename("Makefile", "Makefile.old"))
- return;
- if (rename("Makefile.new", "Makefile"))
- rename("Makefile.old", "Makefile");
-}
-
-/*****************************************************************************/
-
-int
-main(argc, argv)
- int argc;
- char **argv;
-{
- int i;
- OneFile *one;
- FILE *input_file;
- int fix_makefile_flag = 0;
-
- while (argc > 1 && argv[1][0] == '-')
- {
- if (strcmp(argv[1], "-h") == 0 || strcmp(argv[1], "--help") == 0)
- {
- show_help();
- }
- else if (strcmp(argv[1], "-i") == 0)
- {
- internal_flag = 1;
- }
- else if (strcmp(argv[1], "-m") == 0)
- {
- fix_makefile_flag = 1;
- }
- else if (strcmp(argv[1], "-d") == 0 && argc > 2)
- {
- scan_directory(argv[2]);
- argc--;
- argv++;
- }
- else if (strcmp(argv[1], "-o") == 0 && argc > 2)
- {
- output_name = argv[2];
- argc--;
- argv++;
- }
- else if (strcmp(argv[1], "-s") == 0 && argc > 2)
- {
- source_dir_prefix = argv[2];
- argc--;
- argv++;
- }
- else if (strcmp(argv[1], "-b") == 0 && argc > 2)
- {
- book_id = argv[2];
- argc--;
- argv++;
- }
-
- argc--;
- argv++;
- }
-
- for (one=file_list; one; one=one->next)
- {
- scan_file(one);
- }
-
- input_file = fopen(argv[1], "r");
- if (!input_file)
- {
- perror(argv[1]);
- return 1;
- }
-
- if (output_name)
- {
- output_file = fopen(output_name, "w");
- if (!output_file)
- {
- perror(output_name);
- return 1;
- }
- }
- else
- {
- output_file = stdout;
- output_name = "<stdout>";
- }
-
- parse_sgml(input_file, argv[1]);
-
- if (output_file != stdout)
- fclose(output_file);
-
- if (fix_makefile_flag)
- fix_makefile(output_name);
-
- return 0;
-}
diff --git a/winsup/doc/doctool.txt b/winsup/doc/doctool.txt
deleted file mode 100644
index c89e39243..000000000
--- a/winsup/doc/doctool.txt
+++ /dev/null
@@ -1,146 +0,0 @@
-Doctool
-
-DJ Delorie <dj@cygnus.com>
-
-These are the instructions for using doctool. Yes, I should have
-written them *in* DocBook, but hey, I was in a hurry.
-
-OK, doctool is a program that gathers snippets of a docbook document and
-puts them all together in the right order. There are three
-places that it gets snippets from:
-
-1. The document that you tell it you want "finished"
-
-2. blocks of SGML in *.sgml files
-
-3. comments in source code
-
-The first of these is the template file, which is to say, it's a
-normal SGML file (sort of). This file is the first one read, and
-includes such things as your <book> tags etc. It contains commands to
-doctool to tell it where to put the other parts.
-
-The second, the *.sgml files, contain one or more blocks of SGML.
-To work with doctool, each of these snippets must begin and end
-with matching tags, must have an id="" attribute, and the start/end
-tags must begin at the beginning of the line. For example:
-
-<foo id="frob-45">
- stuff goes here
-</foo>
-<bar id="frob-48">
- stuff goes here
-</bar>
-
-In this example, the file contains two snippets, one marked by "foo"
-and one barked by "bar", with id's "from-45" and "from-48". Note that
-I made up the foo and bar tags. You'd usually use a <sect1> tag or
-something useful like that. Stuff outside the blocks is ignored.
-
-The third is simply an encapsulation of the second in comments, like this:
-
-/* DOCTOOL-START
-<foo id="frob-45">
- stuff goes here
-</foo>
-DOCTOOL-END */
-
-The DOCTOOL-START and DOCTOOL-END things are special. Doctool uses
-those to know which parts of which comments are useful, and which
-parts are the useless source code stuff ;-)
-
-
-OK, so now we've got all these snippets of SGML floating around. What
-do we do with them? Well, inside the template document (#1 in our
-list up there) you'd put text snippets that said "ok, put them
-here". Each text snippet looks like this:
-
-DOCTOOL-INSERT-frob-
-
-Note that the "frob-" part tells doctool to pull in all the snippets
-with IDs that start with "frob-", in alphabetical (well, asciibetical
-at the moment) order. So, by saying "DOCTOOL-INSERT-frob-" you'd get
-all the "frob-*" snippets, like "frob-45" and "frob-48".
-
-If you just said DOCTOOL-INSERT-frob, it inserts the snippet named
-"frob" and no others.
-
-Note that no snippet will ever be inserted more than once, no matter
-how many DOCTOOL-INSERTs you have.
-
-There's two other tricks doctool has. If it finds a snippet with an ID
-like "int-*" (i.e. int-frob-45) that means that snippet of documentation
-is for the "internal" version only. The "int-" is discarded, and if
-the -i option is given to doctool, this snippet is treated as if the
-int- wasn't there. Without the -i, the int-* snippets are ignored
-completely.
-
-If a snippet has "add-" on it, like "add-frob-45", that's an addendum.
-Each time a snippet named without the add- is found, doctool looks for
-an addendum with exactly that same name (i.e. frob-45 looks for
-add-frob-45). If it finds any, it puts them just before the last line
-of the non-add snippet (so that it's *inside* the main snippet's
-block, not after it). Example:
-
-<sect1 id="frob-45">
- some text
-</sect1>
-<sect1 id="add-frob-45">
- more text
-</sect1>
-
-This would yield:
-
-<sect1 id="frob-45">
- some text
- more text
-</sect1>
-
-You should use the same outermost tags as the main snippet, but only
-because it sets the proper nesting rules for what's enclosed.
-
-You can use add- and int- at the same time, but always do add-int- and
-not int-add- (i.e. "add-int-frob-45").
-
-
-OK, now for doctool command line options.
-
--m tells doctool to "fix" the Makefile (not makefile) to include the
-extra dependencies needed by the file you're generating. You need to
-manually include dependencies on the Makefile itself and the template
-file; doctool only includes the snippet files (sources etc) that it
-actually pulled content from. Note: this isn't perfect! Someone can
-come along and add a new snippet to a source file, and doctool would
-never know. Sometimes, it's best to just rebuild the docs all the
-time.
-
--i means to include snippets with the "int-" prefix on their IDs. Use
-with -b to make internal and public versions from the same sources.
-
-"-d dir" tells doctool to scan all the files in that directory (and
-subdirectories, recursively) for files that might contain snippets of
-SGML. These include *.c, *.cc, *.h, and *.sgml. The idea is that
-most of the documentation would be in a *.sgml file named after the
-source (i.e. foo.c -> foo.sgml) but some commentary within the source
-might be useful in the docs as well. SGML files (*.sgml) do not need
-the DOCTOOL-START/END tags but the others do.
-
--o sets the output file. Without -o, the file goes to stdout (ick).
-
--s tells doctool to supress a "source directory prefix". What this
-means is that, in the generated output doctool puts comments that say
-where each snippet comes from (for debugging), which includes the full
-path sometimes, but if you use -s, you can tell doctool to cut off
-that prefix. For example,
-/usr/people/dj/src/cygnus/latest/devo/winsup/foo.c might get shortened
-to winsup/foo.c if you gave "-s
-/usr/people/dj/src/cygnus/latest/devo/". Cygnus makefiles could
-just use -s $(srcdir) most of the time.
-
--b changes the ID for the <book> tag. db2html uses the <book> tag's
-ID as the default subdirectory name and/or html file name to create
-the book with. You'd need this to generate two books (internal vs
-public) from the same source.
-
-The only other thing you'd add to the command line is the ONE template
-file you want to pull in.
diff --git a/winsup/doc/effectively.sgml b/winsup/doc/effectively.sgml
deleted file mode 100644
index fd0c0d447..000000000
--- a/winsup/doc/effectively.sgml
+++ /dev/null
@@ -1,211 +0,0 @@
-<sect1 id="using-effectively">
-<title>Using Cygwin effectively with Windows</title>
-
-<para>
-Cygwin is not a full operating system, and so must rely on Windows for
-accomplishing some tasks. For example, Cygwin provides a POSIX view
-of the Windows filesystem, but does not provide filesystem drivers of
-its own. Therefore part of using Cygwin effectively is learning to use
-Windows effectively.
-Many Windows utilities provide a good way to interact with Cygwin's
-predominately command-line environment. For example,
-<command>ipconfig.exe</command> provides information about network
-configuration, and <command>net.exe</command> views and configures
-network file and printer resources. Most of these tools
-support the <literal>/?</literal> switch to display usage information.
-</para>
-
-<para>
-Unfortunately, no standard set of tools included with all versions of
-Windows exists. If you are unfamiliar with the tools available
-on your system, here is a general guide. Windows 95, 98, and ME have
-very limited command-line configuration tools. Windows NT 4.0 has much
-better coverage, which Windows 2000 and XP expanded.
-Microsoft also provides free downloads for Windows NT 4.0 (the Resource Kit
-Support Tools), Windows 2000 (the Resource Kit Tools), and XP (the
-Windows Support Tools). Additionally, many independent sites such as
-<ulink url="http://download.com.com">download.com</ulink>,
-<ulink url="http://simtel.net">simtel.net</ulink>,
-and <ulink url="http://sysinternals.com">sysinternals.com</ulink>
-provide command-line utilities. A few Windows tools, such as
-<command>find.exe</command> and <command>sort.exe</command>,
-may conflict with the Cygwin versions; make sure that you use the full
-path (<command>/usr/bin/find</command>) or that your Cygwin
-<literal>bin</literal> directory comes first in your <envar>PATH</envar>.
-</para>
-
-<sect2> <title>Pathnames</title>
-
-<para>
-Windows programs do not understand POSIX pathnames, so any arguments
-that reference the filesystem must be in Windows (or DOS) format or
-translated. Cygwin provides the <command>cygpath</command> utility for
-converting between Windows and POSIX paths. A complete description of its
-options and examples of its usage are in <xref linkend="cygpath"></xref>,
-including a shell script for starting Windows Explorer in any directory.
-The same format works for most Windows programs, for example
-<screen>
-<literal>notepad.exe "$(cygpath -aw "Desktop/Phone Numbers.txt")"</literal>
-</screen>
-A few programs require a Windows-style, semicolon-delimited path list,
-which <command>cygpath</command> can translate from a POSIX path with the
-<literal>-p</literal> option. For example, a Java compilation from
-<command>bash</command> might look like this:
-<screen>
-<literal>javac -cp "$(cygpath -pw "$CLASSPATH")" hello.java</literal>
-</screen>
-Since using quoting and subshells is somewhat awkward, it is often
-preferable to use <command>cygpath</command> in shell scripts.
-</para>
-
-</sect2>
-
-<sect2> <title>Console Programs</title>
-<para>
-Another issue is receiving output from or giving input to the console-based
-Windows programs. Unfortunately, interacting with Windows console
-applications is not a simple matter of using a translation utility. Windows
-console applications and designed to run under <command>command.com</command>
-or <command>cmd.exe</command>, and some do not deal gracefully with other
-situations. Cygwin can receive console input only if it
-is also running in a console (DOS box) since Windows does not provide
-any way to attach to the backend of the console device. Another
-traditional Unix input/output method, ptys (pseudo-terminals), are
-supported by Cygwin but not entirely by Windows. The basic problem is
-that a Cygwin pty is a pipe and some Windows applications do not like
-having their input or output redirected to pipes.
-</para>
-
-<para>
-To help deal with these issues, Cygwin supports customizable levels of
-Windows verses Unix compatibility behavior. To be most compatible with
-Windows programs, use a DOS prompt, running only the occasional Cygwin
-command or script. Next would be to run <command>bash</command> with
-the default DOS box. To make Cygwin more Unix compatible in this case,
-set <envar>CYGWIN=tty</envar> (see <xref linkend="using-cygwinenv"></xref>).
-Alternatively, the optional <systemitem>rxvt</systemitem> package provides
-a native-Windows version of the popular X11 terminal emulator (it is not
-necessary to set <envar>CYGWIN=tty</envar> with <command>rxvt</command>).
-Using <command>rxvt.exe</command> provides the most Unix-like environment,
-but expect some compatibility problems with Windows programs.
-</para>
-
-</sect2>
-
-<sect2> <title>Cygwin and Windows Networking</title>
-<para>
-Many popular Cygwin packages, such as <systemitem>ncftp</systemitem>,
-<systemitem>lynx</systemitem>, and <systemitem>wget</systemitem>, require a
-network connection. Since Cygwin relies on Windows for connectivity,
-if one of these tools is not working as expected you may need to
-troubleshoot using Windows tools. The first test is to see if you
-can reach the URL's host with <command>ping.exe</command>, one of the
-few utilities included with every Windows version since Windows 95.
-If you chose to install the <systemitem>inetutils</systemitem> package,
-you may have both
-Windows and Cygwin versions of utilities such as <command>ftp</command>
-and <command>telnet</command>. If you are having problems using one
-of these programs, see if the alternate one works as expected.
-</para>
-
-<para>
-There are a variety of other programs available for specific situations.
-If your system does not have an always-on network connection, you
-may be interested in <command>rasdial.exe</command> (or alternatives for
-Windows 95, 98, and ME) for automating dialup connections.
-Users who frequently change their network
-configuration can script these changes with <command>netsh.exe</command>
-(Windows 2000 and XP). For proxy users, the open source
-<ulink url="http://apserver.sourceforge.net">
-NTLM Authorization Proxy Server</ulink> or the no-charge
-<ulink url="http://www.hummingbird.com/products/nc/socks/index.html">
-Hummingbird SOCKS Proxy</ulink> may allow you to use Cygwin network
-programs in your environment.
-</para>
-
-</sect2>
-
-<sect2><title>The cygutils package</title>
-
-<para>
-The optional <systemitem>cygutils</systemitem> package contains miscellaneous tools that are
-small enough to not require their own package. It is not included in a
-default Cygwin install; select it from the Utils category in
-<command>setup.exe</command>. Several of the <systemitem>cygutils</systemitem> tools are useful
-for interacting with Windows.
-</para>
-
-<para>
-One of the hassles of Unix-Windows interoperability is the different line
-endings on text files. As mentioned in <xref linkend="using-textbinary"></xref>,
-Unix tools such as <command>tr</command> can convert between CRLF and LF
-endings, but <systemitem>cygutils</systemitem> provides several dedicated programs:
-<command>conv</command>, <command>d2u</command>, <command>dos2unix</command>,
-<command>u2d</command>, and <command>unix2dos</command>. Use the
-<literal>--help</literal> switch for usage information.
-</para>
-</sect2>
-
-<sect2><title>Creating shortcuts with cygutils</title>
-<para>
-Another problem area is between Unix-style links, which link one file
-to another, and Microsoft .lnk files, which provide a shortcut to a
-file. They seem similar at first glance but, in reality, are fairly
-different. By default, Cygwin uses a mechanism that creates symbolic
-links that are compatible with standard Microsoft .lnk files. However,
-they do not include much of the information that is available in a
-standard Microsoft shortcut, such as the working directory, an icon,
-etc. The <systemitem>cygutils</systemitem> package includes a
-<command>mkshortcut</command>
-utility for creating standard Microsoft .lnk files.
-</para>
-
-<para>
-If Cygwin handled these native shortcuts like any other symlink,
-you could not archive Microsoft .lnk files into <command>tar</command>
-archives and keep all the information in them. After unpacking,
-these shortcuts would have lost all the extra information and would
-be no different than standard Cygwin symlinks. Therefore these two types
-of links are treated differently. Unfortunately, this means that the
-usual Unix way of creating and using symlinks does not work with
-Windows shortcuts.
-</para>
-</sect2>
-
-<sect2><title>Printing with cygutils</title>
-<para>
-There are several options for printing from Cygwin, including the
-<command>lpr</command> found in <systemitem>cygutils</systemitem> (not to be confused with the
-native Windows <command>lpr.exe</command>). The easiest way to use <systemitem>cygutils</systemitem>'
-<command>lpr</command> is to specify a default device name in the
-<envar>PRINTER</envar> environment variable. You may also specify a device
-on the command line with the <literal>-d</literal> or <literal>-P</literal>
-options, which will override the environment variable setting.
-</para>
-
-<para>
-A device name
-may be a UNC path (<literal>\\server_name\printer_name</literal>), a reserved
-DOS device name (<literal>prn</literal>, <literal>lpt1</literal>), or a
-local port name that is mapped to a printer share. Note that forward slashes
-may be used in a UNC path (<literal>//server_name/printer_name</literal>),
-which is helpful when using <command>lpr</command> from a shell that uses
-the backslash as an escape character.
-</para>
-
-<para>
-<command>lpr</command> sends raw data to the printer; no formatting is done.
-Many, but not all, printers accept plain text as input. If your printer
-supports PostScript, packages such as
-<systemitem>a2ps</systemitem> and <systemitem>enscript</systemitem> can prepare
-text files for printing. The <systemitem>ghostscript</systemitem> package also
-provides some translation
-from PostScript to various native printer languages. Additionally, a native
-Windows application for printing PostScript, <command>gsprint</command>, is
-available from the <ulink url="http://www.cs.wisc.edu/~ghost/">Ghostscript
-website</ulink>.
-</para>
-
-</sect2>
-
-</sect1>
diff --git a/winsup/doc/faq-api.xml b/winsup/doc/faq-api.xml
deleted file mode 100644
index 1a9c6c517..000000000
--- a/winsup/doc/faq-api.xml
+++ /dev/null
@@ -1,348 +0,0 @@
-<!-- faq-api.xml -->
-<qandaentry id="faq.api.everything">
-<question><para>How does everything work?</para></question>
-<answer>
-
-<para>There's a C library which provides a Unix-style API. The
-applications are linked with it and voila - they run on Windows.
-</para>
-<para>The aim is to add all the goop necessary to make your apps run on
-Windows into the C library. Then your apps should run on Unix and
-Windows with no changes at the source level.
-</para>
-<para>The C library is in a DLL, which makes basic applications quite small.
-And it allows relatively easy upgrades to the Win32/Unix translation
-layer, providing that DLL changes stay backward-compatible.
-</para>
-<para>For a good overview of Cygwin, you may want to read the paper on Cygwin
-published by the Usenix Association in conjunction with the 2d Usenix NT
-Symposium in August 1998. It is available in HTML format on the project
-WWW site.
-</para>
-</answer></qandaentry>
-
-<qandaentry id="faq.api.snapshots">
-<question><para>Are development snapshots for the Cygwin library available?</para></question>
-<answer>
-
-<para>Yes. They're made whenever anything interesting happens inside the
-Cygwin library (usually roughly on a nightly basis, depending on how much
-is going on). They are only intended for those people who wish to
-contribute code to the project. If you aren't going to be happy
-debugging problems in a buggy snapshot, avoid these and wait for a real
-release. The snapshots are available from
-<ulink url="http://cygwin.com/snapshots/">http://cygwin.com/snapshots/</ulink>.
-</para>
-</answer></qandaentry>
-
-<qandaentry id="faq.api.cr-lf">
-<question><para>How is the DOS/Unix CR/LF thing handled?</para></question>
-<answer>
-
-<para>Let's start with some background.
-</para>
-<para>In UNIX, a file is a file and what the file contains is whatever the
-program/programmer/user told it to put into it. In Windows, a file is
-also a file and what the file contains depends not only on the
-program/programmer/user but also the file processing mode.
-</para>
-<para>When processing in text mode, certain values of data are treated
-specially. A \n (new line) written to the file will prepend a \r
-(carriage return) so that if you `printf("Hello\n") you in fact get
-"Hello\r\n". Upon reading this combination, the \r is removed and the
-number of bytes returned by the read is 1 less than was actually read.
-This tends to confuse programs dependent on ftell() and fseek(). A
-Ctrl-Z encountered while reading a file sets the End Of File flags even
-though it truly isn't the end of file.
-</para>
-<para>One of Cygwin's goals is to make it possible to easily mix Cygwin-ported
-Unix programs with generic Windows programs. As a result, Cygwin opens
-files in text mode as is normal under Windows. In the accompanying
-tools, tools that deal with binaries (e.g. objdump) operate in Unix
-binary mode and tools that deal with text files (e.g. bash) operate in
-text mode.
-</para>
-<para>Some people push the notion of globally setting the default processing
-mode to binary via mount point options or by setting the CYGWIN
-environment variable. But that creates a different problem. In
-binary mode, the program receives all of the data in the file, including
-a \r. Since the programs will no longer deal with these properly for
-you, you would have to remove the \r from the relevant text files,
-especially scripts and startup resource files. This is a porter "cop
-out", forcing the user to deal with the \r for the porter.
-</para>
-<para>It is rather easy for the porter to fix the source code by supplying the
-appropriate file processing mode switches to the open/fopen functions.
-Treat all text files as text and treat all binary files as binary. To be
-specific, you can select binary mode by adding <literal>O_BINARY</literal> to
-the second argument of an <literal>open</literal> call, or
-<literal>"b"</literal> to second argument of an <literal>fopen</literal> call.
-You can also call <literal>setmode (fd, O_BINARY)</literal>.
-</para>
-<para>Note that because the open/fopen switches are defined by ANSI, they
-exist under most flavors of Unix; open/fopen will just ignore the switch
-since they have no meaning to UNIX.
-</para>
-<para>Explanation adapted from mailing list email by Earnie Boyd
-&lt;earnie_boyd (at) yahoo.com&gt;.
-</para>
-</answer></qandaentry>
-
-<qandaentry id="faq.api.threads">
-<question><para>Is the Cygwin library multi-thread-safe?</para></question>
-<answer>
-
-<para>Yes.
-</para>
-<para>There is also extensive support for 'POSIX threads', see the file
-<literal>cygwin.din</literal> for the list of POSIX thread functions provided.
-</para>
-</answer></qandaentry>
-
-<qandaentry id="faq.api.winnt">
-<question><para>Why is some functionality only supported in Windows NT?</para></question>
-<answer>
-
-<para>Windows 9x: n.
-32 bit extensions and a graphical shell for a 16 bit patch to an
-8 bit operating system originally coded for a 4 bit microprocessor,
-written by a 2 bit company that can't stand 1 bit of competition.
-</para>
-<para>But seriously, Windows 9x lacks most of the security-related calls and
-has several other deficiencies with respect to its version of the Win32
-API. See the calls.texinfo document for more information as to what
-is not supported in Win 9x.
-</para>
-</answer></qandaentry>
-
-<qandaentry id="faq.api.fork">
-<question><para>How is fork() implemented?</para></question>
-<answer>
-
-<para>Cygwin fork() essentially works like a non-copy on write version
-of fork() (like old Unix versions used to do). Because of this it
-can be a little slow. In most cases, you are better off using the
-spawn family of calls if possible.
-</para>
-<para>Here's how it works:
-</para>
-<para>Parent initializes a space in the Cygwin process table for child.
-Parent creates child suspended using Win32 CreateProcess call, giving
-the same path it was invoked with itself. Parent calls setjmp to save
-its own context and then sets a pointer to this in the Cygwin shared
-memory area (shared among all Cygwin tasks). Parent fills in the child's
-.data and .bss subsections by copying from its own address space into
-the suspended child's address space. Parent then starts the child.
-Parent waits on mutex for child to get to safe point. Child starts and
-discovers if has been forked and then longjumps using the saved jump
-buffer. Child sets mutex parent is waiting on and then blocks on
-another mutex waiting for parent to fill in its stack and heap. Parent
-notices child is in safe area, copies stack and heap from itself into
-child, releases the mutex the child is waiting on and returns from the
-fork call. Child wakes from blocking on mutex, recreates any mmapped
-areas passed to it via shared area and then returns from fork itself.
-</para>
-</answer></qandaentry>
-
-<qandaentry id="faq.api.globbing">
-<question><para>How does wildcarding (globbing) work?</para></question>
-<answer>
-
-<para>If the DLL thinks it was invoked from a DOS style prompt, it runs a
-`globber' over the arguments provided on the command line. This means
-that if you type <literal>LS *.EXE</literal> from DOS, it will do what you might
-expect.
-</para>
-<para>Beware: globbing uses <literal>malloc</literal>. If your application defines
-<literal>malloc</literal>, that will get used. This may do horrible things to you.
-</para>
-</answer></qandaentry>
-
-<qandaentry id="faq.api.symlinks">
-<question><para>How do symbolic links work?</para></question>
-<answer>
-
-<para>Cygwin knows of two ways to create symlinks.
-</para>
-<para>The old method is the only valid one up to but not including version 1.3.0.
-If it's enabled (from 1.3.0 on by setting `nowinsymlinks' in the environment
-variable CYGWIN) Cygwin generates link files with a magic header. When you
-open a file or directory that is a link to somewhere else, it opens the file
-or directory listed in the magic header. Because we don't want to have to
-open every referenced file to check symlink status, Cygwin marks symlinks
-with the system attribute. Files without the system attribute are not
-checked. Because remote samba filesystems do not enable the system
-attribute by default, symlinks do not work on network drives unless you
-explicitly enable this attribute.
-</para>
-<para>The new method which is introduced with Cygwin version 1.3.0 is enabled
-by default or if `winsymlinks' is set in the environment variable CYGWIN.
-Using this method, Cygwin generates symlinks by creating Windows shortcuts.
-Cygwin created shortcuts have a special header (which is in that way never
-created by Explorer) and the R/O attribute set. A DOS path is stored in
-the shortcut as usual and the description entry is used to store the POSIX
-path. While the POSIX path is stored as is, the DOS path has perhaps to be
-rearranged to result in a valid path. This may result in a divergence
-between the DOS and the POSIX path when symlinks are moved crossing mount
-points. When a user changes the shortcut, this will be detected by Cygwin
-and it will only use the DOS path then. While Cygwin shortcuts are shown
-without the ".lnk" suffix in `ls' output, non-Cygwin shortcuts are shown
-with the suffix. However, both are treated as symlinks.
-</para>
-<para>Both, the old and the new symlinks can live peacefully together since Cygwin
-treats both as symlinks regardless of the setting of `(no)winsymlinks' in
-the environment variable CYGWIN.
-</para>
-</answer></qandaentry>
-
-<qandaentry id="faq.api.executables">
-<question><para>Why do some files, which are not executables have the 'x' type.</para></question>
-<answer>
-
-<para>When working out the Unix-style attribute bits on a file, the library
-has to fill out some information not provided by the WIN32 API.
-</para>
-<para>It guesses that files ending in .exe and .bat are executable, as are
-ones which have a "#!" as their first characters.
-</para>
-</answer></qandaentry>
-
-<qandaentry id="faq.api.secure">
-<question><para>How secure is Cygwin in a multi-user environment?</para></question>
-<answer>
-
-<para>As of version 1.5.13, the Cygwin developers are not aware of any feature
-in the cygwin dll that would allow users to gain privileges or to access
-objects to which they have no rights under Windows. However there is no
-guarantee that Cygwin is as secure as the Windows it runs on. Cygwin
-processes share some variables and are thus easier targets of denial of
-service type of attacks.
-</para>
-</answer></qandaentry>
-
-<qandaentry id="faq.api.net-functions">
-<question><para>How do the net-related functions work?</para></question>
-<answer>
-
-<para><emphasis role='bold'>(Please note: This section has not yet been updated for the latest net release.)</emphasis>
-</para>
-<para>The network support in Cygwin is supposed to provide the Unix API, not
-the Winsock API.
-</para>
-<para>There are differences between the semantics of functions with the same
-name under the API.
-</para>
-<para>E.g., the select system call on Unix can wait on a standard file handles
-and handles to sockets. The select call in Winsock can only wait on
-sockets. Because of this, cygwin.dll does a lot of nasty stuff behind
-the scenes, trying to persuade various Winsock/win32 functions to do what
-a Unix select would do.
-</para>
-<para>If you are porting an application which already uses Winsock, then
-using the net support in Cygwin is wrong.
-</para>
-<para>But you can still use native Winsock, and use Cygwin. The functions
-which cygwin.dll exports are called 'cygwin_&lt;name&gt;'. There
-are a load of defines which map the standard Unix names to the names
-exported by the DLL-- check out include/netdb.h:
-</para>
-<screen>
-..etc..
-void cygwin_setprotoent (int);
-void cygwin_setservent (int);
-void cygwin_setrpcent (int);
-..etc..
-#ifndef __INSIDE_CYGWIN_NET__
-#define endprotoent cygwin_endprotoent
-#define endservent cygwin_endservent
-#define endrpcent cygwin_endrpcent
-..etc..
-</screen>
-
-<para>The idea is that you'll get the Unix-&gt;Cygwin mapping if you include
-the standard Unix header files. If you use this, you won't need to
-link with libwinsock.a - all the net stuff is inside the DLL.
-</para>
-<para>The mywinsock.h file is a standard winsock.h which has been hacked to
-remove the bits which conflict with the standard Unix API, or are
-defined in other headers. E.g., in mywinsock.h, the definition of
-struct hostent is removed. This is because on a Unix box, it lives in
-netdb. It isn't a good idea to use it in your applications.
-</para>
-<para>As of the b19 release, this information may be slightly out of date.
-</para>
-</answer></qandaentry>
-
-<qandaentry id="faq.api.winsock">
-<question><para>I don't want Unix sockets, how do I use normal Win32 winsock?</para></question>
-<answer>
-
-<para><emphasis role='bold'>(Please note: This section has not yet been updated for the latest net release.)</emphasis>
-</para>
-<para>To use the vanilla Win32 winsock, you just need to #define Win32_Winsock
-and #include "windows.h" at the top of your source file(s). You'll also
-want to add -lwsock32 to the compiler's command line so you link against
-libwsock32.a.
-</para>
-</answer></qandaentry>
-
-<qandaentry id="faq.api.versions">
-<question><para>What version numbers are associated with Cygwin?</para></question>
-<answer>
-
-<para>Cygwin versioning is relatively complicated because of its status as a
-shared library. First of all, since October 1998 every Cygwin DLL has
-been named <literal>cygwin1.dll</literal> and has a 1 in the release name.
-Additionally, there are DLL major and minor numbers that correspond to
-the name of the release, and a release number. In other words,
-cygwin-1.5.10-2 is <literal>cygwin1.dll</literal>, major version 5, minor version
-10, release 2.
-</para>
-<para>The <literal>cygwin1.dll</literal> major version number gets incremented only when a
-change is made that makes existing software incompatible. For example,
-the first major version 5 release, cygwin-1.5.0-1, added 64-bit file I/O
-operations, which required many libraries to be recompiled and relinked.
-The minor version changes every time we make a new backward compatible
-Cygwin release available. There is also a <literal>cygwin1.dll</literal> release
-version number. The release number is only incremented if we update an
-existing release in a way that does not effect the DLL (like a missing
-header file).
-</para>
-<para>There are also Cygwin API major and minor numbers. The major number
-tracks important non-backward-compatible interface changes to the API.
-An executable linked with an earlier major number will not be compatible
-with the latest DLL. The minor number tracks significant API additions
-or changes that will not break older executables but may be required by
-newly compiled ones.
-</para>
-<para>Then there is a shared memory region compatibility version number. It is
-incremented when incompatible changes are made to the shared memory
-region or to any named shared mutexes, semaphores, etc. Finally there
-is a mount point registry version number which keeps track
-of non-backwards-compatible changes to the registry mount table layout.
-This has been <literal>mounts v2</literal> for a long time. For more exciting Cygwin
-version number details, check out the <literal>/usr/include/cygwin/version.h</literal>
-file.
-</para>
-</answer></qandaentry>
-
-<qandaentry id="faq.api.timezone">
-<question><para>Why isn't _timezone set correctly?</para></question>
-<answer>
-
-<para><emphasis role='bold'>(Please note: This section has not yet been updated for the latest net release.)</emphasis>
-</para>
-<para>Did you explicitly call tzset() before checking the value of _timezone?
-If not, you must do so.
-</para>
-</answer></qandaentry>
-
-<qandaentry id="faq.api.mouse">
-<question><para>Is there a mouse interface?</para></question>
-<answer>
-
-<para>There is no way to capture mouse events from Cygwin. There are
-currently no plans to add support for this.
-</para>
-</answer></qandaentry>
-
diff --git a/winsup/doc/faq-problems.xml b/winsup/doc/faq-problems.xml
deleted file mode 100644
index 07c6b0762..000000000
--- a/winsup/doc/faq-problems.xml
+++ /dev/null
@@ -1,44 +0,0 @@
-<!-- faq-problems.xml -->
-<para>Aware of the problem, no solution known.</para>
-
-<qandaentry id="faq.known-problems.hyperthreading">
-<question><para>Hangs with Hyperthreaded Processor</para></question>
-<answer>
-
-<para>Some users using processors with Intel's Hyperthreading turned on have
-reported hangs that do not appear with Hyperthreading off. So far
-the Cygwin developers have not been able to reproduce this problem.
-See <ulink url="http://www.cygwin.com/ml/cygwin/2004-07/msg01100.html">http://www.cygwin.com/ml/cygwin/2004-07/msg01100.html</ulink> and
-related messages for details.
-</para>
-</answer></qandaentry>
-
-<qandaentry id="faq.known-problems.pipe-key">
-<question><para>Pipe key (<literal>|</literal>) doesn't work on non-US keyboards in Win9x/ME</para></question>
-<answer>
-
-<para>This might get fixed someday, but meanwhile, just use rxvt, which does
-not have this problem. This is no real loss, because rxvt has many
-other advantages. (Do not attempt to use the "broken" pipe key
-(<literal>&brokenpipe;</literal>) as a substitute, it is a different character.)
-</para>
-</answer></qandaentry>
-
-<qandaentry id="faq.known-problems.win9x-tape">
-<question><para>Cannot access tape devices with mt on Win9x</para></question>
-<answer>
-
-<para>Win9x does not support the API used by the Cygwin fhandler_dev_tape
-class. Details at
-<ulink url="http://sources.redhat.com/ml/cygwin/2000-12/msg00331.html">http://sources.redhat.com/ml/cygwin/2000-12/msg00331.html</ulink>.
-</para>
-</answer></qandaentry>
-
-<qandaentry id="faq.known-problems.win9x-scp">
-<question><para>On Win9x, scp leaves ssh processes running.</para></question>
-<answer>
-<para>
-You can stop them by hand with the Task Manager.
-</para>
-</answer></qandaentry>
-
diff --git a/winsup/doc/faq-programming.xml b/winsup/doc/faq-programming.xml
deleted file mode 100644
index af08be354..000000000
--- a/winsup/doc/faq-programming.xml
+++ /dev/null
@@ -1,873 +0,0 @@
-<!-- faq-programming.xml -->
-
-<qandaentry id="faq.programming.packages">
-<question><para>How do I contribute a package?</para></question>
-<answer>
-
-<para>If you are willing to be a package maintainer, great! We urgently need
-volunteers to prepare and maintain packages, because the priority of the
-Cygwin Team is Cygwin itself.
-</para>
-<para>The Cygwin Package Contributor's Guide at
-<ulink url="http://cygwin.com/setup.html">http://cygwin.com/setup.html</ulink> details everything you need to know
-about being a package maintainer. The quickest way to get started is to
-read the <emphasis>Initial packaging procedure, script-based</emphasis> section on
-that page. The <literal>generic-build-script</literal> found there works well for
-most packages.
-</para>
-<para>For questions about package maintenance, use the cygwin-apps mailing
-list (start at <ulink url="http://cygwin.com/lists.html">http://cygwin.com/lists.html</ulink>) <emphasis>after</emphasis>
-searching and browsing the cygwin-apps list archives, of course. Be
-sure to look at the <emphasis>Submitting a package</emphasis> checklist at
-<ulink url="http://cygwin.com/setup.html">http://cygwin.com/setup.html</ulink> before sending an ITP (Intent To
-Package) email to cygwin-apps.
-</para>
-<para>You should also announce your intentions to the general cygwin list, in
-case others were thinking the same thing.
-</para>
-</answer></qandaentry>
-
-<qandaentry id="faq.programming.contribute">
-<question><para>How do I contribute to Cygwin?</para></question>
-<answer>
-
-<para>If you want to contribute to Cygwin itself, see
-<ulink url="http://cygwin.com/contrib.html">http://cygwin.com/contrib.html</ulink>.
-</para>
-</answer></qandaentry>
-
-<qandaentry id="faq.programming.huge-executables">
-<question><para>Why are compiled executables so huge?!?</para></question>
-<answer>
-
-<para>By default, gcc compiles in all symbols. You'll also find that gcc
-creates large executables on UNIX.
-</para>
-<para>If that bothers you, just use the 'strip' program, part of the binutils
-package. Or compile with the <literal>-s</literal> option to gcc.
-</para>
-</answer></qandaentry>
-
-<qandaentry id="faq.programming.glibc">
-<question><para>Where is glibc?</para></question>
-<answer>
-
-<para>Cygwin does not provide glibc. It uses newlib instead, which provides
-much (but not all) of the same functionality. Porting glibc to Cygwin
-would be difficult.
-</para>
-</answer></qandaentry>
-
-<qandaentry id="faq.programming.objective-c">
-<question><para>Where is Objective C?</para></question>
-<answer>
-
-<para>Objective C is not distributed with the Cygwin version of gcc, and there
-are no plans to do so. The gcc package maintainer had difficulty
-building it, and once built there were problems using it. It appears
-that there is only minimal support for the Objective C front-end in the
-main GCC distribution, anyway.
-</para>
-</answer></qandaentry>
-
-<qandaentry id="faq.programming.make-execvp">
-<question><para>Why does my make fail on Cygwin with an execvp error? </para></question>
-<answer>
-
-<para>First of all, if you are using <literal>make -j[N]</literal>, then stop. It doesn't
-work well. Also beware of using non-portable shell features in your
-Makefiles (see tips at <ulink
-url="http://cygwin.com/faq/faq.using.html#faq.using.shell-scripts" />).
-</para>
-<para>Errors of <literal>make: execvp: /bin/sh: Illegal Argument</literal> or
-<literal>make: execvp: /bin/sh: Argument list too long</literal> are often
-caused by the command-line being to long for the Windows execution model.
-To circumvent this, mount the path of the executable using the -X switch
-to enable cygexec for all executables in that folder; you will also need
-to exclude non-cygwin executables with the -x switch. Enabling cygexec
-causes cygwin executables to talk directly to one another, which increases
-the command-line limit. To enable cygexec for <literal>/bin</literal> and
-<literal>/usr/bin</literal>, you can use these commands in a batch file:
-</para>
-<screen>
-mount -X -b -f c:\cygwin\bin /bin
-mount -X -b -f c:\cygwin\bin /usr/bin
-mount -x -b -f c:\cygwin\bin\tclsh84.exe /usr/bin/tclsh84.exe
-mount -x -b -f c:\cygwin\bin\tclsh84.exe /bin/tclsh84.exe
-mount -x -b -f c:\cygwin\bin\wish84.exe /usr/bin/wish84.exe
-mount -x -b -f c:\cygwin\bin\wish84.exe /bin/wish84.exe
-</screen>
-
-<para>Note that if you have Tcl/Tk installed, you must specifically exclude
-<literal>tclsh84</literal> and <literal>wish84</literal>, which are linked
-to the Cygwin DLL but are not actually Cygwin programs. If you have added
-other non-Cygwin programs to a path you want to mount cygexec, you can find
-them with a script like this:
-</para>
-<screen>
-#!/bin/sh
-cd /bin; for f in `find . -type f -name '*.exe'`; do
- cygcheck $f | (fgrep -qi cygwin1.dll || echo $f)
-done
-</screen>
-
-<para>
-See <ulink url="http://www.cygwin.com/cygwin-ug-net/using-utils.html#mount" />
-for more information on using mount.
-</para>
-
-</answer></qandaentry>
-
-<qandaentry id="faq.programming.winmain">
-<question><para>Why the undefined reference to <literal>WinMain@16</literal>?</para></question>
-<answer>
-
-<para>If you're using <literal>gcc</literal>, try adding an empty main() function to one
-of your sources. Or, perhaps you have <literal>-lm</literal> too early in the
-link command line. It should be at the end:
-</para>
-<screen>
- bash$ gcc hello.c -lm
- bash$ ./a.exe
- Hello World!
-</screen>
-
-<para>works, but
-</para>
-<screen>
- bash$ gcc -lm hello.c
- /c/TEMP/ccjLEGlU.o(.text+0x10):hello.c: multiple definition of `main'
- /usr/lib/libm.a(libcmain.o)(.text+0x0):libcmain.c: first defined here
- /usr/lib/libm.a(libcmain.o)(.text+0x6a):libcmain.c: undefined reference to `WinMain@16'
- collect2: ld returned 1 exit status
-</screen>
-
-<para>If you're using GCJ, you need to pass a "--main" flag:
-</para>
-<screen>
-gcj --main=Hello Hello.java
-</screen>
-
-</answer></qandaentry>
-
-<qandaentry id="faq.programming.win32-api">
-<question><para>How do I use Win32 API calls?</para></question>
-<answer>
-
-<para><emphasis role='bold'>(Please note: This section has not yet been updated for the latest net release.)</emphasis>
-</para>
-<para>It's pretty simple actually. Cygwin tools require that you explicitly
-link the import libraries for whatever Win32 API functions that you
-are going to use, with the exception of kernel32, which is linked
-automatically (because the startup and/or built-in code uses it).
-</para>
-<para>For example, to use graphics functions (GDI) you must link
-with gdi32 like this:
-</para>
-<para>gcc -o foo.exe foo.o bar.o -lgdi32
-</para>
-<para>or (compiling and linking in one step):
-</para>
-<para>gcc -o foo.exe foo.c bar.c -lgdi32
-</para>
-<para>The following libraries are available for use in this way:
-</para>
-<para>advapi32 largeint ole32 scrnsave vfw32
-cap lz32 oleaut32 shell32 win32spl
-comctl32 mapi32 oledlg snmp winmm
-comdlg32 mfcuia32 olepro32 svrapi winserve
-ctl3d32 mgmtapi opengl32 tapi32 winspool
-dlcapi mpr penwin32 th32 winstrm
-gdi32 msacm32 pkpd32 thunk32 wow32
-glaux nddeapi rasapi32 url wsock32
-glu32 netapi32 rpcdce4 user32 wst
-icmp odbc32 rpcndr uuid
-imm32 odbccp32 rpcns4 vdmdbg
-kernel32 oldnames rpcrt4 version
-</para>
-<para>The regular setup allows you to use the option -mwindows on the
-command line to include a set of the basic libraries (and also
-make your program a GUI program instead of a console program),
-including user32, gdi32 and, IIRC, comdlg32.
-</para>
-<para>Note that you should never include -lkernel32 on your link line
-unless you are invoking ld directly. Do not include the same import
-library twice on your link line. Finally, it is a good idea to
-put import libraries last on your link line, or at least after
-all the object files and static libraries that reference them.
-</para>
-<para>The first two are related to problems the linker has (as of b18 at least)
-when import libraries are referenced twice. Tables get messed up and
-programs crash randomly. The last point has to do with the fact that
-gcc processes the files listed on the command line in sequence and
-will only resolve references to libraries if they are given after
-the file that makes the reference.
-</para>
-</answer></qandaentry>
-
-<qandaentry id="faq.programming.win32-no-cygwin">
-<question><para>How do I compile a Win32 executable that doesn't use Cygwin?</para></question>
-<answer>
-
-<para>The -mno-cygwin flag to gcc makes gcc link against standard Microsoft
-DLLs instead of Cygwin. This is desirable for native Windows programs
-that don't need a UNIX emulation layer.
-</para>
-<para>This is not to be confused with 'MinGW' (Minimalist GNU for Windows),
-which is a completely separate effort. That project's home page is
-<ulink url="http://www.mingw.org/index.shtml">http://www.mingw.org/index.shtml</ulink>.
-</para>
-</answer></qandaentry>
-
-<qandaentry id="faq.programming.static-linking">
-<question><para>Can I build a Cygwin program that does not require cygwin1.dll at runtime?</para></question>
-<answer>
-
-<para>No. If your program uses the Cygwin API, then your executable cannot
-run without cygwin1.dll. In particular, it is not possible to
-statically link with a Cygwin library to obtain an independent,
-self-contained executable.
-</para>
-<para>If this is an issue because you intend to distribute your Cygwin
-application, then you had better read and understand
-<ulink url="http://cygwin.com/licensing.html">http://cygwin.com/licensing.html</ulink>, which explains the licensing
-options. Unless you purchase a special commercial license from Red
-Hat, then your Cygwin application must be Open Source.
-</para>
-</answer></qandaentry>
-
-<qandaentry id="faq.programming.msvcrt-and-cygwin">
-<question><para>Can I link with both MSVCRT*.DLL and cygwin1.dll?</para></question>
-<answer>
-
-<para>No, you must use one or the other, they are mutually exclusive.
-</para>
-</answer></qandaentry>
-
-<qandaentry id="faq.programming.no-console-window">
-<question><para>How do I make the console window go away?</para></question>
-<answer>
-
-<para>The default during compilation is to produce a console application.
-It you are writing a GUI program, you should either compile with
--mwindows as explained above, or add the string
-"-Wl,--subsystem,windows" to the GCC command line.
-</para>
-</answer></qandaentry>
-
-<qandaentry id="faq.programming.make-spaces">
-<question><para>Why does make complain about a "missing separator"?</para></question>
-<answer>
-
-<para>This problem usually occurs as a result of someone editing a Makefile
-with a text editor that replaces tab characters with spaces. Command
-lines must start with tabs. This is not specific to Cygwin.
-</para>
-</answer></qandaentry>
-
-<qandaentry id="faq.programming.win32-headers">
-<question><para>Why can't we redistribute Microsoft's Win32 headers?</para></question>
-<answer>
-
-<para>Subsection 2.d.f of the `Microsoft Open Tools License agreement' looks
-like it says that one may not "permit further redistribution of the
-Redistributables to their end users". We take this to mean that we can
-give them to you, but you can't give them to anyone else, which is
-something that we can't agree to. Fortunately, we
-have our own Win32 headers which are pretty complete.
-</para>
-</answer></qandaentry>
-
-<qandaentry id="faq.programming.msvs-mingw">
-<question><para>How do I use <literal>cygwin1.dll</literal> with Visual Studio or MinGW?</para></question>
-<answer>
-
-<para>Before you begin, note that Cygwin is licensed under the GNU GPL (as
-indeed are all other Cygwin-based libraries). That means that if your
-code links against the cygwin dll (and if your program is calling
-functions from Cygwin, it must, as a matter of fact, be linked against
-it), you must apply the GPL to your source as well. Of course, this
-only matters if you plan to distribute your program in binary form. For
-more information, see <ulink url="http://gnu.org/licenses/gpl-faq.html">http://gnu.org/licenses/gpl-faq.html</ulink>. If
-that is not a problem, read on.
-</para>
-<para>If you want to load the DLL dynamically, read
-<literal>winsup/cygwin/how-cygtls-works.txt</literal> and the sample code in
-<literal>winsup/testsuite/cygload</literal> to understand how this works.
-The short version is:
-</para>
-<orderedlist><listitem><para>Make sure you have 4K of scratch space at the bottom of your stack.
-</para></listitem>
-<listitem><para>Invoke <literal>cygwin_dll_init()</literal>:
-<screen>
-HMODULE h = LoadLibrary("cygwin1.dll");
-void (*init)() = GetProcAddress(h, "cygwin_dll_init");
-init();
-</screen>
-</para></listitem>
-</orderedlist>
-
-<para>If you want to link statically from Visual Studio, to my knowledge
-none of the Cygwin developers have done this, but we have this report
-from the mailing list that it can be done this way:
-</para>
-<orderedlist><listitem><para>Use the impdef program to generate a .def file for the cygwin1.dll
-(if you build the cygwin dll from source, you will already have a def
-file)
-</para>
-<screen>
-impdef cygwin1.dll &gt; cygwin1.def
-</screen>
-
-</listitem>
-<listitem><para>Use the MS VS linker (lib) to generate an import library
-</para>
-<screen>
-lib /def=cygwin1.def /out=cygwin1.lib
-</screen>
-
-</listitem>
-<listitem><para>Create a file "my_crt0.c" with the following contents
-</para>
-<screen>
-#include &lt;sys/cygwin.h&gt;
-#include &lt;stdlib.h&gt;
-
-typedef int (*MainFunc) (int argc, char *argv[], char **env);
-
-void
- my_crt0 (MainFunc f)
- {
- cygwin_crt0(f);
- }
-</screen>
-
-</listitem>
-<listitem><para>Use gcc in a Cygwin prompt to build my_crt0.c into a DLL
- (e.g. my_crt0.dll). Follow steps 1 and 2 to generate .def and
- .lib files for the DLL.
-</para>
-</listitem>
-<listitem><para>Download crt0.c from the cygwin website and include it in
- your sources. Modify it to call my_crt0() instead of
- cygwin_crt0().
-</para>
-</listitem>
-<listitem><para>Build your object files using the MS VC compiler cl.
-</para>
-</listitem>
-<listitem><para>Link your object files, cygwin1.lib, and my_crt0.lib (or
- whatever you called it) into the executable.
-</para></listitem>
-</orderedlist>
-
-<para>Note that if you are using any other Cygwin based libraries
-that you will probably need to build them as DLLs using gcc and
-then generate import libraries for the MS VC linker.
-</para>
-<para>Thanks to Alastair Growcott (alastair dot growcott at bakbone dot co
-dot uk) for this tip.
-</para>
-</answer></qandaentry>
-
-<qandaentry id="faq.programming.linking-lib">
-<question><para>How do I link against a <literal>.lib</literal> file?</para></question>
-<answer>
-
-<para>If your <literal>.lib</literal> file is a normal static or import library with
-C-callable entry points, you can list <literal>foo.lib</literal> as an object file for
-gcc/g++, just like any <literal>*.o</literal> file. Otherwise, here are some steps:
-</para>
-<orderedlist><listitem><para>Build a C file with a function table. Put all functions you intend
-to use in that table. This forces the linker to include all the object
-files from the .lib. Maybe there is an option to force LINK.EXE to
-include an object file.
-</para></listitem>
-<listitem><para>Build a dummy 'LibMain'.
-</para></listitem>
-<listitem><para>Build a .def with all the exports you need.
-</para></listitem>
-<listitem><para>Link with your .lib using link.exe.
-</para></listitem>
-</orderedlist>
-
-<para>or
-</para>
-<orderedlist><listitem><para>Extract all the object files from the .lib using LIB.EXE.
-</para></listitem>
-<listitem><para>Build a dummy C file referencing all the functions you need, either
- with a direct call or through an initialized function pointer.
-</para></listitem>
-<listitem><para>Build a dummy LibMain.
-</para></listitem>
-<listitem><para>Link all the objects with this file+LibMain.
-</para></listitem>
-<listitem><para>Write a .def.
-</para></listitem>
-<listitem><para>Link.
-</para></listitem>
-</orderedlist>
-
-<para>You can use these methods to use MSVC (and many other runtime libs)
-with Cygwin development tools.
-</para>
-<para>Note that this is a lot of work (half a day or so), but much less than
-rewriting the runtime library in question from specs...
-</para>
-<para>Thanks to Jacob Navia (root at jacob dot remcomp dot fr) for this explanation.
-</para>
-</answer></qandaentry>
-
-<qandaentry id="faq.programming.building-cygwin">
-<question><para>How do I build Cygwin on my own?</para></question>
-<answer>
-
-<para>First, you need to get the Cygwin source. Ideally, you should check out
-what you need from CVS (<ulink url="http://cygwin.com/cvs.html">http://cygwin.com/cvs.html</ulink>). This is the
-<emphasis>preferred method</emphasis> for acquiring the sources. Otherwise, you can
-install the cygwin source package from the distribution.
-</para>
-<para>If you are trying to duplicate a cygwin release then you should just
-download the corresponding source package and use "tar xjf" to unpack
-it. This will unpack the sources into a directory named cygwin-x.y.z-n,
-where x.y.z-n correspond to the version numbering of the tar.bz2
-package.
-</para>
-<screen>
-tar xjf cygwin-1.5.12-1-src.tar.bz2
-cd cygwin-1.5.12-1
-</screen>
-
-<para>You <emphasis>must</emphasis> build cygwin in a separate directory from the source,
-so create something like a <literal>build/</literal> directory. You will also want
-to install to a temporary location:
-</para>
-<screen>
-mkdir build
-mkdir /install
-cd build
-(../configure --prefix=/install -v; make) &gt;&amp; make.out
-make install &gt; install.log 2&gt;&amp;1
-</screen>
-
-<para>Normally, this procedure ignore errors in building the documentation.
-which requires the <literal>docbook-xml</literal>, <literal>docbook-xsl</literal>, and
-<literal>xmlto</literal> packages. For more information on building the
-documentation, see the README included in the cygwin-doc package.
-</para>
-<para>To check a cygwin1.dll, run "make check" in the winsup/testsuite
-directory. If that works, install everything <emphasis>except</emphasis> the dll (if
-you can). Then, close down all cygwin programs (including bash windows,
-inetd, etc.), save your old dll, and copy the new dll to the correct
-place. Then start up a bash window, or run a cygwin program from the
-Windows command prompt, and see what happens.
-</para>
-<para>If you get the error "shared region is corrupted" it means that two
-different versions of cygwin1.dll are running on your machine at the
-same time. Remove all but one.
-</para>
-</answer></qandaentry>
-
-<qandaentry id="faq.programming.debugging-cygwin">
-<question><para>I may have found a bug in Cygwin, how can I debug it (the symbols in gdb look funny)?</para></question>
-<answer>
-
-<para>Debugging symbols are stripped from distibuted Cygwin binaries, so any
-symbols that you see in gdb are basically meaningless. It is also a good
-idea to use the latest code in case the bug has been fixed, so we
-recommend trying the latest snapshot from
-<ulink url="http://cygwin.com/snapshots/" /> or building the DLL from CVS.
-</para>
-<para>To build a debugging version of the Cygwin DLL, you will need to follow
-the instructions at <ulink url="http://cygwin.com/faq/faq-nochunks.html#faq.programming.building-cygwin" />.
-You can also contact the mailing list for pointers (a simple test case that
-demonstrates the bug is always welcome).
-</para>
-</answer></qandaentry>
-
-<qandaentry id="faq.programming.compiling-unsupported">
-<question><para>How can I compile Cygwin for an unsupported platform (PowerPC, Alpha, ARM, Itanium)?</para></question>
-<answer>
-
-<para>Unfortunately, this will be difficult. Exception handling and signals
-support semantics and args have been designed for x86 so you would need
-to write specific support for your platform. We don't know of any other
-incompatibilities. Please send us patches if you do this work!
-</para>
-</answer></qandaentry>
-
-<qandaentry id="faq.programming.adjusting-heap">
-<question><para>How can I adjust the heap/stack size of an application?</para></question>
-<answer>
-
-<para>If you need to change the maximum amount of memory available to Cygwin, see
-<ulink url="http://cygwin.com/cygwin-ug-net/setup-maxmem.html">http://cygwin.com/cygwin-ug-net/setup-maxmem.html</ulink>. Otherwise,
-just pass heap/stack linker arguments to gcc. To create foo.exe with
-a heap size of 1024 and a stack size of 4096, you would invoke
-gcc as:
-</para>
-<para><literal>gcc -Wl,--heap,1024,--stack,4096 -o foo foo.c</literal>
-</para>
-</answer></qandaentry>
-
-<qandaentry id="faq.programming.dll-cygcheck">
-<question><para>How can I find out which DLLs are needed by an executable?</para></question>
-<answer>
-
-<para><literal>objdump -p</literal> provides this information, but is rather verbose.
-</para>
-<para><literal>cygcheck</literal> will do this much more concisely, and operates
-recursively, provided the command is in your path.
-</para>
-<para>Note there is currently a bug in cygcheck in that it will not report
-on a program in a Windows system dir (e.g., C:\Windows or C:\WINNT) even
-if it's in your path. To work around this, supply the full Win32 path
-to the executable, including the .exe extension:
-</para>
-<screen>
-cygcheck c:\\winnt\\system32\\cmd.exe
-</screen>
-
-<para>(Note the windows path separator must be escaped if this is typed in
-bash.)
-</para>
-</answer></qandaentry>
-
-<qandaentry id="faq.programming.dll-building">
-<question><para>How do I build a DLL?</para></question>
-<answer>
-
-<para>There's documentation that explains the process in the Cygwin User's
-Guide here: <ulink url="http://cygwin.com/cygwin-ug-net/dll.html">http://cygwin.com/cygwin-ug-net/dll.html</ulink>
-</para>
-</answer></qandaentry>
-
-<qandaentry id="faq.programming.breakpoint">
-<question><para>How can I set a breakpoint at MainCRTStartup?</para></question>
-<answer>
-
-<para><emphasis role='bold'>(Please note: This section has not yet been updated for the latest net release.)</emphasis>
-</para>
-<para>Set a breakpoint at *0x401000 in gdb and then run the program in
-question.
-</para>
-</answer></qandaentry>
-
-<qandaentry id="faq.programming.dll-relocatable">
-<question><para>How can I build a relocatable dll?</para></question>
-<answer>
-
-<para><emphasis role='bold'>(Please note: This section has not yet been updated for the latest net release. However, there was a discussion on the cygwin mailing list recently that addresses this issue. Read <ulink url="http://cygwin.com/ml/cygwin/2000-06/msg00688.html">http://cygwin.com/ml/cygwin/2000-06/msg00688.html</ulink> and related messages.)</emphasis>
-</para>
-<para>You must execute the following sequence of five commands, in this
-order:
-</para>
-<screen>
-$(LD) -s --base-file BASEFILE --dll -o DLLNAME OBJS LIBS -e ENTRY
-
-$(DLLTOOL) --as=$(AS) --dllname DLLNAME --def DEFFILE \
- --base-file BASEFILE --output-exp EXPFILE
-
-$(LD) -s --base-file BASEFILE EXPFILE -dll -o DLLNAME OBJS LIBS -e ENTRY
-
-$(DLLTOOL) --as=$(AS) --dllname DLLNAME --def DEFFILE \
- --base-file BASEFILE --output-exp EXPFILE
-
-$(LD) EXPFILE --dll -o DLLNAME OBJS LIBS -e ENTRY
-</screen>
-
-<para>In this example, $(LD) is the linker, ld.
-</para>
-<para>$(DLLTOOL) is dlltool.
-</para>
-<para>$(AS) is the assembler, as.
-</para>
-<para>DLLNAME is the name of the DLL you want to create, e.g., tcl80.dll.
-</para>
-<para>OBJS is the list of object files you want to put into the DLL.
-</para>
-<para>LIBS is the list of libraries you want to link the DLL against. For
-example, you may or may not want -lcygwin. You may want -lkernel32.
-Tcl links against -lcygwin -ladvapi32 -luser32 -lgdi32 -lcomdlg32
--lkernel32.
-</para>
-<para>DEFFILE is the name of your definitions file. A simple DEFFILE would
-consist of ``EXPORTS'' followed by a list of all symbols which should
-be exported from the DLL. Each symbol should be on a line by itself.
-Other programs will only be able to access the listed symbols.
-</para>
-<para>BASEFILE is a temporary file that is used during this five stage
-process, e.g., tcl.base.
-</para>
-<para>EXPFILE is another temporary file, e.g., tcl.exp.
-</para>
-<para>ENTRY is the name of the function which you want to use as the entry
-point. This function should be defined using the WINAPI attribute,
-and should take three arguments:
- int WINAPI startup (HINSTANCE, DWORD, LPVOID)
-</para>
-<para>This means that the actual symbol name will have an appended @12, so if
-your entry point really is named <literal>startup</literal>, the string you should
-use for ENTRY in the above examples would be <literal>startup@12</literal>.
-</para>
-<para>If your DLL calls any Cygwin API functions, the entry function will need
-to initialize the Cygwin impure pointer. You can do that by declaring
-a global variable <literal>_impure_ptr</literal>, and then initializing it in the
-entry function. Be careful not to export the global variable
-<literal>_impure_ptr</literal> from your DLL; that is, do not put it in DEFFILE.
-</para>
-<screen>
-/* This is a global variable. */
-struct _reent *_impure_ptr;
-extern struct _reent *__imp_reent_data;
-
-int entry (HINSTANT hinst, DWORD reason, LPVOID reserved)
-{
- _impure_ptr = __imp_reent_data;
- /* Whatever else you want to do. */
-}
-</screen>
-
-<para>You may put an optional `--subsystem windows' on the $(LD) lines. The
-Tcl build does this, but I admit that I no longer remember whether
-this is important. Note that if you specify a --subsytem &lt;x&gt; flag to ld,
-the -e entry must come after the subsystem flag, since the subsystem flag
-sets a different default entry point.
-</para>
-<para>You may put an optional `--image-base BASEADDR' on the $(LD) lines.
-This will set the default image base. Programs using this DLL will
-start up a bit faster if each DLL occupies a different portion of the
-address space. Each DLL starts at the image base, and continues for
-whatever size it occupies.
-</para>
-<para>Now that you've built your DLL, you may want to build a library so
-that other programs can link against it. This is not required: you
-could always use the DLL via LoadLibrary. However, if you want to be
-able to link directly against the DLL, you need to create a library.
-Do that like this:
-</para>
-<para>$(DLLTOOL) --as=$(AS) --dllname DLLNAME --def DEFFILE --output-lib LIBFILE
-</para>
-<para>$(DLLTOOL), $(AS), DLLNAME, and DEFFILE are the same as above. Make
-sure you use the same DLLNAME and DEFFILE, or things won't work right.
-</para>
-<para>LIBFILE is the name of the library you want to create, e.g.,
-libtcl80.a. You can then link against that library using something
-like -ltcl80 in your linker command.
-</para>
-</answer></qandaentry>
-
-<qandaentry id="faq.programming.debug">
-<question><para>How can I debug what's going on?</para></question>
-<answer>
-
-<para>You can debug your application using <literal>gdb</literal>. Make sure you
-compile it with the -g flag! If your application calls functions in
-MS DLLs, gdb will complain about not being able to load debug information
-for them when you run your program. This is normal since these DLLs
-don't contain debugging information (and even if they did, that debug
-info would not be compatible with gdb).
-</para>
-</answer></qandaentry>
-
-<qandaentry id="faq.programming.system-trace">
-<question><para>Can I use a system trace mechanism instead?</para></question>
-<answer>
-
-<para>Yes. You can use the <literal>strace.exe</literal> utility to run other cygwin
-programs with various debug and trace messages enabled. For information
-on using <literal>strace</literal>, see the Cygwin User's Guide or the file
-<literal>winsup/utils/utils.sgml</literal>.
-</para>
-</answer></qandaentry>
-
-<qandaentry id="faq.programming.gdb-signals">
-<question><para>Why doesn't gdb handle signals?</para></question>
-<answer>
-
-<para>Unfortunately, there is only minimal signal handling support in gdb
-currently. Signal handling only works with Windows-type signals.
-SIGINT may work, SIGFPE may work, SIGSEGV definitely does. You cannot
-'stop', 'print' or 'nopass' signals like SIGUSR1 or SIGHUP to the
-process being debugged.
-</para>
-</answer></qandaentry>
-
-<qandaentry id="faq.programming.linker">
-<question><para>The linker complains that it can't find something.</para></question>
-<answer>
-
-<para>A common error is to put the library on the command line before
-the thing that needs things from it.
-</para>
-<para>This is wrong <literal>gcc -lstdc++ hello.cc</literal>.
-This is right <literal>gcc hello.cc -lstdc++</literal>.
-</para>
-</answer></qandaentry>
-
-<qandaentry id="faq.programming.undeclared-functions">
-<question><para>I use a function I know is in the API, but I still get a link error.</para></question>
-<answer>
-
-<para>The function probably isn't declared in the header files, or
-the UNICODE stuff for it isn't filled in.
-</para>
-</answer></qandaentry>
-
-<qandaentry id="faq.programming.libc">
-<question><para>Can you make DLLs that are linked against libc ?</para></question>
-<answer>
-
-<para>Yes.
-</para>
-</answer></qandaentry>
-
-<qandaentry id="faq.programming.malloc-h">
-<question><para>Where is malloc.h?</para></question>
-<answer>
-
-<para><emphasis role='bold'>(Please note: This section has not yet been updated for the latest net release.)</emphasis>
-</para>
-<para>Include stdlib.h instead of malloc.h.
-</para>
-</answer></qandaentry>
-
-<qandaentry id="faq.programming.own-malloc">
-<question><para>Can I use my own malloc?</para></question>
-<answer>
-
-<para>If you define a function called <literal>malloc</literal> in your own code, and link
-with the DLL, the DLL <emphasis>will</emphasis> call your <literal>malloc</literal>. Needless to
-say, you will run into serious problems if your malloc is buggy.
-</para>
-<para>If you run any programs from the DOS command prompt, rather than from in
-bash, the DLL will try and expand the wildcards on the command line.
-This process uses <literal>malloc</literal> <emphasis>before</emphasis> your main line is started.
-If you have written your own <literal>malloc</literal> to need some initialization
-to occur after <literal>main</literal> is called, then this will surely break.
-</para>
-<para>Moreover, there is an outstanding issue with <literal>_malloc_r</literal> in
-<literal>newlib</literal>. This re-entrant version of <literal>malloc</literal> will be called
-directly from within <literal>newlib</literal>, by-passing your custom version, and
-is probably incompatible with it. But it may not be possible to replace
-<literal>_malloc_r</literal> too, because <literal>cygwin1.dll</literal> does not export it and
-Cygwin does not expect your program to replace it. This is really a
-newlib issue, but we are open to suggestions on how to deal with it.
-</para>
-</answer></qandaentry>
-
-<qandaentry id="faq.programming.msvc-gcc-objects">
-<question><para>Can I mix objects compiled with msvc++ and gcc?</para></question>
-<answer>
-
-<para>Yes, but only if you are combining C object files. MSVC C++ uses a
-different mangling scheme than GNU C++, so you will have difficulties
-combining C++ objects.
-</para>
-</answer></qandaentry>
-
-<qandaentry id="faq.programming.gdb-msvc">
-<question><para>Can I use the gdb debugger to debug programs built by VC++?</para></question>
-<answer>
-
-<para>No, not for full (high level source language) debugging.
-The Microsoft compilers generate a different type of debugging
-symbol information, which gdb does not understand.
-</para>
-<para>However, the low-level (assembly-type) symbols generated by
-Microsoft compilers are coff, which gdb DOES understand.
-Therefore you should at least be able to see all of your
-global symbols; you just won't have any information about
-data types, line numbers, local variables etc.
-</para>
-</answer></qandaentry>
-
-<qandaentry id="faq.programming.x86-assembly">
-<question><para>Where can I find info on x86 assembly?</para></question>
-<answer>
-
-<para>CPU reference manuals for Intel's current chips are available in
-downloadable PDF form on Intel's web site:
-</para>
-<para><ulink url="http://developer.intel.com/design/pro/manuals/">http://developer.intel.com/design/pro/manuals/</ulink>
-</para>
-</answer></qandaentry>
-
-<qandaentry id="faq.programming.make-scripts">
-<question><para>Shell scripts aren't running properly from my makefiles?</para></question>
-<answer>
-
-<para>If your scripts are in the current directory, you must have <literal>.</literal>
-(dot) in your $PATH. (It is not normally there by default.) Otherwise,
-you would need to add /bin/sh in front of each and every shell script
-invoked in your Makefiles.
-</para>
-</answer></qandaentry>
-
-<qandaentry id="faq.programming.preprocessor">
-<question><para>What preprocessor do I need to know about?</para></question>
-<answer>
-
-<para>We use _WIN32 to signify access to the Win32 API and __CYGWIN__ for
-access to the Cygwin environment provided by the dll.
-</para>
-<para>We chose _WIN32 because this is what Microsoft defines in VC++ and
-we thought it would be a good idea for compatibility with VC++ code
-to follow their example. We use _MFC_VER to indicate code that should
-be compiled with VC++.
-</para>
-<para>_WIN32 is only defined when you use either the -mno-cygwin or -mwin32
-gcc command line options. This is because Cygwin is supposed to be a
-Unix emulation environment and defining _WIN32 confuses some programs
-which think that they have to make special concessions for a Windows
-environment which Cygwin handles automatically.
-</para>
-<para>Note that using -mno-cygwin replaces __CYGWIN__ with __MINGW32__ as to
-tell which compiler (or settings) you're running.
-Check this out in detail by running, for example
-</para>
-<screen>
- $ gcc -dM -E -xc /dev/null &gt;gcc.txt
- $ gcc -mno-cygwin -dM -E -xc /dev/null &gt;gcc-mno-cygwin.txt
- $ gcc -mwin32 -dM -E -xc /dev/null &gt;gcc-mwin32.txt
-</screen>
-<para>Then use the diff and grep utilities to check
-what the difference is.
-</para>
-</answer></qandaentry>
-
-<qandaentry id="faq.programming.unix-gui">
-<question><para>How should I port my Unix GUI to Windows?</para></question>
-<answer>
-
-<para>There are two basic strategies for porting Unix GUIs to Windows.
-</para>
-<para>The first is to use a portable graphics library such as tcl/tk, X11, or
-V (and others?). Typically, you will end up with a GUI on Windows that
-requires some runtime support. With tcl/tk, you'll want to include the
-necessary library files and the tcl/tk DLLs. In the case of X11, you'll
-need everyone using your program to have an X11 server installed.
-</para>
-<para>The second method is to rewrite your GUI using Win32 API calls (or MFC
-with VC++). If your program is written in a fairly modular fashion, you
-may still want to use Cygwin if your program contains a lot of shared
-(non-GUI-related) code. That way you still gain some of the portability
-advantages inherent in using Cygwin.
-</para>
-</answer></qandaentry>
-
-<qandaentry id="faq.programming.djgpp">
-<question><para>Why not use DJGPP ?</para></question>
-<answer>
-
-<para>DJGPP is a similar idea, but for DOS instead of Win32. DJGPP uses a
-"DOS extender" to provide a more reasonable operating interface for its
-applications. The Cygwin toolset doesn't have to do this since all of
-the applications are native WIN32. Applications compiled with the
-Cygwin tools can access the Win32 API functions, so you can write
-programs which use the Windows GUI.
-</para>
-<para>You can get more info on DJGPP by following
-<ulink url="http://www.delorie.com/">http://www.delorie.com/</ulink>.
-</para></answer></qandaentry>
-
diff --git a/winsup/doc/faq-resources.xml b/winsup/doc/faq-resources.xml
deleted file mode 100644
index 9bf42f722..000000000
--- a/winsup/doc/faq-resources.xml
+++ /dev/null
@@ -1,51 +0,0 @@
-<!-- faq-resources.xml -->
-<qandaentry id="faq.resources.documentation">
-<question><para>Where's the documentation?</para></question>
-<answer>
-
-<para>If you have installed Cygwin, you can find lots of documentation in
-<literal>/usr/share/doc/</literal>. Some packages have Cygwin specific
-instructions in a file
-<literal>/usr/share/doc/Cygwin/<replaceable>package_name</replaceable>.README</literal>.
-In addition, many packages ship with standard documentation, which you can
-find in
-<literal>/usr/share/doc/<replaceable>package_name</replaceable></literal> or
-by using the <literal>man</literal> or <literal>info</literal> tools. (Hint:
-use <literal>cygcheck -l <replaceable>package_name</replaceable></literal> to
-list what man pages the package includes.) Some older packages still keep
-their documentation in <literal>/usr/doc/</literal>
-instead of <literal>/usr/share/doc/</literal>.
-</para>
-<para>There are links to quite a lot of documentation on the main Cygwin
-project web page, <ulink url="http://cygwin.com/">http://cygwin.com/</ulink>,
-including this FAQ. Be sure to at least read any 'Release Notes' or 'Readme'
-or 'read this' links on the main web page, if there are any.
-</para>
-<para>There is a comprehensive Cygwin User's Guide at <ulink
-url="http://cygwin.com/cygwin-ug-net/cygwin-ug-net.html">http://cygwin.com/cygwin-ug-net/cygwin-ug-net.html</ulink>
-and an API Reference at <ulink
-url="http://cygwin.com/cygwin-api/cygwin-api.html">http://cygwin.com/cygwin-api/cygwin-api.html</ulink>.
-</para>
-<para>You can find documentation for the individual GNU tools at <ulink
-url="http://www.fsf.org/manual/">http://www.fsf.org/manual/</ulink>. (You
-should read GNU manuals from a local mirror, check <ulink
-url="http://www.fsf.org/server/list-mirrors.html">http://www.fsf.org/server/list-mirrors.html</ulink>
-for a list of them.)
-</para>
-</answer></qandaentry>
-
-<qandaentry id="faq.resources.mailing-lists">
-<question><para>What Cygwin mailing lists can I join?</para></question>
-<answer>
-<para>Comprehensive information about the Cygwin mailing lists can be found at
-<ulink url="http://cygwin.com/lists.html" />.
-</para>
-</answer></qandaentry>
-
-<qandaentry id="faq.resources.problems">
-<question><para>What if I have a problem? (Or: Why won't you/the mailing list answer my questions?)</para></question>
-<answer>
-<para>Comprehensive information about reporting problems with Cygwin can be found at <ulink url="http://cygwin.com/problems.html" />.
-</para>
-</answer></qandaentry>
-
diff --git a/winsup/doc/faq-sections.xml b/winsup/doc/faq-sections.xml
deleted file mode 100644
index 4c88d68d5..000000000
--- a/winsup/doc/faq-sections.xml
+++ /dev/null
@@ -1,82 +0,0 @@
-<?xml version='1.0'?>
-<!DOCTYPE article PUBLIC '-//OASIS//DTD DocBook XML V4.2//EN'
- "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [
- <!-- see http://www.unicode.org/charts/PDF/U0080.pdf -->
- <!ENTITY pound "&#x00A3;">
- <!ENTITY brokenpipe "&#x00A6;">
-
- <!-- all the files -->
- <!ENTITY FAQ-WHAT SYSTEM "faq-what.xml">
- <!ENTITY FAQ-SETUP SYSTEM "faq-setup.xml">
- <!ENTITY FAQ-RESOURCES SYSTEM "faq-resources.xml">
- <!ENTITY FAQ-USING SYSTEM "faq-using.xml">
- <!ENTITY FAQ-API SYSTEM "faq-api.xml">
- <!ENTITY FAQ-PROGRAMMING SYSTEM "faq-programming.xml">
- <!ENTITY FAQ-PROBLEMS SYSTEM "faq-problems.xml">
-]>
-
-<article id="faq" lang="en">
- <articleinfo>
- <title>Cygwin FAQ</title>
- </articleinfo>
-
-<sect1 id="faq.about">
-<title>About Cygwin</title>
-<qandaset><?dbhtml toc="1"?>
-&FAQ-WHAT;
-</qandaset></sect1>
-
-<sect1 id="faq.setup">
-<title>Setting up Cygwin</title>
-<qandaset><?dbhtml toc="1"?>
-&FAQ-SETUP;
-</qandaset></sect1>
-
-<sect1 id="faq.resources">
-<title>Further Resources</title>
-<qandaset><?dbhtml toc="1"?>
-&FAQ-RESOURCES;
-</qandaset></sect1>
-
-<sect1 id="faq.using">
-<title>Using Cygwin</title>
-<qandaset><?dbhtml toc="1"?>
-&FAQ-USING;
-</qandaset></sect1>
-
-<sect1 id="faq.api">
-<title>Cygwin API Questions</title>
-<qandaset><?dbhtml toc="1"?>
-&FAQ-API;
-</qandaset></sect1>
-
-<sect1 id="faq.programming">
-<title>Programming Questions</title>
-<qandaset><?dbhtml toc="1"?>
-&FAQ-PROGRAMMING;
-</qandaset></sect1>
-
-<sect1 id="faq.known-problems">
-<title>Known Problems in the Latest Net Release</title>
-<qandaset><?dbhtml toc="1"?>
-&FAQ-PROBLEMS;
-</qandaset></sect1>
-
-<sect1 id="faq.copyright">
-<title>Copyright</title>
-<qandaset><?dbhtml toc="1"?>
-
-
-<qandaentry id="faq.what.copyright">
-<question><para>What are the copyrights?</para></question>
-<answer>
-
-<para>Please see
-<ulink url="http://cygwin.com/license.html" /> for more information
-about Cygwin copyright and licensing.
-</para>
-
-</answer></qandaentry>
-</qandaset></sect1>
-
-</article>
diff --git a/winsup/doc/faq-setup.xml b/winsup/doc/faq-setup.xml
deleted file mode 100644
index 61a9e6efd..000000000
--- a/winsup/doc/faq-setup.xml
+++ /dev/null
@@ -1,465 +0,0 @@
-<!-- faq-setup.xml -->
-<qandaentry id="faq.setup.setup">
-<question><para>What is the recommended installation procedure?</para></question>
-<answer>
-
-<para>There is only one recommended way to install Cygwin, which is to use the GUI
-installer ``Cygwin Setup''. It is flexible and easy to use.
-You can pick and choose the packages you wish to install, and update
-them individually. Full source code is available for all packages and
-tools. More information on using Cygwin Setup may be found at
-<ulink url="http://cygwin.com/cygwin-ug-net/setup-net.html">http://cygwin.com/cygwin-ug-net/setup-net.html</ulink>.
-</para>
-<para>If you do it any other way, you're on your own! That said, keep in mind
-that the GUI installer is a "work in progress", so there might be a few
-difficulties, especially if you are behind a firewall or have other
-specific requirements. If something doesn't work right for you, and
-it's not covered here or in the latest development snapshot at
-<ulink url="http://cygwin.com/setup/">http://cygwin.com/setup/</ulink>, then by all means report it to the
-mailing list.
-</para>
-<para>For a searchable list of packages that can be installed with Cygwin,
-see <ulink url="http://cygwin.com/packages/">http://cygwin.com/packages/</ulink>.
-</para>
-</answer></qandaentry>
-
-<qandaentry id="faq.setup.c">
-<question><para>Why not install in C:\?</para></question>
-<answer>
-
-<para>The Cygwin Setup program will prompt you for a "root" directory.
-The default is <literal>C:\cygwin</literal>, but you can change it. You are urged not to
-choose something like <literal>C:\</literal> (the root directory on the system drive) for
-your Cygwin root. If you do, then critical Cygwin system directories
-like <literal>etc</literal>, <literal>lib</literal> and <literal>bin</literal> could easily be corrupted by
-other (non-Cygwin) applications or packages that use <literal>\etc</literal>,
-<literal>\lib</literal> or <literal>\bin</literal>. Perhaps there is no conflict now, but who
-knows what you might install in the future? It's also just good common
-sense to segregate your Cygwin "filesystems" from the rest of your
-Windows system disk.
-</para>
-<para>(In the past, there had been genuine bugs that would cause problems
-for people who installed in <literal>C:\</literal>, but we believe those are gone
-now.)
-</para>
-</answer></qandaentry>
-
-<qandaentry id="faq.setup.old-versions">
-<question><para>Can I use Cygwin Setup to get old versions of packages (like gcc-2.95)?</para></question>
-<answer>
-
-<para>Cygwin Setup can be used to install any packages that are on a
-Cygwin mirror, which usually includes one version previous to the
-current one. The complete list may be searched at
-<ulink url="http://cygwin.com/packages/">http://cygwin.com/packages/</ulink>. There is no complete archive of
-older packages. If you have a problem with the current version of
-a Cygwin package, please report it to the mailing list using the
-guidelines at <ulink url="http://cygwin.com/problems.html">http://cygwin.com/problems.html</ulink>.
-</para>
-<para>That said, if you really need an older package, you may be able to find
-an outdated or archival mirror by searching the web for an old package
-version (for example, <literal>gcc2-2.95.3-10-src.tar.bz2</literal>), but keep in
-mind that this older version will not be supported by the mailing list
-and that installing the older version will not help improve Cygwin.
-</para>
-</answer></qandaentry>
-
-<qandaentry id="faq.setup.virus">
-<question><para>Is Cygwin Setup, or one of the packages, infected with a virus?</para></question>
-<answer>
-
-<para>Unlikely. Unless you can confirm it, please don't report it to the
-mailing list. Anti-virus products have been known to detect false
-positives when extracting compressed tar archives. If this causes
-problems for you, consider disabling your anti-virus software when
-running <literal>setup</literal>. Read the next entry for a fairly safe way to do
-this.
-</para>
-</answer></qandaentry>
-
-<qandaentry id="faq.setup.hang">
-<question><para>My computer hangs when I run Cygwin Setup!</para></question>
-<answer>
-
-<para>Both Network Associates (formerly McAfee) and Norton anti-virus
-products have been reported to "hang" when extracting Cygwin tar
-archives. If this happens to you, consider disabling your anti-virus
-software when running Cygwin Setup. The following procedure should be
-a fairly safe way to do that:
-</para>
-<orderedlist><listitem><para>Download <literal>setup.exe</literal> and scan it explicitly.
-</para>
-</listitem>
-<listitem><para>Turn off the anti-virus software.
-</para>
-</listitem>
-<listitem><para>Run setup to download and extract all the tar files.
-</para>
-</listitem>
-<listitem><para>Re-activate your anti-virus software and scan everything
-in C:\cygwin (or wherever you chose to install), or your entire hard
-disk if you are paranoid.
-</para>
-</listitem>
-</orderedlist>
-
-<para>This should be safe, but only if Cygwin Setup is not substituted by
-something malicious, and no mirror has been compromised.
-</para>
-</answer></qandaentry>
-
-<qandaentry id="faq.setup.what-packages">
-<question><para>What packages should I download? Where are 'make', 'gcc', 'vi', etc? </para></question>
-<answer>
-<para>When using Cygwin Setup for the first time, the default is to install
-a minimal subset of packages. If you want anything beyond that, you
-will have to select it explicitly. See
-<ulink url="http://cygwin.com/packages/">http://cygwin.com/packages/</ulink> for a searchable list of available
-packages.
-</para>
-<para>If you want to build programs, of course you'll need <literal>gcc</literal>,
-<literal>binutils</literal>, <literal>make</literal> and probably other packages from the
-``Devel'' category. Text editors can be found under ``Editors''.
-</para>
-</answer></qandaentry>
-
-<qandaentry id="faq.setup.everything">
-<question><para>How do I just get everything?</para></question>
-<answer>
-
-<para>Long ago, the default was to install everything, much to the
-irritation of most users. Now the default is to install only a basic
-core of packages. Cygwin Setup is designed to make it easy to browse
-categories and select what you want to install or omit from those
-categories. It's also easy to install everything:
-</para>
-<orderedlist>
-<listitem><para>At the ``Select Packages'' screen, in ``Categories'' view, at the line
-marked ``All'', click on the word ``default'' so that it changes to
-``install''. (Be patient, there is some computing to do at this step.
-It may take a second or two to register the change.) This tells Setup
-to install <emphasis>everything</emphasis>, not just what it thinks you should have
-by default.
-</para>
-</listitem>
-<listitem><para>Now click on the ``View'' button (twice) until you get the
-``Partial'' view. This shows exactly which packages are about to be
-downloaded and installed.
-</para>
-</listitem>
-</orderedlist>
-
-<para>This procedure only works for packages that are currently available.
-There is no way to tell Cygwin Setup to install all packages by
-default from now on. As new packages become available that would not
-be installed by default, you have to repeat the above procedure to get
-them.
-</para>
-<para>In general, a better method (in my opinion), is to:
-</para>
-<orderedlist>
-<listitem><para>First download &amp; install all packages that would normally be
-installed by default. This includes fundamental packages and any
-updates to what you have already installed. Then...
-</para>
-</listitem>
-<listitem><para>Run Cygwin Setup again, and apply the above technique to get all
-new packages that would not be installed by default. You can check
-the list in the Partial View before proceeding, in case there's
-something you really <emphasis>don't</emphasis> want.
-</para>
-</listitem>
-<listitem><para>In the latest version of Cygwin Setup, if you click the ``View''
-button (twice) more, it shows packages not currently installed. You
-ought to check whether you <emphasis>really</emphasis> want to install everything!
-</para>
-</listitem>
-</orderedlist>
-
-</answer></qandaentry>
-
-<qandaentry id="faq.setup.disk-space">
-<question><para>How much disk space does Cygwin require?</para></question>
-<answer>
-
-<para>That depends, obviously, on what you've chosen to download and
-install. A full installation today is probably larger than 800MB
-installed, not including the package archives themselves nor the source
-code.
-</para>
-<para>After installation, the package archives remain in your ``Local
-Package Directory'', by default the location of <literal>setup.exe</literal>. You
-may conserve disk space by deleting the subdirectories there. These
-directories will have very weird looking names, being encoded with
-their URLs.
-</para>
-</answer></qandaentry>
-
-<qandaentry id="faq.setup.what-upgraded">
-<question><para>How do I know which version I upgraded from?</para></question>
-<answer>
-
-<para>Detailed logs of the most recent Cygwin Setup session can be found in
-<literal>/var/log/setup.log.full</literal> and less verbose information about
-prior actions is in <literal>/var/log/setup.log</literal>.
-</para>
-
-</answer></qandaentry>
-
-<qandaentry id="faq.setup.setup-fails">
-<question><para>What if setup fails?</para></question>
-<answer>
-
-<para>First, make sure that you are using the latest version of Cygwin Setup.
-The latest version is always available from the 'Install Cygwin now' link on
-the Cygwin Home Page at <ulink
-url="http://cygwin.com/">http://cygwin.com/</ulink>. </para>
-<para>If you are downloading from the Internet, setup will fail if it cannot
-download the list of mirrors at <ulink
-url="http://cygwin.com/mirrors.html">http://cygwin.com/mirrors.html</ulink>.
-It could be that the network is too busy. Something similar could be the
-cause of a download site not working. Try another mirror, or try again
-later.
-</para>
-<para>If setup refuses to download a package that you know needs to be
-upgraded, try deleting that package's entry from /etc/setup. If you are
-reacting quickly to an announcement on the mailing list, it could be
-that the mirror you are using doesn't have the latest copy yet. Try
-another mirror, or try again tomorrow.
-</para>
-<para>If setup has otherwise behaved strangely, check the files
-<literal>setup.log</literal> and <literal>setup.log.full</literal> in
-<literal>/var/log</literal> (<literal>C:\cygwin\var\log</literal> by
-default). It may provide some clues as to what went wrong and why.
-</para>
-<para>If you're still baffled, search the Cygwin mailing list for clues.
-Others may have the same problem, and a solution may be posted there.
-If that search proves fruitless, send a query to the Cygwin mailing
-list. You must provide complete details in your query: version of
-setup, options you selected, contents of setup.log and setup.log.full,
-what happened that wasn't supposed to happen, etc.
-</para>
-</answer></qandaentry>
-
-<qandaentry id="faq.setup.name-with-space">
-<question><para>My Windows logon name has a space in it, will this cause problems?</para></question>
-<answer>
-
-<para>Most definitely yes! UNIX shells (and thus Cygwin) use the space
-character as a word delimiter. Under certain circumstances, it is
-possible to get around this with various shell quoting mechanisms, but
-you are much better off if you can avoid the problem entirely.
-</para>
-<para>On Windows NT/2000/XP you have two choices:
-</para><orderedlist>
-<listitem><para>You can rename the user in the Windows User Manager GUI and then
-run mkpasswd.
-</para>
-</listitem>
-<listitem><para>You can simply edit the /etc/passwd file and change the Cygwin user name
-(first field). It's also a good idea to avoid spaces in the home directory.
-</para>
-</listitem>
-</orderedlist>
-
-<para>On Windows 95/98/ME you can create a new user and run mkpasswd,
-or you can delete the offending entry from /etc/passwd.
-Cygwin will then use the name in the default entry with uid 500.
-</para>
-</answer></qandaentry>
-
-<qandaentry id="faq.setup.home">
-<question><para>My <literal>HOME</literal> environment variable is not what I want.</para></question>
-<answer>
-
-<para>When starting Cygwin from Windows, <literal>HOME</literal> is determined as follows
-in order of decreasing priority:
-</para>
-<orderedlist>
-<listitem><para><literal>HOME</literal> from the Windows environment, translated to POSIX form.
-</para>
-</listitem>
-<listitem><para>The entry in /etc/passwd
-</para>
-</listitem>
-<listitem><para><literal>HOMEDRIVE</literal> and <literal>HOMEPATH</literal> from the Windows environment
-</para>
-</listitem>
-<listitem><para>/
-</para>
-</listitem>
-</orderedlist>
-
-<para>When using Cygwin from the network (telnet, ssh,...), <literal>HOME</literal> is set
-from /etc/passwd.
-</para>
-<para>If your <literal>HOME</literal> is set to a value such as /cygdrive/c, it is likely
-that it was set in Windows. Start a DOS Command Window and type
-"set HOME" to verify if this is the case.
-</para>
-<para>Access to shared drives is often restricted when starting from the network,
-thus Domain users may wish to have a different <literal>HOME</literal> in the
-Windows environment (on shared drive) than in /etc/passwd (on local drive).
-Note that ssh only considers /etc/passwd, disregarding <literal>HOME</literal>.
-</para>
-</answer></qandaentry>
-
-<qandaentry id="faq.setup.uninstall-packages">
-<question><para>How do I uninstall individual packages?</para></question>
-<answer>
-
-<para>Run Cygwin Setup as you would to install packages. In the list of
-packages to install, browse the relevant category or click on the
-``View'' button to get a full listing. Click on the cycle glyph until
-the action reads ``Uninstall''. Proceed by clicking ``Next''.
-</para>
-</answer></qandaentry>
-
-<qandaentry id="faq.setup.uninstall-all">
-<question><para>How do I uninstall <emphasis role='bold'>all</emphasis> of Cygwin?</para></question>
-<answer>
-
-<para>Setup has no automatic uninstall facility. The recommended method to remove all
-of Cygwin is as follows:
-</para>
-<orderedlist>
-<listitem><para>Remove all Cygwin services. If a service is currently running, it must
-first be stopped with <literal>cygrunsrv -E name</literal>, where <literal>name</literal>
-is the name of the service. Then use <literal>cygrunsrv -R name</literal> to uninstall the
-service from the registry. Repeat this for all services that you installed.
-Common services that might have been installed are <literal>sshd</literal>, <literal>cron</literal>,
-<literal>cygserver</literal>, <literal>inetd</literal>, <literal>apache</literal>, and so on.
-</para>
-</listitem>
-<listitem><para>Stop the X11 server if it is running, and terminate any Cygwin programs
-that might be running in the background. Remove all mount information by typing
-<literal>umount -A</literal> and then exit the command prompt and ensure that no Cygwin
-processes remain. Note: If you want to save your mount points for a later
-reinstall, first save the output of <literal>mount -m</literal> as described at
-<ulink url="http://cygwin.com/cygwin-ug-net/using-utils.html#mount">http://cygwin.com/cygwin-ug-net/using-utils.html#mount</ulink>.
-</para>
-</listitem>
-<listitem><para>Delete the Cygwin root folder and all subfolders. If you get an error
-that an object is in use, then ensure that you've stopped all services and
-closed all Cygwin programs. If you get a 'Permission Denied' error then you
-will need to modify the permissions and/or ownership of the files or folders
-that are causing the error. For example, sometimes files used by system
-services end up owned by the SYSTEM account and not writable by regular users.
-</para>
-<para>The quickest way to delete the entire tree if you run into this problem is to
-change the ownership of all files and folders to your account. To do this in
-Windows Explorer, right click on the root Cygwin folder, choose Properties, then
-the Security tab. Select Advanced, then go to the Owner tab and make sure your
-account is listed as the owner. Select the 'Replace owner on subcontainers and
-objects' checkbox and press Ok. After Explorer applies the changes you should
-be able to delete the entire tree in one operation. Note that you can also
-achieve this in Cygwin by typing <literal>chown -R user /</literal> or by using other tools
-such as CACLS.EXE.
-</para>
-</listitem>
-<listitem><para>Delete the Cygwin shortcuts on the Desktop and Start Menu, and anything
-left by setup.exe in the download directory. However, if you plan to reinstall
-Cygwin it's a good idea to keep your setup.exe download directory since you can
-reinstall the packages left in its cache without redownloading them.
-</para>
-</listitem>
-<listitem><para>If you added Cygwin to your system path, you should remove it unless you
-plan to reinstall Cygwin to the same location. Similarly, if you set your
-CYGWIN environment variable system-wide and don't plan to reinstall, you should
-remove it.
-</para>
-</listitem>
-<listitem><para>Finally, if you want to be thorough you can delete the registry tree
-<literal>Software\Cygnus Solutions</literal> under <literal>HKEY_LOCAL_MACHINE</literal> and/or
-<literal>HKEY_CURRENT_USER</literal>. However, if you followed the directions above you
-will have already removed all the mount information which is typically the only
-thing stored in the registry.
-</para>
-</listitem>
-</orderedlist>
-
-</answer></qandaentry>
-
-<qandaentry id="faq.setup.snapshots">
-<question><para>How do I install snapshots?</para></question>
-<answer>
-
-<para>First, are you sure you want to do this? Snapshots are risky. They
-have not been tested. Use them <emphasis role='bold'>only</emphasis> if there is a feature or
-bugfix that you need to try, and you are willing to deal with any
-problems.
-</para>
-<para>Before installing a snapshot, you must first Close <emphasis role='bold'>all</emphasis> Cygwin
-applications, including shells and services (e.g. inetd, sshd), before
-updating <literal>cygwin1.dll</literal>. You may have to restart Windows to clear
-the DLL from memory.
-</para>
-<para>You cannot use Setup to install a snapshot.
-</para>
-<para>You should generally install the full
-<literal>cygwin-inst-YYYYMMDD.tar.bz2</literal> update, rather than just the DLL,
-otherwise some components may be out of sync. Cygwin tar won't be
-able to update <literal>/usr/bin/cygwin1.dll</literal>, but it should succeed with
-everything else.
-</para>
-<orderedlist>
-<listitem><para>Download the snapshot, and run:
-<screen>
- cd /
- tar jxvf /posix/path/to/cygwin-inst-YYYYMMDD.tar.bz2 --exclude=usr/bin/cygwin1.dll
- cd /tmp
- tar jxvf /posix/path/to/cygwin-inst-YYYYMMDD.tar.bz2 usr/bin/cygwin1.dll
-</screen>
-</para>
-</listitem>
-<listitem><para>After closing all Cygwin apps (see above), use Explorer or the
-Windows command shell to move <literal>C:\cygwin\tmp\usr\bin\cygwin1.dll</literal>
-to <literal>C:\cygwin\bin\cygwin1.dll</literal>.
-</para>
-</listitem>
-</orderedlist>
-
-</answer></qandaentry>
-
-<qandaentry id="faq.setup.mirror">
-<question><para>Can Cygwin Setup maintain a ``mirror''?</para></question>
-<answer>
-
-<para>NO. Cygwin Setup cannot do this for you. Use a tool designed for
-this purpose. See <ulink url="http://rsync.samba.org/">http://rsync.samba.org/</ulink>,
-<ulink url="http://wget.sunsite.dk/">http://wget.sunsite.dk/</ulink> for utilities that can do this for you.
-For more information on setting up a custom Cygwin package server, see
-the Cygwin Setup homepage at
-<ulink url="http://sources.redhat.com/cygwin-apps/setup.html">http://sources.redhat.com/cygwin-apps/setup.html</ulink>.
-</para>
-</answer></qandaentry>
-
-<qandaentry id="faq.setup.cd">
-<question><para>How can I make my own portable Cygwin on CD?</para></question>
-<answer>
-
-<para>While some users have successfully done this, for example Indiana
-University's XLiveCD <ulink url="http://xlivecd.indiana.edu/">http://xlivecd.indiana.edu/</ulink>, there is no
-easy way to do it. Full instructions for constructing a porttable Cygwin
-on CD by hand can be found on the mailing list at
-<ulink url="http://www.cygwin.com/ml/cygwin/2003-07/msg01117.html">http://www.cygwin.com/ml/cygwin/2003-07/msg01117.html</ulink>. (Thanks
-to fergus at bonhard dot uklinux dot net for these instructions.)
-</para>
-</answer></qandaentry>
-
-<qandaentry id="faq.setup.registry">
-<question><para>How do I save, restore, delete, or modify the Cygwin information stored in the registry?</para></question>
-<answer>
-
-<para>Currently Cygwin stores its mount table information in the registry. It
-is recommended that you use the <literal>mount</literal> and <literal>umount</literal> commands
-to manipulate the mount information instead of directly modifying the
-registry.
-</para>
-<para>To save the mount information to a file for later restoration, use
-<literal>mount -m &gt; mounts.bat</literal> To remove all mount information use
-<literal>umount -A</literal>. To reincorporate saved mount information just run the
-batch file. For more information on using <literal>mount</literal>, see
-<ulink url="http://cygwin.com/cygwin-ug-net/using-utils.html#mount">http://cygwin.com/cygwin-ug-net/using-utils.html#mount</ulink>.
-</para></answer></qandaentry>
-
diff --git a/winsup/doc/faq-using.xml b/winsup/doc/faq-using.xml
deleted file mode 100644
index 8fc4ffdc5..000000000
--- a/winsup/doc/faq-using.xml
+++ /dev/null
@@ -1,960 +0,0 @@
-<!-- faq-problems.xml -->
-<qandaentry id="faq.using.missing-dlls">
-<question><para>Why can't my application locate cygncurses5.dll? or cygintl.dll? or cygreadline5.dll? or ...?</para></question>
-<answer>
-
-<para>If you upgraded recently, and suddenly vim (or some other Cygwin
-application) cannot find <literal>cygncurses5.dll</literal>, it probably means that you did
-not follow these instructions properly:
-<ulink url="http://cygwin.com/ml/cygwin-announce/2001/msg00124.html">http://cygwin.com/ml/cygwin-announce/2001/msg00124.html</ulink>. To
-repair the damage, you must run Cygwin Setup again, and re-install the
-<literal>libncurses5</literal> package.
-</para>
-<para>Note that Cygwin Setup won't show this option by default. In the
-``Select packages to install'' dialog, click on the <literal>Full/Part</literal>
-button. This lists all packages, even those that are already
-installed. Scroll down to locate the <literal>libncurses5</literal> package.
-Click on the ``cycle'' glyph until it says ``Reinstall''. Continue
-with the installation.
-</para>
-<para>Similarly, if something cannot find <literal>cygintl.dll</literal>, then run
-Cygwin Setup and re-install the <literal>libintl</literal> and <literal>libintl1</literal>
-packages.
-</para>
-<para>For a detailed explanation of the general problem, and how to extend
-it to other missing DLLs (like cygreadline5.dll) and identify their
-containing packages, see
-<ulink url="http://cygwin.com/ml/cygwin/2002-01/msg01619.html">http://cygwin.com/ml/cygwin/2002-01/msg01619.html</ulink>.
-</para>
-</answer></qandaentry>
-
-<qandaentry id="faq.using.slow">
-<question><para>Why is Cygwin suddenly <emphasis>so</emphasis> slow?</para></question>
-<answer>
-
-<para>If you recently upgraded and suddenly <emphasis>every</emphasis> command takes a
-<emphasis>very</emphasis> long time, then something is probably attempting to
-access a network share. You may have the obsolete <literal>//c</literal>
-notation in your PATH or startup files. This now means the
-<emphasis>network share</emphasis> <literal>c</literal>, which will slow things down
-tremendously if it does not exist.
-</para>
-<para>Using //c (for C:) doesn't work anymore. (Similarly for any drive
-letter, e.g. <literal>//z</literal> for <literal>Z:</literal>) This ``feature'' has long been
-deprecated, and no longer works at all in the latest release. As of
-release 1.3.3, <literal>//c</literal> now means the <emphasis>network share</emphasis> <literal>c</literal>.
-For a detailed discussion of why this change was made, and how deal
-with it now, refer to
-<ulink url="http://sources.redhat.com/ml/cygwin/2001-09/msg00014.html">http://sources.redhat.com/ml/cygwin/2001-09/msg00014.html</ulink>.
-</para>
-</answer></qandaentry>
-
-<qandaentry id="faq.using.services">
-<question><para>Why don't my services work?</para></question>
-<answer>
-
-<para>Most Windows services run as a special user called <literal>SYSTEM</literal>. If you
-installed Cygwin for "Just Me", the <literal>SYSTEM</literal> user won't see your
-Cygwin mount table. You need to re-mount all of your mounts as
-"system" for services to work. You can re-run <literal>setup.exe</literal> and
-select "Install for All Users", or this script will do the trick:
-</para>
-<screen>
-eval "`mount -m | sed -e 's/ -u / -s /g' -e 's/$/;/'`"
-</screen>
-</answer></qandaentry>
-
-<qandaentry id="faq.using.shares">
-<question><para>Why can't my services access network shares?</para></question>
-<answer>
-
-<para>When a service switches to a certain user, it is running as
-<literal>SYSTEM</literal> impersonating the user account. During
-impersonation, the user's password is not available and so non-public
-network shares are not available. For more information, see
-<ulink url="http://cygwin.com/cygwin-ug-net/ntsec.html" />.
-</para>
-<para>Workarounds include using public network share that does not require
-authentication (for non-critical files), providing your password to a
-<command>net use</command> command, or running the service as your own
-user with <literal>cygrunsrv -u</literal> (see
-<literal>/usr/share/doc/Cygwin/cygrunsrv.README</literal> for more
-information).
-</para>
-</answer></qandaentry>
-
-<qandaentry id="faq.using.path">
-<question><para>How should I set my PATH?</para></question>
-<answer>
-
-<para>This is done for you in the file /etc/profile, which is sourced by bash
-when you start it from the Desktop or Start Menu shortcut, created by
-<literal>setup.exe</literal>. The line is
-</para>
-<screen>
- PATH="/usr/local/bin:/usr/bin:/bin:$PATH"
-</screen>
-
-<para>Effectively, this <emphasis role='bold'>prepends</emphasis> /usr/local/bin and /usr/bin to your
-Windows system path. If you choose to reset your PATH, say in
-$HOME/.bashrc, or by editing etc/profile directly, then you should
-follow this rule. You <emphasis role='bold'>must</emphasis> have <literal>/usr/bin</literal> in your PATH
-<emphasis role='bold'>before</emphasis> any Windows system directories. (And you must not omit
-the Windows system directories!) Otherwise you will likely encounter
-all sorts of problems running Cygwin applications.
-</para>
-</answer></qandaentry>
-
-<qandaentry id="faq.using.not-found">
-<question><para>Bash says "command not found", but it's right there!</para></question>
-<answer>
-
-<para>If you compile a program, you might find that you can't run it:
-</para>
-<screen>
- bash$ gcc -o hello hello.c
- bash$ hello
- bash: hello: command not found
-</screen>
-
-<para>Unlike Windows, bash does not look for programs in <literal>.</literal> (the current
-directory) by default. You can add <literal>.</literal> to your PATH (see above),
-but this is not recommended (at least on UNIX) for security reasons.
-Just tell bash where to find it, when you type it on the command line:
-</para>
-<screen>
- bash$ gcc -o hello hello.c
- bash$ ./hello
- Hello World!
-</screen>
-
-</answer></qandaentry>
-
-<qandaentry id="faq.using.converting-paths">
-<question><para>How do I convert between Windows and UNIX paths?</para></question>
-<answer>
-
-<para>Use the 'cygpath' utility. Type '<literal>cygpath --help</literal>' for
-information. For example (on my installation):
-<screen>
- bash$ cygpath --windows ~/.bashrc
- D:\starksb\.bashrc
- bash$ cygpath --unix C:/cygwin/bin/cygwin.bat
- /usr/bin/cygwin.bat
- bash$ cygpath --unix C:\\cygwin\\bin\\cygwin.bat
- /usr/bin/cygwin.bat
-</screen>
-Note that bash interprets the backslash '\' as an escape character, so
-you must type it twice in the bash shell if you want it to be recognized
-as such.
-</para>
-</answer></qandaentry>
-
-<qandaentry id="faq.using.bashrc">
-<question><para>Why doesn't bash read my .bashrc file on startup?</para></question>
-<answer>
-
-<para>Your .bashrc is read from your home directory specified by the HOME
-environment variable. It uses /.bashrc if HOME is not set. So you need
-to set HOME correctly, or move your .bashrc to the top of the drive
-mounted as / in Cygwin.
-</para>
-</answer></qandaentry>
-
-<qandaentry id="faq.using.bash-insensitive">
-<question><para>How can I get bash filename completion to be case insensitive?</para></question>
-<answer>
-
-<para>Add the following to your <literal>~/.bashrc</literal> file:
-</para>
-<screen>
- shopt -s nocaseglob
-</screen>
-
-<para>and add the following to your <literal>~/.inputrc</literal> file:
-</para>
-<screen>
- set completion-ignore-case on
-</screen>
-
-</answer></qandaentry>
-
-<qandaentry id="faq.using.filename-spaces">
-<question><para>Can I use paths/filenames containing spaces in them?</para></question>
-<answer>
-
-<para>Cygwin does support spaces in filenames and paths. That said, some
-utilities that use the library may not, since files don't typically
-contain spaces in Unix. If you stumble into problems with this, you
-will need to either fix the utilities or stop using spaces in filenames
-used by Cygwin tools.
-</para>
-<para>In particular, bash interprets space as a word separator. You would have
-to quote a filename containing spaces, or escape the space character.
-For example:
-<screen>
- bash-2.03$ cd '/cygdrive/c/Program Files'
-</screen>
-or
-<screen>
- bash-2.03$ cd /cygdrive/c/Program\ Files
-</screen>
-</para>
-</answer></qandaentry>
-
-<qandaentry id="faq.using.shortcuts">
-<question><para>Why can't I cd into a shortcut to a directory?</para></question>
-<answer>
-
-<para>Cygwin versions &lt; 1.3.0 do not follow MS Windows Explorer Shortcuts
-(*.lnk files). It sees a shortcut as a regular file and this you
-cannot "cd" into it.
-</para>
-<para>Since version 1.3.0, Cygwin uses shortcuts as symlinks by default.
-</para>
-<para>Cygwin shortcuts are different from shortcuts created by native Windows
-applications. Windows applications can usually make use of Cygwin
-shortcuts but not vice versa. This is by choice. The reason is that
-Windows shortcuts may contain a bunch of extra information which would
-get lost, if, for example, Cygwin tar archives and extracts them as
-symlinks.
-</para>
-<para>Changing a Cygwin shortcut in Windows Explorer usually changes a Cygwin
-shortcut into a Windows native shortcut. Afterwards, Cygwin will not
-recognize it as symlink anymore.
-</para>
-</answer></qandaentry>
-
-<qandaentry id="faq.using.find">
-<question><para>I'm having basic problems with find. Why?</para></question>
-<answer>
-
-<para>Make sure you are using the find that came with Cygwin and that you
-aren't picking up the Win32 find command instead. You can verify that
-you are getting the right one by doing a "type find" in bash.
-</para>
-<para>If the path argument to find, including current directory (default), is
-itself a symbolic link, then find will not traverse it unless you
-specify the <literal>-follow</literal> option. This behavior is different than most
-other UNIX implementations, but is not likely to change.
-</para>
-<para>If find does not seem to be producing enough results, or seems to be
-missing out some directories, you may be experiencing a problem with one
-of find's optimisations. The absence of <literal>.</literal> and <literal>..</literal>
-directories on some filesystems, such as DVD-R UDF, can confuse find.
-See the documentation for the option <literal>-noleaf</literal> in the man page.
-</para>
-</answer></qandaentry>
-
-<qandaentry id="faq.using.su">
-<question><para>Why doesn't <literal>su</literal> work?</para></question>
-<answer>
-
-<para>The <literal>su</literal> command has been in and out of Cygwin distributions, but
-it has not been ported to Cygwin and has never worked. It is
-currently installed as part of the sh-utils, but again, it does not work.
-</para>
-<para>You may be able to use <literal>login</literal> instead, but you should read
-<ulink url="http://www.cygwin.com/ml/cygwin/2001-03/msg00337.html">http://www.cygwin.com/ml/cygwin/2001-03/msg00337.html</ulink> first.
-</para>
-<para>For some technical background into why <literal>su</literal> doesn't work, read
-<ulink url="http://www.cygwin.com/ml/cygwin/2003-06/msg00897.html">http://www.cygwin.com/ml/cygwin/2003-06/msg00897.html</ulink> and
-related messages.
-</para>
-</answer></qandaentry>
-
-<qandaentry id="faq.using.man">
-<question><para>Why doesn't man (or apropos) work?</para></question>
-<answer>
-
-<para>Before you can use <literal>man -k</literal> or <literal>apropos</literal>, you
-must create the whatis database. Just run the command
-</para>
-<screen>
- /usr/sbin/makewhatis
-</screen>
-
-<para>(it may take a minute to complete).
-</para>
-</answer></qandaentry>
-
-<qandaentry id="faq.using.chmod">
-<question><para>Why doesn't chmod work?</para></question>
-<answer>
-
-<para><literal>ntsec</literal> will allow UNIX permissions in Windows NT on NTFS file
-systems. This is on by default (a recent change).
-</para>
-<para><literal>ntea</literal> works on NTFS <emphasis>and</emphasis> FAT but it creates a huge,
-<emphasis role='bold'>undeletable</emphasis> file on FAT filesystems.
-</para>
-<para>(The <literal>ntsec</literal> and <literal>ntea</literal> settings are values for the
-<literal>CYGWIN</literal> environment variable. See the Cygwin User's Guide at
-<ulink url="http://cygwin.com/cygwin-ug-net/cygwin-ug-net.html">http://cygwin.com/cygwin-ug-net/cygwin-ug-net.html</ulink> for more
-information on this variable and its settings.)
-</para>
-<para>There is no solution at all for Windows 9x.
-</para>
-<para>If you have an application that requires a certain permission mode on a
-file, you may be able to work around this requirement by modifying the
-application's source code. For a hint, based on work done by Corinna
-Vinschen for OpenSSH, see this message from the cygwin mailing list:
-<ulink url="http://cygwin.com/ml/cygwin/2000-11/msg01176.html">http://cygwin.com/ml/cygwin/2000-11/msg01176.html</ulink>.
-</para>
-</answer></qandaentry>
-
-<qandaentry id="faq.using.mkdir-network">
-<question><para>Why doesn't <literal>mkdir -p</literal> work on a network share?</para></question>
-<answer>
-
-<para>Starting with <literal>coreutils-5.3.0-6</literal> and <literal>cygwin-1.5.17</literal>, you can
-do something like this:
-</para>
-<screen>
-bash$ mkdir -p //MACHINE/Share/path/to/new/dir
-</screen>
-
-<para>However, coreutils expects Unix path names, so something like
-<literal>mkdir -p \\\\machine\\share\\path</literal> will fail.
-</para>
-</answer></qandaentry>
-
-<qandaentry id="faq.using.shell-scripts">
-<question><para>Why doesn't my shell script work?</para></question>
-<answer>
-
-<para>There are two basic problems you might run into. One is the fact that
-<command>/bin/sh</command> is really <command>bash</command> (prior to
-<command>bash-3.0-6</command>, <command>/bin/sh</command> was ash). and is
-missing some features you might expect in <command>/bin/sh</command>,
-particularly if you are used to <command>/bin/sh</command> actually being
-<command>zsh</command> (MacOS X "Panther") or <command>ksh</command> (Tru64).
-</para>
-
-<para>Or, it could be a permission problem, and Cygwin doesn't understand that your script is executable. Because <literal>chmod</literal> may not work (see FAQ entry above), Cygwin must read the contents of files to determine if
-they are executable. If your script does not start with
-</para>
-<screen>
- #! /bin/sh
-</screen>
-
-<para>(or any path to a script interpreter, it does not have to be /bin/sh)
-then Cygwin will not know it is an executable script. The Bourne shell
-idiom
-</para>
-<screen>
- :
- # This is the 2nd line, assume processing by /bin/sh
-</screen>
-
-<para>also works.
-</para>
-<para>Note that you can use <literal>mount -x</literal> to force Cygwin to treat all files
-under the mount point as executable. This can be used for individual
-files as well as directories. Then Cygwin will not bother to read files
-to determine whether they are executable.
-</para>
-</answer></qandaentry>
-
-<qandaentry id="faq.using.printing">
-<question><para>How do I print under Cygwin?</para></question>
-<answer>
-
-<para>There is no working lp or lpr system as you would find on UNIX.
-</para>
-<para>Jason Tishler has written a couple of messages that explain how to use
-a2ps (for nicely formatted text in PostScript) and ghostscript (to print
-PostScript files on non-PostScript Windows printers). Start at
-<ulink url="http://cygwin.com/ml/cygwin/2001-04/msg00657.html">http://cygwin.com/ml/cygwin/2001-04/msg00657.html</ulink>. Note that the
-<literal>file</literal> command is now available as part of Cygwin setup.
-</para>
-<para>Alternatively, on NT, you can use the Windows <literal>print</literal> command. (It
-does not seem to be available on Win9x.) Type
-</para>
-<screen>
- bash$ print /\?
-</screen>
-
-<para>for usage instructions (note the <literal>?</literal> must be escaped from the
-shell).
-</para>
-<para>Finally, you can simply <literal>cat</literal> the file to the printer's share name:
-</para>
-<screen>
- bash$ cat myfile &gt; //host/printer
-</screen>
-
-<para>You may need to press the formfeed button on your printer or append the
-formfeed character to your file.
-</para>
-</answer></qandaentry>
-
-<qandaentry id="faq.using.unicode">
-<question><para>Why don't international (Unicode) characters work?</para></question>
-<answer>
-
-<para>Internationalization is a complex issue. The short answer is that
-Cygwin is not Unicode-aware, so things that might work in Linux will
-not necessarily work on Cygwin. However, some things do work. To type
-international characters (&pound;&auml;&ouml;) in <literal>bash</literal>, add the following
-lines to your <literal>~/.inputrc</literal> file and restart <literal>bash</literal>:
-</para>
-<screen>
- set meta-flag on
- set convert-meta off
- set output-meta on
- set input-meta on
- set kanji-code sjis
- set meta-flag on
-</screen>
-
-<para>These are options to the <literal>readline</literal> library, which you can read
-about in the <literal>bash(1)</literal> and <literal>readline(3)</literal> man pages. Other
-tools that do not use <literal>readline</literal> for display, such as <literal>less</literal>
-and <literal>ls</literal>, require additional settings, which could be put in your
-<literal>~/.bashrc</literal>:
-<screen>
-alias less='/bin/less -r'
-alias ls='/bin/ls -F --color=tty --show-control-chars'
-export LANG="ja_JP.SJIS"
-export OUTPUT_CHARSET="sjis"
-</screen>
-These examples use the Japanese Shift-JIS character set, obviously
-you will want to change them for your own locale.
-</para>
-
-</answer></qandaentry>
-
-<qandaentry id="faq.using.cursor">
-<question><para>Why don't cursor keys work under Win95/Win98?</para></question>
-<answer>
-
-<para><emphasis role='bold'>(Please note: This section has not yet been updated for the latest net release.)</emphasis>
-</para>
-<para>Careful examination shows that they not just non-functional, but
-rather behave strangely, for example, with NumLock off, keys on numeric
-keyboard work, until you press usual cursor keys, when even numeric
-stop working, but they start working again after hitting alphanumeric
-key, etc. This reported to happen on localized versions of Win98 and
-Win95, and not specific to Cygwin; there are known cases of Alt+Enter
-(fullscreen/windowed toggle) not working and shifts sticking with
-other programs. The cause of this problem is Microsoft keyboard
-localizer which by default installed in 'autoexec.bat'. Corresponding
-line looks like:
-</para>
-<screen>
-keyb ru,,C:\WINDOWS\COMMAND\keybrd3.sys
-</screen>
-
-<para>(That's for russian locale.) You should comment that line if you want
-your keys working properly. Of course, this will deprive you of your
-local alphabet keyboard support, so you should think about
-another localizer. ex-USSR users are of course knowledgeable of Keyrus
-localizer, and it might work for other locales too, since it has keyboard
-layout editor. But it has russian messages and documentation ;-(
-Reference URL is http://www.hnet.ru/software/contrib/Utils/KeyRus/
-(note the you may need to turn off Windows logo for Keyrus to operate
-properly).
-</para>
-</answer></qandaentry>
-
-<qandaentry id="faq.using.multiple-copies">
-<question><para>Is it OK to have multiple copies of the DLL?</para></question>
-<answer>
-
-<para>You should only have one copy of the Cygwin DLL on your system. If you
-have multiple versions, they will conflict and cause problems.
-</para>
-<para>If you get the error "shared region is corrupted" or "shared region
-version mismatch" it means you have multiple versions of cygwin1.dll
-running at the same time. This could happen, for example, if you update
-cygwin1.dll without exiting <emphasis>all</emphasis> Cygwin apps (including inetd)
-beforehand.
-</para>
-<para>The only DLL that is sanctioned by the Cygwin project is the one that
-you get by running <ulink url="http://cygwin.com/setup.exe">http://cygwin.com/setup.exe</ulink>, installed in the
-directory controlled by this program. If you have other versions on
-your system and desire help from the cygwin project, you should delete
-or rename all DLLs that are not installed by <filename>setup.exe</filename>.
-</para>
-<para>If you're trying to find multiple versions of the DLL that are causing
-this problem, reboot first, in case DLLs still loaded in memory are the
-cause. Then use the Windows System find utility to search your whole
-machine, not just components in your PATH (as 'type' would do) or
-cygwin-mounted filesystems (as Cygwin 'find' would do).
-</para>
-</answer></qandaentry>
-
-<qandaentry id="faq.using.missing-packages">
-<question><para>Why isn't package XYZ available in Cygwin?</para></question>
-<answer>
-
-<para>Probably because there is nobody willing or able to maintain it. It
-takes time, and the priority for the Cygwin Team is the Cygwin package.
-The rest is a volunteer effort. Want to contribute? See
-<ulink url="http://cygwin.com/setup.html">http://cygwin.com/setup.html</ulink>.
-</para>
-</answer></qandaentry>
-
-<qandaentry id="faq.using.old-packages">
-<question><para>Why is the Cygwin package of XYZ so out of date?</para></question>
-<answer>
-
-<para>(Also: Why is the version of package XYZ older than the version that I
-can download from the XYZ web site? Why is the version of package XYZ
-older than the version that I installed on my linux system? Is there
-something special about Cygwin which requires that only an older version
-of package XYZ will work on it?)
-</para>
-<para>Every package in the Cygwin distribution has a maintainer who is
-responsible for sending out updates of the package. This person is a
-volunteer who is rarely the same person as the official developer of the
-package. If you notice that a version of a package seems to be out of
-date, the reason is usually pretty simple -- the person who is
-maintaining the package hasn't gotten around to updating it yet. Rarely,
-the newer package actually requires complex changes that the maintainer
-is working out.
-</para>
-<para>If you urgently need an update, sending a polite message to the cygwin
-mailing list pinging the maintainer is perfectly acceptable. There are
-no guarantees that the maintainer will have time to update the package
-or that you'll receive a response to your request, however.
-</para>
-<para>Remeber that the operative term here is "volunteer".
-</para>
-</answer></qandaentry>
-
-<qandaentry id="faq.using.accessing-drives">
-<question><para>How can I access other drives?</para></question>
-<answer>
-
-<para>You have some flexibility here.
-</para>
-<para>Cygwin has a builtin "cygdrive prefix" for drives that are not mounted.
-You can access any drive, say Z:, as '/cygdrive/z/'.
-</para>
-<para>In some applications (notably bash), you can use the familiar windows
-&lt;drive&gt;:/path/, using posix forward-slashes ('/') instead of Windows
-backward-slashes ('\'). (But see the warning below!) This maps in the
-obvious way to the Windows path, but will be converted internally to use
-the Cygwin path, following mounts (default or explicit). For example:
-<screen>
- bash$ cd C:/Windows
- bash$ pwd
- /cygdrive/c/Windows
-</screen>
-and
-<screen>
- bash$ cd C:/cygwin
- bash$ pwd
- /
-</screen>
-for a default setup. You could also use backward-slashes in the
-Windows path, but these would have to be escaped from the shell.
-</para>
-<para><emphasis role='bold'>Warning:</emphasis> There is some ambiguity in going from a Windows path
-to the posix path, because different posix paths, through different
-mount points, could map to the same Windows directory. This matters
-because different mount points may be binmode or textmode, so the
-behavior of Cygwin apps will vary depending on the posix path used to
-get there.
-</para>
-<para>You can avoid the ambiguity of Windows paths, and avoid typing
-"/cygdrive", by explicitly mounting drives to posix paths. For example:
-<screen>
- bash$ mkdir /c
- bash$ mount c:/ /c
- bash$ ls /c
-</screen>
-Then <literal>/cygdrive/c/Windows</literal> becomes <literal>/c/Windows</literal> which is a
-little less typing.
-</para>
-<para>Note that you only need to mount drives once. The mapping is kept
-in the registry so mounts stay valid pretty much indefinitely.
-You can only get rid of them with umount, or the registry editor.
-</para>
-<para>The '-b' option to mount mounts the mountpoint in binary mode
-("binmode") where text and binary files are treated equivalently. This
-should only be necessary for badly ported Unix programs where binary
-flags are missing from open calls. It is also the setting for /,
-/usr/bin and /usr/lib in a default Cygwin installation. The default for
-new mounts is text mode ("textmode"), which is also the mode for all
-"cygdrive" mounts.
-</para>
-<para>You can change the default <literal>cygdrive</literal> prefix and whether it is
-binmode or textmode using the <literal>mount</literal> command. For example,
-<screen>
- bash$ mount -b --change-cygdrive-prefix cygdrive
-</screen>
-will change all <literal>/cygdrive/...</literal> mounts to binmode.
-</para>
-</answer></qandaentry>
-
-<qandaentry id="faq.using.copy-and-paste">
-<question><para>How can I copy and paste into Cygwin console windows?</para></question>
-<answer>
-
-<para>First, consider using rxvt instead of the standard console window. In
-rxvt, selecting with the left-mouse also copies, and middle-mouse
-pastes. It couldn't be easier!
-</para>
-<para>Under Windows NT, open the properties dialog of the console window.
-The options contain a toggle button, named "Quick edit mode". It must
-be ON. Save the properties.
-</para>
-<para>Under Windows 9x, open the properties dialog of the console window.
-Select the Misc tab. Uncheck Fast Pasting. Check QuickEdit.
-</para>
-<para>You can also bind the insert key to paste from the clipboard by adding
-the following line to your .inputrc file:
-<screen>
- "\e[2~": paste-from-clipboard
-</screen>
-</para>
-</answer></qandaentry>
-
-<qandaentry id="faq.using.firewall">
-<question><para>What firewall should I use with Cygwin? </para></question>
-<answer>
-
-<para>We have had good reports about Kerio Personal Firewall, ZoneLabs
-Integrity Desktop, and the built-in firewall in Windows XP. Other
-well-known products including ZoneAlarm and Norton Internet Security have
-caused problems for some users but work fine for others. At last report,
-Agnitum Outpost did not work with Cygwin. If you are having strange
-connection-related problems, disabling the firewall is a good
-troubleshooting step (as is closing or disabling all other running
-applications, especially resource-intensive processes such as indexed
-search).
-</para>
-<para>On the whole, Cygwin doesn't care which firewall is used. The few rare
-exceptions have to do with socket code.
-Cygwin uses sockets to implement many of its functions, such as IPC.
-Some overzealous firewalls install themselves deeply into the winsock
-stack (with the 'layered service provider' API) and install hooks
-throughout. Sadly the mailing list archives are littered with examples
-of poorly written firewall-type software that causes things to break.
-Note that with many of these products, simply disabling the firewall
-does not remove these changes; it must be completely uninstalled.
-</para>
-</answer></qandaentry>
-
-<qandaentry id="faq.using.sharing-files">
-<question><para>How can I share files between Unix and Windows?</para></question>
-<answer>
-
-<para>During development, we have both Linux boxes running Samba and Windows
-machines. We often build with cross-compilers under Linux and copy
-binaries and source to the Windows system or just toy with them
-directly off the Samba-mounted partition. On dual-boot NT/Windows 9x
-machines, we usually use the FAT filesystem so we can also access the
-files under Windows 9x.
-</para>
-</answer></qandaentry>
-
-<qandaentry id="faq.using.case-sensitive">
-<question><para>Is Cygwin case-sensitive? What are managed mounts?</para></question>
-<answer>
-
-<para>Several Unix programs expect to be able to use to filenames
-spelled the same way, but with different case. A prime example
-of this is perl's configuration script, which wants <literal>Makefile</literal> and
-<literal>makefile</literal>. WIN32 can't tell the difference between files with
-just different case, so the configuration fails.
-</para>
-<para>To help with this problem, starting in <literal>cygwin-1.5.0</literal> it is
-possible to have a case sensitive Cygwin managed mount. This is an
-experimental feature and should be used with caution. You should only
-use it for directories that are initially unpopulated and are due to
-be completely managed by cygwin (hence the name). So, the best use
-would be to create an empty directory, mount it, and then add files to
-it:
-</para>
-<screen>
-mkdir /managed-dir
-mount -o managed c:/cygwin/managed-dir /managed-dir
-cd /managed-dir/
-touch makefile
-touch Makefile
-</screen>
-
-</answer></qandaentry>
-
-<qandaentry id="faq.using.dos-filenames">
-<question><para>What about DOS special filenames?</para></question>
-<answer>
-
-<para>Files cannot be named com1, lpt1, or aux (to name a few); either as
-the root filename or as the extension part. If you do, you'll have
-trouble. Unix programs don't avoid these names which can make things
-interesting. E.g., the perl distribution has a file called
-<literal>aux.sh</literal>. The perl configuration tries to make sure that
-<literal>aux.sh</literal> is there, but an operation on a file with the magic
-letters 'aux' in it will hang.
-</para>
-</answer></qandaentry>
-
-<qandaentry id="faq.using.hangs">
-<question><para>When it hangs, how do I get it back?</para></question>
-<answer>
-
-<para>If something goes wrong and the tools hang on you for some reason (easy
-to do if you try and read a file called aux.sh), first try hitting ^C to
-return to bash or the cmd prompt.
-</para>
-<para>If you start up another shell, and applications don't run, it's a good
-bet that the hung process is still running somewhere. Use the Task
-Manager, pview, or a similar utility to kill the process.
-</para>
-<para>And, if all else fails, there's always the reset button/power switch.
-This should never be necessary under Windows NT.
-</para>
-</answer></qandaentry>
-
-<qandaentry id="faq.using.directory-structure">
-<question><para>Why the weird directory structure?</para></question>
-<answer>
-
-<para>Why do /lib and /usr/lib (and /bin, /usr/bin) point to the same thing?
-</para>
-<para>Why use mounts instead of symbolic links?
-</para>
-<para>Can I use a disk root (e.g., C:\) as Cygwin root? Why is this discouraged?
-</para>
-<para>After a new installation in the default location, your mount points will
-look something like this:
-</para>
-<screen>
- bash$ mount
- C:\cygwin\bin on /usr/bin type system (binmode)
- C:\cygwin\lib on /usr/lib type system (binmode)
- C:\cygwin on / type system (binmode)
-</screen>
-
-<para>(Exactly what you see depends on what options you gave to <literal>setup.exe</literal>.)
-</para>
-<para>Note that /bin and /usr/bin point to the same location, as do /lib and
-/usr/lib. This is intentional, and you should not undo these mounts
-unless you <emphasis>really</emphasis> know what you are doing.
-</para>
-<para>Various applications and packages may expect to be installed in /lib or
-/usr/lib (similarly /bin or /usr/bin). Rather than distinguish between
-them and try to keep track of them (possibly requiring the occasional
-duplication or symbolic link), it was decided to maintain only one
-actual directory, with equivalent ways to access it.
-</para>
-<para>Symbolic links had been considered for this purpose, but were dismissed
-because they do not always work on Samba drives. Also, mounts are
-faster to process because no disk access is required to resolve them.
-</para>
-<para>Note that non-cygwin applications will not observe Cygwin mounts (or
-symlinks for that matter). For example, if you use WinZip to unpack the
-tar distribution of a Cygwin package, it may not get installed to the
-correct Cygwin path. <emphasis>So don't do this!</emphasis>
-</para>
-<para>It is strongly recommended not to make the Cygwin root directory the
-same as your drive's root directory, unless you know what you are doing
-and are prepared to deal with the consequences. It is generally easier
-to maintain the Cygwin hierarchy if it is isolated from, say, C:\. For
-one thing, you avoid possible collisions with other (non-cygwin)
-applications that may create (for example) \bin and \lib directories.
-(Maybe you have nothing like that installed now, but who knows about
-things you might add in the future?)
-</para>
-</answer></qandaentry>
-
-<qandaentry id="faq.using.anti-virus">
-<question><para>How do anti-virus programs like Cygwin?</para></question>
-<answer>
-
-<para>Users have reported that NAI (formerly McAfee) VirusScan for NT (and
-others?) is incompatible with Cygwin. This is because it tries to scan
-the newly loaded shared memory in cygwin1.dll, which can cause fork() to
-fail, wreaking havoc on many of the tools. (It is not confirmed that
-this is still a problem, however.)
-</para>
-<para>There have been several reports of NAI VirusScan causing the system to
-hang when unpacking tar.gz archives. This is surely a bug in VirusScan,
-and should be reported to NAI. The only workaround is to disable
-VirusScan when accessing these files. This can be an issue during
-setup, and is discussed in that FAQ entry.
-</para>
-<para>Some users report a significant performance hit using Cygwin when their
-anti-virus software is enabled. Rather than disable the anti-virus
-software completely, it may be possible to specify directories whose
-contents are exempt from scanning. In a default installation, this
-would be <literal>C:\cygwin\bin</literal>. Obviously, this could be
-exploited by a hostile non-Cygwin program, so do this at your own risk.
-</para>
-</answer></qandaentry>
-
-<qandaentry id="faq.using.emacs">
-<question><para>Is there a Cygwin port of GNU Emacs?</para></question>
-<answer>
-
-<para>Yes! It uses the X11 (<ulink url="http://cygwin.com/xfree/">http://cygwin.com/xfree/</ulink>) Windows
-interface. From a remote login shell, this ``emacs -nw'' works fine.
-There is also a non-X11 version which just provides the text-only
-terminal interface. Use Cygwin Setup to install either one (or both).
-</para>
-</answer></qandaentry>
-
-<qandaentry id="faq.using.ntemacs">
-<question><para>What about NT Emacs?</para></question>
-<answer>
-
-<para>If you want GNU Emacs with a native Microsoft Windows interface, but
-without X, then you must use the native Windows port, commonly known
-as ``NT Emacs''. You get NT Emacs from any GNU mirror. It is not
-available from Cygwin Setup.
-</para>
-<para>NT Emacs uses the Windows command shell by default. Since it is not a
-Cygwin application, it has no knowledge of Cygwin mounts. With those
-points in mind, you need to add the following code to your ~/.emacs
-(or ~/_emacs) file in order to use Cygwin bash. This is particularly useful
-for the JDEE package (<ulink url="http://jdee.sunsite.dk/">http://jdee.sunsite.dk/</ulink>). The following
-settings are for Emacs 21.1:
-</para>
-<screen>
- ;; This assumes that Cygwin is installed in C:\cygwin (the
- ;; default) and that C:\cygwin\bin is not already in your
- ;; Windows Path (it generally should not be).
- ;;
- (setq exec-path (cons "C:/cygwin/bin" exec-path))
- (setenv "PATH" (concat "C:\\cygwin\\bin;" (getenv "PATH")))
- ;;
- ;; NT-emacs assumes a Windows command shell, which you change
- ;; here.
- ;;
- (setq process-coding-system-alist '(("bash" . undecided-unix)))
- (setq shell-file-name "bash")
- (setenv "SHELL" shell-file-name)
- (setq explicit-shell-file-name shell-file-name)
- ;;
- ;; This removes unsightly ^M characters that would otherwise
- ;; appear in the output of java applications.
- ;;
- (add-hook 'comint-output-filter-functions
- 'comint-strip-ctrl-m)
-</screen>
-
-<para>If you want NT Emacs to understand Cygwin paths, get
-cygwin-mount.el from <ulink url="http://www.emacswiki.org/elisp/index.html">http://www.emacswiki.org/elisp/index.html</ulink>.
-</para>
-<para>Note that all of this ``just works'' if you use the Cygwin port of
-Emacs from Cygwin Setup.
-</para>
-</answer></qandaentry>
-
-<qandaentry id="faq.using.xemacs">
-<question><para>What about XEmacs?</para></question>
-<answer>
-
-<para>For a concise description of the current situation with XEmacs, see
-this message from the Cygwin mailing list:
-<ulink url="http://cygwin.com/ml/cygwin/2002-11/msg00609.html">http://cygwin.com/ml/cygwin/2002-11/msg00609.html</ulink>.
-</para>
-</answer></qandaentry>
-
-<qandaentry id="faq.using.console-window">
-<question><para>Is there a better alternative to the standard console window?</para></question>
-<answer>
-
-<para>Yes! Use rxvt instead. It's an optional package in Cygwin Setup.
-You can use it with or without X11. You can resize it easily by
-dragging an edge or corner. Copy and paste is easy with the left and
-middle mouse buttons, respectively. It will honor settings in your
-~/.Xdefaults file, even without X.
-</para>
-<para>Don't invoke as simply ``rxvt'' because that will run /bin/sh (really
-ash) which is not a good interactive shell. For details see
-<literal>/usr/doc/Cygwin/rxvt-&lt;ver&gt;.README</literal>.
-</para>
-</answer></qandaentry>
-
-<qandaentry id="faq.using.info-error">
-<question><para>info error "dir: No such file or directory"</para></question>
-<answer>
-
-<para>Cygwin packages install their info documentation in the
-<literal>/usr/share/info</literal> directory. But you need to create a <literal>dir</literal>
-file there before the standalone info program (probably
-<literal>/usr/bin/info</literal>) can be used to read those info files. This is how
-you do it:
-<screen>
- bash$ cd /usr/share/info
- bash$ for f in *.info ; do install-info $f dir ; done
-</screen>
-This may generate warnings:
-<screen>
- install-info: warning: no info dir entry in `gzip.info'
- install-info: warning: no info dir entry in `time.info'
-</screen>
-The <literal>install-info</literal> command cannot parse these files, so you will
-have to add their entries to <literal>/usr/share/info/dir</literal> by hand.
-</para>
-<para>Even if the dir file already exists, you may have to update it when
-you install new Cygwin packages. Some packages update the dir file
-for you, but many don't.
-</para>
-</answer></qandaentry>
-
-<qandaentry id="faq.using.out-of-queue">
-<question><para>Why do I get a message saying Out of Queue slots?</para></question>
-<answer>
-
-<para>"Out of queue slots!" generally occurs when you're trying to remove
-many files that you do not have permission to remove (either because
-you don't have permission, they are opened exclusively, etc). What
-happens is Cygwin queues up these files with the supposition that it
-will be possible to delete these files in the future. Assuming that
-the permission of an affected file does change later on, the file will
-be deleted as requested. However, if too many requests come in to
-delete inaccessible files, the queue overflows and you get the message
-you're asking about. Usually you can remedy this with a quick chmod,
-close of a file, or other such thing. (Thanks to Larry Hall for
-this explanation).
-</para>
-</answer></qandaentry>
-
-<qandaentry id="faq.using.symlinks-samba">
-<question><para>Why don't symlinks work on samba-mounted filesystems?</para></question>
-<answer>
-
-<para>Symlinks are marked with "system" file attribute. Samba does not
-enable this attribute by default. To enable it, consult your Samba
-documentation and then add these lines to your samba configuration
-file:
-</para>
-<screen>
- map system = yes
- create mask = 0775
-</screen>
-
-<para>Note that the 0775 can be anything as long as the 0010 bit is set.
-</para>
-</answer></qandaentry>
-
-<qandaentry id="faq.using.df-incorrect">
-<question><para>Why does df report sizes incorrectly.</para></question>
-<answer>
-
-<para>There is a bug in the Win32 API function GetFreeDiskSpace that
-makes it return incorrect values for disks larger than 2 GB in size.
-Perhaps that may be your problem?
-</para>
-</answer></qandaentry>
-
-<qandaentry id="faq.using.tcl-tk">
-<question><para>Why doesn't Cygwin tcl/tk understand Cygwin paths?</para></question>
-<answer>
-
-<para>The versions of Tcl/Tk distributed with Cygwin (e.g. cygtclsh80.exe,
-cygwish80.exe) are not actually "Cygwin versions" of those tools.
-They are built with the <literal>-mno-cygwin</literal> option to <literal>gcc</literal>, which
-means they do not understand Cygwin mounts or symbolic links.
-</para>
-<para>See the entry "How do I convert between Windows and UNIX paths?"
-elsewhere in this FAQ.
-</para></answer></qandaentry>
-
diff --git a/winsup/doc/faq-what.xml b/winsup/doc/faq-what.xml
deleted file mode 100644
index 3260abf8e..000000000
--- a/winsup/doc/faq-what.xml
+++ /dev/null
@@ -1,206 +0,0 @@
-<!-- faq-what.xml -->
-<qandaentry id="faq.what">
-<question><para>What is it?</para></question>
-<answer>
-
-<para>The Cygwin tools are ports of the popular GNU development tools for
-Microsoft Windows. They run thanks to the Cygwin library which
-provides the UNIX system calls and environment these programs expect.
-</para>
-<para>With these tools installed, it is possible to write Win32 console or
-GUI applications that make use of the standard Microsoft Win32 API
-and/or the Cygwin API. As a result, it is possible to easily
-port many significant Unix programs without the need
-for extensive changes to the source code. This includes configuring
-and building most of the available GNU software (including the packages
-included with the Cygwin development tools themselves). Even if
-the development tools are of little to no use to you, you may have
-interest in the many standard Unix utilities provided with the package.
-They can be used both from the bash shell (provided) or from the
-standard Windows command shell.
-</para>
-</answer></qandaentry>
-
-<qandaentry id="faq.what.supported">
-<question><para>What versions of Windows are supported?</para></question>
-<answer>
-
-<para>Cygwin can be expected to run on all modern 32 bit versions of
-Windows, except Windows CE. This includes Windows 95/98/ME/NT/2000/XP/2003
-and the WOW64 32 bit environment on released 64 bit versions of Windows.
-As far as we know no one is working on a native 64 bit version of Cygwin.
-Since Cygwin is a community-supported free software project, patches to
-provide support for other versions would be thoughtfully considered.
-Paid support contracts or enhancements are available through Red Hat. For
-information about getting a Red Hat support contract, see
-<ulink url="http://cygwin.com/license.html" />.
-</para>
-<para>Keep in mind that Cygwin can only do as much as the underlying OS
-supports. Because of this, Cygwin will behave differently, and
-exhibit different limitations, on the various versions of Windows.
-</para>
-</answer></qandaentry>
-
-<qandaentry id="faq.what.where">
-<question><para>Where can I get it?</para></question>
-<answer>
-
-<para>The home page for the Cygwin project is <ulink url="http://cygwin.com/">http://cygwin.com/</ulink>.
-There you should find everything you need for Cygwin, including links
-for download and setup, a current list of mirror sites, a User's
-Guide, an API Reference, mailing lists and archives, and additional
-ported software.
-</para>
-<para>You can find documentation for the individual GNU tools at
-<ulink url="http://www.gnu.org/manual/" />. (You should read GNU manuals from a
-local mirror. Check <ulink url="http://www.gnu.org/server/list-mirrors.html" />
-for a list of them.)
-</para>
-</answer></qandaentry>
-
-<qandaentry id="faq.what.free">
-<question><para>Is it free software?</para></question>
-<answer>
-
-<para>Yes. Parts are GNU software (gcc, gas, ld, etc...), parts are covered
-by the standard X11 license, some of it is public domain, some of
-it was written by Cygnus and placed under the GPL. None of it is
-shareware. You don't have to pay anyone to use it but you should be
-sure to read the copyright section of the FAQ for more information on
-how the GNU General Public License may affect your use of these tools.
-</para>
-<para>In particular, if you intend to port a proprietary (non-GPL'd)
-application using Cygwin, you will need the proprietary-use license
-for the Cygwin library. This is available for purchase; please visit
-<ulink url="http://cygwin.com/license.html" /> for more information.
-All other questions should be sent to the project
-mailing list cygwin@cygwin.com.
-</para>
-<para>Note that when we say "free" we mean freedom, not price. The goal of
-such freedom is that the people who use a given piece of software
-should be able to change it to fit their needs, learn from it, share
-it with their friends, etc. The Cygwin license allows you those
-freedoms, so it is free software.
-</para>
-</answer></qandaentry>
-
-<qandaentry id="faq.what.version">
-<question><para>What version of Cygwin <emphasis>is</emphasis> this, anyway?</para></question>
-<answer>
-
-<para>To find the version of the Cygwin DLL installed, you can use
-<filename>uname</filename> as on Linux or <filename>cygcheck</filename>. Refer to each command's
-<literal>--help</literal> output and the <ulink url='http://cygwin.com/cygwin-ug-net/'>Cygwin User's Guide</ulink> for more information.
-</para>
-<para>If you are looking for the version number for the whole Cygwin
-release, there is none. Each package in the Cygwin release has its own
-version. The packages in Cygwin are continually improving, thanks to
-the efforts of net volunteers who maintain the Cygwin binary ports.
-Each package has its own version numbers and its own release process.
-</para>
-<para>So, how do you get the most up-to-date version of Cygwin? Easy. Just
-download the Cygwin Setup program from
-<ulink url='http://cygwin.com/setup.exe'>http://cygwin.com/setup.exe</ulink>. This program will handle the task
-of updating the packages on your system to the latest version. For
-more information about using Cygwin's <filename>setup.exe</filename>, see
-<ulink url='http://cygwin.com/cygwin-ug-net/setup-net.html'>Setting Up Cygwin</ulink>
-in the Cygwin User's Guide.
-</para></answer></qandaentry>
-
-<qandaentry id="faq.what.history">
-<question><para>History</para></question>
-<answer>
-<para>See <ulink url="http://cygwin.com/history.html">http://cygwin.com/history.html</ulink>.
-</para>
-</answer></qandaentry>
-
-<qandaentry id="faq.what.who">
-<question><para>Who's behind the project?</para></question>
-<answer>
-
-<para><emphasis role='bold'>(Please note that if you have cygwin-specific questions, all of these people will appreciate it if you use the cygwin mailing lists rather than sending personal email.)</emphasis>
-</para>
-<para>Chris Faylor is behind many of the recent changes in Cygwin. Prior to
-joining Cygnus, he contributed significant fixes to the process control
-and environ code, reworked the strace mechanism, and rewrote the
-signal-related code from scratch as a Net contributor. In addition to
-continuing to make technical contributions, Chris is also currently the
-group's manager.
-</para>
-<para>Corinna Vinschen has contributed several useful fixes to the path
-handling code, console support, improved security handling, and raw
-device support. Corinna is currently employed by Red Hat as a
-GDB/Cygwin engineer.
-</para>
-<para>DJ Delorie has done important work in profiling Cygwin,
-worked on the Dejagnu automated testing framework, merged the dlltool
-functionality into ld, wrote a good deal of the Cygwin Users' Guide,
-authored the cygcheck utility, and made automated snapshots available
-from our project WWW page. DJ is currently employed by Red Hat as
-a GCC engineer.
-</para>
-<para>Egor Duda has contributed many useful fixes. He is responsible for
-Cygwin's ability to start a debugger on detection of a fatal error
-as well as produce core dumps.
-</para>
-<para>Robert Collins has contributed many improvements to thread handling
-as well as generic fixes to cygwin itself.
-</para>
-<para>Kazuhiro Fujieda has contributed many bug fixes and bug reports.
-</para>
-<para>Earnie Boyd has contributed many bug fixes and is the mingw and w32api
-maintainer.
-</para>
-<para>David Starks-Browning is our dedicated FAQ maintainer.
-</para>
-<para>Geoffrey Noer took over the Cygwin project from its initial author Steve
-Chamberlain in mid-1996. As maintainer, he produced Net releases beta
-16 through 20; made the development snapshots; worked with Net
-contributors to fix bugs; made many various code improvements himself;
-wrote a paper on Cygwin for the 1998 Usenix NT Symposium; authored the
-project WWW pages, FAQ, README; etc. Geoffrey is not currently employed
-by Red Hat.
-</para>
-<para>Steve Chamberlain designed and implemented
-Cygwin in 1995-1996 while working for Cygnus. He worked with the Net
-to improve the technology, ported/integrated many of the user tools
-for the first time to Cygwin, and produced all of the releases up to
-beta 14. Steve is not currently employed by Red Hat.
-</para>
-<para>Marco Fuykschot and Peter Boncz of Data Distilleries contributed nearly
-all of the changes required to make Cygwin thread-safe. They also
-provided the pthreads interface.
-</para>
-<para>Sergey Okhapkin has been an invaluable Net contributor. He implemented
-the tty/pty support, has played a significant role in revamping signal
-and exception handling, and has made countless contributions throughout
-the library. He also provided binaries of the development snapshots to
-the Net after the beta 19 release.
-</para>
-<para>Mumit Khan has been most helpful on the EGCS end of things, providing
-quite a large number of stabilizing patches to the compiler tools for
-the B20 release.
-</para>
-<para>Philippe Giacinti contributed the implementation of dlopen, dlclose,
-dlsym, dlfork, and dlerror in Cygwin.
-</para>
-<para>Ian Lance Taylor did a much-needed rework of the path handling code for
-beta 18, and has made many assorted fixes throughout the code. Jeremy
-Allison made significant contributions in the area of file handling and
-process control, and rewrote select from scratch. Doug Evans rewrote
-the path-handling code in beta 16, among other things. Kim Knuttila and
-Michael Meissner put in many long hours working on the now-defunct
-PowerPC port. Jason Molenda and Mark Eichin have also made important
-contributions.
-</para>
-<para>Please note that all of us working on Cygwin try to
-be as responsive as possible and deal with patches and questions as we
-get them, but realistically we don't have time to answer all of the
-email that is sent to the main mailing list. Making Net releases of the
-Win32 tools and helping people on the Net out is not our primary job
-function, so some email will have to go unanswered.
-</para>
-<para>Many thanks to everyone using the tools for their many contributions in
-the form of advice, bug reports, and code fixes. Keep them coming!
-</para></answer></qandaentry>
-
diff --git a/winsup/doc/faq.texinfo b/winsup/doc/faq.texinfo
deleted file mode 100644
index 4a415f006..000000000
--- a/winsup/doc/faq.texinfo
+++ /dev/null
@@ -1,15 +0,0 @@
-\input texinfo
-
-@title The Cygwin FAQ
-
-@author You can always find the latest version of this FAQ at @file{http://cygwin.com/faq.html}.
-
-@setfilename faq.txt
-
-@include what.texinfo
-@include install.texinfo
-@include how.texinfo
-@include relnotes.texinfo
-@include history.texinfo
-@include who.texinfo
-@include copy.texinfo
diff --git a/winsup/doc/faq.xml b/winsup/doc/faq.xml
deleted file mode 100644
index 64491219c..000000000
--- a/winsup/doc/faq.xml
+++ /dev/null
@@ -1,78 +0,0 @@
-<?xml version='1.0'?>
-<!DOCTYPE article PUBLIC '-//OASIS//DTD DocBook XML V4.2//EN'
- "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [
- <!-- see http://www.unicode.org/charts/PDF/U0080.pdf -->
- <!ENTITY pound "&#x00A3;">
- <!ENTITY brokenpipe "&#x00A6;">
-
- <!-- all the files -->
- <!ENTITY FAQ-WHAT SYSTEM "faq-what.xml">
- <!ENTITY FAQ-SETUP SYSTEM "faq-setup.xml">
- <!ENTITY FAQ-RESOURCES SYSTEM "faq-resources.xml">
- <!ENTITY FAQ-USING SYSTEM "faq-using.xml">
- <!ENTITY FAQ-API SYSTEM "faq-api.xml">
- <!ENTITY FAQ-PROGRAMMING SYSTEM "faq-programming.xml">
- <!ENTITY FAQ-PROBLEMS SYSTEM "faq-problems.xml">
-]>
-
-<article id="faq-nochunks" lang="en">
- <articleinfo>
- <title>Cygwin FAQ</title>
- </articleinfo>
-
-<qandaset>
-<?dbhtml toc="1"?>
-
-<qandadiv id="faq.about">
-<title>About Cygwin</title>
-&FAQ-WHAT;
-</qandadiv>
-
-<qandadiv id="faq.setup">
-<title>Setting up Cygwin</title>
-&FAQ-SETUP;
-</qandadiv>
-
-<qandadiv id="faq.resources">
-<title>Further Resources</title>
-&FAQ-RESOURCES;
-</qandadiv>
-
-<qandadiv id="faq.using">
-<title>Using Cygwin</title>
-&FAQ-USING;
-</qandadiv>
-
-<qandadiv id="faq.api">
-<title>Cygwin API Questions</title>
-&FAQ-API;
-</qandadiv>
-
-<qandadiv id="faq.programming">
-<title>Programming Questions</title>
-&FAQ-PROGRAMMING;
-</qandadiv>
-
-<qandadiv id="faq.known-problems">
-<title>Known Problems in the Latest Net Release</title>
-&FAQ-PROBLEMS;
-</qandadiv>
-
-<qandadiv id="faq.copyright">
-<title>Copyright</title>
-
-
-<qandaentry id="faq.what.copyright">
-<question><para>What are the copyrights?</para></question>
-<answer>
-
-<para>Please see
-<ulink url="http://cygwin.com/license.html" /> for more information
-about Cygwin copyright and licensing.
-</para>
-
-</answer></qandaentry>
-</qandadiv>
-</qandaset>
-
-</article>
diff --git a/winsup/doc/fhandler-tut.txt b/winsup/doc/fhandler-tut.txt
deleted file mode 100644
index 00a3b4b94..000000000
--- a/winsup/doc/fhandler-tut.txt
+++ /dev/null
@@ -1,94 +0,0 @@
-fhandler tutorial
-
-This document will show how to add a new "fhandler" to cygwin, by
-showing an example of /dev/zero.
-
-Files to note:
-
-fhandler.h - must define a new derived class here and FH_*
-devices.in - to notice "/dev/zero" and mark it
-fhandler_zero.cc - new
-dtable.cc - to create the fhandler instance
-
-OK, first we have to define what this new fhandler will do. In our
-example case, we're going to implement the unix "/dev/zero" device,
-which has the following characteristics:
-
-* writes to /dev/zero are silently discarded
-* reads from /dev/zero return all zero bytes
-* mmap()ing /dev/zero maps a chunk of zero'd out memory.
-
-Since windows doesn't have a device that acts like this, we'll be
-simulating everything. Thus:
-
-* writes simply return a success status
-* reads memset() the buffer and return success
-* we take advantage of the fact that CreateFileMapping can take a
- handle of -1, which (1) maps swap memory, and (2) zeros it out for
- us (at least, on NT).
-
-OK, let's start with devices.h.
-
-We have to create a new entry in the enum fh_devices. The new
-devices must get a major and a minor ID. As a rule of thumb, just
-copy the ones that are used on a linux system.
-
-Now, let's continue with fhandler.h.
-
-First, update the fhandler_union near the end of the file with a
-line for the new device. Use existing members, in this case __dev_null
-as a template. This union is sorted alphabetically.
-
-Earlier in that file, we'll copy fhandler_dev_null and edit it to be
-fhandler_dev_zero. I chose that one because it's small, but we'll add
-more members as we go (since we're simulating the whole thing). In
-fact, let's copy the I/O methods from fhandler_windows since we'll
-need all those anyway, even though we'll go through the full list
-later.
-
-OK, next we need to edit devices.in. There is a section where each device
-is listed with its cygwin path, its structure and its windows path.
-"/dev/zero", FH_ZERO, "\\dev\\zero"
-This is needed to recognize when the user is trying to open "/dev/zero".
-You have to build devices.cc from devices.in now.
-There is a script 'gendevices' in the winsup/cygwin directory which may
-be called at some time in the future if you use 'make' to build the DLL.
-This should rebuild the devices.cc file. You have to have shilka
-available to do that; this is part of the cygwin cocom package.
-
-To go along with that change, we'll need to change dtable.cc. Look for
-FH_NULL and add a case for FH_ZERO as well.
-
-Now we get to fhandler_zero.cc itself. Create the empty file and copy
-the "usual" header/copyright/includes from some other fhandler_*.cc
-source file. Also, edit Makefile.in to build this new file. Add one
-new entry to DLL_OFILES, and a new line for the winsup.h dependencies.
-
-Since we changed fhandler.h, when you type "make" it will rebuild
-everything. Go ahead and do that when you get a chance to let it run,
-since we're not changing the headers any more. Note that you won't be
-able to link the new dll, as we haven't added all the methods for the
-new fhandler class yet, but at least you'll get a lot of compilation
-out of the way.
-
-Next we start adding in the fhandler methods themselves.
-
-Constructor: This takes a name, and all we do is pass that name back
-to the base class, along with the FH_ZERO value. We call set_cb
-because all fhandlers call this (it's for exec to copy the fd).
-
-open: we override the one that takes a name because there are no real
-windows devices like /dev/zero, but we ignore the name. We call
-set_flags to save the flags.
-
-write: writes are discarded; we return success.
-
-read: reads read NUL bytes, so fill the buffer with NULs and return
-success.
-
-lseek/close: just return success.
-
-dump: this is just for debugging, so we just print something.
-
-select_*: we don't support this yet, see the myriad examples in
-select.cc for examples. The base fhandler's methods will do for now.
diff --git a/winsup/doc/filemodes.sgml b/winsup/doc/filemodes.sgml
deleted file mode 100644
index 5f34aac84..000000000
--- a/winsup/doc/filemodes.sgml
+++ /dev/null
@@ -1,34 +0,0 @@
-<sect1 id="using-filemodes"><title>File permissions</title>
-
-<para>On Windows 9x systems, files are always readable, and Cygwin uses the
-native read-only mode to determine if they are writable. Files are
-considered to be executable if the filename ends with .bat, .com or .exe, or
-if its content starts with #!. Consequently <command>chmod</command> can
-only affect the "w" mode, it silently ignores actions involving the other
-modes. This means that <command>ls -l</command>
-needs to open and read files. It can thus be relatively slow.</para>
-
-<para>Under NT, file permissions default to the same behavior as Windows
-9x but there is optional functionality in Cygwin that can make file
-systems behave more like on UNIX systems. This is turned on by adding
-the "ntea" option to the <envar>CYGWIN</envar> environment variable.</para>
-
-<para>When the "ntea" feature is activated, Cygwin will start with basic
-permissions as determined above, but can store POSIX file permissions in NT
-Extended Attributes. This feature works quite well on NTFS partitions
-because the attributes can be stored sensibly inside the normal NTFS
-filesystem structure. However, on a FAT partition, NT stores extended
-attributes in a flat file at the root of the partition called <filename>EA
-DATA. SF</filename>. This file can grow to extremely large sizes if you
-have a large number of files on the partition in question, slowing the
-system to a crawl. In addition, the <filename>EA DATA. SF</filename> file
-can only be deleted outside of Windows because of its "in use" status. For
-these reasons, the use of NT Extended Attributes is off by default in
-Cygwin. Finally, note that specifying "ntea" in <envar>CYGWIN</envar> has no
-effect under Windows 9x. </para>
-
-<para>Under NT, the test "[ -w filename]" is only true if filename is
-writable across the board, e.g. <command>chmod +w filename</command>. </para>
-
-</sect1>
-
diff --git a/winsup/doc/gcc.sgml b/winsup/doc/gcc.sgml
deleted file mode 100644
index f1d5431b7..000000000
--- a/winsup/doc/gcc.sgml
+++ /dev/null
@@ -1,156 +0,0 @@
-<sect1 id="gcc"><title>Using GCC with Cygwin</title>
-
-<sect2 id="gcc-cons"><title>Console Mode Applications</title>
-
-<para>Use gcc to compile, just like under UNIX.
-Refer to the GCC User's Guide for information on standard usage and
-options. Here's a simple example:</para>
-
-<example>
-<title>Building Hello World with GCC</title>
-<screen>
-<prompt>C:\&gt;</prompt> <userinput>gcc hello.c -o hello.exe</userinput>
-<prompt>C:\&gt;</prompt> <userinput>hello.exe</userinput>
-Hello, World
-
-<prompt>C:\&gt;</prompt>
-</screen>
-</example>
-
-</sect2>
-
-<sect2 id="gcc-gui"><title>GUI Mode Applications</title>
-
-<para>Cygwin allows you to build programs with full access to the
-standard Windows 32-bit API, including the GUI functions as defined in
-any Microsoft or off-the-shelf publication. However, the process of
-building those applications is slightly different, as you'll be using
-the GNU tools instead of the Microsoft tools.</para>
-
-<para>For the most part, your sources won't need to change at all.
-However, you should remove all __export attributes from functions
-and replace them like this:</para>
-
-<screen>
-int foo (int) __attribute__ ((__dllexport__));
-
-int
-foo (int i)
-</screen>
-
-<para>The Makefile is similar to any other UNIX-like Makefile,
-and like any other Cygwin makefile. The only difference is that you use
-<command>gcc -mwindows</command> to link your program into a GUI
-application instead of a command-line application. Here's an example:</para>
-
-<screen>
-<![CDATA[
-myapp.exe : myapp.o myapp.res
- gcc -mwindows myapp.o myapp.res -o $@
-
-myapp.res : myapp.rc resource.h
- windres $< -O coff -o $@
-]]>
-</screen>
-
-<para>Note the use of <filename>windres</filename> to compile the
-Windows resources into a COFF-format <filename>.res</filename> file.
-That will include all the bitmaps, icons, and other resources you
-need, into one handy object file. Normally, if you omitted the "-O
-coff" it would create a Windows <filename>.res</filename> format file,
-but we can only link COFF objects. So, we tell
-<filename>windres</filename> to produce a COFF object, but for
-compatibility with the many examples that assume your linker can
-handle Windows resource files directly, we maintain the
-<filename>.res</filename> naming convention. For more information on
-<filename>windres</filename>, consult the Binutils manual. </para>
-
-<para>
-The following is a simple GUI-mode "Hello, World!" program to help
-get you started:
-<screen>
-/*-------------------------------------------------*/
-/* hellogui.c - gui hello world */
-/* build: gcc -mwindows hellogui.c -o hellogui.exe */
-/*-------------------------------------------------*/
-#include &lt;windows.h&gt;
-
-char glpszText[1024];
-
-LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
-
-int APIENTRY WinMain(HINSTANCE hInstance,
- HINSTANCE hPrevInstance,
- LPSTR lpCmdLine,
- int nCmdShow)
-{
- sprintf(glpszText,
- "Hello World\nGetCommandLine(): [%s]\n"
- "WinMain lpCmdLine: [%s]\n",
- lpCmdLine, GetCommandLine() );
-
- WNDCLASSEX wcex;
-
- wcex.cbSize = sizeof(wcex);
- wcex.style = CS_HREDRAW | CS_VREDRAW;
- wcex.lpfnWndProc = WndProc;
- wcex.cbClsExtra = 0;
- wcex.cbWndExtra = 0;
- wcex.hInstance = hInstance;
- wcex.hIcon = LoadIcon(NULL, IDI_APPLICATION);
- wcex.hCursor = LoadCursor(NULL, IDC_ARROW);
- wcex.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);
- wcex.lpszMenuName = NULL;
- wcex.lpszClassName = "HELLO";
- wcex.hIconSm = NULL;
-
- if (!RegisterClassEx(&amp;wcex))
- return FALSE;
-
- HWND hWnd;
- hWnd = CreateWindow("HELLO", "Hello", WS_OVERLAPPEDWINDOW,
- CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, NULL, NULL, hInstance, NULL);
-
- if (!hWnd)
- return FALSE;
-
- ShowWindow(hWnd, nCmdShow);
- UpdateWindow(hWnd);
-
- MSG msg;
- while (GetMessage(&amp;msg, NULL, 0, 0))
- {
- TranslateMessage(&amp;msg);
- DispatchMessage(&amp;msg);
- }
-
- return msg.wParam;
-}
-
-LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
-{
- PAINTSTRUCT ps;
- HDC hdc;
-
- switch (message)
- {
- case WM_PAINT:
- hdc = BeginPaint(hWnd, &amp;ps);
- RECT rt;
- GetClientRect(hWnd, &amp;rt);
- DrawText(hdc, glpszText, strlen(glpszText), &amp;rt, DT_TOP | DT_LEFT);
- EndPaint(hWnd, &amp;ps);
- break;
- case WM_DESTROY:
- PostQuitMessage(0);
- break;
- default:
- return DefWindowProc(hWnd, message, wParam, lParam);
- }
- return 0;
-}
-</screen>
-</para>
-
-</sect2>
-</sect1>
diff --git a/winsup/doc/gdb.sgml b/winsup/doc/gdb.sgml
deleted file mode 100644
index 732004f49..000000000
--- a/winsup/doc/gdb.sgml
+++ /dev/null
@@ -1,88 +0,0 @@
-
-<sect1 id="gdb"><title>Debugging Cygwin Programs</title>
-
-<para>When your program doesn't work right, it usually has a "bug" in
-it, meaning there's something wrong with the program itself that is
-causing unexpected results or crashes. Diagnosing these bugs and
-fixing them is made easy by special tools called
-<emphasis>debuggers</emphasis>. In the case of Cygwin, the debugger
-is GDB, which stands for "GNU DeBugger". This tool lets you run your
-program in a controlled environment where you can investigate the
-state of your program while it is running or after it crashes.
-Crashing programs sometimes create "core" files. In Cygwin these are
-regular text files that cannot be used directly by GDB.
-</para>
-
-<para>Before you can debug your program, you need to prepare your
-program for debugging. What you need to do is add
-<literal>-g</literal> to all the other flags you use when compiling
-your sources to objects.</para>
-
-<example><title>Compiling with -g</title>
-<screen>
-<prompt>$</prompt> gcc -g -O2 -c myapp.c
-<prompt>$</prompt> gcc -g myapp.c -o myapp
-</screen>
-</example>
-
-<para>What this does is add extra information to the objects (they get
-much bigger too) that tell the debugger about line numbers, variable
-names, and other useful things. These extra symbols and debugging
-information give your program enough information about the original
-sources so that the debugger can make debugging much easier for
-you.</para>
-
-<para>In Windows versions of GNUPro, GDB comes with a full-featured
-graphical interface. In Cygwin Net distributions, GDB is only
-available as a command-line tool. To invoke GDB, simply type
-<command>gdb myapp.exe</command> at the command prompt. It will
-display some text telling you about itself, then
-<literal>(gdb)</literal> will appear to prompt you to enter commands.
-Whenever you see this prompt, it means that gdb is waiting for you to
-type in a command, like <command>run</command> or
-<command>help</command>. Oh <literal>:-)</literal> type
-<command>help</command> to get help on the commands you can type in,
-or read the <citation>GDB User's Manual</citation> for a complete
-description of GDB and how to use it.</para>
-
-<para>If your program crashes and you're trying to figure out why it
-crashed, the best thing to do is type <command>run</command> and let
-your program run. After it crashes, you can type
-<command>where</command> to find out where it crashed, or
-<command>info locals</command> to see the values of all the local
-variables. There's also a <command>print</command> that lets you look
-at individual variables or what pointers point to.</para>
-
-<para>If your program is doing something unexpected, you can use the
-<command>break</command> command to tell gdb to stop your program when it
-gets to a specific function or line number:</para>
-
-<example><title>"break" in gdb</title>
-<screen>
-<prompt>(gdb)</prompt> break my_function
-<prompt>(gdb)</prompt> break 47
-</screen>
-</example>
-
-<para>Now, when you type <command>run</command> your program will stop
-at that "breakpoint" and you can use the other gdb commands to look at
-the state of your program at that point, modify variables, and
-<command>step</command> through your program's statements one at a
-time.</para>
-
-<para>Note that you may specify additional arguments to the
-<command>run</command> command to provide command-line arguments to
-your program. These two cases are the same as far as your program is
-concerned:</para>
-
-<example><title>Debugging with command line arguments</title>
-<screen>
-<prompt>$</prompt> myprog -t foo --queue 47
-
-<prompt>$</prompt> gdb myprog
-<prompt>(gdb)</prompt> run -t foo --queue 47
-</screen>
-</example>
-
-
-</sect1>
diff --git a/winsup/doc/history.texinfo b/winsup/doc/history.texinfo
deleted file mode 100644
index f5ae98780..000000000
--- a/winsup/doc/history.texinfo
+++ /dev/null
@@ -1,5 +0,0 @@
-@chapter History
-
-This section of the FAQ is no longer maintained.
-
-Instead, see @file{http://cygwin.com/history.html}.
diff --git a/winsup/doc/how-api.texinfo b/winsup/doc/how-api.texinfo
deleted file mode 100644
index 5490946a1..000000000
--- a/winsup/doc/how-api.texinfo
+++ /dev/null
@@ -1,292 +0,0 @@
-@section Cygwin API Questions
-
-@subsection How does everything work?
-
-There's a C library which provides a Unix-style API. The
-applications are linked with it and voila - they run on Windows.
-
-The aim is to add all the goop necessary to make your apps run on
-Windows into the C library. Then your apps should run on Unix and
-Windows with no changes at the source level.
-
-The C library is in a DLL, which makes basic applications quite small.
-And it allows relatively easy upgrades to the Win32/Unix translation
-layer, providing that DLL changes stay backward-compatible.
-
-For a good overview of Cygwin, you may want to read the paper on Cygwin
-published by the Usenix Association in conjunction with the 2d Usenix NT
-Symposium in August 1998. It is available in HTML format on the project
-WWW site.
-
-@subsection Are development snapshots for the Cygwin library available?
-
-Yes. They're made whenever anything interesting happens inside the
-Cygwin library (usually roughly on a nightly basis, depending on how much
-is going on). They are only intended for those people who wish to
-contribute code to the project. If you aren't going to be happy
-debugging problems in a buggy snapshot, avoid these and wait for a real
-release. The snapshots are available from
-@file{http://cygwin.com/snapshots/}.
-
-@subsection How is the DOS/Unix CR/LF thing handled?
-
-Let's start with some background.
-
-In UNIX, a file is a file and what the file contains is whatever the
-program/programmer/user told it to put into it. In Windows, a file is
-also a file and what the file contains depends not only on the
-program/programmer/user but also the file processing mode.
-
-When processing in text mode, certain values of data are treated
-specially. A \n (new line) written to the file will prepend a \r
-(carriage return) so that if you `printf("Hello\n") you in fact get
-"Hello\r\n". Upon reading this combination, the \r is removed and the
-number of bytes returned by the read is 1 less than was actually read.
-This tends to confuse programs dependent on ftell() and fseek(). A
-Ctrl-Z encountered while reading a file sets the End Of File flags even
-though it truly isn't the end of file.
-
-One of Cygwin's goals is to make it possible to easily mix Cygwin-ported
-Unix programs with generic Windows programs. As a result, Cygwin opens
-files in text mode as is normal under Windows. In the accompanying
-tools, tools that deal with binaries (e.g. objdump) operate in Unix
-binary mode and tools that deal with text files (e.g. bash) operate in
-text mode.
-
-Some people push the notion of globally setting the default processing
-mode to binary via mount point options or by setting the CYGWIN
-environment variable. But that creates a different problem. In
-binary mode, the program receives all of the data in the file, including
-a \r. Since the programs will no longer deal with these properly for
-you, you would have to remove the \r from the relevant text files,
-especially scripts and startup resource files. This is a porter "cop
-out", forcing the user to deal with the \r for the porter.
-
-It is rather easy for the porter to fix the source code by supplying the
-appropriate file processing mode switches to the open/fopen functions.
-Treat all text files as text and treat all binary files as binary.
-To be specific, you can select binary mode by adding @code{O_BINARY} to
-the second argument of an @code{open} call, or @code{"b"} to second
-argument of an @code{fopen} call. You can also call @code{setmode (fd,
-O_BINARY)}.
-
-Note that because the open/fopen switches are defined by ANSI, they
-exist under most flavors of Unix; open/fopen will just ignore the switch
-since they have no meaning to UNIX.
-
-Explanation adapted from mailing list email by Earnie Boyd
-<earnie_boyd@@yahoo.com>.
-
-@subsection Is the Cygwin library multi-thread-safe?
-
-Yes.
-
-There is also extensive support for 'POSIX threads', see the file
-@code{cygwin.din} for the list of POSIX thread functions provided.
-
-@subsection Why is some functionality only supported in Windows NT?
-
-Windows 9x: n.
-32 bit extensions and a graphical shell for a 16 bit patch to an
-8 bit operating system originally coded for a 4 bit microprocessor,
-written by a 2 bit company that can't stand 1 bit of competition.
-
-But seriously, Windows 9x lacks most of the security-related calls and
-has several other deficiencies with respect to its version of the Win32
-API. See the calls.texinfo document for more information as to what
-is not supported in Win 9x.
-
-@subsection How is fork() implemented?
-
-Cygwin fork() essentially works like a non-copy on write version
-of fork() (like old Unix versions used to do). Because of this it
-can be a little slow. In most cases, you are better off using the
-spawn family of calls if possible.
-
-Here's how it works:
-
-Parent initializes a space in the Cygwin process table for child.
-Parent creates child suspended using Win32 CreateProcess call, giving
-the same path it was invoked with itself. Parent calls setjmp to save
-its own context and then sets a pointer to this in the Cygwin shared
-memory area (shared among all Cygwin tasks). Parent fills in the child's
-.data and .bss subsections by copying from its own address space into
-the suspended child's address space. Parent then starts the child.
-Parent waits on mutex for child to get to safe point. Child starts and
-discovers if has been forked and then longjumps using the saved jump
-buffer. Child sets mutex parent is waiting on and then blocks on
-another mutex waiting for parent to fill in its stack and heap. Parent
-notices child is in safe area, copies stack and heap from itself into
-child, releases the mutex the child is waiting on and returns from the
-fork call. Child wakes from blocking on mutex, recreates any mmapped
-areas passed to it via shared area and then returns from fork itself.
-
-@subsection How does wildcarding (globbing) work?
-
-If the DLL thinks it was invoked from a DOS style prompt, it runs a
-`globber' over the arguments provided on the command line. This means
-that if you type @code{LS *.EXE} from DOS, it will do what you might
-expect.
-
-Beware: globbing uses @code{malloc}. If your application defines
-@code{malloc}, that will get used. This may do horrible things to you.
-
-@subsection How do symbolic links work?
-
-Cygwin knows of two ways to create symlinks.
-
-The old method is the only valid one up to but not including version 1.3.0.
-If it's enabled (from 1.3.0 on by setting `nowinsymlinks' in the environment
-variable CYGWIN) Cygwin generates link files with a magic header. When you
-open a file or directory that is a link to somewhere else, it opens the file
-or directory listed in the magic header. Because we don't want to have to
-open every referenced file to check symlink status, Cygwin marks symlinks
-with the system attribute. Files without the system attribute are not
-checked. Because remote samba filesystems do not enable the system
-attribute by default, symlinks do not work on network drives unless you
-explicitly enable this attribute.
-
-The new method which is introduced with Cygwin version 1.3.0 is enabled
-by default or if `winsymlinks' is set in the environment variable CYGWIN.
-Using this method, Cygwin generates symlinks by creating Windows shortcuts.
-Cygwin created shortcuts have a special header (which is in that way never
-created by Explorer) and the R/O attribute set. A DOS path is stored in
-the shortcut as usual and the description entry is used to store the POSIX
-path. While the POSIX path is stored as is, the DOS path has perhaps to be
-rearranged to result in a valid path. This may result in a divergence
-between the DOS and the POSIX path when symlinks are moved crossing mount
-points. When a user changes the shortcut, this will be detected by Cygwin
-and it will only use the DOS path then. While Cygwin shortcuts are shown
-without the ".lnk" suffix in `ls' output, non-Cygwin shortcuts are shown
-with the suffix. However, both are treated as symlinks.
-
-Both, the old and the new symlinks can live peacefully together since Cygwin
-treats both as symlinks regardless of the setting of `(no)winsymlinks' in
-the environment variable CYGWIN.
-
-@subsection Why do some files, which are not executables have the 'x' type.
-
-When working out the Unix-style attribute bits on a file, the library
-has to fill out some information not provided by the WIN32 API.
-
-It guesses that files ending in .exe and .bat are executable, as are
-ones which have a "#!" as their first characters.
-
-@subsection How secure is Cygwin in a multi-user environment?
-
-As of version 1.5.13, the Cygwin developers are not aware of any feature
-in the cygwin dll that would allow users to gain privileges or to access
-objects to which they have no rights under Windows. However there is no
-guarantee that Cygwin is as secure as the Windows it runs on. Cygwin
-processes share some variables and are thus easier targets of denial of
-service type of attacks.
-
-@subsection How do the net-related functions work?
-
-@strong{(Please note: This section has not yet been updated for the latest
-net release.)}
-
-The network support in Cygwin is supposed to provide the Unix API, not
-the Winsock API.
-
-There are differences between the semantics of functions with the same
-name under the API.
-
-E.g., the select system call on Unix can wait on a standard file handles
-and handles to sockets. The select call in Winsock can only wait on
-sockets. Because of this, cygwin.dll does a lot of nasty stuff behind
-the scenes, trying to persuade various Winsock/win32 functions to do what
-a Unix select would do.
-
-If you are porting an application which already uses Winsock, then
-using the net support in Cygwin is wrong.
-
-But you can still use native Winsock, and use Cygwin. The functions
-which cygwin.dll exports are called 'cygwin_<name>'. There
-are a load of defines which map the standard Unix names to the names
-exported by the DLL-- check out include/netdb.h:
-
-@example
-..etc..
-void cygwin_setprotoent (int);
-void cygwin_setservent (int);
-void cygwin_setrpcent (int);
-..etc..
-#ifndef __INSIDE_CYGWIN_NET__
-#define endprotoent cygwin_endprotoent
-#define endservent cygwin_endservent
-#define endrpcent cygwin_endrpcent
-..etc..
-@end example
-
-The idea is that you'll get the Unix->Cygwin mapping if you include
-the standard Unix header files. If you use this, you won't need to
-link with libwinsock.a - all the net stuff is inside the DLL.
-
-The mywinsock.h file is a standard winsock.h which has been hacked to
-remove the bits which conflict with the standard Unix API, or are
-defined in other headers. E.g., in mywinsock.h, the definition of
-struct hostent is removed. This is because on a Unix box, it lives in
-netdb. It isn't a good idea to use it in your applications.
-
-As of the b19 release, this information may be slightly out of date.
-
-@subsection I don't want Unix sockets, how do I use normal Win32 winsock?
-
-@strong{(Please note: This section has not yet been updated for the latest
-net release.)}
-
-To use the vanilla Win32 winsock, you just need to #define Win32_Winsock
-and #include "windows.h" at the top of your source file(s). You'll also
-want to add -lwsock32 to the compiler's command line so you link against
-libwsock32.a.
-
-@subsection What version numbers are associated with Cygwin?
-
-Cygwin versioning is relatively complicated because of its status as a
-shared library. First of all, since October 1998 every Cygwin DLL has
-been named @code{cygwin1.dll} and has a 1 in the release name.
-Additionally, there are DLL major and minor numbers that correspond to
-the name of the release, and a release number. In other words,
-cygwin-1.5.10-2 is @code{cygwin1.dll}, major version 5, minor version
-10, release 2.
-
-The @code{cygwin1.dll} major version number gets incremented only when a
-change is made that makes existing software incompatible. For example,
-the first major version 5 release, cygwin-1.5.0-1, added 64-bit file I/O
-operations, which required many libraries to be recompiled and relinked.
-The minor version changes every time we make a new backward compatible
-Cygwin release available. There is also a @code{cygwin1.dll} release
-version number. The release number is only incremented if we update an
-existing release in a way that does not effect the DLL (like a missing
-header file).
-
-There are also Cygwin API major and minor numbers. The major number
-tracks important non-backward-compatible interface changes to the API.
-An executable linked with an earlier major number will not be compatible
-with the latest DLL. The minor number tracks significant API additions
-or changes that will not break older executables but may be required by
-newly compiled ones.
-
-Then there is a shared memory region compatibility version number. It is
-incremented when incompatible changes are made to the shared memory
-region or to any named shared mutexes, semaphores, etc. Finally there
-is a mount point registry version number which keeps track
-of non-backwards-compatible changes to the registry mount table layout.
-This has been @code{mounts v2} for a long time. For more exciting Cygwin
-version number details, check out the @code{/usr/include/cygwin/version.h}
-file.
-
-@subsection Why isn't _timezone set correctly?
-
-@strong{(Please note: This section has not yet been updated for the latest
-net release.)}
-
-Did you explicitly call tzset() before checking the value of _timezone?
-If not, you must do so.
-
-@subsection Is there a mouse interface?
-
-There is no way to capture mouse events from Cygwin. There are
-currently no plans to add support for this.
-
diff --git a/winsup/doc/how-programming.texinfo b/winsup/doc/how-programming.texinfo
deleted file mode 100644
index bd9b82d84..000000000
--- a/winsup/doc/how-programming.texinfo
+++ /dev/null
@@ -1,703 +0,0 @@
-@section Programming Questions
-
-@subsection How do I contribute a package?
-
-If you are willing to be a package maintainer, great! We urgently need
-volunteers to prepare and maintain packages, because the priority of the
-Cygwin Team is Cygwin itself.
-
-The Cygwin Package Contributor's Guide at
-@file{http://cygwin.com/setup.html} details everything you need to know
-about being a package maintainer. The quickest way to get started is to
-read the @emph{Initial packaging procedure, script-based} section on
-that page. The @samp{generic-build-script} found there works well for
-most packages.
-
-For questions about package maintenance, use the cygwin-apps mailing
-list (start at @file{http://cygwin.com/lists.html}) @emph{after}
-searching and browsing the cygwin-apps list archives, of course. Be
-sure to look at the @emph{Submitting a package} checklist at
-@file{http://cygwin.com/setup.html} before sending an ITP (Intent To
-Package) email to cygwin-apps.
-
-You should also announce your intentions to the general cygwin list, in
-case others were thinking the same thing.
-
-@subsection How do I contribute to Cygwin?
-
-If you want to contribute to Cygwin itself, see
-@file{http://cygwin.com/contrib.html}.
-
-@subsection Why are compiled executables so huge?!?
-
-By default, gcc compiles in all symbols. You'll also find that gcc
-creates large executables on UNIX.
-
-If that bothers you, just use the 'strip' program, part of the binutils
-package. Or compile with the @samp{-s} option to gcc.
-
-@subsection Where is glibc?
-
-Cygwin does not provide glibc. It uses newlib instead, which provides
-much (but not all) of the same functionality. Porting glibc to Cygwin
-would be difficult.
-
-@subsection Where is Objective C?
-
-Objective C is not distributed with the Cygwin version of gcc, and there
-are no plans to do so. The gcc package maintainer had difficulty
-building it, and once built there were problems using it. It appears
-that there is only minimal support for the Objective C front-end in the
-main GCC distribution, anyway.
-
-@subsection Why does my make fail on Cygwin with an execvp error?
-
-First of all, if you are using @samp{make -j[N]}, then stop. It doesn't
-work well. Also beware of using non-portable shell features in your
-Makefiles (see tips at @file{http://cygwin.com/faq/faq_3.html#SEC46}).
-
-Errors of @samp{make: execvp: /bin/sh: Illegal Argument} or
-@samp{make: execvp: /bin/sh: Argument list too long} are often
-caused by the command-line being to long for the Windows execution model.
-To circumvent this, mount the path of the executable using the -X switch
-to enable cygexec for all executables in that folder; you will also need
-to exclude non-cygwin executables with the -x switch. Enabling cygexec
-causes cygwin executables to talk directly to one another, which increases
-the command-line limit. To enable cygexec for @samp{/bin} and
-@samp{/usr/bin}, you can use these commands in a batch file:
-
-@example
-mount -X -b -f c:\cygwin\bin /bin
-mount -X -b -f c:\cygwin\bin /usr/bin
-mount -x -b -f c:\cygwin\bin\strace.exe /usr/bin/strace.exe
-mount -x -b -f c:\cygwin\bin\strace.exe /bin/strace.exe
-mount -x -b -f c:\cygwin\bin\cygcheck.exe /usr/bin/cygcheck.exe
-mount -x -b -f c:\cygwin\bin\cygcheck.exe /bin/cygcheck.exe
-@end example
-
-Note that you must specifically exclude @code{strace} and @code{cygcheck},
-which are not linked to the Cygwin DLL.
-
-(See @file{http://www.cygwin.com/cygwin-ug-net/using-utils.html#mount}
-for more information.)
-
-
-@subsection Why the undefined reference to @samp{WinMain@@16}?
-
-If you're using @samp{gcc}, try adding an empty main() function to one
-of your sources. Or, perhaps you have @samp{-lm} too early in the
-link command line. It should be at the end:
-
-@example
- bash$ gcc hello.c -lm
- bash$ ./a.exe
- Hello World!
-@end example
-
-works, but
-
-@example
- bash$ gcc -lm hello.c
- /c/TEMP/ccjLEGlU.o(.text+0x10):hello.c: multiple definition of `main'
- /usr/lib/libm.a(libcmain.o)(.text+0x0):libcmain.c: first defined here
- /usr/lib/libm.a(libcmain.o)(.text+0x6a):libcmain.c: undefined reference to `WinMain@@16'
- collect2: ld returned 1 exit status
-@end example
-
-If you're using GCJ, you need to pass a "--main" flag:
-
-@example
-gcj --main=Hello Hello.java
-@end example
-
-@subsection How do I use Win32 API calls?
-
-@strong{(Please note: This section has not yet been updated for the latest
-net release.)}
-
-It's pretty simple actually. Cygwin tools require that you explicitly
-link the import libraries for whatever Win32 API functions that you
-are going to use, with the exception of kernel32, which is linked
-automatically (because the startup and/or built-in code uses it).
-
-For example, to use graphics functions (GDI) you must link
-with gdi32 like this:
-
-gcc -o foo.exe foo.o bar.o -lgdi32
-
-or (compiling and linking in one step):
-
-gcc -o foo.exe foo.c bar.c -lgdi32
-
-The following libraries are available for use in this way:
-
-advapi32 largeint ole32 scrnsave vfw32
-cap lz32 oleaut32 shell32 win32spl
-comctl32 mapi32 oledlg snmp winmm
-comdlg32 mfcuia32 olepro32 svrapi winserve
-ctl3d32 mgmtapi opengl32 tapi32 winspool
-dlcapi mpr penwin32 th32 winstrm
-gdi32 msacm32 pkpd32 thunk32 wow32
-glaux nddeapi rasapi32 url wsock32
-glu32 netapi32 rpcdce4 user32 wst
-icmp odbc32 rpcndr uuid
-imm32 odbccp32 rpcns4 vdmdbg
-kernel32 oldnames rpcrt4 version
-
-The regular setup allows you to use the option -mwindows on the
-command line to include a set of the basic libraries (and also
-make your program a GUI program instead of a console program),
-including user32, gdi32 and, IIRC, comdlg32.
-
-Note that you should never include -lkernel32 on your link line
-unless you are invoking ld directly. Do not include the same import
-library twice on your link line. Finally, it is a good idea to
-put import libraries last on your link line, or at least after
-all the object files and static libraries that reference them.
-
-The first two are related to problems the linker has (as of b18 at least)
-when import libraries are referenced twice. Tables get messed up and
-programs crash randomly. The last point has to do with the fact that
-gcc processes the files listed on the command line in sequence and
-will only resolve references to libraries if they are given after
-the file that makes the reference.
-
-@subsection How do I compile a Win32 executable that doesn't use Cygwin?
-
-The -mno-cygwin flag to gcc makes gcc link against standard Microsoft
-DLLs instead of Cygwin. This is desirable for native Windows programs
-that don't need a UNIX emulation layer.
-
-This is not to be confused with 'MinGW' (Minimalist GNU for Windows),
-which is a completely separate effort. That project's home page is
-@file{http://www.mingw.org/index.shtml}.
-
-@subsection Can I build a Cygwin program that does not require cygwin1.dll at runtime?
-
-No. If your program uses the Cygwin API, then your executable cannot
-run without cygwin1.dll. In particular, it is not possible to
-statically link with a Cygwin library to obtain an independent,
-self-contained executable.
-
-If this is an issue because you intend to distribute your Cygwin
-application, then you had better read and understand
-@file{http://cygwin.com/licensing.html}, which explains the licensing
-options. Unless you purchase a special commercial license from Red
-Hat, then your Cygwin application must be Open Source.
-
-@subsection Can I link with both MSVCRT*.DLL and cygwin1.dll?
-
-No, you must use one or the other, they are mutually exclusive.
-
-@subsection How do I make the console window go away?
-
-The default during compilation is to produce a console application.
-It you are writing a GUI program, you should either compile with
--mwindows as explained above, or add the string
-"-Wl,--subsystem,windows" to the GCC command line.
-
-@subsection Why does make complain about a "missing separator"?
-
-This problem usually occurs as a result of someone editing a Makefile
-with a text editor that replaces tab characters with spaces. Command
-lines must start with tabs. This is not specific to Cygwin.
-
-@subsection Why can't we redistribute Microsoft's Win32 headers?
-
-Subsection 2.d.f of the `Microsoft Open Tools License agreement' looks
-like it says that one may not "permit further redistribution of the
-Redistributables to their end users". We take this to mean that we can
-give them to you, but you can't give them to anyone else, which is
-something that Red Hat can't agree to. Fortunately, we
-have our own Win32 headers which are pretty complete.
-
-@subsection How do I use @samp{cygwin1.dll} with Visual Studio or MinGW?
-
-Before you begin, note that Cygwin is licensed under the GNU GPL (as
-indeed are all other Cygwin-based libraries). That means that if your
-code links against the cygwin dll (and if your program is calling
-functions from Cygwin, it must, as a matter of fact, be linked against
-it), you must apply the GPL to your source as well. Of course, this
-only matters if you plan to distribute your program in binary form. For
-more information, see @file{http://gnu.org/licenses/gpl-faq.html}. If
-that is not a problem, read on.
-
-If you want to load the DLL dynamically, read
-@code{winsup/cygwin/how-cygtls-works.txt} and the sample code in
-@code{winsup/testsuite/cygload} to understand how this works.
-The short version is:
-
-@enumerate
-@item Make sure you have 4K of scratch space at the bottom of your stack.
-@item Invoke @code{cygwin_dll_init()}:
-@example
-HMODULE h = LoadLibrary("cygwin1.dll");
-void (*init)() = GetProcAddress(h, "cygwin_dll_init");
-init();
-@end example
-@end enumerate
-
-If you want to link statically from Visual Studio, to my knowledge
-none of the Cygwin developers have done this, but we have this report
-from the mailing list that it can be done this way:
-
-@enumerate
-@item Use the impdef program to generate a .def file for the cygwin1.dll
-(if you build the cygwin dll from source, you will already have a def
-file)
-
-@example
-impdef cygwin1.dll > cygwin1.def
-@end example
-
-@item Use the MS VS linker (lib) to generate an import library
-
-@example
-lib /def=cygwin1.def /out=cygwin1.lib
-@end example
-
-@item Create a file "my_crt0.c" with the following contents
-
-@example
-#include <sys/cygwin.h>
-#include <stdlib.h>
-
-typedef int (*MainFunc) (int argc, char *argv[], char **env);
-
-void
- my_crt0 (MainFunc f)
- @{
- cygwin_crt0(f);
- @}
-@end example
-
-@item Use gcc in a Cygwin prompt to build my_crt0.c into a DLL
- (e.g. my_crt0.dll). Follow steps 1 and 2 to generate .def and
- .lib files for the DLL.
-
-@item Download crt0.c from the cygwin website and include it in
- your sources. Modify it to call my_crt0() instead of
- cygwin_crt0().
-
-@item Build your object files using the MS VC compiler cl.
-
-@item Link your object files, cygwin1.lib, and my_crt0.lib (or
- whatever you called it) into the executable.
-@end enumerate
-
-Note that if you are using any other Cygwin based libraries
-that you will probably need to build them as DLLs using gcc and
-then generate import libraries for the MS VC linker.
-
-Thanks to Alastair Growcott (alastair dot growcott at bakbone dot co
-dot uk) for this tip.
-
-@subsection How do I link against a @samp{.lib} file?
-
-If your @samp{.lib} file is a normal static or import library with
-C-callable entry points, you can list @samp{foo.lib} as an object file for
-gcc/g++, just like any @samp{*.o} file. Otherwise, here are some steps:
-
-@enumerate
-@item Build a C file with a function table. Put all functions you intend
-to use in that table. This forces the linker to include all the object
-files from the .lib. Maybe there is an option to force LINK.EXE to
-include an object file.
-@item Build a dummy 'LibMain'.
-@item Build a .def with all the exports you need.
-@item Link with your .lib using link.exe.
-@end enumerate
-
-or
-
-@enumerate
-@item Extract all the object files from the .lib using LIB.EXE.
-@item Build a dummy C file referencing all the functions you need, either
- with a direct call or through an initialized function pointer.
-@item Build a dummy LibMain.
-@item Link all the objects with this file+LibMain.
-@item Write a .def.
-@item Link.
-@end enumerate
-
-You can use these methods to use MSVC (and many other runtime libs)
-with Cygwin development tools.
-
-Note that this is a lot of work (half a day or so), but much less than
-rewriting the runtime library in question from specs...
-
-Thanks to Jacob Navia (root at jacob dot remcomp dot fr) for this explanation.
-
-@subsection How do I build Cygwin on my own?
-
-First, you need to get the Cygwin source. Ideally, you should check out
-what you need from CVS (@file{http://cygwin.com/cvs.html}). This is the
-@emph{preferred method} for acquiring the sources. Otherwise, you can
-install the cygwin source package from the distribution.
-
-If you are trying to duplicate a cygwin release then you should just
-download the corresponding source package and use "tar xjf" to unpack
-it. This will unpack the sources into a directory named cygwin-x.y.z-n,
-where x.y.z-n correspond to the version numbering of the tar.bz2
-package.
-
-@example
-tar xjf cygwin-1.5.12-1-src.tar.bz2
-cd cygwin-1.5.12-1
-@end example
-
-You @emph{must} build cygwin in a separate directory from the source,
-so create something like a @samp{build/} directory. You will also want
-to install to a temporary location:
-
-@example
-mkdir build
-mkdir /install
-cd build
-(../configure --prefix=/install -v; make) >& make.out
-make install > install.log 2>&1
-@end example
-
-Normally, this procedure ignore errors in building the documentation.
-which requires the @samp{docbook-xml}, @samp{docbook-xsl}, and
-@samp{xmlto} packages. For more information on building the
-documentation, see the README included in the cygwin-doc package.
-
-To check a cygwin1.dll, run "make check" in the winsup/testsuite
-directory. If that works, install everything @emph{except} the dll (if
-you can). Then, close down all cygwin programs (including bash windows,
-inetd, etc.), save your old dll, and copy the new dll to the correct
-place. Then start up a bash window, or run a cygwin program from the
-Windows command prompt, and see what happens.
-
-If you get the error "shared region is corrupted" it means that two
-different versions of cygwin1.dll are running on your machine at the
-same time. Remove all but one.
-
-@subsection I may have found a bug in Cygwin, how can I debug it (the symbols in gdb look funny)?
-
-Debugging symbols are stripped from distibuted Cygwin binaries, so any
-symbols that you see in gdb are basically meaningless. It is also a good
-idea to use the latest code in case the bug has been fixed, so we
-recommend trying the latest snapshot from
-@file{http://cygwin.com/snapshots/} or build the DLL from CVS.
-
-To build a debugging version of the Cygwin DLL, you will need to follow
-the instructions at @file{http://cygwin.com/faq/faq_3.html#SEC102}. You
-can also contact the mailing list for pointers (a simple test case that
-demonstrates the bug is always welcome).
-
-@subsection How can I compile Cygwin for an unsupported platform (PowerPC, Alpha, ARM, Itanium)?
-
-Unfortunately, this will be difficult. Exception handling and signals
-support semantics and args have been designed for x86 so you would need
-to write specific support for your platform. We don't know of any other
-incompatibilities. Please send us patches if you do this work!
-
-@subsection How can I adjust the heap/stack size of an application?
-
-If you need to change the maximum amount of memory available to Cygwin, see
-@file{http://cygwin.com/cygwin-ug-net/setup-maxmem.html}. Otherwise,
-just pass heap/stack linker arguments to gcc. To create foo.exe with
-a heap size of 1024 and a stack size of 4096, you would invoke
-gcc as:
-
-@code{gcc -Wl,--heap,1024,--stack,4096 -o foo foo.c}
-
-@subsection How can I find out which DLLs are needed by an executable?
-
-@samp{objdump -p} provides this information, but is rather verbose.
-
-@samp{cygcheck} will do this much more concisely, and operates
-recursively, provided the command is in your path.
-
-Note there is currently a bug in cygcheck in that it will not report
-on a program in a Windows system dir (e.g., C:\Windows or C:\WINNT) even
-if it's in your path. To work around this, supply the full Win32 path
-to the executable, including the .exe extension:
-
-@example
-cygcheck c:\\winnt\\system32\\cmd.exe
-@end example
-
-(Note the windows path separator must be escaped if this is typed in
-bash.)
-
-@subsection How do I build a DLL?
-
-There's documentation that explains the process in the Cygwin User's
-Guide here: @file{http://cygwin.com/cygwin-ug-net/dll.html}
-
-@subsection How can I set a breakpoint at MainCRTStartup?
-
-@strong{(Please note: This section has not yet been updated for the latest
-net release.)}
-
-Set a breakpoint at *0x401000 in gdb and then run the program in
-question.
-
-@subsection How can I build a relocatable dll?
-
-@strong{(Please note: This section has not yet been updated for the
-latest net release. However, there was a discussion on the cygwin
-mailing list recently that addresses this issue. Read
-@file{http://cygwin.com/ml/cygwin/2000-06/msg00688.html} and
-related messages.)}
-
-You must execute the following sequence of five commands, in this
-order:
-
-@example
-$(LD) -s --base-file BASEFILE --dll -o DLLNAME OBJS LIBS -e ENTRY
-
-$(DLLTOOL) --as=$(AS) --dllname DLLNAME --def DEFFILE \
- --base-file BASEFILE --output-exp EXPFILE
-
-$(LD) -s --base-file BASEFILE EXPFILE -dll -o DLLNAME OBJS LIBS -e ENTRY
-
-$(DLLTOOL) --as=$(AS) --dllname DLLNAME --def DEFFILE \
- --base-file BASEFILE --output-exp EXPFILE
-
-$(LD) EXPFILE --dll -o DLLNAME OBJS LIBS -e ENTRY
-@end example
-
-In this example, $(LD) is the linker, ld.
-
-$(DLLTOOL) is dlltool.
-
-$(AS) is the assembler, as.
-
-DLLNAME is the name of the DLL you want to create, e.g., tcl80.dll.
-
-OBJS is the list of object files you want to put into the DLL.
-
-LIBS is the list of libraries you want to link the DLL against. For
-example, you may or may not want -lcygwin. You may want -lkernel32.
-Tcl links against -lcygwin -ladvapi32 -luser32 -lgdi32 -lcomdlg32
--lkernel32.
-
-DEFFILE is the name of your definitions file. A simple DEFFILE would
-consist of ``EXPORTS'' followed by a list of all symbols which should
-be exported from the DLL. Each symbol should be on a line by itself.
-Other programs will only be able to access the listed symbols.
-
-BASEFILE is a temporary file that is used during this five stage
-process, e.g., tcl.base.
-
-EXPFILE is another temporary file, e.g., tcl.exp.
-
-ENTRY is the name of the function which you want to use as the entry
-point. This function should be defined using the WINAPI attribute,
-and should take three arguments:
- int WINAPI startup (HINSTANCE, DWORD, LPVOID)
-
-This means that the actual symbol name will have an appended @@12, so if
-your entry point really is named @samp{startup}, the string you should
-use for ENTRY in the above examples would be @samp{startup@@12}.
-
-If your DLL calls any Cygwin API functions, the entry function will need
-to initialize the Cygwin impure pointer. You can do that by declaring
-a global variable @samp{_impure_ptr}, and then initializing it in the
-entry function. Be careful not to export the global variable
-@samp{_impure_ptr} from your DLL; that is, do not put it in DEFFILE.
-
-@example
-/* This is a global variable. */
-struct _reent *_impure_ptr;
-extern struct _reent *__imp_reent_data;
-
-int entry (HINSTANT hinst, DWORD reason, LPVOID reserved)
-@{
- _impure_ptr = __imp_reent_data;
- /* Whatever else you want to do. */
-@}
-@end example
-
-You may put an optional `--subsystem windows' on the $(LD) lines. The
-Tcl build does this, but I admit that I no longer remember whether
-this is important. Note that if you specify a --subsytem <x> flag to ld,
-the -e entry must come after the subsystem flag, since the subsystem flag
-sets a different default entry point.
-
-You may put an optional `--image-base BASEADDR' on the $(LD) lines.
-This will set the default image base. Programs using this DLL will
-start up a bit faster if each DLL occupies a different portion of the
-address space. Each DLL starts at the image base, and continues for
-whatever size it occupies.
-
-Now that you've built your DLL, you may want to build a library so
-that other programs can link against it. This is not required: you
-could always use the DLL via LoadLibrary. However, if you want to be
-able to link directly against the DLL, you need to create a library.
-Do that like this:
-
-$(DLLTOOL) --as=$(AS) --dllname DLLNAME --def DEFFILE --output-lib LIBFILE
-
-$(DLLTOOL), $(AS), DLLNAME, and DEFFILE are the same as above. Make
-sure you use the same DLLNAME and DEFFILE, or things won't work right.
-
-LIBFILE is the name of the library you want to create, e.g.,
-libtcl80.a. You can then link against that library using something
-like -ltcl80 in your linker command.
-
-@subsection How can I debug what's going on?
-
-You can debug your application using @code{gdb}. Make sure you
-compile it with the -g flag! If your application calls functions in
-MS DLLs, gdb will complain about not being able to load debug information
-for them when you run your program. This is normal since these DLLs
-don't contain debugging information (and even if they did, that debug
-info would not be compatible with gdb).
-
-@subsection Can I use a system trace mechanism instead?
-
-Yes. You can use the @code{strace.exe} utility to run other cygwin
-programs with various debug and trace messages enabled. For information
-on using @code{strace}, see the Cygwin User's Guide or the file
-@code{winsup/utils/utils.sgml}.
-
-@subsection Why doesn't gdb handle signals?
-
-Unfortunately, there is only minimal signal handling support in gdb
-currently. Signal handling only works with Windows-type signals.
-SIGINT may work, SIGFPE may work, SIGSEGV definitely does. You cannot
-'stop', 'print' or 'nopass' signals like SIGUSR1 or SIGHUP to the
-process being debugged.
-
-@subsection The linker complains that it can't find something.
-
-A common error is to put the library on the command line before
-the thing that needs things from it.
-
-This is wrong @code{gcc -lstdc++ hello.cc}.
-This is right @code{gcc hello.cc -lstdc++}.
-
-@subsection I use a function I know is in the API, but I still get a link error.
-
-@strong{(Please note: This section has not yet been updated for the latest
-net release.)}
-
-The function probably isn't declared in the header files, or
-the UNICODE stuff for it isn't filled in.
-
-@subsection Can you make DLLs that are linked against libc ?
-
-@strong{(Please note: This section has not yet been updated for the latest
-net release.)}
-
-Yes.
-
-@subsection Where is malloc.h?
-
-@strong{(Please note: This section has not yet been updated for the latest
-net release.)}
-
-Include stdlib.h instead of malloc.h.
-
-@subsection Can I use my own malloc?
-
-If you define a function called @code{malloc} in your own code, and link
-with the DLL, the DLL @emph{will} call your @code{malloc}. Needless to
-say, you will run into serious problems if your malloc is buggy.
-
-If you run any programs from the DOS command prompt, rather than from in
-bash, the DLL will try and expand the wildcards on the command line.
-This process uses @code{malloc} @emph{before} your main line is started.
-If you have written your own @code{malloc} to need some initialization
-to occur after @code{main} is called, then this will surely break.
-
-Moreover, there is an outstanding issue with @code{_malloc_r} in
-@code{newlib}. This re-entrant version of @code{malloc} will be called
-directly from within @code{newlib}, by-passing your custom version, and
-is probably incompatible with it. But it may not be possible to replace
-@code{_malloc_r} too, because @code{cygwin1.dll} does not export it and
-Cygwin does not expect your program to replace it. This is really a
-newlib issue, but we are open to suggestions on how to deal with it.
-
-@subsection Can I mix objects compiled with msvc++ and gcc?
-
-Yes, but only if you are combining C object files. MSVC C++ uses a
-different mangling scheme than GNU C++, so you will have difficulties
-combining C++ objects.
-
-@subsection Can I use the gdb debugger to debug programs built by VC++?
-
-No, not for full (high level source language) debugging.
-The Microsoft compilers generate a different type of debugging
-symbol information, which gdb does not understand.
-
-However, the low-level (assembly-type) symbols generated by
-Microsoft compilers are coff, which gdb DOES understand.
-Therefore you should at least be able to see all of your
-global symbols; you just won't have any information about
-data types, line numbers, local variables etc.
-
-@subsection Where can I find info on x86 assembly?
-
-CPU reference manuals for Intel's current chips are available in
-downloadable PDF form on Intel's web site:
-
-@file{http://developer.intel.com/design/pro/manuals/}
-
-@subsection Shell scripts aren't running properly from my makefiles?
-
-If your scripts are in the current directory, you must have @samp{.}
-(dot) in your $PATH. (It is not normally there by default.) Otherwise,
-you would need to add /bin/sh in front of each and every shell script
-invoked in your Makefiles.
-
-@subsection What preprocessor do I need to know about?
-
-We use _WIN32 to signify access to the Win32 API and __CYGWIN__ for
-access to the Cygwin environment provided by the dll.
-
-We chose _WIN32 because this is what Microsoft defines in VC++ and
-we thought it would be a good idea for compatibility with VC++ code
-to follow their example. We use _MFC_VER to indicate code that should
-be compiled with VC++.
-
-_WIN32 is only defined when you use either the -mno-cygwin or -mwin32
-gcc command line options. This is because Cygwin is supposed to be a
-Unix emulation environment and defining _WIN32 confuses some programs
-which think that they have to make special concessions for a Windows
-environment which Cygwin handles automatically.
-
-Note that using -mno-cygwin replaces __CYGWIN__ with __MINGW32__ as to
-tell which compiler (or settings) you're running.
-Check this out in detail by running, for example
-
-@example
- $ gcc -dM -E -xc /dev/null >gcc.txt
- $ gcc -mno-cygwin -dM -E -xc /dev/null >gcc-mno-cygwin.txt
- $ gcc -mwin32 -dM -E -xc /dev/null >gcc-mwin32.txt
-@end example
-Then use the diff and grep utilities to check
-what the difference is.
-
-@subsection How should I port my Unix GUI to Windows?
-
-There are two basic strategies for porting Unix GUIs to Windows.
-
-The first is to use a portable graphics library such as tcl/tk, X11, or
-V (and others?). Typically, you will end up with a GUI on Windows that
-requires some runtime support. With tcl/tk, you'll want to include the
-necessary library files and the tcl/tk DLLs. In the case of X11, you'll
-need everyone using your program to have an X11 server installed.
-
-The second method is to rewrite your GUI using Win32 API calls (or MFC
-with VC++). If your program is written in a fairly modular fashion, you
-may still want to use Cygwin if your program contains a lot of shared
-(non-GUI-related) code. That way you still gain some of the portability
-advantages inherent in using Cygwin.
-
-@subsection Why not use DJGPP ?
-
-DJGPP is a similar idea, but for DOS instead of Win32. DJGPP uses a
-"DOS extender" to provide a more reasonable operating interface for its
-applications. The Cygwin toolset doesn't have to do this since all of
-the applications are native WIN32. Applications compiled with the
-Cygwin tools can access the Win32 API functions, so you can write
-programs which use the Windows GUI.
-
-You can get more info on DJGPP by following
-@file{http://www.delorie.com/}.
diff --git a/winsup/doc/how-resources.texinfo b/winsup/doc/how-resources.texinfo
deleted file mode 100644
index fe5111c9d..000000000
--- a/winsup/doc/how-resources.texinfo
+++ /dev/null
@@ -1,123 +0,0 @@
-@section Where can I get more information?
-
-@subsection Where's the documentation?
-
-If you have installed Cygwin, you can find lots of documentation in
-@samp{/usr/share/doc/}. Many packages ship with standard documentation,
-which you can find in @samp{/usr/share/doc/@emph{package_name}} or by
-using the @code{man} or @code{info} tools. (Hint: use @code{cygcheck
--l @emph{package_name}} to list what man pages the package includes.)
-In addition, some packages have Cygwin specific instructions in a file
-@samp{/usr/share/doc/Cygwin/@emph{package_name}.README}. Some older
-packages still keep their documentation in @samp{/usr/doc/} instead of
-@samp{/usr/share/doc/}.
-
-There are links to quite a lot of documentation on the main Cygwin
-project web page, @file{http://cygwin.com/}, including this FAQ. Be
-sure to at least read any 'Release Notes' or 'Readme' or 'read this'
-links on the main web page, if there are any.
-
-There is a comprehensive Cygwin User's Guide at
-@file{http://cygwin.com/cygwin-ug-net/cygwin-ug-net.html}
-and an API Reference at
-@file{http://cygwin.com/cygwin-api/cygwin-api.html}.
-
-You can find documentation for the individual GNU tools at
-@file{http://www.fsf.org/manual/}. (You should read GNU manuals from a
-local mirror, check @file{http://www.fsf.org/server/list-mirrors.html}
-for a list of them.)
-
-@subsection What Cygwin mailing lists can I join?
-
-Comprehensive information about the Cygwin mailing lists can be found at
-@file{http://cygwin.com/lists.html}.
-
-To subscribe to the main list, send a message to
-cygwin-subscribe@@cygwin.com. To unsubscribe from the
-main list, send a message to cygwin-unsubscribe@@cygwin.com.
-In both cases, the subject and body of the message are ignored.
-
-Similarly, to subscribe to the Cygwin announcements list, send a message
-to cygwin-announce-subscribe@@cygwin.com. To unsubscribe,
-send a message to cygwin-announce-unsubscribe@@cygwin.com.
-
-If you want to contribe to Cygwin tools & applications, rather than
-the library itself, then you should subscribe to cygwin-apps. There
-is also a low-volume list called cygwin-developers which is reserved
-for knowledgeable people who regularly contribute to the Cygwin DLL.
-Please do not ask for read-only access to this mailing list. Both
-cygwin-developers and cygwin-apps are by-approval lists. The same
-mechanism as described for the first two lists works for these as
-well.
-
-There is a searchable archive of the main mailing list at
-@file{http://cygwin.com/ml/cygwin/}. There is an alternate
-archive, also searchable, at @file{http://www.delorie.com/archives/}.
-You can also search at @file{http://www.google.com/} and include
-"cygwin" in the list of search terms.
-
-Cygwin mailing lists are not gatewayed to USENET, so anti-spam measures
-in your email address are neither required nor appreciated. Also, avoid
-sending HTML content to Cygwin mailing lists.
-
-@subsection Posting Guidelines (Or: Why won't you/the mailing list answer my questions?)
-
-If you follow these guidelines, you are much more likely to get a
-helpful response from the Cygwin developers and/or the Cygwin community at
-large:
-
-@itemize @bullet
-@item Read the User's Guide and the FAQ first.
-@item Check the mailing list archives. Your topic may have come up
-before. (It may even have been answered!) Use the search facilities
-at the links above. Try the alternate site if the main archive is not
-producing search results.
-@item Explain your problem carefully and completely. "I installed Blah
-and it doesn't work!" wastes everybody's time. It provides no
-information for anyone to help you with your problem. You should
-provide:
-
-@itemize @bullet
-@item A problem statement: How does it behave, how do you think it
-should behave, and what makes you think it's broken? (Oh yeah, and what
-is @emph{"it"}?)
-@item Information about your Windows OS ("Win95 OSR2" or "NT4/SP3" or
-"Win2K" or "Win98 SE" or ...).
-@item Details about your installation process, or attempts at same. (Internet or
-Directory install? If the former, exactly when and from what mirror?
-If the latter, which packages did you download? Which version of
-setup.exe? Any subsequent updates?)
-@item Details about your Cygwin setup, accomplished by @emph{attaching}
-the output of 'cygcheck -s -v -r' to your message. (Do not paste the
-output into your message.)
-@item A valid return address, so that a reply doesn't require manual editing of
-the 'To:' header.
-@end itemize
-
-@item Your message must be relevant to the list. Messages that are
-@emph{not} directly related to Cygwin are considered off-topic and are
-unwelcome. For example, the following are off-topic:
-
-@itemize @bullet
-@item General programming language questions
-@item General Windows programming questions
-@item General UNIX shell programming questions
-@item General application usage questions
-@item How to make millions by working at home
-@item Announcements from LaserJet toner cartridge suppliers
-@end itemize
-
-@item Read and obey ``How To Ask Questions The Smart Way'' by Eric
-S. Raymond, at @file{http://www.catb.org/~esr/faqs/smart-questions.html}.
-
-@end itemize
-
-If you do not follow the above guidelines, you may still elicit a
-response, but you may not appreciate it!
-
-For inquiries about support contracts and commercial licensing, visit
-@file{http://www.redhat.com/software/cygwin/}.
-
-Beyond that, perhaps nobody has time to answer your question. Perhaps
-nobody knows the answer.
-
diff --git a/winsup/doc/how-using.texinfo b/winsup/doc/how-using.texinfo
deleted file mode 100644
index b04bbc148..000000000
--- a/winsup/doc/how-using.texinfo
+++ /dev/null
@@ -1,813 +0,0 @@
-@section Using Cygwin
-
-@subsection Why can't my application locate cygncurses5.dll? or cygintl.dll? or cygreadline5.dll? or ...?
-
-If you upgraded recently, and suddenly vim (or some other Cygwin
-application) cannot find @code{cygncurses5.dll}, it means that you did
-not follow these instructions properly:
-@file{http://cygwin.com/ml/cygwin-announce/2001/msg00124.html}. To
-repair the damage, you must run Cygwin Setup again, and re-install the
-@samp{libncurses5} package.
-
-Note that Cygwin Setup won't show this option by default. In the
-``Select packages to install'' dialog, click on the @samp{Full/Part}
-button. This lists all packages, even those that are already
-installed. Scroll down to locate the @samp{libncurses5} package.
-Click on the ``cycle'' glyph until it says ``Reinstall''. Continue
-with the installation.
-
-Similarly, if something cannot find @code{cygintl.dll}, then run
-Cygwin Setup and re-install the @samp{libintl} and @samp{libintl1}
-packages.
-
-For a detailed explanation of the general problem, and how to extend
-it to other missing DLLs (like cygreadline5.dll) and identify their
-containing packages, see
-@file{http://cygwin.com/ml/cygwin/2002-01/msg01619.html}.
-
-@subsection Why is Cygwin suddenly @emph{so} slow?
-
-If you recently upgraded and suddenly @emph{every} command takes a
-@emph{very} long time, then something is probably attempting to
-access a network share. You may have the obsolete @code{//c}
-notation in your PATH or startup files. This now means the
-@emph{network share} @code{c}, which will slow things down
-tremendously if it does not exist.
-
-Using //c (for C:) doesn't work anymore. (Similarly for any drive
-letter, e.g. @code{//z} for @code{Z:}) This ``feature'' has long been
-deprecated, and no longer works at all in the latest release. As of
-release 1.3.3, @code{//c} now means the @emph{network share} @code{c}.
-For a detailed discussion of why this change was made, and how deal
-with it now, refer to
-@file{http://sources.redhat.com/ml/cygwin/2001-09/msg00014.html}.
-
-@subsection Why don't my services work (or access network shares)?
-
-Most Windows services run as a special user called @samp{SYSTEM}. If you
-installed Cygwin for "Just Me", the @samp{SYSTEM} user won't see your
-Cygwin mount table. You need to re-mount all of your mounts as
-"system" for services to work. You can re-run @samp{setup.exe} and
-select "Install for All Users", or this script will do the trick:
-
-@example
-eval "`mount -m | sed -e 's/ -u / -s /g' -e 's/$/;/'`"
-@end example
-
-The @samp{SYSTEM} user cannot access network shares that require
-authentication. For more information, see
-@file{http://cygwin.com/cygwin-ug-net/ntsec.html}.
-
-Workarounds include using public network share that does not require
-authentication (for non-critical files), or running the service as
-your own user with @samp{cygrunsrv -u} (see
-@samp{/usr/share/doc/Cygwin/cygrunsrv.README} for more information).
-
-@subsection How should I set my PATH?
-
-This is done for you in the file /etc/profile, which is sourced by bash
-when you start it from the Desktop or Start Menu shortcut, created by
-@code{setup.exe}. The line is
-
-@example
- PATH="/usr/local/bin:/usr/bin:/bin:$PATH"
-@end example
-
-Effectively, this @strong{prepends} /usr/local/bin and /usr/bin to your
-Windows system path. If you choose to reset your PATH, say in
-$HOME/.bashrc, or by editing etc/profile directly, then you should
-follow this rule. You @strong{must} have @code{/usr/bin} in your PATH
-@strong{before} any Windows system directories. (And you must not omit
-the Windows system directories!) Otherwise you will likely encounter
-all sorts of problems running Cygwin applications.
-
-@subsection Bash says "command not found", but it's right there!
-
-If you compile a program, you might find that you can't run it:
-
-@example
- bash$ gcc -o hello hello.c
- bash$ hello
- bash: hello: command not found
-@end example
-
-Unlike Windows, bash does not look for programs in @samp{.} (the current
-directory) by default. You can add @samp{.} to your PATH (see above),
-but this is not recommended (at least on UNIX) for security reasons.
-Just tell bash where to find it, when you type it on the command line:
-
-@example
- bash$ gcc -o hello hello.c
- bash$ ./hello
- Hello World!
-@end example
-
-@subsection How do I convert between Windows and UNIX paths?
-
-Use the 'cygpath' utility. Type '@code{cygpath --help}' for
-information. For example (on my installation):
-@example
- bash$ cygpath --windows ~/.bashrc
- D:\starksb\.bashrc
- bash$ cygpath --unix C:/cygwin/bin/cygwin.bat
- /usr/bin/cygwin.bat
- bash$ cygpath --unix C:\\cygwin\\bin\\cygwin.bat
- /usr/bin/cygwin.bat
-@end example
-Note that bash interprets the backslash '\' as an escape character, so
-you must type it twice in the bash shell if you want it to be recognized
-as such.
-
-@subsection Why doesn't bash read my .bashrc file on startup?
-
-Your .bashrc is read from your home directory specified by the HOME
-environment variable. It uses /.bashrc if HOME is not set. So you need
-to set HOME correctly, or move your .bashrc to the top of the drive
-mounted as / in Cygwin.
-
-@subsection How can I get bash filename completion to be case insensitive?
-
-Add the following to your @code{~/.bashrc} file:
-
-@example
- shopt -s nocaseglob
-@end example
-
-and add the following to your @code{~/.inputrc} file:
-
-@example
- set completion-ignore-case on
-@end example
-
-@subsection Can I use paths/filenames containing spaces in them?
-
-Cygwin does support spaces in filenames and paths. That said, some
-utilities that use the library may not, since files don't typically
-contain spaces in Unix. If you stumble into problems with this, you
-will need to either fix the utilities or stop using spaces in filenames
-used by Cygwin tools.
-
-In particular, bash interprets space as a word separator. You would have
-to quote a filename containing spaces, or escape the space character.
-For example:
-@example
- bash-2.03$ cd '/cygdrive/c/Program Files'
-@end example
-or
-@example
- bash-2.03$ cd /cygdrive/c/Program\ Files
-@end example
-
-@subsection Why can't I cd into a shortcut to a directory?
-
-Cygwin versions < 1.3.0 do not follow MS Windows Explorer Shortcuts
-(*.lnk files). It sees a shortcut as a regular file and this you
-cannot "cd" into it.
-
-Since version 1.3.0, Cygwin uses shortcuts as symlinks by default.
-
-Cygwin shortcuts are different from shortcuts created by native Windows
-applications. Windows applications can usually make use of Cygwin
-shortcuts but not vice versa. This is by choice. The reason is that
-Windows shortcuts may contain a bunch of extra information which would
-get lost, if, for example, Cygwin tar archives and extracts them as
-symlinks.
-
-Changing a Cygwin shortcut in Windows Explorer usually changes a Cygwin
-shortcut into a Windows native shortcut. Afterwards, Cygwin will not
-recognize it as symlink anymore.
-
-@subsection I'm having basic problems with find. Why?
-
-Make sure you are using the find that came with Cygwin and that you
-aren't picking up the Win32 find command instead. You can verify that
-you are getting the right one by doing a "type find" in bash.
-
-If the path argument to find, including current directory (default), is
-itself a symbolic link, then find will not traverse it unless you
-specify the @samp{-follow} option. This behavior is different than most
-other UNIX implementations, but is not likely to change.
-
-If find does not seem to be producing enough results, or seems to be
-missing out some directories, you may be experiencing a problem with one
-of find's optimisations. The absence of @samp{.} and @samp{..}
-directories on some filesystems, such as DVD-R UDF, can confuse find.
-See the documentation for the option @samp{-noleaf} in the man page.
-
-@subsection Why doesn't @samp{su} work?
-
-The @samp{su} command has been in and out of Cygwin distributions, but
-it has not been ported to Cygwin and has never worked. It is
-currently installed as part of the sh-utils, but again, it does not work.
-
-You may be able to use @samp{login} instead, but you should read
-@file{http://www.cygwin.com/ml/cygwin/2001-03/msg00337.html} first.
-
-For some technical background into why @samp{su} doesn't work, read
-@file{http://www.cygwin.com/ml/cygwin/2003-06/msg00897.html} and
-related messages.
-
-@subsection Why doesn't man (or apropos) work?
-
-Even after installing the @samp{man} package, you get an error like this:
-
-@example
- bash-2.04$ man man
- Error executing formatting or display command.
- System command (cd /usr/man ; (echo -e ".pl 1100i"; cat /usr/man/man1/man.1; echo ".pl \n(nlu+10") | /usr/bin/tbl | /usr/bin/groff -Tascii -mandoc | less -is) exited with status 32512.
- No manual entry for man
-@end example
-
-You also need /bin/sh, which is found in the @samp{ash} package.
-You must install this too.
-
-In addition, before you can use @samp{man -k} or @samp{apropos}, you
-must create the whatis database. Just run the command
-
-@example
- /usr/sbin/makewhatis
-@end example
-
-(it may take a minute to complete).
-
-@subsection Why doesn't chmod work?
-
-@samp{ntsec} will allow UNIX permissions in Windows NT on NTFS file
-systems. This is on by default (a recent change).
-
-@samp{ntea} works on NTFS @emph{and} FAT but it creates a huge,
-@strong{undeletable} file on FAT filesystems.
-
-(The @samp{ntsec} and @samp{ntea} settings are values for the
-@samp{CYGWIN} environment variable. See the Cygwin User's Guide at
-@file{http://cygwin.com/cygwin-ug-net/cygwin-ug-net.html} for more
-information on this variable and its settings.)
-
-There is no solution at all for Windows 9x.
-
-If you have an application that requires a certain permission mode on a
-file, you may be able to work around this requirement by modifying the
-application's source code. For a hint, based on work done by Corinna
-Vinschen for OpenSSH, see this message from the cygwin mailing list:
-@file{http://cygwin.com/ml/cygwin/2000-11/msg01176.html}.
-
-@subsection Why doesn't @samp{mkdir -p} work on a network share?
-
-Starting with @samp{coreutils-5.3.0-6} and @samp{cygwin-1.5.17}, you can
-do something like this:
-
-@example
-bash$ mkdir -p //MACHINE/Share/path/to/new/dir
-@end example
-
-However, coreutils expects Unix path names, so something like
-@samp{mkdir -p \\\\machine\\share\\path} will fail.
-
-@subsection Why doesn't my shell script work?
-
-There are two basic problems you might run into. One is the fact that
-/bin/sh is really ash, and is missing some features you might expect
-in /bin/sh, particularly if you are used to /bin/sh actually being
-bash (Linux) or ksh (Tru64). For example:
-
-@itemize bullet
-@item No `~' expansion (use $HOME instead)
-@item No job control
-@item No getopts
-@item No let
-@item No functions exported
-@item Must use `.' instead of `source' (true of sh and ksh too, not just ash)
-@end itemize
-
-Or, it could be a permission problem, and Cygwin doesn't understand that
-your script is executable. Because @samp{chmod} may not work (see FAQ
-entry above), Cygwin must read the contents of files to determine if
-they are executable. If your script does not start with
-
-@example
- #! /bin/sh
-@end example
-
-(or any path to a script interpreter, it does not have to be /bin/sh)
-then Cygwin will not know it is an executable script. The Bourne shell
-idiom
-
-@example
- :
- # This is the 2nd line, assume processing by /bin/sh
-@end example
-
-also works.
-
-Note that you can use @samp{mount -x} to force Cygwin to treat all files
-under the mount point as executable. This can be used for individual
-files as well as directories. Then Cygwin will not bother to read files
-to determine whether they are executable.
-
-@subsection How do I print under Cygwin?
-
-There is no working lp or lpr system as you would find on UNIX.
-
-Jason Tishler has written a couple of messages that explain how to use
-a2ps (for nicely formatted text in PostScript) and ghostscript (to print
-PostScript files on non-PostScript Windows printers). Start at
-@file{http://cygwin.com/ml/cygwin/2001-04/msg00657.html}. Note that the
-@samp{file} command is now available as part of Cygwin setup.
-
-Alternatively, on NT, you can use the Windows @samp{print} command. (It
-does not seem to be available on Win9x.) Type
-
-@example
- bash$ print /\?
-@end example
-
-for usage instructions (note the @samp{?} must be escaped from the
-shell).
-
-Finally, you can simply @samp{cat} the file to the printer's share name:
-
-@example
- bash$ cat myfile > //host/printer
-@end example
-
-You may need to press the formfeed button on your printer or append the
-formfeed character to your file.
-
-@subsection Why don't international (Unicode) characters work?
-
-Internationalization is a complex issue. The short answer is that
-Cygwin is not Unicode-aware, so things that might work in Linux will
-not necessarily work on Cygwin. However, some things do work. To type
-international characters (£åäö) in @code{bash}, add the following
-lines to your @code{~/.inputrc} file and restart @code{bash}:
-
-@example
- set meta-flag on
- set convert-meta off
- set output-meta on
- set input-meta on
- set kanji-code sjis
- set meta-flag on
-@end example
-
-These are options to the @code{readline} library, which you can read
-about in the @code{bash(1)} and @code{readline(3)} man pages. Other
-tools that do not use @code{readline} for display, such as @code{less}
-and @code{ls}, require additional settings, which could be put in your
-@code{~/.bashrc}:
-@example
-alias less='/bin/less -r'
-alias ls='/bin/ls -F --color=tty --show-control-chars'
-export LANG="ja_JP.SJIS"
-export OUTPUT_CHARSET="sjis"
-@end example
-These examples use the Japanese Shift-JIS character set, obviously
-you will want to change them for your own locale.
-
-
-@subsection Why don't cursor keys work under Win95/Win98?
-
-@strong{(Please note: This section has not yet been updated for the latest
-net release.)}
-
-Careful examination shows that they not just non-functional, but
-rather behave strangely, for example, with NumLock off, keys on numeric
-keyboard work, until you press usual cursor keys, when even numeric
-stop working, but they start working again after hitting alphanumeric
-key, etc. This reported to happen on localized versions of Win98 and
-Win95, and not specific to Cygwin; there are known cases of Alt+Enter
-(fullscreen/windowed toggle) not working and shifts sticking with
-other programs. The cause of this problem is Microsoft keyboard
-localizer which by default installed in 'autoexec.bat'. Corresponding
-line looks like:
-
-@example
-keyb ru,,C:\WINDOWS\COMMAND\keybrd3.sys
-@end example
-
-(That's for russian locale.) You should comment that line if you want
-your keys working properly. Of course, this will deprive you of your
-local alphabet keyboard support, so you should think about
-another localizer. ex-USSR users are of course knowledgeable of Keyrus
-localizer, and it might work for other locales too, since it has keyboard
-layout editor. But it has russian messages and documentation ;-(
-Reference URL is http://www.hnet.ru/software/contrib/Utils/KeyRus/
-(note the you may need to turn off Windows logo for Keyrus to operate
-properly).
-
-@subsection Is it OK to have multiple copies of the DLL?
-
-You should only have one copy of the Cygwin DLL on your system. If you
-have multiple versions, they will conflict and cause problems.
-
-If you get the error "shared region is corrupted" or "shared region
-version mismatch" it means you have multiple versions of cygwin1.dll
-running at the same time. This could happen, for example, if you update
-cygwin1.dll without exiting @emph{all} Cygwin apps (including inetd)
-beforehand.
-
-The only DLL that is sanctioned by the Cygwin project is the one that
-you get by running @file{http://cygwin.com/setup.exe}, installed in the
-directory controlled by this program. If you have other versions on
-your system and desire help from the cygwin project, you should delete
-or rename all DLLs that are not installed by @file{setup.exe}.
-
-If you're trying to find multiple versions of the DLL that are causing
-this problem, reboot first, in case DLLs still loaded in memory are the
-cause. Then use the Windows System find utility to search your whole
-machine, not just components in your PATH (as 'type' would do) or
-cygwin-mounted filesystems (as Cygwin 'find' would do).
-
-@subsection Why isn't package XYZ available in Cygwin?
-
-Probably because there is nobody willing or able to maintain it. It
-takes time, and the priority for the Cygwin Team is the Cygwin package.
-The rest is a volunteer effort. Want to contribute? See
-@file{http://cygwin.com/setup.html}.
-
-@subsection Why is the Cygwin package of XYZ so out of date?
-
-(Also: Why is the version of package XYZ older than the version that I
-can download from the XYZ web site? Why is the version of package XYZ
-older than the version that I installed on my linux system? Is there
-something special about Cygwin which requires that only an older version
-of package XYZ will work on it?)
-
-Every package in the Cygwin distribution has a maintainer who is
-responsible for sending out updates of the package. This person is a
-volunteer who is rarely the same person as the official developer of the
-package. If you notice that a version of a package seems to be out of
-date, the reason is usually pretty simple -- the person who is
-maintaining the package hasn't gotten around to updating it yet. Rarely,
-the newer package actually requires complex changes that the maintainer
-is working out.
-
-If you urgently need an update, sending a polite message to the cygwin
-mailing list pinging the maintainer is perfectly acceptable. There are
-no guarantees that the maintainer will have time to update the package
-or that you'll receive a response to your request, however.
-
-Remeber that the operative term here is "volunteer".
-
-@subsection How can I access other drives?
-
-You have some flexibility here.
-
-Cygwin has a builtin "cygdrive prefix" for drives that are not mounted.
-You can access any drive, say Z:, as '/cygdrive/z/'.
-
-In some applications (notably bash), you can use the familiar windows
-<drive>:/path/, using posix forward-slashes ('/') instead of Windows
-backward-slashes ('\'). (But see the warning below!) This maps in the
-obvious way to the Windows path, but will be converted internally to use
-the Cygwin path, following mounts (default or explicit). For example:
-@example
- bash$ cd C:/Windows
- bash$ pwd
- /cygdrive/c/Windows
-@end example
-and
-@example
- bash$ cd C:/cygwin
- bash$ pwd
- /
-@end example
-for a default setup. You could also use backward-slashes in the
-Windows path, but these would have to be escaped from the shell.
-
-@strong{Warning:} There is some ambiguity in going from a Windows path
-to the posix path, because different posix paths, through different
-mount points, could map to the same Windows directory. This matters
-because different mount points may be binmode or textmode, so the
-behavior of Cygwin apps will vary depending on the posix path used to
-get there.
-
-You can avoid the ambiguity of Windows paths, and avoid typing
-"/cygdrive", by explicitly mounting drives to posix paths. For example:
-@example
- bash$ mkdir /c
- bash$ mount c:/ /c
- bash$ ls /c
-@end example
-Then @samp{/cygdrive/c/Windows} becomes @samp{/c/Windows} which is a
-little less typing.
-
-Note that you only need to mount drives once. The mapping is kept
-in the registry so mounts stay valid pretty much indefinitely.
-You can only get rid of them with umount, or the registry editor.
-
-The '-b' option to mount mounts the mountpoint in binary mode
-("binmode") where text and binary files are treated equivalently. This
-should only be necessary for badly ported Unix programs where binary
-flags are missing from open calls. It is also the setting for /,
-/usr/bin and /usr/lib in a default Cygwin installation. The default for
-new mounts is text mode ("textmode"), which is also the mode for all
-"cygdrive" mounts.
-
-You can change the default @samp{cygdrive} prefix and whether it is
-binmode or textmode using the @code{mount} command. For example,
-@example
- bash$ mount -b --change-cygdrive-prefix cygdrive
-@end example
-will change all @code{/cygdrive/...} mounts to binmode.
-
-@subsection How can I copy and paste into Cygwin console windows?
-
-First, consider using rxvt instead of the standard console window. In
-rxvt, selecting with the left-mouse also copies, and middle-mouse
-pastes. It couldn't be easier!
-
-Under Windows NT, open the properties dialog of the console window.
-The options contain a toggle button, named "Quick edit mode". It must
-be ON. Save the properties.
-
-Under Windows 9x, open the properties dialog of the console window.
-Select the Misc tab. Uncheck Fast Pasting. Check QuickEdit.
-
-You can also bind the insert key to paste from the clipboard by adding
-the following line to your .inputrc file:
-@example
- "\e[2~": paste-from-clipboard
-@end example
-
-@subsection What firewall should I use with Cygwin?
-
-We have had good reports about Kerio Personal Firewall, ZoneLabs
-Integrity Desktop, and the built-in firewall in Windows XP. Other
-well-known products including ZoneAlarm and Norton Internet Security have
-caused problems for some users but work fine for others. At last report,
-Agnitum Outpost did not work with Cygwin. If you are having strange
-connection-related problems, disabling the firewall is a good
-troubleshooting step (as is closing or disabling all other running
-applications, especially resource-intensive processes such as indexed
-search).
-
-On the whole, Cygwin doesn't care which firewall is used. The few rare
-exceptions have to do with socket code.
-Cygwin uses sockets to implement many of its functions, such as IPC.
-Some overzealous firewalls install themselves deeply into the winsock
-stack (with the 'layered service provider' API) and install hooks
-throughout. Sadly the mailing list archives are littered with examples
-of poorly written firewall-type software that causes things to break.
-Note that with many of these products, simply disabling the firewall
-does not remove these changes; it must be completely uninstalled.
-
-@subsection How can I share files between Unix and Windows?
-
-During development, we have both Linux boxes running Samba and Windows
-machines. We often build with cross-compilers under Linux and copy
-binaries and source to the Windows system or just toy with them
-directly off the Samba-mounted partition. On dual-boot NT/Windows 9x
-machines, we usually use the FAT filesystem so we can also access the
-files under Windows 9x.
-
-@subsection Is Cygwin case-sensitive? What are managed mounts?
-
-Several Unix programs expect to be able to use to filenames
-spelled the same way, but with different case. A prime example
-of this is perl's configuration script, which wants @code{Makefile} and
-@code{makefile}. WIN32 can't tell the difference between files with
-just different case, so the configuration fails.
-
-To help with this problem, starting in @samp{cygwin-1.5.0} it is
-possible to have a case sensitive Cygwin managed mount. This is an
-experimental feature and should be used with caution. You should only
-use it for directories that are initially unpopulated and are due to
-be completely managed by cygwin (hence the name). So, the best use
-would be to create an empty directory, mount it, and then add files to
-it:
-
-@example
-mkdir /managed-dir
-mount -o managed c:/cygwin/managed-dir /managed-dir
-cd /managed-dir/
-touch makefile
-touch Makefile
-@end example
-
-@subsection What about DOS special filenames?
-
-Files cannot be named com1, lpt1, or aux (to name a few); either as
-the root filename or as the extension part. If you do, you'll have
-trouble. Unix programs don't avoid these names which can make things
-interesting. E.g., the perl distribution has a file called
-@code{aux.sh}. The perl configuration tries to make sure that
-@code{aux.sh} is there, but an operation on a file with the magic
-letters 'aux' in it will hang.
-
-@subsection When it hangs, how do I get it back?
-
-If something goes wrong and the tools hang on you for some reason (easy
-to do if you try and read a file called aux.sh), first try hitting ^C to
-return to bash or the cmd prompt.
-
-If you start up another shell, and applications don't run, it's a good
-bet that the hung process is still running somewhere. Use the Task
-Manager, pview, or a similar utility to kill the process.
-
-And, if all else fails, there's always the reset button/power switch.
-This should never be necessary under Windows NT.
-
-@subsection Why the weird directory structure?
-
-Why do /lib and /usr/lib (and /bin, /usr/bin) point to the same thing?
-
-Why use mounts instead of symbolic links?
-
-Can I use a disk root (e.g., C:\) as Cygwin root? Why is this discouraged?
-
-After a new installation in the default location, your mount points will
-look something like this:
-
-@example
- bash$ mount
- C:\cygwin\bin on /usr/bin type system (binmode)
- C:\cygwin\lib on /usr/lib type system (binmode)
- C:\cygwin on / type system (binmode)
-@end example
-
-(Exactly what you see depends on what options you gave to @code{setup.exe}.)
-
-Note that /bin and /usr/bin point to the same location, as do /lib and
-/usr/lib. This is intentional, and you should not undo these mounts
-unless you @emph{really} know what you are doing.
-
-Various applications and packages may expect to be installed in /lib or
-/usr/lib (similarly /bin or /usr/bin). Rather than distinguish between
-them and try to keep track of them (possibly requiring the occasional
-duplication or symbolic link), it was decided to maintain only one
-actual directory, with equivalent ways to access it.
-
-Symbolic links had been considered for this purpose, but were dismissed
-because they do not always work on Samba drives. Also, mounts are
-faster to process because no disk access is required to resolve them.
-
-Note that non-cygwin applications will not observe Cygwin mounts (or
-symlinks for that matter). For example, if you use WinZip to unpack the
-tar distribution of a Cygwin package, it may not get installed to the
-correct Cygwin path. @emph{So don't do this!}
-
-It is strongly recommended not to make the Cygwin root directory the
-same as your drive's root directory, unless you know what you are doing
-and are prepared to deal with the consequences. It is generally easier
-to maintain the Cygwin hierarchy if it is isolated from, say, C:\. For
-one thing, you avoid possible collisions with other (non-cygwin)
-applications that may create (for example) \bin and \lib directories.
-(Maybe you have nothing like that installed now, but who knows about
-things you might add in the future?)
-
-@subsection How do anti-virus programs like Cygwin?
-
-Users have reported that NAI (formerly McAfee) VirusScan for NT (and
-others?) is incompatible with Cygwin. This is because it tries to scan
-the newly loaded shared memory in cygwin1.dll, which can cause fork() to
-fail, wreaking havoc on many of the tools. (It is not confirmed that
-this is still a problem, however.)
-
-There have been several reports of NAI VirusScan causing the system to
-hang when unpacking tar.gz archives. This is surely a bug in VirusScan,
-and should be reported to NAI. The only workaround is to disable
-VirusScan when accessing these files. This can be an issue during
-setup, and is discussed in that FAQ entry.
-
-Some users report a significant performance hit using Cygwin when their
-anti-virus software is enabled. Rather than disable the anti-virus
-software completely, it may be possible to specify directories whose
-contents are exempt from scanning. In a default installation, this
-would be @samp{@code{C:\cygwin\bin}}. Obviously, this could be
-exploited by a hostile non-Cygwin program, so do this at your own risk.
-
-@subsection Is there a Cygwin port of GNU Emacs?
-
-Yes! It uses the X11 (@file{http://cygwin.com/xfree/}) Windows
-interface. From a remote login shell, this ``emacs -nw'' works fine.
-There is also a non-X11 version which just provides the text-only
-terminal interface. Use Cygwin Setup to install either one (or both).
-
-@subsection What about NT Emacs?
-
-If you want GNU Emacs with a native Microsoft Windows interface, but
-without X, then you must use the native Windows port, commonly known
-as ``NT Emacs''. You get NT Emacs from any GNU mirror. It is not
-available from Cygwin Setup.
-
-NT Emacs uses the Windows command shell by default. Since it is not a
-Cygwin application, it has no knowledge of Cygwin mounts. With those
-points in mind, you need to add the following code to your ~/.emacs
-(or ~/_emacs) file in order to use Cygwin bash. This is particularly useful
-for the JDEE package (@file{http://jdee.sunsite.dk/}). The following
-settings are for Emacs 21.1:
-
-@example
- ;; This assumes that Cygwin is installed in C:\cygwin (the
- ;; default) and that C:\cygwin\bin is not already in your
- ;; Windows Path (it generally should not be).
- ;;
- (setq exec-path (cons "C:/cygwin/bin" exec-path))
- (setenv "PATH" (concat "C:\\cygwin\\bin;" (getenv "PATH")))
- ;;
- ;; NT-emacs assumes a Windows command shell, which you change
- ;; here.
- ;;
- (setq process-coding-system-alist '(("bash" . undecided-unix)))
- (setq shell-file-name "bash")
- (setenv "SHELL" shell-file-name)
- (setq explicit-shell-file-name shell-file-name)
- ;;
- ;; This removes unsightly ^M characters that would otherwise
- ;; appear in the output of java applications.
- ;;
- (add-hook 'comint-output-filter-functions
- 'comint-strip-ctrl-m)
-@end example
-
-If you want NT Emacs to understand Cygwin paths, get
-cygwin-mount.el from @file{http://www.emacswiki.org/elisp/index.html}.
-
-Note that all of this ``just works'' if you use the Cygwin port of
-Emacs from Cygwin Setup.
-
-@subsection What about XEmacs?
-
-For a concise description of the current situation with XEmacs, see
-this message from the Cygwin mailing list:
-@file{http://cygwin.com/ml/cygwin/2002-11/msg00609.html}.
-
-@subsection Is there a better alternative to the standard console window?
-
-Yes! Use rxvt instead. It's an optional package in Cygwin Setup.
-You can use it with or without X11. You can resize it easily by
-dragging an edge or corner. Copy and paste is easy with the left and
-middle mouse buttons, respectively. It will honor settings in your
-~/.Xdefaults file, even without X.
-
-Don't invoke as simply ``rxvt'' because that will run /bin/sh (really
-ash) which is not a good interactive shell. For details see
-@code{/usr/doc/Cygwin/rxvt-<ver>.README}.
-
-@subsection info error "dir: No such file or directory"
-
-Cygwin packages install their info documentation in the
-@code{/usr/share/info} directory. But you need to create a @code{dir}
-file there before the standalone info program (probably
-@code{/usr/bin/info}) can be used to read those info files. This is how
-you do it:
-@example
- bash$ cd /usr/share/info
- bash$ for f in *.info ; do install-info $f dir ; done
-@end example
-This may generate warnings:
-@example
- install-info: warning: no info dir entry in `gzip.info'
- install-info: warning: no info dir entry in `time.info'
-@end example
-The @code{install-info} command cannot parse these files, so you will
-have to add their entries to @code{/usr/share/info/dir} by hand.
-
-Even if the dir file already exists, you may have to update it when
-you install new Cygwin packages. Some packages update the dir file
-for you, but many don't.
-
-@subsection Why do I get a message saying Out of Queue slots?
-
-"Out of queue slots!" generally occurs when you're trying to remove
-many files that you do not have permission to remove (either because
-you don't have permission, they are opened exclusively, etc). What
-happens is Cygwin queues up these files with the supposition that it
-will be possible to delete these files in the future. Assuming that
-the permission of an affected file does change later on, the file will
-be deleted as requested. However, if too many requests come in to
-delete inaccessible files, the queue overflows and you get the message
-you're asking about. Usually you can remedy this with a quick chmod,
-close of a file, or other such thing. (Thanks to Larry Hall for
-this explanation).
-
-@subsection Why don't symlinks work on samba-mounted filesystems?
-
-Symlinks are marked with "system" file attribute. Samba does not
-enable this attribute by default. To enable it, consult your Samba
-documentation and then add these lines to your samba configuration
-file:
-
-@smallexample
- map system = yes
- create mask = 0775
-@end smallexample
-
-Note that the 0775 can be anything as long as the 0010 bit is set.
-
-@subsection Why does df report sizes incorrectly.
-
-There is a bug in the Win32 API function GetFreeDiskSpace that
-makes it return incorrect values for disks larger than 2 GB in size.
-Perhaps that may be your problem?
-
-@subsection Why doesn't Cygwin tcl/tk understand Cygwin paths?
-
-The versions of Tcl/Tk distributed with Cygwin (e.g. cygtclsh80.exe,
-cygwish80.exe) are not actually "Cygwin versions" of those tools.
-They are built with the @samp{-mno-cygwin} option to @code{gcc}, which
-means they do not understand Cygwin mounts or symbolic links.
-
-See the entry "How do I convert between Windows and UNIX paths?"
-elsewhere in this FAQ.
diff --git a/winsup/doc/how.texinfo b/winsup/doc/how.texinfo
deleted file mode 100644
index 4c7385ba4..000000000
--- a/winsup/doc/how.texinfo
+++ /dev/null
@@ -1,6 +0,0 @@
-@chapter Question and Answers
-
-@include how-resources.texinfo
-@include how-using.texinfo
-@include how-api.texinfo
-@include how-programming.texinfo
diff --git a/winsup/doc/install.texinfo b/winsup/doc/install.texinfo
deleted file mode 100644
index 372be44d2..000000000
--- a/winsup/doc/install.texinfo
+++ /dev/null
@@ -1,374 +0,0 @@
-@chapter Installation Instructions
-@section Contents
-
-There is only one recommended way to install Cygwin, which is to use the GUI
-installer ``Cygwin Setup''. It is flexible and easy to use.
-You can pick and choose the packages you wish to install, and update
-them individually. Full source code is available for all packages and
-tools. More information on using Cygwin Setup may be found at
-@file{http://cygwin.com/cygwin-ug-net/setup-net.html}.
-
-If you do it any other way, you're on your own! That said, keep in mind
-that the GUI installer is a "work in progress", so there might be a few
-difficulties, especially if you are behind a firewall or have other
-specific requirements. If something doesn't work right for you, and
-it's not covered here or in the latest development snapshot at
-@file{http://cygwin.com/setup/}, then by all means report it to the
-mailing list.
-
-For a searchable list of packages that can be installed with Cygwin,
-see @file{http://cygwin.com/packages/}.
-
-@section Installation using ``Cygwin Setup''
-
-The Cygwin Setup program is the @emph{only} recommended way to install
-Cygwin.
-
-@subsection Why not install in C:\?
-
-The Cygwin Setup program will prompt you for a "root" directory.
-The default is @samp{C:\cygwin}, but you can change it. You are urged not to
-choose something like @samp{C:\} (the root directory on the system drive) for
-your Cygwin root. If you do, then critical Cygwin system directories
-like @samp{etc}, @samp{lib} and @samp{bin} could easily be corrupted by
-other (non-Cygwin) applications or packages that use @samp{\etc},
-@samp{\lib} or @samp{\bin}. Perhaps there is no conflict now, but who
-knows what you might install in the future? It's also just good common
-sense to segregate your Cygwin "filesystems" from the rest of your
-Windows system disk.
-
-(In the past, there had been genuine bugs that would cause problems
-for people who installed in @samp{C:\}, but we believe those are gone
-now.)
-
-@subsection Can I use Cygwin Setup to get old versions of packages (like gcc-2.95)?
-
-Cygwin Setup can be used to install any packages that are on a
-Cygwin mirror, which usually includes one version previous to the
-current one. The complete list may be searched at
-@file{http://cygwin.com/packages/}. There is no complete archive of
-older packages. If you have a problem with the current version of
-a Cygwin package, please report it to the mailing list using the
-guidelines at @file{http://cygwin.com/problems.html}.
-
-That said, if you really need an older package, you may be able to find
-an outdated or archival mirror by searching the web for an old package
-version (for example, @samp{gcc2-2.95.3-10-src.tar.bz2}), but keep in
-mind that this older version will not be supported by the mailing list
-and that installing the older version will not help improve Cygwin.
-
-@subsection Is Cygwin Setup, or one of the packages, infected with a virus?
-
-Unlikely. Unless you can confirm it, please don't report it to the
-mailing list. Anti-virus products have been known to detect false
-positives when extracting compressed tar archives. If this causes
-problems for you, consider disabling your anti-virus software when
-running @code{setup}. Read the next entry for a fairly safe way to do
-this.
-
-@subsection My computer hangs when I run Cygwin Setup!
-
-Both Network Associates (formerly McAfee) and Norton anti-virus
-products have been reported to "hang" when extracting Cygwin tar
-archives. If this happens to you, consider disabling your anti-virus
-software when running Cygwin Setup. The following procedure should be
-a fairly safe way to do that:
-
-@enumerate
-@item Download @code{setup.exe} and scan it explicitly.
-
-@item Turn off the anti-virus software.
-
-@item Run setup to download and extract all the tar files.
-
-@item Re-activate your anti-virus software and scan everything
-in C:\cygwin (or wherever you chose to install), or your entire hard
-disk if you are paranoid.
-
-@end enumerate
-
-This should be safe, but only if Cygwin Setup is not substituted by
-something malicious, and no mirror has been compromised.
-
-@subsection What packages should I download? Where are 'make', 'gcc', 'vi', etc?
-When using Cygwin Setup for the first time, the default is to install
-a minimal subset of packages. If you want anything beyond that, you
-will have to select it explicitly. See
-@file{http://cygwin.com/packages/} for a searchable list of available
-packages.
-
-If you want to build programs, of course you'll need @samp{gcc},
-@samp{binutils}, @samp{make} and probably other packages from the
-``Devel'' category. Text editors can be found under ``Editors''.
-
-@subsection How do I just get everything?
-
-Long ago, the default was to install everything, much to the
-irritation of most users. Now the default is to install only a basic
-core of packages. Cygwin Setup is designed to make it easy to browse
-categories and select what you want to install or omit from those
-categories. It's also easy to install everything:
-
-@enumerate
-
-@item At the ``Select Packages'' screen, in ``Categories'' view, at the line
-marked ``All'', click on the word ``default'' so that it changes to
-``install''. (Be patient, there is some computing to do at this step.
-It may take a second or two to register the change.) This tells Setup
-to install @emph{everything}, not just what it thinks you should have
-by default.
-
-@item Now click on the ``View'' button (twice) until you get the
-``Partial'' view. This shows exactly which packages are about to be
-downloaded and installed.
-
-@end enumerate
-
-This procedure only works for packages that are currently available.
-There is no way to tell Cygwin Setup to install all packages by
-default from now on. As new packages become available that would not
-be installed by default, you have to repeat the above procedure to get
-them.
-
-In general, a better method (in my opinion), is to:
-
-@enumerate
-
-@item First download & install all packages that would normally be
-installed by default. This includes fundamental packages and any
-updates to what you have already installed. Then...
-
-@item Run Cygwin Setup again, and apply the above technique to get all
-new packages that would not be installed by default. You can check
-the list in the Partial View before proceeding, in case there's
-something you really @emph{don't} want.
-
-@item In the latest version of Cygwin Setup, if you click the ``View''
-button (twice) more, it shows packages not currently installed. You
-ought to check whether you @emph{really} want to install everything!
-
-@end enumerate
-
-@subsection How much disk space does Cygwin require?
-
-That depends, obviously, on what you've chosen to download and
-install. A full installation today is probably larger than 800MB
-installed, not including the package archives themselves nor the source
-code.
-
-After installation, the package archives remain in your ``Local
-Package Directory'', by default the location of @code{setup.exe}. You
-may conserve disk space by deleting the subdirectories there. These
-directories will have very weird looking names, being encoded with
-their URLs.
-
-@subsection What if setup fails?
-
-First, make sure that you are using the latest version of Cygwin
-Setup. The latest version is always available from the 'Install
-Cygwin now' link on the Cygwin Home Page at @file{http://cygwin.com/}.
-
-If you are downloading from the Internet, setup will fail if it cannot
-download the list of mirrors at
-@file{http://cygwin.com/mirrors.html}. It could be that
-the network is too busy. Something similar could be the cause of a
-download site not working. Try another mirror, or try again later.
-
-If setup refuses to download a package that you know needs to be
-upgraded, try deleting that package's entry from /etc/setup. If you are
-reacting quickly to an announcement on the mailing list, it could be
-that the mirror you are using doesn't have the latest copy yet. Try
-another mirror, or try again tomorrow.
-
-If setup has otherwise behaved strangely, check the files
-@samp{setup.log} and @samp{setup.log.full} in @code{/var/log}
-(@code{C:\cygwin\var\log} by default). It may provide some clues as
-to what went wrong and why.
-
-If you're still baffled, search the Cygwin mailing list for clues.
-Others may have the same problem, and a solution may be posted there.
-If that search proves fruitless, send a query to the Cygwin mailing
-list. You must provide complete details in your query: version of
-setup, options you selected, contents of setup.log and setup.log.full,
-what happened that wasn't supposed to happen, etc.
-
-@subsection My Windows logon name has a space in it, will this cause problems?
-
-Most definitely yes! UNIX shells (and thus Cygwin) use the space
-character as a word delimiter. Under certain circumstances, it is
-possible to get around this with various shell quoting mechanisms, but
-you are much better off if you can avoid the problem entirely.
-
-On Windows NT/2000/XP you have two choices:
-@enumerate
-
-@item You can rename the user in the Windows User Manager GUI and then
-run mkpasswd.
-
-@item You can simply edit the /etc/passwd file and change the Cygwin user name
-(first field). It's also a good idea to avoid spaces in the home directory.
-
-@end enumerate
-
-On Windows 95/98/ME you can create a new user and run mkpasswd,
-or you can delete the offending entry from /etc/passwd.
-Cygwin will then use the name in the default entry with uid 500.
-
-@subsection My @samp{HOME} environment variable is not what I want.
-
-When starting Cygwin from Windows, @samp{HOME} is determined as follows
-in order of decreasing priority:
-
-@enumerate
-
-@item @samp{HOME} from the Windows environment, translated to POSIX form.
-
-@item The entry in /etc/passwd
-
-@item @samp{HOMEDRIVE} and @samp{HOMEPATH} from the Windows environment
-
-@item /
-
-@end enumerate
-
-When using Cygwin from the network (telnet, ssh,...), @samp{HOME} is set
-from /etc/passwd.
-
-If your @samp{HOME} is set to a value such as /cygdrive/c, it is likely
-that it was set in Windows. Start a DOS Command Window and type
-"set HOME" to verify if this is the case.
-
-Access to shared drives is often restricted when starting from the network,
-thus Domain users may wish to have a different @samp{HOME} in the
-Windows environment (on shared drive) than in /etc/passwd (on local drive).
-Note that ssh only considers /etc/passwd, disregarding @samp{HOME}.
-
-@subsection How do I uninstall individual packages?
-
-Run Cygwin Setup as you would to install packages. In the list of
-packages to install, browse the relevant category or click on the
-``View'' button to get a full listing. Click on the cycle glyph until
-the action reads ``Uninstall''. Proceed by clicking ``Next''.
-
-@subsection How do I uninstall @strong{all} of Cygwin?
-
-Setup has no automatic uninstall facility. The recommended method to remove all
-of Cygwin is as follows:
-
-@enumerate
-
-@item Remove all Cygwin services. If a service is currently running, it must
-first be stopped with @samp{cygrunsrv -E name}, where @samp{name}
-is the name of the service. Then use @samp{cygrunsrv -R name} to uninstall the
-service from the registry. Repeat this for all services that you installed.
-Common services that might have been installed are @code{sshd}, @code{cron},
-@code{cygserver}, @code{inetd}, @code{apache}, and so on.
-
-@item Stop the X11 server if it is running, and terminate any Cygwin programs
-that might be running in the background. Remove all mount information by typing
-@samp{umount -A} and then exit the command prompt and ensure that no Cygwin
-processes remain. Note: If you want to save your mount points for a later
-reinstall, first save the output of @samp{mount -m} as described at
-@file{http://cygwin.com/cygwin-ug-net/using-utils.html#mount}.
-
-@item Delete the Cygwin root folder and all subfolders. If you get an error
-that an object is in use, then ensure that you've stopped all services and
-closed all Cygwin programs. If you get a 'Permission Denied' error then you
-will need to modify the permissions and/or ownership of the files or folders
-that are causing the error. For example, sometimes files used by system
-services end up owned by the SYSTEM account and not writable by regular users.
-
-The quickest way to delete the entire tree if you run into this problem is to
-change the ownership of all files and folders to your account. To do this in
-Windows Explorer, right click on the root Cygwin folder, choose Properties, then
-the Security tab. Select Advanced, then go to the Owner tab and make sure your
-account is listed as the owner. Select the 'Replace owner on subcontainers and
-objects' checkbox and press Ok. After Explorer applies the changes you should
-be able to delete the entire tree in one operation. Note that you can also
-achieve this in Cygwin by typing @samp{chown -R user /} or by using other tools
-such as CACLS.EXE.
-
-@item Delete the Cygwin shortcuts on the Desktop and Start Menu, and anything
-left by setup.exe in the download directory. However, if you plan to reinstall
-Cygwin it's a good idea to keep your setup.exe download directory since you can
-reinstall the packages left in its cache without redownloading them.
-
-@item If you added Cygwin to your system path, you should remove it unless you
-plan to reinstall Cygwin to the same location. Similarly, if you set your
-CYGWIN environment variable system-wide and don't plan to reinstall, you should
-remove it.
-
-@item Finally, if you want to be thorough you can delete the registry tree
-@samp{Software\Cygnus Solutions} under @code{HKEY_LOCAL_MACHINE} and/or
-@code{HKEY_CURRENT_USER}. However, if you followed the directions above you
-will have already removed all the mount information which is typically the only
-thing stored in the registry.
-
-@end enumerate
-
-@subsection How do I install snapshots?
-
-First, are you sure you want to do this? Snapshots are risky. They
-have not been tested. Use them @strong{only} if there is a feature or
-bugfix that you need to try, and you are willing to deal with any
-problems.
-
-Before installing a snapshot, you must first Close @strong{all} Cygwin
-applications, including shells and services (e.g. inetd, sshd), before
-updating @code{cygwin1.dll}. You may have to restart Windows to clear
-the DLL from memory.
-
-You cannot use Setup to install a snapshot.
-
-You should generally install the full
-@code{cygwin-inst-YYYYMMDD.tar.bz2} update, rather than just the DLL,
-otherwise some components may be out of sync. Cygwin tar won't be
-able to update @code{/usr/bin/cygwin1.dll}, but it should succeed with
-everything else.
-
-@enumerate
-
-@item Download the snapshot, and run:
-@example
- cd /
- tar jxvf /posix/path/to/cygwin-inst-YYYYMMDD.tar.bz2 --exclude=usr/bin/cygwin1.dll
- cd /tmp
- tar jxvf /posix/path/to/cygwin-inst-YYYYMMDD.tar.bz2 usr/bin/cygwin1.dll
-@end example
-
-@item After closing all Cygwin apps (see above), use Explorer or the
-Windows command shell to move @code{C:\cygwin\tmp\usr\bin\cygwin1.dll}
-to @code{C:\cygwin\bin\cygwin1.dll}.
-
-@end enumerate
-
-@subsection Can Cygwin Setup maintain a ``mirror''?
-
-NO. Cygwin Setup cannot do this for you. Use a tool designed for
-this purpose. See @file{http://rsync.samba.org/},
-@file{http://wget.sunsite.dk/} for utilities that can do this for you.
-For more information on setting up a custom Cygwin package server, see
-the Cygwin Setup homepage at
-@file{http://sources.redhat.com/cygwin-apps/setup.html}.
-
-@subsection How can I make my own portable Cygwin on CD?
-
-While some users have successfully done this, for example Indiana
-University's XLiveCD @file{http://xlivecd.indiana.edu/}, there is no
-easy way to do it. Full instructions for constructing a porttable Cygwin
-on CD by hand can be found on the mailing list at
-@file{http://www.cygwin.com/ml/cygwin/2003-07/msg01117.html}. (Thanks
-to fergus at bonhard dot uklinux dot net for these instructions.)
-
-@subsection How do I save, restore, delete, or modify the Cygwin information stored in the registry?
-
-Currently Cygwin stores its mount table information in the registry. It
-is recommended that you use the @samp{mount} and @samp{umount} commands
-to manipulate the mount information instead of directly modifying the
-registry.
-
-To save the mount information to a file for later restoration, use
-@samp{mount -m > mounts.bat} To remove all mount information use
-@samp{umount -A}. To reincorporate saved mount information just run the
-batch file. For more information on using @samp{mount}, see
-@file{http://cygwin.com/cygwin-ug-net/using-utils.html#mount}.
diff --git a/winsup/doc/legal.sgml b/winsup/doc/legal.sgml
deleted file mode 100644
index 71ff3f96d..000000000
--- a/winsup/doc/legal.sgml
+++ /dev/null
@@ -1,30 +0,0 @@
-<legalnotice id="legal">
-
-<para>Copyright &copy; 1998, 1999, 2000, 2001, 2002, 2003 Red Hat, Inc.</para>
-
-<!--
-
-<para>GNUPro&trade;, the GNUPro&trade; logo, and the Red Hat
-logo are trademarks of Red Hat, Inc. All other brand and product
-names are trademarks of their respective owners.</para>
-
-<para>Permission is granted to make and distribute verbatim copies of
-this documentation provided the copyright notice and this permission
-notice are preserved on all copies.</para>
-
-<para>Permission is granted to copy and distribute modified versions
-of this documentation under the conditions for verbatim copying,
-provided that the entire resulting derived work is distributed under
-the terms of a permission notice identical to this one.</para>
-
-<para>Permission is granted to copy and distribute translations of
-this documentation into another language, under the above conditions
-for modified versions, except that this permission notice may be
-stated in a translation approved by the Free Software
-Foundation.</para>
-
-<para>This documentation has been prepared by Red Hat, Inc.
-Technical Publications.</para>
--->
-
-</legalnotice>
diff --git a/winsup/doc/ntsec.sgml b/winsup/doc/ntsec.sgml
deleted file mode 100644
index 4859feb48..000000000
--- a/winsup/doc/ntsec.sgml
+++ /dev/null
@@ -1,834 +0,0 @@
-<sect1 id="ntsec"><title>NT security and usage of <literal>ntsec</literal></title>
-
-<para>The setting of UNIX like object permissions is controlled by the
-<link linkend="using-cygwinenv"><envar>CYGWIN</envar> environment
-variable</link> setting <literal>(no)ntsec</literal> which is set to
-<literal>ntsec</literal> by default.</para>
-
-<para>The design goal of <literal>ntsec</literal> is to get a more UNIX-like
-permission structure based upon the security features of Windows NT.
-To describe the changes, I will first give a short overview in
-<xref linkend="ntsec-common"></xref>.
-</para>
-<para><link linkend="ntsec-processes" endterm="ntsec-processes.title"></link>
-discusses the changes in ntsec related to privileges on processes.</para>
-
-<para><link linkend="ntsec-files" endterm="ntsec-files.title"></link> shows
-the basics of UNIX-like setting of file permissions.</para>
-
-<para><link linkend="ntsec-sids" endterm="ntsec-sids.title"></link>
-talks about using SIDs in <filename>/etc/passwd</filename> and
-<filename>/etc/group</filename>.</para>
-
-<para><link linkend="ntsec-mapping" endterm="ntsec-mapping.title"></link>
-illustrates the permission mapping leak of Windows NT.</para>
-
-<para><link linkend="ntsec-aclfuncs" endterm="ntsec-aclfuncs.title"></link>
-describes in short the ACL API since release 1.1.</para>
-
-<para><link linkend="ntsec-setuid" endterm="ntsec-setuid.title"></link>
-describes the new support of a setuid concept introduced with release
-1.1.3.</para>
-
-<para><link linkend="ntsec-switch" endterm="ntsec-switch.title"></link>
-gives the basics of using the SYSTEM user to switch user context.
-</para>
-
-<para><link linkend="ntsec-ids" endterm="ntsec-ids.title"></link>
-explains the way Cygwin shows users and groups that are not in
-<filename>/etc/passwd</filename> or <filename>/etc/group</filename>.
-</para>
-
-<sect2 id="ntsec-common"><title>NT security</title>
-
-<para>The NT security allows a process to allow or deny access of
-different kind to `objects'. `Objects' are files, processes,
-threads, semaphores, etc.</para>
-
-<para>The main data structure of NT security is the `security descriptor'
-(SD) structure. It explains the permissions, that are granted (or denied)
-to an object and contains information, that is related to so called
-`security identifiers' (SID).</para>
-
-<para>A SID is a unique identifier for users, groups and domains.
-SIDs are comparable to UNIX UIDs and GIDs, but are more complicated
-because they are unique across networks. Example:</para>
-
-<para>SID of a system `foo':</para>
-
-<screen>
- S-1-5-21-165875785-1005667432-441284377
-</screen>
-
-<para>SID of a user `johndoe' of the system `foo':</para>
-
-<screen>
- S-1-5-21-165875785-1005667432-441284377-1023
-</screen>
-
-<para>The above example shows the convention for printing SIDs. The leading
-`S' should show that it is a SID. The next number is a version number which
-is always 1. The next number is the so called `top-level authority' that
-identifies the source that issued the SID.</para>
-
-<para>While each system in a NT network has it's own SID, the situation
-is modified in NT domains: The SID of the domain controller is the
-base SID for each domain user. If an NT user has one account as domain
-user and another account on his local machine, these accounts are under
-any circumstances DIFFERENT, regardless of the usage of the same user
-name and password!</para>
-
-<para>SID of a domain `bar':</para>
-
-<screen>
- S-1-5-21-186985262-1144665072-740312968
-</screen>
-
-<para>SID of a user `johndoe' in the domain `bar':</para>
-
-<screen>
- S-1-5-21-186985262-1144665072-740312968-1207
-</screen>
-
-<para>The last part of the SID, the so called `relative identifier' (RID),
-is by default used as UID and/or GID under Cygwin. As the name and the
-above example implies, this id is unique only relative to one system or
-domain.</para>
-
-<para>Note, that it's possible that a user has the same RID on two
-different systems. The resulting SIDs are nevertheless different, so
-the SIDs are representing different users in an NT network.</para>
-
-<para>There is a big difference between UNIX IDs and NT SIDs: the existence of
-the so called `well known groups'. For example UNIX has no GID for the
-group of `all users'. NT has an SID for them, called `Everyone' in the
-English versions. The SIDs of well-known groups are not unique across
-an NT network but their meanings are unmistakable.
-Examples of well-known groups:</para>
-
-<screen>
-everyone S-1-1-0
-creator/owner S-1-3-0
-batch process (via `at') S-1-5-3
-authenticated users S-1-5-11
-system S-1-5-18
-</screen>
-
-<para>The last important group of SIDs are the `predefined groups'. This
-groups are used mainly on systems outside of domains to simplify the
-administration of user permissions. The corresponding SIDs are not unique
-across the network so they are interpreted only locally:</para>
-
-<screen>
-administrators S-1-5-32-544
-users S-1-5-32-545
-guests S-1-5-32-546
-...
-</screen>
-
-<para>Now, how are permissions given to objects? A process may assign an SD
-to the object. The SD of an object consists of three parts:</para>
-
-<itemizedlist spacing="compact">
-<listitem><para>the SID of the owner </para></listitem>
-<listitem><para>the SID of the group </para></listitem>
-<listitem><para>a list of SIDs with their permissions, called
-`access control list' (ACL) </para></listitem>
-</itemizedlist>
-
-<para>UNIX is able to create three different permissions, the permissions
-for the owner, for the group and for the world. In contrast the ACL
-has a potentially infinite number of members. Every member is a so called
-`access control element' (ACE). An ACE contains three parts:</para>
-
-<itemizedlist spacing="compact">
-<listitem><para>the type of the ACE </para></listitem>
-<listitem><para>permissions, described with a DWORD </para></listitem>
-<listitem><para>the SID, for which the above mentioned permissions are
-set </para></listitem>
-</itemizedlist>
-
-<!-- Is the historical note really important here? we're at version 1.5.9, after all.. -->
-<para>The two important types of ACEs are the `access allowed ACE' and the
-`access denied ACE'. The ntsec functionality only used `access allowed ACEs' up
-to Cygwin version 1.1.0. Later versions also use `access denied ACEs'
-to reflect the UNIX permissions as well as possible.</para>
-
-<para>The possible permissions on objects are more detailed than in
-UNIX. For example, the permission to delete an object is different
-from the write permission.</para>
-
-<para>With the aforementioned method NT is able to grant or revoke permissions
-to objects in a far more specific way. But what about cygwin? In a POSIX
-environment it would be fine to have the security behavior of a POSIX
-system. The NT security model is MOSTLY able to reproduce the POSIX model.
-The ntsec method tries to do this in cygwin.</para>
-
-<para>You ask "Mostly? Why mostly???" Because there's a leak in the NT model.
-I will describe that in detail in chapter 5.</para>
-
-<para>Creating explicit object security is not that easy so you will often
-see only two simple variations in use:</para>
-
-<itemizedlist spacing="compact">
-<listitem><para>default permissions, computed by the operating system </para></listitem>
-<listitem><para>each permission to everyone </para></listitem>
-</itemizedlist>
-
-<para>For parameters to functions that create or open securable objects another
-data structure is used, the `security attributes' (SA). This structure
-contains an SD and a flag that specifies whether the returned handle
-to the object is inherited to child processes or not.
-This property is not important for ntsec so in
-this document the difference between SDs and SAs is ignored.</para>
-
-</sect2>
-
-<sect2 id="ntsec-processes"><title id="ntsec-processes.title">Process privileges</title>
-
-<para>Any process started under control of Cygwin has a semaphore attached
-to it, that is used for signaling purposes. The creation of this semaphore
-can be found in sigproc.cc, function `getsem'. The first parameter to the
-function call `CreateSemaphore' is an SA. Without ntsec this SA
-assigns default security to the semaphore. There is a simple disadvantage:
-Only the owner of the process may send signals to it. Or, in other words,
-if the owner of the process is not a member of the administrators' group,
-no administrator may kill the process! This is especially annoying, if
-processes are started via service manager.</para>
-
-<para>Ntsec now assigns an SA to the process control semaphore, that
-has each permission set for the user of the process, for the
-administrators' group and for `system', which is a synonym for the
-operating system itself. The creation of this SA is done by the function
-`sec_user', that can be found in `shared.cc'. Each member of the
-administrators' group is now allowed to send signals to any process
-created in Cygwin, regardless of the process owner.</para>
-
-<para>Moreover, each process now has the appropriate security settings, when
-it is started via `CreateProcess'. You will find this in function
-`spawn_guts' in module `spawn.cc'. The security settings for starting a
-process in another user context have to add the SID of the new user, too.
-In the case of the `CreateProcessAsUser' call, sec_user creates an SA with
-an additional entry for the sid of the new user.</para>
-
-</sect2>
-
-<sect2 id="ntsec-files"><title id="ntsec-files.title">File permissions</title>
-
-<para>If ntsec is turned on, file permissions are set as in UNIX. An SD is
-assigned to the file containing the owner and group and ACEs for the
-owner, the group and `Everyone'.</para>
-
-<para>The complete settings of UNIX like permissions can be found in the file
-`security.cc'. The two functions `get_nt_attribute' and `set_nt_attribute'
-are the main code. The reading and writing of the SDs is done by the
-functions `read_sd' and `write_sd'. `write_sd' uses the function `BackupRead'
-instead of the simpler function `SetFileSecurity' because the latter is
-unable to set owners different from the caller.</para>
-
-<para>If you are creating a file `foo' outside of Cygwin, you will see something
-like the following on <command>ls -ln</command>:</para>
-
-<para>If your login is member of the administrators' group:</para>
-<screen>
- rwxrwxrwx 1 544 513 ... foo
-</screen>
-<para>if not:</para>
-<screen>
- rwxrwxrwx 1 1000 513 ... foo
-</screen>
-
-<para>Note the user and group IDs. 544 is the UID of the administrators' group.
-This is a `feature' <literal>:-P</literal> of WinNT. If you are a member of
-the administrators' group, every file that you create is owned by the
-administrators' group, instead of by you.</para>
-
-<para>The second example shows the UID of the first user, that has been
-created with NT's the user administration tool. The users and groups are
-sequentially numbered, starting with 1000. Users and groups are using the
-same numbering scheme, so a user and a group don't share the same ID.</para>
-
-<para>In both examples the GID 513 is of special interest. This GID is a
-well known group with different naming in local systems and domains.
-Outside of domains the group is named 'None' (`Kein' in German, `Aucun'
-in French, etc.), in domains it is named 'Domain Users'. Unfortunately,
-the group `None' is never shown in the user admin tool outside of domains!
-This is very confusing but this seems to have no negative consequences.</para>
-
-<para>To work correctly, ntsec depends on the files
-<filename>/etc/passwd</filename> and <filename>/etc/group</filename>.
-In Cygwin release 1.0 the names and the IDs must correspond to the
-appropriate NT IDs! The IDs used in Cygwin are the RID of the NT SID, as
-mentioned earlier.
-A SID of e.g. the user `corinna' on my NT workstation:</para>
-
-<screen>
- S-1-5-21-165875785-1005667432-441284377-1000
-</screen>
-
-<para>Note the last number: It's the RID 1000, Cygwin's UID.</para>
-
-<para>Unfortunately, workstations and servers outside of domains are not
-able to set primary groups! In these cases, where there is no correlation
-of users to primary groups, NT returns 513 (None) as primary group,
-regardless of the membership to existing local groups.</para>
-
-<para>When using <command>mkpasswd -l -g</command> on such systems, you
-have to change the primary group by hand if `None' as primary group is
-not what you want (and I'm sure, it's not what you want!)</para>
-
-<para>Look at the following examples, which were parts of my files before
-storing SIDs in /etc/passwd and /etc/group had been introduced (See next
-chapter for details). With the exception of my personal user entry, all
-entries are well known entries.</para>
-
-<example>
-<title>/etc/passwd</title>
-<screen>
-everyone:*:0:0:::
-system:*:18:18:::
-administrator::500:544::/home/root:/bin/bash
-guest:*:501:546:::
-administrators:*:544:544::/home/root:
-corinna::1000:547:Corinna Vinschen:/home/corinna:/bin/tcsh
-</screen>
-</example>
-
-<example>
-<title>/etc/group</title>
-<screen>
-everyone::0:
-system::18:
-none::513:
-administrators::544:
-users::545:
-guests::546:
-powerusers::547:
-</screen>
-</example>
-
-<para>As you can see, I changed my primary group membership from 513 (None)
-to 547 (powerusers). So all files I created inside of Cygwin were now owned
-by the powerusers group instead of None. This is the way I liked it.</para>
-
-<para>Groups may be mentioned in the passwd file, too. This has two
-advantages:</para>
-
-<itemizedlist spacing="compact">
-<listitem><para>Because NT assigns them to files as owners, a
-<command>ls -l</command> is often more readable.</para></listitem>
-<listitem><para>Moreover it's possible to assigned them to files as
-owners with Cygwin's <command>chown</command>.</para></listitem>
-</itemizedlist>
-
-<para>The group `system' is the aforementioned synonym for the operating system
-itself and is normally the owner of processes that are started through
-service manager. The same is true for files that are created by
-processes, which are started through service manager.</para>
-
-</sect2>
-
-<sect2 id="ntsec-sids"><title id="ntsec-sids.title">NT SIDs in Cygwin</title>
-
-<para>In Cygwin release 1.1 a new technique of using the
-<filename>/etc/passwd</filename> and <filename>/etc/group</filename>
- was introduced.</para>
-
-<para>Both files may now contain SIDs of users and groups. They
-are saved in the last field of pw_gecos in <filename>/etc/passwd</filename>
-and in the gr_passwd field in <filename>/etc/group</filename>.</para>
-
-<para>This has the following advantages:</para>
-<itemizedlist spacing="compact">
-<listitem><para>ntsec works better in domain environments.</para></listitem>
-<listitem><para>Accounts (users and groups) may get another name in
-Cygwin than their NT account name. The name in <filename>/etc/passwd</filename>
-or <filename>/etc/group</filename> is transparently used by Cygwin
-applications (e.g. <command>chown</command>, <command>chmod</command>,
-<command>ls</command>):</para>
-
-<screen>
-root::500:513::/home/root:/bin/sh
-</screen>
-
-<para>instead of</para>
-
-<screen>
-adminstrator::500:513::/home/root:/bin/sh
-</screen>
-
-<para>Caution: If you like to use the account as login account via
-<command>telnet</command> etc. you have to remain the name unchanged or
-you have to use the special version of <command>login</command> which is
-part of the standard Cygwin distribution since 1.1.</para></listitem>
-<listitem><para>Cygwin UIDs and GIDs are now not necessarily the RID
-part of the NT SID:</para>
-
-<screen>
-root::0:513:S-1-5-21-54355234-56236534-345635656-500:/home/root:/bin/sh
-</screen>
-
-<para>instead of</para>
-
-<screen>
-root::500:513::/home/root:/bin/sh
-</screen>
-
-</listitem>
-<listitem><para>As in U*X systems UIDs and GIDs numbering scheme now
-don't influence each other. So it's possible to have same Id's for a
-user and a group:</para>
-<example>
-<title>/etc/passwd:</title>
-<screen>
-root::0:0:S-1-5-21-54355234-56236534-345635656-500:/home/root:/bin/sh
-</screen>
-</example>
-
-<example>
-<title>/etc/group:</title>
-<screen>
-root:S-1-5-32-544:0:
-</screen>
-</example>
-</listitem>
-</itemizedlist>
-
-<para>The tools <command>mkpasswd</command> and <command>mkgroup</command>
-create the needed entries by default. If you don't want that you can use
-the options <literal>-s</literal> or <literal>--no-sids</literal>. I suggest
-not to do this since ntsec works better when having the SIDs available.</para>
-
-<para>Please note that the pw_gecos field in <filename>/etc/passwd</filename>
-is defined as a comma separated list. The SID has to be the last field!</para>
-
-<para>As aforementioned you are able to use Cygwin account names different
-from the NT account names. If you want to login through `telnet' or something
-else you have to use the special <command>login</command>. You may then
-add another field to pw_gecos which contains the NT user name including
-it's domain. So you are able to login as each domain user. The syntax
-is easy: Just add an entry of the form U-ntdomain\ntusername to the pw_gecos
-field. Note that the SID must still remain the last field in pw_gecos!</para>
-
-<screen>
-the_king::1:1:Elvis Presley,U-STILLHERE\elvis,S-1-5-21-1234-5678-9012-1000:/bin/sh
-</screen>
-
-<para>For a local user just drop the domain:</para>
-
-<screen>
-the_king::1:1:Elvis Presley,U-elvis,S-1-5-21-1234-5678-9012-1000:/bin/sh
-</screen>
-
-<para>In either case the password of the user is taken from the NT user
-database, NOT from the passwd file!</para>
-
-<para>As in the previous chapter I give my personal
-<filename>/etc/passwd</filename> and <filename>/etc/group</filename> as
-examples. Please note that I've changed these files heavily! There's no
-need to change them that way, it's just for testing purposes and...
-for fun.</para>
-
-<example>
-<title>/etc/passwd</title>
-<screen>
-root:*:0:0:Administrators group,S-1-5-32-544::
-SYSTEM:*:18:18:,S-1-5-18:/home/system:/bin/bash
-admin:*:500:513:,S-1-5-21-1844237615-436374069-1060284298-500:/home/Administrator:/bin/bash
-corinna:*:100:0:Corinna Vinschen,S-1-5-21-1844237615-436374069-1060284298-1003:/home/corinna:/bin/tcsh
-Guest:*:501:546:,S-1-5-21-1844237615-436374069-1060284298-501:/home/Guest:/bin/bash
-</screen>
-</example>
-
-<example>
-<title>/etc/group</title>
-<screen>
-root:S-1-5-32-544:0:
-local:S-1-2-0:2:
-network:S-1-5-2:3:
-interactive:S-1-5-4:4:
-authenticatedusers:S-1-5-11:5:
-SYSTEM:S-1-5-18:18:
-local_svc:S-1-5-19:19:
-netwrk_svc:S-1-5-20:20:
-none:S-1-5-21-1844237615-436374069-1060284298-513:513:
-bckup_op:S-1-5-32-551:551:
-guests:S-1-5-32-546:546:
-pwrusers:S-1-5-32-547:547:
-replicator:S-1-5-32-552:552:
-users:S-1-5-32-545:545:
-</screen>
-</example>
-
-<para>If you want to do similar changes to your files, please do that only
-if you're feeling comfortably with the concepts. Otherwise don't be surprised
-if some stuff doesn't work anymore. If you screwed up things, revert to files
-created by mkpasswd and mkgroup. Especially don't change the UID or the name
-of user SYSTEM. Even if that works mostly, some Cygwin applications running
-as local service under that account could suddenly start behaving strangely.
-</para>
-
-</sect2>
-
-<sect2 id="ntsec-mapping"><title id="ntsec-mapping.title">The mapping leak</title>
-
-<para>Now its time to point out the leak in the NT permissions.
-The official documentation explains in short the following:</para>
-<itemizedlist spacing="compact">
-<listitem><para>access allow ACEs are accumulated regarding to the
-group membership of the caller.</para></listitem>
-<listitem><para>The order of ACEs is important. The system reads them
-in sequence until either any needed right is denied or all needed rights
-are granted. Later ACEs are then not taken into account.</para></listitem>
-<listitem><para>All access denied ACEs _should_ precede any
-access allowed ACE.</para></listitem>
-</itemizedlist>
-
-<para>Note that the last rule is a preference, not a law. NT will correctly
-deal with the ACL regardless of the sequence order. The second rule is
-not modified to get the ACEs in the preferred order.</para>
-
-<para>Unfortunately the security tab of the NT4 explorer is completely
-unable to deal with access denied ACEs while the explorer of W2K rearranges
-the order of the ACEs before you can read them. Thank God, the sort order
-remains unchanged if one presses the Cancel button.</para>
-
-<para>You still ask "Where is the leak?" NT ACLs are unable to reflect each
-possible combination of POSIX permissions. Example:</para>
-
-<screen>
-rw-r-xrw-
-</screen>
-
-<para>1st try:</para>
-
-<screen>
-UserAllow: 110
-GroupAllow: 101
-OthersAllow: 110
-</screen>
-
-<para>Hmm, because of the accumulation of allow rights the user may
-execute because the group may execute.</para>
-
-<para>2st try:</para>
-
-<screen>
-UserDeny: 001
-GroupAllow: 101
-OthersAllow: 110
-</screen>
-
-<para>Now the user may read and write but not execute. Better? No!
-Unfortunately the group may write now because others may write.</para>
-
-<para>3rd try:</para>
-
-<screen>
-UserDeny: 001
-GroupDeny: 010
-GroupAllow: 001
-OthersAllow: 110
-</screen>
-
-<para>Now the group may not write as intended but unfortunately the user may
-not write anymore, either. How should this problem be solved? According to
-the official rules a UserAllow has to follow the GroupDeny but it's
-easy to see that this can never be solved that way.</para>
-
-<para>The only chance:</para>
-
-<screen>
-UserDeny: 001
-UserAllow: 010
-GroupDeny: 010
-GroupAllow: 001
-OthersAllow: 110
-</screen>
-
-<para>Again: This works for both, NT4 and W2K. Only the GUIs aren't
-able to deal with that order.</para>
-
-</sect2>
-
-<sect2 id="ntsec-aclfuncs"><title id="ntsec-aclfuncs.title">The ACL API</title>
-
-<para>For dealing with ACLs Cygwin now has the ACL API as it's
-implemented in newer versions of Solaris. The new data structure
-for a single ACL entry (ACE in NT terminology) is defined in
-<filename>sys/acl.h</filename> as:</para>
-
-<screen>
-typedef struct acl {
- int a_type; /* entry type */
- uid_t a_id; /* UID | GID */
- mode_t a_perm; /* permissions */
-} aclent_t;
-</screen>
-
-<para>The a_perm member of the aclent_t type contains only the bits
-for read, write and execute as in the file mode. If e.g. read permission
-is granted, all read bits (S_IRUSR, S_IRGRP, S_IROTH) are set.
-CLASS_OBJ or MASK ACL entries are not fully implemented yet.</para>
-
-<para>The new API calls are</para>
-
-<screen>
-acl(2), facl(2)
-aclcheck(3),
-aclsort(3),
-acltomode(3), aclfrommode(3),
-acltopbits(3), aclfrompbits(3),
-acltotext(3), aclfromtext(3)
-</screen>
-
-<para>Like in Solaris, Cygwin has two new commands for working with
-ACLs on the command line: <command>getfacl</command> and
-<command>setfacl</command>.</para>
-
-<para>Online man pages for the aforementioned commands and API calls can be
-found on <ulink url="http://docs.sun.com">http://docs.sun.com</ulink> </para>
-
-</sect2>
-
-<sect2 id="ntsec-setuid"><title id="ntsec-setuid.title">New setuid concept</title>
-
-<para>UNIX applications which have to switch the user context are using
-the <command>setuid</command> and <command>seteuid</command> calls which
-are not part of the Windows API.
-Nevertheless these calls are supported under Windows NT/W2K since Cygwin
-release 1.1.3. Because of the nature of NT security an application which
-needs the ability has to be patched, though.</para>
-
-<para>NT uses so-called `access tokens' to identify a user and it's
-permissions. To switch the user context the application has to request
-such an `access token'. This is typically done by calling the NT API
-function <command>LogonUser</command>. The access token is returned and
-either used in <command>ImpersonateLoggedOnUser</command> to change user
-context of the current process or in <command>CreateProcessAsUser</command>
-to change user context of a spawned child process. An important restriction
-is that the application using <command>LogonUser</command> must have special
-permissions:</para>
-
-<screen>
-"Act as part of the operating system"
-"Replace process level token"
-"Increase quotas"
-</screen>
-
-<para>Note that administrators do not have all these user rights set
-by default.</para>
-
-<para>Two new Cygwin calls are introduced to support porting
-<command>setuid</command> applications with a minimum of effort. You only
-give Cygwin the right access token and then you can call
-<command>seteuid</command> or <command>setuid</command> as usual in POSIX
-applications. The call to <command>sexec</command> is not needed
-anymore. Porting a <command>setuid</command> application is illustrated by
-a short example:</para>
-
-<screen>
-<![CDATA[
-/* First include all needed cygwin stuff. */
-#ifdef __CYGWIN__
-#include <windows.h>
-#include <sys/cygwin.h>
-/* Use the following define to determine the Windows version */
-#define is_winnt (GetVersion() < 0x80000000)
-#endif
-
-[...]
-
- struct passwd *user_pwd_entry = getpwnam (username);
- char *cleartext_password = getpass ("Password:");
-
-[...]
-
-#ifdef __CYGWIN__
- /* Patch the typical password test. */
- if (is_winnt)
- {
- HANDLE token;
-
- /* Try to get the access token from NT. */
- token = cygwin_logon_user (user_pwd_entry, cleartext_password);
- if (token == INVALID_HANDLE_VALUE)
- error_exit;
- /* Inform Cygwin about the new impersonation token.
- Cygwin is able now, to switch to that user context by
- setuid or seteuid calls. */
- cygwin_set_impersonation_token (token);
- }
- else
-#endif /* CYGWIN */
- /* Use standard method for W9X as well. */
- hashed_password = crypt (cleartext_password, salt);
- if (!user_pwd_entry ||
- strcmp (hashed_password, user_pwd_entry->pw_password))
- error_exit;
-
-[...]
-
- /* Everything else remains the same! */
-
- setegid (user_pwd_entry->pw_gid);
- seteuid (user_pwd_entry->pw_uid);
- execl ("/bin/sh", ...);
-]]>
-
-</screen>
-
-<para>The new Cygwin call to retrieve an access token is defined as follows:</para>
-
-<screen>
-#include &lt;windows.h&gt;
-#include &lt;sys/cygwin.h&gt;
-
-HANDLE
-cygwin_logon_user (struct passwd *pw, const char *cleartext_password)
-</screen>
-
-<para>You can call that function as often as you want for different user
-logons and remember the access tokens for further calls to the second function.</para>
-
-<screen>
-#include &lt;windows.h&gt;
-#include &lt;sys/cygwin.h&gt;
-
-void
-cygwin_set_impersonation_token (HANDLE hToken);
-</screen>
-
-<para> is the call to inform Cygwin about the user context to which further
-calls to <command>setuid</command>/<command>seteuid</command> should switch to.
-While you always need the correct access token to do a
-<command>setuid</command>/<command>seteuid</command> to another user's context,
-you are always able to use <command>setuid</command>/<command>seteuid</command>
-to return to your own user context by giving your own uid as parameter.</para>
-
-<para>If you have remembered several access tokens from calls to
-<command>cygwin_logon_user</command> you can switch to different user
-contexts by observing the following order:</para>
-
-<screen>
-
- cygwin_set_impersonation_token (user1_token);
- seteuid (user1_uid);
-
-[...]
-
- seteuid (own_uid);
- cygwin_set_impersonation_token (user2_token);
- seteuid (user2_uid);
-
-[...]
-
- seteuid (own_uid);
- cygwin_set_impersonation_token (user1_token);
- seteuid (user1_uid);
-
-etc.
-
-</screen>
-
-</sect2>
-
-<sect2 id="ntsec-switch"><title id="ntsec-switch.title">Switching User
-Context</title>
-
-<para>
-Since Cygwin release 1.3.3, applications that are members of the
-Administrators group and have the <command>Create a token
-object</command>, <command>Replace a process level token</command> and
-<command>Increase Quota</command> user rights can switch user
-context without giving a password by just calling the usual
-<command>setuid</command>, <command>seteuid</command>,
-<command>setgid</command> and <command>setegid</command> functions.
-</para>
-<para>
-On NT and Windows 2000 the <systemitem
-class="username">SYSTEM</systemitem> user has these privileges and can
-run services such as <command>sshd</command>. However, on Windows 2003
-<systemitem class="username">SYSTEM</systemitem> lacks the
-<command>Create a token object</command> right, so it is necessary to
-create a special user with all the necessary rights, as
-well as <command>Logon as a service</command>, to run such services.
-For security reasons this user should be denied the rights to logon
-interactively or over the network. All this is done by configuration
-scripts such as <command>ssh-host-config</command>.
-</para>
-<para>
-An important restriction of this method is that a process started
-without a password cannot access network shares which require
-authentication. This also applies to subprocesses which switched user
-context without a password. Therefore, when using
-<command>ssh</command> or <command>rsh</command> without a password, it
-is typically not possible to access network drives.
-</para>
-
-</sect2>
-
-<sect2 id="ntsec-ids"><title id="ntsec-ids.title">Special values of user and group
-ids</title>
-
-<para>
-If the current user is not present in <filename>/etc/passwd</filename>,
-that user's user id is set to a special value of 400. The user name for
-the current user will always be shown correctly. If another user
-(or a Windows group, treated as a user) is not present in
-<filename>/etc/passwd</filename>, the user id of that user will have a
-special value of -1 (which would be shown by <command>ls</command> as
-65535). The user name shown in this case will be '????????'.
-</para>
-
-<para>
-If the current user is not present in <filename>/etc/passwd</filename>,
-that user's login group id is set to a special value of 401. If another
-user is not present in <filename>/etc/passwd</filename>, that user's login
-group id is set to a special value of -1. If the user is present in
-<filename>/etc/passwd</filename>, but that user's group is not in
-<filename>/etc/group</filename> and is not the login group of that user,
-the group id is set to a special value of -1. The name of this group
-(id -1) will be shown as '????????'.
-In releases of Cygwin before 1.3.20, the group id 401 had a group name
-'None'. Since Cygwin release 1.3.20, the group id 401 is shown as
-'mkpasswd', indicating the command that should be run to alleviate the
-situation.
-</para>
-
-<para>
-Also, since Cygwin release 1.3.20, if the current user is present in
-<filename>/etc/passwd</filename>, but that user's login group is not
-present in <filename>/etc/group</filename>, the group name will be shown
-as 'mkgroup', again indicating the appropriate command.
-</para>
-
-<para>To summarize:</para>
-<itemizedlist spacing="compact">
-
-<listitem><para>If the current user doesn't show up in
-<filename>/etc/passwd</filename>, it's <emphasis>group</emphasis> will
-be named 'mkpasswd'.</para></listitem>
-
-<listitem><para>Otherwise, if the login group of the current user isn't
-in <filename>/etc/group</filename>, it will be named 'mkgroup'.</para>
-</listitem>
-
-<listitem><para>Otherwise a group not in <filename>/etc/group</filename>
-will be shown as '????????' and a user not in
-<filename>/etc/passwd</filename> will be shown as "????????".</para>
-</listitem>
-
-</itemizedlist>
-
-<para>
-Note that, since the special user and group names are just indicators,
-nothing prevents you from actually having a user named `mkpasswd' in
-<filename>/etc/passwd</filename> (or a group named `mkgroup' in
-<filename>/etc/group</filename>). If you do that, however, be aware of
-the possible confusion.
-</para>
-
-</sect2>
-
-</sect1>
diff --git a/winsup/doc/overview.sgml b/winsup/doc/overview.sgml
deleted file mode 100644
index 6e38832e8..000000000
--- a/winsup/doc/overview.sgml
+++ /dev/null
@@ -1,115 +0,0 @@
-<chapter id="overview"><title>Cygwin Overview</title>
-
-<sect1 id="what-is-it"><title>What is it?</title>
-
-<para>
-Cygwin is a Linux-like environment for Windows. It consists of a DLL
-(<filename>cygwin1.dll</filename>), which acts as an emulation layer
-providing substantial <ulink
-url="http://www.pasc.org/#POSIX">POSIX</ulink> (Portable Operating
-System Interface) system call functionality, and a collection of tools,
-which provide a Linux look and feel. The Cygwin DLL works with all x86
-versions of Windows since Windows 95. The API follows the <ulink
-url="http://www.opengroup.org/onlinepubs/009695399/nfindex.html">Single
-Unix Specification</ulink> as much as possible, and then Linux practice.
-Two other major differences between Cygwin and Linux are the C library
-(<literal>newlib</literal> instead of <literal>glibc</literal>) and
-default <command>/bin/sh</command>, which is <command>ash</command> on
-Cygwin but <command>bash</command> on most Linux distributions.
-</para>
-<para>
-With Cygwin installed, users have access to many standard UNIX
-utilities. They can be used from one of the provided shells such
-as <command>bash</command> or from the Windows Command Prompt.
-Additionally, programmers may write Win32 console or GUI applications
-that make use of the standard Microsoft Win32 API and/or the Cygwin API.
-As a result, it is possible to easily port many significant UNIX
-programs without the need for extensive changes to the source code.
-This includes configuring and building most of the available GNU
-software (including the development tools included with the Cygwin
-distribution).
-</para>
-</sect1>
-
-DOCTOOL-INSERT-ov-ex-win
-DOCTOOL-INSERT-ov-ex-unix
-
-<sect1 id="are-free"><title>Are the Cygwin tools free software?</title>
-
-<para>Yes. Parts are <ulink url="http://www.gnu.org/">GNU</ulink> software
-(<command>gcc</command>, <command>gas</command>, <command>ld</command>, etc.),
-parts are covered by the standard
-<ulink url="http://www.x.org/Downloads_terms.html">X11 license</ulink>,
-some of it is public domain, some of it was written by Red Hat and placed under
-the <ulink url="http://www.gnu.org/licenses/gpl.html">GNU General Public
-License</ulink> (GPL). None of it is shareware. You don't have to pay anyone to
-use it but you should be sure to read the copyright section of the FAQ for more
-information on how the GNU GPL may affect your use of these
-tools. If you intend to port a proprietary application using the Cygwin
-library, you may want the Cygwin proprietary-use license.
-For more information about the proprietary-use license, please go to
-<ulink url="http://www.redhat.com/software/tools/cygwin/">http://www.redhat.com/software/tools/cygwin/
-</ulink>. Customers of the native Win32 GNUPro should feel free to submit bug
-reports and ask questions through the normal channels. All other
-questions should be sent to the project mailing list
-<email>cygwin@cygwin.com</email>.</para>
-
-</sect1>
-
-<sect1 id="brief-history"><title>A brief history of the Cygwin project</title>
-
-<note>
-<para>
-A more complete historical look Cygwin is Geoffrey J. Noer's 1998 paper,
-"Cygwin32: A Free Win32 Porting Layer for UNIX&reg; Applications" which can be
-found at the <ulink
-url="http://www.usenix.org/publications/library/proceedings/usenix-nt98/technical.html">
-2nd USENIX Windows NT Symposium Online Proceedings</ulink>.
-</para>
-</note>
-<para>
-Cygwin began development in 1995 at Cygnus Solutions (now part of Red Hat
-Software). The first thing done was to enhance the development tools
-(<command>gcc</command>, <command>gdb</command>, <command>gas</command>,
-etc.) so that they could generate and interpret Win32 native
-object files.
-The next task was to port the tools to Win NT/9x. We could have
-done this by rewriting large portions of the source to work within the
-context of the Win32 API. But this would have meant spending a huge
-amount of time on each and every tool. Instead, we took a
-substantially different approach by writing a shared library
-(the Cygwin DLL) that adds the necessary UNIX-like functionality
-missing from the Win32 API (<function>fork</function>,
-<function>spawn</function>, <function>signals</function>,
-<function>select</function>, <function>sockets</function>, etc.). We call this
-new interface the Cygwin API. Once written, it was possible to build working
-Win32 tools using UNIX-hosted cross-compilers, linking against this
-library.</para>
-
-<para>From this point, we pursued the goal of producing native tools
-capable of rebuilding themselves under Windows 9x and NT (this is
-often called self-hosting). Since neither OS ships with standard UNIX
-user tools (fileutils, textutils, bash, etc...), we had to get the GNU
-equivalents working with the Cygwin API. Most of these tools were
-previously only built natively so we had to modify their configure
-scripts to be compatible with cross-compilation. Other than the
-configuration changes, very few source-level changes had to be
-made. Running bash with the development tools and user tools in place,
-Windows 9x and NT look like a flavor of UNIX from the perspective of
-the GNU configure mechanism. Self hosting was achieved as of the beta
-17.1 release in October 1996.</para>
-
-<para>
-The entire Cygwin toolset was available as a monolithic install. In
-April 2000, the project announced a
-<ulink url="http://www.cygwin.com/ml/cygwin/2000-04/msg00269.html">
-New Cygwin Net Release</ulink> which provided the native Win32 program
-<command>setup.exe</command> to install and upgrade each package
-separately. Since then, the Cygwin DLL and <command>setup.exe</command>
-have seen continuous development.
-</para>
-</sect1>
-
-DOCTOOL-INSERT-highlights
-
-</chapter>
diff --git a/winsup/doc/overview2.sgml b/winsup/doc/overview2.sgml
deleted file mode 100644
index c5b41fb45..000000000
--- a/winsup/doc/overview2.sgml
+++ /dev/null
@@ -1,389 +0,0 @@
-<sect1 id="ov-ex-win">
-<title>Quick Start Guide for those more experienced with Windows</title>
-<para>
-If you are new to the world of UNIX, you may find it difficult to
-understand at first. This guide is not meant to be comprehensive,
-so we recommend that you use the many available Internet resources
-to become acquainted with UNIX basics (search for "UNIX basics" or
-"UNIX tutorial").
-</para>
-<para>
-To install a basic Cygwin environment, run the
-<command>setup.exe</command> program and click <literal>Next</literal>
-at each page. The default settings are correct for most users. If you
-want to know more about what each option means, see
-<xref linkend="internet-setup"></xref>. Use <command>setup.exe</command>
-any time you want to update or install a Cygwin package. If you are
-installing Cygwin for a specific purpose, use it to install the tools
-that you need. For example, if you want to compile C++ programs, you
-need the <systemitem>gcc-g++</systemitem> package and probably a text
-editor like <systemitem>nano</systemitem>. When running
-<command>setup.exe</command>, clicking on categories and packages in the
-package installation screen will provide you with the ability to control
-what is installed or updated.
-</para>
-<para>
-Another option is to install everything by clicking on the
-<literal>Default</literal> field next to the <literal>All</literal>
-category. However, be advised that this will download and install
-several hundreds of megabytes of software to your computer. The best
-plan is probably to click on individual categories and install either
-entire categories or packages from the categories themselves.
-After installation, you can find Cygwin-specific documentation in
-the <literal>/usr/share/doc/Cygwin/</literal> directory.
-</para>
-<para>
-Developers coming from a Windows background will find a set of tools capable of
-writing console or GUI executables that rely on the Microsoft Win32 API. The
-<command>dlltool</command> utility may be used to write Windows Dynamically
-Linked Libraries (DLLs). The resource compiler <command>windres</command> is
-also provided. All tools may be used from the Microsoft command prompt,
-with full support for normal Windows pathnames.
-</para>
-</sect1>
-
-<sect1 id="ov-ex-unix">
-<title>Quick Start Guide for those more experienced with UNIX</title>
-<para>
-If you are an experienced UNIX user who misses a powerful command-line
-environment, you will enjoy Cygwin. Note that there are some workarounds
-that cause Cygwin to behave differently than most UNIX-like operating
-systems; these are described in more detail in
-<xref linkend="using-effectively"></xref>.
-</para>
-<para>
-Any time you want to update or install a Cygwin package, use the
-graphical <command>setup.exe</command> program. By default,
-<command>setup.exe</command> only installs a minimal set of packages,
-so look around and choose your favorite utilities on the package
-selection screen. You may also search for specfic tools on the Cygwin
-website's <ulink url="http://cygwin.com/packages/">Setup Package
-Search</ulink> For more information about what each option in
-<command>setup.exe</command> means, see <xref linkend="internet-setup"></xref>.
-</para>
-<para>
-Another option is to install everything by clicking on the
-<literal>Default</literal> field next to the <literal>All</literal>
-category. However, be advised that this will download and install
-several hundreds of megabytes of software to your computer. The best
-plan is probably to click on individual categories and install either
-entire categories or packages from the categories themselves.
-After installation, you can find Cygwin-specific documentation in
-the <literal>/usr/share/doc/Cygwin/</literal> directory.
-</para>
-<para>
-Developers coming from a UNIX background will find a set of utilities
-they are already comfortable using, including a working UNIX shell. The
-compiler tools are the standard GNU compilers most people will have previously
-used under UNIX, only ported to the Windows host. Programmers wishing to port
-UNIX software to Windows NT or 9x will find that the Cygwin library provides
-an easy way to port many UNIX packages, with only minimal source code
-changes.
-</para>
-
-</sect1>
-
-<sect1 id="highlights"><title>Highlights of Cygwin Functionality</title>
-
-<sect2 id="ov-hi-intro"><title>Introduction</title> <para>When a binary linked
-against the library is executed, the Cygwin DLL is loaded into the
-application's text segment. Because we are trying to emulate a UNIX kernel
-which needs access to all processes running under it, the first Cygwin DLL to
-run creates shared memory areas that other processes using separate instances
-of the DLL can access. This is used to keep track of open file descriptors and
-assist fork and exec, among other purposes. In addition to the shared memory
-regions, every process also has a per_process structure that contains
-information such as process id, user id, signal masks, and other similar
-process-specific information.</para>
-
-<para>The DLL is implemented using the Win32 API, which allows it to run on all
-Win32 hosts. Because processes run under the standard Win32 subsystem, they
-can access both the UNIX compatibility calls provided by Cygwin as well as
-any of the Win32 API calls. This gives the programmer complete flexibility in
-designing the structure of their program in terms of the APIs used. For
-example, they could write a Win32-specific GUI using Win32 API calls on top of
-a UNIX back-end that uses Cygwin.</para>
-
-<para>Early on in the development process, we made the important design
-decision that it would not be necessary to strictly adhere to existing UNIX
-standards like POSIX.1 if it was not possible or if it would significantly
-diminish the usability of the tools on the Win32 platform. In many cases, an
-environment variable can be set to override the default behavior and force
-standards compliance.</para>
-</sect2>
-
-<sect2 id="ov-hi-win9xnt"><title>Supporting both Windows NT and 9x</title>
-<para>While Windows 95 and Windows 98 are similar enough to each other that we
-can safely ignore the distinction when implementing Cygwin, Windows NT is an
-extremely different operating system. For this reason, whenever the DLL is
-loaded, the library checks which operating system is active so that it can act
-accordingly.</para>
-
-<para>In some cases, the Win32 API is only different for
-historical reasons. In this situation, the same basic functionality is
-available under Windows 9x and NT but the method used to gain this
-functionality differs. A trivial example: in our implementation of
-uname, the library examines the sysinfo.dwProcessorType structure
-member to figure out the processor type under Windows 9x. This field
-is not supported in NT, which has its own operating system-specific
-structure member called sysinfo.wProcessorLevel.</para>
-
-<para>Other differences between NT and 9x are much more fundamental in
-nature. The best example is that only NT provides a security model.</para>
-</sect2>
-
-<sect2 id="ov-hi-perm"><title>Permissions and Security</title>
-<para>Windows NT includes a sophisticated security model based on Access
-Control Lists (ACLs). Cygwin maps Win32 file ownership and permissions to the
-more standard, older UNIX model by default. Cygwin version 1.1 introduces
-support for ACLs according to the system calls used on newer versions of
-Solaris. This ability is used when the `ntsec' feature is switched on which
-is described in another chapter.
-The chmod call maps UNIX-style permissions
-back to the Win32 equivalents. Because many programs expect to be able to find
-the /etc/passwd and /etc/group files, we provide utilities that can be used to
-construct them from the user and group information provided by the operating
-system.</para>
-
-<para>Under Windows NT, the administrator is permitted to chown files. There
-is no mechanism to support the setuid concept or API call since Cygwin version
-1.1.2. With version 1.1.3 Cygwin introduces a mechanism for setting real
-and effective UIDs under Windows NT/W2K. This is described in the ntsec
-section.</para>
-
-<para>Under Windows 9x, the situation is considerably different. Since a
-security model is not provided, Cygwin fakes file ownership by making all
-files look like they are owned by a default user and group id. As under NT,
-file permissions can still be determined by examining their read/write/execute
-status. Rather than return an unimplemented error, under Windows 9x, the
-chown call succeeds immediately without actually performing any action
-whatsoever. This is appropriate since essentially all users jointly own the
-files when no concept of file ownership exists.</para>
-
-<para>It is important that we discuss the implications of our "kernel" using
-shared memory areas to store information about Cygwin processes. Because
-these areas are not yet protected in any way, in principle a malicious user
-could modify them to cause unexpected behavior in Cygwin processes. While
-this is not a new problem under Windows 9x (because of the lack of operating
-system security), it does constitute a security hole under Windows NT.
-This is because one user could affect the Cygwin programs run by
-another user by changing the shared memory information in ways that
-they could not in a more typical WinNT program. For this reason, it
-is not appropriate to use Cygwin in high-security applications. In
-practice, this will not be a major problem for most uses of the
-library.</para>
-</sect2>
-
-<sect2 id="ov-hi-files"><title>File Access</title> <para>Cygwin supports
-both Win32- and POSIX-style paths, using either forward or back slashes as the
-directory delimiter. Paths coming into the DLL are translated from Win32 to
-POSIX as needed. As a result, the library believes that the file system is a
-POSIX-compliant one, translating paths back to Win32 paths whenever it calls a
-Win32 API function. UNC pathnames (starting with two slashes) are
-supported.</para>
-
-<para>The layout of this POSIX view of the Windows file system space is stored
-in the Windows registry. While the slash ('/') directory points to the system
-partition by default, this is easy to change with the Cygwin mount utility.
-In addition to selecting the slash partition, it allows mounting arbitrary
-Win32 paths into the POSIX file system space. Many people use the utility to
-mount each drive letter under the slash partition (e.g. C:\ to /c, D:\ to /d,
-etc...).</para>
-
-<para>The library exports several Cygwin-specific functions that can be used
-by external programs to convert a path or path list from Win32 to POSIX or vice
-versa. Shell scripts and Makefiles cannot call these functions directly.
-Instead, they can do the same path translations by executing the cygpath
-utility program that we provide with Cygwin.</para>
-
-<para>Win32 file systems are case preserving but case insensitive. Cygwin
-does not currently support case distinction because, in practice, few UNIX
-programs actually rely on it. While we could mangle file names to support case
-distinction, this would add unnecessary overhead to the library and make it
-more difficult for non-Cygwin applications to access those files.</para>
-
-<para>Symbolic links are emulated by files containing a magic cookie followed
-by the path to which the link points. They are marked with the System
-attribute so that only files with that attribute have to be read to determine
-whether or not the file is a symbolic link. Hard links are fully supported
-under Windows NT on NTFS file systems. On a FAT file system, the call falls
-back to simply copying the file, a strategy that works in many cases.</para>
-
-<para>The inode number for a file is calculated by hashing its full Win32 path.
-The inode number generated by the stat call always matches the one returned in
-d_ino of the dirent structure. It is worth noting that the number produced by
-this method is not guaranteed to be unique. However, we have not found this to
-be a significant problem because of the low probability of generating a
-duplicate inode number.</para>
-
-<para>Chroot is supported since release 1.1.3. Note that chroot isn't
-supported native by Windows. This implies some restrictions. First of all,
-the chroot call isn't a privileged call. Each user may call it. Second, the
-chroot environment isn't safe against native windows processes. If you
-want to support a chroot environment as, for example, by allowing an
-anonymous ftp with restricted access, you'll have to care that only
-native Cygwin applications are accessible inside of the chroot environment.
-Since that applications are only using the Cygwin POSIX API to access the
-file system their access can be restricted as it is intended. This includes
-not only POSIX paths but Win32 paths (containing drive letter and/or
-backslashes) and CIFS paths (//server/share or \\server\share) as well.</para>
-</sect2>
-
-<sect2 id="ov-hi-textvsbinary"><title>Text Mode vs. Binary Mode</title>
-<para>Interoperability with other Win32 programs such as text editors was
-critical to the success of the port of the development tools. Most Red Hat
-customers upgrading from the older DOS-hosted toolchains expected the new
-Win32-hosted ones to continue to work with their old development
-sources.</para>
-
-<para>Unfortunately, UNIX and Win32 use different end-of-line terminators in
-text files. Consequently, carriage-return newlines have to be translated on
-the fly by Cygwin into a single newline when reading in text mode.</para>
-
-<para>This solution addresses the compatibility requirement at the expense of
-violating the POSIX standard that states that text and binary mode will be
-identical. Consequently, processes that attempt to lseek through text files can
-no longer rely on the number of bytes read as an accurate indicator of position
-in the file. For this reason, the CYGWIN environment variable can be
-set to override this behavior.</para>
-</sect2>
-
-<sect2 id="ov-hi-ansiclib"><title>ANSI C Library</title>
-<para>We chose to include Red Hat's own existing ANSI C library
-"newlib" as part of the library, rather than write all of the lib C
-and math calls from scratch. Newlib is a BSD-derived ANSI C library,
-previously only used by cross-compilers for embedded systems
-development.</para>
-
-<para>The reuse of existing free implementations of such things
-as the glob, regexp, and getopt libraries saved us considerable
-effort. In addition, Cygwin uses Doug Lea's free malloc
-implementation that successfully balances speed and compactness. The
-library accesses the malloc calls via an exported function pointer.
-This makes it possible for a Cygwin process to provide its own
-malloc if it so desires.</para>
-</sect2>
-
-<sect2 id="ov-hi-process"><title>Process Creation</title>
-<para>The fork call in Cygwin is particularly interesting because it
-does not map well on top of the Win32 API. This makes it very
-difficult to implement correctly. Currently, the Cygwin fork is a
-non-copy-on-write implementation similar to what was present in early
-flavors of UNIX.</para>
-
-<para>The first thing that happens when a parent process
-forks a child process is that the parent initializes a space in the
-Cygwin process table for the child. It then creates a suspended
-child process using the Win32 CreateProcess call. Next, the parent
-process calls setjmp to save its own context and sets a pointer to
-this in a Cygwin shared memory area (shared among all Cygwin
-tasks). It then fills in the child's .data and .bss sections by
-copying from its own address space into the suspended child's address
-space. After the child's address space is initialized, the child is
-run while the parent waits on a mutex. The child discovers it has
-been forked and longjumps using the saved jump buffer. The child then
-sets the mutex the parent is waiting on and blocks on another mutex.
-This is the signal for the parent to copy its stack and heap into the
-child, after which it releases the mutex the child is waiting on and
-returns from the fork call. Finally, the child wakes from blocking on
-the last mutex, recreates any memory-mapped areas passed to it via the
-shared area, and returns from fork itself.</para>
-
-<para>While we have some
-ideas as to how to speed up our fork implementation by reducing the
-number of context switches between the parent and child process, fork
-will almost certainly always be inefficient under Win32. Fortunately,
-in most circumstances the spawn family of calls provided by Cygwin
-can be substituted for a fork/exec pair with only a little effort.
-These calls map cleanly on top of the Win32 API. As a result, they
-are much more efficient. Changing the compiler's driver program to
-call spawn instead of fork was a trivial change and increased
-compilation speeds by twenty to thirty percent in our
-tests.</para>
-
-<para>However, spawn and exec present their own set of
-difficulties. Because there is no way to do an actual exec under
-Win32, Cygwin has to invent its own Process IDs (PIDs). As a
-result, when a process performs multiple exec calls, there will be
-multiple Windows PIDs associated with a single Cygwin PID. In some
-cases, stubs of each of these Win32 processes may linger, waiting for
-their exec'd Cygwin process to exit.</para>
-</sect2>
-
-<sect2 id="ov-hi-signals"><title>Signals</title>
-<para>When
-a Cygwin process starts, the library starts a secondary thread for
-use in signal handling. This thread waits for Windows events used to
-pass signals to the process. When a process notices it has a signal,
-it scans its signal bitmask and handles the signal in the appropriate
-fashion.</para>
-
-<para>Several complications in the implementation arise from the
-fact that the signal handler operates in the same address space as the
-executing program. The immediate consequence is that Cygwin system
-functions are interruptible unless special care is taken to avoid
-this. We go to some lengths to prevent the sig_send function that
-sends signals from being interrupted. In the case of a process
-sending a signal to another process, we place a mutex around sig_send
-such that sig_send will not be interrupted until it has completely
-finished sending the signal.</para>
-
-<para>In the case of a process sending
-itself a signal, we use a separate semaphore/event pair instead of the
-mutex. sig_send starts by resetting the event and incrementing the
-semaphore that flags the signal handler to process the signal. After
-the signal is processed, the signal handler signals the event that it
-is done. This process keeps intraprocess signals synchronous, as
-required by POSIX.</para>
-
-<para>Most standard UNIX signals are provided. Job
-control works as expected in shells that support
-it.</para>
-</sect2>
-
-<sect2 id="ov-hi-sockets"><title>Sockets</title>
-<para>Socket-related calls in Cygwin simply
-call the functions by the same name in Winsock, Microsoft's
-implementation of Berkeley sockets. Only a few changes were needed to
-match the expected UNIX semantics - one of the most troublesome
-differences was that Winsock must be initialized before the first
-socket function is called. As a result, Cygwin has to perform this
-initialization when appropriate. In order to support sockets across
-fork calls, child processes initialize Winsock if any inherited file
-descriptor is a socket.</para>
-
-<para>Unfortunately, implicitly loading DLLs
-at process startup is usually a slow affair. Because many processes
-do not use sockets, Cygwin explicitly loads the Winsock DLL the
-first time it calls the Winsock initialization routine. This single
-change sped up GNU configure times by thirty
-percent.</para>
-</sect2>
-
-<sect2 id="ov-hi-select"><title>Select</title>
-<para>The UNIX select function is another
-call that does not map cleanly on top of the Win32 API. Much to our
-dismay, we discovered that the Win32 select in Winsock only worked on
-socket handles. Our implementation allows select to function normally
-when given different types of file descriptors (sockets, pipes,
-handles, and a custom /dev/windows Windows messages
-pseudo-device).</para>
-
-<para>Upon entry into the select function, the first
-operation is to sort the file descriptors into the different types.
-There are then two cases to consider. The simple case is when at
-least one file descriptor is a type that is always known to be ready
-(such as a disk file). In that case, select returns immediately as
-soon as it has polled each of the other types to see if they are
-ready. The more complex case involves waiting for socket or pipe file
-descriptors to be ready. This is accomplished by the main thread
-suspending itself, after starting one thread for each type of file
-descriptor present. Each thread polls the file descriptors of its
-respective type with the appropriate Win32 API call. As soon as a
-thread identifies a ready descriptor, that thread signals the main
-thread to wake up. This case is now the same as the first one since
-we know at least one descriptor is ready. So select returns, after
-polling all of the file descriptors one last time.</para>
-</sect2>
-</sect1>
-
diff --git a/winsup/doc/pathnames.sgml b/winsup/doc/pathnames.sgml
deleted file mode 100644
index 608f7f31d..000000000
--- a/winsup/doc/pathnames.sgml
+++ /dev/null
@@ -1,377 +0,0 @@
-<sect1 id="using-pathnames"><title>Mapping path names</title>
-
-<sect2><title>Introduction</title>
-
-<para>Cygwin supports both Win32- and POSIX-style paths, where
-directory delimiters may be either forward or back slashes. UNC
-pathnames (starting with two slashes and a network name) are also
-supported.</para>
-
-<para>POSIX operating systems (such as Linux) do not have the concept
-of drive letters. Instead, all absolute paths begin with a
-slash (instead of a drive letter such as "c:") and all file systems
-appear as subdirectories (for example, you might buy a new disk and
-make it be the <filename>/disk2</filename> directory).</para>
-
-<para>Because many programs written to run on UNIX systems assume
-the existance of a single unified POSIX file system structure, Cygwin
-maintains a special internal POSIX view of the Win32 file system
-that allows these programs to successfully run under Windows. Cygwin
-uses this mapping to translate from POSIX to Win32 paths as
-necessary.</para>
-
-</sect2>
-
-<sect2 id="mount-table"><title>The Cygwin Mount Table</title>
-
-<para>The <command>mount</command> utility program is used to
-to map Win32 drives and network shares into Cygwin's internal POSIX
-directory tree. This is a similar concept to the typical UNIX mount
-program. For those people coming from a Windows background, the
-<command>mount</command> utility is very similar to the old DOS
-<command>join</command>, in that it makes your drive letters appear as
-subdirectories somewhere else.</para>
-
-<para>The mapping is stored in the current user's Cygwin
-<firstterm>mount table</firstterm> in the Windows registry so that the
-information will be retrieved next time the user logs in. Because it
-is sometimes desirable to have system-wide as well as user-specific
-mounts, there is also a system-wide mount table that all Cygwin users
-inherit. The system-wide table may only be modified by a user with
-the appropriate privileges (Administrator privileges in Windows
-NT).</para>
-
-<para>The current user's table is located under
-"HKEY_CURRENT_USER/Software/Cygnus Solutions/Cygwin/mounts
-v&lt;version&gt;"
-where &lt;version&gt; is the latest registry version associated with
-the Cygwin library (this version is not the same as the release
-number). The system-wide table is located under the same subkeys
-under HKEY_LOCAL_SYSTEM. The user mount table takes precedence over
-the system-wide table if a path is mounted in both. This includes the
-setting of the cygdrive prefix.</para>
-
-<para>The <command>mount</command> command can set the POSIX root
-<filename>/</filename> to any directory in the Windows file system.
-In absence of such a mount, Cygwin maps <filename>/</filename> to the
-root of the current Windows working directory (for example,
-<filename>H:\</filename> or <filename>\\computer\share</filename>).
-Normally Cygwin's <command>setup.exe</command> creates the initial
-mount point for the POSIX root.
-</para>
-
-<para>Whenever Cygwin generates a Win32 path from a POSIX one, it uses
-the longest matching prefix in the mount table. Thus, if
-<filename>C:</filename> is mounted as <filename>/c</filename> and also
-as <filename>/</filename>, then Cygwin would translate
-<filename>C:/foo/bar</filename> to <filename>/c/foo/bar</filename>.
-This translation is normally only used when trying to derive the
-POSIX equivalent current directory. Otherwise, the handling of MS-DOS
-filenames bypasses the mount table.
-</para>
-
-<para>Invoking <command>mount</command> without any arguments displays
-Cygwin's current set of mount points.
-In the following example, the C
-drive is the POSIX root and D drive is mapped to
-<filename>/d</filename>. Note that in this case, the root mount is a
-system-wide mount point that is visible to all users running Cygwin
-programs, whereas the <filename>/d</filename> mount is only visible
-to the current user.</para>
-
-<example>
-<title>Displaying the current set of mount points</title>
-<screen>
-<prompt>c:\&gt;</prompt> <userinput>mount</userinput>
-f:\cygwin\bin on /usr/bin type system (binmode)
-f:\cygwin\lib on /usr/lib type system (binmode)
-f:\cygwin on / type system (binmode)
-e:\src on /usr/src type system (binmode)
-c: on /cygdrive/c type user (binmode,noumount)
-e: on /cygdrive/e type user (binmode,noumount)
-</screen>
-</example>
-
-<para>You can also use the <command>mount</command> command to add
-new mount points, and the <command>umount</command> to delete
-them. See <xref linkend="mount"></xref> and <xref linkend="umount"></xref> for more
-information on how to use these utilities to set up your Cygwin POSIX
-file system.</para>
-
-<para>Whenever Cygwin cannot use any of the existing mounts to convert
-from a particular Win32 path to a POSIX one, Cygwin will
-automatically default to an imaginary mount point under the default POSIX
-path <filename>/cygdrive</filename>. For example, if Cygwin accesses
-<filename>Z:\foo</filename> and the Z drive is not currently in the
-mount table, then <filename>Z:\</filename> would be automatically
-converted to <filename>/cygdrive/Z</filename>. The default
-prefix of <filename>/cygdrive</filename> may be changed (see the
-<xref linkend="mount"></xref> for more information).</para>
-
-<para>It is possible to assign some special attributes to each mount
-point. Automatically mounted partitions are displayed as "auto"
-mounts. Mounts can also be marked as either "textmode" or "binmode"
--- whether text files are read in the same manner as binary files by
-default or not (see <xref linkend="using-textbinary"></xref> for more
-information on text and binary modes.</para>
-
-</sect2>
-
-<sect2><title>Additional Path-related Information</title>
-
-<para>The <command>cygpath</command> program provides the ability to
-translate between Win32 and POSIX pathnames in shell scripts. See
-<xref linkend="cygpath"></xref> for the details.</para>
-
-<para>The <envar>HOME</envar>, <envar>PATH</envar>, and
-<envar>LD_LIBRARY_PATH</envar> environment variables are automatically
-converted from Win32 format to POSIX format (e.g. from
-<filename>c:\cygwin\bin</filename> to <filename>/bin</filename>, if
-there was a mount from that Win32 path to that POSIX path) when a Cygwin
-process first starts.</para>
-
-<para>Symbolic links can also be used to map Win32 pathnames to POSIX.
-For example, the command
-<command>ln -s //pollux/home/joe/data /data</command> would have about
-the same effect as creating a mount point from
-<filename>//pollux/home/joe/data</filename> to <filename>/data</filename>
-using <command>mount</command>, except that symbolic links cannot set
-the default file access mode. Other differences are that the mapping is
-distributed throughout the file system and proceeds by iteratively
-walking the directory tree instead of matching the longest prefix in a
-kernel table. Note that symbolic links will only work on network
-drives that are properly configured to support the "system" file
-attribute. Many do not do so by default (the Unix Samba server does
-not by default, for example).</para>
-
-</sect2>
-
-</sect1>
-
-<sect1 id="using-specialnames"><title>Special filenames</title>
-
-<sect2> <title>DOS devices</title>
-
-<para>Windows filenames invalid under Windows are also invalid under
-Cygwin. This means that base filenames such as
-<filename>AUX</filename>, <filename>COM1</filename>,
-<filename>LPT1</filename> or <filename>PRN</filename> (to name a few)
-cannot be used in a regular Cygwin Windows or POSIX path, even with an
-extension (<filename>prn.txt</filename>). However the special names can be
-used as filename extensions (<filename>file.aux</filename>). You can use
-the special names as you would under DOS, for example you can print on your
-default printer with the command <command>cat filename > PRN</command>
-(make sure to end with a Form Feed).
-</para>
-
-</sect2>
-
-<sect2> <title>POSIX devices</title>
-<para>There is no need to create a POSIX <filename>/dev</filename>
-directory as Cygwin automatically simulates it internally.
-These devices cannot be seen with the command <command>ls /dev/</command>
-although commands such as <command>ls /dev/tty</command> work fine.
-If you want to be able to see all devices in
-<filename>/dev/</filename>, you can use Igor Pechtchanski's
-<ulink
-url="http://cygwin.com/ml/cygwin/2004-03/txt00028.txt">create_devices.sh</ulink>
-script.
-</para>
-<para>
-Cygwin supports the following devices commonly found on POSIX systems:
-<filename>/dev/dsp</filename>, <filename>/dev/null</filename>,
-<filename>/dev/zero</filename>, <filename>/dev/console</filename>,
-<filename>/dev/tty</filename>, <filename>/dev/ttym</filename>,
-<filename>/dev/ttyX</filename>, <filename>/dev/ttySX</filename>,
-<filename>/dev/pipe</filename>, <filename>/dev/port</filename>,
-<filename>/dev/ptmx</filename>, <filename>/dev/mem</filename>,
-<filename>/dev/random</filename>, and <filename>/dev/urandom</filename>.
-Some other POSIX devices, such as
-<filename>/dev/kmem</filename>, are planned for development.
-Cygwin also has several Windows-specific devices:
-<filename>/dev/comX</filename> (the serial ports, starting with
-<filename>COM1</filename> which is the same as <filename>ttyS0</filename>),
-<filename>/dev/conin</filename> (Windows <filename>CONIN$</filename>),
-<filename>/dev/conout</filename> (Windows <filename>CONOUT$</filename>),
-<filename>/dev/clipboard</filename> (the Windows clipboard, currently
-text only), and <filename>/dev/windows</filename> (the Windows message
-queue).
-</para>
-
-<para>Windows NT/W2K/XP additionally support raw devices like floppies,
-disks, partitions and tapes. These are accessed from Cygwin applications
-using POSIX device names which are supported in two different ways.
-</para>
-
-<para>Up to Cygwin 1.3.3 the only way to access those devices was
-to mount the Win32 device names to a POSIX device name but this usage
-is discouraged since Cygwin 1.3.4 and only kept for backward compatibility.
-</para>
-
-<para>
-Beginning with Cygwin 1.3.4, raw devices are accessible by Cygwin processes
-using fixed POSIX device names. These fixed POSIX device names are generated
-using a direct conversion from the POSIX namespace to the internal NT namespace.
-E.g. the first harddisk is the NT internal device \device\harddisk0\partition0
-or the first partition on the third harddisk is \device\harddisk2\partition1.
-The first floppy in the system is \device\floppy0, the first CD-ROM is
-\device\cdrom0 and the first tape drive is \device\tape0.
-</para>
-
-<para>The new fixed POSIX names are mapped to NT internal devices as
-follows:</para>
-
-<screen>
-/dev/st0 \device\tape0, rewind
-/dev/nst0 \device\tape0, no-rewind
-/dev/st1 \device\tape1
-...
-
-/dev/fd0 \device\floppy0
-/dev/fd1 \device\floppy1
-...
-
-/dev/scd0 \device\cdrom0
-/dev/scd1 \device\cdrom1
-...
-
-/dev/sr0 \device\cdrom0
-/dev/sr1 \device\cdrom1
-...
-
-/dev/sda \device\harddisk0\partition0 (whole disk)
-/dev/sda1 \device\harddisk0\partition1 (first partition)
-...
-/dev/sda15 \device\harddisk0\partition15 (fifteenth partition)
-
-/dev/sdb \device\harddisk1\partition0
-/dev/sdb1 \device\harddisk1\partition1
-
-[up to]
-
-/dev/sdl \device\harddisk11\partition0
-/dev/sdl1 \device\harddisk11\partition1
-...
-/dev/sdl15 \device\harddisk11\partition15
-</screen>
-
-<para>
-if you don't like these device names, feel free to create symbolic
-links as they are created on Linux systems for convenience:
-</para>
-
-<screen>
-ln -s /dev/scd0 /dev/cdrom
-ln -s /dev/nst0 /dev/tape
-...
-</screen>
-
-<warning>
-<para>
-Note that you can't use the mount table to map from fixed device name
-to your own device name or to map from internal NT device name to
-your own device name. Also using symbolic links to map from the internal
-NT device name to your own device name will not do what you want.
-The following three examples will not work as expected:
-</para>
-
-<screen>
-mount -f -b /dev/nst0 /dev/tape # DOES NOT WORK
-mount -f -b /device/tape0 /dev/tape # DOES NOT WORK
-ln -s /device/tape0 /dev/tape # DOES NOT WORK
-</screen>
-</warning>
-
-</sect2>
-
-<sect2><title>The .exe extension</title>
-
-<para> Executable program filenames end with <filename>.exe</filename>
-but the <filename>.exe</filename> need not be included in the command,
-so that traditional UNIX names can be used. However, for programs that
-end in <filename>.bat</filename> and <filename>.com</filename>, you
-cannot omit the extension. </para>
-
-<para>As a side effect, the <command> ls filename</command> gives
-information about <filename>filename.exe</filename> if
-<filename>filename.exe</filename> exists and <filename>filename</filename>
-does not. In the same situation the function call
-<function>stat("filename",..)</function> gives information about
-<filename>filename.exe</filename>. The two files can be distinguished
-by examining their inodes, as demonstrated below.
-<screen>
-<prompt>C:\&gt;</prompt> <userinput>ls * </userinput>
-a a.exe b.exe
-<prompt>C:\&gt;</prompt> <userinput>ls -i a a.exe</userinput>
-445885548 a 435996602 a.exe
-<prompt>C:\&gt;</prompt> <userinput>ls -i b b.exe</userinput>
-432961010 b 432961010 b.exe
-</screen>
-If a shell script <filename>myprog</filename> and a program
-<filename>myprog.exe</filename> coexist in a directory, the program
-has precedence and is selected for execution of
-<command>myprog</command>.</para>
-
-<para>The <command>gcc</command> compiler produces an executable named
-<filename>filename.exe</filename> when asked to produce
-<filename>filename</filename>. This allows many makefiles written
-for UNIX systems to work well under Cygwin.</para>
-
-<para>Unfortunately, the <command>install</command> and
-<command>strip</command> commands do distinguish between
-<filename>filename</filename> and <filename>filename.exe</filename>. They
-fail when working on a non-existing <filename>filename</filename> even if
-<filename>filename.exe</filename> exists, thus breaking some makefiles.
-This problem can be solved by writing <command>install</command> and
-<command>strip</command> shell scripts to provide the extension ".exe"
-when needed.
-</para>
-</sect2>
-
-<sect2><title>The /proc filesystem</title>
-<para>
-Cygwin, like Linux and other similar operating systems, supports the
-<filename>/proc</filename> virtual filesystem. The files in this
-directory are representations of various aspects of your system,
-for example the command <userinput>cat /proc/cpuinfo</userinput>
-displays information such as what model and speed processor you have.
-</para>
-<para>
-One unique aspect of the Cygwin <filename>/proc</filename> filesystem
-is <filename>/proc/registry</filename>, which displays the Windows
-registry with each <literal>KEY</literal> as a directory and each
-<literal>VALUE</literal> as a file. As anytime you deal with the
-Windows registry, use caution since changes may result in an unstable
-or broken system.
-</para>
-<para>
-The Cygwin <filename>/proc</filename> is not as complete as the
-one in Linux, but it provides significant capabilities. The
-<systemitem>procps</systemitem> package contains several utilities
-that use it.
-</para>
-</sect2>
-
-<sect2><title>The @pathnames</title>
-<para>To circumvent the limitations on shell line length in the native
-Windows command shells, Cygwin programs expand their arguments
-starting with "@" in a special way. If a file
-<filename>pathname</filename> exists, the argument
-<filename>@pathname</filename> expands recursively to the content of
-<filename>pathname</filename>. Double quotes can be used inside the
-file to delimit strings containing blank space.
-Embedded double quotes must be repeated.
-In the following example compare the behaviors of the bash built-in
-<command>echo</command> and of the program <command>/bin/echo</command>.</para>
-
-<example><title> Using @pathname</title>
-<screen>
-<prompt>bash$</prompt> <userinput>echo 'This is "a long" line' > mylist</userinput>
-<prompt>bash$</prompt> <userinput>echo @mylist</userinput>
-@mylist
-<prompt>c:\&gt;</prompt> <userinput>c:\cygwin\bin\echo @mylist</userinput>
-This is a long line
-</screen>
-</example>
-</sect2>
-</sect1>
diff --git a/winsup/doc/programming.sgml b/winsup/doc/programming.sgml
deleted file mode 100644
index 45f26f4fa..000000000
--- a/winsup/doc/programming.sgml
+++ /dev/null
@@ -1,11 +0,0 @@
-<chapter id="programming"><title>Programming with Cygwin</title>
-
-DOCTOOL-INSERT-gcc
-
-DOCTOOL-INSERT-gdb
-
-DOCTOOL-INSERT-dll
-
-DOCTOOL-INSERT-windres
-
-</chapter>
diff --git a/winsup/doc/readme.texinfo b/winsup/doc/readme.texinfo
deleted file mode 100644
index 6b7be641a..000000000
--- a/winsup/doc/readme.texinfo
+++ /dev/null
@@ -1,19 +0,0 @@
-\input texinfo
-@title The Cygwin README
-
-@subtitle (Only partially updated for the latest net release.)
-
-@setfilename readme.txt
-
-@include install.texinfo
-
-@chapter Release Information
-
-@strong{(Please note: This section has not yet been updated for the latest
-net release.)}
-
-@include changes.texinfo
-
-@include relnotes.texinfo
-
-@include calls.texinfo
diff --git a/winsup/doc/relnotes.texinfo b/winsup/doc/relnotes.texinfo
deleted file mode 100644
index c4f4f3a40..000000000
--- a/winsup/doc/relnotes.texinfo
+++ /dev/null
@@ -1,27 +0,0 @@
-@chapter Known Problems in the Latest Net Release
-
-@section Aware of the problem, no solution known.
-
-@subsection Hangs with Hyperthreaded Processor
-
-Some users using processors with Intel's Hyperthreading turned on have
-reported hangs that do not appear with Hyperthreading off. So far
-the Cygwin developers have not been able to reproduce this problem.
-See @file{http://www.cygwin.com/ml/cygwin/2004-07/msg01100.html} and
-related messages for details.
-
-@subsection Pipe key (@samp{|}) doesn't work on non-US keyboards in Win9x/ME
-
-This might get fixed someday, but meanwhile, just use rxvt, which does
-not have this problem. This is no real loss, because rxvt has many
-other advantages. (Do not attempt to use the "broken" pipe key
-(@samp{¦}) as a substitute, it is a different character.)
-
-@subsection Cannot access tape devices with mt on Win9x
-
-Win9x does not support the API used by the Cygwin fhandler_dev_tape
-class. Details at
-@file{http://sources.redhat.com/ml/cygwin/2000-12/msg00331.html}.
-
-@subsection On Win9x, scp leaves ssh processes running.
-
diff --git a/winsup/doc/setup-net.sgml b/winsup/doc/setup-net.sgml
deleted file mode 100644
index c098c32ea..000000000
--- a/winsup/doc/setup-net.sgml
+++ /dev/null
@@ -1,259 +0,0 @@
-<chapter id="setup-net"><title>Setting Up Cygwin</title>
-
-<sect1 id="internet-setup">
-<title>Internet Setup</title>
-<para>To install the Cygwin net release, go to <ulink
-url="http://cygwin.com/">http://cygwin.com/</ulink> and click on <ulink
-url="http://cygwin.com/setup.exe">"Install Cygwin Now!"</ulink>. This will
-download a GUI installer called <command>setup.exe</command> which can
-be run to download a complete cygwin installation via the internet.
-Follow the instructions on each screen to install Cygwin.
-</para>
-
-<para>
-The <command>setup.exe</command> installer is designed to be easy
-for new users to understand while remaining flexible for the
-experienced. The volunteer development team is constantly working
-on <command>setup.exe</command>; before requesting a new feature,
-check the wishlist in the <ulink url="http://sources.redhat.com/cgi-bin/cvsweb.cgi/setup/README?cvsroot=cygwin-apps&amp;rev=2">CVS <literal>README</literal>
-</ulink>. It may already be present in the CVS version!
-</para>
-
-<para>
-Since the default value for each option is the logical choice for
-most installations, you can get a working minimal Cygwin environment
-installed by simply clicking the <literal>Next</literal> button
-at each page. The only exception to this is choosing a Cygwin mirror,
-which you can choose by experimenting with those listed at
-<ulink url="http://cygwin.com/mirrors.html">
-http://cygwin.com/mirrors.html
-</ulink>. For more details about each of page of the
-<command>setup.exe</command> installation, read on below.
-Please note that this guide assumes that you have a basic understanding
-of Unix (or a Unix-like OS). If you are new to Unix, you will also want
-to make use of <ulink url="http://www.google.com/search?q=new+to+unix">
-other resources</ulink>.
-</para>
-
-<sect2><title>Download Source</title>
-<para>
-Cygwin uses packages to manage installing various software. When
-the default <literal>Install from Internet</literal> option is chosen,
-<command>setup.exe</command> creates a local directory to store
-the packages before actually installing the contents.
-<literal>Download from Internet</literal> performs only the first
-part (storing the packages locally), while
-<literal>Install from Local Directory</literal> performs only the
-second (installing the contents of the packages).
-</para>
-<para>
-The <literal>Download from Internet</literal> option is mainly
-for creating a base Cygwin package tree on one computer for
-installation on several machines with
-<literal>Install from Local Directory</literal>; copy the
-entire local package tree to another machine with the directory
-tree intact. For example, you might create a <literal>C:\cache\</literal>
-directory and place <command>setup.exe</command> in it. Run
-<command>setup.exe</command> to <literal>Install from Internet</literal>
-or <literal>Download from Internet</literal>, then copy the whole
-<literal>C:\cache\</literal> to each machine and instead choose
-<literal>Install from Local Directory</literal>. Unfortunately
-<command>setup.exe</command> does not yet support unattended installs.
-</para>
-<para>
-Though this provides some basic mirroring functionality, if you
-are managing a wide Cygwin installation, to keep up to date we recommend
-using a mirroring tool such as <command>wget</command>. A helpful user on
-the Cygwin mailing list created a simple demonstration script to accomplish
-this; search the list for <command>mkcygwget</command> for ideas.
-</para>
-</sect2>
-
-<sect2><title>Selecting an Install Directory</title>
-<para>
-The <literal>Root Directory</literal> for Cygwin (default
-<literal>C:\cygwin</literal>) will become <literal>/</literal>
-within your Cygwin installation. You must have write access to
-the parent directory, and any ACLs on the parent directory will
-determine access to installed files.
-</para>
-<para>
-The <literal>Install For</literal> options of <literal>All Users</literal>
-or <literal>Just Me</literal> should always be left on the default
-<literal>All Users</literal>, unless you do not have write access to
-<literal>HKEY_LOCAL_MACHINE</literal> in the registry or the All Users
-Start Menu. This is true even if you are the only user planning to use Cygwin
-on the machine. Selecting <literal>Just Me</literal> will cause problems
-for programs such as <command>crond</command> and <command>sshd</command>.
-If you do not have the necessary permissions, but still want to use these
-programs, consult the Cygwin mailing list archives about others' experiences.
-
-</para>
-<para>
-The <literal>Default Text File Type</literal> should be left on
-<literal>Unix</literal> (that is, <literal>\n</literal>) unless you
-have a very good reason to switch it to
-<literal>DOS</literal> (that is, <literal>\r\n</literal>).
-</para>
-</sect2>
-
-<sect2><title>Local Package Directory</title>
-<para>
-The <literal>Local Package Directory</literal> is the cache where
-<command>setup.exe</command> stores the packages before they are
-installed. The cache must not be the same folder as the Cygwin
-root. Within the cache, a separate directory is created for each
-Cygwin mirror, which allows <command>setup.exe</command> to use
-multiple mirrors and custom packages. After installing Cygwin,
-the cache is no longer necessary, but you may want to retain the
-packages as backups, for installing Cygwin to another system,
-or in case you need to reinstall a package.
-</para>
-</sect2>
-
-<sect2><title>Connection Method</title>
-<para>
-The <literal>Direct Connection</literal> method of downloading will
-directly download the packages, while the IE5 method will leverage your
-IE5 cache for performance. If your organisation uses a proxy server or
-auto-configuration scripts, the IE5 method also uses these settings.
-If you have a proxy server, you can manually type it into
-the <literal>Use Proxy</literal> section. Unfortunately,
-<command>setup.exe</command> does not currently support password
-authorization for proxy servers.
-</para>
-</sect2>
-
-<sect2><title>Choosing Mirrors</title>
-<para>
-Since there is no way of knowing from where you will be downloading
-Cygwin, you need to choose at least one mirror site. Cygwin mirrors
-are geographically distributed around the world; check the list at <ulink
-url="http://cygwin.com/mirrors.html">http://cygwin.com/mirrors.html</ulink>
-to find one near you. You can select multiple mirrors by holding down
-<literal>CTRL</literal> and clicking on each one. If you have the URL of
-an unlisted mirror (for example, if your organization has an internal Cygwin
-mirror) you can add it.
-</para>
-</sect2>
-
-<sect2><title>Choosing Packages</title>
-<para>
-For each selected mirror site, <command>setup.exe</command> downloads a
-small text file called <literal>setup.bz2</literal> that contains a list
-of packages available from that site along with some basic information about
-each package which <command>setup.exe</command> parses and uses to create the
-chooser window. For details about the format of this file, see
-the <ulink url="http://sources.redhat.com/cygwin-apps/setup.html">
-setup.exe homepage</ulink>.
-</para>
-<para>
-The chooser is the most complex part of <command>setup.exe</command>.
-Packages are grouped into categories, and one package may belong to multiple
-categories (assigned by the volunteer package maintainer). Each package
-can be found under any of those categories in the heirarchial chooser view.
-By default <command>setup.exe</command>
-will install only the packages in the <literal>Base</literal> category
-and their dependencies, resulting in a minimal Cygwin installation.
-However, this will not include many commonly used tools such as
-<command>gcc</command> (which you will find in the <literal>Devel</literal>
-category). Since <command>setup.exe</command> automatically selects
-dependencies, be careful not to unselect any required packages. In
-particular, everything in the <literal>Base</literal> category is
-required.
-</para>
-<para>
-You can change <command>setup.exe</command>'s view style, which is helpful
-if you know the name of a package you want to install but not which
-category it is in.
-Click on the <literal>View</literal> button and it will rotate between
-<literal>Category</literal> (the default), <literal>Full</literal> (all
-packages), and <literal>Partial</literal> (only packages to be upgraded).
-If you are familiar with Unix, you will probably want to at least glance
-through the <literal>Full</literal> listing for your favorite tools.
-</para>
-<para>
-Once you have an existing Cygwin installation, the <command>setup.exe</command>
-chooser is also used to manage your Cygwin installation.
-Information on installed packages is kept in the
-<literal>/etc/setup/</literal> directory of your Cygwin installation; if
-<command>setup.exe</command> cannot find this directory it will act just like
-you had no Cygwin installation. If <command>setup.exe</command>
-finds a newer version of an installed package available, it will automatically
-mark it to be upgraded.
-To <literal>Uninstall</literal>, <literal>Reinstall</literal>, or get the
-<literal>Source</literal> for an existing package, click on
-<literal>Keep</literal> to toggle it.
-Also, to avoid the need to reboot after upgrading, make sure
-to close all Cygwin windows and stop all Cygwin processes before
-<command>setup.exe</command> begins to install the upgraded package.
-</para>
-<para>
-The final feature of the <command>setup.exe</command> chooser is for
-<literal>Previous</literal> and <literal>Experimental</literal> packages.
-By default the chooser shows only the current version of each package,
-though mirrors have at least one previous version and occasionally there
-is a testing or beta version of a package available. To see these package,
-click on the <literal>Prev</literal> or <literal>Exp</literal> radio button.
-Be warned, however, that the next time you run <command>setup.exe</command>
-it will try to replace old or experimental versions with the current
-stable version.
-</para>
-</sect2>
-
-<sect2><title>Download and Installation Progress</title>
-<para>
-First, <command>setup.exe</command> will download all selected packages
-to the local directory chosen earlier. Before installing,
-<command>setup.exe</command> performs a checksum on each package. If the
-local directory is a slow medium (such as a network drive) this can take
-a long time. During the download and installation, <command>setup.exe</command>
-show progress bars for the current task and total remaining disk space.
-</para>
-</sect2>
-
-<sect2><title>Icons</title>
-<para>
-You may choose to install shortcuts on the Desktop and/or Start Menu
-to start a <literal>bash</literal> shell. If you prefer to use a different
-shell or the native Windows version of <literal>rxvt</literal>, you can
-use these shortcuts as a guide to creating your own.
-</para>
-</sect2>
-
-<sect2><title>Post-Install Scripts</title>
-<para>
-Last of all, <command>setup.exe</command> will run any post-install
-scripts to finish correctly setting up installed packages. Since each
-script is run separately, several windows may pop up. If you are
-interested in what is being done, see the Cygwin Package Contributor's
-Guide at <ulink
-url="http://cygwin.com/setup.html">http://cygwin.com/setup.html</ulink>
-When the last post-install script is completed, <command>setup.exe</command>
-will display a box announcing the completion. A few packages, such as
-the OpenSSH server, require some manual site-specific configuration.
-Relevant documentation can be found in the <literal>/usr/doc/Cygwin/</literal>
-or <literal>/usr/share/doc/Cygwin/</literal> directory.
-</para>
-</sect2>
-<sect2><title>Troubleshooting</title>
-<para>
-Unfortunately, the complex setup process means that odd problems can
-occur. If you're having trouble downloading packages, it may be network
-congestion, so try a different mirror and/or a different protocol (i.e.,
-HTTP instead of FTP). If you notice something is not working after
-running setup, you can check the <command>setup.exe</command> log file
-at <literal>/var/log/setup.log.full</literal>. Make a backup of this
-file before running <command>setup.exe</command> again, and follow the
-steps for <ulink url="http://cygwin.com/problems.html">Reporting
-Problems with Cygwin</ulink>.
-</para>
-</sect2>
-
-</sect1>
-
-DOCTOOL-INSERT-setup-env
-DOCTOOL-INSERT-setup-maxmem
-DOCTOOL-INSERT-ntsec
-DOCTOOL-INSERT-setup-files
-</chapter>
diff --git a/winsup/doc/setup.sgml b/winsup/doc/setup.sgml
deleted file mode 100644
index 1ba28abb5..000000000
--- a/winsup/doc/setup.sgml
+++ /dev/null
@@ -1,47 +0,0 @@
-<chapter id="setup"><title>Setting Up Cygwin</title>
-
-<sect1><title>Cygwin Contents</title>
-
-<para>The following packages are included in the native Win32
-release of GNUPro:</para>
-
-<para>GNUPro development tools: binutils, bison, byacc, dejagnu,
-diff, expect, flex, gas, gcc, gdb, itcl, ld, libstdc++, make, patch,
-tcl, tix, tk</para>
-
-<para>GNUPro unsupported tools: ash, bash, bzip2, diff, fileutils,
-findutils, gawk, grep, gzip, m4, sed, shellutils, tar, textutils,
-time</para>
-
-</sect1>
-
-<sect1 id="installing-binaries"><title>Installing the binary release</title>
-
-<para>Load the GNUPro CD-ROM and run the installer. It will
-take you through the installation process, starting with asking for
-your install location. Once the installation is complete, there will
-be a new Program Files folder that you can use to obtain a shell
-from which you can run the tools.</para>
-
-<para>There are two remaining thing you should do from this
-prompt. First, you need to type <command>mkdir -p /tmp</command> to
-ensure that a temp directory exists for programs that expect to find
-one there.</para>
-
-<para>Second, depending on how you intend to use the tools, various
-programs may need to be able to find `/bin/sh'. You should `mkdir -p
-/bin' and put a copy of `sh.exe' there, removing the older version, if
-present. Note that you can use the `mount' utility to select which
-drive letter is mounted as `/'.</para>
-
-<para>If you should ever want to uninstall the tools, you may do so
-via the "Add/Remove Programs" control panel.</para>
-
-</sect1>
-
-DOCTOOL-INSERT-setup-dir
-DOCTOOL-INSERT-setup-env
-DOCTOOL-INSERT-ntsec
-DOCTOOL-INSERT-setup-reg
-DOCTOOL-INSERT-setup-mount
-</chapter>
diff --git a/winsup/doc/setup2.sgml b/winsup/doc/setup2.sgml
deleted file mode 100644
index bd1e8dec0..000000000
--- a/winsup/doc/setup2.sgml
+++ /dev/null
@@ -1,206 +0,0 @@
-<sect1 id="setup-env"><title>Environment Variables</title>
-
-<para>
-Before starting bash, you may set some environment variables. A .bat
-file is provided where the most important ones are set before bash in
-launched. This is the safest way to launch bash initially. The .bat
-file is installed in the root directory that you specified during setup
-and pointed to in the Start Menu under the "Cygwin" option. You can
-edit it this file your liking.</para>
-
-<para>
-The <envar>CYGWIN</envar> variable is used to configure many global
-settings for the Cygwin runtime system. Initially you can leave
-<envar>CYGWIN</envar> unset or set it to <literal>tty</literal> (e.g.
-to support job control with ^Z etc...) using a syntax like this in the
-DOS shell, before launching bash. </para>
-
-<screen>
-<prompt>C:\&gt;</prompt> <userinput>set CYGWIN=tty notitle glob</userinput>
-</screen>
-
-<para>
-The <envar>PATH</envar> environment variable is used by Cygwin
-applications as a list of directories to search for executable files
-to run. This environment variable is converted from Windows format
-(e.g. <filename>C:\WinNT\system32;C:\WinNT</filename>) to UNIX format
-(e.g., <filename>/WinNT/system32:/WinNT</filename>) when a Cygwin
-process first starts.
-Set it so that it contains at least the <filename>x:\cygwin\bin</filename>
-directory where "<filename>x:\cygwin</filename> is the "root" of your
-cygwin installation if you wish to use cygwin tools outside of bash.
-</para>
-
-<para>
-The <envar>HOME</envar> environment variable is used by many programs to
-determine the location of your home directory and we recommend that it be
-defined. This environment variable is also converted from Windows format
-when a Cygwin process first starts. Set it to point to your home directory
-before launching bash.
-</para>
-
-<para>
-The <envar>TERM</envar> environment variable specifies your terminal
-type. It is automatically set to <literal>cygwin</literal> if you have
-not set it to something else.
-</para>
-
-<para>The <envar>LD_LIBRARY_PATH</envar> environment variable is used by
-the Cygwin function <function>dlopen ()</function> as a list of
-directories to search for .dll files to load. This environment variable
-is converted from Windows format to UNIX format when a Cygwin process
-first starts. Most Cygwin applications do not make use of the
-<function>dlopen ()</function> call and do not need this variable.
-</para>
-
-</sect1>
-
-<sect1 id="setup-maxmem"><title>Changing Cygwin's Maximum Memory</title>
-
-<para>
-By default no Cygwin program can allocate more than 384 MB of memory
-(program+data). You should not need to change this default in most
-circumstances. However, if you need to use more real or virtual memory in
-your machine you may add an entry in the either the
-<literal>HKEY_LOCAL_MACHINE</literal> (to change the limit for all users) or
-<literal>HKEY_CURRENT_USER</literal> (for just the current user) section of
-the registry.
-</para>
-
-<para>
-Add the <literal>DWORD</literal> value <literal>heap_chunk_in_mb</literal>
-and set it to the desired memory limit in decimal MB. It is preferred to do
-this in Cygwin using the <command>regtool</command> program included in the
-Cygwin package.
-(For more information about <command>regtool</command> or the other Cygwin
-utilities, see <xref linkend="using-utils"></xref> or use each the
-<literal>--help</literal> option of each util.) You should always be careful
-when using <command>regtool</command> since damaging your system registry can
-result in an unusable system. This example sets memory limit to 1024 MB:
-
-<screen>
-regtool -i set /HKLM/Software/Cygnus\ Solutions/Cygwin/heap_chunk_in_mb 1024
-regtool -v list /HKLM/Software/Cygnus\ Solutions/Cygwin
-</screen>
-</para>
-
-<para>
-Exit all running Cygwin processes and restart them. Memory can be allocated up
-to the size of the system swap space minus any the size of any running
-processes. The system swap should be at least as large as the physically
-installed RAM and can be modified under the System category of the
-Control Panel.
-</para>
-
-<para>
-Here is a small program written by DJ Delorie that tests the
-memory allocation limit on your system:
-
-<screen>
-main()
-{
- unsigned int bit=0x40000000, sum=0;
- char *x;
-
- while (bit > 4096)
- {
- x = malloc(bit);
- if (x)
- sum += bit;
- bit >>= 1;
- }
- printf("%08x bytes (%.1fMb)\n", sum, sum/1024.0/1024.0);
- return 0;
-}
-</screen>
-
-You can compile this program using:
-<screen>
-gcc max_memory.c -o max_memory.exe
-</screen>
-
-Run the program and it will output the maximum amount of allocatable memory.
-</para>
-</sect1>
-
-<sect1 id="setup-files"><title>Customizing bash</title>
-
-<para>
-To set bash up so that cut and paste work properly, click on the
-"Properties" button of the window, then on the "Misc" tab. Make sure
-that "Quick Edit" is checked and "Fast Pasting" isn't. These settings
-will be remembered next time you run bash from that
-shortcut. Similarly you can set the working directory inside the
-"Program" tab. The entry "%HOME%" is valid.
-</para>
-
-<para>
-Your home directory should contain three initialization files
-that control the behavior of bash. They are
-<filename>.profile</filename>, <filename>.bashrc</filename> and
-<filename>.inputrc</filename>. These initialization files will only
-be read if <envar>HOME</envar> is defined before starting bash.
-</para>
-
-<para>
-<filename>.profile</filename> (other names are also valid, see the bash man
-page) contains bash commands. It is executed when bash is started as login
-shell, e.g. from the command <command>bash --login</command>.
-This is a useful place to define and
-export environment variables and bash functions that will be used by bash
-and the programs invoked by bash. It is a good place to redefine
-<envar>PATH</envar> if needed. We recommend adding a ":." to the end of
-<envar>PATH</envar> to also search the current working directory (contrary
-to DOS, the local directory is not searched by default). Also to avoid
-delays you should either <command>unset</command> <envar>MAILCHECK</envar>
-or define <envar>MAILPATH</envar> to point to your existing mail inbox.
-</para>
-
-<para>
-<filename>.bashrc</filename> is similar to
-<filename>.profile</filename> but is executed each time an interactive
-bash shell is launched. It serves to define elements that are not
-inherited through the environment, such as aliases. If you do not use
-login shells, you may want to put the contents of
-<filename>.profile</filename> as discussed above in this file
-instead.
-</para>
-
-<para>
-<screen>
-shopt -s nocaseglob
-</screen>
-will allow bash to glob filenames in a case-insensitive manner.
-Note that <filename>.bashrc</filename> is not called automatically for login
-shells. You can source it from <filename>.profile</filename>.
-</para>
-
-<para>
-<filename>.inputrc</filename> controls how programs using the readline
-library (including <command>bash</command>) behave. It is loaded
-automatically. For full details see the <literal>Function and Variable
-Index</literal> section of the GNU <systemitem>readline</systemitem> manual.
-Consider the following settings:
-<screen>
-# Ignore case while completing
-set completion-ignore-case on
-# Make Bash 8bit clean
-set meta-flag on
-set convert-meta off
-set output-meta on
-</screen>
-The first command makes filename completion case insensitive, which can
-be convenient in a Windows environment. The next three commands allow
-<command>bash</command> to display 8-bit characters, useful for
-languages with accented characters. Note that tools that do not use
-<systemitem>readline</systemitem> for display, such as
-<command>less</command> and <command>ls</command>, require additional
-settings, which could be put in your <filename>.bashrc</filename>:
-<screen>
-alias less='/bin/less -r'
-alias ls='/bin/ls -F --color=tty --show-control-chars'
-</screen>
-</para>
-
-</sect1>
-
diff --git a/winsup/doc/textbinary.sgml b/winsup/doc/textbinary.sgml
deleted file mode 100644
index 1e74c5861..000000000
--- a/winsup/doc/textbinary.sgml
+++ /dev/null
@@ -1,173 +0,0 @@
-<sect1 id="using-textbinary"><title>Text and Binary modes</title>
-
-<sect2> <title>The Issue</title>
-
-<para>On a UNIX system, when an application reads from a file it gets
-exactly what's in the file on disk and the converse is true for writing.
-The situation is different in the DOS/Windows world where a file can
-be opened in one of two modes, binary or text. In the binary mode the
-system behaves exactly as in UNIX. However on writing in text mode, a
-NL (\n, ^J) is transformed into the sequence CR (\r, ^M) NL.
-</para>
-
-<para>This can wreak havoc with the seek/fseek calls since the number
-of bytes actually in the file may differ from that seen by the
-application.</para>
-
-<para>The mode can be specified explicitly as explained in the Programming
-section below. In an ideal DOS/Windows world, all programs using lines as
-records (such as <command>bash</command>, <command>make</command>,
-<command>sed</command> ...) would open files (and change the mode of their
-standard input and output) as text. All other programs (such as
-<command>cat</command>, <command>cmp</command>, <command>tr</command> ...)
-would use binary mode. In practice with Cygwin, programs that deal
-explicitly with object files specify binary mode (this is the case of
-<command>od</command>, which is helpful to diagnose CR problems). Most
-other programs (such as <command>cat</command>, <command>cmp</command>,
-<command>tr</command>) use the default mode.</para>
-
-</sect2>
-
-<sect2><title>The default Cygwin behavior</title>
-
-<para>The Cygwin system gives us some flexibility in deciding how files
-are to be opened when the mode is not specified explicitly.
-The rules are evolving, this section gives the design goals.</para>
-<orderedlist numeration="loweralpha">
-<listitem>
-<para>If the filename is specified as a POSIX path and it appears to
-reside on a file system that is mounted (i.e. if its pathname starts
-with a directory displayed by <command>mount</command>), then the
-default is specified by the mount flag. If the file is a symbolic link,
-the mode of the target file system applies.</para>
-</listitem>
-<listitem>
-<para>If the file is specified via a MS-DOS pathname (i.e., it contains a
-backslash or a colon), the default is binary.
-</para>
-</listitem>
-<listitem>
-<para>Pipes and non-file devices are opened in binary mode,
-except if the <envar>CYGWIN</envar> environment variable contains
-<literal>nobinmode</literal>.</para>
-<warning><title>Warning!</title><para>In b20.1 of 12/98, a file will be opened
-in binary mode if any of the following conditions hold:</para>
-<orderedlist numeration="arabic" spacing="compact">
-<listitem><para>binary mode is specified in the open call</para>
-</listitem>
-<listitem><para>the filename is a MS-DOS filename</para>
-</listitem>
-<listitem><para>the file resides on a binary mounted partition</para>
-</listitem>
-<listitem><para><envar>CYGWIN</envar> contains <literal>binmode</literal></para>
-</listitem>
-<listitem><para>the file is not a disk file</para>
-</listitem>
-</orderedlist>
-</warning>
-</listitem>
-
-<listitem>
-<para> When redirecting, the Cygwin shells uses rules (a-e). For
-these shells the relevant value of <envar>CYGWIN</envar> is that at the time
-the shell was launched and not that at the time the program is executed.
-Non-Cygwin shells always pipe and redirect with binary mode. With
-non-Cygwin shells the commands <command> cat filename | program </command>
-and <command> program &lt; filename </command> are not equivalent when
-<filename>filename</filename> is on a text-mounted partition. </para>
-</listitem>
-</orderedlist>
-</sect2>
-
-<sect2><title>Example</title>
-<para>To illustrate the various rules, we provide scripts to delete CRs
-from files by using the <command>tr</command> program, which can only write
-to standard output.
-The script</para>
-<screen>
-<![CDATA[
-#!/bin/sh
-# Remove \r from the file given as argument
-tr -d '\r' < "$1" > "$1".nocr
-]]>
-</screen>
-<para> will not work on a text mounted systems because the \r will be
-reintroduced on writing. However scripts such as </para>
-<screen>
-<![CDATA[
-#!/bin/sh
-# Remove \r from the file given as argument
-tr -d '\r' | gzip | gunzip > "$1".nocr
-]]>
-</screen>
-<para>and the .bat file</para>
-<screen>
-<![CDATA[
-REM Remove \r from the file given as argument
-@echo off
-tr -d \r < %1 > %1.nocr
-]]>
-</screen>
-<para> work fine. In the first case (assuming the pipes are binary)
-we rely on <command>gunzip</command> to set its output to binary mode,
-possibly overriding the mode used by the shell.
-In the second case we rely on the DOS shell to redirect in binary mode.
-</para>
-</sect2>
-
-<sect2><title>Binary or text?</title>
-
-<para>UNIX programs that have been written for maximum portability
-will know the difference between text and binary files and act
-appropriately under Cygwin. For those programs, the text mode default
-is a good choice. Programs included in official Cygwin distributions
-should work well in the default mode. </para>
-
-<para>Text mode makes it much easier to mix files between Cygwin and
-Windows programs, since Windows programs will usually use the CRLF
-format. Unfortunately you may still have some problems with text
-mode. First, some of the utilities included with Cygwin do not yet
-specify binary mode when they should.
-Second, you will introduce CRs in text
-files you write, which can cause problems when moving them back to a
-UNIX system. </para>
-
-<para>If you are mounting a remote file system from a UNIX machine,
-or moving files back and forth to a UNIX machine, you may want to
-access the files in binary mode. The text files found there will normally
-be in UNIX NL format, and you would want any files put there by Cygwin
-programs to be stored in a format understood by UNIX.
-Be sure to remove CRs from all Makefiles and
-shell scripts and make sure that you only edit the files with
-DOS/Windows editors that can cope with and preserve NL terminated lines.
-</para>
-
-<para>Note that you can decide this on a disk by disk basis (for
-example, mounting local disks in text mode and network disks in binary
-mode). You can also partition a disk, for example by mounting
-<filename>c:</filename> in text mode, and <filename>c:\home</filename>
-in binary mode.</para>
-
-</sect2>
-
-<sect2><title>Programming</title>
-
-<para>In the <function>open()</function> function call, binary mode can be
-specified with the flag <literal>O_BINARY</literal> and text mode with
-<literal>O_TEXT</literal>. These symbols are defined in
-<filename>fcntl.h</filename>.</para>
-
-<para>In the <function>fopen()</function> function call, binary mode can be
-specified by adding a <literal>b</literal> to the mode string. Text mode is specified
-by adding a <literal>t</literal> to the mode string.</para>
-
-<para>The mode of a file can be changed by the call
-<function>setmode(fd,mode)</function> where <literal>fd</literal> is a file
-descriptor (an integer) and <literal>mode</literal> is
-<literal>O_BINARY</literal> or <literal>O_TEXT</literal>. The function
-returns <literal>O_BINARY</literal> or <literal>O_TEXT</literal> depending
-on the mode before the call, and <literal>EOF</literal> on error.</para>
-
-</sect2>
-
-</sect1>
diff --git a/winsup/doc/using.sgml b/winsup/doc/using.sgml
deleted file mode 100644
index 4678cff93..000000000
--- a/winsup/doc/using.sgml
+++ /dev/null
@@ -1,23 +0,0 @@
-<chapter id="using"><title>Using Cygwin</title>
-
-<para>This chapter explains some key differences between the Cygwin
-environment and traditional UNIX systems. It assumes a working
-knowledge of standard UNIX commands.</para>
-
-DOCTOOL-INSERT-using-pathnames
-
-DOCTOOL-INSERT-using-textbinary
-
-DOCTOOL-INSERT-using-filemodes
-
-DOCTOOL-INSERT-using-specialnames
-
-DOCTOOL-INSERT-using-cygwinenv
-
-DOCTOOL-INSERT-using-cygserver
-
-DOCTOOL-INSERT-using-utils
-
-DOCTOOL-INSERT-using-effectively
-
-</chapter>
diff --git a/winsup/doc/what.texinfo b/winsup/doc/what.texinfo
deleted file mode 100644
index 23a766a25..000000000
--- a/winsup/doc/what.texinfo
+++ /dev/null
@@ -1,87 +0,0 @@
-@chapter What is it?
-
-The Cygwin tools are ports of the popular GNU development tools for
-Microsoft Windows. They run thanks to the Cygwin library which
-provides the UNIX system calls and environment these programs expect.
-
-With these tools installed, it is possible to write Win32 console or
-GUI applications that make use of the standard Microsoft Win32 API
-and/or the Cygwin API. As a result, it is possible to easily
-port many significant Unix programs without the need
-for extensive changes to the source code. This includes configuring
-and building most of the available GNU software (including the packages
-included with the Cygwin development tools themselves). Even if
-the development tools are of little to no use to you, you may have
-interest in the many standard Unix utilities provided with the package.
-They can be used both from the bash shell (provided) or from the
-standard Windows command shell.
-
-@section What versions of Windows are supported?
-
-Wait a minute... Cygwin is only @emph{supported} if you are paying for
-it, such as through a support contract with Red Hat. For information
-about getting a Red Hat support contract, see
-@file{http://www.redhat.com/software/tools/cygwin/}.
-
-That said, Cygwin can be expected to run on all modern 32 bit versions of
-Windows, except Windows CE. This includes Windows 95/98/ME/NT/2000/XP.
-
-Keep in mind that Cygwin can only do as much as the underlying OS
-supports. Because of this, Cygwin will behave differently, and
-exhibit different limitations, on the various versions of Windows.
-
-@section Where can I get it?
-
-The home page for the Cygwin project is @file{http://cygwin.com/}.
-There you should find everything you need for Cygwin, including links
-for download and setup, a current list of mirror sites, a User's
-Guide, an API Reference, mailing lists and archives, and additional
-ported software.
-
-You can find documentation for the individual GNU tools at
-@file{http://www.fsf.org/manual/}. (You should read GNU manuals from a
-local mirror. Check @file{http://www.fsf.org/server/list-mirrors.html}
-for a list of them.)
-
-@section Is it free software?
-
-Yes. Parts are GNU software (gcc, gas, ld, etc...), parts are covered
-by the standard X11 license, some of it is public domain, some of
-it was written by Cygnus and placed under the GPL. None of it is
-shareware. You don't have to pay anyone to use it but you should be
-sure to read the copyright section of the FAQ for more information on
-how the GNU General Public License may affect your use of these tools.
-
-In particular, if you intend to port a proprietary (non-GPL'd)
-application using Cygwin, you will need the proprietary-use license
-for the Cygwin library. This is available for purchase; please visit
-@file{http://www.redhat.com/software/tools/cygwin/} for more information.
-All other questions should be sent to the project
-mailing list cygwin@@cygwin.com.
-
-Note that when we say "free" we mean freedom, not price. The goal of
-such freedom is that the people who use a given piece of software
-should be able to change it to fit their needs, learn from it, share
-it with their friends, etc. The Cygwin license allows you those
-freedoms, so it is free software.
-
-@section What version of Cygwin @emph{is} this, anyway?
-
-To find the version of the Cygwin DLL installed, you can use
-@file{uname} as on Linux or @file{cygcheck}. Refer to each command's
-@samp{--help} output and the @uref{http://cygwin.com/cygwin-ug-net/,
-Cygwin User's Guide} for more information.
-
-If you are looking for the version number for the whole Cygwin
-release, there is none. Each package in the Cygwin release has its own
-version. The packages in Cygwin are continually improving, thanks to
-the efforts of net volunteers who maintain the Cygwin binary ports.
-Each package has its own version numbers and its own release process.
-
-So, how do you get the most up-to-date version of Cygwin? Easy. Just
-download the Cygwin Setup program from
-@uref{http://cygwin.com/setup.exe}. This program will handle the task
-of updating the packages on your system to the latest version. For
-more information about using Cygwin's @file{setup.exe}, see
-@uref{http://cygwin.com/cygwin-ug-net/setup-net.html, Setting Up Cygwin}
-in the Cygwin User's Guide.
diff --git a/winsup/doc/who.texinfo b/winsup/doc/who.texinfo
deleted file mode 100644
index cc93ceaa1..000000000
--- a/winsup/doc/who.texinfo
+++ /dev/null
@@ -1,88 +0,0 @@
-@chapter Who's behind the project?
-
-@strong{(Please note that if you have cygwin-specific questions, all of these
-people will appreciate it if you use the cygwin mailing lists rather than
-sending personal email.)}
-
-Chris Faylor is behind many of the recent changes in Cygwin. Prior to
-joining Cygnus, he contributed significant fixes to the process control
-and environ code, reworked the strace mechanism, and rewrote the
-signal-related code from scratch as a Net contributor. In addition to
-continuing to make technical contributions, Chris is also currently the
-group's manager.
-
-Corinna Vinschen has contributed several useful fixes to the path
-handling code, console support, improved security handling, and raw
-device support. Corinna is currently employed by Red Hat as a
-GDB/Cygwin engineer.
-
-DJ Delorie has done important work in profiling Cygwin,
-worked on the Dejagnu automated testing framework, merged the dlltool
-functionality into ld, wrote a good deal of the Cygwin Users' Guide,
-authored the cygcheck utility, and made automated snapshots available
-from our project WWW page. DJ is currently employed by Red Hat as
-a GCC engineer.
-
-Egor Duda has contributed many useful fixes. He is responsible for
-Cygwin's ability to start a debugger on detection of a fatal error
-as well as produce core dumps.
-
-Robert Collins has contributed many improvements to thread handling
-as well as generic fixes to cygwin itself.
-
-Kazuhiro Fujieda has contributed many bug fixes and bug reports.
-
-Earnie Boyd has contributed many bug fixes and is the mingw and w32api
-maintainer.
-
-David Starks-Browning is our dedicated FAQ maintainer.
-
-Geoffrey Noer took over the Cygwin project from its initial author Steve
-Chamberlain in mid-1996. As maintainer, he produced Net releases beta
-16 through 20; made the development snapshots; worked with Net
-contributors to fix bugs; made many various code improvements himself;
-wrote a paper on Cygwin for the 1998 Usenix NT Symposium; authored the
-project WWW pages, FAQ, README; etc. Geoffrey is not currently employed
-by Red Hat.
-
-Steve Chamberlain designed and implemented
-Cygwin in 1995-1996 while working for Cygnus. He worked with the Net
-to improve the technology, ported/integrated many of the user tools
-for the first time to Cygwin, and produced all of the releases up to
-beta 14. Steve is not currently employed by Red Hat.
-
-Marco Fuykschot and Peter Boncz of Data Distilleries contributed nearly
-all of the changes required to make Cygwin thread-safe. They also
-provided the pthreads interface.
-
-Sergey Okhapkin has been an invaluable Net contributor. He implemented
-the tty/pty support, has played a significant role in revamping signal
-and exception handling, and has made countless contributions throughout
-the library. He also provided binaries of the development snapshots to
-the Net after the beta 19 release.
-
-Mumit Khan has been most helpful on the EGCS end of things, providing
-quite a large number of stabilizing patches to the compiler tools for
-the B20 release.
-
-Philippe Giacinti contributed the implementation of dlopen, dlclose,
-dlsym, dlfork, and dlerror in Cygwin.
-
-Ian Lance Taylor did a much-needed rework of the path handling code for
-beta 18, and has made many assorted fixes throughout the code. Jeremy
-Allison made significant contributions in the area of file handling and
-process control, and rewrote select from scratch. Doug Evans rewrote
-the path-handling code in beta 16, among other things. Kim Knuttila and
-Michael Meissner put in many long hours working on the now-defunct
-PowerPC port. Jason Molenda and Mark Eichin have also made important
-contributions.
-
-Please note that all of us working on Cygwin try to
-be as responsive as possible and deal with patches and questions as we
-get them, but realistically we don't have time to answer all of the
-email that is sent to the main mailing list. Making Net releases of the
-Win32 tools and helping people on the Net out is not our primary job
-function, so some email will have to go unanswered.
-
-Many thanks to everyone using the tools for their many contributions in
-the form of advice, bug reports, and code fixes. Keep them coming!
diff --git a/winsup/doc/windres.sgml b/winsup/doc/windres.sgml
deleted file mode 100644
index 82c537dff..000000000
--- a/winsup/doc/windres.sgml
+++ /dev/null
@@ -1,169 +0,0 @@
-
-<sect1 id="windres"><title>Defining Windows Resources</title>
-
-<para><filename>windres</filename> reads a Windows resource file
-(<filename>*.rc</filename>) and converts it to a res or coff file.
-The syntax and semantics of the input file are the same as for any
-other resource compiler, so please refer to any publication describing
-the Windows resource format for details. Also, the
-<filename>windres</filename> program itself is fully documented in the
-Binutils manual. Here's an example of using it in a project:</para>
-
-<screen>
-<![CDATA[
-myapp.exe : myapp.o myapp.res
- gcc -mwindows myapp.o myapp.res -o $@
-
-myapp.res : myapp.rc resource.h
- windres $< -O coff -o $@
-]]>
-</screen>
-
-
-<para>What follows is a quick-reference to the syntax
-<filename>windres</filename> supports.</para>
-
-<screen>
-
-id ACCELERATORS suboptions
-BEG
-"^C" 12
-"Q" 12
-65 12
-65 12 , VIRTKEY ASCII NOINVERT SHIFT CONTROL ALT
-65 12 , VIRTKEY, ASCII, NOINVERT, SHIFT, CONTROL, ALT
-(12 is an acc_id)
-END
-
-SHIFT, CONTROL, ALT require VIRTKEY
-
-
-id BITMAP memflags "filename"
-memflags defaults to MOVEABLE
-
-
-id CURSOR memflags "filename"
-memflags defaults to MOVEABLE,DISCARDABLE
-
-
-id DIALOG memflags exstyle x,y,width,height styles BEG controls END
-id DIALOGEX memflags exstyle x,y,width,height styles BEG controls END
-id DIALOGEX memflags exstyle x,y,width,height,helpid styles BEG controls END
-
-memflags defaults to MOVEABLE
-exstyle may be EXSTYLE=number
-styles: CAPTION "string"
- CLASS id
- STYLE FOO | NOT FOO | (12)
- EXSTYLE number
- FONT number, "name"
- FONT number, "name",weight,italic
- MENU id
- CHARACTERISTICS number
- LANGUAGE number,number
- VERSIONK number
-controls:
- AUTO3STATE params
- AUTOCHECKBOX params
- AUTORADIOBUTTON params
- BEDIT params
- CHECKBOX params
- COMBOBOX params
- CONTROL ["name",] id, class, style, x,y,w,h [,exstyle] [data]
- CONTROL ["name",] id, class, style, x,y,w,h, exstyle, helpid [data]
- CTEXT params
- DEFPUSHBUTTON params
- EDITTEXT params
- GROUPBOX params
- HEDIT params
- ICON ["name",] id, x,y [data]
- ICON ["name",] id, x,y,w,h, style, exstyle [data]
- ICON ["name",] id, x,y,w,h, style, exstyle, helpid [data]
- IEDIT params
- LISTBOX params
- LTEXT params
- PUSHBOX params
- PUSHBUTTON params
- RADIOBUTTON params
- RTEXT params
- SCROLLBAR params
- STATE3 params
- USERBUTTON "string", id, x,y,w,h, style, exstyle
-params:
- ["name",] id, x, y, w, h, [data]
- ["name",] id, x, y, w, h, style [,exstyle] [data]
- ["name",] id, x, y, w, h, style, exstyle, helpid [data]
-
-[data] is optional BEG (string|number) [,(string|number)] (etc) END
-
-
-id FONT memflags "filename"
-memflags defaults to MOVEABLE|DISCARDABLE
-
-id ICON memflags "filename"
-memflags defaults to MOVEABLE|DISCARDABLE
-
-LANGUAGE num,num
-
-id MENU options BEG items END
-items:
- "string", id, flags
- SEPARATOR
- POPUP "string" flags BEG menuitems END
-flags:
- CHECKED
- GRAYED
- HELP
- INACTIVE
- MENUBARBREAK
- MENUBREAK
-
-id MENUEX suboptions BEG items END
-items:
- MENUITEM "string"
- MENUITEM "string", id
- MENUITEM "string", id, type [,state]
- POPUP "string" BEG items END
- POPUP "string", id BEG items END
- POPUP "string", id, type BEG items END
- POPUP "string", id, type, state [,helpid] BEG items END
-
-id MESSAGETABLE memflags "filename"
-memflags defaults to MOVEABLE
-
-id RCDATA suboptions BEG (string|number) [,(string|number)] (etc) END
-
-STRINGTABLE suboptions BEG strings END
-strings:
- id "string"
- id, "string"
-
-(User data)
-id id suboptions BEG (string|number) [,(string|number)] (etc) END
-
-id VERSIONINFO stuffs BEG verblocks END
-stuffs: FILEVERSION num,num,num,num
- PRODUCTVERSION num,num,num,num
- FILEFLAGSMASK num
- FILEOS num
- FILETYPE num
- FILESUBTYPE num
-verblocks:
- BLOCK "StringFileInfo" BEG BLOCK BEG vervals END END
- BLOCK "VarFileInfo" BEG BLOCK BEG vertrans END END
-vervals: VALUE "foo","bar"
-vertrans: VALUE num,num
-
-
-
-suboptions:
- memflags
- CHARACTERISTICS num
- LANGUAGE num,num
- VERSIONK num
-
-memflags are MOVEABLE/FIXED PURE/IMPURE PRELOAD/LOADONCALL DISCARDABLE
-
-</screen>
-
-</sect1>
diff --git a/winsup/mingw/CONTRIBUTORS b/winsup/mingw/CONTRIBUTORS
deleted file mode 100644
index f696f500e..000000000
--- a/winsup/mingw/CONTRIBUTORS
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * CONTRIBUTORS
- * This file has no copyright assigned and is placed in the Public Domain.
- * This file is a part of the mingw-runtime package.
- * No warranty is given; refer to the file DISCLAIMER within the package.
- *
- * HISTORICAL:
- * Colin Peters <colin@fu.is.saga-u.ac.jp> - Original author of the
- * mingw-runtime package.
- * Mumit Khan <khan@xraylith.wisc.EDU> - Original maintainer of the
- * mingw-runtime package.
- * Gunther Ebert <gunther.ebert@ixos-leipzig.de> - Adaptations of his DLL
- * support.
- * Stan Cox <scox@cygnus.com> - Provided gccmain.c.
- * J.J. van der Heijden <J.J.vanderHeijden@student.utwente.nl> - Provided
- * dos.h.
- * Mikey <jeffdb@netzone.com> - Adaptated excpt.h from his code.
- * Pedro A. Aranda <paag@tid.es> - Provided lots of types for types.h.
- *
- * CURRENT:
- * Danny Smith <dannysmith@users.sourceforge.net>
- * Earnie Boyd <earnie@users.sourceforge.net>
- * Luke Dunstan <coder_infidel@users.sourceforge.net>
- *
- * Many others in the MinGW user community. They are listed in the ChangeLog.
- * Please review that file for the names of those contributors.
- *
- */
diff --git a/winsup/mingw/CRT_fp10.c b/winsup/mingw/CRT_fp10.c
deleted file mode 100644
index a13fb0096..000000000
--- a/winsup/mingw/CRT_fp10.c
+++ /dev/null
@@ -1,16 +0,0 @@
-/*
- * CRT_FP10.c
- *
- * This defines _fpreset as asm ("fnint"). Calls to _fpreset
- * will set default floating point precesion to 64-bit mantissa
- * at app startup.
- *
- * Linking in CRT_FP10.o before libmingw.a will override the definition
- * set in CRT_FP8.o.
- */
-
-/* Override library _fpreset() with asm fninit */
-void _fpreset (void)
- { __asm__ ( "fninit" ) ;}
-
-void __attribute__ ((alias ("_fpreset"))) fpreset(void);
diff --git a/winsup/mingw/CRT_fp8.c b/winsup/mingw/CRT_fp8.c
deleted file mode 100644
index d772d759a..000000000
--- a/winsup/mingw/CRT_fp8.c
+++ /dev/null
@@ -1,18 +0,0 @@
-/*
- * CRT_FP8.c
- *
- * This forces calls of _fpreset to the MSVCRT function
- * exported from dll. Effectively it make default
- * precison same as apps built with MSVC (53-bit mantissa).
-
- *
- * To change to 64-bit mantissa, link in CRT_FP10.o before libmingw.a.
- */
-
-/* Link against the _fpreset visible in import lib */
-
-extern void (*_imp___fpreset)(void) ;
-void _fpreset (void)
-{ (*_imp___fpreset)(); }
-
-void __attribute__ ((alias ("_fpreset"))) fpreset(void);
diff --git a/winsup/mingw/CRT_noglob.c b/winsup/mingw/CRT_noglob.c
deleted file mode 100644
index 2e122fbd7..000000000
--- a/winsup/mingw/CRT_noglob.c
+++ /dev/null
@@ -1,15 +0,0 @@
-/*
- * CRT_noglob.c
- * This file has no copyright is assigned and is placed in the Public Domain.
- * This file is a part of the mingw-runtime package.
- * No warranty is given; refer to the file DISCLAIMER within the package.
- *
- * Include this object file to set _CRT_glob to a state that will turn off
- * command line globbing by default. NOTE: _CRT_glob has a default state of on.
- *
- * To use this object include the object file in your link command:
- * gcc -o foo.exe foo.o CRT_noglob.o
- *
- */
-
-int _CRT_glob = 0;
diff --git a/winsup/mingw/CRTfmode.c b/winsup/mingw/CRTfmode.c
deleted file mode 100644
index bf750d94e..000000000
--- a/winsup/mingw/CRTfmode.c
+++ /dev/null
@@ -1,16 +0,0 @@
-/*
- * CRTfmode.c
- * This file has no copyright assigned and is placed in the Public Domain.
- * This file is a part of the mingw-runtime package.
- * No warranty is given; refer to the file DISCLAIMER within the package.
- *
- * Include this object to set _CRT_fmode to a state that will cause
- * _mingw32_init_fmode to leave all file modes in their default state
- * (basically text mode).
- *
- * To use this object include the object file in your link command:
- * gcc -o foo.exe foo.o CRTfmode.o
- *
- */
-
-int _CRT_fmode = 0;
diff --git a/winsup/mingw/CRTglob.c b/winsup/mingw/CRTglob.c
deleted file mode 100644
index a4f5fe051..000000000
--- a/winsup/mingw/CRTglob.c
+++ /dev/null
@@ -1,16 +0,0 @@
-/*
- * CRTglob.c
- * This file has no copyright assigned and is placed in the Public Domain.
- * This file is a part of the mingw-runtime package.
- * No warranty is given; refer to the file DISCLAIMER within the package.
- *
- * Include this object file to set _CRT_glob to a state that will
- * turn on command line globbing by default. NOTE: _CRT_glob has a default
- * state of on. Specify CRT_noglob.o to turn off globbing by default.
- *
- * To use this object include the object file in your link command:
- * gcc -o foo.exe foo.o CRTglob.o
- *
- */
-
-int _CRT_glob = -1;
diff --git a/winsup/mingw/CRTinit.c b/winsup/mingw/CRTinit.c
deleted file mode 100644
index bb2304d1d..000000000
--- a/winsup/mingw/CRTinit.c
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * CRTinit.c
- * This file has no copyright assigned and is placed in the Public Domain.
- * This file is a part of the mingw-runtime package.
- * No warranty is given; refer to the file DISCLAIMER within the package.
- *
- * A dummy version of _CRT_INIT for MS compatibility. Programs, or more often
- * dlls, which use the static version of the MSVC run time are supposed to
- * call _CRT_INIT to initialize the run time library in DllMain. This does
- * not appear to be necessary when using crtdll or the dll versions of the
- * MSVC runtime, so the dummy call simply does nothing.
- *
- * This object file is included as a standard in the link process as provided
- * by the appropriate GCC frontend.
- *
- * To use this object include the object file in your link command:
- * gcc -o foo.exe foo.o CRTinit.o
- *
- */
-
-void
-_CRT_INIT ()
-{
-}
diff --git a/winsup/mingw/ChangeLog b/winsup/mingw/ChangeLog
deleted file mode 100644
index 3c6a82993..000000000
--- a/winsup/mingw/ChangeLog
+++ /dev/null
@@ -1,3083 +0,0 @@
-2005-10-27 Chris Sutcliffe <ir0nh34d@users.sourceforge.net>
-
- * Include/_mingw.h: Increment version to 3.9.
- * Makefile.in: Ditto.
-
-2005-10-14 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/limits.h (SSIZE_MAX): Define.
- (LLONG_MAX, LLONG_MIN, ULLONG_MAX): Separate from non-ISO names.
-
-2005-10-13 Wu Yongwei <adah@users.sourceforge.net>
-
- * include/tchar.h: Include <wchar.h> when _UNICODE is defined.
- (_TEOF): New macro definition for _UNICODE and non_UNICODE cases.
-
-2005-10-12 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/stddef.h: Remove.
- * include/stdarg.h: Remove.
-
-2005-10-12 Danny Smith <dannysmith@users.sourceforge.net>
-
- * mingwex/complex/csqrt.c (csqrt): The sign of real part
- of result is positive when real part of arg == 0;
- * mingwex/complex/csqrtf.c (csqrtf): Ditto.
- * mingwex/complex/csqrtl.c (csqrtl): Ditto.
-
-2005-10-12 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/time.h (_time64): Correct prototype.
-
-2005-10-08 Danny Smith <dannysmith@users.sourceforge.net>
-
- * mingwex/fegetenv.c (fegetenv): Restore exception masks.
- * mingwex/feholdexcept.c (feholdexcept): Don't set exceptions
- to non-stop. Use "fnclex" to clear exception flags.
-
-2005-09-24 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/math.h (HUGE_VALF, HUGE_VALL, INFINITY, NAN)
- Avoid raising FP exceptions.
-
-2005-09-19 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/stdlib.h (strtof): Add prototype. Uglify
- parameter names in inline definition.
- (wcstof): Likewise.
- (_Exit): Uglify parameter names in inline definition.
- (llabs): Add prototype.
- (_set_error_mode): Add prototype and input defines.
-
-2005-08-25 Danny Smith <dannysmith@users.sourceforge.net>
-
- * mingwex/fe*.c: Revert previous changes.
- * include/fenv.h: Revert previous changes.
-
-2005-08-25 Danny Smith <dannysmith@users.sourceforge.net>
-
- * mingwex/feclearexcept.c (feclearexcept): Change declaration.
- Do not return a value.
- * mingwex/fegetexceptflag.c (fegetexceptflag): Likewise.
- * mingwex/feraiseexcept.c (feraiseexcept): Likewise.
- * mingwex/fesetexceptflag.c (fesetexceptflag): Likewise.
- * mingwex/fegetenv.c (fegetenv): Likewise.
- * mingwex/fesetenv.c (fesetenv): Likewise.
- * mingwex/feupdateenv.c (feupdateenv): Likewise.
- * include/fenv.h (feclearexcept, fegetexceptflag, feraiseexcept,
- fesetexceptflag, fegetenv, fesetenv, feupdateenv): Correct
- prototypes.
-
-2005-08-25 Danny Smith <dannysmith@users.sourceforge.net>
-
- * mingwex/stdio/fseeko64.c (fseeko64): Flush stream before
- getting filelength for SEEK_END.
-
-2005-08-13 Chris Sutcliffe <ir0nh34d@users.sourceforge.net>
-
- * Include/_mingw.h: Increment version to 3.8.
- * Makefile.in: Ditto.
-
-2005-08-10 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/wctype.h (towupper, towlower): Change arg and return value
- types to wint_t.
- * include/ctype.h (towupper, towlower): Likewise.
-
-2005-08-10 Danny Smith <dannysmith@users.sourceforge.net>
-
- * mthr_stub.c (__mingwthr_key_dtor): Replace assert(0) with
- a diagnostic, guarded by #ifdef DEBUG.
- (__mingwthr_remove_key_dtor): Likewise.
-
-2005-08-08 Danny Smith <dannysmith@users.sourceforge.net>
-
- * moldname.def.in (sleep, beep, seterrormode): Remove.
-
-2005-06-16 Danny Smith <dannysmith@users.sourceforge.net>
-
- * profile/profile.h (_MCOUNT_CALL): Define as regparm(2)
- (_MCOUNT_DECL): Use it.
- (MCOUNT): Save and restore eax, ecx, edx registers.
- * profile/mcount.c (_mcount): ANSI-fy.
-
-2005-06-16 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/_mingw.h (__MINGW_GNUC_PREREQ): Define. Use to
- guard __MINGW_ATTRIB macro definitions.
- * include/math.h (logb[fl]): Don't define inlines for
- GCC-4.0+ && __FAST_MATH__.
- (rint[fl], lrint[fl], llrint[fl]); Likewise. Clean up
- line-continuation backslashes.
-
-2005-06-06 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/_mingw.h (__MINGW_ATTRIBUTE_NONNULL): Fix typo
- in GNUC version guard.
-
-2005-05-20 Danny Smith <dannysmith@users.sourceforge.net>
-
- * crt1.c (_gnu_exception_handler): Handle illegal instruction
- OS exception as a signal if user has defined a SIGILL handler.
-
-2005-05-10 Danny Smith <dannysmith@users.sourceforge.net>
-
- * mingwex/math/nexttoward.c: New file.
- * mingwex/math/nexttowardf.c: New file.
- * mingwex/math/nextafterl.c: Add nexttowardl alias.
- * mingwex/Makefile.in (MATH_DISTFILES): Add nexttoward.c,
- mexttowardf.c,
- (MATH_OBJS): Add nexttoward.o, nexttowardf.o,
- * include/math.h (nexttoward, nextowardf, nexttowardl): Add
- prototypes.
-
-2005-05-09 Danny Smith <dannysmith@users.sourceforge.net>
-
- * mingwex/math/nextafterf.c (nextafterf): Correct
- handling of -0.0.
- * mingwex/math/nextafterl.c: New file.
- * mingwex/Makefile.in (MATH_DISTFILES): Add nextafterl.c.
- (MATH_OBJS): Add nextafterl.o.
- * include/math.h (nextafterl): Uncomment prototype.
-
-2005-05-08 Danny Smith <dannysmith@users.sourceforge.net>
-
- * mingwex/math/erfl.c: New file.
- * mingwex/Makefile.in (MATH_DISTFILES): Add erfl.c.
- (MATH_OBJS): Add erfl.o.
- * include/math.h (erfl, erfcl): Uncomment prototypes.
-
-2005-05-04 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/wchar.h (WCHAR_MAX): Define as 0xffff, so preprocessor
- #if (WCHAR_MAX <= WCHAR_MIN) is false.
- * include/stdint.h (WCHAR_MAX): Likwise.
- (WINT_MAX): Likewise.
-
-2005-05-03 Danny Smith <dannysmith@users.sourceforge.net>
-
- * mingwex/math/signbit.c (__signbit): Make return value
- consistent with GCC's __builtin_signbit.
- * mingwex/math/signbitf.c (__signbitf): Likewise.
- * mingwex/math/signbitf.c (__signbitl): Likewise.
- * include/math.h (__signbit, __signbitf, __signbitl): Likewise
- for inlines.
-
-2005-05-02 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/_mingw.h (__MINGW_ATTRIB_NONNULL): Don't define as
- variadic macro.
- * mingwex/mbrtowc.c (__mbrtowc_cp): Use __MINGW_ATTRIB_NONNULL.
- Remove unused MBTOWC_FLAGS define.
-
-2005-04-23 Danny Smith <dannysmith@users.sourceforge.net>
-
- * mingwex/mbrtowc.c: New file.
- * mingwex/wcrtomb.c: New file.
- * mingwex/btowc.c: New file.
- * mingwex/wctob.c: New file.
- * mingwex/mb_wc_common.h: New file.
- * mingwex/Makefile.in (DISTFILES): Add new files.
- (Q8_OBJS): Add new objects.
- * include/wchar.h: Adjust comment about mbrtowc() and related
- funcions. Add __restrict__ to pointer params in prototypes.
- (wmemset. wmemchr, wmemcpy, wmemmove, wcstoll, wcstoull): Remove
- arg names from protototypes.
-
-2005-04-23 Wu Yongwei <adah@sh163.net>
-
- * mingwex/dirent.c: Formatting changes.
- * mingwex/dirent.c (_topendir): Make the end-of-path slash check
- MBCS-safe.
-
-2005-03-31 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/_mingw.h (__MINGW_ATTRIB_NONNULL): Define.
-
-2005-03-24 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/stdio.h (__mingw_fwrite): Change return value to
- size_t.
- * mingwex/mingw-fseek.c (__mingw_fwrite): Likewise.
-
-2005-03-15 Hans Leidekker <hans@it.vu.nl>
-
- * include/malloc.h (_FREEENTRY, _USEDENTRY): Correct defines.
-
-2005-02-25 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/wctype.h (wctrans): Remove _CRTIMP.
- (towctrans): Likewise.
- (wctype): Likewise,
-
-2005-02-25 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/wctype.h: Add comment on wctrans, towctrans, wctype.
-
-2005-02-25 Danny Smith <dannysmith@users.sourceforge.net>
-
- * mingwex/wctype.c: New file.
- * mingwex/wctrans.c: New file.
- * mingwex/Makefile.in (DISTFILES): Add wctype.c, wctrans.c.
- * mingwex/Makefile.in (Q8_OBJS): Add wctype.o, wctrans.o.
-
-2005-02-11 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/tchar.h (_tstat64, _tstati64): Add Unicode/ANSI mappings.
-
-2005-02-11 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/assert.h: Remove header guard. #undef assert macro.
- (_assert): Use __MINGW_ATTRIB_NORETURN define.
-
-2005-02-11 Gregory W. Chicares <chicares@cox.net>
- Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/math.h (expm1, expm1f, expmll): Add prototypes.
- * mingwex/Makefile.in (MATH_DISTFILES): Add expm1.c,
- expm1f.c, expm1l.c.
- (MATH_OBJS): Add expm1.o, expm1f.o, expm1l.o.
- * mingwex/math/expm1.c: New file.
- * mingwex/math/expm1f.c: New file.
- * mingwex/math/expm1l.c: New file.
-
-2005-02-07 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/sys/stat.h (struct stat): Guard with _NO_OLDNAMES.
- * include/wchar.h (struct stat): Likwwise.
- Bug reported to Debian by Anand Kumria <wildfire@progsoc.org>
-
- * include/sys/stat.h: Remove empty __STRICT_ANSI__ guard.
-
-2005-02-01 Danny Smith <dannysmith@users.sourceforge.net>
-
- * mingwex/strtold.c (__asctoe64): Set endptr to 'e' if exponent
- string is not valid.
-
-2005-01-26 Oliver Stoeneberg <oliverst@online.de>
-
- * include/malloc.h: Add missing return code defines for
- _heapwalk()
-
-2005-01-17 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/sys/stat.h (struct __stat64): Change st_size type to
- __int64.
- * include/wchar.h (struct __stat64): Change st_size type to __int64.
-
-2005-01-13 Earnie Boyd <earnie@users.sf.net>
-
- * include/sys/stat.h (_S_IFLNK, S_IFLNK, _S_ISLNK, S_ISLNK, _lstat,
- lstat): Remove.
- * include/errno.h (ELOOP): Ditto.
- * include/_mingw.h: Increment version to 3.7.
- * Makefile.in: Ditto.
-
-2005-01-11 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/tchar.h (_tfreopen): Add UNICODE mappings.
-
-2005-01-11 Earnie Boyd <earnie@users.sf.net>
-
- * include/sys/stat.h (_S_IFLNK, S_IFLNK, _S_ISLNK, S_ISLNK, _lstat,
- lstat): Conditionalize defines for __STRICT_ANSI__.
-
-2005-01-10 Earnie Boyd <earnie@users.sf.net>
-
- * include/errno.h (ELOOP): Add definition.
-
-2005-01-10 Danny Smith <dannysmith@users.sourceforge.net>
-
- * mingwex/complex/(cabsl.c cacosl.c cacoshl.c cargl.c casinl.c
- casinhl.c catanl.c catanhl.c ccosl.c ccoshl.c cexpl.c cimagl.c
- clogl.c cpowl.c cprojl.c creall.c csinl.c csinhl.c csqrtl.c
- ctanl.c ctanhl.c): New files.
- * mingwex/Makefile.in (COMPLEX_DISTFILES): Adjust.
- (COMPLEX_OBJS): Adjust.
- * include/complex.h (cabsl, cacosl, cacoshl, cargl, casinf.
- casinhl, catanl, catanhl, ccosl, ccoshl, cexpl, cimagl, clogl,
- cpowl, cprojl, creall, csinl, csinhl, csqrtl, ctanl, ctanhl):
- Declare.
-
-2005-01-06 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/_mingw.h (__int16): Define as short.
- Thanks to: Leo Yuriev <leoyuriev at users dot sf dot net>
-
-2005-01-06 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/stdio.h (P_tmpdir): Add define.
-
-2005-01-03 Earnie Boyd <earnie@users.sf.net>
-
- * Makefile.in (inst_docdir): For Cygwin target set to share/doc/.
-
-2005-01-02 Earnie Boyd <earnie@users.sf.net>
-
- * include/_mingw.h: Increment version to 3.6
- * Makefile.in: Ditto
-
-2004-12-26 Danny Smith <dannysmith@users.sourceforge.net>
-
- * mingwex/complex/(cabsf.c cacosf.c cacoshf.c cargf.c casinf.c
- casinhf.c catanf.c catanhf.c ccosf.c ccoshf.c cexpf.c cimagf.c
- clogf.c cpowf.c cprojf.c crealf.c csinf.c csinhf.c csqrtf.c
- ctanf.c ctanhf.c): New files.
- * mingwex/Makefile.in (COMPLEX_DISTFILES): Adjust.
- (COMPLEX_OBJS): Adjust.
- * include/complex.h (cabsf, cacosf, cacoshf, cargf, casinf.
- casinhf, catanf, catanhf, ccosf, ccoshf, cexpf, cimagf, clogf,
- cpowf, cprojf, crealf, csinf, csinhf, csqrtf, ctanf, ctanhf):
- Declare.
-
-2004-12-20 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/wchar.h (wcsdup): Correct prototype.
- * include/string.h (wcsdup): Correct prototype.
-
-2004-10-14 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/sys/stat.h: Make S_ISLNK comment comply with ISO C90.
-
-2004-10-07 Danny Smith <dannysmith@users.sourceforge.net>
-
- * mingwex/math/fastmath.h: New file.
- * mingwex/math/asinh.c: New file.
- * mingwex/math/asinhf.c: New file.
- * mingwex/math/asinhl.c: New file.
- * mingwex/math/acosh.c: New file.
- * mingwex/math/acoshf.c: New file.
- * mingwex/math/acoshl.c: New file.
- * mingwex/math/atanh.c: New file.
- * mingwex/math/atanhf.c: New file.
- * include/math.h (asinh, asinhf, asinhl, acosh, acoshf, acoshl,
- atanh, atanhf, atanhl): Add prototypes.
- * mingwex/Makefile.in (MATH_OBJS): Add objects for above to list.
- (MATH_DISTFILES): Add sources for above and fastmath.h to list.
- Specify dependency on fastmath.h for new objects.
-
-2004-09-08 Earnie Boyd <earnie@users.sf.net>
-
- * include/sys/stat.h (_S_IFLNK): Add definition.
- (S_IFLNK) Ditto.
- (_lstat) Ditto.
- (lstat) Ditto.
- (_S_ISLNK) Recode.
- (S_ISLNK) Ditto.
-
-2004-09-08 Earnie Boyd <earnie@users.sf.net>
-
- * include/sys/stat.h (_S_ISLNK): Add definition.
- (S_ISLNK): Ditto.
-
-2004-09-05 Earnie Boyd <earnie@users.sf.net>
-
- * include/_mingw.h: Increment minor version for 3.5 release.
- * Makefile.in: Ditto.
- * mingwex/Makefile.in: Correct typo in list of DISTFILES.
-
-2004-08-24 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/malloc.h (__mingw_aligned_offset_malloc,
- __mingw_aligned_offset_realloc, __mingw_aligned_malloc,
- __mingw_aligned_realloc, __mingw_aligned_free): Add
- prototypes.
- * mingwex/Makefile.in (DISTFILES): Add mingw-aligned-malloc.c,
- tst-aligned-malloc.c.
- (REPLACE_OBJS): Add mingw-aligned-malloc.o.
-
-2004-08-24 Steven G. Johnson <stevenj@alum.mit.edu>
-
- * mingwex/mingw-aligned-malloc.c: New file.
- * mingwex/tst-aligned-malloc.c: New file.
-
-2004-08-24 Danny Smith <dannysmith@users.sourceforge.net>
-
- * crt1.c: (__mingw_CRTStartup): Change return to void. Add
- noreturn attribute. Align stack to 16 bytes before passing args
- to main.
- (mainCRTStartup): Change return to void.
- (WinMainCRTStartup): Likewise.
-
-
-2004-08-15 Danny Smith <dannysmith@users.sourceforge.net>
-
- * profile/COPYING: New file.
- * profile/CYGWIN_LICENSE: New file.
- * profile/Makefile.in (DISTFILES): Add COPYING, CYGWIN_LICENSE.
-
-2004-08-15 Danny Smith <dannysmith@users.sourceforge.net>
-
- * mingwex/fopen64.c: Move.
- * mingwex/fseeko64.c: Move.
- * mingwex/ftello64.c: Move.
- * mingwex/lseek64.c: Move.
- * mingwex/stdio/fopen64.c: To here.
- * mingwex/stdio/fseeko64.c: To here.
- * mingwex/stdio/ftello64.c: To here.
- * mingwex/stdio/lseek64.c: To here.
-
-2004-08-15 Danny Smith <dannysmith@users.sourceforge.net>
-
- * profile/gmon.c [__MINGW32__]: Include string.h for
- memset prototype.
-
-2004-08-08 Christopher Faylor <cgf@timesys.com>
-
- * mingwex/stdio/vwscanf.c: Add stdio.h needed after 2004-08-07 change.
-
-2004-08-07 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/complex.h: Remove __attribute__ ((const)) from
- transcendantal and trig functions. Replace __attribute__ ((const))
- with __MINGW_ATTRIB_CONST on other declarations.
-
-2004-08-07 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/wchar.h: Reorganize, avoid including other headers.
-
-2004-08-07 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/string.h (memchr, memcmp, strchr, strcmp, strcspn)
- (strlen, strncmp, strpbrk, strrchr, strspn, strstr): Add pure
- attribute.
-
-2004-07-30 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/dirent.h (struct _wdirent): Remove obsolete comment.
-
-2004-07-30 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/string.h: Revert 2004-07-26 additions of
- __ATTRIBUTE_PURE.
-
-2004-07-28 Danny Smith <dannysmith@users.sourceforge.net>
-
- * mingwex/math/powl.c (powl): Revert change of 2004-02-01.
- (__convert_inf_to_maxnum): New.static inline.
- (reducl): Use it to protect against Inf - Inf.
- (__fast_ldexpl): New function. Use in lieu of ldexpl.
-
-2004-07-27 Danny Smith <dannysmith@users.sourceforge.net>
-
- * mingwex/math/expl.c (expl): Move body of code to new static
- function __expl, removing tests for +/-Inf. Extern function
- expl calls __expl after testing for max, min log thresholds.
-
-2004-07-26 Danny Smith <dannysmith@users.sourceforge.net>
-
- * mingwex/stdio/vsscanf.c: Add "edi" to registers-modified field
- * mingwex/stdio/vfscanf.c: Likewise.
- * mingwex/stdio/vswscanf.c: Likewise.
- * mingwex/stdio/vfwscanf.c: Likewise.
-
-2004-07-26 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/_mingw.h: Use only two underscores to uglify
- __MINGW_ATTRIB_* macros.
- * include/stdlib.h: Adjust __MINGW_ATTRIB_* tokens.
- * include/setjmp.h: Likewise.
-
- * include/sting.h: Add __MINGW_ATTRIB_PURE to locale-independent
- string functions.
- (_strdup, strdup): Add __MINGW_ATTRIB_MALLOC.
-
-2004-07-25 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/string.h: Group wide string functions together,
- and protect with _WSTRING_DEFINED.
-
-2004-07-25 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/_mingw.h (__MINGW_ATTR_*): Replace with
- __MINGW_ATTRIB_*.
- * include/stdlib.h (_ATTRIB_NORETURN): Replace with
- __MINGW_ATTRIB_NORETURN, throughout.
- (malloc): Declare with __MINGW_ATTRIB_MALLOC.
- (calloc): Likewise.
- (abs): Declare with __MINGW_ATTRIB_CONST.
- (labs): Likewise.
- (div): Likewise.
- (ldiv): Likewise.
- (lldiv): Likewise.
- (_rotl): Likewise.
- (_rotr): Likewise.
- (_lrotl): Likewise.
- (_lrotr): Likewise.
- * include/setjmp.h (longjmp): Add __MINGW_ATTRIB_NORETURN.
-
-2004-07-21 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/_mingw.h: Undefine __attribute__.
- (__MINGW_ATTR_NORETURN): New define.
- (__MINGW_ATTR_CONST): New define.
- (__MINGW_ATTR_MALLOC): New define.
- (__MINGW_ATTR_PURE): New define.
- (_CRTIMP, __cdecl, __stdcall, __UNUSED_PARAM): Ansi-fy
- expansions.
-
-2004-07-19 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/time.h (__time64_t): Add missing ';'.
-
-2004-07-17 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/time.h (wcsftime): Move out of !__STRICT_ANSI
- block.
- (struct tm): Protect with _TM_DEFINED.
-
-2004-07-17 Christopher Faylor <cgf@timesys.com>
-
- * Makefile.in (CC): Strip inappropriate include file settings from any
- passed-in CC.
-
-2004-07-15 "dgun" <dgun@umpire.com>
-
- * include/complex.h (conj): Correct typo in prototype.
-
-2004-07-15 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/math.h: Add pragma GCC system_header.
-
-2004-07-15 Danny Smith <dannysmith@users.sourceforge.net>
-
- * mingwex/complex/cargs.c: New file.
- * mingwex/Makefile.in: Really add carg.o to libmingwex.a.
-
-2004-07-15 Corinna Vinschen <corinna@vinschen.de>
-
- * Makefile.in (INCLUDES): Temporarily revert previous change.
- * mingwex/Makefile,in (INCLUDES): Ditto.
- * profile/Makefile,in (INCLUDES): Ditto.
- * mingwex/Makefile,in: Drop carg.o dependency.
-
-2004-07-14 Christopher Faylor <cgf@timesys.com>
-
- * mingwex/fwide.c: Include <stdio.h> to resolve FILE usage.
-
-2004-07-14 Danny Smith <dannysmith@users.sourceforge.net>
-
- * Makefile.in (INCLUDES): Designate $(srcdir)/../include as a
- system dir.
- * mingwex/Makefile,in (INCLUDES): Ditto.
- * profile/Makefile,in (INCLUDES): Ditto.
-
- * mingwex/Makefile,in: Add carg.o to libmingwex.a.
-
-2004-07-13 Earnie Boyd <earnie@users.sourcefourge.net>
-
- * Makefile.in: Move use of --nostdinc++ as GCC3.4 warns to use it
- for C modules.
- * mingwex/Makefile.in: Ditto.
- * profile/Makefile.in: Ditto.
- * include/limits.h: Change to new file header preamble.
- * include/_mingw.h: Increment minor version for 3.4 release.
- * Makefile.in: Ditto.
-
-2004-07-12 Danny Smith <dannysmith@users.sourceforge.net>
-
- * mingwex/math/cephes_emath.h (__etens): Remove declaration.
-
-2004-07-11 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/unistd.h (ftruncate): Add inline definition.
- * mingwex/ftruncate.c: New file.
- * mingwex/Makefile.in: Add ftruncate.o to libmingwex.a.
-
-2004-07-10 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/time.h: Do not include sys/types.h.
-
-2004-07-02 Danny Smith <dannysmith@users.sourceforge.net>
-
- * mingwex/Makefile.in (MATH_DISTFILES): Remove pow.c,
- (MATH_OBJS): Remove pow,o.
- * include/math.h (pow): Declare with _CRTIMP.
- Add comment on how to avoid excess precision problems.
-
-2004-06-30 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/stdio.h (__mingw_fseeko64): Add prototype.
- * mingwex/mingw-fseek.c (__mingw_fseeko64): Add definition.
- (__mingw_fwrite): Handle huge files.
-
-2004-06-30 Kees Zeelenberg <kzlg@users.sourceforge.net>
- Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/stdio.h (fopen64): Add inline function.
- (fseeko64): Add prototype.
- (ftello64): Add inline function.
- * include/io.h (lseek64): Add inline function.
- * include/sys/types (off64_t): Add typedef.
- (fpos64_t): Add typedef.
- * mingwex/fopen64.c: New file.
- * mingwex/fseeko64.c: New file.
- * mingwex/ftello64.c: New file.
- * mingwex/lseek64.c: New file.
- * mingwex/Makefile.in (STDIO_DISTFILES): Add fopen64.c,
- fseeko.64.c, ftello64.c, lseek64.c.
- (STDIO_OBJS): Add fopen64.o, fseeko.64.o, ftello64.o, lseek64.o.
-
-2004-04-24 Luke Dunstan <infidel@users.sourceforge.net>
-
- * include/limits.h (_I64_MIN, _I64_MAX, _UI64_MAX): Add defines.
-
-2004-04-22 Earnie Boyd <earnie@users.sf.net>
-
- * DISCLAIMER: Add words about "free to use".
- * README: Modify "Win32 runtime" to "Microsoft C Runtime".
- * Makefile.in (SRCDIST_FILES): Add DISCLAIMER and CONTRIBUTORS.
- (inst_docdir): New variable.
- (INSTDOCS): Ditto.
- (FLAGS_TO_PASS): Include inst_docdir.
- (install-dirs): Add inst_docdir.
- (install): Add loop for INSTDOCS.
- * strncasecmp.c: Reword copyright and disclaimer. Move Contributors
- section to CONTRIBUTORS file. Remove RCS tags.
-
-2004-04-22 Danny Smith <dannysmith@users.sourceforge.net>
-
- * mingwex/math/lround.c: Rewrite.
- * mingwex/math/lroundf.c: Rewrite.
- * mingwex/math/lroundl.c: Rewrite.
- * mingwex/math/llround.c: Rewrite.
- * mingwex/math/llroundf.c: Rewrite.
- * mingwex/math/llroundl.c: Rewrite.
-
-2004-04-20 Earnie Boyd <earnie@users.sf.net>
-
- * CONTRIBUTORS: New file.
- * DISCLAIMER: Ditto.
- * CRT_noglob.c: Reword copyright and disclaimer. Move Contributors
- section to CONTRIBUTORS file. Remove RCS tags.
- * CRTFmode.c: Ditto.
- * CRTglob.c: Ditto.
- * CRTinit.c: Ditto.
- * crt1.c: Ditto.
- * crtdll.dev: Ditto.
- * dllcrt1.c: Ditto.
- * dllmain.c: Ditto.
- * gccmain.c: Ditto.
- * init.c: Ditto.
- * isascii.c: Ditto.
- * iscsym.c: Ditto.
- * iscsymf.c: Ditto.
- * jamfile: Ditto.
- * main.c: Ditto.
- * msvcrt.def.in: Ditto.
- * strcasecmp.c: Ditto.
- * toascii.c: Ditto.
- * wcscmpi.c: Ditto.
- * include/assert.h: Ditto.
- * include/conio.h: Ditto.
- * include/ctype.h: Ditto.
- * include/direct.h: Ditto.
- * include/dirent.h: Ditto.
- * include/dos.h: Ditto.
- * include/errno.h: Ditto.
- * include/excpt.h: Ditto.
- * include/fcntl.h: Ditto.
- * include/float.h: Ditto.
- * include/io.h: Ditto.
- * include/locale.h: Ditto.
- * include/malloc.h: Ditto.
- * include/math.h: Ditto.
- * include/process.h: Ditto.
- * include/setjmp.h: Ditto.
- * include/share.h: Ditto.
- * include/signal.h: Ditto.
- * include/stdio.h: Ditto.
- * include/stdlib.h: Ditto.
- * include/string.h: Ditto.
- * include/tchar.h: Ditto.
- * include/time.h: Ditto.
- * include/wchar.h: Ditto.
- * include/sys/locking.h: Ditto.
- * include/sys/param.h: Ditto.
- * include/sys/stat.h: Ditto.
- * include/sys/timeb.h: Ditto.
- * include/sys/types.h: Ditto.
- * include/sys/utime.h: Ditto.
- * mingwex/dirent.c: Ditto.
-
-2004-04-19 Earnie Boyd <earnie@users.sf.net>
-
- * include/_mingw.h: Revert to primary release 3 and increment minor
- release to 3.
- * Makefile.in (VERSION): Ditto.
-
-2004-04-01 Danny Smith <dannysmith@users.sourceforge.net>
-
- * crt1.c (_mingw32_init_fmode): Set *_imp___fmode_dll to
- _fmode if not __MSVCRT__.
-
-2004-03-30 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/io.h: (_findfirst): Correct prototype.
-
-2004-03-30 Hans Leidekker <hans@it.vu.nl>
-
- * include/io.h: (_findnext, _findclose): Correct prototype.
-
-2004-03-28 Hans Leidekker <hans@it.vu.nl>
-
- * include/math.h (FP_*): Add defines.
-
-2004-03-29 Danny Smith <dannysmith@users.sourceforge.net>
-
- * mingwex/math/round.c: Rewrite.
- * mingwex/math/roundf.c: Rewrite.
- * mingwex/math/roundl.c: Rewrite.
-
-2004-03-25 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/_mingw.h (__MSVCRT_VERSION__): Define default as 0x0600.
- * include/time.h (__time64_t): Add typedef.
- (_mktime64): Add prototype for __MSVCRT_VERSION__ >= 0x0601.
- (_ctime64): Likewise.
- (_wctime64): Likewise.
- (_gmtime64): Likewise.
- (_localtime64): Likewise.
- (wcsftime): Move into _WTIME_DEFINED block.
- Regroup non-ANSI prototypes.
- * include/io.h: Include <stdint.h>.
- (__finddata64_t): Add struct definition.
- (__wfinddata64_t): Likewise.
- (_findfirst64): Add prototype for __MSVCRT_VERSION__ >= 0x0601.
- (_findnext64): Likewise.
- (_wfindfirst64): Likewise.
- (_wfindnext64): Likewise.
- * include/sys/timeb.h (__timeb64): Add struct definition.
- (_ftime64): Add prototype for __MSVCRT_VERSION__ >= 0x0601.
- * include/sys/utime.h (__utimbuf64): Add struct definition.
- (_utime64): Add prototype for __MSVCRT_VERSION__ >= 0x0601.
- (_futime64): Likewise.
- (_wutime64): Likewise.
- * include/sys/stat.h (__stat64): Add struct definition.
- (_fstat64): Add prototype for __MSVCRT_VERSION__ >= 0x0601.
- (_stat64): Likewise.
- (_wstat64): Likwise.
- * include/sys/types.h (__time64_t): Add typedef.
- * include/wchar.h (__wfinddata64_t): Add structure definition.
- (__stat64): Likewise.
- (_wctime64): Add prototype for __MSVCRT_VERSION__ >= 0x0601.
- (_wfindfirst64): Likewise.
- (_wfindnext64): Likewise.
- (_wutime64): Likewise.
- (_wstat64): Likwise.
- * include/malloc.h (_aligned_free): Add prototype for
- __MSVCRT_VERSION__ >= 0x0700.
- (_aligned_malloc): Likewise.
- (_aligned_offset_malloc): Likewise.
- (_aligned_offset_realloc): Likewise.
- (_aligned_realloc): Likewise.
- * include/string.h (_wcserror): Add prototype for
- __MSVCRT_VERSION__ >= 0x0700.
- (__wcserror): Likewise.
- * include/math.h (_set_SSE2_enable): Add prototype for
- __MSVCRT_VERSION__ >= 0x0701.
-
-2004-03-25 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/stdio.h (_fsopen): Add prototype.
- * include/tchar.h (_tfsopen): Add defines.
- Thanks to "Gerik" <gerikr at users dot sourceforge dot net>
-
-2004-03-19 Danny Smith <dannysmith@users.sourceforge.net>
-
- * msvcrt.def.in: Add stubs for msvcrt.dll (version 6.10),
- msvcr70.dll, and msvcr71.dll.
- * Makefile.in (msvcr*.def): Define preprocessor __msvcr*__ constant
- using basename of output def file.
-
-2004-03-13 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/malloc.h: Remove __STRICT_ANSI__ guard.
-
-2004-03-11 Brian Keener <bkeener@thesoftwaresource.com>
-
- * include/process.h: Remove the #endif associated with removal of
- __STRICT_ANSI__ guard from non-ANSI header.
-
-2004-03-10 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/conio.h: Remove __STRICT_ANSI__ guard from non-ANSI header.
- * include/direct.h: Ditto.
- * include/dirent.h: Ditto.
- * include/dos.h: Ditto.
- * include/excpt.h: Ditto.
- * inlude/fcntl,h
- * include/io.h: Ditto.
- * inlude/mem.h: Ditto.
- * include/memory.h: Ditto.
- * include/process.h: Ditto.
- * inlude/search.h: Ditto.
- * include/share.h: Ditto.
- * include/unistd.h: Ditto.
- * include/sys/fcntl.h: Ditto.
- * include/file.h: Ditto.
- * include/sys/locking.h: Ditto.
- * include/sys/param.h: Ditto.
- * include/sys/stat,h
- * include/sys/time.h: Ditto.
- * include/sys/timeb.h: Ditto.
- * include/sys/types.h: Ditto.
- * include/sys/unistd.h: Ditto.
- * include/sys/utime.h: Ditto.
-
-2004-02-21 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/_mingw.h (__UNUSED_PARAM): Define macro.
- * include/wchar.h (fwide): Use it.
- (mbsinit): Ditto.
-
-2004-02-05 Danny Smith <dannysmith@users.sourceforge.net>
-
- * mingwex/getopt.c: Define IS_POSIXLY_CORRECT as per
- NetBSD getopt_long.c.
-
-2004-02-05 Danny Smith <dannysmith@users.sourceforge.net>
-
- * mingwex/strtold.c (__asctoe64) Reorganise. Fix setting error
- codes and handling of special chars.
-
-2004-02-02 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/stdio.h (feof): Add inlined definition.
- (ferror): Ditto.
-
-2004-02-01 Danny Smith <dannysmith@users.sourceforge.net>
-
- * mingwex/math/ldexpl.c (ldexpl): Call __asm__("fscale")
- directly, rather than via scabnl.
-
-2004-02-01 Danny Smith <dannysmith@users.sourceforge.net>
-
- * mingwex/math/powl.c (powl): Return infinity if
- extended precision multiplication of x by log2(y)
- overflows.
-
-2004-01-31 Danny Smith <dannysmith@users.sourceforge.net>
-
- * mingwex/math/cephes_emath.h (__enan_64): Fix thinko.
- (__enan_NI16): Fix another one.
- (__enan_NBITS): Tidy.
-
-2004-01-16 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/stdint.h Fix __STDC_CONSTANT_MACROS for 8 and 16 bit
- types. (Thanks to John Maddock for report.)
-
-2004-01-14 Greg Chicares <chicares@users.sourceforge.net>
-
- * include/tchar.h (_puttchar): Define.
-
-2003-12-13 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/stdio.h:(_fileno): Define macro version after both
- fileno and _fileno functions declared.
-
- * include/stdio.h (_rmtmp, rmtmp): Add prototypes.
- * moldnames.def.in (rmtmp) Add stub.
-
-2003-11-27 Dimitry Sibiryakov <aafemt@users.sourceforge.net>
-
- * include/signal.h (SIG_SGE, SIG_ACK): Add defines.
-
-2003-10-27 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/math.h: Guard ISO C99 additions with __cplusplus
- not __GLIBCPP__.
-
-2003-10-21 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/_mingw.h: Define __attribute__((x)) to nothing
- if not __GNUC__.
-
-2003-10-21 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/complex.h: New file.
- * mingwex/complex: New directory.
- * mingwex/complex/cabs.c: New file.
- * mingwex/complex/cacos.c: New file.
- * mingwex/complex/cacosh.c: New file.
- * mingwex/complex/casin.c: New file.
- * mingwex/complex/casinh.c: New file.
- * mingwex/complex/catan.c: New file.
- * mingwex/complex/catanh.c: New file.
- * mingwex/complex/ccos.c: New file.
- * mingwex/complex/ccosh.c: New file.
- * mingwex/complex/cexp.c: New file.
- * mingwex/complex/cimag.c: New file.
- * mingwex/complex/clog.c: New file.
- * mingwex/complex/cpow.c: New file.
- * mingwex/complex/cproj.c: New file.
- * mingwex/complex/creal.c: New file.
- * mingwex/complex/csin.c: New file.
- * mingwex/complex/csinh.c: New file.
- * mingwex/complex/csqrt.c: New file.
- * mingwex/complex/ctan.c: New file.
- * mingwex/complex/ctanh.c: New file.
- * mingwex/Makefile.in (COMPLEX_DISTFILES): New list of
- files.
- (dist): Use it.
- (COMPLEX_OBJS): New list of objects.
- (LIB_OBJS): Include it in the library.
-
-2003-10-21 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/math.h (cabs): Remove non-ISO prototype.
-
-2003-10-21 Danny Smith <dannysmith@users.sourceforge.net>
-
- * mingwex/math/cephes_mconf.h (NAN, NANF, NANL):
- Use GCC __builtin's if available.
- (INFINITY, INFINITYF, INFINITYL): Likewise.
-
-2003-10-21 Danny Smith <dannysmith@users.sourceforge.net>
-
- * mingwex/math/s_erf.c (erf): Set errno to ERANGE if
- beyond approximation limit.
- * mingwex/math/sf_erf.c (erff): Likewise.
-
-2003-10-17 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/stdio.h (getc): Cast result to unsigned char before
- return.
- (putc): Likewise
- (getchar): Likewise.
- (putchar): Likewise.
- Thanks to M.Fujii <boochang@m4.kcn.ne.jp>
-
-2003-10-10 Earnie Boyd <earnie@users.sf.net>
-
- * include/_mingw.h: Increment version to 3.2.
- * Makefile.in: Ditto.
-
-2003-10-10 Earnie Boyd <earnie@users.sourceforge.net>
-
- * include/sys/types.h: Revert last change.
-
-2003-10-10 Earnie Boyd <earnie@users.sourceforge.net>
-
- * include/sys/types.h (ssize_t): Correct the definition.
-
-2003-10-03 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/stdio.h (_filbuf): Add prototype.
- (_flsbuf): Add prototype.
- (getc): Add inline version.
- (putc): Likewise.
- (getchar): Likewise.
- (putchar): Likewise.
-
-2003-10-03 Danny Smith <dannysmith@users.sourceforge.net>
-
- * mingwex/dirent.c (_treaddir): Reset errno to 0 if end
- of directory.
-
-2003-09-29 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/stdlib.h: Guard non-ISO functions with
- !__STRICT_ANSI__, throughout.
-
-2003-09-24 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/io.h (_fileno): Remove prototype.
- (fileno): Likewise.
- (FILENAME_MAX): Define, if needed.
- Don't include <stdio.h>.
- * include/stdio.h (FILENAME_MAX): Protect against
- prior definition.
- (_fileno): Define macro implementation.
- (fileno): Likewise.
-
-2003-09-24 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/inttypes.h: Include _mingw.h.
-
-2003-09-24 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/_mingw.h (__CRT_INLINE): Define.
- * include/ctype.h: Replace 'extern inline' with __CRT_INLINE,
- throughout
- * include/inttypes.h: Likewise.
- * include/math.h: Likewise.
- * include/stdio.h: Likewise.
- * include/stdlib.h: Likewise.
- * include/string.h: Likewise.
- * include/wchar.h: Likewise.
- * include/wctype.h: Likewise.
-
-2003-09-22 Roland Schwingel <rolandschwingel@users.sourceforge.net>
-
- * mingwex/dirent.c (_topendir): Allocate enough memory for
- DIR struct in UNICODE case too.
-
-2003-09-15 Earnie Boyd <earnie@users.sf.net>
-
- * include/_mingw.h: Increment version to 3.2.
- * Makefile.in: Ditto.
-
-2003-07-03 Earnie Boyd <earnie@users.sf.net>
-
- * config.guess, config.sub: Update with versions from ftp.gnu.org.
-
-2003-07-03 Danny Smith <dannysmith@users.sourceforge.net>
-
- * mingwex/math/trunc.c (trunc): Provide lvalue for memory input constraint.
- * mingwex/math/truncf.c (truncf): Likewise.
- * mingwex/math/truncl.c (truncl): Likewise.
- * mingwex/math/modff.c (modff): Likewise.
- * mingwex/math/modfl.c (modfl): Likewise.
-
-2003-07-03 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/search.h: New file.
- * include/stdlib.h: Add comment about qsort, bsearch in
- search.h.
- * test_headers.c: Include search.h.
- * moldname.def.in (lfind, lsearch): Add.
-
-2003-07-03 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/process.h (_execv, _execvp, _spawnv, _spawnvp, _execve,
- _execvpe, _spawnve, _spawnvpe, execv, execvp, spawnv, spawnvp,
- execve, execvpe, spawnve, spawnvpe): Const-ify all the char params.
-
-2003-07-01 Earnie Boyd <earnie@users.sf.net>
-
- * include/_mingw.h (small, hyper): Change to __small and __hyper to
- avoid user space name conflicts.
-
-2003-07-01 Earnie Boyd <earnie@users.sf.net>
-
- * include/_mingw.h (__int32, __int16, __int8, small, hyper): Define.
- Note: Also added to w32api/include/basetyps.h.
- * mingwex/math/tgamma.c, tgammaf.c, tgammal.c (small):
- Rename to Small (case difference).
-
-2003-06-18 Earnie Boyd <earnie@users.sf.net>
-
- * include/dirent.h (dirent): Make d_name and array instead of a pointer.
- * mingwex/dirent.c: Modifications througout to fill d_name array.
- * Makefile.in (LIBS): Add new MSVCRT libraries libmsvcr70 and
- libmsvcr71, including debug versions.
- (msvcr70.def, msvcr70d.def, msvcr71.def, msvcr71.def): New targets.
-
-2003-06-17 Danny Smith <dannysmith@users.sourceforge.net>
-
- * msvcrt.def.in (__badioinfo, __lc_codepage, __lc_handle,
- __pioinfo, __setlc_active, _unguarded_readlc_active, _dstbias):
- Mark as DATA.
- Thanks to: Aaron W LaFramboise <AWLaFramboise@aol.com>
-
-2003-05-30 Sascha Sommer <saschasommer@freenet.de>
-
- * include/sys/types.h (_ssize_t, ssize_t): Add typedefs.
-
-2003-05-15 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/stdlib.h (_Exit): Move out of __STRICT_ANSI__ block,
- but still protect inline definition with __STRICT_ANSI__.
-
-2003-05-14 Danny Smith <dannysmith@users.sourceforge.net>
-
- * string_old.c: Remove, splitting into...
- * strcasecmp.c: New file.
- * strncasecmp.c: New file.
- * wscmpi.c : New file.
- * ctype_old.c: Remove, splitting into...
- * isascii.c: New file.
- * iscsym.c: New file.
- * iscsymf.c: New file.
- * toascii.c: New file.
- * Makefile.in (MOLD_OBJS): Adjust.
- (SRCDIST_FILES): Adjust.
-
-2003-05-13 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/math.h (fabs) : Remove inline definition.
- (fabsf): Likewise.
- (fabsl): Likewise.
-
-2003-05-06 Earnie Boyd <earnie@users.sf.net>
-
- * include/_mingw.h: Change version to 3.0
- * Makefile.in: Ditto.
-
-2003-05-06 Earnie Boyd <earnie@users.sf.net>
-
- * configure.in (W32API_INCLUDE): Need the -I switch in the value.
- * mingwex/configure.in (W32API_INCLUDE): Ditto.
- * profile/configure.in (W32API_INCLUDE): Ditto.
-
-2003-05-06 Earnie Boyd <earnie@users.sf.net>
-
- * configure.in (CFLAGS): Remove -D__USE_CRTIMP=1 due to possibilites
- of multiply defined symbols if the symbols is defined locally. E.G.:
- A local definition of malloc causes this problem.
- * configure: Regenerate.
- * profile/Makefile.in (W32API_INCLUDE): New variable.
- (ALL_CFLAGS): Use W32API_INCLUDE value.
- (ALL_CXXFLAGS): Ditto.
- (gcrt0.o gcrt1.o gcrt2.o): Use ALL_CFLAGS instead of CFLAGS.
- Thanks to Jeff Bonggren <jbon@users.sf.net>.
- * profile/configure.in (W32API_INCLUDE): Set default value.
- * profile/configure: Regenerate.
- * mingwex/Makefile.in (W32API_INCLUDE): New variable.
- (ALL_CFLAGS): Use W32API-INCLUDE value.
- (ALL_CXXFLAGS): Ditto.
- * mingwex/configure.in (W32API_INCLUDE): Set default value.
- * mingwex/configure: Regenerate.
-
-2003-05-05 Earnie Boyd <earnie@users.sf.net>
-
- * Makefile.in (W32API_INCLUDE): New variable.
- (ALL_CFLAGS): Use W32API_INCLUDE value.
- (ALL_CXXFLAGS): Ditto.
- * configure.in (CFLAGS): Add -D__USE_CRTIMP=1 to default values.
- (W32API_INCLUDE): Set default value.
- * configure: Regenerate.
-
-2003-04-11 Earnie Boyd <earnie@users.sf.net>
-
- * configure.in (LIBM_A): Define for cygwin target.
- * configure (LIBM_A): Ditto.
-
-2003-04-07 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/time.h (strftime): Remove duplicate declaration.
-
-2003-04-01 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/_mingw.h (_CRTIMP): Make conditional on __USE_CRTIMP.
-
-2003-03-16 Danny Smith <dannysmith@users.sourceforge.net>
-
- * mingwex/dirent.c (_topendir): Eliminate signed/unsigned warning.
- * mingwex/strtoimax.c (strtoimax): Likewise.
- * mingwex/wcstoimax.c (wcstoimax): Likewise.
- * mingwex/wtoll.c (wtoll): Remove unnecessary ';'
- * mingwex/fesentenv.c: Include float.h.
- * mingwex/math/powl.c: Eliminate type punning/strict aliasing
- warning.
- * mingwex/math/tanhl.c: Eliminate signed/unsigned warning in
- constants.
- * mingwex/math/tgammal.c: Likewise.
-
-2003-03-16 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/utime.h: New file, forwarding to sys/utime.h.
-
-2003-03-16 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/sys/param.h (MAXPATHLEN): Define.
-
-2003-03-16 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/tchar.h: Ansi-fy a comment.
-
-2003-03-16 Danny Smith <dannysmith@users.sourceforge.net>
-
- * profile/profile.h (mcount): Use __builtin_return_address
- rather than inline __asm statements.
- * profile/Makefile.in: Remove special rule for mcount.o
- Specify dependencies for mcount.o profil.o gmon.o.
-
-2003-03-10 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/stdlib.h (qsort): Remove const from first parm.
- Thanks to: Tien-Ren Chen <trchen@sourceforge.users.net>
-
-2003-03-03 Christopher Faylor <cgf@redhat.com>
-
- * mingwex/getopt.c: Refresh from NetBSD sources.
-
-2003-03-03 Danny Smith <dannysmith@users.sourceforge.net>
-
- * mingwex/getopt.c: New file, copied from cygwin srcs.
- * include/getopt.h: New file, copied from cygwin srcs.
- * include/unistd.h: Include getopt.h.
- * mingwex/Makefile.in (DISTFILES): Add getopt.c.
- (POSIX_OBJS): Add getopt.o.
-
-2003-03-02 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/stdio.h (vscanf): Add prototype.
- (vfscanf): Ditto.
- (vsscanf): Ditto.
- (vwscanf): Ditto.
- (vfwscanf): Ditto.
- (vswscanf): Ditto.
- * include/wchar.h (vwscanf): Add prototype.
- (vfwscanf): Ditto.
- (vswscanf): Ditto.
- * mingwex/snprintf.c: Move to mingwex/stdio.
- * mingwex/vsnprintf.c: Ditto.
- * mingwex/snwprintf.c: Ditto.
- * mingwex/vsnwprintf.c: Ditto.
- * mingwex/Makefile.in (VPATH): Add $(srcdir)/stdio
- (STDIO_DISTFILES): Add.
- (DISTFILES): Adjust.
- (STDIO_STUB_OBJS): Rename to STDIO_OBJS and add v*scanf objects.
- (LIB_OBJS): Adjust.
- (dist): Adjust.
-
-2003-03-02 Aaron W LaFramboise <AWLaFramboise@aol.com>
-
- * mingwex/stdio: New directory
- * mingwex/stdio/vfscanf.c: New file.
- * mingwex/stdio/vfwscanf.c: New file.
- * mingwex/stdio/vscanf.c: New file.
- * mingwex/stdio/vsscanf.c: New file.
- * mingwex/stdio/vswscanf.c: New file.
- * mingwex/stdio/vwscanf.c: New file.
-
-2003-02-25 Earnie Boyd <earnie@users.sf.net>
-
- * Makefile.in (libmsvcrt20.a): Remove target and dependencies.
- (libmsvcrt40.a): Ditto.
-
-2003-02-21 Earnie Boyd <earnie@users.sf.net>
-
- Thanks to David Frasier <davidf@sjsoft.com> who inspired portions of
- this patch.
- * Makefile.in (libmsvcrtd.a): Add target library.
- (libmoldnamed.a): Ditto.
- (msvcrt.def, msvcrtd.def, msvcrt20.def, msvcrt40.def): Use msvcrt.def.in
- template to create.
- ($(srcdir)): Remove explicit reference for depencies of object targets.
- * moldname.def, moldname-msvcrt.def, moldname-crtdll.def, msvcrt.def,
- msvcrt20.def, msvcrt40.def: Remove.
- * msvcrt.def.in: New file (Copy of previous msvcrt.def).
-
-2003-02-20 Corinna Vinschen <corinna@vinschen.de>
-
- * Makefile.in: Make sure libmingwex.a from current build tree is used.
-
-2003-02-14 Christopher Faylor <cgf@redhat.com>
-
- * profile/Makefile.in (mcount.o): Use ALL_CFLAGS for compilation to
- ensure -mno-cygwin where appropriate. Filter out -O2.
-
-2003-02-13 Danny Smith <dannysmith@users.sourceforge.net>
-
- * profile/Makefile.in (mcount.o): Use -O1 optimization
- switch to compile.
-
-2003-02-10 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/math.h: Remove _CRTIMP from pow() prototype,
- unless __NO_ISOCEXT.
-
-2003-02-10 Danny Smith <dannysmith@users.sourceforge.net>
-
- * mingwex/math/cephes_emath.h: Don't redefine INFINITY.
-
-2003-02-10 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/_mingw.h (_CRTIMP): Define for __GNUC__ if
- __declspec(dllimport) supported.
- (__cdecl): Define if not already defined.
- (__stdcall): Likewise.
- * include/dirent.h: Qualify fuctions with __cdecl.
- * include/fenv.h: Likewise.
- * include/inttypes.h: Likewise.
- * include/assert.h: Qualify fuctions with __cdecl. Qualify
- CRT dll imports with _CRTIMP.
- * include/conio.h: Likewise.
- * include/ctype.h: Likewise.
- * include/direct.h: Likewise.
- * include/dos.h: Likewise.
- * include/errno.h: Likewise.
- * include/float.h: Likewise.
- * include/io.h: Likewise.
- * include/locale.h: Likewise.
- * include/malloc.h: Likewise.
- * include/math.h: Likewise.
- * include/mbctype.h: Likewise.
- * include/mbstring.h: Likewise.
- * include/process.h: Likewise.
- * include/setjmp.h: Likewise.
- * include/signal.h: Likewise.
- * include/stdio.h: Likewise.
- * include/stdlib.h: Likewise.
- * include/string.h: Likewise.
- * include/time.h: Likewise.
- * include/wchar.h: Likewise.
- * include/wctype.h: Likewise.
- * include/sys/stat.h: Likewise.
- * include/sys/timeb.h: Likewise.
- * include/sys/utime.h: Likewise.
-
- * include/ctype.h: Guard ctype inlines with __NO_INLINE__.
- * include/wctype.h: Guard wctype inlines with __NO_INLINE__.
-
- * include/stdio.h (__VALIST): Guard against prior definition.
-
-2003-02-08 Earnie Boyd <earnie@users.sf.net>
-
- * include/_mingw.h: Change version to 3.0
- * Makefile.in: Ditto.
-
-2003-02-08 Earnie Boyd <earnie@users.sf.net>
-
- * include/stdlib.h: Make words after #endif a comment.
-
-2003-02-07 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/locale.h: Include stddef.h for definition of NULL.
-
-2003-01-26 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/math.h (tgamma): Correct typo in comment.
-
-2003-01-26 Danny Smith <dannysmith@users.sourceforge.net>
-
- * mingwex/mingw-fseek.c (INLINE): Remove define.
- (__mingw_is_win9x): Remove static inline function.
- (_mingw_fwrite): Use _osver instead of __mingw_is_win9x.
-
-2003-01-11 Danny Smith <dannysmith@users.sourceforge.net>
-
- * mingwex/math/llround.c: Correct function name and
- change return value to long long.
-
-2003-01-07 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/ctype.h (__isascii): Don't cast arg to unsigned.
- (iswascii): Likewise. Correct mask.
- * include/wctype.h (iswascii): Don't cast arg to unsigned.
- Correct mask
-
-2003-01-03 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/stdlib.h (_osver, _winver, _winmajor,
- _winminor): Declare as direct imports from dll if
- __DECLSPEC_SUPPORTED.
-
-2003-01-01 Danny Smith <dannysmith@users.sourceforge.net>
-
- * pseudo-reloc.c (do_pseudo_reloc): Make static.
- * pseudo-reloc-list.c: New file.
- * crt1.c (_pei386_runtime_relocator): Declare.
- (__mingw_CRTStartup): Call it.
- * dllcrt1.c (_pei386_runtime_relocator): Declare.
- (DllMainCRTStartup): Call it.
- * Makefile.in: Add pseudo-reloc.o pseude-reloc-list.o to
- libmingw32.a.
-
-2003-01-01 Egor Duda <deo@logos-m.ru>
-
- * pseudo-reloc.c: New file.
-
-2002-12-20 Earnie Boyd <earnie@users.sf.net>
-
- * include/_mingw.h: Increment version to 2.4.
- Makefile.in: Ditto.
-
-2002-12-12 Earnie Boyd <earnie@users.sf.net>
-
- * include/malloc.h (_alloca): Add definition.
- (alloca): Ditto.
-
-2002-12-08 Danny Smith <dannysmith@users.sourceforge.net>
-
- * mingwex/math/s_erf.c: New file.
- * mingwex/math/sf_erf.c: New file.
- * mingwex/Makefile.in (MATH_DISTFILES): Add new files.
- (MATH_OBJS): Add new objects.
- * include/math.h (erf[f]): Add prototypes.
- (erfc[f]): Add prototypes.
-
-2002-12-07 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/math.h: Add traditional/XOPEN math constants.
-
-2002-11-27 Danny Smith <dannysmith@users.sourceforge.net>
-
- * mingwex/math/lgamma.c: New file.
- * mingwex/math/lgammaf.c: New file.
- * mingwex/math/lgammal.c: New file.
- * mingwex/math/tgamma.c: New file.
- * mingwex/math/tgammaf.c: New file.
- * mingwex/math/tgammal.c: New file.
- * mingwex/math/cephes_mconf (polevlf): Add float version.
- (p1evlf): Likewise.
- Define _CEPHES_USE_ERRNO.
- * mingwex/Makefile.in (MATH_DISTFILES): Add new files.
- (MATH_OBJS): Add new objects.
- * include/math.h (lgamma[fl]): Add prototypes.
- (tgamma[fl]): Add prototypes.
-
-2002-11-26 Danny Smith <dannysmith@users.sourceforge.net>
-
- * mingwex/strtold.c: New file.
- * mingwex/wcstold.c: New file.
- * mingwex/ldtoa.c: New file.
- * mingwex/math/cephes_emath.h: New file.
- * mingwex/math/cephes_emath.c: New file.
- * mingwex/Makefile.in (DISTFILES): Add new files.
- (MATH_DISTFILES): Ditto.
- (STDLIB_OBJS): New. Define as strtold.c wcstold.c.
- (MATH_OBJS): Add cephes_emath.o.
- (LIB_OBJS): Add $(STDLIB_OBJS).
- * include/stdlib.h (strtold, wcstold): Add prototypes.
- * include/wchar.h (wcstold): Add prototype.
-
-2002-11-09 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/math.h (sqrt): Remove inline definition.
- (sqrtf): Replace inline definition with prototype.
- (sqrtl): Likewise.
- * mingwex/math/sqrtf.c (sqrtf): Set domain error if
- argument less than zero.
- * mingwex/math/sqrtf.c (sqrtl): Likewise.
-
-2002-10-30 Guido Serassio <serassio@libero.it>
-
- * include/stdio.h (_getmaxstdio): Add prototype.
- (_setmaxstdio): Likewise.
-
-2002-10-19 Kang Li <rubylith@users.sourceforge.net>
-
- * include/fcntl.h (O_SEQUENTIAL): Correct typo.
-
-2002-10-19 Danny Smith <dannysmith@users.sourceforge.net>
-
- * crt1.c: Define new macro __IN_MINGW_RUNTIME before including
- stdlib.h.
- Define WIN32_MEAN_AND_LEAN before including windows.h
- * include/stdlib.h (_fmode): Protect declaration as dllimported
- variable with __IN_MINGW_RUNTIME.
-
-2002-10-19 Igor Pechtchanski <pechtcha@cs.nyu.edu>
-
- * crt1.c: Include stdlib.h.
-
-2002-10-19 Danny Smith <dannysmith@users.sourceforge.net>
-
- * Makefile.in (CRT0S): Add txtmode.o binmode.o.
- (MINGW_OBJS): Add txtmode.o.
- (SRCDIST_FILES): Add txtmode.c binmode.c.
- crt1.c: Don't include fcntrl.h, stdlib.h.
- (_fmode): Declare, without dllimport attribute.
- (__p__fmode): Declare access function for dll's _fmode.
- (_mingw32_init_fmode): Sync dll _fmode with staticly linked
- _fmode for app.
- * txtmode.c: New file.
- * binmode.c: New file.
- * samples/fmode/test2.c: New file.
- * samples/fmode/jamfile: Add test2.exe target.
-
-2002-10-11 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/stdint.h (INT64_C, UINT64_C ): Append suffix to let
- macros work with C89.
- (INTMAX_C, UINTMAX_C): Likewise.
-
-2002-10-11 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/string.h (strcasecmp): Make extern __inline__.
- (strncasecmp): Likewise.
- (wcscmpi): Likewise.
-
-2002-10-08 Heiko Gerdau <hg@technosis.de>
-
- * include/tchar.h (_tchdir. _tgetcwd, _tgetdcwd.
- _tmkdir, _trmdir, _tstat): Add ASCII and UNICODE
- mappings.
-
-2002-10-07 Danny Smith <dannysmith@users.sourceforge.net>
-
- * mingwex/math/powil.c: Rename powil to __powil.
- * mingwex/math/powl.c: Adjust declaration and call
- to __powil. Remove comment on powil.
- * mingwex/math/powi.c: New file.
- * mingwex/math/powif.c: New file.
- * mingwex/math/pow.c: New file.
- * mingwex/math/cephes_mconf.h. Add double and float
- versions of constants.
- (polevl): Add double precision function.
- (p1evl): Likewise.
- * mingwex/Makefile.in (MATH_DISTFILES): Add pow.c,
- powi.c, powif.c.
- (MATH_OBJS): Add pow.o, powi.o, powif.o.
-
-2002-10-03 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/cytpe.h (_imp____mbcur_max): Add missing ';'.
- (_imp____mbcur_max_dll): Likewise.
-
-2002-10-03 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/fcntl.h (_fmode): Remove declarations and
- compatibility defines.
- (_setmode, setmode): Remove prototypes.
- * include/stdlib (_fmode): Add declarations and
- compatibility defines. Change type to int.
- * include/io.h (_setmode, setmode): Add prototypes.
- * samples/fmode/all.c: Adjust includes.
- * samples/fmode/test.c: Likewise.
- * crt1.c (_CRT_fmode): Declare as int.
- * CRTfmode.c (_CRT_fmode): Likewise.
-
- * include/stdlib: Remove comment about MB_CUR_MAX.
-
-2002-10-02 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/stdlib.h (_imp____mbcur_max): Add missing ';'.
- (_imp____mbcur_max_dll): Likewise.
-
-2002-09-18 Danny Smith <dannysmith@users.sourceforge.net>
-
- * mingwex/math/files.txt: Remove inadvertantly added file.
-
-2002-09-18 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/string.h (_strerror): Move into #ifndef
- __STRICT_ANSI__ block.
-
-2002-09-17 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/time.h (__need_NULL): Define before including
- stddef.h. Thanks to: Rüdiger Dehmel <de@lmnet.de>.
-
-2002-09-16 Ranjit Matthew <rmathew@hotmail.com>
-
- * include/stdio.h: Correct comment about directory separator.
-
-2002-09-12 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/sys/time.h (timeval): Add struct definition and
- associated macros (copied from w32api/include/winsock.h).
-
-2002-09-05 Earnie Boyd <earnie@users.sf.net>
-
- * include/_mingw.h: Increment version to 2.3.
- Makefile.in: Ditto.
-
-2002-09-05 Earnie Boyd <earnie@users.sf.net>
-
- * mingwex/fegetenv.c: Change to \n line endings.
- * mingwex/vsnprintf.c: Ditto.
- * mingwex/vsnwprintf.c: Ditto.
-
-2002-09-02 Danny Smith <dannysmith@users.sourceforge.net>
-
- * mingwex/math/hypotl.c: Replace with version based on cephes
- library.
-
-2002-08-28 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/sys/param.h: Add ENDIAN defines.
- * test_headers.c: Include sys/param.h.
-
-2002-08-28 Danny Smith <dannysmith@users.sourceforge.net>
-
- * test_headers.c: Don't include varargs.h.
- * Makefile.in (test_headers): Don't use -std=xx
- with -xc++.
-
-2002-08-21 Earnie Boyd <earnie@users.sf.net>
-
- * include/sys/param.h: New File.
-
-2002-08-21 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/math.h (asm): Change to __asm__ throughout.
- Expose ISO C99 functions if __GLIPCPP__.
- (hypotf): Use hypot, not _hypot in stub.
-
-2002-08-20 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/tchar.h: Ansi-fy another comment.
-
-2002-08-20 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/tchar.h: Ansi-fy comment.
-
-2002-08-20 Danny Smith <dannysmith@users.sourceforge.net>
-
- * test_headers.c : New file.
- * Makefile.in (test_headers): New target, using it,
- (SRCDIST_FILES): Distribute it.
-
-2002-08-20 Earnie Boyd <earnie@users.sf.net>
-
- * include/_mingw.h: Increment version to 2.2.
- Makefile.in: Ditto.
-
-2002-08-14 Earnie Boyd <earnie@users.sf.net>
-
- * include/unistd.h: Add include of process.h.
-
-2002-08-03 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/stdio.h (_fcloseall): Add prototype.
-
-2002-07-29 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/tchar.h (_tfdopen): Correct typo.
-
-2002-07-29 Danny Smith <dannysmith@users.sourceforge.net>
-
- * moldname.def.in (chgsign,scalb,finite,fpclass,logb,
- nextafter): Add non-underscored stubs.
- * moldname-msvcrt.def: Regenerate.
- * moldname-crtdll.def: Regenerate.
- * mingwex/math: New directory.
- * mingwex/rint.c: Move to mingwex/math.
- * mingwex/rintf.c: Ditto.
- * mingwex/rintl.c: Ditto.
- * mingwex/round.c: Ditto.
- * mingwex/roundf.c: Ditto.
- * mingwex/roundl.c: Ditto.
- * mingwex/rint.c: Ditto.
- * mingwex/rintf.c: Ditto.
- * mingwex/rintl.c: Ditto.
- * mingwex/trunc.c: Ditto.
- * mingwex/truncf.c: Ditto.
- * mingwex/truncl.c: Ditto.
- * mingwex/signbit.c: Ditto.
- * mingwex/signbitf.c: Ditto.
- * mingwex/signbitl.c: Ditto.
- * mingwex/copysignl.S: Ditto.
- * mingwex/fdim.c: Ditto.
- * mingwex/fdimf.c: Ditto.
- * mingwex/fdiml.c: Ditto.
- * mingwex/fmin.c: Ditto.
- * mingwex/fminf.c: Ditto.
- * mingwex/fminl.c: Ditto.
- * mingwex/fmax.c: Ditto.
- * mingwex/fmaxf.c: Ditto.
- * mingwex/fmaxl.c: Ditto.
- * mingwex/fma.c: Ditto.
- * mingwex/fmaf.c: Ditto.
- * mingwex/fmal.c: Ditto.
- * mingwex/fpclassify.c: Ditto.
- * mingwex/fpclassifyl.c: Ditto.
- * mingwex/fpclassifyl.c: Ditto.
- * mingwex/isnan.c: Ditto.
- * mingwex/isnanf.c: Ditto.
- * mingwex/isnanl.c: Ditto.
- * mingwex/fucom.c: Ditto.
- * mingwex/fp_consts.c: Ditto. Split out float and long double
- definitions.
- * mingwex/math_stubs.c: Remove.
- * mingwex/log2.c: Remove. Replaced by math/log2.S
- * mingwex/log2f.c: Remove. Replaced by math/log2f.S
- * mingwex/log2l.c: Remove. Replaced by math/log2l.S
- * mingwex/math/acosf.c : New file.
- * mingwex/math/acosl.c: New file.
- * mingwex/math/asinf.c: New file.
- * mingwex/math/asinl.c: New file.
- * mingwex/math/atan2f.c: New file.
- * mingwex/math/atan2l.c: New file.
- * mingwex/math/atanf.c: New file.
- * mingwex/math/atanl.c: New file.
- * mingwex/math/cbrt.c: New file.
- * mingwex/math/cbrtf.c: New file.
- * mingwex/math/cbrtl.c: New file.
- * mingwex/math/ceilf.S: New file.
- * mingwex/math/ceill.S: New file.
- * mingwex/math/cephes_ld.h: New file.
- * mingwex/math/copysign.S: New file.
- * mingwex/math/copysignf.S: New file.
- * mingwex/math/cosf.S: New file.
- * mingwex/math/coshf.c: New file.
- * mingwex/math/coshl.c: New file.
- * mingwex/math/cosl.S: New file.
- * mingwex/math/exp2.S: New file.
- * mingwex/math/exp2f.S: New file.
- * mingwex/math/exp2l.S: New file.
- * mingwex/math/expf.c: New file.
- * mingwex/math/expl.c: New file.
- * mingwex/math/fabs.c: New file.
- * mingwex/math/fabsf.c: New file.
- * mingwex/math/fabsl.c: New file.
- * mingwex/math/floorf.S: New file.
- * mingwex/math/floorl.S: New file.
- * mingwex/math/fmodf.c: New file.
- * mingwex/math/fmodl.c: New file.
- * mingwex/math/fp_consts.h: Ditto.
- * mingwex/math/fp_constsf.c: Ditto.
- * mingwex/math/fp_constsl.c: Ditto.
- * mingwex/math/frexpf.c: New file.
- * mingwex/math/frexpl.S: New file.
- * mingwex/math/hypotf.c: New file.
- * mingwex/math/hypotl.c: New file.
- * mingwex/math/ilogb.S: New file.
- * mingwex/math/ilogbf.S: New file.
- * mingwex/math/ilogbl.S: New file.
- * mingwex/math/ldexpf.c: New file.
- * mingwex/math/ldexpl.c: New file.
- * mingwex/math/llrint.c: New file.
- * mingwex/math/llrintf.c: New file.
- * mingwex/math/llrintl.c: New file.
- * mingwex/math/llround.c: New file.
- * mingwex/math/llroundf.c: New file.
- * mingwex/math/llroundl.c: New file.
- * mingwex/math/log10f.S: New file.
- * mingwex/math/log10l.S: New file.
- * mingwex/math/log1p.S: New file.
- * mingwex/math/log1pf.S: New file.
- * mingwex/math/log1pl.S: New file.
- * mingwex/math/log2.S: New file.
- * mingwex/math/log2f.S: New file.
- * mingwex/math/log2l.S: New file.
- * mingwex/math/logb.c: New file.
- * mingwex/math/logbf.c: New file.
- * mingwex/math/logbl.c: New file.
- * mingwex/math/logf.S: New file.
- * mingwex/math/logl.S: New file.
- * mingwex/math/lrint.c: New file.
- * mingwex/math/lrintf.c: New file.
- * mingwex/math/lrintl.c: New file.
- * mingwex/math/lround.c: New file.
- * mingwex/math/lroundf.c: New file.
- * mingwex/math/lroundl.c: New file.
- * mingwex/math/modff.c: New file.
- * mingwex/math/modfl.c: New file.
- * mingwex/math/nearbyint.S: New file.
- * mingwex/math/nearbyintf.S: New file.
- * mingwex/math/nearbyintl.S: New file.
- * mingwex/math/nextafterf.c: New file.
- * mingwex/math/powf.c: New file.
- * mingwex/math/powl.c: New file.
- * mingwex/math/powil.c: New file.
- * mingwex/math/remainder.S: New file.
- * mingwex/math/remainderf.S: New file.
- * mingwex/math/remainderl.S: New file.
- * mingwex/math/remquo.S: New file.
- * mingwex/math/remquof.S: New file.
- * mingwex/math/remquol.S: New file.
- * mingwex/math/scalbn.S: New file.
- * mingwex/math/scalbnf.S: New file.
- * mingwex/math/scalbnl.S: New file.
- * mingwex/math/sinf.S: New file.
- * mingwex/math/sinhf.c: New file.
- * mingwex/math/sinhl.c: New file.
- * mingwex/math/sinl.S: New file.
- * mingwex/math/sqrt.c: New file.
- * mingwex/math/sqrtf.c: New file.
- * mingwex/math/sqrtl.c: New file.
- * mingwex/math/tanf.S: New file.
- * mingwex/math/tanhf.c: New file.
- * mingwex/math/tanhl.c: New file.
- * mingwex/math/tanl.S: New file.
- * mingwex/Makefile.in: Adjust VPATH for source files in
- mingwex/math.
- Adjust MATH_OBJS.
- Add MATH_DISTFILES and use it to build source distro.
- * include/ math.h: Add protypes for new functions and
- reorganise to reflect ANSI,C99 status.
-
-2002-06-19 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/tchar.h (_getts): Define as _getws for _UNICODE.
- (_putts): Define as _putws for _UNICODE.
- Thanks to: Tomasz Pona <cochisek@poczta.onet.pl> for report.
-
-2002-06-18 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/float.h: #include_next<float.h> before header guard.
-
-2002-06-18 Casper S. Hornstrup <chorns@users.sourceforge.net>
-
- * include/_mingw.h (__MINGW_IMPORT): Check for prior definition before
- defining.
- * include/excpt.h (): Include windef.h not windows.h.
- * include/fcntl.h (_O_SHORT_LIVED): Add define.
- (_chmod): Add prototype.
- (_creat): Correct prototype.
- (SH_DENY*): Rename defines to _SH_DENY*.
- (SH_DENY*): Add Non-ANSI names for _SH_DENY*.
- include/stdio.h (_IOMYBUF, _IOEOF, _IOERR, _IOSTRG,
- _IOAPPEND): Add defines.
- (_wfindfirst): Correct prototype.
- (_wfdopen): Add prototype.
- * include/stdlib.h (_rotl, _rotr, _lrotl, _lrotr): Add
- prototypes.
- * include/string.h (_mbschr, _mbstok, _mbsncat): Remove
- prototypes.
- (_wcsdup): Correct prototype.
- * include/mbstring.h: Remove comments about _mbschr, _mbstok,
- _mbsncat being in string.h.
- * include/wchar.h (_wfindfirst): Correct prototype.
- * include/tchar.h (_tfdopen): Add _UNICODE mappings.
-
-2002-06-15 Earnie Boyd <earnie@users.sf.net>
-
- * include/_mingw.h: Increment to version 2.1.
- * Makefile.in: Ditto.
-
-2002-06-15 Earnie Boyd <earnie@users.sf.net>
-
- * Makefile.in (conf_prefix): New variable.
- (dist_prefix): Ditto. Conditionally set to $(conf_prefix).
- (bindist): Use dist_prefix.
-
-2002-06-13 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/_mingw.h: Increment version to 2.0.
- * Makefile.in: Ditto.
-
- Merge in mingwex branch.
-
- 2002-06-11 Danny Smith <dannysmith@users.sourceforge.net>
- * include/math.h (fdim, fdimf, fdiml): Add prototypes.
- * mingwex/fdim.c: New file.
- * mingwex/fdimf.c: New file.
- * mingwex/fdiml.c: New file.
- * mingwex/Makefile.in (DISTFILES): Add fdim.c, fdimf.c,
- fdiml.c.
- (MATHOBJS):Add fdim.o, fdimf.o. fdiml.o.
-
- 2002-05-23 Danny Smith <dannysmith@users.sourceforge.net>
- * mingwex/Makefile.in (DISTFILES): Add truncf.c, truncl.c.
-
- 2002-05-22 Danny Smith <dannysmith@users.sourceforge.net>
- * mingwex/isnanl.c: New file.
-
- 2002-05-21 Danny Smith <dannysmith@users.sourceforge.net>
- * include/stdint.h: Include stddef.h to get
- wchar_t and wint_t.
- (WINT_MAX): Define to ((wint_t)-1).
-
- 2002-05-21 Danny Smith <dannysmith@users.sourceforge.net>
- * include/wctype.h: Replace 'inline' with '__inline__'.
- * include/inttypes.h: Likewise.
-
- 2002-05-16 Danny Smith <dannysmith@users.sourceforge.net>
- * include/_mingw.h (__MINGW_IMPORT): Put extern at start
- to avoid warnings. Thanks to: Oscar Fuentes <ofv@wanadoo.es>.
-
- 2002-05-16 Danny Smith <dannysmith@users.sourceforge.net>
- * mingwex/snprintf.c: Split out vsnprintf to....
- * mingwex/vsnprintf.c: New file.
- * mingwex/snwprintf.c: Split out vsnwprintf to...
- * mingwex/vsnwprintf.c: New file.
- * mingwex/Makefile.in: Adjust DISTFILES and STDIO_STUB_OBJS.
-
- 2002-05-15 Pascal Obry <obry@gnat.com>
- * include/dirent.h (DIR): Change dd_stat type to int.
- (_WDIR): Likewise.
-
- 2002-05-07 Danny Smith <dannysmith@users.sourceforge.net>
- * include/stdio.h (vsnprintf): Change inline to __inline__;
- (vsnwprintf): Likewise.
- * include/wchar.h (vsnwprintf): Likewise.
- (wcstof): Likewise.
- (fwide): Likewise.
- (mbsinit): Likewise.
-
- 2002-04-29 Danny Smith <dannysmith@users.sourceforge.net>
- Change FP default precison from 53 to 64-bit mantissa.
- * Makefile.in (CRT0S): Add CRT_fp8.o.
- (MINGW_OBJS): Replace CRT_fp8.o with CRT_fp10.o.
- * include/float.h: Replace standard float.h defines with
- #include_next<float.h> to use GCC's defines. Adjust comments
- to reflect change.
-
- 2002-04-26 Danny Smith <dannysmith@users.sourceforge.net>
- * include/dos.h: Change prefix "__imp_" to "_imp__" for
- __GNUC__ without __DECLSPEC_SUPPORTED.
- * include/fnctl.h: Likewise.
- * include/math.h: Likewise.
- * include/stdio.h: Likewise.
- * include/stdlib.h: Likewise.
- * include/time.h: Likewise.
- * include/wctype.h: Likewise.
- * include/ctype.h: Likewise.
-
- 2002-04-26 Danny Smith <dannysmith@users.sourceforge.net>
- Add atexit support for dlls.
- * crt1.c (atexit): Force thunk to _imp__atexit.
- (_onexit): Force thunk to _imp___onexit.
- * dllcrt1.c (DllMainCRTStartup): Initialise private atexit
- table on DLL_PROCESS_ATTACH, clean it up on DLL_PROCESS_DETACH.
- (__dll_exit): New function to run atexit-registered functions
- and flush output buffers on DLL_PROCESS_DETACH or failed
- DLL_PROCESS_ATTACH.
- (atexit): Force use of private atexit table via _dllonexit,
- (_onexit): New function. Force use of private atexit table via
- _dllonexit,
- * msvcrt.def (atexit, _onexit): Add DATA keyword so that only
- _imp_<_symbol> is visible in import lib.
- * msvcrt20.def: Likewise.
- * msvcrt40.def: Likewise.
- * crtdll.def: Likewise.
-
- 2002-04-26 Danny Smith <dannysmith@users.sourceforge.net>
- * include/fenv.h: Change header guard macro to _FENV_H_.
- (fenv_t, fexcept_t): Move into block protected by
- #ifndef RC_INVOKED.
- Cleanup some whitespace.
- * include/inttypes.h: Change header guard macro to
- _INTTYPES_H_.
-
- 2002-04-26 Danny Smith <dannysmith@users.sourceforge.net>
- * include/math.h (copysignl): Declare.
- * mingwex/Makefile.in (DISTFILES): Add copysignl.S.
- (MATHOBJS):Add copysignl.o.
-
- 2002-04-24 Danny Smith <dannysmith@users.sourceforge.net>
- * include/math.h (__signbitl, __isnanl): Declare.
-
- 2002-04-24 Danny Smith <dannysmith@users.sourceforge.net>
- * include/math.h (nanl, __fpcassifyl, fminl, fmaxl, rintl,
- roundl, truncl, fmal, log2l): Declare.
- Protect C99 declarations with _STDC_VERSION__ >= 199901L)
- || !defined __STRICT_ANSI__.
- * mingwex/fmax.c (fmax): Call __isnan, not _isnan.
- * mingwex/fmin.c (fmin): Likewise.
- * mingwex/fmaxf.c (fmaxf): Call __isnanf, not _isnan.
- * mingwex/fminf.c (fminf): Likewise.
- * mingwex/fmaxl.c: New file.
- * mingwex/fminl.c: New file.
- * mingwex/fpclassify.c (__fpclassifyf): Split out to ...
- * mingwex/fpclassifyf.c: New file.
- * mingwex/fpclassifyl.c: New file.
- * mingwex/rint.c (rintf): Split out to...
- * mingwex/rintf.c: New file.
- * mingwex/rintl.c: New file.
- * mingwex/round.c (roundf): Split out to...
- * mingwex/roundf.c: New file.
- * mingwex/roundl.c: New file.
- * mingwex/trunc.c (truncf): Split out to...
- * mingwex/truncf.c: New file.
- * mingwex/truncl.c: New file.
- * mingwex/signbit.c (signbitf): Split out to...
- * mingwex/signbitf.c: New file.
- * mingwex/signbitl.c: New file.
- * mingwex/fmal.c: New file.
- * mingwex/copysignl.S: New file.
- * mingwex/log2l.c: New file.
- * mingwex/fp_consts.c: Add nanl definition.
- Comment out unused constants.
- * mingwex/Makefile.in (DISTFILES): Add fmaxl.c, fminl.c,
- fpclassifyf.c, fpclassifyl.c, rintf.c, rintl.c, roundf.c,
- roundl.c, truncf.c truncl.c, signbitf.c signbitl.c,
- fmal.c, log2l.c
- (MATHOBJS): Add fmaxl.o, fminl.o, fpclassifyf.o,
- fpclassifyl.o, rintf.o, rintl.o, roundf.o, roundl.o,
- truncf.o truncl.o, signbitf.o signbitl.o, fmal.o,
- log2l.o.
- * mingwex/snwprintf.c (snwprintf, vsnwprintf): Correct typo.
-
- 2002-04-23 Danny Smith <dannysmith@users.sourceforge.net>
- Make wide char versions of opendir and friends.
- * include/dirent.h (_wdirent, _WDIR): Define wide versions of
- struct dirent, DIR.
- (_wopendir,_wreaddir,_wclosedir,_wrewinddir,_wtelldir,
- _wseekdir): Add prototypes for wide versions of corresponding
- standard functions.
- * include/tchar.h; Add _UNICODE mappings for dirent.h
- structures and functions.
- * mingwex/dirent.c: Make _UNICODE neutral.
- * mingwex/wdirent.c: New file to define _UNICODE before
- including dirent.c.
- * mingwex/Makefile.in (DISTFILES): Add wdirent.c.
- (POSIX_OBJS): Add wdirent.o.
- (wdirent.o): Specify dependency on dirent.c as well as
- wdirent.c.
- * samples/dirent/wtest.c: New file, wide version of test.c.
-
- 2002-04-17 Danny Smith <dannysmith@users.sourceforge.net>
- * Makefile.in (INCLUDES): Add "-iwithprefixbefore include" to
- ensure gcc include dir is searched despite -nostdinc.
- * profile/Makefile.in (INCLUDES): Likewise.
- * mingwex/Makefile.in (INCLUDES): Likewise.
- * include/stdarg.h: Replace with stub that just guards the
- real gcc system header with #ifndef RC_INVOKED
- * include/varargs.h: Likewise.
- * include/stddef.h: Likewise.
- * include/stdio.h: Include stdarg.h after defining
- __need___va_list.
- (__VALIST): Define as __gnuc_va_list if __GNUC__, else char*.
- Replace va_list with __VALIST throughout.
-
- 2002-04-17 Danny Smith <dannysmith@users.sourceforge.net>
- * crt1.c: Revert changes of 2002-04-16. Use _fpreset again.
- * msvcrt.def (_fpreset): Mark as DATA so that only
- _imp___fpreset is exported.
- * msvcrt20.def (_fpreset): Likewise.
- * msvcrt40.def (_fpreset): Likewise.
- * crtdll.def (_fpreset): Likewise.
- * CRT_fp10.c (_fpreset): Overide library _fpreset with one
- that calls fninit.
- (fpreset): Add alias.
- (__CRT_PC): Delete definition. _fpreset does it now.
- * CRT_fp8.c (_fpreset): Force use of library _imp___fpreset.
- (fpreset): Add alias.
- (__CRT_PC): Delete definition.
- * moldname.def.in: Comment out fpreset.
- * moldname-msvcrt.def: Regenerate.
- * moldname-crtdll.def: Regenerate.
- * include/fenv.h (FE_DFL_ENV): Define as (fenv_t*)0.
- * mingwex/fesetenv.c (FE_DFL_ENV): Use it to set environment
- with the _fpreset determined by startup CRT_fp object.
-
- 2002-04-16 Danny Smith <dannysmith@users.sourceforge.net>
- * CRT_fp8.c: New file.
- * CRT_fp10.c: New file.
- * crt1.c (__CRT_PC) Declare.
- (__CRT_fesetenv): New static function, using _CRT_PC.
- (__mingw_CRTStartup):Use __CRT_fesetenv instead of _fpreset.
- (_gnu_exception_handler): Likewise.
- * Makefile.in (CRT0S): Add CRT_fp10.o.
- (MINGW_OBJS): Add CRT_fp8.o.
- (SRCDIST_FILES): Add CRT_fp8.c, CRT_fp10.c.
- Add CRT_fp8.o, CRT_fp10.o dependancies.
- * include/float.h (_fpreset): Expand comment.
- * include/fenv.h (FE_PC64_ENV): New define for Intel x87
- (extended precison) environmemt.
- (FE_PC53_ENV): New define for MSVCRT default environmemt.
- (FE_DFL_ENV): Define as FE_PC53_ENV.
- * mingwex/fesetenv.c: Use FE_PC53_ENV, FE_PC64_ENV to determine
- precision control for default environment.
-
- * include/math.h: Fix long comment line.
- * profile/configure.in (CRT0S): Set to both gcrt1.o and gcrt2.o
- for mingw.
- * profile/configure: Regenerate.
-
- 2002-04-12 Danny Smith <dannysmith@users.sourceforge.net>
- * mingwex/Makefile.in (DISTFILES): Add suffix to wcstof.c.
-
- 2002-04-10 Danny Smith <dannysmith@users.sourceforge.net>
- * mingwex/mingw-fseek.c: New file, based on Mumit Khan
- mingw-local patch to binutils.
- Sun Nov 7 04:27:07 1999 Mumit Khan <khan@xraylith.wisc.edu>
- (__mingw_fseek): New function to work around Win9x f/lseek bug.
- (__mingw_fwrite): Likewise.
- (__mingw_is_win9x): New helper function.
- * include/stdio.h (__USE_MINGW_FSEEK): New define,guarding...
- (__mingw_fseek): New prototype and define to replace fseek.
- (__mingw_fwrite): New prototype and define to replace fwrite.
- * mingwex/Makefile.in: Add mingw-fseek.o to libmingwex.a.
- * moldname-crtdll.def: Remove CR from end of line.
- * moldname-msvcrt.def: Ditto.
-
- 2002-04-09 Danny Smith <dannysmith@users.sourceforge.net>
- * profile/configure.in (CRT0S): Configure name of gcrt?.o
- based on target, building gcrt0.o for cygwin -mno-cygwin.
- * profile/configure: Regenerate.
- * profile/Makefile.in (CRT0S): Use name from configure.
- (gcrt0.o): New rule.
- (ALL_CRT0S): New define, used to cleanup all gcrt?.o's.
-
- 2002-04-04 Danny Smith <dannysmith@users.sourceforge.net>
- * include/math.h (_controlfp, _control87, _clearfp, _statusfp, _fpreset,
- _fpecode): Remove prototypes copied from float.h.
- (nan, nanf): Move into block protected against RC_INVOKED
- and __cplusplus.
- * include/stdlib.h (_Exit): Change from static inline to
- extern inline.
- * mingwex/_Exit.c : New file.
- * mingwex/Makefile.in: Add _Exit.o to libmingwex.a.
-
- 2002-04-04 Danny Smith <dannysmith@users.sourceforge.net>
- Add libgmon.a and libmingwex.a for cygwin -mno-cygwin.
- * configure.in (SUBDIRS): Add profile and mingwex to cygwin target.
- (configdirs): Likewise.
- (LIBGMON_A): Define for cygwin target as well.
- * configure: Regenerate.
- * profile/configure.in (THREAD_DLL): Remove define.
- (LIBM_A): Remove define.
- (LIBGMON_A): Define for cygwin target as well.
- * profile/configure: Regenerate.
- * profile/makefile.in (install): Install to inst_libdir and
- inst_includedir.
- * mingwex/makefile.in (CFLAGS): Move -fomit-frame-pointer to...
- (OPTFLAGS): New define.
- (ALL_CFLAGS): Add $(OPTFLAGS).
- (ALL_CXXFLAGS): Same.
- (.c.o:): Remove ALL_CXXFLAGS.
-
- 2002-03-29 Danny Smith <dannysmith@users.sourceforge.net>
- * include/stdint.h: Add missing newline at eof.
- * include/stdio.h (snprintf): Add prototype.
- (vsnprintf): Add prototype and inline definition.
- (snwprintf): Add prototype.
- (vsnwprintf): Add prototype and inline definition.
- * include/wchar.h (snwprintf): Add prototype.
- (vsnwprintf): Add prototype and inline definition.
- * mingwex/Makefile.in: Add snprintf.o, snwprintf.o
- to libmingwex.a.
- * mingwex/snprintf.c: New file.
- * mingwex/snwprintf.c: New file.
-
- 2002-03-22 Danny Smith <dannysmith@users.sourceforge.net>
- * configure.in: Add mingwex as SUBDIRS and configdirs.
- * configure: Regenerate.
- * Makefile.in (MINGW_OBJS): Remove dirent.o.
- (SRC_DIST_FILES): Remove dirent.c.
- * dirent.c: Remove.
- * include/stdlib.h (_Exit): Add static inline
- function.
- (struct lldiv_t): Define.
- (lldiv): Add prototype.
- (llabs): Add extern inline function.
- (strtoll,strtoull): Add prototypes.
- (wcstol, wcstoul, wcstod): Group together.
- (strtof, wcstof): Add extern inline definitions.
- (atoll,lltoa,ulltoa, wtoll, lltow ulltow): Add prototypes
- and extern inline definitions.
- * include/wchar.h (fwide, wcstoll,wcstoull, wmemchr
- wmemcmp, wmemcpy, wmemmove, wmemset. mbsinit): Add
- prototypes.
- (wcstol, wcstoul,wcstod): Copy prototypes from stdlib.h.
- (wcstof): Add extern inline definition.
- * include/math.h (nan, nanf): Add prototypes.
- (NAN, INFINITE): Define constants.
- (fpclassify, isnan ,signbit): Add macros and supporting float
- and double functions.
- (isfinite, isinf, isnormal): Add macros.
- (isgreater, isless, isgreaterequal, islessequal,islessgreater):
- Add macros.
- (rint, rintf, round, roundf, trunc. truncf, fmax, fmaxf,
- fmin, fminf, fma, fmaf, log2, log2f): Add prototypes.
- (copysign, logb, nextafter, scalb): Add prototypes and
- inline stubs for underscored versions in msvcrt.dll.
- * include/inttypes.h: New file.
- * include/fenv.h: New file
-
- Add new mingwex subdir and files.
- * mingwex: New directory.
- * mingwex/Makefile.in: New file.
- * mingwex/configure.in: New file.
- * mingwex/configure: Generate.
- * mingwex/dirent.c: Moved here from parent dir.
- * mingwex/atoll.c: New file.
- * mingwex/feclearexcept.c: New file.
- * mingwex/fegetenv.c: New file.
- * mingwex/fegetexceptflag.c: New file.
- * mingwex/fegetround.c: New file.
- * mingwex/feholdexcept.c: New file.
- * mingwex/feraiseexcept.c: New file.
- * mingwex/fesetenv.c: New file.
- * mingwex/fesetexceptflag.c: New file.
- * mingwex/fesetround.o: New file.
- * mingwex/fetestexcept.c: New file.
- * mingwex/feupdateenv.c: New file.
- * mingwex/fma.S: New file.
- * mingwex/fmaf.S: New file.
- * mingwex/fmax.c: New file.
- * mingwex/fmaxf.c: New file.
- * mingwex/fmin.c: New file.
- * mingwex/fminf.c: New file.
- * mingwex/fp_consts.c: New file.
- * mingwex/fpclassify.c: New file.
- * mingwex/fucom.c: New file.
- * mingwex/fwide.c: New file.
- * mingwex/imaxabs.c: New file.
- * mingwex/imaxdiv.c: New file.
- * mingwex/isnan.c: New file.
- * mingwex/isnanf.c: New file.
- * mingwex/lltoa.c: New file.
- * mingwex/lltow.c: New file.
- * mingwex/log2.c: New file.
- * mingwex/log2f.c: New file.
- * mingwex/math_stubs.c: New file.
- * mingwex/mbsinit.c: New file.
- * mingwex/rint.c: New file.
- * mingwex/round.c: New file.
- * mingwex/signbit.c: New file.
- * mingwex/sitest.c: New file.
- * mingwex/strtof.c: New file.
- * mingwex/strtoimax.c: New file.
- * mingwex/strtoumax.c: New file.
- * mingwex/testwmem.c: New file.
- * mingwex/trunc.c: New file.
- * mingwex/ulltoa.c: New file.
- * mingwex/ulltow.c: New file.
- * mingwex/wcstof.c: New file.
- * mingwex/wcstoimax.c: New file.
- * mingwex/wcstoumax.c: New file.
- * mingwex/wmemchr.c: New file.
- * mingwex/wmemcmp.c: New file.
- * mingwex/wmemcpy.c: New file.
- * mingwex/wmemmove.c: New file.
- * mingwex/wmemset.c: New file.
- * mingwex/wtoll.c: New file.
-
-2002-04-20 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/mbstring.h: New file.
- * include/mbctype.h: New file.
-
-2002-04-20 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/tchar.h (__TEXT): Make same as define in
- w32api/include/winnt.h.
-
-2002-04-20 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/tchar.h (_tputenv): Add UNICODE mappings.
- (_tsearchenv): Likewise.
- (_tmakepath): Likewise.
- (_tsplitpath): Likewise.
- (_tfullpath): Likewise.
-
-2002-04-18 Pascal Obry <obry@gnat.com>
-
- * dirent.c (opendir): Convert given pathname to
- absolute pathname.
-
-2002-04-09 Earnie Boyd <earnie@users.sf.net>
-
- * include/_mingw.h: Increment version.
- * Makefile.in: Ditto.
-
-2002-04-09 Earnie Boyd <earnie@users.sf.net>
-
- * moldname-crtdll.def: Remove CR from end of line.
- * moldname-msvcrt.def: Ditto.
- * Makefile.in: Use bzip2 compression for Cygwin target.
-
-2002-04-04 Danny Smith <dannysmith@sourceforge.users.net>
-
- * include/math.h (DOMAIN, SING, OVERFLOW, UNDERFLOW,
- TLOSS, PLOSS): Move oldname defines back, following
- the underscored names.
-
-2002-03-29 Danny Smith <dannysmith@sourceforge.users.net>
-
- * include/stdio.h (_snwprintf): Correct spelling.
- (_vsnwprintf): Likewise.
- * include/wchar.h (_snwprintf): Correct spelling.
- (_vsnwprintf): Likewise.
-
-2002-03-26 Danny Smith <dannysmith@users.sourceforge.net>
-
- * moldname.def.in (__MSVCRT__): Replace with !(__CRTDLL__).
- (wpopen): Add if !(__CRTDLL__).
- * Makefile.in (moldname-msvcrt.def rule): Use -C, not -c to
- preserve comments.
- (moldname-crtdll.def rule): Likewise.
- * moldname-msvcrt.def: Regenerate.
- * moldname-crtdll.def: Regenerate.
- * include/stdio.h (wpopen):Use prototype, not a define.
- (_swnprintf): Add prototype.
- (_vswnprintf): Likewise.
- Tidy up whitespace.
- * include/wchar.h (_swnprintf): Add prototype.
- (_vswnprintf): Likewise.
- Tidy up whitespace.
-
-2002-01-28 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/malloc.h (_heapinfo): Correct structure definition.
- (_USEDENTRY,_FREEENTRY): Add defines.
- Add comment on platform support for _heap* functions.
- (_get_sbh_threshold): Add prototype.
- (_set_sbh_threshold): Likewise.
- (_expand): Likewise.
-
-2002-01-25 Danny Smith <dannysmith@users.sourceforge.net>
-
- * profile/profil.c: Update copyright info.
- * profile/profil.h: Likewise.
- * profile/gcrt0.c: Likewise.
-
-2002-01-25 Pascal Obry <obry@gnat.com>
-
- * profile/profil.h (PROFADDR): Cast idx to unsigned long long to
- avoid overflow.
- * profile/gmon.c: Define bzero as memset if mingw32.
- (monstartup): Use it.
-
-2002-01-25 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/tchar.h (_TCHAR): Add missing ;.
-
-2002-01-25 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/tchar.h (_TCHAR): Add typedefs.
-
-2002-01-16 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/stdlib.h (_onexit_t): Add typedef.
- (_onexit): Add prototype.
-
-2002-01-12 Danny Smith <dannysmith@users.sourceforge.net>
-
- * msvcrt.def: Revert accidental change.
- * include/stdlib.h: Ditto.
-
-2001-12-07 Earnie Boyd <earnie@users.sf.net>
-
- * Makefile.in: Increment VERSION.
- * include/_mingw.h: Ditto.
-
-2001-12-05 Earnie Boyd <earnie@users.sf.net>
-
- * include/strings.h: New File.
-
-2001-12-02 Danny Smith <dannysmith@users.sourceforge.net>
-
- Apply patches from:
- 2001-06-21 Mumit Khan <khan@nanotech.wisc.edu>
-
- * include/math.h (_FPCLASS* ): Add defines from float.h.
- (IEEE recommended functions): Add declarations from float.h.
- * include/float.h (_FPCLASS* ): Protect against redefinition.
-
-2001-11-29 Wu Yongwei <adah@netstd.com>
-
- * include/_mingw.h,assert.h,conio.h,ctype.h,dir.h,direct.h
- dirent.h,dos.h,errno.h,excpt.h,fcntl.h,float.h,io.h,
- limits.h,locale.h,malloc.h,math.h,process.h,setjmp.h,
- share.h,signal.h,stdarg.h,stddef.h,stdint.h,stdio.h,
- stdlib.h,string.h,tchar.h,time.h,varargs.h,wchar.h,
- wctype.h,sys/stat.h,sys/timeb.h,sys/types.h,sys/utime.h:
- Correct spelling of "disclaimed" in comments.
- * include/excpt.h: Another spelling correction.
-
-2001-11-08 Robert Collins <rbtcollins@hotmail.com>
-
- * include/errno.h: Fix "errno is not a prototype" warning.
-
-2001-11-07 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/ctype.h (tolower, toupper,_tolower,_toupper): Comment
- differences between ANSI and non-ANSI versions.
- (_ctype[],_pctype): Declare vars.
- (__ISCTYPE): New helper macro using _pctype.
- (is* ctype functions): Use __ISCTYPE to define inline versions.
- (_toupper, _tolower, __isascii, __toascii, __iscsym, __iscsymf):
- Inline definitions.
- (isw* ctype functions): Inline definitions.
- * include/wctype.h (_ctype[],_pctype): Declare vars.
- (isw* ctype functions): Inline definitions.
-
-
-2001-11-06 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/float.h (_clearfp, _statusfp, _fpreset, fpreset,
- __fpecode): Use __STDC__ prototypes.
-
-
-2001-11-06 Thomas Pfaff <tpfaff@gmx.net>
-
- * mthr_stub.c (__mingwthr_remove_key_dtor) New.
- * mthr_init.c (DllMain) Run dtors if a process terminates.
- * mthr.c (__mingwthr_add_key_dtor) Removed.
- (___mingwthr_add_key_dtor) New.
- (___mingwthr_remove_key_dtor) New.
- (__mingwthr_run_key_dtors) Complete rewrite.
- (__mingwthr_remove_key_dtor) New.
-
-2001-11-05 Egor Duda <deo@logos-m.ru>
-
- * Makefile.in: Delete unused executable after creating base-files.
-
-2001-11-06 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/errno.h (_errno): Use __STDC__ prototype.
- Thanks to: Jim Barton.
-
-2001-11-04 "stefan" <stefan@lkcc.org>
-
- * include/sys/locking.h (_LK_UNLCK, LK_UNLCK): Correct names.
-
-2001-10-30 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/io.h (_commit): Add declaration.
- Thanks to: "stefan" <stefan@lkcc.org>
-
-2001-10-30 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/sys/stat.h: Make S_IS* macros safer.
-
-2001-10-27 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/stdlib.h (EXIT_FAILURE): Change value to 1.
-
-2001-10-12 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/stdlib.h (__p__environ, __p__wenviron): Use
- __STDC__ prototypes.
-
-2001-09-19 Earnie Boyd <earnie@SF.net>
-
- * Makefile.in: Remove the /usr from the install target.
- (VERSION): Increment.
- include/_mingw.h: Ditto.
-
-2001-09-17 Earnie Boyd <earnie@SF.net>
-
- * Makefile.in: Increment version.
- * include/_mingw.h: Ditto.
-
-2001-09-10 Earnie Boyd <earnie@SF.net>
-
- * dossh: Remove inadvertantly imported file.
-
-2001-09-10 Danny Smith <dannysmith@users.sourceforge.net>
-
- * dirent.c (opendir): Use GetFileAttributes rather than stat
- to determine if input arg is dir.
-
-2001-08-29 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/stdarg.h (va_list): Typedef as __builtin_va_list if
- __GNUC__ >= 3.
- * include/varargs.h (va_list): Ditto.
- * include/stdio.h (va_list): Ditto.
-
-2001-08-01 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/stdlib.h (_wpgmptr): Don't declare ifndef __MSVCRT__.
- * include/stdio.h (_IORW): Change constant to 0x0080.
- (TMP_MAX): Add new define.
- (_P_tmpdir): Ditto.
- (_wP_tmpdir): Ditto.
- (L_tmpnam): Change constant to 16.
-
-2001-06-28 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/malloc.h: Fix non-ANSI comment after #endif.
-
-2001-06-11 Danny Smith <danny_r_smith_2001@yahoo.co.nz>
-
- * profile/configure.in: Make msvcrt.dll version default.
- * profile/makefile.in: Build both gcrt1.o and gcrt2.o.
- * provile/configure: Regenerate.
-
-2001-06-11 Mattia Barbon <mbarbon@dsi.unive.it>
-
- * include/stdio.h (swscanf): Make first arugument const.
- * include/wchar.h (swscanf): Ditto.
- * include/tchar.h (_tfopen): New _UNICODE define.
- (_tgetenv): Ditto.
- (_tsetlocale): Ditto.
-
-2001-06-04 Earnie Boyd <earnie@users.sourceforge.net>
-
- * profile/Makefile.in (mkinstalldirs): Correct relative path.
-
-2001-06-04 Earnie Boyd <earnie@users.sourceforge.net>
-
- * include/_mingw.h: Change version to 1.0.
- Makefile.in: Ditto.
-
-2000-02-21 Earnie Boyd <earnie@users.sourceforge.net>
-
- * include/tchar.h: (__TEXT): Remove undef.
- (_TEXT): Ditto.
- (_T): Ditto.
-
-Fri Feb 2 10:34:07 2001 Earnie Boyd <earnie@users.sourceforge.net>
-
- * include/tchar.h: (__TEXT): Add private macro.
- (_TEXT): Modify definition to use __TEXT.
- (_T): Ditto.
- This change allows the passing of a MACRO as an argument and have that
- MACRO resolved first.
- Thanks to: Eric PAIRE <eric.paire@ri.silicomp.com>
-
-Wed Jan 31 17:12:51 2001 Earnie Boyd <earnie@users.sourceforge.net>
-
- * Makefile.in: Increment version to 0.5
- * include/_mingw.h: Increment minor version
-
-Tue Jan 30 13:01:01 2001 Earnie Boyd <earnie@users.sourceforge.net>
-
- * include/assert.h: (assert): Remove ; from end of definition
- Thanks to: AJ Reins <tbisp@qwest.net>
-
-Tue Jan 30 07:31:22 2001 Earnie Boyd <earnie@users.sourceforge.net>
-
- * include/time.h: (CLOCKS_PER_SEC): Type cast the constant.
- Thanks to: Cosmin Truta <cosmin@cs.toronto.edu>
-
-Mon Jan 29 14:03:07 2001 Earnie Boyd <earnie@users.sourceforge.net>
-
- * time.h: (CLOCKS_PER_SEC) Change from FP to integer constant.
-
-Sun Jan 28 13:01:08 2001 Earnie Boyd <earnie@users.sourceforge.net>
-
- * include/wchar.h: The 2001.01.18 Change was incorrect. The functions
- are actually C functions. These functions are resolved via the
- -lmsvcp60 library and comments were placed in the header.
-
-2001-01-28 Danny Smith <danny_r_smith_2001@yahoo.co.nz>
-
- *include/stdlib.h (__p__pgmptr): add prototype.
- (__p__wpgmptr): likewise.
- (_pgmptr_dll): move declaration from dos.h.
- (_wpgmptr_dll): likewise.
- (_pgmptr): conditional define (MSVCT/CRTDLL).
- (_wpgmptr): likewise.
- *include/dos.h (_base*_dll variables): declare only for CRTDLL.
- (_os*_dll variables): likewise.
- (_pgmptr_dll): remove declaration and associated defines to stdlib.h.
- (_wpgmptr_dll): likewise.
-
-2001-01-22 Danny Smith <danny_r_smith_2001@yahoo.co.nz>
-
- * include/stdint.h: New file.
-
-Thu Jan 18 10:33:01 2001 Earnie Boyd <earnie@users.sourceforge.net>
-
- * include/wchar.h: Protect prototypes only declared in the C++ STL
- from being declared unless __cplusplus is defined.
-
-Tue Jan 16 11:37:31 2001 Earnie Boyd <earnie@users.sourceforge.net>
-
- * include/stdlib.h: Apply Danny Smith patch 102730
- 2000-12-09 Danny Smith <danny_r_smith_2001@yahoo.co.nz>
- (_wgetenv) Correction to return type.
-
-Tue Jan 16 09:41:41 2001 Earnie Boyd <earnie@users.sourceforge.net>
-
- * include/locale.h: Apply Danny Smith patch 101834
- 2000-11-23 Danny Smith <danny_r_smith_2001@yahoo.co.nz>
- (LC_MIN) Add definition.
- (LC_MAX) ditto.
- (_wsetlocale) Add prototype.
-
-2000-11-29 Earnie Boyd <earnie_boyd@yahoo.com>
-
- * Makefile.in: eliminate the need for RUNTIME and CRT_ID.
- Always build crt1.o, dllcrt1.o, crt2.o and dllcrt2.o.
- Create a libcoldname.a for the oldname library for CRTDLL.
- Restrict libmoldname.a for the oldname library for MSVCRT.
- * configure.in: eliminate setting RUNTIME and CRT_ID variables.
- Restructure the $target_os case logic.
- Always name the MinGW thread dll helper mingwm.
- Change Cygwin's HEADER_SUBDIR value from mingw32 to mingw.
- * configure: regenerate.
-
-2000-11-22 Earnie Boyd <earnie_boyd@yahoo.com>
-
- * Makefile.in: Fix bindist target to distribute the correct files.
- Remove the use of SNAPSHOT variable and test SNAPDATE instead.
- Set SNAPDATE within the snapshot target on recursive call to $(MAKE).
-
-2000-11-21 Earnie Boyd <earnie_boyd@yahoo.com>
-
- * Makefile.in: Add missing line continuation `\' for $(SUBDIRS) target.
- Add variables and targets to control binary and source distributions.
- Add variables and targets to control snapshot distribution.
- * profile/gmon.h: Add missing #endif for #ifndef.
- * profile/ChangeLog: Merge entries here and remove.
- * profile/Makefile.in: Add variables and targets to control
- distribution.
- * README: Add.
- * TODO: ditto.
- * config.guess: ditto.
- * config.sub: ditto.
- * mkinstalldirs: ditto.
- * install-sh: ditto.
- * configure: regenerate.
- * profile/configure: ditto.
-
-2000-11-20 Earnie Boyd <earnie_boyd@yahoo.com>
-
- * Merge in changes from
- 2000-10-23 Danny Smith <danny_r_smith_2001@yahoo.co.nz>
- * include/direct.h: add guard around MSVCRT-only prototytpes
- * include/io.h: add __int64 struct definitions and function prototypes;
- add guard for MSVCRT-only prototypes
- * include/limits.h: add ISO C9x macros LLONG_MIN, LLONG_MAX, ULLONG_MAX
- * include/stdio.h: add wchar function prototypes (__MSVCRT__);
- put wchar functions together to make sync with wchar.h easier
- * include/stdlib.h: add wide char functions (__MSVCRT__)
- * include/string.h: add string collation functions ( __MSVCRT__)
- * include/sys/stat.h: add __int64 struct and function ( __MSVCRT__)
- * include/tchar.h: add macros and macro function definitions
- * include/wchar.h: add wide char function prototypes ( __MSVCRT__ );
- enclose more functions in __MSVCRT__ guard;
- some oldname wide char function prototypes #if (0)'d
- * profile/gmon.h: add guard around BSD-ish typedefs
-
-Mon Nov 20 18:58:12 2000 Christopher Faylor <cgf@cygnus.com>
-
- * Makefile.in: Use a different variable name for subdirectory since the
- previous one was used by the top level make.
-
-Sun Nov 19 20:50:51 2000 Christopher Faylor <cgf@cygnus.com>
-
- * Makefile.in: Install mingw stuff in a subdirectory if building under
- cygwin.
-
-Sat Jun 17 21:48:23 2000 Christopher Faylor <cgf@cygnus.com>
-
- * Makefile.in (subdirs): Eliminate for loop.
-
-Sat Jun 17 18:27:59 2000 Christopher Faylor <cgf@cygnus.com>
-
- * Makefile.in (subdirs): Previous change did not fix problem in
- broken shells.
-
-Sat Jun 17 13:49:12 2000 Christopher Faylor <cgf@cygnus.com>
-
- * Makefile.in: Avoid installing dll if we're cross building and the
- cross-host system isn't a Windows system.
- * configure.in: Detect cross-hosting situation and set appropriate
- variables in Makefile.in.
- * configure: Regenerate.
-
-Wed Apr 19 13:10:54 2000 Christopher Faylor <cgf@cygnus.com>
-
- * configure.in: Change HEADER_SUBDIR to mingw32.
- * configure: Regenerate.
-
-Mon Apr 10 17:24:28 2000 Christopher Faylor <cgf@cygnus.com>
-
- * include/string.h: Use proper prototype for _strerror.
-
-2000-03-30 Mumit Khan <khan@xraylith.wisc.edu>
-
- * Makefile.in (subdirs): Workaround for broken shells.
-
-2000-02-03 Mumit Khan <khan@xraylith.wisc.edu>
-
- * Snapshot 2000-02-03.
-
- * include/{assert.h, conio.h, ctype.h, direct.h, dirent.h, fcntl.h,
- float.h, io.h, locale.h, malloc.h, math.h, process.h, signal.h,
- stdio.h, stdlib.h, string.h, time.h, wctype.h, sys/stat.h,
- sys/timeb.h, sys/utime.h}: Remove parameter names to avoid namespace
- pollution.
-
- * Makefile.in (all): Build CRT0S first.
- (libmingwthrd.a): Remove thread support DLL from dependency.
-
-2000-01-21 Mumit Khan <khan@xraylith.wisc.edu>
-
- * Snapshot 2000-01-21.
-
-2000-01-20 Mumit Khan <khan@xraylith.wisc.edu>
-
- Merge in changes from Cygwin:
- * configure.in (HEADER_SUBDIRS): New variable. Substitute.
- (SUBDIRS): Likewise.
- * Makefile.in (HEADER_SUBDIRS): New variable.
- (install): Use to install Mingw headers to a subdirectory if building
- under Cygwin.
- (DLL_CC_STUFF): Add DLL entry point.
- * configure: Regenerate.
-
-2000-01-19 Mumit Khan <khan@xraylith.wisc.edu>
-
- * include/stdio.h (fsetpos): Fix prototype.
- (fpos_t): Fix for MSVCRT.
- * include/float.h (fpreset): Add prototype.
- * include/limits.h: Define UINT_MAX, USHRT_MAX and ULONG_MAX with
- constant values.
- * include/time.h: Don't define tzname as a macro for CRTDLL, and
- export using libmoldname.a.
- * crtdll.def: Add DATA tags.
- * msvcrt.def: Likewise.
- * moldname.def.in: Likewise. Add fpreset. Export tzname for
- both MSVCRT and CRTDLL.
- * moldname-crtdll.def: Regenerate.
- * moldname-msvcrt.def: Regenerate.
-
-Tue Dec 21 02:22:14 1999 Mumit Khan <khan@xraylith.wisc.edu>
-
- * Snapshot 1999-12-21.
-
- * include/wctype.h: New file.
- * include/ctype.h (MB_CUR_MAX): Define.
- (wctype_t): Guard.
- * include/stdlib.h (MB_CUR_MAX): Define.
- * include/wchar.h: Define stat, _stat structures here as well.
- * include/float.h: Add invalid subconditions (_SW) and floating
- point error (_FPE) macros.
- * include/time.h (_CLOCK_T): Rename macro to _CLOCK_T_DEFINED.
- (_TIME_T): Rename macro to _TIME_T_DEFINED.
- * include/sys/types.h: Likewise.
-
-Thu Nov 18 00:22:26 1999 Mumit Khan <khan@xraylith.wisc.edu>
-
- * profile/profil.c (profile_on): Set the profiler thread priority to
- be time critical. Thanks to Pascal Obry <pascal_obry@csi.com>.
- * Snapshot 1999-11-18.
-
-Sun Nov 7 02:50:09 1999 Mumit Khan <khan@xraylith.wisc.edu>
-
- Released 1999-11-07.
-
- * Makefile.in (CRT0S): Add crtst.o.
- (install): Install in subdirs as well.
- * dirent.h (struct _stat): Rename from struct stat.
- * include/tchar.h: Add some new macros. Thanks to
- Eric Kohl <ekohl@abo.rhein-zeitung.de>.
- * profile/Makefile.in (install): Fix target.
-
-Thu Nov 4 14:32:58 1999 Mumit Khan <khan@xraylith.wisc.edu>
-
- * Makefile.in: Add support for profile directory.
- * configure.in: Likewise.
- * configure: Regenerate.
-
- * profile: Imported profiling sources from winsup-19991026 snapshot.
- * profile/Makefile.in: New file.
- * profile/configure.in: New file.
- * profile/configure: Generate.
- * profile/gcrt0.c (u_char, u_short, u_int, u_long): typedef for Mingw.
- * profile/gmon.h (u_char, u_short, u_int, u_long): Likewise.
- * profile/gmon.c (unistd.h): Include conditionally.
- (sys/param.h): Likewise.
- * profile/mcount.c (sys/param.h): Likewise.
- * profile/profil.c (profile_on): thread id is DWORD, not int.
-
-
-Wed Nov 3 16:26:44 1999 Mumit Khan <khan@xraylith.wisc.edu>
-
- * include/stdlib.h: Add wide character version of argv/environ.
- Formatting changes.
- * include/wchar.h: More wide character prototypes.
- * include/sys/stat.h: Likewise. Add struct stat as well as _stat.
-
- * dllcrt1.c (init.c): Don't include.
- (DllMainCRTStartup): Don't call _mingw32_init_mainargs().
- * Makefile.in: Remove init.c from dllcrt{1,2}.c dependency lists.
-
-Sat Oct 30 03:06:26 1999 Mumit Khan <khan@xraylith.wisc.edu>
-
- * moldname.def: Remove file.
- * moldname.def.in: And add this.
- * moldname-msvcrt.def: Generate from moldname.def.in.
- * moldname-crtdll.def: Likewise.
-
- * mthr.c: New file for -mthread (thread-safe C++ EH) support.
- * mthr_init.c: New file for -mthread (thread-safe C++ EH) support.
- * mthr_stub.c: New file for -mthread (thread-safe C++ EH) support.
-
- * Makefile.in: Update.
- * configure.in: Likewise. Also add *cygwin* target for building
- under Cygwin winsup.
- * configure: Regenerate.
-
-Fri Oct 1 11:10:30 1999 Mumit Khan <khan@xraylith.wisc.edu>
-
- * include/_mingw.h: Add version macros.
- * include/direct.h (_diskfree_t, getdiskfree, getdrives): Add.
- Also add wide character versions shared with wchar.h.
- * include/dos.h (_diskfree_t, getdiskfree, getdrives): Add.
- * include/io.h (sopen, _sopen): Fix prototype.
- Add wide character prototypes.
- * include/wchar.h: Likewise.
- * include/stdlib.h (beep, seterrormode, sleep): Remove non-
- underscored versions. Potential incompatibility.
- * include/time.h (daylight, timezone, tzname): Fix MSVCRT cases.
- Add wide character prototypes.
- * include/sys/timeb.h (struct _timeb): Don't use macro, but real
- definition.
-
-Wed Aug 18 18:38:39 1999 Mumit Khan <khan@xraylith.wisc.edu>
-
- * configure.in (RUNTIME, CRT_ID): Add to differentiate between
- crtdll and msvcrt runtimes. Remove DLL_ENTRY and DEF_DLL_ENTRY
- macros.
- * configure: Rengerate.
- * Makefile.in (RUNTIME, CRT_ID): Use to generate the correct
- dll name and crt's. CRTDLL and MSVCRT are meant to created
- separately, so remove all the *-msvcrt* targets.
- (libmingwthr.a): New target. Dummy thread support archive.
- (LIBS): Add libmingwthr.a.
- (CRT0S): Use CRT_ID. Add crtmt.o.
- (MINGW_OBJS): Add crtst.o.
- * main.c (WinMain): Fix prototype.
- * crtmt.c: New file.
- * crtst.c: New file.
-
- * include/process.h (_beginthreadex): Fix prototype.
- * include/_mingw.h (__int64): Define for __GNUC__.
- * include/tchar.h (_ttol): Add macro.
- * include/stdlib.h (_wtoi, _wtol, _i64toa, _ui64toa, _atoi64,
- _i64tow, _ui64tow, _wtoi64): Add prototypes.
-
- Reported by Emanuele Aliberti <ea@iol.it>:
- * include/tchar.h (_ttoi): Add macro.
-
- Reported by Ulf Moeller <3umoelle@informatik.uni-hamburg.de>:
- * include/stdio.h (_snprintf): Add prototype.
- (_vsnprintf): Likewise.
-
-Sat Aug 7 18:00:00 1999 Mumit Khan <khan@xraylith.wisc.edu>
-
- Reported by Tor Lillqvist <tml@iki.fi>:
- * include/stdlib.h (__p___argv): Fix return type.
-
-Fri Jul 30 22:07:06 1999 Mumit Khan <khan@xraylith.wisc.edu>
-
- Add UWIN support.
- * include/errno.h (errno): It's linked in from startup, not imported.
- * include/stdlib.h (errno): Likewise.
- * include/io.h: Guard against conflicting macros and prototypes in
- system headers.
- * include/stdlib.h: Likewise.
- * include/string.h: Likewise.
- * include/time.h: Likewise.
-
-Fri Jul 30 13:47:34 1999 Mumit Khan <khan@xraylith.wisc.edu>
-
- * include/io.h (X_OK): Fix definition. Thanks to Jan Nijtmans.
- * include/dos.h: Fix typo __MINGW_EXPORT->__MINGW_IMPORT.
- * Makefile.in (INCLUDES): Remove old windows32 include directory.
-
- * crt1.c (_gnu_exception_handler): Fix prototype.
- (__mingw_CRTStartup): New function based on mainCRTStartup.
- (mainCRTStartup): Set the app type for MSVCRT and call
- __mingw_CRTStartup.
- (WinMainCRTStartup): Likewise.
- * init.c (_startupinfo): Define.
- (_getmainargs): Add 5th parameter.
- (_mingw32_init_mainargs): Use.
-
- * ALL *.c files: Reformat according to GNU coding style.
-
-Fri Jul 16 00:46:04 1999 Mumit Khan <khan@xraylith.wisc.edu>
-
- * Makefile.in (INCLUDES): Add w32api include directory.
-
- * include/_mingw.h: New file.
- * include/{assert.h,conio.h,ctype.h,direct.h,dirent.h,dos.h,
- errno.h,excpt.h,fcntl.h,float.h,io.h,limits.h,locale.h,malloc.h,
- math.h,process.h,setjmp.h,share.h,signal.h,stdarg.h,stdio.h,
- stdlib.h,string.h,tchar.h,time.h,varargs.h,sys/locking.h,
- sys/stat.h,sys/timeb.h,sys/types.h,sys/utime.h}: Include and
- use the macros __DECLSPEC_SUPPORTED and __MINGW_IMPORT.
-
- * include/stdlib.h (atexit): Fix prototype.
-
-Mon Jun 14 18:38:49 1999 Mumit Khan <khan@xraylith.wisc.edu>
-
- * include/stdio.h (_tempnam): Fix prototype.
- (tempnam): Likewise.
- * include/stdlib.h: Replace with GCC's version, and guard
- with RC_INVOKED.
-
- From Anders Norlander <anorland@hem2.passagen.se>:
- * include/stdlib.h (__argc): Declare.
- (__argv): Likewise.
-
-Mon Apr 5 13:49:17 1999 Mumit Khan <khan@xraylith.wisc.edu>
-
- * crt1.c (_gnu_exception_handler): Acknowledge Jacob Navia's
- contribution.
- * Makefile.in (_libm_dummy.o): New target.
- (libm.a): Use.
-
-Tue Mar 16 18:15:26 1999 Mumit Khan <khan@xraylith.wisc.edu>
-
- * Released 1999-03-16 along with egcs-1.1.2.
-
-Wed Feb 17 17:15:56 1999 Mumit Khan <khan@xraylith.wisc.edu>
-
- * Makefile.in (LIBS): Add libm.a.
- (libm.a): Dummy libm.a.
-
- * Makefile.in: Update from winsup 1999-02-08 snapshot.
- Preserve local changes.
- (mkinstalldirs): In ../, not ../../.
- (INCLUDES): Point to local windows32api headers and use -nostdinc.
- (LIBGCC): Delete.
- (LIBS): Add libmoldname-msvc.a.
- (libmoldname-msvc.a): Add target.
- (distclean): Add target.
-
-Tue Feb 9 00:26:05 1999 Mumit Khan <khan@xraylith.wisc.edu>
-
- * include/dir.h: Reintroduce as an obsolescent header.
- * crt1.c (signal.h): Include.
- (_gnu_exception_handler): New function to properly handle win32
- asynchronous signals.
- (mainCRTStartup): Use.
-
-Sun Jan 3 23:52:25 1999 Mumit Khan <khan@xraylith.wisc.edu>
-
- * include/direct.h: Include io.h instead of dir.h
- * include/dirent.h: Likewise.
- * include/dos.h: Likewise.
- * include/stdio.h: Replace reference to dir.h with io.h.
-
-Thu Dec 31 16:04:55 1998 Mumit Khan <khan@xraylith.wisc.edu>
-
- * 1999-01-01 release bundled with egcs-1.1.1.
-
- * include/io.h: Incorporate dir.h.
- * include/dir.h: Remove.
- * include/signal.h: Move RC_INVOKED up a bit.
-
-Tue Dec 29 15:04:38 1998 Mumit Khan <khan@xraylith.wisc.edu>
-
- * include/signal.h (sig_atomic_t): Define.
- (NSIG): Define.
- * include/malloc.h: Import defs from deprecated alloc.h.
- * include/alloc.h: Remove.
-
- From "Daniel J. Rodriksson" <djr@dit.upm.es>:
- * include/sys/types.h (_dev_t): Should be unsigned int for MSVCRT.
- * include/sys/stat.h (struct stat): st_uid is of type short. Use
- _off_t instead of long for st_size.
-
-Thu Sep 10 22:28:49 1998 Mumit Khan <khan@xraylith.wisc.edu>
-
- * include/errno.h (sys_errlist, sys_nerr): Move from here ...
- * include/stdlib.h: Here.
-
- * include/netdb.h: Remove.
- * include/arpa/inet.h: Remove.
- * include/netinet/in.h: Remove.
- * include/sys/socket.h: Remove.
-
-Fri Sep 4 15:09:11 1998 Mumit Khan <khan@xraylith.wisc.edu>
-
- * Release egcs-1.1.
-
- * include/{ctype.h,dos.h,io.h,string.h,time.h,sys/types.h,
- sys/utime.h}: Protect stddef.h in RC_INVOKED macro.
-
-Thu Sep 3 10:43:29 1998 Mumit Khan <khan@xraylith.wisc.edu>
-
- * setjmp.h (_JBTYPE, _JBLEN): Define correctly.
- (jmpbuf): typedef using above.
- (setjmp, longjmp): Prototype using jmpbuf.
-
- Merge with Colin Peters' 980701 snapshot. I've ignored changes to
- obsolescent imported names, ie., from __imp__ to _imp___.
-
- Also ignored empty include/sys/param.h and incorrect
- include/sys/times.h.
-
- * CRTinit.c: New file.
- * include/{errno.h,fcntl.h,math.h,process.h} (__MSVCRT__): Use #ifdef
- instead of #if.
- * include/io.h (umask): Fix prototype.
- * include/stdlib.h (OS constants): Replace with Colin's.
- * include/time.h (tzset, daylight, timezone): Replace with Colin's.
- * include/sys/state.h: Merge.
-
-Thu Sep 3 09:49:07 1998 Mumit Khan <khan@xraylith.wisc.edu>
-
- * include/assert.h (assert): Lose the trailing semicolon.
-
-Thu Jul 30 21:18:49 1998 Mumit Khan <khan@xraylith.wisc.edu>
-
- * include/math.h (matherr): Declare.
- * include/stdio.h (fileno, _fileno): Declare.
- * include/stdlib.h (environ, _environ): Fix to use runtime DLL.
-
- From Earnie Boyd:
- * include/stdio.h (fdopen, _fdopen): Add const.
- (getw, putw): Declare.
- * include/stdlib.h (MAX_{DRIVE,DIR,FNAME,EXT}): Fix.
-
-Sat Jun 13 18:19:41 1998 Mumit Khan <khan@xraylith.wisc.edu>
-
- * include/time.h (_timezone): Undefine.
- * include/sys/timeb.h (struct timeb): Rename _timezone to timezone.
-
- * include/time.h (_daylight, _timezone, _tzname, _tzset): Remove
- __cdecl for MSVCRT.
- * include/stdlib.h (environ): Use DLL version.
- * init.c (environ): Undefine it before use.
-
-Sun Mar 22 19:59:30 1998 Mumit Khan <khan@xraylith.wisc.edu>
-
- * Update to 980309 snapshot from Colin Peters.
-
- * include/utime.h: remove
- * include/stdlib.h (__imp__osver_dll, __imp__winver_dll,
- __imp__winmajor_dll, __imp__winminor_dll): Apply Jan-Jaap's
- patches to define these.
- * include/time.h (CLK_TCK): Renamed from CLK_TICK.
- (_daylight, _timezone, _tzname, _tzset): Define.
-
- * include/netdb.h: Add from Colin's windows32api changes.
- * include/sys/socket.h: Likewise.
- * include/arpa/inet.h: Likewise.
- * include/netinet/in.h: Likewise.
-
-Wed Feb 4 14:16:44 1998 Mumit Khan <khan@xraylith.wisc.edu>
-
- * Update to 980128 snapshot from Colin Peters.
-
-Sat Dec 6 21:30:35 1997 Mumit Khan <khan@xraylith.wisc.edu>
-
- * configure.in (AC_INIT): Use dllmain.c instead of defunct
- oldnames.c
- * configure: Regenerate.
-
-Fri Dec 5 15:57:36 1997 Mumit Khan <khan@xraylith.wisc.edu>
-
- * Update to 971205 snapshot from Colin Peters. Lots of changes.
- Files renamed and include hierarchy loses directories named
- nonansi.
-
- * include/dos.h: from Jan-Jaap.
-
-Thu Dec 4 21:48:13 1997 Mumit Khan <khan@xraylith.wisc.edu>
-
- Changes to conform to FSF tree.
-
- * crt1.c: Renamed from mcrt0.c.
- * dllcrt1.c: Renamed from dllcrt0.c.
- * Makefile.in: Update above. Also renamed libmoldnames.a to
- libmoldname.a.
-
-Mon Dec 1 16:51:30 1997 Mumit Khan <khan@xraylith.wisc.edu>
-
- * crtdll.def: Export all functions but the ones with funny names.
- * moldnames.def: Add fdopen since fileno is already there.
- * include/nonansi/dos.h: New file from Jan-Jaap.
- * include/errno.h: Add extern decl + various additions from JJ.
- * include/stdio.h: Likewise.
- * include/stdlib.h: Likewise.
- * include/nonansi/io.h: Likewise.
- * include/nonansi/process.h: Likewise.
- * include/sys/types.h: Likewise.
-
-Tue Nov 4 14:51:01 1997 Mumit Khan <khan@xraylith.wisc.edu>
-
- * include/time.h (CLK_TCK): Renamed from CLK_TICK.
- (CLK_TICK): Delete.
- * include/stdlib.h (free): Fix prototype to return void, not void*.
- * include/nonansi/process.h: Add P_* and WAIT_* defs.
-
- * dllcrt0.c: Delete now-unneeded '.section .idata$3' asm hack.
- * mcrt0.c: Likewise.
-
- * Makefile.in (LIBS): Delete moldnames.dll from target libs.
- (libmoldnames.a): Add explicit rule to create it.
-
-Fri Aug 15 18:23:43 1997 Rob Savoye <rob@cygnus.com>
-
- New directory for the minimalist cygwin environment.
-
- * crtglob.c: New file. Turn on file globbing support.
- * crt_noglob.c: New file. Turn off file globbing support.
- * ctype_old.c: New file. Wrappers for functions that don't
- have an underscore.
- * dirent.c: New file. Directory routines readdir, opendir, closedir.
- * dllcrt0.c: New file. Initialization code to use crtdll.dll.
- * dllmain.c: New file. A stub DllMain function.
- * hugeval.c: New file. A gross hack to define HUGE_VAL.
- * init.c: New file. Common code to initialize standard file
- handles and command line arguments.
- * main.c: New file. A main for programs that only call WinMain.
- * mcrt0.c: New file. Default crt0 for mingw32.
- * oldnames.c: New File. Wrappers for functions that don't
- have an underscore.
- * string_old.c: New File.
- * include/{assert.h,ctype.h,errno.h,float.h,limits.h,locale.h
- math.h,nonansi,setjmp.h,signal.h,stdarg.h,stddef.h,stdio.h,stdlib.h
- string.h,tchar.h,time.h,wchar.h}: New header files for mingw.
- * include/sys/types.h: New header file for mingw.
- * include/nonansi/{alloc.h,conio.h,dir.h,direct.h,dirent.h
- fcntl.h,io.h,malloc.h,mem.h,memory.h,process.h,share.h,unistd.h
- utime.h,values.h,varargs.h}: New header files for mingw.
- * include/nonansi/sys/{fcntl.h,locking.h,stat.h,time.h
- timeb.h,unistd.h}: New header files for mingw.
- * Makefile.in,configure.in: Build and configure support.
- * configure: Generated from autoconf 2.12 with Cygnus patches.
diff --git a/winsup/mingw/DISCLAIMER b/winsup/mingw/DISCLAIMER
deleted file mode 100644
index be3469cbb..000000000
--- a/winsup/mingw/DISCLAIMER
+++ /dev/null
@@ -1,12 +0,0 @@
-/*
- * DISCLAIMER
- * This file has no copyright assigned and is placed in the Public Domain.
- * This file is a part of the mingw-runtime package.
- *
- * The mingw-runtime package and its code is distributed in the hope that it
- * will be useful but WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESSED OR
- * IMPLIED ARE HEREBY DISCLAIMED. This includes but is not limited to
- * warranties of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * You are free to use this package and its code without limitation.
- */
diff --git a/winsup/mingw/Makefile.in b/winsup/mingw/Makefile.in
deleted file mode 100644
index 85a767a4a..000000000
--- a/winsup/mingw/Makefile.in
+++ /dev/null
@@ -1,477 +0,0 @@
-# Makefile.in for the winsup/mingw directory.
-# Copyright (c) 1995, 1996, 1997, 1998 Cygnus Solutions
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-# This makefile requires GNU make.
-
-PACKAGE = mingw-runtime
-VERSION = 3.9
-CYGRELEASE = 1
-
-VPATH = @srcdir@
-srcdir = @srcdir@
-objdir = .
-
-host_alias = @host_alias@
-build_alias = @build_alias@
-target_alias = @target_alias@
-prefix = @prefix@
-conf_prefix = @prefix@
-
-program_transform_name = @program_transform_name@
-exec_prefix = @exec_prefix@
-bindir = @bindir@
-libdir = @libdir@
-ifeq ($(target_alias),$(host_alias))
-ifeq ($(build_alias),$(host_alias))
-tooldir:=$(exec_prefix)
-else
-tooldir:=$(exec_prefix)/$(target_alias)
-endif
-else
-tooldir:=$(exec_prefix)/$(target_alias)
-endif
-datadir = @datadir@
-infodir = @infodir@
-includedir = @includedir@
-ifneq (,$(findstring cygwin,$(target_alias)))
-inst_bindir:=$(tooldir)/bin
-inst_includedir:=$(tooldir)/include/mingw
-inst_libdir:=$(tooldir)/lib/mingw
-inst_docdir:=$(tooldir)/share/doc/mingw-runtime
-else
-inst_bindir:=$(bindir)
-inst_includedir:=$(includedir)
-inst_libdir:=$(libdir)
-inst_docdir:=$(prefix)/doc/mingw-runtime
-endif
-
-# The Mingw headers are installed under a subdirectory of
-# $(tooldir)/include when configuring in Cygwin.
-HEADER_SUBDIR = @HEADER_SUBDIR@
-
-SHELL = /bin/sh
-
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-mkinstalldirs = $(SHELL) @MKINSTALLDIRS@
-
-CC := @CC@
-override CC := ${filter-out -L% -B%,${shell echo $(CC) | sed -e 's%\(-isystem\|-iwithprefixbefore\) *[^ ]*\( \|$$\)% %g'}}
-# FIXME: Which is it, CC or CC_FOR_TARGET?
-CC_FOR_TARGET = $(CC)
-AS_FOR_TARGET = $(AS)
-CFLAGS = @CFLAGS@
-CXXFLAGS = @CXXFLAGS@
-
-# compiling with Cygwin?
-MNO_CYGWIN = @MNO_CYGWIN@
-ifdef MNO_CYGWIN
- subdirforlib=/mingw
-else
- libdir=
-endif
-
-# Either crtdll (CRT_ID 1) or msvcrt (CRT_ID 2).
-RUNTIME = @RUNTIME@
-CRT_ID = @CRT_ID@
-
-# Needed for threading dll.
-THREAD_DLL = @THREAD_DLL@
-THREAD_DLL_VERSION = 10
-THREAD_DLL_NAME = $(THREAD_DLL)$(THREAD_DLL_VERSION).dll
-
-# Various libraries.
-LIBM_A=@LIBM_A@
-
-W32API_INCLUDE = @W32API_INCLUDE@
-INCLUDES+= -I$(srcdir)/include \
- -I$(srcdir)/../include \
- -nostdinc \
- -iwithprefixbefore include
-ALL_CFLAGS = $(CFLAGS) $(W32API_INCLUDE) $(INCLUDES) $(MNO_CYGWIN)
-ALL_CXXFLAGS = $(CXXFLAGS) $(W32API_INCLUDE) $(INCLUDES) -nostdinc++ $(MNO_CYGWIN)
-
-AS = @AS@
-AR = @AR@
-LD = @LD@
-AR_FLAGS = rcv
-RANLIB = @RANLIB@
-DLLTOOL = @DLLTOOL@
-DLLTOOLFLAGS =
-DLLTOOL_FOR_TARGET = $(DLLTOOL)
-DLLTOOL_FLAGS = --as $(AS_FOR_TARGET)
-DLLWRAP = @DLLWRAP@
-DLLWRAP_FOR_TARGET = $(DLLWRAP)
-DLLWRAP_FLAGS = --dlltool $(DLLTOOL) --as $(AS) --driver-name $(CC)
-
-TAR = tar
-TARFLAGS = z
-TARFILEEXT = .tar.gz
-
-SUBDIRS := @SUBDIRS@
-
-FLAGS_TO_PASS:=\
- AS="$(AS)" \
- CC="$(CC)" \
- CFLAGS="$(CFLAGS) $(CFLAGS_COMMON) $(CFLAGS_CONFIG)" \
- CXXFLAGS="$(CXXFLAGS) $(CFLAGS_COMMON) $(CFLAGS_CONFIG)" \
- EXE_LDFLAGS="$(EXE_LDFLAGS)" \
- AR="$(AR)" \
- RANLIB="$(RANLIB)" \
- LD="$(LD)" \
- DLLTOOL="$(DLLTOOL)" \
- exec_prefix="$(exec_prefix)" \
- bindir="$(bindir)" \
- libdir="$(libdir)" \
- tooldir="$(tooldir)" \
- datadir="$(datadir)" \
- infodir="$(infodir)" \
- includedir="$(includedir)" \
- inst_bindir="$(inst_bindir)" \
- inst_includedir="$(inst_includedir)" \
- inst_libdir="$(inst_libdir)" \
- inst_docdir="$(inst_docdir)" \
- prefix="$(prefix)" \
- target_alias="$(target_alias)" \
- TAR="$(TAR)" \
- TARFLAGS="$(TARFLAGS)" \
- TARFILEEXT="$(TARFILEEXT)"
-
-CRT0S = crt1.o dllcrt1.o crt2.o dllcrt2.o CRT_noglob.o crtmt.o crtst.o \
- CRT_fp8.o CRT_fp10.o txtmode.o binmode.o
-MINGW_OBJS = CRTglob.o CRTfmode.o CRTinit.o dllmain.o gccmain.o \
- main.o crtst.o mthr_stub.o CRT_fp10.o txtmode.o \
- pseudo-reloc.o pseudo-reloc-list.o
-
-MOLD_OBJS = isascii.o iscsym.o iscsymf.o toascii.o \
- strcasecmp.o strncasecmp.o wcscmpi.o
-
-LIBS = libcrtdll.a \
- libmsvcrt.a libmsvcrtd.a \
- libmsvcr70.a libmsvcr70d.a \
- libmsvcr71.a libmsvcr71d.a \
- libmingw32.a \
- libcoldname.a \
- libmoldname.a libmoldnamed.a \
- $(LIBM_A) \
- libmingwthrd.a
-
-DLLS = $(THREAD_DLL_NAME)
-
-INSTDOCS = CONTRIBUTORS \
- DISCLAIMER \
- README
-
-SRCDIST_FILES = CRT_noglob.c CRTfmode.c CRTglob.c CRTinit.c ChangeLog \
-Makefile.in README TODO config.guess config.sub configure configure.in \
-crt1.c crtdll.def crtmt.c crtst.c dllcrt1.c dllmain.c \
-gccmain.c init.c install-sh jamfile main.c mkinstalldirs \
-moldname.def.in msvcrt.def.in \
-mthr.c mthr_init.c mthr_stub.c readme.txt \
-isascii.c iscsym.c iscsymf.c toascii.c \
-strcasecmp.c strncasecmp.c wcscmpi.c \
-CRT_fp8.c CRT_fp10.c test_headers.c txtmode.c binmode.c pseudo-reloc.c \
-pseudo-reloc-list.c \
-DISCLAIMER CONTRIBUTORS
-
-
-all_dlls_host = @all_dlls_host@
-install_dlls_host = @install_dlls_host@
-
-all: $(CRT0S) $(LIBS) $(all_dlls_host)
- @$(MAKE) subdirs DO=$@ $(FLAGS_TO_PASS)
-
-all_dlls_host: $(DLLS)
-
-install_dlls_host:
- for i in $(DLLS); do \
- $(INSTALL_PROGRAM) $$i $(inst_bindir)/$$i ; \
- done
-
-_libm_dummy.o:
- rm -f _libm_dummy.c
- echo "static int __mingw_libm_dummy;" > _libm_dummy.c
- $(CC) -c $(ALL_CFLAGS) _libm_dummy.c
- rm -f _libm_dummy.c
-
-libm.a: _libm_dummy.o
- $(AR) rc $@ _libm_dummy.o
- $(RANLIB) $@
-
-libmingwthrd.a: crtmt.o mingwthrd.def
- $(DLLTOOL) $(DLLTOOL_FLAGS) --dllname $(THREAD_DLL_NAME) \
- --def mingwthrd.def --output-lib $@
- $(AR) $(ARFLAGS) $@ crtmt.o
- $(RANLIB) $@
-
-# Using dllwrap would be so much easier, but Cygnus top-level configure
-# Makefile.in etc don't pass the right variables yet.
-xx_$(THREAD_DLL_NAME) xx_mingwthrd.def: mthr.o mthr_init.o
- $(DLLWRAP) $(DLLWRAP_FLAGS) -o $(THREAD_DLL_NAME) \
- --output-def mingwthrd.def \
- mthr.o mthr_init.o
-
-DLL_OFILES = mthr.o mthr_init.o
-DLL_CC_STUFF = -B./ -mdll $(MNO_CYGWIN) -Wl,--image-base,0x6FBC0000 \
- -Wl,--entry,_DllMainCRTStartup@12 \
- $(DLL_OFILES) \
- -Lmingwex
-DLL_DLLTOOL_STUFF = --as=$(AS) --dllname $(THREAD_DLL_NAME) \
- --def mingwthrd.def \
- --base-file mingwthrd.base --output-exp mingwthrd.exp
-
-$(THREAD_DLL_NAME) mingwthrd.def: $(DLL_OFILES) Makefile $(SUBDIRS)
- $(DLLTOOL) --as $(AS) --output-def mingwthrd.def $(DLL_OFILES)
- $(CC) -Wl,--base-file=mingwthrd.base $(DLL_CC_STUFF) \
- -o mingwthrd_dummy.exe
- $(DLLTOOL) $(DLL_DLLTOOL_STUFF)
- $(CC) -Wl,--base-file=mingwthrd.base mingwthrd.exp $(DLL_CC_STUFF) \
- -o mingwthrd_dummy.exe
- $(DLLTOOL) $(DLL_DLLTOOL_STUFF)
- $(CC) mingwthrd.exp -o $(THREAD_DLL_NAME) $(DLL_CC_STUFF)
- rm -f mingwthrd_dummy.exe
-
-libmingw32.a: $(MINGW_OBJS)
- $(AR) rc $@ $(MINGW_OBJS)
- $(RANLIB) $@
-
-msvcrt.def msvcrtd.def \
-msvcr70.def msvcr70d.def \
-msvcr71.def msvcr71d.def \
-: msvcrt.def.in
- $(CC) -DRUNTIME=$(basename $(notdir $@)) \
- -D__$(basename $(notdir $@))__=1 \
- -D__MSVCRT__ -C -E -P \
- -xc-header $? > $@
-
-moldname-crtdll.def: moldname.def.in
- $(CC) -DRUNTIME=crtdll \
- -D__FILENAME__=moldname-crtdll.def \
- -D__CRTDLL__ -C -E -P \
- -xc-header $? > $@
-
-moldname-msvcrt.def: moldname.def.in
- $(CC) -DRUNTIME=msvcrt \
- -D__FILENAME__=moldname-msvcrt.def \
- -D__MSVCRT__ -C -E -P \
- -xc-header $? > $@
-
-libcoldname.a: moldname-crtdll.def $(MOLD_OBJS)
- $(DLLTOOL) --as $(AS) -k -U \
- --dllname crtdll.dll \
- --def moldname-crtdll.def \
- --output-lib $@
- $(AR) rc $@ $(MOLD_OBJS)
- $(RANLIB) $@
-
-libmoldname.a: moldname-msvcrt.def $(MOLD_OBJS)
- $(DLLTOOL) --as $(AS) -k -U \
- --dllname msvcrt.dll \
- --def moldname-msvcrt.def \
- --output-lib $@
- $(AR) rc $@ $(MOLD_OBJS)
- $(RANLIB) $@
-
-libmoldnamed.a: moldname-msvcrt.def $(MOLD_OBJS)
- $(DLLTOOL) --as $(AS) -k -U \
- --dllname msvcrtd.dll \
- --def moldname-msvcrt.def \
- --output-lib $@
- $(AR) rc $@ $(MOLD_OBJS)
- $(RANLIB) $@
-
-# The special rules are necessary.
-crt1.o dllcrt1.o:
- $(CC) -c -D__CRTDLL__ -U__MSVCRT__ $(ALL_CFLAGS) $< -o $@
-
-crt2.o dllcrt2.o:
- $(CC) -c -D__MSVCRT__ -U__CRTDLL__ $(ALL_CFLAGS) $< -o $@
-
-TEST_H_OPTIONS = $(ALL_CFLAGS) -Wall -W -Wsystem-headers -c \
- $(srcdir)/test_headers.c -o test_headers.o
-
-.PHONY: test_headers
-test_headers:
- @echo "Testing runtime headers..."
- @for lang in c c++ objective-c ; do \
- echo "$$lang ..."; \
- $(CC) -x$$lang $(TEST_H_OPTIONS) ; \
- echo "$$lang -ansi"; \
- $(CC) -x$$lang -ansi $(TEST_H_OPTIONS) ; \
- done
-# specify -std=xx only for C
- @for std in gnu89 gnu99 c89 c99 ; do \
- echo "std = $$std"; \
- $(CC) -std=$$std $(TEST_H_OPTIONS) ; \
- done
-
- @rm -f test_headers.o
-
-clean:
- -rm -f *.o *.a *~ core a.out mingwthrd.def mingwthrd.base mingwthrd.exp
- -rm -f $(THREAD_DLL_NAME) mingwthrd_dummy.exe
- -rm -f moldname-*.def
- @$(MAKE) subdirs DO=$@ $(FLAGS_TO_PASS)
-
-distclean: clean
- @$(MAKE) subdirs DO=$@ $(FLAGS_TO_PASS)
- -rm -f config.cache config.status config.log
- -rm -f Makefile
-
-ifdef SNAPDATE
- distdir=$(PACKAGE)-$(VERSION)-$(SNAPDATE)
-else
- ifneq (,$(findstring cygwin, $(target_alias)))
- distdir=$(PACKAGE)-$(VERSION)-$(CYGRELEASE)
- else
- distdir=$(PACKAGE)-$(VERSION)
- endif
-endif
-
-ifneq (,$(findstring cygwin, $(target_alias)))
- TARFLAGS = j
- TARFILEEXT = .tar.bz2
-endif
-
-ifneq (,$(findstring mingw, $(target_alias)))
- dist_prefix =
-else
- dist_prefix = $(conf_prefix)
-endif
-
-dist: srcdist bindist
-
-srcdist:
- rm -rf $(distdir)
- mkdir $(distdir)
- chmod 755 $(distdir)
- for i in $(SRCDIST_FILES); do \
- cp -p $(srcdir)/$$i $(distdir)/$$i ; \
- done
- for i in $(SUBDIRS); do \
- (cd $$i; $(MAKE) distdir=../$(distdir) dist); \
- done
-#FIXME this needs to be done with SUBDIRS and Makefiles.
- mkdir $(distdir)/include
- mkdir $(distdir)/include/sys
- cp $(srcdir)/include/*.h $(distdir)/include/
- cp $(srcdir)/include/sys/*.h $(distdir)/include/sys/
-#end FIXME
- rm -f $(distdir)-src.tar.gz
- $(TAR) $(TARFLAGS)cf $(distdir)-src$(TARFILEEXT) $(distdir)
-
-
-bindist:
- rm -rf $(distdir)
- mkdir $(distdir)
- chmod 755 $(distdir)
- $(MAKE) install prefix=$(shell pwd)/$(distdir)$(dist_prefix)
- rm -f $(distdir).tar.gz
- cd $(distdir); \
- $(TAR) $(TARFLAGS)cf ../$(distdir)$(TARFILEEXT) *
-
-snapshot:
- make dist SNAPDATE=$(shell date '+%Y%m%d')
-
-info:
-
-info-html:
-
-install-info: info
-
-install-dirs:
- $(mkinstalldirs) $(inst_bindir)
- $(mkinstalldirs) $(inst_includedir)
- $(mkinstalldirs) $(inst_libdir)
- $(mkinstalldirs) $(inst_docdir)
-
-install: all install-dirs $(install_dlls_host)
- for i in $(LIBS); do \
- $(INSTALL_DATA) $$i $(inst_libdir)/$$i ; \
- done
- for i in $(CRT0S); do \
- $(INSTALL_DATA) $$i $(inst_libdir)/$$i ; \
- done
- for i in $(INSTDOCS); do \
- $(INSTALL_DATA) $(srcdir)/$$i $(inst_docdir)/$$i ; \
- done
- for sub in . sys ; do \
- dstdir=$(inst_includedir)/$$sub ; \
- $(mkinstalldirs) $$dstdir ; \
- for i in $(srcdir)/include/$$sub/*.h ; do \
- $(INSTALL_DATA) $$i $$dstdir/`basename $$i` ; \
- done ; \
- done
- @$(MAKE) subdirs DO=$@ $(FLAGS_TO_PASS)
-
-subdirs: $(SUBDIRS)
- @true
-
-# The . is here because SUBDIRS may be empty
-
-. $(SUBDIRS): force
- @if [ -d ./$@ ]; then \
- echo "Making $(DO) in $@..." ; \
- if (rootme=`pwd`/ ; export rootme ; \
- rootsrc=`cd $(srcdir); pwd`/ ; export rootsrc ; \
- cd ./$@; \
- $(MAKE) $(FLAGS_TO_PASS) $(DO)) ; then true ; \
- else exit 1 ; fi ; \
- else true ; fi ; \
-
-force:
-
-#
-# Dependancies
-#
-libcrtdll.a: crtdll.def
-libmsvcrt.a: msvcrt.def
-libmsvcrtd.a: msvcrtd.def
-CRT_noglob.o: CRT_noglob.c
-CRTfmode.o: CRTfmode.c
-CRTglob.o: CRTglob.c
-CRTinit.o: CRTinit.c
-crt1.o: crt1.c init.c
-crt2.o: crt1.c init.c
-crtmt.o: crtmt.c
-crtst.o: crtst.c
-ctype_old.o: ctype_old.c
-dllcrt1.o: dllcrt1.c
-dllcrt2.o: dllcrt1.c
-dllmain.o: dllmain.c
-main.o: main.c
-oldnames.o: oldnames.c
-string_old.o: string_old.c
-CRT_fp8.o: CRT_fp8.c
-CRT_fp10.o: CRT_fp10.c
-
-
-Makefile: Makefile.in config.status configure
- $(SHELL) config.status
-
-config.status: configure
- $(SHELL) config.status --recheck
-
-.SUFFIXES: .y $(SUFFIXES) .cc .def .a
-
-lib%.a:%.def
- $(DLLTOOL) --as=$(AS) -k --dllname $*.dll --output-lib lib$*.a --def $<
-
-.c.o:
- $(CC) -c $(ALL_CFLAGS) $< -o $@
-
diff --git a/winsup/mingw/README b/winsup/mingw/README
deleted file mode 100644
index bcde14423..000000000
--- a/winsup/mingw/README
+++ /dev/null
@@ -1,10 +0,0 @@
- Free Microsoft C Runtime and import library definitions
-
- Maintained by MinGW Developers
- Send bug reports and questions to MinGW-users@lists.sourceforge.net
- URL: http://www.mingw.org
-
-A historical readme.txt exists and is distributed for your edification. The
-references within may or may not be correct. Please do not rely on them. See
-http://www.mingw.org for a list of valid references.
-
diff --git a/winsup/mingw/TODO b/winsup/mingw/TODO
deleted file mode 100644
index 60f6bc2af..000000000
--- a/winsup/mingw/TODO
+++ /dev/null
@@ -1 +0,0 @@
-Finish the README.
diff --git a/winsup/mingw/binmode.c b/winsup/mingw/binmode.c
deleted file mode 100644
index 1cc3dedbf..000000000
--- a/winsup/mingw/binmode.c
+++ /dev/null
@@ -1,5 +0,0 @@
-#include <fcntl.h>
-
-/* Set default file mode to binary */
-
-int _fmode = _O_BINARY;
diff --git a/winsup/mingw/config.guess b/winsup/mingw/config.guess
deleted file mode 100755
index 0e30d56e9..000000000
--- a/winsup/mingw/config.guess
+++ /dev/null
@@ -1,1407 +0,0 @@
-#! /bin/sh
-# Attempt to guess a canonical system name.
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-# 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
-
-timestamp='2003-07-02'
-
-# This file 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 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-#
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-# Originally written by Per Bothner <per@bothner.com>.
-# Please send patches to <config-patches@gnu.org>. Submit a context
-# diff and a properly formatted ChangeLog entry.
-#
-# This script attempts to guess a canonical system name similar to
-# config.sub. If it succeeds, it prints the system name on stdout, and
-# exits with 0. Otherwise, it exits with 1.
-#
-# The plan is that this can be called by configure scripts if you
-# don't specify an explicit build system type.
-
-me=`echo "$0" | sed -e 's,.*/,,'`
-
-usage="\
-Usage: $0 [OPTION]
-
-Output the configuration name of the system \`$me' is run on.
-
-Operation modes:
- -h, --help print this help, then exit
- -t, --time-stamp print date of last modification, then exit
- -v, --version print version number, then exit
-
-Report bugs and patches to <config-patches@gnu.org>."
-
-version="\
-GNU config.guess ($timestamp)
-
-Originally written by Per Bothner.
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
-Free Software Foundation, Inc.
-
-This is free software; see the source for copying conditions. There is NO
-warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
-
-help="
-Try \`$me --help' for more information."
-
-# Parse command line
-while test $# -gt 0 ; do
- case $1 in
- --time-stamp | --time* | -t )
- echo "$timestamp" ; exit 0 ;;
- --version | -v )
- echo "$version" ; exit 0 ;;
- --help | --h* | -h )
- echo "$usage"; exit 0 ;;
- -- ) # Stop option processing
- shift; break ;;
- - ) # Use stdin as input.
- break ;;
- -* )
- echo "$me: invalid option $1$help" >&2
- exit 1 ;;
- * )
- break ;;
- esac
-done
-
-if test $# != 0; then
- echo "$me: too many arguments$help" >&2
- exit 1
-fi
-
-trap 'exit 1' 1 2 15
-
-# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
-# compiler to aid in system detection is discouraged as it requires
-# temporary files to be created and, as you can see below, it is a
-# headache to deal with in a portable fashion.
-
-# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
-# use `HOST_CC' if defined, but it is deprecated.
-
-# Portable tmp directory creation inspired by the Autoconf team.
-
-set_cc_for_build='
-trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
-trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
-: ${TMPDIR=/tmp} ;
- { tmp=`(umask 077 && mktemp -d -q "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
- { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
- { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
- { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
-dummy=$tmp/dummy ;
-tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
-case $CC_FOR_BUILD,$HOST_CC,$CC in
- ,,) echo "int x;" > $dummy.c ;
- for c in cc gcc c89 c99 ; do
- if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
- CC_FOR_BUILD="$c"; break ;
- fi ;
- done ;
- if test x"$CC_FOR_BUILD" = x ; then
- CC_FOR_BUILD=no_compiler_found ;
- fi
- ;;
- ,,*) CC_FOR_BUILD=$CC ;;
- ,*,*) CC_FOR_BUILD=$HOST_CC ;;
-esac ;'
-
-# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
-# (ghazi@noc.rutgers.edu 1994-08-24)
-if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
- PATH=$PATH:/.attbin ; export PATH
-fi
-
-UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
-UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
-UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
-UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
-
-# Note: order is significant - the case branches are not exclusive.
-
-case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
- *:NetBSD:*:*)
- # NetBSD (nbsd) targets should (where applicable) match one or
- # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
- # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently
- # switched to ELF, *-*-netbsd* would select the old
- # object file format. This provides both forward
- # compatibility and a consistent mechanism for selecting the
- # object file format.
- #
- # Note: NetBSD doesn't particularly care about the vendor
- # portion of the name. We always set it to "unknown".
- sysctl="sysctl -n hw.machine_arch"
- UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
- /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
- case "${UNAME_MACHINE_ARCH}" in
- armeb) machine=armeb-unknown ;;
- arm*) machine=arm-unknown ;;
- sh3el) machine=shl-unknown ;;
- sh3eb) machine=sh-unknown ;;
- *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
- esac
- # The Operating System including object format, if it has switched
- # to ELF recently, or will in the future.
- case "${UNAME_MACHINE_ARCH}" in
- arm*|i386|m68k|ns32k|sh3*|sparc|vax)
- eval $set_cc_for_build
- if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
- | grep __ELF__ >/dev/null
- then
- # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
- # Return netbsd for either. FIX?
- os=netbsd
- else
- os=netbsdelf
- fi
- ;;
- *)
- os=netbsd
- ;;
- esac
- # The OS release
- # Debian GNU/NetBSD machines have a different userland, and
- # thus, need a distinct triplet. However, they do not need
- # kernel version information, so it can be replaced with a
- # suitable tag, in the style of linux-gnu.
- case "${UNAME_VERSION}" in
- Debian*)
- release='-gnu'
- ;;
- *)
- release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
- ;;
- esac
- # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
- # contains redundant information, the shorter form:
- # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
- echo "${machine}-${os}${release}"
- exit 0 ;;
- amiga:OpenBSD:*:*)
- echo m68k-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- arc:OpenBSD:*:*)
- echo mipsel-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- hp300:OpenBSD:*:*)
- echo m68k-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- mac68k:OpenBSD:*:*)
- echo m68k-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- macppc:OpenBSD:*:*)
- echo powerpc-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- mvme68k:OpenBSD:*:*)
- echo m68k-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- mvme88k:OpenBSD:*:*)
- echo m88k-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- mvmeppc:OpenBSD:*:*)
- echo powerpc-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- pmax:OpenBSD:*:*)
- echo mipsel-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- sgi:OpenBSD:*:*)
- echo mipseb-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- sun3:OpenBSD:*:*)
- echo m68k-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- wgrisc:OpenBSD:*:*)
- echo mipsel-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- *:OpenBSD:*:*)
- echo ${UNAME_MACHINE}-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- alpha:OSF1:*:*)
- if test $UNAME_RELEASE = "V4.0"; then
- UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
- fi
- # According to Compaq, /usr/sbin/psrinfo has been available on
- # OSF/1 and Tru64 systems produced since 1995. I hope that
- # covers most systems running today. This code pipes the CPU
- # types through head -n 1, so we only detect the type of CPU 0.
- ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1`
- case "$ALPHA_CPU_TYPE" in
- "EV4 (21064)")
- UNAME_MACHINE="alpha" ;;
- "EV4.5 (21064)")
- UNAME_MACHINE="alpha" ;;
- "LCA4 (21066/21068)")
- UNAME_MACHINE="alpha" ;;
- "EV5 (21164)")
- UNAME_MACHINE="alphaev5" ;;
- "EV5.6 (21164A)")
- UNAME_MACHINE="alphaev56" ;;
- "EV5.6 (21164PC)")
- UNAME_MACHINE="alphapca56" ;;
- "EV5.7 (21164PC)")
- UNAME_MACHINE="alphapca57" ;;
- "EV6 (21264)")
- UNAME_MACHINE="alphaev6" ;;
- "EV6.7 (21264A)")
- UNAME_MACHINE="alphaev67" ;;
- "EV6.8CB (21264C)")
- UNAME_MACHINE="alphaev68" ;;
- "EV6.8AL (21264B)")
- UNAME_MACHINE="alphaev68" ;;
- "EV6.8CX (21264D)")
- UNAME_MACHINE="alphaev68" ;;
- "EV6.9A (21264/EV69A)")
- UNAME_MACHINE="alphaev69" ;;
- "EV7 (21364)")
- UNAME_MACHINE="alphaev7" ;;
- "EV7.9 (21364A)")
- UNAME_MACHINE="alphaev79" ;;
- esac
- # A Vn.n version is a released version.
- # A Tn.n version is a released field test version.
- # A Xn.n version is an unreleased experimental baselevel.
- # 1.2 uses "1.2" for uname -r.
- echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
- exit 0 ;;
- Alpha*:OpenVMS:*:*)
- echo alpha-hp-vms
- exit 0 ;;
- Alpha\ *:Windows_NT*:*)
- # How do we know it's Interix rather than the generic POSIX subsystem?
- # Should we change UNAME_MACHINE based on the output of uname instead
- # of the specific Alpha model?
- echo alpha-pc-interix
- exit 0 ;;
- 21064:Windows_NT:50:3)
- echo alpha-dec-winnt3.5
- exit 0 ;;
- Amiga*:UNIX_System_V:4.0:*)
- echo m68k-unknown-sysv4
- exit 0;;
- *:[Aa]miga[Oo][Ss]:*:*)
- echo ${UNAME_MACHINE}-unknown-amigaos
- exit 0 ;;
- *:[Mm]orph[Oo][Ss]:*:*)
- echo ${UNAME_MACHINE}-unknown-morphos
- exit 0 ;;
- *:OS/390:*:*)
- echo i370-ibm-openedition
- exit 0 ;;
- arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
- echo arm-acorn-riscix${UNAME_RELEASE}
- exit 0;;
- SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
- echo hppa1.1-hitachi-hiuxmpp
- exit 0;;
- Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
- # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
- if test "`(/bin/universe) 2>/dev/null`" = att ; then
- echo pyramid-pyramid-sysv3
- else
- echo pyramid-pyramid-bsd
- fi
- exit 0 ;;
- NILE*:*:*:dcosx)
- echo pyramid-pyramid-svr4
- exit 0 ;;
- DRS?6000:unix:4.0:6*)
- echo sparc-icl-nx6
- exit 0 ;;
- DRS?6000:UNIX_SV:4.2*:7*)
- case `/usr/bin/uname -p` in
- sparc) echo sparc-icl-nx7 && exit 0 ;;
- esac ;;
- sun4H:SunOS:5.*:*)
- echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
- exit 0 ;;
- sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
- echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
- exit 0 ;;
- i86pc:SunOS:5.*:*)
- echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
- exit 0 ;;
- sun4*:SunOS:6*:*)
- # According to config.sub, this is the proper way to canonicalize
- # SunOS6. Hard to guess exactly what SunOS6 will be like, but
- # it's likely to be more like Solaris than SunOS4.
- echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
- exit 0 ;;
- sun4*:SunOS:*:*)
- case "`/usr/bin/arch -k`" in
- Series*|S4*)
- UNAME_RELEASE=`uname -v`
- ;;
- esac
- # Japanese Language versions have a version number like `4.1.3-JL'.
- echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
- exit 0 ;;
- sun3*:SunOS:*:*)
- echo m68k-sun-sunos${UNAME_RELEASE}
- exit 0 ;;
- sun*:*:4.2BSD:*)
- UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
- test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
- case "`/bin/arch`" in
- sun3)
- echo m68k-sun-sunos${UNAME_RELEASE}
- ;;
- sun4)
- echo sparc-sun-sunos${UNAME_RELEASE}
- ;;
- esac
- exit 0 ;;
- aushp:SunOS:*:*)
- echo sparc-auspex-sunos${UNAME_RELEASE}
- exit 0 ;;
- # The situation for MiNT is a little confusing. The machine name
- # can be virtually everything (everything which is not
- # "atarist" or "atariste" at least should have a processor
- # > m68000). The system name ranges from "MiNT" over "FreeMiNT"
- # to the lowercase version "mint" (or "freemint"). Finally
- # the system name "TOS" denotes a system which is actually not
- # MiNT. But MiNT is downward compatible to TOS, so this should
- # be no problem.
- atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
- echo m68k-atari-mint${UNAME_RELEASE}
- exit 0 ;;
- atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
- echo m68k-atari-mint${UNAME_RELEASE}
- exit 0 ;;
- *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
- echo m68k-atari-mint${UNAME_RELEASE}
- exit 0 ;;
- milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
- echo m68k-milan-mint${UNAME_RELEASE}
- exit 0 ;;
- hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
- echo m68k-hades-mint${UNAME_RELEASE}
- exit 0 ;;
- *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
- echo m68k-unknown-mint${UNAME_RELEASE}
- exit 0 ;;
- powerpc:machten:*:*)
- echo powerpc-apple-machten${UNAME_RELEASE}
- exit 0 ;;
- RISC*:Mach:*:*)
- echo mips-dec-mach_bsd4.3
- exit 0 ;;
- RISC*:ULTRIX:*:*)
- echo mips-dec-ultrix${UNAME_RELEASE}
- exit 0 ;;
- VAX*:ULTRIX*:*:*)
- echo vax-dec-ultrix${UNAME_RELEASE}
- exit 0 ;;
- 2020:CLIX:*:* | 2430:CLIX:*:*)
- echo clipper-intergraph-clix${UNAME_RELEASE}
- exit 0 ;;
- mips:*:*:UMIPS | mips:*:*:RISCos)
- eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
-#ifdef __cplusplus
-#include <stdio.h> /* for printf() prototype */
- int main (int argc, char *argv[]) {
-#else
- int main (argc, argv) int argc; char *argv[]; {
-#endif
- #if defined (host_mips) && defined (MIPSEB)
- #if defined (SYSTYPE_SYSV)
- printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
- #endif
- #if defined (SYSTYPE_SVR4)
- printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
- #endif
- #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
- printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
- #endif
- #endif
- exit (-1);
- }
-EOF
- $CC_FOR_BUILD -o $dummy $dummy.c \
- && $dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \
- && exit 0
- echo mips-mips-riscos${UNAME_RELEASE}
- exit 0 ;;
- Motorola:PowerMAX_OS:*:*)
- echo powerpc-motorola-powermax
- exit 0 ;;
- Motorola:*:4.3:PL8-*)
- echo powerpc-harris-powermax
- exit 0 ;;
- Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
- echo powerpc-harris-powermax
- exit 0 ;;
- Night_Hawk:Power_UNIX:*:*)
- echo powerpc-harris-powerunix
- exit 0 ;;
- m88k:CX/UX:7*:*)
- echo m88k-harris-cxux7
- exit 0 ;;
- m88k:*:4*:R4*)
- echo m88k-motorola-sysv4
- exit 0 ;;
- m88k:*:3*:R3*)
- echo m88k-motorola-sysv3
- exit 0 ;;
- AViiON:dgux:*:*)
- # DG/UX returns AViiON for all architectures
- UNAME_PROCESSOR=`/usr/bin/uname -p`
- if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
- then
- if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
- [ ${TARGET_BINARY_INTERFACE}x = x ]
- then
- echo m88k-dg-dgux${UNAME_RELEASE}
- else
- echo m88k-dg-dguxbcs${UNAME_RELEASE}
- fi
- else
- echo i586-dg-dgux${UNAME_RELEASE}
- fi
- exit 0 ;;
- M88*:DolphinOS:*:*) # DolphinOS (SVR3)
- echo m88k-dolphin-sysv3
- exit 0 ;;
- M88*:*:R3*:*)
- # Delta 88k system running SVR3
- echo m88k-motorola-sysv3
- exit 0 ;;
- XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
- echo m88k-tektronix-sysv3
- exit 0 ;;
- Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
- echo m68k-tektronix-bsd
- exit 0 ;;
- *:IRIX*:*:*)
- echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
- exit 0 ;;
- ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
- echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
- exit 0 ;; # Note that: echo "'`uname -s`'" gives 'AIX '
- i*86:AIX:*:*)
- echo i386-ibm-aix
- exit 0 ;;
- ia64:AIX:*:*)
- if [ -x /usr/bin/oslevel ] ; then
- IBM_REV=`/usr/bin/oslevel`
- else
- IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
- fi
- echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
- exit 0 ;;
- *:AIX:2:3)
- if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
- eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
- #include <sys/systemcfg.h>
-
- main()
- {
- if (!__power_pc())
- exit(1);
- puts("powerpc-ibm-aix3.2.5");
- exit(0);
- }
-EOF
- $CC_FOR_BUILD -o $dummy $dummy.c && $dummy && exit 0
- echo rs6000-ibm-aix3.2.5
- elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
- echo rs6000-ibm-aix3.2.4
- else
- echo rs6000-ibm-aix3.2
- fi
- exit 0 ;;
- *:AIX:*:[45])
- IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
- if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
- IBM_ARCH=rs6000
- else
- IBM_ARCH=powerpc
- fi
- if [ -x /usr/bin/oslevel ] ; then
- IBM_REV=`/usr/bin/oslevel`
- else
- IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
- fi
- echo ${IBM_ARCH}-ibm-aix${IBM_REV}
- exit 0 ;;
- *:AIX:*:*)
- echo rs6000-ibm-aix
- exit 0 ;;
- ibmrt:4.4BSD:*|romp-ibm:BSD:*)
- echo romp-ibm-bsd4.4
- exit 0 ;;
- ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and
- echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to
- exit 0 ;; # report: romp-ibm BSD 4.3
- *:BOSX:*:*)
- echo rs6000-bull-bosx
- exit 0 ;;
- DPX/2?00:B.O.S.:*:*)
- echo m68k-bull-sysv3
- exit 0 ;;
- 9000/[34]??:4.3bsd:1.*:*)
- echo m68k-hp-bsd
- exit 0 ;;
- hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
- echo m68k-hp-bsd4.4
- exit 0 ;;
- 9000/[34678]??:HP-UX:*:*)
- HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
- case "${UNAME_MACHINE}" in
- 9000/31? ) HP_ARCH=m68000 ;;
- 9000/[34]?? ) HP_ARCH=m68k ;;
- 9000/[678][0-9][0-9])
- if [ -x /usr/bin/getconf ]; then
- sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
- sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
- case "${sc_cpu_version}" in
- 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
- 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
- 532) # CPU_PA_RISC2_0
- case "${sc_kernel_bits}" in
- 32) HP_ARCH="hppa2.0n" ;;
- 64) HP_ARCH="hppa2.0w" ;;
- '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20
- esac ;;
- esac
- fi
- if [ "${HP_ARCH}" = "" ]; then
- eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
-
- #define _HPUX_SOURCE
- #include <stdlib.h>
- #include <unistd.h>
-
- int main ()
- {
- #if defined(_SC_KERNEL_BITS)
- long bits = sysconf(_SC_KERNEL_BITS);
- #endif
- long cpu = sysconf (_SC_CPU_VERSION);
-
- switch (cpu)
- {
- case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
- case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
- case CPU_PA_RISC2_0:
- #if defined(_SC_KERNEL_BITS)
- switch (bits)
- {
- case 64: puts ("hppa2.0w"); break;
- case 32: puts ("hppa2.0n"); break;
- default: puts ("hppa2.0"); break;
- } break;
- #else /* !defined(_SC_KERNEL_BITS) */
- puts ("hppa2.0"); break;
- #endif
- default: puts ("hppa1.0"); break;
- }
- exit (0);
- }
-EOF
- (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
- test -z "$HP_ARCH" && HP_ARCH=hppa
- fi ;;
- esac
- if [ ${HP_ARCH} = "hppa2.0w" ]
- then
- # avoid double evaluation of $set_cc_for_build
- test -n "$CC_FOR_BUILD" || eval $set_cc_for_build
- if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E -) | grep __LP64__ >/dev/null
- then
- HP_ARCH="hppa2.0w"
- else
- HP_ARCH="hppa64"
- fi
- fi
- echo ${HP_ARCH}-hp-hpux${HPUX_REV}
- exit 0 ;;
- ia64:HP-UX:*:*)
- HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
- echo ia64-hp-hpux${HPUX_REV}
- exit 0 ;;
- 3050*:HI-UX:*:*)
- eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
- #include <unistd.h>
- int
- main ()
- {
- long cpu = sysconf (_SC_CPU_VERSION);
- /* The order matters, because CPU_IS_HP_MC68K erroneously returns
- true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct
- results, however. */
- if (CPU_IS_PA_RISC (cpu))
- {
- switch (cpu)
- {
- case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
- case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
- case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
- default: puts ("hppa-hitachi-hiuxwe2"); break;
- }
- }
- else if (CPU_IS_HP_MC68K (cpu))
- puts ("m68k-hitachi-hiuxwe2");
- else puts ("unknown-hitachi-hiuxwe2");
- exit (0);
- }
-EOF
- $CC_FOR_BUILD -o $dummy $dummy.c && $dummy && exit 0
- echo unknown-hitachi-hiuxwe2
- exit 0 ;;
- 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
- echo hppa1.1-hp-bsd
- exit 0 ;;
- 9000/8??:4.3bsd:*:*)
- echo hppa1.0-hp-bsd
- exit 0 ;;
- *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
- echo hppa1.0-hp-mpeix
- exit 0 ;;
- hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
- echo hppa1.1-hp-osf
- exit 0 ;;
- hp8??:OSF1:*:*)
- echo hppa1.0-hp-osf
- exit 0 ;;
- i*86:OSF1:*:*)
- if [ -x /usr/sbin/sysversion ] ; then
- echo ${UNAME_MACHINE}-unknown-osf1mk
- else
- echo ${UNAME_MACHINE}-unknown-osf1
- fi
- exit 0 ;;
- parisc*:Lites*:*:*)
- echo hppa1.1-hp-lites
- exit 0 ;;
- C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
- echo c1-convex-bsd
- exit 0 ;;
- C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
- if getsysinfo -f scalar_acc
- then echo c32-convex-bsd
- else echo c2-convex-bsd
- fi
- exit 0 ;;
- C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
- echo c34-convex-bsd
- exit 0 ;;
- C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
- echo c38-convex-bsd
- exit 0 ;;
- C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
- echo c4-convex-bsd
- exit 0 ;;
- CRAY*Y-MP:*:*:*)
- echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
- exit 0 ;;
- CRAY*[A-Z]90:*:*:*)
- echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
- | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
- -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
- -e 's/\.[^.]*$/.X/'
- exit 0 ;;
- CRAY*TS:*:*:*)
- echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
- exit 0 ;;
- CRAY*T3E:*:*:*)
- echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
- exit 0 ;;
- CRAY*SV1:*:*:*)
- echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
- exit 0 ;;
- *:UNICOS/mp:*:*)
- echo nv1-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
- exit 0 ;;
- F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
- FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
- FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
- FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
- echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
- exit 0 ;;
- i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
- echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
- exit 0 ;;
- sparc*:BSD/OS:*:*)
- echo sparc-unknown-bsdi${UNAME_RELEASE}
- exit 0 ;;
- *:BSD/OS:*:*)
- echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
- exit 0 ;;
- *:FreeBSD:*:*|*:GNU/FreeBSD:*:*)
- # Determine whether the default compiler uses glibc.
- eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
- #include <features.h>
- #if __GLIBC__ >= 2
- LIBC=gnu
- #else
- LIBC=
- #endif
-EOF
- eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
- # GNU/FreeBSD systems have a "k" prefix to indicate we are using
- # FreeBSD's kernel, but not the complete OS.
- case ${LIBC} in gnu) kernel_only='k' ;; esac
- echo ${UNAME_MACHINE}-unknown-${kernel_only}freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`${LIBC:+-$LIBC}
- exit 0 ;;
- i*:CYGWIN*:*)
- echo ${UNAME_MACHINE}-pc-cygwin
- exit 0 ;;
- i*:MINGW*:*)
- echo ${UNAME_MACHINE}-pc-mingw32
- exit 0 ;;
- i*:PW*:*)
- echo ${UNAME_MACHINE}-pc-pw32
- exit 0 ;;
- x86:Interix*:[34]*)
- echo i586-pc-interix${UNAME_RELEASE}|sed -e 's/\..*//'
- exit 0 ;;
- [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
- echo i${UNAME_MACHINE}-pc-mks
- exit 0 ;;
- i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
- # How do we know it's Interix rather than the generic POSIX subsystem?
- # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
- # UNAME_MACHINE based on the output of uname instead of i386?
- echo i586-pc-interix
- exit 0 ;;
- i*:UWIN*:*)
- echo ${UNAME_MACHINE}-pc-uwin
- exit 0 ;;
- p*:CYGWIN*:*)
- echo powerpcle-unknown-cygwin
- exit 0 ;;
- prep*:SunOS:5.*:*)
- echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
- exit 0 ;;
- *:GNU:*:*)
- echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
- exit 0 ;;
- i*86:Minix:*:*)
- echo ${UNAME_MACHINE}-pc-minix
- exit 0 ;;
- arm*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
- exit 0 ;;
- cris:Linux:*:*)
- echo cris-axis-linux-gnu
- exit 0 ;;
- ia64:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
- exit 0 ;;
- m68*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
- exit 0 ;;
- mips:Linux:*:*)
- eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
- #undef CPU
- #undef mips
- #undef mipsel
- #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
- CPU=mipsel
- #else
- #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
- CPU=mips
- #else
- CPU=
- #endif
- #endif
-EOF
- eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
- test x"${CPU}" != x && echo "${CPU}-unknown-linux-gnu" && exit 0
- ;;
- mips64:Linux:*:*)
- eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
- #undef CPU
- #undef mips64
- #undef mips64el
- #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
- CPU=mips64el
- #else
- #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
- CPU=mips64
- #else
- CPU=
- #endif
- #endif
-EOF
- eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
- test x"${CPU}" != x && echo "${CPU}-unknown-linux-gnu" && exit 0
- ;;
- ppc:Linux:*:*)
- echo powerpc-unknown-linux-gnu
- exit 0 ;;
- ppc64:Linux:*:*)
- echo powerpc64-unknown-linux-gnu
- exit 0 ;;
- alpha:Linux:*:*)
- case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
- EV5) UNAME_MACHINE=alphaev5 ;;
- EV56) UNAME_MACHINE=alphaev56 ;;
- PCA56) UNAME_MACHINE=alphapca56 ;;
- PCA57) UNAME_MACHINE=alphapca56 ;;
- EV6) UNAME_MACHINE=alphaev6 ;;
- EV67) UNAME_MACHINE=alphaev67 ;;
- EV68*) UNAME_MACHINE=alphaev68 ;;
- esac
- objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null
- if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
- echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
- exit 0 ;;
- parisc:Linux:*:* | hppa:Linux:*:*)
- # Look for CPU level
- case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
- PA7*) echo hppa1.1-unknown-linux-gnu ;;
- PA8*) echo hppa2.0-unknown-linux-gnu ;;
- *) echo hppa-unknown-linux-gnu ;;
- esac
- exit 0 ;;
- parisc64:Linux:*:* | hppa64:Linux:*:*)
- echo hppa64-unknown-linux-gnu
- exit 0 ;;
- s390:Linux:*:* | s390x:Linux:*:*)
- echo ${UNAME_MACHINE}-ibm-linux
- exit 0 ;;
- sh64*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
- exit 0 ;;
- sh*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
- exit 0 ;;
- sparc:Linux:*:* | sparc64:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
- exit 0 ;;
- x86_64:Linux:*:*)
- echo x86_64-unknown-linux-gnu
- exit 0 ;;
- i*86:Linux:*:*)
- # The BFD linker knows what the default object file format is, so
- # first see if it will tell us. cd to the root directory to prevent
- # problems with other programs or directories called `ld' in the path.
- # Set LC_ALL=C to ensure ld outputs messages in English.
- ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \
- | sed -ne '/supported targets:/!d
- s/[ ][ ]*/ /g
- s/.*supported targets: *//
- s/ .*//
- p'`
- case "$ld_supported_targets" in
- elf32-i386)
- TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
- ;;
- a.out-i386-linux)
- echo "${UNAME_MACHINE}-pc-linux-gnuaout"
- exit 0 ;;
- coff-i386)
- echo "${UNAME_MACHINE}-pc-linux-gnucoff"
- exit 0 ;;
- "")
- # Either a pre-BFD a.out linker (linux-gnuoldld) or
- # one that does not give us useful --help.
- echo "${UNAME_MACHINE}-pc-linux-gnuoldld"
- exit 0 ;;
- esac
- # Determine whether the default compiler is a.out or elf
- eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
- #include <features.h>
- #ifdef __ELF__
- # ifdef __GLIBC__
- # if __GLIBC__ >= 2
- LIBC=gnu
- # else
- LIBC=gnulibc1
- # endif
- # else
- LIBC=gnulibc1
- # endif
- #else
- #ifdef __INTEL_COMPILER
- LIBC=gnu
- #else
- LIBC=gnuaout
- #endif
- #endif
-EOF
- eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
- test x"${LIBC}" != x && echo "${UNAME_MACHINE}-pc-linux-${LIBC}" && exit 0
- test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0
- ;;
- i*86:DYNIX/ptx:4*:*)
- # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
- # earlier versions are messed up and put the nodename in both
- # sysname and nodename.
- echo i386-sequent-sysv4
- exit 0 ;;
- i*86:UNIX_SV:4.2MP:2.*)
- # Unixware is an offshoot of SVR4, but it has its own version
- # number series starting with 2...
- # I am not positive that other SVR4 systems won't match this,
- # I just have to hope. -- rms.
- # Use sysv4.2uw... so that sysv4* matches it.
- echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
- exit 0 ;;
- i*86:OS/2:*:*)
- # If we were able to find `uname', then EMX Unix compatibility
- # is probably installed.
- echo ${UNAME_MACHINE}-pc-os2-emx
- exit 0 ;;
- i*86:XTS-300:*:STOP)
- echo ${UNAME_MACHINE}-unknown-stop
- exit 0 ;;
- i*86:atheos:*:*)
- echo ${UNAME_MACHINE}-unknown-atheos
- exit 0 ;;
- i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
- echo i386-unknown-lynxos${UNAME_RELEASE}
- exit 0 ;;
- i*86:*DOS:*:*)
- echo ${UNAME_MACHINE}-pc-msdosdjgpp
- exit 0 ;;
- i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
- UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
- if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
- echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
- else
- echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
- fi
- exit 0 ;;
- i*86:*:5:[78]*)
- case `/bin/uname -X | grep "^Machine"` in
- *486*) UNAME_MACHINE=i486 ;;
- *Pentium) UNAME_MACHINE=i586 ;;
- *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
- esac
- echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
- exit 0 ;;
- i*86:*:3.2:*)
- if test -f /usr/options/cb.name; then
- UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
- echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
- elif /bin/uname -X 2>/dev/null >/dev/null ; then
- UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
- (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
- (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
- && UNAME_MACHINE=i586
- (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
- && UNAME_MACHINE=i686
- (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
- && UNAME_MACHINE=i686
- echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
- else
- echo ${UNAME_MACHINE}-pc-sysv32
- fi
- exit 0 ;;
- pc:*:*:*)
- # Left here for compatibility:
- # uname -m prints for DJGPP always 'pc', but it prints nothing about
- # the processor, so we play safe by assuming i386.
- echo i386-pc-msdosdjgpp
- exit 0 ;;
- Intel:Mach:3*:*)
- echo i386-pc-mach3
- exit 0 ;;
- paragon:*:*:*)
- echo i860-intel-osf1
- exit 0 ;;
- i860:*:4.*:*) # i860-SVR4
- if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
- echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
- else # Add other i860-SVR4 vendors below as they are discovered.
- echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4
- fi
- exit 0 ;;
- mini*:CTIX:SYS*5:*)
- # "miniframe"
- echo m68010-convergent-sysv
- exit 0 ;;
- mc68k:UNIX:SYSTEM5:3.51m)
- echo m68k-convergent-sysv
- exit 0 ;;
- M680?0:D-NIX:5.3:*)
- echo m68k-diab-dnix
- exit 0 ;;
- M68*:*:R3V[567]*:*)
- test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;;
- 3[34]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0)
- OS_REL=''
- test -r /etc/.relid \
- && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
- /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
- && echo i486-ncr-sysv4.3${OS_REL} && exit 0
- /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
- && echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;;
- 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
- /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
- && echo i486-ncr-sysv4 && exit 0 ;;
- m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
- echo m68k-unknown-lynxos${UNAME_RELEASE}
- exit 0 ;;
- mc68030:UNIX_System_V:4.*:*)
- echo m68k-atari-sysv4
- exit 0 ;;
- TSUNAMI:LynxOS:2.*:*)
- echo sparc-unknown-lynxos${UNAME_RELEASE}
- exit 0 ;;
- rs6000:LynxOS:2.*:*)
- echo rs6000-unknown-lynxos${UNAME_RELEASE}
- exit 0 ;;
- PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*)
- echo powerpc-unknown-lynxos${UNAME_RELEASE}
- exit 0 ;;
- SM[BE]S:UNIX_SV:*:*)
- echo mips-dde-sysv${UNAME_RELEASE}
- exit 0 ;;
- RM*:ReliantUNIX-*:*:*)
- echo mips-sni-sysv4
- exit 0 ;;
- RM*:SINIX-*:*:*)
- echo mips-sni-sysv4
- exit 0 ;;
- *:SINIX-*:*:*)
- if uname -p 2>/dev/null >/dev/null ; then
- UNAME_MACHINE=`(uname -p) 2>/dev/null`
- echo ${UNAME_MACHINE}-sni-sysv4
- else
- echo ns32k-sni-sysv
- fi
- exit 0 ;;
- PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
- # says <Richard.M.Bartel@ccMail.Census.GOV>
- echo i586-unisys-sysv4
- exit 0 ;;
- *:UNIX_System_V:4*:FTX*)
- # From Gerald Hewes <hewes@openmarket.com>.
- # How about differentiating between stratus architectures? -djm
- echo hppa1.1-stratus-sysv4
- exit 0 ;;
- *:*:*:FTX*)
- # From seanf@swdc.stratus.com.
- echo i860-stratus-sysv4
- exit 0 ;;
- *:VOS:*:*)
- # From Paul.Green@stratus.com.
- echo hppa1.1-stratus-vos
- exit 0 ;;
- mc68*:A/UX:*:*)
- echo m68k-apple-aux${UNAME_RELEASE}
- exit 0 ;;
- news*:NEWS-OS:6*:*)
- echo mips-sony-newsos6
- exit 0 ;;
- R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
- if [ -d /usr/nec ]; then
- echo mips-nec-sysv${UNAME_RELEASE}
- else
- echo mips-unknown-sysv${UNAME_RELEASE}
- fi
- exit 0 ;;
- BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
- echo powerpc-be-beos
- exit 0 ;;
- BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only.
- echo powerpc-apple-beos
- exit 0 ;;
- BePC:BeOS:*:*) # BeOS running on Intel PC compatible.
- echo i586-pc-beos
- exit 0 ;;
- SX-4:SUPER-UX:*:*)
- echo sx4-nec-superux${UNAME_RELEASE}
- exit 0 ;;
- SX-5:SUPER-UX:*:*)
- echo sx5-nec-superux${UNAME_RELEASE}
- exit 0 ;;
- SX-6:SUPER-UX:*:*)
- echo sx6-nec-superux${UNAME_RELEASE}
- exit 0 ;;
- Power*:Rhapsody:*:*)
- echo powerpc-apple-rhapsody${UNAME_RELEASE}
- exit 0 ;;
- *:Rhapsody:*:*)
- echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
- exit 0 ;;
- *:Darwin:*:*)
- case `uname -p` in
- *86) UNAME_PROCESSOR=i686 ;;
- powerpc) UNAME_PROCESSOR=powerpc ;;
- esac
- echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
- exit 0 ;;
- *:procnto*:*:* | *:QNX:[0123456789]*:*)
- UNAME_PROCESSOR=`uname -p`
- if test "$UNAME_PROCESSOR" = "x86"; then
- UNAME_PROCESSOR=i386
- UNAME_MACHINE=pc
- fi
- echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
- exit 0 ;;
- *:QNX:*:4*)
- echo i386-pc-qnx
- exit 0 ;;
- NSR-[DGKLNPTVW]:NONSTOP_KERNEL:*:*)
- echo nsr-tandem-nsk${UNAME_RELEASE}
- exit 0 ;;
- *:NonStop-UX:*:*)
- echo mips-compaq-nonstopux
- exit 0 ;;
- BS2000:POSIX*:*:*)
- echo bs2000-siemens-sysv
- exit 0 ;;
- DS/*:UNIX_System_V:*:*)
- echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
- exit 0 ;;
- *:Plan9:*:*)
- # "uname -m" is not consistent, so use $cputype instead. 386
- # is converted to i386 for consistency with other x86
- # operating systems.
- if test "$cputype" = "386"; then
- UNAME_MACHINE=i386
- else
- UNAME_MACHINE="$cputype"
- fi
- echo ${UNAME_MACHINE}-unknown-plan9
- exit 0 ;;
- *:TOPS-10:*:*)
- echo pdp10-unknown-tops10
- exit 0 ;;
- *:TENEX:*:*)
- echo pdp10-unknown-tenex
- exit 0 ;;
- KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
- echo pdp10-dec-tops20
- exit 0 ;;
- XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
- echo pdp10-xkl-tops20
- exit 0 ;;
- *:TOPS-20:*:*)
- echo pdp10-unknown-tops20
- exit 0 ;;
- *:ITS:*:*)
- echo pdp10-unknown-its
- exit 0 ;;
- SEI:*:*:SEIUX)
- echo mips-sei-seiux${UNAME_RELEASE}
- exit 0 ;;
-esac
-
-#echo '(No uname command or uname output not recognized.)' 1>&2
-#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
-
-eval $set_cc_for_build
-cat >$dummy.c <<EOF
-#ifdef _SEQUENT_
-# include <sys/types.h>
-# include <sys/utsname.h>
-#endif
-main ()
-{
-#if defined (sony)
-#if defined (MIPSEB)
- /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed,
- I don't know.... */
- printf ("mips-sony-bsd\n"); exit (0);
-#else
-#include <sys/param.h>
- printf ("m68k-sony-newsos%s\n",
-#ifdef NEWSOS4
- "4"
-#else
- ""
-#endif
- ); exit (0);
-#endif
-#endif
-
-#if defined (__arm) && defined (__acorn) && defined (__unix)
- printf ("arm-acorn-riscix"); exit (0);
-#endif
-
-#if defined (hp300) && !defined (hpux)
- printf ("m68k-hp-bsd\n"); exit (0);
-#endif
-
-#if defined (NeXT)
-#if !defined (__ARCHITECTURE__)
-#define __ARCHITECTURE__ "m68k"
-#endif
- int version;
- version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
- if (version < 4)
- printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
- else
- printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
- exit (0);
-#endif
-
-#if defined (MULTIMAX) || defined (n16)
-#if defined (UMAXV)
- printf ("ns32k-encore-sysv\n"); exit (0);
-#else
-#if defined (CMU)
- printf ("ns32k-encore-mach\n"); exit (0);
-#else
- printf ("ns32k-encore-bsd\n"); exit (0);
-#endif
-#endif
-#endif
-
-#if defined (__386BSD__)
- printf ("i386-pc-bsd\n"); exit (0);
-#endif
-
-#if defined (sequent)
-#if defined (i386)
- printf ("i386-sequent-dynix\n"); exit (0);
-#endif
-#if defined (ns32000)
- printf ("ns32k-sequent-dynix\n"); exit (0);
-#endif
-#endif
-
-#if defined (_SEQUENT_)
- struct utsname un;
-
- uname(&un);
-
- if (strncmp(un.version, "V2", 2) == 0) {
- printf ("i386-sequent-ptx2\n"); exit (0);
- }
- if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
- printf ("i386-sequent-ptx1\n"); exit (0);
- }
- printf ("i386-sequent-ptx\n"); exit (0);
-
-#endif
-
-#if defined (vax)
-# if !defined (ultrix)
-# include <sys/param.h>
-# if defined (BSD)
-# if BSD == 43
- printf ("vax-dec-bsd4.3\n"); exit (0);
-# else
-# if BSD == 199006
- printf ("vax-dec-bsd4.3reno\n"); exit (0);
-# else
- printf ("vax-dec-bsd\n"); exit (0);
-# endif
-# endif
-# else
- printf ("vax-dec-bsd\n"); exit (0);
-# endif
-# else
- printf ("vax-dec-ultrix\n"); exit (0);
-# endif
-#endif
-
-#if defined (alliant) && defined (i860)
- printf ("i860-alliant-bsd\n"); exit (0);
-#endif
-
- exit (1);
-}
-EOF
-
-$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && $dummy && exit 0
-
-# Apollos put the system type in the environment.
-
-test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; }
-
-# Convex versions that predate uname can use getsysinfo(1)
-
-if [ -x /usr/convex/getsysinfo ]
-then
- case `getsysinfo -f cpu_type` in
- c1*)
- echo c1-convex-bsd
- exit 0 ;;
- c2*)
- if getsysinfo -f scalar_acc
- then echo c32-convex-bsd
- else echo c2-convex-bsd
- fi
- exit 0 ;;
- c34*)
- echo c34-convex-bsd
- exit 0 ;;
- c38*)
- echo c38-convex-bsd
- exit 0 ;;
- c4*)
- echo c4-convex-bsd
- exit 0 ;;
- esac
-fi
-
-cat >&2 <<EOF
-$0: unable to guess system type
-
-This script, last modified $timestamp, has failed to recognize
-the operating system you are using. It is advised that you
-download the most up to date version of the config scripts from
-
- ftp://ftp.gnu.org/pub/gnu/config/
-
-If the version you run ($0) is already up to date, please
-send the following data and any information you think might be
-pertinent to <config-patches@gnu.org> in order to provide the needed
-information to handle your system.
-
-config.guess timestamp = $timestamp
-
-uname -m = `(uname -m) 2>/dev/null || echo unknown`
-uname -r = `(uname -r) 2>/dev/null || echo unknown`
-uname -s = `(uname -s) 2>/dev/null || echo unknown`
-uname -v = `(uname -v) 2>/dev/null || echo unknown`
-
-/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
-/bin/uname -X = `(/bin/uname -X) 2>/dev/null`
-
-hostinfo = `(hostinfo) 2>/dev/null`
-/bin/universe = `(/bin/universe) 2>/dev/null`
-/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null`
-/bin/arch = `(/bin/arch) 2>/dev/null`
-/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null`
-/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
-
-UNAME_MACHINE = ${UNAME_MACHINE}
-UNAME_RELEASE = ${UNAME_RELEASE}
-UNAME_SYSTEM = ${UNAME_SYSTEM}
-UNAME_VERSION = ${UNAME_VERSION}
-EOF
-
-exit 1
-
-# Local variables:
-# eval: (add-hook 'write-file-hooks 'time-stamp)
-# time-stamp-start: "timestamp='"
-# time-stamp-format: "%:y-%02m-%02d"
-# time-stamp-end: "'"
-# End:
diff --git a/winsup/mingw/config.sub b/winsup/mingw/config.sub
deleted file mode 100755
index 0bdc33431..000000000
--- a/winsup/mingw/config.sub
+++ /dev/null
@@ -1,1504 +0,0 @@
-#! /bin/sh
-# Configuration validation subroutine script.
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-# 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
-
-timestamp='2003-06-17'
-
-# This file is (in principle) common to ALL GNU software.
-# The presence of a machine in this file suggests that SOME GNU software
-# can handle that machine. It does not imply ALL GNU software can.
-#
-# This file 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 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330,
-# Boston, MA 02111-1307, USA.
-
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-# Please send patches to <config-patches@gnu.org>. Submit a context
-# diff and a properly formatted ChangeLog entry.
-#
-# Configuration subroutine to validate and canonicalize a configuration type.
-# Supply the specified configuration type as an argument.
-# If it is invalid, we print an error message on stderr and exit with code 1.
-# Otherwise, we print the canonical config type on stdout and succeed.
-
-# This file is supposed to be the same for all GNU packages
-# and recognize all the CPU types, system types and aliases
-# that are meaningful with *any* GNU software.
-# Each package is responsible for reporting which valid configurations
-# it does not support. The user should be able to distinguish
-# a failure to support a valid configuration from a meaningless
-# configuration.
-
-# The goal of this file is to map all the various variations of a given
-# machine specification into a single specification in the form:
-# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
-# or in some cases, the newer four-part form:
-# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
-# It is wrong to echo any other type of specification.
-
-me=`echo "$0" | sed -e 's,.*/,,'`
-
-usage="\
-Usage: $0 [OPTION] CPU-MFR-OPSYS
- $0 [OPTION] ALIAS
-
-Canonicalize a configuration name.
-
-Operation modes:
- -h, --help print this help, then exit
- -t, --time-stamp print date of last modification, then exit
- -v, --version print version number, then exit
-
-Report bugs and patches to <config-patches@gnu.org>."
-
-version="\
-GNU config.sub ($timestamp)
-
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
-Free Software Foundation, Inc.
-
-This is free software; see the source for copying conditions. There is NO
-warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
-
-help="
-Try \`$me --help' for more information."
-
-# Parse command line
-while test $# -gt 0 ; do
- case $1 in
- --time-stamp | --time* | -t )
- echo "$timestamp" ; exit 0 ;;
- --version | -v )
- echo "$version" ; exit 0 ;;
- --help | --h* | -h )
- echo "$usage"; exit 0 ;;
- -- ) # Stop option processing
- shift; break ;;
- - ) # Use stdin as input.
- break ;;
- -* )
- echo "$me: invalid option $1$help"
- exit 1 ;;
-
- *local*)
- # First pass through any local machine types.
- echo $1
- exit 0;;
-
- * )
- break ;;
- esac
-done
-
-case $# in
- 0) echo "$me: missing argument$help" >&2
- exit 1;;
- 1) ;;
- *) echo "$me: too many arguments$help" >&2
- exit 1;;
-esac
-
-# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
-# Here we must recognize all the valid KERNEL-OS combinations.
-maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
-case $maybe_os in
- nto-qnx* | linux-gnu* | freebsd*-gnu* | netbsd*-gnu* | storm-chaos* | os2-emx* | rtmk-nova*)
- os=-$maybe_os
- basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
- ;;
- *)
- basic_machine=`echo $1 | sed 's/-[^-]*$//'`
- if [ $basic_machine != $1 ]
- then os=`echo $1 | sed 's/.*-/-/'`
- else os=; fi
- ;;
-esac
-
-### Let's recognize common machines as not being operating systems so
-### that things like config.sub decstation-3100 work. We also
-### recognize some manufacturers as not being operating systems, so we
-### can provide default operating systems below.
-case $os in
- -sun*os*)
- # Prevent following clause from handling this invalid input.
- ;;
- -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
- -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
- -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
- -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
- -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
- -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
- -apple | -axis)
- os=
- basic_machine=$1
- ;;
- -sim | -cisco | -oki | -wec | -winbond)
- os=
- basic_machine=$1
- ;;
- -scout)
- ;;
- -wrs)
- os=-vxworks
- basic_machine=$1
- ;;
- -chorusos*)
- os=-chorusos
- basic_machine=$1
- ;;
- -chorusrdb)
- os=-chorusrdb
- basic_machine=$1
- ;;
- -hiux*)
- os=-hiuxwe2
- ;;
- -sco5)
- os=-sco3.2v5
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
- -sco4)
- os=-sco3.2v4
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
- -sco3.2.[4-9]*)
- os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
- -sco3.2v[4-9]*)
- # Don't forget version if it is 3.2v4 or newer.
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
- -sco*)
- os=-sco3.2v2
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
- -udk*)
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
- -isc)
- os=-isc2.2
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
- -clix*)
- basic_machine=clipper-intergraph
- ;;
- -isc*)
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
- -lynx*)
- os=-lynxos
- ;;
- -ptx*)
- basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
- ;;
- -windowsnt*)
- os=`echo $os | sed -e 's/windowsnt/winnt/'`
- ;;
- -psos*)
- os=-psos
- ;;
- -mint | -mint[0-9]*)
- basic_machine=m68k-atari
- os=-mint
- ;;
-esac
-
-# Decode aliases for certain CPU-COMPANY combinations.
-case $basic_machine in
- # Recognize the basic CPU types without company name.
- # Some are omitted here because they have special meanings below.
- 1750a | 580 \
- | a29k \
- | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
- | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
- | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \
- | c4x | clipper \
- | d10v | d30v | dlx | dsp16xx \
- | fr30 | frv \
- | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
- | i370 | i860 | i960 | ia64 \
- | ip2k \
- | m32r | m68000 | m68k | m88k | mcore \
- | mips | mipsbe | mipseb | mipsel | mipsle \
- | mips16 \
- | mips64 | mips64el \
- | mips64vr | mips64vrel \
- | mips64orion | mips64orionel \
- | mips64vr4100 | mips64vr4100el \
- | mips64vr4300 | mips64vr4300el \
- | mips64vr5000 | mips64vr5000el \
- | mipsisa32 | mipsisa32el \
- | mipsisa32r2 | mipsisa32r2el \
- | mipsisa64 | mipsisa64el \
- | mipsisa64sb1 | mipsisa64sb1el \
- | mipsisa64sr71k | mipsisa64sr71kel \
- | mipstx39 | mipstx39el \
- | mn10200 | mn10300 \
- | msp430 \
- | ns16k | ns32k \
- | openrisc | or32 \
- | pdp10 | pdp11 | pj | pjl \
- | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
- | pyramid \
- | sh | sh[1234] | sh[23]e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \
- | sh64 | sh64le \
- | sparc | sparc64 | sparc86x | sparclet | sparclite | sparcv9 | sparcv9b \
- | strongarm \
- | tahoe | thumb | tic4x | tic80 | tron \
- | v850 | v850e \
- | we32k \
- | x86 | xscale | xstormy16 | xtensa \
- | z8k)
- basic_machine=$basic_machine-unknown
- ;;
- m6811 | m68hc11 | m6812 | m68hc12)
- # Motorola 68HC11/12.
- basic_machine=$basic_machine-unknown
- os=-none
- ;;
- m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
- ;;
-
- # We use `pc' rather than `unknown'
- # because (1) that's what they normally are, and
- # (2) the word "unknown" tends to confuse beginning users.
- i*86 | x86_64)
- basic_machine=$basic_machine-pc
- ;;
- # Object if more than one company name word.
- *-*-*)
- echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
- exit 1
- ;;
- # Recognize the basic CPU types with company name.
- 580-* \
- | a29k-* \
- | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
- | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
- | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
- | arm-* | armbe-* | armle-* | armeb-* | armv*-* \
- | avr-* \
- | bs2000-* \
- | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
- | clipper-* | cydra-* \
- | d10v-* | d30v-* | dlx-* \
- | elxsi-* \
- | f30[01]-* | f700-* | fr30-* | frv-* | fx80-* \
- | h8300-* | h8500-* \
- | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
- | i*86-* | i860-* | i960-* | ia64-* \
- | ip2k-* \
- | m32r-* \
- | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
- | m88110-* | m88k-* | mcore-* \
- | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
- | mips16-* \
- | mips64-* | mips64el-* \
- | mips64vr-* | mips64vrel-* \
- | mips64orion-* | mips64orionel-* \
- | mips64vr4100-* | mips64vr4100el-* \
- | mips64vr4300-* | mips64vr4300el-* \
- | mips64vr5000-* | mips64vr5000el-* \
- | mipsisa32-* | mipsisa32el-* \
- | mipsisa32r2-* | mipsisa32r2el-* \
- | mipsisa64-* | mipsisa64el-* \
- | mipsisa64sb1-* | mipsisa64sb1el-* \
- | mipsisa64sr71k-* | mipsisa64sr71kel-* \
- | mipstx39-* | mipstx39el-* \
- | msp430-* \
- | none-* | np1-* | nv1-* | ns16k-* | ns32k-* \
- | orion-* \
- | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
- | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
- | pyramid-* \
- | romp-* | rs6000-* \
- | sh-* | sh[1234]-* | sh[23]e-* | sh[34]eb-* | shbe-* \
- | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
- | sparc-* | sparc64-* | sparc86x-* | sparclet-* | sparclite-* \
- | sparcv9-* | sparcv9b-* | strongarm-* | sv1-* | sx?-* \
- | tahoe-* | thumb-* \
- | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
- | tron-* \
- | v850-* | v850e-* | vax-* \
- | we32k-* \
- | x86-* | x86_64-* | xps100-* | xscale-* | xstormy16-* \
- | xtensa-* \
- | ymp-* \
- | z8k-*)
- ;;
- # Recognize the various machine names and aliases which stand
- # for a CPU type and a company and sometimes even an OS.
- 386bsd)
- basic_machine=i386-unknown
- os=-bsd
- ;;
- 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
- basic_machine=m68000-att
- ;;
- 3b*)
- basic_machine=we32k-att
- ;;
- a29khif)
- basic_machine=a29k-amd
- os=-udi
- ;;
- adobe68k)
- basic_machine=m68010-adobe
- os=-scout
- ;;
- alliant | fx80)
- basic_machine=fx80-alliant
- ;;
- altos | altos3068)
- basic_machine=m68k-altos
- ;;
- am29k)
- basic_machine=a29k-none
- os=-bsd
- ;;
- amd64)
- basic_machine=x86_64-pc
- ;;
- amdahl)
- basic_machine=580-amdahl
- os=-sysv
- ;;
- amiga | amiga-*)
- basic_machine=m68k-unknown
- ;;
- amigaos | amigados)
- basic_machine=m68k-unknown
- os=-amigaos
- ;;
- amigaunix | amix)
- basic_machine=m68k-unknown
- os=-sysv4
- ;;
- apollo68)
- basic_machine=m68k-apollo
- os=-sysv
- ;;
- apollo68bsd)
- basic_machine=m68k-apollo
- os=-bsd
- ;;
- aux)
- basic_machine=m68k-apple
- os=-aux
- ;;
- balance)
- basic_machine=ns32k-sequent
- os=-dynix
- ;;
- c90)
- basic_machine=c90-cray
- os=-unicos
- ;;
- convex-c1)
- basic_machine=c1-convex
- os=-bsd
- ;;
- convex-c2)
- basic_machine=c2-convex
- os=-bsd
- ;;
- convex-c32)
- basic_machine=c32-convex
- os=-bsd
- ;;
- convex-c34)
- basic_machine=c34-convex
- os=-bsd
- ;;
- convex-c38)
- basic_machine=c38-convex
- os=-bsd
- ;;
- cray | j90)
- basic_machine=j90-cray
- os=-unicos
- ;;
- crds | unos)
- basic_machine=m68k-crds
- ;;
- cris | cris-* | etrax*)
- basic_machine=cris-axis
- ;;
- da30 | da30-*)
- basic_machine=m68k-da30
- ;;
- decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
- basic_machine=mips-dec
- ;;
- decsystem10* | dec10*)
- basic_machine=pdp10-dec
- os=-tops10
- ;;
- decsystem20* | dec20*)
- basic_machine=pdp10-dec
- os=-tops20
- ;;
- delta | 3300 | motorola-3300 | motorola-delta \
- | 3300-motorola | delta-motorola)
- basic_machine=m68k-motorola
- ;;
- delta88)
- basic_machine=m88k-motorola
- os=-sysv3
- ;;
- dpx20 | dpx20-*)
- basic_machine=rs6000-bull
- os=-bosx
- ;;
- dpx2* | dpx2*-bull)
- basic_machine=m68k-bull
- os=-sysv3
- ;;
- ebmon29k)
- basic_machine=a29k-amd
- os=-ebmon
- ;;
- elxsi)
- basic_machine=elxsi-elxsi
- os=-bsd
- ;;
- encore | umax | mmax)
- basic_machine=ns32k-encore
- ;;
- es1800 | OSE68k | ose68k | ose | OSE)
- basic_machine=m68k-ericsson
- os=-ose
- ;;
- fx2800)
- basic_machine=i860-alliant
- ;;
- genix)
- basic_machine=ns32k-ns
- ;;
- gmicro)
- basic_machine=tron-gmicro
- os=-sysv
- ;;
- go32)
- basic_machine=i386-pc
- os=-go32
- ;;
- h3050r* | hiux*)
- basic_machine=hppa1.1-hitachi
- os=-hiuxwe2
- ;;
- h8300hms)
- basic_machine=h8300-hitachi
- os=-hms
- ;;
- h8300xray)
- basic_machine=h8300-hitachi
- os=-xray
- ;;
- h8500hms)
- basic_machine=h8500-hitachi
- os=-hms
- ;;
- harris)
- basic_machine=m88k-harris
- os=-sysv3
- ;;
- hp300-*)
- basic_machine=m68k-hp
- ;;
- hp300bsd)
- basic_machine=m68k-hp
- os=-bsd
- ;;
- hp300hpux)
- basic_machine=m68k-hp
- os=-hpux
- ;;
- hp3k9[0-9][0-9] | hp9[0-9][0-9])
- basic_machine=hppa1.0-hp
- ;;
- hp9k2[0-9][0-9] | hp9k31[0-9])
- basic_machine=m68000-hp
- ;;
- hp9k3[2-9][0-9])
- basic_machine=m68k-hp
- ;;
- hp9k6[0-9][0-9] | hp6[0-9][0-9])
- basic_machine=hppa1.0-hp
- ;;
- hp9k7[0-79][0-9] | hp7[0-79][0-9])
- basic_machine=hppa1.1-hp
- ;;
- hp9k78[0-9] | hp78[0-9])
- # FIXME: really hppa2.0-hp
- basic_machine=hppa1.1-hp
- ;;
- hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
- # FIXME: really hppa2.0-hp
- basic_machine=hppa1.1-hp
- ;;
- hp9k8[0-9][13679] | hp8[0-9][13679])
- basic_machine=hppa1.1-hp
- ;;
- hp9k8[0-9][0-9] | hp8[0-9][0-9])
- basic_machine=hppa1.0-hp
- ;;
- hppa-next)
- os=-nextstep3
- ;;
- hppaosf)
- basic_machine=hppa1.1-hp
- os=-osf
- ;;
- hppro)
- basic_machine=hppa1.1-hp
- os=-proelf
- ;;
- i370-ibm* | ibm*)
- basic_machine=i370-ibm
- ;;
-# I'm not sure what "Sysv32" means. Should this be sysv3.2?
- i*86v32)
- basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
- os=-sysv32
- ;;
- i*86v4*)
- basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
- os=-sysv4
- ;;
- i*86v)
- basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
- os=-sysv
- ;;
- i*86sol2)
- basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
- os=-solaris2
- ;;
- i386mach)
- basic_machine=i386-mach
- os=-mach
- ;;
- i386-vsta | vsta)
- basic_machine=i386-unknown
- os=-vsta
- ;;
- iris | iris4d)
- basic_machine=mips-sgi
- case $os in
- -irix*)
- ;;
- *)
- os=-irix4
- ;;
- esac
- ;;
- isi68 | isi)
- basic_machine=m68k-isi
- os=-sysv
- ;;
- m88k-omron*)
- basic_machine=m88k-omron
- ;;
- magnum | m3230)
- basic_machine=mips-mips
- os=-sysv
- ;;
- merlin)
- basic_machine=ns32k-utek
- os=-sysv
- ;;
- mingw32)
- basic_machine=i386-pc
- os=-mingw32
- ;;
- miniframe)
- basic_machine=m68000-convergent
- ;;
- *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
- basic_machine=m68k-atari
- os=-mint
- ;;
- mips3*-*)
- basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
- ;;
- mips3*)
- basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
- ;;
- mmix*)
- basic_machine=mmix-knuth
- os=-mmixware
- ;;
- monitor)
- basic_machine=m68k-rom68k
- os=-coff
- ;;
- morphos)
- basic_machine=powerpc-unknown
- os=-morphos
- ;;
- msdos)
- basic_machine=i386-pc
- os=-msdos
- ;;
- mvs)
- basic_machine=i370-ibm
- os=-mvs
- ;;
- ncr3000)
- basic_machine=i486-ncr
- os=-sysv4
- ;;
- netbsd386)
- basic_machine=i386-unknown
- os=-netbsd
- ;;
- netwinder)
- basic_machine=armv4l-rebel
- os=-linux
- ;;
- news | news700 | news800 | news900)
- basic_machine=m68k-sony
- os=-newsos
- ;;
- news1000)
- basic_machine=m68030-sony
- os=-newsos
- ;;
- news-3600 | risc-news)
- basic_machine=mips-sony
- os=-newsos
- ;;
- necv70)
- basic_machine=v70-nec
- os=-sysv
- ;;
- next | m*-next )
- basic_machine=m68k-next
- case $os in
- -nextstep* )
- ;;
- -ns2*)
- os=-nextstep2
- ;;
- *)
- os=-nextstep3
- ;;
- esac
- ;;
- nh3000)
- basic_machine=m68k-harris
- os=-cxux
- ;;
- nh[45]000)
- basic_machine=m88k-harris
- os=-cxux
- ;;
- nindy960)
- basic_machine=i960-intel
- os=-nindy
- ;;
- mon960)
- basic_machine=i960-intel
- os=-mon960
- ;;
- nonstopux)
- basic_machine=mips-compaq
- os=-nonstopux
- ;;
- np1)
- basic_machine=np1-gould
- ;;
- nv1)
- basic_machine=nv1-cray
- os=-unicosmp
- ;;
- nsr-tandem)
- basic_machine=nsr-tandem
- ;;
- op50n-* | op60c-*)
- basic_machine=hppa1.1-oki
- os=-proelf
- ;;
- or32 | or32-*)
- basic_machine=or32-unknown
- os=-coff
- ;;
- OSE68000 | ose68000)
- basic_machine=m68000-ericsson
- os=-ose
- ;;
- os68k)
- basic_machine=m68k-none
- os=-os68k
- ;;
- pa-hitachi)
- basic_machine=hppa1.1-hitachi
- os=-hiuxwe2
- ;;
- paragon)
- basic_machine=i860-intel
- os=-osf
- ;;
- pbd)
- basic_machine=sparc-tti
- ;;
- pbb)
- basic_machine=m68k-tti
- ;;
- pc532 | pc532-*)
- basic_machine=ns32k-pc532
- ;;
- pentium | p5 | k5 | k6 | nexgen | viac3)
- basic_machine=i586-pc
- ;;
- pentiumpro | p6 | 6x86 | athlon | athlon_*)
- basic_machine=i686-pc
- ;;
- pentiumii | pentium2 | pentiumiii | pentium3)
- basic_machine=i686-pc
- ;;
- pentium4)
- basic_machine=i786-pc
- ;;
- pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
- basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- pentiumpro-* | p6-* | 6x86-* | athlon-*)
- basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
- basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- pentium4-*)
- basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- pn)
- basic_machine=pn-gould
- ;;
- power) basic_machine=power-ibm
- ;;
- ppc) basic_machine=powerpc-unknown
- ;;
- ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- ppcle | powerpclittle | ppc-le | powerpc-little)
- basic_machine=powerpcle-unknown
- ;;
- ppcle-* | powerpclittle-*)
- basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- ppc64) basic_machine=powerpc64-unknown
- ;;
- ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- ppc64le | powerpc64little | ppc64-le | powerpc64-little)
- basic_machine=powerpc64le-unknown
- ;;
- ppc64le-* | powerpc64little-*)
- basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- ps2)
- basic_machine=i386-ibm
- ;;
- pw32)
- basic_machine=i586-unknown
- os=-pw32
- ;;
- rom68k)
- basic_machine=m68k-rom68k
- os=-coff
- ;;
- rm[46]00)
- basic_machine=mips-siemens
- ;;
- rtpc | rtpc-*)
- basic_machine=romp-ibm
- ;;
- s390 | s390-*)
- basic_machine=s390-ibm
- ;;
- s390x | s390x-*)
- basic_machine=s390x-ibm
- ;;
- sa29200)
- basic_machine=a29k-amd
- os=-udi
- ;;
- sb1)
- basic_machine=mipsisa64sb1-unknown
- ;;
- sb1el)
- basic_machine=mipsisa64sb1el-unknown
- ;;
- sei)
- basic_machine=mips-sei
- os=-seiux
- ;;
- sequent)
- basic_machine=i386-sequent
- ;;
- sh)
- basic_machine=sh-hitachi
- os=-hms
- ;;
- sh64)
- basic_machine=sh64-unknown
- ;;
- sparclite-wrs | simso-wrs)
- basic_machine=sparclite-wrs
- os=-vxworks
- ;;
- sps7)
- basic_machine=m68k-bull
- os=-sysv2
- ;;
- spur)
- basic_machine=spur-unknown
- ;;
- st2000)
- basic_machine=m68k-tandem
- ;;
- stratus)
- basic_machine=i860-stratus
- os=-sysv4
- ;;
- sun2)
- basic_machine=m68000-sun
- ;;
- sun2os3)
- basic_machine=m68000-sun
- os=-sunos3
- ;;
- sun2os4)
- basic_machine=m68000-sun
- os=-sunos4
- ;;
- sun3os3)
- basic_machine=m68k-sun
- os=-sunos3
- ;;
- sun3os4)
- basic_machine=m68k-sun
- os=-sunos4
- ;;
- sun4os3)
- basic_machine=sparc-sun
- os=-sunos3
- ;;
- sun4os4)
- basic_machine=sparc-sun
- os=-sunos4
- ;;
- sun4sol2)
- basic_machine=sparc-sun
- os=-solaris2
- ;;
- sun3 | sun3-*)
- basic_machine=m68k-sun
- ;;
- sun4)
- basic_machine=sparc-sun
- ;;
- sun386 | sun386i | roadrunner)
- basic_machine=i386-sun
- ;;
- sv1)
- basic_machine=sv1-cray
- os=-unicos
- ;;
- symmetry)
- basic_machine=i386-sequent
- os=-dynix
- ;;
- t3e)
- basic_machine=alphaev5-cray
- os=-unicos
- ;;
- t90)
- basic_machine=t90-cray
- os=-unicos
- ;;
- tic54x | c54x*)
- basic_machine=tic54x-unknown
- os=-coff
- ;;
- tic55x | c55x*)
- basic_machine=tic55x-unknown
- os=-coff
- ;;
- tic6x | c6x*)
- basic_machine=tic6x-unknown
- os=-coff
- ;;
- tx39)
- basic_machine=mipstx39-unknown
- ;;
- tx39el)
- basic_machine=mipstx39el-unknown
- ;;
- toad1)
- basic_machine=pdp10-xkl
- os=-tops20
- ;;
- tower | tower-32)
- basic_machine=m68k-ncr
- ;;
- udi29k)
- basic_machine=a29k-amd
- os=-udi
- ;;
- ultra3)
- basic_machine=a29k-nyu
- os=-sym1
- ;;
- v810 | necv810)
- basic_machine=v810-nec
- os=-none
- ;;
- vaxv)
- basic_machine=vax-dec
- os=-sysv
- ;;
- vms)
- basic_machine=vax-dec
- os=-vms
- ;;
- vpp*|vx|vx-*)
- basic_machine=f301-fujitsu
- ;;
- vxworks960)
- basic_machine=i960-wrs
- os=-vxworks
- ;;
- vxworks68)
- basic_machine=m68k-wrs
- os=-vxworks
- ;;
- vxworks29k)
- basic_machine=a29k-wrs
- os=-vxworks
- ;;
- w65*)
- basic_machine=w65-wdc
- os=-none
- ;;
- w89k-*)
- basic_machine=hppa1.1-winbond
- os=-proelf
- ;;
- xps | xps100)
- basic_machine=xps100-honeywell
- ;;
- ymp)
- basic_machine=ymp-cray
- os=-unicos
- ;;
- z8k-*-coff)
- basic_machine=z8k-unknown
- os=-sim
- ;;
- none)
- basic_machine=none-none
- os=-none
- ;;
-
-# Here we handle the default manufacturer of certain CPU types. It is in
-# some cases the only manufacturer, in others, it is the most popular.
- w89k)
- basic_machine=hppa1.1-winbond
- ;;
- op50n)
- basic_machine=hppa1.1-oki
- ;;
- op60c)
- basic_machine=hppa1.1-oki
- ;;
- romp)
- basic_machine=romp-ibm
- ;;
- rs6000)
- basic_machine=rs6000-ibm
- ;;
- vax)
- basic_machine=vax-dec
- ;;
- pdp10)
- # there are many clones, so DEC is not a safe bet
- basic_machine=pdp10-unknown
- ;;
- pdp11)
- basic_machine=pdp11-dec
- ;;
- we32k)
- basic_machine=we32k-att
- ;;
- sh3 | sh4 | sh[34]eb | sh[1234]le | sh[23]ele)
- basic_machine=sh-unknown
- ;;
- sh64)
- basic_machine=sh64-unknown
- ;;
- sparc | sparcv9 | sparcv9b)
- basic_machine=sparc-sun
- ;;
- cydra)
- basic_machine=cydra-cydrome
- ;;
- orion)
- basic_machine=orion-highlevel
- ;;
- orion105)
- basic_machine=clipper-highlevel
- ;;
- mac | mpw | mac-mpw)
- basic_machine=m68k-apple
- ;;
- pmac | pmac-mpw)
- basic_machine=powerpc-apple
- ;;
- *-unknown)
- # Make sure to match an already-canonicalized machine name.
- ;;
- *)
- echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
- exit 1
- ;;
-esac
-
-# Here we canonicalize certain aliases for manufacturers.
-case $basic_machine in
- *-digital*)
- basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
- ;;
- *-commodore*)
- basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
- ;;
- *)
- ;;
-esac
-
-# Decode manufacturer-specific aliases for certain operating systems.
-
-if [ x"$os" != x"" ]
-then
-case $os in
- # First match some system type aliases
- # that might get confused with valid system types.
- # -solaris* is a basic system type, with this one exception.
- -solaris1 | -solaris1.*)
- os=`echo $os | sed -e 's|solaris1|sunos4|'`
- ;;
- -solaris)
- os=-solaris2
- ;;
- -svr4*)
- os=-sysv4
- ;;
- -unixware*)
- os=-sysv4.2uw
- ;;
- -gnu/linux*)
- os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
- ;;
- # First accept the basic system types.
- # The portable systems comes first.
- # Each alternative MUST END IN A *, to match a version number.
- # -sysv* is not here because it comes later, after sysvr4.
- -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
- | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\
- | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
- | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
- | -aos* \
- | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
- | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
- | -hiux* | -386bsd* | -netbsd* | -openbsd* | -freebsd* | -riscix* \
- | -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
- | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
- | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
- | -chorusos* | -chorusrdb* \
- | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
- | -mingw32* | -linux-gnu* | -uxpv* | -beos* | -mpeix* | -udk* \
- | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
- | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
- | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
- | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
- | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
- | -powermax* | -dnix* | -nx6 | -nx7 | -sei*)
- # Remember, each alternative MUST END IN *, to match a version number.
- ;;
- -qnx*)
- case $basic_machine in
- x86-* | i*86-*)
- ;;
- *)
- os=-nto$os
- ;;
- esac
- ;;
- -nto-qnx*)
- ;;
- -nto*)
- os=`echo $os | sed -e 's|nto|nto-qnx|'`
- ;;
- -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
- | -windows* | -osx | -abug | -netware* | -os9* | -beos* \
- | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
- ;;
- -mac*)
- os=`echo $os | sed -e 's|mac|macos|'`
- ;;
- -linux*)
- os=`echo $os | sed -e 's|linux|linux-gnu|'`
- ;;
- -sunos5*)
- os=`echo $os | sed -e 's|sunos5|solaris2|'`
- ;;
- -sunos6*)
- os=`echo $os | sed -e 's|sunos6|solaris3|'`
- ;;
- -opened*)
- os=-openedition
- ;;
- -wince*)
- os=-wince
- ;;
- -osfrose*)
- os=-osfrose
- ;;
- -osf*)
- os=-osf
- ;;
- -utek*)
- os=-bsd
- ;;
- -dynix*)
- os=-bsd
- ;;
- -acis*)
- os=-aos
- ;;
- -atheos*)
- os=-atheos
- ;;
- -386bsd)
- os=-bsd
- ;;
- -ctix* | -uts*)
- os=-sysv
- ;;
- -nova*)
- os=-rtmk-nova
- ;;
- -ns2 )
- os=-nextstep2
- ;;
- -nsk*)
- os=-nsk
- ;;
- # Preserve the version number of sinix5.
- -sinix5.*)
- os=`echo $os | sed -e 's|sinix|sysv|'`
- ;;
- -sinix*)
- os=-sysv4
- ;;
- -triton*)
- os=-sysv3
- ;;
- -oss*)
- os=-sysv3
- ;;
- -svr4)
- os=-sysv4
- ;;
- -svr3)
- os=-sysv3
- ;;
- -sysvr4)
- os=-sysv4
- ;;
- # This must come after -sysvr4.
- -sysv*)
- ;;
- -ose*)
- os=-ose
- ;;
- -es1800*)
- os=-ose
- ;;
- -xenix)
- os=-xenix
- ;;
- -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
- os=-mint
- ;;
- -aros*)
- os=-aros
- ;;
- -kaos*)
- os=-kaos
- ;;
- -none)
- ;;
- *)
- # Get rid of the `-' at the beginning of $os.
- os=`echo $os | sed 's/[^-]*-//'`
- echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
- exit 1
- ;;
-esac
-else
-
-# Here we handle the default operating systems that come with various machines.
-# The value should be what the vendor currently ships out the door with their
-# machine or put another way, the most popular os provided with the machine.
-
-# Note that if you're going to try to match "-MANUFACTURER" here (say,
-# "-sun"), then you have to tell the case statement up towards the top
-# that MANUFACTURER isn't an operating system. Otherwise, code above
-# will signal an error saying that MANUFACTURER isn't an operating
-# system, and we'll never get to this point.
-
-case $basic_machine in
- *-acorn)
- os=-riscix1.2
- ;;
- arm*-rebel)
- os=-linux
- ;;
- arm*-semi)
- os=-aout
- ;;
- c4x-* | tic4x-*)
- os=-coff
- ;;
- # This must come before the *-dec entry.
- pdp10-*)
- os=-tops20
- ;;
- pdp11-*)
- os=-none
- ;;
- *-dec | vax-*)
- os=-ultrix4.2
- ;;
- m68*-apollo)
- os=-domain
- ;;
- i386-sun)
- os=-sunos4.0.2
- ;;
- m68000-sun)
- os=-sunos3
- # This also exists in the configure program, but was not the
- # default.
- # os=-sunos4
- ;;
- m68*-cisco)
- os=-aout
- ;;
- mips*-cisco)
- os=-elf
- ;;
- mips*-*)
- os=-elf
- ;;
- or32-*)
- os=-coff
- ;;
- *-tti) # must be before sparc entry or we get the wrong os.
- os=-sysv3
- ;;
- sparc-* | *-sun)
- os=-sunos4.1.1
- ;;
- *-be)
- os=-beos
- ;;
- *-ibm)
- os=-aix
- ;;
- *-wec)
- os=-proelf
- ;;
- *-winbond)
- os=-proelf
- ;;
- *-oki)
- os=-proelf
- ;;
- *-hp)
- os=-hpux
- ;;
- *-hitachi)
- os=-hiux
- ;;
- i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
- os=-sysv
- ;;
- *-cbm)
- os=-amigaos
- ;;
- *-dg)
- os=-dgux
- ;;
- *-dolphin)
- os=-sysv3
- ;;
- m68k-ccur)
- os=-rtu
- ;;
- m88k-omron*)
- os=-luna
- ;;
- *-next )
- os=-nextstep
- ;;
- *-sequent)
- os=-ptx
- ;;
- *-crds)
- os=-unos
- ;;
- *-ns)
- os=-genix
- ;;
- i370-*)
- os=-mvs
- ;;
- *-next)
- os=-nextstep3
- ;;
- *-gould)
- os=-sysv
- ;;
- *-highlevel)
- os=-bsd
- ;;
- *-encore)
- os=-bsd
- ;;
- *-sgi)
- os=-irix
- ;;
- *-siemens)
- os=-sysv4
- ;;
- *-masscomp)
- os=-rtu
- ;;
- f30[01]-fujitsu | f700-fujitsu)
- os=-uxpv
- ;;
- *-rom68k)
- os=-coff
- ;;
- *-*bug)
- os=-coff
- ;;
- *-apple)
- os=-macos
- ;;
- *-atari*)
- os=-mint
- ;;
- *)
- os=-none
- ;;
-esac
-fi
-
-# Here we handle the case where we know the os, and the CPU type, but not the
-# manufacturer. We pick the logical manufacturer.
-vendor=unknown
-case $basic_machine in
- *-unknown)
- case $os in
- -riscix*)
- vendor=acorn
- ;;
- -sunos*)
- vendor=sun
- ;;
- -aix*)
- vendor=ibm
- ;;
- -beos*)
- vendor=be
- ;;
- -hpux*)
- vendor=hp
- ;;
- -mpeix*)
- vendor=hp
- ;;
- -hiux*)
- vendor=hitachi
- ;;
- -unos*)
- vendor=crds
- ;;
- -dgux*)
- vendor=dg
- ;;
- -luna*)
- vendor=omron
- ;;
- -genix*)
- vendor=ns
- ;;
- -mvs* | -opened*)
- vendor=ibm
- ;;
- -ptx*)
- vendor=sequent
- ;;
- -vxsim* | -vxworks* | -windiss*)
- vendor=wrs
- ;;
- -aux*)
- vendor=apple
- ;;
- -hms*)
- vendor=hitachi
- ;;
- -mpw* | -macos*)
- vendor=apple
- ;;
- -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
- vendor=atari
- ;;
- -vos*)
- vendor=stratus
- ;;
- esac
- basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
- ;;
-esac
-
-echo $basic_machine$os
-exit 0
-
-# Local variables:
-# eval: (add-hook 'write-file-hooks 'time-stamp)
-# time-stamp-start: "timestamp='"
-# time-stamp-format: "%:y-%02m-%02d"
-# time-stamp-end: "'"
-# End:
diff --git a/winsup/mingw/configure b/winsup/mingw/configure
deleted file mode 100755
index 05699ab0a..000000000
--- a/winsup/mingw/configure
+++ /dev/null
@@ -1,2163 +0,0 @@
-#! /bin/sh
-
-# Guess values for system-dependent variables and create Makefiles.
-# Generated automatically using autoconf version 2.13
-# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
-#
-# This configure script is free software; the Free Software Foundation
-# gives unlimited permission to copy, distribute and modify it.
-
-# Defaults:
-ac_help=
-ac_default_prefix=/usr/local
-# Any additions from configure.in:
-
-# Initialize some variables set by options.
-# The variables have the same names as the options, with
-# dashes changed to underlines.
-build=NONE
-cache_file=./config.cache
-exec_prefix=NONE
-host=NONE
-no_create=
-nonopt=NONE
-no_recursion=
-prefix=NONE
-program_prefix=NONE
-program_suffix=NONE
-program_transform_name=s,x,x,
-silent=
-site=
-srcdir=
-target=NONE
-verbose=
-x_includes=NONE
-x_libraries=NONE
-bindir='${exec_prefix}/bin'
-sbindir='${exec_prefix}/sbin'
-libexecdir='${exec_prefix}/libexec'
-datadir='${prefix}/share'
-sysconfdir='${prefix}/etc'
-sharedstatedir='${prefix}/com'
-localstatedir='${prefix}/var'
-libdir='${exec_prefix}/lib'
-includedir='${prefix}/include'
-oldincludedir='/usr/include'
-infodir='${prefix}/info'
-mandir='${prefix}/man'
-
-# Initialize some other variables.
-subdirs=
-MFLAGS= MAKEFLAGS=
-SHELL=${CONFIG_SHELL-/bin/sh}
-# Maximum number of lines to put in a shell here document.
-ac_max_here_lines=12
-
-ac_prev=
-for ac_option
-do
-
- # If the previous option needs an argument, assign it.
- if test -n "$ac_prev"; then
- eval "$ac_prev=\$ac_option"
- ac_prev=
- continue
- fi
-
- case "$ac_option" in
- -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
- *) ac_optarg= ;;
- esac
-
- # Accept the important Cygnus configure options, so we can diagnose typos.
-
- case "$ac_option" in
-
- -bindir | --bindir | --bindi | --bind | --bin | --bi)
- ac_prev=bindir ;;
- -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
- bindir="$ac_optarg" ;;
-
- -build | --build | --buil | --bui | --bu)
- ac_prev=build ;;
- -build=* | --build=* | --buil=* | --bui=* | --bu=*)
- build="$ac_optarg" ;;
-
- -cache-file | --cache-file | --cache-fil | --cache-fi \
- | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
- ac_prev=cache_file ;;
- -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
- | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
- cache_file="$ac_optarg" ;;
-
- -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
- ac_prev=datadir ;;
- -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
- | --da=*)
- datadir="$ac_optarg" ;;
-
- -disable-* | --disable-*)
- ac_feature=`echo $ac_option|sed -e 's/-*disable-//'`
- # Reject names that are not valid shell variable names.
- if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then
- { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
- fi
- ac_feature=`echo $ac_feature| sed 's/-/_/g'`
- eval "enable_${ac_feature}=no" ;;
-
- -enable-* | --enable-*)
- ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'`
- # Reject names that are not valid shell variable names.
- if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then
- { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
- fi
- ac_feature=`echo $ac_feature| sed 's/-/_/g'`
- case "$ac_option" in
- *=*) ;;
- *) ac_optarg=yes ;;
- esac
- eval "enable_${ac_feature}='$ac_optarg'" ;;
-
- -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
- | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
- | --exec | --exe | --ex)
- ac_prev=exec_prefix ;;
- -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
- | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
- | --exec=* | --exe=* | --ex=*)
- exec_prefix="$ac_optarg" ;;
-
- -gas | --gas | --ga | --g)
- # Obsolete; use --with-gas.
- with_gas=yes ;;
-
- -help | --help | --hel | --he)
- # Omit some internal or obsolete options to make the list less imposing.
- # This message is too long to be a string in the A/UX 3.1 sh.
- cat << EOF
-Usage: configure [options] [host]
-Options: [defaults in brackets after descriptions]
-Configuration:
- --cache-file=FILE cache test results in FILE
- --help print this message
- --no-create do not create output files
- --quiet, --silent do not print \`checking...' messages
- --version print the version of autoconf that created configure
-Directory and file names:
- --prefix=PREFIX install architecture-independent files in PREFIX
- [$ac_default_prefix]
- --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
- [same as prefix]
- --bindir=DIR user executables in DIR [EPREFIX/bin]
- --sbindir=DIR system admin executables in DIR [EPREFIX/sbin]
- --libexecdir=DIR program executables in DIR [EPREFIX/libexec]
- --datadir=DIR read-only architecture-independent data in DIR
- [PREFIX/share]
- --sysconfdir=DIR read-only single-machine data in DIR [PREFIX/etc]
- --sharedstatedir=DIR modifiable architecture-independent data in DIR
- [PREFIX/com]
- --localstatedir=DIR modifiable single-machine data in DIR [PREFIX/var]
- --libdir=DIR object code libraries in DIR [EPREFIX/lib]
- --includedir=DIR C header files in DIR [PREFIX/include]
- --oldincludedir=DIR C header files for non-gcc in DIR [/usr/include]
- --infodir=DIR info documentation in DIR [PREFIX/info]
- --mandir=DIR man documentation in DIR [PREFIX/man]
- --srcdir=DIR find the sources in DIR [configure dir or ..]
- --program-prefix=PREFIX prepend PREFIX to installed program names
- --program-suffix=SUFFIX append SUFFIX to installed program names
- --program-transform-name=PROGRAM
- run sed PROGRAM on installed program names
-EOF
- cat << EOF
-Host type:
- --build=BUILD configure for building on BUILD [BUILD=HOST]
- --host=HOST configure for HOST [guessed]
- --target=TARGET configure for TARGET [TARGET=HOST]
-Features and packages:
- --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
- --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
- --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
- --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
- --x-includes=DIR X include files are in DIR
- --x-libraries=DIR X library files are in DIR
-EOF
- if test -n "$ac_help"; then
- echo "--enable and --with options recognized:$ac_help"
- fi
- exit 0 ;;
-
- -host | --host | --hos | --ho)
- ac_prev=host ;;
- -host=* | --host=* | --hos=* | --ho=*)
- host="$ac_optarg" ;;
-
- -includedir | --includedir | --includedi | --included | --include \
- | --includ | --inclu | --incl | --inc)
- ac_prev=includedir ;;
- -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
- | --includ=* | --inclu=* | --incl=* | --inc=*)
- includedir="$ac_optarg" ;;
-
- -infodir | --infodir | --infodi | --infod | --info | --inf)
- ac_prev=infodir ;;
- -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
- infodir="$ac_optarg" ;;
-
- -libdir | --libdir | --libdi | --libd)
- ac_prev=libdir ;;
- -libdir=* | --libdir=* | --libdi=* | --libd=*)
- libdir="$ac_optarg" ;;
-
- -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
- | --libexe | --libex | --libe)
- ac_prev=libexecdir ;;
- -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
- | --libexe=* | --libex=* | --libe=*)
- libexecdir="$ac_optarg" ;;
-
- -localstatedir | --localstatedir | --localstatedi | --localstated \
- | --localstate | --localstat | --localsta | --localst \
- | --locals | --local | --loca | --loc | --lo)
- ac_prev=localstatedir ;;
- -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
- | --localstate=* | --localstat=* | --localsta=* | --localst=* \
- | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
- localstatedir="$ac_optarg" ;;
-
- -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
- ac_prev=mandir ;;
- -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
- mandir="$ac_optarg" ;;
-
- -nfp | --nfp | --nf)
- # Obsolete; use --without-fp.
- with_fp=no ;;
-
- -no-create | --no-create | --no-creat | --no-crea | --no-cre \
- | --no-cr | --no-c)
- no_create=yes ;;
-
- -no-recursion | --no-recursion | --no-recursio | --no-recursi \
- | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
- no_recursion=yes ;;
-
- -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
- | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
- | --oldin | --oldi | --old | --ol | --o)
- ac_prev=oldincludedir ;;
- -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
- | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
- | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
- oldincludedir="$ac_optarg" ;;
-
- -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
- ac_prev=prefix ;;
- -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
- prefix="$ac_optarg" ;;
-
- -program-prefix | --program-prefix | --program-prefi | --program-pref \
- | --program-pre | --program-pr | --program-p)
- ac_prev=program_prefix ;;
- -program-prefix=* | --program-prefix=* | --program-prefi=* \
- | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
- program_prefix="$ac_optarg" ;;
-
- -program-suffix | --program-suffix | --program-suffi | --program-suff \
- | --program-suf | --program-su | --program-s)
- ac_prev=program_suffix ;;
- -program-suffix=* | --program-suffix=* | --program-suffi=* \
- | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
- program_suffix="$ac_optarg" ;;
-
- -program-transform-name | --program-transform-name \
- | --program-transform-nam | --program-transform-na \
- | --program-transform-n | --program-transform- \
- | --program-transform | --program-transfor \
- | --program-transfo | --program-transf \
- | --program-trans | --program-tran \
- | --progr-tra | --program-tr | --program-t)
- ac_prev=program_transform_name ;;
- -program-transform-name=* | --program-transform-name=* \
- | --program-transform-nam=* | --program-transform-na=* \
- | --program-transform-n=* | --program-transform-=* \
- | --program-transform=* | --program-transfor=* \
- | --program-transfo=* | --program-transf=* \
- | --program-trans=* | --program-tran=* \
- | --progr-tra=* | --program-tr=* | --program-t=*)
- program_transform_name="$ac_optarg" ;;
-
- -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- | -silent | --silent | --silen | --sile | --sil)
- silent=yes ;;
-
- -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
- ac_prev=sbindir ;;
- -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
- | --sbi=* | --sb=*)
- sbindir="$ac_optarg" ;;
-
- -sharedstatedir | --sharedstatedir | --sharedstatedi \
- | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
- | --sharedst | --shareds | --shared | --share | --shar \
- | --sha | --sh)
- ac_prev=sharedstatedir ;;
- -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
- | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
- | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
- | --sha=* | --sh=*)
- sharedstatedir="$ac_optarg" ;;
-
- -site | --site | --sit)
- ac_prev=site ;;
- -site=* | --site=* | --sit=*)
- site="$ac_optarg" ;;
-
- -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
- ac_prev=srcdir ;;
- -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
- srcdir="$ac_optarg" ;;
-
- -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
- | --syscon | --sysco | --sysc | --sys | --sy)
- ac_prev=sysconfdir ;;
- -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
- | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
- sysconfdir="$ac_optarg" ;;
-
- -target | --target | --targe | --targ | --tar | --ta | --t)
- ac_prev=target ;;
- -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
- target="$ac_optarg" ;;
-
- -v | -verbose | --verbose | --verbos | --verbo | --verb)
- verbose=yes ;;
-
- -version | --version | --versio | --versi | --vers)
- echo "configure generated by autoconf version 2.13"
- exit 0 ;;
-
- -with-* | --with-*)
- ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'`
- # Reject names that are not valid shell variable names.
- if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then
- { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
- fi
- ac_package=`echo $ac_package| sed 's/-/_/g'`
- case "$ac_option" in
- *=*) ;;
- *) ac_optarg=yes ;;
- esac
- eval "with_${ac_package}='$ac_optarg'" ;;
-
- -without-* | --without-*)
- ac_package=`echo $ac_option|sed -e 's/-*without-//'`
- # Reject names that are not valid shell variable names.
- if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then
- { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
- fi
- ac_package=`echo $ac_package| sed 's/-/_/g'`
- eval "with_${ac_package}=no" ;;
-
- --x)
- # Obsolete; use --with-x.
- with_x=yes ;;
-
- -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
- | --x-incl | --x-inc | --x-in | --x-i)
- ac_prev=x_includes ;;
- -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
- | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
- x_includes="$ac_optarg" ;;
-
- -x-libraries | --x-libraries | --x-librarie | --x-librari \
- | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
- ac_prev=x_libraries ;;
- -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
- | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
- x_libraries="$ac_optarg" ;;
-
- -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; }
- ;;
-
- *)
- if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then
- echo "configure: warning: $ac_option: invalid host type" 1>&2
- fi
- if test "x$nonopt" != xNONE; then
- { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; }
- fi
- nonopt="$ac_option"
- ;;
-
- esac
-done
-
-if test -n "$ac_prev"; then
- { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; }
-fi
-
-trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
-
-# File descriptor usage:
-# 0 standard input
-# 1 file creation
-# 2 errors and warnings
-# 3 some systems may open it to /dev/tty
-# 4 used on the Kubota Titan
-# 6 checking for... messages and results
-# 5 compiler messages saved in config.log
-if test "$silent" = yes; then
- exec 6>/dev/null
-else
- exec 6>&1
-fi
-exec 5>./config.log
-
-echo "\
-This file contains any messages produced by compilers while
-running configure, to aid debugging if configure makes a mistake.
-" 1>&5
-
-# Strip out --no-create and --no-recursion so they do not pile up.
-# Also quote any args containing shell metacharacters.
-ac_configure_args=
-for ac_arg
-do
- case "$ac_arg" in
- -no-create | --no-create | --no-creat | --no-crea | --no-cre \
- | --no-cr | --no-c) ;;
- -no-recursion | --no-recursion | --no-recursio | --no-recursi \
- | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;;
- *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*)
- ac_configure_args="$ac_configure_args '$ac_arg'" ;;
- *) ac_configure_args="$ac_configure_args $ac_arg" ;;
- esac
-done
-
-# NLS nuisances.
-# Only set these to C if already set. These must not be set unconditionally
-# because not all systems understand e.g. LANG=C (notably SCO).
-# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'!
-# Non-C LC_CTYPE values break the ctype check.
-if test "${LANG+set}" = set; then LANG=C; export LANG; fi
-if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
-if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi
-if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi
-
-# confdefs.h avoids OS command line length limits that DEFS can exceed.
-rm -rf conftest* confdefs.h
-# AIX cpp loses on an empty file, so make sure it contains at least a newline.
-echo > confdefs.h
-
-# A filename unique to this package, relative to the directory that
-# configure is in, which we can look for to find out if srcdir is correct.
-ac_unique_file=dllmain.c
-
-# Find the source files, if location was not specified.
-if test -z "$srcdir"; then
- ac_srcdir_defaulted=yes
- # Try the directory containing this script, then its parent.
- ac_prog=$0
- ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'`
- test "x$ac_confdir" = "x$ac_prog" && ac_confdir=.
- srcdir=$ac_confdir
- if test ! -r $srcdir/$ac_unique_file; then
- srcdir=..
- fi
-else
- ac_srcdir_defaulted=no
-fi
-if test ! -r $srcdir/$ac_unique_file; then
- if test "$ac_srcdir_defaulted" = yes; then
- { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; }
- else
- { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; }
- fi
-fi
-srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'`
-
-# Prefer explicitly selected file to automatically selected ones.
-if test -z "$CONFIG_SITE"; then
- if test "x$prefix" != xNONE; then
- CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
- else
- CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
- fi
-fi
-for ac_site_file in $CONFIG_SITE; do
- if test -r "$ac_site_file"; then
- echo "loading site script $ac_site_file"
- . "$ac_site_file"
- fi
-done
-
-if test -r "$cache_file"; then
- echo "loading cache $cache_file"
- . $cache_file
-else
- echo "creating cache $cache_file"
- > $cache_file
-fi
-
-ac_ext=c
-# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
-ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
-cross_compiling=$ac_cv_prog_cc_cross
-
-ac_exeext=
-ac_objext=o
-if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
- # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
- if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
- ac_n= ac_c='
-' ac_t=' '
- else
- ac_n=-n ac_c= ac_t=
- fi
-else
- ac_n= ac_c='\c' ac_t=
-fi
-
-
-
-
-
-
-ac_aux_dir=
-for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do
- if test -f $ac_dir/install-sh; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/install-sh -c"
- break
- elif test -f $ac_dir/install.sh; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/install.sh -c"
- break
- fi
-done
-if test -z "$ac_aux_dir"; then
- { echo "configure: error: can not find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." 1>&2; exit 1; }
-fi
-ac_config_guess=$ac_aux_dir/config.guess
-ac_config_sub=$ac_aux_dir/config.sub
-ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
-
-
-# Make sure we can run config.sub.
-if ${CONFIG_SHELL-/bin/sh} $ac_config_sub sun4 >/dev/null 2>&1; then :
-else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
-fi
-
-echo $ac_n "checking host system type""... $ac_c" 1>&6
-echo "configure:555: checking host system type" >&5
-
-host_alias=$host
-case "$host_alias" in
-NONE)
- case $nonopt in
- NONE)
- if host_alias=`${CONFIG_SHELL-/bin/sh} $ac_config_guess`; then :
- else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; }
- fi ;;
- *) host_alias=$nonopt ;;
- esac ;;
-esac
-
-host=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $host_alias`
-host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
-host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
-host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
-echo "$ac_t""$host" 1>&6
-
-echo $ac_n "checking build system type""... $ac_c" 1>&6
-echo "configure:576: checking build system type" >&5
-
-build_alias=$build
-case "$build_alias" in
-NONE)
- case $nonopt in
- NONE) build_alias=$host_alias ;;
- *) build_alias=$nonopt ;;
- esac ;;
-esac
-
-build=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $build_alias`
-build_cpu=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
-build_vendor=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
-build_os=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
-echo "$ac_t""$build" 1>&6
-
-if test $host != $build; then
- ac_tool_prefix=${host_alias}-
-else
- ac_tool_prefix=
-fi
-
-# Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}gcc; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:602: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
- ac_dummy="$PATH"
- for ac_dir in $ac_dummy; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- ac_cv_prog_CC="${ac_tool_prefix}gcc"
- break
- fi
- done
- IFS="$ac_save_ifs"
-fi
-fi
-CC="$ac_cv_prog_CC"
-if test -n "$CC"; then
- echo "$ac_t""$CC" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
-
-if test -z "$ac_cv_prog_CC"; then
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "gcc", so it can be a program name with args.
-set dummy gcc; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:634: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
- ac_dummy="$PATH"
- for ac_dir in $ac_dummy; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- ac_cv_prog_CC="gcc"
- break
- fi
- done
- IFS="$ac_save_ifs"
- test -z "$ac_cv_prog_CC" && ac_cv_prog_CC="gcc"
-fi
-fi
-CC="$ac_cv_prog_CC"
-if test -n "$CC"; then
- echo "$ac_t""$CC" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
-else
- CC="gcc"
-fi
-fi
-
-if test -z "$CC"; then
- # Extract the first word of "cc", so it can be a program name with args.
-set dummy cc; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:670: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
- ac_prog_rejected=no
- ac_dummy="$PATH"
- for ac_dir in $ac_dummy; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then
- ac_prog_rejected=yes
- continue
- fi
- ac_cv_prog_CC="cc"
- break
- fi
- done
- IFS="$ac_save_ifs"
-if test $ac_prog_rejected = yes; then
- # We found a bogon in the path, so make sure we never use it.
- set dummy $ac_cv_prog_CC
- shift
- if test $# -gt 0; then
- # We chose a different compiler from the bogus one.
- # However, it has the same basename, so the bogon will be chosen
- # first if we set CC to just the basename; use the full file name.
- shift
- set dummy "$ac_dir/$ac_word" "$@"
- shift
- ac_cv_prog_CC="$@"
- fi
-fi
-fi
-fi
-CC="$ac_cv_prog_CC"
-if test -n "$CC"; then
- echo "$ac_t""$CC" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
- test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; }
-fi
-
-echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
-echo "configure:719: checking whether we are using GNU C" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.c <<EOF
-#ifdef __GNUC__
- yes;
-#endif
-EOF
-if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:728: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
- ac_cv_prog_gcc=yes
-else
- ac_cv_prog_gcc=no
-fi
-fi
-
-echo "$ac_t""$ac_cv_prog_gcc" 1>&6
-
-if test $ac_cv_prog_gcc = yes; then
- GCC=yes
- ac_test_CFLAGS="${CFLAGS+set}"
- ac_save_CFLAGS="$CFLAGS"
- CFLAGS=
- echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
-echo "configure:743: checking whether ${CC-cc} accepts -g" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- echo 'void f(){}' > conftest.c
-if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then
- ac_cv_prog_cc_g=yes
-else
- ac_cv_prog_cc_g=no
-fi
-rm -f conftest*
-
-fi
-
-echo "$ac_t""$ac_cv_prog_cc_g" 1>&6
- if test "$ac_test_CFLAGS" = set; then
- CFLAGS="$ac_save_CFLAGS"
- elif test $ac_cv_prog_cc_g = yes; then
- CFLAGS="-g -O2"
- else
- CFLAGS="-O2"
- fi
- if test "$ac_test_CXXFLAGS" != set; then
- CXXFLAGS='$(CFLAGS)'
- fi
-else
- GCC=
- test "${CFLAGS+set}" = set || CFLAGS="-g"
-fi
-
-
-case "$with_cross_host" in
- ""|*cygwin*) all_dlls_host='all_dlls_host'
- install_dlls_host='install_dlls_host';;
-esac
-
-
-
-# Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
-set dummy ${ac_tool_prefix}ar; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:784: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$AR"; then
- ac_cv_prog_AR="$AR" # Let the user override the test.
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
- ac_dummy="$PATH"
- for ac_dir in $ac_dummy; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- ac_cv_prog_AR="${ac_tool_prefix}ar"
- break
- fi
- done
- IFS="$ac_save_ifs"
-fi
-fi
-AR="$ac_cv_prog_AR"
-if test -n "$AR"; then
- echo "$ac_t""$AR" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
-
-if test -z "$ac_cv_prog_AR"; then
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "ar", so it can be a program name with args.
-set dummy ar; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:816: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$AR"; then
- ac_cv_prog_AR="$AR" # Let the user override the test.
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
- ac_dummy="$PATH"
- for ac_dir in $ac_dummy; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- ac_cv_prog_AR="ar"
- break
- fi
- done
- IFS="$ac_save_ifs"
- test -z "$ac_cv_prog_AR" && ac_cv_prog_AR="ar"
-fi
-fi
-AR="$ac_cv_prog_AR"
-if test -n "$AR"; then
- echo "$ac_t""$AR" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
-else
- AR="ar"
-fi
-fi
-
-
-
-# Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args.
-set dummy ${ac_tool_prefix}as; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:853: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_AS'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$AS"; then
- ac_cv_prog_AS="$AS" # Let the user override the test.
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
- ac_dummy="$PATH"
- for ac_dir in $ac_dummy; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- ac_cv_prog_AS="${ac_tool_prefix}as"
- break
- fi
- done
- IFS="$ac_save_ifs"
-fi
-fi
-AS="$ac_cv_prog_AS"
-if test -n "$AS"; then
- echo "$ac_t""$AS" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
-
-if test -z "$ac_cv_prog_AS"; then
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "as", so it can be a program name with args.
-set dummy as; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:885: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_AS'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$AS"; then
- ac_cv_prog_AS="$AS" # Let the user override the test.
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
- ac_dummy="$PATH"
- for ac_dir in $ac_dummy; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- ac_cv_prog_AS="as"
- break
- fi
- done
- IFS="$ac_save_ifs"
- test -z "$ac_cv_prog_AS" && ac_cv_prog_AS="as"
-fi
-fi
-AS="$ac_cv_prog_AS"
-if test -n "$AS"; then
- echo "$ac_t""$AS" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
-else
- AS="as"
-fi
-fi
-
-
-# Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
-set dummy ${ac_tool_prefix}ranlib; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:921: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$RANLIB"; then
- ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
- ac_dummy="$PATH"
- for ac_dir in $ac_dummy; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
- break
- fi
- done
- IFS="$ac_save_ifs"
-fi
-fi
-RANLIB="$ac_cv_prog_RANLIB"
-if test -n "$RANLIB"; then
- echo "$ac_t""$RANLIB" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
-
-if test -z "$ac_cv_prog_RANLIB"; then
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "ranlib", so it can be a program name with args.
-set dummy ranlib; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:953: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$RANLIB"; then
- ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
- ac_dummy="$PATH"
- for ac_dir in $ac_dummy; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- ac_cv_prog_RANLIB="ranlib"
- break
- fi
- done
- IFS="$ac_save_ifs"
- test -z "$ac_cv_prog_RANLIB" && ac_cv_prog_RANLIB="ranlib"
-fi
-fi
-RANLIB="$ac_cv_prog_RANLIB"
-if test -n "$RANLIB"; then
- echo "$ac_t""$RANLIB" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
-else
- RANLIB="ranlib"
-fi
-fi
-
-
-# Extract the first word of "${ac_tool_prefix}ld", so it can be a program name with args.
-set dummy ${ac_tool_prefix}ld; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:989: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_LD'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$LD"; then
- ac_cv_prog_LD="$LD" # Let the user override the test.
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
- ac_dummy="$PATH"
- for ac_dir in $ac_dummy; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- ac_cv_prog_LD="${ac_tool_prefix}ld"
- break
- fi
- done
- IFS="$ac_save_ifs"
-fi
-fi
-LD="$ac_cv_prog_LD"
-if test -n "$LD"; then
- echo "$ac_t""$LD" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
-
-if test -z "$ac_cv_prog_LD"; then
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "ld", so it can be a program name with args.
-set dummy ld; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1021: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_LD'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$LD"; then
- ac_cv_prog_LD="$LD" # Let the user override the test.
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
- ac_dummy="$PATH"
- for ac_dir in $ac_dummy; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- ac_cv_prog_LD="ld"
- break
- fi
- done
- IFS="$ac_save_ifs"
- test -z "$ac_cv_prog_LD" && ac_cv_prog_LD="ld"
-fi
-fi
-LD="$ac_cv_prog_LD"
-if test -n "$LD"; then
- echo "$ac_t""$LD" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
-else
- LD="ld"
-fi
-fi
-
-
-# Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args.
-set dummy ${ac_tool_prefix}dlltool; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1057: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_DLLTOOL'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$DLLTOOL"; then
- ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test.
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
- ac_dummy="$PATH"
- for ac_dir in $ac_dummy; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool"
- break
- fi
- done
- IFS="$ac_save_ifs"
-fi
-fi
-DLLTOOL="$ac_cv_prog_DLLTOOL"
-if test -n "$DLLTOOL"; then
- echo "$ac_t""$DLLTOOL" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
-
-if test -z "$ac_cv_prog_DLLTOOL"; then
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "dlltool", so it can be a program name with args.
-set dummy dlltool; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1089: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_DLLTOOL'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$DLLTOOL"; then
- ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test.
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
- ac_dummy="$PATH"
- for ac_dir in $ac_dummy; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- ac_cv_prog_DLLTOOL="dlltool"
- break
- fi
- done
- IFS="$ac_save_ifs"
- test -z "$ac_cv_prog_DLLTOOL" && ac_cv_prog_DLLTOOL="dlltool"
-fi
-fi
-DLLTOOL="$ac_cv_prog_DLLTOOL"
-if test -n "$DLLTOOL"; then
- echo "$ac_t""$DLLTOOL" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
-else
- DLLTOOL="dlltool"
-fi
-fi
-
-
-# Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args.
-set dummy ${ac_tool_prefix}dlltool; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1125: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_DLLWRAP'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$DLLWRAP"; then
- ac_cv_prog_DLLWRAP="$DLLWRAP" # Let the user override the test.
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
- ac_dummy="$PATH"
- for ac_dir in $ac_dummy; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- ac_cv_prog_DLLWRAP="${ac_tool_prefix}dlltool"
- break
- fi
- done
- IFS="$ac_save_ifs"
-fi
-fi
-DLLWRAP="$ac_cv_prog_DLLWRAP"
-if test -n "$DLLWRAP"; then
- echo "$ac_t""$DLLWRAP" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
-
-if test -z "$ac_cv_prog_DLLWRAP"; then
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "dlltool", so it can be a program name with args.
-set dummy dlltool; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1157: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_DLLWRAP'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$DLLWRAP"; then
- ac_cv_prog_DLLWRAP="$DLLWRAP" # Let the user override the test.
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
- ac_dummy="$PATH"
- for ac_dir in $ac_dummy; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- ac_cv_prog_DLLWRAP="dlltool"
- break
- fi
- done
- IFS="$ac_save_ifs"
- test -z "$ac_cv_prog_DLLWRAP" && ac_cv_prog_DLLWRAP="dlltool"
-fi
-fi
-DLLWRAP="$ac_cv_prog_DLLWRAP"
-if test -n "$DLLWRAP"; then
- echo "$ac_t""$DLLWRAP" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
-else
- DLLWRAP="dlltool"
-fi
-fi
-
-
-# Extract the first word of "${ac_tool_prefix}windres", so it can be a program name with args.
-set dummy ${ac_tool_prefix}windres; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1193: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_WINDRES'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$WINDRES"; then
- ac_cv_prog_WINDRES="$WINDRES" # Let the user override the test.
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
- ac_dummy="$PATH"
- for ac_dir in $ac_dummy; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- ac_cv_prog_WINDRES="${ac_tool_prefix}windres"
- break
- fi
- done
- IFS="$ac_save_ifs"
-fi
-fi
-WINDRES="$ac_cv_prog_WINDRES"
-if test -n "$WINDRES"; then
- echo "$ac_t""$WINDRES" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
-
-if test -z "$ac_cv_prog_WINDRES"; then
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "windres", so it can be a program name with args.
-set dummy windres; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1225: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_WINDRES'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$WINDRES"; then
- ac_cv_prog_WINDRES="$WINDRES" # Let the user override the test.
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
- ac_dummy="$PATH"
- for ac_dir in $ac_dummy; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- ac_cv_prog_WINDRES="windres"
- break
- fi
- done
- IFS="$ac_save_ifs"
- test -z "$ac_cv_prog_WINDRES" && ac_cv_prog_WINDRES="windres"
-fi
-fi
-WINDRES="$ac_cv_prog_WINDRES"
-if test -n "$WINDRES"; then
- echo "$ac_t""$WINDRES" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
-else
- WINDRES="windres"
-fi
-fi
-
-
-
-echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
-echo "configure:1260: checking how to run the C preprocessor" >&5
-# On Suns, sometimes $CPP names a directory.
-if test -n "$CPP" && test -d "$CPP"; then
- CPP=
-fi
-if test -z "$CPP"; then
-if eval "test \"`echo '$''{'ac_cv_prog_CPP'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- # This must be in double quotes, not single quotes, because CPP may get
- # substituted into the Makefile and "${CC-cc}" will confuse make.
- CPP="${CC-cc} -E"
- # On the NeXT, cc -E runs the code through the compiler's parser,
- # not just through cpp.
- cat > conftest.$ac_ext <<EOF
-#line 1275 "configure"
-#include "confdefs.h"
-#include <assert.h>
-Syntax Error
-EOF
-ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1281: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
-if test -z "$ac_err"; then
- :
-else
- echo "$ac_err" >&5
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- CPP="${CC-cc} -E -traditional-cpp"
- cat > conftest.$ac_ext <<EOF
-#line 1292 "configure"
-#include "confdefs.h"
-#include <assert.h>
-Syntax Error
-EOF
-ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1298: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
-if test -z "$ac_err"; then
- :
-else
- echo "$ac_err" >&5
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- CPP="${CC-cc} -nologo -E"
- cat > conftest.$ac_ext <<EOF
-#line 1309 "configure"
-#include "confdefs.h"
-#include <assert.h>
-Syntax Error
-EOF
-ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1315: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
-if test -z "$ac_err"; then
- :
-else
- echo "$ac_err" >&5
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- CPP=/lib/cpp
-fi
-rm -f conftest*
-fi
-rm -f conftest*
-fi
-rm -f conftest*
- ac_cv_prog_CPP="$CPP"
-fi
- CPP="$ac_cv_prog_CPP"
-else
- ac_cv_prog_CPP="$CPP"
-fi
-echo "$ac_t""$CPP" 1>&6
-
-# The Ultrix 4.2 mips builtin alloca declared by alloca.h only works
-# for constant arguments. Useless!
-echo $ac_n "checking for working alloca.h""... $ac_c" 1>&6
-echo "configure:1342: checking for working alloca.h" >&5
-if eval "test \"`echo '$''{'ac_cv_header_alloca_h'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 1347 "configure"
-#include "confdefs.h"
-#include <alloca.h>
-int main() {
-char *p = alloca(2 * sizeof(int));
-; return 0; }
-EOF
-if { (eval echo configure:1354: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
- rm -rf conftest*
- ac_cv_header_alloca_h=yes
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- ac_cv_header_alloca_h=no
-fi
-rm -f conftest*
-fi
-
-echo "$ac_t""$ac_cv_header_alloca_h" 1>&6
-if test $ac_cv_header_alloca_h = yes; then
- cat >> confdefs.h <<\EOF
-#define HAVE_ALLOCA_H 1
-EOF
-
-fi
-
-echo $ac_n "checking for alloca""... $ac_c" 1>&6
-echo "configure:1375: checking for alloca" >&5
-if eval "test \"`echo '$''{'ac_cv_func_alloca_works'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 1380 "configure"
-#include "confdefs.h"
-
-#ifdef __GNUC__
-# define alloca __builtin_alloca
-#else
-# ifdef _MSC_VER
-# include <malloc.h>
-# define alloca _alloca
-# else
-# if HAVE_ALLOCA_H
-# include <alloca.h>
-# else
-# ifdef _AIX
- #pragma alloca
-# else
-# ifndef alloca /* predefined by HP cc +Olibcalls */
-char *alloca ();
-# endif
-# endif
-# endif
-# endif
-#endif
-
-int main() {
-char *p = (char *) alloca(1);
-; return 0; }
-EOF
-if { (eval echo configure:1408: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
- rm -rf conftest*
- ac_cv_func_alloca_works=yes
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- ac_cv_func_alloca_works=no
-fi
-rm -f conftest*
-fi
-
-echo "$ac_t""$ac_cv_func_alloca_works" 1>&6
-if test $ac_cv_func_alloca_works = yes; then
- cat >> confdefs.h <<\EOF
-#define HAVE_ALLOCA 1
-EOF
-
-fi
-
-if test $ac_cv_func_alloca_works = no; then
- # The SVR3 libPW and SVR4 libucb both contain incompatible functions
- # that cause trouble. Some versions do not even contain alloca or
- # contain a buggy version. If you still want to use their alloca,
- # use ar to extract alloca.o from them instead of compiling alloca.c.
- ALLOCA=alloca.${ac_objext}
- cat >> confdefs.h <<\EOF
-#define C_ALLOCA 1
-EOF
-
-
-echo $ac_n "checking whether alloca needs Cray hooks""... $ac_c" 1>&6
-echo "configure:1440: checking whether alloca needs Cray hooks" >&5
-if eval "test \"`echo '$''{'ac_cv_os_cray'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 1445 "configure"
-#include "confdefs.h"
-#if defined(CRAY) && ! defined(CRAY2)
-webecray
-#else
-wenotbecray
-#endif
-
-EOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- egrep "webecray" >/dev/null 2>&1; then
- rm -rf conftest*
- ac_cv_os_cray=yes
-else
- rm -rf conftest*
- ac_cv_os_cray=no
-fi
-rm -f conftest*
-
-fi
-
-echo "$ac_t""$ac_cv_os_cray" 1>&6
-if test $ac_cv_os_cray = yes; then
-for ac_func in _getb67 GETB67 getb67; do
- echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:1470: checking for $ac_func" >&5
-if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 1475 "configure"
-#include "confdefs.h"
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func(); below. */
-#include <assert.h>
-/* Override any gcc2 internal prototype to avoid an error. */
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func();
-
-int main() {
-
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-$ac_func();
-#endif
-
-; return 0; }
-EOF
-if { (eval echo configure:1498: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
- rm -rf conftest*
- eval "ac_cv_func_$ac_func=yes"
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- eval "ac_cv_func_$ac_func=no"
-fi
-rm -f conftest*
-fi
-
-if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
- echo "$ac_t""yes" 1>&6
- cat >> confdefs.h <<EOF
-#define CRAY_STACKSEG_END $ac_func
-EOF
-
- break
-else
- echo "$ac_t""no" 1>&6
-fi
-
-done
-fi
-
-echo $ac_n "checking stack direction for C alloca""... $ac_c" 1>&6
-echo "configure:1525: checking stack direction for C alloca" >&5
-if eval "test \"`echo '$''{'ac_cv_c_stack_direction'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test "$cross_compiling" = yes; then
- ac_cv_c_stack_direction=0
-else
- cat > conftest.$ac_ext <<EOF
-#line 1533 "configure"
-#include "confdefs.h"
-find_stack_direction ()
-{
- static char *addr = 0;
- auto char dummy;
- if (addr == 0)
- {
- addr = &dummy;
- return find_stack_direction ();
- }
- else
- return (&dummy > addr) ? 1 : -1;
-}
-main ()
-{
- exit (find_stack_direction() < 0);
-}
-EOF
-if { (eval echo configure:1552: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
-then
- ac_cv_c_stack_direction=1
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -fr conftest*
- ac_cv_c_stack_direction=-1
-fi
-rm -fr conftest*
-fi
-
-fi
-
-echo "$ac_t""$ac_cv_c_stack_direction" 1>&6
-cat >> confdefs.h <<EOF
-#define STACK_DIRECTION $ac_cv_c_stack_direction
-EOF
-
-fi
-
-
-
-# Do some error checking and defaulting for the host and target type.
-# The inputs are:
-# configure --host=HOST --target=TARGET --build=BUILD NONOPT
-#
-# The rules are:
-# 1. You are not allowed to specify --host, --target, and nonopt at the
-# same time.
-# 2. Host defaults to nonopt.
-# 3. If nonopt is not specified, then host defaults to the current host,
-# as determined by config.guess.
-# 4. Target and build default to nonopt.
-# 5. If nonopt is not specified, then target and build default to host.
-
-# The aliases save the names the user supplied, while $host etc.
-# will get canonicalized.
-case $host---$target---$nonopt in
-NONE---*---* | *---NONE---* | *---*---NONE) ;;
-*) { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; } ;;
-esac
-
-
-# Make sure we can run config.sub.
-if ${CONFIG_SHELL-/bin/sh} $ac_config_sub sun4 >/dev/null 2>&1; then :
-else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
-fi
-
-echo $ac_n "checking host system type""... $ac_c" 1>&6
-echo "configure:1602: checking host system type" >&5
-
-host_alias=$host
-case "$host_alias" in
-NONE)
- case $nonopt in
- NONE)
- if host_alias=`${CONFIG_SHELL-/bin/sh} $ac_config_guess`; then :
- else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; }
- fi ;;
- *) host_alias=$nonopt ;;
- esac ;;
-esac
-
-host=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $host_alias`
-host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
-host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
-host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
-echo "$ac_t""$host" 1>&6
-
-echo $ac_n "checking target system type""... $ac_c" 1>&6
-echo "configure:1623: checking target system type" >&5
-
-target_alias=$target
-case "$target_alias" in
-NONE)
- case $nonopt in
- NONE) target_alias=$host_alias ;;
- *) target_alias=$nonopt ;;
- esac ;;
-esac
-
-target=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $target_alias`
-target_cpu=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
-target_vendor=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
-target_os=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
-echo "$ac_t""$target" 1>&6
-
-echo $ac_n "checking build system type""... $ac_c" 1>&6
-echo "configure:1641: checking build system type" >&5
-
-build_alias=$build
-case "$build_alias" in
-NONE)
- case $nonopt in
- NONE) build_alias=$host_alias ;;
- *) build_alias=$nonopt ;;
- esac ;;
-esac
-
-build=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $build_alias`
-build_cpu=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
-build_vendor=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
-build_os=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
-echo "$ac_t""$build" 1>&6
-
-test "$host_alias" != "$target_alias" &&
- test "$program_prefix$program_suffix$program_transform_name" = \
- NONENONEs,x,x, &&
- program_prefix=${target_alias}-
-
-SUBDIRS="profile mingwex"
-configdirs="profile mingwex"
-HEADER_SUBDIR=""
-
-LIBGMON_A=libgmon.a
-
-W32API_INCLUDE='-I $(srcdir)/../w32api/include'
-
-case "$target_os" in
-*cygwin*)
- MNO_CYGWIN=-mno-cygwin
- LIBM_A=libm.a
- # Install mingw headers in mingw subdirectory.
- HEADER_SUBDIR="mingw"
- ;;
-*)
- # Build it for MSVCRT by default.
- MNO_CYGWIN=
- LIBM_A=libm.a
- ;;
-esac
-
-# THREAD_DLL used to be set within the above case and was mingwc for CRTDLL.
-# I can find no reason to do this.
-#
-# FIXME: In the future I would like to change the dll name to mingwthrd to
-# to match the libmingwthrd.a name.
-THREAD_DLL=mingwm
-
-if test -n "$configdirs"; then
- subdirs="$configdirs"
-
-fi
-
-MKINSTALLDIRS=$ac_aux_dir/mkinstalldirs
-
-
-
-
-
-
-
-
-
-# Find a good install program. We prefer a C program (faster),
-# so one script is as good as another. But avoid the broken or
-# incompatible versions:
-# SysV /etc/install, /usr/sbin/install
-# SunOS /usr/etc/install
-# IRIX /sbin/install
-# AIX /bin/install
-# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
-# AFS /usr/afsws/bin/install, which mishandles nonexistent args
-# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
-# ./install, which can be erroneously created by make from ./install.sh.
-echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
-echo "configure:1719: checking for a BSD compatible install" >&5
-if test -z "$INSTALL"; then
-if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":"
- for ac_dir in $PATH; do
- # Account for people who put trailing slashes in PATH elements.
- case "$ac_dir/" in
- /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
- *)
- # OSF1 and SCO ODT 3.0 have their own names for install.
- # Don't use installbsd from OSF since it installs stuff as root
- # by default.
- for ac_prog in ginstall scoinst install; do
- if test -f $ac_dir/$ac_prog; then
- if test $ac_prog = install &&
- grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
- # AIX install. It has an incompatible calling convention.
- :
- else
- ac_cv_path_install="$ac_dir/$ac_prog -c"
- break 2
- fi
- fi
- done
- ;;
- esac
- done
- IFS="$ac_save_IFS"
-
-fi
- if test "${ac_cv_path_install+set}" = set; then
- INSTALL="$ac_cv_path_install"
- else
- # As a last resort, use the slow shell script. We don't cache a
- # path for INSTALL within a source directory, because that will
- # break other packages using the cache if that directory is
- # removed, or if the path is relative.
- INSTALL="$ac_install_sh"
- fi
-fi
-echo "$ac_t""$INSTALL" 1>&6
-
-# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
-# It thinks the first close brace ends the variable substitution.
-test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
-
-test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
-
-test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
-
-trap '' 1 2 15
-cat > confcache <<\EOF
-# This file is a shell script that caches the results of configure
-# tests run on this system so they can be shared between configure
-# scripts and configure runs. It is not useful on other systems.
-# If it contains results you don't want to keep, you may remove or edit it.
-#
-# By default, configure uses ./config.cache as the cache file,
-# creating it if it does not exist already. You can give configure
-# the --cache-file=FILE option to use a different cache file; that is
-# what configure does when it calls configure scripts in
-# subdirectories, so they share the cache.
-# Giving --cache-file=/dev/null disables caching, for debugging configure.
-# config.status only pays attention to the cache file if you give it the
-# --recheck option to rerun configure.
-#
-EOF
-# The following way of writing the cache mishandles newlines in values,
-# but we know of no workaround that is simple, portable, and efficient.
-# So, don't put newlines in cache variables' values.
-# Ultrix sh set writes to stderr and can't be redirected directly,
-# and sets the high bit in the cache file unless we assign to the vars.
-(set) 2>&1 |
- case `(ac_space=' '; set | grep ac_space) 2>&1` in
- *ac_space=\ *)
- # `set' does not quote correctly, so add quotes (double-quote substitution
- # turns \\\\ into \\, and sed turns \\ into \).
- sed -n \
- -e "s/'/'\\\\''/g" \
- -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p"
- ;;
- *)
- # `set' quotes correctly as required by POSIX, so do not add quotes.
- sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p'
- ;;
- esac >> confcache
-if cmp -s $cache_file confcache; then
- :
-else
- if test -w $cache_file; then
- echo "updating cache $cache_file"
- cat confcache > $cache_file
- else
- echo "not updating unwritable cache $cache_file"
- fi
-fi
-rm -f confcache
-
-trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
-
-test "x$prefix" = xNONE && prefix=$ac_default_prefix
-# Let make expand exec_prefix.
-test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
-
-# Any assignment to VPATH causes Sun make to only execute
-# the first set of double-colon rules, so remove it if not needed.
-# If there is a colon in the path, we need to keep it.
-if test "x$srcdir" = x.; then
- ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d'
-fi
-
-trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15
-
-# Transform confdefs.h into DEFS.
-# Protect against shell expansion while executing Makefile rules.
-# Protect against Makefile macro expansion.
-cat > conftest.defs <<\EOF
-s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%-D\1=\2%g
-s%[ `~#$^&*(){}\\|;'"<>?]%\\&%g
-s%\[%\\&%g
-s%\]%\\&%g
-s%\$%$$%g
-EOF
-DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '`
-rm -f conftest.defs
-
-
-# Without the "./", some shells look in PATH for config.status.
-: ${CONFIG_STATUS=./config.status}
-
-echo creating $CONFIG_STATUS
-rm -f $CONFIG_STATUS
-cat > $CONFIG_STATUS <<EOF
-#! /bin/sh
-# Generated automatically by configure.
-# Run this file to recreate the current configuration.
-# This directory was configured as follows,
-# on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
-#
-# $0 $ac_configure_args
-#
-# Compiler output produced by configure, useful for debugging
-# configure, is in ./config.log if it exists.
-
-ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]"
-for ac_option
-do
- case "\$ac_option" in
- -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
- echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
- exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
- -version | --version | --versio | --versi | --vers | --ver | --ve | --v)
- echo "$CONFIG_STATUS generated by autoconf version 2.13"
- exit 0 ;;
- -help | --help | --hel | --he | --h)
- echo "\$ac_cs_usage"; exit 0 ;;
- *) echo "\$ac_cs_usage"; exit 1 ;;
- esac
-done
-
-ac_given_srcdir=$srcdir
-ac_given_INSTALL="$INSTALL"
-
-trap 'rm -fr `echo "Makefile" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
-EOF
-cat >> $CONFIG_STATUS <<EOF
-
-# Protect against being on the right side of a sed subst in config.status.
-sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&%]/\\\\&/g;
- s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF
-$ac_vpsub
-$extrasub
-s%@SHELL@%$SHELL%g
-s%@CFLAGS@%$CFLAGS%g
-s%@CPPFLAGS@%$CPPFLAGS%g
-s%@CXXFLAGS@%$CXXFLAGS%g
-s%@FFLAGS@%$FFLAGS%g
-s%@DEFS@%$DEFS%g
-s%@LDFLAGS@%$LDFLAGS%g
-s%@LIBS@%$LIBS%g
-s%@exec_prefix@%$exec_prefix%g
-s%@prefix@%$prefix%g
-s%@program_transform_name@%$program_transform_name%g
-s%@bindir@%$bindir%g
-s%@sbindir@%$sbindir%g
-s%@libexecdir@%$libexecdir%g
-s%@datadir@%$datadir%g
-s%@sysconfdir@%$sysconfdir%g
-s%@sharedstatedir@%$sharedstatedir%g
-s%@localstatedir@%$localstatedir%g
-s%@libdir@%$libdir%g
-s%@includedir@%$includedir%g
-s%@oldincludedir@%$oldincludedir%g
-s%@infodir@%$infodir%g
-s%@mandir@%$mandir%g
-s%@host@%$host%g
-s%@host_alias@%$host_alias%g
-s%@host_cpu@%$host_cpu%g
-s%@host_vendor@%$host_vendor%g
-s%@host_os@%$host_os%g
-s%@build@%$build%g
-s%@build_alias@%$build_alias%g
-s%@build_cpu@%$build_cpu%g
-s%@build_vendor@%$build_vendor%g
-s%@build_os@%$build_os%g
-s%@CC@%$CC%g
-s%@all_dlls_host@%$all_dlls_host%g
-s%@install_dlls_host@%$install_dlls_host%g
-s%@AR@%$AR%g
-s%@AS@%$AS%g
-s%@RANLIB@%$RANLIB%g
-s%@LD@%$LD%g
-s%@DLLTOOL@%$DLLTOOL%g
-s%@DLLWRAP@%$DLLWRAP%g
-s%@WINDRES@%$WINDRES%g
-s%@CPP@%$CPP%g
-s%@ALLOCA@%$ALLOCA%g
-s%@target@%$target%g
-s%@target_alias@%$target_alias%g
-s%@target_cpu@%$target_cpu%g
-s%@target_vendor@%$target_vendor%g
-s%@target_os@%$target_os%g
-s%@subdirs@%$subdirs%g
-s%@MKINSTALLDIRS@%$MKINSTALLDIRS%g
-s%@MNO_CYGWIN@%$MNO_CYGWIN%g
-s%@THREAD_DLL@%$THREAD_DLL%g
-s%@LIBM_A@%$LIBM_A%g
-s%@LIBGMON_A@%$LIBGMON_A%g
-s%@SUBDIRS@%$SUBDIRS%g
-s%@HEADER_SUBDIR@%$HEADER_SUBDIR%g
-s%@W32API_INCLUDE@%$W32API_INCLUDE%g
-s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g
-s%@INSTALL_SCRIPT@%$INSTALL_SCRIPT%g
-s%@INSTALL_DATA@%$INSTALL_DATA%g
-
-CEOF
-EOF
-
-cat >> $CONFIG_STATUS <<\EOF
-
-# Split the substitutions into bite-sized pieces for seds with
-# small command number limits, like on Digital OSF/1 and HP-UX.
-ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script.
-ac_file=1 # Number of current file.
-ac_beg=1 # First line for current file.
-ac_end=$ac_max_sed_cmds # Line after last line for current file.
-ac_more_lines=:
-ac_sed_cmds=""
-while $ac_more_lines; do
- if test $ac_beg -gt 1; then
- sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file
- else
- sed "${ac_end}q" conftest.subs > conftest.s$ac_file
- fi
- if test ! -s conftest.s$ac_file; then
- ac_more_lines=false
- rm -f conftest.s$ac_file
- else
- if test -z "$ac_sed_cmds"; then
- ac_sed_cmds="sed -f conftest.s$ac_file"
- else
- ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file"
- fi
- ac_file=`expr $ac_file + 1`
- ac_beg=$ac_end
- ac_end=`expr $ac_end + $ac_max_sed_cmds`
- fi
-done
-if test -z "$ac_sed_cmds"; then
- ac_sed_cmds=cat
-fi
-EOF
-
-cat >> $CONFIG_STATUS <<EOF
-
-CONFIG_FILES=\${CONFIG_FILES-"Makefile"}
-EOF
-cat >> $CONFIG_STATUS <<\EOF
-for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
- # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
- case "$ac_file" in
- *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
- ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
- *) ac_file_in="${ac_file}.in" ;;
- esac
-
- # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories.
-
- # Remove last slash and all that follows it. Not all systems have dirname.
- ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
- if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
- # The file is in a subdirectory.
- test ! -d "$ac_dir" && mkdir "$ac_dir"
- ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`"
- # A "../" for each directory in $ac_dir_suffix.
- ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'`
- else
- ac_dir_suffix= ac_dots=
- fi
-
- case "$ac_given_srcdir" in
- .) srcdir=.
- if test -z "$ac_dots"; then top_srcdir=.
- else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;;
- /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;;
- *) # Relative path.
- srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix"
- top_srcdir="$ac_dots$ac_given_srcdir" ;;
- esac
-
- case "$ac_given_INSTALL" in
- [/$]*) INSTALL="$ac_given_INSTALL" ;;
- *) INSTALL="$ac_dots$ac_given_INSTALL" ;;
- esac
-
- echo creating "$ac_file"
- rm -f "$ac_file"
- configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure."
- case "$ac_file" in
- *Makefile*) ac_comsub="1i\\
-# $configure_input" ;;
- *) ac_comsub= ;;
- esac
-
- ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
- sed -e "$ac_comsub
-s%@configure_input@%$configure_input%g
-s%@srcdir@%$srcdir%g
-s%@top_srcdir@%$top_srcdir%g
-s%@INSTALL@%$INSTALL%g
-" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file
-fi; done
-rm -f conftest.s*
-
-EOF
-cat >> $CONFIG_STATUS <<EOF
-
-EOF
-cat >> $CONFIG_STATUS <<\EOF
-
-exit 0
-EOF
-chmod +x $CONFIG_STATUS
-rm -fr confdefs* $ac_clean_files
-test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1
-
-if test "$no_recursion" != yes; then
-
- # Remove --cache-file and --srcdir arguments so they do not pile up.
- ac_sub_configure_args=
- ac_prev=
- for ac_arg in $ac_configure_args; do
- if test -n "$ac_prev"; then
- ac_prev=
- continue
- fi
- case "$ac_arg" in
- -cache-file | --cache-file | --cache-fil | --cache-fi \
- | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
- ac_prev=cache_file ;;
- -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
- | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
- ;;
- -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
- ac_prev=srcdir ;;
- -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
- ;;
- *) ac_sub_configure_args="$ac_sub_configure_args $ac_arg" ;;
- esac
- done
-
- for ac_config_dir in $configdirs; do
-
- # Do not complain, so a configure script can configure whichever
- # parts of a large source tree are present.
- if test ! -d $srcdir/$ac_config_dir; then
- continue
- fi
-
- echo configuring in $ac_config_dir
-
- case "$srcdir" in
- .) ;;
- *)
- if test -d ./$ac_config_dir || mkdir ./$ac_config_dir; then :;
- else
- { echo "configure: error: can not create `pwd`/$ac_config_dir" 1>&2; exit 1; }
- fi
- ;;
- esac
-
- ac_popdir=`pwd`
- cd $ac_config_dir
-
- # A "../" for each directory in /$ac_config_dir.
- ac_dots=`echo $ac_config_dir|sed -e 's%^\./%%' -e 's%[^/]$%&/%' -e 's%[^/]*/%../%g'`
-
- case "$srcdir" in
- .) # No --srcdir option. We are building in place.
- ac_sub_srcdir=$srcdir ;;
- /*) # Absolute path.
- ac_sub_srcdir=$srcdir/$ac_config_dir ;;
- *) # Relative path.
- ac_sub_srcdir=$ac_dots$srcdir/$ac_config_dir ;;
- esac
-
- # Check for guested configure; otherwise get Cygnus style configure.
- if test -f $ac_sub_srcdir/configure; then
- ac_sub_configure=$ac_sub_srcdir/configure
- elif test -f $ac_sub_srcdir/configure.in; then
- ac_sub_configure=$ac_configure
- else
- echo "configure: warning: no configuration information is in $ac_config_dir" 1>&2
- ac_sub_configure=
- fi
-
- # The recursion is here.
- if test -n "$ac_sub_configure"; then
-
- # Make the cache file name correct relative to the subdirectory.
- case "$cache_file" in
- /*) ac_sub_cache_file=$cache_file ;;
- *) # Relative path.
- ac_sub_cache_file="$ac_dots$cache_file" ;;
- esac
- case "$ac_given_INSTALL" in
- [/$]*) INSTALL="$ac_given_INSTALL" ;;
- *) INSTALL="$ac_dots$ac_given_INSTALL" ;;
- esac
-
- echo "running ${CONFIG_SHELL-/bin/sh} $ac_sub_configure $ac_sub_configure_args --cache-file=$ac_sub_cache_file --srcdir=$ac_sub_srcdir"
- # The eval makes quoting arguments work.
- if eval ${CONFIG_SHELL-/bin/sh} $ac_sub_configure $ac_sub_configure_args --cache-file=$ac_sub_cache_file --srcdir=$ac_sub_srcdir
- then :
- else
- { echo "configure: error: $ac_sub_configure failed for $ac_config_dir" 1>&2; exit 1; }
- fi
- fi
-
- cd $ac_popdir
- done
-fi
-
-
diff --git a/winsup/mingw/configure.in b/winsup/mingw/configure.in
deleted file mode 100644
index b493b4831..000000000
--- a/winsup/mingw/configure.in
+++ /dev/null
@@ -1,136 +0,0 @@
-dnl Process this file with autoconf to produce a configure script.
-
-dnl This file is part of winsup/mingw
-dnl
-dnl This program is free software; you can redistribute it and/or modify
-dnl it under the terms of the GNU General Public License as published by
-dnl the Free Software Foundation; either version 2 of the License, or
-dnl (at your option) any later version.
-dnl
-dnl This program is distributed in the hope that it will be useful,
-dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
-dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-dnl GNU General Public License for more details.
-dnl
-dnl You should have received a copy of the GNU General Public License
-dnl along with this program; if not, write to the Free Software
-dnl Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-AC_PREREQ(2.12)
-AC_INIT(dllmain.c)
-
-dnl FIXME: We temporarily define our own version of AC_PROG_CC. This is
-dnl copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
-dnl are probably using a cross compiler, which will not be able to fully
-dnl link an executable. This should really be fixed in autoconf
-dnl itself.
-
-AC_DEFUN(LIB_AC_PROG_CC,
-[AC_BEFORE([$0], [AC_PROG_CPP])dnl
-AC_CHECK_TOOL(CC, gcc, gcc)
-if test -z "$CC"; then
- AC_CHECK_PROG(CC, cc, cc, , , /usr/ucb/cc)
- test -z "$CC" && AC_MSG_ERROR([no acceptable cc found in \$PATH])
-fi
-
-AC_PROG_CC_GNU
-
-if test $ac_cv_prog_gcc = yes; then
- GCC=yes
-dnl Check whether -g works, even if CFLAGS is set, in case the package
-dnl plays around with CFLAGS (such as to build both debugging and
-dnl normal versions of a library), tasteless as that idea is.
- ac_test_CFLAGS="${CFLAGS+set}"
- ac_save_CFLAGS="$CFLAGS"
- CFLAGS=
- AC_PROG_CC_G
- if test "$ac_test_CFLAGS" = set; then
- CFLAGS="$ac_save_CFLAGS"
- elif test $ac_cv_prog_cc_g = yes; then
- CFLAGS="-g -O2"
- else
- CFLAGS="-O2"
- fi
- if test "$ac_test_CXXFLAGS" != set; then
- CXXFLAGS='$(CFLAGS)'
- fi
-else
- GCC=
- test "${CFLAGS+set}" = set || CFLAGS="-g"
-fi
-])
-
-LIB_AC_PROG_CC
-
-case "$with_cross_host" in
- ""|*cygwin*) all_dlls_host='all_dlls_host'
- install_dlls_host='install_dlls_host';;
-esac
-AC_SUBST(all_dlls_host)
-AC_SUBST(install_dlls_host)
-
-AC_CHECK_TOOL(AR, ar, ar)
-
-AC_SUBST(AR)
-AC_CHECK_TOOL(AS, as, as)
-AC_SUBST(AS)
-AC_CHECK_TOOL(RANLIB, ranlib, ranlib)
-AC_SUBST(RANLIB)
-AC_CHECK_TOOL(LD, ld, ld)
-AC_SUBST(LD)
-AC_CHECK_TOOL(DLLTOOL, dlltool, dlltool)
-AC_SUBST(DLLTOOL)
-AC_CHECK_TOOL(DLLWRAP, dlltool, dlltool)
-AC_SUBST(DLLWRAP)
-AC_CHECK_TOOL(WINDRES, windres, windres)
-AC_SUBST(WINDRES)
-
-AC_ALLOCA
-
-AC_CANONICAL_SYSTEM
-SUBDIRS="profile mingwex"
-configdirs="profile mingwex"
-HEADER_SUBDIR=""
-
-LIBGMON_A=libgmon.a
-
-W32API_INCLUDE='-I $(srcdir)/../w32api/include'
-
-case "$target_os" in
-*cygwin*)
- MNO_CYGWIN=-mno-cygwin
- LIBM_A=libm.a
- # Install mingw headers in mingw subdirectory.
- HEADER_SUBDIR="mingw"
- ;;
-*)
- # Build it for MSVCRT by default.
- MNO_CYGWIN=
- LIBM_A=libm.a
- ;;
-esac
-
-# THREAD_DLL used to be set within the above case and was mingwc for CRTDLL.
-# I can find no reason to do this.
-#
-# FIXME: In the future I would like to change the dll name to mingwthrd to
-# to match the libmingwthrd.a name.
-THREAD_DLL=mingwm
-
-if test -n "$configdirs"; then
- AC_CONFIG_SUBDIRS($configdirs)
-fi
-
-MKINSTALLDIRS=$ac_aux_dir/mkinstalldirs
-AC_SUBST(MKINSTALLDIRS)
-AC_SUBST(MNO_CYGWIN)
-AC_SUBST(THREAD_DLL)
-AC_SUBST(LIBM_A)
-AC_SUBST(LIBGMON_A)
-AC_SUBST(SUBDIRS)
-AC_SUBST(HEADER_SUBDIR)
-AC_SUBST(W32API_INCLUDE)
-
-AC_PROG_INSTALL
-AC_OUTPUT(Makefile)
-
diff --git a/winsup/mingw/crt1.c b/winsup/mingw/crt1.c
deleted file mode 100644
index b9b2bd5b1..000000000
--- a/winsup/mingw/crt1.c
+++ /dev/null
@@ -1,279 +0,0 @@
-/*
- * crt1.c
- * This file has no copyright assigned and is placed in the Public Domain.
- * This file is a part of the mingw-runtime package.
- * No warranty is given; refer to the file DISCLAIMER within the package.
- *
- * Source code for the startup proceedures used by all programs. This code
- * is compiled to make crt1.o, which should be located in the library path.
- *
- */
-
-/* Hide the declaration of _fmode with dllimport attribute in stdlib.h to
- avoid problems with older GCC. */
-#define __IN_MINGW_RUNTIME
-#include <stdlib.h>
-#include <stdio.h>
-#include <io.h>
-#include <process.h>
-#include <float.h>
-#define WIN32_LEAN_AND_MEAN
-#include <windows.h>
-#include <signal.h>
-
-/* NOTE: The code for initializing the _argv, _argc, and environ variables
- * has been moved to a separate .c file which is included in both
- * crt1.c and dllcrt1.c. This means changes in the code don't have to
- * be manually synchronized, but it does lead to this not-generally-
- * a-good-idea use of include. */
-#include "init.c"
-
-extern void _pei386_runtime_relocator (void);
-
-extern int main (int, char **, char **);
-
-/*
- * Must have the correct app type for MSVCRT.
- */
-
-#ifdef __MSVCRT__
-#define __UNKNOWN_APP 0
-#define __CONSOLE_APP 1
-#define __GUI_APP 2
-__MINGW_IMPORT void __set_app_type(int);
-#endif /* __MSVCRT__ */
-
-/* Global _fmode for this .exe, not the one in msvcrt.dll,
- The default is set in txtmode.o in libmingw32.a */
-/* Override the dllimport'd declarations in stdlib.h */
-#undef _fmode
-extern int _fmode;
-#ifdef __MSVCRT__
-extern int* __p__fmode(void); /* To access the dll _fmode */
-#endif
-
-/*
- * Setup the default file handles to have the _CRT_fmode mode, as well as
- * any new files created by the user.
- */
-extern int _CRT_fmode;
-
-static void
-_mingw32_init_fmode (void)
-{
- /* Don't set the std file mode if the user hasn't set any value for it. */
- if (_CRT_fmode)
- {
- _fmode = _CRT_fmode;
-
- /*
- * This overrides the default file mode settings for stdin,
- * stdout and stderr. At first I thought you would have to
- * test with isatty, but it seems that the DOS console at
- * least is smart enough to handle _O_BINARY stdout and
- * still display correctly.
- */
- if (stdin)
- {
- _setmode (_fileno (stdin), _CRT_fmode);
- }
- if (stdout)
- {
- _setmode (_fileno (stdout), _CRT_fmode);
- }
- if (stderr)
- {
- _setmode (_fileno (stderr), _CRT_fmode);
- }
- }
-
- /* Now sync the dll _fmode to the one for this .exe. */
-#ifdef __MSVCRT__
- *__p__fmode() = _fmode;
-#else
- *_imp___fmode_dll = _fmode;
-#endif
-}
-
-/* This function will be called when a trap occurs. Thanks to Jacob
- Navia for his contribution. */
-static CALLBACK long
-_gnu_exception_handler (EXCEPTION_POINTERS * exception_data)
-{
- void (*old_handler) (int);
- long action = EXCEPTION_CONTINUE_SEARCH;
- int reset_fpu = 0;
-
- switch (exception_data->ExceptionRecord->ExceptionCode)
- {
- case EXCEPTION_ACCESS_VIOLATION:
- /* test if the user has set SIGSEGV */
- old_handler = signal (SIGSEGV, SIG_DFL);
- if (old_handler == SIG_IGN)
- {
- /* this is undefined if the signal was raised by anything other
- than raise (). */
- signal (SIGSEGV, SIG_IGN);
- action = EXCEPTION_CONTINUE_EXECUTION;
- }
- else if (old_handler != SIG_DFL)
- {
- /* This means 'old' is a user defined function. Call it */
- (*old_handler) (SIGSEGV);
- action = EXCEPTION_CONTINUE_EXECUTION;
- }
- break;
-
- case EXCEPTION_ILLEGAL_INSTRUCTION:
- case EXCEPTION_PRIV_INSTRUCTION:
- /* test if the user has set SIGILL */
- old_handler = signal (SIGILL, SIG_DFL);
- if (old_handler == SIG_IGN)
- {
- /* this is undefined if the signal was raised by anything other
- than raise (). */
- signal (SIGILL, SIG_IGN);
- action = EXCEPTION_CONTINUE_EXECUTION;
- }
- else if (old_handler != SIG_DFL)
- {
- /* This means 'old' is a user defined function. Call it */
- (*old_handler) (SIGILL);
- action = EXCEPTION_CONTINUE_EXECUTION;
- }
- break;
-
- case EXCEPTION_FLT_INVALID_OPERATION:
- case EXCEPTION_FLT_DIVIDE_BY_ZERO:
- case EXCEPTION_FLT_DENORMAL_OPERAND:
- case EXCEPTION_FLT_OVERFLOW:
- case EXCEPTION_FLT_UNDERFLOW:
- case EXCEPTION_FLT_INEXACT_RESULT:
- reset_fpu = 1;
- /* fall through. */
-
- case EXCEPTION_INT_DIVIDE_BY_ZERO:
- /* test if the user has set SIGFPE */
- old_handler = signal (SIGFPE, SIG_DFL);
- if (old_handler == SIG_IGN)
- {
- signal (SIGFPE, SIG_IGN);
- if (reset_fpu)
- _fpreset ();
- action = EXCEPTION_CONTINUE_EXECUTION;
- }
- else if (old_handler != SIG_DFL)
- {
- /* This means 'old' is a user defined function. Call it */
- (*old_handler) (SIGFPE);
- action = EXCEPTION_CONTINUE_EXECUTION;
- }
- break;
-
- default:
- break;
- }
- return action;
-}
-
-/*
- * The function mainCRTStartup is the entry point for all console programs.
- */
-static void __attribute__((noreturn))
-__mingw_CRTStartup (void)
-{
- int nRet;
-
- /*
- * Set up the top-level exception handler so that signal handling
- * works as expected. The mapping between ANSI/POSIX signals and
- * Win32 SE is not 1-to-1, so caveat emptore.
- *
- */
- SetUnhandledExceptionFilter (_gnu_exception_handler);
-
- /*
- * Initialize floating point unit.
- */
- _fpreset (); /* Supplied by the runtime library. */
-
- /*
- * Set up __argc, __argv and _environ.
- */
- _mingw32_init_mainargs ();
-
- /*
- * Sets the default file mode.
- * If _CRT_fmode is set, also set mode for stdin, stdout
- * and stderr, as well
- * NOTE: DLLs don't do this because that would be rude!
- */
- _mingw32_init_fmode ();
-
- /* Adust references to dllimported data that have non-zero offsets. */
- _pei386_runtime_relocator ();
-
- /* Align the stack to 16 bytes for the sake of SSE ops in main
- or in functions inlined into main. */
- asm __volatile__ ("andl $-16, %%esp" : : : "%esp");
-
- /*
- * Call the main function. If the user does not supply one
- * the one in the 'libmingw32.a' library will be linked in, and
- * that one calls WinMain. See main.c in the 'lib' dir
- * for more details.
- */
- nRet = main (_argc, _argv, environ);
-
- /*
- * Perform exit processing for the C library. This means
- * flushing output and calling 'atexit' registered functions.
- */
- _cexit ();
-
- ExitProcess (nRet);
-}
-
-/*
- * The function mainCRTStartup is the entry point for all console programs.
- */
-void
-mainCRTStartup (void)
-{
-#ifdef __MSVCRT__
- __set_app_type (__CONSOLE_APP);
-#endif
- __mingw_CRTStartup ();
-}
-
-/*
- * For now the GUI startup function is the same as the console one.
- * This simply gets rid of the annoying warning about not being able
- * to find WinMainCRTStartup when linking GUI applications.
- */
-void
-WinMainCRTStartup (void)
-{
-#ifdef __MSVCRT__
- __set_app_type (__GUI_APP);
-#endif
- __mingw_CRTStartup ();
-}
-
-/*
- * We force use of library version of atexit, which is only
- * visible in import lib as _imp__atexit
- */
-extern int (*_imp__atexit)(void (*)(void));
-int atexit (void (* pfn )(void) )
-{
- return ( (*_imp__atexit)(pfn));
-}
-
-/* Likewise for non-ANSI _onexit */
-extern _onexit_t (*_imp___onexit)(_onexit_t);
-_onexit_t
-_onexit (_onexit_t pfn )
-{
- return (*_imp___onexit)(pfn);
-}
diff --git a/winsup/mingw/crtdll.def b/winsup/mingw/crtdll.def
deleted file mode 100644
index dbd18ec14..000000000
--- a/winsup/mingw/crtdll.def
+++ /dev/null
@@ -1,695 +0,0 @@
-;
-;* crtdll.def
-;* This file has no copyright assigned and is placed in the Public Domain.
-;* This file is a part of the mingw-runtime package.
-;* No warranty is given; refer to the file DISCLAIMER within the package.
-;
-; Exports from crtdll.dll from Windows 95 SYSTEM directory. Hopefully this
-; should also work with the crtdll provided with Windows NT.
-;
-; NOTE: The crtdll is OBSOLETE and msvcrt should be used instead. The msvcrt
-; is available for free download from Microsoft Corporation and will work on
-; Windows 95. Support for the crtdll is deprecated and this file may be
-; deleted in future versions.
-;
-; These three functions appear to be name mangled in some way, so GCC is
-; probably not going to be able to use them in any case.
-;
-; ??2@YAPAXI@Z
-; ??3@YAXPAX@Z
-; ?_set_new_handler@@YAP6AHI@ZP6AHI@Z@Z
-;
-; These are functions for which I have not yet written prototypes or
-; otherwise set up (they are still included below though unlike those
-; first three).
-;
-; _CIacos
-; _CIasin
-; _CIatan
-; _CIatan2
-; _CIcos
-; _CIcosh
-; _CIexp
-; _CIfmod
-; _CIlog
-; _CIlog10
-; _CIpow
-; _CIsin
-; _CIsinh
-; _CIsqrt
-; _CItan
-; _CItanh
-; __dllonexit
-; __mb_cur_max_dll
-; __threadhandle
-; __threadid
-; _abnormal_termination
-; _acmdln_dll
-; _aexit_rtn_dll
-; _amsg_exit
-; _commit
-; _commode_dll
-; _cpumode_dll
-; _ctype
-; _expand
-; _fcloseall
-; _filbuf
-; _fileinfo_dll
-; _flsbuf
-; _flushall
-; _fmode_dll
-; _fpieee_flt
-; _fsopen
-; _ftol
-; _getdiskfree
-; _getdllprocaddr
-; _getdrive
-; _getdrives
-; _getsystime
-; _initterm
-; _ismbbalnum
-; _ismbbalpha
-; _ismbbgraph
-; _ismbbkalnum
-; _ismbbkana
-; _ismbbkpunct
-; _ismbblead
-; _ismbbprint
-; _ismbbpunct
-; _ismbbtrail
-; _ismbcalpha
-; _ismbcdigit
-; _ismbchira
-; _ismbckata
-; _ismbcl0
-; _ismbcl1
-; _ismbcl2
-; _ismbclegal
-; _ismbclower
-; _ismbcprint
-; _ismbcspace
-; _ismbcsymbol
-; _ismbcupper
-; _ismbslead
-; _ismbstrail
-; _lfind
-; _loaddll
-; _lrotl
-; _lrotr
-; _lsearch
-; _makepath
-; _matherr
-; _mbbtombc
-; _mbbtype
-; _mbccpy
-; _mbcjistojms
-; _mbcjmstojis
-; _mbclen
-; _mbctohira
-; _mbctokata
-; _mbctolower
-; _mbctombb
-; _mbctoupper
-; _mbctype
-; _mbsbtype
-; _mbscat
-; _mbscmp
-; _mbscpy
-; _mbscspn
-; _mbsdec
-; _mbsdup
-; _mbsicmp
-; _mbsinc
-; _mbslen
-; _mbslwr
-; _mbsnbcat
-; _mbsnbcmp
-; _mbsnbcnt
-; _mbsnbcpy
-; _mbsnbicmp
-; _mbsnbset
-; _mbsnccnt
-; _mbsncmp
-; _mbsncpy
-; _mbsnextc
-; _mbsnicmp
-; _mbsninc
-; _mbsnset
-; _mbspbrk
-; _mbsrchr
-; _mbsrev
-; _mbsset
-; _mbsspn
-; _mbsspnp
-; _mbsstr
-; _mbstrlen
-; _mbsupr
-; _onexit
-; _osversion_dll
-; _pctype_dll
-; _purecall
-; _pwctype_dll
-; _rmtmp
-; _rotl
-; _rotr
-; _setsystime
-; _snprintf
-; _snwprintf
-; _splitpath
-; _strdate
-; _strdec
-; _strinc
-; _strncnt
-; _strnextc
-; _strninc
-; _strspnp
-; _strtime
-; _tempnam
-; _ultoa
-; _unloaddll
-; _vsnprintf
-; _vsnwprintf
-; _wtoi
-; _wtol
-;
-EXPORTS
-_CIacos
-_CIasin
-_CIatan
-_CIatan2
-_CIcos
-_CIcosh
-_CIexp
-_CIfmod
-_CIlog
-_CIlog10
-_CIpow
-_CIsin
-_CIsinh
-_CIsqrt
-_CItan
-_CItanh
-_HUGE_dll DATA
-_XcptFilter
-__GetMainArgs
-__argc_dll DATA
-__argv_dll DATA
-__dllonexit
-__doserrno
-__fpecode
-__isascii
-__iscsym
-__iscsymf
-__mb_cur_max_dll DATA
-__pxcptinfoptrs
-__threadhandle
-__threadid
-__toascii
-_abnormal_termination
-_access
-_acmdln_dll DATA
-_aexit_rtn_dll DATA
-_amsg_exit
-_assert
-_basemajor_dll DATA
-_baseminor_dll DATA
-_baseversion_dll DATA
-_beep
-_beginthread
-_c_exit
-_cabs
-_cexit
-_cgets
-_chdir
-_chdrive
-_chgsign
-_chmod
-_chsize
-_clearfp
-_close
-_commit
-_commode_dll DATA
-_control87
-_controlfp
-_copysign
-_cprintf
-_cpumode_dll DATA
-_cputs
-_creat
-_cscanf
-_ctype
-_cwait
-_daylight_dll DATA
-_dup
-_dup2
-_ecvt
-_endthread
-_environ_dll DATA
-_eof
-_errno
-_except_handler2
-_execl
-_execle
-_execlp
-_execlpe
-_execv
-_execve
-_execvp
-_execvpe
-_exit
-_expand
-_fcloseall
-_fcvt
-_fdopen
-_fgetchar
-_fgetwchar
-_filbuf
-_fileinfo_dll DATA
-_filelength
-_fileno
-_findclose
-_findfirst
-_findnext
-_finite
-_flsbuf
-_flushall
-_fmode_dll DATA
-_fpclass
-_fpieee_flt
-_fpreset DATA
-_fputchar
-_fputwchar
-_fsopen
-_fstat
-_ftime
-_ftol
-_fullpath
-_futime
-_gcvt
-_get_osfhandle
-_getch
-_getche
-_getcwd
-_getdcwd
-_getdiskfree
-_getdllprocaddr
-_getdrive
-_getdrives
-_getpid
-_getsystime
-_getw
-_global_unwind2
-_heapchk
-_heapmin
-_heapset
-_heapwalk
-_hypot
-_initterm
-_iob DATA
-_isatty
-_isctype
-_ismbbalnum
-_ismbbalpha
-_ismbbgraph
-_ismbbkalnum
-_ismbbkana
-_ismbbkpunct
-_ismbblead
-_ismbbprint
-_ismbbpunct
-_ismbbtrail
-_ismbcalpha
-_ismbcdigit
-_ismbchira
-_ismbckata
-_ismbcl0
-_ismbcl1
-_ismbcl2
-_ismbclegal
-_ismbclower
-_ismbcprint
-_ismbcspace
-_ismbcsymbol
-_ismbcupper
-_ismbslead
-_ismbstrail
-_isnan
-_itoa
-_j0
-_j1
-_jn
-_kbhit
-_lfind
-_loaddll
-_local_unwind2
-_locking
-_logb
-_lrotl
-_lrotr
-_lsearch
-_lseek
-_ltoa
-_makepath
-_matherr
-_mbbtombc
-_mbbtype
-_mbccpy
-_mbcjistojms
-_mbcjmstojis
-_mbclen
-_mbctohira
-_mbctokata
-_mbctolower
-_mbctombb
-_mbctoupper
-_mbctype
-_mbsbtype
-_mbscat
-_mbschr
-_mbscmp
-_mbscpy
-_mbscspn
-_mbsdec
-_mbsdup
-_mbsicmp
-_mbsinc
-_mbslen
-_mbslwr
-_mbsnbcat
-_mbsnbcmp
-_mbsnbcnt
-_mbsnbcpy
-_mbsnbicmp
-_mbsnbset
-_mbsncat
-_mbsnccnt
-_mbsncmp
-_mbsncpy
-_mbsnextc
-_mbsnicmp
-_mbsninc
-_mbsnset
-_mbspbrk
-_mbsrchr
-_mbsrev
-_mbsset
-_mbsspn
-_mbsspnp
-_mbsstr
-_mbstok
-_mbstrlen
-_mbsupr
-_memccpy
-_memicmp
-_mkdir
-_mktemp
-_msize
-_nextafter
-_onexit DATA
-_open
-_open_osfhandle
-_osmajor_dll DATA
-_osminor_dll DATA
-_osmode_dll DATA
-_osver_dll DATA
-_osversion_dll DATA
-_pclose
-_pctype_dll DATA
-_pgmptr_dll DATA
-_pipe
-_popen
-_purecall
-_putch
-_putenv
-_putw
-_pwctype_dll DATA
-_read
-_rmdir
-_rmtmp
-_rotl
-_rotr
-_scalb
-_searchenv
-_seterrormode
-_setjmp
-_setmode
-_setsystime
-_sleep
-_snprintf
-_snwprintf
-_sopen
-_spawnl
-_spawnle
-_spawnlp
-_spawnlpe
-_spawnv
-_spawnve
-_spawnvp
-_spawnvpe
-_splitpath
-_stat
-_statusfp
-_strcmpi
-_strdate
-_strdec
-_strdup
-_strerror
-_stricmp
-_stricoll
-_strinc
-_strlwr
-_strncnt
-_strnextc
-_strnicmp
-_strninc
-_strnset
-_strrev
-_strset
-_strspnp
-_strtime
-_strupr
-_swab
-_sys_errlist DATA
-_sys_nerr_dll DATA
-_tell
-_tempnam
-_timezone_dll DATA
-_tolower
-_toupper
-_tzname DATA
-_tzset
-_ultoa
-_umask
-_ungetch
-_unlink
-_unloaddll
-_utime
-_vsnprintf
-_vsnwprintf
-_wcsdup
-_wcsicmp
-_wcsicoll
-_wcslwr
-_wcsnicmp
-_wcsnset
-_wcsrev
-_wcsset
-_wcsupr
-_winmajor_dll DATA
-_winminor_dll DATA
-_winver_dll DATA
-_write
-_wtoi
-_wtol
-_y0
-_y1
-_yn
-abort
-abs
-acos
-asctime
-asin
-atan
-atan2
-atexit DATA
-atof
-atoi
-atol
-bsearch
-calloc
-ceil
-clearerr
-clock
-cos
-cosh
-ctime
-difftime
-div
-exit
-exp
-fabs
-fclose
-feof
-ferror
-fflush
-fgetc
-fgetpos
-fgets
-fgetwc
-floor
-fmod
-fopen
-fprintf
-fputc
-fputs
-fputwc
-fread
-free
-freopen
-frexp
-fscanf
-fseek
-fsetpos
-ftell
-fwprintf
-fwrite
-fwscanf
-getc
-getchar
-getenv
-gets
-gmtime
-is_wctype
-isalnum
-isalpha
-iscntrl
-isdigit
-isgraph
-isleadbyte
-islower
-isprint
-ispunct
-isspace
-isupper
-iswalnum
-iswalpha
-iswascii
-iswcntrl
-iswctype
-iswdigit
-iswgraph
-iswlower
-iswprint
-iswpunct
-iswspace
-iswupper
-iswxdigit
-isxdigit
-labs
-ldexp
-ldiv
-localeconv
-localtime
-log
-log10
-longjmp
-malloc
-mblen
-mbstowcs
-mbtowc
-memchr
-memcmp
-memcpy
-memmove
-memset
-mktime
-modf
-perror
-pow
-printf
-putc
-putchar
-puts
-qsort
-raise
-rand
-realloc
-remove
-rename
-rewind
-scanf
-setbuf
-setlocale
-setvbuf
-signal
-sin
-sinh
-sprintf
-sqrt
-srand
-sscanf
-strcat
-strchr
-strcmp
-strcoll
-strcpy
-strcspn
-strerror
-strftime
-strlen
-strncat
-strncmp
-strncpy
-strpbrk
-strrchr
-strspn
-strstr
-strtod
-strtok
-strtol
-strtoul
-strxfrm
-swprintf
-swscanf
-system
-tan
-tanh
-time
-tmpfile
-tmpnam
-tolower
-toupper
-towlower
-towupper
-ungetc
-ungetwc
-vfprintf
-vfwprintf
-vprintf
-vsprintf
-vswprintf
-vwprintf
-wcscat
-wcschr
-wcscmp
-wcscoll
-wcscpy
-wcscspn
-wcsftime
-wcslen
-wcsncat
-wcsncmp
-wcsncpy
-wcspbrk
-wcsrchr
-wcsspn
-wcsstr
-wcstod
-wcstok
-wcstol
-wcstombs
-wcstoul
-wcsxfrm
-wctomb
-wprintf
-wscanf
diff --git a/winsup/mingw/crtmt.c b/winsup/mingw/crtmt.c
deleted file mode 100644
index 116d850f0..000000000
--- a/winsup/mingw/crtmt.c
+++ /dev/null
@@ -1,14 +0,0 @@
-/*
- * crtmt.c
- *
- * This object file defines _CRT_MT to have a value of 1, which will
- * turn on MT support in GCC runtime. This is only linked in when
- * you specify -mthreads when linking with gcc. The Mingw support
- * library, libmingw32.a, contains the complement, crtst.o, which
- * sets this variable to 0.
- *
- * Mumit Khan <khan@nanotech.wisc.edu>
- *
- */
-
-int _CRT_MT = 1;
diff --git a/winsup/mingw/crtst.c b/winsup/mingw/crtst.c
deleted file mode 100644
index 4835b0963..000000000
--- a/winsup/mingw/crtst.c
+++ /dev/null
@@ -1,12 +0,0 @@
-/*
- * crtst.c
- *
- * This object file defines _CRT_MT to have a value of 0, which will
- * turn off MT support in GCC runtime. This is linked by default unless
- * you specify -mthreads when linking with gcc.
- *
- * Mumit Khan <khan@nanotech.wisc.edu>
- *
- */
-
-int _CRT_MT = 0;
diff --git a/winsup/mingw/dllcrt1.c b/winsup/mingw/dllcrt1.c
deleted file mode 100644
index dda8a24c7..000000000
--- a/winsup/mingw/dllcrt1.c
+++ /dev/null
@@ -1,183 +0,0 @@
-/*
- * dllcrt1.c
- * This file has no copyright assigned and is placed in the Public Domain.
- * This file is a part of the mingw-runtime package.
- * No warranty is given; refer to the file DISCLAIMER within the package.
- *
- * Initialization code for DLLs.
- *
- */
-#include <stdlib.h>
-#include <stdio.h>
-#include <io.h>
-#include <process.h>
-#include <errno.h>
-#include <windows.h>
-
-/* Unlike normal crt1, I don't initialize the FPU, because the process
- * should have done that already. I also don't set the file handle modes,
- * because that would be rude. */
-
-#ifdef __GNUC__
-extern void __main ();
-extern void __do_global_dtors ();
-#endif
-
-typedef void (* p_atexit_fn )(void);
-static p_atexit_fn* first_atexit;
-static p_atexit_fn* next_atexit;
-
-static void
-__dll_exit (void);
-
-/* This is based on the function in the Wine project's exit.c */
-p_atexit_fn __dllonexit (p_atexit_fn, p_atexit_fn**, p_atexit_fn**);
-
-
-extern BOOL WINAPI DllMain (HANDLE, DWORD, LPVOID);
-
-extern void _pei386_runtime_relocator (void);
-
-BOOL WINAPI
-DllMainCRTStartup (HANDLE hDll, DWORD dwReason, LPVOID lpReserved)
-{
- BOOL bRet;
-
- if (dwReason == DLL_PROCESS_ATTACH)
- {
-
-#ifdef DEBUG
- printf ("%s: DLL_PROCESS_ATTACH (%d)\n", __FUNCTION__);
-#endif
-
- /* Initialize private atexit table for this dll.
- 32 is min size required by ANSI */
-
- first_atexit = (p_atexit_fn*) malloc (32 * sizeof (p_atexit_fn));
- if (first_atexit == NULL ) /* can't allocate memory */
- {
- errno=ENOMEM;
- return FALSE;
- }
- *first_atexit = NULL;
- next_atexit = first_atexit;
-
- /* Adust references to dllimported data (from other DLL's)
- that have non-zero offsets. */
- _pei386_runtime_relocator ();
-
-#ifdef __GNUC__
- /* From libgcc.a, __main calls global class constructors,
- __do_global_ctors, which registers __do_global_dtors
- as the first entry of the private atexit table we
- have just initialised */
- __main ();
-
-#endif
- }
-
- /*
- * Call the user-supplied DllMain subroutine.
- * This has to come after initialization of atexit table and
- * registration of global constructors.
- * NOTE: DllMain is optional, so libmingw32.a includes a stub
- * which will be used if the user does not supply one.
- */
-
- bRet = DllMain (hDll, dwReason, lpReserved);
- /* Handle case where DllMain returns FALSE on attachment attempt. */
-
- if ( (dwReason == DLL_PROCESS_ATTACH) && !bRet)
- {
-#ifdef DEBUG
- printf ("%s: DLL_PROCESS_ATTACH failed, cleaning up\n", __FUNCTION__);
-#endif
-
- __dll_exit (); /* Cleanup now. This will set first_atexit to NULL so we
- know we've cleaned up */
- }
-
- if (dwReason == DLL_PROCESS_DETACH)
- {
-#ifdef DEBUG
- printf ("%s: DLL_PROCESS_DETACH (%d)\n", __FUNCTION__);
-#endif
- /* If not attached, return FALSE. Cleanup already done above
- if failed attachment attempt. */
- if (! first_atexit )
- bRet = FALSE;
- else
- /*
- * We used to call __do_global_dtors () here. This is
- * no longer necessary since __do_global_dtors is now
- * registered at start (last out) of private atexit table.
- */
- __dll_exit ();
- }
- return bRet;
-}
-
-static
-void
-__dll_exit(void)
-/* Run LIFO terminators registered in private atexit table */
-{
- if ( first_atexit )
- {
- p_atexit_fn* __last = next_atexit - 1;
- while ( __last >= first_atexit )
- {
- if ( *__last != NULL )
- {
-#ifdef DEBUG
- printf ("%s: Calling exit function 0x%x from 0x%x\n",
- __FUNCTION__, (unsigned)(*__last),(unsigned)__last);
-#endif
- (**__last) ();
- }
- __last--;
- }
- free ( first_atexit ) ;
- first_atexit = NULL ;
- }
- /*
- Make sure output buffers opened by DllMain or
- atexit-registered functions are flushed before detaching,
- otherwise we can have problems with redirected output.
- */
- fflush (NULL);
-}
-
-/*
- * The atexit exported from msvcrt.dll causes problems in DLLs.
- * Here, we override the exported version of atexit with one that passes the
- * private table initialised in DllMainCRTStartup to __dllonexit.
- * That means we have to hide the mscvrt.dll atexit because the
- * atexit defined here gets __dllonexit from the same lib.
- */
-
-int
-atexit (p_atexit_fn pfn )
-{
-#ifdef DEBUG
- printf ("%s: registering exit function 0x%x at 0x%x\n",
- __FUNCTION__, (unsigned)pfn, (unsigned)next_atexit);
-#endif
- return (__dllonexit (pfn, &first_atexit, &next_atexit)
- == NULL ? -1 : 0 );
-}
-
-/*
- * Likewise for non-ANSI function _onexit that may be called by
- * code in the dll.
- */
-
-_onexit_t
-_onexit (_onexit_t pfn )
-{
-#ifdef DEBUG
- printf ("%s: registering exit function 0x%x at 0x%x\n",
- __FUNCTION__, (unsigned)pfn, (unsigned)next_atexit);
-#endif
- return ((_onexit_t) __dllonexit ((p_atexit_fn)pfn, &first_atexit, &next_atexit));
-}
diff --git a/winsup/mingw/dllmain.c b/winsup/mingw/dllmain.c
deleted file mode 100644
index 303682307..000000000
--- a/winsup/mingw/dllmain.c
+++ /dev/null
@@ -1,19 +0,0 @@
-/*
- * dllmain.c
- * This file has no copyright assigned and is placed in the Public Domain.
- * This file is a part of the mingw-runtime package.
- * No warranty is given; refer to the file DISCLAIMER within the package.
- *
- * A stub DllMain function which will be called by DLLs which do not
- * have a user supplied DllMain.
- *
- */
-
-#include <windows.h>
-
-BOOL WINAPI
-DllMain (HANDLE hDll, DWORD dwReason, LPVOID lpReserved)
-{
- return TRUE;
-}
-
diff --git a/winsup/mingw/gccmain.c b/winsup/mingw/gccmain.c
deleted file mode 100644
index 601d15a1f..000000000
--- a/winsup/mingw/gccmain.c
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * gccmain.c
- * This file has no copyright assigned and is placed in the Public Domain.
- * This file is a part of the mingw-runtime package.
- * No warranty is given; refer to the file DISCLAIMER within the package.
- *
- * A separate version of __main, __do_global_ctors and __do_global_dtors for
- * Mingw32 for use with Cygwin32 b19. Hopefully this object file will only
- * be linked if the libgcc.a doesn't include __main, __do_global_dtors and
- * __do_global_ctors.
- *
- */
-
-/* Needed for the atexit prototype. */
-#include <stdlib.h>
-
-typedef void (*func_ptr) (void);
-extern func_ptr __CTOR_LIST__[];
-extern func_ptr __DTOR_LIST__[];
-
-void
-__do_global_dtors (void)
-{
- static func_ptr *p = __DTOR_LIST__ + 1;
-
- /*
- * Call each destructor in the destructor list until a null pointer
- * is encountered.
- */
- while (*p)
- {
- (*(p)) ();
- p++;
- }
-}
-
-void
-__do_global_ctors (void)
-{
- unsigned long nptrs = (unsigned long) __CTOR_LIST__[0];
- unsigned i;
-
- /*
- * If the first entry in the constructor list is -1 then the list
- * is terminated with a null entry. Otherwise the first entry was
- * the number of pointers in the list.
- */
- if (nptrs == -1)
- {
- for (nptrs = 0; __CTOR_LIST__[nptrs + 1] != 0; nptrs++)
- ;
- }
-
- /*
- * Go through the list backwards calling constructors.
- */
- for (i = nptrs; i >= 1; i--)
- {
- __CTOR_LIST__[i] ();
- }
-
- /*
- * Register the destructors for processing on exit.
- */
- atexit (__do_global_dtors);
-}
-
-static int initialized = 0;
-
-void
-__main (void)
-{
- if (!initialized)
- {
- initialized = 1;
- __do_global_ctors ();
- }
-}
-
diff --git a/winsup/mingw/include/_mingw.h b/winsup/mingw/include/_mingw.h
deleted file mode 100644
index 5900a3226..000000000
--- a/winsup/mingw/include/_mingw.h
+++ /dev/null
@@ -1,165 +0,0 @@
-/*
- * _mingw.h
- *
- * Mingw specific macros included by ALL include files.
- *
- * This file is part of the Mingw32 package.
- *
- * Contributors:
- * Created by Mumit Khan <khan@xraylith.wisc.edu>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __MINGW_H
-#define __MINGW_H
-
-/* These are defined by the user (or the compiler)
- to specify how identifiers are imported from a DLL.
-
- __DECLSPEC_SUPPORTED Defined if dllimport attribute is supported.
- __MINGW_IMPORT The attribute definition to specify imported
- variables/functions.
- _CRTIMP As above. For MS compatibility.
- __MINGW32_VERSION Runtime version.
- __MINGW32_MAJOR_VERSION Runtime major version.
- __MINGW32_MINOR_VERSION Runtime minor version.
- __MINGW32_BUILD_DATE Runtime build date.
-
- Other macros:
-
- __int64 define to be long long. Using a typedef doesn't
- work for "unsigned __int64"
-
- All headers should include this first, and then use __DECLSPEC_SUPPORTED
- to choose between the old ``__imp__name'' style or __MINGW_IMPORT
- style declarations. */
-
-/* Try to avoid problems with outdated checks for GCC __attribute__ support. */
-#undef __attribute__
-
-#ifndef __GNUC__
-# ifndef __MINGW_IMPORT
-# define __MINGW_IMPORT __declspec(dllimport)
-# endif
-# ifndef _CRTIMP
-# define _CRTIMP __declspec(dllimport)
-# endif
-# define __DECLSPEC_SUPPORTED
-# define __attribute__(x) /* nothing */
-#else /* __GNUC__ */
-# ifdef __declspec
-# ifndef __MINGW_IMPORT
- /* Note the extern. This is needed to work around GCC's
- limitations in handling dllimport attribute. */
-# define __MINGW_IMPORT extern __attribute__ ((dllimport))
-# endif
-# ifndef _CRTIMP
-# ifdef __USE_CRTIMP
-# define _CRTIMP __attribute__ ((dllimport))
-# else
-# define _CRTIMP
-# endif
-# endif
-# define __DECLSPEC_SUPPORTED
-# else /* __declspec */
-# undef __DECLSPEC_SUPPORTED
-# undef __MINGW_IMPORT
-# ifndef _CRTIMP
-# define _CRTIMP
-# endif
-# endif /* __declspec */
-# ifndef __cdecl
-# define __cdecl __attribute__ ((__cdecl__))
-# endif
-# ifndef __stdcall
-# define __stdcall __attribute__ ((__stdcall__))
-# endif
-# ifndef __int64
-# define __int64 long long
-# endif
-# ifndef __int32
-# define __int32 long
-# endif
-# ifndef __int16
-# define __int16 short
-# endif
-# ifndef __int8
-# define __int8 char
-# endif
-# ifndef __small
-# define __small char
-# endif
-# ifndef __hyper
-# define __hyper long long
-# endif
-#endif /* __GNUC__ */
-
-#ifdef __cplusplus
-#define __CRT_INLINE inline
-#else
-#define __CRT_INLINE extern __inline__
-#endif
-
-#if defined (__GNUC__) && defined (__GNUC_MINOR__)
-#define __MINGW_GNUC_PREREQ(major, minor) \
- (__GNUC__ > (major) \
- || (__GNUC__ == (major) && __GNUC_MINOR__ >= (minor)))
-#else
-#define __MINGW_GNUC_PREREQ(major, minor) 0
-#endif
-
-#ifdef __cplusplus
-# define __UNUSED_PARAM(x)
-#else
-# ifdef __GNUC__
-# define __UNUSED_PARAM(x) x __attribute__ ((__unused__))
-# else
-# define __UNUSED_PARAM(x) x
-# endif
-#endif
-
-#ifdef __GNUC__
-#define __MINGW_ATTRIB_NORETURN __attribute__ ((__noreturn__))
-#define __MINGW_ATTRIB_CONST __attribute__ ((__const__))
-#else
-#define __MINGW_ATTRIB_NORETURN
-#define __MINGW_ATTRIB_CONST
-#endif
-
-#if __MINGW_GNUC_PREREQ (3, 0)
-#define __MINGW_ATTRIB_MALLOC __attribute__ ((__malloc__))
-#define __MINGW_ATTRIB_PURE __attribute__ ((__pure__))
-#else
-#define __MINGW_ATTRIB_MALLOC
-#define __MINGW_ATTRIB_PURE
-#endif
-
-/* Attribute `nonnull' was valid as of gcc 3.3. We don't use GCC's
- variadiac macro facility, because variadic macros cause syntax
- errors with --traditional-cpp. */
-#if __MINGW_GNUC_PREREQ (3, 3)
-#define __MINGW_ATTRIB_NONNULL(arg) __attribute__ ((__nonnull__ (arg)))
-#else
-#define __MINGW_ATTRIB_NONNULL(arg)
-#endif /* GNUC >= 3.3 */
-
-#ifndef __MSVCRT_VERSION__
-/* High byte is the major version, low byte is the minor. */
-# define __MSVCRT_VERSION__ 0x0600
-#endif
-
-#define __MINGW32_VERSION 3.9
-#define __MINGW32_MAJOR_VERSION 3
-#define __MINGW32_MINOR_VERSION 9
-
-#endif /* __MINGW_H */
diff --git a/winsup/mingw/include/assert.h b/winsup/mingw/include/assert.h
deleted file mode 100644
index 9d825c9a2..000000000
--- a/winsup/mingw/include/assert.h
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * assert.h
- * This file has no copyright assigned and is placed in the Public Domain.
- * This file is a part of the mingw-runtime package.
- * No warranty is given; refer to the file DISCLAIMER within the package.
- *
- * Define the assert macro for debug output.
- *
- */
-
-/* We should be able to include this file multiple times to allow the assert
- macro to be enabled/disabled for different parts of code. So don't add a
- header guard. */
-
-#ifndef RC_INVOKED
-
-/* All the headers include this file. */
-#include <_mingw.h>
-
-#undef assert
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#ifdef NDEBUG
-/*
- * If not debugging, assert does nothing.
- */
-#define assert(x) ((void)0)
-
-#else /* debugging enabled */
-
-/*
- * CRTDLL nicely supplies a function which does the actual output and
- * call to abort.
- */
-_CRTIMP void __cdecl _assert (const char*, const char*, int) __MINGW_ATTRIB_NORETURN;
-
-/*
- * Definition of the assert macro.
- */
-#define assert(e) ((e) ? (void)0 : _assert(#e, __FILE__, __LINE__))
-
-#endif /* NDEBUG */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* Not RC_INVOKED */
diff --git a/winsup/mingw/include/complex.h b/winsup/mingw/include/complex.h
deleted file mode 100644
index 2fd73a12e..000000000
--- a/winsup/mingw/include/complex.h
+++ /dev/null
@@ -1,205 +0,0 @@
-/*
- * complex.h
- *
- * This file is part of the Mingw32 package.
- *
- * Contributors:
- * Created by Danny Smith <dannysmith@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef _COMPLEX_H_
-#define _COMPLEX_H_
-
-/* All the headers include this file. */
-#include <_mingw.h>
-
-#if (defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) \
- || !defined __STRICT_ANSI__
-
-/* These macros are specified by C99 standard */
-
-#ifndef __cplusplus
-#define complex _Complex
-#endif
-
-#define _Complex_I (0.0F + 1.0iF)
-
-/* GCC doesn't support _Imaginary type yet, so we don't
- define _Imaginary_I */
-
-#define I _Complex_I
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#ifndef RC_INVOKED
-
-double __MINGW_ATTRIB_CONST creal (double _Complex);
-double __MINGW_ATTRIB_CONST cimag (double _Complex);
-double __MINGW_ATTRIB_CONST carg (double _Complex);
-double __MINGW_ATTRIB_CONST cabs (double _Complex);
-double _Complex __MINGW_ATTRIB_CONST conj (double _Complex);
-double _Complex cacos (double _Complex);
-double _Complex casin (double _Complex);
-double _Complex catan (double _Complex);
-double _Complex ccos (double _Complex);
-double _Complex csin (double _Complex);
-double _Complex ctan (double _Complex);
-double _Complex cacosh (double _Complex);
-double _Complex casinh (double _Complex);
-double _Complex catanh (double _Complex);
-double _Complex ccosh (double _Complex);
-double _Complex csinh (double _Complex);
-double _Complex ctanh (double _Complex);
-double _Complex cexp (double _Complex);
-double _Complex clog (double _Complex);
-double _Complex cpow (double _Complex, double _Complex);
-double _Complex csqrt (double _Complex);
-double _Complex __MINGW_ATTRIB_CONST cproj (double _Complex);
-
-float __MINGW_ATTRIB_CONST crealf (float _Complex);
-float __MINGW_ATTRIB_CONST cimagf (float _Complex);
-float __MINGW_ATTRIB_CONST cargf (float _Complex);
-float __MINGW_ATTRIB_CONST cabsf (float _Complex);
-float _Complex __MINGW_ATTRIB_CONST conjf (float _Complex);
-float _Complex cacosf (float _Complex);
-float _Complex casinf (float _Complex);
-float _Complex catanf (float _Complex);
-float _Complex ccosf (float _Complex);
-float _Complex csinf (float _Complex);
-float _Complex ctanf (float _Complex);
-float _Complex cacoshf (float _Complex);
-float _Complex casinhf (float _Complex);
-float _Complex catanhf (float _Complex);
-float _Complex ccoshf (float _Complex);
-float _Complex csinhf (float _Complex);
-float _Complex ctanhf (float _Complex);
-float _Complex cexpf (float _Complex);
-float _Complex clogf (float _Complex);
-float _Complex cpowf (float _Complex, float _Complex);
-float _Complex csqrtf (float _Complex);
-float _Complex __MINGW_ATTRIB_CONST cprojf (float _Complex);
-
-long double __MINGW_ATTRIB_CONST creall (long double _Complex);
-long double __MINGW_ATTRIB_CONST cimagl (long double _Complex);
-long double __MINGW_ATTRIB_CONST cargl (long double _Complex);
-long double __MINGW_ATTRIB_CONST cabsl (long double _Complex);
-long double _Complex __MINGW_ATTRIB_CONST conjl (long double _Complex);
-long double _Complex cacosl (long double _Complex);
-long double _Complex casinl (long double _Complex);
-long double _Complex catanl (long double _Complex);
-long double _Complex ccosl (long double _Complex);
-long double _Complex csinl (long double _Complex);
-long double _Complex ctanl (long double _Complex);
-long double _Complex cacoshl (long double _Complex);
-long double _Complex casinhl (long double _Complex);
-long double _Complex catanhl (long double _Complex);
-long double _Complex ccoshl (long double _Complex);
-long double _Complex csinhl (long double _Complex);
-long double _Complex ctanhl (long double _Complex);
-long double _Complex cexpl (long double _Complex);
-long double _Complex clogl (long double _Complex);
-long double _Complex cpowl (long double _Complex, long double _Complex);
-long double _Complex csqrtl (long double _Complex);
-long double _Complex __MINGW_ATTRIB_CONST cprojl (long double _Complex);
-
-#ifdef __GNUC__
-
-/* double */
-__CRT_INLINE double __MINGW_ATTRIB_CONST creal (double _Complex _Z)
-{
- return __real__ _Z;
-}
-
-__CRT_INLINE double __MINGW_ATTRIB_CONST cimag (double _Complex _Z)
-{
- return __imag__ _Z;
-}
-
-__CRT_INLINE double _Complex __MINGW_ATTRIB_CONST conj (double _Complex _Z)
-{
- return __extension__ ~_Z;
-}
-
-__CRT_INLINE double __MINGW_ATTRIB_CONST carg (double _Complex _Z)
-{
- double res;
- __asm__ ("fpatan;"
- : "=t" (res) : "0" (__real__ _Z), "u" (__imag__ _Z) : "st(1)");
- return res;
-}
-
-
-/* float */
-__CRT_INLINE float __MINGW_ATTRIB_CONST crealf (float _Complex _Z)
-{
- return __real__ _Z;
-}
-
-__CRT_INLINE float __MINGW_ATTRIB_CONST cimagf (float _Complex _Z)
-{
- return __imag__ _Z;
-}
-
-__CRT_INLINE float _Complex __MINGW_ATTRIB_CONST conjf (float _Complex _Z)
-{
- return __extension__ ~_Z;
-}
-
-__CRT_INLINE float __MINGW_ATTRIB_CONST cargf (float _Complex _Z)
-{
- float res;
- __asm__ ("fpatan;"
- : "=t" (res) : "0" (__real__ _Z), "u" (__imag__ _Z) : "st(1)");
- return res;
-}
-
-/* long double */
-__CRT_INLINE long double __MINGW_ATTRIB_CONST creall (long double _Complex _Z)
-{
- return __real__ _Z;
-}
-
-__CRT_INLINE long double __MINGW_ATTRIB_CONST cimagl (long double _Complex _Z)
-{
- return __imag__ _Z;
-}
-
-__CRT_INLINE long double _Complex __MINGW_ATTRIB_CONST conjl (long double _Complex _Z)
-{
- return __extension__ ~_Z;
-}
-
-__CRT_INLINE long double __MINGW_ATTRIB_CONST cargl (long double _Complex _Z)
-{
- long double res;
- __asm__ ("fpatan;"
- : "=t" (res) : "0" (__real__ _Z), "u" (__imag__ _Z) : "st(1)");
- return res;
-}
-
-#endif /* __GNUC__ */
-
-
-#endif /* RC_INVOKED */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __STDC_VERSION__ >= 199901L */
-
-
-#endif /* _COMPLEX_H */
diff --git a/winsup/mingw/include/conio.h b/winsup/mingw/include/conio.h
deleted file mode 100644
index a60ed85b2..000000000
--- a/winsup/mingw/include/conio.h
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * conio.h
- * This file has no copyright assigned and is placed in the Public Domain.
- * This file is a part of the mingw-runtime package.
- * No warranty is given; refer to the file DISCLAIMER within the package.
- *
- * Low level console I/O functions. Pretty please try to use the ANSI
- * standard ones if you are writing new code.
- *
- */
-
-#ifndef _CONIO_H_
-#define _CONIO_H_
-
-/* All the headers include this file. */
-#include <_mingw.h>
-
-#ifndef RC_INVOKED
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-_CRTIMP char* __cdecl _cgets (char*);
-_CRTIMP int __cdecl _cprintf (const char*, ...);
-_CRTIMP int __cdecl _cputs (const char*);
-_CRTIMP int __cdecl _cscanf (char*, ...);
-
-_CRTIMP int __cdecl _getch (void);
-_CRTIMP int __cdecl _getche (void);
-_CRTIMP int __cdecl _kbhit (void);
-_CRTIMP int __cdecl _putch (int);
-_CRTIMP int __cdecl _ungetch (int);
-
-
-#ifndef _NO_OLDNAMES
-
-_CRTIMP int __cdecl getch (void);
-_CRTIMP int __cdecl getche (void);
-_CRTIMP int __cdecl kbhit (void);
-_CRTIMP int __cdecl putch (int);
-_CRTIMP int __cdecl ungetch (int);
-
-#endif /* Not _NO_OLDNAMES */
-
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* Not RC_INVOKED */
-
-#endif /* Not _CONIO_H_ */
diff --git a/winsup/mingw/include/ctype.h b/winsup/mingw/include/ctype.h
deleted file mode 100644
index f4020afdf..000000000
--- a/winsup/mingw/include/ctype.h
+++ /dev/null
@@ -1,247 +0,0 @@
-/*
- * ctype.h
- * This file has no copyright assigned and is placed in the Public Domain.
- * This file is a part of the mingw-runtime package.
- * No warranty is given; refer to the file DISCLAIMER within the package.
- *
- * Functions for testing character types and converting characters.
- *
- */
-
-#ifndef _CTYPE_H_
-#define _CTYPE_H_
-
-/* All the headers include this file. */
-#include <_mingw.h>
-
-#define __need_wchar_t
-#define __need_wint_t
-#ifndef RC_INVOKED
-#include <stddef.h>
-#endif /* Not RC_INVOKED */
-
-
-/*
- * The following flags are used to tell iswctype and _isctype what character
- * types you are looking for.
- */
-#define _UPPER 0x0001
-#define _LOWER 0x0002
-#define _DIGIT 0x0004
-#define _SPACE 0x0008 /* HT LF VT FF CR SP */
-#define _PUNCT 0x0010
-#define _CONTROL 0x0020
-#define _BLANK 0x0040 /* this is SP only, not SP and HT as in C99 */
-#define _HEX 0x0080
-#define _LEADBYTE 0x8000
-
-#define _ALPHA 0x0103
-
-#ifndef RC_INVOKED
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-_CRTIMP int __cdecl isalnum(int);
-_CRTIMP int __cdecl isalpha(int);
-_CRTIMP int __cdecl iscntrl(int);
-_CRTIMP int __cdecl isdigit(int);
-_CRTIMP int __cdecl isgraph(int);
-_CRTIMP int __cdecl islower(int);
-_CRTIMP int __cdecl isprint(int);
-_CRTIMP int __cdecl ispunct(int);
-_CRTIMP int __cdecl isspace(int);
-_CRTIMP int __cdecl isupper(int);
-_CRTIMP int __cdecl isxdigit(int);
-
-#ifndef __STRICT_ANSI__
-_CRTIMP int __cdecl _isctype (int, int);
-#endif
-
-/* These are the ANSI versions, with correct checking of argument */
-_CRTIMP int __cdecl tolower(int);
-_CRTIMP int __cdecl toupper(int);
-
-/*
- * NOTE: The above are not old name type wrappers, but functions exported
- * explicitly by MSVCRT/CRTDLL. However, underscored versions are also
- * exported.
- */
-#ifndef __STRICT_ANSI__
-/*
- * These are the cheap non-std versions: The return values are undefined
- * if the argument is not ASCII char or is not of appropriate case
- */
-_CRTIMP int __cdecl _tolower(int);
-_CRTIMP int __cdecl _toupper(int);
-#endif
-
-/* Also defined in stdlib.h */
-#ifndef MB_CUR_MAX
-#ifdef __DECLSPEC_SUPPORTED
-# ifdef __MSVCRT__
-# define MB_CUR_MAX __mb_cur_max
- __MINGW_IMPORT int __mb_cur_max;
-# else /* not __MSVCRT */
-# define MB_CUR_MAX __mb_cur_max_dll
- __MINGW_IMPORT int __mb_cur_max_dll;
-# endif /* not __MSVCRT */
-
-#else /* ! __DECLSPEC_SUPPORTED */
-# ifdef __MSVCRT__
- extern int* _imp____mbcur_max;
-# define MB_CUR_MAX (*_imp____mb_cur_max)
-# else /* not __MSVCRT */
- extern int* _imp____mbcur_max_dll;
-# define MB_CUR_MAX (*_imp____mb_cur_max_dll)
-# endif /* not __MSVCRT */
-#endif /* __DECLSPEC_SUPPORTED */
-#endif /* MB_CUR_MAX */
-
-
-#ifdef __DECLSPEC_SUPPORTED
-__MINGW_IMPORT unsigned short _ctype[];
-# ifdef __MSVCRT__
- __MINGW_IMPORT unsigned short* _pctype;
-# else /* CRTDLL */
- __MINGW_IMPORT unsigned short* _pctype_dll;
-# define _pctype _pctype_dll
-# endif
-
-#else /* __DECLSPEC_SUPPORTED */
-extern unsigned short** _imp___ctype;
-#define _ctype (*_imp___ctype)
-# ifdef __MSVCRT__
- extern unsigned short** _imp___pctype;
-# define _pctype (*_imp___pctype)
-# else /* CRTDLL */
- extern unsigned short** _imp___pctype_dll;
-# define _pctype (*_imp___pctype_dll)
-# endif /* CRTDLL */
-#endif /* __DECLSPEC_SUPPORTED */
-
-/*
- * Use inlines here rather than macros, because macros will upset
- * C++ usage (eg, ::isalnum), and so usually get undefined
- *
- * According to standard for SB chars, these function are defined only
- * for input values representable by unsigned char or EOF.
- * Thus, there is no range test.
- * This reproduces behaviour of MSVCRT.dll lib implemention for SB chars.
- *
- * If no MB char support is needed, these can be simplified even
- * more by command line define -DMB_CUR_MAX=1. The compiler will then
- * optimise away the constant condition.
- */
-
-
-#if ! (defined (__NO_INLINE__) || defined (__NO_CTYPE_INLINES) \
- || defined (__STRICT_ANSI__ ))
-/* use simple lookup if SB locale, else _isctype() */
-#define __ISCTYPE(c, mask) (MB_CUR_MAX == 1 ? (_pctype[c] & mask) : _isctype(c, mask))
-__CRT_INLINE int __cdecl isalnum(int c) {return __ISCTYPE(c, (_ALPHA|_DIGIT));}
-__CRT_INLINE int __cdecl isalpha(int c) {return __ISCTYPE(c, _ALPHA);}
-__CRT_INLINE int __cdecl iscntrl(int c) {return __ISCTYPE(c, _CONTROL);}
-__CRT_INLINE int __cdecl isdigit(int c) {return __ISCTYPE(c, _DIGIT);}
-__CRT_INLINE int __cdecl isgraph(int c) {return __ISCTYPE(c, (_PUNCT|_ALPHA|_DIGIT));}
-__CRT_INLINE int __cdecl islower(int c) {return __ISCTYPE(c, _LOWER);}
-__CRT_INLINE int __cdecl isprint(int c) {return __ISCTYPE(c, (_BLANK|_PUNCT|_ALPHA|_DIGIT));}
-__CRT_INLINE int __cdecl ispunct(int c) {return __ISCTYPE(c, _PUNCT);}
-__CRT_INLINE int __cdecl isspace(int c) {return __ISCTYPE(c, _SPACE);}
-__CRT_INLINE int __cdecl isupper(int c) {return __ISCTYPE(c, _UPPER);}
-__CRT_INLINE int __cdecl isxdigit(int c) {return __ISCTYPE(c, _HEX);}
-
-/* these reproduce behaviour of lib underscored versions */
-__CRT_INLINE int __cdecl _tolower(int c) {return ( c -'A'+'a');}
-__CRT_INLINE int __cdecl _toupper(int c) {return ( c -'a'+'A');}
-
-/* TODO? Is it worth inlining ANSI tolower, toupper? Probably only
- if we only want C-locale. */
-
-#endif /* _NO_CTYPE_INLINES */
-
-/* Wide character equivalents */
-
-#ifndef WEOF
-#define WEOF (wchar_t)(0xFFFF)
-#endif
-
-#ifndef _WCTYPE_T_DEFINED
-typedef wchar_t wctype_t;
-#define _WCTYPE_T_DEFINED
-#endif
-
-_CRTIMP int __cdecl iswalnum(wint_t);
-_CRTIMP int __cdecl iswalpha(wint_t);
-_CRTIMP int __cdecl iswascii(wint_t);
-_CRTIMP int __cdecl iswcntrl(wint_t);
-_CRTIMP int __cdecl iswctype(wint_t, wctype_t);
-_CRTIMP int __cdecl is_wctype(wint_t, wctype_t); /* Obsolete! */
-_CRTIMP int __cdecl iswdigit(wint_t);
-_CRTIMP int __cdecl iswgraph(wint_t);
-_CRTIMP int __cdecl iswlower(wint_t);
-_CRTIMP int __cdecl iswprint(wint_t);
-_CRTIMP int __cdecl iswpunct(wint_t);
-_CRTIMP int __cdecl iswspace(wint_t);
-_CRTIMP int __cdecl iswupper(wint_t);
-_CRTIMP int __cdecl iswxdigit(wint_t);
-
-/* Older MS docs uses wchar_t for arg and return type, while newer
- online MS docs say arg is wint_t and return is int.
- ISO C uses wint_t for both. */
-_CRTIMP wint_t __cdecl towlower (wint_t);
-_CRTIMP wint_t __cdecl towupper (wint_t);
-
-_CRTIMP int __cdecl isleadbyte (int);
-
-/* Also in wctype.h */
-#if ! (defined (__NO_INLINE__) || defined(__NO_CTYPE_INLINES) \
- || defined(__WCTYPE_INLINES_DEFINED))
-#define __WCTYPE_INLINES_DEFINED
-__CRT_INLINE int __cdecl iswalnum(wint_t wc) {return (iswctype(wc,_ALPHA|_DIGIT));}
-__CRT_INLINE int __cdecl iswalpha(wint_t wc) {return (iswctype(wc,_ALPHA));}
-__CRT_INLINE int __cdecl iswascii(wint_t wc) {return ((wc & ~0x7F) ==0);}
-__CRT_INLINE int __cdecl iswcntrl(wint_t wc) {return (iswctype(wc,_CONTROL));}
-__CRT_INLINE int __cdecl iswdigit(wint_t wc) {return (iswctype(wc,_DIGIT));}
-__CRT_INLINE int __cdecl iswgraph(wint_t wc) {return (iswctype(wc,_PUNCT|_ALPHA|_DIGIT));}
-__CRT_INLINE int __cdecl iswlower(wint_t wc) {return (iswctype(wc,_LOWER));}
-__CRT_INLINE int __cdecl iswprint(wint_t wc) {return (iswctype(wc,_BLANK|_PUNCT|_ALPHA|_DIGIT));}
-__CRT_INLINE int __cdecl iswpunct(wint_t wc) {return (iswctype(wc,_PUNCT));}
-__CRT_INLINE int __cdecl iswspace(wint_t wc) {return (iswctype(wc,_SPACE));}
-__CRT_INLINE int __cdecl iswupper(wint_t wc) {return (iswctype(wc,_UPPER));}
-__CRT_INLINE int __cdecl iswxdigit(wint_t wc) {return (iswctype(wc,_HEX));}
-__CRT_INLINE int __cdecl isleadbyte(int c) {return (_pctype[(unsigned char)(c)] & _LEADBYTE);}
-#endif /* !(defined(__NO_CTYPE_INLINES) || defined(__WCTYPE_INLINES_DEFINED)) */
-
-#ifndef __STRICT_ANSI__
-int __cdecl __isascii (int);
-int __cdecl __toascii (int);
-int __cdecl __iscsymf (int); /* Valid first character in C symbol */
-int __cdecl __iscsym (int); /* Valid character in C symbol (after first) */
-
-#if !(defined (__NO_INLINE__) || defined (__NO_CTYPE_INLINES))
-__CRT_INLINE int __cdecl __isascii(int c) {return ((c & ~0x7F) == 0);}
-__CRT_INLINE int __cdecl __toascii(int c) {return (c & 0x7F);}
-__CRT_INLINE int __cdecl __iscsymf(int c) {return (isalpha(c) || (c == '_'));}
-__CRT_INLINE int __cdecl __iscsym(int c) {return (isalnum(c) || (c == '_'));}
-#endif /* __NO_CTYPE_INLINES */
-
-#ifndef _NO_OLDNAMES
-/* Not _CRTIMP */
-int __cdecl isascii (int);
-int __cdecl toascii (int);
-int __cdecl iscsymf (int);
-int __cdecl iscsym (int);
-#endif /* Not _NO_OLDNAMES */
-
-#endif /* Not __STRICT_ANSI__ */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* Not RC_INVOKED */
-
-#endif /* Not _CTYPE_H_ */
-
diff --git a/winsup/mingw/include/dir.h b/winsup/mingw/include/dir.h
deleted file mode 100644
index d759a0a61..000000000
--- a/winsup/mingw/include/dir.h
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- * dir.h
- *
- * This file OBSOLESCENT and only provided for backward compatibility.
- * Please use io.h instead.
- *
- * This file is part of the Mingw32 package.
- *
- * Contributors:
- * Created by Colin Peters <colin@bird.fu.is.saga-u.ac.jp>
- * Mumit Khan <khan@xraylith.wisc.edu>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#include <io.h>
-
diff --git a/winsup/mingw/include/direct.h b/winsup/mingw/include/direct.h
deleted file mode 100644
index cf4466279..000000000
--- a/winsup/mingw/include/direct.h
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * direct.h
- * This file has no copyright assigned and is placed in the Public Domain.
- * This file is a part of the mingw-runtime package.
- * No warranty is given; refer to the file DISCLAIMER within the package.
- *
- * Functions for manipulating paths and directories (included from io.h)
- * plus functions for setting the current drive.
- *
- */
-#ifndef _DIRECT_H_
-#define _DIRECT_H_
-
-/* All the headers include this file. */
-#include <_mingw.h>
-
-#define __need_wchar_t
-#ifndef RC_INVOKED
-#include <stddef.h>
-#endif /* Not RC_INVOKED */
-
-#include <io.h>
-
-#ifndef RC_INVOKED
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#ifndef _DISKFREE_T_DEFINED
-/* needed by _getdiskfree (also in dos.h) */
-struct _diskfree_t {
- unsigned total_clusters;
- unsigned avail_clusters;
- unsigned sectors_per_cluster;
- unsigned bytes_per_sector;
-};
-#define _DISKFREE_T_DEFINED
-#endif
-
-/*
- * You really shouldn't be using these. Use the Win32 API functions instead.
- * However, it does make it easier to port older code.
- */
-_CRTIMP int __cdecl _getdrive (void);
-_CRTIMP unsigned long __cdecl _getdrives(void);
-_CRTIMP int __cdecl _chdrive (int);
-_CRTIMP char* __cdecl _getdcwd (int, char*, int);
-_CRTIMP unsigned __cdecl _getdiskfree (unsigned, struct _diskfree_t *);
-
-#ifndef _NO_OLDNAMES
-# define diskfree_t _diskfree_t
-#endif
-
-#ifndef _WDIRECT_DEFINED
-/* wide character versions. Also in wchar.h */
-#ifdef __MSVCRT__
-_CRTIMP int __cdecl _wchdir(const wchar_t*);
-_CRTIMP wchar_t* __cdecl _wgetcwd(wchar_t*, int);
-_CRTIMP wchar_t* __cdecl _wgetdcwd(int, wchar_t*, int);
-_CRTIMP int __cdecl _wmkdir(const wchar_t*);
-_CRTIMP int __cdecl _wrmdir(const wchar_t*);
-#endif /* __MSVCRT__ */
-#define _WDIRECT_DEFINED
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* Not RC_INVOKED */
-
-#endif /* Not _DIRECT_H_ */
diff --git a/winsup/mingw/include/dirent.h b/winsup/mingw/include/dirent.h
deleted file mode 100644
index a18cbcab9..000000000
--- a/winsup/mingw/include/dirent.h
+++ /dev/null
@@ -1,123 +0,0 @@
-/*
- * DIRENT.H (formerly DIRLIB.H)
- * This file has no copyright assigned and is placed in the Public Domain.
- * This file is a part of the mingw-runtime package.
- * No warranty is given; refer to the file DISCLAIMER within the package.
- *
- */
-#ifndef _DIRENT_H_
-#define _DIRENT_H_
-
-/* All the headers include this file. */
-#include <_mingw.h>
-
-#include <io.h>
-
-#ifndef RC_INVOKED
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-struct dirent
-{
- long d_ino; /* Always zero. */
- unsigned short d_reclen; /* Always zero. */
- unsigned short d_namlen; /* Length of name in d_name. */
- char d_name[FILENAME_MAX]; /* File name. */
-};
-
-/*
- * This is an internal data structure. Good programmers will not use it
- * except as an argument to one of the functions below.
- * dd_stat field is now int (was short in older versions).
- */
-typedef struct
-{
- /* disk transfer area for this dir */
- struct _finddata_t dd_dta;
-
- /* dirent struct to return from dir (NOTE: this makes this thread
- * safe as long as only one thread uses a particular DIR struct at
- * a time) */
- struct dirent dd_dir;
-
- /* _findnext handle */
- long dd_handle;
-
- /*
- * Status of search:
- * 0 = not started yet (next entry to read is first entry)
- * -1 = off the end
- * positive = 0 based index of next entry
- */
- int dd_stat;
-
- /* given path for dir with search pattern (struct is extended) */
- char dd_name[1];
-} DIR;
-
-DIR* __cdecl opendir (const char*);
-struct dirent* __cdecl readdir (DIR*);
-int __cdecl closedir (DIR*);
-void __cdecl rewinddir (DIR*);
-long __cdecl telldir (DIR*);
-void __cdecl seekdir (DIR*, long);
-
-
-/* wide char versions */
-
-struct _wdirent
-{
- long d_ino; /* Always zero. */
- unsigned short d_reclen; /* Always zero. */
- unsigned short d_namlen; /* Length of name in d_name. */
- wchar_t d_name[FILENAME_MAX]; /* File name. */
-};
-
-/*
- * This is an internal data structure. Good programmers will not use it
- * except as an argument to one of the functions below.
- */
-typedef struct
-{
- /* disk transfer area for this dir */
- struct _wfinddata_t dd_dta;
-
- /* dirent struct to return from dir (NOTE: this makes this thread
- * safe as long as only one thread uses a particular DIR struct at
- * a time) */
- struct _wdirent dd_dir;
-
- /* _findnext handle */
- long dd_handle;
-
- /*
- * Status of search:
- * 0 = not started yet (next entry to read is first entry)
- * -1 = off the end
- * positive = 0 based index of next entry
- */
- int dd_stat;
-
- /* given path for dir with search pattern (struct is extended) */
- wchar_t dd_name[1];
-} _WDIR;
-
-
-
-_WDIR* __cdecl _wopendir (const wchar_t*);
-struct _wdirent* __cdecl _wreaddir (_WDIR*);
-int __cdecl _wclosedir (_WDIR*);
-void __cdecl _wrewinddir (_WDIR*);
-long __cdecl _wtelldir (_WDIR*);
-void __cdecl _wseekdir (_WDIR*, long);
-
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* Not RC_INVOKED */
-
-#endif /* Not _DIRENT_H_ */
diff --git a/winsup/mingw/include/dos.h b/winsup/mingw/include/dos.h
deleted file mode 100644
index b3aa9aeff..000000000
--- a/winsup/mingw/include/dos.h
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
- * dos.h
- * This file has no copyright assigned and is placed in the Public Domain.
- * This file is a part of the mingw-runtime package.
- * No warranty is given; refer to the file DISCLAIMER within the package.
- *
- * DOS-specific functions and structures.
- *
- */
-
-#ifndef _DOS_H_
-#define _DOS_H_
-
-/* All the headers include this file. */
-#include <_mingw.h>
-
-#define __need_wchar_t
-#ifndef RC_INVOKED
-#include <stddef.h>
-#endif /* Not RC_INVOKED */
-
-/* For DOS file attributes */
-#include <io.h>
-
-#ifndef RC_INVOKED
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#ifndef __MSVCRT__ /* these are in CRTDLL, but not MSVCRT */
-#ifndef __DECLSPEC_SUPPORTED
-extern unsigned int *_imp___basemajor_dll;
-extern unsigned int *_imp___baseminor_dll;
-extern unsigned int *_imp___baseversion_dll;
-extern unsigned int *_imp___osmajor_dll;
-extern unsigned int *_imp___osminor_dll;
-extern unsigned int *_imp___osmode_dll;
-
-#define _basemajor (*_imp___basemajor_dll)
-#define _baseminor (*_imp___baseminor_dll)
-#define _baseversion (*_imp___baseversion_dll)
-#define _osmajor (*_imp___osmajor_dll)
-#define _osminor (*_imp___osminor_dll)
-#define _osmode (*_imp___osmode_dll)
-
-#else /* __DECLSPEC_SUPPORTED */
-
-__MINGW_IMPORT unsigned int _basemajor_dll;
-__MINGW_IMPORT unsigned int _baseminor_dll;
-__MINGW_IMPORT unsigned int _baseversion_dll;
-__MINGW_IMPORT unsigned int _osmajor_dll;
-__MINGW_IMPORT unsigned int _osminor_dll;
-__MINGW_IMPORT unsigned int _osmode_dll;
-
-#define _basemajor _basemajor_dll
-#define _baseminor _baseminor_dll
-#define _baseversion _baseversion_dll
-#define _osmajor _osmajor_dll
-#define _osminor _osminor_dll
-#define _osmode _osmode_dll
-
-#endif /* __DECLSPEC_SUPPORTED */
-#endif /* ! __MSVCRT__ */
-
-#ifndef _DISKFREE_T_DEFINED
-/* needed by _getdiskfree (also in direct.h) */
-struct _diskfree_t {
- unsigned total_clusters;
- unsigned avail_clusters;
- unsigned sectors_per_cluster;
- unsigned bytes_per_sector;
-};
-#define _DISKFREE_T_DEFINED
-#endif
-
-_CRTIMP unsigned __cdecl _getdiskfree (unsigned, struct _diskfree_t *);
-
-#ifndef _NO_OLDNAMES
-# define diskfree_t _diskfree_t
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* Not RC_INVOKED */
-
-#endif /* Not _DOS_H_ */
diff --git a/winsup/mingw/include/errno.h b/winsup/mingw/include/errno.h
deleted file mode 100644
index f9f709c65..000000000
--- a/winsup/mingw/include/errno.h
+++ /dev/null
@@ -1,101 +0,0 @@
-/*
- * errno.h
- * This file has no copyright assigned and is placed in the Public Domain.
- * This file is a part of the mingw-runtime package.
- * No warranty is given; refer to the file DISCLAIMER within the package.
- *
- * Error numbers and access to error reporting.
- *
- */
-
-#ifndef _ERRNO_H_
-#define _ERRNO_H_
-
-/* All the headers include this file. */
-#include <_mingw.h>
-
-/*
- * Error numbers.
- * TODO: Can't be sure of some of these assignments, I guessed from the
- * names given by strerror and the defines in the Cygnus errno.h. A lot
- * of the names from the Cygnus errno.h are not represented, and a few
- * of the descriptions returned by strerror do not obviously match
- * their error naming.
- */
-#define EPERM 1 /* Operation not permitted */
-#define ENOFILE 2 /* No such file or directory */
-#define ENOENT 2
-#define ESRCH 3 /* No such process */
-#define EINTR 4 /* Interrupted function call */
-#define EIO 5 /* Input/output error */
-#define ENXIO 6 /* No such device or address */
-#define E2BIG 7 /* Arg list too long */
-#define ENOEXEC 8 /* Exec format error */
-#define EBADF 9 /* Bad file descriptor */
-#define ECHILD 10 /* No child processes */
-#define EAGAIN 11 /* Resource temporarily unavailable */
-#define ENOMEM 12 /* Not enough space */
-#define EACCES 13 /* Permission denied */
-#define EFAULT 14 /* Bad address */
-/* 15 - Unknown Error */
-#define EBUSY 16 /* strerror reports "Resource device" */
-#define EEXIST 17 /* File exists */
-#define EXDEV 18 /* Improper link (cross-device link?) */
-#define ENODEV 19 /* No such device */
-#define ENOTDIR 20 /* Not a directory */
-#define EISDIR 21 /* Is a directory */
-#define EINVAL 22 /* Invalid argument */
-#define ENFILE 23 /* Too many open files in system */
-#define EMFILE 24 /* Too many open files */
-#define ENOTTY 25 /* Inappropriate I/O control operation */
-/* 26 - Unknown Error */
-#define EFBIG 27 /* File too large */
-#define ENOSPC 28 /* No space left on device */
-#define ESPIPE 29 /* Invalid seek (seek on a pipe?) */
-#define EROFS 30 /* Read-only file system */
-#define EMLINK 31 /* Too many links */
-#define EPIPE 32 /* Broken pipe */
-#define EDOM 33 /* Domain error (math functions) */
-#define ERANGE 34 /* Result too large (possibly too small) */
-/* 35 - Unknown Error */
-#define EDEADLOCK 36 /* Resource deadlock avoided (non-Cyg) */
-#define EDEADLK 36
-/* 37 - Unknown Error */
-#define ENAMETOOLONG 38 /* Filename too long (91 in Cyg?) */
-#define ENOLCK 39 /* No locks available (46 in Cyg?) */
-#define ENOSYS 40 /* Function not implemented (88 in Cyg?) */
-#define ENOTEMPTY 41 /* Directory not empty (90 in Cyg?) */
-#define EILSEQ 42 /* Illegal byte sequence */
-
-/*
- * NOTE: ENAMETOOLONG and ENOTEMPTY conflict with definitions in the
- * sockets.h header provided with windows32api-0.1.2.
- * You should go and put an #if 0 ... #endif around the whole block
- * of errors (look at the comment above them).
- */
-
-#ifndef RC_INVOKED
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*
- * Definitions of errno. For _doserrno, sys_nerr and * sys_errlist, see
- * stdlib.h.
- */
-#ifdef _UWIN
-#undef errno
-extern int errno;
-#else
-_CRTIMP int* __cdecl _errno(void);
-#define errno (*_errno())
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* Not RC_INVOKED */
-
-#endif /* Not _ERRNO_H_ */
diff --git a/winsup/mingw/include/excpt.h b/winsup/mingw/include/excpt.h
deleted file mode 100644
index d46a1d93c..000000000
--- a/winsup/mingw/include/excpt.h
+++ /dev/null
@@ -1,102 +0,0 @@
-/*
- * excpt.h
- * This file has no copyright assigned and is placed in the Public Domain.
- * This file is a part of the mingw-runtime package.
- * No warranty is given; refer to the file DISCLAIMER within the package.
- *
- * Support for operating system level structured exception handling.
- *
- * NOTE: This is very preliminary stuff. I am also pretty sure it is
- * completely Intel specific.
- *
- */
-
-#ifndef _EXCPT_H_
-#define _EXCPT_H_
-
-/* All the headers include this file. */
-#include <_mingw.h>
-
-#include <windef.h>
-
-/*
- * NOTE: The constants structs and typedefs below should be defined in the
- * Win32 API headers.
- */
-#define EH_NONCONTINUABLE 0x01
-#define EH_UNWINDING 0x02
-#define EH_EXIT_UNWIND 0x04
-#define EH_STACK_INVALID 0x08
-#define EH_NESTED_CALL 0x10
-
-#ifndef RC_INVOKED
-
-typedef enum {
- ExceptionContinueExecution,
- ExceptionContinueSearch,
- ExceptionNestedException,
- ExceptionCollidedUnwind
-} EXCEPTION_DISPOSITION;
-
-
-/*
- * End of stuff that should be in the Win32 API files.
- */
-
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*
- * The type of function that is expected as an exception handler to be
- * installed with _try1.
- */
-typedef EXCEPTION_DISPOSITION (*PEXCEPTION_HANDLER)
- (struct _EXCEPTION_RECORD*, void*, struct _CONTEXT*, void*);
-
-/*
- * This is not entirely necessary, but it is the structure installed by
- * the _try1 primitive below.
- */
-typedef struct _EXCEPTION_REGISTRATION
-{
- struct _EXCEPTION_REGISTRATION* prev;
- PEXCEPTION_HANDLER handler;
-} EXCEPTION_REGISTRATION, *PEXCEPTION_REGISTRATION;
-
-typedef EXCEPTION_REGISTRATION EXCEPTION_REGISTRATION_RECORD;
-typedef PEXCEPTION_REGISTRATION PEXCEPTION_REGISTRATION_RECORD;
-
-/*
- * A macro which installs the supplied exception handler.
- * Push the pointer to the new handler onto the stack,
- * then push the pointer to the old registration structure (at fs:0)
- * onto the stack, then put a pointer to the new registration
- * structure (i.e. the current stack pointer) at fs:0.
- */
-#define __try1(pHandler) \
- __asm__ ("pushl %0;pushl %%fs:0;movl %%esp,%%fs:0;" : : "g" (pHandler));
-
-/*
- * A macro which (despite its name) *removes* an installed
- * exception handler. Should be used only in conjunction with the above
- * install routine __try1.
- * Move the pointer to the old reg. struct (at the current stack
- * position) to fs:0, replacing the pointer we installed above,
- * then add 8 to the stack pointer to get rid of the space we
- * used when we pushed on our new reg. struct above. Notice that
- * the stack must be in the exact state at this point that it was
- * after we did _try1 or this will smash things.
- */
-#define __except1 \
- __asm__ ("movl (%%esp),%%eax;movl %%eax,%%fs:0;addl $8,%%esp;" \
- : : : "%eax");
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* Not RC_INVOKED */
-
-#endif /* _EXCPT_H_ not defined */
diff --git a/winsup/mingw/include/fcntl.h b/winsup/mingw/include/fcntl.h
deleted file mode 100644
index e62d15950..000000000
--- a/winsup/mingw/include/fcntl.h
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- * fcntl.h
- * This file has no copyright assigned and is placed in the Public Domain.
- * This file is a part of the mingw-runtime package.
- * No warranty is given; refer to the file DISCLAIMER within the package.
- *
- * Access constants for _open. Note that the permissions constants are
- * in sys/stat.h (ick).
- *
- */
-#ifndef _FCNTL_H_
-#define _FCNTL_H_
-
-/* All the headers include this file. */
-#include <_mingw.h>
-
-/*
- * It appears that fcntl.h should include io.h for compatibility...
- */
-#include <io.h>
-
-/* Specifiy one of these flags to define the access mode. */
-#define _O_RDONLY 0
-#define _O_WRONLY 1
-#define _O_RDWR 2
-
-/* Mask for access mode bits in the _open flags. */
-#define _O_ACCMODE (_O_RDONLY|_O_WRONLY|_O_RDWR)
-
-#define _O_APPEND 0x0008 /* Writes will add to the end of the file. */
-
-#define _O_RANDOM 0x0010
-#define _O_SEQUENTIAL 0x0020
-#define _O_TEMPORARY 0x0040 /* Make the file dissappear after closing.
- * WARNING: Even if not created by _open! */
-#define _O_NOINHERIT 0x0080
-
-#define _O_CREAT 0x0100 /* Create the file if it does not exist. */
-#define _O_TRUNC 0x0200 /* Truncate the file if it does exist. */
-#define _O_EXCL 0x0400 /* Open only if the file does not exist. */
-
-#define _O_SHORT_LIVED 0x1000
-
-/* NOTE: Text is the default even if the given _O_TEXT bit is not on. */
-#define _O_TEXT 0x4000 /* CR-LF in file becomes LF in memory. */
-#define _O_BINARY 0x8000 /* Input and output is not translated. */
-#define _O_RAW _O_BINARY
-
-#ifndef _NO_OLDNAMES
-
-/* POSIX/Non-ANSI names for increased portability */
-#define O_RDONLY _O_RDONLY
-#define O_WRONLY _O_WRONLY
-#define O_RDWR _O_RDWR
-#define O_ACCMODE _O_ACCMODE
-#define O_APPEND _O_APPEND
-#define O_CREAT _O_CREAT
-#define O_TRUNC _O_TRUNC
-#define O_EXCL _O_EXCL
-#define O_TEXT _O_TEXT
-#define O_BINARY _O_BINARY
-#define O_TEMPORARY _O_TEMPORARY
-#define O_NOINHERIT _O_NOINHERIT
-#define O_SEQUENTIAL _O_SEQUENTIAL
-#define O_RANDOM _O_RANDOM
-
-#endif /* Not _NO_OLDNAMES */
-
-#endif /* Not _FCNTL_H_ */
diff --git a/winsup/mingw/include/fenv.h b/winsup/mingw/include/fenv.h
deleted file mode 100644
index 43dfd338a..000000000
--- a/winsup/mingw/include/fenv.h
+++ /dev/null
@@ -1,91 +0,0 @@
-#ifndef _FENV_H_
-#define _FENV_H_
-
-
-/* FPU status word exception flags */
-#define FE_INVALID 0x01
-#define FE_DENORMAL 0x02
-#define FE_DIVBYZERO 0x04
-#define FE_OVERFLOW 0x08
-#define FE_UNDERFLOW 0x10
-#define FE_INEXACT 0x20
-#define FE_ALL_EXCEPT (FE_INVALID | FE_DENORMAL | FE_DIVBYZERO \
- | FE_OVERFLOW | FE_UNDERFLOW | FE_INEXACT)
-
-/* FPU control word rounding flags */
-#define FE_TONEAREST 0x0000
-#define FE_DOWNWARD 0x0400
-#define FE_UPWARD 0x0800
-#define FE_TOWARDZERO 0x0c00
-
-#ifndef RC_INVOKED
-/*
- For now, support only for the basic abstraction of flags that are
- either set or clear. fexcept_t could be structure that holds more
- info about the fp environment.
-*/
-typedef unsigned short fexcept_t;
-
-/* This 28-byte struct represents the entire floating point
- environment as stored by fnstenv or fstenv */
-typedef struct
-{
- unsigned short __control_word;
- unsigned short __unused0;
- unsigned short __status_word;
- unsigned short __unused1;
- unsigned short __tag_word;
- unsigned short __unused2;
- unsigned int __ip_offset; /* instruction pointer offset */
- unsigned short __ip_selector;
- unsigned short __opcode;
- unsigned int __data_offset;
- unsigned short __data_selector;
- unsigned short __unused3;
-} fenv_t;
-
-
-/*The C99 standard (7.6.9) allows us to define implementation-specific macros for
- different fp environments */
-
-/* The default Intel x87 floating point environment (64-bit mantissa) */
-#define FE_PC64_ENV ((const fenv_t *)-1)
-
-/* The floating point environment set by MSVCRT _fpreset (53-bit mantissa) */
-#define FE_PC53_ENV ((const fenv_t *)-2)
-
-/* The FE_DFL_ENV macro is required by standard.
- fesetenv will use the environment set at app startup.*/
-#define FE_DFL_ENV ((const fenv_t *) 0)
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*TODO: Some of these could be inlined */
-/* 7.6.2 Exception */
-
-extern int __cdecl feclearexcept (int);
-extern int __cdecl fegetexceptflag (fexcept_t * flagp, int excepts);
-extern int __cdecl feraiseexcept (int excepts );
-extern int __cdecl fesetexceptflag (const fexcept_t *, int);
-extern int __cdecl fetestexcept (int excepts);
-
-/* 7.6.3 Rounding */
-
-extern int __cdecl fegetround (void);
-extern int __cdecl fesetround (int mode);
-
-/* 7.6.4 Environment */
-
-extern int __cdecl fegetenv (fenv_t * envp);
-extern int __cdecl fesetenv (const fenv_t * );
-extern int __cdecl feupdateenv (const fenv_t *);
-extern int __cdecl feholdexcept (fenv_t *);
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* Not RC_INVOKED */
-
-#endif /* ndef _FENV_H */
diff --git a/winsup/mingw/include/float.h b/winsup/mingw/include/float.h
deleted file mode 100644
index 53bfb34db..000000000
--- a/winsup/mingw/include/float.h
+++ /dev/null
@@ -1,152 +0,0 @@
-/*
- * float.h
- * This file has no copyright assigned and is placed in the Public Domain.
- * This file is a part of the mingw-runtime package.
- * No warranty is given; refer to the file DISCLAIMER within the package.
- *
- * Constants related to floating point arithmetic.
- *
- * Also included here are some non-ANSI bits for accessing the floating
- * point controller.
- *
- * NOTE: GCC provides float.h, but it doesn't include the non-standard
- * stuff for accessing the fp controller. We include_next the
- * GCC-supplied header and just define the MS-specific extensions
- * here.
- *
- */
-
-#include_next<float.h>
-
-#ifndef _MINGW_FLOAT_H_
-#define _MINGW_FLOAT_H_
-
-/* All the headers include this file. */
-#include <_mingw.h>
-
-/*
- * Functions and definitions for controlling the FPU.
- */
-#ifndef __STRICT_ANSI__
-
-/* TODO: These constants are only valid for x86 machines */
-
-/* Control word masks for unMask */
-#define _MCW_EM 0x0008001F /* Error masks */
-#define _MCW_IC 0x00040000 /* Infinity */
-#define _MCW_RC 0x00000300 /* Rounding */
-#define _MCW_PC 0x00030000 /* Precision */
-
-/* Control word values for unNew (use with related unMask above) */
-#define _EM_INVALID 0x00000010
-#define _EM_DENORMAL 0x00080000
-#define _EM_ZERODIVIDE 0x00000008
-#define _EM_OVERFLOW 0x00000004
-#define _EM_UNDERFLOW 0x00000002
-#define _EM_INEXACT 0x00000001
-#define _IC_AFFINE 0x00040000
-#define _IC_PROJECTIVE 0x00000000
-#define _RC_CHOP 0x00000300
-#define _RC_UP 0x00000200
-#define _RC_DOWN 0x00000100
-#define _RC_NEAR 0x00000000
-#define _PC_24 0x00020000
-#define _PC_53 0x00010000
-#define _PC_64 0x00000000
-
-/* These are also defined in Mingw math.h, needed to work around
- GCC build issues. */
-/* Return values for fpclass. */
-#ifndef __MINGW_FPCLASS_DEFINED
-#define __MINGW_FPCLASS_DEFINED 1
-#define _FPCLASS_SNAN 0x0001 /* Signaling "Not a Number" */
-#define _FPCLASS_QNAN 0x0002 /* Quiet "Not a Number" */
-#define _FPCLASS_NINF 0x0004 /* Negative Infinity */
-#define _FPCLASS_NN 0x0008 /* Negative Normal */
-#define _FPCLASS_ND 0x0010 /* Negative Denormal */
-#define _FPCLASS_NZ 0x0020 /* Negative Zero */
-#define _FPCLASS_PZ 0x0040 /* Positive Zero */
-#define _FPCLASS_PD 0x0080 /* Positive Denormal */
-#define _FPCLASS_PN 0x0100 /* Positive Normal */
-#define _FPCLASS_PINF 0x0200 /* Positive Infinity */
-#endif /* __MINGW_FPCLASS_DEFINED */
-
-/* invalid subconditions (_SW_INVALID also set) */
-#define _SW_UNEMULATED 0x0040 /* unemulated instruction */
-#define _SW_SQRTNEG 0x0080 /* square root of a neg number */
-#define _SW_STACKOVERFLOW 0x0200 /* FP stack overflow */
-#define _SW_STACKUNDERFLOW 0x0400 /* FP stack underflow */
-
-/* Floating point error signals and return codes */
-#define _FPE_INVALID 0x81
-#define _FPE_DENORMAL 0x82
-#define _FPE_ZERODIVIDE 0x83
-#define _FPE_OVERFLOW 0x84
-#define _FPE_UNDERFLOW 0x85
-#define _FPE_INEXACT 0x86
-#define _FPE_UNEMULATED 0x87
-#define _FPE_SQRTNEG 0x88
-#define _FPE_STACKOVERFLOW 0x8a
-#define _FPE_STACKUNDERFLOW 0x8b
-#define _FPE_EXPLICITGEN 0x8c /* raise( SIGFPE ); */
-
-#ifndef RC_INVOKED
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* Set the FPU control word as cw = (cw & ~unMask) | (unNew & unMask),
- * i.e. change the bits in unMask to have the values they have in unNew,
- * leaving other bits unchanged. */
-_CRTIMP unsigned int __cdecl _controlfp (unsigned int unNew, unsigned int unMask);
-_CRTIMP unsigned int __cdecl _control87 (unsigned int unNew, unsigned int unMask);
-
-
-_CRTIMP unsigned int __cdecl _clearfp (void); /* Clear the FPU status word */
-_CRTIMP unsigned int __cdecl _statusfp (void); /* Report the FPU status word */
-#define _clear87 _clearfp
-#define _status87 _statusfp
-
-
-/*
- MSVCRT.dll _fpreset initializes the control register to 0x27f,
- the status register to zero and the tag word to 0FFFFh.
- This differs from asm instruction finit/fninit which set control
- word to 0x37f (64 bit mantissa precison rather than 53 bit).
- By default, the mingw version of _fpreset sets fp control as
- per fninit. To use the MSVCRT.dll _fpreset, include CRT_fp8.o when
- building your application.
-*/
-void __cdecl _fpreset (void);
-void __cdecl fpreset (void);
-
-/* Global 'variable' for the current floating point error code. */
-_CRTIMP int * __cdecl __fpecode(void);
-#define _fpecode (*(__fpecode()))
-
-/*
- * IEEE recommended functions. MS puts them in float.h
- * but they really belong in math.h.
- */
-
-_CRTIMP double __cdecl _chgsign (double);
-_CRTIMP double __cdecl _copysign (double, double);
-_CRTIMP double __cdecl _logb (double);
-_CRTIMP double __cdecl _nextafter (double, double);
-_CRTIMP double __cdecl _scalb (double, long);
-
-_CRTIMP int __cdecl _finite (double);
-_CRTIMP int __cdecl _fpclass (double);
-_CRTIMP int __cdecl _isnan (double);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* Not RC_INVOKED */
-
-#endif /* Not __STRICT_ANSI__ */
-
-#endif /* _FLOAT_H_ */
-
diff --git a/winsup/mingw/include/getopt.h b/winsup/mingw/include/getopt.h
deleted file mode 100644
index 6b6f643b7..000000000
--- a/winsup/mingw/include/getopt.h
+++ /dev/null
@@ -1,84 +0,0 @@
-/*
- * Copyright (c) 1987, 1993, 1994, 1996
- * The Regents of the University of California. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgement:
- * This product includes software developed by the University of
- * California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-#ifndef __GETOPT_H__
-#define __GETOPT_H__
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-extern int opterr; /* if error message should be printed */
-extern int optind; /* index into parent argv vector */
-extern int optopt; /* character checked for validity */
-extern int optreset; /* reset getopt */
-extern char *optarg; /* argument associated with option */
-
-int getopt (int, char * const *, const char *);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __GETOPT_H__ */
-
-#ifndef __UNISTD_GETOPT__
-#ifndef __GETOPT_LONG_H__
-#define __GETOPT_LONG_H__
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-struct option {
- const char *name;
- int has_arg;
- int *flag;
- int val;
-};
-
-int getopt_long (int, char *const *, const char *, const struct option *, int *);
-#ifndef HAVE_DECL_GETOPT
-#define HAVE_DECL_GETOPT 1
-#endif
-
-#define no_argument 0
-#define required_argument 1
-#define optional_argument 2
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __GETOPT_LONG_H__ */
-#endif /* __UNISTD_GETOPT__ */
diff --git a/winsup/mingw/include/inttypes.h b/winsup/mingw/include/inttypes.h
deleted file mode 100644
index a2042614a..000000000
--- a/winsup/mingw/include/inttypes.h
+++ /dev/null
@@ -1,278 +0,0 @@
-/* 7.8 Format conversion of integer types <inttypes.h> */
-
-#ifndef _INTTYPES_H_
-#define _INTTYPES_H_
-
-#include <_mingw.h>
-#include <stdint.h>
-#define __need_wchar_t
-#include <stddef.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-typedef struct {
- intmax_t quot;
- intmax_t rem;
- } imaxdiv_t;
-
-#if !defined(__cplusplus) || defined(__STDC_FORMAT_MACROS)
-
-/* 7.8.1 Macros for format specifiers
- *
- * MS runtime does not yet understand C9x standard "ll"
- * length specifier. It appears to treat "ll" as "l".
- * The non-standard I64 length specifier causes warning in GCC,
- * but understood by MS runtime functions.
- */
-
-/* fprintf macros for signed types */
-#define PRId8 "d"
-#define PRId16 "d"
-#define PRId32 "d"
-#define PRId64 "I64d"
-
-#define PRIdLEAST8 "d"
-#define PRIdLEAST16 "d"
-#define PRIdLEAST32 "d"
-#define PRIdLEAST64 "I64d"
-
-#define PRIdFAST8 "d"
-#define PRIdFAST16 "d"
-#define PRIdFAST32 "d"
-#define PRIdFAST64 "I64d"
-
-#define PRIdMAX "I64d"
-#define PRIdPTR "d"
-
-#define PRIi8 "i"
-#define PRIi16 "i"
-#define PRIi32 "i"
-#define PRIi64 "I64i"
-
-#define PRIiLEAST8 "i"
-#define PRIiLEAST16 "i"
-#define PRIiLEAST32 "i"
-#define PRIiLEAST64 "I64i"
-
-#define PRIiFAST8 "i"
-#define PRIiFAST16 "i"
-#define PRIiFAST32 "i"
-#define PRIiFAST64 "I64i"
-
-#define PRIiMAX "I64i"
-#define PRIiPTR "i"
-
-#define PRIo8 "o"
-#define PRIo16 "o"
-#define PRIo32 "o"
-#define PRIo64 "I64o"
-
-#define PRIoLEAST8 "o"
-#define PRIoLEAST16 "o"
-#define PRIoLEAST32 "o"
-#define PRIoLEAST64 "I64o"
-
-#define PRIoFAST8 "o"
-#define PRIoFAST16 "o"
-#define PRIoFAST32 "o"
-#define PRIoFAST64 "I64o"
-
-#define PRIoMAX "I64o"
-
-#define PRIoPTR "o"
-
-/* fprintf macros for unsigned types */
-#define PRIu8 "u"
-#define PRIu16 "u"
-#define PRIu32 "u"
-#define PRIu64 "I64u"
-
-
-#define PRIuLEAST8 "u"
-#define PRIuLEAST16 "u"
-#define PRIuLEAST32 "u"
-#define PRIuLEAST64 "I64u"
-
-#define PRIuFAST8 "u"
-#define PRIuFAST16 "u"
-#define PRIuFAST32 "u"
-#define PRIuFAST64 "I64u"
-
-#define PRIuMAX "I64u"
-#define PRIuPTR "u"
-
-#define PRIx8 "x"
-#define PRIx16 "x"
-#define PRIx32 "x"
-#define PRIx64 "I64x"
-
-#define PRIxLEAST8 "x"
-#define PRIxLEAST16 "x"
-#define PRIxLEAST32 "x"
-#define PRIxLEAST64 "I64x"
-
-#define PRIxFAST8 "x"
-#define PRIxFAST16 "x"
-#define PRIxFAST32 "x"
-#define PRIxFAST64 "I64x"
-
-#define PRIxMAX "I64x"
-#define PRIxPTR "x"
-
-#define PRIX8 "X"
-#define PRIX16 "X"
-#define PRIX32 "X"
-#define PRIX64 "I64X"
-
-#define PRIXLEAST8 "X"
-#define PRIXLEAST16 "X"
-#define PRIXLEAST32 "X"
-#define PRIXLEAST64 "I64X"
-
-#define PRIXFAST8 "X"
-#define PRIXFAST16 "X"
-#define PRIXFAST32 "X"
-#define PRIXFAST64 "I64X"
-
-#define PRIXMAX "I64X"
-#define PRIXPTR "X"
-
-/*
- * fscanf macros for signed int types
- * NOTE: if 32-bit int is used for int_fast8_t and int_fast16_t
- * (see stdint.h, 7.18.1.3), FAST8 and FAST16 should have
- * no length identifiers
- */
-
-#define SCNd16 "hd"
-#define SCNd32 "d"
-#define SCNd64 "I64d"
-
-#define SCNdLEAST16 "hd"
-#define SCNdLEAST32 "d"
-#define SCNdLEAST64 "I64d"
-
-#define SCNdFAST16 "hd"
-#define SCNdFAST32 "d"
-#define SCNdFAST64 "I64d"
-
-#define SCNdMAX "I64d"
-#define SCNdPTR "d"
-
-#define SCNi16 "hi"
-#define SCNi32 "i"
-#define SCNi64 "I64i"
-
-#define SCNiLEAST16 "hi"
-#define SCNiLEAST32 "i"
-#define SCNiLEAST64 "I64i"
-
-#define SCNiFAST16 "hi"
-#define SCNiFAST32 "i"
-#define SCNiFAST64 "I64i"
-
-#define SCNiMAX "I64i"
-#define SCNiPTR "i"
-
-#define SCNo16 "ho"
-#define SCNo32 "o"
-#define SCNo64 "I64o"
-
-#define SCNoLEAST16 "ho"
-#define SCNoLEAST32 "o"
-#define SCNoLEAST64 "I64o"
-
-#define SCNoFAST16 "ho"
-#define SCNoFAST32 "o"
-#define SCNoFAST64 "I64o"
-
-#define SCNoMAX "I64o"
-#define SCNoPTR "o"
-
-#define SCNx16 "hx"
-#define SCNx32 "x"
-#define SCNx64 "I64x"
-
-#define SCNxLEAST16 "hx"
-#define SCNxLEAST32 "x"
-#define SCNxLEAST64 "I64x"
-
-#define SCNxFAST16 "hx"
-#define SCNxFAST32 "x"
-#define SCNxFAST64 "I64x"
-
-#define SCNxMAX "I64x"
-#define SCNxPTR "x"
-
-
-/* fscanf macros for unsigned int types */
-
-#define SCNu16 "hu"
-#define SCNu32 "u"
-#define SCNu64 "I64u"
-
-#define SCNuLEAST16 "hu"
-#define SCNuLEAST32 "u"
-#define SCNuLEAST64 "I64u"
-
-#define SCNuFAST16 "hu"
-#define SCNuFAST32 "u"
-#define SCNuFAST64 "I64u"
-
-#define SCNuMAX "I64u"
-#define SCNuPTR "u"
-
-#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
-/*
- * no length modifier for char types prior to C9x
- * MS runtime scanf appears to treat "hh" as "h"
- */
-
-/* signed char */
-#define SCNd8 "hhd"
-#define SCNdLEAST8 "hhd"
-#define SCNdFAST8 "hhd"
-
-#define SCNi8 "hhi"
-#define SCNiLEAST8 "hhi"
-#define SCNiFAST8 "hhi"
-
-#define SCNo8 "hho"
-#define SCNoLEAST8 "hho"
-#define SCNoFAST8 "hho"
-
-#define SCNx8 "hhx"
-#define SCNxLEAST8 "hhx"
-#define SCNxFAST8 "hhx"
-
-/* unsigned char */
-#define SCNu8 "hhu"
-#define SCNuLEAST8 "hhu"
-#define SCNuFAST8 "hhu"
-#endif /* __STDC_VERSION__ >= 199901 */
-
-#endif /* !defined(__cplusplus) || defined(__STDC_FORMAT_MACROS) */
-
-__CRT_INLINE intmax_t __cdecl imaxabs (intmax_t j)
- {return (j >= 0 ? j : -j);}
-imaxdiv_t __cdecl imaxdiv (intmax_t numer, intmax_t denom);
-
-/* 7.8.2 Conversion functions for greatest-width integer types */
-
-intmax_t __cdecl strtoimax (const char* __restrict__ nptr,
- char** __restrict__ endptr, int base);
-uintmax_t __cdecl strtoumax (const char* __restrict__ nptr,
- char** __restrict__ endptr, int base);
-
-intmax_t __cdecl wcstoimax (const wchar_t* __restrict__ nptr,
- wchar_t** __restrict__ endptr, int base);
-uintmax_t __cdecl wcstoumax (const wchar_t* __restrict__ nptr,
- wchar_t** __restrict__ endptr, int base);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* ndef _INTTYPES_H */
diff --git a/winsup/mingw/include/io.h b/winsup/mingw/include/io.h
deleted file mode 100644
index 66d59b5a8..000000000
--- a/winsup/mingw/include/io.h
+++ /dev/null
@@ -1,313 +0,0 @@
-/*
- * io.h
- * This file has no copyright assigned and is placed in the Public Domain.
- * This file is a part of the mingw-runtime package.
- * No warranty is given; refer to the file DISCLAIMER within the package.
- *
- * System level I/O functions and types.
- *
- */
-#ifndef _IO_H_
-#define _IO_H_
-
-/* All the headers include this file. */
-#include <_mingw.h>
-
-/* MSVC's io.h contains the stuff from dir.h, so I will too.
- * NOTE: This also defines off_t, the file offset type, through
- * an inclusion of sys/types.h */
-
-#include <sys/types.h> /* To get time_t. */
-#include <stdint.h> /* For intptr_t. */
-
-/*
- * Attributes of files as returned by _findfirst et al.
- */
-#define _A_NORMAL 0x00000000
-#define _A_RDONLY 0x00000001
-#define _A_HIDDEN 0x00000002
-#define _A_SYSTEM 0x00000004
-#define _A_VOLID 0x00000008
-#define _A_SUBDIR 0x00000010
-#define _A_ARCH 0x00000020
-
-
-#ifndef RC_INVOKED
-
-#ifndef _FSIZE_T_DEFINED
-typedef unsigned long _fsize_t;
-#define _FSIZE_T_DEFINED
-#endif
-
-/*
- * The maximum length of a file name. You should use GetVolumeInformation
- * instead of this constant. But hey, this works.
- * Also defined in stdio.h.
- */
-#ifndef FILENAME_MAX
-#define FILENAME_MAX (260)
-#endif
-
-/*
- * The following structure is filled in by _findfirst or _findnext when
- * they succeed in finding a match.
- */
-struct _finddata_t
-{
- unsigned attrib; /* Attributes, see constants above. */
- time_t time_create;
- time_t time_access; /* always midnight local time */
- time_t time_write;
- _fsize_t size;
- char name[FILENAME_MAX]; /* may include spaces. */
-};
-
-struct _finddatai64_t {
- unsigned attrib;
- time_t time_create;
- time_t time_access;
- time_t time_write;
- __int64 size;
- char name[FILENAME_MAX];
-};
-
-struct __finddata64_t {
- unsigned attrib;
- __time64_t time_create;
- __time64_t time_access;
- __time64_t time_write;
- _fsize_t size;
- char name[FILENAME_MAX];
-};
-
-#ifndef _WFINDDATA_T_DEFINED
-struct _wfinddata_t {
- unsigned attrib;
- time_t time_create; /* -1 for FAT file systems */
- time_t time_access; /* -1 for FAT file systems */
- time_t time_write;
- _fsize_t size;
- wchar_t name[FILENAME_MAX]; /* may include spaces. */
-};
-
-struct _wfinddatai64_t {
- unsigned attrib;
- time_t time_create;
- time_t time_access;
- time_t time_write;
- __int64 size;
- wchar_t name[FILENAME_MAX];
-};
-
-struct __wfinddata64_t {
- unsigned attrib;
- __time64_t time_create;
- __time64_t time_access;
- __time64_t time_write;
- _fsize_t size;
- wchar_t name[FILENAME_MAX];
-};
-
-#define _WFINDDATA_T_DEFINED
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*
- * Functions for searching for files. _findfirst returns -1 if no match
- * is found. Otherwise it returns a handle to be used in _findnext and
- * _findclose calls. _findnext also returns -1 if no match could be found,
- * and 0 if a match was found. Call _findclose when you are finished.
- */
-/* FIXME: Should these all use intptr_t, as per recent MSDN docs? */
-_CRTIMP long __cdecl _findfirst (const char*, struct _finddata_t*);
-_CRTIMP int __cdecl _findnext (long, struct _finddata_t*);
-_CRTIMP int __cdecl _findclose (long);
-
-_CRTIMP int __cdecl _chdir (const char*);
-_CRTIMP char* __cdecl _getcwd (char*, int);
-_CRTIMP int __cdecl _mkdir (const char*);
-_CRTIMP char* __cdecl _mktemp (char*);
-_CRTIMP int __cdecl _rmdir (const char*);
-_CRTIMP int __cdecl _chmod (const char*, int);
-
-#ifdef __MSVCRT__
-_CRTIMP __int64 __cdecl _filelengthi64(int);
-_CRTIMP long __cdecl _findfirsti64(const char*, struct _finddatai64_t*);
-_CRTIMP int __cdecl _findnexti64(long, struct _finddatai64_t*);
-_CRTIMP __int64 __cdecl _lseeki64(int, __int64, int);
-_CRTIMP __int64 __cdecl _telli64(int);
-/* These require newer versions of msvcrt.dll (6.1 or higher). */
-#if __MSVCRT_VERSION__ >= 0x0601
-_CRTIMP intptr_t __cdecl _findfirst64(const char*, struct __finddata64_t*);
-_CRTIMP intptr_t __cdecl _findnext64(intptr_t, struct __finddata64_t*);
-#endif /* __MSVCRT_VERSION__ >= 0x0601 */
-
-#ifndef __NO_MINGW_LFS
-__CRT_INLINE off64_t lseek64 (int fd, off64_t offset, int whence)
-{
- return _lseeki64(fd, (__int64) offset, whence);
-}
-#endif
-
-#endif /* __MSVCRT__ */
-
-#ifndef _NO_OLDNAMES
-
-#ifndef _UWIN
-_CRTIMP int __cdecl chdir (const char*);
-_CRTIMP char* __cdecl getcwd (char*, int);
-_CRTIMP int __cdecl mkdir (const char*);
-_CRTIMP char* __cdecl mktemp (char*);
-_CRTIMP int __cdecl rmdir (const char*);
-_CRTIMP int __cdecl chmod (const char*, int);
-#endif /* _UWIN */
-
-#endif /* Not _NO_OLDNAMES */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* Not RC_INVOKED */
-
-/* TODO: Maximum number of open handles has not been tested, I just set
- * it the same as FOPEN_MAX. */
-#define HANDLE_MAX FOPEN_MAX
-
-/* Some defines for _access nAccessMode (MS doesn't define them, but
- * it doesn't seem to hurt to add them). */
-#define F_OK 0 /* Check for file existence */
-#define X_OK 1 /* Check for execute permission. */
-#define W_OK 2 /* Check for write permission */
-#define R_OK 4 /* Check for read permission */
-
-#ifndef RC_INVOKED
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-_CRTIMP int __cdecl _access (const char*, int);
-_CRTIMP int __cdecl _chsize (int, long);
-_CRTIMP int __cdecl _close (int);
-_CRTIMP int __cdecl _commit(int);
-
-/* NOTE: The only significant bit in unPermissions appears to be bit 7 (0x80),
- * the "owner write permission" bit (on FAT). */
-_CRTIMP int __cdecl _creat (const char*, int);
-
-_CRTIMP int __cdecl _dup (int);
-_CRTIMP int __cdecl _dup2 (int, int);
-_CRTIMP long __cdecl _filelength (int);
-_CRTIMP long __cdecl _get_osfhandle (int);
-_CRTIMP int __cdecl _isatty (int);
-
-/* In a very odd turn of events this function is excluded from those
- * files which define _STREAM_COMPAT. This is required in order to
- * build GNU libio because of a conflict with _eof in streambuf.h
- * line 107. Actually I might just be able to change the name of
- * the enum member in streambuf.h... we'll see. TODO */
-#ifndef _STREAM_COMPAT
-_CRTIMP int __cdecl _eof (int);
-#endif
-
-/* LK_... locking commands defined in sys/locking.h. */
-_CRTIMP int __cdecl _locking (int, int, long);
-
-_CRTIMP long __cdecl _lseek (int, long, int);
-
-/* Optional third argument is unsigned unPermissions. */
-_CRTIMP int __cdecl _open (const char*, int, ...);
-
-_CRTIMP int __cdecl _open_osfhandle (long, int);
-_CRTIMP int __cdecl _pipe (int *, unsigned int, int);
-_CRTIMP int __cdecl _read (int, void*, unsigned int);
-_CRTIMP int __cdecl _setmode (int, int);
-
-/* SH_... flags for nShFlags defined in share.h
- * Optional fourth argument is unsigned unPermissions */
-_CRTIMP int __cdecl _sopen (const char*, int, int, ...);
-
-_CRTIMP long __cdecl _tell (int);
-/* Should umask be in sys/stat.h and/or sys/types.h instead? */
-_CRTIMP int __cdecl _umask (int);
-_CRTIMP int __cdecl _unlink (const char*);
-_CRTIMP int __cdecl _write (int, const void*, unsigned int);
-
-/* Wide character versions. Also declared in wchar.h. */
-/* Not in crtdll.dll */
-#if !defined (_WIO_DEFINED)
-#if defined (__MSVCRT__)
-_CRTIMP int __cdecl _waccess(const wchar_t*, int);
-_CRTIMP int __cdecl _wchmod(const wchar_t*, int);
-_CRTIMP int __cdecl _wcreat(const wchar_t*, int);
-_CRTIMP long __cdecl _wfindfirst(const wchar_t*, struct _wfinddata_t*);
-_CRTIMP int __cdecl _wfindnext(long, struct _wfinddata_t *);
-_CRTIMP int __cdecl _wunlink(const wchar_t*);
-_CRTIMP int __cdecl _wopen(const wchar_t*, int, ...);
-_CRTIMP int __cdecl _wsopen(const wchar_t*, int, int, ...);
-_CRTIMP wchar_t * __cdecl _wmktemp(wchar_t*);
-_CRTIMP long __cdecl _wfindfirsti64(const wchar_t*, struct _wfinddatai64_t*);
-_CRTIMP int __cdecl _wfindnexti64(long, struct _wfinddatai64_t*);
-#if __MSVCRT_VERSION__ >= 0x0601
-_CRTIMP intptr_t __cdecl _wfindfirst64(const wchar_t*, struct __wfinddata64_t*);
-_CRTIMP intptr_t __cdecl _wfindnext64(intptr_t, struct __wfinddata64_t*);
-#endif
-#endif /* defined (__MSVCRT__) */
-#define _WIO_DEFINED
-#endif /* _WIO_DEFINED */
-
-#ifndef _NO_OLDNAMES
-/*
- * Non-underscored versions of non-ANSI functions to improve portability.
- * These functions live in libmoldname.a.
- */
-
-#ifndef _UWIN
-_CRTIMP int __cdecl access (const char*, int);
-_CRTIMP int __cdecl chsize (int, long );
-_CRTIMP int __cdecl close (int);
-_CRTIMP int __cdecl creat (const char*, int);
-_CRTIMP int __cdecl dup (int);
-_CRTIMP int __cdecl dup2 (int, int);
-_CRTIMP int __cdecl eof (int);
-_CRTIMP long __cdecl filelength (int);
-_CRTIMP int __cdecl isatty (int);
-_CRTIMP long __cdecl lseek (int, long, int);
-_CRTIMP int __cdecl open (const char*, int, ...);
-_CRTIMP int __cdecl read (int, void*, unsigned int);
-_CRTIMP int __cdecl setmode (int, int);
-_CRTIMP int __cdecl sopen (const char*, int, int, ...);
-_CRTIMP long __cdecl tell (int);
-_CRTIMP int __cdecl umask (int);
-_CRTIMP int __cdecl unlink (const char*);
-_CRTIMP int __cdecl write (int, const void*, unsigned int);
-#endif /* _UWIN */
-
-/* Wide character versions. Also declared in wchar.h. */
-/* Where do these live? Not in libmoldname.a nor in libmsvcrt.a */
-#if 0
-int waccess(const wchar_t *, int);
-int wchmod(const wchar_t *, int);
-int wcreat(const wchar_t *, int);
-long wfindfirst(wchar_t *, struct _wfinddata_t *);
-int wfindnext(long, struct _wfinddata_t *);
-int wunlink(const wchar_t *);
-int wrename(const wchar_t *, const wchar_t *);
-int wopen(const wchar_t *, int, ...);
-int wsopen(const wchar_t *, int, int, ...);
-wchar_t * wmktemp(wchar_t *);
-#endif
-
-#endif /* Not _NO_OLDNAMES */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* Not RC_INVOKED */
-
-#endif /* _IO_H_ not defined */
diff --git a/winsup/mingw/include/limits.h b/winsup/mingw/include/limits.h
deleted file mode 100644
index 04f79f58c..000000000
--- a/winsup/mingw/include/limits.h
+++ /dev/null
@@ -1,112 +0,0 @@
-/*
- * limits.h
- * This file has no copyright assigned and is placed in the Public Domain.
- * This file is a part of the mingw-runtime package.
- * No warranty is given; refer to the file DISCLAIMER within the package.
- *
- * Functions for manipulating paths and directories (included from io.h)
- * plus functions for setting the current drive.
- *
- * Defines constants for the sizes of integral types.
- *
- * NOTE: GCC should supply a version of this header and it should be safe to
- * use that version instead of this one (maybe safer).
- *
- */
-
-#ifndef _LIMITS_H_
-#define _LIMITS_H_
-
-/* All the headers include this file. */
-#include <_mingw.h>
-
-/*
- * File system limits
- *
- * TODO: NAME_MAX and OPEN_MAX are file system limits or not? Are they the
- * same as FILENAME_MAX and FOPEN_MAX from stdio.h?
- * NOTE: Apparently the actual size of PATH_MAX is 260, but a space is
- * required for the NUL. TODO: Test?
- */
-#define PATH_MAX 259
-
-/*
- * Characteristics of the char data type.
- *
- * TODO: Is MB_LEN_MAX correct?
- */
-#define CHAR_BIT 8
-#define MB_LEN_MAX 2
-
-#define SCHAR_MIN (-128)
-#define SCHAR_MAX 127
-
-#define UCHAR_MAX 255
-
-/* TODO: Is this safe? I think it might just be testing the preprocessor,
- * not the compiler itself... */
-#if ('\x80' < 0)
-#define CHAR_MIN SCHAR_MIN
-#define CHAR_MAX SCHAR_MAX
-#else
-#define CHAR_MIN 0
-#define CHAR_MAX UCHAR_MAX
-#endif
-
-/*
- * Maximum and minimum values for ints.
- */
-#define INT_MAX 2147483647
-#define INT_MIN (-INT_MAX-1)
-
-#define UINT_MAX 0xffffffff
-
-/*
- * Maximum and minimum values for shorts.
- */
-#define SHRT_MAX 32767
-#define SHRT_MIN (-SHRT_MAX-1)
-
-#define USHRT_MAX 0xffff
-
-/*
- * Maximum and minimum values for longs and unsigned longs.
- *
- * TODO: This is not correct for Alphas, which have 64 bit longs.
- */
-#define LONG_MAX 2147483647L
-#define LONG_MIN (-LONG_MAX-1)
-
-#define ULONG_MAX 0xffffffffUL
-
-#ifndef __STRICT_ANSI__
-/* POSIX wants this. */
-#define SSIZE_MAX LONG_MAX
-#endif
-
-#if (defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) \
- || !defined(__STRICT_ANSI__)
-/* ISO C9x macro names */
-#define LLONG_MAX 9223372036854775807LL
-#define LLONG_MIN (-LLONG_MAX - 1)
-#define ULLONG_MAX (2ULL * LLONG_MAX + 1)
-#endif
-
-/*
- * The GNU C compiler also allows 'long long int'
- */
-#if !defined(__STRICT_ANSI__) && defined(__GNUC__)
-
-#define LONG_LONG_MAX 9223372036854775807LL
-#define LONG_LONG_MIN (-LONG_LONG_MAX-1)
-#define ULONG_LONG_MAX (2ULL * LONG_LONG_MAX + 1)
-
-/* MSVC compatibility */
-#define _I64_MIN LONG_LONG_MIN
-#define _I64_MAX LONG_LONG_MAX
-#define _UI64_MAX ULONG_LONG_MAX
-
-#endif /* Not Strict ANSI and GNU C compiler */
-
-
-#endif /* not _LIMITS_H_ */
diff --git a/winsup/mingw/include/locale.h b/winsup/mingw/include/locale.h
deleted file mode 100644
index 41746c6a3..000000000
--- a/winsup/mingw/include/locale.h
+++ /dev/null
@@ -1,88 +0,0 @@
-/*
- * locale.h
- * This file has no copyright assigned and is placed in the Public Domain.
- * This file is a part of the mingw-runtime package.
- * No warranty is given; refer to the file DISCLAIMER within the package.
- *
- * Functions and types for localization (ie. changing the appearance of
- * output based on the standards of a certain country).
- *
- */
-
-#ifndef _LOCALE_H_
-#define _LOCALE_H_
-
-/* All the headers include this file. */
-#include <_mingw.h>
-
-/*
- * NOTE: I have tried to test this, but I am limited by my knowledge of
- * locale issues. The structure does not bomb if you look at the
- * values, and 'decimal_point' even seems to be correct. But the
- * rest of the values are, by default, not particularly useful
- * (read meaningless and not related to the international settings
- * of the system).
- */
-
-#define LC_ALL 0
-#define LC_COLLATE 1
-#define LC_CTYPE 2
-#define LC_MONETARY 3
-#define LC_NUMERIC 4
-#define LC_TIME 5
-#define LC_MIN LC_ALL
-#define LC_MAX LC_TIME
-
-#ifndef RC_INVOKED
-
-/* According to C89 std, NULL is defined in locale.h too. */
-#define __need_NULL
-#include <stddef.h>
-
-/*
- * The structure returned by 'localeconv'.
- */
-struct lconv
-{
- char* decimal_point;
- char* thousands_sep;
- char* grouping;
- char* int_curr_symbol;
- char* currency_symbol;
- char* mon_decimal_point;
- char* mon_thousands_sep;
- char* mon_grouping;
- char* positive_sign;
- char* negative_sign;
- char int_frac_digits;
- char frac_digits;
- char p_cs_precedes;
- char p_sep_by_space;
- char n_cs_precedes;
- char n_sep_by_space;
- char p_sign_posn;
- char n_sign_posn;
-};
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-_CRTIMP char* __cdecl setlocale (int, const char*);
-_CRTIMP struct lconv* __cdecl localeconv (void);
-
-#ifndef _WLOCALE_DEFINED /* also declared in wchar.h */
-# define __need_wchar_t
-# include <stddef.h>
- _CRTIMP wchar_t* __cdecl _wsetlocale(int, const wchar_t*);
-# define _WLOCALE_DEFINED
-#endif /* ndef _WLOCALE_DEFINED */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* Not RC_INVOKED */
-
-#endif /* Not _LOCALE_H_ */
-
diff --git a/winsup/mingw/include/malloc.h b/winsup/mingw/include/malloc.h
deleted file mode 100644
index 5afa2916f..000000000
--- a/winsup/mingw/include/malloc.h
+++ /dev/null
@@ -1,98 +0,0 @@
-/*
- * malloc.h
- * This file has no copyright assigned and is placed in the Public Domain.
- * This file is a part of the mingw-runtime package.
- * No warranty is given; refer to the file DISCLAIMER within the package.
- *
- * Support for programs which want to use malloc.h to get memory management
- * functions. Unless you absolutely need some of these functions and they are
- * not in the ANSI headers you should use the ANSI standard header files
- * instead.
- *
- */
-
-#ifndef _MALLOC_H_
-#define _MALLOC_H_
-
-/* All the headers include this file. */
-#include <_mingw.h>
-
-#include <stdlib.h>
-
-#ifndef RC_INVOKED
-
-/*
- * The structure used to walk through the heap with _heapwalk.
- */
-typedef struct _heapinfo
-{
- int* _pentry;
- size_t _size;
- int _useflag;
-} _HEAPINFO;
-
-/* Values for _heapinfo.useflag */
-#define _FREEENTRY 0
-#define _USEDENTRY 1
-
-/* Return codes for _heapwalk() */
-#define _HEAPEMPTY (-1)
-#define _HEAPOK (-2)
-#define _HEAPBADBEGIN (-3)
-#define _HEAPBADNODE (-4)
-#define _HEAPEND (-5)
-#define _HEAPBADPTR (-6)
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-/*
- The _heap* memory allocation functions are supported on NT
- but not W9x. On latter, they always set errno to ENOSYS.
-*/
-_CRTIMP int __cdecl _heapwalk (_HEAPINFO*);
-#ifdef __GNUC__
-#define _alloca(x) __builtin_alloca((x))
-#endif
-
-#ifndef _NO_OLDNAMES
-_CRTIMP int __cdecl heapwalk (_HEAPINFO*);
-#ifdef __GNUC__
-#define alloca(x) __builtin_alloca((x))
-#endif
-#endif /* Not _NO_OLDNAMES */
-
-_CRTIMP int __cdecl _heapchk (void); /* Verify heap integrety. */
-_CRTIMP int __cdecl _heapmin (void); /* Return unused heap to the OS. */
-_CRTIMP int __cdecl _heapset (unsigned int);
-
-_CRTIMP size_t __cdecl _msize (void*);
-_CRTIMP size_t __cdecl _get_sbh_threshold (void);
-_CRTIMP int __cdecl _set_sbh_threshold (size_t);
-_CRTIMP void* __cdecl _expand (void*, size_t);
-
-/* These require msvcr70.dll or higher. */
-#if __MSVCRT_VERSION__ >= 0x0700
-_CRTIMP void * __cdecl _aligned_offset_malloc(size_t, size_t, size_t);
-_CRTIMP void * __cdecl _aligned_offset_realloc(void*, size_t, size_t, size_t);
-
-_CRTIMP void * __cdecl _aligned_malloc (size_t, size_t);
-_CRTIMP void * __cdecl _aligned_realloc (void*, size_t, size_t);
-_CRTIMP void __cdecl _aligned_free (void*);
-#endif /* __MSVCRT_VERSION__ >= 0x0700 */
-
-/* These require libmingwex.a. */
-void * __cdecl __mingw_aligned_offset_malloc (size_t, size_t, size_t);
-void * __cdecl __mingw_aligned_offset_realloc (void*, size_t, size_t, size_t);
-
-void * __cdecl __mingw_aligned_malloc (size_t, size_t);
-void * __cdecl __mingw_aligned_realloc (void*, size_t, size_t);
-void __cdecl __mingw_aligned_free (void*);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* RC_INVOKED */
-
-#endif /* Not _MALLOC_H_ */
diff --git a/winsup/mingw/include/math.h b/winsup/mingw/include/math.h
deleted file mode 100644
index 1bd9b16c3..000000000
--- a/winsup/mingw/include/math.h
+++ /dev/null
@@ -1,832 +0,0 @@
-/*
- * math.h
- * This file has no copyright assigned and is placed in the Public Domain.
- * This file is a part of the mingw-runtime package.
- * No warranty is given; refer to the file DISCLAIMER within the package.
- *
- * Mathematical functions.
- *
- */
-
-
-#ifndef _MATH_H_
-#define _MATH_H_
-
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-/* All the headers include this file. */
-#include <_mingw.h>
-
-/*
- * Types for the _exception structure.
- */
-
-#define _DOMAIN 1 /* domain error in argument */
-#define _SING 2 /* singularity */
-#define _OVERFLOW 3 /* range overflow */
-#define _UNDERFLOW 4 /* range underflow */
-#define _TLOSS 5 /* total loss of precision */
-#define _PLOSS 6 /* partial loss of precision */
-
-/*
- * Exception types with non-ANSI names for compatibility.
- */
-
-#ifndef __STRICT_ANSI__
-#ifndef _NO_OLDNAMES
-
-#define DOMAIN _DOMAIN
-#define SING _SING
-#define OVERFLOW _OVERFLOW
-#define UNDERFLOW _UNDERFLOW
-#define TLOSS _TLOSS
-#define PLOSS _PLOSS
-
-#endif /* Not _NO_OLDNAMES */
-#endif /* Not __STRICT_ANSI__ */
-
-
-/* Traditional/XOPEN math constants (double precison) */
-#ifndef __STRICT_ANSI__
-#define M_E 2.7182818284590452354
-#define M_LOG2E 1.4426950408889634074
-#define M_LOG10E 0.43429448190325182765
-#define M_LN2 0.69314718055994530942
-#define M_LN10 2.30258509299404568402
-#define M_PI 3.14159265358979323846
-#define M_PI_2 1.57079632679489661923
-#define M_PI_4 0.78539816339744830962
-#define M_1_PI 0.31830988618379067154
-#define M_2_PI 0.63661977236758134308
-#define M_2_SQRTPI 1.12837916709551257390
-#define M_SQRT2 1.41421356237309504880
-#define M_SQRT1_2 0.70710678118654752440
-#endif
-
-/* These are also defined in Mingw float.h; needed here as well to work
- around GCC build issues. */
-#ifndef __STRICT_ANSI__
-#ifndef __MINGW_FPCLASS_DEFINED
-#define __MINGW_FPCLASS_DEFINED 1
-/* IEEE 754 classication */
-#define _FPCLASS_SNAN 0x0001 /* Signaling "Not a Number" */
-#define _FPCLASS_QNAN 0x0002 /* Quiet "Not a Number" */
-#define _FPCLASS_NINF 0x0004 /* Negative Infinity */
-#define _FPCLASS_NN 0x0008 /* Negative Normal */
-#define _FPCLASS_ND 0x0010 /* Negative Denormal */
-#define _FPCLASS_NZ 0x0020 /* Negative Zero */
-#define _FPCLASS_PZ 0x0040 /* Positive Zero */
-#define _FPCLASS_PD 0x0080 /* Positive Denormal */
-#define _FPCLASS_PN 0x0100 /* Positive Normal */
-#define _FPCLASS_PINF 0x0200 /* Positive Infinity */
-#endif /* __MINGW_FPCLASS_DEFINED */
-#endif /* Not __STRICT_ANSI__ */
-
-#ifndef RC_INVOKED
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*
- * HUGE_VAL is returned by strtod when the value would overflow the
- * representation of 'double'. There are other uses as well.
- *
- * __imp__HUGE is a pointer to the actual variable _HUGE in
- * MSVCRT.DLL. If we used _HUGE directly we would get a pointer
- * to a thunk function.
- *
- * NOTE: The CRTDLL version uses _HUGE_dll instead.
- */
-
-#ifndef __DECLSPEC_SUPPORTED
-
-#ifdef __MSVCRT__
-extern double* _imp___HUGE;
-#define HUGE_VAL (*_imp___HUGE)
-#else
-/* CRTDLL */
-extern double* _imp___HUGE_dll;
-#define HUGE_VAL (*_imp___HUGE_dll)
-#endif
-
-#else /* __DECLSPEC_SUPPORTED */
-
-#ifdef __MSVCRT__
-__MINGW_IMPORT double _HUGE;
-#define HUGE_VAL _HUGE
-#else
-/* CRTDLL */
-__MINGW_IMPORT double _HUGE_dll;
-#define HUGE_VAL _HUGE_dll
-#endif
-
-#endif /* __DECLSPEC_SUPPORTED */
-
-struct _exception
-{
- int type;
- char *name;
- double arg1;
- double arg2;
- double retval;
-};
-
-_CRTIMP double __cdecl sin (double);
-_CRTIMP double __cdecl cos (double);
-_CRTIMP double __cdecl tan (double);
-_CRTIMP double __cdecl sinh (double);
-_CRTIMP double __cdecl cosh (double);
-_CRTIMP double __cdecl tanh (double);
-_CRTIMP double __cdecl asin (double);
-_CRTIMP double __cdecl acos (double);
-_CRTIMP double __cdecl atan (double);
-_CRTIMP double __cdecl atan2 (double, double);
-_CRTIMP double __cdecl exp (double);
-_CRTIMP double __cdecl log (double);
-_CRTIMP double __cdecl log10 (double);
-_CRTIMP double __cdecl pow (double, double);
-_CRTIMP double __cdecl sqrt (double);
-_CRTIMP double __cdecl ceil (double);
-_CRTIMP double __cdecl floor (double);
-_CRTIMP double __cdecl fabs (double);
-_CRTIMP double __cdecl ldexp (double, int);
-_CRTIMP double __cdecl frexp (double, int*);
-_CRTIMP double __cdecl modf (double, double*);
-_CRTIMP double __cdecl fmod (double, double);
-
-/* Excess precision when using a 64-bit mantissa for FPU math ops can
- cause unexpected results with some of the MSVCRT math functions. For
- example, unless the function return value is stored (truncating to
- 53-bit mantissa), calls to pow with both x and y as integral values
- sometimes produce a non-integral result.
- One workaround is to reset the FPU env to 53-bit mantissa
- by a call to fesetenv (FE_PC53_ENV). Amother is to force storage
- of the return value of individual math functions using wrappers.
- NB, using these wrappers will disable builtin math functions and
- hence disable the folding of function results at compile time when
- arguments are constant. */
-
-#if 0
-#define __DEFINE_FLOAT_STORE_MATHFN_D1(fn1) \
-static __inline__ double \
-__float_store_ ## fn1 (double x) \
-{ \
- __volatile__ double res = (fn1) (x); \
- return res; \
-}
-
-#define __DEFINE_FLOAT_STORE_MATHFN_D2(fn2) \
-static __inline__ double \
-__float_store_ ## fn2 (double x, double y) \
-{ \
- __volatile__ double res = (fn2) (x, y); \
- return res; \
-}
-#endif
-
-/* For example, here is how to force the result of the pow function
- to be stored: */
-#if 0
-#undef pow
-/* Define the ___float_store_pow function and use it instead of pow(). */
-__DEFINE_FLOAT_STORE_MATHFN_D2 (pow)
-#define pow __float_store_pow
-#endif
-
-#ifndef __STRICT_ANSI__
-
-/* Complex number (for _cabs). This is the MS version. The ISO
- C99 counterpart _Complex is an intrinsic type in GCC and
- 'complex' is defined as a macro. See complex.h */
-struct _complex
-{
- double x; /* Real part */
- double y; /* Imaginary part */
-};
-
-_CRTIMP double __cdecl _cabs (struct _complex);
-
-_CRTIMP double __cdecl _hypot (double, double);
-_CRTIMP double __cdecl _j0 (double);
-_CRTIMP double __cdecl _j1 (double);
-_CRTIMP double __cdecl _jn (int, double);
-_CRTIMP double __cdecl _y0 (double);
-_CRTIMP double __cdecl _y1 (double);
-_CRTIMP double __cdecl _yn (int, double);
-_CRTIMP int __cdecl _matherr (struct _exception *);
-
-/* These are also declared in Mingw float.h; needed here as well to work
- around GCC build issues. */
-/* BEGIN FLOAT.H COPY */
-/*
- * IEEE recommended functions
- */
-
-_CRTIMP double __cdecl _chgsign (double);
-_CRTIMP double __cdecl _copysign (double, double);
-_CRTIMP double __cdecl _logb (double);
-_CRTIMP double __cdecl _nextafter (double, double);
-_CRTIMP double __cdecl _scalb (double, long);
-
-_CRTIMP int __cdecl _finite (double);
-_CRTIMP int __cdecl _fpclass (double);
-_CRTIMP int __cdecl _isnan (double);
-
-/* END FLOAT.H COPY */
-
-
-/*
- * Non-underscored versions of non-ANSI functions.
- * These reside in liboldnames.a.
- */
-
-#if !defined (_NO_OLDNAMES)
-
-_CRTIMP double __cdecl j0 (double);
-_CRTIMP double __cdecl j1 (double);
-_CRTIMP double __cdecl jn (int, double);
-_CRTIMP double __cdecl y0 (double);
-_CRTIMP double __cdecl y1 (double);
-_CRTIMP double __cdecl yn (int, double);
-
-_CRTIMP double __cdecl chgsign (double);
-_CRTIMP double __cdecl scalb (double, long);
-_CRTIMP int __cdecl finite (double);
-_CRTIMP int __cdecl fpclass (double);
-
-#define FP_SNAN _FPCLASS_SNAN
-#define FP_QNAN _FPCLASS_QNAN
-#define FP_NINF _FPCLASS_NINF
-#define FP_PINF _FPCLASS_PINF
-#define FP_NDENORM _FPCLASS_ND
-#define FP_PDENORM _FPCLASS_PD
-#define FP_NZERO _FPCLASS_NZ
-#define FP_PZERO _FPCLASS_PZ
-#define FP_NNORM _FPCLASS_NN
-#define FP_PNORM _FPCLASS_PN
-
-#endif /* Not _NO_OLDNAMES */
-
-/* This require msvcr70.dll or higher. */
-#if __MSVCRT_VERSION__ >= 0x0700
-_CRTIMP int __cdecl _set_SSE2_enable (int);
-#endif /* __MSVCRT_VERSION__ >= 0x0700 */
-
-
-#endif /* __STRICT_ANSI__ */
-
-
-#ifndef __NO_ISOCEXT
-#if (defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) \
- || !defined __STRICT_ANSI__ || defined __cplusplus
-
-#define HUGE_VALF 0x1.0p255f
-#define HUGE_VALL 0x1.0p32767L
-#define INFINITY HUGE_VALF
-#define NAN (HUGE_VALF - HUGE_VALF)
-
-/* 7.12.3.1 */
-/*
- Return values for fpclassify.
- These are based on Intel x87 fpu condition codes
- in the high byte of status word and differ from
- the return values for MS IEEE 754 extension _fpclass()
-*/
-#define FP_NAN 0x0100
-#define FP_NORMAL 0x0400
-#define FP_INFINITE (FP_NAN | FP_NORMAL)
-#define FP_ZERO 0x4000
-#define FP_SUBNORMAL (FP_NORMAL | FP_ZERO)
-/* 0x0200 is signbit mask */
-
-
-/*
- We can't inline float or double, because we want to ensure truncation
- to semantic type before classification.
- (A normal long double value might become subnormal when
- converted to double, and zero when converted to float.)
-*/
-
-extern int __cdecl __fpclassifyf (float);
-extern int __cdecl __fpclassify (double);
-
-__CRT_INLINE int __cdecl __fpclassifyl (long double x){
- unsigned short sw;
- __asm__ ("fxam; fstsw %%ax;" : "=a" (sw): "t" (x));
- return sw & (FP_NAN | FP_NORMAL | FP_ZERO );
-}
-
-#define fpclassify(x) (sizeof (x) == sizeof (float) ? __fpclassifyf (x) \
- : sizeof (x) == sizeof (double) ? __fpclassify (x) \
- : __fpclassifyl (x))
-
-/* 7.12.3.2 */
-#define isfinite(x) ((fpclassify(x) & FP_NAN) == 0)
-
-/* 7.12.3.3 */
-#define isinf(x) (fpclassify(x) == FP_INFINITE)
-
-/* 7.12.3.4 */
-/* We don't need to worry about trucation here:
- A NaN stays a NaN. */
-
-__CRT_INLINE int __cdecl __isnan (double _x)
-{
- unsigned short sw;
- __asm__ ("fxam;"
- "fstsw %%ax": "=a" (sw) : "t" (_x));
- return (sw & (FP_NAN | FP_NORMAL | FP_INFINITE | FP_ZERO | FP_SUBNORMAL))
- == FP_NAN;
-}
-
-__CRT_INLINE int __cdecl __isnanf (float _x)
-{
- unsigned short sw;
- __asm__ ("fxam;"
- "fstsw %%ax": "=a" (sw) : "t" (_x));
- return (sw & (FP_NAN | FP_NORMAL | FP_INFINITE | FP_ZERO | FP_SUBNORMAL))
- == FP_NAN;
-}
-
-__CRT_INLINE int __cdecl __isnanl (long double _x)
-{
- unsigned short sw;
- __asm__ ("fxam;"
- "fstsw %%ax": "=a" (sw) : "t" (_x));
- return (sw & (FP_NAN | FP_NORMAL | FP_INFINITE | FP_ZERO | FP_SUBNORMAL))
- == FP_NAN;
-}
-
-
-#define isnan(x) (sizeof (x) == sizeof (float) ? __isnanf (x) \
- : sizeof (x) == sizeof (double) ? __isnan (x) \
- : __isnanl (x))
-
-/* 7.12.3.5 */
-#define isnormal(x) (fpclassify(x) == FP_NORMAL)
-
-/* 7.12.3.6 The signbit macro */
-__CRT_INLINE int __cdecl __signbit (double x) {
- unsigned short stw;
- __asm__ ( "fxam; fstsw %%ax;": "=a" (stw) : "t" (x));
- return (stw & 0x0200) != 0;
-}
-
-__CRT_INLINE int __cdecl __signbitf (float x) {
- unsigned short stw;
- __asm__ ("fxam; fstsw %%ax;": "=a" (stw) : "t" (x));
- return (stw & 0x0200) != 0;
-}
-
-__CRT_INLINE int __cdecl __signbitl (long double x) {
- unsigned short stw;
- __asm__ ("fxam; fstsw %%ax;": "=a" (stw) : "t" (x));
- return (stw & 0x0200) != 0;
-}
-
-#define signbit(x) (sizeof (x) == sizeof (float) ? __signbitf (x) \
- : sizeof (x) == sizeof (double) ? __signbit (x) \
- : __signbitl (x))
-
-/* 7.12.4 Trigonometric functions: Double in C89 */
-extern float __cdecl sinf (float);
-extern long double __cdecl sinl (long double);
-
-extern float __cdecl cosf (float);
-extern long double __cdecl cosl (long double);
-
-extern float __cdecl tanf (float);
-extern long double __cdecl tanl (long double);
-
-extern float __cdecl asinf (float);
-extern long double __cdecl asinl (long double);
-
-extern float __cdecl acosf (float);
-extern long double __cdecl acosl (long double);
-
-extern float __cdecl atanf (float);
-extern long double __cdecl atanl (long double);
-
-extern float __cdecl atan2f (float, float);
-extern long double __cdecl atan2l (long double, long double);
-
-/* 7.12.5 Hyperbolic functions: Double in C89 */
-__CRT_INLINE float __cdecl sinhf (float x)
- {return (float) sinh (x);}
-extern long double __cdecl sinhl (long double);
-
-__CRT_INLINE float __cdecl coshf (float x)
- {return (float) cosh (x);}
-extern long double __cdecl coshl (long double);
-
-__CRT_INLINE float __cdecl tanhf (float x)
- {return (float) tanh (x);}
-extern long double __cdecl tanhl (long double);
-
-/* Inverse hyperbolic trig functions */
-/* 7.12.5.1 */
-extern double __cdecl acosh (double);
-extern float __cdecl acoshf (float);
-extern long double __cdecl acoshl (long double);
-
-/* 7.12.5.2 */
-extern double __cdecl asinh (double);
-extern float __cdecl asinhf (float);
-extern long double __cdecl asinhl (long double);
-
-/* 7.12.5.3 */
-extern double __cdecl atanh (double);
-extern float __cdecl atanf (float);
-extern long double __cdecl atanhl (long double);
-
-/* Exponentials and logarithms */
-/* 7.12.6.1 Double in C89 */
-__CRT_INLINE float __cdecl expf (float x)
- {return (float) exp (x);}
-extern long double __cdecl expl (long double);
-
-/* 7.12.6.2 */
-extern double __cdecl exp2(double);
-extern float __cdecl exp2f(float);
-extern long double __cdecl exp2l(long double);
-
-/* 7.12.6.3 The expm1 functions */
-/* TODO: These could be inlined */
-extern double __cdecl expm1(double);
-extern float __cdecl expm1f(float);
-extern long double __cdecl expm1l(long double);
-
-/* 7.12.6.4 Double in C89 */
-__CRT_INLINE float __cdecl frexpf (float x, int* expn)
- {return (float) frexp (x, expn);}
-extern long double __cdecl frexpl (long double, int*);
-
-/* 7.12.6.5 */
-#define FP_ILOGB0 ((int)0x80000000)
-#define FP_ILOGBNAN ((int)0x80000000)
-extern int __cdecl ilogb (double);
-extern int __cdecl ilogbf (float);
-extern int __cdecl ilogbl (long double);
-
-/* 7.12.6.6 Double in C89 */
-__CRT_INLINE float __cdecl ldexpf (float x, int expn)
- {return (float) ldexp (x, expn);}
-extern long double __cdecl ldexpl (long double, int);
-
-/* 7.12.6.7 Double in C89 */
-extern float __cdecl logf (float);
-extern long double __cdecl logl (long double);
-
-/* 7.12.6.8 Double in C89 */
-extern float __cdecl log10f (float);
-extern long double __cdecl log10l (long double);
-
-/* 7.12.6.9 */
-extern double __cdecl log1p(double);
-extern float __cdecl log1pf(float);
-extern long double __cdecl log1pl(long double);
-
-/* 7.12.6.10 */
-extern double __cdecl log2 (double);
-extern float __cdecl log2f (float);
-extern long double __cdecl log2l (long double);
-
-/* 7.12.6.11 */
-extern double __cdecl logb (double);
-extern float __cdecl logbf (float);
-extern long double __cdecl logbl (long double);
-
-/* Inline versions. GCC-4.0+ can do a better fast-math optimization
- with __builtins. */
-#if !(__MINGW_GNUC_PREREQ (4, 0) && defined __FAST_MATH__ )
-__CRT_INLINE double __cdecl logb (double x)
-{
- double res;
- __asm__ ("fxtract\n\t"
- "fstp %%st" : "=t" (res) : "0" (x));
- return res;
-}
-
-__CRT_INLINE float __cdecl logbf (float x)
-{
- float res;
- __asm__ ("fxtract\n\t"
- "fstp %%st" : "=t" (res) : "0" (x));
- return res;
-}
-
-__CRT_INLINE long double __cdecl logbl (long double x)
-{
- long double res;
- __asm__ ("fxtract\n\t"
- "fstp %%st" : "=t" (res) : "0" (x));
- return res;
-}
-#endif /* !defined __FAST_MATH__ || !__MINGW_GNUC_PREREQ (4, 0) */
-
-/* 7.12.6.12 Double in C89 */
-extern float __cdecl modff (float, float*);
-extern long double __cdecl modfl (long double, long double*);
-
-/* 7.12.6.13 */
-extern double __cdecl scalbn (double, int);
-extern float __cdecl scalbnf (float, int);
-extern long double __cdecl scalbnl (long double, int);
-
-extern double __cdecl scalbln (double, long);
-extern float __cdecl scalblnf (float, long);
-extern long double __cdecl scalblnl (long double, long);
-
-/* 7.12.7.1 */
-/* Implementations adapted from Cephes versions */
-extern double __cdecl cbrt (double);
-extern float __cdecl cbrtf (float);
-extern long double __cdecl cbrtl (long double);
-
-/* 7.12.7.2 The fabs functions: Double in C89 */
-extern float __cdecl fabsf (float x);
-extern long double __cdecl fabsl (long double x);
-
-/* 7.12.7.3 */
-extern double __cdecl hypot (double, double); /* in libmoldname.a */
-__CRT_INLINE float __cdecl hypotf (float x, float y)
- { return (float) hypot (x, y);}
-extern long double __cdecl hypotl (long double, long double);
-
-/* 7.12.7.4 The pow functions. Double in C89 */
-__CRT_INLINE float __cdecl powf (float x, float y)
- {return (float) pow (x, y);}
-extern long double __cdecl powl (long double, long double);
-
-/* 7.12.7.5 The sqrt functions. Double in C89. */
-extern float __cdecl sqrtf (float);
-extern long double __cdecl sqrtl (long double);
-
-/* 7.12.8.1 The erf functions */
-extern double __cdecl erf (double);
-extern float __cdecl erff (float);
-extern long double __cdecl erfl (long double);
-
-/* 7.12.8.2 The erfc functions */
-extern double __cdecl erfc (double);
-extern float __cdecl erfcf (float);
-extern long double __cdecl erfcl (long double);
-
-/* 7.12.8.3 The lgamma functions */
-extern double __cdecl lgamma (double);
-extern float __cdecl lgammaf (float);
-extern long double __cdecl lgammal (long double);
-
-/* 7.12.8.4 The tgamma functions */
-extern double __cdecl tgamma (double);
-extern float __cdecl tgammaf (float);
-extern long double __cdecl tgammal (long double);
-
-/* 7.12.9.1 Double in C89 */
-extern float __cdecl ceilf (float);
-extern long double __cdecl ceill (long double);
-
-/* 7.12.9.2 Double in C89 */
-extern float __cdecl floorf (float);
-extern long double __cdecl floorl (long double);
-
-/* 7.12.9.3 */
-extern double __cdecl nearbyint ( double);
-extern float __cdecl nearbyintf (float);
-extern long double __cdecl nearbyintl (long double);
-
-/* 7.12.9.4 */
-/* round, using fpu control word settings */
-extern double __cdecl rint (double);
-extern float __cdecl rintf (float);
-extern long double __cdecl rintl (long double);
-
-/* 7.12.9.5 */
-extern long __cdecl lrint (double);
-extern long __cdecl lrintf (float);
-extern long __cdecl lrintl (long double);
-
-extern long long __cdecl llrint (double);
-extern long long __cdecl llrintf (float);
-extern long long __cdecl llrintl (long double);
-
-/* Inline versions of above.
- GCC 4.0+ can do a better fast-math job with __builtins. */
-#if !(__MINGW_GNUC_PREREQ (4, 0) && defined __FAST_MATH__ )
-__CRT_INLINE double __cdecl rint (double x)
-{
- double retval;
- __asm__ ("frndint;": "=t" (retval) : "0" (x));
- return retval;
-}
-
-__CRT_INLINE float __cdecl rintf (float x)
-{
- float retval;
- __asm__ ("frndint;" : "=t" (retval) : "0" (x) );
- return retval;
-}
-
-__CRT_INLINE long double __cdecl rintl (long double x)
-{
- long double retval;
- __asm__ ("frndint;" : "=t" (retval) : "0" (x) );
- return retval;
-}
-
-__CRT_INLINE long __cdecl lrint (double x)
-{
- long retval;
- __asm__ __volatile__
- ("fistpl %0" : "=m" (retval) : "t" (x) : "st");
- return retval;
-}
-
-__CRT_INLINE long __cdecl lrintf (float x)
-{
- long retval;
- __asm__ __volatile__
- ("fistpl %0" : "=m" (retval) : "t" (x) : "st");
- return retval;
-}
-
-__CRT_INLINE long __cdecl lrintl (long double x)
-{
- long retval;
- __asm__ __volatile__
- ("fistpl %0" : "=m" (retval) : "t" (x) : "st");
- return retval;
-}
-
-__CRT_INLINE long long __cdecl llrint (double x)
-{
- long long retval;
- __asm__ __volatile__
- ("fistpll %0" : "=m" (retval) : "t" (x) : "st");
- return retval;
-}
-
-__CRT_INLINE long long __cdecl llrintf (float x)
-{
- long long retval;
- __asm__ __volatile__
- ("fistpll %0" : "=m" (retval) : "t" (x) : "st");
- return retval;
-}
-
-__CRT_INLINE long long __cdecl llrintl (long double x)
-{
- long long retval;
- __asm__ __volatile__
- ("fistpll %0" : "=m" (retval) : "t" (x) : "st");
- return retval;
-}
-#endif /* !__FAST_MATH__ || !__MINGW_GNUC_PREREQ (4,0) */
-
-/* 7.12.9.6 */
-/* round away from zero, regardless of fpu control word settings */
-extern double __cdecl round (double);
-extern float __cdecl roundf (float);
-extern long double __cdecl roundl (long double);
-
-/* 7.12.9.7 */
-extern long __cdecl lround (double);
-extern long __cdecl lroundf (float);
-extern long __cdecl lroundl (long double);
-
-extern long long __cdecl llround (double);
-extern long long __cdecl llroundf (float);
-extern long long __cdecl llroundl (long double);
-
-/* 7.12.9.8 */
-/* round towards zero, regardless of fpu control word settings */
-extern double __cdecl trunc (double);
-extern float __cdecl truncf (float);
-extern long double __cdecl truncl (long double);
-
-/* 7.12.10.1 Double in C89 */
-extern float __cdecl fmodf (float, float);
-extern long double __cdecl fmodl (long double, long double);
-
-/* 7.12.10.2 */
-extern double __cdecl remainder (double, double);
-extern float __cdecl remainderf (float, float);
-extern long double __cdecl remainderl (long double, long double);
-
-/* 7.12.10.3 */
-extern double __cdecl remquo(double, double, int *);
-extern float __cdecl remquof(float, float, int *);
-extern long double __cdecl remquol(long double, long double, int *);
-
-/* 7.12.11.1 */
-extern double __cdecl copysign (double, double); /* in libmoldname.a */
-extern float __cdecl copysignf (float, float);
-extern long double __cdecl copysignl (long double, long double);
-
-/* 7.12.11.2 Return a NaN */
-extern double __cdecl nan(const char *tagp);
-extern float __cdecl nanf(const char *tagp);
-extern long double __cdecl nanl(const char *tagp);
-
-#ifndef __STRICT_ANSI__
-#define _nan() nan("")
-#define _nanf() nanf("")
-#define _nanl() nanl("")
-#endif
-
-/* 7.12.11.3 */
-extern double __cdecl nextafter (double, double); /* in libmoldname.a */
-extern float __cdecl nextafterf (float, float);
-extern long double __cdecl nextafterl (long double, long double);
-
-/* 7.12.11.4 The nexttoward functions */
-extern double __cdecl nexttoward (double, long double);
-extern float __cdecl nexttowardf (float, long double);
-extern long double __cdecl nexttowardl (long double, long double);
-
-/* 7.12.12.1 */
-/* x > y ? (x - y) : 0.0 */
-extern double __cdecl fdim (double x, double y);
-extern float __cdecl fdimf (float x, float y);
-extern long double __cdecl fdiml (long double x, long double y);
-
-/* fmax and fmin.
- NaN arguments are treated as missing data: if one argument is a NaN
- and the other numeric, then these functions choose the numeric
- value. */
-
-/* 7.12.12.2 */
-extern double __cdecl fmax (double, double);
-extern float __cdecl fmaxf (float, float);
-extern long double __cdecl fmaxl (long double, long double);
-
-/* 7.12.12.3 */
-extern double __cdecl fmin (double, double);
-extern float __cdecl fminf (float, float);
-extern long double __cdecl fminl (long double, long double);
-
-/* 7.12.13.1 */
-/* return x * y + z as a ternary op */
-extern double __cdecl fma (double, double, double);
-extern float __cdecl fmaf (float, float, float);
-extern long double __cdecl fmal (long double, long double, long double);
-
-
-/* 7.12.14 */
-/*
- * With these functions, comparisons involving quiet NaNs set the FP
- * condition code to "unordered". The IEEE floating-point spec
- * dictates that the result of floating-point comparisons should be
- * false whenever a NaN is involved, with the exception of the != op,
- * which always returns true: yes, (NaN != NaN) is true).
- */
-
-#if __GNUC__ >= 3
-
-#define isgreater(x, y) __builtin_isgreater(x, y)
-#define isgreaterequal(x, y) __builtin_isgreaterequal(x, y)
-#define isless(x, y) __builtin_isless(x, y)
-#define islessequal(x, y) __builtin_islessequal(x, y)
-#define islessgreater(x, y) __builtin_islessgreater(x, y)
-#define isunordered(x, y) __builtin_isunordered(x, y)
-
-#else
-/* helper */
-__CRT_INLINE int __cdecl
-__fp_unordered_compare (long double x, long double y){
- unsigned short retval;
- __asm__ ("fucom %%st(1);"
- "fnstsw;": "=a" (retval) : "t" (x), "u" (y));
- return retval;
-}
-
-#define isgreater(x, y) ((__fp_unordered_compare(x, y) \
- & 0x4500) == 0)
-#define isless(x, y) ((__fp_unordered_compare (y, x) \
- & 0x4500) == 0)
-#define isgreaterequal(x, y) ((__fp_unordered_compare (x, y) \
- & FP_INFINITE) == 0)
-#define islessequal(x, y) ((__fp_unordered_compare(y, x) \
- & FP_INFINITE) == 0)
-#define islessgreater(x, y) ((__fp_unordered_compare(x, y) \
- & FP_SUBNORMAL) == 0)
-#define isunordered(x, y) ((__fp_unordered_compare(x, y) \
- & 0x4500) == 0x4500)
-
-#endif
-
-
-#endif /* __STDC_VERSION__ >= 199901L */
-#endif /* __NO_ISOCEXT */
-
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* Not RC_INVOKED */
-
-
-#endif /* Not _MATH_H_ */
diff --git a/winsup/mingw/include/mbctype.h b/winsup/mingw/include/mbctype.h
deleted file mode 100644
index dd57a7b5c..000000000
--- a/winsup/mingw/include/mbctype.h
+++ /dev/null
@@ -1,97 +0,0 @@
-/*
- * mbctype.h
- *
- * Functions for testing multibyte character types and converting characters.
- *
- * This file is part of the Mingw32 package.
- *
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef _MBCTYPE_H_
-#define _MBCTYPE_H_
-
-/* All the headers include this file. */
-#include <_mingw.h>
-
-/* return values for _mbsbtype and _mbbtype in mbstring.h */
-#define _MBC_SINGLE 0
-#define _MBC_LEAD 1
-#define _MBC_TRAIL 2
-#define _MBC_ILLEGAL (-1)
-
-/* args for setmbcp (in lieu of actual codepage) */
-#define _MB_CP_SBCS 0
-#define _MB_CP_OEM (-2)
-#define _MB_CP_ANSI (-3)
-#define _MB_CP_LOCALE (-4)
-
-/* TODO: bit masks */
-/*
-#define _MS
-#define _MP
-#define _M1
-#define _M2
-#define _SBUP
-#define _SBLOW
-*/
-
-#ifndef RC_INVOKED
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#ifndef __STRICT_ANSI__
-
-_CRTIMP int __cdecl _setmbcp (int);
-_CRTIMP int __cdecl _getmbcp (void);
-
-/* byte classification */
-/* NB: Corresponding _ismbc* functions are in mbstring.h */
-
-_CRTIMP int __cdecl _ismbbalpha (unsigned int);
-_CRTIMP int __cdecl _ismbbalnum (unsigned int);
-_CRTIMP int __cdecl _ismbbgraph (unsigned int);
-_CRTIMP int __cdecl _ismbbprint (unsigned int);
-_CRTIMP int __cdecl _ismbbpunct (unsigned int);
-
-_CRTIMP int __cdecl _ismbbkana (unsigned int);
-_CRTIMP int __cdecl _ismbbkalnum (unsigned int);
-_CRTIMP int __cdecl _ismbbkprint (unsigned int);
-_CRTIMP int __cdecl _ismbbkpunct (unsigned int);
-
-
-/* these are also in mbstring.h */
-_CRTIMP int __cdecl _ismbblead (unsigned int);
-_CRTIMP int __cdecl _ismbbtrail (unsigned int);
-_CRTIMP int __cdecl _ismbslead (const unsigned char*, const unsigned char*);
-_CRTIMP int __cdecl _ismbstrail (const unsigned char*, const unsigned char*);
-
-#ifdef __DECLSPEC_SUPPORTED
-__MINGW_IMPORT unsigned char _mbctype[];
-__MINGW_IMPORT unsigned char _mbcasemap[];
-#endif
-
-/* TODO : _MBCS_ mappings go in tchar.h */
-
-#endif /* Not strict ANSI */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* Not RC_INVOKED */
-
-#endif /* Not _MCTYPE_H_ */
-
diff --git a/winsup/mingw/include/mbstring.h b/winsup/mingw/include/mbstring.h
deleted file mode 100644
index 4ad777602..000000000
--- a/winsup/mingw/include/mbstring.h
+++ /dev/null
@@ -1,132 +0,0 @@
-/*
- * mbstring.h
- *
- * Protototypes for string functions supporting multibyte characters.
- *
- * This file is part of the Mingw32 package.
- *
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef _MBSTRING_H_
-#define _MBSTRING_H_
-
-/* All the headers include this file. */
-#include <_mingw.h>
-
-#ifndef RC_INVOKED
-
-#define __need_size_t
-#include <stddef.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#ifndef __STRICT_ANSI__
-
-/* character classification */
-_CRTIMP int __cdecl _ismbcalnum (unsigned int);
-_CRTIMP int __cdecl _ismbcalpha (unsigned int);
-_CRTIMP int __cdecl _ismbcdigit (unsigned int);
-_CRTIMP int __cdecl _ismbcgraph (unsigned int);
-_CRTIMP int __cdecl _ismbcprint (unsigned int);
-_CRTIMP int __cdecl _ismbcpunct (unsigned int);
-_CRTIMP int __cdecl _ismbcspace (unsigned int);
-_CRTIMP int __cdecl _ismbclower (unsigned int);
-_CRTIMP int __cdecl _ismbcupper (unsigned int);
-_CRTIMP int __cdecl _ismbclegal (unsigned int);
-_CRTIMP int __cdecl _ismbcsymbol (unsigned int);
-
-
-/* also in mbctype.h */
-_CRTIMP int __cdecl _ismbblead (unsigned int );
-_CRTIMP int __cdecl _ismbbtrail (unsigned int );
-_CRTIMP int __cdecl _ismbslead ( const unsigned char*, const unsigned char*);
-_CRTIMP int __cdecl _ismbstrail ( const unsigned char*, const unsigned char*);
-
-_CRTIMP unsigned int __cdecl _mbctolower (unsigned int);
-_CRTIMP unsigned int __cdecl _mbctoupper (unsigned int);
-
-_CRTIMP void __cdecl _mbccpy (unsigned char*, const unsigned char*);
-_CRTIMP size_t __cdecl _mbclen (const unsigned char*);
-
-_CRTIMP unsigned int __cdecl _mbbtombc (unsigned int);
-_CRTIMP unsigned int __cdecl _mbctombb (unsigned int);
-
-/* Return value constants for these are defined in mbctype.h. */
-_CRTIMP int __cdecl _mbbtype (unsigned char, int);
-_CRTIMP int __cdecl _mbsbtype (const unsigned char*, size_t);
-
-_CRTIMP unsigned char* __cdecl _mbscpy (unsigned char*, const unsigned char*);
-_CRTIMP unsigned char* __cdecl _mbsncpy (unsigned char*, const unsigned char*, size_t);
-_CRTIMP unsigned char* __cdecl _mbsnbcpy (unsigned char*, const unsigned char*, size_t);
-_CRTIMP unsigned char* __cdecl _mbsset (unsigned char*, unsigned int);
-_CRTIMP unsigned char* __cdecl _mbsnset (unsigned char*, unsigned int, size_t);
-_CRTIMP unsigned char* __cdecl _mbsnbset (unsigned char*, unsigned int, size_t);
-_CRTIMP unsigned char* __cdecl _mbsdup (const unsigned char*);
-_CRTIMP unsigned char* __cdecl _mbsrev (unsigned char*);
-_CRTIMP unsigned char* __cdecl _mbscat (unsigned char*, const unsigned char*);
-_CRTIMP unsigned char* __cdecl _mbsncat (unsigned char*, const unsigned char*, size_t);
-_CRTIMP unsigned char* __cdecl _mbsnbcat (unsigned char*, const unsigned char*, size_t);
-_CRTIMP size_t __cdecl _mbslen (const unsigned char*);
-_CRTIMP size_t __cdecl _mbsnbcnt (const unsigned char*, size_t);
-_CRTIMP size_t __cdecl _mbsnccnt (const unsigned char*, size_t);
-_CRTIMP unsigned char* __cdecl _mbschr (const unsigned char*, unsigned int);
-_CRTIMP unsigned char* __cdecl _mbsrchr (const unsigned char*, unsigned int);
-_CRTIMP size_t __cdecl _mbsspn (const unsigned char*, const unsigned char*);
-_CRTIMP size_t __cdecl _mbscspn (const unsigned char*, const unsigned char*);
-_CRTIMP unsigned char* __cdecl _mbsspnp (const unsigned char*, const unsigned char*);
-_CRTIMP unsigned char* __cdecl _mbspbrk (const unsigned char*, const unsigned char*);
-_CRTIMP int __cdecl _mbscmp (const unsigned char*, const unsigned char*);
-_CRTIMP int __cdecl _mbsicmp (const unsigned char*, const unsigned char*);
-_CRTIMP int __cdecl _mbsncmp (const unsigned char*, const unsigned char*, size_t);
-_CRTIMP int __cdecl _mbsnicmp (const unsigned char*, const unsigned char*, size_t);
-_CRTIMP int __cdecl _mbsnbcmp (const unsigned char*, const unsigned char*, size_t);
-_CRTIMP int __cdecl _mbsnbicmp (const unsigned char*, const unsigned char*, size_t);
-_CRTIMP int __cdecl _mbscoll (const unsigned char*, const unsigned char*);
-_CRTIMP int __cdecl _mbsicoll (const unsigned char*, const unsigned char*);
-_CRTIMP int __cdecl _mbsncoll (const unsigned char*, const unsigned char*, size_t);
-_CRTIMP int __cdecl _mbsnicoll (const unsigned char*, const unsigned char*, size_t);
-_CRTIMP int __cdecl _mbsnbcoll (const unsigned char*, const unsigned char*, size_t);
-_CRTIMP int __cdecl _mbsnbicoll (const unsigned char*, const unsigned char*, size_t);
-
-_CRTIMP unsigned char* __cdecl _mbsinc (const unsigned char*);
-_CRTIMP unsigned char* __cdecl _mbsninc (const unsigned char*, size_t);
-_CRTIMP unsigned char* __cdecl _mbsdec (const unsigned char*, const unsigned char*);
-_CRTIMP unsigned int __cdecl _mbsnextc (const unsigned char*);
-_CRTIMP unsigned char* __cdecl _mbslwr (unsigned char*);
-_CRTIMP unsigned char* __cdecl _mbsupr (unsigned char*);
-_CRTIMP unsigned char* __cdecl _mbstok (unsigned char*, const unsigned char*);
-
-/* Kanji */
-_CRTIMP int __cdecl _ismbchira (unsigned int);
-_CRTIMP int __cdecl _ismbckata (unsigned int);
-_CRTIMP int __cdecl _ismbcl0 (unsigned int);
-_CRTIMP int __cdecl _ismbcl1 (unsigned int);
-_CRTIMP int __cdecl _ismbcl2 (unsigned int);
-_CRTIMP unsigned int __cdecl _mbcjistojms (unsigned int);
-_CRTIMP unsigned int __cdecl _mbcjmstojis (unsigned int);
-_CRTIMP unsigned int __cdecl _mbctohira (unsigned int);
-_CRTIMP unsigned int __cdecl _mbctokata (unsigned int);
-
-#endif /* Not strict ANSI */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* Not RC_INVOKED */
-#endif /* Not _MBSTRING_H_ */
-
-
diff --git a/winsup/mingw/include/mem.h b/winsup/mingw/include/mem.h
deleted file mode 100644
index 451de0cd4..000000000
--- a/winsup/mingw/include/mem.h
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
- * This file is part of the Mingw32 package.
- *
- * mem.h maps to string.h
- */
-#include <string.h>
diff --git a/winsup/mingw/include/memory.h b/winsup/mingw/include/memory.h
deleted file mode 100644
index 9ba65cf69..000000000
--- a/winsup/mingw/include/memory.h
+++ /dev/null
@@ -1,7 +0,0 @@
-/*
- * This file is part of the Mingw32 package.
- *
- * memory.h maps to the standard string.h header.
- */
-
-#include <string.h>
diff --git a/winsup/mingw/include/process.h b/winsup/mingw/include/process.h
deleted file mode 100644
index bdc2f0c59..000000000
--- a/winsup/mingw/include/process.h
+++ /dev/null
@@ -1,138 +0,0 @@
-/*
- * process.h
- * This file has no copyright assigned and is placed in the Public Domain.
- * This file is a part of the mingw-runtime package.
- * No warranty is given; refer to the file DISCLAIMER within the package.
- *
- * Function calls for spawning child processes.
- *
- */
-
-#ifndef _PROCESS_H_
-#define _PROCESS_H_
-
-/* All the headers include this file. */
-#include <_mingw.h>
-
-/* Includes a definition of _pid_t and pid_t */
-#include <sys/types.h>
-
-/*
- * Constants for cwait actions.
- * Obsolete for Win32.
- */
-#define _WAIT_CHILD 0
-#define _WAIT_GRANDCHILD 1
-
-#ifndef _NO_OLDNAMES
-#define WAIT_CHILD _WAIT_CHILD
-#define WAIT_GRANDCHILD _WAIT_GRANDCHILD
-#endif /* Not _NO_OLDNAMES */
-
-/*
- * Mode constants for spawn functions.
- */
-#define _P_WAIT 0
-#define _P_NOWAIT 1
-#define _P_OVERLAY 2
-#define _OLD_P_OVERLAY _P_OVERLAY
-#define _P_NOWAITO 3
-#define _P_DETACH 4
-
-#ifndef _NO_OLDNAMES
-#define P_WAIT _P_WAIT
-#define P_NOWAIT _P_NOWAIT
-#define P_OVERLAY _P_OVERLAY
-#define OLD_P_OVERLAY _OLD_P_OVERLAY
-#define P_NOWAITO _P_NOWAITO
-#define P_DETACH _P_DETACH
-#endif /* Not _NO_OLDNAMES */
-
-
-#ifndef RC_INVOKED
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-_CRTIMP void __cdecl _cexit(void);
-_CRTIMP void __cdecl _c_exit(void);
-
-_CRTIMP int __cdecl _cwait (int*, _pid_t, int);
-
-_CRTIMP _pid_t __cdecl _getpid(void);
-
-_CRTIMP int __cdecl _execl (const char*, const char*, ...);
-_CRTIMP int __cdecl _execle (const char*, const char*, ...);
-_CRTIMP int __cdecl _execlp (const char*, const char*, ...);
-_CRTIMP int __cdecl _execlpe (const char*, const char*, ...);
-_CRTIMP int __cdecl _execv (const char*, const char* const*);
-_CRTIMP int __cdecl _execve (const char*, const char* const*, const char* const*);
-_CRTIMP int __cdecl _execvp (const char*, const char* const*);
-_CRTIMP int __cdecl _execvpe (const char*, const char* const*, const char* const*);
-
-_CRTIMP int __cdecl _spawnl (int, const char*, const char*, ...);
-_CRTIMP int __cdecl _spawnle (int, const char*, const char*, ...);
-_CRTIMP int __cdecl _spawnlp (int, const char*, const char*, ...);
-_CRTIMP int __cdecl _spawnlpe (int, const char*, const char*, ...);
-_CRTIMP int __cdecl _spawnv (int, const char*, const char* const*);
-_CRTIMP int __cdecl _spawnve (int, const char*, const char* const*, const char* const*);
-_CRTIMP int __cdecl _spawnvp (int, const char*, const char* const*);
-_CRTIMP int __cdecl _spawnvpe (int, const char*, const char* const*, const char* const*);
-
-
-/*
- * The functions _beginthreadex and _endthreadex are not provided by CRTDLL.
- * They are provided by MSVCRT.
- *
- * NOTE: Apparently _endthread calls CloseHandle on the handle of the thread,
- * making for race conditions if you are not careful. Basically you have to
- * make sure that no-one is going to do *anything* with the thread handle
- * after the thread calls _endthread or returns from the thread function.
- *
- * NOTE: No old names for these functions. Use the underscore.
- */
-_CRTIMP unsigned long __cdecl
- _beginthread (void (*)(void *), unsigned, void*);
-_CRTIMP void __cdecl _endthread (void);
-
-#ifdef __MSVCRT__
-_CRTIMP unsigned long __cdecl
- _beginthreadex (void *, unsigned, unsigned (__stdcall *) (void *),
- void*, unsigned, unsigned*);
-_CRTIMP void __cdecl _endthreadex (unsigned);
-#endif
-
-
-#ifndef _NO_OLDNAMES
-/*
- * Functions without the leading underscore, for portability. These functions
- * live in liboldnames.a.
- */
-_CRTIMP int __cdecl cwait (int*, pid_t, int);
-_CRTIMP pid_t __cdecl getpid (void);
-_CRTIMP int __cdecl execl (const char*, const char*, ...);
-_CRTIMP int __cdecl execle (const char*, const char*, ...);
-_CRTIMP int __cdecl execlp (const char*, const char*, ...);
-_CRTIMP int __cdecl execlpe (const char*, const char*, ...);
-_CRTIMP int __cdecl execv (const char*, const char* const*);
-_CRTIMP int __cdecl execve (const char*, const char* const*, const char* const*);
-_CRTIMP int __cdecl execvp (const char*, const char* const*);
-_CRTIMP int __cdecl execvpe (const char*, const char* const*, const char* const*);
-_CRTIMP int __cdecl spawnl (int, const char*, const char*, ...);
-_CRTIMP int __cdecl spawnle (int, const char*, const char*, ...);
-_CRTIMP int __cdecl spawnlp (int, const char*, const char*, ...);
-_CRTIMP int __cdecl spawnlpe (int, const char*, const char*, ...);
-_CRTIMP int __cdecl spawnv (int, const char*, const char* const*);
-_CRTIMP int __cdecl spawnve (int, const char*, const char* const*, const char* const*);
-_CRTIMP int __cdecl spawnvp (int, const char*, const char* const*);
-_CRTIMP int __cdecl spawnvpe (int, const char*, const char* const*, const char* const*);
-#endif /* Not _NO_OLDNAMES */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* Not RC_INVOKED */
-
-#endif /* _PROCESS_H_ not defined */
diff --git a/winsup/mingw/include/search.h b/winsup/mingw/include/search.h
deleted file mode 100644
index 2d7768b53..000000000
--- a/winsup/mingw/include/search.h
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * search.h
- *
- * Functions for searching and sorting.
- *
- * This file is part of the Mingw32 package.
- *
- * Contributors:
- * Created by Danny Smith <dannysmith@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef _SEARCH_H_
-#define _SEARCH_H_
-
-/* All the headers include this file. */
-#include <_mingw.h>
-
-#ifndef RC_INVOKED
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#ifndef _SIZE_T_DEFINED
-typedef unsigned int size_t;
-#define _SIZE_T_DEFINED
-#endif
-
-/* bsearch and qsort are also declared in stdlib.h */
-_CRTIMP void* __cdecl bsearch (const void*, const void*, size_t, size_t,
- int (*)(const void*, const void*));
-_CRTIMP void __cdecl qsort (void*, size_t, size_t,
- int (*)(const void*, const void*));
-
-_CRTIMP void* __cdecl _lfind (const void*, const void*, unsigned int*,
- unsigned int, int (*)(const void*, const void*));
-_CRTIMP void* __cdecl _lsearch (const void*, void*, unsigned int*, unsigned int,
- int (*)(const void*, const void*));
-
-#ifndef _NO_OLDNAMES
-_CRTIMP void* __cdecl lfind (const void*, const void*, unsigned int*,
- unsigned int, int (*)(const void*, const void*));
-_CRTIMP void* __cdecl lsearch (const void*, void*, unsigned int*, unsigned int,
- int (*)(const void*, const void*));
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* RC_INVOKED */
-
-#endif /* _SEARCH_H_ */
diff --git a/winsup/mingw/include/setjmp.h b/winsup/mingw/include/setjmp.h
deleted file mode 100644
index 38bb62a0e..000000000
--- a/winsup/mingw/include/setjmp.h
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * setjmp.h
- * This file has no copyright assigned and is placed in the Public Domain.
- * This file is a part of the mingw-runtime package.
- * No warranty is given; refer to the file DISCLAIMER within the package.
- *
- * Declarations supporting setjmp and longjump, a method for avoiding
- * the normal function call return sequence. (Bleah!)
- *
- */
-
-#ifndef _SETJMP_H_
-#define _SETJMP_H_
-
-/* All the headers include this file. */
-#include <_mingw.h>
-
-#ifndef RC_INVOKED
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*
- * The buffer used by setjmp to store the information used by longjmp
- * to perform it's evil goto-like work. The size of this buffer was
- * determined through experimentation; it's contents are a mystery.
- * NOTE: This was determined on an i386 (actually a Pentium). The
- * contents could be different on an Alpha or something else.
- */
-#define _JBLEN 16
-#define _JBTYPE int
-typedef _JBTYPE jmp_buf[_JBLEN];
-
-/*
- * The function provided by CRTDLL which appears to do the actual work
- * of setjmp.
- */
-_CRTIMP int __cdecl _setjmp (jmp_buf);
-
-#define setjmp(x) _setjmp(x)
-
-/*
- * Return to the last setjmp call and act as if setjmp had returned
- * nVal (which had better be non-zero!).
- */
-_CRTIMP void __cdecl longjmp (jmp_buf, int) __MINGW_ATTRIB_NORETURN;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* Not RC_INVOKED */
-
-#endif /* Not _SETJMP_H_ */
-
diff --git a/winsup/mingw/include/share.h b/winsup/mingw/include/share.h
deleted file mode 100644
index 09a54ad28..000000000
--- a/winsup/mingw/include/share.h
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * share.h
- * This file has no copyright assigned and is placed in the Public Domain.
- * This file is a part of the mingw-runtime package.
- * No warranty is given; refer to the file DISCLAIMER within the package.
- *
- * Constants for file sharing functions.
- *
- */
-
-#ifndef _SHARE_H_
-#define _SHARE_H_
-
-/* All the headers include this file. */
-#include <_mingw.h>
-
-#define _SH_COMPAT 0x00 /* Compatibility */
-#define _SH_DENYRW 0x10 /* Deny read/write */
-#define _SH_DENYWR 0x20 /* Deny write */
-#define _SH_DENYRD 0x30 /* Deny read */
-#define _SH_DENYNO 0x40 /* Deny nothing */
-
-#ifndef _NO_OLDNAMES
-
-/* Non ANSI names */
-#define SH_DENYRW _SH_DENYRW
-#define SH_DENYWR _SH_DENYWR
-#define SH_DENYRD _SH_DENYRD
-#define SH_DENYNO _SH_DENYNO
-
-#endif /* Not _NO_OLDNAMES */
-
-#endif /* Not _SHARE_H_ */
diff --git a/winsup/mingw/include/signal.h b/winsup/mingw/include/signal.h
deleted file mode 100644
index 887150d81..000000000
--- a/winsup/mingw/include/signal.h
+++ /dev/null
@@ -1,98 +0,0 @@
-/*
- * signal.h
- * This file has no copyright assigned and is placed in the Public Domain.
- * This file is a part of the mingw-runtime package.
- * No warranty is given; refer to the file DISCLAIMER within the package.
- *
- * A way to set handlers for exceptional conditions (also known as signals).
- *
- */
-
-#ifndef _SIGNAL_H_
-#define _SIGNAL_H_
-
-/* All the headers include this file. */
-#include <_mingw.h>
-
-/*
- * The actual signal values. Using other values with signal
- * produces a SIG_ERR return value.
- *
- * NOTE: SIGINT is produced when the user presses Ctrl-C.
- * SIGILL has not been tested.
- * SIGFPE doesn't seem to work?
- * SIGSEGV does not catch writing to a NULL pointer (that shuts down
- * your app; can you say "segmentation violation core dump"?).
- * SIGTERM comes from what kind of termination request exactly?
- * SIGBREAK is indeed produced by pressing Ctrl-Break.
- * SIGABRT is produced by calling abort.
- * TODO: The above results may be related to not installing an appropriate
- * structured exception handling frame. Results may be better if I ever
- * manage to get the SEH stuff down.
- */
-#define SIGINT 2 /* Interactive attention */
-#define SIGILL 4 /* Illegal instruction */
-#define SIGFPE 8 /* Floating point error */
-#define SIGSEGV 11 /* Segmentation violation */
-#define SIGTERM 15 /* Termination request */
-#define SIGBREAK 21 /* Control-break */
-#define SIGABRT 22 /* Abnormal termination (abort) */
-
-#define NSIG 23 /* maximum signal number + 1 */
-
-#ifndef RC_INVOKED
-
-#ifndef _SIG_ATOMIC_T_DEFINED
-typedef int sig_atomic_t;
-#define _SIG_ATOMIC_T_DEFINED
-#endif
-
-/*
- * The prototypes (below) are the easy part. The hard part is figuring
- * out what signals are available and what numbers they are assigned
- * along with appropriate values of SIG_DFL and SIG_IGN.
- */
-
-/*
- * A pointer to a signal handler function. A signal handler takes a
- * single int, which is the signal it handles.
- */
-typedef void (*__p_sig_fn_t)(int);
-
-/*
- * These are special values of signal handler pointers which are
- * used to send a signal to the default handler (SIG_DFL), ignore
- * the signal (SIG_IGN), indicate an error return (SIG_ERR),
- * get an error (SIG_SGE), or acknowledge (SIG_ACK).
- */
-#define SIG_DFL ((__p_sig_fn_t) 0)
-#define SIG_IGN ((__p_sig_fn_t) 1)
-#define SIG_ERR ((__p_sig_fn_t) -1)
-#define SIG_SGE ((__p_sig_fn_t) 3)
-#define SIG_ACK ((__p_sig_fn_t) 4)
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*
- * Call signal to set the signal handler for signal sig to the
- * function pointed to by handler. Returns a pointer to the
- * previous handler, or SIG_ERR if an error occurs. Initially
- * unhandled signals defined above will return SIG_DFL.
- */
-_CRTIMP __p_sig_fn_t __cdecl signal(int, __p_sig_fn_t);
-
-/*
- * Raise the signal indicated by sig. Returns non-zero on success.
- */
-_CRTIMP int __cdecl raise (int);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* Not RC_INVOKED */
-
-#endif /* Not _SIGNAL_H_ */
-
diff --git a/winsup/mingw/include/stdint.h b/winsup/mingw/include/stdint.h
deleted file mode 100644
index 5241d48b3..000000000
--- a/winsup/mingw/include/stdint.h
+++ /dev/null
@@ -1,184 +0,0 @@
-/* ISO C9x 7.18 Integer types <stdint.h>
- * Based on ISO/IEC SC22/WG14 9899 Committee draft (SC22 N2794)
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * Contributor: Danny Smith <danny_r_smith_2001@yahoo.co.nz>
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Date: 2000-12-02
- */
-
-
-#ifndef _STDINT_H
-#define _STDINT_H
-#define __need_wint_t
-#define __need_wchar_t
-#include <stddef.h>
-
-/* 7.18.1.1 Exact-width integer types */
-typedef signed char int8_t;
-typedef unsigned char uint8_t;
-typedef short int16_t;
-typedef unsigned short uint16_t;
-typedef int int32_t;
-typedef unsigned uint32_t;
-typedef long long int64_t;
-typedef unsigned long long uint64_t;
-
-/* 7.18.1.2 Minimum-width integer types */
-typedef signed char int_least8_t;
-typedef unsigned char uint_least8_t;
-typedef short int_least16_t;
-typedef unsigned short uint_least16_t;
-typedef int int_least32_t;
-typedef unsigned uint_least32_t;
-typedef long long int_least64_t;
-typedef unsigned long long uint_least64_t;
-
-/* 7.18.1.3 Fastest minimum-width integer types
- * Not actually guaranteed to be fastest for all purposes
- * Here we use the exact-width types for 8 and 16-bit ints.
- */
-typedef char int_fast8_t;
-typedef unsigned char uint_fast8_t;
-typedef short int_fast16_t;
-typedef unsigned short uint_fast16_t;
-typedef int int_fast32_t;
-typedef unsigned int uint_fast32_t;
-typedef long long int_fast64_t;
-typedef unsigned long long uint_fast64_t;
-
-/* 7.18.1.4 Integer types capable of holding object pointers */
-typedef int intptr_t;
-typedef unsigned uintptr_t;
-
-/* 7.18.1.5 Greatest-width integer types */
-typedef long long intmax_t;
-typedef unsigned long long uintmax_t;
-
-/* 7.18.2 Limits of specified-width integer types */
-#if !defined ( __cplusplus) || defined (__STDC_LIMIT_MACROS)
-
-/* 7.18.2.1 Limits of exact-width integer types */
-#define INT8_MIN (-128)
-#define INT16_MIN (-32768)
-#define INT32_MIN (-2147483647 - 1)
-#define INT64_MIN (-9223372036854775807LL - 1)
-
-#define INT8_MAX 127
-#define INT16_MAX 32767
-#define INT32_MAX 2147483647
-#define INT64_MAX 9223372036854775807LL
-
-#define UINT8_MAX 0xff /* 255U */
-#define UINT16_MAX 0xffff /* 65535U */
-#define UINT32_MAX 0xffffffff /* 4294967295U */
-#define UINT64_MAX 0xffffffffffffffffULL /* 18446744073709551615ULL */
-
-/* 7.18.2.2 Limits of minimum-width integer types */
-#define INT_LEAST8_MIN INT8_MIN
-#define INT_LEAST16_MIN INT16_MIN
-#define INT_LEAST32_MIN INT32_MIN
-#define INT_LEAST64_MIN INT64_MIN
-
-#define INT_LEAST8_MAX INT8_MAX
-#define INT_LEAST16_MAX INT16_MAX
-#define INT_LEAST32_MAX INT32_MAX
-#define INT_LEAST64_MAX INT64_MAX
-
-#define UINT_LEAST8_MAX UINT8_MAX
-#define UINT_LEAST16_MAX UINT16_MAX
-#define UINT_LEAST32_MAX UINT32_MAX
-#define UINT_LEAST64_MAX UINT64_MAX
-
-/* 7.18.2.3 Limits of fastest minimum-width integer types */
-#define INT_FAST8_MIN INT8_MIN
-#define INT_FAST16_MIN INT16_MIN
-#define INT_FAST32_MIN INT32_MIN
-#define INT_FAST64_MIN INT64_MIN
-
-#define INT_FAST8_MAX INT8_MAX
-#define INT_FAST16_MAX INT16_MAX
-#define INT_FAST32_MAX INT32_MAX
-#define INT_FAST64_MAX INT64_MAX
-
-#define UINT_FAST8_MAX UINT8_MAX
-#define UINT_FAST16_MAX UINT16_MAX
-#define UINT_FAST32_MAX UINT32_MAX
-#define UINT_FAST64_MAX UINT64_MAX
-
-/* 7.18.2.4 Limits of integer types capable of holding
- object pointers */
-#define INTPTR_MIN INT32_MIN
-#define INTPTR_MAX INT32_MAX
-#define UINTPTR_MAX UINT32_MAX
-
-/* 7.18.2.5 Limits of greatest-width integer types */
-#define INTMAX_MIN INT64_MIN
-#define INTMAX_MAX INT64_MAX
-#define UINTMAX_MAX UINT64_MAX
-
-/* 7.18.3 Limits of other integer types */
-#define PTRDIFF_MIN INT32_MIN
-#define PTRDIFF_MAX INT32_MAX
-
-#define SIG_ATOMIC_MIN INT32_MIN
-#define SIG_ATOMIC_MAX INT32_MAX
-
-#define SIZE_MAX UINT32_MAX
-
-#ifndef WCHAR_MIN /* also in wchar.h */
-#define WCHAR_MIN 0
-#define WCHAR_MAX 0xffff /* UINT16_MAX */
-#endif
-
-/*
- * wint_t is unsigned short for compatibility with MS runtime
- */
-#define WINT_MIN 0
-#define WINT_MAX 0xffff /* UINT16_MAX */
-
-#endif /* !defined ( __cplusplus) || defined __STDC_LIMIT_MACROS */
-
-
-/* 7.18.4 Macros for integer constants */
-#if !defined ( __cplusplus) || defined (__STDC_CONSTANT_MACROS)
-
-/* 7.18.4.1 Macros for minimum-width integer constants
-
- Accoding to Douglas Gwyn <gwyn@arl.mil>:
- "This spec was changed in ISO/IEC 9899:1999 TC1; in ISO/IEC
- 9899:1999 as initially published, the expansion was required
- to be an integer constant of precisely matching type, which
- is impossible to accomplish for the shorter types on most
- platforms, because C99 provides no standard way to designate
- an integer constant with width less than that of type int.
- TC1 changed this to require just an integer constant
- *expression* with *promoted* type."
-*/
-
-#define INT8_C(val) ((int8_t) + (val))
-#define UINT8_C(val) ((uint8_t) + (val##U))
-#define INT16_C(val) ((int16_t) + (val))
-#define UINT16_C(val) ((uint16_t) + (val##U))
-
-#define INT32_C(val) val##L
-#define UINT32_C(val) val##UL
-#define INT64_C(val) val##LL
-#define UINT64_C(val) val##ULL
-
-/* 7.18.4.2 Macros for greatest-width integer constants */
-#define INTMAX_C(val) INT64_C(val)
-#define UINTMAX_C(val) UINT64_C(val)
-
-#endif /* !defined ( __cplusplus) || defined __STDC_CONSTANT_MACROS */
-
-#endif
diff --git a/winsup/mingw/include/stdio.h b/winsup/mingw/include/stdio.h
deleted file mode 100644
index a7070101c..000000000
--- a/winsup/mingw/include/stdio.h
+++ /dev/null
@@ -1,509 +0,0 @@
-/*
- * stdio.h
- * This file has no copyright assigned and is placed in the Public Domain.
- * This file is a part of the mingw-runtime package.
- * No warranty is given; refer to the file DISCLAIMER within the package.
- *
- * Definitions of types and prototypes of functions for standard input and
- * output.
- *
- * NOTE: The file manipulation functions provided by Microsoft seem to
- * work with either slash (/) or backslash (\) as the directory separator.
- *
- */
-
-#ifndef _STDIO_H_
-#define _STDIO_H_
-
-/* All the headers include this file. */
-#include <_mingw.h>
-
-#ifndef RC_INVOKED
-#define __need_size_t
-#define __need_NULL
-#define __need_wchar_t
-#define __need_wint_t
-#include <stddef.h>
-#define __need___va_list
-#include <stdarg.h>
-#endif /* Not RC_INVOKED */
-
-
-/* Flags for the iobuf structure */
-#define _IOREAD 1 /* currently reading */
-#define _IOWRT 2 /* currently writing */
-#define _IORW 0x0080 /* opened as "r+w" */
-
-
-/*
- * The three standard file pointers provided by the run time library.
- * NOTE: These will go to the bit-bucket silently in GUI applications!
- */
-#define STDIN_FILENO 0
-#define STDOUT_FILENO 1
-#define STDERR_FILENO 2
-
-/* Returned by various functions on end of file condition or error. */
-#define EOF (-1)
-
-/*
- * The maximum length of a file name. You should use GetVolumeInformation
- * instead of this constant. But hey, this works.
- * Also defined in io.h.
- */
-#ifndef FILENAME_MAX
-#define FILENAME_MAX (260)
-#endif
-
-/*
- * The maximum number of files that may be open at once. I have set this to
- * a conservative number. The actual value may be higher.
- */
-#define FOPEN_MAX (20)
-
-/* After creating this many names, tmpnam and tmpfile return NULL */
-#define TMP_MAX 32767
-/*
- * Tmpnam, tmpfile and, sometimes, _tempnam try to create
- * temp files in the root directory of the current drive
- * (not in pwd, as suggested by some older MS doc's).
- * Redefining these macros does not effect the CRT functions.
- */
-#define _P_tmpdir "\\"
-#ifndef __STRICT_ANSI__
-#define P_tmpdir _P_tmpdir
-#endif
-#define _wP_tmpdir L"\\"
-
-/*
- * The maximum size of name (including NUL) that will be put in the user
- * supplied buffer caName for tmpnam.
- * Inferred from the size of the static buffer returned by tmpnam
- * when passed a NULL argument. May actually be smaller.
- */
-#define L_tmpnam (16)
-
-#define _IOFBF 0x0000 /* full buffered */
-#define _IOLBF 0x0040 /* line buffered */
-#define _IONBF 0x0004 /* not buffered */
-
-#define _IOMYBUF 0x0008 /* stdio malloc()'d buffer */
-#define _IOEOF 0x0010 /* EOF reached on read */
-#define _IOERR 0x0020 /* I/O error from system */
-#define _IOSTRG 0x0040 /* Strange or no file descriptor */
-#ifdef _POSIX_SOURCE
-# define _IOAPPEND 0x0200
-#endif
-/*
- * The buffer size as used by setbuf such that it is equivalent to
- * (void) setvbuf(fileSetBuffer, caBuffer, _IOFBF, BUFSIZ).
- */
-#define BUFSIZ 512
-
-/* Constants for nOrigin indicating the position relative to which fseek
- * sets the file position. Enclosed in ifdefs because io.h could also
- * define them. (Though not anymore since io.h includes this file now.) */
-#ifndef SEEK_SET
-#define SEEK_SET (0)
-#endif
-
-#ifndef SEEK_CUR
-#define SEEK_CUR (1)
-#endif
-
-#ifndef SEEK_END
-#define SEEK_END (2)
-#endif
-
-
-#ifndef RC_INVOKED
-
-#ifndef __VALIST
-#ifdef __GNUC__
-#define __VALIST __gnuc_va_list
-#else
-#define __VALIST char*
-#endif
-#endif /* defined __VALIST */
-
-/*
- * The structure underlying the FILE type.
- *
- * Some believe that nobody in their right mind should make use of the
- * internals of this structure. Provided by Pedro A. Aranda Gutiirrez
- * <paag@tid.es>.
- */
-#ifndef _FILE_DEFINED
-#define _FILE_DEFINED
-typedef struct _iobuf
-{
- char* _ptr;
- int _cnt;
- char* _base;
- int _flag;
- int _file;
- int _charbuf;
- int _bufsiz;
- char* _tmpfname;
-} FILE;
-#endif /* Not _FILE_DEFINED */
-
-
-/*
- * The standard file handles
- */
-#ifndef __DECLSPEC_SUPPORTED
-
-extern FILE (*_imp___iob)[]; /* A pointer to an array of FILE */
-
-#define _iob (*_imp___iob) /* An array of FILE */
-
-#else /* __DECLSPEC_SUPPORTED */
-
-__MINGW_IMPORT FILE _iob[]; /* An array of FILE imported from DLL. */
-
-#endif /* __DECLSPEC_SUPPORTED */
-
-#define stdin (&_iob[STDIN_FILENO])
-#define stdout (&_iob[STDOUT_FILENO])
-#define stderr (&_iob[STDERR_FILENO])
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*
- * File Operations
- */
-_CRTIMP FILE* __cdecl fopen (const char*, const char*);
-_CRTIMP FILE* __cdecl freopen (const char*, const char*, FILE*);
-_CRTIMP int __cdecl fflush (FILE*);
-_CRTIMP int __cdecl fclose (FILE*);
-/* MS puts remove & rename (but not wide versions) in io.h also */
-_CRTIMP int __cdecl remove (const char*);
-_CRTIMP int __cdecl rename (const char*, const char*);
-_CRTIMP FILE* __cdecl tmpfile (void);
-_CRTIMP char* __cdecl tmpnam (char*);
-
-#ifndef __STRICT_ANSI__
-_CRTIMP char* __cdecl _tempnam (const char*, const char*);
-_CRTIMP int __cdecl _rmtmp(void);
-
-#ifndef NO_OLDNAMES
-_CRTIMP char* __cdecl tempnam (const char*, const char*);
-_CRTIMP int __cdecl rmtmp(void);
-#endif
-#endif /* __STRICT_ANSI__ */
-
-_CRTIMP int __cdecl setvbuf (FILE*, char*, int, size_t);
-
-_CRTIMP void __cdecl setbuf (FILE*, char*);
-
-/*
- * Formatted Output
- */
-
-_CRTIMP int __cdecl fprintf (FILE*, const char*, ...);
-_CRTIMP int __cdecl printf (const char*, ...);
-_CRTIMP int __cdecl sprintf (char*, const char*, ...);
-_CRTIMP int __cdecl _snprintf (char*, size_t, const char*, ...);
-_CRTIMP int __cdecl vfprintf (FILE*, const char*, __VALIST);
-_CRTIMP int __cdecl vprintf (const char*, __VALIST);
-_CRTIMP int __cdecl vsprintf (char*, const char*, __VALIST);
-_CRTIMP int __cdecl _vsnprintf (char*, size_t, const char*, __VALIST);
-
-#ifndef __NO_ISOCEXT /* externs in libmingwex.a */
-int __cdecl snprintf(char* s, size_t n, const char* format, ...);
-__CRT_INLINE int __cdecl
-vsnprintf (char* s, size_t n, const char* format, __VALIST arg)
- { return _vsnprintf ( s, n, format, arg); }
-int __cdecl vscanf (const char * __restrict__, __VALIST);
-int __cdecl vfscanf (FILE * __restrict__, const char * __restrict__,
- __VALIST);
-int __cdecl vsscanf (const char * __restrict__,
- const char * __restrict__, __VALIST);
-#endif
-
-/*
- * Formatted Input
- */
-
-_CRTIMP int __cdecl fscanf (FILE*, const char*, ...);
-_CRTIMP int __cdecl scanf (const char*, ...);
-_CRTIMP int __cdecl sscanf (const char*, const char*, ...);
-/*
- * Character Input and Output Functions
- */
-
-_CRTIMP int __cdecl fgetc (FILE*);
-_CRTIMP char* __cdecl fgets (char*, int, FILE*);
-_CRTIMP int __cdecl fputc (int, FILE*);
-_CRTIMP int __cdecl fputs (const char*, FILE*);
-_CRTIMP char* __cdecl gets (char*);
-_CRTIMP int __cdecl puts (const char*);
-_CRTIMP int __cdecl ungetc (int, FILE*);
-
-/* Traditionally, getc and putc are defined as macros. but the
- standard doesn't say that they must be macros.
- We use inline functions here to allow the fast versions
- to be used in C++ with namespace qualification, eg., ::getc.
-
- _filbuf and _flsbuf are not thread-safe. */
-_CRTIMP int __cdecl _filbuf (FILE*);
-_CRTIMP int __cdecl _flsbuf (int, FILE*);
-
-#if !defined _MT
-
-__CRT_INLINE int __cdecl getc (FILE* __F)
-{
- return (--__F->_cnt >= 0)
- ? (int) (unsigned char) *__F->_ptr++
- : _filbuf (__F);
-}
-
-__CRT_INLINE int __cdecl putc (int __c, FILE* __F)
-{
- return (--__F->_cnt >= 0)
- ? (int) (unsigned char) (*__F->_ptr++ = (char)__c)
- : _flsbuf (__c, __F);
-}
-
-__CRT_INLINE int __cdecl getchar (void)
-{
- return (--stdin->_cnt >= 0)
- ? (int) (unsigned char) *stdin->_ptr++
- : _filbuf (stdin);
-}
-
-__CRT_INLINE int __cdecl putchar(int __c)
-{
- return (--stdout->_cnt >= 0)
- ? (int) (unsigned char) (*stdout->_ptr++ = (char)__c)
- : _flsbuf (__c, stdout);}
-
-#else /* Use library functions. */
-
-_CRTIMP int __cdecl getc (FILE*);
-_CRTIMP int __cdecl putc (int, FILE*);
-_CRTIMP int __cdecl getchar (void);
-_CRTIMP int __cdecl putchar (int);
-
-#endif
-
-/*
- * Direct Input and Output Functions
- */
-
-_CRTIMP size_t __cdecl fread (void*, size_t, size_t, FILE*);
-_CRTIMP size_t __cdecl fwrite (const void*, size_t, size_t, FILE*);
-
-/*
- * File Positioning Functions
- */
-
-_CRTIMP int __cdecl fseek (FILE*, long, int);
-_CRTIMP long __cdecl ftell (FILE*);
-_CRTIMP void __cdecl rewind (FILE*);
-
-#ifdef __USE_MINGW_FSEEK /* These are in libmingwex.a */
-/*
- * Workaround for limitations on win9x where a file contents are
- * not zero'd out if you seek past the end and then write.
- */
-
-int __cdecl __mingw_fseek (FILE *, long, int);
-size_t __cdecl __mingw_fwrite (const void*, size_t, size_t, FILE*);
-#define fseek(fp, offset, whence) __mingw_fseek(fp, offset, whence)
-#define fwrite(buffer, size, count, fp) __mingw_fwrite(buffer, size, count, fp)
-#endif /* __USE_MINGW_FSEEK */
-
-/*
- * An opaque data type used for storing file positions... The contents of
- * this type are unknown, but we (the compiler) need to know the size
- * because the programmer using fgetpos and fsetpos will be setting aside
- * storage for fpos_t structres. Actually I tested using a byte array and
- * it is fairly evident that the fpos_t type is a long (in CRTDLL.DLL).
- * Perhaps an unsigned long? TODO? It's definitely a 64-bit number in
- * MSVCRT however, and for now `long long' will do.
- */
-#ifdef __MSVCRT__
-typedef long long fpos_t;
-#else
-typedef long fpos_t;
-#endif
-
-_CRTIMP int __cdecl fgetpos (FILE*, fpos_t*);
-_CRTIMP int __cdecl fsetpos (FILE*, const fpos_t*);
-
-/*
- * Error Functions
- */
-
-_CRTIMP int __cdecl feof (FILE*);
-_CRTIMP int __cdecl ferror (FILE*);
-
-#ifdef __cplusplus
-inline int __cdecl feof (FILE* __F)
- { return __F->_flag & _IOEOF; }
-inline int __cdecl ferror (FILE* __F)
- { return __F->_flag & _IOERR; }
-#else
-#define feof(__F) ((__F)->_flag & _IOEOF)
-#define ferror(__F) ((__F)->_flag & _IOERR)
-#endif
-
-_CRTIMP void __cdecl clearerr (FILE*);
-_CRTIMP void __cdecl perror (const char*);
-
-
-#ifndef __STRICT_ANSI__
-/*
- * Pipes
- */
-_CRTIMP FILE* __cdecl _popen (const char*, const char*);
-_CRTIMP int __cdecl _pclose (FILE*);
-
-#ifndef NO_OLDNAMES
-_CRTIMP FILE* __cdecl popen (const char*, const char*);
-_CRTIMP int __cdecl pclose (FILE*);
-#endif
-
-/*
- * Other Non ANSI functions
- */
-_CRTIMP int __cdecl _flushall (void);
-_CRTIMP int __cdecl _fgetchar (void);
-_CRTIMP int __cdecl _fputchar (int);
-_CRTIMP FILE* __cdecl _fdopen (int, const char*);
-_CRTIMP int __cdecl _fileno (FILE*);
-_CRTIMP int __cdecl _fcloseall(void);
-_CRTIMP FILE* __cdecl _fsopen(const char*, const char*, int);
-#ifdef __MSVCRT__
-_CRTIMP int __cdecl _getmaxstdio(void);
-_CRTIMP int __cdecl _setmaxstdio(int);
-#endif
-
-#ifndef _NO_OLDNAMES
-_CRTIMP int __cdecl fgetchar (void);
-_CRTIMP int __cdecl fputchar (int);
-_CRTIMP FILE* __cdecl fdopen (int, const char*);
-_CRTIMP int __cdecl fileno (FILE*);
-#endif /* Not _NO_OLDNAMES */
-
-#define _fileno(__F) ((__F)->_file)
-#ifndef _NO_OLDNAMES
-#define fileno(__F) ((__F)->_file)
-#endif
-
-#if defined (__MSVCRT__) && !defined (__NO_MINGW_LFS)
-#include <sys/types.h>
-__CRT_INLINE FILE* __cdecl fopen64 (const char* filename, const char* mode)
-{
- return fopen (filename, mode);
-}
-
-int __cdecl fseeko64 (FILE*, off64_t, int);
-
-#ifdef __USE_MINGW_FSEEK
-int __cdecl __mingw_fseeko64 (FILE *, off64_t, int);
-#define fseeko64(fp, offset, whence) __mingw_fseeko64(fp, offset, whence)
-#endif
-
-__CRT_INLINE off64_t __cdecl ftello64 (FILE * stream)
-{
- fpos_t pos;
- if (fgetpos(stream, &pos))
- return -1LL;
- else
- return ((off64_t) pos);
-}
-#endif /* __NO_MINGW_LFS */
-
-#endif /* Not __STRICT_ANSI__ */
-
-/* Wide versions */
-
-#ifndef _WSTDIO_DEFINED
-/* also in wchar.h - keep in sync */
-_CRTIMP int __cdecl fwprintf (FILE*, const wchar_t*, ...);
-_CRTIMP int __cdecl wprintf (const wchar_t*, ...);
-_CRTIMP int __cdecl swprintf (wchar_t*, const wchar_t*, ...);
-_CRTIMP int __cdecl _snwprintf (wchar_t*, size_t, const wchar_t*, ...);
-_CRTIMP int __cdecl vfwprintf (FILE*, const wchar_t*, __VALIST);
-_CRTIMP int __cdecl vwprintf (const wchar_t*, __VALIST);
-_CRTIMP int __cdecl vswprintf (wchar_t*, const wchar_t*, __VALIST);
-_CRTIMP int __cdecl _vsnwprintf (wchar_t*, size_t, const wchar_t*, __VALIST);
-_CRTIMP int __cdecl fwscanf (FILE*, const wchar_t*, ...);
-_CRTIMP int __cdecl wscanf (const wchar_t*, ...);
-_CRTIMP int __cdecl swscanf (const wchar_t*, const wchar_t*, ...);
-_CRTIMP wint_t __cdecl fgetwc (FILE*);
-_CRTIMP wint_t __cdecl fputwc (wchar_t, FILE*);
-_CRTIMP wint_t __cdecl ungetwc (wchar_t, FILE*);
-
-#ifdef __MSVCRT__
-_CRTIMP wchar_t* __cdecl fgetws (wchar_t*, int, FILE*);
-_CRTIMP int __cdecl fputws (const wchar_t*, FILE*);
-_CRTIMP wint_t __cdecl getwc (FILE*);
-_CRTIMP wint_t __cdecl getwchar (void);
-_CRTIMP wchar_t* __cdecl _getws (wchar_t*);
-_CRTIMP wint_t __cdecl putwc (wint_t, FILE*);
-_CRTIMP int __cdecl _putws (const wchar_t*);
-_CRTIMP wint_t __cdecl putwchar (wint_t);
-_CRTIMP FILE* __cdecl _wfdopen(int, wchar_t *);
-_CRTIMP FILE* __cdecl _wfopen (const wchar_t*, const wchar_t*);
-_CRTIMP FILE* __cdecl _wfreopen (const wchar_t*, const wchar_t*, FILE*);
-_CRTIMP FILE* __cdecl _wfsopen (const wchar_t*, const wchar_t*, int);
-_CRTIMP wchar_t* __cdecl _wtmpnam (wchar_t*);
-_CRTIMP wchar_t* __cdecl _wtempnam (const wchar_t*, const wchar_t*);
-_CRTIMP int __cdecl _wrename (const wchar_t*, const wchar_t*);
-_CRTIMP int __cdecl _wremove (const wchar_t*);
-_CRTIMP void __cdecl _wperror (const wchar_t*);
-_CRTIMP FILE* __cdecl _wpopen (const wchar_t*, const wchar_t*);
-#endif /* __MSVCRT__ */
-
-#ifndef __NO_ISOCEXT /* externs in libmingwex.a */
-int __cdecl snwprintf (wchar_t* s, size_t n, const wchar_t* format, ...);
-__CRT_INLINE int __cdecl
-vsnwprintf (wchar_t* s, size_t n, const wchar_t* format, __VALIST arg)
- { return _vsnwprintf ( s, n, format, arg);}
-int __cdecl vwscanf (const wchar_t * __restrict__, __VALIST);
-int __cdecl vfwscanf (FILE * __restrict__,
- const wchar_t * __restrict__, __VALIST);
-int __cdecl vswscanf (const wchar_t * __restrict__,
- const wchar_t * __restrict__, __VALIST);
-#endif
-
-#define _WSTDIO_DEFINED
-#endif /* _WSTDIO_DEFINED */
-
-#ifndef __STRICT_ANSI__
-#ifdef __MSVCRT__
-#ifndef NO_OLDNAMES
-_CRTIMP FILE* __cdecl wpopen (const wchar_t*, const wchar_t*);
-#endif /* not NO_OLDNAMES */
-#endif /* MSVCRT runtime */
-
-/*
- * Other Non ANSI wide functions
- */
-_CRTIMP wint_t __cdecl _fgetwchar (void);
-_CRTIMP wint_t __cdecl _fputwchar (wint_t);
-_CRTIMP int __cdecl _getw (FILE*);
-_CRTIMP int __cdecl _putw (int, FILE*);
-
-#ifndef _NO_OLDNAMES
-_CRTIMP wint_t __cdecl fgetwchar (void);
-_CRTIMP wint_t __cdecl fputwchar (wint_t);
-_CRTIMP int __cdecl getw (FILE*);
-_CRTIMP int __cdecl putw (int, FILE*);
-#endif /* Not _NO_OLDNAMES */
-
-#endif /* __STRICT_ANSI */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* Not RC_INVOKED */
-
-#endif /* _STDIO_H_ */
diff --git a/winsup/mingw/include/stdlib.h b/winsup/mingw/include/stdlib.h
deleted file mode 100644
index 07a6b420c..000000000
--- a/winsup/mingw/include/stdlib.h
+++ /dev/null
@@ -1,524 +0,0 @@
-/*
- * stdlib.h
- * This file has no copyright assigned and is placed in the Public Domain.
- * This file is a part of the mingw-runtime package.
- * No warranty is given; refer to the file DISCLAIMER within the package.
- *
- * Definitions for common types, variables, and functions.
- *
- */
-
-#ifndef _STDLIB_H_
-#define _STDLIB_H_
-
-/* All the headers include this file. */
-#include <_mingw.h>
-
-
-#define __need_size_t
-#define __need_wchar_t
-#define __need_NULL
-#ifndef RC_INVOKED
-#include <stddef.h>
-#endif /* RC_INVOKED */
-
-/*
- * RAND_MAX is the maximum value that may be returned by rand.
- * The minimum is zero.
- */
-#define RAND_MAX 0x7FFF
-
-/*
- * These values may be used as exit status codes.
- */
-#define EXIT_SUCCESS 0
-#define EXIT_FAILURE 1
-
-/*
- * Definitions for path name functions.
- * NOTE: All of these values have simply been chosen to be conservatively high.
- * Remember that with long file names we can no longer depend on
- * extensions being short.
- */
-#ifndef __STRICT_ANSI__
-
-#ifndef MAX_PATH
-#define MAX_PATH (260)
-#endif
-
-#define _MAX_PATH MAX_PATH
-#define _MAX_DRIVE (3)
-#define _MAX_DIR 256
-#define _MAX_FNAME 256
-#define _MAX_EXT 256
-
-#endif /* Not __STRICT_ANSI__ */
-
-
-#ifndef RC_INVOKED
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#if !defined (__STRICT_ANSI__)
-
-/*
- * This seems like a convenient place to declare these variables, which
- * give programs using WinMain (or main for that matter) access to main-ish
- * argc and argv. environ is a pointer to a table of environment variables.
- * NOTE: Strings in _argv and environ are ANSI strings.
- */
-extern int _argc;
-extern char** _argv;
-
-/* imports from runtime dll of the above variables */
-#ifdef __MSVCRT__
-
-extern int* __cdecl __p___argc(void);
-extern char*** __cdecl __p___argv(void);
-extern wchar_t*** __cdecl __p___wargv(void);
-
-#define __argc (*__p___argc())
-#define __argv (*__p___argv())
-#define __wargv (*__p___wargv())
-
-#else /* !MSVCRT */
-
-#ifndef __DECLSPEC_SUPPORTED
-
-extern int* _imp____argc_dll;
-extern char*** _imp____argv_dll;
-#define __argc (*_imp____argc_dll)
-#define __argv (*_imp____argv_dll)
-
-#else /* __DECLSPEC_SUPPORTED */
-
-__MINGW_IMPORT int __argc_dll;
-__MINGW_IMPORT char** __argv_dll;
-#define __argc __argc_dll
-#define __argv __argv_dll
-
-#endif /* __DECLSPEC_SUPPORTED */
-
-#endif /* __MSVCRT */
-#endif /* __STRICT_ANSI__ */
-/*
- * Also defined in ctype.h.
- */
-#ifndef MB_CUR_MAX
-#ifdef __DECLSPEC_SUPPORTED
-# ifdef __MSVCRT__
-# define MB_CUR_MAX __mb_cur_max
- __MINGW_IMPORT int __mb_cur_max;
-# else /* not __MSVCRT */
-# define MB_CUR_MAX __mb_cur_max_dll
- __MINGW_IMPORT int __mb_cur_max_dll;
-# endif /* not __MSVCRT */
-
-#else /* ! __DECLSPEC_SUPPORTED */
-# ifdef __MSVCRT__
- extern int* _imp____mbcur_max;
-# define MB_CUR_MAX (*_imp____mb_cur_max)
-# else /* not __MSVCRT */
- extern int* _imp____mbcur_max_dll;
-# define MB_CUR_MAX (*_imp____mb_cur_max_dll)
-# endif /* not __MSVCRT */
-#endif /* __DECLSPEC_SUPPORTED */
-#endif /* MB_CUR_MAX */
-
-/*
- * MS likes to declare errno in stdlib.h as well.
- */
-
-#ifdef _UWIN
-#undef errno
-extern int errno;
-#else
- _CRTIMP int* __cdecl _errno(void);
-#define errno (*_errno())
-#endif
- _CRTIMP int* __cdecl __doserrno(void);
-#define _doserrno (*__doserrno())
-
-#if !defined (__STRICT_ANSI__)
-/*
- * Use environ from the DLL, not as a global.
- */
-
-#ifdef __MSVCRT__
- extern _CRTIMP char *** __cdecl __p__environ(void);
- extern _CRTIMP wchar_t *** __cdecl __p__wenviron(void);
-# define _environ (*__p__environ())
-# define _wenviron (*__p__wenviron())
-#else /* ! __MSVCRT__ */
-# ifndef __DECLSPEC_SUPPORTED
- extern char *** _imp___environ_dll;
-# define _environ (*_imp___environ_dll)
-# else /* __DECLSPEC_SUPPORTED */
- __MINGW_IMPORT char ** _environ_dll;
-# define _environ _environ_dll
-# endif /* __DECLSPEC_SUPPORTED */
-#endif /* ! __MSVCRT__ */
-
-#define environ _environ
-
-#ifdef __MSVCRT__
-/* One of the MSVCRTxx libraries */
-
-#ifndef __DECLSPEC_SUPPORTED
- extern int* _imp___sys_nerr;
-# define sys_nerr (*_imp___sys_nerr)
-#else /* __DECLSPEC_SUPPORTED */
- __MINGW_IMPORT int _sys_nerr;
-# ifndef _UWIN
-# define sys_nerr _sys_nerr
-# endif /* _UWIN */
-#endif /* __DECLSPEC_SUPPORTED */
-
-#else /* ! __MSVCRT__ */
-
-/* CRTDLL run time library */
-
-#ifndef __DECLSPEC_SUPPORTED
- extern int* _imp___sys_nerr_dll;
-# define sys_nerr (*_imp___sys_nerr_dll)
-#else /* __DECLSPEC_SUPPORTED */
- __MINGW_IMPORT int _sys_nerr_dll;
-# define sys_nerr _sys_nerr_dll
-#endif /* __DECLSPEC_SUPPORTED */
-
-#endif /* ! __MSVCRT__ */
-
-#ifndef __DECLSPEC_SUPPORTED
-extern char*** _imp__sys_errlist;
-#define sys_errlist (*_imp___sys_errlist)
-#else /* __DECLSPEC_SUPPORTED */
-__MINGW_IMPORT char* _sys_errlist[];
-#ifndef _UWIN
-#define sys_errlist _sys_errlist
-#endif /* _UWIN */
-#endif /* __DECLSPEC_SUPPORTED */
-
-/*
- * OS version and such constants.
- */
-
-#ifdef __MSVCRT__
-/* msvcrtxx.dll */
-
-extern _CRTIMP unsigned __cdecl int* __p__osver(void);
-extern _CRTIMP unsigned __cdecl int* __p__winver(void);
-extern _CRTIMP unsigned __cdecl int* __p__winmajor(void);
-extern _CRTIMP unsigned __cdecl int* __p__winminor(void);
-
-#ifndef __DECLSPEC_SUPPORTED
-# define _osver (*__p__osver())
-# define _winver (*__p__winver())
-# define _winmajor (*__p__winmajor())
-# define _winminor (*__p__winminor())
-#else
-__MINGW_IMPORT unsigned int _osver;
-__MINGW_IMPORT unsigned int _winver;
-__MINGW_IMPORT unsigned int _winmajor;
-__MINGW_IMPORT unsigned int _winminor;
-#endif /* __DECLSPEC_SUPPORTED */
-
-#else
-/* Not msvcrtxx.dll, thus crtdll.dll */
-
-#ifndef __DECLSPEC_SUPPORTED
-
-extern unsigned int* _imp___osver_dll;
-extern unsigned int* _imp___winver_dll;
-extern unsigned int* _imp___winmajor_dll;
-extern unsigned int* _imp___winminor_dll;
-
-#define _osver (*_imp___osver_dll)
-#define _winver (*_imp___winver_dll)
-#define _winmajor (*_imp___winmajor_dll)
-#define _winminor (*_imp___winminor_dll)
-
-#else /* __DECLSPEC_SUPPORTED */
-
-__MINGW_IMPORT unsigned int _osver_dll;
-__MINGW_IMPORT unsigned int _winver_dll;
-__MINGW_IMPORT unsigned int _winmajor_dll;
-__MINGW_IMPORT unsigned int _winminor_dll;
-
-#define _osver _osver_dll
-#define _winver _winver_dll
-#define _winmajor _winmajor_dll
-#define _winminor _winminor_dll
-
-#endif /* __DECLSPEC_SUPPORTED */
-
-#endif
-
-#if defined __MSVCRT__
-/* although the _pgmptr is exported as DATA,
- * be safe and use the access function __p__pgmptr() to get it. */
-_CRTIMP char** __cdecl __p__pgmptr(void);
-#define _pgmptr (*__p__pgmptr())
-_CRTIMP wchar_t** __cdecl __p__wpgmptr(void);
-#define _wpgmptr (*__p__wpgmptr())
-#else /* ! __MSVCRT__ */
-# ifndef __DECLSPEC_SUPPORTED
- extern char** __imp__pgmptr_dll;
-# define _pgmptr (*_imp___pgmptr_dll)
-# else /* __DECLSPEC_SUPPORTED */
- __MINGW_IMPORT char* _pgmptr_dll;
-# define _pgmptr _pgmptr_dll
-# endif /* __DECLSPEC_SUPPORTED */
-/* no wide version in CRTDLL */
-#endif /* __MSVCRT__ */
-
-/*
- * This variable determines the default file mode.
- * TODO: Which flags work?
- */
-#if !defined (__DECLSPEC_SUPPORTED) || defined (__IN_MINGW_RUNTIME)
-
-#ifdef __MSVCRT__
-extern int* _imp___fmode;
-#define _fmode (*_imp___fmode)
-#else
-/* CRTDLL */
-extern int* _imp___fmode_dll;
-#define _fmode (*_imp___fmode_dll)
-#endif
-
-#else /* __DECLSPEC_SUPPORTED */
-
-#ifdef __MSVCRT__
-__MINGW_IMPORT int _fmode;
-#else /* ! __MSVCRT__ */
-__MINGW_IMPORT int _fmode_dll;
-#define _fmode _fmode_dll
-#endif /* ! __MSVCRT__ */
-
-#endif /* __DECLSPEC_SUPPORTED */
-
-#endif /* Not __STRICT_ANSI__ */
-
-_CRTIMP double __cdecl atof (const char*);
-_CRTIMP int __cdecl atoi (const char*);
-_CRTIMP long __cdecl atol (const char*);
-#if !defined (__STRICT_ANSI__)
-_CRTIMP int __cdecl _wtoi (const wchar_t *);
-_CRTIMP long __cdecl _wtol (const wchar_t *);
-#endif
-_CRTIMP double __cdecl strtod (const char*, char**);
-#if !defined __NO_ISOCEXT /* extern stub in static libmingwex.a */
-float __cdecl strtof (const char *, char **);
-__CRT_INLINE float __cdecl strtof (const char *__nptr, char **__endptr)
- { return (strtod (__nptr, __endptr));}
-long double __cdecl strtold (const char * __restrict__, char ** __restrict__);
-#endif /* __NO_ISOCEXT */
-
-_CRTIMP long __cdecl strtol (const char*, char**, int);
-_CRTIMP unsigned long __cdecl strtoul (const char*, char**, int);
-
-#ifndef _WSTDLIB_DEFINED
-/* also declared in wchar.h */
-_CRTIMP double __cdecl wcstod (const wchar_t*, wchar_t**);
-#if !defined __NO_ISOCEXT /* extern stub in static libmingwex.a */
-float __cdecl wcstof( const wchar_t *, wchar_t **);
-__CRT_INLINE float __cdecl wcstof( const wchar_t *__nptr, wchar_t **__endptr)
-{ return (wcstod(__nptr, __endptr)); }
-long double __cdecl wcstold (const wchar_t * __restrict__, wchar_t ** __restrict__);
-#endif /* __NO_ISOCEXT */
-
-_CRTIMP long __cdecl wcstol (const wchar_t*, wchar_t**, int);
-_CRTIMP unsigned long __cdecl wcstoul (const wchar_t*, wchar_t**, int);
-#define _WSTDLIB_DEFINED
-#endif
-
-_CRTIMP size_t __cdecl wcstombs (char*, const wchar_t*, size_t);
-_CRTIMP int __cdecl wctomb (char*, wchar_t);
-
-_CRTIMP int __cdecl mblen (const char*, size_t);
-_CRTIMP size_t __cdecl mbstowcs (wchar_t*, const char*, size_t);
-_CRTIMP int __cdecl mbtowc (wchar_t*, const char*, size_t);
-
-_CRTIMP int __cdecl rand (void);
-_CRTIMP void __cdecl srand (unsigned int);
-
-_CRTIMP void* __cdecl calloc (size_t, size_t) __MINGW_ATTRIB_MALLOC;
-_CRTIMP void* __cdecl malloc (size_t) __MINGW_ATTRIB_MALLOC;
-_CRTIMP void* __cdecl realloc (void*, size_t);
-_CRTIMP void __cdecl free (void*);
-
-_CRTIMP void __cdecl abort (void) __MINGW_ATTRIB_NORETURN;
-_CRTIMP void __cdecl exit (int) __MINGW_ATTRIB_NORETURN;
-
-/* Note: This is in startup code, not imported directly from dll */
-int __cdecl atexit (void (*)(void));
-
-_CRTIMP int __cdecl system (const char*);
-_CRTIMP char* __cdecl getenv (const char*);
-
-/* bsearch and qsort are also in non-ANSI header search.h */
-_CRTIMP void* __cdecl bsearch (const void*, const void*, size_t, size_t,
- int (*)(const void*, const void*));
-_CRTIMP void __cdecl qsort (void*, size_t, size_t,
- int (*)(const void*, const void*));
-
-_CRTIMP int __cdecl abs (int) __MINGW_ATTRIB_CONST;
-_CRTIMP long __cdecl labs (long) __MINGW_ATTRIB_CONST;
-
-/*
- * div_t and ldiv_t are structures used to return the results of div and
- * ldiv.
- *
- * NOTE: div and ldiv appear not to work correctly unless
- * -fno-pcc-struct-return is specified. This is included in the
- * mingw32 specs file.
- */
-typedef struct { int quot, rem; } div_t;
-typedef struct { long quot, rem; } ldiv_t;
-
-_CRTIMP div_t __cdecl div (int, int) __MINGW_ATTRIB_CONST;
-_CRTIMP ldiv_t __cdecl ldiv (long, long) __MINGW_ATTRIB_CONST;
-
-#if !defined (__STRICT_ANSI__)
-
-/*
- * NOTE: Officially the three following functions are obsolete. The Win32 API
- * functions SetErrorMode, Beep and Sleep are their replacements.
- */
-_CRTIMP void __cdecl _beep (unsigned int, unsigned int);
-_CRTIMP void __cdecl _seterrormode (int);
-_CRTIMP void __cdecl _sleep (unsigned long);
-
-_CRTIMP void __cdecl _exit (int) __MINGW_ATTRIB_NORETURN;
-
-/* _onexit is MS extension. Use atexit for portability. */
-/* Note: This is in startup code, not imported directly from dll */
-typedef int (* _onexit_t)(void);
-_onexit_t __cdecl _onexit( _onexit_t );
-
-_CRTIMP int __cdecl _putenv (const char*);
-_CRTIMP void __cdecl _searchenv (const char*, const char*, char*);
-
-
-_CRTIMP char* __cdecl _ecvt (double, int, int*, int*);
-_CRTIMP char* __cdecl _fcvt (double, int, int*, int*);
-_CRTIMP char* __cdecl _gcvt (double, int, char*);
-
-_CRTIMP void __cdecl _makepath (char*, const char*, const char*, const char*, const char*);
-_CRTIMP void __cdecl _splitpath (const char*, char*, char*, char*, char*);
-_CRTIMP char* __cdecl _fullpath (char*, const char*, size_t);
-
-_CRTIMP char* __cdecl _itoa (int, char*, int);
-_CRTIMP char* __cdecl _ltoa (long, char*, int);
-_CRTIMP char* __cdecl _ultoa(unsigned long, char*, int);
-_CRTIMP wchar_t* __cdecl _itow (int, wchar_t*, int);
-_CRTIMP wchar_t* __cdecl _ltow (long, wchar_t*, int);
-_CRTIMP wchar_t* __cdecl _ultow (unsigned long, wchar_t*, int);
-
-#ifdef __MSVCRT__
-_CRTIMP __int64 __cdecl _atoi64(const char *);
-_CRTIMP char* __cdecl _i64toa(__int64, char *, int);
-_CRTIMP char* __cdecl _ui64toa(unsigned __int64, char *, int);
-_CRTIMP __int64 __cdecl _wtoi64(const wchar_t *);
-_CRTIMP wchar_t* __cdecl _i64tow(__int64, wchar_t *, int);
-_CRTIMP wchar_t* __cdecl _ui64tow(unsigned __int64, wchar_t *, int);
-
-_CRTIMP wchar_t* __cdecl _wgetenv(const wchar_t*);
-_CRTIMP int __cdecl _wputenv(const wchar_t*);
-_CRTIMP void __cdecl _wsearchenv(const wchar_t*, const wchar_t*, wchar_t*);
-_CRTIMP void __cdecl _wmakepath(wchar_t*, const wchar_t*, const wchar_t*, const wchar_t*, const wchar_t*);
-_CRTIMP void __cdecl _wsplitpath (const wchar_t*, wchar_t*, wchar_t*, wchar_t*, wchar_t*);
-_CRTIMP wchar_t* __cdecl _wfullpath (wchar_t*, const wchar_t*, size_t);
-
-_CRTIMP unsigned int __cdecl _rotl(unsigned int, int) __MINGW_ATTRIB_CONST;
-_CRTIMP unsigned int __cdecl _rotr(unsigned int, int) __MINGW_ATTRIB_CONST;
-_CRTIMP unsigned long __cdecl _lrotl(unsigned long, int) __MINGW_ATTRIB_CONST;
-_CRTIMP unsigned long __cdecl _lrotr(unsigned long, int) __MINGW_ATTRIB_CONST;
-
-_CRTIMP int __cdecl _set_error_mode (int);
-#define _OUT_TO_DEFAULT 0
-#define _OUT_TO_STDERR 1
-#define _OUT_TO_MSGBOX 2
-#define _REPORT_ERRMODE 3
-
-#endif
-
-#ifndef _NO_OLDNAMES
-
-_CRTIMP int __cdecl putenv (const char*);
-_CRTIMP void __cdecl searchenv (const char*, const char*, char*);
-
-_CRTIMP char* __cdecl itoa (int, char*, int);
-_CRTIMP char* __cdecl ltoa (long, char*, int);
-
-#ifndef _UWIN
-_CRTIMP char* __cdecl ecvt (double, int, int*, int*);
-_CRTIMP char* __cdecl fcvt (double, int, int*, int*);
-_CRTIMP char* __cdecl gcvt (double, int, char*);
-#endif /* _UWIN */
-#endif /* Not _NO_OLDNAMES */
-
-#endif /* Not __STRICT_ANSI__ */
-
-/* C99 names */
-
-#if !defined __NO_ISOCEXT /* externs in static libmingwex.a */
-
-/* C99 name for _exit */
-void __cdecl _Exit(int) __MINGW_ATTRIB_NORETURN;
-#ifndef __STRICT_ANSI__ /* inline using non-ansi functions */
-__CRT_INLINE void __cdecl _Exit(int __status)
- { _exit (__status); }
-#endif
-
-typedef struct { long long quot, rem; } lldiv_t;
-
-lldiv_t __cdecl lldiv (long long, long long) __MINGW_ATTRIB_CONST;
-
-long long __cdecl llabs(long long);
-__CRT_INLINE long long __cdecl llabs(long long _j)
- {return (_j >= 0 ? _j : -_j);}
-
-long long __cdecl strtoll (const char* __restrict__, char** __restrict, int);
-unsigned long long __cdecl strtoull (const char* __restrict__, char** __restrict__, int);
-
-#if defined (__MSVCRT__) /* these are stubs for MS _i64 versions */
-long long __cdecl atoll (const char *);
-
-#if !defined (__STRICT_ANSI__)
-long long __cdecl wtoll (const wchar_t *);
-char* __cdecl lltoa (long long, char *, int);
-char* __cdecl ulltoa (unsigned long long , char *, int);
-wchar_t* __cdecl lltow (long long, wchar_t *, int);
-wchar_t* __cdecl ulltow (unsigned long long, wchar_t *, int);
-
- /* inline using non-ansi functions */
-__CRT_INLINE long long __cdecl atoll (const char * _c)
- { return _atoi64 (_c); }
-__CRT_INLINE char* __cdecl lltoa (long long _n, char * _c, int _i)
- { return _i64toa (_n, _c, _i); }
-__CRT_INLINE char* __cdecl ulltoa (unsigned long long _n, char * _c, int _i)
- { return _ui64toa (_n, _c, _i); }
-__CRT_INLINE long long __cdecl wtoll (const wchar_t * _w)
- { return _wtoi64 (_w); }
-__CRT_INLINE wchar_t* __cdecl lltow (long long _n, wchar_t * _w, int _i)
- { return _i64tow (_n, _w, _i); }
-__CRT_INLINE wchar_t* __cdecl ulltow (unsigned long long _n, wchar_t * _w, int _i)
- { return _ui64tow (_n, _w, _i); }
-#endif /* (__STRICT_ANSI__) */
-
-#endif /* __MSVCRT__ */
-
-#endif /* !__NO_ISOCEXT */
-
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* Not RC_INVOKED */
-
-#endif /* Not _STDLIB_H_ */
-
diff --git a/winsup/mingw/include/string.h b/winsup/mingw/include/string.h
deleted file mode 100644
index 1047e5019..000000000
--- a/winsup/mingw/include/string.h
+++ /dev/null
@@ -1,193 +0,0 @@
-/*
- * string.h
- * This file has no copyright assigned and is placed in the Public Domain.
- * This file is a part of the mingw-runtime package.
- * No warranty is given; refer to the file DISCLAIMER within the package.
- *
- * Definitions for memory and string functions.
- *
- */
-
-#ifndef _STRING_H_
-#define _STRING_H_
-
-/* All the headers include this file. */
-#include <_mingw.h>
-
-/*
- * Define size_t, wchar_t and NULL
- */
-#define __need_size_t
-#define __need_wchar_t
-#define __need_NULL
-#ifndef RC_INVOKED
-#include <stddef.h>
-#endif /* Not RC_INVOKED */
-
-#ifndef RC_INVOKED
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*
- * Prototypes of the ANSI Standard C library string functions.
- */
-_CRTIMP void* __cdecl memchr (const void*, int, size_t) __MINGW_ATTRIB_PURE;
-_CRTIMP int __cdecl memcmp (const void*, const void*, size_t) __MINGW_ATTRIB_PURE;
-_CRTIMP void* __cdecl memcpy (void*, const void*, size_t);
-_CRTIMP void* __cdecl memmove (void*, const void*, size_t);
-_CRTIMP void* __cdecl memset (void*, int, size_t);
-_CRTIMP char* __cdecl strcat (char*, const char*);
-_CRTIMP char* __cdecl strchr (const char*, int) __MINGW_ATTRIB_PURE;
-_CRTIMP int __cdecl strcmp (const char*, const char*) __MINGW_ATTRIB_PURE;
-_CRTIMP int __cdecl strcoll (const char*, const char*); /* Compare using locale */
-_CRTIMP char* __cdecl strcpy (char*, const char*);
-_CRTIMP size_t __cdecl strcspn (const char*, const char*) __MINGW_ATTRIB_PURE;
-_CRTIMP char* __cdecl strerror (int); /* NOTE: NOT an old name wrapper. */
-
-_CRTIMP size_t __cdecl strlen (const char*) __MINGW_ATTRIB_PURE;
-_CRTIMP char* __cdecl strncat (char*, const char*, size_t);
-_CRTIMP int __cdecl strncmp (const char*, const char*, size_t) __MINGW_ATTRIB_PURE;
-_CRTIMP char* __cdecl strncpy (char*, const char*, size_t);
-_CRTIMP char* __cdecl strpbrk (const char*, const char*) __MINGW_ATTRIB_PURE;
-_CRTIMP char* __cdecl strrchr (const char*, int) __MINGW_ATTRIB_PURE;
-_CRTIMP size_t __cdecl strspn (const char*, const char*) __MINGW_ATTRIB_PURE;
-_CRTIMP char* __cdecl strstr (const char*, const char*) __MINGW_ATTRIB_PURE;
-_CRTIMP char* __cdecl strtok (char*, const char*);
-_CRTIMP size_t __cdecl strxfrm (char*, const char*, size_t);
-
-#ifndef __STRICT_ANSI__
-/*
- * Extra non-ANSI functions provided by the CRTDLL library
- */
-_CRTIMP char* __cdecl _strerror (const char *);
-_CRTIMP void* __cdecl _memccpy (void*, const void*, int, size_t);
-_CRTIMP int __cdecl _memicmp (const void*, const void*, size_t);
-_CRTIMP char* __cdecl _strdup (const char*) __MINGW_ATTRIB_MALLOC;
-_CRTIMP int __cdecl _strcmpi (const char*, const char*);
-_CRTIMP int __cdecl _stricmp (const char*, const char*);
-_CRTIMP int __cdecl _stricoll (const char*, const char*);
-_CRTIMP char* __cdecl _strlwr (char*);
-_CRTIMP int __cdecl _strnicmp (const char*, const char*, size_t);
-_CRTIMP char* __cdecl _strnset (char*, int, size_t);
-_CRTIMP char* __cdecl _strrev (char*);
-_CRTIMP char* __cdecl _strset (char*, int);
-_CRTIMP char* __cdecl _strupr (char*);
-_CRTIMP void __cdecl _swab (const char*, char*, size_t);
-
-#ifdef __MSVCRT__
-_CRTIMP int __cdecl _strncoll(const char*, const char*, size_t);
-_CRTIMP int __cdecl _strnicoll(const char*, const char*, size_t);
-#endif
-
-#ifndef _NO_OLDNAMES
-/*
- * Non-underscored versions of non-ANSI functions. They live in liboldnames.a
- * and provide a little extra portability. Also a few extra UNIX-isms like
- * strcasecmp.
- */
-_CRTIMP void* __cdecl memccpy (void*, const void*, int, size_t);
-_CRTIMP int __cdecl memicmp (const void*, const void*, size_t);
-_CRTIMP char* __cdecl strdup (const char*) __MINGW_ATTRIB_MALLOC;
-_CRTIMP int __cdecl strcmpi (const char*, const char*);
-_CRTIMP int __cdecl stricmp (const char*, const char*);
-__CRT_INLINE int __cdecl
-strcasecmp (const char * __sz1, const char * __sz2)
- {return _stricmp (__sz1, __sz2);}
-_CRTIMP int __cdecl stricoll (const char*, const char*);
-_CRTIMP char* __cdecl strlwr (char*);
-_CRTIMP int __cdecl strnicmp (const char*, const char*, size_t);
-__CRT_INLINE int __cdecl
-strncasecmp (const char * __sz1, const char * __sz2, size_t __sizeMaxCompare)
- {return _strnicmp (__sz1, __sz2, __sizeMaxCompare);}
-_CRTIMP char* __cdecl strnset (char*, int, size_t);
-_CRTIMP char* __cdecl strrev (char*);
-_CRTIMP char* __cdecl strset (char*, int);
-_CRTIMP char* __cdecl strupr (char*);
-#ifndef _UWIN
-_CRTIMP void __cdecl swab (const char*, char*, size_t);
-#endif /* _UWIN */
-#endif /* _NO_OLDNAMES */
-
-#endif /* Not __STRICT_ANSI__ */
-
-#ifndef _WSTRING_DEFINED
-/*
- * Unicode versions of the standard calls.
- * Also in wchar.h, where they belong according to ISO standard.
- */
-_CRTIMP wchar_t* __cdecl wcscat (wchar_t*, const wchar_t*);
-_CRTIMP wchar_t* __cdecl wcschr (const wchar_t*, wchar_t);
-_CRTIMP int __cdecl wcscmp (const wchar_t*, const wchar_t*);
-_CRTIMP int __cdecl wcscoll (const wchar_t*, const wchar_t*);
-_CRTIMP wchar_t* __cdecl wcscpy (wchar_t*, const wchar_t*);
-_CRTIMP size_t __cdecl wcscspn (const wchar_t*, const wchar_t*);
-/* Note: _wcserror requires __MSVCRT_VERSION__ >= 0x0700. */
-_CRTIMP size_t __cdecl wcslen (const wchar_t*);
-_CRTIMP wchar_t* __cdecl wcsncat (wchar_t*, const wchar_t*, size_t);
-_CRTIMP int __cdecl wcsncmp(const wchar_t*, const wchar_t*, size_t);
-_CRTIMP wchar_t* __cdecl wcsncpy(wchar_t*, const wchar_t*, size_t);
-_CRTIMP wchar_t* __cdecl wcspbrk(const wchar_t*, const wchar_t*);
-_CRTIMP wchar_t* __cdecl wcsrchr(const wchar_t*, wchar_t);
-_CRTIMP size_t __cdecl wcsspn(const wchar_t*, const wchar_t*);
-_CRTIMP wchar_t* __cdecl wcsstr(const wchar_t*, const wchar_t*);
-_CRTIMP wchar_t* __cdecl wcstok(wchar_t*, const wchar_t*);
-_CRTIMP size_t __cdecl wcsxfrm(wchar_t*, const wchar_t*, size_t);
-
-#ifndef __STRICT_ANSI__
-/*
- * Unicode versions of non-ANSI string functions provided by CRTDLL.
- */
-
-/* NOTE: _wcscmpi not provided by CRTDLL, this define is for portability */
-#define _wcscmpi _wcsicmp
-
-_CRTIMP wchar_t* __cdecl _wcsdup (const wchar_t*);
-_CRTIMP int __cdecl _wcsicmp (const wchar_t*, const wchar_t*);
-_CRTIMP int __cdecl _wcsicoll (const wchar_t*, const wchar_t*);
-_CRTIMP wchar_t* __cdecl _wcslwr (wchar_t*);
-_CRTIMP int __cdecl _wcsnicmp (const wchar_t*, const wchar_t*, size_t);
-_CRTIMP wchar_t* __cdecl _wcsnset (wchar_t*, wchar_t, size_t);
-_CRTIMP wchar_t* __cdecl _wcsrev (wchar_t*);
-_CRTIMP wchar_t* __cdecl _wcsset (wchar_t*, wchar_t);
-_CRTIMP wchar_t* __cdecl _wcsupr (wchar_t*);
-
-#ifdef __MSVCRT__
-_CRTIMP int __cdecl _wcsncoll(const wchar_t*, const wchar_t*, size_t);
-_CRTIMP int __cdecl _wcsnicoll(const wchar_t*, const wchar_t*, size_t);
-#if __MSVCRT_VERSION__ >= 0x0700
-_CRTIMP wchar_t* __cdecl _wcserror(int);
-_CRTIMP wchar_t* __cdecl __wcserror(const wchar_t*);
-#endif
-#endif
-
-#ifndef _NO_OLDNAMES
-/* NOTE: There is no _wcscmpi, but this is for compatibility. */
-int __cdecl wcscmpi (const wchar_t * __ws1, const wchar_t * __ws2);
-__CRT_INLINE int __cdecl
-wcscmpi (const wchar_t * __ws1, const wchar_t * __ws2)
- {return _wcsicmp (__ws1, __ws2);}
-_CRTIMP wchar_t* __cdecl wcsdup (const wchar_t*);
-_CRTIMP int __cdecl wcsicmp (const wchar_t*, const wchar_t*);
-_CRTIMP int __cdecl wcsicoll (const wchar_t*, const wchar_t*);
-_CRTIMP wchar_t* __cdecl wcslwr (wchar_t*);
-_CRTIMP int __cdecl wcsnicmp (const wchar_t*, const wchar_t*, size_t);
-_CRTIMP wchar_t* __cdecl wcsnset (wchar_t*, wchar_t, size_t);
-_CRTIMP wchar_t* __cdecl wcsrev (wchar_t*);
-_CRTIMP wchar_t* __cdecl wcsset (wchar_t*, wchar_t);
-_CRTIMP wchar_t* __cdecl wcsupr (wchar_t*);
-#endif /* Not _NO_OLDNAMES */
-
-#endif /* Not strict ANSI */
-
-#define _WSTRING_DEFINED
-#endif /* _WSTRING_DEFINED */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* Not RC_INVOKED */
-
-#endif /* Not _STRING_H_ */
diff --git a/winsup/mingw/include/strings.h b/winsup/mingw/include/strings.h
deleted file mode 100644
index 2a777c2d7..000000000
--- a/winsup/mingw/include/strings.h
+++ /dev/null
@@ -1,12 +0,0 @@
-/*
- File: strings.h
- Copyright: Public Domain
-
- This file is provided because non ANSI fuctions are described in string.h
- that belong in strings.h. These functions are provided for in the OLDNAME
- libraries.
-*/
-#if !defined(_STRINGS_H_)
-# define _STRINGS_H_ 1
-# include <string.h>
-#endif
diff --git a/winsup/mingw/include/sys/fcntl.h b/winsup/mingw/include/sys/fcntl.h
deleted file mode 100644
index a2090bc82..000000000
--- a/winsup/mingw/include/sys/fcntl.h
+++ /dev/null
@@ -1,7 +0,0 @@
-/*
- * This file is part of the Mingw32 package.
- *
- * This fcntl.h maps to the root fcntl.h
- */
-
-#include <fcntl.h>
diff --git a/winsup/mingw/include/sys/file.h b/winsup/mingw/include/sys/file.h
deleted file mode 100644
index e95654c09..000000000
--- a/winsup/mingw/include/sys/file.h
+++ /dev/null
@@ -1,7 +0,0 @@
-/*
- * This file is part of the Mingw32 package.
- *
- * This file.h maps to the root fcntl.h
- * TODO?
- */
-#include <fcntl.h>
diff --git a/winsup/mingw/include/sys/locking.h b/winsup/mingw/include/sys/locking.h
deleted file mode 100644
index eee5e3c54..000000000
--- a/winsup/mingw/include/sys/locking.h
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * locking.h
- * This file has no copyright assigned and is placed in the Public Domain.
- * This file is a part of the mingw-runtime package.
- * No warranty is given; refer to the file DISCLAIMER within the package.
- *
- * Constants for the mode parameter of the locking function.
- *
- */
-
-#ifndef _LOCKING_H_
-#define _LOCKING_H_
-
-/* All the headers include this file. */
-#include <_mingw.h>
-
-#define _LK_UNLCK 0 /* Unlock */
-#define _LK_LOCK 1 /* Lock */
-#define _LK_NBLCK 2 /* Non-blocking lock */
-#define _LK_RLCK 3 /* Lock for read only */
-#define _LK_NBRLCK 4 /* Non-blocking lock for read only */
-
-#ifndef NO_OLDNAMES
-#define LK_UNLCK _LK_UNLCK
-#define LK_LOCK _LK_LOCK
-#define LK_NBLCK _LK_NBLCK
-#define LK_RLCK _LK_RLCK
-#define LK_NBRLCK _LK_NBRLCK
-#endif /* Not NO_OLDNAMES */
-
-#endif /* Not _LOCKING_H_ */
diff --git a/winsup/mingw/include/sys/param.h b/winsup/mingw/include/sys/param.h
deleted file mode 100644
index 74966bd78..000000000
--- a/winsup/mingw/include/sys/param.h
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- * param.h
- * This file has no copyright assigned and is placed in the Public Domain.
- * This file is a part of the mingw-runtime package.
- * No warranty is given; refer to the file DISCLAIMER within the package.
- *
- */
-
-#ifndef _SYS_PARAM_H
-#define _SYS_PARAM_H
-
-#include <sys/types.h>
-#include <limits.h>
-
-/* These are useful for cross-compiling */
-#define BIG_ENDIAN 4321
-#define LITTLE_ENDIAN 1234
-#define BYTE_ORDER LITTLE_ENDIAN
-
-#define MAXPATHLEN PATH_MAX
-
-#endif
diff --git a/winsup/mingw/include/sys/stat.h b/winsup/mingw/include/sys/stat.h
deleted file mode 100644
index e0d01eb11..000000000
--- a/winsup/mingw/include/sys/stat.h
+++ /dev/null
@@ -1,195 +0,0 @@
-/*
- * stat.h
- * This file has no copyright assigned and is placed in the Public Domain.
- * This file is a part of the mingw-runtime package.
- * No warranty is given; refer to the file DISCLAIMER within the package.
- *
- * Symbolic constants for opening and creating files, also stat, fstat and
- * chmod functions.
- *
- */
-
-#ifndef _STAT_H_
-#define _STAT_H_
-
-/* All the headers include this file. */
-#include <_mingw.h>
-
-#define __need_size_t
-#define __need_wchar_t
-#ifndef RC_INVOKED
-#include <stddef.h>
-#endif /* Not RC_INVOKED */
-
-#include <sys/types.h>
-
-/*
- * Constants for the stat st_mode member.
- */
-#define _S_IFIFO 0x1000 /* FIFO */
-#define _S_IFCHR 0x2000 /* Character */
-#define _S_IFBLK 0x3000 /* Block: Is this ever set under w32? */
-#define _S_IFDIR 0x4000 /* Directory */
-#define _S_IFREG 0x8000 /* Regular */
-
-#define _S_IFMT 0xF000 /* File type mask */
-
-#define _S_IEXEC 0x0040
-#define _S_IWRITE 0x0080
-#define _S_IREAD 0x0100
-
-#define _S_IRWXU (_S_IREAD | _S_IWRITE | _S_IEXEC)
-#define _S_IXUSR _S_IEXEC
-#define _S_IWUSR _S_IWRITE
-#define _S_IRUSR _S_IREAD
-
-#define _S_ISDIR(m) (((m) & _S_IFMT) == _S_IFDIR)
-#define _S_ISFIFO(m) (((m) & _S_IFMT) == _S_IFIFO)
-#define _S_ISCHR(m) (((m) & _S_IFMT) == _S_IFCHR)
-#define _S_ISBLK(m) (((m) & _S_IFMT) == _S_IFBLK)
-#define _S_ISREG(m) (((m) & _S_IFMT) == _S_IFREG)
-
-#ifndef _NO_OLDNAMES
-
-#define S_IFIFO _S_IFIFO
-#define S_IFCHR _S_IFCHR
-#define S_IFBLK _S_IFBLK
-#define S_IFDIR _S_IFDIR
-#define S_IFREG _S_IFREG
-#define S_IFMT _S_IFMT
-#define S_IEXEC _S_IEXEC
-#define S_IWRITE _S_IWRITE
-#define S_IREAD _S_IREAD
-#define S_IRWXU _S_IRWXU
-#define S_IXUSR _S_IXUSR
-#define S_IWUSR _S_IWUSR
-#define S_IRUSR _S_IRUSR
-
-#define S_ISDIR(m) (((m) & S_IFMT) == S_IFDIR)
-#define S_ISFIFO(m) (((m) & S_IFMT) == S_IFIFO)
-#define S_ISCHR(m) (((m) & S_IFMT) == S_IFCHR)
-#define S_ISBLK(m) (((m) & S_IFMT) == S_IFBLK)
-#define S_ISREG(m) (((m) & S_IFMT) == S_IFREG)
-
-#endif /* Not _NO_OLDNAMES */
-
-#ifndef RC_INVOKED
-
-#ifndef _STAT_DEFINED
-/*
- * The structure manipulated and returned by stat and fstat.
- *
- * NOTE: If called on a directory the values in the time fields are not only
- * invalid, they will cause localtime et. al. to return NULL. And calling
- * asctime with a NULL pointer causes an Invalid Page Fault. So watch it!
- */
-struct _stat
-{
- _dev_t st_dev; /* Equivalent to drive number 0=A 1=B ... */
- _ino_t st_ino; /* Always zero ? */
- _mode_t st_mode; /* See above constants */
- short st_nlink; /* Number of links. */
- short st_uid; /* User: Maybe significant on NT ? */
- short st_gid; /* Group: Ditto */
- _dev_t st_rdev; /* Seems useless (not even filled in) */
- _off_t st_size; /* File size in bytes */
- time_t st_atime; /* Accessed date (always 00:00 hrs local
- * on FAT) */
- time_t st_mtime; /* Modified time */
- time_t st_ctime; /* Creation time */
-};
-
-#ifndef _NO_OLDNAMES
-/* NOTE: Must be the same as _stat above. */
-struct stat
-{
- _dev_t st_dev; /* Equivalent to drive number 0=A 1=B ... */
- _ino_t st_ino; /* Always zero ? */
- _mode_t st_mode; /* See above constants */
- short st_nlink; /* Number of links. */
- short st_uid; /* User: Maybe significant on NT ? */
- short st_gid; /* Group: Ditto */
- _dev_t st_rdev; /* Seems useless (not even filled in) */
- _off_t st_size; /* File size in bytes */
- time_t st_atime; /* Accessed date (always 00:00 hrs local
- * on FAT) */
- time_t st_mtime; /* Modified time */
- time_t st_ctime; /* Creation time */
-};
-#endif /* _NO_OLDNAMES */
-
-#if defined (__MSVCRT__)
-struct _stati64 {
- _dev_t st_dev;
- _ino_t st_ino;
- unsigned short st_mode;
- short st_nlink;
- short st_uid;
- short st_gid;
- _dev_t st_rdev;
- __int64 st_size;
- time_t st_atime;
- time_t st_mtime;
- time_t st_ctime;
-};
-
-struct __stat64
-{
- _dev_t st_dev;
- _ino_t st_ino;
- _mode_t st_mode;
- short st_nlink;
- short st_uid;
- short st_gid;
- _dev_t st_rdev;
- __int64 st_size;
- __time64_t st_atime;
- __time64_t st_mtime;
- __time64_t st_ctime;
-};
-#endif /* __MSVCRT__ */
-#define _STAT_DEFINED
-#endif /* _STAT_DEFINED */
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-_CRTIMP int __cdecl _fstat (int, struct _stat*);
-_CRTIMP int __cdecl _chmod (const char*, int);
-_CRTIMP int __cdecl _stat (const char*, struct _stat*);
-
-#ifndef _NO_OLDNAMES
-
-/* These functions live in liboldnames.a. */
-_CRTIMP int __cdecl fstat (int, struct stat*);
-_CRTIMP int __cdecl chmod (const char*, int);
-_CRTIMP int __cdecl stat (const char*, struct stat*);
-
-#endif /* Not _NO_OLDNAMES */
-
-#if defined (__MSVCRT__)
-_CRTIMP int __cdecl _fstati64(int, struct _stati64 *);
-_CRTIMP int __cdecl _stati64(const char *, struct _stati64 *);
-/* These require newer versions of msvcrt.dll (6.10 or higher). */
-#if __MSVCRT_VERSION__ >= 0x0601
-_CRTIMP int __cdecl _fstat64 (int, struct __stat64*);
-_CRTIMP int __cdecl _stat64 (const char*, struct __stat64*);
-#endif /* __MSVCRT_VERSION__ >= 0x0601 */
-#if !defined ( _WSTAT_DEFINED) /* also declared in wchar.h */
-_CRTIMP int __cdecl _wstat(const wchar_t*, struct _stat*);
-_CRTIMP int __cdecl _wstati64 (const wchar_t*, struct _stati64*);
-#if __MSVCRT_VERSION__ >= 0x0601
-_CRTIMP int __cdecl _wstat64 (const wchar_t*, struct __stat64*);
-#endif /* __MSVCRT_VERSION__ >= 0x0601 */
-#define _WSTAT_DEFINED
-#endif /* _WSTAT_DEFIND */
-#endif /* __MSVCRT__ */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* Not RC_INVOKED */
-
-#endif /* Not _STAT_H_ */
diff --git a/winsup/mingw/include/sys/time.h b/winsup/mingw/include/sys/time.h
deleted file mode 100644
index bcd550945..000000000
--- a/winsup/mingw/include/sys/time.h
+++ /dev/null
@@ -1,16 +0,0 @@
-
-#include <time.h>
-
-#ifndef _TIMEVAL_DEFINED /* also in winsock[2].h */
-#define _TIMEVAL_DEFINED
-struct timeval {
- long tv_sec;
- long tv_usec;
-};
-#define timerisset(tvp) ((tvp)->tv_sec || (tvp)->tv_usec)
-#define timercmp(tvp, uvp, cmp) \
- (((tvp)->tv_sec != (uvp)->tv_sec) ? \
- ((tvp)->tv_sec cmp (uvp)->tv_sec) : \
- ((tvp)->tv_usec cmp (uvp)->tv_usec))
-#define timerclear(tvp) (tvp)->tv_sec = (tvp)->tv_usec = 0
-#endif /* _TIMEVAL_DEFINED */
diff --git a/winsup/mingw/include/sys/timeb.h b/winsup/mingw/include/sys/timeb.h
deleted file mode 100644
index 4cb4b2e37..000000000
--- a/winsup/mingw/include/sys/timeb.h
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * timeb.h
- * This file has no copyright assigned and is placed in the Public Domain.
- * This file is a part of the mingw-runtime package.
- * No warranty is given; refer to the file DISCLAIMER within the package.
- *
- * Support for the UNIX System V ftime system call.
- *
- */
-
-#ifndef _TIMEB_H_
-#define _TIMEB_H_
-
-/* All the headers include this file. */
-#include <_mingw.h>
-#include <sys/types.h>
-
-#ifndef RC_INVOKED
-
-/*
- * TODO: Structure not tested.
- */
-struct _timeb
-{
- long time;
- short millitm;
- short timezone;
- short dstflag;
-};
-
-#ifndef _NO_OLDNAMES
-/*
- * TODO: Structure not tested.
- */
-struct timeb
-{
- long time;
- short millitm;
- short timezone;
- short dstflag;
-};
-#endif
-
-struct __timeb64
-{
- __time64_t time;
- short millitm;
- short timezone;
- short dstflag;
-};
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* TODO: Not tested. */
-_CRTIMP void __cdecl _ftime (struct _timeb*);
-
-#ifndef _NO_OLDNAMES
-_CRTIMP void __cdecl ftime (struct timeb*);
-#endif /* Not _NO_OLDNAMES */
-
-/* This requires newer versions of msvcrt.dll (6.10 or higher). */
-#if __MSVCRT_VERSION__ >= 0x0601
-_CRTIMP void __cdecl _ftime64 (struct __timeb64*);
-#endif /* __MSVCRT_VERSION__ >= 0x0601 */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* Not RC_INVOKED */
-
-#endif /* Not _TIMEB_H_ */
diff --git a/winsup/mingw/include/sys/types.h b/winsup/mingw/include/sys/types.h
deleted file mode 100644
index 2bc04e755..000000000
--- a/winsup/mingw/include/sys/types.h
+++ /dev/null
@@ -1,120 +0,0 @@
-/*
- * types.h
- * This file has no copyright assigned and is placed in the Public Domain.
- * This file is a part of the mingw-runtime package.
- * No warranty is given; refer to the file DISCLAIMER within the package.
- *
- * The definition of constants, data types and global variables.
- *
- */
-
-#ifndef _TYPES_H_
-#define _TYPES_H_
-
-/* All the headers include this file. */
-#include <_mingw.h>
-
-#define __need_wchar_t
-#define __need_size_t
-#define __need_ptrdiff_t
-#ifndef RC_INVOKED
-#include <stddef.h>
-#endif /* Not RC_INVOKED */
-
-#ifndef RC_INVOKED
-
-#ifndef _TIME_T_DEFINED
-typedef long time_t;
-#define _TIME_T_DEFINED
-#endif
-
-#ifndef _TIME64_T_DEFINED
-typedef __int64 __time64_t;
-#define _TIME64_T_DEFINED
-#endif
-
-#ifndef _OFF_T_
-#define _OFF_T_
-typedef long _off_t;
-
-#ifndef _NO_OLDNAMES
-typedef _off_t off_t;
-#endif
-#endif /* Not _OFF_T_ */
-
-
-#ifndef _DEV_T_
-#define _DEV_T_
-#ifdef __MSVCRT__
-typedef unsigned int _dev_t;
-#else
-typedef short _dev_t;
-#endif
-
-#ifndef _NO_OLDNAMES
-typedef _dev_t dev_t;
-#endif
-#endif /* Not _DEV_T_ */
-
-
-#ifndef _INO_T_
-#define _INO_T_
-typedef short _ino_t;
-
-#ifndef _NO_OLDNAMES
-typedef _ino_t ino_t;
-#endif
-#endif /* Not _INO_T_ */
-
-
-#ifndef _PID_T_
-#define _PID_T_
-typedef int _pid_t;
-
-#ifndef _NO_OLDNAMES
-typedef _pid_t pid_t;
-#endif
-#endif /* Not _PID_T_ */
-
-
-#ifndef _MODE_T_
-#define _MODE_T_
-typedef unsigned short _mode_t;
-
-#ifndef _NO_OLDNAMES
-typedef _mode_t mode_t;
-#endif
-#endif /* Not _MODE_T_ */
-
-
-#ifndef _SIGSET_T_
-#define _SIGSET_T_
-typedef int _sigset_t;
-
-#ifndef _NO_OLDNAMES
-typedef _sigset_t sigset_t;
-#endif
-#endif /* Not _SIGSET_T_ */
-
-#ifndef _SSIZE_T_
-#define _SSIZE_T_
-typedef long _ssize_t;
-
-#ifndef _NO_OLDNAMES
-typedef _ssize_t ssize_t;
-#endif
-#endif /* Not _SSIZE_T_ */
-
-#ifndef _FPOS64_T_
-#define _FPOS64_T_
-typedef long long fpos64_t;
-#endif
-
-#ifndef _OFF64_T_
-#define _OFF64_T_
-typedef long long off64_t;
-#endif
-
-#endif /* Not RC_INVOKED */
-
-#endif /* Not _TYPES_H_ */
diff --git a/winsup/mingw/include/sys/unistd.h b/winsup/mingw/include/sys/unistd.h
deleted file mode 100644
index 39eac4a90..000000000
--- a/winsup/mingw/include/sys/unistd.h
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
- * This file is part of the Mingw32 package.
- *
- * unistd.h maps (roughly) to io.h
- */
-#include <io.h>
diff --git a/winsup/mingw/include/sys/utime.h b/winsup/mingw/include/sys/utime.h
deleted file mode 100644
index 75cfeb45a..000000000
--- a/winsup/mingw/include/sys/utime.h
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * utime.h
- * This file has no copyright assigned and is placed in the Public Domain.
- * This file is a part of the mingw-runtime package.
- * No warranty is given; refer to the file DISCLAIMER within the package.
- *
- * Support for the utime function.
- *
- */
-#ifndef _UTIME_H_
-#define _UTIME_H_
-
-/* All the headers include this file. */
-#include <_mingw.h>
-
-#define __need_wchar_t
-#define __need_size_t
-#ifndef RC_INVOKED
-#include <stddef.h>
-#endif /* Not RC_INVOKED */
-#include <sys/types.h>
-
-#ifndef RC_INVOKED
-
-/*
- * Structure used by _utime function.
- */
-struct _utimbuf
-{
- time_t actime; /* Access time */
- time_t modtime; /* Modification time */
-};
-
-
-#ifndef _NO_OLDNAMES
-/* NOTE: Must be the same as _utimbuf above. */
-struct utimbuf
-{
- time_t actime;
- time_t modtime;
-};
-#endif /* Not _NO_OLDNAMES */
-
-struct __utimbuf64
-{
- __time64_t actime;
- __time64_t modtime;
-};
-
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-_CRTIMP int __cdecl _utime (const char*, struct _utimbuf*);
-
-#ifndef _NO_OLDNAMES
-_CRTIMP int __cdecl utime (const char*, struct utimbuf*);
-#endif /* Not _NO_OLDNAMES */
-
-_CRTIMP int __cdecl _futime (int, struct _utimbuf*);
-
-/* The wide character version, only available for MSVCRT versions of the
- * C runtime library. */
-#ifdef __MSVCRT__
-_CRTIMP int __cdecl _wutime (const wchar_t*, struct _utimbuf*);
-#endif /* MSVCRT runtime */
-
-/* These require newer versions of msvcrt.dll (6.10 or higher). */
-#if __MSVCRT_VERSION__ >= 0x0601
-_CRTIMP int __cdecl _utime64 (const char*, struct __utimbuf64*);
-_CRTIMP int __cdecl _wutime64 (const wchar_t*, struct __utimbuf64*);
-_CRTIMP int __cdecl _futime64 (int, struct __utimbuf64*);
-#endif /* __MSVCRT_VERSION__ >= 0x0601 */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* Not RC_INVOKED */
-
-#endif /* Not _UTIME_H_ */
diff --git a/winsup/mingw/include/tchar.h b/winsup/mingw/include/tchar.h
deleted file mode 100644
index a07d75f45..000000000
--- a/winsup/mingw/include/tchar.h
+++ /dev/null
@@ -1,418 +0,0 @@
-/*
- * tchar.h
- * This file has no copyright assigned and is placed in the Public Domain.
- * This file is a part of the mingw-runtime package.
- * No warranty is given; refer to the file DISCLAIMER within the package.
- *
- * Unicode mapping layer for the standard C library. By including this
- * file and using the 't' names for string functions
- * (eg. _tprintf) you can make code which can be easily adapted to both
- * Unicode and non-unicode environments. In a unicode enabled compile define
- * _UNICODE before including tchar.h, otherwise the standard non-unicode
- * library functions will be used.
- *
- * Note that you still need to include string.h or stdlib.h etc. to define
- * the appropriate functions. Also note that there are several defines
- * included for non-ANSI functions which are commonly available (but using
- * the convention of prepending an underscore to non-ANSI library function
- * names).
- *
- */
-
-#ifndef _TCHAR_H_
-#define _TCHAR_H_
-
-/* All the headers include this file. */
-#include <_mingw.h>
-
-/*
- * NOTE: This tests _UNICODE, which is different from the UNICODE define
- * used to differentiate Win32 API calls.
- */
-#ifdef _UNICODE
-
-/*
- * Include <wchar.h> for wchar_t and WEOF if _UNICODE.
- */
-#include <wchar.h>
-
-/*
- * Use TCHAR instead of char or wchar_t. It will be appropriately translated
- * if _UNICODE is correctly defined (or not).
- */
-#ifndef _TCHAR_DEFINED
-#ifndef RC_INVOKED
-typedef wchar_t TCHAR;
-typedef wchar_t _TCHAR;
-#endif /* Not RC_INVOKED */
-#define _TCHAR_DEFINED
-#endif
-
-/*
- * Use _TEOF instead of EOF or WEOF. It will be appropriately translated if
- * _UNICODE is correctly defined (or not).
- */
-#define _TEOF WEOF
-
-/*
- * __TEXT is a private macro whose specific use is to force the expansion of a
- * macro passed as an argument to the macros _T or _TEXT. DO NOT use this
- * macro within your programs. It's name and function could change without
- * notice.
- */
-#define __TEXT(q) L##q
-
-/* for porting from other Windows compilers */
-#if 0 /* no wide startup module */
-#define _tmain wmain
-#define _tWinMain wWinMain
-#define _tenviron _wenviron
-#define __targv __wargv
-#endif
-
-/*
- * Unicode functions
- */
-#define _tprintf wprintf
-#define _ftprintf fwprintf
-#define _stprintf swprintf
-#define _sntprintf _snwprintf
-#define _vtprintf vwprintf
-#define _vftprintf vfwprintf
-#define _vstprintf vswprintf
-#define _vsntprintf _vsnwprintf
-#define _tscanf wscanf
-#define _ftscanf fwscanf
-#define _stscanf swscanf
-#define _fgettc fgetwc
-#define _fgettchar _fgetwchar
-#define _fgetts fgetws
-#define _fputtc fputwc
-#define _fputtchar _fputwchar
-#define _fputts fputws
-#define _gettc getwc
-#define _getts _getws
-#define _puttc putwc
-#define _puttchar putwchar
-#define _putts _putws
-#define _ungettc ungetwc
-#define _tcstod wcstod
-#define _tcstol wcstol
-#define _tcstoul wcstoul
-#define _itot _itow
-#define _ltot _ltow
-#define _ultot _ultow
-#define _ttoi _wtoi
-#define _ttol _wtol
-#define _tcscat wcscat
-#define _tcschr wcschr
-#define _tcscmp wcscmp
-#define _tcscpy wcscpy
-#define _tcscspn wcscspn
-#define _tcslen wcslen
-#define _tcsncat wcsncat
-#define _tcsncmp wcsncmp
-#define _tcsncpy wcsncpy
-#define _tcspbrk wcspbrk
-#define _tcsrchr wcsrchr
-#define _tcsspn wcsspn
-#define _tcsstr wcsstr
-#define _tcstok wcstok
-#define _tcsdup _wcsdup
-#define _tcsicmp _wcsicmp
-#define _tcsnicmp _wcsnicmp
-#define _tcsnset _wcsnset
-#define _tcsrev _wcsrev
-#define _tcsset _wcsset
-#define _tcslwr _wcslwr
-#define _tcsupr _wcsupr
-#define _tcsxfrm wcsxfrm
-#define _tcscoll wcscoll
-#define _tcsicoll _wcsicoll
-#define _istalpha iswalpha
-#define _istupper iswupper
-#define _istlower iswlower
-#define _istdigit iswdigit
-#define _istxdigit iswxdigit
-#define _istspace iswspace
-#define _istpunct iswpunct
-#define _istalnum iswalnum
-#define _istprint iswprint
-#define _istgraph iswgraph
-#define _istcntrl iswcntrl
-#define _istascii iswascii
-#define _totupper towupper
-#define _totlower towlower
-#define _tcsftime wcsftime
-/* Macro functions */
-#define _tcsdec _wcsdec
-#define _tcsinc _wcsinc
-#define _tcsnbcnt _wcsncnt
-#define _tcsnccnt _wcsncnt
-#define _tcsnextc _wcsnextc
-#define _tcsninc _wcsninc
-#define _tcsspnp _wcsspnp
-#define _wcsdec(_wcs1, _wcs2) ((_wcs1)>=(_wcs2) ? NULL : (_wcs2)-1)
-#define _wcsinc(_wcs) ((_wcs)+1)
-#define _wcsnextc(_wcs) ((unsigned int) *(_wcs))
-#define _wcsninc(_wcs, _inc) (((_wcs)+(_inc)))
-#define _wcsncnt(_wcs, _cnt) ((wcslen(_wcs)>_cnt) ? _count : wcslen(_wcs))
-#define _wcsspnp(_wcs1, _wcs2) ((*((_wcs1)+wcsspn(_wcs1,_wcs2))) ? ((_wcs1)+wcsspn(_wcs1,_wcs2)) : NULL)
-
-#if 1 /* defined __MSVCRT__ */
-/*
- * These wide functions not in crtdll.dll.
- * Define macros anyway so that _wfoo rather than _tfoo is undefined
- */
-#define _ttoi64 _wtoi64
-#define _i64tot _i64tow
-#define _ui64tot _ui64tow
-#define _tasctime _wasctime
-#define _tctime _wctime
-#define _tstrdate _wstrdate
-#define _tstrtime _wstrtime
-#define _tutime _wutime
-#define _tcsnccoll _wcsncoll
-#define _tcsncoll _wcsncoll
-#define _tcsncicoll _wcsnicoll
-#define _tcsnicoll _wcsnicoll
-#define _taccess _waccess
-#define _tchmod _wchmod
-#define _tcreat _wcreat
-#define _tfindfirst _wfindfirst
-#define _tfindnext _wfindnext
-#define _tfdopen _wfdopen
-#define _tfopen _wfopen
-#define _tfreopen _wfreopen
-#define _tfsopen _wfsopen
-#define _tgetenv _wgetenv
-#define _tputenv _wputenv
-#define _tsearchenv _wsearchenv
-#define _tmakepath _wmakepath
-#define _tsplitpath _wsplitpath
-#define _tfullpath _wfullpath
-#define _tmktemp _wmktemp
-#define _topen _wopen
-#define _tremove _wremove
-#define _trename _wrename
-#define _tsopen _wsopen
-#define _tsetlocale _wsetlocale
-#define _tunlink _wunlink
-#define _tfinddata_t _wfinddata_t
-#define _tfindfirsti64 _wfindfirsti64
-#define _tfindnexti64 _wfindnexti64
-#define _tfinddatai64_t _wfinddatai64_t
-#define _tchdir _wchdir
-#define _tgetcwd _wgetcwd
-#define _tgetdcwd _wgetdcwd
-#define _tmkdir _wmkdir
-#define _trmdir _wrmdir
-#define _tstat _wstat
-#define _tstati64 _wstati64
-#define _tstat64 _wstat64
-#endif /* __MSVCRT__ */
-
-/* dirent structures and functions */
-#define _tdirent _wdirent
-#define _TDIR _WDIR
-#define _topendir _wopendir
-#define _tclosedir _wclosedir
-#define _treaddir _wreaddir
-#define _trewinddir _wrewinddir
-#define _ttelldir _wtelldir
-#define _tseekdir _wseekdir
-
-#else /* Not _UNICODE */
-
-/*
- * TCHAR, the type you should use instead of char.
- */
-#ifndef _TCHAR_DEFINED
-#ifndef RC_INVOKED
-typedef char TCHAR;
-typedef char _TCHAR;
-#endif
-#define _TCHAR_DEFINED
-#endif
-
-/*
- * _TEOF, the constant you should use instead of EOF.
- */
-#define _TEOF EOF
-
-/*
- * __TEXT is a private macro whose specific use is to force the expansion of a
- * macro passed as an argument to the macros _T or _TEXT. DO NOT use this
- * macro within your programs. It's name and function could change without
- * notice.
- */
-#define __TEXT(q) q
-
-/* for porting from other Windows compilers */
-#define _tmain main
-#define _tWinMain WinMain
-#define _tenviron _environ
-#define __targv __argv
-
-/*
- * Non-unicode (standard) functions
- */
-
-#define _tprintf printf
-#define _ftprintf fprintf
-#define _stprintf sprintf
-#define _sntprintf _snprintf
-#define _vtprintf vprintf
-#define _vftprintf vfprintf
-#define _vstprintf vsprintf
-#define _vsntprintf _vsnprintf
-#define _tscanf scanf
-#define _ftscanf fscanf
-#define _stscanf sscanf
-#define _fgettc fgetc
-#define _fgettchar _fgetchar
-#define _fgetts fgets
-#define _fputtc fputc
-#define _fputtchar _fputchar
-#define _fputts fputs
-#define _tfdopen _fdopen
-#define _tfopen fopen
-#define _tfreopen freopen
-#define _tfsopen _fsopen
-#define _tgetenv getenv
-#define _tputenv _putenv
-#define _tsearchenv _searchenv
-#define _tmakepath _makepath
-#define _tsplitpath _splitpath
-#define _tfullpath _fullpath
-#define _gettc getc
-#define _getts gets
-#define _puttc putc
-#define _puttchar putchar
-#define _putts puts
-#define _ungettc ungetc
-#define _tcstod strtod
-#define _tcstol strtol
-#define _tcstoul strtoul
-#define _itot _itoa
-#define _ltot _ltoa
-#define _ultot _ultoa
-#define _ttoi atoi
-#define _ttol atol
-#define _tcscat strcat
-#define _tcschr strchr
-#define _tcscmp strcmp
-#define _tcscpy strcpy
-#define _tcscspn strcspn
-#define _tcslen strlen
-#define _tcsncat strncat
-#define _tcsncmp strncmp
-#define _tcsncpy strncpy
-#define _tcspbrk strpbrk
-#define _tcsrchr strrchr
-#define _tcsspn strspn
-#define _tcsstr strstr
-#define _tcstok strtok
-#define _tcsdup _strdup
-#define _tcsicmp _stricmp
-#define _tcsnicmp _strnicmp
-#define _tcsnset _strnset
-#define _tcsrev _strrev
-#define _tcsset _strset
-#define _tcslwr _strlwr
-#define _tcsupr _strupr
-#define _tcsxfrm strxfrm
-#define _tcscoll strcoll
-#define _tcsicoll _stricoll
-#define _istalpha isalpha
-#define _istupper isupper
-#define _istlower islower
-#define _istdigit isdigit
-#define _istxdigit isxdigit
-#define _istspace isspace
-#define _istpunct ispunct
-#define _istalnum isalnum
-#define _istprint isprint
-#define _istgraph isgraph
-#define _istcntrl iscntrl
-#define _istascii isascii
-#define _totupper toupper
-#define _totlower tolower
-#define _tasctime asctime
-#define _tctime ctime
-#define _tstrdate _strdate
-#define _tstrtime _strtime
-#define _tutime _utime
-#define _tcsftime strftime
-/* Macro functions */
-#define _tcsdec _strdec
-#define _tcsinc _strinc
-#define _tcsnbcnt _strncnt
-#define _tcsnccnt _strncnt
-#define _tcsnextc _strnextc
-#define _tcsninc _strninc
-#define _tcsspnp _strspnp
-#define _strdec(_str1, _str2) ((_str1)>=(_str2) ? NULL : (_str2)-1)
-#define _strinc(_str) ((_str)+1)
-#define _strnextc(_str) ((unsigned int) *(_str))
-#define _strninc(_str, _inc) (((_str)+(_inc)))
-#define _strncnt(_str, _cnt) ((strlen(_str)>_cnt) ? _count : strlen(_str))
-#define _strspnp(_str1, _str2) ((*((_str1)+strspn(_str1,_str2))) ? ((_str1)+strspn(_str1,_str2)) : NULL)
-
-#define _tchmod _chmod
-#define _tcreat _creat
-#define _tfindfirst _findfirst
-#define _tfindnext _findnext
-#define _tmktemp _mktemp
-#define _topen _open
-#define _taccess _access
-#define _tremove remove
-#define _trename rename
-#define _tsopen _sopen
-#define _tsetlocale setlocale
-#define _tunlink _unlink
-#define _tfinddata_t _finddata_t
-#define _tchdir _chdir
-#define _tgetcwd _getcwd
-#define _tgetdcwd _getdcwd
-#define _tmkdir _mkdir
-#define _trmdir _rmdir
-#define _tstat _stat
-
-#if 1 /* defined __MSVCRT__ */
-/* Not in crtdll.dll. Define macros anyway? */
-#define _ttoi64 _atoi64
-#define _i64tot _i64toa
-#define _ui64tot _ui64toa
-#define _tcsnccoll _strncoll
-#define _tcsncoll _strncoll
-#define _tcsncicoll _strnicoll
-#define _tcsnicoll _strnicoll
-#define _tfindfirsti64 _findfirsti64
-#define _tfindnexti64 _findnexti64
-#define _tfinddatai64_t _finddatai64_t
-#define _tstati64 _stati64
-#define _tstat64 _stat64
-#endif /* __MSVCRT__ */
-
-/* dirent structures and functions */
-#define _tdirent dirent
-#define _TDIR DIR
-#define _topendir opendir
-#define _tclosedir closedir
-#define _treaddir readdir
-#define _trewinddir rewinddir
-#define _ttelldir telldir
-#define _tseekdir seekdir
-
-#endif /* Not _UNICODE */
-
-/*
- * UNICODE a constant string when _UNICODE is defined else returns the string
- * unmodified. Also defined in w32api/winnt.h.
- */
-#define _TEXT(x) __TEXT(x)
-#define _T(x) __TEXT(x)
-
-#endif /* Not _TCHAR_H_ */
-
diff --git a/winsup/mingw/include/time.h b/winsup/mingw/include/time.h
deleted file mode 100644
index 2b41a8c6b..000000000
--- a/winsup/mingw/include/time.h
+++ /dev/null
@@ -1,217 +0,0 @@
-/*
- * time.h
- * This file has no copyright assigned and is placed in the Public Domain.
- * This file is a part of the mingw-runtime package.
- * No warranty is given; refer to the file DISCLAIMER within the package.
- *
- * Date and time functions and types.
- *
- */
-
-#ifndef _TIME_H_
-#define _TIME_H_
-
-/* All the headers include this file. */
-#include <_mingw.h>
-
-#define __need_wchar_t
-#define __need_size_t
-#define __need_NULL
-#ifndef RC_INVOKED
-#include <stddef.h>
-#endif /* Not RC_INVOKED */
-
-/*
- * Number of clock ticks per second. A clock tick is the unit by which
- * processor time is measured and is returned by 'clock'.
- */
-#define CLOCKS_PER_SEC ((clock_t)1000)
-#define CLK_TCK CLOCKS_PER_SEC
-
-
-#ifndef RC_INVOKED
-
-/*
- * A type for storing the current time and date. This is the number of
- * seconds since midnight Jan 1, 1970.
- * NOTE: This is also defined in non-ISO sys/types.h.
- */
-#ifndef _TIME_T_DEFINED
-typedef long time_t;
-#define _TIME_T_DEFINED
-#endif
-
-#ifndef __STRICT_ANSI__
-/* A 64-bit time_t to get to Y3K */
-#ifndef _TIME64_T_DEFINED
-typedef __int64 __time64_t;
-#define _TIME64_T_DEFINED
-#endif
-#endif
-/*
- * A type for measuring processor time (in clock ticks).
- */
-#ifndef _CLOCK_T_DEFINED
-typedef long clock_t;
-#define _CLOCK_T_DEFINED
-#endif
-
-#ifndef _TM_DEFINED
-/*
- * A structure for storing all kinds of useful information about the
- * current (or another) time.
- */
-struct tm
-{
- int tm_sec; /* Seconds: 0-59 (K&R says 0-61?) */
- int tm_min; /* Minutes: 0-59 */
- int tm_hour; /* Hours since midnight: 0-23 */
- int tm_mday; /* Day of the month: 1-31 */
- int tm_mon; /* Months *since* january: 0-11 */
- int tm_year; /* Years since 1900 */
- int tm_wday; /* Days since Sunday (0-6) */
- int tm_yday; /* Days since Jan. 1: 0-365 */
- int tm_isdst; /* +1 Daylight Savings Time, 0 No DST,
- * -1 don't know */
-};
-#define _TM_DEFINED
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-_CRTIMP clock_t __cdecl clock (void);
-_CRTIMP time_t __cdecl time (time_t*);
-_CRTIMP double __cdecl difftime (time_t, time_t);
-_CRTIMP time_t __cdecl mktime (struct tm*);
-
-/*
- * These functions write to and return pointers to static buffers that may
- * be overwritten by other function calls. Yikes!
- *
- * NOTE: localtime, and perhaps the others of the four functions grouped
- * below may return NULL if their argument is not 'acceptable'. Also note
- * that calling asctime with a NULL pointer will produce an Invalid Page
- * Fault and crap out your program. Guess how I know. Hint: stat called on
- * a directory gives 'invalid' times in st_atime etc...
- */
-_CRTIMP char* __cdecl asctime (const struct tm*);
-_CRTIMP char* __cdecl ctime (const time_t*);
-_CRTIMP struct tm* __cdecl gmtime (const time_t*);
-_CRTIMP struct tm* __cdecl localtime (const time_t*);
-
-_CRTIMP size_t __cdecl strftime (char*, size_t, const char*, const struct tm*);
-
-#ifndef __STRICT_ANSI__
-
-extern _CRTIMP void __cdecl _tzset (void);
-
-#ifndef _NO_OLDNAMES
-extern _CRTIMP void __cdecl tzset (void);
-#endif
-
-_CRTIMP char* __cdecl _strdate(char*);
-_CRTIMP char* __cdecl _strtime(char*);
-
-/* These require newer versions of msvcrt.dll (6.10 or higher). */
-#if __MSVCRT_VERSION__ >= 0x0601
-_CRTIMP __time64_t __cdecl _time64( __time64_t*);
-_CRTIMP __time64_t __cdecl _mktime64 (struct tm*);
-_CRTIMP char* __cdecl _ctime64 (const __time64_t*);
-_CRTIMP struct tm* __cdecl _gmtime64 (const __time64_t*);
-_CRTIMP struct tm* __cdecl _localtime64 (const __time64_t*);
-#endif /* __MSVCRT_VERSION__ >= 0x0601 */
-
-/*
- * _daylight: non zero if daylight savings time is used.
- * _timezone: difference in seconds between GMT and local time.
- * _tzname: standard/daylight savings time zone names (an array with two
- * elements).
- */
-#ifdef __MSVCRT__
-
-/* These are for compatibility with pre-VC 5.0 suppied MSVCRT. */
-extern _CRTIMP int* __cdecl __p__daylight (void);
-extern _CRTIMP long* __cdecl __p__timezone (void);
-extern _CRTIMP char** __cdecl __p__tzname (void);
-
-__MINGW_IMPORT int _daylight;
-__MINGW_IMPORT long _timezone;
-__MINGW_IMPORT char *_tzname[2];
-
-#else /* not __MSVCRT (ie. crtdll) */
-
-#ifndef __DECLSPEC_SUPPORTED
-
-extern int* _imp___daylight_dll;
-extern long* _imp___timezone_dll;
-extern char** _imp___tzname;
-
-#define _daylight (*_imp___daylight_dll)
-#define _timezone (*_imp___timezone_dll)
-#define _tzname (*_imp___tzname)
-
-#else /* __DECLSPEC_SUPPORTED */
-
-__MINGW_IMPORT int _daylight_dll;
-__MINGW_IMPORT long _timezone_dll;
-__MINGW_IMPORT char* _tzname[2];
-
-#define _daylight _daylight_dll
-#define _timezone _timezone_dll
-
-#endif /* __DECLSPEC_SUPPORTED */
-
-#endif /* not __MSVCRT__ */
-
-#ifndef _NO_OLDNAMES
-
-#ifdef __MSVCRT__
-
-/* These go in the oldnames import library for MSVCRT. */
-__MINGW_IMPORT int daylight;
-__MINGW_IMPORT long timezone;
-__MINGW_IMPORT char *tzname[2];
-
-#else /* not __MSVCRT__ */
-
-/* CRTDLL is royally messed up when it comes to these macros.
- TODO: import and alias these via oldnames import library instead
- of macros. */
-
-#define daylight _daylight
-/* NOTE: timezone not defined because it would conflict with sys/timeb.h.
- Also, tzname used to a be macro, but now it's in moldname. */
-__MINGW_IMPORT char *tzname[2];
-
-#endif /* not __MSVCRT__ */
-
-#endif /* Not _NO_OLDNAMES */
-#endif /* Not __STRICT_ANSI__ */
-
-#ifndef _WTIME_DEFINED
-/* wide function prototypes, also declared in wchar.h */
-#ifndef __STRICT_ANSI__
-#ifdef __MSVCRT__
-_CRTIMP wchar_t* __cdecl _wasctime(const struct tm*);
-_CRTIMP wchar_t* __cdecl _wctime(const time_t*);
-_CRTIMP wchar_t* __cdecl _wstrdate(wchar_t*);
-_CRTIMP wchar_t* __cdecl _wstrtime(wchar_t*);
-#if __MSVCRT_VERSION__ >= 0x0601
-_CRTIMP wchar_t* __cdecl _wctime64 (const __time64_t*);
-#endif
-#endif /* __MSVCRT__ */
-#endif /* __STRICT_ANSI__ */
-_CRTIMP size_t __cdecl wcsftime (wchar_t*, size_t, const wchar_t*, const struct tm*);
-#define _WTIME_DEFINED
-#endif /* _WTIME_DEFINED */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* Not RC_INVOKED */
-
-#endif /* Not _TIME_H_ */
-
diff --git a/winsup/mingw/include/unistd.h b/winsup/mingw/include/unistd.h
deleted file mode 100644
index f3a54495e..000000000
--- a/winsup/mingw/include/unistd.h
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * This file is part of the Mingw32 package.
- *
- * unistd.h maps (roughly) to io.h
- */
-
-#ifndef _UNISTD_H
-#define _UNISTD_H
-
-#include <io.h>
-#include <process.h>
-
-#define __UNISTD_GETOPT__
-#include <getopt.h>
-#undef __UNISTD_GETOPT__
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* This is defined as a real library function to allow autoconf
- to verify its existence. */
-int ftruncate(int, off_t);
-__CRT_INLINE int ftruncate(int __fd, off_t __length)
-{
- return _chsize (__fd, __length);
-}
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _UNISTD_H */
diff --git a/winsup/mingw/include/utime.h b/winsup/mingw/include/utime.h
deleted file mode 100644
index 8285f38fd..000000000
--- a/winsup/mingw/include/utime.h
+++ /dev/null
@@ -1 +0,0 @@
-#include <sys/utime.h>
diff --git a/winsup/mingw/include/values.h b/winsup/mingw/include/values.h
deleted file mode 100644
index 10e16a281..000000000
--- a/winsup/mingw/include/values.h
+++ /dev/null
@@ -1,4 +0,0 @@
-/*
- * TODO: Nothing here yet. Should provide UNIX compatibility constants
- * comparible to those in limits.h and float.h.
- */
diff --git a/winsup/mingw/include/varargs.h b/winsup/mingw/include/varargs.h
deleted file mode 100644
index c1197e97e..000000000
--- a/winsup/mingw/include/varargs.h
+++ /dev/null
@@ -1,7 +0,0 @@
-/*
- * This is just an RC_INVOKED guard for the real varargs.h
- * fixincluded in gcc system dir. One day we will delete this file.
- */
-#ifndef RC_INVOKED
-#include_next<varargs.h>
-#endif
diff --git a/winsup/mingw/include/wchar.h b/winsup/mingw/include/wchar.h
deleted file mode 100644
index 2f5c6a945..000000000
--- a/winsup/mingw/include/wchar.h
+++ /dev/null
@@ -1,475 +0,0 @@
-/*
- * wchar.h
- * This file has no copyright assigned and is placed in the Public Domain.
- * This file is a part of the mingw-runtime package.
- * No warranty is given; refer to the file DISCLAIMER within the package.
- *
- * Defines of all functions for supporting wide characters. Actually it
- * just includes all those headers, which is not a good thing to do from a
- * processing time point of view, but it does mean that everything will be
- * in sync.
- *
- */
-
-#ifndef _WCHAR_H_
-#define _WCHAR_H_
-
-/* All the headers include this file. */
-#include <_mingw.h>
-
-#ifndef RC_INVOKED
-
-#define __need_size_t
-#define __need_wint_t
-#define __need_wchar_t
-#define __need_NULL
-#include <stddef.h>
-
-#ifndef __VALIST
-#if defined __GNUC__ && __GNUC__ >= 3
-#define __need___va_list
-#include <stdarg.h>
-#define __VALIST __builtin_va_list
-#else
-#define __VALIST char*
-#endif
-#endif
-
-#endif /* Not RC_INVOKED */
-
-/*
- * MSDN says that isw* char classifications are in wchar.h and wctype.h.
- * Although the wctype names are ANSI, their exposure in this header is
- * not.
- */
-#include <wctype.h>
-
-#ifndef __STRICT_ANSI__
-/* This is necessary to support the the non-ANSI wchar declarations
- here. */
-#include <sys/types.h>
-#endif /* __STRICT_ANSI__ */
-
-#define WCHAR_MIN 0
-#define WCHAR_MAX 0xffff
-
-#ifndef WEOF
-#define WEOF (wchar_t)(0xFFFF)
-#endif
-
-#ifndef RC_INVOKED
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#ifndef _FILE_DEFINED /* Also in stdio.h */
-#define _FILE_DEFINED
-typedef struct _iobuf
-{
- char* _ptr;
- int _cnt;
- char* _base;
- int _flag;
- int _file;
- int _charbuf;
- int _bufsiz;
- char* _tmpfname;
-} FILE;
-#endif /* Not _FILE_DEFINED */
-
-#ifndef _TIME_T_DEFINED /* Also in time.h */
-typedef long time_t;
-#define _TIME_T_DEFINED
-#endif
-
-#ifndef _TM_DEFINED /* Also in time.h */
-struct tm {
- int tm_sec; /* seconds after the minute - [0,59] */
- int tm_min; /* minutes after the hour - [0,59] */
- int tm_hour; /* hours since midnight - [0,23] */
- int tm_mday; /* day of the month - [1,31] */
- int tm_mon; /* months since January - [0,11] */
- int tm_year; /* years since 1900 */
- int tm_wday; /* days since Sunday - [0,6] */
- int tm_yday; /* days since January 1 - [0,365] */
- int tm_isdst; /* daylight savings time flag */
- };
-#define _TM_DEFINED
-#endif
-
-#ifndef _WSTDIO_DEFINED
-/* Also in stdio.h - keep in sync */
-_CRTIMP int __cdecl fwprintf (FILE*, const wchar_t*, ...);
-_CRTIMP int __cdecl wprintf (const wchar_t*, ...);
-_CRTIMP int __cdecl swprintf (wchar_t*, const wchar_t*, ...);
-_CRTIMP int __cdecl _snwprintf (wchar_t*, size_t, const wchar_t*, ...);
-_CRTIMP int __cdecl vfwprintf (FILE*, const wchar_t*, __VALIST);
-_CRTIMP int __cdecl vwprintf (const wchar_t*, __VALIST);
-_CRTIMP int __cdecl vswprintf (wchar_t*, const wchar_t*, __VALIST);
-_CRTIMP int __cdecl _vsnwprintf (wchar_t*, size_t, const wchar_t*, __VALIST);
-_CRTIMP int __cdecl fwscanf (FILE*, const wchar_t*, ...);
-_CRTIMP int __cdecl wscanf (const wchar_t*, ...);
-_CRTIMP int __cdecl swscanf (const wchar_t*, const wchar_t*, ...);
-_CRTIMP wint_t __cdecl fgetwc (FILE*);
-_CRTIMP wint_t __cdecl fputwc (wchar_t, FILE*);
-_CRTIMP wint_t __cdecl ungetwc (wchar_t, FILE*);
-
-#ifdef __MSVCRT__
-_CRTIMP wchar_t* __cdecl fgetws (wchar_t*, int, FILE*);
-_CRTIMP int __cdecl fputws (const wchar_t*, FILE*);
-_CRTIMP wint_t __cdecl getwc (FILE*);
-_CRTIMP wint_t __cdecl getwchar (void);
-_CRTIMP wint_t __cdecl putwc (wint_t, FILE*);
-_CRTIMP wint_t __cdecl putwchar (wint_t);
-#ifndef __STRICT_ANSI__
-_CRTIMP wchar_t* __cdecl _getws (wchar_t*);
-_CRTIMP int __cdecl _putws (const wchar_t*);
-_CRTIMP FILE* __cdecl _wfdopen(int, wchar_t *);
-_CRTIMP FILE* __cdecl _wfopen (const wchar_t*, const wchar_t*);
-_CRTIMP FILE* __cdecl _wfreopen (const wchar_t*, const wchar_t*, FILE*);
-_CRTIMP FILE* __cdecl _wfsopen (const wchar_t*, const wchar_t*, int);
-_CRTIMP wchar_t* __cdecl _wtmpnam (wchar_t*);
-_CRTIMP wchar_t* __cdecl _wtempnam (const wchar_t*, const wchar_t*);
-_CRTIMP int __cdecl _wrename (const wchar_t*, const wchar_t*);
-_CRTIMP int __cdecl _wremove (const wchar_t*);
-_CRTIMP void __cdecl _wperror (const wchar_t*);
-_CRTIMP FILE* __cdecl _wpopen (const wchar_t*, const wchar_t*);
-#endif /* __STRICT_ANSI__ */
-#endif /* __MSVCRT__ */
-
-#ifndef __NO_ISOCEXT /* externs in libmingwex.a */
-int __cdecl snwprintf (wchar_t* s, size_t n, const wchar_t* format, ...);
-__CRT_INLINE int __cdecl
-vsnwprintf (wchar_t* s, size_t n, const wchar_t* format, __VALIST arg)
- { return _vsnwprintf ( s, n, format, arg);}
-int __cdecl vwscanf (const wchar_t * __restrict__, __VALIST);
-int __cdecl vfwscanf (FILE * __restrict__,
- const wchar_t * __restrict__, __VALIST);
-int __cdecl vswscanf (const wchar_t * __restrict__,
- const wchar_t * __restrict__, __VALIST);
-#endif
-
-#define _WSTDIO_DEFINED
-#endif /* _WSTDIO_DEFINED */
-
-#ifndef _WSTDLIB_DEFINED /* also declared in stdlib.h */
-_CRTIMP long __cdecl wcstol (const wchar_t*, wchar_t**, int);
-_CRTIMP unsigned long __cdecl wcstoul (const wchar_t*, wchar_t**, int);
-_CRTIMP double __cdecl wcstod (const wchar_t*, wchar_t**);
-#if !defined __NO_ISOCEXT /* extern stub in static libmingwex.a */
-__CRT_INLINE float __cdecl wcstof( const wchar_t *nptr, wchar_t **endptr)
-{ return (wcstod(nptr, endptr)); }
-long double __cdecl wcstold (const wchar_t * __restrict__, wchar_t ** __restrict__);
-#endif /* __NO_ISOCEXT */
-#define _WSTDLIB_DEFINED
-#endif /* _WSTDLIB_DEFINED */
-
-#ifndef _WTIME_DEFINED
-#ifndef __STRICT_ANSI__
-#ifdef __MSVCRT__
-/* wide function prototypes, also declared in time.h */
-_CRTIMP wchar_t* __cdecl _wasctime (const struct tm*);
-_CRTIMP wchar_t* __cdecl _wctime (const time_t*);
-_CRTIMP wchar_t* __cdecl _wstrdate (wchar_t*);
-_CRTIMP wchar_t* __cdecl _wstrtime (wchar_t*);
-#if __MSVCRT_VERSION__ >= 0x601
-_CRTIMP wchar_t* __cdecl _wctime64 (const __time64_t*);
-#endif
-#endif /* __MSVCRT__ */
-#endif /* __STRICT_ANSI__ */
-_CRTIMP size_t __cdecl wcsftime (wchar_t*, size_t, const wchar_t*, const struct tm*);
-#define _WTIME_DEFINED
-#endif /* _WTIME_DEFINED */
-
-
-#ifndef _WSTRING_DEFINED
-/*
- * Unicode versions of the standard string calls.
- * Also in string.h.
- */
-_CRTIMP wchar_t* __cdecl wcscat (wchar_t*, const wchar_t*);
-_CRTIMP wchar_t* __cdecl wcschr (const wchar_t*, wchar_t);
-_CRTIMP int __cdecl wcscmp (const wchar_t*, const wchar_t*);
-_CRTIMP int __cdecl wcscoll (const wchar_t*, const wchar_t*);
-_CRTIMP wchar_t* __cdecl wcscpy (wchar_t*, const wchar_t*);
-_CRTIMP size_t __cdecl wcscspn (const wchar_t*, const wchar_t*);
-/* Note: _wcserror requires __MSVCRT_VERSION__ >= 0x0700. */
-_CRTIMP size_t __cdecl wcslen (const wchar_t*);
-_CRTIMP wchar_t* __cdecl wcsncat (wchar_t*, const wchar_t*, size_t);
-_CRTIMP int __cdecl wcsncmp(const wchar_t*, const wchar_t*, size_t);
-_CRTIMP wchar_t* __cdecl wcsncpy(wchar_t*, const wchar_t*, size_t);
-_CRTIMP wchar_t* __cdecl wcspbrk(const wchar_t*, const wchar_t*);
-_CRTIMP wchar_t* __cdecl wcsrchr(const wchar_t*, wchar_t);
-_CRTIMP size_t __cdecl wcsspn(const wchar_t*, const wchar_t*);
-_CRTIMP wchar_t* __cdecl wcsstr(const wchar_t*, const wchar_t*);
-_CRTIMP wchar_t* __cdecl wcstok(wchar_t*, const wchar_t*);
-_CRTIMP size_t __cdecl wcsxfrm(wchar_t*, const wchar_t*, size_t);
-
-#ifndef __STRICT_ANSI__
-/*
- * Unicode versions of non-ANSI functions provided by CRTDLL.
- */
-
-/* NOTE: _wcscmpi not provided by CRTDLL, this define is for portability */
-#define _wcscmpi _wcsicmp
-
-_CRTIMP wchar_t* __cdecl _wcsdup (const wchar_t*);
-_CRTIMP int __cdecl _wcsicmp (const wchar_t*, const wchar_t*);
-_CRTIMP int __cdecl _wcsicoll (const wchar_t*, const wchar_t*);
-_CRTIMP wchar_t* __cdecl _wcslwr (wchar_t*);
-_CRTIMP int __cdecl _wcsnicmp (const wchar_t*, const wchar_t*, size_t);
-_CRTIMP wchar_t* __cdecl _wcsnset (wchar_t*, wchar_t, size_t);
-_CRTIMP wchar_t* __cdecl _wcsrev (wchar_t*);
-_CRTIMP wchar_t* __cdecl _wcsset (wchar_t*, wchar_t);
-_CRTIMP wchar_t* __cdecl _wcsupr (wchar_t*);
-
-#ifdef __MSVCRT__
-_CRTIMP int __cdecl _wcsncoll(const wchar_t*, const wchar_t*, size_t);
-_CRTIMP int __cdecl _wcsnicoll(const wchar_t*, const wchar_t*, size_t);
-#if __MSVCRT_VERSION__ >= 0x0700
-_CRTIMP wchar_t* __cdecl _wcserror(int);
-_CRTIMP wchar_t* __cdecl __wcserror(const wchar_t*);
-#endif
-#endif
-
-#ifndef _NO_OLDNAMES
-/* NOTE: There is no _wcscmpi, but this is for compatibility. */
-__CRT_INLINE int __cdecl
-wcscmpi (const wchar_t * __ws1, const wchar_t * __ws2)
- {return _wcsicmp (__ws1, __ws2);}
-_CRTIMP wchar_t* __cdecl wcsdup (const wchar_t*);
-_CRTIMP int __cdecl wcsicmp (const wchar_t*, const wchar_t*);
-_CRTIMP int __cdecl wcsicoll (const wchar_t*, const wchar_t*);
-_CRTIMP wchar_t* __cdecl wcslwr (wchar_t*);
-_CRTIMP int __cdecl wcsnicmp (const wchar_t*, const wchar_t*, size_t);
-_CRTIMP wchar_t* __cdecl wcsnset (wchar_t*, wchar_t, size_t);
-_CRTIMP wchar_t* __cdecl wcsrev (wchar_t*);
-_CRTIMP wchar_t* __cdecl wcsset (wchar_t*, wchar_t);
-_CRTIMP wchar_t* __cdecl wcsupr (wchar_t*);
-#endif /* Not _NO_OLDNAMES */
-
-#endif /* Not strict ANSI */
-
-#define _WSTRING_DEFINED
-#endif /* _WSTRING_DEFINED */
-
-/* These are resolved by -lmingwex. Alternatively, they can be resolved by
- adding -lmsvcp60 to your command line, which will give you the VC++
- versions of these functions. If you want the latter and don't have
- msvcp60.dll in your windows system directory, you can easily obtain
- it with a search from your favorite search engine. */
-#ifndef __STRICT_ANSI__
-typedef wchar_t _Wint_t;
-#endif
-
-typedef int mbstate_t;
-
-wint_t __cdecl btowc(int);
-size_t __cdecl mbrlen(const char * __restrict__, size_t,
- mbstate_t * __restrict__);
-size_t __cdecl mbrtowc(wchar_t * __restrict__, const char * __restrict__,
- size_t, mbstate_t * __restrict__);
-size_t __cdecl mbsrtowcs(wchar_t * __restrict__, const char ** __restrict__,
- size_t, mbstate_t * __restrict__);
-size_t __cdecl wcrtomb(char * __restrict__, wchar_t,
- mbstate_t * __restrict__);
-size_t __cdecl wcsrtombs(char * __restrict__, const wchar_t ** __restrict__,
- size_t, mbstate_t * __restrict__);
-int __cdecl wctob(wint_t);
-
-#ifndef __NO_ISOCEXT /* these need static lib libmingwex.a */
-__CRT_INLINE int __cdecl fwide(FILE* __UNUSED_PARAM(stream),
- int __UNUSED_PARAM(mode))
- {return -1;} /* limited to byte orientation */
-__CRT_INLINE int __cdecl mbsinit(const mbstate_t* __UNUSED_PARAM(ps))
- {return 1;}
-wchar_t* __cdecl wmemset(wchar_t *, wchar_t, size_t);
-wchar_t* __cdecl wmemchr(const wchar_t*, wchar_t, size_t);
-int wmemcmp(const wchar_t*, const wchar_t *, size_t);
-wchar_t* __cdecl wmemcpy(wchar_t* __restrict__,
- const wchar_t* __restrict__,
- size_t);
-wchar_t* __cdecl wmemmove(wchar_t* s1, const wchar_t *, size_t);
-long long __cdecl wcstoll(const wchar_t * __restrict__,
- wchar_t** __restrict__, int);
-unsigned long long __cdecl wcstoull(const wchar_t * __restrict__,
- wchar_t ** __restrict__, int);
-#endif /* __NO_ISOCEXT */
-
-#ifndef __STRICT_ANSI__
-/* non-ANSI wide char functions from io.h, direct.h, sys/stat.h and locale.h. */
-
-#ifndef _FSIZE_T_DEFINED
-typedef unsigned long _fsize_t;
-#define _FSIZE_T_DEFINED
-#endif
-
-#ifndef _WFINDDATA_T_DEFINED
-struct _wfinddata_t {
- unsigned attrib;
- time_t time_create; /* -1 for FAT file systems */
- time_t time_access; /* -1 for FAT file systems */
- time_t time_write;
- _fsize_t size;
- wchar_t name[260]; /* may include spaces. */
-};
-struct _wfinddatai64_t {
- unsigned attrib;
- time_t time_create;
- time_t time_access;
- time_t time_write;
- __int64 size;
- wchar_t name[260];
-};
-struct __wfinddata64_t {
- unsigned attrib;
- __time64_t time_create;
- __time64_t time_access;
- __time64_t time_write;
- _fsize_t size;
- wchar_t name[260];
-};
-#define _WFINDDATA_T_DEFINED
-#endif
-
-/* Wide character versions. Also defined in io.h. */
-/* CHECK: I believe these only exist in MSVCRT, and not in CRTDLL. Also
- applies to other wide character versions? */
-#if !defined (_WIO_DEFINED)
-#if defined (__MSVCRT__)
-#include <stdint.h> /* For intptr_t. */
-_CRTIMP int __cdecl _waccess (const wchar_t*, int);
-_CRTIMP int __cdecl _wchmod (const wchar_t*, int);
-_CRTIMP int __cdecl _wcreat (const wchar_t*, int);
-_CRTIMP long __cdecl _wfindfirst (const wchar_t*, struct _wfinddata_t *);
-_CRTIMP int __cdecl _wfindnext (long, struct _wfinddata_t *);
-_CRTIMP int __cdecl _wunlink (const wchar_t*);
-_CRTIMP int __cdecl _wopen (const wchar_t*, int, ...);
-_CRTIMP int __cdecl _wsopen (const wchar_t*, int, int, ...);
-_CRTIMP wchar_t* __cdecl _wmktemp (wchar_t*);
-_CRTIMP long __cdecl _wfindfirsti64 (const wchar_t*, struct _wfinddatai64_t*);
-_CRTIMP int __cdecl _wfindnexti64 (long, struct _wfinddatai64_t*);
-#if __MSVCRT_VERSION__ >= 0x0601
-_CRTIMP intptr_t __cdecl _wfindfirst64(const wchar_t*, struct __wfinddata64_t*);
-_CRTIMP intptr_t __cdecl _wfindnext64(intptr_t, struct __wfinddata64_t*);
-#endif /* __MSVCRT_VERSION__ >= 0x0601 */
-#endif /* defined (__MSVCRT__) */
-#define _WIO_DEFINED
-#endif /* _WIO_DEFINED */
-
-#ifndef _WDIRECT_DEFINED
-/* Also in direct.h */
-#ifdef __MSVCRT__
-_CRTIMP int __cdecl _wchdir (const wchar_t*);
-_CRTIMP wchar_t* __cdecl _wgetcwd (wchar_t*, int);
-_CRTIMP wchar_t* __cdecl _wgetdcwd (int, wchar_t*, int);
-_CRTIMP int __cdecl _wmkdir (const wchar_t*);
-_CRTIMP int __cdecl _wrmdir (const wchar_t*);
-#endif /* __MSVCRT__ */
-#define _WDIRECT_DEFINED
-#endif /* _WDIRECT_DEFINED */
-
-#ifndef _STAT_DEFINED
-/*
- * The structure manipulated and returned by stat and fstat.
- *
- * NOTE: If called on a directory the values in the time fields are not only
- * invalid, they will cause localtime et. al. to return NULL. And calling
- * asctime with a NULL pointer causes an Invalid Page Fault. So watch it!
- */
-struct _stat
-{
- _dev_t st_dev; /* Equivalent to drive number 0=A 1=B ... */
- _ino_t st_ino; /* Always zero ? */
- _mode_t st_mode; /* See above constants */
- short st_nlink; /* Number of links. */
- short st_uid; /* User: Maybe significant on NT ? */
- short st_gid; /* Group: Ditto */
- _dev_t st_rdev; /* Seems useless (not even filled in) */
- _off_t st_size; /* File size in bytes */
- time_t st_atime; /* Accessed date (always 00:00 hrs local
- * on FAT) */
- time_t st_mtime; /* Modified time */
- time_t st_ctime; /* Creation time */
-};
-
-#ifndef _NO_OLDNAMES
-/* NOTE: Must be the same as _stat above. */
-struct stat
-{
- _dev_t st_dev; /* Equivalent to drive number 0=A 1=B ... */
- _ino_t st_ino; /* Always zero ? */
- _mode_t st_mode; /* See above constants */
- short st_nlink; /* Number of links. */
- short st_uid; /* User: Maybe significant on NT ? */
- short st_gid; /* Group: Ditto */
- _dev_t st_rdev; /* Seems useless (not even filled in) */
- _off_t st_size; /* File size in bytes */
- time_t st_atime; /* Accessed date (always 00:00 hrs local
- * on FAT) */
- time_t st_mtime; /* Modified time */
- time_t st_ctime; /* Creation time */
-};
-#endif /* _NO_OLDNAMES */
-
-#if defined (__MSVCRT__)
-struct _stati64 {
- _dev_t st_dev;
- _ino_t st_ino;
- unsigned short st_mode;
- short st_nlink;
- short st_uid;
- short st_gid;
- _dev_t st_rdev;
- __int64 st_size;
- time_t st_atime;
- time_t st_mtime;
- time_t st_ctime;
- };
-
-struct __stat64
-{
- _dev_t st_dev;
- _ino_t st_ino;
- _mode_t st_mode;
- short st_nlink;
- short st_uid;
- short st_gid;
- _dev_t st_rdev;
- __int64 st_size;
- __time64_t st_atime;
- __time64_t st_mtime;
- __time64_t st_ctime;
-};
-#endif /* __MSVCRT__ */
-#define _STAT_DEFINED
-#endif /* _STAT_DEFINED */
-
-#if !defined ( _WSTAT_DEFINED)
-/* also declared in sys/stat.h */
-#if defined __MSVCRT__
-_CRTIMP int __cdecl _wstat (const wchar_t*, struct _stat*);
-_CRTIMP int __cdecl _wstati64 (const wchar_t*, struct _stati64*);
-#if __MSVCRT_VERSION__ >= 0x0601
-_CRTIMP int __cdecl _wstat64 (const wchar_t*, struct __stat64*);
-#endif /* __MSVCRT_VERSION__ >= 0x0601 */
-#endif /* __MSVCRT__ */
-#define _WSTAT_DEFINED
-#endif /* ! _WSTAT_DEFIND */
-
-#ifndef _WLOCALE_DEFINED /* also declared in locale.h */
-_CRTIMP wchar_t* __cdecl _wsetlocale (int, const wchar_t*);
-#define _WLOCALE_DEFINED
-#endif
-
-#endif /* not __STRICT_ANSI__ */
-
-#ifdef __cplusplus
-} /* end of extern "C" */
-#endif
-
-#endif /* Not RC_INVOKED */
-
-#endif /* not _WCHAR_H_ */
-
diff --git a/winsup/mingw/include/wctype.h b/winsup/mingw/include/wctype.h
deleted file mode 100644
index ed8f05f77..000000000
--- a/winsup/mingw/include/wctype.h
+++ /dev/null
@@ -1,153 +0,0 @@
-/*
- * wctype.h
- *
- * Functions for testing wide character types and converting characters.
- *
- * This file is part of the Mingw32 package.
- *
- * Contributors:
- * Created by Mumit Khan <khan@xraylith.wisc.edu>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef _WCTYPE_H_
-#define _WCTYPE_H_
-
-/* All the headers include this file. */
-#include <_mingw.h>
-
-#define __need_wchar_t
-#define __need_wint_t
-#ifndef RC_INVOKED
-#include <stddef.h>
-#endif /* Not RC_INVOKED */
-
-/*
- * The following flags are used to tell iswctype and _isctype what character
- * types you are looking for.
- */
-#define _UPPER 0x0001
-#define _LOWER 0x0002
-#define _DIGIT 0x0004
-#define _SPACE 0x0008
-#define _PUNCT 0x0010
-#define _CONTROL 0x0020
-#define _BLANK 0x0040
-#define _HEX 0x0080
-#define _LEADBYTE 0x8000
-
-#define _ALPHA 0x0103
-
-#ifndef RC_INVOKED
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#ifndef WEOF
-#define WEOF (wchar_t)(0xFFFF)
-#endif
-
-#ifndef _WCTYPE_T_DEFINED
-typedef wchar_t wctype_t;
-#define _WCTYPE_T_DEFINED
-#endif
-
-/* Wide character equivalents - also in ctype.h */
-_CRTIMP int __cdecl iswalnum(wint_t);
-_CRTIMP int __cdecl iswalpha(wint_t);
-_CRTIMP int __cdecl iswascii(wint_t);
-_CRTIMP int __cdecl iswcntrl(wint_t);
-_CRTIMP int __cdecl iswctype(wint_t, wctype_t);
-_CRTIMP int __cdecl is_wctype(wint_t, wctype_t); /* Obsolete! */
-_CRTIMP int __cdecl iswdigit(wint_t);
-_CRTIMP int __cdecl iswgraph(wint_t);
-_CRTIMP int __cdecl iswlower(wint_t);
-_CRTIMP int __cdecl iswprint(wint_t);
-_CRTIMP int __cdecl iswpunct(wint_t);
-_CRTIMP int __cdecl iswspace(wint_t);
-_CRTIMP int __cdecl iswupper(wint_t);
-_CRTIMP int __cdecl iswxdigit(wint_t);
-
-/* Older MS docs uses wchar_t for arg and return type, while newer
- online MS docs say arg is wint_t and return is int.
- ISO C uses wint_t for both. */
-_CRTIMP wint_t __cdecl towlower (wint_t);
-_CRTIMP wint_t __cdecl towupper (wint_t);
-
-_CRTIMP int __cdecl isleadbyte (int);
-
-/* Also in ctype.h */
-
-#ifdef __DECLSPEC_SUPPORTED
-__MINGW_IMPORT unsigned short _ctype[];
-# ifdef __MSVCRT__
- __MINGW_IMPORT unsigned short* _pctype;
-# else /* CRTDLL */
- __MINGW_IMPORT unsigned short* _pctype_dll;
-# define _pctype _pctype_dll
-# endif
-
-#else /* ! __DECLSPEC_SUPPORTED */
-extern unsigned short** _imp___ctype;
-#define _ctype (*_imp___ctype)
-# ifdef __MSVCRT__
- extern unsigned short** _imp___pctype;
-# define _pctype (*_imp___pctype)
-# else /* CRTDLL */
- extern unsigned short** _imp___pctype_dll;
-# define _pctype (*_imp___pctype_dll)
-# endif /* CRTDLL */
-#endif /* __DECLSPEC_SUPPORTED */
-
-
-#if !(defined (__NO_INLINE__) || defined(__NO_CTYPE_INLINES) \
- || defined(__WCTYPE_INLINES_DEFINED))
-#define __WCTYPE_INLINES_DEFINED
-__CRT_INLINE int __cdecl iswalnum(wint_t wc) {return (iswctype(wc,_ALPHA|_DIGIT));}
-__CRT_INLINE int __cdecl iswalpha(wint_t wc) {return (iswctype(wc,_ALPHA));}
-__CRT_INLINE int __cdecl iswascii(wint_t wc) {return ((wc & ~0x7F) ==0);}
-__CRT_INLINE int __cdecl iswcntrl(wint_t wc) {return (iswctype(wc,_CONTROL));}
-__CRT_INLINE int __cdecl iswdigit(wint_t wc) {return (iswctype(wc,_DIGIT));}
-__CRT_INLINE int __cdecl iswgraph(wint_t wc) {return (iswctype(wc,_PUNCT|_ALPHA|_DIGIT));}
-__CRT_INLINE int __cdecl iswlower(wint_t wc) {return (iswctype(wc,_LOWER));}
-__CRT_INLINE int __cdecl iswprint(wint_t wc) {return (iswctype(wc,_BLANK|_PUNCT|_ALPHA|_DIGIT));}
-__CRT_INLINE int __cdecl iswpunct(wint_t wc) {return (iswctype(wc,_PUNCT));}
-__CRT_INLINE int __cdecl iswspace(wint_t wc) {return (iswctype(wc,_SPACE));}
-__CRT_INLINE int __cdecl iswupper(wint_t wc) {return (iswctype(wc,_UPPER));}
-__CRT_INLINE int __cdecl iswxdigit(wint_t wc) {return (iswctype(wc,_HEX));}
-__CRT_INLINE int __cdecl isleadbyte(int c) {return (_pctype[(unsigned char)(c)] & _LEADBYTE);}
-#endif /* !(defined(__NO_CTYPE_INLINES) || defined(__WCTYPE_INLINES_DEFINED)) */
-
-
-typedef wchar_t wctrans_t;
-
-/* These are resolved by libmingwex.a. Note, that they are also exported
- by the MS C++ runtime lib (msvcp60.dll). The msvcp60.dll implementations
- of wctrans and towctrans are not C99 compliant in that wctrans("tolower")
- returns 0, while std specifies that a non-zero value should be returned
- for a valid string descriptor. If you want the MS behaviour (and you have
- msvcp60.dll in your path) add -lmsvcp60 to your command line. */
-
-wint_t __cdecl towctrans(wint_t, wctrans_t);
-wctrans_t __cdecl wctrans(const char*);
-wctype_t __cdecl wctype(const char*);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* Not RC_INVOKED */
-
-#endif /* Not _WCTYPE_H_ */
-
diff --git a/winsup/mingw/init.c b/winsup/mingw/init.c
deleted file mode 100644
index a30c035f2..000000000
--- a/winsup/mingw/init.c
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * init.c
- * This file has no copyright assigned and is placed in the Public Domain.
- * This file is a part of the mingw-runtime package.
- * No warranty is given; refer to the file DISCLAIMER within the package.
- *
- * Code to initialize standard file handles and command line arguments.
- * This file is #included in both crt1.c and dllcrt1.c.
- *
- */
-
-/*
- * Access to a standard 'main'-like argument count and list. Also included
- * is a table of environment variables.
- */
-int _argc = 0;
-char **_argv = 0;
-
-/* NOTE: Thanks to Pedro A. Aranda Gutiirrez <paag@tid.es> for pointing
- * this out to me. GetMainArgs (used below) takes a fourth argument
- * which is an int that controls the globbing of the command line. If
- * _CRT_glob is non-zero the command line will be globbed (e.g. *.*
- * expanded to be all files in the startup directory). In the mingw32
- * library a _CRT_glob variable is defined as being -1, enabling
- * this command line globbing by default. To turn it off and do all
- * command line processing yourself (and possibly escape bogons in
- * MS's globbing code) include a line in one of your source modules
- * defining _CRT_glob and setting it to zero, like this:
- * int _CRT_glob = 0;
- */
-extern int _CRT_glob;
-
-#ifdef __MSVCRT__
-typedef struct {
- int newmode;
-} _startupinfo;
-extern void __getmainargs (int *, char ***, char ***, int, _startupinfo *);
-#else
-extern void __GetMainArgs (int *, char ***, char ***, int);
-#endif
-
-/*
- * Initialize the _argc, _argv and environ variables.
- */
-static void
-_mingw32_init_mainargs ()
-{
- /* The environ variable is provided directly in stdlib.h through
- * a dll function call. */
- char **dummy_environ;
-#ifdef __MSVCRT__
- _startupinfo start_info;
- start_info.newmode = 0;
-#endif
-
- /*
- * Microsoft's runtime provides a function for doing just that.
- */
-#ifdef __MSVCRT__
- (void) __getmainargs (&_argc, &_argv, &dummy_environ, _CRT_glob,
- &start_info);
-#else
- /* CRTDLL version */
- (void) __GetMainArgs (&_argc, &_argv, &dummy_environ, _CRT_glob);
-#endif
-}
-
diff --git a/winsup/mingw/install-sh b/winsup/mingw/install-sh
deleted file mode 100755
index 9344e52bc..000000000
--- a/winsup/mingw/install-sh
+++ /dev/null
@@ -1,253 +0,0 @@
-#!/bin/sh
-#
-# install - install a program, script, or datafile
-# This comes from X11R5 (mit/util/scripts/install.sh).
-#
-# Copyright 1991 by the Massachusetts Institute of Technology
-#
-# Permission to use, copy, modify, distribute, and sell this software and its
-# documentation for any purpose is hereby granted without fee, provided that
-# the above copyright notice appear in all copies and that both that
-# copyright notice and this permission notice appear in supporting
-# documentation, and that the name of M.I.T. not be used in advertising or
-# publicity pertaining to distribution of the software without specific,
-# written prior permission. M.I.T. makes no representations about the
-# suitability of this software for any purpose. It is provided "as is"
-# without express or implied warranty.
-#
-# Calling this script install-sh is preferred over install.sh, to prevent
-# `make' implicit rules from creating a file called install from it
-# when there is no Makefile.
-#
-# This script is compatible with the BSD install script, but was written
-# from scratch. It can only install one file at a time, a restriction
-# shared with many OS's install programs.
-
-
-# set DOITPROG to echo to test this script
-
-# Don't use :- since 4.3BSD and earlier shells don't like it.
-doit="${DOITPROG-}"
-
-
-# put in absolute paths if you don't have them in your path; or use env. vars.
-
-mvprog="${MVPROG-mv}"
-cpprog="${CPPROG-cp}"
-chmodprog="${CHMODPROG-chmod}"
-chownprog="${CHOWNPROG-chown}"
-chgrpprog="${CHGRPPROG-chgrp}"
-stripprog="${STRIPPROG-strip}"
-rmprog="${RMPROG-rm}"
-mkdirprog="${MKDIRPROG-mkdir}"
-
-transformbasename=""
-transform_arg=""
-instcmd="$mvprog"
-chmodcmd="$chmodprog 0755"
-chowncmd=""
-chgrpcmd=""
-stripcmd=""
-rmcmd="$rmprog -f"
-mvcmd="$mvprog"
-src=""
-dst=""
-dir_arg=""
-
-while [ x"$1" != x ]; do
- case $1 in
- -c) instcmd="$cpprog"
- shift
- continue;;
-
- -d) dir_arg=true
- shift
- continue;;
-
- -m) chmodcmd="$chmodprog $2"
- shift
- shift
- continue;;
-
- -o) chowncmd="$chownprog $2"
- shift
- shift
- continue;;
-
- -g) chgrpcmd="$chgrpprog $2"
- shift
- shift
- continue;;
-
- -s) stripcmd="$stripprog"
- shift
- continue;;
-
- -t=*) transformarg=`echo $1 | sed 's/-t=//'`
- shift
- continue;;
-
- -b=*) transformbasename=`echo $1 | sed 's/-b=//'`
- shift
- continue;;
-
- *) if [ x"$src" = x ]
- then
- src=$1
- else
- # this colon is to work around a 386BSD /bin/sh bug
- :
- dst=$1
- fi
- shift
- continue;;
- esac
-done
-
-if [ x"$src" = x ]
-then
- echo "install: no input file specified"
- exit 1
-else
- true
-fi
-
-if [ x"$dir_arg" != x ]; then
- dst=$src
- src=""
-
- if [ -d $dst ]; then
- instcmd=:
- chmodcmd=""
- else
- instcmd=mkdir
- fi
-else
-
-# Waiting for this to be detected by the "$instcmd $src $dsttmp" command
-# might cause directories to be created, which would be especially bad
-# if $src (and thus $dsttmp) contains '*'.
-
- if [ -f $src -o -d $src ]
- then
- true
- else
- echo "install: $src does not exist"
- exit 1
- fi
-
- if [ x"$dst" = x ]
- then
- echo "install: no destination specified"
- exit 1
- else
- true
- fi
-
-# If destination is a directory, append the input filename; if your system
-# does not like double slashes in filenames, you may need to add some logic
-
- if [ -d $dst ]
- then
- dst="$dst"/`basename $src`
- else
- true
- fi
-fi
-
-## this sed command emulates the dirname command
-dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'`
-
-# Make sure that the destination directory exists.
-# this part is taken from Noah Friedman's mkinstalldirs script
-
-# Skip lots of stat calls in the usual case.
-if [ ! -d "$dstdir" ]; then
-defaultIFS='
-'
-IFS="${IFS-${defaultIFS}}"
-
-oIFS="${IFS}"
-# Some sh's can't handle IFS=/ for some reason.
-IFS='%'
-set - `echo ${dstdir} | sed -e 's@/@%@g' -e 's@^%@/@'`
-IFS="${oIFS}"
-
-pathcomp=''
-
-while [ $# -ne 0 ] ; do
- pathcomp="${pathcomp}${1}"
- shift
-
- if [ ! -d "${pathcomp}" ] ;
- then
- $mkdirprog "${pathcomp}"
- else
- true
- fi
-
- pathcomp="${pathcomp}/"
-done
-fi
-
-if [ x"$dir_arg" != x ]
-then
- $doit $instcmd $dst &&
-
- if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else true ; fi &&
- if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else true ; fi &&
- if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; else true ; fi &&
- if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; else true ; fi
-else
-
-# If we're going to rename the final executable, determine the name now.
-
- if [ x"$transformarg" = x ]
- then
- dstfile=`basename $dst`
- else
- dstfile=`basename $dst $transformbasename |
- sed $transformarg`$transformbasename
- fi
-
-# don't allow the sed command to completely eliminate the filename
-
- if [ x"$dstfile" = x ]
- then
- dstfile=`basename $dst`
- else
- true
- fi
-
-# Make a temp file name in the proper directory.
-
- dsttmp=$dstdir/#inst.$$#
-
-# Move or copy the file name to the temp name
-
- $doit $instcmd $src $dsttmp &&
-
- trap "rm -f ${dsttmp}" 0 &&
-
-# and set any options; do chmod last to preserve setuid bits
-
-# If any of these fail, we abort the whole thing. If we want to
-# ignore errors from any of these, just make sure not to ignore
-# errors from the above "$doit $instcmd $src $dsttmp" command.
-
- if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; else true;fi &&
- if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; else true;fi &&
- if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; else true;fi &&
- if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; else true;fi &&
-
-# Now rename the file to the real destination.
-
- $doit $rmcmd -f $dstdir/$dstfile
- ([ -f $dstdir/$dstfile ] &&
- $doit $mvcmd $dstdir/$dstfile $dstdir/$dstfile.$$ );
- exec $doit $mvcmd $dsttmp $dstdir/$dstfile
-
-fi &&
-
-
-exit 0
diff --git a/winsup/mingw/isascii.c b/winsup/mingw/isascii.c
deleted file mode 100644
index 9d3385c3f..000000000
--- a/winsup/mingw/isascii.c
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
- * isascii.c
- * This file has no copyright assigned and is placed in the Public Domain.
- * This file is a part of the mingw-runtime package.
- * No warranty is given; refer to the file DISCLAIMER within the package.
- *
- * Oldnames from ANSI header ctype.h
- *
- * Some wrapper functions for those old name functions whose appropriate
- * equivalents are not simply underscore prefixed.
- *
- */
-
-#include <ctype.h>
-
-int
-isascii (int c)
-{
- return __isascii(c);
-}
-
diff --git a/winsup/mingw/iscsym.c b/winsup/mingw/iscsym.c
deleted file mode 100644
index ea9a571ac..000000000
--- a/winsup/mingw/iscsym.c
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * iscsym.c
- * This file has no copyright assigned and is placed in the Public Domain.
- * This file is a part of the mingw-runtime package.
- * No warranty is given; refer to the file DISCLAIMER within the package.
- *
- * Oldnames from ANSI header ctype.h
- *
- * Some wrapper functions for those old name functions whose appropriate
- * equivalents are not simply underscore prefixed.
- *
- */
-
-#include <ctype.h>
-
-int
-iscsym (int c)
-{
- return __iscsym(c);
-}
diff --git a/winsup/mingw/iscsymf.c b/winsup/mingw/iscsymf.c
deleted file mode 100644
index 6afde993e..000000000
--- a/winsup/mingw/iscsymf.c
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
- * iscsymf.c
- * This file has no copyright assigned and is placed in the Public Domain.
- * This file is a part of the mingw-runtime package.
- * No warranty is given; refer to the file DISCLAIMER within the package.
- *
- * Oldnames from ANSI header ctype.h
- *
- * Some wrapper functions for those old name functions whose appropriate
- * equivalents are not simply underscore prefixed.
- *
- */
-
-#include <ctype.h>
-
-int
-iscsymf (int c)
-{
- return __iscsymf(c);
-}
-
diff --git a/winsup/mingw/jamfile b/winsup/mingw/jamfile
deleted file mode 100644
index 85f0b2b2a..000000000
--- a/winsup/mingw/jamfile
+++ /dev/null
@@ -1,71 +0,0 @@
-#
-# Jamfile for building various libraries and object files for the
-# Minimalist GNU-Win32 package.
-#* This file has no copyright assigned and is placed in the Public Domain.
-#* This file is a part of the mingw-runtime package.
-#* No warranty is given; refer to the file DISCLAIMER within the package.
-#
-
-# Change this line if you have installed Mingw32 in another directory.
-#
-LOCATE_TARGET = /mingw32/lib ;
-
-RUNTIME default = crtdll ;
-
-# Build the mingw32 library which contains startup code and extra support
-# routines.
-#
-Library libmingw32.a :
- CRTglob.c
- CRTfmode.c
- CRTinit.c
- dirent.c
- dllmain.c
- gccmain.c
- main.c
- ;
-
-
-# Build the startup object files for normal applications and for DLLs.
-# The crt2 and dllcrt2 versions are for MSVCRTxx.DLL runtimes. crt1 and
-# dllcrt1 are for the CRTDLL.DLL runtime.
-#
-Object crt1.o : crt1.c ;
-Object crt2.o : crt1.c ;
-
-CCFLAGS on crt2.o += -D__MSVCRT__ ;
-
-Object dllcrt1.o : dllcrt1.c ;
-Object dllcrt2.o : dllcrt1.c ;
-
-CCFLAGS on dllcrt2.o += -D__MSVCRT__ ;
-
-DEPENDS all : crt1.o dllcrt1.o crt2.o dllcrt2.o ;
-
-
-# Build an object file which contains a single global variable initialized
-# so that globbing will not be performed on the command line.
-#
-Object CRT_noglob.o : CRT_noglob.c ;
-LOCATE on CRT_noglob.o = $(LOCATE_TARGET) ;
-
-DEPENDS all : CRT_noglob.o ;
-
-
-# Build a special import library which contains mostly the imports defined
-# in moldname.def, but with their leading underscores stripped off, plus the
-# extra code in the C modules included.
-#
-ImportLib libmoldname.a : moldname.def ctype_old.c string_old.c ;
-
-DLLNAME on libmoldname.a = $(RUNTIME).dll ;
-DLLTOOLFLAGS on libmoldname.a += -U ;
-
-
-# Build import libraries for the various runtimes.
-#
-ImportLib libcrtdll.a : crtdll.def ;
-ImportLib libmsvcrt.a : msvcrt.def ;
-ImportLib libmsvcrt20.a : msvcrt20.def ;
-ImportLib libmsvcrt40.a : msvcrt40.def ;
-
diff --git a/winsup/mingw/main.c b/winsup/mingw/main.c
deleted file mode 100644
index 2eec16bd1..000000000
--- a/winsup/mingw/main.c
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * main.c
- * This file has no copyright assigned and is placed in the Public Domain.
- * This file is a part of the mingw-runtime package.
- * No warranty is given; refer to the file DISCLAIMER within the package.
- *
- * Extra startup code for applications which do not have a main function
- * of their own (but do have a WinMain). Generally these are GUI
- * applications, but they don't *have* to be.
- *
- */
-
-#include <stdlib.h>
-#include <process.h>
-#include <windows.h>
-
-#define ISSPACE(a) (a == ' ' || a == '\t')
-
-extern int PASCAL WinMain (HINSTANCE hInst, HINSTANCE hPrevInst,
- LPSTR szCmdLine, int nShow);
-
-int
-main (int argc, char *argv[], char *environ[])
-{
- char *szCmd;
- STARTUPINFO startinfo;
- int nRet;
-
- /* Get the command line passed to the process. */
- szCmd = GetCommandLineA ();
- GetStartupInfoA (&startinfo);
-
- /* Strip off the name of the application and any leading
- * whitespace. */
- if (szCmd)
- {
- while (ISSPACE (*szCmd))
- {
- szCmd++;
- }
-
- /* On my system I always get the app name enclosed
- * in quotes... */
- if (*szCmd == '\"')
- {
- do
- {
- szCmd++;
- }
- while (*szCmd != '\"' && *szCmd != '\0');
-
- if (*szCmd == '\"')
- {
- szCmd++;
- }
- }
- else
- {
- /* If no quotes then assume first token is program
- * name. */
- while (!ISSPACE (*szCmd) && *szCmd != '\0')
- {
- szCmd++;
- }
- }
-
- while (ISSPACE (*szCmd))
- {
- szCmd++;
- }
- }
-
- nRet = WinMain (GetModuleHandle (NULL), NULL, szCmd,
- (startinfo.dwFlags & STARTF_USESHOWWINDOW) ?
- startinfo.wShowWindow : SW_SHOWDEFAULT);
-
- return nRet;
-}
-
diff --git a/winsup/mingw/mingwex/Makefile.in b/winsup/mingw/mingwex/Makefile.in
deleted file mode 100644
index feb9bd670..000000000
--- a/winsup/mingw/mingwex/Makefile.in
+++ /dev/null
@@ -1,261 +0,0 @@
-#
-# mingw/mingwex/Makefile.in: This file is part of Mingw runtime.
-#
-# This makefile requires GNU make.
-
-srcdir = @srcdir@
-VPATH = $(srcdir):$(srcdir)/math:$(srcdir)/stdio:$(srcdir)/complex
-objdir = .
-
-target_alias = @target_alias@
-prefix = @prefix@
-
-program_transform_name = @program_transform_name@
-exec_prefix = @exec_prefix@
-bindir = @bindir@
-libdir = @libdir@
-tooldir = $(exec_prefix)/$(target_alias)
-datadir = @datadir@
-infodir = @infodir@
-includedir = @includedir@
-
-SHELL = /bin/sh
-
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-mkinstalldirs = $(SHELL) $(srcdir)/../mkinstalldirs
-DISTFILES = Makefile.in configure configure.in \
- _Exit.c atoll.c dirent.c feclearexcept.c fegetenv.c \
- fegetexceptflag.c fegetround.c feholdexcept.c feraiseexcept.c \
- fesetenv.c fesetexceptflag.c fesetround.c fetestexcept.c \
- feupdateenv.c ftruncate.c fwide.c getopt.c imaxabs.c imaxdiv.c \
- ldtoa.c lltoa.c lltow.c mbsinit.c mingw-aligned-malloc.c \
- mingw-fseek.c sitest.c strtof.c strtoimax.c strtold.c strtoumax.c \
- testwmem.c tst-aligned-malloc.c ulltoa.c ulltow.c wcstof.c \
- wcstoimax.c wcstold.c wcstoumax.c wctrans.c wctype.c \
- wdirent.c wmemchr.c wmemcmp.c wmemcpy.c wmemmove.c wmemset.c wtoll.c \
- wcrtomb.c wctob.c mbrtowc.c btowc.c mb_wc_common.h
-MATH_DISTFILES = \
- acosf.c acosl.c asinf.c asinl.c atan2f.c atan2l.c \
- atanf.c atanl.c cbrt.c cbrtf.c cbrtl.c ceilf.S ceill.S \
- cephes_emath.h cephes_emath.c cephes_mconf.h \
- copysign.S copysignf.S copysignl.S cosf.S coshf.c coshl.c cosl.S \
- erfl.c exp2.S exp2f.S exp2l.S expf.c expl.c expm1.c expm1l.c expm1f.c \
- fabs.c fabsf.c fabsl.c \
- fdim.c fdimf.c fdiml.c floorf.S floorl.S fma.S fmaf.S fmal.c \
- fmax.c fmaxf.c fmaxl.c fmin.c fminf.c fminl.c fmodf.c \
- fmodl.c fp_consts.c fp_consts.h fp_constsf.c fp_constsl.c \
- fpclassify.c fpclassifyf.c fpclassifyl.c \
- frexpf.c frexpl.S fucom.c hypotf.c hypotl.c ilogb.S ilogbf.S \
- ilogbl.S isnan.c isnanf.c isnanl.c ldexpf.c ldexpl.c \
- lgamma.c lgammaf.c lgammal.c llrint.c \
- llrintf.c llrintl.c llround.c llroundf.c llroundl.c \
- log10f.S log10l.S log1p.S log1pf.S log1pl.S log2.S log2f.S \
- log2l.S logb.c logbf.c logbl.c logf.S logl.S lrint.c lrintf.c \
- lrintl.c lround.c lroundf.c lroundl.c modff.c modfl.c \
- nearbyint.S nearbyintf.S nearbyintl.S \
- nextafterf.c nextafterl.c nexttowardf.c nexttoward.c \
- powf.c powi.c powif.c powil.c powl.c \
- remainder.S remainderf.S remainderl.S remquo.S \
- remquof.S remquol.S rint.c rintf.c rintl.c round.c roundf.c \
- roundl.c scalbn.S scalbnf.S scalbnl.S s_erf.c sf_erf.c \
- signbit.c signbitf.c signbitl.c sinf.S sinhf.c sinhl.c sinl.S \
- sqrtf.c sqrtl.c tanf.S tanhf.c tanhl.c tanl.S tgamma.c \
- tgammaf.c tgammal.c trunc.c truncf.c truncl.c \
- acosh.c acoshf.c acoshl.c asinh.c asinhf.c asinhl.c \
- atanh.c atanhf.c atanhl.c fastmath.h
-
-STDIO_DISTFILES = \
- fopen64.c fseeko64.c ftello64.c lseek64.c \
- snprintf.c snwprintf.c vsnprintf.c vsnwprintf.c \
- vfscanf.c vfwscanf.c vscanf.c vsscanf.c vswscanf.c vwscanf.c
-
-COMPLEX_DISTFILES = \
- cabs.c cabsf.c cabsl.c cacos.c cacosf.c cacosl.c cacosh.c \
- cacoshf.c cacoshl.c carg.c cargf.c cargl.c casin.c casinf.c \
- casinl.c casinh.c casinhf.c casinhl.c catan.c catanf.c catanl.c \
- catanh.c catanhf.c catanhl.c ccos.c ccosf.c ccosl.c ccosh.c \
- ccoshf.c ccoshl.c cexp.c cexpf.c cexpl.c cimag.c cimagf.c \
- cimagl.c clog.c clogf.c clogl.c cpow.c cpowf.c cpowl.c cproj.c \
- cprojf.c cprojl.c creal.c crealf.c creall.c csin.c csinf.c \
- csinl.c csinh.c csinhf.c csinhl.c csqrt.c csqrtf.c csqrtl.c \
- ctan.c ctanf.c ctanl.c ctanh.c ctanhf.c ctanhl.c
-
-CC = @CC@
-# FIXME: Which is it, CC or CC_FOR_TARGET?
-CC_FOR_TARGET = $(CC)
-AS_FOR_TARGET = $(AS)
-CFLAGS = @CFLAGS@ -Wall
-CXXFLAGS = @CXXFLAGS@
-OPTFLAGS= -fomit-frame-pointer
-
-# compiling with Cygwin?
-MNO_CYGWIN = @MNO_CYGWIN@
-
-W32API_INCLUDE = @W32API_INCLUDE@
-INCLUDES = -I$(srcdir) -I$(srcdir)/../include \
- -nostdinc \
- -iwithprefixbefore include
-ALL_CFLAGS = $(CFLAGS) $(OPTFLAGS) $(W32API_INCLUDE) $(INCLUDES) $(MNO_CYGWIN)
-ALL_CXXFLAGS = $(CXXFLAGS) $(OPTFLAGS) $(W32API_INCLUDE) $(INCLUDES) -nostdinc++ $(MNO_CYGWIN)
-
-AS = @AS@
-AR = @AR@
-LD = @LD@
-AR_FLAGS = rcv
-RANLIB = @RANLIB@
-DLLTOOL = @DLLTOOL@
-DLLTOOLFLAGS =
-DLLTOOL_FOR_TARGET = $(DLLTOOL)
-DLLTOOL_FLAGS = --as $(AS_FOR_TARGET)
-
-LIBMINGWEX_A = libmingwex.a
-
-Q8_OBJS = \
- fwide.o imaxabs.o imaxdiv.o mbsinit.o \
- strtoimax.o strtoumax.o wcstoimax.o wcstoumax.o \
- wmemchr.o wmemcmp.o wmemcpy.o wmemmove.o wmemset.o \
- wctrans.o wctype.o wcrtomb.o wctob.o mbrtowc.o btowc.o
-STDLIB_OBJS = \
- strtold.o wcstold.o
-STDLIB_STUB_OBJS = \
- lltoa.o ulltoa.o \
- lltow.o ulltow.o \
- atoll.o wtoll.o \
- strtof.o wcstof.o \
- _Exit.o
-STDIO_OBJS = \
- fopen64.o fseeko64.o ftello64.o lseek64.o \
- snprintf.o vsnprintf.o snwprintf.o vsnwprintf.o \
- vfscanf.o vfwscanf.o vscanf.o vsscanf.o vswscanf.o vwscanf.o
-MATH_OBJS = \
- acosf.o acosl.o asinf.o asinl.o atan2f.o atan2l.o \
- atanf.o atanl.o cbrt.o cbrtf.o cbrtl.o ceilf.o ceill.o \
- cephes_emath.o \
- copysign.o copysignf.o copysignl.o cosf.o coshf.o coshl.o cosl.o \
- erfl.o exp2.o exp2f.o exp2l.o expf.o expl.o expm1.o expm1l.o expm1f.o \
- fabs.o fabsf.o fabsl.o \
- fdim.o fdimf.o fdiml.o floorf.o floorl.o fma.o fmaf.o fmal.o \
- fmax.o fmaxf.o fmaxl.o fmin.o fminf.o fminl.o fmodf.o \
- fmodl.o fp_consts.o fp_constsf.o fp_constsl.o \
- fpclassify.o fpclassifyf.o fpclassifyl.o \
- frexpf.o frexpl.o fucom.o hypotf.o hypotl.o ilogb.o ilogbf.o \
- ilogbl.o isnan.o isnanf.o isnanl.o ldexpf.o ldexpl.o \
- lgamma.o lgammaf.o lgammal.o llrint.o \
- llrintf.o llrintl.o llround.o llroundf.o llroundl.o \
- log10f.o log10l.o log1p.o log1pf.o log1pl.o log2.o log2f.o \
- log2l.o logb.o logbf.o logbl.o logf.o logl.o lrint.o lrintf.o \
- lrintl.o lround.o lroundf.o lroundl.o modff.o modfl.o \
- nearbyint.o nearbyintf.o nearbyintl.o \
- nextafterf.o nextafterl.o nexttowardf.o nexttoward.o \
- powf.o powi.o powif.o powil.o powl.o \
- remainder.o remainderf.o remainderl.o remquo.o \
- remquof.o remquol.o rint.o rintf.o rintl.o round.o roundf.o \
- roundl.o scalbn.o scalbnf.o scalbnl.o s_erf.o sf_erf.o \
- signbit.o signbitf.o signbitl.o sinf.o sinhf.o sinhl.o sinl.o \
- sqrtf.o sqrtl.o tanf.o tanhf.o tanhl.o tanl.o tgamma.o \
- tgammaf.o tgammal.o trunc.o truncf.o truncl.o \
- acosh.o acoshf.o acoshl.o asinh.o asinhf.o asinhl.o \
- atanh.o atanhf.o atanhl.o
-FENV_OBJS = fesetround.o fegetround.o \
- fegetenv.o fesetenv.o feupdateenv.o \
- feclearexcept.o feholdexcept.o fegetexceptflag.o \
- feraiseexcept.o fetestexcept.o fesetexceptflag.o
-POSIX_OBJS = \
- dirent.o wdirent.o getopt.o ftruncate.o
-REPLACE_OBJS = \
- mingw-aligned-malloc.o mingw-fseek.o
-COMPLEX_OBJS = \
- cabs.o cabsf.o cabsl.o cacos.o cacosf.o cacosl.o cacosh.o \
- cacoshf.o cacoshl.o carg.o cargf.o cargl.o casin.o casinf.o \
- casinl.o casinh.o casinhf.o casinhl.o catan.o catanf.o catanl.o \
- catanh.o catanhf.o catanhl.o ccos.o ccosf.o ccosl.o ccosh.o \
- ccoshf.o ccoshl.o cexp.o cexpf.o cexpl.o cimag.o cimagf.o \
- cimagl.o clog.o clogf.o clogl.o cpow.o cpowf.o cpowl.o cproj.o \
- cprojf.o cprojl.o creal.o crealf.o creall.o csin.o csinf.o \
- csinl.o csinh.o csinhf.o csinhl.o csqrt.o csqrtf.o csqrtl.o \
- ctan.o ctanf.o ctanl.o ctanh.o ctanhf.o ctanhl.o
-
-LIB_OBJS = $(Q8_OBJS) $(STDLIB_OBJS) $(STDLIB_STUB_OBJS) \
- $(STDIO_OBJS) $(MATH_OBJS) $(FENV_OBJS) \
- $(POSIX_OBJS) $(REPLACE_OBJS) $(COMPLEX_OBJS)
-
-LIBS = $(LIBMINGWEX_A)
-DLLS =
-
-all: $(LIBMINGWEX_A)
-
-$(LIBMINGWEX_A): $(LIB_OBJS)
- rm -f $(LIBMINGWEX_A)
- $(AR) $(ARFLAGS) $@ $(LIB_OBJS)
- $(RANLIB) $@
-
-
-Makefile: Makefile.in config.status configure
- $(SHELL) config.status
-
-config.status: configure
- $(SHELL) config.status --recheck
-
-info:
-
-info-html:
-
-install-info: info
-
-install: all
- $(mkinstalldirs) $(inst_libdir)
- for i in $(LIBS); do \
- $(INSTALL_DATA) $$i $(inst_libdir)/$$i ; \
- done
-
-clean:
- -rm -f $(LIB_OBJS) $(LIBMINGWEX_A)
-
-distclean:
- -rm -f *.o *.a *~ core a.out
- -rm -f config.cache config.status config.log
- -rm -f Makefile
-.c.o:
- $(CC) -c $(ALL_CFLAGS) $< -o $@
-.S.o:
- $(CC) -c $< -o $@
-.s.o:
- $(CC) -c $< -o $@
-
-
-#
-# Dependancies
-#
-wdirent.o: $(srcdir)/dirent.c $(srcdir)/wdirent.c
-strtold.o: $(srcdir)/strtold.c $(srcdir)/math/cephes_emath.h
-wcstold.o: $(srcdir)/wcstold.c $(srcdir)/math/cephes_emath.h
-
-acosh.o acoshf.o acoshl.o \
-asinh.o asinhf.o asinhl.o \
-atanh.o atanhf.o atanhl.o: fastmath.h
-mbrtowc.o wcrtomb.o: mb_wc_common.h
-
-dist:
- mkdir $(distdir)/mingwex
- chmod 755 $(distdir)/mingwex
- @for i in $(DISTFILES); do\
- cp -p $(srcdir)/$$i $(distdir)/mingwex/$$i ; \
- done
- mkdir $(distdir)/mingwex/math
- chmod 755 $(distdir)/mingwex/math
- @for i in $(MATH_DISTFILES); do\
- cp -p $(srcdir)/math/$$i $(distdir)/mingwex/math/$$i ; \
- done
- mkdir $(distdir)/mingwex/stdio
- chmod 755 $(distdir)/mingwex/stdio
- @for i in $(STDIO_DISTFILES); do\
- cp -p $(srcdir)/stdio/$$i $(distdir)/mingwex/stdio/$$i ; \
- done
- mkdir $(distdir)/mingwex/complex
- chmod 755 $(distdir)/mingwex/complex
- @for i in $(COMPLEX_DISTFILES); do\
- cp -p $(srcdir)/complex/$$i $(distdir)/mingwex/complex/$$i ; \
- done
-
diff --git a/winsup/mingw/mingwex/_Exit.c b/winsup/mingw/mingwex/_Exit.c
deleted file mode 100644
index 38f7e182e..000000000
--- a/winsup/mingw/mingwex/_Exit.c
+++ /dev/null
@@ -1,3 +0,0 @@
-#include <stdlib.h>
-void _Exit(int status)
- { _exit(status); }
diff --git a/winsup/mingw/mingwex/atoll.c b/winsup/mingw/mingwex/atoll.c
deleted file mode 100644
index 97920b4ee..000000000
--- a/winsup/mingw/mingwex/atoll.c
+++ /dev/null
@@ -1,3 +0,0 @@
-#include <stdlib.h>
-long long atoll (const char * _c)
- { return _atoi64 (_c); }
diff --git a/winsup/mingw/mingwex/btowc.c b/winsup/mingw/mingwex/btowc.c
deleted file mode 100755
index b369190d7..000000000
--- a/winsup/mingw/mingwex/btowc.c
+++ /dev/null
@@ -1,19 +0,0 @@
-#include "mb_wc_common.h"
-#include <wchar.h>
-#include <stdio.h>
-#define WIN32_LEAN_AND_MEAN
-#include <windows.h>
-
-wint_t btowc (int c)
-{
- if (c == EOF)
- return (WEOF);
- else
- {
- unsigned char ch = c;
- wchar_t wc = WEOF;
- MultiByteToWideChar (get_cp_from_locale(), MB_ERR_INVALID_CHARS,
- (char*)&ch, 1, &wc, 1);
- return wc;
- }
-}
diff --git a/winsup/mingw/mingwex/complex/cabs.c b/winsup/mingw/mingwex/complex/cabs.c
deleted file mode 100644
index ff547dd6e..000000000
--- a/winsup/mingw/mingwex/complex/cabs.c
+++ /dev/null
@@ -1,7 +0,0 @@
-#include <math.h>
-#include <complex.h>
-
-double cabs (double complex Z)
-{
- return _hypot ( __real__ Z, __imag__ Z);
-}
diff --git a/winsup/mingw/mingwex/complex/cabsf.c b/winsup/mingw/mingwex/complex/cabsf.c
deleted file mode 100755
index 452e88f1c..000000000
--- a/winsup/mingw/mingwex/complex/cabsf.c
+++ /dev/null
@@ -1,7 +0,0 @@
-#include <math.h>
-#include <complex.h>
-
-float cabsf (float complex Z)
-{
- return (float) _hypot ( __real__ Z, __imag__ Z);
-}
diff --git a/winsup/mingw/mingwex/complex/cabsl.c b/winsup/mingw/mingwex/complex/cabsl.c
deleted file mode 100755
index 33124653b..000000000
--- a/winsup/mingw/mingwex/complex/cabsl.c
+++ /dev/null
@@ -1,7 +0,0 @@
-#include <math.h>
-#include <complex.h>
-
-long double cabsl (long double complex Z)
-{
- return hypotl ( __real__ Z, __imag__ Z);
-}
diff --git a/winsup/mingw/mingwex/complex/cacos.c b/winsup/mingw/mingwex/complex/cacos.c
deleted file mode 100644
index 265cba0d7..000000000
--- a/winsup/mingw/mingwex/complex/cacos.c
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- cacos.c
- Contributed by Danny Smith
- 2003-10-20
-*/
-
-#include <math.h>
-#include <complex.h>
-
-#if 0
-/* cacos (Z) = -I * clog(Z + I * csqrt(1 - Z * Z)) */
-
-double complex cacos (double complex Z)
-{
- double complex Res;
- double x, y;
-
- x = __real__ Z;
- y = __imag__ Z;
-
- if (y == 0.0)
- {
- __real__ Res = acos (x);
- __imag__ Res = 0.0;
- }
-
- else
- {
- double complex ZZ;
- /* Z * Z = ((x - y) * (x + y)) + (2.0 * x * y) * I */
- /* caculate 1 - Z * Z */
- __real__ ZZ = 1.0 - (x - y) * (x + y);
- __imag__ ZZ = -2.0 * x * y;
-
-
- Res = csqrt(ZZ);
-
- /* calculate ZZ + I * sqrt (ZZ) */
-
- __real__ ZZ = x - __imag__ Res;
- __imag__ ZZ = y + __real__ Res;
-
- ZZ = clog(ZZ);
-
- /* mult by -I */
-
- __real__ Res = __imag__ ZZ;
- __imag__ Res = - __real__ ZZ;
- }
- return Res;
-}
-
-#else
-
-/* cacos ( Z ) = pi/2 - casin ( Z ) */
-
-double complex cacos (double complex Z)
-{
- double complex Res = casin (Z);
- __real__ Res = M_PI_2 - __real__ Res;
- __imag__ Res = - __imag__ Res;
- return Res;
-}
-#endif
-
-#if 0
-#include <stdio.h>
-int main()
-{
- double z;
- double complex bar = 0.7 + 1.2 * I;
- double complex foo = cacos (bar);
-
- printf ("%.16e\t%.16e\n", __real__ foo, __imag__ foo);
-
- foo = cacos (bar);
- printf ("%.16e\t%.16e\n", __real__ foo, __imag__ foo);
-
- return 1;
-}
-#endif
-
diff --git a/winsup/mingw/mingwex/complex/cacosf.c b/winsup/mingw/mingwex/complex/cacosf.c
deleted file mode 100755
index f2fbbd9b3..000000000
--- a/winsup/mingw/mingwex/complex/cacosf.c
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- cacosf.c
- Contributed by Danny Smith
- 2004-12-24
-*/
-
-#include <math.h>
-#include <complex.h>
-
-#if 0
-/* cacos (Z) = -I * clog(Z + I * csqrt(1 - Z * Z)) */
-
-float complex cacos (float complex Z)
-{
- float complex Res;
- float x, y;
-
- x = __real__ Z;
- y = __imag__ Z;
-
- if (y == 0.0f)
- {
- __real__ Res = acosf (x);
- __imag__ Res = 0.0f;
- }
-
- else
- {
- float complex ZZ;
- /* Z * Z = ((x - y) * (x + y)) + (2.0 * x * y) * I */
- /* caculate 1 - Z * Z */
- __real__ ZZ = 1.0f - (x - y) * (x + y);
- __imag__ ZZ = -2.0f * x * y;
-
-
- Res = csqrtf(ZZ);
-
- /* calculate ZZ + I * sqrt (ZZ) */
-
- __real__ ZZ = x - __imag__ Res;
- __imag__ ZZ = y + __real__ Res;
-
- ZZ = clog(ZZ);
-
- /* mult by -I */
-
- __real__ Res = __imag__ ZZ;
- __imag__ Res = - __real__ ZZ;
- }
- return Res;
-}
-
-#else
-
-/* cacos ( Z ) = pi/2 - casin ( Z ) */
-
-float complex cacosf (float complex Z)
-{
- float complex Res = casinf (Z);
- __real__ Res = M_PI_2 - __real__ Res;
- __imag__ Res = - __imag__ Res;
- return Res;
-}
-#endif
diff --git a/winsup/mingw/mingwex/complex/cacosh.c b/winsup/mingw/mingwex/complex/cacosh.c
deleted file mode 100644
index 34469cb56..000000000
--- a/winsup/mingw/mingwex/complex/cacosh.c
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- cacosh.c
- Contributed by Danny Smith
- 2003-10-20
-*/
-
-#include <math.h>
-#include <complex.h>
-
-#if 0
-/* cacosh (z) = I * cacos (z) */
-double complex cacosh (double complex Z)
-{
- double complex Tmp;
- double complex Res;
-
- Tmp = cacos (Z);
- __real__ Res = -__imag__ Tmp;
- __imag__ Res = __real__ Tmp;
- return Res;
-}
-
-#else
-
-/* cacosh (z) = I * cacos (z) = I * (pi/2 - casin (z)) */
-
-double complex cacosh (double complex Z)
-{
- double complex Tmp;
- double complex Res;
-
- Tmp = casin (Z);
- __real__ Res = __imag__ Tmp;
- __imag__ Res = M_PI_2 - __real__ Tmp;
- return Res;
-}
-#endif
diff --git a/winsup/mingw/mingwex/complex/cacoshf.c b/winsup/mingw/mingwex/complex/cacoshf.c
deleted file mode 100755
index 411afb3c5..000000000
--- a/winsup/mingw/mingwex/complex/cacoshf.c
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- cacoshf.c
- Contributed by Danny Smith
- 2004-12-24
-*/
-
-#include <math.h>
-#include <complex.h>
-
-#if 0
-/* cacoshf (z) = I * cacos (z) */
-float complex cacosh (float complex Z)
-{
- float complex Tmp;
- float complex Res;
-
- Tmp = cacosf (Z);
- __real__ Res = -__imag__ Tmp;
- __imag__ Res = __real__ Tmp;
- return Res;
-}
-
-#else
-
-/* cacosh (z) = I * cacos (z) = I * (pi/2 - casin (z)) */
-
-float complex cacoshf (float complex Z)
-{
- float complex Tmp;
- float complex Res;
-
- Tmp = casinf (Z);
- __real__ Res = __imag__ Tmp;
- __imag__ Res = M_PI_2 - __real__ Tmp;
- return Res;
-}
-#endif
diff --git a/winsup/mingw/mingwex/complex/cacoshl.c b/winsup/mingw/mingwex/complex/cacoshl.c
deleted file mode 100755
index 7f482c409..000000000
--- a/winsup/mingw/mingwex/complex/cacoshl.c
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- cacoshl.c
- Contributed by Danny Smith
- 2005-01-04
-*/
-
-#include <math.h>
-#include <complex.h>
-
-#if 0
-/* cacosh (z) = I * cacos (z) */
-long double complex cacoshl (long double complex Z)
-{
- long double complex Tmp;
- long double complex Res;
-
- Tmp = cacosl (Z);
- __real__ Res = -__imag__ Tmp;
- __imag__ Res = __real__ Tmp;
- return Res;
-}
-
-#else
-
-/* cacosh (z) = I * cacos (z) = I * (pi/2 - casin (z)) */
-#ifndef _M_PI_2L
-#define _M_PI_2L 1.5707963267948966192313L
-#endif
-long double complex cacoshl (long double complex Z)
-{
- long double complex Tmp;
- long double complex Res;
-
- Tmp = casinl (Z);
- __real__ Res = __imag__ Tmp;
- __imag__ Res = _M_PI_2L - __real__ Tmp;
- return Res;
-}
-#endif
diff --git a/winsup/mingw/mingwex/complex/cacosl.c b/winsup/mingw/mingwex/complex/cacosl.c
deleted file mode 100755
index c8e0b6eda..000000000
--- a/winsup/mingw/mingwex/complex/cacosl.c
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- cacosl.c
- Contributed by Danny Smith
- 2004-01-04
-*/
-
-#include <math.h>
-#include <complex.h>
-
-#if 0
-/* cacos (Z) = -I * clog(Z + I * csqrt(1 - Z * Z)) */
-
-long double complex cacosl (long double complex Z)
-{
- long double complex Res;
- long double x, y;
-
- x = __real__ Z;
- y = __imag__ Z;
-
- if (y == 0.0L)
- {
- __real__ Res = acosl (x);
- __imag__ Res = 0.0L;
- }
-
- else
- {
- long double complex ZZ;
- /* Z * Z = ((x - y) * (x + y)) + (2.0 * x * y) * I */
- /* caculate 1 - Z * Z */
- __real__ ZZ = 1.0L - (x - y) * (x + y);
- __imag__ ZZ = -2.0L * x * y;
-
-
- Res = csqrtl(ZZ);
-
- /* calculate ZZ + I * sqrt (ZZ) */
-
- __real__ ZZ = x - __imag__ Res;
- __imag__ ZZ = y + __real__ Res;
-
- ZZ = clogl(ZZ);
-
- /* mult by -I */
-
- __real__ Res = __imag__ ZZ;
- __imag__ Res = - __real__ ZZ;
- }
- return Res;
-}
-
-#else
-
-/* cacos ( Z ) = pi/2 - casin ( Z ) */
-#ifndef _M_PI_2L
-#define _M_PI_2L 1.5707963267948966192313L
-#endif
-long double complex cacosl (long double complex Z)
-{
- long double complex Res = casinl (Z);
- __real__ Res = _M_PI_2L - __real__ Res;
- __imag__ Res = - __imag__ Res;
- return Res;
-}
-#endif
diff --git a/winsup/mingw/mingwex/complex/carg.c b/winsup/mingw/mingwex/complex/carg.c
deleted file mode 100755
index cb47accb6..000000000
--- a/winsup/mingw/mingwex/complex/carg.c
+++ /dev/null
@@ -1,9 +0,0 @@
-#include <complex.h>
-double __attribute__ ((const)) carg (double _Complex _Z)
-{
- double res;
- __asm__ ("fpatan;"
- : "=t" (res) : "0" (__real__ _Z), "u" (__imag__ _Z) : "st(1)");
- return res;
-}
-
diff --git a/winsup/mingw/mingwex/complex/cargf.c b/winsup/mingw/mingwex/complex/cargf.c
deleted file mode 100755
index 360beefe4..000000000
--- a/winsup/mingw/mingwex/complex/cargf.c
+++ /dev/null
@@ -1,9 +0,0 @@
-#include <complex.h>
-float __attribute__ ((const)) cargf (float _Complex _Z)
-{
- float res;
- __asm__ ("fpatan;"
- : "=t" (res) : "0" (__real__ _Z), "u" (__imag__ _Z) : "st(1)");
- return res;
-}
-
diff --git a/winsup/mingw/mingwex/complex/cargl.c b/winsup/mingw/mingwex/complex/cargl.c
deleted file mode 100755
index 179dae704..000000000
--- a/winsup/mingw/mingwex/complex/cargl.c
+++ /dev/null
@@ -1,8 +0,0 @@
-#include <complex.h>
-long double __attribute__ ((const)) cargl (long double _Complex _Z)
-{
- long double res;
- __asm__ ("fpatan;"
- : "=t" (res) : "0" (__real__ _Z), "u" (__imag__ _Z) : "st(1)");
- return res;
-}
diff --git a/winsup/mingw/mingwex/complex/casin.c b/winsup/mingw/mingwex/complex/casin.c
deleted file mode 100644
index cd79767b5..000000000
--- a/winsup/mingw/mingwex/complex/casin.c
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- casin.c
- Contributed by Danny Smith
- 2003-10-20
-*/
-
-#include <math.h>
-#include <complex.h>
-
-/* casin (Z ) = -I * clog(I * Z + csqrt (1.0 - Z * Z))) */
-
-double complex casin (double complex Z)
-{
- double complex Res;
- double x, y;
-
- x = __real__ Z;
- y = __imag__ Z;
-
- if (y == 0.0)
- {
- __real__ Res = asin (x);
- __imag__ Res = 0.0;
- }
- else /* -I * clog(I * Z + csqrt(1.0 - Z * Z))) */
- {
- double complex ZZ;
-
- /* Z * Z = ((x - y) * (x + y)) + (2.0 * x * y) * I */
- /* calculate 1 - Z * Z */
- __real__ ZZ = 1.0 - (x - y) * (x + y);
- __imag__ ZZ = -2.0 * x * y;
- ZZ = csqrt (ZZ);
-
-
- /* add I * Z to ZZ */
-
- __real__ ZZ -= y;
- __imag__ ZZ += x;
-
- ZZ = clog (ZZ);
-
- /* mult by -I */
- __real__ Res = __imag__ ZZ;
- __imag__ Res = - __real__ ZZ;
- }
- return (Res);
-}
diff --git a/winsup/mingw/mingwex/complex/casinf.c b/winsup/mingw/mingwex/complex/casinf.c
deleted file mode 100755
index a70058b0c..000000000
--- a/winsup/mingw/mingwex/complex/casinf.c
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- casinf.c
- Contributed by Danny Smith
- 2004-12-24
-*/
-
-#include <math.h>
-#include <complex.h>
-
-/* casin (Z ) = -I * clog(I * Z + csqrt (1.0 - Z * Z))) */
-
-float complex casinf (float complex Z)
-{
- float complex Res;
- float x, y;
-
- x = __real__ Z;
- y = __imag__ Z;
-
- if (y == 0.0f)
- {
- __real__ Res = asinf (x);
- __imag__ Res = 0.0f;
- }
- else /* -I * clog(I * Z + csqrt(1.0 - Z * Z))) */
- {
- float complex ZZ;
-
- /* Z * Z = ((x - y) * (x + y)) + (2.0 * x * y) * I */
- /* calculate 1 - Z * Z */
- __real__ ZZ = 1.0f - (x - y) * (x + y);
- __imag__ ZZ = -2.0f * x * y;
- ZZ = csqrtf (ZZ);
-
-
- /* add I * Z to ZZ */
-
- __real__ ZZ -= y;
- __imag__ ZZ += x;
-
- ZZ = clogf (ZZ);
-
- /* mult by -I */
- __real__ Res = __imag__ ZZ;
- __imag__ Res = - __real__ ZZ;
- }
- return (Res);
-}
diff --git a/winsup/mingw/mingwex/complex/casinh.c b/winsup/mingw/mingwex/complex/casinh.c
deleted file mode 100644
index a86c1d625..000000000
--- a/winsup/mingw/mingwex/complex/casinh.c
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
- casinh.c
- Contributed by Danny Smith
- 2003-10-20
-*/
-
-#include <math.h>
-#include <complex.h>
-
-/* casinh (z) = -I casin (I * z) */
-
-double complex casinh (double complex Z)
-{
- double complex Tmp;
- double complex Res;
-
- __real__ Tmp = - __imag__ Z;
- __imag__ Tmp = __real__ Z;
- Tmp = casin (Tmp);
- __real__ Res = __imag__ Tmp;
- __imag__ Res = - __real__ Tmp;
- return Res;
-}
diff --git a/winsup/mingw/mingwex/complex/casinhf.c b/winsup/mingw/mingwex/complex/casinhf.c
deleted file mode 100755
index 421cd3a96..000000000
--- a/winsup/mingw/mingwex/complex/casinhf.c
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
- casinhf.c
- Contributed by Danny Smith
- 2004-12-24
-*/
-
-#include <math.h>
-#include <complex.h>
-
-/* casinh (z) = -I casin (I * z) */
-
-float complex casinhf (float complex Z)
-{
- float complex Tmp;
- float complex Res;
-
- __real__ Tmp = - __imag__ Z;
- __imag__ Tmp = __real__ Z;
- Tmp = casinf (Tmp);
- __real__ Res = __imag__ Tmp;
- __imag__ Res = - __real__ Tmp;
- return Res;
-}
diff --git a/winsup/mingw/mingwex/complex/casinhl.c b/winsup/mingw/mingwex/complex/casinhl.c
deleted file mode 100755
index 348bf8084..000000000
--- a/winsup/mingw/mingwex/complex/casinhl.c
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
- casinhl.c
- Contributed by Danny Smith
- 2005-01-04
-*/
-
-#include <math.h>
-#include <complex.h>
-
-/* casinh (z) = -I casin (I * z) */
-
-long double complex casinhl (long double complex Z)
-{
- long double complex Tmp;
- long double complex Res;
-
- __real__ Tmp = - __imag__ Z;
- __imag__ Tmp = __real__ Z;
- Tmp = casinl (Tmp);
- __real__ Res = __imag__ Tmp;
- __imag__ Res = - __real__ Tmp;
- return Res;
-}
diff --git a/winsup/mingw/mingwex/complex/casinl.c b/winsup/mingw/mingwex/complex/casinl.c
deleted file mode 100755
index 3093fa542..000000000
--- a/winsup/mingw/mingwex/complex/casinl.c
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- casinl.c
- Contributed by Danny Smith
- 2005-01-04
-*/
-
-#include <math.h>
-#include <complex.h>
-
-/* casin (Z ) = -I * clog(I * Z + csqrt (1.0 - Z * Z))) */
-
-long double complex casinl (long double complex Z)
-{
- long double complex Res;
- long double x, y;
-
- x = __real__ Z;
- y = __imag__ Z;
-
- if (y == 0.0L)
- {
- __real__ Res = asinl (x);
- __imag__ Res = 0.0L;
- }
- else /* -I * clog(I * Z + csqrt(1.0 - Z * Z))) */
- {
- long double complex ZZ;
-
- /* Z * Z = ((x - y) * (x + y)) + (2.0 * x * y) * I */
- /* calculate 1 - Z * Z */
- __real__ ZZ = 1.0L - (x - y) * (x + y);
- __imag__ ZZ = -2.0L * x * y;
- ZZ = csqrtl (ZZ);
-
-
- /* add I * Z to ZZ */
-
- __real__ ZZ -= y;
- __imag__ ZZ += x;
-
- ZZ = clogl (ZZ);
-
- /* mult by -I */
- __real__ Res = __imag__ ZZ;
- __imag__ Res = - __real__ ZZ;
- }
- return (Res);
-}
diff --git a/winsup/mingw/mingwex/complex/catan.c b/winsup/mingw/mingwex/complex/catan.c
deleted file mode 100644
index eee1e8fa7..000000000
--- a/winsup/mingw/mingwex/complex/catan.c
+++ /dev/null
@@ -1,49 +0,0 @@
-/* catan.c */
-
-/*
- Contributed by Danny Smith
- 2003-10-17
-
- FIXME: This needs some serious numerical analysis.
-*/
-
-#include <math.h>
-#include <complex.h>
-#include <errno.h>
-
-/* catan (z) = -I/2 * clog ((I + z) / (I - z)) */
-
-double complex
-catan (double complex Z)
-{
- double complex Res;
- double complex Tmp;
- double x = __real__ Z;
- double y = __imag__ Z;
-
- if ( x == 0.0 && (1.0 - fabs (y)) == 0.0)
- {
- errno = ERANGE;
- __real__ Res = HUGE_VAL;
- __imag__ Res = HUGE_VAL;
- }
- else if (isinf (_hypot (x, y)))
- {
- __real__ Res = (x > 0 ? M_PI_2 : -M_PI_2);
- __imag__ Res = 0.0;
- }
- else
- {
- __real__ Tmp = - x;
- __imag__ Tmp = 1.0 - y;
-
- __real__ Res = x;
- __imag__ Res = y + 1.0;
-
- Tmp = clog (Res/Tmp);
- __real__ Res = - 0.5 * __imag__ Tmp;
- __imag__ Res = 0.5 * __real__ Tmp;
- }
-
- return Res;
-}
diff --git a/winsup/mingw/mingwex/complex/catanf.c b/winsup/mingw/mingwex/complex/catanf.c
deleted file mode 100755
index adddde885..000000000
--- a/winsup/mingw/mingwex/complex/catanf.c
+++ /dev/null
@@ -1,49 +0,0 @@
-/* catanf.c */
-
-/*
- Contributed by Danny Smith
- 2004-12-24
-
- FIXME: This needs some serious numerical analysis.
-*/
-
-#include <math.h>
-#include <complex.h>
-#include <errno.h>
-
-/* catan (z) = -I/2 * clog ((I + z) / (I - z)) */
-
-float complex
-catanf (float complex Z)
-{
- float complex Res;
- float complex Tmp;
- float x = __real__ Z;
- float y = __imag__ Z;
-
- if ( x == 0.0f && (1.0f - fabsf (y)) == 0.0f)
- {
- errno = ERANGE;
- __real__ Res = HUGE_VALF;
- __imag__ Res = HUGE_VALF;
- }
- else if (isinf (hypotf (x, y)))
- {
- __real__ Res = (x > 0 ? M_PI_2 : -M_PI_2);
- __imag__ Res = 0.0f;
- }
- else
- {
- __real__ Tmp = - x;
- __imag__ Tmp = 1.0f - y;
-
- __real__ Res = x;
- __imag__ Res = y + 1.0f;
-
- Tmp = clogf (Res/Tmp);
- __real__ Res = - 0.5f * __imag__ Tmp;
- __imag__ Res = 0.5f * __real__ Tmp;
- }
-
- return Res;
-}
diff --git a/winsup/mingw/mingwex/complex/catanh.c b/winsup/mingw/mingwex/complex/catanh.c
deleted file mode 100644
index 78f028014..000000000
--- a/winsup/mingw/mingwex/complex/catanh.c
+++ /dev/null
@@ -1,23 +0,0 @@
-/* catanh.c */
-/*
- Contributed by Danny Smith
- 2003-10-20
-*/
-
-#include <math.h>
-#include <complex.h>
-
-/* catanh (z) = -I * catan (I * z) */
-
-double complex catanh (double complex Z)
-{
- double complex Tmp;
- double complex Res;
-
- __real__ Tmp = - __imag__ Z;
- __imag__ Tmp = __real__ Z;
- Tmp = catan (Tmp);
- __real__ Res = __imag__ Tmp;
- __imag__ Res = - __real__ Tmp;
- return Res;
-}
diff --git a/winsup/mingw/mingwex/complex/catanhf.c b/winsup/mingw/mingwex/complex/catanhf.c
deleted file mode 100755
index 7a792e88b..000000000
--- a/winsup/mingw/mingwex/complex/catanhf.c
+++ /dev/null
@@ -1,23 +0,0 @@
-/* catanhf.c */
-/*
- Contributed by Danny Smith
- 2004-12-24
-*/
-
-#include <math.h>
-#include <complex.h>
-
-/* catanh (z) = -I * catan (I * z) */
-
-float complex catanhf (float complex Z)
-{
- float complex Tmp;
- float complex Res;
-
- __real__ Tmp = - __imag__ Z;
- __imag__ Tmp = __real__ Z;
- Tmp = catanf (Tmp);
- __real__ Res = __imag__ Tmp;
- __imag__ Res = - __real__ Tmp;
- return Res;
-}
diff --git a/winsup/mingw/mingwex/complex/catanhl.c b/winsup/mingw/mingwex/complex/catanhl.c
deleted file mode 100755
index 50a3be950..000000000
--- a/winsup/mingw/mingwex/complex/catanhl.c
+++ /dev/null
@@ -1,23 +0,0 @@
-/* catanhl.c */
-/*
- Contributed by Danny Smith
- 2005-01-04
-*/
-
-#include <math.h>
-#include <complex.h>
-
-/* catanh (z) = -I * catan (I * z) */
-
-long double complex catanhl (long double complex Z)
-{
- long double complex Tmp;
- long double complex Res;
-
- __real__ Tmp = - __imag__ Z;
- __imag__ Tmp = __real__ Z;
- Tmp = catanl (Tmp);
- __real__ Res = __imag__ Tmp;
- __imag__ Res = - __real__ Tmp;
- return Res;
-}
diff --git a/winsup/mingw/mingwex/complex/catanl.c b/winsup/mingw/mingwex/complex/catanl.c
deleted file mode 100755
index 1fd62685a..000000000
--- a/winsup/mingw/mingwex/complex/catanl.c
+++ /dev/null
@@ -1,53 +0,0 @@
-/* catanl.c */
-
-/*
- Contributed by Danny Smith
- 2005-01-04
-
- FIXME: This needs some serious numerical analysis.
-*/
-
-#include <math.h>
-#include <complex.h>
-#include <errno.h>
-
-/* catan (z) = -I/2 * clog ((I + z) / (I - z)) */
-
-#ifndef _M_PI_2L
-#define _M_PI_2L 1.5707963267948966192313L
-#endif
-
-long double complex
-catanl (long double complex Z)
-{
- long double complex Res;
- long double complex Tmp;
- long double x = __real__ Z;
- long double y = __imag__ Z;
-
- if ( x == 0.0L && (1.0L - fabsl (y)) == 0.0L)
- {
- errno = ERANGE;
- __real__ Res = HUGE_VALL;
- __imag__ Res = HUGE_VALL;
- }
- else if (isinf (hypotl (x, y)))
- {
- __real__ Res = (x > 0 ? _M_PI_2L : -_M_PI_2L);
- __imag__ Res = 0.0L;
- }
- else
- {
- __real__ Tmp = - x;
- __imag__ Tmp = 1.0L - y;
-
- __real__ Res = x;
- __imag__ Res = y + 1.0L;
-
- Tmp = clogl (Res/Tmp);
- __real__ Res = - 0.5L * __imag__ Tmp;
- __imag__ Res = 0.5L * __real__ Tmp;
- }
-
- return Res;
-}
diff --git a/winsup/mingw/mingwex/complex/ccos.c b/winsup/mingw/mingwex/complex/ccos.c
deleted file mode 100644
index ef5b5a70e..000000000
--- a/winsup/mingw/mingwex/complex/ccos.c
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- ccos.c
- Contributed by Danny Smith
- 2003-10-20
-*/
-
-#include <math.h>
-#include <complex.h>
-
-/* ccos (x + I * y) = cos (x) * cosh (y)
- + I * (sin (x) * sinh (y)) */
-
-
-double complex ccos (double complex Z)
-{
- double complex Res;
- __real__ Res = cos (__real__ Z) * cosh ( __imag__ Z);
- __imag__ Res = -sin (__real__ Z) * sinh ( __imag__ Z);
- return Res;
-}
diff --git a/winsup/mingw/mingwex/complex/ccosf.c b/winsup/mingw/mingwex/complex/ccosf.c
deleted file mode 100755
index 64a676455..000000000
--- a/winsup/mingw/mingwex/complex/ccosf.c
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- ccosf.c
- Contributed by Danny Smith
- 2003-12-24
-*/
-
-#include <math.h>
-#include <complex.h>
-
-/* ccos (x + I * y) = cos (x) * cosh (y)
- + I * (sin (x) * sinh (y)) */
-
-
-float complex ccosf (float complex Z)
-{
- float complex Res;
- __real__ Res = cosf (__real__ Z) * coshf ( __imag__ Z);
- __imag__ Res = -sinf (__real__ Z) * sinhf ( __imag__ Z);
- return Res;
-}
diff --git a/winsup/mingw/mingwex/complex/ccosh.c b/winsup/mingw/mingwex/complex/ccosh.c
deleted file mode 100644
index 8d304fd0e..000000000
--- a/winsup/mingw/mingwex/complex/ccosh.c
+++ /dev/null
@@ -1,19 +0,0 @@
-/*
- ccosh.c
- Contributed by Danny Smith
- 2003-10-20
-*/
-
-#include <math.h>
-#include <complex.h>
-
-/* ccosh (x + I * y) = cosh (x) * cos (y)
- + I * (sinh (x) * sin (y)) */
-
-double complex ccosh (double complex Z)
-{
- double complex Res;
- __real__ Res = cosh (__real__ Z) * cos (__imag__ Z);
- __imag__ Res = sinh (__real__ Z) * sin (__imag__ Z);
- return Res;
-}
diff --git a/winsup/mingw/mingwex/complex/ccoshf.c b/winsup/mingw/mingwex/complex/ccoshf.c
deleted file mode 100755
index ce78cd62d..000000000
--- a/winsup/mingw/mingwex/complex/ccoshf.c
+++ /dev/null
@@ -1,19 +0,0 @@
-/*
- ccoshf.c
- Contributed by Danny Smith
- 2004-12-24
-*/
-
-#include <math.h>
-#include <complex.h>
-
-/* ccosh (x + I * y) = cosh (x) * cos (y)
- + I * (sinh (x) * sin (y)) */
-
-float complex ccoshf (float complex Z)
-{
- float complex Res;
- __real__ Res = coshf (__real__ Z) * cosf (__imag__ Z);
- __imag__ Res = sinhf (__real__ Z) * sinf (__imag__ Z);
- return Res;
-}
diff --git a/winsup/mingw/mingwex/complex/ccoshl.c b/winsup/mingw/mingwex/complex/ccoshl.c
deleted file mode 100755
index 0fb2526c7..000000000
--- a/winsup/mingw/mingwex/complex/ccoshl.c
+++ /dev/null
@@ -1,19 +0,0 @@
-/*
- ccoshl.c
- Contributed by Danny Smith
- 2005-01-04
-*/
-
-#include <math.h>
-#include <complex.h>
-
-/* ccosh (x + I * y) = cosh (x) * cos (y)
- + I * (sinh (x) * sin (y)) */
-
-long double complex ccoshl (long double complex Z)
-{
- long double complex Res;
- __real__ Res = coshl (__real__ Z) * cosl (__imag__ Z);
- __imag__ Res = sinhl (__real__ Z) * sinl (__imag__ Z);
- return Res;
-}
diff --git a/winsup/mingw/mingwex/complex/ccosl.c b/winsup/mingw/mingwex/complex/ccosl.c
deleted file mode 100755
index 981fdf0ea..000000000
--- a/winsup/mingw/mingwex/complex/ccosl.c
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- ccosl.c
- Contributed by Danny Smith
- 2005-01-04
-*/
-
-#include <math.h>
-#include <complex.h>
-
-/* ccos (x + I * y) = cos (x) * cosh (y)
- + I * (sin (x) * sinh (y)) */
-
-
-long double complex ccosl (long double complex Z)
-{
- long double complex Res;
- __real__ Res = cosl (__real__ Z) * coshl ( __imag__ Z);
- __imag__ Res = -sinl (__real__ Z) * sinhl ( __imag__ Z);
- return Res;
-}
diff --git a/winsup/mingw/mingwex/complex/cexp.c b/winsup/mingw/mingwex/complex/cexp.c
deleted file mode 100644
index 43ac9ab9e..000000000
--- a/winsup/mingw/mingwex/complex/cexp.c
+++ /dev/null
@@ -1,19 +0,0 @@
-/*
- cexp.c
- Contributed by Danny Smith
- 2003-10-20
-*/
-
-#include <math.h>
-#include <complex.h>
-
-/* cexp (x + I * y) = exp (x) * cos (y) + I * exp (x) * sin (y) */
-
-double complex cexp (double complex Z)
-{
- double complex Res;
- long double rho = exp (__real__ Z);
- __real__ Res = rho * cos(__imag__ Z);
- __imag__ Res = rho * sin(__imag__ Z);
- return Res;
-}
diff --git a/winsup/mingw/mingwex/complex/cexpf.c b/winsup/mingw/mingwex/complex/cexpf.c
deleted file mode 100755
index fabb1a0cb..000000000
--- a/winsup/mingw/mingwex/complex/cexpf.c
+++ /dev/null
@@ -1,19 +0,0 @@
-/*
- cexpf.c
- Contributed by Danny Smith
- 2004-12-24
-*/
-
-#include <math.h>
-#include <complex.h>
-
-/* cexp (x + I * y) = exp (x) * cos (y) + I * exp (x) * sin (y) */
-
-float complex cexpf (float complex Z)
-{
- float complex Res;
- double rho = exp (__real__ Z);
- __real__ Res = rho * cosf(__imag__ Z);
- __imag__ Res = rho * sinf(__imag__ Z);
- return Res;
-}
diff --git a/winsup/mingw/mingwex/complex/cexpl.c b/winsup/mingw/mingwex/complex/cexpl.c
deleted file mode 100755
index 9f2ed2676..000000000
--- a/winsup/mingw/mingwex/complex/cexpl.c
+++ /dev/null
@@ -1,19 +0,0 @@
-/*
- cexpl.c
- Contributed by Danny Smith
- 2005-01-04
-*/
-
-#include <math.h>
-#include <complex.h>
-
-/* cexp (x + I * y) = exp (x) * cos (y) + I * exp (x) * sin (y) */
-
-long double complex cexpl (long double complex Z)
-{
- long double complex Res;
- long double rho = expl (__real__ Z);
- __real__ Res = rho * cosl(__imag__ Z);
- __imag__ Res = rho * sinl(__imag__ Z);
- return Res;
-}
diff --git a/winsup/mingw/mingwex/complex/cimag.c b/winsup/mingw/mingwex/complex/cimag.c
deleted file mode 100644
index b6b32561c..000000000
--- a/winsup/mingw/mingwex/complex/cimag.c
+++ /dev/null
@@ -1,6 +0,0 @@
-#include <complex.h>
-double __attribute__ ((const)) cimag (double complex _Z)
-{
- return __imag__ _Z;
-}
-
diff --git a/winsup/mingw/mingwex/complex/cimagf.c b/winsup/mingw/mingwex/complex/cimagf.c
deleted file mode 100755
index f77b9ec54..000000000
--- a/winsup/mingw/mingwex/complex/cimagf.c
+++ /dev/null
@@ -1,6 +0,0 @@
-#include <complex.h>
-float __attribute__ ((const)) cimagf (float complex _Z)
-{
- return __imag__ _Z;
-}
-
diff --git a/winsup/mingw/mingwex/complex/cimagl.c b/winsup/mingw/mingwex/complex/cimagl.c
deleted file mode 100755
index 9b023b49b..000000000
--- a/winsup/mingw/mingwex/complex/cimagl.c
+++ /dev/null
@@ -1,5 +0,0 @@
-#include <complex.h>
-long double __attribute__ ((const)) cimagl (long double complex _Z)
-{
- return __imag__ _Z;
-}
diff --git a/winsup/mingw/mingwex/complex/clog.c b/winsup/mingw/mingwex/complex/clog.c
deleted file mode 100644
index 57c51ebb0..000000000
--- a/winsup/mingw/mingwex/complex/clog.c
+++ /dev/null
@@ -1,19 +0,0 @@
-/*
- clog.c
- Contributed by Danny Smith
- 2003-10-20
-*/
-
-/* clog (x + I * y) = log (hypot (x, y)) + I * atan2 (y, x) */
-
-#include <math.h>
-#include <complex.h>
-
-double complex clog (double complex Z)
-{
- double complex Res;
- __real__ Res = log (_hypot (__real__ Z, __imag__ Z));
- __imag__ Res = carg (Z);
- return Res;
-}
-
diff --git a/winsup/mingw/mingwex/complex/clogf.c b/winsup/mingw/mingwex/complex/clogf.c
deleted file mode 100755
index ead76025f..000000000
--- a/winsup/mingw/mingwex/complex/clogf.c
+++ /dev/null
@@ -1,19 +0,0 @@
-/*
- clogf.c
- Contributed by Danny Smith
- 2004-12-24
-*/
-
-/* clog (x + I * y) = log (hypot (x, y)) + I * atan2 (y, x) */
-
-#include <math.h>
-#include <complex.h>
-
-float complex clogf (float complex Z)
-{
- float complex Res;
- __real__ Res = logf (_hypot (__real__ Z, __imag__ Z));
- __imag__ Res = cargf (Z);
- return Res;
-}
-
diff --git a/winsup/mingw/mingwex/complex/clogl.c b/winsup/mingw/mingwex/complex/clogl.c
deleted file mode 100755
index 0114c91f6..000000000
--- a/winsup/mingw/mingwex/complex/clogl.c
+++ /dev/null
@@ -1,19 +0,0 @@
-/*
- clogl.c
- Contributed by Danny Smith
- 2005-01-04
-*/
-
-/* clog (x + I * y) = log (hypot (x, y)) + I * atan2 (y, x) */
-
-#include <math.h>
-#include <complex.h>
-
-long double complex clogl (long double complex Z)
-{
- long double complex Res;
- __real__ Res = logl (hypotl (__real__ Z, __imag__ Z));
- __imag__ Res = cargl (Z);
- return Res;
-}
-
diff --git a/winsup/mingw/mingwex/complex/cpow.c b/winsup/mingw/mingwex/complex/cpow.c
deleted file mode 100644
index c12b12fc0..000000000
--- a/winsup/mingw/mingwex/complex/cpow.c
+++ /dev/null
@@ -1,48 +0,0 @@
-/* cpow.c */
-/*
- Contributed by Danny Smith
- 2003-10-20
-*/
-
-/* cpow(X, Y) = cexp(X * clog(Y)) */
-
-#include <math.h>
-#include <complex.h>
-
-/* Use dll version of pow */
-extern double (*_imp__pow) (double, double);
-#define pow (*_imp__pow)
-
-double complex cpow (double complex X, double complex Y)
-{
- double complex Res;
- double i;
- double r = hypot (__real__ X, __imag__ X);
- if (r == 0.0)
- {
- __real__ Res = __imag__ Res = 0.0;
- }
- else
- {
- double rho;
- double theta;
- i = carg (X);
- theta = i * __real__ Y;
-
- if (__imag__ Y == 0.0)
- /* This gives slightly more accurate results in these cases. */
- rho = pow (r, __real__ Y);
- else
- {
- r = log (r);
- /* rearrangement of cexp(X * clog(Y)) */
- theta += r * __imag__ Y;
- rho = exp (r * __real__ Y - i * __imag__ Y);
- }
-
- __real__ Res = rho * cos (theta);
- __imag__ Res = rho * sin (theta);
- }
- return Res;
-}
-
diff --git a/winsup/mingw/mingwex/complex/cpowf.c b/winsup/mingw/mingwex/complex/cpowf.c
deleted file mode 100755
index eeeed1b7f..000000000
--- a/winsup/mingw/mingwex/complex/cpowf.c
+++ /dev/null
@@ -1,43 +0,0 @@
-/* cpowf.c */
-/*
- Contributed by Danny Smith
- 2004-12-24
-*/
-
-/* cpow(X, Y) = cexp(X * clog(Y)) */
-
-#include <math.h>
-#include <complex.h>
-
-float complex cpowf (float complex X, float complex Y)
-{
- float complex Res;
- float i;
- float r = _hypot (__real__ X, __imag__ X);
- if (r == 0.0f)
- {
- __real__ Res = __imag__ Res = 0.0;
- }
- else
- {
- float rho;
- float theta;
- i = cargf (X);
- theta = i * __real__ Y;
-
- if (__imag__ Y == 0.0f)
- /* This gives slightly more accurate results in these cases. */
- rho = powf (r, __real__ Y);
- else
- {
- r = logf (r);
- /* rearrangement of cexp(X * clog(Y)) */
- theta += r * __imag__ Y;
- rho = expf (r * __real__ Y - i * __imag__ Y);
- }
-
- __real__ Res = rho * cosf (theta);
- __imag__ Res = rho * sinf (theta);
- }
- return Res;
-}
diff --git a/winsup/mingw/mingwex/complex/cpowl.c b/winsup/mingw/mingwex/complex/cpowl.c
deleted file mode 100755
index c614a6d59..000000000
--- a/winsup/mingw/mingwex/complex/cpowl.c
+++ /dev/null
@@ -1,43 +0,0 @@
-/* cpowl.c */
-/*
- Contributed by Danny Smith
- 2005-01-04
-*/
-
-/* cpow(X, Y) = cexp(X * clog(Y)) */
-
-#include <math.h>
-#include <complex.h>
-
-long double complex cpowl (long double complex X, long double complex Y)
-{
- long double complex Res;
- long double i;
- long double r = hypotl (__real__ X, __imag__ X);
- if (r == 0.0L)
- {
- __real__ Res = __imag__ Res = 0.0L;
- }
- else
- {
- long double rho;
- long double theta;
- i = cargl (X);
- theta = i * __real__ Y;
-
- if (__imag__ Y == 0.0L)
- /* This gives slightly more accurate results in these cases. */
- rho = powl (r, __real__ Y);
- else
- {
- r = logl (r);
- /* rearrangement of cexp(X * clog(Y)) */
- theta += r * __imag__ Y;
- rho = expl (r * __real__ Y - i * __imag__ Y);
- }
-
- __real__ Res = rho * cosl (theta);
- __imag__ Res = rho * sinl (theta);
- }
- return Res;
-}
diff --git a/winsup/mingw/mingwex/complex/cproj.c b/winsup/mingw/mingwex/complex/cproj.c
deleted file mode 100644
index cc7c48d0f..000000000
--- a/winsup/mingw/mingwex/complex/cproj.c
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- cproj.c
- Contributed by Danny Smith
- 2003-10-20
-*/
-
-#include <math.h>
-#include <complex.h>
-
-/* Return the value of the projection onto the Riemann sphere.*/
-
-double complex cproj (double complex Z)
-{
- complex double Res = Z;
- if (isinf (__real__ Z) || isinf (__imag__ Z))
- {
- __real__ Res = HUGE_VAL;
- __imag__ Res = copysign (0.0, __imag__ Z);
- }
- return Res;
-}
-
diff --git a/winsup/mingw/mingwex/complex/cprojf.c b/winsup/mingw/mingwex/complex/cprojf.c
deleted file mode 100755
index f1d2d730a..000000000
--- a/winsup/mingw/mingwex/complex/cprojf.c
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- cprojf.c
- Contributed by Danny Smith
- 2004-12-24
-*/
-
-#include <math.h>
-#include <complex.h>
-
-/* Return the value of the projection onto the Riemann sphere.*/
-
-float complex cprojf (float complex Z)
-{
- complex float Res = Z;
- if (isinf (__real__ Z) || isinf (__imag__ Z))
- {
- __real__ Res = HUGE_VALF;
- __imag__ Res = copysignf (0.0f, __imag__ Z);
- }
- return Res;
-}
-
diff --git a/winsup/mingw/mingwex/complex/cprojl.c b/winsup/mingw/mingwex/complex/cprojl.c
deleted file mode 100755
index 224d26fd6..000000000
--- a/winsup/mingw/mingwex/complex/cprojl.c
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- cprojl.c
- Contributed by Danny Smith
- 2005-01-04
-*/
-
-#include <math.h>
-#include <complex.h>
-
-/* Return the value of the projection onto the Riemann sphere.*/
-
-long double complex cprojl (long double complex Z)
-{
- complex long double Res = Z;
- if (isinf (__real__ Z) || isinf (__imag__ Z))
- {
- __real__ Res = HUGE_VALL;
- __imag__ Res = copysignl (0.0L, __imag__ Z);
- }
- return Res;
-}
-
diff --git a/winsup/mingw/mingwex/complex/creal.c b/winsup/mingw/mingwex/complex/creal.c
deleted file mode 100644
index 6905b7e2a..000000000
--- a/winsup/mingw/mingwex/complex/creal.c
+++ /dev/null
@@ -1,6 +0,0 @@
-#include <complex.h>
-double __attribute__ ((const)) creal (double complex _Z)
-{
- return __real__ _Z;
-}
-
diff --git a/winsup/mingw/mingwex/complex/crealf.c b/winsup/mingw/mingwex/complex/crealf.c
deleted file mode 100755
index 16dc7ec46..000000000
--- a/winsup/mingw/mingwex/complex/crealf.c
+++ /dev/null
@@ -1,6 +0,0 @@
-#include <complex.h>
-float __attribute__ ((const)) crealf (float complex _Z)
-{
- return __real__ _Z;
-}
-
diff --git a/winsup/mingw/mingwex/complex/creall.c b/winsup/mingw/mingwex/complex/creall.c
deleted file mode 100755
index 62470d961..000000000
--- a/winsup/mingw/mingwex/complex/creall.c
+++ /dev/null
@@ -1,5 +0,0 @@
-#include <complex.h>
-long double __attribute__ ((const)) creall (long double complex _Z)
-{
- return __real__ _Z;
-}
diff --git a/winsup/mingw/mingwex/complex/csin.c b/winsup/mingw/mingwex/complex/csin.c
deleted file mode 100644
index 37df8057e..000000000
--- a/winsup/mingw/mingwex/complex/csin.c
+++ /dev/null
@@ -1,21 +0,0 @@
-/* csin.c */
-
-/*
- Contributed by Danny Smith
- 2003-10-20
-*/
-
-#include <math.h>
-#include <complex.h>
-
-/* csin (x + I * y) = sin (x) * cosh (y)
- + I * (cos (x) * sinh (y)) */
-
-double complex csin (double complex Z)
-{
- double complex Res;
- __real__ Res = sin (__real__ Z) * cosh ( __imag__ Z);
- __imag__ Res = cos (__real__ Z) * sinh ( __imag__ Z);
- return Res;
-}
-
diff --git a/winsup/mingw/mingwex/complex/csinf.c b/winsup/mingw/mingwex/complex/csinf.c
deleted file mode 100755
index def23f27e..000000000
--- a/winsup/mingw/mingwex/complex/csinf.c
+++ /dev/null
@@ -1,21 +0,0 @@
-/* csinf.c */
-
-/*
- Contributed by Danny Smith
- 2004-12-24
-*/
-
-#include <math.h>
-#include <complex.h>
-
-/* csin (x + I * y) = sin (x) * cosh (y)
- + I * (cos (x) * sinh (y)) */
-
-float complex csinf (float complex Z)
-{
- float complex Res;
- __real__ Res = sinf (__real__ Z) * coshf ( __imag__ Z);
- __imag__ Res = cosf (__real__ Z) * sinhf ( __imag__ Z);
- return Res;
-}
-
diff --git a/winsup/mingw/mingwex/complex/csinh.c b/winsup/mingw/mingwex/complex/csinh.c
deleted file mode 100644
index 4ee6cbe86..000000000
--- a/winsup/mingw/mingwex/complex/csinh.c
+++ /dev/null
@@ -1,21 +0,0 @@
-/* csinh.c */
-/*
- Contributed by Danny Smith
- 2003-10-20
-*/
-
-
-#include <math.h>
-#include <complex.h>
-
-/* csinh (x + I * y) = sinh (x) * cos (y)
- + I * (cosh (x) * sin (y)) */
-
-
-double complex csinh (double complex Z)
-{
- double complex Res;
- __real__ Res = sinh (__real__ Z) * cos (__imag__ Z);
- __imag__ Res = cosh (__real__ Z) * sin (__imag__ Z);
- return Res;
-}
diff --git a/winsup/mingw/mingwex/complex/csinhf.c b/winsup/mingw/mingwex/complex/csinhf.c
deleted file mode 100755
index b0d008ed7..000000000
--- a/winsup/mingw/mingwex/complex/csinhf.c
+++ /dev/null
@@ -1,21 +0,0 @@
-/* csinhf.c */
-/*
- Contributed by Danny Smith
- 2004-12-24
-*/
-
-
-#include <math.h>
-#include <complex.h>
-
-/* csinh (x + I * y) = sinh (x) * cos (y)
- + I * (cosh (x) * sin (y)) */
-
-
-float complex csinhf (float complex Z)
-{
- float complex Res;
- __real__ Res = sinhf (__real__ Z) * cosf (__imag__ Z);
- __imag__ Res = coshf (__real__ Z) * sinf (__imag__ Z);
- return Res;
-}
diff --git a/winsup/mingw/mingwex/complex/csinhl.c b/winsup/mingw/mingwex/complex/csinhl.c
deleted file mode 100755
index 187ccf0f6..000000000
--- a/winsup/mingw/mingwex/complex/csinhl.c
+++ /dev/null
@@ -1,20 +0,0 @@
-/* csinhl.c */
-/*
- Contributed by Danny Smith
- 2005-01-04
-*/
-
-#include <math.h>
-#include <complex.h>
-
-/* csinh (x + I * y) = sinh (x) * cos (y)
- + I * (cosh (x) * sin (y)) */
-
-
-long double complex csinhl (long double complex Z)
-{
- long double complex Res;
- __real__ Res = sinhl (__real__ Z) * cosl (__imag__ Z);
- __imag__ Res = coshl (__real__ Z) * sinl (__imag__ Z);
- return Res;
-}
diff --git a/winsup/mingw/mingwex/complex/csinl.c b/winsup/mingw/mingwex/complex/csinl.c
deleted file mode 100755
index 2a98c7c0f..000000000
--- a/winsup/mingw/mingwex/complex/csinl.c
+++ /dev/null
@@ -1,21 +0,0 @@
-/* csinl.c */
-
-/*
- Contributed by Danny Smith
- 2005-01-04
-*/
-
-#include <math.h>
-#include <complex.h>
-
-/* csin (x + I * y) = sin (x) * cosh (y)
- + I * (cos (x) * sinh (y)) */
-
-long double complex csinl (long double complex Z)
-{
- long double complex Res;
- __real__ Res = sinl (__real__ Z) * coshl ( __imag__ Z);
- __imag__ Res = cosl (__real__ Z) * sinhl ( __imag__ Z);
- return Res;
-}
-
diff --git a/winsup/mingw/mingwex/complex/csqrt.c b/winsup/mingw/mingwex/complex/csqrt.c
deleted file mode 100644
index b5f8868e9..000000000
--- a/winsup/mingw/mingwex/complex/csqrt.c
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- csqrt.c
- Contributed by Danny Smith
- 2003-10-20
-*/
-
-#include <math.h>
-#include <complex.h>
-
-double complex csqrt (double complex Z)
-{
- double complex Res;
- double t;
- double x = __real__ Z;
- double y = __imag__ Z;
-
- if (y == 0.0)
- {
- if (x < 0.0)
- {
- __real__ Res = 0.0;
- __imag__ Res = sqrt (-x);
- }
- else
- {
- __real__ Res = sqrt (x);
- __imag__ Res = 0.0;
- }
- }
-
- else if (x == 0.0)
- {
- t = sqrt(0.5 * fabs (y));
- __real__ Res = t;
- __imag__ Res = y > 0 ? t : -t;
- }
-
- else
- {
- t = sqrt (2.0 * (_hypot (x, y) + fabs (x)));
- double u = t / 2.0;
- if ( x > 0.0)
- {
- __real__ Res = u;
- __imag__ Res = y / t;
- }
- else
- {
- __real__ Res = fabs ( y / t);
- __imag__ Res = y < 0.0 ? -u : u;
- }
- }
-
- return Res;
-}
-
diff --git a/winsup/mingw/mingwex/complex/csqrtf.c b/winsup/mingw/mingwex/complex/csqrtf.c
deleted file mode 100755
index 7c37e99ce..000000000
--- a/winsup/mingw/mingwex/complex/csqrtf.c
+++ /dev/null
@@ -1,49 +0,0 @@
-#include <math.h>
-#include <complex.h>
-
-float complex csqrtf (float complex Z)
-{
- float complex Res;
- float r;
- float x = __real__ Z;
- float y = __imag__ Z;
-
- if (y == 0.0f)
- {
- if (x < 0.0f)
- {
- __real__ Res = 0.0f;
- __imag__ Res = sqrtf (-x);
- }
- else
- {
- __real__ Res = sqrtf (x);
- __imag__ Res = 0.0f;
- }
- }
-
- else if (x == 0.0f)
- {
- r = sqrtf(0.5f * fabsf (y));
- __real__ Res = r;
- __imag__ Res = y > 0 ? r : -r;
- }
-
- else
- {
- float t = sqrtf (2 * (_hypot (__real__ Z, __imag__ Z) + fabsf (x)));
- float u = t / 2.0f;
- if ( x > 0.0f)
- {
- __real__ Res = u;
- __imag__ Res = y / t;
- }
- else
- {
- __real__ Res = fabsf (y / t);
- __imag__ Res = y < 0 ? -u : u;
- }
- }
-
- return Res;
-}
diff --git a/winsup/mingw/mingwex/complex/csqrtl.c b/winsup/mingw/mingwex/complex/csqrtl.c
deleted file mode 100755
index 1b2ebbe5b..000000000
--- a/winsup/mingw/mingwex/complex/csqrtl.c
+++ /dev/null
@@ -1,55 +0,0 @@
-/* csqrtl.c */
-/*
- Contributed by Danny Smith
- 2005-01-04
-*/
-
-#include <math.h>
-#include <complex.h>
-
-long double complex csqrtl (long double complex Z)
-{
- long double complex Res;
- long double r;
- long double x = __real__ Z;
- long double y = __imag__ Z;
-
- if (y == 0.0L)
- {
- if (x < 0.0L)
- {
- __real__ Res = 0.0L;
- __imag__ Res = sqrtl (-x);
- }
- else
- {
- __real__ Res = sqrtl (x);
- __imag__ Res = 0.0L;
- }
- }
-
- else if (x == 0.0L)
- {
- r = sqrtl(0.5L * fabsl (y));
- __real__ Res = r;
- __imag__ Res = y > 0 ? r : -r;
- }
-
- else
- {
- long double t = sqrtl (2.0L * (hypotl (__real__ Z, __imag__ Z) + fabsl (x)));
- long double u = t / 2.0L;
- if ( x > 0.0L)
- {
- __real__ Res = u;
- __imag__ Res = y / t;
- }
- else
- {
- __real__ Res = fabsl (y / t);
- __imag__ Res = y < 0 ? -u : u;
- }
- }
-
- return Res;
-}
diff --git a/winsup/mingw/mingwex/complex/ctan.c b/winsup/mingw/mingwex/complex/ctan.c
deleted file mode 100644
index a479772a9..000000000
--- a/winsup/mingw/mingwex/complex/ctan.c
+++ /dev/null
@@ -1,41 +0,0 @@
-/* ctan.c */
-
-/*
- Contributed by Danny Smith
- 2003-10-20
-*/
-
-#include <math.h>
-#include <complex.h>
-#include <errno.h>
-
-
-/* ctan (x + I * y) = (sin (2 * x) + I * sinh(2 * y))
- / (cos (2 * x) + cosh (2 * y)) */
-
-double complex ctan (double complex Z)
-{
- double complex Res;
- double two_I = 2.0 * __imag__ Z;
- double two_R = 2.0 * __real__ Z;
- double denom = cos (two_R) + cosh (two_I);
- if (denom == 0.0)
- {
- errno = ERANGE;
- __real__ Res = HUGE_VAL;
- __imag__ Res = HUGE_VAL;
- }
- else if (isinf (denom))
- {
- errno = ERANGE;
- __real__ Res = 0.0;
- __imag__ Res = two_I > 0 ? 1.0 : -1.0;
- }
- else
- {
- __real__ Res = sin (two_R) / denom;
- __imag__ Res = sinh (two_I) / denom;
- }
- return Res;
-}
-
diff --git a/winsup/mingw/mingwex/complex/ctanf.c b/winsup/mingw/mingwex/complex/ctanf.c
deleted file mode 100755
index 99699e427..000000000
--- a/winsup/mingw/mingwex/complex/ctanf.c
+++ /dev/null
@@ -1,41 +0,0 @@
-/* ctanf.c */
-
-/*
- Contributed by Danny Smith
- 2004-12-24
-*/
-
-#include <math.h>
-#include <complex.h>
-#include <errno.h>
-
-
-/* ctan (x + I * y) = (sin (2 * x) + I * sinh(2 * y))
- / (cos (2 * x) + cosh (2 * y)) */
-
-float complex ctanf (float complex Z)
-{
- float complex Res;
- float two_I = 2.0f * __imag__ Z;
- float two_R = 2.0f * __real__ Z;
- float denom = cosf (two_R) + coshf (two_I);
- if (denom == 0.0f)
- {
- errno = ERANGE;
- __real__ Res = HUGE_VALF;
- __imag__ Res = HUGE_VALF;
- }
- else if (isinf (denom))
- {
- errno = ERANGE;
- __real__ Res = 0.0;
- __imag__ Res = two_I > 0 ? 1.0f : -1.0f;
- }
- else
- {
- __real__ Res = sinf (two_R) / denom;
- __imag__ Res = sinhf (two_I) / denom;
- }
- return Res;
-}
-
diff --git a/winsup/mingw/mingwex/complex/ctanh.c b/winsup/mingw/mingwex/complex/ctanh.c
deleted file mode 100644
index 6d3e615da..000000000
--- a/winsup/mingw/mingwex/complex/ctanh.c
+++ /dev/null
@@ -1,44 +0,0 @@
-/* ctanh.c */
-
-/*
- Contributed by Danny Smith
- 2003-10-20
-*/
-
-
-#include <math.h>
-#include <complex.h>
-#include <errno.h>
-
-/*
- ctanh (x + I * y) = (sinh (2 * x) + sin (2 * y) * I )
- / (cosh (2 * x) + cos (2 * y)) .
-*/
-
-double complex
-ctanh (double complex Z)
-{
- double complex Res;
- double two_R = 2.0 * __real__ Z;
- double two_I = 2.0 * __imag__ Z;
- double denom = cosh (two_R) + cos (two_I);
-
- if (denom == 0.0)
- {
- errno = ERANGE;
- __real__ Res = HUGE_VAL;
- __imag__ Res = HUGE_VAL;
- }
- else if ( isinf (denom))
- {
- errno = ERANGE;
- __real__ Res = two_R > 0 ? 1.0 : -1.0;
- __imag__ Res = 0.0;
- }
- else
- {
- __real__ Res = sinh (two_R) / denom;
- __imag__ Res = sin (two_I) / denom;
- }
- return Res;
-}
diff --git a/winsup/mingw/mingwex/complex/ctanhf.c b/winsup/mingw/mingwex/complex/ctanhf.c
deleted file mode 100755
index 82a9c9a43..000000000
--- a/winsup/mingw/mingwex/complex/ctanhf.c
+++ /dev/null
@@ -1,44 +0,0 @@
-/* ctanhf.c */
-
-/*
- Contributed by Danny Smith
- 2004-12-24
-*/
-
-
-#include <math.h>
-#include <complex.h>
-#include <errno.h>
-
-/*
- ctanh (x + I * y) = (sinh (2 * x) + sin (2 * y) * I )
- / (cosh (2 * x) + cos (2 * y)) .
-*/
-
-float complex
-ctanhf (float complex Z)
-{
- float complex Res;
- float two_R = 2.0f * __real__ Z;
- float two_I = 2.0f * __imag__ Z;
- float denom = coshf (two_R) + cosf (two_I);
-
- if (denom == 0.0f)
- {
- errno = ERANGE;
- __real__ Res = HUGE_VALF;
- __imag__ Res = HUGE_VALF;
- }
- else if (isinf (denom))
- {
- errno = ERANGE;
- __real__ Res = two_R > 0 ? 1.0f : -1.0f;
- __imag__ Res = 0.0f;
- }
- else
- {
- __real__ Res = sinhf (two_R) / denom;
- __imag__ Res = sinf (two_I) / denom;
- }
- return Res;
-}
diff --git a/winsup/mingw/mingwex/complex/ctanhl.c b/winsup/mingw/mingwex/complex/ctanhl.c
deleted file mode 100755
index 050b636a1..000000000
--- a/winsup/mingw/mingwex/complex/ctanhl.c
+++ /dev/null
@@ -1,44 +0,0 @@
-/* ctanhl.c */
-
-/*
- Contributed by Danny Smith
- 2005-01-04
-*/
-
-
-#include <math.h>
-#include <complex.h>
-#include <errno.h>
-
-/*
- ctanh (x + I * y) = (sinh (2 * x) + sin (2 * y) * I )
- / (cosh (2 * x) + cos (2 * y)) .
-*/
-
-long double complex
-ctanhl (long double complex Z)
-{
- long double complex Res;
- long double two_R = 2.0L * __real__ Z;
- long double two_I = 2.0L * __imag__ Z;
- long double denom = coshl (two_R) + cosl (two_I);
-
- if (denom == 0.0L)
- {
- errno = ERANGE;
- __real__ Res = HUGE_VALL;
- __imag__ Res = HUGE_VALL;
- }
- else if (isinf (denom))
- {
- errno = ERANGE;
- __real__ Res = two_R > 0 ? 1.0L : -1.0L;
- __imag__ Res = 0.0L;
- }
- else
- {
- __real__ Res = sinhl (two_R) / denom;
- __imag__ Res = sinl (two_I) / denom;
- }
- return Res;
-}
diff --git a/winsup/mingw/mingwex/complex/ctanl.c b/winsup/mingw/mingwex/complex/ctanl.c
deleted file mode 100755
index 7d3076159..000000000
--- a/winsup/mingw/mingwex/complex/ctanl.c
+++ /dev/null
@@ -1,41 +0,0 @@
-/* ctanl.c */
-
-/*
- Contributed by Danny Smith
- 2005-01-04
-*/
-
-#include <math.h>
-#include <complex.h>
-#include <errno.h>
-
-
-/* ctan (x + I * y) = (sin (2 * x) + I * sinh(2 * y))
- / (cos (2 * x) + cosh (2 * y)) */
-
-long double complex ctanl (long double complex Z)
-{
- long double complex Res;
- long double two_I = 2.0L * __imag__ Z;
- long double two_R = 2.0L * __real__ Z;
- long double denom = cosl (two_R) + coshl (two_I);
- if (denom == 0.0L)
- {
- errno = ERANGE;
- __real__ Res = HUGE_VALL;
- __imag__ Res = HUGE_VALL;
- }
- else if (isinf (denom))
- {
- errno = ERANGE;
- __real__ Res = 0.0;
- __imag__ Res = two_I > 0 ? 1.0L : -1.0L;
- }
- else
- {
- __real__ Res = sinl (two_R) / denom;
- __imag__ Res = sinhl (two_I) / denom;
- }
- return Res;
-}
-
diff --git a/winsup/mingw/mingwex/configure b/winsup/mingw/mingwex/configure
deleted file mode 100755
index b369222b7..000000000
--- a/winsup/mingw/mingwex/configure
+++ /dev/null
@@ -1,1011 +0,0 @@
-#! /bin/sh
-
-# Guess values for system-dependent variables and create Makefiles.
-# Generated automatically using autoconf version 2.13
-# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
-#
-# This configure script is free software; the Free Software Foundation
-# gives unlimited permission to copy, distribute and modify it.
-
-# Defaults:
-ac_help=
-ac_default_prefix=/usr/local
-# Any additions from configure.in:
-
-# Initialize some variables set by options.
-# The variables have the same names as the options, with
-# dashes changed to underlines.
-build=NONE
-cache_file=./config.cache
-exec_prefix=NONE
-host=NONE
-no_create=
-nonopt=NONE
-no_recursion=
-prefix=NONE
-program_prefix=NONE
-program_suffix=NONE
-program_transform_name=s,x,x,
-silent=
-site=
-srcdir=
-target=NONE
-verbose=
-x_includes=NONE
-x_libraries=NONE
-bindir='${exec_prefix}/bin'
-sbindir='${exec_prefix}/sbin'
-libexecdir='${exec_prefix}/libexec'
-datadir='${prefix}/share'
-sysconfdir='${prefix}/etc'
-sharedstatedir='${prefix}/com'
-localstatedir='${prefix}/var'
-libdir='${exec_prefix}/lib'
-includedir='${prefix}/include'
-oldincludedir='/usr/include'
-infodir='${prefix}/info'
-mandir='${prefix}/man'
-
-# Initialize some other variables.
-subdirs=
-MFLAGS= MAKEFLAGS=
-SHELL=${CONFIG_SHELL-/bin/sh}
-# Maximum number of lines to put in a shell here document.
-ac_max_here_lines=12
-
-ac_prev=
-for ac_option
-do
-
- # If the previous option needs an argument, assign it.
- if test -n "$ac_prev"; then
- eval "$ac_prev=\$ac_option"
- ac_prev=
- continue
- fi
-
- case "$ac_option" in
- -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
- *) ac_optarg= ;;
- esac
-
- # Accept the important Cygnus configure options, so we can diagnose typos.
-
- case "$ac_option" in
-
- -bindir | --bindir | --bindi | --bind | --bin | --bi)
- ac_prev=bindir ;;
- -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
- bindir="$ac_optarg" ;;
-
- -build | --build | --buil | --bui | --bu)
- ac_prev=build ;;
- -build=* | --build=* | --buil=* | --bui=* | --bu=*)
- build="$ac_optarg" ;;
-
- -cache-file | --cache-file | --cache-fil | --cache-fi \
- | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
- ac_prev=cache_file ;;
- -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
- | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
- cache_file="$ac_optarg" ;;
-
- -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
- ac_prev=datadir ;;
- -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
- | --da=*)
- datadir="$ac_optarg" ;;
-
- -disable-* | --disable-*)
- ac_feature=`echo $ac_option|sed -e 's/-*disable-//'`
- # Reject names that are not valid shell variable names.
- if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then
- { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
- fi
- ac_feature=`echo $ac_feature| sed 's/-/_/g'`
- eval "enable_${ac_feature}=no" ;;
-
- -enable-* | --enable-*)
- ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'`
- # Reject names that are not valid shell variable names.
- if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then
- { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
- fi
- ac_feature=`echo $ac_feature| sed 's/-/_/g'`
- case "$ac_option" in
- *=*) ;;
- *) ac_optarg=yes ;;
- esac
- eval "enable_${ac_feature}='$ac_optarg'" ;;
-
- -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
- | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
- | --exec | --exe | --ex)
- ac_prev=exec_prefix ;;
- -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
- | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
- | --exec=* | --exe=* | --ex=*)
- exec_prefix="$ac_optarg" ;;
-
- -gas | --gas | --ga | --g)
- # Obsolete; use --with-gas.
- with_gas=yes ;;
-
- -help | --help | --hel | --he)
- # Omit some internal or obsolete options to make the list less imposing.
- # This message is too long to be a string in the A/UX 3.1 sh.
- cat << EOF
-Usage: configure [options] [host]
-Options: [defaults in brackets after descriptions]
-Configuration:
- --cache-file=FILE cache test results in FILE
- --help print this message
- --no-create do not create output files
- --quiet, --silent do not print \`checking...' messages
- --version print the version of autoconf that created configure
-Directory and file names:
- --prefix=PREFIX install architecture-independent files in PREFIX
- [$ac_default_prefix]
- --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
- [same as prefix]
- --bindir=DIR user executables in DIR [EPREFIX/bin]
- --sbindir=DIR system admin executables in DIR [EPREFIX/sbin]
- --libexecdir=DIR program executables in DIR [EPREFIX/libexec]
- --datadir=DIR read-only architecture-independent data in DIR
- [PREFIX/share]
- --sysconfdir=DIR read-only single-machine data in DIR [PREFIX/etc]
- --sharedstatedir=DIR modifiable architecture-independent data in DIR
- [PREFIX/com]
- --localstatedir=DIR modifiable single-machine data in DIR [PREFIX/var]
- --libdir=DIR object code libraries in DIR [EPREFIX/lib]
- --includedir=DIR C header files in DIR [PREFIX/include]
- --oldincludedir=DIR C header files for non-gcc in DIR [/usr/include]
- --infodir=DIR info documentation in DIR [PREFIX/info]
- --mandir=DIR man documentation in DIR [PREFIX/man]
- --srcdir=DIR find the sources in DIR [configure dir or ..]
- --program-prefix=PREFIX prepend PREFIX to installed program names
- --program-suffix=SUFFIX append SUFFIX to installed program names
- --program-transform-name=PROGRAM
- run sed PROGRAM on installed program names
-EOF
- cat << EOF
-Host type:
- --build=BUILD configure for building on BUILD [BUILD=HOST]
- --host=HOST configure for HOST [guessed]
- --target=TARGET configure for TARGET [TARGET=HOST]
-Features and packages:
- --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
- --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
- --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
- --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
- --x-includes=DIR X include files are in DIR
- --x-libraries=DIR X library files are in DIR
-EOF
- if test -n "$ac_help"; then
- echo "--enable and --with options recognized:$ac_help"
- fi
- exit 0 ;;
-
- -host | --host | --hos | --ho)
- ac_prev=host ;;
- -host=* | --host=* | --hos=* | --ho=*)
- host="$ac_optarg" ;;
-
- -includedir | --includedir | --includedi | --included | --include \
- | --includ | --inclu | --incl | --inc)
- ac_prev=includedir ;;
- -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
- | --includ=* | --inclu=* | --incl=* | --inc=*)
- includedir="$ac_optarg" ;;
-
- -infodir | --infodir | --infodi | --infod | --info | --inf)
- ac_prev=infodir ;;
- -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
- infodir="$ac_optarg" ;;
-
- -libdir | --libdir | --libdi | --libd)
- ac_prev=libdir ;;
- -libdir=* | --libdir=* | --libdi=* | --libd=*)
- libdir="$ac_optarg" ;;
-
- -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
- | --libexe | --libex | --libe)
- ac_prev=libexecdir ;;
- -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
- | --libexe=* | --libex=* | --libe=*)
- libexecdir="$ac_optarg" ;;
-
- -localstatedir | --localstatedir | --localstatedi | --localstated \
- | --localstate | --localstat | --localsta | --localst \
- | --locals | --local | --loca | --loc | --lo)
- ac_prev=localstatedir ;;
- -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
- | --localstate=* | --localstat=* | --localsta=* | --localst=* \
- | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
- localstatedir="$ac_optarg" ;;
-
- -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
- ac_prev=mandir ;;
- -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
- mandir="$ac_optarg" ;;
-
- -nfp | --nfp | --nf)
- # Obsolete; use --without-fp.
- with_fp=no ;;
-
- -no-create | --no-create | --no-creat | --no-crea | --no-cre \
- | --no-cr | --no-c)
- no_create=yes ;;
-
- -no-recursion | --no-recursion | --no-recursio | --no-recursi \
- | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
- no_recursion=yes ;;
-
- -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
- | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
- | --oldin | --oldi | --old | --ol | --o)
- ac_prev=oldincludedir ;;
- -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
- | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
- | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
- oldincludedir="$ac_optarg" ;;
-
- -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
- ac_prev=prefix ;;
- -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
- prefix="$ac_optarg" ;;
-
- -program-prefix | --program-prefix | --program-prefi | --program-pref \
- | --program-pre | --program-pr | --program-p)
- ac_prev=program_prefix ;;
- -program-prefix=* | --program-prefix=* | --program-prefi=* \
- | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
- program_prefix="$ac_optarg" ;;
-
- -program-suffix | --program-suffix | --program-suffi | --program-suff \
- | --program-suf | --program-su | --program-s)
- ac_prev=program_suffix ;;
- -program-suffix=* | --program-suffix=* | --program-suffi=* \
- | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
- program_suffix="$ac_optarg" ;;
-
- -program-transform-name | --program-transform-name \
- | --program-transform-nam | --program-transform-na \
- | --program-transform-n | --program-transform- \
- | --program-transform | --program-transfor \
- | --program-transfo | --program-transf \
- | --program-trans | --program-tran \
- | --progr-tra | --program-tr | --program-t)
- ac_prev=program_transform_name ;;
- -program-transform-name=* | --program-transform-name=* \
- | --program-transform-nam=* | --program-transform-na=* \
- | --program-transform-n=* | --program-transform-=* \
- | --program-transform=* | --program-transfor=* \
- | --program-transfo=* | --program-transf=* \
- | --program-trans=* | --program-tran=* \
- | --progr-tra=* | --program-tr=* | --program-t=*)
- program_transform_name="$ac_optarg" ;;
-
- -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- | -silent | --silent | --silen | --sile | --sil)
- silent=yes ;;
-
- -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
- ac_prev=sbindir ;;
- -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
- | --sbi=* | --sb=*)
- sbindir="$ac_optarg" ;;
-
- -sharedstatedir | --sharedstatedir | --sharedstatedi \
- | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
- | --sharedst | --shareds | --shared | --share | --shar \
- | --sha | --sh)
- ac_prev=sharedstatedir ;;
- -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
- | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
- | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
- | --sha=* | --sh=*)
- sharedstatedir="$ac_optarg" ;;
-
- -site | --site | --sit)
- ac_prev=site ;;
- -site=* | --site=* | --sit=*)
- site="$ac_optarg" ;;
-
- -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
- ac_prev=srcdir ;;
- -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
- srcdir="$ac_optarg" ;;
-
- -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
- | --syscon | --sysco | --sysc | --sys | --sy)
- ac_prev=sysconfdir ;;
- -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
- | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
- sysconfdir="$ac_optarg" ;;
-
- -target | --target | --targe | --targ | --tar | --ta | --t)
- ac_prev=target ;;
- -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
- target="$ac_optarg" ;;
-
- -v | -verbose | --verbose | --verbos | --verbo | --verb)
- verbose=yes ;;
-
- -version | --version | --versio | --versi | --vers)
- echo "configure generated by autoconf version 2.13"
- exit 0 ;;
-
- -with-* | --with-*)
- ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'`
- # Reject names that are not valid shell variable names.
- if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then
- { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
- fi
- ac_package=`echo $ac_package| sed 's/-/_/g'`
- case "$ac_option" in
- *=*) ;;
- *) ac_optarg=yes ;;
- esac
- eval "with_${ac_package}='$ac_optarg'" ;;
-
- -without-* | --without-*)
- ac_package=`echo $ac_option|sed -e 's/-*without-//'`
- # Reject names that are not valid shell variable names.
- if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then
- { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
- fi
- ac_package=`echo $ac_package| sed 's/-/_/g'`
- eval "with_${ac_package}=no" ;;
-
- --x)
- # Obsolete; use --with-x.
- with_x=yes ;;
-
- -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
- | --x-incl | --x-inc | --x-in | --x-i)
- ac_prev=x_includes ;;
- -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
- | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
- x_includes="$ac_optarg" ;;
-
- -x-libraries | --x-libraries | --x-librarie | --x-librari \
- | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
- ac_prev=x_libraries ;;
- -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
- | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
- x_libraries="$ac_optarg" ;;
-
- -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; }
- ;;
-
- *)
- if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then
- echo "configure: warning: $ac_option: invalid host type" 1>&2
- fi
- if test "x$nonopt" != xNONE; then
- { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; }
- fi
- nonopt="$ac_option"
- ;;
-
- esac
-done
-
-if test -n "$ac_prev"; then
- { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; }
-fi
-
-trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
-
-# File descriptor usage:
-# 0 standard input
-# 1 file creation
-# 2 errors and warnings
-# 3 some systems may open it to /dev/tty
-# 4 used on the Kubota Titan
-# 6 checking for... messages and results
-# 5 compiler messages saved in config.log
-if test "$silent" = yes; then
- exec 6>/dev/null
-else
- exec 6>&1
-fi
-exec 5>./config.log
-
-echo "\
-This file contains any messages produced by compilers while
-running configure, to aid debugging if configure makes a mistake.
-" 1>&5
-
-# Strip out --no-create and --no-recursion so they do not pile up.
-# Also quote any args containing shell metacharacters.
-ac_configure_args=
-for ac_arg
-do
- case "$ac_arg" in
- -no-create | --no-create | --no-creat | --no-crea | --no-cre \
- | --no-cr | --no-c) ;;
- -no-recursion | --no-recursion | --no-recursio | --no-recursi \
- | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;;
- *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*)
- ac_configure_args="$ac_configure_args '$ac_arg'" ;;
- *) ac_configure_args="$ac_configure_args $ac_arg" ;;
- esac
-done
-
-# NLS nuisances.
-# Only set these to C if already set. These must not be set unconditionally
-# because not all systems understand e.g. LANG=C (notably SCO).
-# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'!
-# Non-C LC_CTYPE values break the ctype check.
-if test "${LANG+set}" = set; then LANG=C; export LANG; fi
-if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
-if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi
-if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi
-
-# confdefs.h avoids OS command line length limits that DEFS can exceed.
-rm -rf conftest* confdefs.h
-# AIX cpp loses on an empty file, so make sure it contains at least a newline.
-echo > confdefs.h
-
-# A filename unique to this package, relative to the directory that
-# configure is in, which we can look for to find out if srcdir is correct.
-ac_unique_file=imaxabs.c
-
-# Find the source files, if location was not specified.
-if test -z "$srcdir"; then
- ac_srcdir_defaulted=yes
- # Try the directory containing this script, then its parent.
- ac_prog=$0
- ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'`
- test "x$ac_confdir" = "x$ac_prog" && ac_confdir=.
- srcdir=$ac_confdir
- if test ! -r $srcdir/$ac_unique_file; then
- srcdir=..
- fi
-else
- ac_srcdir_defaulted=no
-fi
-if test ! -r $srcdir/$ac_unique_file; then
- if test "$ac_srcdir_defaulted" = yes; then
- { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; }
- else
- { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; }
- fi
-fi
-srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'`
-
-# Prefer explicitly selected file to automatically selected ones.
-if test -z "$CONFIG_SITE"; then
- if test "x$prefix" != xNONE; then
- CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
- else
- CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
- fi
-fi
-for ac_site_file in $CONFIG_SITE; do
- if test -r "$ac_site_file"; then
- echo "loading site script $ac_site_file"
- . "$ac_site_file"
- fi
-done
-
-if test -r "$cache_file"; then
- echo "loading cache $cache_file"
- . $cache_file
-else
- echo "creating cache $cache_file"
- > $cache_file
-fi
-
-ac_ext=c
-# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
-ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
-cross_compiling=$ac_cv_prog_cc_cross
-
-ac_exeext=
-ac_objext=o
-if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
- # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
- if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
- ac_n= ac_c='
-' ac_t=' '
- else
- ac_n=-n ac_c= ac_t=
- fi
-else
- ac_n= ac_c='\c' ac_t=
-fi
-
-
-
-CC=${CC-cc}
-
-AS=${AS-as}
-
-AR=${AR-ar}
-
-LD=${LD-ld}
-
-RANLIB=${RANLIB-ranlib}
-
-DLLTOOL=${DLLTOOL-dlltool}
-
-DLLWRAP=${DLLWRAP-dllwrap}
-
-ac_aux_dir=
-for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do
- if test -f $ac_dir/install-sh; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/install-sh -c"
- break
- elif test -f $ac_dir/install.sh; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/install.sh -c"
- break
- fi
-done
-if test -z "$ac_aux_dir"; then
- { echo "configure: error: can not find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." 1>&2; exit 1; }
-fi
-ac_config_guess=$ac_aux_dir/config.guess
-ac_config_sub=$ac_aux_dir/config.sub
-ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
-
-
-# Do some error checking and defaulting for the host and target type.
-# The inputs are:
-# configure --host=HOST --target=TARGET --build=BUILD NONOPT
-#
-# The rules are:
-# 1. You are not allowed to specify --host, --target, and nonopt at the
-# same time.
-# 2. Host defaults to nonopt.
-# 3. If nonopt is not specified, then host defaults to the current host,
-# as determined by config.guess.
-# 4. Target and build default to nonopt.
-# 5. If nonopt is not specified, then target and build default to host.
-
-# The aliases save the names the user supplied, while $host etc.
-# will get canonicalized.
-case $host---$target---$nonopt in
-NONE---*---* | *---NONE---* | *---*---NONE) ;;
-*) { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; } ;;
-esac
-
-
-# Make sure we can run config.sub.
-if ${CONFIG_SHELL-/bin/sh} $ac_config_sub sun4 >/dev/null 2>&1; then :
-else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
-fi
-
-echo $ac_n "checking host system type""... $ac_c" 1>&6
-echo "configure:587: checking host system type" >&5
-
-host_alias=$host
-case "$host_alias" in
-NONE)
- case $nonopt in
- NONE)
- if host_alias=`${CONFIG_SHELL-/bin/sh} $ac_config_guess`; then :
- else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; }
- fi ;;
- *) host_alias=$nonopt ;;
- esac ;;
-esac
-
-host=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $host_alias`
-host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
-host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
-host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
-echo "$ac_t""$host" 1>&6
-
-echo $ac_n "checking target system type""... $ac_c" 1>&6
-echo "configure:608: checking target system type" >&5
-
-target_alias=$target
-case "$target_alias" in
-NONE)
- case $nonopt in
- NONE) target_alias=$host_alias ;;
- *) target_alias=$nonopt ;;
- esac ;;
-esac
-
-target=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $target_alias`
-target_cpu=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
-target_vendor=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
-target_os=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
-echo "$ac_t""$target" 1>&6
-
-echo $ac_n "checking build system type""... $ac_c" 1>&6
-echo "configure:626: checking build system type" >&5
-
-build_alias=$build
-case "$build_alias" in
-NONE)
- case $nonopt in
- NONE) build_alias=$host_alias ;;
- *) build_alias=$nonopt ;;
- esac ;;
-esac
-
-build=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $build_alias`
-build_cpu=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
-build_vendor=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
-build_os=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
-echo "$ac_t""$build" 1>&6
-
-test "$host_alias" != "$target_alias" &&
- test "$program_prefix$program_suffix$program_transform_name" = \
- NONENONEs,x,x, &&
- program_prefix=${target_alias}-
-
-
-case "$target_os" in
-*cygwin*)
- MNO_CYGWIN=-mno-cygwin
- ;;
-*)
- # Build it for MSVCRT by default.
- MNO_CYGWIN=
- ;;
-esac
-
-
-
-W32API_INCLUDE='-I $(srcdir)/../../w32api/include'
-
-
-# Find a good install program. We prefer a C program (faster),
-# so one script is as good as another. But avoid the broken or
-# incompatible versions:
-# SysV /etc/install, /usr/sbin/install
-# SunOS /usr/etc/install
-# IRIX /sbin/install
-# AIX /bin/install
-# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
-# AFS /usr/afsws/bin/install, which mishandles nonexistent args
-# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
-# ./install, which can be erroneously created by make from ./install.sh.
-echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
-echo "configure:676: checking for a BSD compatible install" >&5
-if test -z "$INSTALL"; then
-if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":"
- for ac_dir in $PATH; do
- # Account for people who put trailing slashes in PATH elements.
- case "$ac_dir/" in
- /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
- *)
- # OSF1 and SCO ODT 3.0 have their own names for install.
- # Don't use installbsd from OSF since it installs stuff as root
- # by default.
- for ac_prog in ginstall scoinst install; do
- if test -f $ac_dir/$ac_prog; then
- if test $ac_prog = install &&
- grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
- # AIX install. It has an incompatible calling convention.
- :
- else
- ac_cv_path_install="$ac_dir/$ac_prog -c"
- break 2
- fi
- fi
- done
- ;;
- esac
- done
- IFS="$ac_save_IFS"
-
-fi
- if test "${ac_cv_path_install+set}" = set; then
- INSTALL="$ac_cv_path_install"
- else
- # As a last resort, use the slow shell script. We don't cache a
- # path for INSTALL within a source directory, because that will
- # break other packages using the cache if that directory is
- # removed, or if the path is relative.
- INSTALL="$ac_install_sh"
- fi
-fi
-echo "$ac_t""$INSTALL" 1>&6
-
-# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
-# It thinks the first close brace ends the variable substitution.
-test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
-
-test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
-
-test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
-
-trap '' 1 2 15
-cat > confcache <<\EOF
-# This file is a shell script that caches the results of configure
-# tests run on this system so they can be shared between configure
-# scripts and configure runs. It is not useful on other systems.
-# If it contains results you don't want to keep, you may remove or edit it.
-#
-# By default, configure uses ./config.cache as the cache file,
-# creating it if it does not exist already. You can give configure
-# the --cache-file=FILE option to use a different cache file; that is
-# what configure does when it calls configure scripts in
-# subdirectories, so they share the cache.
-# Giving --cache-file=/dev/null disables caching, for debugging configure.
-# config.status only pays attention to the cache file if you give it the
-# --recheck option to rerun configure.
-#
-EOF
-# The following way of writing the cache mishandles newlines in values,
-# but we know of no workaround that is simple, portable, and efficient.
-# So, don't put newlines in cache variables' values.
-# Ultrix sh set writes to stderr and can't be redirected directly,
-# and sets the high bit in the cache file unless we assign to the vars.
-(set) 2>&1 |
- case `(ac_space=' '; set | grep ac_space) 2>&1` in
- *ac_space=\ *)
- # `set' does not quote correctly, so add quotes (double-quote substitution
- # turns \\\\ into \\, and sed turns \\ into \).
- sed -n \
- -e "s/'/'\\\\''/g" \
- -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p"
- ;;
- *)
- # `set' quotes correctly as required by POSIX, so do not add quotes.
- sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p'
- ;;
- esac >> confcache
-if cmp -s $cache_file confcache; then
- :
-else
- if test -w $cache_file; then
- echo "updating cache $cache_file"
- cat confcache > $cache_file
- else
- echo "not updating unwritable cache $cache_file"
- fi
-fi
-rm -f confcache
-
-trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
-
-test "x$prefix" = xNONE && prefix=$ac_default_prefix
-# Let make expand exec_prefix.
-test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
-
-# Any assignment to VPATH causes Sun make to only execute
-# the first set of double-colon rules, so remove it if not needed.
-# If there is a colon in the path, we need to keep it.
-if test "x$srcdir" = x.; then
- ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d'
-fi
-
-trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15
-
-# Transform confdefs.h into DEFS.
-# Protect against shell expansion while executing Makefile rules.
-# Protect against Makefile macro expansion.
-cat > conftest.defs <<\EOF
-s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%-D\1=\2%g
-s%[ `~#$^&*(){}\\|;'"<>?]%\\&%g
-s%\[%\\&%g
-s%\]%\\&%g
-s%\$%$$%g
-EOF
-DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '`
-rm -f conftest.defs
-
-
-# Without the "./", some shells look in PATH for config.status.
-: ${CONFIG_STATUS=./config.status}
-
-echo creating $CONFIG_STATUS
-rm -f $CONFIG_STATUS
-cat > $CONFIG_STATUS <<EOF
-#! /bin/sh
-# Generated automatically by configure.
-# Run this file to recreate the current configuration.
-# This directory was configured as follows,
-# on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
-#
-# $0 $ac_configure_args
-#
-# Compiler output produced by configure, useful for debugging
-# configure, is in ./config.log if it exists.
-
-ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]"
-for ac_option
-do
- case "\$ac_option" in
- -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
- echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
- exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
- -version | --version | --versio | --versi | --vers | --ver | --ve | --v)
- echo "$CONFIG_STATUS generated by autoconf version 2.13"
- exit 0 ;;
- -help | --help | --hel | --he | --h)
- echo "\$ac_cs_usage"; exit 0 ;;
- *) echo "\$ac_cs_usage"; exit 1 ;;
- esac
-done
-
-ac_given_srcdir=$srcdir
-ac_given_INSTALL="$INSTALL"
-
-trap 'rm -fr `echo "Makefile" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
-EOF
-cat >> $CONFIG_STATUS <<EOF
-
-# Protect against being on the right side of a sed subst in config.status.
-sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&%]/\\\\&/g;
- s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF
-$ac_vpsub
-$extrasub
-s%@SHELL@%$SHELL%g
-s%@CFLAGS@%$CFLAGS%g
-s%@CPPFLAGS@%$CPPFLAGS%g
-s%@CXXFLAGS@%$CXXFLAGS%g
-s%@FFLAGS@%$FFLAGS%g
-s%@DEFS@%$DEFS%g
-s%@LDFLAGS@%$LDFLAGS%g
-s%@LIBS@%$LIBS%g
-s%@exec_prefix@%$exec_prefix%g
-s%@prefix@%$prefix%g
-s%@program_transform_name@%$program_transform_name%g
-s%@bindir@%$bindir%g
-s%@sbindir@%$sbindir%g
-s%@libexecdir@%$libexecdir%g
-s%@datadir@%$datadir%g
-s%@sysconfdir@%$sysconfdir%g
-s%@sharedstatedir@%$sharedstatedir%g
-s%@localstatedir@%$localstatedir%g
-s%@libdir@%$libdir%g
-s%@includedir@%$includedir%g
-s%@oldincludedir@%$oldincludedir%g
-s%@infodir@%$infodir%g
-s%@mandir@%$mandir%g
-s%@CC@%$CC%g
-s%@AS@%$AS%g
-s%@AR@%$AR%g
-s%@LD@%$LD%g
-s%@RANLIB@%$RANLIB%g
-s%@DLLTOOL@%$DLLTOOL%g
-s%@DLLWRAP@%$DLLWRAP%g
-s%@host@%$host%g
-s%@host_alias@%$host_alias%g
-s%@host_cpu@%$host_cpu%g
-s%@host_vendor@%$host_vendor%g
-s%@host_os@%$host_os%g
-s%@target@%$target%g
-s%@target_alias@%$target_alias%g
-s%@target_cpu@%$target_cpu%g
-s%@target_vendor@%$target_vendor%g
-s%@target_os@%$target_os%g
-s%@build@%$build%g
-s%@build_alias@%$build_alias%g
-s%@build_cpu@%$build_cpu%g
-s%@build_vendor@%$build_vendor%g
-s%@build_os@%$build_os%g
-s%@MNO_CYGWIN@%$MNO_CYGWIN%g
-s%@W32API_INCLUDE@%$W32API_INCLUDE%g
-s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g
-s%@INSTALL_SCRIPT@%$INSTALL_SCRIPT%g
-s%@INSTALL_DATA@%$INSTALL_DATA%g
-
-CEOF
-EOF
-
-cat >> $CONFIG_STATUS <<\EOF
-
-# Split the substitutions into bite-sized pieces for seds with
-# small command number limits, like on Digital OSF/1 and HP-UX.
-ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script.
-ac_file=1 # Number of current file.
-ac_beg=1 # First line for current file.
-ac_end=$ac_max_sed_cmds # Line after last line for current file.
-ac_more_lines=:
-ac_sed_cmds=""
-while $ac_more_lines; do
- if test $ac_beg -gt 1; then
- sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file
- else
- sed "${ac_end}q" conftest.subs > conftest.s$ac_file
- fi
- if test ! -s conftest.s$ac_file; then
- ac_more_lines=false
- rm -f conftest.s$ac_file
- else
- if test -z "$ac_sed_cmds"; then
- ac_sed_cmds="sed -f conftest.s$ac_file"
- else
- ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file"
- fi
- ac_file=`expr $ac_file + 1`
- ac_beg=$ac_end
- ac_end=`expr $ac_end + $ac_max_sed_cmds`
- fi
-done
-if test -z "$ac_sed_cmds"; then
- ac_sed_cmds=cat
-fi
-EOF
-
-cat >> $CONFIG_STATUS <<EOF
-
-CONFIG_FILES=\${CONFIG_FILES-"Makefile"}
-EOF
-cat >> $CONFIG_STATUS <<\EOF
-for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
- # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
- case "$ac_file" in
- *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
- ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
- *) ac_file_in="${ac_file}.in" ;;
- esac
-
- # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories.
-
- # Remove last slash and all that follows it. Not all systems have dirname.
- ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
- if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
- # The file is in a subdirectory.
- test ! -d "$ac_dir" && mkdir "$ac_dir"
- ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`"
- # A "../" for each directory in $ac_dir_suffix.
- ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'`
- else
- ac_dir_suffix= ac_dots=
- fi
-
- case "$ac_given_srcdir" in
- .) srcdir=.
- if test -z "$ac_dots"; then top_srcdir=.
- else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;;
- /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;;
- *) # Relative path.
- srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix"
- top_srcdir="$ac_dots$ac_given_srcdir" ;;
- esac
-
- case "$ac_given_INSTALL" in
- [/$]*) INSTALL="$ac_given_INSTALL" ;;
- *) INSTALL="$ac_dots$ac_given_INSTALL" ;;
- esac
-
- echo creating "$ac_file"
- rm -f "$ac_file"
- configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure."
- case "$ac_file" in
- *Makefile*) ac_comsub="1i\\
-# $configure_input" ;;
- *) ac_comsub= ;;
- esac
-
- ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
- sed -e "$ac_comsub
-s%@configure_input@%$configure_input%g
-s%@srcdir@%$srcdir%g
-s%@top_srcdir@%$top_srcdir%g
-s%@INSTALL@%$INSTALL%g
-" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file
-fi; done
-rm -f conftest.s*
-
-EOF
-cat >> $CONFIG_STATUS <<EOF
-
-EOF
-cat >> $CONFIG_STATUS <<\EOF
-
-exit 0
-EOF
-chmod +x $CONFIG_STATUS
-rm -fr confdefs* $ac_clean_files
-test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1
-
-
diff --git a/winsup/mingw/mingwex/configure.in b/winsup/mingw/mingwex/configure.in
deleted file mode 100644
index f9b340e29..000000000
--- a/winsup/mingw/mingwex/configure.in
+++ /dev/null
@@ -1,55 +0,0 @@
-dnl Process this file with autoconf to produce a configure script.
-
-dnl This file is part of Mingw runtime.
-dnl
-dnl This program is free software; you can redistribute it and/or modify
-dnl it under the terms of the GNU General Public License as published by
-dnl the Free Software Foundation; either version 2 of the License, or
-dnl (at your option) any later version.
-dnl
-dnl This program is distributed in the hope that it will be useful,
-dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
-dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-dnl GNU General Public License for more details.
-dnl
-dnl You should have received a copy of the GNU General Public License
-dnl along with this program; if not, write to the Free Software
-dnl Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-AC_PREREQ(2.13)
-AC_INIT(imaxabs.c)
-
-CC=${CC-cc}
-AC_SUBST(CC)
-AS=${AS-as}
-AC_SUBST(AS)
-AR=${AR-ar}
-AC_SUBST(AR)
-LD=${LD-ld}
-AC_SUBST(LD)
-RANLIB=${RANLIB-ranlib}
-AC_SUBST(RANLIB)
-DLLTOOL=${DLLTOOL-dlltool}
-AC_SUBST(DLLTOOL)
-DLLWRAP=${DLLWRAP-dllwrap}
-AC_SUBST(DLLWRAP)
-AC_CANONICAL_SYSTEM
-
-case "$target_os" in
-*cygwin*)
- MNO_CYGWIN=-mno-cygwin
- ;;
-*)
- # Build it for MSVCRT by default.
- MNO_CYGWIN=
- ;;
-esac
-
-AC_SUBST(MNO_CYGWIN)
-
-W32API_INCLUDE='-I $(srcdir)/../../w32api/include'
-AC_SUBST(W32API_INCLUDE)
-
-AC_PROG_INSTALL
-AC_OUTPUT(Makefile)
-
diff --git a/winsup/mingw/mingwex/dirent.c b/winsup/mingw/mingwex/dirent.c
deleted file mode 100644
index 3a841d2a9..000000000
--- a/winsup/mingw/mingwex/dirent.c
+++ /dev/null
@@ -1,322 +0,0 @@
-/*
- * dirent.c
- * This file has no copyright assigned and is placed in the Public Domain.
- * This file is a part of the mingw-runtime package.
- * No warranty is given; refer to the file DISCLAIMER within the package.
- *
- * Derived from DIRLIB.C by Matt J. Weinstein
- * This note appears in the DIRLIB.H
- * DIRLIB.H by M. J. Weinstein Released to public domain 1-Jan-89
- *
- * Updated by Jeremy Bettis <jeremy@hksys.com>
- * Significantly revised and rewinddir, seekdir and telldir added by Colin
- * Peters <colin@fu.is.saga-u.ac.jp>
- *
- */
-
-#include <stdlib.h>
-#include <errno.h>
-#include <string.h>
-#include <io.h>
-#include <direct.h>
-#include <dirent.h>
-
-#define WIN32_LEAN_AND_MEAN
-#include <windows.h> /* for GetFileAttributes */
-
-#include <tchar.h>
-#define SUFFIX _T("*")
-#define SLASH _T("\\")
-
-/*
- * opendir
- *
- * Returns a pointer to a DIR structure appropriately filled in to begin
- * searching a directory.
- */
-_TDIR *
-_topendir (const _TCHAR *szPath)
-{
- _TDIR *nd;
- unsigned int rc;
- _TCHAR szFullPath[MAX_PATH];
-
- errno = 0;
-
- if (!szPath)
- {
- errno = EFAULT;
- return (_TDIR *) 0;
- }
-
- if (szPath[0] == _T('\0'))
- {
- errno = ENOTDIR;
- return (_TDIR *) 0;
- }
-
- /* Attempt to determine if the given path really is a directory. */
- rc = GetFileAttributes (szPath);
- if (rc == (unsigned int)-1)
- {
- /* call GetLastError for more error info */
- errno = ENOENT;
- return (_TDIR *) 0;
- }
- if (!(rc & FILE_ATTRIBUTE_DIRECTORY))
- {
- /* Error, entry exists but not a directory. */
- errno = ENOTDIR;
- return (_TDIR *) 0;
- }
-
- /* Make an absolute pathname. */
- _tfullpath (szFullPath, szPath, MAX_PATH);
-
- /* Allocate enough space to store DIR structure and the complete
- * directory path given. */
- nd = (_TDIR *) malloc (sizeof (_TDIR) + (_tcslen (szFullPath)
- + _tcslen (SLASH)
- + _tcslen (SUFFIX) + 1)
- * sizeof (_TCHAR));
-
- if (!nd)
- {
- /* Error, out of memory. */
- errno = ENOMEM;
- return (_TDIR *) 0;
- }
-
- /* Create the search expression. */
- _tcscpy (nd->dd_name, szFullPath);
-
- /* Add on a slash if the path does not end with one. */
- if (nd->dd_name[0] != _T('\0')
- && _tcsrchr (nd->dd_name, _T('/')) != nd->dd_name
- + _tcslen (nd->dd_name) - 1
- && _tcsrchr (nd->dd_name, _T('\\')) != nd->dd_name
- + _tcslen (nd->dd_name) - 1)
- {
- _tcscat (nd->dd_name, SLASH);
- }
-
- /* Add on the search pattern */
- _tcscat (nd->dd_name, SUFFIX);
-
- /* Initialize handle to -1 so that a premature closedir doesn't try
- * to call _findclose on it. */
- nd->dd_handle = -1;
-
- /* Initialize the status. */
- nd->dd_stat = 0;
-
- /* Initialize the dirent structure. ino and reclen are invalid under
- * Win32, and name simply points at the appropriate part of the
- * findfirst_t structure. */
- nd->dd_dir.d_ino = 0;
- nd->dd_dir.d_reclen = 0;
- nd->dd_dir.d_namlen = 0;
- memset (nd->dd_dir.d_name, 0, FILENAME_MAX);
-
- return nd;
-}
-
-
-/*
- * readdir
- *
- * Return a pointer to a dirent structure filled with the information on the
- * next entry in the directory.
- */
-struct _tdirent *
-_treaddir (_TDIR * dirp)
-{
- errno = 0;
-
- /* Check for valid DIR struct. */
- if (!dirp)
- {
- errno = EFAULT;
- return (struct _tdirent *) 0;
- }
-
- if (dirp->dd_stat < 0)
- {
- /* We have already returned all files in the directory
- * (or the structure has an invalid dd_stat). */
- return (struct _tdirent *) 0;
- }
- else if (dirp->dd_stat == 0)
- {
- /* We haven't started the search yet. */
- /* Start the search */
- dirp->dd_handle = _tfindfirst (dirp->dd_name, &(dirp->dd_dta));
-
- if (dirp->dd_handle == -1)
- {
- /* Whoops! Seems there are no files in that
- * directory. */
- dirp->dd_stat = -1;
- }
- else
- {
- dirp->dd_stat = 1;
- }
- }
- else
- {
- /* Get the next search entry. */
- if (_tfindnext (dirp->dd_handle, &(dirp->dd_dta)))
- {
- /* We are off the end or otherwise error.
- _findnext sets errno to ENOENT if no more file
- Undo this. */
- DWORD winerr = GetLastError ();
- if (winerr == ERROR_NO_MORE_FILES)
- errno = 0;
- _findclose (dirp->dd_handle);
- dirp->dd_handle = -1;
- dirp->dd_stat = -1;
- }
- else
- {
- /* Update the status to indicate the correct
- * number. */
- dirp->dd_stat++;
- }
- }
-
- if (dirp->dd_stat > 0)
- {
- /* Successfully got an entry. Everything about the file is
- * already appropriately filled in except the length of the
- * file name. */
- dirp->dd_dir.d_namlen = _tcslen (dirp->dd_dta.name);
- _tcscpy (dirp->dd_dir.d_name, dirp->dd_dta.name);
- return &dirp->dd_dir;
- }
-
- return (struct _tdirent *) 0;
-}
-
-
-/*
- * closedir
- *
- * Frees up resources allocated by opendir.
- */
-int
-_tclosedir (_TDIR * dirp)
-{
- int rc;
-
- errno = 0;
- rc = 0;
-
- if (!dirp)
- {
- errno = EFAULT;
- return -1;
- }
-
- if (dirp->dd_handle != -1)
- {
- rc = _findclose (dirp->dd_handle);
- }
-
- /* Delete the dir structure. */
- free (dirp);
-
- return rc;
-}
-
-/*
- * rewinddir
- *
- * Return to the beginning of the directory "stream". We simply call findclose
- * and then reset things like an opendir.
- */
-void
-_trewinddir (_TDIR * dirp)
-{
- errno = 0;
-
- if (!dirp)
- {
- errno = EFAULT;
- return;
- }
-
- if (dirp->dd_handle != -1)
- {
- _findclose (dirp->dd_handle);
- }
-
- dirp->dd_handle = -1;
- dirp->dd_stat = 0;
-}
-
-/*
- * telldir
- *
- * Returns the "position" in the "directory stream" which can be used with
- * seekdir to go back to an old entry. We simply return the value in stat.
- */
-long
-_ttelldir (_TDIR * dirp)
-{
- errno = 0;
-
- if (!dirp)
- {
- errno = EFAULT;
- return -1;
- }
- return dirp->dd_stat;
-}
-
-/*
- * seekdir
- *
- * Seek to an entry previously returned by telldir. We rewind the directory
- * and call readdir repeatedly until either dd_stat is the position number
- * or -1 (off the end). This is not perfect, in that the directory may
- * have changed while we weren't looking. But that is probably the case with
- * any such system.
- */
-void
-_tseekdir (_TDIR * dirp, long lPos)
-{
- errno = 0;
-
- if (!dirp)
- {
- errno = EFAULT;
- return;
- }
-
- if (lPos < -1)
- {
- /* Seeking to an invalid position. */
- errno = EINVAL;
- return;
- }
- else if (lPos == -1)
- {
- /* Seek past end. */
- if (dirp->dd_handle != -1)
- {
- _findclose (dirp->dd_handle);
- }
- dirp->dd_handle = -1;
- dirp->dd_stat = -1;
- }
- else
- {
- /* Rewind and read forward to the appropriate index. */
- _trewinddir (dirp);
-
- while ((dirp->dd_stat < lPos) && _treaddir (dirp))
- ;
- }
-}
diff --git a/winsup/mingw/mingwex/feclearexcept.c b/winsup/mingw/mingwex/feclearexcept.c
deleted file mode 100644
index 8c943893b..000000000
--- a/winsup/mingw/mingwex/feclearexcept.c
+++ /dev/null
@@ -1,15 +0,0 @@
-#include <fenv.h>
-
-/* 7.6.2.1
- The feclearexcept function clears the supported exceptions
- represented by its argument. */
-
-int feclearexcept (int excepts)
-{
- fenv_t _env;
- __asm__ volatile ("fnstenv %0;" : "=m" (_env)); /* get the env */
- _env.__status_word &= ~(excepts & FE_ALL_EXCEPT); /* clear the except */
- __asm__ volatile ("fldenv %0;" :: "m" (_env)); /*set the env */
-
- return 0;
-}
diff --git a/winsup/mingw/mingwex/fegetenv.c b/winsup/mingw/mingwex/fegetenv.c
deleted file mode 100644
index 930105673..000000000
--- a/winsup/mingw/mingwex/fegetenv.c
+++ /dev/null
@@ -1,14 +0,0 @@
-#include <fenv.h>
-
-/* 7.6.4.1
- The fegetenv function stores the current floating-point environment
- in the object pointed to by envp. */
-
-int fegetenv (fenv_t * envp)
-{
- __asm__ ("fnstenv %0;": "=m" (*envp));
- /* fnstenv sets control word to non-stop for all exceptions, so we
- need to reload our env to restore the original mask. */
- __asm__ ("fldenv %0" : : "m" (*envp));
- return 0;
-}
diff --git a/winsup/mingw/mingwex/fegetexceptflag.c b/winsup/mingw/mingwex/fegetexceptflag.c
deleted file mode 100644
index 353e90dfa..000000000
--- a/winsup/mingw/mingwex/fegetexceptflag.c
+++ /dev/null
@@ -1,15 +0,0 @@
-#include <fenv.h>
-
-
-/* 7.6.2.2
- The fegetexceptflag function stores an implementation-defined
- representation of the exception flags indicated by the argument
- excepts in the object pointed to by the argument flagp. */
-
-int fegetexceptflag (fexcept_t * flagp, int excepts)
-{
- unsigned short _sw;
- __asm__ ("fnstsw %%ax;": "=a" (_sw));
- *flagp = _sw & excepts & FE_ALL_EXCEPT;
- return 0;
-}
diff --git a/winsup/mingw/mingwex/fegetround.c b/winsup/mingw/mingwex/fegetround.c
deleted file mode 100644
index 076b1068c..000000000
--- a/winsup/mingw/mingwex/fegetround.c
+++ /dev/null
@@ -1,14 +0,0 @@
-#include <fenv.h>
-
-/* 7.6.3.1
- The fegetround function returns the value of the rounding direction
- macro representing the current rounding direction. */
-
-int
-fegetround (void)
-{
- unsigned short _cw;
- __asm__ ("fnstcw %0;" : "=m" (_cw));
- return _cw
- & (FE_TONEAREST | FE_DOWNWARD | FE_UPWARD | FE_TOWARDZERO);
-}
diff --git a/winsup/mingw/mingwex/feholdexcept.c b/winsup/mingw/mingwex/feholdexcept.c
deleted file mode 100644
index 8d4a3f67b..000000000
--- a/winsup/mingw/mingwex/feholdexcept.c
+++ /dev/null
@@ -1,16 +0,0 @@
-#include <fenv.h>
-
-/* 7.6.4.2
- The feholdexcept function saves the current floating-point
- environment in the object pointed to by envp, clears the exception
- flags, and then installs a non-stop (continue on exceptions) mode,
- if available, for all exceptions. */
-
-int feholdexcept (fenv_t * envp)
-{
- __asm__ ("fnstenv %0;" : "=m" (* envp)); /* save current into envp */
- /* fnstenv sets control word to non-stop for all exceptions, so all we
- need to do is clear the exception flags. */
- __asm__ ("fnclex");
- return 0;
-}
diff --git a/winsup/mingw/mingwex/feraiseexcept.c b/winsup/mingw/mingwex/feraiseexcept.c
deleted file mode 100644
index b1ba87006..000000000
--- a/winsup/mingw/mingwex/feraiseexcept.c
+++ /dev/null
@@ -1,19 +0,0 @@
-#include <fenv.h>
-
-/* 7.6.2.3
- The feraiseexcept function raises the supported exceptions
- represented by its argument The order in which these exceptions
- are raised is unspecified, except as stated in F.7.6.
- Whether the feraiseexcept function additionally raises
- the inexact exception whenever it raises the overflow
- or underflow exception is implementation-defined. */
-
-int feraiseexcept (int excepts)
-{
- fenv_t _env;
- __asm__ volatile ("fnstenv %0;" : "=m" (_env));
- _env.__status_word |= excepts & FE_ALL_EXCEPT;
- __asm__ volatile ("fldenv %0;"
- "fwait;" : : "m" (_env));
- return 0;
-}
diff --git a/winsup/mingw/mingwex/fesetenv.c b/winsup/mingw/mingwex/fesetenv.c
deleted file mode 100644
index 3d7b5604a..000000000
--- a/winsup/mingw/mingwex/fesetenv.c
+++ /dev/null
@@ -1,43 +0,0 @@
-#include <fenv.h>
-#include <float.h>
-
-/* 7.6.4.3
- The fesetenv function establishes the floating-point environment
- represented by the object pointed to by envp. The argument envp
- points to an object set by a call to fegetenv or feholdexcept, or
- equal the macro FE_DFL_ENV or an implementation-defined environment
- macro. Note that fesetenv merely installs the state of the exception
- flags represented through its argument, and does not raise these
- exceptions.
- */
-
-extern void (*_imp___fpreset)( void ) ;
-
-int fesetenv (const fenv_t * envp)
-{
- if (envp == FE_PC64_ENV)
- /*
- * fninit initializes the control register to 0x37f,
- * the status register to zero and the tag word to 0FFFFh.
- * The other registers are unaffected.
- */
- __asm__ ("fninit");
-
- else if (envp == FE_PC53_ENV)
- /*
- * MS _fpreset() does same *except* it sets control word
- * to 0x27f (53-bit precison).
- * We force calling _fpreset in msvcrt.dll
- */
-
- (*_imp___fpreset)();
-
- else if (envp == FE_DFL_ENV)
- /* Use the choice made at app startup */
- _fpreset();
-
- else
- __asm__ ("fldenv %0;" : : "m" (*envp));
-
- return 0;
-}
diff --git a/winsup/mingw/mingwex/fesetexceptflag.c b/winsup/mingw/mingwex/fesetexceptflag.c
deleted file mode 100644
index 7f4b8e562..000000000
--- a/winsup/mingw/mingwex/fesetexceptflag.c
+++ /dev/null
@@ -1,22 +0,0 @@
-#include <fenv.h>
-
-/* 7.6.2.4
- The fesetexceptflag function sets the complete status for those
- exception flags indicated by the argument excepts, according to the
- representation in the object pointed to by flagp. The value of
- *flagp shall have been set by a previous call to fegetexceptflag
- whose second argument represented at least those exceptions
- represented by the argument excepts. This function does not raise
- exceptions, but only sets the state of the flags. */
-
-int fesetexceptflag (const fexcept_t * flagp, int excepts)
-{
- fenv_t _env;
-
- excepts &= FE_ALL_EXCEPT;
- __asm__ volatile ("fnstenv %0;" : "=m" (_env));
- _env.__status_word &= ~excepts;
- _env.__status_word |= (*flagp & excepts);
- __asm__ volatile ("fldenv %0;" : : "m" (_env));
- return 0;
-}
diff --git a/winsup/mingw/mingwex/fesetround.c b/winsup/mingw/mingwex/fesetround.c
deleted file mode 100644
index a8cef86a4..000000000
--- a/winsup/mingw/mingwex/fesetround.c
+++ /dev/null
@@ -1,19 +0,0 @@
-#include <fenv.h>
- /* 7.6.3.2
- The fesetround function establishes the rounding direction
- represented by its argument round. If the argument is not equal
- to the value of a rounding direction macro, the rounding direction
- is not changed. */
-
-int fesetround (int mode)
-{
- unsigned short _cw;
- if ((mode & ~(FE_TONEAREST | FE_DOWNWARD | FE_UPWARD | FE_TOWARDZERO))
- != 0)
- return -1;
- __asm__ volatile ("fnstcw %0;": "=m" (_cw));
- _cw &= ~(FE_TONEAREST | FE_DOWNWARD | FE_UPWARD | FE_TOWARDZERO);
- _cw |= mode;
- __asm__ volatile ("fldcw %0;" : : "m" (_cw));
- return 0;
-}
diff --git a/winsup/mingw/mingwex/fetestexcept.c b/winsup/mingw/mingwex/fetestexcept.c
deleted file mode 100644
index 6934ed925..000000000
--- a/winsup/mingw/mingwex/fetestexcept.c
+++ /dev/null
@@ -1,15 +0,0 @@
-#include <fenv.h>
-/* 7.6.2.5
- The fetestexcept function determines which of a specified subset of
- the exception flags are currently set. The excepts argument
- specifies the exception flags to be queried.
- The fetestexcept function returns the value of the bitwise OR of the
- exception macros corresponding to the currently set exceptions
- included in excepts. */
-
-int fetestexcept (int excepts)
-{
- unsigned short _sw;
- __asm__ ("fnstsw %%ax" : "=a" (_sw));
- return _sw & excepts & FE_ALL_EXCEPT;
-}
diff --git a/winsup/mingw/mingwex/feupdateenv.c b/winsup/mingw/mingwex/feupdateenv.c
deleted file mode 100644
index f414837f5..000000000
--- a/winsup/mingw/mingwex/feupdateenv.c
+++ /dev/null
@@ -1,20 +0,0 @@
-#include <fenv.h>
-
-/* 7.6.4.4
- The feupdateenv function saves the currently raised exceptions in
- its automatic storage, installs the floating-point environment
- represented by the object pointed to by envp, and then raises the
- saved exceptions. The argument envp shall point to an object
- set by a call to feholdexcept or fegetenv, or equal the macro
- FE_DFL_ENV or an implementation-defined environment macro. */
-
-/* FIXME: this works but surely there must be a better way. */
-
-int feupdateenv (const fenv_t * envp)
-{
- unsigned int _fexcept = fetestexcept (FE_ALL_EXCEPT); /*save excepts */
- fesetenv (envp); /* install the env */
- feraiseexcept (_fexcept); /* raise the execept */
- return 0;
-}
-
diff --git a/winsup/mingw/mingwex/ftruncate.c b/winsup/mingw/mingwex/ftruncate.c
deleted file mode 100755
index fdb62951a..000000000
--- a/winsup/mingw/mingwex/ftruncate.c
+++ /dev/null
@@ -1,5 +0,0 @@
-#include <unistd.h>
-int ftruncate(int __fd, off_t __length)
-{
- return _chsize (__fd, __length);
-}
diff --git a/winsup/mingw/mingwex/fwide.c b/winsup/mingw/mingwex/fwide.c
deleted file mode 100644
index aba863970..000000000
--- a/winsup/mingw/mingwex/fwide.c
+++ /dev/null
@@ -1,26 +0,0 @@
-/* This source code was extracted from the Q8 package created and placed
- in the PUBLIC DOMAIN by Doug Gwyn <gwyn@arl.mil>
- last edit: 1999/11/05 gwyn@arl.mil
-
- Implements subclause 7.24 of ISO/IEC 9899:1999 (E).
-
- This is a minimal implementation for environments where
- internationalization is not considered important.
-
- It supports an encoding where all char codes are mapped
- to the *same* code values within a wchar_t or wint_t,
- so long as no other wchar_t codes are used by the program.
-
-*/
-
-#include <wchar.h>
-#include <stdio.h>
-
-int
-fwide(stream, mode)
- FILE *stream;
- int mode;
- {
- return -1; /* limited to byte orientation */
- }
-
diff --git a/winsup/mingw/mingwex/getopt.c b/winsup/mingw/mingwex/getopt.c
deleted file mode 100644
index 6b19df7dd..000000000
--- a/winsup/mingw/mingwex/getopt.c
+++ /dev/null
@@ -1,507 +0,0 @@
-/* $NetBSD: getopt_long.c,v 1.15 2002/01/31 22:43:40 tv Exp $ */
-
-/*-
- * Copyright (c) 2000 The NetBSD Foundation, Inc.
- * All rights reserved.
- *
- * This code is derived from software contributed to The NetBSD Foundation
- * by Dieter Baron and Thomas Klausner.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgement:
- * This product includes software developed by the NetBSD
- * Foundation, Inc. and its contributors.
- * 4. Neither the name of The NetBSD Foundation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
- * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
- * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include <assert.h>
-#include <errno.h>
-#include <stdlib.h>
-#include <string.h>
-#include <getopt.h>
-#include <stdarg.h>
-#include <stdio.h>
-
-#define REPLACE_GETOPT
-
-#define _DIAGASSERT(x) do {} while (0)
-
-#ifdef REPLACE_GETOPT
-#ifdef __weak_alias
-__weak_alias(getopt,_getopt)
-#endif
-int opterr = 1; /* if error message should be printed */
-int optind = 1; /* index into parent argv vector */
-int optopt = '?'; /* character checked for validity */
-int optreset; /* reset getopt */
-char *optarg; /* argument associated with option */
-#endif
-
-#ifdef __weak_alias
-__weak_alias(getopt_long,_getopt_long)
-#endif
-
-#ifndef __CYGWIN__
-#define __progname __argv[0]
-#else
-extern char __declspec(dllimport) *__progname;
-#endif
-
-#define IGNORE_FIRST (*options == '-' || *options == '+')
-#define PRINT_ERROR ((opterr) && ((*options != ':') \
- || (IGNORE_FIRST && options[1] != ':')))
-
-/* This differs from the cygwin implementation, which effectively defaults to
- PC, but is consistent with the NetBSD implementation and doc's. */
-#ifndef IS_POSIXLY_CORRECT
-#define IS_POSIXLY_CORRECT (getenv("POSIXLY_CORRECT") != NULL)
-#endif
-
-#define PERMUTE (!IS_POSIXLY_CORRECT && !IGNORE_FIRST)
-/* XXX: GNU ignores PC if *options == '-' */
-#define IN_ORDER (!IS_POSIXLY_CORRECT && *options == '-')
-
-/* return values */
-#define BADCH (int)'?'
-#define BADARG ((IGNORE_FIRST && options[1] == ':') \
- || (*options == ':') ? (int)':' : (int)'?')
-#define INORDER (int)1
-
-static char EMSG[1];
-
-static int getopt_internal (int, char * const *, const char *);
-static int gcd (int, int);
-static void permute_args (int, int, int, char * const *);
-
-static char *place = EMSG; /* option letter processing */
-
-/* XXX: set optreset to 1 rather than these two */
-static int nonopt_start = -1; /* first non option argument (for permute) */
-static int nonopt_end = -1; /* first option after non options (for permute) */
-
-/* Error messages */
-static const char recargchar[] = "option requires an argument -- %c";
-static const char recargstring[] = "option requires an argument -- %s";
-static const char ambig[] = "ambiguous option -- %.*s";
-static const char noarg[] = "option doesn't take an argument -- %.*s";
-static const char illoptchar[] = "unknown option -- %c";
-static const char illoptstring[] = "unknown option -- %s";
-
-static void
-_vwarnx(const char *fmt, va_list ap)
-{
- (void)fprintf(stderr, "%s: ", __progname);
- if (fmt != NULL)
- (void)vfprintf(stderr, fmt, ap);
- (void)fprintf(stderr, "\n");
-}
-
-static void
-warnx(const char *fmt, ...)
-{
- va_list ap;
- va_start(ap, fmt);
- _vwarnx(fmt, ap);
- va_end(ap);
-}
-
-/*
- * Compute the greatest common divisor of a and b.
- */
-static int
-gcd(a, b)
- int a;
- int b;
-{
- int c;
-
- c = a % b;
- while (c != 0) {
- a = b;
- b = c;
- c = a % b;
- }
-
- return b;
-}
-
-/*
- * Exchange the block from nonopt_start to nonopt_end with the block
- * from nonopt_end to opt_end (keeping the same order of arguments
- * in each block).
- */
-static void
-permute_args(panonopt_start, panonopt_end, opt_end, nargv)
- int panonopt_start;
- int panonopt_end;
- int opt_end;
- char * const *nargv;
-{
- int cstart, cyclelen, i, j, ncycle, nnonopts, nopts, pos;
- char *swap;
-
- _DIAGASSERT(nargv != NULL);
-
- /*
- * compute lengths of blocks and number and size of cycles
- */
- nnonopts = panonopt_end - panonopt_start;
- nopts = opt_end - panonopt_end;
- ncycle = gcd(nnonopts, nopts);
- cyclelen = (opt_end - panonopt_start) / ncycle;
-
- for (i = 0; i < ncycle; i++) {
- cstart = panonopt_end+i;
- pos = cstart;
- for (j = 0; j < cyclelen; j++) {
- if (pos >= panonopt_end)
- pos -= nnonopts;
- else
- pos += nopts;
- swap = nargv[pos];
- /* LINTED const cast */
- ((char **) nargv)[pos] = nargv[cstart];
- /* LINTED const cast */
- ((char **)nargv)[cstart] = swap;
- }
- }
-}
-
-/*
- * getopt_internal --
- * Parse argc/argv argument vector. Called by user level routines.
- * Returns -2 if -- is found (can be long option or end of options marker).
- */
-static int
-getopt_internal(nargc, nargv, options)
- int nargc;
- char * const *nargv;
- const char *options;
-{
- char *oli; /* option letter list index */
- int optchar;
-
- _DIAGASSERT(nargv != NULL);
- _DIAGASSERT(options != NULL);
-
- optarg = NULL;
-
- /*
- * XXX Some programs (like rsyncd) expect to be able to
- * XXX re-initialize optind to 0 and have getopt_long(3)
- * XXX properly function again. Work around this braindamage.
- */
- if (optind == 0)
- optind = 1;
-
- if (optreset)
- nonopt_start = nonopt_end = -1;
-start:
- if (optreset || !*place) { /* update scanning pointer */
- optreset = 0;
- if (optind >= nargc) { /* end of argument vector */
- place = EMSG;
- if (nonopt_end != -1) {
- /* do permutation, if we have to */
- permute_args(nonopt_start, nonopt_end,
- optind, nargv);
- optind -= nonopt_end - nonopt_start;
- }
- else if (nonopt_start != -1) {
- /*
- * If we skipped non-options, set optind
- * to the first of them.
- */
- optind = nonopt_start;
- }
- nonopt_start = nonopt_end = -1;
- return -1;
- }
- if ((*(place = nargv[optind]) != '-')
- || (place[1] == '\0')) { /* found non-option */
- place = EMSG;
- if (IN_ORDER) {
- /*
- * GNU extension:
- * return non-option as argument to option 1
- */
- optarg = nargv[optind++];
- return INORDER;
- }
- if (!PERMUTE) {
- /*
- * if no permutation wanted, stop parsing
- * at first non-option
- */
- return -1;
- }
- /* do permutation */
- if (nonopt_start == -1)
- nonopt_start = optind;
- else if (nonopt_end != -1) {
- permute_args(nonopt_start, nonopt_end,
- optind, nargv);
- nonopt_start = optind -
- (nonopt_end - nonopt_start);
- nonopt_end = -1;
- }
- optind++;
- /* process next argument */
- goto start;
- }
- if (nonopt_start != -1 && nonopt_end == -1)
- nonopt_end = optind;
- if (place[1] && *++place == '-') { /* found "--" */
- place++;
- return -2;
- }
- }
- if ((optchar = (int)*place++) == (int)':' ||
- (oli = strchr(options + (IGNORE_FIRST ? 1 : 0), optchar)) == NULL) {
- /* option letter unknown or ':' */
- if (!*place)
- ++optind;
- if (PRINT_ERROR)
- warnx(illoptchar, optchar);
- optopt = optchar;
- return BADCH;
- }
- if (optchar == 'W' && oli[1] == ';') { /* -W long-option */
- /* XXX: what if no long options provided (called by getopt)? */
- if (*place)
- return -2;
-
- if (++optind >= nargc) { /* no arg */
- place = EMSG;
- if (PRINT_ERROR)
- warnx(recargchar, optchar);
- optopt = optchar;
- return BADARG;
- } else /* white space */
- place = nargv[optind];
- /*
- * Handle -W arg the same as --arg (which causes getopt to
- * stop parsing).
- */
- return -2;
- }
- if (*++oli != ':') { /* doesn't take argument */
- if (!*place)
- ++optind;
- } else { /* takes (optional) argument */
- optarg = NULL;
- if (*place) /* no white space */
- optarg = place;
- /* XXX: disable test for :: if PC? (GNU doesn't) */
- else if (oli[1] != ':') { /* arg not optional */
- if (++optind >= nargc) { /* no arg */
- place = EMSG;
- if (PRINT_ERROR)
- warnx(recargchar, optchar);
- optopt = optchar;
- return BADARG;
- } else
- optarg = nargv[optind];
- }
- place = EMSG;
- ++optind;
- }
- /* dump back option letter */
- return optchar;
-}
-
-#ifdef REPLACE_GETOPT
-/*
- * getopt --
- * Parse argc/argv argument vector.
- *
- * [eventually this will replace the real getopt]
- */
-int
-getopt(nargc, nargv, options)
- int nargc;
- char * const *nargv;
- const char *options;
-{
- int retval;
-
- _DIAGASSERT(nargv != NULL);
- _DIAGASSERT(options != NULL);
-
- if ((retval = getopt_internal(nargc, nargv, options)) == -2) {
- ++optind;
- /*
- * We found an option (--), so if we skipped non-options,
- * we have to permute.
- */
- if (nonopt_end != -1) {
- permute_args(nonopt_start, nonopt_end, optind,
- nargv);
- optind -= nonopt_end - nonopt_start;
- }
- nonopt_start = nonopt_end = -1;
- retval = -1;
- }
- return retval;
-}
-#endif
-
-/*
- * getopt_long --
- * Parse argc/argv argument vector.
- */
-int
-getopt_long(nargc, nargv, options, long_options, idx)
- int nargc;
- char * const *nargv;
- const char *options;
- const struct option *long_options;
- int *idx;
-{
- int retval;
-
- _DIAGASSERT(nargv != NULL);
- _DIAGASSERT(options != NULL);
- _DIAGASSERT(long_options != NULL);
- /* idx may be NULL */
-
- if ((retval = getopt_internal(nargc, nargv, options)) == -2) {
- char *current_argv, *has_equal;
- size_t current_argv_len;
- int i, match;
-
- current_argv = place;
- match = -1;
-
- optind++;
- place = EMSG;
-
- if (*current_argv == '\0') { /* found "--" */
- /*
- * We found an option (--), so if we skipped
- * non-options, we have to permute.
- */
- if (nonopt_end != -1) {
- permute_args(nonopt_start, nonopt_end,
- optind, nargv);
- optind -= nonopt_end - nonopt_start;
- }
- nonopt_start = nonopt_end = -1;
- return -1;
- }
- if ((has_equal = strchr(current_argv, '=')) != NULL) {
- /* argument found (--option=arg) */
- current_argv_len = has_equal - current_argv;
- has_equal++;
- } else
- current_argv_len = strlen(current_argv);
-
- for (i = 0; long_options[i].name; i++) {
- /* find matching long option */
- if (strncmp(current_argv, long_options[i].name,
- current_argv_len))
- continue;
-
- if (strlen(long_options[i].name) ==
- (unsigned)current_argv_len) {
- /* exact match */
- match = i;
- break;
- }
- if (match == -1) /* partial match */
- match = i;
- else {
- /* ambiguous abbreviation */
- if (PRINT_ERROR)
- warnx(ambig, (int)current_argv_len,
- current_argv);
- optopt = 0;
- return BADCH;
- }
- }
- if (match != -1) { /* option found */
- if (long_options[match].has_arg == no_argument
- && has_equal) {
- if (PRINT_ERROR)
- warnx(noarg, (int)current_argv_len,
- current_argv);
- /*
- * XXX: GNU sets optopt to val regardless of
- * flag
- */
- if (long_options[match].flag == NULL)
- optopt = long_options[match].val;
- else
- optopt = 0;
- return BADARG;
- }
- if (long_options[match].has_arg == required_argument ||
- long_options[match].has_arg == optional_argument) {
- if (has_equal)
- optarg = has_equal;
- else if (long_options[match].has_arg ==
- required_argument) {
- /*
- * optional argument doesn't use
- * next nargv
- */
- optarg = nargv[optind++];
- }
- }
- if ((long_options[match].has_arg == required_argument)
- && (optarg == NULL)) {
- /*
- * Missing argument; leading ':'
- * indicates no error should be generated
- */
- if (PRINT_ERROR)
- warnx(recargstring, current_argv);
- /*
- * XXX: GNU sets optopt to val regardless
- * of flag
- */
- if (long_options[match].flag == NULL)
- optopt = long_options[match].val;
- else
- optopt = 0;
- --optind;
- return BADARG;
- }
- } else { /* unknown option */
- if (PRINT_ERROR)
- warnx(illoptstring, current_argv);
- optopt = 0;
- return BADCH;
- }
- if (long_options[match].flag) {
- *long_options[match].flag = long_options[match].val;
- retval = 0;
- } else
- retval = long_options[match].val;
- if (idx)
- *idx = match;
- }
- return retval;
-}
diff --git a/winsup/mingw/mingwex/imaxabs.c b/winsup/mingw/mingwex/imaxabs.c
deleted file mode 100644
index b643ceab6..000000000
--- a/winsup/mingw/mingwex/imaxabs.c
+++ /dev/null
@@ -1,17 +0,0 @@
-/*
- This source code was extracted from the Q8 package created and
- placed in the PUBLIC DOMAIN by Doug Gwyn <gwyn@arl.mil>
- last edit: 1999/11/05 gwyn@arl.mil
-
- Implements subclause 7.8.2 of ISO/IEC 9899:1999 (E).
-
- This particular implementation requires the matching <inttypes.h>.
-*/
-
-#include <inttypes.h>
-
-intmax_t
-imaxabs (intmax_t _j)
- { return _j >= 0 ? _j : -_j; }
-
-long long __attribute__ ((alias ("imaxabs"))) llabs (long long);
diff --git a/winsup/mingw/mingwex/imaxdiv.c b/winsup/mingw/mingwex/imaxdiv.c
deleted file mode 100644
index 6acfcf6cb..000000000
--- a/winsup/mingw/mingwex/imaxdiv.c
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- This source code was extracted from the Q8 package created and
- placed in the PUBLIC DOMAIN by Doug Gwyn <gwyn@arl.mil>
- last edit: 1999/11/05 gwyn@arl.mil
-
-
- last edit: 1999/11/05 gwyn@arl.mil
-
- Implements subclause 7.8.2 of ISO/IEC 9899:1999 (E).
-
-*/
-
-#include <inttypes.h>
-
-imaxdiv_t
-imaxdiv(intmax_t numer, intmax_t denom)
-{
- imaxdiv_t result;
- result.quot = numer / denom;
- result.rem = numer % denom;
- return result;
-}
-
-long long __attribute__ ((alias ("imaxdiv")))
-lldiv (long long, long long);
diff --git a/winsup/mingw/mingwex/ldtoa.c b/winsup/mingw/mingwex/ldtoa.c
deleted file mode 100644
index 09dc7911b..000000000
--- a/winsup/mingw/mingwex/ldtoa.c
+++ /dev/null
@@ -1,614 +0,0 @@
-/* This file is extracted from S L Moshier's ioldoubl.c,
- * modified for use in MinGW
- *
- * Extended precision arithmetic functions for long double I/O.
- * This program has been placed in the public domain.
- */
-
-
-/*
- * Revision history:
- *
- * 5 Jan 84 PDP-11 assembly language version
- * 6 Dec 86 C language version
- * 30 Aug 88 100 digit version, improved rounding
- * 15 May 92 80-bit long double support
- *
- * Author: S. L. Moshier.
- *
- * 6 Oct 02 Modified for MinGW by inlining utility routines,
- * removing global variables and splitting out strtold
- * from _IO_ldtoa and _IO_ldtostr.
- *
- * Danny Smith <dannysmith@users.sourceforge.net>
- *
- */
-
-
-#ifdef USE_LDTOA
-
-#include "math/cephes_emath.h"
-
-#if NE == 10
-
-/* 1.0E0 */
-static const unsigned short __eone[NE] =
- {0x0000, 0x0000, 0x0000, 0x0000,
- 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0x3fff,};
-
-#else
-
-static const unsigned short __eone[NE] = {
-0, 0000000,0000000,0000000,0100000,0x3fff,};
-#endif
-
-
-#if NE == 10
-static const unsigned short __etens[NTEN + 1][NE] =
-{
- {0x6576, 0x4a92, 0x804a, 0x153f,
- 0xc94c, 0x979a, 0x8a20, 0x5202, 0xc460, 0x7525,}, /* 10**4096 */
- {0x6a32, 0xce52, 0x329a, 0x28ce,
- 0xa74d, 0x5de4, 0xc53d, 0x3b5d, 0x9e8b, 0x5a92,}, /* 10**2048 */
- {0x526c, 0x50ce, 0xf18b, 0x3d28,
- 0x650d, 0x0c17, 0x8175, 0x7586, 0xc976, 0x4d48,},
- {0x9c66, 0x58f8, 0xbc50, 0x5c54,
- 0xcc65, 0x91c6, 0xa60e, 0xa0ae, 0xe319, 0x46a3,},
- {0x851e, 0xeab7, 0x98fe, 0x901b,
- 0xddbb, 0xde8d, 0x9df9, 0xebfb, 0xaa7e, 0x4351,},
- {0x0235, 0x0137, 0x36b1, 0x336c,
- 0xc66f, 0x8cdf, 0x80e9, 0x47c9, 0x93ba, 0x41a8,},
- {0x50f8, 0x25fb, 0xc76b, 0x6b71,
- 0x3cbf, 0xa6d5, 0xffcf, 0x1f49, 0xc278, 0x40d3,},
- {0x0000, 0x0000, 0x0000, 0x0000,
- 0xf020, 0xb59d, 0x2b70, 0xada8, 0x9dc5, 0x4069,},
- {0x0000, 0x0000, 0x0000, 0x0000,
- 0x0000, 0x0000, 0x0400, 0xc9bf, 0x8e1b, 0x4034,},
- {0x0000, 0x0000, 0x0000, 0x0000,
- 0x0000, 0x0000, 0x0000, 0x2000, 0xbebc, 0x4019,},
- {0x0000, 0x0000, 0x0000, 0x0000,
- 0x0000, 0x0000, 0x0000, 0x0000, 0x9c40, 0x400c,},
- {0x0000, 0x0000, 0x0000, 0x0000,
- 0x0000, 0x0000, 0x0000, 0x0000, 0xc800, 0x4005,},
- {0x0000, 0x0000, 0x0000, 0x0000,
- 0x0000, 0x0000, 0x0000, 0x0000, 0xa000, 0x4002,}, /* 10**1 */
-};
-
-#else
-static const unsigned short __etens[NTEN+1][NE] = {
-{0xc94c,0x979a,0x8a20,0x5202,0xc460,0x7525,},/* 10**4096 */
-{0xa74d,0x5de4,0xc53d,0x3b5d,0x9e8b,0x5a92,},/* 10**2048 */
-{0x650d,0x0c17,0x8175,0x7586,0xc976,0x4d48,},
-{0xcc65,0x91c6,0xa60e,0xa0ae,0xe319,0x46a3,},
-{0xddbc,0xde8d,0x9df9,0xebfb,0xaa7e,0x4351,},
-{0xc66f,0x8cdf,0x80e9,0x47c9,0x93ba,0x41a8,},
-{0x3cbf,0xa6d5,0xffcf,0x1f49,0xc278,0x40d3,},
-{0xf020,0xb59d,0x2b70,0xada8,0x9dc5,0x4069,},
-{0x0000,0x0000,0x0400,0xc9bf,0x8e1b,0x4034,},
-{0x0000,0x0000,0x0000,0x2000,0xbebc,0x4019,},
-{0x0000,0x0000,0x0000,0x0000,0x9c40,0x400c,},
-{0x0000,0x0000,0x0000,0x0000,0xc800,0x4005,},
-{0x0000,0x0000,0x0000,0x0000,0xa000,0x4002,}, /* 10**1 */
-};
-#endif
-
-#if NE == 10
-static const unsigned short __emtens[NTEN + 1][NE] =
-{
- {0x2030, 0xcffc, 0xa1c3, 0x8123,
- 0x2de3, 0x9fde, 0xd2ce, 0x04c8, 0xa6dd, 0x0ad8,}, /* 10**-4096 */
- {0x8264, 0xd2cb, 0xf2ea, 0x12d4,
- 0x4925, 0x2de4, 0x3436, 0x534f, 0xceae, 0x256b,}, /* 10**-2048 */
- {0xf53f, 0xf698, 0x6bd3, 0x0158,
- 0x87a6, 0xc0bd, 0xda57, 0x82a5, 0xa2a6, 0x32b5,},
- {0xe731, 0x04d4, 0xe3f2, 0xd332,
- 0x7132, 0xd21c, 0xdb23, 0xee32, 0x9049, 0x395a,},
- {0xa23e, 0x5308, 0xfefb, 0x1155,
- 0xfa91, 0x1939, 0x637a, 0x4325, 0xc031, 0x3cac,},
- {0xe26d, 0xdbde, 0xd05d, 0xb3f6,
- 0xac7c, 0xe4a0, 0x64bc, 0x467c, 0xddd0, 0x3e55,},
- {0x2a20, 0x6224, 0x47b3, 0x98d7,
- 0x3f23, 0xe9a5, 0xa539, 0xea27, 0xa87f, 0x3f2a,},
- {0x0b5b, 0x4af2, 0xa581, 0x18ed,
- 0x67de, 0x94ba, 0x4539, 0x1ead, 0xcfb1, 0x3f94,},
- {0xbf71, 0xa9b3, 0x7989, 0xbe68,
- 0x4c2e, 0xe15b, 0xc44d, 0x94be, 0xe695, 0x3fc9,},
- {0x3d4d, 0x7c3d, 0x36ba, 0x0d2b,
- 0xfdc2, 0xcefc, 0x8461, 0x7711, 0xabcc, 0x3fe4,},
- {0xc155, 0xa4a8, 0x404e, 0x6113,
- 0xd3c3, 0x652b, 0xe219, 0x1758, 0xd1b7, 0x3ff1,},
- {0xd70a, 0x70a3, 0x0a3d, 0xa3d7,
- 0x3d70, 0xd70a, 0x70a3, 0x0a3d, 0xa3d7, 0x3ff8,},
- {0xcccd, 0xcccc, 0xcccc, 0xcccc,
- 0xcccc, 0xcccc, 0xcccc, 0xcccc, 0xcccc, 0x3ffb,}, /* 10**-1 */
-};
-
-#else
-static const unsigned short __emtens[NTEN+1][NE] = {
-{0x2de4,0x9fde,0xd2ce,0x04c8,0xa6dd,0x0ad8,}, /* 10**-4096 */
-{0x4925,0x2de4,0x3436,0x534f,0xceae,0x256b,}, /* 10**-2048 */
-{0x87a6,0xc0bd,0xda57,0x82a5,0xa2a6,0x32b5,},
-{0x7133,0xd21c,0xdb23,0xee32,0x9049,0x395a,},
-{0xfa91,0x1939,0x637a,0x4325,0xc031,0x3cac,},
-{0xac7d,0xe4a0,0x64bc,0x467c,0xddd0,0x3e55,},
-{0x3f24,0xe9a5,0xa539,0xea27,0xa87f,0x3f2a,},
-{0x67de,0x94ba,0x4539,0x1ead,0xcfb1,0x3f94,},
-{0x4c2f,0xe15b,0xc44d,0x94be,0xe695,0x3fc9,},
-{0xfdc2,0xcefc,0x8461,0x7711,0xabcc,0x3fe4,},
-{0xd3c3,0x652b,0xe219,0x1758,0xd1b7,0x3ff1,},
-{0x3d71,0xd70a,0x70a3,0x0a3d,0xa3d7,0x3ff8,},
-{0xcccd,0xcccc,0xcccc,0xcccc,0xcccc,0x3ffb,}, /* 10**-1 */
-};
-#endif
-
-/* This routine will not return more than NDEC+1 digits. */
-void __etoasc(short unsigned int * __restrict__ x,
- char * __restrict__ string,
- const int ndigits, const int outformat,
- int* outexp)
-{
-long digit;
-unsigned short y[NI], t[NI], u[NI], w[NI], equot[NI];
-const unsigned short *r, *p;
-const unsigned short *ten;
-unsigned short sign;
-int i, j, k, expon, ndigs;
-char *s, *ss;
-unsigned short m;
-
-ndigs = ndigits;
-#ifdef NANS
-if( __eisnan(x) )
- {
- sprintf( string, " NaN " );
- expon = 9999;
- goto bxit;
- }
-#endif
-__emov( x, y ); /* retain external format */
-if( y[NE-1] & 0x8000 )
- {
- sign = 0xffff;
- y[NE-1] &= 0x7fff;
- }
-else
- {
- sign = 0;
- }
-expon = 0;
-ten = &__etens[NTEN][0];
-__emov( __eone, t );
-/* Test for zero exponent */
-if( y[NE-1] == 0 )
- {
- for( k=0; k<NE-1; k++ )
- {
- if( y[k] != 0 )
- goto tnzro; /* denormalized number */
- }
- goto isone; /* legal all zeros */
- }
-tnzro:
-
-/* Test for infinity.
- */
-if( y[NE-1] == 0x7fff )
- {
- if( sign )
- sprintf( string, " -Infinity " );
- else
- sprintf( string, " Infinity " );
- expon = 9999;
- goto bxit;
- }
-
-/* Test for exponent nonzero but significand denormalized.
- * This is an error condition.
- */
-if( (y[NE-1] != 0) && ((y[NE-2] & 0x8000) == 0) )
- {
- mtherr( "etoasc", DOMAIN );
- sprintf( string, "NaN" );
- expon = 9999;
- goto bxit;
- }
-
-/* Compare to 1.0 */
-i = __ecmp( __eone, y );
-if( i == 0 )
- goto isone;
-
-if( i < 0 )
- { /* Number is greater than 1 */
-/* Convert significand to an integer and strip trailing decimal zeros. */
- __emov( y, u );
- u[NE-1] = EXONE + NBITS - 1;
-
- p = &__etens[NTEN-4][0];
- m = 16;
-do
- {
- __ediv( p, u, t);
- __efloor( t, w );
- for( j=0; j<NE-1; j++ )
- {
- if( t[j] != w[j] )
- goto noint;
- }
- __emov( t, u );
- expon += (int )m;
-noint:
- p += NE;
- m >>= 1;
- }
-while( m != 0 );
-
-/* Rescale from integer significand */
- u[NE-1] += y[NE-1] - (unsigned int )(EXONE + NBITS - 1);
- __emov( u, y );
-/* Find power of 10 */
- __emov( __eone, t );
- m = MAXP;
- p = &__etens[0][0];
- while( __ecmp( ten, u ) <= 0 )
- {
- if( __ecmp( p, u ) <= 0 )
- {
- __ediv( p, u, u );
- __emul( p, t, t );
- expon += (int )m;
- }
- m >>= 1;
- if( m == 0 )
- break;
- p += NE;
- }
- }
-else
- { /* Number is less than 1.0 */
-/* Pad significand with trailing decimal zeros. */
- if( y[NE-1] == 0 )
- {
- while( (y[NE-2] & 0x8000) == 0 )
- {
- __emul( ten, y, y );
- expon -= 1;
- }
- }
- else
- {
- __emovi( y, w );
- for( i=0; i<NDEC+1; i++ )
- {
- if( (w[NI-1] & 0x7) != 0 )
- break;
-/* multiply by 10 */
- __emovz( w, u );
- __eshdn1( u );
- __eshdn1( u );
- __eaddm( w, u );
- u[1] += 3;
- while( u[2] != 0 )
- {
- __eshdn1(u);
- u[1] += 1;
- }
- if( u[NI-1] != 0 )
- break;
- if( __eone[NE-1] <= u[1] )
- break;
- __emovz( u, w );
- expon -= 1;
- }
- __emovo( w, y );
- }
- k = -MAXP;
- p = &__emtens[0][0];
- r = &__etens[0][0];
- __emov( y, w );
- __emov( __eone, t );
- while( __ecmp( __eone, w ) > 0 )
- {
- if( __ecmp( p, w ) >= 0 )
- {
- __emul( r, w, w );
- __emul( r, t, t );
- expon += k;
- }
- k /= 2;
- if( k == 0 )
- break;
- p += NE;
- r += NE;
- }
- __ediv( t, __eone, t );
- }
-isone:
-/* Find the first (leading) digit. */
-__emovi( t, w );
-__emovz( w, t );
-__emovi( y, w );
-__emovz( w, y );
-__eiremain( t, y, equot);
-digit = equot[NI-1];
-while( (digit == 0) && (__eiszero(y) == 0) )
- {
- __eshup1( y );
- __emovz( y, u );
- __eshup1( u );
- __eshup1( u );
- __eaddm( u, y );
- __eiremain( t, y, equot);
- digit = equot[NI-1];
- expon -= 1;
- }
-s = string;
-if( sign )
- *s++ = '-';
-else
- *s++ = ' ';
-/* Examine number of digits requested by caller. */
-if( outformat == 3 )
- ndigs += expon;
-/*
-else if( ndigs < 0 )
- ndigs = 0;
-*/
-if( ndigs > NDEC )
- ndigs = NDEC;
-if( digit == 10 )
- {
- *s++ = '1';
- *s++ = '.';
- if( ndigs > 0 )
- {
- *s++ = '0';
- ndigs -= 1;
- }
- expon += 1;
- if( ndigs < 0 )
- {
- ss = s;
- goto doexp;
- }
- }
-else
- {
- *s++ = (char )digit + '0';
- *s++ = '.';
- }
-/* Generate digits after the decimal point. */
-for( k=0; k<=ndigs; k++ )
- {
-/* multiply current number by 10, without normalizing */
- __eshup1( y );
- __emovz( y, u );
- __eshup1( u );
- __eshup1( u );
- __eaddm( u, y );
- __eiremain( t, y, equot);
- *s++ = (char )equot[NI-1] + '0';
- }
-digit = equot[NI-1];
---s;
-ss = s;
-/* round off the ASCII string */
-if( digit > 4 )
- {
-/* Test for critical rounding case in ASCII output. */
- if( digit == 5 )
- {
- if( __eiiszero(y) == 0 )
- goto roun; /* round to nearest */
- if( (*(s-1) & 1) == 0 )
- goto doexp; /* round to even */
- }
-/* Round up and propagate carry-outs */
-roun:
- --s;
- k = *s & 0x7f;
-/* Carry out to most significant digit? */
- if( ndigs < 0 )
- {
- /* This will print like "1E-6". */
- *s = '1';
-
- expon += 1;
- goto doexp;
- }
- else if( k == '.' )
- {
- --s;
- k = *s;
- k += 1;
- *s = (char )k;
-/* Most significant digit carries to 10? */
- if( k > '9' )
- {
- expon += 1;
- *s = '1';
- }
- goto doexp;
- }
-/* Round up and carry out from less significant digits */
- k += 1;
- *s = (char )k;
- if( k > '9' )
- {
- *s = '0';
- goto roun;
- }
- }
-doexp:
-#if defined (__GO32__) || defined (__MINGW32__)
-if( expon >= 0 )
- sprintf( ss, "e+%02d", expon );
-else
- sprintf( ss, "e-%02d", -expon );
-#else
- sprintf( ss, "E%d", expon );
-#endif
-bxit:
-
-if (outexp)
- *outexp = expon;
-}
-
-
-/* FIXME: Not thread safe */
-static char outstr[128];
-
- char *
-_IO_ldtoa(long double d, int mode, int ndigits, int *decpt,
- int *sign, char **rve)
-{
-unsigned short e[NI];
-char *s, *p;
-int k;
-int outexpon = 0;
-
-union
- {
- unsigned short int us[6];
- long double ld;
- } xx;
-xx.ld = d;
-__e64toe(xx.us, e );
-if( __eisneg(e) )
- *sign = 1;
-else
- *sign = 0;
-/* Mode 3 is "f" format. */
-if( mode != 3 )
- ndigits -= 1;
-/* Mode 0 is for %.999 format, which is supposed to give a
- minimum length string that will convert back to the same binary value.
- For now, just ask for 20 digits which is enough but sometimes too many. */
-if( mode == 0 )
- ndigits = 20;
-/* This sanity limit must agree with the corresponding one in etoasc, to
- keep straight the returned value of outexpon. */
-if( ndigits > NDEC )
- ndigits = NDEC;
-
-__etoasc( e, outstr, ndigits, mode, &outexpon );
-s = outstr;
-if( __eisinf(e) || __eisnan(e) )
- {
- *decpt = 9999;
- goto stripspaces;
- }
-*decpt = outexpon + 1;
-
-/* Transform the string returned by etoasc into what the caller wants. */
-
-/* Look for decimal point and delete it from the string. */
-s = outstr;
-while( *s != '\0' )
- {
- if( *s == '.' )
- goto yesdecpt;
- ++s;
- }
-goto nodecpt;
-
-yesdecpt:
-
-/* Delete the decimal point. */
-while( *s != '\0' )
- {
- *s = *(s+1);
- ++s;
- }
-
-nodecpt:
-
-/* Back up over the exponent field. */
-while( *s != 'E' && *s != 'e' && s > outstr)
- --s;
-*s = '\0';
-
-stripspaces:
-
-/* Strip leading spaces and sign. */
-p = outstr;
-while( *p == ' ' || *p == '-')
- ++p;
-
-/* Find new end of string. */
-s = outstr;
-while( (*s++ = *p++) != '\0' )
- ;
---s;
-
-/* Strip trailing zeros. */
-if( mode == 2 )
- k = 1;
-else if( ndigits > outexpon )
- k = ndigits;
-else
- k = outexpon;
-
-while( *(s-1) == '0' && ((s - outstr) > k))
- *(--s) = '\0';
-
-/* In f format, flush small off-scale values to zero.
- Rounding has been taken care of by etoasc. */
-if( mode == 3 && ((ndigits + outexpon) < 0))
- {
- s = outstr;
- *s = '\0';
- *decpt = 0;
- }
-
-if( rve )
- *rve = s;
-return outstr;
-}
-
-void
-_IO_ldtostr(long double *x, char *string, int ndigs, int flags, char fmt)
-{
-unsigned short w[NI];
-char *t, *u;
-int outexpon = 0;
-int outformat = -1;
-char dec_sym = *(localeconv()->decimal_point);
-
-__e64toe( (unsigned short *)x, w );
-__etoasc( w, string, ndigs, outformat, &outexpon );
-
-if( ndigs == 0 && flags == 0 )
- {
- /* Delete the decimal point unless alternate format. */
- t = string;
- while( *t != '.' )
- ++t;
- u = t + 1;
- while( *t != '\0' )
- *t++ = *u++;
- }
-if (*string == ' ')
- {
- t = string;
- u = t + 1;
- while( *t != '\0' )
- *t++ = *u++;
- }
-if (fmt == 'E')
- {
- t = string;
- while( *t != 'e' )
- ++t;
- *t = 'E';
- }
-if (dec_sym != '.')
- {
- t = string;
- while (*t != '.')
- ++t;
- *t = dec_sym;
- }
-}
-
-#endif /* USE_LDTOA */
diff --git a/winsup/mingw/mingwex/lltoa.c b/winsup/mingw/mingwex/lltoa.c
deleted file mode 100644
index 28248a834..000000000
--- a/winsup/mingw/mingwex/lltoa.c
+++ /dev/null
@@ -1,3 +0,0 @@
-#include <stdlib.h>
-char* lltoa(long long _n, char * _c, int _i)
- { return _i64toa (_n, _c, _i); }
diff --git a/winsup/mingw/mingwex/lltow.c b/winsup/mingw/mingwex/lltow.c
deleted file mode 100644
index cdf45b742..000000000
--- a/winsup/mingw/mingwex/lltow.c
+++ /dev/null
@@ -1,3 +0,0 @@
-#include <stdlib.h>
-wchar_t* lltow(long long _n, wchar_t * _w, int _i)
- { return _i64tow (_n, _w, _i); }
diff --git a/winsup/mingw/mingwex/math/acosf.c b/winsup/mingw/mingwex/math/acosf.c
deleted file mode 100644
index 364f6a90c..000000000
--- a/winsup/mingw/mingwex/math/acosf.c
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
- * Written by J.T. Conklin <jtc@netbsd.org>.
- * Public domain.
- */
-
-#include <math.h>
-
-float
-acosf (float x)
-{
- float res;
-
- /* acosl = atanl (sqrtl(1 - x^2) / x) */
- asm ( "fld %%st\n\t"
- "fmul %%st(0)\n\t" /* x^2 */
- "fld1\n\t"
- "fsubp\n\t" /* 1 - x^2 */
- "fsqrt\n\t" /* sqrtl (1 - x^2) */
- "fxch %%st(1)\n\t"
- "fpatan"
- : "=t" (res) : "0" (x) : "st(1)");
- return res;
-}
diff --git a/winsup/mingw/mingwex/math/acosh.c b/winsup/mingw/mingwex/math/acosh.c
deleted file mode 100755
index 1497883cf..000000000
--- a/winsup/mingw/mingwex/math/acosh.c
+++ /dev/null
@@ -1,26 +0,0 @@
-#include <math.h>
-#include <errno.h>
-#include "fastmath.h"
-
-/* acosh(x) = log (x + sqrt(x * x - 1)) */
-double acosh (double x)
-{
- if (isnan (x))
- return x;
-
- if (x < 1.0)
- {
- errno = EDOM;
- return nan("");
- }
-
- if (x > 0x1p32)
- /* Avoid overflow (and unnecessary calculation when
- sqrt (x * x - 1) == x). GCC optimizes by replacing
- the long double M_LN2 const with a fldln2 insn. */
- return __fast_log (x) + 6.9314718055994530941723E-1L;
-
- /* Since x >= 1, the arg to log will always be greater than
- the fyl2xp1 limit (approx 0.29) so just use logl. */
- return __fast_log (x + __fast_sqrt((x + 1.0) * (x - 1.0)));
-}
diff --git a/winsup/mingw/mingwex/math/acoshf.c b/winsup/mingw/mingwex/math/acoshf.c
deleted file mode 100755
index 08f190fcb..000000000
--- a/winsup/mingw/mingwex/math/acoshf.c
+++ /dev/null
@@ -1,25 +0,0 @@
-#include <math.h>
-#include <errno.h>
-#include "fastmath.h"
-
-/* acosh(x) = log (x + sqrt(x * x - 1)) */
-float acoshf (float x)
-{
- if (isnan (x))
- return x;
- if (x < 1.0f)
- {
- errno = EDOM;
- return nan("");
- }
-
- if (x > 0x1p32f)
- /* Avoid overflow (and unnecessary calculation when
- sqrt (x * x - 1) == x). GCC optimizes by replacing
- the long double M_LN2 const with a fldln2 insn. */
- return __fast_log (x) + 6.9314718055994530941723E-1L;
-
- /* Since x >= 1, the arg to log will always be greater than
- the fyl2xp1 limit (approx 0.29) so just use logl. */
- return __fast_log (x + __fast_sqrt((x + 1.0) * (x - 1.0)));
-}
diff --git a/winsup/mingw/mingwex/math/acoshl.c b/winsup/mingw/mingwex/math/acoshl.c
deleted file mode 100755
index c461176bb..000000000
--- a/winsup/mingw/mingwex/math/acoshl.c
+++ /dev/null
@@ -1,27 +0,0 @@
-#include <math.h>
-#include <errno.h>
-#include "fastmath.h"
-
-/* acosh(x) = log (x + sqrt(x * x - 1)) */
-long double acoshl (long double x)
-{
- if (isnan (x))
- return x;
-
- if (x < 1.0L)
- {
- errno = EDOM;
- return nanl("");
- }
- if (x > 0x1p32L)
- /* Avoid overflow (and unnecessary calculation when
- sqrt (x * x - 1) == x).
- The M_LN2 define doesn't have enough precison for
- long double so use this one. GCC optimizes by replacing
- the const with a fldln2 insn. */
- return __fast_logl (x) + 6.9314718055994530941723E-1L;
-
- /* Since x >= 1, the arg to log will always be greater than
- the fyl2xp1 limit (approx 0.29) so just use logl. */
- return __fast_logl (x + __fast_sqrtl((x + 1.0L) * (x - 1.0L)));
-}
diff --git a/winsup/mingw/mingwex/math/acosl.c b/winsup/mingw/mingwex/math/acosl.c
deleted file mode 100644
index f98d2cdc1..000000000
--- a/winsup/mingw/mingwex/math/acosl.c
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * Written by J.T. Conklin <jtc@netbsd.org>.
- * Public domain.
- *
- * Adapted for `long double' by Ulrich Drepper <drepper@cygnus.com>.
- */
-
-#include <math.h>
-
-long double
-acosl (long double x)
-{
- long double res;
-
- /* acosl = atanl (sqrtl(1 - x^2) / x) */
- asm ( "fld %%st\n\t"
- "fmul %%st(0)\n\t" /* x^2 */
- "fld1\n\t"
- "fsubp\n\t" /* 1 - x^2 */
- "fsqrt\n\t" /* sqrtl (1 - x^2) */
- "fxch %%st(1)\n\t"
- "fpatan"
- : "=t" (res) : "0" (x) : "st(1)");
- return res;
-}
diff --git a/winsup/mingw/mingwex/math/asinf.c b/winsup/mingw/mingwex/math/asinf.c
deleted file mode 100644
index e79429ec8..000000000
--- a/winsup/mingw/mingwex/math/asinf.c
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Written by J.T. Conklin <jtc@netbsd.org>.
- * Public domain.
- */
-
-/* asin = atan (x / sqrt(1 - x^2)) */
-
-float asinf (float x)
-{
- float res;
-
- asm ( "fld %%st\n\t"
- "fmul %%st(0)\n\t" /* x^2 */
- "fld1\n\t"
- "fsubp\n\t" /* 1 - x^2 */
- "fsqrt\n\t" /* sqrt (1 - x^2) */
- "fpatan"
- : "=t" (res) : "0" (x) : "st(1)");
- return res;
-}
diff --git a/winsup/mingw/mingwex/math/asinh.c b/winsup/mingw/mingwex/math/asinh.c
deleted file mode 100755
index 30404497d..000000000
--- a/winsup/mingw/mingwex/math/asinh.c
+++ /dev/null
@@ -1,28 +0,0 @@
-#include <math.h>
-#include <errno.h>
-#include "fastmath.h"
-
- /* asinh(x) = copysign(log(fabs(x) + sqrt(x * x + 1.0)), x) */
-double asinh(double x)
-{
- double z;
- if (!isfinite (x))
- return x;
- z = fabs (x);
-
- /* Avoid setting FPU underflow exception flag in x * x. */
-#if 0
- if ( z < 0x1p-32)
- return x;
-#endif
-
- /* Use log1p to avoid cancellation with small x. Put
- x * x in denom, so overflow is harmless.
- asinh(x) = log1p (x + sqrt (x * x + 1.0) - 1.0)
- = log1p (x + x * x / (sqrt (x * x + 1.0) + 1.0)) */
-
- z = __fast_log1p (z + z * z / (__fast_sqrt (z * z + 1.0) + 1.0));
-
- return ( x > 0.0 ? z : -z);
-}
-
diff --git a/winsup/mingw/mingwex/math/asinhf.c b/winsup/mingw/mingwex/math/asinhf.c
deleted file mode 100755
index 080a9278d..000000000
--- a/winsup/mingw/mingwex/math/asinhf.c
+++ /dev/null
@@ -1,28 +0,0 @@
-#include <math.h>
-#include <errno.h>
-#include "fastmath.h"
-
- /* asinh(x) = copysign(log(fabs(x) + sqrt(x * x + 1.0)), x) */
-float asinhf(float x)
-{
- float z;
- if (!isfinite (x))
- return x;
- z = fabsf (x);
-
- /* Avoid setting FPU underflow exception flag in x * x. */
-#if 0
- if ( z < 0x1p-32)
- return x;
-#endif
-
-
- /* Use log1p to avoid cancellation with small x. Put
- x * x in denom, so overflow is harmless.
- asinh(x) = log1p (x + sqrt (x * x + 1.0) - 1.0)
- = log1p (x + x * x / (sqrt (x * x + 1.0) + 1.0)) */
-
- z = __fast_log1p (z + z * z / (__fast_sqrt (z * z + 1.0) + 1.0));
-
- return ( x > 0.0 ? z : -z);
-}
diff --git a/winsup/mingw/mingwex/math/asinhl.c b/winsup/mingw/mingwex/math/asinhl.c
deleted file mode 100755
index 8f027e83d..000000000
--- a/winsup/mingw/mingwex/math/asinhl.c
+++ /dev/null
@@ -1,28 +0,0 @@
-#include <math.h>
-#include <errno.h>
-#include "fastmath.h"
-
- /* asinh(x) = copysign(log(fabs(x) + sqrt(x * x + 1.0)), x) */
-long double asinhl(long double x)
-{
- long double z;
- if (!isfinite (x))
- return x;
-
- z = fabsl (x);
-
- /* Avoid setting FPU underflow exception flag in x * x. */
-#if 0
- if ( z < 0x1p-32)
- return x;
-#endif
-
- /* Use log1p to avoid cancellation with small x. Put
- x * x in denom, so overflow is harmless.
- asinh(x) = log1p (x + sqrt (x * x + 1.0) - 1.0)
- = log1p (x + x * x / (sqrt (x * x + 1.0) + 1.0)) */
-
- z = __fast_log1pl (z + z * z / (__fast_sqrtl (z * z + 1.0L) + 1.0L));
-
- return ( x > 0.0 ? z : -z);
-}
diff --git a/winsup/mingw/mingwex/math/asinl.c b/winsup/mingw/mingwex/math/asinl.c
deleted file mode 100644
index a2ac32b39..000000000
--- a/winsup/mingw/mingwex/math/asinl.c
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
- * Written by J.T. Conklin <jtc@netbsd.org>.
- * Public domain.
- * Adapted for long double type by Danny Smith <dannysmith@users.sourceforge.net>.
- */
-
-/* asin = atan (x / sqrt(1 - x^2)) */
-
-long double asinl (long double x)
-{
- long double res;
-
- asm ( "fld %%st\n\t"
- "fmul %%st(0)\n\t" /* x^2 */
- "fld1\n\t"
- "fsubp\n\t" /* 1 - x^2 */
- "fsqrt\n\t" /* sqrt (1 - x^2) */
- "fpatan"
- : "=t" (res) : "0" (x) : "st(1)");
- return res;
-}
diff --git a/winsup/mingw/mingwex/math/atan2f.c b/winsup/mingw/mingwex/math/atan2f.c
deleted file mode 100644
index 52ec6f672..000000000
--- a/winsup/mingw/mingwex/math/atan2f.c
+++ /dev/null
@@ -1,15 +0,0 @@
-/*
- * Written by J.T. Conklin <jtc@netbsd.org>.
- * Public domain.
- *
- */
-
-#include <math.h>
-
-float
-atan2f (float y, float x)
-{
- float res;
- asm ("fpatan" : "=t" (res) : "u" (y), "0" (x) : "st(1)");
- return res;
-}
diff --git a/winsup/mingw/mingwex/math/atan2l.c b/winsup/mingw/mingwex/math/atan2l.c
deleted file mode 100644
index efd62c1ec..000000000
--- a/winsup/mingw/mingwex/math/atan2l.c
+++ /dev/null
@@ -1,16 +0,0 @@
-/*
- * Written by J.T. Conklin <jtc@netbsd.org>.
- * Public domain.
- *
- * Adapted for `long double' by Ulrich Drepper <drepper@cygnus.com>.
- */
-
-#include <math.h>
-
-long double
-atan2l (long double y, long double x)
-{
- long double res;
- asm ("fpatan" : "=t" (res) : "u" (y), "0" (x) : "st(1)");
- return res;
-}
diff --git a/winsup/mingw/mingwex/math/atanf.c b/winsup/mingw/mingwex/math/atanf.c
deleted file mode 100644
index ae70d5daa..000000000
--- a/winsup/mingw/mingwex/math/atanf.c
+++ /dev/null
@@ -1,17 +0,0 @@
-/*
- * Written by J.T. Conklin <jtc@netbsd.org>.
- * Public domain.
- *
- */
-
-#include <math.h>
-
-float
-atanf (float x)
-{
- float res;
-
- asm ("fld1\n\t"
- "fpatan" : "=t" (res) : "0" (x));
- return res;
-}
diff --git a/winsup/mingw/mingwex/math/atanh.c b/winsup/mingw/mingwex/math/atanh.c
deleted file mode 100755
index b5d9ce100..000000000
--- a/winsup/mingw/mingwex/math/atanh.c
+++ /dev/null
@@ -1,31 +0,0 @@
-#include <math.h>
-#include <errno.h>
-#include "fastmath.h"
-
-/* atanh (x) = 0.5 * log ((1.0 + x)/(1.0 - x)) */
-
-double atanh(double x)
-{
- double z;
- if isnan (x)
- return x;
- z = fabs (x);
- if (z == 1.0)
- {
- errno = ERANGE;
- return (x > 0 ? INFINITY : -INFINITY);
- }
- if (z > 1.0)
- {
- errno = EDOM;
- return nan("");
- }
- /* Rearrange formula to avoid precision loss for small x.
-
- atanh(x) = 0.5 * log ((1.0 + x)/(1.0 - x))
- = 0.5 * log1p ((1.0 + x)/(1.0 - x) - 1.0)
- = 0.5 * log1p ((1.0 + x - 1.0 + x) /(1.0 - x))
- = 0.5 * log1p ((2.0 * x ) / (1.0 - x)) */
- z = 0.5 * __fast_log1p ((z + z) / (1.0 - z));
- return x >= 0 ? z : -z;
-}
diff --git a/winsup/mingw/mingwex/math/atanhf.c b/winsup/mingw/mingwex/math/atanhf.c
deleted file mode 100755
index b7c30823e..000000000
--- a/winsup/mingw/mingwex/math/atanhf.c
+++ /dev/null
@@ -1,30 +0,0 @@
-#include <math.h>
-#include <errno.h>
-#include "fastmath.h"
-
-/* atanh (x) = 0.5 * log ((1.0 + x)/(1.0 - x)) */
-float atanhf (float x)
-{
- float z;
- if isnan (x)
- return x;
- z = fabsf (x);
- if (z == 1.0)
- {
- errno = ERANGE;
- return (x > 0 ? INFINITY : -INFINITY);
- }
- if ( z > 1.0)
- {
- errno = EDOM;
- return nanf("");
- }
- /* Rearrange formula to avoid precision loss for small x.
-
- atanh(x) = 0.5 * log ((1.0 + x)/(1.0 - x))
- = 0.5 * log1p ((1.0 + x)/(1.0 - x) - 1.0)
- = 0.5 * log1p ((1.0 + x - 1.0 + x) /(1.0 - x))
- = 0.5 * log1p ((2.0 * x ) / (1.0 - x)) */
- z = 0.5 * __fast_log1p ((z + z) / (1.0 - z));
- return x >= 0 ? z : -z;
-}
diff --git a/winsup/mingw/mingwex/math/atanhl.c b/winsup/mingw/mingwex/math/atanhl.c
deleted file mode 100755
index 2d5fec02a..000000000
--- a/winsup/mingw/mingwex/math/atanhl.c
+++ /dev/null
@@ -1,29 +0,0 @@
-#include <math.h>
-#include <errno.h>
-#include "fastmath.h"
-
-/* atanh (x) = 0.5 * log ((1.0 + x)/(1.0 - x)) */
-long double atanhl (long double x)
-{
- long double z;
- if isnan (x)
- return x;
- z = fabsl (x);
- if (z == 1.0L)
- {
- errno = ERANGE;
- return (x > 0 ? INFINITY : -INFINITY);
- }
- if ( z > 1.0L)
- {
- errno = EDOM;
- return nanl("");
- }
- /* Rearrange formula to avoid precision loss for small x.
- atanh(x) = 0.5 * log ((1.0 + x)/(1.0 - x))
- = 0.5 * log1p ((1.0 + x)/(1.0 - x) - 1.0)
- = 0.5 * log1p ((1.0 + x - 1.0 + x) /(1.0 - x))
- = 0.5 * log1p ((2.0 * x ) / (1.0 - x)) */
- z = 0.5L * __fast_log1pl ((z + z) / (1.0L - z));
- return x >= 0 ? z : -z;
-}
diff --git a/winsup/mingw/mingwex/math/atanl.c b/winsup/mingw/mingwex/math/atanl.c
deleted file mode 100644
index 5de06d35b..000000000
--- a/winsup/mingw/mingwex/math/atanl.c
+++ /dev/null
@@ -1,19 +0,0 @@
-/*
- * Written by J.T. Conklin <jtc@netbsd.org>.
- * Public domain.
- *
- * Adapted for `long double' by Ulrich Drepper <drepper@cygnus.com>.
- */
-
-#include <math.h>
-
-long double
-atanl (long double x)
-{
- long double res;
-
- asm ("fld1\n\t"
- "fpatan"
- : "=t" (res) : "0" (x));
- return res;
-}
diff --git a/winsup/mingw/mingwex/math/cbrt.c b/winsup/mingw/mingwex/math/cbrt.c
deleted file mode 100644
index 93f5c819c..000000000
--- a/winsup/mingw/mingwex/math/cbrt.c
+++ /dev/null
@@ -1,162 +0,0 @@
-/* cbrt.c
- *
- * Cube root
- *
- *
- *
- * SYNOPSIS:
- *
- * double x, y, cbrt();
- *
- * y = cbrt( x );
- *
- *
- *
- * DESCRIPTION:
- *
- * Returns the cube root of the argument, which may be negative.
- *
- * Range reduction involves determining the power of 2 of
- * the argument. A polynomial of degree 2 applied to the
- * mantissa, and multiplication by the cube root of 1, 2, or 4
- * approximates the root to within about 0.1%. Then Newton's
- * iteration is used three times to converge to an accurate
- * result.
- *
- *
- *
- * ACCURACY:
- *
- * Relative error:
- * arithmetic domain # trials peak rms
- * DEC -10,10 200000 1.8e-17 6.2e-18
- * IEEE 0,1e308 30000 1.5e-16 5.0e-17
- *
- */
- /* cbrt.c */
-
-/*
-Cephes Math Library Release 2.2: January, 1991
-Copyright 1984, 1991 by Stephen L. Moshier
-Direct inquiries to 30 Frost Street, Cambridge, MA 02140
-*/
-
-/*
- Modified for mingwex.a
- 2002-07-01 Danny Smith <dannysmith@users.sourceforge.net>
- */
-#ifdef __MINGW32__
-#include <math.h>
-#include "cephes_mconf.h"
-#else
-#include "mconf.h"
-#endif
-
-
-static const double CBRT2 = 1.2599210498948731647672;
-static const double CBRT4 = 1.5874010519681994747517;
-static const double CBRT2I = 0.79370052598409973737585;
-static const double CBRT4I = 0.62996052494743658238361;
-
-#ifndef __MINGW32__
-#ifdef ANSIPROT
-extern double frexp ( double, int * );
-extern double ldexp ( double, int );
-extern int isnan ( double );
-extern int isfinite ( double );
-#else
-double frexp(), ldexp();
-int isnan(), isfinite();
-#endif
-#endif
-
-double cbrt(x)
-double x;
-{
-int e, rem, sign;
-double z;
-
-#ifdef __MINGW32__
-if (!isfinite (x) || x == 0 )
- return x;
-#else
-
-#ifdef NANS
-if( isnan(x) )
- return x;
-#endif
-#ifdef INFINITIES
-if( !isfinite(x) )
- return x;
-#endif
-if( x == 0 )
- return( x );
-
-#endif /* __MINGW32__ */
-
-if( x > 0 )
- sign = 1;
-else
- {
- sign = -1;
- x = -x;
- }
-
-z = x;
-/* extract power of 2, leaving
- * mantissa between 0.5 and 1
- */
-x = frexp( x, &e );
-
-/* Approximate cube root of number between .5 and 1,
- * peak relative error = 9.2e-6
- */
-x = (((-1.3466110473359520655053e-1 * x
- + 5.4664601366395524503440e-1) * x
- - 9.5438224771509446525043e-1) * x
- + 1.1399983354717293273738e0 ) * x
- + 4.0238979564544752126924e-1;
-
-/* exponent divided by 3 */
-if( e >= 0 )
- {
- rem = e;
- e /= 3;
- rem -= 3*e;
- if( rem == 1 )
- x *= CBRT2;
- else if( rem == 2 )
- x *= CBRT4;
- }
-
-
-/* argument less than 1 */
-
-else
- {
- e = -e;
- rem = e;
- e /= 3;
- rem -= 3*e;
- if( rem == 1 )
- x *= CBRT2I;
- else if( rem == 2 )
- x *= CBRT4I;
- e = -e;
- }
-
-/* multiply by power of 2 */
-x = ldexp( x, e );
-
-/* Newton iteration */
-x -= ( x - (z/(x*x)) )*0.33333333333333333333;
-#ifdef DEC
-x -= ( x - (z/(x*x)) )/3.0;
-#else
-x -= ( x - (z/(x*x)) )*0.33333333333333333333;
-#endif
-
-if( sign < 0 )
- x = -x;
-return(x);
-}
diff --git a/winsup/mingw/mingwex/math/cbrtf.c b/winsup/mingw/mingwex/math/cbrtf.c
deleted file mode 100644
index 537cf8d98..000000000
--- a/winsup/mingw/mingwex/math/cbrtf.c
+++ /dev/null
@@ -1,147 +0,0 @@
-/* cbrtf.c
- *
- * Cube root
- *
- *
- *
- * SYNOPSIS:
- *
- * float x, y, cbrtf();
- *
- * y = cbrtf( x );
- *
- *
- *
- * DESCRIPTION:
- *
- * Returns the cube root of the argument, which may be negative.
- *
- * Range reduction involves determining the power of 2 of
- * the argument. A polynomial of degree 2 applied to the
- * mantissa, and multiplication by the cube root of 1, 2, or 4
- * approximates the root to within about 0.1%. Then Newton's
- * iteration is used to converge to an accurate result.
- *
- *
- *
- * ACCURACY:
- *
- * Relative error:
- * arithmetic domain # trials peak rms
- * IEEE 0,1e38 100000 7.6e-8 2.7e-8
- *
- */
- /* cbrt.c */
-
-/*
-Cephes Math Library Release 2.2: June, 1992
-Copyright 1984, 1987, 1988, 1992 by Stephen L. Moshier
-Direct inquiries to 30 Frost Street, Cambridge, MA 02140
-*/
-
-/*
- Modified for mingwex.a
- 2002-07-01 Danny Smith <dannysmith@users.sourceforge.net>
- */
-#ifdef __MINGW32__
-#include <math.h>
-#include "cephes_mconf.h"
-#else
-#include "mconf.h"
-#endif
-
-static const float CBRT2 = 1.25992104989487316477;
-static const float CBRT4 = 1.58740105196819947475;
-
-#ifndef __MINGW32__
-#ifdef ANSIC
-float frexpf(float, int *), ldexpf(float, int);
-
-float cbrtf( float xx )
-#else
-float frexpf(), ldexpf();
-
-float cbrtf(xx)
-double xx;
-#endif
-{
-int e, rem, sign;
-float x, z;
-
-x = xx;
-
-#else /* __MINGW32__ */
-float cbrtf (float x)
-{
-int e, rem, sign;
-float z;
-#endif /* __MINGW32__ */
-
-#ifdef __MINGW32__
-if (!isfinite (x) || x == 0.0F )
- return x;
-#else
-if( x == 0 )
- return( 0.0 );
-#endif
-if( x > 0 )
- sign = 1;
-else
- {
- sign = -1;
- x = -x;
- }
-
-z = x;
-/* extract power of 2, leaving
- * mantissa between 0.5 and 1
- */
-x = frexpf( x, &e );
-
-/* Approximate cube root of number between .5 and 1,
- * peak relative error = 9.2e-6
- */
-x = (((-0.13466110473359520655053 * x
- + 0.54664601366395524503440 ) * x
- - 0.95438224771509446525043 ) * x
- + 1.1399983354717293273738 ) * x
- + 0.40238979564544752126924;
-
-/* exponent divided by 3 */
-if( e >= 0 )
- {
- rem = e;
- e /= 3;
- rem -= 3*e;
- if( rem == 1 )
- x *= CBRT2;
- else if( rem == 2 )
- x *= CBRT4;
- }
-
-
-/* argument less than 1 */
-
-else
- {
- e = -e;
- rem = e;
- e /= 3;
- rem -= 3*e;
- if( rem == 1 )
- x /= CBRT2;
- else if( rem == 2 )
- x /= CBRT4;
- e = -e;
- }
-
-/* multiply by power of 2 */
-x = ldexpf( x, e );
-
-/* Newton iteration */
-x -= ( x - (z/(x*x)) ) * 0.333333333333;
-
-if( sign < 0 )
- x = -x;
-return(x);
-}
diff --git a/winsup/mingw/mingwex/math/cbrtl.c b/winsup/mingw/mingwex/math/cbrtl.c
deleted file mode 100644
index 36bd48f70..000000000
--- a/winsup/mingw/mingwex/math/cbrtl.c
+++ /dev/null
@@ -1,161 +0,0 @@
-/* cbrtl.c
- *
- * Cube root, long double precision
- *
- *
- *
- * SYNOPSIS:
- *
- * long double x, y, cbrtl();
- *
- * y = cbrtl( x );
- *
- *
- *
- * DESCRIPTION:
- *
- * Returns the cube root of the argument, which may be negative.
- *
- * Range reduction involves determining the power of 2 of
- * the argument. A polynomial of degree 2 applied to the
- * mantissa, and multiplication by the cube root of 1, 2, or 4
- * approximates the root to within about 0.1%. Then Newton's
- * iteration is used three times to converge to an accurate
- * result.
- *
- *
- *
- * ACCURACY:
- *
- * Relative error:
- * arithmetic domain # trials peak rms
- * IEEE .125,8 80000 7.0e-20 2.2e-20
- * IEEE exp(+-707) 100000 7.0e-20 2.4e-20
- *
- */
-
-
-/*
-Cephes Math Library Release 2.2: January, 1991
-Copyright 1984, 1991 by Stephen L. Moshier
-Direct inquiries to 30 Frost Street, Cambridge, MA 02140
-*/
-
-/*
- Modified for mingwex.a
- 2002-07-01 Danny Smith <dannysmith@users.sourceforge.net>
- */
-#ifdef __MINGW32__
-#include "cephes_mconf.h"
-#else
-#include "mconf.h"
-#endif
-
-static const long double CBRT2 = 1.2599210498948731647672L;
-static const long double CBRT4 = 1.5874010519681994747517L;
-static const long double CBRT2I = 0.79370052598409973737585L;
-static const long double CBRT4I = 0.62996052494743658238361L;
-
-#ifndef __MINGW32__
-
-#ifdef ANSIPROT
-extern long double frexpl ( long double, int * );
-extern long double ldexpl ( long double, int );
-extern int isnanl ( long double );
-#else
-long double frexpl(), ldexpl();
-extern int isnanl();
-#endif
-
-#ifdef INFINITIES
-extern long double INFINITYL;
-#endif
-
-#endif /* __MINGW32__ */
-
-long double cbrtl(x)
-long double x;
-{
-int e, rem, sign;
-long double z;
-
-#ifdef __MINGW32__
-if (!isfinite (x) || x == 0.0L)
- return(x);
-#else
-
-#ifdef NANS
-if(isnanl(x))
- return(x);
-#endif
-#ifdef INFINITIES
-if( x == INFINITYL)
- return(x);
-if( x == -INFINITYL)
- return(x);
-#endif
-if( x == 0 )
- return( x );
-
-#endif /* __MINGW32__ */
-
-if( x > 0 )
- sign = 1;
-else
- {
- sign = -1;
- x = -x;
- }
-
-z = x;
-/* extract power of 2, leaving
- * mantissa between 0.5 and 1
- */
-x = frexpl( x, &e );
-
-/* Approximate cube root of number between .5 and 1,
- * peak relative error = 1.2e-6
- */
-x = (((( 1.3584464340920900529734e-1L * x
- - 6.3986917220457538402318e-1L) * x
- + 1.2875551670318751538055e0L) * x
- - 1.4897083391357284957891e0L) * x
- + 1.3304961236013647092521e0L) * x
- + 3.7568280825958912391243e-1L;
-
-/* exponent divided by 3 */
-if( e >= 0 )
- {
- rem = e;
- e /= 3;
- rem -= 3*e;
- if( rem == 1 )
- x *= CBRT2;
- else if( rem == 2 )
- x *= CBRT4;
- }
-else
- { /* argument less than 1 */
- e = -e;
- rem = e;
- e /= 3;
- rem -= 3*e;
- if( rem == 1 )
- x *= CBRT2I;
- else if( rem == 2 )
- x *= CBRT4I;
- e = -e;
- }
-
-/* multiply by power of 2 */
-x = ldexpl( x, e );
-
-/* Newton iteration */
-
-x -= ( x - (z/(x*x)) )*0.3333333333333333333333L;
-x -= ( x - (z/(x*x)) )*0.3333333333333333333333L;
-
-if( sign < 0 )
- x = -x;
-return(x);
-}
diff --git a/winsup/mingw/mingwex/math/ceilf.S b/winsup/mingw/mingwex/math/ceilf.S
deleted file mode 100644
index ffcdfc687..000000000
--- a/winsup/mingw/mingwex/math/ceilf.S
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * Written by J.T. Conklin <jtc@netbsd.org>.
- * Public domain.
- */
-
- .file "ceilf.S"
- .text
- .align 4
-.globl _ceilf
- .def _ceilf; .scl 2; .type 32; .endef
-_ceilf:
- flds 4(%esp)
- subl $8,%esp
-
- fstcw 4(%esp) /* store fpu control word */
-
- /* We use here %edx although only the low 1 bits are defined.
- But none of the operations should care and they are faster
- than the 16 bit operations. */
- movl $0x0800,%edx /* round towards +oo */
- orl 4(%esp),%edx
- andl $0xfbff,%edx
- movl %edx,(%esp)
- fldcw (%esp) /* load modified control word */
-
- frndint /* round */
-
- fldcw 4(%esp) /* restore original control word */
-
- addl $8,%esp
- ret
diff --git a/winsup/mingw/mingwex/math/ceill.S b/winsup/mingw/mingwex/math/ceill.S
deleted file mode 100644
index 29cb27a62..000000000
--- a/winsup/mingw/mingwex/math/ceill.S
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * Written by J.T. Conklin <jtc@netbsd.org>.
- * Public domain.
- * Changes for long double by Ulrich Drepper <drepper@cygnus.com>
- */
-
-
- .file "ceill.S"
- .text
- .align 4
-.globl _ceill
- .def _ceill; .scl 2; .type 32; .endef
-_ceill:
- fldt 4(%esp)
- subl $8,%esp
-
- fstcw 4(%esp) /* store fpu control word */
-
- /* We use here %edx although only the low 1 bits are defined.
- But none of the operations should care and they are faster
- than the 16 bit operations. */
- movl $0x0800,%edx /* round towards +oo */
- orl 4(%esp),%edx
- andl $0xfbff,%edx
- movl %edx,(%esp)
- fldcw (%esp) /* load modified control word */
-
- frndint /* round */
-
- fldcw 4(%esp) /* restore original control word */
-
- addl $8,%esp
- ret
diff --git a/winsup/mingw/mingwex/math/cephes_emath.c b/winsup/mingw/mingwex/math/cephes_emath.c
deleted file mode 100644
index ab798a2d2..000000000
--- a/winsup/mingw/mingwex/math/cephes_emath.c
+++ /dev/null
@@ -1,1318 +0,0 @@
-/* This file is extracted from S L Moshier's ioldoubl.c,
- * modified for use in MinGW
- *
- * Extended precision arithmetic functions for long double I/O.
- * This program has been placed in the public domain.
- */
-
-
-
-/*
- * Revision history:
- *
- * 5 Jan 84 PDP-11 assembly language version
- * 6 Dec 86 C language version
- * 30 Aug 88 100 digit version, improved rounding
- * 15 May 92 80-bit long double support
- *
- * Author: S. L. Moshier.
- *
- * 6 Oct 02 Modified for MinGW by inlining utility routines,
- * removing global variables and splitting out strtold
- * from _IO_ldtoa and _IO_ldtostr.
- *
- * Danny Smith <dannysmith@users.sourceforge.net>
- *
- */
-
-
-#include "cephes_emath.h"
-
-/*
- * The constants are for 64 bit precision.
- */
-
-
-/* Move in external format number,
- * converting it to internal format.
- */
-void __emovi(const short unsigned int * __restrict__ a,
- short unsigned int * __restrict__ b)
-{
-register const unsigned short *p;
-register unsigned short *q;
-int i;
-
-q = b;
-p = a + (NE-1); /* point to last word of external number */
-/* get the sign bit */
-if( *p & 0x8000 )
- *q++ = 0xffff;
-else
- *q++ = 0;
-/* get the exponent */
-*q = *p--;
-*q++ &= 0x7fff; /* delete the sign bit */
-#ifdef INFINITY
-if( (*(q-1) & 0x7fff) == 0x7fff )
- {
-#ifdef NANS
- if( __eisnan(a) )
- {
- *q++ = 0;
- for( i=3; i<NI; i++ )
- *q++ = *p--;
- return;
- }
-#endif
- for( i=2; i<NI; i++ )
- *q++ = 0;
- return;
- }
-#endif
-/* clear high guard word */
-*q++ = 0;
-/* move in the significand */
-for( i=0; i<NE-1; i++ )
- *q++ = *p--;
-/* clear low guard word */
-*q = 0;
-}
-
-
-/*
-; Add significands
-; x + y replaces y
-*/
-
-void __eaddm(const short unsigned int * __restrict__ x,
- short unsigned int * __restrict__ y)
-{
-register unsigned long a;
-int i;
-unsigned int carry;
-
-x += NI-1;
-y += NI-1;
-carry = 0;
-for( i=M; i<NI; i++ )
- {
- a = (unsigned long )(*x) + (unsigned long )(*y) + carry;
- if( a & 0x10000 )
- carry = 1;
- else
- carry = 0;
- *y = (unsigned short )a;
- --x;
- --y;
- }
-}
-
-/*
-; Subtract significands
-; y - x replaces y
-*/
-
-void __esubm(const short unsigned int * __restrict__ x,
- short unsigned int * __restrict__ y)
-{
-unsigned long a;
-int i;
-unsigned int carry;
-
-x += NI-1;
-y += NI-1;
-carry = 0;
-for( i=M; i<NI; i++ )
- {
- a = (unsigned long )(*y) - (unsigned long )(*x) - carry;
- if( a & 0x10000 )
- carry = 1;
- else
- carry = 0;
- *y = (unsigned short )a;
- --x;
- --y;
- }
-}
-
-
-/* Multiply significand of e-type number b
-by 16-bit quantity a, e-type result to c. */
-
-static void __m16m(short unsigned int a,
- short unsigned int * __restrict__ b,
- short unsigned int * __restrict__ c)
-{
-register unsigned short *pp;
-register unsigned long carry;
-unsigned short *ps;
-unsigned short p[NI];
-unsigned long aa, m;
-int i;
-
-aa = a;
-pp = &p[NI-2];
-*pp++ = 0;
-*pp = 0;
-ps = &b[NI-1];
-
-for( i=M+1; i<NI; i++ )
- {
- if( *ps == 0 )
- {
- --ps;
- --pp;
- *(pp-1) = 0;
- }
- else
- {
- m = (unsigned long) aa * *ps--;
- carry = (m & 0xffff) + *pp;
- *pp-- = (unsigned short )carry;
- carry = (carry >> 16) + (m >> 16) + *pp;
- *pp = (unsigned short )carry;
- *(pp-1) = carry >> 16;
- }
- }
-for( i=M; i<NI; i++ )
- c[i] = p[i];
-}
-
-
-/* Divide significands. Neither the numerator nor the denominator
-is permitted to have its high guard word nonzero. */
-
-
-int __edivm(short unsigned int * __restrict__ den,
- short unsigned int * __restrict__ num)
-{
-int i;
-register unsigned short *p;
-unsigned long tnum;
-unsigned short j, tdenm, tquot;
-unsigned short tprod[NI+1];
-unsigned short equot[NI];
-
-p = &equot[0];
-*p++ = num[0];
-*p++ = num[1];
-
-for( i=M; i<NI; i++ )
- {
- *p++ = 0;
- }
-__eshdn1( num );
-tdenm = den[M+1];
-for( i=M; i<NI; i++ )
- {
- /* Find trial quotient digit (the radix is 65536). */
- tnum = (((unsigned long) num[M]) << 16) + num[M+1];
-
- /* Do not execute the divide instruction if it will overflow. */
- if( (tdenm * 0xffffUL) < tnum )
- tquot = 0xffff;
- else
- tquot = tnum / tdenm;
-
- /* Prove that the divide worked. */
-/*
- tcheck = (unsigned long )tquot * tdenm;
- if( tnum - tcheck > tdenm )
- tquot = 0xffff;
-*/
- /* Multiply denominator by trial quotient digit. */
- __m16m( tquot, den, tprod );
- /* The quotient digit may have been overestimated. */
- if( __ecmpm( tprod, num ) > 0 )
- {
- tquot -= 1;
- __esubm( den, tprod );
- if( __ecmpm( tprod, num ) > 0 )
- {
- tquot -= 1;
- __esubm( den, tprod );
- }
- }
- __esubm( tprod, num );
- equot[i] = tquot;
- __eshup6(num);
- }
-/* test for nonzero remainder after roundoff bit */
-p = &num[M];
-j = 0;
-for( i=M; i<NI; i++ )
- {
- j |= *p++;
- }
-if( j )
- j = 1;
-
-for( i=0; i<NI; i++ )
- num[i] = equot[i];
-
-return( (int )j );
-}
-
-
-
-/* Multiply significands */
-int __emulm(const short unsigned int * __restrict__ a,
- short unsigned int * __restrict__ b)
-{
-const unsigned short *p;
-unsigned short *q;
-unsigned short pprod[NI];
-unsigned short equot[NI];
-unsigned short j;
-int i;
-
-equot[0] = b[0];
-equot[1] = b[1];
-for( i=M; i<NI; i++ )
- equot[i] = 0;
-
-j = 0;
-p = &a[NI-1];
-q = &equot[NI-1];
-for( i=M+1; i<NI; i++ )
- {
- if( *p == 0 )
- {
- --p;
- }
- else
- {
- __m16m( *p--, b, pprod );
- __eaddm(pprod, equot);
- }
- j |= *q;
- __eshdn6(equot);
- }
-
-for( i=0; i<NI; i++ )
- b[i] = equot[i];
-
-/* return flag for lost nonzero bits */
-return( (int)j );
-}
-
-
-
-/*
- * Normalize and round off.
- *
- * The internal format number to be rounded is "s".
- * Input "lost" indicates whether the number is exact.
- * This is the so-called sticky bit.
- *
- * Input "subflg" indicates whether the number was obtained
- * by a subtraction operation. In that case if lost is nonzero
- * then the number is slightly smaller than indicated.
- *
- * Input "exp" is the biased exponent, which may be negative.
- * the exponent field of "s" is ignored but is replaced by
- * "exp" as adjusted by normalization and rounding.
- *
- * Input "rcntrl" is the rounding control.
- *
- * Input "rnprc" is precison control (64 or NBITS).
- */
-
-void __emdnorm(short unsigned int *s, int lost, int subflg, long int exp, int rcntrl, int rndprc)
-{
-int i, j;
-unsigned short r;
-int rw = NI-1; /* low guard word */
-int re = NI-2;
-const unsigned short rmsk = 0xffff;
-const unsigned short rmbit = 0x8000;
-#if NE == 6
-unsigned short rbit[NI] = {0,0,0,0,0,0,0,1,0};
-#else
-unsigned short rbit[NI] = {0,0,0,0,0,0,0,0,0,0,0,1,0};
-#endif
-
-/* Normalize */
-j = __enormlz( s );
-
-/* a blank significand could mean either zero or infinity. */
-#ifndef INFINITY
-if( j > NBITS )
- {
- __ecleazs( s );
- return;
- }
-#endif
-exp -= j;
-#ifndef INFINITY
-if( exp >= 32767L )
- goto overf;
-#else
-if( (j > NBITS) && (exp < 32767L) )
- {
- __ecleazs( s );
- return;
- }
-#endif
-if( exp < 0L )
- {
- if( exp > (long )(-NBITS-1) )
- {
- j = (int )exp;
- i = __eshift( s, j );
- if( i )
- lost = 1;
- }
- else
- {
- __ecleazs( s );
- return;
- }
- }
-/* Round off, unless told not to by rcntrl. */
-if( rcntrl == 0 )
- goto mdfin;
-if (rndprc == 64)
- {
- rw = 7;
- re = 6;
- rbit[NI-2] = 0;
- rbit[6] = 1;
- }
-
-/* Shift down 1 temporarily if the data structure has an implied
- * most significant bit and the number is denormal.
- * For rndprc = 64 or NBITS, there is no implied bit.
- * But Intel long double denormals lose one bit of significance even so.
- */
-#if IBMPC
-if( (exp <= 0) && (rndprc != NBITS) )
-#else
-if( (exp <= 0) && (rndprc != 64) && (rndprc != NBITS) )
-#endif
- {
- lost |= s[NI-1] & 1;
- __eshdn1(s);
- }
-/* Clear out all bits below the rounding bit,
- * remembering in r if any were nonzero.
- */
-r = s[rw] & rmsk;
-if( rndprc < NBITS )
- {
- i = rw + 1;
- while( i < NI )
- {
- if( s[i] )
- r |= 1;
- s[i] = 0;
- ++i;
- }
- }
-s[rw] &= ~rmsk;
-if( (r & rmbit) != 0 )
- {
- if( r == rmbit )
- {
- if( lost == 0 )
- { /* round to even */
- if( (s[re] & 1) == 0 )
- goto mddone;
- }
- else
- {
- if( subflg != 0 )
- goto mddone;
- }
- }
- __eaddm( rbit, s );
- }
-mddone:
-#if IBMPC
-if( (exp <= 0) && (rndprc != NBITS) )
-#else
-if( (exp <= 0) && (rndprc != 64) && (rndprc != NBITS) )
-#endif
- {
- __eshup1(s);
- }
-if( s[2] != 0 )
- { /* overflow on roundoff */
- __eshdn1(s);
- exp += 1;
- }
-mdfin:
-s[NI-1] = 0;
-if( exp >= 32767L )
- {
-#ifndef INFINITY
-overf:
-#endif
-#ifdef INFINITY
- s[1] = 32767;
- for( i=2; i<NI-1; i++ )
- s[i] = 0;
-#else
- s[1] = 32766;
- s[2] = 0;
- for( i=M+1; i<NI-1; i++ )
- s[i] = 0xffff;
- s[NI-1] = 0;
- if( (rndprc < 64) || (rndprc == 113) )
- s[rw] &= ~rmsk;
-#endif
- return;
- }
-if( exp < 0 )
- s[1] = 0;
-else
- s[1] = (unsigned short )exp;
-}
-
-
-/*
-; Multiply.
-;
-; unsigned short a[NE], b[NE], c[NE];
-; emul( a, b, c ); c = b * a
-*/
-void __emul(const short unsigned int *a,
- const short unsigned int *b,
- short unsigned int *c)
-{
-unsigned short ai[NI], bi[NI];
-int i, j;
-long lt, lta, ltb;
-
-#ifdef NANS
-/* NaN times anything is the same NaN. */
-if( __eisnan(a) )
- {
- __emov(a,c);
- return;
- }
-if( __eisnan(b) )
- {
- __emov(b,c);
- return;
- }
-/* Zero times infinity is a NaN. */
-if( (__eisinf(a) && __eiiszero(b))
- || (__eisinf(b) && __eiiszero(a)) )
- {
- mtherr( "emul", DOMAIN );
- __enan_NBITS( c );
- return;
- }
-#endif
-/* Infinity times anything else is infinity. */
-#ifdef INFINITY
-if( __eisinf(a) || __eisinf(b) )
- {
- if( __eisneg(a) ^ __eisneg(b) )
- *(c+(NE-1)) = 0x8000;
- else
- *(c+(NE-1)) = 0;
- __einfin(c);
- return;
- }
-#endif
-__emovi( a, ai );
-__emovi( b, bi );
-lta = ai[E];
-ltb = bi[E];
-if( ai[E] == 0 )
- {
- for( i=1; i<NI-1; i++ )
- {
- if( ai[i] != 0 )
- {
- lta -= __enormlz( ai );
- goto mnzer1;
- }
- }
- __eclear(c);
- return;
- }
-mnzer1:
-
-if( bi[E] == 0 )
- {
- for( i=1; i<NI-1; i++ )
- {
- if( bi[i] != 0 )
- {
- ltb -= __enormlz( bi );
- goto mnzer2;
- }
- }
- __eclear(c);
- return;
- }
-mnzer2:
-
-/* Multiply significands */
-j = __emulm( ai, bi );
-/* calculate exponent */
-lt = lta + ltb - (EXONE - 1);
-__emdnorm( bi, j, 0, lt, 64, NBITS );
-/* calculate sign of product */
-if( ai[0] == bi[0] )
- bi[0] = 0;
-else
- bi[0] = 0xffff;
-__emovo( bi, c );
-}
-
-
-/* move out internal format to ieee long double */
-void __toe64(short unsigned int *a, short unsigned int *b)
-{
-register unsigned short *p, *q;
-unsigned short i;
-
-#ifdef NANS
-if( __eiisnan(a) )
- {
- __enan_64( b );
- return;
- }
-#endif
-#ifdef IBMPC
-/* Shift Intel denormal significand down 1. */
-if( a[E] == 0 )
- __eshdn1(a);
-#endif
-p = a;
-#ifdef MIEEE
-q = b;
-#else
-q = b + 4; /* point to output exponent */
-#if 1
-/* NOTE: if data type is 96 bits wide, clear the last word here. */
-*(q+1)= 0;
-#endif
-#endif
-
-/* combine sign and exponent */
-i = *p++;
-#ifdef MIEEE
-if( i )
- *q++ = *p++ | 0x8000;
-else
- *q++ = *p++;
-*q++ = 0;
-#else
-if( i )
- *q-- = *p++ | 0x8000;
-else
- *q-- = *p++;
-#endif
-/* skip over guard word */
-++p;
-/* move the significand */
-#ifdef MIEEE
-for( i=0; i<4; i++ )
- *q++ = *p++;
-#else
-#ifdef INFINITY
-if (__eiisinf (a))
- {
- /* Intel long double infinity. */
- *q-- = 0x8000;
- *q-- = 0;
- *q-- = 0;
- *q = 0;
- return;
- }
-#endif
-for( i=0; i<4; i++ )
- *q-- = *p++;
-#endif
-}
-
-
-/* Compare two e type numbers.
- *
- * unsigned short a[NE], b[NE];
- * ecmp( a, b );
- *
- * returns +1 if a > b
- * 0 if a == b
- * -1 if a < b
- * -2 if either a or b is a NaN.
- */
-int __ecmp(const short unsigned int * __restrict__ a,
- const short unsigned int * __restrict__ b)
-{
-unsigned short ai[NI], bi[NI];
-register unsigned short *p, *q;
-register int i;
-int msign;
-
-#ifdef NANS
-if (__eisnan (a) || __eisnan (b))
- return( -2 );
-#endif
-__emovi( a, ai );
-p = ai;
-__emovi( b, bi );
-q = bi;
-
-if( *p != *q )
- { /* the signs are different */
-/* -0 equals + 0 */
- for( i=1; i<NI-1; i++ )
- {
- if( ai[i] != 0 )
- goto nzro;
- if( bi[i] != 0 )
- goto nzro;
- }
- return(0);
-nzro:
- if( *p == 0 )
- return( 1 );
- else
- return( -1 );
- }
-/* both are the same sign */
-if( *p == 0 )
- msign = 1;
-else
- msign = -1;
-i = NI-1;
-do
- {
- if( *p++ != *q++ )
- {
- goto diff;
- }
- }
-while( --i > 0 );
-
-return(0); /* equality */
-
-
-
-diff:
-
-if( *(--p) > *(--q) )
- return( msign ); /* p is bigger */
-else
- return( -msign ); /* p is littler */
-}
-
-/*
-; Shift significand
-;
-; Shifts significand area up or down by the number of bits
-; given by the variable sc.
-*/
-int __eshift(short unsigned int *x, int sc)
-{
-unsigned short lost;
-unsigned short *p;
-
-if( sc == 0 )
- return( 0 );
-
-lost = 0;
-p = x + NI-1;
-
-if( sc < 0 )
- {
- sc = -sc;
- while( sc >= 16 )
- {
- lost |= *p; /* remember lost bits */
- __eshdn6(x);
- sc -= 16;
- }
-
- while( sc >= 8 )
- {
- lost |= *p & 0xff;
- __eshdn8(x);
- sc -= 8;
- }
-
- while( sc > 0 )
- {
- lost |= *p & 1;
- __eshdn1(x);
- sc -= 1;
- }
- }
-else
- {
- while( sc >= 16 )
- {
- __eshup6(x);
- sc -= 16;
- }
-
- while( sc >= 8 )
- {
- __eshup8(x);
- sc -= 8;
- }
-
- while( sc > 0 )
- {
- __eshup1(x);
- sc -= 1;
- }
- }
-if( lost )
- lost = 1;
-return( (int )lost );
-}
-
-
-
-/*
-; normalize
-;
-; Shift normalizes the significand area pointed to by argument
-; shift count (up = positive) is returned.
-*/
-int __enormlz(short unsigned int *x)
-{
-register unsigned short *p;
-int sc;
-
-sc = 0;
-p = &x[M];
-if( *p != 0 )
- goto normdn;
-++p;
-if( *p & 0x8000 )
- return( 0 ); /* already normalized */
-while( *p == 0 )
- {
- __eshup6(x);
- sc += 16;
-/* With guard word, there are NBITS+16 bits available.
- * return true if all are zero.
- */
- if( sc > NBITS )
- return( sc );
- }
-/* see if high byte is zero */
-while( (*p & 0xff00) == 0 )
- {
- __eshup8(x);
- sc += 8;
- }
-/* now shift 1 bit at a time */
-while( (*p & 0x8000) == 0)
- {
- __eshup1(x);
- sc += 1;
- if( sc > (NBITS+16) )
- {
- mtherr( "enormlz", UNDERFLOW );
- return( sc );
- }
- }
-return( sc );
-
-/* Normalize by shifting down out of the high guard word
- of the significand */
-normdn:
-
-if( *p & 0xff00 )
- {
- __eshdn8(x);
- sc -= 8;
- }
-while( *p != 0 )
- {
- __eshdn1(x);
- sc -= 1;
-
- if( sc < -NBITS )
- {
- mtherr( "enormlz", OVERFLOW );
- return( sc );
- }
- }
-return( sc );
-}
-
-
-/* Move internal format number out,
- * converting it to external format.
- */
-void __emovo(const short unsigned int * __restrict__ a,
- short unsigned int * __restrict__ b)
-{
-register const unsigned short *p;
-register unsigned short *q;
-unsigned short i;
-
-p = a;
-q = b + (NE-1); /* point to output exponent */
-/* combine sign and exponent */
-i = *p++;
-if( i )
- *q-- = *p++ | 0x8000;
-else
- *q-- = *p++;
-#ifdef INFINITY
-if( *(p-1) == 0x7fff )
- {
-#ifdef NANS
- if( __eiisnan(a) )
- {
- __enan_NBITS( b );
- return;
- }
-#endif
- __einfin(b);
- return;
- }
-#endif
-/* skip over guard word */
-++p;
-/* move the significand */
-for( i=0; i<NE-1; i++ )
- *q-- = *p++;
-}
-
-
-#if USE_LDTOA
-
-
-void __eiremain(short unsigned int *den, short unsigned int *num,
- short unsigned int *equot )
-{
-long ld, ln;
-unsigned short j;
-
-ld = den[E];
-ld -= __enormlz( den );
-ln = num[E];
-ln -= __enormlz( num );
-__ecleaz( equot );
-while( ln >= ld )
- {
- if( __ecmpm(den,num) <= 0 )
- {
- __esubm(den, num);
- j = 1;
- }
- else
- {
- j = 0;
- }
- __eshup1(equot);
- equot[NI-1] |= j;
- __eshup1(num);
- ln -= 1;
- }
-__emdnorm( num, 0, 0, ln, 0, NBITS );
-}
-
-
-void __eadd1(const short unsigned int * __restrict__ a,
- const short unsigned int * __restrict__ b,
- short unsigned int * __restrict__ c,
- int subflg)
-{
-unsigned short ai[NI], bi[NI], ci[NI];
-int i, lost, j, k;
-long lt, lta, ltb;
-
-#ifdef INFINITY
-if( __eisinf(a) )
- {
- __emov(a,c);
- if( subflg )
- __eneg(c);
- return;
- }
-if( __eisinf(b) )
- {
- __emov(b,c);
- return;
- }
-#endif
-__emovi( a, ai );
-__emovi( b, bi );
-if( sub )
- ai[0] = ~ai[0];
-
-/* compare exponents */
-lta = ai[E];
-ltb = bi[E];
-lt = lta - ltb;
-if( lt > 0L )
- { /* put the larger number in bi */
- __emovz( bi, ci );
- __emovz( ai, bi );
- __emovz( ci, ai );
- ltb = bi[E];
- lt = -lt;
- }
-lost = 0;
-if( lt != 0L )
- {
- if( lt < (long )(-NBITS-1) )
- goto done; /* answer same as larger addend */
- k = (int )lt;
- lost = __eshift( ai, k ); /* shift the smaller number down */
- }
-else
- {
-/* exponents were the same, so must compare significands */
- i = __ecmpm( ai, bi );
- if( i == 0 )
- { /* the numbers are identical in magnitude */
- /* if different signs, result is zero */
- if( ai[0] != bi[0] )
- {
- __eclear(c);
- return;
- }
- /* if same sign, result is double */
- /* double denomalized tiny number */
- if( (bi[E] == 0) && ((bi[3] & 0x8000) == 0) )
- {
- __eshup1( bi );
- goto done;
- }
- /* add 1 to exponent unless both are zero! */
- for( j=1; j<NI-1; j++ )
- {
- if( bi[j] != 0 )
- {
-/* This could overflow, but let emovo take care of that. */
- ltb += 1;
- break;
- }
- }
- bi[E] = (unsigned short )ltb;
- goto done;
- }
- if( i > 0 )
- { /* put the larger number in bi */
- __emovz( bi, ci );
- __emovz( ai, bi );
- __emovz( ci, ai );
- }
- }
-if( ai[0] == bi[0] )
- {
- __eaddm( ai, bi );
- subflg = 0;
- }
-else
- {
- __esubm( ai, bi );
- subflg = 1;
- }
-__emdnorm( bi, lost, subflg, ltb, 64, NBITS);
-
-done:
-__emovo( bi, c );
-}
-
-
-/* y = largest integer not greater than x
- * (truncated toward minus infinity)
- *
- * unsigned short x[NE], y[NE]
- *
- * efloor( x, y );
- */
-
-
-void __efloor(short unsigned int *x, short unsigned int *y)
-{
-register unsigned short *p;
-int e, expon, i;
-unsigned short f[NE];
-const unsigned short bmask[] = {
-0xffff,
-0xfffe,
-0xfffc,
-0xfff8,
-0xfff0,
-0xffe0,
-0xffc0,
-0xff80,
-0xff00,
-0xfe00,
-0xfc00,
-0xf800,
-0xf000,
-0xe000,
-0xc000,
-0x8000,
-0x0000,
-};
-
-__emov( x, f ); /* leave in external format */
-expon = (int )f[NE-1];
-e = (expon & 0x7fff) - (EXONE - 1);
-if( e <= 0 )
- {
- __eclear(y);
- goto isitneg;
- }
-/* number of bits to clear out */
-e = NBITS - e;
-__emov( f, y );
-if( e <= 0 )
- return;
-
-p = &y[0];
-while( e >= 16 )
- {
- *p++ = 0;
- e -= 16;
- }
-/* clear the remaining bits */
-*p &= bmask[e];
-/* truncate negatives toward minus infinity */
-isitneg:
-
-if( (unsigned short )expon & (unsigned short )0x8000 )
- {
- for( i=0; i<NE-1; i++ )
- {
- if( f[i] != y[i] )
- {
- __esub( __eone, y, y );
- break;
- }
- }
- }
-}
-
-/*
-; Subtract external format numbers.
-;
-; unsigned short a[NE], b[NE], c[NE];
-; esub( a, b, c ); c = b - a
-*/
-
-
-void __esub(const short unsigned int * a,
- const short unsigned int * b,
- short unsigned int * c)
-{
-
-#ifdef NANS
-if( __eisnan(a) )
- {
- __emov (a, c);
- return;
- }
-if( __eisnan(b) )
- {
- __emov(b,c);
- return;
- }
-/* Infinity minus infinity is a NaN.
- * Test for subtracting infinities of the same sign.
- */
-if( __eisinf(a) && __eisinf(b) && ((__eisneg (a) ^ __eisneg (b)) == 0))
- {
- mtherr( "esub", DOMAIN );
- __enan_NBITS( c );
- return;
- }
-#endif
-__eadd1( a, b, c, 1 );
-}
-
-
-
-/*
-; Divide.
-;
-; unsigned short a[NI], b[NI], c[NI];
-; ediv( a, b, c ); c = b / a
-*/
-
-void __ediv(const short unsigned int *a,
- const short unsigned int *b,
- short unsigned int *c)
-{
-unsigned short ai[NI], bi[NI];
-int i;
-long lt, lta, ltb;
-
-#ifdef NANS
-/* Return any NaN input. */
-if( __eisnan(a) )
- {
- __emov(a,c);
- return;
- }
-if( __eisnan(b) )
- {
- __emov(b,c);
- return;
- }
-/* Zero over zero, or infinity over infinity, is a NaN. */
-if( (__eiszero(a) && __eiszero(b))
- || (__eisinf (a) && __eisinf (b)) )
- {
- mtherr( "ediv", DOMAIN );
- __enan_NBITS( c );
- return;
- }
-#endif
-/* Infinity over anything else is infinity. */
-#ifdef INFINITY
-if( __eisinf(b) )
- {
- if( __eisneg(a) ^ __eisneg(b) )
- *(c+(NE-1)) = 0x8000;
- else
- *(c+(NE-1)) = 0;
- __einfin(c);
- return;
- }
-if( __eisinf(a) )
- {
- __eclear(c);
- return;
- }
-#endif
-__emovi( a, ai );
-__emovi( b, bi );
-lta = ai[E];
-ltb = bi[E];
-if( bi[E] == 0 )
- { /* See if numerator is zero. */
- for( i=1; i<NI-1; i++ )
- {
- if( bi[i] != 0 )
- {
- ltb -= __enormlz( bi );
- goto dnzro1;
- }
- }
- __eclear(c);
- return;
- }
-dnzro1:
-
-if( ai[E] == 0 )
- { /* possible divide by zero */
- for( i=1; i<NI-1; i++ )
- {
- if( ai[i] != 0 )
- {
- lta -= __enormlz( ai );
- goto dnzro2;
- }
- }
- if( ai[0] == bi[0] )
- *(c+(NE-1)) = 0;
- else
- *(c+(NE-1)) = 0x8000;
- __einfin(c);
- mtherr( "ediv", SING );
- return;
- }
-dnzro2:
-
-i = __edivm( ai, bi );
-/* calculate exponent */
-lt = ltb - lta + EXONE;
-__emdnorm( bi, i, 0, lt, 64, NBITS );
-/* set the sign */
-if( ai[0] == bi[0] )
- bi[0] = 0;
-else
- bi[0] = 0Xffff;
-__emovo( bi, c );
-}
-
-void __e64toe(short unsigned int *pe, short unsigned int *y)
-{
-unsigned short yy[NI];
-unsigned short *p, *q, *e;
-int i;
-
-e = pe;
-p = yy;
-for( i=0; i<NE-5; i++ )
- *p++ = 0;
-#ifdef IBMPC
-for( i=0; i<5; i++ )
- *p++ = *e++;
-#endif
-#ifdef DEC
-for( i=0; i<5; i++ )
- *p++ = *e++;
-#endif
-#ifdef MIEEE
-p = &yy[0] + (NE-1);
-*p-- = *e++;
-++e;
-for( i=0; i<4; i++ )
- *p-- = *e++;
-#endif
-
-#ifdef IBMPC
-/* For Intel long double, shift denormal significand up 1
- -- but only if the top significand bit is zero. */
-if((yy[NE-1] & 0x7fff) == 0 && (yy[NE-2] & 0x8000) == 0)
- {
- unsigned short temp[NI+1];
- __emovi(yy, temp);
- __eshup1(temp);
- __emovo(temp,y);
- return;
- }
-#endif
-#ifdef INFINITY
-/* Point to the exponent field. */
-p = &yy[NE-1];
-if( *p == 0x7fff )
- {
-#ifdef NANS
-#ifdef IBMPC
- for( i=0; i<4; i++ )
- {
- if((i != 3 && pe[i] != 0)
- /* Check for Intel long double infinity pattern. */
- || (i == 3 && pe[i] != 0x8000))
- {
- __enan_NBITS( y );
- return;
- }
- }
-#else
- for( i=1; i<=4; i++ )
- {
- if( pe[i] != 0 )
- {
- __enan_NBITS( y );
- return;
- }
- }
-#endif
-#endif /* NANS */
- __eclear( y );
- __einfin( y );
- if( *p & 0x8000 )
- __eneg(y);
- return;
- }
-#endif
-p = yy;
-q = y;
-for( i=0; i<NE; i++ )
- *q++ = *p++;
-}
-
-#endif /* USE_LDTOA */
diff --git a/winsup/mingw/mingwex/math/cephes_emath.h b/winsup/mingw/mingwex/math/cephes_emath.h
deleted file mode 100644
index 121937a8f..000000000
--- a/winsup/mingw/mingwex/math/cephes_emath.h
+++ /dev/null
@@ -1,713 +0,0 @@
-#ifndef _CEPHES_EMATH_H
-#define _CEPHES_EMATH_H
-
-/* This file is extracted from S L Moshier's ioldoubl.c,
- * modified for use in MinGW
- *
- * Extended precision arithmetic functions for long double I/O.
- * This program has been placed in the public domain.
- */
-
-
-
-/*
- * Revision history:
- *
- * 5 Jan 84 PDP-11 assembly language version
- * 6 Dec 86 C language version
- * 30 Aug 88 100 digit version, improved rounding
- * 15 May 92 80-bit long double support
- *
- * Author: S. L. Moshier.
- *
- * 6 Oct 02 Modified for MinGW by inlining utility routines,
- * removing global variables, and splitting out strtold
- * from _IO_ldtoa and _IO_ldtostr.
- *
- * Danny Smith <dannysmith@users.sourceforge.net>
- *
- */
-
-
-
-/* ieee.c
- *
- * Extended precision IEEE binary floating point arithmetic routines
- *
- * Numbers are stored in C language as arrays of 16-bit unsigned
- * short integers. The arguments of the routines are pointers to
- * the arrays.
- *
- *
- * External e type data structure, simulates Intel 8087 chip
- * temporary real format but possibly with a larger significand:
- *
- * NE-1 significand words (least significant word first,
- * most significant bit is normally set)
- * exponent (value = EXONE for 1.0,
- * top bit is the sign)
- *
- *
- * Internal data structure of a number (a "word" is 16 bits):
- *
- * ei[0] sign word (0 for positive, 0xffff for negative)
- * ei[1] biased __exponent (value = EXONE for the number 1.0)
- * ei[2] high guard word (always zero after normalization)
- * ei[3]
- * to ei[NI-2] significand (NI-4 significand words,
- * most significant word first,
- * most significant bit is set)
- * ei[NI-1] low guard word (0x8000 bit is rounding place)
- *
- *
- *
- * Routines for external format numbers
- *
- * __asctoe64( string, &d ) ASCII string to long double
- * __asctoeg( string, e, prec ) ASCII string to specified precision
- * __e64toe( &d, e ) IEEE long double precision to e type
- * __eadd( a, b, c ) c = b + a
- * __eclear(e) e = 0
- * __ecmp (a, b) Returns 1 if a > b, 0 if a == b,
- * -1 if a < b, -2 if either a or b is a NaN.
- * __ediv( a, b, c ) c = b / a
- * __efloor( a, b ) truncate to integer, toward -infinity
- * __efrexp( a, exp, s ) extract exponent and significand
- * __eifrac( e, &l, frac ) e to long integer and e type fraction
- * __euifrac( e, &l, frac ) e to unsigned long integer and e type fraction
- * __einfin( e ) set e to infinity, leaving its sign alone
- * __eldexp( a, n, b ) multiply by 2**n
- * __emov( a, b ) b = a
- * __emul( a, b, c ) c = b * a
- * __eneg(e) e = -e
- * __eround( a, b ) b = nearest integer value to a
- * __esub( a, b, c ) c = b - a
- * __e24toasc( &f, str, n ) single to ASCII string, n digits after decimal
- * __e53toasc( &d, str, n ) double to ASCII string, n digits after decimal
- * __e64toasc( &d, str, n ) long double to ASCII string
- * __etoasc( e, str, n ) e to ASCII string, n digits after decimal
- * __etoe24( e, &f ) convert e type to IEEE single precision
- * __etoe53( e, &d ) convert e type to IEEE double precision
- * __etoe64( e, &d ) convert e type to IEEE long double precision
- * __eisneg( e ) 1 if sign bit of e != 0, else 0
- * __eisinf( e ) 1 if e has maximum exponent (non-IEEE)
- * or is infinite (IEEE)
- * __eisnan( e ) 1 if e is a NaN
- * __esqrt( a, b ) b = square root of a
- *
- *
- * Routines for internal format numbers
- *
- * __eaddm( ai, bi ) add significands, bi = bi + ai
- * __ecleaz(ei) ei = 0
- * __ecleazs(ei) set ei = 0 but leave its sign alone
- * __ecmpm( ai, bi ) compare significands, return 1, 0, or -1
- * __edivm( ai, bi ) divide significands, bi = bi / ai
- * __emdnorm(ai,l,s,exp) normalize and round off
- * __emovi( a, ai ) convert external a to internal ai
- * __emovo( ai, a ) convert internal ai to external a
- * __emovz( ai, bi ) bi = ai, low guard word of bi = 0
- * __emulm( ai, bi ) multiply significands, bi = bi * ai
- * __enormlz(ei) left-justify the significand
- * __eshdn1( ai ) shift significand and guards down 1 bit
- * __eshdn8( ai ) shift down 8 bits
- * __eshdn6( ai ) shift down 16 bits
- * __eshift( ai, n ) shift ai n bits up (or down if n < 0)
- * __eshup1( ai ) shift significand and guards up 1 bit
- * __eshup8( ai ) shift up 8 bits
- * __eshup6( ai ) shift up 16 bits
- * __esubm( ai, bi ) subtract significands, bi = bi - ai
- *
- *
- * The result is always normalized and rounded to NI-4 word precision
- * after each arithmetic operation.
- *
- * Exception flags are NOT fully supported.
- *
- * Define INFINITY in mconf.h for support of infinity; otherwise a
- * saturation arithmetic is implemented.
- *
- * Define NANS for support of Not-a-Number items; otherwise the
- * arithmetic will never produce a NaN output, and might be confused
- * by a NaN input.
- * If NaN's are supported, the output of ecmp(a,b) is -2 if
- * either a or b is a NaN. This means asking if(ecmp(a,b) < 0)
- * may not be legitimate. Use if(ecmp(a,b) == -1) for less-than
- * if in doubt.
- * Signaling NaN's are NOT supported; they are treated the same
- * as quiet NaN's.
- *
- * Denormals are always supported here where appropriate (e.g., not
- * for conversion to DEC numbers).
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <errno.h>
-#include <math.h>
-#include <locale.h>
-#include <ctype.h>
-
-#define alloca __builtin_alloca
-
-/* Don't build non-ANSI _IO_ldtoa. It is not thread safe. */
-#ifndef USE_LDTOA
-#define USE_LDTOA 0
-#endif
-
-
- /* Number of 16 bit words in external x type format */
-#define NE 6
-
- /* Number of 16 bit words in internal format */
-#define NI (NE+3)
-
- /* Array offset to exponent */
-#define E 1
-
- /* Array offset to high guard word */
-#define M 2
-
- /* Number of bits of precision */
-#define NBITS ((NI-4)*16)
-
- /* Maximum number of decimal digits in ASCII conversion
- * = NBITS*log10(2)
- */
-#define NDEC (NBITS*8/27)
-
- /* The exponent of 1.0 */
-#define EXONE (0x3fff)
-
-
-#define mtherr(x,y)
-
-
-extern long double strtold (const char * __restrict__ s, char ** __restrict__ se);
-extern int __asctoe64(const char * __restrict__ ss,
- short unsigned int * __restrict__ y);
-extern void __emul(const short unsigned int * a,
- const short unsigned int * b,
- short unsigned int * c);
-extern int __ecmp(const short unsigned int * __restrict__ a,
- const short unsigned int * __restrict__ b);
-extern int __enormlz(short unsigned int *x);
-extern int __eshift(short unsigned int *x, int sc);
-extern void __eaddm(const short unsigned int * __restrict__ x,
- short unsigned int * __restrict__ y);
-extern void __esubm(const short unsigned int * __restrict__ x,
- short unsigned int * __restrict__ y);
-extern void __emdnorm(short unsigned int *s, int lost, int subflg,
- long int exp, int rcntrl, const int rndprc);
-extern void __toe64(short unsigned int * __restrict__ a,
- short unsigned int * __restrict__ b);
-extern int __edivm(short unsigned int * __restrict__ den,
- short unsigned int * __restrict__ num);
-extern int __emulm(const short unsigned int * __restrict__ a,
- short unsigned int * __restrict__ b);
-extern void __emovi(const short unsigned int * __restrict__ a,
- short unsigned int * __restrict__ b);
-extern void __emovo(const short unsigned int * __restrict__ a,
- short unsigned int * __restrict__ b);
-
-#if USE_LDTOA
-
-extern char * _IO_ldtoa(long double, int, int, int *, int *, char **);
-extern void _IO_ldtostr(long double *x, char *string, int ndigs,
- int flags, char fmt);
-
-extern void __eiremain(short unsigned int * __restrict__ den,
- short unsigned int *__restrict__ num,
- short unsigned int *__restrict__ equot);
-extern void __efloor(short unsigned int *x, short unsigned int *y);
-extern void __eadd1(const short unsigned int * __restrict__ a,
- const short unsigned int * __restrict__ b,
- short unsigned int * __restrict__ c,
- int subflg);
-extern void __esub(const short unsigned int *a, const short unsigned int *b,
- short unsigned int *c);
-extern void __ediv(const short unsigned int *a, const short unsigned int *b,
- short unsigned int *c);
-extern void __e64toe(short unsigned int *pe, short unsigned int *y);
-
-
-#endif
-
-static __inline__ int __eisneg(const short unsigned int *x);
-static __inline__ int __eisinf(const short unsigned int *x);
-static __inline__ int __eisnan(const short unsigned int *x);
-static __inline__ int __eiszero(const short unsigned int *a);
-static __inline__ void __emovz(register const short unsigned int * __restrict__ a,
- register short unsigned int * __restrict__ b);
-static __inline__ void __eclear(register short unsigned int *x);
-static __inline__ void __ecleaz(register short unsigned int *xi);
-static __inline__ void __ecleazs(register short unsigned int *xi);
-static __inline__ int __eiisinf(const short unsigned int *x);
-static __inline__ int __eiisnan(const short unsigned int *x);
-static __inline__ int __eiiszero(const short unsigned int *x);
-static __inline__ void __enan_64(short unsigned int *nan);
-static __inline__ void __enan_NBITS (short unsigned int *nan);
-static __inline__ void __enan_NI16 (short unsigned int *nan);
-static __inline__ void __einfin(register short unsigned int *x);
-static __inline__ void __eneg(short unsigned int *x);
-static __inline__ void __eshup1(register short unsigned int *x);
-static __inline__ void __eshup8(register short unsigned int *x);
-static __inline__ void __eshup6(register short unsigned int *x);
-static __inline__ void __eshdn1(register short unsigned int *x);
-static __inline__ void __eshdn8(register short unsigned int *x);
-static __inline__ void __eshdn6(register short unsigned int *x);
-
-
-
-/* Intel IEEE, low order words come first:
- */
-#define IBMPC 1
-
-/* Define 1 for ANSI C atan2() function
- * See atan.c and clog.c.
- */
-#define ANSIC 1
-
-/*define VOLATILE volatile*/
-#define VOLATILE
-
-/* For 12-byte long doubles on an i386, pad a 16-bit short 0
- * to the end of real constants initialized by integer arrays.
- *
- * #define XPD 0,
- *
- * Otherwise, the type is 10 bytes long and XPD should be
- * defined blank.
- *
- * #define XPD
- */
-#define XPD 0,
-/* #define XPD */
-#define NANS
-
-/* NaN's require infinity support. */
-#ifdef NANS
-#ifndef INFINITY
-#define INFINITY
-#endif
-#endif
-
-/* This handles 64-bit long ints. */
-#define LONGBITS (8 * sizeof(long))
-
-
-#define NTEN 12
-#define MAXP 4096
-
-/*
-; Clear out entire external format number.
-;
-; unsigned short x[];
-; eclear( x );
-*/
-
-static __inline__ void __eclear(register short unsigned int *x)
-{
- memset(x, 0, NE * sizeof(unsigned short));
-}
-
-
-/* Move external format number from a to b.
- *
- * emov( a, b );
- */
-
-static __inline__ void __emov(register const short unsigned int * __restrict__ a,
- register short unsigned int * __restrict__ b)
-{
- memcpy(b, a, NE * sizeof(unsigned short));
-}
-
-
-/*
-; Negate external format number
-;
-; unsigned short x[NE];
-; eneg( x );
-*/
-
-static __inline__ void __eneg(short unsigned int *x)
-{
-
-#ifdef NANS
-if( __eisnan(x) )
- return;
-#endif
-x[NE-1] ^= 0x8000; /* Toggle the sign bit */
-}
-
-
-/* Return 1 if external format number is negative,
- * else return zero.
- */
-static __inline__ int __eisneg(const short unsigned int *x)
-{
-
-#ifdef NANS
-if( __eisnan(x) )
- return( 0 );
-#endif
-if( x[NE-1] & 0x8000 )
- return( 1 );
-else
- return( 0 );
-}
-
-
-/* Return 1 if external format number has maximum possible exponent,
- * else return zero.
- */
-static __inline__ int __eisinf(const short unsigned int *x)
-{
-
-if( (x[NE-1] & 0x7fff) == 0x7fff )
- {
-#ifdef NANS
- if( __eisnan(x) )
- return( 0 );
-#endif
- return( 1 );
- }
-else
- return( 0 );
-}
-
-/* Check if e-type number is not a number.
- */
-static __inline__ int __eisnan(const short unsigned int *x)
-{
-#ifdef NANS
-int i;
-/* NaN has maximum __exponent */
-if( (x[NE-1] & 0x7fff) == 0x7fff )
-/* ... and non-zero significand field. */
- for( i=0; i<NE-1; i++ )
- {
- if( *x++ != 0 )
- return (1);
- }
-#endif
-return (0);
-}
-
-/*
-; Fill __entire number, including __exponent and significand, with
-; largest possible number. These programs implement a saturation
-; value that is an ordinary, legal number. A special value
-; "infinity" may also be implemented; this would require tests
-; for that value and implementation of special rules for arithmetic
-; operations involving inifinity.
-*/
-
-static __inline__ void __einfin(register short unsigned int *x)
-{
-register int i;
-
-#ifdef INFINITY
-for( i=0; i<NE-1; i++ )
- *x++ = 0;
-*x |= 32767;
-#else
-for( i=0; i<NE-1; i++ )
- *x++ = 0xffff;
-*x |= 32766;
-*(x-5) = 0;
-#endif
-}
-
-/* Clear out internal format number.
- */
-
-static __inline__ void __ecleaz(register short unsigned int *xi)
-{
- memset(xi, 0, NI * sizeof(unsigned short));
-}
-
-/* same, but don't touch the sign. */
-
-static __inline__ void __ecleazs(register short unsigned int *xi)
-{
- ++xi;
- memset(xi, 0, (NI-1) * sizeof(unsigned short));
-}
-
-
-
-/* Move internal format number from a to b.
- */
-static __inline__ void __emovz(register const short unsigned int * __restrict__ a,
- register short unsigned int * __restrict__ b)
-{
- memcpy(b, a, (NI-1) * sizeof(unsigned short));
- b[NI-1]=0;
-}
-
-/* Return nonzero if internal format number is a NaN.
- */
-
-static __inline__ int __eiisnan (const short unsigned int *x)
-{
-int i;
-
-if( (x[E] & 0x7fff) == 0x7fff )
- {
- for( i=M+1; i<NI; i++ )
- {
- if( x[i] != 0 )
- return(1);
- }
- }
-return(0);
-}
-
-/* Return nonzero if external format number is zero. */
-
-static __inline__ int
-__eiszero(const short unsigned int * a)
-{
-if (*((long double*) a) == 0)
- return (1);
-return (0);
-}
-
-/* Return nonzero if internal format number is zero. */
-
-static __inline__ int
-__eiiszero(const short unsigned int * ai)
-{
- int i;
- /* skip the sign word */
- for( i=1; i<NI-1; i++ )
- {
- if( ai[i] != 0 )
- return (0);
- }
- return (1);
-}
-
-
-/* Return nonzero if internal format number is infinite. */
-
-static __inline__ int
-__eiisinf (const unsigned short *x)
-{
-
-#ifdef NANS
- if (__eiisnan (x))
- return (0);
-#endif
- if ((x[E] & 0x7fff) == 0x7fff)
- return (1);
- return (0);
-}
-
-/*
-; Compare significands of numbers in internal format.
-; Guard words are included in the comparison.
-;
-; unsigned short a[NI], b[NI];
-; cmpm( a, b );
-;
-; for the significands:
-; returns +1 if a > b
-; 0 if a == b
-; -1 if a < b
-*/
-static __inline__ int __ecmpm(register const short unsigned int * __restrict__ a,
- register const short unsigned int * __restrict__ b)
-{
-int i;
-
-a += M; /* skip up to significand area */
-b += M;
-for( i=M; i<NI; i++ )
- {
- if( *a++ != *b++ )
- goto difrnt;
- }
-return(0);
-
-difrnt:
-if( *(--a) > *(--b) )
- return(1);
-else
- return(-1);
-}
-
-
-/*
-; Shift significand down by 1 bit
-*/
-
-static __inline__ void __eshdn1(register short unsigned int *x)
-{
-register unsigned short bits;
-int i;
-
-x += M; /* point to significand area */
-
-bits = 0;
-for( i=M; i<NI; i++ )
- {
- if( *x & 1 )
- bits |= 1;
- *x >>= 1;
- if( bits & 2 )
- *x |= 0x8000;
- bits <<= 1;
- ++x;
- }
-}
-
-/*
-; Shift significand up by 1 bit
-*/
-
-static __inline__ void __eshup1(register short unsigned int *x)
-{
-register unsigned short bits;
-int i;
-
-x += NI-1;
-bits = 0;
-
-for( i=M; i<NI; i++ )
- {
- if( *x & 0x8000 )
- bits |= 1;
- *x <<= 1;
- if( bits & 2 )
- *x |= 1;
- bits <<= 1;
- --x;
- }
-}
-
-
-
-/*
-; Shift significand down by 8 bits
-*/
-
-static __inline__ void __eshdn8(register short unsigned int *x)
-{
-register unsigned short newbyt, oldbyt;
-int i;
-
-x += M;
-oldbyt = 0;
-for( i=M; i<NI; i++ )
- {
- newbyt = *x << 8;
- *x >>= 8;
- *x |= oldbyt;
- oldbyt = newbyt;
- ++x;
- }
-}
-
-/*
-; Shift significand up by 8 bits
-*/
-
-static __inline__ void __eshup8(register short unsigned int *x)
-{
-int i;
-register unsigned short newbyt, oldbyt;
-
-x += NI-1;
-oldbyt = 0;
-
-for( i=M; i<NI; i++ )
- {
- newbyt = *x >> 8;
- *x <<= 8;
- *x |= oldbyt;
- oldbyt = newbyt;
- --x;
- }
-}
-
-/*
-; Shift significand up by 16 bits
-*/
-
-static __inline__ void __eshup6(register short unsigned int *x)
-{
-int i;
-register unsigned short *p;
-
-p = x + M;
-x += M + 1;
-
-for( i=M; i<NI-1; i++ )
- *p++ = *x++;
-
-*p = 0;
-}
-
-/*
-; Shift significand down by 16 bits
-*/
-
-static __inline__ void __eshdn6(register short unsigned int *x)
-{
-int i;
-register unsigned short *p;
-
-x += NI-1;
-p = x + 1;
-
-for( i=M; i<NI-1; i++ )
- *(--p) = *(--x);
-
-*(--p) = 0;
-}
-
-/*
-; Add significands
-; x + y replaces y
-*/
-
-static __inline__ void __enan_64(unsigned short* nan)
-{
-
- int i;
- for( i=0; i<3; i++ )
- *nan++ = 0;
- *nan++ = 0xc000;
- *nan++ = 0x7fff;
- *nan = 0;
- return;
-}
-
-static __inline__ void __enan_NBITS(unsigned short* nan)
-{
- int i;
- for( i=0; i<NE-2; i++ )
- *nan++ = 0;
- *nan++ = 0xc000;
- *nan = 0x7fff;
- return;
-}
-
-static __inline__ void __enan_NI16(unsigned short* nan)
-{
- int i;
- *nan++ = 0;
- *nan++ = 0x7fff;
- *nan++ = 0;
- *nan++ = 0xc000;
- for( i=4; i<NI; i++ )
- *nan++ = 0;
- return;
-}
-
-#endif /* _CEPHES_EMATH_H */
-
diff --git a/winsup/mingw/mingwex/math/cephes_mconf.h b/winsup/mingw/mingwex/math/cephes_mconf.h
deleted file mode 100644
index 9818c4546..000000000
--- a/winsup/mingw/mingwex/math/cephes_mconf.h
+++ /dev/null
@@ -1,395 +0,0 @@
-#include <math.h>
-#include <errno.h>
-
-
-#define IBMPC 1
-#define ANSIPROT 1
-#define MINUSZERO 1
-#define INFINITIES 1
-#define NANS 1
-#define DENORMAL 1
-#define VOLATILE
-#define mtherr(fname, code)
-#define XPD 0,
-
-#define _CEPHES_USE_ERRNO
-
-#ifdef _CEPHES_USE_ERRNO
-#define _SET_ERRNO(x) errno = (x)
-#else
-#define _SET_ERRNO(x)
-#endif
-
-/* constants used by cephes functions */
-
-/* double */
-#define MAXNUM 1.7976931348623158E308
-#define MAXLOG 7.09782712893383996843E2
-#define MINLOG -7.08396418532264106224E2
-#define LOGE2 6.93147180559945309417E-1
-#define LOG2E 1.44269504088896340736
-#define PI 3.14159265358979323846
-#define PIO2 1.57079632679489661923
-#define PIO4 7.85398163397448309616E-1
-
-#define NEGZERO (-0.0)
-#undef NAN
-#undef INFINITY
-#if (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ > 2))
-#define INFINITY __builtin_huge_val()
-#define NAN __builtin_nan("")
-#else
-extern double __INF;
-#define INFINITY (__INF)
-extern double __QNAN;
-#define NAN (__QNAN)
-#endif
-
-/*long double*/
-#define MAXNUML 1.189731495357231765021263853E4932L
-#define MAXLOGL 1.1356523406294143949492E4L
-#define MINLOGL -1.13994985314888605586758E4L
-#define LOGE2L 6.9314718055994530941723E-1L
-#define LOG2EL 1.4426950408889634073599E0L
-#define PIL 3.1415926535897932384626L
-#define PIO2L 1.5707963267948966192313L
-#define PIO4L 7.8539816339744830961566E-1L
-
-#define isfinitel isfinite
-#define isinfl isinf
-#define isnanl isnan
-#define signbitl signbit
-
-#define NEGZEROL (-0.0L)
-
-#undef NANL
-#undef INFINITYL
-#if (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ > 2))
-#define INFINITYL __builtin_huge_vall()
-#define NANL __builtin_nanl("")
-#else
-extern long double __INFL;
-#define INFINITYL (__INFL)
-extern long double __QNANL;
-#define NANL (__QNANL)
-#endif
-
-/* float */
-
-#define MAXNUMF 3.4028234663852885981170418348451692544e38F
-#define MAXLOGF 88.72283905206835F
-#define MINLOGF -103.278929903431851103F /* log(2^-149) */
-#define LOG2EF 1.44269504088896341F
-#define LOGE2F 0.693147180559945309F
-#define PIF 3.141592653589793238F
-#define PIO2F 1.5707963267948966192F
-#define PIO4F 0.7853981633974483096F
-
-#define isfinitef isfinite
-#define isinff isinf
-#define isnanf isnan
-#define signbitf signbit
-
-#define NEGZEROF (-0.0F)
-
-#undef NANF
-#undef INFINITYF
-#if (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ > 2))
-#define INFINITYF __builtin_huge_valf()
-#define NANF __builtin_nanf("")
-#else
-extern float __INFF;
-#define INFINITYF (__INFF)
-extern float __QNANF;
-#define NANF (__QNANF)
-#endif
-
-
-/* double */
-
-/*
-Cephes Math Library Release 2.2: July, 1992
-Copyright 1984, 1987, 1988, 1992 by Stephen L. Moshier
-Direct inquiries to 30 Frost Street, Cambridge, MA 02140
-*/
-
-
-/* polevl.c
- * p1evl.c
- *
- * Evaluate polynomial
- *
- *
- *
- * SYNOPSIS:
- *
- * int N;
- * double x, y, coef[N+1], polevl[];
- *
- * y = polevl( x, coef, N );
- *
- *
- *
- * DESCRIPTION:
- *
- * Evaluates polynomial of degree N:
- *
- * 2 N
- * y = C + C x + C x +...+ C x
- * 0 1 2 N
- *
- * Coefficients are stored in reverse order:
- *
- * coef[0] = C , ..., coef[N] = C .
- * N 0
- *
- * The function p1evl() assumes that coef[N] = 1.0 and is
- * omitted from the array. Its calling arguments are
- * otherwise the same as polevl().
- *
- *
- * SPEED:
- *
- * In the interest of speed, there are no checks for out
- * of bounds arithmetic. This routine is used by most of
- * the functions in the library. Depending on available
- * equipment features, the user may wish to rewrite the
- * program in microcode or assembly language.
- *
- */
-
-/* Polynomial evaluator:
- * P[0] x^n + P[1] x^(n-1) + ... + P[n]
- */
-static __inline__ double polevl( x, p, n )
-double x;
-const void *p;
-int n;
-{
-register double y;
-register double *P = (double *)p;
-
-y = *P++;
-do
- {
- y = y * x + *P++;
- }
-while( --n );
-return(y);
-}
-
-
-
-/* Polynomial evaluator:
- * x^n + P[0] x^(n-1) + P[1] x^(n-2) + ... + P[n]
- */
-static __inline__ double p1evl( x, p, n )
-double x;
-const void *p;
-int n;
-{
-register double y;
-register double *P = (double *)p;
-
-n -= 1;
-y = x + *P++;
-do
- {
- y = y * x + *P++;
- }
-while( --n );
-return( y );
-}
-
-
-/* long double */
-/*
-Cephes Math Library Release 2.2: July, 1992
-Copyright 1984, 1987, 1988, 1992 by Stephen L. Moshier
-Direct inquiries to 30 Frost Street, Cambridge, MA 02140
-*/
-
-
-/* polevll.c
- * p1evll.c
- *
- * Evaluate polynomial
- *
- *
- *
- * SYNOPSIS:
- *
- * int N;
- * long double x, y, coef[N+1], polevl[];
- *
- * y = polevll( x, coef, N );
- *
- *
- *
- * DESCRIPTION:
- *
- * Evaluates polynomial of degree N:
- *
- * 2 N
- * y = C + C x + C x +...+ C x
- * 0 1 2 N
- *
- * Coefficients are stored in reverse order:
- *
- * coef[0] = C , ..., coef[N] = C .
- * N 0
- *
- * The function p1evll() assumes that coef[N] = 1.0 and is
- * omitted from the array. Its calling arguments are
- * otherwise the same as polevll().
- *
- *
- * SPEED:
- *
- * In the interest of speed, there are no checks for out
- * of bounds arithmetic. This routine is used by most of
- * the functions in the library. Depending on available
- * equipment features, the user may wish to rewrite the
- * program in microcode or assembly language.
- *
- */
-
-/* Polynomial evaluator:
- * P[0] x^n + P[1] x^(n-1) + ... + P[n]
- */
-static __inline__ long double polevll( x, p, n )
-long double x;
-const void *p;
-int n;
-{
-register long double y;
-register long double *P = (long double *)p;
-
-y = *P++;
-do
- {
- y = y * x + *P++;
- }
-while( --n );
-return(y);
-}
-
-
-
-/* Polynomial evaluator:
- * x^n + P[0] x^(n-1) + P[1] x^(n-2) + ... + P[n]
- */
-static __inline__ long double p1evll( x, p, n )
-long double x;
-const void *p;
-int n;
-{
-register long double y;
-register long double *P = (long double *)p;
-
-n -= 1;
-y = x + *P++;
-do
- {
- y = y * x + *P++;
- }
-while( --n );
-return( y );
-}
-
-/* Float version */
-
-/* polevlf.c
- * p1evlf.c
- *
- * Evaluate polynomial
- *
- *
- *
- * SYNOPSIS:
- *
- * int N;
- * float x, y, coef[N+1], polevlf[];
- *
- * y = polevlf( x, coef, N );
- *
- *
- *
- * DESCRIPTION:
- *
- * Evaluates polynomial of degree N:
- *
- * 2 N
- * y = C + C x + C x +...+ C x
- * 0 1 2 N
- *
- * Coefficients are stored in reverse order:
- *
- * coef[0] = C , ..., coef[N] = C .
- * N 0
- *
- * The function p1evl() assumes that coef[N] = 1.0 and is
- * omitted from the array. Its calling arguments are
- * otherwise the same as polevl().
- *
- *
- * SPEED:
- *
- * In the interest of speed, there are no checks for out
- * of bounds arithmetic. This routine is used by most of
- * the functions in the library. Depending on available
- * equipment features, the user may wish to rewrite the
- * program in microcode or assembly language.
- *
- */
-
-/*
-Cephes Math Library Release 2.1: December, 1988
-Copyright 1984, 1987, 1988 by Stephen L. Moshier
-Direct inquiries to 30 Frost Street, Cambridge, MA 02140
-*/
-
-static __inline__ float polevlf(float x, const float* coef, int N )
-{
-float ans;
-float *p;
-int i;
-
-p = (float*)coef;
-ans = *p++;
-
-/*
-for( i=0; i<N; i++ )
- ans = ans * x + *p++;
-*/
-
-i = N;
-do
- ans = ans * x + *p++;
-while( --i );
-
-return( ans );
-}
-
-/* p1evl() */
-/* N
- * Evaluate polynomial when coefficient of x is 1.0.
- * Otherwise same as polevl.
- */
-
-static __inline__ float p1evlf( float x, const float *coef, int N )
-{
-float ans;
-float *p;
-int i;
-
-p = (float*)coef;
-ans = x + *p++;
-i = N-1;
-
-do
- ans = ans * x + *p++;
-while( --i );
-
-return( ans );
-}
diff --git a/winsup/mingw/mingwex/math/copysign.S b/winsup/mingw/mingwex/math/copysign.S
deleted file mode 100644
index 60d6c72db..000000000
--- a/winsup/mingw/mingwex/math/copysign.S
+++ /dev/null
@@ -1,19 +0,0 @@
-/*
- * Written by J.T. Conklin <jtc@netbsd.org>.
- * Public domain.
- */
-
- .file "copysign.S"
- .text
- .align 4
-.globl _copysign
- .def _copysign; .scl 2; .type 32; .endef
-_copysign:
- movl 16(%esp),%edx
- movl 8(%esp),%eax
- andl $0x80000000,%edx
- andl $0x7fffffff,%eax
- orl %edx,%eax
- movl %eax,8(%esp)
- fldl 4(%esp)
- ret
diff --git a/winsup/mingw/mingwex/math/copysignf.S b/winsup/mingw/mingwex/math/copysignf.S
deleted file mode 100644
index 8a60c463c..000000000
--- a/winsup/mingw/mingwex/math/copysignf.S
+++ /dev/null
@@ -1,19 +0,0 @@
-/*
- * Written by J.T. Conklin <jtc@netbsd.org>.
- * Public domain.
- */
-
- .file "copysignf.S"
- .text
- .align 4
-.globl _copysignf
- .def _copysignf; .scl 2; .type 32; .endef
-_copysignf:
- movl 8(%esp),%edx
- movl 4(%esp),%eax
- andl $0x80000000,%edx
- andl $0x7fffffff,%eax
- orl %edx,%eax
- movl %eax,4(%esp)
- flds 4(%esp)
- ret
diff --git a/winsup/mingw/mingwex/math/copysignl.S b/winsup/mingw/mingwex/math/copysignl.S
deleted file mode 100644
index 4143b37f8..000000000
--- a/winsup/mingw/mingwex/math/copysignl.S
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Written by J.T. Conklin <jtc@netbsd.org>.
- * Changes for long double by Ulrich Drepper <drepper@cygnus.com>
- * Public domain.
- */
-
- .file "copysignl.S"
- .text
- .align 4
-.globl _copysignl
- .def _copysignl; .scl 2; .type 32; .endef
-_copysignl:
- movl 24(%esp),%edx
- movl 12(%esp),%eax
- andl $0x8000,%edx
- andl $0x7fff,%eax
- orl %edx,%eax
- movl %eax,12(%esp)
- fldt 4(%esp)
- ret
diff --git a/winsup/mingw/mingwex/math/cosf.S b/winsup/mingw/mingwex/math/cosf.S
deleted file mode 100644
index 862f6ce6c..000000000
--- a/winsup/mingw/mingwex/math/cosf.S
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * Written by J.T. Conklin <jtc@netbsd.org>.
- * Public domain.
- *
- * Removed glibc header dependancy by Danny Smith
- * <dannysmith@users.sourceforge.net>
- */
- .file "cosf.S"
- .text
- .align 4
-.globl _cosl
- .def _cosf; .scl 2; .type 32; .endef
-_cosf:
- flds 4(%esp)
- fcos
- fnstsw %ax
- testl $0x400,%eax
- jnz 1f
- ret
-1: fldpi
- fadd %st(0)
- fxch %st(1)
-2: fprem1
- fnstsw %ax
- testl $0x400,%eax
- jnz 2b
- fstp %st(1)
- fcos
- ret
diff --git a/winsup/mingw/mingwex/math/coshf.c b/winsup/mingw/mingwex/math/coshf.c
deleted file mode 100644
index 4e44f0811..000000000
--- a/winsup/mingw/mingwex/math/coshf.c
+++ /dev/null
@@ -1,3 +0,0 @@
-#include <math.h>
-float coshf (float x)
- {return (float) cosh (x);}
diff --git a/winsup/mingw/mingwex/math/coshl.c b/winsup/mingw/mingwex/math/coshl.c
deleted file mode 100644
index c698e50c0..000000000
--- a/winsup/mingw/mingwex/math/coshl.c
+++ /dev/null
@@ -1,110 +0,0 @@
-/* coshl.c
- *
- * Hyperbolic cosine, long double precision
- *
- *
- *
- * SYNOPSIS:
- *
- * long double x, y, coshl();
- *
- * y = coshl( x );
- *
- *
- *
- * DESCRIPTION:
- *
- * Returns hyperbolic cosine of argument in the range MINLOGL to
- * MAXLOGL.
- *
- * cosh(x) = ( exp(x) + exp(-x) )/2.
- *
- *
- *
- * ACCURACY:
- *
- * Relative error:
- * arithmetic domain # trials peak rms
- * IEEE +-10000 30000 1.1e-19 2.8e-20
- *
- *
- * ERROR MESSAGES:
- *
- * message condition value returned
- * cosh overflow |x| > MAXLOGL+LOGE2L INFINITYL
- *
- *
- */
-
-
-/*
-Cephes Math Library Release 2.7: May, 1998
-Copyright 1985, 1991, 1998 by Stephen L. Moshier
-*/
-
-/*
-Modified for mingw
-2002-07-22 Danny Smith <dannysmith@users.sourceforge.net>
-*/
-
-#ifdef __MINGW32__
-#include "cephes_mconf.h"
-#else
-#include "mconf.h"
-#endif
-
-#ifndef _SET_ERRNO
-#define _SET_ERRNO(x)
-#endif
-
-
-#ifndef __MINGW32__
-extern long double MAXLOGL, MAXNUML, LOGE2L;
-#ifdef ANSIPROT
-extern long double expl ( long double );
-extern int isnanl ( long double );
-#else
-long double expl(), isnanl();
-#endif
-#ifdef INFINITIES
-extern long double INFINITYL;
-#endif
-#ifdef NANS
-extern long double NANL;
-#endif
-#endif /* __MINGW32__ */
-
-long double coshl(x)
-long double x;
-{
-long double y;
-
-#ifdef NANS
-if( isnanl(x) )
- {
- _SET_ERRNO(EDOM);
- return(x);
- }
-#endif
-if( x < 0 )
- x = -x;
-if( x > (MAXLOGL + LOGE2L) )
- {
- mtherr( "coshl", OVERFLOW );
- _SET_ERRNO(ERANGE);
-#ifdef INFINITIES
- return( INFINITYL );
-#else
- return( MAXNUML );
-#endif
- }
-if( x >= (MAXLOGL - LOGE2L) )
- {
- y = expl(0.5L * x);
- y = (0.5L * y) * y;
- return(y);
- }
-y = expl(x);
-y = 0.5L * (y + 1.0L / y);
-return( y );
-}
diff --git a/winsup/mingw/mingwex/math/cosl.S b/winsup/mingw/mingwex/math/cosl.S
deleted file mode 100644
index 59d9858b3..000000000
--- a/winsup/mingw/mingwex/math/cosl.S
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * Written by J.T. Conklin <jtc@netbsd.org>.
- * Public domain.
- *
- * Adapted for `long double' by Ulrich Drepper <drepper@cygnus.com>.
- * Removed glibc header dependancy by Danny Smith
- * <dannysmith@users.sourceforge.net>
- */
- .file "cosl.S"
- .text
- .align 4
-.globl _cosl
- .def _cosl; .scl 2; .type 32; .endef
-_cosl:
- fldt 4(%esp)
- fcos
- fnstsw %ax
- testl $0x400,%eax
- jnz 1f
- ret
-1: fldpi
- fadd %st(0)
- fxch %st(1)
-2: fprem1
- fnstsw %ax
- testl $0x400,%eax
- jnz 2b
- fstp %st(1)
- fcos
- ret
diff --git a/winsup/mingw/mingwex/math/erfl.c b/winsup/mingw/mingwex/math/erfl.c
deleted file mode 100755
index ac50d98c2..000000000
--- a/winsup/mingw/mingwex/math/erfl.c
+++ /dev/null
@@ -1,299 +0,0 @@
-/* erfl.c
- *
- * Error function
- *
- *
- *
- * SYNOPSIS:
- *
- * long double x, y, erfl();
- *
- * y = erfl( x );
- *
- *
- *
- * DESCRIPTION:
- *
- * The integral is
- *
- * x
- * -
- * 2 | | 2
- * erf(x) = -------- | exp( - t ) dt.
- * sqrt(pi) | |
- * -
- * 0
- *
- * The magnitude of x is limited to about 106.56 for IEEE
- * arithmetic; 1 or -1 is returned outside this range.
- *
- * For 0 <= |x| < 1, erf(x) = x * P6(x^2)/Q6(x^2);
- * Otherwise: erf(x) = 1 - erfc(x).
- *
- *
- *
- * ACCURACY:
- *
- * Relative error:
- * arithmetic domain # trials peak rms
- * IEEE 0,1 50000 2.0e-19 5.7e-20
- *
- */
-
-/* erfcl.c
- *
- * Complementary error function
- *
- *
- *
- * SYNOPSIS:
- *
- * long double x, y, erfcl();
- *
- * y = erfcl( x );
- *
- *
- *
- * DESCRIPTION:
- *
- *
- * 1 - erf(x) =
- *
- * inf.
- * -
- * 2 | | 2
- * erfc(x) = -------- | exp( - t ) dt
- * sqrt(pi) | |
- * -
- * x
- *
- *
- * For small x, erfc(x) = 1 - erf(x); otherwise rational
- * approximations are computed.
- *
- * A special function expx2l.c is used to suppress error amplification
- * in computing exp(-x^2).
- *
- *
- * ACCURACY:
- *
- * Relative error:
- * arithmetic domain # trials peak rms
- * IEEE 0,13 50000 8.4e-19 9.7e-20
- * IEEE 6,106.56 20000 2.9e-19 7.1e-20
- *
- *
- * ERROR MESSAGES:
- *
- * message condition value returned
- * erfcl underflow x^2 > MAXLOGL 0.0
- *
- *
- */
-
-
-/*
-Modified from file ndtrl.c
-Cephes Math Library Release 2.3: January, 1995
-Copyright 1984, 1995 by Stephen L. Moshier
-*/
-
-#include <math.h>
-#include "cephes_mconf.h"
-
-/* erfc(x) = exp(-x^2) P(1/x)/Q(1/x)
- 1/8 <= 1/x <= 1
- Peak relative error 5.8e-21 */
-
-static const unsigned short P[] = {
-0x4bf0,0x9ad8,0x7a03,0x86c7,0x401d, XPD
-0xdf23,0xd843,0x4032,0x8881,0x401e, XPD
-0xd025,0xcfd5,0x8494,0x88d3,0x401e, XPD
-0xb6d0,0xc92b,0x5417,0xacb1,0x401d, XPD
-0xada8,0x356a,0x4982,0x94a6,0x401c, XPD
-0x4e13,0xcaee,0x9e31,0xb258,0x401a, XPD
-0x5840,0x554d,0x37a3,0x9239,0x4018, XPD
-0x3b58,0x3da2,0xaf02,0x9780,0x4015, XPD
-0x0144,0x489e,0xbe68,0x9c31,0x4011, XPD
-0x333b,0xd9e6,0xd404,0x986f,0xbfee, XPD
-};
-static const unsigned short Q[] = {
-/* 0x0000,0x0000,0x0000,0x8000,0x3fff, XPD */
-0x0e43,0x302d,0x79ed,0x86c7,0x401d, XPD
-0xf817,0x9128,0xc0f8,0xd48b,0x401e, XPD
-0x8eae,0x8dad,0x6eb4,0x9aa2,0x401f, XPD
-0x00e7,0x7595,0xcd06,0x88bb,0x401f, XPD
-0x4991,0xcfda,0x52f1,0xa2a9,0x401e, XPD
-0xc39d,0xe415,0xc43d,0x87c0,0x401d, XPD
-0xa75d,0x436f,0x30dd,0xa027,0x401b, XPD
-0xc4cb,0x305a,0xbf78,0x8220,0x4019, XPD
-0x3708,0x33b1,0x07fa,0x8644,0x4016, XPD
-0x24fa,0x96f6,0x7153,0x8a6c,0x4012, XPD
-};
-
-/* erfc(x) = exp(-x^2) 1/x R(1/x^2) / S(1/x^2)
- 1/128 <= 1/x < 1/8
- Peak relative error 1.9e-21 */
-
-static const unsigned short R[] = {
-0x260a,0xab95,0x2fc7,0xe7c4,0x4000, XPD
-0x4761,0x613e,0xdf6d,0xe58e,0x4001, XPD
-0x0615,0x4b00,0x575f,0xdc7b,0x4000, XPD
-0x521d,0x8527,0x3435,0x8dc2,0x3ffe, XPD
-0x22cf,0xc711,0x6c5b,0xdcfb,0x3ff9, XPD
-};
-static const unsigned short S[] = {
-/* 0x0000,0x0000,0x0000,0x8000,0x3fff, XPD */
-0x5de6,0x17d7,0x54d6,0xaba9,0x4002, XPD
-0x55d5,0xd300,0xe71e,0xf564,0x4002, XPD
-0xb611,0x8f76,0xf020,0xd255,0x4001, XPD
-0x3684,0x3798,0xb793,0x80b0,0x3fff, XPD
-0xf5af,0x2fb2,0x1e57,0xc3d7,0x3ffa, XPD
-};
-
-/* erf(x) = x T(x^2)/U(x^2)
- 0 <= x <= 1
- Peak relative error 7.6e-23 */
-
-static const unsigned short T[] = {
-0xfd7a,0x3a1a,0x705b,0xe0c4,0x3ffb, XPD
-0x3128,0xc337,0x3716,0xace5,0x4001, XPD
-0x9517,0x4e93,0x540e,0x8f97,0x4007, XPD
-0x6118,0x6059,0x9093,0xa757,0x400a, XPD
-0xb954,0xa987,0xc60c,0xbc83,0x400e, XPD
-0x7a56,0xe45a,0xa4bd,0x975b,0x4010, XPD
-0xc446,0x6bab,0x0b2a,0x86d0,0x4013, XPD
-};
-
-static const unsigned short U[] = {
-/* 0x0000,0x0000,0x0000,0x8000,0x3fff, XPD */
-0x3453,0x1f8e,0xf688,0xb507,0x4004, XPD
-0x71ac,0xb12f,0x21ca,0xf2e2,0x4008, XPD
-0xffe8,0x9cac,0x3b84,0xc2ac,0x400c, XPD
-0x481d,0x445b,0xc807,0xc232,0x400f, XPD
-0x9ad5,0x1aef,0x45b1,0xe25e,0x4011, XPD
-0x71a7,0x1cad,0x012e,0xeef3,0x4012, XPD
-};
-
-/* expx2l.c
- *
- * Exponential of squared argument
- *
- *
- *
- * SYNOPSIS:
- *
- * long double x, y, expmx2l();
- * int sign;
- *
- * y = expx2l( x );
- *
- *
- *
- * DESCRIPTION:
- *
- * Computes y = exp(x*x) while suppressing error amplification
- * that would ordinarily arise from the inexactness of the
- * exponential argument x*x.
- *
- *
- *
- * ACCURACY:
- *
- * Relative error:
- * arithmetic domain # trials peak rms
- * IEEE -106.566, 106.566 10^5 1.6e-19 4.4e-20
- *
- */
-
-#define M 32768.0L
-#define MINV 3.0517578125e-5L
-
-static long double expx2l (long double x)
-{
- long double u, u1, m, f;
-
- x = fabsl (x);
- /* Represent x as an exact multiple of M plus a residual.
- M is a power of 2 chosen so that exp(m * m) does not overflow
- or underflow and so that |x - m| is small. */
- m = MINV * floorl(M * x + 0.5L);
- f = x - m;
-
- /* x^2 = m^2 + 2mf + f^2 */
- u = m * m;
- u1 = 2 * m * f + f * f;
-
- if ((u+u1) > MAXLOGL)
- return (INFINITYL);
-
- /* u is exact, u1 is small. */
- u = expl(u) * expl(u1);
- return(u);
-}
-
-long double erfcl(long double a)
-{
-long double p,q,x,y,z;
-
-if (isinf (a))
- return (signbit (a) ? 2.0 : 0.0);
-
-x = fabsl (a);
-
-if (x < 1.0L)
- return (1.0L - erfl(a));
-
-z = a * a;
-
-if( z > MAXLOGL )
- {
-under:
- mtherr( "erfcl", UNDERFLOW );
- errno = ERANGE;
- return (signbit (a) ? 2.0 : 0.0);
- }
-
-/* Compute z = expl(a * a). */
-z = expx2l (a);
-y = 1.0L/x;
-
-if (x < 8.0L)
- {
- p = polevll (y, P, 9);
- q = p1evll (y, Q, 10);
- }
-else
- {
- q = y * y;
- p = y * polevll (q, R, 4);
- q = p1evll (q, S, 5);
- }
-y = p/(q * z);
-
-if (a < 0.0L)
- y = 2.0L - y;
-
-if (y == 0.0L)
- goto under;
-
-return (y);
-}
-
-long double erfl(long double x)
-{
-long double y, z;
-
-if( x == 0.0L )
- return (x);
-
-if (isinf (x))
- return (signbit (x) ? -1.0L : 1.0L);
-
-if (fabsl(x) > 1.0L)
- return (1.0L - erfcl (x));
-
-z = x * x;
-y = x * polevll( z, T, 6 ) / p1evll( z, U, 6 );
-return( y );
-}
diff --git a/winsup/mingw/mingwex/math/exp2.S b/winsup/mingw/mingwex/math/exp2.S
deleted file mode 100644
index 320065726..000000000
--- a/winsup/mingw/mingwex/math/exp2.S
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Written by J.T. Conklin <jtc@netbsd.org>.
- * Adapted for exp2 by Ulrich Drepper <drepper@cygnus.com>.
- * Public domain.
- */
-
- .file "exp2.S"
- .text
- .align 4
-.globl _exp2
- .def _exp2; .scl 2; .type 32; .endef
-_exp2:
- fldl 4(%esp)
-/* I added the following ugly construct because exp(+-Inf) resulted
- in NaN. The ugliness results from the bright minds at Intel.
- For the i686 the code can be written better.
- -- drepper@cygnus.com. */
- fxam /* Is NaN or +-Inf? */
- fstsw %ax
- movb $0x45, %dh
- andb %ah, %dh
- cmpb $0x05, %dh
- je 1f /* Is +-Inf, jump. */
- fld %st
- frndint /* int(x) */
- fsubr %st,%st(1) /* fract(x) */
- fxch
- f2xm1 /* 2^(fract(x)) - 1 */
- fld1
- faddp /* 2^(fract(x)) */
- fscale /* e^x */
- fstp %st(1)
- ret
-
-1: testl $0x200, %eax /* Test sign. */
- jz 2f /* If positive, jump. */
- fstp %st
- fldz /* Set result to 0. */
-2: ret
diff --git a/winsup/mingw/mingwex/math/exp2f.S b/winsup/mingw/mingwex/math/exp2f.S
deleted file mode 100644
index 0707a0cc6..000000000
--- a/winsup/mingw/mingwex/math/exp2f.S
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Written by J.T. Conklin <jtc@netbsd.org>.
- * Adapted for exp2 by Ulrich Drepper <drepper@cygnus.com>.
- * Public domain.
- */
-
- .file "exp2f.S"
- .text
- .align 4
-.globl _exp2f
- .def _exp2f; .scl 2; .type 32; .endef
-_exp2f:
- flds 4(%esp)
-/* I added the following ugly construct because exp(+-Inf) resulted
- in NaN. The ugliness results from the bright minds at Intel.
- For the i686 the code can be written better.
- -- drepper@cygnus.com. */
- fxam /* Is NaN or +-Inf? */
- fstsw %ax
- movb $0x45, %dh
- andb %ah, %dh
- cmpb $0x05, %dh
- je 1f /* Is +-Inf, jump. */
- fld %st
- frndint /* int(x) */
- fsubr %st,%st(1) /* fract(x) */
- fxch
- f2xm1 /* 2^(fract(x)) - 1 */
- fld1
- faddp /* 2^(fract(x)) */
- fscale /* e^x */
- fstp %st(1)
- ret
-
-1: testl $0x200, %eax /* Test sign. */
- jz 2f /* If positive, jump. */
- fstp %st
- fldz /* Set result to 0. */
-2: ret
diff --git a/winsup/mingw/mingwex/math/exp2l.S b/winsup/mingw/mingwex/math/exp2l.S
deleted file mode 100644
index 2457c26f4..000000000
--- a/winsup/mingw/mingwex/math/exp2l.S
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Written by J.T. Conklin <jtc@netbsd.org>.
- * Adapted for exp2 by Ulrich Drepper <drepper@cygnus.com>.
- * Public domain.
- */
-
- .file "exp2l.S"
- .text
- .align 4
-.globl _exp2l
- .def _exp2l; .scl 2; .type 32; .endef
-_exp2l:
- fldt 4(%esp)
-/* I added the following ugly construct because exp(+-Inf) resulted
- in NaN. The ugliness results from the bright minds at Intel.
- For the i686 the code can be written better.
- -- drepper@cygnus.com. */
- fxam /* Is NaN or +-Inf? */
- fstsw %ax
- movb $0x45, %dh
- andb %ah, %dh
- cmpb $0x05, %dh
- je 1f /* Is +-Inf, jump. */
- fld %st
- frndint /* int(x) */
- fsubr %st,%st(1) /* fract(x) */
- fxch
- f2xm1 /* 2^(fract(x)) - 1 */
- fld1
- faddp /* 2^(fract(x)) */
- fscale /* e^x */
- fstp %st(1)
- ret
-
-1: testl $0x200, %eax /* Test sign. */
- jz 2f /* If positive, jump. */
- fstp %st
- fldz /* Set result to 0. */
-2: ret
diff --git a/winsup/mingw/mingwex/math/expf.c b/winsup/mingw/mingwex/math/expf.c
deleted file mode 100644
index e56e0bc6e..000000000
--- a/winsup/mingw/mingwex/math/expf.c
+++ /dev/null
@@ -1,3 +0,0 @@
-#include <math.h>
-float expf (float x)
- {return (float) exp (x);}
diff --git a/winsup/mingw/mingwex/math/expl.c b/winsup/mingw/mingwex/math/expl.c
deleted file mode 100644
index 9731a902b..000000000
--- a/winsup/mingw/mingwex/math/expl.c
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * Written by J.T. Conklin <jtc@netbsd.org>.
- * Public domain.
- *
- * Adapted for `long double' by Ulrich Drepper <drepper@cygnus.com>.
- */
-
-/*
- * The 8087 method for the exponential function is to calculate
- * exp(x) = 2^(x log2(e))
- * after separating integer and fractional parts
- * x log2(e) = i + f, |f| <= .5
- * 2^i is immediate but f needs to be precise for long double accuracy.
- * Suppress range reduction error in computing f by the following.
- * Separate x into integer and fractional parts
- * x = xi + xf, |xf| <= .5
- * Separate log2(e) into the sum of an exact number c0 and small part c1.
- * c0 + c1 = log2(e) to extra precision
- * Then
- * f = (c0 xi - i) + c0 xf + c1 x
- * where c0 xi is exact and so also is (c0 xi - i).
- * -- moshier@na-net.ornl.gov
- */
-
-#include <math.h>
-#include "cephes_mconf.h" /* for max and min log thresholds */
-
-static long double c0 = 1.44268798828125L;
-static long double c1 = 7.05260771340735992468e-6L;
-
-static long double
-__expl (long double x)
-{
- long double res;
- asm ("fldl2e\n\t" /* 1 log2(e) */
- "fmul %%st(1),%%st\n\t" /* 1 x log2(e) */
- "frndint\n\t" /* 1 i */
- "fld %%st(1)\n\t" /* 2 x */
- "frndint\n\t" /* 2 xi */
- "fld %%st(1)\n\t" /* 3 i */
- "fldt %2\n\t" /* 4 c0 */
- "fld %%st(2)\n\t" /* 5 xi */
- "fmul %%st(1),%%st\n\t" /* 5 c0 xi */
- "fsubp %%st,%%st(2)\n\t" /* 4 f = c0 xi - i */
- "fld %%st(4)\n\t" /* 5 x */
- "fsub %%st(3),%%st\n\t" /* 5 xf = x - xi */
- "fmulp %%st,%%st(1)\n\t" /* 4 c0 xf */
- "faddp %%st,%%st(1)\n\t" /* 3 f = f + c0 xf */
- "fldt %3\n\t" /* 4 */
- "fmul %%st(4),%%st\n\t" /* 4 c1 * x */
- "faddp %%st,%%st(1)\n\t" /* 3 f = f + c1 * x */
- "f2xm1\n\t" /* 3 2^(fract(x * log2(e))) - 1 */
- "fld1\n\t" /* 4 1.0 */
- "faddp\n\t" /* 3 2^(fract(x * log2(e))) */
- "fstp %%st(1)\n\t" /* 2 */
- "fscale\n\t" /* 2 scale factor is st(1); e^x */
- "fstp %%st(1)\n\t" /* 1 */
- "fstp %%st(1)\n\t" /* 0 */
- : "=t" (res) : "0" (x), "m" (c0), "m" (c1) : "ax", "dx");
- return res;
-}
-
-long double expl (long double x)
-{
- if (x > MAXLOGL)
- return INFINITY;
- else if (x < MINLOGL)
- return 0.0L;
- else
- return __expl (x);
-}
diff --git a/winsup/mingw/mingwex/math/expm1.c b/winsup/mingw/mingwex/math/expm1.c
deleted file mode 100755
index 4b2f43939..000000000
--- a/winsup/mingw/mingwex/math/expm1.c
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * Written 2005 by Gregory W. Chicares <chicares@cox.net>.
- * Adapted to double by Danny Smith <dannysmith@users.sourceforge.net>.
- * Public domain.
- *
- * F2XM1's input is constrained to (-1, +1), so the domain of
- * 'x * LOG2EL' is (-LOGE2L, +LOGE2L). Outside that domain,
- * delegating to exp() handles C99 7.12.6.3/2 range errors.
- *
- * Constants from moshier.net, file cephes/ldouble/constl.c,
- * are used instead of M_LN2 and M_LOG2E, which would not be
- * visible with 'gcc std=c99'. The use of these extended precision
- * constants also allows gcc to replace them with x87 opcodes.
- */
-
-#include <math.h> /* expl() */
-#include "cephes_mconf.h"
-double expm1 (double x)
-{
- if (fabs(x) < LOGE2L)
- {
- x *= LOG2EL;
- __asm__("f2xm1" : "=t" (x) : "0" (x));
- return x;
- }
- else
- return exp(x) - 1.0;
-}
diff --git a/winsup/mingw/mingwex/math/expm1f.c b/winsup/mingw/mingwex/math/expm1f.c
deleted file mode 100755
index e38665c48..000000000
--- a/winsup/mingw/mingwex/math/expm1f.c
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * Written 2005 by Gregory W. Chicares <chicares@cox.net>.
- * Adapted to float by Danny Smith <dannysmith@users.sourceforge.net>.
- * Public domain.
- *
- * F2XM1's input is constrained to (-1, +1), so the domain of
- * 'x * LOG2EL' is (-LOGE2L, +LOGE2L). Outside that domain,
- * delegating to exp() handles C99 7.12.6.3/2 range errors.
- *
- * Constants from moshier.net, file cephes/ldouble/constl.c,
- * are used instead of M_LN2 and M_LOG2E, which would not be
- * visible with 'gcc std=c99'. The use of these extended precision
- * constants also allows gcc to replace them with x87 opcodes.
- */
-
-#include <math.h> /* expl() */
-#include "cephes_mconf.h"
-
-float expm1f (float x)
-{
- if (fabsf(x) < LOGE2L)
- {
- x *= LOG2EL;
- __asm__("f2xm1" : "=t" (x) : "0" (x));
- return x;
- }
- else
- return expf(x) - 1.0F;
-}
diff --git a/winsup/mingw/mingwex/math/expm1l.c b/winsup/mingw/mingwex/math/expm1l.c
deleted file mode 100755
index 69fe8e525..000000000
--- a/winsup/mingw/mingwex/math/expm1l.c
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * Written 2005 by Gregory W. Chicares <chicares@cox.net> with
- * help from Danny Smith. dannysmith@users.sourceforge.net>.
- * Public domain.
- *
- * F2XM1's input is constrained to (-1, +1), so the domain of
- * 'x * LOG2EL' is (-LOGE2L, +LOGE2L). Outside that domain,
- * delegating to expl() handles C99 7.12.6.3/2 range errors.
- *
- * Constants from moshier.net, file cephes/ldouble/constl.c,
- * are used instead of M_LN2 and M_LOG2E, which would not be
- * visible with 'gcc std=c99'. The use of these extended precision
- * constants also allows gcc to replace them with x87 opcodes.
- */
-
-#include <math.h> /* expl() */
-#include "cephes_mconf.h"
-
-long double expm1l (long double x)
-{
- if (fabsl(x) < LOGE2L)
- {
- x *= LOG2EL;
- __asm__("f2xm1" : "=t" (x) : "0" (x));
- return x;
- }
- else
- return expl(x) - 1.0L;
-}
diff --git a/winsup/mingw/mingwex/math/fabs.c b/winsup/mingw/mingwex/math/fabs.c
deleted file mode 100644
index c2074e8cb..000000000
--- a/winsup/mingw/mingwex/math/fabs.c
+++ /dev/null
@@ -1,10 +0,0 @@
-#include <math.h>
-
-double
-fabs (double x)
-{
- double res;
-
- asm ("fabs;" : "=t" (res) : "0" (x));
- return res;
-}
diff --git a/winsup/mingw/mingwex/math/fabsf.c b/winsup/mingw/mingwex/math/fabsf.c
deleted file mode 100644
index 6580f955c..000000000
--- a/winsup/mingw/mingwex/math/fabsf.c
+++ /dev/null
@@ -1,9 +0,0 @@
-#include <math.h>
-
-float
-fabsf (float x)
-{
- float res;
- asm ("fabs;" : "=t" (res) : "0" (x));
- return res;
-}
diff --git a/winsup/mingw/mingwex/math/fabsl.c b/winsup/mingw/mingwex/math/fabsl.c
deleted file mode 100644
index eead724d4..000000000
--- a/winsup/mingw/mingwex/math/fabsl.c
+++ /dev/null
@@ -1,9 +0,0 @@
-#include <math.h>
-
-long double
-fabsl (long double x)
-{
- long double res;
- asm ("fabs;" : "=t" (res) : "0" (x));
- return res;
-}
diff --git a/winsup/mingw/mingwex/math/fastmath.h b/winsup/mingw/mingwex/math/fastmath.h
deleted file mode 100755
index 01b06b3eb..000000000
--- a/winsup/mingw/mingwex/math/fastmath.h
+++ /dev/null
@@ -1,115 +0,0 @@
-#ifndef _MINGWEX_FASTMATH_H_
-#define _MINGWEX_FASTMATH_H_
-
-/* Fast math inlines
- No range or domain checks. No setting of errno. No tweaks to
- protect precision near range limits. */
-
-/* For now this is an internal header with just the functions that
- are currently used in building libmingwex.a math components */
-
-/* FIXME: We really should get rid of the code duplication using euther
- C++ templates or tgmath-type macros. */
-
-static __inline__ double __fast_sqrt (double x)
-{
- double res;
- asm __volatile__ ("fsqrt" : "=t" (res) : "0" (x));
- return res;
-}
-
-static __inline__ long double __fast_sqrtl (long double x)
-{
- long double res;
- asm __volatile__ ("fsqrt" : "=t" (res) : "0" (x));
- return res;
-}
-
-static __inline__ float __fast_sqrtf (float x)
-{
- float res;
- asm __volatile__ ("fsqrt" : "=t" (res) : "0" (x));
- return res;
-}
-
-
-static __inline__ double __fast_log (double x)
-{
- double res;
- asm __volatile__
- ("fldln2\n\t"
- "fxch\n\t"
- "fyl2x"
- : "=t" (res) : "0" (x) : "st(1)");
- return res;
-}
-
-static __inline__ long double __fast_logl (long double x)
-{
- long double res;
- asm __volatile__
- ("fldln2\n\t"
- "fxch\n\t"
- "fyl2x"
- : "=t" (res) : "0" (x) : "st(1)");
- return res;
-}
-
-
-static __inline__ float __fast_logf (float x)
-{
- float res;
- asm __volatile__
- ("fldln2\n\t"
- "fxch\n\t"
- "fyl2x"
- : "=t" (res) : "0" (x) : "st(1)");
- return res;
-}
-
-static __inline__ double __fast_log1p (double x)
-{
- double res;
- /* fyl2xp1 accurate only for |x| <= 1.0 - 0.5 * sqrt (2.0) */
- if (fabs (x) >= 1.0 - 0.5 * 1.41421356237309504880)
- res = __fast_log (1.0 + x);
- else
- asm __volatile__
- ("fldln2\n\t"
- "fxch\n\t"
- "fyl2xp1"
- : "=t" (res) : "0" (x) : "st(1)");
- return res;
-}
-
-static __inline__ long double __fast_log1pl (long double x)
-{
- long double res;
- /* fyl2xp1 accurate only for |x| <= 1.0 - 0.5 * sqrt (2.0) */
- if (fabsl (x) >= 1.0L - 0.5L * 1.41421356237309504880L)
- res = __fast_logl (1.0L + x);
- else
- asm __volatile__
- ("fldln2\n\t"
- "fxch\n\t"
- "fyl2xp1"
- : "=t" (res) : "0" (x) : "st(1)");
- return res;
-}
-
-static __inline__ float __fast_log1pf (float x)
-{
- float res;
- /* fyl2xp1 accurate only for |x| <= 1.0 - 0.5 * sqrt (2.0) */
- if (fabsf (x) >= 1.0 - 0.5 * 1.41421356237309504880)
- res = __fast_logf (1.0 + x);
- else
- asm __volatile__
- ("fldln2\n\t"
- "fxch\n\t"
- "fyl2xp1"
- : "=t" (res) : "0" (x) : "st(1)");
- return res;
-}
-
-#endif
diff --git a/winsup/mingw/mingwex/math/fdim.c b/winsup/mingw/mingwex/math/fdim.c
deleted file mode 100644
index 330b09241..000000000
--- a/winsup/mingw/mingwex/math/fdim.c
+++ /dev/null
@@ -1,7 +0,0 @@
-#include <math.h>
-
-double
-fdim (double x, double y)
-{
- return (isgreater(x, y) ? (x - y) : 0.0);
-}
diff --git a/winsup/mingw/mingwex/math/fdimf.c b/winsup/mingw/mingwex/math/fdimf.c
deleted file mode 100644
index 02bfc6e5e..000000000
--- a/winsup/mingw/mingwex/math/fdimf.c
+++ /dev/null
@@ -1,7 +0,0 @@
-#include <math.h>
-
-float
-fdimf (float x, float y)
-{
- return (isgreater(x, y) ? (x - y) : 0.0F);
-}
diff --git a/winsup/mingw/mingwex/math/fdiml.c b/winsup/mingw/mingwex/math/fdiml.c
deleted file mode 100644
index 1c3d0aaaa..000000000
--- a/winsup/mingw/mingwex/math/fdiml.c
+++ /dev/null
@@ -1,7 +0,0 @@
-#include <math.h>
-
-long double
-fdiml (long double x, long double y)
-{
- return (isgreater(x, y) ? (x - y) : 0.0L);
-}
diff --git a/winsup/mingw/mingwex/math/floorf.S b/winsup/mingw/mingwex/math/floorf.S
deleted file mode 100644
index 8ae8100a7..000000000
--- a/winsup/mingw/mingwex/math/floorf.S
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Written by J.T. Conklin <jtc@netbsd.org>.
- * Public domain.
- *
- * Changes for long double by Ulrich Drepper <drepper@cygnus.com>
- *
- * Removed header file dependency for use in libmingwex.a by
- * Danny Smith <dannysmith@users.sourceforge.net>
- */
- .file "floorf.S"
- .text
- .align 4
-.globl _floorf
- .def _floorf; .scl 2; .type 32; .endef
-_floorf:
- flds 4(%esp)
- subl $8,%esp
-
- fstcw 4(%esp) /* store fpu control word */
-
- /* We use here %edx although only the low 1 bits are defined.
- But none of the operations should care and they are faster
- than the 16 bit operations. */
- movl $0x400,%edx /* round towards -oo */
- orl 4(%esp),%edx
- andl $0xf7ff,%edx
- movl %edx,(%esp)
- fldcw (%esp) /* load modified control word */
-
- frndint /* round */
-
- fldcw 4(%esp) /* restore original control word */
-
- addl $8,%esp
- ret
diff --git a/winsup/mingw/mingwex/math/floorl.S b/winsup/mingw/mingwex/math/floorl.S
deleted file mode 100644
index 5ab9214b5..000000000
--- a/winsup/mingw/mingwex/math/floorl.S
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * Written by J.T. Conklin <jtc@netbsd.org>.
- * Public domain.
- *
- * Changes for long double by Ulrich Drepper <drepper@cygnus.com>
- *
- */
- .file "floorl.S"
- .text
- .align 4
-.globl _floorl
- .def _floorl; .scl 2; .type 32; .endef
-_floorl:
- fldt 4(%esp)
- subl $8,%esp
-
- fstcw 4(%esp) /* store fpu control word */
-
- /* We use here %edx although only the low 1 bits are defined.
- But none of the operations should care and they are faster
- than the 16 bit operations. */
- movl $0x400,%edx /* round towards -oo */
- orl 4(%esp),%edx
- andl $0xf7ff,%edx
- movl %edx,(%esp)
- fldcw (%esp) /* load modified control word */
-
- frndint /* round */
-
- fldcw 4(%esp) /* restore original control word */
-
- addl $8,%esp
- ret
diff --git a/winsup/mingw/mingwex/math/fma.S b/winsup/mingw/mingwex/math/fma.S
deleted file mode 100644
index d6226653c..000000000
--- a/winsup/mingw/mingwex/math/fma.S
+++ /dev/null
@@ -1,12 +0,0 @@
- .file "fma.S"
- .text
- .align 2
- .p2align 4,,15
-.globl _fma
- .def _fma; .scl 2; .type 32; .endef
-_fma:
- fldl 4(%esp)
- fmull 12(%esp)
- fldl 20(%esp)
- faddp
- ret
diff --git a/winsup/mingw/mingwex/math/fmaf.S b/winsup/mingw/mingwex/math/fmaf.S
deleted file mode 100644
index 0d64ac2f1..000000000
--- a/winsup/mingw/mingwex/math/fmaf.S
+++ /dev/null
@@ -1,12 +0,0 @@
- .file "fmaf.S"
- .text
- .align 2
- .p2align 4,,15
-.globl _fmaf
- .def _fmaf; .scl 2; .type 32; .endef
-_fmaf:
- flds 4(%esp)
- fmuls 8(%esp)
- flds 12(%esp)
- faddp
- ret
diff --git a/winsup/mingw/mingwex/math/fmal.c b/winsup/mingw/mingwex/math/fmal.c
deleted file mode 100644
index 1fbd41d28..000000000
--- a/winsup/mingw/mingwex/math/fmal.c
+++ /dev/null
@@ -1,5 +0,0 @@
-long double
-fmal ( long double _x, long double _y, long double _z)
-{
- return ((_x * _y) + _z);
-}
diff --git a/winsup/mingw/mingwex/math/fmax.c b/winsup/mingw/mingwex/math/fmax.c
deleted file mode 100644
index 35c1f45e5..000000000
--- a/winsup/mingw/mingwex/math/fmax.c
+++ /dev/null
@@ -1,7 +0,0 @@
-#include <math.h>
-
-double
-fmax (double _x, double _y)
-{
- return ( isgreaterequal (_x, _y)|| __isnan (_y) ? _x : _y );
-}
diff --git a/winsup/mingw/mingwex/math/fmaxf.c b/winsup/mingw/mingwex/math/fmaxf.c
deleted file mode 100644
index 079a7e746..000000000
--- a/winsup/mingw/mingwex/math/fmaxf.c
+++ /dev/null
@@ -1,7 +0,0 @@
-#include <math.h>
-
-float
-fmaxf (float _x, float _y)
-{
- return (( isgreaterequal(_x, _y) || __isnanf (_y)) ? _x : _y );
-}
diff --git a/winsup/mingw/mingwex/math/fmaxl.c b/winsup/mingw/mingwex/math/fmaxl.c
deleted file mode 100644
index 4e38da476..000000000
--- a/winsup/mingw/mingwex/math/fmaxl.c
+++ /dev/null
@@ -1,7 +0,0 @@
-#include <math.h>
-
-long double
-fmaxl (long double _x, long double _y)
-{
- return (( isgreaterequal(_x, _y) || __isnanl (_y)) ? _x : _y );
-}
diff --git a/winsup/mingw/mingwex/math/fmin.c b/winsup/mingw/mingwex/math/fmin.c
deleted file mode 100644
index 96a6ed111..000000000
--- a/winsup/mingw/mingwex/math/fmin.c
+++ /dev/null
@@ -1,7 +0,0 @@
-#include <math.h>
-
-double
-fmin (double _x, double _y)
-{
- return ((islessequal(_x, _y) || __isnan (_y)) ? _x : _y );
-}
diff --git a/winsup/mingw/mingwex/math/fminf.c b/winsup/mingw/mingwex/math/fminf.c
deleted file mode 100644
index f3d71480d..000000000
--- a/winsup/mingw/mingwex/math/fminf.c
+++ /dev/null
@@ -1,7 +0,0 @@
-#include <math.h>
-
-float
-fminf (float _x, float _y)
-{
- return ((islessequal(_x, _y) || _isnan (_y)) ? _x : _y );
-}
diff --git a/winsup/mingw/mingwex/math/fminl.c b/winsup/mingw/mingwex/math/fminl.c
deleted file mode 100644
index d8a3fea2c..000000000
--- a/winsup/mingw/mingwex/math/fminl.c
+++ /dev/null
@@ -1,7 +0,0 @@
-#include <math.h>
-
-long double
-fminl (long double _x, long double _y)
-{
- return ((islessequal(_x, _y) || __isnanl (_y)) ? _x : _y );
-}
diff --git a/winsup/mingw/mingwex/math/fmodf.c b/winsup/mingw/mingwex/math/fmodf.c
deleted file mode 100644
index 6405d725f..000000000
--- a/winsup/mingw/mingwex/math/fmodf.c
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
- * Written by J.T. Conklin <jtc@netbsd.org>.
- * Public domain.
- *
- * Adapted for float type by Danny Smith
- * <dannysmith@users.sourceforge.net>.
- */
-
-#include <math.h>
-
-float
-fmodf (float x, float y)
-{
- float res;
-
- asm ("1:\tfprem\n\t"
- "fstsw %%ax\n\t"
- "sahf\n\t"
- "jp 1b\n\t"
- "fstp %%st(1)"
- : "=t" (res) : "0" (x), "u" (y) : "ax", "st(1)");
- return res;
-}
diff --git a/winsup/mingw/mingwex/math/fmodl.c b/winsup/mingw/mingwex/math/fmodl.c
deleted file mode 100644
index f1c97f10b..000000000
--- a/winsup/mingw/mingwex/math/fmodl.c
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- * Written by J.T. Conklin <jtc@netbsd.org>.
- * Public domain.
- *
- * Adapted for `long double' by Ulrich Drepper <drepper@cygnus.com>.
- */
-
-#include <math.h>
-
-long double
-fmodl (long double x, long double y)
-{
- long double res;
-
- asm ("1:\tfprem\n\t"
- "fstsw %%ax\n\t"
- "sahf\n\t"
- "jp 1b\n\t"
- "fstp %%st(1)"
- : "=t" (res) : "0" (x), "u" (y) : "ax", "st(1)");
- return res;
-}
diff --git a/winsup/mingw/mingwex/math/fp_consts.c b/winsup/mingw/mingwex/math/fp_consts.c
deleted file mode 100644
index 285c9d7dc..000000000
--- a/winsup/mingw/mingwex/math/fp_consts.c
+++ /dev/null
@@ -1,14 +0,0 @@
-
-#include "fp_consts.h"
-const union _ieee_rep __QNAN = { __DOUBLE_QNAN_REP };
-const union _ieee_rep __SNAN = { __DOUBLE_SNAN_REP };
-const union _ieee_rep __INF = { __DOUBLE_INF_REP };
-const union _ieee_rep __DENORM = { __DOUBLE_DENORM_REP };
-
-/* ISO C99 */
-#undef nan
-/* FIXME */
-double nan (const char * tagp __attribute__((unused)) )
- { return __QNAN.double_val; }
-
-
diff --git a/winsup/mingw/mingwex/math/fp_consts.h b/winsup/mingw/mingwex/math/fp_consts.h
deleted file mode 100644
index 249339501..000000000
--- a/winsup/mingw/mingwex/math/fp_consts.h
+++ /dev/null
@@ -1,48 +0,0 @@
-#ifndef _FP_CONSTS_H
-#define _FP_CONSTS_H
-
-/*
-According to IEEE 754 a QNaN has exponent bits of all 1 values and
-initial significand bit of 1. A SNaN has has an exponent of all 1
-values and initial significand bit of 0 (with one or more other
-significand bits of 1). An Inf has significand of 0 and
-exponent of all 1 values. A denormal value has all exponent bits of 0.
-
-The following does _not_ follow those rules, but uses values
-equal to those exported from MS C++ runtime lib, msvcprt.dll
-for float and double. MSVC however, does not have long doubles.
-*/
-
-
-#define __DOUBLE_INF_REP { 0, 0, 0, 0x7ff0 }
-#define __DOUBLE_QNAN_REP { 0, 0, 0, 0xfff8 } /* { 0, 0, 0, 0x7ff8 } */
-#define __DOUBLE_SNAN_REP { 0, 0, 0, 0xfff0 } /* { 1, 0, 0, 0x7ff0 } */
-#define __DOUBLE_DENORM_REP {1, 0, 0, 0}
-
-#define D_NAN_MASK 0x7ff0000000000000LL /* this will mask NaN's and Inf's */
-
-#define __FLOAT_INF_REP { 0, 0x7f80 }
-#define __FLOAT_QNAN_REP { 0, 0xffc0 } /* { 0, 0x7fc0 } */
-#define __FLOAT_SNAN_REP { 0, 0xff80 } /* { 1, 0x7f80 } */
-#define __FLOAT_DENORM_REP {1,0}
-
-#define F_NAN_MASK 0x7f800000
-
-/*
- This assumes no implicit (hidden) bit in extended mode.
- Padded to 96 bits
- */
-#define __LONG_DOUBLE_INF_REP { 0, 0, 0, 0x8000, 0x7fff, 0 }
-#define __LONG_DOUBLE_QNAN_REP { 0, 0, 0, 0xc000, 0xffff, 0 }
-#define __LONG_DOUBLE_SNAN_REP { 0, 0, 0, 0x8000, 0xffff, 0 }
-#define __LONG_DOUBLE_DENORM_REP {1, 0, 0, 0, 0, 0}
-
-union _ieee_rep
-{
- unsigned short rep[6];
- float float_val;
- double double_val;
- long double ldouble_val;
-} ;
-
-#endif
diff --git a/winsup/mingw/mingwex/math/fp_constsf.c b/winsup/mingw/mingwex/math/fp_constsf.c
deleted file mode 100644
index 5a4afef2b..000000000
--- a/winsup/mingw/mingwex/math/fp_constsf.c
+++ /dev/null
@@ -1,12 +0,0 @@
-#include "fp_consts.h"
-
-const union _ieee_rep __QNANF = { __FLOAT_QNAN_REP };
-const union _ieee_rep __SNANF = { __FLOAT_SNAN_REP };
-const union _ieee_rep __INFF = { __FLOAT_INF_REP };
-const union _ieee_rep __DENORMF = { __FLOAT_DENORM_REP };
-
-/* ISO C99 */
-#undef nanf
-/* FIXME */
-float nanf(const char * tagp __attribute__((unused)) )
- { return __QNANF.float_val;}
diff --git a/winsup/mingw/mingwex/math/fp_constsl.c b/winsup/mingw/mingwex/math/fp_constsl.c
deleted file mode 100644
index 44fdb7fd3..000000000
--- a/winsup/mingw/mingwex/math/fp_constsl.c
+++ /dev/null
@@ -1,12 +0,0 @@
-#include "fp_consts.h"
-
-const union _ieee_rep __QNANL = { __LONG_DOUBLE_QNAN_REP };
-const union _ieee_rep __SNANL = { __LONG_DOUBLE_SNAN_REP };
-const union _ieee_rep __INFL = { __LONG_DOUBLE_INF_REP };
-const union _ieee_rep __DENORML = { __LONG_DOUBLE_DENORM_REP };
-
-
-#undef nanl
-/* FIXME */
-long double nanl (const char * tagp __attribute__((unused)) )
- { return __QNANL.ldouble_val; }
diff --git a/winsup/mingw/mingwex/math/fpclassify.c b/winsup/mingw/mingwex/math/fpclassify.c
deleted file mode 100644
index f8cd8cb44..000000000
--- a/winsup/mingw/mingwex/math/fpclassify.c
+++ /dev/null
@@ -1,20 +0,0 @@
-#include <math.h>
-
-/* 'fxam' sets FPU flags C3,C2,C0 'fstsw' stores:
- FP_NAN 001 0x0100
- FP_NORMAL 010 0x0400
- FP_INFINITE 011 0x0500
- FP_ZERO 100 0x4000
- FP_SUBNORMAL 110 0x4400
-
-and sets C1 flag (signbit) if neg */
-
-int __fpclassify (double _x){
- unsigned short sw;
- __asm__ (
- "fxam; fstsw %%ax;"
- : "=a" (sw)
- : "t" (_x)
- );
- return sw & (FP_NAN | FP_NORMAL | FP_ZERO );
-}
diff --git a/winsup/mingw/mingwex/math/fpclassifyf.c b/winsup/mingw/mingwex/math/fpclassifyf.c
deleted file mode 100644
index aca4e59f1..000000000
--- a/winsup/mingw/mingwex/math/fpclassifyf.c
+++ /dev/null
@@ -1,10 +0,0 @@
-#include <math.h>
-int __fpclassifyf (float _x){
- unsigned short sw;
- __asm__ (
- "fxam; fstsw %%ax;"
- : "=a" (sw)
- : "t" (_x)
- );
- return sw & (FP_NAN | FP_NORMAL | FP_ZERO );
-}
diff --git a/winsup/mingw/mingwex/math/fpclassifyl.c b/winsup/mingw/mingwex/math/fpclassifyl.c
deleted file mode 100644
index 9979d6278..000000000
--- a/winsup/mingw/mingwex/math/fpclassifyl.c
+++ /dev/null
@@ -1,10 +0,0 @@
-#include <math.h>
-int __fpclassifyl (long double _x){
- unsigned short sw;
- __asm__ (
- "fxam; fstsw %%ax;"
- : "=a" (sw)
- : "t" (_x)
- );
- return sw & (FP_NAN | FP_NORMAL | FP_ZERO );
-}
diff --git a/winsup/mingw/mingwex/math/frexpf.c b/winsup/mingw/mingwex/math/frexpf.c
deleted file mode 100644
index df262abc5..000000000
--- a/winsup/mingw/mingwex/math/frexpf.c
+++ /dev/null
@@ -1,3 +0,0 @@
-#include <math.h>
-float frexpf (float x, int* expn)
- {return (float)frexp(x, expn);}
diff --git a/winsup/mingw/mingwex/math/frexpl.S b/winsup/mingw/mingwex/math/frexpl.S
deleted file mode 100644
index 2b691c87f..000000000
--- a/winsup/mingw/mingwex/math/frexpl.S
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- Cephes Math Library Release 2.7: May, 1998
- Copyright 1984, 1987, 1988, 1992, 1998 by Stephen L. Moshier
-
- Extracted from floorl.387 for use in libmingwex.a by
- Danny Smith <dannysmith@users.sourceforge.net>
- 2002-06-20
-*/
-
-/*
- * frexpl(long double x, int* expnt) extracts the exponent from x.
- * It returns an integer power of two to expnt and the significand
- * between 0.5 and 1 to y. Thus x = y * 2**expn.
- */
- .align 2
-.globl _frexpl
-_frexpl:
- pushl %ebp
- movl %esp,%ebp
- subl $24,%esp
- pushl %esi
- pushl %ebx
- fldt 8(%ebp)
- movl 20(%ebp),%ebx
- fld %st(0)
- fstpt -12(%ebp)
- leal -4(%ebp),%ecx
- movw -4(%ebp),%dx
- andl $32767,%edx
- jne L25
- fldz
- fucompp
- fnstsw %ax
- andb $68,%ah
- xorb $64,%ah
- jne L21
- movl $0,(%ebx)
- fldz
- jmp L24
- .align 2,0x90
- .align 2,0x90
-L21:
- fldt -12(%ebp)
- fadd %st(0),%st
- fstpt -12(%ebp)
- decl %edx
- movw (%ecx),%si
- andl $32767,%esi
- jne L22
- cmpl $-66,%edx
- jg L21
-L22:
- addl %esi,%edx
- jmp L19
- .align 2,0x90
-L25:
- fstp %st(0)
-L19:
- addl $-16382,%edx
- movl %edx,(%ebx)
- movw (%ecx),%ax
- andl $-32768,%eax
- orl $16382,%eax
- movw %ax,(%ecx)
- fldt -12(%ebp)
-L24:
- leal -32(%ebp),%esp
- popl %ebx
- popl %esi
- leave
- ret
diff --git a/winsup/mingw/mingwex/math/fucom.c b/winsup/mingw/mingwex/math/fucom.c
deleted file mode 100644
index 80c937262..000000000
--- a/winsup/mingw/mingwex/math/fucom.c
+++ /dev/null
@@ -1,11 +0,0 @@
-int
-__fp_unordered_compare (long double x, long double y){
- unsigned short retval;
- __asm__ (
- "fucom %%st(1);"
- "fnstsw;"
- : "=a" (retval)
- : "t" (x), "u" (y)
- );
- return retval;
-}
diff --git a/winsup/mingw/mingwex/math/hypotf.c b/winsup/mingw/mingwex/math/hypotf.c
deleted file mode 100644
index ee67a45dc..000000000
--- a/winsup/mingw/mingwex/math/hypotf.c
+++ /dev/null
@@ -1,4 +0,0 @@
-#include <math.h>
-
-float hypotf (float x, float y)
- { return (float) _hypot (x, y);}
diff --git a/winsup/mingw/mingwex/math/hypotl.c b/winsup/mingw/mingwex/math/hypotl.c
deleted file mode 100644
index 2a25b82c3..000000000
--- a/winsup/mingw/mingwex/math/hypotl.c
+++ /dev/null
@@ -1,73 +0,0 @@
-#include <math.h>
-#include <float.h>
-#include <errno.h>
-
-/*
-This implementation is based largely on Cephes library
-function cabsl (cmplxl.c), which bears the following notice:
-
-Cephes Math Library Release 2.1: January, 1989
-Copyright 1984, 1987, 1989 by Stephen L. Moshier
-Direct inquiries to 30 Frost Street, Cambridge, MA 02140
-*/
-
-/*
- Modified for use in libmingwex.a
- 02 Sept 2002 Danny Smith <dannysmith@users.sourceforege.net>
- Calls to ldexpl replaced by logbl and calls to frexpl replaced
- by scalbnl to avoid duplicated range checks.
-*/
-
-extern long double __INFL;
-#define PRECL 32
-
-long double
-hypotl (long double x, long double y)
-{
- int exx;
- int eyy;
- int scale;
- long double xx =fabsl(x);
- long double yy =fabsl(y);
- if (!isfinite(xx) || !isfinite(yy))
- return xx + yy; /* Return INF or NAN. */
-
- if (xx == 0.0L)
- return yy;
- if (yy == 0.0L)
- return xx;
-
- /* Get exponents */
- exx = logbl (xx);
- eyy = logbl (yy);
-
- /* Check if large differences in scale */
- scale = exx - eyy;
- if ( scale > PRECL)
- return xx;
- if ( scale < -PRECL)
- return yy;
-
- /* Exponent of approximate geometric mean (x 2) */
- scale = (exx + eyy) >> 1;
-
- /* Rescale: Geometric mean is now about 2 */
- x = scalbnl(xx, -scale);
- y = scalbnl(yy, -scale);
-
- xx = sqrtl(x * x + y * y);
-
- /* Check for overflow and underflow */
- exx = logbl(xx);
- exx += scale;
- if (exx > LDBL_MAX_EXP)
- {
- errno = ERANGE;
- return __INFL;
- }
- if (exx < LDBL_MIN_EXP)
- return 0.0L;
-
- /* Undo scaling */
- return (scalbnl (xx, scale));
-}
diff --git a/winsup/mingw/mingwex/math/ilogb.S b/winsup/mingw/mingwex/math/ilogb.S
deleted file mode 100644
index 2335b5146..000000000
--- a/winsup/mingw/mingwex/math/ilogb.S
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * Written by J.T. Conklin <jtc@netbsd.org>.
- * Public domain.
- */
-
-
- .file "ilogb.S"
- .text
- .align 4
-.globl _ilogb
- .def _ilogb; .scl 2; .type 32; .endef
-_ilogb:
-
- fldl 4(%esp)
-/* I added the following ugly construct because ilogb(+-Inf) is
- required to return INT_MAX in ISO C99.
- -- jakub@redhat.com. */
- fxam /* Is NaN or +-Inf? */
- fstsw %ax
- movb $0x45, %dh
- andb %ah, %dh
- cmpb $0x05, %dh
- je 1f /* Is +-Inf, jump. */
-
- fxtract
- pushl %eax
- fstp %st
-
- fistpl (%esp)
- fwait
- popl %eax
-
- ret
-
-1: fstp %st
- movl $0x7fffffff, %eax
- ret
diff --git a/winsup/mingw/mingwex/math/ilogbf.S b/winsup/mingw/mingwex/math/ilogbf.S
deleted file mode 100644
index fa3e78e84..000000000
--- a/winsup/mingw/mingwex/math/ilogbf.S
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Written by J.T. Conklin <jtc@netbsd.org>.
- * Public domain.
- */
-
- .file "ilogbf.S"
- .text
- .align 4
-.globl _ilogbf
- .def _ilogbf; .scl 2; .type 32; .endef
-_ilogbf:
- flds 4(%esp)
-/* I added the following ugly construct because ilogb(+-Inf) is
- required to return INT_MAX in ISO C99.
- -- jakub@redhat.com. */
- fxam /* Is NaN or +-Inf? */
- fstsw %ax
- movb $0x45, %dh
- andb %ah, %dh
- cmpb $0x05, %dh
- je 1f /* Is +-Inf, jump. */
-
- fxtract
- pushl %eax
- fstp %st
-
- fistpl (%esp)
- fwait
- popl %eax
-
- ret
-
-1: fstp %st
- movl $0x7fffffff, %eax
- ret
diff --git a/winsup/mingw/mingwex/math/ilogbl.S b/winsup/mingw/mingwex/math/ilogbl.S
deleted file mode 100644
index b9dc6ea72..000000000
--- a/winsup/mingw/mingwex/math/ilogbl.S
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Written by J.T. Conklin <jtc@netbsd.org>.
- * Changes for long double by Ulrich Drepper <drepper@cygnus.com>
- * Public domain.
- */
-
- .file "ilogbl.S"
- .text
- .align 4
-.globl _ilogbl
- .def _ilogbl; .scl 2; .type 32; .endef
-_ilogbl:
- fldt 4(%esp)
-/* I added the following ugly construct because ilogb(+-Inf) is
- required to return INT_MAX in ISO C99.
- -- jakub@redhat.com. */
- fxam /* Is NaN or +-Inf? */
- fstsw %ax
- movb $0x45, %dh
- andb %ah, %dh
- cmpb $0x05, %dh
- je 1f /* Is +-Inf, jump. */
-
- fxtract
- pushl %eax
- fstp %st
-
- fistpl (%esp)
- fwait
- popl %eax
-
- ret
-
-1: fstp %st
- movl $0x7fffffff, %eax
- ret
diff --git a/winsup/mingw/mingwex/math/isnan.c b/winsup/mingw/mingwex/math/isnan.c
deleted file mode 100644
index b38bc290e..000000000
--- a/winsup/mingw/mingwex/math/isnan.c
+++ /dev/null
@@ -1,14 +0,0 @@
-#include <math.h>
-
-int
-__isnan (double _x)
-{
- unsigned short _sw;
- __asm__ ("fxam;"
- "fstsw %%ax": "=a" (_sw) : "t" (_x));
- return (_sw & (FP_NAN | FP_NORMAL | FP_INFINITE | FP_ZERO | FP_SUBNORMAL))
- == FP_NAN;
-}
-
-#undef isnan
-int __attribute__ ((alias ("__isnan"))) isnan (double);
diff --git a/winsup/mingw/mingwex/math/isnanf.c b/winsup/mingw/mingwex/math/isnanf.c
deleted file mode 100644
index 73fe0eb02..000000000
--- a/winsup/mingw/mingwex/math/isnanf.c
+++ /dev/null
@@ -1,12 +0,0 @@
-#include <math.h>
-int
-__isnanf (float _x)
-{
- unsigned short _sw;
- __asm__ ("fxam;"
- "fstsw %%ax": "=a" (_sw) : "t" (_x) );
- return (_sw & (FP_NAN | FP_NORMAL | FP_INFINITE | FP_ZERO | FP_SUBNORMAL))
- == FP_NAN;
-}
-
-int __attribute__ ((alias ("__isnanf"))) isnanf (float);
diff --git a/winsup/mingw/mingwex/math/isnanl.c b/winsup/mingw/mingwex/math/isnanl.c
deleted file mode 100644
index 86d0088b4..000000000
--- a/winsup/mingw/mingwex/math/isnanl.c
+++ /dev/null
@@ -1,13 +0,0 @@
-#include <math.h>
-
-int
-__isnanl (long double _x)
-{
- unsigned short _sw;
- __asm__ ("fxam;"
- "fstsw %%ax": "=a" (_sw) : "t" (_x));
- return (_sw & (FP_NAN | FP_NORMAL | FP_INFINITE | FP_ZERO | FP_SUBNORMAL))
- == FP_NAN;
-}
-
-int __attribute__ ((alias ("__isnanl"))) isnanl (long double);
diff --git a/winsup/mingw/mingwex/math/ldexpf.c b/winsup/mingw/mingwex/math/ldexpf.c
deleted file mode 100644
index 5d01a0184..000000000
--- a/winsup/mingw/mingwex/math/ldexpf.c
+++ /dev/null
@@ -1,3 +0,0 @@
-#include <math.h>
-float ldexpf (float x, int expn)
- {return (float) ldexp (x, expn);}
diff --git a/winsup/mingw/mingwex/math/ldexpl.c b/winsup/mingw/mingwex/math/ldexpl.c
deleted file mode 100644
index 19a3d56e3..000000000
--- a/winsup/mingw/mingwex/math/ldexpl.c
+++ /dev/null
@@ -1,19 +0,0 @@
-#include <math.h>
-#include <errno.h>
-
-long double ldexpl(long double x, int expn)
-{
- long double res;
- if (!isfinite (x) || x == 0.0L)
- return x;
-
- __asm__ ("fscale"
- : "=t" (res)
- : "0" (x), "u" ((long double) expn));
-
- if (!isfinite (res) || res == 0.0L)
- errno = ERANGE;
-
- return res;
-}
-
diff --git a/winsup/mingw/mingwex/math/lgamma.c b/winsup/mingw/mingwex/math/lgamma.c
deleted file mode 100644
index f85094957..000000000
--- a/winsup/mingw/mingwex/math/lgamma.c
+++ /dev/null
@@ -1,359 +0,0 @@
-/* lgam()
- *
- * Natural logarithm of gamma function
- *
- *
- *
- * SYNOPSIS:
- *
- * double x, y, __lgamma_r();
- * int* sgngam;
- * y = __lgamma_r( x, sgngam );
- *
- * double x, y, lgamma();
- * y = lgamma( x);
- *
- *
- *
- * DESCRIPTION:
- *
- * Returns the base e (2.718...) logarithm of the absolute
- * value of the gamma function of the argument. In the reentrant
- * version, the sign (+1 or -1) of the gamma function is returned
- * in the variable referenced by sgngam.
- *
- * For arguments greater than 13, the logarithm of the gamma
- * function is approximated by the logarithmic version of
- * Stirling's formula using a polynomial approximation of
- * degree 4. Arguments between -33 and +33 are reduced by
- * recurrence to the interval [2,3] of a rational approximation.
- * The cosecant reflection formula is employed for arguments
- * less than -33.
- *
- * Arguments greater than MAXLGM return MAXNUM and an error
- * message. MAXLGM = 2.035093e36 for DEC
- * arithmetic or 2.556348e305 for IEEE arithmetic.
- *
- *
- *
- * ACCURACY:
- *
- *
- * arithmetic domain # trials peak rms
- * DEC 0, 3 7000 5.2e-17 1.3e-17
- * DEC 2.718, 2.035e36 5000 3.9e-17 9.9e-18
- * IEEE 0, 3 28000 5.4e-16 1.1e-16
- * IEEE 2.718, 2.556e305 40000 3.5e-16 8.3e-17
- * The error criterion was relative when the function magnitude
- * was greater than one but absolute when it was less than one.
- *
- * The following test used the relative error criterion, though
- * at certain points the relative error could be much higher than
- * indicated.
- * IEEE -200, -4 10000 4.8e-16 1.3e-16
- *
- */
-
-/*
- * Cephes Math Library Release 2.8: June, 2000
- * Copyright 1984, 1987, 1989, 1992, 2000 by Stephen L. Moshier
- */
-
-/*
- * 26-11-2002 Modified for mingw.
- * Danny Smith <dannysmith@users.sourceforge.net>
- */
-
-
-#ifndef __MINGW32__
-#include "mconf.h"
-#ifdef ANSIPROT
-extern double pow ( double, double );
-extern double log ( double );
-extern double exp ( double );
-extern double sin ( double );
-extern double polevl ( double, void *, int );
-extern double p1evl ( double, void *, int );
-extern double floor ( double );
-extern double fabs ( double );
-extern int isnan ( double );
-extern int isfinite ( double );
-#else
-double pow(), log(), exp(), sin(), polevl(), p1evl(), floor(), fabs();
-int isnan(), isfinite();
-#endif
-#ifdef INFINITIES
-extern double INFINITY;
-#endif
-#ifdef NANS
-extern double NAN;
-#endif
-#else /* __MINGW32__ */
-#include "cephes_mconf.h"
-#endif /* __MINGW32__ */
-
-
-/* A[]: Stirling's formula expansion of log gamma
- * B[], C[]: log gamma function between 2 and 3
- */
-#ifdef UNK
-static double A[] = {
- 8.11614167470508450300E-4,
--5.95061904284301438324E-4,
- 7.93650340457716943945E-4,
--2.77777777730099687205E-3,
- 8.33333333333331927722E-2
-};
-static double B[] = {
--1.37825152569120859100E3,
--3.88016315134637840924E4,
--3.31612992738871184744E5,
--1.16237097492762307383E6,
--1.72173700820839662146E6,
--8.53555664245765465627E5
-};
-static double C[] = {
-/* 1.00000000000000000000E0, */
--3.51815701436523470549E2,
--1.70642106651881159223E4,
--2.20528590553854454839E5,
--1.13933444367982507207E6,
--2.53252307177582951285E6,
--2.01889141433532773231E6
-};
-/* log( sqrt( 2*pi ) ) */
-static double LS2PI = 0.91893853320467274178;
-#define MAXLGM 2.556348e305
-static double LOGPI = 1.14472988584940017414;
-#endif
-
-#ifdef DEC
-static const unsigned short A[] = {
-0035524,0141201,0034633,0031405,
-0135433,0176755,0126007,0045030,
-0035520,0006371,0003342,0172730,
-0136066,0005540,0132605,0026407,
-0037252,0125252,0125252,0125132
-};
-static const unsigned short B[] = {
-0142654,0044014,0077633,0035410,
-0144027,0110641,0125335,0144760,
-0144641,0165637,0142204,0047447,
-0145215,0162027,0146246,0155211,
-0145322,0026110,0010317,0110130,
-0145120,0061472,0120300,0025363
-};
-static const unsigned short C[] = {
-/*0040200,0000000,0000000,0000000*/
-0142257,0164150,0163630,0112622,
-0143605,0050153,0156116,0135272,
-0144527,0056045,0145642,0062332,
-0145213,0012063,0106250,0001025,
-0145432,0111254,0044577,0115142,
-0145366,0071133,0050217,0005122
-};
-/* log( sqrt( 2*pi ) ) */
-static const unsigned short LS2P[] = {040153,037616,041445,0172645,};
-#define LS2PI *(double *)LS2P
-#define MAXLGM 2.035093e36
-static const unsigned short LPI[4] = {
-0040222,0103202,0043475,0006750,
-};
-#define LOGPI *(double *)LPI
-
-#endif
-
-#ifdef IBMPC
-static const unsigned short A[] = {
-0x6661,0x2733,0x9850,0x3f4a,
-0xe943,0xb580,0x7fbd,0xbf43,
-0x5ebb,0x20dc,0x019f,0x3f4a,
-0xa5a1,0x16b0,0xc16c,0xbf66,
-0x554b,0x5555,0x5555,0x3fb5
-};
-static const unsigned short B[] = {
-0x6761,0x8ff3,0x8901,0xc095,
-0xb93e,0x355b,0xf234,0xc0e2,
-0x89e5,0xf890,0x3d73,0xc114,
-0xdb51,0xf994,0xbc82,0xc131,
-0xf20b,0x0219,0x4589,0xc13a,
-0x055e,0x5418,0x0c67,0xc12a
-};
-static const unsigned short C[] = {
-/*0x0000,0x0000,0x0000,0x3ff0,*/
-0x12b2,0x1cf3,0xfd0d,0xc075,
-0xd757,0x7b89,0xaa0d,0xc0d0,
-0x4c9b,0xb974,0xeb84,0xc10a,
-0x0043,0x7195,0x6286,0xc131,
-0xf34c,0x892f,0x5255,0xc143,
-0xe14a,0x6a11,0xce4b,0xc13e
-};
-/* log( sqrt( 2*pi ) ) */
-static const unsigned short LS2P[] = {
-0xbeb5,0xc864,0x67f1,0x3fed
-};
-#define LS2PI *(double *)LS2P
-#define MAXLGM 2.556348e305
-static const unsigned short LPI[4] = {
-0xa1bd,0x48e7,0x50d0,0x3ff2,
-};
-#define LOGPI *(double *)LPI
-#endif
-
-#ifdef MIEEE
-static const unsigned short A[] = {
-0x3f4a,0x9850,0x2733,0x6661,
-0xbf43,0x7fbd,0xb580,0xe943,
-0x3f4a,0x019f,0x20dc,0x5ebb,
-0xbf66,0xc16c,0x16b0,0xa5a1,
-0x3fb5,0x5555,0x5555,0x554b
-};
-static const unsigned short B[] = {
-0xc095,0x8901,0x8ff3,0x6761,
-0xc0e2,0xf234,0x355b,0xb93e,
-0xc114,0x3d73,0xf890,0x89e5,
-0xc131,0xbc82,0xf994,0xdb51,
-0xc13a,0x4589,0x0219,0xf20b,
-0xc12a,0x0c67,0x5418,0x055e
-};
-static const unsigned short C[] = {
-0xc075,0xfd0d,0x1cf3,0x12b2,
-0xc0d0,0xaa0d,0x7b89,0xd757,
-0xc10a,0xeb84,0xb974,0x4c9b,
-0xc131,0x6286,0x7195,0x0043,
-0xc143,0x5255,0x892f,0xf34c,
-0xc13e,0xce4b,0x6a11,0xe14a
-};
-/* log( sqrt( 2*pi ) ) */
-static const unsigned short LS2P[] = {
-0x3fed,0x67f1,0xc864,0xbeb5
-};
-#define LS2PI *(double *)LS2P
-#define MAXLGM 2.556348e305
-static unsigned short LPI[4] = {
-0x3ff2,0x50d0,0x48e7,0xa1bd,
-};
-#define LOGPI *(double *)LPI
-#endif
-
-
-/* Logarithm of gamma function */
-/* Reentrant version */
-
-double __lgamma_r(double x, int* sgngam)
-{
-double p, q, u, w, z;
-int i;
-
-*sgngam = 1;
-#ifdef NANS
-if( isnan(x) )
- return(x);
-#endif
-
-#ifdef INFINITIES
-if( !isfinite(x) )
- return(INFINITY);
-#endif
-
-if( x < -34.0 )
- {
- q = -x;
- w = __lgamma_r(q, sgngam); /* note this modifies sgngam! */
- p = floor(q);
- if( p == q )
- {
-lgsing:
- _SET_ERRNO(EDOM);
- mtherr( "lgam", SING );
-#ifdef INFINITIES
- return (INFINITY);
-#else
- return (MAXNUM);
-#endif
- }
- i = p;
- if( (i & 1) == 0 )
- *sgngam = -1;
- else
- *sgngam = 1;
- z = q - p;
- if( z > 0.5 )
- {
- p += 1.0;
- z = p - q;
- }
- z = q * sin( PI * z );
- if( z == 0.0 )
- goto lgsing;
-/* z = log(PI) - log( z ) - w;*/
- z = LOGPI - log( z ) - w;
- return( z );
- }
-
-if( x < 13.0 )
- {
- z = 1.0;
- p = 0.0;
- u = x;
- while( u >= 3.0 )
- {
- p -= 1.0;
- u = x + p;
- z *= u;
- }
- while( u < 2.0 )
- {
- if( u == 0.0 )
- goto lgsing;
- z /= u;
- p += 1.0;
- u = x + p;
- }
- if( z < 0.0 )
- {
- *sgngam = -1;
- z = -z;
- }
- else
- *sgngam = 1;
- if( u == 2.0 )
- return( log(z) );
- p -= 2.0;
- x = x + p;
- p = x * polevl( x, B, 5 ) / p1evl( x, C, 6);
- return( log(z) + p );
- }
-
-if( x > MAXLGM )
- {
- _SET_ERRNO(ERANGE);
- mtherr( "lgamma", OVERFLOW );
-#ifdef INFINITIES
- return( *sgngam * INFINITY );
-#else
- return( *sgngam * MAXNUM );
-#endif
- }
-
-q = ( x - 0.5 ) * log(x) - x + LS2PI;
-if( x > 1.0e8 )
- return( q );
-
-p = 1.0/(x*x);
-if( x >= 1000.0 )
- q += (( 7.9365079365079365079365e-4 * p
- - 2.7777777777777777777778e-3) *p
- + 0.0833333333333333333333) / x;
-else
- q += polevl( p, A, 4 ) / x;
-return( q );
-}
-
-/* This is the C99 version */
-
-double lgamma(double x)
-{
- int local_sgngam=0;
- return (__lgamma_r(x, &local_sgngam));
-}
diff --git a/winsup/mingw/mingwex/math/lgammaf.c b/winsup/mingw/mingwex/math/lgammaf.c
deleted file mode 100644
index 20982f999..000000000
--- a/winsup/mingw/mingwex/math/lgammaf.c
+++ /dev/null
@@ -1,253 +0,0 @@
-/* lgamf()
- *
- * Natural logarithm of gamma function
- *
- *
- *
- * SYNOPSIS:
- *
- * float x, y, __lgammaf_r();
- * int* sgngamf;
- * y = __lgammaf_r( x, sgngamf );
- *
- * float x, y, lgammaf();
- * y = lgammaf( x);
- *
- *
- *
- * DESCRIPTION:
- *
- * Returns the base e (2.718...) logarithm of the absolute
- * value of the gamma function of the argument. In the reentrant
- * version the sign (+1 or -1) of the gamma function is returned in
- * variable referenced by sgngamf.
- *
- * For arguments greater than 6.5, the logarithm of the gamma
- * function is approximated by the logarithmic version of
- * Stirling's formula. Arguments between 0 and +6.5 are reduced by
- * by recurrence to the interval [.75,1.25] or [1.5,2.5] of a rational
- * approximation. The cosecant reflection formula is employed for
- * arguments less than zero.
- *
- * Arguments greater than MAXLGM = 2.035093e36 return MAXNUM and an
- * error message.
- *
- *
- *
- * ACCURACY:
- *
- *
- *
- * arithmetic domain # trials peak rms
- * IEEE -100,+100 500,000 7.4e-7 6.8e-8
- * The error criterion was relative when the function magnitude
- * was greater than one but absolute when it was less than one.
- * The routine has low relative error for positive arguments.
- *
- * The following test used the relative error criterion.
- * IEEE -2, +3 100000 4.0e-7 5.6e-8
- *
- */
-
-
-/*
- Cephes Math Library Release 2.7: July, 1998
- Copyright 1984, 1987, 1989, 1992, 1998 by Stephen L. Moshier
-*/
-
-/*
- 26-11-2002 Modified for mingw.
- Danny Smith <dannysmith@users.sourceforge.net>
-*/
-
-
-/* log gamma(x+2), -.5 < x < .5 */
-static const float B[] = {
- 6.055172732649237E-004,
--1.311620815545743E-003,
- 2.863437556468661E-003,
--7.366775108654962E-003,
- 2.058355474821512E-002,
--6.735323259371034E-002,
- 3.224669577325661E-001,
- 4.227843421859038E-001
-};
-
-/* log gamma(x+1), -.25 < x < .25 */
-static const float C[] = {
- 1.369488127325832E-001,
--1.590086327657347E-001,
- 1.692415923504637E-001,
--2.067882815621965E-001,
- 2.705806208275915E-001,
--4.006931650563372E-001,
- 8.224670749082976E-001,
--5.772156501719101E-001
-};
-
-/* log( sqrt( 2*pi ) ) */
-static const float LS2PI = 0.91893853320467274178;
-#define MAXLGM 2.035093e36
-static const float PIINV = 0.318309886183790671538;
-
-#ifndef __MINGW32__
-#include "mconf.h"
-float floorf(float);
-float polevlf( float, float *, int );
-float p1evlf( float, float *, int );
-#else
-#include "cephes_mconf.h"
-#endif
-
-/* Reentrant version */
-/* Logarithm of gamma function */
-
-float __lgammaf_r( float x, int* sgngamf )
-{
-float p, q, w, z;
-float nx, tx;
-int i, direction;
-
-*sgngamf = 1;
-#ifdef NANS
-if( isnan(x) )
- return(x);
-#endif
-
-#ifdef INFINITIES
-if( !isfinite(x) )
- return(x);
-#endif
-
-
-if( x < 0.0 )
- {
- q = -x;
- w = __lgammaf_r(q, sgngamf); /* note this modifies sgngam! */
- p = floorf(q);
- if( p == q )
- {
-lgsing:
- _SET_ERRNO(EDOM);
- mtherr( "lgamf", SING );
-#ifdef INFINITIES
- return (INFINITYF);
-#else
- return( *sgngamf * MAXNUMF );
-#endif
- }
- i = p;
- if( (i & 1) == 0 )
- *sgngamf = -1;
- else
- *sgngamf = 1;
- z = q - p;
- if( z > 0.5 )
- {
- p += 1.0;
- z = p - q;
- }
- z = q * sinf( PIF * z );
- if( z == 0.0 )
- goto lgsing;
- z = -logf( PIINV*z ) - w;
- return( z );
- }
-
-if( x < 6.5 )
- {
- direction = 0;
- z = 1.0;
- tx = x;
- nx = 0.0;
- if( x >= 1.5 )
- {
- while( tx > 2.5 )
- {
- nx -= 1.0;
- tx = x + nx;
- z *=tx;
- }
- x += nx - 2.0;
-iv1r5:
- p = x * polevlf( x, B, 7 );
- goto cont;
- }
- if( x >= 1.25 )
- {
- z *= x;
- x -= 1.0; /* x + 1 - 2 */
- direction = 1;
- goto iv1r5;
- }
- if( x >= 0.75 )
- {
- x -= 1.0;
- p = x * polevlf( x, C, 7 );
- q = 0.0;
- goto contz;
- }
- while( tx < 1.5 )
- {
- if( tx == 0.0 )
- goto lgsing;
- z *=tx;
- nx += 1.0;
- tx = x + nx;
- }
- direction = 1;
- x += nx - 2.0;
- p = x * polevlf( x, B, 7 );
-
-cont:
- if( z < 0.0 )
- {
- *sgngamf = -1;
- z = -z;
- }
- else
- {
- *sgngamf = 1;
- }
- q = logf(z);
- if( direction )
- q = -q;
-contz:
- return( p + q );
- }
-
-if( x > MAXLGM )
- {
- _SET_ERRNO(ERANGE);
- mtherr( "lgamf", OVERFLOW );
-#ifdef INFINITIES
- return( *sgngamf * INFINITYF );
-#else
- return( *sgngamf * MAXNUMF );
-#endif
-
- }
-
-/* Note, though an asymptotic formula could be used for x >= 3,
- * there is cancellation error in the following if x < 6.5. */
-q = LS2PI - x;
-q += ( x - 0.5 ) * logf(x);
-
-if( x <= 1.0e4 )
- {
- z = 1.0/x;
- p = z * z;
- q += (( 6.789774945028216E-004 * p
- - 2.769887652139868E-003 ) * p
- + 8.333316229807355E-002 ) * z;
- }
-return( q );
-}
-
-/* This is the C99 version */
-
-float lgammaf(float x)
-{
- int local_sgngamf=0;
- return (__lgammaf_r(x, &local_sgngamf));
-}
diff --git a/winsup/mingw/mingwex/math/lgammal.c b/winsup/mingw/mingwex/math/lgammal.c
deleted file mode 100644
index d2b306afd..000000000
--- a/winsup/mingw/mingwex/math/lgammal.c
+++ /dev/null
@@ -1,416 +0,0 @@
-/* lgaml()
- *
- * Natural logarithm of gamma function
- *
- *
- *
- * SYNOPSIS:
- *
- * long double x, y, __lgammal_r();
- * int* sgngaml;
- * y = __lgammal_r( x, sgngaml );
- *
- * long double x, y, lgammal();
- * y = lgammal( x);
- *
- *
- *
- * DESCRIPTION:
- *
- * Returns the base e (2.718...) logarithm of the absolute
- * value of the gamma function of the argument. In the reentrant
- * version, the sign (+1 or -1) of the gamma function is returned
- * in the variable referenced by sgngaml.
- *
- * For arguments greater than 33, the logarithm of the gamma
- * function is approximated by the logarithmic version of
- * Stirling's formula using a polynomial approximation of
- * degree 4. Arguments between -33 and +33 are reduced by
- * recurrence to the interval [2,3] of a rational approximation.
- * The cosecant reflection formula is employed for arguments
- * less than -33.
- *
- * Arguments greater than MAXLGML (10^4928) return MAXNUML.
- *
- *
- *
- * ACCURACY:
- *
- *
- * arithmetic domain # trials peak rms
- * IEEE -40, 40 100000 2.2e-19 4.6e-20
- * IEEE 10^-2000,10^+2000 20000 1.6e-19 3.3e-20
- * The error criterion was relative when the function magnitude
- * was greater than one but absolute when it was less than one.
- *
- */
-
-/*
- * Copyright 1994 by Stephen L. Moshier
- */
-
-/*
- * 26-11-2002 Modified for mingw.
- * Danny Smith <dannysmith@users.sourceforge.net>
- */
-
-#ifndef __MINGW32__
-#include "mconf.h"
-#ifdef ANSIPROT
-extern long double fabsl ( long double );
-extern long double lgaml ( long double );
-extern long double logl ( long double );
-extern long double expl ( long double );
-extern long double gammal ( long double );
-extern long double sinl ( long double );
-extern long double floorl ( long double );
-extern long double powl ( long double, long double );
-extern long double polevll ( long double, void *, int );
-extern long double p1evll ( long double, void *, int );
-extern int isnanl ( long double );
-extern int isfinitel ( long double );
-#else
-long double fabsl(), lgaml(), logl(), expl(), gammal(), sinl();
-long double floorl(), powl(), polevll(), p1evll(), isnanl(), isfinitel();
-#endif
-#ifdef INFINITIES
-extern long double INFINITYL;
-#endif
-#ifdef NANS
-extern long double NANL;
-#endif
-#else /* __MINGW32__ */
-#include "cephes_mconf.h"
-#endif /* __MINGW32__ */
-
-#if UNK
-static long double S[9] = {
--1.193945051381510095614E-3L,
- 7.220599478036909672331E-3L,
--9.622023360406271645744E-3L,
--4.219773360705915470089E-2L,
- 1.665386113720805206758E-1L,
--4.200263503403344054473E-2L,
--6.558780715202540684668E-1L,
- 5.772156649015328608253E-1L,
- 1.000000000000000000000E0L,
-};
-#endif
-#if IBMPC
-static const unsigned short S[] = {
-0xbaeb,0xd6d3,0x25e5,0x9c7e,0xbff5, XPD
-0xfe9a,0xceb4,0xc74e,0xec9a,0x3ff7, XPD
-0x9225,0xdfef,0xb0e9,0x9da5,0xbff8, XPD
-0x10b0,0xec17,0x87dc,0xacd7,0xbffa, XPD
-0x6b8d,0x7515,0x1905,0xaa89,0x3ffc, XPD
-0xf183,0x126b,0xf47d,0xac0a,0xbffa, XPD
-0x7bf6,0x57d1,0xa013,0xa7e7,0xbffe, XPD
-0xc7a9,0x7db0,0x67e3,0x93c4,0x3ffe, XPD
-0x0000,0x0000,0x0000,0x8000,0x3fff, XPD
-};
-#endif
-#if MIEEE
-static long S[27] = {
-0xbff50000,0x9c7e25e5,0xd6d3baeb,
-0x3ff70000,0xec9ac74e,0xceb4fe9a,
-0xbff80000,0x9da5b0e9,0xdfef9225,
-0xbffa0000,0xacd787dc,0xec1710b0,
-0x3ffc0000,0xaa891905,0x75156b8d,
-0xbffa0000,0xac0af47d,0x126bf183,
-0xbffe0000,0xa7e7a013,0x57d17bf6,
-0x3ffe0000,0x93c467e3,0x7db0c7a9,
-0x3fff0000,0x80000000,0x00000000,
-};
-#endif
-
-#if UNK
-static long double SN[9] = {
- 1.133374167243894382010E-3L,
- 7.220837261893170325704E-3L,
- 9.621911155035976733706E-3L,
--4.219773343731191721664E-2L,
--1.665386113944413519335E-1L,
--4.200263503402112910504E-2L,
- 6.558780715202536547116E-1L,
- 5.772156649015328608727E-1L,
--1.000000000000000000000E0L,
-};
-#endif
-#if IBMPC
-static const unsigned SN[] = {
-0x5dd1,0x02de,0xb9f7,0x948d,0x3ff5, XPD
-0x989b,0xdd68,0xc5f1,0xec9c,0x3ff7, XPD
-0x2ca1,0x18f0,0x386f,0x9da5,0x3ff8, XPD
-0x783f,0x41dd,0x87d1,0xacd7,0xbffa, XPD
-0x7a5b,0xd76d,0x1905,0xaa89,0xbffc, XPD
-0x7f64,0x1234,0xf47d,0xac0a,0xbffa, XPD
-0x5e26,0x57d1,0xa013,0xa7e7,0x3ffe, XPD
-0xc7aa,0x7db0,0x67e3,0x93c4,0x3ffe, XPD
-0x0000,0x0000,0x0000,0x8000,0xbfff, XPD
-};
-#endif
-#if MIEEE
-static long SN[27] = {
-0x3ff50000,0x948db9f7,0x02de5dd1,
-0x3ff70000,0xec9cc5f1,0xdd68989b,
-0x3ff80000,0x9da5386f,0x18f02ca1,
-0xbffa0000,0xacd787d1,0x41dd783f,
-0xbffc0000,0xaa891905,0xd76d7a5b,
-0xbffa0000,0xac0af47d,0x12347f64,
-0x3ffe0000,0xa7e7a013,0x57d15e26,
-0x3ffe0000,0x93c467e3,0x7db0c7aa,
-0xbfff0000,0x80000000,0x00000000,
-};
-#endif
-
-
-/* A[]: Stirling's formula expansion of log gamma
- * B[], C[]: log gamma function between 2 and 3
- */
-
-
-/* log gamma(x) = ( x - 0.5 ) * log(x) - x + LS2PI + 1/x A(1/x^2)
- * x >= 8
- * Peak relative error 1.51e-21
- * Relative spread of error peaks 5.67e-21
- */
-#if UNK
-static long double A[7] = {
- 4.885026142432270781165E-3L,
--1.880801938119376907179E-3L,
- 8.412723297322498080632E-4L,
--5.952345851765688514613E-4L,
- 7.936507795855070755671E-4L,
--2.777777777750349603440E-3L,
- 8.333333333333331447505E-2L,
-};
-#endif
-#if IBMPC
-static const unsigned short A[] = {
-0xd984,0xcc08,0x91c2,0xa012,0x3ff7, XPD
-0x3d91,0x0304,0x3da1,0xf685,0xbff5, XPD
-0x3bdc,0xaad1,0xd492,0xdc88,0x3ff4, XPD
-0x8b20,0x9fce,0x844e,0x9c09,0xbff4, XPD
-0xf8f2,0x30e5,0x0092,0xd00d,0x3ff4, XPD
-0x4d88,0x03a8,0x60b6,0xb60b,0xbff6, XPD
-0x9fcc,0xaaaa,0xaaaa,0xaaaa,0x3ffb, XPD
-};
-#endif
-#if MIEEE
-static long A[21] = {
-0x3ff70000,0xa01291c2,0xcc08d984,
-0xbff50000,0xf6853da1,0x03043d91,
-0x3ff40000,0xdc88d492,0xaad13bdc,
-0xbff40000,0x9c09844e,0x9fce8b20,
-0x3ff40000,0xd00d0092,0x30e5f8f2,
-0xbff60000,0xb60b60b6,0x03a84d88,
-0x3ffb0000,0xaaaaaaaa,0xaaaa9fcc,
-};
-#endif
-
-/* log gamma(x+2) = x B(x)/C(x)
- * 0 <= x <= 1
- * Peak relative error 7.16e-22
- * Relative spread of error peaks 4.78e-20
- */
-#if UNK
-static long double B[7] = {
--2.163690827643812857640E3L,
--8.723871522843511459790E4L,
--1.104326814691464261197E6L,
--6.111225012005214299996E6L,
--1.625568062543700591014E7L,
--2.003937418103815175475E7L,
--8.875666783650703802159E6L,
-};
-static long double C[7] = {
-/* 1.000000000000000000000E0L,*/
--5.139481484435370143617E2L,
--3.403570840534304670537E4L,
--6.227441164066219501697E5L,
--4.814940379411882186630E6L,
--1.785433287045078156959E7L,
--3.138646407656182662088E7L,
--2.099336717757895876142E7L,
-};
-#endif
-#if IBMPC
-static const unsigned short B[] = {
-0x9557,0x4995,0x0da1,0x873b,0xc00a, XPD
-0xfe44,0x9af8,0x5b8c,0xaa63,0xc00f, XPD
-0x5aa8,0x7cf5,0x3684,0x86ce,0xc013, XPD
-0x259a,0x258c,0xf206,0xba7f,0xc015, XPD
-0xbe18,0x1ca3,0xc0a0,0xf80a,0xc016, XPD
-0x168f,0x2c42,0x6717,0x98e3,0xc017, XPD
-0x2051,0x9d55,0x92c8,0x876e,0xc016, XPD
-};
-static const unsigned short C[] = {
-/*0x0000,0x0000,0x0000,0x8000,0x3fff, XPD*/
-0xaa77,0xcf2f,0xae76,0x807c,0xc008, XPD
-0xb280,0x0d74,0xb55a,0x84f3,0xc00e, XPD
-0xa505,0xcd30,0x81dc,0x9809,0xc012, XPD
-0x3369,0x4246,0xb8c2,0x92f0,0xc015, XPD
-0x63cf,0x6aee,0xbe6f,0x8837,0xc017, XPD
-0x26bb,0xccc7,0xb009,0xef75,0xc017, XPD
-0x462b,0xbae8,0xab96,0xa02a,0xc017, XPD
-};
-#endif
-#if MIEEE
-static long B[21] = {
-0xc00a0000,0x873b0da1,0x49959557,
-0xc00f0000,0xaa635b8c,0x9af8fe44,
-0xc0130000,0x86ce3684,0x7cf55aa8,
-0xc0150000,0xba7ff206,0x258c259a,
-0xc0160000,0xf80ac0a0,0x1ca3be18,
-0xc0170000,0x98e36717,0x2c42168f,
-0xc0160000,0x876e92c8,0x9d552051,
-};
-static long C[21] = {
-/*0x3fff0000,0x80000000,0x00000000,*/
-0xc0080000,0x807cae76,0xcf2faa77,
-0xc00e0000,0x84f3b55a,0x0d74b280,
-0xc0120000,0x980981dc,0xcd30a505,
-0xc0150000,0x92f0b8c2,0x42463369,
-0xc0170000,0x8837be6f,0x6aee63cf,
-0xc0170000,0xef75b009,0xccc726bb,
-0xc0170000,0xa02aab96,0xbae8462b,
-};
-#endif
-
-/* log( sqrt( 2*pi ) ) */
-static const long double LS2PI = 0.91893853320467274178L;
-#define MAXLGM 1.04848146839019521116e+4928L
-
-
-/* Logarithm of gamma function */
-/* Reentrant version */
-
-long double __lgammal_r(long double x, int* sgngaml)
-{
-long double p, q, w, z, f, nx;
-int i;
-
-*sgngaml = 1;
-#ifdef NANS
-if( isnanl(x) )
- return(NANL);
-#endif
-#ifdef INFINITIES
-if( !isfinitel(x) )
- return(INFINITYL);
-#endif
-if( x < -34.0L )
- {
- q = -x;
- w = __lgammal_r(q, sgngaml); /* note this modifies sgngam! */
- p = floorl(q);
- if( p == q )
- {
-lgsing:
- _SET_ERRNO(EDOM);
- mtherr( "lgammal", SING );
-#ifdef INFINITIES
- return (INFINITYL);
-#else
- return (MAXNUML);
-#endif
- }
- i = p;
- if( (i & 1) == 0 )
- *sgngaml = -1;
- else
- *sgngaml = 1;
- z = q - p;
- if( z > 0.5L )
- {
- p += 1.0L;
- z = p - q;
- }
- z = q * sinl( PIL * z );
- if( z == 0.0L )
- goto lgsing;
-/* z = LOGPI - logl( z ) - w; */
- z = logl( PIL/z ) - w;
- return( z );
- }
-
-if( x < 13.0L )
- {
- z = 1.0L;
- nx = floorl( x + 0.5L );
- f = x - nx;
- while( x >= 3.0L )
- {
- nx -= 1.0L;
- x = nx + f;
- z *= x;
- }
- while( x < 2.0L )
- {
- if( fabsl(x) <= 0.03125 )
- goto lsmall;
- z /= nx + f;
- nx += 1.0L;
- x = nx + f;
- }
- if( z < 0.0L )
- {
- *sgngaml = -1;
- z = -z;
- }
- else
- *sgngaml = 1;
- if( x == 2.0L )
- return( logl(z) );
- x = (nx - 2.0L) + f;
- p = x * polevll( x, B, 6 ) / p1evll( x, C, 7);
- return( logl(z) + p );
- }
-
-if( x > MAXLGM )
- {
- _SET_ERRNO(ERANGE);
- mtherr( "lgammal", OVERFLOW );
-#ifdef INFINITIES
- return( *sgngaml * INFINITYL );
-#else
- return( *sgngaml * MAXNUML );
-#endif
- }
-
-q = ( x - 0.5L ) * logl(x) - x + LS2PI;
-if( x > 1.0e10L )
- return(q);
-p = 1.0L/(x*x);
-q += polevll( p, A, 6 ) / x;
-return( q );
-
-
-lsmall:
-if( x == 0.0L )
- goto lgsing;
-if( x < 0.0L )
- {
- x = -x;
- q = z / (x * polevll( x, SN, 8 ));
- }
-else
- q = z / (x * polevll( x, S, 8 ));
-if( q < 0.0L )
- {
- *sgngaml = -1;
- q = -q;
- }
-else
- *sgngaml = 1;
-q = logl( q );
-return(q);
-}
-
-/* This is the C99 version */
-
-long double lgammal(long double x)
-{
- int local_sgngaml=0;
- return (__lgammal_r(x, &local_sgngaml));
-}
diff --git a/winsup/mingw/mingwex/math/llrint.c b/winsup/mingw/mingwex/math/llrint.c
deleted file mode 100644
index b6d9f3273..000000000
--- a/winsup/mingw/mingwex/math/llrint.c
+++ /dev/null
@@ -1,10 +0,0 @@
-#include <math.h>
-
-long long llrint (double x)
-{
- long long retval;
- __asm__ __volatile__ \
- ("fistpll %0" : "=m" (retval) : "t" (x) : "st"); \
- return retval;
-}
-
diff --git a/winsup/mingw/mingwex/math/llrintf.c b/winsup/mingw/mingwex/math/llrintf.c
deleted file mode 100644
index 7fa67dbdf..000000000
--- a/winsup/mingw/mingwex/math/llrintf.c
+++ /dev/null
@@ -1,9 +0,0 @@
-#include <math.h>
-
-long long llrintf (float x)
-{
- long long retval;
- __asm__ __volatile__ \
- ("fistpll %0" : "=m" (retval) : "t" (x) : "st"); \
- return retval;
-}
diff --git a/winsup/mingw/mingwex/math/llrintl.c b/winsup/mingw/mingwex/math/llrintl.c
deleted file mode 100644
index 948d96265..000000000
--- a/winsup/mingw/mingwex/math/llrintl.c
+++ /dev/null
@@ -1,10 +0,0 @@
-#include <math.h>
-
-long long llrintl (long double x)
-{
- long long retval;
- __asm__ __volatile__ \
- ("fistpll %0" : "=m" (retval) : "t" (x) : "st"); \
- return retval;
-}
-
diff --git a/winsup/mingw/mingwex/math/llround.c b/winsup/mingw/mingwex/math/llround.c
deleted file mode 100644
index 45b754c75..000000000
--- a/winsup/mingw/mingwex/math/llround.c
+++ /dev/null
@@ -1,19 +0,0 @@
-#include <math.h>
-#include <limits.h>
-#include <errno.h>
-
-long long
-llround (double x)
-{
- /* Add +/- 0.5, then round towards zero. */
- double tmp = trunc (x + (x >= 0.0 ? 0.5 : -0.5));
- if (!isfinite (tmp)
- || tmp > (double)LONG_LONG_MAX
- || tmp < (double)LONG_LONG_MIN)
- {
- errno = ERANGE;
- /* Undefined behaviour, so we could return anything. */
- /* return tmp > 0.0 ? LONG_LONG_MAX : LONG_LONG_MIN; */
- }
- return (long long)tmp;
-}
diff --git a/winsup/mingw/mingwex/math/llroundf.c b/winsup/mingw/mingwex/math/llroundf.c
deleted file mode 100644
index 6a6e9b51e..000000000
--- a/winsup/mingw/mingwex/math/llroundf.c
+++ /dev/null
@@ -1,19 +0,0 @@
-#include <math.h>
-#include <limits.h>
-#include <errno.h>
-
-long long
-llroundf (float x)
-{
- /* Add +/- 0.5, then round towards zero. */
- float tmp = truncf (x + (x >= 0.0F ? 0.5F : -0.5F));
- if (!isfinite (tmp)
- || tmp > (float)LONG_LONG_MAX
- || tmp < (float)LONG_LONG_MIN)
- {
- errno = ERANGE;
- /* Undefined behaviour, so we could return anything. */
- /* return tmp > 0.0F ? LONG_LONG_MAX : LONG_LONG_MIN; */
- }
- return (long long)tmp;
-}
diff --git a/winsup/mingw/mingwex/math/llroundl.c b/winsup/mingw/mingwex/math/llroundl.c
deleted file mode 100644
index 9d2217411..000000000
--- a/winsup/mingw/mingwex/math/llroundl.c
+++ /dev/null
@@ -1,19 +0,0 @@
-#include <math.h>
-#include <limits.h>
-#include <errno.h>
-
-long long
-llroundl (long double x)
-{
- /* Add +/- 0.5, then round towards zero. */
- long double tmp = truncl (x + (x >= 0.0L ? 0.5L : -0.5L));
- if (!isfinite (tmp)
- || tmp > (long double)LONG_LONG_MAX
- || tmp < (long double)LONG_LONG_MIN)
- {
- errno = ERANGE;
- /* Undefined behaviour, so we could return anything. */
- /* return tmp > 0.0L ? LONG_LONG_MAX : LONG_LONG_MIN; */
- }
- return (long long)tmp;
-}
diff --git a/winsup/mingw/mingwex/math/log10f.S b/winsup/mingw/mingwex/math/log10f.S
deleted file mode 100644
index 90fc9af92..000000000
--- a/winsup/mingw/mingwex/math/log10f.S
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Written by J.T. Conklin <jtc@netbsd.org>.
- * Public domain.
- * Adapted for float type by Ulrich Drepper <drepper@cygnus.com>.
- *
- * Changed to use fyl2xp1 for values near 1, <drepper@cygnus.com>.
- */
-
- .file "log10f.S"
- .text
- .align 4
-one: .double 1.0
- /* It is not important that this constant is precise. It is only
- a value which is known to be on the safe side for using the
- fyl2xp1 instruction. */
-limit: .double 0.29
-
- .text
- .align 4
-.globl _log10f
- .def _log10f; .scl 2; .type 32; .endef
-_log10f:
- fldlg2 // log10(2)
- flds 4(%esp) // x : log10(2)
- fxam
- fnstsw
- fld %st // x : x : log10(2)
- sahf
- jc 3f // in case x is NaN or ±Inf
-4: fsubl one // x-1 : x : log10(2)
- fld %st // x-1 : x-1 : x : log10(2)
- fabs // |x-1| : x-1 : x : log10(2)
- fcompl limit // x-1 : x : log10(2)
- fnstsw // x-1 : x : log10(2)
- andb $0x45, %ah
- jz 2f
- fstp %st(1) // x-1 : log10(2)
- fyl2xp1 // log10(x)
- ret
-
-2: fstp %st(0) // x : log10(2)
- fyl2x // log10(x)
- ret
-
-3: jp 4b // in case x is ±Inf
- fstp %st(1)
- fstp %st(1)
- ret
diff --git a/winsup/mingw/mingwex/math/log10l.S b/winsup/mingw/mingwex/math/log10l.S
deleted file mode 100644
index 8c046a09d..000000000
--- a/winsup/mingw/mingwex/math/log10l.S
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * Written by J.T. Conklin <jtc@netbsd.org>.
- * Public domain.
- *
- * Adapted for `long double' by Ulrich Drepper <drepper@cygnus.com>.
- *
- * Changed to use fyl2xp1 for values near 1, <drepper@cygnus.com>.
- *
- * Removed header file dependency for use in libmingwex.a by
- * Danny Smith <dannysmith@users.sourceforge.net>
- */
-
- .file "log10l.S"
- .text
- .align 4
-one: .double 1.0
- /* It is not important that this constant is precise. It is only
- a value which is known to be on the safe side for using the
- fyl2xp1 instruction. */
-limit: .double 0.29
-
- .text
- .align 4
-.globl _log10l
- .def _log10l; .scl 2; .type 32; .endef
-_log10l:
- fldlg2 // log10(2)
- fldt 4(%esp) // x : log10(2)
- fxam
- fnstsw
- fld %st // x : x : log10(2)
- sahf
- jc 3f // in case x is NaN or ±Inf
-4: fsubl one // x-1 : x : log10(2)
- fld %st // x-1 : x-1 : x : log10(2)
- fabs // |x-1| : x-1 : x : log10(2)
- fcompl limit // x-1 : x : log10(2)
- fnstsw // x-1 : x : log10(2)
- andb $0x45, %ah
- jz 2f
- fstp %st(1) // x-1 : log10(2)
- fyl2xp1 // log10(x)
- ret
-
-2: fstp %st(0) // x : log10(2)
- fyl2x // log10(x)
- ret
-
-3: jp 4b // in case x is ±Inf
- fstp %st(1)
- fstp %st(1)
- ret
diff --git a/winsup/mingw/mingwex/math/log1p.S b/winsup/mingw/mingwex/math/log1p.S
deleted file mode 100644
index a38816cb3..000000000
--- a/winsup/mingw/mingwex/math/log1p.S
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Written by J.T. Conklin <jtc@netbsd.org>.
- * Public domain.
- * Removed header file dependency for use in libmingwex.a by
- * Danny Smith <dannysmith@users.sourceforge.net>
- */
-
- .file "log1p.S"
- .text
- .align 4
- /* The fyl2xp1 can only be used for values in
- -1 + sqrt(2) / 2 <= x <= 1 - sqrt(2) / 2
- 0.29 is a safe value.
- */
-limit: .double 0.29
-one: .double 1.0
-/*
- * Use the fyl2xp1 function when the argument is in the range -0.29 to 0.29,
- * otherwise fyl2x with the needed extra computation.
- */
-.globl _log1p;
- .def _log1p; .scl 2; .type 32; .endef
-_log1p:
- fldln2
- fldl 4(%esp)
- fxam
- fnstsw
- fld %st
- sahf
- jc 3f // in case x is NaN or ±Inf
-
-4: fabs
- fcompl limit
- fnstsw
- sahf
- jc 2f
- faddl one
- fyl2x
- ret
-
-2: fyl2xp1
- ret
-
-3: jp 4b // in case x is ±Inf
- fstp %st(1)
- fstp %st(1)
- ret
diff --git a/winsup/mingw/mingwex/math/log1pf.S b/winsup/mingw/mingwex/math/log1pf.S
deleted file mode 100644
index 1d9949f2a..000000000
--- a/winsup/mingw/mingwex/math/log1pf.S
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Written by J.T. Conklin <jtc@netbsd.org>.
- * Public domain.
- * Removed header file dependency for use in libmingwex.a by
- * Danny Smith <dannysmith@users.sourceforge.net>
- */
-
- .file "log1pf.S"
- .text
- .align 4
- /* The fyl2xp1 can only be used for values in
- -1 + sqrt(2) / 2 <= x <= 1 - sqrt(2) / 2
- 0.29 is a safe value.
- */
-limit: .float 0.29
-one: .float 1.0
-/*
- * Use the fyl2xp1 function when the argument is in the range -0.29 to 0.29,
- * otherwise fyl2x with the needed extra computation.
- */
-.globl _log1pf;
- .def _log1pf; .scl 2; .type 32; .endef
-_log1pf:
- fldln2
- flds 4(%esp)
- fxam
- fnstsw
- fld %st
- sahf
- jc 3f // in case x is NaN or ±Inf
-
-4: fabs
- fcomps limit
- fnstsw
- sahf
- jc 2f
- fadds one
- fyl2x
- ret
-
-2: fyl2xp1
- ret
-
-3: jp 4b // in case x is ±Inf
- fstp %st(1)
- fstp %st(1)
- ret
diff --git a/winsup/mingw/mingwex/math/log1pl.S b/winsup/mingw/mingwex/math/log1pl.S
deleted file mode 100644
index 5ce4fbaaa..000000000
--- a/winsup/mingw/mingwex/math/log1pl.S
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * Written by J.T. Conklin <jtc@netbsd.org>.
- * Public domain.
- *
- * Adapted for `long double' by Ulrich Drepper <drepper@cygnus.com>.
-* Removed header file dependency for use in libmingwex.a by
- * Danny Smith <dannysmith@users.sourceforge.net>
- */
-
- .file "log1pl.S"
- .text
- .align 4
- /* The fyl2xp1 can only be used for values in
- -1 + sqrt(2) / 2 <= x <= 1 - sqrt(2) / 2
- 0.29 is a safe value.
- */
-limit: .tfloat 0.29
- /* Please note: we use a double value here. Since 1.0 has
- an exact representation this does not effect the accuracy
- but it helps to optimize the code. */
-one: .double 1.0
-
-/*
- * Use the fyl2xp1 function when the argument is in the range -0.29 to 0.29,
- * otherwise fyl2x with the needed extra computation.
- */
-.globl _log1pl;
- .def _log1pl; .scl 2; .type 32; .endef
-_log1pl:
- fldln2
- fldt 4(%esp)
- fxam
- fnstsw
- fld %st
- sahf
- jc 3f // in case x is NaN or ±Inf
-4:
- fabs
- fldt limit
- fcompp
- fnstsw
- sahf
- jnc 2f
- faddl one
- fyl2x
- ret
-
-2: fyl2xp1
- ret
-
-3: jp 4b // in case x is ±Inf
- fstp %st(1)
- fstp %st(1)
- ret
diff --git a/winsup/mingw/mingwex/math/log2.S b/winsup/mingw/mingwex/math/log2.S
deleted file mode 100644
index 08f008310..000000000
--- a/winsup/mingw/mingwex/math/log2.S
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Written by J.T. Conklin <jtc@netbsd.org>.
- * Adapted for use as log2 by Ulrich Drepper <drepper@cygnus.com>.
- * Public domain.
- *
- * Changed to use fyl2xp1 for values near 1, <drepper@cygnus.com>.
- *
- * Removed header file dependency for use in libmingwex.a by
- * Danny Smith <dannysmith@users.sourceforge.net>
- */
-
- .file "log2.S"
- .text
- .align 4
-one: .double 1.0
- /* It is not important that this constant is precise. It is only
- a value which is known to be on the safe side for using the
- fyl2xp1 instruction. */
-limit: .double 0.29
-
- .text
- .align 4
-.globl _log2
- .def _log2; .scl 2; .type 32; .endef
-_log2:
- fldl one
- fldl 4(%esp) // x : 1
- fxam
- fnstsw
- fld %st // x : x : 1
- sahf
- jc 3f // in case x is NaN or ±Inf
-4: fsub %st(2), %st // x-1 : x : 1
- fld %st // x-1 : x-1 : x : 1
- fabs // |x-1| : x-1 : x : 1
- fcompl limit // x-1 : x : 1
- fnstsw // x-1 : x : 1
- andb $0x45, %ah
- jz 2f
- fstp %st(1) // x-1 : 1
- fyl2xp1 // log(x)
- ret
-
-2: fstp %st(0) // x : 1
- fyl2x // log(x)
- ret
-
-3: jp 4b // in case x is ±Inf
- fstp %st(1)
- fstp %st(1)
- ret
diff --git a/winsup/mingw/mingwex/math/log2f.S b/winsup/mingw/mingwex/math/log2f.S
deleted file mode 100644
index 211abba3d..000000000
--- a/winsup/mingw/mingwex/math/log2f.S
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Written by J.T. Conklin <jtc@netbsd.org>.
- * Adapted for use as log2 by Ulrich Drepper <drepper@cygnus.com>.
- * Public domain.
- *
- * Changed to use fyl2xp1 for values near 1, <drepper@cygnus.com>.
- *
- * Removed header file dependency for use in libmingwex.a by
- * Danny Smith <dannysmith@users.sourceforge.net>
- */
-
- .file "log2f.S"
- .text
- .align 4
-one: .double 1.0
- /* It is not important that this constant is precise. It is only
- a value which is known to be on the safe side for using the
- fyl2xp1 instruction. */
-limit: .double 0.29
-
- .text
- .align 4
-.globl _log2f
- .def _log2f; .scl 2; .type 32; .endef
-_log2f:
- fldl one
- flds 4(%esp) // x : 1
- fxam
- fnstsw
- fld %st // x : x : 1
- sahf
- jc 3f // in case x is NaN or ±Inf
-4: fsub %st(2), %st // x-1 : x : 1
- fld %st // x-1 : x-1 : x : 1
- fabs // |x-1| : x-1 : x : 1
- fcompl limit // x-1 : x : 1
- fnstsw // x-1 : x : 1
- andb $0x45, %ah
- jz 2f
- fstp %st(1) // x-1 : 1
- fyl2xp1 // log(x)
- ret
-
-2: fstp %st(0) // x : 1
- fyl2x // log(x)
- ret
-
-3: jp 4b // in case x is ±Inf
- fstp %st(1)
- fstp %st(1)
- ret
diff --git a/winsup/mingw/mingwex/math/log2l.S b/winsup/mingw/mingwex/math/log2l.S
deleted file mode 100644
index 52503fc52..000000000
--- a/winsup/mingw/mingwex/math/log2l.S
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Written by J.T. Conklin <jtc@netbsd.org>.
- * Adapted for use as log2 by Ulrich Drepper <drepper@cygnus.com>.
- * Public domain.
- *
- * Changed to use fyl2xp1 for values near 1, <drepper@cygnus.com>.
- */
-
- .file "log2l.S"
- .text
- .align 4
-one: .double 1.0
- /* It is not important that this constant is precise. It is only
- a value which is known to be on the safe side for using the
- fyl2xp1 instruction. */
-limit: .double 0.29
-
- .text
- .align 4
-.globl _log2l
- .def _log2l; .scl 2; .type 32; .endef
-_log2l:
- fldl one
- fldt 4(%esp) // x : 1
- fxam
- fnstsw
- fld %st // x : x : 1
- sahf
- jc 3f // in case x is NaN or ±Inf
-4: fsub %st(2), %st // x-1 : x : 1
- fld %st // x-1 : x-1 : x : 1
- fabs // |x-1| : x-1 : x : 1
- fcompl limit // x-1 : x : 1
- fnstsw // x-1 : x : 1
- andb $0x45, %ah
- jz 2f
- fstp %st(1) // x-1 : 1
- fyl2xp1 // log(x)
- ret
-
-2: fstp %st(0) // x : 1
- fyl2x // log(x)
- ret
-
-3: jp 4b // in case x is ±Inf
- fstp %st(1)
- fstp %st(1)
- ret
diff --git a/winsup/mingw/mingwex/math/logb.c b/winsup/mingw/mingwex/math/logb.c
deleted file mode 100644
index cdff13647..000000000
--- a/winsup/mingw/mingwex/math/logb.c
+++ /dev/null
@@ -1,16 +0,0 @@
-/*
- * Written by J.T. Conklin <jtc@netbsd.org>.
- * Changes for long double by Ulrich Drepper <drepper@cygnus.com>
- * Public domain.
- */
-
-#include <math.h>
-
-double
-logb (double x)
-{
- double res;
- asm ("fxtract\n\t"
- "fstp %%st" : "=t" (res) : "0" (x));
- return res;
-}
diff --git a/winsup/mingw/mingwex/math/logbf.c b/winsup/mingw/mingwex/math/logbf.c
deleted file mode 100644
index b5f57d2e1..000000000
--- a/winsup/mingw/mingwex/math/logbf.c
+++ /dev/null
@@ -1,16 +0,0 @@
-/*
- * Written by J.T. Conklin <jtc@netbsd.org>.
- * Changes for long double by Ulrich Drepper <drepper@cygnus.com>
- * Public domain.
- */
-
-#include <math.h>
-
-float
-logbf (float x)
-{
- float res;
- asm ("fxtract\n\t"
- "fstp %%st" : "=t" (res) : "0" (x));
- return res;
-}
diff --git a/winsup/mingw/mingwex/math/logbl.c b/winsup/mingw/mingwex/math/logbl.c
deleted file mode 100644
index f1448eb99..000000000
--- a/winsup/mingw/mingwex/math/logbl.c
+++ /dev/null
@@ -1,17 +0,0 @@
-/*
- * Written by J.T. Conklin <jtc@netbsd.org>.
- * Changes for long double by Ulrich Drepper <drepper@cygnus.com>
- * Public domain.
- */
-
-#include <math.h>
-
-long double
-logbl (long double x)
-{
- long double res;
-
- asm ("fxtract\n\t"
- "fstp %%st" : "=t" (res) : "0" (x));
- return res;
-}
diff --git a/winsup/mingw/mingwex/math/logf.S b/winsup/mingw/mingwex/math/logf.S
deleted file mode 100644
index 32119ecde..000000000
--- a/winsup/mingw/mingwex/math/logf.S
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Written by J.T. Conklin <jtc@netbsd.org>.
- * Public domain.
- * Adapted for float by Ulrich Drepper <drepper@cygnus.com>.
- *
- * Changed to use fyl2xp1 for values near 1, <drepper@cygnus.com>.
- */
-
- .file "logf.S"
- .text
- .align 4
-one: .double 1.0
- /* It is not important that this constant is precise. It is only
- a value which is known to be on the safe side for using the
- fyl2xp1 instruction. */
-limit: .double 0.29
-
- .text
- .align 4
-.globl _logf
- .def _logf; .scl 2; .type 32; .endef
-_logf:
- fldln2 // log(2)
- flds 4(%esp) // x : log(2)
- fld %st // x : x : log(2)
- fsubl one // x-1 : x : log(2)
- fld %st // x-1 : x-1 : x : log(2)
- fabs // |x-1| : x-1 : x : log(2)
- fcompl limit // x-1 : x : log(2)
- fnstsw // x-1 : x : log(2)
- andb $0x45, %ah
- jz 2f
- fstp %st(1) // x-1 : log(2)
- fyl2xp1 // log(x)
- ret
-
-2: fstp %st(0) // x : log(2)
- fyl2x // log(x)
- ret
diff --git a/winsup/mingw/mingwex/math/logl.S b/winsup/mingw/mingwex/math/logl.S
deleted file mode 100644
index 8dc144915..000000000
--- a/winsup/mingw/mingwex/math/logl.S
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Written by J.T. Conklin <jtc@netbsd.org>.
- * Public domain.
- *
- * Adapted for `long double' by Ulrich Drepper <drepper@cygnus.com>.
- *
- * Removed header file dependency for use in libmingwex.a by
- * Danny Smith <dannysmith@users.sourceforge.net>
- */
- .file "logl.S"
- .text
- .align 4
-one: .double 1.0
- /* It is not important that this constant is precise. It is only
- a value which is known to be on the safe side for using the
- fyl2xp1 instruction. */
-limit: .double 0.29
-
- .text
- .align 4
-.globl _logl
- .def _logl; .scl 2; .type 32; .endef
-_logl:
- fldln2 // log(2)
- fldt 4(%esp) // x : log(2)
- fld %st // x : x : log(2)
- fsubl one // x-1 : x : log(2)
- fld %st // x-1 : x-1 : x : log(2)
- fabs // |x-1| : x-1 : x : log(2)
- fcompl limit // x-1 : x : log(2)
- fnstsw // x-1 : x : log(2)
- andb $0x45, %ah
- jz 2f
- fstp %st(1) // x-1 : log(2)
- fyl2xp1 // log(x)
- ret
-
-2: fstp %st(0) // x : log(2)
- fyl2x // log(x)
- ret
diff --git a/winsup/mingw/mingwex/math/lrint.c b/winsup/mingw/mingwex/math/lrint.c
deleted file mode 100644
index 7dfa233a8..000000000
--- a/winsup/mingw/mingwex/math/lrint.c
+++ /dev/null
@@ -1,9 +0,0 @@
-#include <math.h>
-
-long lrint (double x)
-{
- long retval;
- __asm__ __volatile__ \
- ("fistpl %0" : "=m" (retval) : "t" (x) : "st"); \
- return retval;
-}
diff --git a/winsup/mingw/mingwex/math/lrintf.c b/winsup/mingw/mingwex/math/lrintf.c
deleted file mode 100644
index 24b7a7d07..000000000
--- a/winsup/mingw/mingwex/math/lrintf.c
+++ /dev/null
@@ -1,9 +0,0 @@
-#include <math.h>
-
-long lrintf (float x)
-{
- long retval;
- __asm__ __volatile__ \
- ("fistpl %0" : "=m" (retval) : "t" (x) : "st"); \
- return retval;
-}
diff --git a/winsup/mingw/mingwex/math/lrintl.c b/winsup/mingw/mingwex/math/lrintl.c
deleted file mode 100644
index f55599332..000000000
--- a/winsup/mingw/mingwex/math/lrintl.c
+++ /dev/null
@@ -1,10 +0,0 @@
-#include <math.h>
-
-long lrintl (long double x)
-{
- long retval;
- __asm__ __volatile__ \
- ("fistpl %0" : "=m" (retval) : "t" (x) : "st"); \
- return retval;
-}
-
diff --git a/winsup/mingw/mingwex/math/lround.c b/winsup/mingw/mingwex/math/lround.c
deleted file mode 100644
index 7ee50df90..000000000
--- a/winsup/mingw/mingwex/math/lround.c
+++ /dev/null
@@ -1,19 +0,0 @@
-#include <math.h>
-#include <limits.h>
-#include <errno.h>
-
-long
-lround (double x)
-{
- /* Add +/- 0.5 then then round towards zero. */
- double tmp = trunc (x + (x >= 0.0 ? 0.5 : -0.5));
- if (!isfinite (tmp)
- || tmp > (double)LONG_MAX
- || tmp < (double)LONG_MIN)
- {
- errno = ERANGE;
- /* Undefined behaviour, so we could return anything. */
- /* return tmp > 0.0 ? LONG_MAX : LONG_MIN; */
- }
- return (long)tmp;
-}
diff --git a/winsup/mingw/mingwex/math/lroundf.c b/winsup/mingw/mingwex/math/lroundf.c
deleted file mode 100644
index 82df69842..000000000
--- a/winsup/mingw/mingwex/math/lroundf.c
+++ /dev/null
@@ -1,19 +0,0 @@
-#include <math.h>
-#include <limits.h>
-#include <errno.h>
-
-long
-lroundf (float x)
-{
- /* Add +/- 0.5, then round towards zero. */
- float tmp = truncf (x + (x >= 0.0F ? 0.5F : -0.5F));
- if (!isfinite (tmp)
- || tmp > (float)LONG_MAX
- || tmp < (float)LONG_MIN)
- {
- errno = ERANGE;
- /* Undefined behaviour, so we could return anything. */
- /* return tmp > 0.0F ? LONG_MAX : LONG_MIN; */
- }
- return (long)tmp;
-}
diff --git a/winsup/mingw/mingwex/math/lroundl.c b/winsup/mingw/mingwex/math/lroundl.c
deleted file mode 100644
index 7a6348124..000000000
--- a/winsup/mingw/mingwex/math/lroundl.c
+++ /dev/null
@@ -1,19 +0,0 @@
-#include <math.h>
-#include <limits.h>
-#include <errno.h>
-
-long
-lroundl (long double x)
-{
- /* Add +/- 0.5, then round towards zero. */
- long double tmp = truncl (x + (x >= 0.0L ? 0.5L : -0.5L));
- if (!isfinite (tmp)
- || tmp > (long double)LONG_MAX
- || tmp < (long double)LONG_MIN)
- {
- errno = ERANGE;
- /* Undefined behaviour, so we could return anything. */
- /* return tmp > 0.0L ? LONG_MAX : LONG_MIN; */
- }
- return (long)tmp;
-}
diff --git a/winsup/mingw/mingwex/math/modff.c b/winsup/mingw/mingwex/math/modff.c
deleted file mode 100644
index 072faace0..000000000
--- a/winsup/mingw/mingwex/math/modff.c
+++ /dev/null
@@ -1,22 +0,0 @@
-#include <fenv.h>
-#include <math.h>
-#include <errno.h>
-#define FE_ROUNDING_MASK \
- (FE_TONEAREST | FE_DOWNWARD | FE_UPWARD | FE_TOWARDZERO)
-
-float
-modff (float value, float* iptr)
-{
- float int_part;
- unsigned short saved_cw;
- unsigned short tmp_cw;
- /* truncate */
- asm ("fnstcw %0;" : "=m" (saved_cw)); /* save control word */
- tmp_cw = (saved_cw & ~FE_ROUNDING_MASK) | FE_TOWARDZERO;
- asm ("fldcw %0;" : : "m" (tmp_cw));
- asm ("frndint;" : "=t" (int_part) : "0" (value)); /* round */
- asm ("fldcw %0;" : : "m" (saved_cw)); /* restore saved cw */
- if (iptr)
- *iptr = int_part;
- return (isinf (value) ? 0.0F : value - int_part);
-}
diff --git a/winsup/mingw/mingwex/math/modfl.c b/winsup/mingw/mingwex/math/modfl.c
deleted file mode 100644
index c7ea2cbce..000000000
--- a/winsup/mingw/mingwex/math/modfl.c
+++ /dev/null
@@ -1,22 +0,0 @@
-#include <fenv.h>
-#include <math.h>
-#include <errno.h>
-#define FE_ROUNDING_MASK \
- (FE_TONEAREST | FE_DOWNWARD | FE_UPWARD | FE_TOWARDZERO)
-
-long double
-modfl (long double value, long double* iptr)
-{
- long double int_part;
- unsigned short saved_cw;
- unsigned short tmp_cw;
- /* truncate */
- asm ("fnstcw %0;" : "=m" (saved_cw)); /* save control word */
- tmp_cw = (saved_cw & ~FE_ROUNDING_MASK) | FE_TOWARDZERO;
- asm ("fldcw %0;" : : "m" (tmp_cw));
- asm ("frndint;" : "=t" (int_part) : "0" (value)); /* round */
- asm ("fldcw %0;" : : "m" (saved_cw)); /* restore saved cw */
- if (iptr)
- *iptr = int_part;
- return (isinf (value) ? 0.0L : value - int_part);
-}
diff --git a/winsup/mingw/mingwex/math/nearbyint.S b/winsup/mingw/mingwex/math/nearbyint.S
deleted file mode 100644
index 9730aeebf..000000000
--- a/winsup/mingw/mingwex/math/nearbyint.S
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * Written by J.T. Conklin <jtc@netbsd.org>.
- * Public domain.
- *
- * Adapted for use as nearbyint by Ulrich Drepper <drepper@cygnus.com>.
- *
- * Removed header file dependency for use in libmingwex.a by
- * Danny Smith <dannysmith@users.sourceforge.net>
- */
-
- .file "nearbyint.S"
- .text
- .align 4
-.globl _nearbyint
- .def _nearbyint; .scl 2; .type 32; .endef
-_nearbyint:
- fldl 4(%esp)
- pushl %eax
- pushl %ecx
- fnstcw (%esp)
- movl (%esp), %eax
- orl $0x20, %eax
- movl %eax, 4(%esp)
- fldcw 4(%esp)
- frndint
- fclex
- fldcw (%esp)
- popl %ecx
- popl %eax
- ret
diff --git a/winsup/mingw/mingwex/math/nearbyintf.S b/winsup/mingw/mingwex/math/nearbyintf.S
deleted file mode 100644
index 1c5734084..000000000
--- a/winsup/mingw/mingwex/math/nearbyintf.S
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * Written by J.T. Conklin <jtc@netbsd.org>.
- * Public domain.
- * Adapted for use as nearbyint by Ulrich Drepper <drepper@cygnus.com>.
- *
- * Removed header file dependency for use in libmingwex.a by
- * Danny Smith <dannysmith@users.sourceforge.net>
- */
-
- .file "nearbyintf.S"
- .text
- .align 4
-.globl _nearbyintf
- .def _nearbyintf; .scl 2; .type 32; .endef
-_nearbyintf:
- flds 4(%esp)
- pushl %eax
- pushl %ecx
- fnstcw (%esp)
- movl (%esp), %eax
- orl $0x20, %eax
- movl %eax, 4(%esp)
- fldcw 4(%esp)
- frndint
- fclex
- fldcw (%esp)
- popl %ecx
- popl %eax
- ret
diff --git a/winsup/mingw/mingwex/math/nearbyintl.S b/winsup/mingw/mingwex/math/nearbyintl.S
deleted file mode 100644
index 7dbc2a8b7..000000000
--- a/winsup/mingw/mingwex/math/nearbyintl.S
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * Written by J.T. Conklin <jtc@netbsd.org>.
- * Public domain.
- *
- * Adaptedfor use as nearbyint by Ulrich Drepper <drepper@cygnus.com>.
- *
- * Removed header file dependency for use in libmingwex.a by
- * Danny Smith <dannysmith@users.sourceforge.net>
- */
-
- .file "nearbyintl.S"
- .text
- .align 4
-.globl _nearbyintl
- .def _nearbyintl; .scl 2; .type 32; .endef
-_nearbyintl:
- fldt 4(%esp)
- pushl %eax
- pushl %ecx
- fnstcw (%esp)
- movl (%esp), %eax
- orl $0x20, %eax
- movl %eax, 4(%esp)
- fldcw 4(%esp)
- frndint
- fclex
- fldcw (%esp)
- popl %ecx
- popl %eax
- ret
diff --git a/winsup/mingw/mingwex/math/nextafterf.c b/winsup/mingw/mingwex/math/nextafterf.c
deleted file mode 100644
index 47309a027..000000000
--- a/winsup/mingw/mingwex/math/nextafterf.c
+++ /dev/null
@@ -1,27 +0,0 @@
-#include <math.h>
-
-float
-nextafterf (float x, float y)
-{
- union
- {
- float f;
- unsigned int i;
- } u;
- if (isnan (y) || isnan (x))
- return x + y;
- if (x == y )
- /* nextafter (0.0, -O.0) should return -0.0. */
- return y;
- u.f = x;
- if (x == 0.0F)
- {
- u.i = 1;
- return y > 0.0F ? u.f : -u.f;
- }
- if (((x > 0.0F) ^ (y > x)) == 0)
- u.i++;
- else
- u.i--;
- return u.f;
-}
diff --git a/winsup/mingw/mingwex/math/nextafterl.c b/winsup/mingw/mingwex/math/nextafterl.c
deleted file mode 100755
index eaf6a3f03..000000000
--- a/winsup/mingw/mingwex/math/nextafterl.c
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- nextafterl.c
- Contributed by Danny Smith <dannysmith@users.sourceforge.net>
- No copyright claimed, absolutely no warranties.
-
- 2005-05-09
-*/
-
-#include <math.h>
-
-long double
-nextafterl (long double x, long double y)
-{
- union {
- long double ld;
- struct {
- unsigned long long mantissa;
- unsigned short expn;
- unsigned short pad;
- } __attribute__ ((packed)) parts;
- } u;
-
- /* The normal bit is explicit for long doubles, unlike
- float and double. */
- static const unsigned long long normal_bit = 0x8000000000000000ull;
-
- if (isnan (y) || isnan (x))
- return x + y;
-
- if (x == y )
- /* nextafter (0.0, -O.0) should return -0.0. */
- return y;
-
- u.ld = x;
- if (x == 0.0L)
- {
- u.parts.mantissa = 1ull;
- return y > 0.0L ? u.ld : -u.ld;
- }
-
- if (((x > 0.0L) ^ (y > x)) == 0)
- {
- u.parts.mantissa++;
- if ((u.parts.mantissa & ~normal_bit) == 0ull)
- u.parts.expn++;
- }
- else
- {
- if ((u.parts.mantissa & ~normal_bit) == 0ull)
- u.parts.expn--;
- u.parts.mantissa--;
- }
-
- /* If we have updated the expn of a normal number,
- or moved from denormal to normal, [re]set the normal bit. */
-
- if (u.parts.expn & 0x7fff)
- u.parts.mantissa |= normal_bit;
-
- return u.ld;
-}
-
-/* nexttowardl is the same function with a different name. */
-long double
-nexttowardl (long double, long double) __attribute__ ((alias("nextafterl")));
diff --git a/winsup/mingw/mingwex/math/nexttoward.c b/winsup/mingw/mingwex/math/nexttoward.c
deleted file mode 100755
index 6a4c820f2..000000000
--- a/winsup/mingw/mingwex/math/nexttoward.c
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- nexttoward.c
- Contributed by Danny Smith <dannysmith@users.sourceforge.net>
- No copyright claimed, absolutely no warranties.
-
- 2005-05-10
-*/
-
-#include <math.h>
-
-double
-nexttoward (double x, long double y)
-{
- union
- {
- double d;
- unsigned long long ll;
- } u;
-
- long double xx = x;
-
- if (isnan (y) || isnan (x))
- return x + y;
-
- if (xx == y)
- /* nextafter (0.0, -O.0) should return -0.0. */
- return y;
- u.d = x;
- if (x == 0.0)
- {
- u.ll = 1;
- return y > 0.0L ? u.d : -u.d;
- }
-
- /* Non-extended encodings are lexicographically ordered,
- with implicit "normal" bit. */
- if (((x > 0.0) ^ (y > xx)) == 0)
- u.ll++;
- else
- u.ll--;
- return u.d;
-}
diff --git a/winsup/mingw/mingwex/math/nexttowardf.c b/winsup/mingw/mingwex/math/nexttowardf.c
deleted file mode 100755
index 80ac1a357..000000000
--- a/winsup/mingw/mingwex/math/nexttowardf.c
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- nexttowardf.c
- Contributed by Danny Smith <dannysmith@users.sourceforge.net>
- No copyright claimed, absolutely no warranties.
-
- 2005-05-10
-*/
-
-#include <math.h>
-
-float
-nexttowardf (float x, long double y)
-{
- union
- {
- float f;
- unsigned int i;
- } u;
-
- long double xx = x;
-
- if (isnan (y) || isnan (x))
- return x + y;
- if (xx == y )
- /* nextafter (0.0, -O.0) should return -0.0. */
- return y;
- u.f = x;
- if (x == 0.0F)
- {
- u.i = 1;
- return y > 0.0L ? u.f : -u.f;
- }
- if (((x > 0.0F) ^ (y > xx)) == 0)
- u.i++;
- else
- u.i--;
- return u.f;
-}
diff --git a/winsup/mingw/mingwex/math/pow.c b/winsup/mingw/mingwex/math/pow.c
deleted file mode 100644
index 1fa548e5e..000000000
--- a/winsup/mingw/mingwex/math/pow.c
+++ /dev/null
@@ -1,781 +0,0 @@
-/* pow.c
- *
- * Power function
- *
- *
- *
- * SYNOPSIS:
- *
- * double x, y, z, pow();
- *
- * z = pow( x, y );
- *
- *
- *
- * DESCRIPTION:
- *
- * Computes x raised to the yth power. Analytically,
- *
- * x**y = exp( y log(x) ).
- *
- * Following Cody and Waite, this program uses a lookup table
- * of 2**-i/16 and pseudo extended precision arithmetic to
- * obtain an extra three bits of accuracy in both the logarithm
- * and the exponential.
- *
- *
- *
- * ACCURACY:
- *
- * Relative error:
- * arithmetic domain # trials peak rms
- * IEEE -26,26 30000 4.2e-16 7.7e-17
- * DEC -26,26 60000 4.8e-17 9.1e-18
- * 1/26 < x < 26, with log(x) uniformly distributed.
- * -26 < y < 26, y uniformly distributed.
- * IEEE 0,8700 30000 1.5e-14 2.1e-15
- * 0.99 < x < 1.01, 0 < y < 8700, uniformly distributed.
- *
- *
- * ERROR MESSAGES:
- *
- * message condition value returned
- * pow overflow x**y > MAXNUM INFINITY
- * pow underflow x**y < 1/MAXNUM 0.0
- * pow domain x<0 and y noninteger 0.0
- *
- */
-
-/*
-Cephes Math Library Release 2.8: June, 2000
-Copyright 1984, 1995, 2000 by Stephen L. Moshier
-*/
-
-/*
-Modified for mingw
-2002-09-27 Danny Smith <dannysmith@users.sourceforge.net>
-*/
-
-#ifdef __MINGW32__
-#include "cephes_mconf.h"
-#else
-#include "mconf.h"
-static char fname[] = {"pow"};
-#endif
-
-#ifndef _SET_ERRNO
-#define _SET_ERRNO(x)
-#endif
-
-#define SQRTH 0.70710678118654752440
-
-#ifdef UNK
-static double P[] = {
- 4.97778295871696322025E-1,
- 3.73336776063286838734E0,
- 7.69994162726912503298E0,
- 4.66651806774358464979E0
-};
-static double Q[] = {
-/* 1.00000000000000000000E0, */
- 9.33340916416696166113E0,
- 2.79999886606328401649E1,
- 3.35994905342304405431E1,
- 1.39995542032307539578E1
-};
-/* 2^(-i/16), IEEE precision */
-static double A[] = {
- 1.00000000000000000000E0,
- 9.57603280698573700036E-1,
- 9.17004043204671215328E-1,
- 8.78126080186649726755E-1,
- 8.40896415253714502036E-1,
- 8.05245165974627141736E-1,
- 7.71105412703970372057E-1,
- 7.38413072969749673113E-1,
- 7.07106781186547572737E-1,
- 6.77127773468446325644E-1,
- 6.48419777325504820276E-1,
- 6.20928906036742001007E-1,
- 5.94603557501360513449E-1,
- 5.69394317378345782288E-1,
- 5.45253866332628844837E-1,
- 5.22136891213706877402E-1,
- 5.00000000000000000000E-1
-};
-static double B[] = {
- 0.00000000000000000000E0,
- 1.64155361212281360176E-17,
- 4.09950501029074826006E-17,
- 3.97491740484881042808E-17,
--4.83364665672645672553E-17,
- 1.26912513974441574796E-17,
- 1.99100761573282305549E-17,
--1.52339103990623557348E-17,
- 0.00000000000000000000E0
-};
-static double R[] = {
- 1.49664108433729301083E-5,
- 1.54010762792771901396E-4,
- 1.33335476964097721140E-3,
- 9.61812908476554225149E-3,
- 5.55041086645832347466E-2,
- 2.40226506959099779976E-1,
- 6.93147180559945308821E-1
-};
-
-#define douba(k) A[k]
-#define doubb(k) B[k]
-#define MEXP 16383.0
-#ifdef DENORMAL
-#define MNEXP -17183.0
-#else
-#define MNEXP -16383.0
-#endif
-#endif
-
-#ifdef DEC
-static unsigned short P[] = {
-0037776,0156313,0175332,0163602,
-0040556,0167577,0052366,0174245,
-0040766,0062753,0175707,0055564,
-0040625,0052035,0131344,0155636,
-};
-static unsigned short Q[] = {
-/*0040200,0000000,0000000,0000000,*/
-0041025,0052644,0154404,0105155,
-0041337,0177772,0007016,0047646,
-0041406,0062740,0154273,0020020,
-0041137,0177054,0106127,0044555,
-};
-static unsigned short A[] = {
-0040200,0000000,0000000,0000000,
-0040165,0022575,0012444,0103314,
-0040152,0140306,0163735,0022071,
-0040140,0146336,0166052,0112341,
-0040127,0042374,0145326,0116553,
-0040116,0022214,0012437,0102201,
-0040105,0063452,0010525,0003333,
-0040075,0004243,0117530,0006067,
-0040065,0002363,0031771,0157145,
-0040055,0054076,0165102,0120513,
-0040045,0177326,0124661,0050471,
-0040036,0172462,0060221,0120422,
-0040030,0033760,0050615,0134251,
-0040021,0141723,0071653,0010703,
-0040013,0112701,0161752,0105727,
-0040005,0125303,0063714,0044173,
-0040000,0000000,0000000,0000000
-};
-static unsigned short B[] = {
-0000000,0000000,0000000,0000000,
-0021473,0040265,0153315,0140671,
-0121074,0062627,0042146,0176454,
-0121413,0003524,0136332,0066212,
-0121767,0046404,0166231,0012553,
-0121257,0015024,0002357,0043574,
-0021736,0106532,0043060,0056206,
-0121310,0020334,0165705,0035326,
-0000000,0000000,0000000,0000000
-};
-
-static unsigned short R[] = {
-0034173,0014076,0137624,0115771,
-0035041,0076763,0003744,0111311,
-0035656,0141766,0041127,0074351,
-0036435,0112533,0073611,0116664,
-0037143,0054106,0134040,0152223,
-0037565,0176757,0176026,0025551,
-0040061,0071027,0173721,0147572
-};
-
-/*
-static double R[] = {
-0.14928852680595608186e-4,
-0.15400290440989764601e-3,
-0.13333541313585784703e-2,
-0.96181290595172416964e-2,
-0.55504108664085595326e-1,
-0.24022650695909537056e0,
-0.69314718055994529629e0
-};
-*/
-#define douba(k) (*(double *)&A[(k)<<2])
-#define doubb(k) (*(double *)&B[(k)<<2])
-#define MEXP 2031.0
-#define MNEXP -2031.0
-#endif
-
-#ifdef IBMPC
-static const unsigned short P[] = {
-0x5cf0,0x7f5b,0xdb99,0x3fdf,
-0xdf15,0xea9e,0xddef,0x400d,
-0xeb6f,0x7f78,0xccbd,0x401e,
-0x9b74,0xb65c,0xaa83,0x4012,
-};
-static const unsigned short Q[] = {
-/*0x0000,0x0000,0x0000,0x3ff0,*/
-0x914e,0x9b20,0xaab4,0x4022,
-0xc9f5,0x41c1,0xffff,0x403b,
-0x6402,0x1b17,0xccbc,0x4040,
-0xe92e,0x918a,0xffc5,0x402b,
-};
-static const unsigned short A[] = {
-0x0000,0x0000,0x0000,0x3ff0,
-0x90da,0xa2a4,0xa4af,0x3fee,
-0xa487,0xdcfb,0x5818,0x3fed,
-0x529c,0xdd85,0x199b,0x3fec,
-0xd3ad,0x995a,0xe89f,0x3fea,
-0xf090,0x82a3,0xc491,0x3fe9,
-0xa0db,0x422a,0xace5,0x3fe8,
-0x0187,0x73eb,0xa114,0x3fe7,
-0x3bcd,0x667f,0xa09e,0x3fe6,
-0x5429,0xdd48,0xab07,0x3fe5,
-0x2a27,0xd536,0xbfda,0x3fe4,
-0x3422,0x4c12,0xdea6,0x3fe3,
-0xb715,0x0a31,0x06fe,0x3fe3,
-0x6238,0x6e75,0x387a,0x3fe2,
-0x517b,0x3c7d,0x72b8,0x3fe1,
-0x890f,0x6cf9,0xb558,0x3fe0,
-0x0000,0x0000,0x0000,0x3fe0
-};
-static const unsigned short B[] = {
-0x0000,0x0000,0x0000,0x0000,
-0x3707,0xd75b,0xed02,0x3c72,
-0xcc81,0x345d,0xa1cd,0x3c87,
-0x4b27,0x5686,0xe9f1,0x3c86,
-0x6456,0x13b2,0xdd34,0xbc8b,
-0x42e2,0xafec,0x4397,0x3c6d,
-0x82e4,0xd231,0xf46a,0x3c76,
-0x8a76,0xb9d7,0x9041,0xbc71,
-0x0000,0x0000,0x0000,0x0000
-};
-static const unsigned short R[] = {
-0x937f,0xd7f2,0x6307,0x3eef,
-0x9259,0x60fc,0x2fbe,0x3f24,
-0xef1d,0xc84a,0xd87e,0x3f55,
-0x33b7,0x6ef1,0xb2ab,0x3f83,
-0x1a92,0xd704,0x6b08,0x3fac,
-0xc56d,0xff82,0xbfbd,0x3fce,
-0x39ef,0xfefa,0x2e42,0x3fe6
-};
-
-#define douba(k) (*(double *)&A[(k)<<2])
-#define doubb(k) (*(double *)&B[(k)<<2])
-#define MEXP 16383.0
-#ifdef DENORMAL
-#define MNEXP -17183.0
-#else
-#define MNEXP -16383.0
-#endif
-#endif
-
-#ifdef MIEEE
-static unsigned short P[] = {
-0x3fdf,0xdb99,0x7f5b,0x5cf0,
-0x400d,0xddef,0xea9e,0xdf15,
-0x401e,0xccbd,0x7f78,0xeb6f,
-0x4012,0xaa83,0xb65c,0x9b74
-};
-static unsigned short Q[] = {
-0x4022,0xaab4,0x9b20,0x914e,
-0x403b,0xffff,0x41c1,0xc9f5,
-0x4040,0xccbc,0x1b17,0x6402,
-0x402b,0xffc5,0x918a,0xe92e
-};
-static unsigned short A[] = {
-0x3ff0,0x0000,0x0000,0x0000,
-0x3fee,0xa4af,0xa2a4,0x90da,
-0x3fed,0x5818,0xdcfb,0xa487,
-0x3fec,0x199b,0xdd85,0x529c,
-0x3fea,0xe89f,0x995a,0xd3ad,
-0x3fe9,0xc491,0x82a3,0xf090,
-0x3fe8,0xace5,0x422a,0xa0db,
-0x3fe7,0xa114,0x73eb,0x0187,
-0x3fe6,0xa09e,0x667f,0x3bcd,
-0x3fe5,0xab07,0xdd48,0x5429,
-0x3fe4,0xbfda,0xd536,0x2a27,
-0x3fe3,0xdea6,0x4c12,0x3422,
-0x3fe3,0x06fe,0x0a31,0xb715,
-0x3fe2,0x387a,0x6e75,0x6238,
-0x3fe1,0x72b8,0x3c7d,0x517b,
-0x3fe0,0xb558,0x6cf9,0x890f,
-0x3fe0,0x0000,0x0000,0x0000
-};
-static unsigned short B[] = {
-0x0000,0x0000,0x0000,0x0000,
-0x3c72,0xed02,0xd75b,0x3707,
-0x3c87,0xa1cd,0x345d,0xcc81,
-0x3c86,0xe9f1,0x5686,0x4b27,
-0xbc8b,0xdd34,0x13b2,0x6456,
-0x3c6d,0x4397,0xafec,0x42e2,
-0x3c76,0xf46a,0xd231,0x82e4,
-0xbc71,0x9041,0xb9d7,0x8a76,
-0x0000,0x0000,0x0000,0x0000
-};
-static unsigned short R[] = {
-0x3eef,0x6307,0xd7f2,0x937f,
-0x3f24,0x2fbe,0x60fc,0x9259,
-0x3f55,0xd87e,0xc84a,0xef1d,
-0x3f83,0xb2ab,0x6ef1,0x33b7,
-0x3fac,0x6b08,0xd704,0x1a92,
-0x3fce,0xbfbd,0xff82,0xc56d,
-0x3fe6,0x2e42,0xfefa,0x39ef
-};
-
-#define douba(k) (*(double *)&A[(k)<<2])
-#define doubb(k) (*(double *)&B[(k)<<2])
-#define MEXP 16383.0
-#ifdef DENORMAL
-#define MNEXP -17183.0
-#else
-#define MNEXP -16383.0
-#endif
-#endif
-
-/* log2(e) - 1 */
-#define LOG2EA 0.44269504088896340736
-
-#define F W
-#define Fa Wa
-#define Fb Wb
-#define G W
-#define Ga Wa
-#define Gb u
-#define H W
-#define Ha Wb
-#define Hb Wb
-
-#ifdef __MINGW32__
-static __inline__ double reduc( double );
-extern double __powi ( double, int );
-extern double pow ( double x, double y);
-
-#else /* __MINGW32__ */
-
-#ifdef ANSIPROT
-extern double floor ( double );
-extern double fabs ( double );
-extern double frexp ( double, int * );
-extern double ldexp ( double, int );
-extern double polevl ( double, void *, int );
-extern double p1evl ( double, void *, int );
-extern double __powi ( double, int );
-extern int signbit ( double );
-extern int isnan ( double );
-extern int isfinite ( double );
-static double reduc ( double );
-#else
-double floor(), fabs(), frexp(), ldexp();
-double polevl(), p1evl(), __powi();
-int signbit(), isnan(), isfinite();
-static double reduc();
-#endif
-extern double MAXNUM;
-#ifdef INFINITIES
-extern double INFINITY;
-#endif
-#ifdef NANS
-extern double NAN;
-#endif
-#ifdef MINUSZERO
-extern double NEGZERO;
-#endif
-
-#endif /* __MINGW32__ */
-
-double pow( x, y )
-double x, y;
-{
-double w, z, W, Wa, Wb, ya, yb, u;
-/* double F, Fa, Fb, G, Ga, Gb, H, Ha, Hb */
-double aw, ay, wy;
-int e, i, nflg, iyflg, yoddint;
-
-if( y == 0.0 )
- return( 1.0 );
-#ifdef NANS
-if( isnan(x) || isnan(y) )
- {
- _SET_ERRNO (EDOM);
- return( x + y );
- }
-#endif
-if( y == 1.0 )
- return( x );
-
-
-#ifdef INFINITIES
-if( !isfinite(y) && (x == 1.0 || x == -1.0) )
- {
- mtherr( "pow", DOMAIN );
-#ifdef NANS
- return( NAN );
-#else
- return( INFINITY );
-#endif
- }
-#endif
-
-if( x == 1.0 )
- return( 1.0 );
-
-if( y >= MAXNUM )
- {
- _SET_ERRNO (ERANGE);
-#ifdef INFINITIES
- if( x > 1.0 )
- return( INFINITY );
-#else
- if( x > 1.0 )
- return( MAXNUM );
-#endif
- if( x > 0.0 && x < 1.0 )
- return( 0.0);
- if( x < -1.0 )
- {
-#ifdef INFINITIES
- return( INFINITY );
-#else
- return( MAXNUM );
-#endif
- }
- if( x > -1.0 && x < 0.0 )
- return( 0.0 );
- }
-if( y <= -MAXNUM )
- {
- _SET_ERRNO (ERANGE);
- if( x > 1.0 )
- return( 0.0 );
-#ifdef INFINITIES
- if( x > 0.0 && x < 1.0 )
- return( INFINITY );
-#else
- if( x > 0.0 && x < 1.0 )
- return( MAXNUM );
-#endif
- if( x < -1.0 )
- return( 0.0 );
-#ifdef INFINITIES
- if( x > -1.0 && x < 0.0 )
- return( INFINITY );
-#else
- if( x > -1.0 && x < 0.0 )
- return( MAXNUM );
-#endif
- }
-if( x >= MAXNUM )
- {
-#if INFINITIES
- if( y > 0.0 )
- return( INFINITY );
-#else
- if( y > 0.0 )
- return( MAXNUM );
-#endif
- return(0.0);
- }
-/* Set iyflg to 1 if y is an integer. */
-iyflg = 0;
-w = floor(y);
-if( w == y )
- iyflg = 1;
-
-/* Test for odd integer y. */
-yoddint = 0;
-if( iyflg )
- {
- ya = fabs(y);
- ya = floor(0.5 * ya);
- yb = 0.5 * fabs(w);
- if( ya != yb )
- yoddint = 1;
- }
-
-if( x <= -MAXNUM )
- {
- if( y > 0.0 )
- {
-#ifdef INFINITIES
- if( yoddint )
- return( -INFINITY );
- return( INFINITY );
-#else
- if( yoddint )
- return( -MAXNUM );
- return( MAXNUM );
-#endif
- }
- if( y < 0.0 )
- {
-#ifdef MINUSZERO
- if( yoddint )
- return( NEGZERO );
-#endif
- return( 0.0 );
- }
- }
-
-nflg = 0; /* flag = 1 if x<0 raised to integer power */
-if( x <= 0.0 )
- {
- if( x == 0.0 )
- {
- if( y < 0.0 )
- {
-#ifdef MINUSZERO
- if( signbit(x) && yoddint )
- return( -INFINITY );
-#endif
-#ifdef INFINITIES
- return( INFINITY );
-#else
- return( MAXNUM );
-#endif
- }
- if( y > 0.0 )
- {
-#ifdef MINUSZERO
- if( signbit(x) && yoddint )
- return( NEGZERO );
-#endif
- return( 0.0 );
- }
- return( 1.0 );
- }
- else
- {
- if( iyflg == 0 )
- { /* noninteger power of negative number */
- mtherr( fname, DOMAIN );
- _SET_ERRNO (EDOM);
-#ifdef NANS
- return(NAN);
-#else
- return(0.0L);
-#endif
- }
- nflg = 1;
- }
- }
-
-/* Integer power of an integer. */
-
-if( iyflg )
- {
- i = w;
- w = floor(x);
- if( (w == x) && (fabs(y) < 32768.0) )
- {
- w = __powi( x, (int) y );
- return( w );
- }
- }
-
-if( nflg )
- x = fabs(x);
-
-/* For results close to 1, use a series expansion. */
-w = x - 1.0;
-aw = fabs(w);
-ay = fabs(y);
-wy = w * y;
-ya = fabs(wy);
-if((aw <= 1.0e-3 && ay <= 1.0)
- || (ya <= 1.0e-3 && ay >= 1.0))
- {
- z = (((((w*(y-5.)/720. + 1./120.)*w*(y-4.) + 1./24.)*w*(y-3.)
- + 1./6.)*w*(y-2.) + 0.5)*w*(y-1.) )*wy + wy + 1.;
- goto done;
- }
-/* These are probably too much trouble. */
-#if 0
-w = y * log(x);
-if (aw > 1.0e-3 && fabs(w) < 1.0e-3)
- {
- z = ((((((
- w/7. + 1.)*w/6. + 1.)*w/5. + 1.)*w/4. + 1.)*w/3. + 1.)*w/2. + 1.)*w + 1.;
- goto done;
- }
-
-if(ya <= 1.0e-3 && aw <= 1.0e-4)
- {
- z = (((((
- wy*1./720.
- + (-w*1./48. + 1./120.) )*wy
- + ((w*17./144. - 1./12.)*w + 1./24.) )*wy
- + (((-w*5./16. + 7./24.)*w - 1./4.)*w + 1./6.) )*wy
- + ((((w*137./360. - 5./12.)*w + 11./24.)*w - 1./2.)*w + 1./2.) )*wy
- + (((((-w*1./6. + 1./5.)*w - 1./4)*w + 1./3.)*w -1./2.)*w ) )*wy
- + wy + 1.0;
- goto done;
- }
-#endif
-
-/* separate significand from exponent */
-x = frexp( x, &e );
-
-#if 0
-/* For debugging, check for gross overflow. */
-if( (e * y) > (MEXP + 1024) )
- goto overflow;
-#endif
-
-/* Find significand of x in antilog table A[]. */
-i = 1;
-if( x <= douba(9) )
- i = 9;
-if( x <= douba(i+4) )
- i += 4;
-if( x <= douba(i+2) )
- i += 2;
-if( x >= douba(1) )
- i = -1;
-i += 1;
-
-
-/* Find (x - A[i])/A[i]
- * in order to compute log(x/A[i]):
- *
- * log(x) = log( a x/a ) = log(a) + log(x/a)
- *
- * log(x/a) = log(1+v), v = x/a - 1 = (x-a)/a
- */
-x -= douba(i);
-x -= doubb(i/2);
-x /= douba(i);
-
-
-/* rational approximation for log(1+v):
- *
- * log(1+v) = v - v**2/2 + v**3 P(v) / Q(v)
- */
-z = x*x;
-w = x * ( z * polevl( x, P, 3 ) / p1evl( x, Q, 4 ) );
-w = w - ldexp( z, -1 ); /* w - 0.5 * z */
-
-/* Convert to base 2 logarithm:
- * multiply by log2(e)
- */
-w = w + LOG2EA * w;
-/* Note x was not yet added in
- * to above rational approximation,
- * so do it now, while multiplying
- * by log2(e).
- */
-z = w + LOG2EA * x;
-z = z + x;
-
-/* Compute exponent term of the base 2 logarithm. */
-w = -i;
-w = ldexp( w, -4 ); /* divide by 16 */
-w += e;
-/* Now base 2 log of x is w + z. */
-
-/* Multiply base 2 log by y, in extended precision. */
-
-/* separate y into large part ya
- * and small part yb less than 1/16
- */
-ya = reduc(y);
-yb = y - ya;
-
-
-F = z * y + w * yb;
-Fa = reduc(F);
-Fb = F - Fa;
-
-G = Fa + w * ya;
-Ga = reduc(G);
-Gb = G - Ga;
-
-H = Fb + Gb;
-Ha = reduc(H);
-w = ldexp( Ga+Ha, 4 );
-
-/* Test the power of 2 for overflow */
-if( w > MEXP )
- {
-#ifndef INFINITIES
- mtherr( fname, OVERFLOW );
-#endif
-#ifdef INFINITIES
- if( nflg && yoddint )
- return( -INFINITY );
- return( INFINITY );
-#else
- if( nflg && yoddint )
- return( -MAXNUM );
- return( MAXNUM );
-#endif
- }
-
-if( w < (MNEXP - 1) )
- {
-#ifndef DENORMAL
- mtherr( fname, UNDERFLOW );
-#endif
-#ifdef MINUSZERO
- if( nflg && yoddint )
- return( NEGZERO );
-#endif
- return( 0.0 );
- }
-
-e = w;
-Hb = H - Ha;
-
-if( Hb > 0.0 )
- {
- e += 1;
- Hb -= 0.0625;
- }
-
-/* Now the product y * log2(x) = Hb + e/16.0.
- *
- * Compute base 2 exponential of Hb,
- * where -0.0625 <= Hb <= 0.
- */
-z = Hb * polevl( Hb, R, 6 ); /* z = 2**Hb - 1 */
-
-/* Express e/16 as an integer plus a negative number of 16ths.
- * Find lookup table entry for the fractional power of 2.
- */
-if( e < 0 )
- i = 0;
-else
- i = 1;
-i = e/16 + i;
-e = 16*i - e;
-w = douba( e );
-z = w + w * z; /* 2**-e * ( 1 + (2**Hb-1) ) */
-z = ldexp( z, i ); /* multiply by integer power of 2 */
-
-done:
-
-/* Negate if odd integer power of negative number */
-if( nflg && yoddint )
- {
-#ifdef MINUSZERO
- if( z == 0.0 )
- z = NEGZERO;
- else
-#endif
- z = -z;
- }
-return( z );
-}
-
-
-/* Find a multiple of 1/16 that is within 1/16 of x. */
-static __inline__ double reduc(x)
-double x;
-{
-double t;
-
-t = ldexp( x, 4 );
-t = floor( t );
-t = ldexp( t, -4 );
-return(t);
-}
diff --git a/winsup/mingw/mingwex/math/powf.c b/winsup/mingw/mingwex/math/powf.c
deleted file mode 100644
index 1af4d2d8f..000000000
--- a/winsup/mingw/mingwex/math/powf.c
+++ /dev/null
@@ -1,3 +0,0 @@
-#include <math.h>
-float powf (float x, float y)
- {return (float) pow (x, y);}
diff --git a/winsup/mingw/mingwex/math/powi.c b/winsup/mingw/mingwex/math/powi.c
deleted file mode 100644
index 9dd0c3d82..000000000
--- a/winsup/mingw/mingwex/math/powi.c
+++ /dev/null
@@ -1,200 +0,0 @@
-/* powi.c
- *
- * Real raised to integer power
- *
- *
- *
- * SYNOPSIS:
- *
- * double x, y, __powi();
- * int n;
- *
- * y = __powi( x, n );
- *
- *
- *
- * DESCRIPTION:
- *
- * Returns argument x raised to the nth power.
- * The routine efficiently decomposes n as a sum of powers of
- * two. The desired power is a product of two-to-the-kth
- * powers of x. Thus to compute the 32767 power of x requires
- * 28 multiplications instead of 32767 multiplications.
- *
- *
- *
- * ACCURACY:
- *
- *
- * Relative error:
- * arithmetic x domain n domain # trials peak rms
- * DEC .04,26 -26,26 100000 2.7e-16 4.3e-17
- * IEEE .04,26 -26,26 50000 2.0e-15 3.8e-16
- * IEEE 1,2 -1022,1023 50000 8.6e-14 1.6e-14
- *
- * Returns MAXNUM on overflow, zero on underflow.
- *
- */
-
-/* powi.c */
-
-/*
-Cephes Math Library Release 2.8: June, 2000
-Copyright 1984, 1995, 2000 by Stephen L. Moshier
-*/
-
-/*
-Modified for mingw
-2002-07-22 Danny Smith <dannysmith@users.sourceforge.net>
-*/
-
-#ifdef __MINGW32__
-#include "cephes_mconf.h"
-#else
-#include "mconf.h"
-#ifdef ANSIPROT
-extern double log ( double );
-extern double frexp ( double, int * );
-extern int signbit ( double );
-#else
-double log(), frexp();
-int signbit();
-#endif
-extern double NEGZERO, INFINITY, MAXNUM, MAXLOG, MINLOG, LOGE2;
-#endif /* __MINGW32__ */
-
-#ifndef _SET_ERRNO
-#define _SET_ERRNO(x)
-#endif
-
-double __powi( x, nn )
-double x;
-int nn;
-{
-int n, e, sign, asign, lx;
-double w, y, s;
-
-/* See pow.c for these tests. */
-if( x == 0.0 )
- {
- if( nn == 0 )
- return( 1.0 );
- else if( nn < 0 )
- return( INFINITY );
- else
- {
- if( nn & 1 )
- return( x );
- else
- return( 0.0 );
- }
- }
-
-if( nn == 0 )
- return( 1.0 );
-
-if( nn == -1 )
- return( 1.0/x );
-
-if( x < 0.0 )
- {
- asign = -1;
- x = -x;
- }
-else
- asign = 0;
-
-
-if( nn < 0 )
- {
- sign = -1;
- n = -nn;
- }
-else
- {
- sign = 1;
- n = nn;
- }
-
-/* Even power will be positive. */
-if( (n & 1) == 0 )
- asign = 0;
-
-/* Overflow detection */
-
-/* Calculate approximate logarithm of answer */
-s = frexp( x, &lx );
-e = (lx - 1)*n;
-if( (e == 0) || (e > 64) || (e < -64) )
- {
- s = (s - 7.0710678118654752e-1) / (s + 7.0710678118654752e-1);
- s = (2.9142135623730950 * s - 0.5 + lx) * nn * LOGE2;
- }
-else
- {
- s = LOGE2 * e;
- }
-
-if( s > MAXLOG )
- {
- mtherr( "powi", OVERFLOW );
- _SET_ERRNO(ERANGE);
- y = INFINITY;
- goto done;
- }
-
-#if DENORMAL
-if( s < MINLOG )
- {
- y = 0.0;
- goto done;
- }
-
-/* Handle tiny denormal answer, but with less accuracy
- * since roundoff error in 1.0/x will be amplified.
- * The precise demarcation should be the gradual underflow threshold.
- */
-if( (s < (-MAXLOG+2.0)) && (sign < 0) )
- {
- x = 1.0/x;
- sign = -sign;
- }
-#else
-/* do not produce denormal answer */
-if( s < -MAXLOG )
- return(0.0);
-#endif
-
-
-/* First bit of the power */
-if( n & 1 )
- y = x;
-
-else
- y = 1.0;
-
-w = x;
-n >>= 1;
-while( n )
- {
- w = w * w; /* arg to the 2-to-the-kth power */
- if( n & 1 ) /* if that bit is set, then include in product */
- y *= w;
- n >>= 1;
- }
-
-if( sign < 0 )
- y = 1.0/y;
-
-done:
-
-if( asign )
- {
- /* odd power of negative number */
- if( y == 0.0 )
- y = NEGZERO;
- else
- y = -y;
- }
-return(y);
-}
diff --git a/winsup/mingw/mingwex/math/powif.c b/winsup/mingw/mingwex/math/powif.c
deleted file mode 100644
index 160fb5476..000000000
--- a/winsup/mingw/mingwex/math/powif.c
+++ /dev/null
@@ -1,198 +0,0 @@
-/* powi.c
- *
- * Real raised to integer power
- *
- *
- *
- * SYNOPSIS:
- *
- * float x, y, __powif();
- * int n;
- *
- * y = powi( x, n );
- *
- *
- *
- * DESCRIPTION:
- *
- * Returns argument x raised to the nth power.
- * The routine efficiently decomposes n as a sum of powers of
- * two. The desired power is a product of two-to-the-kth
- * powers of x. Thus to compute the 32767 power of x requires
- * 28 multiplications instead of 32767 multiplications.
- *
- *
- *
- * ACCURACY:
- *
- *
- * Relative error:
- * arithmetic x domain n domain # trials peak rms
- * DEC .04,26 -26,26 100000 2.7e-16 4.3e-17
- * IEEE .04,26 -26,26 50000 2.0e-15 3.8e-16
- * IEEE 1,2 -1022,1023 50000 8.6e-14 1.6e-14
- *
- * Returns MAXNUM on overflow, zero on underflow.
- *
- */
-
-/* powi.c */
-
-/*
-Cephes Math Library Release 2.8: June, 2000
-Copyright 1984, 1995, 2000 by Stephen L. Moshier
-*/
-
-/*
-Modified for float from powi.c and adapted to mingw
-2002-10-01 Danny Smith <dannysmith@users.sourceforge.net>
-*/
-
-#ifdef __MINGW32__
-#include "cephes_mconf.h"
-#else
-#include "mconf.h"
-#ifdef ANSIPROT
-extern float logf ( float );
-extern float frexpf ( float, int * );
-extern int signbitf ( float );
-#else
-float logf(), frexpf();
-int signbitf();
-#endif
-extern float NEGZEROF, INFINITYF, MAXNUMF, MAXLOGF, MINLOGF, LOGE2F;
-#endif /* __MINGW32__ */
-
-#ifndef _SET_ERRNO
-#define _SET_ERRNO(x)
-#endif
-
-float __powif( float x, int nn )
-{
-int n, e, sign, asign, lx;
-float w, y, s;
-
-/* See pow.c for these tests. */
-if( x == 0.0F )
- {
- if( nn == 0 )
- return( 1.0F );
- else if( nn < 0 )
- return( INFINITYF );
- else
- {
- if( nn & 1 )
- return( x );
- else
- return( 0.0 );
- }
- }
-
-if( nn == 0 )
- return( 1.0 );
-
-if( nn == -1 )
- return( 1.0/x );
-
-if( x < 0.0 )
- {
- asign = -1;
- x = -x;
- }
-else
- asign = 0;
-
-
-if( nn < 0 )
- {
- sign = -1;
- n = -nn;
- }
-else
- {
- sign = 1;
- n = nn;
- }
-
-/* Even power will be positive. */
-if( (n & 1) == 0 )
- asign = 0;
-
-/* Overflow detection */
-
-/* Calculate approximate logarithm of answer */
-s = frexpf( x, &lx );
-e = (lx - 1)*n;
-if( (e == 0) || (e > 64) || (e < -64) )
- {
- s = (s - 7.0710678118654752e-1) / (s + 7.0710678118654752e-1);
- s = (2.9142135623730950 * s - 0.5 + lx) * nn * LOGE2F;
- }
-else
- {
- s = LOGE2F * e;
- }
-
-if( s > MAXLOGF )
- {
- mtherr( "__powif", OVERFLOW );
- _SET_ERRNO(ERANGE);
- y = INFINITYF;
- goto done;
- }
-
-#if DENORMAL
-if( s < MINLOGF )
- {
- y = 0.0;
- goto done;
- }
-
-/* Handle tiny denormal answer, but with less accuracy
- * since roundoff error in 1.0/x will be amplified.
- * The precise demarcation should be the gradual underflow threshold.
- */
-if( (s < (-MAXLOGF+2.0)) && (sign < 0) )
- {
- x = 1.0/x;
- sign = -sign;
- }
-#else
-/* do not produce denormal answer */
-if( s < -MAXLOGF )
- return(0.0);
-#endif
-
-
-/* First bit of the power */
-if( n & 1 )
- y = x;
-
-else
- y = 1.0;
-
-w = x;
-n >>= 1;
-while( n )
- {
- w = w * w; /* arg to the 2-to-the-kth power */
- if( n & 1 ) /* if that bit is set, then include in product */
- y *= w;
- n >>= 1;
- }
-
-if( sign < 0 )
- y = 1.0/y;
-
-done:
-
-if( asign )
- {
- /* odd power of negative number */
- if( y == 0.0 )
- y = NEGZEROF;
- else
- y = -y;
- }
-return(y);
-}
diff --git a/winsup/mingw/mingwex/math/powil.c b/winsup/mingw/mingwex/math/powil.c
deleted file mode 100644
index ec7a2866b..000000000
--- a/winsup/mingw/mingwex/math/powil.c
+++ /dev/null
@@ -1,179 +0,0 @@
-/* __powil.c
- *
- * Real raised to integer power, long double precision
- *
- *
- *
- * SYNOPSIS:
- *
- * long double x, y, __powil();
- * int n;
- *
- * y = __powil( x, n );
- *
- *
- *
- * DESCRIPTION:
- *
- * Returns argument x raised to the nth power.
- * The routine efficiently decomposes n as a sum of powers of
- * two. The desired power is a product of two-to-the-kth
- * powers of x. Thus to compute the 32767 power of x requires
- * 28 multiplications instead of 32767 multiplications.
- *
- *
- *
- * ACCURACY:
- *
- *
- * Relative error:
- * arithmetic x domain n domain # trials peak rms
- * IEEE .001,1000 -1022,1023 50000 4.3e-17 7.8e-18
- * IEEE 1,2 -1022,1023 20000 3.9e-17 7.6e-18
- * IEEE .99,1.01 0,8700 10000 3.6e-16 7.2e-17
- *
- * Returns INFINITY on overflow, zero on underflow.
- *
- */
-
-/* __powil.c */
-
-/*
-Cephes Math Library Release 2.2: December, 1990
-Copyright 1984, 1990 by Stephen L. Moshier
-Direct inquiries to 30 Frost Street, Cambridge, MA 02140
-*/
-
-/*
-Modified for mingw
-2002-07-22 Danny Smith <dannysmith@users.sourceforge.net>
-*/
-
-#ifdef __MINGW32__
-#include "cephes_mconf.h"
-#else
-#include "mconf.h"
-extern long double MAXNUML, MAXLOGL, MINLOGL;
-extern long double LOGE2L;
-#ifdef ANSIPROT
-extern long double frexpl ( long double, int * );
-#else
-long double frexpl();
-#endif
-#endif /* __MINGW32__ */
-
-#ifndef _SET_ERRNO
-#define _SET_ERRNO(x)
-#endif
-
-long double __powil( x, nn )
-long double x;
-int nn;
-{
-long double w, y;
-long double s;
-int n, e, sign, asign, lx;
-
-if( x == 0.0L )
- {
- if( nn == 0 )
- return( 1.0L );
- else if( nn < 0 )
- return( INFINITYL );
- else
- return( 0.0L );
- }
-
-if( nn == 0 )
- return( 1.0L );
-
-
-if( x < 0.0L )
- {
- asign = -1;
- x = -x;
- }
-else
- asign = 0;
-
-
-if( nn < 0 )
- {
- sign = -1;
- n = -nn;
- }
-else
- {
- sign = 1;
- n = nn;
- }
-
-/* Overflow detection */
-
-/* Calculate approximate logarithm of answer */
-s = x;
-s = frexpl( s, &lx );
-e = (lx - 1)*n;
-if( (e == 0) || (e > 64) || (e < -64) )
- {
- s = (s - 7.0710678118654752e-1L) / (s + 7.0710678118654752e-1L);
- s = (2.9142135623730950L * s - 0.5L + lx) * nn * LOGE2L;
- }
-else
- {
- s = LOGE2L * e;
- }
-
-if( s > MAXLOGL )
- {
- mtherr( "__powil", OVERFLOW );
- _SET_ERRNO(ERANGE);
- y = INFINITYL;
- goto done;
- }
-
-if( s < MINLOGL )
- {
- mtherr( "__powil", UNDERFLOW );
- _SET_ERRNO(ERANGE);
- return(0.0L);
- }
-/* Handle tiny denormal answer, but with less accuracy
- * since roundoff error in 1.0/x will be amplified.
- * The precise demarcation should be the gradual underflow threshold.
- */
-if( s < (-MAXLOGL+2.0L) )
- {
- x = 1.0L/x;
- sign = -sign;
- }
-
-/* First bit of the power */
-if( n & 1 )
- y = x;
-
-else
- {
- y = 1.0L;
- asign = 0;
- }
-
-w = x;
-n >>= 1;
-while( n )
- {
- w = w * w; /* arg to the 2-to-the-kth power */
- if( n & 1 ) /* if that bit is set, then include in product */
- y *= w;
- n >>= 1;
- }
-
-
-done:
-
-if( asign )
- y = -y; /* odd power of negative number */
-if( sign < 0 )
- y = 1.0L/y;
-return(y);
-}
diff --git a/winsup/mingw/mingwex/math/powl.c b/winsup/mingw/mingwex/math/powl.c
deleted file mode 100644
index f85e55653..000000000
--- a/winsup/mingw/mingwex/math/powl.c
+++ /dev/null
@@ -1,804 +0,0 @@
-/* powl.c
- *
- * Power function, long double precision
- *
- *
- *
- * SYNOPSIS:
- *
- * long double x, y, z, powl();
- *
- * z = powl( x, y );
- *
- *
- *
- * DESCRIPTION:
- *
- * Computes x raised to the yth power. Analytically,
- *
- * x**y = exp( y log(x) ).
- *
- * Following Cody and Waite, this program uses a lookup table
- * of 2**-i/32 and pseudo extended precision arithmetic to
- * obtain several extra bits of accuracy in both the logarithm
- * and the exponential.
- *
- *
- *
- * ACCURACY:
- *
- * The relative error of pow(x,y) can be estimated
- * by y dl ln(2), where dl is the absolute error of
- * the internally computed base 2 logarithm. At the ends
- * of the approximation interval the logarithm equal 1/32
- * and its relative error is about 1 lsb = 1.1e-19. Hence
- * the predicted relative error in the result is 2.3e-21 y .
- *
- * Relative error:
- * arithmetic domain # trials peak rms
- *
- * IEEE +-1000 40000 2.8e-18 3.7e-19
- * .001 < x < 1000, with log(x) uniformly distributed.
- * -1000 < y < 1000, y uniformly distributed.
- *
- * IEEE 0,8700 60000 6.5e-18 1.0e-18
- * 0.99 < x < 1.01, 0 < y < 8700, uniformly distributed.
- *
- *
- * ERROR MESSAGES:
- *
- * message condition value returned
- * pow overflow x**y > MAXNUM INFINITY
- * pow underflow x**y < 1/MAXNUM 0.0
- * pow domain x<0 and y noninteger 0.0
- *
- */
-
-/*
-Cephes Math Library Release 2.7: May, 1998
-Copyright 1984, 1991, 1998 by Stephen L. Moshier
-*/
-
-/*
-Modified for mingw
-2002-07-22 Danny Smith <dannysmith@users.sourceforge.net>
-*/
-
-#ifdef __MINGW32__
-#include "cephes_mconf.h"
-#else
-#include "mconf.h"
-
-static char fname[] = {"powl"};
-#endif
-
-#ifndef _SET_ERRNO
-#define _SET_ERRNO(x)
-#endif
-
-
-/* Table size */
-#define NXT 32
-/* log2(Table size) */
-#define LNXT 5
-
-#ifdef UNK
-/* log(1+x) = x - .5x^2 + x^3 * P(z)/Q(z)
- * on the domain 2^(-1/32) - 1 <= x <= 2^(1/32) - 1
- */
-static long double P[] = {
- 8.3319510773868690346226E-4L,
- 4.9000050881978028599627E-1L,
- 1.7500123722550302671919E0L,
- 1.4000100839971580279335E0L,
-};
-static long double Q[] = {
-/* 1.0000000000000000000000E0L,*/
- 5.2500282295834889175431E0L,
- 8.4000598057587009834666E0L,
- 4.2000302519914740834728E0L,
-};
-/* A[i] = 2^(-i/32), rounded to IEEE long double precision.
- * If i is even, A[i] + B[i/2] gives additional accuracy.
- */
-static long double A[33] = {
- 1.0000000000000000000000E0L,
- 9.7857206208770013448287E-1L,
- 9.5760328069857364691013E-1L,
- 9.3708381705514995065011E-1L,
- 9.1700404320467123175367E-1L,
- 8.9735453750155359320742E-1L,
- 8.7812608018664974155474E-1L,
- 8.5930964906123895780165E-1L,
- 8.4089641525371454301892E-1L,
- 8.2287773907698242225554E-1L,
- 8.0524516597462715409607E-1L,
- 7.8799042255394324325455E-1L,
- 7.7110541270397041179298E-1L,
- 7.5458221379671136985669E-1L,
- 7.3841307296974965571198E-1L,
- 7.2259040348852331001267E-1L,
- 7.0710678118654752438189E-1L,
- 6.9195494098191597746178E-1L,
- 6.7712777346844636413344E-1L,
- 6.6261832157987064729696E-1L,
- 6.4841977732550483296079E-1L,
- 6.3452547859586661129850E-1L,
- 6.2092890603674202431705E-1L,
- 6.0762367999023443907803E-1L,
- 5.9460355750136053334378E-1L,
- 5.8186242938878875689693E-1L,
- 5.6939431737834582684856E-1L,
- 5.5719337129794626814472E-1L,
- 5.4525386633262882960438E-1L,
- 5.3357020033841180906486E-1L,
- 5.2213689121370692017331E-1L,
- 5.1094857432705833910408E-1L,
- 5.0000000000000000000000E-1L,
-};
-static long double B[17] = {
- 0.0000000000000000000000E0L,
- 2.6176170809902549338711E-20L,
--1.0126791927256478897086E-20L,
- 1.3438228172316276937655E-21L,
- 1.2207982955417546912101E-20L,
--6.3084814358060867200133E-21L,
- 1.3164426894366316434230E-20L,
--1.8527916071632873716786E-20L,
- 1.8950325588932570796551E-20L,
- 1.5564775779538780478155E-20L,
- 6.0859793637556860974380E-21L,
--2.0208749253662532228949E-20L,
- 1.4966292219224761844552E-20L,
- 3.3540909728056476875639E-21L,
--8.6987564101742849540743E-22L,
--1.2327176863327626135542E-20L,
- 0.0000000000000000000000E0L,
-};
-
-/* 2^x = 1 + x P(x),
- * on the interval -1/32 <= x <= 0
- */
-static long double R[] = {
- 1.5089970579127659901157E-5L,
- 1.5402715328927013076125E-4L,
- 1.3333556028915671091390E-3L,
- 9.6181291046036762031786E-3L,
- 5.5504108664798463044015E-2L,
- 2.4022650695910062854352E-1L,
- 6.9314718055994530931447E-1L,
-};
-
-#define douba(k) A[k]
-#define doubb(k) B[k]
-#define MEXP (NXT*16384.0L)
-/* The following if denormal numbers are supported, else -MEXP: */
-#ifdef DENORMAL
-#define MNEXP (-NXT*(16384.0L+64.0L))
-#else
-#define MNEXP (-NXT*16384.0L)
-#endif
-/* log2(e) - 1 */
-#define LOG2EA 0.44269504088896340735992L
-#endif
-
-
-#ifdef IBMPC
-static const unsigned short P[] = {
-0xb804,0xa8b7,0xc6f4,0xda6a,0x3ff4, XPD
-0x7de9,0xcf02,0x58c0,0xfae1,0x3ffd, XPD
-0x405a,0x3722,0x67c9,0xe000,0x3fff, XPD
-0xcd99,0x6b43,0x87ca,0xb333,0x3fff, XPD
-};
-static const unsigned short Q[] = {
-/* 0x0000,0x0000,0x0000,0x8000,0x3fff, */
-0x6307,0xa469,0x3b33,0xa800,0x4001, XPD
-0xfec2,0x62d7,0xa51c,0x8666,0x4002, XPD
-0xda32,0xd072,0xa5d7,0x8666,0x4001, XPD
-};
-static const unsigned short A[] = {
-0x0000,0x0000,0x0000,0x8000,0x3fff, XPD
-0x033a,0x722a,0xb2db,0xfa83,0x3ffe, XPD
-0xcc2c,0x2486,0x7d15,0xf525,0x3ffe, XPD
-0xf5cb,0xdcda,0xb99b,0xefe4,0x3ffe, XPD
-0x392f,0xdd24,0xc6e7,0xeac0,0x3ffe, XPD
-0x48a8,0x7c83,0x06e7,0xe5b9,0x3ffe, XPD
-0xe111,0x2a94,0xdeec,0xe0cc,0x3ffe, XPD
-0x3755,0xdaf2,0xb797,0xdbfb,0x3ffe, XPD
-0x6af4,0xd69d,0xfcca,0xd744,0x3ffe, XPD
-0xe45a,0xf12a,0x1d91,0xd2a8,0x3ffe, XPD
-0x80e4,0x1f84,0x8c15,0xce24,0x3ffe, XPD
-0x27a3,0x6e2f,0xbd86,0xc9b9,0x3ffe, XPD
-0xdadd,0x5506,0x2a11,0xc567,0x3ffe, XPD
-0x9456,0x6670,0x4cca,0xc12c,0x3ffe, XPD
-0x36bf,0x580c,0xa39f,0xbd08,0x3ffe, XPD
-0x9ee9,0x62fb,0xaf47,0xb8fb,0x3ffe, XPD
-0x6484,0xf9de,0xf333,0xb504,0x3ffe, XPD
-0x2590,0xd2ac,0xf581,0xb123,0x3ffe, XPD
-0x4ac6,0x42a1,0x3eea,0xad58,0x3ffe, XPD
-0x0ef8,0xea7c,0x5ab4,0xa9a1,0x3ffe, XPD
-0x38ea,0xb151,0xd6a9,0xa5fe,0x3ffe, XPD
-0x6819,0x0c49,0x4303,0xa270,0x3ffe, XPD
-0x11ae,0x91a1,0x3260,0x9ef5,0x3ffe, XPD
-0x5539,0xd54e,0x39b9,0x9b8d,0x3ffe, XPD
-0xa96f,0x8db8,0xf051,0x9837,0x3ffe, XPD
-0x0961,0xfef7,0xefa8,0x94f4,0x3ffe, XPD
-0xc336,0xab11,0xd373,0x91c3,0x3ffe, XPD
-0x53c0,0x45cd,0x398b,0x8ea4,0x3ffe, XPD
-0xd6e7,0xea8b,0xc1e3,0x8b95,0x3ffe, XPD
-0x8527,0x92da,0x0e80,0x8898,0x3ffe, XPD
-0x7b15,0xcc48,0xc367,0x85aa,0x3ffe, XPD
-0xa1d7,0xac2b,0x8698,0x82cd,0x3ffe, XPD
-0x0000,0x0000,0x0000,0x8000,0x3ffe, XPD
-};
-static const unsigned short B[] = {
-0x0000,0x0000,0x0000,0x0000,0x0000, XPD
-0x1f87,0xdb30,0x18f5,0xf73a,0x3fbd, XPD
-0xac15,0x3e46,0x2932,0xbf4a,0xbfbc, XPD
-0x7944,0xba66,0xa091,0xcb12,0x3fb9, XPD
-0xff78,0x40b4,0x2ee6,0xe69a,0x3fbc, XPD
-0xc895,0x5069,0xe383,0xee53,0xbfbb, XPD
-0x7cde,0x9376,0x4325,0xf8ab,0x3fbc, XPD
-0xa10c,0x25e0,0xc093,0xaefd,0xbfbd, XPD
-0x7d3e,0xea95,0x1366,0xb2fb,0x3fbd, XPD
-0x5d89,0xeb34,0x5191,0x9301,0x3fbd, XPD
-0x80d9,0xb883,0xfb10,0xe5eb,0x3fbb, XPD
-0x045d,0x288c,0xc1ec,0xbedd,0xbfbd, XPD
-0xeded,0x5c85,0x4630,0x8d5a,0x3fbd, XPD
-0x9d82,0xe5ac,0x8e0a,0xfd6d,0x3fba, XPD
-0x6dfd,0xeb58,0xaf14,0x8373,0xbfb9, XPD
-0xf938,0x7aac,0x91cf,0xe8da,0xbfbc, XPD
-0x0000,0x0000,0x0000,0x0000,0x0000, XPD
-};
-static const unsigned short R[] = {
-0xa69b,0x530e,0xee1d,0xfd2a,0x3fee, XPD
-0xc746,0x8e7e,0x5960,0xa182,0x3ff2, XPD
-0x63b6,0xadda,0xfd6a,0xaec3,0x3ff5, XPD
-0xc104,0xfd99,0x5b7c,0x9d95,0x3ff8, XPD
-0xe05e,0x249d,0x46b8,0xe358,0x3ffa, XPD
-0x5d1d,0x162c,0xeffc,0xf5fd,0x3ffc, XPD
-0x79aa,0xd1cf,0x17f7,0xb172,0x3ffe, XPD
-};
-
-/* 10 byte sizes versus 12 byte */
-#define douba(k) (*(long double *)(&A[(sizeof( long double )/2)*(k)]))
-#define doubb(k) (*(long double *)(&B[(sizeof( long double )/2)*(k)]))
-#define MEXP (NXT*16384.0L)
-#ifdef DENORMAL
-#define MNEXP (-NXT*(16384.0L+64.0L))
-#else
-#define MNEXP (-NXT*16384.0L)
-#endif
-static const
-union
-{
- unsigned short L[6];
- long double ld;
-} log2ea = {{0xc2ef,0x705f,0xeca5,0xe2a8,0x3ffd, XPD}};
-
-#define LOG2EA (log2ea.ld)
-/*
-#define LOG2EA 0.44269504088896340735992L
-*/
-#endif
-
-#ifdef MIEEE
-static long P[] = {
-0x3ff40000,0xda6ac6f4,0xa8b7b804,
-0x3ffd0000,0xfae158c0,0xcf027de9,
-0x3fff0000,0xe00067c9,0x3722405a,
-0x3fff0000,0xb33387ca,0x6b43cd99,
-};
-static long Q[] = {
-/* 0x3fff0000,0x80000000,0x00000000, */
-0x40010000,0xa8003b33,0xa4696307,
-0x40020000,0x8666a51c,0x62d7fec2,
-0x40010000,0x8666a5d7,0xd072da32,
-};
-static long A[] = {
-0x3fff0000,0x80000000,0x00000000,
-0x3ffe0000,0xfa83b2db,0x722a033a,
-0x3ffe0000,0xf5257d15,0x2486cc2c,
-0x3ffe0000,0xefe4b99b,0xdcdaf5cb,
-0x3ffe0000,0xeac0c6e7,0xdd24392f,
-0x3ffe0000,0xe5b906e7,0x7c8348a8,
-0x3ffe0000,0xe0ccdeec,0x2a94e111,
-0x3ffe0000,0xdbfbb797,0xdaf23755,
-0x3ffe0000,0xd744fcca,0xd69d6af4,
-0x3ffe0000,0xd2a81d91,0xf12ae45a,
-0x3ffe0000,0xce248c15,0x1f8480e4,
-0x3ffe0000,0xc9b9bd86,0x6e2f27a3,
-0x3ffe0000,0xc5672a11,0x5506dadd,
-0x3ffe0000,0xc12c4cca,0x66709456,
-0x3ffe0000,0xbd08a39f,0x580c36bf,
-0x3ffe0000,0xb8fbaf47,0x62fb9ee9,
-0x3ffe0000,0xb504f333,0xf9de6484,
-0x3ffe0000,0xb123f581,0xd2ac2590,
-0x3ffe0000,0xad583eea,0x42a14ac6,
-0x3ffe0000,0xa9a15ab4,0xea7c0ef8,
-0x3ffe0000,0xa5fed6a9,0xb15138ea,
-0x3ffe0000,0xa2704303,0x0c496819,
-0x3ffe0000,0x9ef53260,0x91a111ae,
-0x3ffe0000,0x9b8d39b9,0xd54e5539,
-0x3ffe0000,0x9837f051,0x8db8a96f,
-0x3ffe0000,0x94f4efa8,0xfef70961,
-0x3ffe0000,0x91c3d373,0xab11c336,
-0x3ffe0000,0x8ea4398b,0x45cd53c0,
-0x3ffe0000,0x8b95c1e3,0xea8bd6e7,
-0x3ffe0000,0x88980e80,0x92da8527,
-0x3ffe0000,0x85aac367,0xcc487b15,
-0x3ffe0000,0x82cd8698,0xac2ba1d7,
-0x3ffe0000,0x80000000,0x00000000,
-};
-static long B[51] = {
-0x00000000,0x00000000,0x00000000,
-0x3fbd0000,0xf73a18f5,0xdb301f87,
-0xbfbc0000,0xbf4a2932,0x3e46ac15,
-0x3fb90000,0xcb12a091,0xba667944,
-0x3fbc0000,0xe69a2ee6,0x40b4ff78,
-0xbfbb0000,0xee53e383,0x5069c895,
-0x3fbc0000,0xf8ab4325,0x93767cde,
-0xbfbd0000,0xaefdc093,0x25e0a10c,
-0x3fbd0000,0xb2fb1366,0xea957d3e,
-0x3fbd0000,0x93015191,0xeb345d89,
-0x3fbb0000,0xe5ebfb10,0xb88380d9,
-0xbfbd0000,0xbeddc1ec,0x288c045d,
-0x3fbd0000,0x8d5a4630,0x5c85eded,
-0x3fba0000,0xfd6d8e0a,0xe5ac9d82,
-0xbfb90000,0x8373af14,0xeb586dfd,
-0xbfbc0000,0xe8da91cf,0x7aacf938,
-0x00000000,0x00000000,0x00000000,
-};
-static long R[] = {
-0x3fee0000,0xfd2aee1d,0x530ea69b,
-0x3ff20000,0xa1825960,0x8e7ec746,
-0x3ff50000,0xaec3fd6a,0xadda63b6,
-0x3ff80000,0x9d955b7c,0xfd99c104,
-0x3ffa0000,0xe35846b8,0x249de05e,
-0x3ffc0000,0xf5fdeffc,0x162c5d1d,
-0x3ffe0000,0xb17217f7,0xd1cf79aa,
-};
-
-#define douba(k) (*(long double *)&A[3*(k)])
-#define doubb(k) (*(long double *)&B[3*(k)])
-#define MEXP (NXT*16384.0L)
-#ifdef DENORMAL
-#define MNEXP (-NXT*(16384.0L+64.0L))
-#else
-#define MNEXP (-NXT*16382.0L)
-#endif
-static long L[3] = {0x3ffd0000,0xe2a8eca5,0x705fc2ef};
-#define LOG2EA (*(long double *)(&L[0]))
-#endif
-
-
-#define F W
-#define Fa Wa
-#define Fb Wb
-#define G W
-#define Ga Wa
-#define Gb u
-#define H W
-#define Ha Wb
-#define Hb Wb
-
-#ifndef __MINGW32__
-extern long double MAXNUML;
-#endif
-
-static VOLATILE long double z;
-static long double w, W, Wa, Wb, ya, yb, u;
-
-#ifdef __MINGW32__
-static __inline__ long double reducl( long double );
-extern long double __powil ( long double, int );
-extern long double powl ( long double x, long double y);
-#else
-#ifdef ANSIPROT
-extern long double floorl ( long double );
-extern long double fabsl ( long double );
-extern long double frexpl ( long double, int * );
-extern long double ldexpl ( long double, int );
-extern long double polevll ( long double, void *, int );
-extern long double p1evll ( long double, void *, int );
-extern long double __powil ( long double, int );
-extern int isnanl ( long double );
-extern int isfinitel ( long double );
-static long double reducl( long double );
-extern int signbitl ( long double );
-#else
-long double floorl(), fabsl(), frexpl(), ldexpl();
-long double polevll(), p1evll(), __powil();
-static long double reducl();
-int isnanl(), isfinitel(), signbitl();
-#endif /* __MINGW32__ */
-
-#ifdef INFINITIES
-extern long double INFINITYL;
-#else
-#define INFINITYL MAXNUML
-#endif
-
-#ifdef NANS
-extern long double NANL;
-#endif
-#ifdef MINUSZERO
-extern long double NEGZEROL;
-#endif
-
-#endif /* __MINGW32__ */
-
-#ifdef __MINGW32__
-
-/* No error checking. We handle Infs and zeros ourselves. */
-static __inline__ long double
-__fast_ldexpl (long double x, int expn)
-{
- long double res;
- __asm__ ("fscale"
- : "=t" (res)
- : "0" (x), "u" ((long double) expn));
- return res;
-}
-
-#define ldexpl __fast_ldexpl
-
-#endif
-
-
-long double powl( x, y )
-long double x, y;
-{
-/* double F, Fa, Fb, G, Ga, Gb, H, Ha, Hb */
-int i, nflg, iyflg, yoddint;
-long e;
-
-if( y == 0.0L )
- return( 1.0L );
-
-#ifdef NANS
-if( isnanl(x) )
- {
- _SET_ERRNO (EDOM);
- return( x );
- }
-if( isnanl(y) )
- {
- _SET_ERRNO (EDOM);
- return( y );
- }
-#endif
-
-if( y == 1.0L )
- return( x );
-
-if( isinfl(y) && (x == -1.0L || x == 1.0L) )
- return( y );
-
-if( x == 1.0L )
- return( 1.0L );
-
-if( y >= MAXNUML )
- {
- _SET_ERRNO (ERANGE);
-#ifdef INFINITIES
- if( x > 1.0L )
- return( INFINITYL );
-#else
- if( x > 1.0L )
- return( MAXNUML );
-#endif
- if( x > 0.0L && x < 1.0L )
- return( 0.0L );
-#ifdef INFINITIES
- if( x < -1.0L )
- return( INFINITYL );
-#else
- if( x < -1.0L )
- return( MAXNUML );
-#endif
- if( x > -1.0L && x < 0.0L )
- return( 0.0L );
- }
-if( y <= -MAXNUML )
- {
- _SET_ERRNO (ERANGE);
- if( x > 1.0L )
- return( 0.0L );
-#ifdef INFINITIES
- if( x > 0.0L && x < 1.0L )
- return( INFINITYL );
-#else
- if( x > 0.0L && x < 1.0L )
- return( MAXNUML );
-#endif
- if( x < -1.0L )
- return( 0.0L );
-#ifdef INFINITIES
- if( x > -1.0L && x < 0.0L )
- return( INFINITYL );
-#else
- if( x > -1.0L && x < 0.0L )
- return( MAXNUML );
-#endif
- }
-if( x >= MAXNUML )
- {
-#if INFINITIES
- if( y > 0.0L )
- return( INFINITYL );
-#else
- if( y > 0.0L )
- return( MAXNUML );
-#endif
- return( 0.0L );
- }
-
-w = floorl(y);
-/* Set iyflg to 1 if y is an integer. */
-iyflg = 0;
-if( w == y )
- iyflg = 1;
-
-/* Test for odd integer y. */
-yoddint = 0;
-if( iyflg )
- {
- ya = fabsl(y);
- ya = floorl(0.5L * ya);
- yb = 0.5L * fabsl(w);
- if( ya != yb )
- yoddint = 1;
- }
-
-if( x <= -MAXNUML )
- {
- if( y > 0.0L )
- {
-#ifdef INFINITIES
- if( yoddint )
- return( -INFINITYL );
- return( INFINITYL );
-#else
- if( yoddint )
- return( -MAXNUML );
- return( MAXNUML );
-#endif
- }
- if( y < 0.0L )
- {
-#ifdef MINUSZERO
- if( yoddint )
- return( NEGZEROL );
-#endif
- return( 0.0 );
- }
- }
-
-
-nflg = 0; /* flag = 1 if x<0 raised to integer power */
-if( x <= 0.0L )
- {
- if( x == 0.0L )
- {
- if( y < 0.0 )
- {
-#ifdef MINUSZERO
- if( signbitl(x) && yoddint )
- return( -INFINITYL );
-#endif
-#ifdef INFINITIES
- return( INFINITYL );
-#else
- return( MAXNUML );
-#endif
- }
- if( y > 0.0 )
- {
-#ifdef MINUSZERO
- if( signbitl(x) && yoddint )
- return( NEGZEROL );
-#endif
- return( 0.0 );
- }
- if( y == 0.0L )
- return( 1.0L ); /* 0**0 */
- else
- return( 0.0L ); /* 0**y */
- }
- else
- {
- if( iyflg == 0 )
- { /* noninteger power of negative number */
- mtherr( fname, DOMAIN );
- _SET_ERRNO (EDOM);
-#ifdef NANS
- return(NANL);
-#else
- return(0.0L);
-#endif
- }
- nflg = 1;
- }
- }
-
-/* Integer power of an integer. */
-
-if( iyflg )
- {
- i = w;
- w = floorl(x);
- if( (w == x) && (fabsl(y) < 32768.0) )
- {
- w = __powil( x, (int) y );
- return( w );
- }
- }
-
-
-if( nflg )
- x = fabsl(x);
-
-/* separate significand from exponent */
-x = frexpl( x, &i );
-e = i;
-
-/* find significand in antilog table A[] */
-i = 1;
-if( x <= douba(17) )
- i = 17;
-if( x <= douba(i+8) )
- i += 8;
-if( x <= douba(i+4) )
- i += 4;
-if( x <= douba(i+2) )
- i += 2;
-if( x >= douba(1) )
- i = -1;
-i += 1;
-
-
-/* Find (x - A[i])/A[i]
- * in order to compute log(x/A[i]):
- *
- * log(x) = log( a x/a ) = log(a) + log(x/a)
- *
- * log(x/a) = log(1+v), v = x/a - 1 = (x-a)/a
- */
-x -= douba(i);
-x -= doubb(i/2);
-x /= douba(i);
-
-
-/* rational approximation for log(1+v):
- *
- * log(1+v) = v - v**2/2 + v**3 P(v) / Q(v)
- */
-z = x*x;
-w = x * ( z * polevll( x, P, 3 ) / p1evll( x, Q, 3 ) );
-w = w - ldexpl( z, -1 ); /* w - 0.5 * z */
-
-/* Convert to base 2 logarithm:
- * multiply by log2(e) = 1 + LOG2EA
- */
-z = LOG2EA * w;
-z += w;
-z += LOG2EA * x;
-z += x;
-
-/* Compute exponent term of the base 2 logarithm. */
-w = -i;
-w = ldexpl( w, -LNXT ); /* divide by NXT */
-w += e;
-/* Now base 2 log of x is w + z. */
-
-/* Multiply base 2 log by y, in extended precision. */
-
-/* separate y into large part ya
- * and small part yb less than 1/NXT
- */
-ya = reducl(y);
-yb = y - ya;
-
-/* (w+z)(ya+yb)
- * = w*ya + w*yb + z*y
- */
-F = z * y + w * yb;
-Fa = reducl(F);
-Fb = F - Fa;
-
-G = Fa + w * ya;
-Ga = reducl(G);
-Gb = G - Ga;
-
-H = Fb + Gb;
-Ha = reducl(H);
-w = ldexpl( Ga + Ha, LNXT );
-
-/* Test the power of 2 for overflow */
-if( w > MEXP )
- {
- _SET_ERRNO (ERANGE);
- mtherr( fname, OVERFLOW );
- return( MAXNUML );
- }
-
-if( w < MNEXP )
- {
- _SET_ERRNO (ERANGE);
- mtherr( fname, UNDERFLOW );
- return( 0.0L );
- }
-
-e = w;
-Hb = H - Ha;
-
-if( Hb > 0.0L )
- {
- e += 1;
- Hb -= (1.0L/NXT); /*0.0625L;*/
- }
-
-/* Now the product y * log2(x) = Hb + e/NXT.
- *
- * Compute base 2 exponential of Hb,
- * where -0.0625 <= Hb <= 0.
- */
-z = Hb * polevll( Hb, R, 6 ); /* z = 2**Hb - 1 */
-
-/* Express e/NXT as an integer plus a negative number of (1/NXT)ths.
- * Find lookup table entry for the fractional power of 2.
- */
-if( e < 0 )
- i = 0;
-else
- i = 1;
-i = e/NXT + i;
-e = NXT*i - e;
-w = douba( e );
-z = w * z; /* 2**-e * ( 1 + (2**Hb-1) ) */
-z = z + w;
-z = ldexpl( z, i ); /* multiply by integer power of 2 */
-
-if( nflg )
- {
-/* For negative x,
- * find out if the integer exponent
- * is odd or even.
- */
- w = ldexpl( y, -1 );
- w = floorl(w);
- w = ldexpl( w, 1 );
- if( w != y )
- z = -z; /* odd exponent */
- }
-
-return( z );
-}
-
-static __inline__ long double
-__convert_inf_to_maxnum(long double x)
-{
- if (isinf(x))
- return (x > 0.0L ? MAXNUML : -MAXNUML);
- else
- return x;
-}
-
-
-/* Find a multiple of 1/NXT that is within 1/NXT of x. */
-static __inline__ long double reducl(x)
-long double x;
-{
-long double t;
-
-/* If the call to ldexpl overflows, set it to MAXNUML.
- This avoids Inf - Inf = Nan result when calculating the 'small'
- part of a reduction. Instead, the small part becomes Inf,
- causing under/overflow when adding it to the 'large' part.
- There must be a cleaner way of doing this. */
-t = __convert_inf_to_maxnum (ldexpl( x, LNXT ));
-t = floorl( t );
-t = ldexpl( t, -LNXT );
-return(t);
-}
diff --git a/winsup/mingw/mingwex/math/remainder.S b/winsup/mingw/mingwex/math/remainder.S
deleted file mode 100644
index 01930d3ba..000000000
--- a/winsup/mingw/mingwex/math/remainder.S
+++ /dev/null
@@ -1,19 +0,0 @@
-/*
- * Written by J.T. Conklin <jtc@netbsd.org>.
- * Public domain.
- */
-
- .file "remainder.S"
- .text
- .align 4
-.globl _remainder
- .def _remainder; .scl 2; .type 32; .endef
-_remainder:
- fldl 12(%esp)
- fldl 4(%esp)
-1: fprem1
- fstsw %ax
- sahf
- jp 1b
- fstp %st(1)
- ret
diff --git a/winsup/mingw/mingwex/math/remainderf.S b/winsup/mingw/mingwex/math/remainderf.S
deleted file mode 100644
index 81e78415a..000000000
--- a/winsup/mingw/mingwex/math/remainderf.S
+++ /dev/null
@@ -1,19 +0,0 @@
-/*
- * Written by J.T. Conklin <jtc@netbsd.org>.
- * Public domain.
- */
-
- .file "remainderf.S"
- .text
- .align 4
-.globl _remainder
- .def _remainderf; .scl 2; .type 32; .endef
-_remainderf:
- flds 8(%esp)
- flds 4(%esp)
-1: fprem1
- fstsw %ax
- sahf
- jp 1b
- fstp %st(1)
- ret
diff --git a/winsup/mingw/mingwex/math/remainderl.S b/winsup/mingw/mingwex/math/remainderl.S
deleted file mode 100644
index b5ce3736d..000000000
--- a/winsup/mingw/mingwex/math/remainderl.S
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- * Written by J.T. Conklin <jtc@netbsd.org>.
- * Public domain.
- * Adapted for `long double' by Ulrich Drepper <drepper@cygnus.com>.
- * Removed header file dependency for use in libmingwex.a by
- * Danny Smith <dannysmith@users.sourceforge.net>
- */
-
- .file "remainderl.S"
- .text
- .align 4
-.globl _remainderl
- .def _remainderl; .scl 2; .type 32; .endef
-_remainderl:
- fldt 16(%esp)
- fldt 4(%esp)
-1: fprem1
- fstsw %ax
- sahf
- jp 1b
- fstp %st(1)
- ret
diff --git a/winsup/mingw/mingwex/math/remquo.S b/winsup/mingw/mingwex/math/remquo.S
deleted file mode 100644
index 987c37ca5..000000000
--- a/winsup/mingw/mingwex/math/remquo.S
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Written by Ulrich Drepper <drepper@cygnus.com>.
- * Based on e_remainder by J.T. Conklin <jtc@netbsd.org>.
- * Removed header file dependency for use in libmingwex.a by
- * Danny Smith <dannysmith@users.sourceforge.ne
- * Public domain.
- */
-
- .file "remquo.S"
- .text
- .align 4;
-.globl _remquo;
-_remquo:
- fldl 4 +8(%esp)
- fldl 4(%esp)
-1: fprem1
- fstsw %ax
- sahf
- jp 1b
- fstp %st(1)
- movl %eax, %ecx
- shrl $8, %eax
- shrl $12, %ecx
- andl $4, %ecx
- andl $3, %eax
- orl %eax, %ecx
- movl $0xef2960, %eax
- shrl %cl, %eax
- andl $3, %eax
- movl 4 +8 +8(%esp), %ecx
- movl 4 +4(%esp), %edx
- xorl 4 +8 +4(%esp), %edx
- testl $0x80000000, %edx
- jz 1f
- negl %eax
-1: movl %eax, (%ecx)
-
- ret
diff --git a/winsup/mingw/mingwex/math/remquof.S b/winsup/mingw/mingwex/math/remquof.S
deleted file mode 100644
index af540ef5b..000000000
--- a/winsup/mingw/mingwex/math/remquof.S
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Written by Ulrich Drepper <drepper@cygnus.com>.
- * Based on e_remainder by J.T. Conklin <jtc@netbsd.org>.
- * Removed header file dependency for use in libmingwex.a by
- * Danny Smith <dannysmith@users.sourceforge.ne
- * Public domain.
- */
-
- .file "remquo.S"
- .text
- .align 4;
-.globl _remquof;
-_remquof:
- flds 4 +4(%esp)
- flds 4(%esp)
-1: fprem1
- fstsw %ax
- sahf
- jp 1b
- fstp %st(1)
- movl %eax, %ecx
- shrl $8, %eax
- shrl $12, %ecx
- andl $4, %ecx
- andl $3, %eax
- orl %eax, %ecx
- movl $0xef2960, %eax
- shrl %cl, %eax
- andl $3, %eax
- movl 4 +4 +4(%esp), %ecx
- movl 4(%esp), %edx
- xorl 4 +4(%esp), %edx
- testl $0x80000000, %edx
- jz 1f
- negl %eax
-1: movl %eax, (%ecx)
-
- ret
diff --git a/winsup/mingw/mingwex/math/remquol.S b/winsup/mingw/mingwex/math/remquol.S
deleted file mode 100644
index e6f1b5420..000000000
--- a/winsup/mingw/mingwex/math/remquol.S
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Written by Ulrich Drepper <drepper@cygnus.com>.
- * Based on e_remainder by J.T. Conklin <jtc@netbsd.org>.
- * Removed header file dependency for use in libmingwex.a by
- * Danny Smith <dannysmith@users.sourceforge.net>
- * Public domain.
- */
- .text
- .align 4;
-.globl _remquol;
- _remquol:
- fldt 4 +12(%esp)
- fldt 4(%esp)
-1: fprem1
- fstsw %ax
- sahf
- jp 1b
- fstp %st(1)
- movl %eax, %ecx
- shrl $8, %eax
- shrl $12, %ecx
- andl $4, %ecx
- andl $3, %eax
- orl %eax, %ecx
- movl $0xef2960, %eax
- shrl %cl, %eax
- andl $3, %eax
- movl 4 +12 +12(%esp), %ecx
- movl 4 +8(%esp), %edx
- xorl 4 +12 +8(%esp), %edx
- testl $0x8000, %edx
- jz 1f
- negl %eax
-1: movl %eax, (%ecx)
-
- ret
diff --git a/winsup/mingw/mingwex/math/rint.c b/winsup/mingw/mingwex/math/rint.c
deleted file mode 100644
index 3198f4b26..000000000
--- a/winsup/mingw/mingwex/math/rint.c
+++ /dev/null
@@ -1,6 +0,0 @@
-#include <math.h>
-double rint (double x){
- double retval;
- __asm__ ("frndint;" : "=t" (retval) : "0" (x));
- return retval;
-}
diff --git a/winsup/mingw/mingwex/math/rintf.c b/winsup/mingw/mingwex/math/rintf.c
deleted file mode 100644
index 0b05e8f89..000000000
--- a/winsup/mingw/mingwex/math/rintf.c
+++ /dev/null
@@ -1,7 +0,0 @@
-#include <math.h>
-
-float rintf (float x){
- float retval;
- __asm__ ("frndint;": "=t" (retval) : "0" (x));
- return retval;
-}
diff --git a/winsup/mingw/mingwex/math/rintl.c b/winsup/mingw/mingwex/math/rintl.c
deleted file mode 100644
index ffc9d1107..000000000
--- a/winsup/mingw/mingwex/math/rintl.c
+++ /dev/null
@@ -1,7 +0,0 @@
-#include <math.h>
-
-long double rintl (long double x){
- long double retval;
- __asm__ ("frndint;": "=t" (retval) : "0" (x));
- return retval;
-}
diff --git a/winsup/mingw/mingwex/math/round.c b/winsup/mingw/mingwex/math/round.c
deleted file mode 100644
index d2d4cab5e..000000000
--- a/winsup/mingw/mingwex/math/round.c
+++ /dev/null
@@ -1,8 +0,0 @@
-#include <math.h>
-
-double
-round (double x)
-{
- /* Add +/- 0.5 then then round towards zero. */
- return trunc ( x + (x >= 0.0 ? 0.5 : -0.5));
-}
diff --git a/winsup/mingw/mingwex/math/roundf.c b/winsup/mingw/mingwex/math/roundf.c
deleted file mode 100644
index b50d950a7..000000000
--- a/winsup/mingw/mingwex/math/roundf.c
+++ /dev/null
@@ -1,8 +0,0 @@
-#include <math.h>
-
-float
-roundf (float x)
-{
- /* Add +/- 0.5 then then round towards zero. */
- return truncf ( x + (x >= 0.0F ? 0.5F : -0.5F));
-}
diff --git a/winsup/mingw/mingwex/math/roundl.c b/winsup/mingw/mingwex/math/roundl.c
deleted file mode 100644
index 9c5f0aca1..000000000
--- a/winsup/mingw/mingwex/math/roundl.c
+++ /dev/null
@@ -1,8 +0,0 @@
-#include <math.h>
-
-long double
-roundl (long double x)
-{
- /* Add +/- 0.5 then then round towards zero. */
- return truncl ( x + (x >= 0.0L ? 0.5L : -0.5L));
-}
diff --git a/winsup/mingw/mingwex/math/s_erf.c b/winsup/mingw/mingwex/math/s_erf.c
deleted file mode 100644
index 3cba24dd2..000000000
--- a/winsup/mingw/mingwex/math/s_erf.c
+++ /dev/null
@@ -1,345 +0,0 @@
-
-/* @(#)s_erf.c 1.3 95/01/18 */
-/*
- * ====================================================
- * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
- *
- * Developed at SunSoft, a Sun Microsystems, Inc. business.
- * Permission to use, copy, modify, and distribute this
- * software is freely granted, provided that this notice
- * is preserved.
- * ====================================================
- */
-
-/* double erf(double x)
- * double erfc(double x)
- * x
- * 2 |\
- * erf(x) = --------- | exp(-t*t)dt
- * sqrt(pi) \|
- * 0
- *
- * erfc(x) = 1-erf(x)
- * Note that
- * erf(-x) = -erf(x)
- * erfc(-x) = 2 - erfc(x)
- *
- * Method:
- * 1. For |x| in [0, 0.84375]
- * erf(x) = x + x*R(x^2)
- * erfc(x) = 1 - erf(x) if x in [-.84375,0.25]
- * = 0.5 + ((0.5-x)-x*R) if x in [0.25,0.84375]
- * where R = P/Q where P is an odd poly of degree 8 and
- * Q is an odd poly of degree 10.
- * -57.90
- * | R - (erf(x)-x)/x | <= 2
- *
- *
- * Remark. The formula is derived by noting
- * erf(x) = (2/sqrt(pi))*(x - x^3/3 + x^5/10 - x^7/42 + ....)
- * and that
- * 2/sqrt(pi) = 1.128379167095512573896158903121545171688
- * is close to one. The interval is chosen because the fix
- * point of erf(x) is near 0.6174 (i.e., erf(x)=x when x is
- * near 0.6174), and by some experiment, 0.84375 is chosen to
- * guarantee the error is less than one ulp for erf.
- *
- * 2. For |x| in [0.84375,1.25], let s = |x| - 1, and
- * c = 0.84506291151 rounded to single (24 bits)
- * erf(x) = sign(x) * (c + P1(s)/Q1(s))
- * erfc(x) = (1-c) - P1(s)/Q1(s) if x > 0
- * 1+(c+P1(s)/Q1(s)) if x < 0
- * |P1/Q1 - (erf(|x|)-c)| <= 2**-59.06
- * Remark: here we use the taylor series expansion at x=1.
- * erf(1+s) = erf(1) + s*Poly(s)
- * = 0.845.. + P1(s)/Q1(s)
- * That is, we use rational approximation to approximate
- * erf(1+s) - (c = (single)0.84506291151)
- * Note that |P1/Q1|< 0.078 for x in [0.84375,1.25]
- * where
- * P1(s) = degree 6 poly in s
- * Q1(s) = degree 6 poly in s
- *
- * 3. For x in [1.25,1/0.35(~2.857143)],
- * erfc(x) = (1/x)*exp(-x*x-0.5625+R1/S1)
- * erf(x) = 1 - erfc(x)
- * where
- * R1(z) = degree 7 poly in z, (z=1/x^2)
- * S1(z) = degree 8 poly in z
- *
- * 4. For x in [1/0.35,28]
- * erfc(x) = (1/x)*exp(-x*x-0.5625+R2/S2) if x > 0
- * = 2.0 - (1/x)*exp(-x*x-0.5625+R2/S2) if -6<x<0
- * = 2.0 - tiny (if x <= -6)
- * erf(x) = sign(x)*(1.0 - erfc(x)) if x < 6, else
- * erf(x) = sign(x)*(1.0 - tiny)
- * where
- * R2(z) = degree 6 poly in z, (z=1/x^2)
- * S2(z) = degree 7 poly in z
- *
- * Note1:
- * To compute exp(-x*x-0.5625+R/S), let s be a single
- * precision number and s := x; then
- * -x*x = -s*s + (s-x)*(s+x)
- * exp(-x*x-0.5626+R/S) =
- * exp(-s*s-0.5625)*exp((s-x)*(s+x)+R/S);
- * Note2:
- * Here 4 and 5 make use of the asymptotic series
- * exp(-x*x)
- * erfc(x) ~ ---------- * ( 1 + Poly(1/x^2) )
- * x*sqrt(pi)
- * We use rational approximation to approximate
- * g(s)=f(1/x^2) = log(erfc(x)*x) - x*x + 0.5625
- * Here is the error bound for R1/S1 and R2/S2
- * |R1/S1 - f(x)| < 2**(-62.57)
- * |R2/S2 - f(x)| < 2**(-61.52)
- *
- * 5. For inf > x >= 28
- * erf(x) = sign(x) *(1 - tiny) (raise inexact)
- * erfc(x) = tiny*tiny (raise underflow) if x > 0
- * = 2 - tiny if x<0
- *
- * 7. Special case:
- * erf(0) = 0, erf(inf) = 1, erf(-inf) = -1,
- * erfc(0) = 1, erfc(inf) = 0, erfc(-inf) = 2,
- * erfc/erf(NaN) is NaN
- */
-
-
-/* #include "fdlibm.h" */
-
-#include <math.h>
-#include <stdint.h>
-#include <errno.h>
-
-#define __ieee754_exp exp
-
-typedef union
-{
- double value;
- struct
- {
- uint32_t lsw;
- uint32_t msw;
- } parts;
-} ieee_double_shape_type;
-
-
-static inline int __get_hi_word(const double x)
-{
- ieee_double_shape_type u;
- u.value = x;
- return u.parts.msw;
-}
-
-static inline void __trunc_lo_word(double *x)
-{
- ieee_double_shape_type u;
- u.value = *x;
- u.parts.lsw = 0;
- *x = u.value;
-}
-
-
-#ifdef __STDC__
-static const double
-#else
-static double
-#endif
-tiny = 1e-300,
-half= 5.00000000000000000000e-01, /* 0x3FE00000, 0x00000000 */
-one = 1.00000000000000000000e+00, /* 0x3FF00000, 0x00000000 */
-two = 2.00000000000000000000e+00, /* 0x40000000, 0x00000000 */
- /* c = (float)0.84506291151 */
-erx = 8.45062911510467529297e-01, /* 0x3FEB0AC1, 0x60000000 */
-/*
- * Coefficients for approximation to erf on [0,0.84375]
- */
-efx = 1.28379167095512586316e-01, /* 0x3FC06EBA, 0x8214DB69 */
-efx8= 1.02703333676410069053e+00, /* 0x3FF06EBA, 0x8214DB69 */
-pp0 = 1.28379167095512558561e-01, /* 0x3FC06EBA, 0x8214DB68 */
-pp1 = -3.25042107247001499370e-01, /* 0xBFD4CD7D, 0x691CB913 */
-pp2 = -2.84817495755985104766e-02, /* 0xBF9D2A51, 0xDBD7194F */
-pp3 = -5.77027029648944159157e-03, /* 0xBF77A291, 0x236668E4 */
-pp4 = -2.37630166566501626084e-05, /* 0xBEF8EAD6, 0x120016AC */
-qq1 = 3.97917223959155352819e-01, /* 0x3FD97779, 0xCDDADC09 */
-qq2 = 6.50222499887672944485e-02, /* 0x3FB0A54C, 0x5536CEBA */
-qq3 = 5.08130628187576562776e-03, /* 0x3F74D022, 0xC4D36B0F */
-qq4 = 1.32494738004321644526e-04, /* 0x3F215DC9, 0x221C1A10 */
-qq5 = -3.96022827877536812320e-06, /* 0xBED09C43, 0x42A26120 */
-/*
- * Coefficients for approximation to erf in [0.84375,1.25]
- */
-pa0 = -2.36211856075265944077e-03, /* 0xBF6359B8, 0xBEF77538 */
-pa1 = 4.14856118683748331666e-01, /* 0x3FDA8D00, 0xAD92B34D */
-pa2 = -3.72207876035701323847e-01, /* 0xBFD7D240, 0xFBB8C3F1 */
-pa3 = 3.18346619901161753674e-01, /* 0x3FD45FCA, 0x805120E4 */
-pa4 = -1.10894694282396677476e-01, /* 0xBFBC6398, 0x3D3E28EC */
-pa5 = 3.54783043256182359371e-02, /* 0x3FA22A36, 0x599795EB */
-pa6 = -2.16637559486879084300e-03, /* 0xBF61BF38, 0x0A96073F */
-qa1 = 1.06420880400844228286e-01, /* 0x3FBB3E66, 0x18EEE323 */
-qa2 = 5.40397917702171048937e-01, /* 0x3FE14AF0, 0x92EB6F33 */
-qa3 = 7.18286544141962662868e-02, /* 0x3FB2635C, 0xD99FE9A7 */
-qa4 = 1.26171219808761642112e-01, /* 0x3FC02660, 0xE763351F */
-qa5 = 1.36370839120290507362e-02, /* 0x3F8BEDC2, 0x6B51DD1C */
-qa6 = 1.19844998467991074170e-02, /* 0x3F888B54, 0x5735151D */
-/*
- * Coefficients for approximation to erfc in [1.25,1/0.35]
- */
-ra0 = -9.86494403484714822705e-03, /* 0xBF843412, 0x600D6435 */
-ra1 = -6.93858572707181764372e-01, /* 0xBFE63416, 0xE4BA7360 */
-ra2 = -1.05586262253232909814e+01, /* 0xC0251E04, 0x41B0E726 */
-ra3 = -6.23753324503260060396e+01, /* 0xC04F300A, 0xE4CBA38D */
-ra4 = -1.62396669462573470355e+02, /* 0xC0644CB1, 0x84282266 */
-ra5 = -1.84605092906711035994e+02, /* 0xC067135C, 0xEBCCABB2 */
-ra6 = -8.12874355063065934246e+01, /* 0xC0545265, 0x57E4D2F2 */
-ra7 = -9.81432934416914548592e+00, /* 0xC023A0EF, 0xC69AC25C */
-sa1 = 1.96512716674392571292e+01, /* 0x4033A6B9, 0xBD707687 */
-sa2 = 1.37657754143519042600e+02, /* 0x4061350C, 0x526AE721 */
-sa3 = 4.34565877475229228821e+02, /* 0x407B290D, 0xD58A1A71 */
-sa4 = 6.45387271733267880336e+02, /* 0x40842B19, 0x21EC2868 */
-sa5 = 4.29008140027567833386e+02, /* 0x407AD021, 0x57700314 */
-sa6 = 1.08635005541779435134e+02, /* 0x405B28A3, 0xEE48AE2C */
-sa7 = 6.57024977031928170135e+00, /* 0x401A47EF, 0x8E484A93 */
-sa8 = -6.04244152148580987438e-02, /* 0xBFAEEFF2, 0xEE749A62 */
-/*
- * Coefficients for approximation to erfc in [1/.35,28]
- */
-rb0 = -9.86494292470009928597e-03, /* 0xBF843412, 0x39E86F4A */
-rb1 = -7.99283237680523006574e-01, /* 0xBFE993BA, 0x70C285DE */
-rb2 = -1.77579549177547519889e+01, /* 0xC031C209, 0x555F995A */
-rb3 = -1.60636384855821916062e+02, /* 0xC064145D, 0x43C5ED98 */
-rb4 = -6.37566443368389627722e+02, /* 0xC083EC88, 0x1375F228 */
-rb5 = -1.02509513161107724954e+03, /* 0xC0900461, 0x6A2E5992 */
-rb6 = -4.83519191608651397019e+02, /* 0xC07E384E, 0x9BDC383F */
-sb1 = 3.03380607434824582924e+01, /* 0x403E568B, 0x261D5190 */
-sb2 = 3.25792512996573918826e+02, /* 0x40745CAE, 0x221B9F0A */
-sb3 = 1.53672958608443695994e+03, /* 0x409802EB, 0x189D5118 */
-sb4 = 3.19985821950859553908e+03, /* 0x40A8FFB7, 0x688C246A */
-sb5 = 2.55305040643316442583e+03, /* 0x40A3F219, 0xCEDF3BE6 */
-sb6 = 4.74528541206955367215e+02, /* 0x407DA874, 0xE79FE763 */
-sb7 = -2.24409524465858183362e+01; /* 0xC03670E2, 0x42712D62 */
-
-#ifdef __STDC__
- double erf(double x)
-#else
- double erf(x)
- double x;
-#endif
-{
- int hx,ix,i;
- double R,S,P,Q,s,y,z,r;
- hx = __get_hi_word(x);
- ix = hx&0x7fffffff;
- if(ix>=0x7ff00000) { /* erf(nan)=nan */
- i = ((unsigned)hx>>31)<<1;
- return (double)(1-i)+one/x; /* erf(+-inf)=+-1 */
- }
-
- if(ix < 0x3feb0000) { /* |x|<0.84375 */
- if(ix < 0x3e300000) { /* |x|<2**-28 */
- if (ix < 0x00800000)
- return 0.125*(8.0*x+efx8*x); /*avoid underflow */
- return x + efx*x;
- }
- z = x*x;
- r = pp0+z*(pp1+z*(pp2+z*(pp3+z*pp4)));
- s = one+z*(qq1+z*(qq2+z*(qq3+z*(qq4+z*qq5))));
- y = r/s;
- return x + x*y;
- }
- if(ix < 0x3ff40000) { /* 0.84375 <= |x| < 1.25 */
- s = fabs(x)-one;
- P = pa0+s*(pa1+s*(pa2+s*(pa3+s*(pa4+s*(pa5+s*pa6)))));
- Q = one+s*(qa1+s*(qa2+s*(qa3+s*(qa4+s*(qa5+s*qa6)))));
- if(hx>=0) return erx + P/Q; else return -erx - P/Q;
- }
- if (ix >= 0x40180000) { /* inf>|x|>=6 */
- if(hx>=0) return one-tiny; else return tiny-one;
- }
- x = fabs(x);
- s = one/(x*x);
- if(ix< 0x4006DB6E) { /* |x| < 1/0.35 */
- R=ra0+s*(ra1+s*(ra2+s*(ra3+s*(ra4+s*(
- ra5+s*(ra6+s*ra7))))));
- S=one+s*(sa1+s*(sa2+s*(sa3+s*(sa4+s*(
- sa5+s*(sa6+s*(sa7+s*sa8)))))));
- } else { /* |x| >= 1/0.35 */
- R=rb0+s*(rb1+s*(rb2+s*(rb3+s*(rb4+s*(
- rb5+s*rb6)))));
- S=one+s*(sb1+s*(sb2+s*(sb3+s*(sb4+s*(
- sb5+s*(sb6+s*sb7))))));
- }
- z = x;
- __trunc_lo_word(&z);
- r = __ieee754_exp(-z*z-0.5625)*__ieee754_exp((z-x)*(z+x)+R/S);
- if(hx>=0) return one-r/x; else return r/x-one;
-}
-
-#ifdef __STDC__
- double erfc(double x)
-#else
- double erfc(x)
- double x;
-#endif
-{
- int hx,ix;
- double R,S,P,Q,s,y,z,r;
- hx = __get_hi_word(x);
- ix = hx&0x7fffffff;
- if(ix>=0x7ff00000) { /* erfc(nan)=nan */
- /* erfc(+-inf)=0,2 */
- return (double)(((unsigned)hx>>31)<<1)+one/x;
- }
-
- if(ix < 0x3feb0000) { /* |x|<0.84375 */
- if(ix < 0x3c700000) /* |x|<2**-56 */
- return one-x;
- z = x*x;
- r = pp0+z*(pp1+z*(pp2+z*(pp3+z*pp4)));
- s = one+z*(qq1+z*(qq2+z*(qq3+z*(qq4+z*qq5))));
- y = r/s;
- if(hx < 0x3fd00000) { /* x<1/4 */
- return one-(x+x*y);
- } else {
- r = x*y;
- r += (x-half);
- return half - r ;
- }
- }
- if(ix < 0x3ff40000) { /* 0.84375 <= |x| < 1.25 */
- s = fabs(x)-one;
- P = pa0+s*(pa1+s*(pa2+s*(pa3+s*(pa4+s*(pa5+s*pa6)))));
- Q = one+s*(qa1+s*(qa2+s*(qa3+s*(qa4+s*(qa5+s*qa6)))));
- if(hx>=0) {
- z = one-erx; return z - P/Q;
- } else {
- z = erx+P/Q; return one+z;
- }
- }
- if (ix < 0x403c0000) { /* |x|<28 */
- x = fabs(x);
- s = one/(x*x);
- if(ix< 0x4006DB6D) { /* |x| < 1/.35 ~ 2.857143*/
- R=ra0+s*(ra1+s*(ra2+s*(ra3+s*(ra4+s*(
- ra5+s*(ra6+s*ra7))))));
- S=one+s*(sa1+s*(sa2+s*(sa3+s*(sa4+s*(
- sa5+s*(sa6+s*(sa7+s*sa8)))))));
- } else { /* |x| >= 1/.35 ~ 2.857143 */
- if(hx<0&&ix>=0x40180000) return two-tiny;/* x < -6 */
- R=rb0+s*(rb1+s*(rb2+s*(rb3+s*(rb4+s*(
- rb5+s*rb6)))));
- S=one+s*(sb1+s*(sb2+s*(sb3+s*(sb4+s*(
- sb5+s*(sb6+s*sb7))))));
- }
- z = x;
- __trunc_lo_word(&z);
- r = __ieee754_exp(-z*z-0.5625)*
- __ieee754_exp((z-x)*(z+x)+R/S);
- if(hx>0) return r/x; else return two-r/x;
- } else {
- /* set range error */
- errno = ERANGE;
- if(hx>0) return tiny*tiny; else return two-tiny;
- }
-}
diff --git a/winsup/mingw/mingwex/math/scalbn.S b/winsup/mingw/mingwex/math/scalbn.S
deleted file mode 100644
index 76e2d396e..000000000
--- a/winsup/mingw/mingwex/math/scalbn.S
+++ /dev/null
@@ -1,19 +0,0 @@
-/*
- * Written by J.T. Conklin <jtc@netbsd.org>.
- * Public domain.
- */
-
- .file "scalbn.S"
- .text
- .align 4
-.globl _scalbn
- .def _scalbn; .scl 2; .type 32; .endef
-_scalbn:
- fildl 12(%esp)
- fldl 4(%esp)
- fscale
- fstp %st(1)
- ret
-
-.globl _scalbln
- .set _scalbln,_scalbn
diff --git a/winsup/mingw/mingwex/math/scalbnf.S b/winsup/mingw/mingwex/math/scalbnf.S
deleted file mode 100644
index 1fe42a3de..000000000
--- a/winsup/mingw/mingwex/math/scalbnf.S
+++ /dev/null
@@ -1,19 +0,0 @@
-/*
- * Written by J.T. Conklin <jtc@netbsd.org>.
- * Public domain.
- */
-
- .file "scalbnf.S"
- .text
- .align 4
-.globl _scalbnf
- .def _scalbnf; .scl 2; .type 32; .endef
-_scalbnf:
- fildl 8(%esp)
- flds 4(%esp)
- fscale
- fstp %st(1)
- ret
-
-.globl _scalblnf
- .set _scalblnf,_scalbnf
diff --git a/winsup/mingw/mingwex/math/scalbnl.S b/winsup/mingw/mingwex/math/scalbnl.S
deleted file mode 100644
index 77eaff7be..000000000
--- a/winsup/mingw/mingwex/math/scalbnl.S
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Written by J.T. Conklin <jtc@netbsd.org>.
- * Changes for long double by Ulrich Drepper <drepper@cygnus.com>
- * Public domain.
- */
-
- .file "scalbnl.S"
- .text
- .align 4
-.globl _scalbnl
- .def _scalbnl; .scl 2; .type 32; .endef
-_scalbnl:
- fildl 16(%esp)
- fldt 4(%esp)
- fscale
- fstp %st(1)
- ret
-
-.globl _scalblnl
- .set _scalblnl,_scalbnl
diff --git a/winsup/mingw/mingwex/math/sf_erf.c b/winsup/mingw/mingwex/math/sf_erf.c
deleted file mode 100644
index 1fca80e94..000000000
--- a/winsup/mingw/mingwex/math/sf_erf.c
+++ /dev/null
@@ -1,264 +0,0 @@
-/* sf_erf.c -- float version of s_erf.c.
- * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com.
- */
-
-/*
- * ====================================================
- * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
- *
- * Developed at SunPro, a Sun Microsystems, Inc. business.
- * Permission to use, copy, modify, and distribute this
- * software is freely granted, provided that this notice
- * is preserved.
- * ====================================================
- */
-
-/*
-#include "fdlibm.h"
-*/
-#include <math.h>
-#include <stdint.h>
-#include <errno.h>
-
-#define __ieee754_expf expf
-
-
-
-typedef union
-{
- float value;
- uint32_t word;
-} ieee_float_shape_type;
-
-/* Get a 32 bit int from a float. */
-
-static inline int
-__get_float_word(float d)
-{
- ieee_float_shape_type u;
- u.value = d;
- return u.word;
-}
-
-/* Set a float from a 32 bit int. */
-
-#define SET_FLOAT_WORD(d,i) \
-do { \
- ieee_float_shape_type sf_u; \
- sf_u.word = (i); \
- (d) = sf_u.value; \
-} while (0)
-
-static inline void __trunc_float_word(float * x)
-{
- ieee_float_shape_type u;
- u.value = * x;
- u.word &= 0xfffff000;
-}
-
-#ifdef __v810__
-#define const
-#endif
-
-#ifdef __STDC__
-static const float
-#else
-static float
-#endif
-tiny = 1e-30,
-half= 5.0000000000e-01, /* 0x3F000000 */
-one = 1.0000000000e+00, /* 0x3F800000 */
-two = 2.0000000000e+00, /* 0x40000000 */
- /* c = (subfloat)0.84506291151 */
-erx = 8.4506291151e-01, /* 0x3f58560b */
-/*
- * Coefficients for approximation to erf on [0,0.84375]
- */
-efx = 1.2837916613e-01, /* 0x3e0375d4 */
-efx8= 1.0270333290e+00, /* 0x3f8375d4 */
-pp0 = 1.2837916613e-01, /* 0x3e0375d4 */
-pp1 = -3.2504209876e-01, /* 0xbea66beb */
-pp2 = -2.8481749818e-02, /* 0xbce9528f */
-pp3 = -5.7702702470e-03, /* 0xbbbd1489 */
-pp4 = -2.3763017452e-05, /* 0xb7c756b1 */
-qq1 = 3.9791721106e-01, /* 0x3ecbbbce */
-qq2 = 6.5022252500e-02, /* 0x3d852a63 */
-qq3 = 5.0813062117e-03, /* 0x3ba68116 */
-qq4 = 1.3249473704e-04, /* 0x390aee49 */
-qq5 = -3.9602282413e-06, /* 0xb684e21a */
-/*
- * Coefficients for approximation to erf in [0.84375,1.25]
- */
-pa0 = -2.3621185683e-03, /* 0xbb1acdc6 */
-pa1 = 4.1485610604e-01, /* 0x3ed46805 */
-pa2 = -3.7220788002e-01, /* 0xbebe9208 */
-pa3 = 3.1834661961e-01, /* 0x3ea2fe54 */
-pa4 = -1.1089469492e-01, /* 0xbde31cc2 */
-pa5 = 3.5478305072e-02, /* 0x3d1151b3 */
-pa6 = -2.1663755178e-03, /* 0xbb0df9c0 */
-qa1 = 1.0642088205e-01, /* 0x3dd9f331 */
-qa2 = 5.4039794207e-01, /* 0x3f0a5785 */
-qa3 = 7.1828655899e-02, /* 0x3d931ae7 */
-qa4 = 1.2617121637e-01, /* 0x3e013307 */
-qa5 = 1.3637083583e-02, /* 0x3c5f6e13 */
-qa6 = 1.1984500103e-02, /* 0x3c445aa3 */
-/*
- * Coefficients for approximation to erfc in [1.25,1/0.35]
- */
-ra0 = -9.8649440333e-03, /* 0xbc21a093 */
-ra1 = -6.9385856390e-01, /* 0xbf31a0b7 */
-ra2 = -1.0558626175e+01, /* 0xc128f022 */
-ra3 = -6.2375331879e+01, /* 0xc2798057 */
-ra4 = -1.6239666748e+02, /* 0xc322658c */
-ra5 = -1.8460508728e+02, /* 0xc3389ae7 */
-ra6 = -8.1287437439e+01, /* 0xc2a2932b */
-ra7 = -9.8143291473e+00, /* 0xc11d077e */
-sa1 = 1.9651271820e+01, /* 0x419d35ce */
-sa2 = 1.3765776062e+02, /* 0x4309a863 */
-sa3 = 4.3456588745e+02, /* 0x43d9486f */
-sa4 = 6.4538726807e+02, /* 0x442158c9 */
-sa5 = 4.2900814819e+02, /* 0x43d6810b */
-sa6 = 1.0863500214e+02, /* 0x42d9451f */
-sa7 = 6.5702495575e+00, /* 0x40d23f7c */
-sa8 = -6.0424413532e-02, /* 0xbd777f97 */
-/*
- * Coefficients for approximation to erfc in [1/.35,28]
- */
-rb0 = -9.8649431020e-03, /* 0xbc21a092 */
-rb1 = -7.9928326607e-01, /* 0xbf4c9dd4 */
-rb2 = -1.7757955551e+01, /* 0xc18e104b */
-rb3 = -1.6063638306e+02, /* 0xc320a2ea */
-rb4 = -6.3756646729e+02, /* 0xc41f6441 */
-rb5 = -1.0250950928e+03, /* 0xc480230b */
-rb6 = -4.8351919556e+02, /* 0xc3f1c275 */
-sb1 = 3.0338060379e+01, /* 0x41f2b459 */
-sb2 = 3.2579251099e+02, /* 0x43a2e571 */
-sb3 = 1.5367296143e+03, /* 0x44c01759 */
-sb4 = 3.1998581543e+03, /* 0x4547fdbb */
-sb5 = 2.5530502930e+03, /* 0x451f90ce */
-sb6 = 4.7452853394e+02, /* 0x43ed43a7 */
-sb7 = -2.2440952301e+01; /* 0xc1b38712 */
-
-#ifdef __STDC__
- float erff(float x)
-#else
- float erff(x)
- float x;
-#endif
-{
- int32_t hx,ix,i;
- float R,S,P,Q,s,y,z,r;
- hx = __get_float_word(x);
- ix = hx&0x7fffffff;
- if(!(ix<0x7f800000L)) { /* erf(nan)=nan */
- i = ((uint32_t)hx>>31)<<1;
- return (float)(1-i)+one/x; /* erf(+-inf)=+-1 */
- }
-
- if(ix < 0x3f580000) { /* |x|<0.84375 */
- if(ix < 0x31800000) { /* |x|<2**-28 */
- if (ix < 0x04000000)
- /*avoid underflow */
- return (float)0.125*((float)8.0*x+efx8*x);
- return x + efx*x;
- }
- z = x*x;
- r = pp0+z*(pp1+z*(pp2+z*(pp3+z*pp4)));
- s = one+z*(qq1+z*(qq2+z*(qq3+z*(qq4+z*qq5))));
- y = r/s;
- return x + x*y;
- }
- if(ix < 0x3fa00000) { /* 0.84375 <= |x| < 1.25 */
- s = fabsf(x)-one;
- P = pa0+s*(pa1+s*(pa2+s*(pa3+s*(pa4+s*(pa5+s*pa6)))));
- Q = one+s*(qa1+s*(qa2+s*(qa3+s*(qa4+s*(qa5+s*qa6)))));
- if(hx>=0) return erx + P/Q; else return -erx - P/Q;
- }
- if (ix >= 0x40c00000) { /* inf>|x|>=6 */
- if(hx>=0) return one-tiny; else return tiny-one;
- }
- x = fabsf(x);
- s = one/(x*x);
- if(ix< 0x4036DB6E) { /* |x| < 1/0.35 */
- R=ra0+s*(ra1+s*(ra2+s*(ra3+s*(ra4+s*(
- ra5+s*(ra6+s*ra7))))));
- S=one+s*(sa1+s*(sa2+s*(sa3+s*(sa4+s*(
- sa5+s*(sa6+s*(sa7+s*sa8)))))));
- } else { /* |x| >= 1/0.35 */
- R=rb0+s*(rb1+s*(rb2+s*(rb3+s*(rb4+s*(
- rb5+s*rb6)))));
- S=one+s*(sb1+s*(sb2+s*(sb3+s*(sb4+s*(
- sb5+s*(sb6+s*sb7))))));
- }
- __trunc_float_word (&z);
- r = __ieee754_expf(-z*z-(float)0.5625)*__ieee754_expf((z-x)*(z+x)+R/S);
- if(hx>=0) return one-r/x; else return r/x-one;
-}
-
-#ifdef __STDC__
- float erfcf(float x)
-#else
- float erfcf(x)
- float x;
-#endif
-{
- int32_t hx,ix;
- float R,S,P,Q,s,y,z,r;
- hx = __get_float_word(x);
- ix = hx&0x7fffffff;
- if(!(ix<0x7f800000L)) { /* erfc(nan)=nan */
- /* erfc(+-inf)=0,2 */
- return (float)(((uint32_t)hx>>31)<<1)+one/x;
- }
-
- if(ix < 0x3f580000) { /* |x|<0.84375 */
- if(ix < 0x23800000) /* |x|<2**-56 */
- return one-x;
- z = x*x;
- r = pp0+z*(pp1+z*(pp2+z*(pp3+z*pp4)));
- s = one+z*(qq1+z*(qq2+z*(qq3+z*(qq4+z*qq5))));
- y = r/s;
- if(hx < 0x3e800000) { /* x<1/4 */
- return one-(x+x*y);
- } else {
- r = x*y;
- r += (x-half);
- return half - r ;
- }
- }
- if(ix < 0x3fa00000) { /* 0.84375 <= |x| < 1.25 */
- s = fabsf(x)-one;
- P = pa0+s*(pa1+s*(pa2+s*(pa3+s*(pa4+s*(pa5+s*pa6)))));
- Q = one+s*(qa1+s*(qa2+s*(qa3+s*(qa4+s*(qa5+s*qa6)))));
- if(hx>=0) {
- z = one-erx; return z - P/Q;
- } else {
- z = erx+P/Q; return one+z;
- }
- }
-
- if (ix < 0x41e00000) { /* |x|<28 */
- x = fabsf(x);
- s = one/(x*x);
- if(ix< 0x4036DB6D) { /* |x| < 1/.35 ~ 2.857143*/
- R=ra0+s*(ra1+s*(ra2+s*(ra3+s*(ra4+s*(
- ra5+s*(ra6+s*ra7))))));
- S=one+s*(sa1+s*(sa2+s*(sa3+s*(sa4+s*(
- sa5+s*(sa6+s*(sa7+s*sa8)))))));
- } else { /* |x| >= 1/.35 ~ 2.857143 */
- if(hx<0&&ix>=0x40c00000) return two-tiny;/* x < -6 */
- R=rb0+s*(rb1+s*(rb2+s*(rb3+s*(rb4+s*(
- rb5+s*rb6)))));
- S=one+s*(sb1+s*(sb2+s*(sb3+s*(sb4+s*(
- sb5+s*(sb6+s*sb7))))));
- }
- __trunc_float_word (&z);
- r = __ieee754_expf(-z*z-(float)0.5625)*
- __ieee754_expf((z-x)*(z+x)+R/S);
- if(hx>0) return r/x; else return two-r/x;
- } else {
- /* set range error */
- errno = ERANGE;
- if(hx>0) return tiny*tiny; else return two-tiny;
- }
-}
diff --git a/winsup/mingw/mingwex/math/signbit.c b/winsup/mingw/mingwex/math/signbit.c
deleted file mode 100644
index 997ddf86b..000000000
--- a/winsup/mingw/mingwex/math/signbit.c
+++ /dev/null
@@ -1,13 +0,0 @@
-#define __FP_SIGNBIT 0x0200
-
-int __signbit (double x) {
- unsigned short sw;
- __asm__ ("fxam; fstsw %%ax;"
- : "=a" (sw)
- : "t" (x) );
- return (sw & __FP_SIGNBIT) != 0;
-}
-
-#undef signbit
-int __attribute__ ((alias ("__signbit"))) signbit (double);
-
diff --git a/winsup/mingw/mingwex/math/signbitf.c b/winsup/mingw/mingwex/math/signbitf.c
deleted file mode 100644
index 1c96b9f80..000000000
--- a/winsup/mingw/mingwex/math/signbitf.c
+++ /dev/null
@@ -1,10 +0,0 @@
-#define __FP_SIGNBIT 0x0200
-
-int __signbitf (float x) {
- unsigned short sw;
- __asm__ ("fxam; fstsw %%ax;"
- : "=a" (sw)
- : "t" (x) );
- return (sw & __FP_SIGNBIT) != 0;
-}
-int __attribute__ ((alias ("__signbitf"))) signbitf (float);
diff --git a/winsup/mingw/mingwex/math/signbitl.c b/winsup/mingw/mingwex/math/signbitl.c
deleted file mode 100644
index 8b7bca5b3..000000000
--- a/winsup/mingw/mingwex/math/signbitl.c
+++ /dev/null
@@ -1,11 +0,0 @@
-#define __FP_SIGNBIT 0x0200
-
-int __signbitl (long double x) {
- unsigned short sw;
- __asm__ ("fxam; fstsw %%ax;"
- : "=a" (sw)
- : "t" (x) );
- return (sw & __FP_SIGNBIT) != 0;
-}
-
-int __attribute__ ((alias ("__signbitl"))) signbitl (long double);
diff --git a/winsup/mingw/mingwex/math/sinf.S b/winsup/mingw/mingwex/math/sinf.S
deleted file mode 100644
index 23e986d11..000000000
--- a/winsup/mingw/mingwex/math/sinf.S
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * Written by J.T. Conklin <jtc@netbsd.org>.
- * Public domain.
- *
- * Adapted for `long double' by Ulrich Drepper <drepper@cygnus.com>.
- *
- * Removed header file dependency for use in libmingwex.a by
- * Danny Smith <dannysmith@users.sourceforge.net>
- */
-
- .file "sinf.S"
- .text
- .align 4
-.globl _sinf
- .def _sinf; .scl 2; .type 32; .endef
-_sinf:
- flds 4(%esp)
- fsin
- fnstsw %ax
- testl $0x400,%eax
- jnz 1f
- ret
-1: fldpi
- fadd %st(0)
- fxch %st(1)
-2: fprem1
- fnstsw %ax
- testl $0x400,%eax
- jnz 2b
- fstp %st(1)
- fsin
- ret
diff --git a/winsup/mingw/mingwex/math/sinhf.c b/winsup/mingw/mingwex/math/sinhf.c
deleted file mode 100644
index 3d6bcff41..000000000
--- a/winsup/mingw/mingwex/math/sinhf.c
+++ /dev/null
@@ -1,3 +0,0 @@
-#include <math.h>
-float sinhf (float x)
- {return (float) sinh (x);}
diff --git a/winsup/mingw/mingwex/math/sinhl.c b/winsup/mingw/mingwex/math/sinhl.c
deleted file mode 100644
index ca6a370b9..000000000
--- a/winsup/mingw/mingwex/math/sinhl.c
+++ /dev/null
@@ -1,172 +0,0 @@
-/* sinhl.c
- *
- * Hyperbolic sine, long double precision
- *
- *
- *
- * SYNOPSIS:
- *
- * long double x, y, sinhl();
- *
- * y = sinhl( x );
- *
- *
- *
- * DESCRIPTION:
- *
- * Returns hyperbolic sine of argument in the range MINLOGL to
- * MAXLOGL.
- *
- * The range is partitioned into two segments. If |x| <= 1, a
- * rational function of the form x + x**3 P(x)/Q(x) is employed.
- * Otherwise the calculation is sinh(x) = ( exp(x) - exp(-x) )/2.
- *
- *
- *
- * ACCURACY:
- *
- * Relative error:
- * arithmetic domain # trials peak rms
- * IEEE -2,2 10000 1.5e-19 3.9e-20
- * IEEE +-10000 30000 1.1e-19 2.8e-20
- *
- */
-
-/*
-Cephes Math Library Release 2.7: January, 1998
-Copyright 1984, 1991, 1998 by Stephen L. Moshier
-*/
-
-/*
-Modified for mingw
-2002-07-22 Danny Smith <dannysmith@users.sourceforge.net>
-*/
-
-#ifdef __MINGW32__
-#include "cephes_mconf.h"
-#else
-#include "mconf.h"
-#endif
-
-#ifndef _SET_ERRNO
-#define _SET_ERRNO(x)
-#endif
-
-#ifdef UNK
-static long double P[] = {
- 1.7550769032975377032681E-6L,
- 4.1680702175874268714539E-4L,
- 3.0993532520425419002409E-2L,
- 9.9999999999999999998002E-1L,
-};
-static long double Q[] = {
- 1.7453965448620151484660E-8L,
--5.9116673682651952419571E-6L,
- 1.0599252315677389339530E-3L,
--1.1403880487744749056675E-1L,
- 6.0000000000000000000200E0L,
-};
-#endif
-
-#ifdef IBMPC
-static const unsigned short P[] = {
-0xec6a,0xd942,0xfbb3,0xeb8f,0x3feb, XPD
-0x365e,0xb30a,0xe437,0xda86,0x3ff3, XPD
-0x8890,0x01f6,0x2612,0xfde6,0x3ff9, XPD
-0x0000,0x0000,0x0000,0x8000,0x3fff, XPD
-};
-static const unsigned short Q[] = {
-0x4edd,0x4c21,0xad09,0x95ed,0x3fe5, XPD
-0x4376,0x9b70,0xd605,0xc65c,0xbfed, XPD
-0xc8ad,0x5d21,0x3069,0x8aed,0x3ff5, XPD
-0x9c32,0x6374,0x2d4b,0xe98d,0xbffb, XPD
-0x0000,0x0000,0x0000,0xc000,0x4001, XPD
-};
-#endif
-
-#ifdef MIEEE
-static long P[] = {
-0x3feb0000,0xeb8ffbb3,0xd942ec6a,
-0x3ff30000,0xda86e437,0xb30a365e,
-0x3ff90000,0xfde62612,0x01f68890,
-0x3fff0000,0x80000000,0x00000000,
-};
-static long Q[] = {
-0x3fe50000,0x95edad09,0x4c214edd,
-0xbfed0000,0xc65cd605,0x9b704376,
-0x3ff50000,0x8aed3069,0x5d21c8ad,
-0xbffb0000,0xe98d2d4b,0x63749c32,
-0x40010000,0xc0000000,0x00000000,
-};
-#endif
-
-#ifndef __MINGW32__
-extern long double MAXNUML, MAXLOGL, MINLOGL, LOGE2L;
-#ifdef ANSIPROT
-extern long double fabsl ( long double );
-extern long double expl ( long double );
-extern long double polevll ( long double, void *, int );
-extern long double p1evll ( long double, void *, int );
-#else
-long double fabsl(), expl(), polevll(), p1evll();
-#endif
-#ifdef INFINITIES
-extern long double INFINITYL;
-#endif
-#ifdef NANS
-extern long double NANL;
-#endif
-#endif /* __MINGW32__ */
-
-long double sinhl(x)
-long double x;
-{
-long double a;
-
-#ifdef MINUSZERO
-if( x == 0.0 )
- return(x);
-#endif
-#ifdef NANS
-if (isnanl(x))
- {
- _SET_ERRNO(EDOM);
- }
-#endif
-a = fabsl(x);
-if( (x > (MAXLOGL + LOGE2L)) || (x > -(MINLOGL-LOGE2L) ) )
- {
- mtherr( "sinhl", DOMAIN );
- _SET_ERRNO(ERANGE);
-#ifdef INFINITIES
- if( x > 0.0L )
- return( INFINITYL );
- else
- return( -INFINITYL );
-#else
- if( x > 0.0L )
- return( MAXNUML );
- else
- return( -MAXNUML );
-#endif
- }
-if( a > 1.0L )
- {
- if( a >= (MAXLOGL - LOGE2L) )
- {
- a = expl(0.5L*a);
- a = (0.5L * a) * a;
- if( x < 0.0L )
- a = -a;
- return(a);
- }
- a = expl(a);
- a = 0.5L*a - (0.5L/a);
- if( x < 0.0L )
- a = -a;
- return(a);
- }
-
-a *= a;
-return( x + x * a * (polevll(a,P,3)/polevll(a,Q,4)) );
-}
diff --git a/winsup/mingw/mingwex/math/sinl.S b/winsup/mingw/mingwex/math/sinl.S
deleted file mode 100644
index 16b2d9e50..000000000
--- a/winsup/mingw/mingwex/math/sinl.S
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * Written by J.T. Conklin <jtc@netbsd.org>.
- * Public domain.
- *
- * Adapted for `long double' by Ulrich Drepper <drepper@cygnus.com>.
- *
- * Removed header file dependency for use in libmingwex.a by
- * Danny Smith <dannysmith@users.sourceforge.net>
- */
-
- .file "sinl.S"
- .text
- .align 4
-.globl _sinl
- .def _sinl; .scl 2; .type 32; .endef
-_sinl:
- fldt 4(%esp)
- fsin
- fnstsw %ax
- testl $0x400,%eax
- jnz 1f
- ret
-1: fldpi
- fadd %st(0)
- fxch %st(1)
-2: fprem1
- fnstsw %ax
- testl $0x400,%eax
- jnz 2b
- fstp %st(1)
- fsin
- ret
diff --git a/winsup/mingw/mingwex/math/sqrtf.c b/winsup/mingw/mingwex/math/sqrtf.c
deleted file mode 100644
index b1029cad8..000000000
--- a/winsup/mingw/mingwex/math/sqrtf.c
+++ /dev/null
@@ -1,20 +0,0 @@
-#include <math.h>
-#include <errno.h>
-
-extern float __QNANF;
-
-float
-sqrtf (float x)
-{
- if (x < 0.0F )
- {
- errno = EDOM;
- return __QNANF;
- }
- else
- {
- float res;
- asm ("fsqrt" : "=t" (res) : "0" (x));
- return res;
- }
-}
diff --git a/winsup/mingw/mingwex/math/sqrtl.c b/winsup/mingw/mingwex/math/sqrtl.c
deleted file mode 100644
index dba68d878..000000000
--- a/winsup/mingw/mingwex/math/sqrtl.c
+++ /dev/null
@@ -1,20 +0,0 @@
-#include <math.h>
-#include <errno.h>
-
-extern long double __QNANL;
-
-long double
-sqrtl (long double x)
-{
- if (x < 0.0L )
- {
- errno = EDOM;
- return __QNANL;
- }
- else
- {
- long double res;
- asm ("fsqrt" : "=t" (res) : "0" (x));
- return res;
- }
-}
diff --git a/winsup/mingw/mingwex/math/tanf.S b/winsup/mingw/mingwex/math/tanf.S
deleted file mode 100644
index 540fc6836..000000000
--- a/winsup/mingw/mingwex/math/tanf.S
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * Written by J.T. Conklin <jtc@netbsd.org>.
- * Public domain.
- *
- * Removed header file dependency for use in libmingwex.a by
- * Danny Smith <dannysmith@users.sourceforge.net>
- */
- .file "tanf.S"
- .text
- .align 4
-.globl _tanf
- .def _tanf; .scl 2; .type 32; .endef
-_tanf:
- flds 4(%esp)
- fptan
- fnstsw %ax
- testl $0x400,%eax
- jnz 1f
- fstp %st(0)
- ret
-1: fldpi
- fadd %st(0)
- fxch %st(1)
-2: fprem1
- fstsw %ax
- testl $0x400,%eax
- jnz 2b
- fstp %st(1)
- fptan
- fstp %st(0)
- ret
diff --git a/winsup/mingw/mingwex/math/tanhf.c b/winsup/mingw/mingwex/math/tanhf.c
deleted file mode 100644
index b7c56f05c..000000000
--- a/winsup/mingw/mingwex/math/tanhf.c
+++ /dev/null
@@ -1,3 +0,0 @@
-#include <math.h>
-float tanhf (float x)
- {return (float) tanh (x);}
diff --git a/winsup/mingw/mingwex/math/tanhl.c b/winsup/mingw/mingwex/math/tanhl.c
deleted file mode 100644
index d5d86d0ae..000000000
--- a/winsup/mingw/mingwex/math/tanhl.c
+++ /dev/null
@@ -1,151 +0,0 @@
-/* tanhl.c
- *
- * Hyperbolic tangent, long double precision
- *
- *
- *
- * SYNOPSIS:
- *
- * long double x, y, tanhl();
- *
- * y = tanhl( x );
- *
- *
- *
- * DESCRIPTION:
- *
- * Returns hyperbolic tangent of argument in the range MINLOGL to
- * MAXLOGL.
- *
- * A rational function is used for |x| < 0.625. The form
- * x + x**3 P(x)/Q(x) of Cody _& Waite is employed.
- * Otherwise,
- * tanh(x) = sinh(x)/cosh(x) = 1 - 2/(exp(2x) + 1).
- *
- *
- *
- * ACCURACY:
- *
- * Relative error:
- * arithmetic domain # trials peak rms
- * IEEE -2,2 30000 1.3e-19 2.4e-20
- *
- */
-
-/*
-Cephes Math Library Release 2.7: May, 1998
-Copyright 1984, 1987, 1989, 1998 by Stephen L. Moshier
-*/
-
-/*
-Modified for mingw
-2002-07-22 Danny Smith <dannysmith@users.sourceforge.net>
-*/
-
-#ifdef __MINGW32__
-#include "cephes_mconf.h"
-#else
-#include "mconf.h"
-#endif
-
-#ifndef _SET_ERRNO
-#define _SET_ERRNO(x)
-#endif
-
-#ifdef UNK
-static long double P[] = {
--6.8473739392677100872869E-5L,
--9.5658283111794641589011E-1L,
--8.4053568599672284488465E1L,
--1.3080425704712825945553E3L,
-};
-static long double Q[] = {
-/* 1.0000000000000000000000E0L,*/
- 9.6259501838840336946872E1L,
- 1.8218117903645559060232E3L,
- 3.9241277114138477845780E3L,
-};
-#endif
-
-#ifdef IBMPC
-static unsigned short P[] = {
-0xd2a4,0x1b0c,0x8f15,0x8f99,0xbff1, XPD
-0x5959,0x9111,0x9cc7,0xf4e2,0xbffe, XPD
-0xb576,0xef5e,0x6d57,0xa81b,0xc005, XPD
-0xe3be,0xbfbd,0x5cbc,0xa381,0xc009, XPD
-};
-static unsigned short Q[] = {
-/*0x0000,0x0000,0x0000,0x8000,0x3fff,*/
-0x687f,0xce24,0xdd6c,0xc084,0x4005, XPD
-0x3793,0xc95f,0xfa2f,0xe3b9,0x4009, XPD
-0xd5a2,0x1f9c,0x0b1b,0xf542,0x400a, XPD
-};
-#endif
-
-#ifdef MIEEE
-static long P[] = {
-0xbff10000,0x8f998f15,0x1b0cd2a4,
-0xbffe0000,0xf4e29cc7,0x91115959,
-0xc0050000,0xa81b6d57,0xef5eb576,
-0xc0090000,0xa3815cbc,0xbfbde3be,
-};
-static long Q[] = {
-/*0x3fff0000,0x80000000,0x00000000,*/
-0x40050000,0xc084dd6c,0xce24687f,
-0x40090000,0xe3b9fa2f,0xc95f3793,
-0x400a0000,0xf5420b1b,0x1f9cd5a2,
-};
-#endif
-
-#ifndef __MINGW32__
-extern long double MAXLOGL;
-#ifdef ANSIPROT
-extern long double fabsl ( long double );
-extern long double expl ( long double );
-extern long double polevll ( long double, void *, int );
-extern long double p1evll ( long double, void *, int );
-#else
-long double fabsl(), expl(), polevll(), p1evll();
-#endif
-#endif /* __MINGW32__ */
-
-long double tanhl(x)
-long double x;
-{
-long double s, z;
-
-#ifdef MINUSZERO
-if( x == 0.0L )
- return(x);
-#endif
-if (isnanl(x))
- {
- _SET_ERRNO (EDOM);
- return x;
- }
-
-z = fabsl(x);
-if( z > 0.5L * MAXLOGL )
- {
- _SET_ERRNO (ERANGE);
- if( x > 0 )
- return( 1.0L );
- else
- return( -1.0L );
- }
-if( z >= 0.625L )
- {
- s = expl(2.0*z);
- z = 1.0L - 2.0/(s + 1.0L);
- if( x < 0 )
- z = -z;
- }
-else
- {
- s = x * x;
- z = polevll( s, P, 3 )/p1evll(s, Q, 3);
- z = x * s * z;
- z = x + z;
- }
-return( z );
-}
diff --git a/winsup/mingw/mingwex/math/tanl.S b/winsup/mingw/mingwex/math/tanl.S
deleted file mode 100644
index fd30019a8..000000000
--- a/winsup/mingw/mingwex/math/tanl.S
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * Written by J.T. Conklin <jtc@netbsd.org>.
- * Public domain.
- *
- * Adapted for `long double' by Ulrich Drepper <drepper@cygnus.com>.
- *
- * Removed header file dependency for use in libmingwex.a by
- * Danny Smith <dannysmith@users.sourceforge.net>
- */
- .file "tanl.S"
- .text
- .align 4
-.globl _tanl
- .def _tanl; .scl 2; .type 32; .endef
-_tanl:
- fldt 4(%esp)
- fptan
- fnstsw %ax
- testl $0x400,%eax
- jnz 1f
- fstp %st(0)
- ret
-1: fldpi
- fadd %st(0)
- fxch %st(1)
-2: fprem1
- fstsw %ax
- testl $0x400,%eax
- jnz 2b
- fstp %st(1)
- fptan
- fstp %st(0)
- ret
diff --git a/winsup/mingw/mingwex/math/tgamma.c b/winsup/mingw/mingwex/math/tgamma.c
deleted file mode 100644
index d04a5f4a5..000000000
--- a/winsup/mingw/mingwex/math/tgamma.c
+++ /dev/null
@@ -1,385 +0,0 @@
-/* gamma.c
- *
- * Gamma function
- *
- *
- *
- * SYNOPSIS:
- *
- * double x, y, __tgamma_r();
- * int* sgngam;
- * y = __tgamma_r( x, sgngam );
- *
- * double x, y, tgamma();
- * y = tgamma( x)
- *
- *
- *
- * DESCRIPTION:
- *
- * Returns gamma function of the argument. The result is
- * correctly signed. In the reentrant version the sign (+1 or -1)
- * is returned in the variable referenced by sgngam.
- *
- * Arguments |x| <= 34 are reduced by recurrence and the function
- * approximated by a rational function of degree 6/7 in the
- * interval (2,3). Large arguments are handled by Stirling's
- * formula. Large negative arguments are made positive using
- * a reflection formula.
- *
- *
- * ACCURACY:
- *
- * Relative error:
- * arithmetic domain # trials peak rms
- * DEC -34, 34 10000 1.3e-16 2.5e-17
- * IEEE -170,-33 20000 2.3e-15 3.3e-16
- * IEEE -33, 33 20000 9.4e-16 2.2e-16
- * IEEE 33, 171.6 20000 2.3e-15 3.2e-16
- *
- * Error for arguments outside the test range will be larger
- * owing to error amplification by the exponential function.
- *
- */
-
-/*
-Cephes Math Library Release 2.8: June, 2000
-Copyright 1984, 1987, 1989, 1992, 2000 by Stephen L. Moshier
-*/
-
-
-/*
- * 26-11-2002 Modified for mingw.
- * Danny Smith <dannysmith@users.sourceforge.net>
- */
-
-
-#ifndef __MINGW32__
-#include "mconf.h"
-#else
-#include "cephes_mconf.h"
-#endif
-
-#ifdef UNK
-static const double P[] = {
- 1.60119522476751861407E-4,
- 1.19135147006586384913E-3,
- 1.04213797561761569935E-2,
- 4.76367800457137231464E-2,
- 2.07448227648435975150E-1,
- 4.94214826801497100753E-1,
- 9.99999999999999996796E-1
-};
-static const double Q[] = {
--2.31581873324120129819E-5,
- 5.39605580493303397842E-4,
--4.45641913851797240494E-3,
- 1.18139785222060435552E-2,
- 3.58236398605498653373E-2,
--2.34591795718243348568E-1,
- 7.14304917030273074085E-2,
- 1.00000000000000000320E0
-};
-#define MAXGAM 171.624376956302725
-static const double LOGPI = 1.14472988584940017414;
-#endif
-
-#ifdef DEC
-static const unsigned short P[] = {
-0035047,0162701,0146301,0005234,
-0035634,0023437,0032065,0176530,
-0036452,0137157,0047330,0122574,
-0037103,0017310,0143041,0017232,
-0037524,0066516,0162563,0164605,
-0037775,0004671,0146237,0014222,
-0040200,0000000,0000000,0000000
-};
-static const unsigned short Q[] = {
-0134302,0041724,0020006,0116565,
-0035415,0072121,0044251,0025634,
-0136222,0003447,0035205,0121114,
-0036501,0107552,0154335,0104271,
-0037022,0135717,0014776,0171471,
-0137560,0034324,0165024,0037021,
-0037222,0045046,0047151,0161213,
-0040200,0000000,0000000,0000000
-};
-#define MAXGAM 34.84425627277176174
-#endif
-
-#ifdef IBMPC
-static const unsigned short P[] = {
-0x2153,0x3998,0xfcb8,0x3f24,
-0xbfab,0xe686,0x84e3,0x3f53,
-0x14b0,0xe9db,0x57cd,0x3f85,
-0x23d3,0x18c4,0x63d9,0x3fa8,
-0x7d31,0xdcae,0x8da9,0x3fca,
-0xe312,0x3993,0xa137,0x3fdf,
-0x0000,0x0000,0x0000,0x3ff0
-};
-static const unsigned short Q[] = {
-0xd3af,0x8400,0x487a,0xbef8,
-0x2573,0x2915,0xae8a,0x3f41,
-0xb44a,0xe750,0x40e4,0xbf72,
-0xb117,0x5b1b,0x31ed,0x3f88,
-0xde67,0xe33f,0x5779,0x3fa2,
-0x87c2,0x9d42,0x071a,0xbfce,
-0x3c51,0xc9cd,0x4944,0x3fb2,
-0x0000,0x0000,0x0000,0x3ff0
-};
-#define MAXGAM 171.624376956302725
-#endif
-
-#ifdef MIEEE
-static const unsigned short P[] = {
-0x3f24,0xfcb8,0x3998,0x2153,
-0x3f53,0x84e3,0xe686,0xbfab,
-0x3f85,0x57cd,0xe9db,0x14b0,
-0x3fa8,0x63d9,0x18c4,0x23d3,
-0x3fca,0x8da9,0xdcae,0x7d31,
-0x3fdf,0xa137,0x3993,0xe312,
-0x3ff0,0x0000,0x0000,0x0000
-};
-static const unsigned short Q[] = {
-0xbef8,0x487a,0x8400,0xd3af,
-0x3f41,0xae8a,0x2915,0x2573,
-0xbf72,0x40e4,0xe750,0xb44a,
-0x3f88,0x31ed,0x5b1b,0xb117,
-0x3fa2,0x5779,0xe33f,0xde67,
-0xbfce,0x071a,0x9d42,0x87c2,
-0x3fb2,0x4944,0xc9cd,0x3c51,
-0x3ff0,0x0000,0x0000,0x0000
-};
-#define MAXGAM 171.624376956302725
-#endif
-
-/* Stirling's formula for the gamma function */
-#if UNK
-static const double STIR[5] = {
- 7.87311395793093628397E-4,
--2.29549961613378126380E-4,
--2.68132617805781232825E-3,
- 3.47222221605458667310E-3,
- 8.33333333333482257126E-2,
-};
-#define MAXSTIR 143.01608
-static const double SQTPI = 2.50662827463100050242E0;
-#endif
-#if DEC
-static const unsigned short STIR[20] = {
-0035516,0061622,0144553,0112224,
-0135160,0131531,0037460,0165740,
-0136057,0134460,0037242,0077270,
-0036143,0107070,0156306,0027751,
-0037252,0125252,0125252,0146064,
-};
-#define MAXSTIR 26.77
-static const unsigned short SQT[4] = {
-0040440,0066230,0177661,0034055,
-};
-#define SQTPI *(double *)SQT
-#endif
-#if IBMPC
-static const unsigned short STIR[20] = {
-0x7293,0x592d,0xcc72,0x3f49,
-0x1d7c,0x27e6,0x166b,0xbf2e,
-0x4fd7,0x07d4,0xf726,0xbf65,
-0xc5fd,0x1b98,0x71c7,0x3f6c,
-0x5986,0x5555,0x5555,0x3fb5,
-};
-#define MAXSTIR 143.01608
-static const unsigned short SQT[4] = {
-0x2706,0x1ff6,0x0d93,0x4004,
-};
-#define SQTPI *(double *)SQT
-#endif
-#if MIEEE
-static const unsigned short STIR[20] = {
-0x3f49,0xcc72,0x592d,0x7293,
-0xbf2e,0x166b,0x27e6,0x1d7c,
-0xbf65,0xf726,0x07d4,0x4fd7,
-0x3f6c,0x71c7,0x1b98,0xc5fd,
-0x3fb5,0x5555,0x5555,0x5986,
-};
-#define MAXSTIR 143.01608
-static const unsigned short SQT[4] = {
-0x4004,0x0d93,0x1ff6,0x2706,
-};
-#define SQTPI *(double *)SQT
-#endif
-
-#ifndef __MINGW32__
-int sgngam = 0;
-extern int sgngam;
-extern double MAXLOG, MAXNUM, PI;
-#ifdef ANSIPROT
-extern double pow ( double, double );
-extern double log ( double );
-extern double exp ( double );
-extern double sin ( double );
-extern double polevl ( double, void *, int );
-extern double p1evl ( double, void *, int );
-extern double floor ( double );
-extern double fabs ( double );
-extern int isnan ( double );
-extern int isfinite ( double );
-static double stirf ( double );
-double lgam ( double );
-#else
-double pow(), log(), exp(), sin(), polevl(), p1evl(), floor(), fabs();
-int isnan(), isfinite();
-static double stirf();
-double lgam();
-#endif
-#ifdef INFINITIES
-extern double INFINITY;
-#endif
-#ifdef NANS
-extern double NAN;
-#endif
-#else /* __MINGW32__ */
-static double stirf ( double );
-#endif
-
-/* Gamma function computed by Stirling's formula.
- * The polynomial STIR is valid for 33 <= x <= 172.
- */
-static double stirf(x)
-double x;
-{
-double y, w, v;
-
-w = 1.0/x;
-w = 1.0 + w * polevl( w, STIR, 4 );
-y = exp(x);
-if( x > MAXSTIR )
- { /* Avoid overflow in pow() */
- v = pow( x, 0.5 * x - 0.25 );
- y = v * (v / y);
- }
-else
- {
- y = pow( x, x - 0.5 ) / y;
- }
-y = SQTPI * y * w;
-return( y );
-}
-
-
-
-double __tgamma_r(double x, int* sgngam)
-{
-double p, q, z;
-int i;
-
-*sgngam = 1;
-#ifdef NANS
-if( isnan(x) )
- return(x);
-#endif
-#ifdef INFINITIES
-#ifdef NANS
-if( x == INFINITY )
- return(x);
-if( x == -INFINITY )
- return(NAN);
-#else
-if( !isfinite(x) )
- return(x);
-#endif
-#endif
-q = fabs(x);
-
-if( q > 33.0 )
- {
- if( x < 0.0 )
- {
- p = floor(q);
- if( p == q )
- {
-gsing:
- _SET_ERRNO(EDOM);
- mtherr( "tgamma", SING );
-#ifdef INFINITIES
- return (INFINITY);
-#else
- return (MAXNUM);
-#endif
- }
- i = p;
- if( (i & 1) == 0 )
- *sgngam = -1;
- z = q - p;
- if( z > 0.5 )
- {
- p += 1.0;
- z = q - p;
- }
- z = q * sin( PI * z );
- if( z == 0.0 )
- {
- _SET_ERRNO(ERANGE);
- mtherr( "tgamma", OVERFLOW );
-#ifdef INFINITIES
- return( *sgngam * INFINITY);
-#else
- return( *sgngam * MAXNUM);
-#endif
- }
- z = fabs(z);
- z = PI/(z * stirf(q) );
- }
- else
- {
- z = stirf(x);
- }
- return( *sgngam * z );
- }
-
-z = 1.0;
-while( x >= 3.0 )
- {
- x -= 1.0;
- z *= x;
- }
-
-while( x < 0.0 )
- {
- if( x > -1.E-9 )
- goto Small;
- z /= x;
- x += 1.0;
- }
-
-while( x < 2.0 )
- {
- if( x < 1.e-9 )
- goto Small;
- z /= x;
- x += 1.0;
- }
-
-if( x == 2.0 )
- return(z);
-
-x -= 2.0;
-p = polevl( x, P, 6 );
-q = polevl( x, Q, 7 );
-return( z * p / q );
-
-Small:
-if( x == 0.0 )
- {
- goto gsing;
- }
-else
- return( z/((1.0 + 0.5772156649015329 * x) * x) );
-}
-
-/* This is the C99 version */
-
-double tgamma(double x)
-{
- int local_sgngam=0;
- return (__tgamma_r(x, &local_sgngam));
-}
diff --git a/winsup/mingw/mingwex/math/tgammaf.c b/winsup/mingw/mingwex/math/tgammaf.c
deleted file mode 100644
index 07d294971..000000000
--- a/winsup/mingw/mingwex/math/tgammaf.c
+++ /dev/null
@@ -1,265 +0,0 @@
-/* gammaf.c
- *
- * Gamma function
- *
- *
- *
- * SYNOPSIS:
- *
- * float x, y, __tgammaf_r();
- * int* sgngamf;
- * y = __tgammaf_r( x, sgngamf );
- *
- * float x, y, tgammaf();
- * y = tgammaf( x);
- *
- *
- * DESCRIPTION:
- *
- * Returns gamma function of the argument. The result is
- * correctly signed. In the reentrant version the sign (+1 or -1)
- * is returned in the variable referenced by sgngamf.
- *
- * Arguments between 0 and 10 are reduced by recurrence and the
- * function is approximated by a polynomial function covering
- * the interval (2,3). Large arguments are handled by Stirling's
- * formula. Negative arguments are made positive using
- * a reflection formula.
- *
- *
- * ACCURACY:
- *
- * Relative error:
- * arithmetic domain # trials peak rms
- * IEEE 0,-33 100,000 5.7e-7 1.0e-7
- * IEEE -33,0 100,000 6.1e-7 1.2e-7
- *
- *
- */
-
-/*
-Cephes Math Library Release 2.7: July, 1998
-Copyright 1984, 1987, 1989, 1992, 1998 by Stephen L. Moshier
-*/
-
-
-/*
- * 26-11-2002 Modified for mingw.
- * Danny Smith <dannysmith@users.sourceforge.net>
- */
-
-
-#ifndef __MINGW32__
-#include "mconf.h"
-#else
-#include "cephes_mconf.h"
-#endif
-
-/* define MAXGAM 34.84425627277176174 */
-
-/* Stirling's formula for the gamma function
- * gamma(x) = sqrt(2 pi) x^(x-.5) exp(-x) ( 1 + 1/x P(1/x) )
- * .028 < 1/x < .1
- * relative error < 1.9e-11
- */
-static const float STIR[] = {
--2.705194986674176E-003,
- 3.473255786154910E-003,
- 8.333331788340907E-002,
-};
-static const float MAXSTIR = 26.77;
-static const float SQTPIF = 2.50662827463100050242; /* sqrt( 2 pi ) */
-
-#ifndef __MINGW32__
-
-extern float MAXLOGF, MAXNUMF, PIF;
-
-#ifdef ANSIC
-float expf(float);
-float logf(float);
-float powf( float, float );
-float sinf(float);
-float gammaf(float);
-float floorf(float);
-static float stirf(float);
-float polevlf( float, float *, int );
-float p1evlf( float, float *, int );
-#else
-float expf(), logf(), powf(), sinf(), floorf();
-float polevlf(), p1evlf();
-static float stirf();
-#endif
-
-#else /* __MINGW32__ */
-static float stirf(float);
-#endif
-
-/* Gamma function computed by Stirling's formula,
- * sqrt(2 pi) x^(x-.5) exp(-x) (1 + 1/x P(1/x))
- * The polynomial STIR is valid for 33 <= x <= 172.
- */
-static float stirf( float x )
-{
-float y, w, v;
-
-w = 1.0/x;
-w = 1.0 + w * polevlf( w, STIR, 2 );
-y = expf( -x );
-if( x > MAXSTIR )
- { /* Avoid overflow in pow() */
- v = powf( x, 0.5 * x - 0.25 );
- y *= v;
- y *= v;
- }
-else
- {
- y = powf( x, x - 0.5 ) * y;
- }
-y = SQTPIF * y * w;
-return( y );
-}
-
-
-/* gamma(x+2), 0 < x < 1 */
-static const float P[] = {
- 1.536830450601906E-003,
- 5.397581592950993E-003,
- 4.130370201859976E-003,
- 7.232307985516519E-002,
- 8.203960091619193E-002,
- 4.117857447645796E-001,
- 4.227867745131584E-001,
- 9.999999822945073E-001,
-};
-
-float __tgammaf_r( float x, int* sgngamf)
-{
-float p, q, z, nz;
-int i, direction, negative;
-
-#ifdef NANS
-if( isnan(x) )
- return(x);
-#endif
-#ifdef INFINITIES
-#ifdef NANS
-if( x == INFINITYF )
- return(x);
-if( x == -INFINITYF )
- return(NANF);
-#else
-if( !isfinite(x) )
- return(x);
-#endif
-#endif
-
-*sgngamf = 1;
-negative = 0;
-nz = 0.0;
-if( x < 0.0 )
- {
- negative = 1;
- q = -x;
- p = floorf(q);
- if( p == q )
- {
-gsing:
- _SET_ERRNO(EDOM);
- mtherr( "tgammaf", SING );
-#ifdef INFINITIES
- return (INFINITYF);
-#else
- return (MAXNUMF);
-#endif
- }
- i = p;
- if( (i & 1) == 0 )
- *sgngamf = -1;
- nz = q - p;
- if( nz > 0.5 )
- {
- p += 1.0;
- nz = q - p;
- }
- nz = q * sinf( PIF * nz );
- if( nz == 0.0 )
- {
- _SET_ERRNO(ERANGE);
- mtherr( "tgamma", OVERFLOW );
-#ifdef INFINITIES
- return( *sgngamf * INFINITYF);
-#else
- return( *sgngamf * MAXNUMF);
-#endif
- }
- if( nz < 0 )
- nz = -nz;
- x = q;
- }
-if( x >= 10.0 )
- {
- z = stirf(x);
- }
-if( x < 2.0 )
- direction = 1;
-else
- direction = 0;
-z = 1.0;
-while( x >= 3.0 )
- {
- x -= 1.0;
- z *= x;
- }
-/*
-while( x < 0.0 )
- {
- if( x > -1.E-4 )
- goto Small;
- z *=x;
- x += 1.0;
- }
-*/
-while( x < 2.0 )
- {
- if( x < 1.e-4 )
- goto Small;
- z *=x;
- x += 1.0;
- }
-
-if( direction )
- z = 1.0/z;
-
-if( x == 2.0 )
- return(z);
-
-x -= 2.0;
-p = z * polevlf( x, P, 7 );
-
-gdone:
-
-if( negative )
- {
- p = *sgngamf * PIF/(nz * p );
- }
-return(p);
-
-Small:
-if( x == 0.0 )
- {
- goto gsing;
- }
-else
- {
- p = z / ((1.0 + 0.5772156649015329 * x) * x);
- goto gdone;
- }
-}
-
-/* This is the C99 version */
-
-float tgammaf(float x)
-{
- int local_sgngamf=0;
- return (__tgammaf_r(x, &local_sgngamf));
-}
diff --git a/winsup/mingw/mingwex/math/tgammal.c b/winsup/mingw/mingwex/math/tgammal.c
deleted file mode 100644
index 6db4e3af7..000000000
--- a/winsup/mingw/mingwex/math/tgammal.c
+++ /dev/null
@@ -1,501 +0,0 @@
-/* gammal.c
- *
- * Gamma function
- *
- *
- *
- * SYNOPSIS:
- *
- * long double x, y, __tgammal_r();
- * int* sgngaml;
- * y = __tgammal_r( x, sgngaml );
- *
- * long double x, y, tgammal();
- * y = tgammal( x); *
- *
- *
- * DESCRIPTION:
- *
- * Returns gamma function of the argument. The result is
- * correctly signed. In the reentrant version the sign (+1 or -1)
- * is returned in the variable referenced by sgngamf.
- *
- * Arguments |x| <= 13 are reduced by recurrence and the function
- * approximated by a rational function of degree 7/8 in the
- * interval (2,3). Large arguments are handled by Stirling's
- * formula. Large negative arguments are made positive using
- * a reflection formula.
- *
- *
- * ACCURACY:
- *
- * Relative error:
- * arithmetic domain # trials peak rms
- * IEEE -40,+40 10000 3.6e-19 7.9e-20
- * IEEE -1755,+1755 10000 4.8e-18 6.5e-19
- *
- * Accuracy for large arguments is dominated by error in powl().
- *
- */
-
-/*
-Copyright 1994 by Stephen L. Moshier
-*/
-
-
-/*
- * 26-11-2002 Modified for mingw.
- * Danny Smith <dannysmith@users.sourceforge.net>
- */
-
-
-#ifndef __MINGW32__
-#include "mconf.h"
-#else
-#include "cephes_mconf.h"
-#endif
-
-/*
-gamma(x+2) = gamma(x+2) P(x)/Q(x)
-0 <= x <= 1
-Relative error
-n=7, d=8
-Peak error = 1.83e-20
-Relative error spread = 8.4e-23
-*/
-
-#if UNK
-static const long double P[8] = {
- 4.212760487471622013093E-5L,
- 4.542931960608009155600E-4L,
- 4.092666828394035500949E-3L,
- 2.385363243461108252554E-2L,
- 1.113062816019361559013E-1L,
- 3.629515436640239168939E-1L,
- 8.378004301573126728826E-1L,
- 1.000000000000000000009E0L,
-};
-static const long double Q[9] = {
--1.397148517476170440917E-5L,
- 2.346584059160635244282E-4L,
--1.237799246653152231188E-3L,
--7.955933682494738320586E-4L,
- 2.773706565840072979165E-2L,
--4.633887671244534213831E-2L,
--2.243510905670329164562E-1L,
- 4.150160950588455434583E-1L,
- 9.999999999999999999908E-1L,
-};
-#endif
-#if IBMPC
-static const unsigned short P[] = {
-0x434a,0x3f22,0x2bda,0xb0b2,0x3ff0, XPD
-0xf5aa,0xe82f,0x335b,0xee2e,0x3ff3, XPD
-0xbe6c,0x3757,0xc717,0x861b,0x3ff7, XPD
-0x7f43,0x5196,0xb166,0xc368,0x3ff9, XPD
-0x9549,0x8eb5,0x8c3a,0xe3f4,0x3ffb, XPD
-0x8d75,0x23af,0xc8e4,0xb9d4,0x3ffd, XPD
-0x29cf,0x19b3,0x16c8,0xd67a,0x3ffe, XPD
-0x0000,0x0000,0x0000,0x8000,0x3fff, XPD
-};
-static const unsigned short Q[] = {
-0x5473,0x2de8,0x1268,0xea67,0xbfee, XPD
-0x334b,0xc2f0,0xa2dd,0xf60e,0x3ff2, XPD
-0xbeed,0x1853,0xa691,0xa23d,0xbff5, XPD
-0x296e,0x7cb1,0x5dfd,0xd08f,0xbff4, XPD
-0x0417,0x7989,0xd7bc,0xe338,0x3ff9, XPD
-0x3295,0x3698,0xd580,0xbdcd,0xbffa, XPD
-0x75ef,0x3ab7,0x4ad3,0xe5bc,0xbffc, XPD
-0xe458,0x2ec7,0xfd57,0xd47c,0x3ffd, XPD
-0x0000,0x0000,0x0000,0x8000,0x3fff, XPD
-};
-#endif
-#if MIEEE
-static const long P[24] = {
-0x3ff00000,0xb0b22bda,0x3f22434a,
-0x3ff30000,0xee2e335b,0xe82ff5aa,
-0x3ff70000,0x861bc717,0x3757be6c,
-0x3ff90000,0xc368b166,0x51967f43,
-0x3ffb0000,0xe3f48c3a,0x8eb59549,
-0x3ffd0000,0xb9d4c8e4,0x23af8d75,
-0x3ffe0000,0xd67a16c8,0x19b329cf,
-0x3fff0000,0x80000000,0x00000000,
-};
-static const long Q[27] = {
-0xbfee0000,0xea671268,0x2de85473,
-0x3ff20000,0xf60ea2dd,0xc2f0334b,
-0xbff50000,0xa23da691,0x1853beed,
-0xbff40000,0xd08f5dfd,0x7cb1296e,
-0x3ff90000,0xe338d7bc,0x79890417,
-0xbffa0000,0xbdcdd580,0x36983295,
-0xbffc0000,0xe5bc4ad3,0x3ab775ef,
-0x3ffd0000,0xd47cfd57,0x2ec7e458,
-0x3fff0000,0x80000000,0x00000000,
-};
-#endif
-/*
-static const long double P[] = {
--3.01525602666895735709e0L,
--3.25157411956062339893e1L,
--2.92929976820724030353e2L,
--1.70730828800510297666e3L,
--7.96667499622741999770e3L,
--2.59780216007146401957e4L,
--5.99650230220855581642e4L,
--7.15743521530849602425e4L
-};
-static const long double Q[] = {
- 1.00000000000000000000e0L,
--1.67955233807178858919e1L,
- 8.85946791747759881659e1L,
- 5.69440799097468430177e1L,
--1.98526250512761318471e3L,
- 3.31667508019495079814e3L,
- 1.60577839621734713377e4L,
--2.97045081369399940529e4L,
--7.15743521530849602412e4L
-};
-*/
-#define MAXGAML 1755.455L
-/*static const long double LOGPI = 1.14472988584940017414L;*/
-
-/* Stirling's formula for the gamma function
-gamma(x) = sqrt(2 pi) x^(x-.5) exp(-x) (1 + 1/x P(1/x))
-z(x) = x
-13 <= x <= 1024
-Relative error
-n=8, d=0
-Peak error = 9.44e-21
-Relative error spread = 8.8e-4
-*/
-#if UNK
-static const long double STIR[9] = {
- 7.147391378143610789273E-4L,
--2.363848809501759061727E-5L,
--5.950237554056330156018E-4L,
- 6.989332260623193171870E-5L,
- 7.840334842744753003862E-4L,
--2.294719747873185405699E-4L,
--2.681327161876304418288E-3L,
- 3.472222222230075327854E-3L,
- 8.333333333333331800504E-2L,
-};
-#endif
-#if IBMPC
-static const unsigned short STIR[] = {
-0x6ede,0x69f7,0x54e3,0xbb5d,0x3ff4, XPD
-0xc395,0x0295,0x4443,0xc64b,0xbfef, XPD
-0xba6f,0x7c59,0x5e47,0x9bfb,0xbff4, XPD
-0x5704,0x1a39,0xb11d,0x9293,0x3ff1, XPD
-0x30b7,0x1a21,0x98b2,0xcd87,0x3ff4, XPD
-0xbef3,0x7023,0x6a08,0xf09e,0xbff2, XPD
-0x3a1c,0x5ac8,0x3478,0xafb9,0xbff6, XPD
-0xc3c9,0x906e,0x38e3,0xe38e,0x3ff6, XPD
-0xa1d5,0xaaaa,0xaaaa,0xaaaa,0x3ffb, XPD
-};
-#endif
-#if MIEEE
-static const long STIR[27] = {
-0x3ff40000,0xbb5d54e3,0x69f76ede,
-0xbfef0000,0xc64b4443,0x0295c395,
-0xbff40000,0x9bfb5e47,0x7c59ba6f,
-0x3ff10000,0x9293b11d,0x1a395704,
-0x3ff40000,0xcd8798b2,0x1a2130b7,
-0xbff20000,0xf09e6a08,0x7023bef3,
-0xbff60000,0xafb93478,0x5ac83a1c,
-0x3ff60000,0xe38e38e3,0x906ec3c9,
-0x3ffb0000,0xaaaaaaaa,0xaaaaa1d5,
-};
-#endif
-#define MAXSTIR 1024.0L
-static const long double SQTPI = 2.50662827463100050242E0L;
-
-/* 1/gamma(x) = z P(z)
- * z(x) = 1/x
- * 0 < x < 0.03125
- * Peak relative error 4.2e-23
- */
-#if UNK
-static const long double S[9] = {
--1.193945051381510095614E-3L,
- 7.220599478036909672331E-3L,
--9.622023360406271645744E-3L,
--4.219773360705915470089E-2L,
- 1.665386113720805206758E-1L,
--4.200263503403344054473E-2L,
--6.558780715202540684668E-1L,
- 5.772156649015328608253E-1L,
- 1.000000000000000000000E0L,
-};
-#endif
-#if IBMPC
-static const unsigned short S[] = {
-0xbaeb,0xd6d3,0x25e5,0x9c7e,0xbff5, XPD
-0xfe9a,0xceb4,0xc74e,0xec9a,0x3ff7, XPD
-0x9225,0xdfef,0xb0e9,0x9da5,0xbff8, XPD
-0x10b0,0xec17,0x87dc,0xacd7,0xbffa, XPD
-0x6b8d,0x7515,0x1905,0xaa89,0x3ffc, XPD
-0xf183,0x126b,0xf47d,0xac0a,0xbffa, XPD
-0x7bf6,0x57d1,0xa013,0xa7e7,0xbffe, XPD
-0xc7a9,0x7db0,0x67e3,0x93c4,0x3ffe, XPD
-0x0000,0x0000,0x0000,0x8000,0x3fff, XPD
-};
-#endif
-#if MIEEE
-static const long S[27] = {
-0xbff50000,0x9c7e25e5,0xd6d3baeb,
-0x3ff70000,0xec9ac74e,0xceb4fe9a,
-0xbff80000,0x9da5b0e9,0xdfef9225,
-0xbffa0000,0xacd787dc,0xec1710b0,
-0x3ffc0000,0xaa891905,0x75156b8d,
-0xbffa0000,0xac0af47d,0x126bf183,
-0xbffe0000,0xa7e7a013,0x57d17bf6,
-0x3ffe0000,0x93c467e3,0x7db0c7a9,
-0x3fff0000,0x80000000,0x00000000,
-};
-#endif
-/* 1/gamma(-x) = z P(z)
- * z(x) = 1/x
- * 0 < x < 0.03125
- * Peak relative error 5.16e-23
- * Relative error spread = 2.5e-24
- */
-#if UNK
-static const long double SN[9] = {
- 1.133374167243894382010E-3L,
- 7.220837261893170325704E-3L,
- 9.621911155035976733706E-3L,
--4.219773343731191721664E-2L,
--1.665386113944413519335E-1L,
--4.200263503402112910504E-2L,
- 6.558780715202536547116E-1L,
- 5.772156649015328608727E-1L,
--1.000000000000000000000E0L,
-};
-#endif
-#if IBMPC
-static const unsigned short SN[] = {
-0x5dd1,0x02de,0xb9f7,0x948d,0x3ff5, XPD
-0x989b,0xdd68,0xc5f1,0xec9c,0x3ff7, XPD
-0x2ca1,0x18f0,0x386f,0x9da5,0x3ff8, XPD
-0x783f,0x41dd,0x87d1,0xacd7,0xbffa, XPD
-0x7a5b,0xd76d,0x1905,0xaa89,0xbffc, XPD
-0x7f64,0x1234,0xf47d,0xac0a,0xbffa, XPD
-0x5e26,0x57d1,0xa013,0xa7e7,0x3ffe, XPD
-0xc7aa,0x7db0,0x67e3,0x93c4,0x3ffe, XPD
-0x0000,0x0000,0x0000,0x8000,0xbfff, XPD
-};
-#endif
-#if MIEEE
-static const long SN[27] = {
-0x3ff50000,0x948db9f7,0x02de5dd1,
-0x3ff70000,0xec9cc5f1,0xdd68989b,
-0x3ff80000,0x9da5386f,0x18f02ca1,
-0xbffa0000,0xacd787d1,0x41dd783f,
-0xbffc0000,0xaa891905,0xd76d7a5b,
-0xbffa0000,0xac0af47d,0x12347f64,
-0x3ffe0000,0xa7e7a013,0x57d15e26,
-0x3ffe0000,0x93c467e3,0x7db0c7aa,
-0xbfff0000,0x80000000,0x00000000,
-};
-#endif
-
-#ifndef __MINGW32__
-extern long double MAXLOGL, MAXNUML, PIL;
-/* #define PIL 3.14159265358979323846L */
-/* #define MAXNUML 1.189731495357231765021263853E4932L */
-
-#ifdef ANSIPROT
-extern long double fabsl ( long double );
-extern long double lgaml ( long double );
-extern long double logl ( long double );
-extern long double expl ( long double );
-extern long double gammal ( long double );
-extern long double sinl ( long double );
-extern long double floorl ( long double );
-extern long double powl ( long double, long double );
-extern long double polevll ( long double, void *, int );
-extern long double p1evll ( long double, void *, int );
-extern int isnanl ( long double );
-extern int isfinitel ( long double );
-static long double stirf ( long double );
-#else
-long double fabsl(), lgaml(), logl(), expl(), gammal(), sinl();
-long double floorl(), powl(), polevll(), p1evll(), isnanl(), isfinitel();
-static long double stirf();
-#endif
-#ifdef INFINITIES
-extern long double INFINITYL;
-#endif
-#ifdef NANS
-extern long double NANL;
-#endif
-
-#else /* __MINGW32__ */
-static long double stirf ( long double );
-#endif
-
-
-/* Gamma function computed by Stirling's formula. */
-
-static long double stirf(x)
-long double x;
-{
-long double y, w, v;
-
-w = 1.0L/x;
-/* For large x, use rational coefficients from the analytical expansion. */
-if( x > 1024.0L )
- w = (((((6.97281375836585777429E-5L * w
- + 7.84039221720066627474E-4L) * w
- - 2.29472093621399176955E-4L) * w
- - 2.68132716049382716049E-3L) * w
- + 3.47222222222222222222E-3L) * w
- + 8.33333333333333333333E-2L) * w
- + 1.0L;
-else
- w = 1.0L + w * polevll( w, STIR, 8 );
-y = expl(x);
-if( x > MAXSTIR )
- { /* Avoid overflow in pow() */
- v = powl( x, 0.5L * x - 0.25L );
- y = v * (v / y);
- }
-else
- {
- y = powl( x, x - 0.5L ) / y;
- }
-y = SQTPI * y * w;
-return( y );
-}
-
-
-long double __tgammal_r(long double x, int* sgngaml)
-{
-long double p, q, z;
-int i;
-
-*sgngaml = 1;
-#ifdef NANS
-if( isnanl(x) )
- return(NANL);
-#endif
-#ifdef INFINITIES
-#ifdef NANS
-if( x == INFINITYL )
- return(x);
-if( x == -INFINITYL )
- return(NANL);
-#else
-if( !isfinite(x) )
- return(x);
-#endif
-#endif
-q = fabsl(x);
-
-if( q > 13.0L )
- {
- if( q > MAXGAML )
- goto goverf;
- if( x < 0.0L )
- {
- p = floorl(q);
- if( p == q )
- {
-gsing:
- _SET_ERRNO(EDOM);
- mtherr( "tgammal", SING );
-#ifdef INFINITIES
- return (INFINITYL);
-#else
- return( *sgngaml * MAXNUML);
-#endif
- }
- i = p;
- if( (i & 1) == 0 )
- *sgngaml = -1;
- z = q - p;
- if( z > 0.5L )
- {
- p += 1.0L;
- z = q - p;
- }
- z = q * sinl( PIL * z );
- z = fabsl(z) * stirf(q);
- if( z <= PIL/MAXNUML )
- {
-goverf:
- _SET_ERRNO(ERANGE);
- mtherr( "tgammal", OVERFLOW );
-#ifdef INFINITIES
- return( *sgngaml * INFINITYL);
-#else
- return( *sgngaml * MAXNUML);
-#endif
- }
- z = PIL/z;
- }
- else
- {
- z = stirf(x);
- }
- return( *sgngaml * z );
- }
-
-z = 1.0L;
-while( x >= 3.0L )
- {
- x -= 1.0L;
- z *= x;
- }
-
-while( x < -0.03125L )
- {
- z /= x;
- x += 1.0L;
- }
-
-if( x <= 0.03125L )
- goto Small;
-
-while( x < 2.0L )
- {
- z /= x;
- x += 1.0L;
- }
-
-if( x == 2.0L )
- return(z);
-
-x -= 2.0L;
-p = polevll( x, P, 7 );
-q = polevll( x, Q, 8 );
-return( z * p / q );
-
-Small:
-if( x == 0.0L )
- {
- goto gsing;
- }
-else
- {
- if( x < 0.0L )
- {
- x = -x;
- q = z / (x * polevll( x, SN, 8 ));
- }
- else
- q = z / (x * polevll( x, S, 8 ));
- }
-return q;
-}
-
-
-/* This is the C99 version. */
-
-long double tgammal(long double x)
-{
- int local_sgngaml=0;
- return (__tgammal_r(x, &local_sgngaml));
-}
-
diff --git a/winsup/mingw/mingwex/math/trunc.c b/winsup/mingw/mingwex/math/trunc.c
deleted file mode 100644
index 5c7dc68cb..000000000
--- a/winsup/mingw/mingwex/math/trunc.c
+++ /dev/null
@@ -1,16 +0,0 @@
-#include <fenv.h>
-#include <math.h>
-
-double
-trunc (double _x){
- double retval;
- unsigned short saved_cw;
- unsigned short tmp_cw;
- __asm__ ("fnstcw %0;" : "=m" (saved_cw)); /* save FPU control word */
- tmp_cw = (saved_cw & ~(FE_TONEAREST | FE_DOWNWARD | FE_UPWARD | FE_TOWARDZERO))
- | FE_TOWARDZERO;
- __asm__ ("fldcw %0;" : : "m" (tmp_cw));
- __asm__ ("frndint;" : "=t" (retval) : "0" (_x)); /* round towards zero */
- __asm__ ("fldcw %0;" : : "m" (saved_cw) ); /* restore saved control word */
- return retval;
-}
diff --git a/winsup/mingw/mingwex/math/truncf.c b/winsup/mingw/mingwex/math/truncf.c
deleted file mode 100644
index 8869e377f..000000000
--- a/winsup/mingw/mingwex/math/truncf.c
+++ /dev/null
@@ -1,17 +0,0 @@
-#include <fenv.h>
-#include <math.h>
-
-float
-truncf (float _x)
-{
- float retval;
- unsigned short saved_cw;
- unsigned short tmp_cw;
- __asm__ ("fnstcw %0;" : "=m" (saved_cw)); /* save FPU control word */
- tmp_cw = (saved_cw & ~(FE_TONEAREST | FE_DOWNWARD | FE_UPWARD | FE_TOWARDZERO))
- | FE_TOWARDZERO;
- __asm__ ("fldcw %0;" : : "m" (tmp_cw));
- __asm__ ("frndint;" : "=t" (retval) : "0" (_x)); /* round towards zero */
- __asm__ ("fldcw %0;" : : "m" (saved_cw) ); /* restore saved control word */
- return retval;
-}
diff --git a/winsup/mingw/mingwex/math/truncl.c b/winsup/mingw/mingwex/math/truncl.c
deleted file mode 100644
index e34b21ba9..000000000
--- a/winsup/mingw/mingwex/math/truncl.c
+++ /dev/null
@@ -1,16 +0,0 @@
-#include <fenv.h>
-#include <math.h>
-
-long double
-truncl (long double _x){
- long double retval;
- unsigned short saved_cw;
- unsigned short tmp_cw;
- __asm__ ("fnstcw %0;" : "=m" (saved_cw)); /* save FPU control word */
- tmp_cw = (saved_cw & ~(FE_TONEAREST | FE_DOWNWARD | FE_UPWARD | FE_TOWARDZERO))
- | FE_TOWARDZERO;
- __asm__ ("fldcw %0;" : : "m" (tmp_cw));
- __asm__ ("frndint;" : "=t" (retval) : "0" (_x)); /* round towards zero */
- __asm__ ("fldcw %0;" : : "m" (saved_cw) ); /* restore saved control word */
- return retval;
-}
diff --git a/winsup/mingw/mingwex/mb_wc_common.h b/winsup/mingw/mingwex/mb_wc_common.h
deleted file mode 100755
index a4ea81cf2..000000000
--- a/winsup/mingw/mingwex/mb_wc_common.h
+++ /dev/null
@@ -1,18 +0,0 @@
-#include <locale.h>
-#include <string.h>
-#include <stdlib.h>
-
-static inline
-unsigned int get_cp_from_locale (void)
-{
- char* cp_string;
- /*
- locale :: "lang[_country[.code_page]]"
- | ".code_page"
-
- */
-
- if ((cp_string = strchr(setlocale(LC_CTYPE, NULL), '.')))
- return ((unsigned) atoi (cp_string + 1));
- return 0;
-}
diff --git a/winsup/mingw/mingwex/mbrtowc.c b/winsup/mingw/mingwex/mbrtowc.c
deleted file mode 100755
index adf3c7633..000000000
--- a/winsup/mingw/mingwex/mbrtowc.c
+++ /dev/null
@@ -1,154 +0,0 @@
-#include "mb_wc_common.h"
-#include <wchar.h>
-#include <stdlib.h>
-#include <errno.h>
-#define WIN32_LEAN_AND_MEAN
-#include <windows.h>
-
-static int __MINGW_ATTRIB_NONNULL(1) __MINGW_ATTRIB_NONNULL(4)
-__mbrtowc_cp (wchar_t * __restrict__ pwc, const char * __restrict__ s,
- size_t n, mbstate_t* __restrict__ ps,
- const unsigned int cp, const unsigned int mb_max)
-{
- union {
- mbstate_t val;
- char mbcs[4];
- } shift_state;
-
-
- /* Do the prelim checks */
- if (s == NULL)
- return 0;
-
- if (n == 0)
- /* The standard doesn't mention this case explicitly. Tell
- caller that the conversion from a non-null s is incomplete. */
- return -2;
-
- /* Save the current shift state, in case we need it in DBCS case. */
- shift_state.val = *ps;
- *ps = 0;
-
- if (!*s)
- {
- *pwc = 0;
- return 0;
- }
-
- if (mb_max > 1)
- {
- if (shift_state.mbcs[0] != 0)
- {
- /* Complete the mb char with the trailing byte. */
- shift_state.mbcs[1] = *s; /* the second byte */
- if (MultiByteToWideChar(cp, MB_ERR_INVALID_CHARS,
- shift_state.mbcs, 2, pwc, 1)
- == 0)
- {
- /* An invalid trailing byte */
- errno = EILSEQ;
- return -1;
- }
- return 2;
- }
- else if (IsDBCSLeadByteEx (cp, *s))
- {
- /* If told to translate one byte, just save the leadbyte
- in *ps. */
- if (n < 2)
- {
- ((char*) ps)[0] = *s;
- return -2;
- }
- /* Else translate the first two bytes */
- else if (MultiByteToWideChar (cp, MB_ERR_INVALID_CHARS,
- s, 2, pwc, 1)
- == 0)
- {
- errno = EILSEQ;
- return -1;
- }
- return 2;
- }
- }
-
- /* Fall through to single byte char */
- if (cp == 0)
- *pwc = (wchar_t)(unsigned char)*s;
-
- else if (MultiByteToWideChar (cp, MB_ERR_INVALID_CHARS, s, 1, pwc, 1)
- == 0)
- {
- errno = EILSEQ;
- return -1;
- }
- return 1;
-}
-
-size_t
-mbrtowc (wchar_t * __restrict__ pwc, const char * __restrict__ s,
- size_t n, mbstate_t* __restrict__ ps)
-{
- static mbstate_t internal_mbstate = 0;
- wchar_t byte_bucket = 0;
- wchar_t* dst = pwc ? pwc : &byte_bucket;
-
- return (size_t) __mbrtowc_cp (dst, s, n, ps ? ps : &internal_mbstate,
- get_cp_from_locale(), MB_CUR_MAX);
-}
-
-
-size_t
-mbsrtowcs (wchar_t* __restrict__ dst, const char ** __restrict__ src,
- size_t len, mbstate_t* __restrict__ ps)
-{
- int ret =0 ;
- size_t n = 0;
- static mbstate_t internal_mbstate = 0;
- mbstate_t* internal_ps = ps ? ps : &internal_mbstate;
- const unsigned int cp = get_cp_from_locale();;
- const unsigned int mb_max = MB_CUR_MAX;
-
- if ( src == NULL || *src == NULL ) /* undefined behavior */
- return 0;
-
- if (dst != NULL)
- {
- while (n < len
- && (ret = __mbrtowc_cp(dst, *src, len - n,
- internal_ps, cp, mb_max))
- > 0)
- {
- ++dst;
- *src += ret;
- n += ret;
- }
-
- if (n < len && ret == 0)
- *src = (char *)NULL;
- }
-
- else
- {
- wchar_t byte_bucket = 0;
- while (n < len
- && (ret = __mbrtowc_cp (&byte_bucket, *src, mb_max,
- internal_ps, cp, mb_max))
- > 0)
- {
- *src += ret;
- n += ret;
- }
- }
- return n;
-}
-
-size_t
-mbrlen (const char * __restrict__ s, size_t n,
- mbstate_t * __restrict__ ps)
-{
- static mbstate_t s_mbstate = 0;
- wchar_t byte_bucket = 0;
- return __mbrtowc_cp (&byte_bucket, s, n, (ps) ? ps : &s_mbstate,
- get_cp_from_locale(), MB_CUR_MAX);
-}
diff --git a/winsup/mingw/mingwex/mbsinit.c b/winsup/mingw/mingwex/mbsinit.c
deleted file mode 100644
index c130afebd..000000000
--- a/winsup/mingw/mingwex/mbsinit.c
+++ /dev/null
@@ -1,21 +0,0 @@
-/* This source code was extracted from the Q8 package created and placed
- in the PUBLIC DOMAIN by Doug Gwyn <gwyn@arl.mil>
- last edit: 1999/11/05 gwyn@arl.mil
-
- Implements subclause 7.24 of ISO/IEC 9899:1999 (E).
-
- It supports an encoding where all char codes are mapped
- to the *same* code values within a wchar_t or wint_t,
- so long as no other wchar_t codes are used by the program.
-
-*/
-
-#include <wchar.h>
-
-int
-mbsinit(ps)
- const mbstate_t *ps;
- {
- return 1; /* don't have shift states */
- }
-
diff --git a/winsup/mingw/mingwex/mingw-aligned-malloc.c b/winsup/mingw/mingwex/mingw-aligned-malloc.c
deleted file mode 100755
index a6d4ac934..000000000
--- a/winsup/mingw/mingwex/mingw-aligned-malloc.c
+++ /dev/null
@@ -1,120 +0,0 @@
-/*
- __mingw_aligned_malloc and friends, implemented using Microsoft's public
- interfaces and with the help of the algorithm description provided
- by Wu Yongwei: http://sourceforge.net/mailarchive/message.php?msg_id=3847075
-
- I hereby place this implementation in the public domain.
- -- Steven G. Johnson (stevenj@alum.mit.edu)
-*/
-
-#include <stdlib.h>
-#include <errno.h>
-#include <stddef.h> /* ptrdiff_t */
-#include <string.h> /* memmove */
-
-#ifdef HAVE_STDINT_H
-# include <stdint.h> /* uintptr_t */
-#else
-# define uintptr_t size_t
-#endif
-
-#define NOT_POWER_OF_TWO(n) (((n) & ((n) - 1)))
-#define UI(p) ((uintptr_t) (p))
-#define CP(p) ((char *) p)
-
-#define PTR_ALIGN(p0, alignment, offset) \
- ((void *) (((UI(p0) + (alignment + sizeof(void*)) + offset) \
- & (~UI(alignment - 1))) \
- - offset))
-
-/* Pointer must sometimes be aligned; assume sizeof(void*) is a power of two. */
-#define ORIG_PTR(p) (*(((void **) (UI(p) & (~UI(sizeof(void*) - 1)))) - 1))
-
-void *
-__mingw_aligned_offset_malloc (size_t size, size_t alignment, size_t offset)
-{
- void *p0, *p;
-
- if (NOT_POWER_OF_TWO (alignment))
- {
- errno = EINVAL;
- return ((void *) 0);
- }
- if (size == 0)
- return ((void *) 0);
- if (alignment < sizeof (void *))
- alignment = sizeof (void *);
-
- /* Including the extra sizeof(void*) is overkill on a 32-bit
- machine, since malloc is already 8-byte aligned, as long
- as we enforce alignment >= 8 ...but oh well. */
-
- p0 = malloc (size + (alignment + sizeof (void *)));
- if (!p0)
- return ((void *) 0);
- p = PTR_ALIGN (p0, alignment, offset);
- ORIG_PTR (p) = p0;
- return p;
-}
-
-void *
-__mingw_aligned_malloc (size_t size, size_t alignment)
-{
- return __mingw_aligned_offset_malloc (size, alignment, 0);
-}
-
-void
-__mingw_aligned_free (void *memblock)
-{
- if (memblock)
- free (ORIG_PTR (memblock));
-}
-
-void *
-__mingw_aligned_offset_realloc (void *memblock, size_t size,
- size_t alignment, size_t offset)
-{
- void *p0, *p;
- ptrdiff_t shift;
-
- if (!memblock)
- return __mingw_aligned_offset_malloc (size, alignment, offset);
- if (NOT_POWER_OF_TWO (alignment))
- goto bad;
- if (size == 0)
- {
- __mingw_aligned_free (memblock);
- return ((void *) 0);
- }
- if (alignment < sizeof (void *))
- alignment = sizeof (void *);
-
- p0 = ORIG_PTR (memblock);
- /* It is an error for the alignment to change. */
- if (memblock != PTR_ALIGN (p0, alignment, offset))
- goto bad;
- shift = CP (memblock) - CP (p0);
-
- p0 = realloc (p0, size + (alignment + sizeof (void *)));
- if (!p0)
- return ((void *) 0);
- p = PTR_ALIGN (p0, alignment, offset);
-
- /* Relative shift of actual data may be different from before, ugh. */
- if (shift != CP (p) - CP (p0))
- /* ugh, moves more than necessary if size is increased. */
- memmove (CP (p), CP (p0) + shift, size);
-
- ORIG_PTR (p) = p0;
- return p;
-
-bad:
- errno = EINVAL;
- return ((void *) 0);
-}
-
-void *
-__mingw_aligned_realloc (void *memblock, size_t size, size_t alignment)
-{
- return __mingw_aligned_offset_realloc (memblock, size, alignment, 0);
-}
diff --git a/winsup/mingw/mingwex/mingw-fseek.c b/winsup/mingw/mingwex/mingw-fseek.c
deleted file mode 100644
index b4f45cc7e..000000000
--- a/winsup/mingw/mingwex/mingw-fseek.c
+++ /dev/null
@@ -1,106 +0,0 @@
-/*
- * Workaround for limitations on win9x where a file contents are
- * not zero'd out if you seek past the end and then write.
- * Copied from ming local-patch to binutils/bfd/libbfd.c written by
- * Mumit Khan <khan@xraylith.wisc.edu>
- */
-
-#include <windows.h>
-#include <stdio.h>
-#include <io.h>
-#include <stdlib.h>
-
-#define ZEROBLOCKSIZE 512
-static int __mingw_fseek_called;
-
-/* The fseek in Win9x runtime does not zero out the file if seeking past
- the end; if you don't want random stuff from your disk included in your
- output DLL/executable, use this version instead. On WinNT/Win2k, it
- just calls runtime fseek().
-
- CHECK/FIXME: Does this work for both text and binary modes?? */
-
-
-int
-__mingw_fseek (FILE *fp, long offset, int whence)
-{
-# undef fseek
- __mingw_fseek_called = 1;
- return fseek (fp, offset, whence);
-}
-
-int
-__mingw_fseeko64 (FILE *fp, off64_t offset, int whence)
-{
-# undef fseeko64
- __mingw_fseek_called = 1;
- return fseeko64 (fp, offset, whence);
-}
-
-size_t
-__mingw_fwrite (const void *buffer, size_t size, size_t count, FILE *fp)
-{
-# undef fwrite
- if ((_osver & 0x8000) && __mingw_fseek_called)
- {
- ULARGE_INTEGER actual_length;
- LARGE_INTEGER current_position = {{0LL}};
- __mingw_fseek_called = 0;
- fflush (fp);
- actual_length.LowPart = GetFileSize ((HANDLE) _get_osfhandle (fileno (fp)),
- &actual_length.HighPart);
- if (actual_length.LowPart == 0xFFFFFFFF
- && GetLastError() != NO_ERROR )
- return -1;
- current_position.LowPart = SetFilePointer ((HANDLE) _get_osfhandle (fileno (fp)),
- current_position.LowPart,
- &current_position.HighPart,
- FILE_CURRENT);
- if (current_position.LowPart == 0xFFFFFFFF
- && GetLastError() != NO_ERROR )
- return -1;
-
-#ifdef DEBUG
- printf ("__mingw_fwrite: current %I64u, actual %I64u\n",
- current_position.QuadPart, actual_length.QuadPart);
-#endif /* DEBUG */
- if (current_position.QuadPart > actual_length.QuadPart)
- {
- static char __mingw_zeros[ZEROBLOCKSIZE];
- long long numleft;
-
- SetFilePointer ((HANDLE) _get_osfhandle (fileno (fp)),
- 0, 0, FILE_END);
- numleft = current_position.QuadPart - actual_length.QuadPart;
-
-#ifdef DEBUG
- printf ("__mingw_fwrite: Seeking %I64d bytes past end\n", numleft);
-#endif /* DEBUG */
- while (numleft > 0LL)
- {
- DWORD nzeros = (numleft > ZEROBLOCKSIZE)
- ? ZEROBLOCKSIZE : numleft;
- DWORD written;
- if (! WriteFile ((HANDLE) _get_osfhandle (fileno (fp)),
- __mingw_zeros, nzeros, &written, NULL))
- {
- /* Best we can hope for, or at least DJ says so. */
- SetFilePointer ((HANDLE) _get_osfhandle (fileno (fp)),
- 0, 0, FILE_BEGIN);
- return -1;
- }
- if (written < nzeros)
- {
- /* Likewise. */
- SetFilePointer ((HANDLE) _get_osfhandle (fileno (fp)),
- 0, 0, FILE_BEGIN);
- return -1;
- }
-
- numleft -= written;
- }
- FlushFileBuffers ((HANDLE) _get_osfhandle (fileno (fp)));
- }
- }
- return fwrite (buffer, size, count, fp);
-}
diff --git a/winsup/mingw/mingwex/sitest.c b/winsup/mingw/mingwex/sitest.c
deleted file mode 100644
index 9e06bf164..000000000
--- a/winsup/mingw/mingwex/sitest.c
+++ /dev/null
@@ -1,1527 +0,0 @@
-/*
- sitest -- exercise features of C99 <stdint.h> and <inttypes.h>
-
- This source code has been placed into the PUBLIC DOMAIN by its author.
-
- last edit: 1999/11/05 gwyn@arl.mil
-
- Tries to accommodate pre-C99 versions of <inttypes.h>.
-
- Takes advantage of __Q8_* symbols defined by a particular
- implementation of <stdint.h>, but doesn't require them.
-
- NOTE: This is not a thorough validation test of the facilities.
-*/
-
-#include <errno.h>
-#include <limits.h> /* for CHAR_BIT */
-#include <stdio.h>
-#include <stddef.h> /* for ptrdiff_t */
-#include <stdlib.h>
-#include <string.h>
-
-#include <inttypes.h> /* embeds <stdint.h> */
-#include <signal.h> /* for sig_atomic_t */
-#if defined(INTMAX_MAX) /* <inttypes.h> has C99 features */
-#include <wchar.h>
-#endif
-
-#include <inttypes.h> /* test idempotency */
-
-#if 1 /* __STDC_VERSION__ >= 199901 */
-#ifndef __Q8_QT
-#define __Q8_QT long long
-#endif
-#endif
-
-#ifdef PRIdMAX
-#define HAVE_PRIdMAX
-#ifndef __Q8_MT
-#define __Q8_MT intmax_t
-#endif
-#else
-#ifdef PRIdLEAST64
-#ifndef __Q8_MT
-#define __Q8_MT int_least64_t
-#endif
-#define PRIdMAX PRIdLEAST64
-#else
-#ifndef __Q8_MT
-#define __Q8_MT long
-#endif
-#define PRIdMAX "ld"
-#endif
-#endif
-
-#ifdef PRIuMAX
-#define HAVE_PRIuMAX
-#define U__Q8_MT uintmax_t
-#else
-#ifdef PRIuLEAST64
-#define U__Q8_MT uint_least64_t
-#define PRIuMAX PRIuLEAST64
-#else
-#define U__Q8_MT unsigned long
-#define PRIuMAX "lu"
-#endif
-#endif
-
-#define STR_SUB(s) #s
-#define STRINGIZE(s) STR_SUB(s) /* extra level to expand argument */
-
-#if defined(SCNo32) || defined(PRIo32)
-static int32_t int32;
-#endif
-static int_least16_t intl16;
-static uint_least16_t uintl16;
-static uint_fast16_t uintf16;
-static intmax_t intmax;
-static uintmax_t uintmax;
-
-int
-main() {
- int status = 0; /* exit status to be returned */
-
- /* <stdint.h> features: */
-
- printf("CHAR_BIT=%u\n", (unsigned)CHAR_BIT );
- printf("sizeof(char)=%u\n", (unsigned)sizeof(char)); /* s.b. 1 */
- printf("sizeof(short)=%u\n", (unsigned)sizeof(short));
- printf("sizeof(int)=%u\n", (unsigned)sizeof(int));
- printf("sizeof(long)=%u\n", (unsigned)sizeof(long));
-#ifdef __Q8_QT
- printf("sizeof(long long)=%u\n", (unsigned)sizeof(__Q8_QT));
-#endif
- printf("sizeof(intmax_t)=%u\n", (unsigned)sizeof(intmax_t));
- printf("sizeof(ptrdiff_t)=%u\n", (unsigned)sizeof(ptrdiff_t));
- printf("sizeof(size_t)=%u\n", (unsigned)sizeof(size_t));
- printf("sizeof(sig_atomic_t)=%u\n", (unsigned)sizeof(sig_atomic_t));
- printf("sizeof(wchar_t)=%u\n", (unsigned)sizeof(wchar_t));
-#if defined(WINT_MAX) || __STDC_VERSION__ >= 199901
- printf("sizeof(wint_t)=%u\n", (unsigned)sizeof(wint_t));
-#else
- printf("*** wint_t isn't defined ***\n");
- status = EXIT_FAILURE;
-#endif
-#ifdef INT8_MAX
- printf("sizeof(int8_t)=%u\n", (unsigned)sizeof(int8_t));
- printf("sizeof(uint8_t)=%u\n", (unsigned)sizeof(uint8_t));
-#endif
-#ifdef INT9_MAX
- printf("sizeof(int9_t)=%u\n", (unsigned)sizeof(int9_t));
- printf("sizeof(uint9_t)=%u\n", (unsigned)sizeof(uint9_t));
-#endif
-#ifdef INT12_MAX
- printf("sizeof(int12_t)=%u\n", (unsigned)sizeof(int12_t));
- printf("sizeof(uint12_t)=%u\n", (unsigned)sizeof(uint12_t));
-#endif
-#ifdef INT16_MAX
- printf("sizeof(int16_t)=%u\n", (unsigned)sizeof(int16_t));
- printf("sizeof(uint16_t)=%u\n", (unsigned)sizeof(uint16_t));
-#endif
-#ifdef INT18_MAX
- printf("sizeof(int18_t)=%u\n", (unsigned)sizeof(int18_t));
- printf("sizeof(uint18_t)=%u\n", (unsigned)sizeof(uint18_t));
-#endif
-#ifdef INT24_MAX
- printf("sizeof(int24_t)=%u\n", (unsigned)sizeof(int24_t));
- printf("sizeof(uint24_t)=%u\n", (unsigned)sizeof(uint24_t));
-#endif
-#ifdef INT32_MAX
- printf("sizeof(int32_t)=%u\n", (unsigned)sizeof(int32_t));
- printf("sizeof(uint32_t)=%u\n", (unsigned)sizeof(uint32_t));
-#endif
-#ifdef INT36_MAX
- printf("sizeof(int36_t)=%u\n", (unsigned)sizeof(int36_t));
- printf("sizeof(uint36_t)=%u\n", (unsigned)sizeof(uint36_t));
-#endif
-#ifdef INT40_MAX
- printf("sizeof(int40_t)=%u\n", (unsigned)sizeof(int40_t));
- printf("sizeof(uint40_t)=%u\n", (unsigned)sizeof(uint40_t));
-#endif
-#ifdef INT48_MAX
- printf("sizeof(int48_t)=%u\n", (unsigned)sizeof(int48_t));
- printf("sizeof(uint48_t)=%u\n", (unsigned)sizeof(uint48_t));
-#endif
-#ifdef INT60_MAX
- printf("sizeof(int60_t)=%u\n", (unsigned)sizeof(int60_t));
- printf("sizeof(uint60_t)=%u\n", (unsigned)sizeof(uint60_t));
-#endif
-#ifdef INT64_MAX
- printf("sizeof(int64_t)=%u\n", (unsigned)sizeof(int64_t));
- printf("sizeof(uint64_t)=%u\n", (unsigned)sizeof(uint64_t));
-#endif
-#ifdef INT72_MAX
- printf("sizeof(int72_t)=%u\n", (unsigned)sizeof(int72_t));
- printf("sizeof(uint72_t)=%u\n", (unsigned)sizeof(uint72_t));
-#endif
-#ifdef INT128_MAX
- printf("sizeof(int128_t)=%u\n", (unsigned)sizeof(int128_t));
- printf("sizeof(uint128_t)=%u\n", (unsigned)sizeof(uint128_t));
-#endif
- printf("sizeof(int_least8_t)=%u\n", (unsigned)sizeof(int_least8_t));
- printf("sizeof(uint_least8_t)=%u\n", (unsigned)sizeof(uint_least8_t));
- printf("sizeof(int_least16_t)=%u\n", (unsigned)sizeof(int_least16_t));
- printf("sizeof(uint_least16_t)=%u\n", (unsigned)sizeof(uint_least16_t));
- printf("sizeof(int_least32_t)=%u\n", (unsigned)sizeof(int_least32_t));
- printf("sizeof(uint_least32_t)=%u\n", (unsigned)sizeof(uint_least32_t));
-#ifdef INT_LEAST64_MAX
- printf("sizeof(int_least64_t)=%u\n", (unsigned)sizeof(int_least64_t));
- printf("sizeof(uint_least64_t)=%u\n", (unsigned)sizeof(uint_least64_t));
-#else
- printf("*** uint_least64_t isn't defined ***\n");
- status = EXIT_FAILURE;
-#endif
-#ifdef INT_LEAST128_MAX
- printf("sizeof(int_least128_t)=%u\n", (unsigned)sizeof(int_least128_t));
- printf("sizeof(uint_least128_t)=%u\n",
- (unsigned)sizeof(uint_least128_t));
-#endif
- printf("sizeof(int_fast8_t)=%u\n", (unsigned)sizeof(int_fast8_t));
- printf("sizeof(uint_fast8_t)=%u\n", (unsigned)sizeof(uint_fast8_t));
- printf("sizeof(int_fast16_t)=%u\n", (unsigned)sizeof(int_fast16_t));
- printf("sizeof(uint_fast16_t)=%u\n", (unsigned)sizeof(uint_fast16_t));
- printf("sizeof(int_fast32_t)=%u\n", (unsigned)sizeof(int_fast32_t));
- printf("sizeof(uint_fast32_t)=%u\n", (unsigned)sizeof(uint_fast32_t));
-#ifdef INT_FAST64_MAX
- printf("sizeof(int_fast64_t)=%u\n", (unsigned)sizeof(int_fast64_t));
- printf("sizeof(uint_fast64_t)=%u\n", (unsigned)sizeof(uint_fast64_t));
-#else
- printf("*** int_fast64_t isn't defined ***\n");
- status = EXIT_FAILURE;
-#endif
-#ifdef INT_FAST128_MAX
- printf("sizeof(int_fast128_t)=%u\n", (unsigned)sizeof(int_fast128_t));
- printf("sizeof(uint_fast128_t)=%u\n", (unsigned)sizeof(uint_fast128_t));
-#endif
-#if defined(INTPTR_MAX)
- printf("sizeof(intptr_t)=%u\n", (unsigned)sizeof(intptr_t));
-#if defined(UINTPTR_MAX)
- printf("sizeof(uintptr_t)=%u\n", (unsigned)sizeof(uintptr_t));
-#else
- printf("*** intptr_t is defined but uintptr_t isn't ***\n");
- status = EXIT_FAILURE;
-#endif
-#elif defined(UINTPTR_MAX)
- printf("sizeof(uintptr_t)=%u\n", (unsigned)sizeof(uintptr_t));
- printf("*** uintptr_t is defined but intptr_t isn't ***\n");
- status = EXIT_FAILURE;
-#else
- printf("*** neither intptr_t nor uintptr_t is defined ***\n");
- status = EXIT_FAILURE;
-#endif
-#ifdef INTMAX_MAX
- printf("sizeof(intmax_t)=%u\n", (unsigned)sizeof(intmax_t));
- printf("sizeof(uintmax_t)=%u\n", (unsigned)sizeof(uintmax_t));
-#else
- printf("*** intmax_t isn't defined ***\n");
- status = EXIT_FAILURE;
-#endif
-
-#ifdef INT8_MAX
- printf("INT8_MIN=%"PRIdMAX"\n", (__Q8_MT)INT8_MIN);
- printf("INT8_MAX=%"PRIdMAX"\n", (__Q8_MT)INT8_MAX);
- printf("UINT8_MAX=%"PRIuMAX"\n", (U__Q8_MT)UINT8_MAX);
-#endif
-#ifdef INT9_MAX
- printf("INT9_MIN=%"PRIdMAX"\n", (__Q8_MT)INT9_MIN);
- printf("INT9_MAX=%"PRIdMAX"\n", (__Q8_MT)INT9_MAX);
- printf("UINT9_MAX=%"PRIuMAX"\n", (U__Q8_MT)UINT9_MAX);
-#endif
-#ifdef INT12_MAX
- printf("INT12_MIN=%"PRIdMAX"\n", (__Q8_MT)INT12_MIN);
- printf("INT12_MAX=%"PRIdMAX"\n", (__Q8_MT)INT12_MAX);
- printf("UINT12_MAX=%"PRIuMAX"\n", (U__Q8_MT)UINT12_MAX);
-#endif
-#ifdef INT16_MAX
- printf("INT16_MIN=%"PRIdMAX"\n", (__Q8_MT)INT16_MIN);
- printf("INT16_MAX=%"PRIdMAX"\n", (__Q8_MT)INT16_MAX);
- printf("UINT16_MAX=%"PRIuMAX"\n", (U__Q8_MT)UINT16_MAX);
-#endif
-#ifdef INT18_MAX
- printf("INT18_MIN=%"PRIdMAX"\n", (__Q8_MT)INT18_MIN);
- printf("INT18_MAX=%"PRIdMAX"\n", (__Q8_MT)INT18_MAX);
- printf("UINT18_MAX=%"PRIuMAX"\n", (U__Q8_MT)UINT18_MAX);
-#endif
-#ifdef INT24_MAX
- printf("INT24_MIN=%"PRIdMAX"\n", (__Q8_MT)INT24_MIN);
- printf("INT24_MAX=%"PRIdMAX"\n", (__Q8_MT)INT24_MAX);
- printf("UINT24_MAX=%"PRIuMAX"\n", (U__Q8_MT)UINT24_MAX);
-#endif
-#ifdef INT32_MAX
- printf("INT32_MIN=%"PRIdMAX"\n", (__Q8_MT)INT32_MIN);
- printf("INT32_MAX=%"PRIdMAX"\n", (__Q8_MT)INT32_MAX);
- printf("UINT32_MAX=%"PRIuMAX"\n", (U__Q8_MT)UINT32_MAX);
-#endif
-#ifdef INT36_MAX
- printf("INT36_MIN=%"PRIdMAX"\n", (__Q8_MT)INT36_MIN);
- printf("INT36_MAX=%"PRIdMAX"\n", (__Q8_MT)INT36_MAX);
- printf("UINT36_MAX=%"PRIuMAX"\n", (U__Q8_MT)UINT36_MAX);
-#endif
-#ifdef INT40_MAX
- printf("INT40_MIN=%"PRIdMAX"\n", (__Q8_MT)INT40_MIN);
- printf("INT40_MAX=%"PRIdMAX"\n", (__Q8_MT)INT40_MAX);
- printf("UINT40_MAX=%"PRIuMAX"\n", (U__Q8_MT)UINT40_MAX);
-#endif
-#ifdef INT48_MAX
- printf("INT48_MIN=%"PRIdMAX"\n", (__Q8_MT)INT48_MIN);
- printf("INT48_MAX=%"PRIdMAX"\n", (__Q8_MT)INT48_MAX);
- printf("UINT48_MAX=%"PRIuMAX"\n", (U__Q8_MT)UINT48_MAX);
-#endif
-#ifdef INT60_MAX
- printf("INT60_MIN=%"PRIdMAX"\n", (__Q8_MT)INT60_MIN);
- printf("INT60_MAX=%"PRIdMAX"\n", (__Q8_MT)INT60_MAX);
- printf("UINT60_MAX=%"PRIuMAX"\n", (U__Q8_MT)UINT60_MAX);
-#endif
-#ifdef INT64_MAX
- printf("INT64_MIN=%"PRIdMAX"\n", (__Q8_MT)INT64_MIN);
- printf("INT64_MAX=%"PRIdMAX"\n", (__Q8_MT)INT64_MAX);
- printf("UINT64_MAX=%"PRIuMAX"\n", (U__Q8_MT)UINT64_MAX);
-#endif
-#ifdef INT72_MAX
- printf("INT72_MIN=%"PRIdMAX"\n", (__Q8_MT)INT72_MIN);
- printf("INT72_MAX=%"PRIdMAX"\n", (__Q8_MT)INT72_MAX);
- printf("UINT72_MAX=%"PRIuMAX"\n", (U__Q8_MT)UINT72_MAX);
-#endif
-#ifdef INT128_MAX
- printf("INT128_MIN=%"PRIdMAX"\n", (__Q8_MT)INT128_MIN);
- printf("INT128_MAX=%"PRIdMAX"\n", (__Q8_MT)INT128_MAX);
- printf("UINT128_MAX=%"PRIuMAX"\n", (U__Q8_MT)UINT128_MAX);
-#endif
- printf("INT_LEAST8_MIN=%"PRIdMAX"\n", (__Q8_MT)INT_LEAST8_MIN);
- printf("INT_LEAST8_MAX=%"PRIdMAX"\n", (__Q8_MT)INT_LEAST8_MAX);
- printf("UINT_LEAST8_MAX=%"PRIuMAX"\n",
- (U__Q8_MT)UINT_LEAST8_MAX);
- printf("INT_LEAST16_MIN=%"PRIdMAX"\n", (__Q8_MT)INT_LEAST16_MIN);
- printf("INT_LEAST16_MAX=%"PRIdMAX"\n", (__Q8_MT)INT_LEAST16_MAX);
- printf("UINT_LEAST16_MAX=%"PRIuMAX"\n",
- (U__Q8_MT)UINT_LEAST16_MAX);
- printf("INT_LEAST32_MIN=%"PRIdMAX"\n", (__Q8_MT)INT_LEAST32_MIN);
- printf("INT_LEAST32_MAX=%"PRIdMAX"\n", (__Q8_MT)INT_LEAST32_MAX);
- printf("UINT_LEAST32_MAX=%"PRIuMAX"\n",
- (U__Q8_MT)UINT_LEAST32_MAX);
-#ifdef INT_LEAST64_MAX
- printf("INT_LEAST64_MIN=%"PRIdMAX"\n", (__Q8_MT)INT_LEAST64_MIN);
- printf("INT_LEAST64_MAX=%"PRIdMAX"\n", (__Q8_MT)INT_LEAST64_MAX);
- printf("UINT_LEAST64_MAX=%"PRIuMAX"\n", (U__Q8_MT)UINT_LEAST64_MAX);
-#endif
-#ifdef INT_LEAST128_MAX
- printf("INT_LEAST128_MIN=%"PRIdMAX"\n", (__Q8_MT)INT_LEAST128_MIN);
- printf("INT_LEAST128_MAX=%"PRIdMAX"\n", (__Q8_MT)INT_LEAST128_MAX);
- printf("UINT_LEAST128_MAX=%"PRIuMAX"\n", (U__Q8_MT)UINT_LEAST128_MAX);
-#endif
- printf("INT_FAST8_MIN=%"PRIdMAX"\n", (__Q8_MT)INT_FAST8_MIN);
- printf("INT_FAST8_MAX=%"PRIdMAX"\n", (__Q8_MT)INT_FAST8_MAX);
- printf("UINT_FAST8_MAX=%"PRIuMAX"\n",
- (U__Q8_MT)UINT_FAST8_MAX);
- printf("INT_FAST16_MIN=%"PRIdMAX"\n", (__Q8_MT)INT_FAST16_MIN);
- printf("INT_FAST16_MAX=%"PRIdMAX"\n", (__Q8_MT)INT_FAST16_MAX);
- printf("UINT_FAST16_MAX=%"PRIuMAX"\n",
- (U__Q8_MT)UINT_FAST16_MAX);
- printf("INT_FAST32_MIN=%"PRIdMAX"\n", (__Q8_MT)INT_FAST32_MIN);
- printf("INT_FAST32_MAX=%"PRIdMAX"\n", (__Q8_MT)INT_FAST32_MAX);
- printf("UINT_FAST32_MAX=%"PRIuMAX"\n",
- (U__Q8_MT)UINT_FAST32_MAX);
-#ifdef INT_FAST64_MAX
- printf("INT_FAST64_MIN=%"PRIdMAX"\n", (__Q8_MT)INT_FAST64_MIN);
- printf("INT_FAST64_MAX=%"PRIdMAX"\n", (__Q8_MT)INT_FAST64_MAX);
- printf("UINT_FAST64_MAX=%"PRIuMAX"\n", (U__Q8_MT)UINT_FAST64_MAX);
-#endif
-#ifdef INT_FAST128_MAX
- printf("INT_FAST128_MIN=%"PRIdMAX"\n", (__Q8_MT)INT_FAST128_MIN);
- printf("INT_FAST128_MAX=%"PRIdMAX"\n", (__Q8_MT)INT_FAST128_MAX);
- printf("UINT_FAST128_MAX=%"PRIuMAX"\n", (U__Q8_MT)UINT_FAST128_MAX);
-#endif
-#ifdef INTPTR_MAX
- printf("INTPTR_MIN=%"PRIdMAX"\n", (__Q8_MT)INTPTR_MIN);
- printf("INTPTR_MAX=%"PRIdMAX"\n", (__Q8_MT)INTPTR_MAX);
-#endif
-#ifdef UINTPTR_MAX
- printf("UINTPTR_MAX=%"PRIuMAX"\n", (U__Q8_MT)UINTPTR_MAX);
-#endif
-#ifdef INTMAX_MAX
- printf("INTMAX_MIN=%"PRIdMAX"\n", (__Q8_MT)INTMAX_MIN);
- printf("INTMAX_MAX=%"PRIdMAX"\n", (__Q8_MT)INTMAX_MAX);
- printf("UINTMAX_MAX=%"PRIuMAX"\n", (U__Q8_MT)UINTMAX_MAX);
-#endif
-#ifdef PTRDIFF_MAX
- printf("PTRDIFF_MIN=%"PRIdMAX"\n", (__Q8_MT)PTRDIFF_MIN);
- printf("PTRDIFF_MAX=%"PRIdMAX"\n", (__Q8_MT)PTRDIFF_MAX);
-#endif
-#ifdef SIG_ATOMIC_MAX
-#if SIG_ATOMIC_MIN < 0
- printf("SIG_ATOMIC_MIN=%"PRIdMAX"\n", (__Q8_MT)SIG_ATOMIC_MIN);
- printf("SIG_ATOMIC_MAX=%"PRIdMAX"\n", (__Q8_MT)SIG_ATOMIC_MAX);
-#else
- printf("SIG_ATOMIC_MIN=%"PRIuMAX"\n", (U__Q8_MT)SIG_ATOMIC_MIN);
- printf("SIG_ATOMIC_MAX=%"PRIuMAX"\n", (U__Q8_MT)SIG_ATOMIC_MAX);
-#endif
-#endif
-#ifdef SIZE_MAX
- printf("SIZE_MAX=%"PRIuMAX"\n", (U__Q8_MT)SIZE_MAX);
-#endif
-
-#ifdef WCHAR_MAX
-#if WCHAR_MIN < 0
- printf("WCHAR_MIN=%"PRIdMAX"\n", (__Q8_MT)WCHAR_MIN);
- printf("WCHAR_MAX=%"PRIdMAX"\n", (__Q8_MT)WCHAR_MAX);
-#else
- printf("WCHAR_MIN=%"PRIuMAX"\n", (U__Q8_MT)WCHAR_MIN);
- printf("WCHAR_MAX=%"PRIuMAX"\n", (U__Q8_MT)WCHAR_MAX);
-#endif
-#endif
-#ifdef WINT_MAX
-#if WINT_MIN < 0
- printf("WINT_MIN=%"PRIdMAX"\n", (__Q8_MT)WINT_MIN);
- printf("WINT_MAX=%"PRIdMAX"\n", (__Q8_MT)WINT_MAX);
-#else
- printf("WINT_MIN=%"PRIuMAX"\n", (U__Q8_MT)WINT_MIN);
- printf("WINT_MAX=%"PRIuMAX"\n", (U__Q8_MT)WINT_MAX);
-#endif
-#endif
-
- /*
- 7.18.4 Macros for integer constants
- */
-
- /* INTn_C for n=8 and 16 were at one point unimplementable
- on most platforms, so they're treated as "optional": */
-#ifdef INT8_C
- if ( INT8_C(-123) != -123 )
- printf("*** INT8_C(-123) produced %"PRIdMAX" ***\n",
- (__Q8_MT)INT8_C(-123)
- );
- if ( UINT8_C(123) != 123 )
- printf("*** UINT8_C(123) produced %"PRIuMAX" ***\n",
- (U__Q8_MT)UINT8_C(123)
- );
-#endif
-#ifdef INT16_C
- if ( INT16_C(-12345) != -12345 )
- printf("*** INT16_C(-12345) produced %"PRIdMAX" ***\n",
- (__Q8_MT)INT16_C(-12345)
- );
- if ( UINT16_C(12345) != 12345 )
- printf("*** UINT16_C(12345) produced %"PRIuMAX" ***\n",
- (U__Q8_MT)UINT16_C(12345)
- );
-#endif
- if ( INT32_C(-123456789) != -123456789 )
- printf("*** INT32_C(-123456789) produced %"PRIdMAX" ***\n",
- (__Q8_MT)INT32_C(-123456789)
- );
- if ( UINT32_C(123456789) != 123456789 )
- printf("*** UINT32_C(123456789) produced %"PRIuMAX" ***\n",
- (U__Q8_MT)UINT32_C(123456789)
- );
-#ifdef INT_LEAST64_MAX
- if ( INT64_C(-1234567890123456789) != -1234567890123456789 )
- printf("*** INT64_C(-1234567890123456789) produced %"PRIdMAX
- " ***\n",
- (__Q8_MT)INT64_C(-1234567890123456789)
- );
- if ( UINT64_C(1234567890123456789) != 1234567890123456789 )
- printf("*** UINT64_C(1234567890123456789) produced %"PRIuMAX
- " ***\n",
- (U__Q8_MT)UINT64_C(1234567890123456789)
- );
-#endif
-#ifdef INTMAX_MAX
- if ( INTMAX_C(-1234567890123456789) != -1234567890123456789 )
- printf("*** INTMAX_C(-1234567890123456789) produced %"PRIdMAX
- " ***\n",
- (__Q8_MT)INTMAX_C(-1234567890123456789)
- );
- if ( UINTMAX_C(1234567890123456789) != 1234567890123456789 )
- printf("*** UINTMAX_C(1234567890123456789) produced %"PRIuMAX
- " ***\n",
- (U__Q8_MT)UINTMAX_C(1234567890123456789)
- );
-#endif
-
- /* <inttypes.h> features: */
-
-#if __STDC_VERSION__ >= 199901
- printf("sizeof(imaxdiv_t)=%u\n", (unsigned)sizeof(imaxdiv_t));
-#endif
-
- /*
- 7.8.1 Macros for format specifiers
- */
-
- {
- /* scanf these strings */
- static const char in_dn[] = "Z119bZ";
- static const char in_dmo[] = "Z-0119bZ";
- static const char in_dspx[] = "Z \t\n +0X119bZ";
- static const char in_dsmx[] = "Z \t\n -0x119bZ";
- static const char in_dsn[] = "Z \t\n 119bZ";
- static const char in_dp[] = "Z+119bZ";
- static const char in_dpx[] = "Z+0X119bz";
-
- /* sprintf into this */
- static char buffer[1024];
-
-#define SCAN(buf,fs,var,exp) if ( sscanf(buf, "Z%" fs, &var) != 1 ) \
- { \
- printf("*** " #fs "=" STR_SUB(fs) \
- " failed ***\n" \
- ); \
- status = EXIT_FAILURE; \
- } \
- else if ( var != (exp) ) \
- { \
- printf("*** " #fs "=" STR_SUB(fs) \
- " should be: " STR_SUB(exp) \
- ", was: %" fs " ***\n", var \
- ); \
- status = EXIT_FAILURE; \
- } \
- else
-
-#define PRINT(fs,var,exp) if ( sprintf(buffer, "%" fs, var ) <= 0 ) \
- { \
- printf("*** " #fs "=" STR_SUB(fs) \
- " failed ***\n" \
- ); \
- status = EXIT_FAILURE; \
- } \
- else if ( strcmp(buffer, STR_SUB(exp)) != 0 ) \
- { \
- printf("*** " #fs "=" STR_SUB(fs) \
- " should be: " STR_SUB(exp) \
- ", was: %s ***\n", buffer \
- ); \
- status = EXIT_FAILURE; \
- } \
- else
-
-#ifdef SCNo32
- SCAN(in_dn, SCNo32, int32, 9);
-#endif
-#ifdef PRIo32
- PRINT(PRIo32, int32, 11);
-#endif
- SCAN(in_dmo, SCNiLEAST16, intl16, -9);
- SCAN(in_dspx, SCNdLEAST16, intl16, 0);
- SCAN(in_dsmx, SCNiLEAST16, intl16, -4507);
- PRINT(PRIdLEAST16, intl16, -4507);
- PRINT(PRIiLEAST16, intl16, -4507);
- SCAN(in_dsn, SCNxLEAST16, uintl16, 4507);
- PRINT(PRIoLEAST16, uintl16, 10633);
- PRINT(PRIuLEAST16, uintl16, 4507);
- PRINT(PRIxLEAST16, uintl16, 119b);
- PRINT(PRIXLEAST16, uintl16, 119B);
- SCAN(in_dp, SCNxFAST16, uintf16, 4507);
- PRINT(PRIxFAST16, uintf16, 119b);
-#ifdef SCNdMAX
- SCAN(in_dp, SCNdMAX, intmax, 119);
-#endif
-#ifdef PRIiMAX
- PRINT(PRIiMAX, intmax, 119);
-#endif
-#ifdef SCNoMAX
- SCAN(in_dpx, SCNoMAX, uintmax, 0);
-#endif
-#ifdef PRIxMAX
- PRINT(PRIxMAX, uintmax, 0);
-#endif
- /* Obviously there should be a much larger battery of such tests. */
- }
-
-#if defined(INTMAX_MAX) /* <inttypes.h> has C99 features */
- /*
- 7.8.2 Functions for greatest-width integer types
- */
-
- {
- static struct
- {
- intmax_t input;
- intmax_t expect;
- } abs_data[] =
- {
-#ifdef INT8_MAX
- {INT8_MAX, INT8_MAX},
- {-INT8_MAX, INT8_MAX},
- {UINT8_MAX, UINT8_MAX},
-#endif
-
-#ifdef INT16_MAX
- { INT16_MAX, INT16_MAX},
- { -INT16_MAX, INT16_MAX},
- { UINT16_MAX, UINT16_MAX},
-#endif
-#ifdef INT32_MAX
- { INT32_MAX, INT32_MAX},
- { -INT32_MAX, INT32_MAX},
-#ifdef INT_LEAST64_MAX
- { UINT32_MAX, UINT32_MAX},
-#endif
-#endif
-#ifdef INT64_MAX
- { INT64_MAX, INT64_MAX},
- { -INT64_MAX, INT64_MAX},
-#endif
- { INT_LEAST8_MAX, INT_LEAST8_MAX},
- { -INT_LEAST8_MAX, INT_LEAST8_MAX},
- { UINT_LEAST8_MAX, UINT_LEAST8_MAX},
- { INT_LEAST16_MAX, INT_LEAST16_MAX},
- { -INT_LEAST16_MAX, INT_LEAST16_MAX},
- { UINT_LEAST16_MAX, UINT_LEAST16_MAX},
- { INT_LEAST32_MAX, INT_LEAST32_MAX},
- { -INT_LEAST32_MAX, INT_LEAST32_MAX},
-#ifdef INT_LEAST64_MAX
- { UINT_LEAST32_MAX, UINT_LEAST32_MAX},
- { INT_LEAST64_MAX, INT_LEAST64_MAX},
- { -INT_LEAST64_MAX, INT_LEAST64_MAX},
-#endif
- { INT_FAST8_MAX, INT_FAST8_MAX},
- { -INT_FAST8_MAX, INT_FAST8_MAX},
- { UINT_FAST8_MAX, UINT_FAST8_MAX},
- { INT_FAST16_MAX, INT_FAST16_MAX},
- { -INT_FAST16_MAX, INT_FAST16_MAX},
- { UINT_FAST16_MAX, UINT_FAST16_MAX},
- { INT_FAST32_MAX, INT_FAST32_MAX},
- { -INT_FAST32_MAX, INT_FAST32_MAX},
-#ifdef INT_FAST64_MAX
- { UINT_FAST32_MAX, UINT_FAST32_MAX},
- { INT_FAST64_MAX, INT_FAST64_MAX},
- { -INT_FAST64_MAX, INT_FAST64_MAX},
-#endif
-#ifdef INTPTR_MAX
- { INTPTR_MAX, INTPTR_MAX},
- { -INTPTR_MAX, INTPTR_MAX},
-#endif
-#ifdef UINTPTR_MAX
- { UINTPTR_MAX, UINTPTR_MAX},
-#endif
- { INTMAX_MAX, INTMAX_MAX},
-#ifdef PTRDIFF_MAX
- { PTRDIFF_MAX, PTRDIFF_MAX},
-#endif
-#ifdef SIG_ATOMIC_MAX
- { SIG_ATOMIC_MAX, SIG_ATOMIC_MAX},
-#if SIG_ATOMIC_MIN < 0
- { -SIG_ATOMIC_MAX, SIG_ATOMIC_MAX},
-#endif
-#endif
-#ifdef SIZE_MAX
- { SIZE_MAX, SIZE_MAX},
-#endif
-#ifdef WCHAR_MAX
- { WCHAR_MAX, WCHAR_MAX},
-#if WCHAR_MIN < 0
- { -WCHAR_MAX, WCHAR_MAX},
-#endif
-#endif
-#ifdef WINT_MAX
- { WINT_MAX, WINT_MAX},
-#if WINT_MIN < 0
- { -WINT_MAX, WINT_MAX},
-#endif
-#endif
- { 127, 127},
- { -127, 127},
- { 128, 128},
- { -127-1, 128},
- { 255, 255},
- { -256+1, 255},
- { 256, 256},
- { -256, 256},
- { 32767, 32767},
- { -32767, 32767},
- { 32768, 32768},
- { -32767-1, 32768},
- { 65535, 65535},
- { -65536+1, 65535},
- { 65536, 65536},
- { -65536, 65536},
- { 2147483647, 2147483647},
- { -2147483647, 2147483647},
- { 2147483648LL, 2147483648LL},
- { -2147483647LL-1, 2147483648LL},
-#ifdef INT_LEAST64_MAX
- { 4294967295LL, 4294967295LL},
- { -4294967296LL+1, 4294967295LL},
- { 4294967296LL, 4294967296LL},
- { -4294967296LL, 4294967296LL},
- { 9223372036854775807LL, 9223372036854775807LL},
- { -9223372036854775807LL, 9223372036854775807LL},
- { 1234567890123456789LL, 1234567890123456789LL},
- { -1234567890123456789LL, 1234567890123456789LL},
-#endif
- { 1, 1},
- { -1, 1},
- { 2, 2},
- { -2, 2},
- { 10, 10},
- { -10, 10},
- { 16, 16},
- { -16, 16},
- /* Other test cases can be added here. */
- {0, 0} /* terminates the list */
- }, *adp=abs_data;
- int count=0;
- do{
- intmax = imaxabs(adp->input);
- count++;
- if (intmax != adp->expect )
- {
-
- printf("*** imaxabs(%"PRIdMAX") failed; should be: %"
- PRIdMAX", was: %"PRIdMAX" ***\n",
- adp->input, adp->expect, intmax
- );
- status = EXIT_FAILURE;
- }
- }
- while ( adp++->input != 0 );
- }
-
- {
- imaxdiv_t result;
- static struct
- {
- intmax_t numer;
- intmax_t denom;
- intmax_t exp_quot;
- intmax_t exp_rem;
- } div_data[] =
- {
- { 0, 1, 0, 0},
- { 0, -1, 0, 0},
- { 0, 2, 0, 0},
- { 0, -2, 0, 0},
- { 0, 5, 0, 0},
- { 0, -5, 0, 0},
- { 1, 1, 1, 0},
- { 1, -1, -1, 0},
- { 1, 2, 0, 1},
- { 1, -2, 0, 1},
- { 1, 5, 0, 1},
- { 1, -5, 0, 1},
- { -1, 1, -1, 0},
- { -1, -1, 1, 0},
- { -1, 2, 0, -1},
- { -1, -2, 0, -1},
- { -1, 5, 0, -1},
- { -1, -5, 0, -1},
- { 2, 1, 2, 0},
- { 2, -1, -2, 0},
- { 2, 2, 1, 0},
- { 2, -2, -1, 0},
- { 2, 5, 0, 2},
- { 2, -5, 0, 2},
- { -2, 1, -2, 0},
- { -2, -1, 2, 0},
- { -2, 2, -1, 0},
- { -2, -2, 1, 0},
- { -2, 5, 0, -2},
- { -2, -5, 0, -2},
- { 17, 5, 3, 2},
- { -17, -5, 3, -2},
- { 17, -5, -3, 2},
- { -17, 5, -3, -2},
- { 2147483647, 1, 2147483647, 0},
- { -2147483647LL, 1, -2147483647LL, 0},
- { 2147483648LL, 1LL, 2147483648LL, 0LL},
- { -2147483647-1LL, 1LL, -2147483647-1LL, 0LL},
- { 2147483647LL, 2LL, 1073741823LL, 1LL},
- { -2147483647LL, 2LL, -1073741823LL, -1LL},
- { 2147483648LL, 2LL, 1073741824LL, 0LL},
- { -2147483647-1LL, 2LL, -1073741824LL, 0LL},
-#ifdef INT_LEAST64_MAX /* else might support only 32 bits */
- { 4294967295LL, 1LL, 4294967295LL, 0LL},
- { -4294967296LL+1LL, 1LL, -4294967296LL+1, 0},
- { 4294967296LL, 1, 4294967296LL, 0},
- { -4294967296LL, 1LL, -4294967296LL, 0LL},
- { 4294967295LL, -1LL, -4294967296+1LL, 0LL},
- { -4294967296+1LL, -1LL, 4294967295LL, 0LL},
- { 4294967296LL, -1LL, -4294967296LL, 0LL},
- { -4294967296LL, -1LL, 4294967296LL, 0LL},
- { 4294967295LL, 2LL, 2147483647LL, 1LL},
- { -4294967296+1LL, 2LL, -2147483647LL, -1LL},
- { 4294967296LL, 2LL, 2147483648LL, 0LL},
- { -4294967296LL, 2LL, -2147483647-1LL, 0LL},
- { 4294967295LL, 2147483647LL, 2LL, 1LL},
- { -4294967296+1LL, 2147483647LL, -2LL, -1LL},
- { 4294967296LL, 2147483647LL, 2LL, 2LL},
- { -4294967296LL, 2147483647LL, -2LL, -2LL},
- { 4294967295LL, -2147483647LL, -2LL, 1LL},
- { -4294967296+1LL, -2147483647LL, 2LL, -1LL},
- { 4294967296LL, -2147483647LL, -2LL, 2LL},
- { -4294967296LL, -2147483647LL, 2LL, -2LL},
- { 4294967295LL, 2147483648LL, 1LL, 2147483647LL},
- { -4294967296+1LL, 2147483648LL, -1LL, -2147483647LL},
- { 4294967296LL, 2147483648LL, 2LL, 0LL},
- { -4294967296LL, 2147483648LL, -2LL, 0LL},
- { 4294967295LL, -2147483647-1LL, -1LL, 2147483647LL},
- { -4294967296+1LL, -2147483647-1LL, 1LL, -2147483647LL},
- { 4294967296LL, -2147483647-1LL, -2LL, 0LL},
- { -4294967296LL, -2147483647-1LL, 2LL, 0LL},
- { 9223372036854775807LL, 1LL, 9223372036854775807LL, 0LL},
- { -9223372036854775807LL, 1LL, -9223372036854775807LL, 0LL},
- { 9223372036854775807LL, 2LL, 4611686018427387903LL, 1LL},
- { -9223372036854775807LL, 2LL, -4611686018427387903LL, -1LL},
-#endif
- /* There should be a much larger battery of such tests. */
- { 0, 0, 0, 0} /* 0 denom terminates the list */
- }, *ddp;
-
- for ( ddp = div_data; ddp->denom != 0; ++ddp )
- if ( (result = imaxdiv(ddp->numer, ddp->denom)).quot
- != ddp->exp_quot || result.rem != ddp->exp_rem
- ) {
- printf("*** imaxdiv(%"PRIdMAX",%"PRIdMAX
- ") failed; should be: (%"PRIdMAX",%"PRIdMAX
- "), was: (%"PRIdMAX",%"PRIdMAX") ***\n",
- ddp->numer, ddp->denom, ddp->exp_quot,
- ddp->exp_rem, result.quot, result.rem
- );
- status = EXIT_FAILURE;
- }
- }
-
- {
- char *endptr;
- wchar_t *wendptr;
- static char saved[64]; /* holds copy of input string */
- static wchar_t wnptr[64]; /* holds wide copy of test string */
- static int warned; /* "warned for null endptr" flag */
- register int i;
- static struct
- {
- char * nptr;
- int base;
- intmax_t exp_val;
- int exp_len;
- } str_data[] =
- {
- { "", 0, 0, 0},
- { "", 2, 0, 0},
- { "", 8, 0, 0},
- { "", 9, 0, 0},
- { "", 10, 0, 0},
- { "", 16, 0, 0},
- { "", 36, 0, 0},
- { "0", 0, 0, 1},
- { "0", 2, 0, 1},
- { "0", 8, 0, 1},
- { "0", 9, 0, 1},
- { "0", 10, 0, 1},
- { "0", 16, 0, 1},
- { "0", 36, 0, 1},
- { "+0", 0, 0, 2},
- { "+0", 2, 0, 2},
- { "+0", 8, 0, 2},
- { "+0", 9, 0, 2},
- { "+0", 10, 0, 2},
- { "+0", 16, 0, 2},
- { "+0", 36, 0, 2},
- { "-0", 0, 0, 2},
- { "-0", 2, 0, 2},
- { "-0", 8, 0, 2},
- { "-0", 9, 0, 2},
- { "-0", 10, 0, 2},
- { "-0", 16, 0, 2},
- { "-0", 36, 0, 2},
- { "Inf", 0, 0, 0},
- { "Inf", 2, 0, 0},
- { "Inf", 8, 0, 0},
- { "Inf", 9, 0, 0},
- { "Inf", 10, 0, 0},
- { "Inf", 16, 0, 0},
- { "Inf", 36, 24171, 3},
- { "+Inf", 0, 0, 0},
- { "+Inf", 2, 0, 0},
- { "+Inf", 8, 0, 0},
- { "+Inf", 9, 0, 0},
- { "+Inf", 10, 0, 0},
- { "+Inf", 16, 0, 0},
- { "+Inf", 36, 24171, 4},
- { "-Inf", 0, 0, 0},
- { "-Inf", 2, 0, 0},
- { "-Inf", 8, 0, 0},
- { "-Inf", 9, 0, 0},
- { "-Inf", 10, 0, 0},
- { "-Inf", 16, 0, 0},
- { "-Inf", 36, -24171, 4},
- { "inf", 0, 0, 0},
- { "inf", 2, 0, 0},
- { "inf", 8, 0, 0},
- { "inf", 9, 0, 0},
- { "inf", 10, 0, 0},
- { "inf", 16, 0, 0},
- { "inf", 36, 24171, 3},
- { "+inf", 0, 0, 0},
- { "+inf", 2, 0, 0},
- { "+inf", 8, 0, 0},
- { "+inf", 9, 0, 0},
- { "+inf", 10, 0, 0},
- { "+inf", 16, 0, 0},
- { "+inf", 36, 24171, 4},
- { "-inf", 0, 0, 0},
- { "-inf", 2, 0, 0},
- { "-inf", 8, 0, 0},
- { "-inf", 9, 0, 0},
- { "-inf", 10, 0, 0},
- { "-inf", 16, 0, 0},
- { "-inf", 36, -24171, 4},
- { "119b8Z", 0, 119, 3},
- { "119bZ", 0, 119, 3},
- { "-0119bZ", 0, -9, 4},
- { " \t\n 0X119bZ", 0, 4507, 10},
- { " \t\n +0X119bZ", 0, 4507, 11},
- { " \t\n -0x119bZ", 0, -4507, 11},
- { " \t\n 119bZ", 0, 119, 7},
- { "+119bZ", 0, 119, 4},
- { "+0X119bz", 0, 4507, 7},
- { "119b8Z", 2, 3, 2},
- { "119bZ", 2, 3, 2},
- { "-0119bZ", 2, -3, 4},
- { " \t\n 0X119bZ", 2, 0, 5},
- { " \t\n +0X119bZ", 2, 0, 6},
- { " \t\n -0x119bZ", 2, 0, 6},
- { " \t\n 119bZ", 2, 3, 6},
- { "+119bZ", 2, 3, 3},
- { "+0X119bz", 2, 0, 2},
- { "119b8Z", 8, 9, 2},
- { "119bZ", 8, 9, 2},
- { "-0119bZ", 8, -9, 4},
- { " \t\n 0X119bZ", 8, 0, 5},
- { " \t\n +0X119bZ", 8, 0, 6},
- { " \t\n -0x119bZ", 8, 0, 6},
- { " \t\n 119bZ", 8, 9, 6},
- { "+119bZ", 8, 9, 3},
- { "+0X119bz", 8, 0, 2},
- { "119b8Z", 9, 10, 2},
- { "119bZ", 9, 10, 2},
- { "-0119bZ", 9, -10, 4},
- { " \t\n 0X119bZ", 9, 0, 5},
- { " \t\n +0X119bZ", 9, 0, 6},
- { " \t\n -0x119bZ", 9, 0, 6},
- { " \t\n 119bZ", 9, 10, 6},
- { "+119bZ", 9, 10, 3},
- { "+0X119bz", 9, 0, 2},
- { "119b8Z", 10, 119, 3},
- { "119bZ", 10, 119, 3},
- { "-0119bZ", 10, -119, 5},
- { " \t\n 0X119bZ", 10, 0, 5},
- { " \t\n +0X119bZ", 10, 0, 6},
- { " \t\n -0x119bZ", 10, 0, 6},
- { " \t\n 119bZ", 10, 119, 7},
- { "+119bZ", 10, 119, 4},
- { "+0X119bz", 10, 0, 2},
- { "119b8Z", 16, 72120, 5},
- { "119bZ", 16, 4507, 4},
- { "-0119bZ", 16, -4507, 6},
- { " \t\n 0X119bZ", 16, 4507, 10},
- { " \t\n +0X119bZ", 16, 4507, 11},
- { " \t\n -0x119bZ", 16, -4507, 11},
- { " \t\n 119bZ", 16, 4507,8},
- { "+119bZ", 16, 4507, 5},
- { "+0X119bz", 16, 4507, 7},
- { "119b8Z", 36, 62580275, 6},
- { "119bZ", 36, 1738367, 5},
- { "-0119bZ", 36, -1738367, 7},
- { " \t\n 0X119bZ", 36, 1997122175, 11},
- { " \t\n +0X119bZ", 36, 1997122175, 12},
- { " \t\n -0x119bZ", 36, -1997122175, 12},
- { " \t\n 119bZ", 36, 1738367, 9},
- { "+119bZ", 36, 1738367, 6},
- { "+0X119bz", 36, 1997122175, 8},
- /* There should be a much larger battery of such tests. */
- { "127", 0, 127, 3},
- { "-127", 0, -127, 4},
- { "128", 0, 128, 3},
- { "-128", 0, -127-1, 4},
- { "255", 0, 255, 3},
- { "-255", 0, -255, 4},
- { "256", 0, 256, 3},
- { "-256", 0, -255-1, 4},
- { "32767", 0, 32767, 5},
- { "-32767", 0, -32767, 6},
- { "32768", 0, 32768, 5},
- { "-32768", 0, -32767-1, 6},
- { "65535", 0, 65535, 5},
- { "-65535", 0, -65536+1, 6},
- { "65536", 0, 65536, 5},
- { "-65536", 0, -65536, 6},
- { "2147483647", 0, 2147483647, 10},
- { "-2147483647", 0, -2147483647, 11},
- { "2147483648", 0, 2147483648LL, 10},
- { "-2147483648", 0, -2147483647LL-1, 11},
- { "4294967295", 0, 4294967295LL, 10},
- { "-4294967295", 0, -4294967296LL+1, 11},
- { "4294967296", 0, 4294967296LL, 10},
- { "-4294967296", 0, -4294967296L, 11},
- { "9223372036854775807", 0, 9223372036854775807LL, 19},
- { "-9223372036854775807", 0, -9223372036854775807LL, 20},
- { "1234567890123456789", 0, 1234567890123456789LL, 19},
- { "-1234567890123456789", 0, -1234567890123456789LL, 20},
- { "1", 0, 1, 1},
- { "-1", 0, -1, 2},
- { "2", 0, 2, 1},
- { "-2", 0, -2, 2},
- { "10", 0, 10, 2},
- { "-10", 0, -10, 3},
- { "16", 0, 16, 2},
- { "-16", 0, -16, 3},
- /* Other test cases can be added here. */
- { NULL, 0, 0, 0 } /* terminates the list */
- }, *sdp;
-
- for ( sdp = str_data; sdp->nptr != NULL ; ++sdp )
- {
- /*
- 7.8.2.3 The strtoimax and strtoumax functions
- */
-
- strcpy(saved, sdp->nptr);
-
- errno = 0; /* shouldn't be changed */
-
- if ( (intmax = strtoimax(sdp->nptr, &endptr, sdp->base))
- != sdp->exp_val
- ) {
- int save = errno;
-
- printf("*** strtoimax(%s,,%d) failed; should be: %"
- PRIdMAX", was: %"PRIdMAX" ***\n", sdp->nptr,
- sdp->base, sdp->exp_val, intmax
- );
- status = EXIT_FAILURE;
- errno = save;
- }
- else if ( endptr != sdp->nptr + sdp->exp_len )
- {
- int save = errno;
-
- printf("*** strtoimax(%s,,%d) returned wrong endptr"
- " ***\n", sdp->nptr, sdp->base
- );
- status = EXIT_FAILURE;
- errno = save;
- }
-
- if ( errno != 0 )
- {
- printf("*** strtoimax modified errno ***\n");
- status = EXIT_FAILURE;
- }
-
- if ( strcmp(sdp->nptr, saved) != 0 )
- {
- printf("*** strtoimax modified its input ***\n");
- status = EXIT_FAILURE;
- strcpy(saved, sdp->nptr);
- }
-
- if ( sdp->exp_val >= 0 ) /* else some sign extension */
- {
- errno = 0; /* shouldn't be changed */
-
- if ( (uintmax = strtoumax(sdp->nptr, &endptr, sdp->base
- )
- ) != sdp->exp_val
- ) {
- int save = errno;
-
- printf("*** strtoumax(%s,,%d) failed; "
- "should be: %"PRIuMAX", was: %"PRIuMAX
- " ***\n", sdp->nptr, sdp->base,
- sdp->exp_val, uintmax
- );
- status = EXIT_FAILURE;
- errno = save;
- }
- else if ( endptr != sdp->nptr + sdp->exp_len )
- {
- int save = errno;
-
- printf("*** strtoumax(%s,,%d) returned wrong "
- "endptr ***\n", sdp->nptr, sdp->base
- );
- status = EXIT_FAILURE;
- errno = save;
- }
-
- if ( errno != 0 )
- {
- printf("*** strtoumax modified errno ***\n");
- status = EXIT_FAILURE;
- }
-
- if ( strcmp(sdp->nptr, saved) != 0 )
- {
- printf("*** strtoumax"
- " modified its input ***\n"
- );
- status = EXIT_FAILURE;
- strcpy(saved, sdp->nptr);
- }
- }
-
- /* tests for null endptr */
-
-#define WARN() if (!warned) warned = 1, printf("*** Using null endptr: ***\n")
-
- warned = 0;
- errno = 0; /* shouldn't be changed */
-
- if ( (intmax = strtoimax(sdp->nptr, (char **)NULL, sdp->base))
- != sdp->exp_val
- ) {
- int save = errno;
-
- WARN();
- printf("*** strtoimax(%s,NULL,%d) failed; "
- "should be: %"PRIdMAX", was: %"PRIdMAX" ***\n",
- sdp->nptr, sdp->base, sdp->exp_val, intmax
- );
- status = EXIT_FAILURE;
- errno = save;
- }
-
- if ( errno != 0 )
- {
- WARN();
- printf("*** strtoimax modified errno ***\n");
- status = EXIT_FAILURE;
- }
-
- if ( strcmp(sdp->nptr, saved) != 0 )
- {
- WARN();
- printf("*** strtoimax modified its input ***\n");
- status = EXIT_FAILURE;
- strcpy(saved, sdp->nptr);
- }
-
- if ( sdp->exp_val >= 0 ) /* else some sign extension */
- {
- errno = 0; /* shouldn't be changed */
-
- if ( (uintmax = strtoumax(sdp->nptr, (char **)NULL,
- sdp->base
- )
- ) != sdp->exp_val
- ) {
- int save = errno;
-
- WARN();
- printf("*** strtoumax(%s,NULL,%d) failed; "
- "should be: %"PRIuMAX", was: %"PRIuMAX
- " ***\n", sdp->nptr, sdp->base,
- sdp->exp_val, uintmax
- );
- status = EXIT_FAILURE;
- errno = save;
- }
-
- if ( errno != 0 )
- {
- WARN();
- printf("*** strtoumax modified errno ***\n");
- status = EXIT_FAILURE;
- }
-
- if ( strcmp(sdp->nptr, saved) != 0 )
- {
- WARN();
- printf("*** strtoumax"
- " modified its input ***\n"
- );
- status = EXIT_FAILURE;
- strcpy(saved, sdp->nptr);
- }
- }
-
- /*
- 7.8.2.4 The wcstoimax and wcstoumax functions
- */
-
- for ( i = 0; i < 64; ++i )
- if ( (wnptr[i] = sdp->nptr[i]) == '\0' )
- break;
-
- errno = 0; /* shouldn't be changed */
-
- if ( (intmax = wcstoimax(wnptr, &wendptr, sdp->base))
- != sdp->exp_val
- ) {
- int save = errno;
-
- printf("*** wcstoimax(%s,,%d) failed; should be: %"
- PRIdMAX", was: %"PRIdMAX" ***\n", sdp->nptr,
- sdp->base, sdp->exp_val, intmax
- );
- status = EXIT_FAILURE;
- errno = save;
- }
- else if ( wendptr != wnptr + sdp->exp_len )
- {
- int save = errno;
-
- printf("*** wcstoimax(%s,,%d) returned wrong endptr"
- " ***\n", sdp->nptr, sdp->base
- );
- status = EXIT_FAILURE;
- errno = save;
- }
-
- if ( errno != 0 )
- {
- printf("*** wcstoimax modified errno ***\n");
- status = EXIT_FAILURE;
- }
-
- for ( i = 0; i < 64; ++i )
- if ( wnptr[i] != sdp->nptr[i] )
- {
- printf("*** wcstoimax modified its input ***\n"
- );
- status = EXIT_FAILURE;
-
- for ( ; i < 64; ++i )
- if ( (wnptr[i] = sdp->nptr[i]) == '\0' )
- break;
-
- break;
- }
- else if ( wnptr[i] == '\0' )
- break;
-
- if ( sdp->exp_val >= 0 ) /* else some sign extension */
- {
- errno = 0; /* shouldn't be changed */
-
- if ( (uintmax = wcstoumax(wnptr, &wendptr, sdp->base)
- ) != sdp->exp_val
- ) {
- int save = errno;
-
- printf("*** wcstoumax(%s,,%d) failed; "
- "should be: %"PRIuMAX", was: %"PRIuMAX
- " ***\n", sdp->nptr, sdp->base,
- sdp->exp_val, uintmax
- );
- status = EXIT_FAILURE;
- errno = save;
- }
- else if ( wendptr != wnptr + sdp->exp_len )
- {
- int save = errno;
-
- printf("*** wcstoumax(%s,,%d) returned wrong "
- "endptr ***\n", sdp->nptr, sdp->base
- );
- status = EXIT_FAILURE;
- errno = save;
- }
-
- if ( errno != 0 )
- {
- printf("*** wcstoumax modified errno ***\n");
- status = EXIT_FAILURE;
- }
-
- for ( i = 0; i < 64; ++i )
- if ( wnptr[i] != sdp->nptr[i] )
- {
- printf("*** wcstoumax"
- " modified its input ***\n"
- );
- status = EXIT_FAILURE;
-
- for ( ; i < 64; ++i )
- if ( (wnptr[i] = sdp->nptr[i])
- == '\0'
- )
- break;
-
- break;
- }
- else if ( wnptr[i] == '\0' )
- break;
- }
-
- /* tests for null endptr */
-
- warned = 0;
- errno = 0; /* shouldn't be changed */
-
- if ( (intmax = wcstoimax(wnptr, (wchar_t **)NULL, sdp->base))
- != sdp->exp_val
- ) {
- int save = errno;
-
- WARN();
- printf("*** wcstoimax(%s,NULL,%d) failed; should be: %"
- PRIdMAX", was: %"PRIdMAX" ***\n", sdp->nptr,
- sdp->base, sdp->exp_val, intmax
- );
- status = EXIT_FAILURE;
- errno = save;
- }
-
- if ( errno != 0 )
- {
- WARN();
- printf("*** wcstoimax modified errno ***\n");
- status = EXIT_FAILURE;
- }
-
- for ( i = 0; i < 64; ++i )
- if ( wnptr[i] != sdp->nptr[i] )
- {
- WARN();
- printf("*** wcstoimax modified its input ***\n"
- );
- status = EXIT_FAILURE;
-
- for ( ; i < 64; ++i )
- if ( (wnptr[i] = sdp->nptr[i])
- == '\0'
- )
- break;
-
- break;
- }
- else if ( wnptr[i] == '\0' )
- break;
-
- if ( sdp->exp_val >= 0 ) /* else some sign extension */
- {
- errno = 0; /* shouldn't be changed */
-
- if ( (uintmax = wcstoumax(wnptr, (wchar_t **)NULL,
- sdp->base
- )
- ) != sdp->exp_val
- ) {
- int save = errno;
-
- WARN();
- printf("*** wcstoumax(%s,NULL,%d) failed; "
- "should be: %"PRIuMAX", was: %"PRIuMAX
- " ***\n", sdp->nptr, sdp->base,
- sdp->exp_val, uintmax
- );
- status = EXIT_FAILURE;
- errno = save;
- }
-
- if ( errno != 0 )
- {
- WARN();
- printf("*** wcstoumax modified errno ***\n");
- status = EXIT_FAILURE;
- }
-
- for ( i = 0; i < 64; ++i )
- if ( wnptr[i] != sdp->nptr[i] )
- {
- WARN();
- printf("*** wcstoumax"
- " modified its input ***\n"
- );
- status = EXIT_FAILURE;
-
- for ( ; i < 64; ++i )
- if ( (wnptr[i] = sdp->nptr[i])
- == '\0'
- )
- break;
-
- break;
- }
- else if ( wnptr[i] == '\0' )
- break;
- }
- }
-
- /*
- 7.8.2.3 The strtoimax and strtoumax functions (continued)
- */
-
- if ( (intmax = strtoimax("1234567890123456789012345678901234567890"
- "1234567890123456789012345678901234567890"
- "1234567890123456789012345678901234567890"
- "1234567890123456789012345678901234567890"
- "1234567890123456789012345678901234567890"
- "1234567890123456789012345678901234567890",
- &endptr, 0
- )
- ) != INTMAX_MAX || errno != ERANGE
- ) {
- printf("*** strtoimax failed overflow test ***\n");
- status = EXIT_FAILURE;
- }
-
- if ( (intmax = strtoimax("+1234567890123456789012345678901234567890"
- "1234567890123456789012345678901234567890"
- "1234567890123456789012345678901234567890"
- "1234567890123456789012345678901234567890"
- "1234567890123456789012345678901234567890"
- "1234567890123456789012345678901234567890",
- &endptr, 0
- )
- ) != INTMAX_MAX || errno != ERANGE
- ) {
- printf("*** strtoimax failed +overflow test ***\n");
- status = EXIT_FAILURE;
- }
-
- if ( (intmax = strtoimax("-1234567890123456789012345678901234567890"
- "1234567890123456789012345678901234567890"
- "1234567890123456789012345678901234567890"
- "1234567890123456789012345678901234567890"
- "1234567890123456789012345678901234567890"
- "1234567890123456789012345678901234567890",
- &endptr, 0
- )
- ) != INTMAX_MIN || errno != ERANGE
- ) {
- printf("*** strtoimax failed -overflow test ***\n");
- status = EXIT_FAILURE;
- }
-
- if ( (uintmax = strtoumax("1234567890123456789012345678901234567890"
- "1234567890123456789012345678901234567890"
- "1234567890123456789012345678901234567890"
- "1234567890123456789012345678901234567890"
- "1234567890123456789012345678901234567890"
- "1234567890123456789012345678901234567890",
- &endptr, 0
- )
- ) != UINTMAX_MAX || errno != ERANGE
- ) {
- printf("*** strtoumax failed overflow test ***\n");
- status = EXIT_FAILURE;
- }
-
- if ( (uintmax = strtoumax("+1234567890123456789012345678901234567890"
- "1234567890123456789012345678901234567890"
- "1234567890123456789012345678901234567890"
- "1234567890123456789012345678901234567890"
- "1234567890123456789012345678901234567890"
- "1234567890123456789012345678901234567890",
- &endptr, 0
- )
- ) != UINTMAX_MAX || errno != ERANGE
- ) {
- printf("*** strtoumax failed +overflow test ***\n");
- status = EXIT_FAILURE;
- }
-
- if ( (uintmax = strtoumax("-1234567890123456789012345678901234567890"
- "1234567890123456789012345678901234567890"
- "1234567890123456789012345678901234567890"
- "1234567890123456789012345678901234567890"
- "1234567890123456789012345678901234567890"
- "1234567890123456789012345678901234567890",
- &endptr, 0
- )
- ) != UINTMAX_MAX || errno != ERANGE
- ) {
- printf("*** strtoumax failed -overflow test ***\n");
- status = EXIT_FAILURE;
- }
-
- /*
- 7.8.2.4 The wcstoimax and wcstoumax functions (continued)
- */
-
- if ( (intmax = wcstoimax(L"1234567890123456789012345678901234567890"
- L"1234567890123456789012345678901234567890"
- L"1234567890123456789012345678901234567890"
- L"1234567890123456789012345678901234567890"
- L"1234567890123456789012345678901234567890"
- L"1234567890123456789012345678901234567890",
- &wendptr, 0
- )
- ) != INTMAX_MAX || errno != ERANGE
- ) {
- printf("*** wcstoimax failed overflow test ***\n");
- status = EXIT_FAILURE;
- }
-
- if ( (intmax = wcstoimax(L"+1234567890123456789012345678901234567890"
- L"1234567890123456789012345678901234567890"
- L"1234567890123456789012345678901234567890"
- L"1234567890123456789012345678901234567890"
- L"1234567890123456789012345678901234567890"
- L"1234567890123456789012345678901234567890",
- &wendptr, 0
- )
- ) != INTMAX_MAX || errno != ERANGE
- ) {
- printf("*** wcstoimax failed +overflow test ***\n");
- status = EXIT_FAILURE;
- }
-
- if ( (intmax = wcstoimax(L"-1234567890123456789012345678901234567890"
- L"1234567890123456789012345678901234567890"
- L"1234567890123456789012345678901234567890"
- L"1234567890123456789012345678901234567890"
- L"1234567890123456789012345678901234567890"
- L"1234567890123456789012345678901234567890",
- &wendptr, 0
- )
- ) != INTMAX_MIN || errno != ERANGE
- ) {
- printf("*** wcstoimax failed -overflow test ***\n");
- status = EXIT_FAILURE;
- }
-
- if ( (uintmax = wcstoumax(L"1234567890123456789012345678901234567890"
- L"1234567890123456789012345678901234567890"
- L"1234567890123456789012345678901234567890"
- L"1234567890123456789012345678901234567890"
- L"1234567890123456789012345678901234567890"
- L"1234567890123456789012345678901234567890",
- &wendptr, 0
- )
- ) != UINTMAX_MAX || errno != ERANGE
- ) {
- printf("*** wcstoumax failed overflow test ***\n");
- status = EXIT_FAILURE;
- }
-
- if ( (uintmax = wcstoumax(L"+1234567890123456789012345678901234567890"
- L"1234567890123456789012345678901234567890"
- L"1234567890123456789012345678901234567890"
- L"1234567890123456789012345678901234567890"
- L"1234567890123456789012345678901234567890"
- L"1234567890123456789012345678901234567890",
- &wendptr, 0
- )
- ) != UINTMAX_MAX || errno != ERANGE
- ) {
- printf("*** wcstoumax failed +overflow test ***\n");
- status = EXIT_FAILURE;
- }
-
- if ( (uintmax = wcstoumax(L"-1234567890123456789012345678901234567890"
- L"1234567890123456789012345678901234567890"
- L"1234567890123456789012345678901234567890"
- L"1234567890123456789012345678901234567890"
- L"1234567890123456789012345678901234567890"
- L"1234567890123456789012345678901234567890",
- &wendptr, 0
- )
- ) != UINTMAX_MAX || errno != ERANGE
- ) {
- printf("*** wcstoumax failed -overflow test ***\n");
- status = EXIT_FAILURE;
- }
- }
-#endif /* defined(INTMAX_MAX) */
-
- if ( status != 0 )
- fprintf(stderr, "sitest failed; see stdout for details\n");
-
- return status;
- }
diff --git a/winsup/mingw/mingwex/stdio/fopen64.c b/winsup/mingw/mingwex/stdio/fopen64.c
deleted file mode 100755
index d1dca885b..000000000
--- a/winsup/mingw/mingwex/stdio/fopen64.c
+++ /dev/null
@@ -1,7 +0,0 @@
-#include <stdio.h>
-
-FILE* __cdecl
-fopen64 (const char* filename, const char* mode)
-{
- return fopen (filename, mode);
-}
diff --git a/winsup/mingw/mingwex/stdio/fseeko64.c b/winsup/mingw/mingwex/stdio/fseeko64.c
deleted file mode 100755
index d8dcc0c44..000000000
--- a/winsup/mingw/mingwex/stdio/fseeko64.c
+++ /dev/null
@@ -1,30 +0,0 @@
-#include <stdio.h>
-#include <io.h>
-#include <errno.h>
-
-int __cdecl
-fseeko64 (FILE* stream, off64_t offset, int whence)
-{
- fpos_t pos;
- if (whence == SEEK_CUR)
- {
- /* If stream is invalid, fgetpos sets errno. */
- if (fgetpos (stream, &pos))
- return (-1);
- pos += (fpos_t) offset;
- }
- else if (whence == SEEK_END)
- {
- /* If writing, we need to flush before getting file length. */
- fflush (stream);
- pos = (fpos_t) (_filelengthi64 (_fileno (stream)) + offset);
- }
- else if (whence == SEEK_SET)
- pos = (fpos_t) offset;
- else
- {
- errno = EINVAL;
- return (-1);
- }
- return fsetpos (stream, &pos);
-}
diff --git a/winsup/mingw/mingwex/stdio/ftello64.c b/winsup/mingw/mingwex/stdio/ftello64.c
deleted file mode 100755
index 97a388cd6..000000000
--- a/winsup/mingw/mingwex/stdio/ftello64.c
+++ /dev/null
@@ -1,11 +0,0 @@
-#include <stdio.h>
-
-off64_t __cdecl
-ftello64 (FILE * stream)
-{
- fpos_t pos;
- if (fgetpos(stream, &pos))
- return -1LL;
- else
- return ((off64_t) pos);
-}
diff --git a/winsup/mingw/mingwex/stdio/lseek64.c b/winsup/mingw/mingwex/stdio/lseek64.c
deleted file mode 100755
index 8f8bfa5e4..000000000
--- a/winsup/mingw/mingwex/stdio/lseek64.c
+++ /dev/null
@@ -1,8 +0,0 @@
-#include <io.h>
-
-off64_t lseek64
-(int fd, off64_t offset, int whence)
-{
- return _lseeki64(fd, (__int64) offset, whence);
-}
-
diff --git a/winsup/mingw/mingwex/stdio/snprintf.c b/winsup/mingw/mingwex/stdio/snprintf.c
deleted file mode 100644
index c8d2a7b20..000000000
--- a/winsup/mingw/mingwex/stdio/snprintf.c
+++ /dev/null
@@ -1,13 +0,0 @@
-#include <stdarg.h>
-#include <stdio.h>
-
-int snprintf(char* buffer, size_t n, const char* format, ...)
-{
- int retval;
- va_list argptr;
-
- va_start( argptr, format );
- retval = _vsnprintf( buffer, n, format, argptr );
- va_end( argptr );
- return retval;
-}
diff --git a/winsup/mingw/mingwex/stdio/snwprintf.c b/winsup/mingw/mingwex/stdio/snwprintf.c
deleted file mode 100644
index 42b05b292..000000000
--- a/winsup/mingw/mingwex/stdio/snwprintf.c
+++ /dev/null
@@ -1,13 +0,0 @@
-#include <stdarg.h>
-#include <wchar.h>
-
-int snwprintf(wchar_t* buffer, size_t n, const wchar_t* format, ...)
-{
- int retval;
- va_list argptr;
-
- va_start( argptr, format );
- retval = _vsnwprintf( buffer, n, format, argptr );
- va_end( argptr );
- return retval;
-}
diff --git a/winsup/mingw/mingwex/stdio/vfscanf.c b/winsup/mingw/mingwex/stdio/vfscanf.c
deleted file mode 100644
index 3c1b137a8..000000000
--- a/winsup/mingw/mingwex/stdio/vfscanf.c
+++ /dev/null
@@ -1,40 +0,0 @@
-// By aaronwl 2003-01-28 for mingw-msvcrt
-// Public domain: all copyrights disclaimed, absolutely no warranties */
-
-#include <stdarg.h>
-#include <stdio.h>
-
-int vfscanf(FILE * __restrict__ stream, const char * __restrict__ format, va_list arg) {
- int ret;
-
- __asm__(
-
- /* allocate stack (esp += frame - arg3 - (8[arg1,2] + 12)) */
- "movl %%esp, %%ebx\n\t"
- "lea 0xFFFFFFEC(%%esp, %6), %%esp\n\t"
- "subl %5, %%esp\n\t"
-
- // set up stack
- "movl %1, 0xC(%%esp)\n\t" // stream
- "movl %2, 0x10(%%esp)\n\t" // format
- "lea 0x14(%%esp), %%edi\n\t"
- "movl %%edi, (%%esp)\n\t" // memcpy dest
- "movl %5, 0x4(%%esp)\n\t" // memcpy src
- "movl %5, 0x8(%%esp)\n\t"
- "subl %6, 0x8(%%esp)\n\t" // memcpy len
- "call _memcpy\n\t"
- "addl $12, %%esp\n\t"
-
- // call fscanf
- "call _fscanf\n\t"
-
- // restore stack
- "movl %%ebx, %%esp\n\t"
-
- : "=a"(ret), "=c"(stream), "=d"(format)
- : "1"(stream), "2"(format), "S"(arg),
- "a"(&ret)
- : "ebx", "edi");
-
- return ret;
-}
diff --git a/winsup/mingw/mingwex/stdio/vfwscanf.c b/winsup/mingw/mingwex/stdio/vfwscanf.c
deleted file mode 100644
index 2a1d095bc..000000000
--- a/winsup/mingw/mingwex/stdio/vfwscanf.c
+++ /dev/null
@@ -1,42 +0,0 @@
-// By aaronwl 2003-01-28 for mingw-msvcrt.
-// Public domain: all copyrights disclaimed, absolutely no warranties.
-
-#include <stdarg.h>
-#include <wchar.h>
-
-int vfwscanf(FILE * __restrict__ stream, const wchar_t * __restrict__ format,
- va_list arg) {
-
- int ret;
-
- __asm__(
-
- // allocate stack (esp += frame - arg3 - (8[arg1,2] + 12))
- "movl %%esp, %%ebx\n\t"
- "lea 0xFFFFFFEC(%%esp, %6), %%esp\n\t"
- "subl %5, %%esp\n\t"
-
- // set up stack
- "movl %1, 0xC(%%esp)\n\t" // stream
- "movl %2, 0x10(%%esp)\n\t" // format
- "lea 0x14(%%esp), %%edi\n\t"
- "movl %%edi, (%%esp)\n\t" // memcpy dest
- "movl %5, 0x4(%%esp)\n\t" // memcpy src
- "movl %5, 0x8(%%esp)\n\t"
- "subl %6, 0x8(%%esp)\n\t" // memcpy len
- "call _memcpy\n\t"
- "addl $12, %%esp\n\t"
-
- // call fscanf
- "call _fwscanf\n\t"
-
- // restore stack
- "movl %%ebx, %%esp\n\t"
-
- : "=a"(ret), "=c"(stream), "=d"(format)
- : "1"(stream), "2"(format), "S"(arg),
- "a"(&ret)
- : "ebx", "edi");
-
- return ret;
-}
diff --git a/winsup/mingw/mingwex/stdio/vscanf.c b/winsup/mingw/mingwex/stdio/vscanf.c
deleted file mode 100644
index 53f543442..000000000
--- a/winsup/mingw/mingwex/stdio/vscanf.c
+++ /dev/null
@@ -1,9 +0,0 @@
-// By aaronwl 2003-01-28 for mingw-msvcrt
-// Public domain: all copyrights disclaimed, absolutely no warranties
-
-#include <stdarg.h>
-#include <stdio.h>
-
-int vscanf(const char * __restrict__ format, va_list arg) {
- return vfscanf(stdin, format, arg);
-}
diff --git a/winsup/mingw/mingwex/stdio/vsnprintf.c b/winsup/mingw/mingwex/stdio/vsnprintf.c
deleted file mode 100644
index f3dce5b67..000000000
--- a/winsup/mingw/mingwex/stdio/vsnprintf.c
+++ /dev/null
@@ -1,5 +0,0 @@
-#include <stdarg.h>
-#include <stdio.h>
-
-int vsnprintf (char* s, size_t n, const char* format, va_list arg)
- { return _vsnprintf ( s, n, format, arg); }
diff --git a/winsup/mingw/mingwex/stdio/vsnwprintf.c b/winsup/mingw/mingwex/stdio/vsnwprintf.c
deleted file mode 100644
index 1b59a078b..000000000
--- a/winsup/mingw/mingwex/stdio/vsnwprintf.c
+++ /dev/null
@@ -1,5 +0,0 @@
-#include <stdarg.h>
-#include <wchar.h>
-
-int vsnwprintf(wchar_t *buffer, size_t n, const wchar_t * format, va_list argptr)
- { return _vsnwprintf( buffer, n, format, argptr );}
diff --git a/winsup/mingw/mingwex/stdio/vsscanf.c b/winsup/mingw/mingwex/stdio/vsscanf.c
deleted file mode 100644
index f59490d3b..000000000
--- a/winsup/mingw/mingwex/stdio/vsscanf.c
+++ /dev/null
@@ -1,41 +0,0 @@
-// By aaronwl 2003-01-28 for mingw-msvcrt.
-// Public domain: all copyrights disclaimed, absolutely no warranties.
-
-#include <stdarg.h>
-#include <stdio.h>
-
-
-int vsscanf(const char * __restrict__ s, const char * __restrict__ format, va_list arg) {
- int ret;
-
- __asm__(
-
- // allocate stack (esp += frame - arg3 - (8[arg1,2] + 12))
- "movl %%esp, %%ebx\n\t"
- "lea 0xFFFFFFEC(%%esp, %6), %%esp\n\t"
- "subl %5, %%esp\n\t"
-
- // set up stack
- "movl %1, 0xC(%%esp)\n\t" // s
- "movl %2, 0x10(%%esp)\n\t" // format
- "lea 0x14(%%esp), %%edi\n\t"
- "movl %%edi, (%%esp)\n\t" // memcpy dest
- "movl %5, 0x4(%%esp)\n\t" // memcpy src
- "movl %5, 0x8(%%esp)\n\t"
- "subl %6, 0x8(%%esp)\n\t" // memcpy len
- "call _memcpy\n\t"
- "addl $12, %%esp\n\t"
-
- // call sscanf
- "call _sscanf\n\t"
-
- // restore stack
- "movl %%ebx, %%esp\n\t"
-
- : "=a"(ret), "=c"(s), "=d"(format)
- : "1"(s), "2"(format), "S"(arg),
- "a"(&ret)
- : "ebx", "edi");
-
- return ret;
-}
diff --git a/winsup/mingw/mingwex/stdio/vswscanf.c b/winsup/mingw/mingwex/stdio/vswscanf.c
deleted file mode 100644
index ea359f3e6..000000000
--- a/winsup/mingw/mingwex/stdio/vswscanf.c
+++ /dev/null
@@ -1,43 +0,0 @@
-// By aaronwl 2003-01-28 for mingw-msvcrt
-// Public domain: all copyrights disclaimed, absolutely no warranties */
-
-#include <stdarg.h>
-#include <wchar.h>
-
-
-int vswscanf(const wchar_t * __restrict__ s, const wchar_t * __restrict__ format,
- va_list arg) {
-
- int ret;
-
- __asm__(
-
- // allocate stack (esp += frame - arg3 - (8[arg1,2] + 12))
- "movl %%esp, %%ebx\n\t"
- "lea 0xFFFFFFEC(%%esp, %6), %%esp\n\t"
- "subl %5, %%esp\n\t"
-
- // set up stack
- "movl %1, 0xC(%%esp)\n\t" // s
- "movl %2, 0x10(%%esp)\n\t" // format
- "lea 0x14(%%esp), %%edi\n\t"
- "movl %%edi, (%%esp)\n\t" // memcpy dest
- "movl %5, 0x4(%%esp)\n\t" // memcpy src
- "movl %5, 0x8(%%esp)\n\t"
- "subl %6, 0x8(%%esp)\n\t" // memcpy len
- "call _memcpy\n\t"
- "addl $12, %%esp\n\t"
-
- // call sscanf
- "call _swscanf\n\t"
-
- // restore stack
- "movl %%ebx, %%esp\n\t"
-
- : "=a"(ret), "=c"(s), "=d"(format)
- : "1"(s), "2"(format), "S"(arg),
- "a"(&ret)
- : "ebx", "edi");
-
- return ret;
-}
diff --git a/winsup/mingw/mingwex/stdio/vwscanf.c b/winsup/mingw/mingwex/stdio/vwscanf.c
deleted file mode 100644
index 0b20e2ee4..000000000
--- a/winsup/mingw/mingwex/stdio/vwscanf.c
+++ /dev/null
@@ -1,10 +0,0 @@
-// By aaronwl 2003-01-28 for mingw-msvcrt.
-// Public domain: all copyrights disclaimed, absolutely no warranties.
-
-#include <stdarg.h>
-#include <wchar.h>
-#include <stdio.h>
-
-int vwscanf(const wchar_t * __restrict__ format, va_list arg) {
- return vfwscanf(stdin, format, arg);
-}
diff --git a/winsup/mingw/mingwex/strtof.c b/winsup/mingw/mingwex/strtof.c
deleted file mode 100644
index 62907cb19..000000000
--- a/winsup/mingw/mingwex/strtof.c
+++ /dev/null
@@ -1,6 +0,0 @@
-#include <stdlib.h>
-
-float strtof( const char *nptr, char **endptr)
-{
- return (strtod(nptr, endptr));
-}
diff --git a/winsup/mingw/mingwex/strtoimax.c b/winsup/mingw/mingwex/strtoimax.c
deleted file mode 100644
index 9072d4bbb..000000000
--- a/winsup/mingw/mingwex/strtoimax.c
+++ /dev/null
@@ -1,112 +0,0 @@
-/*
- This source code was extracted from the Q8 package created and
- placed in the PUBLIC DOMAIN by Doug Gwyn <gwyn@arl.mil>
- last edit: 1999/11/05 gwyn@arl.mil
-
- Implements subclause 7.8.2 of ISO/IEC 9899:1999 (E).
-
- This particular implementation requires the matching <inttypes.h>.
- It also assumes that character codes for A..Z and a..z are in
- contiguous ascending order; this is true for ASCII but not EBCDIC.
-*/
-#include <stdlib.h>
-#include <errno.h>
-#include <ctype.h>
-#include <inttypes.h>
-
-/* Helper macros */
-
-/* convert digit character to number, in any base */
-#define ToNumber(c) (isdigit(c) ? (c) - '0' : \
- isupper(c) ? (c) - 'A' + 10 : \
- islower(c) ? (c) - 'a' + 10 : \
- -1 /* "invalid" flag */ \
- )
-/* validate converted digit character for specific base */
-#define valid(n, b) ((n) >= 0 && (n) < (b))
-
-intmax_t
-strtoimax(nptr, endptr, base)
- register const char * __restrict__ nptr;
- char ** __restrict__ endptr;
- register int base;
- {
- register uintmax_t accum; /* accumulates converted value */
- register int n; /* numeral from digit character */
- int minus; /* set iff minus sign seen */
- int toobig; /* set iff value overflows */
-
- if ( endptr != NULL )
- *endptr = (char *)nptr; /* in case no conversion's performed */
-
- if ( base < 0 || base == 1 || base > 36 )
- {
- errno = EDOM;
- return 0; /* unspecified behavior */
- }
-
- /* skip initial, possibly empty sequence of white-space characters */
-
- while ( isspace(*nptr) )
- ++nptr;
-
- /* process subject sequence: */
-
- /* optional sign */
- if ( (minus = *nptr == '-') || *nptr == '+' )
- ++nptr;
-
- if ( base == 0 ) {
- if ( *nptr == '0' ) {
- if ( nptr[1] == 'X' || nptr[1] == 'x' )
- base = 16;
- else
- base = 8;
- }
- else
- base = 10;
- }
- /* optional "0x" or "0X" for base 16 */
-
- if ( base == 16 && *nptr == '0' && (nptr[1] == 'X' || nptr[1] == 'x') )
- nptr += 2; /* skip past this prefix */
-
- /* check whether there is at least one valid digit */
-
- n = ToNumber(*nptr);
- ++nptr;
-
- if ( !valid(n, base) )
- return 0; /* subject seq. not of expected form */
-
- accum = n;
-
- for ( toobig = 0; n = ToNumber(*nptr), valid(n, base); ++nptr )
- if ( accum > (uintmax_t)(INTMAX_MAX / base + 2) ) /* major wrap-around */
- toobig = 1; /* but keep scanning */
- else
- accum = base * accum + n;
-
- if ( endptr != NULL )
- *endptr = (char *)nptr; /* points to first not-valid-digit */
-
- if ( minus )
- {
- if ( accum > (uintmax_t)INTMAX_MAX + 1 )
- toobig = 1;
- }
- else
- if ( accum > (uintmax_t)INTMAX_MAX )
- toobig = 1;
-
- if ( toobig )
- {
- errno = ERANGE;
- return minus ? INTMAX_MIN : INTMAX_MAX;
- }
- else
- return (intmax_t)(minus ? -accum : accum);
- }
-
-long long __attribute__ ((alias ("strtoimax")))
-strtoll (const char* __restrict__ nptr, char ** __restrict__ endptr, int base);
diff --git a/winsup/mingw/mingwex/strtold.c b/winsup/mingw/mingwex/strtold.c
deleted file mode 100644
index 3bbcea061..000000000
--- a/winsup/mingw/mingwex/strtold.c
+++ /dev/null
@@ -1,421 +0,0 @@
-/* This file is extracted from S L Moshier's ioldoubl.c,
- * modified for use in MinGW
- *
- * Extended precision arithmetic functions for long double I/O.
- * This program has been placed in the public domain.
- */
-
-
-
-/*
- * Revision history:
- *
- * 5 Jan 84 PDP-11 assembly language version
- * 6 Dec 86 C language version
- * 30 Aug 88 100 digit version, improved rounding
- * 15 May 92 80-bit long double support
- *
- * Author: S. L. Moshier.
- *
- * 6 Oct 02 Modified for MinGW by inlining utility routines,
- * removing global variables and splitting out strtold
- * from _IO_ldtoa and _IO_ldtostr.
- *
- * 4 Feb 04 Reorganize __asctoe64 to fix setting error codes,
- * and handling special chars.
- *
- * Danny Smith <dannysmith@users.sourceforge.net>
- */
-
-#include "math/cephes_emath.h"
-#if NE == 10
-
-/* 1.0E0 */
-static const unsigned short __eone[NE] =
- {0x0000, 0x0000, 0x0000, 0x0000,
- 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0x3fff,};
-#else
-static const unsigned short __eone[NE] = {
-0, 0000000,0000000,0000000,0100000,0x3fff,};
-#endif
-
-#if NE == 10
-static const unsigned short __etens[NTEN + 1][NE] =
-{
- {0x6576, 0x4a92, 0x804a, 0x153f,
- 0xc94c, 0x979a, 0x8a20, 0x5202, 0xc460, 0x7525,}, /* 10**4096 */
- {0x6a32, 0xce52, 0x329a, 0x28ce,
- 0xa74d, 0x5de4, 0xc53d, 0x3b5d, 0x9e8b, 0x5a92,}, /* 10**2048 */
- {0x526c, 0x50ce, 0xf18b, 0x3d28,
- 0x650d, 0x0c17, 0x8175, 0x7586, 0xc976, 0x4d48,},
- {0x9c66, 0x58f8, 0xbc50, 0x5c54,
- 0xcc65, 0x91c6, 0xa60e, 0xa0ae, 0xe319, 0x46a3,},
- {0x851e, 0xeab7, 0x98fe, 0x901b,
- 0xddbb, 0xde8d, 0x9df9, 0xebfb, 0xaa7e, 0x4351,},
- {0x0235, 0x0137, 0x36b1, 0x336c,
- 0xc66f, 0x8cdf, 0x80e9, 0x47c9, 0x93ba, 0x41a8,},
- {0x50f8, 0x25fb, 0xc76b, 0x6b71,
- 0x3cbf, 0xa6d5, 0xffcf, 0x1f49, 0xc278, 0x40d3,},
- {0x0000, 0x0000, 0x0000, 0x0000,
- 0xf020, 0xb59d, 0x2b70, 0xada8, 0x9dc5, 0x4069,},
- {0x0000, 0x0000, 0x0000, 0x0000,
- 0x0000, 0x0000, 0x0400, 0xc9bf, 0x8e1b, 0x4034,},
- {0x0000, 0x0000, 0x0000, 0x0000,
- 0x0000, 0x0000, 0x0000, 0x2000, 0xbebc, 0x4019,},
- {0x0000, 0x0000, 0x0000, 0x0000,
- 0x0000, 0x0000, 0x0000, 0x0000, 0x9c40, 0x400c,},
- {0x0000, 0x0000, 0x0000, 0x0000,
- 0x0000, 0x0000, 0x0000, 0x0000, 0xc800, 0x4005,},
- {0x0000, 0x0000, 0x0000, 0x0000,
- 0x0000, 0x0000, 0x0000, 0x0000, 0xa000, 0x4002,}, /* 10**1 */
-};
-#else
-static const unsigned short __etens[NTEN+1][NE] = {
-{0xc94c,0x979a,0x8a20,0x5202,0xc460,0x7525,},/* 10**4096 */
-{0xa74d,0x5de4,0xc53d,0x3b5d,0x9e8b,0x5a92,},/* 10**2048 */
-{0x650d,0x0c17,0x8175,0x7586,0xc976,0x4d48,},
-{0xcc65,0x91c6,0xa60e,0xa0ae,0xe319,0x46a3,},
-{0xddbc,0xde8d,0x9df9,0xebfb,0xaa7e,0x4351,},
-{0xc66f,0x8cdf,0x80e9,0x47c9,0x93ba,0x41a8,},
-{0x3cbf,0xa6d5,0xffcf,0x1f49,0xc278,0x40d3,},
-{0xf020,0xb59d,0x2b70,0xada8,0x9dc5,0x4069,},
-{0x0000,0x0000,0x0400,0xc9bf,0x8e1b,0x4034,},
-{0x0000,0x0000,0x0000,0x2000,0xbebc,0x4019,},
-{0x0000,0x0000,0x0000,0x0000,0x9c40,0x400c,},
-{0x0000,0x0000,0x0000,0x0000,0xc800,0x4005,},
-{0x0000,0x0000,0x0000,0x0000,0xa000,0x4002,}, /* 10**1 */
-};
-#endif
-
-int __asctoe64(const char * __restrict__ ss, short unsigned int * __restrict__ y)
-{
-unsigned short yy[NI], xt[NI], tt[NI];
-int esign, decflg, nexp, exp, lost;
-int k, c;
-int valid_lead_string = 0;
-int have_non_zero_mant = 0;
-int prec = 0;
-/* int trail = 0; */
-long lexp;
-unsigned short nsign = 0;
-const unsigned short *p;
-char *sp, *lstr;
-char *s;
-
-const char dec_sym = *(localeconv ()->decimal_point);
-
-int lenldstr = 0;
-
-/* Copy the input string. */
-c = strlen (ss) + 2;
-lstr = (char *) alloca (c);
-s = (char *) ss;
-while( isspace ((int)(unsigned char)*s)) /* skip leading spaces */
- {
- ++s;
- ++lenldstr;
- }
-sp = lstr;
-for( k=0; k<c; k++ )
- {
- if( (*sp++ = *s++) == '\0' )
- break;
- }
-*sp = '\0';
-s = lstr;
-
-if (*s == '-')
- {
- nsign = 0xffff;
- ++s;
- }
-else if (*s == '+')
- {
- ++s;
- }
-
-if (_strnicmp("INF", s , 3) == 0)
- {
- valid_lead_string = 1;
- s += 3;
- if ( _strnicmp ("INITY", s, 5) == 0)
- s += 5;
- __ecleaz(yy);
- yy[E] = 0x7fff; /* infinity */
- goto aexit;
- }
-else if(_strnicmp ("NAN", s, 3) == 0)
- {
- valid_lead_string = 1;
- s += 3;
- __enan_NI16( yy );
- goto aexit;
- }
-
-/* FIXME: Handle case of strtold ("NAN(n_char_seq)",endptr) */
-
-/* Now get some digits. */
-lost = 0;
-decflg = 0;
-nexp = 0;
-exp = 0;
-__ecleaz( yy );
-
-/* Ignore leading zeros */
-while (*s == '0')
- {
- valid_lead_string = 1;
- s++;
- }
-
-nxtcom:
-
-k = *s - '0';
-if( (k >= 0) && (k <= 9) )
- {
-#if 0
-/* The use of a special char as a flag for trailing zeroes causes problems when input
- actually contains the char */
-/* Identify and strip trailing zeros after the decimal point. */
- if( (trail == 0) && (decflg != 0) )
- {
- sp = s;
- while( (*sp >= '0') && (*sp <= '9') )
- ++sp;
- --sp;
- while( *sp == '0' )
- {
- *sp-- = (char)-1;
- trail++;
- }
- if( *s == (char)-1 )
- goto donchr;
- }
-#endif
-
-/* If enough digits were given to more than fill up the yy register,
- * continuing until overflow into the high guard word yy[2]
- * guarantees that there will be a roundoff bit at the top
- * of the low guard word after normalization.
- */
- if( yy[2] == 0 )
- {
- if( decflg )
- nexp += 1; /* count digits after decimal point */
- __eshup1( yy ); /* multiply current number by 10 */
- __emovz( yy, xt );
- __eshup1( xt );
- __eshup1( xt );
- __eaddm( xt, yy );
- __ecleaz( xt );
- xt[NI-2] = (unsigned short )k;
- __eaddm( xt, yy );
- }
- else
- {
- /* Mark any lost non-zero digit. */
- lost |= k;
- /* Count lost digits before the decimal point. */
- if (decflg == 0)
- nexp -= 1;
- }
- have_non_zero_mant |= k;
- prec ++;
- /* goto donchr; */
- }
-else if (*s == dec_sym)
- {
- if( decflg )
- goto daldone;
- ++decflg;
- }
-else if ((*s == 'E') || (*s == 'e') )
- {
- if (prec || valid_lead_string)
- goto expnt;
- else
- goto daldone;
- }
-
-#if 0
-else if (*s == (char)-1)
- goto donchr;
-#endif
-
-else /* an invalid char */
- goto daldone;
-
-/* donchr: */
-++s;
-goto nxtcom;
-
-
-/* Exponent interpretation */
-expnt:
-
-esign = 1;
-exp = 0;
-/* Save position in case we need to fall back. */
-sp = s;
-++s;
-/* check for + or - */
-if( *s == '-' )
- {
- esign = -1;
- ++s;
- }
-if( *s == '+' )
- ++s;
-
-/* Check for valid exponent. */
-if (!(*s >= '0' && *s <= '9'))
- {
- s = sp;
- goto daldone;
- }
-
-while( (*s >= '0') && (*s <= '9') )
-{
- /* Stop modifying exp if we are going to overflow anyway,
- but keep parsing the string. */
- if (exp < 4978)
- {
- exp *= 10;
- exp += *s - '0';
- }
- s++;
-}
-
-if( esign < 0 )
- exp = -exp;
-
-if (exp > 4977) /* maybe overflow */
- {
- __ecleaz(yy);
- if (have_non_zero_mant)
- yy[E] = 0x7fff;
- goto aexit;
- }
-else if (exp < -4977) /* underflow */
- {
- __ecleaz(yy);
- goto aexit;
- }
-
-daldone:
-
-nexp = exp - nexp;
-
-/* Pad trailing zeros to minimize power of 10, per IEEE spec. */
-while( (nexp > 0) && (yy[2] == 0) )
- {
- __emovz( yy, xt );
- __eshup1( xt );
- __eshup1( xt );
- __eaddm( yy, xt );
- __eshup1( xt );
- if( xt[2] != 0 )
- break;
- nexp -= 1;
- __emovz( xt, yy );
- }
-if( (k = __enormlz(yy)) > NBITS )
- {
- __ecleaz(yy);
- goto aexit;
- }
-lexp = (EXONE - 1 + NBITS) - k;
-__emdnorm( yy, lost, 0, lexp, 64, NBITS );
-/* convert to external format */
-
-
-/* Multiply by 10**nexp. If precision is 64 bits,
- * the maximum relative error incurred in forming 10**n
- * for 0 <= n <= 324 is 8.2e-20, at 10**180.
- * For 0 <= n <= 999, the peak relative error is 1.4e-19 at 10**947.
- * For 0 >= n >= -999, it is -1.55e-19 at 10**-435.
- */
-lexp = yy[E];
-if( nexp == 0 )
- {
- k = 0;
- goto expdon;
- }
-esign = 1;
-if( nexp < 0 )
- {
- nexp = -nexp;
- esign = -1;
- if( nexp > 4096 )
- { /* Punt. Can't handle this without 2 divides. */
- __emovi( __etens[0], tt );
- lexp -= tt[E];
- k = __edivm( tt, yy );
- lexp += EXONE;
- nexp -= 4096;
- }
- }
-p = &__etens[NTEN][0];
-__emov( __eone, xt );
-exp = 1;
-do
- {
- if( exp & nexp )
- __emul( p, xt, xt );
- p -= NE;
- exp = exp + exp;
- }
-while( exp <= MAXP );
-
-__emovi( xt, tt );
-if( esign < 0 )
- {
- lexp -= tt[E];
- k = __edivm( tt, yy );
- lexp += EXONE;
- }
-else
- {
- lexp += tt[E];
- k = __emulm( tt, yy );
- lexp -= EXONE - 1;
- }
-
-expdon:
-
-/* Round and convert directly to the destination type */
-
-__emdnorm( yy, k, 0, lexp, 64, 64 );
-
-aexit:
-
-yy[0] = nsign;
-
-__toe64( yy, y );
-
-/* Check for overflow, undeflow */
-if (have_non_zero_mant &&
- (*((long double*) y) == 0.0L || isinf (*((long double*) y))))
- errno = ERANGE;
-
-if (prec || valid_lead_string)
- return (lenldstr + (s - lstr));
-return 0;
-}
-
-
-long double strtold (const char * __restrict__ s, char ** __restrict__ se)
-{
- int lenldstr;
- union
- {
- unsigned short int us[6];
- long double ld;
- } xx = {{0}};
-
- lenldstr = __asctoe64( s, xx.us);
- if (se)
- *se = (char*)s + lenldstr;
-
- return xx.ld;
-}
diff --git a/winsup/mingw/mingwex/strtoumax.c b/winsup/mingw/mingwex/strtoumax.c
deleted file mode 100644
index 2c052ac06..000000000
--- a/winsup/mingw/mingwex/strtoumax.c
+++ /dev/null
@@ -1,110 +0,0 @@
-/*
- This source code was extracted from the Q8 package created and
- placed in the PUBLIC DOMAIN by Doug Gwyn <gwyn@arl.mil>
- last edit: 1999/11/05 gwyn@arl.mil
-
- Implements subclause 7.8.2 of ISO/IEC 9899:1999 (E).
-
- This particular implementation requires the matching <inttypes.h>.
- It also assumes that character codes for A..Z and a..z are in
- contiguous ascending order; this is true for ASCII but not EBCDIC.
-*/
-#include <stdlib.h>
-#include <errno.h>
-#include <ctype.h>
-#include <inttypes.h>
-
-/* Helper macros */
-
-/* convert digit character to number, in any base */
-#define ToNumber(c) (isdigit(c) ? (c) - '0' : \
- isupper(c) ? (c) - 'A' + 10 : \
- islower(c) ? (c) - 'a' + 10 : \
- -1 /* "invalid" flag */ \
- )
-/* validate converted digit character for specific base */
-#define valid(n, b) ((n) >= 0 && (n) < (b))
-
-uintmax_t
-strtoumax(nptr, endptr, base)
- register const char * __restrict__ nptr;
- char ** __restrict__ endptr;
- register int base;
- {
- register uintmax_t accum; /* accumulates converted value */
- register uintmax_t next; /* for computing next value of accum */
- register int n; /* numeral from digit character */
- int minus; /* set iff minus sign seen (yes!) */
- int toobig; /* set iff value overflows */
-
- if ( endptr != NULL )
- *endptr = (char *)nptr; /* in case no conversion's performed */
-
- if ( base < 0 || base == 1 || base > 36 )
- {
- errno = EDOM;
- return 0; /* unspecified behavior */
- }
-
- /* skip initial, possibly empty sequence of white-space characters */
-
- while ( isspace(*nptr) )
- ++nptr;
-
- /* process subject sequence: */
-
- /* optional sign (yes!) */
-
- if ( (minus = *nptr == '-') || *nptr == '+' )
- ++nptr;
-
- if ( base == 0 )
- {
- if ( *nptr == '0' )
- {
- if ( nptr[1] == 'X' || nptr[1] == 'x' )
- base = 16;
- else
- base = 8;
- }
- else
- base = 10;
- }
-
- /* optional "0x" or "0X" for base 16 */
-
- if ( base == 16 && *nptr == '0' && (nptr[1] == 'X' || nptr[1] == 'x') )
- nptr += 2; /* skip past this prefix */
-
- /* check whether there is at least one valid digit */
-
- n = ToNumber(*nptr);
- ++nptr;
-
- if ( !valid(n, base) )
- return 0; /* subject seq. not of expected form */
-
- accum = n;
-
- for ( toobig = 0; n = ToNumber(*nptr), valid(n, base); ++nptr )
- if ( accum > UINTMAX_MAX / base + 1 /* major wrap-around */
- || (next = base * accum + n) < accum /* minor wrap-around */
- )
- toobig = 1; /* but keep scanning */
- else
- accum = next;
-
- if ( endptr != NULL )
- *endptr = (char *)nptr; /* points to first not-valid-digit */
-
- if ( toobig )
- {
- errno = ERANGE;
- return UINTMAX_MAX;
- }
- else
- return minus ? -accum : accum; /* (yes!) */
- }
-
-unsigned long long __attribute__ ((alias ("strtoumax")))
-strtoull (const char* __restrict__ nptr, char ** __restrict__ endptr, int base);
diff --git a/winsup/mingw/mingwex/testwmem.c b/winsup/mingw/mingwex/testwmem.c
deleted file mode 100644
index 1310718c9..000000000
--- a/winsup/mingw/mingwex/testwmem.c
+++ /dev/null
@@ -1,104 +0,0 @@
-#include <memory.h>
-#include <wchar.h>
-#include <stdio.h>
-
-wchar_t fmt1[] = L" 1 2 3 4 5";
-wchar_t fmt2[] = L"12345678901234567890123456789012345678901234567890";
-
-void test_wmemchr( void )
-{
- wchar_t* dest;
- wint_t result;
- wint_t ch = L'r';
- wchar_t str[] = L"lazy";
- wchar_t string1[60] = L"The quick brown dog jumps over the lazy fox";
-
- wprintf( L"Wmemchr\n" );
- wprintf( L"String to be searched:\n\t\t%s\n", string1 );
- wprintf( L"\t\t%s\n\t\t%s\n\n", fmt1, fmt2 );
-
- wprintf( L"Search char:\t%c\n", ch );
- dest = wmemchr( string1, ch, sizeof( string1 ) );
- result = dest - string1 + 1;
- if( dest != NULL )
- wprintf( L"Result:\t\t%c found at position %d\n\n", ch, result );
- else
- wprintf( L"Result:\t\t%c not found\n\n" );
-return;
-}
-void test_wmemset( void )
-{/* 1 2
- 0123456789012345678901234567890 */
- wchar_t buffer[] = L"This is a test of the wmemset function";
- wprintf( L"Before: %s\n", buffer );
- wmemset( buffer+22, L'*', 7 );
- wprintf( L"After: %s\n\n", buffer );
-return;
-}
-
-void test_wmemmove( void )
-{
- wchar_t string1[60] = L"The quick brown dog jumps over the lazy fox";
- wchar_t string2[60] = L"The quick brown fox jumps over the lazy dog";
-
- wprintf( L"Wmemcpy without overlap\n" );
- wprintf( L"Source:\t\t%s\n", string1 + 40 );
- wprintf( L"Destination:\t%s\n", string1 + 16 );
- wmemcpy( string1 + 16, string1 + 40, 3 );
- wprintf( L"Result:\t\t%s\n", string1 );
- wprintf( L"Length:\t\t%d characters\n\n", wcslen( string1 ) );
- wmemcpy( string1 + 16, string2 + 40, 3 );
-
- wprintf( L"Wmemmove with overlap\n" );
- wprintf( L"Source:\t\t%s\n", string2 + 4 );
- wprintf( L"Destination:\t%s\n", string2 + 10 );
- wmemmove( string2 + 10, string2 + 4, 40 );
- wprintf( L"Result:\t\t%s\n", string2 );
- wprintf( L"Length:\t\t%d characters\n\n", wcslen( string2 ) );
-
- wprintf( L"Wmemcpy with overlap\n" );
- wprintf( L"Source:\t\t%s\n", string1 + 4 );
- wprintf( L"Destination:\t%s\n", string1 + 10 );
- wmemcpy( string1 + 10, string1 + 4, 40 );
- wprintf( L"Result:\t\t%s\n", string1 );
- wprintf( L"Length:\t\t%d characters\n\n", wcslen( string1 ) );
-}
-
-
-void test_wmemcmp( void )
-{
- wchar_t first[] = L"12345678901234567890";
- wchar_t second[] = L"12345678901234567891";
- wint_t result;
- wprintf(L"Wmemcmp\n");
- wprintf( L"Compare '%.19s' to '%.19s':\n", first, second );
- result = wmemcmp( first, second, 19 );
- if( result < 0 )
- wprintf( L"First is less than second.\n" );
- else if( result == 0 )
- wprintf( L"First is equal to second.\n" );
- else if( result > 0 )
- wprintf( L"First is greater than second.\n" );
- wprintf( L"\nCompare '%.20s' to '%.20s':\n", first, second );
- result = wmemcmp( first, second, 20 );
- if( result < 0 )
- wprintf( L"First is less than second.\n\n" );
- else if( result == 0 )
- wprintf( L"First is equal to second.\n\n" );
- else if( result > 0 )
- wprintf( L"First is greater than second.\n\n" );
-}
-
-
-
-int main(){
-test_wmemset();
-test_wmemmove();
-test_wmemchr();
-test_wmemcmp();
-return 0;
-}
-
-
-
-
diff --git a/winsup/mingw/mingwex/tst-aligned-malloc.c b/winsup/mingw/mingwex/tst-aligned-malloc.c
deleted file mode 100755
index 43ee734bc..000000000
--- a/winsup/mingw/mingwex/tst-aligned-malloc.c
+++ /dev/null
@@ -1,90 +0,0 @@
-#include <stdio.h>
-#include <stdlib.h>
-#include <time.h>
-#include <string.h>
-#include <errno.h>
-#include <malloc.h>
-
-#ifdef HAVE_STDINT_H
-# include <stdint.h> /* uintptr_t */
-#else
-# define uintptr_t size_t
-#endif
-
-#define NELEM(a) (sizeof(a) / sizeof(a[0]))
-
-static int
-is_aligned (void *p, size_t alignment, size_t offset)
-{
- return !((((uintptr_t) p) + offset) & (alignment - 1));
-}
-
-#define MAX_SIZE (1 << sizeof(unsigned char))
-#define NP 1000
-#define NTST 100000U
-
-#define ERRMSG fprintf(stderr, "Iteration %u, align = %u, offset = %u, size = %u (oldsize = %u), errno = %d (%s)\n", i, align[j % NELEM(align)], offset[j % NELEM(offset)], size[j], oldsize, errno, strerror(errno))
-
-int
-main (void)
-{
- unsigned char *p[NP];
- size_t size[NP];
- size_t align[] = { 2, 4, 8, 16, 32, 64 };
- size_t offset[20];
- unsigned i;
-
- srand (time (NULL));
-
- for (i = 0; i < NELEM (p); ++i)
- {
- p[i] = 0;
- size[i] = 0;
- }
-
- for (i = 0; i < NELEM (offset); ++i)
- offset[i] = rand () % 512;
-
- for (i = 0; i < NTST; ++i)
- {
- size_t oldsize;
- unsigned j, k;
- j = rand () % NELEM (p);
- oldsize = size[j];
- p[j] = __mingw_aligned_offset_realloc (p[j],
- size[j] = rand () % MAX_SIZE,
- align[j % NELEM (align)],
- offset[j % NELEM (offset)]);
-
- if (size[j] && !p[j])
- {
- fprintf (stderr, "Returned NULL!\n");
- ERRMSG;
- return EXIT_FAILURE;
- }
- if (size[j] && !is_aligned (p[j],
- align[j % NELEM (align)],
- offset[j % NELEM (offset)]))
- {
- fprintf (stderr, "Misaligned block!\n");
- ERRMSG;
- return EXIT_FAILURE;
- }
- if (oldsize > size[j])
- oldsize = size[j];
- for (k = 0; k < oldsize; ++k)
- if (p[j][k] != k)
- {
- fprintf (stderr, "Miscopied block!\n");
- ERRMSG;
- return EXIT_FAILURE;
- }
- for (k = 0; k < size[j]; ++k)
- p[j][k] = k;
- }
-
- for (i = 0; i < NELEM (p); ++i)
- __mingw_aligned_free (p[i]);
-
- return EXIT_SUCCESS;
-}
diff --git a/winsup/mingw/mingwex/ulltoa.c b/winsup/mingw/mingwex/ulltoa.c
deleted file mode 100644
index 8e90de764..000000000
--- a/winsup/mingw/mingwex/ulltoa.c
+++ /dev/null
@@ -1,3 +0,0 @@
-#include <stdlib.h>
-char* ulltoa(unsigned long long _n, char * _c, int _i)
- { return _ui64toa (_n, _c, _i); }
diff --git a/winsup/mingw/mingwex/ulltow.c b/winsup/mingw/mingwex/ulltow.c
deleted file mode 100644
index 8e4f228f1..000000000
--- a/winsup/mingw/mingwex/ulltow.c
+++ /dev/null
@@ -1,3 +0,0 @@
-#include <stdlib.h>
-wchar_t* ulltow(unsigned long long _n, wchar_t * _w, int _i)
- { return _ui64tow (_n, _w, _i); }
diff --git a/winsup/mingw/mingwex/wcrtomb.c b/winsup/mingw/mingwex/wcrtomb.c
deleted file mode 100755
index 08a5fccae..000000000
--- a/winsup/mingw/mingwex/wcrtomb.c
+++ /dev/null
@@ -1,94 +0,0 @@
-#include "mb_wc_common.h"
-#include <wchar.h>
-#include <stdlib.h>
-#include <errno.h>
-#include <limits.h>
-#define WIN32_LEAN_AND_MEAN
-#include <windows.h>
-
-
-static int __MINGW_ATTRIB_NONNULL(1)
- __wcrtomb_cp (char *dst, wchar_t wc, const unsigned int cp,
- const unsigned int mb_max)
-{
- if (wc > 255)
- {
- errno = EILSEQ;
- return -1;
- }
-
- if (cp == 0)
- {
- *dst = (char) wc;
- return 1;
- }
- else
- {
- int invalid_char = 0;
-
- int size = WideCharToMultiByte(get_cp_from_locale(),
- 0 /* Is this correct flag? */,
- &wc, 1, dst, mb_max,
- NULL, &invalid_char);
- if (size == 0 || invalid_char)
- {
- errno = EILSEQ;
- return -1;
- }
- return size;
- }
-}
-
-size_t
-wcrtomb (char *dst, wchar_t wc, mbstate_t * __UNUSED_PARAM (ps))
-{
- char byte_bucket [MB_LEN_MAX];
- char* tmp_dst = dst ? dst : byte_bucket;
- return (size_t)__wcrtomb_cp (tmp_dst, wc, get_cp_from_locale (),
- MB_CUR_MAX);
-}
-
-size_t wcsrtombs (char *dst, const wchar_t **src, size_t len,
- mbstate_t * __UNUSED_PARAM (ps))
-{
- int ret = 0;
- size_t n = 0;
- const unsigned int cp = get_cp_from_locale();
- const unsigned int mb_max = MB_CUR_MAX;
-
- if (src == NULL || *src == NULL) /* undefined behavior */
- return 0;
-
- if (dst != NULL)
- {
- const wchar_t ** saved_src = src;
- while (n < len)
- {
- if ((ret = __wcrtomb_cp (dst, **src, cp, mb_max)) <= 0)
- return (size_t) -1;
- n += ret;
- dst += ret;
- if (*(dst - 1) == '\0')
- {
- *saved_src = (wchar_t) NULL;;
- return (n - 1);
- }
- *src++;
- }
- }
- else
- {
- char byte_bucket [MB_LEN_MAX];
- while (n < len)
- {
- if ((ret = __wcrtomb_cp (byte_bucket, **src, cp, mb_max))
- <= 0)
- return (size_t) -1;
- n += ret;
- if (byte_bucket [ret - 1] == '\0')
- return (n - 1);
- *src++;
- }
- }
- return n;
-}
diff --git a/winsup/mingw/mingwex/wcstof.c b/winsup/mingw/mingwex/wcstof.c
deleted file mode 100644
index 830f79416..000000000
--- a/winsup/mingw/mingwex/wcstof.c
+++ /dev/null
@@ -1,6 +0,0 @@
-#include <wchar.h>
-
-float wcstof( const wchar_t *nptr, wchar_t **endptr)
-{
- return (wcstod(nptr, endptr));
-}
diff --git a/winsup/mingw/mingwex/wcstoimax.c b/winsup/mingw/mingwex/wcstoimax.c
deleted file mode 100644
index 99bacf463..000000000
--- a/winsup/mingw/mingwex/wcstoimax.c
+++ /dev/null
@@ -1,119 +0,0 @@
-/*
- This source code was extracted from the Q8 package created and
- placed in the PUBLIC DOMAIN by Doug Gwyn <gwyn@arl.mil>
-
- last edit: 1999/11/05 gwyn@arl.mil
-
- Implements subclause 7.8.2 of ISO/IEC 9899:1999 (E).
-
- This particular implementation requires the matching <inttypes.h>.
- It also assumes that character codes for A..Z and a..z are in
- contiguous ascending order; this is true for ASCII but not EBCDIC.
-*/
-
-#include <wchar.h>
-#include <errno.h>
-#include <ctype.h>
-#include <inttypes.h>
-
-/* convert digit wide character to number, in any base */
-
-#define ToWNumber(c) (iswdigit(c) ? (c) - L'0' : \
- iswupper(c) ? (c) - L'A' + 10 : \
- iswlower(c) ? (c) - L'a' + 10 : \
- -1 /* "invalid" flag */ \
- )
-
-/* validate converted digit character for specific base */
-#define valid(n, b) ((n) >= 0 && (n) < (b))
-
-intmax_t
-wcstoimax(nptr, endptr, base)
- register const wchar_t * __restrict__ nptr;
- wchar_t ** __restrict__ endptr;
- register int base;
- {
- register uintmax_t accum; /* accumulates converted value */
- register int n; /* numeral from digit character */
- int minus; /* set iff minus sign seen */
- int toobig; /* set iff value overflows */
-
- if ( endptr != NULL )
- *endptr = (wchar_t *)nptr; /* in case no conv performed */
-
- if ( base < 0 || base == 1 || base > 36 )
- {
- errno = EDOM;
- return 0; /* unspecified behavior */
- }
-
- /* skip initial, possibly empty sequence of white-space w.characters */
-
- while ( iswspace(*nptr) )
- ++nptr;
-
- /* process subject sequence: */
-
- /* optional sign */
-
- if ( (minus = *nptr == L'-') || *nptr == L'+' )
- ++nptr;
-
- if ( base == 0 )
- {
- if ( *nptr == L'0' )
- {
- if ( nptr[1] == L'X' || nptr[1] == L'x' )
- base = 16;
- else
- base = 8;
- }
- else
- base = 10;
- }
- /* optional "0x" or "0X" for base 16 */
-
- if ( base == 16 && *nptr == L'0'
- && (nptr[1] == L'X' || nptr[1] == L'x')
- )
- nptr += 2; /* skip past this prefix */
-
- /* check whether there is at least one valid digit */
-
- n = ToWNumber(*nptr);
- ++nptr;
-
- if ( !valid(n, base) )
- return 0; /* subject seq. not of expected form */
-
- accum = n;
-
- for ( toobig = 0; n = ToWNumber(*nptr), valid(n, base); ++nptr )
- if ( accum > (uintmax_t)(INTMAX_MAX / base + 2) ) /* major wrap-around */
- toobig = 1; /* but keep scanning */
- else
- accum = base * accum + n;
-
- if ( endptr != NULL )
- *endptr = (wchar_t *)nptr; /* -> first not-valid-digit */
-
- if ( minus )
- {
- if ( accum > (uintmax_t)INTMAX_MAX + 1 )
- toobig = 1;
- }
- else
- if ( accum > (uintmax_t)INTMAX_MAX )
- toobig = 1;
-
- if ( toobig )
- {
- errno = ERANGE;
- return minus ? INTMAX_MIN : INTMAX_MAX;
- }
- else
- return (intmax_t)(minus ? -accum : accum);
- }
-
-long long __attribute__ ((alias ("wcstoimax")))
-wcstoll (const wchar_t* __restrict__ nptr, wchar_t ** __restrict__ endptr, int base);
diff --git a/winsup/mingw/mingwex/wcstold.c b/winsup/mingw/mingwex/wcstold.c
deleted file mode 100644
index 85298807c..000000000
--- a/winsup/mingw/mingwex/wcstold.c
+++ /dev/null
@@ -1,76 +0,0 @@
-/* Wide char wrapper for strtold
- * Revision history:
- * 6 Nov 2002 Initial version.
- *
- * Contributor: Danny Smith <dannysmith@users.sourceforege.net>
- */
-
- /* This routine has been placed in the public domain.*/
-
-#define WIN32_LEAN_AND_MEAN
-#include <windows.h>
-#include <locale.h>
-#include <wchar.h>
-#include <stdlib.h>
-#include <string.h>
-
-extern int __asctoe64(const char * __restrict__ ss,
- short unsigned int * __restrict__ y);
-
-
-static __inline__ unsigned int get_codepage (void)
-{
- char* cp;
-
- /*
- locale :: "lang[_country[.code_page]]"
- | ".code_page"
- */
- if ((cp = strchr(setlocale(LC_CTYPE, NULL), '.')))
- return atoi( cp + 1);
- else
- return 0;
-}
-
-long double wcstold (const wchar_t * __restrict__ wcs, wchar_t ** __restrict__ wcse)
-{
- char * cs;
- int i;
- int lenldstr;
- union
- {
- unsigned short int us[6];
- long double ld;
- } xx;
-
- unsigned int cp = get_codepage ();
-
- /* Allocate enough room for (possibly) mb chars */
- cs = (char *) malloc ((wcslen(wcs)+1) * MB_CUR_MAX);
-
- if (cp == 0) /* C locale */
- {
- for (i = 0; (wcs[i] != 0) && wcs[i] <= 255; i++)
- cs[i] = (char) wcs[i];
- cs[i] = '\0';
- }
- else
- {
- int nbytes = -1;
- int mb_len = 0;
- /* loop through till we hit null or invalid character */
- for (i = 0; (wcs[i] != 0) && (nbytes != 0); i++)
- {
- nbytes = WideCharToMultiByte(cp, WC_COMPOSITECHECK | WC_SEPCHARS,
- wcs + i, 1, cs + mb_len, MB_CUR_MAX,
- NULL, NULL);
- mb_len += nbytes;
- }
- cs[mb_len] = '\0';
- }
- lenldstr = __asctoe64( cs, xx.us);
- free (cs);
- if (wcse)
- *wcse = (wchar_t*) wcs + lenldstr;
- return xx.ld;
-}
diff --git a/winsup/mingw/mingwex/wcstoumax.c b/winsup/mingw/mingwex/wcstoumax.c
deleted file mode 100644
index 9bd6cd704..000000000
--- a/winsup/mingw/mingwex/wcstoumax.c
+++ /dev/null
@@ -1,113 +0,0 @@
-/*
- This source code was extracted from the Q8 package created and
- placed in the PUBLIC DOMAIN by Doug Gwyn <gwyn@arl.mil>
-
- last edit: 1999/11/05 gwyn@arl.mil
-
- Implements subclause 7.8.2 of ISO/IEC 9899:1999 (E).
-
- This particular implementation requires the matching <inttypes.h>.
- It also assumes that character codes for A..Z and a..z are in
- contiguous ascending order; this is true for ASCII but not EBCDIC.
-*/
-
-#include <wchar.h>
-#include <errno.h>
-#include <ctype.h>
-#include <inttypes.h>
-
-/* convert digit wide character to number, in any base */
-
-#define ToWNumber(c) (iswdigit(c) ? (c) - L'0' : \
- iswupper(c) ? (c) - L'A' + 10 : \
- iswlower(c) ? (c) - L'a' + 10 : \
- -1 /* "invalid" flag */ \
- )
-
-/* validate converted digit character for specific base */
-#define valid(n, b) ((n) >= 0 && (n) < (b))
-
-uintmax_t
-wcstoumax(nptr, endptr, base)
- register const wchar_t * __restrict__ nptr;
- wchar_t ** __restrict__ endptr;
- register int base;
- {
- register uintmax_t accum; /* accumulates converted value */
- register uintmax_t next; /* for computing next value of accum */
- register int n; /* numeral from digit character */
- int minus; /* set iff minus sign seen (yes!) */
- int toobig; /* set iff value overflows */
-
- if ( endptr != NULL )
- *endptr = (wchar_t *)nptr; /* in case no conv performed */
-
- if ( base < 0 || base == 1 || base > 36 )
- {
- errno = EDOM;
- return 0; /* unspecified behavior */
- }
-
- /* skip initial, possibly empty sequence of white-space w.characters */
-
- while ( iswspace(*nptr) )
- ++nptr;
-
- /* process subject sequence: */
-
- /* optional sign */
-
- if ( (minus = *nptr == L'-') || *nptr == L'+' )
- ++nptr;
-
- if ( base == 0 )
- {
- if ( *nptr == L'0' )
- {
- if ( nptr[1] == L'X' || nptr[1] == L'x' )
- base = 16;
- else
- base = 8;
- }
- else
- base = 10;
- }
- /* optional "0x" or "0X" for base 16 */
-
- if ( base == 16 && *nptr == L'0'
- && (nptr[1] == L'X' || nptr[1] == L'x')
- )
- nptr += 2; /* skip past this prefix */
-
- /* check whether there is at least one valid digit */
-
- n = ToWNumber(*nptr);
- ++nptr;
-
- if ( !valid(n, base) )
- return 0; /* subject seq. not of expected form */
-
- accum = n;
-
- for ( toobig = 0; n = ToWNumber(*nptr), valid(n, base); ++nptr )
- if ( accum > UINTMAX_MAX / base + 1 /* major wrap-around */
- || (next = base * accum + n) < accum /* minor wrap-around */
- )
- toobig = 1; /* but keep scanning */
- else
- accum = next;
-
- if ( endptr != NULL )
- *endptr = (wchar_t *)nptr; /* -> first not-valid-digit */
-
- if ( toobig )
- {
- errno = ERANGE;
- return UINTMAX_MAX;
- }
- else
- return minus ? -accum : accum; /* (yes!) */
- }
-
-unsigned long long __attribute__ ((alias ("wcstoumax")))
-wcstoull (const wchar_t* __restrict__ nptr, wchar_t ** __restrict__ endptr, int base);
diff --git a/winsup/mingw/mingwex/wctob.c b/winsup/mingw/mingwex/wctob.c
deleted file mode 100755
index 2b40fc1d0..000000000
--- a/winsup/mingw/mingwex/wctob.c
+++ /dev/null
@@ -1,21 +0,0 @@
-#include "mb_wc_common.h"
-#include <wchar.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <errno.h>
-#define WIN32_LEAN_AND_MEAN
-#include <windows.h>
-
-/* Return just the first byte after translating to multibyte. */
-int wctob (wint_t wc )
-{
- wchar_t w = wc;
- char c;
- int invalid_char = 0;
- if (!WideCharToMultiByte (get_cp_from_locale(),
- 0 /* Is this correct flag? */,
- &w, 1, &c, 1, NULL, &invalid_char)
- || invalid_char)
- return EOF;
- return (int) c;
-}
diff --git a/winsup/mingw/mingwex/wctrans.c b/winsup/mingw/mingwex/wctrans.c
deleted file mode 100755
index e129af471..000000000
--- a/winsup/mingw/mingwex/wctrans.c
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- wctrans.c
- 7.25.3.2 Extensible wide-character case mapping functions
-
- Contributed by: Danny Smith <dannysmith@usesr.sourcefoge.net>
- 2005-02-24
-
- This source code is placed in the PUBLIC DOMAIN. It is modified
- from the Q8 package created by Doug Gwyn <gwyn@arl.mil>
-
- */
-
-#include <string.h>
-#include <wctype.h>
-
-/*
- This differs from the MS implementation of wctrans which
- returns 0 for tolower and 1 for toupper. According to
- C99, a 0 return value indicates invalid input.
-
- These two function go in the same translation unit so that we
- can ensure that
- towctrans(wc, wctrans("tolower")) == towlower(wc)
- towctrans(wc, wctrans("toupper")) == towupper(wc)
- It also ensures that
- towctrans(wc, wctrans("")) == wc
- which is not required by standard.
-*/
-
-static const struct {
- const char *name;
- wctrans_t val; } tmap[] = {
- {"tolower", _LOWER},
- {"toupper", _UPPER}
- };
-
-#define NTMAP (sizeof tmap / sizeof tmap[0])
-
-wctrans_t
-wctrans (const char* property)
-{
- int i;
- for ( i = 0; i < NTMAP; ++i )
- if (strcmp (property, tmap[i].name) == 0)
- return tmap[i].val;
- return 0;
-}
-
-wint_t towctrans (wint_t wc, wctrans_t desc)
-{
- switch (desc)
- {
- case _LOWER:
- return towlower (wc);
- case _UPPER:
- return towupper (wc);
- default:
- return wc;
- }
-}
diff --git a/winsup/mingw/mingwex/wctype.c b/winsup/mingw/mingwex/wctype.c
deleted file mode 100755
index 197fde5f7..000000000
--- a/winsup/mingw/mingwex/wctype.c
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- wctype.c
- 7.25.2.2.2 The wctype function
-
- Contributed by: Danny Smith <dannysmith@usesr.sourcefoge.net>
- 2005-02-24
-
- This source code is placed in the PUBLIC DOMAIN. It is modified
- from the Q8 package created by Doug Gwyn <gwyn@arl.mil>
-
- The wctype function constructs a value with type wctype_t that
- describes a class of wide characters identified by the string
- argument property.
-
- In particular, we map the property strings so that:
-
- iswctype(wc, wctype("alnum")) == iswalnum(wc)
- iswctype(wc, wctype("alpha")) == iswalpha(wc)
- iswctype(wc, wctype("cntrl")) == iswcntrl(wc)
- iswctype(wc, wctype("digit")) == iswdigit(wc)
- iswctype(wc, wctype("graph")) == iswgraph(wc)
- iswctype(wc, wctype("lower")) == iswlower(wc)
- iswctype(wc, wctype("print")) == iswprint(wc)
- iswctype(wc, wctype("punct")) == iswpunct(wc)
- iswctype(wc, wctype("space")) == iswspace(wc)
- iswctype(wc, wctype("upper")) == iswupper(wc)
- iswctype(wc, wctype("xdigit")) == iswxdigit(wc)
-
-*/
-
-#include <string.h>
-#include <wctype.h>
-
-/* Using the bit-OR'd ctype character classification flags as return
- values achieves compatibility with MS iswctype(). */
-static const struct {
- const char *name;
- wctype_t flags;} cmap[] = {
- {"alnum", _ALPHA|_DIGIT},
- {"alpha", _ALPHA},
- {"cntrl", _CONTROL},
- {"digit", _DIGIT},
- {"graph", _PUNCT|_ALPHA|_DIGIT},
- {"lower", _LOWER},
- {"print", _BLANK|_PUNCT|_ALPHA|_DIGIT},
- {"punct", _PUNCT},
- {"space", _SPACE},
- {"upper", _UPPER},
- {"xdigit", _HEX}
- };
-
-#define NCMAP (sizeof cmap / sizeof cmap[0])
-wctype_t wctype (const char *property)
-{
- int i;
- for (i = 0; i < NCMAP; ++i)
- if (strcmp (property, cmap[i].name) == 0)
- return cmap[i].flags;
- return 0;
-}
diff --git a/winsup/mingw/mingwex/wdirent.c b/winsup/mingw/mingwex/wdirent.c
deleted file mode 100644
index 4b8cc5054..000000000
--- a/winsup/mingw/mingwex/wdirent.c
+++ /dev/null
@@ -1,3 +0,0 @@
-#define _UNICODE 1
-#define UNICODE 1
-#include "dirent.c"
diff --git a/winsup/mingw/mingwex/wmemchr.c b/winsup/mingw/mingwex/wmemchr.c
deleted file mode 100644
index dc5cedd23..000000000
--- a/winsup/mingw/mingwex/wmemchr.c
+++ /dev/null
@@ -1,28 +0,0 @@
-/* This source code was extracted from the Q8 package created and placed
- in the PUBLIC DOMAIN by Doug Gwyn <gwyn@arl.mil>
- last edit: 1999/11/05 gwyn@arl.mil
-
- Implements subclause 7.24 of ISO/IEC 9899:1999 (E).
-
- It supports an encoding where all char codes are mapped
- to the *same* code values within a wchar_t or wint_t,
- so long as no other wchar_t codes are used by the program.
-
-*/
-
-#include <wchar.h>
-
-wchar_t*
-wmemchr(s, c, n)
- register const wchar_t *s;
- register wchar_t c;
- register size_t n;
- {
- if ( s != NULL )
- for ( ; n > 0; ++s, --n )
- if ( *s == c )
- return (wchar_t *)s;
-
- return NULL;
- }
-
diff --git a/winsup/mingw/mingwex/wmemcmp.c b/winsup/mingw/mingwex/wmemcmp.c
deleted file mode 100644
index e1e034c7b..000000000
--- a/winsup/mingw/mingwex/wmemcmp.c
+++ /dev/null
@@ -1,32 +0,0 @@
-/* This source code was extracted from the Q8 package created and placed
- in the PUBLIC DOMAIN by Doug Gwyn <gwyn@arl.mil>
- last edit: 1999/11/05 gwyn@arl.mil
-
- Implements subclause 7.24 of ISO/IEC 9899:1999 (E).
-
- It supports an encoding where all char codes are mapped
- to the *same* code values within a wchar_t or wint_t,
- so long as no other wchar_t codes are used by the program.
-
-*/
-
-#include <wchar.h>
-
-int
-wmemcmp(s1, s2, n)
- register const wchar_t *s1;
- register const wchar_t *s2;
- size_t n;
- {
- if ( n == 0 || s1 == s2 )
- return 0; /* even for NULL pointers */
-
- if ( (s1 != NULL) != (s2 != NULL) )
- return s2 == NULL ? 1 : -1; /* robust */
-
- for ( ; n > 0; ++s1, ++s2, --n )
- if ( *s1 != *s2 )
- return *s1 - *s2;
-
- return 0;
- }
diff --git a/winsup/mingw/mingwex/wmemcpy.c b/winsup/mingw/mingwex/wmemcpy.c
deleted file mode 100644
index d7e7b4cb3..000000000
--- a/winsup/mingw/mingwex/wmemcpy.c
+++ /dev/null
@@ -1,32 +0,0 @@
-/* This source code was extracted from the Q8 package created and placed
- in the PUBLIC DOMAIN by Doug Gwyn <gwyn@arl.mil>
- last edit: 1999/11/05 gwyn@arl.mil
-
- Implements subclause 7.24 of ISO/IEC 9899:1999 (E).
-
- It supports an encoding where all char codes are mapped
- to the *same* code values within a wchar_t or wint_t,
- so long as no other wchar_t codes are used by the program.
-
-*/
-
-#include <wchar.h>
-
-
-wchar_t *
-wmemcpy(s1, s2, n)
- register wchar_t * __restrict__ s1;
- register const wchar_t * __restrict__ s2;
- register size_t n;
- {
- wchar_t *orig_s1 = s1;
-
- if ( s1 == NULL || s2 == NULL || n == 0 )
- return orig_s1; /* robust */
-
- for ( ; n > 0; --n )
- *s1++ = *s2++;
-
- return orig_s1;
- }
-
diff --git a/winsup/mingw/mingwex/wmemmove.c b/winsup/mingw/mingwex/wmemmove.c
deleted file mode 100644
index 3c545ac32..000000000
--- a/winsup/mingw/mingwex/wmemmove.c
+++ /dev/null
@@ -1,43 +0,0 @@
-/* This source code was extracted from the Q8 package created and placed
- in the PUBLIC DOMAIN by Doug Gwyn <gwyn@arl.mil>
- last edit: 1999/11/05 gwyn@arl.mil
-
- Implements subclause 7.24 of ISO/IEC 9899:1999 (E).
-
- It supports an encoding where all char codes are mapped
- to the *same* code values within a wchar_t or wint_t,
- so long as no other wchar_t codes are used by the program.
-
-*/
-
-#include <errno.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <wchar.h>
-
-wchar_t *
-wmemmove(s1, s2, n)
- register wchar_t *s1;
- register const wchar_t *s2;
- register size_t n;
- {
- wchar_t *orig_s1 = s1;
-
- if ( s1 == NULL || s2 == NULL || n == 0 )
- return orig_s1; /* robust */
-
- /* XXX -- The following test works only within a flat address space! */
- if ( s2 >= s1 )
- for ( ; n > 0; --n )
- *s1++ = *s2++;
- else {
- s1 += n;
- s2 += n;
-
- for ( ; n > 0; --n )
- *--s1 = *--s2;
- }
-
- return orig_s1;
- }
-
diff --git a/winsup/mingw/mingwex/wmemset.c b/winsup/mingw/mingwex/wmemset.c
deleted file mode 100644
index dadd9fb07..000000000
--- a/winsup/mingw/mingwex/wmemset.c
+++ /dev/null
@@ -1,30 +0,0 @@
-/* This source code was extracted from the Q8 package created and placed
- in the PUBLIC DOMAIN by Doug Gwyn <gwyn@arl.mil>
- last edit: 1999/11/05 gwyn@arl.mil
-
- Implements subclause 7.24 of ISO/IEC 9899:1999 (E).
-
- It supports an encoding where all char codes are mapped
- to the *same* code values within a wchar_t or wint_t,
- so long as no other wchar_t codes are used by the program.
-
-*/
-
-#include <wchar.h>
-
-
-wchar_t *
-wmemset(s, c, n)
- register wchar_t *s;
- register wchar_t c;
- register size_t n;
- {
- wchar_t *orig_s = s;
-
- if ( s != NULL )
- for ( ; n > 0; --n )
- *s++ = c;
-
- return orig_s;
- }
-
diff --git a/winsup/mingw/mingwex/wtoll.c b/winsup/mingw/mingwex/wtoll.c
deleted file mode 100644
index 0bff278d1..000000000
--- a/winsup/mingw/mingwex/wtoll.c
+++ /dev/null
@@ -1,3 +0,0 @@
-#include <stdlib.h>
-long long wtoll(const wchar_t * _w)
- { return _wtoi64 (_w); }
diff --git a/winsup/mingw/mkinstalldirs b/winsup/mingw/mkinstalldirs
deleted file mode 100755
index cc8783edc..000000000
--- a/winsup/mingw/mkinstalldirs
+++ /dev/null
@@ -1,36 +0,0 @@
-#! /bin/sh
-# mkinstalldirs --- make directory hierarchy
-# Author: Noah Friedman <friedman@prep.ai.mit.edu>
-# Created: 1993-05-16
-# Last modified: 1994-03-25
-# Public domain
-
-errstatus=0
-
-for file in ${1+"$@"} ; do
- set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'`
- shift
-
- pathcomp=
- for d in ${1+"$@"} ; do
- pathcomp="$pathcomp$d"
- case "$pathcomp" in
- -* ) pathcomp=./$pathcomp ;;
- esac
-
- if test ! -d "$pathcomp"; then
- echo "mkdir $pathcomp" 1>&2
- mkdir "$pathcomp" > /dev/null 2>&1 || lasterr=$?
- fi
-
- if test ! -d "$pathcomp"; then
- errstatus=$lasterr
- fi
-
- pathcomp="$pathcomp/"
- done
-done
-
-exit $errstatus
-
-# mkinstalldirs ends here
diff --git a/winsup/mingw/moldname.def.in b/winsup/mingw/moldname.def.in
deleted file mode 100644
index 9480f6d6d..000000000
--- a/winsup/mingw/moldname.def.in
+++ /dev/null
@@ -1,151 +0,0 @@
-;
-; __FILENAME__
-;
-; Exports from the runtime except that these exports are actually preceeded
-; by a underscore in the actual DLL. These correspond to functions which
-; are non-ANSI and were prefixed with an underscore to avoid name space
-; clutter. However many, in fact most programs still use a few of these
-; functions without the underscore. This .def file is specially processed
-; to make those non-underscored name function calls call the equivalent
-; underscored functions.
-;
-; Contributors:
-; Created by Colin Peters <colin@bird.fu.is.saga-u.ac.jp>
-; Maintained by Mumit Khan <khan@xraylith.wisc.edu>
-;
-; THIS SOFTWARE IS NOT COPYRIGHTED
-;
-; This source code is offered for use in the public domain. You may
-; use, modify or distribute it freely.
-;
-; This code is distributed in the hope that it will be useful but
-; WITHOUT ANY WARRANTY. ALL WARRENTIES, EXPRESS OR IMPLIED ARE HEREBY
-; DISCLAMED. This includes but is not limited to warrenties of
-; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-;
-EXPORTS
-access
-chdir
-chmod
-chsize
-close
-creat
-cwait
-#if !(__CRTDLL__)
-daylight DATA
-#endif
-dup
-dup2
-ecvt
-eof
-execl
-execle
-execlp
-execlpe
-execv
-execve
-execvp
-execvpe
-fcvt
-fdopen
-fgetchar
-fgetwchar
-filelength
-fileno
-; Alias fpreset is set in CRT_fp10,c and CRT_fp8.c.
-; fpreset
-fputchar
-fputwchar
-fstat
-ftime
-gcvt
-getch
-getche
-getcwd
-getpid
-getw
-heapwalk
-isatty
-itoa
-kbhit
-lfind
-lsearch
-lseek
-ltoa
-memccpy
-memicmp
-mkdir
-mktemp
-open
-pclose
-popen
-putch
-putenv
-putw
-read
-rmdir
-rmtmp
-searchenv
-setmode
-sopen
-spawnl
-spawnle
-spawnlp
-spawnlpe
-spawnv
-spawnve
-spawnvp
-spawnvpe
-stat
-strcmpi
-strdup
-stricmp
-stricoll
-strlwr
-strnicmp
-strnset
-strrev
-strset
-strupr
-swab
-tell
-tempnam
-#if !(__CRTDLL__)
-timezone DATA
-#endif
-; export tzname for both. See <time.h>
-tzname DATA
-tzset
-umask
-ungetch
-unlink
-utime
-wcsdup
-wcsicmp
-wcsicoll
-wcslwr
-wcsnicmp
-wcsnset
-wcsrev
-wcsset
-wcsupr
-#if !(__CRTDLL__)
-wpopen
-#endif
-write
-; non-ANSI functions declared in math.h
-j0
-j1
-jn
-y0
-y1
-yn
-chgsign
-scalb
-finite
-fpclass
-; C99 functions
-cabs
-hypot
-logb
-nextafter
diff --git a/winsup/mingw/msvcrt.def.in b/winsup/mingw/msvcrt.def.in
deleted file mode 100644
index ac9a92caf..000000000
--- a/winsup/mingw/msvcrt.def.in
+++ /dev/null
@@ -1,809 +0,0 @@
-;
-; __FILENAME__
-; created from msvcrt.def.in
-;* This file has no copyright assigned and is placed in the Public Domain.
-;* This file is a part of the mingw-runtime package.
-;* No warranty is given; refer to the file DISCLAIMER within the package.
-;
-; Exports from msvcrt.dll, msvcr70.dll and msvcr71.dll
-;
-; NOTE: All exports, except for what appeared to be C++ mangled names,
-; are included. Not all functions have prototypes in the headers
-; (and some are not functions at all).
-;
-EXPORTS
-_CIacos
-_CIasin
-_CIatan
-_CIatan2
-_CIcos
-_CIcosh
-_CIexp
-_CIfmod
-_CIlog
-_CIlog10
-_CIpow
-_CIsin
-_CIsinh
-_CIsqrt
-_CItan
-_CItanh
-_CxxThrowException
-_EH_prolog
-_Getdays
-_Getmonths
-_Gettnames
-_HUGE DATA
-_Strftime
-_XcptFilter
-__CxxFrameHandler
-__CxxLongjmpUnwind
-__RTCastToVoid
-__RTDynamicCast
-__RTtypeid
-__STRINGTOLD
-__argc DATA
-__argv DATA
-__badioinfo DATA
-__crtCompareStringA
-__crtGetLocaleInfoW
-__crtLCMapStringA
-__dllonexit
-__doserrno
-__fpecode
-__getmainargs
-__initenv DATA
-__isascii
-__iscsym
-__iscsymf
-__lc_codepage DATA
-__lc_handle DATA
-__lconv_init
-__mb_cur_max DATA
-__p___argc
-__p___argv
-__p___initenv
-__p___mb_cur_max
-__p___wargv
-__p___winitenv
-__p__acmdln
-__p__amblksiz
-__p__commode
-__p__daylight
-__p__dstbias
-__p__environ
-__p__fileinfo
-__p__fmode
-__p__iob
-__p__mbctype
-__p__osver
-__p__pctype
-__p__pgmptr
-__p__pwctype
-__p__timezone
-__p__tzname
-__p__wcmdln
-__p__wenviron
-__p__winmajor
-__p__winminor
-__p__winver
-__p__wpgmptr
-__pioinfo DATA
-__pxcptinfoptrs
-__set_app_type
-__setlc_active DATA
-__setusermatherr
-__threadhandle
-__threadid
-__toascii
-__unDName
-__unguarded_readlc_active DATA
-__wargv DATA
-__wgetmainargs
-__winitenv DATA
-_abnormal_termination
-_access
-_acmdln DATA
-_adj_fdiv_m16i
-_adj_fdiv_m32
-_adj_fdiv_m32i
-_adj_fdiv_m64
-_adj_fdiv_r
-_adj_fdivr_m16i
-_adj_fdivr_m32
-_adj_fdivr_m32i
-_adj_fdivr_m64
-_adj_fpatan
-_adj_fprem
-_adj_fprem1
-_adj_fptan
-_adjust_fdiv DATA
-_aexit_rtn DATA
-_amsg_exit
-_assert
-_atodbl
-_atoi64
-_atoldbl
-_beep
-_beginthread
-_beginthreadex
-_c_exit
-_cabs
-_callnewh
-_cexit
-_cgets
-_chdir
-_chdrive
-_chgsign
-_chmod
-_chsize
-_clearfp
-_close
-_commit
-_commode DATA
-_control87
-_controlfp
-_copysign
-_cprintf
-_cputs
-_creat
-_cscanf
-_ctype DATA
-_cwait
-_daylight DATA
-_dstbias DATA
-_dup
-_dup2
-_ecvt
-_endthread
-_endthreadex
-_environ DATA
-_eof
-_errno
-_except_handler2
-_except_handler3
-_execl
-_execle
-_execlp
-_execlpe
-_execv
-_execve
-_execvp
-_execvpe
-_exit
-_expand
-_fcloseall
-_fcvt
-_fdopen
-_fgetchar
-_fgetwchar
-_filbuf
-_fileinfo DATA
-_filelength
-_filelengthi64
-_fileno
-_findclose
-_findfirst
-_findfirsti64
-_findnext
-_findnexti64
-_finite
-_flsbuf
-_flushall
-_fmode DATA
-_fpclass
-_fpieee_flt
-_fpreset DATA
-_fputchar
-_fputwchar
-_fsopen
-_fstat
-_fstati64
-_ftime
-_ftol
-_fullpath
-_futime
-_gcvt
-_get_osfhandle
-_get_sbh_threshold
-_getch
-_getche
-_getcwd
-_getdcwd
-_getdiskfree
-_getdllprocaddr
-_getdrive
-_getdrives
-_getmaxstdio
-_getmbcp
-_getpid
-_getsystime
-_getw
-_getws
-_global_unwind2
-_heapadd
-_heapchk
-_heapmin
-_heapset
-_heapused
-_heapwalk
-_hypot
-_i64toa
-_i64tow
-_initterm
-_inp
-_inpd
-_inpw
-_iob DATA
-_isatty
-_isctype
-_ismbbalnum
-_ismbbalpha
-_ismbbgraph
-_ismbbkalnum
-_ismbbkana
-_ismbbkprint
-_ismbbkpunct
-_ismbblead
-_ismbbprint
-_ismbbpunct
-_ismbbtrail
-_ismbcalnum
-_ismbcalpha
-_ismbcdigit
-_ismbcgraph
-_ismbchira
-_ismbckata
-_ismbcl0
-_ismbcl1
-_ismbcl2
-_ismbclegal
-_ismbclower
-_ismbcprint
-_ismbcpunct
-_ismbcspace
-_ismbcsymbol
-_ismbcupper
-_ismbslead
-_ismbstrail
-_isnan
-_itoa
-_itow
-_j0
-_j1
-_jn
-_kbhit
-_lfind
-_loaddll
-_local_unwind2
-_lock
-_locking
-_logb
-_longjmpex
-_lrotl
-_lrotr
-_lsearch
-_lseek
-_lseeki64
-_ltoa
-_ltow
-_makepath
-_mbbtombc
-_mbbtype
-_mbccpy
-_mbcjistojms
-_mbcjmstojis
-_mbclen
-_mbctohira
-_mbctokata
-_mbctolower
-_mbctombb
-_mbctoupper
-_mbctype DATA
-_mbsbtype
-_mbscat
-_mbschr
-_mbscmp
-_mbscoll
-_mbscpy
-_mbscspn
-_mbsdec
-_mbsdup
-_mbsicmp
-_mbsicoll
-_mbsinc
-_mbslen
-_mbslwr
-_mbsnbcat
-_mbsnbcmp
-_mbsnbcnt
-_mbsnbcoll
-_mbsnbcpy
-_mbsnbicmp
-_mbsnbicoll
-_mbsnbset
-_mbsncat
-_mbsnccnt
-_mbsncmp
-_mbsncoll
-_mbsncpy
-_mbsnextc
-_mbsnicmp
-_mbsnicoll
-_mbsninc
-_mbsnset
-_mbspbrk
-_mbsrchr
-_mbsrev
-_mbsset
-_mbsspn
-_mbsspnp
-_mbsstr
-_mbstok
-_mbstrlen
-_mbsupr
-_memccpy
-_memicmp
-_mkdir
-_mktemp
-_msize
-_nextafter
-_onexit DATA
-_open
-_open_osfhandle
-_osver DATA
-_outp
-_outpd
-_outpw
-_pclose
-_pctype DATA
-_pgmptr DATA
-_pipe
-_popen
-_purecall
-_putch
-_putenv
-_putw
-_putws
-_pwctype DATA
-_read
-_rmdir
-_rmtmp
-_rotl
-_rotr
-_safe_fdiv
-_safe_fdivr
-_safe_fprem
-_safe_fprem1
-_scalb
-_searchenv
-_seh_longjmp_unwind
-_set_error_mode
-_set_sbh_threshold
-_seterrormode
-_setjmp
-_setjmp3
-_setmaxstdio
-_setmbcp
-_setmode
-_setsystime
-_sleep
-_snprintf
-_snwprintf
-_sopen
-_spawnl
-_spawnle
-_spawnlp
-_spawnlpe
-_spawnv
-_spawnve
-_spawnvp
-_spawnvpe
-_splitpath
-_stat
-_stati64
-_statusfp
-_strcmpi
-_strdate
-_strdup
-_strerror
-_stricmp
-_stricoll
-_strlwr
-_strncoll
-_strnicmp
-_strnicoll
-_strnset
-_strrev
-_strset
-_strtime
-_strupr
-_swab
-_sys_errlist DATA
-_sys_nerr DATA
-_tell
-_telli64
-_tempnam
-_timezone DATA
-_tolower
-_toupper
-_tzname DATA
-_tzset
-_ui64toa
-_ui64tow
-_ultoa
-_ultow
-_umask
-_ungetch
-_unlink
-_unloaddll
-_unlock
-_utime
-_vsnprintf
-_vsnwprintf
-_waccess
-_wasctime
-_wchdir
-_wchmod
-_wcmdln DATA
-_wcreat
-_wcsdup
-_wcsicmp
-_wcsicoll
-_wcslwr
-_wcsncoll
-_wcsnicmp
-_wcsnicoll
-_wcsnset
-_wcsrev
-_wcsset
-_wcsupr
-_wctime
-_wenviron DATA
-_wexecl
-_wexecle
-_wexeclp
-_wexeclpe
-_wexecv
-_wexecve
-_wexecvp
-_wexecvpe
-_wfdopen
-_wfindfirst
-_wfindfirsti64
-_wfindnext
-_wfindnexti64
-_wfopen
-_wfreopen
-_wfsopen
-_wfullpath
-_wgetcwd
-_wgetdcwd
-_wgetenv
-_winmajor DATA
-_winminor DATA
-_winver DATA
-_wmakepath
-_wmkdir
-_wmktemp
-_wopen
-_wperror
-_wpgmptr DATA
-_wpopen
-_wputenv
-_wremove
-_wrename
-_write
-_wrmdir
-_wsearchenv
-_wsetlocale
-_wsopen
-_wspawnl
-_wspawnle
-_wspawnlp
-_wspawnlpe
-_wspawnv
-_wspawnve
-_wspawnvp
-_wspawnvpe
-_wsplitpath
-_wstat
-_wstati64
-_wstrdate
-_wstrtime
-_wsystem
-_wtempnam
-_wtmpnam
-_wtoi
-_wtoi64
-_wtol
-_wunlink
-_wutime
-_y0
-_y1
-_yn
-abort
-abs
-acos
-asctime
-asin
-atan
-atan2
-atexit DATA
-atof
-atoi
-atol
-bsearch
-calloc
-ceil
-clearerr
-clock
-cos
-cosh
-ctime
-difftime
-div
-exit
-exp
-fabs
-fclose
-feof
-ferror
-fflush
-fgetc
-fgetpos
-fgets
-fgetwc
-fgetws
-floor
-fmod
-fopen
-fprintf
-fputc
-fputs
-fputwc
-fputws
-fread
-free
-freopen
-frexp
-fscanf
-fseek
-fsetpos
-ftell
-fwprintf
-fwrite
-fwscanf
-getc
-getchar
-getenv
-gets
-getwc
-getwchar
-gmtime
-is_wctype
-isalnum
-isalpha
-iscntrl
-isdigit
-isgraph
-isleadbyte
-islower
-isprint
-ispunct
-isspace
-isupper
-iswalnum
-iswalpha
-iswascii
-iswcntrl
-iswctype
-iswdigit
-iswgraph
-iswlower
-iswprint
-iswpunct
-iswspace
-iswupper
-iswxdigit
-isxdigit
-labs
-ldexp
-ldiv
-localeconv
-localtime
-log
-log10
-longjmp
-malloc
-mblen
-mbstowcs
-mbtowc
-memchr
-memcmp
-memcpy
-memmove
-memset
-mktime
-modf
-perror
-pow
-printf
-putc
-putchar
-puts
-putwc
-putwchar
-qsort
-raise
-rand
-realloc
-remove
-rename
-rewind
-scanf
-setbuf
-setlocale
-setvbuf
-signal
-sin
-sinh
-sprintf
-sqrt
-srand
-sscanf
-strcat
-strchr
-strcmp
-strcoll
-strcpy
-strcspn
-strerror
-strftime
-strlen
-strncat
-strncmp
-strncpy
-strpbrk
-strrchr
-strspn
-strstr
-strtod
-strtok
-strtol
-strtoul
-strxfrm
-swprintf
-swscanf
-system
-tan
-tanh
-time
-tmpfile
-tmpnam
-tolower
-toupper
-towlower
-towupper
-ungetc
-ungetwc
-vfprintf
-vfwprintf
-vprintf
-vsprintf
-vswprintf
-vwprintf
-wcscat
-wcschr
-wcscmp
-wcscoll
-wcscpy
-wcscspn
-wcsftime
-wcslen
-wcsncat
-wcsncmp
-wcsncpy
-wcspbrk
-wcsrchr
-wcsspn
-wcsstr
-wcstod
-wcstok
-wcstol
-wcstombs
-wcstoul
-wcsxfrm
-wctomb
-wprintf
-wscanf
-; msvcrt.dll(version 6.10) and later
-__lc_collate_cp DATA
-__p__mbcasemap
-__unDNameEx
-_chkesp
-_ctime64
-_findfirst64
-_findnext64
-_fstat64
-_ftime64
-_futime64
-_gmtime64
-_localtime64
-_mbcasemap
-_mktime64
-_osplatform DATA
-_stat64
-_time64
-_utime64
-_wctime64
-_wfindfirst64
-_wfindnext64
-_wstat64
-_wutime64
-#if ( __msvcr70__ || __msvcr70d__ || __msvcr71__ || __msvcr71d__)
-; msvcr70.dll amd later
-__buffer_overrun
-__CxxDetectRethrow
-__CxxExceptionFilter
-__CxxQueryExceptionSize
-__CxxRegisterExceptionObject
-__CxxUnregisterExceptionObject
-__DestructExceptionObject
-__lc_clike
-__security_error_handler
-__set_buffer_overrun_handler
-__uncaught_exception
-__wcserror
-_aligned_free
-_aligned_malloc
-_aligned_offset_malloc
-_aligned_offset_realloc
-_aligned_realloc
-_cgetws
-_cputws
-_CRT_RTC_INIT
-_cwprintf
-_cwscanf
-_getwch
-_getwche
-_putwch
-_resetstkoflw
-_scprintf
-_scwprintf
-_set_security_error_handler
-_snscanf
-_snwscanf
-_strtoi64
-_strtoui64
-_ungetwch
-_vscprintf
-_vscwprintf
-_wcserror
-_wcstoi64
-_wcstoui64
-_wctype
-_wtof
-#endif /* 7.0 */
-#if (__msvcr71__ || __msvcr71d__)
-; msvcr71.dll
-___lc_codepage_func
-___lc_collate_cp_func
-___lc_handle_func
-___mb_cur_max_func
-___setlc_active_func
-___unguarded_readlc_active_add_func
-__CppXcptFilter
-__crtCompareStringW
-__crtGetStringTypeW
-__crtLCMapStringW
-__CxxCallUnwindDtor
-__CxxCallUnwindVecDtor
-__iob_func
-__pctype_func
-__pwctype_func
-_get_heap_handle
-_set_purecall_handler
-_set_SSE2_enable
-#endif /* 7.1 */
-
diff --git a/winsup/mingw/mthr.c b/winsup/mingw/mthr.c
deleted file mode 100644
index f28236432..000000000
--- a/winsup/mingw/mthr.c
+++ /dev/null
@@ -1,197 +0,0 @@
-/*
- * mthr.c
- *
- * Implement Mingw thread-support DLL .
- *
- * This file is used iff the following conditions are met:
- * - gcc uses -mthreads option
- * - user code uses C++ exceptions
- *
- * The sole job of the Mingw thread support DLL (MingwThr) is to catch
- * all the dying threads and clean up the data allocated in the TLSs
- * for exception contexts during C++ EH. Posix threads have key dtors,
- * but win32 TLS keys do not, hence the magic. Without this, there's at
- * least `6 * sizeof (void*)' bytes leaks for each catch/throw in each
- * thread. The only public interface is __mingwthr_key_dtor().
- *
- * Created by Mumit Khan <khan@nanotech.wisc.edu>
- *
- */
-
-#define WIN32_LEAN_AND_MEAN
-#include <windows.h>
-#undef WIN32_LEAN_AND_MEAN
-#include <stdlib.h>
-
-/* To protect the thread/key association data structure modifications. */
-CRITICAL_SECTION __mingwthr_cs;
-
-typedef struct __mingwthr_key __mingwthr_key_t;
-
-/* The list of threads active with key/dtor pairs. */
-struct __mingwthr_key {
- DWORD key;
- void (*dtor) (void *);
- __mingwthr_key_t *next;
-};
-
-
-static __mingwthr_key_t *key_dtor_list;
-
-/*
- * __mingwthr_key_add:
- *
- * Add key/dtor association for this thread. If the thread entry does not
- * exist, create a new one and add to the head of the threads list; add
- * the new assoc at the head of the keys list.
- *
- */
-
-static int
-___mingwthr_add_key_dtor ( DWORD key, void (*dtor) (void *))
-{
- __mingwthr_key_t *new_key;
-
- new_key = (__mingwthr_key_t *) calloc (1, sizeof (__mingwthr_key_t));
- if (new_key == NULL)
- return -1;
-
- new_key->key = key;
- new_key->dtor = dtor;
-
- EnterCriticalSection (&__mingwthr_cs);
-
- new_key->next = key_dtor_list;
- key_dtor_list = new_key;
-
- LeaveCriticalSection (&__mingwthr_cs);
-
-#ifdef DEBUG
- printf ("%s: allocating: (%ld, %x)\n",
- __FUNCTION__, key, dtor);
-#endif
-
- return 0;
-}
-
-static int
-___mingwthr_remove_key_dtor ( DWORD key )
-{
- __mingwthr_key_t *prev_key;
- __mingwthr_key_t *cur_key;
-
- EnterCriticalSection (&__mingwthr_cs);
-
- prev_key = NULL;
- cur_key = key_dtor_list;
-
- while( cur_key != NULL )
- {
- if( cur_key->key == key )
- {
-// take key/dtor out of list
- if( prev_key == NULL )
- {
- key_dtor_list = cur_key->next;
- }
- else
- {
- prev_key->next = cur_key->next;
- }
-
-#ifdef DEBUG
- printf ("%s: removing: (%ld)\n",
- __FUNCTION__, key );
-#endif
-
- free( cur_key );
- break;
- }
-
- prev_key = cur_key;
- cur_key = cur_key->next;
- }
-
- LeaveCriticalSection (&__mingwthr_cs);
-
- return 0;
-}
-
-/*
- * __mingwthr_run_key_dtors (void):
- *
- * Callback from DllMain when thread detaches to clean up the key
- * storage.
- *
- * Note that this does not delete the key itself, but just runs
- * the dtor if the current value are both non-NULL. Note that the
- * keys with NULL dtors are not added by __mingwthr_key_dtor, the
- * only public interface, so we don't need to check.
- *
- */
-
-void
-__mingwthr_run_key_dtors (void)
-{
- __mingwthr_key_t *keyp;
-
-#ifdef DEBUG
- printf ("%s: Entering Thread id %ld\n", __FUNCTION__, GetCurrentThreadId() );
-#endif
-
- EnterCriticalSection (&__mingwthr_cs);
-
- for (keyp = key_dtor_list; keyp; )
- {
- LPVOID value = TlsGetValue (keyp->key);
- if (GetLastError () == ERROR_SUCCESS)
- {
-#ifdef DEBUG
- printf (" (%ld, %x)\n", keyp->key, keyp->dtor);
-#endif
- if (value)
- (*keyp->dtor) (value);
- }
-#ifdef DEBUG
- else
- {
- printf (" TlsGetValue FAILED (%ld, %x)\n",
- keyp->key, keyp->dtor);
- }
-#endif
- keyp = keyp->next;
- }
-
- LeaveCriticalSection (&__mingwthr_cs);
-
-#ifdef DEBUG
- printf ("%s: Exiting Thread id %ld\n", __FUNCTION__, GetCurrentThreadId() );
-#endif
-}
-
-/*
- * __mingwthr_register_key_dtor (DWORD key, void (*dtor) (void *))
- *
- * Public interface called by C++ exception handling mechanism in
- * libgcc (cf: __gthread_key_create).
- *
- */
-
-__declspec(dllexport)
-int
-__mingwthr_key_dtor (DWORD key, void (*dtor) (void *))
-{
- if (dtor)
- {
- return ___mingwthr_add_key_dtor (key, dtor);
- }
-
- return 0;
-}
-
-__declspec(dllexport)
-int
-__mingwthr_remove_key_dtor (DWORD key )
-{
- return ___mingwthr_remove_key_dtor ( key );
-}
diff --git a/winsup/mingw/mthr_init.c b/winsup/mingw/mthr_init.c
deleted file mode 100644
index 5c8c8bbe8..000000000
--- a/winsup/mingw/mthr_init.c
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- * mthr_init.c
- *
- * Do the thread-support DLL initialization.
- *
- * This file is used iff the following conditions are met:
- * - gcc uses -mthreads option
- * - user code uses C++ exceptions
- *
- * The sole job of the Mingw thread support DLL (MingwThr) is to catch
- * all the dying threads and clean up the data allocated in the TLSs
- * for exception contexts during C++ EH. Posix threads have key dtors,
- * but win32 TLS keys do not, hence the magic. Without this, there's at
- * least `24 * sizeof (void*)' bytes leaks for each catch/throw in each
- * thread.
- *
- * See mthr.c for all the magic.
- *
- * Created by Mumit Khan <khan@nanotech.wisc.edu>
- *
- */
-
-#define WIN32_LEAN_AND_MEAN
-#include <windows.h>
-#undef WIN32_LEAN_AND_MEAN
-#include <stdio.h>
-
-BOOL APIENTRY DllMain (HANDLE hDllHandle, DWORD reason,
- LPVOID reserved /* Not used. */ );
-
-/*
- *----------------------------------------------------------------------
- *
- * DllMain --
- *
- * This routine is called by the Mingw32, Cygwin32 or VC++ C run
- * time library init code, or the Borland DllEntryPoint routine. It
- * is responsible for initializing various dynamically loaded
- * libraries.
- *
- * Results:
- * TRUE on sucess, FALSE on failure.
- *
- * Side effects:
- *
- *----------------------------------------------------------------------
- */
-BOOL APIENTRY
-DllMain (HANDLE hDllHandle /* Library instance handle. */,
- DWORD reason /* Reason this function is being called. */,
- LPVOID reserved /* Not used. */)
-{
-
- extern CRITICAL_SECTION __mingwthr_cs;
- extern void __mingwthr_run_key_dtors( void );
-
-#ifdef DEBUG
- printf ("%s: reason %d\n", __FUNCTION__, reason );
-#endif
-
- switch (reason)
- {
- case DLL_PROCESS_ATTACH:
- InitializeCriticalSection (&__mingwthr_cs);
- break;
-
- case DLL_PROCESS_DETACH:
- __mingwthr_run_key_dtors();
- DeleteCriticalSection (&__mingwthr_cs);
- break;
-
- case DLL_THREAD_ATTACH:
- break;
-
- case DLL_THREAD_DETACH:
- __mingwthr_run_key_dtors();
- break;
- }
- return TRUE;
-}
diff --git a/winsup/mingw/mthr_stub.c b/winsup/mingw/mthr_stub.c
deleted file mode 100644
index e337b9a1c..000000000
--- a/winsup/mingw/mthr_stub.c
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * mthr_stub.c
- *
- * Implement Mingw thread-support stubs for single-threaded C++ apps.
- *
- * This file is used by if gcc is built with --enable-threads=win32 and
- * iff gcc does *NOT* use -mthreads option.
- *
- * The -mthreads implementation is in mthr.c.
- *
- * Created by Mumit Khan <khan@nanotech.wisc.edu>
- *
- */
-
-#define WIN32_LEAN_AND_MEAN
-#include <windows.h>
-#undef WIN32_LEAN_AND_MEAN
-
-/*
- * __mingwthr_register_key_dtor (DWORD key, void (*dtor) (void *))
- *
- * Public interface called by C++ exception handling mechanism in
- * libgcc (cf: __gthread_key_create).
- * No-op versions.
- */
-
-int
-__mingwthr_key_dtor (DWORD key, void (*dtor) (void *))
-{
-#ifdef DEBUG
- printf ("%s: ignoring key: (%ld) / dtor: (%x)\n",
- __FUNCTION__, key, dtor);
-#endif
- return 0;
-}
-
-int
-__mingwthr_remove_key_dtor (DWORD key )
-{
-#ifdef DEBUG
- printf ("%s: ignoring key: (%ld)\n", __FUNCTION__, key );
-#endif
- return 0;
-}
diff --git a/winsup/mingw/profile/COPYING b/winsup/mingw/profile/COPYING
deleted file mode 100755
index 60549be51..000000000
--- a/winsup/mingw/profile/COPYING
+++ /dev/null
@@ -1,340 +0,0 @@
- GNU GENERAL PUBLIC LICENSE
- Version 2, June 1991
-
- Copyright (C) 1989, 1991 Free Software Foundation, Inc.
- 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
- Preamble
-
- The licenses for most software are designed to take away your
-freedom to share and change it. By contrast, the GNU General Public
-License is intended to guarantee your freedom to share and change free
-software--to make sure the software is free for all its users. This
-General Public License applies to most of the Free Software
-Foundation's software and to any other program whose authors commit to
-using it. (Some other Free Software Foundation software is covered by
-the GNU Library General Public License instead.) You can apply it to
-your programs, too.
-
- When we speak of free software, we are referring to freedom, not
-price. Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-this service if you wish), that you receive source code or can get it
-if you want it, that you can change the software or use pieces of it
-in new free programs; and that you know you can do these things.
-
- To protect your rights, we need to make restrictions that forbid
-anyone to deny you these rights or to ask you to surrender the rights.
-These restrictions translate to certain responsibilities for you if you
-distribute copies of the software, or if you modify it.
-
- For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must give the recipients all the rights that
-you have. You must make sure that they, too, receive or can get the
-source code. And you must show them these terms so they know their
-rights.
-
- We protect your rights with two steps: (1) copyright the software, and
-(2) offer you this license which gives you legal permission to copy,
-distribute and/or modify the software.
-
- Also, for each author's protection and ours, we want to make certain
-that everyone understands that there is no warranty for this free
-software. If the software is modified by someone else and passed on, we
-want its recipients to know that what they have is not the original, so
-that any problems introduced by others will not reflect on the original
-authors' reputations.
-
- Finally, any free program is threatened constantly by software
-patents. We wish to avoid the danger that redistributors of a free
-program will individually obtain patent licenses, in effect making the
-program proprietary. To prevent this, we have made it clear that any
-patent must be licensed for everyone's free use or not licensed at all.
-
- The precise terms and conditions for copying, distribution and
-modification follow.
-
- GNU GENERAL PUBLIC LICENSE
- TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
- 0. This License applies to any program or other work which contains
-a notice placed by the copyright holder saying it may be distributed
-under the terms of this General Public License. The "Program", below,
-refers to any such program or work, and a "work based on the Program"
-means either the Program or any derivative work under copyright law:
-that is to say, a work containing the Program or a portion of it,
-either verbatim or with modifications and/or translated into another
-language. (Hereinafter, translation is included without limitation in
-the term "modification".) Each licensee is addressed as "you".
-
-Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope. The act of
-running the Program is not restricted, and the output from the Program
-is covered only if its contents constitute a work based on the
-Program (independent of having been made by running the Program).
-Whether that is true depends on what the Program does.
-
- 1. You may copy and distribute verbatim copies of the Program's
-source code as you receive it, in any medium, provided that you
-conspicuously and appropriately publish on each copy an appropriate
-copyright notice and disclaimer of warranty; keep intact all the
-notices that refer to this License and to the absence of any warranty;
-and give any other recipients of the Program a copy of this License
-along with the Program.
-
-You may charge a fee for the physical act of transferring a copy, and
-you may at your option offer warranty protection in exchange for a fee.
-
- 2. You may modify your copy or copies of the Program or any portion
-of it, thus forming a work based on the Program, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
- a) You must cause the modified files to carry prominent notices
- stating that you changed the files and the date of any change.
-
- b) You must cause any work that you distribute or publish, that in
- whole or in part contains or is derived from the Program or any
- part thereof, to be licensed as a whole at no charge to all third
- parties under the terms of this License.
-
- c) If the modified program normally reads commands interactively
- when run, you must cause it, when started running for such
- interactive use in the most ordinary way, to print or display an
- announcement including an appropriate copyright notice and a
- notice that there is no warranty (or else, saying that you provide
- a warranty) and that users may redistribute the program under
- these conditions, and telling the user how to view a copy of this
- License. (Exception: if the Program itself is interactive but
- does not normally print such an announcement, your work based on
- the Program is not required to print an announcement.)
-
-These requirements apply to the modified work as a whole. If
-identifiable sections of that work are not derived from the Program,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works. But when you
-distribute the same sections as part of a whole which is a work based
-on the Program, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Program.
-
-In addition, mere aggregation of another work not based on the Program
-with the Program (or with a work based on the Program) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
- 3. You may copy and distribute the Program (or a work based on it,
-under Section 2) in object code or executable form under the terms of
-Sections 1 and 2 above provided that you also do one of the following:
-
- a) Accompany it with the complete corresponding machine-readable
- source code, which must be distributed under the terms of Sections
- 1 and 2 above on a medium customarily used for software interchange; or,
-
- b) Accompany it with a written offer, valid for at least three
- years, to give any third party, for a charge no more than your
- cost of physically performing source distribution, a complete
- machine-readable copy of the corresponding source code, to be
- distributed under the terms of Sections 1 and 2 above on a medium
- customarily used for software interchange; or,
-
- c) Accompany it with the information you received as to the offer
- to distribute corresponding source code. (This alternative is
- allowed only for noncommercial distribution and only if you
- received the program in object code or executable form with such
- an offer, in accord with Subsection b above.)
-
-The source code for a work means the preferred form of the work for
-making modifications to it. For an executable work, complete source
-code means all the source code for all modules it contains, plus any
-associated interface definition files, plus the scripts used to
-control compilation and installation of the executable. However, as a
-special exception, the source code distributed need not include
-anything that is normally distributed (in either source or binary
-form) with the major components (compiler, kernel, and so on) of the
-operating system on which the executable runs, unless that component
-itself accompanies the executable.
-
-If distribution of executable or object code is made by offering
-access to copy from a designated place, then offering equivalent
-access to copy the source code from the same place counts as
-distribution of the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
- 4. You may not copy, modify, sublicense, or distribute the Program
-except as expressly provided under this License. Any attempt
-otherwise to copy, modify, sublicense or distribute the Program is
-void, and will automatically terminate your rights under this License.
-However, parties who have received copies, or rights, from you under
-this License will not have their licenses terminated so long as such
-parties remain in full compliance.
-
- 5. You are not required to accept this License, since you have not
-signed it. However, nothing else grants you permission to modify or
-distribute the Program or its derivative works. These actions are
-prohibited by law if you do not accept this License. Therefore, by
-modifying or distributing the Program (or any work based on the
-Program), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Program or works based on it.
-
- 6. Each time you redistribute the Program (or any work based on the
-Program), the recipient automatically receives a license from the
-original licensor to copy, distribute or modify the Program subject to
-these terms and conditions. You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties to
-this License.
-
- 7. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Program at all. For example, if a patent
-license would not permit royalty-free redistribution of the Program by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Program.
-
-If any portion of this section is held invalid or unenforceable under
-any particular circumstance, the balance of the section is intended to
-apply and the section as a whole is intended to apply in other
-circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system, which is
-implemented by public license practices. Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
- 8. If the distribution and/or use of the Program is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Program under this License
-may add an explicit geographical distribution limitation excluding
-those countries, so that distribution is permitted only in or among
-countries not thus excluded. In such case, this License incorporates
-the limitation as if written in the body of this License.
-
- 9. The Free Software Foundation may publish revised and/or new versions
-of the General Public License from time to time. Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-Each version is given a distinguishing version number. If the Program
-specifies a version number of this License which applies to it and "any
-later version", you have the option of following the terms and conditions
-either of that version or of any later version published by the Free
-Software Foundation. If the Program does not specify a version number of
-this License, you may choose any version ever published by the Free Software
-Foundation.
-
- 10. If you wish to incorporate parts of the Program into other free
-programs whose distribution conditions are different, write to the author
-to ask for permission. For software which is copyrighted by the Free
-Software Foundation, write to the Free Software Foundation; we sometimes
-make exceptions for this. Our decision will be guided by the two goals
-of preserving the free status of all derivatives of our free software and
-of promoting the sharing and reuse of software generally.
-
- NO WARRANTY
-
- 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
-FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
-OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
-PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
-OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
-TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
-PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
-REPAIR OR CORRECTION.
-
- 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
-REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
-INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
-OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
-TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
-YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
-PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGES.
-
- END OF TERMS AND CONDITIONS
-
- How to Apply These Terms to Your New Programs
-
- If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
- To do so, attach the following notices to the program. It is safest
-to attach them to the start of each source file to most effectively
-convey the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
- <one line to give the program's name and a brief idea of what it does.>
- Copyright (C) 19yy <name of author>
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-
-
-Also add information on how to contact you by electronic and paper mail.
-
-If the program is interactive, make it output a short notice like this
-when it starts in an interactive mode:
-
- Gnomovision version 69, Copyright (C) 19yy name of author
- Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
- This is free software, and you are welcome to redistribute it
- under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License. Of course, the commands you use may
-be called something other than `show w' and `show c'; they could even be
-mouse-clicks or menu items--whatever suits your program.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the program, if
-necessary. Here is a sample; alter the names:
-
- Yoyodyne, Inc., hereby disclaims all copyright interest in the program
- `Gnomovision' (which makes passes at compilers) written by James Hacker.
-
- <signature of Ty Coon>, 1 April 1989
- Ty Coon, President of Vice
-
-This General Public License does not permit incorporating your program into
-proprietary programs. If your program is a subroutine library, you may
-consider it more useful to permit linking proprietary applications with the
-library. If this is what you want to do, use the GNU Library General
-Public License instead of this License.
diff --git a/winsup/mingw/profile/CYGWIN_LICENSE b/winsup/mingw/profile/CYGWIN_LICENSE
deleted file mode 100755
index 7c6adad80..000000000
--- a/winsup/mingw/profile/CYGWIN_LICENSE
+++ /dev/null
@@ -1,38 +0,0 @@
---------------------------------------------------------------------------
-This program is free software; you can redistribute it and/or modify it
-under the terms of the GNU General Public License (GPL) as published by
-the Free Software Foundation; either version 2 of the License, or (at
-your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
---------------------------------------------------------------------------
-
- *** NOTE ***
-
-In accordance with section 10 of the GPL, Red Hat permits programs whose
-sources are distributed under a license that complies with the Open
-Source definition to be linked with libcygwin.a without libcygwin.a
-itself causing the resulting program to be covered by the GNU GPL.
-
-This means that you can port an Open Source(tm) application to cygwin,
-and distribute that executable as if it didn't include a copy of
-libcygwin.a linked into it. Note that this does not apply to the cygwin
-DLL itself. If you distribute a (possibly modified) version of the DLL
-you must adhere to the terms of the GPL, i.e. you must provide sources
-for the cygwin DLL.
-
-See http://www.opensource.org/docs/definition_plain.html for the precise Open Source
-Definition referenced above.
-
-Red Hat sells a special Cygwin License for customers who are unable to
-provide their application in open source code form. For more
-information, please see: http://www.redhat.com/software/tools/cygwin/,
-or call 866-2REDHAT ext. 3007
-
diff --git a/winsup/mingw/profile/Makefile.in b/winsup/mingw/profile/Makefile.in
deleted file mode 100644
index 97508c27b..000000000
--- a/winsup/mingw/profile/Makefile.in
+++ /dev/null
@@ -1,142 +0,0 @@
-#
-# mingw/profile/Makefile.in: This file is part of Mingw runtime.
-#
-# This makefile requires GNU make.
-
-VPATH = @srcdir@
-srcdir = @srcdir@
-objdir = .
-
-target_alias = @target_alias@
-prefix = @prefix@
-
-program_transform_name = @program_transform_name@
-exec_prefix = @exec_prefix@
-bindir = @bindir@
-libdir = @libdir@
-tooldir = $(exec_prefix)/$(target_alias)
-datadir = @datadir@
-infodir = @infodir@
-includedir = @includedir@
-
-SHELL = /bin/sh
-
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-mkinstalldirs = $(SHELL) $(srcdir)/../mkinstalldirs
-DISTFILES = Makefile.in configure configure.in gcrt0.c gmon.c gmon.h mcount.c \
-profil.c profil.h profile.h CYGWIN_LICENSE COPYING
-
-CC = @CC@
-# FIXME: Which is it, CC or CC_FOR_TARGET?
-CC_FOR_TARGET = $(CC)
-AS_FOR_TARGET = $(AS)
-CFLAGS = @CFLAGS@
-CXXFLAGS = @CXXFLAGS@
-
-# compiling with Cygwin?
-MNO_CYGWIN = @MNO_CYGWIN@
-
-# Either crtdll (CRT_ID 1) or msvcrt (CRT_ID 2).
-RUNTIME = @RUNTIME@
-CRT_ID = @CRT_ID@
-
-# Needed for threading dll.
-THREAD_DLL = @THREAD_DLL@
-THREAD_DLL_VERSION = 10
-THREAD_DLL_NAME = $(THREAD_DLL)$(THREAD_DLL_VERSION).dll
-
-W32API_INCLUDE = @W32API_INCLUDE@
-INCLUDES = -I$(srcdir) -I$(srcdir)/../include \
- -nostdinc \
- -iwithprefixbefore include
-ALL_CFLAGS = $(CFLAGS) $(W32API_INCLUDE) $(INCLUDES) $(MNO_CYGWIN)
-ALL_CXXFLAGS = $(CXXFLAGS) $(W32API_INCLUDE) $(INCLUDES) -nostdinc++ $(MNO_CYGWIN)
-
-AS = @AS@
-AR = @AR@
-LD = @LD@
-AR_FLAGS = rcv
-RANLIB = @RANLIB@
-DLLTOOL = @DLLTOOL@
-DLLTOOLFLAGS =
-DLLTOOL_FOR_TARGET = $(DLLTOOL)
-DLLTOOL_FLAGS = --as $(AS_FOR_TARGET)
-
-LIBGMON_A = @LIBGMON_A@
-LIBGMON_OBJS = gmon.o mcount.o profil.o
-CRT0S = @CRT0S@
-ALL_CRT0S = gcrt0.o gcrt1.o gcrt2.o
-
-LIBS = $(LIBGMON_A)
-DLLS =
-
-all: $(LIBGMON_A)
-
-$(LIBGMON_A): $(LIBGMON_OBJS) $(CRT0S)
- $(AR) $(ARFLAGS) $@ $(LIBGMON_OBJS)
- $(RANLIB) $@
-
-# FIXME: These are really the same, but gcc specs want different names.
-# The only CRT dependency is atexit.
-gcrt0.o: gcrt0.c
- $(CC) -c -o $@ $(CPPFLAGS) $(ALL_CFLAGS) $?
-
-gcrt1.o: gcrt0.c
- $(CC) -U__MSVCRT__ -c -o $@ $(CPPFLAGS) $(ALL_CFLAGS) $?
-
-gcrt2.o: gcrt0.c
- $(CC) -D__MSVCRT__ -c -o $@ $(CPPFLAGS) $(ALL_CFLAGS) $?
-
-#
-# Dependancies
-#
-gmon.o: gmon.c gmon.h profile.h profil.h
-mcount.o: mcount.c gmon.h profile.h
-profil.o: profil.c profil.h
-
-Makefile: Makefile.in config.status configure
- $(SHELL) config.status
-
-config.status: configure
- $(SHELL) config.status --recheck
-
-info:
-
-info-html:
-
-install-info: info
-
-install: all
- $(mkinstalldirs) $(inst_libdir)
- for i in $(LIBS); do \
- $(INSTALL_DATA) $$i $(inst_libdir)/$$i ; \
- done
- for i in $(CRT0S); do \
- $(INSTALL_DATA) $$i $(inst_libdir)/$$i ; \
- done
- for sub in . ; do \
- $(mkinstalldirs) $(inst_includedir)/$$sub ; \
- for i in $(srcdir)/$$sub/*.h ; do \
- $(INSTALL_DATA) $$i $(inst_includedir)/$$sub/`basename $$i` ; \
- done ; \
- done
-
-clean:
- -rm -f $(LIBGMON_OBJS) $(ALL_CRT0S) $(LIBGMON_A)
-
-distclean:
- -rm -f *.o *.a *~ core a.out
- -rm -f config.cache config.status config.log
- -rm -f Makefile
-.c.o:
- $(CC) -c $(ALL_CPPFLAGS) $(ALL_CFLAGS) $< -o $@
-
-dist:
- mkdir $(distdir)/profile
- chmod 755 $(distdir)/profile
- @for i in $(DISTFILES); do\
- cp -p $(srcdir)/$$i $(distdir)/profile/$$i ; \
- done
-
diff --git a/winsup/mingw/profile/configure b/winsup/mingw/profile/configure
deleted file mode 100755
index 31ce5fcd9..000000000
--- a/winsup/mingw/profile/configure
+++ /dev/null
@@ -1,1035 +0,0 @@
-#! /bin/sh
-
-# Guess values for system-dependent variables and create Makefiles.
-# Generated automatically using autoconf version 2.13
-# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
-#
-# This configure script is free software; the Free Software Foundation
-# gives unlimited permission to copy, distribute and modify it.
-
-# Defaults:
-ac_help=
-ac_default_prefix=/usr/local
-# Any additions from configure.in:
-
-# Initialize some variables set by options.
-# The variables have the same names as the options, with
-# dashes changed to underlines.
-build=NONE
-cache_file=./config.cache
-exec_prefix=NONE
-host=NONE
-no_create=
-nonopt=NONE
-no_recursion=
-prefix=NONE
-program_prefix=NONE
-program_suffix=NONE
-program_transform_name=s,x,x,
-silent=
-site=
-srcdir=
-target=NONE
-verbose=
-x_includes=NONE
-x_libraries=NONE
-bindir='${exec_prefix}/bin'
-sbindir='${exec_prefix}/sbin'
-libexecdir='${exec_prefix}/libexec'
-datadir='${prefix}/share'
-sysconfdir='${prefix}/etc'
-sharedstatedir='${prefix}/com'
-localstatedir='${prefix}/var'
-libdir='${exec_prefix}/lib'
-includedir='${prefix}/include'
-oldincludedir='/usr/include'
-infodir='${prefix}/info'
-mandir='${prefix}/man'
-
-# Initialize some other variables.
-subdirs=
-MFLAGS= MAKEFLAGS=
-SHELL=${CONFIG_SHELL-/bin/sh}
-# Maximum number of lines to put in a shell here document.
-ac_max_here_lines=12
-
-ac_prev=
-for ac_option
-do
-
- # If the previous option needs an argument, assign it.
- if test -n "$ac_prev"; then
- eval "$ac_prev=\$ac_option"
- ac_prev=
- continue
- fi
-
- case "$ac_option" in
- -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
- *) ac_optarg= ;;
- esac
-
- # Accept the important Cygnus configure options, so we can diagnose typos.
-
- case "$ac_option" in
-
- -bindir | --bindir | --bindi | --bind | --bin | --bi)
- ac_prev=bindir ;;
- -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
- bindir="$ac_optarg" ;;
-
- -build | --build | --buil | --bui | --bu)
- ac_prev=build ;;
- -build=* | --build=* | --buil=* | --bui=* | --bu=*)
- build="$ac_optarg" ;;
-
- -cache-file | --cache-file | --cache-fil | --cache-fi \
- | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
- ac_prev=cache_file ;;
- -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
- | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
- cache_file="$ac_optarg" ;;
-
- -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
- ac_prev=datadir ;;
- -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
- | --da=*)
- datadir="$ac_optarg" ;;
-
- -disable-* | --disable-*)
- ac_feature=`echo $ac_option|sed -e 's/-*disable-//'`
- # Reject names that are not valid shell variable names.
- if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then
- { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
- fi
- ac_feature=`echo $ac_feature| sed 's/-/_/g'`
- eval "enable_${ac_feature}=no" ;;
-
- -enable-* | --enable-*)
- ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'`
- # Reject names that are not valid shell variable names.
- if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then
- { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
- fi
- ac_feature=`echo $ac_feature| sed 's/-/_/g'`
- case "$ac_option" in
- *=*) ;;
- *) ac_optarg=yes ;;
- esac
- eval "enable_${ac_feature}='$ac_optarg'" ;;
-
- -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
- | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
- | --exec | --exe | --ex)
- ac_prev=exec_prefix ;;
- -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
- | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
- | --exec=* | --exe=* | --ex=*)
- exec_prefix="$ac_optarg" ;;
-
- -gas | --gas | --ga | --g)
- # Obsolete; use --with-gas.
- with_gas=yes ;;
-
- -help | --help | --hel | --he)
- # Omit some internal or obsolete options to make the list less imposing.
- # This message is too long to be a string in the A/UX 3.1 sh.
- cat << EOF
-Usage: configure [options] [host]
-Options: [defaults in brackets after descriptions]
-Configuration:
- --cache-file=FILE cache test results in FILE
- --help print this message
- --no-create do not create output files
- --quiet, --silent do not print \`checking...' messages
- --version print the version of autoconf that created configure
-Directory and file names:
- --prefix=PREFIX install architecture-independent files in PREFIX
- [$ac_default_prefix]
- --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
- [same as prefix]
- --bindir=DIR user executables in DIR [EPREFIX/bin]
- --sbindir=DIR system admin executables in DIR [EPREFIX/sbin]
- --libexecdir=DIR program executables in DIR [EPREFIX/libexec]
- --datadir=DIR read-only architecture-independent data in DIR
- [PREFIX/share]
- --sysconfdir=DIR read-only single-machine data in DIR [PREFIX/etc]
- --sharedstatedir=DIR modifiable architecture-independent data in DIR
- [PREFIX/com]
- --localstatedir=DIR modifiable single-machine data in DIR [PREFIX/var]
- --libdir=DIR object code libraries in DIR [EPREFIX/lib]
- --includedir=DIR C header files in DIR [PREFIX/include]
- --oldincludedir=DIR C header files for non-gcc in DIR [/usr/include]
- --infodir=DIR info documentation in DIR [PREFIX/info]
- --mandir=DIR man documentation in DIR [PREFIX/man]
- --srcdir=DIR find the sources in DIR [configure dir or ..]
- --program-prefix=PREFIX prepend PREFIX to installed program names
- --program-suffix=SUFFIX append SUFFIX to installed program names
- --program-transform-name=PROGRAM
- run sed PROGRAM on installed program names
-EOF
- cat << EOF
-Host type:
- --build=BUILD configure for building on BUILD [BUILD=HOST]
- --host=HOST configure for HOST [guessed]
- --target=TARGET configure for TARGET [TARGET=HOST]
-Features and packages:
- --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
- --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
- --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
- --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
- --x-includes=DIR X include files are in DIR
- --x-libraries=DIR X library files are in DIR
-EOF
- if test -n "$ac_help"; then
- echo "--enable and --with options recognized:$ac_help"
- fi
- exit 0 ;;
-
- -host | --host | --hos | --ho)
- ac_prev=host ;;
- -host=* | --host=* | --hos=* | --ho=*)
- host="$ac_optarg" ;;
-
- -includedir | --includedir | --includedi | --included | --include \
- | --includ | --inclu | --incl | --inc)
- ac_prev=includedir ;;
- -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
- | --includ=* | --inclu=* | --incl=* | --inc=*)
- includedir="$ac_optarg" ;;
-
- -infodir | --infodir | --infodi | --infod | --info | --inf)
- ac_prev=infodir ;;
- -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
- infodir="$ac_optarg" ;;
-
- -libdir | --libdir | --libdi | --libd)
- ac_prev=libdir ;;
- -libdir=* | --libdir=* | --libdi=* | --libd=*)
- libdir="$ac_optarg" ;;
-
- -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
- | --libexe | --libex | --libe)
- ac_prev=libexecdir ;;
- -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
- | --libexe=* | --libex=* | --libe=*)
- libexecdir="$ac_optarg" ;;
-
- -localstatedir | --localstatedir | --localstatedi | --localstated \
- | --localstate | --localstat | --localsta | --localst \
- | --locals | --local | --loca | --loc | --lo)
- ac_prev=localstatedir ;;
- -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
- | --localstate=* | --localstat=* | --localsta=* | --localst=* \
- | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
- localstatedir="$ac_optarg" ;;
-
- -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
- ac_prev=mandir ;;
- -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
- mandir="$ac_optarg" ;;
-
- -nfp | --nfp | --nf)
- # Obsolete; use --without-fp.
- with_fp=no ;;
-
- -no-create | --no-create | --no-creat | --no-crea | --no-cre \
- | --no-cr | --no-c)
- no_create=yes ;;
-
- -no-recursion | --no-recursion | --no-recursio | --no-recursi \
- | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
- no_recursion=yes ;;
-
- -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
- | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
- | --oldin | --oldi | --old | --ol | --o)
- ac_prev=oldincludedir ;;
- -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
- | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
- | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
- oldincludedir="$ac_optarg" ;;
-
- -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
- ac_prev=prefix ;;
- -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
- prefix="$ac_optarg" ;;
-
- -program-prefix | --program-prefix | --program-prefi | --program-pref \
- | --program-pre | --program-pr | --program-p)
- ac_prev=program_prefix ;;
- -program-prefix=* | --program-prefix=* | --program-prefi=* \
- | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
- program_prefix="$ac_optarg" ;;
-
- -program-suffix | --program-suffix | --program-suffi | --program-suff \
- | --program-suf | --program-su | --program-s)
- ac_prev=program_suffix ;;
- -program-suffix=* | --program-suffix=* | --program-suffi=* \
- | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
- program_suffix="$ac_optarg" ;;
-
- -program-transform-name | --program-transform-name \
- | --program-transform-nam | --program-transform-na \
- | --program-transform-n | --program-transform- \
- | --program-transform | --program-transfor \
- | --program-transfo | --program-transf \
- | --program-trans | --program-tran \
- | --progr-tra | --program-tr | --program-t)
- ac_prev=program_transform_name ;;
- -program-transform-name=* | --program-transform-name=* \
- | --program-transform-nam=* | --program-transform-na=* \
- | --program-transform-n=* | --program-transform-=* \
- | --program-transform=* | --program-transfor=* \
- | --program-transfo=* | --program-transf=* \
- | --program-trans=* | --program-tran=* \
- | --progr-tra=* | --program-tr=* | --program-t=*)
- program_transform_name="$ac_optarg" ;;
-
- -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- | -silent | --silent | --silen | --sile | --sil)
- silent=yes ;;
-
- -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
- ac_prev=sbindir ;;
- -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
- | --sbi=* | --sb=*)
- sbindir="$ac_optarg" ;;
-
- -sharedstatedir | --sharedstatedir | --sharedstatedi \
- | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
- | --sharedst | --shareds | --shared | --share | --shar \
- | --sha | --sh)
- ac_prev=sharedstatedir ;;
- -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
- | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
- | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
- | --sha=* | --sh=*)
- sharedstatedir="$ac_optarg" ;;
-
- -site | --site | --sit)
- ac_prev=site ;;
- -site=* | --site=* | --sit=*)
- site="$ac_optarg" ;;
-
- -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
- ac_prev=srcdir ;;
- -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
- srcdir="$ac_optarg" ;;
-
- -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
- | --syscon | --sysco | --sysc | --sys | --sy)
- ac_prev=sysconfdir ;;
- -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
- | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
- sysconfdir="$ac_optarg" ;;
-
- -target | --target | --targe | --targ | --tar | --ta | --t)
- ac_prev=target ;;
- -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
- target="$ac_optarg" ;;
-
- -v | -verbose | --verbose | --verbos | --verbo | --verb)
- verbose=yes ;;
-
- -version | --version | --versio | --versi | --vers)
- echo "configure generated by autoconf version 2.13"
- exit 0 ;;
-
- -with-* | --with-*)
- ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'`
- # Reject names that are not valid shell variable names.
- if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then
- { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
- fi
- ac_package=`echo $ac_package| sed 's/-/_/g'`
- case "$ac_option" in
- *=*) ;;
- *) ac_optarg=yes ;;
- esac
- eval "with_${ac_package}='$ac_optarg'" ;;
-
- -without-* | --without-*)
- ac_package=`echo $ac_option|sed -e 's/-*without-//'`
- # Reject names that are not valid shell variable names.
- if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then
- { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
- fi
- ac_package=`echo $ac_package| sed 's/-/_/g'`
- eval "with_${ac_package}=no" ;;
-
- --x)
- # Obsolete; use --with-x.
- with_x=yes ;;
-
- -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
- | --x-incl | --x-inc | --x-in | --x-i)
- ac_prev=x_includes ;;
- -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
- | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
- x_includes="$ac_optarg" ;;
-
- -x-libraries | --x-libraries | --x-librarie | --x-librari \
- | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
- ac_prev=x_libraries ;;
- -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
- | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
- x_libraries="$ac_optarg" ;;
-
- -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; }
- ;;
-
- *)
- if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then
- echo "configure: warning: $ac_option: invalid host type" 1>&2
- fi
- if test "x$nonopt" != xNONE; then
- { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; }
- fi
- nonopt="$ac_option"
- ;;
-
- esac
-done
-
-if test -n "$ac_prev"; then
- { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; }
-fi
-
-trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
-
-# File descriptor usage:
-# 0 standard input
-# 1 file creation
-# 2 errors and warnings
-# 3 some systems may open it to /dev/tty
-# 4 used on the Kubota Titan
-# 6 checking for... messages and results
-# 5 compiler messages saved in config.log
-if test "$silent" = yes; then
- exec 6>/dev/null
-else
- exec 6>&1
-fi
-exec 5>./config.log
-
-echo "\
-This file contains any messages produced by compilers while
-running configure, to aid debugging if configure makes a mistake.
-" 1>&5
-
-# Strip out --no-create and --no-recursion so they do not pile up.
-# Also quote any args containing shell metacharacters.
-ac_configure_args=
-for ac_arg
-do
- case "$ac_arg" in
- -no-create | --no-create | --no-creat | --no-crea | --no-cre \
- | --no-cr | --no-c) ;;
- -no-recursion | --no-recursion | --no-recursio | --no-recursi \
- | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;;
- *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*)
- ac_configure_args="$ac_configure_args '$ac_arg'" ;;
- *) ac_configure_args="$ac_configure_args $ac_arg" ;;
- esac
-done
-
-# NLS nuisances.
-# Only set these to C if already set. These must not be set unconditionally
-# because not all systems understand e.g. LANG=C (notably SCO).
-# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'!
-# Non-C LC_CTYPE values break the ctype check.
-if test "${LANG+set}" = set; then LANG=C; export LANG; fi
-if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
-if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi
-if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi
-
-# confdefs.h avoids OS command line length limits that DEFS can exceed.
-rm -rf conftest* confdefs.h
-# AIX cpp loses on an empty file, so make sure it contains at least a newline.
-echo > confdefs.h
-
-# A filename unique to this package, relative to the directory that
-# configure is in, which we can look for to find out if srcdir is correct.
-ac_unique_file=gcrt0.c
-
-# Find the source files, if location was not specified.
-if test -z "$srcdir"; then
- ac_srcdir_defaulted=yes
- # Try the directory containing this script, then its parent.
- ac_prog=$0
- ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'`
- test "x$ac_confdir" = "x$ac_prog" && ac_confdir=.
- srcdir=$ac_confdir
- if test ! -r $srcdir/$ac_unique_file; then
- srcdir=..
- fi
-else
- ac_srcdir_defaulted=no
-fi
-if test ! -r $srcdir/$ac_unique_file; then
- if test "$ac_srcdir_defaulted" = yes; then
- { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; }
- else
- { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; }
- fi
-fi
-srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'`
-
-# Prefer explicitly selected file to automatically selected ones.
-if test -z "$CONFIG_SITE"; then
- if test "x$prefix" != xNONE; then
- CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
- else
- CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
- fi
-fi
-for ac_site_file in $CONFIG_SITE; do
- if test -r "$ac_site_file"; then
- echo "loading site script $ac_site_file"
- . "$ac_site_file"
- fi
-done
-
-if test -r "$cache_file"; then
- echo "loading cache $cache_file"
- . $cache_file
-else
- echo "creating cache $cache_file"
- > $cache_file
-fi
-
-ac_ext=c
-# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
-ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
-cross_compiling=$ac_cv_prog_cc_cross
-
-ac_exeext=
-ac_objext=o
-if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
- # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
- if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
- ac_n= ac_c='
-' ac_t=' '
- else
- ac_n=-n ac_c= ac_t=
- fi
-else
- ac_n= ac_c='\c' ac_t=
-fi
-
-
-
-CC=${CC-cc}
-
-AS=${AS-as}
-
-AR=${AR-ar}
-
-LD=${LD-ld}
-
-RANLIB=${RANLIB-ranlib}
-
-DLLTOOL=${DLLTOOL-dlltool}
-
-DLLWRAP=${DLLWRAP-dllwrap}
-
-ac_aux_dir=
-for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do
- if test -f $ac_dir/install-sh; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/install-sh -c"
- break
- elif test -f $ac_dir/install.sh; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/install.sh -c"
- break
- fi
-done
-if test -z "$ac_aux_dir"; then
- { echo "configure: error: can not find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." 1>&2; exit 1; }
-fi
-ac_config_guess=$ac_aux_dir/config.guess
-ac_config_sub=$ac_aux_dir/config.sub
-ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
-
-
-# Do some error checking and defaulting for the host and target type.
-# The inputs are:
-# configure --host=HOST --target=TARGET --build=BUILD NONOPT
-#
-# The rules are:
-# 1. You are not allowed to specify --host, --target, and nonopt at the
-# same time.
-# 2. Host defaults to nonopt.
-# 3. If nonopt is not specified, then host defaults to the current host,
-# as determined by config.guess.
-# 4. Target and build default to nonopt.
-# 5. If nonopt is not specified, then target and build default to host.
-
-# The aliases save the names the user supplied, while $host etc.
-# will get canonicalized.
-case $host---$target---$nonopt in
-NONE---*---* | *---NONE---* | *---*---NONE) ;;
-*) { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; } ;;
-esac
-
-
-# Make sure we can run config.sub.
-if ${CONFIG_SHELL-/bin/sh} $ac_config_sub sun4 >/dev/null 2>&1; then :
-else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
-fi
-
-echo $ac_n "checking host system type""... $ac_c" 1>&6
-echo "configure:587: checking host system type" >&5
-
-host_alias=$host
-case "$host_alias" in
-NONE)
- case $nonopt in
- NONE)
- if host_alias=`${CONFIG_SHELL-/bin/sh} $ac_config_guess`; then :
- else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; }
- fi ;;
- *) host_alias=$nonopt ;;
- esac ;;
-esac
-
-host=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $host_alias`
-host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
-host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
-host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
-echo "$ac_t""$host" 1>&6
-
-echo $ac_n "checking target system type""... $ac_c" 1>&6
-echo "configure:608: checking target system type" >&5
-
-target_alias=$target
-case "$target_alias" in
-NONE)
- case $nonopt in
- NONE) target_alias=$host_alias ;;
- *) target_alias=$nonopt ;;
- esac ;;
-esac
-
-target=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $target_alias`
-target_cpu=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
-target_vendor=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
-target_os=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
-echo "$ac_t""$target" 1>&6
-
-echo $ac_n "checking build system type""... $ac_c" 1>&6
-echo "configure:626: checking build system type" >&5
-
-build_alias=$build
-case "$build_alias" in
-NONE)
- case $nonopt in
- NONE) build_alias=$host_alias ;;
- *) build_alias=$nonopt ;;
- esac ;;
-esac
-
-build=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $build_alias`
-build_cpu=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
-build_vendor=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
-build_os=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
-echo "$ac_t""$build" 1>&6
-
-test "$host_alias" != "$target_alias" &&
- test "$program_prefix$program_suffix$program_transform_name" = \
- NONENONEs,x,x, &&
- program_prefix=${target_alias}-
-
-
-LIBGMON_A=libgmon.a
-
-case "$target_os" in
-*mingw32crt*)
- CRT_ID=1
- MNO_CYGWIN=
- RUNTIME=crtdll
- CRT0S="gcrt1.o gcrt2.o"
- ;;
-*cygwin*)
- CRT_ID=2
- MNO_CYGWIN=-mno-cygwin
- RUNTIME=msvcrt
- CRT0S=gcrt0.o
- # Do not build libm.a when building under Cygwin winsup. Otherwise, it'll
- # overwrite Cygwin's one. Likewise for libgmon.a.
- ;;
-*)
- # Build it for MSVCRT by default.
- CRT_ID=2
- MNO_CYGWIN=
- RUNTIME=msvcrt
- CRT0S="gcrt1.o gcrt2.o"
- ;;
-esac
-
-W32API_INCLUDE='-I $(srcdir)/../../w32api/include'
-
-
-
-
-
-
-
-
-# Find a good install program. We prefer a C program (faster),
-# so one script is as good as another. But avoid the broken or
-# incompatible versions:
-# SysV /etc/install, /usr/sbin/install
-# SunOS /usr/etc/install
-# IRIX /sbin/install
-# AIX /bin/install
-# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
-# AFS /usr/afsws/bin/install, which mishandles nonexistent args
-# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
-# ./install, which can be erroneously created by make from ./install.sh.
-echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
-echo "configure:696: checking for a BSD compatible install" >&5
-if test -z "$INSTALL"; then
-if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":"
- for ac_dir in $PATH; do
- # Account for people who put trailing slashes in PATH elements.
- case "$ac_dir/" in
- /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
- *)
- # OSF1 and SCO ODT 3.0 have their own names for install.
- # Don't use installbsd from OSF since it installs stuff as root
- # by default.
- for ac_prog in ginstall scoinst install; do
- if test -f $ac_dir/$ac_prog; then
- if test $ac_prog = install &&
- grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
- # AIX install. It has an incompatible calling convention.
- :
- else
- ac_cv_path_install="$ac_dir/$ac_prog -c"
- break 2
- fi
- fi
- done
- ;;
- esac
- done
- IFS="$ac_save_IFS"
-
-fi
- if test "${ac_cv_path_install+set}" = set; then
- INSTALL="$ac_cv_path_install"
- else
- # As a last resort, use the slow shell script. We don't cache a
- # path for INSTALL within a source directory, because that will
- # break other packages using the cache if that directory is
- # removed, or if the path is relative.
- INSTALL="$ac_install_sh"
- fi
-fi
-echo "$ac_t""$INSTALL" 1>&6
-
-# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
-# It thinks the first close brace ends the variable substitution.
-test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
-
-test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
-
-test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
-
-trap '' 1 2 15
-cat > confcache <<\EOF
-# This file is a shell script that caches the results of configure
-# tests run on this system so they can be shared between configure
-# scripts and configure runs. It is not useful on other systems.
-# If it contains results you don't want to keep, you may remove or edit it.
-#
-# By default, configure uses ./config.cache as the cache file,
-# creating it if it does not exist already. You can give configure
-# the --cache-file=FILE option to use a different cache file; that is
-# what configure does when it calls configure scripts in
-# subdirectories, so they share the cache.
-# Giving --cache-file=/dev/null disables caching, for debugging configure.
-# config.status only pays attention to the cache file if you give it the
-# --recheck option to rerun configure.
-#
-EOF
-# The following way of writing the cache mishandles newlines in values,
-# but we know of no workaround that is simple, portable, and efficient.
-# So, don't put newlines in cache variables' values.
-# Ultrix sh set writes to stderr and can't be redirected directly,
-# and sets the high bit in the cache file unless we assign to the vars.
-(set) 2>&1 |
- case `(ac_space=' '; set | grep ac_space) 2>&1` in
- *ac_space=\ *)
- # `set' does not quote correctly, so add quotes (double-quote substitution
- # turns \\\\ into \\, and sed turns \\ into \).
- sed -n \
- -e "s/'/'\\\\''/g" \
- -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p"
- ;;
- *)
- # `set' quotes correctly as required by POSIX, so do not add quotes.
- sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p'
- ;;
- esac >> confcache
-if cmp -s $cache_file confcache; then
- :
-else
- if test -w $cache_file; then
- echo "updating cache $cache_file"
- cat confcache > $cache_file
- else
- echo "not updating unwritable cache $cache_file"
- fi
-fi
-rm -f confcache
-
-trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
-
-test "x$prefix" = xNONE && prefix=$ac_default_prefix
-# Let make expand exec_prefix.
-test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
-
-# Any assignment to VPATH causes Sun make to only execute
-# the first set of double-colon rules, so remove it if not needed.
-# If there is a colon in the path, we need to keep it.
-if test "x$srcdir" = x.; then
- ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d'
-fi
-
-trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15
-
-# Transform confdefs.h into DEFS.
-# Protect against shell expansion while executing Makefile rules.
-# Protect against Makefile macro expansion.
-cat > conftest.defs <<\EOF
-s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%-D\1=\2%g
-s%[ `~#$^&*(){}\\|;'"<>?]%\\&%g
-s%\[%\\&%g
-s%\]%\\&%g
-s%\$%$$%g
-EOF
-DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '`
-rm -f conftest.defs
-
-
-# Without the "./", some shells look in PATH for config.status.
-: ${CONFIG_STATUS=./config.status}
-
-echo creating $CONFIG_STATUS
-rm -f $CONFIG_STATUS
-cat > $CONFIG_STATUS <<EOF
-#! /bin/sh
-# Generated automatically by configure.
-# Run this file to recreate the current configuration.
-# This directory was configured as follows,
-# on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
-#
-# $0 $ac_configure_args
-#
-# Compiler output produced by configure, useful for debugging
-# configure, is in ./config.log if it exists.
-
-ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]"
-for ac_option
-do
- case "\$ac_option" in
- -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
- echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
- exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
- -version | --version | --versio | --versi | --vers | --ver | --ve | --v)
- echo "$CONFIG_STATUS generated by autoconf version 2.13"
- exit 0 ;;
- -help | --help | --hel | --he | --h)
- echo "\$ac_cs_usage"; exit 0 ;;
- *) echo "\$ac_cs_usage"; exit 1 ;;
- esac
-done
-
-ac_given_srcdir=$srcdir
-ac_given_INSTALL="$INSTALL"
-
-trap 'rm -fr `echo "Makefile" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
-EOF
-cat >> $CONFIG_STATUS <<EOF
-
-# Protect against being on the right side of a sed subst in config.status.
-sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&%]/\\\\&/g;
- s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF
-$ac_vpsub
-$extrasub
-s%@SHELL@%$SHELL%g
-s%@CFLAGS@%$CFLAGS%g
-s%@CPPFLAGS@%$CPPFLAGS%g
-s%@CXXFLAGS@%$CXXFLAGS%g
-s%@FFLAGS@%$FFLAGS%g
-s%@DEFS@%$DEFS%g
-s%@LDFLAGS@%$LDFLAGS%g
-s%@LIBS@%$LIBS%g
-s%@exec_prefix@%$exec_prefix%g
-s%@prefix@%$prefix%g
-s%@program_transform_name@%$program_transform_name%g
-s%@bindir@%$bindir%g
-s%@sbindir@%$sbindir%g
-s%@libexecdir@%$libexecdir%g
-s%@datadir@%$datadir%g
-s%@sysconfdir@%$sysconfdir%g
-s%@sharedstatedir@%$sharedstatedir%g
-s%@localstatedir@%$localstatedir%g
-s%@libdir@%$libdir%g
-s%@includedir@%$includedir%g
-s%@oldincludedir@%$oldincludedir%g
-s%@infodir@%$infodir%g
-s%@mandir@%$mandir%g
-s%@CC@%$CC%g
-s%@AS@%$AS%g
-s%@AR@%$AR%g
-s%@LD@%$LD%g
-s%@RANLIB@%$RANLIB%g
-s%@DLLTOOL@%$DLLTOOL%g
-s%@DLLWRAP@%$DLLWRAP%g
-s%@host@%$host%g
-s%@host_alias@%$host_alias%g
-s%@host_cpu@%$host_cpu%g
-s%@host_vendor@%$host_vendor%g
-s%@host_os@%$host_os%g
-s%@target@%$target%g
-s%@target_alias@%$target_alias%g
-s%@target_cpu@%$target_cpu%g
-s%@target_vendor@%$target_vendor%g
-s%@target_os@%$target_os%g
-s%@build@%$build%g
-s%@build_alias@%$build_alias%g
-s%@build_cpu@%$build_cpu%g
-s%@build_vendor@%$build_vendor%g
-s%@build_os@%$build_os%g
-s%@CRT_ID@%$CRT_ID%g
-s%@RUNTIME@%$RUNTIME%g
-s%@MNO_CYGWIN@%$MNO_CYGWIN%g
-s%@LIBGMON_A@%$LIBGMON_A%g
-s%@CRT0S@%$CRT0S%g
-s%@W32API_INCLUDE@%$W32API_INCLUDE%g
-s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g
-s%@INSTALL_SCRIPT@%$INSTALL_SCRIPT%g
-s%@INSTALL_DATA@%$INSTALL_DATA%g
-
-CEOF
-EOF
-
-cat >> $CONFIG_STATUS <<\EOF
-
-# Split the substitutions into bite-sized pieces for seds with
-# small command number limits, like on Digital OSF/1 and HP-UX.
-ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script.
-ac_file=1 # Number of current file.
-ac_beg=1 # First line for current file.
-ac_end=$ac_max_sed_cmds # Line after last line for current file.
-ac_more_lines=:
-ac_sed_cmds=""
-while $ac_more_lines; do
- if test $ac_beg -gt 1; then
- sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file
- else
- sed "${ac_end}q" conftest.subs > conftest.s$ac_file
- fi
- if test ! -s conftest.s$ac_file; then
- ac_more_lines=false
- rm -f conftest.s$ac_file
- else
- if test -z "$ac_sed_cmds"; then
- ac_sed_cmds="sed -f conftest.s$ac_file"
- else
- ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file"
- fi
- ac_file=`expr $ac_file + 1`
- ac_beg=$ac_end
- ac_end=`expr $ac_end + $ac_max_sed_cmds`
- fi
-done
-if test -z "$ac_sed_cmds"; then
- ac_sed_cmds=cat
-fi
-EOF
-
-cat >> $CONFIG_STATUS <<EOF
-
-CONFIG_FILES=\${CONFIG_FILES-"Makefile"}
-EOF
-cat >> $CONFIG_STATUS <<\EOF
-for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
- # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
- case "$ac_file" in
- *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
- ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
- *) ac_file_in="${ac_file}.in" ;;
- esac
-
- # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories.
-
- # Remove last slash and all that follows it. Not all systems have dirname.
- ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
- if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
- # The file is in a subdirectory.
- test ! -d "$ac_dir" && mkdir "$ac_dir"
- ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`"
- # A "../" for each directory in $ac_dir_suffix.
- ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'`
- else
- ac_dir_suffix= ac_dots=
- fi
-
- case "$ac_given_srcdir" in
- .) srcdir=.
- if test -z "$ac_dots"; then top_srcdir=.
- else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;;
- /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;;
- *) # Relative path.
- srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix"
- top_srcdir="$ac_dots$ac_given_srcdir" ;;
- esac
-
- case "$ac_given_INSTALL" in
- [/$]*) INSTALL="$ac_given_INSTALL" ;;
- *) INSTALL="$ac_dots$ac_given_INSTALL" ;;
- esac
-
- echo creating "$ac_file"
- rm -f "$ac_file"
- configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure."
- case "$ac_file" in
- *Makefile*) ac_comsub="1i\\
-# $configure_input" ;;
- *) ac_comsub= ;;
- esac
-
- ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
- sed -e "$ac_comsub
-s%@configure_input@%$configure_input%g
-s%@srcdir@%$srcdir%g
-s%@top_srcdir@%$top_srcdir%g
-s%@INSTALL@%$INSTALL%g
-" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file
-fi; done
-rm -f conftest.s*
-
-EOF
-cat >> $CONFIG_STATUS <<EOF
-
-EOF
-cat >> $CONFIG_STATUS <<\EOF
-
-exit 0
-EOF
-chmod +x $CONFIG_STATUS
-rm -fr confdefs* $ac_clean_files
-test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1
-
-
diff --git a/winsup/mingw/profile/configure.in b/winsup/mingw/profile/configure.in
deleted file mode 100644
index 9e66cbf63..000000000
--- a/winsup/mingw/profile/configure.in
+++ /dev/null
@@ -1,75 +0,0 @@
-dnl Process this file with autoconf to produce a configure script.
-
-dnl This file is part of Mingw runtime.
-dnl
-dnl This program is free software; you can redistribute it and/or modify
-dnl it under the terms of the GNU General Public License as published by
-dnl the Free Software Foundation; either version 2 of the License, or
-dnl (at your option) any later version.
-dnl
-dnl This program is distributed in the hope that it will be useful,
-dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
-dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-dnl GNU General Public License for more details.
-dnl
-dnl You should have received a copy of the GNU General Public License
-dnl along with this program; if not, write to the Free Software
-dnl Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-AC_PREREQ(2.13)
-AC_INIT(gcrt0.c)
-
-CC=${CC-cc}
-AC_SUBST(CC)
-AS=${AS-as}
-AC_SUBST(AS)
-AR=${AR-ar}
-AC_SUBST(AR)
-LD=${LD-ld}
-AC_SUBST(LD)
-RANLIB=${RANLIB-ranlib}
-AC_SUBST(RANLIB)
-DLLTOOL=${DLLTOOL-dlltool}
-AC_SUBST(DLLTOOL)
-DLLWRAP=${DLLWRAP-dllwrap}
-AC_SUBST(DLLWRAP)
-AC_CANONICAL_SYSTEM
-
-LIBGMON_A=libgmon.a
-
-case "$target_os" in
-*mingw32crt*)
- CRT_ID=1
- MNO_CYGWIN=
- RUNTIME=crtdll
- CRT0S="gcrt1.o gcrt2.o"
- ;;
-*cygwin*)
- CRT_ID=2
- MNO_CYGWIN=-mno-cygwin
- RUNTIME=msvcrt
- CRT0S=gcrt0.o
- # Do not build libm.a when building under Cygwin winsup. Otherwise, it'll
- # overwrite Cygwin's one. Likewise for libgmon.a.
- ;;
-*)
- # Build it for MSVCRT by default.
- CRT_ID=2
- MNO_CYGWIN=
- RUNTIME=msvcrt
- CRT0S="gcrt1.o gcrt2.o"
- ;;
-esac
-
-W32API_INCLUDE='-I $(srcdir)/../../w32api/include'
-
-AC_SUBST(CRT_ID)
-AC_SUBST(RUNTIME)
-AC_SUBST(MNO_CYGWIN)
-AC_SUBST(LIBGMON_A)
-AC_SUBST(CRT0S)
-AC_SUBST(W32API_INCLUDE)
-
-AC_PROG_INSTALL
-AC_OUTPUT(Makefile)
-
diff --git a/winsup/mingw/profile/gcrt0.c b/winsup/mingw/profile/gcrt0.c
deleted file mode 100644
index 20f3c7ced..000000000
--- a/winsup/mingw/profile/gcrt0.c
+++ /dev/null
@@ -1,52 +0,0 @@
-/* gcrt0.c
-
- Copyright 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
-
-This file is part of Cygwin.
-
-This software is a copyrighted work licensed under the terms of the
-Cygwin license. Please consult the file "CYGWIN_LICENSE" for
-details. */
-
-/*
- * This file is taken from Cygwin distribution. Please keep it in sync.
- * The differences should be within __MINGW32__ guard.
- */
-
-#include <sys/types.h>
-#include <stdlib.h>
-
-#ifdef __MINGW32__
-typedef unsigned char u_char;
-typedef unsigned short u_short;
-typedef unsigned int u_int;
-typedef unsigned long u_long;
-#endif
-
-extern u_char etext asm ("etext");
-extern u_char eprol asm ("__eprol");
-extern void _mcleanup (void);
-extern void monstartup (u_long, u_long);
-void _monstartup (void) __attribute__((__constructor__));
-
-/* startup initialization for -pg support */
-
-void
-_monstartup (void)
-{
- static int called;
-
- /* Guard against multiple calls that may happen if DLLs are linked
- with profile option set as well. Addede side benefit is that it
- makes profiling backward compatible (GCC used to emit a call to
- _monstartup when compiling main with profiling enabled). */
- if (called++)
- return;
-
- monstartup ((u_long) &eprol, (u_long) &etext);
- atexit (&_mcleanup);
-}
-
-asm (".text");
-asm ("__eprol:");
-
diff --git a/winsup/mingw/profile/gmon.c b/winsup/mingw/profile/gmon.c
deleted file mode 100644
index a20c33713..000000000
--- a/winsup/mingw/profile/gmon.c
+++ /dev/null
@@ -1,290 +0,0 @@
-/*-
- * Copyright (c) 1983, 1992, 1993
- * The Regents of the University of California. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgement:
- * This product includes software developed by the University of
- * California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-#if !defined(lint) && defined(LIBC_SCCS)
-static char rcsid[] = "$OpenBSD: gmon.c,v 1.8 1997/07/23 21:11:27 kstailey Exp $";
-#endif
-
-/*
- * This file is taken from Cygwin distribution. Please keep it in sync.
- * The differences should be within __MINGW32__ guard.
- */
-
-#include <fcntl.h>
-#include <stdlib.h>
-#include <stdio.h>
-#ifndef __MINGW32__
-#include <unistd.h>
-#include <sys/param.h>
-#endif
-#include <sys/types.h>
-#include <gmon.h>
-
-#include <profil.h>
-
-/* XXX needed? */
-//extern char *minbrk __asm ("minbrk");
-
-#ifdef __MINGW32__
-#include <string.h>
-#define bzero(ptr,size) memset (ptr, 0, size);
-#endif
-
-struct gmonparam _gmonparam = { GMON_PROF_OFF };
-
-static int s_scale;
-/* see profil(2) where this is describe (incorrectly) */
-#define SCALE_1_TO_1 0x10000L
-
-#define ERR(s) write(2, s, sizeof(s))
-
-void moncontrol __P((int));
-
-static void *
-fake_sbrk(int size)
-{
- return malloc(size);
-}
-
-void
-monstartup(lowpc, highpc)
- u_long lowpc;
- u_long highpc;
-{
- register int o;
- char *cp;
- struct gmonparam *p = &_gmonparam;
-
- /*
- * round lowpc and highpc to multiples of the density we're using
- * so the rest of the scaling (here and in gprof) stays in ints.
- */
- p->lowpc = ROUNDDOWN(lowpc, HISTFRACTION * sizeof(HISTCOUNTER));
- p->highpc = ROUNDUP(highpc, HISTFRACTION * sizeof(HISTCOUNTER));
- p->textsize = p->highpc - p->lowpc;
- p->kcountsize = p->textsize / HISTFRACTION;
- p->hashfraction = HASHFRACTION;
- p->fromssize = p->textsize / p->hashfraction;
- p->tolimit = p->textsize * ARCDENSITY / 100;
- if (p->tolimit < MINARCS)
- p->tolimit = MINARCS;
- else if (p->tolimit > MAXARCS)
- p->tolimit = MAXARCS;
- p->tossize = p->tolimit * sizeof(struct tostruct);
-
- cp = fake_sbrk(p->kcountsize + p->fromssize + p->tossize);
- if (cp == (char *)-1) {
- ERR("monstartup: out of memory\n");
- return;
- }
-
- /* zero out cp as value will be added there */
- bzero(cp, p->kcountsize + p->fromssize + p->tossize);
-
- p->tos = (struct tostruct *)cp;
- cp += p->tossize;
- p->kcount = (u_short *)cp;
- cp += p->kcountsize;
- p->froms = (u_short *)cp;
-
- /* XXX minbrk needed? */
- //minbrk = fake_sbrk(0);
- p->tos[0].link = 0;
-
- o = p->highpc - p->lowpc;
- if (p->kcountsize < o) {
-#ifndef notdef
- s_scale = ((float)p->kcountsize / o ) * SCALE_1_TO_1;
-#else /* avoid floating point */
- int quot = o / p->kcountsize;
-
- if (quot >= 0x10000)
- s_scale = 1;
- else if (quot >= 0x100)
- s_scale = 0x10000 / quot;
- else if (o >= 0x800000)
- s_scale = 0x1000000 / (o / (p->kcountsize >> 8));
- else
- s_scale = 0x1000000 / ((o << 8) / p->kcountsize);
-#endif
- } else
- s_scale = SCALE_1_TO_1;
-
- moncontrol(1);
-}
-
-void
-_mcleanup()
-{
- int fd;
- int hz;
- int fromindex;
- int endfrom;
- u_long frompc;
- int toindex;
- struct rawarc rawarc;
- struct gmonparam *p = &_gmonparam;
- struct gmonhdr gmonhdr, *hdr;
- char *proffile;
-#ifdef DEBUG
- int log, len;
- char dbuf[200];
-#endif
-
- if (p->state == GMON_PROF_ERROR)
- ERR("_mcleanup: tos overflow\n");
-
- hz = PROF_HZ;
- moncontrol(0);
-
-#ifdef nope
- if ((profdir = getenv("PROFDIR")) != NULL) {
- extern char *__progname;
- char *s, *t, *limit;
- pid_t pid;
- long divisor;
-
- /* If PROFDIR contains a null value, no profiling
- output is produced */
- if (*profdir == '\0') {
- return;
- }
-
- limit = buf + sizeof buf - 1 - 10 - 1 -
- strlen(__progname) - 1;
- t = buf;
- s = profdir;
- while((*t = *s) != '\0' && t < limit) {
- t++;
- s++;
- }
- *t++ = '/';
-
- /*
- * Copy and convert pid from a pid_t to a string. For
- * best performance, divisor should be initialized to
- * the largest power of 10 less than PID_MAX.
- */
- pid = getpid();
- divisor=10000;
- while (divisor > pid) divisor /= 10; /* skip leading zeros */
- do {
- *t++ = (pid/divisor) + '0';
- pid %= divisor;
- } while (divisor /= 10);
- *t++ = '.';
-
- s = __progname;
- while ((*t++ = *s++) != '\0')
- ;
-
- proffile = buf;
- } else {
- proffile = "gmon.out";
- }
-#else
- proffile = "gmon.out";
-#endif
-
- fd = open(proffile , O_CREAT|O_TRUNC|O_WRONLY|O_BINARY, 0666);
- if (fd < 0) {
- perror( proffile );
- return;
- }
-#ifdef DEBUG
- log = open("gmon.log", O_CREAT|O_TRUNC|O_WRONLY, 0664);
- if (log < 0) {
- perror("mcount: gmon.log");
- return;
- }
- len = sprintf(dbuf, "[mcleanup1] kcount 0x%x ssiz %d\n",
- p->kcount, p->kcountsize);
- write(log, dbuf, len);
-#endif
- hdr = (struct gmonhdr *)&gmonhdr;
- hdr->lpc = p->lowpc;
- hdr->hpc = p->highpc;
- hdr->ncnt = p->kcountsize + sizeof(gmonhdr);
- hdr->version = GMONVERSION;
- hdr->profrate = hz;
- write(fd, (char *)hdr, sizeof *hdr);
- write(fd, p->kcount, p->kcountsize);
- endfrom = p->fromssize / sizeof(*p->froms);
- for (fromindex = 0; fromindex < endfrom; fromindex++) {
- if (p->froms[fromindex] == 0)
- continue;
-
- frompc = p->lowpc;
- frompc += fromindex * p->hashfraction * sizeof(*p->froms);
- for (toindex = p->froms[fromindex]; toindex != 0;
- toindex = p->tos[toindex].link) {
-#ifdef DEBUG
- len = sprintf(dbuf,
- "[mcleanup2] frompc 0x%x selfpc 0x%x count %d\n" ,
- frompc, p->tos[toindex].selfpc,
- p->tos[toindex].count);
- write(log, dbuf, len);
-#endif
- rawarc.raw_frompc = frompc;
- rawarc.raw_selfpc = p->tos[toindex].selfpc;
- rawarc.raw_count = p->tos[toindex].count;
- write(fd, &rawarc, sizeof rawarc);
- }
- }
- close(fd);
-}
-
-/*
- * Control profiling
- * profiling is what mcount checks to see if
- * all the data structures are ready.
- */
-void
-moncontrol(mode)
- int mode;
-{
- struct gmonparam *p = &_gmonparam;
-
- if (mode) {
- /* start */
- profil((char *)p->kcount, p->kcountsize, p->lowpc,
- s_scale);
- p->state = GMON_PROF_ON;
- } else {
- /* stop */
- profil((char *)0, 0, 0, 0);
- p->state = GMON_PROF_OFF;
- }
-}
-
-
diff --git a/winsup/mingw/profile/gmon.h b/winsup/mingw/profile/gmon.h
deleted file mode 100644
index 1f01bf418..000000000
--- a/winsup/mingw/profile/gmon.h
+++ /dev/null
@@ -1,181 +0,0 @@
-/* $OpenBSD: gmon.h,v 1.3 1996/04/21 22:31:46 deraadt Exp $ */
-/* $NetBSD: gmon.h,v 1.5 1996/04/09 20:55:30 cgd Exp $ */
-
-/*-
- * Copyright (c) 1982, 1986, 1992, 1993
- * The Regents of the University of California. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgement:
- * This product includes software developed by the University of
- * California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- * @(#)gmon.h 8.2 (Berkeley) 1/4/94
- */
-
-/*
- * This file is taken from Cygwin distribution. Please keep it in sync.
- * The differences should be within __MINGW32__ guard.
- */
-
-#ifndef _SYS_GMON_H_
-#define _SYS_GMON_H_
-
-#ifndef __P
-#define __P(x) x
-#endif
-
-#include <profile.h>
-
-#ifdef __MINGW32__
-#ifndef _BSDTYPES_DEFINED
-typedef unsigned char u_char;
-typedef unsigned short u_short;
-typedef unsigned int u_int;
-typedef unsigned long u_long;
-#define _BSDTYPES_DEFINED
-#endif /* _BSDTYPES_DEFINED */
-#endif /* __MINGW32__*/
-
-/*
- * Structure prepended to gmon.out profiling data file.
- */
-struct gmonhdr {
- u_long lpc; /* base pc address of sample buffer */
- u_long hpc; /* max pc address of sampled buffer */
- int ncnt; /* size of sample buffer (plus this header) */
- int version; /* version number */
- int profrate; /* profiling clock rate */
- int spare[3]; /* reserved */
-};
-#define GMONVERSION 0x00051879
-
-/*
- * histogram counters are unsigned shorts (according to the kernel).
- */
-#define HISTCOUNTER unsigned short
-
-/*
- * fraction of text space to allocate for histogram counters here, 1/2
- */
-#define HISTFRACTION 2
-
-/*
- * Fraction of text space to allocate for from hash buckets.
- * The value of HASHFRACTION is based on the minimum number of bytes
- * of separation between two subroutine call points in the object code.
- * Given MIN_SUBR_SEPARATION bytes of separation the value of
- * HASHFRACTION is calculated as:
- *
- * HASHFRACTION = MIN_SUBR_SEPARATION / (2 * sizeof(short) - 1);
- *
- * For example, on the VAX, the shortest two call sequence is:
- *
- * calls $0,(r0)
- * calls $0,(r0)
- *
- * which is separated by only three bytes, thus HASHFRACTION is
- * calculated as:
- *
- * HASHFRACTION = 3 / (2 * 2 - 1) = 1
- *
- * Note that the division above rounds down, thus if MIN_SUBR_FRACTION
- * is less than three, this algorithm will not work!
- *
- * In practice, however, call instructions are rarely at a minimal
- * distance. Hence, we will define HASHFRACTION to be 2 across all
- * architectures. This saves a reasonable amount of space for
- * profiling data structures without (in practice) sacrificing
- * any granularity.
- */
-#define HASHFRACTION 2
-
-/*
- * percent of text space to allocate for tostructs with a minimum.
- */
-#define ARCDENSITY 2
-#define MINARCS 50
-#define MAXARCS ((1 << (8 * sizeof(HISTCOUNTER))) - 2)
-
-struct tostruct {
- u_long selfpc;
- long count;
- u_short link;
- u_short pad;
-};
-
-/*
- * a raw arc, with pointers to the calling site and
- * the called site and a count.
- */
-struct rawarc {
- u_long raw_frompc;
- u_long raw_selfpc;
- long raw_count;
-};
-
-/*
- * general rounding functions.
- */
-#define ROUNDDOWN(x,y) (((x)/(y))*(y))
-#define ROUNDUP(x,y) ((((x)+(y)-1)/(y))*(y))
-
-/*
- * The profiling data structures are housed in this structure.
- */
-struct gmonparam {
- int state;
- u_short *kcount;
- u_long kcountsize;
- u_short *froms;
- u_long fromssize;
- struct tostruct *tos;
- u_long tossize;
- long tolimit;
- u_long lowpc;
- u_long highpc;
- u_long textsize;
- u_long hashfraction;
-};
-extern struct gmonparam _gmonparam;
-
-/*
- * Possible states of profiling.
- */
-#define GMON_PROF_ON 0
-#define GMON_PROF_BUSY 1
-#define GMON_PROF_ERROR 2
-#define GMON_PROF_OFF 3
-
-/*
- * Sysctl definitions for extracting profiling information from the kernel.
- */
-#define GPROF_STATE 0 /* int: profiling enabling variable */
-#define GPROF_COUNT 1 /* struct: profile tick count buffer */
-#define GPROF_FROMS 2 /* struct: from location hash bucket */
-#define GPROF_TOS 3 /* struct: destination/count structure */
-#define GPROF_GMONPARAM 4 /* struct: profiling parameters (see above) */
-#endif /* !_SYS_GMONH_ */
diff --git a/winsup/mingw/profile/mcount.c b/winsup/mingw/profile/mcount.c
deleted file mode 100644
index 9f1736d3b..000000000
--- a/winsup/mingw/profile/mcount.c
+++ /dev/null
@@ -1,179 +0,0 @@
-/*-
- * Copyright (c) 1983, 1992, 1993
- * The Regents of the University of California. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgement:
- * This product includes software developed by the University of
- * California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-#if !defined(lint) && !defined(_KERNEL) && defined(LIBC_SCCS)
-static char rcsid[] = "$OpenBSD: mcount.c,v 1.6 1997/07/23 21:11:27 kstailey Exp $";
-#endif
-
-/*
- * This file is taken from Cygwin distribution. Please keep it in sync.
- * The differences should be within __MINGW32__ guard.
- */
-
-#ifndef __MINGW32__
-#include <sys/param.h>
-#endif
-#include <sys/types.h>
-#include <gmon.h>
-
-/*
- * mcount is called on entry to each function compiled with the profiling
- * switch set. _mcount(), which is declared in a machine-dependent way
- * with _MCOUNT_DECL, does the actual work and is either inlined into a
- * C routine or called by an assembly stub. In any case, this magic is
- * taken care of by the MCOUNT definition in <machine/profile.h>.
- *
- * _mcount updates data structures that represent traversals of the
- * program's call graph edges. frompc and selfpc are the return
- * address and function address that represents the given call graph edge.
- *
- * Note: the original BSD code used the same variable (frompcindex) for
- * both frompcindex and frompc. Any reasonable, modern compiler will
- * perform this optimization.
- */
-/* _mcount; may be static, inline, etc */
-_MCOUNT_DECL (u_long frompc, u_long selfpc)
-{
- register u_short *frompcindex;
- register struct tostruct *top, *prevtop;
- register struct gmonparam *p;
- register long toindex;
-
- p = &_gmonparam;
- /*
- * check that we are profiling
- * and that we aren't recursively invoked.
- */
- if (p->state != GMON_PROF_ON)
- return;
- p->state = GMON_PROF_BUSY;
- /*
- * check that frompcindex is a reasonable pc value.
- * for example: signal catchers get called from the stack,
- * not from text space. too bad.
- */
- frompc -= p->lowpc;
- if (frompc > p->textsize)
- goto done;
-
-#if (HASHFRACTION & (HASHFRACTION - 1)) == 0
- if (p->hashfraction == HASHFRACTION)
- frompcindex =
- &p->froms[frompc / (HASHFRACTION * sizeof(*p->froms))];
- else
-#endif
- frompcindex =
- &p->froms[frompc / (p->hashfraction * sizeof(*p->froms))];
- toindex = *frompcindex;
- if (toindex == 0) {
- /*
- * first time traversing this arc
- */
- toindex = ++p->tos[0].link;
- if (toindex >= p->tolimit)
- /* halt further profiling */
- goto overflow;
-
- *frompcindex = toindex;
- top = &p->tos[toindex];
- top->selfpc = selfpc;
- top->count = 1;
- top->link = 0;
- goto done;
- }
- top = &p->tos[toindex];
- if (top->selfpc == selfpc) {
- /*
- * arc at front of chain; usual case.
- */
- top->count++;
- goto done;
- }
- /*
- * have to go looking down chain for it.
- * top points to what we are looking at,
- * prevtop points to previous top.
- * we know it is not at the head of the chain.
- */
- for (; /* goto done */; ) {
- if (top->link == 0) {
- /*
- * top is end of the chain and none of the chain
- * had top->selfpc == selfpc.
- * so we allocate a new tostruct
- * and link it to the head of the chain.
- */
- toindex = ++p->tos[0].link;
- if (toindex >= p->tolimit)
- goto overflow;
-
- top = &p->tos[toindex];
- top->selfpc = selfpc;
- top->count = 1;
- top->link = *frompcindex;
- *frompcindex = toindex;
- goto done;
- }
- /*
- * otherwise, check the next arc on the chain.
- */
- prevtop = top;
- top = &p->tos[top->link];
- if (top->selfpc == selfpc) {
- /*
- * there it is.
- * increment its count
- * move it to the head of the chain.
- */
- top->count++;
- toindex = prevtop->link;
- prevtop->link = top->link;
- top->link = *frompcindex;
- *frompcindex = toindex;
- goto done;
- }
- }
-done:
- p->state = GMON_PROF_ON;
- return;
-overflow:
- p->state = GMON_PROF_ERROR;
- return;
-}
-
-/*
- * Actual definition of mcount function. Defined in <machine/profile.h>,
- * which is included by <sys/gmon.h>
- */
-MCOUNT
-
diff --git a/winsup/mingw/profile/profil.c b/winsup/mingw/profile/profil.c
deleted file mode 100644
index dae59d7fd..000000000
--- a/winsup/mingw/profile/profil.c
+++ /dev/null
@@ -1,185 +0,0 @@
-/* profil.c -- win32 profil.c equivalent
-
- Copyright 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
-
- This file is part of Cygwin.
-
- This software is a copyrighted work licensed under the terms of the
- Cygwin license. Please consult the file "CYGWIN_LICENSE" for
- details. */
-
-/*
- * This file is taken from Cygwin distribution. Please keep it in sync.
- * The differences should be within __MINGW32__ guard.
- */
-
-#include <windows.h>
-#include <stdio.h>
-#include <sys/types.h>
-#include <errno.h>
-#include <math.h>
-
-#include <profil.h>
-
-#define SLEEPTIME (1000 / PROF_HZ)
-
-/* global profinfo for profil() call */
-static struct profinfo prof;
-
-/* Get the pc for thread THR */
-
-static u_long
-get_thrpc (HANDLE thr)
-{
- CONTEXT ctx;
- u_long pc;
- int res;
-
- res = SuspendThread (thr);
- if (res == -1)
- return (u_long) - 1;
- ctx.ContextFlags = CONTEXT_CONTROL | CONTEXT_INTEGER;
- pc = (u_long) - 1;
- if (GetThreadContext (thr, &ctx))
- pc = ctx.Eip;
- ResumeThread (thr);
- return pc;
-}
-
-/* Display cell of profile buffer */
-#if 0
-static void
-print_prof (struct profinfo *p)
-{
- printf ("profthr %x\ttarget thr %x\n", p->profthr, p->targthr);
- printf ("pc: %x - %x\n", p->lowpc, p->highpc);
- printf ("scale: %x\n", p->scale);
- return;
-}
-#endif
-
-/* Everytime we wake up use the main thread pc to hash into the cell in the
- profile buffer ARG. */
-
-static DWORD CALLBACK
-profthr_func (LPVOID arg)
-{
- struct profinfo *p = (struct profinfo *) arg;
- u_long pc, idx;
-
- for (;;)
- {
- pc = (u_long) get_thrpc (p->targthr);
- if (pc >= p->lowpc && pc < p->highpc)
- {
- idx = PROFIDX (pc, p->lowpc, p->scale);
- p->counter[idx]++;
- }
-#if 0
- print_prof (p);
-#endif
- Sleep (SLEEPTIME);
- }
- return 0;
-}
-
-/* Stop profiling to the profiling buffer pointed to by P. */
-
-static int
-profile_off (struct profinfo *p)
-{
- if (p->profthr)
- {
- TerminateThread (p->profthr, 0);
- CloseHandle (p->profthr);
- }
- if (p->targthr)
- CloseHandle (p->targthr);
- return 0;
-}
-
-/* Create a timer thread and pass it a pointer P to the profiling buffer. */
-
-static int
-profile_on (struct profinfo *p)
-{
- DWORD thrid;
-
- /* get handle for this thread */
- if (!DuplicateHandle (GetCurrentProcess (), GetCurrentThread (),
- GetCurrentProcess (), &p->targthr, 0, FALSE,
- DUPLICATE_SAME_ACCESS))
- {
- errno = ESRCH;
- return -1;
- }
-
- p->profthr = CreateThread (0, 0, profthr_func, (void *) p, 0, &thrid);
-
- /* Set profiler thread priority to highest to be sure that it gets the
- processor as soon it request it (i.e. when the Sleep terminate) to get
- the next data out of the profile. */
-
- SetThreadPriority (p->profthr, THREAD_PRIORITY_TIME_CRITICAL);
-
- if (!p->profthr)
- {
- CloseHandle (p->targthr);
- p->targthr = 0;
- errno = EAGAIN;
- return -1;
- }
- return 0;
-}
-
-/*
- * start or stop profiling
- *
- * profiling goes into the SAMPLES buffer of size SIZE (which is treated
- * as an array of u_shorts of size size/2)
- *
- * each bin represents a range of pc addresses from OFFSET. The number
- * of pc addresses in a bin depends on SCALE. (A scale of 65536 maps
- * each bin to two addresses, A scale of 32768 maps each bin to 4 addresses,
- * a scale of 1 maps each bin to 128k addreses). Scale may be 1 - 65536,
- * or zero to turn off profiling
- */
-int
-profile_ctl (struct profinfo * p, char *samples, size_t size,
- u_long offset, u_int scale)
-{
- u_long maxbin;
-
- if (scale > 65536)
- {
- errno = EINVAL;
- return -1;
- }
-
- profile_off (p);
- if (scale)
- {
- memset (samples, 0, size);
- memset (p, 0, sizeof *p);
- maxbin = size >> 1;
- prof.counter = (u_short *) samples;
- prof.lowpc = offset;
- prof.highpc = PROFADDR (maxbin, offset, scale);
- prof.scale = scale;
-
- return profile_on (p);
- }
- return 0;
-}
-
-/* Equivalent to unix profil()
- Every SLEEPTIME interval, the user's program counter (PC) is examined:
- offset is subtracted and the result is multiplied by scale.
- The word pointed to by this address is incremented. Buf is unused. */
-
-int
-profil (char *samples, size_t size, u_long offset, u_int scale)
-{
- return profile_ctl (&prof, samples, size, offset, scale);
-}
-
diff --git a/winsup/mingw/profile/profil.h b/winsup/mingw/profile/profil.h
deleted file mode 100644
index 9245dd25a..000000000
--- a/winsup/mingw/profile/profil.h
+++ /dev/null
@@ -1,51 +0,0 @@
-/* profil.h: gprof profiling header file
-
- Copyright 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
-
-This file is part of Cygwin.
-
-This software is a copyrighted work licensed under the terms of the
-Cygwin license. Please consult the file "CYGWIN_LICENSE" for
-details. */
-
-/*
- * This file is taken from Cygwin distribution. Please keep it in sync.
- * The differences should be within __MINGW32__ guard.
- */
-
-/* profiling frequency. (No larger than 1000) */
-#define PROF_HZ 100
-
-/* convert an addr to an index */
-#define PROFIDX(pc, base, scale) \
- ({ \
- size_t i = (pc - base) / 2; \
- if (sizeof (unsigned long long int) > sizeof (size_t)) \
- i = (unsigned long long int) i * scale / 65536; \
- else \
- i = i / 65536 * scale + i % 65536 * scale / 65536; \
- i; \
- })
-
-/* convert an index into an address */
-#define PROFADDR(idx, base, scale) \
- ((base) \
- + ((((unsigned long long)(idx) << 16) \
- / (unsigned long long)(scale)) << 1))
-
-/* convert a bin size into a scale */
-#define PROFSCALE(range, bins) (((bins) << 16) / ((range) >> 1))
-
-typedef void *_WINHANDLE;
-
-struct profinfo {
- _WINHANDLE targthr; /* thread to profile */
- _WINHANDLE profthr; /* profiling thread */
- u_short *counter; /* profiling counters */
- u_long lowpc, highpc; /* range to be profiled */
- u_int scale; /* scale value of bins */
-};
-
-int profile_ctl(struct profinfo *, char *, size_t, u_long, u_int);
-int profil(char *, size_t, u_long, u_int);
-
diff --git a/winsup/mingw/profile/profile.h b/winsup/mingw/profile/profile.h
deleted file mode 100644
index d1de0f98e..000000000
--- a/winsup/mingw/profile/profile.h
+++ /dev/null
@@ -1,83 +0,0 @@
-/* $NetBSD: profile.h,v 1.6 1995/03/28 18:17:08 jtc Exp $ */
-
-/*
- * Copyright (c) 1992, 1993
- * The Regents of the University of California. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgement:
- * This product includes software developed by the University of
- * California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- * @(#)profile.h 8.1 (Berkeley) 6/11/93
- */
-
-/*
- * This file is taken from Cygwin distribution. Please keep it in sync.
- * The differences should be within __MINGW32__ guard.
- */
-/* If compiler doesn't inline, at least avoid passing args on the stack. */
-#define _MCOUNT_CALL __attribute__ ((regparm (2)))
-#define _MCOUNT_DECL static __inline__ void _MCOUNT_CALL _mcount
-
-/* FIXME: This works, but it would be cleaner to convert mcount into an
- assembler stub that calls an extern _mcount.
- Older versions of GCC (pre-4.1) will still fail with regparm since the
- compiler used %edx to store an unneeded counter variable. */
-
-#define MCOUNT \
-void \
-mcount() \
-{ \
- u_long selfpc, frompcindex; \
- /* \
- * Save registers, since this may be called from \
- * the prologue of a regparm function. \
- */ \
- __asm __volatile__ ("pushl %eax\n\t" \
- "pushl %ecx\n\t" \
- "pushl %edx"); \
- /* \
- * find the return address for mcount, \
- * and the return address for mcount's caller. \
- * \
- * selfpc = pc pushed by mcount call \
- */ \
- /* __asm ("movl 4(%%ebp),%0" : "=r" (selfpc)); */ \
- selfpc = (u_long) __builtin_return_address (0); \
- /* \
- * frompcindex = pc pushed by call into self. \
- */ \
- /* __asm ("movl (%%ebp),%0;movl 4(%0),%0" : "=r" (frompcindex)); */ \
- frompcindex = (u_long) __builtin_return_address (1); \
- _mcount(frompcindex, selfpc); \
- /* \
- * Restore registers. \
- */ \
- __asm __volatile__ ("popl %edx\n\t" \
- "popl %ecx\n\t" \
- "popl %eax"); \
-}
diff --git a/winsup/mingw/pseudo-reloc-list.c b/winsup/mingw/pseudo-reloc-list.c
deleted file mode 100644
index 87a2be247..000000000
--- a/winsup/mingw/pseudo-reloc-list.c
+++ /dev/null
@@ -1,3 +0,0 @@
-/* Define here in .bss in case not defined by linker script. */
-char __RUNTIME_PSEUDO_RELOC_LIST_END__ = 0;
-char __RUNTIME_PSEUDO_RELOC_LIST__ = 0;
diff --git a/winsup/mingw/pseudo-reloc.c b/winsup/mingw/pseudo-reloc.c
deleted file mode 100644
index 9fe607d2c..000000000
--- a/winsup/mingw/pseudo-reloc.c
+++ /dev/null
@@ -1,46 +0,0 @@
-/* pseudo-reloc.c
-
- Written by Egor Duda <deo@logos-m.ru>
- THIS SOFTWARE IS NOT COPYRIGHTED
-
- This source code is offered for use in the public domain. You may
- use, modify or distribute it freely.
-
- This code is distributed in the hope that it will be useful but
- WITHOUT ANY WARRANTY. ALL WARRENTIES, EXPRESS OR IMPLIED ARE HEREBY
- DISCLAMED. This includes but is not limited to warrenties of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-*/
-
-#include <windows.h>
-
-extern char __RUNTIME_PSEUDO_RELOC_LIST__;
-extern char __RUNTIME_PSEUDO_RELOC_LIST_END__;
-extern char _image_base__;
-
-typedef struct
- {
- DWORD addend;
- DWORD target;
- }
-runtime_pseudo_reloc;
-
-static void
-do_pseudo_reloc (void* start, void* end, void* base)
-{
- DWORD reloc_target;
- runtime_pseudo_reloc* r;
- for (r = (runtime_pseudo_reloc*) start; r < (runtime_pseudo_reloc*) end; r++)
- {
- reloc_target = (DWORD) base + r->target;
- *((DWORD*) reloc_target) += r->addend;
- }
-}
-
-void
-_pei386_runtime_relocator ()
-{
- do_pseudo_reloc (&__RUNTIME_PSEUDO_RELOC_LIST__,
- &__RUNTIME_PSEUDO_RELOC_LIST_END__,
- &_image_base__);
-}
diff --git a/winsup/mingw/readme.txt b/winsup/mingw/readme.txt
deleted file mode 100644
index 4b680df48..000000000
--- a/winsup/mingw/readme.txt
+++ /dev/null
@@ -1,685 +0,0 @@
- Minimalist GNU-Win32 Readme
- version 0.1.3
- March 20, 1997
- Colin Peters <colin@bird.fu.is.saga-u.ac.jp>
-
-
-0. Introduction
-
-Mingw32 is short for the Minimalist GNU-Win32 package, and it is a
-package which allows you to use GCC (as supplied by Cygnus in their GNU-
-Win32 or Cygwin32 package) the GNU compiler, on Win32 platforms like
-Windows 95 or NT, to compile "native" programs.
-
-In this case "native" means programs which don't require extra DLLs like
-the cygwin DLL. Mingw32 programs use CRTDLL.DLL to provide their C run
-time library functions, and CRTDLL.DLL is supplied with all current
-Win32 platforms. Thus the programs are light weight and easy to
-distribute, they also do not automatically fall under the GNU Public
-License as programs written with the GPL version of Cygwin32 do.
-
-
-0.1 Archive Contents
-
-Mingw32 version 0.1.3 is distributed in two files, mingw32_013.tar.gz
-and mingsrc013.tar.gz. The first file contains the following components:
-
- - Import libraries for building programs which use the
- CRTDLL.DLL C run time library supplied with Win32 platforms.
-
- - crt0.o and dllcrt0.o, two "startup code" object files that
- perform program or DLL initialization without using
- CRTDLL.DLL (instead of CYGWIN.DLL).
-
- - specs, a configuration file for GCC which defines appropriate
- options for creating executables which use the CRTDLL.DLL C
- run time library.
-
- - Include files with appropriate type and macro definitions,
- and function prototypes for use with CRTDLL.DLL.
-
-The source distribution (mingsrc013.tar.gz) contains the .def files and
-source files used to create the various import libraries and object
-files in the above list.
-
-
-0.2 Usage Notes
-
-Unlike some previous releases of Mingw32 the current version defaults to
-building console applications, the same way that GCC normally does when
-installed from the Cygnus distribution. The Mingw32 specs file also
-introduces two command line arguments to GCC which can be used to
-conveniently specify a console or GUI type build. When building console
-programs "-console" can be used on the GCC command line, while GUI
-programs can be built by specifying "-windows" (I tried defining -gui,
-and it works, but produces an annoying warning about -gui not being
-supported (?)). For example:
-
- gcc -o hellogui.exe hellogui.c -luser32 -windows
-
-Although using different "crt0" files for GUI and console applications
-has been suggested I have left the system more-or-less as it was in
-0.1.1: crt0 sets up for and calls main, and if you don't supply a main
-there is one in libmingw32.a, which in turn calls WinMain (actually
-WinMain@16). This allows either main or WinMain entry points in console
-or GUI applications, but if you don't supply main or WinMain, or don't
-prototype WinMain as __stdcall__ you will get a linker error about an
-"unresolved reference to WinMain@16." This is unfortunately cryptic, but
-otherwise the system works quite well.
-
-An important note if you want to rebuild from the sources of Mingw32 or
-otherwise use the special version of Jam made for Mingw32: you need to
-have a version of "rm", the UNIX equivalent of del, somewhere in your
-path to use the current Jambase (which is built into the Jam
-executable). The version that comes with the Cygnus files is perfectly
-adequate.
-
-
-0.3 Fixes and Improvements
-
-Numerous small bug fixes have been made in the header files.
-
-Floating point initialization, originally added in version 0.1.2, has
-been modified to use the _fpreset function from CRTDLL.DLL instead of
-cryptic and possibly less portable assembly code.
-
-A new DLL-building option has been added to the specs file so that the
-following link line will appropriately link in dllcrt0.o instead of the
-normal crt0.o, and set the entry point correctly:
-
- gcc -dll -o dll.dll dll.o -Wl,dll.exp
-
-A bug that would cause the wrong include files to be included in dual
-installations of Cygwin32 and Mingw32 has been fixed (I hope) in the
-Mingw32 specs file.
-
-Alongside this release is a new release of Jam specially built for use
-with Mingw32. It should be available from the same place you got this
-file. This release of Jam includes rules for building DLLs, including
-resources in your executables and creating import libraries. I also
-intend to distribute a small set of example files showing how to do all
-of these things with Mingw32 and Jam.
-
-In the "coming soon" category I have a version of the GNU Standard C++
-library ported to Mingw32. This means you can use iostreams, complex
-numbers and all those neat STL (Standard Template Library) things
-without needing the Cygwin DLL. I hope to put this port up for
-downloading soon (along with the source of course).
-
-
-
-1. Installing
-
-1.1 Download and Unpack GNU-Win32 Beta 17.1
-
-Because of the enormous size of the beta 17.1 release from Cygnus this
-process will require about 85 MB or more of free disk space. The first
-step, after downloading the Mingw32 package, is to download the GCC
-binary distribution, all.tar.gz, from Cygnus (or a mirror), which is
-about 10 MB. (Of course, if you just want the Cygwin32 install and are
-not actually interested in adding on Mingw32 you don't need the Mingw32
-package at all.)
-
-Just to be safe, and if you have the 10 MB to spare, you should probably
-copy the all.tar.gz file to a reasonably safe place at this point. This
-will save you from the pain of downloading it again if something goes
-wrong later.
-
-To complete this step you need a gzip program (or just gunzip) and a tar
-program. You can use the ones supplied by Cygnus (although some people
-seem to have trouble with them, especially if you try to use pipes) or
-one of the other ports available from your favorite freeware/shareware
-software site.
-
-First un-gzip the file with a command line like:
- gunzip all.tar.gz
-or
- gzip -d all.tar.gz
-
-This will produce a all.tar file and erase the all.tar.gz file (there
-are options for gzip if you want to keep the original around). The tar
-file is about 40 MB.
-
-Make a directory for the cygnus stuff, such as C:\cygnus for example.
-Move the tar file there (e.g. move \tmp\all.tar \cygnus). Don’t copy it
-unless you like waiting and wasting 40 MB of disk space.
-
-Unpack the tar file into your new directory with a command line like:
- tar xvf all.tar
-
-Run from the new directory (now containing the tar file). This is the
-step where disk space usage reaches its peak, since the tar extraction
-does not delete the all.tar file, and the amount of space taken by the
-extracted files plus the tar file itself is well in excess of 80 MB
-(mainly because, on my system at least, the files which are symbolic
-links in the tar archive are copied as they are expanded onto the FAT
-filesystem, so for example, a symbolic link to cygwin.dll, a 3 MB file,
-takes an extra 3 MB, since the file is simply duplicated in the new
-location). I could not actually do this on my laptop and had to extract
-the tar file from a mounted network drive!
-
-NOTE: From here on I will refer to files as if you had installed in
-C:\cygnus. If you installed somewhere else then just replace C:\cygnus
-with the appropriate path wherever it occurs.
-
-
-1.2 Setup Cygwin32
-
-This step is not 100% necessary, but it helps at this point to determine
-if you’ve gotten this far without any major problems. Also, if you
-intend to use both Cygwin32 and Mingw32 you will have to do some of
-these steps eventually.
-
-GCC and the other programs in the compiler suite all require cygwin.dll
-to run. There are two copies of this file: one in C:\cygnus\H-i386-
-cygwin32\bin (this might be a symbolic link), and one in C:\cygnus\H-
-i386-cygwin32\i386-cygwin32\lib (the original). Since this DLL is
-required by all Cygwin32 programs it makes sense to put one copy of it
-in your C:\Windows\System directory (or equivalent) and remove the extra
-copies. This will also save you headaches when the next release comes
-along and you have to make sure that everything is using the latest
-release of the DLL.
-
-After doing that run the cygwin32.bat batch file included with this
-distribution, or otherwise perform the following settings:
-
- PATH=%PATH%;C:\cygnus\H-i386-cygwin32\bin
- SET GCC_EXEC_PREFIX=C:\cygnus\H-i386-cygwin32\lib\gcc-lib\i386-
- cygwin32\cygnus-2.7.2-961023
- SET LIBRARY_PATH=/cygnus/H-i386-cygwin32/lib/gcc-lib/i386-
- cygwin32/cygnus-2.7.2-961023:/cygnus/H-i386-cygwin32/i386-
- cygwin32/lib:/cygnus/H-i386-cygwin32/lib
- SET C_INCLUDE_PATH=/cygnus/H-i386-cygwin32/lib/gcc-lib/i386-
- cygwin32/cygnus-2.7.2-961023/include:/cygnus/H-i386-
- cygwin32/i386-cygwin32/include:/cygnus/include
- SET CPLUS_INCLUDE_PATH=%C_INCLUDE_PATH%
-
-NOTE: You may need to increase the amount of environment space available
-at the command prompt to get these extremely long environment variables
-set. You can do this under Windows 95 by modifying the properties of the
-command prompt shortcut you use under the "Program" tab, adding a
-/e:#### argument to the command line COMMAND.COM, where #### is the
-number of bytes to set aside for the environment.
-
-NOTE: Under Windows 95 changes made in your autoexec.bat file will not
-show up in new DOS boxes unless you reboot your machine.
-
-Now write and compile a small test hello world program like this:
-
-#include <stdio.h>
-
-int
-main ()
-{
- printf ("Hello, world!\n");
- return 0;
-}
-
-Then compile it like this (assuming your file is called hello.c):
-
- gcc -o hello.exe hello.c
-
-The compile should proceed without problems and you should be able to
-run the hello program at the end. It should print "Hello, world!"
-(without the quotes) to the console and then return to the command
-prompt.
-
-If you wanted a full Cygwin32 install you now have it. With this setup
-(say, by adding those lines above to your autoexec.bat or global
-settings) you can port a great deal of UNIX code to run under Win32
-systems. No more steps are necessary.
-
-If you are a minimalist or otherwise want to save disk space you should
-continue from here. Also if you intend to use the Minimalist GNU-Win32
-files to compile programs which don't use the Cygwin32 API you will need
-to do some of the things mentioned below.
-
-If the compile didn't work for some reason check very carefully that you
-followed the instructions above correctly and then check whether one or
-more of the files in the download got corrupted. If neither of these
-seems to be the case then your system is not behaving like my system.
-Try looking at the troubleshooting section later in this file, and if
-none of that helps then you can email me (colin@bird.fu.is.saga-
-u.ac.jp), though I can't promise I'll be a lot of help.
-
-
-1.3 Separating the Win32 API Files
-
-Mingw32 and Cygwin32 share the same set of Win32 API include files and
-import libraries as included in the GCC distribution from Cygnus. In
-order to use the Win32 API with a dual setup or with Mingw32 alone you
-will have to separate those files from the bulk of the Cygwin32 API
-files.
-
-Make a new directory to serve as the root for the Win32 API files. I put
-mine under C:\cygnus and called it win32, but you can put it where you
-like and just replace later references to C:\cygnus\win32 with your own
-root directory.
-
-Move the following from C:\cygnus\H-i386-cygwin32\i386-cygwin32\include
-to a new C:\cygnus\win32\include directory:
-
-windows.h, winadvapi.h, winbase.h, wincon.h, windef.h, windowsx.h,
-winerror.h, wingdi.h, winkernel.h, winnt.h, wintypes.h, winuser.h,
-winversion.h, commdlg.h, ddeml.h and the Windows32 sub-directory and all
-its contents.
-
-Move the following files from C:\cygnus\H-i386-cygwin32\i386-
-cygwin32\lib to a new C:\cygnus\win32\lib directory:
-
-libadvapi32.a, libcomctl32.a, libcomdlg32.a, libctl3d32.a, libgdi32.a,
-libglaux.a, libglu32.a, libimm32.a, libkernel32.a, liblz32.a,
-libmapi32.a, libmfcuia32.a, libmgmtapi.a, libmpr.a, libmsacm32.a,
-libnddeapi.a, libnetapi32.a, libodbc32.a, libodbccp32.a, libole32.a,
-liboleaut32.a, liboledlg.a, libolepro32.a, libopengl32.a, libpenwin32.a,
-libpkpd32.a, librasapi32.a, librpcdce4.a, librpcndr.a, librpcns4.a,
-librpcrt4.a, libscrnsave.a, libshell32.a, libsnmp.a, libsvrapi.a,
-libtapi32.a, libth32.a, libthunk32.a, liburl.a libuser32.a, libvdmdbg.a,
-libversion.a, libvfw32.a, libwin32spl.a, libwinmm.a, libwinserve.a,
-libwinspool.a, libwinstrm.a, libwow32.a, libwsock32.a, libwst.a.
-
-That list is quite excessive for most basic Windows programming, which
-will only require kernel32, user32, gdi32, shell32 and possibly a couple
-of others like the common control and dialog libraries or advapi32. You
-may not need the ODBC support, or OLE, or Pen Windows, TAPI and on and
-on. Still, if you have the space and intend to use the Win32 API you
-might as well keep the ones you’re not sure you’ll ever use around.
-
-The lists above can also act as lists of files you can safely delete if
-you are never going to use the Win32 API in your programs except that
-libkernel32.a is still required even if you don’t use the Win32 API
-yourself. Note that this means that libkernel32.a must be on the library
-path as well, even if you don’t use the Win32 API. (Actually this
-appears to be an artifact of the specs file supplied with Cygwin32. If
-you like, and feel up to it, you can play around with the specs file and
-remove the reference to kernel32.)
-
-Here are the variable settings you need to make to allow GCC to find the
-Win32 API files in their new positions:
-
- SET LIBRARY_PATH=%LIBRARY_PATH%:/cygnus/win32/lib
- SET C_INCLUDE_PATH=%C_INCLUDE_PATH%:/cygnus/win32/include
- SET CPLUS_INCLUDE_PATH=%CPLUS_INCLUDE_PATH%:/cygnus/win32/include
-
-The file win32-api.bat performs these settings. Run it after you run
-cygwin32.bat (or mingw32.bat below).
-
-At this point you should be able to compile programs that use the Win32
-API, just as you could before. You might want to do a simple test
-compile to find out, for example this code:
-
-#include <windows.h>
-
-int STDCALL
-WinMain (HINSTANCE hInst, HINSTANCE hPrev, LPSTR lpCmd, int nShow)
-{
- MessageBox (NULL, "Test message", "Test", MB_OK);
- return 0;
-}
-
-Should compile with the following command line:
- gcc -o test.exe test.c -lkernel32 -luser32 -Wl,--subsystem,windows
-
-It will produce a warning at link time about not finding
-_WinMainCRTStartup, but this is harmless.
-
-If you have trouble check the troubleshooting section later in this
-file.
-
-
-1.4 Specs
-
-The file C:\cygnus\H-i386-cygwin32\lib\gcc-lib\i386-cygwin32\cygnus-
-2.7.2-961023\specs includes a set of options and defaults for GCC,
-including such things as which libraries are automatically linked into
-executables and such. A different specs file is required depending on
-whether you use Cygwin32 or Mingw32.
-
-To avoid GCC accidentally using the wrong specs file move specs to
-C:\cygnus\H-i386-cygwin32\i386-cygwin32\lib.
-
-You can verify what specs file is being used by attempting a compile
-with the -v option to gcc. Note that if no specs file is mentioned the
-compiler will default to Cygwin32 behavior.
-
-
-1.5 The Mingw32 Files
-
-Now we can install the Mingw32 files and start making programs which
-don’t use cygwin.dll or the Cygwin32 API. I install my copy under a
-separate directory called C:\mingw32, but you could put them wherever
-you like (e.g. C:\cygnus\mingw32). Again simply replace references to
-C:\mingw32 with the directory where you perform your installation.
-
-After making the install directory copy mingw32_012.tgz to that
-directory and run a command like this:
- gunzip -d mingw32_012.tgz
-
-in that directory, followed by:
- tar xvf mingw32_012.tar
-
-This will unpack the required files. Then you can use the following
-environment variable settings (as included in mingw32.bat) to setup for
-compiles using Mingw32:
-
- PATH=%PATH%;C:\cygnus\H-i386-cygwin32\bin
- SET GCC_EXEC_PREFIX=C:\cygnus\H-i386-cygwin32\lib\gcc-lib\i386-
- cygwin32\cygnus-2.7.2-961023\
- SET LIBRARY_PATH=/mingw32/lib
- SET C_INCLUDE_PATH=/mingw32/include:/mingw32/include/nonansi
- SET CPLUS_INCLUDE_PATH=%C_INCLUDE_PATH%
-
-The mingw32.bat file can be used the same way as the cygwin32.bat file.
-Depending on which one you run you will be able to do Mingw32 compiles
-or Cygwin32 compiles. Note that whichever one you use you must follow it
-with an invocation of win32-api.bat so that libkernel32.a will be in the
-library path.
-
-Setup is now complete, you have complete working Mingw32 and Cygwin32
-compiles available along with the bash shell, tons of UNIX-like
-utilities.
-
-If you had trouble with any of the steps above then the next section is
-for you.
-
-
-
-2. Troubleshooting Setup Problems
-
-If you ran into trouble at any stage in the section 1 here are a few
-general guidelines as well as some solutions to common problems.
-
-2.1 Winzip, gunzip or tar Complains of Errors
-
-Winzip may complain that it could not create a file with garbage
-characters in it's name. Gunzip, gzip or tar may complain about
-formatting errors. Usually this means that the downloaded file is
-corrupted. As of this writing this problem was most commonly caused when
-downloading the files from Geocities using Netscape Navigator for
-Windows 95 or NT. A combination of a badly set MIME type at Geocities
-and a bug in Netscape will corrupt files saved with "Save Link As" (and
-clicking on the links would display the files as garbage text). At this
-time the only solutions are to use another browser (IE, or Netscape for
-UNIX or Apple systems) or to download from the Japanese mirror
-(http://www.fu.is.saga-u.ac.jp/~colin/gcc.html). Hopefully Geocities
-will eventually fix their problem.
-
-
-2.2 Compile and Link Time Problems: General Steps
-
-First, evaluate that your environment variables are what you expect them
-to be by running the SET command with no arguments (if you are using the
-bash shell then the output of env might also be illuminating). Do this
-immediately before you attempt a compile in the same window as the
-compile.
-
-Secondly include the '-v' option on the gcc command line. This will give
-you far more information on what happens during the compile, especially
-important are which specs file is being used and what include file
-directories are being read, as well as the arguments to cpp and ld.
-
-If you send me email about a problem the output of these two general
-steps will be very helpful in making a diagnosis.
-
-
-2.3 Cannot exec 'cpp'
-
-On compiling you get an error message like this:
-
- GCC.EXE: installation problem, cannot exec `cpp': No such file
- or directory
- GCC.EXE: Internal compiler error: program cpp got fatal signal 127
-
-This means more or less what it says. The program cpp is the C
-preprocessor (it strips comments and interprets all those lines
-beginning in '#') and running it is the first step in compiling a C or
-C++ program. The problem here is that GCC.EXE cannot find CPP.EXE.
-Normally CPP.EXE is in the directory C:\cygnus\H-i386-cygwin32\lib\gcc-
-lib\i386-cygwin32\cygnus-2.7.2-961023\. If the file is there then
-probably the GCC_EXEC_PREFIX environment variable is not correctly set.
-
-
-2.4 Can't Find Include Files
-
-You get an error like this:
-
- hello.c:2: No include path in which to find stdio.h
-
-This, again, means what it says (more or less). The compiler cannot find
-the file stdio.h which is #included in the source file hello.c at line
-2. Of course the particular file names may differ in your case. If this
-is not simply a case of including a really non-existent file or
-misspelling the file name then probably your C_INCLUDE_PATH or
-CPLUS_INCLUDE_PATH environment variable is wrong. (If not, see "But the
-environment variables are right" below.)
-
-
-2.5 Can't Find Libraries
-
-At link time you get an error like this:
-
- ld: cannot open -lkernel32: No such file or directory
-
-This one is a bit cryptic, mainly because the name of the file that
-can't be opened is not "-lkernel32" but "libkernel32.a". "-lname" is the
-ld command line syntax for linking the library named "libname.a". So
-basically this error is saying it can't find libkernel32.a (or whatever
-library matches the error you got). If you weren't trying to manually
-link in a library that doesn't exist or was misspelled (by accidentally
-including the 'lib' or '.a' on the command line for example) then
-probably your LIBRARY_PATH environment variable is wrong. (If not, see
-"But the environment variables are right" below.)
-
-
-2.6 But the Environment Variables are Right!
-
-You had one of the problems with not finding include files or libraries
-but the environment variables all seem to be pointing at the right
-places and the files are all there.
-
-If you installed on a drive other than C: drive this may be your
-problem. The Cygwin DLL, and thus all the basic compiler tools,
-automatically map C: drive to (UNIX-style) '/'. Thus /cygnus is actually
-C:\cygnus. There are a few ways to fix this (without reinstalling on C:
-drive):
-
- - Map your actual install directory to /cygnus using mount
- (mount.exe is included with the Cygnus distribution). Simply
- type "mount D:\mydir /cygnus" (assuming you installed in the
- directory \mydir on D: drive). Similar tricks can be used for
- other directories which you may have installed on other drives.
-
- - Change the mount of C: to / to the actual install drive. This is
- possible by using the registry editor (regedit) included with
- Windows. Start the editor and go to the key (or folder) "My
- Computer\HKEY_CURRENT_USER\Software\Cygnus Support\CYGWIN.DLL
- setup\b15.0\mounts". Under this key there are several numbered
- keys. One of them will have the variables "native" set to "c:" and
- "unix" set to "/". Change the value of "native" to whatever drive
- you did your install on and everything should be fixed. NOTE: You
- should probably do this after a fresh boot with no Cygnus based
- programs running.
-
-
-2.7 Unresolved References to _impure_ptr and/or _ctype_ etc.
-
-At link time your code produces unresolved references to _impure_ptr,
-_ctype_ and/or _errno, among others.
-
-This is the result of using the Cygwin header files but linking against
-the Mingw32 libraries. I have hopefully managed to fix the bug that used
-to cause this problem on any dual installation, but perhaps I haven't.
-To check you can run gcc with the -v option and see if the list of
-directories searched for include files contains any include directories
-with Cygwin headers in them. If everything is working correctly you
-should only see the directories on your C_INCLUDE_PATH in this list.
-
-If you have this problem then you may have to modify the Mingw32 specs
-file, specifically the part that says:
-
-*cpp:
-%{posix:-D_POSIX_SOURCE} -iprefix /mingw32/include/
-
-These are options that get passed to the C preprocessor by gcc. Consult
-the documentation for cpp and try options other than -iprefix. You may
-have to use -nostdinc and/or -nostdinc++ plus -I options to get the
-correct behavior.
-
-
-2.8 My Program Doesn't Print Any Output OR My Windows Program Creates
- A Console Window
-
-Your console application runs, but doesn't print any output, or your GUI
-application runs fine, but always creates an extra console window when
-run from Explorer or by double clicking on an icon.
-
-These are basically two sides of the same coin. You have created a GUI
-(or console) application when you meant to create a console (or GUI)
-application. By default gcc creates console applications. If you make a
-windows GUI application with a WinMain and all that you will still get a
-console application if you don't tell gcc what to do at link time. The
-relevant options are "-windows" "-Wl,--subsystem,windows" or "-Wl,--
-subsystem,console". The first two, if used on a gcc link line, will
-create a proper GUI application. The last will make sure you are making
-a console application.
-
-
-
-3. Optimizing and Reducing Disk Space Usage
-
-There are still vast amounts of disk space used by the Cygwin32
-installation on your hard-drive, and much of it can be removed while
-still maintaining a fully functional compiler system. The following
-sections point out which files you actually need for certain tasks, so
-that you won’t delete them.
-
-
-3.1 Bare Minimum
-
-For C only, Mingw32 compiles which don’t use the Win32 API, and if you
-don’t want to produce DLLs or do debugging with any of the GNU tools the
-list of files required is as follows:
-
-In C:\cygnus\H-i386-cygwin32\bin:
- ar.exe, as.exe, gcc.exe, ld.exe
-
-In C:\cygnus\H-i386-cygwin32\lib\gcc-lib\i386-cygwin32\cygnus-2.7.2-
-961023:
- cc1.exe, cpp.exe, libgcc.a
-
-In C:\cygnus\win32\lib:
- libkernel32.a
-
-Plus all the files in C:\mingw32\lib and C:\mingw32\include and their
-subdirectories.
-
-
-3.2 C++ Support
-
-To add C++ Support to the above the following extra files are required:
-
-In C:\cygnus\H-i386-cygwin32\lib\gcc-lib\i386-cygwin32\cygnus-2.7.2-
-961023:
- cc1plus.exe
-
-Note that this does not include support for the standard C++ libraries
-(only the C run time libraries) or for iostreams. That support is still
-only available with the Cygwin32 API.
-
-
-3.3 Extra Utilities of Extreme Usefulness
-
-Even if you do not use the bash shell or UNIX utilities in general some
-of the utilities in C:\cygnus\H-i386-cygwin32\bin are extremely useful
-for debugging and probably shouldn’t be deleted if you intend to do any
-actual programming using the system.
-
-These include:
- dlltool.exe, gdb.exe, nm.exe, and strip.exe.
-
-
-3.4 Jam
-
-Jam is a make replacement program that I use pretty much exclusively,
-which is why you don't find any Makefile, makefile, makefile.mk or all
-that in the stuff that I do. You do find jamfiles and the occaisional
-mk.bat file. The executable of Jam is only 80 KB and the program is
-incredibly useful, so I would encourage you do download the special
-Mingw32 version and check it out. The Mingw32 version has built in rules
-for adding resources, building DLLs and import libraries as well as
-normal C and C++ files. The source code is, of course, freely available.
-
-The actual point of this section though, is to point out that to use Jam
-you need not only the Jam executable but also rm.exe from the Cygwin
-distribution. You also might want to download rcl.exe and res2coff.exe
-as these are the helper programs Jam expects to use for resource script
-handling.
-
-
-4. Legalities
-
-All of the code in the Mingw32 package is available as public domain
-source. You may use and modify the code as you like. Of course I
-encourage you to write software which is free, either public domain or
-under the GNU Public License for example, but that is up to you. Linking
-with the libraries included with Mingw32 similarly does not impose any
-licensing restrictions on your code or binaries.
-
-The library libgcc.a, which is linked into all code produced with GCC,
-is under a special version of the LGPL (as far as I know, you should
-check for yourself) which allows the distribution of programs which are
-simply linked with unmodified versions of libgcc.a with no licensing
-restrictions.
-
-Thus, using Mingw32, you should be able to produce code with no
-licensing restrictions imposed by use of the compiler or libraries. The
-Cygwin32 API, and the GNU libraries are another matter and you should
-consult their license agreements.
-
-Again I must stress that I am not a lawyer and the above statements only
-reflect my personal understanding of the situation. You would be well
-advised to consult the actual text of the appropriate copyright notices
-and license agreements if you have any concerns.
-
-
-5. Support
-
-First of all, the Mingw32 code is supplied AS IS with NO WARRANTY either
-EXPRESS or IMPLIED.
-
-There is also no support staff standing by to take your calls. There
-are, however, a few people, including myself, using Mingw32 who might be
-able to help you. If you have problems you can email me at
-colin@bird.fu.is.saga-u.ac.jp and I will try to get back to you. No
-guarantees, but I will do my best.
-
-
-6. Suggestions and Contributions
-
-If you find a bug in the Mingw32 files themselves then feel free to
-report it, or even better to supply a fix, by emailing me at
-colin@bird.fu.is.saga-u.ac.jp. Any fixes I receive will probably go into
-the next release, and if they seem high-priority I may put the patched
-files on my web page until I can make a complete release. Please note
-that if you supply code it must be in the public domain or I cannot
-include it in Mingw32. Please attach an appropriate legal message to the
-code or otherwise make sure that there are no copyright issues. Of
-course if you just suggest a possible method for solving a problem or
-point out a bug then there should be no need for all that.
-
-Note that the Win32 API header files are not actually part of the
-Mingw32 package. I know there are many bugs and omissions, and I try to
-keep informed about them, so I do appreciate mail pointing them out.
-However I can’t fix these problems at the source. You should send email
-to Scott Christley (the author of the GPL windows32-api) or possibly to
-Cygnus. Sending email to me might get me to mention it on my homepage or
-fix it in my personal copy of the header files, but that’s about it
-(sorry).
-
-Aside from bug reports, suggestions for improvements, testing of the
-header files and otherwise praise or criticism is all welcome in my
-inbox.
-
-Good luck,
-Colin Peters (colin@bird.fu.is.saga-u.ac.jp)
-
diff --git a/winsup/mingw/samples/dirent/jamfile b/winsup/mingw/samples/dirent/jamfile
deleted file mode 100644
index c920ffe9b..000000000
--- a/winsup/mingw/samples/dirent/jamfile
+++ /dev/null
@@ -1,3 +0,0 @@
-
-Main test.exe : test.c ;
-
diff --git a/winsup/mingw/samples/dirent/test.c b/winsup/mingw/samples/dirent/test.c
deleted file mode 100644
index 9ff4267ee..000000000
--- a/winsup/mingw/samples/dirent/test.c
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- * A test which demonstrates the use of opendir and related functions
- * declared in dirent.h.
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <errno.h>
-
-#include <dirent.h>
-
-int
-main (int argc, char* argv[])
-{
- int i;
- struct dirent* de;
- DIR* dir;
- long lPos;
-
- if (argc == 2)
- {
- printf ("Opening directory \"%s\"\n", argv[1]);
- dir = opendir(argv[1]);
- }
- else
- {
- printf ("Opening \".\"\n");
- dir = opendir(".");
- }
-
- if (!dir)
- {
- printf ("Directory open failed!\n");
- if (errno)
- {
- printf ("Error : %s\n", strerror(errno));
- }
- return 1;
- }
-
- i = 0;
- lPos = -1;
-
- while (de = readdir (dir))
- {
- i++;
- printf ("%d : \"%s\" (tell %ld)\n", i, de->d_name,
- telldir(dir));
-
- if (i == 3)
- {
- printf ("We will seek here later.\n");
- lPos = telldir (dir);
- }
- }
-
- printf ("Rewind directory.\n");
- rewinddir (dir);
-
- if (de = readdir (dir))
- {
- printf ("First entry : \"%s\"\n", de->d_name);
- }
- else
- {
- printf ("Empty directory.\n");
- }
-
- if (lPos != -1)
- {
- printf ("Seeking to fourth entry.\n");
- seekdir (dir, lPos);
-
- if (de = readdir (dir))
- {
- printf ("Fourth entry : \"%s\"\n", de->d_name);
- }
- else
- {
- printf ("No fourth entry.\n");
- }
- }
- else
- {
- printf ("Seek position is past end of directory.\n");
- }
-
- printf ("Closing directory.\n");
- closedir (dir);
-}
-
diff --git a/winsup/mingw/samples/dirent/wtest.c b/winsup/mingw/samples/dirent/wtest.c
deleted file mode 100644
index 798544374..000000000
--- a/winsup/mingw/samples/dirent/wtest.c
+++ /dev/null
@@ -1,98 +0,0 @@
-/*
- * A test which demonstrates the use of _wopendir and related
- * wide char functions declared in dirent.h.
- *
- * TODO: Make this _UNICODE neutral using tchar.h mappings.
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <errno.h>
-#include <dirent.h>
-
-int
-main (int argc, char* argv[])
-{
- int i;
- struct _wdirent* de;
- _WDIR* dir;
- long lPos;
-
- if (argc == 2)
- {
- size_t len = strlen(argv[1]) + 1;
- wchar_t* wpath = (wchar_t*) malloc(len *sizeof(wchar_t));
- mbstowcs(wpath, argv[1], len);
- wprintf (L"Opening directory \"%s\"\n", wpath);
- dir = _wopendir(wpath);
- free (wpath);
- }
- else
- {
- wprintf (L"Opening \".\"\n");
- dir = _wopendir(L".");
- }
-
- if (!dir)
- {
- wprintf (L"Directory open failed!\n");
- if (errno)
- {
- wprintf (L"Error : %S\n", strerror(errno));
- }
- return 1;
- }
-
- i = 0;
- lPos = -1;
-
- while ((de = _wreaddir (dir)))
- {
- i++;
- wprintf (L"%d : \"%s\" (tell %ld)\n", i, de->d_name,
- _wtelldir(dir));
-
- if (i == 3)
- {
- wprintf (L"We will seek here later.\n");
- lPos = _wtelldir (dir);
- }
- }
-
- printf ("Rewind directory.\n");
- _wrewinddir (dir);
-
- if ((de = _wreaddir (dir)))
- {
- wprintf (L"First entry : \"%s\"\n", de->d_name);
- }
- else
- {
- wprintf (L"Empty directory.\n");
- }
-
- if (lPos != -1)
- {
- wprintf (L"Seeking to fourth entry.\n");
- _wseekdir (dir, lPos);
-
- if ((de = _wreaddir (dir)))
- {
- wprintf (L"Fourth entry : \"%s\"\n", de->d_name);
- }
- else
- {
- wprintf (L"No fourth entry.\n");
- }
- }
- else
- {
- wprintf (L"Seek position is past end of directory.\n");
- }
-
- wprintf (L"Closing directory.\n");
- _wclosedir (dir);
-return 0;
-}
-
diff --git a/winsup/mingw/samples/dlltest/dll.c b/winsup/mingw/samples/dlltest/dll.c
deleted file mode 100644
index 257b1b8ff..000000000
--- a/winsup/mingw/samples/dlltest/dll.c
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- * Source code of the functions inside our test DLL. Note that DllMain is
- * not required (it will be provided by the stub in libmingw32.a).
- */
-
-#if 0
-#include <windows.h>
-#endif
-
-int Add (int x, int y)
-{
- printf ("In add!\nx = %d\ny = %d\n", x, y);
- return (x + y);
-}
-
-
-double __attribute__((stdcall)) Sub (double x, double y)
-{
- printf ("In sub!\nx = %f\ny = %f\n", x, y);
- return (x - y);
-}
-
diff --git a/winsup/mingw/samples/dlltest/dll.def b/winsup/mingw/samples/dlltest/dll.def
deleted file mode 100644
index b20a405d8..000000000
--- a/winsup/mingw/samples/dlltest/dll.def
+++ /dev/null
@@ -1,3 +0,0 @@
-EXPORTS
-Add
-Sub@16
diff --git a/winsup/mingw/samples/dlltest/dll.h b/winsup/mingw/samples/dlltest/dll.h
deleted file mode 100644
index 8fac5332b..000000000
--- a/winsup/mingw/samples/dlltest/dll.h
+++ /dev/null
@@ -1,4 +0,0 @@
-
-int Add (int x, int y);
-double __attribute__((stdcall)) Sub (double x, double y);
-
diff --git a/winsup/mingw/samples/dlltest/exe.c b/winsup/mingw/samples/dlltest/exe.c
deleted file mode 100644
index d778348e4..000000000
--- a/winsup/mingw/samples/dlltest/exe.c
+++ /dev/null
@@ -1,23 +0,0 @@
-#include <stdio.h>
-
-#include "dll.h"
-
-int main()
-{
- int i, j, k;
- double dk;
-
- i = 10;
- j = 13;
-
- k = Add(i, j);
-
- printf ("%d + %d = %d\n", i, j, k);
-
- dk = Sub(i, j);
-
- printf ("%d - %d = %f\n", i, j, dk);
-
- return 0;
-}
-
diff --git a/winsup/mingw/samples/dlltest/exe.exp b/winsup/mingw/samples/dlltest/exe.exp
deleted file mode 100644
index 887fdb0ac..000000000
--- a/winsup/mingw/samples/dlltest/exe.exp
+++ /dev/null
@@ -1,8 +0,0 @@
-In add!
-x = 10
-y = 13
-10 + 13 = 23
-In sub!
-x = 10
-y = 13
-10 - 13 = -3
diff --git a/winsup/mingw/samples/dlltest/expexe.c b/winsup/mingw/samples/dlltest/expexe.c
deleted file mode 100644
index d94ea1e7e..000000000
--- a/winsup/mingw/samples/dlltest/expexe.c
+++ /dev/null
@@ -1,17 +0,0 @@
-
-#include <stdio.h>
-
-int
-ExportedFromExe ()
-{
- printf ("This output produced by ExportedFromExe.\n");
- return 0;
-}
-
-int main()
-{
- printf ("Hello, world\n");
-
- return 0;
-}
-
diff --git a/winsup/mingw/samples/dlltest/expexe.def b/winsup/mingw/samples/dlltest/expexe.def
deleted file mode 100644
index 309f1508f..000000000
--- a/winsup/mingw/samples/dlltest/expexe.def
+++ /dev/null
@@ -1,2 +0,0 @@
-EXPORTS
-ExportedFromExe
diff --git a/winsup/mingw/samples/dlltest/jamfile b/winsup/mingw/samples/dlltest/jamfile
deleted file mode 100644
index 5278d0379..000000000
--- a/winsup/mingw/samples/dlltest/jamfile
+++ /dev/null
@@ -1,46 +0,0 @@
-
-# This option is required to successfully return doubles via STDCALL as in
-# Sub function in dll.c.
-CCFLAGS = -mno-fp-ret-in-387 ;
-
-Main exe.exe : exe.c ;
-
-LinkLibraries exe.exe : libdll.a ;
-
-DEPENDS exe.exe : dll.dll ;
-
-LINKFLAGS on exe.exe = $(LINKFLAGS) -L. ;
-
-
-Main loaddll.exe : loaddll.c ;
-
-DEPENDS loaddll.exe : dll.dll ;
-
-
-Dll dll.dll : dll.c ;
-
-ImportLib libdll.a : dll.def ;
-
-
-Main expexe.exe : expexe.c ;
-
-# Force the executable to include the expexe.def file.
-Exports expexe.exe : expexe.def ;
-
-Main loadexe.exe : loadexe.c ;
-
-DEPENDS loadexe.exe : expexe.exe ;
-
-
-Main silly.exe : silly.cpp ;
-
-LinkLibraries silly.exe : libsilly.a ;
-
-DEPENDS silly.exe : silly.dll ;
-
-LINKFLAGS on silly.exe += -L. ;
-
-Dll silly.dll : sillydll.cpp ;
-
-ImportLib libsilly.a : silly.def ;
-
diff --git a/winsup/mingw/samples/dlltest/loaddll.c b/winsup/mingw/samples/dlltest/loaddll.c
deleted file mode 100644
index ec69c9a7e..000000000
--- a/winsup/mingw/samples/dlltest/loaddll.c
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * This version attempts to load dll.dll dynamically, get the address of the
- * Add function, and then call it.
- */
-
-#include <stdio.h>
-#include <windows.h>
-
-int (*Add)(int x, int y);
-
-int main()
-{
- HINSTANCE hDll;
- int i, j, k;
-
- hDll = LoadLibrary ("dll.dll");
- if (!hDll)
- {
- printf ("Error %d loading dll.\n", GetLastError());
- exit (-1);
- }
-
- if (!(Add = GetProcAddress (hDll, "Add")))
- {
- printf ("Error %d getting Add function.\n", GetLastError());
- exit (-1);
- }
-
- i = 10;
- j = 13;
-
- k = Add(i, j);
-
- printf ("i %d, j %d, k %d\n", i, j, k);
-
- FreeLibrary (hDll);
-
- return 0;
-}
-
diff --git a/winsup/mingw/samples/dlltest/loadexe.c b/winsup/mingw/samples/dlltest/loadexe.c
deleted file mode 100644
index 2ee4e8483..000000000
--- a/winsup/mingw/samples/dlltest/loadexe.c
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * This program attempts to load expexe.exe dynamically, get the address of the
- * ExportedFromExe function, and then call it.
- *
- * This example DOES NOT WORK! I don't know exactly what can be done, but
- * it simply seems that LoadLibrary refuses to load executables.
- */
-
-#include <stdio.h>
-#include <windows.h>
-
-int (*ExportedFromExe)();
-
-int main()
-{
- HINSTANCE hDll;
- int i, j, k;
-
- hDll = LoadLibrary ("expexe.exe");
- if (!hDll)
- {
- printf ("Error %d loading exe.\n", GetLastError());
- exit (-1);
- }
-
- if (!(ExportedFromExe = GetProcAddress (hDll, "ExportedFromExe")))
- {
- printf ("Error %d getting ExportedFromExe function.\n",
- GetLastError());
- exit (-1);
- }
- else
- {
- ExportedFromExe ();
- }
-
- /* NOTE: Unlike a DLL the exe doesn't have an entry point which
- * initializes global objects and adds __do_global_dtors to
- * the atexit list. Thus it should be safe(?) to free the
- * library. Of course, this also makes it unsafe to use
- * executables at all in this manner.
- */
- FreeLibrary (hDll);
-
- return 0;
-}
-
diff --git a/winsup/mingw/samples/dlltest/readme.txt b/winsup/mingw/samples/dlltest/readme.txt
deleted file mode 100644
index 3d3101326..000000000
--- a/winsup/mingw/samples/dlltest/readme.txt
+++ /dev/null
@@ -1,39 +0,0 @@
-This directory contains two examples of building DLLs. The exe.c and dll.c
-files are used to build a very simple example DLL with a function that
-adds two numbers together (and prints some text at the same time). The
-exe.c program links to the DLL and prints the results of the function
-call.
-
-The C++ example "silly" is more interesting because it involves a DLL which
-contains the code for a C++ class. The CSilly class has all of its code in
-the sillydll.cpp source file, which is used to build the silly.dll. The
-silly.cpp source code builds the main silly.exe executable which makes a
-dynamic instance of the object and calls its member functions.
-
-The C++ silly.def file was generated by doing a nm of sillydll.o after it
-was generated and then getting the symbol names from that. Removing the
-leading underscore produces the appropriate name to include in the EXPORTS
-section. Notice there are a few weird functions.
-
-Since there are now several different versions of the GNU compiler capable
-of doing this, and they each seem to have different requirements for exports
-for classes, it has gotten kind of messy. The silly.def file here is for
-use with the native Mingw32 build of the EGCS version of GCC. The silly.def.old
-file was the def file I used when I was using Jan-Jaap's Mingw32 native port
-of GCC. The Cygnus version is different again, if I recall correctly, but I
-don't have it hanging around anymore.
-
-The jamfile builds all the components from the raw sources.
-
-The expected output of exe.exe and silly.exe are in the files exe.exp
-and silly.exp.
-
-
-The source code in this directory is in the PUBLIC DOMAIN and can be
-used or abused as you see fit. There is NO WARRANTY for this code,
-including (but not limited to) implied warranties of MERCHANTABILITY
-or FITNESS FOR A PARTICULAR PURPOSE.
-
-
-Colin Peters <colin@bird.fu.is.saga-u.ac.jp>
-
diff --git a/winsup/mingw/samples/dlltest/silly.cpp b/winsup/mingw/samples/dlltest/silly.cpp
deleted file mode 100644
index ee9e1fe77..000000000
--- a/winsup/mingw/samples/dlltest/silly.cpp
+++ /dev/null
@@ -1,55 +0,0 @@
-//
-// C++ test of a dll which contains a C++ class.
-//
-
-#include <stdlib.h>
-#include <stdio.h>
-
-// Interface of class.
-#include "silly.h"
-
-#ifdef DERIVED_TEST
-// Here is a derived class too.
-class CMoreSilly : public CSilly
-{
- public:
- CMoreSilly (char* szNewName) : CSilly (szNewName) {};
- ~CMoreSilly ();
-
- WhatsYourName();
-};
-
-CMoreSilly::
-~CMoreSilly ()
-{
- printf ("In CMoreSilly \"%s\" destructor!\n", szName);
-}
-
-CMoreSilly::
-WhatsYourName ()
-{
- printf ("I'm more silly and my name is \"%s\"\n", szName);
-}
-#endif
-
-int
-main ()
-{
- CSilly* psilly = new CSilly("silly");
-
- psilly->WhatsYourName();
- psilly->Poke(); // Poke him, he should say "Ouch!"
- psilly->Stab(4); // Stab him four times he should say "Ugh!!!!"
-
- delete psilly;
-
-#ifdef DERIVED_TEST
- psilly = new CMoreSilly("more silly");
- psilly->WhatsYourName();
- psilly->Stab(5);
- delete psilly;
-#endif
-
- return 0;
-}
-
diff --git a/winsup/mingw/samples/dlltest/silly.def b/winsup/mingw/samples/dlltest/silly.def
deleted file mode 100644
index a766ff94f..000000000
--- a/winsup/mingw/samples/dlltest/silly.def
+++ /dev/null
@@ -1,11 +0,0 @@
-EXPORTS
-DllMain@12
-Poke__6CSilly
-Stab__6CSillyi
-WhatsYourName__6CSilly
-_$_6CSilly
-__6CSilly
-__6CSillyPc
-__tf6CSilly
-__ti6CSilly
-_vt$6CSilly
diff --git a/winsup/mingw/samples/dlltest/silly.exp b/winsup/mingw/samples/dlltest/silly.exp
deleted file mode 100644
index ab544f97f..000000000
--- a/winsup/mingw/samples/dlltest/silly.exp
+++ /dev/null
@@ -1,8 +0,0 @@
-I'm silly.
-Ouch!
-Ugh!!!!
-In CSilly destructor.
-I'm more silly and my name is "more silly"
-Ugh!!!!!
-In CMoreSilly "more silly" destructor!
-In CSilly destructor.
diff --git a/winsup/mingw/samples/dlltest/silly.h b/winsup/mingw/samples/dlltest/silly.h
deleted file mode 100644
index d3f99bed8..000000000
--- a/winsup/mingw/samples/dlltest/silly.h
+++ /dev/null
@@ -1,27 +0,0 @@
-
-#define DERIVED_TEST 1
-
-class CSilly
-{
- protected:
- char* szName;
-
- public:
- CSilly();
- CSilly(char* szName);
-#ifdef DERIVED_TEST
- virtual ~CSilly();
-#else
- ~CSilly();
-#endif
-
- Poke ();
- Stab (int nTimes);
-#ifdef DERIVED_TEST
- virtual WhatsYourName ();
-#else
- WhatsYourName ();
-#endif
-
-};
-
diff --git a/winsup/mingw/samples/dlltest/sillydll.cpp b/winsup/mingw/samples/dlltest/sillydll.cpp
deleted file mode 100644
index 87385e584..000000000
--- a/winsup/mingw/samples/dlltest/sillydll.cpp
+++ /dev/null
@@ -1,107 +0,0 @@
-
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
-#include <windows.h>
-
-
-#if 0
-#define STREAMS_VERSION
-#endif
-
-#if defined(STREAMS_VERSION)
-#include <iostream.h>
-#endif
-
-#include "silly.h"
-
-extern "C"
-BOOL WINAPI DllMain(HANDLE hDll, DWORD dwReason, LPVOID lpReserved)
-{
- return TRUE;
-}
-
-CSilly::
-CSilly()
-{
- szName = NULL;
-}
-
-CSilly::
-CSilly(char* new_szName)
-{
- szName = new char[strlen(new_szName)+1];
-
- if (szName)
- {
- strcpy (szName, new_szName);
- }
-}
-
-CSilly::
-~CSilly()
-{
- printf ("In CSilly destructor.\n");
- if (szName)
- {
- delete szName;
- }
-}
-
-CSilly::
-Poke ()
-{
-#ifndef STREAMS_VERSION
- printf ("Ouch!\n");
-#else
- cout << "Ouch!" << endl;
-#endif
-}
-
-CSilly::
-Stab (int nTimes)
-{
-#ifndef STREAMS_VERSION
- printf ("Ugh");
-#else
- cout << "Ugh";
-#endif
-
- int i;
- for (i = 0; i < nTimes; i++)
- {
-#ifndef STREAMS_VERSION
- putchar('!');
-#else
- cout << '!' ;
-#endif
- }
-
-#ifndef STREAMS_VERSION
- putchar('\n');
-#else
- cout << endl;
-#endif
-}
-
-CSilly::
-WhatsYourName ()
-{
- if (szName)
- {
-#ifndef STREAMS_VERSION
- printf ("I'm %s.\n", szName);
-#else
- cout << "I'm " << szName << "." << endl;
-#endif
- }
- else
- {
-#ifndef STREAMS_VERSION
- printf ("I have no name.\n");
-#else
- cout << "I have no name." << endl;
-#endif
- }
-}
-
diff --git a/winsup/mingw/samples/filehand/filehand.c b/winsup/mingw/samples/filehand/filehand.c
deleted file mode 100644
index 2af69b371..000000000
--- a/winsup/mingw/samples/filehand/filehand.c
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * An example showing how you can obtain the UNIX-ish file number from a
- * FILE* and in turn how you can get the Win32 HANDLE of the file from
- * the file number.
- *
- * This code is in the PUBLIC DOMAIN and has NO WARRANTY.
- *
- * Colin Peters <colin@fu.is.saga-u.ac.jp>
- */
-
-#include <stdio.h>
-#include <io.h>
-#include <windows.h>
-
-int
-main (int argc, char* argv[])
-{
- char* szFileName;
- FILE* fileIn;
- int fnIn;
- HANDLE hFileIn;
- char caBuf[81];
- int nRead;
-
- if (argc >= 2)
- {
- szFileName = argv[1];
- }
- else
- {
- szFileName = "junk.txt";
- }
-
- fileIn = fopen (szFileName, "r");
-
- if (!fileIn)
- {
- printf ("Could not open %s for reading\n", szFileName);
- exit(1);
- }
-
- fnIn = fileno (fileIn);
- hFileIn = (HANDLE) _get_osfhandle (fnIn);
-
- printf ("OS file handle %d\n", (int) hFileIn);
-
- ReadFile (hFileIn, caBuf, 80, &nRead, NULL);
-
- printf ("Read %d bytes using ReadFile.\n", nRead);
-
- caBuf[nRead] = '\0';
-
- printf ("\"%s\"\n", caBuf);
-
- fclose (fileIn);
-}
-
diff --git a/winsup/mingw/samples/filehand/jamfile b/winsup/mingw/samples/filehand/jamfile
deleted file mode 100644
index 3b2c726de..000000000
--- a/winsup/mingw/samples/filehand/jamfile
+++ /dev/null
@@ -1,3 +0,0 @@
-
-Main filehand.exe : filehand.c ;
-
diff --git a/winsup/mingw/samples/filehand/junk.txt b/winsup/mingw/samples/filehand/junk.txt
deleted file mode 100644
index 6de7b8c69..000000000
--- a/winsup/mingw/samples/filehand/junk.txt
+++ /dev/null
@@ -1 +0,0 @@
-This is a test file.
diff --git a/winsup/mingw/samples/fixargv/fixargv.c b/winsup/mingw/samples/fixargv/fixargv.c
deleted file mode 100644
index c2e2a41e6..000000000
--- a/winsup/mingw/samples/fixargv/fixargv.c
+++ /dev/null
@@ -1,290 +0,0 @@
-/*
- * fixargv.c
- *
- * A special function which "fixes" an argv array by replacing arguments
- * that need quoting with quoted versions.
- *
- * NOTE: In order to be reasonably consistent there is some misuse of the
- * const keyword here-- which leads to compilation warnings. These
- * should be ok to ignore.
- *
- * This is a sample distributed as part of the Mingw32 package.
- *
- * Contributors:
- * Created by Colin Peters <colin@bird.fu.is.saga-u.ac.jp>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRENTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAMED. This includes but is not limited to warrenties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * $Revision$
- * $Author$
- * $Date$
- *
- */
-
-#include <string.h>
-#include "fixargv.h"
-
-/*
- * This takes a single string and fixes it, enclosing it in quotes if it
- * contains any spaces and/or escaping the quotes it contains.
- */
-char*
-fix_arg (const char* szArg)
-{
- int nQuoteAll; /* Does the whole arg need quoting? */
- int nBkSlRun; /* How may backslashes in a row? */
- char* sz;
- char* szNew;
- size_t sizeLen;
-
- nQuoteAll = 0;
- nBkSlRun = 0;
- sz = szArg;
- sizeLen = 1;
-
- /* First we figure out how much bigger the new string has to be
- * than the old one. */
- while (*sz != '\0')
- {
- /*
- * Arguments containing whitespace of wildcards will be
- * quoted to preserve tokenization and/or those special
- * characters (i.e. wildcarding will NOT be done at the
- * other end-- they will get the * and ? characters as is).
- * TODO: Is this the best way? Do we want to enable wildcards?
- * If so, when?
- */
- if (!nQuoteAll &&
- (*sz == ' ' || *sz == '\t' || *sz == '*' || *sz == '?'))
- {
- nQuoteAll = 1;
- }
- else if (*sz == '\\')
- {
- nBkSlRun++;
- }
- else
- {
- if (*sz == '\"')
- {
- sizeLen += nBkSlRun + 1;
- }
- nBkSlRun = 0;
- }
-
- sizeLen++;
- sz++;
- }
-
- if (nQuoteAll)
- {
- sizeLen += 2;
- }
-
- /*
- * Make a new string big enough.
- */
- szNew = (char*) malloc (sizeLen);
- if (!szNew)
- {
- return NULL;
- }
- sz = szNew;
-
- /* First enclosing quote for fully quoted args. */
- if (nQuoteAll)
- {
- *sz = '\"';
- sz++;
- }
-
- /*
- * Go through the string putting backslashes in front of quotes,
- * and doubling all backslashes immediately in front of quotes.
- */
- nBkSlRun = 0;
- while (*szArg != '\0')
- {
- if (*szArg == '\\')
- {
- nBkSlRun++;
- }
- else
- {
- if (*szArg == '\"')
- {
- while (nBkSlRun > 0)
- {
- *sz = '\\';
- sz++;
- nBkSlRun--;
- }
- *sz = '\\';
- sz++;
- }
- nBkSlRun = 0;
- }
-
- *sz = *szArg;
- sz++;
- szArg++;
- }
-
- /* Closing quote for fully quoted args. */
- if (nQuoteAll)
- {
- *sz = '\"';
- sz++;
- }
-
- *sz = '\0';
- return szNew;
-}
-
-/*
- * Takes argc and argv and returns a new argv with escaped members. Pass
- * this fixed argv (along with the old one) to free_fixed_argv after
- * you finish with it. Pass in an argc of -1 and make sure the argv vector
- * ends with a null pointer to have fix_argv count the arguments for you.
- */
-char* const*
-fix_argv (int argc, char* const* szaArgv)
-{
- char** szaNew;
- char* sz;
- int i;
-
- if (!szaArgv)
- {
- return NULL;
- }
-
- /*
- * Count the arguments if asked.
- */
- if (argc == -1)
- {
- for (i = 0; szaArgv[i]; i++)
- ;
-
- argc = i;
- }
-
- /*
- * If there are no args or only one arg then do no escaping.
- */
- if (argc < 2)
- {
- return szaArgv;
- }
-
- for (i = 1, szaNew = NULL; i < argc; i++)
- {
- sz = szaArgv[i];
-
- /*
- * If an argument needs fixing, then fix it.
- */
- if (strpbrk (sz, "\" \t*?"))
- {
- /*
- * If we haven't created a new argv list already
- * then make one.
- */
- if (!szaNew)
- {
- szaNew = (char**) malloc ((argc + 1) *
- sizeof (char*));
- if (!szaNew)
- {
- return NULL;
- }
-
- /*
- * Copy previous args from old to new.
- */
- memcpy (szaNew, szaArgv, sizeof(char*) * i);
- }
-
- /*
- * Now do the fixing.
- */
- szaNew[i] = fix_arg (sz);
- if (!szaNew[i])
- {
- /* Fixing failed, free up and return error. */
- free_fixed_argv (szaNew, szaArgv);
- return NULL;
- }
- }
- else if (szaNew)
- {
- szaNew[i] = sz;
- }
- }
-
- if (szaNew)
- {
- /* If we have created a new argv list then we might as well
- * terminate it nicely. (And we depend on it in
- * free_fixed_argv.) */
- szaNew[argc] = NULL;
- }
- else
- {
- /* If we didn't create a new argv list then return the
- * original. */
- return szaArgv;
- }
-
- return szaNew;
-}
-
-void
-free_fixed_argv (char* const* szaFixed, char* const* szaOld)
-{
- char* const* sza;
-
- /*
- * Check for error conditions. Also note that if no corrections
- * were required the fixed argv will actually be the same as
- * the old one, and we don't need to do anything.
- */
- if (!szaFixed || !szaOld || szaFixed == szaOld)
- {
- return;
- }
-
- /*
- * Go through all members of the argv list. If any of the
- * members in the fixed list are different from the old
- * list we free those members.
- * NOTE: The first member is never modified, so we don't need to
- * check.
- */
- sza = szaFixed + 1;
- szaOld++;
- while (*sza)
- {
- if (*sza != *szaOld)
- {
- free (*sza);
- }
- sza++;
- szaOld++;
- }
-
- /*
- * Now we can free the array of char pointers itself.
- */
- free (szaFixed);
-}
-
diff --git a/winsup/mingw/samples/fixargv/fixargv.h b/winsup/mingw/samples/fixargv/fixargv.h
deleted file mode 100644
index e4a83fae1..000000000
--- a/winsup/mingw/samples/fixargv/fixargv.h
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * fixargv.h
- *
- * Prototypes of utility functions for 'properly' escaping argv vectors.
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * $Revision$
- * $Author$
- * $Date$
- *
- */
-
-#ifndef _FIXARGV_H_
-#define _FIXARGV_H_
-
-char* fix_arg (const char* szArg);
-char* const* fix_argv (int argc, char* const* szaArgv);
-void free_fixed_argv (char* const* szaFixed, char* const* szaOld);
-
-#endif
diff --git a/winsup/mingw/samples/fixargv/readme.txt b/winsup/mingw/samples/fixargv/readme.txt
deleted file mode 100644
index 555ef9bde..000000000
--- a/winsup/mingw/samples/fixargv/readme.txt
+++ /dev/null
@@ -1,85 +0,0 @@
-
-This code is a utility function I was considering adding to Mingw32. The
-Microsoft versions of argc, argv construction use quotes and backslashes
-to allow the user to pass arguments containing spaces (or quotes) to
-programs they invoke. The rules are
-
- - Arguments containing spaces must be enclosed in quotes.
- - A quote can be passed by preceeding it with a backslash.
- - Backslashes immediately preceeding a quote must be doubled to avoid
- escaping the quote.
-
-Thus an argument like:
-
- -D="Foo Bar\\"
-
-needs to be mangled as:
-
- "-D\"Foo Bar\\\\\""
-
-in order to get to the program as what was intended above.
-
-The fix_argv set of functions is meant to be used with spawnv and the
-like to allow a program to set up an argv array for the spawned program
-and have that array duplicated *exactly* in the spawned program, no
-matter what it contains (it also quotes 'globbing' characters like *
-and ?, so it does not matter if the destination has globbing turned on
-or not; it might be a reasonable extension to allow a flag to allow
-globbing characters to pass through unmolested, but they would still
-be quoted if the string contained whitespace).
-
-The reason for writing this came up because of problems with arguments
-like -DBLAH="Foo Bar" to GCC (define BLAH as a preprocessor constant
-being the string "Foo Bar", including the quotes). Because GCC simply
-passes the argument directly to CPP (the preprocessor) it had to be
-escaped *twice*:
-
- "-DBLAH=\"\\\"Foo Bar\\\"\""
-
-This would reach GCC as
-
- -DBLAH="\"Foo Bar\""
-
-And that would reach CPP as the desired
-
- -DBLAH="Foo Bar"
-
-One level of quoting and escaping is to be expected (although MS's
-standard is, arguably, not very good), but forcing the user to know
-how many different programs the argument is going to pass through,
-and perform double quoting and escaping, seems unreasonable. If
-GCC and friends all used fix_argv (they use their own version of
-it now) then the original argument could be
-
- "-DBLAH=\"Foo Bar\""
-
-And that would work fine, no matter how many different tools it
-passed through.
-
-The only basic limitation with this code is that it assumes that all
-the spawned programs use Microsoft-type escaping when interpreting
-their command line. Most programs on Win32 machines do (anything
-compiled with Mingw32 will).
-
-For now, this code has been relegated to 'sample' status. If you want
-to use it, feel free (it is public domain after all).
-
-Colin.
-
-P.S. Just out of interest you might try writing your own little program
- to look at the interaction of wildcards and quotes. Use the glob.exe
- program in ../globbing and see what it does with
-
- glob "foo*.txt"
-
- even if there are files foo.txt and foobar.txt in the same directory.
-
- Note that
-
- del "My *.txt"
-
- works (i.e. it deletes all files starting with My<space>). This could
- not be done unless del does globbing *after* processing escapes and
- quotes, which is not the way it seems to work normally (again see
- the glob example).
-
diff --git a/winsup/mingw/samples/fmode/all.c b/winsup/mingw/samples/fmode/all.c
deleted file mode 100644
index f052b9306..000000000
--- a/winsup/mingw/samples/fmode/all.c
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * A sample program demonstrating how to use _CRT_fmode to change the default
- * file opening mode to binary AND change stdin, stdout and stderr. Redirect
- * stdout to a file from the command line to see the difference.
- *
- * Also try directing a file into stdin. If you type into stdin you will get
- * \r\n at the end of every line... unlike UNIX. But at least if you
- * redirect a file in you will get exactly the characters in the file as input.
- *
- * THIS CODE IS IN THE PUBLIC DOMAIN.
- *
- * Colin Peters <colin@fu.is.saga-u.ac.jp>
- */
-
-#include <stdio.h>
-#include <stdlib.h> /* _fmode */
-#include <fcntl.h> /* _O_BINARY */
-#include <io.h> /* _setmode */
-
-
-unsigned int _CRT_fmode = _O_BINARY;
-
-main ()
-{
- char* sz = "This is line one.\nThis is line two.\n";
- FILE* fp;
- int c;
-
- printf (sz);
-
- /* Note how this fopen does NOT indicate "wb" to open the file in
- * binary mode. */
- fp = fopen ("all.out", "w");
-
- fprintf (fp, sz);
-
- fclose (fp);
-
- if (_isatty (_fileno(stdin)))
- {
- fprintf (stderr, "Waiting for input, press Ctrl-Z to finish.\n");
- }
-
- while ((c = fgetc(stdin)) != EOF)
- {
- printf ("\'%c\' %02X\n", (char) c, c);
- }
-}
-
diff --git a/winsup/mingw/samples/fmode/jamfile b/winsup/mingw/samples/fmode/jamfile
deleted file mode 100644
index 5b7a1cb06..000000000
--- a/winsup/mingw/samples/fmode/jamfile
+++ /dev/null
@@ -1,7 +0,0 @@
-
-Main test.exe : test.c ;
-
-Main test2.exe : test2.c ;
-
-Main all.exe : all.c ;
-
diff --git a/winsup/mingw/samples/fmode/readme.txt b/winsup/mingw/samples/fmode/readme.txt
deleted file mode 100644
index b865bfd4e..000000000
--- a/winsup/mingw/samples/fmode/readme.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-
-These two demos show how _fmode and _CRT_fmode can be used to modify the
-default file opening mode (text vs. binary) and/or the mode of the standard
-file handles.
-
diff --git a/winsup/mingw/samples/fmode/test.c b/winsup/mingw/samples/fmode/test.c
deleted file mode 100644
index 0ec364534..000000000
--- a/winsup/mingw/samples/fmode/test.c
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * A sample program demonstrating how to use fmode to change the default
- * file opening mode to binary. NOTE: Does not change stdin, stdout or
- * stderr.
- *
- * THIS CODE IS IN THE PUBLIC DOMAIN.
- *
- * Colin Peters <colin@fu.is.saga-u.ac.jp>
- */
-
-#include <stdio.h>
-#include <stdlib.h> /* _fmode */
-#include <fcntl.h> /* _O_BINARY */
-
-main ()
-{
- char* sz = "This is line one.\nThis is line two.\n";
- FILE* fp;
-
- _fmode = _O_BINARY;
-
- printf (sz);
-
- /* Note how this fopen does NOT indicate "wb" to open the file in
- * binary mode. */
- fp = fopen ("test.out", "w");
-
- fprintf (fp, sz);
-
- fclose (fp);
-}
-
diff --git a/winsup/mingw/samples/fmode/test2.c b/winsup/mingw/samples/fmode/test2.c
deleted file mode 100644
index b7d6b1891..000000000
--- a/winsup/mingw/samples/fmode/test2.c
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * A sample program demonstrating how to use fmode to change the default
- * file opening mode to binary. Compare this file, which sets _fmode
- * at file level to test.c, which sets the dll variable directly within
- * main.
- * NOTE: Does not change stdin, stdout or stderr.
- *
- * THIS CODE IS IN THE PUBLIC DOMAIN.
- *
- * Colin Peters <colin@fu.is.saga-u.ac.jp>
- * Danny Smith <dannysmith@users.sourceforge.net>
- */
-
-#include <stdio.h>
-#include <stdlib.h> /* _fmode */
-#include <fcntl.h> /* _O_BINARY */
-
-#undef _fmode
-int _fmode = _O_BINARY;
-
-main ()
-{
-
- char* sz = "This is line one.\nThis is line two.\n";
- FILE* fp;
-
- printf (sz);
-
- /* Note how this fopen does NOT indicate "wb" to open the file in
- * binary mode. */
- fp = fopen ("test2.out", "w");
-
- fprintf (fp, sz);
-
- fclose (fp);
-}
-
diff --git a/winsup/mingw/samples/globbing/glob.c b/winsup/mingw/samples/globbing/glob.c
deleted file mode 100644
index 6bf8acaee..000000000
--- a/winsup/mingw/samples/globbing/glob.c
+++ /dev/null
@@ -1,20 +0,0 @@
-
-#include <stdlib.h>
-#include <stdio.h>
-#include <windows.h>
-
-int
-main (int argc, char* argv[])
-{
- int i;
-
- printf ("Command line (via GetCommandLine) \"%s\"\n",
- GetCommandLine());
-
- for (i = 0; i < argc; i++)
- {
- printf ("Argv[%d] \"%s\"\n", i, argv[i]);
- }
-
- return 0;
-}
diff --git a/winsup/mingw/samples/globbing/jamfile b/winsup/mingw/samples/globbing/jamfile
deleted file mode 100644
index ff3a585d6..000000000
--- a/winsup/mingw/samples/globbing/jamfile
+++ /dev/null
@@ -1,11 +0,0 @@
-
-Object glob.o : glob.c ;
-
-MainFromObjects glob.exe : glob.o ;
-
-Main noglob.exe : noglob.c ;
-
-LIBDIR = \\mingw32\\lib\\ ;
-
-MainFromObjects CRTnoglob.exe : glob.o $(LIBDIR)CRT_noglob.o ;
-
diff --git a/winsup/mingw/samples/globbing/noglob.c b/winsup/mingw/samples/globbing/noglob.c
deleted file mode 100644
index 8bc4c82a3..000000000
--- a/winsup/mingw/samples/globbing/noglob.c
+++ /dev/null
@@ -1,22 +0,0 @@
-
-#include <stdlib.h>
-#include <stdio.h>
-#include <windows.h>
-
-/* This line turns off automatic command line globbing. */
-int _CRT_glob = 0;
-
-int
-main (int argc, char* argv[])
-{
- int i;
-
- printf ("Command line (via GetCommandLine) \"%s\"\n",
- GetCommandLine());
- for (i = 0; i < argc; i++)
- {
- printf ("Argv[%d] \"%s\"\n", i, argv[i]);
- }
-
- return 0;
-}
diff --git a/winsup/mingw/samples/globbing/readme.txt b/winsup/mingw/samples/globbing/readme.txt
deleted file mode 100644
index 5e20de826..000000000
--- a/winsup/mingw/samples/globbing/readme.txt
+++ /dev/null
@@ -1,14 +0,0 @@
-
-This directory contains samples which demonstrate default (globbing on)
-behavior, how to turn the globbing off with the _CRT_glob variable, and
-how to turn it off with the CRT_noglob object file.
-
-Run jam and then run glob, noglob and CRTnoglob with an argument like
-*.* to see the difference.
-
-The code in this directory is in the PUBLIC DOMAIN. It has NO WARRANTY,
-including, but not restricted to, warranties of MERCHANTABILITY or
-FITNESS FOR A PARTICULAR PURPOSE.
-
-Colin Peters <colin@bird.fu.is.saga-u.ac.jp>.
-
diff --git a/winsup/mingw/samples/print/jamfile b/winsup/mingw/samples/print/jamfile
deleted file mode 100644
index b77e6d66b..000000000
--- a/winsup/mingw/samples/print/jamfile
+++ /dev/null
@@ -1,9 +0,0 @@
-#
-# A simple example which prints a message on a selected printer. This won't
-# work right unless you make PRINTDLG a packed structure!
-#
-
-Main prntest.exe : prntest.c ;
-
-Gui prntest.exe ;
-
diff --git a/winsup/mingw/samples/print/prntest.c b/winsup/mingw/samples/print/prntest.c
deleted file mode 100644
index a70e7ed5d..000000000
--- a/winsup/mingw/samples/print/prntest.c
+++ /dev/null
@@ -1,65 +0,0 @@
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <windows.h>
-
-main ()
-{
- PRINTDLG pd;
- DOCINFO di;
- char* szMessage;
-
- memset (&pd, 0, sizeof(PRINTDLG));
- memset (&di, 0, sizeof(DOCINFO));
-
- di.cbSize = sizeof(DOCINFO);
- di.lpszDocName = "Test";
-
- pd.lStructSize = sizeof(PRINTDLG);
- pd.Flags = PD_PAGENUMS | PD_RETURNDC;
- pd.nFromPage = 1;
- pd.nToPage = 1;
- pd.nMinPage = 1;
- pd.nMaxPage = 1;
-
- szMessage = 0;
-
- if (PrintDlg (&pd))
- {
- if (pd.hDC)
- {
- if (StartDoc (pd.hDC, &di) != SP_ERROR)
- {
- StartPage (pd.hDC);
-
- TextOut (pd.hDC, 0, 0, "Hello, printer!", 15);
-
- EndPage (pd.hDC);
-
- EndDoc (pd.hDC);
-
- szMessage = "Printed.";
- }
- else
- {
- szMessage = "Could not start document.";
- }
- }
- else
- {
- szMessage = "Could not create device context.";
- }
- }
- else
- {
- szMessage = "Canceled or printer could not be setup.";
- }
-
- if (szMessage)
- {
- MessageBox (NULL, szMessage, "Print Test", MB_OK);
- }
-
- return 0;
-}
diff --git a/winsup/mingw/samples/seh/eh3.c b/winsup/mingw/samples/seh/eh3.c
deleted file mode 100644
index 49a06ceab..000000000
--- a/winsup/mingw/samples/seh/eh3.c
+++ /dev/null
@@ -1,112 +0,0 @@
-int
-__except_handler3(
- struct _EXCEPTION_RECORD* pExceptionRecord,
- struct EXCEPTION_REGISTRATION* pRegistrationFrame,
- struct _CONTEXT* pContextRecord,
- void* pDispatcherContext
- )
-{
- LONG filterFuncRet;
- LONG trylevel;
- EXCEPTION_POINTERS exceptPtrs;
- PSCOPETABLE pScopeTable;
-
-
- CLD // Clear the direction flag (make no assumptions!)
-
- // if neither the EXCEPTION_UNWINDING nor EXCEPTION_EXIT_UNWIND bit
- // is set... This is true the first time through the handler (the
- // non-unwinding case)
-
- if ( ! (pExceptionRecord->ExceptionFlags
- & (EXCEPTION_UNWINDING | EXCEPTION_EXIT_UNWIND)
- ) )
- {
- // Build the EXCEPTION_POINTERS structure on the stack
- exceptPtrs.ExceptionRecord = pExceptionRecord;
- exceptPtrs.ContextRecord = pContextRecord;
-
- // Put the pointer to the EXCEPTION_POINTERS 4 bytes below the
- // establisher frame. See ASM code for GetExceptionInformation
- *(PDWORD)((PBYTE)pRegistrationFrame - 4) = &exceptPtrs;
-
- // Get initial "trylevel" value
- trylevel = pRegistrationFrame->trylevel
-
- // Get a pointer to the scopetable array
- scopeTable = pRegistrationFrame->scopetable;
-
-search_for_handler:
- if ( pRegistrationFrame->trylevel != TRYLEVEL_NONE )
- {
- if ( pRegistrationFrame->scopetable[trylevel].lpfnFilter )
- {
-
- PUSH EBP // Save this frame EBP
-
- // !!!Very Important!!! Switch to original EBP. This is
- // what allows all locals in the frame to have the same
- // value as before the exception occurred.
-
- EBP = &pRegistrationFrame->_ebp
-
- // Call the filter function
- filterFuncRet = scopetable[trylevel].lpfnFilter();
-
- POP EBP // Restore handler frame EBP
-
- if ( filterFuncRet != EXCEPTION_CONTINUE_SEARCH )
- {
- if ( filterFuncRet < 0 ) // EXCEPTION_CONTINUE_EXECUTION
- return ExceptionContinueExecution;
-
- // If we get here, EXCEPTION_EXECUTE_HANDLER was specified
- scopetable == pRegistrationFrame->scopetable
-
- // Does the actual OS cleanup of registration frames
- // Causes this function to recurse
- __global_unwind2( pRegistrationFrame );
-
-
- // Once we get here, everything is all cleaned up, except
- // for the last frame, where we'll continue execution
- EBP = &pRegistrationFrame->_ebp
-
- __local_unwind2( pRegistrationFrame, trylevel );
-
- // NLG == "non-local-goto" (setjmp/longjmp stuff)
- __NLG_Notify( 1 ); // EAX == scopetable->lpfnHandler
-
- // Set the current trylevel to whatever SCOPETABLE entry
- // was being used when a handler was found
- pRegistrationFrame->trylevel = scopetable->previousTryLevel;
-
- // Call the _except {} block. Never returns.
- pRegistrationFrame->scopetable[trylevel].lpfnHandler();
- }
- }
-
- scopeTable = pRegistrationFrame->scopetable;
- trylevel = scopeTable->previousTryLevel
-
- goto search_for_handler;
- }
- else // trylevel == TRYLEVEL_NONE
- {
- retvalue == DISPOSITION_CONTINUE_SEARCH;
- }
- }
- else // EXCEPTION_UNWINDING or EXCEPTION_EXIT_UNWIND flags are set
- {
- PUSH EBP // Save EBP
-
- EBP = pRegistrationFrame->_ebp // Set EBP for __local_unwind2
-
- __local_unwind2( pRegistrationFrame, TRYLEVEL_NONE )
-
- POP EBP // Restore EBP
-
- retvalue == DISPOSITION_CONTINUE_SEARCH;
- }
-}
-
diff --git a/winsup/mingw/samples/seh/exutil.c b/winsup/mingw/samples/seh/exutil.c
deleted file mode 100644
index 187242cd5..000000000
--- a/winsup/mingw/samples/seh/exutil.c
+++ /dev/null
@@ -1,68 +0,0 @@
-
-#include <stdlib.h>
-#include <stdio.h>
-#include <excpt.h>
-#include <windows.h>
-
-#include "exutil.h"
-
-void
-WalkExceptionHandlers ()
-{
- PEXCEPTION_REGISTRATION_RECORD p;
- int i;
-
- __asm__("movl %%fs:0,%%eax;movl %%eax,%0" : "=g" (p) : : "%eax");
-
- i = 0;
- while (p != (PEXCEPTION_REGISTRATION_RECORD) -1 && p)
- {
- printf ("Registration %d at %08x : ", i, p);
- printf ("Handler = %08x ", p->handler);
- printf ("Next Registration = %08x\n", p->prev);
- p = p->prev;
- i++;
- }
- printf ("End of exception handler list.\n");
- fflush (stdout);
-}
-
-void
-DumpExceptionRecord (struct _EXCEPTION_RECORD* pExRec)
-{
- printf ("Exception: Code = %08x Flags %08x", pExRec->ExceptionCode,
- pExRec->ExceptionFlags);
-
- if (pExRec->ExceptionFlags)
- {
- printf (" ( ");
- if (pExRec->ExceptionFlags & EH_NONCONTINUABLE)
- {
- printf ("EH_NONCONTINUABLE ");
- }
- if (pExRec->ExceptionFlags & EH_UNWINDING)
- {
- printf ("EH_UNWINDING ");
- }
- if (pExRec->ExceptionFlags & EH_EXIT_UNWIND)
- {
- printf ("EH_EXIT_UNWIND ");
- }
- if (pExRec->ExceptionFlags & EH_STACK_INVALID)
- {
- printf ("EH_STACK_INVALID ");
- }
- if (pExRec->ExceptionFlags & EH_NESTED_CALL)
- {
- printf ("EH_NESTED_CALL ");
- }
- printf (")\n");
- }
- else
- {
- printf ("\n");
- }
-
- fflush(stdout);
-}
-
diff --git a/winsup/mingw/samples/seh/exutil.def b/winsup/mingw/samples/seh/exutil.def
deleted file mode 100644
index a474be7e5..000000000
--- a/winsup/mingw/samples/seh/exutil.def
+++ /dev/null
@@ -1,3 +0,0 @@
-EXPORTS
- WalkExceptionHandlers
- DumpExceptionRecord
diff --git a/winsup/mingw/samples/seh/exutil.h b/winsup/mingw/samples/seh/exutil.h
deleted file mode 100644
index a56155b96..000000000
--- a/winsup/mingw/samples/seh/exutil.h
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
- * Definitions of some internal stuff for exception handling, including
- * a version of the all-important EXCEPTION_REGISTRATION_RECORD.
- */
-
-#ifndef _EXUTIL_H_
-#define _EXUTIL_H_
-
-#include <windows.h>
-#include <excpt.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-void WalkExceptionHandlers ();
-void DumpExceptionRecord (struct _EXCEPTION_RECORD* pExRec);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
diff --git a/winsup/mingw/samples/seh/jamfile b/winsup/mingw/samples/seh/jamfile
deleted file mode 100644
index 04d83c770..000000000
--- a/winsup/mingw/samples/seh/jamfile
+++ /dev/null
@@ -1,13 +0,0 @@
-
-Dll exutil.dll : exutil.c ;
-
-ImportLib libexutil.a : exutil.def ;
-
-Main sehtest.exe : sehtest.c ;
-
-Main sehfix.exe : sehfix.c ;
-
-Main sehsub.exe : sehsub.c ;
-
-LinkLibraries sehtest.exe sehfix.exe sehsub.exe : libexutil.a ;
-
diff --git a/winsup/mingw/samples/seh/sehfix.c b/winsup/mingw/samples/seh/sehfix.c
deleted file mode 100644
index be527ab0d..000000000
--- a/winsup/mingw/samples/seh/sehfix.c
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * sehfix.c
- *
- * A test program involving an exception handler that fixes the exception
- * causing condition.
- *
- * In this code we install an exception handler my_handler and then a piece
- * of inline assembly attempts to write at the address marked in eax, after
- * setting eax to 10. This should produce an exception. The handler then
- * changes the eax register of the exception context to be the address of
- * a static variable and restarts the code. This should allow everything
- * to continue.
- */
-
-#include <windows.h>
-#include <excpt.h>
-
-#include "exutil.h"
-
-int x;
-
-EXCEPTION_DISPOSITION
-my_handler (
- struct _EXCEPTION_RECORD* pExceptionRec,
- void* pEstablisherFrame,
- struct _CONTEXT* pContextRecord,
- void* pDispatcherContext
- )
-{
- printf ("In my exception handler!\n");
- DumpExceptionRecord (pExceptionRec);
- pContextRecord->Eax = (DWORD) &x;
- return ExceptionContinueExecution;
-}
-
-main ()
-{
- x = 2;
-
- printf ("x = %d\n", x);
-
- WalkExceptionHandlers();
-
- __try1(my_handler)
-
- WalkExceptionHandlers();
-
- /* This assembly code should produce an exception. */
- __asm__("movl $10,%%eax;movl $1,(%%eax);" : : : "%eax");
-
- __except1
-
- WalkExceptionHandlers();
-
- printf ("x = %d\n", x);
-
- printf ("Finished!\n");
-}
-
-
diff --git a/winsup/mingw/samples/seh/sehsub.c b/winsup/mingw/samples/seh/sehsub.c
deleted file mode 100644
index 466b2e8e4..000000000
--- a/winsup/mingw/samples/seh/sehsub.c
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * sehsub.c
- *
- * In an attempt to see what might be going on inside CRTDLL, this program
- * walks the exception list after creating a new thread with _beginthread.
- *
- * It turns out that _beginthread DOES install an exception handler, as
- * expected, but this handler is NOT exported by CRTDLL (it is certainly
- * not _except_handler2 or _XcptFilter)... an odd and unpleasant turn of
- * events.
- */
-
-#include <windows.h>
-#include <excpt.h>
-#include <process.h>
-
-#include "exutil.h"
-
-extern void* __imp__except_handler3;
-
-unsigned
-my_thread (void * p)
-{
- printf ("In my thread.\n");
- WalkExceptionHandlers();
- return 0;
-}
-
-main ()
-{
- unsigned long h;
- unsigned id;
- printf ("In main.\n");
- WalkExceptionHandlers();
-
- printf ("Except_handler3 %08x\n", __imp__except_handler3);
- h = _beginthreadex (NULL, 0, my_thread, NULL, 0, &id);
-
- WaitForSingleObject ((HANDLE) h, INFINITE);
- CloseHandle ((HANDLE) h);
- return;
-}
-
diff --git a/winsup/mingw/samples/seh/sehtest.c b/winsup/mingw/samples/seh/sehtest.c
deleted file mode 100644
index f1c18d05e..000000000
--- a/winsup/mingw/samples/seh/sehtest.c
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * This file tests some of the basics of structured exception handling as
- * implemented in excpt.h and the Windows API header files.
- *
- * The program installs two exception handlers, then attempts to write to
- * a pointer to an invalid address. This causes an exception which passes
- * through the exception handlers and on to the default system exception
- * handler. That handler brings up the dialog box all Windows users know
- * and love, and then the program is terminated.
- *
- * You might note that after the initial run up through our exception frames
- * we get a second run up through them with the exception code
- * STATUS_INVALID_DISPOSITION and the code EH_UNWINDING. This seems normal
- * except that the code got changed from the previous STATUS_ACCESS_VIOLATION.
- * I don't understand that bit particularly.
- */
-
-#include <stdio.h>
-#include <excpt.h>
-
-#include "exutil.h"
-
-EXCEPTION_DISPOSITION
-my_handler (
- struct _EXCEPTION_RECORD* pExceptionRec,
- void* pEstablisherFrame,
- struct _CONTEXT* pContextRecord,
- void* pDispatcherContext
- )
-{
- printf ("In my exception handler!\n");
- DumpExceptionRecord (pExceptionRec);
- return ExceptionContinueSearch;
-}
-
-EXCEPTION_DISPOSITION
-my_handler2 (
- struct _EXCEPTION_RECORD* pExceptionRec,
- void* pEstablisherFrame,
- struct _CONTEXT* pContextRecord,
- void* pDispatcherContext
- )
-{
- printf ("In top exception handler!\n");
- DumpExceptionRecord (pExceptionRec);
- return ExceptionContinueSearch;
-}
-
-main ()
-{
- char* x;
-
- printf ("my_handler2 = %08x\n", my_handler2);
- printf ("my_handler = %08x\n", my_handler);
-
- WalkExceptionHandlers();
-
- __try1(my_handler2)
- x = (char*) 10;
-
- WalkExceptionHandlers();
-
- __try1(my_handler)
-
- WalkExceptionHandlers();
-
- *x = 1;
- __except1
- __except1
- printf ("Finished!\n");
-}
-
diff --git a/winsup/mingw/samples/simpledll/dll.c b/winsup/mingw/samples/simpledll/dll.c
deleted file mode 100644
index c642af4d8..000000000
--- a/winsup/mingw/samples/simpledll/dll.c
+++ /dev/null
@@ -1,33 +0,0 @@
-
-#include <windows.h>
-
-BOOL WINAPI
-DllMain (HANDLE hDll, DWORD dwReason, LPVOID lpReserved)
-{
- switch (dwReason)
- {
- case DLL_PROCESS_ATTACH:
- printf ("DLL Attached.\n");
- break;
-
- case DLL_PROCESS_DETACH:
- printf ("DLL Detached.\n");
- break;
-
- case DLL_THREAD_ATTACH:
- printf ("DLL Thread Attached.\n");
- break;
-
- case DLL_THREAD_DETACH:
- printf ("DLL Thread Detached.\n");
- break;
- }
- return TRUE;
-}
-
-void
-Test ()
-{
- printf ("Test Function called!\n");
-}
-
diff --git a/winsup/mingw/samples/simpledll/dll.cpp b/winsup/mingw/samples/simpledll/dll.cpp
deleted file mode 100644
index cdf0dfb9f..000000000
--- a/winsup/mingw/samples/simpledll/dll.cpp
+++ /dev/null
@@ -1,44 +0,0 @@
-//
-// This is a C++ version of the code in dll.c. NOTE that you need to put
-// extern "C" { ... } around DllMain or it will not be called when your
-// Dll starts up! (It will get name mangled as a C++ function and the C
-// default version in libmingw32.a will get called instead.)
-//
-
-#include <windows.h>
-
-#include <iostream>
-
-extern "C" {
-
-BOOL WINAPI
-DllMain (HANDLE hDll, DWORD dwReason, LPVOID lpReserved)
-{
- switch (dwReason)
- {
- case DLL_PROCESS_ATTACH:
- cout << "Dll Attached" << endl ;
- break;
-
- case DLL_PROCESS_DETACH:
- cout << "Dll Detached" << endl ;
- break;
-
- case DLL_THREAD_ATTACH:
- printf ("DLL Thread Attached.\n");
- break;
-
- case DLL_THREAD_DETACH:
- printf ("DLL Thread Detached.\n");
- break;
- }
- return TRUE;
-}
-
-void
-Test ()
-{
- printf ("Test Function called!\n");
-}
-
-};
diff --git a/winsup/mingw/samples/simpledll/dll.def b/winsup/mingw/samples/simpledll/dll.def
deleted file mode 100644
index 3cabd50a5..000000000
--- a/winsup/mingw/samples/simpledll/dll.def
+++ /dev/null
@@ -1,2 +0,0 @@
-EXPORTS
-Test
diff --git a/winsup/mingw/samples/simpledll/exe.c b/winsup/mingw/samples/simpledll/exe.c
deleted file mode 100644
index af5bb41df..000000000
--- a/winsup/mingw/samples/simpledll/exe.c
+++ /dev/null
@@ -1,13 +0,0 @@
-#include <stdio.h>
-
-extern void Test();
-
-int main()
-{
- printf ("Program started.\n");
- Test ();
- printf ("Program ends.\n");
-
- return 0;
-}
-
diff --git a/winsup/mingw/samples/simpledll/jamfile b/winsup/mingw/samples/simpledll/jamfile
deleted file mode 100644
index d1e2591be..000000000
--- a/winsup/mingw/samples/simpledll/jamfile
+++ /dev/null
@@ -1,14 +0,0 @@
-
-Dll dll.dll : dll.c ;
-
-ImportLib libdll.a : dll.def ;
-
-
-Main exe.exe : exe.c ;
-
-LinkLibraries exe.exe : libdll.a ;
-
-DEPENDS exe.exe : dll.dll ;
-
-LINKFLAGS on exe.exe = $(LINKFLAGS) -L. ;
-
diff --git a/winsup/mingw/samples/simpledll/makedll.bat b/winsup/mingw/samples/simpledll/makedll.bat
deleted file mode 100644
index c7f9b2ae8..000000000
--- a/winsup/mingw/samples/simpledll/makedll.bat
+++ /dev/null
@@ -1,23 +0,0 @@
-rem *** Create the import library for the dll ***
-dlltool --dllname dll.dll --def dll.def --output-lib libdll.a
-
-rem *** Compile the dll ***
-gcc -c -o dll.o dll.c
-
-rem *** Link the dll ***
-gcc -s -mdll -o dll.dll -Wl,--base-file,dll.b dll.o
-dlltool --dllname dll.dll --base-file dll.b --output-exp dll.e --def dll.def
-gcc -s -mdll -o dll.dll -Wl,--base-file,dll.b dll.o -Wl,dll.e
-dlltool --dllname dll.dll --base-file dll.b --output-exp dll.e --def dll.def
-gcc -s -mdll -o dll.dll dll.o -Wl,dll.e
-
-rem *** Delete temporary files from dll linking ***
-del dll.b
-del dll.e
-
-rem *** Compile exe, which uses dll. ***
-gcc -c -o exe.o exe.c
-
-rem *** Link exe.exe, which uses dll.dll ***
-gcc -s -L. -o exe.exe exe.o libdll.a
-
diff --git a/winsup/mingw/samples/test/jamfile b/winsup/mingw/samples/test/jamfile
deleted file mode 100644
index 2fc7b84af..000000000
--- a/winsup/mingw/samples/test/jamfile
+++ /dev/null
@@ -1,9 +0,0 @@
-#
-# A very simple example with which you can test your compiler/jam setup.
-# Also an interesting example of a hybrid console/GUI application.
-#
-
-Main test.exe : test.c ;
-
-GuiLibs test.exe ;
-
diff --git a/winsup/mingw/samples/test/test.c b/winsup/mingw/samples/test/test.c
deleted file mode 100644
index 82ca6b0fc..000000000
--- a/winsup/mingw/samples/test/test.c
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * This source code is in the PUBLIC DOMAIN and has NO WARRANTY.
- *
- * Colin Peters <colin@bird.fu.is.saga-u.ac.jp>, April 15, 1997.
- */
-
-#include <windows.h>
-#include <stdio.h>
-
-int STDCALL
-WinMain (HINSTANCE hInst, HINSTANCE hPrev, LPSTR lpCmd, int nShow)
-{
- char text[80];
-
- printf ("Enter message box text:");
- fgets(text, 80, stdin);
- MessageBox (NULL, text, "Test", MB_OK);
- printf ("\nHello after message box.\n");
- return 0;
-}
diff --git a/winsup/mingw/samples/wintest/jamfile b/winsup/mingw/samples/wintest/jamfile
deleted file mode 100644
index b2f783118..000000000
--- a/winsup/mingw/samples/wintest/jamfile
+++ /dev/null
@@ -1,8 +0,0 @@
-#
-# A example of Win32 GUI programming in C.
-#
-
-Main test.exe : test.c ;
-
-Gui test.exe ;
-
diff --git a/winsup/mingw/samples/wintest/test.c b/winsup/mingw/samples/wintest/test.c
deleted file mode 100644
index 056888ffc..000000000
--- a/winsup/mingw/samples/wintest/test.c
+++ /dev/null
@@ -1,212 +0,0 @@
-/*
- * A basic example of Win32 programming in C.
- *
- * This source code is in the PUBLIC DOMAIN and has NO WARRANTY.
- *
- * Colin Peters <colin@bird.fu.is.saga-u.ac.jp>
- */
-
-#include <windows.h>
-#include <string.h>
-
-/*
- * This is the window function for the main window. Whenever a message is
- * dispatched using DispatchMessage (or sent with SendMessage) this function
- * gets called with the contents of the message.
- */
-LRESULT CALLBACK
-MainWndProc (HWND hwnd, UINT nMsg, WPARAM wParam, LPARAM lParam)
-{
- /* The window handle for the "Click Me" button. */
- static HWND hwndButton = 0;
- static int cx, cy; /* Height and width of our button. */
-
- HDC hdc; /* A device context used for drawing */
- PAINTSTRUCT ps; /* Also used during window drawing */
- RECT rc; /* A rectangle used during drawing */
-
- /*
- * Perform processing based on what kind of message we got.
- */
- switch (nMsg)
- {
- case WM_CREATE:
- {
- /* The window is being created. Create our button
- * window now. */
- TEXTMETRIC tm;
-
- /* First we use the system fixed font size to choose
- * a nice button size. */
- hdc = GetDC (hwnd);
- SelectObject (hdc, GetStockObject (SYSTEM_FIXED_FONT));
- GetTextMetrics (hdc, &tm);
- cx = tm.tmAveCharWidth * 30;
- cy = (tm.tmHeight + tm.tmExternalLeading) * 2;
- ReleaseDC (hwnd, hdc);
-
- /* Now create the button */
- hwndButton = CreateWindow (
- "button", /* Builtin button class */
- "Click Here",
- WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON,
- 0, 0, cx, cy,
- hwnd, /* Parent is this window. */
- (HMENU) 1, /* Control ID: 1 */
- ((LPCREATESTRUCT) lParam)->hInstance,
- NULL
- );
-
- return 0;
- break;
- }
-
- case WM_DESTROY:
- /* The window is being destroyed, close the application
- * (the child button gets destroyed automatically). */
- PostQuitMessage (0);
- return 0;
- break;
-
- case WM_PAINT:
- /* The window needs to be painted (redrawn). */
- hdc = BeginPaint (hwnd, &ps);
- GetClientRect (hwnd, &rc);
-
- /* Draw "Hello, World" in the middle of the upper
- * half of the window. */
- rc.bottom = rc.bottom / 2;
- DrawText (hdc, "Hello, World", -1, &rc,
- DT_SINGLELINE | DT_CENTER | DT_VCENTER);
-
- EndPaint (hwnd, &ps);
- return 0;
- break;
-
- case WM_SIZE:
- /* The window size is changing. If the button exists
- * then place it in the center of the bottom half of
- * the window. */
- if (hwndButton &&
- (wParam == SIZEFULLSCREEN ||
- wParam == SIZENORMAL)
- )
- {
- rc.left = (LOWORD(lParam) - cx) / 2;
- rc.top = HIWORD(lParam) * 3 / 4 - cy / 2;
- MoveWindow (
- hwndButton,
- rc.left, rc.top, cx, cy, TRUE);
- }
- break;
-
- case WM_COMMAND:
- /* Check the control ID, notification code and
- * control handle to see if this is a button click
- * message from our child button. */
- if (LOWORD(wParam) == 1 &&
- HIWORD(wParam) == BN_CLICKED &&
- (HWND) lParam == hwndButton)
- {
- /* Our button was clicked. Close the window. */
- DestroyWindow (hwnd);
- }
- return 0;
- break;
- }
-
- /* If we don't handle a message completely we hand it to the system
- * provided default window function. */
- return DefWindowProc (hwnd, nMsg, wParam, lParam);
-}
-
-
-int STDCALL
-WinMain (HINSTANCE hInst, HINSTANCE hPrev, LPSTR lpCmd, int nShow)
-{
- HWND hwndMain; /* Handle for the main window. */
- MSG msg; /* A Win32 message structure. */
- WNDCLASSEX wndclass; /* A window class structure. */
- char* szMainWndClass = "WinTestWin";
- /* The name of the main window class */
-
- /*
- * First we create a window class for our main window.
- */
-
- /* Initialize the entire structure to zero. */
- memset (&wndclass, 0, sizeof(WNDCLASSEX));
-
- /* This class is called WinTestWin */
- wndclass.lpszClassName = szMainWndClass;
-
- /* cbSize gives the size of the structure for extensibility. */
- wndclass.cbSize = sizeof(WNDCLASSEX);
-
- /* All windows of this class redraw when resized. */
- wndclass.style = CS_HREDRAW | CS_VREDRAW;
-
- /* All windows of this class use the MainWndProc window function. */
- wndclass.lpfnWndProc = MainWndProc;
-
- /* This class is used with the current program instance. */
- wndclass.hInstance = hInst;
-
- /* Use standard application icon and arrow cursor provided by the OS */
- wndclass.hIcon = LoadIcon (NULL, IDI_APPLICATION);
- wndclass.hIconSm = LoadIcon (NULL, IDI_APPLICATION);
- wndclass.hCursor = LoadCursor (NULL, IDC_ARROW);
-
- /* Color the background white */
- wndclass.hbrBackground = (HBRUSH) GetStockObject (WHITE_BRUSH);
-
- /*
- * Now register the window class for use.
- */
- RegisterClassEx (&wndclass);
-
- /*
- * Create our main window using that window class.
- */
- hwndMain = CreateWindow (
- szMainWndClass, /* Class name */
- "Hello", /* Caption */
- WS_OVERLAPPEDWINDOW, /* Style */
- CW_USEDEFAULT, /* Initial x (use default) */
- CW_USEDEFAULT, /* Initial y (use default) */
- CW_USEDEFAULT, /* Initial x size (use default) */
- CW_USEDEFAULT, /* Initial y size (use default) */
- NULL, /* No parent window */
- NULL, /* No menu */
- hInst, /* This program instance */
- NULL /* Creation parameters */
- );
-
- /*
- * Display the window which we just created (using the nShow
- * passed by the OS, which allows for start minimized and that
- * sort of thing).
- */
- ShowWindow (hwndMain, nShow);
- UpdateWindow (hwndMain);
-
- /*
- * The main message loop. All messages being sent to the windows
- * of the application (or at least the primary thread) are retrieved
- * by the GetMessage call, then translated (mainly for keyboard
- * messages) and dispatched to the appropriate window procedure.
- * This is the simplest kind of message loop. More complex loops
- * are required for idle processing or handling modeless dialog
- * boxes. When one of the windows calls PostQuitMessage GetMessage
- * will return zero and the wParam of the message will be filled
- * with the argument to PostQuitMessage. The loop will end and
- * the application will close.
- */
- while (GetMessage (&msg, NULL, 0, 0))
- {
- TranslateMessage (&msg);
- DispatchMessage (&msg);
- }
- return msg.wParam;
-}
-
diff --git a/winsup/mingw/strcasecmp.c b/winsup/mingw/strcasecmp.c
deleted file mode 100644
index a238e22f2..000000000
--- a/winsup/mingw/strcasecmp.c
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
- * strcasecmp.c
- * This file has no copyright assigned and is placed in the Public Domain.
- * This file is a part of the mingw-runtime package.
- * No warranty is given; refer to the file DISCLAIMER within the package.
- *
- * Oldnames from ANSI header string.h
- *
- * Some wrapper functions for those old name functions whose appropriate
- * equivalents are not simply underscore prefixed.
- *
- */
-
-#include <string.h>
-
-int
-strcasecmp (const char *sz1, const char *sz2)
-{
- return _stricmp (sz1, sz2);
-}
-
diff --git a/winsup/mingw/strncasecmp.c b/winsup/mingw/strncasecmp.c
deleted file mode 100644
index 7607ea1d0..000000000
--- a/winsup/mingw/strncasecmp.c
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
- * strncasecmp.c
- * This file has no copyright assigned and is placed in the Public Domain.
- * This file is a part of the mingw-runtime package.
- * No warranty is given; refer to the file DISCLAIMER within the package.
- *
- * Oldnames from ANSI header string.h
- *
- * Some wrapper functions for those old name functions whose appropriate
- * equivalents are not simply underscore prefixed.
- *
- */
-
-#include <string.h>
-
-int
-strncasecmp (const char *sz1, const char *sz2, size_t sizeMaxCompare)
-{
- return _strnicmp (sz1, sz2, sizeMaxCompare);
-}
-
diff --git a/winsup/mingw/test_headers.c b/winsup/mingw/test_headers.c
deleted file mode 100644
index 62402a6f0..000000000
--- a/winsup/mingw/test_headers.c
+++ /dev/null
@@ -1,54 +0,0 @@
-#include <_mingw.h>
-#include <assert.h>
-#include <conio.h>
-#include <ctype.h>
-#include <dir.h>
-#include <direct.h>
-#include <dirent.h>
-#include <dos.h>
-#include <errno.h>
-#include <excpt.h>
-#include <fcntl.h>
-#include <fenv.h>
-#include <float.h>
-#include <inttypes.h>
-#include <io.h>
-#include <limits.h>
-#include <locale.h>
-#include <malloc.h>
-#include <math.h>
-#include <mbctype.h>
-#include <mbstring.h>
-#include <mem.h>
-#include <memory.h>
-#include <process.h>
-#include <search.h>
-#include <setjmp.h>
-#include <share.h>
-#include <signal.h>
-#include <stdarg.h>
-#include <stddef.h>
-#include <stdint.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <strings.h>
-#include <tchar.h>
-#include <time.h>
-#include <unistd.h>
-#include <values.h>
-#include <wchar.h>
-#include <wctype.h>
-#include <sys/fcntl.h>
-#include <sys/file.h>
-#include <sys/locking.h>
-#include <sys/param.h>
-#include <sys/stat.h>
-#include <sys/time.h>
-#include <sys/timeb.h>
-#include <sys/types.h>
-#include <sys/unistd.h>
-#include <sys/utime.h>
-
-int main()
-{return 0;}
diff --git a/winsup/mingw/toascii.c b/winsup/mingw/toascii.c
deleted file mode 100644
index be9f2f50b..000000000
--- a/winsup/mingw/toascii.c
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- * toascii.c
- * This file has no copyright assigned and is placed in the Public Domain.
- * This file is a part of the mingw-runtime package.
- * No warranty is given; refer to the file DISCLAIMER within the package.
- *
- * Oldnames from ANSI header ctype.h
- *
- * Some wrapper functions for those old name functions whose appropriate
- * equivalents are not simply underscore prefixed.
- *
- */
-
-#include <ctype.h>
-
-
-int
-toascii (int c)
-{
- return __toascii(c);
-}
-
diff --git a/winsup/mingw/txtmode.c b/winsup/mingw/txtmode.c
deleted file mode 100644
index 077174697..000000000
--- a/winsup/mingw/txtmode.c
+++ /dev/null
@@ -1,7 +0,0 @@
-#include <fcntl.h>
-
-/* Set default file mode to text */
-
-/* Is this correct? Default value of _fmode in msvcrt.dll is 0. */
-
-int _fmode = _O_TEXT;
diff --git a/winsup/mingw/wcscmpi.c b/winsup/mingw/wcscmpi.c
deleted file mode 100644
index 497964b39..000000000
--- a/winsup/mingw/wcscmpi.c
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
- * wcscmpi.c
- * This file has no copyright assigned and is placed in the Public Domain.
- * This file is a part of the mingw-runtime package.
- * No warranty is given; refer to the file DISCLAIMER within the package.
- *
- * Oldnames from ANSI header string.h
- *
- * Some wrapper functions for those old name functions whose appropriate
- * equivalents are not simply underscore prefixed.
- *
- */
-
-#include <string.h>
-
-int
-wcscmpi (const wchar_t * ws1, const wchar_t * ws2)
-{
- return _wcsicmp (ws1, ws2);
-}
-
diff --git a/winsup/subauth/ChangeLog b/winsup/subauth/ChangeLog
deleted file mode 100644
index 385d6cc11..000000000
--- a/winsup/subauth/ChangeLog
+++ /dev/null
@@ -1,21 +0,0 @@
-2001-10-12 Christopher Faylor <cgf@redhat.com>
-
- * Makefile.in: Comment out install for now.
-
-2001-10-12 Christopher Faylor <cgf@redhat.com>
-
- * Makefile.in: Accomodate changes to w32api_include macro.
-
-Sun May 20 00:24:36 2001 Christopher Faylor <cgf@cygnus.com>
-
- * Makefile.in: Use 'rm -f' when cleaning.
-
-Fri May 4 15:06:00 Corinna Vinschen <corinna@vinschen.de>
-
- Initial release of the Cygwin subauthentication DLL.
- * ChangeLog: New file.
- * Makefile.in: Ditto.
- * configure: Ditto. Generated from configure.in.
- * configure.in: Ditto.
- * cygsuba.c: Ditto.
- * cygsuba.din: Ditto.
diff --git a/winsup/subauth/Makefile.in b/winsup/subauth/Makefile.in
deleted file mode 100644
index ae64de496..000000000
--- a/winsup/subauth/Makefile.in
+++ /dev/null
@@ -1,89 +0,0 @@
-# Copyright (c) 2001, Red Hat, Inc.
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# A copy of the GNU General Public License can be found at
-# http://www.gnu.org/
-#
-# Written by Corinna Vinschen <vinschen@redhat.de>
-#
-# Makefile for Cygwin subauthentication DLL.
-
-SHELL := @SHELL@
-
-srcdir := @srcdir@
-VPATH := @srcdir@
-prefix := @prefix@
-exec_prefix := @exec_prefix@
-
-bindir := @bindir@
-etcdir := $(exec_prefix)/etc
-
-program_transform_name := @program_transform_name@
-
-INSTALL := @INSTALL@
-INSTALL_PROGRAM := @INSTALL_PROGRAM@
-INSTALL_DATA := @INSTALL_DATA@
-
-CC := @CC@
-CC_FOR_TARGET := $(CC)
-
-CFLAGS := @CFLAGS@ -nostdinc
-
-include $(srcdir)/../Makefile.common
-
-WIN32_COMMON := -mno-cygwin
-WIN32_INCLUDES := -I. -I$(srcdir) $(w32api_include)
-WIN32_CFLAGS := $(CFLAGS) $(WIN32_COMMON) $(WIN32_INCLUDES)
-WIN32_LDFLAGS := $(CFLAGS) $(WIN32_COMMON) -L$(mingw_build) -nostdlib -Wl,-shared
-
-STARTFILE := $(mingw_build)/dllcrt2.o
-LIBS := -lmingw32 -lkernel32
-
-DLL := cygsuba.dll
-DEF_FILE:= cygsuba.def
-
-OBJ = cygsuba.o
-
-.SUFFIXES:
-.NOEXPORT:
-
-all: Makefile $(DLL)
-
-$(DEF_FILE): cygsuba.din config.status
- $(SHELL) config.status
-
-$(DLL): $(OBJ) $(DEF_FILE)
-ifdef VERBOSE
- $(CC) -s $(WIN32_LDFLAGS) -o $@ $(DEF_FILE) $(STARTFILE) $(OBJ) $(LIBS)
-else
- @echo $(CC) .. -o $@ $(OBJ)
- @$(CC) -s $(WIN32_LDFLAGS) -o $@ $(DEF_FILE) $(STARTFILE) $(OBJ) $(LIBS)
-endif
-
-.PHONY: all install clean realclean
-
-realclean: clean
- rm -f Makefile config.cache
-
-clean:
- rm -f *.o *.dll
-
-install: all
- # $(SHELL) $(updir1)/mkinstalldirs $(bindir)
- # for i in $(PROGS) ; do \
- # n=`echo $$i | sed '$(program_transform_name)'`; \
- # $(INSTALL_PROGRAM) $$i $(bindir)/$$n; \
- # done || exit 0
-
-%.o: %.c
-ifdef VERBOSE
- $(CC) $(WIN32_CFLAGS) -c -o $@ $<
-else
- @echo $(CC) -c $(CFLAGS) ... $(<F)
- @$(CC) $(WIN32_CFLAGS) -c -o $@ $<
-endif
-
diff --git a/winsup/subauth/configure b/winsup/subauth/configure
deleted file mode 100755
index 1c3c9cc2f..000000000
--- a/winsup/subauth/configure
+++ /dev/null
@@ -1,1253 +0,0 @@
-#! /bin/sh
-
-# Guess values for system-dependent variables and create Makefiles.
-# Generated automatically using autoconf version 2.13
-# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
-#
-# This configure script is free software; the Free Software Foundation
-# gives unlimited permission to copy, distribute and modify it.
-
-# Defaults:
-ac_help=
-ac_default_prefix=/usr/local
-# Any additions from configure.in:
-
-# Initialize some variables set by options.
-# The variables have the same names as the options, with
-# dashes changed to underlines.
-build=NONE
-cache_file=./config.cache
-exec_prefix=NONE
-host=NONE
-no_create=
-nonopt=NONE
-no_recursion=
-prefix=NONE
-program_prefix=NONE
-program_suffix=NONE
-program_transform_name=s,x,x,
-silent=
-site=
-srcdir=
-target=NONE
-verbose=
-x_includes=NONE
-x_libraries=NONE
-bindir='${exec_prefix}/bin'
-sbindir='${exec_prefix}/sbin'
-libexecdir='${exec_prefix}/libexec'
-datadir='${prefix}/share'
-sysconfdir='${prefix}/etc'
-sharedstatedir='${prefix}/com'
-localstatedir='${prefix}/var'
-libdir='${exec_prefix}/lib'
-includedir='${prefix}/include'
-oldincludedir='/usr/include'
-infodir='${prefix}/info'
-mandir='${prefix}/man'
-
-# Initialize some other variables.
-subdirs=
-MFLAGS= MAKEFLAGS=
-SHELL=${CONFIG_SHELL-/bin/sh}
-# Maximum number of lines to put in a shell here document.
-ac_max_here_lines=12
-
-ac_prev=
-for ac_option
-do
-
- # If the previous option needs an argument, assign it.
- if test -n "$ac_prev"; then
- eval "$ac_prev=\$ac_option"
- ac_prev=
- continue
- fi
-
- case "$ac_option" in
- -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
- *) ac_optarg= ;;
- esac
-
- # Accept the important Cygnus configure options, so we can diagnose typos.
-
- case "$ac_option" in
-
- -bindir | --bindir | --bindi | --bind | --bin | --bi)
- ac_prev=bindir ;;
- -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
- bindir="$ac_optarg" ;;
-
- -build | --build | --buil | --bui | --bu)
- ac_prev=build ;;
- -build=* | --build=* | --buil=* | --bui=* | --bu=*)
- build="$ac_optarg" ;;
-
- -cache-file | --cache-file | --cache-fil | --cache-fi \
- | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
- ac_prev=cache_file ;;
- -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
- | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
- cache_file="$ac_optarg" ;;
-
- -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
- ac_prev=datadir ;;
- -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
- | --da=*)
- datadir="$ac_optarg" ;;
-
- -disable-* | --disable-*)
- ac_feature=`echo $ac_option|sed -e 's/-*disable-//'`
- # Reject names that are not valid shell variable names.
- if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then
- { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
- fi
- ac_feature=`echo $ac_feature| sed 's/-/_/g'`
- eval "enable_${ac_feature}=no" ;;
-
- -enable-* | --enable-*)
- ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'`
- # Reject names that are not valid shell variable names.
- if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then
- { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
- fi
- ac_feature=`echo $ac_feature| sed 's/-/_/g'`
- case "$ac_option" in
- *=*) ;;
- *) ac_optarg=yes ;;
- esac
- eval "enable_${ac_feature}='$ac_optarg'" ;;
-
- -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
- | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
- | --exec | --exe | --ex)
- ac_prev=exec_prefix ;;
- -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
- | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
- | --exec=* | --exe=* | --ex=*)
- exec_prefix="$ac_optarg" ;;
-
- -gas | --gas | --ga | --g)
- # Obsolete; use --with-gas.
- with_gas=yes ;;
-
- -help | --help | --hel | --he)
- # Omit some internal or obsolete options to make the list less imposing.
- # This message is too long to be a string in the A/UX 3.1 sh.
- cat << EOF
-Usage: configure [options] [host]
-Options: [defaults in brackets after descriptions]
-Configuration:
- --cache-file=FILE cache test results in FILE
- --help print this message
- --no-create do not create output files
- --quiet, --silent do not print \`checking...' messages
- --version print the version of autoconf that created configure
-Directory and file names:
- --prefix=PREFIX install architecture-independent files in PREFIX
- [$ac_default_prefix]
- --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
- [same as prefix]
- --bindir=DIR user executables in DIR [EPREFIX/bin]
- --sbindir=DIR system admin executables in DIR [EPREFIX/sbin]
- --libexecdir=DIR program executables in DIR [EPREFIX/libexec]
- --datadir=DIR read-only architecture-independent data in DIR
- [PREFIX/share]
- --sysconfdir=DIR read-only single-machine data in DIR [PREFIX/etc]
- --sharedstatedir=DIR modifiable architecture-independent data in DIR
- [PREFIX/com]
- --localstatedir=DIR modifiable single-machine data in DIR [PREFIX/var]
- --libdir=DIR object code libraries in DIR [EPREFIX/lib]
- --includedir=DIR C header files in DIR [PREFIX/include]
- --oldincludedir=DIR C header files for non-gcc in DIR [/usr/include]
- --infodir=DIR info documentation in DIR [PREFIX/info]
- --mandir=DIR man documentation in DIR [PREFIX/man]
- --srcdir=DIR find the sources in DIR [configure dir or ..]
- --program-prefix=PREFIX prepend PREFIX to installed program names
- --program-suffix=SUFFIX append SUFFIX to installed program names
- --program-transform-name=PROGRAM
- run sed PROGRAM on installed program names
-EOF
- cat << EOF
-Host type:
- --build=BUILD configure for building on BUILD [BUILD=HOST]
- --host=HOST configure for HOST [guessed]
- --target=TARGET configure for TARGET [TARGET=HOST]
-Features and packages:
- --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
- --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
- --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
- --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
- --x-includes=DIR X include files are in DIR
- --x-libraries=DIR X library files are in DIR
-EOF
- if test -n "$ac_help"; then
- echo "--enable and --with options recognized:$ac_help"
- fi
- exit 0 ;;
-
- -host | --host | --hos | --ho)
- ac_prev=host ;;
- -host=* | --host=* | --hos=* | --ho=*)
- host="$ac_optarg" ;;
-
- -includedir | --includedir | --includedi | --included | --include \
- | --includ | --inclu | --incl | --inc)
- ac_prev=includedir ;;
- -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
- | --includ=* | --inclu=* | --incl=* | --inc=*)
- includedir="$ac_optarg" ;;
-
- -infodir | --infodir | --infodi | --infod | --info | --inf)
- ac_prev=infodir ;;
- -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
- infodir="$ac_optarg" ;;
-
- -libdir | --libdir | --libdi | --libd)
- ac_prev=libdir ;;
- -libdir=* | --libdir=* | --libdi=* | --libd=*)
- libdir="$ac_optarg" ;;
-
- -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
- | --libexe | --libex | --libe)
- ac_prev=libexecdir ;;
- -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
- | --libexe=* | --libex=* | --libe=*)
- libexecdir="$ac_optarg" ;;
-
- -localstatedir | --localstatedir | --localstatedi | --localstated \
- | --localstate | --localstat | --localsta | --localst \
- | --locals | --local | --loca | --loc | --lo)
- ac_prev=localstatedir ;;
- -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
- | --localstate=* | --localstat=* | --localsta=* | --localst=* \
- | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
- localstatedir="$ac_optarg" ;;
-
- -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
- ac_prev=mandir ;;
- -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
- mandir="$ac_optarg" ;;
-
- -nfp | --nfp | --nf)
- # Obsolete; use --without-fp.
- with_fp=no ;;
-
- -no-create | --no-create | --no-creat | --no-crea | --no-cre \
- | --no-cr | --no-c)
- no_create=yes ;;
-
- -no-recursion | --no-recursion | --no-recursio | --no-recursi \
- | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
- no_recursion=yes ;;
-
- -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
- | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
- | --oldin | --oldi | --old | --ol | --o)
- ac_prev=oldincludedir ;;
- -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
- | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
- | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
- oldincludedir="$ac_optarg" ;;
-
- -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
- ac_prev=prefix ;;
- -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
- prefix="$ac_optarg" ;;
-
- -program-prefix | --program-prefix | --program-prefi | --program-pref \
- | --program-pre | --program-pr | --program-p)
- ac_prev=program_prefix ;;
- -program-prefix=* | --program-prefix=* | --program-prefi=* \
- | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
- program_prefix="$ac_optarg" ;;
-
- -program-suffix | --program-suffix | --program-suffi | --program-suff \
- | --program-suf | --program-su | --program-s)
- ac_prev=program_suffix ;;
- -program-suffix=* | --program-suffix=* | --program-suffi=* \
- | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
- program_suffix="$ac_optarg" ;;
-
- -program-transform-name | --program-transform-name \
- | --program-transform-nam | --program-transform-na \
- | --program-transform-n | --program-transform- \
- | --program-transform | --program-transfor \
- | --program-transfo | --program-transf \
- | --program-trans | --program-tran \
- | --progr-tra | --program-tr | --program-t)
- ac_prev=program_transform_name ;;
- -program-transform-name=* | --program-transform-name=* \
- | --program-transform-nam=* | --program-transform-na=* \
- | --program-transform-n=* | --program-transform-=* \
- | --program-transform=* | --program-transfor=* \
- | --program-transfo=* | --program-transf=* \
- | --program-trans=* | --program-tran=* \
- | --progr-tra=* | --program-tr=* | --program-t=*)
- program_transform_name="$ac_optarg" ;;
-
- -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- | -silent | --silent | --silen | --sile | --sil)
- silent=yes ;;
-
- -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
- ac_prev=sbindir ;;
- -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
- | --sbi=* | --sb=*)
- sbindir="$ac_optarg" ;;
-
- -sharedstatedir | --sharedstatedir | --sharedstatedi \
- | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
- | --sharedst | --shareds | --shared | --share | --shar \
- | --sha | --sh)
- ac_prev=sharedstatedir ;;
- -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
- | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
- | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
- | --sha=* | --sh=*)
- sharedstatedir="$ac_optarg" ;;
-
- -site | --site | --sit)
- ac_prev=site ;;
- -site=* | --site=* | --sit=*)
- site="$ac_optarg" ;;
-
- -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
- ac_prev=srcdir ;;
- -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
- srcdir="$ac_optarg" ;;
-
- -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
- | --syscon | --sysco | --sysc | --sys | --sy)
- ac_prev=sysconfdir ;;
- -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
- | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
- sysconfdir="$ac_optarg" ;;
-
- -target | --target | --targe | --targ | --tar | --ta | --t)
- ac_prev=target ;;
- -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
- target="$ac_optarg" ;;
-
- -v | -verbose | --verbose | --verbos | --verbo | --verb)
- verbose=yes ;;
-
- -version | --version | --versio | --versi | --vers)
- echo "configure generated by autoconf version 2.13"
- exit 0 ;;
-
- -with-* | --with-*)
- ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'`
- # Reject names that are not valid shell variable names.
- if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then
- { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
- fi
- ac_package=`echo $ac_package| sed 's/-/_/g'`
- case "$ac_option" in
- *=*) ;;
- *) ac_optarg=yes ;;
- esac
- eval "with_${ac_package}='$ac_optarg'" ;;
-
- -without-* | --without-*)
- ac_package=`echo $ac_option|sed -e 's/-*without-//'`
- # Reject names that are not valid shell variable names.
- if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then
- { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
- fi
- ac_package=`echo $ac_package| sed 's/-/_/g'`
- eval "with_${ac_package}=no" ;;
-
- --x)
- # Obsolete; use --with-x.
- with_x=yes ;;
-
- -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
- | --x-incl | --x-inc | --x-in | --x-i)
- ac_prev=x_includes ;;
- -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
- | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
- x_includes="$ac_optarg" ;;
-
- -x-libraries | --x-libraries | --x-librarie | --x-librari \
- | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
- ac_prev=x_libraries ;;
- -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
- | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
- x_libraries="$ac_optarg" ;;
-
- -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; }
- ;;
-
- *)
- if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then
- echo "configure: warning: $ac_option: invalid host type" 1>&2
- fi
- if test "x$nonopt" != xNONE; then
- { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; }
- fi
- nonopt="$ac_option"
- ;;
-
- esac
-done
-
-if test -n "$ac_prev"; then
- { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; }
-fi
-
-trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
-
-# File descriptor usage:
-# 0 standard input
-# 1 file creation
-# 2 errors and warnings
-# 3 some systems may open it to /dev/tty
-# 4 used on the Kubota Titan
-# 6 checking for... messages and results
-# 5 compiler messages saved in config.log
-if test "$silent" = yes; then
- exec 6>/dev/null
-else
- exec 6>&1
-fi
-exec 5>./config.log
-
-echo "\
-This file contains any messages produced by compilers while
-running configure, to aid debugging if configure makes a mistake.
-" 1>&5
-
-# Strip out --no-create and --no-recursion so they do not pile up.
-# Also quote any args containing shell metacharacters.
-ac_configure_args=
-for ac_arg
-do
- case "$ac_arg" in
- -no-create | --no-create | --no-creat | --no-crea | --no-cre \
- | --no-cr | --no-c) ;;
- -no-recursion | --no-recursion | --no-recursio | --no-recursi \
- | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;;
- *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*)
- ac_configure_args="$ac_configure_args '$ac_arg'" ;;
- *) ac_configure_args="$ac_configure_args $ac_arg" ;;
- esac
-done
-
-# NLS nuisances.
-# Only set these to C if already set. These must not be set unconditionally
-# because not all systems understand e.g. LANG=C (notably SCO).
-# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'!
-# Non-C LC_CTYPE values break the ctype check.
-if test "${LANG+set}" = set; then LANG=C; export LANG; fi
-if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
-if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi
-if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi
-
-# confdefs.h avoids OS command line length limits that DEFS can exceed.
-rm -rf conftest* confdefs.h
-# AIX cpp loses on an empty file, so make sure it contains at least a newline.
-echo > confdefs.h
-
-# A filename unique to this package, relative to the directory that
-# configure is in, which we can look for to find out if srcdir is correct.
-ac_unique_file=Makefile.in
-
-# Find the source files, if location was not specified.
-if test -z "$srcdir"; then
- ac_srcdir_defaulted=yes
- # Try the directory containing this script, then its parent.
- ac_prog=$0
- ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'`
- test "x$ac_confdir" = "x$ac_prog" && ac_confdir=.
- srcdir=$ac_confdir
- if test ! -r $srcdir/$ac_unique_file; then
- srcdir=..
- fi
-else
- ac_srcdir_defaulted=no
-fi
-if test ! -r $srcdir/$ac_unique_file; then
- if test "$ac_srcdir_defaulted" = yes; then
- { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; }
- else
- { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; }
- fi
-fi
-srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'`
-
-# Prefer explicitly selected file to automatically selected ones.
-if test -z "$CONFIG_SITE"; then
- if test "x$prefix" != xNONE; then
- CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
- else
- CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
- fi
-fi
-for ac_site_file in $CONFIG_SITE; do
- if test -r "$ac_site_file"; then
- echo "loading site script $ac_site_file"
- . "$ac_site_file"
- fi
-done
-
-if test -r "$cache_file"; then
- echo "loading cache $cache_file"
- . $cache_file
-else
- echo "creating cache $cache_file"
- > $cache_file
-fi
-
-ac_ext=c
-# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
-ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
-cross_compiling=$ac_cv_prog_cc_cross
-
-ac_exeext=
-ac_objext=o
-if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
- # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
- if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
- ac_n= ac_c='
-' ac_t=' '
- else
- ac_n=-n ac_c= ac_t=
- fi
-else
- ac_n= ac_c='\c' ac_t=
-fi
-
-
-
-
-
-
-
-
-ac_aux_dir=
-for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do
- if test -f $ac_dir/install-sh; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/install-sh -c"
- break
- elif test -f $ac_dir/install.sh; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/install.sh -c"
- break
- fi
-done
-if test -z "$ac_aux_dir"; then
- { echo "configure: error: can not find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." 1>&2; exit 1; }
-fi
-ac_config_guess=$ac_aux_dir/config.guess
-ac_config_sub=$ac_aux_dir/config.sub
-ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
-
-
-# Do some error checking and defaulting for the host and target type.
-# The inputs are:
-# configure --host=HOST --target=TARGET --build=BUILD NONOPT
-#
-# The rules are:
-# 1. You are not allowed to specify --host, --target, and nonopt at the
-# same time.
-# 2. Host defaults to nonopt.
-# 3. If nonopt is not specified, then host defaults to the current host,
-# as determined by config.guess.
-# 4. Target and build default to nonopt.
-# 5. If nonopt is not specified, then target and build default to host.
-
-# The aliases save the names the user supplied, while $host etc.
-# will get canonicalized.
-case $host---$target---$nonopt in
-NONE---*---* | *---NONE---* | *---*---NONE) ;;
-*) { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; } ;;
-esac
-
-
-# Make sure we can run config.sub.
-if ${CONFIG_SHELL-/bin/sh} $ac_config_sub sun4 >/dev/null 2>&1; then :
-else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
-fi
-
-echo $ac_n "checking host system type""... $ac_c" 1>&6
-echo "configure:578: checking host system type" >&5
-
-host_alias=$host
-case "$host_alias" in
-NONE)
- case $nonopt in
- NONE)
- if host_alias=`${CONFIG_SHELL-/bin/sh} $ac_config_guess`; then :
- else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; }
- fi ;;
- *) host_alias=$nonopt ;;
- esac ;;
-esac
-
-host=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $host_alias`
-host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
-host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
-host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
-echo "$ac_t""$host" 1>&6
-
-echo $ac_n "checking target system type""... $ac_c" 1>&6
-echo "configure:599: checking target system type" >&5
-
-target_alias=$target
-case "$target_alias" in
-NONE)
- case $nonopt in
- NONE) target_alias=$host_alias ;;
- *) target_alias=$nonopt ;;
- esac ;;
-esac
-
-target=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $target_alias`
-target_cpu=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
-target_vendor=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
-target_os=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
-echo "$ac_t""$target" 1>&6
-
-echo $ac_n "checking build system type""... $ac_c" 1>&6
-echo "configure:617: checking build system type" >&5
-
-build_alias=$build
-case "$build_alias" in
-NONE)
- case $nonopt in
- NONE) build_alias=$host_alias ;;
- *) build_alias=$nonopt ;;
- esac ;;
-esac
-
-build=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $build_alias`
-build_cpu=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
-build_vendor=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
-build_os=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
-echo "$ac_t""$build" 1>&6
-
-test "$host_alias" != "$target_alias" &&
- test "$program_prefix$program_suffix$program_transform_name" = \
- NONENONEs,x,x, &&
- program_prefix=${target_alias}-
-
-
-# Extract the first word of "gcc", so it can be a program name with args.
-set dummy gcc; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:643: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
- ac_dummy="$PATH"
- for ac_dir in $ac_dummy; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- ac_cv_prog_CC="gcc"
- break
- fi
- done
- IFS="$ac_save_ifs"
-fi
-fi
-CC="$ac_cv_prog_CC"
-if test -n "$CC"; then
- echo "$ac_t""$CC" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
-if test -z "$CC"; then
- # Extract the first word of "cc", so it can be a program name with args.
-set dummy cc; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:673: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
- ac_prog_rejected=no
- ac_dummy="$PATH"
- for ac_dir in $ac_dummy; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then
- ac_prog_rejected=yes
- continue
- fi
- ac_cv_prog_CC="cc"
- break
- fi
- done
- IFS="$ac_save_ifs"
-if test $ac_prog_rejected = yes; then
- # We found a bogon in the path, so make sure we never use it.
- set dummy $ac_cv_prog_CC
- shift
- if test $# -gt 0; then
- # We chose a different compiler from the bogus one.
- # However, it has the same basename, so the bogon will be chosen
- # first if we set CC to just the basename; use the full file name.
- shift
- set dummy "$ac_dir/$ac_word" "$@"
- shift
- ac_cv_prog_CC="$@"
- fi
-fi
-fi
-fi
-CC="$ac_cv_prog_CC"
-if test -n "$CC"; then
- echo "$ac_t""$CC" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
- test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; }
-fi
-
-echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
-echo "configure:722: checking whether we are using GNU C" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.c <<EOF
-#ifdef __GNUC__
- yes;
-#endif
-EOF
-if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:731: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
- ac_cv_prog_gcc=yes
-else
- ac_cv_prog_gcc=no
-fi
-fi
-
-echo "$ac_t""$ac_cv_prog_gcc" 1>&6
-
-if test $ac_cv_prog_gcc = yes; then
- GCC=yes
- ac_test_CFLAGS="${CFLAGS+set}"
- ac_save_CFLAGS="$CFLAGS"
- CFLAGS=
- echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
-echo "configure:746: checking whether ${CC-cc} accepts -g" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- echo 'void f(){}' > conftest.c
-if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then
- ac_cv_prog_cc_g=yes
-else
- ac_cv_prog_cc_g=no
-fi
-rm -f conftest*
-
-fi
-
-echo "$ac_t""$ac_cv_prog_cc_g" 1>&6
- if test "$ac_test_CFLAGS" = set; then
- CFLAGS="$ac_save_CFLAGS"
- elif test $ac_cv_prog_cc_g = yes; then
- CFLAGS="-g -O2"
- else
- CFLAGS="-O2"
- fi
-else
- GCC=
- test "${CFLAGS+set}" = set || CFLAGS="-g"
-fi
-
-if test $host != $build; then
- ac_tool_prefix=${host_alias}-
-else
- ac_tool_prefix=
-fi
-
-# Extract the first word of "${ac_tool_prefix}g++", so it can be a program name with args.
-set dummy ${ac_tool_prefix}g++; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:782: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_CXX'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$CXX"; then
- ac_cv_prog_CXX="$CXX" # Let the user override the test.
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
- ac_dummy="$PATH"
- for ac_dir in $ac_dummy; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- ac_cv_prog_CXX="${ac_tool_prefix}g++"
- break
- fi
- done
- IFS="$ac_save_ifs"
-fi
-fi
-CXX="$ac_cv_prog_CXX"
-if test -n "$CXX"; then
- echo "$ac_t""$CXX" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
-
-if test -z "$ac_cv_prog_CXX"; then
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "g++", so it can be a program name with args.
-set dummy g++; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:814: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_CXX'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$CXX"; then
- ac_cv_prog_CXX="$CXX" # Let the user override the test.
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
- ac_dummy="$PATH"
- for ac_dir in $ac_dummy; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- ac_cv_prog_CXX="g++"
- break
- fi
- done
- IFS="$ac_save_ifs"
- test -z "$ac_cv_prog_CXX" && ac_cv_prog_CXX="g++"
-fi
-fi
-CXX="$ac_cv_prog_CXX"
-if test -n "$CXX"; then
- echo "$ac_t""$CXX" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
-else
- CXX="g++"
-fi
-fi
-
-if test -z "$CXX"; then
- # Extract the first word of "c++", so it can be a program name with args.
-set dummy c++; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:850: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_CXX'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$CXX"; then
- ac_cv_prog_CXX="$CXX" # Let the user override the test.
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
- ac_dummy="$PATH"
- for ac_dir in $ac_dummy; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- ac_cv_prog_CXX="c++"
- break
- fi
- done
- IFS="$ac_save_ifs"
-fi
-fi
-CXX="$ac_cv_prog_CXX"
-if test -n "$CXX"; then
- echo "$ac_t""$CXX" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
- test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; }
-fi
-
-CXXFLAGS='$(CFLAGS)'
-
-
-if test "$program_transform_name" = s,x,x,; then
- program_transform_name=
-else
- # Double any \ or $. echo might interpret backslashes.
- cat <<\EOF_SED > conftestsed
-s,\\,\\\\,g; s,\$,$$,g
-EOF_SED
- program_transform_name="`echo $program_transform_name|sed -f conftestsed`"
- rm -f conftestsed
-fi
-test "$program_prefix" != NONE &&
- program_transform_name="s,^,${program_prefix},; $program_transform_name"
-# Use a double $ so make ignores it.
-test "$program_suffix" != NONE &&
- program_transform_name="s,\$\$,${program_suffix},; $program_transform_name"
-
-# sed with no file args requires a program.
-test "$program_transform_name" = "" && program_transform_name="s,x,x,"
-
-
-if test "x$cross_compiling" = "xyes"; then
- if test "x$program_transform_name" = "xs,x,x,"; then
- program_transform_name=""
- fi
- if test "x$program_transform_name" = "x"; then
- program_transform_name="s,^,$host-,"
- else
- program_transform_name="$program_transform_name -e s,^,$host-,"
- fi
-fi
-
-# Find a good install program. We prefer a C program (faster),
-# so one script is as good as another. But avoid the broken or
-# incompatible versions:
-# SysV /etc/install, /usr/sbin/install
-# SunOS /usr/etc/install
-# IRIX /sbin/install
-# AIX /bin/install
-# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
-# AFS /usr/afsws/bin/install, which mishandles nonexistent args
-# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
-# ./install, which can be erroneously created by make from ./install.sh.
-echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
-echo "configure:925: checking for a BSD compatible install" >&5
-if test -z "$INSTALL"; then
-if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":"
- for ac_dir in $PATH; do
- # Account for people who put trailing slashes in PATH elements.
- case "$ac_dir/" in
- /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
- *)
- # OSF1 and SCO ODT 3.0 have their own names for install.
- # Don't use installbsd from OSF since it installs stuff as root
- # by default.
- for ac_prog in ginstall scoinst install; do
- if test -f $ac_dir/$ac_prog; then
- if test $ac_prog = install &&
- grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
- # AIX install. It has an incompatible calling convention.
- :
- else
- ac_cv_path_install="$ac_dir/$ac_prog -c"
- break 2
- fi
- fi
- done
- ;;
- esac
- done
- IFS="$ac_save_IFS"
-
-fi
- if test "${ac_cv_path_install+set}" = set; then
- INSTALL="$ac_cv_path_install"
- else
- # As a last resort, use the slow shell script. We don't cache a
- # path for INSTALL within a source directory, because that will
- # break other packages using the cache if that directory is
- # removed, or if the path is relative.
- INSTALL="$ac_install_sh"
- fi
-fi
-echo "$ac_t""$INSTALL" 1>&6
-
-# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
-# It thinks the first close brace ends the variable substitution.
-test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
-
-test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
-
-test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
-
-
-trap '' 1 2 15
-cat > confcache <<\EOF
-# This file is a shell script that caches the results of configure
-# tests run on this system so they can be shared between configure
-# scripts and configure runs. It is not useful on other systems.
-# If it contains results you don't want to keep, you may remove or edit it.
-#
-# By default, configure uses ./config.cache as the cache file,
-# creating it if it does not exist already. You can give configure
-# the --cache-file=FILE option to use a different cache file; that is
-# what configure does when it calls configure scripts in
-# subdirectories, so they share the cache.
-# Giving --cache-file=/dev/null disables caching, for debugging configure.
-# config.status only pays attention to the cache file if you give it the
-# --recheck option to rerun configure.
-#
-EOF
-# The following way of writing the cache mishandles newlines in values,
-# but we know of no workaround that is simple, portable, and efficient.
-# So, don't put newlines in cache variables' values.
-# Ultrix sh set writes to stderr and can't be redirected directly,
-# and sets the high bit in the cache file unless we assign to the vars.
-(set) 2>&1 |
- case `(ac_space=' '; set | grep ac_space) 2>&1` in
- *ac_space=\ *)
- # `set' does not quote correctly, so add quotes (double-quote substitution
- # turns \\\\ into \\, and sed turns \\ into \).
- sed -n \
- -e "s/'/'\\\\''/g" \
- -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p"
- ;;
- *)
- # `set' quotes correctly as required by POSIX, so do not add quotes.
- sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p'
- ;;
- esac >> confcache
-if cmp -s $cache_file confcache; then
- :
-else
- if test -w $cache_file; then
- echo "updating cache $cache_file"
- cat confcache > $cache_file
- else
- echo "not updating unwritable cache $cache_file"
- fi
-fi
-rm -f confcache
-
-trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
-
-test "x$prefix" = xNONE && prefix=$ac_default_prefix
-# Let make expand exec_prefix.
-test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
-
-# Any assignment to VPATH causes Sun make to only execute
-# the first set of double-colon rules, so remove it if not needed.
-# If there is a colon in the path, we need to keep it.
-if test "x$srcdir" = x.; then
- ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d'
-fi
-
-trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15
-
-# Transform confdefs.h into DEFS.
-# Protect against shell expansion while executing Makefile rules.
-# Protect against Makefile macro expansion.
-cat > conftest.defs <<\EOF
-s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%-D\1=\2%g
-s%[ `~#$^&*(){}\\|;'"<>?]%\\&%g
-s%\[%\\&%g
-s%\]%\\&%g
-s%\$%$$%g
-EOF
-DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '`
-rm -f conftest.defs
-
-
-# Without the "./", some shells look in PATH for config.status.
-: ${CONFIG_STATUS=./config.status}
-
-echo creating $CONFIG_STATUS
-rm -f $CONFIG_STATUS
-cat > $CONFIG_STATUS <<EOF
-#! /bin/sh
-# Generated automatically by configure.
-# Run this file to recreate the current configuration.
-# This directory was configured as follows,
-# on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
-#
-# $0 $ac_configure_args
-#
-# Compiler output produced by configure, useful for debugging
-# configure, is in ./config.log if it exists.
-
-ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]"
-for ac_option
-do
- case "\$ac_option" in
- -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
- echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
- exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
- -version | --version | --versio | --versi | --vers | --ver | --ve | --v)
- echo "$CONFIG_STATUS generated by autoconf version 2.13"
- exit 0 ;;
- -help | --help | --hel | --he | --h)
- echo "\$ac_cs_usage"; exit 0 ;;
- *) echo "\$ac_cs_usage"; exit 1 ;;
- esac
-done
-
-ac_given_srcdir=$srcdir
-ac_given_INSTALL="$INSTALL"
-
-trap 'rm -fr `echo "Makefile cygsuba.def:cygsuba.din" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
-EOF
-cat >> $CONFIG_STATUS <<EOF
-
-# Protect against being on the right side of a sed subst in config.status.
-sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&%]/\\\\&/g;
- s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF
-$ac_vpsub
-$extrasub
-s%@SHELL@%$SHELL%g
-s%@CFLAGS@%$CFLAGS%g
-s%@CPPFLAGS@%$CPPFLAGS%g
-s%@CXXFLAGS@%$CXXFLAGS%g
-s%@FFLAGS@%$FFLAGS%g
-s%@DEFS@%$DEFS%g
-s%@LDFLAGS@%$LDFLAGS%g
-s%@LIBS@%$LIBS%g
-s%@exec_prefix@%$exec_prefix%g
-s%@prefix@%$prefix%g
-s%@program_transform_name@%$program_transform_name%g
-s%@bindir@%$bindir%g
-s%@sbindir@%$sbindir%g
-s%@libexecdir@%$libexecdir%g
-s%@datadir@%$datadir%g
-s%@sysconfdir@%$sysconfdir%g
-s%@sharedstatedir@%$sharedstatedir%g
-s%@localstatedir@%$localstatedir%g
-s%@libdir@%$libdir%g
-s%@includedir@%$includedir%g
-s%@oldincludedir@%$oldincludedir%g
-s%@infodir@%$infodir%g
-s%@mandir@%$mandir%g
-s%@host@%$host%g
-s%@host_alias@%$host_alias%g
-s%@host_cpu@%$host_cpu%g
-s%@host_vendor@%$host_vendor%g
-s%@host_os@%$host_os%g
-s%@target@%$target%g
-s%@target_alias@%$target_alias%g
-s%@target_cpu@%$target_cpu%g
-s%@target_vendor@%$target_vendor%g
-s%@target_os@%$target_os%g
-s%@build@%$build%g
-s%@build_alias@%$build_alias%g
-s%@build_cpu@%$build_cpu%g
-s%@build_vendor@%$build_vendor%g
-s%@build_os@%$build_os%g
-s%@CC@%$CC%g
-s%@CXX@%$CXX%g
-s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g
-s%@INSTALL_SCRIPT@%$INSTALL_SCRIPT%g
-s%@INSTALL_DATA@%$INSTALL_DATA%g
-
-CEOF
-EOF
-
-cat >> $CONFIG_STATUS <<\EOF
-
-# Split the substitutions into bite-sized pieces for seds with
-# small command number limits, like on Digital OSF/1 and HP-UX.
-ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script.
-ac_file=1 # Number of current file.
-ac_beg=1 # First line for current file.
-ac_end=$ac_max_sed_cmds # Line after last line for current file.
-ac_more_lines=:
-ac_sed_cmds=""
-while $ac_more_lines; do
- if test $ac_beg -gt 1; then
- sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file
- else
- sed "${ac_end}q" conftest.subs > conftest.s$ac_file
- fi
- if test ! -s conftest.s$ac_file; then
- ac_more_lines=false
- rm -f conftest.s$ac_file
- else
- if test -z "$ac_sed_cmds"; then
- ac_sed_cmds="sed -f conftest.s$ac_file"
- else
- ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file"
- fi
- ac_file=`expr $ac_file + 1`
- ac_beg=$ac_end
- ac_end=`expr $ac_end + $ac_max_sed_cmds`
- fi
-done
-if test -z "$ac_sed_cmds"; then
- ac_sed_cmds=cat
-fi
-EOF
-
-cat >> $CONFIG_STATUS <<EOF
-
-CONFIG_FILES=\${CONFIG_FILES-"Makefile cygsuba.def:cygsuba.din"}
-EOF
-cat >> $CONFIG_STATUS <<\EOF
-for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
- # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
- case "$ac_file" in
- *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
- ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
- *) ac_file_in="${ac_file}.in" ;;
- esac
-
- # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories.
-
- # Remove last slash and all that follows it. Not all systems have dirname.
- ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
- if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
- # The file is in a subdirectory.
- test ! -d "$ac_dir" && mkdir "$ac_dir"
- ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`"
- # A "../" for each directory in $ac_dir_suffix.
- ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'`
- else
- ac_dir_suffix= ac_dots=
- fi
-
- case "$ac_given_srcdir" in
- .) srcdir=.
- if test -z "$ac_dots"; then top_srcdir=.
- else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;;
- /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;;
- *) # Relative path.
- srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix"
- top_srcdir="$ac_dots$ac_given_srcdir" ;;
- esac
-
- case "$ac_given_INSTALL" in
- [/$]*) INSTALL="$ac_given_INSTALL" ;;
- *) INSTALL="$ac_dots$ac_given_INSTALL" ;;
- esac
-
- echo creating "$ac_file"
- rm -f "$ac_file"
- configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure."
- case "$ac_file" in
- *Makefile*) ac_comsub="1i\\
-# $configure_input" ;;
- *) ac_comsub= ;;
- esac
-
- ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
- sed -e "$ac_comsub
-s%@configure_input@%$configure_input%g
-s%@srcdir@%$srcdir%g
-s%@top_srcdir@%$top_srcdir%g
-s%@INSTALL@%$INSTALL%g
-" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file
-fi; done
-rm -f conftest.s*
-
-EOF
-cat >> $CONFIG_STATUS <<EOF
-
-EOF
-cat >> $CONFIG_STATUS <<\EOF
-
-exit 0
-EOF
-chmod +x $CONFIG_STATUS
-rm -fr confdefs* $ac_clean_files
-test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1
-
diff --git a/winsup/subauth/configure.in b/winsup/subauth/configure.in
deleted file mode 100644
index 7e76ea7b7..000000000
--- a/winsup/subauth/configure.in
+++ /dev/null
@@ -1,91 +0,0 @@
-dnl Copyright (c) 2001, Red Hat, Inc.
-dnl
-dnl This program is free software; you can redistribute it and/or modify
-dnl it under the terms of the GNU General Public License as published by
-dnl the Free Software Foundation; either version 2 of the License, or
-dnl (at your option) any later version.
-dnl
-dnl A copy of the GNU General Public License can be found at
-dnl http://www.gnu.org/
-dnl
-dnl Written by Christopher Faylor <cgf@redhat.com>
-dnl Changed for subauth subdir by Corinna Vinschen <vinschen@redhat.com>
-
-dnl Autoconf configure script for Cygwin utilities.
-dnl
-dnl Process this file with autoconf to produce a configure script.
-
-AC_PREREQ(2.12)
-
-AC_INIT(Makefile.in)
-
-dnl FIXME: We temporarily define our own version of AC_PROG_CC. This is
-dnl copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
-dnl are probably using a cross compiler, which will not be able to fully
-dnl link an executable. This should really be fixed in autoconf
-dnl itself.
-
-AC_DEFUN(LIB_AC_PROG_CC,
-[AC_BEFORE([$0], [AC_PROG_CPP])dnl
-AC_CHECK_PROG(CC, gcc, gcc)
-if test -z "$CC"; then
- AC_CHECK_PROG(CC, cc, cc, , , /usr/ucb/cc)
- test -z "$CC" && AC_MSG_ERROR([no acceptable cc found in \$PATH])
-fi
-
-AC_PROG_CC_GNU
-
-if test $ac_cv_prog_gcc = yes; then
- GCC=yes
-dnl Check whether -g works, even if CFLAGS is set, in case the package
-dnl plays around with CFLAGS (such as to build both debugging and
-dnl normal versions of a library), tasteless as that idea is.
- ac_test_CFLAGS="${CFLAGS+set}"
- ac_save_CFLAGS="$CFLAGS"
- CFLAGS=
- AC_PROG_CC_G
- if test "$ac_test_CFLAGS" = set; then
- CFLAGS="$ac_save_CFLAGS"
- elif test $ac_cv_prog_cc_g = yes; then
- CFLAGS="-g -O2"
- else
- CFLAGS="-O2"
- fi
-else
- GCC=
- test "${CFLAGS+set}" = set || CFLAGS="-g"
-fi
-])
-
-AC_DEFUN(LIB_AC_PROG_CXX,
-[AC_BEFORE([$0], [AC_PROG_CPP])dnl
-AC_CHECK_TOOL(CXX, g++, g++)
-if test -z "$CXX"; then
- AC_CHECK_PROG(CXX, c++, c++, , , )
- test -z "$CC" && AC_MSG_ERROR([no acceptable cc found in \$PATH])
-fi
-
-CXXFLAGS='$(CFLAGS)'
-])
-
-AC_CANONICAL_SYSTEM
-
-LIB_AC_PROG_CC
-LIB_AC_PROG_CXX
-
-AC_ARG_PROGRAM
-
-if test "x$cross_compiling" = "xyes"; then
- if test "x$program_transform_name" = "xs,x,x,"; then
- program_transform_name=""
- fi
- if test "x$program_transform_name" = "x"; then
- program_transform_name="s,^,$host-,"
- else
- program_transform_name="$program_transform_name -e s,^,$host-,"
- fi
-fi
-
-AC_PROG_INSTALL
-
-AC_OUTPUT(Makefile cygsuba.def:cygsuba.din)
diff --git a/winsup/subauth/cygsuba.c b/winsup/subauth/cygsuba.c
deleted file mode 100644
index d79209fa8..000000000
--- a/winsup/subauth/cygsuba.c
+++ /dev/null
@@ -1,141 +0,0 @@
-/* cygsuba.c: Minimal subauthentication functionality to support
- logon without password.
-
- Copyright 2001 Red Hat, Inc.
-
-Written by Corinna Vinschen <vinschen@redhat.com>
-
-This file is part of Cygwin.
-
-This software is a copyrighted work licensed under the terms of the
-Cygwin license. Please consult the file "CYGWIN_LICENSE" for
-details. */
-
-#include <windows.h>
-#include <subauth.h>
-#include <ntsecapi.h>
-
-NTSTATUS NTAPI
-Msv1_0SubAuthenticationRoutine (NETLOGON_LOGON_INFO_CLASS logon_level,
- VOID *logon_inf,
- ULONG flags,
- USER_ALL_INFORMATION *usr_inf,
- ULONG *which,
- ULONG *usr_flags,
- BOOLEAN *auth,
- LARGE_INTEGER *logoff,
- LARGE_INTEGER *kickoff)
-{
- ULONG valid_account = USER_NORMAL_ACCOUNT;
- if (!(flags & MSV1_0_PASSTHRU))
- valid_account |= USER_TEMP_DUPLICATE_ACCOUNT;
-
- *which = *usr_flags = 0;
-
- /* Not a Network logon?
- TODO: How do I manage an interactive logon using a subauthentication
- package??? The logon_level "interactive" is available but I never
- got it working. I assume that's the reason I don't get a legal
- logon session so that I can connect to network drives. */
- if (logon_level != NetlogonNetworkInformation)
- {
- *auth = TRUE;
- return STATUS_INVALID_INFO_CLASS;
- }
-
- /* Account type ok? */
- if (!(usr_inf->UserAccountControl & valid_account))
- {
- *auth = FALSE;
- return STATUS_NO_SUCH_USER;
- }
-
- /* Guest logon? */
- if (flags & MSV1_0_GUEST_LOGON)
- *usr_flags = LOGON_GUEST;
-
-#if defined (SSHD)
- /* The same code could be used to allow the DLL checking for
- SSH RSA/DSA keys. For that purpose, SSH would need it's
- own implementation with the below field used to transport
- the keys which have to be checked. This could be used to
- allow secure logon with RSA/DSA instead of passwords.
- Of course that needs lots of additions to the code... */
- {
- PNETLOGON_NETWORK_INFO nw_inf = (PNETLOGON_NETWORK_INFO) logon_inf;
-
- /*
- nw_inf->LmChallenge.data <=>
- MSV1_0_LM20_LOGON::ChallengeToClient
- nw_inf->NtChallengeResponse <=>
- MSV1_0_LM20_LOGON::CaseSensitiveChallengeResponse
- nw_inf->LmChallengeResponse <=>
- MSV1_0_LM20_LOGON::CaseInsensitiveChallengeResponse
- */
- if (authentication_failed)
- {
- *auth = (usr_inf->UserAccountControl & USER_ACCOUNT_DISABLED) ?
- FALSE : TRUE;
- return STATUS_WRONG_PASSWORD;
- }
- }
-#endif
-
- /* All accounts except for the local admin are checked for being
- locked out or disabled or expired. */
- if (usr_inf->UserId != DOMAIN_USER_RID_ADMIN)
- {
- SYSTEMTIME CurrentTime;
- LARGE_INTEGER LogonTime;
-
- /* Account locked out? */
- if (usr_inf->UserAccountControl & USER_ACCOUNT_AUTO_LOCKED)
- {
- *auth = (usr_inf->UserAccountControl & USER_ACCOUNT_DISABLED) ?
- FALSE : TRUE;
- return STATUS_ACCOUNT_LOCKED_OUT;
- }
-
- /* Account disabled? */
- if (usr_inf->UserAccountControl & USER_ACCOUNT_DISABLED)
- {
- *auth = FALSE;
- return STATUS_ACCOUNT_DISABLED;
- }
-
- /* Account expired? */
- GetSystemTime (&CurrentTime);
- SystemTimeToFileTime(&CurrentTime, (LPFILETIME) &LogonTime);
- if (usr_inf->AccountExpires.QuadPart &&
- LogonTime.QuadPart >= usr_inf->AccountExpires.QuadPart)
- {
- *auth = TRUE;
- return STATUS_ACCOUNT_EXPIRED;
- }
- }
-
- /* Don't force logout. */
- logoff->HighPart = 0x7FFFFFFF;
- logoff->LowPart = 0xFFFFFFFF;
- kickoff->HighPart = 0x7FFFFFFF;
- kickoff->LowPart = 0xFFFFFFFF;
-
- *auth = TRUE;
- return STATUS_SUCCESS;
-}
-
-NTSTATUS NTAPI
-Msv1_0SubAuthenticationFilter (NETLOGON_LOGON_INFO_CLASS logon_level,
- VOID *logon_inf,
- ULONG flags,
- USER_ALL_INFORMATION *usr_inf,
- ULONG *which,
- ULONG *usr_flags,
- BOOLEAN *auth,
- LARGE_INTEGER *logoff,
- LARGE_INTEGER *kickoff)
-{
- return Msv1_0SubAuthenticationRoutine (logon_level, logon_inf, flags,
- usr_inf, which, usr_flags,
- auth, logoff, kickoff);
-}
diff --git a/winsup/subauth/cygsuba.din b/winsup/subauth/cygsuba.din
deleted file mode 100644
index 82ddcfe9b..000000000
--- a/winsup/subauth/cygsuba.din
+++ /dev/null
@@ -1,5 +0,0 @@
-LIBRARY "cygsuba"
-
-EXPORTS
-Msv1_0SubAuthenticationRoutine = Msv1_0SubAuthenticationRoutine@36
-Msv1_0SubAuthenticationFilter = Msv1_0SubAuthenticationFilter@36
diff --git a/winsup/testsuite/ChangeLog b/winsup/testsuite/ChangeLog
deleted file mode 100644
index be6c82ce4..000000000
--- a/winsup/testsuite/ChangeLog
+++ /dev/null
@@ -1,700 +0,0 @@
-2005-06-11 Christopher Faylor <cgf@timesys.com>
-
- * winsup.api/pthread/cancel2.c: Use explicit initializer for mutex.
- * winsup.api/pthread/mutex4.c (main): Ditto.
- * winsup.api/pthread/mutex5.c: Reflect change in cygwin default mutex type.
- * winsup.api/pthread/mutex6d.c: Ditto.
-
-2005-06-10 Christopher Faylor <cgf@timesys.com>
-
- * winsup.api/winsup.exp: Remove (temporarily?) -nostdinc from build
- since it causes compile failures with gcc 3.4.4.
-
-2005-06-06 Christopher Faylor <cgf@timesys.com>
-
- * cygload/cygload.exp: .cpp -> .cc.
-
-2005-06-06 Max Kaehn <slothman@electric-cloud.com>
-
- * Makefile.in: Test cygload.
- * cygload: New directory.
- * cygload/README: New file.
- * cygload/Makefile: Ditto.
- * cygload/cygload.h: Ditto.
- * cygload/cygload.cc: Ditto.
- * cygload/cygload.exp: Ditto.
-
-2005-05-17 Brian Dessent <brian@dessent.net>
-
- * winsup.api/signal-into-win32-api.c (main): Use 'NULL' instead of '0'
- in argument list to avoid compiler warning with gcc4.
- * winsup.api/ltp/execle01.c (main): Ditto.
- * winsup.api/ltp/execlp01.c (main): Ditto.
- * winsup.api/ltp/fcntl07.c (do_exec): Ditto.
- * winsup.api/ltp/fcntl07B.c (do_exec): Ditto.
-
-2005-02-10 Christopher Faylor <cgf@timesys.com>
-
- * winsup.api/known_bugs.tcl: Remove dup05, fcntl07B, lseek04, select03,
- unlink06.
- * winsup.api/mmaptest03.c: Make a little more verbose so that it is
- easier to figure out where something failed.
-
-2005-01-09 Christopher Faylor <cgf@timesys.com>
-
- * cygrun.c (main): Fix exit code so that it reflects UNIX style.
- * winsup.api/ltp/fork04.c (setup): Accommodate change in putenv
- declaration.
-
-2004-08-24 Corinna Vinschen <corinna@vinschen.de>
-
- * winsup.api/mmaptest01.c (main): Accomodate 9x memory usage.
-
-2004-08-24 Corinna Vinschen <corinna@vinschen.de>
-
- * winsup.api/ltp/symlink01.c (do_link): Print inode numbers using %llu
- format specifier.
-
-2004-08-17 Gerd Spalink <Gerd.Spalink@t-online.de>
- Pierre Humblet <Pierre.Humblet@ieee.org>
-
- * devdsp.c: Outputs the names of the main test functions.
- (forkrectest): Expect child success.
- (forkplaytest): Ditto.
- (syncwithchild): Output the child status and the desired value.
- (sinegenw): Reduce volume of the beep.
- (sinegenb): Ditto.
- (dup_test): New test.
-
-2004-04-13 Gerd Spalink <Gerd.Spalink@t-online.de>
-
- * winsup.api/devdsp.c (forkrectest): Move synchronization with child
- so that test passes also under high CPU load.
- (forkplaytest): Ditto.
- (abortplaytest): New function to test ioctl code SNDCTL_DSP_RESET.
-
-2004-04-04 Gerd Spalink <Gerd.Spalink@t-online.de>
-
- * winsup.api/devdsp.c (ioctltest): Add 2 tests for ioctl codes
- SNDCTL_DSP_CHANNELS and SNDCTL_DSP_GETCAPS.
-
-2004-03-24 Gerd Spalink <Gerd.Spalink@t-online.de>
-
- * winsup.api/devdsp.c: New file, testing fhandler_dev_dsp code.
- * winsup.api/devdsp_okay.h: Ditto.
-
-2004-03-06 Christopher Faylor <cgf@redhat.com>
-
- * winsup.api/known_bugs.tcl: Remove mknod01 since mknod now works.
- * winsup.api/ltp/mknod01.c: Remove root check when running on cygwin.
-
-2004-03-04 Thomas Pfaff <tpfaff@gmx.net>
-
- * winsup.api/pthread/mutex8e.c: New testcase.
- * winsup.api/pthread/mutex8n.c: Ditto.
- * winsup.api/pthread/mutex8r.c: Ditto.
-
-2003-12-23 Christopher Faylor <cgf@redhat.com>
-
- * winsup.api/pthread/rwlock7.c (main): Don't assume that result of rand
- operation is non-zero.
-
-2003-12-01 Corinna Vinschen <corinna@vinschen.de>
-
- * winsup.api/known_bugs.tcl: Remove fcntl09 and fcntl10. These
- tests had a compatibility bug.
- * winsup.api/ltp/fcntl09.c: Don't use F_RDLCK | F_WRLCK but only
- F_WRLCK to set a write lock.
- * winsup.api/ltp/fcntl10.c: Ditto.
-
-2003-11-25 Christopher Faylor <cgf@redhat.com>
-
- * winsup.api/known_bugs.tcl: Remove lseek10 since mknod now works.
-
-2003-11-20 Corinna Vinschen <corinna@vinschen.de>
-
- * winsup.api/msgtest.c (main): Revert to use the SIGSYS signal handler.
- * winsup.api/semtest.c (main): Ditto.
- * winsup.api/shmtest.c (main): Ditto.
-
-2003-11-19 Corinna Vinschen <corinna@vinschen.de>
-
- * winsup.api/msgtest.c: New file derived from FreeBSD, testing
- XSI Message Queue support.
- * winsup.api/semtest.c: Ditto, testing XSI Semaphore support.
- * winsup.api/shmtest.c: Ditto, testing XSI Shared Memory support.
-
-2003-07-06 Christopher Faylor <cgf@redhat.com>
-
- * winsup.api/known_bugs.tcl: Remove gethostid01 from list of known
- bugs.
-
-2003-07-06 Christopher Faylor <cgf@redhat.com>
-
- * Makefile.in: Remove .dat files when cleaning.
-
-2003-07-06 Christopher Faylor <cgf@redhat.com>
-
- * Makefile.in: Remove .d files when cleaning.
-
-2003-05-09 Corinna Vinschen <corinna@vinschen.de>
-
- * libltp/include/test.h: Remove gethostid declaration.
-
-2003-04-08 Thomas Pfaff <tpfaff@gmx.net>
-
- * winsup.api/pthread/condvar9.c: Fix test.
-
-2003-03-27 Thomas Pfaff <tpfaff@gmx.net>
-
- * winsup.api/pthread/rwlock1.c: Remove pthreads-win32 header.
- * winsup.api/pthread/rwlock2.c: Ditto.
- * winsup.api/pthread/rwlock3.c: Ditto.
- * winsup.api/pthread/rwlock4.c: Ditto.
- * winsup.api/pthread/rwlock5.c: Ditto.
- * winsup.api/pthread/rwlock6.c: Ditto.
-
-2003-03-27 Brian Ford <ford@vss.fsi.com>
-
- * winsup.api/pthread/condvar7.c (mythread): Cast
- pthread_mutex_unlock argument of pthread_cleanup_push
- to void *, preventing a compiler warning / testsuite failure.
- * winsup.api/pthread/condvar9.c (mythread): Likewise.
- * winsup.api/pthread/rwlock7.c (main): Use ftime instead of
- _ftime.
-
-2003-03-18 Thomas Pfaff <tpfaff@gmx.net>
-
- * winsup.api/pthread/rwlock1.c: New test.
- * winsup.api/pthread/rwlock2.c: Ditto.
- * winsup.api/pthread/rwlock3.c: Ditto.
- * winsup.api/pthread/rwlock4.c: Ditto.
- * winsup.api/pthread/rwlock5.c: Ditto.
- * winsup.api/pthread/rwlock6.c: Ditto.
- * winsup.api/pthread/rwlock7.c: Ditto.
-
-2003-03-18 Thomas Pfaff <tpfaff@gmx.net>
-
- * winsup.api/pthread/condvar7.c: New test.
- * winsup.api/pthread/condvar9.c: Ditto.
-
-2003-03-18 Thomas Pfaff <tpfaff@gmx.net>
-
- * winsup.api/pthread/mutex1n.c: New test.
- * winsup.api/pthread/mutex6n.c: Ditto.
- * winsup.api/pthread/mutex7n.c: Ditto.
-
-2003-03-09 Christopher Faylor <cgf@redhat.com>
-
- * winsup.api/winsup.exp: Use -nostdinc when compiling.
- * Makefile.in: Specifically search compiler include directory since it
- is now stripped via -nostdinc.
-
-2003-03-09 Corinna Vinschen <corinna@vinschen.de>
-
- * winsup.api/ltp/fork10.c (main): Remove non-portable declaration
- of lseek.
-
-2003-03-09 Christopher Faylor <cgf@redhat.com>
-
- * Makefile.in: Use "cygwin0" rather than "new-cygwin" to denote
- in-build-tree version of library or dll.
- * config/default.exp: Ditto.
- * winsup.api/winsup.exp: Ditto.
-
-2003-03-07 Corinna Vinschen <corinna@vinschen.de>
-
- * winsup.api/known_bugs.tcl: Remove fsync01, setregid01 and setreuid01
- from list of known bugs.
-
-2003-02-19 Vaclav Haisman <V.Haisman@sh.cvut.cz>
-
- * winsup.api/crlf.c: Fix C signed/unsigned compare warning.
- * winsup.api/mmaptest01.c: Ditto.
- * winsup.api/ltp/chmod01.c: Ditto.
- * winsup.api/ltp/fork04.c: Ditto.
- * winsup.api/ltp/lseek03.c: Ditto.
- * winsup.api/ltp/lseek06.c: Ditto.
- * winsup.api/ltp/lseek07.c: Ditto.
- * winsup.api/ltp/lseek08.c: Ditto.
- * winsup.api/ltp/mmap001.c: Ditto.
- * winsup.api/ltp/mmap02.c: Ditto.
- * winsup.api/ltp/mmap03.c: Ditto.
- * winsup.api/ltp/mmap04.c: Ditto.
- * winsup.api/ltp/mmap05.c: Ditto.
- * winsup.api/ltp/mmap06.c: Ditto.
- * winsup.api/ltp/mmap07.c: Ditto.
- * winsup.api/ltp/mmap08.c: Ditto.
- * winsup.api/ltp/pipe11.c: Ditto.
- * winsup.api/ltp/poll01.c: Ditto.
- * winsup.api/ltp/sync02.c: Ditto.
- * winsup.api/ltp/times03.c: Ditto.
- * winsup.api/ltp/umask03.c: Ditto.
- * winsup.api/ltp/getpgid01.c: Remove unused obsolete include.
- * winsup.api/ltp/getpgid02.c: Ditto.
-
-2003-02-08 Christopher Faylor <cgf@redhat.com>
-
- * winsup.api/winsup.exp (ws_spawn): Tweak slightly to work with tcl
- 8.4.1.
-
-2003-02-07 Christopher Faylor <cgf@redhat.com>
-
- * libltp/lib/parse_opts.c: Deal with C warnings.
- * winsup.api/pthread/cancel12.c: Ditto.
- * winsup.api/winsup.exp: Don't use -g3.
-
-2003-02-04 Thomas Pfaff <tpfaff@gmx.net>
-
- * winsup.api/pthread/cancel11.c: New test.
- * winsup.api/pthread/cancel12.c: Ditto.
-
-2003-01-23 Christopher Faylor <cgf@redhat.com>
-
- * Makefile.in: Don't filter out -g. Actually pass correct CFLAGS to
- site.exp.
- * winsup.api/winsup.exp: Use -g flag from CFLAGS.
-
-2003-01-23 Christopher Faylor <cgf@redhat.com>
-
- * Makefile.in: Turn off all optimizations.
- * libltp/lib/parse_opts.c (TEST_VALID_ENO): Move define outside of
- conditional.
- (TEST_ERRNO): Ditto.
- (btime): Ditto.
- (etime): Ditto.
- (tmptime): Ditto.
-
-2003-01-23 Christopher Faylor <cgf@redhat.com>
-
- * libltp/include/usctest.h: Add externs to some variables that need it.
- * winsup.api/ltp/mmap05.c (main): Make file_content volatile to avoid
- optimization glitch.
-
-2003-01-23 Christopher Faylor <cgf@redhat.com>
-
- * winsup.api/mmaptest03.c (main): Mark variables as volatile to avoid
- optimization induced problems.
-
-2003-01-23 Christopher Faylor <cgf@redhat.com>
-
- * Makefile (check): Add cygrun.exe dependency.
-
-2003-01-23 Christopher Faylor <cgf@redhat.com>
-
- Perform more C warning fixup on all C source files and headers.
-
-2003-01-23 Christopher Faylor <cgf@redhat.com>
-
- * libltp/include/test.h: Fix C warnings.
- * winsup.api/checksignal.c: Ditto.
- * winsup.api/crlf.c: Ditto.
- * winsup.api/devzero.c: Ditto.
- * winsup.api/iospeed.c: Ditto.
- * winsup.api/mmaptest01.c: Ditto.
- * winsup.api/mmaptest02.c: Ditto.
- * winsup.api/mmaptest03.c: Ditto.
- * winsup.api/mmaptest04.c: Ditto.
- * winsup.api/nullgetcwd.c: Ditto.
- * winsup.api/sigchld.c: Ditto.
- * winsup.api/signal-into-win32-api.c: Ditto.
- * winsup.api/systemcall.c: Ditto.
- * winsup.api/waitpid.c: Ditto.
- * winsup.api/pthread/mainthreadexits.c: Ditto.
- * winsup.api/pthread/test.h: Ditto.
- * winsup.api/pthread/threadidafterfork.c: Ditto.
-
- * Makefile.in: Remove cygrun.exe from RUNTIME since it is built here
- now.
-
-2003-01-23 Christopher Faylor <cgf@redhat.com>
-
- * Makefile.in: Use ALL_CFLAGS to build test programs so that correct
- libraries and other options are used.
-
-2003-01-22 Corinna Vinschen <corinna@vinschen.de>
-
- * cygrun.c: Move here from ../cygwin.
- * Makefile.in: Build cygrun.exe.
- * winsup.api/winsup.exp: Expect cygrun.exe in $rootme.
-
-2003-01-21 Christopher Faylor <cgf@redhat.com>
-
- * Makefile.in: Find tcl library in the right place.
-
-2003-01-21 Thomas Pfaff <tpfaff@gmx.net>
-
- * winsup.api/pthread/cancel9.c: Make child pid static global.
- (main): Wait in mainthread until child process has terminated.
-
-2003-01-14 Thomas Pfaff <tpfaff@gmx.net>
-
- * winsup.api/pthread/cancel10.c: New test.
-
-2003-01-14 Thomas Pfaff <tpfaff@gmx.net>
-
- * winsup.api/pthread/cancel9.c: New test.
-
-2003-01-14 Thomas Pfaff <tpfaff@gmx.net>
-
- * winsup.api/pthread/cancel7.c: New test.
- * winsup.api/pthread/cancel8.c: Ditto.
-
-2003-01-14 Thomas Pfaff <tpfaff@gmx.net>
-
- * winsup.api/pthread/cancel6.c: New test.
-
-2003-01-09 Thomas Pfaff <tpfaff@gmx.net>
-
- * winsup.api/pthread/mutex1d.c: New test. Port from pthreads-win32
- project.
- * winsup.api/pthread/mutex1e.c: Ditto.
- * winsup.api/pthread/mutex4.c: Ditto.
- * winsup.api/pthread/mutex5.c: Ditto.
- * winsup.api/pthread/mutex6d.c: Ditto.
- * winsup.api/pthread/mutex6e.c: Ditto.
- * winsup.api/pthread/mutex7.c: Ditto.
- * winsup.api/pthread/mutex7d.c: Ditto.
- * winsup.api/pthread/mutex7e.c: Ditto.
- * winsup.api/pthread/mutex7r.c: Ditto.
-
-2002-11-25 Robert Collins <rbtcollins@hotmail.com>
-
- * readme: Document running portions of the test suite (Thanks Egor!).
- * winsup.api/pthread/mainthreadexits.c: New file, derived from
- Thomas Pfaff's test cases.
- * winsup.api/pthread/threadidafterfork.c: Ditto.
-
-2002-08-25 Christopher Faylor <cgf@redhat.com>
-
- * Makefile.in (RUNTEST): Use Makefile's srcdir and bupdir* macros,
- where appropriate.
- * winsup.api/winsup.exp: Use -nodefaultlibs when linking executable to
- avoid potentially linking installed dll.
-
-2002-07-06 Christopher Faylor <cgf@redhat.com>
-
- * testsuite/winsup.api/winsup.exp: Add -mwin32 to gcc flags so
- windows.h will be found.
-
-2002-07-04 Egor Duda <deo@logos-m.ru>
-
- * winsup.api/pthread/cancel1.c: New test. Port from pthreads-win32
- project.
- * winsup.api/pthread/cancel2.c: Ditto.
- * winsup.api/pthread/cancel3.c: Ditto.
- * winsup.api/pthread/cancel4.c: Ditto.
- * winsup.api/pthread/cancel5.c: Ditto.
-
-2002-07-03 Christopher Faylor <cgf@redhat.com>
-
- * Makefile.in: Eliminate unneeded Makefile recreation rule.
-
-2002-02-27 Christopher Faylor <cgf@redhat.com>
-
- * winsup.api/systemcall.c (main): Ensure that stdin is redirected.
-
-2001-11-18 Egor Duda <deo@logos-m.ru>
-
- * winsup.api/pthread/condvar3_1.c: Fix debugging output.
-
-2001-11-15 Egor Duda <deo@logos-m.ru>
-
- * winsup.api/pthread/: New directory. Ports of pthread functionality
- tests from pthreads-win32 project.
- * winsup.api/pthread/test.h: Commmon declaraions for pthread tests.
- * winsup.api/pthread/cleanup2.c: New test.
- * winsup.api/pthread/cleanup3.c: Ditto.
- * winsup.api/pthread/condvar1.c: Ditto.
- * winsup.api/pthread/condvar2.c: Ditto.
- * winsup.api/pthread/condvar2_1.c: Ditto.
- * winsup.api/pthread/condvar3.c: Ditto.
- * winsup.api/pthread/condvar3_1.c: Ditto.
- * winsup.api/pthread/condvar3_2.c: Ditto.
- * winsup.api/pthread/condvar3_3.c: Ditto.
- * winsup.api/pthread/condvar4.c: Ditto.
- * winsup.api/pthread/condvar5.c: Ditto.
- * winsup.api/pthread/condvar6.c: Ditto.
- * winsup.api/pthread/condvar8.c: Ditto.
- * winsup.api/pthread/count1.c: Ditto.
- * winsup.api/pthread/create1.c: Ditto.
- * winsup.api/pthread/create2.c: Ditto.
- * winsup.api/pthread/equal1.c: Ditto.
- * winsup.api/pthread/exit1.c: Ditto.
- * winsup.api/pthread/exit2.c: Ditto.
- * winsup.api/pthread/exit3.c: Ditto.
- * winsup.api/pthread/inherit1.c: Ditto.
- * winsup.api/pthread/join0.c: Ditto.
- * winsup.api/pthread/join1.c: Ditto.
- * winsup.api/pthread/join2.c: Ditto.
- * winsup.api/pthread/mutex1.c: Ditto.
- * winsup.api/pthread/mutex1r.c: Ditto.
- * winsup.api/pthread/mutex2.c: Ditto.
- * winsup.api/pthread/mutex3.c: Ditto.
- * winsup.api/pthread/mutex6r.c: Ditto.
- * winsup.api/pthread/once1.c: Ditto.
- * winsup.api/pthread/priority1.c: Ditto.
- * winsup.api/pthread/priority2.c: Ditto.
- * winsup.api/pthread/self1.c: Ditto.
- * winsup.api/pthread/self2.c: Ditto.
- * winsup.api/pthread/tsd1.c: Ditto.
-
-2001-11-08 Corinna Vinschen <corinna@vinschen.de>
-
- * checksignal.c: New testcase.
-
-2001-11-04 Christopher Faylor <cgf@redhat.com>
-
- * Makefile.in: Oops. Revert previous change. Add Makefile/Makefile.in
- dependency.
-
-2001-11-04 Christopher Faylor <cgf@redhat.com>
-
- * Makefile.in: Add check target.
-
-2001-11-02 Egor Duda <deo@logos-m.ru>
-
- * libltp/lib/forker.c: Include proper header to avoid compiler
- warning.
-
-2001-10-29 Egor Duda <deo@logos-m.ru>
-
- * winsup.api/ltp/stat03.c: Supress compiler warning.
-
-2001-10-29 Egor Duda <deo@logos-m.ru>
-
- * winsup.api/signal-into-win32-api.c: Supress compiler warning.
-
-Mon Oct 8 14:15:00 2001 Corinna Vinschen <corinna@vinschen.de>
-
- * winsup.api/mmaptest01.c: Add several tests on mmaps. Use libltp.
- * winsup.api/winsup.exp: Link all tests agains libltp.
-
-Fri Oct 5 11:15:55 2001 Christopher Faylor <cgf@cygnus.com>
-
- * winsup.api/nullgetcwd.c: New file. Check that NULL first argument to
- getcwd works.
-
-Thu Oct 4 22:47:51 2001 Christopher Faylor <cgf@cygnus.com>
-
- * winsup.api/systemcall.c (main): Change some messages for clarity.
-
-Thu Oct 4 22:19:39 2001 Christopher Faylor <cgf@cygnus.com>
-
- * winsup.api/systemcall.c: New file. Check for system call problems.
-
-2001-09-20 Egor Duda <deo@logos-m.ru>
-
- * libltp/lib/get_high_address.c (get_high_address): Get inaccessible
- address more robustly.
- * winsup.api/ltp/stat06.c (high_address_setup): Use generic function
- from ltp library to obtain inaccessible address.
-
-2001-09-15 Egor Duda <deo@logos-m.ru>
-
- * winsup.api/ltp/sbrk01.c (main): Force output at startup to
- make sure that stdio file buffer get allocated.
- * winsup.api/ltp/stat06.c (high_address_setup): On cygwin, area
- after sbrk(0) may be available, use 0xffff0000 as "high address".
- * winsup.api/ltp/symlink01.c: Perform all tests. Mark those tests that
- don't work on cygwin with '-1'. Close open files so that temporary
- directory can be deleted on exit.
- * winsup.api/ltp/vfork01.c: New test.
-
-2001-09-13 Egor Duda <deo@logos-m.ru>
-
- * winsup.api/winsup.exp: Run only selected test if environment
- variable CYGWIN_TESTSUITE_TESTS is set. Use its value as regular
- expression to filter test names.
- * winsup.api/ltp/symlink01.c (creat_path_max): Provide explicit
- buffer to getcwd to conform to standards and avoid memory leak.
- (do_chdir): Ditto.
-
-2001-09-13 Egor Duda <deo@logos-m.ru>
-
- * libltp/lib/tst_sig.c: Pass SIGSEGV to application to consider
- whether it's expected or not.
- * winsup.api/known_bugs.tcl: lseek10 is known to fail because mknod
- is not implemented.
- * winsup.api/ltp/rename02.c: Fix formatting.
- * libltp/lib/libtestsuite.c: New file.
- * winsup.api/signal-into-win32-api.c: New test.
- * winsup.api/ltp/access04.c: Ditto.
- * winsup.api/ltp/access05.c: Ditto.
- * winsup.api/ltp/alarm07.c: Ditto.
- * winsup.api/ltp/chdir04.c: Ditto.
- * winsup.api/ltp/chmod01.c: Ditto.
- * winsup.api/ltp/close01.c: Ditto.
- * winsup.api/ltp/close02.c: Ditto.
- * winsup.api/ltp/creat01.c: Ditto.
- * winsup.api/ltp/creat03.c: Ditto.
- * winsup.api/ltp/exit01.c: Ditto.
- * winsup.api/ltp/exit02.c: Ditto.
- * winsup.api/ltp/fchdir01.c: Ditto.
- * winsup.api/ltp/fchdir02.c: Ditto.
- * winsup.api/ltp/fork02.c: Ditto.
- * winsup.api/ltp/fork03.c: Ditto.
- * winsup.api/ltp/fork06.c: Ditto.
- * winsup.api/ltp/fork07.c: Ditto.
- * winsup.api/ltp/fork09.c: Ditto.
- * winsup.api/ltp/fork10.c: Ditto.
- * winsup.api/ltp/fork11.c: Ditto.
- * winsup.api/ltp/fstat02.c: Ditto.
- * winsup.api/ltp/fstat03.c: Ditto.
- * winsup.api/ltp/fstat04.c: Ditto.
- * winsup.api/ltp/ftruncate01.c: Ditto.
- * winsup.api/ltp/ftruncate02.c: Ditto.
- * winsup.api/ltp/ftruncate03.c: Ditto.
- * winsup.api/ltp/getgid02.c: Ditto.
- * winsup.api/ltp/getgid03.c: Ditto.
- * winsup.api/ltp/getpgid01.c: Ditto.
- * winsup.api/ltp/getpgid02.c: Ditto.
- * winsup.api/ltp/getpid02.c: Ditto.
- * winsup.api/ltp/getppid02.c: Ditto.
- * winsup.api/ltp/getuid02.c: Ditto.
- * winsup.api/ltp/getuid03.c: Ditto.
- * winsup.api/ltp/kill01.c: Ditto.
- * winsup.api/ltp/kill02.c: Ditto.
- * winsup.api/ltp/kill03.c: Ditto.
- * winsup.api/ltp/kill04.c: Ditto.
- * winsup.api/ltp/lseek06.c: Ditto.
- * winsup.api/ltp/lseek07.c: Ditto.
- * winsup.api/ltp/lseek08.c: Ditto.
- * winsup.api/ltp/lseek09.c: Ditto.
- * winsup.api/ltp/lseek10.c: Ditto.
- * winsup.api/ltp/mmap02.c: Ditto.
- * winsup.api/ltp/mmap03.c: Ditto.
- * winsup.api/ltp/mmap04.c: Ditto.
- * winsup.api/ltp/mmap05.c: Ditto.
- * winsup.api/ltp/mmap06.c: Ditto.
- * winsup.api/ltp/mmap07.c: Ditto.
- * winsup.api/ltp/mmap08.c: Ditto.
- * winsup.api/ltp/munmap01.c: Ditto.
- * winsup.api/ltp/munmap02.c: Ditto.
- * winsup.api/ltp/open02.c: Ditto.
- * winsup.api/ltp/pipe01.c: Ditto.
- * winsup.api/ltp/pipe08.c: Ditto.
- * winsup.api/ltp/pipe09.c: Ditto.
- * winsup.api/ltp/pipe10.c: Ditto.
- * winsup.api/ltp/pipe11.c: Ditto.
- * winsup.api/ltp/poll01.c: Ditto.
- * winsup.api/ltp/read04.c: Ditto.
- * winsup.api/ltp/readlink01.c: Ditto.
- * winsup.api/ltp/readlink03.c: Ditto.
- * winsup.api/ltp/rename01.c: Ditto.
- * winsup.api/ltp/rename08.c: Ditto.
- * winsup.api/ltp/rename10.c: Ditto.
- * winsup.api/ltp/rmdir01.c: Ditto.
- * winsup.api/ltp/stat01.c: Ditto.
- * winsup.api/ltp/stat02.c: Ditto.
- * winsup.api/ltp/stat03.c: Ditto.
- * winsup.api/ltp/symlink03.c: Ditto.
- * winsup.api/ltp/symlink04.c: Ditto.
- * winsup.api/ltp/symlink05.c: Ditto.
- * winsup.api/ltp/sync02.c: Ditto.
- * winsup.api/ltp/time02.c: Ditto.
- * winsup.api/ltp/times02.c: Ditto.
- * winsup.api/ltp/times03.c: Ditto.
- * winsup.api/ltp/truncate01.c: Ditto.
- * winsup.api/ltp/truncate02.c: Ditto.
- * winsup.api/ltp/umask02.c: Ditto.
- * winsup.api/ltp/umask03.c: Ditto.
- * winsup.api/ltp/wait401.c: Ditto.
- * winsup.api/ltp/wait402.c: Ditto.
- * winsup.api/ltp/write02.c: Ditto.
- * winsup.api/ltp/write03.c: Ditto.
-
-2001-09-09 Egor Duda <deo@logos-m.ru>
-
- * winsup.api/ltp/dup03.c: New test.
- * winsup.api/ltp/lseek03.c: Ditto.
- * winsup.api/ltp/mmap001.c: Ditto.
- * winsup.api/ltp/read01.c: Ditto.
- * winsup.api/ltp/readdir01.c: Ditto.
- * winsup.api/ltp/rmdir05.c: Ditto.
- * winsup.api/ltp/sbrk01.c: Ditto.
- * winsup.api/ltp/select02.c: Ditto.
- * winsup.api/ltp/select03.c: Ditto.
- * winsup.api/ltp/signal03.c: Ditto.
- * winsup.api/ltp/stat06.c: Ditto.
- * winsup.api/ltp/unlink08.c: Ditto.
- * winsup.api/known_bugs.tcl: Update to reflect new test's known
- failures.
- * winsup.api/winsup.exp: Don't delete executable in case of
- unexpected pass, as well as in case of unexpected failure.
- * README: Update paragraph about expected failures.
-
-2001-05-21 Corinna Vinschen <corinna@vinschen.de>
-
- * winsup.api/mmaptest01.c: Add log output.
- * winsup.api/mmaptest02.c: Write log output to stdout.
- * winsup.api/mmaptest03.c: Ditto.
-
-2001-05-15 Corinna Vinschen <corinna@vinschen.de>
-
- * winsup.api/winsup.exp: Force linking all tests against binmode.o.
-
-2001-04-27 Corinna Vinschen <corinna@vinschen.de>
-
- * winsup.api/mmaptest04.c: Take care for binmode explicitely.
-
-2001-04-19 Corinna Vinschen <corinna@vinschen.de>
-
- * winsup.api/mmaptest02.c: New test.
- * winsup.api/mmaptest03.c: Ditto.
- * winsup.api/mmaptest04.c: Ditto.
-
-2001-04-03 Corinna Vinschen <corinna@vinschen.de>
-
- * winsup.api/mmaptest01.c: New test.
-
-2001-03-10 Egor Duda <deo@logos-m.ru>
-
- * winsup.api/ltp/access01.c: Avoid compilation error if X_OK
- isn't declared as a constant.
-
-2001-03-09 Egor Duda <deo@logos-m.ru>
-
- * config/default.exp: Remove unneeded debugging output.
- * Makefile.in: Use correct path to find dejagnu in local tree.
-
-2000-09-06 Egor Duda <deo@logos-m.ru>
-
- Add 'const' qualifiers where needed to avoid compiler warnings.
- * libltp/lib/tst_sig.c (tst_sig): Don't attempt to cleanup on
- fatal errors.
- * libltp/lib/parse_opts.c (parse_opts): Initialize allocated
- string to prevent heap corruption.
-
-2000-09-04 Egor Duda <deo@logos-m.ru>
-
- * Makefile.in: Always add libltp headers directory to headers
- search path.
-
-2000-09-02 Egor Duda <deo@logos-m.ru>
-
- * moved here everything from cygwin/testsuite/
- * configure.in: New file
- * configure: New file, generated from configure.in
- with autoconf 2.13
- * Makefile.in: New file
- * libltp/: New directory. Contains a support library
- and headers for tests in winsup.api/ltp/
- * config/default.exp: Print value of CYGWIN environment
- variable when test completed
- * winsup.api/samples/xf-sample-fail.c renamed to
- winsup.api/samples/sample-fail.c
- * winsup.api/samples/xf-sample-miscompile.c renamed to
- winsup.api/samples/sample-miscompile.c
- * winsup.api/known_bugs.tcl: New file.
- * winsup.api/winsup.exp: Xfail test if its name is in
- list from known_bugs.tcl
- * winsup.api/winsup.exp: Don't stop if compiled test executable
- can't be deleted
- * winsup.api/winsup.exp: If in verbose mode, write test output
- to <testname>.log
- * winsup.api/ltp/: New directory. Contains cygwin port of testsuite
- from Linux Testing Project
- * winsup.api/sigchld.c: New file. Test if process recieves SIGCHLD
- signal when its child terminates.
- * winsup.api/waitpid.c: New file. Test if waitpid function works
diff --git a/winsup/testsuite/Makefile.in b/winsup/testsuite/Makefile.in
deleted file mode 100644
index cdc96d80b..000000000
--- a/winsup/testsuite/Makefile.in
+++ /dev/null
@@ -1,196 +0,0 @@
-# Makefile.in for Cygwin's testsuite.
-# Copyright 2000, 2001, 2002, 2003 Red Hat, Inc.
-#
-# This file is part of Cygwin.
-#
-# This software is a copyrighted work licensed under the terms of the
-# Cygwin license. Please consult the file "CYGWIN_LICENSE" for
-# details.
-
-# This makefile requires GNU make.
-
-SHELL:=@SHELL@
-srcdir:=@srcdir@
-objdir:=.
-libltp_srcdir=$(srcdir)/libltp
-
-VPATH:=$(srcdir):$(libltp_srcdir)/lib
-
-target_alias:=@target_alias@
-build_alias:=@build_alias@
-host_alias:=@host_alias@
-prefix:=@prefix@
-
-program_transform_name:=@program_transform_name@
-exec_prefix:=@exec_prefix@
-bindir:=@bindir@
-libdir:=@libdir@
-ifeq ($(target_alias),$(host_alias))
-ifeq ($(build_alias),$(host_alias))
-tooldir:=$(exec_prefix)
-else
-tooldir:=$(exec_prefix)/$(target_alias)
-endif
-else
-tooldir:=$(exec_prefix)/$(target_alias)
-endif
-datadir:=@datadir@
-infodir:=@infodir@
-includedir:=@includedir@
-
-TESTSUP_INCLUDES:=-I$(libltp_srcdir)/include
-
-INSTALL:=@INSTALL@
-INSTALL_PROGRAM:=@INSTALL_PROGRAM@
-
-#
-# --enable options from configure
-#
-
-CC:=@CC@
-# FIXME: Which is it, CC or CC_FOR_TARGET?
-CC_FOR_TARGET:=$(CC)
-ifneq (,$(CFLAGS))
- override CFLAGS+= -MD $(TESTSUP_INCLUDES)
-else
- CFLAGS:=@CFLAGS@ -MD $(TESTSUP_INCLUDES)
-endif
-CXXFLAGS:=@CXXFLAGS@
-
-AR:=@AR@
-AR_FLAGS:=qv
-RANLIB:=@RANLIB@
-LD:=@LD@
-DLLTOOL:=@DLLTOOL@
-WINDRES:=@WINDRES@
-AS:=@AS@
-
-#
-# Include common definitions for winsup directory
-#
-include $(srcdir)/../Makefile.common
-
-override CC:=$(CC) $(GCC_INCLUDE)
-export CC
-
-INSTALL_DATA:=$(SHELL) $(updir1)/install-sh -c
-
-# Setup the testing framework, if you have one
-EXPECT = `if [ -f $${rootme}/../../expect/expect$(EXEEXT) ] ; then \
- echo $${rootme}/../../expect/expect$(EXEEXT) ; \
- else echo expect ; fi`
-
-RUNTEST = `if [ -f ${srcdir}/../../dejagnu/runtest ] ; then \
- echo ${srcdir}/../../dejagnu/runtest ; \
- else echo runtest; fi`
-RUNTESTFLAGS =
-
-ifdef VERBOSE
- RUNTESTFLAGS = -v
-endif
-
-RUNTIME=$(cygwin_build)/cygwin0.dll $(cygwin_build)/libcygwin0.a
-
-TESTSUP_LIB_NAME:=libltp.a
-TESTSUP_OFILES:=${sort ${addsuffix .o,${basename ${notdir ${wildcard $(libltp_srcdir)/lib/*.c}}}}}
-
-override ALL_CFLAGS:=${filter-out -O%,$(ALL_CFLAGS)}
-override COMPILE_CC:=${filter-out -O%,$(COMPILE_CC)}
-override CFLAGS:=${filter-out -O%,$(CFLAGS)}
-export CFLAGS
-
-.PHONY: all force dll_ofiles install all_target install_target all_host install_host
-
-.SUFFIXES:
-.SUFFIXES: .c .cc .def .a .o .d
-
-all_host=@all_host@
-install_host=@install_host@
-
-all: $(TESTSUP_LIB_NAME)
-
-force:
-
-install:
-
-install_host:
-
-clean:
- -rm -f *.o *.dll *.a *.exp junk *.bak *.base *.exe testsuite/* *.d *.dat
-
-maintainer-clean realclean: clean
- @echo "This command is intended for maintainers to use;"
- @echo "it deletes files that may require special tools to rebuild."
- -rm -fr configure
-
-# Rule to build libltp.a
-
-$(TESTSUP_LIB_NAME): $(TESTSUP_OFILES)
- $(AR) rcv temp.a $(TESTSUP_OFILES)
- mv temp.a $(TESTSUP_LIB_NAME)
-
-$(RUNTIME) : $(cygwin_build)/Makefile
- @$(MAKE) --no-print-dir -C $(@D) $(@F)
-
-# Rule to make stub library used by "make check"
-
-#
-
-# These targets are for the dejagnu testsuites. The file site.exp
-# contains global variables that all the testsuites will use.
-
-# Set to $(target_alias)/ for cross.
-target_subdir = @target_subdir@
-
-site.exp: ./config.status Makefile
- @echo "Making a new config file..."
- -@rm -f ./tmp?
- @touch site.exp
- -@mv site.exp site.bak
- @echo "## these variables are automatically generated by make ##" > ./tmp0
- @echo "# Do not edit here. If you wish to override these values" >> ./tmp0
- @echo "# add them to the last section" >> ./tmp0
- @echo "set rootme \"`pwd`\"" >> ./tmp0
- @echo "set runtime_root \"\$$rootme/../cygwin\"" >> ./tmp0
- @echo "set srcdir \"`cd ${srcdir}; pwd`\"" >> ./tmp0
- @echo "set host_triplet $(host_canonical)" >> ./tmp0
- @echo "set build_triplet $(build_canonical)" >> ./tmp0
- @echo "set target_triplet $(target)" >> ./tmp0
- @echo "set target_alias $(target_alias)" >> ./tmp0
- @echo "set CC \"$(CC)\"" >> ./tmp0
-# CFLAGS is set even though it's empty to show we reserve the right to set it.
- @echo "set CFLAGS \"$(ALL_CFLAGS)\"" >> ./tmp0
- echo "set tmpdir $(objdir)/testsuite" >> ./tmp0
- @echo "set ltp_includes \"$(libltp_srcdir)/include\"" >> ./tmp0
- @echo "## All variables above are generated by configure. Do Not Edit ##" >> ./tmp0
- @cat ./tmp0 > site.exp
- @cat site.bak | sed \
- -e '1,/^## All variables above are.*##/ d' >> site.exp
- -@rm -f ./tmp?
-
-testsuite/site.exp: site.exp
- if [ -d testsuite ]; then \
- true; \
- else \
- mkdir testsuite; \
- fi
- rm -rf testsuite/site.exp
- cp site.exp testsuite/site.exp
-
-# Note: we set the PATH so that we can pick up cygwin0.dll
-
-check: $(TESTSUP_LIB_NAME) $(RUNTIME) cygrun.exe testsuite/site.exp
- cd testsuite; \
- EXPECT=${EXPECT} ; export EXPECT ; \
- if [ -f $(bupdir2)/expect/expect ] ; then \
- TCL_LIBRARY=`cd .. ; cd ${srcdir}/../../tcl/library ; pwd` ; \
- export TCL_LIBRARY ; fi ; \
- PATH=$(bupdir)/cygwin:$${PATH} ;\
- $(RUNTEST) --tool winsup $(RUNTESTFLAGS) ;\
- $(RUNTEST) --tool cygload $(RUNTESTFLAGS)
-
-cygrun.o: cygrun.c
- $(CC) $(MINGW_CFLAGS) -o $@ -c $<
-
-cygrun.exe : cygrun.o
- $(CC) ${MINGW_LDFLAGS} -mno-cygwin -o $@ $<
diff --git a/winsup/testsuite/README b/winsup/testsuite/README
deleted file mode 100644
index 2f6749bb8..000000000
--- a/winsup/testsuite/README
+++ /dev/null
@@ -1,40 +0,0 @@
-1999-12-23 DJ Delorie <dj@cygnus.com>
-
-Here are some notes about adding and using this testsuite.
-
-First, all the programs are linked with libcygwin0.a, which is just
-like libcygwin.a, except that it wants cygwin0.dll, not
-cygwin1.dll. The testsuite adds the winsup build directory to the
-PATH so that cygwin0.dll can be found by windows during testing.
-
-Because we'll probably run into complaints about using two DLLs, we
-run cygrun.exe for each test. All this does is run the test with
-CreateProcess() so that we don't attempt to do the special code for
-when a cygwin program calls another cygwin program, as this might be a
-"multiple cygwins" problem.
-
-Any test that needs to test command line args or redirection needs to
-run such a child program itself, as the testsuite will not do any
-arguments or redirection for it. Same for fork, signals, etc.
-
-The testsuite/winsup.api subdirectory is for testing the API to
-cygwin1.dll ONLY. Create other subdirs under testsuite/ for other
-classes of testing.
-
-Tests in winsup.api/*.c or winsup.api/*/*.c (only one subdirectory
-level is allowed) either compile, run, and exit(0) or they fail.
-Either abort or exit with a non-zero code to indicate failure. Don't
-print anything to the screen if you can avoid it (except for failure
-reasons, of course). One .c file per test, no compile options are
-allowed (we're testing the api, not the compiler).
-
-Tests whose filename is mentioned in known-bugs.tcl will be *expected*
-to fail, and will "fail" if they compile, run, and return zero.
-
-"make check" will only work if you run it *on* an NT machine.
-Cross-checking is not supported.
-
-To test a subset of the test-suite, use
-$ make check CYGWIN_TESTSUITE_TESTS=regexp
-
-
diff --git a/winsup/testsuite/config/default.exp b/winsup/testsuite/config/default.exp
deleted file mode 100644
index 3936979a6..000000000
--- a/winsup/testsuite/config/default.exp
+++ /dev/null
@@ -1,13 +0,0 @@
-proc winsup_version {} {
- global env
- global rootme
- clone_output "\n[exec grep ^%%% $rootme/../cygwin/cygwin0.dll]\n"
- if { [info exists env(CYGWIN)] } {
- clone_output "CYGWIN=$env(CYGWIN)\n"
- } else {
- clone_output "CYGWIN=\n"
- }
-}
-
-proc winsup_exit {} {
-}
diff --git a/winsup/testsuite/configure b/winsup/testsuite/configure
deleted file mode 100644
index c57fde2cc..000000000
--- a/winsup/testsuite/configure
+++ /dev/null
@@ -1,1193 +0,0 @@
-#! /bin/sh
-
-# Guess values for system-dependent variables and create Makefiles.
-# Generated automatically using autoconf version 2.13
-# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
-#
-# This configure script is free software; the Free Software Foundation
-# gives unlimited permission to copy, distribute and modify it.
-
-# Defaults:
-ac_help=
-ac_default_prefix=/usr/local
-# Any additions from configure.in:
-
-# Initialize some variables set by options.
-# The variables have the same names as the options, with
-# dashes changed to underlines.
-build=NONE
-cache_file=./config.cache
-exec_prefix=NONE
-host=NONE
-no_create=
-nonopt=NONE
-no_recursion=
-prefix=NONE
-program_prefix=NONE
-program_suffix=NONE
-program_transform_name=s,x,x,
-silent=
-site=
-srcdir=
-target=NONE
-verbose=
-x_includes=NONE
-x_libraries=NONE
-bindir='${exec_prefix}/bin'
-sbindir='${exec_prefix}/sbin'
-libexecdir='${exec_prefix}/libexec'
-datadir='${prefix}/share'
-sysconfdir='${prefix}/etc'
-sharedstatedir='${prefix}/com'
-localstatedir='${prefix}/var'
-libdir='${exec_prefix}/lib'
-includedir='${prefix}/include'
-oldincludedir='/usr/include'
-infodir='${prefix}/info'
-mandir='${prefix}/man'
-
-# Initialize some other variables.
-subdirs=
-MFLAGS= MAKEFLAGS=
-SHELL=${CONFIG_SHELL-/bin/sh}
-# Maximum number of lines to put in a shell here document.
-ac_max_here_lines=12
-
-ac_prev=
-for ac_option
-do
-
- # If the previous option needs an argument, assign it.
- if test -n "$ac_prev"; then
- eval "$ac_prev=\$ac_option"
- ac_prev=
- continue
- fi
-
- case "$ac_option" in
- -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
- *) ac_optarg= ;;
- esac
-
- # Accept the important Cygnus configure options, so we can diagnose typos.
-
- case "$ac_option" in
-
- -bindir | --bindir | --bindi | --bind | --bin | --bi)
- ac_prev=bindir ;;
- -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
- bindir="$ac_optarg" ;;
-
- -build | --build | --buil | --bui | --bu)
- ac_prev=build ;;
- -build=* | --build=* | --buil=* | --bui=* | --bu=*)
- build="$ac_optarg" ;;
-
- -cache-file | --cache-file | --cache-fil | --cache-fi \
- | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
- ac_prev=cache_file ;;
- -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
- | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
- cache_file="$ac_optarg" ;;
-
- -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
- ac_prev=datadir ;;
- -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
- | --da=*)
- datadir="$ac_optarg" ;;
-
- -disable-* | --disable-*)
- ac_feature=`echo $ac_option|sed -e 's/-*disable-//'`
- # Reject names that are not valid shell variable names.
- if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then
- { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
- fi
- ac_feature=`echo $ac_feature| sed 's/-/_/g'`
- eval "enable_${ac_feature}=no" ;;
-
- -enable-* | --enable-*)
- ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'`
- # Reject names that are not valid shell variable names.
- if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then
- { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
- fi
- ac_feature=`echo $ac_feature| sed 's/-/_/g'`
- case "$ac_option" in
- *=*) ;;
- *) ac_optarg=yes ;;
- esac
- eval "enable_${ac_feature}='$ac_optarg'" ;;
-
- -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
- | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
- | --exec | --exe | --ex)
- ac_prev=exec_prefix ;;
- -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
- | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
- | --exec=* | --exe=* | --ex=*)
- exec_prefix="$ac_optarg" ;;
-
- -gas | --gas | --ga | --g)
- # Obsolete; use --with-gas.
- with_gas=yes ;;
-
- -help | --help | --hel | --he)
- # Omit some internal or obsolete options to make the list less imposing.
- # This message is too long to be a string in the A/UX 3.1 sh.
- cat << EOF
-Usage: configure [options] [host]
-Options: [defaults in brackets after descriptions]
-Configuration:
- --cache-file=FILE cache test results in FILE
- --help print this message
- --no-create do not create output files
- --quiet, --silent do not print \`checking...' messages
- --version print the version of autoconf that created configure
-Directory and file names:
- --prefix=PREFIX install architecture-independent files in PREFIX
- [$ac_default_prefix]
- --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
- [same as prefix]
- --bindir=DIR user executables in DIR [EPREFIX/bin]
- --sbindir=DIR system admin executables in DIR [EPREFIX/sbin]
- --libexecdir=DIR program executables in DIR [EPREFIX/libexec]
- --datadir=DIR read-only architecture-independent data in DIR
- [PREFIX/share]
- --sysconfdir=DIR read-only single-machine data in DIR [PREFIX/etc]
- --sharedstatedir=DIR modifiable architecture-independent data in DIR
- [PREFIX/com]
- --localstatedir=DIR modifiable single-machine data in DIR [PREFIX/var]
- --libdir=DIR object code libraries in DIR [EPREFIX/lib]
- --includedir=DIR C header files in DIR [PREFIX/include]
- --oldincludedir=DIR C header files for non-gcc in DIR [/usr/include]
- --infodir=DIR info documentation in DIR [PREFIX/info]
- --mandir=DIR man documentation in DIR [PREFIX/man]
- --srcdir=DIR find the sources in DIR [configure dir or ..]
- --program-prefix=PREFIX prepend PREFIX to installed program names
- --program-suffix=SUFFIX append SUFFIX to installed program names
- --program-transform-name=PROGRAM
- run sed PROGRAM on installed program names
-EOF
- cat << EOF
-Host type:
- --build=BUILD configure for building on BUILD [BUILD=HOST]
- --host=HOST configure for HOST [guessed]
- --target=TARGET configure for TARGET [TARGET=HOST]
-Features and packages:
- --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
- --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
- --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
- --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
- --x-includes=DIR X include files are in DIR
- --x-libraries=DIR X library files are in DIR
-EOF
- if test -n "$ac_help"; then
- echo "--enable and --with options recognized:$ac_help"
- fi
- exit 0 ;;
-
- -host | --host | --hos | --ho)
- ac_prev=host ;;
- -host=* | --host=* | --hos=* | --ho=*)
- host="$ac_optarg" ;;
-
- -includedir | --includedir | --includedi | --included | --include \
- | --includ | --inclu | --incl | --inc)
- ac_prev=includedir ;;
- -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
- | --includ=* | --inclu=* | --incl=* | --inc=*)
- includedir="$ac_optarg" ;;
-
- -infodir | --infodir | --infodi | --infod | --info | --inf)
- ac_prev=infodir ;;
- -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
- infodir="$ac_optarg" ;;
-
- -libdir | --libdir | --libdi | --libd)
- ac_prev=libdir ;;
- -libdir=* | --libdir=* | --libdi=* | --libd=*)
- libdir="$ac_optarg" ;;
-
- -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
- | --libexe | --libex | --libe)
- ac_prev=libexecdir ;;
- -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
- | --libexe=* | --libex=* | --libe=*)
- libexecdir="$ac_optarg" ;;
-
- -localstatedir | --localstatedir | --localstatedi | --localstated \
- | --localstate | --localstat | --localsta | --localst \
- | --locals | --local | --loca | --loc | --lo)
- ac_prev=localstatedir ;;
- -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
- | --localstate=* | --localstat=* | --localsta=* | --localst=* \
- | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
- localstatedir="$ac_optarg" ;;
-
- -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
- ac_prev=mandir ;;
- -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
- mandir="$ac_optarg" ;;
-
- -nfp | --nfp | --nf)
- # Obsolete; use --without-fp.
- with_fp=no ;;
-
- -no-create | --no-create | --no-creat | --no-crea | --no-cre \
- | --no-cr | --no-c)
- no_create=yes ;;
-
- -no-recursion | --no-recursion | --no-recursio | --no-recursi \
- | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
- no_recursion=yes ;;
-
- -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
- | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
- | --oldin | --oldi | --old | --ol | --o)
- ac_prev=oldincludedir ;;
- -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
- | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
- | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
- oldincludedir="$ac_optarg" ;;
-
- -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
- ac_prev=prefix ;;
- -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
- prefix="$ac_optarg" ;;
-
- -program-prefix | --program-prefix | --program-prefi | --program-pref \
- | --program-pre | --program-pr | --program-p)
- ac_prev=program_prefix ;;
- -program-prefix=* | --program-prefix=* | --program-prefi=* \
- | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
- program_prefix="$ac_optarg" ;;
-
- -program-suffix | --program-suffix | --program-suffi | --program-suff \
- | --program-suf | --program-su | --program-s)
- ac_prev=program_suffix ;;
- -program-suffix=* | --program-suffix=* | --program-suffi=* \
- | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
- program_suffix="$ac_optarg" ;;
-
- -program-transform-name | --program-transform-name \
- | --program-transform-nam | --program-transform-na \
- | --program-transform-n | --program-transform- \
- | --program-transform | --program-transfor \
- | --program-transfo | --program-transf \
- | --program-trans | --program-tran \
- | --progr-tra | --program-tr | --program-t)
- ac_prev=program_transform_name ;;
- -program-transform-name=* | --program-transform-name=* \
- | --program-transform-nam=* | --program-transform-na=* \
- | --program-transform-n=* | --program-transform-=* \
- | --program-transform=* | --program-transfor=* \
- | --program-transfo=* | --program-transf=* \
- | --program-trans=* | --program-tran=* \
- | --progr-tra=* | --program-tr=* | --program-t=*)
- program_transform_name="$ac_optarg" ;;
-
- -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- | -silent | --silent | --silen | --sile | --sil)
- silent=yes ;;
-
- -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
- ac_prev=sbindir ;;
- -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
- | --sbi=* | --sb=*)
- sbindir="$ac_optarg" ;;
-
- -sharedstatedir | --sharedstatedir | --sharedstatedi \
- | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
- | --sharedst | --shareds | --shared | --share | --shar \
- | --sha | --sh)
- ac_prev=sharedstatedir ;;
- -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
- | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
- | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
- | --sha=* | --sh=*)
- sharedstatedir="$ac_optarg" ;;
-
- -site | --site | --sit)
- ac_prev=site ;;
- -site=* | --site=* | --sit=*)
- site="$ac_optarg" ;;
-
- -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
- ac_prev=srcdir ;;
- -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
- srcdir="$ac_optarg" ;;
-
- -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
- | --syscon | --sysco | --sysc | --sys | --sy)
- ac_prev=sysconfdir ;;
- -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
- | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
- sysconfdir="$ac_optarg" ;;
-
- -target | --target | --targe | --targ | --tar | --ta | --t)
- ac_prev=target ;;
- -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
- target="$ac_optarg" ;;
-
- -v | -verbose | --verbose | --verbos | --verbo | --verb)
- verbose=yes ;;
-
- -version | --version | --versio | --versi | --vers)
- echo "configure generated by autoconf version 2.13"
- exit 0 ;;
-
- -with-* | --with-*)
- ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'`
- # Reject names that are not valid shell variable names.
- if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then
- { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
- fi
- ac_package=`echo $ac_package| sed 's/-/_/g'`
- case "$ac_option" in
- *=*) ;;
- *) ac_optarg=yes ;;
- esac
- eval "with_${ac_package}='$ac_optarg'" ;;
-
- -without-* | --without-*)
- ac_package=`echo $ac_option|sed -e 's/-*without-//'`
- # Reject names that are not valid shell variable names.
- if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then
- { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
- fi
- ac_package=`echo $ac_package| sed 's/-/_/g'`
- eval "with_${ac_package}=no" ;;
-
- --x)
- # Obsolete; use --with-x.
- with_x=yes ;;
-
- -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
- | --x-incl | --x-inc | --x-in | --x-i)
- ac_prev=x_includes ;;
- -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
- | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
- x_includes="$ac_optarg" ;;
-
- -x-libraries | --x-libraries | --x-librarie | --x-librari \
- | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
- ac_prev=x_libraries ;;
- -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
- | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
- x_libraries="$ac_optarg" ;;
-
- -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; }
- ;;
-
- *)
- if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then
- echo "configure: warning: $ac_option: invalid host type" 1>&2
- fi
- if test "x$nonopt" != xNONE; then
- { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; }
- fi
- nonopt="$ac_option"
- ;;
-
- esac
-done
-
-if test -n "$ac_prev"; then
- { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; }
-fi
-
-trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
-
-# File descriptor usage:
-# 0 standard input
-# 1 file creation
-# 2 errors and warnings
-# 3 some systems may open it to /dev/tty
-# 4 used on the Kubota Titan
-# 6 checking for... messages and results
-# 5 compiler messages saved in config.log
-if test "$silent" = yes; then
- exec 6>/dev/null
-else
- exec 6>&1
-fi
-exec 5>./config.log
-
-echo "\
-This file contains any messages produced by compilers while
-running configure, to aid debugging if configure makes a mistake.
-" 1>&5
-
-# Strip out --no-create and --no-recursion so they do not pile up.
-# Also quote any args containing shell metacharacters.
-ac_configure_args=
-for ac_arg
-do
- case "$ac_arg" in
- -no-create | --no-create | --no-creat | --no-crea | --no-cre \
- | --no-cr | --no-c) ;;
- -no-recursion | --no-recursion | --no-recursio | --no-recursi \
- | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;;
- *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*)
- ac_configure_args="$ac_configure_args '$ac_arg'" ;;
- *) ac_configure_args="$ac_configure_args $ac_arg" ;;
- esac
-done
-
-# NLS nuisances.
-# Only set these to C if already set. These must not be set unconditionally
-# because not all systems understand e.g. LANG=C (notably SCO).
-# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'!
-# Non-C LC_CTYPE values break the ctype check.
-if test "${LANG+set}" = set; then LANG=C; export LANG; fi
-if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
-if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi
-if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi
-
-# confdefs.h avoids OS command line length limits that DEFS can exceed.
-rm -rf conftest* confdefs.h
-# AIX cpp loses on an empty file, so make sure it contains at least a newline.
-echo > confdefs.h
-
-# A filename unique to this package, relative to the directory that
-# configure is in, which we can look for to find out if srcdir is correct.
-ac_unique_file=Makefile.in
-
-# Find the source files, if location was not specified.
-if test -z "$srcdir"; then
- ac_srcdir_defaulted=yes
- # Try the directory containing this script, then its parent.
- ac_prog=$0
- ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'`
- test "x$ac_confdir" = "x$ac_prog" && ac_confdir=.
- srcdir=$ac_confdir
- if test ! -r $srcdir/$ac_unique_file; then
- srcdir=..
- fi
-else
- ac_srcdir_defaulted=no
-fi
-if test ! -r $srcdir/$ac_unique_file; then
- if test "$ac_srcdir_defaulted" = yes; then
- { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; }
- else
- { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; }
- fi
-fi
-srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'`
-
-# Prefer explicitly selected file to automatically selected ones.
-if test -z "$CONFIG_SITE"; then
- if test "x$prefix" != xNONE; then
- CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
- else
- CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
- fi
-fi
-for ac_site_file in $CONFIG_SITE; do
- if test -r "$ac_site_file"; then
- echo "loading site script $ac_site_file"
- . "$ac_site_file"
- fi
-done
-
-if test -r "$cache_file"; then
- echo "loading cache $cache_file"
- . $cache_file
-else
- echo "creating cache $cache_file"
- > $cache_file
-fi
-
-ac_ext=c
-# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
-ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
-cross_compiling=$ac_cv_prog_cc_cross
-
-ac_exeext=
-ac_objext=o
-if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
- # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
- if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
- ac_n= ac_c='
-' ac_t=' '
- else
- ac_n=-n ac_c= ac_t=
- fi
-else
- ac_n= ac_c='\c' ac_t=
-fi
-
-
-
-# Extract the first word of "gcc", so it can be a program name with args.
-set dummy gcc; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:529: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
- ac_dummy="$PATH"
- for ac_dir in $ac_dummy; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- ac_cv_prog_CC="gcc"
- break
- fi
- done
- IFS="$ac_save_ifs"
-fi
-fi
-CC="$ac_cv_prog_CC"
-if test -n "$CC"; then
- echo "$ac_t""$CC" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
-if test -z "$CC"; then
- # Extract the first word of "cc", so it can be a program name with args.
-set dummy cc; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:559: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
- ac_prog_rejected=no
- ac_dummy="$PATH"
- for ac_dir in $ac_dummy; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then
- ac_prog_rejected=yes
- continue
- fi
- ac_cv_prog_CC="cc"
- break
- fi
- done
- IFS="$ac_save_ifs"
-if test $ac_prog_rejected = yes; then
- # We found a bogon in the path, so make sure we never use it.
- set dummy $ac_cv_prog_CC
- shift
- if test $# -gt 0; then
- # We chose a different compiler from the bogus one.
- # However, it has the same basename, so the bogon will be chosen
- # first if we set CC to just the basename; use the full file name.
- shift
- set dummy "$ac_dir/$ac_word" "$@"
- shift
- ac_cv_prog_CC="$@"
- fi
-fi
-fi
-fi
-CC="$ac_cv_prog_CC"
-if test -n "$CC"; then
- echo "$ac_t""$CC" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
- if test -z "$CC"; then
- case "`uname -s`" in
- *win32* | *WIN32*)
- # Extract the first word of "cl", so it can be a program name with args.
-set dummy cl; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:610: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
- ac_dummy="$PATH"
- for ac_dir in $ac_dummy; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- ac_cv_prog_CC="cl"
- break
- fi
- done
- IFS="$ac_save_ifs"
-fi
-fi
-CC="$ac_cv_prog_CC"
-if test -n "$CC"; then
- echo "$ac_t""$CC" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
- ;;
- esac
- fi
- test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; }
-fi
-
-echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6
-echo "configure:642: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
-
-ac_ext=c
-# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
-ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
-cross_compiling=$ac_cv_prog_cc_cross
-
-cat > conftest.$ac_ext << EOF
-
-#line 653 "configure"
-#include "confdefs.h"
-
-main(){return(0);}
-EOF
-if { (eval echo configure:658: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
- ac_cv_prog_cc_works=yes
- # If we can't run a trivial program, we are probably using a cross compiler.
- if (./conftest; exit) 2>/dev/null; then
- ac_cv_prog_cc_cross=no
- else
- ac_cv_prog_cc_cross=yes
- fi
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- ac_cv_prog_cc_works=no
-fi
-rm -fr conftest*
-ac_ext=c
-# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
-ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
-cross_compiling=$ac_cv_prog_cc_cross
-
-echo "$ac_t""$ac_cv_prog_cc_works" 1>&6
-if test $ac_cv_prog_cc_works = no; then
- { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; }
-fi
-echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
-echo "configure:684: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
-echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6
-cross_compiling=$ac_cv_prog_cc_cross
-
-echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
-echo "configure:689: checking whether we are using GNU C" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.c <<EOF
-#ifdef __GNUC__
- yes;
-#endif
-EOF
-if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:698: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
- ac_cv_prog_gcc=yes
-else
- ac_cv_prog_gcc=no
-fi
-fi
-
-echo "$ac_t""$ac_cv_prog_gcc" 1>&6
-
-if test $ac_cv_prog_gcc = yes; then
- GCC=yes
-else
- GCC=
-fi
-
-ac_test_CFLAGS="${CFLAGS+set}"
-ac_save_CFLAGS="$CFLAGS"
-CFLAGS=
-echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
-echo "configure:717: checking whether ${CC-cc} accepts -g" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- echo 'void f(){}' > conftest.c
-if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then
- ac_cv_prog_cc_g=yes
-else
- ac_cv_prog_cc_g=no
-fi
-rm -f conftest*
-
-fi
-
-echo "$ac_t""$ac_cv_prog_cc_g" 1>&6
-if test "$ac_test_CFLAGS" = set; then
- CFLAGS="$ac_save_CFLAGS"
-elif test $ac_cv_prog_cc_g = yes; then
- if test "$GCC" = yes; then
- CFLAGS="-g -O2"
- else
- CFLAGS="-g"
- fi
-else
- if test "$GCC" = yes; then
- CFLAGS="-O2"
- else
- CFLAGS=
- fi
-fi
-
-echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
-echo "configure:749: checking how to run the C preprocessor" >&5
-# On Suns, sometimes $CPP names a directory.
-if test -n "$CPP" && test -d "$CPP"; then
- CPP=
-fi
-if test -z "$CPP"; then
-if eval "test \"`echo '$''{'ac_cv_prog_CPP'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- # This must be in double quotes, not single quotes, because CPP may get
- # substituted into the Makefile and "${CC-cc}" will confuse make.
- CPP="${CC-cc} -E"
- # On the NeXT, cc -E runs the code through the compiler's parser,
- # not just through cpp.
- cat > conftest.$ac_ext <<EOF
-#line 764 "configure"
-#include "confdefs.h"
-#include <assert.h>
-Syntax Error
-EOF
-ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:770: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
-if test -z "$ac_err"; then
- :
-else
- echo "$ac_err" >&5
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- CPP="${CC-cc} -E -traditional-cpp"
- cat > conftest.$ac_ext <<EOF
-#line 781 "configure"
-#include "confdefs.h"
-#include <assert.h>
-Syntax Error
-EOF
-ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:787: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
-if test -z "$ac_err"; then
- :
-else
- echo "$ac_err" >&5
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- CPP="${CC-cc} -nologo -E"
- cat > conftest.$ac_ext <<EOF
-#line 798 "configure"
-#include "confdefs.h"
-#include <assert.h>
-Syntax Error
-EOF
-ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:804: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
-if test -z "$ac_err"; then
- :
-else
- echo "$ac_err" >&5
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- CPP=/lib/cpp
-fi
-rm -f conftest*
-fi
-rm -f conftest*
-fi
-rm -f conftest*
- ac_cv_prog_CPP="$CPP"
-fi
- CPP="$ac_cv_prog_CPP"
-else
- ac_cv_prog_CPP="$CPP"
-fi
-echo "$ac_t""$CPP" 1>&6
-
-ac_aux_dir=
-for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do
- if test -f $ac_dir/install-sh; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/install-sh -c"
- break
- elif test -f $ac_dir/install.sh; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/install.sh -c"
- break
- fi
-done
-if test -z "$ac_aux_dir"; then
- { echo "configure: error: can not find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." 1>&2; exit 1; }
-fi
-ac_config_guess=$ac_aux_dir/config.guess
-ac_config_sub=$ac_aux_dir/config.sub
-ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
-
-
-# Make sure we can run config.sub.
-if ${CONFIG_SHELL-/bin/sh} $ac_config_sub sun4 >/dev/null 2>&1; then :
-else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
-fi
-
-echo $ac_n "checking host system type""... $ac_c" 1>&6
-echo "configure:854: checking host system type" >&5
-
-host_alias=$host
-case "$host_alias" in
-NONE)
- case $nonopt in
- NONE)
- if host_alias=`${CONFIG_SHELL-/bin/sh} $ac_config_guess`; then :
- else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; }
- fi ;;
- *) host_alias=$nonopt ;;
- esac ;;
-esac
-
-host=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $host_alias`
-host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
-host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
-host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
-echo "$ac_t""$host" 1>&6
-
-echo $ac_n "checking build system type""... $ac_c" 1>&6
-echo "configure:875: checking build system type" >&5
-
-build_alias=$build
-case "$build_alias" in
-NONE)
- case $nonopt in
- NONE) build_alias=$host_alias ;;
- *) build_alias=$nonopt ;;
- esac ;;
-esac
-
-build=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $build_alias`
-build_cpu=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
-build_vendor=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
-build_os=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
-echo "$ac_t""$build" 1>&6
-
-if test $host != $build; then
- ac_tool_prefix=${host_alias}-
-else
- ac_tool_prefix=
-fi
-
-# Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
-set dummy ${ac_tool_prefix}ar; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:901: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$AR"; then
- ac_cv_prog_AR="$AR" # Let the user override the test.
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
- ac_dummy="$PATH"
- for ac_dir in $ac_dummy; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- ac_cv_prog_AR="${ac_tool_prefix}ar"
- break
- fi
- done
- IFS="$ac_save_ifs"
- test -z "$ac_cv_prog_AR" && ac_cv_prog_AR="ar"
-fi
-fi
-AR="$ac_cv_prog_AR"
-if test -n "$AR"; then
- echo "$ac_t""$AR" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
-
-
-
-trap '' 1 2 15
-cat > confcache <<\EOF
-# This file is a shell script that caches the results of configure
-# tests run on this system so they can be shared between configure
-# scripts and configure runs. It is not useful on other systems.
-# If it contains results you don't want to keep, you may remove or edit it.
-#
-# By default, configure uses ./config.cache as the cache file,
-# creating it if it does not exist already. You can give configure
-# the --cache-file=FILE option to use a different cache file; that is
-# what configure does when it calls configure scripts in
-# subdirectories, so they share the cache.
-# Giving --cache-file=/dev/null disables caching, for debugging configure.
-# config.status only pays attention to the cache file if you give it the
-# --recheck option to rerun configure.
-#
-EOF
-# The following way of writing the cache mishandles newlines in values,
-# but we know of no workaround that is simple, portable, and efficient.
-# So, don't put newlines in cache variables' values.
-# Ultrix sh set writes to stderr and can't be redirected directly,
-# and sets the high bit in the cache file unless we assign to the vars.
-(set) 2>&1 |
- case `(ac_space=' '; set | grep ac_space) 2>&1` in
- *ac_space=\ *)
- # `set' does not quote correctly, so add quotes (double-quote substitution
- # turns \\\\ into \\, and sed turns \\ into \).
- sed -n \
- -e "s/'/'\\\\''/g" \
- -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p"
- ;;
- *)
- # `set' quotes correctly as required by POSIX, so do not add quotes.
- sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p'
- ;;
- esac >> confcache
-if cmp -s $cache_file confcache; then
- :
-else
- if test -w $cache_file; then
- echo "updating cache $cache_file"
- cat confcache > $cache_file
- else
- echo "not updating unwritable cache $cache_file"
- fi
-fi
-rm -f confcache
-
-trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
-
-test "x$prefix" = xNONE && prefix=$ac_default_prefix
-# Let make expand exec_prefix.
-test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
-
-# Any assignment to VPATH causes Sun make to only execute
-# the first set of double-colon rules, so remove it if not needed.
-# If there is a colon in the path, we need to keep it.
-if test "x$srcdir" = x.; then
- ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d'
-fi
-
-trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15
-
-# Transform confdefs.h into DEFS.
-# Protect against shell expansion while executing Makefile rules.
-# Protect against Makefile macro expansion.
-cat > conftest.defs <<\EOF
-s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%-D\1=\2%g
-s%[ `~#$^&*(){}\\|;'"<>?]%\\&%g
-s%\[%\\&%g
-s%\]%\\&%g
-s%\$%$$%g
-EOF
-DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '`
-rm -f conftest.defs
-
-
-# Without the "./", some shells look in PATH for config.status.
-: ${CONFIG_STATUS=./config.status}
-
-echo creating $CONFIG_STATUS
-rm -f $CONFIG_STATUS
-cat > $CONFIG_STATUS <<EOF
-#! /bin/sh
-# Generated automatically by configure.
-# Run this file to recreate the current configuration.
-# This directory was configured as follows,
-# on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
-#
-# $0 $ac_configure_args
-#
-# Compiler output produced by configure, useful for debugging
-# configure, is in ./config.log if it exists.
-
-ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]"
-for ac_option
-do
- case "\$ac_option" in
- -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
- echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
- exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
- -version | --version | --versio | --versi | --vers | --ver | --ve | --v)
- echo "$CONFIG_STATUS generated by autoconf version 2.13"
- exit 0 ;;
- -help | --help | --hel | --he | --h)
- echo "\$ac_cs_usage"; exit 0 ;;
- *) echo "\$ac_cs_usage"; exit 1 ;;
- esac
-done
-
-ac_given_srcdir=$srcdir
-
-trap 'rm -fr `echo "Makefile" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
-EOF
-cat >> $CONFIG_STATUS <<EOF
-
-# Protect against being on the right side of a sed subst in config.status.
-sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&%]/\\\\&/g;
- s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF
-$ac_vpsub
-$extrasub
-s%@SHELL@%$SHELL%g
-s%@CFLAGS@%$CFLAGS%g
-s%@CPPFLAGS@%$CPPFLAGS%g
-s%@CXXFLAGS@%$CXXFLAGS%g
-s%@FFLAGS@%$FFLAGS%g
-s%@DEFS@%$DEFS%g
-s%@LDFLAGS@%$LDFLAGS%g
-s%@LIBS@%$LIBS%g
-s%@exec_prefix@%$exec_prefix%g
-s%@prefix@%$prefix%g
-s%@program_transform_name@%$program_transform_name%g
-s%@bindir@%$bindir%g
-s%@sbindir@%$sbindir%g
-s%@libexecdir@%$libexecdir%g
-s%@datadir@%$datadir%g
-s%@sysconfdir@%$sysconfdir%g
-s%@sharedstatedir@%$sharedstatedir%g
-s%@localstatedir@%$localstatedir%g
-s%@libdir@%$libdir%g
-s%@includedir@%$includedir%g
-s%@oldincludedir@%$oldincludedir%g
-s%@infodir@%$infodir%g
-s%@mandir@%$mandir%g
-s%@CC@%$CC%g
-s%@CPP@%$CPP%g
-s%@host@%$host%g
-s%@host_alias@%$host_alias%g
-s%@host_cpu@%$host_cpu%g
-s%@host_vendor@%$host_vendor%g
-s%@host_os@%$host_os%g
-s%@build@%$build%g
-s%@build_alias@%$build_alias%g
-s%@build_cpu@%$build_cpu%g
-s%@build_vendor@%$build_vendor%g
-s%@build_os@%$build_os%g
-s%@AR@%$AR%g
-
-CEOF
-EOF
-
-cat >> $CONFIG_STATUS <<\EOF
-
-# Split the substitutions into bite-sized pieces for seds with
-# small command number limits, like on Digital OSF/1 and HP-UX.
-ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script.
-ac_file=1 # Number of current file.
-ac_beg=1 # First line for current file.
-ac_end=$ac_max_sed_cmds # Line after last line for current file.
-ac_more_lines=:
-ac_sed_cmds=""
-while $ac_more_lines; do
- if test $ac_beg -gt 1; then
- sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file
- else
- sed "${ac_end}q" conftest.subs > conftest.s$ac_file
- fi
- if test ! -s conftest.s$ac_file; then
- ac_more_lines=false
- rm -f conftest.s$ac_file
- else
- if test -z "$ac_sed_cmds"; then
- ac_sed_cmds="sed -f conftest.s$ac_file"
- else
- ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file"
- fi
- ac_file=`expr $ac_file + 1`
- ac_beg=$ac_end
- ac_end=`expr $ac_end + $ac_max_sed_cmds`
- fi
-done
-if test -z "$ac_sed_cmds"; then
- ac_sed_cmds=cat
-fi
-EOF
-
-cat >> $CONFIG_STATUS <<EOF
-
-CONFIG_FILES=\${CONFIG_FILES-"Makefile"}
-EOF
-cat >> $CONFIG_STATUS <<\EOF
-for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
- # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
- case "$ac_file" in
- *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
- ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
- *) ac_file_in="${ac_file}.in" ;;
- esac
-
- # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories.
-
- # Remove last slash and all that follows it. Not all systems have dirname.
- ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
- if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
- # The file is in a subdirectory.
- test ! -d "$ac_dir" && mkdir "$ac_dir"
- ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`"
- # A "../" for each directory in $ac_dir_suffix.
- ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'`
- else
- ac_dir_suffix= ac_dots=
- fi
-
- case "$ac_given_srcdir" in
- .) srcdir=.
- if test -z "$ac_dots"; then top_srcdir=.
- else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;;
- /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;;
- *) # Relative path.
- srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix"
- top_srcdir="$ac_dots$ac_given_srcdir" ;;
- esac
-
-
- echo creating "$ac_file"
- rm -f "$ac_file"
- configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure."
- case "$ac_file" in
- *Makefile*) ac_comsub="1i\\
-# $configure_input" ;;
- *) ac_comsub= ;;
- esac
-
- ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
- sed -e "$ac_comsub
-s%@configure_input@%$configure_input%g
-s%@srcdir@%$srcdir%g
-s%@top_srcdir@%$top_srcdir%g
-" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file
-fi; done
-rm -f conftest.s*
-
-EOF
-cat >> $CONFIG_STATUS <<EOF
-
-EOF
-cat >> $CONFIG_STATUS <<\EOF
-
-exit 0
-EOF
-chmod +x $CONFIG_STATUS
-rm -fr confdefs* $ac_clean_files
-test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1
-
diff --git a/winsup/testsuite/configure.in b/winsup/testsuite/configure.in
deleted file mode 100755
index 6d198437d..000000000
--- a/winsup/testsuite/configure.in
+++ /dev/null
@@ -1,19 +0,0 @@
-dnl Autoconf configure script for Cygwin's testsuite.
-dnl Copyright 2000 Red Hat, Inc.
-dnl
-dnl This file is part of Cygwin.
-dnl
-dnl This software is a copyrighted work licensed under the terms of the
-dnl Cygwin license. Please consult the file "CYGWIN_LICENSE" for
-dnl details.
-dnl
-dnl Process this file with autoconf to produce a configure script.
-
-AC_PREREQ(2.12)
-AC_INIT(Makefile.in)
-
-AC_PROG_CC
-AC_PROG_CPP
-AC_CHECK_TOOL(AR,ar)
-
-AC_OUTPUT(Makefile)
diff --git a/winsup/testsuite/cygload/Makefile b/winsup/testsuite/cygload/Makefile
deleted file mode 100644
index e88dde3cd..000000000
--- a/winsup/testsuite/cygload/Makefile
+++ /dev/null
@@ -1,36 +0,0 @@
-# Makefile for cygload
-
-###
-### MinGW options
-###
-CC = gcc
-CFLAGS = -mno-cygwin -Wall
-LINKFLAGS = -lstdc++ -Wl,-e,_cygloadCRTStartup@0
-
-###
-### MSVC options
-###
-ifndef MSVCDir
-MSVCDir = C:/cygwin/usr/local/tools/i686_win32/vc7/Vc7
-endif
-
-CL = $(MSVCDir)/bin/cl
-# If you want to look at the assembly, add "/Famsvc-cygload.asm /FAs".
-MSVCCFLAGS = /nologo /GX /MDd /Zi /W4 /TP
-MSVCINCLUDES = /I $(MSVCDir)/include /I $(MSVCDir)/PlatformSDK/Include
-# Using /ENTRY seems to automatically invoke /NODEFAULTLIBS.
-MSVCLIBS = /link /LIBPATH:$(MSVCDir)/lib /LIBPATH:$(MSVCDir)/PlatformSDK/lib \
- /ENTRY:cygloadCRTStartup uuid.lib msvcprtd.lib msvcrtd.lib \
- oldnames.lib kernel32.lib
-
-all: mingw-cygload.exe
-
-mingw-cygload.exe: cygload.cc cygload.h
- $(CC) $(CFLAGS) $< -o $@ $(LINKFLAGS)
-
-msvc-cygload.exe: cygload.cc cygload.h
- $(CL) $(MSVCCFLAGS) $(MSVCINCLUDES) $< /o $@ $(MSVCLIBS)
-
-clean:
- rm -f msvc-cygload.exe msvc-cygload.ilk cygload.obj \
- msvc-cygload.pdb vc70.pdb mingw-cygload.exe
diff --git a/winsup/testsuite/cygload/README b/winsup/testsuite/cygload/README
deleted file mode 100644
index a61f73bee..000000000
--- a/winsup/testsuite/cygload/README
+++ /dev/null
@@ -1,18 +0,0 @@
-cygload demonstrates how to dynamically load cygwin1.dll. The default
-build uses MinGW to compile it; the Makefile also shows how to build
-it using the Microsoft compiler.
-
-By default, the program will silently test basic functionality:
- * Making space on the stack for cygtls
- * Loading and initializing cygwin1.dll
- * Path translation
- * Error handling
- * Signal handling
-
-Command line parameters are:
-
- -v Verbose output
- -testinterrupts Pause for 30 seconds to allow testing command line
- interrupts (^C)
- -cygwin xxx Specifies an alternative DLL to load instead of
- cygwin1.dll.
diff --git a/winsup/testsuite/cygload/cygload.cc b/winsup/testsuite/cygload/cygload.cc
deleted file mode 100644
index 0febf326e..000000000
--- a/winsup/testsuite/cygload/cygload.cc
+++ /dev/null
@@ -1,618 +0,0 @@
-// cygload.cpp
-//
-// Copyright 2005, Red Hat, Inc.
-//
-// Written by Max Kaehn <slothman@electric-cloud.com>
-//
-// This software is a copyrighted work licensed under the terms of the
-// Cygwin license. Please consult the file "CYGWIN_LICENSE" for details.
-//
-// Note that dynamically linking to cygwin1.dll automatically places your code
-// under the GPL unless you purchase a Cygwin Contract with Red Hat, Inc.
-// See http://www.redhat.com/software/cygwin/ for more information.
-
-
-// Options for this program:
-// -v Verbose output. Normal operation is entirely silent,
-// save for errors.
-// -testinterrupts Pauses the program for 30 seconds so you can demonstrate
-// that it handles ^C properly.
-// -cygwin Name of DLL to load. Defaults to "cygwin1.dll".
-
-#include "cygload.h"
-#include <iostream>
-#include <sstream>
-#include <vector>
-#include <errno.h> // for ENOENT
-#include <sys/types.h>
-#include <sys/stat.h>
-
-using std::cout;
-using std::cerr;
-using std::endl;
-using std::string;
-
-cygwin::padding *cygwin::padding::_main = NULL;
-DWORD cygwin::padding::_mainTID = 0;
-
-// A few cygwin constants.
-static const int SIGHUP = 1;
-static const int SIGINT = 2;
-static const int SIGTERM = 15; // Cygwin won't deliver this one to us;
- // expect unadorned "kill" to just kill
- // your process.
-static const int SIGSTOP = 17; // Cygwin insists on delivering SIGSTOP to
- // the main thread. If your main thread
- // is not interruptible, you'll miss the
- // signal and ignore the request to suspend.
-static const int SIGTSTP = 18; // ^Z on a tty.
-static const int SIGCONT = 19; // Resume a stopped process.
-static const int SIGUSR1 = 30;
-static const int SIGUSR2 = 31;
-
-// Using *out instead of cout. In verbose mode, out == &cout.
-static std::ostream *out = NULL;
-
-cygwin::padding::padding ()
-{
- _main = this;
- _mainTID = GetCurrentThreadId ();
-
- _end = _padding + sizeof (_padding);
- char *stackbase;
-#ifdef __GNUC__
- __asm__ (
- "movl %%fs:4, %0"
- :"=r"(stackbase)
- );
-#else
- __asm
- {
- mov eax, fs:[4];
- mov stackbase, eax;
- }
-#endif
- _stackbase = stackbase;
-
- // We've gotten as close as we can to the top of the stack. Even
- // subverting the entry point, though, still doesn't get us there-- I'm
- // getting 64 bytes in use before the entry point. So we back up the data
- // there and restore it when the destructor is called:
- if ((_stackbase - _end) != 0)
- {
- size_t delta = (_stackbase - _end);
-
- _backup.resize (delta);
-
- memcpy (&(_backup[0]), _end, delta);
- }
-}
-
-cygwin::padding::~padding ()
-{
- _main = NULL;
-
- if (_backup.size ())
- {
- memcpy (_end, &(_backup[0]), _backup.size ());
- }
-}
-
-void
-cygwin::padding::check ()
-{
- if (_main == NULL)
- throw std::runtime_error ("No padding declared!");
- if (_mainTID != GetCurrentThreadId ())
- throw std::runtime_error ("You need to initialize cygwin::connector "
- "in the same thread in which you declared the "
- "padding.");
-
- if (_main->_backup.size ())
- *out << "Warning! Stack base is "
- << static_cast<void *>(_main->_stackbase)
- << ". padding ends at " << static_cast<void *>(_main->_end)
- << ". Delta is " << (_main->_stackbase - _main->_end)
- << ". Stack variables could be overwritten!" << endl;
-}
-
-cygwin::connector::connector (const char *dll)
-{
- // This will throw if padding is not in place.
- padding::check ();
-
- *out << "Loading " << dll << "..." << endl;
-
- // This should call init.cc:dll_entry() with DLL_PROCESS_ATTACH,
- // which calls dll_crt0_0().
- if ((_library = LoadLibrary (dll)) == NULL)
- throw windows_error ("LoadLibrary", dll);
-
- *out << "Initializing cygwin..." << endl;
-
- // This calls dcrt0.cc:cygwin_dll_init(), which calls dll_crt0_1(),
- // which will, among other things:
- // * spawn the cygwin signal handling thread from sigproc_init()
- // * initialize the thread-local storage for this thread and overwrite
- // the first 4K of the stack
- void (*cyginit) ();
- get_symbol ("cygwin_dll_init", cyginit);
- (*cyginit) ();
-
- *out << "Loading symbols..." << endl;
-
- // Pick up the function pointers for the basic infrastructure.
- get_symbol ("__errno", _errno);
- get_symbol ("strerror", _strerror);
- get_symbol ("cygwin_conv_to_full_posix_path", _conv_to_full_posix_path);
- get_symbol ("cygwin_conv_to_full_win32_path", _conv_to_full_win32_path);
-
- // Note that you need to be running an interruptible cygwin function if
- // you want to receive signals. You can use the standard signal()
- // mechanism if you're willing to have your main thread spend all its time
- // in interruptible cygwin functions like sleep(). Christopher Faylor
- // cautions that this solution "could be slightly racy": if a second
- // signal comes in before the first one is done processing, the thread
- // won't be back in sigwait() to catch it.
- *out << "Spawning signal handling thread..." << endl;
-
- _waiting_for_signals = true;
- _signal_thread_done = false;
- InitializeCriticalSection (&_thread_mutex);
-
- DWORD tid;
-
- _signal_thread = CreateThread (NULL, // Default security.
- 32768, // Adjust the stack size as
- // appropriate for what your signal
- // handler needs in order to run, and
- // then add 4K for cygtls.
- &signal_thread, // Function to call
- this, // Context
- 0, // Flags
- &tid); // Thread ID
-
- if (_signal_thread == NULL)
- throw windows_error ("CreateThread", "signal_thread");
-}
-
-cygwin::connector::~connector ()
-{
- try
- {
- // First, shut down signal handling.
- int (*raze) (int);
- int (*pthread_join) (void *, void **);
-
- get_symbol ("raise", raze);
- get_symbol ("pthread_join", pthread_join);
-
- // Tell the listener to shut down...
- _waiting_for_signals = false;
- int err = 0;
- EnterCriticalSection (&_thread_mutex);
- if (!_signal_thread_done)
- err = raze (SIGUSR2);
- LeaveCriticalSection (&_thread_mutex);
- if (err)
- cerr << error (this, "raise", "SIGUSR2").what () << endl;
- // ...and get the thread to join.
- if (!CloseHandle (_signal_thread))
- throw windows_error ("CloseHandle", "signal_thread");
-
- // This should call init.cc:dll_entry() with DLL_PROCESS_DETACH.
- if (!FreeLibrary (_library))
- throw windows_error ("FreeLibrary", "cygwin1.dll");
- }
- catch (std::exception &x)
- {
- cerr << x.what () << endl;
- }
-}
-
-DWORD WINAPI
-cygwin::connector::signal_thread (void *param)
-{
- connector *that = reinterpret_cast < connector * > (param);
-
- try
- {
- that->await_signal ();
- }
- catch (std::exception &x)
- {
- cerr << "signal_thread caught " << x.what () << endl;
- return 0;
- }
- return 0;
-}
-
-void
-cygwin::connector::await_signal ()
-{
- // Wait for signals.
- unsigned long sigset[32];
- int sig;
- int (*empty) (void *);
- int (*add) (void *, int);
- int (*wait) (void *, int *);
-
- get_symbol ("sigemptyset", empty);
- get_symbol ("sigaddset", add);
- get_symbol ("sigwait", wait);
-
- empty (sigset);
- add (sigset, SIGHUP);
- add (sigset, SIGINT);
-// add (sigset, SIGSTOP);
-// add (sigset, SIGTSTP); // I can't get this to suspend properly, so
- // I'll leave it up to chance that the main
- // thread is interruptible.
- add (sigset, SIGUSR1);
- add (sigset, SIGUSR2);
-
- while (_waiting_for_signals)
- {
- int err = wait (sigset, &sig);
- if (err)
- cerr << error (this, "sigwait").what () << endl;
- else
- *out << "Received signal " << sig << "." << endl;
- switch (sig)
- {
- case SIGUSR2:
- if (!_waiting_for_signals)
- {
- // SIGUSR2 is how ~connector wakes this thread
- goto done;
- }
- break;
- default:
- break;
- }
- handle_signals (sig);
- }
-done:
- EnterCriticalSection (&_thread_mutex);
- _signal_thread_done = true;
- LeaveCriticalSection (&_thread_mutex);
-
- *out << "await_signal done." << endl;
-}
-
-cygwin::connector::signal_handler *
-cygwin::connector::set_handler (int signal, signal_handler *handler)
-{
- signal_handler *retval = _signal_handlers[signal];
-
- if (handler == NULL)
- _signal_handlers.erase (signal);
- else
- _signal_handlers[signal] = handler;
-
- return retval;
-}
-
-void
-cygwin::connector::handle_signals (int sig)
-{
- callback_list::iterator h = _signal_handlers.find (sig);
-
- if (h != _signal_handlers.end ())
- {
- try
- {
- signal_handler *handler = h->second;
- (*handler) (sig);
- return;
- }
- catch (std::exception &x)
- {
- cerr << "cygwin::connector::handle_signals caught "
- << x.what () << "!" << endl;
- return;
- }
- }
-
- cerr << "No handler for signal " << sig << "!" << endl;
-}
-
-int
-cygwin::connector::err_no () const
-{
- int *e = (*_errno) ();
- if (e == NULL)
- {
- return -1;
- }
- return *e;
-}
-
-string
-cygwin::connector::str_error (int err_no) const
-{
- string retval;
-
- const char *s = (*_strerror) (err_no);
- if (s != NULL)
- {
- retval = s;
- }
- else
- {
- std::ostringstream o;
- o << "Unexpected errno " << err_no;
- retval = o.str ();
- }
-
- return retval;
-}
-
-string
-cygwin::connector::unix_path (const string &windows) const
-{
- char buf[MAX_PATH];
-
- _conv_to_full_posix_path (windows.c_str (), buf);
-
- return string (buf);
-}
-
-string
-cygwin::connector::win_path (const string &unix) const
-{
- char buf[MAX_PATH];
-
- _conv_to_full_win32_path (unix.c_str (), buf);
-
- return string (buf);
-}
-
-///////////////////////////////////////////////////////////////////////////////
-///////////////////////////////////////////////////////////////////////////////
-
-string
-cygwin::error::format (cygwin::connector *c,
- int err_no, const char *message, const char *detail)
-{
- std::ostringstream ret;
-
- ret << message;
- if (detail)
- {
- ret << "(" << detail << ")";
- }
- ret << ": " << c->str_error (err_no);
-
- return ret.str ();
-}
-
-string
-windows_error::format (DWORD error, const char *message, const char *detail)
-{
- std::ostringstream ret;
- char buf[512];
- DWORD bytes;
-
- ret << message;
- if (detail)
- ret << "(" << detail << ")";
- ret << ": ";
-
- bytes = FormatMessage (FORMAT_MESSAGE_FROM_SYSTEM, 0, error,
- MAKELANGID (LANG_NEUTRAL, SUBLANG_DEFAULT),
- buf, sizeof (buf), 0);
-
- if (bytes == 0)
- ret << "Unexpected Windows error " << error;
- else
- {
- // Remove trailing whitespace
- char *p = buf + bytes - 1;
- while (isspace (*p))
- *p-- = '\0';
- ret << buf << " (" << error << ")";
- }
-
- return ret.str ();
-}
-
-///////////////////////////////////////////////////////////////////////////////
-///////////////////////////////////////////////////////////////////////////////
-
-extern "C" int mainCRTStartup ();
-
-// This just pushes 4K onto the stack, backs up the original stack, and
-// jumps into the regular startup code. This avoids having to worry about
-// backing up argc and argv.
-extern "C" int __stdcall
-cygloadCRTStartup ()
-{
- cygwin::padding padding;
- return mainCRTStartup ();
-}
-
-///////////////////////////////////////////////////////////////////////////////
-///////////////////////////////////////////////////////////////////////////////
-
-static void
-hangup (int sig)
-{
- cout << "Hangup (" << sig << ")." << endl;
-}
-
-static void
-interrupt (int sig)
-{
- cerr << "Interrupt (" << sig << ")!" << endl;
- exit (0);
-}
-
-static int caught = false;
-
-static void
-catch_signal (int)
-{
- *out << "Signals are working." << endl;
- caught = true;
-}
-
-int
-main (int argc, char *argv[])
-{
- // If you do not want to use cygloadCRTStartup() as an entry point,
- // uncomment this line, but be sure to have *everything* you want
- // from the stack below it backed up before you call the
- // constructor for cygwin::connector.
- //cygwin::padding padding;
-
- std::ostringstream output;
- bool verbose = false, testinterrupts = false;
- const char *dll = "cygwin1.dll";
-
- out = &output;
-
- for (int i = 1; i < argc; ++i)
- {
- string arg = string (argv[i]);
-
- if (arg == "-v")
- {
- verbose = true;
- out = &cout;
- }
- else if (arg == "-testinterrupts")
- testinterrupts = true;
- else if (arg == "-cygwin")
- {
- if (i+1 >= argc)
- {
- cerr << "Need to supply an argument with -cygwin." << endl;
- return 255;
- }
- dll = argv[++i];
- }
- }
-
-
- try
- {
- *out << "Connecting to cygwin..." << endl;
- cygwin::connector cygwin (dll);
- *out << "Successfully connected." << endl;
-
- string result = cygwin.str_error (ENOENT);
-
- if (result != "No such file or directory")
- {
- cerr << "strerror(ENOENT) returned \""
- << result
- << "\" instead of \"No such file or directory\"!"
- << endl;
- return 1;
- }
- else if (verbose)
- {
- *out << "strerror(ENOENT) = " << result << endl;
- }
-
- // Path conversion: from cygwin to Windows...
- result = cygwin.win_path ("/usr");
- struct _stat statbuf;
- if (::_stat (result.c_str (), &statbuf) < 0)
- {
- cerr << "stat(\"" << result << "\") failed!" << endl;
- return 2;
- }
- else if (verbose)
- {
- *out << "/usr == " << result << endl;
- }
-
- // ...and back:
- char buf[MAX_PATH], scratch[256];
- GetSystemDirectory (buf, sizeof(buf));
- int (*cygstat) (const char *, void *);
- cygwin.get_symbol ("stat", cygstat);
-
- if (cygstat (buf, scratch) < 0)
- {
- cerr << "cygwin stat(\"" << buf << "\") failed!" << endl;
- return 3;
- }
- else if (verbose)
- {
- *out << buf << " == " << cygwin.unix_path(buf) << endl;
- }
-
- // Test error handling. This should output
- // "open(/potrzebie/furshlugginer): No such file or directory"
- {
- int (*cygopen) (const char *, int);
- cygwin.get_symbol ("open", cygopen);
-
- if (cygopen ("/potrzebie/furshlugginer", 0 /* O_RDONLY */ ) < 0)
- {
- int err = cygwin.err_no ();
- if (err != ENOENT)
- {
- cerr << "cygwin open(\"/potrzebie/furshlugginer\", "
- "O_RDONLY): expected to fail with ENOENT, got "
- << err << "!" << endl;
- return 4;
- }
- if (verbose)
- *out << cygwin::error (&cygwin, "open",
- "/potrzebie/furshlugginer").what ()
- << endl;
- }
- else
- {
- cerr << "/potrzebie/furshlugginer should not exist!"
- << endl;
- return 5;
- }
- }
-
- // And signal handling:
- std::pointer_to_unary_function < int , void > h1 (&hangup);
- std::pointer_to_unary_function < int , void > h2 (&interrupt);
- std::pointer_to_unary_function < int , void > h3 (&catch_signal);
- cygwin.set_handler (SIGHUP, &h1);
- cygwin.set_handler (SIGINT, &h2);
- cygwin.set_handler (SIGUSR1, &h3);
-
- // Make sure the signal handler thread has had time to start...
- Sleep (100);
- // Send a test signal to set "caught" to true...
- int (*raze) (int);
- cygwin.get_symbol ("raise", raze);
- raze (SIGUSR1);
- // And give the thread time to wait for the shutdown signal.
- Sleep (100);
-
- if (testinterrupts)
- {
- // This is a worst case scenario for testing interrupts: the
- // main thread is in a long-duration Windows API call. This
- // makes the main thread uninterruptible; cygwin will retry
- // 20 times, with a low_priority_sleep(0) between each try.
- cout << "Sleeping for 30 seconds, waiting for a signal..." << endl;
- Sleep (30000);
- cout << "Done waiting." << endl;
- }
- }
- catch (std::exception &x)
- {
- cerr << x.what () << endl;
- return 2;
- }
-
- if (caught)
- return 0;
- else
- {
- cerr << "Never received SIGUSR1." << endl;
- return 1;
- }
-}
diff --git a/winsup/testsuite/cygload/cygload.exp b/winsup/testsuite/cygload/cygload.exp
deleted file mode 100644
index a07a549f9..000000000
--- a/winsup/testsuite/cygload/cygload.exp
+++ /dev/null
@@ -1,40 +0,0 @@
-source "site.exp"
-
-if { ! [isnative] } {
- verbose "skipping cygload because it's not native \"$target_triplet\" != \"$build_triplet\""
- return
-}
-
-proc ws_spawn {cmd args} {
- global rv
- verbose "running $cmd\n"
- set rv {}
- # First item in rv is the return code, second item is the message
- lappend rv [catch "exec $cmd" message] $message
- verbose send "catchCode = $rv\n"
-}
-
-ws_spawn "gcc -mno-cygwin $srcdir/$subdir/cygload.cc -o mingw-cygload.exe -lstdc++ -Wl,-e,_cygloadCRTStartup@0"
-
-if { $rv != {0 {}} } {
- verbose -log "$rv"
- fail "cygload (compile)"
-} else {
- if { $verbose } {
- set redirect_output "./mingw-cygwin.log"
- } else {
- set redirect_output /dev/null
- }
- set windows_runtime_root [exec cygpath -m $runtime_root]
- ws_spawn "./mingw-cygload.exe -cygwin $windows_runtime_root/cygwin0.dll > $redirect_output"
- if { $rv != {0 {}} } {
- verbose -log "cygload: $rv"
- fail "cygload (execute)"
- } else {
- pass "cygload"
- }
- catch { file delete "mingw-cygload.exe" } err
- if { $err != "" } {
- note "error deleting mingw-cygload.exe: $err"
- }
-}
diff --git a/winsup/testsuite/cygload/cygload.h b/winsup/testsuite/cygload/cygload.h
deleted file mode 100644
index dfe9d0f78..000000000
--- a/winsup/testsuite/cygload/cygload.h
+++ /dev/null
@@ -1,158 +0,0 @@
-// cygload.h -*- C++ -*-
-//
-// Copyright 2005, Red Hat, Inc.
-//
-// Written by Max Kaehn <slothman@electric-cloud.com>
-//
-// This software is a copyrighted work licensed under the terms of the
-// Cygwin license. Please consult the file "CYGWIN_LICENSE" for details.
-//
-// Note that dynamically linking to cygwin1.dll automatically places your code
-// under the GPL unless you purchase a Cygwin Contract with Red Hat, Inc.
-// See http://www.redhat.com/software/cygwin/ for more information.
-
-// This program has large numbers of progress messages so as to provide
-// maximum information about crash locations for anyone without access to
-// a Microsoft debugger.
-
-
-// This file contains the basic infrastructure for connecting an MSVC
-// process to Cygwin.
-
-#ifndef __CYGLOAD_H__
-#define __CYGLOAD_H__
-
-#include <windows.h> // for GetProcAddress()
-#include <functional> // for pointer_to_unary_function
-#include <stdexcept> // for runtime_error
-#include <string>
-#include <map>
-#include <vector>
-
-// Convert GetLastError() to a human-readable STL exception.
-class windows_error : public std::runtime_error
-{
-public:
- windows_error (const char *message, const char *detail = NULL)
- : runtime_error (format (GetLastError (), message, detail)) { }
- windows_error(DWORD error, const char *message, const char *detail = NULL)
- : runtime_error (format (error, message, detail)) { }
-
- static std::string format (DWORD error, const char *message,
- const char *detail);
-};
-
-namespace cygwin
-{
-
- // Cygwin keeps important thread-local information at the top of the
- // stack. Its DllMain-equivalent will do the right thing for any threads
- // you spawn, but you need to declare one of these as the very first thing
- // in your main() function so horrible things won't happen when cygwin
- // overwrites your stack. This will back up the data that will be
- // overwritten and restore it when the destructor is called.
- class padding {
- public:
- padding ();
- ~padding ();
-
- // Verifies that padding has been declared.
- static void check ();
-
- private:
- std::vector< char > _backup;
- char *_stackbase, *_end;
-
- // gdb reports sizeof(_cygtls) == 3964 at the time of this writing.
- // This is at the end of the object so it'll be toward the bottom
- // of the stack when it gets declared.
- char _padding[4096];
-
- static padding *_main;
- static DWORD _mainTID;
- };
-
- // This hooks your application up to cygwin: it loads cygwin1.dll,
- // initializes it properly, grabs some important symbols, and
- // spawns a thread to let you receive signals from cygwin.
- class connector {
- public:
- connector (const char *dll = "cygwin1.dll");
- ~connector ();
-
- // A wrapper around GetProcAddress() for fetching symbols from the
- // cygwin DLL. Can throw windows_error.
- template < class T > void get_symbol (const char *name, T &fn) const;
-
- // Wrappers for errno() and strerror().
- int err_no () const;
- std::string str_error (int) const;
-
- // Converting between the worlds of Windows and Cygwin.
- std::string unix_path (const std::string &windows) const;
- std::string win_path (const std::string &unix) const;
-
- private:
- HMODULE _library;
-
- int *(*_errno) ();
- const char *(*_strerror) (int);
- void (*_conv_to_full_posix_path) (const char *, char *);
- void (*_conv_to_full_win32_path) (const char *, char *);
-
- public:
- // The constructor will automatically hook you up for receiving
- // cygwin signals. Just specify a signal and pass in a signal_handler.
- typedef std::pointer_to_unary_function<int,void> signal_handler;
- signal_handler *set_handler (int signal, signal_handler *);
-
- private:
- // Cygwin signals can only be received in threads that are calling
- // interruptible functions or otherwise ready to intercept signals, so
- // we spawn a thread that does nothing but call sigwait().
-
- // This is the entry point:
- static DWORD WINAPI signal_thread (void *);
- // It runs this:
- void await_signal ();
- // And will execute this on receipt of any signal for which it's
- // registered:
- void handle_signals (int);
-
- HANDLE _signal_thread;
- bool _waiting_for_signals, _signal_thread_done;
- CRITICAL_SECTION _thread_mutex;
-
- typedef std::map< int, signal_handler * > callback_list;
- callback_list _signal_handlers;
- };
-
- template <class T> void connector::get_symbol (const char *name,
- T &symbol) const
- {
- FARPROC retval = NULL;
-
- retval = GetProcAddress (_library, name);
-
- if (retval == NULL)
- throw windows_error ("GetProcAddress", name);
-
- symbol = reinterpret_cast < T > (retval);
- }
-
- // cygwin::error converts errno to a human-readable exception.
- class error : public std::runtime_error
- {
- public:
- error (connector *c, const char *function, const char *detail = NULL)
- : runtime_error (format (c, c->err_no (), function, detail)) { }
- error (connector *c, int err_no, const char *function,
- const char *detail = NULL)
- : runtime_error (format (c, err_no, function, detail)) { }
-
- static std::string format(connector *c, int err_no,
- const char *message, const char *detail);
- };
-}
-
-#endif // __CYGLOAD_H__
diff --git a/winsup/testsuite/cygrun.c b/winsup/testsuite/cygrun.c
deleted file mode 100644
index 60330ca33..000000000
--- a/winsup/testsuite/cygrun.c
+++ /dev/null
@@ -1,69 +0,0 @@
-/* cygrun.c: testsuite support program
-
- Copyright 1999, 2000, 2001, 2002 Red Hat, Inc.
-
-This file is part of Cygwin.
-
-This software is a copyrighted work licensed under the terms of the
-Cygwin license. Please consult the file "CYGWIN_LICENSE" for
-details. */
-
-/* This program is intended to be used only by the testsuite. It runs
- programs without using the cygwin api, so that the just-built dll
- can be tested without interference from the currently installed
- dll. */
-
-#include <stdio.h>
-#include <windows.h>
-#include <stdlib.h>
-
-int
-main (int argc, char **argv)
-{
- STARTUPINFO sa;
- PROCESS_INFORMATION pi;
- DWORD ec = 1;
- char *p;
-
- if (argc < 2)
- {
- fprintf (stderr, "Usage: cygrun [program]\n");
- exit (0);
- }
-
- SetEnvironmentVariable ("CYGWIN_TESTING", "1");
- if ((p = getenv ("CYGWIN")) == NULL || (strstr (p, "ntsec") == NULL))
- {
- char buf[4096];
- if (!p)
- {
- p = buf;
- p[0] = '\0';
- }
- else
- {
- strcpy (buf, p);
- strcat (buf, " ");
- }
- strcat(buf, "ntsec");
- SetEnvironmentVariable ("CYGWIN", buf);
- }
-
- memset (&sa, 0, sizeof (sa));
- memset (&pi, 0, sizeof (pi));
- if (!CreateProcess (0, argv[1], 0, 0, 1, 0, 0, 0, &sa, &pi))
- {
- fprintf (stderr, "CreateProcess %s failed\n", argv[1]);
- exit (1);
- }
-
- WaitForSingleObject (pi.hProcess, INFINITE);
-
- GetExitCodeProcess (pi.hProcess, &ec);
-
- CloseHandle (pi.hProcess);
- CloseHandle (pi.hThread);
- if (ec > 0xff)
- ec >>= 8;
- return ec;
-}
diff --git a/winsup/testsuite/libltp/include/dataascii.h b/winsup/testsuite/libltp/include/dataascii.h
deleted file mode 100644
index cd75245e4..000000000
--- a/winsup/testsuite/libltp/include/dataascii.h
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it would be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Further, this software is distributed without any warranty that it is
- * free of the rightful claim of any third person regarding infringement
- * or the like. Any license provided herein, whether implied or
- * otherwise, applies only to this software file. Patent licenses, if
- * any, provided herein do not apply to combinations of this program with
- * other software, or any other product whatsoever.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write the Free Software Foundation, Inc., 59
- * Temple Place - Suite 330, Boston MA 02111-1307, USA.
- *
- * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
- * Mountain View, CA 94043, or:
- *
- * http://www.sgi.com
- *
- * For further information regarding this notice, see:
- *
- * http://oss.sgi.com/projects/GenInfo/NoticeExplan/
- */
-#ifndef _DATAASCII_H_
-#define _DATAASCII_H_
-
-/***********************************************************************
- * int dataasciigen(listofchars, buffer, size, offset)
- *
- * This function fills buffer with ascii characters.
- * The ascii characters are obtained from listofchars or the CHARS array
- * if listofchars is NULL.
- * Each char is selected by an index. The index is the remainder
- * of count divided by the array size.
- * This method allows more than one process to write to a location
- * in a file without corrupting it for another process' point of view.
- *
- * The return value will be the number of character written in buffer
- * (size).
- *
- ***********************************************************************/
-int dataasciigen(char *, char *, int, int);
-
-/***********************************************************************
- * int dataasciichk(listofchars, buffer, size, count, errmsg)
- *
- * This function checks the contents of a buffer produced by
- * dataasciigen.
- *
- * return values:
- * >= 0 : error at character count
- * < 0 : no error
- ***********************************************************************/
-
-int dataasciichk(char *, char *, int, int, char**);
-
-#endif
diff --git a/winsup/testsuite/libltp/include/databin.h b/winsup/testsuite/libltp/include/databin.h
deleted file mode 100644
index b71fbc0c1..000000000
--- a/winsup/testsuite/libltp/include/databin.h
+++ /dev/null
@@ -1,44 +0,0 @@
-#ifndef _DATABIN_H_
-#define _DATABIN_H_
-
-/*******************************************************************************
-* NAME
-* databingen - fill a buffer with a data pattern
-*
-* SYNOPSIS
-* (void) databingen(mode, buffer, bsize, offset)
-* int mode;
-* char *buffer;
-* int bsize;
-* int offset;
-*
-* DESCRIPTION
-* datagen fills the buffer pointed to by 'buffer' with 'bsize' bytes
-* of data of the form indicated by 'mode'.
-* All modes (expect r -random) are file offset based.
-* This allows more than process to do writing to the file without
-* corrupting it if the same modes were used.
-* They data modes to choose from, these are:
-*
-* 'a' - writes an alternating bit pattern (i.e. 0x5555555...)
-*
-* 'c' - writes a checkerboard pattern (i.e. 0xff00ff00ff00...)
-*
-* 'C' - writes counting pattern (i.e. 0 - 07, 0 - 07, ...);
-*
-* 'o' - writes all bits set (i.e. 0xffffffffffffff...)
-*
-* 'z' - writes all bits cleared (i.e. 0x000000000...);
-*
-* 'r' - writes random integers
-*
-* RETURN VALUE
-* None
-*
-*******************************************************************************/
-
-void databingen( int mode, unsigned char *buffer, int bsize, int offset );
-
-void databinchedk( int mode, unsigned char *buffer, int bsize, int offset, char **errmsg);
-
-#endif
diff --git a/winsup/testsuite/libltp/include/file_lock.h b/winsup/testsuite/libltp/include/file_lock.h
deleted file mode 100644
index 8c9a94835..000000000
--- a/winsup/testsuite/libltp/include/file_lock.h
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it would be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Further, this software is distributed without any warranty that it is
- * free of the rightful claim of any third person regarding infringement
- * or the like. Any license provided herein, whether implied or
- * otherwise, applies only to this software file. Patent licenses, if
- * any, provided herein do not apply to combinations of this program with
- * other software, or any other product whatsoever.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write the Free Software Foundation, Inc., 59
- * Temple Place - Suite 330, Boston MA 02111-1307, USA.
- *
- * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
- * Mountain View, CA 94043, or:
- *
- * http://www.sgi.com
- *
- * For further information regarding this notice, see:
- *
- * http://oss.sgi.com/projects/GenInfo/NoticeExplan/
- */
-#ifndef _FILE_LOCK_H_
-#define _FILE_LOCK_H_
-
-extern char Fl_syscall_str[128];
-
-int file_lock( int , int, char ** );
-int record_lock( int , int , int , int , char ** );
-
-#endif /* _FILE_LOCK_H_ */
diff --git a/winsup/testsuite/libltp/include/forker.h b/winsup/testsuite/libltp/include/forker.h
deleted file mode 100644
index effd5d66e..000000000
--- a/winsup/testsuite/libltp/include/forker.h
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it would be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Further, this software is distributed without any warranty that it is
- * free of the rightful claim of any third person regarding infringement
- * or the like. Any license provided herein, whether implied or
- * otherwise, applies only to this software file. Patent licenses, if
- * any, provided herein do not apply to combinations of this program with
- * other software, or any other product whatsoever.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write the Free Software Foundation, Inc., 59
- * Temple Place - Suite 330, Boston MA 02111-1307, USA.
- *
- * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
- * Mountain View, CA 94043, or:
- *
- * http://www.sgi.com
- *
- * For further information regarding this notice, see:
- *
- * http://oss.sgi.com/projects/GenInfo/NoticeExplan/
- */
-#ifndef _FORKER_H_
-#define _FORKER_H_
-
-#define FORKER_MAX_PIDS 4098
-
-extern int Forker_pids[FORKER_MAX_PIDS]; /* holds pids of forked processes */
-extern int Forker_npids; /* number of entries in Forker_pids */
-
-/*
- * This function will fork and the parent will exit zero and
- * the child will return. This will orphan the returning process
- * putting it in the background.
- */
-int background( char * );
-
-/*
- * Forker will fork ncopies-1 copies of self.
- *
- * arg 1: Number of copies of the process to be running after return.
- * This value minus one is the number of forks performed.
- * arg 2: mode: 0 - all children are first generation descendents.
- * 1 - each subsequent child is a descendent of another
- * descendent, resulting in only one direct descendent of the
- * parent and each other child is a child of another child in
- * relation to the parent.
- * arg 3: prefix: string to preceed any error messages. A value of NULL
- * results in no error messages on failure.
- * returns: returns to parent the number of children forked.
- */
-int forker( int , int , char * );
-
-#endif /* _FORKER_H_ */
diff --git a/winsup/testsuite/libltp/include/open_flags.h b/winsup/testsuite/libltp/include/open_flags.h
deleted file mode 100644
index 87fe6ff1d..000000000
--- a/winsup/testsuite/libltp/include/open_flags.h
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it would be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Further, this software is distributed without any warranty that it is
- * free of the rightful claim of any third person regarding infringement
- * or the like. Any license provided herein, whether implied or
- * otherwise, applies only to this software file. Patent licenses, if
- * any, provided herein do not apply to combinations of this program with
- * other software, or any other product whatsoever.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write the Free Software Foundation, Inc., 59
- * Temple Place - Suite 330, Boston MA 02111-1307, USA.
- *
- * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
- * Mountain View, CA 94043, or:
- *
- * http://www.sgi.com
- *
- * For further information regarding this notice, see:
- *
- * http://oss.sgi.com/projects/GenInfo/NoticeExplan/
- */
-#ifndef _OPEN_FLAGS_H_
-#define _OPEN_FLAGS_H_
-
-/***********************************************************************
- * This function attempts to convert open flag bits into human readable
- * symbols (i.e. O_TRUNC). If there are more than one symbol,
- * the <sep> string will be placed as a separator between symbols.
- * Commonly used separators would be a comma "," or pipe "|".
- * If <mode> is one and not all <openflags> bits can be converted to
- * symbols, the "UNKNOWN" symbol will be added to return string.
- *
- * Return Value
- * openflags2symbols will return the indentified symbols.
- * If no symbols are recognized the return value will be a empty
- * string or the "UNKNOWN" symbol.
- *
- * Limitations
- * Currently (05/96) all known symbols are coded into openflags2symbols.
- * If new open flags are added this code will have to updated
- * to know about them or they will not be recognized.
- *
- * The Open_symbols must be large enough to hold all possible symbols
- * for a given system.
- *
- ***********************************************************************/
-char *openflags2symbols( int, char *, int );
-
-/***********************************************************************
- * This function will take a string of comma separated open flags symbols
- * and translate them into an open flag bitmask.
- * If any symbol is not valid, -1 is returned. On this error condition
- * the badname pointer is updated if not NULL. badname will point
- * to the beginning location of where the invalid symbol was found.
- * string will be returned unchanged.
- *
- * A signal received while parsing string could cause the string to
- * contain a NULL character in the middle of it.
- *
- ***********************************************************************/
-int parse_open_flags( char *, char ** );
-
-#endif
diff --git a/winsup/testsuite/libltp/include/pattern.h b/winsup/testsuite/libltp/include/pattern.h
deleted file mode 100644
index 74f841cae..000000000
--- a/winsup/testsuite/libltp/include/pattern.h
+++ /dev/null
@@ -1,90 +0,0 @@
-/*
- * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it would be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Further, this software is distributed without any warranty that it is
- * free of the rightful claim of any third person regarding infringement
- * or the like. Any license provided herein, whether implied or
- * otherwise, applies only to this software file. Patent licenses, if
- * any, provided herein do not apply to combinations of this program with
- * other software, or any other product whatsoever.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write the Free Software Foundation, Inc., 59
- * Temple Place - Suite 330, Boston MA 02111-1307, USA.
- *
- * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
- * Mountain View, CA 94043, or:
- *
- * http://www.sgi.com
- *
- * For further information regarding this notice, see:
- *
- * http://oss.sgi.com/projects/GenInfo/NoticeExplan/
- */
-#ifndef _PATTERN_H_
-#define _PATTERN_H_
-
-/*
- * pattern_check(buf, buflen, pat, patlen, patshift)
- *
- * Check a buffer of length buflen against repeated occurrances of
- * a pattern whose length is patlen. Patshift can be used to rotate
- * the pattern by patshift bytes to the left.
- *
- * Patshift may be greater than patlen, the pattern will be rotated by
- * (patshift % patshift) bytes.
- *
- * pattern_check returns -1 if the buffer does not contain repeated
- * occurrances of the indicated pattern (shifted by patshift).
- *
- * The algorithm used to check the buffer relies on the fact that buf is
- * supposed to be repeated copies of pattern. The basic algorithm is
- * to validate the first patlen bytes of buf against the pat argument
- * passed in - then validate the next patlen bytes against the 1st patlen
- * bytes - the next (2*patlen) bytes against the 1st (2*pathen) bytes, and
- * so on. This algorithm only works when the assumption of a buffer full
- * of repeated copies of a pattern holds, and gives MUCH better results
- * then walking the buffer byte by byte.
- *
- * Performance wise, It appears to be about 5% slower than doing a straight
- * memcmp of 2 buffers, but the big win is that it does not require a
- * 2nd comparison buffer, only the pattern.
- */
-int pattern_check( char * , int , char * , int , int );
-
-/*
- * pattern_fill(buf, buflen, pat, patlen, patshift)
- *
- * Fill a buffer of length buflen with repeated occurrances of
- * a pattern whose length is patlen. Patshift can be used to rotate
- * the pattern by patshift bytes to the left.
- *
- * Patshift may be greater than patlen, the pattern will be rotated by
- * (patshift % patlen) bytes.
- *
- * If buflen is not a multiple of patlen, a partial pattern will be written
- * in the last part of the buffer. This implies that a buffer which is
- * shorter than the pattern length will receive only a partial pattern ...
- *
- * pattern_fill always returns 0 - no validation of arguments is done.
- *
- * The algorithm used to fill the buffer relies on the fact that buf is
- * supposed to be repeated copies of pattern. The basic algorithm is
- * to fill the first patlen bytes of buf with the pat argument
- * passed in - then copy the next patlen bytes with the 1st patlen
- * bytes - the next (2*patlen) bytes with the 1st (2*pathen) bytes, and
- * so on. This algorithm only works when the assumption of a buffer full
- * of repeated copies of a pattern holds, and gives MUCH better results
- * then filling the buffer 1 byte at a time.
- */
-int pattern_fill( char * , int , char * , int , int );
-
-#endif
diff --git a/winsup/testsuite/libltp/include/random_range.h b/winsup/testsuite/libltp/include/random_range.h
deleted file mode 100644
index d3e1cceb8..000000000
--- a/winsup/testsuite/libltp/include/random_range.h
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it would be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Further, this software is distributed without any warranty that it is
- * free of the rightful claim of any third person regarding infringement
- * or the like. Any license provided herein, whether implied or
- * otherwise, applies only to this software file. Patent licenses, if
- * any, provided herein do not apply to combinations of this program with
- * other software, or any other product whatsoever.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write the Free Software Foundation, Inc., 59
- * Temple Place - Suite 330, Boston MA 02111-1307, USA.
- *
- * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
- * Mountain View, CA 94043, or:
- *
- * http://www.sgi.com
- *
- * For further information regarding this notice, see:
- *
- * http://oss.sgi.com/projects/GenInfo/NoticeExplan/
- */
-#ifndef _RANDOM_RANGE_H_
-#define _RANDOM_RANGE_H_
-
-int parse_ranges ( char *, int, int, int, int (*)(), char **, char ** );
-int range_min ( char *, int );
-int range_max ( char *, int );
-int range_mult ( char *, int );
-long random_range ( int, int, int, char ** );
-long random_rangel ( long, long, long, char ** );
-long long random_rangell ( long long, long long, long long, char ** );
-void random_range_seed( long );
-long random_bit ( long );
-
-#endif
diff --git a/winsup/testsuite/libltp/include/rmobj.h b/winsup/testsuite/libltp/include/rmobj.h
deleted file mode 100644
index 4808ca258..000000000
--- a/winsup/testsuite/libltp/include/rmobj.h
+++ /dev/null
@@ -1,12 +0,0 @@
-#ifndef _RMOBJ_H_
-#define _RMOBJ_H_
-
-/*
- * rmobj() - Remove the specified object. If the specified object is a
- * directory, recursively remove everything inside of it. If
- * there are any problems, set errmsg (if it is not NULL) and
- * return -1. Otherwise return 0.
- */
-int rmobj( char *object , char **errmesg );
-
-#endif
diff --git a/winsup/testsuite/libltp/include/search_path.h b/winsup/testsuite/libltp/include/search_path.h
deleted file mode 100644
index 58b7a36d2..000000000
--- a/winsup/testsuite/libltp/include/search_path.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it would be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Further, this software is distributed without any warranty that it is
- * free of the rightful claim of any third person regarding infringement
- * or the like. Any license provided herein, whether implied or
- * otherwise, applies only to this software file. Patent licenses, if
- * any, provided herein do not apply to combinations of this program with
- * other software, or any other product whatsoever.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write the Free Software Foundation, Inc., 59
- * Temple Place - Suite 330, Boston MA 02111-1307, USA.
- *
- * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
- * Mountain View, CA 94043, or:
- *
- * http://www.sgi.com
- *
- * For further information regarding this notice, see:
- *
- * http://oss.sgi.com/projects/GenInfo/NoticeExplan/
- */
-
-/* $Id$ */
-
-
-int search_path(const char *cmd, const char *res_path, int access_mode, int fullpath);
diff --git a/winsup/testsuite/libltp/include/str_to_bytes.h b/winsup/testsuite/libltp/include/str_to_bytes.h
deleted file mode 100644
index 100d37df5..000000000
--- a/winsup/testsuite/libltp/include/str_to_bytes.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it would be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Further, this software is distributed without any warranty that it is
- * free of the rightful claim of any third person regarding infringement
- * or the like. Any license provided herein, whether implied or
- * otherwise, applies only to this software file. Patent licenses, if
- * any, provided herein do not apply to combinations of this program with
- * other software, or any other product whatsoever.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write the Free Software Foundation, Inc., 59
- * Temple Place - Suite 330, Boston MA 02111-1307, USA.
- *
- * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
- * Mountain View, CA 94043, or:
- *
- * http://www.sgi.com
- *
- * For further information regarding this notice, see:
- *
- * http://oss.sgi.com/projects/GenInfo/NoticeExplan/
- */
-#ifndef _STR_TO_BYTES_
-#define _STR_TO_BYTES_
-
-int str_to_bytes ( char * );
-long str_to_lbytes ( char * );
-long long str_to_llbytes( char * );
-
-#endif
diff --git a/winsup/testsuite/libltp/include/string_to_tokens.h b/winsup/testsuite/libltp/include/string_to_tokens.h
deleted file mode 100644
index 9c0935ec5..000000000
--- a/winsup/testsuite/libltp/include/string_to_tokens.h
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it would be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Further, this software is distributed without any warranty that it is
- * free of the rightful claim of any third person regarding infringement
- * or the like. Any license provided herein, whether implied or
- * otherwise, applies only to this software file. Patent licenses, if
- * any, provided herein do not apply to combinations of this program with
- * other software, or any other product whatsoever.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write the Free Software Foundation, Inc., 59
- * Temple Place - Suite 330, Boston MA 02111-1307, USA.
- *
- * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
- * Mountain View, CA 94043, or:
- *
- * http://www.sgi.com
- *
- * For further information regarding this notice, see:
- *
- * http://oss.sgi.com/projects/GenInfo/NoticeExplan/
- */
-#ifndef _STRING_TO_TOKENS_H_
-#define _STRING_TO_TOKENS_H_
-
-/*
- * string_to_tokens()
- *
- * This function parses the string 'arg_string', placing pointers to
- * the 'separator' separated tokens into the elements of 'arg_array'.
- * The array is terminated with a null pointer.
- *
- * NOTE: This function uses strtok() to parse 'arg_string', and thus
- * physically alters 'arg_string' by placing null characters where the
- * separators originally were.
- */
-int string_to_tokens(char *, char **, int, char *);
-
-#endif
diff --git a/winsup/testsuite/libltp/include/test.h b/winsup/testsuite/libltp/include/test.h
deleted file mode 100644
index 8cffea4cb..000000000
--- a/winsup/testsuite/libltp/include/test.h
+++ /dev/null
@@ -1,232 +0,0 @@
-/*
- * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved.
- *.
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it would be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Further, this software is distributed without any warranty that it is
- * free of the rightful claim of any third person regarding infringement
- * or the like. Any license provided herein, whether implied or
- * otherwise, applies only to this software file. Patent licenses, if
- * any, provided herein do not apply to combinations of this program with
- * other software, or any other product whatsoever.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write the Free Software Foundation, Inc., 59
- * Temple Place - Suite 330, Boston MA 02111-1307, USA.
- *
- * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
- * Mountain View, CA 94043, or:
- *
- * http://www.sgi.com
- *
- * For further information regarding this notice, see:
- *
- * http://oss.sgi.com/projects/GenInfo/NoticeExplan/
- */
-
-/* $Id$ */
-
-#ifndef __TEST_H__
-#define __TEST_H__
-
-#define execve execve_foo
-#define execv execv_foo
-#define execvp execvp_foo
-#include <stdio.h>
-#include <signal.h>
-#include <unistd.h>
-#include <stdlib.h>
-#include <string.h>
-#undef execvp
-#undef execv
-#undef execve
-
-int execve(const char *, const char * const [], char * const *);
-int execv(const char *, const char * const []);
-int execvp(const char *, const char * const []);
-
-/* CGF: Avoid compilation warnings for undefined functions */
-extern int setregid (gid_t, gid_t);
-int setreuid (uid_t, uid_t);
-
-#define TPASS 0 /* Test passed flag */
-#define TFAIL 1 /* Test failed flag */
-#define TBROK 2 /* Test broken flag */
-#define TWARN 4 /* Test warning flag */
-#define TRETR 8 /* Test retire flag */
-#define TINFO 16 /* Test information flag */
-#define TCONF 32 /* Test not appropriate for configuration flag */
-
-/*
- * To determine if you are on a Umk or Unicos system,
- * use sysconf(_SC_CRAY_SYSTEM). But since _SC_CRAY_SYSTEM
- * is not defined until 90, it will be define here if not already
- * defined.
- * if ( sysconf(_SC_CRAY_SYSTEM) == 1 )
- * on UMK
- * else # returned 0 or -1
- * on Unicos
- * This is only being done on CRAY systems.
- */
-#ifdef CRAY
-#ifndef _SC_CRAY_SYSTEM
-#define _SC_CRAY_SYSTEM 140
-#endif /* ! _SC_CRAY_SYSTEM */
-#endif /* CRAY */
-
-/*
- * Ensure that NUMSIGS is defined.
- * It should be defined in signal.h or sys/signal.h on
- * UNICOS/mk and IRIX systems. On UNICOS systems,
- * it is not defined, thus it is being set to UNICOS's NSIG.
- * Note: IRIX's NSIG (signals are 1-(NSIG-1))
- * is not same meaning as UNICOS/UMK's NSIG (signals 1-NSIG)
- */
-#ifndef NUMSIGS
-#define NUMSIGS NSIG
-#endif
-
-
-/* defines for unexpected signal setup routine (set_usig.c) */
-#define FORK 1 /* SIGCLD is to be ignored */
-#define NOFORK 0 /* SIGCLD is to be caught */
-#define DEF_HANDLER 0 /* tells set_usig() to use default signal handler */
-
-/*
- * The following defines are used to control tst_res and t_result reporting.
- */
-
-#define TOUTPUT "TOUTPUT" /* The name of the environment variable */
- /* that can be set to one of the following */
- /* strings to control tst_res output */
- /* If not set, TOUT_VERBOSE_S is assumed */
-
-#define TOUT_VERBOSE_S "VERBOSE" /* All test cases reported */
-#define TOUT_CONDENSE_S "CONDENSE" /* ranges are used where identical messages*/
- /* occur for sequential test cases */
-#define TOUT_NOPASS_S "NOPASS" /* No pass test cases are reported */
-#define TOUT_DISCARD_S "DISCARD" /* No output is reported */
-
-#define TST_NOBUF "TST_NOBUF" /* The name of the environment variable */
- /* that can be set to control whether or not */
- /* tst_res will buffer output into 4096 byte */
- /* blocks of output */
- /* If not set, buffer is done. If set, no */
- /* internal buffering will be done in tst_res */
- /* t_result does not have internal buffering */
-
-/*
- * The following defines are used to control tst_tmpdir, tst_wildcard and t_mkchdir
- */
-
-#define TDIRECTORY "TDIRECTORY" /* The name of the environment variable */
- /* that if is set, the value (directory) */
- /* is used by all tests as their working */
- /* directory. tst_rmdir and t_rmdir will */
- /* not attempt to clean up. */
- /* This environment variable should only */
- /* be set when doing system testing since */
- /* tests will collide and break and fail */
- /* because of setting it. */
-
-#define TEMPDIR "/tmp" /* This is the default temporary directory. */
- /* The environment variable TMPDIR is */
- /* used prior to this valid by tempnam(3). */
- /* To control the base location of the */
- /* temporary directory, set the TMPDIR */
- /* environment variable to desired path */
-
-/*
- * The following contains support for error message passing.
- * See test_error.c for details.
- */
-#define TST_ERR_MESG_SIZE 1023 /* max size of error message */
-#define TST_ERR_FILE_SIZE 511 /* max size of module name used by compiler */
-#define TST_ERR_FUNC_SIZE 127 /* max size of func name */
-
-typedef struct {
- int te_line; /* line where last error was reported. Use */
- /* "__LINE__" and let compiler do the rest */
- int te_level; /* If set, will prevent current stored */
- /* error to not be overwritten */
- char te_func[TST_ERR_FUNC_SIZE+1]; /* name of function of last error */
- /* Name of function or NULL */
- char te_file[TST_ERR_FILE_SIZE+1]; /* module of last error. Use */
- /* "__FILE__" and let compiler do the rest */
- char te_mesg[TST_ERR_MESG_SIZE+1]; /* string of last error */
-
-} _TST_ERROR;
-
-extern _TST_ERROR Tst_error; /* defined in test_error.c */
-#if __STDC__
-extern void tst_set_error(char *file, int line, char *func, char *fmt, ...);
-#else
-extern void tst_set_error();
-#endif
-extern void tst_clear_error();
-
-
-/*
- * The following define contains the name of an environmental variable
- * that can be used to specify the number of iterations.
- * It is supported in parse_opts.c and USC_setup.c.
- */
-#define USC_ITERATION_ENV "USC_ITERATIONS"
-
-/*
- * The following define contains the name of an environmental variable
- * that can be used to specify to iteration until desired time
- * in floating point seconds has gone by.
- * Supported in USC_setup.c.
- */
-#define USC_LOOP_WALLTIME "USC_LOOP_WALLTIME"
-
-/*
- * The following define contains the name of an environmental variable
- * that can be used to specify that no functional checks are wanted.
- * It is supported in parse_opts.c and USC_setup.c.
- */
-#define USC_NO_FUNC_CHECK "USC_NO_FUNC_CHECK"
-
-/*
- * The following define contains the name of an environmental variable
- * that can be used to specify the delay between each loop iteration.
- * The value is in seconds (fractional numbers are allowed).
- * It is supported in parse_opts.c.
- */
-#define USC_LOOP_DELAY "USC_LOOP_DELAY"
-
-/*
- * The following prototypes are needed to remove compile errors
- * on IRIX systems when compiled with -n32 and -64.
- */
-extern void tst_res(int ttype, const char *fname, const char *arg_fmt, ...);
-extern void tst_resm(int ttype, const char *arg_fmt, ...);
-extern void tst_brk(int ttype, char *fname, void (*func)(),
- const char *arg_fmt, ...);
-extern void tst_brkloop(int ttype, char *fname, void (*func)(),
- const char *arg_fmt, ...);
-extern void tst_brkm(int ttype, void (*func)(), const char *arg_fmt, ...);
-extern void tst_brkloopm(int ttype, void (*func)(), const char *arg_fmt, ...);
-
-extern int tst_environ();
-extern void tst_exit() __attribute__ ((noreturn));
-extern void tst_flush();
-
-/* prototypes for the t_res.c functions */
-extern void t_result(char *tcid, int tnum, int ttype, char *tmesg);
-extern void tt_exit();
-extern int t_environ();
-extern void t_breakum(char *tcid, int total, int typ, char *msg, void (*fnc)());
-
-extern void tst_sig(int fork_flag, void (*handler)(), void (*cleanup)());
-extern void tst_tmpdir();
-extern void tst_rmdir();
-
-#endif /* end of __TEST_H__ */
diff --git a/winsup/testsuite/libltp/include/tlibio.h b/winsup/testsuite/libltp/include/tlibio.h
deleted file mode 100644
index ac0d5705c..000000000
--- a/winsup/testsuite/libltp/include/tlibio.h
+++ /dev/null
@@ -1,148 +0,0 @@
-/*
- * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it would be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Further, this software is distributed without any warranty that it is
- * free of the rightful claim of any third person regarding infringement
- * or the like. Any license provided herein, whether implied or
- * otherwise, applies only to this software file. Patent licenses, if
- * any, provided herein do not apply to combinations of this program with
- * other software, or any other product whatsoever.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write the Free Software Foundation, Inc., 59
- * Temple Place - Suite 330, Boston MA 02111-1307, USA.
- *
- * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
- * Mountain View, CA 94043, or:
- *
- * http://www.sgi.com
- *
- * For further information regarding this notice, see:
- *
- * http://oss.sgi.com/projects/GenInfo/NoticeExplan/
- */
-
-#define LIO_IO_SYNC 00001 /* read/write */
-#define LIO_IO_ASYNC 00002 /* reada/writea/aio_write/aio_read */
-#define LIO_IO_SLISTIO 00004 /* single stride sync listio */
-#define LIO_IO_ALISTIO 00010 /* single stride async listio */
-#define LIO_IO_SYNCV 00020 /* single-buffer readv/writev */
-#define LIO_IO_SYNCP 00040 /* pread/pwrite */
-
-#ifdef sgi
-#define LIO_IO_ATYPES 00077 /* all io types */
-#define LIO_IO_TYPES 00061 /* all io types, non-async */
-#endif /* sgi */
-#ifdef linux
-#define LIO_IO_TYPES 00021 /* all io types */
-#endif /* linux */
-#ifdef CRAY
-#define LIO_IO_TYPES 00017 /* all io types */
-#endif /* CRAY */
-
-#define LIO_WAIT_NONE 00010000 /* return asap -- use with care */
-#define LIO_WAIT_ACTIVE 00020000 /* spin looking at iosw fields, or EINPROGRESS */
-#define LIO_WAIT_RECALL 00040000 /* call recall(2)/aio_suspend(3) */
-#define LIO_WAIT_SIGPAUSE 00100000 /* call pause */
-#define LIO_WAIT_SIGACTIVE 00200000 /* spin waiting for signal */
-#ifdef sgi
-#define LIO_WAIT_CBSUSPEND 00400000 /* aio_suspend waiting for callback */
-#define LIO_WAIT_SIGSUSPEND 01000000 /* aio_suspend waiting for signal */
-#define LIO_WAIT_ATYPES 01760000 /* all async wait types, except nowait */
-#define LIO_WAIT_TYPES 00020000 /* all sync wait types (sorta) */
-#endif /* sgi */
-#ifdef linux
-#define LIO_WAIT_TYPES 00300000 /* all wait types, except nowait */
-#endif /* linux */
-#ifdef CRAY
-#define LIO_WAIT_TYPES 00360000 /* all wait types, except nowait */
-#endif /* CRAY */
-
-/* meta wait io */
-/* 00 000 0000 */
-
-#ifdef sgi
-/* all callback wait types */
-#define LIO_WAIT_CBTYPES (LIO_WAIT_CBSUSPEND)
-/* all signal wait types */
-#define LIO_WAIT_SIGTYPES (LIO_WAIT_SIGPAUSE|LIO_WAIT_SIGACTIVE|LIO_WAIT_SIGSUSPEND)
-/* all aio_{read,write} or lio_listio */
-#define LIO_IO_ASYNC_TYPES (LIO_IO_ASYNC|LIO_IO_SLISTIO|LIO_IO_ALISTIO)
-#endif /* sgi */
-#ifdef linux
-/* all signal wait types */
-#define LIO_WAIT_SIGTYPES (LIO_WAIT_SIGPAUSE)
-#endif /* linux */
-#ifdef CRAY
-/* all signal wait types */
-#define LIO_WAIT_SIGTYPES (LIO_WAIT_SIGPAUSE|LIO_WAIT_SIGACTIVE)
-#endif /* CRAY */
-
-/*
- * This bit provides a way to randomly pick an io type and wait method.
- * lio_read_buffer() and lio_write_buffer() functions will call
- * lio_random_methods() with the given method.
- */
-#define LIO_RANDOM 010000000
-
-/*
- * This bit provides a way for the programmer to use async i/o with
- * signals and to use their own signal handler. By default,
- * the signal will only be given to the system call if the wait
- * method is LIO_WAIT_SIGPAUSE or LIO_WAIT_SIGACTIVE.
- * Whenever these wait methods are used, libio signal handler
- * will be used.
- */
-#define LIO_USE_SIGNAL 020000000
-
-/*
- * prototypes/structures for functions in the libio.c module. See comments
- * in that module, or man page entries for information on the individual
- * functions.
- */
-
-int stride_bounds(int offset, int stride, int nstrides,
- int bytes_per_stride, int *min_byte, int *max_byte);
-
-int lio_set_debug(int level);
-int lio_parse_io_arg1(char *string);
-void lio_help1(char *prefex);
-int lio_parse_io_arg2(char *string, char **badtoken);
-void lio_help2(char *prefex);
-int lio_write_buffer(int fd, int method, char *buffer, int size,
- int sig, char **errmsg, long wrd);
-
-int lio_read_buffer(int fd, int method, char *buffer, int size,
- int sig, char **errmsg, long wrd);
-int lio_random_methods(long mask);
-
-#if CRAY
-#include <sys/iosw.h>
-int lio_wait4asyncio(int method, int fd, struct iosw **statptr);
-int lio_check_asyncio(char *io_type, int size, struct iosw *status);
-#endif /* CRAY */
-#ifdef sgi
-#include <aio.h>
-int lio_wait4asyncio(int method, int fd, aiocb_t *aiocbp);
-int lio_check_asyncio(char *io_type, int size, aiocb_t *aiocbp, int method);
-#endif /* sgi */
-
-/*
- * Define the structure that contains the infomation that is used
- * by the parsing and help functions.
- */
-struct lio_info_type {
- char *token;
- int bits;
- char *desc;
-};
-
-
diff --git a/winsup/testsuite/libltp/include/usctest.h b/winsup/testsuite/libltp/include/usctest.h
deleted file mode 100644
index 6a095db1c..000000000
--- a/winsup/testsuite/libltp/include/usctest.h
+++ /dev/null
@@ -1,319 +0,0 @@
-/*
- * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it would be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Further, this software is distributed without any warranty that it is
- * free of the rightful claim of any third person regarding infringement
- * or the like. Any license provided herein, whether implied or
- * otherwise, applies only to this software file. Patent licenses, if
- * any, provided herein do not apply to combinations of this program with
- * other software, or any other product whatsoever.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write the Free Software Foundation, Inc., 59
- * Temple Place - Suite 330, Boston MA 02111-1307, USA.
- *
- * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
- * Mountain View, CA 94043, or:
- *
- * http://www.sgi.com
- *
- * For further information regarding this notice, see:
- *
- * http://oss.sgi.com/projects/GenInfo/NoticeExplan/
- */
-
-/* $Id$ */
-
-/**********************************************************
- *
- * IRIX/Linux Feature Test and Evaluation - Silicon Graphics, Inc.
- *
- * FUNCTION NAME : usctest.h
- *
- * FUNCTION TITLE : System Call Test Macros
- *
- * SYNOPSIS:
- * See DESCRIPTION below.
- *
- * AUTHOR : William Roske
- *
- * INITIAL RELEASE : UNICOS 7.0
- *
- * DESCRIPTION
- * TEST(SCALL) - calls a system call
- * TEST_VOID(SCALL) - same as TEST() but for syscalls with no return value.
- * TEST_CLEANUP - print the log of errno return counts if STD_ERRNO_LOG
- * is set.
- * TEST_PAUSEF(HAND) - Pause for SIGUSR1 if the pause flag is set.
- * Use "hand" as the interrupt handling function
- * TEST_PAUSE - Pause for SIGUSR1 if the pause flag is set.
- * Use internal function to do nothing on signal and go on.
- * TEST_LOOPING(COUNTER) - Conditional to check if test should
- * loop. Evaluates to TRUE (1) or FALSE (0).
- * TEST_ERROR_LOG(eno) - log that this errno was received,
- * if STD_ERRNO_LOG is set.
- * TEST_EXP_ENOS(array) - set the bits in TEST_VALID_ENO array at
- * positions specified in integer "array"
- *
- * RETURN VALUE
- * TEST(SCALL) - Global Variables set:
- * int TEST_RETURN=return code from SCALL
- * int TEST_ERRNO=value of errno at return from SCALL
- * TEST_VOID(SCALL) - Global Variables set:
- * int TEST_ERRNO=value of errno at return from SCALL
- * TEST_CLEANUP - None.
- * TEST_PAUSEF(HAND) - None.
- * TEST_PAUSE - None.
- * TEST_LOOPING(COUNTER) - True if COUNTER < STD_LOOP_COUNT or
- * STD_INFINITE is set.
- * TEST_ERROR_LOG(eno) - None
- * TEST_EXP_ENOS(array) - None
- *
- * KNOWN BUGS
- * If you use the TEST_PAUSE or TEST_LOOPING macros, you must
- * link in parse_opts.o, which contains the code for those functions.
- *
- *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#**/
-
-#ifndef __USCTEST_H__
-#define __USCTEST_H__ 1
-
-#ifndef _SC_CLK_TCK
-#include <unistd.h>
-#endif
-
-#include <sys/param.h>
-
-/*
- * Ensure that PATH_MAX is defined
- */
-#ifndef PATH_MAX
-#ifdef MAXPATHLEN
-#define PATH_MAX MAXPATHLEN
-#else
-#define PATH_MAX 1024
-#endif
-#endif
-
-#ifndef CRAY
-#ifndef BSIZE
-#define BSIZE BBSIZE
-#endif
-#endif
-
-/***********************************************************************
- * Define option_t structure type.
- * Entries in this struct are used by the parse_opts routine
- * to indicate valid options and return option arguments
- ***********************************************************************/
-typedef struct {
- const char *option; /* Valid option string (one option only) like "a:" */
- int *flag; /* pointer to location to set true if option given */
- char **arg; /* pointer to location to place argument, if needed */
-} option_t;
-
-/***********************************************************************
- * The following globals are defined in parse_opts.c but must be
- * externed here because they are used in the macros defined below.
- ***********************************************************************/
-extern int STD_FUNCTIONAL_TEST, /* turned off by -f to not do functional test */
- STD_TIMING_ON, /* turned on by -t to print timing stats */
- STD_PAUSE, /* turned on by -p to pause before loop */
- STD_INFINITE, /* turned on by -c0 to loop forever */
- STD_LOOP_COUNT, /* changed by -cn to set loop count to n */
- STD_ERRNO_LOG, /* turned on by -e to log errnos returned */
- STD_ERRNO_LIST[], /* counts of errnos returned. indexed by errno */
- STD_COPIES,
- STD_argind;
-
-extern float STD_LOOP_DURATION, /* wall clock time to iterate */
- STD_LOOP_DELAY; /* delay time after each iteration */
-
-#define USC_MAX_ERRNO 2000
-
-/**********************************************************************
- * Prototype for parse_opts routine
- **********************************************************************/
-extern const char *parse_opts(int ac, char **av, option_t *user_optarr, void (*uhf)());
-
-
-/*
- * define a structure
- */
-struct usc_errno_t {
- int flag;
-};
-
-/***********************************************************************
- ****
- ****
- ****
- **********************************************************************/
-#ifdef _USC_LIB_
-
-extern int TEST_RETURN;
-extern int TEST_ERRNO;
-
-#else
-/***********************************************************************
- * Global array of bit masks to indicate errnos that are expected.
- * Bits set by TEST_EXP_ENOS() macro and used by TEST_CLEANUP() macro.
- ***********************************************************************/
-extern struct usc_errno_t TEST_VALID_ENO[USC_MAX_ERRNO];
-
-/***********************************************************************
- * Globals for returning the return code and errno from the system call
- * test macros.
- ***********************************************************************/
-extern int TEST_RETURN;
-extern int TEST_ERRNO;
-
-/***********************************************************************
- * temporary variables for determining max and min times in TEST macro
- ***********************************************************************/
-extern long btime, etime, tmptime;
-
-#endif /* _USC_LIB_ */
-
-/***********************************************************************
- * structure for timing accumulator and counters
- ***********************************************************************/
-struct tblock {
- long tb_max;
- long tb_min;
- long tb_total;
- long tb_count;
-};
-
-/***********************************************************************
- * The following globals are externed here so that they are accessable
- * in the macros that follow.
- ***********************************************************************/
-extern struct tblock tblock;
-extern void STD_go();
-extern int (*_TMP_FUNC)(void);
-extern void STD_opts_help();
-
-
-/***********************************************************************
- * TEST: calls a system call
- *
- * parameters:
- * SCALL = system call and parameters to execute
- *
- ***********************************************************************/
-#define TEST(SCALL) TEST_RETURN = (unsigned) SCALL; TEST_ERRNO=errno;
-
-/***********************************************************************
- * TEST_VOID: calls a system call
- *
- * parameters:
- * SCALL = system call and parameters to execute
- *
- * Note: This is IDENTICAL to the TEST() macro except that it is intended
- * for use with syscalls returning no values (void syscall()). The
- * Typecasting nothing (void) into an unsigned integer causes compilation
- * errors.
- *
- ***********************************************************************/
-#define TEST_VOID(SCALL) SCALL; TEST_ERRNO=errno;
-
-/***********************************************************************
- * TEST_CLEANUP: print system call timing stats and errno log entries
- * to stdout if STD_TIMING_ON and STD_ERRNO_LOG are set, respectively.
- * Do NOT print ANY information if no system calls logged.
- *
- * parameters:
- * none
- *
- ***********************************************************************/
-#define TEST_CLEANUP \
-if ( STD_ERRNO_LOG ) { \
- for (tmptime=0; tmptime<USC_MAX_ERRNO; tmptime++) { \
- if ( STD_ERRNO_LIST[tmptime] ) { \
- if ( TEST_VALID_ENO[tmptime].flag ) \
- tst_resm(TINFO, "ERRNO %d:\tReceived %d Times", \
- tmptime, STD_ERRNO_LIST[tmptime]); \
- else \
- tst_resm(TINFO, \
- "ERRNO %d:\tReceived %d Times ** UNEXPECTED **", \
- tmptime, STD_ERRNO_LIST[tmptime]); \
- } \
- } \
-}
-
-/***********************************************************************
- * TEST_PAUSEF: Pause for SIGUSR1 if the pause flag is set.
- * Set the user specified function as the interrupt
- * handler instead of "STD_go"
- *
- * parameters:
- * none
- *
- ***********************************************************************/
-#define TEST_PAUSEF(HANDLER) \
-if ( STD_PAUSE ) { \
- _TMP_FUNC = (int (*)())signal(SIGUSR1, HANDLER); \
- pause(); \
- signal(SIGUSR1, (void (*)())_TMP_FUNC); \
-}
-
-/***********************************************************************
- * TEST_PAUSE: Pause for SIGUSR1 if the pause flag is set.
- * Just continue when signal comes in.
- *
- * parameters:
- * none
- *
- ***********************************************************************/
-#define TEST_PAUSE usc_global_setup_hook();
-int usc_global_setup_hook();
-
-/***********************************************************************
- * TEST_LOOPING now call the usc_test_looping function.
- * The function will return 1 if the test should continue
- * iterating.
- *
- ***********************************************************************/
-#define TEST_LOOPING usc_test_looping
-int usc_test_looping(int counter);
-
-/***********************************************************************
- * TEST_ERROR_LOG(eno): log this errno if STD_ERRNO_LOG flag set
- *
- * parameters:
- * int eno: the errno location in STD_ERRNO_LIST to log.
- *
- ***********************************************************************/
-#define TEST_ERROR_LOG(eno) \
- if ( STD_ERRNO_LOG ) \
- if ( eno < USC_MAX_ERRNO ) \
- STD_ERRNO_LIST[eno]++; \
-
-
-/***********************************************************************
- * TEST_EXP_ENOS(array): set the bits associated with the nput errnos
- * in the TEST_VALID_ENO array.
- *
- * parameters:
- * int array[]: a zero terminated array of errnos expected.
- *
- ***********************************************************************/
-#define TEST_EXP_ENOS(array) \
- tmptime=0; \
- while (array[tmptime] != 0) { \
- if (array[tmptime] < USC_MAX_ERRNO) \
- TEST_VALID_ENO[array[tmptime]].flag=1; \
- tmptime++; \
- }
-
-
-#endif /* end of __USCTEST_H__ */
diff --git a/winsup/testsuite/libltp/include/write_log.h b/winsup/testsuite/libltp/include/write_log.h
deleted file mode 100644
index 784d5b3eb..000000000
--- a/winsup/testsuite/libltp/include/write_log.h
+++ /dev/null
@@ -1,169 +0,0 @@
-/*
- * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it would be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Further, this software is distributed without any warranty that it is
- * free of the rightful claim of any third person regarding infringement
- * or the like. Any license provided herein, whether implied or
- * otherwise, applies only to this software file. Patent licenses, if
- * any, provided herein do not apply to combinations of this program with
- * other software, or any other product whatsoever.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write the Free Software Foundation, Inc., 59
- * Temple Place - Suite 330, Boston MA 02111-1307, USA.
- *
- * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
- * Mountain View, CA 94043, or:
- *
- * http://www.sgi.com
- *
- * For further information regarding this notice, see:
- *
- * http://oss.sgi.com/projects/GenInfo/NoticeExplan/
- */
-#ifndef _WRITE_LOG_H_
-#define _WRITE_LOG_H_
-
-/*
- * Constants defining the max size of various wlog_rec fields. ANY SIZE
- * CHANGES HERE MUST BE REFLECTED IN THE WLOG_REC_DISK STRUCTURE DEFINED
- * BELOW.
- */
-
-#define WLOG_MAX_PATH 128
-#define WLOG_MAX_PATTERN 64
-#define WLOG_MAX_HOST 8
-#define WLOG_REC_MAX_SIZE (sizeof(struct wlog_rec)+WLOG_MAX_PATH+WLOG_MAX_PATTERN+WLOG_MAX_HOST+2)
-
-/*
- * User view of a write log record. Note that this is not necessiliary
- * how the data is formatted on disk (signifigant compression occurrs), so
- * don't expect to od the write log file and see things formatted this way.
- */
-
-struct wlog_rec {
- int w_pid; /* pid doing the write */
- int w_offset; /* file offset */
- int w_nbytes; /* # bytes written */
- int w_oflags; /* low-order open() flags */
- int w_done; /* 1 if io confirmed done */
- int w_async; /* 1 if async write (writea) */
-
- char w_host[WLOG_MAX_HOST+1]; /* host doing write - */
- /* null terminated */
- int w_hostlen; /* host name length */
- char w_path[WLOG_MAX_PATH+1]; /* file written to - */
- /* null terminated */
- int w_pathlen; /* file name length */
- char w_pattern[WLOG_MAX_PATTERN+1]; /* pattern written - */
- /* null terminated */
- int w_patternlen; /* pattern length */
-};
-
-#ifndef uint
-#define uint unsigned int
-#endif
-
-/*
- * On-disk structure of a wlog_rec. Actually, the record consists of
- * 3 parts: [wlog_rec_disk structure][variable length data][length]
- * where length is a 2 byte field containing the total record length
- * (including the 2 bytes). It is used for scanning the logfile in reverse
- * order.
- *
- * The variable length data includes the path, host, and pattern (in that
- * order). The lengths of these pieces of data are held in the
- * wlog_rec_disk structure. Thus, the actual on-disk record looks like
- * this (top is lower byte offset):
- *
- * struct wlog_rec_disk
- * path (w_pathlen bytes - not null terminated)
- * host (w_hostlen bytes - not null terminated)
- * pattern (w_patternlen bytes - not null terminated)
- * 2-byte record length
- *
- * Another way of looking at it is:
- *
- * <struct wlog_rec_disk><path (wpathlen bytes)>-->
- * --><host (w_hostlen bytes)><pattern (w_patternlen bytes)><length (2 bytes)>
- *
- * The maximum length of this record is defined by the WLOG_REC_MAX_SIZE
- * record. Note that the 2-byte record length forces this to be
- * <= 64k bytes.
- *
- * Note that there is lots of bit-masking done here. The w_pathlen,
- * w_hostlen, and w_patternlen fields MUST have enough bits to hold
- * WLOG_MAX_PATH, WLOG_MAX_HOST, and WLOG_MAX_PATTERN bytes respectivly.
- */
-
-struct wlog_rec_disk {
-#ifdef CRAY
- uint w_offset : 44; /* file offset */
- uint w_extra0 : 20; /* EXTRA BITS IN WORD 0 */
-#else
- uint w_offset : 32; /* file offset */
- uint w_extra0 : 32; /* EXTRA BITS IN WORD 0 */
-#endif
-
- uint w_nbytes : 32; /* # bytes written */
- uint w_oflags : 32; /* low-order open() flags */
-
- uint w_pid : 17; /* pid doing the write */
- uint w_pathlen : 7; /* length of file path */
- uint w_patternlen: 6; /* length of pattern */
- uint w_hostlen : 4; /* length of host */
- uint w_done : 1; /* 1 if io confirmed done */
- uint w_async : 1; /* 1 if async write (writea) */
- uint w_extra2 : 28; /* EXTRA BITS IN WORD 2 */
-};
-
-/*
- * write log file datatype. wlog_open() initializes this structure
- * which is then passed around to the various wlog_xxx routines.
- */
-
-struct wlog_file {
- int w_afd; /* append fd */
- int w_rfd; /* random-access fd */
- char w_file[1024]; /* name of the write_log */
-};
-
-/*
- * return value defines for the user-supplied function to
- * wlog_scan_backward().
- */
-
-#define WLOG_STOP_SCAN 0
-#define WLOG_CONTINUE_SCAN 1
-
-/*
- * wlog prototypes
- */
-
-#if __STDC__
-extern int wlog_open(struct wlog_file *wfile, int trunc, int mode);
-extern int wlog_close(struct wlog_file *wfile);
-extern int wlog_record_write(struct wlog_file *wfile,
- struct wlog_rec *wrec, long offset);
-extern int wlog_scan_backward(struct wlog_file *wfile, int nrecs,
- int (*func)(struct wlog_rec *rec),
- long data);
-#else
-int wlog_open();
-int wlog_close();
-int wlog_record_write();
-int wlog_scan_backward();
-#endif
-
-extern char Wlog_Error_String[];
-
-#endif /* _WRITE_LOG_H_ */
-
diff --git a/winsup/testsuite/libltp/lib/dataascii.c b/winsup/testsuite/libltp/lib/dataascii.c
deleted file mode 100644
index 5bc201852..000000000
--- a/winsup/testsuite/libltp/lib/dataascii.c
+++ /dev/null
@@ -1,218 +0,0 @@
-/*
- * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it would be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Further, this software is distributed without any warranty that it is
- * free of the rightful claim of any third person regarding infringement
- * or the like. Any license provided herein, whether implied or
- * otherwise, applies only to this software file. Patent licenses, if
- * any, provided herein do not apply to combinations of this program with
- * other software, or any other product whatsoever.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write the Free Software Foundation, Inc., 59
- * Temple Place - Suite 330, Boston MA 02111-1307, USA.
- *
- * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
- * Mountain View, CA 94043, or:
- *
- * http://www.sgi.com
- *
- * For further information regarding this notice, see:
- *
- * http://oss.sgi.com/projects/GenInfo/NoticeExplan/
- */
-#include <stdio.h>
-#include <string.h>
-#include "dataascii.h"
-
-#define CHARS "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghjiklmnopqrstuvwxyz\n"
-#define CHARS_SIZE sizeof(CHARS)
-
-#ifdef UNIT_TEST
-#include <stdlib.h> /* malloc */
-#endif
-
-static char Errmsg[80];
-
-int
-dataasciigen(listofchars, buffer, bsize, offset)
-char *listofchars; /* a null terminated list of characters */
-char *buffer;
-int bsize;
-int offset;
-{
- int cnt;
- int total;
- int ind; /* index into CHARS array */
- char *chr;
- int chars_size;
- const char *charlist;
-
- chr=buffer;
- total=offset+bsize;
-
- if ( listofchars == NULL ) {
- charlist=CHARS;
- chars_size=CHARS_SIZE;
- }
- else {
- charlist=listofchars;
- chars_size=strlen(listofchars);
- }
-
- for(cnt=offset; cnt<total; cnt++) {
- ind=cnt%chars_size;
- *chr++=charlist[ind];
- }
-
- return bsize;
-
-} /* end of dataasciigen */
-
-int
-dataasciichk(listofchars, buffer, bsize, offset, errmsg)
-char *listofchars; /* a null terminated list of characters */
-char *buffer;
-int bsize;
-int offset;
-char **errmsg;
-{
- int cnt;
- int total;
- int ind; /* index into CHARS array */
- char *chr;
- int chars_size;
- const char *charlist;
-
- chr=buffer;
- total=offset+bsize;
-
- if ( listofchars == NULL ) {
- charlist=CHARS;
- chars_size=CHARS_SIZE;
- }
- else {
- charlist=listofchars;
- chars_size=strlen(listofchars);
- }
-
- if ( errmsg != NULL ) {
- *errmsg = Errmsg;
- }
-
- for(cnt=offset; cnt<total; chr++, cnt++) {
- ind=cnt%chars_size;
- if ( *chr != charlist[ind] ) {
- sprintf(Errmsg,
- "data mismatch at offset %d, exp:%#o, act:%#o", cnt,
- charlist[ind], *chr);
- return cnt;
- }
- }
-
- sprintf(Errmsg, "all %d bytes match desired pattern", bsize);
- return -1; /* buffer is ok */
-
-} /* end of dataasciichk */
-
-
-#if UNIT_TEST
-
-/***********************************************************************
- * main for doing unit testing
- ***********************************************************************/
-int
-main(ac, ag)
-int ac;
-char **ag;
-{
-
-int size=1023;
-char *buffer;
-int ret;
-char *errmsg;
-
- if ((buffer=(char *)malloc(size)) == NULL ) {
- perror("malloc");
- exit(2);
- }
-
- dataasciigen(NULL, buffer, size, 0);
- printf("dataasciigen(NULL, buffer, %d, 0)\n", size);
-
- ret=dataasciichk(NULL, buffer, size, 0, &errmsg);
- printf("dataasciichk(NULL, buffer, %d, 0, &errmsg) returned %d %s\n",
- size, ret, errmsg);
-
- if ( ret == -1 )
- printf("\tPASS return value is -1 as expected\n");
- else
- printf("\tFAIL return value is %d, expected -1\n", ret);
-
- ret=dataasciichk(NULL, &buffer[1], size-1, 1, &errmsg);
- printf("dataasciichk(NULL, &buffer[1], %d, 1, &errmsg) returned %d %s\n",
- size-1, ret, errmsg);
-
- if ( ret == -1 )
- printf("\tPASS return value is -1 as expected\n");
- else
- printf("\tFAIL return value is %d, expected -1\n", ret);
-
- buffer[25]= 0x0;
- printf("changing char 25\n");
-
- ret=dataasciichk(NULL, &buffer[1], size-1, 1, &errmsg);
- printf("dataasciichk(NULL, &buffer[1], %d, 1, &errmsg) returned %d %s\n",
- size-1, ret, errmsg);
-
- if ( ret == 25 )
- printf("\tPASS return value is 25 as expected\n");
- else
- printf("\tFAIL return value is %d, expected 25\n", ret);
-
- dataasciigen("this is a test of the my string" , buffer, size, 0);
- printf("dataasciigen(\"this is a test of the my string\", buffer, %d, 0)\n", size);
-
- ret=dataasciichk("this is a test of the my string", buffer, size, 0, &errmsg);
- printf("dataasciichk(\"this is a test of the my string\", buffer, %d, 0, &errmsg) returned %d %s\n",
- size, ret, errmsg);
-
- if ( ret == -1 )
- printf("\tPASS return value is -1 as expected\n");
- else
- printf("\tFAIL return value is %d, expected -1\n", ret);
-
- ret=dataasciichk("this is a test of the my string", &buffer[1], size-1, 1, &errmsg);
- printf("dataasciichk(\"this is a test of the my string\", &buffer[1], %d, 1, &errmsg) returned %d %s\n",
- size-1, ret, errmsg);
-
- if ( ret == -1 )
- printf("\tPASS return value is -1 as expected\n");
- else
- printf("\tFAIL return value is %d, expected -1\n", ret);
-
- buffer[25]= 0x0;
- printf("changing char 25\n");
-
- ret=dataasciichk("this is a test of the my string", &buffer[1], size-1, 1, &errmsg);
- printf("dataasciichk(\"this is a test of the my string\", &buffer[1], %d, 1, &errmsg) returned %d %s\n",
- size-1, ret, errmsg);
-
- if ( ret == 25 )
- printf("\tPASS return value is 25 as expected\n");
- else
- printf("\tFAIL return value is %d, expected 25\n", ret);
-
- exit(0);
-}
-
-#endif
-
diff --git a/winsup/testsuite/libltp/lib/databin.c b/winsup/testsuite/libltp/lib/databin.c
deleted file mode 100644
index f09c2c86c..000000000
--- a/winsup/testsuite/libltp/lib/databin.c
+++ /dev/null
@@ -1,298 +0,0 @@
-/*
- * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it would be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Further, this software is distributed without any warranty that it is
- * free of the rightful claim of any third person regarding infringement
- * or the like. Any license provided herein, whether implied or
- * otherwise, applies only to this software file. Patent licenses, if
- * any, provided herein do not apply to combinations of this program with
- * other software, or any other product whatsoever.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write the Free Software Foundation, Inc., 59
- * Temple Place - Suite 330, Boston MA 02111-1307, USA.
- *
- * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
- * Mountain View, CA 94043, or:
- *
- * http://www.sgi.com
- *
- * For further information regarding this notice, see:
- *
- * http://oss.sgi.com/projects/GenInfo/NoticeExplan/
- */
-#include <stdio.h>
-#include <sys/param.h>
-#include <string.h> /* memset */
-#include <stdlib.h> /* rand */
-#include "databin.h"
-
-#if UNIT_TEST
-#include <malloc.h>
-#endif
-
-static char Errmsg[80];
-
-void
-databingen (mode, buffer, bsize, offset)
-int mode; /* either a, c, r, o, z or C */
-unsigned char *buffer; /* buffer pointer */
-int bsize; /* size of buffer */
-int offset; /* offset into the file where buffer starts */
-{
-int ind;
-
- switch (mode)
- {
- default:
- case 'a': /* alternating bit pattern */
- memset(buffer,0x55,bsize);
- break;
-
- case 'c': /* checkerboard pattern */
- memset(buffer,0xf0,bsize);
- break;
-
- case 'C': /* */
- for (ind=0;ind< bsize;ind++) {
- buffer[ind] = ((offset+ind)%8 & 0177);
- }
- break;
-
- case 'o':
- memset(buffer,0xff,bsize);
- break;
-
- case 'z':
- memset(buffer,0x0,bsize);
- break;
-
- case 'r': /* random */
- for (ind=0;ind< bsize;ind++) {
- buffer[ind] = (rand () & 0177) | 0100;
- }
- }
-}
-
-/***********************************************************************
- *
- * return values:
- * >= 0 : error at byte offset into the file, offset+buffer[0-(bsize-1)]
- * < 0 : no error
- ***********************************************************************/
-int
-databinchk(mode, buffer, bsize, offset, errmsg)
-int mode; /* either a, c, r, z, o, or C */
-unsigned char *buffer; /* buffer pointer */
-int bsize; /* size of buffer */
-int offset; /* offset into the file where buffer starts */
-char **errmsg;
-{
- int cnt;
- unsigned char *chr;
- int total;
- long expbits;
- long actbits;
-
- chr=buffer;
- total=bsize;
-
- if ( errmsg != NULL ) {
- *errmsg = Errmsg;
- }
-
- switch (mode)
- {
- default:
- case 'a': /* alternating bit pattern */
- expbits=0x55;
- break;
-
- case 'c': /* checkerboard pattern */
- expbits=0xf0;
- break;
-
- case 'C': /* counting pattern */
- for (cnt=0;cnt< bsize;cnt++) {
- expbits = ((offset+cnt)%8 & 0177);
-
- if ( buffer[cnt] != expbits ) {
- sprintf(Errmsg,
- "data mismatch at offset %d, exp:%#lo, act:%#o",
- offset+cnt, expbits, buffer[cnt]);
- return offset+cnt;
- }
- }
- sprintf(Errmsg, "all %d bytes match desired pattern", bsize);
- return -1;
-
- case 'o':
- expbits=0xff;
- break;
-
- case 'z':
- expbits=0;
- break;
-
- case 'r':
- return -1; /* no check can be done for random */
- }
-
- for (cnt=0; cnt<bsize; chr++, cnt++) {
- actbits = (long)*chr;
-
- if ( actbits != expbits ) {
- sprintf(Errmsg, "data mismatch at offset %d, exp:%#lo, act:%#lo",
- offset+cnt, expbits, actbits);
- return offset+cnt;
- }
- }
-
- sprintf(Errmsg, "all %d bytes match desired pattern", bsize);
- return -1; /* all ok */
-}
-
-#if UNIT_TEST
-
-/***********************************************************************
- * main for doing unit testing
- ***********************************************************************/
-int
-main(ac, ag)
-int ac;
-char **ag;
-{
-
- int size=1023;
- int offset;
- int number;
- unsigned char *buffer;
- int ret;
- char *errmsg;
-
- if ((buffer=(unsigned char *)malloc(size)) == NULL ) {
- perror("malloc");
- exit(2);
- }
-
-
-printf("***** for a ****************************\n");
- databingen('a', buffer, size, 0);
- printf("databingen('a', buffer, %d, 0)\n", size);
-
- ret=databinchk('a', buffer, size, 0, &errmsg);
- printf("databinchk('a', buffer, %d, 0, &errmsg) returned %d: %s\n",
- size, ret, errmsg);
- if ( ret == -1 )
- printf("\tPASS return value of -1 as expected\n");
- else
- printf("\tFAIL return value %d, expected -1\n", ret);
-
- offset=232400;
- ret=databinchk('a', &buffer[1], size-1, offset, &errmsg);
- printf("databinchk('a', &buffer[1], %d, %d, &errmsg) returned %d: %s\n",
- size, offset, ret, errmsg);
- if ( ret == -1 )
- printf("\tPASS return value of -1 as expected\n");
- else
- printf("\tFAIL return value %d, expected -1\n", ret);
-
- buffer[15]= 0x0;
- printf("changing char 15 (offset (%d+15) = %d) to 0x0\n", offset, offset+15);
- number=offset+15;
-
- ret=databinchk('a', &buffer[1], size-1, offset+1, &errmsg);
- printf("databinchk('a', &buffer[1], %d, %d, &errmsg) returned %d: %s\n",
- size-1, offset+1, ret, errmsg);
- if ( ret == number )
- printf("\tPASS return value of %d as expected\n", number);
- else
- printf("\tFAIL return value %d, expected %d\n", ret, number);
-
-
-
-printf("***** for c ****************************\n");
- databingen('c', buffer, size, 0);
- printf("databingen('c', buffer, %d, 0)\n", size);
-
- ret=databinchk('c', buffer, size, 0, &errmsg);
- printf("databinchk('c', buffer, %d, 0, &errmsg) returned %d: %s\n",
- size, ret, errmsg);
- if ( ret == -1 )
- printf("\tPASS return value of -1 as expected\n");
- else
- printf("\tFAIL return value %d, expected -1\n", ret);
-
- offset=232400;
- ret=databinchk('c', &buffer[1], size-1, offset, &errmsg);
- printf("databinchk('c', &buffer[1], %d, %d, &errmsg) returned %d: %s\n",
- size, offset, ret, errmsg);
- if ( ret == -1 )
- printf("\tPASS return value of -1 as expected\n");
- else
- printf("\tFAIL return value %d, expected -1\n", ret);
-
- buffer[15]= 0x0;
- printf("changing char 15 (offset (%d+15) = %d) to 0x0\n", offset, offset+15);
- number=offset+15;
-
- ret=databinchk('c', &buffer[1], size-1, offset+1, &errmsg);
- printf("databinchk('c', &buffer[1], %d, %d, &errmsg) returned %d: %s\n",
- size-1, offset+1, ret, errmsg);
- if ( ret == number )
- printf("\tPASS return value of %d as expected\n", number);
- else
- printf("\tFAIL return value %d, expected %d\n", ret, number);
-
-printf("***** for C ****************************\n");
-
- databingen('C', buffer, size, 0);
- printf("databingen('C', buffer, %d, 0)\n", size);
-
- ret=databinchk('C', buffer, size, 0, &errmsg);
- printf("databinchk('C', buffer, %d, 0, &errmsg) returned %d: %s\n",
- size, ret, errmsg);
- if ( ret == -1 )
- printf("\tPASS return value of -1 as expected\n");
- else
- printf("\tFAIL return value %d, expected -1\n", ret);
-
- offset=18;
- ret=databinchk('C', &buffer[18], size-18, 18, &errmsg);
- printf("databinchk('C', &buffer[18], %d, 18, &errmsg) returned %d: %s\n",
- size-18, ret, errmsg);
- if ( ret == -1 )
- printf("\tPASS return value of -1 as expected\n");
- else
- printf("\tFAIL return value %d, expected -1\n", ret);
-
- buffer[20]= 0x0;
- buffer[21]= 0x0;
- printf("changing char 20 and 21 to 0x0 (offset %d and %d)\n", 20,
- 21);
-
- ret=databinchk('C', &buffer[18], size-18, 18, &errmsg);
- printf("databinchk('C', &buffer[18], %d, 18, &errmsg) returned %d: %s\n",
- size-18, ret, errmsg);
-
- if ( ret == 20 || ret == 21 )
- printf("\tPASS return value of %d or %d as expected\n",
- 20, 21);
- else
- printf("\tFAIL return value %d, expected %d or %d\n", ret,
- 20, 21 );
-
- exit(0);
-
-}
-
-#endif
-
diff --git a/winsup/testsuite/libltp/lib/datapid.c b/winsup/testsuite/libltp/lib/datapid.c
deleted file mode 100644
index 9414eae90..000000000
--- a/winsup/testsuite/libltp/lib/datapid.c
+++ /dev/null
@@ -1,374 +0,0 @@
-/*
- * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it would be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Further, this software is distributed without any warranty that it is
- * free of the rightful claim of any third person regarding infringement
- * or the like. Any license provided herein, whether implied or
- * otherwise, applies only to this software file. Patent licenses, if
- * any, provided herein do not apply to combinations of this program with
- * other software, or any other product whatsoever.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write the Free Software Foundation, Inc., 59
- * Temple Place - Suite 330, Boston MA 02111-1307, USA.
- *
- * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
- * Mountain View, CA 94043, or:
- *
- * http://www.sgi.com
- *
- * For further information regarding this notice, see:
- *
- * http://oss.sgi.com/projects/GenInfo/NoticeExplan/
- */
-/************
-
-64 bits in a Cray word
-
- 12345678901234567890123456789012
-1234567890123456789012345678901234567890123456789012345678901234
-________________________________________________________________
-< pid >< word-offset in file (same #) >< pid >
-
-1234567890123456789012345678901234567890123456789012345678901234
-________________________________________________________________
-< pid >< offset in file of this word >< pid >
-
-
-8 bits to a bytes == character
- NBPW 8
-************/
-
-#include <stdio.h>
-#include <sys/param.h>
-#ifdef UNIT_TEST
-#include <unistd.h>
-#include <stdlib.h>
-#endif
-
-static char Errmsg[80];
-
-#define LOWER16BITS(X) (X & 0177777)
-#define LOWER32BITS(X) (X & 0xffffffff)
-
-/***
-#define HIGHBITS(WRD, bits) ( (-1 << (64-bits)) & WRD)
-#define LOWBITS(WRD, bits) ( (-1 >> (64-bits)) & WRD)
-****/
-
-#define NBPBYTE 8 /* number bits per byte */
-
-#ifndef DEBUG
-#define DEBUG 0
-#endif
-
-/***********************************************************************
- *
- *
- * 1 2 3 4 5 6 7 8 9 10 11 12 13 14 14 15 bytes
- * 1234567890123456789012345678901234567890123456789012345678901234 bits
- * ________________________________________________________________ 1 word
- * < pid >< offset in file of this word >< pid >
- *
- * the words are put together where offset zero is the start.
- * thus, offset 16 is the start of the second full word
- * Thus, offset 8 is in middle of word 1
- ***********************************************************************/
-int
-datapidgen(pid, buffer, bsize, offset)
-int pid;
-char *buffer;
-int bsize;
-int offset;
-{
-#if CRAY
-
- int cnt;
- int tmp;
- char *chr;
- long *wptr;
- long word;
- int woff; /* file offset for the word */
- int boff; /* buffer offset or index */
- int num_full_words;
-
- num_full_words = bsize/NBPW;
- boff = 0;
-
- if ( cnt=(offset % NBPW) ) { /* partial word */
-
- woff = offset - cnt;
-#if DEBUG
-printf("partial at beginning, cnt = %d, woff = %d\n", cnt, woff);
-#endif
-
- word = ((LOWER16BITS(pid) << 48) | (LOWER32BITS(woff) << 16) | LOWER16BITS(pid));
-
- chr = (char *)&word;
-
- for (tmp=0; tmp<cnt; tmp++) { /* skip unused bytes */
- chr++;
- }
-
- for (; boff<(NBPW-cnt) && boff<bsize; boff++, chr++) {
- buffer[boff] = *chr;
- }
- }
-
- /*
- * full words
- */
-
- num_full_words = (bsize-boff)/NBPW;
-
- woff = offset+boff;
-
- for (cnt=0; cnt<num_full_words; woff += NBPW, cnt++ ) {
-
- word = ((LOWER16BITS(pid) << 48) | (LOWER32BITS(woff) << 16) | LOWER16BITS(pid));
-
- chr = (char *)&word;
- for(tmp=0; tmp<NBPW; tmp++, chr++) {
- buffer[boff++] = *chr;
- }
-/****** Only if wptr is a word ellined
- wptr = (long *)&buffer[boff];
- *wptr = word;
- boff += NBPW;
-*****/
-
- }
-
- /*
- * partial word at end of buffer
- */
-
- if ( cnt=((bsize-boff) % NBPW) ) {
-#if DEBUG
-printf("partial at end\n");
-#endif
- word = ((LOWER16BITS(pid) << 48) | (LOWER32BITS(woff) << 16) | LOWER16BITS(pid));
-
- chr = (char *)&word;
-
- for (tmp=0; tmp<cnt && boff<bsize; tmp++, chr++) {
- buffer[boff++] = *chr;
- }
- }
-
- return bsize;
-
-#else
- return -1; /* not support on non-64 bits word machines */
-
-#endif
-
-}
-
-/***********************************************************************
- *
- *
- ***********************************************************************/
-int
-datapidchk(pid, buffer, bsize, offset, errmsg)
-int pid;
-char *buffer;
-int bsize;
-int offset;
-char **errmsg;
-{
-#if CRAY
-
- int cnt;
- int tmp;
- char *chr;
- long *wptr;
- long word;
- int woff; /* file offset for the word */
- int boff; /* buffer offset or index */
- int num_full_words;
-
-
- if ( errmsg != NULL ) {
- *errmsg = Errmsg;
- }
-
-
- num_full_words = bsize/NBPW;
- boff = 0;
-
- if ( cnt=(offset % NBPW) ) { /* partial word */
- woff = offset - cnt;
- word = ((LOWER16BITS(pid) << 48) | (LOWER32BITS(woff) << 16) | LOWER16BITS(pid));
-
- chr = (char *)&word;
-
- for (tmp=0; tmp<cnt; tmp++) { /* skip unused bytes */
- chr++;
- }
-
- for (; boff<(NBPW-cnt) && boff<bsize; boff++, chr++) {
- if (buffer[boff] != *chr) {
- sprintf(Errmsg, "Data mismatch at offset %d, exp:%#o, act:%#o",
- offset+boff, *chr, buffer[boff]);
- return offset+boff;
- }
- }
- }
-
- /*
- * full words
- */
-
- num_full_words = (bsize-boff)/NBPW;
-
- woff = offset+boff;
-
- for (cnt=0; cnt<num_full_words; woff += NBPW, cnt++ ) {
- word = ((LOWER16BITS(pid) << 48) | (LOWER32BITS(woff) << 16) | LOWER16BITS(pid));
-
- chr = (char *)&word;
- for(tmp=0; tmp<NBPW; tmp++, boff++, chr++) {
- if ( buffer[boff] != *chr ) {
- sprintf(Errmsg, "Data mismatch at offset %d, exp:%#o, act:%#o",
- woff, *chr, buffer[boff]);
- return woff;
- }
- }
-
-/****** only if a word elined
- wptr = (long *)&buffer[boff];
- if ( *wptr != word ) {
- sprintf(Errmsg, "Data mismatch at offset %d, exp:%#o, act:%#o",
- woff, word, *wptr);
- return woff;
- }
- boff += NBPW;
-******/
- }
-
- /*
- * partial word at end of buffer
- */
-
- if ( cnt=((bsize-boff) % NBPW) ) {
-#if DEBUG
-printf("partial at end\n");
-#endif
- word = ((LOWER16BITS(pid) << 48) | (LOWER32BITS(woff) << 16) | LOWER16BITS(pid));
-
- chr = (char *)&word;
-
-
- for (tmp=0; tmp<cnt && boff<bsize; boff++, tmp++, chr++) {
- if ( buffer[boff] != *chr ) {
- sprintf(Errmsg, "Data mismatch at offset %d, exp:%#o, act:%#o",
- offset+boff, *chr, buffer[boff]);
- return offset+boff;
- }
- }
- }
-
- sprintf(Errmsg, "all %d bytes match desired pattern", bsize);
- return -1; /* buffer is ok */
-
-#else
-
- if ( errmsg != NULL ) {
- *errmsg = Errmsg;
- }
- sprintf(Errmsg, "Not supported on this OS.");
- return 0;
-
-#endif
-
-
-} /* end of datapidchk */
-
-#if UNIT_TEST
-
-/***********************************************************************
- * main for doing unit testing
- ***********************************************************************/
-int
-main(ac, ag)
-int ac;
-char **ag;
-{
-
-int size=1234;
-char *buffer;
-int ret;
-char *errmsg;
-
- if ((buffer=(char *)malloc(size)) == NULL ) {
- perror("malloc");
- exit(2);
- }
-
-
- datapidgen(-1, buffer, size, 3);
-
-/***
-fwrite(buffer, size, 1, stdout);
-fwrite("\n", 1, 1, stdout);
-****/
-
- printf("datapidgen(-1, buffer, size, 3)\n");
-
- ret=datapidchk(-1, buffer, size, 3, &errmsg);
- printf("datapidchk(-1, buffer, %d, 3, &errmsg) returned %d %s\n",
- size, ret, errmsg);
- ret=datapidchk(-1, &buffer[1], size-1, 4, &errmsg);
- printf("datapidchk(-1, &buffer[1], %d, 4, &errmsg) returned %d %s\n",
- size-1, ret, errmsg);
-
- buffer[25]= 0x0;
- buffer[26]= 0x0;
- buffer[27]= 0x0;
- buffer[28]= 0x0;
- printf("changing char 25-28\n");
-
- ret=datapidchk(-1, &buffer[1], size-1, 4, &errmsg);
- printf("datapidchk(-1, &buffer[1], %d, 4, &errmsg) returned %d %s\n",
- size-1, ret, errmsg);
-
-printf("------------------------------------------\n");
-
- datapidgen(getpid(), buffer, size, 5);
-
-/*******
-fwrite(buffer, size, 1, stdout);
-fwrite("\n", 1, 1, stdout);
-******/
-
- printf("\ndatapidgen(getpid(), buffer, size, 5)\n");
-
- ret=datapidchk(getpid(), buffer, size, 5, &errmsg);
- printf("datapidchk(getpid(), buffer, %d, 5, &errmsg) returned %d %s\n",
- size, ret, errmsg);
-
- ret=datapidchk(getpid(), &buffer[1], size-1, 6, &errmsg);
- printf("datapidchk(getpid(), &buffer[1], %d, 6, &errmsg) returned %d %s\n",
- size-1, ret, errmsg);
-
- buffer[25]= 0x0;
- printf("changing char 25\n");
-
- ret=datapidchk(getpid(), &buffer[1], size-1, 6, &errmsg);
- printf("datapidchk(getpid(), &buffer[1], %d, 6, &errmsg) returned %d %s\n",
- size-1, ret, errmsg);
-
- exit(0);
-}
-
-#endif
-
diff --git a/winsup/testsuite/libltp/lib/forker.c b/winsup/testsuite/libltp/lib/forker.c
deleted file mode 100644
index 99bc58550..000000000
--- a/winsup/testsuite/libltp/lib/forker.c
+++ /dev/null
@@ -1,286 +0,0 @@
-/*
- * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it would be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Further, this software is distributed without any warranty that it is
- * free of the rightful claim of any third person regarding infringement
- * or the like. Any license provided herein, whether implied or
- * otherwise, applies only to this software file. Patent licenses, if
- * any, provided herein do not apply to combinations of this program with
- * other software, or any other product whatsoever.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write the Free Software Foundation, Inc., 59
- * Temple Place - Suite 330, Boston MA 02111-1307, USA.
- *
- * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
- * Mountain View, CA 94043, or:
- *
- * http://www.sgi.com
- *
- * For further information regarding this notice, see:
- *
- * http://oss.sgi.com/projects/GenInfo/NoticeExplan/
- */
-/**************************************************************
- *
- * OS Testing - Silicon Graphics, Inc.
- *
- * FUNCTION NAME : forker
- * background
- *
- * FUNCTION TITLE : fork desired number of copies of the current process
- * fork a process and return control to caller
- *
- * SYNOPSIS:
- * int forker(ncopies, mode, prefix)
- * int ncopies;
- * int mode;
- * char *prefix;
- *
- * int background(prefix);
- * char *prefix;
- *
- * extern int Forker_pids[];
- * extern int Forker_npids;
- *
- * AUTHOR : Richard Logan
- *
- * CO-PILOT(s) : Dean Roehrich
- *
- * INITIAL RELEASE : UNICOS 8.0
- *
- * DESIGN DESCRIPTION
- * The background function will do a fork of the current process.
- * The parent process will then exit, thus orphaning the
- * child process. Doing this will not nice the child process
- * like executing a cmd in the background using "&" from the shell.
- * If the fork fails and prefix is not NULL, a error message is printed
- * to stderr and the process will exit with a value of errno.
- *
- * The forker function will fork <ncopies> minus one copies
- * of the current process. There are two modes in how the forks
- * will be done. Mode 0 (default) will have all new processes
- * be childern of the parent process. Using Mode 1,
- * the parent process will have one child and that child will
- * fork the next process, if necessary, and on and on.
- * The forker function will return the number of successful
- * forks. This value will be different for the parent and each child.
- * Using mode 0, the parent will get the total number of successful
- * forks. Using mode 1, the newest child will get the total number
- * of forks. The parent will get a return value of 1.
- *
- * The forker function also updates the global variables
- * Forker_pids[] and Forker_npids. The Forker_pids array will
- * be updated to contain the pid of each new process. The
- * Forker_npids variable contains the number of entries
- * in Forker_pids. Note, not all processes will have
- * access to all pids via Forker_pids. If using mode 0, only the
- * parent process and the last process will have all information.
- * If using mode 1, only the last child process will have all information.
- *
- * If the prefix parameter is not NULL and the fork system call fails,
- * a error message will be printed to stderr. The error message
- * the be preceeded with prefix string. If prefix is NULL,
- * no error message is printed.
- *
- * SPECIAL REQUIREMENTS
- * None.
- *
- * UPDATE HISTORY
- * This should contain the description, author, and date of any
- * "interesting" modifications (i.e. info should helpful in
- * maintaining/enhancing this module).
- * username description
- * ----------------------------------------------------------------
- * rrl This functions will first written during
- * the SFS testing days, 1993.
- *
- * BUGS/LIMITATIONS
- * The child pids are stored in the fixed array, Forker_pids.
- * The array only has space for 4098 pids. Only the first
- * 4098 pids will be stored in the array.
- *
- **************************************************************/
-
-#include <stdio.h>
-#include <errno.h>
-#include <unistd.h> /* fork, getpid, sleep */
-#include <string.h>
-#include <stdlib.h>
-#include "forker.h"
-
-extern int errno;
-
-int Forker_pids[FORKER_MAX_PIDS]; /* holds pids of forked processes */
-int Forker_npids=0; /* number of entries in Forker_pids */
-
-/***********************************************************************
- *
- * This function will fork and the parent will exit zero and
- * the child will return. This will orphan the returning process
- * putting it in the background.
- *
- * Return Value
- * 0 : if fork did not fail
- * !0 : if fork failed, the return value will be the errno.
- ***********************************************************************/
-int
-background(prefix)
-char *prefix;
-{
- switch (fork()) {
- case -1:
- if ( prefix != NULL )
- fprintf(stderr, "%s: In %s background(), fork() failed, errno:%d %s\n",
- prefix, __FILE__, errno, strerror(errno));
- exit(errno);
-
- case 0: /* child process */
- break;
-
- default:
- exit(0);
- }
-
- return 0;
-
-} /* end of background */
-
-/***********************************************************************
- * Forker will fork ncopies-1 copies of self.
- *
- ***********************************************************************/
-int
-forker(ncopies, mode, prefix)
-int ncopies;
-int mode; /* 0 - all childern of parent, 1 - only 1 direct child */
-char *prefix; /* if ! NULL, an message will be printed to stderr */
- /* if fork fails. The prefix (program name) will */
- /* preceed the message */
-{
- int cnt;
- int pid;
- static int ind = 0;
-
- Forker_pids[ind]=0;
-
- for ( cnt=1; cnt < ncopies; cnt++ ) {
-
- switch ( mode ) {
- case 1 : /* only 1 direct child */
- if ( (pid = fork()) == -1 ) {
- if ( prefix != NULL )
- fprintf(stderr, "%s: %s,forker(): fork() failed, errno:%d %s\n",
- prefix, __FILE__, errno, strerror(errno));
- return 0;
- }
- Forker_npids++;
-
- switch (pid ) {
- case 0: /* child - continues the forking */
-
- if ( Forker_npids < FORKER_MAX_PIDS )
- Forker_pids[Forker_npids-1]=getpid();
- break;
-
- default: /* parent - stop the forking */
- if ( Forker_npids < FORKER_MAX_PIDS )
- Forker_pids[Forker_npids-1]=pid;
- return cnt-1;
- }
-
- break;
-
- default : /* all new processes are childern of parent */
- if ( (pid = fork()) == -1 ) {
- if ( prefix != NULL )
- fprintf(stderr, "%s: %s,forker(): fork() failed, errno:%d %s\n",
- prefix, __FILE__, errno, strerror(errno));
- return cnt-1;
- }
- Forker_npids++;
-
- switch (pid ) {
- case 0: /* child - stops the forking */
- if ( Forker_npids < FORKER_MAX_PIDS )
- Forker_pids[Forker_npids-1]=getpid();
- return cnt;
-
- default: /* parent - continues the forking */
- if ( Forker_npids < FORKER_MAX_PIDS )
- Forker_pids[Forker_npids-1]=pid;
- break;
- }
- break;
- }
- }
-
- if ( Forker_npids < FORKER_MAX_PIDS )
- Forker_pids[Forker_npids]=0;
- return cnt-1;
-
-} /* end of forker */
-
-
-#if UNIT_TEST
-
-/*
- * The following is a unit test main for the background and forker
- * functions.
- */
-
-int
-main(argc, argv)
-int argc;
-char **argv;
-{
- int ncopies=1;
- int mode=0;
- int ret;
- int ind;
-
- if ( argc == 1 ) {
- printf("Usage: %s ncopies [mode]\n", argv[0]);
- exit(1);
- }
-
- if ( sscanf(argv[1], "%i", &ncopies) != 1 ) {
- printf("%s: ncopies argument must be integer\n", argv[0]);
- exit(1);
- }
-
- if ( argc == 3 )
- if ( sscanf(argv[2], "%i", &mode) != 1 ) {
- printf("%s: mode argument must be integer\n", argv[0]);
- exit(1);
- }
-
- printf("Starting Pid = %d\n", getpid());
- ret=background(argv[0]);
- printf("After background() ret:%d, pid = %d\n", ret, getpid());
-
- ret=forker(ncopies, mode, argv[0]);
-
- printf("forker(%d, %d, %s) ret:%d, pid = %d, sleeping 30 seconds.\n",
- ncopies, mode, argv[0], ret, getpid());
-
- printf("%d My version of Forker_pids[], Forker_npids = %d\n",
- getpid(), Forker_npids);
-
- for (ind=0; ind<Forker_npids; ind++){
- printf("%d ind:%-2d pid:%d\n", getpid(), ind, Forker_pids[ind]);
- }
-
- sleep(30);
- exit(0);
-}
-
-#endif /* UNIT_TEST */
diff --git a/winsup/testsuite/libltp/lib/get_high_address.c b/winsup/testsuite/libltp/lib/get_high_address.c
deleted file mode 100644
index 5fe1e81b2..000000000
--- a/winsup/testsuite/libltp/lib/get_high_address.c
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * (C) COPYRIGHT CRAY RESEARCH, INC.
- * UNPUBLISHED PROPRIETARY INFORMATION.
- * ALL RIGHTS RESERVED.
- */
-
-#include <unistd.h>
-#ifdef __CYGWIN__
-#include <windows.h>
-#endif
-
-char *
-get_high_address()
-{
-#ifdef __CYGWIN__
- return VirtualAlloc (NULL, 4096, MEM_COMMIT, PAGE_NOACCESS) + 2048;
-#else
- return (char *)sbrk(0) + 16384;
-#endif
-}
diff --git a/winsup/testsuite/libltp/lib/libtestsuite.c b/winsup/testsuite/libltp/lib/libtestsuite.c
deleted file mode 100644
index e741d25f6..000000000
--- a/winsup/testsuite/libltp/lib/libtestsuite.c
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- *
- * Copyright (c) International Business Machines Corp., 2001
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-/*
- * NAME
- * libtestsuite.c
- *
- * DESCRIPTION
- * file containing generic routines which are used by some of the LTP
- * testsuite tests. Currently, the following routines are present in
- * this library:
- *
- * my_getpwnam(), do_file_setup()
- *
- */
-#include <pwd.h>
-#include <errno.h>
-#include <fcntl.h>
-
-#include "test.h"
-#include "usctest.h"
-
-struct passwd *
-my_getpwnam(char *name)
-{
- struct passwd *saved_pwent;
- struct passwd *pwent;
-
- if ((pwent = getpwnam(name)) == NULL) {
- perror("getpwnam");
- tst_brkm(TBROK, NULL, "getpwnam() failed");
- }
- saved_pwent = (struct passwd *)malloc(sizeof(struct passwd));
-
- *saved_pwent = *pwent;
-
- return(saved_pwent);
-}
-
-void
-do_file_setup(char *fname)
-{
- int fd;
-
- if ((fd = open(fname,O_RDWR|O_CREAT,0700)) == -1) {
- tst_resm(TBROK, "open(%s, O_RDWR|O_CREAT,0700) Failed, "
- "errno=%d : %s", fname, errno, strerror(errno));
- }
-
- if (close(fd) == -1) {
- tst_resm(TWARN, "close(%s) Failed on file create, errno=%d : "
- "%s", fname, errno, strerror(errno));
- }
-}
diff --git a/winsup/testsuite/libltp/lib/open_flags.c b/winsup/testsuite/libltp/lib/open_flags.c
deleted file mode 100644
index 3105955d4..000000000
--- a/winsup/testsuite/libltp/lib/open_flags.c
+++ /dev/null
@@ -1,330 +0,0 @@
-/*
- * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it would be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Further, this software is distributed without any warranty that it is
- * free of the rightful claim of any third person regarding infringement
- * or the like. Any license provided herein, whether implied or
- * otherwise, applies only to this software file. Patent licenses, if
- * any, provided herein do not apply to combinations of this program with
- * other software, or any other product whatsoever.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write the Free Software Foundation, Inc., 59
- * Temple Place - Suite 330, Boston MA 02111-1307, USA.
- *
- * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
- * Mountain View, CA 94043, or:
- *
- * http://www.sgi.com
- *
- * For further information regarding this notice, see:
- *
- * http://oss.sgi.com/projects/GenInfo/NoticeExplan/
- */
-/**************************************************************
- *
- * OS Testing - Silicon Graphics, Inc.
- *
- * FUNCTION NAME : parse_open_flags
- * openflags2symbols
- *
- * FUNCTION TITLE : converts open flag symbols into bitmask
- * converts open flag bitmask into symbols
- *
- * SYNOPSIS:
- * int parse_open_flags(symbols, badname)
- * char *symbols;
- * char **badname;
- *
- * char *openflags2symbols(openflags, sep, mode)
- * int openflags;
- * char *sep;
- * int mode;
- *
- * AUTHOR : Richard Logan
- *
- * CO-PILOT(s) : Dean Roehrich
- *
- * INITIAL RELEASE : UNICOS 8.0
- *
- * DESIGN DESCRIPTION
- * The parse_open_flags function can be used to convert
- * a list of comma separated open(2) flag symbols (i.e. O_TRUNC)
- * into the bitmask that can be used by open(2).
- * If a symbol is unknown and <badname> is not NULL, <badname>
- * will updated to point that symbol in <string>.
- * Parse_open_flags will return -1 on this error.
- * Otherwise parse_open_flags will return the open flag bitmask.
- * If parse_open_flags returns, <string> will left unchanged.
- *
- * The openflags2symbols function attempts to convert open flag
- * bits into human readable symbols (i.e. O_TRUNC). If there
- * are more than one symbol, the <sep> string will be placed as
- * a separator between symbols. Commonly used separators would
- * be a comma "," or pipe "|". If <mode> is one and not all
- * <openflags> bits can be converted to symbols, the "UNKNOWN"
- * symbol will be added to return string.
- * Openflags2symbols will return the indentified symbols.
- * If no symbols are recognized the return value will be a empty
- * string or the "UNKNOWN" symbol.
- *
- * SPECIAL REQUIREMENTS
- * None.
- *
- * UPDATE HISTORY
- * This should contain the description, author, and date of any
- * "interesting" modifications (i.e. info should helpful in
- * maintaining/enhancing this module).
- * username description
- * ----------------------------------------------------------------
- * rrl This code was first created during the beginning
- * of the SFS testing days. I think that was in 1993.
- * This code was updated in 05/96.
- * (05/96) openflags2symbols was written.
- *
- * BUGS/LIMITATIONS
- * Currently (05/96) all known symbols are coded into openflags2symbols.
- * If new open flags are added this code will have to updated
- * to know about them or they will not be recognized.
- *
- **************************************************************/
-
-#include <stdio.h>
-#include <unistd.h>
-#include <fcntl.h>
-#include <sys/param.h>
-#include <string.h> /* strcat */
-#include "open_flags.h"
-
-#define UNKNOWN_SYMBOL "UNKNOWN"
-
-static char Open_symbols[512]; /* space for openflags2symbols return value */
-
-struct open_flag_t {
- const char *symbol;
- int flag;
-};
-
-static struct open_flag_t Open_flags[] = {
- { "O_RDONLY", O_RDONLY },
- { "O_WRONLY", O_WRONLY },
- { "O_RDWR", O_RDWR },
- { "O_SYNC", O_SYNC },
- { "O_CREAT", O_CREAT },
- { "O_TRUNC", O_TRUNC },
- { "O_EXCL", O_EXCL },
- { "O_APPEND", O_APPEND },
- { "O_NONBLOCK", O_NONBLOCK },
-#if O_NOCTTY
- { "O_NOCTTY", O_NOCTTY },
-#endif
-#if O_DSYNC
- { "O_DSYNC", O_DSYNC },
-#endif
-#if O_RSYNC
- { "O_RSYNC", O_RSYNC },
-#endif
-#if O_ASYNC
- { "O_ASYNC", O_ASYNC },
-#endif
-#if O_PTYIGN
- { "O_PTYIGN", O_PTYIGN },
-#endif
-#if O_NDELAY
- { "O_NDELAY", O_NDELAY },
-#endif
-#if O_RAW
- { "O_RAW", O_RAW },
-#endif
-#ifdef O_SSD
- { "O_SSD", O_SSD },
-#endif
-#if O_BIG
- { "O_BIG", O_BIG },
-#endif
-#if O_PLACE
- { "O_PLACE", O_PLACE },
-#endif
-#if O_RESTART
- { "O_RESTART", O_RESTART },
-#endif
-#if O_SFSXOP
- { "O_SFSXOP", O_SFSXOP },
-#endif
-#if O_SFS_DEFER_TM
- { "O_SFS_DEFER_TM", O_SFS_DEFER_TM },
-#endif
-#if O_WELLFORMED
- { "O_WELLFORMED", O_WELLFORMED },
-#endif
-#if O_LDRAW
- { "O_LDRAW", O_LDRAW },
-#endif
-#if O_T3D
- { "O_T3D", O_T3D },
-#endif /* O_T3D */
-#if O_PARALLEL
- { "O_PARALLEL", O_PARALLEL },
- { "O_FSA", O_PARALLEL|O_WELLFORMED|O_RAW }, /* short cut */
-#endif /* O_PARALLEL */
-#ifdef O_LARGEFILE
- { "O_LARGEFILE", O_LARGEFILE },
-#endif
-#ifdef O_DIRECT
- { "O_DIRECT", O_DIRECT },
-#endif
-#ifdef O_PRIV
- { "O_PRIV", O_PRIV },
-#endif
-
-};
-
-int
-parse_open_flags(char *string, char **badname)
-{
- int bits = 0;
- char *name;
- char *cc;
- char savecc;
- int found;
- int ind;
-
- name=string;
- cc=name;
-
- while ( 1 ) {
-
- for(; ((*cc != ',') && (*cc != '\0')); cc++);
- savecc = *cc;
- *cc = '\0';
-
- found = 0;
-
- for(ind=0; ind < sizeof(Open_flags)/sizeof(struct open_flag_t); ind++) {
- if ( strcmp(name, Open_flags[ind].symbol) == 0 ) {
- bits |= Open_flags[ind].flag;
- found=1;
- break;
- }
- }
-
- *cc = savecc; /* restore string */
-
- if ( found == 0 ) { /* invalid name */
- if ( badname != NULL )
- *badname = name;
- return -1;
- }
-
- if ( savecc == '\0' )
- break;
-
- name = ++cc;
-
- } /* end while */
-
- return bits;
-
-} /* end of parse_open_flags */
-
-
-char *
-openflags2symbols(int openflags, char *sep, int mode)
-{
- int ind;
- int size;
- int bits = openflags;
- int havesome=0;
-
- Open_symbols[0]='\0';
-
- size=sizeof(Open_flags)/sizeof(struct open_flag_t);
-
- /*
- * Deal with special case of O_RDONLY. If O_WRONLY nor O_RDWR
- * bits are not set, assume O_RDONLY.
- */
-
- if ( (bits & (O_WRONLY | O_RDWR)) == 0 ) {
- strcat(Open_symbols, "O_RDONLY");
- havesome=1;
- }
-
- /*
- * Loop through all but O_RDONLY elments of Open_flags
- */
- for(ind=1; ind < size; ind++) {
-
- if ( (bits & Open_flags[ind].flag) == Open_flags[ind].flag ) {
- if ( havesome )
- strcat(Open_symbols, sep);
-
- strcat(Open_symbols, Open_flags[ind].symbol);
- havesome++;
-
- /* remove flag bits from bits */
- bits = bits & (~Open_flags[ind].flag);
- }
- }
-
- /*
- * If not all bits were identified and mode was equal to 1,
- * added UNKNOWN_SYMBOL to return string
- */
- if ( bits && mode == 1 ) { /* not all bits were identified */
- if ( havesome )
- strcat(Open_symbols, sep);
- strcat(Open_symbols, UNKNOWN_SYMBOL);
- }
-
- return Open_symbols;
-
-} /* end of openflags2symbols */
-
-
-#ifdef UNIT_TEST
-
-/*
- * The following code provides a UNIT test main for
- * parse_open_flags and openflags2symbols functions.
- */
-
-int
-main(argc, argv)
-int argc;
-char **argv;
-{
- int bits;
- int ret;
- char *err;
-
- if (argc == 1 ) {
- printf("Usage: %s openflagsbits\n\t%s symbols\n", argv[0], argv[0]);
- exit(1);
- }
-
- if ( sscanf(argv[1], "%i", &bits) == 1 ) {
- printf("openflags2symbols(%#o, \",\", 1) returned %s\n",
- bits, openflags2symbols(bits, ",", 1));
-
- } else {
- ret=parse_open_flags(argv[1], &err);
- if ( ret == -1 )
- printf("parse_open_flags(%s, &err) returned -1, err = %s\n",
- argv[0], err);
- else
- printf("parse_open_flags(%s, &err) returned %#o\n", argv[0], ret);
- }
-
- exit(0);
-}
-
-#endif /* end of UNIT_TEST */
diff --git a/winsup/testsuite/libltp/lib/parse_opts.c b/winsup/testsuite/libltp/lib/parse_opts.c
deleted file mode 100644
index 4a8058938..000000000
--- a/winsup/testsuite/libltp/lib/parse_opts.c
+++ /dev/null
@@ -1,876 +0,0 @@
-/*
- * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it would be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Further, this software is distributed without any warranty that it is
- * free of the rightful claim of any third person regarding infringement
- * or the like. Any license provided herein, whether implied or
- * otherwise, applies only to this software file. Patent licenses, if
- * any, provided herein do not apply to combinations of this program with
- * other software, or any other product whatsoever.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write the Free Software Foundation, Inc., 59
- * Temple Place - Suite 330, Boston MA 02111-1307, USA.
- *
- * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
- * Mountain View, CA 94043, or:
- *
- * http://www.sgi.com
- *
- * For further information regarding this notice, see:
- *
- * http://oss.sgi.com/projects/GenInfo/NoticeExplan/
- */
-
-/* $Id$ */
-
-/**********************************************************
- *
- * OS Testing - Silicon Graphics, Inc.
- *
- * FUNCTION NAME : parse_opts
- *
- * FUNCTION TITLE : parse standard & user options for system call tests
- *
- * SYNOPSIS:
- * #include "usctest.h"
- *
- * char *parse_opts(ac, av, user_optarr, uhf)
- * int ac;
- * char **av;
- * option_t user_optarr[];
- * void (*uhf)();
- *
- * AUTHOR : William Roske/Richard Logan
- *
- * INITIAL RELEASE : UNICOS 7.0
- *
- * DESCRIPTION
- * The parse_opts library routine takes that argc and argv parameters
- * recevied by main() and an array of structures defining user options.
- * It parses the command line setting flag and argument locations
- * associated with the options. It uses getopt to do the actual cmd line
- * parsing. uhf() is a function to print user define help
- *
- * This module contains the functions usc_global_setup_hook and
- * usc_test_looping, which are called by marcos defined in usctest.h.
- *
- * RETURN VALUE
- * parse_opts returns a pointer to an error message if an error occurs.
- * This pointer is (char *)NULL if parsing is successful.
- *
- *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#**/
-#include <errno.h>
-#include <string.h>
-#include <sys/param.h>
-#include <sys/signal.h>
-#include <sys/types.h>
-#include <sys/time.h>
-
-#ifdef __CYGWIN__
-#include <getopt.h>
-#endif
-
-
-#if UNIT_TEST
-#include <time.h>
-#endif /* UNIT_TEST */
-
-#include "test.h"
-#define _USC_LIB_ 1 /* indicates we are the library to the usctest.h include */
-#include "usctest.h"
-
-#ifndef USC_COPIES
-#define USC_COPIES "USC_COPIES"
-#endif
-
-#ifndef UNIT_TEST
-#define UNIT_TEST 0
-#endif
-
-#ifndef DEBUG
-#define DEBUG 0
-#endif
-
-/*
- * Code from usctest.h that not part of this file since we are the library.
- */
-
-struct usc_errno_t TEST_VALID_ENO[USC_MAX_ERRNO];
-
- /***********************************************************************
- * Globals for returning the return code and errno from the system call
- * test macros.
- ***********************************************************************/
-int TEST_RETURN;
-int TEST_ERRNO;
-
- /***********************************************************************
- * temporary variables for determining max and min times in TEST macro
- ***********************************************************************/
-long btime, etime, tmptime;
-
-/* The timing information block. */
-struct tblock tblock={0,((long) -1)>>1,0,0};
-
-
-/* Define flags and args for standard options */
-int STD_FUNCTIONAL_TEST=1, /* flag indicating to do functional testing code */
- STD_TIMING_ON=0, /* flag indicating to print timing stats */
- STD_PAUSE=0, /* flag indicating to pause before actual start, */
- /* for contention mode */
- STD_INFINITE=0, /* flag indciating to loop forever */
- STD_LOOP_COUNT=1, /* number of iterations */
- STD_COPIES=1, /* number of copies */
- STD_ERRNO_LOG=0; /* flag indicating to do errno logging */
-
-float STD_LOOP_DURATION=0.0, /* duration value in fractional seconds */
- STD_LOOP_DELAY=0.0; /* loop delay value in fractional seconds */
-
-
-char **STD_opt_arr = NULL; /* array of option strings */
-int STD_nopts=0, /* number of elements in STD_opt_arr */
- STD_argind=1; /* argv index to next argv element */
- /* (first argument) */
- /* To getopt users, it is like optind */
-
-/*
- * The following variables are to support system testing additions.
- */
-static int STD_TP_barrier=0; /* flag to do barrier in TEST_PAUSE */
- /* 2 - wait_barrier(), 3 - set_barrier(), * - barrier() */
-static int STD_LP_barrier=0; /* flag to do barrier in TEST_LOOPING */
- /* 2 - wait_barrier(), 3 - set_barrier(), * - barrier() */
-static int STD_TP_shmem_sz=0; /* shmalloc this many words per pe in TEST_PAUSE */
-static int STD_LD_shmem=0; /* flag to do shmem_puts and shmem_gets during delay */
-static int STD_LP_shmem=0; /* flag to do shmem_puts and gets during TEST_LOOPING */
-static int STD_LD_recfun=0; /* do recressive function calls in loop delay */
-static int STD_LP_recfun=0; /* do recressive function calls in TEST_LOOPING */
-static int STD_TP_sbrk=0; /* do sbrk in TEST_PAUSE */
-static int STD_LP_sbrk=0; /* do sbrk in TEST_LOOPING */
-static char *STD_start_break=0; /* original sbrk size */
-static int Debug=0;
-
-struct std_option_t {
- const char *optstr;
- const char *help;
- char *flag;
- char **arg;
-} std_options[] = {
- { "c:", " -c n Run n copies concurrently\n", NULL, NULL},
- { "e" , " -e Turn on errno logging\n", NULL, NULL},
- { "f" , " -f Turn off functional testing\n", NULL, NULL},
- { "h" , " -h Show this help screen\n", NULL, NULL},
- { "i:", " -i n Execute test n times\n", NULL, NULL},
- { "I:", " -I x Execute test for x seconds\n", NULL, NULL},
- { "p" , " -p Pause for SIGUSR1 before starting\n", NULL, NULL},
- { "P:", " -P x Pause for x seconds between iterations\n", NULL, NULL},
- { "t" , " -t Turn on syscall timing\n", NULL, NULL},
- {NULL, NULL, NULL, NULL}};
-
-void print_help(void (*user_help)());
-
-/*
- * Structure for usc_recressive_func argument
- */
-struct usc_bigstack_t {
- char space[4096];
-};
-
-static struct usc_bigstack_t *STD_bigstack=NULL;
-
-/*
- * Counter of errnos returned (-e option). Indexed by errno.
- * Make the array USC_MAX_ERRNO long. That is the first Fortran
- * Lib errno. No syscall should return an errno that high.
- */
-int STD_ERRNO_LIST[USC_MAX_ERRNO];
-
-/* define the string length for Mesg and Mesg2 strings */
-#define STRLEN 2048
-
-static char Mesg2[STRLEN]; /* holds possible return string */
-static void usc_recressive_func();
-
-/*
- * Define bits for options that might have env variable default
- */
-#define OPT_iteration 01
-#define OPT_nofunccheck 02
-#define OPT_duration 04
-#define OPT_delay 010
-#define OPT_copies 020
-
-
-/**********************************************************************
- * parse_opts:
- **********************************************************************/
-const char *
-parse_opts(int ac, char **av, option_t *user_optarr, void (*uhf)())
-{
- int found; /* flag to indicate that an option specified was */
- /* found in the user's list */
- int k; /* scratch integer for returns and short time usage */
- float ftmp; /* tmp float for parsing env variables */
- char *ptr; /* used in getting env variables */
- int options=0; /* no options specified */
- int optstrlen, i;
- char *optionstr;
- int opt; /* return of getopt */
-
- /*
- * If not the first time this function is called, release the old STD_opt_arr
- * vector.
- */
-
- if ( STD_opt_arr != NULL ) {
- free(STD_opt_arr);
- STD_opt_arr=NULL;
- }
- /* Calculate how much space we need for the option string */
- optstrlen = 0;
- for (i = 0; std_options[i].optstr; ++i)
- optstrlen += strlen(std_options[i].optstr);
- if (user_optarr)
- for (i = 0; user_optarr[i].option; ++i) {
- if (strlen(user_optarr[i].option) > 2)
- return "parse_opts: ERROR - Only short options are allowed";
- optstrlen += strlen(user_optarr[i].option);
- }
- optstrlen += 1;
-
- /* Create the option string for getopt */
- optionstr = (char *)malloc(optstrlen);
- if (!optionstr)
- return "parse_opts: ERROR - Could not allocate memory for optionstr";
-
- optionstr[0] = '\0';
-
- for (i = 0; std_options[i].optstr; ++i)
- strcat(optionstr, std_options[i].optstr);
- if (user_optarr)
- for (i = 0; user_optarr[i].option; ++i)
- /* only add the option if it wasn't there already */
- if (strchr(optionstr, user_optarr[i].option[0]) == NULL)
- strcat(optionstr, user_optarr[i].option);
-
-#if DEBUG > 1
- printf("STD_nopts = %d\n", STD_nopts);
-#endif
-
- /*
- * Loop through av parsing options.
- */
- while ( (opt = getopt(ac, av, optionstr)) > 0) {
-
- STD_argind = optind;
-#if DEBUG > 0
- printf("parse_opts: getopt returned '%c'\n", opt);
-#endif
-
- switch (opt) {
- case '?': /* Unknown option */
- return "Unknown option";
- break;
- case ':': /* Missing Arg */
- return "Missing argument";
- break;
- case 'i': /* Iterations */
- options |= OPT_iteration;
- STD_LOOP_COUNT = atoi(optarg);
- if (STD_LOOP_COUNT == 0) STD_INFINITE = 1;
- break;
- case 'P': /* Delay between iterations */
- options |= OPT_delay;
- STD_LOOP_DELAY = atof(optarg);
- break;
- case 'I': /* Time duration */
- options |= OPT_duration;
- STD_LOOP_DURATION = atof(optarg);
- if ( STD_LOOP_DURATION == 0.0 ) STD_INFINITE=1;
- break;
- case 'c': /* Copies */
- options |= OPT_copies;
- STD_COPIES = atoi(optarg);
- break;
- case 'f': /* Functional testing */
- STD_FUNCTIONAL_TEST = 0;
- break;
- case 'p': /* Pause for SIGUSR1 */
- STD_PAUSE = 1;
- break;
- case 't': /* syscall timing */
- STD_TIMING_ON = 1;
- break;
- case 'e': /* errno loggin */
- STD_ERRNO_LOG = 1;
- break;
- case 'h': /* Help */
- print_help(uhf);
- exit(0);
- break;
- default:
-
- /* Check all the user specified options */
- found=0;
- for(i = 0; user_optarr[i].option; ++i) {
-
- if (opt == user_optarr[i].option[0]) {
- /* Yup, This is a user option, set the flag and look for argument */
- if ( user_optarr[i].flag ) {
- *user_optarr[i].flag=1;
- }
- found++;
-
- /* save the argument at the user's location */
- if ( user_optarr[i].option[strlen(user_optarr[i].option)-1] == ':' ) {
- *user_optarr[i].arg=optarg;
- }
- break; /* option found - break out of the for loop */
- }
- }
- /* This condition "should never happen". SO CHECK FOR IT!!!! */
- if ( ! found ) {
- sprintf(Mesg2,
- "parse_opts: ERROR - option:\"%c\" NOT FOUND... INTERNAL ERROR", opt);
- return(Mesg2);
- }
- }
-
- } /* end of while */
-
- STD_argind = optind;
-
- /*
- * Turn on debug
- */
- if ( (ptr=getenv("USC_DEBUG")) != NULL ) {
- Debug=1;
- printf("env USC_DEBUG is defined, turning on debug\n");
- }
- if ( (ptr=getenv("USC_VERBOSE")) != NULL ) {
- Debug=1;
- printf("env USC_VERBOSE is defined, turning on debug\n");
- }
-
- /*
- * If the USC_ITERATION_ENV environmental variable is set to
- * a number, use that number as iteration count (same as -c option).
- * The -c option with arg will be used even if this env var is set.
- */
- if ( !(options & OPT_iteration) && (ptr=getenv(USC_ITERATION_ENV)) != NULL ) {
- if ( sscanf(ptr, "%i", &k) == 1) {
- if ( k == 0 ) { /* if arg is 0, set infinite loop flag */
- STD_INFINITE=1;
- if ( Debug )
- printf("Using env %s, set STD_INFINITE to 1\n",
- USC_ITERATION_ENV);
- } else { /* else, set the loop count to the arguement */
- STD_LOOP_COUNT=k;
- if ( Debug )
- printf("Using env %s, set STD_LOOP_COUNT to %d\n",
- USC_ITERATION_ENV, k);
- }
- }
- }
-
- /*
- * If the USC_NO_FUNC_CHECK environmental variable is set, we'll
- * unset the STD_FUNCTIONAL_TEST variable.
- */
- if ( !(options & OPT_nofunccheck) && (ptr=getenv(USC_NO_FUNC_CHECK)) != NULL ) {
- STD_FUNCTIONAL_TEST=0; /* Turn off functional testing */
- if ( Debug )
- printf("Using env %s, set STD_FUNCTIONAL_TEST to 0\n",
- USC_NO_FUNC_CHECK);
- }
-
- /*
- * If the USC_LOOP_WALLTIME environmental variable is set,
- * use that number as duration (same as -I option).
- * The -I option with arg will be used even if this env var is set.
- */
-
- if ( !(options & OPT_duration) && (ptr=getenv(USC_LOOP_WALLTIME)) != NULL ) {
- if ( sscanf(ptr, "%f", &ftmp) == 1 && ftmp >= 0.0 ) {
- STD_LOOP_DURATION=ftmp;
- if ( Debug )
- printf("Using env %s, set STD_LOOP_DURATION to %f\n",
- USC_LOOP_WALLTIME, ftmp);
- if ( STD_LOOP_DURATION == 0.0 ) { /* if arg is 0, set infinite loop flag */
- STD_INFINITE=1;
- if ( Debug )
- printf("Using env %s, set STD_INFINITE to 1\n", USC_LOOP_WALLTIME);
- }
- }
- }
- if ( !(options & OPT_duration) && (ptr=getenv("USC_DURATION")) != NULL ) {
- if ( sscanf(ptr, "%f", &ftmp) == 1 && ftmp >= 0.0 ) {
- STD_LOOP_DURATION=ftmp;
- if ( Debug )
- printf("Using env USC_DURATION, set STD_LOOP_DURATION to %f\n", ftmp);
- if ( STD_LOOP_DURATION == 0.0 ) { /* if arg is 0, set infinite loop flag */
- STD_INFINITE=1;
- if ( Debug )
- printf("Using env USC_DURATION, set STD_INFINITE to 1\n");
- }
- }
- }
- /*
- * If the USC_LOOP_DELAY environmental variable is set,
- * use that number as delay in factional seconds (same as -P option).
- * The -P option with arg will be used even if this env var is set.
- */
- if ( !(options & OPT_delay) && (ptr=getenv(USC_LOOP_DELAY)) != NULL ) {
- if ( sscanf(ptr, "%f", &ftmp) == 1 && ftmp >= 0.0 ) {
- STD_LOOP_DELAY=ftmp;
- if ( Debug )
- printf("Using env %s, set STD_LOOP_DELAY = %f\n",
- USC_LOOP_DELAY, ftmp);
- }
- }
-
- /*
- * If the USC_COPIES environmental variable is set,
- * use that number as copies (same as -c option).
- * The -c option with arg will be used even if this env var is set.
- */
- if ( !(options & OPT_copies) && (ptr=getenv(USC_COPIES)) != NULL ) {
- if ( sscanf(ptr, "%d", &STD_COPIES) == 1 && STD_COPIES >= 0 ) {
- if ( Debug )
- printf("Using env %s, set STD_COPIES = %d\n",
- USC_COPIES, STD_COPIES);
- }
- }
-
- /*
- * The following are special system testing envs to turn on special
- * hooks in the code.
- */
- if ( (ptr=getenv("USC_TP_BARRIER")) != NULL ) {
- if ( sscanf(ptr, "%i", &k) == 1 && k >= 0 ) {
- STD_TP_barrier=k;
- }
- else
- STD_TP_barrier=1;
- if ( Debug )
- printf("using env USC_TP_BARRIER, Set STD_TP_barrier to %d\n",
- STD_TP_barrier);
- }
-
- if ( (ptr=getenv("USC_LP_BARRIER")) != NULL ) {
- if ( sscanf(ptr, "%i", &k) == 1 && k >= 0 ) {
- STD_LP_barrier=k;
- }
- else
- STD_LP_barrier=1;
- if ( Debug )
- printf("using env USC_LP_BARRIER, Set STD_LP_barrier to %d\n",
- STD_LP_barrier);
- }
-
- if ( (ptr=getenv("USC_TP_SHMEM")) != NULL ) {
- if ( sscanf(ptr, "%i", &k) == 1 && k >= 0 ) {
- STD_TP_shmem_sz=k;
- if ( Debug )
- printf("Using env USC_TP_SHMEM, Set STD_TP_shmem_sz to %d\n",
- STD_TP_shmem_sz);
- }
- }
-
- if ( (ptr=getenv("USC_LP_SHMEM")) != NULL ) {
- if ( sscanf(ptr, "%i", &k) == 1 && k >= 0 ) {
- STD_LP_shmem=k;
- if ( Debug )
- printf("Using env USC_LP_SHMEM, Set STD_LP_shmem to %d\n",
- STD_LP_shmem);
- }
- }
-
- if ( (ptr=getenv("USC_LD_SHMEM")) != NULL ) {
- if ( sscanf(ptr, "%i", &k) == 1 && k >= 0 ) {
- STD_LD_shmem=k;
- if ( Debug )
- printf("Using env USC_LD_SHMEM, Set STD_LD_shmem to %d\n",
- STD_LD_shmem);
- }
- }
-
- if ( (ptr=getenv("USC_TP_SBRK")) != NULL ) {
- if ( sscanf(ptr, "%i", &k) == 1 && k >= 0 ) {
- STD_TP_sbrk=k;
- if ( Debug )
- printf("Using env USC_TP_SBRK, Set STD_TP_sbrk to %d\n",
- STD_TP_sbrk);
- }
- }
-
- if ( (ptr=getenv("USC_LP_SBRK")) != NULL ) {
- if ( sscanf(ptr, "%i", &k) == 1 && k >= 0 ) {
- STD_LP_sbrk=k;
- if ( Debug )
- printf("Using env USC_LP_SBRK, Set STD_LP_sbrk to %d\n",
- STD_LP_sbrk);
- }
- }
-
- if ( (ptr=getenv("USC_LP_RECFUN")) != NULL ) {
- if ( sscanf(ptr, "%i", &k) == 1 && k >= 0 ) {
- STD_LP_recfun=k;
- if ( STD_bigstack != (struct usc_bigstack_t *)NULL )
- STD_bigstack=(struct usc_bigstack_t *)
- malloc(sizeof(struct usc_bigstack_t));
- if ( Debug )
- printf("Using env USC_LP_RECFUN, Set STD_LP_recfun to %d\n",
- STD_LP_recfun);
- }
- }
-
- if ( (ptr=getenv("USC_LD_RECFUN")) != NULL ) {
- if ( sscanf(ptr, "%i", &k) == 1 && k >= 0 ) {
- STD_LD_recfun=k;
- if ( STD_bigstack != (struct usc_bigstack_t *)NULL )
- STD_bigstack=(struct usc_bigstack_t *)
- malloc(sizeof(struct usc_bigstack_t));
- if ( Debug )
- printf("Using env USC_LD_RECFUN, Set STD_LD_recfun to %d\n",
- STD_LD_recfun);
- }
- }
-
-#if UNIT_TEST
- printf("The following variables after option and env parsing:\n");
- printf("STD_FUNCTIONAL_TEST = %d\n", STD_FUNCTIONAL_TEST);
- printf("STD_LOOP_DURATION = %f\n", STD_LOOP_DURATION);
- printf("STD_LOOP_DELAY = %f\n", STD_LOOP_DELAY);
- printf("STD_COPIES = %d\n", STD_COPIES);
- printf("STD_LOOP_COUNT = %d\n", STD_LOOP_COUNT);
- printf("STD_INFINITE = %d\n", STD_INFINITE);
- printf("STD_TIMING_ON = %d\n", STD_TIMING_ON);
- printf("STD_ERRNO_LOG = %d\n", STD_ERRNO_LOG);
- printf("STD_PAUSE = %d\n", STD_PAUSE);
-#endif
-
- return((char *) NULL);
-
-} /* end of parse_opts */
-
-/*********************************************************************
- * print_help() - print help message and user help message
- *********************************************************************/
-void print_help(void (*user_help)())
-{
- STD_opts_help();
-
- if (user_help) user_help();
-}
-
-/*********************************************************************
- * STD_opts_help() - return a help string for the STD_OPTIONS.
- *********************************************************************/
-void
-STD_opts_help()
-{
- int i;
-
- for(i = 0; std_options[i].optstr; ++i) {
- if (std_options[i].help)
- printf(std_options[i].help);
- }
-}
-
-/*
- * routine to goto when we get the SIGUSR1 for STD_PAUSE
- */
-void STD_go(int sig)
-{
- return;
-}
-
-/***********************************************************************
- * This function will do desired end of global setup test
- * hooks.
- * Currently it will only do a pause waiting for sigusr1 if
- * STD_PAUSE is set.
- *
- ***********************************************************************/
-int
-usc_global_setup_hook()
-{
- int cnt;
- /* temp variable to store old signal action to be restored after pause */
- int (*_TMP_FUNC)(void);
-
- /*
- * Fork STD_COPIES-1 copies.
- */
- for(cnt=1;cnt<STD_COPIES;cnt++) {
- switch(fork() ) {
- case -1:
- fprintf(stderr, "%s: fork() failed, errno:%d %s\n",
- __FILE__, errno, strerror(errno));
- break;
- case 0: /* child */
- cnt=STD_COPIES; /* to stop the forking */
- break;
-
- default: /* parent */
- break;
- }
- }
-
- /*
- * pause waiting for sigusr1.
- */
- if ( STD_PAUSE ) {
- _TMP_FUNC = (int (*)())signal(SIGUSR1, STD_go);
- pause();
- signal(SIGUSR1, (void (*)())_TMP_FUNC);
- }
-
-
- if ( STD_TP_sbrk || STD_LP_sbrk) {
- STD_start_break=sbrk(0); /* get original sbreak size */
- }
-
- if ( STD_TP_sbrk ) {
- sbrk(STD_TP_sbrk);
- if ( Debug )
- printf("after sbrk(%d)\n", STD_TP_sbrk);
- }
- return 0;
-}
-
-#define USECS_PER_SEC 1000000 /* microseconds per second */
-
-/***********************************************************************
- * This function returns the number of get_current_time()'s return
- * per second.
- ***********************************************************************/
-
-static int
-get_timepersec()
-{
- return USECS_PER_SEC; /* microseconds per second */
-
-}
-
-/***********************************************************************
- * this function will get current time in microseconds since 1970.
- ***********************************************************************/
-static int
-get_current_time()
-{
- struct timeval curtime;
-
- gettimeofday(&curtime, NULL);
-
- /* microseconds since 1970 */
- return (curtime.tv_sec*USECS_PER_SEC) + curtime.tv_usec;
-
-
-}
-
-/***********************************************************************
- *
- * This function will determine if test should continue iterating
- * If the STD_INFINITE flag is set, return 1.
- * If the STD_LOOP_COUNT variable is set, compare it against
- * the counter.
- * If the STD_LOOP_DURATION variable is set, compare current time against
- * calculated stop_time.
- * This function will return 1 until all desired looping methods
- * have been met.
- *
- * counter integer is supplied by the user program.
- ***********************************************************************/
-int
-usc_test_looping(counter)
-int counter;
-{
- static int first_time = 1;
- static int stop_time = 0; /* stop time in rtc or usecs */
- static int delay; /* delay in clocks or usecs */
- int hz=0; /* clocks per second or usecs per second */
- int ct, end; /* current time, end delay time */
- int keepgoing=0; /* used to determine return value */
-
- /*
- * If this is the first iteration and we are looping for
- * duration of STD_LOOP_DURATION seconds (fractional) or
- * doing loop delays, get the clocks per second.
- */
- if ( first_time ) {
-
- first_time=0;
- if ( STD_LOOP_DELAY || STD_LOOP_DURATION ) {
- hz = get_timepersec();
- }
-
- /*
- * If looping for duration, calculate stop time in
- * clocks.
- */
-
- if ( STD_LOOP_DURATION) {
- ct=get_current_time();
- stop_time=(int)((float)hz * STD_LOOP_DURATION) + ct;
- }
-
- /*
- * If doing delay each iteration, calcuate the number
- * of clocks for each delay.
- */
- if ( STD_LOOP_DELAY ) {
- delay=(int)((float)hz * STD_LOOP_DELAY);
- }
-
- }
-
- /*
- * if delay each iteration, loop for delay clocks.
- * This will not be done on first iteration.
- * The delay will happen before determining if
- * there will be another iteration.
- */
- else if ( STD_LOOP_DELAY ) {
- ct=get_current_time();
- end=ct+delay;
- while ( ct < end ) {
- /*
- * The following are special test hooks in the delay loop.
- */
- if ( STD_LD_recfun ) {
- if ( Debug )
- printf("calling usc_recressive_func(0, %d, &STD_bigstack)\n",
- STD_LD_recfun);
- usc_recressive_func(0, STD_LD_recfun, &STD_bigstack);
- }
-
- ct=get_current_time();
- }
- }
-
- if ( STD_INFINITE ) {
- keepgoing++;
- }
-
- if ( STD_LOOP_COUNT && counter < STD_LOOP_COUNT ) {
- keepgoing++;
- }
-
- if ( STD_LOOP_DURATION != 0.0 && get_current_time() < stop_time ) {
- keepgoing++;
- }
-
- if ( keepgoing == 0 )
- return 0;
-
- /*
- * The following code allows special system testing hooks.
- */
-
- if ( STD_LP_recfun ) {
- if ( Debug )
- printf("calling usc_recressive_func(0, %d, &STD_bigstack)\n",
- STD_LP_recfun);
- usc_recressive_func(0, STD_LP_recfun, &STD_bigstack);
- }
-
- if ( STD_LP_sbrk ) {
- if ( Debug )
- printf("about to do sbrk(%d)\n", STD_LP_sbrk);
- sbrk(STD_LP_sbrk);
- }
-
-
- if ( keepgoing )
- return 1;
- else
- return 0; /* done - stop iterating */
-}
-
-
-/*
- * This function recressively calls itself max times.
- */
-static void
-usc_recressive_func(cnt, max, bstack)
-int cnt;
-int max;
-struct usc_bigstack_t bstack;
-{
- if ( cnt < max )
- usc_recressive_func(cnt+1, max, bstack);
-
-}
-
-#if UNIT_TEST
-/******************************************************************************
- * UNIT TEST CODE
- * UNIT TEST CODE
- *
- * this following code is provide so that unit testing can
- * be done fairly easily.
- ******************************************************************************/
-
-int Help = 0;
-int Help2 = 0;
-char *ptr;
-
-
-
-/* for test specific parse_opts options */
-option_t Options[] = {
- { "help", &Help2, NULL }, /* -help option */
- { "h", &Help, NULL }, /* -h option */
- { TIMING, NULL, NULL}, /* disable -timing option */
-
-#if INVALID_TEST_CASES
- { "missingflag", NULL, &ptr }, /* error */
- { "missingarg:", &Help, NULL }, /* error */
-#endif /* INVALID_TEST_CASES */
-
- { NULL, NULL, NULL }
-};
-
-
-main(argc, argv)
-int argc;
-char **argv;
-{
- int lc;
- char *msg;
- struct timeval t;
- int cnt;
-
- if ( (msg=parse_opts(argc, argv,
- (option_t *) Options)) != (char *) NULL ) {
- printf("ERROR : %s\n", msg);
- exit(1);
- }
-
- TEST_PAUSE;
-
- for (lc=0; TEST_LOOPING(lc); lc++) {
-
- TEST( gettimeofday(&t, NULL) );
- printf("iter=%d: sec:%d, usec:%6.6d %s", lc+1, t.tv_sec,
- t.tv_usec, ctime(&t.tv_sec));
- }
-
-
- TEST_CLEANUP;
-
- exit(0);
-}
-
-#endif /* UNIT_TEST */
diff --git a/winsup/testsuite/libltp/lib/pattern.c b/winsup/testsuite/libltp/lib/pattern.c
deleted file mode 100644
index 7f4d5873e..000000000
--- a/winsup/testsuite/libltp/lib/pattern.c
+++ /dev/null
@@ -1,168 +0,0 @@
-/*
- * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it would be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Further, this software is distributed without any warranty that it is
- * free of the rightful claim of any third person regarding infringement
- * or the like. Any license provided herein, whether implied or
- * otherwise, applies only to this software file. Patent licenses, if
- * any, provided herein do not apply to combinations of this program with
- * other software, or any other product whatsoever.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write the Free Software Foundation, Inc., 59
- * Temple Place - Suite 330, Boston MA 02111-1307, USA.
- *
- * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
- * Mountain View, CA 94043, or:
- *
- * http://www.sgi.com
- *
- * For further information regarding this notice, see:
- *
- * http://oss.sgi.com/projects/GenInfo/NoticeExplan/
- */
-#include <string.h>
-#include "pattern.h"
-
-/*
- * The routines in this module are used to fill/check a data buffer
- * with/against a known pattern.
- */
-
-int
-pattern_check(buf, buflen, pat, patlen, patshift)
-char *buf;
-int buflen;
-char *pat;
-int patlen;
-int patshift;
-{
- int nb, ncmp, nleft;
- char *cp;
-
- if (patlen)
- patshift = patshift % patlen;
-
- cp = buf;
- nleft = buflen;
-
- /*
- * The following 2 blocks of code are to compare the first patlen
- * bytes of buf. We need 2 checks if patshift is > 0 since we
- * must check the last (patlen - patshift) bytes, and then the
- * first (patshift) bytes.
- */
-
- nb = patlen - patshift;
- if (nleft < nb) {
- return (memcmp(cp, pat + patshift, nleft) ? -1 : 0);
- } else {
- if (memcmp(cp, pat + patshift, nb))
- return -1;
-
- nleft -= nb;
- cp += nb;
- }
-
- if (patshift > 0) {
- nb = patshift;
- if (nleft < nb) {
- return (memcmp(cp, pat, nleft) ? -1 : 0);
- } else {
- if (memcmp(cp, pat, nb))
- return -1;
-
- nleft -= nb;
- cp += nb;
- }
- }
-
- /*
- * Now, verify the rest of the buffer using the algorithm described
- * in the function header.
- */
-
- ncmp = cp - buf;
- while (ncmp < buflen) {
- nb = (ncmp < nleft) ? ncmp : nleft;
- if (memcmp(buf, cp, nb))
- return -1;
-
- cp += nb;
- ncmp += nb;
- nleft -= nb;
- }
-
- return 0;
-}
-
-int
-pattern_fill(buf, buflen, pat, patlen, patshift)
-char *buf;
-int buflen;
-char *pat;
-int patlen;
-int patshift;
-{
- int trans, ncopied, nleft;
- char *cp;
-
- if (patlen)
- patshift = patshift % patlen;
-
- cp = buf;
- nleft = buflen;
-
- /*
- * The following 2 blocks of code are to fill the first patlen
- * bytes of buf. We need 2 sections if patshift is > 0 since we
- * must first copy the last (patlen - patshift) bytes into buf[0]...,
- * and then the first (patshift) bytes of pattern following them.
- */
-
- trans = patlen - patshift;
- if (nleft < trans) {
- memcpy(cp, pat + patshift, nleft);
- return 0;
- } else {
- memcpy(cp, pat + patshift, trans);
- nleft -= trans;
- cp += trans;
- }
-
- if (patshift > 0) {
- trans = patshift;
- if (nleft < trans) {
- memcpy(cp, pat, nleft);
- return 0;
- } else {
- memcpy(cp, pat, trans);
- nleft -= trans;
- cp += trans;
- }
- }
-
- /*
- * Now, fill the rest of the buffer using the algorithm described
- * in the function header comment.
- */
-
- ncopied = cp - buf;
- while (ncopied < buflen) {
- trans = (ncopied < nleft) ? ncopied : nleft;
- memcpy(cp, buf, trans);
- cp += trans;
- ncopied += trans;
- nleft -= trans;
- }
-
- return(0);
-}
diff --git a/winsup/testsuite/libltp/lib/rmobj.c b/winsup/testsuite/libltp/lib/rmobj.c
deleted file mode 100644
index 63122c446..000000000
--- a/winsup/testsuite/libltp/lib/rmobj.c
+++ /dev/null
@@ -1,211 +0,0 @@
-/*
- * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it would be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Further, this software is distributed without any warranty that it is
- * free of the rightful claim of any third person regarding infringement
- * or the like. Any license provided herein, whether implied or
- * otherwise, applies only to this software file. Patent licenses, if
- * any, provided herein do not apply to combinations of this program with
- * other software, or any other product whatsoever.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write the Free Software Foundation, Inc., 59
- * Temple Place - Suite 330, Boston MA 02111-1307, USA.
- *
- * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
- * Mountain View, CA 94043, or:
- *
- * http://www.sgi.com
- *
- * For further information regarding this notice, see:
- *
- * http://oss.sgi.com/projects/GenInfo/NoticeExplan/
- */
-
-/* $Id$ */
-
-/**********************************************************
- *
- * OS Testing - Silicon Graphics, Inc.
- *
- * FUNCTION NAME : rmobj()
- *
- * FUNCTION TITLE : Remove an object
- *
- * SYNOPSIS:
- * int rmobj(char *obj, char **errmsg)
- *
- * AUTHOR : Kent Rogers
- *
- * INITIAL RELEASE : UNICOS 7.0
- *
- * USER DESCRIPTION
- * This routine will remove the specified object. If the specified
- * object is a directory, it will recursively remove the directory
- * and everything underneath it. It assumes that it has privilege
- * to remove everything that it tries to remove. If rmobj() encounters
- * any problems, and errmsg is not NULL, errmsg is set to point to a
- * string explaining the error.
- *
- * DETAILED DESCRIPTION
- * Allocate space for the directory and its contents
- * Open the directory to get access to what is in it
- * Loop through the objects in the directory:
- * If the object is not "." or "..":
- * Determine the file type by calling lstat()
- * If the object is not a directory:
- * Remove the object with unlink()
- * Else:
- * Call rmobj(object) to remove the object's contents
- * Determine the link count on object by calling lstat()
- * If the link count >= 3:
- * Remove the directory with unlink()
- * Else
- * Remove the directory with rmdir()
- * Close the directory and free the pointers
- *
- * RETURN VALUE
- * If there are any problems, rmobj() will set errmsg (if it was not
- * NULL) and return -1. Otherwise it will return 0.
- *
- ************************************************************/
-#include <errno.h> /* for errno */
-#include <stdio.h> /* for NULL */
-#include <stdlib.h> /* for malloc() */
-#include <string.h> /* for string function */
-#include <limits.h> /* for PATH_MAX */
-#include <sys/types.h> /* for opendir(), readdir(), closedir(), stat() */
-#include <sys/stat.h> /* for [l]stat() */
-#include <dirent.h> /* for opendir(), readdir(), closedir() */
-#include <unistd.h> /* for rmdir(), unlink() */
-#include "rmobj.h"
-
-#define SYSERR strerror(errno)
-
-int
-rmobj(char *obj, char **errmsg)
-{
- int ret_val = 0; /* return value from this routine */
- DIR *dir; /* pointer to a directory */
- struct dirent *dir_ent; /* pointer to directory entries */
- char dirobj[PATH_MAX]; /* object inside directory to modify */
- struct stat statbuf; /* used to hold stat information */
- static char err_msg[1024]; /* error message */
-
- /* Determine the file type */
- if ( lstat(obj, &statbuf) < 0 ) {
- if ( errmsg != NULL ) {
- sprintf(err_msg, "lstat(%s) failed; errno=%d: %s",
- obj, errno, SYSERR);
- *errmsg = err_msg;
- }
- return -1;
- }
-
- /* Take appropriate action, depending on the file type */
- if ( (statbuf.st_mode & S_IFMT) == S_IFDIR ) {
- /* object is a directory */
-
- /* Do NOT perform the request if the directory is "/" */
- if ( !strcmp(obj, "/") ) {
- if ( errmsg != NULL ) {
- sprintf(err_msg, "Cannot remove /");
- *errmsg = err_msg;
- }
- return -1;
- }
-
- /* Open the directory to get access to what is in it */
- if ( (dir = opendir(obj)) == NULL ) {
- if ( rmdir(obj) != 0 ) {
- if ( errmsg != NULL ) {
- sprintf(err_msg, "rmdir(%s) failed; errno=%d: %s",
- obj, errno, SYSERR);
- *errmsg = err_msg;
- }
- return -1;
- } else {
- return 0;
- }
- }
-
- /* Loop through the entries in the directory, removing each one */
- for ( dir_ent = (struct dirent *)readdir(dir);
- dir_ent != NULL;
- dir_ent = (struct dirent *)readdir(dir)) {
-
- /* Don't remove "." or ".." */
- if ( !strcmp(dir_ent->d_name, ".") || !strcmp(dir_ent->d_name, "..") )
- continue;
-
- /* Recursively call this routine to remove the current entry */
- sprintf(dirobj, "%s/%s", obj, dir_ent->d_name);
- if ( rmobj(dirobj, errmsg) != 0 )
- ret_val = -1;
- }
-
- /* Close the directory */
- closedir(dir);
-
- /* If there were problems removing an entry, don't attempt to
- remove the directory itself */
- if ( ret_val == -1 )
- return -1;
-
- /* Get the link count, now that all the entries have been removed */
- if ( lstat(obj, &statbuf) < 0 ) {
- if ( errmsg != NULL ) {
- sprintf(err_msg, "lstat(%s) failed; errno=%d: %s",
- obj, errno, SYSERR);
- *errmsg = err_msg;
- }
- return -1;
- }
-
- /* Remove the directory itself */
- if ( statbuf.st_nlink >= 3 ) {
- /* The directory is linked; unlink() must be used */
- if ( unlink(obj) < 0 ) {
- if ( errmsg != NULL ) {
- sprintf(err_msg, "unlink(%s) failed; errno=%d: %s",
- obj, errno, SYSERR);
- *errmsg = err_msg;
- }
- return -1;
- }
- } else {
- /* The directory is not linked; rmdir() can be used */
- if ( rmdir(obj) < 0 ) {
- if ( errmsg != NULL ) {
- sprintf(err_msg, "rmdir(%s) failed; errno=%d: %s",
- obj, errno, SYSERR);
- *errmsg = err_msg;
- }
- return -1;
- }
- }
- } else {
- /* object is not a directory; just use unlink() */
- if ( unlink(obj) < 0 ) {
- if ( errmsg != NULL ) {
- sprintf(err_msg, "unlink(%s) failed; errno=%d: %s",
- obj, errno, SYSERR);
- *errmsg = err_msg;
- }
- return -1;
- }
- } /* if obj is a directory */
-
- /*
- * Everything must have went ok.
- */
- return 0;
-} /* rmobj() */
diff --git a/winsup/testsuite/libltp/lib/search_path.c b/winsup/testsuite/libltp/lib/search_path.c
deleted file mode 100644
index 775c7b1a6..000000000
--- a/winsup/testsuite/libltp/lib/search_path.c
+++ /dev/null
@@ -1,249 +0,0 @@
-/*
- * (C) COPYRIGHT CRAY RESEARCH, INC.
- * UNPUBLISHED PROPRIETARY INFORMATION.
- * ALL RIGHTS RESERVED.
- */
-/**********************************************************
- *
- * UNICOS Feature Test and Evaluation - Cray Research, Inc.
- *
- * FUNCTION NAME : search_path
- *
- * FUNCTION TITLE : search PATH locations for desired filename
- *
- * SYNOPSIS:
- * int search_path(cmd, res_path, access_mode, fullpath)
- * char *cmd;
- * char *res_path;
- * int access_mode;
- * int fullpath;
- *
- * AUTHOR : Richard Logan
- *
- * INITIAL RELEASE : UNICOS 7.0
- *
- * DESCRIPTION
- * Search_path will walk through PATH and attempt to find "cmd". If cmd is
- * a full or relative path, it is checked but PATH locations are not scanned.
- * search_path will put the resulting path in res_path. It is assumed
- * that res_path points to a string that is at least PATH_MAX
- * (or MAXPATHLEN on the suns) in size. Access_mode is just as is
- * says, the mode to be used on access to determine if cmd can be found.
- * If fullpath is set, res_path will contain the full path to cmd.
- * If it is not set, res_path may or may not contain the full path to cmd.
- * If fullpath is not set, the path in PATH prepended to cmd is used,
- * which could be a relative path. If fullpath is set, the current
- * directory is prepended to path/cmd before access is called.
- * If cmd is found, search_path will return 0. If cmd cannot be
- * found, 1 is returned. If an error has occurred, -1 is returned
- * and an error mesg is placed in res_path.
- * If the length of path/cmd is larger then PATH_MAX, then that path
- * location is skipped.
- *
- *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#**/
-
-#include <stdio.h>
-#include <unistd.h>
-#include <string.h>
-#include <stdlib.h>
-#include <sys/errno.h>
-#include <sys/param.h>
-#include <sys/stat.h>
-
-extern int errno;
-
-struct stat stbuf;
-
-#ifndef AS_CMD
-#define AS_CMD 0
-#endif
-
-/*
- * Make sure PATH_MAX is defined. Define it to MAXPATHLEN, if set. Otherwise
- * set it to 1024.
- */
-#ifndef PATH_MAX
-#ifndef MAXPATHLEN
-#define PATH_MAX 1024
-#else /* MAXPATHLEN */
-#define PATH_MAX MAXPATHLEN
-#endif /* MAXPATHLEN */
-#endif /* PATH_MAX */
-
-
-#if AS_CMD
-main(argc, argv)
-int argc;
-char **argv;
-{
- char path[PATH_MAX];
- int ind;
-
- if (argc <= 1 ) {
- printf("missing argument\n");
- exit(1);
- }
-
- for(ind=1;ind < argc; ind++) {
- if ( search_path(argv[ind], path, F_OK, 0) < 0 ) {
- printf("ERROR: %s\n", path);
- }
- else {
- printf("path of %s is %s\n", argv[ind], path);
- }
- }
-
-}
-
-#endif
-
-/*
- */
-int
-search_path(cmd, res_path, access_mode, fullpath)
-const char *cmd; /* The requested filename */
-char *res_path; /* The resulting path or error mesg */
-int access_mode; /* the mode used by access(2) */
-int fullpath; /* if set, cwd will be prepended to all non-full paths */
-{
- char *cp; /* used to scan PATH for directories */
- int ret; /* return value from access */
- char *pathenv;
- char tmppath[PATH_MAX];
- char curpath[PATH_MAX];
- char *path;
- int lastpath;
- int toolong=0;
-
-#if DEBUG
-printf("search_path: cmd = %s, access_mode = %d, fullpath = %d\n", cmd, access_mode, fullpath);
-#endif
-
- /*
- * full or relative path was given
- */
- if ( (cmd[0] == '/') || ( (cp=strchr(cmd, '/')) != NULL )) {
- if ( access(cmd, access_mode) == 0 ) {
-
- if ( cmd[0] != '/' ) { /* relative path */
- if ( getcwd(curpath, PATH_MAX) == NULL ) {
- strcpy(res_path, curpath);
- return -1;
- }
- if ( (strlen(curpath) + strlen(cmd) + 1) > (size_t)PATH_MAX ) {
- sprintf(res_path, "cmd (as relative path) and cwd is longer than %d",
- PATH_MAX);
- return -1;
- }
- sprintf(res_path, "%s/%s", curpath, cmd);
- }
- else
- strcpy(res_path, cmd);
- return 0;
- }
- else {
- sprintf(res_path, "file %s not found", cmd);
- return -1;
- }
- }
-
- /* get the PATH variable */
- if ( (pathenv=getenv("PATH")) == NULL) {
- /* no path to scan, return */
- sprintf(res_path, "Unable to get PATH env. variable");
- return -1;
- }
-
- /*
- * walk through each path in PATH.
- * Each path in PATH is placed in tmppath.
- * pathenv cannot be modified since it will affect PATH.
- * If a signal came in while we have modified the PATH
- * memory, we could create a problem for the caller.
- */
-
- curpath[0]='\0';
-
- cp = pathenv;
- path = pathenv;
- lastpath = 0;
- for (;;) {
-
- if ( lastpath )
- break;
-
- if ( cp != pathenv )
- path = ++cp; /* already set on first iteration */
-
- /* find end of current path */
-
- for (; ((*cp != ':') && (*cp != '\0')); cp++);
-
- /*
- * copy path to tmppath so it can be NULL terminated
- * and so we do not modify path memory.
- */
- strncpy(tmppath, path, (cp-path) );
- tmppath[cp-path]='\0';
-#if DEBUG
-printf("search_path: tmppath = %s\n", tmppath);
-#endif
-
- if ( *cp == '\0' )
- lastpath=1; /* this is the last path entry */
-
- /* Check lengths so not to overflow res_path */
- if ( strlen(tmppath) + strlen(cmd) + 2 > (size_t)PATH_MAX ) {
- toolong++;
- continue;
- }
-
- sprintf(res_path, "%s/%s", tmppath, cmd);
-#if DEBUG
-printf("search_path: res_path = '%s'\n", res_path);
-#endif
-
-
- /* if the path is not full at this point, prepend the current
- * path to get the full path.
- * Note: this could not be wise to do when under a protected
- * directory.
- */
-
- if ( fullpath && res_path[0] != '/' ) { /* not a full path */
- if ( curpath[0] == '\0' ) {
- if ( getcwd(curpath, PATH_MAX) == NULL ) {
- strcpy(res_path, curpath);
- return -1;
- }
- }
- if ( (strlen(curpath) + strlen(res_path) + 2) > (size_t)PATH_MAX ) {
- toolong++;
- continue;
- }
- sprintf(tmppath, "%s/%s", curpath, res_path);
- strcpy(res_path, tmppath);
-#if DEBUG
-printf("search_path: full res_path= '%s'\n", res_path);
-#endif
-
- }
-
-
- if ( (ret=access(res_path, access_mode)) == 0 ) {
-#if DEBUG
-printf("search_path: found res_path = %s\n", res_path);
-#endif
- return 0;
- }
- }
-
- /* return failure */
- if ( toolong )
- sprintf(res_path,
- "Unable to find file, %d path/file strings were too long", toolong);
- else
- strcpy(res_path, "Unable to find file");
- return 1; /* not found */
-}
-
diff --git a/winsup/testsuite/libltp/lib/str_to_bytes.c b/winsup/testsuite/libltp/lib/str_to_bytes.c
deleted file mode 100644
index beecb71b6..000000000
--- a/winsup/testsuite/libltp/lib/str_to_bytes.c
+++ /dev/null
@@ -1,211 +0,0 @@
-/*
- * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it would be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Further, this software is distributed without any warranty that it is
- * free of the rightful claim of any third person regarding infringement
- * or the like. Any license provided herein, whether implied or
- * otherwise, applies only to this software file. Patent licenses, if
- * any, provided herein do not apply to combinations of this program with
- * other software, or any other product whatsoever.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write the Free Software Foundation, Inc., 59
- * Temple Place - Suite 330, Boston MA 02111-1307, USA.
- *
- * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
- * Mountain View, CA 94043, or:
- *
- * http://www.sgi.com
- *
- * For further information regarding this notice, see:
- *
- * http://oss.sgi.com/projects/GenInfo/NoticeExplan/
- */
-#include <stdio.h>
-#include <sys/param.h>
-#include "str_to_bytes.h"
-
-/****************************************************************************
- * str_to_bytes(s)
- *
- * Computes the number of bytes described by string s. s is assumed to be
- * a base 10 positive (ie. >= 0) number followed by an optional single
- * character multiplier. The following multipliers are supported:
- *
- * char mult
- * -----------------
- * b BSIZE or BBSIZE
- * k 1024 bytes
- * K 1024 * sizeof(long)
- * m 2^20 (1048576)
- * M 2^20 (1048576 * sizeof(long)
- * g 2^30 (1073741824)
- * G 2^30 (1073741824) * sizeof(long)
- *
- * for instance, "1k" and "1024" would both cause str_to_bytes to return 1024.
- *
- * Returns -1 if mult is an invalid character, or if the integer portion of
- * s is not a positive integer.
- *
- ****************************************************************************/
-
-#if CRAY
-#define B_MULT BSIZE /* block size */
-#elif sgi
-#define B_MULT BBSIZE /* block size */
-#elif linux
-#define B_MULT DEV_BSIZE /* block size */
-#elif __CYGWIN__
-#include <sys/stat.h>
-#define B_MULT S_BLKSIZE /* block size */
-#endif
-
-
-#define K_MULT 1024 /* Kilo or 2^10 */
-#define M_MULT 1048576 /* Mega or 2^20 */
-#define G_MULT 1073741824 /* Giga or 2^30 */
-#define T_MULT 1099511627776 /* tera or 2^40 */
-
-int
-str_to_bytes(s)
-char *s;
-{
- char mult, junk;
- int nconv;
- float num;
-
- nconv = sscanf(s, "%f%c%c", &num, &mult, &junk);
- if (nconv == 0 || nconv == 3 )
- return -1;
-
- if (nconv == 1)
- return num;
-
- switch (mult) {
- case 'b':
- return (int)(num * (float)B_MULT);
- case 'k':
- return (int)(num * (float)K_MULT);
- case 'K':
- return (int)((num * (float)K_MULT) * sizeof(long));
- case 'm':
- return (int)(num * (float)M_MULT);
- case 'M':
- return (int)((num * (float)M_MULT) * sizeof(long));
- case 'g':
- return (int)(num * (float)G_MULT);
- case 'G':
- return (int)((num * (float)G_MULT) * sizeof(long));
- default:
- return -1;
- }
-}
-
-long
-str_to_lbytes(s)
-char *s;
-{
- char mult, junk;
- long nconv;
- float num;
-
- nconv = sscanf(s, "%f%c%c", &num, &mult, &junk);
- if (nconv == 0 || nconv == 3 )
- return -1;
-
- if (nconv == 1)
- return (long)num;
-
- switch (mult) {
- case 'b':
- return (long)(num * (float)B_MULT);
- case 'k':
- return (long)(num * (float)K_MULT);
- case 'K':
- return (long)((num * (float)K_MULT) * sizeof(long));
- case 'm':
- return (long)(num * (float)M_MULT);
- case 'M':
- return (long)((num * (float)M_MULT) * sizeof(long));
- case 'g':
- return (long)(num * (float)G_MULT);
- case 'G':
- return (long)((num * (float)G_MULT) * sizeof(long));
- default:
- return -1;
- }
-}
-
-/*
- * Force 64 bits number when compiled as 32 IRIX binary.
- * This allows for a number bigger than 2G.
- */
-
-long long
-str_to_llbytes(s)
-char *s;
-{
- char mult, junk;
- long nconv;
- double num;
-
- nconv = sscanf(s, "%lf%c%c", &num, &mult, &junk);
- if (nconv == 0 || nconv == 3 )
- return -1;
-
- if (nconv == 1)
- return (long long)num;
-
- switch (mult) {
- case 'b':
- return (long long)(num * (float)B_MULT);
- case 'k':
- return (long long)(num * (float)K_MULT);
- case 'K':
- return (long long)((num * (float)K_MULT) * sizeof(long long));
- case 'm':
- return (long long)(num * (float)M_MULT);
- case 'M':
- return (long long)((num * (float)M_MULT) * sizeof(long long));
- case 'g':
- return (long long)(num * (float)G_MULT);
- case 'G':
- return (long long)((num * (float)G_MULT) * sizeof(long long));
- default:
- return -1;
- }
-}
-
-#ifdef UNIT_TEST
-
-main(int argc, char **argv)
-{
- int ind;
-
- if (argc == 1 ) {
- fprintf(stderr, "missing str_to_bytes() parameteres\n");
- exit(1);
- }
-
- for (ind=1; ind<argc; ind++) {
-
- printf("str_to_bytes(%s) returned %d\n",
- argv[ind], str_to_bytes(argv[ind]));
-
- printf("str_to_lbytes(%s) returned %ld\n",
- argv[ind], str_to_lbytes(argv[ind]));
-
- printf("str_to_llbytes(%s) returned %lld\n",
- argv[ind], str_to_llbytes(argv[ind]));
- }
-}
-
-#endif
diff --git a/winsup/testsuite/libltp/lib/string_to_tokens.c b/winsup/testsuite/libltp/lib/string_to_tokens.c
deleted file mode 100644
index 6f0d775dd..000000000
--- a/winsup/testsuite/libltp/lib/string_to_tokens.c
+++ /dev/null
@@ -1,109 +0,0 @@
-/*
- * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it would be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Further, this software is distributed without any warranty that it is
- * free of the rightful claim of any third person regarding infringement
- * or the like. Any license provided herein, whether implied or
- * otherwise, applies only to this software file. Patent licenses, if
- * any, provided herein do not apply to combinations of this program with
- * other software, or any other product whatsoever.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write the Free Software Foundation, Inc., 59
- * Temple Place - Suite 330, Boston MA 02111-1307, USA.
- *
- * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
- * Mountain View, CA 94043, or:
- *
- * http://www.sgi.com
- *
- * For further information regarding this notice, see:
- *
- * http://oss.sgi.com/projects/GenInfo/NoticeExplan/
- */
-/**********************************************************
- *
- * OS Testing - Silicon Graphics, Inc.
- *
- * FUNCTION NAME : string_to_tokens
- *
- * FUNCTION TITLE : Break a string into its tokens
- *
- * SYNOPSIS:
- *
- * int string_to_tokens(arg_string, arg_array, array_size, separator)
- * char *arg_string;
- * char *arg_array[];
- * int array_size;
- * char *separator;
- *
- * AUTHOR : Richard Logan
- *
- * DATE : 10/94
- *
- * INITIAL RELEASE : UNICOS 7.0
- *
- * DESCRIPTION
- * This function parses the string 'arg_string', placing pointers to
- * the 'separator' separated tokens into the elements of 'arg_array'.
- * The array is terminated with a null pointer.
- * 'arg_array' must contains at least 'array_size' elements.
- * Only the first 'array_size' minus one tokens will be placed into
- * 'arg_array'. If there are more than 'array_size'-1 tokens, the rest are
- * ignored by this routine.
- *
- * RETURN VALUE
- * This function returns the number of 'separator' separated tokens that
- * were found in 'arg_string'.
- * If 'arg_array' or 'separator' is NULL or 'array_size' is less than 2, -1 is returned.
- *
- * WARNING
- * This function uses strtok() to parse 'arg_string', and thus
- * physically alters 'arg_string' by placing null characters where the
- * separators originally were.
- *
- *
- *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#**/
-#include <stdio.h>
-#include <string.h> /* for string functions */
-#include "string_to_tokens.h"
-
-int
-string_to_tokens(char *arg_string, char *arg_array[], int array_size, char *separator)
-{
- int num_toks = 0; /* number of tokens found */
- char *strtok();
-
- if ( arg_array == NULL || array_size <= 1 || separator == NULL )
- return -1;
-
- /*
- * Use strtok() to parse 'arg_string', placing pointers to the
- * individual tokens into the elements of 'arg_array'.
- */
- if ( (arg_array[num_toks] = strtok(arg_string, separator)) == NULL ) {
- return 0;
- }
-
- for (num_toks=1;num_toks<array_size; num_toks++) {
- if ( (arg_array[num_toks] = strtok(NULL, separator)) == NULL )
- break;
- }
-
- if ( num_toks == array_size )
- arg_array[num_toks] = NULL;
-
- /*
- * Return the number of tokens that were found in 'arg_string'.
- */
- return(num_toks);
-
-} /* end of string_to_tokens */
diff --git a/winsup/testsuite/libltp/lib/tst_res.c b/winsup/testsuite/libltp/lib/tst_res.c
deleted file mode 100644
index 99767ec9b..000000000
--- a/winsup/testsuite/libltp/lib/tst_res.c
+++ /dev/null
@@ -1,960 +0,0 @@
-/*
- * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it would be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Further, this software is distributed without any warranty that it is
- * free of the rightful claim of any third person regarding infringement
- * or the like. Any license provided herein, whether implied or
- * otherwise, applies only to this software file. Patent licenses, if
- * any, provided herein do not apply to combinations of this program with
- * other software, or any other product whatsoever.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write the Free Software Foundation, Inc., 59
- * Temple Place - Suite 330, Boston MA 02111-1307, USA.
- *
- * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
- * Mountain View, CA 94043, or:
- *
- * http://www.sgi.com
- *
- * For further information regarding this notice, see:
- *
- * http://oss.sgi.com/projects/GenInfo/NoticeExplan/
- */
-
-
-/* $Id$ */
-
-/**********************************************************
- *
- * OS Testing - Silicon Graphics, Inc.
- *
- * FUNCTION NAME :
- * tst_res() - Print result message (include file contents)
- * tst_resm() - Print result message
- * tst_brk() - Print result message (include file contents)
- * and break remaining test cases
- * tst_brkm() - Print result message and break remaining test
- * cases
- * tst_brkloop() - Print result message (include file contents)
- * and break test cases remaining in current loop
- * tst_brkloopm() - Print result message and break test case
- * remaining in current loop
- * tst_flush() - Print any messages pending because of
- * CONDENSE mode, and flush output stream
- * tst_exit() - Exit test with a meaningful exit value.
- * tst_environ() - Keep results coming to original stdout
- *
- * FUNCTION TITLE : Standard automated test result reporting mechanism
- *
- * SYNOPSIS:
- * #include "test.h"
- *
- * void tst_res(ttype, fname, tmesg [,arg]...)
- * int ttype;
- * char *fname;
- * char *tmesg;
- *
- * void tst_resm(ttype, tmesg [,arg]...)
- * int ttype;
- * char *tmesg;
- *
- * void tst_brk(ttype, fname, cleanup, tmesg, [,argv]...)
- * int ttype;
- * char *fname;
- * void (*cleanup)();
- * char *tmesg;
- *
- * void tst_brkm(ttype, cleanup, tmesg [,arg]...)
- * int ttype;
- * void (*cleanup)();
- * char *tmesg;
- *
- * void tst_brkloop(ttype, fname, cleanup, char *tmesg, [,argv]...)
- * int ttype;
- * char *fname;
- * void (*cleanup)();
- * char *tmesg;
- *
- * void tst_brkloopm(ttype, cleanup, tmesg [,arg]...)
- * int ttype;
- * void (*cleanup)();
- * char *tmesg;
- *
- * void tst_flush()
- *
- * void tst_exit()
- *
- * int tst_environ()
- *
- * AUTHOR : Kent Rogers (from Dave Fenner's original)
- *
- * CO-PILOT : Rich Logan
- *
- * DATE STARTED : 05/01/90 (rewritten 1/96)
- *
- * DESCRIPTION
- * See the man page(s).
- *
- *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#**/
-#include <errno.h>
-#include <stdarg.h> /* for varargs stuff */
-#include "test.h" /* for output display mode & result type */
- /* defines */
-
-/*
- * Define some useful macros.
- */
-#define VERBOSE 1 /* flag values for the T_mode variable */
-#define CONDENSE 2
-#define NOPASS 3
-#define DISCARD 4
-
-#define MAXMESG 80 /* max length of internal messages */
-#define USERMESG 2048 /* max length of user message */
-#define TRUE 1
-#define FALSE 0
-
-/*
- * EXPAND_VAR_ARGS - Expand the variable portion (arg_fmt) of a result
- * message into the specified string.
- */
-#define EXPAND_VAR_ARGS(arg_fmt, str) { \
- va_list ap; /* varargs mechanism */ \
- \
- if ( arg_fmt != NULL ) { \
- if ( Expand_varargs == TRUE ) { \
- va_start(ap, arg_fmt); \
- vsprintf(str, arg_fmt, ap); \
- va_end(ap); \
- Expand_varargs = FALSE; \
- } else { \
- strcpy(str, arg_fmt); \
- } \
- } else { \
- str[0] = '\0'; \
- } \
-} /* EXPAND_VAR_ARGS() */
-
-/*
- * Define local function prototypes.
- */
-static void check_env();
-static void tst_condense(int tnum, int ttype, char *tmesg);
-static void tst_print(char *tcid, int tnum, int trange, int ttype, const char *tmesg);
-static void cat_file(const char *filename);
-
-
-/*
- * Define some static/global variables.
- */
-static FILE *T_out = NULL; /* tst_res() output file descriptor */
-static const char *File; /* file whose contents is part of result */
-static int T_exitval = 0; /* exit value used by tst_exit() */
-static int T_mode = VERBOSE; /* flag indicating print mode: VERBOSE, */
- /* CONDENSE, NOPASS, DISCARD */
-
-static int Expand_varargs = TRUE; /* if TRUE, expand varargs stuff */
-static char Warn_mesg[MAXMESG]; /* holds warning messages */
-
-/*
- * These are used for condensing output when NOT in verbose mode.
- */
-static int Buffered = FALSE; /* TRUE if condensed output is currently */
- /* buffered (i.e. not yet printed) */
-static char *Last_tcid; /* previous test case id */
-static int Last_num; /* previous test case number */
-static int Last_type; /* previous test result type */
-static char *Last_mesg; /* previous test result message */
-
-
-/*
- * These globals may be externed by the test.
- */
-int Tst_count = 0; /* current count of test cases executed; NOTE: */
- /* Tst_count may be externed by other programs */
-int Tst_lptotal = 0; /* tst_brkloop() external */
-int Tst_lpstart = 0; /* tst_brkloop() external */
-int Tst_range = 1; /* for specifying multiple results */
-int Tst_nobuf = 1; /* this is a no-op; buffering is never done, but */
- /* this will stay for compatibility reasons */
-
-/*
- * These globals must be defined in the test.
- */
-extern char *TCID; /* Test case identifier from the test source */
-extern int TST_TOTAL; /* Total number of test cases from the test */
- /* source */
-
-/*
- * This global is used by the temp. dir. maintenance functions,
- * tst_tmpdir()/tst_rmdir(), tst_wildcard()/tst_tr_rmdir(). It is the
- * name of the directory created (if any). It is defined here, so that
- * it only has to be declared once and can then be referenced from more
- * than one module. Also, since the temp. dir. maintenance functions
- * rely on the tst_res.c package this seemed like a reasonable place.
- */
-char *TESTDIR = NULL;
-
-/*
- * tst_res() - Main result reporting function. Handle test information
- * appropriately depending on output display mode. Call
- * tst_condense() or tst_print() to actually print results.
- * All result functions (tst_resm(), tst_brk(), etc.)
- * eventually get here to print the results.
- */
-void
-tst_res(int ttype, const char *fname, const char *arg_fmt, ...)
-{
- int i;
- char tmesg[USERMESG]; /* expanded message */
-
-#if DEBUG
- printf("IN tst_res; Tst_count = %d; Tst_range = %d\n",
- Tst_count, Tst_range); fflush(stdout);
-#endif
-
- /*
- * Expand the arg_fmt string into tmesg, if necessary.
- */
- EXPAND_VAR_ARGS(arg_fmt, tmesg);
-
- /*
- * Save the test result type by ORing ttype into the current exit
- * value (used by tst_exit()).
- */
- T_exitval |= ttype;
-
- /*
- * Unless T_out has already been set by tst_environ(), make tst_res()
- * output go to standard output.
- */
- if ( T_out == NULL )
- T_out = stdout;
-
- /*
- * Check TOUTPUT environment variable (if first time) and set T_mode
- * flag.
- */
- check_env();
-
- /*
- * A negative or NULL range is invalid.
- */
- if ( Tst_range <= 0 ) {
- Tst_range = 1;
- tst_print(TCID, 0, 1, TWARN,
- "tst_res(): Tst_range must be positive");
- }
-
- /*
- * If a filename was specified, set 'File' if it exists.
- */
- if ( fname != NULL && access(fname, F_OK) == 0 )
- File = fname;
-
- /*
- * Set the test case number and print the results, depending on the
- * display type.
- */
- if ( ttype == TWARN || ttype == TINFO ) {
- /*
- * Handle WARN and INFO results (test case number is 0).
- */
- if ( Tst_range > 1 ) {
- tst_print(TCID, 0, 1, TWARN,
- "tst_res(): Range not valid for TINFO or TWARN types");
- }
- tst_print(TCID, 0, 1, ttype, tmesg);
- } else {
- /*
- * Handle all other types of results other than WARN and INFO.
- */
- if ( Tst_count < 0 )
- tst_print(TCID, 0, 1, TWARN,
- "tst_res(): Tst_count < 0 is not valid");
-
- /*
- * Process each display type.
- */
- switch ( T_mode ) {
- case DISCARD:
- /* do not print any results */
- break;
-
- case NOPASS: /* passing result types are filtered by tst_print() */
- case CONDENSE:
- tst_condense(Tst_count + 1, ttype, tmesg);
- break;
-
- default: /* VERBOSE */
- for ( i = 1 ; i <= Tst_range ; i++ )
- tst_print(TCID, Tst_count + i, Tst_range, ttype, tmesg);
- break;
- } /* end switch() */
-
- /*
- * Increment Tst_count.
- */
- Tst_count += Tst_range;
- } /* if ( ttype == TWARN || ttype == TINFO ) */
-
- /*
- * Reset some values.
- */
- Tst_range = 1;
- Expand_varargs = TRUE;
-} /* tst_res() */
-
-
-/*
- * tst_condense() - Handle test cases in CONDENSE or NOPASS mode (i.e.
- * buffer the current result and print the last result
- * if different than the current). If a file was
- * specified, print the current result and do not
- * buffer it.
- */
-static void
-tst_condense(int tnum, int ttype, char *tmesg)
-{
- const char *file;
-
-#if DEBUG
- printf("IN tst_condense: tcid = %s, tnum = %d, ttype = %d, tmesg = %s\n",
- TCID, tnum, ttype, tmesg);
- fflush(stdout);
-#endif
-
- /*
- * If this result is the same as the previous result, return.
- */
- if ( Buffered == TRUE ) {
- if ( strcmp(Last_tcid, TCID) == 0 && Last_type == ttype &&
- strcmp(Last_mesg, tmesg) == 0 && File == NULL )
- return;
-
- /*
- * This result is different from the previous result. First,
- * print the previous result.
- */
- file = File;
- File = NULL;
- tst_print(Last_tcid, Last_num, tnum - Last_num, Last_type,
- Last_mesg);
- free(Last_tcid);
- free(Last_mesg);
- File = file;
- } /* if ( Buffered == TRUE ) */
-
- /*
- * If a file was specified, print the current result since we have no
- * way of retaining the file contents for comparing with future
- * results. Otherwise, buffer the current result info for next time.
- */
- if ( File != NULL ) {
- tst_print(TCID, tnum, Tst_range, ttype, tmesg);
- Buffered = FALSE;
- } else {
- Last_tcid = (char *)malloc(strlen(TCID) + 1);
- strcpy(Last_tcid, TCID);
- Last_num = tnum;
- Last_type = ttype;
- Last_mesg = (char *)malloc(strlen(tmesg) + 1);
- strcpy(Last_mesg, tmesg);
- Buffered = TRUE;
- }
-} /* tst_condense() */
-
-
-/*
- * tst_flush() - Print any messages pending because of CONDENSE mode,
- * and flush T_out.
- */
-void
-tst_flush()
-{
-#if DEBUG
- printf("IN tst_flush\n");
- fflush(stdout);
-#endif
-
- /*
- * Print out last line if in CONDENSE or NOPASS mode.
- */
- if ( Buffered == TRUE && (T_mode == CONDENSE || T_mode == NOPASS) ) {
- tst_print(Last_tcid, Last_num, Tst_count - Last_num + 1,
- Last_type, Last_mesg);
- Buffered = FALSE;
- }
- fflush(T_out);
-} /* tst_flush() */
-
-
-/*
- * tst_print() - Actually print a line or range of lines to the output
- * stream.
- */
-static void
-tst_print(char *tcid, int tnum, int trange, int ttype, const char *tmesg)
-{
- char type[5];
-
-#if DEBUG
- printf("IN tst_print: tnum = %d, trange = %d, ttype = %d, tmesg = %s\n",
- tnum, trange, ttype, tmesg);
- fflush(stdout);
-#endif
-
- /*
- * Save the test result type by ORing ttype into the current exit
- * value (used by tst_exit()). This is already done in tst_res(), but
- * is also done here to catch internal warnings. For internal warnings,
- * tst_print() is called directly with a case of TWARN.
- */
- T_exitval |= ttype;
-
- /*
- * If output mode is DISCARD, or if the output mode is NOPASS and
- * this result is not one of FAIL, BROK, or WARN, just return. This
- * check is necessary even though we check for DISCARD mode inside of
- * tst_res(), since occasionally we get to this point without going
- * through tst_res() (e.g. internal TWARN messages).
- */
- if ( T_mode == DISCARD || (T_mode == NOPASS && ttype != TFAIL &&
- ttype != TBROK && ttype != TWARN) )
- return;
-
- /*
- * Fill in the type string according to ttype.
- */
- switch ( ttype ) {
- case TPASS:
- strcpy(type, "PASS");
- break;
- case TFAIL:
- strcpy(type, "FAIL");
- break;
- case TBROK:
- strcpy(type, "BROK");
- break;
- case TRETR:
- strcpy(type, "RETR");
- break;
- case TCONF:
- strcpy(type, "CONF");
- break;
- case TWARN:
- strcpy(type, "WARN");
- break;
- case TINFO:
- strcpy(type, "INFO");
- break;
- default:
- strcpy(type, "????");
- break;
- } /* switch ( ttype ) */
-
- /*
- * Build the result line and print it.
- */
- if ( T_mode == VERBOSE ) {
- fprintf(T_out, "%-8s %4d %s : %s\n", tcid, tnum, type, tmesg);
- } else {
- /* condense results if a range is specified */
- if ( trange > 1 )
- fprintf(T_out, "%-8s %4d-%-4d %s : %s\n",
- tcid, tnum, tnum + trange - 1, type, tmesg);
- else
- fprintf(T_out, "%-8s %4d %s : %s\n",
- tcid, tnum, type, tmesg);
- }
-
- /*
- * If tst_res() was called with a file, append file contents to the
- * end of last printed result.
- */
- if ( File != NULL )
- cat_file(File);
- File = NULL;
-} /* tst_print() */
-
-
-/*
- * check_env() - Check the value of the environment variable TOUTPUT and
- * set the global variable T_mode. The TOUTPUT environment
- * variable should be set to "VERBOSE", "CONDENSE",
- * "NOPASS", or "DISCARD". If TOUTPUT does not exist or
- * is not set to a valid value, the default is "VERBOSE".
- */
-static void
-check_env()
-{
- static int first_time = 1;
- char *value; /* value of TOUTPUT environment variable */
-
-#if DEBUG
- printf("IN check_env\n");
- fflush(stdout);
-#endif
-
- if ( !first_time )
- return;
-
- first_time = 0;
-
- if ( (value = getenv(TOUTPUT)) == NULL ) {
- /* TOUTPUT not defined, use default */
- T_mode = VERBOSE;
- } else if ( strcmp(value, TOUT_CONDENSE_S) == 0 ) {
- T_mode = CONDENSE;
- } else if ( strcmp(value, TOUT_NOPASS_S) == 0 ) {
- T_mode = NOPASS;
- } else if ( strcmp(value, TOUT_DISCARD_S) == 0 ) {
- T_mode = DISCARD;
- } else {
- /* default */
- T_mode = VERBOSE;
- }
-
- return;
-} /* check_env() */
-
-
-/*
- * tst_exit() - Call exit() with the value T_exitval, set up by
- * tst_res(). T_exitval has a bit set for most of the
- * result types that were seen (including TPASS, TFAIL,
- * TBROK, TWARN, TCONF). Also, print the last result (if
- * necessary) before exiting.
- */
-void
-tst_exit()
-{
-#if DEBUG
- printf("IN tst_exit\n"); fflush(stdout);
- fflush(stdout);
-#endif
-
- /*
- * Call tst_flush() flush any ouput in the buffer or the last
- * result not printed because of CONDENSE mode.
- */
- tst_flush();
-
- /*
- * Mask out TRETR, TINFO, and TCONF results from the exit status.
- */
- exit(T_exitval & ~(TRETR | TINFO | TCONF));
-} /* tst_exit() */
-
-
-/*
- * tst_environ() - Preserve the tst_res() output location, despite any
- * changes to stdout.
- */
-int
-tst_environ()
-{
- FILE *fdopen();
-
- if ( (T_out = fdopen(dup(fileno(stdout)), "w")) == NULL )
- return(-1);
- else
- return(0);
-} /* tst_environ() */
-
-
-/*
- * tst_brk() - Fail or break current test case, and break the remaining
- * tests cases.
- */
-void
-tst_brk(int ttype, char *fname, void (*func)(), const char *arg_fmt, ...)
-{
- char tmesg[USERMESG]; /* expanded message */
-
-#if DEBUG
- printf("IN tst_brk\n"); fflush(stdout);
- fflush(stdout);
-#endif
-
- /*
- * Expand the arg_fmt string into tmesg, if necessary.
- */
- EXPAND_VAR_ARGS(arg_fmt, tmesg);
-
- /*
- * Only FAIL, BROK, CONF, and RETR are supported by tst_brk().
- */
- if ( ttype != TFAIL && ttype != TBROK && ttype != TCONF &&
- ttype != TRETR ) {
- sprintf(Warn_mesg, "tst_brk(): Invalid Type: %d. Using TBROK",
- ttype);
- tst_print(TCID, 0, 1, TWARN, Warn_mesg);
- ttype = TBROK;
- }
-
- /*
- * Print the first result, if necessary.
- */
- if ( Tst_count < TST_TOTAL )
- tst_res(ttype, fname, tmesg);
-
- /*
- * Determine the number of results left to report.
- */
- Tst_range = TST_TOTAL - Tst_count;
-
- /*
- * Print the rest of the results, if necessary.
- */
- if ( Tst_range > 0 ) {
- if ( ttype == TCONF )
- tst_res(ttype, NULL,
- "Remaining cases not appropriate for configuration");
- else if ( ttype == TRETR )
- tst_res(ttype, NULL, "Remaining cases retired");
- else
- tst_res(TBROK, NULL, "Remaining cases broken");
- } else {
- Tst_range = 1;
- Expand_varargs = TRUE;
- } /* if ( Tst_range > 0 ) */
-
- /*
- * If no cleanup function was specified, just return to the caller.
- * Otherwise call the specified function. If specified function
- * returns, call tst_exit().
- */
- if ( func != NULL ) {
- (*func)();
- tst_exit();
- }
-
- return;
-} /* tst_brk() */
-
-
-/*
- * tst_brkloop() - Fail or break current test case, and break the
- * remaining test cases within test case loop.
- */
-void
-tst_brkloop(int ttype, char *fname, void (*func)(), const char *arg_fmt, ...)
-{
- char tmesg[USERMESG]; /* expanded message */
-
-#if DEBUG
- printf("IN tst_brkloop\n"); fflush(stdout);
- fflush(stdout);
-#endif
-
- /*
- * Expand the arg_fmt string into tmesg.
- */
- EXPAND_VAR_ARGS(arg_fmt, tmesg);
-
- /*
- * Verify that Tst_lpstart & Tst_lptotal are valid.
- */
- if ( Tst_lpstart < 0 || Tst_lptotal < 0 ) {
- tst_print(TCID, 0, 1, TWARN,
- "tst_brkloop(): Tst_lpstart & Tst_lptotal must both be assigned non-negative values");
- Expand_varargs = TRUE;
- return;
- }
-
- /*
- * Only FAIL, BROK, CONF, and RETR are supported by tst_brkloop().
- */
- if ( ttype != TFAIL && ttype != TBROK && ttype != TCONF &&
- ttype != TRETR ) {
- sprintf(Warn_mesg,
- "tst_brkloop(): Invalid Type: %d. Using TBROK",
- ttype);
- tst_print(TCID, 0, 1, TWARN, Warn_mesg);
- ttype = TBROK;
- }
-
- /*
- * Print the first result, if necessary.
- */
- if ( Tst_count < Tst_lpstart + Tst_lptotal )
- tst_res(ttype, fname, tmesg);
-
- /*
- * Determine the number of results left to report.
- */
- Tst_range = Tst_lptotal + Tst_lpstart - Tst_count;
-
- /*
- * Print the rest of the results, if necessary.
- */
- if ( Tst_range > 0 ) {
- if ( ttype == TCONF )
- tst_res(ttype, NULL,
- "Remaining cases in loop not appropriate for configuration");
- else if ( ttype == TRETR )
- tst_res(ttype, NULL, "Remaining cases in loop retired");
- else
- tst_res(TBROK, NULL, "Remaining cases in loop broken");
- } else {
- Tst_range = 1;
- Expand_varargs = TRUE;
- } /* if ( Tst_range > 0 ) */
-
- /*
- * If a cleanup function was specified, call it.
- */
- if ( func != NULL )
- (*func)();
-} /* tst_brkloop() */
-
-
-/*
- * tst_resm() - Interface to tst_res(), with no filename.
- */
-void
-tst_resm(int ttype, const char *arg_fmt, ...)
-{
- char tmesg[USERMESG]; /* expanded message */
-
-#if DEBUG
- printf("IN tst_resm\n"); fflush(stdout);
- fflush(stdout);
-#endif
-
- /*
- * Expand the arg_fmt string into tmesg.
- */
- EXPAND_VAR_ARGS(arg_fmt, tmesg);
-
- /*
- * Call tst_res with a null filename argument.
- */
- tst_res(ttype, NULL, tmesg);
-} /* tst_resm() */
-
-
-/*
- * tst_brkm() - Interface to tst_brk(), with no filename.
- */
-void
-tst_brkm(int ttype, void (*func)(), const char *arg_fmt, ...)
-{
- char tmesg[USERMESG]; /* expanded message */
-
-#if DEBUG
- printf("IN tst_brkm\n"); fflush(stdout);
- fflush(stdout);
-#endif
-
- /*
- * Expand the arg_fmt string into tmesg.
- */
- EXPAND_VAR_ARGS(arg_fmt, tmesg);
-
- /*
- * Call tst_brk with a null filename argument.
- */
- tst_brk(ttype, NULL, func, tmesg);
-} /* tst_brkm() */
-
-
-/*
- * tst_brkloopm() - Interface to tst_brkloop(), with no filename.
- */
-void
-tst_brkloopm(int ttype, void (*func)(), const char *arg_fmt, ...)
-{
- char tmesg[USERMESG]; /* expanded message */
-
-#if DEBUG
- printf("IN tst_brkloopm\n");
- fflush(stdout);
-#endif
-
- /*
- * Expand the arg_fmt string into tmesg.
- */
- EXPAND_VAR_ARGS(arg_fmt, tmesg);
-
- /*
- * Call tst_brkloop with a null filename argument.
- */
- tst_brkloop(ttype, NULL, func, tmesg);
-} /* tst_brkloopm() */
-
-
-/*
- * cat_file() - Print the contents of a file to standard out.
- */
-static void
-cat_file(const char *filename)
-{
- FILE *fp; /* file pointer */
- int b_read; /* number of bytes read with read() */
- int b_written; /* number of bytes written with write() */
- char buffer[BUFSIZ]; /* read/write buffer; BUFSIZ defined in */
- /* stdio.h */
-
-#if DEBUG
- printf("IN cat_file\n"); fflush(stdout);
-#endif
-
- /*
- * Open the file for reading.
- */
- if ( (fp = fopen(filename, "r")) == NULL ) {
- sprintf(Warn_mesg,
- "tst_res(): fopen(%s, \"r\") failed; errno = %d: %s",
- filename, errno, strerror(errno));
- tst_print(TCID, 0, 1, TWARN, Warn_mesg);
- return;
- } /* if ( fopen(filename, "r") == -1 ) */
-
- /*
- * While something to read, continue to read blocks.
- * From fread(3) man page:
- * If an error occurs, or the end-of-file is reached, the return
- * value is zero.
- */
- errno = 0;
- while ( (b_read = fread((void *)buffer, 1, BUFSIZ, fp)) != (size_t)0 ) {
- /*
- * Write what was read to the result output stream.
- */
- if ( (b_written = fwrite((void *)buffer, 1, b_read, T_out)) !=
- b_read ) {
- sprintf(Warn_mesg,
- "tst_res(): While trying to cat \"%s\", fwrite() wrote only %d of %d bytes",
- filename, b_written, b_read);
- tst_print(TCID, 0, 1, TWARN, Warn_mesg);
- break;
- } /* if ( b_written != b_read ) */
- } /* while ( fread() != 0 ) */
-
- /*
- * Check for an fread() error.
- */
- if ( !feof(fp) ) {
- sprintf(Warn_mesg,
- "tst_res(): While trying to cat \"%s\", fread() failed, errno = %d: %s",
- filename, errno, strerror(errno));
- tst_print(TCID, 0, 1, TWARN, Warn_mesg);
- } /* if ( !feof() ) */
-
- /*
- * Close the file.
- */
- if ( fclose(fp) == EOF ) {
- sprintf(Warn_mesg,
- "tst_res(): While trying to cat \"%s\", fclose() failed, errno = %d: %s",
- filename, errno, strerror(errno));
- tst_print(TCID, 0, 1, TWARN, Warn_mesg);
- } /* if ( fclose(fp) == EOF ) */
-} /* cat_file() */
-
-
-
-#ifdef UNIT_TEST
-/****************************************************************************
- * Unit test code: Takes input from stdin and can make the following
- * calls: tst_res(), tst_resm(), tst_brk(), tst_brkm(),
- * tst_flush_buf(), tst_exit().
- ****************************************************************************/
-int TST_TOTAL = 10;
-char *TCID = "TESTTCID";
-
-#define RES "tst_res.c UNIT TEST message; ttype = %d; contents of \"%s\":"
-#define RESM "tst_res.c UNIT TEST message; ttype = %d"
-
-main()
-{
- int ttype;
- int range;
- char *chrptr;
- char chr;
- char fname[MAXMESG];
-
- printf("UNIT TEST of tst_res.c. Options for ttype:\n\
- -1 : call tst_exit()\n\
- -2 : call tst_flush()\n\
- -3 : call tst_brk()\n\
- -4 : call tst_brkloop()\n\
- -5 : call tst_res() with a range\n\
- 0 : call tst_res(TPASS, ...)\n\
- 1 : call tst_res(TFAIL, ...)\n\
- 2 : call tst_res(TBROK, ...)\n\
- 4 : call tst_res(TWARN, ...)\n\
- 8 : call tst_res(TRETR, ...)\n\
- 16 : call tst_res(TINFO, ...)\n\
- 32 : call tst_res(TCONF, ...)\n\n");
-
- while ( 1 ) {
- printf("Enter ttype (-5,-4,-3,-2,-1,0,1,2,4,8,16,32): ");
- (void) scanf("%d%c", &ttype, &chr);
-
-
- switch ( ttype ) {
- case -1:
- tst_exit();
- break;
-
- case -2:
- tst_flush();
- break;
-
- case -3:
- printf("Enter the current type (1=FAIL, 2=BROK, 8=RETR, 32=CONF): ");
- (void) scanf("%d%c", &ttype, &chr);
- printf("Enter file name (<cr> for none): ");
- gets(fname);
- if ( strcmp(fname, "") == 0 )
- tst_brkm(ttype, tst_exit, RESM, ttype);
- else
- tst_brk(ttype, fname, tst_exit, RES, ttype, fname);
- break;
-
- case -4:
- printf("Enter the size of the loop: ");
- (void) scanf("%d%c", &range, &chr);
- Tst_lpstart = Tst_count;
- Tst_lptotal = range;
- printf("Enter the current type (1=FAIL, 2=BROK, 8=RETR, 32=CONF): ");
- (void) scanf("%d%c", &ttype, &chr);
- printf("Enter file name (<cr> for none): ");
- gets(fname);
- if ( strcmp(fname, "") == 0 )
- tst_brkloopm(ttype, NULL, RESM, ttype);
- else
- tst_brkloop(ttype, fname, NULL, RES, ttype, fname);
- break;
-
- case -5:
- printf("Enter the size of the range: ");
- (void) scanf("%d%c", &Tst_range, &chr);
- printf("Enter the current type (0,1,2,4,8,16,32): ");
- (void) scanf("%d%c", &ttype, &chr);
- /* fall through to tst_res() call */
-
- default:
- printf("Enter file name (<cr> for none): ");
- gets(fname);
- if ( strcmp(fname, "") == 0 )
- tst_resm(ttype, RESM, ttype);
- else
- tst_res(ttype, fname, RES, ttype, fname);
- break;
- } /* switch() */
- } /* while() */
-}
-#endif /* UNIT_TEST */
diff --git a/winsup/testsuite/libltp/lib/tst_sig.c b/winsup/testsuite/libltp/lib/tst_sig.c
deleted file mode 100644
index f5b64b666..000000000
--- a/winsup/testsuite/libltp/lib/tst_sig.c
+++ /dev/null
@@ -1,220 +0,0 @@
-/*
- * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it would be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Further, this software is distributed without any warranty that it is
- * free of the rightful claim of any third person regarding infringement
- * or the like. Any license provided herein, whether implied or
- * otherwise, applies only to this software file. Patent licenses, if
- * any, provided herein do not apply to combinations of this program with
- * other software, or any other product whatsoever.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write the Free Software Foundation, Inc., 59
- * Temple Place - Suite 330, Boston MA 02111-1307, USA.
- *
- * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
- * Mountain View, CA 94043, or:
- *
- * http://www.sgi.com
- *
- * For further information regarding this notice, see:
- *
- * http://oss.sgi.com/projects/GenInfo/NoticeExplan/
- */
-
-/* $Id$ */
-
-/*****************************************************************************
- OS Testing - Silicon Graphics, Inc.
-
- FUNCTION IDENTIFIER : tst_sig Set up for unexpected signals.
-
- AUTHOR : David D. Fenner
-
- CO-PILOT : Bill Roske
-
- DATE STARTED : 06/06/90
-
- This module may be linked with c-modules requiring unexpected
- signal handling. The parameters to tst_sig are as follows:
-
- fork_flag - set to FORK or NOFORK depending upon whether the
- calling program executes a fork() system call. It
- is normally the case that the calling program treats
- SIGCLD as an expected signal if fork() is being used.
-
- handler - a pointer to the unexpected signal handler to
- be executed after an unexpected signal has been
- detected. If handler is set to DEF_HANDLER, a
- default handler is used. This routine should be
- declared as function returning an int.
-
- cleanup - a pointer to a cleanup routine to be executed
- by the unexpected signal handler before tst_exit is
- called. This parameter is set to NULL if no cleanup
- routine is required. An external variable, T_cleanup
- is set so that other user-defined handlers have
- access to the cleanup routine. This routine should be
- declared as returning type void.
-
-***************************************************************************/
-
-#ifndef CRAY
-#define _BSD_SIGNALS 1 /* Specify that we are using BSD signal interface */
-#endif
-
-#include <errno.h>
-#include <string.h>
-#include <signal.h>
-#include "test.h"
-
-#define MAXMESG 150 /* size of mesg string sent to tst_res */
-
-void (*T_cleanup)(); /* pointer to cleanup function */
-
-extern int errno;
-static void def_handler(); /* default signal handler */
-
-/****************************************************************************
- * tst_sig() : set-up to catch unexpected signals. fork_flag is set to NOFORK
- * if SIGCLD is to be an "unexpected signal", otherwise it is set to
- * FORK. cleanup points to a cleanup routine to be executed before
- * tst_exit is called (cleanup is set to NULL if no cleanup is desired).
- * handler is a pointer to the signal handling routine (if handler is
- * set to NULL, a default handler is used).
- ***************************************************************************/
-
-void
-tst_sig(int fork_flag, void (*handler)(), void (*cleanup)())
-{
- char mesg[MAXMESG]; /* message buffer for tst_res */
- int sig;
-
- /*
- * save T_cleanup and handler function pointers
- */
- T_cleanup = cleanup; /* used by default handler */
-
- if (handler == DEF_HANDLER) {
- /* use default handler */
- handler = def_handler;
- }
-
- /*
- * now loop through all signals and set the handlers
- */
-
- for (sig = 1; sig < NSIG; sig++) {
- /*
- * SIGKILL is never unexpected.
- * SIGCLD is only unexpected when
- * no forking is being done.
- * SIGINFO is used for file quotas and should be expected
- */
-
- switch (sig) {
- case SIGKILL:
- case SIGSTOP:
- case SIGCONT:
-#ifdef CRAY
- case SIGINFO:
- case SIGRECOVERY: /* allow chkpnt/restart */
-#endif /* CRAY */
-
-#ifdef SIGSWAP
- case SIGSWAP:
-#endif /* SIGSWAP */
-
-#ifdef SIGCKPT
- case SIGCKPT:
-#endif
-#ifdef SIGRESTART
- case SIGRESTART:
-#endif
- /*
- * pthread-private signals SIGPTINTR and SIGPTRESCHED.
- * Setting a handler for these signals is disallowed when
- * the binary is linked against libpthread.
- */
-#ifdef SIGPTINTR
- case SIGPTINTR:
-#endif /* SIGPTINTR */
-#ifdef SIGPTRESCHED
- case SIGPTRESCHED:
-#endif /* SIGPTRESCHED */
-#ifdef __CYGWIN__
- case SIGILL:
- case SIGTRAP:
- case SIGABRT:
- case SIGEMT:
- case SIGFPE:
- case SIGBUS:
-#endif
- break;
-
- case SIGCLD:
- if ( fork_flag == FORK )
- continue;
-
- default:
- if (signal(sig, handler) == SIG_ERR) {
- (void) sprintf(mesg,
- "signal() failed for signal %d. error:%d %s.",
- sig, errno, strerror(errno));
- tst_resm(TWARN, mesg);
- }
- break;
- }
-#ifdef __sgi
- /* On irix (07/96), signal() fails when signo is 33 or higher */
- if ( sig+1 >= 33 )
- break;
-#endif /* __sgi */
-
- } /* endfor */
-}
-
-
-
-/****************************************************************************
- * def_handler() : default signal handler that is invoked when
- * an unexpected signal is caught.
- ***************************************************************************/
-
-static void
-def_handler(int sig)
-{
- char mesg[MAXMESG]; /* holds tst_res message */
-
- /* first reset trap for this signal (except SIGCLD - its weird) */
- if ((sig != SIGCLD) && (sig != SIGSTOP) && (sig != SIGCONT)) {
- if (signal(sig, def_handler) == SIG_ERR) {
- (void) sprintf(mesg,
- "def_handler: signal() failed for signal %d. error:%d %s.",
- sig, errno, strerror(errno));
- tst_resm(TWARN, mesg);
- }
- }
-
- (void) sprintf(mesg, "Unexpected signal %d received.", sig);
-
- /*
- * Break remaining test cases, do any cleanup, then exit
- */
- tst_brkm(TBROK, 0, mesg);
-
- /* now cleanup and exit */
- if (T_cleanup) {
- (*T_cleanup)();
- }
-
- tst_exit();
-}
diff --git a/winsup/testsuite/libltp/lib/tst_tmpdir.c b/winsup/testsuite/libltp/lib/tst_tmpdir.c
deleted file mode 100644
index cd9d9c8b8..000000000
--- a/winsup/testsuite/libltp/lib/tst_tmpdir.c
+++ /dev/null
@@ -1,347 +0,0 @@
-/*
- * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it would be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Further, this software is distributed without any warranty that it is
- * free of the rightful claim of any third person regarding infringement
- * or the like. Any license provided herein, whether implied or
- * otherwise, applies only to this software file. Patent licenses, if
- * any, provided herein do not apply to combinations of this program with
- * other software, or any other product whatsoever.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write the Free Software Foundation, Inc., 59
- * Temple Place - Suite 330, Boston MA 02111-1307, USA.
- *
- * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
- * Mountain View, CA 94043, or:
- *
- * http://www.sgi.com
- *
- * For further information regarding this notice, see:
- *
- * http://oss.sgi.com/projects/GenInfo/NoticeExplan/
- */
-
-/* $Id$ */
-
-/**********************************************************
- *
- * OS Testing - Silicon Graphics, Inc.
- *
- * FUNCTION NAME : tst_tmpdir, tst_rmdir
- *
- * FUNCTION TITLE : Create/remove a testing temp dir
- *
- * SYNOPSIS:
- * void tst_tmpdir();
- * void tst_rmdir();
- *
- * AUTHOR : Dave Fenner
- *
- * INITIAL RELEASE : UNICOS 8.0
- *
- * DESCRIPTION
- * tst_tmpdir() is used to create a unique, temporary testing
- * directory, and make it the current working directory.
- * tst_rmdir() is used to remove the directory created by
- * tst_tmpdir().
- *
- * Setting the env variable "TDIRECTORY" will override the creation
- * of a new temp dir. The directory specified by TDIRECTORY will
- * be used as the temporary directory, and no removal will be done
- * in tst_rmdir().
- *
- * RETURN VALUE
- * Neither tst_tmpdir() or tst_rmdir() has a return value.
- *
- *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#**/
-#include <errno.h>
-#include <sys/types.h> /* for mkdir() */
-#include <sys/stat.h> /* for mkdir() */
-#include "test.h"
-#include "rmobj.h"
-
-/*
- * Define some useful macros.
- */
-#define PREFIX_SIZE 4
-#define STRING_SIZE 256
-#define DIR_MODE 0777 /* mode of tmp dir that will be created */
-
-#ifndef PATH_MAX
-#ifdef MAXPATHLEN
-#define PATH_MAX MAXPATHLEN
-#else
-#define PATH_MAX 1024
-#endif
-#endif
-
-/*
- * Define function prototypes.
- */
-static void tmpdir_cleanup();
-
-/*
- * Define global variables.
- */
-extern char *TCID; /* defined/initialized in main() */
-extern int TST_TOTAL; /* defined/initialized in main() */
-extern char *TESTDIR; /* the directory created; defined in */
- /* tst_res.c */
-
-/*
- * tst_tmpdir() - Create a unique temporary directory and chdir() to it.
- * It expects the caller to have defined/initialized the
- * TCID/TST_TOTAL global variables. The TESTDIR global
- * variable will be set to the directory that gets used
- * as the testing directory.
- *
- * NOTE: This function must be called BEFORE any activity
- * that would require CLEANUP. If tst_tmpdir() fails, it
- * cleans up afer itself and calls tst_exit() (i.e. does
- * not return).
- */
-#undef FN_NAME
-#define FN_NAME "tst_tmpdir()"
-
-void
-tst_tmpdir()
-{
- char prefix[PREFIX_SIZE]; /* first three characters from TCID */
- int no_cleanup = 0; /* !0 means TDIRECTORY env var was set */
-
- /*
- * If the TDIRECTORY env variable is not set, a temp dir will be
- * created.
- */
- if ( (TESTDIR = getenv(TDIRECTORY)) == NULL ) {
- /*
- * Create a unique name based on the first three characters of the
- * TCID. The last byte in "prefix" is for the null.
- */
- strncpy(prefix, TCID, PREFIX_SIZE - 1);
- prefix[PREFIX_SIZE-1] = '\0';
- if ( (TESTDIR = tempnam(TEMPDIR, prefix)) == NULL )
- tst_brkm(TBROK, tmpdir_cleanup, "%s: tempnam(%s, %s) failed",
- FN_NAME, TEMPDIR, prefix);
-
- /*
- * Create the temporary directory.
- */
- if ( mkdir(TESTDIR, DIR_MODE) == -1 )
- tst_brkm(TBROK, tmpdir_cleanup,
- "%s: mkdir(%s, %#o) failed; errno = %d: %s",
- FN_NAME, TESTDIR, DIR_MODE, errno, strerror(errno));
-
- /*
- * Change the group on this temporary directory to be that of the
- * gid of the person running the tests.
- */
- if ( chown(TESTDIR, -1, getgid()) == -1 )
- tst_brkm(TBROK, tmpdir_cleanup,
- "chown(%s, -1, %d) failed; errno = %d: %s",
- TESTDIR, getgid(), errno, strerror(errno));
- } else {
- /*
- * The TDIRECTORY env. variable is set, so no temp dir is created.
- * Also, no clean up will be done via tst_rmdir().
- */
- no_cleanup++;
-#if UNIT_TEST
- printf("TDIRECTORY env var is set\n");
-#endif
- }
-
-#if UNIT_TEST
- printf("TESTDIR = %s\n", TESTDIR);
-#endif
-
- /*
- * Change to the temporary directory. If the chdir() fails, issue
- * TBROK messages for all test cases, attempt to remove the
- * directory (if it was created), and exit. If the removal also
- * fails, also issue a TWARN message.
- */
- if ( chdir(TESTDIR) == -1 ) {
- tst_brkm(TBROK, NULL, "%s: chdir(%s) failed; errno = %d: %s",
- FN_NAME, TESTDIR, errno, strerror(errno) );
-
- /* Try to remove the directory */
- if ( !no_cleanup && rmdir(TESTDIR) == -1 )
- tst_resm(TWARN, "%s: rmdir(%s) failed; errno = %d: %s",
- FN_NAME, TESTDIR, errno, strerror(errno) );
-
- tmpdir_cleanup();
- }
-
-#if UNIT_TEST
- printf("CWD is %s\n", getcwd((char *)NULL, PATH_MAX));
-#endif
-
- /*
- * If we made through all this stuff, return.
- */
- return;
-} /* tst_tmpdir() */
-
-
-/*
- *
- * tst_rmdir() - Recursively remove the temporary directory created by
- * tst_tmpdir(). This function is intended ONLY as a
- * companion to tst_tmpdir(). If the TDIRECTORY
- * environment variable is set, no cleanup will be
- * attempted.
- */
-#undef FN_NAME
-#define FN_NAME "tst_rmdir()"
-
-void
-tst_rmdir()
-{
- char *errmsg;
- char *tdirectory;
- char current_dir[PATH_MAX]; /* current working directory */
- char parent_dir[PATH_MAX]; /* directory above TESTDIR */
- char *basename; /* basename of the TESTDIR */
-
- /*
- * If the TDIRECTORY env variable is set, this indicates that no
- * temp dir was created by tst_tmpdir(). Thus no cleanup will be
- * necessary.
- */
- if ( (tdirectory = getenv(TDIRECTORY)) != NULL ) {
-#if UNIT_TEST
- printf("\"TDIRECORY\" env variable is set; no cleanup was performed\n");
-#endif
- return;
- }
-
- /*
- * Check that TESTDIR is not NULL.
- */
- if ( TESTDIR == NULL ) {
- tst_resm(TWARN, "%s: TESTDIR was NULL; no removal attempted",
- FN_NAME);
- return;
- }
-
- /*
- * Check that the value of TESTDIR is not "*" or "/". These could
- * have disastrous effects in a test run by root.
- */
- if ( strcmp(TESTDIR, "/") == 0 ) {
- tst_resm(TWARN,
- "%s: Recursive remove of root directory not attempted",
- FN_NAME);
- return;
- }
-
- if ( strchr(TESTDIR, '*') != NULL ) {
- tst_resm(TWARN, "%s: Recursive remove of '*' not attempted",
- FN_NAME);
- return;
- }
-
- /*
- * Get the directory name of TESTDIR. If TESTDIR is a relative path,
- * get full path.
- */
- if ( TESTDIR[0] != '/' ) {
- if ( getcwd(current_dir,PATH_MAX) == NULL )
- strcpy(parent_dir, TESTDIR);
- else
- sprintf(parent_dir, "%s/%s", current_dir, TESTDIR);
- } else {
- strcpy(parent_dir, TESTDIR);
- }
- if ( (basename = strrchr(parent_dir, '/')) != NULL ) {
- *basename='\0'; /* terminate at end of parent_dir */
- }
-
- /*
- * Change directory to parent_dir (The dir above TESTDIR).
- */
- if ( chdir(parent_dir) != 0 )
- tst_resm(TWARN,
- "%s: chdir(%s) failed; errno = %d: %s\nAttempting to remove temp dir anyway",
- FN_NAME, parent_dir, errno, strerror(errno));
-
- /*
- * Attempt to remove the "TESTDIR" directory, using rmobj().
- */
- if ( rmobj(TESTDIR, &errmsg) == -1 )
- tst_resm(TWARN, "%s: rmobj(%s) failed: %s",
- FN_NAME, TESTDIR, errmsg);
-
- return;
-} /* tst_rmdir() */
-
-
-/*
- * tmpdir_cleanup() - This function is used when tst_tmpdir()
- * encounters an error, and must cleanup and exit.
- * It prints a warning message via tst_resm(), and
- * then calls tst_exit().
- */
-#undef FN_NAME
-#define FN_NAME "tst_tmpdir()"
-
-static void
-tmpdir_cleanup()
-{
- /*
- * Print a warning message and call tst_exit() to exit the test.
- */
- tst_resm(TWARN, "%s: No user cleanup function called before exiting",
- FN_NAME);
- tst_exit();
-} /* tmpdir_cleanup() */
-
-
-#ifdef UNIT_TEST
-/****************************************************************************
- * Unit test code: Takes input from stdin and can make the following
- * calls: tst_tmpdir(), tst_rmdir().
- ****************************************************************************/
-int TST_TOTAL = 10;
-char *TCID = "TESTTCID";
-
-main()
-{
- int option;
- char *chrptr;
-
- printf("UNIT TEST of tst_tmpdir.c. Options to try:\n\
- -1 : call tst_exit()\n\
- 0 : call tst_tmpdir()\n\
- 1 : call tst_rmdir()\n\n");
-
- while ( 1 ) {
- printf("Enter options (-1, 0, 1): ");
- (void) scanf("%d%c", &option, &chrptr);
-
- switch ( option ) {
- case -1:
- tst_exit();
- break;
-
- case 0:
- tst_tmpdir();
- break;
-
- case 1:
- tst_rmdir();
- break;
- } /* switch() */
- } /* while() */
-}
-#endif /* UNIT_TEST */
diff --git a/winsup/testsuite/libltp/lib/write_log.c b/winsup/testsuite/libltp/lib/write_log.c
deleted file mode 100644
index 316dfe79b..000000000
--- a/winsup/testsuite/libltp/lib/write_log.c
+++ /dev/null
@@ -1,468 +0,0 @@
-/*
- * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it would be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Further, this software is distributed without any warranty that it is
- * free of the rightful claim of any third person regarding infringement
- * or the like. Any license provided herein, whether implied or
- * otherwise, applies only to this software file. Patent licenses, if
- * any, provided herein do not apply to combinations of this program with
- * other software, or any other product whatsoever.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write the Free Software Foundation, Inc., 59
- * Temple Place - Suite 330, Boston MA 02111-1307, USA.
- *
- * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
- * Mountain View, CA 94043, or:
- *
- * http://www.sgi.com
- *
- * For further information regarding this notice, see:
- *
- * http://oss.sgi.com/projects/GenInfo/NoticeExplan/
- */
-/*
- * This module contains code for logging writes to files, and for
- * perusing the resultant logfile. The main intent of all this is
- * to provide a 'write history' of a file which can be examined to
- * judge the state of a file (ie. whether it is corrupted or not) based
- * on the write activity.
- *
- * The main abstractions available to the user are the wlog_file, and
- * the wlog_rec. A wlog_file is a handle encapsulating a write logfile.
- * It is initialized with the wlog_open() function. This handle is
- * then passed to the various wlog_xxx() functions to provide transparent
- * access to the write logfile.
- *
- * The wlog_rec datatype is a structure which contains all the information
- * about a file write. Examples include the file name, offset, length,
- * pattern, etc. In addition there is a bit which is cleared/set based
- * on whether or not the write has been confirmed as complete. This
- * allows the write logfile to contain information on writes which have
- * been initiated, but not yet completed (as in async io).
- *
- * There is also a function to scan a write logfile in reverse order.
- *
- * NOTE: For target file analysis based on a write logfile, the
- * assumption is made that the file being written to is
- * locked from simultaneous access, so that the order of
- * write completion is predictable. This is an issue when
- * more than 1 process is trying to write data to the same
- * target file simultaneously.
- *
- * The history file created is a collection of variable length records
- * described by scruct wlog_rec_disk in write_log.h. See that module for
- * the layout of the data on disk.
- */
-
-#include <stdio.h>
-#include <unistd.h>
-#include <fcntl.h>
-#include <errno.h>
-#include <string.h>
-#include <sys/param.h>
-#include <sys/stat.h>
-#include <sys/types.h>
-#include "write_log.h"
-
-#ifndef BSIZE
-#ifdef linux
-#define BSIZE DEV_BSIZE
-#else
-#ifdef __CYGWIN__
-#define BSIZE S_BLKSIZE
-#else
-#define BSIZE BBSIZE
-#endif
-#endif
-#endif
-
-#ifndef PATH_MAX
-#define PATH_MAX 255
-/*#define PATH_MAX pathconf("/", _PC_PATH_MAX)*/
-#endif
-
-char Wlog_Error_String[256];
-
-#if __STDC__
-static int wlog_rec_pack(struct wlog_rec *wrec, char *buf, int flag);
-static int wlog_rec_unpack(struct wlog_rec *wrec, char *buf);
-#else
-static int wlog_rec_pack();
-static int wlog_rec_unpack();
-#endif
-
-/*
- * Initialize a write logfile. wfile is a wlog_file structure that has
- * the w_file field filled in. The rest of the information in the
- * structure is initialized by the routine.
- *
- * The trunc flag is used to indicate whether or not the logfile should
- * be truncated if it currently exists. If it is non-zero, the file will
- * be truncated, otherwise it will be appended to.
- *
- * The mode argument is the [absolute] mode which the file will be
- * given if it does not exist. This mode is not affected by your process
- * umask.
- */
-
-int
-wlog_open(wfile, trunc, mode)
-struct wlog_file *wfile;
-int trunc;
-int mode;
-{
- int omask, oflags;
-
- if (trunc)
- trunc = O_TRUNC;
-
- omask = umask(0);
-
- /*
- * Open 1 file descriptor as O_APPEND
- */
-
- oflags = O_WRONLY | O_APPEND | O_CREAT | trunc;
- wfile->w_afd =
- open(wfile->w_file, oflags, mode);
- umask(omask);
-
- if (wfile->w_afd == -1) {
- sprintf(Wlog_Error_String,
- "Could not open write_log - open(%s, %#o, %#o) failed: %s\n",
- wfile->w_file, oflags, mode, strerror(errno));
- return -1;
- }
-
- /*
- * Open the next fd as a random access descriptor
- */
-
- oflags = O_RDWR;
- if ((wfile->w_rfd = open(wfile->w_file, oflags)) == -1) {
- sprintf(Wlog_Error_String,
- "Could not open write log - open(%s, %#o) failed: %s\n",
- wfile->w_file, oflags, strerror(errno));
- close(wfile->w_afd);
- wfile->w_afd = -1;
- return -1;
- }
-
- return 0;
-}
-
-/*
- * Release all resources associated with a wlog_file structure allocated
- * with the wlog_open() call.
- */
-
-int
-wlog_close(wfile)
-struct wlog_file *wfile;
-{
- close(wfile->w_afd);
- close(wfile->w_rfd);
- return 0;
-}
-
-/*
- * Write a wlog_rec structure to a write logfile. Offset is used to
- * control where the record will be written. If offset is < 0, the
- * record will be appended to the end of the logfile. Otherwise, the
- * record which exists at the indicated offset will be overlayed. This
- * is so that we can record writes which are outstanding (with the w_done
- * bit in wrec cleared), but not completed, and then later update the
- * logfile when the write request completes (as with async io). When
- * offset is >= 0, only the fixed length portion of the record is
- * rewritten. See text in write_log.h for details on the format of an
- * on-disk record.
- *
- * The return value of the function is the byte offset in the logfile
- * where the record begins.
- *
- * Note: It is the callers responsibility to make sure that the offset
- * parameter 'points' to a valid record location when a record is to be
- * overlayed. This is guarenteed by saving the return value of a previous
- * call to wlog_record_write() which wrote the record to be overlayed.
- *
- * Note2: The on-disk version of the wlog_rec is MUCH different than
- * the user version. Don't expect to od the logfile and see data formatted
- * as it is in the wlog_rec structure. Considerable data packing takes
- * place before the record is written.
- */
-
-int
-wlog_record_write(wfile, wrec, offset)
-struct wlog_file *wfile;
-struct wlog_rec *wrec;
-long offset;
-{
- int reclen;
- char wbuf[WLOG_REC_MAX_SIZE + 2];
-
- /*
- * If offset is -1, we append the record at the end of file
- *
- * Otherwise, we overlay wrec at the file offset indicated and assume
- * that the caller passed us the correct offset. We do not record the
- * fname in this case.
- */
-
- reclen = wlog_rec_pack(wrec, wbuf, (offset < 0));
-
- if (offset < 0) {
- /*
- * Since we're writing a complete new record, we must also tack
- * its length onto the end so that wlog_scan_backward() will work.
- * Length is asumed to fit into 2 bytes.
- */
-
- wbuf[reclen] = reclen / 256;
- wbuf[reclen+1] = reclen % 256;
- reclen += 2;
-
- write(wfile->w_afd, wbuf, reclen);
- offset = lseek(wfile->w_afd, 0, SEEK_CUR) - reclen;
- } else {
- lseek(wfile->w_rfd, offset, SEEK_SET);
- write(wfile->w_rfd, wbuf, reclen);
- }
-
- return offset;
-}
-
-/*
- * Function to scan a logfile in reverse order. Wfile is a valid
- * wlog_file structure initialized by wlog_open(). nrecs is the number
- * of records to scan (all records are scanned if nrecs is 0). func is
- * a user-supplied function to call for each record found. The function
- * will be passed a single parameter - a wlog_rec structure .
- */
-
-int
-wlog_scan_backward(wfile, nrecs, func, data)
-struct wlog_file *wfile;
-int nrecs;
-int (*func)();
-long data;
-{
- int fd, leftover, nbytes, offset, recnum, reclen, rval;
- char buf[BSIZE*32], *bufend, *cp, *bufstart;
- char albuf[WLOG_REC_MAX_SIZE];
- struct wlog_rec wrec;
-
- fd = wfile->w_rfd;
-
- /*
- * Move to EOF. offset will always hold the current file offset
- */
-
- lseek(fd, 0, SEEK_END);
- offset = lseek(fd, 0, SEEK_CUR);
-
- bufend = buf + sizeof(buf);
- bufstart = buf;
-
- recnum = 0;
- leftover = 0;
- while ((!nrecs || recnum < nrecs) && offset > 0) {
- /*
- * Check for beginning of file - if there aren't enough bytes
- * remaining to fill buf, adjust bufstart.
- */
-
- if (offset + leftover < sizeof(buf)) {
- bufstart = bufend - (offset + leftover);
- offset = 0;
- } else {
- offset -= sizeof(buf) - leftover;
- }
-
- /*
- * Move to the proper file offset, and read into buf
- */
-
- lseek(fd, offset, SEEK_SET);
- nbytes = read(fd, bufstart, bufend - bufstart - leftover);
-
- if (nbytes == -1) {
- sprintf(Wlog_Error_String,
- "Could not read history file at offset %d - read(%d, %#o, %d) failed: %s\n",
- offset, fd, (int)bufstart,
- bufend - bufstart - leftover, strerror(errno));
- return -1;
- }
-
- cp = bufend;
- leftover = 0;
-
- while (cp >= bufstart) {
-
- /*
- * If cp-bufstart is not large enough to hold a piece
- * of record length information, copy remainder to end
- * of buf and continue reading the file.
- */
-
- if (cp - bufstart < 2) {
- leftover = cp - bufstart;
- memcpy(bufend - leftover, bufstart, leftover);
- break;
- }
-
- /*
- * Extract the record length. We must do it this way
- * instead of casting cp to an int because cp might
- * not be word aligned.
- */
-
- reclen = (*(cp-2) * 256) + *(cp -1);
-
- /*
- * If cp-bufstart isn't large enough to hold a
- * complete record, plus the length information, copy
- * the leftover bytes to the end of buf and continue
- * reading.
- */
-
- if (cp - bufstart < reclen + 2) {
- leftover = cp - bufstart;
- memcpy(bufend - leftover, bufstart, leftover);
- break;
- }
-
- /*
- * Adjust cp to point at the start of the record.
- * Copy the record into wbuf so that it is word
- * aligned and pass the record to the user supplied
- * function.
- */
-
- cp -= reclen + 2;
- memcpy(albuf, cp, reclen);
-
- wlog_rec_unpack(&wrec, albuf);
-
- /*
- * Call the user supplied function -
- * stop if instructed to.
- */
-
- if ((rval = (*func)(&wrec, data)) == WLOG_STOP_SCAN) {
- break;
- }
-
- recnum++;
-
- if (nrecs && recnum >= nrecs)
- break;
- }
- }
-
- return 0;
-}
-
-/*
- * The following 2 routines are used to pack and unpack the user
- * visible wlog_rec structure to/from a character buffer which is
- * stored or read from the write logfile. Any changes to either of
- * these routines must be reflected in the other.
- */
-
-static int
-wlog_rec_pack(wrec, buf, flag)
-struct wlog_rec *wrec;
-char *buf;
-int flag;
-{
- char *file, *host, *pattern;
- struct wlog_rec_disk *wrecd;
-
- wrecd = (struct wlog_rec_disk *)buf;
-
- wrecd->w_pid = (uint)wrec->w_pid;
- wrecd->w_offset = (uint)wrec->w_offset;
- wrecd->w_nbytes = (uint)wrec->w_nbytes;
- wrecd->w_oflags = (uint)wrec->w_oflags;
- wrecd->w_done = (uint)wrec->w_done;
- wrecd->w_async = (uint)wrec->w_async;
-
- wrecd->w_pathlen = (wrec->w_pathlen > 0) ? (uint)wrec->w_pathlen : 0;
- wrecd->w_hostlen = (wrec->w_hostlen > 0) ? (uint)wrec->w_hostlen : 0;
- wrecd->w_patternlen = (wrec->w_patternlen > 0) ? (uint)wrec->w_patternlen : 0;
-
- /*
- * If flag is true, we should also pack the variable length parts
- * of the wlog_rec. By default, we only pack the fixed length
- * parts.
- */
-
- if (flag) {
- file = buf + sizeof(struct wlog_rec_disk);
- host = file + wrecd->w_pathlen;
- pattern = host + wrecd->w_hostlen;
-
- if (wrecd->w_pathlen > 0)
- memcpy(file, wrec->w_path, wrecd->w_pathlen);
-
- if (wrecd->w_hostlen > 0)
- memcpy(host, wrec->w_host, wrecd->w_hostlen);
-
- if (wrecd->w_patternlen > 0)
- memcpy(pattern, wrec->w_pattern, wrecd->w_patternlen);
-
- return (sizeof(struct wlog_rec_disk) +
- wrecd->w_pathlen + wrecd->w_hostlen + wrecd->w_patternlen);
- } else {
- return sizeof(struct wlog_rec_disk);
- }
-}
-
-static int
-wlog_rec_unpack(wrec, buf)
-struct wlog_rec *wrec;
-char *buf;
-{
- char *file, *host, *pattern;
- struct wlog_rec_disk *wrecd;
-
- bzero((char *)wrec, sizeof(struct wlog_rec));
- wrecd = (struct wlog_rec_disk *)buf;
-
- wrec->w_pid = wrecd->w_pid;
- wrec->w_offset = wrecd->w_offset;
- wrec->w_nbytes = wrecd->w_nbytes;
- wrec->w_oflags = wrecd->w_oflags;
- wrec->w_hostlen = wrecd->w_hostlen;
- wrec->w_pathlen = wrecd->w_pathlen;
- wrec->w_patternlen = wrecd->w_patternlen;
- wrec->w_done = wrecd->w_done;
- wrec->w_async = wrecd->w_async;
-
- if (wrec->w_pathlen > 0) {
- file = buf + sizeof(struct wlog_rec_disk);
- memcpy(wrec->w_path, file, wrec->w_pathlen);
- }
-
- if (wrec->w_hostlen > 0) {
- host = buf + sizeof(struct wlog_rec_disk) + wrec->w_pathlen;
- memcpy(wrec->w_host, host, wrec->w_hostlen);
- }
-
- if (wrec->w_patternlen > 0) {
- pattern = buf + sizeof(struct wlog_rec_disk) +
- wrec->w_pathlen + wrec->w_hostlen;
- memcpy(wrec->w_pattern, pattern, wrec->w_patternlen);
- }
-
- return 0;
-}
diff --git a/winsup/testsuite/winsup.api/checksignal.c b/winsup/testsuite/winsup.api/checksignal.c
deleted file mode 100644
index edf720c87..000000000
--- a/winsup/testsuite/winsup.api/checksignal.c
+++ /dev/null
@@ -1,76 +0,0 @@
-#include <errno.h>
-#include <signal.h>
-
-#include "test.h"
-#include "usctest.h"
-
-const char *TCID = "checksignal"; /* Test program identifier. */
-int TST_TOTAL = 3; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-
-void
-sig_handler (int signo)
-{
- errno = EINVAL;
-}
-
-int
-main ()
-{
- int n, ret;
- int fds[2];
- char buf[10];
- struct sigaction act;
-
- Tst_count = 0;
-
- if (pipe (fds) < 0)
- tst_brk (TBROK, NULL, NULL, "Create pipe");
-
- /* Reset SA_RESTART flag. */
- while ((ret = sigaction (SIGALRM, NULL, &act)) == EINTR)
- ;
- if (ret)
- tst_brk (TBROK, NULL, NULL, "Get signal action structure");
- act.sa_flags &= ~SA_RESTART;
- while ((ret = sigaction (SIGALRM, &act, NULL)) == EINTR)
- ;
- if (ret)
- tst_brk (TBROK, NULL, NULL, "Reset SA_RESTART");
-
- /* Set signal handler using signal(2) call... */
- if (signal (SIGALRM, sig_handler) < 0)
- tst_brk (TBROK, NULL, NULL, "Call signal() to install signal handler");
- /* ...and check if signal(2) sets SA_RESTART again. */
- while ((ret = sigaction (SIGALRM, NULL, &act)) == EINTR)
- ;
- if (ret)
- tst_brk (TBROK, NULL, NULL, "Get signal action structure");
- tst_resm (act.sa_flags & SA_RESTART ? TPASS : TFAIL,
- "signal() sets SA_RESTART");
-
- /* Reset SA_RESTART flag again. */
- act.sa_handler = sig_handler;
- act.sa_flags &= ~SA_RESTART;
- while ((ret = sigaction (SIGALRM, &act, NULL)) == EINTR)
- ;
- if (ret)
- tst_brk (TBROK, NULL, NULL, "Reset SA_RESTART");
-
- /* Start timer to force a SIGALRM. */
- alarm (1);
-
- /* Call read(2) to check if the EINTR errno is correctly preserved,
- even if the signal handler routine changes errno. */
- n = read(fds[0], buf, 10);
- tst_resm (n < 0 && errno == EINTR ? TPASS : TFAIL,
- "Set EINTR on interrupted read() call");
-
- /* Check if another errno is correctly returned (here EBADF). */
- close (fds[0]);
- n = read(fds[0], buf, 10);
- tst_resm (n < 0 && errno == EBADF ? TPASS : TFAIL,
- "Set EBADF on closed file descriptor");
-
- tst_exit ();
-}
diff --git a/winsup/testsuite/winsup.api/crlf.c b/winsup/testsuite/winsup.api/crlf.c
deleted file mode 100644
index ea79122f0..000000000
--- a/winsup/testsuite/winsup.api/crlf.c
+++ /dev/null
@@ -1,527 +0,0 @@
-typedef enum {
- Nop=100000, /* ; do nothing */
- New1, /* ; reset and begin new test */
- Open, /* ; open test file */
- Read, /* [askfor] [get] ; read bytes into buffer */
- Write, /* [expect] [bytestream] ; write to file (expect 0 = ignore)*/
- Compare, /* [bytestream] ; compare buffer to given bytes */
- Verify, /* [bytestream] ; compare file to given bytes */
- Seek, /* [offset] [whence] ; seek in file */
- Tell, /* [offset] ; compare file positions */
- BufSize, /* [size] ; change the stdio buffer size */
- Flush, /* ; flush the stdio stream */
- Text, /* ; switch file to text mode */
- Binary, /* ; switch file to binary mode */
- Rep, /* [count] ; repeat 'R' bytes (used in bytestream) */
- Fill, /* [posn] ; fill 'F' until given byte position */
- Start, /* ; for Seek */
- Current, /* ; for Seek */
- End, /* ; for Seek, or end of byte stream */
- Max } Opcode;
-
-#define New New1,__LINE__
-
-/* Byte streams are just inserted into the command stream, and must
- end in an End code. */
-
-int commands[] = {
-#ifndef __DJGPP__
- New,
- Write, 1605, Rep, 1600, 'h', 'e', 'l', 'l', 'o', End,
- Tell, 1605,
-
- Open,
- BufSize, 16,
- Read, 1605, 1605,
- Compare, Rep, 1600, 'h', 'e', 'l', 'l', 'o', End,
- Tell, 1605,
- Flush,
- Tell, 1605,
- Seek, 1000, Start,
- Tell, 1000,
-
- New,
- Text,
- Write, 2, 'x', 10, End,
- Verify, 'x', 13, 10, End,
-
- New,
- Binary,
- Write, 2, 'x', 10, End,
- Verify, 'x', 10, End,
-
- BufSize, 16,
-
- New,
- Binary,
- Write, 0, Fill, 15, 13, 10, 'x', End,
- Text, Open,
- Read, 17, 17,
- Compare, Fill, 15, 10, 'x', End,
- Tell, 18,
-
- New,
- Binary,
- Write, 0, Fill, 14, 13, 10, 'x', End,
- Text, Open,
- Read, 16, 16,
- Compare, Fill, 14, 10, 'x', End,
- Tell, 17,
-
- New,
- Binary,
- Write, 0, 13, 10, 'a', 'b', End,
- Text, Open,
- Read, 2, 2,
- Compare, 10, 'a', End,
- Tell, 3,
-
- New,
- Binary,
- Write, 0, 10, 'a', 'b', End,
- Text, Open,
- Read, 2, 2,
- Compare, 10, 'a', End,
- Tell, 2,
-
- New,
- Binary,
- Write, 0, 13, 'a', 'b', End,
- Text, Open,
- Read, 2, 2,
- Compare, 13, 'a', End,
- Tell, 2,
-
- New,
- Binary,
- Write, 0, 13, 13, 10, 'a', End,
- Text, Open,
- Read, 2, 2,
- Compare, 13, 10, End,
- Tell, 3,
-
- New,
- Binary,
- Write, 0, 13, 10, 'a', 13, End,
- Text, Open,
- Read, 2, 2,
- Compare, 10, 'a', End,
- Tell, 3,
-
- New,
- Binary,
- Write, 0, 13, 10, 'a', 10, End,
- Text, Open,
- Read, 2, 2,
- Compare, 10, 'a', End,
- Tell, 3,
-
- New,
- Binary,
- Write, 0, 13, 13, 13, 10, 'a', 10, 10, 10, End,
- Text, Open,
- Read, 4, 4,
- Compare, 13, 13, 10, 'a', End,
- Tell, 5,
-#endif
-
- New,
- Binary,
- Write, 0, 13, 13, 13, 10, 'a', 'b', 13, 10, 13, 10, End,
- Text, Open,
- Read, 4, 4,
- Compare, 13, 13, 10, 'a', End,
- Tell, 5,
-
- };
-
-/*==========================================================================*/
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <stdarg.h>
-#include <unistd.h>
-#include <fcntl.h>
-#include <ctype.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <string.h>
-
-#ifndef O_BINARY
-#define O_BINARY 0
-#endif
-#ifndef O_TEXT
-#define O_TEXT 0
-#endif
-
-int errors = 0;
-
-#define num_commands (int)(sizeof(commands)/sizeof(commands[0]))
-
-int pc;
-int askfor, get, expect, count, posn, whence, size;
-
-typedef struct {
- unsigned char *bytes;
- int max, count;
-} Buffer;
-
-Buffer rw_buf={0,0,0}, cmp_buf={0,0,0}, vfy_buf={0,0,0};
-
-void
-expand_buf(Buffer *buf, int len)
-{
- if (buf->max < len)
- {
- buf->max = len+20;
- if (buf->bytes)
- buf->bytes = (unsigned char *)realloc(buf->bytes, buf->max);
- else
- buf->bytes = (unsigned char *)malloc(buf->max);
- }
-}
-
-void
-get_bytestream(Buffer *buf)
-{
- int tpc;
- int len = 0, rep, byte;
- unsigned char *bp;
-
- for (tpc = pc+1; tpc < num_commands && commands[tpc] != End; tpc++)
- {
- switch (commands[tpc])
- {
- case Rep:
- len += commands[tpc+1];
- tpc ++;
- break;
- case Fill:
- if (len < commands[tpc+1])
- len = commands[tpc+1];
- tpc ++;
- break;
- default:
- len ++;
- break;
- }
- }
-
- expand_buf(buf, len);
-
- len = 0;
- bp = buf->bytes;
-
- for (tpc = pc+1; tpc < num_commands && commands[tpc] != End; tpc++)
- {
- switch (commands[tpc])
- {
- case Rep:
- rep = commands[++tpc];
- byte = 'R';
- while (rep--) *bp++ = byte;
- break;
- case Fill:
- rep = commands[++tpc];
- byte = 'F';
- while (bp-buf->bytes < rep) *bp++ = byte;
- break;
- default:
- *bp++ = commands[tpc];
- break;
- }
- }
- buf->count = bp - buf->bytes;
- pc = tpc;
-}
-
-char dataname[] = "crlf.dat";
-
-int verbose=0;
-void
-v(char *fmt, ...)
-{
- va_list ap;
- if (!verbose) return;
- va_start(ap, fmt);
- vfprintf(stdout, fmt, ap);
- va_end(ap);
- printf("\n");
-}
-
-void
-vp(const char *fmt, ...)
-{
- va_list ap;
- if (!verbose) return;
- printf("%08x: ", pc);
- va_start(ap, fmt);
- vfprintf(stdout, fmt, ap);
- va_end(ap);
- printf("\n");
-}
-
-void
-errorq(int use_errno, const char *fmt, ...)
-{
- va_list ap;
- fprintf(stderr, "crlf: Error at pc=%d: ", pc);
- va_start(ap, fmt);
- vfprintf(stderr, fmt, ap);
- va_end(ap);
- fprintf(stderr, "\n");
- if (use_errno)
- perror("The error was");
- errors++;
-}
-
-void
-error(int use_errno, const char *fmt, ...)
-{
- va_list ap;
- fprintf(stderr, "crlf: Error at pc=%d: ", pc);
- va_start(ap, fmt);
- vfprintf(stderr, fmt, ap);
- va_end(ap);
- fprintf(stderr, "\n");
- if (use_errno)
- perror("The error was");
- fprintf(stderr, "FAIL\n");
- exit(1);
-}
-
-void
-display_buf(const char *which, Buffer *buf, int ofs)
-{
- int i;
- fprintf(stderr, "%s %04x:", which, ofs);
- for (i=0; i<8; i++)
- if (i+ofs < buf->count)
- {
- unsigned char b = buf->bytes[i+ofs];
- fprintf(stderr, " %02x", b);
- if (isgraph(b))
- fprintf(stderr, " %c ", b);
- else
- fprintf(stderr, " . "/*, b*/);
- }
- fprintf(stderr, "\n");
-}
-
-void
-compare_bufs(const char *name, Buffer *actual, Buffer *expected)
-{
- int i, got_one=0;
- for (i=0; i<actual->count && i<expected->count; i++)
- if (actual->bytes[i] != expected->bytes[i])
- {
- errorq(0, "%s: byte mismatch at offset 0x%x", name, i);
- got_one = 1;
- break;
- }
- if (!got_one)
- {
- if (actual->count < expected->count)
- errorq(0, "%s: too few bytes (0x%x vs 0x%x)", name,
- actual->count, expected->count);
- else if (actual->count > expected->count)
- errorq(0, "%s: too many bytes (0x%x vs 0x%x)", name,
- actual->count, expected->count);
- else
- return;
- }
-
- i -= 4;
- if (i<0) i = 0;
- display_buf("Actual ", actual, i);
- display_buf("Expected", expected, i);
-}
-
-int
-main(int argc, char **argv)
-{
- const char *readmode = "rb";
- const char *writemode = "wb";
- FILE *file = 0;
- int i;
- struct stat st;
- const char *str = "";
-
- while (argc > 1 && argv[1][0] == '-')
- {
- if (strcmp(argv[1], "-v") == 0)
- verbose++;
- argc--;
- argv++;
- }
-
- size = 0;
-
- for (pc=0; pc<num_commands; pc++)
- {
- switch (commands[pc])
- {
- case Nop:
- vp("Nop");
- break;
-
- case New1:
- i = commands[++pc];
- vp("New %d", i);
- if (file) fclose(file);
- file = 0;
- remove(dataname);
- break;
-
- case Open:
- vp("Open");
- if (file) fclose(file);
- file = 0;
- break;
-
- case Read:
- if (!file)
- {
- file = fopen(dataname, readmode);
- if (size)
- setvbuf(file, 0, _IOFBF, size);
- }
- if (!file)
- error(1, "cannot open %s, mode %s", dataname, readmode);
- askfor = commands[++pc];
- get = commands[++pc];
- vp("Read %d %d", askfor, get);
- expand_buf(&rw_buf, askfor);
- if (askfor == 1)
- {
- i = getc(file);
- rw_buf.bytes[0] = i;
- i = (i == EOF) ? 0 : 1;
- }
- else
- i = fread(rw_buf.bytes, 1, askfor, file);
- if (i != get)
- error(0, "read wrong number of bytes (%d vs %d)", i, get);
- rw_buf.count = i;
- break;
-
- case Write:
- if (!file)
- {
- file = fopen(dataname, writemode);
- if (size)
- setvbuf(file, 0, _IOFBF, size);
- }
- if (!file)
- error(1, "cannot open %s, mode %s\n", dataname, writemode);
- expect = commands[++pc];
- get_bytestream(&rw_buf);
- vp("Write %d %d", rw_buf.count, expect);
- if (askfor == 1)
- {
- i = putc(rw_buf.bytes[0], file);
- i = (i == EOF) ? 0 : 1;
- }
- else
- i = fwrite(rw_buf.bytes, 1, rw_buf.count, file);
- if (expect && (i != expect))
- error(0, "wrote wrong number of bytes (%d vs %d)", i, expect);
- break;
-
- case Compare:
- get_bytestream(&cmp_buf);
- vp("Compare %d/%d", rw_buf.count, cmp_buf.count);
- compare_bufs("Compare", &rw_buf, &cmp_buf);
- break;
-
- case Verify:
- if (file) fclose(file);
- file = 0;
- get_bytestream(&cmp_buf);
- vp("Verify %s", dataname);
- if (stat(dataname, &st))
- error(1, "Can't stat %s", dataname);
- expand_buf(&vfy_buf, st.st_size);
- i = open(dataname, O_RDONLY|O_BINARY, 0);
- vfy_buf.count = read(i, vfy_buf.bytes, st.st_size);
- close(i);
- compare_bufs("Verify", &vfy_buf, &cmp_buf);
- break;
-
- case Seek:
- posn = commands[++pc];
- whence = commands[++pc];
- switch (whence)
- {
- case Start:
- whence = SEEK_SET;
- str = "Start";
- break;
- case Current:
- whence = SEEK_CUR;
- str = "Current";
- break;
- case End:
- whence = SEEK_END;
- str = "End";
- break;
- }
- vp("Seek 0x%x %s", posn, str);
- i = fseek(file, posn, whence);
- if (i)
- error(1, "fseek failed");
- break;
-
- case Tell:
- posn = commands[++pc];
- vp("Tell 0x%x", posn);
- i = ftell(file);
- if (i != posn)
- error(0, "ftell failed, got 0x%x expected 0x%x", i, posn);
- break;
-
- case BufSize:
- size = commands[++pc];
- vp("BufSize 0x%x", size);
- if (file)
- {
- fflush(file);
- setvbuf(file, 0, _IOFBF, size);
- }
- break;
-
- case Flush:
- vp("Flush");
- if (file)
- fflush(file);
- break;
-
- case Text:
- vp("Text");
- readmode = "rt";
- writemode = "wt";
- break;
-
- case Binary:
- vp("Binary");
- readmode = "rb";
- writemode = "wb";
- break;
-
- default:
- printf("Invalid command code %d at offset %d\n", commands[pc], pc);
- exit(1);
- }
- }
-
- if (file) fclose(file);
-
- if (errors)
- printf("FAIL: %d error%s\n", errors, errors==1?"":"s");
- else
- {
- printf("PASS\n");
- unlink (dataname);
- }
- return errors;
-}
diff --git a/winsup/testsuite/winsup.api/devdsp.c b/winsup/testsuite/winsup.api/devdsp.c
deleted file mode 100644
index d5ed65365..000000000
--- a/winsup/testsuite/winsup.api/devdsp.c
+++ /dev/null
@@ -1,783 +0,0 @@
-/* devdsp.c: Device tests for /dev/dsp
-
- Copyright 2004 Red Hat, Inc
-
- Written by Gerd Spalink (Gerd.Spalink@t-online.de)
-
-This file is part of Cygwin.
-
-This software is a copyrighted work licensed under the terms of the
-Cygwin license. Please consult the file "CYGWIN_LICENSE" for
-details. */
-
-/* Conventions used here:
- We use the libltp framework
- 1. Any unexpected behaviour leads to an exit with nonzero exit status
- 2. Unexpected behaviour from /dev/dsp results in an exit status of TFAIL
- 3. Unexpected behaviour from OS (malloc, fork, waitpid...) result
- in an exit status of TBROK */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <fcntl.h>
-#include <sys/ioctl.h>
-#include <sys/wait.h>
-#include <sys/types.h>
-#include <sys/soundcard.h>
-#include <math.h>
-#include <errno.h>
-#include "test.h" /* use libltp framework */
-
-/* Controls if a child can open the device after the parent */
-#define CHILD_EXPECT 0 /* 0 or 1 */
-
-static const char wavfile_okay[] =
- {
-#include "devdsp_okay.h" /* a sound sample */
- };
-
-/* Globals required by libltp */
-const char *TCID = "devdsp"; /* set test case identifier */
-int TST_TOTAL = 37;
-
-/* Prototypes */
-void sinegen (void *wave, int rate, int bits, int len, int stride);
-void sinegenw (int freq, int samprate, short *value, int len, int stride);
-void sinegenb (int freq, int samprate, unsigned char *value, int len,
- int stride);
-void playtest (int fd, int rate, int stereo, int bits);
-void rectest (int fd, int rate, int stereo, int bits);
-void rwtest (int fd, int rate, int stereo, int bits);
-void setpars (int fd, int rate, int stereo, int bits);
-void forkplaytest (void);
-void forkrectest (void);
-void recordingtest (void);
-void playbacktest (void);
-void monitortest (void);
-void ioctltest (void);
-void abortplaytest (void);
-void playwavtest (void);
-void syncwithchild (pid_t pid, int expected_exit_status);
-void cleanup (void);
-void dup_test (void);
-
-static int expect_child_failure = 0;
-
-/* Sampling rates we want to test */
-static const int rates[] = { 44100, 22050, 8000 };
-
-/* Combinations of stereo/bits we want to test */
-struct sb
-{
- int stereo;
- int bits;
-};
-static const struct sb sblut[] = { {0, 8}, {0, 16}, {1, 8}, {1, 16} };
-
-int
-main (int argc, char *argv[])
-{
- /* tst_brkm(TBROK, cleanup, "see if it breaks all right"); */
- ioctltest ();
- playbacktest ();
- recordingtest ();
- monitortest ();
- forkplaytest ();
- forkrectest ();
- abortplaytest ();
- playwavtest ();
- dup_test ();
- tst_exit ();
- /* NOTREACHED */
- return 0;
-}
-
-/* test some extra ioctls */
-void
-ioctltest (void)
-{
- int audio1;
- int ioctl_par;
- int channels;
-
- tst_resm (TINFO, "Running %s", __FUNCTION__);
- audio1 = open ("/dev/dsp", O_WRONLY);
- if (audio1 < 0)
- {
- tst_brkm (TFAIL, cleanup, "open W: %s", strerror (errno));
- }
- setpars (audio1, 44100, 1, 16);
-
- channels = ioctl_par = 1;
- while (ioctl (audio1, SNDCTL_DSP_CHANNELS, &ioctl_par) == 0)
- {
- channels++;
- ioctl_par = channels;
- }
- if (channels == ioctl_par)
- tst_resm (TFAIL, "Max channels=%d failed", ioctl_par);
- else
- tst_resm (TPASS, "Max channels=%d failed, OK=%d", channels, ioctl_par);
-
- /* Note: block size may depend on parameters */
- if (ioctl (audio1, SNDCTL_DSP_GETBLKSIZE, &ioctl_par) < 0)
- {
- tst_brkm (TFAIL, cleanup, "ioctl GETBLKSIZE: %s", strerror (errno));
- }
- tst_resm (TPASS, "ioctl get buffer size=%d", ioctl_par);
- if (ioctl (audio1, SNDCTL_DSP_GETFMTS, &ioctl_par) < 0)
- {
- tst_brkm (TFAIL, cleanup, "ioctl GETFMTS: %s", strerror (errno));
- }
- tst_resm (TPASS, "ioctl get formats=%08x", ioctl_par);
- if (ioctl (audio1, SNDCTL_DSP_GETCAPS, &ioctl_par) < 0)
- {
- tst_brkm (TFAIL, cleanup, "ioctl GETCAPS: %s", strerror (errno));
- }
- tst_resm (TPASS, "ioctl get caps=%08x", ioctl_par);
- if (close (audio1) < 0)
- {
- tst_brkm (TFAIL, cleanup, "Close audio: %s", strerror (errno));
- }
-}
-
-/* test write / play */
-void
-playbacktest (void)
-{
- int audio1, audio2;
- int rate, k;
-
- tst_resm (TINFO, "Running %s", __FUNCTION__);
- audio1 = open ("/dev/dsp", O_WRONLY);
- if (audio1 < 0)
- {
- tst_brkm (TFAIL, cleanup, "Error open /dev/dsp W: %s",
- strerror (errno));
- }
- audio2 = open ("/dev/dsp", O_WRONLY);
- if (audio2 >= 0)
- {
- tst_brkm (TFAIL, cleanup,
- "Second open /dev/dsp W succeeded, but is expected to fail");
- }
- else if (errno != EBUSY)
- {
- tst_brkm (TFAIL, cleanup, "Expected EBUSY here, exit: %s",
- strerror (errno));
- }
- for (rate = 0; rate < sizeof (rates) / sizeof (int); rate++)
- for (k = 0; k < sizeof (sblut) / sizeof (struct sb); k++)
- {
- playtest (audio1, rates[rate], sblut[k].stereo, sblut[k].bits);
- tst_resm (TPASS, "Play bits=%2d stereo=%d rate=%5d",
- sblut[k].bits, sblut[k].stereo, rates[rate]);
- }
- if (close (audio1) < 0)
- {
- tst_brkm (TFAIL, cleanup, "Close audio: %s", strerror (errno));
- }
-}
-
-/* test read / record */
-void
-recordingtest (void)
-{
- int audio1, audio2;
- int rate, k;
-
- /* test read / record */
- tst_resm (TINFO, "Running %s", __FUNCTION__);
- audio1 = open ("/dev/dsp", O_RDONLY);
- if (audio1 < 0)
- {
- tst_brkm (TFAIL, cleanup, "Error open /dev/dsp R: %s",
- strerror (errno));
- }
- audio2 = open ("/dev/dsp", O_RDONLY);
- if (audio2 >= 0)
- {
- tst_brkm (TFAIL, cleanup,
- "Second open /dev/dsp R succeeded, but is expected to fail");
- }
- else if (errno != EBUSY)
- {
- tst_brkm (TFAIL, cleanup, "Expected EBUSY here, exit: %s",
- strerror (errno));
- }
- for (rate = 0; rate < sizeof (rates) / sizeof (int); rate++)
- for (k = 0; k < sizeof (sblut) / sizeof (struct sb); k++)
- {
- rectest (audio1, rates[rate], sblut[k].stereo, sblut[k].bits);
- tst_resm (TPASS, "Record bits=%2d stereo=%d rate=%5d",
- sblut[k].bits, sblut[k].stereo, rates[rate]);
- }
- if (close (audio1) < 0)
- {
- tst_brkm (TFAIL, cleanup, "Close audio: %s", strerror (errno));
- }
-}
-
-/* simultaneous read/write */
-void
-monitortest (void)
-{
- int fd;
-
- tst_resm (TINFO, "Running %s", __FUNCTION__);
- fd = open ("/dev/dsp", O_RDWR);
- if (fd < 0)
- {
- tst_brkm (TFAIL, cleanup, "open RW: %s", strerror (errno));
- }
- rwtest (fd, 44100, 1, 16);
- tst_resm (TPASS, "Record+Play rate=44100, stereo, 16 bits");
- if (close (fd) < 0)
- {
- tst_brkm (TFAIL, cleanup, "Close audio: %s", strerror (errno));
- }
-}
-
-void
-forkrectest (void)
-{
- int pid;
- int fd;
-
- tst_resm (TINFO, "Running %s", __FUNCTION__);
- fd = open ("/dev/dsp", O_RDONLY);
- if (fd < 0)
- {
- tst_brkm (TFAIL, cleanup, "Error open /dev/dsp R: %s",
- strerror (errno));
- }
- pid = fork ();
- if (pid < 0)
- {
- tst_brkm (TBROK, cleanup, "Fork failed: %s", strerror (errno));
- }
- if (pid)
- {
- tst_resm (TINFO, "forked, child PID=%d", pid);
- syncwithchild (pid, 0);
- tst_resm (TINFO, "parent records..");
- rectest (fd, 22050, 1, 16);
- tst_resm (TINFO, "parent done");
- }
- else
- { /* child */
- tst_resm (TINFO, "child records..");
- rectest (fd, 44100, 1, 16);
- tst_resm (TINFO, "child done");
- fflush (stdout);
- exit (0); /* implicit close */
- }
- tst_resm (TPASS, "child records after fork");
- /* fork again, but now we have done a read before,
- * so the child is expected to fail
- */
- pid = fork ();
- if (pid < 0)
- {
- tst_brkm (TBROK, cleanup, "Fork failed: %s", strerror (errno));
- }
- if (pid)
- {
- tst_resm (TINFO, "forked, child PID=%d", pid);
- syncwithchild (pid, CHILD_EXPECT?TFAIL:0); /* expecting error exit */
- tst_resm (TINFO, "parent records again ..");
- rectest (fd, 22050, 1, 16);
- tst_resm (TINFO, "parent done");
- }
- else
- { /* child */
- expect_child_failure = CHILD_EXPECT;
- tst_resm (TINFO, "child trying to record %s",
- CHILD_EXPECT?"(should fail)..":"");
- rectest (fd, 44100, 1, 16);
- /* NOTREACHED */
- tst_resm (TINFO, "child done");
- fflush (stdout);
- exit (0); /* implicit close */
- }
- if (close (fd) < 0)
- {
- tst_brkm (TFAIL, cleanup, "Close audio: %s", strerror (errno));
- }
- tst_resm (TPASS, "child tries to record while parent is already recording");
-}
-
-void
-forkplaytest (void)
-{
- int pid;
- int fd;
-
- tst_resm (TINFO, "Running %s", __FUNCTION__);
- fd = open ("/dev/dsp", O_WRONLY);
- if (fd < 0)
- {
- tst_brkm (TFAIL, cleanup, "Error open /dev/dsp R: %s",
- strerror (errno));
- }
- pid = fork ();
- if (pid < 0)
- {
- tst_brkm (TBROK, cleanup, "Fork failed: %s", strerror (errno));
- }
- if (pid)
- {
- tst_resm (TINFO, "forked, child PID=%d", pid);
- syncwithchild (pid, 0);
- tst_resm (TINFO, "parent plays..");
- playtest (fd, 22050, 0, 8);
- tst_resm (TINFO, "parent done");
- }
- else
- { /* child */
- tst_resm (TINFO, "child plays..");
- playtest (fd, 44100, 1, 16);
- tst_resm (TINFO, "child done");
- fflush (stdout);
- exit (0); /* implicit close */
- }
- tst_resm (TPASS, "child plays after fork");
- /* fork again, but now we have done a write before,
- * so the child is expected to fail
- */
- pid = fork ();
- if (pid < 0)
- {
- tst_brkm (TBROK, cleanup, "Fork failed");
- }
- if (pid)
- {
- tst_resm (TINFO, "forked, child PID=%d", pid);
- syncwithchild (pid, CHILD_EXPECT?TFAIL:0); /* expected failure */
- tst_resm (TINFO, "parent plays again..");
- playtest (fd, 22050, 0, 8);
- tst_resm (TINFO, "parent done");
- }
- else
- { /* child */
- expect_child_failure = CHILD_EXPECT;
- tst_resm (TINFO, "child trying to play %s",
- CHILD_EXPECT?"(should fail)..":"");
- playtest (fd, 44100, 1, 16);
- /* NOTREACHED */
- tst_resm (TINFO, "child done");
- fflush (stdout);
- exit (0); /* implicit close */
- }
- if (close (fd) < 0)
- {
- tst_brkm (TFAIL, cleanup, "Close audio: %s", strerror (errno));
- }
- tst_resm (TPASS, "child tries to play while parent is already playing");
-}
-
-void
-playtest (int fd, int rate, int stereo, int bits)
-{ /* Play sine waves, always 0.25 sec */
- void *wave;
- int n, c, b;
- int size;
- if (stereo)
- c = 2;
- else
- c = 1;
- if (bits == 8)
- b = 1;
- else
- b = 2;
- size = rate / 4 * c * b;
-
- wave = malloc (size);
- if (wave == NULL)
- {
- tst_brkm (TBROK, cleanup, "Malloc failed, exit");
- }
- setpars (fd, rate, stereo, bits);
- sinegen (wave, rate, bits, rate / 4, c);
-
- if ((n = write (fd, wave, size)) < 0)
- {
- tst_brkm (TFAIL, cleanup, "write: %s", strerror (errno));
- }
- if (n != size)
- {
- tst_brkm (TFAIL, cleanup, "Wrote %d, expected %d; exit", n, size);
- }
- free (wave);
-}
-
-void
-rectest (int fd, int rate, int stereo, int bits)
-{
- void *wave;
- int n, c, b;
- int size;
- if (stereo)
- c = 2;
- else
- c = 1;
- if (bits == 8)
- b = 1;
- else
- b = 2;
- size = rate / 4 * c * b;
-
- wave = malloc (size);
- if (wave == NULL)
- {
- tst_brkm (TBROK, cleanup, "Malloc failed, exit");
- }
- setpars (fd, rate, stereo, bits);
- if ((n = read (fd, wave, size)) < 0)
- {
- tst_brkm (TFAIL, cleanup, "read: %s", strerror (errno));
- }
- if (n != size)
- {
- tst_brkm (TFAIL, cleanup, "Read n=%d (%d expected); exit", n, size);
- }
- if ((n = read (fd, wave, size)) < 0)
- {
- tst_brkm (TFAIL, cleanup, "read: %s", strerror (errno));
- }
- if (n != size)
- {
- tst_brkm (TFAIL, cleanup, "Read n=%d (%d expected); exit", n, size);
- }
- free (wave);
-}
-
-void
-rwtest (int fd, int rate, int stereo, int bits)
-{
- int pid;
- void *wave;
- int n, c, b;
- int size;
- if (stereo)
- c = 2;
- else
- c = 1;
- if (bits == 8)
- b = 1;
- else
- b = 2;
- size = rate / 4 * c * b;
-
- wave = malloc (size);
- if (wave == NULL)
- {
- tst_brkm (TBROK, cleanup, "Malloc failed, exit");
- }
- setpars (fd, rate, stereo, bits);
- pid = fork ();
- if (pid < 0)
- {
- tst_brkm (TBROK, cleanup, "Fork failed: %s", strerror (errno));
- }
- if (pid)
- {
- tst_resm (TINFO, "forked, child PID=%d parent records", pid);
- if ((n = read (fd, wave, size)) < 0)
- {
- tst_brkm (TFAIL, cleanup, "read: %s", strerror (errno));
- }
- if (n != size)
- {
- tst_brkm (TFAIL, cleanup, "Read n=%d (%d expected)", n, size);
- }
- free (wave);
- syncwithchild (pid, 0);
- }
- else
- { /* child */
- tst_resm (TINFO, "child plays");
- sinegen (wave, rate, bits, rate / 4, c);
- if ((n = write (fd, wave, size)) < 0)
- {
- tst_brkm (TFAIL, cleanup, "child write: %s", strerror (errno));
- }
- if (n != size)
- {
- tst_brkm (TFAIL, cleanup, "child write n=%d OK (%d expected)", n,
- size);
- }
- free (wave);
- exit (0);
- }
-}
-
-void
-setpars (int fd, int rate, int stereo, int bits)
-{
- int ioctl_par = 0;
-
- if (ioctl (fd, SNDCTL_DSP_SAMPLESIZE, &bits) < 0)
- {
- if (expect_child_failure)
- { /* Note: Don't print this to stderr because we expect failures here
- * for the some cases after fork()
- */
- tst_resm (TINFO, "ioctl SNDCTL_DSP_SAMPLESIZE: %s",
- strerror (errno));
- exit (TFAIL);
- }
- else
- {
- tst_brkm (TFAIL, cleanup, "ioctl SNDCTL_DSP_SAMPLESIZE: %s",
- strerror (errno));
- }
- }
- if (ioctl (fd, SNDCTL_DSP_STEREO, &stereo) < 0)
- {
- tst_brkm (TFAIL, cleanup, "ioctl SNDCTL_DSP_STEREO: %s",
- strerror (errno));
- }
- if (ioctl (fd, SNDCTL_DSP_SPEED, &rate) < 0)
- {
- tst_brkm (TFAIL, cleanup, "ioctl SNDCTL_DSP_SPEED: %s",
- strerror (errno));
- }
- if (ioctl (fd, SNDCTL_DSP_SYNC, &ioctl_par) < 0)
- {
- tst_brkm (TFAIL, cleanup, "ioctl SNDCTL_DSP_SYNC: %s",
- strerror (errno));
- }
-}
-
-void
-syncwithchild (pid_t pid, int expected_exit_status)
-{
- int status;
-
- if (waitpid (pid, &status, 0) != pid)
- {
- tst_brkm (TBROK, cleanup, "Wait for child: %s", strerror (errno));
- }
- if (!WIFEXITED (status))
- {
- tst_brkm (TBROK, cleanup, "Child had abnormal exit");
- }
- if (WEXITSTATUS (status) != expected_exit_status)
- {
- tst_brkm (TFAIL, cleanup, "Child had exit status %d != %d",
- WEXITSTATUS (status), expected_exit_status);
- }
-}
-
-void
-sinegen (void *wave, int rate, int bits, int len, int stride)
-{
- if (bits == 8)
- {
- sinegenb (1000, rate, (unsigned char *) wave, len, stride);
- if (stride == 2)
- sinegenb (800, rate, (unsigned char *) wave + 1, len, stride);
- }
- else
- {
- sinegenw (1000, rate, (short *) wave, len, stride);
- if (stride == 2)
- sinegenw (800, rate, (short *) wave + 1, len, stride);
- }
-}
-
-void
-sinegenw (int freq, int samprate, short *value, int len, int stride)
-{
- double phase, incr;
-
- phase = 0.0;
- incr = M_PI * 2.0 * (double) freq / (double) samprate;
- while (len-- > 0)
- {
- *value = (short) floor (0.5 + 6553 * sin (phase));
- value += stride;
- phase += incr;
- }
-}
-
-void
-sinegenb (int freq, int samprate, unsigned char *value, int len, int stride)
-{
- double phase, incr;
-
- phase = 0.0;
- incr = M_PI * 2.0 * (double) freq / (double) samprate;
- while (len-- > 0)
- {
- *value = (unsigned char) floor (128.5 + 26 * sin (phase));
- value += stride;
- phase += incr;
- }
-}
-
-void
-abortplaytest (void)
-{
- int audio;
- int size = sizeof (wavfile_okay);
- int n;
- int ioctl_par = 0;
-
- tst_resm (TINFO, "Running %s", __FUNCTION__);
- audio = open ("/dev/dsp", O_WRONLY);
- if (audio < 0)
- {
- tst_brkm (TFAIL, cleanup, "Error open /dev/dsp W: %s",
- strerror (errno));
- }
- if ((n = write (audio, wavfile_okay, size)) < 0)
- {
- tst_brkm (TFAIL, cleanup, "write: %s", strerror (errno));
- }
- if (n != size)
- {
- tst_brkm (TFAIL, cleanup, "Wrote %d, expected %d; exit", n, size);
- }
- if (ioctl (audio, SNDCTL_DSP_RESET, &ioctl_par) < 0)
- {
- tst_brkm (TFAIL, cleanup, "ioctl DSP_RESET: %s", strerror (errno));
- }
- if (close (audio) < 0)
- {
- tst_brkm (TFAIL, cleanup, "Close audio: %s", strerror (errno));
- }
- tst_resm (TPASS, "Playwav + ioctl DSP_RESET=%d", ioctl_par);
-}
-
-void
-playwavtest (void)
-{
- int audio;
- int size = sizeof (wavfile_okay);
- int n;
-
- tst_resm (TINFO, "Running %s", __FUNCTION__);
- audio = open ("/dev/dsp", O_WRONLY);
- if (audio < 0)
- {
- tst_brkm (TFAIL, cleanup, "Error open /dev/dsp W: %s",
- strerror (errno));
- }
- if ((n = write (audio, wavfile_okay, size)) < 0)
- {
- tst_brkm (TFAIL, cleanup, "write: %s", strerror (errno));
- }
- if (n != size)
- {
- tst_brkm (TFAIL, cleanup, "Wrote %d, expected %d; exit", n, size);
- }
- if (close (audio) < 0)
- {
- tst_brkm (TFAIL, cleanup, "Close audio: %s", strerror (errno));
- }
- tst_resm (TPASS, "Set parameters from wave file header");
-}
-
-void dup_test (void)
-{
- int audio, fd, n;
- int bits1, bits2;
- int size = sizeof (wavfile_okay);
- int header = 44;
- const char *okay = wavfile_okay + header;
-
- tst_resm (TINFO, "Running %s", __FUNCTION__);
- audio = open ("/dev/dsp", O_WRONLY);
- if (audio < 0)
- {
- tst_brkm (TFAIL, cleanup, "Error open /dev/dsp W: %s",
- strerror (errno));
- }
- /* write header once to set parameters correctly */
- n = write (audio, wavfile_okay, header);
- if (n != header)
- {
- tst_brkm (TFAIL, cleanup, "Wrote %d, expected %d; exit", n, header);
- }
- size = size - header;
- /* dup / close */
- for (fd = audio+1; fd <= audio+5; fd++)
- if (dup2 (fd-1, fd) != -1)
- {
- if (fd-2 >= audio)
- if (close (fd-2) < 0)
- {
- tst_brkm (TFAIL, cleanup, "Close audio: %s", strerror (errno));
- }
- if ((n = write (fd, okay, size)) < 0)
- {
- tst_brkm (TFAIL, cleanup, "write: %s", strerror (errno));
- }
- if (n != size)
- {
- tst_brkm (TFAIL, cleanup, "Wrote %d, expected %d; exit", n, size);
- }
- }
- else
- tst_brkm (TFAIL, cleanup, "dup: %s", strerror (errno));
-
- for (fd = audio+4; fd <= audio+5; fd++)
- if (close (fd) < 0)
- {
- tst_brkm (TFAIL, cleanup, "Close audio: %s", strerror (errno));
- }
- tst_resm (TPASS, "Write to duped fd");
-
- audio = open ("/dev/dsp", O_WRONLY);
- if (audio < 0)
- {
- tst_brkm (TFAIL, cleanup, "Error open /dev/dsp W: %s",
- strerror (errno));
- }
- fd = audio + 1;
- if (dup2 (audio, fd) == -1)
- {
- tst_brkm (TFAIL, cleanup, "dup: %s", strerror (errno));
- }
- bits1 = AFMT_U8;
- if (ioctl (audio, SNDCTL_DSP_SAMPLESIZE, &bits1) < 0)
- {
- tst_brkm (TFAIL, cleanup, "ioctl: %s", strerror (errno));
- }
- bits1 = AFMT_S16_LE;
- if (ioctl (fd, SNDCTL_DSP_SAMPLESIZE, &bits1) < 0)
- {
- tst_brkm (TFAIL, cleanup, "ioctl: %s", strerror (errno));
- }
- bits1 = AFMT_QUERY;
- if (ioctl (audio, SNDCTL_DSP_SAMPLESIZE, &bits1) < 0)
- {
- tst_brkm (TFAIL, cleanup, "ioctl: %s", strerror (errno));
- }
- bits2 = AFMT_QUERY;
- if (ioctl (fd, SNDCTL_DSP_SAMPLESIZE, &bits2) < 0)
- {
- tst_brkm (TFAIL, cleanup, "ioctl: %s", strerror (errno));
- }
- if (bits1 != AFMT_S16_LE || bits2 != AFMT_S16_LE)
- {
- tst_brkm (TFAIL, cleanup, "Inconsistent state of duped fd: %d %d %d",
- AFMT_S16_LE,bits1,bits2);
- }
- if (close (audio) < 0)
- {
- tst_brkm (TFAIL, cleanup, "Close audio: %s", strerror (errno));
- }
- if (close (fd) < 0)
- {
- tst_brkm (TFAIL, cleanup, "Close audio: %s", strerror (errno));
- }
- tst_resm (TPASS, "Parameter change to duped fd");
-}
-void
-cleanup (void)
-{
-}
diff --git a/winsup/testsuite/winsup.api/devdsp_okay.h b/winsup/testsuite/winsup.api/devdsp_okay.h
deleted file mode 100644
index 0fefa635c..000000000
--- a/winsup/testsuite/winsup.api/devdsp_okay.h
+++ /dev/null
@@ -1,531 +0,0 @@
-/* This is the decimal representation of a wave file.
- It contains the spoken word "okay" sampled at 11025 Hz
- and 8 bit resolution. */
- 82, 73, 70, 70, 108, 30, 0, 0, 87, 65, 86, 69, 102, 109, 116, 32, 16, 0, 0,
- 0, 1, 0, 1, 0, 17, 43, 0, 0, 17, 43, 0, 0, 1, 0, 8, 0, 100, 97, 116, 97,
- 72, 30, 0, 0, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 117, 116,
- 116, 116, 116, 116, 116, 116, 116, 116, 116, 117, 116, 116, 116, 116, 116,
- 116, 116, 116, 116, 117, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116,
- 117, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 117, 116, 116, 116,
- 116, 116, 116, 116, 116, 116, 117, 116, 116, 116, 115, 114, 114, 115, 115,
- 115, 117, 117, 117, 116, 115, 115, 115, 115, 116, 116, 116, 118, 116, 115,
- 115, 115, 115, 115, 116, 116, 116, 117, 116, 116, 115, 116, 116, 116, 116,
- 117, 116, 116, 117, 116, 115, 116, 116, 116, 117, 117, 117, 116, 116, 117,
- 116, 116, 116, 117, 117, 117, 117, 116, 116, 116, 118, 117, 117, 117, 117,
- 116, 116, 116, 116, 116, 116, 117, 117, 117, 117, 116, 116, 116, 116, 116,
- 116, 116, 117, 116, 116, 116, 115, 116, 116, 116, 116, 116, 117, 116, 116,
- 116, 116, 116, 116, 116, 116, 116, 116, 117, 115, 115, 116, 116, 116, 116,
- 116, 116, 116, 116, 117, 116, 116, 116, 116, 116, 116, 116, 116, 116, 117,
- 116, 117, 117, 117, 117, 117, 117, 117, 117, 117, 118, 119, 118, 118, 118,
- 118, 119, 119, 119, 119, 119, 120, 120, 120, 120, 121, 120, 120, 120, 120,
- 121, 121, 120, 119, 118, 116, 115, 114, 115, 114, 113, 112, 112, 111, 112,
- 113, 114, 116, 116, 117, 117, 117, 116, 115, 115, 115, 115, 116, 115, 115,
- 114, 114, 114, 114, 114, 114, 114, 116, 115, 115, 115, 114, 114, 113, 113,
- 114, 115, 115, 116, 116, 116, 116, 116, 116, 116, 116, 117, 116, 116, 116,
- 115, 115, 115, 115, 116, 116, 116, 118, 117, 117, 117, 117, 117, 118, 118,
- 119, 119, 119, 120, 120, 120, 120, 120, 120, 121, 121, 121, 120, 119, 118,
- 117, 117, 117, 116, 117, 116, 116, 115, 115, 115, 115, 115, 116, 116, 117,
- 116, 116, 116, 116, 116, 116, 116, 115, 115, 115, 114, 113, 113, 113, 113,
- 113, 113, 113, 115, 114, 113, 113, 113, 113, 114, 114, 114, 115, 114, 114,
- 114, 114, 114, 114, 114, 115, 116, 115, 115, 115, 115, 114, 114, 115, 115,
- 115, 117, 116, 116, 116, 116, 116, 116, 117, 117, 118, 118, 119, 118, 118,
- 118, 118, 119, 120, 120, 121, 121, 122, 122, 123, 124, 125, 126, 127, 126,
- 126, 126, 126, 127, -127, 124, 114, 102, 94, 89, 94, 102, 109, 115, 120,
- 124, 123, 122, 121, 117, 116, 121, 124, 125, 124, 120, 114, 109, 107, 105,
- 104, 108, 111, 115, 118, 120, 118, 116, 114, 114, 116, 117, 119, 120, 119,
- 118, 116, 113, 112, 111, 113, 117, 120, 122, 122, 121, 118, 115, 114, 113,
- 112, 113, 114, 113, 114, 114, 112, 111, 110, 110, 113, 116, 118, 119, 120,
- 119, 116, 115, 114, 112, 111, 114, 114, 115, 115, 113, 110, 109, 110, 113,
- 115, 118, 120, 120, 119, 119, 116, 114, 112, 112, 113, 114, 115, 115, 114,
- 115, 114, 114, 115, 117, 117, 118, 119, 119, 118, 117, 116, 115, 115, 116,
- 116, 118, 119, 119, 119, 118, 118, 118, 119, 120, 121, 122, 123, 123, 123,
- 122, 122, 124, 122, 121, 119, 118, 117, 115, 115, 115, 115, 116, 117, 118,
- 118, 119, 117, 112, 110, 110, 110, 111, 117, 118, 118, 118, 119, 118, 116,
- 115, 114, 114, 116, 118, 118, 116, 116, 115, 113, 112, 113, 113, 114, 117,
- 117, 117, 117, 115, 113, 112, 111, 108, 108, 110, 111, 113, 115, 116, 115,
- 115, 116, 116, 114, 115, 115, 114, 115, 114, 112, 111, 113, 112, 113, 115,
- 116, 117, 118, 118, 117, 116, 117, 115, 115, 116, 117, 117, 118, 118, 119,
- 119, 119, 120, 122, 122, 124, 125, 126, -128, -127, -126, -124, -121,
- -117, -112, -113, -123, 121, 108, 91, 75, 75, 84, 91, 103, 119, 127, -128,
- -126, -127, 124, 120, 122, 121, 123, 127, 126, 120, 114, 110, 104, 99,
- 101, 104, 107, 114, 120, 123, 123, 122, 119, 116, 116, 117, 116, 117, 118,
- 117, 115, 113, 111, 110, 111, 113, 116, 120, 123, 124, 123, 121, 118, 115,
- 113, 112, 112, 112, 114, 113, 112, 110, 107, 107, 107, 110, 112, 116, 119,
- 120, 119, 118, 115, 113, 110, 110, 111, 112, 113, 114, 114, 116, 115, 114,
- 115, 116, 117, 118, 119, 119, 118, 117, 116, 115, 113, 114, 114, 115, 117,
- 119, 119, 120, 120, 120, 121, 122, 123, 123, 125, 127, -128, -127, -126,
- -126, -124, -121, -120, -119, -123, 124, 113, 101, 90, 81, 81, 87, 96,
- 108, 121, 127, -127, -125, -125, 126, 122, 121, 120, 120, 122, 121, 118,
- 114, 110, 106, 103, 102, 104, 106, 112, 117, 120, 122, 123, 122, 119, 117,
- 117, 116, 115, 116, 116, 115, 115, 114, 113, 113, 113, 115, 117, 119, 120,
- 120, 120, 118, 114, 112, 110, 108, 108, 108, 109, 110, 112, 111, 112, 112,
- 112, 112, 112, 114, 117, 117, 118, 117, 115, 113, 112, 111, 111, 113, 114,
- 116, 118, 119, 119, 118, 118, 118, 117, 117, 117, 118, 117, 118, 118, 118,
- 119, 119, 120, 121, 122, 124, 126, 127, -128, -127, -124, -122, -120,
- -117, -115, -117, -125, 119, 102, 85, 77, 76, 83, 91, 103, 115, 124, -125,
- -122, -126, 124, 121, 119, 119, 121, 122, 121, 118, 117, 114, 109, 106,
- 103, 102, 107, 112, 117, 119, 122, 122, 120, 119, 117, 114, 112, 114, 114,
- 115, 116, 115, 114, 114, 114, 114, 116, 116, 118, 119, 120, 121, 119, 116,
- 113, 109, 108, 107, 107, 109, 111, 112, 113, 114, 115, 113, 112, 112, 112,
- 113, 114, 115, 116, 115, 114, 113, 113, 113, 113, 113, 114, 117, 117, 118,
- 118, 117, 117, 117, 116, 116, 117, 117, 118, 119, 118, 118, 118, 118, 119,
- 120, 121, 122, 124, 126, -128, -127, -125, -124, -123, -120, -117, -114,
- -115, -123, 119, 102, 84, 76, 76, 80, 90, 102, 115, 125, -124, -120, -125,
- 124, 121, 119, 119, 120, 121, 121, 120, 119, 117, 110, 105, 101, 101, 104,
- 110, 114, 118, 121, 123, 122, 120, 118, 115, 113, 114, 116, 116, 117, 117,
- 115, 115, 114, 114, 113, 114, 117, 118, 120, 120, 119, 117, 114, 111, 109,
- 107, 107, 107, 109, 112, 115, 115, 115, 115, 115, 114, 113, 113, 113, 113,
- 114, 114, 114, 114, 113, 113, 113, 114, 116, 117, 118, 119, 119, 120, 118,
- 118, 117, 116, 117, 117, 118, 118, 118, 119, 119, 120, 121, 121, 121, 123,
- 124, 125, 126, -128, -127, -124, -121, -118, -116, -112, -114, -123, 118,
- 99, 81, 75, 77, 82, 92, 104, 114, 125, -123, -122, -128, 123, 120, 118,
- 119, 121, 121, 120, 121, 121, 117, 112, 107, 102, 102, 105, 110, 114, 118,
- 121, 124, 123, 121, 118, 114, 113, 113, 113, 115, 116, 116, 117, 117, 116,
- 115, 115, 115, 115, 116, 118, 119, 118, 118, 115, 112, 110, 107, 106, 107,
- 110, 112, 115, 117, 118, 117, 117, 115, 113, 112, 112, 111, 112, 113, 113,
- 113, 114, 114, 116, 115, 116, 117, 118, 119, 119, 118, 118, 117, 116, 115,
- 116, 116, 117, 118, 119, 121, 120, 120, 121, 121, 121, 121, 121, 122, 123,
- 125, 125, 126, -127, -124, -122, -119, -117, -115, -117, -123, 120, 102,
- 88, 81, 80, 85, 92, 100, 110, 120, -127, -125, 127, 123, 121, 120, 121,
- 122, 121, 121, 123, 122, 119, 114, 109, 104, 103, 104, 107, 110, 114, 117,
- 119, 121, 121, 119, 117, 114, 114, 114, 116, 117, 117, 117, 118, 118, 117,
- 115, 113, 113, 113, 115, 116, 117, 116, 114, 113, 110, 109, 109, 110, 111,
- 113, 116, 117, 117, 116, 115, 112, 111, 110, 109, 112, 113, 115, 117, 118,
- 117, 117, 116, 115, 114, 115, 115, 116, 118, 119, 120, 120, 120, 118, 117,
- 116, 116, 116, 118, 118, 120, 121, 122, 122, 122, 120, 120, 120, 121, 123,
- 125, 127, -126, -123, -121, -120, -119, -118, -120, -128, 115, 101, 91,
- 87, 86, 89, 94, 100, 109, 117, 123, 125, 123, 121, 119, 119, 120, 121,
- 120, 121, 122, 122, 121, 117, 112, 107, 105, 106, 106, 108, 111, 113, 117,
- 119, 119, 118, 117, 114, 113, 114, 115, 116, 117, 118, 119, 120, 118, 117,
- 114, 112, 112, 113, 113, 114, 114, 114, 114, 112, 111, 110, 110, 110, 111,
- 113, 114, 115, 115, 115, 113, 112, 111, 110, 111, 111, 113, 115, 116, 117,
- 117, 117, 116, 115, 115, 113, 114, 115, 116, 118, 119, 120, 120, 119, 118,
- 118, 117, 116, 117, 118, 119, 120, 121, 121, 121, 121, 121, 121, 121, 122,
- 123, 125, 127, -128, -126, -124, -122, -120, -120, -126, 119, 108, 101,
- 93, 91, 93, 93, 97, 105, 112, 117, 120, 120, 118, 117, 118, 118, 117, 118,
- 120, 122, 123, 123, 121, 116, 114, 110, 108, 107, 107, 108, 110, 114, 116,
- 117, 117, 116, 115, 114, 114, 114, 115, 117, 117, 119, 120, 120, 119, 118,
- 116, 115, 114, 113, 113, 112, 112, 112, 111, 111, 111, 111, 112, 112, 113,
- 113, 115, 116, 116, 116, 115, 115, 113, 113, 113, 113, 114, 115, 116, 117,
- 117, 117, 116, 116, 115, 116, 116, 116, 117, 118, 119, 120, 120, 120, 119,
- 119, 118, 118, 117, 117, 118, 119, 119, 120, 121, 121, 122, 123, 121, 121,
- 121, 122, 123, 125, 127, -127, -126, -125, -124, -127, 122, 115, 109, 103,
- 100, 101, 100, 102, 105, 109, 114, 115, 115, 115, 113, 113, 114, 114, 115,
- 117, 120, 121, 122, 123, 121, 118, 116, 113, 112, 111, 111, 111, 112, 114,
- 115, 116, 116, 115, 114, 113, 114, 113, 113, 114, 115, 117, 120, 121, 121,
- 120, 119, 118, 117, 115, 113, 113, 113, 113, 114, 114, 113, 113, 111, 111,
- 111, 111, 112, 112, 114, 116, 116, 117, 116, 116, 115, 115, 114, 114, 114,
- 116, 116, 117, 118, 118, 118, 118, 117, 117, 116, 116, 116, 118, 118, 119,
- 119, 118, 118, 118, 117, 117, 117, 117, 117, 119, 119, 119, 120, 120, 120,
- 120, 120, 119, 119, 119, 119, 120, 120, 120, 121, 120, 120, 120, 120, 120,
- 120, 119, 118, 117, 115, 114, 113, 113, 112, 112, 112, 112, 113, 113, 113,
- 114, 113, 113, 113, 113, 113, 114, 115, 116, 118, 117, 117, 117, 116, 116,
- 116, 115, 115, 115, 115, 116, 115, 115, 115, 115, 115, 115, 115, 115, 115,
- 117, 116, 117, 117, 117, 117, 117, 117, 117, 116, 116, 117, 116, 115, 115,
- 115, 115, 115, 115, 115, 114, 115, 114, 114, 114, 114, 114, 115, 115, 116,
- 117, 116, 116, 116, 116, 116, 116, 116, 116, 117, 117, 118, 117, 117, 117,
- 116, 116, 116, 116, 116, 117, 117, 118, 118, 117, 117, 117, 117, 117, 117,
- 117, 117, 117, 117, 118, 117, 117, 117, 116, 116, 116, 116, 116, 117, 117,
- 118, 117, 117, 117, 117, 116, 117, 117, 117, 117, 117, 117, 118, 117, 117,
- 116, 116, 116, 116, 116, 116, 116, 116, 117, 116, 116, 116, 116, 115, 115,
- 115, 115, 115, 116, 114, 114, 115, 115, 115, 115, 116, 116, 116, 117, 116,
- 116, 116, 116, 116, 116, 116, 116, 116, 116, 117, 116, 116, 116, 116, 116,
- 116, 116, 116, 116, 117, 116, 116, 116, 116, 116, 116, 116, 117, 117, 117,
- 118, 117, 117, 117, 117, 117, 117, 117, 117, 116, 116, 116, 117, 115, 115,
- 116, 116, 116, 117, 117, 117, 117, 117, 118, 117, 117, 117, 117, 117, 117,
- 117, 117, 117, 117, 117, 116, 116, 116, 116, 116, 116, 116, 117, 117, 116,
- 117, 116, 116, 116, 117, 117, 117, 117, 117, 117, 117, 118, 117, 117, 116,
- 116, 116, 116, 116, 116, 116, 116, 117, 116, 116, 116, 116, 116, 117, 117,
- 116, 116, 116, 117, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 117,
- 116, 116, 116, 116, 116, 116, 116, 116, 116, 117, 116, 116, 116, 116, 116,
- 116, 116, 116, 116, 116, 117, 116, 116, 116, 116, 116, 116, 116, 116, 116,
- 116, 118, 117, 117, 117, 116, 116, 116, 116, 116, 115, 116, 116, 116, 116,
- 116, 116, 116, 116, 116, 116, 116, 117, 116, 116, 116, 116, 116, 116, 116,
- 116, 116, 116, 117, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 115,
- 115, 115, 116, 116, 117, 117, 117, 117, 117, 118, 116, 116, 116, 116, 116,
- 116, 116, 116, 116, 116, 117, 116, 116, 116, 116, 116, 116, 116, 117, 117,
- 117, 117, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 117, 116, 116,
- 116, 116, 116, 116, 116, 116, 116, 117, 116, 116, 116, 116, 116, 116, 116,
- 116, 116, 116, 117, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 117,
- 116, 117, 117, 116, 116, 116, 116, 116, 115, 116, 116, 116, 116, 116, 116,
- 116, 116, 116, 116, 116, 117, 116, 116, 116, 116, 116, 116, 116, 116, 116,
- 116, 117, 116, 116, 116, 116, 117, 116, 116, 116, 116, 116, 115, 115, 116,
- 116, 116, 116, 116, 116, 116, 116, 117, 116, 116, 116, 116, 116, 116, 116,
- 116, 116, 117, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 117, 116,
- 116, 116, 116, 116, 116, 116, 116, 116, 116, 117, 116, 116, 116, 116, 116,
- 116, 116, 116, 116, 117, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116,
- 117, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 117, 117, 117, 117,
- 116, 116, 116, 116, 116, 116, 116, 117, 116, 116, 116, 116, 116, 116, 116,
- 116, 116, 117, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 117, 116,
- 116, 117, 116, 116, 116, 116, 116, 116, 116, 117, 116, 116, 116, 116, 116,
- 116, 116, 116, 116, 117, 116, 117, 116, 117, 117, 117, 117, 117, 116, 116,
- 116, 117, 116, 116, 116, 116, 116, 116, 116, 116, 116, 117, 116, 116, 116,
- 116, 116, 116, 117, 116, 116, 117, 117, 116, 116, 116, 117, 116, 116, 116,
- 116, 116, 116, 117, 117, 117, 116, 116, 116, 116, 116, 116, 116, 116, 117,
- 116, 116, 116, 116, 116, 117, 117, 116, 116, 117, 118, 117, 117, 117, 117,
- 116, 116, 116, 116, 116, 116, 117, 116, 116, 116, 116, 116, 116, 117, 117,
- 117, 116, 117, 116, 116, 116, 116, 116, 116, 116, 116, 116, 117, 116, 116,
- 116, 116, 116, 116, 116, 116, 116, 116, 117, 116, 116, 116, 116, 116, 116,
- 116, 116, 116, 116, 117, 116, 116, 116, 116, 116, 116, 116, 116, 116, 117,
- 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 117, 116, 116, 116, 116,
- 116, 116, 116, 116, 116, 116, 117, 116, 116, 116, 116, 116, 116, 116, 116,
- 116, 117, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 117, 116, 116,
- 116, 116, 116, 116, 116, 116, 116, 116, 117, 116, 116, 116, 116, 116, 116,
- 116, 116, 116, 117, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 117,
- 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 117, 116, 116, 116, 116,
- 116, 116, 116, 116, 116, 117, 116, 116, 116, 116, 116, 116, 116, 116, 116,
- 116, 117, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 117, 116, 116,
- 116, 116, 116, 116, 116, 116, 116, 117, 116, 116, 116, 116, 116, 116, 116,
- 116, 116, 116, 117, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 117,
- 116, 116, 116, 116, 116, 116, 116, 116, 116, 117, 116, 116, 116, 116, 116,
- 116, 116, 116, 116, 116, 117, 116, 116, 116, 116, 116, 116, 116, 116, 116,
- 116, 117, 116, 116, 116, 116, 116, 116, 116, 116, 116, 117, 116, 116, 116,
- 116, 116, 116, 116, 116, 116, 116, 117, 116, 116, 116, 116, 116, 116, 116,
- 116, 116, 116, 117, 116, 116, 116, 116, 116, 116, 116, 116, 116, 117, 116,
- 114, 108, 108, 118, 125, -126, 123, 98, 95, 109, 117, 124, 127, 123, 118,
- 109, 103, 113, 125, -127, 120, 108, 106, 112, 115, 112, 110, 112, 111,
- 112, 112, 116, 120, 120, 118, 114, 113, 120, 122, 119, 116, 115, 115, 117,
- 117, 116, 115, 115, 115, 112, 107, 109, 119, 121, 120, 118, 114, 117, 120,
- 118, 119, 119, 117, 119, 116, 113, 119, 120, 117, 114, 112, 114, 117, 117,
- 116, 113, 114, 118, 117, 117, 119, 121, 118, 113, 114, 116, 116, 118, 116,
- 114, 113, 111, 112, 117, 118, 121, 119, 117, 117, 113, 110, 114, 117, 119,
- 117, 114, 113, 113, 114, 115, 115, 117, 117, 114, 114, 116, 119, 121, 119,
- 115, 116, 117, 117, 120, 122, 121, 115, 109, 112, 117, 117, 116, 115, 116,
- 117, 113, 113, 116, 118, 118, 115, 115, 118, 120, 120, 120, 118, 119, 120,
- 119, 119, 118, 119, 119, 117, 116, 117, 118, 119, 116, 115, 117, 118, 118,
- 118, 118, 118, 119, 119, 120, 120, 121, 120, 118, 118, 119, 119, 119, 118,
- 118, 117, 116, 117, 117, 118, 118, 117, 116, 117, 116, 117, 119, 118, 117,
- 116, 118, 120, 117, 117, 119, 120, 119, 118, 118, 118, 119, 118, 117, 116,
- 119, 118, 117, 116, 117, 118, 118, 117, 116, 117, 118, 117, 116, 116, 117,
- 118, 117, 115, 116, 118, 119, 117, 117, 119, 117, 117, 116, 117, 118, 118,
- 117, 116, 116, 117, 117, 117, 116, 116, 116, 117, 116, 115, 116, 116, 116,
- 118, 117, 116, 116, 117, 117, 117, 117, 117, 116, 115, 116, 116, 117, 118,
- 116, 114, 115, 115, 116, 116, 117, 117, 115, 115, 116, 116, 118, 118, 117,
- 117, 116, 116, 117, 117, 118, 117, 116, 116, 115, 115, 115, 115, 116, 118,
- 116, 115, 115, 116, 116, 116, 116, 117, 117, 117, 118, 117, 117, 117, 117,
- 116, 116, 116, 117, 115, 115, 114, 114, 115, 115, 115, 116, 115, 114, 114,
- 117, 116, 116, 115, 115, 115, 116, 116, 116, 116, 116, 115, 116, 116, 116,
- 116, 115, 115, 115, 116, 115, 115, 115, 116, 116, 116, 116, 115, 115, 116,
- 116, 117, 116, 116, 116, 117, 117, 116, 116, 116, 117, 117, 118, 117, 117,
- 117, 117, 117, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 117, 117,
- 118, 118, 117, 118, 117, 117, 117, 117, 117, 118, 117, 117, 116, 115, 117,
- 117, 117, 116, 115, 116, 117, 117, 117, 117, 117, 117, 116, 117, 117, 117,
- 116, 115, 115, 116, 117, 118, 116, 116, 118, 117, 116, 117, 117, 117, 116,
- 116, 116, 117, 116, 117, 115, 115, 116, 117, 117, 116, 115, 115, 117, 118,
- 119, 117, 116, 116, 115, 116, 117, 117, 116, 115, 115, 117, 117, 117, 115,
- 115, 115, 115, 114, 115, 116, 116, 115, 116, 116, 116, 116, 115, 116, 116,
- 116, 116, 115, 116, 116, 116, 116, 115, 116, 117, 116, 117, 118, 116, 116,
- 116, 116, 116, 117, 117, 117, 117, 118, 118, 117, 118, 118, 117, 116, 117,
- 117, 118, 118, 117, 115, 117, 118, 118, 118, 117, 115, 115, 117, 118, 117,
- 116, 116, 114, 115, 117, 117, 117, 116, 115, 116, 116, 116, 117, 116, 116,
- 115, 115, 115, 115, 116, 115, 114, 116, 115, 115, 115, 114, 113, 113, 113,
- 113, 114, 113, 112, 111, 113, 114, 113, 113, 114, 112, 113, 113, 113, 114,
- 113, 113, 113, 114, 114, 114, 114, 114, 114, 115, 115, 116, 117, 116, 116,
- 116, 117, 117, 117, 117, 117, 117, 118, 118, 120, 120, 121, 120, 120, 122,
- 123, 123, 125, 126, 127, -128, -128, -126, -124, -121, -117, -112, -113,
- -127, 106, 94, 105, 117, 114, 106, 94, 85, 89, 105, 116, 121, 118, 109,
- 106, 116, 127, -126, 127, 121, 116, 115, 117, 117, 117, 116, 112, 103, 99,
- 106, 110, 111, 108, 103, 104, 109, 112, 115, 116, 114, 111, 110, 113, 116,
- 118, 116, 112, 110, 111, 112, 112, 114, 115, 113, 111, 111, 113, 116, 118,
- 116, 115, 115, 117, 119, 120, 120, 120, 121, 122, 125, -126, -121, -119,
- -116, -111, -107, -100, -101, -111, 110, 73, 90, 124, 119, 96, 82, 71, 71,
- 95, 119, -127, 126, 114, 103, 115, -117, -108, -116, -126, 123, 119, 116,
- 114, 116, 118, 112, 101, 91, 93, 103, 112, 113, 107, 108, 111, 114, 120,
- 125, 124, 119, 111, 110, 116, 120, 117, 112, 107, 106, 108, 112, 112, 114,
- 114, 110, 107, 110, 115, 118, 117, 114, 111, 110, 112, 114, 116, 116, 114,
- 110, 110, 113, 117, 118, 116, 113, 114, 117, 118, 119, 120, 122, 123, 122,
- 124, -127, -124, -122, -117, -114, -112, -110, -103, -96, -116, 80, 53,
- 97, -125, 112, 89, 77, 65, 73, 107, -121, -114, -123, 113, 104, 127, -104,
- -103, -117, -127, 124, 115, 106, 105, 113, 117, 108, 91, 80, 86, 103, 114,
- 112, 110, 111, 111, 113, 122, -127, -128, 120, 113, 110, 114, 117, 115,
- 112, 109, 106, 105, 105, 109, 116, 116, 109, 105, 108, 115, 119, 120, 117,
- 114, 112, 114, 118, 122, 124, 120, 117, 118, 121, 125, -128, -127, -124,
- -121, -116, -108, -93, -75, -73, -120, 57, 40, 106, -108, 120, 81, 62, 48,
- 59, 104, -106, -99, -123, 106, 100, -128, -96, -92, -107, -120, 127, 108,
- 93, 100, 118, 123, 105, 79, 69, 82, 106, 119, 118, 116, 117, 116, 118,
- 127, -121, -123, 121, 111, 108, 110, 110, 111, 111, 109, 105, 101, 102,
- 112, 121, 122, 112, 105, 111, 120, 123, 120, 115, 112, 108, 110, 114, 115,
- 113, 111, 109, 111, 115, 119, 122, 122, 120, 120, 120, 125, -124, -119,
- -117, -118, -114, -105, -88, -73, -79, 120, 40, 37, 115, -106, 109, 69,
- 57, 51, 67, 119, -95, -97, -125, 108, 110, -118, -92, -93, -109, -122,
- 120, 97, 84, 95, 118, 121, 98, 72, 68, 88, 110, 123, 124, 123, 123, 119,
- 115, 125, -119, -125, 116, 106, 103, 104, 106, 110, 114, 111, 103, 99,
- 105, 120, -127, 123, 111, 105, 111, 118, 120, 118, 114, 109, 106, 110,
- 116, 122, 122, 118, 114, 117, 121, 126, -126, -124, -123, -122, -119,
- -106, -88, -68, -59, -99, 61, 9, 75, -100, -117, 80, 54, 47, 46, 87, -103,
- -78, -104, 115, 104, 124, -100, -85, -95, -114, -127, 105, 76, 77, 110,
- -127, 111, 76, 60, 73, 101, 122, -127, -126, -128, 122, 116, 123, -120,
- -116, 124, 107, 99, 98, 99, 105, 114, 112, 104, 96, 100, 115, -126, -126,
- 118, 108, 107, 116, 122, 121, 117, 111, 103, 103, 110, 116, 119, 117, 113,
- 112, 114, 118, 126, -126, 126, 123, 125, -126, -114, -104, -96, -88, -76,
- -72, -119, 48, 20, 94, -102, 120, 67, 50, 48, 60, 109, -94, -84, -115,
- 114, 111, -122, -94, -87, -104, -120, 120, 94, 71, 81, 115, 126, 100, 64,
- 58, 83, 118, -122, -126, 125, 125, 121, 117, 127, -118, -125, 111, 97, 94,
- 99, 101, 106, 110, 109, 103, 101, 108, 122, -126, 126, 113, 107, 112, 117,
- 117, 115, 114, 112, 108, 106, 112, 121, 123, 118, 115, 117, 120, 124,
- -126, -122, -119, -118, -113, -100, -81, -57, -59, -123, 30, 11, 103, -96,
- 115, 62, 48, 42, 50, 108, -85, -76, -112, 114, 112, -121, -92, -85, -100,
- -117, 119, 85, 63, 80, 117, 126, 99, 66, 60, 82, 115, -121, -120, -121,
- -124, 120, 112, 123, -119, -123, 113, 96, 90, 92, 98, 108, 115, 113, 104,
- 102, 109, 124, -121, -127, 113, 105, 110, 116, 116, 114, 112, 109, 106,
- 107, 114, 121, 123, 119, 116, 116, 119, 124, -125, -122, -124, -123, -118,
- -107, -90, -67, -56, -80, 87, 7, 42, -117, -104, 91, 53, 46, 44, 72, -117,
- -74, -89, -126, 111, 118, -113, -89, -90, -107, -124, 104, 68, 64, 98,
- -127, 118, 84, 59, 68, 102, -124, -119, -121, -121, 126, 113, 114, -127,
- -119, 124, 101, 88, 91, 96, 104, 114, 116, 109, 103, 104, 118, -122, -122,
- 117, 103, 105, 115, 120, 118, 115, 113, 108, 104, 109, 120, 124, 122, 117,
- 114, 117, 124, -124, -121, -118, -117, -113, -103, -83, -60, -52, -107,
- 44, 4, 87, -98, 125, 70, 50, 45, 49, 99, -96, -77, -103, 123, 112, 126,
- -102, -88, -100, -113, 124, 87, 58, 76, 118, -127, 102, 71, 65, 85, 119,
- -121, -121, -118, -121, 120, 111, 119, -123, -126, 110, 92, 88, 92, 98,
- 109, 117, 113, 106, 104, 113, -128, -119, -128, 111, 104, 109, 115, 119,
- 119, 116, 110, 102, 103, 116, 126, 124, 117, 113, 115, 120, 125, -125,
- -120, -120, -119, -115, -103, -81, -59, -57, -105, 50, 7, 84, -101, -126,
- 76, 51, 40, 49, 101, -94, -80, -103, 125, 113, 124, -106, -92, -100, -112,
- 124, 85, 58, 76, 116, -125, 106, 74, 63, 85, 120, -119, -118, -120, -126,
- 118, 112, 120, -125, -128, 109, 91, 87, 93, 99, 110, 117, 113, 106, 104,
- 114, -127, -120, 126, 110, 103, 109, 116, 119, 117, 113, 109, 102, 105,
- 117, 126, 123, 115, 111, 114, 121, 127, -124, -123, -125, -124, -116,
- -104, -88, -70, -55, -77, 91, 9, 45, -118, -108, 94, 59, 43, 42, 77, -116,
- -79, -91, -123, 111, 116, -114, -93, -99, -110, -124, 98, 63, 65, 105,
- -125, 117, 84, 65, 79, 111, -122, -118, -121, -125, 123, 112, 114, 127,
- -126, 114, 94, 88, 90, 97, 105, 114, 115, 110, 105, 110, 124, -121, -125,
- 115, 105, 108, 115, 117, 114, 112, 110, 104, 103, 112, 123, 125, 118, 113,
- 113, 117, 125, -126, -125, -127, 127, -125, -115, -101, -88, -76, -68,
- -80, 107, 24, 42, -128, -109, 97, 59, 47, 48, 79, -122, -89, -97, -124,
- 115, 118, -114, -97, -102, -115, -127, 102, 71, 72, 103, 127, 117, 88, 68,
- 81, 113, -121, -122, -127, -128, 122, 115, 116, 123, 125, 114, 98, 91, 94,
- 100, 106, 111, 111, 108, 105, 113, 125, -125, 126, 114, 108, 111, 117,
- 118, 114, 110, 108, 104, 105, 112, 118, 120, 117, 114, 113, 118, 125,
- -128, 127, 124, 122, 125, -122, -111, -104, -100, -92, -79, -73, -101, 75,
- 26, 82, -115, 122, 74, 55, 51, 67, 108, -110, -100, -111, -128, 117, -126,
- -105, -102, -115, -125, 118, 92, 77, 87, 113, 122, 103, 79, 75, 101, -126,
- -119, 127, 121, 123, 122, 118, 119, 124, 118, 102, 91, 93, 101, 106, 106,
- 107, 109, 111, 114, 121, -128, 127, 119, 111, 111, 115, 116, 112, 109,
- 108, 108, 106, 106, 112, 120, 121, 117, 114, 117, 122, 125, 126, 124, 124,
- 126, -127, -122, -115, -110, -108, -100, -87, -77, -87, 108, 40, 60, 127,
- -123, 89, 65, 60, 65, 92, -127, -107, -105, -121, 116, 119, -117, -106,
- -112, -121, 123, 101, 83, 85, 108, 123, 110, 88, 80, 97, 121, -125, 126,
- 119, 121, 123, 120, 119, 121, 118, 107, 96, 94, 101, 106, 106, 105, 108,
- 111, 114, 120, 123, 125, 123, 116, 111, 111, 114, 113, 109, 108, 106, 105,
- 108, 114, 119, 120, 116, 114, 119, 124, 126, 124, 122, 121, 123, 125,
- -128, -123, -119, -116, -114, -105, -94, -86, -86, -109, 86, 49, 90, -124,
- 117, 83, 64, 60, 76, 111, -118, -110, -118, 121, 114, -127, -108, -107,
- -120, 125, 113, 98, 94, 102, 116, 115, 99, 87, 90, 107, 126, -127, 119,
- 115, 120, 123, 122, 121, 118, 112, 103, 98, 100, 107, 111, 107, 103, 104,
- 110, 119, 124, 123, 119, 116, 111, 111, 115, 117, 112, 108, 106, 106, 108,
- 114, 117, 118, 116, 115, 117, 121, 124, 124, 121, 117, 118, 123, 125, 126,
- -128, -125, -123, -118, -109, -99, -92, -91, -98, -113, 97, 59, 90, -126,
- 118, 82, 61, 63, 84, 116, -122, -121, -127, 117, 115, -123, -106, -108,
- -124, 119, 111, 105, 103, 106, 114, 113, 99, 89, 91, 107, 126, -127, 116,
- 109, 115, 124, 125, 123, 117, 108, 104, 103, 106, 110, 111, 107, 105, 106,
- 108, 113, 119, 121, 118, 113, 109, 112, 118, 120, 117, 109, 105, 108, 112,
- 116, 117, 116, 113, 110, 112, 118, 122, 120, 118, 117, 117, 119, 122, 125,
- 126, 125, 126, -124, -119, -115, -110, -104, -103, -100, -99, -103, 124,
- 76, 74, 109, 118, 96, 77, 69, 76, 100, 121, -127, -123, 127, 116, 123,
- -116, -113, -120, 126, 118, 113, 107, 104, 108, 113, 108, 97, 93, 100,
- 115, 125, 119, 111, 114, 118, 121, 122, 119, 112, 108, 105, 106, 111, 111,
- 108, 107, 107, 109, 113, 118, 117, 116, 115, 113, 112, 116, 117, 114, 111,
- 108, 109, 110, 111, 113, 113, 113, 114, 113, 115, 118, 121, 120, 117, 117,
- 119, 122, 124, 124, 121, 121, 125, -125, -120, -117, -118, -114, -104,
- -98, -100, -103, -110, 117, 80, 80, 110, 113, 95, 79, 68, 78, 102, 121,
- -126, -123, 126, 117, 123, -118, -111, -118, 125, 114, 111, 110, 109, 110,
- 112, 105, 98, 96, 102, 115, 122, 117, 109, 111, 120, 123, 120, 115, 110,
- 110, 109, 110, 112, 111, 107, 107, 111, 113, 116, 116, 115, 113, 113, 113,
- 111, 112, 113, 111, 107, 107, 108, 111, 114, 113, 113, 114, 117, 120, 119,
- 118, 117, 116, 116, 118, 118, 117, 116, 117, 119, 121, 124, 126, -128,
- -124, -122, -122, -119, -111, -102, -102, -106, -110, -114, 125, 91, 82,
- 104, 112, 95, 79, 73, 83, 103, 117, 123, 125, 124, 119, 122, -120, -113,
- -121, 122, 116, 117, 118, 114, 108, 107, 107, 100, 97, 101, 109, 116, 114,
- 107, 110, 119, 125, 124, 119, 115, 113, 113, 114, 114, 115, 112, 108, 107,
- 109, 112, 114, 110, 108, 110, 110, 110, 112, 115, 114, 111, 109, 111, 115,
- 116, 114, 112, 113, 113, 115, 116, 116, 115, 115, 115, 115, 118, 121, 119,
- 118, 117, 118, 120, 123, 125, 125, 125, -128, -124, -119, -115, -111,
- -107, -108, -108, -106, -105, -122, 93, 75, 100, 116, 100, 80, 74, 79, 95,
- 112, 120, 127, -128, 119, 118, -123, -110, -114, -128, 118, 116, 117, 114,
- 108, 108, 107, 103, 97, 99, 107, 116, 116, 110, 110, 119, 125, 125, 122,
- 118, 114, 114, 113, 114, 116, 113, 105, 103, 108, 114, 116, 111, 107, 107,
- 111, 114, 115, 115, 113, 112, 112, 111, 114, 116, 114, 112, 112, 113, 115,
- 116, 117, 116, 116, 115, 114, 116, 118, 118, 117, 117, 116, 119, 122, 123,
- 124, 124, 126, -128, -124, -120, -118, -117, -113, -110, -108, -107, -107,
- -116, 112, 82, 91, 115, 110, 89, 78, 76, 87, 105, 117, 121, 126, 121, 115,
- 125, -115, -113, -124, 122, 116, 118, 120, 116, 111, 109, 104, 99, 99,
- 106, 113, 115, 110, 107, 112, 122, 126, 124, 119, 115, 114, 116, 117, 118,
- 114, 108, 105, 109, 113, 115, 112, 107, 107, 109, 112, 114, 114, 112, 110,
- 110, 113, 116, 118, 116, 112, 111, 113, 117, 118, 116, 115, 112, 112, 114,
- 115, 116, 116, 114, 114, 117, 118, 120, 121, 122, 121, 122, 124, -128,
- -125, -124, -124, -121, -117, -114, -112, -110, -108, -108, -117, 110, 81,
- 92, 117, 112, 89, 79, 76, 87, 106, 117, 122, 124, 118, 111, 124, -112,
- -110, -123, 121, 116, 119, 122, 118, 113, 108, 102, 98, 99, 106, 112, 114,
- 108, 105, 111, 121, 125, 124, 120, 116, 115, 116, 117, 119, 118, 112, 106,
- 107, 109, 111, 112, 111, 109, 109, 109, 110, 113, 116, 114, 113, 112, 113,
- 114, 115, 113, 113, 113, 113, 114, 114, 115, 114, 114, 114, 114, 114, 116,
- 117, 117, 117, 117, 117, 119, 121, 122, 121, 121, 124, 127, -125, -123,
- -123, -120, -115, -112, -111, -109, -108, -112, 119, 87, 90, 116, 116, 94,
- 81, 78, 87, 103, 113, 118, 121, 117, 112, 120, -118, -112, -123, 121, 117,
- 120, 123, 121, 114, 109, 106, 101, 100, 105, 111, 113, 107, 103, 109, 119,
- 124, 122, 119, 116, 116, 119, 120, 120, 118, 113, 108, 109, 113, 114, 113,
- 107, 104, 107, 111, 113, 112, 112, 109, 110, 113, 116, 116, 115, 113, 111,
- 112, 114, 116, 115, 113, 111, 112, 113, 116, 115, 115, 115, 114, 114, 116,
- 118, 119, 119, 119, 119, 122, 123, 125, 127, -126, -124, -122, -120, -115,
- -112, -111, -109, -107, -112, 117, 84, 91, 119, 118, 93, 78, 78, 87, 103,
- 112, 117, 120, 116, 112, 120, -118, -112, -122, 120, 117, 122, 125, 121,
- 114, 110, 107, 103, 102, 104, 110, 112, 107, 104, 110, 119, 123, 121, 118,
- 117, 118, 118, 119, 120, 119, 114, 110, 111, 112, 114, 114, 109, 107, 107,
- 110, 110, 112, 113, 111, 109, 111, 113, 116, 116, 114, 113, 114, 115, 116,
- 116, 114, 113, 113, 113, 114, 114, 114, 114, 114, 114, 116, 120, 120, 119,
- 119, 120, 122, 125, 127, -128, -126, -124, -123, -120, -115, -113, -113,
- -110, -107, -112, 117, 86, 94, 122, 119, 93, 79, 81, 89, 103, 112, 116,
- 118, 115, 110, 119, -117, -111, -123, 120, 117, 123, -128, 124, 115, 110,
- 107, 104, 104, 106, 110, 110, 104, 103, 109, 119, 122, 119, 116, 117, 119,
- 119, 120, 121, 119, 114, 112, 112, 114, 115, 113, 108, 106, 109, 110, 110,
- 110, 110, 109, 110, 113, 114, 115, 115, 114, 114, 115, 116, 116, 116, 115,
- 112, 113, 115, 115, 114, 114, 113, 114, 117, 117, 117, 117, 118, 119, 121,
- 123, 124, 125, 126, -128, -125, -122, -120, -118, -118, -116, -112, -108,
- -108, -128, 95, 88, 115, 125, 103, 84, 81, 86, 99, 111, 114, 117, 115,
- 109, 113, -124, -112, -120, 121, 116, 121, -128, 127, 119, 112, 108, 106,
- 103, 106, 110, 110, 106, 104, 106, 116, 122, 119, 116, 116, 117, 119, 120,
- 122, 119, 115, 112, 111, 114, 116, 114, 108, 105, 106, 111, 113, 111, 109,
- 108, 111, 113, 116, 116, 115, 113, 112, 114, 117, 118, 115, 113, 112, 114,
- 115, 116, 114, 114, 115, 114, 116, 117, 118, 118, 118, 118, 120, 122, 123,
- 124, 125, 126, -127, -124, -122, -119, -117, -116, -114, -111, -109, -121,
- 101, 86, 112, 126, 107, 89, 82, 86, 98, 107, 111, 115, 116, 110, 110, 127,
- -116, -120, 122, 115, 120, -128, -128, 121, 113, 110, 109, 107, 107, 109,
- 111, 107, 103, 106, 115, 120, 117, 113, 115, 117, 119, 120, 119, 119, 116,
- 113, 113, 115, 116, 115, 110, 106, 108, 111, 111, 110, 110, 109, 109, 112,
- 115, 116, 116, 114, 114, 114, 116, 117, 116, 114, 112, 113, 115, 115, 115,
- 114, 114, 114, 115, 117, 117, 118, 118, 119, 120, 122, 121, 122, 125, 126,
- 127, -127, -125, -123, -120, -120, -117, -113, -110, -112, 126, 97, 94,
- 119, 124, 103, 87, 83, 89, 101, 109, 111, 114, 114, 108, 114, -126, -117,
- -124, 120, 116, 123, -127, 126, 118, 113, 111, 108, 108, 109, 109, 109,
- 107, 104, 107, 116, 118, 115, 114, 115, 117, 118, 119, 118, 118, 115, 114,
- 113, 114, 115, 113, 110, 108, 110, 114, 112, 110, 110, 111, 113, 114, 114,
- 115, 114, 114, 114, 115, 116, 116, 115, 114, 114, 117, 117, 115, 114, 114,
- 115, 116, 116, 116, 116, 118, 117, 119, 120, 121, 122, 123, 125, 127,
- -126, -125, -123, -119, -118, -117, -114, -113, -113, 125, 96, 95, 121,
- 123, 101, 88, 86, 92, 104, 109, 111, 114, 113, 108, 115, -126, -118, -126,
- 118, 115, 123, -127, 126, 118, 113, 110, 110, 109, 110, 110, 110, 107,
- 105, 108, 116, 118, 115, 113, 114, 117, 119, 119, 118, 119, 116, 114, 115,
- 116, 117, 115, 111, 109, 113, 114, 112, 110, 108, 109, 111, 113, 114, 113,
- 113, 114, 114, 115, 117, 116, 116, 116, 114, 115, 115, 114, 114, 114, 114,
- 114, 115, 116, 116, 117, 117, 119, 120, 120, 121, 122, 123, 125, 127,
- -127, -126, -124, -122, -122, -119, -116, -115, -116, 125, 100, 98, 119,
- 122, 105, 92, 88, 94, 106, 109, 109, 113, 113, 109, 114, 126, -123, -128,
- 119, 116, 123, -128, 125, 117, 112, 111, 111, 111, 110, 110, 111, 108,
- 105, 109, 116, 117, 115, 113, 114, 116, 118, 117, 116, 117, 115, 113, 113,
- 114, 116, 115, 111, 109, 112, 114, 113, 111, 111, 112, 113, 113, 113, 114,
- 114, 114, 114, 116, 116, 116, 116, 115, 115, 116, 116, 115, 115, 116, 115,
- 115, 115, 116, 117, 118, 119, 120, 120, 121, 122, 124, 125, 127, -128,
- -127, -125, -122, -121, -120, -119, -117, -117, 127, 102, 98, 119, 122,
- 106, 95, 90, 96, 106, 110, 110, 114, 115, 110, 114, 125, -124, -128, 119,
- 115, 120, 126, 124, 118, 114, 112, 112, 111, 111, 112, 112, 109, 107, 110,
- 116, 117, 115, 114, 113, 116, 118, 116, 116, 117, 116, 115, 115, 117, 117,
- 116, 111, 110, 112, 113, 113, 112, 110, 111, 113, 113, 113, 114, 115, 115,
- 116, 115, 116, 116, 116, 115, 115, 116, 116, 115, 116, 115, 115, 116, 116,
- 116, 117, 117, 118, 119, 120, 121, 121, 124, 125, 127, -128, -127, -125,
- -124, -122, -121, -120, -118, -120, 119, 100, 107, 121, 116, 103, 96, 95,
- 100, 109, 110, 111, 115, 113, 111, 116, 126, -127, 124, 117, 114, 121,
- 125, 122, 116, 113, 111, 111, 112, 112, 113, 111, 107, 107, 112, 116, 117,
- 114, 112, 113, 117, 117, 116, 115, 115, 115, 115, 115, 115, 115, 114, 111,
- 111, 114, 115, 113, 111, 111, 112, 113, 113, 113, 114, 115, 114, 114, 115,
- 115, 116, 116, 115, 116, 116, 117, 115, 115, 115, 116, 116, 115, 116, 117,
- 118, 120, 120, 120, 121, 122, 123, 125, 127, -128, -128, -127, -125, -123,
- -123, -124, -125, -126, 118, 105, 108, 118, 114, 105, 102, 99, 105, 112,
- 111, 112, 116, 115, 113, 117, 122, 124, 122, 116, 114, 119, 121, 119, 115,
- 113, 111, 112, 112, 112, 113, 112, 110, 111, 113, 116, 116, 114, 112, 113,
- 116, 116, 115, 114, 114, 114, 115, 114, 113, 115, 114, 114, 113, 114, 114,
- 113, 113, 112, 113, 114, 115, 113, 114, 114, 115, 116, 116, 116, 116, 116,
- 117, 116, 117, 116, 115, 115, 115, 116, 116, 116, 117, 117, 118, 119, 120,
- 121, 122, 123, 124, 125, 126, 127, 127, -127, -126, -127, -127, -127,
- -126, 125, 112, 107, 116, 117, 111, 108, 104, 105, 112, 113, 113, 116,
- 117, 113, 114, 118, 120, 121, 118, 112, 114, 118, 118, 115, 113, 111, 112,
- 114, 113, 114, 115, 113, 111, 113, 115, 115, 115, 113, 110, 113, 114, 113,
- 114, 114, 113, 114, 115, 115, 117, 116, 115, 114, 114, 114, 113, 114, 113,
- 113, 113, 113, 113, 114, 114, 114, 115, 116, 116, 117, 116, 116, 116, 116,
- 116, 116, 116, 115, 116, 118, 117, 117, 117, 118, 118, 119, 120, 121, 122,
- 123, 123, 125, 126, 127, 126, 126, 126, 125, 126, 127, 126, 120, 114, 112,
- 117, 116, 112, 110, 108, 110, 115, 114, 114, 117, 116, 114, 115, 117, 118,
- 118, 116, 113, 114, 116, 115, 115, 112, 112, 114, 115, 115, 114, 114, 113,
- 114, 114, 114, 114, 114, 113, 112, 113, 114, 114, 114, 114, 114, 116, 117,
- 115, 116, 116, 115, 115, 114, 114, 114, 115, 113, 113, 115, 115, 115, 115,
- 115, 115, 116, 117, 116, 116, 116, 116, 116, 116, 117, 116, 116, 116, 118,
- 118, 117, 117, 117, 118, 119, 120, 120, 121, 121, 122, 123, 124, 124, 124,
- 124, 123, 123, 123, 124, 124, 122, 119, 118, 117, 116, 117, 115, 113, 113,
- 114, 113, 115, 115, 115, 115, 115, 115, 115, 116, 115, 114, 113, 113, 114,
- 114, 113, 112, 114, 115, 114, 114, 113, 113, 115, 115, 113, 114, 114, 114,
- 113, 113, 114, 114, 115, 114, 115, 116, 116, 115, 115, 115, 115, 115, 115,
- 114, 115, 115, 114, 114, 115, 115, 115, 115, 115, 115, 117, 116, 116, 116,
- 116, 116, 116, 116, 116, 117, 117, 116, 116, 117, 117, 117, 117, 118, 119,
- 119, 119, 120, 120, 122, 121, 121, 121, 121, 121, 121, 120, 121, 122, 121,
- 121, 119, 118, 118, 119, 118, 117, 115, 116, 116, 115, 115, 115, 116, 116,
- 115, 116, 115, 115, 115, 114, 114, 114, 114, 114, 113, 112, 115, 115, 113,
- 114, 113, 114, 115, 115, 114, 114, 114, 113, 113, 114, 114, 114, 115, 114,
- 114, 116, 115, 115, 116, 115, 115, 115, 115, 115, 115, 115, 114, 115, 115,
- 115, 116, 116, 116, 116, 115, 115, 116, 116, 116, 116, 116, 116, 117, 117,
- 117, 116, 117, 117, 117, 117, 117, 117, 118, 118, 119, 118, 119, 120, 120,
- 119, 119, 119, 120, 120, 119, 119, 119, 120, 119, 120, 119, 118, 118, 118,
- 117, 117, 117, 117, 116, 116, 115, 117, 116, 115, 115, 115, 115, 115, 115,
- 114, 115, 114, 114, 114, 114, 113, 113, 113, 113, 115, 114, 114, 113, 114,
- 114, 115, 114, 114, 115, 115, 114, 114, 114, 114, 114, 115, 115, 115, 116,
- 115, 115, 115, 115, 116, 115, 115, 115, 115, 116, 115, 116, 116, 116, 116,
- 116, 116, 116, 116, 117, 116, 116, 116, 116, 117, 117, 117, 117, 117, 117,
- 118, 119, 118, 118, 118, 119, 119, 119, 118, 118, 118, 118, 118, 118, 119,
- 119, 118, 118, 118, 119, 119, 119, 118, 117, 117, 117, 117, 117, 117, 116,
- 116, 116, 116, 116, 116, 116, 115, 117, 116, 115, 114, 114, 114, 114, 114,
- 114, 114, 116, 115, 114, 115, 115, 115, 115, 115, 115, 116, 115, 115, 115,
- 115, 115, 115, 115, 115, 115, 116, 115, 115, 115, 115, 115, 115, 115, 115,
- 116, 117, 115, 115, 116, 115, 116, 116, 116, 116, 116, 116, 117, 116, 116,
- 116, 116, 116, 116, 117, 117, 117, 117, 118, 117, 117, 117, 117, 117, 117,
- 117, 118, 117, 118, 118, 119, 118, 118, 118, 118, 117, 117, 117, 117, 117,
- 117, 117, 119, 117, 117, 117, 117, 117, 116, 116, 116, 116, 116, 117, 116,
- 116, 116, 116, 116, 116, 116, 115, 115, 116, 115, 115, 115, 115, 115, 116,
- 116, 116, 115, 116, 115, 115, 115, 115, 115, 115, 115, 115, 116, 117, 115,
- 115, 115, 116, 115, 115, 116, 116, 116, 116, 117, 116, 116, 116, 116, 116,
- 116, 116, 116, 116, 117, 116, 116, 116, 116, 116, 116, 116, 116, 117, 117,
- 118, 117, 117, 117, 117, 117, 117, 116, 116, 117, 117, 117, 118, 117, 117,
- 117, 118, 117, 117, 117, 117, 117, 117, 118, 117, 117, 117, 117, 117, 117,
- 117, 117, 117, 116, 116, 118, 116, 116, 116, 116, 116, 116, 116, 116, 116,
- 115, 116, 116, 116, 115, 115, 115, 115, 116, 116, 116, 117, 116, 116, 115,
- 115, 116, 115, 115, 115, 116, 117, 116, 116, 116, 116, 116, 116, 116, 116,
- 116, 116, 117, 116, 116, 116, 116, 116, 116, 116, 116, 116, 117, 116, 116,
- 116, 116, 116, 116, 116, 116, 116, 117, 118, 117, 117, 117, 117, 117, 117,
- 117, 116, 116, 116, 117, 117, 116, 116, 116, 117, 117, 117, 117, 117, 117,
- 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 116, 117, 118, 116, 116,
- 116, 116, 117, 116, 116, 116, 116, 116, 117, 116, 116, 116, 116, 116, 116,
- 116, 116, 116, 116, 117, 116, 116, 116, 116, 116, 116, 116, 116, 116, 117,
- 116, 116, 116, 116, 115, 115, 116, 116, 116, 116, 117, 116, 116, 116, 116,
- 116, 116, 116, 116, 116, 116, 117, 116, 116, 116, 116, 116, 116, 116, 116,
- 116, 117, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 117, 116, 116,
- 116, 116, 116, 116, 117, 117, 117, 117, 118, 117, 116, 117, 117, 117, 117,
- 116, 116, 116, 116, 117, 116, 117, 116, 116, 116, 116, 116, 116, 116, 116,
- 117, 116, 116, 116, 116, 116, 116, 116, 116, 116, 117, 116, 116, 116, 116,
- 116, 116, 116, 116, 116, 116, 117, 116, 116, 116, 116, 116, 116, 116, 116,
- 116, 116, 117, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116,
- 116, 116, 116, 116, 116, 116, 116, 116, 117, 116, 116, 116, 116, 116, 116,
- 116, 116, 116, 116, 117, 116, 116, 116, 116, 116, 116, 116, 116, 116, 117,
- 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 118, 117, 116, 116, 116,
- 116, 116, 116, 116, 116, 116, 117, 116, 117, 117, 116, 116, 116, 116, 116,
- 116, 116, 117, 116, 116, 116, 116, 116, 116, 116, 116, 116, 117, 116, 116,
- 116, 116, 116, 116, 116, 116, 116, 116, 117, 116, 116, 116, 116, 116, 116,
- 116, 116, 116, 116, 117, 116, 116, 116, 116, 116, 116, 116, 116, 116, 117,
- 116, 117, 116, 116, 116, 116, 116, 116, 116, 116, 117, 116, 116, 116, 116,
- 116, 116, 116, 116, 116, 116, 117, 116, 116, 116, 116, 116, 116, 116, 116,
- 116, 117, 118, 116, 116, 116, 116, 116, 116, 116, 116, 116, 117, 116, 116,
- 116, 116, 116, 116, 116, 116, 116, 116, 117, 116, 116, 116, 116, 116, 116,
- 116, 116, 116, 116, 117, 116, 116, 116, 116, 116, 116, 116, 116, 116, 117,
- 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 117, 116, 116, 116, 116,
- 116, 116, 116, 116, 116, 116, 117, 116, 116, 116, 116, 116, 116, 116, 116,
- 116, 117, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 117, 116, 116,
- 116, 116, 116, 116, 116, 116, 116, 116, 117, 116, 116, 116, 116, 116, 116,
- 116, 116, 116, 117, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 117,
- 116, 116, 116, 116, 117, 117, 116, 116, 116, 116, 117, 116, 116, 116, 116,
- 116, 116, 116, 116, 116, 117, 116, 116, 116, 116, 116, 116, 116, 116, 116,
- 116, 117, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 117, 116, 116,
- 116, 116, 116, 116, 116, 116, 116, 117, 116, 116, 116, 116, 116, 116, 116,
- 116, 116, 116, 117, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 117,
- 116, 116, 116, 116, 116, 116, 116, 116, 116, 117, 116, 116, 116, 116, 116,
- 116, 116, 116, 116, 116, 117, 116, 116, 116, 116, 116, 116, 116, 116, 116,
- 116, 117, 116, 116, 116, 116, 116, 116, 116, 116, 116, 117, 116, 116, 116,
- 116, 116, 116, 116, 116, 116, 116, 117, 116, 116, 116, 116, 116, 116, 116,
- 116, 116, 116, 117, 116, 116, 116, 116, 116, 116, 116
-
diff --git a/winsup/testsuite/winsup.api/devzero.c b/winsup/testsuite/winsup.api/devzero.c
deleted file mode 100644
index 948b0bff5..000000000
--- a/winsup/testsuite/winsup.api/devzero.c
+++ /dev/null
@@ -1,115 +0,0 @@
-#include <stdio.h>
-#include <unistd.h>
-#include <stdlib.h>
-#include <sys/types.h>
-#include <fcntl.h>
-#include <sys/mman.h>
-
-int
-main(int argc, char **argv)
-{
- int fd, r, l;
- char buf[1024];
- char *v;
-
- fd = open("/dev/zero", O_RDONLY);
- if (fd < 0)
- {
- fprintf(stderr, "Unable to open /dev/zero for reading\n");
- perror("The error was");
- exit(1);
- }
-
- l = read(fd, buf, 1024);
- if (l != 1024)
- {
- fprintf(stderr, "Asked to read 1024 bytes, got %d\n", l);
- exit(1);
- }
-
- for (r=0; r<1024; r++)
- if (buf[r] != 0)
- {
- fprintf(stderr, "/dev/zero returned a byte of %02x at offset %d\n",
- buf[r], r);
- exit(1);
- }
-
- l = lseek(fd, 4096, 0);
- if (l != 0)
- {
- fprintf(stderr, "l == %d\n", l);
- exit(1);
- }
-
- l = close(fd);
- if (l != 0)
- {
- fprintf(stderr, "close: returned %d\n", l);
- perror("The error was");
- exit(1);
- }
-
- fd = open("/dev/zero", O_WRONLY);
- if (fd < 0)
- {
- fprintf(stderr, "Unable to open /dev/zero for writing\n");
- perror("The error was");
- exit(1);
- }
-
- l = write(fd, buf, 1024);
- if (l != 1024)
- {
- fprintf(stderr, "Asked to write 1024 bytes, got %d\n", l);
- exit(1);
- }
-
- l = close(fd);
- if (l != 0)
- {
- fprintf(stderr, "close: returned %d\n", l);
- perror("The error was");
- exit(1);
- }
-
- fd = open("/dev/zero", O_RDWR);
- v = (char *)mmap(0, 65536, PROT_READ|PROT_WRITE, MAP_PRIVATE, fd, 0);
- if (v == (char *)-1)
- {
- fprintf(stderr, "mmap r/w /dev/zero failed\n");
- perror("The error was");
- exit(1);
- }
-
- for (r=0; r<65536; r++)
- if (v[r] != 0)
- {
- fprintf(stderr, "mmap'd r/w /dev/zero has byte %d at offset %d\n",
- v[r], r);
- exit(1);
- }
- munmap(v, 65536);
- close(fd);
-
- fd = open("/dev/zero", O_RDONLY);
- v = (char *)mmap(0, 65536, PROT_READ, MAP_SHARED, fd, 0);
- if (v == (char *)-1)
- {
- fprintf(stderr, "mmap /dev/zero r/o failed\n");
- perror("The error was");
- exit(1);
- }
-
- for (r=0; r<65536; r++)
- if (v[r] != 0)
- {
- fprintf(stderr, "mmap'd r/o /dev/zero has byte %d at offset %d\n",
- v[r], r);
- exit(1);
- }
- munmap(v, 65536);
- close(fd);
-
- exit(0);
-}
diff --git a/winsup/testsuite/winsup.api/iospeed.c b/winsup/testsuite/winsup.api/iospeed.c
deleted file mode 100644
index 56bf715cf..000000000
--- a/winsup/testsuite/winsup.api/iospeed.c
+++ /dev/null
@@ -1,115 +0,0 @@
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <stdarg.h>
-#include <fcntl.h>
-#include <unistd.h>
-#include <windows.h>
-
-int verbose = 0;
-
-void
-v(char *fmt, ...)
-{
- va_list ap;
- if (!verbose) return;
- va_start(ap, fmt);
- vfprintf(stdout, fmt, ap);
- va_end(ap);
-}
-
-#define TSIZE (1024 * 1024 * 16)
-
-unsigned long start_tic;
-
-void
-start(FILE *f)
-{
- fseek(f, 0, SEEK_SET);
- start_tic = GetTickCount();
-}
-
-void
-end()
-{
- unsigned long end_tic = GetTickCount();
- printf("%6ld", end_tic - start_tic);
-}
-
-void
-test(int linesz, int cr)
-{
- FILE *f = fopen("iospeed.dat", "wb");
- char buf[65536];
- int i, fd;
-
- memset(buf, 'x', linesz);
- buf[linesz-1] = '\n';
- if (cr)
- buf[linesz-2] = '\r';
- for (i=0; i<TSIZE; i += linesz)
- fwrite(buf, 1, linesz, f);
- fclose(f);
-
- f = fopen("iospeed.dat", "rt");
- fd = fileno(f);
-
- printf("%6d%6d", linesz, cr);
- for (i=0; i<TSIZE; i+= 65536)
- read(fd, buf, 65536);
-
- start(f);
- while (getc(f) != EOF);
- end();
-
- start(f);
- while (fread(buf, 1, 256, f) > 0);
- end();
-
- start(f);
- while (fgets(buf, 64436, f));
- end();
-
- f = fopen("iospeed.dat", "rb");
- fd = fileno(f);
-
- for (i=0; i<TSIZE; i+= 65536)
- read(fd, buf, 65536);
-
- start(f);
- while (getc(f) != EOF);
- end();
-
- start(f);
- while (fread(buf, 1, 256, f) > 0);
- end();
-
- start(f);
- while (fgets(buf, 64436, f));
- end();
-
- printf("\n");
-}
-
-int
-main(int argc, char **argv)
-{
- if (argc > 1 && strcmp(argv[1],"-v") == 0)
- verbose = 1;
-
- setbuf(stdout, 0);
-
- printf(" ----- text ----- ---- binary ----\n");
- printf("linesz cr getc fread fgets getc fread fgets\n");
-
- test(4, 0);
- test(64, 0);
- test(4096, 0);
- test(4, 1);
- test(64, 1);
- test(4096, 1);
-
- remove ("iospeed.dat");
-
- return 0;
-}
diff --git a/winsup/testsuite/winsup.api/known_bugs.tcl b/winsup/testsuite/winsup.api/known_bugs.tcl
deleted file mode 100644
index e063ee6bb..000000000
--- a/winsup/testsuite/winsup.api/known_bugs.tcl
+++ /dev/null
@@ -1,4 +0,0 @@
-set xfail_list [list dup03 \
- fcntl05 setgroups01 setuid02 \
- ulimit01 unlink08 \
- sample-fail sample-miscompile]
diff --git a/winsup/testsuite/winsup.api/ltp/access01.c b/winsup/testsuite/winsup.api/ltp/access01.c
deleted file mode 100644
index ae9be948a..000000000
--- a/winsup/testsuite/winsup.api/ltp/access01.c
+++ /dev/null
@@ -1,300 +0,0 @@
-/*
- * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it would be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Further, this software is distributed without any warranty that it is
- * free of the rightful claim of any third person regarding infringement
- * or the like. Any license provided herein, whether implied or
- * otherwise, applies only to this software file. Patent licenses, if
- * any, provided herein do not apply to combinations of this program with
- * other software, or any other product whatsoever.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write the Free Software Foundation, Inc., 59
- * Temple Place - Suite 330, Boston MA 02111-1307, USA.
- *
- * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
- * Mountain View, CA 94043, or:
- *
- * http://www.sgi.com
- *
- * For further information regarding this notice, see:
- *
- * http://oss.sgi.com/projects/GenInfo/NoticeExplan/
- */
-/* $Id$ */
-/**********************************************************
- *
- * OS Test - Silicon Graphics, Inc.
- *
- * TEST IDENTIFIER : access01
- *
- * EXECUTED BY : anyone
- *
- * TEST TITLE : Basic test for access(2) using F_OK,
- * R_OK, W_OK and X_OK arguments.
- *
- * PARENT DOCUMENT : usctpl01
- *
- * TEST CASE TOTAL : 6
- *
- * WALL CLOCK TIME : 1
- *
- * CPU TYPES : ALL
- *
- * AUTHOR : William Roske
- *
- * CO-PILOT : Dave Fenner
- *
- * DATE STARTED : 03/30/92
- *
- * INITIAL RELEASE : UNICOS 7.0
- *
- * TEST CASES
- *
- * 1.) access(2) returns 0 for F_OK...(See Description)
- * 2.) access(2) returns 0 for R_OK...(See Description)
- * 3.) access(2) returns 0 for W_OK...(See Description)
- * 4.) access(2) returns 0 for X_OK...(See Description)
- *
- * INPUT SPECIFICATIONS
- * The standard options for system call tests are accepted.
- * (See the parse_opts(3) man page).
- *
- * OUTPUT SPECIFICATIONS
- *
- * DURATION
- * Terminates - with frequency and infinite modes.
- *
- * SIGNALS
- * Uses SIGUSR1 to pause before test if option set.
- * (See the parse_opts(3) man page).
- *
- * RESOURCES
- * None
- *
- * ENVIRONMENTAL NEEDS
- * The libcuts.a and libsys.a libraries must be included in
- * the compilation of this test.
- *
- * SPECIAL PROCEDURAL REQUIREMENTS
- * None
- *
- * INTERCASE DEPENDENCIES
- * None
- *
- * DETAILED DESCRIPTION
- * This is a Phase I test for the access(2) system call. It is intended
- * to provide a limited exposure of the system call, for now. It
- * should/will be extended when full functional tests are written for
- * access(2).
- *
- * Setup:
- * Setup signal handling.
- * Pause for SIGUSR1 if option specified.
- * Create a temp directory and cd to it.
- * Creat a temp file wil read, write and execute permissions.
- *
- * Test:
- * Loop if the proper options are given.
- * Execute system call with F_OK on tmp file
- * Check return code, if system call failed (return=-1)
- * Log the errno and Issue a FAIL message.
- * Otherwise, Issue a PASS message.
- * Execute system call with X_OK on tmp file...
- * Execute system call with W_OK on tmp file...
- * Execute system call with R_OK on tmp file...
- *
- * Cleanup:
- * Print errno log
- *
- *
- *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#**/
-
-#include <sys/types.h>
-#include <sys/fcntl.h>
-#include <errno.h>
-#include <signal.h>
-#include <sys/stat.h>
-#include "test.h"
-#include "usctest.h"
-void setup();
-void cleanup(void) __attribute__((noreturn));
-
-const char *TCID="access01"; /* Test program identifier. */
-int TST_TOTAL=4; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-
-
-char Fname[255];
-
-
-/***********************************************************************
- * Main
- ***********************************************************************/
-int main(int ac, char **av)
-{
- struct test_case_t {
- char *file;
- unsigned mode;
- const char *string;
- int experrno;
- } Test_cases[] = {
- { Fname, F_OK, "F_OK", 0 },
- { Fname, X_OK, "X_OK", 0 },
- { Fname, W_OK, "W_OK", 0 },
- { Fname, R_OK, "R_OK", 0 },
- };
-
- int Ntc = sizeof(Test_cases) / sizeof(struct test_case_t);
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
- int tc;
-
- TST_TOTAL=Ntc;
-
- /***************************************************************
- * parse standard options
- ***************************************************************/
- if ( (msg=parse_opts(ac, av, (option_t *)NULL, NULL)) != (char *) NULL ) {
- tst_brkm(TBROK, NULL, "OPTION PARSING ERROR - %s", msg);
- tst_exit();
- }
-
- /***************************************************************
- * perform global setup for test
- ***************************************************************/
- setup();
-
- /***************************************************************
- * check looping state if -c option given
- ***************************************************************/
- for (lc=0; TEST_LOOPING(lc); lc++) {
-
- /* reset Tst_count in case we are looping. */
- Tst_count=0;
-
- for (tc=0; tc<Ntc; tc++) {
- /*
- * Call access(2)
- */
- TEST(access(Test_cases[tc].file, Test_cases[tc].mode));
-
- /* check return code */
- if ( TEST_RETURN == -1 && Test_cases[tc].experrno == 0 ) {
- tst_resm(TFAIL, "access(%s, %s) Failed, errno=%d : %s",
- Test_cases[tc].file, Test_cases[tc].string,
- TEST_ERRNO, strerror(TEST_ERRNO));
-
- } else if ( TEST_RETURN != -1 && Test_cases[tc].experrno != 0 ) {
- tst_resm(TFAIL, "access(%s, %s) returned %d, exp -1, errno:%d",
- Test_cases[tc].file, Test_cases[tc].string,
- TEST_RETURN, Test_cases[tc].experrno);
- } else {
-
- /***************************************************************
- * only perform functional verification if flag set (-f not given)
- ***************************************************************/
- if ( STD_FUNCTIONAL_TEST ) {
- /* No Verification test, yet... */
- tst_resm(TPASS, "access(%s, %s) returned %d",
- Test_cases[tc].file, Test_cases[tc].string,
- TEST_RETURN);
- }
- }
- }
-
- } /* End for TEST_LOOPING */
-
- /***************************************************************
- * cleanup and exit
- ***************************************************************/
- cleanup();
-
- return 0;
-} /* End main */
-
-/***************************************************************
- * setup() - performs all ONE TIME setup for this test.
- ***************************************************************/
-void
-setup()
-{
- int fd;
- struct stat stbuf;
-
- /* capture signals */
- tst_sig(FORK, DEF_HANDLER, cleanup);
-
- umask(0); /* reset umask avoid it affects on modes */
-
- /* make a temp directory and cd to it */
- tst_tmpdir();
-
- /*
- * Since files inherit group ids, make sure our dir has a valid grp
- * to us.
- */
- chown(".", -1, getgid());
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-
- sprintf(Fname,"accessfile");
-
- if ((fd = open(Fname, O_RDWR|O_CREAT, 06777)) == -1) {
- tst_brkm(TBROK, cleanup, "open(%s, O_RDWR|O_CREAT,06777) Failed, errno=%d : %s",
- Fname, errno, strerror(errno));
- }
- else if (close(fd) == -1) {
- tst_resm(TINFO, "close(%s) Failed, errno=%d : %s",
- Fname, errno, strerror(errno));
- }
-
- /*
- * force the mode to be set to 6777
- */
- if (chmod(Fname, 06777) == -1 ) {
- tst_brkm(TBROK, cleanup, "chmod(%s, 06777) failed, errno:%d %s\n",
- Fname, errno, strerror(errno));
- }
-
- stat(Fname, &stbuf);
-
- if ( (stbuf.st_mode & 06777) != 06777 ) {
- /*
- * file can not be properly setup
- */
- }
-
-} /* End setup() */
-
-
-/***************************************************************
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- ***************************************************************/
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- */
- TEST_CLEANUP;
-
- /* remove the temp dir */
- tst_rmdir();
-
- /* exit with return code appropriate for results */
- tst_exit();
-
-} /* End cleanup() */
-
-
diff --git a/winsup/testsuite/winsup.api/ltp/access03.c b/winsup/testsuite/winsup.api/ltp/access03.c
deleted file mode 100644
index f0870a6fa..000000000
--- a/winsup/testsuite/winsup.api/ltp/access03.c
+++ /dev/null
@@ -1,506 +0,0 @@
-/*
- * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it would be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Further, this software is distributed without any warranty that it is
- * free of the rightful claim of any third person regarding infringement
- * or the like. Any license provided herein, whether implied or
- * otherwise, applies only to this software file. Patent licenses, if
- * any, provided herein do not apply to combinations of this program with
- * other software, or any other product whatsoever.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write the Free Software Foundation, Inc., 59
- * Temple Place - Suite 330, Boston MA 02111-1307, USA.
- *
- * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
- * Mountain View, CA 94043, or:
- *
- * http://www.sgi.com
- *
- * For further information regarding this notice, see:
- *
- * http://oss.sgi.com/projects/GenInfo/NoticeExplan/
- *
- */
-/* $Id$ */
-/**********************************************************
- *
- * OS Test - Silicon Graphics, Inc.
- *
- * TEST IDENTIFIER : access03
- *
- * EXECUTED BY : anyone
- *
- * TEST TITLE : EFAULT error testing for access(2)
- *
- * PARENT DOCUMENT : acstds01
- *
- * TEST CASE TOTAL : 8
- *
- * WALL CLOCK TIME : 1
- *
- * CPU TYPES : ALL
- *
- * AUTHOR : Kathy Olmsted
- *
- * CO-PILOT : Tom Hampson
- *
- * DATE STARTED : 05/13/92
- *
- * INITIAL RELEASE : UNICOS 7.0
- *
- * TEST CASES
- *
- * access(2) test for errno(s) EFAULT.
- *
- * INPUT SPECIFICATIONS
- * The standard options for system call tests are accepted.
- * (See the parse_opts(3) man page).
- *
- * DURATION
- * Terminates - with frequency and infinite modes.
- *
- * SIGNALS
- * Uses SIGUSR1 to pause before test if option set.
- * (See the parse_opts(3) man page).
- *
- * ENVIRONMENTAL NEEDS
- * No run-time environmental needs.
- *
- * DETAILED DESCRIPTION
- *
- * Setup:
- * Setup signal handling.
- * Make and change to a temporary directory.
- * Pause for SIGUSR1 if option specified.
- *
- * Test:
- * Loop if the proper options are given.
- * Execute system call
- * Check return code, if system call failed (return=-1)
- * Log the errno.
- * If doing functional test
- * check the errno returned and print result message
- *
- * Cleanup:
- * Print errno log and/or timing stats if options given
- * Remove the temporary directory and exit.
- *
- *
- *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#**/
-
-#include <errno.h>
-#include <string.h>
-#include <signal.h>
-
-
-#include "test.h"
-#include "usctest.h"
-
-
-void setup();
-void cleanup(void) __attribute__((noreturn));
-
-
-char *get_high_address();
-
-const char *TCID="access03"; /* Test program identifier. */
-int TST_TOTAL=8; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-
-int exp_enos[]={EFAULT, 0}; /* List must end with 0 */
-
-int main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
-
-
-
- /***************************************************************
- * parse standard options
- ***************************************************************/
- if ( (msg=parse_opts(ac, av, (option_t *) NULL, NULL)) != (char *) NULL )
- tst_brkm(TBROK, cleanup, "OPTION PARSING ERROR - %s", msg);
-
- /***************************************************************
- * perform global setup for test
- ***************************************************************/
- setup();
-
- /* set the expected errnos. */
- TEST_EXP_ENOS(exp_enos);
-
- /***************************************************************
- * check looping state if -c option given
- ***************************************************************/
- for (lc=0; TEST_LOOPING(lc); lc++) {
-
- /* reset Tst_count in case we are looping. */
- Tst_count=0;
-
-
- /*
- * TEST CASE:
- * R_OK on low pointer (-1) for path
- */
-
-
- /* Call access(2) */
- TEST(access( (char *)-1,R_OK));
-
-
- /* check return code */
- if ( TEST_RETURN == -1 ) {
- TEST_ERROR_LOG(TEST_ERRNO);
- }
-
- /***************************************************************
- * only perform functional verification if flag set (-f not given)
- ***************************************************************/
- if ( STD_FUNCTIONAL_TEST ) {
- if ( TEST_RETURN == -1 ) {
- if (TEST_ERRNO == EFAULT) {
- tst_resm(TPASS,
- "access((char *)-1,R_OK) failed as expected with errno %d (EFAULT) : %s",
- TEST_ERRNO, strerror(TEST_ERRNO));
- }
- else {
- tst_resm(TFAIL,
- "access((char *)-1,R_OK) failed with errno %d : %s but expected %d (EFAULT)",
- TEST_ERRNO, strerror(TEST_ERRNO),EFAULT);
- }
- }
- else {
- tst_resm(TFAIL,
- "access((char *)-1,R_OK) succeeded unexpectedly.");
-
- }
- }
-
-
- /*
- * TEST CASE:
- * W_OK on low pointer (-1) for path
- */
-
-
- /* Call access(2) */
- TEST(access( (char *)-1,W_OK));
-
- /* check return code */
- if ( TEST_RETURN == -1 ) {
- TEST_ERROR_LOG(TEST_ERRNO);
- }
-
- /***************************************************************
- * only perform functional verification if flag set (-f not given)
- ***************************************************************/
- if ( STD_FUNCTIONAL_TEST ) {
- if ( TEST_RETURN == -1 ) {
- if (TEST_ERRNO == EFAULT) {
- tst_resm(TPASS,
- "access((char *)-1,W_OK) failed as expected with errno %d (EFAULT) : %s",
- TEST_ERRNO, strerror(TEST_ERRNO));
- }
- else {
- tst_resm(TFAIL,
- "access((char *)-1,W_OK) failed with errno %d : %s but expected %d (EFAULT)",
- TEST_ERRNO, strerror(TEST_ERRNO),EFAULT);
- }
- }
- else {
- tst_resm(TFAIL,
- "access((char *)-1,W_OK) succeeded unexpectedly.");
-
- }
- }
-
-
- /*
- * TEST CASE:
- * X_OK on low pointer (-1) for path
- */
-
-
- /* Call access(2) */
- TEST(access( (char *)-1,X_OK));
-
-
- /* check return code */
- if ( TEST_RETURN == -1 ) {
- TEST_ERROR_LOG(TEST_ERRNO);
- }
-
- /***************************************************************
- * only perform functional verification if flag set (-f not given)
- ***************************************************************/
- if ( STD_FUNCTIONAL_TEST ) {
- if ( TEST_RETURN == -1 ) {
- if (TEST_ERRNO == EFAULT) {
- tst_resm(TPASS,
- "access((char*)-1,X_OK) failed as expected with errno %d (EFAULT) : %s",
- TEST_ERRNO, strerror(TEST_ERRNO));
- }
- else {
- tst_resm(TFAIL,
- "access((char*)-1,X_OK) failed with errno %d : %s but expected %d (EFAULT)",
- TEST_ERRNO, strerror(TEST_ERRNO),EFAULT);
- }
- }
- else {
- tst_resm(TFAIL,
- "access((char*)-1,X_OK) succeeded unexpectedly.");
-
- }
- }
-
-
- /*
- * TEST CASE:
- * F_OK on low pointer (-1) for path
- */
-
-
- /* Call access(2) */
- TEST(access( (char *)-1,F_OK));
-
-
- /* check return code */
- if ( TEST_RETURN == -1 ) {
- TEST_ERROR_LOG(TEST_ERRNO);
- }
-
- /***************************************************************
- * only perform functional verification if flag set (-f not given)
- ***************************************************************/
- if ( STD_FUNCTIONAL_TEST ) {
- if ( TEST_RETURN == -1 ) {
- if (TEST_ERRNO == EFAULT) {
- tst_resm(TPASS,
- "access((char*)-1,F_OK) failed as expected with errno %d (EFAULT) : %s",
- TEST_ERRNO, strerror(TEST_ERRNO));
- }
- else {
- tst_resm(TFAIL,
- "access((char*)-1,F_OK) failed with errno %d : %s but expected %d (EFAULT)",
- TEST_ERRNO, strerror(TEST_ERRNO),EFAULT);
- }
- }
- else {
- tst_resm(TFAIL,
- "access((char*)-1,F_OK) succeeded unexpectedly.");
-
- }
- }
-
-
- /*
- * TEST CASE:
- * R_OK on high pointer (sbrk(0)+1) for path
- */
-
-
- /* Call access(2) */
- TEST(access(get_high_address(),R_OK));
-
-
- /* check return code */
- if ( TEST_RETURN == -1 ) {
- TEST_ERROR_LOG(TEST_ERRNO);
- }
-
- /***************************************************************
- * only perform functional verification if flag set (-f not given)
- ***************************************************************/
- if ( STD_FUNCTIONAL_TEST ) {
- if ( TEST_RETURN == -1 ) {
- if (TEST_ERRNO == EFAULT) {
- tst_resm(TPASS,
- "access((char*)sbrk(0)+1,R_OK) failed as expected with errno %d (EFAULT) : %s",
- TEST_ERRNO, strerror(TEST_ERRNO));
- }
- else {
- tst_resm(TFAIL,
- "access((char*)sbrk(0)+1,R_OK) failed with errno %d : %s but expected %d (EFAULT)",
- TEST_ERRNO, strerror(TEST_ERRNO),EFAULT);
- }
- }
- else {
- tst_resm(TFAIL,
- "access((char*)sbrk(0)+1,R_OK) succeeded unexpectedly.");
-
- }
- }
-
-
- /*
- * TEST CASE:
- * W_OK on high pointer (sbrk(0)+1) for path
- */
-
-
- /* Call access(2) */
- TEST(access(get_high_address(),W_OK));
-
-
- /* check return code */
- if ( TEST_RETURN == -1 ) {
- TEST_ERROR_LOG(TEST_ERRNO);
- }
-
- /***************************************************************
- * only perform functional verification if flag set (-f not given)
- ***************************************************************/
- if ( STD_FUNCTIONAL_TEST ) {
- if ( TEST_RETURN == -1 ) {
- if (TEST_ERRNO == EFAULT) {
- tst_resm(TPASS,
- "access((char*)sbrk(0)+1,W_OK) failed as expected with errno %d (EFAULT) : %s",
- TEST_ERRNO, strerror(TEST_ERRNO));
- }
- else {
- tst_resm(TFAIL,
- "access((char*)sbrk(0)+1,W_OK) failed with errno %d : %s but expected %d (EFAULT)",
- TEST_ERRNO, strerror(TEST_ERRNO),EFAULT);
- }
- }
- else {
- tst_resm(TFAIL,
- "access((char*)sbrk(0)+1,W_OK) succeeded unexpectedly.");
-
- }
- }
-
-
- /*
- * TEST CASE:
- * X_OK on high pointer (sbrk(0)+1) for path
- */
-
-
- /* Call access(2) */
- TEST(access(get_high_address(),X_OK));
-
-
- /* check return code */
- if ( TEST_RETURN == -1 ) {
- TEST_ERROR_LOG(TEST_ERRNO);
- }
-
- /***************************************************************
- * only perform functional verification if flag set (-f not given)
- ***************************************************************/
- if ( STD_FUNCTIONAL_TEST ) {
- if ( TEST_RETURN == -1 ) {
- if (TEST_ERRNO == EFAULT) {
- tst_resm(TPASS,
- "access(high_address,X_OK) failed as expected with errno %d (EFAULT) : %s",
- TEST_ERRNO, strerror(TEST_ERRNO));
- }
- else {
- tst_resm(TFAIL,
- "access(high_address,X_OK) failed with errno %d : %s but expected %d (EFAULT)",
- TEST_ERRNO, strerror(TEST_ERRNO),EFAULT);
- }
- }
- else {
- tst_resm(TFAIL,
- "access(high_address,X_OK) succeeded unexpectedly.");
-
- }
- }
-
-
- /*
- * TEST CASE:
- * F_OK on high pointer (sbrk(0)+1) for path
- */
-
-
- /* Call access(2) */
- TEST(access(get_high_address(),F_OK));
-
-
- /* check return code */
- if ( TEST_RETURN == -1 ) {
- TEST_ERROR_LOG(TEST_ERRNO);
- }
-
- /***************************************************************
- * only perform functional verification if flag set (-f not given)
- ***************************************************************/
- if ( STD_FUNCTIONAL_TEST ) {
- if ( TEST_RETURN == -1 ) {
- if (TEST_ERRNO == EFAULT) {
- tst_resm(TPASS,
- "access((char*)sbrk(0)+1,F_OK) failed as expected with errno %d (EFAULT) : %s",
- TEST_ERRNO, strerror(TEST_ERRNO));
- }
- else {
- tst_resm(TFAIL,
- "access((char*)sbrk(0)+1,F_OK) failed with errno %d : %s but expected %d (EFAULT)",
- TEST_ERRNO, strerror(TEST_ERRNO),EFAULT);
- }
- }
- else {
- tst_resm(TFAIL,
- "access((char*)sbrk(0)+1,F_OK) succeeded unexpectedly.");
-
- }
- }
-
-
- } /* End for TEST_LOOPING */
-
- /***************************************************************
- * cleanup and exit
- ***************************************************************/
- cleanup();
-
- return 0;
-} /* End main */
-
-/***************************************************************
- * setup() - performs all ONE TIME setup for this test.
- ***************************************************************/
-void
-setup()
-{
- /* capture signals */
- tst_sig(NOFORK, DEF_HANDLER, cleanup);
-
- /* make and change to a temporary directory */
- tst_tmpdir();
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-} /* End setup() */
-
-
-/***************************************************************
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- ***************************************************************/
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /* remove the temporary directory and exit with
- return code appropriate for results */
- tst_rmdir();
- tst_exit();
-} /* End cleanup() */
diff --git a/winsup/testsuite/winsup.api/ltp/access04.c b/winsup/testsuite/winsup.api/ltp/access04.c
deleted file mode 100644
index 069458886..000000000
--- a/winsup/testsuite/winsup.api/ltp/access04.c
+++ /dev/null
@@ -1,241 +0,0 @@
-/*
- *
- * Copyright (c) International Business Machines Corp., 2001
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-/*
- * Test Name: access01
- *
- * Test Description:
- * Verify that access() succeeds to check the existance of a file if
- * search access is permitted on the pathname of the specified file.
- *
- * Expected Result:
- * access() should return 0 value and the specified file should exist
- * on the file system.
- *
- * Algorithm:
- * Setup:
- * Setup signal handling.
- * Create temporary directory.
- * Pause for SIGUSR1 if option specified.
- *
- * Test:
- * Loop if the proper options are given.
- * Execute system call
- * Check return code, if system call failed (return=-1)
- * Log the errno and Issue a FAIL message.
- * Otherwise,
- * Verify the Functionality of system call
- * if successful,
- * Issue Functionality-Pass message.
- * Otherwise,
- * Issue Functionality-Fail message.
- * Cleanup:
- * Print errno log and/or timing stats if options given
- * Delete the temporary directory created.
- *
- * Usage: <for command-line>
- * access01 [-c n] [-f] [-i n] [-I x] [-P x] [-t]
- * where, -c n : Run n copies concurrently.
- * -f : Turn off functionality Testing.
- * -i n : Execute test n times.
- * -I x : Execute test for x seconds.
- * -P x : Pause for x seconds between iterations.
- * -t : Turn on syscall timing.
- *
- * HISTORY
- * 07/2001 Ported by Wayne Boyer
- *
- * RESTRICTIONS:
- * None.
- *
- */
-
-#include <sys/types.h>
-#include <errno.h>
-#include <fcntl.h>
-#include <string.h>
-#include <signal.h>
-#include <sys/stat.h>
-
-#include "test.h"
-#include "usctest.h"
-
-#define TESTDIR "testdir"
-#define TESTFILE "testdir/testfile"
-#define DIR_MODE S_IRWXU | S_IRUSR | S_IXUSR | S_IRGRP | S_IXGRP
-#define FILE_MODE S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH
-
-const char *TCID="access01"; /* Test program identifier. */
-int TST_TOTAL=1; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-
-void setup(); /* Main setup function of test */
-void cleanup(void) __attribute__((noreturn)); /* cleanup function for the test */
-
-int
-main(int ac, char **av)
-{
- struct stat stat_buf; /* struct buffer for stat(2) */
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
-
- /* Parse standard options given to run the test. */
- msg = parse_opts(ac, av, (option_t *)NULL, NULL);
- if (msg != (char *)NULL) {
- tst_brkm(TBROK, tst_exit, "OPTION PARSING ERROR - %s", msg);
- }
-
- /* Perform global setup for test */
- setup();
-
- /* Check looping state if -i option given */
- for (lc = 0; TEST_LOOPING(lc); lc++) {
- /* Reset Tst_count in case we are looping. */
- Tst_count=0;
-
- /*
- * Call access(2) to check the existence of a
- * file under specified path.
- */
- TEST(access(TESTFILE, F_OK));
-
- /* check return code of access(2) */
- if (TEST_RETURN == -1) {
- tst_resm(TFAIL,
- "access(%s, F_OK) Failed, errno=%d : %s",
- TESTFILE, TEST_ERRNO, strerror(TEST_ERRNO));
- continue;
- }
-
- /*
- * Perform functional verification if test
- * executed without (-f) option.
- */
- if (STD_FUNCTIONAL_TEST) {
- /*
- * Use stat(2) to cross-check the
- * existance of testfile under
- * specified path.
- */
- if (stat(TESTFILE, &stat_buf) < 0) {
- tst_resm(TFAIL, "stat() on %s Failed, errno=%d",
- TESTFILE, TEST_ERRNO);
- } else {
- tst_resm(TPASS, "Functionality of access(%s, "
- "F_OK) successful", TESTFILE);
- }
- } else {
- tst_resm(TPASS, "call succeeded");
- }
- } /* End for TEST_LOOPING */
-
- /* Call cleanup() to undo setup done for the test. */
- cleanup();
-
- /*NOTREACHED*/
-}
-
-/*
- * setup() - performs all ONE TIME setup for this test.
- *
- * Create a temporary directory and change directory to it.
- * Create a test directory and a file under test directory.
- * Modify the mode permissions of testfile.
- */
-void
-setup()
-{
- int fd; /* File handle for testfile */
-
- /* capture signals */
- tst_sig(NOFORK, DEF_HANDLER, cleanup);
-
- /* Check that the test process id is not root/super-user */
- if (geteuid() == 0) {
- tst_brkm(TBROK, NULL, "Must be non-root/super for this test!");
- tst_exit();
- }
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-
- /* make a temp directory and cd to it */
- tst_tmpdir();
-
- /* Creat a test directory under temporary directory */
- if (mkdir(TESTDIR, DIR_MODE) < 0) {
- tst_brkm(TBROK, cleanup,
- "mkdir(%s, %#o) Failed, errno=%d : %s",
- TESTDIR, DIR_MODE, errno, strerror(errno));
- }
-
- /* Make sure test directory has search permissions set */
- if (chmod(TESTDIR, DIR_MODE) < 0) {
- tst_brkm(TBROK, cleanup,
- "chmod(%s, %#o) Failed, errno=%d : %s",
- TESTDIR, DIR_MODE, errno, strerror(errno));
- }
-
- /* Creat a test file under above directory created */
- if ((fd = open(TESTFILE, O_RDWR|O_CREAT, FILE_MODE)) == -1) {
- tst_brkm(TBROK, cleanup,
- "open(%s, O_RDWR|O_CREAT, %#o) Failed, errno=%d :%s",
- TESTFILE, FILE_MODE, errno, strerror(errno));
- }
-
- /* Close the testfile created above */
- if (close(fd) == -1) {
- tst_brkm(TBROK, cleanup,
- "close(%s) Failed, errno=%d : %s",
- TESTFILE, errno, strerror(errno));
- }
-
- /* Change the mode permissions on the testfile */
- if (chmod(TESTFILE, 0) < 0) {
- tst_brkm(TBROK, cleanup,
- "chmod(%s, 0) Failed, errno=%d : %s",
- TESTFILE, errno, strerror(errno));
- }
-}
-
-
-/*
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- *
- * Remove the test directory and testfile created in the setup.
- */
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /*
- * Delete the test directory/file and temporary directory
- * created in the setup.
- */
- tst_rmdir();
-
- /* exit with return code appropriate for results */
- tst_exit();
-}
diff --git a/winsup/testsuite/winsup.api/ltp/access05.c b/winsup/testsuite/winsup.api/ltp/access05.c
deleted file mode 100644
index 757c64f33..000000000
--- a/winsup/testsuite/winsup.api/ltp/access05.c
+++ /dev/null
@@ -1,424 +0,0 @@
-/*
- *
- * Copyright (c) International Business Machines Corp., 2001
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-/*
- * Test Name: access03
- *
- * Test Description:
- * Verify that,
- * 1. access() fails with -1 return value and sets errno to EACCES
- * if the permission bits of the file mode do not permit the
- * requested (Read/Write/Execute) access.
- * 2. access() fails with -1 return value and sets errno to EINVAL
- * if the specified access mode argument is invalid.
- * 3. access() fails with -1 return value and sets errno to EFAULT
- * if the pathname points outside allocate address space for the
- * process.
- * 4. access() fails with -1 return value and sets errno to ENOENT
- * if the specified file doesn't exist (or pathname is NULL).
- * 5. access() fails with -1 return value and sets errno to ENAMETOOLONG
- * if the pathname size is > PATH_MAX characters.
- *
- * Expected Result:
- * access() should fail with return value -1 and set expected errno.
- *
- * Algorithm:
- * Setup:
- * Setup signal handling.
- * Create temporary directory.
- * Pause for SIGUSR1 if option specified.
- *
- * Test:
- * Loop if the proper options are given.
- * Execute system call
- * Check return code, if system call failed (return=-1)
- * if errno set == expected errno
- * Issue sys call fails with expected return value and errno.
- * Otherwise,
- * Issue sys call fails with unexpected errno.
- * Otherwise,
- * Issue sys call returns unexpected value.
- *
- * Cleanup:
- * Print errno log and/or timing stats if options given
- * Delete the temporary directory(s)/file(s) created.
- *
- * Usage: <for command-line>
- * access03 [-c n] [-e] [-i n] [-I x] [-P x] [-t]
- * where, -c n : Run n copies concurrently.
- * -e : Turn on errno logging.
- * -i n : Execute test n times.
- * -I x : Execute test for x seconds.
- * -P x : Pause for x seconds between iterations.
- * -t : Turn on syscall timing.
- *
- * HISTORY
- * 07/2001 Ported by Wayne Boyer
- *
- * RESTRICTIONS:
- * This test should be run by 'non-super-user' only.
- *
- */
-
-#include <errno.h>
-#include <fcntl.h>
-#include <string.h>
-#include <signal.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-
-#include "test.h"
-#include "usctest.h"
-
-#define INV_OK -1
-#define TEST_FILE1 "test_file1"
-#define TEST_FILE2 "test_file2"
-#define TEST_FILE3 "test_file3"
-#define TEST_FILE4 "test_file4"
-
-#define FILE_MODE S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH
-
-int no_setup();
-int setup1(); /* setup() to test access() for EACCES */
-int setup2(); /* setup() to test access() for EACCES */
-int setup3(); /* setup() to test access() for EACCES */
-int setup4(); /* setup() to test access() for EINVAL */
-int longpath_setup(); /* setup function to test access() for ENAMETOOLONG */
-
-char Longpathname[PATH_MAX+2];
-char High_address_node[64];
-
-struct test_case_t { /* test case structure */
- const char *pathname;
- int a_mode;
- const char *desc;
- int exp_errno;
- int (*setupfunc)();
-} Test_cases[] = {
- { TEST_FILE1, R_OK, "Read Access denied on file", EACCES, setup1 },
- { TEST_FILE2, W_OK, "Write Access denied on file", EACCES, setup2 },
- { TEST_FILE3, X_OK, "Execute Access denied on file", EACCES, setup3 },
- { TEST_FILE4, INV_OK, "Access mode invalid", EINVAL, setup4 },
- { High_address_node, R_OK, "Address beyond address space", EFAULT, no_setup },
- { (char *)-1, R_OK, "Negative address", EFAULT, no_setup },
- { "", W_OK, "Pathname is empty", ENOENT, no_setup },
- { Longpathname, R_OK, "Pathname too long", ENAMETOOLONG, longpath_setup },
- { NULL, 0, NULL, 0, no_setup }
-};
-
-const char *TCID="access03"; /* Test program identifier. */
-int TST_TOTAL=8; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-int exp_enos[]={EACCES, EFAULT, EINVAL, ENOENT, ENAMETOOLONG, 0};
-
-void setup(); /* Main setup function of test */
-void cleanup(void) __attribute__((noreturn)); /* cleanup function for the test */
-char *get_high_address (void);
-
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
- const char *file_name; /* name of the testfile */
- const char *test_desc; /* test specific message */
- int access_mode; /* specified access mode for testfile */
- int ind; /* counter for testcase looping */
-
- /* Parse standard options given to run the test. */
- msg = parse_opts(ac, av, (option_t *) NULL, NULL);
- if (msg != (char *) NULL) {
- tst_brkm(TBROK, tst_exit, "OPTION PARSING ERROR - %s", msg);
- }
-
- /* Perform global setup for test */
- setup();
-
- /* set the expected errnos... */
- TEST_EXP_ENOS(exp_enos);
-
- /* Check looping state if -i option given */
- for (lc = 0; TEST_LOOPING(lc); lc++) {
- /* Reset Tst_count in case we are looping. */
- Tst_count = 0;
-
- for (ind = 0; Test_cases[ind].desc != NULL; ind++) {
- file_name = Test_cases[ind].pathname;
- access_mode = Test_cases[ind].a_mode;
- test_desc = Test_cases[ind].desc;
-
- if (file_name == High_address_node) {
- file_name = (char *)get_high_address();
- }
-
- /*
- * Call access(2) to test different test conditions.
- * verify that it fails with -1 return value and
- * sets appropriate errno.
- */
- TEST(access(file_name, access_mode));
-
- if (TEST_RETURN != -1) {
- tst_resm(TFAIL, "access() returned %d, "
- "expected -1, errno:%d", TEST_RETURN,
- Test_cases[ind].exp_errno);
- continue;
- }
-
- TEST_ERROR_LOG(TEST_ERRNO);
-
- /*
- * Call a function to verify whether
- * the specified file has specified
- * access mode.
- */
- if (TEST_ERRNO == Test_cases[ind].exp_errno) {
- tst_resm(TPASS, "access() fails, %s, errno:%d",
- test_desc, TEST_ERRNO);
- } else {
- tst_resm(TFAIL, "access() fails, %s, errno:%d, "
- "expected errno:%d", test_desc,
- TEST_ERRNO, Test_cases[ind].exp_errno);
- }
- } /* Test Case Looping */
- } /* End for TEST_LOOPING */
-
- /* Call cleanup() to undo setup done for the test. */
- cleanup();
-
- /*NOTREACHED*/
-}
-
-/*
- * setup() - performs all ONE TIME setup for this test.
- *
- * Create a temporary directory and change directory to it.
- * Call individual test specific setup functions.
- */
-void
-setup()
-{
- int ind; /* counter for testsetup functions */
-
- /* capture signals */
- tst_sig(NOFORK, DEF_HANDLER, cleanup);
-
- /* Check that the test process id is not root/super-user */
- if (geteuid() == 0) {
- tst_brkm(TBROK, NULL, "Must be non-root/super for this test!");
- tst_exit();
- }
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-
- /* make a temp directory and cd to it */
- tst_tmpdir();
-
- /* call individual setup functions */
- for (ind = 0; Test_cases[ind].desc != NULL; ind++) {
- Test_cases[ind].setupfunc();
- }
-}
-
-/*
- * no_setup() - some test conditions do not need any setup.
- * Hence, this function simply returns 0.
- */
-int
-no_setup()
-{
- return 0;
-}
-
-/*
- * setup1() - Setup function to test access() for return value -1
- * and errno EACCES when read access denied for specified
- * testfile.
- *
- * Creat/open a testfile and close it.
- * Deny read access permissions on testfile.
- * This function returns 0.
- */
-int
-setup1()
-{
- int fd1; /* file handle for testfile */
-
- /* Creat a test file under above directory created */
- if ((fd1 = open(TEST_FILE1, O_RDWR|O_CREAT, FILE_MODE)) == -1) {
- tst_brkm(TBROK, cleanup,
- "open(%s, O_RDWR|O_CREAT, %#o) Failed, errno=%d :%s",
- TEST_FILE1, FILE_MODE, errno, strerror(errno));
- }
-
- /* Close the testfile created above */
- if (close(fd1) == -1) {
- tst_brkm(TBROK, cleanup, "close(%s) Failed, errno=%d : %s",
- TEST_FILE1, errno, strerror(errno));
- }
-
- /* Change mode permissions on testfile */
- if (chmod(TEST_FILE1, 0333) < 0) {
- tst_brkm(TBROK, cleanup, "chmod() failed on %s, errno=%d",
- TEST_FILE1, errno);
- }
-
- return 0;
-}
-
-/*
- * setup2() - Setup function to test access() for return value -1 and
- * errno EACCES when write access denied on testfile.
- *
- * Creat/open a testfile and close it.
- * Deny write access permissions on testfile.
- * This function returns 0.
- */
-int
-setup2()
-{
- int fd2; /* file handle for testfile */
-
- /* Creat a test file under above directory created */
- if ((fd2 = open(TEST_FILE2, O_RDWR|O_CREAT, FILE_MODE)) == -1) {
- tst_brkm(TBROK, cleanup,
- "open(%s, O_RDWR|O_CREAT, %#o) Failed, errno=%d :%s",
- TEST_FILE2, FILE_MODE, errno, strerror(errno));
- }
-
- /* Close the testfile created above */
- if (close(fd2) == -1) {
- tst_brkm(TBROK, cleanup, "close(%s) Failed, errno=%d : %s",
- TEST_FILE2, errno, strerror(errno));
- }
-
- /* Change mode permissions on testfile */
- if (chmod(TEST_FILE2, 0555) < 0) {
- tst_brkm(TBROK, cleanup, "chmod() failed on %s, errno=%d",
- TEST_FILE2, errno);
- }
-
- return 0;
-}
-
-/*
- * setup3() - Setup function to test access() for return value -1 and
- * errno EACCES when execute access denied on testfile.
- *
- * Creat/open a testfile and close it.
- * Deny search access permissions on testfile.
- * This function returns 0.
- */
-int
-setup3()
-{
- int fd3; /* file handle for testfile */
-
- /* Creat a test file under above directory created */
- if ((fd3 = open(TEST_FILE3, O_RDWR|O_CREAT, FILE_MODE)) == -1) {
- tst_brkm(TBROK, cleanup,
- "open(%s, O_RDWR|O_CREAT, %#o) Failed, errno=%d :%s",
- TEST_FILE3, FILE_MODE, errno, strerror(errno));
- }
-
- /* Close the testfile created above */
- if (close(fd3) == -1) {
- tst_brkm(TBROK, cleanup, "close(%s) Failed, errno=%d : %s",
- TEST_FILE3, errno, strerror(errno));
- }
-
- /* Change mode permissions on testfile */
- if (chmod(TEST_FILE3, 0666) < 0) {
- tst_brkm(TBROK, cleanup, "chmod() failed on %s, errno=%d",
- TEST_FILE3, errno);
- }
-
- return 0;
-}
-
-/*
- * setup4() - Setup function to test access() for return value -1
- * and errno EINVAL when specified access mode argument is
- * invalid.
- *
- * Creat/open a testfile and close it.
- * This function returns 0.
- */
-int
-setup4()
-{
- int fd4; /* file handle for testfile */
-
- /* Creat a test file under above directory created */
- if ((fd4 = open(TEST_FILE4, O_RDWR|O_CREAT, FILE_MODE)) == -1) {
- tst_brkm(TBROK, cleanup,
- "open(%s, O_RDWR|O_CREAT, %#o) Failed, errno=%d :%s",
- TEST_FILE4, FILE_MODE, errno, strerror(errno));
- }
-
- /* Close the testfile created above */
- if (close(fd4) == -1) {
- tst_brkm(TBROK, cleanup, "close(%s) Failed, errno=%d : %s",
- TEST_FILE4, errno, strerror(errno));
- }
-
- return 0;
-}
-
-/*
- * longpath_setup() - setup to create a node with a name length exceeding
- * the MAX. length of PATH_MAX.
- */
-int
-longpath_setup()
-{
- int ind;
-
- for (ind = 0; ind <= (PATH_MAX + 1); ind++) {
- Longpathname[ind] = 'a';
- }
-
- return 0;
-}
-
-/*
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- *
- * Remove the test directory and testfile created in the setup.
- */
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /*
- * Delete the test directory/file and temporary directory
- * created in the setup.
- */
- tst_rmdir();
-
- /* exit with return code appropriate for results */
- tst_exit();
-}
diff --git a/winsup/testsuite/winsup.api/ltp/alarm01.c b/winsup/testsuite/winsup.api/ltp/alarm01.c
deleted file mode 100644
index 187e488c9..000000000
--- a/winsup/testsuite/winsup.api/ltp/alarm01.c
+++ /dev/null
@@ -1,226 +0,0 @@
-/*
- * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it would be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Further, this software is distributed without any warranty that it is
- * free of the rightful claim of any third person regarding infringement
- * or the like. Any license provided herein, whether implied or
- * otherwise, applies only to this software file. Patent licenses, if
- * any, provided herein do not apply to combinations of this program with
- * other software, or any other product whatsoever.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write the Free Software Foundation, Inc., 59
- * Temple Place - Suite 330, Boston MA 02111-1307, USA.
- *
- * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
- * Mountain View, CA 94043, or:
- *
- * http://www.sgi.com
- *
- * For further information regarding this notice, see:
- *
- * http://oss.sgi.com/projects/GenInfo/NoticeExplan/
- */
-/* $Id$ */
-/**********************************************************
- *
- * OS Test - Silicon Graphics, Inc.
- *
- * TEST IDENTIFIER : alarm01
- *
- * EXECUTED BY : anyone
- *
- * TEST TITLE : Basic test for alarm(2)
- *
- * PARENT DOCUMENT : usctpl01
- *
- * TEST CASE TOTAL : 1
- *
- * WALL CLOCK TIME : 1
- *
- * CPU TYPES : ALL
- *
- * AUTHOR : William Roske
- *
- * CO-PILOT : Dave Fenner
- *
- * DATE STARTED : 03/30/92
- *
- * INITIAL RELEASE : UNICOS 7.0
- *
- * TEST CASES
- *
- * 1.) alarm(2) returns...(See Description)
- *
- * INPUT SPECIFICATIONS
- * The standard options for system call tests are accepted.
- * (See the parse_opts(3) man page).
- *
- * OUTPUT SPECIFICATIONS
- *
- * DURATION
- * Terminates - with frequency and infinite modes.
- *
- * SIGNALS
- * Uses SIGUSR1 to pause before test if option set.
- * (See the parse_opts(3) man page).
- *
- * RESOURCES
- * None
- *
- * ENVIRONMENTAL NEEDS
- * The libcuts.a and libsys.a libraries must be included in
- * the compilation of this test.
- *
- * SPECIAL PROCEDURAL REQUIREMENTS
- * None
- *
- * INTERCASE DEPENDENCIES
- * None
- *
- * DETAILED DESCRIPTION
- * This is a Phase I test for the alarm(2) system call. It is intended
- * to provide a limited exposure of the system call, for now. It
- * should/will be extended when full functional tests are written for
- * alarm(2).
- *
- * Setup:
- * Setup signal handling.
- * Pause for SIGUSR1 if option specified.
- *
- * Test:
- * Loop if the proper options are given.
- * Execute system call
- * Check return code, if system call failed (return=-1)
- * Log the errno and Issue a FAIL message.
- * Otherwise, Issue a PASS message.
- *
- * Cleanup:
- * Print errno log and/or timing stats if options given
- *
- *
- *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#**/
-
-#include <errno.h>
-#include <string.h>
-#include <signal.h>
-#include "test.h"
-#include "usctest.h"
-
-extern void setup();
-extern void cleanup();
-
-
-
-const char *TCID="alarm01"; /* Test program identifier. */
-int TST_TOTAL=1; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-
-
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
-
- /***************************************************************
- * parse standard options
- ***************************************************************/
- if ( (msg=parse_opts(ac, av, (option_t *) NULL, NULL)) != (char *) NULL ) {
- tst_brkm(TBROK, NULL, "OPTION PARSING ERROR - %s", msg);
- tst_exit();
- }
-
- /***************************************************************
- * perform global setup for test
- ***************************************************************/
- setup();
-
- /***************************************************************
- * check looping state if -c option given
- ***************************************************************/
- for (lc=0; TEST_LOOPING(lc); lc++) {
-
- /* reset Tst_count in case we are looping. */
- Tst_count=0;
-
- /*
- * Call alarm(2)
- */
- TEST(alarm(1));
-
- /* check return code */
- if ( TEST_RETURN == -1 ) {
- tst_resm(TFAIL, "alarm(1) Failed, errno=%d : %s",
- TEST_ERRNO, strerror(TEST_ERRNO));
- } else {
-
- /***************************************************************
- * only perform functional verification if flag set (-f not given)
- ***************************************************************/
- if ( STD_FUNCTIONAL_TEST ) {
- /* No Verification test, yet... */
- tst_resm(TPASS, "alarm(1) returned %d", TEST_RETURN);
- }
- }
-
- } /* End for TEST_LOOPING */
-
- /***************************************************************
- * cleanup and exit
- ***************************************************************/
- cleanup();
-
- return 0;
-} /* End main */
-
-/***************************************************************
- * setup() - performs all ONE TIME setup for this test.
- ***************************************************************/
-void
-setup()
-{
- void trapper();
-
- /* capture signals */
- tst_sig(NOFORK, DEF_HANDLER, cleanup);
-
- signal(SIGALRM, trapper);
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-} /* End setup() */
-
-
-/***************************************************************
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- ***************************************************************/
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /* exit with return code appropriate for results */
- tst_exit();
-} /* End cleanup() */
-
-void
-trapper(sig)
-int sig;
-{
- signal(SIGALRM, trapper);
-}
-
diff --git a/winsup/testsuite/winsup.api/ltp/alarm02.c b/winsup/testsuite/winsup.api/ltp/alarm02.c
deleted file mode 100644
index 03a41b4f7..000000000
--- a/winsup/testsuite/winsup.api/ltp/alarm02.c
+++ /dev/null
@@ -1,240 +0,0 @@
-/*
- * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it would be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Further, this software is distributed without any warranty that it is
- * free of the rightful claim of any third person regarding infringement
- * or the like. Any license provided herein, whether implied or
- * otherwise, applies only to this software file. Patent licenses, if
- * any, provided herein do not apply to combinations of this program with
- * other software, or any other product whatsoever.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write the Free Software Foundation, Inc., 59
- * Temple Place - Suite 330, Boston MA 02111-1307, USA.
- *
- * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
- * Mountain View, CA 94043, or:
- *
- * http://www.sgi.com
- *
- * For further information regarding this notice, see:
- *
- * http://oss.sgi.com/projects/GenInfo/NoticeExplan/
- */
-/* $Id$ */
-/**********************************************************
- *
- * OS Test - Silicon Graphics, Inc.
- *
- * TEST IDENTIFIER : alarm02
- *
- * TEST TITLE : Boundary Value Test for alarm(2)
- *
- * PARENT DOCUMENT : almtds02
- *
- * TEST CASE TOTAL : 3
- *
- * WALL CLOCK TIME : 1
- *
- * CPU TYPES : ALL
- *
- * BINARY LOCATION : CUTS_BIN/rf_tests/sys
- *
- * SOURCE LOCATION : CUTS_SRC/src/tests/sys
- *
- * AUTHOR : Billy Jean Horne
- *
- * CO-PILOT : Kathy Olmsted
- *
- * DATE STARTED : 06/01/92
- *
- * INITIAL RELEASE : UNICOS 7.0
- *
- * TEST CASES
- * Test Case One - A call to alarm() shall not return an error if
- * seconds is a -1.
- * Test FAILS if a non-zero value is returned.
- * Test Case Two - A call to alarm() shall not return an error if
- * seconds is the maximum unsigned integer (2**63).
- * Test FAILS if a non-zero value is returned.
- * Test Case Three - A call to alarm() shall not return an error if
- * seconds is the maximum unsigned integer plus 1 ((2**63)+1).
- * Test FAILS if a non-zero value is returned.
- *
- * ENVIRONMENTAL NEEDS
- * The libcuts.a and libsys.a libraries must be included in
- * the compilation of this test.
- *
- * DETAILED DESCRIPTION
- *
- * Setup:
- * Define a cleanup function.
- *
- * Test:
- * Loop for each test case.
- * Execute alarm (0) system call to clear previous alarm.
- * Check return code, if system call failed (return=-1)
- * Issue a BROK message and exit the test.
- * Call alarm() with boundary values for seconds.
- * Verify that returned value is as expected.
- * Report results.
- *
- * Cleanup:
- *
- */
-#include <sys/types.h>
-#include <errno.h>
-#include <sys/signal.h>
-#include <limits.h>
-#include "test.h"
-#include "usctest.h" /* required for usctest */
-
-void setup();
-void cleanup(void) __attribute__((noreturn));
-void alarm_received();
-
-
-
-const char *TCID="alarm02"; /* Test program identifier. */
-int TST_TOTAL=3; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_ * routines */
-
-int received_alarm = 0; /* Indicates a SIGALRM was received */
-
-/************************************************************
- * Main program
- ***********************************************************/
-
-int
-main(int ac, char **av)
-{
-
- /* Parameters for usc code */
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
-
- /* Parameters for alarm test */
- const char *buf[] = { "-1", "ULONG_MAX", "ULONG_MAX+1"};
- unsigned long int sec[] = {-1, ULONG_MAX, ULONG_MAX+1};
- int exp[] = {0,0,0};
- int i;
-
-
- /***************************************************************
- * parse standard options
- ***************************************************************/
- if ( (msg=parse_opts(ac, av, (option_t *)NULL, NULL)) != (char *) NULL ) {
- tst_brkm(TBROK, NULL, "OPTION PARSING ERROR - %s", msg);
- tst_exit();
- }
-
- /***************************************************************
- * perform global setup for test
- ***************************************************************/
-
- setup();
-
- /***************************************************************
- * check looping state
- ***************************************************************/
- for (lc=0; TEST_LOOPING(lc); lc++) {
-
- /* reset Tst_count in case we are looping. */
-
- Tst_count=0;
-
- for (i=0;i<TST_TOTAL;i++) {
-
- /* capture an SIGALRM signal */
- received_alarm = 0;
- signal(SIGALRM, alarm_received);
-
- TEST (alarm (sec[i]));
- /* reset the alarm */
- alarm (0);
- if (TEST_RETURN != 0) {
- tst_resm(TFAIL,
- "alarm(%u) returned %u, when %u was expected for value %s.",
- sec[i], TEST_RETURN, exp[i], buf[i]);
-
- }
- /***************************************************************
- * only perform functional verification if flag set (-f not given)
- ***************************************************************/
- else if (STD_FUNCTIONAL_TEST) {
- if (received_alarm == 1) {
- tst_resm (TFAIL,
- "alarm(%u) returned %u but an alarm signal was received for value %s.",
- sec[i], TEST_RETURN, buf[i]);
- } else {
- tst_resm (TPASS,
- "alarm(%u) returned %u as expected for value %s.",
- sec[i], TEST_RETURN, buf[i]);
- }
-
- } /* End of STD_FUNCTIONAL_TEST */
- } /* End of for loop */
- /*
- * Reset alarm before cleanup.
- */
-
- alarm(0);
-
- } /* End for TEST_LOOPING */
-
- cleanup();
-
- return 0;
-}
-
-/***************************************************************
- * setup() - performs all ONE TIME setup for this test.
- ***************************************************************/
-
-void
-setup()
-{
-
- /* capture signals */
- tst_sig(NOFORK, DEF_HANDLER, cleanup);
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-
- /* End setup() */
-
-}
-
-/***********************************************************
- * Cleanup:
- * exit using tst_exit.
- ***********************************************************/
-
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /* exit with return code appropriate for results */
-
- tst_exit();
-}
-
-void alarm_received()
-{
- received_alarm = 1;
-}
-
-
diff --git a/winsup/testsuite/winsup.api/ltp/alarm03.c b/winsup/testsuite/winsup.api/ltp/alarm03.c
deleted file mode 100644
index 871f6fabf..000000000
--- a/winsup/testsuite/winsup.api/ltp/alarm03.c
+++ /dev/null
@@ -1,229 +0,0 @@
-/*
- * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it would be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Further, this software is distributed without any warranty that it is
- * free of the rightful claim of any third person regarding infringement
- * or the like. Any license provided herein, whether implied or
- * otherwise, applies only to this software file. Patent licenses, if
- * any, provided herein do not apply to combinations of this program with
- * other software, or any other product whatsoever.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write the Free Software Foundation, Inc., 59
- * Temple Place - Suite 330, Boston MA 02111-1307, USA.
- *
- * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
- * Mountain View, CA 94043, or:
- *
- * http://www.sgi.com
- *
- * For further information regarding this notice, see:
- *
- * http://oss.sgi.com/projects/GenInfo/NoticeExplan/
- */
-/* $Id$ */
-/**********************************************************
- *
- * OS Test - Silicon Graphics, Inc.
- *
- * TEST IDENTIFIER : alarm03
- *
- * EXECUTED BY : anyone
- *
- * TEST TITLE : alarm(2) cleared by a fork
- *
- * PARENT DOCUMENT : usctpl01
- *
- * TEST CASE TOTAL : 1
- *
- * WALL CLOCK TIME : 1
- *
- * CPU TYPES : ALL
- *
- * AUTHOR : Richard Logan
- *
- * CO-PILOT : Dennis Arason
- *
- * DATE STARTED : 08/96
- *
- *
- * TEST CASES
- *
- * 1.) alarm(100), fork, child's alarm(0) shall return 0;
- * 2.) alarm(100), fork, parent's alarm(0) shall return non-zero.
- *
- * INPUT SPECIFICATIONS
- * The standard options for system call tests are accepted.
- * (See the parse_opts(3) man page).
- *
- *
- * SPECIAL PROCEDURAL REQUIREMENTS
- * None
- *
- *
- * DETAILED DESCRIPTION
- * This is a Phase I test for the alarm(2) system call. It is intended
- * to provide a limited exposure of the system call, for now. It
- * should/will be extended when full functional tests are written for
- * alarm(2).
- *
- * Setup:
- * Setup signal handling.
- * Pause for SIGUSR1 if option specified.
- *
- * Test:
- * Loop if the proper options are given.
- * Execute system call
- * Check return code, if system call failed (return=-1)
- * Log the errno and Issue a FAIL message.
- * Otherwise, Issue a PASS message.
- *
- * Cleanup:
- * Print errno log and/or timing stats if options given
- *
- *
- *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#**/
-
-#include <errno.h>
-#include <string.h>
-#include <signal.h>
-#include "test.h"
-#include "usctest.h"
-
-void setup();
-void cleanup(void) __attribute__((noreturn));
-
-
-const char *TCID="alarm03"; /* Test program identifier. */
-int TST_TOTAL=1; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
-
- /***************************************************************
- * parse standard options
- ***************************************************************/
- if ( (msg=parse_opts(ac, av, (option_t *)NULL, NULL)) != (char *) NULL ) {
- tst_brkm(TBROK, NULL, "OPTION PARSING ERROR - %s", msg);
- tst_exit();
- }
-
- /***************************************************************
- * perform global setup for test
- ***************************************************************/
- setup();
-
- /***************************************************************
- * check looping state if -c option given
- ***************************************************************/
- for (lc=0; TEST_LOOPING(lc); lc++) {
-
- /* reset Tst_count in case we are looping. */
- Tst_count=0;
-
- /*
- * Call alarm(2)
- */
- TEST(alarm(100));
-
- switch ( fork()) {
- case -1:
- tst_brkm(TBROK, cleanup, "fork failed, errno:%d %s",
- errno, strerror(errno));
- break;
-
- case 0:
- TEST( alarm(0) );
-
- if ( TEST_RETURN != 0 )
- tst_resm(TFAIL,
- "alarm(100), fork, alarm(0) child's alarm returned %d",
- TEST_RETURN);
- else if ( STD_FUNCTIONAL_TEST )
- tst_resm(TPASS,
- "alarm(100), fork, alarm(0) child's alarm returned %d",
- TEST_RETURN);
-
- exit(0);
- break;
-
- default:
- Tst_count++;
- TEST( alarm(0) );
- if ( TEST_RETURN <= 0 || TEST_RETURN > 100 )
- tst_resm(TFAIL,
- "alarm(100), fork, alarm(0) parent's alarm returned %d",
- TEST_RETURN);
-
- else if ( STD_FUNCTIONAL_TEST )
- tst_resm(TPASS,
- "alarm(100), fork, alarm(0) parent's alarm returned %d",
- TEST_RETURN);
-
- }
-
- } /* End for TEST_LOOPING */
-
- /***************************************************************
- * cleanup and exit
- ***************************************************************/
- cleanup();
-
- return 0;
-} /* End main */
-
-
-/***************************************************************
- * setup() - performs all ONE TIME setup for this test.
- ***************************************************************/
-void
-setup()
-{
- void trapper();
-
- /* capture signals */
- tst_sig(FORK, DEF_HANDLER, cleanup);
-
- signal(SIGALRM, trapper);
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-} /* End setup() */
-
-
-/***************************************************************
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- ***************************************************************/
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /* exit with return code appropriate for results */
- tst_exit();
-} /* End cleanup() */
-
-void
-trapper(sig)
-int sig;
-{
- signal(SIGALRM, trapper);
-}
-
diff --git a/winsup/testsuite/winsup.api/ltp/alarm07.c b/winsup/testsuite/winsup.api/ltp/alarm07.c
deleted file mode 100644
index a9f269522..000000000
--- a/winsup/testsuite/winsup.api/ltp/alarm07.c
+++ /dev/null
@@ -1,201 +0,0 @@
-/*
- *
- * Copyright (c) International Business Machines Corp., 2001
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-/*
- * Test Name: alarm03
- *
- * Test Description:
- * Check the functionality of the alarm() when the time input
- * parameter is non-zero and the process does a fork.
- *
- * Expected Result:
- * The alarm request should be cleared in the child process.
- *
- * Algorithm:
- * Setup:
- * Setup signal handling.
- * Pause for SIGUSR1 if option specified.
- *
- * Test:
- * Loop if the proper options are given.
- * Execute system call
- * Check return code, if system call failed (return=-1)
- * Log the errno and Issue a FAIL message.
- * Otherwise,
- * Verify the Functionality of system call
- * if successful,
- * Issue Functionality-Pass message.
- * Otherwise,
- * Issue Functionality-Fail message.
- * Cleanup:
- * Print errno log and/or timing stats if options given
- *
- * Usage: <for command-line>
- * alarm03 [-c n] [-f] [-i n] [-I x] [-P x] [-t]
- * where, -c n : Run n copies concurrently.
- * -f : Turn off functionality Testing.
- * -i n : Execute test n times.
- * -I x : Execute test for x seconds.
- * -P x : Pause for x seconds between iterations.
- * -t : Turn on syscall timing.
- *
- * HISTORY
- * 07/2001 Ported by Wayne Boyer
- *
- * RESTRICTIONS:
- * None.
- */
-
-#include <sys/types.h>
-#include <errno.h>
-#include <string.h>
-#include <signal.h>
-#include <sys/wait.h>
-
-#include "test.h"
-#include "usctest.h"
-
-const char *TCID="alarm03"; /* Test program identifier. */
-int TST_TOTAL=1; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-int almreceived = 0; /* flag to indicate SIGALRM received or not */
-
-void setup(); /* Main setup function of test */
-void cleanup(void) __attribute__((noreturn)); /* cleanup function for the test */
-void sigproc(int sig); /* signal catching function */
-
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
- int time_sec = 3; /* time for which alarm is set */
- int sleep_time = 5; /* waiting time for the SIGALRM signal */
- pid_t cpid; /* child process id */
-
- /* Parse standard options given to run the test. */
- msg = parse_opts(ac, av, (option_t *)NULL, NULL);
- if (msg != (char *)NULL) {
- tst_brkm(TBROK, tst_exit, "OPTION PARSING ERROR - %s", msg);
- }
-
- /* Perform global setup for test */
- setup();
-
- /* Check looping state if -i option given */
- for (lc = 0; TEST_LOOPING(lc); lc++) {
- /* Reset Tst_count in case we are looping. */
- Tst_count=0;
-
- /*
- * Call First alarm() with non-zero time parameter
- * 'time_sec' to send SIGALRM to the process.
- */
- TEST(alarm(time_sec));
-
- /* Now, fork a child process */
- cpid = fork();
- if (cpid < 0) {
- tst_resm(TFAIL, "fork() fails to create child, "
- "errno:%d", errno);
- }
-
- /* Wait for signal SIGALRM to be generated */
- sleep(sleep_time);
-
- if (STD_FUNCTIONAL_TEST) {
- if (cpid == 0) { /* Child process */
- /*
- * For child process if almreceived is 0
- * means alarm request is cleared.
- */
- if (almreceived == 0) {
- tst_resm(TPASS, "Functionality of "
- "alarm(%u) successful",
- time_sec);
- } else {
- tst_resm(TFAIL, "alarm request not "
- "cleared in child, "
- "almreceived:%d", almreceived);
- }
- } else { /* Parent process */
- /* Wait for child to complete execution */
- wait(0);
- }
- } else {
- tst_resm(TPASS, "call returned %d", TEST_RETURN);
- }
- } /* End for TEST_LOOPING */
-
- /* Call cleanup() to undo setup done for the test. */
- cleanup();
-
- /*NOTREACHED*/
-} /* End main */
-
-/*
- * setup() - performs all ONE TIME setup for this test.
- * Setup signal handler to catch SIGALRM signal.
- */
-void
-setup()
-{
- /* capture signals */
- tst_sig(FORK, DEF_HANDLER, cleanup);
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-
- /* Set the signal catching function */
- if (signal(SIGALRM, sigproc) == SIG_ERR) {
- tst_brkm(TFAIL, cleanup,
- "signal() fails to catch SIGALARM, errno=%d",
- errno);
- }
-}
-
-
-/*
- * sigproc(int) - This function defines the action that has to be taken
- * when the SIGALRM signal is caught.
- * It also sets the variable which is used to check whether the
- * alarm system call was successful.
- */
-void
-sigproc(int sig)
-{
- almreceived = almreceived + 1;
-}
-
-/*
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- */
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /* exit with return code appropriate for results */
- tst_exit();
-}
diff --git a/winsup/testsuite/winsup.api/ltp/asyncio02.c b/winsup/testsuite/winsup.api/ltp/asyncio02.c
deleted file mode 100644
index 36c03b449..000000000
--- a/winsup/testsuite/winsup.api/ltp/asyncio02.c
+++ /dev/null
@@ -1,364 +0,0 @@
-/*
- * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it would be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Further, this software is distributed without any warranty that it is
- * free of the rightful claim of any third person regarding infringement
- * or the like. Any license provided herein, whether implied or
- * otherwise, applies only to this software file. Patent licenses, if
- * any, provided herein do not apply to combinations of this program with
- * other software, or any other product whatsoever.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write the Free Software Foundation, Inc., 59
- * Temple Place - Suite 330, Boston MA 02111-1307, USA.
- *
- * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
- * Mountain View, CA 94043, or:
- *
- * http://www.sgi.com
- *
- * For further information regarding this notice, see:
- *
- * http://oss.sgi.com/projects/GenInfo/NoticeExplan/
- *
- */
-/* $Id$ */
-/************************************************************
- * OS Test - Silicon Graphics, Inc.
- * Mendota Heights, Minnesota
- *
- * TEST IDENTIFIER: aiotcs02: write/close flushes data to the file
- *
- * PARENT DOCUMENT: aiotds01: kernel i/o
- *
- * AUTHOR: Barrie Kletscher
- *
- * CO-PILOT: Dave Baumgartner
- *
- * TEST ITEMS:
- * for each open flags set used:
- * 1. Multiple writes to a file work as specified for
- * more than BUFSIZ bytes.
- * 2. Multiple writes to a file work as specified for
- * BUFSIZ bytes.
- * 3. Multiple writes to a file work as specified for
- * lower than BUFSIZ bytes.
- *
- * INPUT SPECIFICATIONS:
- * Standard parse_opts supported options.
- *
- * OUTPUT SPECIFICATIONS
- * Standard tst_res output format
- *
- * ENVIRONMENTAL NEEDS:
- * This program uses the environment variable TMPDIR for the location
- * of the temporary directory.
- *
- *
- * SPECIAL PROCEDURAL REQUIREMENTS:
- * The program must be linked with tst_*.o and parse_opts.o.
- *
- * INTERCASE DEPENDENCIES:
- * NONE.
- *
- * DETAILED DESCRIPTION:
- * Attempt to get some memory to work with.
- * Call testrun writing (BUFSIZ + 1) bytes
- * Call testrun writing BUFSIZ bytes
- * Repeated call to testrun() with decreasing write sizes
- * less than BUFSIZ
- * End
- *
- * Start testrun()
- * Attempt to open a temporary file.
- * Write the memory to the file.
- * Attempt to close the file which also flushes the buffers.
- * Now check to see if the number of bytes written is the
- * same as the number of bytes in the file.
- * Cleanup
- *
- * BUGS:
- * NONE.
- *
-************************************************************/
-
-#include <fcntl.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <sys/signal.h>
-#include <errno.h>
-#include "test.h"
-#include "usctest.h"
-
-#define FLAG O_RDWR | O_CREAT | O_TRUNC /* Flags used when opening temp tile */
-#define MODE 0777 /* Mode to open file with */
-#define WRITES 10 /* Number of times buffer is written */
-#define DECR 1000 /* Number of bytes decremented between */
- /* Calls to testrun() */
-#define OK -1 /* Return value from testrun() */
-
-#define FNAME1 "aio02.1"
-#define FNAME2 "aio02.2"
-#define FNAME3 "aio02.3"
-
-#define ERR_MSG1 "Bytes in file not equal to bytes written."
-#define ERR_MSG2 "Bytes in file (%d) not equal to bytes written (%d)."
-
-char *dp; /* pointer to area of memory */
-
-void setup();
-void cleanup(void) __attribute__((noreturn));
-int testrun(int flag, int bytes, int ti);
-
-const char *TCID="asyncio02"; /* Test program identifier. */
-int TST_TOTAL=6; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-extern int Tst_nobuf; /* variable used to turn off tst_res buffering */
-
-extern int errno;
-
-int exp_enos[]={0}; /* Array of expected errnos */
-char mesg[150];
-const char *filename; /* name of the temporary file */
-
-char *Progname;
-int Open_flags;
-
-int Flags[] = {
- O_RDWR | O_CREAT | O_TRUNC,
- O_RDWR | O_CREAT | O_TRUNC
-};
-
-int Num_flags;
-
-/***********************************************************************
- * MAIN
- ***********************************************************************/
-int
-main(int ac, char **av)
-{
-
- int i; /* counter */
- int ret_val; /* return value from testrun call */
- int eok; /* everything is ok flag */
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
- int flag_cnt;
-
- Tst_nobuf=1;
- Num_flags = sizeof(Flags)/sizeof(int);
- TST_TOTAL= 3 * Num_flags;
-
- /***************************************************************
- * parse standard options, and exit if there is an error
- ***************************************************************/
- if ( (msg=parse_opts(ac, av, (option_t *) NULL, NULL)) != (char *) NULL ) {
- tst_brkm(TBROK, NULL, "OPTION PARSING ERROR - %s", msg);
- tst_exit();
- }
-
- /***************************************************************
- * perform global setup for test
- ***************************************************************/
- setup();
-
- /***************************************************************
- * check looping state if -c option given
- ***************************************************************/
- for (lc=0; TEST_LOOPING(lc); lc++) {
-
- /* reset Tst_count in case we are looping. */
- Tst_count=0;
-
- for (flag_cnt=0; flag_cnt<Num_flags; flag_cnt++) {
-
- /*
- * call testrun writing (BUFSIZ + 1) byte chunks
- */
-
- filename=FNAME1;
- if( testrun(Flags[flag_cnt],BUFSIZ+1,1) != OK)
- tst_resm(TFAIL,ERR_MSG1);
-
- else if ( STD_FUNCTIONAL_TEST ) {
- tst_resm(TPASS,
- "More than BUFSIZE bytes multiple synchronous writes to a file check out ok");
- }
-
- /*
- * call testrun writing BUFSIZ byte chunks
- */
-
- filename=FNAME2;
- if(testrun(Flags[flag_cnt],BUFSIZ,2) != OK) {
- tst_resm(TFAIL,ERR_MSG1);
- }
- else if ( STD_FUNCTIONAL_TEST ) {
- tst_resm(TPASS,
- "BUFSIZE bytes multiple synchronous writes to a file checks out ok");
- }
-
- /*
- * while the byte chunks are greater than 0
- * call testrun() with decreasing chunk sizes
- */
-
- filename=FNAME3;
- eok=1;
- for(i = BUFSIZ-1; i >= 0; i -= DECR) {
- if((ret_val = testrun(Flags[flag_cnt],i,3)) != OK) {
- char output[80]; /* local output char string */
-
- (void)sprintf(output,ERR_MSG2,ret_val,i*WRITES);
- tst_resm(TFAIL,output);
- }
- }
-
- if ( eok && STD_FUNCTIONAL_TEST )
- tst_resm(TPASS,
- "Less than BUFSIZE bytes multiple synchronous writes to a file checks out ok");
-
- }
- }
- cleanup();
-
- return 0;
-} /* end main() */
-
-/***********************************************************
- *
- * This function does the actual running of the tests.
- *
- ***********************************************************/
-int
-testrun(int flag, int bytes, int ti)
-{
-
- void cleanup();
-
- int fildes, /* temporary file's descriptor */
- i; /* counter */
-
- int ret;
-
- struct stat buffer; /* buffer of memory required for stat command */
-
- /*
- * Attempt to open a temporary file.
- */
-
- if((fildes = open(filename,flag,MODE)) == -1) {
- sprintf(mesg, "open failed, errno:%d", errno);
- tst_brkm(TBROK, cleanup, mesg);
- }
-
- /*
- * Write the memory to the file.
- */
-
- for(i = 0; i < WRITES; i++) {
- TEST( write(fildes,dp,(unsigned)bytes) );
-
- if( TEST_RETURN == -1) {
- sprintf(mesg, "write failed, errno:%d", errno);
- tst_brkm(TBROK, cleanup, mesg);
- }
- } /* end for() */
-
- /*
- * Attempt to close the file which also flushes the buffers.
- */
-
- if(close(fildes) == -1) {
- sprintf(mesg, "close failed, errno:%d", errno);
- tst_brkm(TBROK, cleanup, mesg);
- }
-
- ret=OK;
- if ( STD_FUNCTIONAL_TEST ) {
-
- /*
- * Now check to see if the number of bytes written is the
- * same as the number of bytes in the file.
- */
-
- if(stat(filename,&buffer) == -1) {
- sprintf(mesg, "stat failed, errno:%d", errno);
- tst_brkm(TBROK, cleanup, mesg);
- }
-
-
- if(buffer.st_size != (off_t)(bytes * WRITES)) {
- ret=(int)buffer.st_size;
- }
- }
-
- if ( unlink(filename) == -1 ) {
- sprintf(mesg, "unlink failed, errno:%d", errno);
- tst_brkm(TBROK, cleanup, mesg);
- }
-
- return ret;
-
-} /* end testrun() */
-
-/***************************************************************
- * setup() - performs all ONE TIME setup for this test.
- ***************************************************************/
-void
-setup()
-{
- /* capture signals */
- tst_sig(FORK, DEF_HANDLER, cleanup);
-
- /* create a temporary directory and go to it */
- tst_tmpdir();
-
- /* Indicate which errnos are expected */
- TEST_EXP_ENOS(exp_enos);
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-
- /*
- * Attempt to get some memory to work with.
- */
-
- if((dp = (char *)malloc((unsigned)BUFSIZ+1)) == NULL) {
- sprintf(mesg, "malloc failed, errno:%d", errno);
- tst_brkm(TBROK, cleanup, mesg);
- }
-
-
-} /* End setup() */
-
-/***************************************************************
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- ***************************************************************/
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /* remove temporary directory and all files in it. */
- tst_rmdir();
-
- /* exit with return code appropriate for results */
- tst_exit();
-
-} /* End cleanup() */
-
-
diff --git a/winsup/testsuite/winsup.api/ltp/chdir02.c b/winsup/testsuite/winsup.api/ltp/chdir02.c
deleted file mode 100644
index 552f912ac..000000000
--- a/winsup/testsuite/winsup.api/ltp/chdir02.c
+++ /dev/null
@@ -1,219 +0,0 @@
-/*
- * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it would be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Further, this software is distributed without any warranty that it is
- * free of the rightful claim of any third person regarding infringement
- * or the like. Any license provided herein, whether implied or
- * otherwise, applies only to this software file. Patent licenses, if
- * any, provided herein do not apply to combinations of this program with
- * other software, or any other product whatsoever.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write the Free Software Foundation, Inc., 59
- * Temple Place - Suite 330, Boston MA 02111-1307, USA.
- *
- * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
- * Mountain View, CA 94043, or:
- *
- * http://www.sgi.com
- *
- * For further information regarding this notice, see:
- *
- * http://oss.sgi.com/projects/GenInfo/NoticeExplan/
- *
- */
-/* $Id$ */
-/**********************************************************
- *
- * OS Test - Silicon Graphics, Inc.
- *
- * TEST IDENTIFIER : chdir02
- *
- * EXECUTED BY : anyone
- *
- * TEST TITLE : Basic test for chdir(2)
- *
- * PARENT DOCUMENT : usctpl01
- *
- * TEST CASE TOTAL : 1
- *
- * WALL CLOCK TIME : 1
- *
- * CPU TYPES : ALL
- *
- * AUTHOR : William Roske
- *
- * CO-PILOT : Dave Fenner
- *
- * DATE STARTED : 03/30/92
- *
- * INITIAL RELEASE : UNICOS 7.0
- *
- * TEST CASES
- *
- * 1.) chdir(2) returns...(See Description)
- *
- * INPUT SPECIFICATIONS
- * The standard options for system call tests are accepted.
- * (See the parse_opts(3) man page).
- *
- * OUTPUT SPECIFICATIONS
- *
- * DURATION
- * Terminates - with frequency and infinite modes.
- *
- * SIGNALS
- * Uses SIGUSR1 to pause before test if option set.
- * (See the parse_opts(3) man page).
- *
- * RESOURCES
- * None
- *
- * ENVIRONMENTAL NEEDS
- * No run-time environmental needs.
- *
- * SPECIAL PROCEDURAL REQUIREMENTS
- * None
- *
- * INTERCASE DEPENDENCIES
- * None
- *
- * DETAILED DESCRIPTION
- * This is a Phase I test for the chdir(2) system call. It is intended
- * to provide a limited exposure of the system call, for now. It
- * should/will be extended when full functional tests are written for
- * chdir(2).
- *
- * Setup:
- * Setup signal handling.
- * Pause for SIGUSR1 if option specified.
- *
- * Test:
- * Loop if the proper options are given.
- * Execute system call
- * Check return code, if system call failed (return=-1)
- * Log the errno and Issue a FAIL message.
- * Otherwise, Issue a PASS message.
- *
- * Cleanup:
- * Print errno log and/or timing stats if options given
- *
- *
- *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#**/
-
-#include <errno.h>
-#include <string.h>
-#include <signal.h>
-#include "test.h"
-#include "usctest.h"
-
-extern void setup();
-extern void cleanup();
-
-
-const char *TCID="chdir02"; /* Test program identifier. */
-int TST_TOTAL=1; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-
-int exp_enos[]={0, 0};
-
-const char *dirs[2] = { "/", "/tmp" };
-
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
-
- /***************************************************************
- * parse standard options
- ***************************************************************/
- if ( (msg=parse_opts(ac, av, (option_t *) NULL, NULL)) != (char *) NULL )
- tst_brkm(TBROK, cleanup, "OPTION PARSING ERROR - %s", msg);
-
- /***************************************************************
- * perform global setup for test
- ***************************************************************/
- setup();
-
- /* set the expected errnos... */
- TEST_EXP_ENOS(exp_enos);
-
- /***************************************************************
- * check looping state if -c option given
- ***************************************************************/
- for (lc=0; TEST_LOOPING(lc); lc++) {
-
- /* reset Tst_count in case we are looping. */
- Tst_count=0;
-
- /*
- * Call chdir(2)
- */
- TEST(chdir(dirs[lc%2]));
-
- /* check return code */
- if ( TEST_RETURN == -1 ) {
- TEST_ERROR_LOG(TEST_ERRNO);
- tst_resm(TFAIL, "chdir(%s) Failed, errno=%d : %s", dirs[lc%2],
- TEST_ERRNO, strerror(TEST_ERRNO));
- } else {
-
- /***************************************************************
- * only perform functional verification if flag set (-f not given)
- ***************************************************************/
- if ( STD_FUNCTIONAL_TEST ) {
- /* No Verification test, yet... */
- tst_resm(TPASS, "chdir(%s) returned %d", dirs[lc%2], TEST_RETURN);
- }
- }
-
- } /* End for TEST_LOOPING */
-
- /***************************************************************
- * cleanup and exit
- ***************************************************************/
- cleanup();
-
- return 0;
-} /* End main */
-
-/***************************************************************
- * setup() - performs all ONE TIME setup for this test.
- ***************************************************************/
-void
-setup()
-{
-
- /* capture signals */
- tst_sig(NOFORK, DEF_HANDLER, cleanup);
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-} /* End setup() */
-
-
-/***************************************************************
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- ***************************************************************/
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /* exit with return code appropriate for results */
- tst_exit();
-} /* End cleanup() */
diff --git a/winsup/testsuite/winsup.api/ltp/chdir04.c b/winsup/testsuite/winsup.api/ltp/chdir04.c
deleted file mode 100644
index da2b0ace9..000000000
--- a/winsup/testsuite/winsup.api/ltp/chdir04.c
+++ /dev/null
@@ -1,188 +0,0 @@
-/*
- *
- * Copyright (c) International Business Machines Corp., 2001
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-/*
- * NAME
- * chdir02.c
- *
- * DESCRIPTION
- * Testcase to test whether chdir(2) sets errno correctly.
- *
- * ALGORITHM
- * 1. Test for ENAMETOOLONG:
- * Create a bad directory name with length more than
- *
- * VFS_MAXNAMELEN (Linux kernel variable), and attempt to
- * chdir(2) to it.
- *
- * 2. Test for ENOENT:
- * Attempt to chdir(2) on a non-existent directory
- *
- * 3. Test for EFAULT:
- * Pass an address which lies outside the address space of the
- * process, and expect an EFAULT.
- *
- * USAGE: <for command-line>
- * chdir02 [-c n] [-e] [-i n] [-I x] [-P x] [-t]
- * where, -c n : Run n copies concurrently.
- * -e : Turn on errno logging.
- * -i n : Execute test n times.
- * -I x : Execute test for x seconds.
- * -P x : Pause for x seconds between iterations.
- * -t : Turn on syscall timing.
- *
- * HISTORY
- * 07/2001 Ported by Wayne Boyer
- *
- * RESTRICTIONS
- * NONE
- */
-
-#include <errno.h>
-#include <sys/stat.h>
-#include <test.h>
-#include <usctest.h>
-
-const char *TCID = "chdir02";
-int TST_TOTAL = 3;
-extern int Tst_count;
-
-int exp_enos[] = {ENAMETOOLONG, ENOENT, EFAULT, 0};
-
-char bad_dir[] = "abcdefghijklmnopqrstmnopqrstuvwxyzabcdefghijklmnopqrstmnopqrstuvwxyzabcdefghijklmnopqrstmnopqrstuvwxyzabcdefghijklmnopqrstmnopqrstuvwxyzabcdefghijklmnopqrstmnopqrstuvwxyzabcdefghijklmnopqrstmnopqrstuvwxyzabcdefghijklmnopqrstmnopqrstuvwxyzabcdefghijklmnopqrstmnopqrstuvwxyz";
-
-char noexist_dir[] = "/tmp/noexistdir";
-
-struct test_case_t {
- char *dname;
- int error;
-} TC[] = {
- /*
- * to test whether chdir() is setting ENAMETOOLONG if the
- * directory is more than VFS_MAXNAMELEN
- */
- {bad_dir, ENAMETOOLONG},
-
- /*
- * to test whether chdir() is setting ENOENT if the
- * directory is not existing.
- */
- {noexist_dir, ENOENT},
-
- /*
- * to test whether chdir() is setting EFAULT if the
- * directory is an invalid address.
- */
- {(void *)-1, EFAULT}
-};
-
-int flag;
-#define FAILED 1
-
-void setup(void);
-void cleanup(void) __attribute__((noreturn));
-
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- int i;
- const char *msg; /* message returned from parse_opts */
-
- /* parse standard options */
- if ((msg = parse_opts(ac, av, (option_t *)NULL, NULL)) != (char *)NULL){
- tst_brkm(TBROK, cleanup, "OPTION PARSING ERROR - %s", msg);
- }
-
- setup();
-
- /* set up the expected errnos */
- TEST_EXP_ENOS(exp_enos);
-
- /* check looping state if -i option is given */
- for (lc = 0; TEST_LOOPING(lc); lc++) {
- /* reset Tst_count in case we are looping */
- Tst_count = 0;
-
- /* loop through the test cases */
- for (i=0; i<TST_TOTAL; i++) {
-
- TEST(chdir(TC[i].dname));
-
- if (TEST_RETURN != -1) {
- tst_resm(TFAIL, "call succeeded unexpectedly");
- continue;
- }
-
- TEST_ERROR_LOG(TEST_ERRNO);
-
- if (TEST_ERRNO == TC[i].error) {
- tst_resm(TPASS, "expected failure - "
- "errno = %d : %s", TEST_ERRNO,
- strerror(TEST_ERRNO));
- } else {
- tst_resm(TFAIL, "unexpected error - %d : %s - "
- "expected %d", TEST_ERRNO,
- strerror(TEST_ERRNO), TC[i].error);
- }
- }
- }
- cleanup();
-
- /*NOTREACHED*/
-}
-
-/*
- * setup() - performs all ONE TIME setup for this test.
- */
-void
-setup()
-{
- /* capture signals */
- tst_sig(NOFORK, DEF_HANDLER, cleanup);
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-
- /* make a temporary directory and cd to it */
- tst_tmpdir();
-}
-
-
-/*
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- */
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /*
- * Delete the test directory created in setup().
- */
- tst_rmdir();
-
- /* exit with return code appropriate for results */
- tst_exit();
-}
diff --git a/winsup/testsuite/winsup.api/ltp/chmod01.c b/winsup/testsuite/winsup.api/ltp/chmod01.c
deleted file mode 100644
index c20e6172e..000000000
--- a/winsup/testsuite/winsup.api/ltp/chmod01.c
+++ /dev/null
@@ -1,230 +0,0 @@
-/*
- *
- * Copyright (c) International Business Machines Corp., 2001
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-/*
- * Test Name: chmod01
- *
- * Test Description:
- * Verify that, chmod(2) succeeds when used to change the mode permissions
- * of a file.
- *
- * Expected Result:
- * chmod(2) should return 0 and the mode permissions set on file should match
- * the specified mode.
- *
- * Algorithm:
- * Setup:
- * Setup signal handling.
- * Create temporary directory.
- * Pause for SIGUSR1 if option specified.
- *
- * Test:
- * Loop if the proper options are given.
- * Execute system call
- * Check return code, if system call failed (return=-1)
- * Log the errno and Issue a FAIL message.
- * Otherwise,
- * Verify the Functionality of system call
- * if successful,
- * Issue Functionality-Pass message.
- * Otherwise,
- * Issue Functionality-Fail message.
- * Cleanup:
- * Print errno log and/or timing stats if options given
- * Delete the temporary directory created.
- *
- * Usage: <for command-line>
- * chmod01 [-c n] [-e] [-f] [-i n] [-I x] [-P x] [-t]
- * where, -c n : Run n copies concurrently.
- * -e : Turn on errno logging.
- * -f : Turn off functionality Testing.
- * -i n : Execute test n times.
- * -I x : Execute test for x seconds.
- * -P x : Pause for x seconds between iterations.
- * -t : Turn on syscall timing.
- *
- * HISTORY
- * 07/2001 Ported by Wayne Boyer
- *
- * RESTRICTIONS:
- * None.
- *
- */
-
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <sys/fcntl.h>
-#include <errno.h>
-#include <string.h>
-#include <signal.h>
-
-#include "test.h"
-#include "usctest.h"
-
-#define FILE_MODE S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH
-#define TESTFILE "testfile"
-
-const char *TCID="chmod01"; /* Test program identifier. */
-int TST_TOTAL=8; /* Total number of test conditions */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-
-int Modes[] = {0, 07, 070, 0700, 0777, 02777, 04777, 06777};
-
-void setup(); /* setup function for the test */
-void cleanup() __attribute__ ((noreturn));/* cleanup function for the test */
-
-int
-main(int ac, char **av)
-{
- struct stat stat_buf; /* stat(2) struct contents */
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
- int ind; /* counter variable for chmod(2) tests */
- unsigned mode; /* file mode permission */
-
- TST_TOTAL = sizeof(Modes) / sizeof(int);
-
- /* Parse standard options given to run the test. */
- msg = parse_opts(ac, av, (option_t *) NULL, NULL);
- if (msg != (char *) NULL) {
- tst_brkm(TBROK, NULL, "OPTION PARSING ERROR - %s", msg);
- tst_exit();
- }
-
- /* Perform global setup for test */
- setup();
-
- /* Check looping state if -i option given */
- for (lc = 0; TEST_LOOPING(lc); lc++) {
- /* Reset Tst_count in case we are looping. */
- Tst_count = 0;
-
- for (ind = 0; ind < TST_TOTAL; ind++) {
- mode = Modes[ind];
-
- /*
- * Call chmod(2) with different mode permission
- * bits to set it for "testfile".
- */
- TEST(chmod(TESTFILE, mode));
-
- /* check return code of chmod(2) */
- if (TEST_RETURN == -1) {
- tst_resm(TFAIL,
- "chmod(%s, %#o) Failed, errno=%d : %s",
- TESTFILE, mode, TEST_ERRNO,
- strerror(TEST_ERRNO));
- continue;
- }
- /*
- * Perform functional verification if test
- * executed without (-f) option.
- */
- if (STD_FUNCTIONAL_TEST) {
- /*
- * Get the testfile information using
- * stat(2).
- */
- if (stat(TESTFILE, &stat_buf) < 0) {
- tst_brkm(TFAIL, cleanup, "stat(2) of "
- "%s failed, errno:%d",
- TESTFILE, TEST_ERRNO);
- }
- stat_buf.st_mode &= ~S_IFREG;
-
- /*
- * Check for expected mode permissions
- * on testfile.
- */
- if (stat_buf.st_mode == mode) {
- tst_resm(TPASS, "Functionality of "
- "chmod(%s, %#o) successful",
- TESTFILE, mode);
- } else {
- tst_resm(TFAIL, "%s: Incorrect "
- "modes 0%03o, Expected 0%03o",
- TESTFILE, stat_buf.st_mode,
- mode);
- }
- } else {
- tst_resm(TPASS, "call succeeded");
- }
- }
- } /* End for TEST_LOOPING */
-
- /* Call cleanup() to undo setup done for the test. */
- cleanup();
-
- /*NOTREACHED*/
-} /* End main */
-
-/*
- * void
- * setup() - performs all ONE TIME setup for this test.
- * Create a temporary directory and change directory to it.
- * Create a test file under temporary directory and close it
- */
-void
-setup()
-{
- int fd;
-
- /* capture signals */
- tst_sig(NOFORK, DEF_HANDLER, cleanup);
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-
- /* make a temp directory and cd to it */
- tst_tmpdir();
-
- /* Creat a test file under temporary directory and close it */
- if ((fd = open(TESTFILE, O_RDWR|O_CREAT, FILE_MODE)) == -1) {
- tst_brkm(TBROK, cleanup,
- "open(%s, O_RDWR|O_CREAT, %o) Failed, errno=%d : %s",
- TESTFILE, FILE_MODE, errno, strerror(errno));
- }
- if (close(fd) == -1) {
- tst_brkm(TBROK, cleanup,
- "close(%s) Failed, errno=%d : %s",
- TESTFILE, errno, strerror(errno));
- }
-
-} /* End setup() */
-
-/*
- * void
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- * Remove the test directory and testfile created in the setup.
- */
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- */
- TEST_CLEANUP;
-
- /* Remove tmp dir and all files in it */
- tst_rmdir();
-
- /* exit with return code appropriate for results */
- tst_exit();
-} /* End cleanup() */
diff --git a/winsup/testsuite/winsup.api/ltp/chmod02.c b/winsup/testsuite/winsup.api/ltp/chmod02.c
deleted file mode 100644
index 8026768ae..000000000
--- a/winsup/testsuite/winsup.api/ltp/chmod02.c
+++ /dev/null
@@ -1,260 +0,0 @@
-/*
- * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it would be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Further, this software is distributed without any warranty that it is
- * free of the rightful claim of any third person regarding infringement
- * or the like. Any license provided herein, whether implied or
- * otherwise, applies only to this software file. Patent licenses, if
- * any, provided herein do not apply to combinations of this program with
- * other software, or any other product whatsoever.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write the Free Software Foundation, Inc., 59
- * Temple Place - Suite 330, Boston MA 02111-1307, USA.
- *
- * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
- * Mountain View, CA 94043, or:
- *
- * http://www.sgi.com
- *
- * For further information regarding this notice, see:
- *
- * http://oss.sgi.com/projects/GenInfo/NoticeExplan/
- */
-/* $Id$ */
-/**********************************************************
- *
- * OS Test - Silicon Graphics, Inc.
- *
- * TEST IDENTIFIER : chmod02
- *
- * EXECUTED BY : anyone
- *
- * TEST TITLE : Basic test for chmod(2)
- *
- * PARENT DOCUMENT : usctpl01
- *
- * TEST CASE TOTAL : 8
- *
- * WALL CLOCK TIME : 1
- *
- * CPU TYPES : ALL
- *
- * AUTHOR : William Roske
- *
- * CO-PILOT : Dave Fenner
- *
- * DATE STARTED : 03/30/92
- *
- * INITIAL RELEASE : UNICOS 7.0
- *
- * TEST CASES
- *
- * 1.) chmod(2) returns...(See Description)
- *
- * INPUT SPECIFICATIONS
- * The standard options for system call tests are accepted.
- * (See the parse_opts(3) man page).
- *
- * OUTPUT SPECIFICATIONS
- *
- * DURATION
- * Terminates - with frequency and infinite modes.
- *
- * SIGNALS
- * Uses SIGUSR1 to pause before test if option set.
- * (See the parse_opts(3) man page).
- *
- * RESOURCES
- * None
- *
- * ENVIRONMENTAL NEEDS
- * The libcuts.a and libsys.a libraries must be included in
- * the compilation of this test.
- *
- * SPECIAL PROCEDURAL REQUIREMENTS
- * None
- *
- * INTERCASE DEPENDENCIES
- * None
- *
- * DETAILED DESCRIPTION
- * This is a Phase I test for the chmod(2) system call. It is intended
- * to provide a limited exposure of the system call, for now. It
- * should/will be extended when full functional tests are written for
- * chmod(2).
- *
- * Setup:
- * Setup signal handling.
- * Pause for SIGUSR1 if option specified.
- *
- * Test:
- * Loop if the proper options are given.
- * Execute system call
- * Check return code, if system call failed (return=-1)
- * Log the errno and Issue a FAIL message.
- * Otherwise, Issue a PASS message.
- *
- * Cleanup:
- * Print errno log and/or timing stats if options given
- *
- *
- *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#**/
-
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <sys/fcntl.h>
-#include <errno.h>
-#include <string.h>
-#include <signal.h>
-#include "test.h"
-#include "usctest.h"
-
-void setup();
-void cleanup(void) __attribute__((noreturn));
-
-
-
-const char *TCID="chmod02"; /* Test program identifier. */
-int TST_TOTAL=1; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-
-char fname[255];
-const char *buf = "file contents\n";
-
-int Modes[] = {0, 07, 070, 0700, 0777, 02777, 04777, 06777};
-
-
-/***********************************************************************
- * Main
- ***********************************************************************/
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
- int ind;
- int mode;
-
- TST_TOTAL = sizeof(Modes) / sizeof(int);
-
- /***************************************************************
- * parse standard options
- ***************************************************************/
- if ( (msg=parse_opts(ac, av, (option_t *)NULL, NULL)) != (char *) NULL ) {
- tst_brkm(TBROK, NULL, "OPTION PARSING ERROR - %s", msg);
- tst_exit();
- }
-
-
- /***************************************************************
- * perform global setup for test
- ***************************************************************/
- setup();
-
- /***************************************************************
- * check looping state if -c option given
- ***************************************************************/
- for (lc=0; TEST_LOOPING(lc); lc++) {
-
- /* reset Tst_count in case we are looping. */
- Tst_count=0;
-
- for (ind=0; ind<TST_TOTAL; ind++) {
- mode=Modes[ind];
-
- /*
- * Call chmod(2) with mode argument on fname
- */
- TEST(chmod(fname, mode));
-
- /* check return code */
- if ( TEST_RETURN == -1 ) {
- tst_resm(TFAIL, "chmod(%s, %#o) Failed, errno=%d : %s", fname,
- mode, TEST_ERRNO, strerror(TEST_ERRNO));
- } else {
-
- /***************************************************************
- * only perform functional verification if flag set (-f not given)
- ***************************************************************/
- if ( STD_FUNCTIONAL_TEST ) {
- /* No Verification test, yet... */
- tst_resm(TPASS, "chmod(%s, %#o) returned %d", fname,
- mode, TEST_RETURN);
- }
- else
- Tst_count++;
- }
- }
-
- } /* End for TEST_LOOPING */
-
- /***************************************************************
- * cleanup and exit
- ***************************************************************/
- cleanup();
-
- return 0;
-} /* End main */
-
-/***************************************************************
- * setup() - performs all ONE TIME setup for this test.
- ***************************************************************/
-void
-setup()
-{
- int fd;
-
- /* capture signals */
- tst_sig(NOFORK, DEF_HANDLER, cleanup);
-
- /* make a temp directory and cd to it */
- tst_tmpdir();
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-
- strcat(fname, "tfile");
- if ((fd = open(fname,O_RDWR|O_CREAT,0700)) == -1) {
- tst_brkm(TBROK, cleanup,
- "open(%s, O_RDWR|O_CREAT,0700) Failed, errno=%d : %s",
- fname, errno, strerror(errno));
- } else if (write(fd, &buf, strlen(buf)) == -1) {
- tst_brkm(TBROK, cleanup,
- "write(%s, &buf, strlen(buf)) Failed, errno=%d : %s",
- fname, errno, strerror(errno));
- } else if (close(fd) == -1) {
- tst_brkm(TBROK, cleanup,
- "close(%s) Failed, errno=%d : %s",
- fname, errno, strerror(errno));
- }
-} /* End setup() */
-
-
-/***************************************************************
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- ***************************************************************/
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- */
- TEST_CLEANUP;
-
- /* Remove tmp dir and all files in it */
- tst_rmdir();
-
- /* exit with return code appropriate for results */
- tst_exit();
-} /* End cleanup() */
-
diff --git a/winsup/testsuite/winsup.api/ltp/chown01.c b/winsup/testsuite/winsup.api/ltp/chown01.c
deleted file mode 100644
index b3cd08811..000000000
--- a/winsup/testsuite/winsup.api/ltp/chown01.c
+++ /dev/null
@@ -1,244 +0,0 @@
-/*
- * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it would be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Further, this software is distributed without any warranty that it is
- * free of the rightful claim of any third person regarding infringement
- * or the like. Any license provided herein, whether implied or
- * otherwise, applies only to this software file. Patent licenses, if
- * any, provided herein do not apply to combinations of this program with
- * other software, or any other product whatsoever.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write the Free Software Foundation, Inc., 59
- * Temple Place - Suite 330, Boston MA 02111-1307, USA.
- *
- * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
- * Mountain View, CA 94043, or:
- *
- * http://www.sgi.com
- *
- * For further information regarding this notice, see:
- *
- * http://oss.sgi.com/projects/GenInfo/NoticeExplan/
- *
- */
-/* $Id$ */
-/**********************************************************
- *
- * OS Test - Silicon Graphics, Inc.
- *
- * TEST IDENTIFIER : chown01
- *
- * EXECUTED BY : anyone
- *
- * TEST TITLE : Basic test for chown(2)
- *
- * PARENT DOCUMENT : usctpl01
- *
- * TEST CASE TOTAL : 1
- *
- * WALL CLOCK TIME : 1
- *
- * CPU TYPES : ALL
- *
- * AUTHOR : William Roske
- *
- * CO-PILOT : Dave Fenner
- *
- * DATE STARTED : 03/30/92
- *
- * INITIAL RELEASE : UNICOS 7.0
- *
- * TEST CASES
- *
- * 1.) chown(2) returns...(See Description)
- *
- * INPUT SPECIFICATIONS
- * The standard options for system call tests are accepted.
- * (See the parse_opts(3) man page).
- *
- * OUTPUT SPECIFICATIONS
- *
- * DURATION
- * Terminates - with frequency and infinite modes.
- *
- * SIGNALS
- * Uses SIGUSR1 to pause before test if option set.
- * (See the parse_opts(3) man page).
- *
- * RESOURCES
- * None
- *
- * ENVIRONMENTAL NEEDS
- * No run-time environmental needs.
- *
- * SPECIAL PROCEDURAL REQUIREMENTS
- * None
- *
- * INTERCASE DEPENDENCIES
- * None
- *
- * DETAILED DESCRIPTION
- * This is a Phase I test for the chown(2) system call. It is intended
- * to provide a limited exposure of the system call, for now. It
- * should/will be extended when full functional tests are written for
- * chown(2).
- *
- * Setup:
- * Setup signal handling.
- * Pause for SIGUSR1 if option specified.
- *
- * Test:
- * Loop if the proper options are given.
- * Execute system call
- * Check return code, if system call failed (return=-1)
- * Log the errno and Issue a FAIL message.
- * Otherwise, Issue a PASS message.
- *
- * Cleanup:
- * Print errno log and/or timing stats if options given
- *
- *
- *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#**/
-
-#include <sys/types.h>
-#include <sys/fcntl.h>
-#include <errno.h>
-#include <string.h>
-#include <signal.h>
-#include "test.h"
-#include "usctest.h"
-
-extern void setup();
-extern void cleanup();
-
-
-
-const char *TCID="chown01"; /* Test program identifier. */
-int TST_TOTAL=1; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-
-int exp_enos[]={0, 0};
-
-char fname[255];
-int fd, uid, gid;
-const char *buf = "davef";
-
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
-
- /***************************************************************
- * parse standard options
- ***************************************************************/
- if ( (msg=parse_opts(ac, av, (option_t *) NULL, NULL)) != (char *) NULL )
- tst_brkm(TBROK, cleanup, "OPTION PARSING ERROR - %s", msg);
-
- /***************************************************************
- * perform global setup for test
- ***************************************************************/
- setup();
-
- /* set the expected errnos... */
- TEST_EXP_ENOS(exp_enos);
-
- /***************************************************************
- * check looping state if -c option given
- ***************************************************************/
- for (lc=0; TEST_LOOPING(lc); lc++) {
-
- /* reset Tst_count in case we are looping. */
- Tst_count=0;
-
- /*
- * Call chown(2)
- */
- TEST(chown(fname, uid,gid));
-
- /* check return code */
- if ( TEST_RETURN == -1 ) {
- TEST_ERROR_LOG(TEST_ERRNO);
- tst_resm(TFAIL, "chown(%s, %d,%d) Failed, errno=%d : %s", fname, uid, gid,
- TEST_ERRNO, strerror(TEST_ERRNO));
- } else {
-
- /***************************************************************
- * only perform functional verification if flag set (-f not given)
- ***************************************************************/
- if ( STD_FUNCTIONAL_TEST ) {
- /* No Verification test, yet... */
- tst_resm(TPASS, "chown(%s, %d,%d) returned %d", fname, uid, gid, TEST_RETURN);
- }
- } /* end else */
-
- } /* End for TEST_LOOPING */
-
- /***************************************************************
- * cleanup and exit
- ***************************************************************/
- cleanup();
-
- return 0;
-} /* End main */
-
-/***************************************************************
- * setup() - performs all ONE TIME setup for this test.
- ***************************************************************/
-void
-setup()
-{
- /* capture signals */
- tst_sig(NOFORK, DEF_HANDLER, cleanup);
-
- /* create a temp dir and cd to it. */
- tst_tmpdir();
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-
- /* set uid and gid */
- uid=geteuid();
- gid=getegid();
-
- sprintf(fname,"t_%d",getpid());
- if ((fd = open(fname,O_RDWR|O_CREAT,0700)) == -1) {
- tst_brkm(TBROK, cleanup, "open(%s, O_RDWR|O_CREAT,0700) Failed, errno=%d : %s", fname, errno, strerror(errno));
- } else if (write(fd, &buf, strlen(buf)) == -1) {
- tst_brkm(TBROK, cleanup, "write(%s, &buf, strlen(buf)) Failed, errno=%d : %s", fname, errno, strerror(errno));
- } else if (close(fd) == -1) {
- tst_brkm(TBROK, cleanup, "close(%s) Failed, errno=%d : %s", fname, errno, strerror(errno));
- }
-} /* End setup() */
-
-
-/***************************************************************
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- ***************************************************************/
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /* remove temp dir and files */
- tst_rmdir();
-
- /* exit with return code appropriate for results */
- tst_exit();
-} /* End cleanup() */
-
-
diff --git a/winsup/testsuite/winsup.api/ltp/close01.c b/winsup/testsuite/winsup.api/ltp/close01.c
deleted file mode 100644
index 4d4059823..000000000
--- a/winsup/testsuite/winsup.api/ltp/close01.c
+++ /dev/null
@@ -1,201 +0,0 @@
-/*
- *
- * Copyright (c) International Business Machines Corp., 2001
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-/*
- * NAME
- * close01.c
- *
- * DESCRIPTION
- * Test that closing a regular file and a pipe works correctly
- *
- * ALGORITHM
- * Creat a file, and dup() a fildes
- * Open a pipe
- * call close() using the TEST macro
- * if the call fails
- * issue a FAIL message and continue
- * else if STD_FUNCTIONAL_TEST
- * attempt to close the file/pipe again
- * if there is an error
- * issue a PASS message
- * else
- * issue a FAIL message
- * else
- * issue a PASS message
- *
- *
- * USAGE: <for command-line>
- * close01 [-c n] [-f] [-i n] [-I x] [-P x] [-t]
- * where, -c n : Run n copies concurrently.
- * -f : Turn off functionality Testing.
- * -i n : Execute test n times.
- * -I x : Execute test for x seconds.
- * -P x : Pause for x seconds between iterations.
- * -t : Turn on syscall timing.
- *
- * HISTORY
- * 07/2001 Ported by Wayne Boyer
- *
- * RESTRICTIONS
- * None
- */
-
-#include <errno.h>
-#include <fcntl.h>
-#include <sys/stat.h>
-#include "test.h"
-#include "usctest.h"
-
-void cleanup(void) __attribute__((noreturn));
-void setup(void);
-
-const char *TCID = "close01()";
-int TST_TOTAL = 2;
-extern int Tst_count;
-
-char fname[40] = "";
-
-int fild = -1;
-int newfd = -1;
-int pipefildes[2];
-
-struct test_case_t {
- int *fd;
- const char *type;
-} TC[] = {
- /* file descriptor for a regular file */
- {&newfd, "file"},
-
- /* file descriptor for a pipe */
- {&pipefildes[0], "pipe"}
-};
-
-int
-main(int ac, char **av)
-{
-
- int i;
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
-
- /* parse standard options */
- if ((msg = parse_opts(ac, av, (option_t *)NULL, NULL)) != (char *)NULL){
- tst_brkm(TBROK, cleanup, "OPTION PARSING ERROR - %s", msg);
- /*NOTREACHED*/
- }
-
- setup(); /* global setup */
-
- /* The following loop checks looping state if -i option given */
- for (lc = 0; TEST_LOOPING(lc); lc++) {
-
- /* reset Tst_count in case we are looping */
- Tst_count = 0;
-
- /* set up the file and pipe for the test */
- if ((fild = creat(fname, 0777)) == -1) {
- perror (fname);
- tst_brkm(TBROK, cleanup, "can't open file %s", fname);
- }
-
- if ((newfd = dup(fild)) == -1) {
- tst_brkm(TBROK, cleanup, "can't dup the file des");
- }
-
- if (pipe(pipefildes) == -1) {
- tst_brkm(TBROK, cleanup, "can't open pipe");
- }
-
- /* loop through the test cases */
-
- for (i = 0; i < TST_TOTAL; i++) {
-
- TEST(close(*TC[i].fd));
-
- if (TEST_RETURN == -1) {
- tst_resm(TFAIL, "call failed unexpectedly");
- continue;
- }
-
- if (STD_FUNCTIONAL_TEST) {
- /* attempt to close the fd again */
- if (close(*TC[i].fd) == -1) {
- tst_resm(TPASS, "%s appears closed",
- TC[i].type);
- } else {
- tst_resm(TFAIL, "%s close succeeded on"
- "second attempt", TC[i].type);
- }
- } else {
- tst_resm(TPASS, "call succeeded");
- }
- }
-
- }
- cleanup();
- /*NOTREACHED*/
-}
-
-/*
- * setup() - performs all ONE TIME setup for this test
- */
-void
-setup(void)
-{
- int mypid;
-
- /* capture signals */
- tst_sig(FORK, DEF_HANDLER, cleanup);
-
- umask(0);
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-
- /* make a temp directory and cd to it */
- tst_tmpdir();
-
- mypid = getpid();
- sprintf(fname, "fname.%d", mypid);
-}
-
-/*
- * cleanup() - performs all the ONE TIME cleanup for this test at completion
- * or premature exit.
- */
-void
-cleanup(void)
-{
- /*
- * print timing status if that option was specified.
- * print errno log if that option was specified
- */
- TEST_CLEANUP;
-
- if (fild >= 0)
- close (fild);
- if (newfd >= 0)
- close (newfd);
-
- /* Remove tmp dir and all files in it */
- tst_rmdir();
-
- /* exit with return code appropriate for results */
- tst_exit();
-}
diff --git a/winsup/testsuite/winsup.api/ltp/close02.c b/winsup/testsuite/winsup.api/ltp/close02.c
deleted file mode 100644
index 72ecf8181..000000000
--- a/winsup/testsuite/winsup.api/ltp/close02.c
+++ /dev/null
@@ -1,143 +0,0 @@
-/*
- *
- * Copyright (c) International Business Machines Corp., 2001
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-/*
- * NAME
- * close02.c
- *
- * DESCRIPTION
- * Check that an invalid file descriptor returns EBADF
- *
- * ALGORITHM
- * loop if that option is specified
- * call close using the TEST macro and passing in an invalid fd
- * if the call succeedes
- * issue a FAIL message
- * else
- * log the errno
- * if the errno == EBADF
- * issue a PASS message
- * else
- * issue a FAIL message
- * cleanup
- *
- * USAGE: <for command-line>
- * close02 [-c n] [-e] [-i n] [-I x] [-P x] [-t]
- * where, -c n : Run n copies concurrently.
- * -e : Turn on errno logging.
- * -i n : Execute test n times.
- * -I x : Execute test for x seconds.
- * -P x : Pause for x seconds between iterations.
- * -t : Turn on syscall timing.
- *
- * HISTORY
- * 07/2001 Ported by Wayne Boyer
- *
- * RESTRICTIONS
- * None
- */
-
-#include <errno.h>
-#include <sys/stat.h>
-#include "test.h"
-#include "usctest.h"
-
-void cleanup(void) __attribute__((noreturn));
-void setup(void);
-
-int exp_enos[] = {EBADF, 0};
-
-const char *TCID = "close02()";
-int TST_TOTAL = 1;
-extern int Tst_count;
-
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
-
- /* parse standard options */
- if ((msg = parse_opts(ac, av, (option_t *)NULL, NULL)) != (char *)NULL){
- tst_brkm(TBROK, cleanup, "OPTION PARSING ERROR - %s", msg);
- /*NOTREACHED*/
- }
-
- setup(); /* global setup */
-
- /* set up expected errnos */
- TEST_EXP_ENOS(exp_enos);
-
- /* The following loop checks looping state if -i option given */
- for (lc = 0; TEST_LOOPING(lc); lc++) {
-
- /* reset Tst_count in case we are looping */
- Tst_count = 0;
-
- TEST(close(-1));
-
- if (TEST_RETURN != -1) {
- tst_resm(TFAIL, "Closed a non existent fildes");
- } else {
- TEST_ERROR_LOG(TEST_ERRNO);
-
- if (TEST_ERRNO != EBADF) {
- tst_resm(TFAIL, "close() FAILED to set errno "
- "to EBADF on an invalid fd, got %d",
- errno);
- } else {
- tst_resm(TPASS, "call returned EBADF");
- }
- }
- }
- cleanup();
- /*NOTREACHED*/
-}
-
-/*
- * setup() - performs all ONE TIME setup for this test
- */
-void
-setup(void)
-{
- /* capture signals */
- tst_sig(FORK, DEF_HANDLER, cleanup);
-
- umask(0);
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-}
-
-/*
- * cleanup() - performs all the ONE TIME cleanup for this test at completion
- * or premature exit.
- */
-void
-cleanup(void)
-{
- /*
- * print timing status if that option was specified.
- * print errno log if that option was specified
- */
- TEST_CLEANUP;
-
- /* exit with return code appropriate for results */
- tst_exit();
-}
diff --git a/winsup/testsuite/winsup.api/ltp/close08.c b/winsup/testsuite/winsup.api/ltp/close08.c
deleted file mode 100644
index 3fbcc3be8..000000000
--- a/winsup/testsuite/winsup.api/ltp/close08.c
+++ /dev/null
@@ -1,241 +0,0 @@
-/*
- * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it would be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Further, this software is distributed without any warranty that it is
- * free of the rightful claim of any third person regarding infringement
- * or the like. Any license provided herein, whether implied or
- * otherwise, applies only to this software file. Patent licenses, if
- * any, provided herein do not apply to combinations of this program with
- * other software, or any other product whatsoever.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write the Free Software Foundation, Inc., 59
- * Temple Place - Suite 330, Boston MA 02111-1307, USA.
- *
- * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
- * Mountain View, CA 94043, or:
- *
- * http://www.sgi.com
- *
- * For further information regarding this notice, see:
- *
- * http://oss.sgi.com/projects/GenInfo/NoticeExplan/
- *
- */
-/* $Id$ */
-/**********************************************************
- *
- * OS Test - Silicon Graphics, Inc.
- *
- * TEST IDENTIFIER : close08
- *
- * EXECUTED BY : anyone
- *
- * TEST TITLE : Basic test for close(2)
- *
- * PARENT DOCUMENT : usctpl01
- *
- * TEST CASE TOTAL : 1
- *
- * WALL CLOCK TIME : 1
- *
- * CPU TYPES : ALL
- *
- * AUTHOR : William Roske
- *
- * CO-PILOT : Dave Fenner
- *
- * DATE STARTED : 03/30/92
- *
- * INITIAL RELEASE : UNICOS 7.0
- *
- * TEST CASES
- *
- * 1.) close(2) returns...(See Description)
- *
- * INPUT SPECIFICATIONS
- * The standard options for system call tests are accepted.
- * (See the parse_opts(3) man page).
- *
- * OUTPUT SPECIFICATIONS
- *
- * DURATION
- * Terminates - with frequency and infinite modes.
- *
- * SIGNALS
- * Uses SIGUSR1 to pause before test if option set.
- * (See the parse_opts(3) man page).
- *
- * RESOURCES
- * None
- *
- * ENVIRONMENTAL NEEDS
- * No run-time environmental needs.
- *
- * SPECIAL PROCEDURAL REQUIREMENTS
- * None
- *
- * INTERCASE DEPENDENCIES
- * None
- *
- * DETAILED DESCRIPTION
- * This is a Phase I test for the close(2) system call. It is intended
- * to provide a limited exposure of the system call, for now. It
- * should/will be extended when full functional tests are written for
- * close(2).
- *
- * Setup:
- * Setup signal handling.
- * Pause for SIGUSR1 if option specified.
- *
- * Test:
- * Loop if the proper options are given.
- * Execute system call
- * Check return code, if system call failed (return=-1)
- * Log the errno and Issue a FAIL message.
- * Otherwise, Issue a PASS message.
- *
- * Cleanup:
- * Print errno log and/or timing stats if options given
- *
- *
- *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#**/
-
-#include <sys/types.h>
-#include <sys/fcntl.h>
-#include <errno.h>
-#include <string.h>
-#include <signal.h>
-#include "test.h"
-#include "usctest.h"
-
-extern void setup();
-extern void cleanup();
-
-
-
-const char *TCID="close08"; /* Test program identifier. */
-int TST_TOTAL=1; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-
-int exp_enos[]={0, 0};
-
-char fname[255];
-int fd;
-
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
-
- /***************************************************************
- * parse standard options
- ***************************************************************/
- if ( (msg=parse_opts(ac, av, (option_t *) NULL, NULL)) != (char *) NULL )
- tst_brkm(TBROK, cleanup, "OPTION PARSING ERROR - %s", msg);
-
- /***************************************************************
- * perform global setup for test
- ***************************************************************/
- setup();
-
- /* set the expected errnos... */
- TEST_EXP_ENOS(exp_enos);
-
- /***************************************************************
- * check looping state if -c option given
- ***************************************************************/
- for (lc=0; TEST_LOOPING(lc); lc++) {
-
- /* reset Tst_count in case we are looping. */
- Tst_count=0;
-
- if ((fd=open(fname,O_RDWR|O_CREAT,0700)) == -1) {
- tst_brkm(TBROK, cleanup,
- "open(%s, O_RDWR|O_CREAT,0700) Failed, errno=%d : %s",
- fname, TEST_ERRNO, strerror(TEST_ERRNO));
- }
- /*
- * Call close(2)
- */
- TEST(close(fd));
-
- /* check return code */
- if ( TEST_RETURN == -1 ) {
- TEST_ERROR_LOG(TEST_ERRNO);
- tst_resm(TFAIL, "close(%s) Failed, errno=%d : %s", fname,
- TEST_ERRNO, strerror(TEST_ERRNO));
- } else {
-
- /***************************************************************
- * only perform functional verification if flag set (-f not given)
- ***************************************************************/
- if ( STD_FUNCTIONAL_TEST ) {
- /* No Verification test, yet... */
- tst_resm(TPASS, "close(%s) returned %d", fname, TEST_RETURN);
- }
- }
-
- if (unlink(fname) == -1) {
- tst_brkm(TBROK, cleanup, "unlink(%s) Failed, errno=%d : %s",
- fname, errno, strerror(errno));
- }
- } /* End for TEST_LOOPING */
-
- /***************************************************************
- * cleanup and exit
- ***************************************************************/
- cleanup();
-
- return 0;
-} /* End main */
-
-/***************************************************************
- * setup() - performs all ONE TIME setup for this test.
- ***************************************************************/
-void
-setup()
-{
- /* capture signals */
- tst_sig(NOFORK, DEF_HANDLER, cleanup);
-
- /* make a temp directory and cd to it */
- tst_tmpdir();
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-
- sprintf(fname,"tfile_%d",getpid());
-} /* End setup() */
-
-
-/***************************************************************
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- ***************************************************************/
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /* Remove tmp dir and all files in it */
- tst_rmdir();
-
- /* exit with return code appropriate for results */
- tst_exit();
-} /* End cleanup() */
-
-
diff --git a/winsup/testsuite/winsup.api/ltp/creat01.c b/winsup/testsuite/winsup.api/ltp/creat01.c
deleted file mode 100644
index 6f891701e..000000000
--- a/winsup/testsuite/winsup.api/ltp/creat01.c
+++ /dev/null
@@ -1,207 +0,0 @@
-/*
- *
- * Copyright (c) International Business Machines Corp., 2001
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-/*
- * NAME
- * creat01.c
- *
- * DESCRIPTION
- * Testcase to check the basic functionality of the creat(2) system call.
- *
- * ALGORITHM
- * 1. creat() a file using 0444 mode, write to the fildes, write
- * should return a positive count.
- *
- * 2. creat() should truncate a file to 0 bytes if it already
- * exists, and should not fail.
- *
- * USAGE: <for command-line>
- * creat01 [-c n] [-f] [-i n] [-I x] [-P x] [-t]
- * where, -c n : Run n copies concurrently.
- * -f : Turn off functionality Testing.
- * -i n : Execute test n times.
- * -I x : Execute test for x seconds.
- * -P x : Pause for x seconds between iterations.
- * -t : Turn on syscall timing.
- *
- * HISTORY
- * 07/2001 Ported by Wayne Boyer
- *
- * RESTRICTIONS
- * None
- */
-
-#include <fcntl.h>
-#include <sys/stat.h>
-#include <errno.h>
-#include "test.h"
-#include "usctest.h"
-
-void setup(void);
-void cleanup(void) __attribute__((noreturn));
-void functest1(void);
-void functest2(void);
-
-const char *TCID = "creat01";
-int TST_TOTAL = 2;
-extern int Tst_count;
-
-char filename[40];
-
-#define MODE1 0644
-#define MODE2 0444
-
-struct test_case_t {
- char *fname;
- int mode;
- void (*functest)();
-} TC[] = {
- /* creat() the file and write to it */
- {filename, MODE1, functest1},
-
- /* creat() the same file and check that it is now 0 length */
- {filename, MODE2, functest2}
-};
-
-int
-main(int ac, char **av)
-{
- int i;
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
-
- /* parse standard options */
- if ((msg = parse_opts(ac, av, (option_t *)NULL, NULL)) != (char *)NULL){
- tst_brkm(TBROK, tst_exit, "OPTION PARSING ERROR - %s", msg);
- }
-
- setup(); /* set "tstdir", and "testfile" variables */
-
- /* check looping state if -i option given */
- for (lc = 0; TEST_LOOPING(lc); lc++) {
-
- /* reset Tst_count in case we are looping */
- Tst_count = 0;
-
- /* loop through the test cases */
-
- for (i=0; i<TST_TOTAL; i++) {
- TEST(creat(filename, TC[i].mode));
-
- if (TEST_RETURN == -1) {
- tst_resm(TFAIL, "Could not creat file %s",
- filename);
- continue;
- }
-
- if (STD_FUNCTIONAL_TEST) {
- (*TC[i].functest)();
- } else {
- tst_resm(TPASS, "call succeeded");
- }
- if (TEST_RETURN >= 0) {
- close(TEST_RETURN);
- }
- }
- }
- cleanup();
-
- /*NOTREACHED*/
-}
-
-/*
- * functest1() - check the functionality of the first test by making sure
- * that a write to the file succeeds
- */
-void
-functest1()
-{
- if (write(TEST_RETURN, "A", 1) != 1) {
- tst_resm(TFAIL, "write was unsuccessful");
- } else {
- tst_resm(TPASS, "file was created and written to successfully");
- }
-}
-
-/*
- * functest2() - check the functionality of the second test by making sure
- * that the file is now 0 length
- */
-void
-functest2()
-{
- struct stat buf;
-
- if (stat(filename, &buf) < 0) {
- tst_brkm(TBROK, cleanup, "failed to stat test file");
- /*NOTREACHED*/
- }
- if (buf.st_size != 0) {
- tst_resm(TFAIL, "creat() FAILED to truncate "
- "file to zero bytes");
- } else {
- tst_resm(TPASS, "creat() truncated existing file to 0 bytes");
- }
-}
-
-/*
- * setup() - performs all ONE TIME setup for this test
- */
-void
-setup()
-{
- if (geteuid() == 0) {
- tst_brkm(TBROK, tst_exit, "Must not run this as root");
- /*NOTREACHED*/
- }
-
- /* capture signals */
- tst_sig(NOFORK, DEF_HANDLER, cleanup);
-
- umask(0);
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-
- tst_tmpdir();
-
- sprintf(filename, "creat01.%d", getpid());
-}
-
-/*
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- */
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- unlink(filename);
-
- /* delete the test directory created in setup() */
- tst_rmdir();
-
- /* exit with return code appropriate for results */
- tst_exit();
-}
diff --git a/winsup/testsuite/winsup.api/ltp/creat03.c b/winsup/testsuite/winsup.api/ltp/creat03.c
deleted file mode 100644
index 2ca21f1e0..000000000
--- a/winsup/testsuite/winsup.api/ltp/creat03.c
+++ /dev/null
@@ -1,154 +0,0 @@
-/*
- *
- * Copyright (c) International Business Machines Corp., 2001
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-/*
- * NAME
- * creat03.c
- *
- * DESCRIPTION
- * Testcase to check whether the sticky bit cleared.
- *
- * ALGORITHM
- * Creat a new file, fstat.st_mode should have the 01000 bit off
- *
- * USAGE: <for command-line>
- * creat03 [-c n] [-f] [-i n] [-I x] [-P x] [-t]
- * where, -c n : Run n copies concurrently.
- * -f : Turn off functionality Testing.
- * -i n : Execute test n times.
- * -I x : Execute test for x seconds.
- * -P x : Pause for x seconds between iterations.
- * -t : Turn on syscall timing.
- *
- * HISTORY
- * 07/2001 Ported by Wayne Boyer
- *
- * RESTRICTIONS
- * None
- */
-
-#include <errno.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <fcntl.h>
-#include "test.h"
-#include "usctest.h"
-
-const char *TCID = "creat03"; /* Test program identifier */
-int TST_TOTAL = 1; /* Total number of test cases */
-extern int Tst_count; /* Test case counter */
-
-char pfilname[40] = "";
-#define FMODE 0444
-
-void setup(void);
-void cleanup(void) __attribute__((noreturn));
-
-int
-main(int ac, char **av)
-{
- struct stat statbuf;
- unsigned short filmode;
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
-
- /* parse standard options */
- if ((msg = parse_opts(ac, av, (option_t *)NULL, NULL)) != (char *)NULL){
- tst_brkm(TBROK, cleanup, "OPTION PARSING ERROR - %s", msg);
- /*NOTREACHED*/
- }
-
- setup();
-
- /* check looping state if -i option given */
- for (lc = 0; TEST_LOOPING(lc); lc++) {
-
- /* reset Tst_count in case we are looping */
- Tst_count = 0;
-
- TEST(creat(pfilname, FMODE));
-
- if (TEST_RETURN == -1) {
- tst_resm(TFAIL, "Cannot creat %s", pfilname);
- continue;
- /*NOTREACHED*/
- }
-
- if (STD_FUNCTIONAL_TEST) {
- if (fstat(TEST_RETURN, &statbuf) == -1) {
- tst_brkm(TBROK, cleanup, "fstat() failed");
- }
- filmode = statbuf.st_mode;
- tst_resm(TINFO, "Created file has mode = 0%o", filmode);
- if ((filmode & S_ISVTX) != 0) {
- tst_resm(TFAIL, "save text bit not cleared");
- } else {
- tst_resm(TPASS, "save text bit cleared");
- }
- } else {
- tst_resm(TPASS, "call succeeded");
- }
-
- if (TEST_RETURN >= 0) {
- close(TEST_RETURN);
- }
-
- /* clean up things in case we are looping */
- if (unlink(pfilname) == -1) {
- tst_brkm(TBROK, cleanup, "couldn't remove file");
- }
- }
- cleanup();
-
- /*NOTREACHED*/
-}
-
-/*
- * setup() - performs all ONE TIME setup for this test
- */
-void
-setup(void)
-{
- /* capture signals */
- tst_sig(NOFORK, DEF_HANDLER, cleanup);
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-
- /* make a temp dir and cd to it */
- tst_tmpdir();
-
- sprintf(pfilname, "./creat4.%d", getpid());
-}
-
-/*
- * cleanup() - performs all ONE TIME cleanup for this test at completion or
- * premature exit
- */
-void
-cleanup(void)
-{
- TEST_CLEANUP;
-
- /* remove the tmp dir and all its files */
- tst_rmdir();
-
- /* exit with return code appropriate for results */
- tst_exit();
-}
diff --git a/winsup/testsuite/winsup.api/ltp/creat09.c b/winsup/testsuite/winsup.api/ltp/creat09.c
deleted file mode 100644
index c3c88a7c6..000000000
--- a/winsup/testsuite/winsup.api/ltp/creat09.c
+++ /dev/null
@@ -1,246 +0,0 @@
-/*
- * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it would be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Further, this software is distributed without any warranty that it is
- * free of the rightful claim of any third person regarding infringement
- * or the like. Any license provided herein, whether implied or
- * otherwise, applies only to this software file. Patent licenses, if
- * any, provided herein do not apply to combinations of this program with
- * other software, or any other product whatsoever.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write the Free Software Foundation, Inc., 59
- * Temple Place - Suite 330, Boston MA 02111-1307, USA.
- *
- * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
- * Mountain View, CA 94043, or:
- *
- * http://www.sgi.com
- *
- * For further information regarding this notice, see:
- *
- * http://oss.sgi.com/projects/GenInfo/NoticeExplan/
- *
- */
-/* $Id$ */
-/**********************************************************
- *
- * OS Test - Silicon Graphics, Inc.
- *
- * TEST IDENTIFIER : creat09
- *
- * EXECUTED BY : anyone
- *
- * TEST TITLE : Basic test for creat(2) using 0700 argument.
- *
- * PARENT DOCUMENT : usctpl01
- *
- * TEST CASE TOTAL : 1
- *
- * WALL CLOCK TIME : 1
- *
- * CPU TYPES : ALL
- *
- * AUTHOR : William Roske
- *
- * CO-PILOT : Dave Fenner
- *
- * DATE STARTED : 03/30/92
- *
- * INITIAL RELEASE : UNICOS 7.0
- *
- * TEST CASES
- *
- * 1.) creat(2) returns...(See Description)
- *
- * INPUT SPECIFICATIONS
- * The standard options for system call tests are accepted.
- * (See the parse_opts(3) man page).
- *
- * OUTPUT SPECIFICATIONS
- *
- * DURATION
- * Terminates - with frequency and infinite modes.
- *
- * SIGNALS
- * Uses SIGUSR1 to pause before test if option set.
- * (See the parse_opts(3) man page).
- *
- * RESOURCES
- * None
- *
- * ENVIRONMENTAL NEEDS
- * No run-time environmental needs.
- *
- * SPECIAL PROCEDURAL REQUIREMENTS
- * None
- *
- * INTERCASE DEPENDENCIES
- * None
- *
- * DETAILED DESCRIPTION
- * This is a Phase I test for the creat(2) system call. It is intended
- * to provide a limited exposure of the system call, for now. It
- * should/will be extended when full functional tests are written for
- * creat(2).
- *
- * Setup:
- * Setup signal handling.
- * Pause for SIGUSR1 if option specified.
- *
- * Test:
- * Loop if the proper options are given.
- * Execute system call
- * Check return code, if system call failed (return=-1)
- * Log the errno and Issue a FAIL message.
- * Otherwise, Issue a PASS message.
- *
- * Cleanup:
- * Print errno log and/or timing stats if options given
- *
- *
- *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#**/
-
-#include <sys/types.h>
-#include <sys/fcntl.h>
-#include <errno.h>
-#include <string.h>
-#include <signal.h>
-#include "test.h"
-#include "usctest.h"
-
-extern void setup();
-extern void cleanup();
-
-
-
-const char *TCID="creat09"; /* Test program identifier. */
-int TST_TOTAL=1; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-
-int exp_enos[]={0, 0};
-
-char fname[255];
-int fd;
-
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
-
- /***************************************************************
- * parse standard options
- ***************************************************************/
- if ( (msg=parse_opts(ac, av, (option_t *) NULL, NULL)) != (char *) NULL )
- tst_brkm(TBROK, cleanup, "OPTION PARSING ERROR - %s", msg);
-
- /***************************************************************
- * perform global setup for test
- ***************************************************************/
- setup();
-
- /* set the expected errnos... */
-
- TEST_EXP_ENOS(exp_enos);
-
- /***************************************************************
- * check looping state if -c option given
- ***************************************************************/
- for (lc=0; TEST_LOOPING(lc); lc++) {
-
- /* reset Tst_count in case we are looping. */
- Tst_count=0;
-
- /*
- *******************************************
- * Call creat(2) with 0700 argument on fname
- *******************************************
- */
- TEST(creat(fname, 0700));
-
- /* check return code */
-
- if ( TEST_RETURN == -1 ) {
- TEST_ERROR_LOG(TEST_ERRNO);
- tst_resm(TFAIL, "creat(%s, 0700) Failed, errno=%d : %s", fname,
- TEST_ERRNO, strerror(TEST_ERRNO));
- } else {
-
- /***************************************************************
- * only perform functional verification if flag set (-f not given)
- ***************************************************************/
- if ( STD_FUNCTIONAL_TEST ) {
- /* No Verification test, yet... */
- tst_resm(TPASS, "creat(%s, 0700) returned %d", fname, TEST_RETURN);
- }
- }
-
- /* close and remove file, possibly for next loop */
- if (close(TEST_RETURN) == -1) {
- tst_brkm(TBROK, cleanup,
- "close(%s) Failed, errno=%d : %s",
- fname, errno, strerror(errno));
- } else if (unlink(fname) == -1) {
- tst_resm(TWARN, "unlink(%s) Failed, errno=%d : %s",
- fname, errno, strerror(errno));
- }
-
- } /* End for TEST_LOOPING */
-
- /***************************************************************
- * cleanup and exit
- ***************************************************************/
- cleanup();
-
- return 0;
-} /* End main */
-
-/***************************************************************
- * setup() - performs all ONE TIME setup for this test.
- ***************************************************************/
-void
-setup()
-{
- /* capture signals */
- tst_sig(NOFORK, DEF_HANDLER, cleanup);
-
- /* make a temp directory and cd to it */
- tst_tmpdir();
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-
- sprintf(fname,"tfile_%d",getpid());
-} /* End setup() */
-
-
-/***************************************************************
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- ***************************************************************/
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /* Remove tmp dir and all files in it */
- tst_rmdir();
-
- /* exit with return code appropriate for results */
- tst_exit();
-} /* End cleanup() */
-
-
diff --git a/winsup/testsuite/winsup.api/ltp/dup01.c b/winsup/testsuite/winsup.api/ltp/dup01.c
deleted file mode 100644
index 521df6a78..000000000
--- a/winsup/testsuite/winsup.api/ltp/dup01.c
+++ /dev/null
@@ -1,261 +0,0 @@
-/*
- * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it would be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Further, this software is distributed without any warranty that it is
- * free of the rightful claim of any third person regarding infringement
- * or the like. Any license provided herein, whether implied or
- * otherwise, applies only to this software file. Patent licenses, if
- * any, provided herein do not apply to combinations of this program with
- * other software, or any other product whatsoever.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write the Free Software Foundation, Inc., 59
- * Temple Place - Suite 330, Boston MA 02111-1307, USA.
- *
- * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
- * Mountain View, CA 94043, or:
- *
- * http://www.sgi.com
- *
- * For further information regarding this notice, see:
- *
- * http://oss.sgi.com/projects/GenInfo/NoticeExplan/
- *
- */
-/* $Id$ */
-/**********************************************************
- *
- * OS Test - Silicon Graphics, Inc.
- *
- * TEST IDENTIFIER : dup01
- *
- * EXECUTED BY : anyone
- *
- * TEST TITLE : Basic test for dup(2)
- *
- * PARENT DOCUMENT : usctpl01
- *
- * TEST CASE TOTAL : 1
- *
- * WALL CLOCK TIME : 1
- *
- * CPU TYPES : ALL
- *
- * AUTHOR : William Roske
- *
- * CO-PILOT : Dave Fenner
- *
- * DATE STARTED : 03/30/92
- *
- * INITIAL RELEASE : UNICOS 7.0
- *
- * TEST CASES
- *
- * 1.) dup(2) returns...(See Description)
- *
- * INPUT SPECIFICATIONS
- * The standard options for system call tests are accepted.
- * (See the parse_opts(3) man page).
- *
- * OUTPUT SPECIFICATIONS
- *
- * DURATION
- * Terminates - with frequency and infinite modes.
- *
- * SIGNALS
- * Uses SIGUSR1 to pause before test if option set.
- * (See the parse_opts(3) man page).
- *
- * RESOURCES
- * None
- *
- * ENVIRONMENTAL NEEDS
- * No run-time environmental needs.
- *
- * SPECIAL PROCEDURAL REQUIREMENTS
- * None
- *
- * INTERCASE DEPENDENCIES
- * None
- *
- * DETAILED DESCRIPTION
- * This is a Phase I test for the dup(2) system call. It is intended
- * to provide a limited exposure of the system call, for now. It
- * should/will be extended when full functional tests are written for
- * dup(2).
- *
- * Setup:
- * Setup signal handling.
- * Pause for SIGUSR1 if option specified.
- *
- * Test:
- * Loop if the proper options are given.
- * Execute system call
- * Check return code, if system call failed (return=-1)
- * Log the errno and Issue a FAIL message.
- * Otherwise, Issue a PASS message.
- *
- * Cleanup:
- * Print errno log and/or timing stats if options given
- *
- *
- *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#**/
-
-#include <sys/types.h>
-#include <sys/fcntl.h>
-#include <errno.h>
-#include <string.h>
-#include <signal.h>
-#include "test.h"
-#include "usctest.h"
-
-extern void setup();
-extern void cleanup();
-
-
-const char *TCID="dup01"; /* Test program identifier. */
-int TST_TOTAL=1; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-
-int exp_enos[]={0, 0};
-
-char Fname[255];
-int Fd;
-
-/***********************************************************************
- * Main
- ***********************************************************************/
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
-
- /***************************************************************
- * parse standard options
- ***************************************************************/
- if ( (msg=parse_opts(ac, av, (option_t *)NULL, NULL)) != (char *) NULL ) {
- tst_brkm(TBROK, NULL, "OPTION PARSING ERROR - %s", msg);
- tst_exit();
- }
-
- /***************************************************************
- * perform global setup for test
- ***************************************************************/
- setup();
-
- /* set the expected errnos... */
- TEST_EXP_ENOS(exp_enos);
-
- /***************************************************************
- * check looping state if -c option given
- ***************************************************************/
- for (lc=0; TEST_LOOPING(lc); lc++) {
-
- /* reset Tst_count in case we are looping. */
- Tst_count=0;
-
- /*
- * Call dup(2)
- */
- TEST( dup(Fd) );
-
- /* check return code */
- if ( TEST_RETURN == -1 ) {
- TEST_ERROR_LOG(TEST_ERRNO);
- tst_resm(TFAIL, "dup(%s) Failed, errno=%d : %s", Fname,
- TEST_ERRNO, strerror(TEST_ERRNO));
- } else {
-
- /***************************************************************
- * only perform functional verification if flag set (-f not given)
- ***************************************************************/
- if ( STD_FUNCTIONAL_TEST ) {
- /* No Verification test, yet... */
- tst_resm(TPASS, "dup(%s) returned %d", Fname, TEST_RETURN);
- }
-
- /* close the new file so loops do not open too many files */
- if (close(TEST_RETURN) == -1) {
- tst_brkm(TBROK, cleanup, "close(%s) Failed, errno=%d : %s",
- Fname, errno, strerror(errno));
- }
- }
-
- } /* End for TEST_LOOPING */
-
- /***************************************************************
- * cleanup and exit
- ***************************************************************/
- cleanup();
-
- return 0;
-} /* End main */
-
-/***************************************************************
- * setup() - performs all ONE TIME setup for this test.
- ***************************************************************/
-void
-setup()
-{
- /*
- * Initialize Fd in case we get a quick signal
- */
- Fd=-1;
-
- /* capture signals */
- tst_sig(FORK, DEF_HANDLER, cleanup);
-
- /* make a temp directory and cd to it */
- tst_tmpdir();
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-
- sprintf(Fname, "dupfile");
- if ((Fd = open(Fname,O_RDWR|O_CREAT,0700)) == -1) {
- tst_brkm(TBROK, cleanup,
- "open(%s, O_RDWR|O_CREAT,0700) Failed, errno=%d : %s",
- Fname, errno, strerror(errno));
- }
-} /* End setup() */
-
-
-/***************************************************************
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- ***************************************************************/
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /* close the open file we've been dup'ing */
- if (Fd != -1) {
- if (close(Fd) == -1) {
- tst_resm(TWARN, "close(%s) Failed, errno=%d : %s",
- Fname, errno, strerror(errno));
- }
- Fd=-1;
- }
-
- /* Remove tmp dir and all files in it */
- tst_rmdir();
-
- /* exit with return code appropriate for results */
- tst_exit();
-} /* End cleanup() */
-
-
diff --git a/winsup/testsuite/winsup.api/ltp/dup02.c b/winsup/testsuite/winsup.api/ltp/dup02.c
deleted file mode 100644
index ee759b89b..000000000
--- a/winsup/testsuite/winsup.api/ltp/dup02.c
+++ /dev/null
@@ -1,246 +0,0 @@
-/*
- * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it would be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Further, this software is distributed without any warranty that it is
- * free of the rightful claim of any third person regarding infringement
- * or the like. Any license provided herein, whether implied or
- * otherwise, applies only to this software file. Patent licenses, if
- * any, provided herein do not apply to combinations of this program with
- * other software, or any other product whatsoever.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write the Free Software Foundation, Inc., 59
- * Temple Place - Suite 330, Boston MA 02111-1307, USA.
- *
- * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
- * Mountain View, CA 94043, or:
- *
- * http://www.sgi.com
- *
- * For further information regarding this notice, see:
- *
- * http://oss.sgi.com/projects/GenInfo/NoticeExplan/
- *
- */
-/* $Id$ */
-/**********************************************************
- *
- * OS Test - Silicon Graphics, Inc.
- *
- * TEST IDENTIFIER : dup02
- *
- * EXECUTED BY : anyone
- *
- * TEST TITLE : Negative test for dup(2) with bad fd.
- *
- * PARENT DOCUMENT : usctpl01
- *
- * TEST CASE TOTAL : 2
- *
- * WALL CLOCK TIME : 1
- *
- * CPU TYPES : ALL
- *
- * AUTHOR : Richard Logan
- *
- * CO-PILOT : William Roske
- *
- * DATE STARTED : 06/94
- *
- * INITIAL RELEASE : UNICOS 7.0
- *
- * TEST CASES
- *
- * 1-?.) dup(2) returns -1 with errno set to EBADF...(See Description)
- *
- * INPUT SPECIFICATIONS
- * The standard options for system call tests are accepted.
- * (See the parse_opts(3) man page).
- *
- * OUTPUT SPECIFICATIONS
- * Standard tst_res formatted output
- *
- * DURATION
- * Terminates - with frequency and infinite modes.
- *
- * SIGNALS
- * Uses SIGUSR1 to pause before test if option set.
- * (See the parse_opts(3) man page).
- *
- * RESOURCES
- * None
- *
- * ENVIRONMENTAL NEEDS
- * No run-time environmental needs.
- *
- * SPECIAL PROCEDURAL REQUIREMENTS
- * None
- *
- * INTERCASE DEPENDENCIES
- * None
- *
- * DETAILED DESCRIPTION
- *
- * Setup:
- * Setup signal handling.
- * Pause for SIGUSR1 if option specified.
- *
- * Test:
- * Loop if the proper options are given.
- * Loop through the test cases
- * Execute system call
- * Check return code, if system call failed (return=-1)
- * if doing functional check
- * check if errno set correctly, report results
- * Otherwise, Issue a FAIL message.
- *
- * Cleanup:
- * Print errno log and/or timing stats if options given
- *
- *
- *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#**/
-
-#include <sys/types.h>
-#include <sys/fcntl.h>
-#include <errno.h>
-#include <string.h>
-#include <signal.h>
-#include "test.h"
-#include "usctest.h"
-
-extern void setup();
-extern void cleanup();
-
-
-const char *TCID="dup02"; /* Test program identifier. */
-int TST_TOTAL=2; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-
-int exp_enos[]={0, 0};
-
-int Fds[] = { -1, 1500 };
-
-
-/***********************************************************************
- * Main
- ***********************************************************************/
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
- int nfds = sizeof(Fds) / sizeof(int);
- int ind;
-
- /***************************************************************
- * parse standard options
- ***************************************************************/
- if ( (msg=parse_opts(ac, av, (option_t *)NULL, NULL)) != (char *) NULL ) {
- tst_brkm(TBROK, NULL, "OPTION PARSING ERROR - %s", msg);
- tst_exit();
- }
-
- /***************************************************************
- * perform global setup for test
- ***************************************************************/
- setup();
-
- /* set the expected errnos... */
- TEST_EXP_ENOS(exp_enos);
-
- /***************************************************************
- * check looping state if -c option given
- ***************************************************************/
- for (lc=0; TEST_LOOPING(lc); lc++) {
-
- /* reset Tst_count in case we are looping. */
- Tst_count=0;
-
- for (ind=0; ind<nfds; ind++) {
-
- /*
- * Call dup(2)
- */
- TEST( dup(Fds[ind]) );
-
- /* check return code */
- if ( TEST_RETURN == -1 ) {
- if ( STD_FUNCTIONAL_TEST ) {
- if ( TEST_ERRNO == EBADF ) {
- tst_resm(TPASS, "dup(%d) Failed, errno=%d : %s", Fds[ind],
- TEST_ERRNO, strerror(TEST_ERRNO));
- }
- else {
- tst_resm(TFAIL,
- "dup(%d) Failed, errno=%d %s, expected %d (EBADF)",
- Fds[ind], TEST_ERRNO, strerror(TEST_ERRNO), EBADF);
- }
- }
- } else {
- tst_resm(TFAIL, "dup(%d) returned %d, expected -1, errno:%d (EBADF)",
- Fds[ind], TEST_RETURN, EBADF);
-
- /* close the new file so loops do not open too many files */
- if (close(TEST_RETURN) == -1) {
- tst_brkm(TBROK, cleanup, "close(%d) Failed, errno=%d : %s",
- TEST_RETURN, errno, strerror(errno));
- }
- }
- }
- } /* End for TEST_LOOPING */
-
- /***************************************************************
- * cleanup and exit
- ***************************************************************/
- cleanup();
-
- return 0;
-} /* End main */
-
-/***************************************************************
- * setup() - performs all ONE TIME setup for this test.
- ***************************************************************/
-void
-setup()
-{
- /* capture signals */
- tst_sig(FORK, DEF_HANDLER, cleanup);
-
- /* make a temp directory and cd to it */
- tst_tmpdir();
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-
-} /* End setup() */
-
-
-/***************************************************************
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- ***************************************************************/
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /* Remove tmp dir and all files in it */
- tst_rmdir();
-
- /* exit with return code appropriate for results */
- tst_exit();
-} /* End cleanup() */
-
-
diff --git a/winsup/testsuite/winsup.api/ltp/dup03.c b/winsup/testsuite/winsup.api/ltp/dup03.c
deleted file mode 100644
index bcc347aac..000000000
--- a/winsup/testsuite/winsup.api/ltp/dup03.c
+++ /dev/null
@@ -1,291 +0,0 @@
-/*
- * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it would be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Further, this software is distributed without any warranty that it is
- * free of the rightful claim of any third person regarding infringement
- * or the like. Any license provided herein, whether implied or
- * otherwise, applies only to this software file. Patent licenses, if
- * any, provided herein do not apply to combinations of this program with
- * other software, or any other product whatsoever.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write the Free Software Foundation, Inc., 59
- * Temple Place - Suite 330, Boston MA 02111-1307, USA.
- *
- * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
- * Mountain View, CA 94043, or:
- *
- * http://www.sgi.com
- *
- * For further information regarding this notice, see:
- *
- * http://oss.sgi.com/projects/GenInfo/NoticeExplan/
- *
- */
-/* $Id$ */
-/**********************************************************
- *
- * OS Test - Silicon Graphics, Inc.
- *
- * TEST IDENTIFIER : dup03
- *
- * EXECUTED BY : anyone
- *
- * TEST TITLE : Negative test for dup(2) (too many fds)
- *
- * PARENT DOCUMENT : usctpl01
- *
- * TEST CASE TOTAL : 1
- *
- * WALL CLOCK TIME : 1
- *
- * CPU TYPES : ALL
- *
- * AUTHOR : Richard Logan
- *
- * CO-PILOT : William Roske
- *
- * DATE STARTED : 06/94
- *
- * INITIAL RELEASE : UNICOS 7.0
- *
- * TEST CASES
- *
- * 1.) dup(2) returns...(See Description)
- *
- * INPUT SPECIFICATIONS
- * The standard options for system call tests are accepted.
- * (See the parse_opts(3) man page).
- *
- * OUTPUT SPECIFICATIONS
- *
- * DURATION
- * Terminates - with frequency and infinite modes.
- *
- * SIGNALS
- * Uses SIGUSR1 to pause before test if option set.
- * (See the parse_opts(3) man page).
- *
- * RESOURCES
- * None
- *
- * ENVIRONMENTAL NEEDS
- * No run-time environmental needs.
- *
- * SPECIAL PROCEDURAL REQUIREMENTS
- * None
- *
- * INTERCASE DEPENDENCIES
- * None
- *
- * DETAILED DESCRIPTION
- *
- * Setup:
- * Setup signal handling.
- * Pause for SIGUSR1 if option specified.
- *
- * Test:
- * Loop if the proper options are given.
- * Execute system call
- * Check return code, if system call failed (return=-1)
- * Log the errno and Issue a FAIL message.
- * Otherwise, Issue a PASS message.
- *
- * Cleanup:
- * Print errno log and/or timing stats if options given
- *
- *
- *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#**/
-
-#include <sys/types.h>
-#include <sys/fcntl.h>
-#include <errno.h>
-#include <string.h>
-#include <signal.h>
-#include "test.h"
-#include "usctest.h"
-
-void setup();
-void cleanup(void) __attribute__((noreturn));
-
-const char *TCID="dup03"; /* Test program identifier. */
-int TST_TOTAL=1; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-
-
-char Fname[255];
-int *Fd = NULL;
-int Nfds=0;
-
-/***********************************************************************
- * Main
- ***********************************************************************/
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
-
- /***************************************************************
- * parse standard options
- ***************************************************************/
- if ( (msg=parse_opts(ac, av, (option_t *) NULL, NULL)) != (char *) NULL ) {
- tst_brkm(TBROK, NULL, "OPTION PARSING ERROR - %s", msg);
- tst_exit();
- }
-
- /***************************************************************
- * perform global setup for test
- ***************************************************************/
- setup();
-
- /***************************************************************
- * check looping state if -c option given
- ***************************************************************/
- for (lc=0; TEST_LOOPING(lc); lc++) {
-
- /* reset Tst_count in case we are looping. */
- Tst_count=0;
-
- /*
- * Call dup(2)
- */
- TEST( dup(Fd[0]) );
-
- /* check return code */
- if ( TEST_RETURN == -1 ) {
- if ( STD_FUNCTIONAL_TEST ) {
- if ( TEST_ERRNO == EMFILE ) {
- tst_resm(TPASS, "dup(%d) Failed, errno=%d : %s", Fd[0],
- TEST_ERRNO, strerror(TEST_ERRNO));
- }
- else {
- tst_resm(TFAIL, "dup(%d) Failed, errno=%d %s, expected %d (EMFILE)",
- Fd[0], TEST_ERRNO, strerror(TEST_ERRNO), EMFILE);
- }
- }
- } else {
- tst_resm(TFAIL, "dup(%d) returned %d, expected -1, errno:%d (EMFILE)",
- Fd[0], TEST_RETURN, EMFILE);
-
- /* close the new file so loops do not open too many files */
- if (close(TEST_RETURN) == -1) {
- tst_brkm(TBROK, cleanup, "close(%s) Failed, errno=%d : %s",
- Fname, errno, strerror(errno));
- }
- }
-
- } /* End for TEST_LOOPING */
-
- /***************************************************************
- * cleanup and exit
- ***************************************************************/
- cleanup();
-
- return 0;
-} /* End main */
-
-/***************************************************************
- * setup() - performs all ONE TIME setup for this test.
- ***************************************************************/
-void
-setup()
-{
- long maxfds;
-
- /*
- * Initialize Fd in case we get a quick signal
- */
- maxfds = sysconf(_SC_OPEN_MAX);
- if (maxfds < 1) {
- tst_brkm(TBROK, cleanup,
- "sysconf(_SC_OPEN_MAX) Failed, errno=%d : %s",
- errno, strerror(errno));
- }
-
- Fd = (int *)malloc(maxfds*sizeof(int));
- Fd[0]=-1;
-
- /* capture signals */
- tst_sig(FORK, DEF_HANDLER, cleanup);
-
- /* make a temp directory and cd to it */
- tst_tmpdir();
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-
- /*
- * open the file as many times as it takes to use up all fds
- */
- sprintf(Fname, "dupfile");
- for (Nfds=1; Nfds<=maxfds; Nfds++) {
- if ((Fd[Nfds-1] = open(Fname,O_RDWR|O_CREAT,0700)) == -1) {
-
- Nfds--; /* on a open failure, decrement the counter */
- if ( errno == EMFILE ) {
- break;
- }
- else { /* open failed for some other reason */
- tst_brkm(TBROK, cleanup,
- "open(%s, O_RDWR|O_CREAT,0700) Failed, errno=%d : %s",
- Fname, errno, strerror(errno));
- }
- }
- }
-
- /*
- * make sure at least one was open and that all fds were opened.
- */
- if ( Nfds == 0 ) {
- tst_brkm(TBROK, cleanup, "Unable to open at least one file");
- }
- if ( Nfds > maxfds ) {
- tst_brkm(TBROK, cleanup,
- "Unable to open enough files to use all file descriptors, tried %d",
- maxfds);
- }
-} /* End setup() */
-
-
-/***************************************************************
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- ***************************************************************/
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /* close the open file we've been dup'ing */
- if (Fd) {
- for (; Nfds >0 ; Nfds--) {
- if (close(Fd[Nfds-1]) == -1) {
- tst_resm(TWARN, "close(%s) Failed, errno=%d : %s",
- Fname, errno, strerror(errno));
- }
- Fd[Nfds]=-1;
- }
- free(Fd);
- }
-
- /* Remove tmp dir and all files in it */
- tst_rmdir();
-
- /* exit with return code appropriate for results */
- tst_exit();
-} /* End cleanup() */
-
-
diff --git a/winsup/testsuite/winsup.api/ltp/dup04.c b/winsup/testsuite/winsup.api/ltp/dup04.c
deleted file mode 100644
index 1c4eaf188..000000000
--- a/winsup/testsuite/winsup.api/ltp/dup04.c
+++ /dev/null
@@ -1,297 +0,0 @@
-/*
- * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it would be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Further, this software is distributed without any warranty that it is
- * free of the rightful claim of any third person regarding infringement
- * or the like. Any license provided herein, whether implied or
- * otherwise, applies only to this software file. Patent licenses, if
- * any, provided herein do not apply to combinations of this program with
- * other software, or any other product whatsoever.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write the Free Software Foundation, Inc., 59
- * Temple Place - Suite 330, Boston MA 02111-1307, USA.
- *
- * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
- * Mountain View, CA 94043, or:
- *
- * http://www.sgi.com
- *
- * For further information regarding this notice, see:
- *
- * http://oss.sgi.com/projects/GenInfo/NoticeExplan/
- *
- */
-/* $Id$ */
-/**********************************************************
- *
- * OS Test - Silicon Graphics, Inc.
- *
- * TEST IDENTIFIER : dup04
- *
- * EXECUTED BY : anyone
- *
- * TEST TITLE : Basic test for dup(2) of a system pipe descriptor
- *
- * PARENT DOCUMENT : usctpl01
- *
- * TEST CASE TOTAL : 2
- *
- * WALL CLOCK TIME : 1
- *
- * CPU TYPES : ALL
- *
- * AUTHOR : Richard Logan
- *
- * CO-PILOT : William Roske
- *
- * DATE STARTED : 06/94
- *
- * INITIAL RELEASE : UNICOS 7.0
- *
- * TEST CASES
- *
- * 1.) dup(2) returns...(See Description)
- *
- * INPUT SPECIFICATIONS
- * The standard options for system call tests are accepted.
- * (See the parse_opts(3) man page).
- *
- * OUTPUT SPECIFICATIONS
- *
- * DURATION
- * Terminates - with frequency and infinite modes.
- *
- * SIGNALS
- * Uses SIGUSR1 to pause before test if option set.
- * (See the parse_opts(3) man page).
- *
- * RESOURCES
- * None
- *
- * ENVIRONMENTAL NEEDS
- * No run-time environmental needs.
- *
- * SPECIAL PROCEDURAL REQUIREMENTS
- * None
- *
- * INTERCASE DEPENDENCIES
- * None
- *
- * DETAILED DESCRIPTION
- * This is a Phase I test for the dup(2) system call. It is intended
- * to provide a limited exposure of the system call, for now. It
- * should/will be extended when full functional tests are written for
- * dup(2).
- *
- * Setup:
- * Setup signal handling.
- * Pause for SIGUSR1 if option specified.
- *
- * Test:
- * Loop if the proper options are given.
- * Execute system call
- * Check return code, if system call failed (return=-1)
- * Log the errno and Issue a FAIL message.
- * Otherwise, Issue a PASS message.
- *
- * Cleanup:
- * Print errno log and/or timing stats if options given
- *
- *
- *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#**/
-
-#include <sys/types.h>
-#include <sys/fcntl.h>
-#include <errno.h>
-#include <string.h>
-#include <signal.h>
-#include "test.h"
-#include "usctest.h"
-
-extern void setup();
-extern void cleanup();
-
-
-const char *TCID="dup04"; /* Test program identifier. */
-int TST_TOTAL=2; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-
-int exp_enos[]={0, 0};
-
-int Fd[2];
-
-/***********************************************************************
- * Main
- ***********************************************************************/
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
-
- /***************************************************************
- * parse standard options
- ***************************************************************/
- if ( (msg=parse_opts(ac, av, (option_t *)NULL, NULL)) != (char *) NULL ) {
- tst_brkm(TBROK, NULL, "OPTION PARSING ERROR - %s", msg);
- tst_exit();
- }
-
- /***************************************************************
- * perform global setup for test
- ***************************************************************/
- setup();
-
- /* set the expected errnos... */
- TEST_EXP_ENOS(exp_enos);
-
- /***************************************************************
- * check looping state if -c option given
- ***************************************************************/
- for (lc=0; TEST_LOOPING(lc); lc++) {
-
- /* reset Tst_count in case we are looping. */
- Tst_count=0;
-
- /*
- * Call dup(2) for read side
- */
- TEST( dup(Fd[0]) );
-
- /* check return code */
- if ( TEST_RETURN == -1 ) {
- TEST_ERROR_LOG(TEST_ERRNO);
- tst_resm(TFAIL, "dup(%d) read side of syspipe Failed, errno=%d : %s", Fd[0],
- TEST_ERRNO, strerror(TEST_ERRNO));
- } else {
-
- /***************************************************************
- * only perform functional verification if flag set (-f not given)
- ***************************************************************/
- if ( STD_FUNCTIONAL_TEST ) {
- /* No Verification test, yet... */
- tst_resm(TPASS, "dup(%d) read side of syspipe returned %d", Fd[0],
- TEST_RETURN);
-
- }
- else
- Tst_count++;
-
- /* close the new file so loops do not open too many files */
- if (close(TEST_RETURN) == -1) {
- tst_brkm(TBROK, cleanup, "close(%d) Failed, errno=%d : %s",
- TEST_RETURN, errno, strerror(errno));
- }
- }
-
- /*
- * Call dup(2) for write side
- */
- TEST( dup(Fd[1]) );
-
- /* check return code */
- if ( TEST_RETURN == -1 ) {
- TEST_ERROR_LOG(TEST_ERRNO);
- tst_resm(TFAIL, "dup(%d) write side of syspipe Failed, errno=%d : %s", Fd[1],
- TEST_ERRNO, strerror(TEST_ERRNO));
- } else {
-
- /***************************************************************
- * only perform functional verification if flag set (-f not given)
- ***************************************************************/
- if ( STD_FUNCTIONAL_TEST ) {
- /* No Verification test, yet... */
- tst_resm(TPASS, "dup(%d) write side of syspipe returned %d", Fd[1],
- TEST_RETURN);
-
- }
- else
- Tst_count++;
-
- /* close the new file so loops do not open too many files */
- if (close(TEST_RETURN) == -1) {
- tst_brkm(TBROK, cleanup, "close(%d) Failed, errno=%d : %s",
- TEST_RETURN, errno, strerror(errno));
- }
- }
-
- } /* End for TEST_LOOPING */
-
- /***************************************************************
- * cleanup and exit
- ***************************************************************/
- cleanup();
-
- return 0;
-} /* End main */
-
-/***************************************************************
- * setup() - performs all ONE TIME setup for this test.
- ***************************************************************/
-void
-setup()
-{
- /*
- * Initialize Fd in case we get a quick signal
- */
- Fd[0]=-1;
-
- /* capture signals */
- tst_sig(FORK, DEF_HANDLER, cleanup);
-
- /* make a temp directory and cd to it */
- tst_tmpdir();
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-
- if ( pipe(Fd) == -1 ) {
- tst_brkm(TBROK, cleanup, "pipe(&Fd) Failed, errno=%d : %s",
- errno, strerror(errno));
- }
-} /* End setup() */
-
-
-/***************************************************************
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- ***************************************************************/
-void
-cleanup()
-{
- int ind;
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /* close the open file we've been dup'ing */
- if (Fd[0] != -1) {
- for (ind=0; ind<2; ind++) {
- if (close(Fd[ind]) == -1) {
- tst_resm(TWARN, "close(%d) Failed, errno=%d : %s",
- Fd[ind], errno, strerror(errno));
- }
- Fd[ind]=-1;
- }
- }
-
- /* Remove tmp dir and all files in it */
- tst_rmdir();
-
- /* exit with return code appropriate for results */
- tst_exit();
-
-} /* End cleanup() */
-
-
diff --git a/winsup/testsuite/winsup.api/ltp/dup05.c b/winsup/testsuite/winsup.api/ltp/dup05.c
deleted file mode 100644
index 097688353..000000000
--- a/winsup/testsuite/winsup.api/ltp/dup05.c
+++ /dev/null
@@ -1,266 +0,0 @@
-/*
- * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it would be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Further, this software is distributed without any warranty that it is
- * free of the rightful claim of any third person regarding infringement
- * or the like. Any license provided herein, whether implied or
- * otherwise, applies only to this software file. Patent licenses, if
- * any, provided herein do not apply to combinations of this program with
- * other software, or any other product whatsoever.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write the Free Software Foundation, Inc., 59
- * Temple Place - Suite 330, Boston MA 02111-1307, USA.
- *
- * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
- * Mountain View, CA 94043, or:
- *
- * http://www.sgi.com
- *
- * For further information regarding this notice, see:
- *
- * http://oss.sgi.com/projects/GenInfo/NoticeExplan/
- *
- */
-/* $Id$ */
-/**********************************************************
- *
- * OS Test - Silicon Graphics, Inc.
- *
- * TEST IDENTIFIER : dup05
- *
- * EXECUTED BY : anyone
- *
- * TEST TITLE : Basic test for dup(2) of a named pipe descriptor
- *
- * PARENT DOCUMENT : usctpl01
- *
- * TEST CASE TOTAL : 1
- *
- * WALL CLOCK TIME : 1
- *
- * CPU TYPES : ALL
- *
- * AUTHOR : Richard Logan
- *
- * CO-PILOT : William Roske
- *
- * DATE STARTED : 06/94
- *
- * INITIAL RELEASE : UNICOS 7.0
- *
- * TEST CASES
- *
- * 1.) dup(2) returns...(See Description)
- *
- * INPUT SPECIFICATIONS
- * The standard options for system call tests are accepted.
- * (See the parse_opts(3) man page).
- *
- * OUTPUT SPECIFICATIONS
- *
- * DURATION
- * Terminates - with frequency and infinite modes.
- *
- * SIGNALS
- * Uses SIGUSR1 to pause before test if option set.
- * (See the parse_opts(3) man page).
- *
- * RESOURCES
- * None
- *
- * ENVIRONMENTAL NEEDS
- * No run-time environmental needs.
- *
- * SPECIAL PROCEDURAL REQUIREMENTS
- * None
- *
- * INTERCASE DEPENDENCIES
- * None
- *
- * DETAILED DESCRIPTION
- * This is a Phase I test for the dup(2) system call. It is intended
- * to provide a limited exposure of the system call, for now. It
- * should/will be extended when full functional tests are written for
- * dup(2).
- *
- * Setup:
- * Setup signal handling.
- * Pause for SIGUSR1 if option specified.
- *
- * Test:
- * Loop if the proper options are given.
- * Execute system call
- * Check return code, if system call failed (return=-1)
- * Log the errno and Issue a FAIL message.
- * Otherwise, Issue a PASS message.
- *
- * Cleanup:
- * Print errno log and/or timing stats if options given
- *
- *
- *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#**/
-
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <sys/fcntl.h>
-#include <errno.h>
-#include <string.h>
-#include <signal.h>
-#include "test.h"
-#include "usctest.h"
-
-extern void setup();
-extern void cleanup();
-
-const char *TCID="dup05"; /* Test program identifier. */
-int TST_TOTAL=1; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-
-int exp_enos[]={0, 0};
-
-char Fname[255];
-int Fd;
-
-/***********************************************************************
- * Main
- ***********************************************************************/
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
-
- /***************************************************************
- * parse standard options
- ***************************************************************/
- if ( (msg=parse_opts(ac, av, (option_t *)NULL, NULL)) != (char *) NULL ) {
- tst_brkm(TBROK, NULL, "OPTION PARSING ERROR - %s", msg);
- tst_exit();
- }
-
- /***************************************************************
- * perform global setup for test
- ***************************************************************/
- setup();
-
- /* set the expected errnos... */
- TEST_EXP_ENOS(exp_enos);
-
- /***************************************************************
- * check looping state if -c option given
- ***************************************************************/
- for (lc=0; TEST_LOOPING(lc); lc++) {
-
- /* reset Tst_count in case we are looping. */
- Tst_count=0;
-
- /*
- * Call dup(2)
- */
- TEST( dup(Fd) );
-
- /* check return code */
- if ( TEST_RETURN == -1 ) {
- TEST_ERROR_LOG(TEST_ERRNO);
- tst_resm(TFAIL, "dup(%s) Failed, errno=%d : %s", Fname,
- TEST_ERRNO, strerror(TEST_ERRNO));
- } else {
-
- /***************************************************************
- * only perform functional verification if flag set (-f not given)
- ***************************************************************/
- if ( STD_FUNCTIONAL_TEST ) {
- /* No Verification test, yet... */
- tst_resm(TPASS, "dup(%s) returned %d", Fname, TEST_RETURN);
- }
-
- /* close the new file so loops do not open too many files */
- if (close(TEST_RETURN) == -1) {
- tst_brkm(TBROK, cleanup, "close(%s) Failed, errno=%d : %s",
- Fname, errno, strerror(errno));
- }
- }
-
- } /* End for TEST_LOOPING */
-
- /***************************************************************
- * cleanup and exit
- ***************************************************************/
- cleanup();
-
- return 0;
-} /* End main */
-
-/***************************************************************
- * setup() - performs all ONE TIME setup for this test.
- ***************************************************************/
-void
-setup()
-{
- /*
- * Initialize Fd in case we get a quick signal
- */
- Fd=-1;
-
- /* capture signals */
- tst_sig(FORK, DEF_HANDLER, cleanup);
-
- /* make a temp directory and cd to it */
- tst_tmpdir();
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-
- sprintf(Fname, "dupfile");
- if ( mkfifo(Fname, 0777) == -1 ) {
- tst_brkm(TBROK, cleanup,
- "mkfifo(%s, 0700) Failed, errno=%d : %s",
- Fname, errno, strerror(errno));
- }
- if ((Fd = open(Fname, O_RDWR, 0700)) == -1) {
- tst_brkm(TBROK, cleanup,
- "open(%s, O_RDWR, 0700) Failed, errno=%d : %s",
- Fname, errno, strerror(errno));
- }
-} /* End setup() */
-
-
-/***************************************************************
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- ***************************************************************/
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /* close the open file we've been dup'ing */
- if (Fd != -1) {
- if (close(Fd) == -1) {
- tst_resm(TWARN, "close(%s) Failed, errno=%d : %s",
- Fname, errno, strerror(errno));
- }
- Fd=-1;
- }
-
- /* Remove tmp dir and all files in it */
- tst_rmdir();
-
- /* exit with return code appropriate for results */
- tst_exit();
-} /* End cleanup() */
-
-
diff --git a/winsup/testsuite/winsup.api/ltp/execl01.c b/winsup/testsuite/winsup.api/ltp/execl01.c
deleted file mode 100644
index f91b0a820..000000000
--- a/winsup/testsuite/winsup.api/ltp/execl01.c
+++ /dev/null
@@ -1,258 +0,0 @@
-/*
- * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it would be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Further, this software is distributed without any warranty that it is
- * free of the rightful claim of any third person regarding infringement
- * or the like. Any license provided herein, whether implied or
- * otherwise, applies only to this software file. Patent licenses, if
- * any, provided herein do not apply to combinations of this program with
- * other software, or any other product whatsoever.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write the Free Software Foundation, Inc., 59
- * Temple Place - Suite 330, Boston MA 02111-1307, USA.
- *
- * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
- * Mountain View, CA 94043, or:
- *
- * http://www.sgi.com
- *
- * For further information regarding this notice, see:
- *
- * http://oss.sgi.com/projects/GenInfo/NoticeExplan/
- *
- */
-/* $Id$ */
-/**********************************************************
- *
- * OS Test - Silicon Graphics, Inc.
- *
- * TEST IDENTIFIER : execl01
- *
- * EXECUTED BY : anyone
- *
- * TEST TITLE : Basic test for execl(2)
- *
- * PARENT DOCUMENT : usctpl01
- *
- * TEST CASE TOTAL : 1
- *
- * WALL CLOCK TIME : 1
- *
- * CPU TYPES : ALL
- *
- * AUTHOR : William Roske
- *
- * CO-PILOT : Dave Fenner
- *
- * DATE STARTED : 06/01/02
- *
- * INITIAL RELEASE : UNICOS 7.0
- *
- * TEST CASES
- *
- * 1.) execl(2) returns...(See Description)
- *
- * INPUT SPECIFICATIONS
- * The standard options for system call tests are accepted.
- * (See the parse_opts(3) man page).
- *
- * OUTPUT SPECIFICATIONS
- *
- * DURATION
- * Terminates - with frequency and infinite modes.
- *
- * SIGNALS
- * Uses SIGUSR1 to pause before test if option set.
- * (See the parse_opts(3) man page).
- *
- * RESOURCES
- * None
- *
- * ENVIRONMENTAL NEEDS
- * No run-time environmental needs.
- *
- * SPECIAL PROCEDURAL REQUIREMENTS
- * None
- *
- * INTERCASE DEPENDENCIES
- * None
- *
- * DETAILED DESCRIPTION
- * This is a Phase I test for the execl(2) system call. It is intended
- * to provide a limited exposure of the system call, for now. It
- * should/will be extended when full functional tests are written for
- * execl(2).
- *
- * Setup:
- * Setup signal handling.
- * Pause for SIGUSR1 if option specified.
- *
- * Test:
- * Loop if the proper options are given.
- * Execute system call
- * Check return code, if system call failed (return=-1)
- * Log the errno and Issue a FAIL message.
- * Otherwise, Issue a PASS message.
- *
- * Cleanup:
- * Print errno log and/or timing stats if options given
- *
- *
- *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#**/
-
-#include <errno.h>
-#include <string.h>
-#include <signal.h>
-
-#include <sys/types.h>
-#include <sys/wait.h>
-
-#include "test.h"
-#include "usctest.h"
-
-extern void setup();
-extern void cleanup();
-
-
-
-const char *TCID="execl01"; /* Test program identifier. */
-int TST_TOTAL=1; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-extern int Tst_nobuf; /* used to turn off buffering in tst_ routines */
-
-int exp_enos[]={0, 0}; /* Zero terminated list of expected errnos */
-
-int pid; /* process id from fork */
-int status; /* status returned from waitpid */
-
-
-
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
-
- Tst_nobuf=1; /* turn off buffering in tst_ routines */
-
- /***************************************************************
- * parse standard options
- ***************************************************************/
- if ( (msg=parse_opts(ac, av, (option_t *) NULL, NULL)) != (char *) NULL )
- tst_brkm(TBROK, cleanup, "OPTION PARSING ERROR - %s", msg);
-
- /***************************************************************
- * perform global setup for test
- ***************************************************************/
- setup();
-
- /* set the expected errnos... */
- TEST_EXP_ENOS(exp_enos);
-
- /***************************************************************
- * check looping state if -c option given
- ***************************************************************/
- for (lc=0; TEST_LOOPING(lc); lc++) {
-
- /* reset Tst_count in case we are looping. */
- Tst_count=0;
-
-
- /*
- * TEST CASE:
- * fork, then call execl from child
- */
- switch(pid=fork()) {
- case 0: /* CHILD - Call execl(2) */
- execl("test", "test", NULL);
- /* should not get here!! if we do, the parent will fail the Test Case */
- exit(errno);
- case -1: /* ERROR!!! exit now!!*/
- tst_brkm(TBROK, cleanup,
- "Unable to fork a child process to exec over! Errno:%d,:%s",
- errno, strerror(errno));
- break;
- default:
- waitpid(pid, &status, 0);
- if ( WIFEXITED(status) ) {
- /***************************************************************
- * only perform functional verification if flag set (-f not given)
- ***************************************************************/
- if ( STD_FUNCTIONAL_TEST ) {
- /* No Verification test, yet... */
- tst_resm(TPASS, "execl - properly exec's a simple program..");
- }
- } else {
- TEST_ERROR_LOG(WEXITSTATUS(status));
- tst_resm(TFAIL, "Child process did not terminate properly, status=%d", status);
- }
- break;
- } /* switch */
-
- } /* End for TEST_LOOPING */
-
- /***************************************************************
- * cleanup and exit
- ***************************************************************/
- cleanup();
-
- return 0;
-} /* End main */
-
-/***************************************************************
- * setup() - performs all ONE TIME setup for this test.
- ***************************************************************/
-void
-setup()
-{
- /* capture signals */
- tst_sig(FORK, DEF_HANDLER, cleanup);
-
- /* make a temp dir and cd to it */
- tst_tmpdir();
-
- /*
- * Send out info message that timing and errnolog info is not
- * available because of the use of a child process for each exec
- */
- if ( STD_TIMING_ON )
- tst_resm(TINFO, "There are NO timing statistics produced by this test.\n\
-This is because the test forks to create a child process which then calls execl.\n\
-The TEST macro is NOT used.");
-
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-} /* End setup() */
-
-
-/***************************************************************
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- ***************************************************************/
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /* remove files and temp dir */
- tst_rmdir();
-
- /* exit with return code appropriate for results */
- tst_exit();
-} /* End cleanup() */
-
-
diff --git a/winsup/testsuite/winsup.api/ltp/execle01.c b/winsup/testsuite/winsup.api/ltp/execle01.c
deleted file mode 100644
index ca2cdec4e..000000000
--- a/winsup/testsuite/winsup.api/ltp/execle01.c
+++ /dev/null
@@ -1,257 +0,0 @@
-/*
- * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it would be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Further, this software is distributed without any warranty that it is
- * free of the rightful claim of any third person regarding infringement
- * or the like. Any license provided herein, whether implied or
- * otherwise, applies only to this software file. Patent licenses, if
- * any, provided herein do not apply to combinations of this program with
- * other software, or any other product whatsoever.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write the Free Software Foundation, Inc., 59
- * Temple Place - Suite 330, Boston MA 02111-1307, USA.
- *
- * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
- * Mountain View, CA 94043, or:
- *
- * http://www.sgi.com
- *
- * For further information regarding this notice, see:
- *
- * http://oss.sgi.com/projects/GenInfo/NoticeExplan/
- *
- */
-/* $Id$ */
-/**********************************************************
- *
- * OS Test - Silicon Graphics, Inc.
- *
- * TEST IDENTIFIER : execle01
- *
- * EXECUTED BY : anyone
- *
- * TEST TITLE : Basic test for execle(2)
- *
- * PARENT DOCUMENT : usctpl01
- *
- * TEST CASE TOTAL : 1
- *
- * WALL CLOCK TIME : 1
- *
- * CPU TYPES : ALL
- *
- * AUTHOR : William Roske
- *
- * CO-PILOT : Dave Fenner
- *
- * DATE STARTED : 06/01/02
- *
- * INITIAL RELEASE : UNICOS 7.0
- *
- * TEST CASES
- *
- * 1.) execle(2) returns...(See Description)
- *
- * INPUT SPECIFICATIONS
- * The standard options for system call tests are accepted.
- * (See the parse_opts(3) man page).
- *
- * OUTPUT SPECIFICATIONS
- *
- * DURATION
- * Terminates - with frequency and infinite modes.
- *
- * SIGNALS
- * Uses SIGUSR1 to pause before test if option set.
- * (See the parse_opts(3) man page).
- *
- * RESOURCES
- * None
- *
- * ENVIRONMENTAL NEEDS
- * No run-time environmental needs.
- *
- * SPECIAL PROCEDURAL REQUIREMENTS
- * None
- *
- * INTERCASE DEPENDENCIES
- * None
- *
- * DETAILED DESCRIPTION
- * This is a Phase I test for the execle(2) system call. It is intended
- * to provide a limited exposure of the system call, for now. It
- * should/will be extended when full functional tests are written for
- * execle(2).
- *
- * Setup:
- * Setup signal handling.
- * Pause for SIGUSR1 if option specified.
- *
- * Test:
- * Loop if the proper options are given.
- * Execute system call
- * Check return code, if system call failed (return=-1)
- * Log the errno and Issue a FAIL message.
- * Otherwise, Issue a PASS message.
- *
- * Cleanup:
- * Print errno log and/or timing stats if options given
- *
- *
- *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#**/
-
-#include <errno.h>
-#include <string.h>
-#include <signal.h>
-
-#include <sys/types.h>
-#include <sys/wait.h>
-
-#include "test.h"
-#include "usctest.h"
-
-extern void setup();
-extern void cleanup();
-
-
-
-const char *TCID="execle01"; /* Test program identifier. */
-int TST_TOTAL=1; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-extern int Tst_nobuf; /* used to turn off buffering in tst_ routines */
-
-int exp_enos[]={0, 0}; /* Zero terminated list of expected errnos */
-
-int pid; /* process id from fork */
-int status; /* status returned from waitpid */
-extern char **environ; /* pointer to this processes env, to pass along */
-
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
-
- Tst_nobuf=1; /* turn off buffering in tst_ routines */
-
- /***************************************************************
- * parse standard options
- ***************************************************************/
- if ( (msg=parse_opts(ac, av, (option_t *) NULL, NULL)) != (char *) NULL )
- tst_brkm(TBROK, cleanup, "OPTION PARSING ERROR - %s", msg);
-
- /***************************************************************
- * perform global setup for test
- ***************************************************************/
- setup();
-
- /* set the expected errnos... */
- TEST_EXP_ENOS(exp_enos);
-
- /***************************************************************
- * check looping state if -c option given
- ***************************************************************/
- for (lc=0; TEST_LOOPING(lc); lc++) {
-
- /* reset Tst_count in case we are looping. */
- Tst_count=0;
-
-
- /*
- * TEST CASE:
- * fork, then call execle from child
- */
- switch(pid=fork()) {
- case 0: /* CHILD - Call execle(2) */
- execle("test", "test", NULL, environ);
- /* should not get here!! if we do, the parent will fail the Test Case */
- exit(errno);
- case -1: /* ERROR!!! exit now!!*/
- tst_brkm(TBROK, cleanup,
- "Unable to fork a child process to exec over! Errno:%d,:%s",
- errno, strerror(errno));
- break;
- default:
- waitpid(pid, &status, 0);
- if ( WIFEXITED(status) ) {
- /***************************************************************
- * only perform functional verification if flag set (-f not given)
- ***************************************************************/
- if ( STD_FUNCTIONAL_TEST ) {
- /* No Verification test, yet... */
- tst_resm(TPASS, "execle - properly exec's a simple program..");
- }
- } else {
- TEST_ERROR_LOG(WEXITSTATUS(status));
- tst_resm(TFAIL, "Child process did not terminate properly, status=%d", status);
- }
- break;
- } /* switch */
-
- } /* End for TEST_LOOPING */
-
- /***************************************************************
- * cleanup and exit
- ***************************************************************/
- cleanup();
-
- return 0;
-} /* End main */
-
-/***************************************************************
- * setup() - performs all ONE TIME setup for this test.
- ***************************************************************/
-void
-setup()
-{
- /* capture signals */
- tst_sig(FORK, DEF_HANDLER, cleanup);
-
- /* make a temp dir and cd to it */
- tst_tmpdir();
-
- /*
- * Send out info message that timing and errnolog info is not
- * available because of the use of a child process for each exec
- */
- if ( STD_TIMING_ON )
- tst_resm(TINFO, "There are NO timing statistics produced by this test.\n\
-This is because the test forks to create a child process which then calls execle.\n\
-The TEST macro is NOT used.");
-
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-} /* End setup() */
-
-
-/***************************************************************
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- ***************************************************************/
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /* remove files and temp dir */
- tst_rmdir();
-
- /* exit with return code appropriate for results */
- tst_exit();
-} /* End cleanup() */
-
-
diff --git a/winsup/testsuite/winsup.api/ltp/execlp01.c b/winsup/testsuite/winsup.api/ltp/execlp01.c
deleted file mode 100644
index c3f8b2147..000000000
--- a/winsup/testsuite/winsup.api/ltp/execlp01.c
+++ /dev/null
@@ -1,256 +0,0 @@
-/*
- * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it would be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Further, this software is distributed without any warranty that it is
- * free of the rightful claim of any third person regarding infringement
- * or the like. Any license provided herein, whether implied or
- * otherwise, applies only to this software file. Patent licenses, if
- * any, provided herein do not apply to combinations of this program with
- * other software, or any other product whatsoever.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write the Free Software Foundation, Inc., 59
- * Temple Place - Suite 330, Boston MA 02111-1307, USA.
- *
- * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
- * Mountain View, CA 94043, or:
- *
- * http://www.sgi.com
- *
- * For further information regarding this notice, see:
- *
- * http://oss.sgi.com/projects/GenInfo/NoticeExplan/
- *
- */
-/* $Id$ */
-/**********************************************************
- *
- * OS Test - Silicon Graphics, Inc.
- *
- * TEST IDENTIFIER : execlp01
- *
- * EXECUTED BY : anyone
- *
- * TEST TITLE : Basic test for execlp(2)
- *
- * PARENT DOCUMENT : usctpl01
- *
- * TEST CASE TOTAL : 1
- *
- * WALL CLOCK TIME : 1
- *
- * CPU TYPES : ALL
- *
- * AUTHOR : William Roske
- *
- * CO-PILOT : Dave Fenner
- *
- * DATE STARTED : 06/01/02
- *
- * INITIAL RELEASE : UNICOS 7.0
- *
- * TEST CASES
- *
- * 1.) execlp(2) returns...(See Description)
- *
- * INPUT SPECIFICATIONS
- * The standard options for system call tests are accepted.
- * (See the parse_opts(3) man page).
- *
- * OUTPUT SPECIFICATIONS
- *
- * DURATION
- * Terminates - with frequency and infinite modes.
- *
- * SIGNALS
- * Uses SIGUSR1 to pause before test if option set.
- * (See the parse_opts(3) man page).
- *
- * RESOURCES
- * None
- *
- * ENVIRONMENTAL NEEDS
- * No run-time environmental needs.
- *
- * SPECIAL PROCEDURAL REQUIREMENTS
- * None
- *
- * INTERCASE DEPENDENCIES
- * None
- *
- * DETAILED DESCRIPTION
- * This is a Phase I test for the execlp(2) system call. It is intended
- * to provide a limited exposure of the system call, for now. It
- * should/will be extended when full functional tests are written for
- * execlp(2).
- *
- * Setup:
- * Setup signal handling.
- * Pause for SIGUSR1 if option specified.
- *
- * Test:
- * Loop if the proper options are given.
- * Execute system call
- * Check return code, if system call failed (return=-1)
- * Log the errno and Issue a FAIL message.
- * Otherwise, Issue a PASS message.
- *
- * Cleanup:
- * Print errno log and/or timing stats if options given
- *
- *
- *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#**/
-
-#include <errno.h>
-#include <string.h>
-#include <signal.h>
-
-#include <sys/types.h>
-#include <sys/wait.h>
-
-#include "test.h"
-#include "usctest.h"
-
-extern void setup();
-extern void cleanup();
-
-
-
-const char *TCID="execlp01"; /* Test program identifier. */
-int TST_TOTAL=1; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-extern int Tst_nobuf; /* used to turn off buffering in tst_ routines */
-
-int exp_enos[]={0, 0}; /* Zero terminated list of expected errnos */
-
-int pid; /* process id from fork */
-int status; /* status returned from waitpid */
-
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
-
- Tst_nobuf=1; /* turn off buffering in tst_ routines */
-
- /***************************************************************
- * parse standard options
- ***************************************************************/
- if ( (msg=parse_opts(ac, av, (option_t *) NULL, NULL)) != (char *) NULL )
- tst_brkm(TBROK, cleanup, "OPTION PARSING ERROR - %s", msg);
-
- /***************************************************************
- * perform global setup for test
- ***************************************************************/
- setup();
-
- /* set the expected errnos... */
- TEST_EXP_ENOS(exp_enos);
-
- /***************************************************************
- * check looping state if -c option given
- ***************************************************************/
- for (lc=0; TEST_LOOPING(lc); lc++) {
-
- /* reset Tst_count in case we are looping. */
- Tst_count=0;
-
-
- /*
- * TEST CASE:
- * fork, then call execlp from child
- */
- switch(pid=fork()) {
- case 0: /* CHILD - Call execlp(2) */
- execlp("/usr/bin/test", "/usr/bin/test", NULL);
- /* should not get here!! if we do, the parent will fail the Test Case */
- exit(errno);
- case -1: /* ERROR!!! exit now!!*/
- tst_brkm(TBROK, cleanup,
- "Unable to fork a child process to exec over! Errno:%d,:%s",
- errno, strerror(errno));
- break;
- default:
- waitpid(pid, &status, 0);
- if ( WIFEXITED(status) ) {
- /***************************************************************
- * only perform functional verification if flag set (-f not given)
- ***************************************************************/
- if ( STD_FUNCTIONAL_TEST ) {
- /* No Verification test, yet... */
- tst_resm(TPASS, "execlp - properly exec's a simple program..");
- }
- } else {
- TEST_ERROR_LOG(WEXITSTATUS(status));
- tst_resm(TFAIL, "Child process did not terminate properly, status=%d", status);
- }
- break;
- } /* switch */
-
- } /* End for TEST_LOOPING */
-
- /***************************************************************
- * cleanup and exit
- ***************************************************************/
- cleanup();
-
- return 0;
-} /* End main */
-
-/***************************************************************
- * setup() - performs all ONE TIME setup for this test.
- ***************************************************************/
-void
-setup()
-{
- /* capture signals */
- tst_sig(FORK, DEF_HANDLER, cleanup);
-
- /* make a temp dir and cd to it */
- tst_tmpdir();
-
- /*
- * Send out info message that timing and errnolog info is not
- * available because of the use of a child process for each exec
- */
- if ( STD_TIMING_ON )
- tst_resm(TINFO, "There are NO timing statistics produced by this test.\n\
-This is because the test forks to create a child process which then calls execlp.\n\
-The TEST macro is NOT used.");
-
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-} /* End setup() */
-
-
-/***************************************************************
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- ***************************************************************/
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /* remove files and temp dir */
- tst_rmdir();
-
- /* exit with return code appropriate for results */
- tst_exit();
-} /* End cleanup() */
-
-
diff --git a/winsup/testsuite/winsup.api/ltp/execv01.c b/winsup/testsuite/winsup.api/ltp/execv01.c
deleted file mode 100644
index f59f29702..000000000
--- a/winsup/testsuite/winsup.api/ltp/execv01.c
+++ /dev/null
@@ -1,254 +0,0 @@
-/*
- * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it would be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Further, this software is distributed without any warranty that it is
- * free of the rightful claim of any third person regarding infringement
- * or the like. Any license provided herein, whether implied or
- * otherwise, applies only to this software file. Patent licenses, if
- * any, provided herein do not apply to combinations of this program with
- * other software, or any other product whatsoever.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write the Free Software Foundation, Inc., 59
- * Temple Place - Suite 330, Boston MA 02111-1307, USA.
- *
- * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
- * Mountain View, CA 94043, or:
- *
- * http://www.sgi.com
- *
- * For further information regarding this notice, see:
- *
- * http://oss.sgi.com/projects/GenInfo/NoticeExplan/
- *
- */
-/* $Id$ */
-/**********************************************************
- *
- * OS Test - Silicon Graphics, Inc.
- *
- * TEST IDENTIFIER : execv01
- *
- * EXECUTED BY : anyone
- *
- * TEST TITLE : Basic test for execv(2)
- *
- * PARENT DOCUMENT : usctpl01
- *
- * TEST CASE TOTAL : 1
- *
- * WALL CLOCK TIME : 1
- *
- * CPU TYPES : ALL
- *
- * AUTHOR : William Roske
- *
- * CO-PILOT : Dave Fenner
- *
- * DATE STARTED : 06/01/02
- *
- * INITIAL RELEASE : UNICOS 7.0
- *
- * TEST CASES
- *
- * 1.) execv(2) returns...(See Description)
- *
- * INPUT SPECIFICATIONS
- * The standard options for system call tests are accepted.
- * (See the parse_opts(3) man page).
- *
- * OUTPUT SPECIFICATIONS
- *
- * DURATION
- * Terminates - with frequency and infinite modes.
- *
- * SIGNALS
- * Uses SIGUSR1 to pause before test if option set.
- * (See the parse_opts(3) man page).
- *
- * RESOURCES
- * None
- *
- * ENVIRONMENTAL NEEDS
- * No run-time environmental needs.
- *
- * SPECIAL PROCEDURAL REQUIREMENTS
- * None
- *
- * INTERCASE DEPENDENCIES
- * None
- *
- * DETAILED DESCRIPTION
- * This is a Phase I test for the execv(2) system call. It is intended
- * to provide a limited exposure of the system call, for now. It
- * should/will be extended when full functional tests are written for
- * execv(2).
- *
- * Setup:
- * Setup signal handling.
- * Pause for SIGUSR1 if option specified.
- *
- * Test:
- * Loop if the proper options are given.
- * Execute system call
- * Check return code, if system call failed (return=-1)
- * Log the errno and Issue a FAIL message.
- * Otherwise, Issue a PASS message.
- *
- * Cleanup:
- * Print errno log and/or timing stats if options given
- *
- *
- *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#**/
-
-#include <errno.h>
-#include <signal.h>
-
-#include <sys/types.h>
-#include <sys/wait.h>
-
-#include "test.h"
-#include "usctest.h"
-
-extern void setup();
-void cleanup();
-
-const char *TCID="execv01"; /* Test program identifier. */
-int TST_TOTAL=1; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-extern int Tst_nobuf; /* used to turn off buffering in tst_ routines */
-
-int exp_enos[]={0, 0}; /* Zero terminated list of expected errnos */
-
-int pid; /* process id from fork */
-int status; /* status returned from waitpid */
-const char * const args[2]={"/usr/bin/test", 0}; /* argument list for execv call */
-
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
-
- Tst_nobuf=1; /* turn off buffering in tst_ routines */
-
- /***************************************************************
- * parse standard options
- ***************************************************************/
- if ( (msg=parse_opts(ac, av, (option_t *) NULL, NULL)) != (char *) NULL )
- tst_brkm(TBROK, cleanup, "OPTION PARSING ERROR - %s", msg);
-
- /***************************************************************
- * perform global setup for test
- ***************************************************************/
- setup();
-
- /* set the expected errnos... */
- TEST_EXP_ENOS(exp_enos);
-
- /***************************************************************
- * check looping state if -c option given
- ***************************************************************/
- for (lc=0; TEST_LOOPING(lc); lc++) {
-
- /* reset Tst_count in case we are looping. */
- Tst_count=0;
-
-
- /*
- * TEST CASE:
- * fork, then call execv from child
- */
- switch(pid=fork()) {
- case 0: /* CHILD - Call execv(2) */
- execv("/usr/bin/test", args);
- /* should not get here!! if we do, the parent will fail the Test Case */
- exit(errno);
- case -1: /* ERROR!!! exit now!!*/
- tst_brkm(TBROK, cleanup,
- "Unable to fork a child process to exec over! Errno:%d,:%s",
- errno, strerror(errno));
- break;
- default:
- waitpid(pid, &status, 0);
- if ( WIFEXITED(status) ) {
- /***************************************************************
- * only perform functional verification if flag set (-f not given)
- ***************************************************************/
- if ( STD_FUNCTIONAL_TEST ) {
- /* No Verification test, yet... */
- tst_resm(TPASS, "execv - properly exec's a simple program..");
- }
- } else {
- TEST_ERROR_LOG(WEXITSTATUS(status));
- tst_resm(TFAIL, "Child process did not terminate properly, status=%d", status);
- }
- break;
- } /* switch */
-
- } /* End for TEST_LOOPING */
-
- /***************************************************************
- * cleanup and exit
- ***************************************************************/
- cleanup();
-
- return 0;
-} /* End main */
-
-/***************************************************************
- * setup() - performs all ONE TIME setup for this test.
- ***************************************************************/
-void
-setup()
-{
- /* capture signals */
- tst_sig(FORK, DEF_HANDLER, cleanup);
-
- /* make a temp dir and cd to it */
- tst_tmpdir();
-
- /*
- * Send out info message that timing and errnolog info is not
- * available because of the use of a child process for each exec
- */
- if ( STD_TIMING_ON )
- tst_resm(TINFO, "There are NO timing statistics produced by this test.\n\
-This is because the test forks to create a child process which then calls execv.\n\
-The TEST macro is NOT used.");
-
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-} /* End setup() */
-
-
-/***************************************************************
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- ***************************************************************/
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /* remove files and temp dir */
- tst_rmdir();
-
- /* exit with return code appropriate for results */
- tst_exit();
-} /* End cleanup() */
-
-
diff --git a/winsup/testsuite/winsup.api/ltp/execve01.c b/winsup/testsuite/winsup.api/ltp/execve01.c
deleted file mode 100644
index 2584bdf05..000000000
--- a/winsup/testsuite/winsup.api/ltp/execve01.c
+++ /dev/null
@@ -1,258 +0,0 @@
-/*
- * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it would be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Further, this software is distributed without any warranty that it is
- * free of the rightful claim of any third person regarding infringement
- * or the like. Any license provided herein, whether implied or
- * otherwise, applies only to this software file. Patent licenses, if
- * any, provided herein do not apply to combinations of this program with
- * other software, or any other product whatsoever.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write the Free Software Foundation, Inc., 59
- * Temple Place - Suite 330, Boston MA 02111-1307, USA.
- *
- * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
- * Mountain View, CA 94043, or:
- *
- * http://www.sgi.com
- *
- * For further information regarding this notice, see:
- *
- * http://oss.sgi.com/projects/GenInfo/NoticeExplan/
- *
- */
-/* $Id$ */
-/**********************************************************
- *
- * OS Test - Silicon Graphics, Inc.
- *
- * TEST IDENTIFIER : execve01
- *
- * EXECUTED BY : anyone
- *
- * TEST TITLE : Basic test for execve(2)
- *
- * PARENT DOCUMENT : usctpl01
- *
- * TEST CASE TOTAL : 1
- *
- * WALL CLOCK TIME : 1
- *
- * CPU TYPES : ALL
- *
- * AUTHOR : William Roske
- *
- * CO-PILOT : Dave Fenner
- *
- * DATE STARTED : 06/01/02
- *
- * INITIAL RELEASE : UNICOS 7.0
- *
- * TEST CASES
- *
- * 1.) execve(2) returns...(See Description)
- *
- * INPUT SPECIFICATIONS
- * The standard options for system call tests are accepted.
- * (See the parse_opts(3) man page).
- *
- * OUTPUT SPECIFICATIONS
- *
- * DURATION
- * Terminates - with frequency and infinite modes.
- *
- * SIGNALS
- * Uses SIGUSR1 to pause before test if option set.
- * (See the parse_opts(3) man page).
- *
- * RESOURCES
- * None
- *
- * ENVIRONMENTAL NEEDS
- * No run-time environmental needs.
- *
- * SPECIAL PROCEDURAL REQUIREMENTS
- * None
- *
- * INTERCASE DEPENDENCIES
- * None
- *
- * DETAILED DESCRIPTION
- * This is a Phase I test for the execve(2) system call. It is intended
- * to provide a limited exposure of the system call, for now. It
- * should/will be extended when full functional tests are written for
- * execve(2).
- *
- * Setup:
- * Setup signal handling.
- * Pause for SIGUSR1 if option specified.
- *
- * Test:
- * Loop if the proper options are given.
- * Execute system call
- * Check return code, if system call failed (return=-1)
- * Log the errno and Issue a FAIL message.
- * Otherwise, Issue a PASS message.
- *
- * Cleanup:
- * Print errno log and/or timing stats if options given
- *
- *
- *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#**/
-
-#include <errno.h>
-#include <string.h>
-#include <signal.h>
-
-#include <sys/types.h>
-#include <sys/wait.h>
-
-#include "test.h"
-#include "usctest.h"
-
-extern void setup();
-extern void cleanup();
-
-
-
-const char *TCID="execve01"; /* Test program identifier. */
-int TST_TOTAL=1; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-extern int Tst_nobuf; /* used to turn off buffering in tst_ routines */
-
-int exp_enos[]={0, 0}; /* Zero terminated list of expected errnos */
-
-int pid; /* process id from fork */
-int status; /* status returned from waitpid */
-const char *const args[2]={"/usr/bin/test", 0}; /* argument list for execve call */
-extern char **environ; /* pointer to this processes env, to pass along */
-
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
-
- Tst_nobuf=1; /* turn off buffering in tst_ routines */
-
- /***************************************************************
- * parse standard options
- ***************************************************************/
- if ( (msg=parse_opts(ac, av, (option_t *) NULL, NULL)) != (char *) NULL )
- tst_brkm(TBROK, cleanup, "OPTION PARSING ERROR - %s", msg);
-
- /***************************************************************
- * perform global setup for test
- ***************************************************************/
- setup();
-
- /* set the expected errnos... */
- TEST_EXP_ENOS(exp_enos);
-
- /***************************************************************
- * check looping state if -c option given
- ***************************************************************/
- for (lc=0; TEST_LOOPING(lc); lc++) {
-
- /* reset Tst_count in case we are looping. */
- Tst_count=0;
-
-
- /*
- * TEST CASE:
- * fork, then call execve from child
- */
- switch(pid=fork()) {
- case 0: /* CHILD - Call execve(2) */
- execve("/usr/bin/test", args, environ);
- /* should not get here!! if we do, the parent will fail the Test Case */
- exit(errno);
- case -1: /* ERROR!!! exit now!!*/
- tst_brkm(TBROK, cleanup,
- "Unable to fork a child process to exec over! Errno:%d,:%s",
- errno, strerror(errno));
- break;
- default:
- waitpid(pid, &status, 0);
- if ( WIFEXITED(status) ) {
- /***************************************************************
- * only perform functional verification if flag set (-f not given)
- ***************************************************************/
- if ( STD_FUNCTIONAL_TEST ) {
- /* No Verification test, yet... */
- tst_resm(TPASS, "execve - properly exec's a simple program..");
- }
- } else {
- TEST_ERROR_LOG(WEXITSTATUS(status));
- tst_resm(TFAIL, "Child process did not terminate properly, status=%d", status);
- }
- break;
- } /* switch */
-
- } /* End for TEST_LOOPING */
-
- /***************************************************************
- * cleanup and exit
- ***************************************************************/
- cleanup();
-
- return 0;
-} /* End main */
-
-/***************************************************************
- * setup() - performs all ONE TIME setup for this test.
- ***************************************************************/
-void
-setup()
-{
- /* capture signals */
- tst_sig(FORK, DEF_HANDLER, cleanup);
-
- /* make a temp dir and cd to it */
- tst_tmpdir();
-
- /*
- * Send out info message that timing and errnolog info is not
- * available because of the use of a child process for each exec
- */
- if ( STD_TIMING_ON )
- tst_resm(TINFO, "There are NO timing statistics produced by this test.\n\
-This is because the test forks to create a child process which then calls execve.\n\
-The TEST macro is NOT used.");
-
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-} /* End setup() */
-
-
-/***************************************************************
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- ***************************************************************/
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /* remove files and temp dir */
- tst_rmdir();
-
- /* exit with return code appropriate for results */
- tst_exit();
-} /* End cleanup() */
-
-
diff --git a/winsup/testsuite/winsup.api/ltp/execvp01.c b/winsup/testsuite/winsup.api/ltp/execvp01.c
deleted file mode 100644
index 8a1726a21..000000000
--- a/winsup/testsuite/winsup.api/ltp/execvp01.c
+++ /dev/null
@@ -1,257 +0,0 @@
-/*
- * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it would be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Further, this software is distributed without any warranty that it is
- * free of the rightful claim of any third person regarding infringement
- * or the like. Any license provided herein, whether implied or
- * otherwise, applies only to this software file. Patent licenses, if
- * any, provided herein do not apply to combinations of this program with
- * other software, or any other product whatsoever.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write the Free Software Foundation, Inc., 59
- * Temple Place - Suite 330, Boston MA 02111-1307, USA.
- *
- * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
- * Mountain View, CA 94043, or:
- *
- * http://www.sgi.com
- *
- * For further information regarding this notice, see:
- *
- * http://oss.sgi.com/projects/GenInfo/NoticeExplan/
- *
- */
-/* $Id$ */
-/**********************************************************
- *
- * OS Test - Silicon Graphics, Inc.
- *
- * TEST IDENTIFIER : execvp01
- *
- * EXECUTED BY : anyone
- *
- * TEST TITLE : Basic test for execvp(2)
- *
- * PARENT DOCUMENT : usctpl01
- *
- * TEST CASE TOTAL : 1
- *
- * WALL CLOCK TIME : 1
- *
- * CPU TYPES : ALL
- *
- * AUTHOR : William Roske
- *
- * CO-PILOT : Dave Fenner
- *
- * DATE STARTED : 06/01/02
- *
- * INITIAL RELEASE : UNICOS 7.0
- *
- * TEST CASES
- *
- * 1.) execvp(2) returns...(See Description)
- *
- * INPUT SPECIFICATIONS
- * The standard options for system call tests are accepted.
- * (See the parse_opts(3) man page).
- *
- * OUTPUT SPECIFICATIONS
- *
- * DURATION
- * Terminates - with frequency and infinite modes.
- *
- * SIGNALS
- * Uses SIGUSR1 to pause before test if option set.
- * (See the parse_opts(3) man page).
- *
- * RESOURCES
- * None
- *
- * ENVIRONMENTAL NEEDS
- * No run-time environmental needs.
- *
- * SPECIAL PROCEDURAL REQUIREMENTS
- * None
- *
- * INTERCASE DEPENDENCIES
- * None
- *
- * DETAILED DESCRIPTION
- * This is a Phase I test for the execvp(2) system call. It is intended
- * to provide a limited exposure of the system call, for now. It
- * should/will be extended when full functional tests are written for
- * execvp(2).
- *
- * Setup:
- * Setup signal handling.
- * Pause for SIGUSR1 if option specified.
- *
- * Test:
- * Loop if the proper options are given.
- * Execute system call
- * Check return code, if system call failed (return=-1)
- * Log the errno and Issue a FAIL message.
- * Otherwise, Issue a PASS message.
- *
- * Cleanup:
- * Print errno log and/or timing stats if options given
- *
- *
- *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#**/
-
-#include <errno.h>
-#include <string.h>
-#include <signal.h>
-
-#include <sys/types.h>
-#include <sys/wait.h>
-
-#include "test.h"
-#include "usctest.h"
-
-extern void setup();
-extern void cleanup();
-
-
-
-const char *TCID="execvp01"; /* Test program identifier. */
-int TST_TOTAL=1; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-extern int Tst_nobuf; /* used to turn off buffering in tst_ routines */
-
-int exp_enos[]={0, 0}; /* Zero terminated list of expected errnos */
-
-int pid; /* process id from fork */
-int status; /* status returned from waitpid */
-const char *const args[2]={"/usr/bin/test", 0}; /* argument list for execvp call */
-
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
-
- Tst_nobuf=1; /* turn off buffering in tst_ routines */
-
- /***************************************************************
- * parse standard options
- ***************************************************************/
- if ( (msg=parse_opts(ac, av, (option_t *) NULL, NULL)) != (char *) NULL )
- tst_brkm(TBROK, cleanup, "OPTION PARSING ERROR - %s", msg);
-
- /***************************************************************
- * perform global setup for test
- ***************************************************************/
- setup();
-
- /* set the expected errnos... */
- TEST_EXP_ENOS(exp_enos);
-
- /***************************************************************
- * check looping state if -c option given
- ***************************************************************/
- for (lc=0; TEST_LOOPING(lc); lc++) {
-
- /* reset Tst_count in case we are looping. */
- Tst_count=0;
-
-
- /*
- * TEST CASE:
- * fork, then call execvp from child
- */
- switch(pid=fork()) {
- case 0: /* CHILD - Call execvp(2) */
- execvp("/usr/bin/test", args);
- /* should not get here!! if we do, the parent will fail the Test Case */
- exit(errno);
- case -1: /* ERROR!!! exit now!!*/
- tst_brkm(TBROK, cleanup,
- "Unable to fork a child process to exec over! Errno:%d,:%s",
- errno, strerror(errno));
- break;
- default:
- waitpid(pid, &status, 0);
- if ( WIFEXITED(status) ) {
- /***************************************************************
- * only perform functional verification if flag set (-f not given)
- ***************************************************************/
- if ( STD_FUNCTIONAL_TEST ) {
- /* No Verification test, yet... */
- tst_resm(TPASS, "execvp - properly exec's a simple program..");
- }
- } else {
- TEST_ERROR_LOG(WEXITSTATUS(status));
- tst_resm(TFAIL, "Child process did not terminate properly, status=%d", status);
- }
- break;
- } /* switch */
-
- } /* End for TEST_LOOPING */
-
- /***************************************************************
- * cleanup and exit
- ***************************************************************/
- cleanup();
-
- return 0;
-} /* End main */
-
-/***************************************************************
- * setup() - performs all ONE TIME setup for this test.
- ***************************************************************/
-void
-setup()
-{
- /* capture signals */
- tst_sig(FORK, DEF_HANDLER, cleanup);
-
- /* make a temp dir and cd to it */
- tst_tmpdir();
-
- /*
- * Send out info message that timing and errnolog info is not
- * available because of the use of a child process for each exec
- */
- if ( STD_TIMING_ON )
- tst_resm(TINFO, "There are NO timing statistics produced by this test.\n\
-This is because the test forks to create a child process which then calls execvp.\n\
-The TEST macro is NOT used.");
-
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-} /* End setup() */
-
-
-/***************************************************************
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- ***************************************************************/
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /* remove files and temp dir */
- tst_rmdir();
-
- /* exit with return code appropriate for results */
- tst_exit();
-} /* End cleanup() */
-
-
diff --git a/winsup/testsuite/winsup.api/ltp/exit01.c b/winsup/testsuite/winsup.api/ltp/exit01.c
deleted file mode 100644
index 74e6c093b..000000000
--- a/winsup/testsuite/winsup.api/ltp/exit01.c
+++ /dev/null
@@ -1,165 +0,0 @@
-/*
- *
- * Copyright (c) International Business Machines Corp., 2001
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-/*
- * NAME
- * exit01.c
- *
- * DESCRIPTION
- * Check that exit returns the correct values to the waiting parent
- *
- * ALGORITHM
- * Fork a process that immediately calls exit() with a known
- * value. Check for that value in the parent.
- *
- * USAGE
- * exit01
- *
- * HISTORY
- * 07/2001 Ported by Wayne Boyer
- *
- * RESTRICTIONS
- * None
- */
-
-#include <signal.h>
-#include <errno.h>
-#include <sys/stat.h>
-#include <sys/wait.h>
-#include "test.h"
-#include "usctest.h"
-
-void cleanup(void) __attribute__((noreturn));
-void setup(void);
-
-const char *TCID = "exit01";
-int TST_TOTAL = 1;
-extern int Tst_count;
-
-int
-main(int ac, char **av)
-{
- int pid, npid, sig, nsig, exno, nexno, status;
- int rval = 0;
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
-
- /* parse standard options */
- if ((msg = parse_opts(ac, av, (option_t *)NULL, NULL)) != (char *)NULL){
- tst_brkm(TBROK, cleanup, "OPTION PARSIkNG ERROR - %s", msg);
- /*NOTREACHED*/
- }
-
- setup(); /* global setup for test */
-
- /* check looping state if -i option given */
- for (lc = 0; TEST_LOOPING(lc); lc++) {
-
- /* reset Tst_count in case we are looping. */
- Tst_count = 0;
-
- sig = 0;
- exno = 1;
-
- if ((pid = fork()) == -1) {
- tst_brkm(TBROK, cleanup, "fork failed, errno=%d",
- errno, strerror(errno));
- }
-
- if (pid == 0) { /* parent */
- exit(exno);
- } else {
- sleep(1); /* let child start */
- npid = wait(&status);
-
- if (npid != pid) {
- tst_resm(TFAIL, "wait error: "
- "unexpected pid returned");
- rval = 1;
- }
-
- nsig = status % 256;
-
- /*
- * Check if the core dump bit has been set, bit # 7
- */
- if (nsig >= 128) {
- nsig = nsig - 128;
- }
-
- /*
- * nsig is the signal number returned by wait
- */
- if (nsig != sig) {
- tst_resm(TFAIL, "wait error: "
- "unexpected signal returned");
- rval = 1;
- }
-
- /*
- * nexno is the exit number returned by wait
- */
- nexno = status / 256;
- if (nexno != exno) {
- tst_resm(TFAIL, "wait error: "
- "unexpected exit number returned");
- rval = 1;
- }
- }
-
- if (rval != 1) {
- tst_resm(TPASS, "exit() test PASSED");
- }
- }
- cleanup();
-
- /*NOTREACHED*/
-}
-
-/*
- * setup() - performs all ONE TIME setup for this test
- */
-void
-setup()
-{
- /* capture signals */
- tst_sig(FORK, DEF_HANDLER, cleanup);
-
- umask(0);
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-}
-
-/*
- * cleanup() - performs all ONE TIME cleanup for this test at completion or
- * premature exit.
- */
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /* exit with return code appropriate for results */
- tst_exit();
-}
diff --git a/winsup/testsuite/winsup.api/ltp/exit02.c b/winsup/testsuite/winsup.api/ltp/exit02.c
deleted file mode 100644
index 1503106e9..000000000
--- a/winsup/testsuite/winsup.api/ltp/exit02.c
+++ /dev/null
@@ -1,228 +0,0 @@
-/*
- *
- * Copyright (c) International Business Machines Corp., 2001
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-/*
- * NAME
- * exit02.c
- *
- * DESCRIPTION
- * Check that exit flushes output file buffers and closes files upon
- * exitting
- *
- * ALGORITHM
- * Fork a process that creates a file and writes a few bytes, and
- * calls exit WITHOUT calling close(). The parent then reads the
- * file. If everything that was written is present in the file, then
- * the test passes.
- *
- * USAGE
- * exit02
- *
- * HISTORY
- * 07/2001 Ported by Wayne Boyer
- *
- * RESTRICTIONS
- * None
- */
-
-#include <errno.h>
-#include <signal.h>
-#include <fcntl.h>
-#include <sys/wait.h>
-#include "test.h"
-#include "usctest.h"
-
-void cleanup(void) __attribute__((noreturn));
-void setup(void);
-
-const char *TCID = "exit02";
-int TST_TOTAL = 1;
-extern int Tst_count;
-
-#define READ 0
-#define WRITE 1
-#define MODE 0666
-
-char filen[40];
-
-int
-main(int ac, char **av)
-{
- int pid, npid, sig, nsig, exno, nexno, status;
- int filed;
- char wbuf[BUFSIZ], rbuf[BUFSIZ];
- int len, rlen;
- int rval = 0;
- char *strcpy();
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
-
- /*
- * parse standard options
- */
- if ((msg = parse_opts(ac, av, (option_t *)NULL, NULL)) != (char *)NULL){
- tst_brkm(TBROK, cleanup, "OPTION PARSING ERROR - %s", msg);
- /*NOTREACHED*/
- }
-
- setup(); /* global setup for test */
-
- /*
- * The following loop checks looping state if -i option given
- */
- for (lc = 0; TEST_LOOPING(lc); lc++) {
- /*
- * reset Tst_count in case we are looping.
- */
- Tst_count = 0;
-
- strcpy(wbuf, "abcd");
- len = strlen(wbuf);
-
- exno = sig = 0;
-
- if ((pid = fork()) == -1) {
- tst_brkm(TBROK, cleanup, "fork failed, error no = %d",
- errno, strerror(errno));
- }
-
- if (pid == 0) { /* child */
- sleep(1);
- if ((filed = creat(filen, MODE)) == -1) {
- tst_resm(TINFO, "creat error: unable to"
- "open output file");
- exit(2);
- }
- if (write(filed, wbuf, len) != len) {
- tst_resm(TINFO, "write error");
- exit(2);
- }
- close(filed);
- exit(exno);
- } else { /* parent */
- npid = wait(&status);
-
- if (npid != pid) {
- tst_resm(TFAIL, "wait error: "
- "unexpected pid returned");
- rval = 1;
- }
-
- nsig = status % 256;
-
- /*
- * to check if the core dump bit has been
- * set, bit # 7
- */
- if (nsig >= 128)
- nsig = nsig - 128;
-
- /*
- * nsig is the signal number returned by
- * wait
- */
- if (nsig != sig) {
- tst_resm(TFAIL, "wait error: unexpected "
- "signal returned %d", nsig);
- rval = 1;
- }
-
- /*
- * nexno is the exit number returned by wait
- */
- nexno = status / 256;
- if (nexno != exno) {
- tst_resm(TFAIL, "wait error: unexpected exit "
- "number %d", nexno);
- rval = 1;
- }
-
- sleep(2); /* let child's exit close opened file */
-
- filed = open(filen, O_RDONLY, READ);
- if (filed == -1) {
- tst_resm(TFAIL, "open error: "
- "unable to open input file");
- rval = 1;
- } else {
- rlen = read(filed, rbuf, len);
- if (len != rlen) {
- tst_resm(TFAIL, "exit error: file "
- "buffer was not flushed");
- rval = 1;
- } else if (memcmp(rbuf, wbuf, rlen) != 0) {
- tst_resm(TFAIL, "exit error: file "
- "buffer was not flushed");
- rval = 1;
- }
- }
- close(filed);
- unlink(filen);
- }
- if (!rval) {
- tst_resm(TPASS, "exit() test PASSED");
- }
- }
- cleanup();
- /*NOTREACHED*/
-}
-
-/*
- * setup() - perform all ONE TIME setup for this test
- */
-void
-setup(void)
-{
- /* capture signals */
- tst_sig(FORK, DEF_HANDLER, cleanup);
-
- umask(0);
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-
- /* make a temp directory and cd to it */
- tst_tmpdir();
-
- sprintf(filen, "tfile_%d",getpid());
-}
-
-/*
- * cleanup() - performs all ONE TIME cleanup for this test at completion or
- * premature exit.
- */
-void
-cleanup(void)
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified
- */
- TEST_CLEANUP;
-
- /*
- * Remove tmp dir and all files in it
- */
- tst_rmdir();
-
- /*
- * exit with return code appropriate for results
- */
- tst_exit();
-}
diff --git a/winsup/testsuite/winsup.api/ltp/fchdir01.c b/winsup/testsuite/winsup.api/ltp/fchdir01.c
deleted file mode 100644
index bd70c01b3..000000000
--- a/winsup/testsuite/winsup.api/ltp/fchdir01.c
+++ /dev/null
@@ -1,249 +0,0 @@
-/*
- *
- * Copyright (c) International Business Machines Corp., 2001
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-/*
- * NAME
- * fchdir01.c
- *
- * DESCRIPTION
- * fchdir01 - create a directory and cd into it.
- *
- * ALGORITHM
- * create a new directory
- * open the directory and get a file descriptor
- * loop if that option was specified
- * fchdir() into the directory
- * check the return code
- * if failure, issue a FAIL message.
- * otherwise,
- * if doing functionality testing, call check_functionality()
- * if correct,
- * issue a PASS message
- * otherwise
- * issue a FAIL message
- * call cleanup
- *
- * USAGE: <for command-line>
- * fchdir01 [-c n] [-f] [-i n] [-I x] [-P x] [-t]
- * where, -c n : Run n copies concurrently.
- * -f : Turn off functionality Testing.
- * -i n : Execute test n times.
- * -I x : Execute test for x seconds.
- * -P x : Pause for x seconds between iterations.
- * -t : Turn on syscall timing.
- *
- * HISTORY
- * 03/2001 - Written by Wayne Boyer
- *
- * RESTRICTIONS
- * none
- */
-
-#include "test.h"
-#include "usctest.h"
-
-#include <errno.h>
-#include <sys/stat.h>
-#include <fcntl.h>
-#include <string.h>
-
-void cleanup(void) __attribute__((noreturn));
-void setup(void);
-
-const char *TCID = "fchdir01";
-int TST_TOTAL = 1;
-extern int Tst_count;
-
-int fd = -1;
-char temp_dir_buf [PATH_MAX];
-char* temp_dir;
-const char *TEST_DIR = "alpha";
-
-#define MODES S_IRWXU
-
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
- void check_functionality(void);
- int r_val;
-
- /* parse standard options */
- if ((msg = parse_opts(ac, av, (option_t *)NULL, NULL)) != (char *)NULL){
- tst_brkm(TBROK, cleanup, "OPTION PARSING ERROR - %s", msg);
- }
-
- setup(); /* global setup */
-
- /* The following loop checks looping state if -i option given */
-
- for (lc = 0; TEST_LOOPING(lc); lc++) {
- /* reset Tst_count in case we are looping */
- Tst_count = 0;
-
- /* get the name of the test dirctory */
- if ((temp_dir = (getcwd(temp_dir_buf, sizeof (temp_dir_buf)))) == NULL) {
- tst_brkm(TBROK, cleanup, "%s - getcwd() in main() "
- "failed", TCID);
- }
-
- /*
- * create a new directory and open it
- */
-
- if ((r_val = mkdir(TEST_DIR, MODES)) == -1){
- tst_brkm(TBROK, cleanup, "%s - mkdir() in main() "
- "failed", TCID);
- }
-
- if ((fd = open(TEST_DIR, O_RDONLY)) == -1) {
- tst_brkm(TBROK, cleanup, "open of directory failed");
- }
-
- /*
- * Use TEST macro to make the call
- */
-
- TEST(fchdir(fd));
-
- if (TEST_RETURN == -1) {
- tst_brkm(TFAIL, cleanup, "%s call failed - errno = %d :"
- " %s", TCID, TEST_ERRNO, strerror(TEST_ERRNO));
- } else {
- if (STD_FUNCTIONAL_TEST) {
- check_functionality();
- } else {
- tst_resm(TPASS, "call succeeded");
- }
- }
-
- /*
- * clean up things in case we are looping
- */
-
- /*
- * NOTE: in case of failure here, we need to use "tst_resm()"
- * and not "tst_brkm()". This is because if we get to this
- * point, we have already set a PASS or FAIL for the test
- * and "tst_brkm()" won't report as we might expect.
- */
-
- /* chdir back to our temporary work directory */
- if ((r_val = chdir("..")) == -1){
- tst_resm(TBROK, "fchdir failed - errno = %d : %s",
- errno, strerror(errno));
- }
-
- if ((r_val = rmdir(TEST_DIR)) == -1){
- tst_resm(TBROK, "rmdir failed - errno = %d : %s",
- errno, strerror(errno));
- }
-
- /*
- * clean up things in case we are looping
- */
- /* free(temp_dir); */
- temp_dir = NULL;
- }
-
- cleanup();
-
- /*NOTREACHED*/
-}
-
-/*
- * check_functionality() - check that we are in the correct directory.
- */
-void
-check_functionality(void)
-{
- char buf [PATH_MAX];
- char *cwd;
- char **bufptr = &cwd;
- char *dir;
-
- /*
- * Get the current directory path.
- */
- if ((cwd = (getcwd(buf, sizeof (buf)))) == NULL) {
- tst_brkm(TBROK, cleanup, "%s - getcwd() in "
- "check_functionality() failed", TCID);
- }
-
- /*
- * strip off all but the last directory name in the
- * current working directory.
- */
- do {
- if ((dir = strsep(bufptr, "/")) == NULL) {
- tst_brkm(TBROK, cleanup, "%s - strsep() in "
- "check_functionality() failed", TCID);
- }
- } while(*bufptr != NULL);
-
- /*
- * Make sure we are in the right place.
- */
- if (strcmp(TEST_DIR, dir) == 0) {
- tst_resm(TPASS, "%s call succeeded", TCID);
- } else {
- tst_resm(TFAIL, "%s functionality test failed", TCID);
- }
-}
-
-/*
- * setup() - performs all the ONE TIME setup for this test.
- */
-void
-setup(void)
-{
- /* capture signals */
- tst_sig(NOFORK, DEF_HANDLER, cleanup);
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-
- /* create a test directory and cd into it */
- tst_tmpdir();
-}
-
-/*
- * cleanup() - performs all the ONE TIME cleanup for this test at completion
- * or premature exit.
- */
-void
-cleanup(void)
-{
- if (fd >= 0)
- close (fd);
-
- /* remove the test directory */
- tst_rmdir();
-
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /* exit with return code appropriate for results */
- tst_exit();
-}
-
diff --git a/winsup/testsuite/winsup.api/ltp/fchdir02.c b/winsup/testsuite/winsup.api/ltp/fchdir02.c
deleted file mode 100644
index 4e1d9e74a..000000000
--- a/winsup/testsuite/winsup.api/ltp/fchdir02.c
+++ /dev/null
@@ -1,160 +0,0 @@
-/*
- *
- * Copyright (c) International Business Machines Corp., 2001
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-/*
- * NAME
- * fchdir02.c
- *
- * DESCRIPTION
- * fchdir02 - try to cd into a bad directory (bad fd).
- *
- * CALLS
- * fchdir()
- *
- * ALGORITHM
- * loop if that option was specified
- * call fchdir() with an invalid file descriptor
- * check the errno value
- * issue a PASS message if we get EBADF - errno 9
- * otherwise, the tests fails
- * issue a FAIL message
- * break any remaining tests
- * call cleanup
- *
- * USAGE: <for command-line>
- * fchdir02 [-c n] [-e] [-i n] [-I x] [-P x] [-t]
- * where, -c n : Run n copies concurrently.
- * -e : Turn on errno logging.
- * -i n : Execute test n times.
- * -I x : Execute test for x seconds.
- * -P x : Pause for x seconds between iterations.
- * -t : Turn on syscall timing.
- *
- * HISTORY
- * 03/2001 - Written by Wayne Boyer
- *
- * RESTRICTIONS
- * none
- */
-
-#include "test.h"
-#include "usctest.h"
-
-#include <errno.h>
-#include <sys/stat.h>
-#include <fcntl.h>
-
-void cleanup(void) __attribute__((noreturn));
-void setup(void);
-
-const char *TCID = "fchdir02";
-int TST_TOTAL = 1;
-extern int Tst_count;
-
-int exp_enos[] = {9, 0}; /* 0 terminated list of expected errnos */
-
-int
-main(int ac, char **av)
-{
- const int bad_fd = -5;
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
-
- /* parse standard options */
- if ((msg = parse_opts(ac, av, (option_t *)NULL, NULL)) != (char *)NULL){
- tst_brkm(TBROK, cleanup, "OPTION PARSING ERROR - %s", msg);
- }
-
- setup(); /* global setup */
-
- /* The following loop checks looping state if -i option given */
-
- for (lc = 0; TEST_LOOPING(lc); lc++) {
- /* reset Tst_count in case we are looping */
- Tst_count = 0;
-
- /*
- * Look for a failure by using an invalid number for fd
- */
-
- TEST(fchdir(bad_fd));
-
- if (TEST_RETURN != -1) {
- tst_brkm(TFAIL, cleanup, "call succeeded with bad "
- "file descriptor");
- }
-
- TEST_ERROR_LOG(TEST_ERRNO);
-
- switch(TEST_ERRNO) {
- case EBADF:
- tst_resm(TPASS, "expected failure - errno = %d : %s",
- TEST_ERRNO, strerror(TEST_ERRNO));
- break;
- default:
- tst_brkm(TFAIL, cleanup, "call failed with an "
- "unexpected error - %d : %s", TEST_ERRNO,
- strerror(TEST_ERRNO));
- }
- }
-
- cleanup();
-
- /*NOTREACHED*/
-}
-
-/*
- * setup() - performs all the ONE TIME setup for this test.
- */
-void
-setup(void)
-{
- /* capture signals */
- tst_sig(NOFORK, DEF_HANDLER, cleanup);
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-
- /* create a test directory and cd into it */
- tst_tmpdir();
-
- /* Set up the expected error numbers for -e option */
- TEST_EXP_ENOS(exp_enos);
-}
-
-/*
- * cleanup() - performs all the ONE TIME cleanup for this test at completion
- * or premature exit.
- */
-void
-cleanup(void)
-{
- /* remove the test directory */
- tst_rmdir();
-
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /* exit with return code appropriate for results */
- tst_exit();
-}
-
diff --git a/winsup/testsuite/winsup.api/ltp/fchmod01.c b/winsup/testsuite/winsup.api/ltp/fchmod01.c
deleted file mode 100644
index e2db7162a..000000000
--- a/winsup/testsuite/winsup.api/ltp/fchmod01.c
+++ /dev/null
@@ -1,241 +0,0 @@
-/*
- * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it would be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Further, this software is distributed without any warranty that it is
- * free of the rightful claim of any third person regarding infringement
- * or the like. Any license provided herein, whether implied or
- * otherwise, applies only to this software file. Patent licenses, if
- * any, provided herein do not apply to combinations of this program with
- * other software, or any other product whatsoever.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write the Free Software Foundation, Inc., 59
- * Temple Place - Suite 330, Boston MA 02111-1307, USA.
- *
- * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
- * Mountain View, CA 94043, or:
- *
- * http://www.sgi.com
- *
- * For further information regarding this notice, see:
- *
- * http://oss.sgi.com/projects/GenInfo/NoticeExplan/
- *
- */
-/* $Id$ */
-/**********************************************************
- *
- * OS Test - Silicon Graphics, Inc.
- *
- * TEST IDENTIFIER : fchmod01
- *
- * PARENT DOCUMENT : usctpl01
- *
- * TEST CASE TOTAL : 1
- *
- * WALL CLOCK TIME : 1
- *
- * CPU TYPES : ALL
- *
- * AUTHOR : William Roske
- *
- * CO-PILOT : Dave Fenner
- *
- * DATE STARTED : 03/30/92
- *
- * INITIAL RELEASE : UNICOS 7.0
- *
- * TEST CASES
- *
- * 1.) fchmod(2) returns...(See Description)
- *
- * INPUT SPECIFICATIONS
- * The standard options for system call tests are accepted.
- * (See the parse_opts(3) man page).
- *
- * OUTPUT SPECIFICATIONS
- *
- * DURATION
- * Terminates - with frequency and infinite modes.
- *
- * SIGNALS
- * Uses SIGUSR1 to pause before test if option set.
- * (See the parse_opts(3) man page).
- *
- * RESOURCES
- * None
- *
- * ENVIRONMENTAL NEEDS
- * No run-time environmental needs.
- *
- * SPECIAL PROCEDURAL REQUIREMENTS
- * None
- *
- * INTERCASE DEPENDENCIES
- * None
- *
- * DETAILED DESCRIPTION
- * This is a Phase I test for the fchmod(2) system call. It is intended
- * to provide a limited exposure of the system call, for now. It
- * should/will be extended when full functional tests are written for
- * fchmod(2).
- *
- * Setup:
- * Setup signal handling.
- * Pause for SIGUSR1 if option specified.
- *
- * Test:
- * Loop if the proper options are given.
- * Execute system call
- * Check return code, if system call failed (return=-1)
- * Log the errno and Issue a FAIL message.
- * Otherwise, Issue a PASS message.
- *
- * Cleanup:
- * Print errno log and/or timing stats if options given
- *
- *
- *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#**/
-
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <sys/fcntl.h>
-#include <errno.h>
-#include <string.h>
-#include <signal.h>
-#include "test.h"
-#include "usctest.h"
-
-extern void setup();
-extern void cleanup();
-
-
-
-const char *TCID="fchmod01"; /* Test program identifier. */
-int TST_TOTAL=1; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-
-int exp_enos[]={0, 0};
-
-char fname[255];
-int fd;
-const char *buf = "davef";
-
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
-
- /***************************************************************
- * parse standard options
- ***************************************************************/
- if ( (msg=parse_opts(ac, av, (option_t *) NULL, NULL)) != (char *) NULL )
- tst_brkm(TBROK, cleanup, "OPTION PARSING ERROR - %s", msg);
-
- /***************************************************************
- * perform global setup for test
- ***************************************************************/
- setup();
-
- /* set the expected errnos... */
- TEST_EXP_ENOS(exp_enos);
-
- /***************************************************************
- * check looping state if -c option given
- ***************************************************************/
- for (lc=0; TEST_LOOPING(lc); lc++) {
-
- /* reset Tst_count in case we are looping. */
- Tst_count=0;
-
- /*
- * Call fchmod(2)
- */
- TEST(fchmod(fd, 0700));
-
- /* check return code */
- if ( TEST_RETURN == -1 ) {
- TEST_ERROR_LOG(TEST_ERRNO);
- tst_resm(TFAIL, "fchmod(%s, 0700) Failed, errno=%d : %s", fname,
- TEST_ERRNO, strerror(TEST_ERRNO));
- } else {
-
- /***************************************************************
- * only perform functional verification if flag set (-f not given)
- ***************************************************************/
- if ( STD_FUNCTIONAL_TEST ) {
- /* No Verification test, yet... */
- tst_resm(TPASS, "fchmod(%s, 0700) returned %d", fname, TEST_RETURN);
- }
- }
-
- } /* End for TEST_LOOPING */
-
- /***************************************************************
- * cleanup and exit
- ***************************************************************/
- cleanup();
-
- return 0;
-} /* End main */
-
-/***************************************************************
- * setup() - performs all ONE TIME setup for this test.
- ***************************************************************/
-void
-setup()
-{
- /* capture signals */
- tst_sig(NOFORK, DEF_HANDLER, cleanup);
-
- /* make a temp directory and cd to it */
- tst_tmpdir();
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-
- sprintf(fname,"tfile_%d",getpid());
- if ((fd = open(fname,O_RDWR|O_CREAT,0700)) == -1) {
- tst_brkm(TBROK, cleanup, "open(%s, O_RDWR|O_CREAT,0700) Failed, errno=%d : %s", fname, errno, strerror(errno));
- } else if (write(fd, &buf, strlen(buf)) == -1) {
- tst_brkm(TBROK, cleanup, "write(%s, &buf, strlen(buf)) Failed, errno=%d : %s", fname, errno, strerror(errno));
- }
-} /* End setup() */
-
-
-/***************************************************************
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- ***************************************************************/
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /* close the open file wev'e been chmoding */
- if (close(fd) == -1) {
- tst_brkm(TBROK, cleanup, "close(%s) Failed, errno=%d : %s",
- fname, errno, strerror(errno));
- }
-
- /* Remove tmp dir and all files in it */
- tst_rmdir();
-
- /* exit with return code appropriate for results */
- tst_exit();
-} /* End cleanup() */
-
-
diff --git a/winsup/testsuite/winsup.api/ltp/fchown01.c b/winsup/testsuite/winsup.api/ltp/fchown01.c
deleted file mode 100644
index d692bfc74..000000000
--- a/winsup/testsuite/winsup.api/ltp/fchown01.c
+++ /dev/null
@@ -1,234 +0,0 @@
-/*
- * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it would be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Further, this software is distributed without any warranty that it is
- * free of the rightful claim of any third person regarding infringement
- * or the like. Any license provided herein, whether implied or
- * otherwise, applies only to this software file. Patent licenses, if
- * any, provided herein do not apply to combinations of this program with
- * other software, or any other product whatsoever.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write the Free Software Foundation, Inc., 59
- * Temple Place - Suite 330, Boston MA 02111-1307, USA.
- *
- * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
- * Mountain View, CA 94043, or:
- *
- * http://www.sgi.com
- *
- * For further information regarding this notice, see:
- *
- * http://oss.sgi.com/projects/GenInfo/NoticeExplan/
- *
- */
-/* $Id$ */
-/**********************************************************
- *
- * OS Test - Silicon Graphics, Inc.
- *
- * TEST IDENTIFIER : fchown01
- *
- * EXECUTED BY : anyone
- *
- * TEST TITLE : Basic test for fchown(2)
- *
- * PARENT DOCUMENT : usctpl01
- *
- * TEST CASE TOTAL : 1
- *
- * WALL CLOCK TIME : 1
- *
- * CPU TYPES : ALL
- *
- * AUTHOR : William Roske
- *
- * CO-PILOT : Dave Fenner
- *
- * DATE STARTED : 02/14/92
- *
- * INITIAL RELEASE : UNICOS 7.0
- *
- * TEST CASES
- *
- * 1.) fchown(2) returns...(See Description)
- *
- * INPUT SPECIFICATIONS
- * The standard options for system call tests are accepted.
- * (See the parse_opts(3) man page).
- *
- * OUTPUT SPECIFICATIONS
- *
- * DURATION
- * Terminates - with frequency and infinite modes.
- *
- * SIGNALS
- * Uses SIGUSR1 to pause before test if option set.
- * (See the parse_opts(3) man page).
- *
- * RESOURCES
- * None
- *
- * ENVIRONMENTAL NEEDS
- * No run-time environmental needs.
- *
- * SPECIAL PROCEDURAL REQUIREMENTS
- * None
- *
- * INTERCASE DEPENDENCIES
- * None
- *
- * DETAILED DESCRIPTION
- * This is a Phase I test for the fchown(2) system call. It is intended
- * to provide a limited exposure of the system call, for now. It
- * should/will be extended when full functional tests are written for
- * fchown(2).
- *
- * Setup:
- * Setup signal handling.
- * Pause for SIGUSR1 if option specified.
- *
- * Test:
- * Loop if the proper options are given.
- * Execute system call
- * Check return code, if system call failed (return=-1)
- * Log the errno and Issue a FAIL message.
- * Otherwise, Issue a PASS message.
- *
- * Cleanup:
- * Print errno log and/or timing stats if options given
- *
- *
- *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#**/
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <fcntl.h>
-
-#include <errno.h>
-#include <string.h>
-#include <signal.h>
-#include "test.h"
-#include "usctest.h"
-
-extern void setup();
-extern void cleanup();
-
-
-
-const char *TCID="fchown01"; /* Test program identifier. */
-int TST_TOTAL=1; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-
-int Fd; /* file descriptor for fchown */
-
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
-
- /***************************************************************
- * parse standard options
- ***************************************************************/
- if ( (msg=parse_opts(ac, av, (option_t *) NULL, NULL)) != (char *) NULL )
- tst_brkm(TBROK, cleanup, "OPTION PARSING ERROR - %s", msg);
-
- /***************************************************************
- * perform global setup for test
- ***************************************************************/
- setup();
-
- /***************************************************************
- * check looping state if -c option given
- ***************************************************************/
- for (lc=0; TEST_LOOPING(lc); lc++) {
-
- /* reset Tst_count in case we are looping. */
- Tst_count=0;
-
- /* Call fchown(2) just once */
- TEST(fchown(Fd, geteuid(), getegid()));
-
- /* check return code */
- if ( TEST_RETURN == -1 ) {
- TEST_ERROR_LOG(TEST_ERRNO);
- tst_resm(TFAIL,
- "fchown(Fd, geteuid(), getegid()) failed, errno=%d : %s",
- TEST_ERRNO, strerror(TEST_ERRNO));
- } else {
- /***************************************************************
- * only perform functional verification if flag set (-f not given)
- ***************************************************************/
- if ( STD_FUNCTIONAL_TEST ) {
- /* Perform functional verification here */
- tst_resm(TPASS,
- "fchown(Fd, geteuid(), getegid()) returned %d",
- TEST_RETURN);
- }
- }
- } /* End for TEST_LOOPING */
-
- /***************************************************************
- * cleanup and exit
- ***************************************************************/
- cleanup();
-
- return 0;
-} /* End main */
-
-/***************************************************************
- * setup() - performs all ONE TIME setup for this test.
- ***************************************************************/
-void
-setup()
-{
- char fname[1024];
-
- /* capture signals */
- tst_sig(FORK, DEF_HANDLER, cleanup);
-
- /* make a tempdir and change to it */
- tst_tmpdir();
-
- /* open a file for read/write */
- sprintf(fname, "./tmpfile.%d", getpid());
- if ( (Fd=open(fname, O_RDWR|O_CREAT, 0700)) == -1 )
- tst_brkm(TBROK, cleanup,
- "Unable to open %s for read/write. Error:%d, %s",
- fname, errno, strerror(errno)); /* this exits */
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-} /* End setup() */
-
-
-/***************************************************************
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- ***************************************************************/
-void
-cleanup()
-{
- close(Fd);
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /* remove temp dir and files */
- tst_rmdir();
-
- /* exit with return code appropriate for results */
- tst_exit();
-} /* End cleanup() */
-
-
diff --git a/winsup/testsuite/winsup.api/ltp/fcntl02.c b/winsup/testsuite/winsup.api/ltp/fcntl02.c
deleted file mode 100644
index cbdd08545..000000000
--- a/winsup/testsuite/winsup.api/ltp/fcntl02.c
+++ /dev/null
@@ -1,244 +0,0 @@
-/*
- * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it would be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Further, this software is distributed without any warranty that it is
- * free of the rightful claim of any third person regarding infringement
- * or the like. Any license provided herein, whether implied or
- * otherwise, applies only to this software file. Patent licenses, if
- * any, provided herein do not apply to combinations of this program with
- * other software, or any other product whatsoever.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write the Free Software Foundation, Inc., 59
- * Temple Place - Suite 330, Boston MA 02111-1307, USA.
- *
- * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
- * Mountain View, CA 94043, or:
- *
- * http://www.sgi.com
- *
- * For further information regarding this notice, see:
- *
- * http://oss.sgi.com/projects/GenInfo/NoticeExplan/
- *
- */
-/* $Id$ */
-/**********************************************************
- *
- * OS Test - Silicon Graphics, Inc.
- *
- * TEST IDENTIFIER : fcntl02
- *
- * EXECUTED BY : anyone
- *
- * TEST TITLE : Basic test for fcntl(2) using F_DUPFD argument.
- *
- * PARENT DOCUMENT : usctpl01
- *
- * TEST CASE TOTAL : 1
- *
- * WALL CLOCK TIME : 1
- *
- * CPU TYPES : ALL
- *
- * AUTHOR : William Roske
- *
- * CO-PILOT : Dave Fenner
- *
- * DATE STARTED : 03/30/92
- *
- * INITIAL RELEASE : UNICOS 7.0
- *
- * TEST CASES
- *
- * 1.) fcntl(2) returns...(See Description)
- *
- * INPUT SPECIFICATIONS
- * The standard options for system call tests are accepted.
- * (See the parse_opts(3) man page).
- *
- * OUTPUT SPECIFICATIONS
- *
- * DURATION
- * Terminates - with frequency and infinite modes.
- *
- * SIGNALS
- * Uses SIGUSR1 to pause before test if option set.
- * (See the parse_opts(3) man page).
- *
- * RESOURCES
- * None
- *
- * ENVIRONMENTAL NEEDS
- * No run-time environmental needs.
- *
- * SPECIAL PROCEDURAL REQUIREMENTS
- * None
- *
- * INTERCASE DEPENDENCIES
- * None
- *
- * DETAILED DESCRIPTION
- * This is a Phase I test for the fcntl(2) system call. It is intended
- * to provide a limited exposure of the system call, for now. It
- * should/will be extended when full functional tests are written for
- * fcntl(2).
- *
- * Setup:
- * Setup signal handling.
- * Pause for SIGUSR1 if option specified.
- *
- * Test:
- * Loop if the proper options are given.
- * Execute system call
- * Check return code, if system call failed (return=-1)
- * Log the errno and Issue a FAIL message.
- * Otherwise, Issue a PASS message.
- *
- * Cleanup:
- * Print errno log and/or timing stats if options given
- *
- *
- *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#**/
-
-#include <sys/types.h>
-#include <sys/fcntl.h>
-#include <sys/stat.h>
-#include <errno.h>
-#include <string.h>
-#include <signal.h>
-#include "test.h"
-#include "usctest.h"
-
-extern void setup();
-extern void cleanup();
-
-
-
-const char *TCID="fcntl02"; /* Test program identifier. */
-int TST_TOTAL=1; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-
-int exp_enos[]={0, 0};
-
-char fname[255];
-int fd;
-
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
-
- /***************************************************************
- * parse standard options
- ***************************************************************/
- if ( (msg=parse_opts(ac, av, (option_t *) NULL, NULL)) != (char *) NULL )
- tst_brkm(TBROK, cleanup, "OPTION PARSING ERROR - %s", msg);
-
- /***************************************************************
- * perform global setup for test
- ***************************************************************/
- setup();
-
- /* set the expected errnos... */
- TEST_EXP_ENOS(exp_enos);
-
- /***************************************************************
- * check looping state if -c option given
- ***************************************************************/
- for (lc=0; TEST_LOOPING(lc); lc++) {
-
- /* reset Tst_count in case we are looping. */
- Tst_count=0;
-
- /*
- * Call fcntl(2) with F_DUPFD argument on fname
- */
- TEST(fcntl(fd, F_DUPFD, 0));
-
- /* check return code */
- if ( TEST_RETURN == -1 ) {
- TEST_ERROR_LOG(TEST_ERRNO);
- tst_resm(TFAIL, "fcntl(%s, F_DUPFD, 0) Failed, errno=%d : %s", fname,
- TEST_ERRNO, strerror(TEST_ERRNO));
- } else {
-
- /***************************************************************
- * only perform functional verification if flag set (-f not given)
- ***************************************************************/
- if ( STD_FUNCTIONAL_TEST ) {
- /* No Verification test, yet... */
- tst_resm(TPASS, "fcntl(%s, F_DUPFD, 0) returned %d", fname, TEST_RETURN);
- }
- if (close(TEST_RETURN) == -1) {
- tst_resm(TWARN, "close(%s) Failed, errno=%d : %s", fname, errno, strerror(errno));
- }
- }
-
- } /* End for TEST_LOOPING */
-
- /***************************************************************
- * cleanup and exit
- ***************************************************************/
- cleanup();
-
- return 0;
-} /* End main */
-
-/***************************************************************
- * setup() - performs all ONE TIME setup for this test.
- ***************************************************************/
-void
-setup()
-{
- /* capture signals */
- tst_sig(NOFORK, DEF_HANDLER, cleanup);
-
- /* make a temp directory and cd to it */
- tst_tmpdir();
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-
- sprintf(fname,"tfile_%d",getpid());
- if ((fd = open(fname,O_RDWR|O_CREAT,0700)) == -1) {
- tst_brkm(TBROK, cleanup,
- "open(%s, O_RDWR|O_CREAT,0700) Failed, errno=%d : %s",
- fname, errno, strerror(errno));
- }
-} /* End setup() */
-
-
-/***************************************************************
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- ***************************************************************/
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /* close the file we've had open */
- if (close(fd) == -1) {
- tst_resm(TWARN, "close(%s) Failed, errno=%d : %s", fname, errno, strerror(errno));
- }
-
- /* Remove tmp dir and all files in it */
- tst_rmdir();
-
- /* exit with return code appropriate for results */
- tst_exit();
-} /* End cleanup() */
diff --git a/winsup/testsuite/winsup.api/ltp/fcntl03.c b/winsup/testsuite/winsup.api/ltp/fcntl03.c
deleted file mode 100644
index 8199469c3..000000000
--- a/winsup/testsuite/winsup.api/ltp/fcntl03.c
+++ /dev/null
@@ -1,240 +0,0 @@
-/*
- * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it would be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Further, this software is distributed without any warranty that it is
- * free of the rightful claim of any third person regarding infringement
- * or the like. Any license provided herein, whether implied or
- * otherwise, applies only to this software file. Patent licenses, if
- * any, provided herein do not apply to combinations of this program with
- * other software, or any other product whatsoever.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write the Free Software Foundation, Inc., 59
- * Temple Place - Suite 330, Boston MA 02111-1307, USA.
- *
- * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
- * Mountain View, CA 94043, or:
- *
- * http://www.sgi.com
- *
- * For further information regarding this notice, see:
- *
- * http://oss.sgi.com/projects/GenInfo/NoticeExplan/
- *
- */
-/* $Id$ */
-/**********************************************************
- *
- * OS Test - Silicon Graphics, Inc.
- *
- * TEST IDENTIFIER : fcntl03
- *
- * EXECUTED BY : anyone
- *
- * TEST TITLE : Basic test for fcntl(2) using F_GETFD argument.
- *
- * PARENT DOCUMENT : usctpl01
- *
- * TEST CASE TOTAL : 1
- *
- * WALL CLOCK TIME : 1
- *
- * CPU TYPES : ALL
- *
- * AUTHOR : William Roske
- *
- * CO-PILOT : Dave Fenner
- *
- * DATE STARTED : 03/30/92
- *
- * INITIAL RELEASE : UNICOS 7.0
- *
- * TEST CASES
- *
- * 1.) fcntl(2) returns...(See Description)
- *
- * INPUT SPECIFICATIONS
- * The standard options for system call tests are accepted.
- * (See the parse_opts(3) man page).
- *
- * OUTPUT SPECIFICATIONS
- *
- * DURATION
- * Terminates - with frequency and infinite modes.
- *
- * SIGNALS
- * Uses SIGUSR1 to pause before test if option set.
- * (See the parse_opts(3) man page).
- *
- * RESOURCES
- * None
- *
- * ENVIRONMENTAL NEEDS
- * No run-time environmental needs.
- *
- * SPECIAL PROCEDURAL REQUIREMENTS
- * None
- *
- * INTERCASE DEPENDENCIES
- * None
- *
- * DETAILED DESCRIPTION
- * This is a Phase I test for the fcntl(2) system call. It is intended
- * to provide a limited exposure of the system call, for now. It
- * should/will be extended when full functional tests are written for
- * fcntl(2).
- *
- * Setup:
- * Setup signal handling.
- * Pause for SIGUSR1 if option specified.
- *
- * Test:
- * Loop if the proper options are given.
- * Execute system call
- * Check return code, if system call failed (return=-1)
- * Log the errno and Issue a FAIL message.
- * Otherwise, Issue a PASS message.
- *
- * Cleanup:
- * Print errno log and/or timing stats if options given
- *
- *
- *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#**/
-
-#include <sys/types.h>
-#include <sys/fcntl.h>
-#include <sys/stat.h>
-#include <errno.h>
-#include <string.h>
-#include <signal.h>
-#include "test.h"
-#include "usctest.h"
-
-extern void setup();
-extern void cleanup();
-
-
-
-const char *TCID="fcntl03"; /* Test program identifier. */
-int TST_TOTAL=1; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-
-int exp_enos[]={0, 0};
-
-char fname[255];
-int fd;
-
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
-
- /***************************************************************
- * parse standard options
- ***************************************************************/
- if ( (msg=parse_opts(ac, av, (option_t *) NULL, NULL)) != (char *) NULL )
- tst_brkm(TBROK, cleanup, "OPTION PARSING ERROR - %s", msg);
-
- /***************************************************************
- * perform global setup for test
- ***************************************************************/
- setup();
-
- /* set the expected errnos... */
- TEST_EXP_ENOS(exp_enos);
-
- /***************************************************************
- * check looping state if -c option given
- ***************************************************************/
- for (lc=0; TEST_LOOPING(lc); lc++) {
-
- /* reset Tst_count in case we are looping. */
- Tst_count=0;
-
- /*
- * Call fcntl(2) with F_GETFD argument on fname
- */
- TEST(fcntl(fd, F_GETFD, 0));
-
- /* check return code */
- if ( TEST_RETURN == -1 ) {
- TEST_ERROR_LOG(TEST_ERRNO);
- tst_resm(TFAIL, "fcntl(%s, F_GETFD, 0) Failed, errno=%d : %s", fname,
- TEST_ERRNO, strerror(TEST_ERRNO));
- } else {
-
- /***************************************************************
- * only perform functional verification if flag set (-f not given)
- ***************************************************************/
- if ( STD_FUNCTIONAL_TEST ) {
- /* No Verification test, yet... */
- tst_resm(TPASS, "fcntl(%s, F_GETFD, 0) returned %d", fname, TEST_RETURN);
- }
- }
-
- } /* End for TEST_LOOPING */
-
- /***************************************************************
- * cleanup and exit
- ***************************************************************/
- cleanup();
-
- return 0;
-} /* End main */
-
-/***************************************************************
- * setup() - performs all ONE TIME setup for this test.
- ***************************************************************/
-void
-setup()
-{
- /* capture signals */
- tst_sig(NOFORK, DEF_HANDLER, cleanup);
-
- /* make a temp directory and cd to it */
- tst_tmpdir();
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-
- sprintf(fname,"tfile_%d",getpid());
- if ((fd = open(fname,O_RDWR|O_CREAT,0700)) == -1) {
- tst_brkm(TBROK, cleanup,
- "open(%s, O_RDWR|O_CREAT,0700) Failed, errno=%d : %s",
- fname, errno, strerror(errno));
- }
-} /* End setup() */
-
-
-/***************************************************************
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- ***************************************************************/
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- if (close(fd) == -1) {
- tst_resm(TWARN, "close(%s) Failed, errno=%d : %s", fname, errno, strerror(errno));
- }
-
- /* Remove tmp dir and all files in it */
- tst_rmdir();
-
- /* exit with return code appropriate for results */
- tst_exit();
-} /* End cleanup() */
diff --git a/winsup/testsuite/winsup.api/ltp/fcntl04.c b/winsup/testsuite/winsup.api/ltp/fcntl04.c
deleted file mode 100644
index 7af778936..000000000
--- a/winsup/testsuite/winsup.api/ltp/fcntl04.c
+++ /dev/null
@@ -1,239 +0,0 @@
-/*
- * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it would be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Further, this software is distributed without any warranty that it is
- * free of the rightful claim of any third person regarding infringement
- * or the like. Any license provided herein, whether implied or
- * otherwise, applies only to this software file. Patent licenses, if
- * any, provided herein do not apply to combinations of this program with
- * other software, or any other product whatsoever.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write the Free Software Foundation, Inc., 59
- * Temple Place - Suite 330, Boston MA 02111-1307, USA.
- *
- * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
- * Mountain View, CA 94043, or:
- *
- * http://www.sgi.com
- *
- * For further information regarding this notice, see:
- *
- * http://oss.sgi.com/projects/GenInfo/NoticeExplan/
- *
- */
-/* $Id$ */
-/**********************************************************
- *
- * OS Test - Silicon Graphics, Inc.
- *
- * TEST IDENTIFIER : fcntl04
- *
- * EXECUTED BY : anyone
- *
- * TEST TITLE : Basic test for fcntl(2) using F_GETFL argument.
- *
- * PARENT DOCUMENT : usctpl01
- *
- * TEST CASE TOTAL : 1
- *
- * WALL CLOCK TIME : 1
- *
- * CPU TYPES : ALL
- *
- * AUTHOR : William Roske
- *
- * CO-PILOT : Dave Fenner
- *
- * DATE STARTED : 03/30/92
- *
- * INITIAL RELEASE : UNICOS 7.0
- *
- * TEST CASES
- *
- * 1.) fcntl(2) returns...(See Description)
- *
- * INPUT SPECIFICATIONS
- * The standard options for system call tests are accepted.
- * (See the parse_opts(3) man page).
- *
- * OUTPUT SPECIFICATIONS
- *
- * DURATION
- * Terminates - with frequency and infinite modes.
- *
- * SIGNALS
- * Uses SIGUSR1 to pause before test if option set.
- * (See the parse_opts(3) man page).
- *
- * RESOURCES
- * None
- *
- * ENVIRONMENTAL NEEDS
- * No run-time environmental needs.
- *
- * SPECIAL PROCEDURAL REQUIREMENTS
- * None
- *
- * INTERCASE DEPENDENCIES
- * None
- *
- * DETAILED DESCRIPTION
- * This is a Phase I test for the fcntl(2) system call. It is intended
- * to provide a limited exposure of the system call, for now. It
- * should/will be extended when full functional tests are written for
- * fcntl(2).
- *
- * Setup:
- * Setup signal handling.
- * Pause for SIGUSR1 if option specified.
- *
- * Test:
- * Loop if the proper options are given.
- * Execute system call
- * Check return code, if system call failed (return=-1)
- * Log the errno and Issue a FAIL message.
- * Otherwise, Issue a PASS message.
- *
- * Cleanup:
- * Print errno log and/or timing stats if options given
- *
- *
- *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#**/
-
-#include <sys/types.h>
-#include <sys/fcntl.h>
-#include <sys/stat.h>
-#include <errno.h>
-#include <string.h>
-#include <signal.h>
-#include "test.h"
-#include "usctest.h"
-
-extern void setup();
-extern void cleanup();
-
-
-
-const char *TCID="fcntl04"; /* Test program identifier. */
-int TST_TOTAL=1; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-
-int exp_enos[]={0, 0};
-
-char fname[255];
-int fd;
-
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
-
- /***************************************************************
- * parse standard options
- ***************************************************************/
- if ( (msg=parse_opts(ac, av, (option_t *) NULL, NULL)) != (char *) NULL )
- tst_brkm(TBROK, cleanup, "OPTION PARSING ERROR - %s", msg);
-
- /***************************************************************
- * perform global setup for test
- ***************************************************************/
- setup();
-
- /* set the expected errnos... */
- TEST_EXP_ENOS(exp_enos);
-
- /***************************************************************
- * check looping state if -c option given
- ***************************************************************/
- for (lc=0; TEST_LOOPING(lc); lc++) {
-
- /* reset Tst_count in case we are looping. */
- Tst_count=0;
-
- /*
- * Call fcntl(2) with F_GETFL argument on fname
- */
- TEST(fcntl(fd, F_GETFL, 0));
-
- /* check return code */
- if ( TEST_RETURN == -1 ) {
- TEST_ERROR_LOG(TEST_ERRNO);
- tst_resm(TFAIL, "fcntl(%s, F_GETFL, 0) Failed, errno=%d : %s", fname,
- TEST_ERRNO, strerror(TEST_ERRNO));
- } else {
-
- /***************************************************************
- * only perform functional verification if flag set (-f not given)
- ***************************************************************/
- if ( STD_FUNCTIONAL_TEST ) {
- /* No Verification test, yet... */
- tst_resm(TPASS, "fcntl(%s, F_GETFL, 0) returned %d", fname, TEST_RETURN);
- }
- }
- } /* End for TEST_LOOPING */
-
- /***************************************************************
- * cleanup and exit
- ***************************************************************/
- cleanup();
-
- return 0;
-} /* End main */
-
-/***************************************************************
- * setup() - performs all ONE TIME setup for this test.
- ***************************************************************/
-void
-setup()
-{
- /* capture signals */
- tst_sig(NOFORK, DEF_HANDLER, cleanup);
-
- /* make a temp directory and cd to it */
- tst_tmpdir();
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-
- sprintf(fname,"tfile_%d",getpid());
- if ((fd = open(fname,O_RDWR|O_CREAT,0700)) == -1) {
- tst_brkm(TBROK, cleanup,
- "open(%s, O_RDWR|O_CREAT,0700) Failed, errno=%d : %s",
- fname, TEST_ERRNO, strerror(TEST_ERRNO));
- }
-} /* End setup() */
-
-
-/***************************************************************
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- ***************************************************************/
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- if (close(fd) == -1) {
- tst_resm(TWARN, "close(%s) Failed, errno=%d : %s", fname, errno, strerror(errno));
- }
-
- /* Remove tmp dir and all files in it */
- tst_rmdir();
-
- /* exit with return code appropriate for results */
- tst_exit();
-} /* End cleanup() */
diff --git a/winsup/testsuite/winsup.api/ltp/fcntl05.c b/winsup/testsuite/winsup.api/ltp/fcntl05.c
deleted file mode 100644
index 80cfe8c89..000000000
--- a/winsup/testsuite/winsup.api/ltp/fcntl05.c
+++ /dev/null
@@ -1,249 +0,0 @@
-/*
- * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it would be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Further, this software is distributed without any warranty that it is
- * free of the rightful claim of any third person regarding infringement
- * or the like. Any license provided herein, whether implied or
- * otherwise, applies only to this software file. Patent licenses, if
- * any, provided herein do not apply to combinations of this program with
- * other software, or any other product whatsoever.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write the Free Software Foundation, Inc., 59
- * Temple Place - Suite 330, Boston MA 02111-1307, USA.
- *
- * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
- * Mountain View, CA 94043, or:
- *
- * http://www.sgi.com
- *
- * For further information regarding this notice, see:
- *
- * http://oss.sgi.com/projects/GenInfo/NoticeExplan/
- *
- */
-/* $Id$ */
-/**********************************************************
- *
- * OS Test - Silicon Graphics, Inc.
- *
- * TEST IDENTIFIER : fcntl05
- *
- * EXECUTED BY : anyone
- *
- * TEST TITLE : Basic test for fcntl(2) using F_GETLK argument.
- *
- * PARENT DOCUMENT : usctpl01
- *
- * TEST CASE TOTAL : 1
- *
- * WALL CLOCK TIME : 1
- *
- * CPU TYPES : ALL
- *
- * AUTHOR : William Roske
- *
- * CO-PILOT : Dave Fenner
- *
- * DATE STARTED : 03/30/92
- *
- * INITIAL RELEASE : UNICOS 7.0
- *
- * TEST CASES
- *
- * 1.) fcntl(2) returns...(See Description)
- *
- * INPUT SPECIFICATIONS
- * The standard options for system call tests are accepted.
- * (See the parse_opts(3) man page).
- *
- * OUTPUT SPECIFICATIONS
- *
- * DURATION
- * Terminates - with frequency and infinite modes.
- *
- * SIGNALS
- * Uses SIGUSR1 to pause before test if option set.
- * (See the parse_opts(3) man page).
- *
- * RESOURCES
- * None
- *
- * ENVIRONMENTAL NEEDS
- * No run-time environmental needs.
- *
- * SPECIAL PROCEDURAL REQUIREMENTS
- * None
- *
- * INTERCASE DEPENDENCIES
- * None
- *
- * DETAILED DESCRIPTION
- * This is a Phase I test for the fcntl(2) system call. It is intended
- * to provide a limited exposure of the system call, for now. It
- * should/will be extended when full functional tests are written for
- * fcntl(2).
- *
- * Setup:
- * Setup signal handling.
- * Pause for SIGUSR1 if option specified.
- *
- * Test:
- * Loop if the proper options are given.
- * Execute system call
- * Check return code, if system call failed (return=-1)
- * Log the errno and Issue a FAIL message.
- * Otherwise, Issue a PASS message.
- *
- * Cleanup:
- * Print errno log and/or timing stats if options given
- *
- *
- *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#**/
-
-#include <sys/types.h>
-#include <sys/fcntl.h>
-#include <sys/stat.h>
-#include <errno.h>
-#include <string.h>
-#include <signal.h>
-#include "test.h"
-#include "usctest.h"
-
-extern void setup();
-extern void cleanup();
-
-
-
-const char *TCID="fcntl05"; /* Test program identifier. */
-int TST_TOTAL=1; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-
-int exp_enos[]={0, 0};
-
-char fname[255];
-int fd;
-struct flock flocks;
-
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
-
- /***************************************************************
- * parse standard options
- ***************************************************************/
- if ( (msg=parse_opts(ac, av, (option_t *) NULL, NULL)) != (char *) NULL )
- tst_brkm(TBROK, cleanup, "OPTION PARSING ERROR - %s", msg);
-
- /***************************************************************
- * perform global setup for test
- ***************************************************************/
- setup();
-
- /* set the expected errnos... */
- TEST_EXP_ENOS(exp_enos);
-
- /***************************************************************
- * check looping state if -c option given
- ***************************************************************/
- for (lc=0; TEST_LOOPING(lc); lc++) {
-
- /* reset Tst_count in case we are looping. */
- Tst_count=0;
-
- flocks.l_type = F_RDLCK;
- /*
- * Call fcntl(2) with F_GETLK argument on fname
- */
- TEST(fcntl(fd, F_GETLK, &flocks));
-
- /* check return code */
- if ( TEST_RETURN == -1 ) {
- TEST_ERROR_LOG(TEST_ERRNO);
- tst_resm(TFAIL, "fcntl(%s, F_GETLK, &flocks) Failed, errno=%d : %s", fname,
- TEST_ERRNO, strerror(TEST_ERRNO));
- } else {
-
- /***************************************************************
- * only perform functional verification if flag set (-f not given)
- ***************************************************************/
- if ( STD_FUNCTIONAL_TEST ) {
- /* No Verification test, yet... */
- tst_resm(TPASS, "fcntl(%s, F_GETLK, &flocks) returned %d", fname, TEST_RETURN);
- }
- }
-
- } /* End for TEST_LOOPING */
-
- /***************************************************************
- * cleanup and exit
- ***************************************************************/
- cleanup();
-
- return 0;
-} /* End main */
-
-/***************************************************************
- * setup() - performs all ONE TIME setup for this test.
- ***************************************************************/
-void
-setup()
-{
- /* capture signals */
- tst_sig(NOFORK, DEF_HANDLER, cleanup);
-
- /* make a temp directory and cd to it */
- tst_tmpdir();
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-
- sprintf(fname,"tfile_%d",getpid());
- if ((fd = open(fname,O_RDWR|O_CREAT,0700)) == -1) {
- tst_brkm(TBROK, cleanup,
- "open(%s, O_RDWR|O_CREAT,0700) Failed, errno=%d : %s",
- fname, errno, strerror(errno));
- }
-
- /* set needed flags in the flocks structure */
- flocks.l_whence=1;
- flocks.l_start=0;
- flocks.l_len=0;
- flocks.l_pid=getpid();
-} /* End setup() */
-
-
-/***************************************************************
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- ***************************************************************/
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /* Close the file we have open */
- if (close(fd) == -1) {
- tst_resm(TWARN, "close(%s) Failed, errno=%d : %s", fname, errno, strerror(errno));
- }
-
- /* Remove tmp dir and all files in it */
- tst_rmdir();
-
- /* exit with return code appropriate for results */
- tst_exit();
-} /* End cleanup() */
diff --git a/winsup/testsuite/winsup.api/ltp/fcntl07.c b/winsup/testsuite/winsup.api/ltp/fcntl07.c
deleted file mode 100644
index e0082df45..000000000
--- a/winsup/testsuite/winsup.api/ltp/fcntl07.c
+++ /dev/null
@@ -1,423 +0,0 @@
-/*
- * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it would be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Further, this software is distributed without any warranty that it is
- * free of the rightful claim of any third person regarding infringement
- * or the like. Any license provided herein, whether implied or
- * otherwise, applies only to this software file. Patent licenses, if
- * any, provided herein do not apply to combinations of this program with
- * other software, or any other product whatsoever.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write the Free Software Foundation, Inc., 59
- * Temple Place - Suite 330, Boston MA 02111-1307, USA.
- *
- * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
- * Mountain View, CA 94043, or:
- *
- * http://www.sgi.com
- *
- * For further information regarding this notice, see:
- *
- * http://oss.sgi.com/projects/GenInfo/NoticeExplan/
- *
- */
-/* $Id$ */
-/**********************************************************
- *
- * OS Test - Silicon Graphics, Inc.
- *
- * TEST IDENTIFIER : fcntl07
- *
- * EXECUTED BY : anyone
- *
- * TEST TITLE : Close-On-Exec functional test
- *
- * PARENT DOCUMENT : none
- *
- * TEST CASE TOTAL : 2
- *
- * WALL CLOCK TIME : 5
- *
- * CPU TYPES : ALL
- *
- * AUTHOR : Glen Overby
- *
- * CO-PILOT : William Roske
- *
- * DATE STARTED : 08/11/93
- *
- * INITIAL RELEASE : UNICOS 7.0
- *
- * TEST CASES
- *
- * 1.) test close-on-exec with a regular file
- * 2.) test close-on-exec with a system pipe
- *
- * INPUT SPECIFICATIONS
- *
- * Standard arguments accepted by parse_opts(3).
- *
- * The -t (timing) and -e options apply to the fcntl(.., F_SETFD, ..)
- * system call.
- *
- * -T fd : If this option is given, the program runs as "test_open",
- * testing <fd> to see if it is open or not and exiting
- * accordingly:
- * 0 not open (EBADF from fcntl(..., F_GETFD, ...))
- * 3 no error from fcntl
- * errno fcntl returned an error other than EBADF
- *
- * -F name : File to open. Must be an absolute path
- * and the file must be writable;
- * -n program: path to the 'test_open' program
- *
- * OUTPUT SPECIFICATIONS
- * This test uses the cuts-style test_res format output consisting of:
- *
- * test-name PASS/FAIL/BROK message
- *
- * the message will tell what type of test and, if it failed, indicate
- * what the failure was.
- *
- * DURATION
- * Terminates
- *
- * SIGNALS
- * None
- *
- * RESOURCES
- * None
- *
- * ENVIRONMENTAL NEEDS
- * No run-time environmental needs.
- *
- * If this test is not called with a full pathname, it must be able
- * to find itself on $PATH
- *
- * INTERCASE DEPENDENCIES
- * none
- *
- * DETAILED DESCRIPTION
- *
- * Setup:
- * Setup signal handling.
- * Create and make current a temporary directory.
- * Open a regular file for writing
- * Create a system pipe
- * Create a named pipe and open it for writing
- *
- * Test:
- * Set the file descriptor for close-on-exec
- * Fork
- * Child execlp's the program "test_open".
- * If the exec fails, exit "2"
- * Parent waits
- * Report results.
- *
- * Cleanup:
- * Close file and pipes
- * Remove the temporary directory
- *
- * BUGS
- *
- *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#**/
-
-#include <errno.h>
-#include <signal.h>
-#include <sys/types.h>
-#include <fcntl.h>
-#include <sys/wait.h>
-#include <limits.h>
-
-#include "test.h"
-#include "usctest.h"
-#include "search_path.h"
-
-void setup();
-void cleanup(void) __attribute__((noreturn));
-void help();
-
-const char *TCID="fcntl07"; /* Test program identifier. */
-int TST_TOTAL=2; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-
-
-
-/* for parse_opts */
-int fflag, Tflag; /* binary flags: opt or not */
-char *fopt, *Topt; /* option arguments */
-
-option_t options[] = {
- { "F:", &fflag, &fopt }, /* -F filename */
- { "T:", &Tflag, &Topt }, /* -T <fd> exec'ed by test: test FD */
- { NULL, NULL, NULL }
-};
-
-int stat_loc; /* for waitpid() */
-
-int file_fd, pipe_fds[2];
- /* file descriptors for a file and a system pipe */
-#define DEFAULT_FILE "DefaultFileName"
-const char *File1 = DEFAULT_FILE;
-
-#define DEFAULT_SUBPROG "test_open"
-const char *openck = DEFAULT_SUBPROG; /* support program name to check for open FD */
-char subprog_path[_POSIX_PATH_MAX]; /* path to exec "openck" with */
-#define STRSIZE 255
-
-int *testfds[] = {
- &file_fd, &pipe_fds[1], 0
- };
-
-const char *testfdtypes[] = {
- "regular file",
- "write side of system pipe",
- };
-
-int test_open(const char *arg);
-int do_exec(const char *prog, int fd, const char *tcd);
-
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
-
- int exec_return; /* return from do_exec */
- int **tcp; /* testcase pointer (pointer to FD) */
- const char **tcd; /* testcase description pointer */
-
- /***************************************************************
- * parse standard options, and exit if there is an error
- ***************************************************************/
- if ( (msg=parse_opts(ac, av, options, &help)) != (char *) NULL ) {
- tst_brkm(TBROK, NULL, "OPTION PARSING ERROR - %s", msg);
- tst_exit();
- }
-
- if(fflag) /* -F option */
- File1 = fopt;
-
- if(Tflag) { /* -T option */
- exit(test_open(Topt));
- }
-
- /***************************************************************
- * perform global setup for test
- ***************************************************************/
- setup(av[0]);
-
- /***************************************************************
- * check looping state if -c option given
- ***************************************************************/
- for (lc=0; TEST_LOOPING(lc); lc++) {
-
- /* reset Tst_count in case we are looping. */
- Tst_count=0;
-
- for(tcp = testfds, tcd = testfdtypes; *tcp; tcp++, tcd++) {
-
- TEST(fcntl(**tcp, F_SETFD, FD_CLOEXEC));
-
- /* check return code */
- if ( TEST_RETURN == -1 ) {
- TEST_ERROR_LOG(TEST_ERRNO);
- tst_resm(TFAIL, "fcntl(%s[%d], F_SETFD, FD_CLOEXEC) Failed, errno=%d : %s",
- *tcd, **tcp, TEST_ERRNO, strerror(TEST_ERRNO));
- } else {
-
- /*************************************************************
- * only perform functional verification if flag set
- * (-f not given)
- *************************************************************/
- if ( STD_FUNCTIONAL_TEST ) {
-
- exec_return = do_exec(subprog_path, **tcp, *tcd);
-
- switch(exec_return) {
- case -1:
- tst_resm(TBROK, "fork failed. Errno %s [%d]",
- strerror(errno), errno);
- break;
- case 1:
- tst_resm(TBROK, "waitpid return was 0%o", stat_loc);
- break;
- case 2:
- tst_resm(TBROK, "exec failed"); /* errno was in child */
- break;
- case 0:
- tst_resm(TPASS, "%s child exited 0, indicating that the file was closed",
- *tcd);
- break;
- default:
- tst_resm(TFAIL, "%s child exited non-zero, %d", *tcd,
- exec_return);
- break;
- }
- }
- }
- }
- } /* End for TEST_LOOPING */
-
- /***************************************************************
- * cleanup and exit
- ***************************************************************/
- cleanup();
-
- return 0;
-} /* End main */
-
-/***************************************************************
- * setup() - performs all ONE TIME setup for this test.
- ***************************************************************/
-void
-setup(char *path)
-{
- search_path(path, subprog_path, X_OK, 1);
-
- /* capture signals */
- tst_sig(FORK, DEF_HANDLER, cleanup);
-
- /* create a temporary directory and go to it */
- tst_tmpdir();
-
- /* set up a regular file */
- if((file_fd=open(File1, O_CREAT|O_RDWR, 0666)) == -1) {
- tst_brkm(TBROK, cleanup, "Open of file %s failed errno %d (%s)\n", File1, errno, strerror(errno));
- }
-
- /* set up a system pipe (write side gets CLOSE-ON-EXEC) */
- pipe(pipe_fds);
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-} /* End setup() */
-
-
-/***************************************************************
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- ***************************************************************/
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /* close everything */
- close(file_fd);
- close(pipe_fds[0]);
- close(pipe_fds[1]);
-
- /* remove temporary directory and all files in it. */
- tst_rmdir();
-
- /* exit with return code appropriate for results */
- tst_exit();
-} /* End cleanup() */
-
-/***************************************************************************
- * issue a help message
- ***************************************************************************/
-void
-help()
-{
- printf("-T fd : If this option is given, the program runs as 'test_open'\n");
- printf(" testing <fd> to see if it is open or not and exiting accordingly\n");
- printf("-F name : File to open. Must be an absolute path,\n");
- printf(" and the file must be writable\n");
- printf("-n program: path to the 'test_open' program\n");
-}
-
-/*---------------------------------------------------------------------------*/
-/* Perform an exec, then wait for the child to terminate.
- * The child's termination status determines the success of the test
- *
- * Return codes:
- * -1 BROK fork failed
- * 1 BROK waitpid returned != exit status
- * <else> ???? exit code from child:
- * 2 BROK exec failed
- * 0 PASS fd was properly closed
- *
- */
-
-int
-do_exec(const char *prog, int fd, const char *tcd)
-{
- int pid;
- char pidname[STRSIZE];
-#ifdef DEBUG
- int rc, status; /* for the fcntl */
-#endif
-
- /* set up arguments to exec'ed child */
- sprintf(pidname, "%d", fd);
-
-#ifdef DEBUG
- rc = fcntl(fd, F_GETFD, &status);
- printf("%s: fd = %d rc = %d status= %d, errno= %d\n", tcd, fd, rc, status, errno);
-#endif
-
- switch(pid=fork()) {
- case -1:
- return(-1);
- case 0: /* child */
- execlp(prog, openck, "-T", pidname, NULL);
-
- /* the ONLY reason to do this is to get the errno printed out */
- fprintf(stderr, "exec(%s, %s, -T, %s) failed. Errno %s [%d]\n",
- prog, openck, pidname, strerror(errno), errno);
- exit(2);
- default: /* parent */
- waitpid(pid, &stat_loc, 0);
- if(WIFEXITED(stat_loc)) {
- return(WEXITSTATUS(stat_loc));
- } else {
- return(1);
- }
- }
-}
-
-/*
- * PROGRAM TITLE : Test if a named file descriptor is open
- * This function is called when fcntcs07 is called with the -T option.
- * It tests if a file descriptor is open and exits accordingly.
- */
-int
-test_open(const char *arg)
-{
- int fd, rc;
- int status;
-
- fd = atoi(arg);
-
- rc = fcntl(fd, F_GETFD, &status);
-
-#ifdef DEBUG_T
- printf("%s: fd = %d rc = %d status= %d, errno= %d\n", openck, fd, rc,
- status, errno);
-#endif
-
- if(rc == -1 && errno == EBADF) {
- exit(0);
- }
-
- if(rc != -1)
- exit(3);
-
- exit(errno);
- return -1; /* to remove compiler warning on IRIX */
-}
diff --git a/winsup/testsuite/winsup.api/ltp/fcntl07B.c b/winsup/testsuite/winsup.api/ltp/fcntl07B.c
deleted file mode 100644
index 4e94ff267..000000000
--- a/winsup/testsuite/winsup.api/ltp/fcntl07B.c
+++ /dev/null
@@ -1,422 +0,0 @@
-/*
- * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it would be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Further, this software is distributed without any warranty that it is
- * free of the rightful claim of any third person regarding infringement
- * or the like. Any license provided herein, whether implied or
- * otherwise, applies only to this software file. Patent licenses, if
- * any, provided herein do not apply to combinations of this program with
- * other software, or any other product whatsoever.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write the Free Software Foundation, Inc., 59
- * Temple Place - Suite 330, Boston MA 02111-1307, USA.
- *
- * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
- * Mountain View, CA 94043, or:
- *
- * http://www.sgi.com
- *
- * For further information regarding this notice, see:
- *
- * http://oss.sgi.com/projects/GenInfo/NoticeExplan/
- *
- */
-/* $Id$ */
-/**********************************************************
- *
- * OS Test - Silicon Graphics, Inc.
- *
- * TEST IDENTIFIER : fcntl07B
- * <same
- *
- * EXECUTED BY : anyone
- *
- * TEST TITLE : Close-On-Exec of named pipe functional test
- *
- * PARENT DOCUMENT : none
- *
- * TEST CASE TOTAL : 1
- *
- * WALL CLOCK TIME : 5
- *
- * CPU TYPES : ALL
- *
- * AUTHOR : Richard Logan :copied from fcntcs07 written by Glen Overby
- *
- * CO-PILOT : William Roske
- *
- * DATE STARTED : 08/11/93
- *
- * INITIAL RELEASE : UNICOS 7.0
- *
- * TEST CASES
- *
- * 1.) test close-on-exec with a named pipe
- *
- * INPUT SPECIFICATIONS
- *
- * Standard arguments accepted by parse_opts(3).
- *
- * The -t (timing) and -e options apply to the fcntl(.., F_SETFD, ..)
- * system call.
- *
- * -T fd : If this option is given, the program runs as "test_open",
- * testing <fd> to see if it is open or not and exiting
- * accordingly:
- * 0 not open (EBADF from fcntl(..., F_GETFD, ...))
- * 3 no error from fcntl
- * errno fcntl returned an error other than EBADF
- *
- * -F name : File to open. Must be an absolute path
- * and the file must be writable;
- * -n program: path to the 'test_open' program
- *
- * OUTPUT SPECIFICATIONS
- * This test uses the cuts-style test_res format output consisting of:
- *
- * test-name PASS/FAIL/BROK message
- *
- * the message will tell what type of test and, if it failed, indicate
- * what the failure was.
- *
- * DURATION
- * Terminates
- *
- * SIGNALS
- * None
- *
- * RESOURCES
- * None
- *
- * ENVIRONMENTAL NEEDS
- * No run-time environmental needs.
- *
- * If this test is not called with a full pathname, it must be able
- * to find itself on $PATH
- *
- * INTERCASE DEPENDENCIES
- * none
- *
- * DETAILED DESCRIPTION
- *
- * Setup:
- * Setup signal handling.
- * Create and make current a temporary directory.
- * Create a named pipe and open it for writing
- *
- * Test:
- * Set the file descriptor for close-on-exec
- * Fork
- * Child execlp's the program "test_open".
- * If the exec fails, exit "2"
- * Parent waits
- * Report results.
- *
- * Cleanup:
- * Close file and pipes
- * Remove the temporary directory
- *
- * BUGS
- *
- *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#**/
-
-#include <errno.h>
-#include <string.h>
-#include <signal.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <fcntl.h>
-#include <sys/wait.h>
-#include <limits.h>
-
-#include "test.h"
-#include "usctest.h"
-#include "search_path.h"
-
-void setup();
-void cleanup(void) __attribute__((noreturn));
-void help();
-
-const char *TCID="fcntl07B"; /* Test program identifier. */
-int TST_TOTAL=1; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-
-
-/* for parse_opts */
-int fflag, Tflag; /* binary flags: opt or not */
-char *fopt, *Topt; /* option arguments */
-
-option_t options[] = {
- { "F:", &fflag, &fopt }, /* -F filename */
- { "T:", &Tflag, &Topt }, /* -T <fd> exec'ed by test: test FD */
- { NULL, NULL, NULL }
-};
-
-int stat_loc; /* for waitpid() */
-
-int npipe_fd;
- /* file descriptors for a named pipe */
-#define DEFAULT_FILE "DefaultFileName"
-const char *File1 = DEFAULT_FILE;
-
-#define DEFAULT_SUBPROG "test_open"
-const char *openck = DEFAULT_SUBPROG; /* support program name to check for open FD */
-const char subprog_path[_POSIX_PATH_MAX];/* path to exec "openck" with */
-#define STRSIZE 255
-#define FIFONAME "FiFo"
-
-int *testfds[] = {
- &npipe_fd, 0
- };
-
-const char *testfdtypes[] = {
- "named pipe"
- };
-
-int test_open(char *arg);
-int do_exec(const char *prog, int fd, const char *tcd);
-
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
-
- int exec_return; /* return from do_exec */
- int **tcp; /* testcase pointer (pointer to FD) */
- const char **tcd; /* testcase description pointer */
-
- /***************************************************************
- * parse standard options, and exit if there is an error
- ***************************************************************/
- if ( (msg=parse_opts(ac, av, options, &help)) != (char *) NULL ) {
- tst_brkm(TBROK, NULL, "OPTION PARSING ERROR - %s", msg);
- tst_exit();
- }
-
- if(fflag) /* -F option */
- File1 = fopt;
-
- if(Tflag) { /* -T option */
- exit(test_open(Topt));
- }
-
- /***************************************************************
- * perform global setup for test
- ***************************************************************/
- setup(av[0]);
-
- /***************************************************************
- * check looping state if -c option given
- ***************************************************************/
- for (lc=0; TEST_LOOPING(lc); lc++) {
-
- /* reset Tst_count in case we are looping. */
- Tst_count=0;
-
- for(tcp = testfds, tcd = testfdtypes; *tcp; tcp++, tcd++) {
-
- TEST(fcntl(**tcp, F_SETFD, FD_CLOEXEC));
-
- /* check return code */
- if ( TEST_RETURN == -1 ) {
- TEST_ERROR_LOG(TEST_ERRNO);
- tst_resm(TFAIL, "fcntl(%s[%d], F_SETFD, FD_CLOEXEC) Failed, errno=%d : %s",
- *tcd, **tcp, TEST_ERRNO, strerror(TEST_ERRNO));
- } else {
-
- /*************************************************************
- * only perform functional verification if flag set
- * (-f not given)
- *************************************************************/
- if ( STD_FUNCTIONAL_TEST ) {
-
- exec_return = do_exec(subprog_path, **tcp, *tcd);
-
- switch(exec_return) {
- case -1:
- tst_resm(TBROK, "fork failed. Errno %s [%d]",
- strerror(errno), errno);
- break;
- case 1:
- tst_resm(TBROK, "waitpid return was 0%o", stat_loc);
- break;
- case 2:
- tst_resm(TBROK, "exec failed"); /* errno was in child */
- break;
- case 0:
- tst_resm(TPASS, "%s child exited 0, indicating that the file was closed",
- *tcd);
- break;
- default:
- tst_resm(TFAIL, "%s child exited non-zero, %d", *tcd,
- exec_return);
- break;
- }
- }
- }
- }
- } /* End for TEST_LOOPING */
-
- /***************************************************************
- * cleanup and exit
- ***************************************************************/
- cleanup();
-
- return 0;
-} /* End main */
-
-/***************************************************************
- * setup() - performs all ONE TIME setup for this test.
- ***************************************************************/
-void
-setup(char *path)
-{
- search_path(path, subprog_path, X_OK, 1);
-
- /* capture signals */
- tst_sig(FORK, DEF_HANDLER, cleanup);
-
- /* create a temporary directory and go to it */
- tst_tmpdir();
-
- /* set up a named pipe (write side gets CLOSE-ON-EXEC) */
- if(mkfifo(FIFONAME, 0666) == -1) {
- tst_brkm(TBROK, cleanup, "mkfifo of named pipe %s failed errno %d (%s)\n", FIFONAME, errno, strerror(errno));
- }
-
- if((npipe_fd=open(FIFONAME, O_RDWR, 0666)) == -1) {
- tst_brkm(TBROK, cleanup, "Open of named pipe %s failed errno %d (%s)\n", File1, errno, strerror(errno));
- }
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-} /* End setup() */
-
-
-/***************************************************************
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- ***************************************************************/
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /* close everything */
- close(npipe_fd);
-
- /* remove temporary directory and all files in it. */
- tst_rmdir();
-
- /* exit with return code appropriate for results */
- tst_exit();
-} /* End cleanup() */
-
-/***************************************************************************
- * issue a help message
- ***************************************************************************/
-void
-help()
-{
- printf("-T fd : If this option is given, the program runs as 'test_open'\n");
- printf(" testing <fd> to see if it is open or not and exiting accordingly\n");
- printf("-F name : File to open. Must be an absolute path,\n");
- printf(" and the file must be writable\n");
- printf("-n program: path to the 'test_open' program\n");
-
-}
-
-/*---------------------------------------------------------------------------*/
-/* Perform an exec, then wait for the child to terminate.
- * The child's termination status determines the success of the test
- *
- * Return codes:
- * -1 BROK fork failed
- * 1 BROK waitpid returned != exit status
- * <else> ???? exit code from child:
- * 2 BROK exec failed
- * 0 PASS fd was properly closed
- *
- */
-
-int
-do_exec(const char *prog, int fd, const char *tcd)
-{
- int pid;
- char pidname[STRSIZE];
-#ifdef DEBUG
- int rc, status; /* for the fcntl */
-#endif
-
- /* set up arguments to exec'ed child */
- sprintf(pidname, "%d", fd);
-
-#ifdef DEBUG
- rc = fcntl(fd, F_GETFD, &status);
- printf("%s: fd = %d rc = %d status= %d, errno= %d\n", tcd, fd, rc, status, errno);
-#endif
-
- switch(pid=fork()) {
- case -1:
- return(-1);
- case 0: /* child */
- execlp(prog, openck, "-T", pidname, NULL);
-
- /* the ONLY reason to do this is to get the errno printed out */
- fprintf(stderr, "exec(%s, %s, -T, %s) failed. Errno %s [%d]\n",
- prog, openck, pidname, strerror(errno), errno);
- exit(2);
- default: /* parent */
- waitpid(pid, &stat_loc, 0);
- if(WIFEXITED(stat_loc)) {
- return(WEXITSTATUS(stat_loc));
- } else {
- return(1);
- }
- }
-}
-
-/*
- * PROGRAM TITLE : Test if a named file descriptor is open
- * This function is called when fcntcs07 is called with the -T option.
- * It tests if a file descriptor is open and exits accordingly.
- */
-int
-test_open(char *arg)
-{
- int fd, rc;
- int status;
-
- fd = atoi(arg);
-
- rc = fcntl(fd, F_GETFD, &status);
-
-#ifdef DEBUG_T
- printf("%s: fd = %d rc = %d status= %d, errno= %d\n", openck, fd, rc,
- status, errno);
-#endif
-
- if(rc == -1 && errno == EBADF) {
- exit(0);
- }
-
- if(rc != -1)
- exit(3);
-
- exit(errno);
- return -1; /* To remove compiler warning on IRIX */
-}
diff --git a/winsup/testsuite/winsup.api/ltp/fcntl08.c b/winsup/testsuite/winsup.api/ltp/fcntl08.c
deleted file mode 100644
index eaf22436b..000000000
--- a/winsup/testsuite/winsup.api/ltp/fcntl08.c
+++ /dev/null
@@ -1,250 +0,0 @@
-/*
- * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it would be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Further, this software is distributed without any warranty that it is
- * free of the rightful claim of any third person regarding infringement
- * or the like. Any license provided herein, whether implied or
- * otherwise, applies only to this software file. Patent licenses, if
- * any, provided herein do not apply to combinations of this program with
- * other software, or any other product whatsoever.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write the Free Software Foundation, Inc., 59
- * Temple Place - Suite 330, Boston MA 02111-1307, USA.
- *
- * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
- * Mountain View, CA 94043, or:
- *
- * http://www.sgi.com
- *
- * For further information regarding this notice, see:
- *
- * http://oss.sgi.com/projects/GenInfo/NoticeExplan/
- *
- */
-/* $Id$ */
-/**********************************************************
- *
- * OS Test - Silicon Graphics, Inc.
- *
- * TEST IDENTIFIER : fcntl08
- *
- * EXECUTED BY : anyone
- *
- * TEST TITLE : Basic test for fcntl(2) using F_SETFL argument.
- *
- * PARENT DOCUMENT : usctpl01
- *
- * TEST CASE TOTAL : 1
- *
- * WALL CLOCK TIME : 1
- *
- * CPU TYPES : ALL
- *
- * AUTHOR : William Roske
- *
- * CO-PILOT : Dave Fenner
- *
- * DATE STARTED : 03/30/92
- *
- * INITIAL RELEASE : UNICOS 7.0
- *
- * TEST CASES
- *
- * 1.) fcntl(2) returns...(See Description)
- *
- * INPUT SPECIFICATIONS
- * The standard options for system call tests are accepted.
- * (See the parse_opts(3) man page).
- *
- * OUTPUT SPECIFICATIONS
- *
- * DURATION
- * Terminates - with frequency and infinite modes.
- *
- * SIGNALS
- * Uses SIGUSR1 to pause before test if option set.
- * (See the parse_opts(3) man page).
- *
- * RESOURCES
- * None
- *
- * ENVIRONMENTAL NEEDS
- * No run-time environmental needs.
- *
- * SPECIAL PROCEDURAL REQUIREMENTS
- * None
- *
- * INTERCASE DEPENDENCIES
- * None
- *
- * DETAILED DESCRIPTION
- * This is a Phase I test for the fcntl(2) system call. It is intended
- * to provide a limited exposure of the system call, for now. It
- * should/will be extended when full functional tests are written for
- * fcntl(2).
- *
- * Setup:
- * Setup signal handling.
- * Pause for SIGUSR1 if option specified.
- *
- * Test:
- * Loop if the proper options are given.
- * Execute system call
- * Check return code, if system call failed (return=-1)
- * Log the errno and Issue a FAIL message.
- * Otherwise, Issue a PASS message.
- *
- * Cleanup:
- * close file
- * remove temp directory
- *
- *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#**/
-
-#include <sys/types.h>
-#include <sys/fcntl.h>
-#include <sys/stat.h>
-#include <errno.h>
-#include <string.h>
-#include <signal.h>
-#include "test.h"
-#include "usctest.h"
-
-void setup();
-void cleanup(void) __attribute__((noreturn));
-
-#ifndef O_NDELAY
-#define O_NDELAY 0
-#endif
-
-const char *TCID="fcntl08"; /* Test program identifier. */
-int TST_TOTAL=1; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-
-char fname[255];
-int arg, fd;
-
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
-
- /***************************************************************
- * parse standard options
- ***************************************************************/
- if ( (msg=parse_opts(ac, av, (option_t *) NULL, NULL)) != (char *) NULL ) {
- tst_brkm(TBROK, NULL, "OPTION PARSING ERROR - %s", msg);
- tst_exit();
- }
-
- /***************************************************************
- * perform global setup for test
- ***************************************************************/
- setup();
-
- /***************************************************************
- * check looping state if -c option given
- ***************************************************************/
- for (lc=0; TEST_LOOPING(lc); lc++) {
-
- /* reset Tst_count in case we are looping. */
- Tst_count=0;
-
- /*
- * Call fcntl(2) with F_SETFL argument on fname
- */
- TEST(fcntl(fd, F_SETFL, arg));
-
- /* check return code */
- if ( TEST_RETURN == -1 ) {
- tst_resm(TFAIL, "fcntl(%s, F_SETFL, %d) Failed, errno=%d : %s",
- fname, arg, TEST_ERRNO, strerror(TEST_ERRNO));
- } else {
-
- /***************************************************************
- * only perform functional verification if flag set (-f not given)
- ***************************************************************/
- if ( STD_FUNCTIONAL_TEST ) {
- /* No Verification test, yet... */
- tst_resm(TPASS, "fcntl(%s, F_SETFL, %d) returned %d",
- fname, arg, TEST_RETURN);
- }
- }
-
- } /* End for TEST_LOOPING */
-
- /***************************************************************
- * cleanup and exit
- ***************************************************************/
- cleanup();
-
- return 0;
-} /* End main */
-
-/***************************************************************
- * setup() - performs all ONE TIME setup for this test.
- ***************************************************************/
-void
-setup()
-{
- /* capture signals */
- tst_sig(NOFORK, DEF_HANDLER, cleanup);
-
- /* make a temp directory and cd to it */
- tst_tmpdir();
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-
- sprintf(fname,"tfile_%d",getpid());
- if ((fd = open(fname,O_RDWR|O_CREAT,0700)) == -1) {
- tst_brkm(TBROK, cleanup,
- "open(%s, O_RDWR|O_CREAT,0700) Failed, errno=%d : %s",
- fname, errno, strerror(errno));
- }
-
- /* set the flags to be used */
-#ifdef CRAY
- arg = (O_NDELAY | O_APPEND | O_RAW | O_NONBLOCK);
-#else
- arg = (O_NDELAY | O_APPEND | O_NONBLOCK);
-#endif /* ! CRAY */
-
-} /* End setup() */
-
-
-/***************************************************************
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- ***************************************************************/
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /* close the file we have open */
- if (close(fd) == -1) {
- tst_resm(TWARN, "close(%s) Failed, errno=%d : %s",
- fname, errno, strerror(errno));
- }
-
- /* Remove tmp dir and all files in it */
- tst_rmdir();
-
- /* exit with return code appropriate for results */
- tst_exit();
-
-} /* End cleanup() */
diff --git a/winsup/testsuite/winsup.api/ltp/fcntl09.c b/winsup/testsuite/winsup.api/ltp/fcntl09.c
deleted file mode 100644
index 3a827e149..000000000
--- a/winsup/testsuite/winsup.api/ltp/fcntl09.c
+++ /dev/null
@@ -1,278 +0,0 @@
-/*
- * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it would be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Further, this software is distributed without any warranty that it is
- * free of the rightful claim of any third person regarding infringement
- * or the like. Any license provided herein, whether implied or
- * otherwise, applies only to this software file. Patent licenses, if
- * any, provided herein do not apply to combinations of this program with
- * other software, or any other product whatsoever.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write the Free Software Foundation, Inc., 59
- * Temple Place - Suite 330, Boston MA 02111-1307, USA.
- *
- * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
- * Mountain View, CA 94043, or:
- *
- * http://www.sgi.com
- *
- * For further information regarding this notice, see:
- *
- * http://oss.sgi.com/projects/GenInfo/NoticeExplan/
- *
- */
-/* $Id$ */
-/**********************************************************
- *
- * OS Test - Silicon Graphics, Inc.
- *
- * TEST IDENTIFIER : fcntl09
- *
- * EXECUTED BY : anyone
- *
- * TEST TITLE : Basic test for fcntl(2) using F_SETLK argument.
- *
- * PARENT DOCUMENT : usctpl01
- *
- * TEST CASE TOTAL : 2
- *
- * WALL CLOCK TIME : 1
- *
- * CPU TYPES : ALL
- *
- * AUTHOR : William Roske
- *
- * CO-PILOT : Dave Fenner
- *
- * DATE STARTED : 03/30/92
- *
- * INITIAL RELEASE : UNICOS 7.0
- *
- * TEST CASES
- *
- * 1.) fcntl(2) returns...(See Description)
- *
- * INPUT SPECIFICATIONS
- * The standard options for system call tests are accepted.
- * (See the parse_opts(3) man page).
- *
- * OUTPUT SPECIFICATIONS
- *
- * DURATION
- * Terminates - with frequency and infinite modes.
- *
- * SIGNALS
- * Uses SIGUSR1 to pause before test if option set.
- * (See the parse_opts(3) man page).
- *
- * RESOURCES
- * None
- *
- * ENVIRONMENTAL NEEDS
- * No run-time environmental needs.
- *
- * SPECIAL PROCEDURAL REQUIREMENTS
- * None
- *
- * INTERCASE DEPENDENCIES
- * None
- *
- * DETAILED DESCRIPTION
- * This is a Phase I test for the fcntl(2) system call. It is intended
- * to provide a limited exposure of the system call, for now. It
- * should/will be extended when full functional tests are written for
- * fcntl(2).
- *
- * Setup:
- * Setup signal handling.
- * Pause for SIGUSR1 if option specified.
- *
- * Test:
- * Loop if the proper options are given.
- * Execute system call
- * Check return code, if system call failed (return=-1)
- * Log the errno and Issue a FAIL message.
- * Otherwise, Issue a PASS message.
- *
- * Cleanup:
- * Print errno log and/or timing stats if options given
- *
- *
- *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#**/
-
-#include <sys/types.h>
-#include <sys/fcntl.h>
-#include <sys/stat.h>
-#include <errno.h>
-#include <string.h>
-#include <signal.h>
-#include "test.h"
-#include "usctest.h"
-
-extern void setup();
-extern void cleanup();
-
-
-
-const char *TCID="fcntl09"; /* Test program identifier. */
-int TST_TOTAL=2; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-
-int exp_enos[]={0, 0};
-
-char fname[255];
-int fd;
-struct flock flocks;
-
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
-
- /***************************************************************
- * parse standard options
- ***************************************************************/
- if ( (msg=parse_opts(ac, av, (option_t *) NULL, NULL)) != (char *) NULL )
- tst_brkm(TBROK, cleanup, "OPTION PARSING ERROR - %s", msg);
-
- /***************************************************************
- * perform global setup for test
- ***************************************************************/
- setup();
-
- /* set the expected errnos... */
- TEST_EXP_ENOS(exp_enos);
-
- /***************************************************************
- * check looping state if -c option given
- ***************************************************************/
- for (lc=0; TEST_LOOPING(lc); lc++) {
-
- /* reset Tst_count in case we are looping. */
- Tst_count=0;
-
-#if 0
- /* Ouch! Either read *or* write lock, but not both!
- This code depends on F_RDLCK being 0. */
- flocks.l_type = F_RDLCK | F_WRLCK;
-#else
- flocks.l_type = F_WRLCK;
-#endif
- /*
- * Call fcntl(2) with F_SETLK argument on fname
- */
- TEST(fcntl(fd, F_SETLK, &flocks));
-
- /* check return code */
- if ( TEST_RETURN == -1 ) {
- TEST_ERROR_LOG(TEST_ERRNO);
- tst_resm(TFAIL,
- "fcntl(%s, F_SETLK, &flocks) flocks.l_type = F_RDLCK | F_WRLCK Failed, errno=%d : %s",
- fname, TEST_ERRNO, strerror(TEST_ERRNO));
- } else {
-
- /***************************************************************
- * only perform functional verification if flag set (-f not given)
- ***************************************************************/
- if ( STD_FUNCTIONAL_TEST ) {
- /* No Verification test, yet... */
- tst_resm(TPASS,
- "fcntl(%s, F_SETLK, &flocks) flocks.l_type = F_RDLCK | F_WRLCK returned %d",
- fname, TEST_RETURN);
- }
- }
-
- flocks.l_type = F_UNLCK;
- /*
- * Call fcntl(2) with F_SETLK argument on fname
- */
- TEST(fcntl(fd, F_SETLK, &flocks));
-
- /* check return code */
- if ( TEST_RETURN == -1 ) {
- TEST_ERROR_LOG(TEST_ERRNO);
- tst_resm(TFAIL,
- "fcntl(%s, F_SETLK, &flocks) flocks.l_type = F_UNLCK Failed, errno=%d : %s",
- fname, TEST_ERRNO, strerror(TEST_ERRNO));
- } else {
-
- /***************************************************************
- * only perform functional verification if flag set (-f not given)
- ***************************************************************/
- if ( STD_FUNCTIONAL_TEST ) {
- /* No Verification test, yet... */
- tst_resm(TPASS,
- "fcntl(%s, F_SETLK, &flocks) flocks.l_type = F_UNLCK returned %d",
- fname, TEST_RETURN);
- }
- }
-
- } /* End for TEST_LOOPING */
-
- /***************************************************************
- * cleanup and exit
- ***************************************************************/
- cleanup();
-
- return 0;
-} /* End main */
-
-/***************************************************************
- * setup() - performs all ONE TIME setup for this test.
- ***************************************************************/
-void
-setup()
-{
- /* capture signals */
- tst_sig(NOFORK, DEF_HANDLER, cleanup);
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-
- sprintf(fname,"./file_%d",getpid());
- if (creat(fname, 02644) == -1) {
- tst_brkm(TBROK, cleanup, "creat(%s, 02644) Failed, errno=%d : %s", fname, errno, strerror(errno));
- } else if (close(fd) == -1) {
- tst_brkm(TBROK, cleanup, "close(%s) Failed, errno=%d : %s", fname, errno, strerror(errno));
- } else if ((fd = open(fname,O_RDWR,0700)) == -1) {
- tst_brkm(TBROK, cleanup, "open(%s, O_RDWR,0700) Failed, errno=%d : %s", fname, errno, strerror(errno));
- }
- flocks.l_whence=1;
- flocks.l_start=0;
- flocks.l_len=0;
- flocks.l_pid=getpid();
-} /* End setup() */
-
-
-/***************************************************************
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- ***************************************************************/
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- if (close(fd) == -1) {
- tst_resm(TWARN, "close(%s) Failed, errno=%d : %s", fname, errno, strerror(errno));
- } else if (unlink(fname) == -1) {
- tst_resm(TWARN, "unlink(%s) Failed, errno=%d : %s", fname, errno, strerror(errno));
-
- }
- /* exit with return code appropriate for results */
- tst_exit();
-} /* End cleanup() */
diff --git a/winsup/testsuite/winsup.api/ltp/fcntl10.c b/winsup/testsuite/winsup.api/ltp/fcntl10.c
deleted file mode 100644
index e2de44bef..000000000
--- a/winsup/testsuite/winsup.api/ltp/fcntl10.c
+++ /dev/null
@@ -1,284 +0,0 @@
-/*
- * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it would be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Further, this software is distributed without any warranty that it is
- * free of the rightful claim of any third person regarding infringement
- * or the like. Any license provided herein, whether implied or
- * otherwise, applies only to this software file. Patent licenses, if
- * any, provided herein do not apply to combinations of this program with
- * other software, or any other product whatsoever.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write the Free Software Foundation, Inc., 59
- * Temple Place - Suite 330, Boston MA 02111-1307, USA.
- *
- * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
- * Mountain View, CA 94043, or:
- *
- * http://www.sgi.com
- *
- * For further information regarding this notice, see:
- *
- * http://oss.sgi.com/projects/GenInfo/NoticeExplan/
- *
- */
-/* $Id$ */
-/**********************************************************
- *
- * OS Test - Silicon Graphics, Inc.
- *
- * TEST IDENTIFIER : fcntl10
- *
- * EXECUTED BY : anyone
- *
- * TEST TITLE : Basic test for fcntl(2) using F_SETLKW argument.
- *
- * PARENT DOCUMENT : usctpl01
- *
- * TEST CASE TOTAL : 2
- *
- * WALL CLOCK TIME : 1
- *
- * CPU TYPES : ALL
- *
- * AUTHOR : William Roske
- *
- * CO-PILOT : Dave Fenner
- *
- * DATE STARTED : 03/30/92
- *
- * INITIAL RELEASE : UNICOS 7.0
- *
- * TEST CASES
- *
- * 1.) fcntl(2) returns...(See Description)
- *
- * INPUT SPECIFICATIONS
- * The standard options for system call tests are accepted.
- * (See the parse_opts(3) man page).
- *
- * OUTPUT SPECIFICATIONS
- *
- * DURATION
- * Terminates - with frequency and infinite modes.
- *
- * SIGNALS
- * Uses SIGUSR1 to pause before test if option set.
- * (See the parse_opts(3) man page).
- *
- * RESOURCES
- * None
- *
- * ENVIRONMENTAL NEEDS
- * No run-time environmental needs.
- *
- * SPECIAL PROCEDURAL REQUIREMENTS
- * None
- *
- * INTERCASE DEPENDENCIES
- * None
- *
- * DETAILED DESCRIPTION
- * This is a Phase I test for the fcntl(2) system call. It is intended
- * to provide a limited exposure of the system call, for now. It
- * should/will be extended when full functional tests are written for
- * fcntl(2).
- *
- * Setup:
- * Setup signal handling.
- * Pause for SIGUSR1 if option specified.
- *
- * Test:
- * Loop if the proper options are given.
- * Execute system call
- * Check return code, if system call failed (return=-1)
- * Log the errno and Issue a FAIL message.
- * Otherwise, Issue a PASS message.
- *
- * Cleanup:
- * Print errno log and/or timing stats if options given
- *
- *
- *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#**/
-
-#include <sys/types.h>
-#include <sys/fcntl.h>
-#include <sys/stat.h>
-#include <errno.h>
-#include <string.h>
-#include <signal.h>
-#include "test.h"
-#include "usctest.h"
-
-extern void setup();
-extern void cleanup();
-
-
-
-const char *TCID="fcntl10"; /* Test program identifier. */
-int TST_TOTAL=2; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-
-int exp_enos[]={0, 0};
-
-char fname[255];
-int fd;
-struct flock flocks;
-
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
-
- /***************************************************************
- * parse standard options
- ***************************************************************/
- if ( (msg=parse_opts(ac, av, (option_t *) NULL, NULL)) != (char *) NULL )
- tst_brkm(TBROK, cleanup, "OPTION PARSING ERROR - %s", msg);
-
- /***************************************************************
- * perform global setup for test
- ***************************************************************/
- setup();
-
- /* set the expected errnos... */
- TEST_EXP_ENOS(exp_enos);
-
- /***************************************************************
- * check looping state if -c option given
- ***************************************************************/
- for (lc=0; TEST_LOOPING(lc); lc++) {
-
- /* reset Tst_count in case we are looping. */
- Tst_count=0;
-
-#if 0
- /* Ouch! Either read *or* write lock, but not both!
- This code depends on F_RDLCK being 0. */
- flocks.l_type = F_RDLCK | F_WRLCK;
-#else
- flocks.l_type = F_WRLCK;
-#endif
- /*
- * Call fcntl(2) with F_SETLKW flocks.l_type = F_UNLCK argument on fname
- */
- TEST(fcntl(fd, F_SETLKW, &flocks));
-
- /* check return code */
- if ( TEST_RETURN == -1 ) {
- TEST_ERROR_LOG(TEST_ERRNO);
- tst_resm(TFAIL,
- "fcntl(%s, F_SETLKW, &flocks) flocks.l_type = F_RDLCK | F_WRLCK Failed, errno=%d : %s",
- fname, TEST_ERRNO, strerror(TEST_ERRNO));
- } else {
-
- /***************************************************************
- * only perform functional verification if flag set (-f not given)
- ***************************************************************/
- if ( STD_FUNCTIONAL_TEST ) {
- /* No Verification test, yet... */
- tst_resm(TPASS,
- "fcntl(%s, F_SETLKW, &flocks) flocks.l_type = F_RDLCK | F_WRLCK returned %d",
- fname, TEST_RETURN);
- }
- }
-
- flocks.l_type = F_UNLCK;
- /*
- * Call fcntl(2) with F_SETLKW flocks.l_type = F_UNLCK argument on fname
- */
- TEST(fcntl(fd, F_SETLKW, &flocks));
-
- /* check return code */
- if ( TEST_RETURN == -1 ) {
- TEST_ERROR_LOG(TEST_ERRNO);
- tst_resm(TFAIL,
- "fcntl(%s, F_SETLKW, &flocks) flocks.l_type = F_UNLCK Failed, errno=%d : %s",
- fname, TEST_ERRNO, strerror(TEST_ERRNO));
- } else {
-
- /***************************************************************
- * only perform functional verification if flag set (-f not given)
- ***************************************************************/
- if ( STD_FUNCTIONAL_TEST ) {
- /* No Verification test, yet... */
- tst_resm(TPASS,
- "fcntl(%s, F_SETLKW, &flocks) flocks.l_type = F_UNLCK returned %d",
- fname, TEST_RETURN);
- }
- }
-
- } /* End for TEST_LOOPING */
-
- /***************************************************************
- * cleanup and exit
- ***************************************************************/
- cleanup();
-
- return 0;
-} /* End main */
-
-/***************************************************************
- * setup() - performs all ONE TIME setup for this test.
- ***************************************************************/
-void
-setup()
-{
- /* capture signals */
- tst_sig(NOFORK, DEF_HANDLER, cleanup);
-
- /* make a temp directory and cd to it */
- tst_tmpdir();
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-
- sprintf(fname,"tfile_%d",getpid());
- if ((fd = creat(fname, 02644)) == -1) {
- tst_brkm(TBROK, cleanup, "creat(%s, 02644) Failed, errno=%d : %s", fname, errno, strerror(errno));
- } else if (close(fd) == -1) {
- tst_brkm(TBROK, cleanup, "close(%s) Failed, errno=%d : %s", fname, errno, strerror(errno));
- } else if ((fd = open(fname,O_RDWR,0700)) == -1) {
- tst_brkm(TBROK, cleanup, "open(%s, O_RDWR,0700) Failed, errno=%d : %s", fname, errno, strerror(errno));
- }
-
- /* set needed fields in the flocks structure */
- flocks.l_whence=1;
- flocks.l_start=0;
- flocks.l_len=0;
- flocks.l_pid=getpid();
-} /* End setup() */
-
-
-/***************************************************************
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- ***************************************************************/
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- if (close(fd) == -1) {
- tst_resm(TWARN, "close(%s) Failed, errno=%d : %s", fname, errno, strerror(errno));
- }
-
- /* Remove tmp dir and all files in it */
- tst_rmdir();
-
- /* exit with return code appropriate for results */
- tst_exit();
-} /* End cleanup() */
diff --git a/winsup/testsuite/winsup.api/ltp/fork01.c b/winsup/testsuite/winsup.api/ltp/fork01.c
deleted file mode 100644
index 2aac2d427..000000000
--- a/winsup/testsuite/winsup.api/ltp/fork01.c
+++ /dev/null
@@ -1,316 +0,0 @@
-/*
- * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it would be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Further, this software is distributed without any warranty that it is
- * free of the rightful claim of any third person regarding infringement
- * or the like. Any license provided herein, whether implied or
- * otherwise, applies only to this software file. Patent licenses, if
- * any, provided herein do not apply to combinations of this program with
- * other software, or any other product whatsoever.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write the Free Software Foundation, Inc., 59
- * Temple Place - Suite 330, Boston MA 02111-1307, USA.
- *
- * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
- * Mountain View, CA 94043, or:
- *
- * http://www.sgi.com
- *
- * For further information regarding this notice, see:
- *
- * http://oss.sgi.com/projects/GenInfo/NoticeExplan/
- *
- */
-/* $Id$ */
-/**********************************************************
- *
- * OS Test - Silicon Graphics, Inc.
- *
- * TEST IDENTIFIER : fork01
- *
- * EXECUTED BY : anyone
- *
- * TEST TITLE : Basic test for fork(2)
- *
- * PARENT DOCUMENT : frktds02
- *
- * TEST CASE TOTAL : 2
- *
- * WALL CLOCK TIME : 1
- *
- * CPU TYPES : ALL
- *
- * AUTHOR : Kathy Olmsted
- *
- * CO-PILOT : Steve Shaw
- *
- * DATE STARTED : 06/17/92
- *
- * INITIAL RELEASE : UNICOS 7.0
- *
- * TEST CASES
- *
- * 1.) fork returns without error
- * 2.) fork returns the pid of the child
- *
- * INPUT SPECIFICATIONS
- * The standard options for system call tests are accepted.
- * (See the parse_opts(3) man page).
- *
- * OUTPUT SPECIFICATIONS
- *
- * DURATION
- * Terminates - with frequency and infinite modes.
- *
- * SIGNALS
- * Uses SIGUSR1 to pause before test if option set.
- * (See the parse_opts(3) man page).
- *
- * RESOURCES
- * None
- *
- * ENVIRONMENTAL NEEDS
- * No run-time environmental needs.
- *
- * SPECIAL PROCEDURAL REQUIREMENTS
- * None
- *
- * INTERCASE DEPENDENCIES
- * None
- *
- * DETAILED DESCRIPTION
- *
- * Setup:
- * Setup signal handling.
- * Pause for SIGUSR1 if option specified.
- *
- * Test:
- * Loop if the proper options are given.
- * fork()
- * Check return code, if system call failed (return=-1)
- * Log the errno and Issue a FAIL message.
- * Otherwise, Issue a PASS message.
- * CHILD:
- * determine PID
- * write to PID to a file and close the file
- * exit
- * PARENT:
- * wait for child to exit
- * read child PID from file
- * compare child PID to fork() return code and report
- * results
- *
- * Cleanup:
- * Print errno log and/or timing stats if options given
- *
- *
- *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#**/
-
-#include <errno.h>
-#include <string.h>
-#include <signal.h>
-#include <fcntl.h>
-#include <sys/types.h>
-#include <sys/wait.h>
-#include "test.h"
-#include "usctest.h"
-
-#define KIDEXIT 42
-extern void setup();
-extern void cleanup();
-
-#define LINE_SZ 20 /* size of the line written/read to the file */
-#define FILENAME "childpid"
-
-
-
-const char *TCID="fork01"; /* Test program identifier. */
-int TST_TOTAL=2; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-
-/***************************************************************
- * child_pid - the child side of the test
- * determine the PID and write to a file
- ***************************************************************/
-void child_pid()
-{
-
- int fildes;
- char tmp_line[LINE_SZ];
-
- fildes = creat(FILENAME,0700);
- sprintf(tmp_line,"%d\n",getpid());
- write(fildes,tmp_line,LINE_SZ);
- close(fildes);
-
-}
-
-/***************************************************************
- * parent_pid - the parent side of the test
- * read the value determined by the child
- * compare and report results
- ***************************************************************/
-void parent_pid()
-{
-
- int fildes;
- char tmp_line[LINE_SZ];
- pid_t child_id;
-
- if ((fildes = open(FILENAME,O_RDWR)) == -1) {
- tst_brkm(TBROK, cleanup,
- "parent open failed. errno: %d (%s)\n",
- errno, strerror(errno));
- }
- else {
- if (read(fildes,tmp_line,LINE_SZ) == 0) {
- tst_brkm(TBROK,cleanup, "fork(): parent failed to read PID from file errno: %d (%s)",
- errno, strerror(errno));
- }
- else {
- child_id = atoi(tmp_line);
- if (TEST_RETURN != child_id) {
- tst_resm(TFAIL,"child reported a pid of %d. parent received %d from fork()",
- child_id,TEST_RETURN);
- } else {
- tst_resm(TPASS,"child pid and fork() return agree: %d",child_id);
- }
- }
- close(fildes);
- }
-}
-
-/***************************************************************
- * main() - performs tests
- *
- ***************************************************************/
-
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
- int fails;
- int kid_status, wait_status;
-
- /***************************************************************
- * parse standard options
- ***************************************************************/
- if ( (msg=parse_opts(ac, av, (option_t *) NULL, NULL)) != (char *) NULL )
- tst_brkm(TBROK, cleanup, "OPTION PARSING ERROR - %s", msg);
-
- /***************************************************************
- * perform global setup for test
- ***************************************************************/
- setup();
-
- /* set the expected errnos... */
- /***************************************************************
- * check looping state if -c option given
- ***************************************************************/
- for (lc=0; TEST_LOOPING(lc); lc++) {
-
- /* reset Tst_count in case we are looping. */
- Tst_count=0;
- fails = 0;
-
- /*
- * Call fork(2)
- */
- TEST(fork());
-
- /* check return code */
- if ( TEST_RETURN == -1 ) {
- TEST_ERROR_LOG(TEST_ERRNO);
- if ( STD_FUNCTIONAL_TEST ) {
- tst_resm(TFAIL, "fork() Failed, errno=%d : %s",
- TEST_ERRNO, strerror(TEST_ERRNO));
- tst_resm(TBROK,"unable to continue");
- }
- }
- if (TEST_RETURN == 0) {
- /* child */
- if ( STD_FUNCTIONAL_TEST ) {
- child_pid();
- }
- exit(KIDEXIT);
- } else {
- /* parent */
- if ( STD_FUNCTIONAL_TEST ) {
- tst_resm(TPASS, "fork() returned %d", TEST_RETURN);
- }
- /* wait for the child to complete */
- wait_status = wait(&kid_status);
- if ( STD_FUNCTIONAL_TEST ) {
- if (wait_status == TEST_RETURN) {
- if (kid_status != KIDEXIT << 8) {
- tst_resm(TBROK,
- "incorrect child status returned on wait(): %d",
- kid_status);
- fails++;
- }
- }
- else {
- tst_resm(TBROK,
- "wait() for child status failed with %d errno: %d : %s",
- wait_status,errno,strerror(errno));
- fails++;
- }
- if (fails == 0 ) {
- /* verification tests */
- parent_pid();
- }
- } /* STD_FUNCTIONAL_TEST */
- } /* TEST_RETURN */
- } /* End for TEST_LOOPING */
-
- /***************************************************************
- * cleanup and exit
- ***************************************************************/
- cleanup();
-
- return 0;
-} /* End main */
-
-/***************************************************************
- * setup() - performs all ONE TIME setup for this test.
- ***************************************************************/
-void
- setup()
-{
- /* capture signals */
- tst_sig(FORK, DEF_HANDLER, cleanup);
-
- tst_tmpdir();
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-} /* End setup() */
-
-
-/***************************************************************
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- ***************************************************************/
-void
- cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /* exit with return code appropriate for results */
- tst_rmdir();
- tst_exit();
-} /* End cleanup() */
diff --git a/winsup/testsuite/winsup.api/ltp/fork02.c b/winsup/testsuite/winsup.api/ltp/fork02.c
deleted file mode 100644
index eeec828ec..000000000
--- a/winsup/testsuite/winsup.api/ltp/fork02.c
+++ /dev/null
@@ -1,139 +0,0 @@
-/*
- *
- * Copyright (c) International Business Machines Corp., 2001
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-/*
- * NAME
- * fork02.c
- *
- * DESCRIPTION
- * Test correct operation of fork:
- * pid == 0 in child;
- * pid > 0 in parent from wait;
- *
- * ALGORITHM
- * Fork one process, check for pid == 0 in child.
- * Check for pid > 0 in parent after wait.
- *
- * USAGE
- * fork02
- *
- * HISTORY
- * 07/2001 Ported by Wayne Boyer
- *
- * RESTRICTIONS
- * None
- */
-
-#include <sys/wait.h>
-#include "test.h"
-#include "usctest.h"
-
-void setup(void);
-void cleanup(void) __attribute__((noreturn));
-
-const char *TCID = "fork02";
-int TST_TOTAL = 1;
-extern int Tst_count;
-
-int
-main(int ac, char **av)
-{
- int pid1, pid2, status;
-
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
-
- /*
- * parse standard options
- */
- if ((msg = parse_opts(ac, av, (option_t *)NULL, NULL)) != (char *)NULL){
- tst_brkm(TBROK, cleanup, "OPTION PARSING ERROR - %s", msg);
- /*NOTREACHED*/
- }
-
- /*
- * perform global setup for the test
- */
- setup();
-
- /*
- * check looping state if -i option is given
- */
- for (lc = 0; TEST_LOOPING(lc); lc++) {
- /*
- * reset Tst_count in case we are looping.
- */
- Tst_count = 0;
-
- if ((pid1 = fork()) == -1) {
- tst_brkm(TBROK, cleanup, "fork() failed");
- }
-
- if (pid1 == 0) {
- tst_resm(TINFO, "Inside child");
- _exit(0);
- } else {
- tst_resm(TINFO, "Inside parent");
- pid2 = wait(&status);
- tst_resm(TINFO, "exit status of wait %d", status);
-
- if (pid1 == pid2) {
- tst_resm(TPASS, "test 1 PASSED");
- } else {
- tst_resm(TFAIL, "test 1 FAILED");
- }
- }
- }
- cleanup();
-
- /*NOTREACHED*/
-}
-
-/*
- * setup() - performs all ONE TIME setup for this test
- */
-void
-setup()
-{
- /*
- * capture signals
- */
- tst_sig(FORK, DEF_HANDLER, cleanup);
-
- /*
- * Pause if that option was specified
- */
- TEST_PAUSE;
-}
-
-/*
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit
- */
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- tst_exit();
-}
diff --git a/winsup/testsuite/winsup.api/ltp/fork03.c b/winsup/testsuite/winsup.api/ltp/fork03.c
deleted file mode 100644
index fbc23bb37..000000000
--- a/winsup/testsuite/winsup.api/ltp/fork03.c
+++ /dev/null
@@ -1,165 +0,0 @@
-/*
- *
- * Copyright (c) International Business Machines Corp., 2001
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-/*
- * NAME
- * fork03.c
- *
- * DESCRIPTION
- * Check that child can use a large text space and do a large
- * number of operations.
- *
- * ALGORITHM
- * Fork one process, check for pid == 0 in child.
- * Check for pid > 0 in parent after wait.
- *
- * USAGE
- * fork03
- *
- * HISTORY
- * 07/2001 Ported by Wayne Boyer
- *
- * RESTRICTIONS
- * None
- */
-
-#include <sys/wait.h>
-#include "test.h"
-#include "usctest.h"
-
-void setup(void);
-void cleanup(void) __attribute__((noreturn));
-
-const char *TCID = "fork03";
-int TST_TOTAL = 1;
-extern int Tst_count;
-
-void setup(void);
-void cleanup(void) __attribute__((noreturn));
-
-int
-main(int ac, char **av)
-{
- float fl1, fl2;
- int i;
- int pid1, pid2, status;
-
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
-
- /*
- * parse standard options
- */
- if ((msg = parse_opts(ac, av, (option_t *)NULL, NULL)) != (char *)NULL){
- tst_brkm(TBROK, cleanup, "OPTION PARSING ERROR - %s", msg);
- /*NOTREACHED*/
- }
-
- /*
- * perform global setup for the test
- */
- setup();
-
- /*
- * check looping state if -i option is given
- */
- for (lc = 0; TEST_LOOPING(lc); lc++) {
- /*
- * reset Tst_count in case we are looping.
- */
- Tst_count = 0;
-
- if ((pid1 = fork()) == -1) {
- tst_brkm(TBROK, cleanup, "fork() failed");
- }
-
- if (pid1 == 0) { /* child */
- /* child uses some cpu cycles */
- for (i = 1; i < 32767; i++) {
- fl1 = 0.000001;
- fl1 = fl2 = 0.000001;
- fl1 = fl1 * 10.0;
- fl2 = fl1 / 1.232323;
- fl1 = fl2 - fl2;
- fl1 = fl2;
- }
-
- /* Pid must always be zero in child */
-
- if (pid1 != 0) {
- exit(1);
- } else {
- exit(0);
- }
- } else { /* parent */
- tst_resm(TINFO, "process id in parent of child from "
- "fork : %d", pid1);
- pid2 = wait(&status); /* wait for child */
-
- if (pid1 != pid2) {
- tst_resm(TFAIL, "pids don't match : %d vs %d",
- pid1, pid2);
- continue;
- }
-
- if ((status >> 8) != 0) {
- tst_resm(TFAIL, "child exited with failure");
- continue;
- }
-
- tst_resm(TPASS, "test 1 PASSED");
- }
- }
- cleanup();
-
- /*NOTREACHED*/
-}
-
-/*
- * setup() - performs all ONE TIME setup for this test
- */
-void
-setup()
-{
- /*
- * capture signals
- */
- tst_sig(FORK, DEF_HANDLER, cleanup);
-
- /*
- * Pause if that option was specified
- */
- TEST_PAUSE;
-}
-
-/*
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit
- */
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- tst_exit();
-}
diff --git a/winsup/testsuite/winsup.api/ltp/fork04.c b/winsup/testsuite/winsup.api/ltp/fork04.c
deleted file mode 100644
index 7e8d80f96..000000000
--- a/winsup/testsuite/winsup.api/ltp/fork04.c
+++ /dev/null
@@ -1,403 +0,0 @@
-/*
- * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it would be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Further, this software is distributed without any warranty that it is
- * free of the rightful claim of any third person regarding infringement
- * or the like. Any license provided herein, whether implied or
- * otherwise, applies only to this software file. Patent licenses, if
- * any, provided herein do not apply to combinations of this program with
- * other software, or any other product whatsoever.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write the Free Software Foundation, Inc., 59
- * Temple Place - Suite 330, Boston MA 02111-1307, USA.
- *
- * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
- * Mountain View, CA 94043, or:
- *
- * http://www.sgi.com
- *
- * For further information regarding this notice, see:
- *
- * http://oss.sgi.com/projects/GenInfo/NoticeExplan/
- *
- */
-/* $Id$ */
-/**********************************************************
- *
- * OS Test - Silicon Graphics, Inc.
- *
- * TEST IDENTIFIER : fork04
- *
- * TEST TITLE : Child inheritance of Environment Variables after fork()
- *
- * PARENT DOCUMENT : frktds01
- *
- * TEST CASE TOTAL : 3
- *
- * WALL CLOCK TIME : 1
- *
- * CPU TYPES : ALL
- *
- * AUTHOR : Kathy Olmsted
- *
- * CO-PILOT : Steve Shaw
- *
- * DATE STARTED : 06/17/92
- *
- * INITIAL RELEASE : UNICOS 7.0
- *
- * TEST CASES
- * Test these environment variables correctly inherited by child:
- * 1. TERM
- * 2. NoTSetzWq
- * 3. TESTPROG
- *
- * INPUT SPECIFICATIONS
- * The standard options for system call tests are accepted.
- * (See the parse_opts(3) man page).
- *
- * DURATION
- * Terminates - with frequency and infinite modes.
- *
- * SIGNALS
- * Uses SIGUSR1 to pause before test if option set.
- * (See the parse_opts(3) man page).
- *
- * ENVIRONMENTAL NEEDS
- * No run-time environmental needs.
- *
- * DETAILED DESCRIPTION
- *
- * Setup:
- * Setup signal handling.
- * Make and change to a temporary directory.
- * Pause for SIGUSR1 if option specified.
- * Add TESTPROG variable to the environment
- *
- * Test:
- * Loop if the proper options are given.
- * fork()
- * Check return code, if system call failed (return=-1)
- * Log the errno
- * CHILD:
- * open a temp file
- * Determine environment values and write to file
- * close file containing test values.
- * exit.
- * PARENT:
- * Wait for child to exit.
- * Verify exit status
- * Open file containing test values.
- * For each test case:
- * Read the value from the file.
- * Determine and report PASS/FAIL result.
- *
- * Cleanup:
- * Print errno log and/or timing stats if options given
- * Remove the temporary directory and exit.
- *
- *
- *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#**/
-#include <sys/types.h>
-#include <sys/wait.h>
-#include <fcntl.h>
-#include <string.h>
-#include <sys/param.h>
-#include <signal.h> /*Includes signal information. */
-#include <errno.h>
-#include "test.h"
-#include "usctest.h"
-
-const char *TCID="fork04"; /* Test program identifier. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-
-
-
-#define KIDEXIT 42 /* Known value for child exit status */
-#define MAX_LINE_LENGTH 256
-#define OUTPUT_FILE "env.out"
-#define ENV_NOT_SET "getenv() does not find variable set"
-
-/* list of environment variables to test */
-const char *environ_list[] = {"TERM","NoTSetzWq","TESTPROG"};
-#define NUMBER_OF_ENVIRON (int)(sizeof(environ_list)/sizeof(char *))
-int TST_TOTAL=NUMBER_OF_ENVIRON; /* Total number of test cases. */
-
-/***************************************************************
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- ***************************************************************/
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /* remove the temporary directory and exit with
- return code appropriate for results */
- tst_rmdir();
- tst_exit();
-
-} /* End cleanup() */
-
-/***************************************************************
- * setup() - performs all ONE TIME setup for this test.
- ***************************************************************/
-void
-setup()
-{
- /* capture signals */
- tst_sig(FORK, DEF_HANDLER, cleanup);
-
- /* make and change to a temporary directory */
- tst_tmpdir();
-
- /* add a variable to the environment */
- putenv(strdup("TESTPROG=FRKTCS04"));
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-
-} /* End setup() */
-
-
-/***************************************************************
- * child_environment - the child side of the environment tests
- * determine values for the variables and write to a file
- ***************************************************************/
-void child_environment()
-{
-
- int fildes;
- int index;
- char msg[MAX_LINE_LENGTH];
- char *var;
-
- fildes = creat(OUTPUT_FILE,0700);
-
-
- for (index=0;index<NUMBER_OF_ENVIRON;index++) {
- memset(msg, 0, MAX_LINE_LENGTH);
-
- if ( (var=getenv(environ_list[index])) == NULL )
- (void)sprintf(msg,"%s:%s",environ_list[index], ENV_NOT_SET);
- else
- (void)sprintf(msg,"%s:%s",environ_list[index], var);
-
- write(fildes,msg,sizeof(msg)); /* includes extra null chars */
- }
-
- close(fildes);
-
-}
-
-/***********************************************************************
- *
- * Compare parent env string to child's string.
- * Each string is in the format: <env var>:<value>
- *
- ***********************************************************************/
-int
-cmp_env_strings(char *pstring, char *cstring)
-{
- char *penv, *cenv, *pvalue, *cvalue;
-
- /*
- * Break pstring into env and value
- */
- penv=pstring;
- if ( (pvalue=strchr(pstring, ':')) == NULL ) {
- tst_resm(TBROK,
- "internal error - parent's env string not in correct format:'%s'",
- pstring);
- return -1;
- } else {
- *pvalue='\0';
- pvalue++;
- if ( *pvalue == '\0' ) {
- tst_resm(TBROK, "internal error - missing parent's env value");
- return -1;
- }
- }
-
- /*
- * Break cstring into env and value
- */
- cenv=cstring;
- if ( (cvalue=strchr(cstring, ':')) == NULL ) {
- tst_resm(TBROK,
- "internal error - parent's env string not in correct format:'%s'",
- cstring);
- return -1;
- } else {
- *cvalue='\0';
- cvalue++;
- if ( *cvalue == '\0' ) {
- tst_resm(TBROK, "internal error - missing child's env value");
- return -1;
- }
- }
-
- if ( strcmp(penv, cenv) != 0 ) {
- tst_resm(TBROK, "internal error - parent(%s) != child (%s) env",
- penv, cenv);
- return -1;
- }
-
- if ( strcmp(pvalue, cvalue) != 0 ) {
- tst_resm(TFAIL, "Env var %s changed after fork(), parent's %s, child's %s",
- penv, pvalue, cvalue);
- } else {
- tst_resm(TPASS, "Env var %s unchanged after fork(): %s",
- penv, cvalue);
- }
- return 0;
-
-}
-
-/***************************************************************
- * parent_environment - the parent side of the environment tests
- * determine values for the variables
- * read the values determined by the child
- * compare values
- ***************************************************************/
-void parent_environment()
-{
-
- int fildes;
- char tmp_line[MAX_LINE_LENGTH];
- char parent_value[MAX_LINE_LENGTH];
- int index;
- int ret;
- char *var;
-
- if ((fildes = open(OUTPUT_FILE,O_RDWR)) == -1) {
- tst_brkm(TBROK, cleanup,
- "fork() test. Parent open of temporary file failed. errno %d (%s)\n",
- errno, strerror(errno));
- }
- for (index=0;index<NUMBER_OF_ENVIRON;index++)
- {
- if ((ret=read(fildes,tmp_line,MAX_LINE_LENGTH)) == 0) {
- tst_resm(TBROK,"fork() test. parent_environment: failed to read from file with %d (%s)",
- errno,strerror(errno));
- }
- else {
-
- if ( (var=getenv(environ_list[index])) == NULL )
- sprintf(parent_value,"%s:%s", environ_list[index], ENV_NOT_SET);
- else
- sprintf(parent_value,"%s:%s", environ_list[index], var);
-
- cmp_env_strings(parent_value, tmp_line);
-
- }
- }
- close(fildes);
-
-}
-
-/***************************************************************
- * main() - performs tests
- *
- ***************************************************************/
-
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
- int kid_status; /* status returned from child */
- int wait_status; /* status of wait system call in parent */
- int fails; /* indicates whether to continue with tests */
-
- /***************************************************************
- * parse standard options
- ***************************************************************/
- if ( (msg=parse_opts(ac, av, (option_t *) NULL, NULL)) != (char *) NULL ) {
- tst_brkm(TBROK, NULL, "OPTION PARSING ERROR - %s", msg);
- tst_exit();
- }
-
- /***************************************************************
- * perform global setup for test
- ***************************************************************/
- setup();
-
- /***************************************************************
- * check looping state if -c option given
- ***************************************************************/
- for (lc=0; TEST_LOOPING(lc); lc++) {
-
- /* reset Tst_count and fail indicator in case we are looping. */
- Tst_count=0;
- fails = 0;
-
- /* make the call to fork */
- TEST(fork());
-
- /* check return code */
- if ( TEST_RETURN == -1 ) {
- /* fork failed */
- if ( STD_FUNCTIONAL_TEST ) {
- tst_brkm(TFAIL, cleanup, "fork() failed with %d (%s)",
- TEST_ERRNO, strerror(TEST_ERRNO));
- }
- }
- else if (TEST_RETURN == 0) {
- /* child */
- if ( STD_FUNCTIONAL_TEST ) {
- /* determine environment variables */
- child_environment();
- }
- /* exit with known value */
- exit(KIDEXIT);
- } else {
- /* parent of successful fork */
- /* wait for the child to complete */
- wait_status = wait(&kid_status);
- if ( STD_FUNCTIONAL_TEST ) {
- /* validate the child exit status */
- if (wait_status == TEST_RETURN) {
- if (kid_status != KIDEXIT << 8) {
- tst_brkm(TBROK, cleanup,
- "fork(): Incorrect child status returned on wait(): %d",
- kid_status);
- fails++;
- }
- }
- else {
- tst_brkm(TBROK, cleanup,
- "fork(): wait() for child status failed with %d errno: %d : %s",
- wait_status,errno,strerror(errno));
- fails++;
- }
-
- if (fails == 0 ) {
- /* verification tests */
- parent_environment();
- }
- }
- }
-
- } /* End for TEST_LOOPING */
-
- /***************************************************************
- * cleanup and exit
- ***************************************************************/
- cleanup();
-
- return 0;
-} /* End main */
diff --git a/winsup/testsuite/winsup.api/ltp/fork06.c b/winsup/testsuite/winsup.api/ltp/fork06.c
deleted file mode 100644
index 9755e503b..000000000
--- a/winsup/testsuite/winsup.api/ltp/fork06.c
+++ /dev/null
@@ -1,153 +0,0 @@
-/*
- *
- * Copyright (c) International Business Machines Corp., 2001
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-/*
- * NAME
- * fork06.c
- *
- * DESCRIPTION
- * Test that a process can fork children a large number of
- * times in succession
- *
- * ALGORITHM
- * Attempt to fork a child that exits immediately
- * Repeat it many times(1000), counting the number of successes and
- * failures
- *
- * USAGE
- * fork06
- *
- * HISTORY
- * 07/2001 Ported by Wayne Boyer
- *
- * RESTRICTIONS
- * None
- */
-
-#include <sys/wait.h>
-#include "test.h"
-#include "usctest.h"
-
-const char *TCID = "fork06";
-int TST_TOTAL = 1;
-extern int Tst_count;
-
-void setup(void);
-void cleanup(void) __attribute__((noreturn));
-
-#define NUMFORKS 1000
-
-int
-main(int ac, char **av)
-{
- int i, pid, status, childpid, succeed, fail;
-
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
-
- /*
- * parse standard options
- */
- if ((msg = parse_opts(ac, av, (option_t *)NULL, NULL)) != (char *)NULL){
- tst_brkm(TBROK, cleanup, "OPTION PARSING ERROR - %s", msg);
- /*NOTREACHED*/
- }
-
- /*
- * perform global setup for the test
- */
- setup();
-
- /*
- * check looping state if -i option is given
- */
- for (lc = 0; TEST_LOOPING(lc); lc++) {
- /*
- * reset Tst_count in case we are looping.
- */
- Tst_count = 0;
-
- succeed = 0;
- fail = 0;
-
- for (i = 0; i < NUMFORKS; i++) {
- if ((pid = fork()) == -1) {
- fail++;
- continue;
- }
-
- if (pid == 0) { /* child */
- _exit(0);
- }
-
- /* parent */
- childpid = wait(&status);
- if (pid != childpid) {
- tst_resm(TFAIL, "pid from wait %d", childpid);
- }
- succeed++;
- }
-
- tst_resm(TINFO, "tries %d", i);
- tst_resm(TINFO, "successes %d", succeed);
- tst_resm(TINFO, "failures %d", fail);
-
- if ((wait(&status)) == -1) {
- tst_resm(TINFO, "There were no children to wait for");
- } else {
- tst_resm(TINFO, "There were children left");
- }
- }
- cleanup();
-
- /*NOTREACHED*/
-}
-
-/*
- * setup() - performs all ONE TIME setup for this test
- */
-void
-setup()
-{
- /*
- * capture signals
- */
- tst_sig(FORK, DEF_HANDLER, cleanup);
-
- /*
- * Pause if that option was specified
- */
- TEST_PAUSE;
-}
-
-/*
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit
- */
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- tst_exit();
-}
diff --git a/winsup/testsuite/winsup.api/ltp/fork07.c b/winsup/testsuite/winsup.api/ltp/fork07.c
deleted file mode 100644
index 7e06db7a1..000000000
--- a/winsup/testsuite/winsup.api/ltp/fork07.c
+++ /dev/null
@@ -1,200 +0,0 @@
-/*
- *
- * Copyright (c) International Business Machines Corp., 2001
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-/*
- * NAME
- * fork07.c
- *
- * DESCRIPTION
- * Check that all children inherit parent's file descriptor
- *
- * ALGORITHM
- * Parent opens a file, writes to it; forks processes until
- * -1 is returned. Each child attempts to read the file then returns.
- *
- * USAGE
- * fork07
- *
- * HISTORY
- * 07/2001 Ported by Wayne Boyer
- *
- * RESTRICTIONS
- * None
- */
-
-#include <sys/wait.h>
-#include <sys/stat.h>
-#include "test.h"
-#include "usctest.h"
-
-const char *TCID = "fork07";
-int TST_TOTAL = 1;
-extern int Tst_count;
-
-void setup(void);
-void cleanup(void) __attribute__((noreturn));
-
-char pbuf[10];
-char fnamebuf[40];
-
-int
-main(int ac, char **av)
-{
- int status, count, forks, pid1;
- int ch_r_stat;
- FILE *rea = NULL, *writ = NULL;
-
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
-
- /*
- * parse standard options
- */
- if ((msg = parse_opts(ac, av, (option_t *)NULL, NULL)) != (char *)NULL){
- tst_brkm(TBROK, cleanup, "OPTION PARSING ERROR - %s", msg);
- /*NOTREACHED*/
- }
-
- /*
- * perform global setup for the test
- */
- setup();
-
- /*
- * check looping state if -i option is given
- */
- for (lc = 0; TEST_LOOPING(lc); lc++) {
- /*
- * reset Tst_count in case we are looping.
- */
- Tst_count = 0;
-
- if ((writ = fopen(fnamebuf, "w")) == NULL)
- tst_resm(TFAIL, "failed to fopen file for write");
- if ((rea = fopen(fnamebuf, "r")) == NULL)
- tst_resm(TFAIL, "failed to fopen file for read");
-
- fprintf(writ,"abcdefghijklmnopqrstuv") ;
- fflush(writ);
- sleep(1);
-
- if ((getc(rea)) != 'a')
- tst_resm(TFAIL, "getc from read side was confused");
-
- forks = 0;
-
-forkone:
- ++forks;
- pid1 = -1;
- if ( forks >= 1000 || (pid1 = fork()) != 0) { /* parent */
- if (pid1 > 0) {
- goto forkone;
- } else if (pid1 < 0) {
- tst_resm(TINFO, "last child forked");
- }
- } else { /* child */
- ch_r_stat = getc(rea);
-#ifdef DEBUG
- tst_resm(TINFO, "Child got char: %c", ch_r_stat);
- tst_resm(TINFO, "integer value of getc in child "
- "expected %d got %d", 'b', ch_r_stat);
-#endif
- if (ch_r_stat != EOF) { /* for error or EOF */
- tst_resm(TPASS, "test passed in child no %d",
- forks);
- exit(0);
- } else {
- tst_resm(TFAIL, "Test failed in child no. %d",
- forks);
- exit(-1);
- }
- }
-
- /* parent */
- --forks;
- for (count = 0; count <= forks; count++) {
- wait(&status);
-#ifdef DEBUG
- tst_resm(TINFO, " exit status of wait "
- " expected 0 got %d", status);
-#endif
- if (status == 0) {
- tst_resm(TPASS, "parent test passed");
- } else {
- tst_resm(TFAIL, "parent test failed");
- }
- }
- tst_resm(TINFO, "Number of processes forked is %d", forks);
- }
- fclose (writ);
- fclose (rea);
- cleanup();
-
- /*NOTREACHED*/
-}
-
-/*
- * setup() - performs all ONE TIME setup for this test
- */
-void
-setup()
-{
- /*
- * capture signals
- */
- tst_sig(FORK, DEF_HANDLER, cleanup);
-
- umask(0);
-
- /*
- * Pause if that option was specified
- */
- TEST_PAUSE;
-
- /*
- * make a temp directory and cd to it
- */
- tst_tmpdir();
-
- strcpy(fnamebuf, "fork07.");
- sprintf(pbuf, "%d", getpid());
- strcat(fnamebuf, pbuf);
-}
-
-/*
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit
- */
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /*
- * remove tmp dir and all files in it
- */
- unlink(fnamebuf);
- tst_rmdir();
-
- tst_exit();
-}
diff --git a/winsup/testsuite/winsup.api/ltp/fork09.c b/winsup/testsuite/winsup.api/ltp/fork09.c
deleted file mode 100644
index 233acc76e..000000000
--- a/winsup/testsuite/winsup.api/ltp/fork09.c
+++ /dev/null
@@ -1,229 +0,0 @@
-/*
- *
- * Copyright (c) International Business Machines Corp., 2001
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-/*
- * NAME
- * fork01.c
- *
- * DESCRIPTION
- * Check that child has access to a full set of files.
- *
- * ALGORITHM
- * Parent opens a maximum number of files
- * Child closes one and attempts to open another, it should be
- * available
- *
- * USAGE
- * fork01
- *
- * HISTORY
- * 07/2001 Ported by Wayne Boyer
- *
- * RESTRICTIONS
- * None
- */
-
-#include <errno.h>
-#include <limits.h> /* for OPEN_MAX */
-#include <sys/fcntl.h>
-#include <sys/stat.h>
-#include <sys/wait.h>
-#include "test.h"
-#include "usctest.h"
-
-const char *TCID = "fork01";
-int TST_TOTAL = 1;
-extern int Tst_count;
-
-void setup(void);
-void cleanup(void) __attribute__((noreturn));
-
-char filname[40], childfile[40];
-int first;
-FILE **fildeses; /* file streams */
-int mypid, nfiles;
-
-int
-main(int ac, char **av)
-{
- int pid, status, nf;
-
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
-
- /*
- * parse standard options
- */
- if ((msg = parse_opts(ac, av, (option_t *)NULL, NULL)) != (char *)NULL){
- tst_brkm(TBROK, cleanup, "OPTION PARSING ERROR - %s", msg);
- /*NOTREACHED*/
- }
-
- /*
- * perform global setup for the test
- */
- setup();
-
- fildeses = (FILE**)malloc((OPEN_MAX + 10) * sizeof(FILE *));
- if (fildeses == NULL) {
- tst_brkm(TBROK, cleanup, "malloc failed");
- /*NOTREACHED*/
- }
-
- /*
- * check looping state if -i option is given
- */
- for (lc = 0; TEST_LOOPING(lc); lc++) {
- /*
- * reset Tst_count in case we are looping.
- */
- Tst_count = 0;
-
- mypid = getpid();
-
- tst_resm(TINFO, "OPEN_MAX is %d", OPEN_MAX);
-
- /* establish first free file */
- sprintf(filname, "fork01.%d", mypid);
- if ((first = creat(filname, 0660)) == -1) {
- tst_brkm(TBROK, cleanup, "Cannot open first file %s, "
- "errno = %d", filname, errno);
- /*NOTREACHED*/
- }
- close(first);
-
- tst_resm(TINFO, "first file descriptor is %d ", first);
-
- if (unlink(filname) == -1) {
- tst_brkm(TBROK, cleanup, "Cannot unlink file %s, "
- "errno = %d", filname, errno);
- /*NOTREACHED*/
- }
-
- /*
- * now open all the files for the test
- */
- for (nfiles = first; nfiles < OPEN_MAX; nfiles++) {
- sprintf(filname, "file%d.%d", nfiles, mypid);
- if ((fildeses[nfiles] = fopen(filname, "a")) == NULL) {
- tst_brkm(TBROK, cleanup, "Parent: cannot open "
- "file %d %s errno = %d", nfiles,
- filname, errno);
- /*NOTREACHED*/
- }
-#ifdef DEBUG
- tst_resm(TINFO, "filname: %s", filname);
-#endif
- }
-
- tst_resm(TINFO, "Parent reporting %d files open", nfiles - 1);
-
- if ((pid = fork()) == -1) {
- tst_brkm(TBROK, cleanup, "Fork failed");
- /*NOTREACHED*/
- }
-
- if (pid == 0) { /* child */
- nfiles--;
- if (fclose(fildeses[nfiles]) == -1) {
- tst_resm(TINFO, "Child could not close file "
- "#%d, errno = %d", nfiles, errno);
- exit(1);
- /*NOTREACHED*/
- } else {
- sprintf(childfile, "cfile.%d", getpid());
- if ((fildeses[nfiles] =
- fopen(childfile, "a")) == NULL) {
- tst_resm(TINFO, "Child could not open "
- "file %s, errno = %d",
- childfile, errno);
- exit(1);
- /*NOTREACHED*/
- } else {
- tst_resm(TINFO, "Child opened new "
- "file #%d", nfiles);
- unlink(childfile);
- exit(0);
- }
- }
- } else { /* parent */
- wait(&status);
- if (status >> 8 != 0) {
- tst_resm(TFAIL, "test 1 FAILED");
- } else {
- tst_resm(TPASS, "test 1 PASSED");
- }
- }
-
- /* clean up things in case we are looping */
- for (nf = first; nf < nfiles; nf++) {
- fclose(fildeses[nf]);
- sprintf(filname, "file%d.%d", nf, mypid);
- unlink(filname);
- }
- }
- cleanup();
-
- /*NOTREACHED*/
-}
-
-/*
- * setup() - performs all ONE TIME setup for this test
- */
-void
-setup()
-{
- /*
- * capture signals
- */
- tst_sig(FORK, DEF_HANDLER, cleanup);
-
- umask(0);
-
- /*
- * Pause if that option was specified
- */
- TEST_PAUSE;
-
- /*
- * make a temp directory and cd to it
- */
- tst_tmpdir();
-}
-
-/*
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or at premature exit
- */
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /*
- * remove tmp dir and all files in it
- */
- tst_rmdir();
-
- tst_exit();
-}
diff --git a/winsup/testsuite/winsup.api/ltp/fork10.c b/winsup/testsuite/winsup.api/ltp/fork10.c
deleted file mode 100644
index 9dcbbb3b5..000000000
--- a/winsup/testsuite/winsup.api/ltp/fork10.c
+++ /dev/null
@@ -1,216 +0,0 @@
-/*
- *
- * Copyright (c) International Business Machines Corp., 2001
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-/*
- * NAME
- * fork04.c
- *
- * DESCRIPTION
- * Check inheritance of file descriptor by children, they
- * should all be refering to the same file.
- *
- * ALGORITHM
- * Child reads several chars and exits.
- * Parent forks another child, have the child and parent attempt to use
- * that location
- *
- * USAGE
- * fork04
- *
- * HISTORY
- * 07/2001 Ported by Wayne Boyer
- *
- * RESTRICTIONS
- * None
- */
-
-#include <errno.h>
-#include <fcntl.h>
-#include <sys/wait.h>
-#include "test.h"
-#include "usctest.h"
-
-const char *TCID = "fork04";
-int TST_TOTAL = 1;
-extern int Tst_count;
-
-void setup(void);
-void cleanup(void) __attribute__((noreturn));
-
-char pidbuf[10];
-char fnamebuf[40];
-
-int
-main(int ac, char **av)
-{
- int status, pid, fildes;
- char parchar[2];
- char chilchar[2];
-
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
-
- /*
- * parse standard options
- */
- if ((msg = parse_opts(ac, av, (option_t *)NULL, NULL)) != (char *)NULL){
- tst_brkm(TBROK, cleanup, "OPTION PARSING ERROR - %s", msg);
- /*NOTREACHED*/
- }
-
- /*
- * perform global setup for the test
- */
- setup();
-
- /*
- * check looping state if -i option is given
- */
- for (lc = 0; TEST_LOOPING(lc); lc++) {
- /*
- * reset Tst_count in case we are looping.
- */
- Tst_count = 0;
-
- if ((fildes = creat(fnamebuf, 0600)) < 0) {
- tst_brkm(TBROK, cleanup, "Parent: cannot open %s for "
- "write, errno = %d", fnamebuf, errno);
- /*NOTREACHED*/
- }
- write(fildes, "ABCDEFGHIJKLMNOPQRSTUVWXYZ\n", 27);
- close(fildes);
-
- if ((fildes = open(fnamebuf, 0)) == -1) {
- tst_brkm(TBROK, cleanup, "Parent: cannot open %s for "
- "reading", fnamebuf);
- /*NOTREACHED*/
- }
-
- if ((pid = fork()) == -1) {
- tst_brkm(TBROK, cleanup, "fork() #1 failed");
- /*NOTREACHED*/
- }
-
- if (pid == 0) { /* child */
- tst_resm(TINFO, "fork child A");
- if (lseek(fildes, 10L, 0) == -1L) {
- tst_resm(TFAIL, "bad lseek by child");
- exit(1);
- }
- exit(0);
- } else { /* parent */
- wait(&status);
-
- /* parent starts second child */
- if ((pid = fork()) == -1) {
- tst_brkm(TBROK, cleanup, "fork() #2 failed");
- /*NOTREACHED*/
- }
-
- if (pid == 0) { /* child */
- if (read(fildes, chilchar, 1) <= 0) {
- tst_resm(TFAIL, "Child can't read "
- "file");
- exit(1);
- } else {
- if (chilchar[0] != 'K') {
- chilchar[1] = '\n';
- exit(1);
- } else {
- exit(0);
- }
- }
- } else { /* parent */
- (void)wait(&status);
- if (status >> 8 != 0) {
- tst_resm(TFAIL, "Bad return from "
- "second child");
- continue;
- }
- /* parent reads */
- if (read(fildes, parchar, 1) <= 0) {
- tst_resm(TFAIL, "Parent cannot read "
- "file");
- continue;
- } else {
- write(fildes, parchar, 1);
- if (parchar[0] != 'L') {
- parchar[1] = '\n';
- tst_resm(TFAIL, "Test failed");
- continue;
- }
- }
- }
- }
- tst_resm(TPASS, "test 1 PASSED");
- close (fildes);
- }
- cleanup();
-
- /*NOTREACHED*/
-}
-
-/*
- * setup() - performs all ONE TIME setup for this test
- */
-void
-setup()
-{
- /*
- * capture signals
- */
- tst_sig(FORK, DEF_HANDLER, cleanup);
-
- umask(0);
-
- /*
- * Pause if that option was specified
- */
- TEST_PAUSE;
-
- /*
- * make a temp directory and cd to it
- */
- tst_tmpdir();
-
- strcpy(fnamebuf, "fork04.");
- sprintf(pidbuf, "%d", getpid());
- strcat(fnamebuf, pidbuf);
-}
-
-/*
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit
- */
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /*
- * remove tmp dir and all files in it
- */
- tst_rmdir();
-
- tst_exit();
-}
diff --git a/winsup/testsuite/winsup.api/ltp/fork11.c b/winsup/testsuite/winsup.api/ltp/fork11.c
deleted file mode 100644
index 2b1035230..000000000
--- a/winsup/testsuite/winsup.api/ltp/fork11.c
+++ /dev/null
@@ -1,141 +0,0 @@
-/*
- *
- * Copyright (c) International Business Machines Corp., 2001
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-/*
- * NAME
- * fork05.c
- *
- * DESCRIPTION
- * Test that parent gets a pid from each child when doing wait
- *
- * ALGORITHM
- * Fork NUMFORKS children that do nothing.
- *
- * USAGE
- * fork05
- *
- * HISTORY
- * 07/2001 Ported by Wayne Boyer
- *
- * RESTRICTIONS
- * None
- */
-
-#include <errno.h>
-#include <sys/wait.h>
-#include "test.h"
-#include "usctest.h"
-
-const char *TCID = "fork05";
-int TST_TOTAL = 1;
-extern int Tst_count;
-
-void setup(void);
-void cleanup(void) __attribute__((noreturn));
-
-#define NUMFORKS 100
-
-int
-main(int ac, char **av)
-{
- int i, pid, cpid, status;
-
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
-
- /*
- * parse standard options
- */
- if ((msg = parse_opts(ac, av, (option_t *)NULL, NULL)) != (char *)NULL){
- tst_brkm(TBROK, cleanup, "OPTION PARSING ERROR - %s", msg);
- /*NOTREACHED*/
- }
-
- /*
- * perform global setup for the test
- */
- setup();
-
- /*
- * check looping state if -i option is given
- */
- for (lc = 0; TEST_LOOPING(lc); lc++) {
-
- /*
- * reset Tst_count in case we are looping.
- */
- Tst_count = 0;
-
- for (i=0; i<NUMFORKS; i++) {
- if ((pid = fork()) == 0) { /* child */
- exit(0);
- }
-
- if (pid > 0) { /* parent */
- cpid = wait(&status);
- if (cpid == pid) {
- tst_resm(TPASS, "fork #%d passed", i+1);
- } else {
- tst_resm(TFAIL, "fork #%d failed", i+1);
- }
- } else {
- tst_resm(TFAIL, "fork #%d failed", i+1);
- break;
- }
- }
- tst_resm(TINFO, "Number of processes forked = %d", i);
- tst_resm(TINFO, "Exit test 1");
- }
- cleanup();
-
- /*NOTREACHED*/
-}
-
-/*
- * setup() - performs all ONE TIME setup for this test
- */
-void
-setup()
-{
- /*
- * capture signals
- */
- tst_sig(FORK, DEF_HANDLER, cleanup);
-
- /*
- * Pause if that option was specified
- */
- TEST_PAUSE;
-}
-
-/*
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit
- */
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- tst_exit();
-}
diff --git a/winsup/testsuite/winsup.api/ltp/fpathconf01.c b/winsup/testsuite/winsup.api/ltp/fpathconf01.c
deleted file mode 100644
index 37fbe9689..000000000
--- a/winsup/testsuite/winsup.api/ltp/fpathconf01.c
+++ /dev/null
@@ -1,256 +0,0 @@
-/*
- * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it would be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Further, this software is distributed without any warranty that it is
- * free of the rightful claim of any third person regarding infringement
- * or the like. Any license provided herein, whether implied or
- * otherwise, applies only to this software file. Patent licenses, if
- * any, provided herein do not apply to combinations of this program with
- * other software, or any other product whatsoever.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write the Free Software Foundation, Inc., 59
- * Temple Place - Suite 330, Boston MA 02111-1307, USA.
- *
- * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
- * Mountain View, CA 94043, or:
- *
- * http://www.sgi.com
- *
- * For further information regarding this notice, see:
- *
- * http://oss.sgi.com/projects/GenInfo/NoticeExplan/
- *
- */
-/* $Id$ */
-/**********************************************************
- *
- * OS Test - Silicon Graphics, Inc.
- *
- * TEST IDENTIFIER : fpathconf01
- *
- * EXECUTED BY : anyone
- *
- * TEST TITLE : Basic test for fpathconf(2)
- *
- * PARENT DOCUMENT : usctpl01
- *
- * TEST CASE TOTAL : 7
- *
- * WALL CLOCK TIME : 1
- *
- * CPU TYPES : ALL
- *
- * AUTHOR : William Roske
- *
- * CO-PILOT : Dave Fenner
- *
- * DATE STARTED : 03/30/92
- *
- * INITIAL RELEASE : UNICOS 7.0
- *
- * TEST CASES
- *
- * 1.) fpathconf(2) returns...(See Description)
- *
- * INPUT SPECIFICATIONS
- * The standard options for system call tests are accepted.
- * (See the parse_opts(3) man page).
- *
- * OUTPUT SPECIFICATIONS
- *
- * DURATION
- * Terminates - with frequency and infinite modes.
- *
- * SIGNALS
- * Uses SIGUSR1 to pause before test if option set.
- * (See the parse_opts(3) man page).
- *
- * RESOURCES
- * None
- *
- * ENVIRONMENTAL NEEDS
- * No run-time environmental needs.
- *
- * SPECIAL PROCEDURAL REQUIREMENTS
- * None
- *
- * INTERCASE DEPENDENCIES
- * None
- *
- * DETAILED DESCRIPTION
- * This is a Phase I test for the fpathconf(2) system call. It is intended
- * to provide a limited exposure of the system call, for now. It
- * should/will be extended when full functional tests are written for
- * fpathconf(2).
- *
- * Setup:
- * Setup signal handling.
- * Pause for SIGUSR1 if option specified.
- *
- * Test:
- * Loop if the proper options are given.
- * Execute system call
- * Check return code, if system call failed (return=-1)
- * Log the errno and Issue a FAIL message.
- * Otherwise, Issue a PASS message.
- *
- * Cleanup:
- * Print errno log and/or timing stats if options given
- *
- *
- *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#**/
-
-#include <fcntl.h>
-#include <errno.h>
-#include <string.h>
-#include <signal.h>
-#include "test.h"
-#include "usctest.h"
-
-extern void setup();
-extern void cleanup();
-
-
-
-const char *TCID="fpathconf01"; /* Test program identifier. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-
-#define FILENAME "fpafile01"
-
-int exp_enos[]={0, 0};
-
-int i;
-
-struct pathconf_args
-{
- const char *define_tag;
- int value;
- int defined; /* Some of these are undefined on regular files.
- * Cancer does a slightly better job with these already,
- * so this is all I'll do to this test. 11/19/98 roehrich
- */
-} args[] = {
- {"_PC_MAX_CANON", _PC_MAX_CANON, 0},
- {"_PC_MAX_INPUT", _PC_MAX_INPUT, 0},
- {"_PC_VDISABLE", _PC_VDISABLE, 0},
- {"_PC_LINK_MAX", _PC_LINK_MAX, 1},
- {"_PC_NAME_MAX", _PC_NAME_MAX, 1},
- {"_PC_PATH_MAX", _PC_PATH_MAX, 1},
- {"_PC_PIPE_BUF", _PC_PIPE_BUF, 0}
-};
-
-int TST_TOTAL=((sizeof(args)/sizeof(args[0])));
-int fd; /* temp file for fpathconf */
-
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
-
- /***************************************************************
- * parse standard options
- ***************************************************************/
- if ( (msg=parse_opts(ac, av, (option_t *) NULL, NULL)) != (char *) NULL ) {
- tst_brkm(TBROK, NULL, "OPTION PARSING ERROR - %s", msg);
- tst_exit();
- }
-
- /***************************************************************
- * perform global setup for test
- ***************************************************************/
- setup();
-
- /* set the expected errnos... */
- TEST_EXP_ENOS(exp_enos);
-
- /***************************************************************
- * check looping state if -c option given
- ***************************************************************/
- for (lc=0; TEST_LOOPING(lc); lc++) {
-
- /* reset Tst_count in case we are looping. */
- Tst_count=0;
-
- for (i=0; i<TST_TOTAL; i++) {
- /*
- * Call fpathconf(2) with one of the valid arguments in the args array
- */
- TEST(fpathconf(fd,args[i].value));
-
- /* check return code -- if the return value is defined */
- if ( (TEST_RETURN == -1) && args[i].defined ) {
- TEST_ERROR_LOG(TEST_ERRNO);
- tst_resm(TFAIL, "fpathconf(fd, %s) Failed, errno=%d : %s", args[i].define_tag,
- TEST_ERRNO, strerror(TEST_ERRNO));
- } else {
-
- /***************************************************************
- * only perform functional verification if flag set (-f not given)
- ***************************************************************/
- if ( STD_FUNCTIONAL_TEST ) {
- /* No Verification test, yet... */
- tst_resm(TPASS, "fpathconf(fd, %s) returned %d", args[i].define_tag, TEST_RETURN);
- }
- }
- } /* End for i */
- } /* End for TEST_LOOPING */
-
- /***************************************************************
- * cleanup and exit
- ***************************************************************/
- cleanup();
-
- return 0;
-} /* End main */
-
-/***************************************************************
- * setup() - performs all ONE TIME setup for this test.
- ***************************************************************/
-void
-setup()
-{
-
- /* capture signals */
- tst_sig(FORK, DEF_HANDLER, cleanup);
-
- tst_tmpdir();
-
- if ( (fd=open(FILENAME, O_RDWR|O_CREAT, 0700)) == -1 )
- tst_brkm(TBROK, cleanup, "Unable to open temp file %s!", FILENAME);
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-
-} /* End setup() */
-
-
-/***************************************************************
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- ***************************************************************/
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- close(fd);
-
- /* exit with return code appropriate for results */
- tst_rmdir();
- tst_exit();
-
-} /* End cleanup() */
diff --git a/winsup/testsuite/winsup.api/ltp/fstat01.c b/winsup/testsuite/winsup.api/ltp/fstat01.c
deleted file mode 100644
index d76684104..000000000
--- a/winsup/testsuite/winsup.api/ltp/fstat01.c
+++ /dev/null
@@ -1,237 +0,0 @@
-/*
- * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it would be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Further, this software is distributed without any warranty that it is
- * free of the rightful claim of any third person regarding infringement
- * or the like. Any license provided herein, whether implied or
- * otherwise, applies only to this software file. Patent licenses, if
- * any, provided herein do not apply to combinations of this program with
- * other software, or any other product whatsoever.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write the Free Software Foundation, Inc., 59
- * Temple Place - Suite 330, Boston MA 02111-1307, USA.
- *
- * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
- * Mountain View, CA 94043, or:
- *
- * http://www.sgi.com
- *
- * For further information regarding this notice, see:
- *
- * http://oss.sgi.com/projects/GenInfo/NoticeExplan/
- *
- */
-/* $Id$ */
-/**********************************************************
- *
- * OS Test - Silicon Graphics, Inc.
- *
- * TEST IDENTIFIER : fstat01
- *
- * EXECUTED BY : anyone
- *
- * TEST TITLE : Basic test for fstat(2)
- *
- * PARENT DOCUMENT : usctpl01
- *
- * TEST CASE TOTAL : 1
- *
- * WALL CLOCK TIME : 1
- *
- * CPU TYPES : ALL
- *
- * AUTHOR : William Roske
- *
- * CO-PILOT : Dave Fenner
- *
- * DATE STARTED : 03/30/92
- *
- * INITIAL RELEASE : UNICOS 7.0
- *
- * TEST CASES
- *
- * 1.) fstat(2) returns...(See Description)
- *
- * INPUT SPECIFICATIONS
- * The standard options for system call tests are accepted.
- * (See the parse_opts(3) man page).
- *
- * OUTPUT SPECIFICATIONS
- *
- * DURATION
- * Terminates - with frequency and infinite modes.
- *
- * SIGNALS
- * Uses SIGUSR1 to pause before test if option set.
- * (See the parse_opts(3) man page).
- *
- * RESOURCES
- * None
- *
- * ENVIRONMENTAL NEEDS
- * No run-time environmental needs.
- *
- * SPECIAL PROCEDURAL REQUIREMENTS
- * None
- *
- * INTERCASE DEPENDENCIES
- * None
- *
- * DETAILED DESCRIPTION
- * This is a Phase I test for the fstat(2) system call. It is intended
- * to provide a limited exposure of the system call, for now. It
- * should/will be extended when full functional tests are written for
- * fstat(2).
- *
- * Setup:
- * Setup signal handling.
- * Pause for SIGUSR1 if option specified.
- *
- * Test:
- * Loop if the proper options are given.
- * Execute system call
- * Check return code, if system call failed (return=-1)
- * Log the errno and Issue a FAIL message.
- * Otherwise, Issue a PASS message.
- *
- * Cleanup:
- * Print errno log and/or timing stats if options given
- *
- *
- *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#**/
-
-#include <sys/types.h>
-#include <sys/fcntl.h>
-#include <sys/stat.h>
-#include <errno.h>
-#include <string.h>
-#include <signal.h>
-#include "test.h"
-#include "usctest.h"
-
-extern void setup();
-extern void cleanup();
-
-const char *TCID="fstat01"; /* Test program identifier. */
-int TST_TOTAL=1; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-
-int exp_enos[]={0, 0};
-
-char fname[255];
-int fd;
-struct stat statter;
-
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
-
- /***************************************************************
- * parse standard options
- ***************************************************************/
- if ( (msg=parse_opts(ac, av, (option_t *) NULL, NULL)) != (char *) NULL )
- tst_brkm(TBROK, cleanup, "OPTION PARSING ERROR - %s", msg);
-
- /***************************************************************
- * perform global setup for test
- ***************************************************************/
- setup();
-
- /* set the expected errnos... */
- TEST_EXP_ENOS(exp_enos);
-
- /***************************************************************
- * check looping state if -c option given
- ***************************************************************/
- for (lc=0; TEST_LOOPING(lc); lc++) {
-
- /* reset Tst_count in case we are looping. */
- Tst_count=0;
-
- /*
- * Call fstat(2)
- */
- TEST(fstat(fd, &statter));
-
- /* check return code */
- if ( TEST_RETURN == -1 ) {
- TEST_ERROR_LOG(TEST_ERRNO);
- tst_resm(TFAIL, "fstat(%s, &statter) Failed, errno=%d : %s", fname,
- TEST_ERRNO, strerror(TEST_ERRNO));
- } else {
-
- /***************************************************************
- * only perform functional verification if flag set (-f not given)
- ***************************************************************/
- if ( STD_FUNCTIONAL_TEST ) {
- /* No Verification test, yet... */
- tst_resm(TPASS, "fstat(%s, &statter) returned %d", fname, TEST_RETURN);
- }
- }
-
- } /* End for TEST_LOOPING */
-
- /***************************************************************
- * cleanup and exit
- ***************************************************************/
- cleanup();
-
- return 0;
-} /* End main */
-
-/***************************************************************
- * setup() - performs all ONE TIME setup for this test.
- ***************************************************************/
-void
-setup()
-{
- /* capture signals */
- tst_sig(NOFORK, DEF_HANDLER, cleanup);
-
- /* make a temp directory and cd to it */
- tst_tmpdir();
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-
- sprintf(fname,"tfile_%d",getpid());
- if ((fd = open(fname,O_RDWR|O_CREAT,0700)) == -1) {
- tst_brkm(TBROK, cleanup, "open(%s, O_RDWR|O_CREAT,0700) Failed, errno=%d : %s", fname, errno, strerror(errno));
- }
-} /* End setup() */
-
-
-/***************************************************************
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- ***************************************************************/
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- if (close(fd) == -1) {
- tst_resm(TWARN, "close(%s) Failed, errno=%d : %s", fname, errno, strerror(errno));
- }
-
- /* Remove tmp dir and all files in it */
- tst_rmdir();
-
- /* exit with return code appropriate for results */
- tst_exit();
-} /* End cleanup() */
diff --git a/winsup/testsuite/winsup.api/ltp/fstat02.c b/winsup/testsuite/winsup.api/ltp/fstat02.c
deleted file mode 100644
index 224caf0d7..000000000
--- a/winsup/testsuite/winsup.api/ltp/fstat02.c
+++ /dev/null
@@ -1,244 +0,0 @@
-/*
- *
- * Copyright (c) International Business Machines Corp., 2001
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-/*
- * Test Name: fstat02
- *
- * Test Description:
- * Verify that, fstat(2) succeeds to get the status of a file and fills
- * the stat structure elements though file pointed to by file descriptor
- * not opened for reading.
- *
- * Expected Result:
- * fstat() should return value 0 on success and the stat structure elements
- * should be filled with specified 'file' information.
- *
- * Algorithm:
- * Setup:
- * Setup signal handling.
- * Create temporary directory.
- * Pause for SIGUSR1 if option specified.
- *
- * Test:
- * Loop if the proper options are given.
- * Execute system call
- * Check return code, if system call failed (return=-1)
- * Log the errno and Issue a FAIL message.
- * Otherwise,
- * Verify the Functionality of system call
- * if successful,
- * Issue Functionality-Pass message.
- * Otherwise,
- * Issue Functionality-Fail message.
- * Cleanup:
- * Print errno log and/or timing stats if options given
- * Delete the temporary directory created.
- *
- * Usage: <for command-line>
- * fstat02 [-c n] [-f] [-i n] [-I x] [-P x] [-t]
- * where, -c n : Run n copies concurrently.
- * -f : Turn off functionality Testing.
- * -i n : Execute test n times.
- * -I x : Execute test for x seconds.
- * -P x : Pause for x seconds between iterations.
- * -t : Turn on syscall timing.
- *
- * HISTORY
- * 07/2001 Ported by Wayne Boyer
- *
- * RESTRICTIONS:
- * This test should be run by 'non-super-user' only.
- *
- */
-#include <sys/types.h>
-#include <sys/fcntl.h>
-#include <sys/stat.h>
-#include <errno.h>
-#include <string.h>
-#include <signal.h>
-
-#include "test.h"
-#include "usctest.h"
-
-#define FILE_MODE 0644
-#define TESTFILE "testfile"
-#define FILE_SIZE 1024
-#define BUF_SIZE 256
-#define MASK 0777
-
-const char *TCID="fstat02"; /* Test program identifier. */
-int TST_TOTAL=1; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-uid_t User_id; /* user id/group id of test process */
-gid_t Group_id;
-int fildes; /* File descriptor of testfile */
-
-void setup(); /* Setup function for the test */
-void cleanup() __attribute__((noreturn));/* Cleanup function for the test */
-
-int
-main(int ac, char **av)
-{
- struct stat stat_buf; /* stat structure buffer */
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
-
- /* Parse standard options given to run the test. */
- msg = parse_opts(ac, av, (option_t *) NULL, NULL);
- if (msg != (char *) NULL) {
- tst_brkm(TBROK, NULL, "OPTION PARSING ERROR - %s", msg);
- tst_exit();
- }
-
- /* Perform global setup for test */
- setup();
-
- /* Check looping state if -i option given */
- for (lc = 0; TEST_LOOPING(lc); lc++) {
- /* Reset Tst_count in case we are looping. */
- Tst_count = 0;
-
- /*
- * Call fstat(2) to get the status of
- * specified 'file' pointed to by 'fd'
- * into stat structure.
- */
- TEST(fstat(fildes, &stat_buf));
-
- /* check return code of fstat(2) */
- if (TEST_RETURN == -1) {
- tst_resm(TFAIL,
- "fstat on %s Failed, errno=%d : %s",
- TESTFILE, TEST_ERRNO, strerror(TEST_ERRNO));
- continue;
- }
- /*
- * Perform functional verification if test
- * executed without (-f) option.
- */
- if (STD_FUNCTIONAL_TEST) {
- /*
- * Verify the data returned by fstat(2)
- * aganist the expected data.
- */
- if ((stat_buf.st_uid != User_id) ||
- (stat_buf.st_gid != Group_id) ||
- (stat_buf.st_size != FILE_SIZE) ||
- ((stat_buf.st_mode & MASK) != FILE_MODE)) {
- tst_resm(TFAIL, "Functionality of fstat(2) on "
- "'%s' Failed", TESTFILE);
- } else {
- tst_resm(TPASS, "Functionality of fstat(2) on "
- "'%s' Succcessful", TESTFILE);
- }
- } else {
- tst_resm(TPASS, "call succeeded");
- }
- } /* End for TEST_LOOPING */
-
- /* Call cleanup() to undo setup done for the test. */
- cleanup();
-
- /*NOTREACHED*/
-} /* End main */
-
-/*
- * void
- * setup() - Performs setup function for the test.
- * Creat a temporary directory and chdir to it.
- * Creat a temporary file and write some known data into it.
- * Get the effective uid/gid of test process.
- */
-void
-setup()
-{
- int i;
- char tst_buff[BUF_SIZE];
- int wbytes;
- int write_len = 0;
-
- /* capture signals */
- tst_sig(NOFORK, DEF_HANDLER, cleanup);
-
- /* Check that the test process id is not super/root */
- if (geteuid() == 0) {
- tst_brkm(TBROK, NULL, "Must be non-super/root for this test!");
- tst_exit();
- }
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-
- /* make a temp directory and cd to it */
- tst_tmpdir();
-
- if ((fildes = open(TESTFILE, O_WRONLY|O_CREAT, FILE_MODE)) == -1) {
- tst_brkm(TBROK, cleanup,
- "open(%s, O_RDWR|O_CREAT, %#o) Failed, errno=%d : %s",
- TESTFILE, FILE_MODE, errno, strerror(errno));
- }
-
- /* Fill the test buffer with the known data */
- for (i = 0; i < BUF_SIZE; i++) {
- tst_buff[i] = 'a';
- }
-
- /* Write to the file 1k data from the buffer */
- while (write_len < FILE_SIZE) {
- if ((wbytes = write(fildes, tst_buff, sizeof(tst_buff))) <= 0) {
- tst_brkm(TBROK, cleanup,
- "write(2) on %s Failed, errno=%d : %s",
- TESTFILE, errno, strerror(errno));
- } else {
- write_len += wbytes;
- }
- }
-
- /* Get the uid/gid of the process */
- User_id = getuid();
- Group_id = getgid();
-
-} /* End setup() */
-
-/*
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- * Close the test file and remove the test file and temporary directory.
- */
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /* Close the test file */
- if (close(fildes) == -1) {
- tst_brkm(TFAIL, NULL, "close(%s) Failed, errno=%d : %s",
- TESTFILE, errno, strerror(errno));
- }
-
- /* Remove tmp dir and all files in it */
- tst_rmdir();
-
- /* exit with return code appropriate for results */
- tst_exit();
-} /* End cleanup() */
diff --git a/winsup/testsuite/winsup.api/ltp/fstat03.c b/winsup/testsuite/winsup.api/ltp/fstat03.c
deleted file mode 100644
index 47982ed47..000000000
--- a/winsup/testsuite/winsup.api/ltp/fstat03.c
+++ /dev/null
@@ -1,189 +0,0 @@
-/*
- * Test Name: fstat03
- *
- * Test Description:
- * Verify that, fstat(2) returns -1 and sets errno to EBADF if the file
- * pointed to by file descriptor is not valid.
- *
- * Expected Result:
- * fstat() should fail with return value -1 and set expected errno.
- *
- * Algorithm:
- * Setup:
- * Setup signal handling.
- * Create temporary directory.
- * Pause for SIGUSR1 if option specified.
- *
- * Test:
- * Loop if the proper options are given.
- * Execute system call
- * Check return code, if system call failed (return=-1)
- * if errno set == expected errno
- * Issue sys call fails with expected return value and errno.
- * Otherwise,
- * Issue sys call fails with unexpected errno.
- * Otherwise,
- * Issue sys call returns unexpected value.
- *
- * Cleanup:
- * Print errno log and/or timing stats if options given
- * Delete the temporary directory(s)/file(s) created.
- *
- * Usage: <for command-line>
- * fstat03 [-c n] [-e] [-i n] [-I x] [-P x] [-t]
- * where, -c n : Run n copies concurrently.
- * -e : Turn on errno logging.
- * -i n : Execute test n times.
- * -I x : Execute test for x seconds.
- * -P x : Pause for x seconds between iterations.
- * -t : Turn on syscall timing.
- *
- * HISTORY
- * 07/2001 Ported by Wayne Boyer
- *
- * RESTRICTIONS:
- * This test should be executed by 'non-super-user' only.
- *
- */
-
-#include <fcntl.h>
-#include <errno.h>
-#include <string.h>
-#include <signal.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-
-#include "test.h"
-#include "usctest.h"
-
-#define FILE_MODE S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH
-#define TEST_FILE "testfile"
-
-const char *TCID="fstat03"; /* Test program identifier. */
-int TST_TOTAL = 1; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-int exp_enos[]={EBADF, 0};
-int fildes; /* testfile descriptor */
-
-void setup(); /* Main setup function for the tests */
-void cleanup() __attribute__((noreturn));/* cleanup function for the test */
-
-int
-main(int ac, char **av)
-{
- struct stat stat_buf; /* stat structure buffer */
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
-
- /* Parse standard options given to run the test. */
- msg = parse_opts(ac, av, (option_t *) NULL, NULL);
- if (msg != (char *) NULL) {
- tst_brkm(TBROK, NULL, "OPTION PARSING ERROR - %s", msg);
- tst_exit();
- }
-
- /*
- * Invoke setup function to create a testfile under temporary
- * directory.
- */
- setup();
-
- /* set the expected errnos... */
- TEST_EXP_ENOS(exp_enos);
-
- /* Check looping state if -i option given */
- for (lc = 0; TEST_LOOPING(lc); lc++) {
- /* Reset Tst_count in case we are looping. */
- Tst_count=0;
- /*
- * Call fstat(2) to get the status information
- * of a closed testfile pointed to by 'fd'.
- * verify that fstat fails with -1 return value and
- * sets appropriate errno.
- */
- TEST(fstat(fildes, &stat_buf));
-
- /* Check return code from fstat(2) */
- if (TEST_RETURN == -1) {
- TEST_ERROR_LOG(TEST_ERRNO);
- if (TEST_ERRNO == EBADF) {
- tst_resm(TPASS, "fstat() fails with "
- "expected error EBADF");
- } else {
- tst_resm(TFAIL, "fstat() fails with "
- "wrong errno:%d", TEST_ERRNO);
- }
- } else {
- tst_resm(TFAIL, "fstat() returned %d, "
- "expected -1, error EBADF");
- }
- } /* End for TEST_LOOPING */
-
- /*
- * Invoke cleanup() to delete the test directory/file(s) created
- * in the setup().
- */
- cleanup();
-
- /*NOTREACHED*/
-} /* End main */
-
-/*
- * void
- * setup(void) - performs all ONE TIME setup for this test.
- * Exit the test program on receipt of unexpected signals.
- * Create a temporary directory and change directory to it.
- * Create a testfile under temporary directory.
- * Close the testfile.
- */
-void
-setup()
-{
- /* Capture unexpected signals */
- tst_sig(NOFORK, DEF_HANDLER, cleanup);
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-
- /* Make a temp dir and cd to it */
- tst_tmpdir();
-
- /* Create a testfile under temporary directory */
- if ((fildes = open(TEST_FILE, O_RDWR|O_CREAT, 0666)) == -1) {
- tst_brkm(TBROK, cleanup,
- "open(%s, O_RDWR|O_CREAT, 0666) failed, errno=%d : %s",
- TEST_FILE, errno, strerror(errno));
- }
-
- if (close(fildes) == -1) {
- tst_brkm(TBROK, cleanup,
- "close(%s) Failed, errno=%d : %s",
- TEST_FILE, errno, strerror(errno));
- }
-} /* End of setup */
-
-/*
- * void
- * cleanup() - Performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- * Print test timing stats and errno log if test executed with options.
- * Close the testfile if still opened.
- * Remove temporary directory and sub-directories/files under it
- * created during setup().
- * Exit the test program with normal exit code.
- */
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /* Remove files and temporary directory created */
- tst_rmdir();
-
- /* exit with return code appropriate for results */
- tst_exit();
-} /* End cleanup() */
diff --git a/winsup/testsuite/winsup.api/ltp/fstat04.c b/winsup/testsuite/winsup.api/ltp/fstat04.c
deleted file mode 100644
index 1de507e62..000000000
--- a/winsup/testsuite/winsup.api/ltp/fstat04.c
+++ /dev/null
@@ -1,244 +0,0 @@
-/*
- *
- * Copyright (c) International Business Machines Corp., 2001
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-/*
- * Test Name: fstat01
- *
- * Test Description:
- * Verify that, fstat(2) succeeds to get the status of a file pointed by
- * file descriptor and fills the stat structure elements.
- *
- * Expected Result:
- * fstat() should return value 0 on success and the stat structure should
- * be filled with specified 'file' information.
- *
- * Algorithm:
- * Setup:
- * Setup signal handling.
- * Create temporary directory.
- * Pause for SIGUSR1 if option specified.
- *
- * Test:
- * Loop if the proper options are given.
- * Execute system call
- * Check return code, if system call failed (return=-1)
- * Log the errno and Issue a FAIL message.
- * Otherwise,
- * Verify the Functionality of system call
- * if successful,
- * Issue Functionality-Pass message.
- * Otherwise,
- * Issue Functionality-Fail message.
- * Cleanup:
- * Print errno log and/or timing stats if options given
- * Delete the temporary directory created.
- *
- * Usage: <for command-line>
- * fstat01 [-c n] [-f] [-i n] [-I x] [-P x] [-t]
- * where, -c n : Run n copies concurrently.
- * -f : Turn off functionality Testing.
- * -i n : Execute test n times.
- * -I x : Execute test for x seconds.
- * -P x : Pause for x seconds between iterations.
- * -t : Turn on syscall timing.
- *
- * HISTORY
- * 07/2001 Ported by Wayne Boyer
- *
- * RESTRICTIONS:
- * This test should be run by 'non-super-user' only.
- *
- */
-#include <sys/types.h>
-#include <sys/fcntl.h>
-#include <sys/stat.h>
-#include <errno.h>
-#include <string.h>
-#include <signal.h>
-
-#include "test.h"
-#include "usctest.h"
-
-#define FILE_MODE 0644
-#define TESTFILE "testfile"
-#define FILE_SIZE 1024
-#define BUF_SIZE 256
-#define MASK 0777
-
-const char *TCID="fstat01"; /* Test program identifier. */
-int TST_TOTAL=1; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-uid_t User_id; /* user id/group id of test process */
-gid_t Group_id;
-int fildes; /* File descriptor of testfile */
-
-void setup(); /* Setup function for the test */
-void cleanup() __attribute__((noreturn));/* Cleanup function for the test */
-
-int
-main(int ac, char **av)
-{
- struct stat stat_buf; /* stat structure buffer */
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
-
- /* Parse standard options given to run the test. */
- msg = parse_opts(ac, av, (option_t *) NULL, NULL);
- if (msg != (char *) NULL) {
- tst_brkm(TBROK, NULL, "OPTION PARSING ERROR - %s", msg);
- tst_exit();
- }
-
- /* Perform global setup for test */
- setup();
-
- /* Check looping state if -i option given */
- for (lc = 0; TEST_LOOPING(lc); lc++) {
- /* Reset Tst_count in case we are looping. */
- Tst_count = 0;
-
- /*
- * Call fstat(2) to get the status of
- * specified 'file' pointed to 'fd'
- * into stat structure.
- */
- TEST(fstat(fildes, &stat_buf));
-
- /* check return code of fstat(2) */
- if (TEST_RETURN == -1) {
- tst_resm(TFAIL,
- "fstat on %s Failed, errno=%d : %s",
- TESTFILE, TEST_ERRNO, strerror(TEST_ERRNO));
- continue;
- }
- /*
- * Perform functional verification if test
- * executed without (-f) option.
- */
- if (STD_FUNCTIONAL_TEST) {
- /*
- * Verify the data returned by fstat(2)
- * aganist the expected data.
- */
- if ((stat_buf.st_uid != User_id) ||
- (stat_buf.st_gid != Group_id) ||
- (stat_buf.st_size != FILE_SIZE) ||
- ((stat_buf.st_mode & MASK) != FILE_MODE)) {
- tst_resm(TFAIL, "Functionality of fstat(2) on "
- "'%s' Failed", TESTFILE);
- } else {
- tst_resm(TPASS, "Functionality of fstat(2) on "
- "'%s' Succcessful", TESTFILE);
- }
- } else {
- tst_resm(TPASS, "call succeeded");
- }
- } /* End for TEST_LOOPING */
-
- /* Call cleanup() to undo setup done for the test. */
- cleanup();
-
- /*NOTREACHED*/
-} /* End main */
-
-/*
- * void
- * setup() - Performs setup function for the test.
- * Creat a temporary directory and chdir to it.
- * Creat a test file and write some data into it.
- * Get the user/group id info. of test process.
- */
-void
-setup()
-{
- int i; /* counter */
- char tst_buff[BUF_SIZE]; /* data buffer */
- int wbytes; /* no. of bytes written */
- int write_len = 0; /* data length */
-
- /* capture signals */
- tst_sig(NOFORK, DEF_HANDLER, cleanup);
-
- /* Check that the test process id is not super/root */
- if (geteuid() == 0) {
- tst_brkm(TBROK, NULL, "Must be non-super/root for this test!");
- tst_exit();
- }
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-
- /* make a temp directory and cd to it */
- tst_tmpdir();
-
- if ((fildes = open(TESTFILE, O_RDWR|O_CREAT, FILE_MODE)) == -1) {
- tst_brkm(TBROK, cleanup,
- "open(%s, O_RDWR|O_CREAT, %#o) Failed, errno=%d : %s",
- TESTFILE, FILE_MODE, errno, strerror(errno));
- }
-
- /* Fill the test buffer with the known data */
- for (i = 0; i < BUF_SIZE; i++) {
- tst_buff[i] = 'a';
- }
-
- /* Write to the file 1k data from the buffer */
- while (write_len < FILE_SIZE) {
- if ((wbytes = write(fildes, tst_buff, sizeof(tst_buff))) <= 0) {
- tst_brkm(TBROK, cleanup,
- "write(2) on %s Failed, errno=%d : %s",
- TESTFILE, errno, strerror(errno));
- } else {
- write_len += wbytes;
- }
- }
-
- /* Get the uid/gid of the process */
- User_id = getuid();
- Group_id = getgid();
-
-} /* End setup() */
-
-/*
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- * Close the testfile opened for reading/writing.
- * Delete the testfile and temporary directory.
- */
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /* Close the test file */
- if (close(fildes) == -1) {
- tst_brkm(TFAIL, NULL, "close(%s) Failed, errno=%d : %s",
- TESTFILE, errno, strerror(errno));
- }
-
- /* Remove tmp dir and all files in it */
- tst_rmdir();
-
- /* exit with return code appropriate for results */
- tst_exit();
-} /* End cleanup() */
diff --git a/winsup/testsuite/winsup.api/ltp/fsync01.c b/winsup/testsuite/winsup.api/ltp/fsync01.c
deleted file mode 100644
index 261ea0dbb..000000000
--- a/winsup/testsuite/winsup.api/ltp/fsync01.c
+++ /dev/null
@@ -1,248 +0,0 @@
-/*
- * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it would be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Further, this software is distributed without any warranty that it is
- * free of the rightful claim of any third person regarding infringement
- * or the like. Any license provided herein, whether implied or
- * otherwise, applies only to this software file. Patent licenses, if
- * any, provided herein do not apply to combinations of this program with
- * other software, or any other product whatsoever.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write the Free Software Foundation, Inc., 59
- * Temple Place - Suite 330, Boston MA 02111-1307, USA.
- *
- * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
- * Mountain View, CA 94043, or:
- *
- * http://www.sgi.com
- *
- * For further information regarding this notice, see:
- *
- * http://oss.sgi.com/projects/GenInfo/NoticeExplan/
- *
- */
-/* $Id$ */
-/**********************************************************
- *
- * OS Test - Silicon Graphics, Inc.
- *
- * TEST IDENTIFIER : fsync01
- *
- * EXECUTED BY : anyone
- *
- * TEST TITLE : Basic test for fsync(2)
- *
- * PARENT DOCUMENT : usctpl01
- *
- * TEST CASE TOTAL : 1
- *
- * WALL CLOCK TIME : 1
- *
- * CPU TYPES : ALL
- *
- * AUTHOR : William Roske
- *
- * CO-PILOT : Dave Fenner
- *
- * DATE STARTED : 03/30/92
- *
- * INITIAL RELEASE : UNICOS 7.0
- *
- * TEST CASES
- *
- * 1.) fsync(2) returns...(See Description)
- *
- * INPUT SPECIFICATIONS
- * The standard options for system call tests are accepted.
- * (See the parse_opts(3) man page).
- *
- * OUTPUT SPECIFICATIONS
- *
- * DURATION
- * Terminates - with frequency and infinite modes.
- *
- * SIGNALS
- * Uses SIGUSR1 to pause before test if option set.
- * (See the parse_opts(3) man page).
- *
- * RESOURCES
- * None
- *
- * ENVIRONMENTAL NEEDS
- * No run-time environmental needs.
- *
- * SPECIAL PROCEDURAL REQUIREMENTS
- * None
- *
- * INTERCASE DEPENDENCIES
- * None
- *
- * DETAILED DESCRIPTION
- * This is a Phase I test for the fsync(2) system call. It is intended
- * to provide a limited exposure of the system call, for now. It
- * should/will be extended when full functional tests are written for
- * fsync(2).
- *
- * Setup:
- * Setup signal handling.
- * Pause for SIGUSR1 if option specified.
- *
- * Test:
- * Loop if the proper options are given.
- * Execute system call
- * Check return code, if system call failed (return=-1)
- * Log the errno and Issue a FAIL message.
- * Otherwise, Issue a PASS message.
- *
- * Cleanup:
- * Print errno log and/or timing stats if options given
- *
- *
- *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#**/
-
-#include <sys/types.h>
-#include <sys/fcntl.h>
-#include <sys/statfs.h>
-#include <errno.h>
-#include <string.h>
-#include <signal.h>
-#include "test.h"
-#include "usctest.h"
-
-extern void setup();
-extern void cleanup();
-
-
-
-const char *TCID="fsync01"; /* Test program identifier. */
-int TST_TOTAL=1; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-
-int exp_enos[]={0, 0};
-
-char fname[255];
-int fd;
-const char *buf = "davef";
-
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
-
- /***************************************************************
- * parse standard options
- ***************************************************************/
- if ( (msg=parse_opts(ac, av, (option_t *) NULL, NULL)) != (char *) NULL )
- tst_brkm(TBROK, cleanup, "OPTION PARSING ERROR - %s", msg);
-
- /***************************************************************
- * perform global setup for test
- ***************************************************************/
- setup();
-
- /* set the expected errnos... */
- TEST_EXP_ENOS(exp_enos);
-
- /***************************************************************
- * check looping state if -c option given
- ***************************************************************/
- for (lc=0; TEST_LOOPING(lc); lc++) {
-
- /* reset Tst_count in case we are looping. */
- Tst_count=0;
-
- /* write sone data to get fsync'd out */
- if (write(fd, &buf, strlen(buf)) == -1) {
- tst_brkm(TBROK, cleanup,
- "write(%s, &buf, strlen(buf)) Failed, errno=%d : %s",
- fname, TEST_ERRNO, strerror(TEST_ERRNO));
- }
- /*
- * Call fsync(2)
- */
- TEST(fsync(fd));
-
- /* check return code */
- if ( TEST_RETURN == -1 ) {
- TEST_ERROR_LOG(TEST_ERRNO);
- tst_resm(TFAIL, "fsync(%s) Failed, errno=%d : %s", fname,
- TEST_ERRNO, strerror(TEST_ERRNO));
- } else {
-
- /***************************************************************
- * only perform functional verification if flag set (-f not given)
- ***************************************************************/
- if ( STD_FUNCTIONAL_TEST ) {
- /* No Verification test, yet... */
- tst_resm(TPASS, "fsync(%s) returned %d", fname, TEST_RETURN);
- }
- }
-
- } /* End for TEST_LOOPING */
-
- /***************************************************************
- * cleanup and exit
- ***************************************************************/
- cleanup();
-
- return 0;
-} /* End main */
-
-/***************************************************************
- * setup() - performs all ONE TIME setup for this test.
- ***************************************************************/
-void
-setup()
-{
- /* capture signals */
- tst_sig(NOFORK, DEF_HANDLER, cleanup);
-
- /* make a temp directory and cd to it */
- tst_tmpdir();
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-
- sprintf(fname,"tfile_%d",getpid());
- if ((fd = open(fname,O_RDWR|O_CREAT,0700)) == -1) {
- tst_brkm(TBROK, cleanup,
- "open(%s, O_RDWR|O_CREAT,0700) Failed, errno=%d : %s",
- fname, errno, strerror(errno));
- }
-} /* End setup() */
-
-
-/***************************************************************
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- ***************************************************************/
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /* close the file we have open */
- if (close(fd) == -1) {
- tst_resm(TWARN, "close(%s) Failed, errno=%d : %s", fname, errno, strerror(errno));
- }
-
- /* Remove tmp dir and all files in it */
- tst_rmdir();
-
- /* exit with return code appropriate for results */
- tst_exit();
-} /* End cleanup() */
diff --git a/winsup/testsuite/winsup.api/ltp/ftruncate01.c b/winsup/testsuite/winsup.api/ltp/ftruncate01.c
deleted file mode 100644
index a45c167aa..000000000
--- a/winsup/testsuite/winsup.api/ltp/ftruncate01.c
+++ /dev/null
@@ -1,244 +0,0 @@
-/*
- *
- * Copyright (c) International Business Machines Corp., 2001
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-/*
- * Test Name: ftruncate01
- *
- * Test Description:
- * Verify that, ftruncate(2) succeeds to truncate a file to a specified
- * length if the file indicated by file descriptor opened for writing.
- *
- * Expected Result:
- * ftruncate(2) should return a value 0 and the length of the file after
- * truncation should be equal to the length it is truncated to.
- *
- * Algorithm:
- * Setup:
- * Setup signal handling.
- * Create temporary directory.
- * Pause for SIGUSR1 if option specified.
- *
- * Test:
- * Loop if the proper options are given.
- * Execute system call
- * Check return code, if system call failed (return=-1)
- * Log the errno and Issue a FAIL message.
- * Otherwise,
- * Verify the Functionality of system call
- * if successful,
- * Issue Functionality-Pass message.
- * Otherwise,
- * Issue Functionality-Fail message.
- * Cleanup:
- * Print errno log and/or timing stats if options given
- * Delete the temporary directory created.
- *
- * Usage: <for command-line>
- * ftruncate01 [-c n] [-f] [-i n] [-I x] [-P x] [-t]
- * where, -c n : Run n copies concurrently.
- * -f : Turn off functionality Testing.
- * -i n : Execute test n times.
- * -I x : Execute test for x seconds.
- * -P x : Pause for x seconds between iterations.
- * -t : Turn on syscall timing.
- *
- * HISTORY
- * 07/2001 Ported by Wayne Boyer
- *
- * RESTRICTIONS:
- * This test should be run by 'non-super-user' only.
- *
- */
-
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <sys/fcntl.h>
-#include <errno.h>
-#include <string.h>
-#include <signal.h>
-
-#include "test.h"
-#include "usctest.h"
-
-#define TESTFILE "testfile" /* file under test */
-#define FILE_MODE S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH
-#define BUF_SIZE 256 /* buffer size */
-#define FILE_SIZE 1024 /* test file size */
-#define TRUNC_LEN 256 /* truncation length */
-
-const char *TCID="ftruncate01"; /* Test program identifier. */
-int TST_TOTAL=1; /* Total number of test conditions */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-int fildes; /* file descriptor for test file */
-
-void setup(); /* setup function for the test */
-void cleanup(void) __attribute__((noreturn)); /* cleanup function for the test */
-
-int
-main(int ac, char **av)
-{
- struct stat stat_buf; /* stat(2) struct contents */
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
- off_t file_length; /* test file length */
-
- /* Parse standard options given to run the test. */
- msg = parse_opts(ac, av, (option_t *) NULL, NULL);
- if (msg != (char *) NULL) {
- tst_brkm(TBROK, NULL, "OPTION PARSING ERROR - %s", msg);
- tst_exit();
- }
-
- /* Perform global setup for test */
- setup();
-
- /* Check looping state if -i option given */
- for (lc = 0; TEST_LOOPING(lc); lc++) {
- /* Reset Tst_count in case we are looping. */
- Tst_count = 0;
-
- /*
- * Call ftruncate(2) to truncate a test file to a
- * specified length.
- */
- TEST(ftruncate(fildes, TRUNC_LEN));
-
- /* check return code of ftruncate(2) */
- if (TEST_RETURN == -1) {
- tst_resm(TFAIL,
- "ftruncate() of %s Failed, errno=%d : %s",
- TESTFILE, TEST_ERRNO,
- strerror(TEST_ERRNO));
- continue;
- }
- /*
- * Perform functional verification if test
- * executed without (-f) option.
- */
- if (STD_FUNCTIONAL_TEST) {
- /*
- * Get the testfile information using
- * fstat(2).
- */
- if (fstat(fildes, &stat_buf) < 0) {
- tst_brkm(TFAIL, cleanup,
- "stat(2) of %s failed, error:%d",
- TESTFILE, errno);
- }
- stat_buf.st_mode &= ~S_IFREG;
- file_length = stat_buf.st_size;
-
- /*
- * Check for expected size of testfile after
- * truncate(2) on it.
- */
- if (file_length != TRUNC_LEN) {
- tst_resm(TFAIL, "%s: Incorrect file size %d, "
- "Expected %d", TESTFILE, file_length,
- TRUNC_LEN);
- } else {
- tst_resm(TPASS, "Functionality of ftruncate() "
- "on %s successful", TESTFILE);
- }
- } else {
- tst_resm(TPASS, "call succeeded");
- }
- } /* End for TEST_LOOPING */
-
- /* Call cleanup() to undo setup done for the test. */
- cleanup();
-
- /*NOTREACHED*/
-} /* End main */
-
-/*
- * void
- * setup() - performs all ONE TIME setup for this test.
- * Create a temporary directory and change directory to it.
- * Create a test file under temporary directory and write some
- * data into it.
- */
-void
-setup()
-{
- int i; /* counter for for loop() */
- int c, c_total = 0; /* bytes to be written to file */
- char tst_buff[BUF_SIZE]; /* buffer to hold data */
-
- /* capture signals */
- tst_sig(NOFORK, DEF_HANDLER, cleanup);
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-
- /* make a temp directory and cd to it */
- tst_tmpdir();
-
- /* Fill the test buffer with the known data */
- for (i = 0; i < BUF_SIZE; i++) {
- tst_buff[i] = 'a';
- }
-
- /* open a file for reading/writing */
- if ((fildes = open(TESTFILE, O_RDWR|O_CREAT, FILE_MODE)) == -1) {
- tst_brkm(TBROK, cleanup,
- "open(%s, O_RDWR|O_CREAT, %o) Failed, errno=%d : %s",
- TESTFILE, FILE_MODE, errno, strerror(errno));
- }
-
- /* Write to the file 1k data from the buffer */
- while (c_total < FILE_SIZE) {
- if ((c = write(fildes, tst_buff, sizeof(tst_buff))) <= 0) {
- tst_brkm(TBROK, cleanup,
- "write(2) on %s Failed, errno=%d : %s",
- TESTFILE, errno, strerror(errno));
- } else {
- c_total += c;
- }
- }
-} /* End setup() */
-
-/*
- * void
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- * Close the temporary file.
- * Remove the test directory and testfile created in the setup.
- */
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- */
- TEST_CLEANUP;
-
- /* Close the testfile after writing data into it */
- if (close(fildes) == -1) {
- tst_brkm(TFAIL, NULL,
- "close(%s) Failed, errno=%d : %s",
- TESTFILE, errno, strerror(errno));
- }
-
- /* Remove tmp dir and all files in it */
- tst_rmdir();
-
- /* exit with return code appropriate for results */
- tst_exit();
-} /* End cleanup() */
diff --git a/winsup/testsuite/winsup.api/ltp/ftruncate02.c b/winsup/testsuite/winsup.api/ltp/ftruncate02.c
deleted file mode 100644
index 2b4e72326..000000000
--- a/winsup/testsuite/winsup.api/ltp/ftruncate02.c
+++ /dev/null
@@ -1,313 +0,0 @@
-/*
- *
- * Copyright (c) International Business Machines Corp., 2001
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-/*
- * Test Name: ftruncate02
- *
- * Test Description:
- * Verify that, ftruncate(2) succeeds to truncate a file to a certain length,
- * but the attempt to read past the truncated length will fail.
- *
- * Expected Result:
- * ftruncate(2) should return a value 0 and the attempt to read past the
- * truncated length will fail. In case where the file before truncation was
- * shorter, the bytes between the old and new should be all zeroes.
- *
- * Algorithm:
- * Setup:
- * Setup signal handling.
- * Create temporary directory.
- * Pause for SIGUSR1 if option specified.
- *
- * Test:
- * Loop if the proper options are given.
- * Execute system call
- * Check return code, if system call failed (return=-1)
- * Log the errno and Issue a FAIL message.
- * Otherwise,
- * Verify the Functionality of system call
- * if successful,
- * Issue Functionality-Pass message.
- * Otherwise,
- * Issue Functionality-Fail message.
- * Cleanup:
- * Print errno log and/or timing stats if options given
- * Delete the temporary directory created.
- *
- * Usage: <for command-line>
- * ftruncate02 [-c n] [-f] [-i n] [-I x] [-P x] [-t]
- * where, -c n : Run n copies concurrently.
- * -f : Turn off functionality Testing.
- * -i n : Execute test n times.
- * -I x : Execute test for x seconds.
- * -P x : Pause for x seconds between iterations.
- * -t : Turn on syscall timing.
- *
- * HISTORY
- * 07/2001 Ported by Wayne Boyer
- *
- * RESTRICTIONS:
- * This test should be run by 'non-super-user' only.
- *
- */
-
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <sys/fcntl.h>
-#include <errno.h>
-#include <string.h>
-#include <signal.h>
-
-#include "test.h"
-#include "usctest.h"
-
-#define TESTFILE "testfile" /* file under test */
-#define FILE_MODE S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH
-#define BUF_SIZE 256 /* buffer size */
-#define FILE_SIZE 1024 /* test file size */
-#define TRUNC_LEN1 256 /* truncation length */
-#define TRUNC_LEN2 512 /* truncation length */
-
-const char *TCID="ftruncate02"; /* Test program identifier. */
-int TST_TOTAL=1; /* Total number of test conditions */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-int fd; /* file descriptor of testfile */
-char tst_buff[BUF_SIZE]; /* buffer to hold testfile contents */
-
-void setup(); /* setup function for the test */
-void cleanup(void) __attribute__((noreturn)); /* cleanup function for the test */
-
-int
-main(int ac, char **av)
-{
- struct stat stat_buf; /* stat(2) struct contents */
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
- off_t file_length2; /* test file length */
- off_t file_length1; /* test file length */
- int rbytes, i; /* bytes read from testfile */
- int read_len = 0; /* total no. of bytes read from testfile */
- int err_flag = 0; /* error indicator flag */
-
- /* Parse standard options given to run the test. */
- msg = parse_opts(ac, av, (option_t *) NULL, NULL);
- if (msg != (char *) NULL) {
- tst_brkm(TBROK, NULL, "OPTION PARSING ERROR - %s", msg);
- tst_exit();
- }
-
- /* Perform global setup for test */
- setup();
-
- /* Check looping state if -i option given */
- for (lc = 0; TEST_LOOPING(lc); lc++) {
- /* Reset Tst_count in case we are looping. */
- Tst_count = 0;
-
- /*
- * Call ftruncate(2) to truncate a test file to a
- * specified length (TRUNC_LEN1).
- */
- TEST(ftruncate(fd, TRUNC_LEN1));
-
- /* check return code of ftruncate(2) */
- if (TEST_RETURN == -1) {
- tst_resm(TFAIL, "ftruncate of %s to size %d Failed, "
- "errno=%d : %s", TESTFILE, TRUNC_LEN1,
- TEST_ERRNO, strerror(TEST_ERRNO));
- continue;
- }
- /*
- * Perform functional verification if test
- * executed without (-f) option.
- */
- if (STD_FUNCTIONAL_TEST) {
- /*
- * Get the testfile information using
- * fstat(2).
- */
- if (fstat(fd, &stat_buf) < 0) {
- tst_brkm(TFAIL, cleanup, "fstat(2) of %s failed"
- " after 1st truncate, error:%d",
- TESTFILE, errno);
- }
- stat_buf.st_mode &= ~S_IFREG;
- file_length1 = stat_buf.st_size;
-
- /*
- * Set the file pointer of testfile to the
- * beginning of the file.
- */
- if (lseek(fd, 0, SEEK_SET) < 0) {
- tst_brkm(TFAIL, cleanup, "lseek(2) on %s failed"
- " after 1st ftruncate, error:%d",
- TESTFILE, errno);
- }
-
- /* Read the testfile from the beginning. */
- while ((rbytes = read(fd, tst_buff,
- sizeof(tst_buff))) > 0) {
- read_len += rbytes;
- }
-
- /*
- * Execute ftruncate(2) again to truncate
- * testfile to a size TRUNC_LEN2.
- */
- TEST(ftruncate(fd, TRUNC_LEN2));
-
- /* check return code of ftruncate(2) */
- if (TEST_RETURN == -1) {
- tst_resm(TFAIL, "ftruncate of %s to size %d "
- "Failed, errno=%d : %s", TESTFILE,
- TRUNC_LEN2, TEST_ERRNO,
- strerror(TEST_ERRNO));
- continue;
- }
-
- /*
- * Get the testfile information using
- * fstat(2)
- */
- if (fstat(fd, &stat_buf) < 0) {
- tst_brkm(TFAIL, cleanup, "fstat(2) of %s failed"
- " after 2nd truncate, error:%d",
- TESTFILE, errno);
- }
- stat_buf.st_mode &= ~S_IFREG;
- file_length2 = stat_buf.st_size;
-
- /*
- * Set the file pointer of testfile to the
- * offset TRUNC_LEN1 of testfile.
- */
- if (lseek(fd, TRUNC_LEN1, SEEK_SET) < 0) {
- tst_brkm(TFAIL, cleanup, "lseek(2) on %s failed"
- " after 2nd ftruncate, error:%d",
- TESTFILE, errno);
- }
-
- /* Read the testfile contents till EOF */
- while((rbytes = read(fd, tst_buff,
- sizeof(tst_buff))) > 0) {
- for (i = 0; i < rbytes; i++) {
- if (tst_buff[i] != 0) {
- err_flag++;
- }
- }
- }
-
- /*
- * Check for expected size of testfile after
- * issuing ftruncate(2) on it.
- */
- if ((file_length1 != TRUNC_LEN1) ||
- (file_length2 != TRUNC_LEN2) ||
- (read_len != TRUNC_LEN1) ||
- (err_flag != 0)) {
- tst_resm(TFAIL, "Functionality of ftruncate(2) "
- "on %s Failed", TESTFILE);
- } else {
- tst_resm(TPASS, "Functionality of ftruncate(2) "
- "on %s successful", TESTFILE);
- }
- } else {
- tst_resm(TPASS, "call succeeded");
- }
- } /* End for TEST_LOOPING */
-
- /* Call cleanup() to undo setup done for the test. */
- cleanup();
-
- /*NOTREACHED*/
-} /* End main */
-
-/*
- * void
- * setup() - performs all ONE TIME setup for this test.
- * Create a temporary directory and change directory to it.
- * Create a test file under temporary directory and write some
- * data into it.
- */
-void
-setup()
-{
- int i; /* counter variable */
- int wbytes; /* bytes written to testfile */
- int write_len = 0; /* total no. of bytes written to testfile */
-
- /* capture signals */
- tst_sig(NOFORK, DEF_HANDLER, cleanup);
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-
- /* make a temp directory and cd to it */
- tst_tmpdir();
-
- /* Fill the test buffer with the known data */
- for (i = 0; i < BUF_SIZE; i++) {
- tst_buff[i] = 'a';
- }
- /* open a file for reading/writing */
- if ((fd = open(TESTFILE, O_RDWR|O_CREAT, FILE_MODE)) == -1) {
- tst_brkm(TBROK, cleanup,
- "open(%s, O_RDWR|O_CREAT, %o) Failed, errno=%d : %s",
- TESTFILE, FILE_MODE, errno, strerror(errno));
- }
-
- /* Write to the file 1k data from the buffer */
- while (write_len < FILE_SIZE) {
- if ((wbytes = write(fd, tst_buff, sizeof(tst_buff))) <= 0) {
- tst_brkm(TBROK, cleanup,
- "write(2) on %s Failed, errno=%d : %s",
- TESTFILE, errno, strerror(errno));
- } else {
- write_len += wbytes;
- }
- }
-} /* End setup() */
-
-/*
- * void
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- * Close the testfile.
- * Remove the test directory and testfile created in the setup.
- */
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- */
- TEST_CLEANUP;
-
- /* Close the testfile after writing data into it */
- if (close(fd) == -1) {
- tst_brkm(TFAIL, NULL, "close(%s) Failed, errno=%d : %s",
- TESTFILE, errno, strerror(errno));
- }
-
- /* Remove tmp dir and all files in it */
- tst_rmdir();
-
- /* exit with return code appropriate for results */
- tst_exit();
-} /* End cleanup() */
diff --git a/winsup/testsuite/winsup.api/ltp/ftruncate03.c b/winsup/testsuite/winsup.api/ltp/ftruncate03.c
deleted file mode 100644
index 279b4e88f..000000000
--- a/winsup/testsuite/winsup.api/ltp/ftruncate03.c
+++ /dev/null
@@ -1,324 +0,0 @@
-/*
- *
- * Copyright (c) International Business Machines Corp., 2001
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-/*
- * Test Name: ftruncate03
- *
- * Test Description:
- * Verify that,
- * 1) ftruncate(2) returns -1 and sets errno to EINVAL if the specified
- * truncate length is less than 0.
- * 2) ftruncate(2) returns -1 and sets errno to EBADF if the file descriptor
- * of the specified file is not valid.
- *
- * Expected Result:
- * ftruncate() should fail with return value -1 and set expected errno.
- *
- * Algorithm:
- * Setup:
- * Setup signal handling.
- * Create temporary directory.
- * Pause for SIGUSR1 if option specified.
- *
- * Test:
- * Loop if the proper options are given.
- * Execute system call
- * Check return code, if system call failed (return=-1)
- * if errno set == expected errno
- * Issue sys call fails with expected return value and errno.
- * Otherwise,
- * Issue sys call fails with unexpected errno.
- * Otherwise,
- * Issue sys call returns unexpected value.
- *
- * Cleanup:
- * Print errno log and/or timing stats if options given
- * Delete the temporary directory(s)/file(s) created.
- *
- * Usage: <for command-line>
- * ftruncate03 [-c n] [-e] [-i n] [-I x] [-P x] [-t]
- * where, -c n : Run n copies concurrently.
- * -e : Turn on errno logging.
- * -i n : Execute test n times.
- * -I x : Execute test for x seconds.
- * -P x : Pause for x seconds between iterations.
- * -t : Turn on syscall timing.
- *
- * HISTORY
- * 07/2001 Ported by Wayne Boyer
- *
- * RESTRICTIONS:
- * This test should be executed by 'non-super-user' only.
- */
-
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <sys/fcntl.h>
-#include <errno.h>
-#include <string.h>
-#include <signal.h>
-
-#include "test.h"
-#include "usctest.h"
-
-#define TEST_FILE1 "test_file1" /* file under test */
-#define TEST_FILE2 "test_file2" /* file under test */
-#define FILE_MODE S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH
-#define BUF_SIZE 256 /* buffer size */
-#define FILE_SIZE 1024 /* test file size */
-
-int no_setup();
-int setup1(); /* setup function to test chmod for EBADF */
-int setup2(); /* setup function to test chmod for EINVAL */
-
-int fd1; /* File descriptor for testfile1 */
-int fd2; /* File descriptor for testfile2 */
-
-struct test_case_t { /* test case struct. to hold ref. test cond's*/
- int fd;
- const char *desc;
- int exp_errno;
- int len;
- int (*setupfunc)();
-} Test_cases[] = {
- { 1, "Length argument is -ve", EINVAL, -1, setup1 },
- { 2, "File descriptor is not valid", EBADF, 256, setup2 },
- { 0, NULL, 0, 0, no_setup }
-};
-
-const char *TCID="ftruncate03"; /* Test program identifier. */
-int TST_TOTAL=2; /* Total number of test conditions */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-int exp_enos[]={EINVAL, EBADF, 0};
-
-void setup(); /* Main setup function for the test */
-void cleanup(void) __attribute__((noreturn)); /* Main cleanup function for the test */
-
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
- const char *test_desc; /* test specific error message */
- int fildes; /* File descriptor of testfile */
- off_t trunc_len; /* truncate length */
- int ind;
-
- /* Parse standard options given to run the test. */
- msg = parse_opts(ac, av, (option_t *) NULL, NULL);
- if (msg != (char *) NULL) {
- tst_brkm(TBROK, NULL, "OPTION PARSING ERROR - %s", msg);
- tst_exit();
- }
-
- /*
- * Perform global setup for test to call individual test specific
- * setup functions.
- */
- setup();
-
- /* set the expected errnos... */
- TEST_EXP_ENOS(exp_enos);
-
- /* Check looping state if -i option given */
- for (lc = 0; TEST_LOOPING(lc); lc++) {
- /* Reset Tst_count in case we are looping. */
- Tst_count = 0;
-
- for (ind = 0; Test_cases[ind].desc != NULL; ind++) {
- fildes = Test_cases[ind].fd;
- test_desc = Test_cases[ind].desc;
- trunc_len = Test_cases[ind].len;
-
- if (fildes == 1) {
- fildes = fd1;
- } else {
- fildes = fd2;
- }
-
- /*
- * Call ftruncate(2) to test different test conditions.
- * verify that it fails with return code -1 and sets
- * appropriate errno.
- */
- TEST(ftruncate(fildes, trunc_len));
-
- /* check return code of ftruncate(2) */
- if (TEST_RETURN == -1) {
- TEST_ERROR_LOG(TEST_ERRNO);
- if (TEST_ERRNO == Test_cases[ind].exp_errno) {
- tst_resm(TPASS, "ftruncate() fails, %s,"
- " errno=%d", test_desc,
- TEST_ERRNO);
- } else {
- tst_resm(TFAIL, "ftruncate() fails, %s,"
- " errno=%d, expected errno:%d",
- test_desc, TEST_ERRNO,
- Test_cases[ind].exp_errno);
- }
- } else {
- tst_resm(TFAIL, "ftruncate() returned %d, "
- "expected -1, errno:%d", TEST_RETURN,
- Test_cases[ind].exp_errno);
- }
- } /* End of TEST CASE LOOPING. */
- } /* End for TEST_LOOPING */
-
- /* Call cleanup() to undo setup done for the test. */
- cleanup();
-
- /*NOTREACHED*/
-} /* End main */
-
-/*
- * void
- * setup() - performs all ONE TIME setup for this test.
- * Create a temporary directory and change directory to it.
- * Fill the test buffer with some date used to fill test file(s).
- * Call individual test specific setup functions.
- */
-void
-setup()
-{
- int ind;
-
- /* capture signals */
- tst_sig(NOFORK, DEF_HANDLER, cleanup);
-
- /* Check that the test process id is not root/super-user */
- if (geteuid() == 0) {
- tst_brkm(TBROK, NULL, "Must be non-root/super for this test!");
- tst_exit();
- }
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-
- /* make a temp directory and cd to it */
- tst_tmpdir();
-
- /* call individual setup functions */
- for (ind = 0; Test_cases[ind].desc != NULL; ind++) {
- Test_cases[ind].setupfunc();
- }
-} /* End of setup */
-
-/*
- * int
- * setup1() - setup function for a test condition for which ftruncate(2)
- * returns -1 and sets errno to EINVAL.
- * Create a test file and open it for writing only.
- */
-int
-setup1()
-{
- /* Open the testfile in write-only mode */
- if ((fd1 = open(TEST_FILE1, O_WRONLY|O_CREAT, 0644)) == -1) {
- tst_brkm(TBROK, cleanup,
- "open(%s, O_WRONLY) Failed, errno=%d : %s",
- TEST_FILE1, errno, strerror(errno));
- }
- return 0;
-} /* End setup1() */
-
-/*
- * int
- * setup2() - setup function for a test condition for which ftruncate(2)
- * returns -1 and sets errno to EBADF.
- * Create a test file and open it for reading/writing, and fill the
- * testfile with the contents of test buffer.
- * Close the test file.
- *
- */
-int
-setup2()
-{
- int c, i, c_total = 0;
- char tst_buff[BUF_SIZE]; /* buffer to hold testfile contents */
-
- /* Fill the test buffer with the known data */
- for (i = 0; i < BUF_SIZE; i++) {
- tst_buff[i] = 'a';
- }
-
- /* open a testfile for reading/writing */
- if ((fd2 = open(TEST_FILE2, O_RDWR|O_CREAT, FILE_MODE)) == -1) {
- tst_brkm(TBROK, cleanup,
- "open(%s, O_RDWR|O_CREAT, %o) Failed, errno=%d : %s",
- TEST_FILE2, FILE_MODE, errno, strerror(errno));
- }
-
- /* Write to the file 1k data from the buffer */
- while (c_total < FILE_SIZE) {
- if ((c = write(fd2, tst_buff, sizeof(tst_buff))) <= 0) {
- tst_brkm(TBROK, cleanup,
- "write(2) on %s Failed, errno=%d : %s",
- TEST_FILE2, errno, strerror(errno));
- } else {
- c_total += c;
- }
- }
-
- /* Close the testfile after writing data into it */
- if (close(fd2) == -1) {
- tst_brkm(TBROK, cleanup,
- "close(%s) Failed, errno=%d : %s",
- TEST_FILE2, errno, strerror(errno));
- }
- return 0;
-} /* End of setup2 */
-
-/*
- * int
- * no_setup() - This function just returns 0.
- */
-int
-no_setup()
-{
- return 0;
-}
-
-/*
- * void
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- * Close the temporary file.
- * Remove the test directory and testfile created in the setup.
- */
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- */
- TEST_CLEANUP;
-
- /* Close the testfile after opening it read-only in setup1 */
- if (close(fd1) == -1) {
- tst_brkm(TFAIL, NULL,
- "close(%s) Failed, errno=%d : %s",
- TEST_FILE1, errno, strerror(errno));
- }
-
- /* Remove tmp dir and all files in it */
- tst_rmdir();
-
- /* exit with return code appropriate for results */
- tst_exit();
-} /* End cleanup() */
diff --git a/winsup/testsuite/winsup.api/ltp/getegid01.c b/winsup/testsuite/winsup.api/ltp/getegid01.c
deleted file mode 100644
index 942201067..000000000
--- a/winsup/testsuite/winsup.api/ltp/getegid01.c
+++ /dev/null
@@ -1,226 +0,0 @@
-/*
- * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it would be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Further, this software is distributed without any warranty that it is
- * free of the rightful claim of any third person regarding infringement
- * or the like. Any license provided herein, whether implied or
- * otherwise, applies only to this software file. Patent licenses, if
- * any, provided herein do not apply to combinations of this program with
- * other software, or any other product whatsoever.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write the Free Software Foundation, Inc., 59
- * Temple Place - Suite 330, Boston MA 02111-1307, USA.
- *
- * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
- * Mountain View, CA 94043, or:
- *
- * http://www.sgi.com
- *
- * For further information regarding this notice, see:
- *
- * http://oss.sgi.com/projects/GenInfo/NoticeExplan/
- *
- */
-/* $Id$ */
-/**********************************************************
- *
- * OS Test - Silicon Graphics, Inc.
- *
- * TEST IDENTIFIER : getegid01
- *
- * EXECUTED BY : anyone
- *
- * TEST TITLE : Basic test for getegid(2)
- *
- * PARENT DOCUMENT : usctpl01
- *
- * TEST CASE TOTAL : 1
- *
- * WALL CLOCK TIME : 1
- *
- * CPU TYPES : ALL
- *
- * AUTHOR : William Roske
- *
- * CO-PILOT : Dave Fenner
- *
- * DATE STARTED : 03/30/92
- *
- * INITIAL RELEASE : UNICOS 7.0
- *
- * TEST CASES
- *
- * 1.) getegid(2) returns...(See Description)
- *
- * INPUT SPECIFICATIONS
- * The standard options for system call tests are accepted.
- * (See the parse_opts(3) man page).
- *
- * DURATION
- * Terminates - with frequency and infinite modes.
- *
- * SIGNALS
- * Uses SIGUSR1 to pause before test if option set.
- * (See the parse_opts(3) man page).
- *
- * RESOURCES
- * None
- *
- * ENVIRONMENTAL NEEDS
- * No run-time environmental needs.
- *
- * SPECIAL PROCEDURAL REQUIREMENTS
- * None
- *
- * INTERCASE DEPENDENCIES
- * None
- *
- * DETAILED DESCRIPTION
- * This is a Phase I test for the getegid(2) system call. It is intended
- * to provide a limited exposure of the system call, for now. It
- * should/will be extended when full functional tests are written for
- * getegid(2).
- *
- * Setup:
- * Setup signal handling.
- * Pause for SIGUSR1 if option specified.
- *
- * Test:
- * Loop if the proper options are given.
- * Execute system call
- * Check return code, if system call failed (return=-1)
- * Log the errno and Issue a FAIL message.
- * Otherwise, Issue a PASS message.
- *
- * Cleanup:
- * Print errno log and/or timing stats if options given
- *
- *
- *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#**/
-
-#include <errno.h>
-#include <string.h>
-#include <signal.h>
-
-#include <sys/types.h>
-
-#include "test.h"
-#include "usctest.h"
-
-extern void setup();
-extern void cleanup();
-
-
-
-const char *TCID="getegid01"; /* Test program identifier. */
-int TST_TOTAL=1; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-
-int exp_enos[]={0}; /* must be a 0 terminated list */
-
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
-
- ;
-
- /***************************************************************
- * parse standard options
- ***************************************************************/
- if ( (msg=parse_opts(ac, av, (option_t *) NULL, NULL)) != (char *) NULL )
- tst_brkm(TBROK, cleanup, "OPTION PARSING ERROR - %s", msg);
-
- /***************************************************************
- * perform global setup for test
- ***************************************************************/
- setup();
-
- /* set the expected errnos... */
- TEST_EXP_ENOS(exp_enos);
-
- /***************************************************************
- * check looping state if -c option given
- ***************************************************************/
- for (lc=0; TEST_LOOPING(lc); lc++) {
-
- /* reset Tst_count in case we are looping. */
- Tst_count=0;
-
-
- /*
- * TEST CASE:
- * Get effective group id.
- */
- ;
-
- /* Call getegid(2) */
- TEST(getegid( ));
-
- /* check return code */
- if ( TEST_RETURN < 0 ) {
- TEST_ERROR_LOG(TEST_ERRNO);
- tst_resm(TFAIL, "getegid - Get effective group id. failed, errno=%d : %s",
- TEST_ERRNO, strerror(TEST_ERRNO));
- continue; /* next loop for MTKERNEL */
- }
-
- /***************************************************************
- * only perform functional verification if flag set (-f not given)
- ***************************************************************/
- if ( STD_FUNCTIONAL_TEST ) {
- /* No Verification test, yet... */
- tst_resm(TPASS, "getegid - Get effective group id. returned %d", TEST_RETURN);
- }
- } /* End for TEST_LOOPING */
-
- /***************************************************************
- * cleanup and exit
- ***************************************************************/
- cleanup();
-
- return 0;
-} /* End main */
-
-/***************************************************************
- * setup() - performs all ONE TIME setup for this test.
- ***************************************************************/
-void
-setup()
-{
- /* capture signals */
- tst_sig(NOFORK, DEF_HANDLER, cleanup);
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-} /* End setup() */
-
-
-/***************************************************************
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- ***************************************************************/
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /* exit with return code appropriate for results */
- tst_exit();
-} /* End cleanup() */
-
-
diff --git a/winsup/testsuite/winsup.api/ltp/geteuid01.c b/winsup/testsuite/winsup.api/ltp/geteuid01.c
deleted file mode 100644
index 82a681ec5..000000000
--- a/winsup/testsuite/winsup.api/ltp/geteuid01.c
+++ /dev/null
@@ -1,226 +0,0 @@
-/*
- * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it would be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Further, this software is distributed without any warranty that it is
- * free of the rightful claim of any third person regarding infringement
- * or the like. Any license provided herein, whether implied or
- * otherwise, applies only to this software file. Patent licenses, if
- * any, provided herein do not apply to combinations of this program with
- * other software, or any other product whatsoever.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write the Free Software Foundation, Inc., 59
- * Temple Place - Suite 330, Boston MA 02111-1307, USA.
- *
- * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
- * Mountain View, CA 94043, or:
- *
- * http://www.sgi.com
- *
- * For further information regarding this notice, see:
- *
- * http://oss.sgi.com/projects/GenInfo/NoticeExplan/
- *
- */
-/* $Id$ */
-/**********************************************************
- *
- * OS Test - Silicon Graphics, Inc.
- *
- * TEST IDENTIFIER : geteuid01
- *
- * EXECUTED BY : anyone
- *
- * TEST TITLE : Basic test for geteuid(2)
- *
- * PARENT DOCUMENT : usctpl01
- *
- * TEST CASE TOTAL : 1
- *
- * WALL CLOCK TIME : 1
- *
- * CPU TYPES : ALL
- *
- * AUTHOR : William Roske
- *
- * CO-PILOT : Dave Fenner
- *
- * DATE STARTED : 03/30/92
- *
- * INITIAL RELEASE : UNICOS 7.0
- *
- * TEST CASES
- *
- * 1.) geteuid(2) returns...(See Description)
- *
- * INPUT SPECIFICATIONS
- * The standard options for system call tests are accepted.
- * (See the parse_opts(3) man page).
- *
- * DURATION
- * Terminates - with frequency and infinite modes.
- *
- * SIGNALS
- * Uses SIGUSR1 to pause before test if option set.
- * (See the parse_opts(3) man page).
- *
- * RESOURCES
- * None
- *
- * ENVIRONMENTAL NEEDS
- * No run-time environmental needs.
- *
- * SPECIAL PROCEDURAL REQUIREMENTS
- * None
- *
- * INTERCASE DEPENDENCIES
- * None
- *
- * DETAILED DESCRIPTION
- * This is a Phase I test for the geteuid(2) system call. It is intended
- * to provide a limited exposure of the system call, for now. It
- * should/will be extended when full functional tests are written for
- * geteuid(2).
- *
- * Setup:
- * Setup signal handling.
- * Pause for SIGUSR1 if option specified.
- *
- * Test:
- * Loop if the proper options are given.
- * Execute system call
- * Check return code, if system call failed (return=-1)
- * Log the errno and Issue a FAIL message.
- * Otherwise, Issue a PASS message.
- *
- * Cleanup:
- * Print errno log and/or timing stats if options given
- *
- *
- *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#**/
-
-#include <errno.h>
-#include <string.h>
-#include <signal.h>
-
-#include <sys/types.h>
-
-#include "test.h"
-#include "usctest.h"
-
-extern void setup();
-extern void cleanup();
-
-
-
-const char *TCID="geteuid01"; /* Test program identifier. */
-int TST_TOTAL=1; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-
-int exp_enos[]={0}; /* must be a 0 terminated list */
-
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
-
- ;
-
- /***************************************************************
- * parse standard options
- ***************************************************************/
- if ( (msg=parse_opts(ac, av, (option_t *) NULL, NULL)) != (char *) NULL )
- tst_brkm(TBROK, cleanup, "OPTION PARSING ERROR - %s", msg);
-
- /***************************************************************
- * perform global setup for test
- ***************************************************************/
- setup();
-
- /* set the expected errnos... */
- TEST_EXP_ENOS(exp_enos);
-
- /***************************************************************
- * check looping state if -c option given
- ***************************************************************/
- for (lc=0; TEST_LOOPING(lc); lc++) {
-
- /* reset Tst_count in case we are looping. */
- Tst_count=0;
-
-
- /*
- * TEST CASE:
- * Get effective user id.
- */
- ;
-
- /* Call geteuid(2) */
- TEST(geteuid( ));
-
- /* check return code */
- if ( TEST_RETURN < 0 ) {
- TEST_ERROR_LOG(TEST_ERRNO);
- tst_resm(TFAIL, "geteuid - Get effective user id. failed, errno=%d : %s",
- TEST_ERRNO, strerror(TEST_ERRNO));
- continue; /* next loop for MTKERNEL */
- }
-
- /***************************************************************
- * only perform functional verification if flag set (-f not given)
- ***************************************************************/
- if ( STD_FUNCTIONAL_TEST ) {
- /* No Verification test, yet... */
- tst_resm(TPASS, "geteuid - Get effective user id. returned %d", TEST_RETURN);
- }
- } /* End for TEST_LOOPING */
-
- /***************************************************************
- * cleanup and exit
- ***************************************************************/
- cleanup();
-
- return 0;
-} /* End main */
-
-/***************************************************************
- * setup() - performs all ONE TIME setup for this test.
- ***************************************************************/
-void
-setup()
-{
- /* capture signals */
- tst_sig(NOFORK, DEF_HANDLER, cleanup);
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-} /* End setup() */
-
-
-/***************************************************************
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- ***************************************************************/
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /* exit with return code appropriate for results */
- tst_exit();
-} /* End cleanup() */
-
-
diff --git a/winsup/testsuite/winsup.api/ltp/getgid01.c b/winsup/testsuite/winsup.api/ltp/getgid01.c
deleted file mode 100644
index e5b138c8a..000000000
--- a/winsup/testsuite/winsup.api/ltp/getgid01.c
+++ /dev/null
@@ -1,219 +0,0 @@
-/*
- * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it would be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Further, this software is distributed without any warranty that it is
- * free of the rightful claim of any third person regarding infringement
- * or the like. Any license provided herein, whether implied or
- * otherwise, applies only to this software file. Patent licenses, if
- * any, provided herein do not apply to combinations of this program with
- * other software, or any other product whatsoever.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write the Free Software Foundation, Inc., 59
- * Temple Place - Suite 330, Boston MA 02111-1307, USA.
- *
- * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
- * Mountain View, CA 94043, or:
- *
- * http://www.sgi.com
- *
- * For further information regarding this notice, see:
- *
- * http://oss.sgi.com/projects/GenInfo/NoticeExplan/
- *
- */
-/* $Id$ */
-/**********************************************************
- *
- * OS Test - Silicon Graphics, Inc.
- *
- * TEST IDENTIFIER : getgid01
- *
- * EXECUTED BY : anyone
- *
- * TEST TITLE : Basic test for getgid(2)
- *
- * PARENT DOCUMENT : usctpl01
- *
- * TEST CASE TOTAL : 1
- *
- * WALL CLOCK TIME : 1
- *
- * CPU TYPES : ALL
- *
- * AUTHOR : William Roske
- *
- * CO-PILOT : Dave Fenner
- *
- * DATE STARTED : 03/30/92
- *
- * INITIAL RELEASE : UNICOS 7.0
- *
- * TEST CASES
- *
- * 1.) getgid(2) returns...(See Description)
- *
- * INPUT SPECIFICATIONS
- * The standard options for system call tests are accepted.
- * (See the parse_opts(3) man page).
- *
- * OUTPUT SPECIFICATIONS
- *
- * DURATION
- * Terminates - with frequency and infinite modes.
- *
- * SIGNALS
- * Uses SIGUSR1 to pause before test if option set.
- * (See the parse_opts(3) man page).
- *
- * RESOURCES
- * None
- *
- * ENVIRONMENTAL NEEDS
- * No run-time environmental needs.
- *
- * SPECIAL PROCEDURAL REQUIREMENTS
- * None
- *
- * INTERCASE DEPENDENCIES
- * None
- *
- * DETAILED DESCRIPTION
- * This is a Phase I test for the getgid(2) system call. It is intended
- * to provide a limited exposure of the system call, for now. It
- * should/will be extended when full functional tests are written for
- * getgid(2).
- *
- * Setup:
- * Setup signal handling.
- * Pause for SIGUSR1 if option specified.
- *
- * Test:
- * Loop if the proper options are given.
- * Execute system call
- * Check return code, if system call failed (return=-1)
- * Log the errno and Issue a FAIL message.
- * Otherwise, Issue a PASS message.
- *
- * Cleanup:
- * Print errno log and/or timing stats if options given
- *
- *
- *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#**/
-
-#include <sys/types.h>
-#include <sys/fcntl.h>
-#include <errno.h>
-#include <string.h>
-#include <signal.h>
-#include "test.h"
-#include "usctest.h"
-
-extern void setup();
-extern void cleanup();
-
-
-
-const char *TCID="getgid01"; /* Test program identifier. */
-int TST_TOTAL=1; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-
-int exp_enos[]={0, 0};
-
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
-
- /***************************************************************
- * parse standard options
- ***************************************************************/
- if ( (msg=parse_opts(ac, av, (option_t *) NULL, NULL)) != (char *) NULL )
- tst_brkm(TBROK, cleanup, "OPTION PARSING ERROR - %s", msg);
-
- /***************************************************************
- * perform global setup for test
- ***************************************************************/
- setup();
-
- /* set the expected errnos... */
- TEST_EXP_ENOS(exp_enos);
-
- /***************************************************************
- * check looping state if -c option given
- ***************************************************************/
- for (lc=0; TEST_LOOPING(lc); lc++) {
-
- /* reset Tst_count in case we are looping. */
- Tst_count=0;
-
- /*
- * Call getgid(2)
- */
- TEST(getgid());
-
- /* check return code */
- if ( TEST_RETURN == -1 ) {
- TEST_ERROR_LOG(TEST_ERRNO);
- tst_resm(TFAIL, "getgid() Failed, errno=%d : %s",
- TEST_ERRNO, strerror(TEST_ERRNO));
- } else {
-
- /***************************************************************
- * only perform functional verification if flag set (-f not given)
- ***************************************************************/
- if ( STD_FUNCTIONAL_TEST ) {
- /* No Verification test, yet... */
- tst_resm(TPASS, "getgid() returned %d", TEST_RETURN);
- }
- }
-
- } /* End for TEST_LOOPING */
-
- /***************************************************************
- * cleanup and exit
- ***************************************************************/
- cleanup();
-
- return 0;
-} /* End main */
-
-/***************************************************************
- * setup() - performs all ONE TIME setup for this test.
- ***************************************************************/
-void
-setup()
-{
- /* capture signals */
- tst_sig(NOFORK, DEF_HANDLER, cleanup);
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-} /* End setup() */
-
-
-/***************************************************************
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- ***************************************************************/
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /* exit with return code appropriate for results */
- tst_exit();
-} /* End cleanup() */
diff --git a/winsup/testsuite/winsup.api/ltp/getgid02.c b/winsup/testsuite/winsup.api/ltp/getgid02.c
deleted file mode 100644
index 5efbda521..000000000
--- a/winsup/testsuite/winsup.api/ltp/getgid02.c
+++ /dev/null
@@ -1,159 +0,0 @@
-/*
- *
- * Copyright (c) International Business Machines Corp., 2001
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-/*
- * NAME
- * getgid02.c
- *
- * DESCRIPTION
- * Testcase to check the basic functionality of getegid().
- *
- * ALGORITHM
- * call setup
- * loop if that option was specified
- * Execute getegid() call using TEST macro
- * if not expected value
- * break remaining tests and cleanup
- * if STD_FUNCTIONAL_TEST
- * Execute geteuid() call
- * Execute getpwduid() call
- * if the passwd entry is NULL
- * break the remaining tests and cleanup
- * else if pwent->pw_gid != TEST_RETURN
- * print failure message
- * else
- * print pass message
- * else
- * print pass message
- * call cleanup
- *
- * USAGE: <for command-line>
- * getgid02 [-c n] [-f] [-i n] [-I x] [-P x] [-t]
- * where, -c n : Run n copies concurrently.
- * -f : Turn off functionality Testing.
- * -i n : Execute test n times.
- * -I x : Execute test for x seconds.
- * -P x : Pause for x seconds between iterations.
- * -t : Turn on syscall timing.
- *
- * HISTORY
- * 07/2001 Ported by Wayne Boyer
- *
- * RESTRICTIONS
- * none
- */
-
-#include <pwd.h>
-#include <errno.h>
-
-#include "test.h"
-#include "usctest.h"
-
-void cleanup(void) __attribute__((noreturn));
-void setup(void);
-
-const char *TCID= "getgid02";
-int TST_TOTAL = 1;
-extern int Tst_count;
-
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
- int euid;
- struct passwd *pwent;
-
- /* parse standard options */
- if ((msg = parse_opts(ac, av, (option_t *)NULL, NULL)) != (char *)NULL){
- tst_brkm(TBROK, cleanup, "OPTION PARSING ERROR - %s", msg);
- /*NOTREACHED*/
- }
-
- setup(); /* global setup */
-
- /* The following loop checks looping state if -i option given */
- for (lc = 0; TEST_LOOPING(lc); lc++) {
-
- /* reset Tst_count in case we are looping */
- Tst_count = 0;
-
- TEST(getegid());
-
- if (TEST_RETURN < 0) {
- tst_brkm(TBROK, cleanup, "This should never happen");
- }
-
- if (STD_FUNCTIONAL_TEST) {
- euid = geteuid();
-
- pwent = getpwuid(euid);
-
- if (pwent == NULL) {
- tst_brkm(TBROK, cleanup, "geteuid() returned "
- "unexpected value %d", euid);
- } else {
- if (pwent->pw_gid != TEST_RETURN) {
- tst_resm(TFAIL, "getegid() return value"
- " %d unexpected - expected %d",
- TEST_RETURN, pwent->pw_gid);
- } else {
- tst_resm(TPASS, "effective group id %d "
- "is correct", TEST_RETURN);
- }
- }
- } else {
- tst_resm(TPASS, "call succeeded");
- }
- }
- cleanup();
-
- /*NOTREACHED*/
-}
-
-
-/*
- * setup() - performs all ONE TIME setup for this test
- */
-void
-setup()
-{
- /* capture signals */
- tst_sig(NOFORK, DEF_HANDLER, cleanup);
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-}
-
-/*
- * cleanup() - performs all the ONE TIME cleanup for this test at completion
- * or premature exit.
- */
-void
-cleanup()
-{
- /*
- * print timing status if that option was specified.
- * print errno log if that option was specified
- */
- TEST_CLEANUP;
-
- /* exit with return code appropriate for results */
- tst_exit();
-}
diff --git a/winsup/testsuite/winsup.api/ltp/getgid03.c b/winsup/testsuite/winsup.api/ltp/getgid03.c
deleted file mode 100644
index ef0eaea14..000000000
--- a/winsup/testsuite/winsup.api/ltp/getgid03.c
+++ /dev/null
@@ -1,158 +0,0 @@
-/*
- *
- * Copyright (c) International Business Machines Corp., 2001
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-/*
- * NAME
- * getgid01.c
- *
- * DESCRIPTION
- * Testcase to check the basic functionality of getgid().
- *
- * ALGORITHM
- * call setup
- * loop if that option was specified
- * Execute getgid() call using TEST macro
- * if not expected value
- * break remaining tests and cleanup
- * if STD_FUNCTIONAL_TEST
- * Execute getuid() call
- * Execute getpwduid() call
- * if the passwd entry is NULL
- * break the remaining tests and cleanup
- * else if pwent->pw_gid != TEST_RETURN
- * print failure message
- * else
- * print pass message
- * else
- * print pass message
- * call cleanup
- *
- * USAGE: <for command-line>
- * getgid01 [-c n] [-f] [-i n] [-I x] [-P x] [-t]
- * where, -c n : Run n copies concurrently.
- * -f : Turn off functionality Testing.
- * -i n : Execute test n times.
- * -I x : Execute test for x seconds.
- * -P x : Pause for x seconds between iterations.
- * -t : Turn on syscall timing.
- *
- * HISTORY
- * 07/2001 Ported by Wayne Boyer
- *
- * RESTRICTIONS
- * none
- */
-
-#include <pwd.h>
-#include <errno.h>
-
-#include "test.h"
-#include "usctest.h"
-
-void cleanup(void) __attribute__((noreturn));
-void setup(void);
-
-const char *TCID= "getgid01";
-int TST_TOTAL = 1;
-extern int Tst_count;
-
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
- int uid;
- struct passwd *pwent;
-
- /* parse standard options */
- if ((msg = parse_opts(ac, av, (option_t *)NULL, NULL)) != (char *)NULL){
- tst_brkm(TBROK, cleanup, "OPTION PARSING ERROR - %s", msg);
- /*NOTREACHED*/
- }
-
- setup(); /* global setup */
-
- /* The following loop checks looping state if -i option given */
- for (lc = 0; TEST_LOOPING(lc); lc++) {
-
- /* reset Tst_count in case we are looping */
- Tst_count = 0;
-
- TEST(getgid());
-
- if (TEST_RETURN < 0) {
- tst_brkm(TBROK, cleanup, "This should never happen");
- }
-
- if (STD_FUNCTIONAL_TEST) {
- uid = getuid();
- pwent = getpwuid(uid);
-
- if (pwent == NULL) {
- tst_brkm(TBROK, cleanup, "getuid() returned "
- "unexpected value %d", uid);
- } else {
- if (pwent->pw_gid != TEST_RETURN) {
- tst_resm(TFAIL, "getgid() return value "
- "%d unexpected - expected %d",
- TEST_RETURN, pwent->pw_gid);
- } else {
- tst_resm(TPASS, "group id %d returned "
- "correctly", TEST_RETURN);
- }
- }
- } else {
- tst_resm(TPASS, "call succeeded");
- }
- }
- cleanup();
-
- /*NOTREACHED*/
-}
-
-
-/*
- * setup() - performs all ONE TIME setup for this test
- */
-void
-setup()
-{
- /* capture signals */
- tst_sig(NOFORK, DEF_HANDLER, cleanup);
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-}
-
-/*
- * cleanup() - performs all the ONE TIME cleanup for this test at completion
- * or premature exit.
- */
-void
-cleanup()
-{
- /*
- * print timing status if that option was specified.
- * print errno log if that option was specified
- */
- TEST_CLEANUP;
-
- /* exit with return code appropriate for results */
- tst_exit();
-}
diff --git a/winsup/testsuite/winsup.api/ltp/getgroups01.c b/winsup/testsuite/winsup.api/ltp/getgroups01.c
deleted file mode 100644
index db9f942f6..000000000
--- a/winsup/testsuite/winsup.api/ltp/getgroups01.c
+++ /dev/null
@@ -1,314 +0,0 @@
-/*
- * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it would be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Further, this software is distributed without any warranty that it is
- * free of the rightful claim of any third person regarding infringement
- * or the like. Any license provided herein, whether implied or
- * otherwise, applies only to this software file. Patent licenses, if
- * any, provided herein do not apply to combinations of this program with
- * other software, or any other product whatsoever.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write the Free Software Foundation, Inc., 59
- * Temple Place - Suite 330, Boston MA 02111-1307, USA.
- *
- * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
- * Mountain View, CA 94043, or:
- *
- * http://www.sgi.com
- *
- * For further information regarding this notice, see:
- *
- * http://oss.sgi.com/projects/GenInfo/NoticeExplan/
- *
- */
-/* $Id$ */
-/***********************************************************************
-TEST IDENTIFIER: getgroups01 : Getgroups system call critical test
-
-PARENT DOCUMENT: ggrtds01: Getgroups system call test design spec
-
-AUTHOR: Barrie Kletscher
- Rewrote : 11-92 by Richard Logan
-
-CO-PILOT: Dave Baumgartner
-
-TEST ITEMS:
- 1. Check to see if getgroups(-1, gidset) fails and sets errno to EINVAL
- 2. Check to see if getgroups(0, gidset) does not return -1 and gidset is
- not modified.
- 3. Check to see if getgroups(x, gigset) fails and sets errno to EINVAL,
- where x is one less then what is returned by getgroups(0, gidset).
- 4. Check to see if getgroups() succeeds and gidset contains
- group id returned from getgid().
-
-INPUT SPECIFICATIONS:
- NONE
-
-OUTPUT SPECIFICATIONS:
- Standard tst_res output format
-
-ENVIRONMENTAL NEEDS:
- NONE.
-
-SPECIAL PROCEDURAL REQUIREMENTS:
- None
-
-INTERCASE DEPENDENCIES:
- Test case #3 depends on test case #2.
-
-DETAILED DESCRIPTION:
- Set up the signal handling capabilities.
- execute tests
- exit
-
-BUGS:
- None known.
-
-************************************************************/
-
-#include <signal.h>
-#include <string.h>
-#include <errno.h>
-#include <sys/param.h>
-#include "test.h"
-#include "usctest.h"
-
-void setup();
-void cleanup(void) __attribute__((noreturn));
-
-const char *TCID="getgroups01"; /* Test program identifier. */
-int TST_TOTAL=4; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-
-/***********************************************************************
- * MAIN
- ***********************************************************************/
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *ptr; /* message returned from parse_opts */
-
- int i, /* counter */
- group, /* return value from Getgid() call */
- entries; /* number of group entries */
-
- gid_t gidset[NGROUPS]; /* storage for all group ids */
- gid_t cmpset[NGROUPS];
- int ret;
- int ret2;
- int errors = 0;
- char msg[500];
-
- /***************************************************************
- * parse standard options, and exit if there is an error
- ***************************************************************/
- if ( (ptr=parse_opts(ac, av, (option_t *) NULL, NULL)) != (char *) NULL ) {
- tst_brkm(TBROK, NULL, "OPTION PARSING ERROR - %s", ptr);
- tst_exit();
- }
-
- /***************************************************************
- * perform global setup for test
- ***************************************************************/
- setup();
-
- /***************************************************************
- * check looping state if -c option given
- ***************************************************************/
- for (lc=0; TEST_LOOPING(lc); lc++) {
-
- /* reset Tst_count in case we are looping. */
- Tst_count=0;
-
-
- /*
- * Check to see if getgroups() fails on erraneous condition.
- */
- TEST( getgroups(-1,gidset) );
-
- if((ret=TEST_RETURN) != -1) {
- sprintf(msg,
- "getgroups(-1,gidset) returned %d, expected -1 and errno = EINVAL",
- ret);
- tst_resm(TFAIL,msg);
- errors++;
- }
- else if ( STD_FUNCTIONAL_TEST ) {
- if(errno != EINVAL) {
- sprintf(msg,
- "getgroups(-1,gidset) returned %d, errno = %d, expected errno %d (EINVAL)",
- ret, errno, EINVAL);
- tst_resm(TFAIL,msg);
- errors++;
- }
- else {
- sprintf(msg,
- "getgroups(-1,gidset) returned %d and error = %d (EINVAL) as expected",
- ret, errno);
- tst_resm(TPASS, msg);
- }
- }
-
- /*
- * Check that if ngrps is zero that the number of groups is return and
- * the the gidset array is not modified.
- * This is a POSIX special case.
- */
-
- memset(gidset, 052, NGROUPS);
- memset(cmpset, 052, NGROUPS);
-
- TEST( getgroups(0,gidset) );
- if((ret=TEST_RETURN) < 0) {
- sprintf(msg,
- "getgroups(0,gidset) returned %d with errno = %d, expected num gids with no change to gidset",
- ret, errno);
- tst_resm(TFAIL,msg);
- errors++;
- }
- else if ( STD_FUNCTIONAL_TEST ) {
- /*
- * check that gidset was unchanged
- */
- if ( memcmp(cmpset, gidset, NGROUPS) != 0 ) {
- sprintf(msg,
- "getgroups(0,gidset) returned %d, the gidset array was modified",
- ret);
- tst_resm(TFAIL,msg);
- errors++;
- }
- else {
- sprintf(msg,
- "getgroups(0,gidset) returned %d, the gidset array not was modified",
- ret);
- tst_resm(TPASS, msg);
- }
- }
-
- /*
- * Check to see that is -1 is returned and errno is set to EINVAL when
- * ngroups is not big enough to hold all groups.
- */
-
- if ( ret <= 1 ) {
- sprintf(msg, "getgroups(0,gidset) returned %d, Unable to test that\nusing ngrps >=1 but less than number of grps", ret);
- tst_resm(TCONF, msg);
- errors++;
- }
- else {
- TEST( getgroups(ret-1, gidset) );
- if ((ret2 = TEST_RETURN) == -1 ) {
- if ( STD_FUNCTIONAL_TEST ) {
- if ( errno != EINVAL ) {
- sprintf(msg,
- "getgroups(%d, gidset) returned -1, but not errno %d (EINVAL) but %d",
- ret-1, EINVAL, errno);
- tst_resm(TFAIL, msg);
- errors++;
- }
- else {
- sprintf(msg,
- "getgroups(%d, gidset) returned -1, and errno %d (EINVAL) when %d grps",
- ret-1, errno, ret);
- tst_resm(TPASS, msg);
- }
- }
- }
- else {
- sprintf(msg,
- "getgroups(%d, gidset) returned %d, expected -1 and errno EINVAL.",
- ret-1, ret2);
- tst_resm(TFAIL, msg);
- errors++;
- }
- }
-
- /*
- * Check to see if getgroups() succeeds and contains getgid's gid.
- */
-
- TEST( getgroups(NGROUPS,gidset) );
- if((entries = TEST_RETURN) == -1) {
- sprintf(msg, "getgroups(NGROUPS,gidset) returned -1 and errno = %d", errno);
- tst_resm(TFAIL, msg);
- errors++;
- }
- else if ( STD_FUNCTIONAL_TEST ) {
-
- /*
- * Check to see if getgroups() contains getgid().
- */
-
- group = getgid();
-
- for(i = 0; i < entries; i++)
- {
- if(gidset[i] == group)
- {
- sprintf(msg,
- "getgroups(NGROUPS,gidset) ret %d contains gid %d (from getgid)",
- entries, group);
- tst_resm(TPASS, msg);
- break;
- }
- }
-
- if( i == entries ) {
- sprintf(msg,
- "getgroups(NGROUPS,gidset) ret %d, does not contain gid %d (from getgid)",
- entries, group);
- tst_resm(TFAIL,msg);
- errors++;
- }
- }
-
- }
- cleanup();
-
- return 0;
-} /* end main() */
-
-
-/***************************************************************
- * setup() - performs all ONE TIME setup for this test.
- ***************************************************************/
-void
-setup()
-{
- /* capture signals */
- tst_sig(FORK, DEF_HANDLER, cleanup);
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-
-} /* End setup() */
-
-
-/***************************************************************
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- ***************************************************************/
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /* exit with return code appropriate for results */
- tst_exit();
-
-} /* End cleanup() */
-
diff --git a/winsup/testsuite/winsup.api/ltp/getgroups02.c b/winsup/testsuite/winsup.api/ltp/getgroups02.c
deleted file mode 100644
index e05258935..000000000
--- a/winsup/testsuite/winsup.api/ltp/getgroups02.c
+++ /dev/null
@@ -1,226 +0,0 @@
-/*
- * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it would be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Further, this software is distributed without any warranty that it is
- * free of the rightful claim of any third person regarding infringement
- * or the like. Any license provided herein, whether implied or
- * otherwise, applies only to this software file. Patent licenses, if
- * any, provided herein do not apply to combinations of this program with
- * other software, or any other product whatsoever.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write the Free Software Foundation, Inc., 59
- * Temple Place - Suite 330, Boston MA 02111-1307, USA.
- *
- * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
- * Mountain View, CA 94043, or:
- *
- * http://www.sgi.com
- *
- * For further information regarding this notice, see:
- *
- * http://oss.sgi.com/projects/GenInfo/NoticeExplan/
- *
- */
-/* $Id$ */
-/**********************************************************
- *
- * OS Test - Silicon Graphics, Inc.
- *
- * TEST IDENTIFIER : getgroups02
- *
- * EXECUTED BY : anyone
- *
- * TEST TITLE : Basic test for getgroups(2)
- *
- * PARENT DOCUMENT : usctpl01
- *
- * TEST CASE TOTAL : 1
- *
- * WALL CLOCK TIME : 1
- *
- * CPU TYPES : ALL
- *
- * AUTHOR : William Roske
- *
- * CO-PILOT : Dave Fenner
- *
- * DATE STARTED : 03/30/92
- *
- * INITIAL RELEASE : UNICOS 7.0
- *
- * TEST CASES
- *
- * 1.) getgroups(2) returns...(See Description)
- *
- * INPUT SPECIFICATIONS
- * The standard options for system call tests are accepted.
- * (See the parse_opts(3) man page).
- *
- * OUTPUT SPECIFICATIONS
- *
- * DURATION
- * Terminates - with frequency and infinite modes.
- *
- * SIGNALS
- * Uses SIGUSR1 to pause before test if option set.
- * (See the parse_opts(3) man page).
- *
- * RESOURCES
- * None
- *
- * ENVIRONMENTAL NEEDS
- * No run-time environmental needs.
- *
- * SPECIAL PROCEDURAL REQUIREMENTS
- * None
- *
- * INTERCASE DEPENDENCIES
- * None
- *
- * DETAILED DESCRIPTION
- * This is a Phase I test for the getgroups(2) system call. It is intended
- * to provide a limited exposure of the system call, for now. It
- * should/will be extended when full functional tests are written for
- * getgroups(2).
- *
- * Setup:
- * Setup signal handling.
- * Pause for SIGUSR1 if option specified.
- *
- * Test:
- * Loop if the proper options are given.
- * Execute system call
- * Check return code, if system call failed (return=-1)
- * Log the errno and Issue a FAIL message.
- * Otherwise, Issue a PASS message.
- *
- * Cleanup:
- * Print errno log and/or timing stats if options given
- *
- *
- *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#**/
-
-#include <sys/types.h>
-#include <sys/param.h>
-#include <sys/fcntl.h>
-#include <errno.h>
-#include <string.h>
-#include <signal.h>
-#include "test.h"
-#include "usctest.h"
-
-extern void setup();
-extern void cleanup();
-
-
-
-const char *TCID="getgroups02"; /* Test program identifier. */
-int TST_TOTAL=1; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-
-int exp_enos[]={0, 0};
-
-/* define array size for gids */
-#define GID_ARRAY_SIZE 100
-
-gid_t gidset[GID_ARRAY_SIZE]; /* array of gids */
-
-
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
-
- /***************************************************************
- * parse standard options
- ***************************************************************/
- if ( (msg=parse_opts(ac, av, (option_t *) NULL, NULL)) != (char *) NULL )
- tst_brkm(TBROK, cleanup, "OPTION PARSING ERROR - %s", msg);
-
- /***************************************************************
- * perform global setup for test
- ***************************************************************/
- setup();
-
- /* set the expected errnos... */
- TEST_EXP_ENOS(exp_enos);
-
- /***************************************************************
- * check looping state if -c option given
- ***************************************************************/
- for (lc=0; TEST_LOOPING(lc); lc++) {
-
- /* reset Tst_count in case we are looping. */
- Tst_count=0;
-
- /*
- * Call getgroups(2)
- */
- TEST(getgroups(GID_ARRAY_SIZE, gidset));
-
- /* check return code */
- if ( TEST_RETURN == -1 ) {
- TEST_ERROR_LOG(TEST_ERRNO);
- tst_resm(TFAIL, "getgroups() Failed, errno=%d : %s",
- TEST_ERRNO, strerror(TEST_ERRNO));
- } else {
-
- /***************************************************************
- * only perform functional verification if flag set (-f not given)
- ***************************************************************/
- if ( STD_FUNCTIONAL_TEST ) {
- /* No Verification test, yet... */
- tst_resm(TPASS, "getgroups() returned %d", TEST_RETURN);
- }
- }
-
- } /* End for TEST_LOOPING */
-
- /***************************************************************
- * cleanup and exit
- ***************************************************************/
- cleanup();
-
- return 0;
-} /* End main */
-
-/***************************************************************
- * setup() - performs all ONE TIME setup for this test.
- ***************************************************************/
-void
-setup()
-{
- /* capture signals */
- tst_sig(NOFORK, DEF_HANDLER, cleanup);
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-} /* End setup() */
-
-
-/***************************************************************
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- ***************************************************************/
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /* exit with return code appropriate for results */
- tst_exit();
-} /* End cleanup() */
diff --git a/winsup/testsuite/winsup.api/ltp/gethostid01.c b/winsup/testsuite/winsup.api/ltp/gethostid01.c
deleted file mode 100644
index ebb6d1724..000000000
--- a/winsup/testsuite/winsup.api/ltp/gethostid01.c
+++ /dev/null
@@ -1,224 +0,0 @@
-/*
- * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it would be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Further, this software is distributed without any warranty that it is
- * free of the rightful claim of any third person regarding infringement
- * or the like. Any license provided herein, whether implied or
- * otherwise, applies only to this software file. Patent licenses, if
- * any, provided herein do not apply to combinations of this program with
- * other software, or any other product whatsoever.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write the Free Software Foundation, Inc., 59
- * Temple Place - Suite 330, Boston MA 02111-1307, USA.
- *
- * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
- * Mountain View, CA 94043, or:
- *
- * http://www.sgi.com
- *
- * For further information regarding this notice, see:
- *
- * http://oss.sgi.com/projects/GenInfo/NoticeExplan/
- *
- */
-/* $Id$ */
-/**********************************************************
- *
- * OS Test - Silicon Graphics, Inc.
- *
- * TEST IDENTIFIER : gethostid01
- *
- * EXECUTED BY : anyone
- *
- * TEST TITLE : Basic test for gethostid(2)
- *
- * PARENT DOCUMENT : usctpl01
- *
- * TEST CASE TOTAL : 1
- *
- * WALL CLOCK TIME : 1
- *
- * CPU TYPES : ALL
- *
- * AUTHOR : William Roske
- *
- * CO-PILOT : Dave Fenner
- *
- * DATE STARTED : 03/30/92
- *
- * INITIAL RELEASE : UNICOS 7.0
- *
- * TEST CASES
- *
- * 1.) gethostid(2) returns...(See Description)
- *
- * INPUT SPECIFICATIONS
- * The standard options for system call tests are accepted.
- * (See the parse_opts(3) man page).
- *
- * DURATION
- * Terminates - with frequency and infinite modes.
- *
- * SIGNALS
- * Uses SIGUSR1 to pause before test if option set.
- * (See the parse_opts(3) man page).
- *
- * RESOURCES
- * None
- *
- * ENVIRONMENTAL NEEDS
- * No run-time environmental needs.
- *
- * SPECIAL PROCEDURAL REQUIREMENTS
- * None
- *
- * INTERCASE DEPENDENCIES
- * None
- *
- * DETAILED DESCRIPTION
- * This is a Phase I test for the gethostid(2) system call. It is intended
- * to provide a limited exposure of the system call, for now. It
- * should/will be extended when full functional tests are written for
- * gethostid(2).
- *
- * Setup:
- * Setup signal handling.
- * Pause for SIGUSR1 if option specified.
- *
- * Test:
- * Loop if the proper options are given.
- * Execute system call
- * Check return code, if system call failed (return=-1)
- * Log the errno and Issue a FAIL message.
- * Otherwise, Issue a PASS message.
- *
- * Cleanup:
- * Print errno log and/or timing stats if options given
- *
- *
- *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#**/
-
-#include <errno.h>
-#include <string.h>
-#include <signal.h>
-
-#include "test.h"
-#include "usctest.h"
-
-extern void setup();
-extern void cleanup();
-
-
-
-const char *TCID="gethostid01"; /* Test program identifier. */
-int TST_TOTAL=1; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-
-int exp_enos[]={0}; /* must be a 0 terminated list */
-
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
-
- ;
-
- /***************************************************************
- * parse standard options
- ***************************************************************/
- if ( (msg=parse_opts(ac, av, (option_t *) NULL, NULL)) != (char *) NULL )
- tst_brkm(TBROK, cleanup, "OPTION PARSING ERROR - %s", msg);
-
- /***************************************************************
- * perform global setup for test
- ***************************************************************/
- setup();
-
- /* set the expected errnos... */
- TEST_EXP_ENOS(exp_enos);
-
- /***************************************************************
- * check looping state if -c option given
- ***************************************************************/
- for (lc=0; TEST_LOOPING(lc); lc++) {
-
- /* reset Tst_count in case we are looping. */
- Tst_count=0;
-
-
- /*
- * TEST CASE:
- * Get host name
- */
- ;
-
- /* Call gethostid(2) */
- TEST(gethostid( ));
-
- /* check return code */
- if ( TEST_RETURN == -1 ) {
- TEST_ERROR_LOG(TEST_ERRNO);
- tst_resm(TFAIL, "gethostid - Get host name failed, errno=%d : %s",
- TEST_ERRNO, strerror(TEST_ERRNO));
- continue; /* next loop for MTKERNEL */
- }
-
- /***************************************************************
- * only perform functional verification if flag set (-f not given)
- ***************************************************************/
- if ( STD_FUNCTIONAL_TEST ) {
- /* No Verification test, yet... */
- tst_resm(TPASS, "gethostid - Get host name returned %d", TEST_RETURN);
- }
- } /* End for TEST_LOOPING */
-
- /***************************************************************
- * cleanup and exit
- ***************************************************************/
- cleanup();
-
- return 0;
-} /* End main */
-
-/***************************************************************
- * setup() - performs all ONE TIME setup for this test.
- ***************************************************************/
-void
-setup()
-{
- /* capture signals */
- tst_sig(NOFORK, DEF_HANDLER, cleanup);
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-} /* End setup() */
-
-
-/***************************************************************
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- ***************************************************************/
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /* exit with return code appropriate for results */
- tst_exit();
-} /* End cleanup() */
-
-
diff --git a/winsup/testsuite/winsup.api/ltp/gethostname01.c b/winsup/testsuite/winsup.api/ltp/gethostname01.c
deleted file mode 100644
index 0e765bfad..000000000
--- a/winsup/testsuite/winsup.api/ltp/gethostname01.c
+++ /dev/null
@@ -1,226 +0,0 @@
-/*
- * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it would be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Further, this software is distributed without any warranty that it is
- * free of the rightful claim of any third person regarding infringement
- * or the like. Any license provided herein, whether implied or
- * otherwise, applies only to this software file. Patent licenses, if
- * any, provided herein do not apply to combinations of this program with
- * other software, or any other product whatsoever.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write the Free Software Foundation, Inc., 59
- * Temple Place - Suite 330, Boston MA 02111-1307, USA.
- *
- * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
- * Mountain View, CA 94043, or:
- *
- * http://www.sgi.com
- *
- * For further information regarding this notice, see:
- *
- * http://oss.sgi.com/projects/GenInfo/NoticeExplan/
- *
- */
-/* $Id$ */
-/**********************************************************
- *
- * OS Test - Silicon Graphics, Inc.
- *
- * TEST IDENTIFIER : gethostname01
- *
- * EXECUTED BY : anyone
- *
- * TEST TITLE : Basic test for gethostname(2)
- *
- * PARENT DOCUMENT : usctpl01
- *
- * TEST CASE TOTAL : 1
- *
- * WALL CLOCK TIME : 1
- *
- * CPU TYPES : ALL
- *
- * AUTHOR : William Roske
- *
- * CO-PILOT : Dave Fenner
- *
- * DATE STARTED : 03/30/92
- *
- * INITIAL RELEASE : UNICOS 7.0
- *
- * TEST CASES
- *
- * 1.) gethostname(2) returns...(See Description)
- *
- * INPUT SPECIFICATIONS
- * The standard options for system call tests are accepted.
- * (See the parse_opts(3) man page).
- *
- * DURATION
- * Terminates - with frequency and infinite modes.
- *
- * SIGNALS
- * Uses SIGUSR1 to pause before test if option set.
- * (See the parse_opts(3) man page).
- *
- * RESOURCES
- * None
- *
- * ENVIRONMENTAL NEEDS
- * No run-time environmental needs.
- *
- * SPECIAL PROCEDURAL REQUIREMENTS
- * None
- *
- * INTERCASE DEPENDENCIES
- * None
- *
- * DETAILED DESCRIPTION
- * This is a Phase I test for the gethostname(2) system call. It is intended
- * to provide a limited exposure of the system call, for now. It
- * should/will be extended when full functional tests are written for
- * gethostname(2).
- *
- * Setup:
- * Setup signal handling.
- * Pause for SIGUSR1 if option specified.
- *
- * Test:
- * Loop if the proper options are given.
- * Execute system call
- * Check return code, if system call failed (return=-1)
- * Log the errno and Issue a FAIL message.
- * Otherwise, Issue a PASS message.
- *
- * Cleanup:
- * Print errno log and/or timing stats if options given
- *
- *
- *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#**/
-
-#include <errno.h>
-#include <string.h>
-#include <signal.h>
-
-
-
-#include "test.h"
-#include "usctest.h"
-
-extern void setup();
-extern void cleanup();
-
-
-
-const char *TCID="gethostname01";/* Test program identifier. */
-int TST_TOTAL=1; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-
-int exp_enos[]={0}; /* must be a 0 terminated list */
-
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
-
- char hname[100]; /* host name */
-
- /***************************************************************
- * parse standard options
- ***************************************************************/
- if ( (msg=parse_opts(ac, av, (option_t *) NULL, NULL)) != (char *) NULL )
- tst_brkm(TBROK, cleanup, "OPTION PARSING ERROR - %s", msg);
-
- /***************************************************************
- * perform global setup for test
- ***************************************************************/
- setup();
-
- /* set the expected errnos... */
- TEST_EXP_ENOS(exp_enos);
-
- /***************************************************************
- * check looping state if -c option given
- ***************************************************************/
- for (lc=0; TEST_LOOPING(lc); lc++) {
-
- /* reset Tst_count in case we are looping. */
- Tst_count=0;
-
-
- /*
- * TEST CASE:
- * Get host name
- */
- ;
-
- /* Call gethostname(2) */
- TEST(gethostname(hname, sizeof(hname) ));
-
- /* check return code */
- if ( TEST_RETURN == -1 ) {
- TEST_ERROR_LOG(TEST_ERRNO);
- tst_resm(TFAIL, "gethostname - Get host name failed, errno=%d : %s",
- TEST_ERRNO, strerror(TEST_ERRNO));
- continue; /* next loop for MTKERNEL */
- }
-
- /***************************************************************
- * only perform functional verification if flag set (-f not given)
- ***************************************************************/
- if ( STD_FUNCTIONAL_TEST ) {
- /* No Verification test, yet... */
- tst_resm(TPASS, "gethostname - Get host name returned %d", TEST_RETURN);
- }
- } /* End for TEST_LOOPING */
-
- /***************************************************************
- * cleanup and exit
- ***************************************************************/
- cleanup();
-
- return 0;
-} /* End main */
-
-/***************************************************************
- * setup() - performs all ONE TIME setup for this test.
- ***************************************************************/
-void
-setup()
-{
- /* capture signals */
- tst_sig(NOFORK, DEF_HANDLER, cleanup);
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-} /* End setup() */
-
-
-/***************************************************************
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- ***************************************************************/
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /* exit with return code appropriate for results */
- tst_exit();
-} /* End cleanup() */
-
-
diff --git a/winsup/testsuite/winsup.api/ltp/getpgid01.c b/winsup/testsuite/winsup.api/ltp/getpgid01.c
deleted file mode 100644
index 88907f413..000000000
--- a/winsup/testsuite/winsup.api/ltp/getpgid01.c
+++ /dev/null
@@ -1,236 +0,0 @@
-/*
- *
- * Copyright (c) International Business Machines Corp., 2001
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-/*
- * NAME
- * getpgid01.c
- *
- * DESCRIPTION
- * Testcase to check the basic functionality of getpgid().
- *
- * ALGORITHM
- * block1: Does getpgid(0), and checks for error.
- * block2: Does getpgid(getpid()) and checks for error.
- * block3: Does getpgid(getppid()) and checks for error.
- * block4: Verifies that getpgid(getpgid(0)) == getpgid(0).
- * block5: Does getpgid(1) and checks for error.
- *
- * USAGE
- * getpgid01
- *
- * HISTORY
- * 07/2001 Ported by Wayne Boyer
- *
- * RESTRICTIONS
- * Expects that there are no EPERM limitations on getting the
- * process group ID from proc 1 (init).
- */
-
-#include <sys/types.h>
-#include <errno.h>
-#include <sys/wait.h>
-#include <test.h>
-#include <usctest.h>
-
-void setup(void);
-void cleanup(void) __attribute__((noreturn));
-
-const char *TCID = "getpgid01";
-int TST_TOTAL = 1;
-extern int Tst_count;
-
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned by parse_opts */
-
- register int pgid_0, pgid_1;
- register int my_pid, my_ppid;
- int ex_stat, fail = 0;
-
- /* parse standard options */
- if ((msg = parse_opts(ac, av, (option_t *)NULL, NULL)) != (char *)NULL){
- tst_brkm(TBROK, cleanup, "OPTION PARSING ERROR - %s", msg);
- }
-
- setup();
-
- /* check looping state if -i option given */
- for (lc = 0; TEST_LOOPING(lc); lc++) {
- /* reset Tst_count in case we are looping */
- Tst_count = 0;
-
- if ((pgid_0 = fork()) < 0) {
- tst_brkm(TBROK, cleanup, "fork() failed");
- }
- if (pgid_0 > 0) { /* parent */
- /*
- * parent process waits for child to exit, and then
- * exits itself.
- */
- while ((pgid_0 = wait(&ex_stat)) > 0);
-
- if (WEXITSTATUS(ex_stat) == 0) {
- tst_resm(TINFO, "%s PASSED", TCID);
- } else {
- tst_resm(TINFO, "%s FAILED", TCID);
- }
-
- /* let the child carry on */
- exit(0);
- }
-
- /* child */
- tst_resm(TINFO, "Enter block 1");
- fail = 0;
- if ((pgid_0 = getpgid(0)) < 0) {
- perror("getpgid");
- tst_resm(TFAIL, "getpgid(0) failed");
- fail = 1;
- }
-
- if (fail) {
- tst_resm(TINFO, "Test block 1: getpgid(0) FAILED");
- } else {
- tst_resm(TPASS, "Test block 1: getpgid(0) PASSED");
- }
- tst_resm(TINFO, "Exit block 1");
-
- tst_resm(TINFO, "Enter block 2");
- fail = 0;
-
- my_pid = getpid();
- if ((pgid_1 = getpgid(my_pid)) < 0) {
- perror("getpgid");
- tst_resm(TFAIL, "getpgid(my_pid=%d) failed", my_pid);
- tst_exit();
- }
- if (pgid_0 != pgid_1) {
- tst_resm(TFAIL, "getpgid(my_pid=%d) != getpgid(0) "
- "[%d != %d]", my_pid, pgid_1, pgid_0);
- fail = 1;
- }
- if (fail) {
- tst_resm(TINFO, "Test block 2: getpgid(getpid()) "
- "FAILED");
- } else {
- tst_resm(TPASS, "Test blcok 2: getpgid(getpid()) "
- "PASSED");
- }
- tst_resm(TINFO, "Exit block 2");
-
- tst_resm(TINFO, "Enter block 3");
- fail = 0;
-
- my_ppid = getppid();
- if ((pgid_1 = getpgid(my_ppid)) < 0) {
- perror("getpgid");
- tst_resm(TFAIL, "getpgid(my_ppid=%d) failed",
- my_ppid);
- tst_exit();
- }
- if (pgid_0 != pgid_1) {
- tst_resm(TFAIL, "getpgid(my_ppid=%d) != getpgid(0) "
- "[%d != %d]", my_ppid, pgid_1, pgid_0);
- fail = 1;
- }
-
- if (fail) {
- tst_resm(TINFO, "Test block 3: getpgid(getppid()) "
- "FAILED");
- } else {
- tst_resm(TPASS, "Test block 3: getpgid(getppid()) "
- "PASSED");
- }
- tst_resm(TINFO, "Exit block 3");
-
- tst_resm(TINFO, "Enter block 4");
- fail = 0;
-
- if ((pgid_1 = getpgid(pgid_0)) < 0) {
- perror("getpgid");
- tst_resm(TFAIL, "getpgid(my_pgid=%d) failed", pgid_0);
- tst_exit();
- }
- if (pgid_0 != pgid_1) {
- tst_resm(TFAIL, "getpgid(my_pgid=%d) != getpgid(0) "
- "[%d != %d]", pgid_0, pgid_1, pgid_0);
- fail = 1;
- }
-
- if (fail) {
- tst_resm(TINFO, "Test block 4: getpgid(1) FAILED");
- } else {
- tst_resm(TPASS, "Test block 4: getpgid(1) PASSED");
- }
- tst_resm(TINFO, "Exit block 4");
-#ifndef __CYGWIN__
-block5:
- tst_resm(TINFO, "Enter block 5");
- fail = 0;
-
- if (getpgid(1) < 0) {
- perror("getpgid");
- tst_resm(TFAIL, "getpgid(1) failed");
- fail = 1;
- }
-
- if (fail) {
- tst_resm(TINFO, "Test block 5: getpgid(1) FAILED");
- } else {
- tst_resm(TPASS, "Test block 5: getpgid(1) PASSED");
- }
- tst_resm(TINFO, "Exit block 5");
-#endif
- }
- cleanup();
-}
-
-/*
- * setup() - performs all ONE TIME setup for this test.
- */
-void
-setup()
-{
- /* capture signals */
- tst_sig(FORK, DEF_HANDLER, cleanup);
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-}
-
-
-/*
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- */
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /* exit with return code appropriate for results */
- tst_exit();
-}
-
diff --git a/winsup/testsuite/winsup.api/ltp/getpgid02.c b/winsup/testsuite/winsup.api/ltp/getpgid02.c
deleted file mode 100644
index f6eaec6f6..000000000
--- a/winsup/testsuite/winsup.api/ltp/getpgid02.c
+++ /dev/null
@@ -1,172 +0,0 @@
-/*
- *
- * Copyright (c) International Business Machines Corp., 2001
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-/*
- * NAME
- * getpgid02.c
- *
- * DESCRIPTION
- * Testcase to check the basic functionality of getpgid().
- *
- * ALGORITHM
- * test 1: Does getpgid(-99) and expects ESRCH.
- * test 2: Searches an unused pid and expects ESRCH.
- *
- * USAGE: <for command-line>
- * getpgid02 [-c n] [-e] [-i n] [-I x] [-P x] [-t]
- * where, -c n : Run n copies concurrently.
- * -e : Turn on errno logging.
- * -i n : Execute test n times.
- * -I x : Execute test for x seconds.
- * -P x : Pause for x seconds between iterations.
- * -t : Turn on syscall timing.
- *
- * HISTORY
- * 07/2001 Ported by Wayne Boyer
- *
- * RESTRICTIONS
- * none
- */
-
-#include <sys/types.h>
-#include <errno.h>
-#include <sys/wait.h>
-#include <test.h>
-#include <usctest.h>
-
-void setup(void);
-void cleanup(void) __attribute__((noreturn));
-
-const char *TCID = "getpgid01";
-int TST_TOTAL = 2;
-extern int Tst_count;
-
-int pgid_0, pgid_1;
-#define BADPID -99
-
-int exp_enos[]={ESRCH, 0};
-
-struct test_case_t {
- int *id;
- int error;
-} TC[] = {
- /* The pid value is negative */
- {&pgid_0, ESRCH},
-
- /* The pid value does not match any process */
- {&pgid_1, ESRCH}
-};
-
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- int i;
- const char *msg; /* message returned by parse_opts */
-
- /* parse standard options */
- if ((msg = parse_opts(ac, av, (option_t *)NULL, NULL)) != (char *)NULL){
- tst_brkm(TBROK, cleanup, "OPTION PARSING ERROR - %s", msg);
- }
-
- setup();
-
- /* set up the expected errnos */
- TEST_EXP_ENOS(exp_enos);
-
- /* check looping state if -i option given */
- for (lc = 0; TEST_LOOPING(lc); lc++) {
- /* reset Tst_count in case we are looping */
- Tst_count = 0;
-
-
- /* loop through the test cases */
- for (i = 0; i < TST_TOTAL; i++) {
-
- TEST(getpgid(*TC[i].id));
-
- if (TEST_RETURN != -1) {
- tst_resm(TFAIL, "call succeeded unexpectedly");
- continue;
- }
-
- TEST_ERROR_LOG(TEST_ERRNO);
-
- if (TEST_ERRNO == TC[i].error) {
- tst_resm(TPASS, "expected failure - "
- "errno = %d : %s", TEST_ERRNO,
- strerror(TEST_ERRNO));
- } else {
- tst_resm(TFAIL, "unexpected error - %d : %s - "
- "expected %d", TEST_ERRNO,
- strerror(TEST_ERRNO), TC[i].error);
- }
- }
- }
- cleanup();
-
- /*NOTREACHED*/
-}
-
-/*
- * setup() - performs all ONE TIME setup for this test.
- */
-void
-setup()
-{
- /* capture signals */
- tst_sig(NOFORK, DEF_HANDLER, cleanup);
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-
- pgid_0 = BADPID;
-
- /*
- * Find a pid that isn't currently being used. Start
- * at 'our pid - 1' and go backwards until we find one.
- * In this way, we can be reasonably sure that the pid
- * we find won't be reused for a while as new pids are
- * allocated counting up to PID_MAX.
- */
- for (pgid_1 = getpid() - 1; --pgid_1 > 0; ) {
- if (kill(pgid_1, 0) < 0 && errno == ESRCH) {
- break;
- }
- }
-}
-
-
-/*
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- */
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /* exit with return code appropriate for results */
- tst_exit();
-}
-
diff --git a/winsup/testsuite/winsup.api/ltp/getpgrp01.c b/winsup/testsuite/winsup.api/ltp/getpgrp01.c
deleted file mode 100644
index 6997be264..000000000
--- a/winsup/testsuite/winsup.api/ltp/getpgrp01.c
+++ /dev/null
@@ -1,219 +0,0 @@
-/*
- * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it would be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Further, this software is distributed without any warranty that it is
- * free of the rightful claim of any third person regarding infringement
- * or the like. Any license provided herein, whether implied or
- * otherwise, applies only to this software file. Patent licenses, if
- * any, provided herein do not apply to combinations of this program with
- * other software, or any other product whatsoever.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write the Free Software Foundation, Inc., 59
- * Temple Place - Suite 330, Boston MA 02111-1307, USA.
- *
- * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
- * Mountain View, CA 94043, or:
- *
- * http://www.sgi.com
- *
- * For further information regarding this notice, see:
- *
- * http://oss.sgi.com/projects/GenInfo/NoticeExplan/
- *
- */
-/* $Id$ */
-/**********************************************************
- *
- * OS Test - Silicon Graphics, Inc.
- *
- * TEST IDENTIFIER : getpgrp01
- *
- * EXECUTED BY : anyone
- *
- * TEST TITLE : Basic test for getpgrp(2)
- *
- * PARENT DOCUMENT : usctpl01
- *
- * TEST CASE TOTAL : 1
- *
- * WALL CLOCK TIME : 1
- *
- * CPU TYPES : ALL
- *
- * AUTHOR : William Roske
- *
- * CO-PILOT : Dave Fenner
- *
- * DATE STARTED : 03/30/92
- *
- * INITIAL RELEASE : UNICOS 7.0
- *
- * TEST CASES
- *
- * 1.) getpgrp(2) returns...(See Description)
- *
- * INPUT SPECIFICATIONS
- * The standard options for system call tests are accepted.
- * (See the parse_opts(3) man page).
- *
- * OUTPUT SPECIFICATIONS
- *
- * DURATION
- * Terminates - with frequency and infinite modes.
- *
- * SIGNALS
- * Uses SIGUSR1 to pause before test if option set.
- * (See the parse_opts(3) man page).
- *
- * RESOURCES
- * None
- *
- * ENVIRONMENTAL NEEDS
- * No run-time environmental needs.
- *
- * SPECIAL PROCEDURAL REQUIREMENTS
- * None
- *
- * INTERCASE DEPENDENCIES
- * None
- *
- * DETAILED DESCRIPTION
- * This is a Phase I test for the getpgrp(2) system call. It is intended
- * to provide a limited exposure of the system call, for now. It
- * should/will be extended when full functional tests are written for
- * getpgrp(2).
- *
- * Setup:
- * Setup signal handling.
- * Pause for SIGUSR1 if option specified.
- *
- * Test:
- * Loop if the proper options are given.
- * Execute system call
- * Check return code, if system call failed (return=-1)
- * Log the errno and Issue a FAIL message.
- * Otherwise, Issue a PASS message.
- *
- * Cleanup:
- * Print errno log and/or timing stats if options given
- *
- *
- *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#**/
-
-#include <sys/types.h>
-#include <sys/fcntl.h>
-#include <errno.h>
-#include <string.h>
-#include <signal.h>
-#include "test.h"
-#include "usctest.h"
-
-extern void setup();
-extern void cleanup();
-
-
-
-const char *TCID="getpgrp01"; /* Test program identifier. */
-int TST_TOTAL=1; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-
-int exp_enos[]={0, 0};
-
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
-
- /***************************************************************
- * parse standard options
- ***************************************************************/
- if ( (msg=parse_opts(ac, av, (option_t *) NULL, NULL)) != (char *) NULL )
- tst_brkm(TBROK, cleanup, "OPTION PARSING ERROR - %s", msg);
-
- /***************************************************************
- * perform global setup for test
- ***************************************************************/
- setup();
-
- /* set the expected errnos... */
- TEST_EXP_ENOS(exp_enos);
-
- /***************************************************************
- * check looping state if -c option given
- ***************************************************************/
- for (lc=0; TEST_LOOPING(lc); lc++) {
-
- /* reset Tst_count in case we are looping. */
- Tst_count=0;
-
- /*
- * Call getpgrp(2)
- */
- TEST(getpgrp());
-
- /* check return code */
- if ( TEST_RETURN == -1 ) {
- TEST_ERROR_LOG(TEST_ERRNO);
- tst_resm(TFAIL, "getpgrp() Failed, errno=%d : %s",
- TEST_ERRNO, strerror(TEST_ERRNO));
- } else {
-
- /***************************************************************
- * only perform functional verification if flag set (-f not given)
- ***************************************************************/
- if ( STD_FUNCTIONAL_TEST ) {
- /* No Verification test, yet... */
- tst_resm(TPASS, "getpgrp() returned %d", TEST_RETURN);
- }
- }
-
- } /* End for TEST_LOOPING */
-
- /***************************************************************
- * cleanup and exit
- ***************************************************************/
- cleanup();
-
- return 0;
-} /* End main */
-
-/***************************************************************
- * setup() - performs all ONE TIME setup for this test.
- ***************************************************************/
-void
-setup()
-{
- /* capture signals */
- tst_sig(NOFORK, DEF_HANDLER, cleanup);
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-} /* End setup() */
-
-
-/***************************************************************
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- ***************************************************************/
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /* exit with return code appropriate for results */
- tst_exit();
-} /* End cleanup() */
diff --git a/winsup/testsuite/winsup.api/ltp/getpid01.c b/winsup/testsuite/winsup.api/ltp/getpid01.c
deleted file mode 100644
index df8197d28..000000000
--- a/winsup/testsuite/winsup.api/ltp/getpid01.c
+++ /dev/null
@@ -1,217 +0,0 @@
-/*
- * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it would be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Further, this software is distributed without any warranty that it is
- * free of the rightful claim of any third person regarding infringement
- * or the like. Any license provided herein, whether implied or
- * otherwise, applies only to this software file. Patent licenses, if
- * any, provided herein do not apply to combinations of this program with
- * other software, or any other product whatsoever.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write the Free Software Foundation, Inc., 59
- * Temple Place - Suite 330, Boston MA 02111-1307, USA.
- *
- * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
- * Mountain View, CA 94043, or:
- *
- * http://www.sgi.com
- *
- * For further information regarding this notice, see:
- *
- * http://oss.sgi.com/projects/GenInfo/NoticeExplan/
- *
- */
-/* $Id$ */
-/**********************************************************
- *
- * OS Test - Silicon Graphics, Inc.
- *
- * TEST IDENTIFIER : getpid01
- *
- * EXECUTED BY : anyone
- *
- * TEST TITLE : Basic test for getpid(2)
- *
- * PARENT DOCUMENT : usctpl01
- *
- * TEST CASE TOTAL : 1
- *
- * WALL CLOCK TIME : 1
- *
- * CPU TYPES : ALL
- *
- * AUTHOR : William Roske
- *
- * CO-PILOT : Dave Fenner
- *
- * DATE STARTED : 03/30/92
- *
- * INITIAL RELEASE : UNICOS 7.0
- *
- * TEST CASES
- *
- * 1.) getpid(2) returns...(See Description)
- *
- * INPUT SPECIFICATIONS
- * The standard options for system call tests are accepted.
- * (See the parse_opts(3) man page).
- *
- * OUTPUT SPECIFICATIONS
- *
- * DURATION
- * Terminates - with frequency and infinite modes.
- *
- * SIGNALS
- * Uses SIGUSR1 to pause before test if option set.
- * (See the parse_opts(3) man page).
- *
- * RESOURCES
- * None
- *
- * ENVIRONMENTAL NEEDS
- * No run-time environmental needs.
- *
- * SPECIAL PROCEDURAL REQUIREMENTS
- * None
- *
- * INTERCASE DEPENDENCIES
- * None
- *
- * DETAILED DESCRIPTION
- * This is a Phase I test for the getpid(2) system call. It is intended
- * to provide a limited exposure of the system call, for now. It
- * should/will be extended when full functional tests are written for
- * getpid(2).
- *
- * Setup:
- * Setup signal handling.
- * Pause for SIGUSR1 if option specified.
- *
- * Test:
- * Loop if the proper options are given.
- * Execute system call
- * Check return code, if system call failed (return=-1)
- * Log the errno and Issue a FAIL message.
- * Otherwise, Issue a PASS message.
- *
- * Cleanup:
- * Print errno log and/or timing stats if options given
- *
- *
- *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#**/
-
-#include <errno.h>
-#include <string.h>
-#include <signal.h>
-#include "test.h"
-#include "usctest.h"
-
-extern void setup();
-extern void cleanup();
-
-
-
-const char *TCID="getpid01"; /* Test program identifier. */
-int TST_TOTAL=1; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-
-int exp_enos[]={0, 0};
-
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
-
- /***************************************************************
- * parse standard options
- ***************************************************************/
- if ( (msg=parse_opts(ac, av, (option_t *) NULL, NULL)) != (char *) NULL )
- tst_brkm(TBROK, cleanup, "OPTION PARSING ERROR - %s", msg);
-
- /***************************************************************
- * perform global setup for test
- ***************************************************************/
- setup();
-
- /* set the expected errnos... */
- TEST_EXP_ENOS(exp_enos);
-
- /***************************************************************
- * check looping state if -c option given
- ***************************************************************/
- for (lc=0; TEST_LOOPING(lc); lc++) {
-
- /* reset Tst_count in case we are looping. */
- Tst_count=0;
-
- /*
- * Call getpid(2)
- */
- TEST(getpid());
-
- /* check return code */
- if ( TEST_RETURN == -1 ) {
- TEST_ERROR_LOG(TEST_ERRNO);
- tst_resm(TFAIL, "getpid() Failed, errno=%d : %s",
- TEST_ERRNO, strerror(TEST_ERRNO));
- } else {
-
- /***************************************************************
- * only perform functional verification if flag set (-f not given)
- ***************************************************************/
- if ( STD_FUNCTIONAL_TEST ) {
- /* No Verification test, yet... */
- tst_resm(TPASS, "getpid() returned %d", TEST_RETURN);
- }
- }
-
- } /* End for TEST_LOOPING */
-
- /***************************************************************
- * cleanup and exit
- ***************************************************************/
- cleanup();
-
- return 0;
-} /* End main */
-
-/***************************************************************
- * setup() - performs all ONE TIME setup for this test.
- ***************************************************************/
-void
-setup()
-{
- /* capture signals */
- tst_sig(NOFORK, DEF_HANDLER, cleanup);
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-} /* End setup() */
-
-
-/***************************************************************
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- ***************************************************************/
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /* exit with return code appropriate for results */
- tst_exit();
-} /* End cleanup() */
diff --git a/winsup/testsuite/winsup.api/ltp/getpid02.c b/winsup/testsuite/winsup.api/ltp/getpid02.c
deleted file mode 100644
index 06d80b38d..000000000
--- a/winsup/testsuite/winsup.api/ltp/getpid02.c
+++ /dev/null
@@ -1,186 +0,0 @@
-/*
- *
- * Copyright (c) International Business Machines Corp., 2001
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-/*
- * Test Name: getpid01
- *
- * Test Description:
- * Verify that getpid() system call gets the process ID of the of the
- * calling process.
- *
- * Expected Result:
- * getpid() should return pid of the process on success.
- *
- * Algorithm:
- * Setup:
- * Setup signal handling.
- * Pause for SIGUSR1 if option specified.
- *
- * Test:
- * Loop if the proper options are given.
- * Execute system call
- * Check return code, if system call failed (return=-1)
- * Log the errno and Issue a FAIL message.
- * Otherwise,
- * Verify the Functionality of system call
- * if successful,
- * Issue Functionality-Pass message.
- * Otherwise,
- * Issue Functionality-Fail message.
- * Cleanup:
- * Print errno log and/or timing stats if options given
- *
- * Usage: <for command-line>
- * getpid01 [-c n] [-f] [-i n] [-I x] [-P x] [-t]
- * where, -c n : Run n copies concurrently.
- * -f : Turn off functionality Testing.
- * -i n : Execute test n times.
- * -I x : Execute test for x seconds.
- * -P x : Pause for x seconds between iterations.
- * -t : Turn on syscall timing.
- *
- * HISTORY
- * 07/2001 Ported by Wayne Boyer
- *
- * RESTRICTIONS:
- * None.
- */
-
-#include <sys/types.h>
-#include <errno.h>
-#include <string.h>
-#include <signal.h>
-#include <sys/wait.h>
-
-#include "test.h"
-#include "usctest.h"
-
-void setup(); /* Main setup function of test */
-void cleanup(void) __attribute__((noreturn)); /* cleanup function for the test */
-
-const char *TCID="getpid01"; /* Test program identifier. */
-int TST_TOTAL=1; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
- pid_t proc_id; /* process id of the test process */
- pid_t pid; /* process id of the child process */
- pid_t pproc_id; /* parent process id */
- int status; /* exit status of child process */
-
- /* Parse standard options given to run the test. */
- msg = parse_opts(ac, av, (option_t *) NULL, NULL);
- if (msg != (char *) NULL) {
- tst_brkm(TBROK, NULL, "OPTION PARSING ERROR - %s", msg);
- tst_exit();
- }
-
- /* Perform global setup for test */
- setup();
-
- /* Check looping state if -i option given */
- for (lc = 0; TEST_LOOPING(lc); lc++) {
- /* Reset Tst_count in case we are looping. */
- Tst_count=0;
-
- /*
- * Invoke getpid() to get the process id of
- * the test process.
- */
- TEST(getpid());
-
- /* Save the process id returned by getpid() */
- proc_id = TEST_RETURN;
-
- /*
- * Perform functional verification if test
- * executed without (-f) option.
- */
- if (STD_FUNCTIONAL_TEST) {
- /* Fork a child now */
- if ((pid = fork()) < 0) {
- tst_resm(TFAIL, "fork() failed to create child,"
- " error=%d", TEST_ERRNO);
- } else if (pid == 0) { /* Child process */
- /* Get the parent process id */
- pproc_id = getppid();
-
- /* Verify if the two process IDs match */
- if (pproc_id != proc_id) {
- exit(1);
- }
- exit(0);
- } else { /* parent process */
- wait(&status);
-
- /* Check exit status of child */
- if (WEXITSTATUS(status) != 0) {
- tst_resm(TFAIL, "getpid() returned "
- "invalid pid %d", proc_id);
- } else {
- tst_resm(TPASS, "Functionality of "
- "getpid() successful");
- }
- }
- } else {
- tst_resm(TPASS, "call succeeded");
- }
- } /* End for TEST_LOOPING */
-
- /* Call cleanup() to undo setup done for the test. */
- cleanup();
-
- /*NOTREACHED*/
-} /* End main */
-
-/*
- * setup() - performs all ONE TIME setup for this test.
- * Setup signal catching function.
- */
-void
-setup()
-{
- /* capture signals */
- tst_sig(FORK, DEF_HANDLER, cleanup);
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-}
-
-
-/*
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- */
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /* exit with return code appropriate for results */
- tst_exit();
-}
diff --git a/winsup/testsuite/winsup.api/ltp/getppid01.c b/winsup/testsuite/winsup.api/ltp/getppid01.c
deleted file mode 100644
index d0e6032c0..000000000
--- a/winsup/testsuite/winsup.api/ltp/getppid01.c
+++ /dev/null
@@ -1,219 +0,0 @@
-/*
- * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it would be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Further, this software is distributed without any warranty that it is
- * free of the rightful claim of any third person regarding infringement
- * or the like. Any license provided herein, whether implied or
- * otherwise, applies only to this software file. Patent licenses, if
- * any, provided herein do not apply to combinations of this program with
- * other software, or any other product whatsoever.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write the Free Software Foundation, Inc., 59
- * Temple Place - Suite 330, Boston MA 02111-1307, USA.
- *
- * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
- * Mountain View, CA 94043, or:
- *
- * http://www.sgi.com
- *
- * For further information regarding this notice, see:
- *
- * http://oss.sgi.com/projects/GenInfo/NoticeExplan/
- *
- */
-/* $Id$ */
-/**********************************************************
- *
- * OS Test - Silicon Graphics, Inc.
- *
- * TEST IDENTIFIER : getppid01
- *
- * EXECUTED BY : anyone
- *
- * TEST TITLE : Basic test for getppid(2)
- *
- * PARENT DOCUMENT : usctpl01
- *
- * TEST CASE TOTAL : 1
- *
- * WALL CLOCK TIME : 1
- *
- * CPU TYPES : ALL
- *
- * AUTHOR : William Roske
- *
- * CO-PILOT : Dave Fenner
- *
- * DATE STARTED : 03/30/92
- *
- * INITIAL RELEASE : UNICOS 7.0
- *
- * TEST CASES
- *
- * 1.) getppid(2) returns...(See Description)
- *
- * INPUT SPECIFICATIONS
- * The standard options for system call tests are accepted.
- * (See the parse_opts(3) man page).
- *
- * OUTPUT SPECIFICATIONS
- *
- * DURATION
- * Terminates - with frequency and infinite modes.
- *
- * SIGNALS
- * Uses SIGUSR1 to pause before test if option set.
- * (See the parse_opts(3) man page).
- *
- * RESOURCES
- * None
- *
- * ENVIRONMENTAL NEEDS
- * No run-time environmental needs.
- *
- * SPECIAL PROCEDURAL REQUIREMENTS
- * None
- *
- * INTERCASE DEPENDENCIES
- * None
- *
- * DETAILED DESCRIPTION
- * This is a Phase I test for the getppid(2) system call. It is intended
- * to provide a limited exposure of the system call, for now. It
- * should/will be extended when full functional tests are written for
- * getppid(2).
- *
- * Setup:
- * Setup signal handling.
- * Pause for SIGUSR1 if option specified.
- *
- * Test:
- * Loop if the proper options are given.
- * Execute system call
- * Check return code, if system call failed (return=-1)
- * Log the errno and Issue a FAIL message.
- * Otherwise, Issue a PASS message.
- *
- * Cleanup:
- * Print errno log and/or timing stats if options given
- *
- *
- *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#**/
-
-#include <sys/types.h>
-#include <sys/fcntl.h>
-#include <errno.h>
-#include <string.h>
-#include <signal.h>
-#include "test.h"
-#include "usctest.h"
-
-extern void setup();
-extern void cleanup();
-
-
-
-const char *TCID="getppid01"; /* Test program identifier. */
-int TST_TOTAL=1; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-
-int exp_enos[]={0, 0};
-
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
-
- /***************************************************************
- * parse standard options
- ***************************************************************/
- if ( (msg=parse_opts(ac, av, (option_t *) NULL, NULL)) != (char *) NULL )
- tst_brkm(TBROK, cleanup, "OPTION PARSING ERROR - %s", msg);
-
- /***************************************************************
- * perform global setup for test
- ***************************************************************/
- setup();
-
- /* set the expected errnos... */
- TEST_EXP_ENOS(exp_enos);
-
- /***************************************************************
- * check looping state if -c option given
- ***************************************************************/
- for (lc=0; TEST_LOOPING(lc); lc++) {
-
- /* reset Tst_count in case we are looping. */
- Tst_count=0;
-
- /*
- * Call getppid(2)
- */
- TEST(getppid());
-
- /* check return code */
- if ( TEST_RETURN == -1 ) {
- TEST_ERROR_LOG(TEST_ERRNO);
- tst_resm(TFAIL, "getppid() Failed, errno=%d : %s",
- TEST_ERRNO, strerror(TEST_ERRNO));
- } else {
-
- /***************************************************************
- * only perform functional verification if flag set (-f not given)
- ***************************************************************/
- if ( STD_FUNCTIONAL_TEST ) {
- /* No Verification test, yet... */
- tst_resm(TPASS, "getppid() returned %d", TEST_RETURN);
- }
- }
-
- } /* End for TEST_LOOPING */
-
- /***************************************************************
- * cleanup and exit
- ***************************************************************/
- cleanup();
-
- return 0;
-} /* End main */
-
-/***************************************************************
- * setup() - performs all ONE TIME setup for this test.
- ***************************************************************/
-void
-setup()
-{
- /* capture signals */
- tst_sig(NOFORK, DEF_HANDLER, cleanup);
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-} /* End setup() */
-
-
-/***************************************************************
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- ***************************************************************/
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /* exit with return code appropriate for results */
- tst_exit();
-} /* End cleanup() */
diff --git a/winsup/testsuite/winsup.api/ltp/getppid02.c b/winsup/testsuite/winsup.api/ltp/getppid02.c
deleted file mode 100644
index 50a72e470..000000000
--- a/winsup/testsuite/winsup.api/ltp/getppid02.c
+++ /dev/null
@@ -1,148 +0,0 @@
-/*
- *
- * Copyright (c) International Business Machines Corp., 2001
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-/*
- * NAME
- * getppid01.c
- *
- * DESCRIPTION
- * Testcase to check the basic functionality of the getppid() syscall.
- *
- * USAGE: <for command-line>
- * getppid01 [-c n] [-f] [-i n] [-I x] [-P x] [-t]
- * where, -c n : Run n copies concurrently.
- * -f : Turn off functionality Testing.
- * -i n : Execute test n times.
- * -I x : Execute test for x seconds.
- * -P x : Pause for x seconds between iterations.
- * -t : Turn on syscall timing.
- *
- * HISTORY
- * 07/2001 Ported by Wayne Boyer
- *
- * RESTRICTIONS
- * None
- */
-
-#include <errno.h>
-#include <test.h>
-#include <usctest.h>
-#include <sys/wait.h>
-
-const char *TCID = "getppid01";
-int TST_TOTAL = 1;
-extern int Tst_count;
-
-void setup(void);
-void cleanup(void) __attribute__((noreturn));
-
-int
-main(int ac, char **av)
-{
- int pid, ppid;
-
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
-
- /*
- * parse standard options
- */
- if ((msg = parse_opts(ac, av, (option_t *)NULL, NULL)) != (char *)NULL){
- tst_brkm(TBROK, cleanup, "OPTION PARSING ERROR - %s", msg);
- }
-
- setup();
-
- /*
- * check looping state if -i option is given
- */
- for (lc = 0; TEST_LOOPING(lc); lc++) {
- /*
- * reset Tst_count in case we are looping.
- */
- Tst_count = 0;
-
- ppid = getpid();
- pid = fork();
- if (pid < 0) {
- tst_brkm(TBROK, cleanup, "fork() failed");
- }
-
- if (pid == 0) { /* child */
- TEST(getppid());
-
- if (TEST_RETURN < 0) {
- tst_resm(TFAIL, "something is really broken");
- continue;
- }
-
- if (STD_FUNCTIONAL_TEST) {
- if (TEST_RETURN != ppid) {
- tst_resm(TFAIL, "getppid() failed");
- } else {
- tst_resm(TPASS, "return value = "
- "parent's pid value");
- }
- } else {
- tst_resm(TPASS, "call succeeded");
- }
-
- } else {
- wait(NULL);
-
- /* let the child carry on */
- exit(0);
- }
- }
- cleanup();
-
- /*NOTREACHED*/
-}
-
-/*
- * setup() - performs all ONE TIME setup for this test.
- */
-void
-setup()
-{
- /* capture signals */
- tst_sig(FORK, DEF_HANDLER, cleanup);
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-}
-
-
-/*
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- */
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /* exit with return code appropriate for results */
- tst_exit();
-}
-
diff --git a/winsup/testsuite/winsup.api/ltp/getuid01.c b/winsup/testsuite/winsup.api/ltp/getuid01.c
deleted file mode 100644
index cd3dff769..000000000
--- a/winsup/testsuite/winsup.api/ltp/getuid01.c
+++ /dev/null
@@ -1,219 +0,0 @@
-/*
- * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it would be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Further, this software is distributed without any warranty that it is
- * free of the rightful claim of any third person regarding infringement
- * or the like. Any license provided herein, whether implied or
- * otherwise, applies only to this software file. Patent licenses, if
- * any, provided herein do not apply to combinations of this program with
- * other software, or any other product whatsoever.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write the Free Software Foundation, Inc., 59
- * Temple Place - Suite 330, Boston MA 02111-1307, USA.
- *
- * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
- * Mountain View, CA 94043, or:
- *
- * http://www.sgi.com
- *
- * For further information regarding this notice, see:
- *
- * http://oss.sgi.com/projects/GenInfo/NoticeExplan/
- *
- */
-/* $Id$ */
-/**********************************************************
- *
- * OS Test - Silicon Graphics, Inc.
- *
- * TEST IDENTIFIER : getuid01
- *
- * EXECUTED BY : anyone
- *
- * TEST TITLE : Basic test for getuid(2)
- *
- * PARENT DOCUMENT : usctpl01
- *
- * TEST CASE TOTAL : 1
- *
- * WALL CLOCK TIME : 1
- *
- * CPU TYPES : ALL
- *
- * AUTHOR : William Roske
- *
- * CO-PILOT : Dave Fenner
- *
- * DATE STARTED : 03/30/92
- *
- * INITIAL RELEASE : UNICOS 7.0
- *
- * TEST CASES
- *
- * 1.) getuid(2) returns...(See Description)
- *
- * INPUT SPECIFICATIONS
- * The standard options for system call tests are accepted.
- * (See the parse_opts(3) man page).
- *
- * OUTPUT SPECIFICATIONS
- *
- * DURATION
- * Terminates - with frequency and infinite modes.
- *
- * SIGNALS
- * Uses SIGUSR1 to pause before test if option set.
- * (See the parse_opts(3) man page).
- *
- * RESOURCES
- * None
- *
- * ENVIRONMENTAL NEEDS
- * No run-time environmental needs.
- *
- * SPECIAL PROCEDURAL REQUIREMENTS
- * None
- *
- * INTERCASE DEPENDENCIES
- * None
- *
- * DETAILED DESCRIPTION
- * This is a Phase I test for the getuid(2) system call. It is intended
- * to provide a limited exposure of the system call, for now. It
- * should/will be extended when full functional tests are written for
- * getuid(2).
- *
- * Setup:
- * Setup signal handling.
- * Pause for SIGUSR1 if option specified.
- *
- * Test:
- * Loop if the proper options are given.
- * Execute system call
- * Check return code, if system call failed (return=-1)
- * Log the errno and Issue a FAIL message.
- * Otherwise, Issue a PASS message.
- *
- * Cleanup:
- * Print errno log and/or timing stats if options given
- *
- *
- *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#**/
-
-#include <sys/types.h>
-#include <sys/fcntl.h>
-#include <errno.h>
-#include <string.h>
-#include <signal.h>
-#include "test.h"
-#include "usctest.h"
-
-extern void setup();
-extern void cleanup();
-
-
-
-const char *TCID="getuid01"; /* Test program identifier. */
-int TST_TOTAL=1; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-
-int exp_enos[]={0, 0};
-
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
-
- /***************************************************************
- * parse standard options
- ***************************************************************/
- if ( (msg=parse_opts(ac, av, (option_t *) NULL, NULL)) != (char *) NULL )
- tst_brkm(TBROK, cleanup, "OPTION PARSING ERROR - %s", msg);
-
- /***************************************************************
- * perform global setup for test
- ***************************************************************/
- setup();
-
- /* set the expected errnos... */
- TEST_EXP_ENOS(exp_enos);
-
- /***************************************************************
- * check looping state if -c option given
- ***************************************************************/
- for (lc=0; TEST_LOOPING(lc); lc++) {
-
- /* reset Tst_count in case we are looping. */
- Tst_count=0;
-
- /*
- * Call getuid(2)
- */
- TEST(getuid());
-
- /* check return code */
- if ( TEST_RETURN == -1 ) {
- TEST_ERROR_LOG(TEST_ERRNO);
- tst_resm(TFAIL, "getuid() Failed, errno=%d : %s",
- TEST_ERRNO, strerror(TEST_ERRNO));
- } else {
-
- /***************************************************************
- * only perform functional verification if flag set (-f not given)
- ***************************************************************/
- if ( STD_FUNCTIONAL_TEST ) {
- /* No Verification test, yet... */
- tst_resm(TPASS, "getuid() returned %d", TEST_RETURN);
- }
- }
-
- } /* End for TEST_LOOPING */
-
- /***************************************************************
- * cleanup and exit
- ***************************************************************/
- cleanup();
-
- return 0;
-} /* End main */
-
-/***************************************************************
- * setup() - performs all ONE TIME setup for this test.
- ***************************************************************/
-void
-setup()
-{
- /* capture signals */
- tst_sig(NOFORK, DEF_HANDLER, cleanup);
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-} /* End setup() */
-
-
-/***************************************************************
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- ***************************************************************/
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /* exit with return code appropriate for results */
- tst_exit();
-} /* End cleanup() */
diff --git a/winsup/testsuite/winsup.api/ltp/getuid02.c b/winsup/testsuite/winsup.api/ltp/getuid02.c
deleted file mode 100644
index 966b55290..000000000
--- a/winsup/testsuite/winsup.api/ltp/getuid02.c
+++ /dev/null
@@ -1,137 +0,0 @@
-/*
- *
- * Copyright (c) International Business Machines Corp., 2001
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-/*
- * NAME
- * getuid02.c
- *
- * DESCRIPTION
- * Testcase to check the basic functionality of the geteuid() system call.
- *
- * USAGE: <for command-line>
- * getuid02 [-c n] [-f] [-i n] [-I x] [-P x] [-t]
- * where, -c n : Run n copies concurrently.
- * -f : Turn off functionality Testing.
- * -i n : Execute test n times.
- * -I x : Execute test for x seconds.
- * -P x : Pause for x seconds between iterations.
- * -t : Turn on syscall timing.
- *
- * HISTORY
- * 07/2001 Ported by Wayne Boyer
- *
- * RESTRICTIONS
- * None
- */
-
-#include <pwd.h>
-#include <errno.h>
-#include <test.h>
-#include <usctest.h>
-
-const char *TCID = "getuid02";
-int TST_TOTAL = 1;
-extern int Tst_count;
-
-void setup(void);
-void cleanup(void) __attribute__((noreturn));
-
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned by parse_opts */
-
- struct passwd *pwent;
-
- /* parse standard options */
- if ((msg = parse_opts(ac, av, (option_t *)NULL, NULL)) != (char *)NULL){
- tst_brkm(TBROK, cleanup, "OPTION PARSING ERROR - %s", msg);
- }
-
- setup();
-
- /* check looping state if -i option is given */
- for (lc = 0; TEST_LOOPING(lc); lc++) {
- /* reset Tst_count in case we are looping */
- Tst_count = 0;
-
- TEST(geteuid());
-
- if (TEST_RETURN < 0) {
- tst_brkm(TBROK, cleanup, "This should never happen");
- }
-
- if (STD_FUNCTIONAL_TEST) {
-
- pwent = getpwuid(TEST_RETURN);
- if (pwent == NULL) {
- tst_resm(TFAIL, "geteuid() returned unexpected "
- "value %d", TEST_RETURN);
- } else {
- if (pwent->pw_uid != TEST_RETURN) {
- tst_resm(TFAIL, "getpwuid() value, %d, "
- "does not match geteuid() "
- "value, %d", pwent->pw_uid,
- TEST_RETURN);
- } else {
- tst_resm(TPASS, "values from geteuid()"
- " and getpwuid() match");
- }
- }
- } else {
- tst_resm(TPASS, "call succeeded");
- }
- }
- cleanup();
-
- /*NOTREACHED*/
-}
-
-/*
- * setup() - performs all ONE TIME setup for this test.
- */
-void
-setup()
-{
- /* capture signals */
- tst_sig(NOFORK, DEF_HANDLER, cleanup);
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-}
-
-
-/*
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- */
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /* exit with return code appropriate for results */
- tst_exit();
-}
-
diff --git a/winsup/testsuite/winsup.api/ltp/getuid03.c b/winsup/testsuite/winsup.api/ltp/getuid03.c
deleted file mode 100644
index e18c366f4..000000000
--- a/winsup/testsuite/winsup.api/ltp/getuid03.c
+++ /dev/null
@@ -1,138 +0,0 @@
-/*
- *
- * Copyright (c) International Business Machines Corp., 2001
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-/*
- * NAME
- * getuid01.c
- *
- * DESCRIPTION
- * Testcase to check the basic functionality of the getuid() system call.
- *
- * USAGE: <for command-line>
- * getuid01 [-c n] [-f] [-i n] [-I x] [-P x] [-t]
- * where, -c n : Run n copies concurrently.
- * -f : Turn off functionality Testing.
- * -i n : Execute test n times.
- * -I x : Execute test for x seconds.
- * -P x : Pause for x seconds between iterations.
- * -t : Turn on syscall timing.
- *
- * HISTORY
- * 07/2001 Ported by Wayne Boyer
- *
- * RESTRICTIONS
- * None
- */
-
-#include <pwd.h>
-#include <errno.h>
-#include <test.h>
-#include <usctest.h>
-
-const char *TCID = "getuid01";
-int TST_TOTAL = 1;
-extern int Tst_count;
-
-void setup(void);
-void cleanup(void) __attribute__((noreturn));
-
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned by parse_opts */
-
- struct passwd *pwent;
-
- /* parse standard options */
- if ((msg = parse_opts(ac, av, (option_t *)NULL, NULL)) != (char *)NULL){
- tst_brkm(TBROK, NULL, "OPTION PARSING ERROR - %s", msg);
- }
-
- setup();
-
- /* check looping state if -i option is given */
- for (lc = 0; TEST_LOOPING(lc); lc++) {
-
- /* reset Tst_count in case we are looping */
- Tst_count = 0;
-
- TEST(getuid());
-
- if (TEST_RETURN < 0) {
- tst_brkm(TBROK, cleanup, "This should never happen");
- }
-
- if (STD_FUNCTIONAL_TEST) {
-
- pwent = getpwuid(TEST_RETURN);
- if (pwent == NULL) {
- tst_resm(TFAIL, "getuid() returned unexpected "
- "value %d", TEST_RETURN);
- } else {
- if (pwent->pw_uid != TEST_RETURN) {
- tst_resm(TFAIL, "getpwuid() value, %d, "
- "does not match getuid() "
- "value, %d", pwent->pw_uid,
- TEST_RETURN);
- } else {
- tst_resm(TPASS, "values from getuid()"
- " and getpwuid() match");
- }
- }
- } else {
- tst_resm(TPASS, "call succeeded");
- }
- }
- cleanup();
-
- /*NOTREACHED*/
-}
-
-/*
- * setup() - performs all ONE TIME setup for this test.
- */
-void
-setup()
-{
- /* capture signals */
- tst_sig(NOFORK, DEF_HANDLER, cleanup);
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-}
-
-
-/*
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- */
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /* exit with return code appropriate for results */
- tst_exit();
-}
-
diff --git a/winsup/testsuite/winsup.api/ltp/kill01.c b/winsup/testsuite/winsup.api/ltp/kill01.c
deleted file mode 100644
index 042899173..000000000
--- a/winsup/testsuite/winsup.api/ltp/kill01.c
+++ /dev/null
@@ -1,162 +0,0 @@
-/*
- *
- * Copyright (c) International Business Machines Corp., 2001
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-/*
- * NAME
- * kill01.c
- *
- * DESCRIPTION
- * Test case to check the basic functionality of kill().
- *
- * ALGORITHM
- * call setup
- * loop if the -i option was given
- * fork a child
- * execute the kill system call
- * check the return value
- * if return value is -1
- * issue a FAIL message, break remaining tests and cleanup
- * if we are doing functional testing
- * if the process was terminated with the expected signal.
- * issue a PASS message
- * otherwise
- * issue a FAIL message
- * call cleanup
- *
- * USAGE
- * kill01 [-c n] [-f] [-i n] [-I x] [-P x] [-t]
- * where, -c n : Run n copies concurrently.
- * -f : Turn off functionality Testing.
- * -i n : Execute test n times.
- * -I x : Execute test for x seconds.
- * -P x : Pause for x seconds between iterations.
- * -t : Turn on syscall timing.
- *
- * HISTORY
- * 07/2001 Ported by Wayne Boyer
- *
- * RESTRICTIONS
- * This test should be ran as a non-root user.
- */
-
-#include "test.h"
-#include "usctest.h"
-
-#include <signal.h>
-#include <errno.h>
-#include <sys/wait.h>
-
-void cleanup(void) __attribute__((noreturn));
-void setup(void);
-
-const char *TCID= "kill01()";
-int TST_TOTAL = 1;
-
-extern int Tst_count;
-
-#define TEST_SIG SIGKILL
-
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
- pid_t pid;
- int exno, status, nsig;
-
- /* parse standard options */
- if ((msg = parse_opts(ac, av, (option_t *)NULL, NULL)) != (char *)NULL){
- tst_brkm(TBROK, cleanup, "OPTION PARSING ERROR - %s", msg);
- }
-
- setup(); /* global setup */
-
- /* The following loop checks looping state if -i option given */
- for (lc = 0; TEST_LOOPING(lc); lc++) {
-
- /* reset Tst_count in case we are looping */
- Tst_count = 0;
- status = 1;
- exno = 1;
- pid = fork();
- if (pid < 0) {
- tst_brkm(TBROK, cleanup, "Fork of child failed");
- } else if (pid == 0) {
- pause();
- /*NOTREACHED*/
- exit(exno);
- } else {
- TEST(kill(pid, TEST_SIG));
- waitpid(pid, &status, 0);
- }
-
- if (TEST_RETURN == -1) {
- tst_brkm(TFAIL, cleanup, "%s failed - errno = %d : %s",
- TCID, TEST_ERRNO, strerror(TEST_ERRNO));
- /*NOTREACHED*/
- }
-
- if (STD_FUNCTIONAL_TEST) {
- /*
- * Check to see if the process was terminated with the
- * expected signal.
- */
- nsig = WTERMSIG(status);
- if (nsig == TEST_SIG) {
- tst_resm(TPASS, "received expected signal %d",
- nsig);
- } else {
- tst_resm(TFAIL, "expected signal %d received %d" ,TEST_SIG,nsig);
- }
- } else {
- tst_resm(TPASS, "call succeeded");
- }
- }
- cleanup();
-
- /*NOTREACHED*/
-}
-
-
-/*
- * setup() - performs all ONE TIME setup for this test
- */
-void
-setup(void)
-{
- /* Pause if that option was specified */
- TEST_PAUSE;
-}
-
-/*
- * cleanup() - performs all the ONE TIME cleanup for this test at completion
- * or premature exit.
- */
-void
-cleanup(void)
-{
- /*
- * print timing status if that option was specified.
- * print errno log if that option was specified
- */
- TEST_CLEANUP;
-
- /* exit with return code appropriate for results */
- tst_exit();
-}
diff --git a/winsup/testsuite/winsup.api/ltp/kill02.c b/winsup/testsuite/winsup.api/ltp/kill02.c
deleted file mode 100644
index eba47cc6a..000000000
--- a/winsup/testsuite/winsup.api/ltp/kill02.c
+++ /dev/null
@@ -1,857 +0,0 @@
-/*
- * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it would be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Further, this software is distributed without any warranty that it is
- * free of the rightful claim of any third person regarding infringement
- * or the like. Any license provided herein, whether implied or
- * otherwise, applies only to this software file. Patent licenses, if
- * any, provided herein do not apply to combinations of this program with
- * other software, or any other product whatsoever.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write the Free Software Foundation, Inc., 59
- * Temple Place - Suite 330, Boston MA 02111-1307, USA.
- *
- * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
- * Mountain View, CA 94043, or:
- *
- * http://www.sgi.com
- *
- * For further information regarding this notice, see:
- *
- * http://oss.sgi.com/projects/GenInfo/NoticeExplan/
- *
- */
-/* $Id$ */
-/***********************************************************************************
-
- OS Test - Silicon Graphics, Inc.
-
- TEST IDENTIFIER : kill02 Sending a signal to processes with the same process group ID.
-
- PARENT DOCUMENT : kiltds01 Kill System Call.
-
- AUTHOR : Dave Baumgartner
-
- CO-PILOT : Barrie Kletscher
-
- DATE STARTED : 12/30/85
-
- TEST ITEMS
-
- 1. Sending a signal to pid of zero sends to all processes whose process
- group ID is equal to the process group ID as the sender.
-
- 2. Sending a signal to pid of zero does not send to processes in another process group.
-
-
- OUTPUT SPECIFICATIONS
-
- PASS :
- kiltcs02 1 PASS The signal was sent to all processes in the process group.
- kiltcs02 2 PASS The signal was not sent to selective processes that were not in the process group.
-
- FAIL :
- kiltcs02 1 FAIL The signal was not sent to all processes in the process group.
- kiltcs02 2 FAIL The signal was sent to a process that was not in the process group.
-
- BROK :
- kiltcs02 # BROK System call XXX failed. Errno:X, Error message:XXX.
- kiltcs02 # BROK Setting to catch unexpected signal %d failed. Errno: %d, Error message %s.
- kiltcs02 # BROK Setting to ignore signal %d failed. Errno: %d, Error message %s.
-
- WARN :
- kiltcs02 0 WARN Unexpected signal X was caught.
-
- SPECIAL PROCEDURAL REQUIREMENTS
-
- The program must be linked with tst_res.o.
-
- DETAILED DESCRIPTION
-
- **Setup**
- Set up unexpected signal handling.
- Set up one pipe for each process to be created with no blocking for read.
-
- **MAIN**
- If setup fails exit.
- Fork 2 children(1 & 2).
- Wait for set up complete messages from the 1st and 2nd child.
- Send the signal SIGUSR1 with pid equal to zero.
- Sleep a reasonable amount of time so that each child has been swapped in
- to process the signal.
- Now decide the outcome of the test items by reading from each pipe to find
- out if the child was interrupted by the signal and wrote to it.
- Remove the second child.
- Tell the first child it is time to remove it's child B because the decisions have been made.
- Exit.
-
- **First Child**
- Set to catch SIGUSR1 with an int_rout1.
- Set up to handle the message from the parent to remove child B.
- Fork two children(A & B).
- Wait for set up complete messages from child A & child B.
- Send a set up complete message to the parent.
- Pause until the signal SIGUSR1 comes in from the parent.
- Pause until the parent says it is time to remove the child.
- Exit.
-
- **Second Child**
- Set to catch SIGUSR1 with an int_rout2.
- Set the process group to be something different than the parents.
- Send a set up complete message to the parent.
- Pause until killed by parent because this child shouldn't receive signal SIGUSR1.
-
- **Child A**
- Set to catch SIGUSR1 with an int_routA.
- Send a set up complete message to the parent(First Child).
- Pause until the signal SIGUSR1 comes in from the parent.
- Exit.
-
- **Child B**
- Set to catch SIGUSR1 with an int_routB.
- Set the process group to be something different than the parents(First Child's).
- Send a set up complete message to the parent.
- Pause until killed by parent because this child shouldn't receive signal SIGUSR1.
-
- **usr1_rout-Used by all children**
- Write to the appropriate pipe that the signal SIGUSR1 was caught.
-
- **usr2_rout**
- Remove child B.
-
-******************************************************************************/
-#include <sys/param.h>
-#include <signal.h>
-#include <errno.h>
-#include <fcntl.h>
-#include <string.h>
-#include "test.h"
-#include "usctest.h"
-
-#define MAXMESG 150 /*The maximum message that can be created. */
-#define CHAR_SET_FAILED "0" /*Set up failing status transferred through the pipe. */
-#define CHAR_SET_PASSED "1" /*Set up passing status transferred through the pipe. */
-#define SIG_CAUGHT "2" /*Indicates that the signal SIGUSR1 was caught. */
-#define SIG_RECEIVED 1 /*Integer value that indicates that the signal SIGUSR1 */
- /*was caught. */
-#define SIG_NOT_RECD 0 /*Integer value that indicates that the signal SIGUSR1 */
- /*was caught. */
-#define INT_SET_FAILED 0 /*Set up failing status transferred through the pipe. */
-#define INT_SET_PASSED 1 /*Set up passing status transferred through the pipe. */
-#define SLEEP_TIME 10 /*Amount of time the children get to catch the signal */
-#define TRUE 40 /*Child exits with this if execution was as */
- /*expected. */
-#define FALSE 50 /*Child exits with this if it timed out waiting for the */
- /*parents signal. */
-#define TIMEOUT 60 /*Amount of time given in alarm calls. */
-#define CHILD_EXIT(VAR) ((VAR >> 8) & 0377) /*Exit value from the child. */
-#define CHILD_SIG(VAR) (VAR & 0377) /*Signal value from the termination of child. */
- /*from the parent. */
-#define SYS_FAIL "The system call %s failed. Errno: %d, Error message: %s."
-
-int pid1; /*Return value from 1st fork. Global so that it can be */
- /*used in interrupt handling routines. */
-int pid2; /*Return value from 2nd fork. Global so that it can be */
- /*used in interrupt handling routines. */
-int pidA; /*Return value from 1st fork in child 1. Global so that it */
- /*can be used in interrupt handling routines. */
-int pidB; /*Return value from 2nd fork in child 1. Global so that it */
- /*can be used in interrupt handling routines. */
-extern int errno; /*Error number returned by a system call. */
-int pipe1_fd[2]; /*Pipe file descriptors used for communication */
- /*between child 1 and the 1st parent. */
-int pipe2_fd[2]; /*Pipe file descriptors used for communication */
- /*between child 2 and the 1st parent. */
-int pipeA_fd[2]; /*Pipe file descriptors used for communication */
- /*between child A and the 1st parent. */
-int pipeB_fd[2]; /*Pipe file descriptors used for communication */
- /*between child B and the 1st parent. */
-char pipe_buf[10]; /*Pipe buffer. */
-char buf_tmp1[2],buf_tmp2[2]; /*Temp hold for info read into pipe_buf. */
-int read1_stat = 0; /*Number of characters read from pipe 1. */
-int read2_stat = 0; /*Number of characters read from pipe 2. */
-int readA_stat = 0; /*Number of characters read from pipe A. */
-int readB_stat = 0; /*Number of characters read from pipe B. */
-int alarm_flag = FALSE; /*This flag indicates an alarm time out. */
-char who_am_i = '0'; /*This indicates which process is which when using */
- /*interrupt routine usr1_rout. */
-
-void notify_timeout(); /*Signal handler that the parent enters if it times out */
- /*waiting for the child to indicate its set up status. */
-void parent_rout(); /*This is the parents routine. */
-void child1_rout(); /*This is child 1's routine. */
-void child2_rout(); /*This is child 2's routine. */
-void childA_rout(); /*This is child A's routine. */
-void childB_rout(); /*This is child B's routine. */
-void usr1_rout(); /*This routine is used by all children to indicate that */
- /*they have caught signal SIGUSR1. */
-void par_kill(); /*This routine is called by the original parent to */
- /*remove child 2 and to indicate to child 1 to */
- /*remove its children. */
-void chld1_kill(); /*This routine is used by child 1 to remove itself and */
- /*its children A and B. */
-
-void setup();
-void cleanup(void) __attribute__((noreturn));
-
-const char *TCID="kill02"; /* Test program identifier. */
-int TST_TOTAL=2; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-extern int Tst_nobuf; /* var. used to turn off tst_res buffering */
-
-int exp_enos[]={0}; /* Array of expected errnos */
-
-/***********************************************************************
- * MAIN
- ***********************************************************************/
-int
-main(int ac, char **av)
-{
- char mesg[MAXMESG]; /* Holds messages to pass to tst_res. */
-
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
-
- Tst_nobuf=1;
-
- /***************************************************************
- * parse standard options, and exit if there is an error
- * the -t and -f options not support yet.
- ***************************************************************/
- if ( (msg=parse_opts(ac, av, (option_t *) NULL, NULL)) != (char *) NULL ) {
- tst_brkm(TBROK, NULL, "OPTION PARSING ERROR - %s", msg);
- tst_exit();
- }
-
- /***************************************************************
- * perform global setup for test
- ***************************************************************/
- setup();
-
- /***************************************************************
- * check looping state if -c option given
- ***************************************************************/
- for (lc=0; TEST_LOOPING(lc); lc++) {
-
- /* reset Tst_count in case we are looping. */
- Tst_count=0;
-
- if ((pid1 = fork()) > 0)
- {
- /*
- * This is the parent, fork again to create child 2.
- */
- if ((pid2 = fork()) > 0) {
- /*
- * This is the parent.
- */
- (void) parent_rout();
- }
- else if (pid2 == 0) {
- /*
- * This is child 2.
- */
- (void) child2_rout();
- }
- else {
- /*
- * The second fork failed kill the first child.
- */
- if (kill(pid1,SIGKILL) == -1 && errno != ESRCH) {
- tst_resm(TWARN,"Child process may not have been killed.");
- }
- (void) sprintf(mesg,SYS_FAIL,"fork",errno,strerror(errno));
- tst_brkm(TBROK,cleanup,mesg);
- }
-
- }
- else if (pid1 == 0) {
- /*
- * This is child 1.
- */
- (void) child1_rout();
- }
- else {
- /*
- * Fork failed.
- */
- (void) sprintf(mesg,SYS_FAIL,"fork",errno,strerror(errno));
- tst_brkm(TBROK,cleanup,mesg);
- }
- }
-
- cleanup();
-
- return 0;
-} /* END OF MAIN.*/
-
-/******************************************************************************
- * This is the parents routine. The parent waits for the children 1 and 2 to
- * get set up. Then sends the signal and checks the outcome.
- *********************************************************************************/
-void parent_rout()
-{
- char mesg[MAXMESG]; /*Used to buffer messages for tst_resm. */
-
- /*
- * Set to catch the alarm signal SIGALRM.
- */
- if (signal(SIGALRM,notify_timeout) == SIG_ERR) {
- (void) par_kill();
- tst_brkm(TBROK, NULL,
- "Could not set to catch the parents time out alarm.");
- tst_exit();
- }
-
- /*
- * Setting to catch the timeout alarm worked now let the children start up.
- * Set an alarm which causes a time out on the read pipe loop.
- * The children will notify the parent that set up is complete
- * and the pass/fail status of set up.
- */
- (void) alarm(TIMEOUT);
-
- while ((read(pipe1_fd[0],pipe_buf,1) != 1) && (alarm_flag == FALSE))
- /*EMPTY*/;
- strncpy(buf_tmp1,pipe_buf,1);
- (void) alarm(TIMEOUT);
-
- while ((read(pipe2_fd[0],pipe_buf,1) != 1) && (alarm_flag == FALSE))
- /*EMPTY*/;
- (void) alarm(0); /*Reset the alarm clock.*/
- strncpy(buf_tmp2,pipe_buf,1);
-
- /*
- * Check the alarm flag.
- */
- if (alarm_flag == TRUE) {
- tst_brkm(TBROK,NULL,"The set up of the children failed by timing out.");
- (void) par_kill();
- cleanup();
- }
-
- /*
- * Check to see if either child failed in the set up.
- */
- if ( (strncmp(buf_tmp1,CHAR_SET_FAILED,1) == 0) ||
- (strncmp(buf_tmp2,CHAR_SET_FAILED,1) == 0)) {
- /*
- * Problems were encountered in the set up of one of the children.
- * The error message has been displayed by the child.
- */
- (void) par_kill();
- cleanup();
- }
-
- /*
- * Setup passed, now send SIGUSR1 to process id of zero.
- */
- TEST( kill(0,SIGUSR1) );
-
- if ( TEST_RETURN == -1)
- {
- (void) sprintf(mesg,SYS_FAIL,"kill",errno,strerror(errno));
- tst_brkm(TBROK,NULL,mesg);
- (void) par_kill();
- cleanup();
- }
-
- /*
- * Sleep for a while to allow the children to get a chance to
- * catch the signal.
- */
- (void) sleep(SLEEP_TIME);
-
- /*
- * The signal was sent above and time has run out for child response,
- * check the outcomes.
- */
- read1_stat = read(pipe1_fd[0],pipe_buf,1);
- if (read1_stat == -1 && errno == EAGAIN) read1_stat = 0;
- read2_stat = read(pipe2_fd[0],pipe_buf,1);
- if (read2_stat == -1 && errno == EAGAIN) read2_stat = 0;
- readA_stat = read(pipeA_fd[0],pipe_buf,1);
- if (readA_stat == -1 && errno == EAGAIN) readA_stat = 0;
- readB_stat = read(pipeB_fd[0],pipe_buf,1);
- if (readB_stat == -1 && errno == EAGAIN) readB_stat = 0;
-
- if (read1_stat == -1 || read2_stat == -1 ||
- readA_stat == -1 || readB_stat == -1) {
- /*
- * The read system call failed.
- */
- (void) sprintf(mesg,SYS_FAIL,"read",errno,strerror(errno));
- tst_brkm(TBROK,NULL,mesg);
- (void) par_kill();
- cleanup();
- }
-
- /*
- * Check the processes that were supposed to get the signal.
- */
- if (read1_stat == SIG_RECEIVED) {
- if (readA_stat == SIG_RECEIVED) {
- /*
- * Both processes, 1 and A, that were supposed to receive
- * the signal did receive the signal.
- */
- if ( STD_FUNCTIONAL_TEST )
- tst_resm(TPASS,
- "The signal was sent to all processes in the process group.");
- else
- Tst_count++;
- }
- else { /*Process A didn't receive the signal.*/
- tst_resm(TFAIL,"Process A did not receive the signal.");
- }
-
- }
- else { /*Process 1 didn't receive the signal.*/
- tst_resm(TFAIL,"Process 1 did not receive the signal.");
- }
-
- /*
- * Check the processes that were not supposed to get the signal.
- */
- if (read2_stat == SIG_NOT_RECD) {
- if (readB_stat == SIG_NOT_RECD) {
- /*
- * Both processes, 2 and B did not receive the signal.
- */
- if ( STD_FUNCTIONAL_TEST )
- tst_resm(TPASS,
- "The signal was not sent to selective processes that were not in the process group.");
- else
- Tst_count++;
- }
- else { /*Process B received the signal.*/
- tst_resm(TFAIL,"Process B received the signal.");
- }
-
- }
-
- else /*Process 2 received the signal.*/
- {
- tst_resm(TFAIL,"Process 2 received the signal.");
- }
-
- (void) par_kill();
- return;
-} /*End of parent_rout*/
-
-/*******************************************************************************
- * This is child 1's routine. It creates children A & B, checks their set up,
- * reports to the parent set up pass/fail info., then waits for
- * the parents signal.
- ******************************************************************************/
-void child1_rout()
-{
- char mesg[MAXMESG]; /*Used to buffer messages for tst_resm. */
- who_am_i = '1';
-
- /*
- * Set to catch the SIGUSR1 with int1_rout.
- */
- if (signal(SIGUSR1,usr1_rout) == SIG_ERR)
- {
- tst_brkm(TBROK,NULL,"Could not set to catch the childrens signal.");
- (void) write(pipe1_fd[1],CHAR_SET_FAILED,1);
- exit(0);
- }
-
- /*
- * Create children A & B.
- */
- if ((pidA = fork()) > 0) {
- /*
- * This is the parent(child1), fork again to create child B.
- */
- if ((pidB = fork()) == 0) {
- /* This is child B. */
- (void) childB_rout();
- }
-
- else if (pidB == -1) {
- /*
- * The fork of child B failed kill child A.
- */
- if (kill(pidA,SIGKILL) == -1)
- tst_resm(TWARN,"Child process may not have been killed.");
- (void) sprintf(mesg,SYS_FAIL,"fork",errno,strerror(errno));
- tst_brkm(TBROK,NULL,mesg);
- (void) write(pipe2_fd[1],CHAR_SET_FAILED,1);
- exit(0);
- }
- }
-
- else if (pidA == 0) {
- /* This is child A. */
- (void) childA_rout();
-
- }
-
- else if (pidA == -1) {
- /*
- * The fork of child A failed.
- */
- (void) sprintf(mesg,SYS_FAIL,"fork",errno,strerror(errno));
- tst_brkm(TBROK,NULL,mesg);
- (void) write(pipe1_fd[1],CHAR_SET_FAILED,1);
- exit(0);
- }
-
- /*
- * Set to catch the SIGUSR2 with chld1_kill.
- */
- if (signal(SIGUSR2,chld1_kill) == SIG_ERR) {
- tst_brkm(TBROK,NULL,"Could not set to catch the parents signal.");
- (void) write(pipe1_fd[1],CHAR_SET_FAILED,1);
- (void) chld1_kill();
- exit(0);
- }
-
- /*
- * Set to catch the alarm signal SIGALRM.
- */
- if (signal(SIGALRM,notify_timeout) == SIG_ERR) {
- tst_brkm(TBROK,NULL,"Could not set to catch the childs time out alarm.");
- (void) write(pipe1_fd[1],CHAR_SET_FAILED,1);
- (void) chld1_kill();
- exit(0);
- }
-
- /*
- * Setting to catch the signals worked now let the children start up.
- * Set an alarm which causes a time out on the pipe read loop.
- * The children A & B will notify the parent(child1) that set up is complete
- * and the pass/fail status of set up.
- */
- (void) alarm(TIMEOUT-40);
-
- while ((read(pipeA_fd[0],pipe_buf,1) != 1) && (alarm_flag == FALSE))
- /*EMPTY*/;
- (void) alarm(TIMEOUT-40);
-
- while ((read(pipeB_fd[0],pipe_buf,1) != 1) && (alarm_flag == FALSE))
- /*EMPTY*/;
- (void) alarm(0); /*Reset the alarm clock.*/
-
- /*
- * Check the alarm flag.
- */
- if (alarm_flag == TRUE) {
- tst_brkm(TBROK,NULL,"The set up of the children failed by timing out.");
- (void) chld1_kill();
- (void) write(pipe1_fd[1],CHAR_SET_FAILED,1);
- exit(0);
- }
-
- /*
- * Send a set up complete message to the parent.
- */
- (void) write(pipe1_fd[1],CHAR_SET_PASSED,1);
-
- /*
- * Pause until the signal SIGUSR1 or SIGUSR2 is sent from the parent.
- */
- (void) pause();
-
- /*
- * Pause until signal SIGUSR2 is sent from the parent.
- * This pause will only be executed if SIGUSR2 has not been received yet.
- */
- while (1) {
- sleep(1);
- }
-
-} /*End of child1_rout*/
-
-/*******************************************************************************
- * This is the routine for child 2, which should not receive the parents signal.
- ******************************************************************************/
-void child2_rout()
-{
- who_am_i = '2';
-
- /*
- * Set the process group of this process to be different
- * than the other processes.
- */
- (void) setpgrp();
-
- /*
- * Set to catch the SIGUSR1 with usr1_rout.
- */
- if (signal(SIGUSR1,usr1_rout) == SIG_ERR) {
- tst_brkm(TBROK,cleanup,"Could not set to catch the parents signal.");
- (void) write(pipe2_fd[1],CHAR_SET_FAILED,1);
- exit(0);
- }
-
- /* Send a set up complete message to parent.*/
- (void) write(pipe2_fd[1],CHAR_SET_PASSED,1);
-
- /*
- * Pause until killed by the parent or SIGUSR1 is received.
- */
- (void) pause();
-}
-
-
-/*******************************************************************************
- * This is the routine for child A, which should receive the parents signal.
- ******************************************************************************/
-void childA_rout()
-{
- who_am_i = 'A';
-
- /* Send a set up complete message to parent.*/
- write(pipeA_fd[1],CHAR_SET_PASSED,1);
-
- /*
- * Pause until killed by the parent or SIGUSR1 is received.
- */
- (void) pause();
-
- exit(0);
-} /*End of childA_rout*/
-
-/*******************************************************************************
- * This is the routine for child B, which should not receive the parents signal.
- ******************************************************************************/
-void childB_rout()
-{
- who_am_i = 'B';
-
- /*
- * Set the process group of this process to be different
- * than the other processes.
- */
- (void) setpgrp();
-
- /* Send a set up complete message to parent(child 1).*/
- write(pipeB_fd[1],CHAR_SET_PASSED,1);
-
- /*
- * Pause until killed by the parent(child 1) or SIGUSR1 is received.
- */
- (void) pause();
-
- exit(0);
-}
-
-/*******************************************************************************
- * This routine sets up the interprocess communication pipes, signal handling,
- * and process group information.
- ******************************************************************************/
-void
-setup()
-{
- int errno_buf = 0; /*indicates the errno if pipe set up fails. */
- int err_flag = FALSE; /*Indicates if an error has occurred in pipe set up. */
- char mesg[MAXMESG]; /*Used to buffer messages for tst_res. */
-
- /*
- * Set the process group ID to be equal between the parent and children.
- */
- (void) setpgrp();
-
- /*
- * Set to catch unexpected signals.
- * SIGCLD is set to be ignored because we do not wait for termination status.
- * SIGUSR1 is set to be ignored because this is the signal we are using for
- * the test and we are not concerned with the parent getting it.
- */
- /* capture signals */
- tst_sig(FORK, DEF_HANDLER, cleanup);
-
- if (signal(SIGUSR1,SIG_IGN) == SIG_ERR) {
- (void) sprintf(mesg,
- "Setting to ignore signal SIGCLD failed. Errno: %d, Error message %s.",
- errno,strerror(errno));
- tst_brkm(TBROK,NULL,mesg);
- tst_exit();
- }
-
- if (signal(SIGCLD,SIG_IGN) == SIG_ERR) {
- (void) sprintf(mesg,
- "Setting to ignore signal SIGCLD failed. Errno: %d, Error message %s.",
- errno,strerror(errno));
- tst_brkm(TBROK,NULL,mesg);
- tst_exit();
- }
-
- /* Indicate which errnos are expected */
- TEST_EXP_ENOS(exp_enos);
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-
-
- /*
- * Set up pipe1, pipe2, pipeA, and pipeB.
- */
- if ((pipe(pipe1_fd) == -1) || (fcntl(pipe1_fd[0],F_SETFL,O_NDELAY) == -1))
- {
- errno_buf = errno;
- err_flag = TRUE;
- }
-
- if ((pipe(pipe2_fd) == -1) || (fcntl(pipe2_fd[0],F_SETFL,O_NDELAY) == -1))
- {
- errno_buf = errno;
- err_flag = TRUE;
- }
-
- if ((pipe(pipeA_fd) == -1) || (fcntl(pipeA_fd[0],F_SETFL,O_NDELAY) == -1))
- {
- errno_buf = errno;
- err_flag = TRUE;
- }
-
- if ((pipe(pipeB_fd) == -1) || (fcntl(pipeB_fd[0],F_SETFL,O_NDELAY) == -1))
- {
- errno_buf = errno;
- err_flag = TRUE;
- }
-
- /*
- * Check for errors.
- */
- if (err_flag == TRUE)
- {
- (void) sprintf(mesg,SYS_FAIL,"pipe",errno_buf,strerror(errno_buf));
- tst_brkm(TBROK, NULL, mesg);
- tst_exit();
- }
- return;
-
-}
-
-/***********************************************************
- * This routine indicates that the process caught SIGUSR1.
- **********************************************************/
-void usr1_rout()
-{
- char mesg[MAXMESG]; /*Used to buffer messages for tst_res. */
-
- switch (who_am_i)
- {
- case '1': if (write(pipe1_fd[1],SIG_CAUGHT,1) == -1)
- tst_resm(TWARN,"Writing signal catching status failed in child 1.");
- break;
- case '2': if (write(pipe2_fd[1],SIG_CAUGHT,1) == -1)
- tst_resm(TWARN,"Writing signal catching status failed in child 2.");
- break;
- case 'A': if (write(pipeA_fd[1],SIG_CAUGHT,1) == -1)
- tst_resm(TWARN,"Writing signal catching status failed in child A.");
- break;
- case 'B': if (write(pipeB_fd[1],SIG_CAUGHT,1) == -1)
- tst_resm(TWARN,"Writing signal catching status failed in child B.");
- break;
- default:
- sprintf(mesg,"Unexpected value %d for who_am_i in usr1_rout().",who_am_i);
- tst_resm(TWARN,mesg);
- break;
- }
-
-} /*End of usr1_rout*/
-
-
-/***********************************************************
- * This routine handles the timeout alarm in the parent,
- * which occurs when the child fails to notify the parent
- * the status of set up.
- **********************************************************/
-void notify_timeout()
-{
- alarm_flag = TRUE;
-
-} /*End of notify_timeout*/
-
-/***********************************************************
- * This routine handles the procedure for removing the
- * children forked off during this test.
- **********************************************************/
-void par_kill()
-{
- char mesg[MAXMESG]; /*Used to buffer messages for tst_res. */
- /*
- * Indicate to child1 that it can remove it's children and itself now.
- */
- if (kill(pid1,SIGUSR2) == -1 && errno != ESRCH)
- {
- (void) sprintf(mesg,SYS_FAIL,"kill",errno,strerror(errno));
- tst_resm(TWARN,mesg);
- tst_resm(TWARN,"Child 1 and it's children may still be alive.");
- }
-
- /*
- * Remove child 2.
- */
- if (kill(pid2,SIGKILL) == -1 && errno != ESRCH)
- tst_resm(TWARN,"Child2 may still be alive.");
-
- return;
-
-} /*End of par_kill*/
-
-
-/*********************************************************************
- * This routine is executed by child 1 when the parent tells it to
- * remove it's children and itself.
- ********************************************************************/
-void chld1_kill()
-{
- char mesg[MAXMESG]; /*Used to buffer messages for tst_resm. */
-
- /*
- * Remove children A & B.
- */
- if (kill(pidA,SIGKILL) == -1 && errno != ESRCH)
- {
- (void) sprintf(mesg,
- "The system call kill failed. Child 1's(A) child may still be alive. Errno: %d, Error message %s.",
- errno,strerror(errno));
- tst_resm(TWARN,mesg);
- }
- if (kill(pidB,SIGKILL) == -1 && errno != ESRCH)
- {
- (void) sprintf(mesg,
- "The system call kill failed. Child 1's(B) child may still be alive. Errno: %d, Error message %s.",
- errno,strerror(errno));
- tst_resm(TWARN,mesg);
- }
-
- exit(0);
-
-} /*End of chld1_kill*/
-
-/***************************************************************
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- ***************************************************************/
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /* exit with return code appropriate for results */
- tst_exit();
-
-} /* End cleanup() */
-
-
diff --git a/winsup/testsuite/winsup.api/ltp/kill03.c b/winsup/testsuite/winsup.api/ltp/kill03.c
deleted file mode 100644
index 1de727fd7..000000000
--- a/winsup/testsuite/winsup.api/ltp/kill03.c
+++ /dev/null
@@ -1,170 +0,0 @@
-/*
- *
- * Copyright (c) International Business Machines Corp., 2001
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-/*
- * NAME
- * kill03.c
- *
- * DESCRIPTION
- * Test case to check that kill fails when given an invalid signal.
- *
- * ALGORITHM
- * call setup
- * loop if the -i option was given
- * fork a child
- * execute the kill system call with an invalid signal
- * check the return value
- * if return value is not -1
- * issue a FAIL message, break remaining tests and cleanup
- * if we are doing functional testing
- * if the errno was set to 22 (invalid argument).
- * issue a PASS message
- * otherwise
- * issue a FAIL message
- * call cleanup
- *
- * USAGE
- * kill03 [-c n] [-f] [-i n] [-I x] [-P x] [-t]
- * where, -c n : Run n copies concurrently.
- * -f : Turn off functionality Testing.
- * -i n : Execute test n times.
- * -I x : Execute test for x seconds.
- * -P x : Pause for x seconds between iterations.
- * -t : Turn on syscall timing.
- *
- * HISTORY
- * 07/2001 Ported by Wayne Boyer
- *
- * RESTRICTIONS
- * none
- */
-
-#include "test.h"
-#include "usctest.h"
-
-#include <signal.h>
-#include <errno.h>
-#include <sys/wait.h>
-
-void cleanup(void) __attribute__((noreturn));
-void setup(void);
-
-const char *TCID= "kill03()";
-int TST_TOTAL = 1;
-
-extern int Tst_count;
-
-int exp_enos[] = {EINVAL, 0};
-
-#define TEST_SIG 2000
-
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
- pid_t pid;
- int exno, status;
-
- /* parse standard options */
- if ((msg = parse_opts(ac, av, (option_t *)NULL, NULL)) != (char *)NULL){
- tst_brkm(TBROK, cleanup, "OPTION PARSING ERROR - %s", msg);
- }
-
- setup(); /* global setup */
-
- TEST_EXP_ENOS(exp_enos);
-
- /* The following loop checks looping state if -i option given */
- for (lc = 0; TEST_LOOPING(lc); lc++) {
-
- /* reset Tst_count in case we are looping */
- Tst_count = 0;
- status = 1;
- exno = 1;
- pid = fork();
- if (pid < 0) {
- tst_brkm(TBROK, cleanup, "Fork of child failed");
- } else if (pid == 0) {
- pause();
- /*NOTREACHED*/
- exit(exno);
- } else {
- TEST(kill(pid, TEST_SIG));
- kill(pid, SIGKILL);
- waitpid(pid, &status, 0);
- }
-
- if (TEST_RETURN != -1) {
- tst_brkm(TFAIL, cleanup, "%s failed - errno = %d : %s "
- "Expected a return value of -1 got %d",
- TCID, TEST_ERRNO, strerror(TEST_ERRNO)),
- TEST_RETURN;
- /*NOTREACHED*/
- }
-
- if (STD_FUNCTIONAL_TEST) {
- /*
- * Check to see if the errno was set to the expected
- * value of 22 : EINVAL.
- */
- TEST_ERROR_LOG(TEST_ERRNO);
- if (TEST_ERRNO == EINVAL) {
- tst_resm(TPASS, "errno set to %d : %s, as "
- "expected", TEST_ERRNO,
- strerror(TEST_ERRNO));
- } else {
- tst_resm(TFAIL, "errno set to %d : %s expected "
- "%d : %s", TEST_ERRNO,
- strerror(TEST_ERRNO), 22, strerror(22));
- }
- }
- }
- cleanup();
-
- /*NOTREACHED*/
-}
-
-
-/*
- * setup() - performs all ONE TIME setup for this test
- */
-void
-setup(void)
-{
- /* Pause if that option was specified */
- TEST_PAUSE;
-}
-
-/*
- * cleanup() - performs all the ONE TIME cleanup for this test at completion
- * or premature exit.
- */
-void
-cleanup(void)
-{
- /*
- * print timing status if that option was specified.
- * print errno log if that option was specified
- */
- TEST_CLEANUP;
-
- /* exit with return code appropriate for results */
- tst_exit();
-}
diff --git a/winsup/testsuite/winsup.api/ltp/kill04.c b/winsup/testsuite/winsup.api/ltp/kill04.c
deleted file mode 100644
index a7b3274c3..000000000
--- a/winsup/testsuite/winsup.api/ltp/kill04.c
+++ /dev/null
@@ -1,181 +0,0 @@
-/*
- *
- * Copyright (c) International Business Machines Corp., 2001
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-/*
- * NAME
- * kill04.c
- *
- * DESCRIPTION
- * Test case to check that kill() fails when passed a non-existant pid.
- *
- * ALGORITHM
- * call setup
- * loop if the -i option was given
- * fork a child
- * execute the kill system call with a non-existant PID
- * check the return value
- * if return value is not -1
- * issue a FAIL message, break remaining tests and cleanup
- * if we are doing functional testing
- * if the errno was set to 3 (No such proccess)
- * issue a PASS message
- * otherwise
- * issue a FAIL message
- * call cleanup
- *
- * USAGE
- * kill04 [-c n] [-f] [-i n] [-I x] [-P x] [-t]
- * where, -c n : Run n copies concurrently.
- * -f : Turn off functionality Testing.
- * -i n : Execute test n times.
- * -I x : Execute test for x seconds.
- * -P x : Pause for x seconds between iterations.
- * -t : Turn on syscall timing.
- *
- * HISTORY
- * 07/2001 Ported by Wayne Boyer
- *
- * RESTRICTIONS
- * This test should be run by a non-root user
- */
-
-#include "test.h"
-#include "usctest.h"
-
-#include <signal.h>
-#include <errno.h>
-#include <sys/wait.h>
-
-void cleanup(void) __attribute__((noreturn));
-void setup(void);
-
-const char *TCID= "kill04()";
-int TST_TOTAL = 1;
-
-extern int Tst_count;
-
-int exp_enos[] = {ESRCH, 0};
-
-#define TEST_SIG SIGKILL
-
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
- pid_t pid, fake_pid;
- int exno, status, fake_status, nsig;
-
- /* parse standard options */
- if ((msg = parse_opts(ac, av, (option_t *)NULL, NULL)) != (char *)NULL){
- tst_brkm(TBROK, cleanup, "OPTION PARSING ERROR - %s", msg);
- }
-
- setup(); /* global setup */
-
- TEST_EXP_ENOS(exp_enos);
-
- /* The following loop checks looping state if -i option given */
- for (lc = 0; TEST_LOOPING(lc); lc++) {
-
- /* reset Tst_count in case we are looping */
- Tst_count = 0;
- status = 1;
- exno = 1;
- pid = fork();
- if (pid < 0) {
- tst_brkm(TBROK, cleanup, "Fork failed");
- } else if (pid == 0) {
- pause();
- /*NOTREACHED*/
- exit(exno);
- } else {
- fake_pid = fork();
- if (fake_pid < 0) {
- tst_brkm(TBROK, cleanup, "Second fork failed");
- } else if (fake_pid == 0) {
- pause();
- /*NOTREACHED*/
- exit(exno);
- }
- kill(fake_pid, TEST_SIG);
- waitpid(fake_pid, &fake_status, 0);
- TEST(kill(fake_pid, TEST_SIG));
- kill(pid, TEST_SIG);
- waitpid(pid, &status, 0);
- }
-
- if (TEST_RETURN != -1) {
- tst_brkm(TFAIL, cleanup, "%s failed - errno = %d : %s "
- "Expected a return value of -1 got %d",
- TCID, TEST_ERRNO, strerror(TEST_ERRNO)),
- TEST_RETURN;
- /*NOTREACHED*/
- }
-
- if (STD_FUNCTIONAL_TEST) {
- /*
- * Check to see if the errno was set to the expected
- * value of 3 : ESRCH
- */
- nsig = WTERMSIG(status);
- TEST_ERROR_LOG(TEST_ERRNO);
- if (TEST_ERRNO == ESRCH) {
- tst_resm(TPASS, "errno set to %d : %s, as "
- "expected", TEST_ERRNO,
- strerror(TEST_ERRNO));
- } else {
- tst_resm(TFAIL, "errno set to %d : %s expected "
- "%d : %s", TEST_ERRNO,
- strerror(TEST_ERRNO), 3, strerror(3));
- }
- }
- }
- cleanup();
-
- /*NOTREACHED*/
-}
-
-
-/*
- * setup() - performs all ONE TIME setup for this test
- */
-void
-setup(void)
-{
- /* Pause if that option was specified */
- TEST_PAUSE;
-}
-
-/*
- * cleanup() - performs all the ONE TIME cleanup for this test at completion
- * or premature exit.
- */
-void
-cleanup(void)
-{
- /*
- * print timing status if that option was specified.
- * print errno log if that option was specified
- */
- TEST_CLEANUP;
-
- /* exit with return code appropriate for results */
- tst_exit();
-}
diff --git a/winsup/testsuite/winsup.api/ltp/kill09.c b/winsup/testsuite/winsup.api/ltp/kill09.c
deleted file mode 100644
index 3b4c24fb5..000000000
--- a/winsup/testsuite/winsup.api/ltp/kill09.c
+++ /dev/null
@@ -1,258 +0,0 @@
-/*
- * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it would be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Further, this software is distributed without any warranty that it is
- * free of the rightful claim of any third person regarding infringement
- * or the like. Any license provided herein, whether implied or
- * otherwise, applies only to this software file. Patent licenses, if
- * any, provided herein do not apply to combinations of this program with
- * other software, or any other product whatsoever.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write the Free Software Foundation, Inc., 59
- * Temple Place - Suite 330, Boston MA 02111-1307, USA.
- *
- * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
- * Mountain View, CA 94043, or:
- *
- * http://www.sgi.com
- *
- * For further information regarding this notice, see:
- *
- * http://oss.sgi.com/projects/GenInfo/NoticeExplan/
- *
- */
-/* $Id$ */
-/**********************************************************
- *
- * OS Test - Silicon Graphics, Inc.
- *
- * TEST IDENTIFIER : kill09
- *
- * EXECUTED BY : anyone
- *
- * TEST TITLE : Basic test for kill(2)
- *
- * PARENT DOCUMENT : usctpl01
- *
- * TEST CASE TOTAL : 1
- *
- * WALL CLOCK TIME : 1
- *
- * CPU TYPES : ALL
- *
- * AUTHOR : William Roske
- *
- * CO-PILOT : Dave Fenner
- *
- * DATE STARTED : 03/30/92
- *
- * INITIAL RELEASE : UNICOS 7.0
- *
- * TEST CASES
- *
- * 1.) kill(2) returns...(See Description)
- *
- * INPUT SPECIFICATIONS
- * The standard options for system call tests are accepted.
- * (See the parse_opts(3) man page).
- *
- * OUTPUT SPECIFICATIONS
- *
- * DURATION
- * Terminates - with frequency and infinite modes.
- *
- * SIGNALS
- * Uses SIGUSR1 to pause before test if option set.
- * (See the parse_opts(3) man page).
- *
- * RESOURCES
- * None
- *
- * ENVIRONMENTAL NEEDS
- * No run-time environmental needs.
- *
- * SPECIAL PROCEDURAL REQUIREMENTS
- * None
- *
- * INTERCASE DEPENDENCIES
- * None
- *
- * DETAILED DESCRIPTION
- * This is a Phase I test for the kill(2) system call. It is intended
- * to provide a limited exposure of the system call, for now. It
- * should/will be extended when full functional tests are written for
- * kill(2).
- *
- * Setup:
- * Setup signal handling.
- * Pause for SIGUSR1 if option specified.
- *
- * Test:
- * Loop if the proper options are given.
- * Execute system call
- * Check return code, if system call failed (return=-1)
- * Log the errno and Issue a FAIL message.
- * Otherwise, Issue a PASS message.
- *
- * Cleanup:
- * Print errno log and/or timing stats if options given
- *
- *
- *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#**/
-
-#include <errno.h>
-#include <string.h>
-#include <signal.h>
-#include <sys/types.h>
-#include <sys/wait.h>
-
-#include "test.h"
-#include "usctest.h"
-
-void setup();
-void cleanup(void) __attribute__((noreturn));
-void alarm_handler(int sig);
-
-
-
-
-const char *TCID="kill09"; /* Test program identifier. */
-int TST_TOTAL=1; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-
-int fork_pid;
-
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
- int status;
-
- /***************************************************************
- * parse standard options
- ***************************************************************/
- if ( (msg=parse_opts(ac, av, (option_t *) NULL, NULL)) != (char *) NULL ) {
- tst_brkm(TBROK, NULL, "OPTION PARSING ERROR - %s", msg);
- tst_exit();
- }
-
- /***************************************************************
- * perform global setup for test
- ***************************************************************/
- setup();
-
-
- /***************************************************************
- * check looping state if -c option given
- ***************************************************************/
- for (lc=0; TEST_LOOPING(lc); lc++) {
-
- /* reset Tst_count in case we are looping. */
- Tst_count=0;
-
- /* make a child process so we can kill it */
- /* If we cannot fork => we cannot test kill, so break and exit */
- if ((fork_pid=fork()) == -1) {
- tst_brkm(TBROK, cleanup,
- "fork() Failure. errno=%d : %s",
- errno, strerror(errno));
- }
-
- if (fork_pid == 0) {
- /* CHILD */
- /*
- * Setup alarm signal if we don't get the signal to prevent this process
- * from hanging around forever.
- */
- signal(SIGALRM, alarm_handler);
- alarm(20);
- pause();
- exit(1);
- }
-
- /* PARENT */
- /*
- * Call kill(2)
- */
- TEST(kill(fork_pid, SIGKILL));
- /* check return code */
- if ( TEST_RETURN == -1 ) {
- TEST_ERROR_LOG(TEST_ERRNO);
- tst_resm(TFAIL, "kill(%d, SIGKILL) Failed, errno=%d : %s", fork_pid,
- TEST_ERRNO, strerror(TEST_ERRNO));
- } else {
-
- /***************************************************************
- * only perform functional verification if flag set (-f not given)
- ***************************************************************/
- if ( STD_FUNCTIONAL_TEST ) {
- /* No Verification test, yet... */
- tst_resm(TPASS, "kill(%d, SIGKILL) returned %d", fork_pid, TEST_RETURN);
- }
- }
-
- /*
- * wait for process to cleanup zombies.
- *
- */
- waitpid(0, &status, WNOHANG);
-
- } /* End for TEST_LOOPING */
-
- /***************************************************************
- * cleanup and exit
- ***************************************************************/
- cleanup();
-
- return 0;
-} /* End main */
-
-/***************************************************************
- * setup() - performs all ONE TIME setup for this test.
- ***************************************************************/
-void
-setup()
-{
- /* capture signals */
- tst_sig(NOFORK, DEF_HANDLER, cleanup);
-
- (void) signal(SIGCHLD, SIG_IGN);
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-
-} /* End setup() */
-
-
-/***************************************************************
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- ***************************************************************/
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /* exit with return code appropriate for results */
- tst_exit();
-} /* End cleanup() */
-
-void
-alarm_handler(int sig)
-{
- exit(8);
-}
diff --git a/winsup/testsuite/winsup.api/ltp/link02.c b/winsup/testsuite/winsup.api/ltp/link02.c
deleted file mode 100644
index 84c53c23c..000000000
--- a/winsup/testsuite/winsup.api/ltp/link02.c
+++ /dev/null
@@ -1,263 +0,0 @@
-/*
- * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it would be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Further, this software is distributed without any warranty that it is
- * free of the rightful claim of any third person regarding infringement
- * or the like. Any license provided herein, whether implied or
- * otherwise, applies only to this software file. Patent licenses, if
- * any, provided herein do not apply to combinations of this program with
- * other software, or any other product whatsoever.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write the Free Software Foundation, Inc., 59
- * Temple Place - Suite 330, Boston MA 02111-1307, USA.
- *
- * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
- * Mountain View, CA 94043, or:
- *
- * http://www.sgi.com
- *
- * For further information regarding this notice, see:
- *
- * http://oss.sgi.com/projects/GenInfo/NoticeExplan/
- *
- */
-/* $Id$ */
-/**********************************************************
- *
- * OS Test - Silicon Graphics, Inc.
- *
- * TEST IDENTIFIER : link02
- *
- * EXECUTED BY : anyone
- *
- * TEST TITLE : Basic test for link(2)
- *
- * PARENT DOCUMENT : usctpl01
- *
- * TEST CASE TOTAL : 1
- *
- * WALL CLOCK TIME : 1
- *
- * CPU TYPES : ALL
- *
- * AUTHOR : William Roske
- *
- * CO-PILOT : Dave Fenner
- *
- * DATE STARTED : 03/30/92
- *
- * INITIAL RELEASE : UNICOS 7.0
- *
- * TEST CASES
- *
- * 1.) link(2) returns...(See Description)
- *
- * INPUT SPECIFICATIONS
- * The standard options for system call tests are accepted.
- * (See the parse_opts(3) man page).
- *
- * OUTPUT SPECIFICATIONS
- *
- * DURATION
- * Terminates - with frequency and infinite modes.
- *
- * SIGNALS
- * Uses SIGUSR1 to pause before test if option set.
- * (See the parse_opts(3) man page).
- *
- * RESOURCES
- * None
- *
- * ENVIRONMENTAL NEEDS
- * No run-time environmental needs.
- *
- * SPECIAL PROCEDURAL REQUIREMENTS
- * None
- *
- * INTERCASE DEPENDENCIES
- * None
- *
- * DETAILED DESCRIPTION
- * This is a Phase I test for the link(2) system call. It is intended
- * to provide a limited exposure of the system call, for now. It
- * should/will be extended when full functional tests are written for
- * link(2).
- *
- * Setup:
- * Setup signal handling.
- * Pause for SIGUSR1 if option specified.
- *
- * Test:
- * Loop if the proper options are given.
- * Execute system call
- * Check return code, if system call failed (return=-1)
- * Log the errno and Issue a FAIL message.
- * Otherwise, Issue a PASS message.
- *
- * Cleanup:
- * Print errno log and/or timing stats if options given
- *
- *
- *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#**/
-
-#include <sys/types.h>
-#include <sys/fcntl.h>
-#include <sys/stat.h>
-#include <errno.h>
-#include <string.h>
-#include <signal.h>
-#include "test.h"
-#include "usctest.h"
-
-void setup();
-void cleanup(void) __attribute__((noreturn));
-
-
-
-const char *TCID="link02"; /* Test program identifier. */
-int TST_TOTAL=1; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-
-int exp_enos[]={0, 0};
-
-char Fname[255], Lname[255];
-
-/***********************************************************************
- * Main
- ***********************************************************************/
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
- struct stat fbuf, lbuf;
-
- /***************************************************************
- * parse standard options
- ***************************************************************/
- if ( (msg=parse_opts(ac, av, (option_t *)NULL, NULL)) != (char *) NULL ) {
- tst_brkm(TBROK, NULL, "OPTION PARSING ERROR - %s", msg);
- tst_exit();
- }
-
- /***************************************************************
- * perform global setup for test
- ***************************************************************/
- setup();
-
- /* set the expected errnos... */
- TEST_EXP_ENOS(exp_enos);
-
- /***************************************************************
- * check looping state if -c option given
- ***************************************************************/
- for (lc=0; TEST_LOOPING(lc); lc++) {
-
- /* reset Tst_count in case we are looping. */
- Tst_count=0;
-
- /*
- * Call link(2)
- */
- TEST(link(Fname, Lname));
-
- /* check return code */
- if ( TEST_RETURN == -1 ) {
- TEST_ERROR_LOG(TEST_ERRNO);
- tst_resm(TFAIL, "link(%s, %s) Failed, errno=%d : %s",
- Fname, Lname, TEST_ERRNO, strerror(TEST_ERRNO));
- } else {
-
- /***************************************************************
- * only perform functional verification if flag set (-f not given)
- ***************************************************************/
- if ( STD_FUNCTIONAL_TEST ) {
- /* No Verification test, yet... */
- stat(Fname, &fbuf);
- stat(Lname, &lbuf);
- if ( fbuf.st_nlink > 1 && lbuf.st_nlink > 1 &&
- fbuf.st_nlink == lbuf.st_nlink )
-
- tst_resm(TPASS, "link(%s, %s) returned %d and link cnts match",
- Fname, Lname, TEST_RETURN);
- else {
- tst_resm(TFAIL,
- "link(%s, %s) returned %d, stat link cnts do not match %d %d",
- Fname, Lname, TEST_RETURN, fbuf.st_nlink,
- lbuf.st_nlink);
- }
- }
- if (unlink(Lname) == -1) {
- tst_resm(TWARN, "unlink(%s) Failed, errno=%d : %s",
- Fname, errno, strerror(errno));
- }
- }
-
- } /* End for TEST_LOOPING */
-
- /***************************************************************
- * cleanup and exit
- ***************************************************************/
- cleanup();
-
- return 0;
-} /* End main */
-
-/***************************************************************
- * setup() - performs all ONE TIME setup for this test.
- ***************************************************************/
-void
-setup()
-{
- int fd;
-
- /* capture signals */
- tst_sig(NOFORK, DEF_HANDLER, cleanup);
-
- /* make a temp directory and cd to it */
- tst_tmpdir();
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-
- strcpy(Fname, "tfile");
- if ((fd = open(Fname, O_RDWR|O_CREAT, 0700)) == -1) {
- tst_brkm(TBROK, cleanup,
- "open(%s, O_RDWR|O_CREAT, 0700) Failed, errno=%d : %s",
- Fname, errno, strerror(errno));
- } else if (close(fd) == -1) {
- tst_resm(TWARN, "close(%s) Failed, errno=%d : %s",
- Fname, errno, strerror(errno));
- }
- strcpy(Lname, "lfile");
-} /* End setup() */
-
-
-/***************************************************************
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- ***************************************************************/
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /* Remove tmp dir and all files in it */
- tst_rmdir();
-
- /* exit with return code appropriate for results */
- tst_exit();
-} /* End cleanup() */
diff --git a/winsup/testsuite/winsup.api/ltp/link03.c b/winsup/testsuite/winsup.api/ltp/link03.c
deleted file mode 100644
index 38c16af72..000000000
--- a/winsup/testsuite/winsup.api/ltp/link03.c
+++ /dev/null
@@ -1,330 +0,0 @@
-/*
- * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it would be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Further, this software is distributed without any warranty that it is
- * free of the rightful claim of any third person regarding infringement
- * or the like. Any license provided herein, whether implied or
- * otherwise, applies only to this software file. Patent licenses, if
- * any, provided herein do not apply to combinations of this program with
- * other software, or any other product whatsoever.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write the Free Software Foundation, Inc., 59
- * Temple Place - Suite 330, Boston MA 02111-1307, USA.
- *
- * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
- * Mountain View, CA 94043, or:
- *
- * http://www.sgi.com
- *
- * For further information regarding this notice, see:
- *
- * http://oss.sgi.com/projects/GenInfo/NoticeExplan/
- *
- */
-/* $Id$ */
-/**********************************************************
- *
- * OS Test - Silicon Graphics, Inc.
- *
- * TEST IDENTIFIER : link03
- *
- * EXECUTED BY : anyone
- *
- * TEST TITLE : multi links tests
- *
- * PARENT DOCUMENT : usctpl01
- *
- * TEST CASE TOTAL : 2
- *
- * WALL CLOCK TIME : 1
- *
- * CPU TYPES : ALL
- *
- * AUTHOR : Richard Logan
- *
- * CO-PILOT : William Roske
- *
- * DATE STARTED : 03/31/94
- *
- * INITIAL RELEASE : UNICOS 7.0
- *
- * TEST CASES
- *
- * 1.) link(2) returns...(See Description)
- *
- * INPUT SPECIFICATIONS
- * The standard options for system call tests are accepted.
- * (See the parse_opts(3) man page).
- * -N #links : Use #links links every iteration
- *
- * OUTPUT SPECIFICATIONS
- *
- * DURATION
- * Terminates - with frequency and infinite modes.
- *
- * SIGNALS
- * Uses SIGUSR1 to pause before test if option set.
- * (See the parse_opts(3) man page).
- *
- * RESOURCES
- * None
- *
- * ENVIRONMENTAL NEEDS
- * No run-time environmental needs.
- *
- * SPECIAL PROCEDURAL REQUIREMENTS
- * None
- *
- * INTERCASE DEPENDENCIES
- * None
- *
- * DETAILED DESCRIPTION
- * This is a Phase I test for the link(2) system call. It is intended
- * to provide a limited exposure of the system call, for now. It
- * should/will be extended when full functional tests are written for
- * link(2).
- *
- * Setup:
- * Setup signal handling.
- * Pause for SIGUSR1 if option specified.
- *
- * Test:
- * Loop if the proper options are given.
- * Execute system call
- * Check return code, if system call failed (return=-1)
- * Log the errno and Issue a FAIL message.
- * Otherwise, Issue a PASS message.
- *
- * Cleanup:
- * Print errno log and/or timing stats if options given
- *
- *
- *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#**/
-
-#include <sys/types.h>
-#include <sys/fcntl.h>
-#include <sys/stat.h>
-#include <errno.h>
-#include <string.h>
-#include <signal.h>
-#include "test.h"
-#include "usctest.h"
-
-void setup();
-void help();
-void cleanup(void) __attribute__((noreturn));
-
-
-
-const char *TCID="link03"; /* Test program identifier. */
-int TST_TOTAL=2; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-extern int Tst_nobuf;
-
-int exp_enos[]={0, 0};
-
-#define BASENAME "lkfile"
-
-char Basename[255];
-char Fname[255];
-int Nlinks=0;
-char *Nlinkarg;
-
-int Nflag=0;
-
-
-/* for test specific parse_opts options */
-option_t options[] = {
- { "N:", &Nflag, &Nlinkarg }, /* -N #links */
- { NULL, NULL, NULL }
-};
-
-/***********************************************************************
- * Main
- ***********************************************************************/
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
- struct stat fbuf, lbuf;
- int cnt;
- int nlinks;
- char lname[255];
-
- Tst_nobuf=1;
-
- /***************************************************************
- * parse standard options
- ***************************************************************/
- if ( (msg=parse_opts(ac, av, options, &help)) != (char *) NULL ) {
- tst_brkm(TBROK, NULL, "OPTION PARSING ERROR - %s", msg);
- tst_exit();
- }
-
- if ( Nflag ) {
- if (sscanf(Nlinkarg, "%i", &Nlinks) != 1 ) {
- tst_brkm(TBROK, NULL, "--N option arg is not a number");
- tst_exit();
- }
- if ( Nlinks > 1000 ) {
- tst_resm(TWARN, "--N option arg > 1000 - may get errno:%d (EMLINK)",
- EMLINK);
- }
- }
-
- /***************************************************************
- * perform global setup for test
- ***************************************************************/
- setup();
-
- /* set the expected errnos... */
- TEST_EXP_ENOS(exp_enos);
-
- /***************************************************************
- * check looping state if -c option given
- ***************************************************************/
- for (lc=0; TEST_LOOPING(lc); lc++) {
-
- /* reset Tst_count in case we are looping. */
- Tst_count=0;
-
- if ( Nlinks )
- nlinks = Nlinks;
- else
- /* min of 10 links and max of a 100 links */
- nlinks = (lc%90)+10;
-
- for(cnt=1; cnt < nlinks; cnt++) {
-
- sprintf(lname, "%s%d", Basename, cnt);
- /*
- * Call link(2)
- */
- TEST(link(Fname, lname));
-
- /* check return code */
- if ( TEST_RETURN == -1 ) {
- TEST_ERROR_LOG(TEST_ERRNO);
- tst_brkm(TFAIL, cleanup, "link(%s, %s) Failed, errno=%d : %s",
- Fname, lname, TEST_ERRNO, strerror(TEST_ERRNO));
- }
- }
-
- /***************************************************************
- * only perform functional verification if flag set (-f not given)
- ***************************************************************/
- if ( STD_FUNCTIONAL_TEST ) {
- stat(Fname, &fbuf);
-
- for(cnt=1; cnt < nlinks; cnt++) {
- sprintf(lname, "%s%d", Basename, cnt);
-
- stat(lname, &lbuf);
- if ( fbuf.st_nlink <= 1 || lbuf.st_nlink <= 1 ||
- (fbuf.st_nlink != lbuf.st_nlink) ) {
-
- tst_resm(TFAIL,
- "link(%s, %s[1-%d]) ret %d for %d files, stat values do not match %d %d",
- Fname, Basename, nlinks, TEST_RETURN, nlinks,
- fbuf.st_nlink, lbuf.st_nlink);
- break;
- }
- }
- if ( cnt >= nlinks ) {
- tst_resm(TPASS,
- "link(%s, %s[1-%d]) ret %d for %d files, stat linkcounts match %d",
- Fname, Basename, nlinks, TEST_RETURN, nlinks,
- fbuf.st_nlink);
- }
- }
- else
- Tst_count++;
-
- for(cnt=1; cnt < nlinks; cnt++) {
-
- sprintf(lname, "%s%d", Basename, cnt);
-
- if (unlink(lname) == -1) {
- tst_res(TWARN, "unlink(%s) Failed, errno=%d : %s",
- Fname, errno, strerror(errno));
- }
- }
-
- } /* End for TEST_LOOPING */
-
- /***************************************************************
- * cleanup and exit
- ***************************************************************/
- cleanup();
-
- return 0;
-} /* End main */
-
-/***************************************************************
- * help
- ***************************************************************/
-void
-help()
-{
- printf(" -N #links : create #links hard links every iteration\n");
-}
-
-/***************************************************************
- * setup() - performs all ONE TIME setup for this test.
- ***************************************************************/
-void
-setup()
-{
- int fd;
-
- /* capture signals */
- tst_sig(NOFORK, DEF_HANDLER, cleanup);
-
- /* make a temp directory and cd to it */
- tst_tmpdir();
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-
- sprintf(Fname,"%s_%d", BASENAME, getpid());
- if ((fd = open(Fname,O_RDWR|O_CREAT,0700)) == -1) {
- tst_brkm(TBROK, cleanup,
- "open(%s, O_RDWR|O_CREAT,0700) Failed, errno=%d : %s",
- Fname, errno, strerror(errno));
- } else if (close(fd) == -1) {
- tst_res(TWARN, "close(%s) Failed, errno=%d : %s",
- Fname, errno, strerror(errno));
- }
- sprintf(Basename, "%s_%d.", BASENAME, getpid());
-} /* End setup() */
-
-
-/***************************************************************
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- ***************************************************************/
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /* Remove tmp dir and all files in it */
- tst_rmdir();
-
- /* exit with return code appropriate for results */
- tst_exit();
-} /* End cleanup() */
diff --git a/winsup/testsuite/winsup.api/ltp/link04.c b/winsup/testsuite/winsup.api/ltp/link04.c
deleted file mode 100644
index b3453b5d0..000000000
--- a/winsup/testsuite/winsup.api/ltp/link04.c
+++ /dev/null
@@ -1,426 +0,0 @@
-/*
- * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it would be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Further, this software is distributed without any warranty that it is
- * free of the rightful claim of any third person regarding infringement
- * or the like. Any license provided herein, whether implied or
- * otherwise, applies only to this software file. Patent licenses, if
- * any, provided herein do not apply to combinations of this program with
- * other software, or any other product whatsoever.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write the Free Software Foundation, Inc., 59
- * Temple Place - Suite 330, Boston MA 02111-1307, USA.
- *
- * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
- * Mountain View, CA 94043, or:
- *
- * http://www.sgi.com
- *
- * For further information regarding this notice, see:
- *
- * http://oss.sgi.com/projects/GenInfo/NoticeExplan/
- *
- */
-/* $Id$ */
-/**********************************************************
- *
- * OS Test - Silicon Graphics, Inc.
- *
- * TEST IDENTIFIER : link04
- *
- * EXECUTED BY : anyone
- *
- * TEST TITLE : Negative test cases for link(2).
- *
- * PARENT DOCUMENT : usctpl01
- *
- * TEST CASE TOTAL : 14
- *
- * WALL CLOCK TIME : 1
- *
- * CPU TYPES : ALL
- *
- * AUTHOR : Richard Logan
- *
- * CO-PILOT : William Roske
- *
- * DATE STARTED : 03/30/94
- *
- * INITIAL RELEASE : UNICOS 7.0
- *
- * TEST CASES
- *
- * 1-14.) link(2) returns...(See Test_cases structure below)
- *
- * INPUT SPECIFICATIONS
- * The standard options for system call tests are accepted.
- * (See the parse_opts(3) man page).
- *
- * OUTPUT SPECIFICATIONS
- * Standard tst_res output formt.
- *
- * DURATION
- * Terminates - with frequency and infinite modes.
- *
- * SIGNALS
- * Uses SIGUSR1 to pause before test if option set.
- * (See the parse_opts(3) man page).
- *
- * RESOURCES
- * None
- *
- * ENVIRONMENTAL NEEDS
- * No run-time environmental needs.
- *
- * SPECIAL PROCEDURAL REQUIREMENTS
- * None
- *
- * INTERCASE DEPENDENCIES
- * None
- *
- * DETAILED DESCRIPTION
- * This is a Phase I test for the link(2) system call. It is intended
- * to provide a limited exposure of the system call, for now. It
- * should/will be extended when full functional tests are written for
- * link(2).
- *
- * Setup:
- * Setup signal handling.
- * Pause for SIGUSR1 if option specified.
- *
- * Test:
- * Loop if the proper options are given.
- * Execute system call
- * Check return code, if system call failed (return=-1)
- * Log the errno and Issue a FAIL message.
- * Otherwise, Issue a PASS message.
- *
- * Cleanup:
- * Print errno log and/or timing stats if options given
- *
- *
- *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#**/
-
-#include <sys/types.h>
-#include <sys/fcntl.h>
-#include <sys/stat.h>
-#include <errno.h>
-#include <string.h>
-#include <signal.h>
-#include <sys/param.h> /* for PATH_MAX */
-#include "test.h"
-#include "usctest.h"
-
-void setup();
-void cleanup(void) __attribute__((noreturn));
-
-
-extern char *get_high_address();
-
-const char *TCID="link04"; /* Test program identifier. */
-int TST_TOTAL=14; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-
-int exp_enos[]={0, 0};
-
-int longpath_setup();
-int no_setup();
-int filepath_setup();
-int filepath2_setup();
-char Longpathname[PATH_MAX+2];
-char High_address[64];
-int dir_setup();
-
-struct test_case_t {
- const char *file1;
- const char *desc1;
- const char *file2;
- const char *desc2;
- int exp_errno;
- int (*setupfunc1)();
- int (*setupfunc2)();
-} Test_cases[] = {
- /* This test program should contain test cases where link */
- /* will fail regardless of who executed it (i.e. joe-user or root) */
-
- /* first path is invalid */
-
- { "nonexistfile", "non-existent file", "nefile", "nefile",
- ENOENT, no_setup, no_setup},
-
- { "", "path is empty string", "nefile", "nefile",
- ENOENT, no_setup, no_setup},
-
- { "neefile/file", "path contains a non-existent file", "nefile", "nefile",
- ENOENT, no_setup, no_setup },
-
-#ifndef __CYGWIN__
- { "regfile/file", "path contains a regular file", "nefile", "nefile",
- ENOTDIR, filepath_setup, no_setup },
-#endif
-
- { Longpathname, "pathname too long", "nefile", "nefile",
- ENAMETOOLONG, longpath_setup, no_setup },
-
- { High_address, "address beyond address space", "nefile", "nefile",
- EFAULT, no_setup, no_setup },
-
- { (char *)-1, "negative address", "nefile", "nefile",
- EFAULT, no_setup, no_setup },
-
- /* second path is invalid */
-
- { "regfile", "regfile", "", "empty string",
- ENOENT, no_setup, no_setup},
-
- { "regfile", "regfile", "neefile/file", "path contains a non-existent file",
- ENOENT, filepath_setup, no_setup},
-
- { "regfile", "regfile", "file/file", "path contains a regular file",
- ENOENT, filepath_setup, no_setup},
-
- { "regfile", "regfile", Longpathname, "pathname too long",
- ENAMETOOLONG, no_setup, longpath_setup },
-
- { "regfile", "regfile", High_address, "address beyond address space",
- EFAULT, no_setup, no_setup },
-
- { "regfile", "regfile", (char *)-1, "negative address",
- EFAULT, no_setup, no_setup},
-
- /* two existing files */
-
- { "regfile", "regfile", "regfile2", "regfile2",
- EEXIST, filepath_setup, filepath2_setup },
-
- { NULL, NULL, NULL, NULL, 0, no_setup, no_setup }
-};
-
-
-/***********************************************************************
- * Main
- ***********************************************************************/
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
- const char *fname1, *fname2;
- const char *desc1, *desc2;
- int ind;
-
- /***************************************************************
- * parse standard options
- ***************************************************************/
- if ( (msg=parse_opts(ac, av, (option_t *)NULL, NULL)) != (char *) NULL ) {
- tst_brkm(TBROK, NULL, "OPTION PARSING ERROR - %s", msg);
- tst_exit();
- }
-
- /***************************************************************
- * perform global setup for test
- ***************************************************************/
- setup();
-
- /***************************************************************
- * check looping state if -c option given
- ***************************************************************/
- for (lc=0; TEST_LOOPING(lc); lc++) {
-
- /* reset Tst_count in case we are looping. */
- Tst_count=0;
-
- for (ind=0; Test_cases[ind].desc1 != NULL; ind++ ) {
-
- fname1 = Test_cases[ind].file1;
- desc1 = Test_cases[ind].desc1;
- fname2 = Test_cases[ind].file2;
- desc2 = Test_cases[ind].desc2;
-
- if ( fname1 == High_address )
- fname1 = get_high_address();
-
- if ( fname2 == High_address )
- fname2 = get_high_address();
-
- /*
- * Call link(2)
- */
- TEST(link(fname1, fname2));
-
- /* check return code */
- if ( TEST_RETURN == -1 ) {
- if ( STD_FUNCTIONAL_TEST ) {
- if ( TEST_ERRNO == Test_cases[ind].exp_errno )
- tst_resm(TPASS, "link(<%s>, <%s>) Failed, errno=%d",
- desc1, desc2, TEST_ERRNO);
- else
- tst_resm(TFAIL,
- "link(<%s>, <%s>) Failed, errno=%d, expected errno:%d",
- desc1, desc2, TEST_ERRNO, Test_cases[ind].exp_errno);
- }
- else
- Tst_count++;
- } else {
- tst_resm(TFAIL,
- "link(<%s>, <%s>) returned %d, expected -1, errno:%d",
- desc1, desc2, TEST_RETURN, Test_cases[ind].exp_errno);
- }
- }
-
-
- } /* End for TEST_LOOPING */
-
- /***************************************************************
- * cleanup and exit
- ***************************************************************/
- cleanup();
-
- return 0;
-} /* End main */
-
-/***************************************************************
- * setup() - performs all ONE TIME setup for this test.
- ***************************************************************/
-void
-setup()
-{
- int ind;
-
- /* capture signals */
- tst_sig(NOFORK, DEF_HANDLER, cleanup);
-
- /* make a temp directory and cd to it */
- tst_tmpdir();
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-
- for (ind=0; Test_cases[ind].desc1 != NULL; ind++ ) {
- Test_cases[ind].setupfunc1();
- Test_cases[ind].setupfunc2();
- }
-
-} /* End setup() */
-
-
-/***************************************************************
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- ***************************************************************/
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /* Remove tmp dir and all files in it */
- tst_rmdir();
-
- /* exit with return code appropriate for results */
- tst_exit();
-} /* End cleanup() */
-
-/******************************************************************
- *
- ******************************************************************/
-int
-no_setup()
-{
- return 0;
-}
-
-/******************************************************************
- *
- ******************************************************************/
-int
-longpath_setup()
-{
- int ind;
-
- static int alreadycalled = 0;
-
- if ( alreadycalled )
- return 0;
- alreadycalled++;
-
- for(ind=0; ind<= PATH_MAX+1; ind++) {
- Longpathname[ind] = 'a';
- }
- return 0;
-
-}
-
-/******************************************************************
- *
- ******************************************************************/
-int
-filepath2_setup()
-{
- int fd;
- static int alreadycalled = 0;
-
- if ( alreadycalled )
- return 0;
- alreadycalled++;
-
- if ( (fd=creat("regfile2", 0777)) == -1 ) {
- tst_brkm(TBROK, cleanup, "creat(regfile2, 0777) failed, errno:%d %s",
- errno, strerror(errno));
- }
- close(fd);
- return 0;
-}
-/******************************************************************
- *
- ******************************************************************/
-int
-filepath_setup()
-{
- int fd;
- static int alreadycalled = 0;
-
- if ( alreadycalled )
- return 0;
- alreadycalled++;
-
- if ( (fd=creat("regfile", 0777)) == -1 ) {
- tst_brkm(TBROK, cleanup, "creat(regfile, 0777) failed, errno:%d %s",
- errno, strerror(errno));
- }
- close(fd);
- return 0;
-}
-
-/******************************************************************
- *
- ******************************************************************/
-int
-dir_setup()
-{
- static int alreadycalled = 0;
-
- if ( alreadycalled )
- return 0;
- alreadycalled++;
-
- if ( mkdir("dir", 0777) == -1 ) {
- tst_brkm(TBROK, cleanup,
- "mkdir(dir, 0700) Failed, errno=%d : %s",
- errno, strerror(errno));
- }
-
- return 0;
-}
diff --git a/winsup/testsuite/winsup.api/ltp/link05.c b/winsup/testsuite/winsup.api/ltp/link05.c
deleted file mode 100644
index 9387c25a8..000000000
--- a/winsup/testsuite/winsup.api/ltp/link05.c
+++ /dev/null
@@ -1,351 +0,0 @@
-/*
- * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it would be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Further, this software is distributed without any warranty that it is
- * free of the rightful claim of any third person regarding infringement
- * or the like. Any license provided herein, whether implied or
- * otherwise, applies only to this software file. Patent licenses, if
- * any, provided herein do not apply to combinations of this program with
- * other software, or any other product whatsoever.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write the Free Software Foundation, Inc., 59
- * Temple Place - Suite 330, Boston MA 02111-1307, USA.
- *
- * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
- * Mountain View, CA 94043, or:
- *
- * http://www.sgi.com
- *
- * For further information regarding this notice, see:
- *
- * http://oss.sgi.com/projects/GenInfo/NoticeExplan/
- *
- */
-/* $Id$ */
-/**********************************************************
- *
- * OS Test - Silicon Graphics, Inc.
- *
- * TEST IDENTIFIER : link05
- *
- * EXECUTED BY : anyone
- *
- * TEST TITLE : multi links (EMLINK) negative test
- *
- * PARENT DOCUMENT : usctpl01
- *
- * TEST CASE TOTAL : 2
- *
- * WALL CLOCK TIME : 3
- *
- * CPU TYPES : ALL
- *
- * AUTHOR : Richard Logan
- *
- * CO-PILOT : William Roske
- *
- * DATE STARTED : 03/31/94
- *
- * INITIAL RELEASE : UNICOS 7.0
- *
- * TEST CASES
- *
- * 1.) link(2) returns...(See Description)
- *
- * INPUT SPECIFICATIONS
- * The standard options for system call tests are accepted.
- * (See the parse_opts(3) man page).
- *
- * OUTPUT SPECIFICATIONS
- *
- * DURATION
- * Terminates - with frequency and infinite modes.
- *
- * SIGNALS
- * Uses SIGUSR1 to pause before test if option set.
- * (See the parse_opts(3) man page).
- *
- * RESOURCES
- * None
- *
- * ENVIRONMENTAL NEEDS
- * No run-time environmental needs.
- *
- * SPECIAL PROCEDURAL REQUIREMENTS
- * None
- *
- * INTERCASE DEPENDENCIES
- * None
- *
- * DETAILED DESCRIPTION
- * This is a Phase I test for the link(2) system call. It is intended
- * to provide a limited exposure of the system call, for now. It
- * should/will be extended when full functional tests are written for
- * link(2).
- *
- * Setup:
- * Setup signal handling.
- * Pause for SIGUSR1 if option specified.
- *
- * Test:
- * Loop if the proper options are given.
- * Execute system call
- * Check return code, if system call failed (return=-1)
- * Log the errno and Issue a FAIL message.
- * Otherwise, Issue a PASS message.
- *
- * Cleanup:
- * Print errno log and/or timing stats if options given
- *
- *
- *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#**/
-
-#include <sys/types.h>
-#include <sys/fcntl.h>
-#include <sys/stat.h>
-#include <errno.h>
-#include <string.h>
-#include <signal.h>
-#include "test.h"
-#include "usctest.h"
-
-void setup();
-void cleanup(void) __attribute__((noreturn));
-void help();
-
-
-
-const char *TCID="link05"; /* Test program identifier. */
-#ifdef CRAY
-int TST_TOTAL=2; /* Total number of test cases. */
-#else
-int TST_TOTAL=1; /* Total number of test cases. */
-#endif
-extern int Tst_count; /* Test Case counter for tst_* routines */
-
-#define BASENAME "lkfile"
-
-char Basename[255];
-char Fname[255];
-
-int Nflag=0;
-char *Noptlinks;
-
-/* for test specific parse_opts options */
-option_t options[] = {
- { "N:", &Nflag, &Noptlinks }, /* -N option */
- { NULL, NULL, NULL }
-};
-
-int nlinks = 1000;
-
-/***********************************************************************
- * Main
- ***********************************************************************/
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
- struct stat fbuf, lbuf;
- int cnt;
- char lname[255];
-
- /***************************************************************
- * parse standard options
- ***************************************************************/
- if ( (msg=parse_opts(ac, av, options, &help)) != (char *) NULL ) {
- tst_brkm(TBROK, NULL, "OPTION PARSING ERROR - %s", msg);
- tst_exit();
- }
-
- if ( Nflag ) {
- if ( sscanf(Noptlinks, "%i", &nlinks) != 1 ) {
- tst_brkm(TBROK, cleanup, "-N option invalid, must be numeric");
- }
- }
-
- /***************************************************************
- * perform global setup for test
- ***************************************************************/
- setup();
-
- /***************************************************************
- * check looping state if -c option given
- ***************************************************************/
- for (lc=0; TEST_LOOPING(lc); lc++) {
-
- /* reset Tst_count in case we are looping. */
- Tst_count=0;
-
- for(cnt=1; cnt < nlinks; cnt++) {
-
- sprintf(lname, "%s%d", Basename, cnt);
- /*
- * Call link(2)
- */
- TEST(link(Fname, lname));
-
- /* check return code */
- if ( TEST_RETURN == -1 ) {
- tst_resm(TFAIL, "link(%s, %s) Failed, errno=%d : %s",
- Fname, lname, TEST_ERRNO, strerror(TEST_ERRNO));
- }
- }
-
- /***************************************************************
- * only perform functional verification if flag set (-f not given)
- ***************************************************************/
- if ( STD_FUNCTIONAL_TEST ) {
- stat(Fname, &fbuf);
-
- for(cnt=1; cnt < nlinks; cnt++) {
- sprintf(lname, "%s%d", Basename, cnt);
-
- stat(lname, &lbuf);
- if ( fbuf.st_nlink <= 1 || lbuf.st_nlink <= 1 ||
- (fbuf.st_nlink != lbuf.st_nlink) ) {
-
- tst_resm(TFAIL,
- "link(%s, %s[1-%d]) ret %d for %d files, stat values do not match %d %d",
- Fname, Basename, nlinks, TEST_RETURN, nlinks,
- fbuf.st_nlink, lbuf.st_nlink);
- break;
- }
- }
- if ( cnt >= nlinks ) {
- tst_resm(TPASS,
- "link(%s, %s[1-%d]) ret %d for %d files, stat linkcounts match %d",
- Fname, Basename, nlinks, TEST_RETURN, nlinks,
- fbuf.st_nlink);
- }
- }
- else
- Tst_count++;
-
-#ifdef CRAY
-/*
- * IRIX (xfs) systems do not have the 1000 link limit.
- * I tried 100000 links on 2/97 without error on IRIX 6.4.
- */
- /*
- * Now check that one more link will put you over the top
- */
- sprintf(lname, "%s%d", Basename, cnt);
-
- /*
- * Call link(2)
- */
- TEST(link(Fname, lname));
-
- /* check return code */
- if ( TEST_RETURN == -1 ) {
- if ( STD_FUNCTIONAL_TEST ) {
- if ( TEST_ERRNO == EMLINK ) {
- tst_resm(TPASS,
- "link(%s, %s) ret %d on %d link, errno:%d",
- Fname, lname, TEST_RETURN, nlinks+1, EMLINK);
- }
- else {
- tst_resm(TFAIL,
- "link(%s, %s) ret %d on %d link, errno:%d, expected -1, errno:%d",
- Fname, lname, TEST_RETURN, nlinks+1,
- TEST_ERRNO, EMLINK);
- }
- }
- else
- Tst_count++;
- }
- else {
- tst_resm(TFAIL, "link(%s, %s) ret %d on %d link, expected -1, errno:%d",
- Fname, lname, TEST_RETURN, nlinks+1, EMLINK);
- }
-#endif /* CRAY */
-
- for(cnt=1; cnt < nlinks; cnt++) {
-
- sprintf(lname, "%s%d", Basename, cnt);
-
- if (unlink(lname) == -1) {
- tst_res(TWARN, "unlink(%s) Failed, errno=%d : %s",
- Fname, errno, strerror(errno));
- }
- }
-
- } /* End for TEST_LOOPING */
-
- /***************************************************************
- * cleanup and exit
- ***************************************************************/
- cleanup();
-
- return 0;
-} /* End main */
-
-/***************************************************************
- * help
- ***************************************************************/
-void
-help()
-{
- printf(" -N #links : create #links hard links every iteration\n");
-}
-
-/***************************************************************
- * setup() - performs all ONE TIME setup for this test.
- ***************************************************************/
-void
-setup()
-{
- int fd;
-
- /* capture signals */
- tst_sig(NOFORK, DEF_HANDLER, cleanup);
-
- /* make a temp directory and cd to it */
- tst_tmpdir();
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-
- sprintf(Fname,"%s_%d", BASENAME, getpid());
- if ((fd = open(Fname,O_RDWR|O_CREAT,0700)) == -1) {
- tst_brkm(TBROK, cleanup,
- "open(%s, O_RDWR|O_CREAT,0700) Failed, errno=%d : %s",
- Fname, errno, strerror(errno));
- } else if (close(fd) == -1) {
- tst_res(TWARN, "close(%s) Failed, errno=%d : %s",
- Fname, errno, strerror(errno));
- }
- sprintf(Basename, "%s_%d.", BASENAME, getpid());
-} /* End setup() */
-
-
-/***************************************************************
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- ***************************************************************/
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /* Remove tmp dir and all files in it */
- tst_rmdir();
-
- /* exit with return code appropriate for results */
- tst_exit();
-} /* End cleanup() */
diff --git a/winsup/testsuite/winsup.api/ltp/lseek01.c b/winsup/testsuite/winsup.api/ltp/lseek01.c
deleted file mode 100644
index 22d0c6c39..000000000
--- a/winsup/testsuite/winsup.api/ltp/lseek01.c
+++ /dev/null
@@ -1,255 +0,0 @@
-/*
- * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it would be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Further, this software is distributed without any warranty that it is
- * free of the rightful claim of any third person regarding infringement
- * or the like. Any license provided herein, whether implied or
- * otherwise, applies only to this software file. Patent licenses, if
- * any, provided herein do not apply to combinations of this program with
- * other software, or any other product whatsoever.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write the Free Software Foundation, Inc., 59
- * Temple Place - Suite 330, Boston MA 02111-1307, USA.
- *
- * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
- * Mountain View, CA 94043, or:
- *
- * http://www.sgi.com
- *
- * For further information regarding this notice, see:
- *
- * http://oss.sgi.com/projects/GenInfo/NoticeExplan/
- *
- */
-/* $Id$ */
-/**********************************************************
- *
- * OS Test - Silicon Graphics, Inc.
- *
- * TEST IDENTIFIER : lseek01
- *
- * EXECUTED BY : anyone
- *
- * TEST TITLE : Basic test for lseek(2)
- *
- * PARENT DOCUMENT : usctpl01
- *
- * TEST CASE TOTAL : 3
- *
- * WALL CLOCK TIME : 1
- *
- * CPU TYPES : ALL
- *
- * AUTHOR : William Roske
- *
- * CO-PILOT : Dave Fenner
- *
- * DATE STARTED : 03/30/92
- *
- * INITIAL RELEASE : UNICOS 7.0
- *
- * TEST CASES
- *
- * 1.) lseek(2) returns...(See Description)
- *
- * INPUT SPECIFICATIONS
- * The standard options for system call tests are accepted.
- * (See the parse_opts(3) man page).
- *
- * OUTPUT SPECIFICATIONS
- *
- * DURATION
- * Terminates - with frequency and infinite modes.
- *
- * SIGNALS
- * Uses SIGUSR1 to pause before test if option set.
- * (See the parse_opts(3) man page).
- *
- * RESOURCES
- * None
- *
- * ENVIRONMENTAL NEEDS
- * No run-time environmental needs.
- *
- * SPECIAL PROCEDURAL REQUIREMENTS
- * None
- *
- * INTERCASE DEPENDENCIES
- * None
- *
- * DETAILED DESCRIPTION
- * This is a Phase I test for the lseek(2) system call. It is intended
- * to provide a limited exposure of the system call, for now. It
- * should/will be extended when full functional tests are written for
- * lseek(2).
- *
- * Setup:
- * Setup signal handling.
- * Pause for SIGUSR1 if option specified.
- *
- * Test:
- * Loop if the proper options are given.
- * Execute system call
- * Check return code, if system call failed (return=-1)
- * Log the errno and Issue a FAIL message.
- * Otherwise, Issue a PASS message.
- *
- * Cleanup:
- * Print errno log and/or timing stats if options given
- *
- *
- *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#**/
-
-#include <sys/types.h>
-#include <sys/fcntl.h>
-#include <errno.h>
-#include <string.h>
-#include <signal.h>
-#include "test.h"
-#include "usctest.h"
-
-void setup();
-void cleanup(void) __attribute__((noreturn));
-
-
-
-const char *TCID="lseek01"; /* Test program identifier. */
-int TST_TOTAL=3; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-
-int exp_enos[]={0, 0};
-
-char Fname[255];
-int Fd;
-
-int Whence[] = {SEEK_SET, SEEK_CUR, SEEK_END, -1};
-
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
-
- int ind;
- int offset;
-
- /***************************************************************
- * parse standard options
- ***************************************************************/
- if ( (msg=parse_opts(ac, av, (option_t *) NULL, NULL)) != (char *) NULL ) {
- tst_brkm(TBROK, NULL, "OPTION PARSING ERROR - %s", msg);
- tst_exit();
- }
-
- /***************************************************************
- * perform global setup for test
- ***************************************************************/
- setup();
-
- /* set the expected errnos... */
- TEST_EXP_ENOS(exp_enos);
-
- /***************************************************************
- * check looping state if -c option given
- ***************************************************************/
- for (lc=0; TEST_LOOPING(lc); lc++) {
-
- /* reset Tst_count in case we are looping. */
- Tst_count=0;
-
- offset=(lc%100)*4096; /* max size is 100 blocks */
-
- for (ind=0; Whence[ind] >= 0; ind++) {
-
- /*
- * Call lseek(2)
- */
- TEST(lseek(Fd, (long)offset, Whence[ind]));
-
- /* check return code */
- if ( TEST_RETURN == -1 ) {
- TEST_ERROR_LOG(TEST_ERRNO);
- tst_resm(TFAIL, "lseek(%s, %ld, 0) Failed, errno=%d : %s",
- Fname, offset, TEST_ERRNO, strerror(TEST_ERRNO));
- } else {
-
- /***************************************************************
- * only perform functional verification if flag set (-f not given)
- ***************************************************************/
- if ( STD_FUNCTIONAL_TEST ) {
- /* No Verification test, yet... */
- tst_resm(TPASS, "lseek(%s, %ld, %d) returned %d", Fname,
- offset, Whence[ind], TEST_RETURN);
- }
- else
- Tst_count++;
- }
- }
-
- } /* End for TEST_LOOPING */
-
- /***************************************************************
- * cleanup and exit
- ***************************************************************/
- cleanup();
-
- return 0;
-} /* End main */
-
-/***************************************************************
- * setup() - performs all ONE TIME setup for this test.
- ***************************************************************/
-void
-setup()
-{
- /* capture signals */
- tst_sig(NOFORK, DEF_HANDLER, cleanup);
-
- /* make a temp directory and cd to it */
- tst_tmpdir();
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-
- sprintf(Fname, "tfile_%d",getpid());
- if ((Fd = open(Fname,O_RDWR|O_CREAT,0700)) == -1) {
- tst_brkm(TBROK, cleanup,
- "open(%s, O_RDWR|O_CREAT,0700) Failed, errno=%d : %s",
- Fname, errno, strerror(errno));
- }
-} /* End setup() */
-
-
-/***************************************************************
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- ***************************************************************/
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /* close the file we have open */
- if (close(Fd) == -1) {
- tst_resm(TWARN, "close(%s) Failed, errno=%d : %s", Fname, errno, strerror(errno));
- }
-
- /* Remove tmp dir and all files in it */
- tst_rmdir();
-
- /* exit with return code appropriate for results */
- tst_exit();
-} /* End cleanup() */
diff --git a/winsup/testsuite/winsup.api/ltp/lseek02.c b/winsup/testsuite/winsup.api/ltp/lseek02.c
deleted file mode 100644
index 04fa3f10f..000000000
--- a/winsup/testsuite/winsup.api/ltp/lseek02.c
+++ /dev/null
@@ -1,242 +0,0 @@
-/*
- * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it would be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Further, this software is distributed without any warranty that it is
- * free of the rightful claim of any third person regarding infringement
- * or the like. Any license provided herein, whether implied or
- * otherwise, applies only to this software file. Patent licenses, if
- * any, provided herein do not apply to combinations of this program with
- * other software, or any other product whatsoever.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write the Free Software Foundation, Inc., 59
- * Temple Place - Suite 330, Boston MA 02111-1307, USA.
- *
- * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
- * Mountain View, CA 94043, or:
- *
- * http://www.sgi.com
- *
- * For further information regarding this notice, see:
- *
- * http://oss.sgi.com/projects/GenInfo/NoticeExplan/
- *
- */
-/* $Id$ */
-/**********************************************************
- *
- * OS Test - Silicon Graphics, Inc.
- *
- * TEST IDENTIFIER : lseek02
- *
- * EXECUTED BY : anyone
- *
- * TEST TITLE : Negative test for lseek(2)
- *
- * PARENT DOCUMENT : usctpl01
- *
- * TEST CASE TOTAL : 1
- *
- * WALL CLOCK TIME : 1
- *
- * CPU TYPES : ALL
- *
- * AUTHOR : Richard Logan
- *
- * CO-PILOT : William Roske
- *
- * DATE STARTED : 04/25/94
- *
- * INITIAL RELEASE : UNICOS 7.0
- *
- * TEST CASES
- *
- * 1.) lseek(2) returns...(See Description)
- *
- * INPUT SPECIFICATIONS
- * The standard options for system call tests are accepted.
- * (See the parse_opts(3) man page).
- *
- * OUTPUT SPECIFICATIONS
- *
- * DURATION
- * Terminates - with frequency and infinite modes.
- *
- * SIGNALS
- * Uses SIGUSR1 to pause before test if option set.
- * (See the parse_opts(3) man page).
- *
- * RESOURCES
- * None
- *
- * ENVIRONMENTAL NEEDS
- * No run-time environmental needs.
- *
- * SPECIAL PROCEDURAL REQUIREMENTS
- * None
- *
- * INTERCASE DEPENDENCIES
- * None
- *
- * DETAILED DESCRIPTION
- * This is a Phase I test for the lseek(2) system call. It is intended
- * to provide a limited exposure of the system call, for now. It
- * should/will be extended when full functional tests are written for
- * lseek(2).
- *
- * Setup:
- * Setup signal handling.
- * Pause for SIGUSR1 if option specified.
- *
- * Test:
- * Loop if the proper options are given.
- * Execute system call
- * Check return code, if system call failed (return=-1)
- * Log the errno and Issue a FAIL message.
- * Otherwise, Issue a PASS message.
- *
- * Cleanup:
- * Print errno log and/or timing stats if options given
- *
- *
- *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#**/
-
-#include <sys/types.h>
-#include <sys/fcntl.h>
-#include <errno.h>
-#include <string.h>
-#include <signal.h>
-#include "test.h"
-#include "usctest.h"
-
-void setup();
-void cleanup(void) __attribute__((noreturn));
-
-
-
-const char *TCID="lseek02"; /* Test program identifier. */
-int TST_TOTAL=1; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-
-int exp_enos[]={0, 0};
-
-char fname[255];
-int fd;
-
-int Whence[] = {SEEK_SET, SEEK_CUR, SEEK_END, -1};
-
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
-
- /***************************************************************
- * parse standard options
- ***************************************************************/
- if ( (msg=parse_opts(ac, av, (option_t *) NULL, NULL)) != (char *) NULL ) {
- tst_brkm(TBROK, NULL, "OPTION PARSING ERROR - %s", msg);
- tst_exit();
- }
-
- /***************************************************************
- * perform global setup for test
- ***************************************************************/
- setup();
-
- /* set the expected errnos... */
- TEST_EXP_ENOS(exp_enos);
-
- /***************************************************************
- * check looping state if -c option given
- ***************************************************************/
- for (lc=0; TEST_LOOPING(lc); lc++) {
-
- /* reset Tst_count in case we are looping. */
- Tst_count=0;
-
- /*
- * Call lseek(2)
- */
- TEST( lseek(-1, (long)1, SEEK_SET) );
-
- /* check return code */
- if ( TEST_RETURN == -1 ) {
- if ( STD_FUNCTIONAL_TEST ) {
-
- if ( TEST_ERRNO == EBADF )
-
- tst_resm(TPASS,
- "lseek(-1, 1, SEEK_SET) Failed, errno=%d : %s",
- TEST_ERRNO, strerror(TEST_ERRNO));
- else
- tst_resm(TFAIL,
- "lseek(-1, 1, SEEK_SET) Failed, errno=%d : %s, expected %d(EBADF)",
- TEST_ERRNO, strerror(TEST_ERRNO), EBADF);
-
- }
- else
- Tst_count++;
-
- } else {
-
- tst_resm(TFAIL, "lseek(-1, 1, SEEK_SET) returned %d",
- TEST_RETURN);
- }
-
- } /* End for TEST_LOOPING */
-
- /***************************************************************
- * cleanup and exit
- ***************************************************************/
- cleanup();
-
- return 0;
-} /* End main */
-
-/***************************************************************
- * setup() - performs all ONE TIME setup for this test.
- ***************************************************************/
-void
-setup()
-{
- /* capture signals */
- tst_sig(NOFORK, DEF_HANDLER, cleanup);
-
- /* make a temp directory and cd to it */
- tst_tmpdir();
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-
-} /* End setup() */
-
-
-/***************************************************************
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- ***************************************************************/
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
-
- /* Remove tmp dir and all files in it */
- tst_rmdir();
-
- /* exit with return code appropriate for results */
- tst_exit();
-} /* End cleanup() */
diff --git a/winsup/testsuite/winsup.api/ltp/lseek03.c b/winsup/testsuite/winsup.api/ltp/lseek03.c
deleted file mode 100644
index 51c303d85..000000000
--- a/winsup/testsuite/winsup.api/ltp/lseek03.c
+++ /dev/null
@@ -1,289 +0,0 @@
-/*
- * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it would be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Further, this software is distributed without any warranty that it is
- * free of the rightful claim of any third person regarding infringement
- * or the like. Any license provided herein, whether implied or
- * otherwise, applies only to this software file. Patent licenses, if
- * any, provided herein do not apply to combinations of this program with
- * other software, or any other product whatsoever.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write the Free Software Foundation, Inc., 59
- * Temple Place - Suite 330, Boston MA 02111-1307, USA.
- *
- * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
- * Mountain View, CA 94043, or:
- *
- * http://www.sgi.com
- *
- * For further information regarding this notice, see:
- *
- * http://oss.sgi.com/projects/GenInfo/NoticeExplan/
- *
- */
-/* $Id$ */
-/**********************************************************
- *
- * OS Test - Silicon Graphics, Inc.
- *
- * TEST IDENTIFIER : lseek03
- *
- * EXECUTED BY : anyone
- *
- * TEST TITLE : Negative test for lseek(2) whence
- *
- * PARENT DOCUMENT : usctpl01
- *
- * TEST CASE TOTAL : 2
- *
- * WALL CLOCK TIME : 1
- *
- * CPU TYPES : ALL
- *
- * AUTHOR : Richard Logan
- *
- * CO-PILOT : William Roske
- *
- * DATE STARTED : 04/25/94
- *
- * INITIAL RELEASE : UNICOS 7.0
- *
- * TEST CASES
- *
- * 1.) lseek(2) returns...(See Description)
- *
- * INPUT SPECIFICATIONS
- * The standard options for system call tests are accepted.
- * (See the parse_opts(3) man page).
- *
- * OUTPUT SPECIFICATIONS
- *
- * DURATION
- * Terminates - with frequency and infinite modes.
- *
- * SIGNALS
- * Uses SIGUSR1 to pause before test if option set.
- * (See the parse_opts(3) man page).
- *
- * RESOURCES
- * None
- *
- * ENVIRONMENTAL NEEDS
- * No run-time environmental needs.
- *
- * SPECIAL PROCEDURAL REQUIREMENTS
- * None
- *
- * INTERCASE DEPENDENCIES
- * None
- *
- * DETAILED DESCRIPTION
- * This is a Phase I test for the lseek(2) system call. It is intended
- * to provide a limited exposure of the system call, for now. It
- * should/will be extended when full functional tests are written for
- * lseek(2).
- *
- * Setup:
- * Setup signal handling.
- * Pause for SIGUSR1 if option specified.
- *
- * Test:
- * Loop if the proper options are given.
- * Execute system call
- * Check return code, if system call failed (return=-1)
- * Log the errno and Issue a FAIL message.
- * Otherwise, Issue a PASS message.
- *
- * Cleanup:
- * Print errno log and/or timing stats if options given
- *
- *
- *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#**/
-
-#include <sys/types.h>
-#include <fcntl.h>
-#include <errno.h>
-#include <string.h>
-#include <signal.h>
-#include "test.h"
-#include "usctest.h"
-
-void setup();
-void cleanup(void) __attribute__((noreturn));
-void rec_sigsys(int);
-
-const char *TCID="lseek03"; /* Test program identifier. */
-int TST_TOTAL=3; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-
-char fname[255];
-int fd;
-int Rec_sigsys = 0;
-
-int Whences[] = { 4, -1, 7 };
-
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
-
- unsigned ind;
- int whence;
-
- TST_TOTAL=sizeof(Whences)/sizeof(int);
-
- /***************************************************************
- * parse standard options
- ***************************************************************/
- if ( (msg=parse_opts(ac, av, (option_t *) NULL, NULL)) != (char *) NULL ) {
- tst_brkm(TBROK, NULL, "OPTION PARSING ERROR - %s", msg);
- tst_exit();
- }
-
- /***************************************************************
- * perform global setup for test
- ***************************************************************/
- setup();
-
-
- signal(SIGSYS, rec_sigsys);
-
- /***************************************************************
- * check looping state if -c option given
- ***************************************************************/
- for (lc=0; TEST_LOOPING(lc); lc++) {
-
- /* reset Tst_count in case we are looping. */
- Tst_count=0;
-
- for (ind=0; ind<sizeof(Whences)/sizeof(int); ind++) {
-
- whence=Whences[ind];
-
- /*
- * On IRIX systems, the SIGSYS signal is also sent.
- */
- Rec_sigsys=0;
-
- /*
- * Call lseek(2)
- */
- TEST(lseek(fd, (long)1, whence));
-
- /* check return code */
- if ( TEST_RETURN == -1 ) {
- if ( STD_FUNCTIONAL_TEST ) {
-
- if ( TEST_ERRNO == EINVAL )
-#if defined(sgi)
- if ( Rec_sigsys ) {
- tst_resm(TPASS,
- "lseek(%s, 1, %d) Failed as expected, errno=%d : %s\n\
-and SIGSYS signal was received.",
- fname, whence, TEST_ERRNO, strerror(TEST_ERRNO));
- } else {
- tst_resm(TFAIL,
- "lseek(%s, 1, %d) Failed as expected, errno=%d : %s\n\
-But SIGSYS signal was NOT received.",
- fname, whence, TEST_ERRNO, strerror(TEST_ERRNO));
- }
-#elif defined(linux) || defined (__CYGWIN__)
- tst_resm(TPASS,
- "lseek(%s, 1, %d) Failed, errno=%d : %s",
- fname, whence, TEST_ERRNO, strerror(TEST_ERRNO));
-#endif
- else
- tst_resm(TFAIL,
- "lseek(%s, 1, %d) Failed, errno=%d %s, expected %d(EINVAL)",
- fname, whence, TEST_ERRNO, strerror(TEST_ERRNO),
- EINVAL);
- }
-
- else
- Tst_count++;
- } else {
-
- tst_resm(TFAIL, "lseek(%s, 1, %d) returned %d",
- fname, whence, TEST_RETURN);
- }
- }
-
- } /* End for TEST_LOOPING */
-
- /***************************************************************
- * cleanup and exit
- ***************************************************************/
- cleanup();
-
- return 0;
-} /* End main */
-
-/*
- * signal handler for the SIGSYS signal.
- */
-void
-rec_sigsys(int sig)
-{
- Rec_sigsys++;
-
- signal(sig, rec_sigsys);
-}
-
-/***************************************************************
- * setup() - performs all ONE TIME setup for this test.
- ***************************************************************/
-void
-setup()
-{
- /* capture signals */
- tst_sig(NOFORK, DEF_HANDLER, cleanup);
-
- /* make a temp directory and cd to it */
- tst_tmpdir();
-
- sprintf(fname,"tfile_%d",getpid());
- if ((fd = open(fname,O_RDWR|O_CREAT,0700)) == -1) {
- tst_brkm(TBROK, cleanup,
- "open(%s, O_RDWR|O_CREAT,0700) Failed, errno=%d : %s",
- fname, errno, strerror(errno));
- }
- /* Pause if that option was specified */
- TEST_PAUSE;
-
-} /* End setup() */
-
-
-/***************************************************************
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- ***************************************************************/
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /* close the file we have open */
- if (close(fd) == -1) {
- tst_resm(TWARN, "close(%s) Failed, errno=%d : %s", fname, errno, strerror(errno));
- }
-
- /* Remove tmp dir and all files in it */
- tst_rmdir();
-
- /* exit with return code appropriate for results */
- tst_exit();
-} /* End cleanup() */
diff --git a/winsup/testsuite/winsup.api/ltp/lseek04.c b/winsup/testsuite/winsup.api/ltp/lseek04.c
deleted file mode 100644
index faba3f1bf..000000000
--- a/winsup/testsuite/winsup.api/ltp/lseek04.c
+++ /dev/null
@@ -1,256 +0,0 @@
-/*
- * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it would be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Further, this software is distributed without any warranty that it is
- * free of the rightful claim of any third person regarding infringement
- * or the like. Any license provided herein, whether implied or
- * otherwise, applies only to this software file. Patent licenses, if
- * any, provided herein do not apply to combinations of this program with
- * other software, or any other product whatsoever.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write the Free Software Foundation, Inc., 59
- * Temple Place - Suite 330, Boston MA 02111-1307, USA.
- *
- * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
- * Mountain View, CA 94043, or:
- *
- * http://www.sgi.com
- *
- * For further information regarding this notice, see:
- *
- * http://oss.sgi.com/projects/GenInfo/NoticeExplan/
- *
- */
-/* $Id$ */
-/**********************************************************
- *
- * OS Test - Silicon Graphics, Inc.
- *
- * TEST IDENTIFIER : lseek04
- *
- * EXECUTED BY : anyone
- *
- * TEST TITLE : Negative test for lseek(2) of a fifo
- *
- * PARENT DOCUMENT : usctpl01
- *
- * TEST CASE TOTAL : 1
- *
- * WALL CLOCK TIME : 1
- *
- * CPU TYPES : ALL
- *
- * AUTHOR : Richard Logan
- *
- * CO-PILOT : William Roske
- *
- * DATE STARTED : 04/25/94
- *
- * INITIAL RELEASE : UNICOS 7.0
- *
- * TEST CASES
- *
- * 1.) lseek(2) returns...(See Description)
- *
- * INPUT SPECIFICATIONS
- * The standard options for system call tests are accepted.
- * (See the parse_opts(3) man page).
- *
- * OUTPUT SPECIFICATIONS
- *
- * DURATION
- * Terminates - with frequency and infinite modes.
- *
- * SIGNALS
- * Uses SIGUSR1 to pause before test if option set.
- * (See the parse_opts(3) man page).
- *
- * RESOURCES
- * None
- *
- * ENVIRONMENTAL NEEDS
- * No run-time environmental needs.
- *
- * SPECIAL PROCEDURAL REQUIREMENTS
- * None
- *
- * INTERCASE DEPENDENCIES
- * None
- *
- * DETAILED DESCRIPTION
- * This is a Phase I test for the lseek(2) system call. It is intended
- * to provide a limited exposure of the system call, for now. It
- * should/will be extended when full functional tests are written for
- * lseek(2).
- *
- * Setup:
- * Setup signal handling.
- * Pause for SIGUSR1 if option specified.
- *
- * Test:
- * Loop if the proper options are given.
- * Execute system call
- * Check return code, if system call failed (return=-1)
- * Log the errno and Issue a FAIL message.
- * Otherwise, Issue a PASS message.
- *
- * Cleanup:
- * Print errno log and/or timing stats if options given
- *
- *
- *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#**/
-
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <sys/fcntl.h>
-#include <errno.h>
-#include <string.h>
-#include <signal.h>
-#include "test.h"
-#include "usctest.h"
-
-void setup();
-void cleanup(void) __attribute__((noreturn));
-
-
-
-const char *TCID="lseek04"; /* Test program identifier. */
-int TST_TOTAL=1; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-
-int exp_enos[]={0, 0};
-
-char Fname[255];
-int Fd;
-
-
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
-
- /***************************************************************
- * parse standard options
- ***************************************************************/
- if ( (msg=parse_opts(ac, av, (option_t *) NULL, NULL)) != (char *) NULL ) {
- tst_brkm(TBROK, NULL, "OPTION PARSING ERROR - %s", msg);
- tst_exit();
- }
-
- /***************************************************************
- * perform global setup for test
- ***************************************************************/
- setup();
-
- /* set the expected errnos... */
- TEST_EXP_ENOS(exp_enos);
-
- /***************************************************************
- * check looping state if -c option given
- ***************************************************************/
- for (lc=0; TEST_LOOPING(lc); lc++) {
-
- /* reset Tst_count in case we are looping. */
- Tst_count=0;
-
- /*
- * Call lseek(2)
- */
- TEST(lseek(Fd, (long)1, SEEK_SET));
-
- /* check return code */
- if ( TEST_RETURN == -1 ) {
- if ( STD_FUNCTIONAL_TEST ) {
-
- if ( TEST_ERRNO == ESPIPE )
- tst_resm(TPASS,
- "lseek(fifofd, 1, SEEK_SET) Failed, errno=%d : %s",
- TEST_ERRNO, strerror(TEST_ERRNO));
- else
- tst_resm(TFAIL,
- "lseek(fifofd, 1, SEEK_SET) Failed, errno=%d %s, expected %d(ESPIPE)",
- TEST_ERRNO, strerror(TEST_ERRNO),
- EINVAL);
- }
- else
- Tst_count++;
- } else {
-
- tst_resm(TFAIL, "lseek(fifofd, 1, SEEK_SET) returned %d",
- TEST_RETURN);
- }
-
- } /* End for TEST_LOOPING */
-
- /***************************************************************
- * cleanup and exit
- ***************************************************************/
- cleanup();
-
- return 0;
-} /* End main */
-
-/***************************************************************
- * setup() - performs all ONE TIME setup for this test.
- ***************************************************************/
-void
-setup()
-{
- /* capture signals */
- tst_sig(NOFORK, DEF_HANDLER, cleanup);
-
- /* make a temp directory and cd to it */
- tst_tmpdir();
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-
- sprintf(Fname,"tfile_%d",getpid());
- if ( mkfifo(Fname,0700) == -1) {
- tst_brkm(TBROK, cleanup,
- "mkfifo(%s, 0700) Failed, errno=%d : %s",
- Fname, errno, strerror(errno));
- }
-
- if ( (Fd=open(Fname, O_RDWR, 0777)) == -1) {
- tst_brkm(TBROK, cleanup,
- "open(%s, O_RDWR, 0777) Failed, errno=%d : %s",
- Fname, errno, strerror(errno));
- }
-} /* End setup() */
-
-
-/***************************************************************
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- ***************************************************************/
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /* close the file we have open */
- if (close(Fd) == -1) {
- tst_resm(TWARN, "close(%s) Failed, errno=%d : %s", Fname, errno, strerror(errno));
- }
-
- /* Remove tmp dir and all files in it */
- tst_rmdir();
-
- /* exit with return code appropriate for results */
- tst_exit();
-} /* End cleanup() */
diff --git a/winsup/testsuite/winsup.api/ltp/lseek05.c b/winsup/testsuite/winsup.api/ltp/lseek05.c
deleted file mode 100644
index 8867086bd..000000000
--- a/winsup/testsuite/winsup.api/ltp/lseek05.c
+++ /dev/null
@@ -1,252 +0,0 @@
-/*
- * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it would be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Further, this software is distributed without any warranty that it is
- * free of the rightful claim of any third person regarding infringement
- * or the like. Any license provided herein, whether implied or
- * otherwise, applies only to this software file. Patent licenses, if
- * any, provided herein do not apply to combinations of this program with
- * other software, or any other product whatsoever.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write the Free Software Foundation, Inc., 59
- * Temple Place - Suite 330, Boston MA 02111-1307, USA.
- *
- * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
- * Mountain View, CA 94043, or:
- *
- * http://www.sgi.com
- *
- * For further information regarding this notice, see:
- *
- * http://oss.sgi.com/projects/GenInfo/NoticeExplan/
- *
- */
-/* $Id$ */
-/**********************************************************
- *
- * OS Test - Silicon Graphics, Inc.
- *
- * TEST IDENTIFIER : lseek05
- *
- * EXECUTED BY : anyone
- *
- * TEST TITLE : Negative test for lseek(2) of a pipe
- *
- * PARENT DOCUMENT : usctpl01
- *
- * TEST CASE TOTAL : 1
- *
- * WALL CLOCK TIME : 1
- *
- * CPU TYPES : ALL
- *
- * AUTHOR : Richard Logan
- *
- * CO-PILOT : William Roske
- *
- * DATE STARTED : 04/25/94
- *
- * INITIAL RELEASE : UNICOS 7.0
- *
- * TEST CASES
- *
- * 1.) lseek(2) returns...(See Description)
- *
- * INPUT SPECIFICATIONS
- * The standard options for system call tests are accepted.
- * (See the parse_opts(3) man page).
- *
- * OUTPUT SPECIFICATIONS
- *
- * DURATION
- * Terminates - with frequency and infinite modes.
- *
- * SIGNALS
- * Uses SIGUSR1 to pause before test if option set.
- * (See the parse_opts(3) man page).
- *
- * RESOURCES
- * None
- *
- * ENVIRONMENTAL NEEDS
- * No run-time environmental needs.
- *
- * SPECIAL PROCEDURAL REQUIREMENTS
- * None
- *
- * INTERCASE DEPENDENCIES
- * None
- *
- * DETAILED DESCRIPTION
- * This is a Phase I test for the lseek(2) system call. It is intended
- * to provide a limited exposure of the system call, for now. It
- * should/will be extended when full functional tests are written for
- * lseek(2).
- *
- * Setup:
- * Setup signal handling.
- * Pause for SIGUSR1 if option specified.
- *
- * Test:
- * Loop if the proper options are given.
- * Execute system call
- * Check return code, if system call failed (return=-1)
- * Log the errno and Issue a FAIL message.
- * Otherwise, Issue a PASS message.
- *
- * Cleanup:
- * Print errno log and/or timing stats if options given
- *
- *
- *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#**/
-
-#include <sys/types.h>
-#include <sys/fcntl.h>
-#include <errno.h>
-#include <string.h>
-#include <signal.h>
-#include "test.h"
-#include "usctest.h"
-
-void setup();
-void cleanup(void) __attribute__((noreturn));
-
-
-
-const char *TCID="lseek05"; /* Test program identifier. */
-int TST_TOTAL=1; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-
-int exp_enos[]={0, 0};
-
-int Fd;
-
-/***********************************************************************
- * Main
- ***********************************************************************/
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
-
- /***************************************************************
- * parse standard options
- ***************************************************************/
- if ( (msg=parse_opts(ac, av, (option_t *) NULL, NULL)) != (char *) NULL ) {
- tst_brkm(TBROK, NULL, "OPTION PARSING ERROR - %s", msg);
- tst_exit();
- }
-
- /***************************************************************
- * perform global setup for test
- ***************************************************************/
- setup();
-
- /* set the expected errnos... */
- TEST_EXP_ENOS(exp_enos);
-
- /***************************************************************
- * check looping state if -c option given
- ***************************************************************/
- for (lc=0; TEST_LOOPING(lc); lc++) {
-
- /* reset Tst_count in case we are looping. */
- Tst_count=0;
-
- /*
- * Call lseek(2)
- */
- TEST(lseek(Fd, (long)1, SEEK_SET));
-
- /* check return code */
- if ( TEST_RETURN == -1 ) {
- if ( STD_FUNCTIONAL_TEST ) {
-
- if ( TEST_ERRNO == ESPIPE )
- tst_resm(TPASS,
- "lseek(pipefd, 1, SEEK_SET) Failed, errno=%d : %s",
- TEST_ERRNO, strerror(TEST_ERRNO));
- else
- tst_resm(TFAIL,
- "lseek(pipefd, 1, SEEK_SET) Failed, errno=%d %s, expected %d(ESPIPE)",
- TEST_ERRNO, strerror(TEST_ERRNO),
- EINVAL);
- }
- else
- Tst_count++;
- } else {
-
- tst_resm(TFAIL, "lseek(pipefd, 1, SEEK_SET) returned %d",
- TEST_RETURN);
- }
-
- } /* End for TEST_LOOPING */
-
- /***************************************************************
- * cleanup and exit
- ***************************************************************/
- cleanup();
-
- return 0;
-} /* End main */
-
-/***************************************************************
- * setup() - performs all ONE TIME setup for this test.
- ***************************************************************/
-void
-setup()
-{
- int fds[2];
-
- /* capture signals */
- tst_sig(NOFORK, DEF_HANDLER, cleanup);
-
- /* make a temp directory and cd to it */
- tst_tmpdir();
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-
- if ( pipe(fds) == -1) {
- tst_brkm(TBROK, cleanup,
- "pipe(&fds) Failed, errno=%d : %s", errno, strerror(errno));
- }
- Fd = fds[0];
-
-} /* End setup() */
-
-
-/***************************************************************
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- ***************************************************************/
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /* close the file we have open */
- if (close(Fd) == -1) {
- tst_resm(TWARN, "close(%d) Failed, errno=%d : %s", Fd, errno, strerror(errno));
- }
-
- /* Remove tmp dir and all files in it */
- tst_rmdir();
-
- /* exit with return code appropriate for results */
- tst_exit();
-} /* End cleanup() */
diff --git a/winsup/testsuite/winsup.api/ltp/lseek06.c b/winsup/testsuite/winsup.api/ltp/lseek06.c
deleted file mode 100644
index f62c3422c..000000000
--- a/winsup/testsuite/winsup.api/ltp/lseek06.c
+++ /dev/null
@@ -1,235 +0,0 @@
-/*
- *
- * Copyright (c) International Business Machines Corp., 2001
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-/*
- * Test Name: lseek01
- *
- * Test Description:
- * Verify that, lseek() call succeeds to set the file pointer position
- * to less than or equal to the file size, when a file is opened for
- * read or write.
- *
- * Expected Result:
- * lseek() should return the offset from the beginning of the file measured
- * in bytes. Also check if able to read valid data from this location.
- *
- * Algorithm:
- * Setup:
- * Setup signal handling.
- * Pause for SIGUSR1 if option specified.
- * Create temporary directory.
- *
- * Test:
- * Loop if the proper options are given.
- * Execute system call
- * Check return code, if system call failed (return=-1)
- * Log the errno and Issue a FAIL message.
- * Otherwise,
- * Verify the Functionality of system call
- * if successful,
- * Issue Functionality-Pass message.
- * Otherwise,
- * Issue Functionality-Fail message.
- * Cleanup:
- * Print errno log and/or timing stats if options given
- * Delete the temporary directory created.
- *
- * Usage: <for command-line>
- * lseek01 [-c n] [-f] [-i n] [-I x] [-P x] [-t]
- * where, -c n : Run n copies concurrently.
- * -f : Turn off functionality Testing.
- * -i n : Execute test n times.
- * -I x : Execute test for x seconds.
- * -P x : Pause for x seconds between iterations.
- * -t : Turn on syscall timing.
- *
- * HISTORY
- * 07/2001 Ported by Wayne Boyer
- *
- * RESTRICTIONS:
- * None.
- */
-
-#include <sys/types.h>
-#include <errno.h>
-#include <fcntl.h>
-#include <utime.h>
-#include <string.h>
-#include <sys/stat.h>
-#include <signal.h>
-
-#include "test.h"
-#include "usctest.h"
-
-#define OFFSET 4
-#define TEMP_FILE "tmp_file"
-#define FILE_MODE S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH
-
-const char *TCID="lseek01"; /* Test program identifier. */
-int TST_TOTAL=1; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-int fildes; /* file handle for temp file */
-
-void setup(); /* Main setup function of test */
-void cleanup(void) __attribute__((noreturn)); /* cleanup function for the test */
-
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
- char read_buf[1]; /* data read from temp. file */
-
- /* Parse standard options given to run the test. */
- msg = parse_opts(ac, av, (option_t *) NULL, NULL);
- if (msg != (char *) NULL) {
- tst_brkm(TBROK, NULL, "OPTION PARSING ERROR - %s", msg);
- tst_exit();
- }
-
- /* Perform global setup for test */
- setup();
-
- /* Check looping state if -i option given */
- for (lc = 0; TEST_LOOPING(lc); lc++) {
- /* Reset Tst_count in case we are looping. */
- Tst_count=0;
-
- /*
- * Invoke lseek(2) to move the read/write file
- * pointer/handle by OFFSET bytes.
- */
- TEST(lseek(fildes, OFFSET, SEEK_SET));
-
- /* check return code of lseek(2) */
- if (TEST_RETURN == (off_t)-1) {
- tst_resm(TFAIL, "lseek on (%s) Failed, errno=%d : %s",
- TEMP_FILE, TEST_ERRNO, strerror(TEST_ERRNO));
- continue;
- }
- /*
- * Perform functional verification if test
- * executed without (-f) option.
- */
- if (STD_FUNCTIONAL_TEST) {
- /*
- * Check if the return value from lseek(2)
- * is equal to the specified OFFSET value.
- */
- if (TEST_RETURN != OFFSET) {
- tst_resm(TFAIL, "lseek() returned incorrect "
- "value %d, expected %d",
- TEST_RETURN, OFFSET);
- continue;
- }
- /*
- * The return value is good, now check data.
- * Read the data byte from this location.
- */
- if (read(fildes, &read_buf, sizeof(read_buf)) < 0) {
- tst_brkm(TFAIL, cleanup, "read() failed "
- "on %s, error=%d", TEMP_FILE, errno);
- } else {
- /*
- * Check if read byte is the expected character.
- * For pos 4 ---> 'e'
- */
- if (read_buf[0] != 'e') {
- tst_resm(TFAIL, "Incorrect data read "
- "from file %s", TEMP_FILE);
- } else {
- tst_resm(TPASS, "Functionality "
- "of lseek() on %s "
- "successful", TEMP_FILE);
- }
- }
- } else {
- tst_resm(TPASS, "call succeeded");
- }
- } /* End for TEST_LOOPING */
-
- /* Call cleanup() to undo setup done for the test. */
- cleanup();
-
- /*NOTREACHED*/
-} /* End main */
-
-/*
- * setup() - performs all ONE TIME setup for this test.
- * Create a temporary directory and change directory to it.
- * Create a test file under temporary directory and write some
- * data into it.
- */
-void
-setup()
-{
- char write_buf[BUFSIZ]; /* buffer to hold data */
-
- /* capture signals */
- tst_sig(NOFORK, DEF_HANDLER, cleanup);
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-
- /* make a temp directory and cd to it */
- tst_tmpdir();
-
- /* Get the data to be written to temporary file */
- strcpy(write_buf, "abcdefg");
-
- /* Creat/open a temporary file under above directory */
- if ((fildes = open(TEMP_FILE, O_RDWR | O_CREAT, FILE_MODE)) == -1) {
- tst_brkm(TBROK, cleanup,
- "open(%s, O_RDWR|O_CREAT, %#o) Failed, errno=%d :%s",
- TEMP_FILE, FILE_MODE, errno, strerror(errno));
- }
-
- /* Write data into temporary file */
- if(write(fildes, write_buf, strlen(write_buf)) != (int)strlen(write_buf)) {
- tst_brkm(TBROK, cleanup, "write(2) on %s Failed, errno=%d : %s",
- TEMP_FILE, errno, strerror(errno));
- }
-}
-
-/*
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- * Remove the test directory and testfile created in the setup.
- */
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /* Close the temporary file created */
- if (close(fildes) < 0) {
- tst_brkm(TFAIL, NULL, "close(%s) Failed, errno=%d : %s:",
- TEMP_FILE, errno, strerror(errno));
- }
-
- /* Remove tmp dir and all files in it */
- tst_rmdir();
-
- /* exit with return code appropriate for results */
- tst_exit();
-}
diff --git a/winsup/testsuite/winsup.api/ltp/lseek07.c b/winsup/testsuite/winsup.api/ltp/lseek07.c
deleted file mode 100644
index c5a27b5b3..000000000
--- a/winsup/testsuite/winsup.api/ltp/lseek07.c
+++ /dev/null
@@ -1,286 +0,0 @@
-/*
- *
- * Copyright (c) International Business Machines Corp., 2001
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-/*
- * Test Name: lseek02
- *
- * Test Description:
- * Verify that, lseek() call succeeds to set the file pointer position
- * to more than the file size, when a file is opened for reading/writing.
- *
- * Expected Result:
- * lseek() should return n+1, where n is the size of the file.
- * Also when some data is written into this file it should start
- * from that offset.
- *
- * Algorithm:
- * Setup:
- * Setup signal handling.
- * Pause for SIGUSR1 if option specified.
- * Create temporary directory.
- *
- * Test:
- * Loop if the proper options are given.
- * Execute system call
- * Check return code, if system call failed (return=-1)
- * Log the errno and Issue a FAIL message.
- * Otherwise,
- * Verify the Functionality of system call
- * if successful,
- * Issue Functionality-Pass message.
- * Otherwise,
- * Issue Functionality-Fail message.
- * Cleanup:
- * Print errno log and/or timing stats if options given
- * Delete the temporary directory created.
- *
- * Usage: <for command-line>
- * lseek02 [-c n] [-f] [-i n] [-I x] [-P x] [-t]
- * where, -c n : Run n copies concurrently.
- * -f : Turn off functionality Testing.
- * -i n : Execute test n times.
- * -I x : Execute test for x seconds.
- * -P x : Pause for x seconds between iterations.
- * -t : Turn on syscall timing.
- *
- * HISTORY
- * 07/2001 Ported by Wayne Boyer
- *
- * RESTRICTIONS:
- * None.
- */
-
-#include <sys/types.h>
-#include <errno.h>
-#include <fcntl.h>
-#include <utime.h>
-#include <string.h>
-#include <sys/stat.h>
-#include <signal.h>
-
-#include "test.h"
-#include "usctest.h"
-
-#define TEMP_FILE "tmp_file"
-#define FILE_MODE S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH
-
-const char *TCID="lseek02"; /* Test program identifier. */
-int TST_TOTAL=1; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-int fildes; /* file handle for temp file */
-size_t file_size; /* size of temporary file */
-char write_buf1[BUFSIZ]; /* buffer to hold data */
-char write_buf2[BUFSIZ]; /* buffer to hold data */
-
-void setup(); /* Main setup function of test */
-void cleanup(void) __attribute__((noreturn)); /* cleanup function for the test */
-
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
- char read_buf[BUFSIZ]; /* data read from temp. file */
- off_t offset; /* byte position in temporary file */
-
- /* Parse standard options given to run the test. */
- msg = parse_opts(ac, av, (option_t *) NULL, NULL);
- if (msg != (char *) NULL) {
- tst_brkm(TBROK, NULL, "OPTION PARSING ERROR - %s", msg);
- tst_exit();
- }
-
- /* Perform global setup for test */
- setup();
-
- /* Check looping state if -i option given */
- for (lc = 0; TEST_LOOPING(lc); lc++) {
- /* Reset Tst_count in case we are looping. */
- Tst_count=0;
-
- /* Set the offset position */
- offset = file_size + (lc * strlen(write_buf2));
-
- /*
- * Invoke lseek(2) to move the write file
- * pointer/handle by the specified offset value.
- */
- TEST(lseek(fildes, offset, SEEK_SET));
-
- /* check return code of lseek(2) */
- if (TEST_RETURN == (off_t)-1) {
- tst_resm(TFAIL, "lseek on (%s) Failed, errno=%d : %s",
- TEMP_FILE, TEST_ERRNO, strerror(TEST_ERRNO));
- continue;
- }
- /*
- * Perform functional verification if test
- * executed without (-f) option.
- */
- if (STD_FUNCTIONAL_TEST) {
- /*
- * Check if the return value from lseek(2)
- * is equal to the specified offset value.
- */
- if (TEST_RETURN != offset) {
- tst_resm(TFAIL, "lseek() returned "
- "incorrect value %d, expected "
- "%d", TEST_RETURN, offset);
- continue;
- }
- /*
- * The return value is okay, now write some data at
- * the current offset position.
- */
- if (write(fildes, write_buf2, strlen(write_buf2)) !=
- (int)strlen(write_buf2)) {
- tst_brkm(TFAIL, cleanup, "write() failed to "
- "write additional data, error = %d",
- errno);
- }
-
- /*
- * Now close the file and open it again
- * and read all of the data.
- */
- if (close(fildes) < 0) {
- tst_brkm(TFAIL, cleanup, "close() on %s Failed,"
- " errno = %d", TEMP_FILE, errno);
- }
-
- /* Open the file again in read/write mode */
- if ((fildes = open(TEMP_FILE, O_RDWR)) < 0) {
- tst_brkm(TFAIL, cleanup, "Could not open the "
- "%s readonly, error = %d",
- TEMP_FILE, errno);
- }
-
- /*
- * Now read all of the data. The size should be the
- * offset + strlen(write_buf2).
- */
- if (read(fildes, &read_buf, (offset +
- strlen(write_buf2))) < 0) {
- tst_brkm(TFAIL, cleanup, "read() failed on %s, "
- "error=%d", TEMP_FILE, errno);
- } else {
- /*
- * Check data read is the complete data and not
- * the only portion written.
- */
- if ((strncmp(read_buf, write_buf1,
- strlen(write_buf1))) != 0) {
- tst_brkm(TFAIL, cleanup,
- "Incorrect data read #1 from "
- "file %s", TEMP_FILE);
- }
- if ((strncmp(&read_buf[offset], write_buf2,
- strlen(write_buf2))) != 0) {
- tst_brkm(TFAIL, cleanup,
- "Incorrect data read #2 from "
- "file %s", TEMP_FILE);
- }
- tst_resm(TPASS, "Functionality of "
- "lseek() on %s successful", TEMP_FILE);
- }
- } else {
- tst_resm(TPASS, "call succeeded");
- }
- } /* End for TEST_LOOPING */
-
- /* Call cleanup() to undo setup done for the test. */
- cleanup();
-
- /*NOTREACHED*/
-} /* End main */
-
-/*
- * setup() - performs all ONE TIME setup for this test.
- * Create a temporary directory and change directory to it.
- * Create a test file under temporary directory and write some
- * data into it.
- * Get the size of the file using fstat().
- */
-void
-setup()
-{
- struct stat stat_buf; /* struct buffer for stat(2) */
-
- /* capture signals */
- tst_sig(NOFORK, DEF_HANDLER, cleanup);
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-
- /* make a temp directory and cd to it */
- tst_tmpdir();
-
- /* Get the data to be written to temporary file */
- strcpy(write_buf1, "abcdefg");
- strcpy(write_buf2, "ijk");
-
- /* Creat/open a temporary file for writing under above directory */
- if ((fildes = open(TEMP_FILE, O_WRONLY | O_CREAT, FILE_MODE)) == -1) {
- tst_brkm(TBROK, cleanup,
- "open(%s, O_WRONLY|O_CREAT, %#o) Failed, errno=%d :%s",
- TEMP_FILE, FILE_MODE, errno, strerror(errno));
- }
-
- /* Write data into temporary file */
- if(write(fildes, write_buf1, strlen(write_buf1)) !=
- (int)strlen(write_buf1)) {
- tst_brkm(TBROK, cleanup, "write(2) on %s Failed, errno=%d : %s",
- TEMP_FILE, errno, strerror(errno));
- }
-
- /* Get the size of the temporary file after writing data */
- if (fstat(fildes, &stat_buf) < 0) {
- tst_brkm(TBROK, cleanup, "fstat() on %s Failed, errno=%d : %s",
- TEMP_FILE, errno, strerror(errno));
- }
-
- file_size = stat_buf.st_size;
-}
-
-/*
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- * Remove the test directory and testfile created in the setup.
- */
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /* Close the temporary file created */
- if (close(fildes) < 0) {
- tst_brkm(TFAIL, NULL, "close(%s) Failed, errno=%d : %s:",
- TEMP_FILE, errno, strerror(errno));
- }
-
- /* Remove tmp dir and all files in it */
- tst_rmdir();
-
- /* exit with return code appropriate for results */
- tst_exit();
-}
diff --git a/winsup/testsuite/winsup.api/ltp/lseek08.c b/winsup/testsuite/winsup.api/ltp/lseek08.c
deleted file mode 100644
index 32fdcc0e4..000000000
--- a/winsup/testsuite/winsup.api/ltp/lseek08.c
+++ /dev/null
@@ -1,240 +0,0 @@
-/*
- *
- * Copyright (c) International Business Machines Corp., 2001
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-/*
- * Test Name: lseek03
- *
- * Test Description:
- * Verify that, lseek() call succeeds to set the file pointer position
- * to the end of the file when 'whence' value set to SEEK_END and any
- * attempts to read from that position should fail.
- *
- * Expected Result:
- * lseek() should return the offset which is set to the file size measured
- * in bytes. read() attempt should fail with -1 return value.
- *
- * Algorithm:
- * Setup:
- * Setup signal handling.
- * Create temporary directory.
- * Pause for SIGUSR1 if option specified.
- *
- * Test:
- * Loop if the proper options are given.
- * Execute system call
- * Check return code, if system call failed (return=-1)
- * Log the errno and Issue a FAIL message.
- * Otherwise,
- * Verify the Functionality of system call
- * if successful,
- * Issue Functionality-Pass message.
- * Otherwise,
- * Issue Functionality-Fail message.
- * Cleanup:
- * Print errno log and/or timing stats if options given
- * Delete the temporary directory created.
- *
- * Usage: <for command-line>
- * lseek03 [-c n] [-f] [-i n] [-I x] [-P x] [-t]
- * where, -c n : Run n copies concurrently.
- * -f : Turn off functionality Testing.
- * -i n : Execute test n times.
- * -I x : Execute test for x seconds.
- * -P x : Pause for x seconds between iterations.
- * -t : Turn on syscall timing.
- *
- * HISTORY
- * 07/2001 Ported by Wayne Boyer
- *
- * RESTRICTIONS:
- * None.
- */
-
-#include <sys/types.h>
-#include <errno.h>
-#include <fcntl.h>
-#include <utime.h>
-#include <string.h>
-#include <sys/stat.h>
-#include <signal.h>
-
-#include "test.h"
-#include "usctest.h"
-
-#define TEMP_FILE "tmp_file"
-#define FILE_MODE S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH
-
-const char *TCID="lseek03"; /* Test program identifier. */
-int TST_TOTAL=1; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-int fildes; /* file handle for temp file */
-ssize_t file_size; /* size of the temporary file */
-
-void setup(); /* Main setup function of test */
-void cleanup(void) __attribute__((noreturn)); /* cleanup function for the test */
-
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
- char read_buf[1]; /* data read from temp. file */
-
- /* Parse standard options given to run the test. */
- msg = parse_opts(ac, av, (option_t *) NULL, NULL);
- if (msg != (char *) NULL) {
- tst_brkm(TBROK, NULL, "OPTION PARSING ERROR - %s", msg);
- tst_exit();
- }
-
- /* Perform global setup for test */
- setup();
-
- /* Check looping state if -i option given */
- for (lc = 0; TEST_LOOPING(lc); lc++) {
- /* Reset Tst_count in case we are looping. */
- Tst_count=0;
-
- /*
- * Invoke lseek(2) to move the read/write file
- * pointer/handle to the END of the file.
- */
- TEST(lseek(fildes, 0, SEEK_END));
-
- /* check return code of lseek(2) */
- if (TEST_RETURN == (off_t)-1) {
- tst_resm(TFAIL, "lseek on (%s) Failed, errno=%d : %s",
- TEMP_FILE, TEST_ERRNO, strerror(TEST_ERRNO));
- continue;
- }
- /*
- * Perform functional verification if test
- * executed without (-f) option.
- */
- if (STD_FUNCTIONAL_TEST) {
- /*
- * Check if the return value from lseek(2)
- * is equal to the file_size.
- */
- if (TEST_RETURN != file_size) {
- tst_resm(TFAIL, "lseek() returned incorrect "
- "value %d, expected %d",
- TEST_RETURN, file_size);
- continue;
- }
- /*
- * The return value is okay, now attempt to read data
- * from the file. This should fail as the file pointer
- * should be pointing to END OF FILE.
- */
- read_buf[0] = '\0';
- if (read(fildes, &read_buf, sizeof(read_buf)) > 0) {
- tst_resm(TFAIL, "read() successful on %s",
- TEMP_FILE);
- } else {
- tst_resm(TPASS, "Functionality of lseek() on "
- "%s successful", TEMP_FILE);
- }
- } else {
- tst_resm(TPASS, "call succeeded");
- }
- } /* End for TEST_LOOPING */
-
- /* Call cleanup() to undo setup done for the test. */
- cleanup();
-
- /* NOTREACHED*/
-} /* End main */
-
-/*
- * setup() - performs all ONE TIME setup for this test.
- * Create a temporary directory and change directory to it.
- * Create a test file under temporary directory and write some
- * data into it.
- * Get the size of the file using fstat().
- */
-void
-setup()
-{
- struct stat stat_buf; /* struct. buffer for stat(2) */
- char write_buf[BUFSIZ]; /* buffer to hold data */
-
- /* capture signals */
- tst_sig(NOFORK, DEF_HANDLER, cleanup);
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-
- /* make a temp directory and cd to it */
- tst_tmpdir();
-
- /* Get the data to be written to temporary file */
- strcpy(write_buf, "abcdefg\n");
-
- /* Creat/open a temporary file under above directory */
- if ((fildes = open(TEMP_FILE, O_RDWR | O_CREAT, FILE_MODE)) == -1) {
- tst_brkm(TBROK, cleanup,
- "open(%s, O_RDWR|O_CREAT, %#o) Failed, errno=%d :%s",
- TEMP_FILE, FILE_MODE, errno, strerror(errno));
- }
-
- /* Write data into temporary file */
- if(write(fildes, write_buf, strlen(write_buf)) <= 0) {
- tst_brkm(TBROK, cleanup,
- "write(2) on %s Failed, errno=%d : %s",
- TEMP_FILE, errno, strerror(errno));
- }
-
- /* Get the size of the file using fstat */
- if (fstat(fildes, &stat_buf) < 0) {
- tst_brkm(TBROK, cleanup,
- "fstat(2) on %s Failed, errno=%d : %s",
- TEMP_FILE, errno, strerror(errno));
- }
-
- file_size = stat_buf.st_size;
-}
-
-/*
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- * Remove the test directory and testfile created in the setup.
- */
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /* Close the temporary file created */
- if (close(fildes) < 0) {
- tst_brkm(TFAIL, NULL,
- "close(%s) Failed, errno=%d : %s:",
- TEMP_FILE, errno, strerror(errno));
- }
-
- /* Remove tmp dir and all files in it */
- tst_rmdir();
-
- /* exit with return code appropriate for results */
- tst_exit();
-}
diff --git a/winsup/testsuite/winsup.api/ltp/lseek09.c b/winsup/testsuite/winsup.api/ltp/lseek09.c
deleted file mode 100644
index 36688c656..000000000
--- a/winsup/testsuite/winsup.api/ltp/lseek09.c
+++ /dev/null
@@ -1,266 +0,0 @@
-/*
- *
- * Copyright (c) International Business Machines Corp., 2001
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-/*
- * Test Name: lseek04
- *
- * Test Description:
- * Verify that, lseek() call succeeds to set the file pointer position
- * to the current specified location, when 'whence' value is set to
- * SEEK_CUR and the data read from the specified location should match
- * the expected data.
- *
- * Expected Result:
- * lseek() should return the specified offset from the beginning of the file
- * measured in bytes. The data read from this location should match the
- * expected data.
- *
- * Algorithm:
- * Setup:
- * Setup signal handling.
- * Create temporary directory.
- * Pause for SIGUSR1 if option specified.
- *
- * Test:
- * Loop if the proper options are given.
- * Execute system call
- * Check return code, if system call failed (return=-1)
- * Log the errno and Issue a FAIL message.
- * Otherwise,
- * Verify the Functionality of system call
- * if successful,
- * Issue Functionality-Pass message.
- * Otherwise,
- * Issue Functionality-Fail message.
- * Cleanup:
- * Print errno log and/or timing stats if options given
- * Delete the temporary directory created.
- *
- * Usage: <for command-line>
- * lseek04 [-c n] [-f] [-i n] [-I x] [-P x] [-t]
- * where, -c n : Run n copies concurrently.
- * -f : Turn off functionality Testing.
- * -i n : Execute test n times.
- * -I x : Execute test for x seconds.
- * -P x : Pause for x seconds between iterations.
- * -t : Turn on syscall timing.
- *
- * HISTORY
- * 07/2001 Ported by Wayne Boyer
- *
- * RESTRICTIONS:
- * None.
- */
-
-#include <sys/types.h>
-#include <errno.h>
-#include <fcntl.h>
-#include <utime.h>
-#include <string.h>
-#include <sys/stat.h>
-#include <signal.h>
-
-#include "test.h"
-#include "usctest.h"
-
-#define TEMP_FILE "tmp_file"
-#define FILE_MODE S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH
-
-const char *TCID="lseek04"; /* Test program identifier. */
-int TST_TOTAL=1; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-int fildes; /* file handle for temp file */
-size_t file_size; /* total size of file after data write */
-
-void setup(); /* Main setup function of test */
-void cleanup(void) __attribute__((noreturn)); /* cleanup function for the test */
-
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
- char read_buf[BUFSIZ]; /* data read from temp. file */
-
- /* Parse standard options given to run the test. */
- msg = parse_opts(ac, av, (option_t *) NULL, NULL);
- if (msg != (char *) NULL) {
- tst_brkm(TBROK, NULL, "OPTION PARSING ERROR - %s", msg);
- tst_exit();
- }
-
- /* Perform global setup for test */
- setup();
-
- /* Check looping state if -i option given */
- for (lc = 0; TEST_LOOPING(lc); lc++) {
- /* Reset Tst_count in case we are looping. */
- Tst_count=0;
-
- /*
- * Invoke lseek(2) to set the file
- * pointer/handle from the current location
- * of the file descriptor + specified offset.
- */
- TEST(lseek(fildes, 1, SEEK_CUR));
-
- /* check return code of lseek(2) */
- if (TEST_RETURN == (off_t)-1) {
- tst_resm(TFAIL, "lseek on (%s) Failed, errno=%d : %s",
- TEMP_FILE, TEST_ERRNO, strerror(TEST_ERRNO));
- continue;
- }
- /*
- * Perform functional verification if test
- * executed without (-f) option.
- */
- if (STD_FUNCTIONAL_TEST) {
- /*
- * Check if the return value from lseek(2) is equal
- * to the 3 positions from the beginning of the file.
- * ie, 2 positions from lseek() in the setup +
- * 1 position from above above.
- */
- if (TEST_RETURN != 3) {
- tst_resm(TFAIL, "lseek() returned incorrect "
- "value %d, expected 4", TEST_RETURN);
- continue;
- }
- /*
- * Read the data byte from this location.
- */
- read_buf[0] = '\0';
- if (read(fildes, &read_buf, (file_size - 3)) < 0) {
- tst_brkm(TFAIL, cleanup,
- "read() failed on %s, error=%d",
- TEMP_FILE, errno);
- } else {
- /*
- * Check if read data contains
- * expected characters
- * From pos 4 ---> 'defg'.
- */
- if (memcmp(read_buf, "defg", 4)) {
- tst_resm(TFAIL, "Incorrect data read "
- "from file %s", TEMP_FILE);
- } else {
- tst_resm(TPASS, "Functionality of "
- "lseek() on %s successful",
- TEMP_FILE);
- }
- }
- } else {
- tst_resm(TPASS, "call succeeded");
- }
-
- /* reset file pointer in case we are looping */
- if (lseek(fildes, 2, SEEK_SET) == -1) {
- tst_brkm(TBROK, cleanup, "lseek failed - could not "
- "reset file pointer");
- }
- } /* End for TEST_LOOPING */
-
- /* Call cleanup() to undo setup done for the test. */
- cleanup();
-
- /*NOTREACHED*/
-} /* End main */
-
-/*
- * setup() - performs all ONE TIME setup for this test.
- * Create a temporary directory and change directory to it.
- * Create a test file under temporary directory and write some
- * data into it.
- * Get the size of the file using fstat().
- */
-void
-setup()
-{
- struct stat stat_buf; /* buffer to hold stat info. */
- char write_buf[BUFSIZ]; /* buffer to hold data */
-
- /* capture signals */
- tst_sig(NOFORK, DEF_HANDLER, cleanup);
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-
- /* make a temp directory and cd to it */
- tst_tmpdir();
-
- /* Get the data to be written to temporary file */
- strcpy(write_buf, "abcdefg");
-
- /* Creat/open a temporary file under above directory */
- if ((fildes = open(TEMP_FILE, O_RDWR | O_CREAT, FILE_MODE)) == -1) {
- tst_brkm(TBROK, cleanup,
- "open(%s, O_RDWR|O_CREAT, %#o) Failed, errno=%d :%s",
- TEMP_FILE, FILE_MODE, errno, strerror(errno));
- }
-
- /* Write data into temporary file */
- if(write(fildes, write_buf, strlen(write_buf)) <= 0) {
- tst_brkm(TBROK, cleanup, "write(2) on %s Failed, errno=%d : %s",
- TEMP_FILE, errno, strerror(errno));
- }
-
- /* Get the temporary file information */
- if (fstat(fildes, &stat_buf) < 0) {
- tst_brkm(TBROK, cleanup, "fstat(2) on %s Failed, errno=%d : %s",
- TEMP_FILE, errno, strerror(errno));
- }
-
- file_size = stat_buf.st_size;
-
- /*
- * Reset the file pointer position to the specified offset
- * from the beginning of the file.
- */
- if (lseek(fildes, 2, SEEK_SET) != 2) {
- tst_brkm(TBROK, cleanup,
- "lseek() fails to set file ptr. to specified offset");
- }
-}
-
-/*
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- * Remove the test directory and testfile created in the setup.
- */
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /* Close the temporary file created */
- if (close(fildes) < 0) {
- tst_brkm(TFAIL, NULL, "close(%s) Failed, errno=%d : %s:",
- TEMP_FILE, errno, strerror(errno));
- }
-
- /* Remove tmp dir and all files in it */
- tst_rmdir();
-
- /* exit with return code appropriate for results */
- tst_exit();
-}
diff --git a/winsup/testsuite/winsup.api/ltp/lseek10.c b/winsup/testsuite/winsup.api/ltp/lseek10.c
deleted file mode 100644
index ab3cc6ba3..000000000
--- a/winsup/testsuite/winsup.api/ltp/lseek10.c
+++ /dev/null
@@ -1,344 +0,0 @@
-/*
- *
- * Copyright (c) International Business Machines Corp., 2001
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-/*
- * Test Name: lseek05
- *
- * Test Description:
- * Verify that,
- * 1. lseek() returns -1 and sets errno to ESPIPE, if the file handle of
- * the specified file is associated with a pipe, socket, or FIFO.
- * 2. lseek() returns -1 and sets errno to EINVAL, if the 'Whence' argument
- * is not a proper value.
- * 3. lseek() returns -1 and sets errno to EBADF, if the file handle of
- * the specified file is not valid.
- *
- * Expected Result:
- * lseek() should fail with return value -1 and set expected errno.
- *
- * Algorithm:
- * Setup:
- * Setup signal handling.
- * Create temporary directory.
- * Pause for SIGUSR1 if option specified.
- *
- * Test:
- * Loop if the proper options are given.
- * Execute system call
- * Check return code, if system call failed (return=-1)
- * if errno set == expected errno
- * Issue sys call fails with expected return value and errno.
- * Otherwise,
- * Issue sys call fails with unexpected errno.
- * Otherwise,
- * Issue sys call returns unexpected value.
- *
- * Cleanup:
- * Print errno log and/or timing stats if options given
- * Delete the temporary directory(s)/file(s) created.
- *
- * Usage: <for command-line>
- * lseek05 [-c n] [-e] [-i n] [-I x] [-p x] [-t]
- * where, -c n : Run n copies concurrently.
- * -e : Turn on errno logging.
- * -i n : Execute test n times.
- * -I x : Execute test for x seconds.
- * -P x : Pause for x seconds between iterations.
- * -t : Turn on syscall timing.
- *
- * HISTORY
- * 07/2001 Ported by Wayne Boyer
- *
- * RESTRICTIONS:
- * None.
- */
-
-#include <sys/types.h>
-#include <errno.h>
-#include <fcntl.h>
-#include <utime.h>
-#include <string.h>
-#include <sys/stat.h>
-#include <signal.h>
-
-#include "test.h"
-#include "usctest.h"
-
-#define TEMP_FILE1 "tmp_file1"
-#define TEMP_FILE2 "tmp_file2"
-#define TEMP_FILE3 "tmp_file3"
-#define FILE_MODE S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH
-#define PIPE_MODE S_IFIFO | S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH
-#define SEEK_TOP 10
-
-const char *TCID="lseek05"; /* Test program identifier. */
-int TST_TOTAL=3; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-int exp_enos[]={ESPIPE, EINVAL, EBADF, 0};
-
-int no_setup();
-int setup1(); /* setup function to test lseek() for ESPIPE */
-int setup2(); /* setup function to test lseek() for EINVAL */
-int setup3(); /* setup function to test lseek() for EBADF */
-
-int fd1; /* file handle for testfile1 */
-int fd2; /* file handle for testfile2 */
-int fd3; /* file handle for testfile3 */
-
-struct test_case_t { /* test case struct. to hold ref. test cond's*/
- int fd;
- int Whence;
- const char *desc;
- int exp_errno;
- int (*setupfunc)();
-} Test_cases[] = {
- { 1, SEEK_SET, "'fd' associated with a pipe/fifo", ESPIPE, setup1 },
- { 2, SEEK_TOP, "'whence' argument is not valid", EINVAL, setup2 },
- { 3, SEEK_SET, "'fd' is not an open file descriptor", EBADF, setup3 },
- { 0, 0, NULL, 0, no_setup }
-};
-
-void setup(); /* Main setup function of test */
-void cleanup(void) __attribute__((noreturn)); /* cleanup function for the test */
-
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
- int fildes; /* file handle for testfile */
- int whence; /* position of file handle in the file */
- const char *test_desc; /* test specific error message */
- int ind; /* counter to test different test conditions */
-
- /* Parse standard options given to run the test. */
- msg = parse_opts(ac, av, (option_t *) NULL, NULL);
- if (msg != (char *) NULL) {
- tst_brkm(TBROK, NULL, "OPTION PARSING ERROR - %s", msg);
- tst_exit();
- }
-
- /* Perform global setup for test */
- setup();
-
- /* set the expected errnos... */
- TEST_EXP_ENOS(exp_enos);
-
- /* Check looping state if -i option given */
- for (lc = 0; TEST_LOOPING(lc); lc++) {
- /* Reset Tst_count in case we are looping. */
- Tst_count=0;
-
- for (ind = 0; Test_cases[ind].desc != NULL; ind++) {
- fildes = Test_cases[ind].fd;
- test_desc = Test_cases[ind].desc;
- whence = Test_cases[ind].Whence;
-
- /* Assign the 'fd' values appropriatly */
- if (fildes == 1) {
- fildes = fd1;
- } else if (fildes == 2) {
- fildes = fd2;
- } else {
- fildes = fd3;
- }
- /*
- * Invoke lseek(2) to test different test conditions.
- * Verify that it fails with -1 return value and
- * sets appropriate errno.
- */
- TEST(lseek(fildes, 0, whence));
-
- /* check return code of lseek(2) */
- if (TEST_RETURN != (off_t)-1) {
- tst_resm(TFAIL, "lseek() returned %d, expected "
- "-1, errno:%d", TEST_RETURN,
- Test_cases[ind].exp_errno);
- continue;
- }
- TEST_ERROR_LOG(TEST_ERRNO);
- if (TEST_ERRNO == Test_cases[ind].exp_errno) {
- tst_resm(TPASS, "lseek() fails, %s, errno:%d",
- test_desc, TEST_ERRNO);
- } else {
- tst_resm(TFAIL, "lseek() fails, %s, errno:%d, "
- "expected errno:%d", test_desc,
- TEST_ERRNO, Test_cases[ind].exp_errno);
- }
- }
- }
-
- /* Call cleanup() to undo setup done for the test. */
- cleanup();
-
- /*NOTREACHED*/
-} /* End main */
-
-/*
- * setup() - performs all ONE TIME setup for this test.
- * Create a temporary directory and change directory to it.
- * Invoke individual test setup functions according to the order
- * set in test struct. definition.
- */
-void
-setup()
-{
- int ind; /* counter for test setup function */
-
- /* capture signals */
- tst_sig(NOFORK, DEF_HANDLER, cleanup);
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-
- /* make a temp directory and cd to it */
- tst_tmpdir();
-
- /* call individual setup functions */
- for (ind = 0; Test_cases[ind].desc != NULL; ind++) {
- Test_cases[ind].setupfunc();
- }
-}
-
-/*
- * no_setup() - This is a dummy function which simply returns 0.
- */
-int
-no_setup()
-{
- return 0;
-}
-
-/*
- * setup1() - setup function for a test condition for which lseek(2)
- * returns -1 and sets errno to ESPIPE.
- * Creat a named pipe/fifo using mknod() and open it for
- * reading/writing.
- * This function returns 0 on success.
- */
-int
-setup1()
-{
- /* Creat a named pipe/fifo using mknod() */
- if (mknod(TEMP_FILE1, PIPE_MODE, 0) < 0) {
- tst_brkm(TBROK, cleanup,
- "mknod(%s, %#o, 0) Failed, errno=%d :%s",
- TEMP_FILE1, FILE_MODE, errno, strerror(errno));
- }
-
- /* Open the named pipe/fifo for reading/writing */
- if ((fd1 = open(TEMP_FILE1, O_RDWR)) < 0) {
- tst_brkm(TBROK, cleanup,
- "open(%s, O_RDWR) Failed, errno=%d, :%s",
- TEMP_FILE1, errno, strerror(errno));
- }
-
- return 0;
-}
-
-/*
- * setup2() - setup function for a test condition for which lseek(2)
- * returns -1 and sets errno to EINVAL.
- * Creat a temporary file for reading/writing and write some data
- * into it.
- * This function returns 0 on success.
- */
-int
-setup2()
-{
- char write_buff[BUFSIZ]; /* buffer to hold data */
-
- /* Get the data to be written to temporary file */
- strcpy(write_buff, "abcdefg");
-
- /* Creat/open a temporary file under above directory */
- if ((fd2 = open(TEMP_FILE2, O_RDWR | O_CREAT, FILE_MODE)) == -1) {
- tst_brkm(TBROK, cleanup,
- "open(%s, O_RDWR|O_CREAT, %#o) Failed, errno=%d :%s",
- TEMP_FILE2, FILE_MODE, errno, strerror(errno));
- }
-
- /* Write data into temporary file */
- if(write(fd2, write_buff, sizeof(write_buff)) <= 0) {
- tst_brkm(TBROK, cleanup,
- "write(2) on %s Failed, errno=%d : %s",
- TEMP_FILE2, errno, strerror(errno));
- }
-
- return 0;
-}
-
-/*
- * setup3() - setup function for a test condition for which lseek(2)
- * returns -1 and sets errno to EBADF.
- * Creat a temporary file for reading/writing and close it.
- * This function returns 0 on success.
- */
-int
-setup3()
-{
- /* Creat/open a temporary file under above directory */
- if ((fd3 = open(TEMP_FILE3, O_RDWR | O_CREAT, FILE_MODE)) == -1) {
- tst_brkm(TBROK, cleanup,
- "open(%s, O_RDWR|O_CREAT, %#o) Failed, errno=%d :%s",
- TEMP_FILE3, FILE_MODE, errno, strerror(errno));
- }
-
- /* Close the temporary file created above */
- if (close(fd3) < 0) {
- tst_brkm(TBROK, cleanup,
- "close(%s) Failed, errno=%d : %s:",
- TEMP_FILE3, errno, strerror(errno));
- }
-
- return 0;
-}
-
-/*
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- * Remove the test directory and testfile(s) created in the setup.
- */
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /* Close the temporary file(s) created in setup1/setup2*/
- if (close(fd1) < 0) {
- tst_brkm(TFAIL, NULL,
- "close(%s) Failed, errno=%d : %s:",
- TEMP_FILE1, errno, strerror(errno));
- }
- if (close(fd2) < 0) {
- tst_brkm(TFAIL, NULL,
- "close(%s) Failed, errno=%d : %s:",
- TEMP_FILE2, errno, strerror(errno));
- }
-
- /* Remove tmp dir and all files in it */
- tst_rmdir();
-
- /* exit with return code appropriate for results */
- tst_exit();
-}
diff --git a/winsup/testsuite/winsup.api/ltp/lstat02.c b/winsup/testsuite/winsup.api/ltp/lstat02.c
deleted file mode 100644
index eed8f78c7..000000000
--- a/winsup/testsuite/winsup.api/ltp/lstat02.c
+++ /dev/null
@@ -1,253 +0,0 @@
-/*
- * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it would be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Further, this software is distributed without any warranty that it is
- * free of the rightful claim of any third person regarding infringement
- * or the like. Any license provided herein, whether implied or
- * otherwise, applies only to this software file. Patent licenses, if
- * any, provided herein do not apply to combinations of this program with
- * other software, or any other product whatsoever.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write the Free Software Foundation, Inc., 59
- * Temple Place - Suite 330, Boston MA 02111-1307, USA.
- *
- * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
- * Mountain View, CA 94043, or:
- *
- * http://www.sgi.com
- *
- * For further information regarding this notice, see:
- *
- * http://oss.sgi.com/projects/GenInfo/NoticeExplan/
- *
- */
-/* $Id$ */
-/**********************************************************
- *
- * OS Test - Silicon Graphics, Inc.
- *
- * TEST IDENTIFIER : lstat02
- *
- * EXECUTED BY : anyone
- *
- * TEST TITLE : Basic test for lstat(2)
- *
- * PARENT DOCUMENT : usctpl01
- *
- * TEST CASE TOTAL : 1
- *
- * WALL CLOCK TIME : 1
- *
- * CPU TYPES : ALL
- *
- * AUTHOR : William Roske
- *
- * CO-PILOT : Dave Fenner
- *
- * DATE STARTED : 03/30/92
- *
- * INITIAL RELEASE : UNICOS 7.0
- *
- * TEST CASES
- *
- * 1.) lstat(2) returns...(See Description)
- *
- * INPUT SPECIFICATIONS
- * The standard options for system call tests are accepted.
- * (See the parse_opts(3) man page).
- *
- * OUTPUT SPECIFICATIONS
- *
- * DURATION
- * Terminates - with frequency and infinite modes.
- *
- * SIGNALS
- * Uses SIGUSR1 to pause before test if option set.
- * (See the parse_opts(3) man page).
- *
- * RESOURCES
- * None
- *
- * ENVIRONMENTAL NEEDS
- * No run-time environmental needs.
- *
- * SPECIAL PROCEDURAL REQUIREMENTS
- * None
- *
- * INTERCASE DEPENDENCIES
- * None
- *
- * DETAILED DESCRIPTION
- * This is a Phase I test for the lstat(2) system call. It is intended
- * to provide a limited exposure of the system call, for now. It
- * should/will be extended when full functional tests are written for
- * lstat(2).
- *
- * Setup:
- * Setup signal handling.
- * Pause for SIGUSR1 if option specified.
- *
- * Test:
- * Loop if the proper options are given.
- * Execute system call
- * Check return code, if system call failed (return=-1)
- * Log the errno and Issue a FAIL message.
- * Otherwise, Issue a PASS message.
- *
- * Cleanup:
- * Print errno log and/or timing stats if options given
- *
- *
- *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#**/
-
-#include <sys/types.h>
-#include <sys/fcntl.h>
-#include <sys/stat.h>
-#include <errno.h>
-#include <string.h>
-#include <signal.h>
-#include "test.h"
-#include "usctest.h"
-
-extern void setup();
-extern void cleanup();
-
-
-
-const char *TCID="lstat02"; /* Test program identifier. */
-int TST_TOTAL=1; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-
-int exp_enos[]={0, 0};
-
-char fname[255], lname[255], symlnk[255], buf[255];
-int fd;
-struct stat statter;
-
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
-
- /***************************************************************
- * parse standard options
- ***************************************************************/
- if ( (msg=parse_opts(ac, av, (option_t *) NULL, NULL)) != (char *) NULL )
- tst_brkm(TBROK, cleanup, "OPTION PARSING ERROR - %s", msg);
-
- /***************************************************************
- * perform global setup for test
- ***************************************************************/
- setup();
-
- /* set the expected errnos... */
- TEST_EXP_ENOS(exp_enos);
-
- /***************************************************************
- * check looping state if -c option given
- ***************************************************************/
- for (lc=0; TEST_LOOPING(lc); lc++) {
-
- /* reset Tst_count in case we are looping. */
- Tst_count=0;
-
- /*
- * Call lstat(2)
- */
- TEST(lstat(symlnk, &statter));
-
- /* check return code */
- if ( TEST_RETURN == -1 ) {
- TEST_ERROR_LOG(TEST_ERRNO);
- tst_resm(TFAIL, "lstat(%s, &statter) Failed, errno=%d : %s", symlnk,
- TEST_ERRNO, strerror(TEST_ERRNO));
- } else {
-
- /***************************************************************
- * only perform functional verification if flag set (-f not given)
- ***************************************************************/
- if ( STD_FUNCTIONAL_TEST ) {
- /* No Verification test, yet... */
- tst_resm(TPASS, "lstat(%s, &statter) returned %d", symlnk, TEST_RETURN);
- }
- }
-
- } /* End for TEST_LOOPING */
-
- /***************************************************************
- * cleanup and exit
- ***************************************************************/
- cleanup();
-
- return 0;
-} /* End main */
-
-/***************************************************************
- * setup() - performs all ONE TIME setup for this test.
- ***************************************************************/
-void
-setup()
-{
- /* capture signals */
- tst_sig(FORK, DEF_HANDLER, cleanup);
-
- /* make a temp directory and cd to it */
- tst_tmpdir();
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-
- sprintf(fname,"tfile_%d",getpid());
- if ((fd = open(fname,O_RDWR|O_CREAT,0700)) == -1) {
- tst_brkm(TBROK, cleanup,
- "open(%s, O_RDWR|O_CREAT,0700) Failed, errno=%d : %s",
- fname, errno, strerror(errno));
- } else if (close(fd) == -1) {
- tst_resm(TWARN, "close(%s) Failed, errno=%d : %s",
- fname, errno, strerror(errno));
- }
-
- sprintf(symlnk,"lnfile_%d",getpid());
- if (symlink(fname, symlnk) == -1) {
- tst_resm(TWARN, "symlink(%s, %s) Failed, errno=%d : %s",
- fname, symlnk, errno, strerror(errno));
- } else if (readlink(symlnk, buf, 255) == -1) {
- tst_resm(TWARN, "readlink(%s, buf, 255) Failed, errno=%d : %s",
- symlnk, errno, strerror(errno));
- } else if (strcmp(buf, fname) != 0) {
- tst_resm(TWARN,
- "Setup Failure : Expected symbolic link contents of %s : Actual is %s",
- fname, buf);
- }
-} /* End setup() */
-
-
-/***************************************************************
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- ***************************************************************/
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /* Remove tmp dir and all files in it */
- tst_rmdir();
-
- /* exit with return code appropriate for results */
- tst_exit();
-} /* End cleanup() */
diff --git a/winsup/testsuite/winsup.api/ltp/mkdir01.c b/winsup/testsuite/winsup.api/ltp/mkdir01.c
deleted file mode 100644
index 5772f0683..000000000
--- a/winsup/testsuite/winsup.api/ltp/mkdir01.c
+++ /dev/null
@@ -1,270 +0,0 @@
-/*
- * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it would be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Further, this software is distributed without any warranty that it is
- * free of the rightful claim of any third person regarding infringement
- * or the like. Any license provided herein, whether implied or
- * otherwise, applies only to this software file. Patent licenses, if
- * any, provided herein do not apply to combinations of this program with
- * other software, or any other product whatsoever.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write the Free Software Foundation, Inc., 59
- * Temple Place - Suite 330, Boston MA 02111-1307, USA.
- *
- * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
- * Mountain View, CA 94043, or:
- *
- * http://www.sgi.com
- *
- * For further information regarding this notice, see:
- *
- * http://oss.sgi.com/projects/GenInfo/NoticeExplan/
- *
- */
-/* $Id$ */
-/**********************************************************
- *
- * OS Test - Silicon Graphics, Inc.
- *
- * TEST IDENTIFIER : mkdir01
- *
- * EXECUTED BY : anyone
- *
- * TEST TITLE : Basic errno test for mkdir(2)
- *
- * PARENT DOCUMENT : mkstds02
- *
- * TEST CASE TOTAL : 2
- *
- * WALL CLOCK TIME : 1
- *
- * CPU TYPES : ALL
- *
- * AUTHOR : Bill Branum
- *
- * CO-PILOT : Kathy Olmsted
- *
- * DATE STARTED : 4/15/92
- *
- * INITIAL RELEASE : UNICOS 7.0
- *
- * TEST CASES
- *
- * mkdir(2) test for errno(s) EFAULT.
- *
- * INPUT SPECIFICATIONS
- * The standard options for system call tests are accepted.
- * (See the parse_opts(3) man page).
- *
- * DURATION
- * Terminates - with frequency and infinite modes.
- *
- * SIGNALS
- * Uses SIGUSR1 to pause before test if option set.
- * (See the parse_opts(3) man page).
- *
- * ENVIRONMENTAL NEEDS
- * No run-time environmental needs.
- *
- * DETAILED DESCRIPTION
- * This test will verify that mkdir(2) returns a value of
- * -1 and sets errno to EFAULT when the path argument points
- * outside (above/below) the allocated address space of the
- * process.
- *
- * Setup:
- * Setup signal handling.
- * Create and make current a temporary directory.
- * Pause for SIGUSR1 if option specified.
- *
- * Test:
- * Loop if the proper options are given.
- * Execute system call
- * Check return code, if system call failed (return=-1)
- * Log the errno.
- * If doing functional test
- * check the errno returned and print result message
- *
- * Cleanup:
- * Print errno log and/or timing stats if options given
- * Remove the temporary directory.
- * Exit.
- *
- *
- *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#**/
-
-#include <errno.h>
-#include <string.h>
-#include <signal.h>
-#include <sys/stat.h>
-#include <sys/types.h>
-#include <fcntl.h>
-#include "test.h"
-#include "usctest.h"
-
-void setup();
-void cleanup(void) __attribute__((noreturn));
-
-
-char *get_high_address();
-
-const char *TCID="mkdir01"; /* Test program identifier. */
-int TST_TOTAL=2; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-
-int exp_enos[]={EFAULT, 0}; /* List must end with 0 */
-
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
-
-
- /***************************************************************
- * parse standard options
- ***************************************************************/
- if ( (msg=parse_opts(ac, av, (option_t *) NULL, NULL)) != (char *) NULL )
- tst_brkm(TBROK, cleanup, "OPTION PARSING ERROR - %s", msg);
-
- /***************************************************************
- * perform global setup for test
- ***************************************************************/
- setup();
-
- /* set the expected errnos... */
- TEST_EXP_ENOS(exp_enos);
-
- /***************************************************************
- * check looping state if -c option given
- ***************************************************************/
- for (lc=0; TEST_LOOPING(lc); lc++) {
-
- /* reset Tst_count in case we are looping. */
- Tst_count=0;
-
- /*
- * TEST CASE: 1
- * mkdir() call with pointer below allocated address space.
- */
-
- /* Call mkdir(2) */
- TEST(mkdir((char *)-1,0777));
-
- /* check return code */
- if ( TEST_RETURN == -1 ) {
- TEST_ERROR_LOG(TEST_ERRNO);
- }
-
- /***************************************************************
- * only perform functional verification if flag set (-f not given)
- ***************************************************************/
- if ( STD_FUNCTIONAL_TEST ) {
- if ( TEST_RETURN == -1 ) {
- if (TEST_ERRNO == EFAULT) {
- tst_resm(TPASS, "mkdir - path argument pointing below allocated address space failed as expected with errno %d : %s", TEST_ERRNO, strerror(TEST_ERRNO));
- }
- else {
- tst_resm(TFAIL, "mkdir - path argument pointing below allocated address space failed with errno %d : %s but expected %d (EFAULT)", TEST_ERRNO, strerror(TEST_ERRNO),EFAULT);
- }
- }
- else {
- tst_resm(TFAIL, "mkdir - path argument pointing below allocated address space succeeded unexpectedly.");
-
- }
- }
-
-
- /*
- * TEST CASE: 2
- * mkdir() call with pointer above allocated address space.
- */
-
- /* Call mkdir(2) */
- TEST(mkdir(get_high_address(),0777));
-
- /* check return code */
- if ( TEST_RETURN == -1 ) {
- TEST_ERROR_LOG(TEST_ERRNO);
- }
-
- /***************************************************************
- * only perform functional verification if flag set (-f not given)
- ***************************************************************/
- if ( STD_FUNCTIONAL_TEST ) {
- if ( TEST_RETURN == -1 ) {
- if (TEST_ERRNO == EFAULT) {
- tst_resm(TPASS, "mkdir - path argument pointing above allocated address space failed as expected with errno %d : %s", TEST_ERRNO, strerror(TEST_ERRNO));
- }
- else {
- tst_resm(TFAIL, "mkdir - path argument pointing above allocated address space failed with errno %d : %s but expected %d (EFAULT)", TEST_ERRNO, strerror(TEST_ERRNO),EFAULT);
- }
- }
- else {
- tst_resm(TFAIL, "mkdir - path argument pointing above allocated address space succeeded unexpectedly.");
-
- }
- }
-
- } /* End for TEST_LOOPING */
-
- /***************************************************************
- * cleanup and exit
- ***************************************************************/
- cleanup();
-
- return 0;
-} /* End main */
-
-/***************************************************************
- * setup() - performs all ONE TIME setup for this test.
- ***************************************************************/
-void
-setup()
-{
- /* capture signals */
- tst_sig(NOFORK, DEF_HANDLER, cleanup);
-
- /* Create a temporary directory and make it current. */
- tst_tmpdir();
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-} /* End setup() */
-
-
-/***************************************************************
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- ***************************************************************/
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /*
- * Remove the temporary directory.
- */
- tst_rmdir();
-
- /*
- * Exit with return code appropriate for results.
- */
- tst_exit();
-
-} /* End cleanup() */
-
-
diff --git a/winsup/testsuite/winsup.api/ltp/mkdir08.c b/winsup/testsuite/winsup.api/ltp/mkdir08.c
deleted file mode 100644
index d1cc19344..000000000
--- a/winsup/testsuite/winsup.api/ltp/mkdir08.c
+++ /dev/null
@@ -1,235 +0,0 @@
-/*
- * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it would be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Further, this software is distributed without any warranty that it is
- * free of the rightful claim of any third person regarding infringement
- * or the like. Any license provided herein, whether implied or
- * otherwise, applies only to this software file. Patent licenses, if
- * any, provided herein do not apply to combinations of this program with
- * other software, or any other product whatsoever.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write the Free Software Foundation, Inc., 59
- * Temple Place - Suite 330, Boston MA 02111-1307, USA.
- *
- * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
- * Mountain View, CA 94043, or:
- *
- * http://www.sgi.com
- *
- * For further information regarding this notice, see:
- *
- * http://oss.sgi.com/projects/GenInfo/NoticeExplan/
- *
- */
-/* $Id$ */
-/**********************************************************
- *
- * OS Test - Silicon Graphics, Inc.
- *
- * TEST IDENTIFIER : mkdir08
- *
- * EXECUTED BY : anyone
- *
- * TEST TITLE : Basic test for mkdir(2)
- *
- * PARENT DOCUMENT : usctpl01
- *
- * TEST CASE TOTAL : 1
- *
- * WALL CLOCK TIME : 1
- *
- * CPU TYPES : ALL
- *
- * AUTHOR : William Roske
- *
- * CO-PILOT : Dave Fenner
- *
- * DATE STARTED : 03/30/92
- *
- * INITIAL RELEASE : UNICOS 7.0
- *
- * TEST CASES
- *
- * 1.) mkdir(2) returns...(See Description)
- *
- * INPUT SPECIFICATIONS
- * The standard options for system call tests are accepted.
- * (See the parse_opts(3) man page).
- *
- * OUTPUT SPECIFICATIONS
- *
- * DURATION
- * Terminates - with frequency and infinite modes.
- *
- * SIGNALS
- * Uses SIGUSR1 to pause before test if option set.
- * (See the parse_opts(3) man page).
- *
- * RESOURCES
- * None
- *
- * ENVIRONMENTAL NEEDS
- * No run-time environmental needs.
- *
- * SPECIAL PROCEDURAL REQUIREMENTS
- * None
- *
- * INTERCASE DEPENDENCIES
- * None
- *
- * DETAILED DESCRIPTION
- * This is a Phase I test for the mkdir(2) system call. It is intended
- * to provide a limited exposure of the system call, for now. It
- * should/will be extended when full functional tests are written for
- * mkdir(2).
- *
- * Setup:
- * Setup signal handling.
- * Pause for SIGUSR1 if option specified.
- *
- * Test:
- * Loop if the proper options are given.
- * Execute system call
- * Check return code, if system call failed (return=-1)
- * Log the errno and Issue a FAIL message.
- * Otherwise, Issue a PASS message.
- *
- * Cleanup:
- * Print errno log and/or timing stats if options given
- *
- *
- *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#**/
-
-#include <errno.h>
-#include <string.h>
-#include <signal.h>
-#include <sys/stat.h>
-#include <sys/types.h>
-#include <fcntl.h>
-#include "test.h"
-#include "usctest.h"
-
-extern void setup();
-extern void cleanup();
-
-
-
-const char *TCID="mkdir08"; /* Test program identifier. */
-int TST_TOTAL=1; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-
-int exp_enos[]={0, 0};
-
-char fname[255];
-
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
-
- /***************************************************************
- * parse standard options
- ***************************************************************/
- if ( (msg=parse_opts(ac, av, (option_t *) NULL, NULL)) != (char *) NULL )
- tst_brkm(TBROK, cleanup, "OPTION PARSING ERROR - %s", msg);
-
- /***************************************************************
- * perform global setup for test
- ***************************************************************/
- setup();
-
- /* set the expected errnos... */
- TEST_EXP_ENOS(exp_enos);
-
- /***************************************************************
- * check looping state if -c option given
- ***************************************************************/
- for (lc=0; TEST_LOOPING(lc); lc++) {
-
- /* reset Tst_count in case we are looping. */
- Tst_count=0;
-
- /*
- * Call mkdir(2)
- */
- TEST(mkdir(fname, 0777));
-
- /* check return code */
- if ( TEST_RETURN == -1 ) {
- TEST_ERROR_LOG(TEST_ERRNO);
- tst_resm(TFAIL, "mkdir(%s) Failed, errno=%d : %s", fname,
- TEST_ERRNO, strerror(TEST_ERRNO));
- } else {
-
- /***************************************************************
- * only perform functional verification if flag set (-f not given)
- ***************************************************************/
- if ( STD_FUNCTIONAL_TEST ) {
- /* No Verification test, yet... */
- tst_resm(TPASS, "mkdir(%s) returned %d", fname, TEST_RETURN);
- }
- if(rmdir(fname) == -1) {
- tst_brkm(TBROK, cleanup, "rmdir(%s) Failed, errno=%d : %s",
- fname, errno, strerror(errno));
- }
- }
-
- } /* End for TEST_LOOPING */
-
- /***************************************************************
- * cleanup and exit
- ***************************************************************/
- cleanup();
-
- return 0;
-} /* End main */
-
-/***************************************************************
- * setup() - performs all ONE TIME setup for this test.
- ***************************************************************/
-void
-setup()
-{
-
- /* capture signals */
- tst_sig(NOFORK, DEF_HANDLER, cleanup);
-
- /* make a temp directory and cd to it */
- tst_tmpdir();
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-
- sprintf(fname, "./dir_%d", getpid());
-} /* End setup() */
-
-
-/***************************************************************
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- ***************************************************************/
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /* Remove tmp dir and all files in it */
- tst_rmdir();
-
- /* exit with return code appropriate for results */
- tst_exit();
-} /* End cleanup() */
diff --git a/winsup/testsuite/winsup.api/ltp/mknod01.c b/winsup/testsuite/winsup.api/ltp/mknod01.c
deleted file mode 100644
index e25194e0c..000000000
--- a/winsup/testsuite/winsup.api/ltp/mknod01.c
+++ /dev/null
@@ -1,275 +0,0 @@
-/*
- * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it would be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Further, this software is distributed without any warranty that it is
- * free of the rightful claim of any third person regarding infringement
- * or the like. Any license provided herein, whether implied or
- * otherwise, applies only to this software file. Patent licenses, if
- * any, provided herein do not apply to combinations of this program with
- * other software, or any other product whatsoever.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write the Free Software Foundation, Inc., 59
- * Temple Place - Suite 330, Boston MA 02111-1307, USA.
- *
- * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
- * Mountain View, CA 94043, or:
- *
- * http://www.sgi.com
- *
- * For further information regarding this notice, see:
- *
- * http://oss.sgi.com/projects/GenInfo/NoticeExplan/
- *
- */
-/* $Id$ */
-/**********************************************************
- *
- * OS Test - Silicon Graphics, Inc.
- *
- * TEST IDENTIFIER : mknod01
- *
- * EXECUTED BY : root
- *
- * TEST TITLE : Basic test for mknod(2)
- *
- * PARENT DOCUMENT : usctpl01
- *
- * TEST CASE TOTAL : 4
- *
- * WALL CLOCK TIME : 1
- *
- * CPU TYPES : ALL
- *
- * AUTHOR : William Roske
- *
- * CO-PILOT : Dave Fenner
- *
- * DATE STARTED : 05/13/92
- *
- * INITIAL RELEASE : UNICOS 7.0
- *
- * TEST CASES
- *
- * 1.) mknod(2) returns...(See Description)
- *
- * INPUT SPECIFICATIONS
- * The standard options for system call tests are accepted.
- * (See the parse_opts(3) man page).
- *
- * OUTPUT SPECIFICATIONS
- *
- * DURATION
- * Terminates - with frequency and infinite modes.
- *
- * SIGNALS
- * Uses SIGUSR1 to pause before test if option set.
- * (See the parse_opts(3) man page).
- *
- * RESOURCES
- * None
- *
- * ENVIRONMENTAL NEEDS
- * No run-time environmental needs.
- *
- * SPECIAL PROCEDURAL REQUIREMENTS
- * None
- *
- * INTERCASE DEPENDENCIES
- * None
- *
- * DETAILED DESCRIPTION
- * This is a Phase I test for the mknod(2) system call. It is intended
- * to provide a limited exposure of the system call, for now. It
- * should/will be extended when full functional tests are written for
- * mknod(2).
- *
- * Setup:
- * Setup signal handling.
- * Pause for SIGUSR1 if option specified.
- *
- * Test:
- * Loop if the proper options are given.
- * Execute system call
- * Check return code, if system call failed (return=-1)
- * Log the errno and Issue a FAIL message.
- * Otherwise, Issue a PASS message.
- *
- * Cleanup:
- * Print errno log and/or timing stats if options given
- *
- *
- *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#**/
-
-#include <errno.h>
-#include <string.h>
-#include <signal.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-
-#include "test.h"
-#include "usctest.h"
-
-void setup();
-void cleanup(void) __attribute__((noreturn));
-
-
-
-const char *TCID="mknod01"; /* Test program identifier. */
-int TST_TOTAL; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-
-char Path[1024]; /* path to create */
-int i; /* counter for test case loop */
-int tcases[] = { /* modes to give nodes created (1 per text case) */
- S_IFREG|0777, /* ordinary file with mode 0777 */
- S_IFIFO|0777, /* fifo special with mode 0777 */
- S_IFCHR|0777, /* character special with mode 0777 */
- S_IFBLK|0777, /* block special with mode 0777 */
-
- S_IFREG|04700, /* ordinary file with mode 04700 (suid) */
- S_IFREG|02700, /* ordinary file with mode 02700 (sgid) */
- S_IFREG|06700, /* ordinary file with mode 06700 (sgid & suid) */
-
-#ifdef CRAY
- S_IFDIR|0777, /* Direcory */
- S_IRESTART|0400, /* restartbit */
-#ifdef S_IFOFD
- S_IFOFD|0777, /* off line, with data */
-#endif
-#ifdef S_IFOFL
- S_IFOFL|0777, /* off line, with no data */
-#endif
-#endif /* CRAY */
-
-};
-
-
-
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
-
- TST_TOTAL=(sizeof(tcases)/sizeof(tcases[0]));
- /***************************************************************
- * parse standard options
- ***************************************************************/
- if ( (msg=parse_opts(ac, av, (option_t *) NULL, NULL)) != (char *) NULL ) {
- tst_brkm(TBROK, NULL, "OPTION PARSING ERROR - %s", msg);
- tst_exit();
- }
-
- /***************************************************************
- * perform global setup for test
- ***************************************************************/
- setup();
-
- /***************************************************************
- * check looping state if -c option given
- ***************************************************************/
- for (lc=0; TEST_LOOPING(lc); lc++) {
-
- /* reset Tst_count in case we are looping. */
- Tst_count=0;
-
-
- /*
- * TEST CASES:
- * Make nodes in tcases array
- */
- for(i=0; i<TST_TOTAL; i++) {
- /* Call mknod(2) */
- TEST(mknod(Path, tcases[i], 0));
-
- /* check return code */
- if ( TEST_RETURN == -1 ) {
- TEST_ERROR_LOG(TEST_ERRNO);
- tst_resm(TFAIL, "mknod(%s, %#o, 0) failed, errno=%d : %s",
- Path, tcases[i], TEST_ERRNO, strerror(TEST_ERRNO));
- } else {
- /***************************************************************
- * only perform functional verification if flag set (-f not given)
- ***************************************************************/
- if ( STD_FUNCTIONAL_TEST ) {
- /* No Verification test, yet... */
- tst_resm(TPASS, "mknod(%s, %#o, 0) returned %d",
- Path, tcases[i], TEST_RETURN);
- }
- }
-
- /* remove the node for the next go `round */
- if (unlink(Path) == -1 ) {
- if ( rmdir(Path) == -1 ) {
- tst_resm(TWARN, "unlink(%s) & rmdir(%s) failed, errno:%d %s",
- Path, Path, errno, strerror(errno));
- }
- }
- }
-
- } /* End for TEST_LOOPING */
-
- /***************************************************************
- * cleanup and exit
- ***************************************************************/
- cleanup();
-
- return 0;
-} /* End main */
-
-/***************************************************************
- * setup() - performs all ONE TIME setup for this test.
- ***************************************************************/
-void
-setup()
-{
- /* capture signals */
- tst_sig(NOFORK, DEF_HANDLER, cleanup);
-
- /* make a temp dir and cd to it */
- tst_tmpdir();
-
-#ifndef __CYGWIN__
- /* Check that user is root */
- if ( geteuid() != 0 )
- tst_brkm(TBROK, cleanup, "Must be root for this test!");
-#endif
-
- /* build a temp node name to bre created my mknod */
- sprintf(Path, "./tnode_%d", getpid());
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-} /* End setup() */
-
-
-/***************************************************************
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- ***************************************************************/
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /* remove files and temp dir */
- tst_rmdir();
-
- /* exit with return code appropriate for results */
- tst_exit();
-} /* End cleanup() */
-
-
diff --git a/winsup/testsuite/winsup.api/ltp/mmap001.c b/winsup/testsuite/winsup.api/ltp/mmap001.c
deleted file mode 100644
index 6c47d49c1..000000000
--- a/winsup/testsuite/winsup.api/ltp/mmap001.c
+++ /dev/null
@@ -1,203 +0,0 @@
-/*
- * mmap001.c - Tests mmapping a big file and writing it once
- *
- * Copyright (C) 2000 Juan Quintela <quintela@fi.udc.es>
- * Aaron Laffin <alaffin@sgi.com>
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- */
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <fcntl.h>
-#include <sys/mman.h>
-#include <errno.h>
-#include <string.h>
-
-#include "test.h"
-#include "usctest.h"
-
-const char *TCID="mmap001";
-int TST_TOTAL=5;
-extern int Tst_count;
-static char *filename=NULL;
-static int m_opt = 0;
-static char *m_copt;
-
-void cleanup()
-{
- /*
- * remove the tmp directory and exit
- */
-
- if ( filename )
- free(filename);
-
- TEST_CLEANUP;
-
- tst_rmdir();
-
- tst_exit();
-}
-
-void setup()
-{
- char buf[1024];
- /*
- * setup a default signal hander and a
- * temporary working directory.
- */
- tst_sig(FORK, DEF_HANDLER, cleanup);
-
- tst_tmpdir();
-
- TEST_PAUSE;
-
- snprintf(buf,1024,"testfile.%d",getpid());
-
- filename = strdup(buf);
-}
-
-void help()
-{
- printf(" -m x size of mmap in pages (default 1000)\n");
-}
-
-/*
- * add the -m option whose parameter is the
- * pages that should be mapped.
- */
-option_t options[] =
-{
- { "m:", &m_opt, &m_copt },
- { NULL, NULL, NULL }
-};
-
-int main(int argc, char * argv[])
-{
- char *array;
- const char *msg;
- int i,lc;
- int fd;
- int pages,memsize;
-
- if ( (msg=parse_opts(argc, argv, options, help)) != (char *) NULL )
- tst_brkm(TBROK, cleanup, "OPTION PARSING ERROR - %s", msg);
-
- if ( m_opt )
- {
- memsize = pages = atoi( m_copt );
-
- if (memsize < 1)
- {
- tst_brkm(TBROK, cleanup, "Invalid arg for -m: %s",m_copt);
- }
-
- memsize *= getpagesize(); /* N PAGES */
-
- }
- else
- {
- /*
- * default size 1000 pages;
- */
- memsize = pages = 1000;
- memsize *= getpagesize();
- }
-
- tst_resm(TINFO,"mmap()ing file of %u pages or %u bytes", pages,memsize);
-
- setup();
-
- for (lc=0; TEST_LOOPING(lc); lc++)
- {
- Tst_count=0;
-
- fd = open(filename, O_RDWR | O_CREAT, 0666);
- if ((fd == -1))
- tst_brkm(TBROK, cleanup, "Problems opening files");
-
- if (lseek(fd, memsize, SEEK_SET) != memsize)
- {
- close(fd);
- tst_brkm(TBROK, cleanup, "Problems doing the lseek: %d: %s",
- errno,strerror(errno));
- }
-
- if (write(fd,"\0",1) !=1)
- {
- close(fd);
- tst_brkm(TBROK, cleanup, "Problems writing: %d: %s",
- errno,strerror(errno));
- }
-
- array = mmap(0, memsize, PROT_WRITE, MAP_SHARED,fd,0);
- if (array == (char *)MAP_FAILED)
- {
- tst_resm(TFAIL, "mmap() failed: %d: %s",
- errno,strerror(errno));
- tst_exit();
- }
- else
- {
- tst_resm(TPASS, "mmap() completed successfully.");
- }
-
- if ( STD_FUNCTIONAL_TEST )
- {
- tst_resm(TINFO,"touching mmaped memory");
-
- for(i = 0; i < memsize; i++)
- {
- array[i] = (char) i;
- }
-
- /*
- * seems that if the map area was bad, we'd get SEGV, hence we can
- * indicate a PASS.
- */
- tst_resm(TPASS, "we're still here, mmaped area must be good");
-
- TEST( msync(array, memsize, MS_SYNC) );
-
- if ( TEST_RETURN == -1 )
- {
- tst_resm(TFAIL, "msync() failed: errno: %d: %s",
- TEST_ERRNO, strerror(TEST_ERRNO));
- }
- else
- {
- tst_resm(TPASS, "msync() was successful");
- }
-
- } /* STD_FUNCTIONAL_TEST */
-
- TEST( munmap(array, memsize) );
-
- if ( TEST_RETURN == -1 )
- {
- tst_resm(TFAIL, "munmap() failed: errno: %d: %s",
- TEST_ERRNO, strerror(TEST_ERRNO));
- }
- else
- {
- tst_resm(TPASS, "munmap() was successful");
- }
-
- close(fd);
- unlink(filename);
- }
- cleanup();
- return 0;
-}
diff --git a/winsup/testsuite/winsup.api/ltp/mmap02.c b/winsup/testsuite/winsup.api/ltp/mmap02.c
deleted file mode 100644
index 33a12738c..000000000
--- a/winsup/testsuite/winsup.api/ltp/mmap02.c
+++ /dev/null
@@ -1,291 +0,0 @@
-/*
- *
- * Copyright (c) International Business Machines Corp., 2001
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-/*
- * Test Name: mmap02
- *
- * Test Description:
- * Call mmap() with prot parameter set to PROT_READ and with the file
- * descriptor being open for read, to map a file creating mapped memory
- * with read access. The minimum file permissions should be 0444.
- *
- * The call should succeed to create the mapped region with required
- * attributes.
- *
- * Expected Result:
- * mmap() should succeed returning the address of the mapped region,
- * the mapped region should contain the contents of the mapped file.
- *
- * Algorithm:
- * Setup:
- * Setup signal handling.
- * Pause for SIGUSR1 if option specified.
- * Create temporary directory.
- *
- * Test:
- * Loop if the proper options are given.
- * Execute system call
- * Check return code, if system call failed (return=-1)
- * Log the errno and Issue a FAIL message.
- * Otherwise,
- * Verify the Functionality of system call
- * if successful,
- * Issue Functionality-Pass message.
- * Otherwise,
- * Issue Functionality-Fail message.
- * Cleanup:
- * Print timing stats if options given
- * Delete the temporary directory created.
- *
- * Usage: <for command-line>
- * mmap02 [-c n] [-f] [-i n] [-I x] [-P x] [-t]
- * where, -c n : Run n copies concurrently.
- * -f : Turn off functionality Testing.
- * -i n : Execute test n times.
- * -I x : Execute test for x seconds.
- * -P x : Pause for x seconds between iterations.
- * -t : Turn on syscall timing.
- *
- * HISTORY
- * 07/2001 Ported by Wayne Boyer
- *
- * RESTRICTIONS:
- * None.
- */
-
-#include <sys/types.h>
-#include <errno.h>
-#include <fcntl.h>
-#include <string.h>
-#include <signal.h>
-#include <sys/stat.h>
-#include <sys/mman.h>
-
-#include "test.h"
-#include "usctest.h"
-
-#define TEMPFILE "mmapfile"
-
-const char *TCID="mmap02"; /* Test program identifier. */
-int TST_TOTAL=1; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-char *addr; /* addr of memory mapped region */
-char *dummy; /* dummy string */
-size_t page_sz; /* system page size */
-int fildes = -1; /* file descriptor for temporary file */
-
-void setup(); /* Main setup function of test */
-void cleanup(void) __attribute__((noreturn)); /* cleanup function for the test */
-
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
-
- /* Parse standard options given to run the test. */
- msg = parse_opts(ac, av, (option_t *) NULL, NULL);
- if (msg != (char *) NULL) {
- tst_brkm(TBROK, NULL, "OPTION PARSING ERROR - %s", msg);
- tst_exit();
- }
-
- /* Perform global setup for test */
- setup();
-
- /* Check looping state if -i option given */
- for (lc = 0; TEST_LOOPING(lc); lc++) {
- /* Reset Tst_count in case we are looping. */
- Tst_count=0;
-
- /*
- * Call mmap to map the temporary file 'TEMPFILE'
- * with read access.
- */
- TEST(mmap(0, page_sz, PROT_READ,
- MAP_FILE|MAP_SHARED, fildes, 0));
-
- /* Check for the return value of mmap() */
- if (TEST_RETURN == (int)MAP_FAILED) {
- tst_resm(TFAIL, "mmap() Failed on %s, errno=%d : %s",
- TEMPFILE, errno, strerror(errno));
- continue;
- }
- /*
- * Perform functional verification if test
- * executed without (-f) option.
- */
- if (STD_FUNCTIONAL_TEST) {
- /* Get the mmap return value */
- addr = (char *)TEST_RETURN;
-
- /*
- * Read the file contents into the dummy
- * string.
- */
- if (read(fildes, dummy, page_sz) < 0) {
- tst_brkm(TFAIL, cleanup, "read() on %s Failed, "
- "error:%d", TEMPFILE, errno);
- }
-
- /*
- * Check whether mapped memory region has
- * the file contents.
- */
- if (memcmp(dummy, addr, page_sz)) {
- tst_resm(TFAIL, "mapped memory area contains "
- "invalid data");
- } else {
- tst_resm(TPASS,
- "Functionality of mmap() successful");
- }
- } else {
- tst_resm(TPASS, "call succeeded");
- }
-
- /* Clean up things in case we are looping */
- /* Unmap the mapped memory */
- if (munmap(addr, page_sz) != 0) {
- tst_brkm(TFAIL, NULL, "munmap() fails to unmap the "
- "memory, errno=%d", errno);
- }
-
- } /* End for TEST_LOOPING */
-
- /* Call cleanup() to undo setup done for the test. */
- cleanup();
-
- /*NOTREACHED*/
-} /* End main */
-
-/*
- * setup() - performs all ONE TIME setup for this test.
- *
- * Get system page size, allocate and initialize the string dummy.
- * Initialize addr such that it is more than one page below the break
- * address of the process, and initialize one page region from addr
- * with char 'A'.
- * Create a temporary directory a file under it.
- * Write some known data into file and close it.
- * Change mode permissions on file to 0444.
- */
-void
-setup()
-{
- char *tst_buff; /* test buffer to hold known data */
-
- /* capture signals */
- tst_sig(FORK, DEF_HANDLER, cleanup);
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-
- /* Get the system page size */
- if ((page_sz = getpagesize()) < 0) {
- tst_brkm(TFAIL, NULL,
- "getpagesize() fails to get system page size");
- tst_exit();
- }
-
- /* Allocate space for the test buffer */
- if ((tst_buff = (char *)calloc(page_sz, sizeof(char))) == NULL) {
- tst_brkm(TFAIL, NULL,
- "calloc() failed to allocate space for tst_buff");
- tst_exit();
- }
-
- /* Fill the test buffer with the known data */
- memset(tst_buff, 'A', page_sz);
-
- /* make a temp directory and cd to it */
- tst_tmpdir();
-
- /* Creat a temporary file used for mapping */
- if ((fildes = open(TEMPFILE, O_RDWR | O_CREAT, 0666)) < 0) {
- tst_brkm(TFAIL, NULL, "open() on %s Failed, errno=%d : %s",
- TEMPFILE, errno, strerror(errno));
- free(tst_buff);
- cleanup();
- }
-
- /* Write test buffer contents into temporary file */
- if (write(fildes, tst_buff, sizeof(tst_buff)) < (int)sizeof(tst_buff)) {
- tst_brkm(TFAIL, NULL, "write() on %s Failed, errno=%d : %s",
- TEMPFILE, errno, strerror(errno));
- free(tst_buff);
- cleanup();
- }
-
- /* Free the memory allocated for test buffer */
- free(tst_buff);
-
- /* Close the temporary file */
- if (close(fildes) < 0) {
- tst_brkm(TFAIL, cleanup, "close() Failed on %s, errno=%d : %s",
- TEMPFILE, errno, strerror(errno));
- }
-
- /* Change Mode permissions on Temporary file */
- if (chmod(TEMPFILE, 0444) < 0) {
- tst_brkm(TFAIL, cleanup, "chmod(%s, 0444) Failed, errno=%d : "
- "%s", TEMPFILE, errno, strerror(errno));
- }
-
- /* Open the temporary file again, - Readonly mode */
- if ((fildes = open(TEMPFILE, O_RDONLY)) < 0) {
- tst_brkm(TFAIL, cleanup, "open(%s, O_RDONLY) Failed, errno=%d "
- ": %s", TEMPFILE, errno, strerror(errno));
- }
-
-
- /* Allocate and initialize dummy string of system page size bytes */
- if ((dummy = (char *)calloc(page_sz, sizeof(char))) == NULL) {
- tst_brkm(TFAIL, NULL, "calloc() failed to allocate space");
- tst_exit();
- }
-
-}
-
-/*
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- * Free the memory allocated to dummy variable.
- * Remove the temporary directory created.
- */
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- */
- TEST_CLEANUP;
-
- /* Free the memory allocated for dummy string */
- if (dummy) {
- free(dummy);
- }
-
- if (fildes >= 0)
- close (fildes);
- /* Remove tmp dir and all files in it */
- tst_rmdir();
-
- /* exit with return code appropriate for results */
- tst_exit();
-}
diff --git a/winsup/testsuite/winsup.api/ltp/mmap03.c b/winsup/testsuite/winsup.api/ltp/mmap03.c
deleted file mode 100644
index 9302d335d..000000000
--- a/winsup/testsuite/winsup.api/ltp/mmap03.c
+++ /dev/null
@@ -1,290 +0,0 @@
-/*
- *
- * Copyright (c) International Business Machines Corp., 2001
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-/*
- * Test Name: mmap03
- *
- * Test Description:
- * Call mmap() to map a file creating a mapped region with execute access
- * under the following conditions -
- * - The prot parameter is set to PROT_EXE
- * - The file descriptor is open for read
- * - The file being mapped has execute permission bit set.
- * - The minimum file permissions should be 0555.
- *
- * The call should succeed to map the file creating mapped memory with the
- * required attributes.
- *
- * Expected Result:
- * mmap() should succeed returning the address of the mapped region,
- * and the mapped region should contain the contents of the mapped file.
- *
- * Algorithm:
- * Setup:
- * Setup signal handling.
- * Pause for SIGUSR1 if option specified.
- * Create temporary directory.
- *
- * Test:
- * Loop if the proper options are given.
- * Execute system call
- * Check return code, if system call failed (return=-1)
- * Log the errno and Issue a FAIL message.
- * Otherwise,
- * Verify the Functionality of system call
- * if successful,
- * Issue Functionality-Pass message.
- * Otherwise,
- * Issue Functionality-Fail message.
- * Cleanup:
- * Print timing stats if options given
- * Delete the temporary directory created.
- *
- * Usage: <for command-line>
- * mmap03 [-c n] [-f] [-i n] [-I x] [-P x] [-t]
- * where, -c n : Run n copies concurrently.
- * -f : Turn off functionality Testing.
- * -i n : Execute test n times.
- * -I x : Execute test for x seconds.
- * -P x : Pause for x seconds between iterations.
- * -t : Turn on syscall timing.
- *
- * HISTORY
- * 07/2001 Ported by Wayne Boyer
- *
- * RESTRICTIONS:
- * None.
- */
-
-#include <sys/types.h>
-#include <errno.h>
-#include <fcntl.h>
-#include <string.h>
-#include <signal.h>
-#include <sys/stat.h>
-#include <sys/mman.h>
-
-#include "test.h"
-#include "usctest.h"
-
-#define TEMPFILE "mmapfile"
-
-const char *TCID="mmap03"; /* Test program identifier. */
-int TST_TOTAL=1; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-size_t page_sz; /* system page size */
-char *addr; /* addr of memory mapped region */
-char *dummy; /* dummy variable to hold temp file contents */
-int fildes = -1; /* file descriptor for temporary file */
-
-void setup(); /* Main setup function of test */
-void cleanup(void) __attribute__((noreturn)); /* cleanup function for the test */
-
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
-
- /* Parse standard options given to run the test. */
- msg = parse_opts(ac, av, (option_t *) NULL, NULL);
- if (msg != (char *) NULL) {
- tst_brkm(TBROK, NULL, "OPTION PARSING ERROR - %s", msg);
- tst_exit();
- }
-
- /* Perform global setup for test */
- setup();
-
- /* Check looping state if -i option given */
- for (lc = 0; TEST_LOOPING(lc); lc++) {
- /* Reset Tst_count in case we are looping. */
- Tst_count=0;
-
- /*
- * Call mmap to map the temporary file 'TEMPFILE'
- * with execute access.
- */
- TEST(mmap(0, page_sz, PROT_EXEC,
- MAP_FILE|MAP_SHARED, fildes, 0));
-
- /* Check for the return value of mmap() */
- if (TEST_RETURN == (int)MAP_FAILED) {
- tst_resm(TFAIL, "mmap() Failed on %s, errno=%d : %s",
- TEMPFILE, errno, strerror(errno));
- continue;
- }
- /*
- * Perform functional verification if test
- * executed without (-f) option.
- */
- if (STD_FUNCTIONAL_TEST) {
- /* Get the mmap return value */
- addr = (char *)TEST_RETURN;
-
- /*
- * Read the file contents into the dummy
- * variable.
- */
- if (read(fildes, dummy, page_sz) < 0) {
- tst_brkm(TFAIL, cleanup, "read() on %s Failed, "
- "error:%d", TEMPFILE, errno);
- }
-
- /*
- * Check whether the mapped memory region
- * has the file contents.
- */
- if (memcmp(dummy, addr, page_sz)) {
- tst_resm(TFAIL, "mapped memory region contains "
- "invalid data");
- } else {
- tst_resm(TPASS,
- "Functionality of mmap() successful");
- }
- } else {
- tst_resm(TPASS, "call succeeded");
- }
-
- /* Clean up things in case we are looping */
- /* Unmap the mapped memory */
- if (munmap(addr, page_sz) != 0) {
- tst_brkm(TFAIL, NULL, "munmap() fails to unmap the "
- "memory, errno=%d", errno);
- }
-
- } /* End for TEST_LOOPING */
-
- /* Call cleanup() to undo setup done for the test. */
- cleanup();
-
- /*NOTREACHED*/
-} /* End main */
-
-/*
- * setup() - performs all ONE TIME setup for this test.
- * Get the system page size.
- * Create a temporary directory and a file under it.
- * Write some known data into file and close it.
- * Change the mode permissions on file to 0555.
- * Re-open the file for reading.
- */
-void
-setup()
-{
- char *tst_buff; /* test buffer to hold known data */
-
- /* capture signals */
- tst_sig(NOFORK, DEF_HANDLER, cleanup);
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-
- /* Get the system page size */
- if ((page_sz = getpagesize()) < 0) {
- tst_brkm(TFAIL, NULL,
- "getpagesize() fails to get system page size");
- tst_exit();
- }
-
- /* Allocate space for the test buffer */
- if ((tst_buff = (char *)calloc(page_sz, sizeof(char))) == NULL) {
- tst_brkm(TFAIL, NULL,
- "calloc() failed to allocate space for tst_buff");
- tst_exit();
- }
-
- /* Fill the test buffer with the known data */
- memset(tst_buff, 'A', page_sz);
-
- /* make a temp directory and cd to it */
- tst_tmpdir();
-
- /* Creat a temporary file used for mapping */
- if ((fildes = open(TEMPFILE, O_WRONLY | O_CREAT, 0666)) < 0) {
- tst_brkm(TFAIL, NULL, "open() on %s Failed, errno=%d : %s",
- TEMPFILE, errno, strerror(errno));
- free(tst_buff);
- cleanup();
- }
-
- /* Write test buffer contents into temporary file */
- if (write(fildes, tst_buff, strlen(tst_buff)) < (int)strlen(tst_buff)) {
- tst_brkm(TFAIL, NULL, "write() on %s Failed, errno=%d : %s",
- TEMPFILE, errno, strerror(errno));
- free(tst_buff);
- cleanup();
- }
-
- /* Free the memory allocated for test buffer */
- free(tst_buff);
-
- /* Make sure proper permissions set on file */
- if (chmod(TEMPFILE, 0555) < 0) {
- tst_brkm(TFAIL, cleanup, "chmod() on %s Failed, errno=%d : %s",
- TEMPFILE, errno, strerror(errno));
- }
-
- /* Close the temporary file opened for write */
- if (close(fildes) < 0) {
- tst_brkm(TFAIL, cleanup, "close() on %s Failed, errno=%d : %s",
- TEMPFILE, errno, strerror(errno));
- }
-
- /* Allocate and initialize dummy string of system page size bytes */
- if ((dummy = (char *)calloc(page_sz, sizeof(char))) == NULL) {
- tst_brkm(TFAIL, cleanup,
- "calloc() failed to allocate memory for dummy");
- }
-
- /* Open the temporary file again for reading */
- if ((fildes = open(TEMPFILE, O_RDONLY)) < 0) {
- tst_brkm(TFAIL, cleanup, "open(%s) with read-only Failed, "
- "errno:%d", TEMPFILE, errno);
- }
-}
-
-/*
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- Free the memory allocated to dummy variable.
- * Remove the temporary directory created.
- */
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- */
- TEST_CLEANUP;
-
- /* Free the memory space allocated for dummy variable */
- if (dummy) {
- free(dummy);
- }
-
- if (fildes >= 0)
- close (fildes);
-
- /* Remove tmp dir and all files in it */
- tst_rmdir();
-
- /* exit with return code appropriate for results */
- tst_exit();
-}
diff --git a/winsup/testsuite/winsup.api/ltp/mmap04.c b/winsup/testsuite/winsup.api/ltp/mmap04.c
deleted file mode 100644
index 64d3a8ebe..000000000
--- a/winsup/testsuite/winsup.api/ltp/mmap04.c
+++ /dev/null
@@ -1,291 +0,0 @@
-/*
- *
- * Copyright (c) International Business Machines Corp., 2001
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-/*
- * Test Name: mmap04
- *
- * Test Description:
- * Call mmap() to map a file creating a mapped region with read/exec access
- * under the following conditions -
- * - The prot parameter is set to PROT_READ|PROT_EXEC
- * - The file descriptor is open for read
- * - The file being mapped has read and execute permission bit set.
- * - The minimum file permissions should be 0555.
- *
- * The call should succeed to map the file creating mapped memory with the
- * required attributes.
- *
- * Expected Result:
- * mmap() should succeed returning the address of the mapped region,
- * and the mapped region should contain the contents of the mapped file.
- *
- * Algorithm:
- * Setup:
- * Setup signal handling.
- * Pause for SIGUSR1 if option specified.
- * Create temporary directory.
- *
- * Test:
- * Loop if the proper options are given.
- * Execute system call
- * Check return code, if system call failed (return=-1)
- * Log the errno and Issue a FAIL message.
- * Otherwise,
- * Verify the Functionality of system call
- * if successful,
- * Issue Functionality-Pass message.
- * Otherwise,
- * Issue Functionality-Fail message.
- * Cleanup:
- * Print timing stats if options given
- * Delete the temporary directory created.
- *
- * Usage: <for command-line>
- * mmap04 [-c n] [-f] [-i n] [-I x] [-P x] [-t]
- * where, -c n : Run n copies concurrently.
- * -f : Turn off functionality Testing.
- * -i n : Execute test n times.
- * -I x : Execute test for x seconds.
- * -P x : Pause for x seconds between iterations.
- * -t : Turn on syscall timing.
- *
- * HISTORY
- * 07/2001 Ported by Wayne Boyer
- *
- * RESTRICTIONS:
- * None.
- */
-
-#include <sys/types.h>
-#include <errno.h>
-#include <fcntl.h>
-#include <string.h>
-#include <signal.h>
-#include <sys/stat.h>
-#include <sys/mman.h>
-
-#include "test.h"
-#include "usctest.h"
-
-#define TEMPFILE "mmapfile"
-
-const char *TCID="mmap04"; /* Test program identifier. */
-int TST_TOTAL=1; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-size_t page_sz; /* system page size */
-char *addr; /* addr of memory mapped region */
-char *dummy; /* dummy variable to hold temp file contents */
-int fildes = -1; /* file descriptor for temporary file */
-
-void setup(); /* Main setup function of test */
-void cleanup(void) __attribute__((noreturn)); /* cleanup function for the test */
-
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
-
- /* Parse standard options given to run the test. */
- msg = parse_opts(ac, av, (option_t *) NULL, NULL);
- if (msg != (char *) NULL) {
- tst_brkm(TBROK, NULL, "OPTION PARSING ERROR - %s", msg);
- tst_exit();
- }
-
- /* Perform global setup for test */
- setup();
-
- /* Check looping state if -i option given */
- for (lc = 0; TEST_LOOPING(lc); lc++) {
- /* Reset Tst_count in case we are looping. */
- Tst_count=0;
-
- /*
- * Call mmap to map the temporary file 'TEMPFILE'
- * with read and execute access.
- */
- TEST(mmap(0, page_sz, PROT_READ|PROT_EXEC,
- MAP_FILE|MAP_SHARED, fildes, 0));
-
- /* Check for the return value of mmap() */
- if (TEST_RETURN == (int)MAP_FAILED) {
- tst_resm(TFAIL, "mmap() Failed on %s, errno=%d : %s",
- TEMPFILE, errno, strerror(errno));
- continue;
- }
-
- /*
- * Perform functional verification if test
- * executed without (-f) option.
- */
- if (STD_FUNCTIONAL_TEST) {
- /* Get the mmap return value */
- addr = (char *)TEST_RETURN;
-
- /*
- * Read the file contents into the dummy
- * variable.
- */
- if (read(fildes, dummy, page_sz) < 0) {
- tst_brkm(TFAIL, cleanup, "read() on %s Failed, "
- "error:%d", TEMPFILE, errno);
- }
-
- /*
- * Check whether the mapped memory region
- * has the file contents.
- */
- if (memcmp(dummy, addr, page_sz)) {
- tst_resm(TFAIL, "mapped memory region contains "
- "invalid data");
- } else {
- tst_resm(TPASS,
- "Functionality of mmap() successful");
- }
- } else {
- tst_resm(TPASS, "call succeeded");
- }
- /* Clean up things in case we are looping. */
- /* Unmap the mapped memory */
- if (munmap(addr, page_sz) != 0) {
- tst_brkm(TFAIL, NULL, "munmap() fails to unmap the "
- "memory, errno=%d", errno);
- }
-
-
- } /* End for TEST_LOOPING */
-
- /* Call cleanup() to undo setup done for the test. */
- cleanup();
-
- /*NOTREACHED*/
-} /* End main */
-
-/*
- * setup() - performs all ONE TIME setup for this test.
- * Get the system page size.
- * Create a temporary directory and a file under it.
- * Write some known data into file and close it.
- * Change the mode permissions on file to 0555.
- * Re-open the file for reading.
- */
-void
-setup()
-{
- char *tst_buff; /* test buffer to hold known data */
-
- /* capture signals */
- tst_sig(NOFORK, DEF_HANDLER, cleanup);
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-
- /* Get the system page size */
- if ((page_sz = getpagesize()) < 0) {
- tst_brkm(TFAIL, NULL,
- "getpagesize() fails to get system page size");
- tst_exit();
- }
-
- if ((tst_buff = (char *)calloc(page_sz, sizeof(char))) == NULL) {
- tst_brkm(TFAIL, NULL,
- "calloc() failed to allocate space for tst_buff");
- tst_exit();
- }
-
- /* Fill the test buffer with the known data */
- memset(tst_buff, 'A', page_sz);
-
- /* make a temp directory and cd to it */
- tst_tmpdir();
-
- /* Creat a temporary file used for mapping */
- if ((fildes = open(TEMPFILE, O_WRONLY | O_CREAT, 0666)) < 0) {
- tst_brkm(TFAIL, NULL, "open() on %s Failed, errno=%d : %s",
- TEMPFILE, errno, strerror(errno));
- free(tst_buff);
- cleanup();
- }
-
- /* Write test buffer contents into temporary file */
- if (write(fildes, tst_buff, strlen(tst_buff)) < (int)strlen(tst_buff)) {
- tst_brkm(TFAIL, NULL, "write() on %s Failed, errno=%d : %s",
- TEMPFILE, errno, strerror(errno));
- free(tst_buff);
- cleanup();
- }
-
- /* Free the memory allocated for test buffer */
- free(tst_buff);
-
- /* Make sure proper permissions set on file */
- if (chmod(TEMPFILE, 0555) < 0) {
- tst_brkm(TFAIL, cleanup, "chmod() on %s Failed, errno=%d : %s",
- TEMPFILE, errno, strerror(errno));
- }
-
- /* Close the temporary file opened for write */
- if (close(fildes) < 0) {
- tst_brkm(TFAIL, cleanup, "close() on %s Failed, errno=%d : %s",
- TEMPFILE, errno, strerror(errno));
- }
-
- /* Allocate and initialize dummy string of system page size bytes */
- if ((dummy = (char *)calloc(page_sz, sizeof(char))) == NULL) {
- tst_brkm(TFAIL, cleanup,
- "calloc() failed to allocate memory for dummy");
- }
-
- /* Open the temporary file again for reading */
- if ((fildes = open(TEMPFILE, O_RDONLY)) < 0) {
- tst_brkm(TFAIL, cleanup, "open(%s) with read-only Failed, "
- "errno:%d", TEMPFILE, errno);
- }
-}
-
-/*
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- * Free the memeory allocated to dummy variable.
- * Remove the temporary directory created.
- */
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /* Free the memory space allocated for dummy variable */
- if (dummy) {
- free(dummy);
- }
-
- if (fildes >= 0)
- close (fildes);
-
- /* Remove tmp dir and all files in it */
- tst_rmdir();
-
- /* exit with return code appropriate for results */
- tst_exit();
-}
diff --git a/winsup/testsuite/winsup.api/ltp/mmap05.c b/winsup/testsuite/winsup.api/ltp/mmap05.c
deleted file mode 100644
index bcdfd0cd8..000000000
--- a/winsup/testsuite/winsup.api/ltp/mmap05.c
+++ /dev/null
@@ -1,301 +0,0 @@
-/*
- *
- * Copyright (c) International Business Machines Corp., 2001
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-/*
- * Test Name: mmap05
- *
- * Test Description:
- * Call mmap() to map a file creating mapped memory with no access under
- * the following conditions -
- * - The prot parameter is set to PROT_NONE
- * - The file descriptor is open for read(any mode other than write)
- * - The minimum file permissions should be 0444.
- *
- * The call should succeed to map the file creating mapped memory with the
- * required attributes.
- *
- * Expected Result:
- * mmap() should succeed returning the address of the mapped region,
- * and an attempt to access the contents of the mapped region should give
- * rise to the signal SIGSEGV.
- *
- * Algorithm:
- * Setup:
- * Setup signal handling.
- * Pause for SIGUSR1 if option specified.
- * Create temporary directory.
- *
- * Test:
- * Loop if the proper options are given.
- * Execute system call
- * Check return code, if system call failed (return=-1)
- * Log the errno and Issue a FAIL message.
- * Otherwise,
- * Verify the Functionality of system call
- * if successful,
- * Issue Functionality-Pass message.
- * Otherwise,
- * Issue Functionality-Fail message.
- * Cleanup:
- * Print errno log and/or timing stats if options given
- * Delete the temporary directory created.
- *
- * Usage: <for command-line>
- * mmap05 [-c n] [-f] [-i n] [-I x] [-P x] [-t]
- * where, -c n : Run n copies concurrently.
- * -f : Turn off functionality Testing.
- * -i n : Execute test n times.
- * -I x : Execute test for x seconds.
- * -P x : Pause for x seconds between iterations.
- * -t : Turn on syscall timing.
- *
- * HISTORY
- * 07/2001 Ported by Wayne Boyer
- *
- * RESTRICTIONS:
- * None.
- */
-
-#include <sys/types.h>
-#include <errno.h>
-#include <fcntl.h>
-#include <string.h>
-#include <signal.h>
-#include <sys/stat.h>
-#include <sys/mman.h>
-#include <setjmp.h>
-
-#include "test.h"
-#include "usctest.h"
-
-#define TEMPFILE "mmapfile"
-
-const char *TCID="mmap05"; /* Test program identifier. */
-int TST_TOTAL=1; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-size_t page_sz; /* system page size */
-char *addr; /* addr of memory mapped region */
-int fildes = -1; /* file descriptor for temporary file */
-int pass=0; /* pass flag perhaps set to 1 in sig_handler */
-sigjmp_buf env; /* environment for sigsetjmp/siglongjmp */
-
-void setup(); /* Main setup function of test */
-void cleanup(void) __attribute__((noreturn)); /* cleanup function for the test */
-void sig_handler(); /* signal handler to catch SIGSEGV */
-
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
- volatile char file_content; /* tempfile content */
-
- /* Parse standard options given to run the test. */
- msg = parse_opts(ac, av, (option_t *) NULL, NULL);
- if (msg != (char *) NULL) {
- tst_brkm(TBROK, NULL, "OPTION PARSING ERROR - %s", msg);
- tst_exit();
- }
-
- /* Perform global setup for test */
- setup();
-
- /* Check looping state if -i option given */
- for (lc = 0; TEST_LOOPING(lc); lc++) {
- /* Reset Tst_count in case we are looping. */
- Tst_count=0;
-
- /*
- * Call mmap to map the temporary file 'TEMPFILE'
- * with no access.
- */
-
- TEST(mmap(0, page_sz, PROT_NONE,
- MAP_FILE|MAP_SHARED, fildes, 0));
-
- /* Check for the return value of mmap() */
- if (TEST_RETURN == (int)MAP_FAILED) {
- tst_resm(TFAIL, "mmap() Failed on %s, errno=%d : %s",
- TEMPFILE, errno, strerror(errno));
- continue;
- }
-
- /*
- * Perform functional verification if test
- * executed without (-f) option.
- */
- if (STD_FUNCTIONAL_TEST) {
-
- /*
- * Try to access the mapped region. This should
- * generate a SIGSEGV which will be caught below.
- *
- * This is wrapped by the sigsetjmp() call that will
- * take care of restoring the program's context in an
- * elegant way in conjunction with the call to
- * siglongjmp() in the signal handler.
- */
- if (sigsetjmp(env, 1) == 0) {
- file_content = addr[0];
- }
-
- if (pass) {
- tst_resm(TPASS, "Got SIGSEGV as expected");
- } else {
- tst_resm(TFAIL, "Mapped memory region with NO "
- "access is accessible");
- }
- } else {
- tst_resm(TPASS, "call succeeded");
- }
-
- /* Unmap mapped memory and reset pass in case we are looping */
- if (munmap(addr, page_sz) != 0) {
- tst_brkm(TFAIL, cleanup, "munmap() fails to unmap the "
- "memory, errno=%d", errno);
- }
- pass = 0;
-
- } /* End for TEST_LOOPING */
-
- /* Call cleanup() to undo setup done for the test. */
- cleanup();
-
- /*NOTREACHED*/
-} /* End main */
-
-/*
- * setup() - performs all ONE TIME setup for this test.
- * Get the system page size.
- * Create a temporary directory and a file under it.
- * Write some known data into file and close it.
- * Change the mode permissions on file to 0444
- * Re-open the file for reading.
- */
-void
-setup()
-{
- char *tst_buff; /* test buffer to hold known data */
-
- /* capture signals */
- tst_sig(NOFORK, sig_handler, cleanup);
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-
- /* Get the system page size */
- if ((page_sz = getpagesize()) < 0) {
- tst_brkm(TFAIL, NULL,
- "getpagesize() fails to get system page size");
- tst_exit();
- }
-
- /* Allocate space for the test buffer */
- if ((tst_buff = (char *)calloc(page_sz, sizeof(char))) == NULL) {
- tst_brkm(TFAIL, NULL,
- "calloc() failed to allocate space for tst_buff");
- tst_exit();
- }
-
- /* Fill the test buffer with the known data */
- memset(tst_buff, 'A', page_sz);
-
- /* make a temp directory and cd to it */
- tst_tmpdir();
-
- /* Creat a temporary file used for mapping */
- if ((fildes = open(TEMPFILE, O_WRONLY | O_CREAT, 0666)) < 0) {
- tst_brkm(TFAIL, NULL, "open() on %s Failed, errno=%d : %s",
- TEMPFILE, errno, strerror(errno));
- free(tst_buff);
- cleanup();
- }
-
- /* Write test buffer contents into temporary file */
- if (write(fildes, tst_buff, strlen(tst_buff))
- != (int)strlen(tst_buff)) {
- tst_brkm(TFAIL, NULL, "write() on %s Failed, errno=%d : %s",
- TEMPFILE, errno, strerror(errno));
- free(tst_buff);
- cleanup();
- }
-
- /* Free the memory allocated for test buffer */
- free(tst_buff);
-
- /* Close the temporary file opened for write */
- if (close(fildes) < 0) {
- tst_brkm(TFAIL, cleanup, "close() on %s Failed, errno=%d : %s",
- TEMPFILE, errno, strerror(errno));
- }
-
- /* Make sure proper permissions set on file */
- if (chmod(TEMPFILE, 0444) < 0) {
- tst_brkm(TFAIL, cleanup, "chmod() on %s Failed, errno=%d : %s",
- TEMPFILE, errno, strerror(errno));
- }
-
- /* Open the temporary file again for reading */
- if ((fildes = open(TEMPFILE, O_RDONLY)) < 0) {
- tst_brkm(TFAIL, cleanup, "open(%s) with read-only Failed, "
- "errno:%d", TEMPFILE, errno);
- }
-}
-
-/*
- * sig_handler() - Signal Cathing function.
- * This function gets executed when the test process receives
- * the signal SIGSEGV while trying to access the contents of memory which
- * is not accessible.
- */
-void
-sig_handler(sig)
-{
- if (sig == SIGSEGV) {
- /* set the global variable and jump back */
- pass = 1;
- siglongjmp(env, 1);
- } else {
- tst_brkm(TBROK, cleanup, "received an unexpected signal");
- }
-}
-
-/*
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- * Remove the temporary directory created.
- */
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- if (fildes >= 0)
- close (fildes);
-
- /* Remove tmp dir and all files in it */
- tst_rmdir();
-
- /* exit with return code appropriate for results */
- tst_exit();
-}
diff --git a/winsup/testsuite/winsup.api/ltp/mmap06.c b/winsup/testsuite/winsup.api/ltp/mmap06.c
deleted file mode 100644
index ec113c077..000000000
--- a/winsup/testsuite/winsup.api/ltp/mmap06.c
+++ /dev/null
@@ -1,234 +0,0 @@
-/*
- *
- * Copyright (c) International Business Machines Corp., 2001
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-/*
- * Test Name: mmap06
- *
- * Test Description:
- * Call mmap() to map a file creating a mapped region with read access
- * under the following conditions -
- * - The prot parameter is set to PROT_READ
- * - The file descriptor is open for writing.
- *
- * The call should fail to map the file.
- *
- * Expected Result:
- * mmap() should fail returning -1 and errno should get set to EACCES.
- *
- * Algorithm:
- * Setup:
- * Setup signal handling.
- * Pause for SIGUSR1 if option specified.
- * Create temporary directory.
- *
- * Test:
- * Loop if the proper options are given.
- * Execute system call
- * Check return code, if system call failed (return=-1)
- * if errno set == expected errno
- * Issue sys call fails with expected return value and errno.
- * Otherwise,
- * Issue sys call fails with unexpected errno.
- * Otherwise,
- * Issue sys call returns unexpected value.
- *
- * Cleanup:
- * Print errno log and/or timing stats if options given
- * Delete the temporary directory(s)/file(s) created.
- *
- * Usage: <for command-line>
- * mmap06 [-c n] [-e] [-i n] [-I x] [-P x] [-t]
- * where, -c n : Run n copies concurrently.
- * -e : Turn on errno logging.
- * -i n : Execute test n times.
- * -I x : Execute test for x seconds.
- * -P x : Pause for x seconds between iterations.
- * -t : Turn on syscall timing.
- *
- * HISTORY
- * 07/2001 Ported by Wayne Boyer
- *
- * RESTRICTIONS:
- * None.
- */
-
-#include <sys/types.h>
-#include <errno.h>
-#include <fcntl.h>
-#include <string.h>
-#include <signal.h>
-#include <sys/stat.h>
-#include <sys/mman.h>
-
-#include "test.h"
-#include "usctest.h"
-
-#define TEMPFILE "mmapfile"
-
-const char *TCID="mmap06"; /* Test program identifier. */
-int TST_TOTAL=1; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-int exp_enos[]={EACCES, 0};
-
-size_t page_sz; /* system page size */
-char *addr; /* addr of memory mapped region */
-int fildes = -1; /* file descriptor for temporary file */
-
-void setup(); /* Main setup function of test */
-void cleanup(void) __attribute__((noreturn)); /* cleanup function for the test */
-
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
-
- /* Parse standard options given to run the test. */
- msg = parse_opts(ac, av, (option_t *) NULL, NULL);
- if (msg != (char *) NULL) {
- tst_brkm(TBROK, NULL, "OPTION PARSING ERROR - %s", msg);
- tst_exit();
- }
-
- /* Perform global setup for test */
- setup();
-
- /* set the expected errnos... */
- TEST_EXP_ENOS(exp_enos);
-
- /* Check looping state if -i option given */
- for (lc = 0; TEST_LOOPING(lc); lc++) {
- /* Reset Tst_count in case we are looping. */
- Tst_count=0;
-
- /*
- * Call mmap to map the temporary file 'TEMPFILE'
- * with read access.
- */
- TEST(mmap(0, page_sz, PROT_READ,
- MAP_FILE|MAP_SHARED, fildes, 0));
-
- /* Check for the return value of mmap() */
- if (TEST_RETURN != (int)MAP_FAILED) {
- tst_resm(TFAIL, "mmap() returned invalid value, "
- "expected: -1");
- /* Unmap the mapped memory */
- if (munmap(addr, page_sz) != 0) {
- tst_brkm(TBROK, cleanup, "munmap() failed");
- }
- continue;
- }
- TEST_ERROR_LOG(TEST_ERRNO);
- if (TEST_ERRNO == EACCES) {
- tst_resm(TPASS, "mmap() fails, 'fd' doesn't allow "
- "desired access, errno:%d", errno);
- } else {
- tst_resm(TFAIL, "mmap() fails, 'fd' doesn't allow "
- "desired access, invalid errno:%d", errno);
- }
- } /* End for TEST_LOOPING */
-
- /* Call cleanup() to undo setup done for the test. */
- cleanup();
-
- /*NOTREACHED*/
-} /* End main */
-
-/*
- * setup() - performs all ONE TIME setup for this test.
- * Get the system page size.
- * Create a temporary directory and a file under it.
- * Write some known data into file.
- */
-void
-setup()
-{
- char *tst_buff; /* test buffer to hold known data */
-
- /* capture signals */
- tst_sig(NOFORK, DEF_HANDLER, cleanup);
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-
- /* Get the system page size */
- if ((page_sz = getpagesize()) < 0) {
- tst_brkm(TFAIL, NULL,
- "getpagesize() fails to get system page size");
- tst_exit();
- }
-
- /* Allocate space for the test buffer */
- if ((tst_buff = (char *)calloc(page_sz, sizeof(char))) == NULL) {
- tst_brkm(TFAIL, NULL,
- "calloc() failed to allocate space for tst_buff");
- tst_exit();
- }
-
- /* Fill the test buffer with the known data */
- memset(tst_buff, 'A', page_sz);
-
- /* make a temp directory and cd to it */
- tst_tmpdir();
-
- /* Creat a temporary file used for mapping */
- if ((fildes = open(TEMPFILE, O_WRONLY | O_CREAT, 0666)) < 0) {
- tst_brkm(TFAIL, NULL,
- "open() on %s Failed, errno=%d : %s",
- TEMPFILE, errno, strerror(errno));
- free(tst_buff);
- cleanup();
- }
-
- /* Write test buffer contents into temporary file */
- if (write(fildes, tst_buff, strlen(tst_buff)) < (int)strlen(tst_buff)) {
- tst_brkm(TFAIL, NULL,
- "write() on %s Failed, errno=%d : %s",
- TEMPFILE, errno, strerror(errno));
- free(tst_buff);
- cleanup();
- }
-
- /* Free the memory allocated for test buffer */
- free(tst_buff);
-}
-
-/*
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- * Remove the temporary directory created.
- */
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- if (fildes >= 0)
- close (fildes);
-
- /* Remove tmp dir and all files in it */
- tst_rmdir();
-
- /* exit with return code appropriate for results */
- tst_exit();
-}
diff --git a/winsup/testsuite/winsup.api/ltp/mmap07.c b/winsup/testsuite/winsup.api/ltp/mmap07.c
deleted file mode 100644
index ab989f443..000000000
--- a/winsup/testsuite/winsup.api/ltp/mmap07.c
+++ /dev/null
@@ -1,233 +0,0 @@
-/*
- *
- * Copyright (c) International Business Machines Corp., 2001
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-/*
- * Test Name: mmap07
- *
- * Test Description:
- * Call mmap() to map a file creating a mapped region with read access
- * under the following conditions -
- * - The prot parameter is set to PROT_WRITE
- * - The file descriptor is open for writing.
- * - The flags parameter has MAP_PRIVATE set.
- *
- * The call should fail to map the file.
- *
- * Expected Result:
- * mmap() should fail returning -1 and errno should get set to EACCES.
- *
- * Algorithm:
- * Setup:
- * Setup signal handling.
- * Pause for SIGUSR1 if option specified.
- * Create temporary directory.
- *
- * Test:
- * Loop if the proper options are given.
- * Execute system call
- * Check return code, if system call failed (return=-1)
- * if errno set == expected errno
- * Issue sys call fails with expected return value and errno.
- * Otherwise,
- * Issue sys call fails with unexpected errno.
- * Otherwise,
- * Issue sys call returns unexpected value.
- *
- * Cleanup:
- * Print errno log and/or timing stats if options given
- * Delete the temporary directory(s)/file(s) created.
- *
- * Usage: <for command-line>
- * mmap07 [-c n] [-e] [-i n] [-I x] [-P x] [-t]
- * where, -c n : Run n copies concurrently.
- * -e : Turn on errno logging.
- * -i n : Execute test n times.
- * -I x : Execute test for x seconds.
- * -P x : Pause for x seconds between iterations.
- * -t : Turn on syscall timing.
- *
- * HISTORY
- * 07/2001 Ported by Wayne Boyer
- *
- * RESTRICTIONS:
- * None.
- */
-
-#include <sys/types.h>
-#include <errno.h>
-#include <fcntl.h>
-#include <string.h>
-#include <signal.h>
-#include <sys/stat.h>
-#include <sys/mman.h>
-
-#include "test.h"
-#include "usctest.h"
-
-#define TEMPFILE "mmapfile"
-
-const char *TCID="mmap07"; /* Test program identifier. */
-int TST_TOTAL=1; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-int exp_enos[]={EACCES, 0};
-
-size_t page_sz; /* system page size */
-char *addr; /* addr of memory mapped region */
-int fildes = -1; /* file descriptor for temporary file */
-
-void setup(); /* Main setup function of test */
-void cleanup(void) __attribute__((noreturn)); /* cleanup function for the test */
-
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
-
- /* Parse standard options given to run the test. */
- msg = parse_opts(ac, av, (option_t *) NULL, NULL);
- if (msg != (char *) NULL) {
- tst_brkm(TBROK, NULL, "OPTION PARSING ERROR - %s", msg);
- tst_exit();
- }
-
- /* Perform global setup for test */
- setup();
-
- /* set the expected errnos... */
- TEST_EXP_ENOS(exp_enos);
-
- /* Check looping state if -i option given */
- for (lc = 0; TEST_LOOPING(lc); lc++) {
- /* Reset Tst_count in case we are looping. */
- Tst_count=0;
-
- /*
- * Call mmap to map the temporary file 'TEMPFILE'
- * with write access.
- */
- TEST(mmap(0, page_sz, PROT_WRITE,
- MAP_FILE|MAP_PRIVATE, fildes, 0));
-
- /* Check for the return value of mmap() */
- if (TEST_RETURN != (int)MAP_FAILED) {
- tst_resm(TFAIL, "mmap() returned invalid value, "
- "expected: -1");
- /* Unmap the mapped memory */
- if (munmap(addr, page_sz) != 0) {
- tst_brkm(TBROK, cleanup, "munmap() failed");
- }
- continue;
- }
- TEST_ERROR_LOG(TEST_ERRNO);
- if (TEST_ERRNO == EACCES) {
- tst_resm(TPASS, "mmap() fails, 'fd' doesn't allow "
- "desired access, errno:%d", errno);
- } else {
- tst_resm(TFAIL, "mmap() fails, 'fd' doesn't allow "
- "desired access, invalid errno:%d", errno);
- }
-
- } /* End for TEST_LOOPING */
-
- /* Call cleanup() to undo setup done for the test. */
- cleanup();
-
- /*NOTREACHED*/
-} /* End main */
-
-/*
- * setup() - performs all ONE TIME setup for this test.
- * Get the system page size.
- * Create a temporary directory and a file under it.
- * Write some known data into file.
- */
-void
-setup()
-{
- char *tst_buff; /* test buffer to hold known data */
-
- /* capture signals */
- tst_sig(NOFORK, DEF_HANDLER, cleanup);
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-
- /* Get the system page size */
- if ((page_sz = getpagesize()) < 0) {
- tst_brkm(TFAIL, NULL,
- "getpagesize() fails to get system page size");
- tst_exit();
- }
-
- /* Allocate space for the test buffer */
- if ((tst_buff = (char *)calloc(page_sz, sizeof(char))) == NULL) {
- tst_brkm(TFAIL, NULL,
- "calloc() failed to allocate space for tst_buff");
- tst_exit();
- }
-
- /* Fill the test buffer with the known data */
- memset(tst_buff, 'A', page_sz);
-
- /* make a temp directory and cd to it */
- tst_tmpdir();
-
- /* Creat a temporary file used for mapping */
- if ((fildes = open(TEMPFILE, O_WRONLY | O_CREAT, 0666)) < 0) {
- tst_brkm(TFAIL, NULL, "open() on %s Failed, errno=%d : %s",
- TEMPFILE, errno, strerror(errno));
- free(tst_buff);
- cleanup();
- }
-
- /* Write test buffer contents into temporary file */
- if (write(fildes, tst_buff, strlen(tst_buff)) < (int)strlen(tst_buff)) {
- tst_brkm(TFAIL, NULL, "write() on %s Failed, errno=%d : %s",
- TEMPFILE, errno, strerror(errno));
- free(tst_buff);
- cleanup();
- }
-
- /* Free the memory allocated for test buffer */
- free(tst_buff);
-}
-
-/*
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- * Remove the temporary directory created.
- */
-void
-cleanup()
-{
- /*
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- if (fildes >= 0)
- close (fildes);
-
- /* Remove tmp dir and all files in it */
- tst_rmdir();
-
- /* exit with return code appropriate for results */
- tst_exit();
-}
diff --git a/winsup/testsuite/winsup.api/ltp/mmap08.c b/winsup/testsuite/winsup.api/ltp/mmap08.c
deleted file mode 100644
index 543c5397b..000000000
--- a/winsup/testsuite/winsup.api/ltp/mmap08.c
+++ /dev/null
@@ -1,234 +0,0 @@
-/*
- *
- * Copyright (c) International Business Machines Corp., 2001
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-/*
- * Test Name: mmap08
- *
- * Test Description:
- * Verify that mmap() fails to map a file creating a mapped region
- * when the file specified by file descriptor is not valid.
- *
- * Expected Result:
- * mmap() should fail returning -1 and errno should get set to EBADF.
- *
- * Algorithm:
- * Setup:
- * Setup signal handling.
- * Pause for SIGUSR1 if option specified.
- * Create temporary directory.
- *
- * Test:
- * Loop if the proper options are given.
- * Execute system call
- * Check return code, if system call failed (return=-1)
- * if errno set == expected errno
- * Issue sys call fails with expected return value and errno.
- * Otherwise,
- * Issue sys call fails with unexpected errno.
- * Otherwise,
- * Issue sys call returns unexpected value.
- *
- * Cleanup:
- * Print errno log and/or timing stats if options given
- * Delete the temporary directory(s)/file(s) created.
- *
- * Usage: <for command-line>
- * mmap08 [-c n] [-e] [-i n] [-I x] [-P x] [-t]
- * where, -c n : Run n copies concurrently.
- * -e : Turn on errno logging.
- * -i n : Execute test n times.
- * -I x : Execute test for x seconds.
- * -P x : Pause for x seconds between iterations.
- * -t : Turn on syscall timing.
- *
- * HISTORY
- * 07/2001 Ported by Wayne Boyer
- *
- * RESTRICTIONS:
- * None.
- */
-
-#include <sys/types.h>
-#include <errno.h>
-#include <fcntl.h>
-#include <string.h>
-#include <signal.h>
-#include <sys/stat.h>
-#include <sys/mman.h>
-
-#include "test.h"
-#include "usctest.h"
-
-#define TEMPFILE "mmapfile"
-
-const char *TCID="mmap08"; /* Test program identifier. */
-int TST_TOTAL=1; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-int exp_enos[]={EBADF, 0};
-
-size_t page_sz; /* system page size */
-char *addr; /* addr of memory mapped region */
-int fildes = -1; /* file descriptor for temporary file */
-
-void setup(); /* Main setup function of test */
-void cleanup(void) __attribute__((noreturn)); /* cleanup function for the test */
-
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
-
- /* Parse standard options given to run the test. */
- msg = parse_opts(ac, av, (option_t *) NULL, NULL);
- if (msg != (char *) NULL) {
- tst_brkm(TBROK, NULL, "OPTION PARSING ERROR - %s", msg);
- tst_exit();
- }
-
- /* Perform global setup for test */
- setup();
-
- /* set the expected errnos... */
- TEST_EXP_ENOS(exp_enos);
-
- /* Check looping state if -i option given */
- for (lc = 0; TEST_LOOPING(lc); lc++) {
- /* Reset Tst_count in case we are looping. */
- Tst_count=0;
-
- /*
- * Call mmap to map the temporary file 'TEMPFILE'
- * which is already closed. so, fildes is not valid.
- */
- TEST(mmap(0, page_sz, PROT_WRITE,
- MAP_FILE|MAP_SHARED, fildes, 0));
-
- /* Check for the return value of mmap() */
- if (TEST_RETURN != (int)MAP_FAILED) {
- tst_resm(TFAIL, "mmap() returned invalid value, "
- "expected: -1");
- /* Unmap the mapped memory */
- if (munmap(addr, page_sz) != 0) {
- tst_brkm(TBROK, cleanup, "munmap() failed");
- }
- continue;
- }
- TEST_ERROR_LOG(TEST_ERRNO);
- if (TEST_ERRNO == EBADF) {
- tst_resm(TPASS, "mmap() fails, 'fd' is not valid, "
- "errno:%d", errno);
- } else {
- tst_resm(TFAIL, "mmap() fails, 'fd' is not valid, "
- "invalid errno:%d", errno);
- }
- } /* End for TEST_LOOPING */
-
- /* Call cleanup() to undo setup done for the test. */
- cleanup();
-
- /*NOTREACHED*/
-} /* End main */
-
-/*
- * setup() - performs all ONE TIME setup for this test.
- * Get the system page size.
- * Create a temporary directory and a file under it.
- * Write some known data into file and close it.
- */
-void
-setup()
-{
- char *tst_buff; /* test buffer to hold known data */
-
- /* capture signals */
- tst_sig(NOFORK, DEF_HANDLER, cleanup);
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-
- /* Get the system page size */
- if ((page_sz = getpagesize()) < 0) {
- tst_brkm(TFAIL, NULL,
- "getpagesize() fails to get system page size");
- tst_exit();
- }
-
- if ((tst_buff = (char *)calloc(page_sz, sizeof(char))) == NULL) {
- tst_brkm(TFAIL, NULL,
- "calloc() failed to allocate space for tst_buff");
- tst_exit();
- }
-
- /* Fill the test buffer with the known data */
- memset(tst_buff, 'A', page_sz);
-
- /* make a temp directory and cd to it */
- tst_tmpdir();
-
- /* Creat a temporary file used for mapping */
- if ((fildes = open(TEMPFILE, O_WRONLY | O_CREAT, 0666)) < 0) {
- tst_brkm(TFAIL, NULL, "open() on %s Failed, errno=%d : %s",
- TEMPFILE, errno, strerror(errno));
- free(tst_buff);
- cleanup();
- }
-
- /* Write test buffer contents into temporary file */
- if (write(fildes, tst_buff, strlen(tst_buff))
- != (int)strlen(tst_buff)) {
- tst_brkm(TFAIL, NULL, "write() on %s Failed, errno=%d : %s",
- TEMPFILE, errno, strerror(errno));
- free(tst_buff);
- cleanup();
- }
-
- /* Free the memory allocated for test buffer */
- free(tst_buff);
-
- /* Close the temporary file opened for writing */
- if (close(fildes) < 0) {
- tst_brkm(TFAIL, cleanup, "close() on %s Failed, errno=%d : %s",
- TEMPFILE, errno, strerror(errno));
- }
-}
-
-/*
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- * Remove the temporary directory created.
- */
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- if (fildes >= 0)
- close (fildes);
-
- /* Remove tmp dir and all files in it */
- tst_rmdir();
-
- /* exit with return code appropriate for results */
- tst_exit();
-}
diff --git a/winsup/testsuite/winsup.api/ltp/munmap01.c b/winsup/testsuite/winsup.api/ltp/munmap01.c
deleted file mode 100644
index 0527201be..000000000
--- a/winsup/testsuite/winsup.api/ltp/munmap01.c
+++ /dev/null
@@ -1,281 +0,0 @@
-/*
- *
- * Copyright (c) International Business Machines Corp., 2001
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-/*
- * Test Name: munmap01
- *
- * Test Description:
- * Verify that, munmap call will succeed to unmap a mapped file or
- * anonymous shared memory region from the calling process's address space
- * and after successful completion of munmap, the unmapped region is no
- * longer accessible.
- *
- * Expected Result:
- * munmap call should succeed to unmap a mapped file or anonymous shared
- * memory region from the process's address space and it returns with a
- * value 0, further reference to the unmapped region should result in a
- * segmentation fault (SIGSEGV).
- *
- * Algorithm:
- * Setup:
- * Setup signal handling.
- * Create temporary directory.
- * Pause for SIGUSR1 if option specified.
- *
- * Test:
- * Loop if the proper options are given.
- * Execute system call
- * Check return code, if system call failed (return=-1)
- * Log the errno and Issue a FAIL message.
- * Otherwise,
- * Verify the Functionality of system call
- * if successful,
- * Issue Functionality-Pass message.
- * Otherwise,
- * Issue Functionality-Fail message.
- * Cleanup:
- * Print errno log and/or timing stats if options given
- * Delete the temporary directory created.
- *
- * Usage: <for command-line>
- * munmap01 [-c n] [-f] [-i n] [-I x] [-P x] [-t]
- * where, -c n : Run n copies concurrently.
- * -f : Turn off functionality Testing.
- * -i n : Execute test n times.
- * -I x : Execute test for x seconds.
- * -P x : Pause for x seconds between iterations.
- * -t : Turn on syscall timing.
- *
- * HISTORY
- * 07/2001 Ported by Wayne Boyer
- *
- * RESTRICTIONS:
- * None.
- */
-#include <errno.h>
-#include <fcntl.h>
-#include <sys/stat.h>
-#include <sys/mman.h>
-
-#include "test.h"
-#include "usctest.h"
-
-#define TEMPFILE "mmapfile"
-
-const char *TCID="munmap01"; /* Test program identifier. */
-int TST_TOTAL=1; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-
-char *addr; /* addr of memory mapped region */
-int fildes; /* file descriptor for tempfile */
-unsigned int map_len; /* length of the region to be mapped */
-
-void setup(); /* Main setup function of test */
-void cleanup(void); /* cleanup function for the test */
-void sig_handler(); /* signal catching function */
-
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
-
- /* Parse standard options given to run the test. */
- msg = parse_opts(ac, av, (option_t *)NULL, NULL);
- if (msg != (char *)NULL) {
- tst_brkm(TBROK, tst_exit, "OPTION PARSING ERROR - %s", msg);
- }
-
- /* Check looping state if -i option given */
- for (lc = 0; TEST_LOOPING(lc); lc++) {
- /* Reset Tst_count in case we are looping. */
- Tst_count=0;
-
- /* Perform global setup for test */
- setup();
-
- /*
- * Call munmap to unmap the mapped region of the
- * temporary file from the calling process's address space.
- */
- TEST(munmap(addr, map_len));
-
- /* Check for the return value of munmap() */
- if (TEST_RETURN == -1) {
- tst_resm(TFAIL, "munmap() fails, errno=%d : %s",
- TEST_ERRNO, strerror(TEST_ERRNO));
- continue;
- }
-
- /*
- * Perform functional verification if test
- * executed without (-f) option.
- */
- if (STD_FUNCTIONAL_TEST) {
- /*
- * Check whether further reference is possible
- * to the unmapped memory region by writing
- * to the first byte of region with
- * some arbitrary number.
- */
- *addr = 50;
-
- /* This message is printed if no SIGSEGV */
- tst_resm(TFAIL, "process succeeds to refer unmapped "
- "memory region");
- } else {
- tst_resm(TPASS, "call succeeded");
- }
-
- /* Call cleanup() to undo setup done for the test. */
- cleanup();
-
- } /* End for TEST_LOOPING */
-
- /* exit with return code appropriate for results */
- tst_exit();
-
- /*NOTREACHED*/
-} /* End main */
-
-/*
- * setup() - performs all ONE TIME setup for this test.
- *
- * Set up signal handler to catch SIGSEGV.
- * Get system page size, create a temporary file for reading/writing,
- * write one byte data into it, map the open file for the specified
- * map length.
- */
-void
-setup()
-{
- size_t page_sz; /* system page size */
-
- /* capture signals */
- tst_sig(NOFORK, DEF_HANDLER, cleanup);
-
- /* call signal function to trap the signal generated */
- if (signal(SIGSEGV, sig_handler) == SIG_ERR) {
- tst_brkm(TBROK, cleanup, "signal fails to catch signal");
- tst_exit();
- }
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-
- /* Get the system page size */
- if ((page_sz = getpagesize()) < 0) {
- tst_brkm(TBROK, cleanup,
- "getpagesize() fails to get system page size");
- tst_exit();
- }
-
- /*
- * Get the length of the open file to be mapped into process
- * address space.
- */
- map_len = 3 * page_sz;
-
- /* make a temp directory and cd to it */
- tst_tmpdir();
-
- /* Creat a temporary file used for mapping */
- if ((fildes = open(TEMPFILE, O_RDWR | O_CREAT, 0666)) < 0) {
- tst_brkm(TBROK, cleanup, "open() on %s Failed, errno=%d : %s",
- TEMPFILE, errno, strerror(errno));
- tst_exit();
- }
-
- /*
- * move the file pointer to maplength position from the beginning
- * of the file.
- */
- if (lseek(fildes, map_len, SEEK_SET) == -1) {
- tst_brkm(TBROK, cleanup, "lseek() fails on %s, errno=%d : %s",
- TEMPFILE, errno, strerror(errno));
- tst_exit();
- }
-
- /* Write one byte into temporary file */
- if (write(fildes, "a", 1) != 1) {
- tst_brkm(TBROK, cleanup, "write() on %s Failed, errno=%d : %s",
- TEMPFILE, errno, strerror(errno));
- tst_exit();
- }
-
- /*
- * map the open file 'TEMPFILE' from its beginning up to the maplength
- * into the calling process's address space at the system choosen
- * with read/write permissions to the the mapped region.
- */
- addr = mmap(0, map_len, PROT_READ | PROT_WRITE, \
- MAP_FILE | MAP_SHARED, fildes, 0);
-
- /* check for the return value of mmap system call */
- if (addr == (char *)MAP_FAILED) {
- tst_brkm(TBROK, cleanup, "mmap() Failed on %s, errno=%d : %s",
- TEMPFILE, errno, strerror(errno));
- tst_exit();
- }
-}
-
-/*
- * sig_handler() - signal catching function.
- * This function is used to trap the signal generated when tried to read or
- * write to the memory mapped region which is already detached from the
- * calling process address space.
- * this function is invoked when SIGSEGV generated and it calls test
- * cleanup function and exit the program.
- */
-void
-sig_handler()
-{
- tst_resm(TPASS, "Functionality of munmap() successful");
-
- /* Invoke test cleanup function and exit */
- cleanup();
-
- /* exit with return code appropriate for results */
- tst_exit();
-}
-
-/*
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- * Close the temporary file.
- * Remove the temporary directory.
- */
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /* Close the temporary file */
- if (close(fildes) < 0) {
- tst_brkm(TFAIL, NULL, "close() on %s Failed, errno=%d : %s",
- TEMPFILE, errno, strerror(errno));
- }
-
- /* Remove the temporary directory and all files in it */
- tst_rmdir();
-}
diff --git a/winsup/testsuite/winsup.api/ltp/munmap02.c b/winsup/testsuite/winsup.api/ltp/munmap02.c
deleted file mode 100644
index 7345e73e0..000000000
--- a/winsup/testsuite/winsup.api/ltp/munmap02.c
+++ /dev/null
@@ -1,306 +0,0 @@
-/*
- *
- * Copyright (c) International Business Machines Corp., 2001
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-/*
- * Test Name: munmap02
- *
- * Test Description:
- * Verify that, munmap call will succeed to unmap a mapped file or
- * anonymous shared memory region from the calling process's address space
- * if the region specified by the address and the length is part or all of
- * the mapped region.
- *
- * Expected Result:
- * munmap call should succeed to unmap a part or all of mapped region of a
- * file or anonymous shared memory from the process's address space and it
- * returns with a value 0,
- * further reference to the unmapped region should result in a segmentation
- * fault (SIGSEGV).
- *
- * Algorithm:
- * Setup:
- * Setup signal handling.
- * Create temporary directory.
- * Pause for SIGUSR1 if option specified.
- *
- * Test:
- * Loop if the proper options are given.
- * Execute system call
- * Check return code, if system call failed (return=-1)
- * Log the errno and Issue a FAIL message.
- * Otherwise,
- * Verify the Functionality of system call
- * if successful,
- * Issue Functionality-Pass message.
- * Otherwise,
- * Issue Functionality-Fail message.
- * Cleanup:
- * Print errno log and/or timing stats if options given
- * Delete the temporary directory created.
- *
- * Usage: <for command-line>
- * munmap01 [-c n] [-f] [-i n] [-I x] [-P x] [-t]
- * where, -c n : Run n copies concurrently.
- * -f : Turn off functionality Testing.
- * -i n : Execute test n times.
- * -I x : Execute test for x seconds.
- * -P x : Pause for x seconds between iterations.
- * -t : Turn on syscall timing.
- *
- * HISTORY
- * 07/2001 Ported by Wayne Boyer
- *
- * RESTRICTIONS:
- * None.
- */
-#include <errno.h>
-#include <fcntl.h>
-#include <sys/stat.h>
-#include <sys/mman.h>
-
-#include "test.h"
-#include "usctest.h"
-
-#define TEMPFILE "mmapfile"
-
-const char *TCID="munmap02"; /* Test program identifier. */
-int TST_TOTAL=1; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-
-size_t page_sz; /* system page size */
-char *addr; /* addr of memory mapped region */
-int fildes; /* file descriptor for tempfile */
-unsigned int map_len; /* length of the region to be mapped */
-
-void setup(); /* Main setup function of test */
-void cleanup(void); /* cleanup function for the test */
-void sig_handler(); /* signal catching function */
-
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
-
- /* Parse standard options given to run the test. */
- msg = parse_opts(ac, av, (option_t *)NULL, NULL);
- if (msg != (char *)NULL) {
- tst_brkm(TBROK, tst_exit, "OPTION PARSING ERROR - %s", msg);
- }
-
- /* Check looping state if -i option given */
- for (lc = 0; TEST_LOOPING(lc); lc++) {
-
- /* Reset Tst_count in case we are looping. */
- Tst_count=0;
-
- /* Perform global setup for test */
- setup();
-
- /*
- * Call munmap to unmap the part of the mapped region of the
- * temporary file from the address and length that is part of
- * the mapped region.
- */
- TEST(munmap(addr, map_len));
-
- /* Check for the return value of munmap() */
- if (TEST_RETURN == -1) {
- tst_resm(TFAIL, "munmap() fails, errno=%d : %s",
- TEST_ERRNO, strerror(TEST_ERRNO));
- continue;
- }
- /*
- * Perform functional verification if test
- * executed without (-f) option.
- */
- if (STD_FUNCTIONAL_TEST) {
- /*
- * Check whether further reference is possible
- * to the unmapped memory region by writing
- * to the first byte of region with
- * some arbitrary number.
- */
- *addr = 50;
-
- /* This message is printed if no SIGSEGV */
- tst_resm(TFAIL, "process succeeds to refer unmapped "
- "memory region");
- } else {
- tst_resm(TPASS, "call succeeded");
- }
-
- /* Call cleanup() to undo setup done for the test. */
- cleanup();
-
- } /* End for TEST_LOOPING */
-
- /* exit with return code appropriate for results */
- tst_exit();
-
- /*NOTREACHED*/
-} /* End main */
-
-/*
- * setup() - performs all ONE TIME setup for this test.
- * Setup signal handler to catch SIGSEGV.
- * Get system page size, create a temporary file for reading/writing,
- * write one byte data into it, map the open file for the specified
- * map length.
- */
-void
-setup()
-{
-
- /* capture signals */
- tst_sig(NOFORK, DEF_HANDLER, cleanup);
-
- /* call signal function to trap the signal generated */
- if (signal(SIGSEGV, sig_handler) == SIG_ERR) {
- tst_brkm(TBROK, cleanup, "signal fails to catch signal");
- tst_exit();
- }
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-
- /* Get the system page size */
- if ((page_sz = getpagesize()) < 0) {
- tst_brkm(TBROK, cleanup,
- "getpagesize() fails to get system page size");
- tst_exit();
- }
-
- /*
- * Get the length of the open file to be mapped into process
- * address space.
- */
- map_len = 3 * page_sz;
-
- /* make a temp directory and cd to it */
- tst_tmpdir();
-
- /* Creat a temporary file used for mapping */
- if ((fildes = open(TEMPFILE, O_RDWR | O_CREAT, 0666)) < 0) {
- tst_brkm(TBROK, cleanup, "open() on %s Failed, errno=%d : %s",
- TEMPFILE, errno, strerror(errno));
- tst_exit();
- }
-
- /*
- * move the file pointer to maplength position from the beginning
- * of the file.
- */
- if (lseek(fildes, map_len, SEEK_SET) == -1) {
- tst_brkm(TBROK, cleanup, "lseek() fails on %s, errno=%d : %s",
- TEMPFILE, errno, strerror(errno));
- tst_exit();
- }
-
- /* Write one byte into temporary file */
- if (write(fildes, "a", 1) != 1) {
- tst_brkm(TBROK, cleanup, "write() on %s Failed, errno=%d : %s",
- TEMPFILE, errno, strerror(errno));
- tst_exit();
- }
-
- /*
- * map the open file 'TEMPFILE' from its beginning up to the maplength
- * into the calling process's address space at the system choosen
- * with read/write permissions to the the mapped region.
- */
- addr = mmap(0, map_len, PROT_READ | PROT_WRITE,
- MAP_FILE | MAP_SHARED, fildes, 0);
-
- /* check for the return value of mmap system call */
- if (addr == (char *)MAP_FAILED) {
- tst_brkm(TBROK, cleanup, "mmap() Failed on %s, errno=%d : %s",
- TEMPFILE, errno, strerror(errno));
- tst_exit();
- }
-
- /*
- * increment the start address of the region at which the file is
- * mapped to a maplength of 3 times the system page size by the value
- * of system page size and decrement the maplength value by the value
- * of system page size.
- */
- addr = (char *)((long)addr + page_sz);
- map_len = map_len - page_sz;
-}
-
-/*
- * void
- * sig_handler() - signal catching function.
- * This function is used to trap the signal generated when tried to read or
- * write to the memory mapped region which is already detached from the
- * calling process address space.
- * this function is invoked when SIGSEGV generated and it calls test
- * cleanup function and exit the program.
- */
-void
-sig_handler()
-{
- tst_resm(TPASS, "Functionality of munmap() successful");
-
- /* Invoke test cleanup function and exit */
- cleanup();
-
- /* exit with return code appropriate for results */
- tst_exit();
-}
-
-/*
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- * Unmap the portion of the region of the file left unmapped.
- * Close the temporary file.
- * Remove the temporary directory.
- */
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /*
- * get the start address and length of the portion of
- * the mapped region of the file.
- */
- addr = (char *)((long)addr - page_sz);
- map_len = map_len - page_sz;
-
- /* unmap the portion of the region of the file left unmapped */
- if (munmap(addr, map_len) < 0) {
- tst_brkm(TBROK, NULL,
- "munmap() fails to unmap portion of mapped region");
- }
-
- /* Close the temporary file */
- if (close(fildes) < 0) {
- tst_brkm(TBROK, NULL, "close() on %s Failed, errno=%d : %s",
- TEMPFILE, errno, strerror(errno));
- }
-
- /* Remove the temporary directory and all files in it */
- tst_rmdir();
-}
diff --git a/winsup/testsuite/winsup.api/ltp/nice05.c b/winsup/testsuite/winsup.api/ltp/nice05.c
deleted file mode 100644
index 1246e7fbd..000000000
--- a/winsup/testsuite/winsup.api/ltp/nice05.c
+++ /dev/null
@@ -1,219 +0,0 @@
-/*
- * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it would be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Further, this software is distributed without any warranty that it is
- * free of the rightful claim of any third person regarding infringement
- * or the like. Any license provided herein, whether implied or
- * otherwise, applies only to this software file. Patent licenses, if
- * any, provided herein do not apply to combinations of this program with
- * other software, or any other product whatsoever.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write the Free Software Foundation, Inc., 59
- * Temple Place - Suite 330, Boston MA 02111-1307, USA.
- *
- * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
- * Mountain View, CA 94043, or:
- *
- * http://www.sgi.com
- *
- * For further information regarding this notice, see:
- *
- * http://oss.sgi.com/projects/GenInfo/NoticeExplan/
- *
- */
-/* $Id$ */
-/**********************************************************
- *
- * OS Test - Silicon Graphics, Inc.
- *
- * TEST IDENTIFIER : nice05
- *
- * EXECUTED BY : anyone
- *
- * TEST TITLE : Basic test for nice(2)
- *
- * PARENT DOCUMENT : usctpl01
- *
- * TEST CASE TOTAL : 1
- *
- * WALL CLOCK TIME : 1
- *
- * CPU TYPES : ALL
- *
- * AUTHOR : William Roske
- *
- * CO-PILOT : Dave Fenner
- *
- * DATE STARTED : 03/30/92
- *
- * INITIAL RELEASE : UNICOS 7.0
- *
- * TEST CASES
- *
- * 1.) nice(2) returns...(See Description)
- *
- * INPUT SPECIFICATIONS
- * The standard options for system call tests are accepted.
- * (See the parse_opts(3) man page).
- *
- * OUTPUT SPECIFICATIONS
- *
- * DURATION
- * Terminates - with frequency and infinite modes.
- *
- * SIGNALS
- * Uses SIGUSR1 to pause before test if option set.
- * (See the parse_opts(3) man page).
- *
- * RESOURCES
- * None
- *
- * ENVIRONMENTAL NEEDS
- * No run-time environmental needs.
- *
- * SPECIAL PROCEDURAL REQUIREMENTS
- * None
- *
- * INTERCASE DEPENDENCIES
- * None
- *
- * DETAILED DESCRIPTION
- * This is a Phase I test for the nice(2) system call. It is intended
- * to provide a limited exposure of the system call, for now. It
- * should/will be extended when full functional tests are written for
- * nice(2).
- *
- * Setup:
- * Setup signal handling.
- * Pause for SIGUSR1 if option specified.
- *
- * Test:
- * Loop if the proper options are given.
- * Execute system call
- * Check return code, if system call failed (return=-1)
- * Log the errno and Issue a FAIL message.
- * Otherwise, Issue a PASS message.
- *
- * Cleanup:
- * Print errno log and/or timing stats if options given
- *
- *
- *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#**/
-
-#include <sys/types.h>
-#include <errno.h>
-#include <string.h>
-#include <signal.h>
-#include "test.h"
-#include "usctest.h"
-
-void setup();
-void cleanup(void) __attribute__((noreturn));
-
-
-
-const char *TCID="nice05"; /* Test program identifier. */
-int TST_TOTAL=1; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-
-int val;
-
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
-
- /***************************************************************
- * parse standard options
- ***************************************************************/
- if ( (msg=parse_opts(ac, av, (option_t *) NULL, NULL)) != (char *) NULL ) {
- tst_brkm(TBROK, NULL, "OPTION PARSING ERROR - %s", msg);
- tst_exit();
- }
-
- /***************************************************************
- * perform global setup for test
- ***************************************************************/
- setup();
-
- /***************************************************************
- * check looping state if -c option given
- ***************************************************************/
- for (lc=0; TEST_LOOPING(lc); lc++) {
-
- /* reset Tst_count in case we are looping. */
- Tst_count=0;
-
- val = lc % 39;
- /*
- * Call nice(2)
- */
- TEST(nice(val));
-
- /* check return code */
- if ( TEST_RETURN == -1 ) {
- TEST_ERROR_LOG(TEST_ERRNO);
- tst_resm(TFAIL, "nice(%d) Failed, errno=%d : %s", val,
- TEST_ERRNO, strerror(TEST_ERRNO));
- } else {
-
- /***************************************************************
- * only perform functional verification if flag set (-f not given)
- ***************************************************************/
- if ( STD_FUNCTIONAL_TEST ) {
- /* No Verification test, yet... */
- tst_resm(TPASS, "nice(%d) returned %d", val, TEST_RETURN);
- }
- }
- } /* End for TEST_LOOPING */
-
- /***************************************************************
- * cleanup and exit
- ***************************************************************/
- cleanup();
-
- return 0;
-} /* End main */
-
-/***************************************************************
- * setup() - performs all ONE TIME setup for this test.
- ***************************************************************/
-void
-setup()
-{
-
- /* capture signals */
- tst_sig(NOFORK, DEF_HANDLER, cleanup);
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-
-} /* End setup() */
-
-
-/***************************************************************
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- ***************************************************************/
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /* exit with return code appropriate for results */
- tst_exit();
-} /* End cleanup() */
diff --git a/winsup/testsuite/winsup.api/ltp/open02.c b/winsup/testsuite/winsup.api/ltp/open02.c
deleted file mode 100644
index 594ab5b1c..000000000
--- a/winsup/testsuite/winsup.api/ltp/open02.c
+++ /dev/null
@@ -1,146 +0,0 @@
-/*
- *
- * Copyright (c) International Business Machines Corp., 2001
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-/*
- * NAME
- * open02.c
- *
- * DESCRIPTION
- * Test if open without O_CREAT returns -1 if a file does not exist.
- *
- * ALGORITHM
- * 1. open a new file without O_CREAT, test for return value of -1
- *
- * USAGE: <for command-line>
- * open02 [-c n] [-e] [-i n] [-I x] [-P x] [-t]
- * where, -c n : Run n copies concurrently.
- * -e : Turn on errno logging.
- * -i n : Execute test n times.
- * -I x : Execute test for x seconds.
- * -P x : Pause for x seconds between iterations.
- * -t : Turn on syscall timing.
- *
- * HISTORY
- * 07/2001 Ported by Wayne Boyer
- *
- * RESTRICTIONS
- * None
- */
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <errno.h>
-#include <sys/fcntl.h>
-#include <test.h>
-#include <usctest.h>
-
-const char *TCID = "open02";
-int TST_TOTAL = 1;
-extern int Tst_count;
-
-char pfilname[40] = "";
-
-int exp_enos[] = {ENOENT, 0};
-
-void cleanup(void) __attribute__((noreturn));
-void setup(void);
-
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
-
- /*
- * parse standard command line options
- */
- if ((msg = parse_opts(ac, av, (option_t *)NULL, NULL)) != (char *)NULL){
- tst_brkm(TBROK, cleanup, "OPTION PARSING ERROR - %s", msg);
- /*NOTREACHED*/
- }
-
- setup(); /* global setup for test */
-
- TEST_EXP_ENOS(exp_enos);
-
- /*
- * check looping state if -i option given on the command line
- */
- for (lc = 0; TEST_LOOPING(lc); lc++) {
- Tst_count = 0; /* reset Tst_count while looping. */
-
- TEST(open(pfilname, O_RDWR, 0444));
-
- if (TEST_RETURN != -1) {
- tst_resm(TFAIL, "opened non-existent file");
- continue;
- }
-
- TEST_ERROR_LOG(TEST_ERRNO);
-
- if (TEST_ERRNO != ENOENT) {
- tst_resm(TFAIL, "open(2) set invalid errno: "
- "expected ENOENT, got %d", TEST_ERRNO);
- } else {
- tst_resm(TPASS, "open returned ENOENT");
- }
- }
- cleanup();
-
- /*NOTREACHED*/
-}
-
-/*
- * setup() - performs all ONE TIME setup for this test
- */
-void
-setup(void)
-{
- umask(0);
-
- /* capture signals */
- tst_sig(NOFORK, DEF_HANDLER, cleanup);
-
- /* Pause if that options was specified */
- TEST_PAUSE;
-
- /* make a temp directory and cd to it */
- tst_tmpdir();
-
- sprintf(pfilname, "./open3.%d", getpid());
-}
-
-/*
- * cleanup() - performs all ONE TIME cleanup for this test at completion or
- * premature exit.
- */
-void
-cleanup(void)
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /* Remove tmp dir and all files in it */
- tst_rmdir();
-
- /* exit with return code appropriate for results */
- tst_exit();
-}
diff --git a/winsup/testsuite/winsup.api/ltp/open03.c b/winsup/testsuite/winsup.api/ltp/open03.c
deleted file mode 100644
index 6a699bad1..000000000
--- a/winsup/testsuite/winsup.api/ltp/open03.c
+++ /dev/null
@@ -1,243 +0,0 @@
-/*
- * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it would be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Further, this software is distributed without any warranty that it is
- * free of the rightful claim of any third person regarding infringement
- * or the like. Any license provided herein, whether implied or
- * otherwise, applies only to this software file. Patent licenses, if
- * any, provided herein do not apply to combinations of this program with
- * other software, or any other product whatsoever.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write the Free Software Foundation, Inc., 59
- * Temple Place - Suite 330, Boston MA 02111-1307, USA.
- *
- * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
- * Mountain View, CA 94043, or:
- *
- * http://www.sgi.com
- *
- * For further information regarding this notice, see:
- *
- * http://oss.sgi.com/projects/GenInfo/NoticeExplan/
- *
- */
-/* $Id$ */
-/**********************************************************
- *
- * OS Test - Silicon Graphics, Inc.
- *
- * TEST IDENTIFIER : open03
- *
- * EXECUTED BY : anyone
- *
- * TEST TITLE : Basic test for open(2)
- *
- * PARENT DOCUMENT : xxxtds01
- *
- * TEST CASE TOTAL : 1
- *
- * WALL CLOCK TIME : 1
- *
- * CPU TYPES : ALL
- *
- * AUTHOR : William Roske
- *
- * CO-PILOT : Dave Fenner
- *
- * DATE STARTED : 03/30/92
- *
- * INITIAL RELEASE : UNICOS 7.0
- *
- * TEST CASES
- *
- * 1.) open(2) returns...(See Description)
- *
- * INPUT SPECIFICATIONS
- * The standard options for system call tests are accepted.
- * (See the parse_opts(3) man page).
- *
- * OUTPUT SPECIFICATIONS
- *
- * DURATION
- * Terminates - with frequency and infinite modes.
- *
- * SIGNALS
- * Uses SIGUSR1 to pause before test if option set.
- * (See the parse_opts(3) man page).
- *
- * RESOURCES
- * None
- *
- * ENVIRONMENTAL NEEDS
- * No run-time environmental needs.
- *
- * SPECIAL PROCEDURAL REQUIREMENTS
- * None
- *
- * INTERCASE DEPENDENCIES
- * None
- *
- * DETAILED DESCRIPTION
- * This is a Phase I test for the open(2) system call. It is intended
- * to provide a limited exposure of the system call, for now. It
- * should/will be extended when full functional tests are written for
- * open(2).
- *
- * Setup:
- * Setup signal handling.
- * Pause for SIGUSR1 if option specified.
- *
- * Test:
- * Loop if the proper options are given.
- * Execute system call
- * Check return code, if system call failed (return=-1)
- * Log the errno and Issue a FAIL message.
- * Otherwise, Issue a PASS message.
- *
- * Cleanup:
- * Print errno log and/or timing stats if options given
- *
- *
- *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#**/
-
-#include <sys/types.h>
-#include <sys/fcntl.h>
-#include <errno.h>
-#include <string.h>
-#include <signal.h>
-#include "test.h"
-#include "usctest.h"
-
-extern void setup();
-extern void cleanup();
-
-
-
-const char *TCID="open03"; /* Test program identifier. */
-int TST_TOTAL=1; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-
-int exp_enos[]={0, 0};
-
-char fname[255];
-int fd;
-
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
-
- /***************************************************************
- * parse standard options
- ***************************************************************/
- if ( (msg=parse_opts(ac, av, (option_t *) NULL, NULL)) != (char *) NULL )
- tst_brkm(TBROK, cleanup, "OPTION PARSING ERROR - %s", msg);
-
- /***************************************************************
- * perform global setup for test
- ***************************************************************/
- setup();
-
- /* set the expected errnos... */
- TEST_EXP_ENOS(exp_enos);
-
- /***************************************************************
- * check looping state if -c option given
- ***************************************************************/
- for (lc=0; TEST_LOOPING(lc); lc++) {
-
- /* reset Tst_count in case we are looping. */
- Tst_count=0;
-
- /*
- * Call open(2)
- */
- TEST(open(fname,O_RDWR|O_CREAT,0700));
-
- fd=TEST_RETURN;
-
- /* check return code */
- if ( TEST_RETURN == -1 ) {
- TEST_ERROR_LOG(TEST_ERRNO);
- tst_resm(TFAIL, "open(%s,O_RDWR|O_CREAT,0700) Failed, errno=%d : %s", fname,
- TEST_ERRNO, strerror(TEST_ERRNO));
- } else {
- /***************************************************************
- * only perform functional verification if flag set (-f not given)
- ***************************************************************/
- if ( STD_FUNCTIONAL_TEST ) {
- /* No Verification test, yet... */
- tst_resm(TPASS, "open(%s, O_RDWR|O_CREAT,0700) returned %d",
- fname, TEST_RETURN);
- }
-
- if (close(fd) == -1) {
- tst_brkm(TBROK, cleanup,
- "close(%s) Failed, errno=%d : %s",
- fname, errno, strerror(errno));
- } else if (unlink(fname) == -1) {
- tst_brkm(TBROK, cleanup,
- "unlink(%s) Failed, errno=%d : %s",
- fname, errno, strerror(errno));
- }
- }
- } /* End for TEST_LOOPING */
-
- /***************************************************************
- * cleanup and exit
- ***************************************************************/
- cleanup();
-
- return 0;
-} /* End main */
-
-/***************************************************************
- * setup() - performs all ONE TIME setup for this test.
- ***************************************************************/
-void
-setup()
-{
- /* capture signals */
- tst_sig(NOFORK, DEF_HANDLER, cleanup);
-
- /* make a temp directory and cd to it */
- tst_tmpdir();
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-
- sprintf(fname,"tfile_%d",getpid());
-} /* End setup() */
-
-
-/***************************************************************
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- ***************************************************************/
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /* Remove tmp dir and all files in it */
- tst_rmdir();
-
- /* exit with return code appropriate for results */
- tst_exit();
-} /* End cleanup() */
-
-
diff --git a/winsup/testsuite/winsup.api/ltp/pathconf01.c b/winsup/testsuite/winsup.api/ltp/pathconf01.c
deleted file mode 100644
index 466875f21..000000000
--- a/winsup/testsuite/winsup.api/ltp/pathconf01.c
+++ /dev/null
@@ -1,245 +0,0 @@
-/*
- * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it would be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Further, this software is distributed without any warranty that it is
- * free of the rightful claim of any third person regarding infringement
- * or the like. Any license provided herein, whether implied or
- * otherwise, applies only to this software file. Patent licenses, if
- * any, provided herein do not apply to combinations of this program with
- * other software, or any other product whatsoever.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write the Free Software Foundation, Inc., 59
- * Temple Place - Suite 330, Boston MA 02111-1307, USA.
- *
- * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
- * Mountain View, CA 94043, or:
- *
- * http://www.sgi.com
- *
- * For further information regarding this notice, see:
- *
- * http://oss.sgi.com/projects/GenInfo/NoticeExplan/
- *
- */
-/* $Id$ */
-/**********************************************************
- *
- * OS Test - Silicon Graphics, Inc.
- *
- * TEST IDENTIFIER : pathconf01
- *
- * EXECUTED BY : anyone
- *
- * TEST TITLE : Basic test for pathconf(2)
- *
- * PARENT DOCUMENT : usctpl01
- *
- * TEST CASE TOTAL : 6
- *
- * WALL CLOCK TIME : 1
- *
- * CPU TYPES : ALL
- *
- * AUTHOR : William Roske
- *
- * CO-PILOT : Dave Fenner
- *
- * DATE STARTED : 03/30/92
- *
- * INITIAL RELEASE : UNICOS 7.0
- *
- * TEST CASES
- *
- * 1.) pathconf(2) returns...(See Description)
- *
- * INPUT SPECIFICATIONS
- * The standard options for system call tests are accepted.
- * (See the parse_opts(3) man page).
- *
- * OUTPUT SPECIFICATIONS
- *
- * DURATION
- * Terminates - with frequency and infinite modes.
- *
- * SIGNALS
- * Uses SIGUSR1 to pause before test if option set.
- * (See the parse_opts(3) man page).
- *
- * RESOURCES
- * None
- *
- * ENVIRONMENTAL NEEDS
- * No run-time environmental needs.
- *
- * SPECIAL PROCEDURAL REQUIREMENTS
- * None
- *
- * INTERCASE DEPENDENCIES
- * None
- *
- * DETAILED DESCRIPTION
- * This is a Phase I test for the pathconf(2) system call. It is intended
- * to provide a limited exposure of the system call, for now. It
- * should/will be extended when full functional tests are written for
- * pathconf(2).
- *
- * Setup:
- * Setup signal handling.
- * Pause for SIGUSR1 if option specified.
- *
- * Test:
- * Loop if the proper options are given.
- * Execute system call
- * Check return code, if system call failed (return=-1)
- * Log the errno and Issue a FAIL message.
- * Otherwise, Issue a PASS message.
- *
- * Cleanup:
- * Print errno log and/or timing stats if options given
- *
- *
- *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#**/
-
-#include <errno.h>
-#include <string.h>
-#include <signal.h>
-#include "test.h"
-#include "usctest.h"
-
-extern void setup();
-extern void cleanup();
-
-
-
-const char *TCID="pathconf01"; /* Test program identifier. */
-int TST_TOTAL; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-
-int exp_enos[]={0, 0};
-
-int i;
-const char *path = "/tmp";
-
-struct pathconf_args
-{
- const char *define_tag;
- int value;
-} args[] = {
- {"_PC_LINK_MAX", _PC_LINK_MAX},
- {"_PC_NAME_MAX", _PC_NAME_MAX},
- {"_PC_PATH_MAX", _PC_PATH_MAX},
- {"_PC_PIPE_BUF", _PC_PIPE_BUF},
- {"_PC_CHOWN_RESTRICTED", _PC_CHOWN_RESTRICTED},
- {"_PC_NO_TRUNC", _PC_NO_TRUNC},
- {NULL, 0}
-};
-
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
-
- TST_TOTAL=(sizeof(args)/sizeof(args[0]))-1;
-
- /***************************************************************
- * parse standard options
- ***************************************************************/
- if ( (msg=parse_opts(ac, av, (option_t *) NULL, NULL)) != (char *) NULL )
- tst_brkm(TBROK, cleanup, "OPTION PARSING ERROR - %s", msg);
-
- /***************************************************************
- * perform global setup for test
- ***************************************************************/
- setup();
-
- /* set the expected errnos... */
- TEST_EXP_ENOS(exp_enos);
-
- /***************************************************************
- * check looping state if -c option given
- ***************************************************************/
- for (lc=0; TEST_LOOPING(lc); lc++) {
-
- /* reset Tst_count in case we are looping. */
- Tst_count=0;
-
- for (i=0; i<TST_TOTAL; i++) {
-
- errno=-4;
-
- /*
- * Call pathconf(2)
- */
- TEST(pathconf(path, args[i].value));
-
- /*
- * A test case can only fail if -1 is returned and the errno
- * was set. If the errno remains unchanged, the
- * system call did not fail.
- */
- if ( TEST_RETURN == -1 && errno != -4 ) {
- tst_resm(TFAIL, "pathconf(%s, %s) Failed, errno=%d : %s",
- path, args[i].define_tag,
- TEST_ERRNO, strerror(TEST_ERRNO));
- } else {
-
- /***************************************************************
- * only perform functional verification if flag set (-f not given)
- ***************************************************************/
- if ( STD_FUNCTIONAL_TEST ) {
- /* No Verification test, yet... */
- tst_resm(TPASS, "pathconf(%s, %s) returned %d",
- path, args[i].define_tag, TEST_RETURN);
- }
- }
- }
- } /* End for TEST_LOOPING */
-
- /***************************************************************
- * cleanup and exit
- ***************************************************************/
- cleanup();
-
- return 0;
-} /* End main */
-
-/***************************************************************
- * setup() - performs all ONE TIME setup for this test.
- ***************************************************************/
-void
-setup()
-{
- /* capture signals */
- tst_sig(NOFORK, DEF_HANDLER, cleanup);
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-} /* End setup() */
-
-
-/***************************************************************
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- ***************************************************************/
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /* exit with return code appropriate for results */
- tst_exit();
-} /* End cleanup() */
diff --git a/winsup/testsuite/winsup.api/ltp/pause01.c b/winsup/testsuite/winsup.api/ltp/pause01.c
deleted file mode 100644
index 1c3b94607..000000000
--- a/winsup/testsuite/winsup.api/ltp/pause01.c
+++ /dev/null
@@ -1,229 +0,0 @@
-/*
- * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it would be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Further, this software is distributed without any warranty that it is
- * free of the rightful claim of any third person regarding infringement
- * or the like. Any license provided herein, whether implied or
- * otherwise, applies only to this software file. Patent licenses, if
- * any, provided herein do not apply to combinations of this program with
- * other software, or any other product whatsoever.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write the Free Software Foundation, Inc., 59
- * Temple Place - Suite 330, Boston MA 02111-1307, USA.
- *
- * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
- * Mountain View, CA 94043, or:
- *
- * http://www.sgi.com
- *
- * For further information regarding this notice, see:
- *
- * http://oss.sgi.com/projects/GenInfo/NoticeExplan/
- *
- */
-/* $Id$ */
-/**********************************************************
- *
- * OS Test - Silicon Graphics, Inc.
- *
- * TEST IDENTIFIER : pause01
- *
- * EXECUTED BY : anyone
- *
- * TEST TITLE : Basic test for pause(2)
- *
- * PARENT DOCUMENT : xxxtds01
- *
- * TEST CASE TOTAL : 1
- *
- * WALL CLOCK TIME : 2
- *
- * CPU TYPES : ALL
- *
- * AUTHOR : William Roske
- *
- * CO-PILOT : Dave Fenner
- *
- * DATE STARTED : 03/30/92
- *
- * INITIAL RELEASE : UNICOS 7.0
- *
- * TEST CASES
- *
- * 1.) pause(2) returns...(See Description)
- *
- * INPUT SPECIFICATIONS
- * The standard options for system call tests are accepted.
- * (See the parse_opts(3) man page).
- *
- * OUTPUT SPECIFICATIONS
- *
- * DURATION
- * Terminates - with frequency and infinite modes.
- *
- * SIGNALS
- * Uses SIGUSR1 to pause before test if option set.
- * (See the parse_opts(3) man page).
- *
- * RESOURCES
- * None
- *
- * ENVIRONMENTAL NEEDS
- * No run-time environmental needs.
- *
- * SPECIAL PROCEDURAL REQUIREMENTS
- * None
- *
- * INTERCASE DEPENDENCIES
- * None
- *
- * DETAILED DESCRIPTION
- * This is a Phase I test for the pause(2) system call. It is intended
- * to provide a limited exposure of the system call, for now. It
- * should/will be extended when full functional tests are written for
- * pause(2).
- *
- * Setup:
- * Setup signal handling.
- * Pause for SIGUSR1 if option specified.
- *
- * Test:
- * Loop if the proper options are given.
- * Execute system call
- * Check return code, if system call failed (return=-1)
- * Log the errno and Issue a FAIL message.
- * Otherwise, Issue a PASS message.
- *
- * Cleanup:
- * Print errno log and/or timing stats if options given
- *
- *
- *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#**/
-
-#include <errno.h>
-#include <signal.h>
-#include "test.h"
-#include "usctest.h"
-
-extern void setup();
-extern void cleanup();
-
-
-
-const char *TCID="pause01"; /* Test program identifier. */
-int TST_TOTAL=1; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-
-int exp_enos[]={EINTR, 0};
-void go();
-
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
-
- /***************************************************************
- * parse standard options
- ***************************************************************/
- if ( (msg=parse_opts(ac, av, (option_t *) NULL, NULL)) != (char *) NULL )
- tst_brkm(TBROK, cleanup, "OPTION PARSING ERROR - %s", msg);
-
- /***************************************************************
- * perform global setup for test
- ***************************************************************/
- setup();
-
- /* set the expected errnos... */
- TEST_EXP_ENOS(exp_enos);
-
- /***************************************************************
- * check looping state if -c option given
- ***************************************************************/
- for (lc=0; TEST_LOOPING(lc); lc++) {
-
- /* reset Tst_count in case we are looping. */
- Tst_count=0;
-
- (void) signal(SIGALRM, go);
- alarm(1);
- /*
- * Call pause(2)
- */
- TEST(pause());
-
- /* check return code. Pause returns -1 and EINTR errno */
- if (TEST_RETURN != -1) {
- tst_resm(TFAIL,
- "pause() returned WITHOUT an error return code : %d",
- TEST_ERRNO);
- } else {
- /* log the errno */
- TEST_ERROR_LOG(TEST_ERRNO);
- /***************************************************************
- * only perform functional verification if flag set (-f not given)
- ***************************************************************/
- if ( STD_FUNCTIONAL_TEST ) {
- /* check the errno */
- if (TEST_ERRNO == EINTR)
- tst_resm(TPASS, "pause() returned %d", TEST_RETURN);
- else
- tst_resm(TFAIL, "pause() returned %d. Expected %d (EINTR)",
- TEST_RETURN, EINTR);
- }
- }
- } /* End for TEST_LOOPING */
-
- /***************************************************************
- * cleanup and exit
- ***************************************************************/
- cleanup();
-
- return 0;
-} /* End main */
-
-/***************************************************************
- * setup() - performs all ONE TIME setup for this test.
- ***************************************************************/
-void
-setup()
-{
- /* capture signals */
- tst_sig(NOFORK, DEF_HANDLER, cleanup);
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-} /* End setup() */
-
-
-/***************************************************************
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- ***************************************************************/
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /* exit with return code appropriate for results */
- tst_exit();
-} /* End cleanup() */
-
-/* routine to catch the alarm signal */
-void
-go()
-{
-}
diff --git a/winsup/testsuite/winsup.api/ltp/pipe01.c b/winsup/testsuite/winsup.api/ltp/pipe01.c
deleted file mode 100644
index cc01cc988..000000000
--- a/winsup/testsuite/winsup.api/ltp/pipe01.c
+++ /dev/null
@@ -1,156 +0,0 @@
-/*
- *
- * Copyright (c) International Business Machines Corp., 2001
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-/*
- * NAME
- * pipe01.c
- *
- * DESCRIPTION
- * Testcase to check the basic functionality of the pipe(2) syscall:
- * Check that both ends of the pipe (both file descriptors) are
- * available to a process opening the pipe.
- *
- * ALGORITHM
- * Write a string of characters down a pipe; read the string from the
- * other file descriptor. Test passes if both can be done, as reported
- * by the number of characters written and read.
- *
- * USAGE: <for command-line>
- * pipe01 [-c n] [-f] [-i n] [-I x] [-P x] [-t]
- * where, -c n : Run n copies concurrently.
- * -f : Turn off functionality Testing.
- * -i n : Execute test n times.
- * -I x : Execute test for x seconds.
- * -P x : Pause for x seconds between iterations.
- * -t : Turn on syscall timing.
- *
- * RESTRICITONS
- * NONE
- */
-#include <errno.h>
-#include "test.h"
-#include "usctest.h"
-
-const char *TCID = "pipe01";
-int TST_TOTAL = 1;
-extern int Tst_count;
-
-void setup(void);
-void cleanup(void) __attribute__((noreturn));
-
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
-
- int fildes[2]; /* fds for pipe read and write */
- char wrbuf[BUFSIZ], rebuf[BUFSIZ];
- int red, written; /* no. of chars read/written to pipe */
- int greater, length;
- char *strcpy();
-
- /* parse standard options */
- if ((msg = parse_opts(ac, av, (option_t *)NULL, NULL)) != (char *)NULL){
- tst_brkm(TBROK, tst_exit, "OPTION PARSING ERROR - %s", msg);
- /*NOTREACHED*/
- }
-
- setup();
-
- for (lc = 0; TEST_LOOPING(lc); lc++) {
-
- /* reset Tst_count in case we are looping */
- Tst_count = 0;
-
- TEST(pipe(fildes));
-
- if (TEST_RETURN == -1) {
- tst_resm(TFAIL, "pipe() failed unexpectedly - errno %d",
- TEST_ERRNO);
- continue;
- }
-
- if (STD_FUNCTIONAL_TEST) {
-
- strcpy(wrbuf, "abcdefghijklmnopqrstuvwxyz");
- length = strlen(wrbuf);
-
- if ((written = write(fildes[1], wrbuf, length)) == -1) {
- tst_brkm(TBROK, cleanup, "write() failed");
- }
-
- if ((written < 0) || (written > 26)) {
- tst_resm(TFAIL, "Condition #1 test failed");
- continue;
- }
-
- if ((red = read(fildes[0], rebuf, written)) == -1) {
- tst_brkm(TBROK, cleanup, "read() failed");
- }
-
- if ((red < 0) || (red > written)) {
- tst_resm(TFAIL, "Condition #2 test failed");
- continue;
- }
-
- /* are the strings written and read equal */
- if ((greater = memcmp(rebuf, wrbuf, red)) != 0) {
- tst_resm(TFAIL, "Condition #3 test failed");
- continue;
- }
- tst_resm(TPASS, "pipe() functionality is correct");
- } else {
- tst_resm(TPASS, "call succeeded");
- }
- }
- cleanup();
-
- /*NOTREACHED*/
-}
-
-/*
- * setup() - performs all ONE TIME setup for this test.
- */
-void
-setup()
-{
- /* capture signals */
- tst_sig(NOFORK, DEF_HANDLER, cleanup);
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-}
-
-/*
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- */
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /* exit with return code appropriate for results */
- tst_exit();
-}
diff --git a/winsup/testsuite/winsup.api/ltp/pipe08.c b/winsup/testsuite/winsup.api/ltp/pipe08.c
deleted file mode 100644
index 70d61dab8..000000000
--- a/winsup/testsuite/winsup.api/ltp/pipe08.c
+++ /dev/null
@@ -1,158 +0,0 @@
-/*
- *
- * Copyright (c) International Business Machines Corp., 2001
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-/*
- * NAME
- * pipe08.c
- *
- * DESCRIPTION
- * Check that a SIGPIPE signal is generated when a write is
- * attempted on an empty pipe.
- *
- * ALGORITHM
- * 1. Write to a pipe after closing the read side.
- * 2. Check for the signal SIGPIPE to be received.
- *
- * USAGE: <for command-line>
- * pipe08 [-c n] [-f] [-i n] [-I x] [-P x] [-t]
- * where, -c n : Run n copies concurrently.
- * -f : Turn off functionality Testing.
- * -i n : Execute test n times.
- * -I x : Execute test for x seconds.
- * -P x : Pause for x seconds between iterations.
- * -t : Turn on syscall timing.
- *
- * USAGE
- * pipe08
- *
- * HISTORY
- * 07/2001 Ported by Wayne Boyer
- *
- * RESTRICTIONS
- * None
- */
-#include <errno.h>
-#include <signal.h>
-#include "test.h"
-#include "usctest.h"
-
-const char *TCID = "pipe08";
-int TST_TOTAL = 1;
-extern int Tst_count;
-
-void setup(void);
-void cleanup(void) __attribute__((noreturn));
-void sighandler(int);
-
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
-
- int pipefd[2]; /* fds for pipe read/write */
- char wrbuf[BUFSIZ];
- int written, length;
- int close_stat; /* exit status of close(read fd) */
-
- /* parse standard options */
- if ((msg = parse_opts(ac, av, (option_t *)NULL, NULL)) != (char *)NULL){
- tst_brkm(TBROK, tst_exit, "OPTION PARSING ERROR - %s", msg);
- /*NOTREACHED*/
- }
-
- if (!STD_FUNCTIONAL_TEST) {
- tst_resm(TWARN, "-f option should not be used");
- }
-
- setup();
-
- for (lc = 0; TEST_LOOPING(lc); lc++) {
-
- /* reset Tst_count in case we are looping */
- Tst_count = 0;
-
- TEST(pipe(pipefd));
-
- if (TEST_RETURN != 0) {
- tst_resm(TFAIL, "call failed unexpectedly");
- continue;
- }
-
- if ((close_stat = close(pipefd[0])) == -1) {
- tst_brkm(TBROK, cleanup, "close of read side failed");
- }
-
- strcpy(wrbuf, "abcdefghijklmnopqrstuvwxyz\0");
- length = strlen(wrbuf);
-
- /*
- * the SIGPIPE signal will be caught here or else
- * the program will dump core when the signal is
- * sent
- */
- written = write(pipefd[1], wrbuf, length);
- }
- cleanup();
-
- /*NOTREACHED*/
-}
-
-/*
- * sighandler - catch signals and look for SIGPIPE
- */
-void
-sighandler(int sig)
-{
- if (sig != SIGPIPE) {
- tst_resm(TFAIL, "expected SIGPIPE, got %d", sig);
- } else {
- tst_resm(TPASS, "got expected SIGPIPE signal");
- }
-}
-
-/*
- * setup() - performs all ONE TIME setup for this test.
- */
-void
-setup()
-{
- /* capture signals */
- tst_sig(NOFORK, sighandler, cleanup);
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-}
-
-/*
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- */
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /* exit with return code appropriate for results */
- tst_exit();
-}
diff --git a/winsup/testsuite/winsup.api/ltp/pipe09.c b/winsup/testsuite/winsup.api/ltp/pipe09.c
deleted file mode 100644
index eb21bb601..000000000
--- a/winsup/testsuite/winsup.api/ltp/pipe09.c
+++ /dev/null
@@ -1,230 +0,0 @@
-/*
- *
- * Copyright (c) International Business Machines Corp., 2001
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-/*
- * NAME
- * pipe09.c
- *
- * DESCRIPTION
- * Check that two processes can use the same pipe at the same time.
- *
- * ALGORITHM
- * 1. Open a pipe
- * 2. Fork a child which writes to the pipe
- * 3. Fork another child which writes a different character to the pipe
- * 4. Have the parent read from the pipe
- * 5. It should get the characters from both children.
- *
- * USAGE: <for command-line>
- * pipe09 [-c n] [-f] [-i n] [-I x] [-P x] [-t]
- * where, -c n : Run n copies concurrently.
- * -f : Turn off functionality Testing.
- * -i n : Execute test n times.
- * -I x : Execute test for x seconds.
- * -P x : Pause for x seconds between iterations.
- * -t : Turn on syscall timing.
- *
- * HISTORY
- * 07/2001 Ported by Wayne Boyer
- *
- * RESTRICTIONS
- * None
- */
-#include <signal.h>
-#include <sys/wait.h>
-#include <errno.h>
-#include "test.h"
-#include "usctest.h"
-
-#define PIPEWRTCNT 100 /* must be an even number */
-
-const char *TCID = "pipe09";
-int TST_TOTAL = 1;
-extern int Tst_count;
-
-void setup(void);
-void cleanup(void) __attribute__((noreturn));
-
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
-
- int i, red, wtstatus;
- int pipefd[2]; /* fds for pipe read/write */
- char rebuf[BUFSIZ];
- int Acnt = 0, Bcnt = 0; /* count 'A' and 'B' */
- int fork_1, fork_2; /* ret values in parent */
-
- /* parse standard options */
- if ((msg = parse_opts(ac, av, (option_t *)NULL, NULL)) != (char *)NULL){
- tst_brkm(TBROK, tst_exit, "OPTION PARSING ERROR - %s", msg);
- /*NOTREACHED*/
- }
-
- setup();
-
- for (lc = 0; TEST_LOOPING(lc); lc++) {
-
- /* reset Tst_count in case we are looping */
- Tst_count = 0;
-
- TEST(pipe(pipefd));
-
- if (TEST_RETURN == -1) {
- tst_resm(TFAIL, "pipe() call failed");
- continue;
- }
-
- if (!STD_FUNCTIONAL_TEST) {
- tst_resm(TWARN, "-f option should not be used");
- tst_resm(TPASS, "call succeeded");
- continue;
- }
-
- if ((fork_1 = fork()) == -1) {
- tst_brkm(TBROK, cleanup, "fork() #1 failed");
- /*NOTREACHED*/
- }
-
- if (fork_1 == 0) { /* 1st child */
- if (close(pipefd[0]) != 0) {
- tst_resm(TWARN, "pipefd[0] close failed, "
- "errno = %d", errno);
- exit(1);
- }
-
- for (i = 0; i < PIPEWRTCNT / 2; ++i) {
- if (write(pipefd[1], "A", 1) != 1) {
- tst_resm(TWARN, "write to pipe failed");
- exit(1);
- }
- }
- exit(0);
- }
-
- /* parent */
-
- waitpid(fork_1, &wtstatus, 0);
- if (WEXITSTATUS(wtstatus) != 0) {
- tst_brkm(TBROK, cleanup, "problem detected in child, "
- "wait status %d, errno = %d", wtstatus, errno);
- }
-
- if ((fork_2 = fork()) == -1) {
- tst_brkm(TBROK, cleanup, "fork() #2 failed");
- /*NOTREACHED*/
- }
-
- if (fork_2 == 0) { /* 2nd child */
- if (close(pipefd[0]) != 0) {
- tst_resm(TWARN, "pipefd[0] close "
- "failed, errno = %d", errno);
- exit(1);
- }
-
- for (i = 0; i < PIPEWRTCNT / 2; ++i) {
- if (write(pipefd[1], "B", 1) != 1) {
- tst_resm(TWARN, "write to pipe failed");
- exit(1);
- }
- }
- exit(0);
- }
-
- /* parent */
-
- waitpid(fork_2, &wtstatus, 0);
- if (WEXITSTATUS(wtstatus) != 0) {
- tst_brkm(TBROK, cleanup, "problem detected in child, "
- "wait status %d, errno = %d", wtstatus, errno);
- }
-
- if (close(pipefd[1]) != 0) {
- tst_brkm(TBROK, cleanup, "pipefd[1] close failed, "
- "errno = %d", errno);
- /*NOTREACHED*/
- }
-
- while ((red = read(pipefd[0], rebuf, 100)) > 0) {
- for (i = 0; i < red; i++) {
- if (rebuf[i] == 'A') {
- Acnt++;
- continue;
- }
- if (rebuf[i] == 'B') {
- Bcnt++;
- continue;
- }
- tst_resm(TFAIL, "got bogus '%c' character",
- rebuf[i]);
- break;
- }
- }
-
- if (red == -1) {
- tst_brkm(TBROK, cleanup, "Failure reading pipefd pipe, "
- "errno = %d", errno);
- }
-
- if (Bcnt == Acnt && Bcnt == (PIPEWRTCNT / 2)) {
- tst_resm(TPASS, "functionality appears to be correct");
- } else {
- tst_resm(TFAIL, "functionality is not correct - Acnt "
- "= %d, Bcnt = %d", Acnt, Bcnt);
- }
-
- /* clean up things in case we are looping */
- Acnt = Bcnt = 0;
- }
- cleanup();
-
- /*NOTREACHED*/
-}
-
-/*
- * setup() - performs all ONE TIME setup for this test.
- */
-void
-setup()
-{
- /* capture signals */
- tst_sig(FORK, DEF_HANDLER, cleanup);
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-}
-
-/*
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- */
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /* exit with return code appropriate for results */
- tst_exit();
-}
diff --git a/winsup/testsuite/winsup.api/ltp/pipe10.c b/winsup/testsuite/winsup.api/ltp/pipe10.c
deleted file mode 100644
index 52ac5d94e..000000000
--- a/winsup/testsuite/winsup.api/ltp/pipe10.c
+++ /dev/null
@@ -1,167 +0,0 @@
-/*
- *
- * Copyright (c) International Business Machines Corp., 2001
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-/*
- * NAME
- * pipe10.c
- *
- * DESCRIPTION
- * Check that parent can open a pipe and have a child read from it
- *
- * ALGORITHM
- * Parent opens pipe, child reads. Passes if child can read all the
- * characters written by the parent.
- *
- * USAGE: <for command-line>
- * pipe10 [-c n] [-f] [-i n] [-I x] [-P x] [-t]
- * where, -c n : Run n copies concurrently.
- * -f : Turn off functionality Testing.
- * -i n : Execute test n times.
- * -I x : Execute test for x seconds.
- * -P x : Pause for x seconds between iterations.
- * -t : Turn on syscall timing.
- *
- * HISTORY
- * 07/2001 Ported by Wayne Boyer
- *
- * RESTRICTIONS
- * None
- */
-#include <errno.h>
-#include <sys/wait.h>
-#include <test.h>
-#include <usctest.h>
-
-const char *TCID = "pipe10";
-int TST_TOTAL = 1;
-extern int Tst_count;
-
-void setup(void);
-void cleanup(void) __attribute__((noreturn));
-
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
-
- int fd[2]; /* fds for pipe read/write */
- char wrbuf[BUFSIZ], rebuf[BUFSIZ];
- int red, written; /* no of chars read and */
- /* written to pipe */
- int length, greater, forkstat;
-
- /* parse standard options */
- if ((msg = parse_opts(ac, av, (option_t *)NULL, NULL)) != (char *)NULL){
- tst_brkm(TBROK, tst_exit, "OPTION PARSING ERROR - %s", msg);
- /*NOTREACHED*/
- }
-
- setup();
-
- for (lc = 0; TEST_LOOPING(lc); lc++) {
-
- /* reset Tst_count in case we are looping */
- Tst_count = 0;
-
- TEST(pipe(fd));
-
- if (TEST_RETURN == -1) {
- tst_resm(TFAIL, "pipe creation failed");
- continue;
- }
-
- if (!STD_FUNCTIONAL_TEST) {
- tst_resm(TPASS, "call succeeded");
- continue;
- }
-
- strcpy(wrbuf, "abcdefghijklmnopqrstuvwxyz\0");
- length = strlen(wrbuf);
-
- written = write(fd[1], wrbuf, length);
-
- /* did write write at least some chars */
- if ((written < 0) || (written > length)) {
- tst_brkm(TBROK, cleanup, "write to pipe failed");
- }
-
- forkstat = fork();
-
- if (forkstat == -1) {
- tst_brkm(TBROK, cleanup, "fork() failed");
- /*NOTREACHED*/
- }
-
- if (forkstat == 0) { /* child */
- red = read(fd[0], rebuf, written);
-
- /* did read , get at least some chars */
- if ((red < 0) || (red > written)) {
- tst_brkm(TBROK, cleanup, "read pipe failed");
- }
-
- greater = memcmp(rebuf, wrbuf, red);
-
- /* are the strings written and read equal */
- if (greater == 0) {
- tst_resm(TPASS, "functionality is correct");
- } else {
- tst_resm(TFAIL, "read & write strings do "
- "not match");
- }
- } else { /* parent */
- /* let the child carry on */
- exit(0);
- }
- }
- cleanup();
-
- /*NOTREACHED*/
-}
-
-/*
- * setup() - performs all ONE TIME setup for this test.
- */
-void
-setup()
-{
- /* capture signals */
- tst_sig(FORK, DEF_HANDLER, cleanup);
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-}
-
-/*
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- */
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /* exit with return code appropriate for results */
- tst_exit();
-}
diff --git a/winsup/testsuite/winsup.api/ltp/pipe11.c b/winsup/testsuite/winsup.api/ltp/pipe11.c
deleted file mode 100644
index 558e70a96..000000000
--- a/winsup/testsuite/winsup.api/ltp/pipe11.c
+++ /dev/null
@@ -1,227 +0,0 @@
-/*
- *
- * Copyright (c) International Business Machines Corp., 2001
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-/*
- * NAME
- * pipe11.c
- *
- * DESCRIPTION
- * Check if many children can read what is written to a pipe by the
- * parent.
- *
- * ALGORITHM
- * 1. Open a pipe and write to it
- * 2. Fork a large number of children
- * 3. Have the children read the pipe and check how many characters
- * each got
- *
- * USAGE: <for command-line>
- * pipe11 [-c n] [-f] [-i n] [-I x] [-P x] [-t]
- * where, -c n : Run n copies concurrently.
- * -f : Turn off functionality Testing.
- * -i n : Execute test n times.
- * -I x : Execute test for x seconds.
- * -P x : Pause for x seconds between iterations.
- * -t : Turn on syscall timing.
- *
- * HISTORY
- * 07/2001 Ported by Wayne Boyer
- *
- * RESTRICTIONS
- * None
- */
-#include <errno.h>
-#include <limits.h>
-#include <sys/wait.h>
-#include "test.h"
-#include "usctest.h"
-
-const char *TCID = "pipe11";
-int TST_TOTAL = 1;
-extern int Tst_count;
-
-void setup(void);
-void cleanup(void) __attribute__((noreturn));
-
-#define NUMCHILD 50
-#define NCPERCHILD 50
-char rawchars[] = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890";
-int kidid;
-int numchild; /* no of children to fork */
-int ncperchild; /* no of chars child should read */
-int szcharbuf; /* size of char buf */
-int pipewrcnt; /* chars written to pipe */
-char *wrbuf, *rdbuf;
-
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
-
- int fd[2]; /* fds for pipe read/write */
- int i;
- int fork_ret, status;
- int nread, written; /* no of chars read and written */
-
- /* parse standard options */
- if ((msg = parse_opts(ac, av, (option_t *)NULL, NULL)) != (char *)NULL){
- tst_brkm(TBROK, tst_exit, "OPTION PARSING ERROR - %s", msg);
- /*NOTREACHED*/
- }
-
- setup();
-
- for (lc = 0; TEST_LOOPING(lc); lc++) {
-
- /* reset Tst_count in case we are looping */
- Tst_count = 0;
-
- TEST(pipe(fd));
-
- if (TEST_RETURN != 0) {
- tst_resm(TFAIL, "pipe creation failed");
- continue;
- }
-
- if (!STD_FUNCTIONAL_TEST) {
- tst_resm(TPASS, "call succeeded");
- continue;
- }
-
- written = write(fd[1], wrbuf, szcharbuf);
- if (written != szcharbuf) {
- tst_brkm(TBROK, cleanup, "write to pipe failed");
- }
-
-refork:
- ++kidid;
- fork_ret = fork();
-
- if (fork_ret < 0) {
- tst_brkm(TBROK, cleanup, "fork() failed");
- /*NOTREACHED*/
- }
-
- if ((fork_ret != 0) && (fork_ret != -1) && (kidid < numchild)) {
- goto refork;
- }
-
- if (fork_ret == 0) { /* child */
- if (close(fd[1])) {
- tst_resm(TINFO, "child %d " "could not close "
- "pipe", kidid);
- exit(0);
- }
- nread = read(fd[0], rdbuf, ncperchild);
- if (nread == ncperchild) {
- tst_resm(TINFO, "child %d " "got %d chars",
- kidid, nread);
- exit(0);
- } else {
- tst_resm(TFAIL, "child %d did not receive "
- "expected no of characters, got %d "
- "characters", kidid, nread);
- exit(1);
- }
- }
-
- /* parent */
- sleep(5);
- tst_resm(TINFO, "There are %d children to wait for", kidid);
- for (i = 1; i <= kidid; ++i) {
- wait(&status);
- if (status == 0) {
- tst_resm(TPASS, "child %d exitted successfully",
- i);
- } else {
- tst_resm(TFAIL, "child %d exitted with bad "
- "status", i);
- }
- }
- }
- cleanup();
-
- /*NOTREACHED*/
-}
-
-/*
- * setup() - performs all ONE TIME setup for this test.
- */
-void
-setup()
-{
- int i, j;
-
- /* capture signals */
- tst_sig(FORK, DEF_HANDLER, cleanup);
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-
- numchild = NUMCHILD;
- ncperchild = NCPERCHILD;
-
- kidid = 0;
-
- /* allocate read and write buffers */
- szcharbuf = numchild * ncperchild;
-
- /* make sure pipe write doesn't block */
- if (szcharbuf == PIPE_BUF) {
- /* adjust number of characters per child */
- ncperchild = szcharbuf / numchild;
- }
-
- if ((wrbuf = (char *)malloc(szcharbuf)) == (char *)0) {
- tst_brkm(TBROK, cleanup, "malloc failed");
- /*NOTREACHED*/
- }
-
- if ((rdbuf = (char *)malloc(szcharbuf)) == (char *)0) {
- tst_brkm(TBROK, cleanup, "malloc of rdbuf failed");
- /*NOTREACHED*/
- }
-
- /* initialize wrbuf */
- j = 0;
- for (i = 0; i < szcharbuf; ) {
- wrbuf[i++] = rawchars[j++];
- if (j >= (int)sizeof(rawchars)) {
- j = 0;
- }
- }
-}
-
-/*
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- */
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /* exit with return code appropriate for results */
- tst_exit();
-}
diff --git a/winsup/testsuite/winsup.api/ltp/poll01.c b/winsup/testsuite/winsup.api/ltp/poll01.c
deleted file mode 100644
index 704b738a2..000000000
--- a/winsup/testsuite/winsup.api/ltp/poll01.c
+++ /dev/null
@@ -1,250 +0,0 @@
-/*
- *
- * Copyright (c) International Business Machines Corp., 2001
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-/*
- * Test Name: poll01
- *
- * Test Description:
- * Verify that valid open file descriptor must be provided to poll() to
- * succeed.
- *
- * Expected Result:
- * poll should return the correct values when an valid file descriptor is
- * provided.
- *
- * Algorithm:
- * Setup:
- * Setup signal handling.
- * Pause for SIGUSR1 if option specified.
- *
- * Test:
- * Loop if the proper options are given.
- * Execute system call
- * Check return code, if system call failed (return=-1)
- * Issue a FAIL message.
- * Otherwise,
- * Verify the Functionality of system call
- * if successful,
- * Issue Functionality-Pass message.
- * Otherwise,
- * Issue Functionality-Fail message.
- * Cleanup:
- * Print errno log and/or timing stats if options given
- *
- * Usage: <for command-line>
- * poll01 [-c n] [-f] [-i n] [-I x] [-P x] [-t]
- * where, -c n : Run n copies concurrently.
- * -f : Turn off functionality Testing.
- * -i n : Execute test n times.
- * -I x : Execute test for x seconds.
- * -P x : Pause for x seconds between iterations.
- * -t : Turn on syscall timing.
- *
- * HISTORY
- * 07/2001 Ported by Wayne Boyer
- *
- * RESTRICTIONS:
- * None.
- */
-#include <errno.h>
-#include <fcntl.h>
-#include <sys/wait.h>
-#include <sys/poll.h>
-
-#include "test.h"
-#include "usctest.h"
-
-#define BUF_SIZE 512
-
-const char *TCID="poll01"; /* Test program identifier. */
-int TST_TOTAL=1; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-
-int fildes[2]; /* file descriptors of the pipe. */
-struct pollfd fds[1]; /* struct. for poll() */
-
-void setup(); /* Main setup function of test */
-void cleanup(void) __attribute__((noreturn)); /* cleanup function for the test */
-
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
- pid_t cpid; /* child process id */
- char write_buf[] = "Testing\0"; /* buffer string for write */
- char read_buf[BUF_SIZE]; /* buffer for read-end of pipe */
- int status; /* exit status of child process */
- int rval;
-
- /* Parse standard options given to run the test. */
- msg = parse_opts(ac, av, (option_t *)NULL, NULL);
- if (msg != (char *)NULL) {
- tst_brkm(TBROK, tst_exit, "OPTION PARSING ERROR - %s", msg);
- }
-
- /* Perform global setup for test */
- setup();
-
- /* Check looping state if -i option given */
- for (lc = 0; TEST_LOOPING(lc); lc++) {
-
- /* Reset Tst_count in case we are looping. */
- Tst_count = 0;
-
- /*
- * Call poll() with the TEST macro.
- */
- TEST(poll(fds, 1, -1));
-
- /* check return code of poll() */
- if (TEST_RETURN == -1) {
- tst_resm(TFAIL, "poll() failed on write, errno=%d"
- " : %s", TEST_ERRNO, strerror(TEST_ERRNO));
- continue;
- }
-
- /* write the message to the pipe */
- if (write(fildes[1], write_buf, strlen(write_buf))
- < (int)strlen(write_buf)) {
- tst_brkm(TBROK, cleanup, "write() failed on write "
- "to pipe, error:%d", errno);
- }
-
- /* Fork child process */
- if ((cpid = fork()) == -1) {
- tst_brkm(TBROK, cleanup, "fork() failed");
- }
-
- if (cpid == 0) { /* Child process */
- /*
- * close writing end of pipe and read from
- * the pipe
- */
- if (close(fildes[1]) == -1) {
- tst_brkm(TFAIL, NULL, "close() failed on write "
- "endof pipe, errno:%d", errno);
- exit(1);
- }
-
- /*
- * Set poll() data structures to check
- * if data is present on read
- */
- fds[0].fd = fildes[0];
- fds[0].events = POLLIN;
-
- /*
- * If data are present, then read the data. If poll()
- * and read() return expected values, then the
- * functionality of poll() is correct.
- */
- rval = (poll(fds, 1, -1));
-
- if (rval == -1) {
- tst_resm(TFAIL, "poll() failed on read - "
- "errno=%d : %s",
- TEST_ERRNO, strerror(errno));
- exit(1);
- }
-
- /* Read data from read end of pipe */
- if (read(fildes[0], read_buf, sizeof(read_buf)) !=
- (int)strlen(write_buf)) {
- tst_brkm(TFAIL, NULL, "read() failed - "
- "error:%d", errno);
- exit(1);
- }
-
- /* Now, do the actual comparision */
- if (memcmp(read_buf, write_buf, strlen(write_buf))) {
- tst_resm(TFAIL, "Data from reading pipe "
- "are different");
- exit(1);
- }
-
- /* Everything is fine, exit normally */
- exit(0);
- } else { /* Parent process */
- /* Wait for child to complete execution */
- wait(&status);
-
- if (WEXITSTATUS(status) == 1) {
- tst_resm(TFAIL, "child exited abnormally");
- } else {
- tst_resm(TPASS,
- "Functionality of poll() successful");
- }
- }
- } /* End for TEST_LOOPING */
-
- /* Call cleanup() to undo setup done for the test. */
- cleanup();
-
- /*NOTREACHED*/
-} /* End main */
-
-/*
- * setup() - performs all ONE TIME setup for this test.
- * Creat read/write pipe using pipe().
- * Set poll data structures to check writing to the pipe.
- */
-void
-setup()
-{
- /* capture signals */
- tst_sig(FORK, DEF_HANDLER, cleanup);
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-
- /* Creat read/write pipe */
- if (pipe(fildes) < 0) {
- tst_brkm(TBROK, tst_exit,
- "pipe() failed to create interprocess channel");
- }
-
- /* Set poll data structures */
- fds[0].fd = fildes[1];
- fds[0].events = POLLOUT;
-}
-
-/*
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- * close read end of pipe if still open.
- */
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /* close read end of pipe if still open */
- if (close(fildes[0]) < 0) {
- tst_brkm(TFAIL, NULL, "close() failed on read-end of pipe, "
- "errno:%d", errno);
- }
-
- /* exit with return code appropriate for results */
- tst_exit();
-}
diff --git a/winsup/testsuite/winsup.api/ltp/read01.c b/winsup/testsuite/winsup.api/ltp/read01.c
deleted file mode 100644
index 332b939a7..000000000
--- a/winsup/testsuite/winsup.api/ltp/read01.c
+++ /dev/null
@@ -1,280 +0,0 @@
-/*
- * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it would be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Further, this software is distributed without any warranty that it is
- * free of the rightful claim of any third person regarding infringement
- * or the like. Any license provided herein, whether implied or
- * otherwise, applies only to this software file. Patent licenses, if
- * any, provided herein do not apply to combinations of this program with
- * other software, or any other product whatsoever.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write the Free Software Foundation, Inc., 59
- * Temple Place - Suite 330, Boston MA 02111-1307, USA.
- *
- * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
- * Mountain View, CA 94043, or:
- *
- * http://www.sgi.com
- *
- * For further information regarding this notice, see:
- *
- * http://oss.sgi.com/projects/GenInfo/NoticeExplan/
- *
- */
-/* $Id$ */
-/**********************************************************
- *
- * OS Test - Silicon Graphics, Inc.
- *
- * TEST IDENTIFIER : read01
- *
- * EXECUTED BY : anyone
- *
- * TEST TITLE : Basic test for read(2)
- *
- * PARENT DOCUMENT : usctpl01
- *
- * TEST CASE TOTAL : 1
- *
- * WALL CLOCK TIME : 1
- *
- * CPU TYPES : ALL
- *
- * AUTHOR : William Roske
- *
- * CO-PILOT : Dave Fenner
- *
- * DATE STARTED : 03/30/92
- *
- * INITIAL RELEASE : UNICOS 7.0
- *
- * TEST CASES
- *
- * 1.) read(2) returns...(See Description)
- *
- * INPUT SPECIFICATIONS
- * The standard options for system call tests are accepted.
- * (See the parse_opts(3) man page).
- *
- * OUTPUT SPECIFICATIONS
- *
- * DURATION
- * Terminates - with frequency and infinite modes.
- *
- * SIGNALS
- * Uses SIGUSR1 to pause before test if option set.
- * (See the parse_opts(3) man page).
- *
- * RESOURCES
- * None
- *
- * ENVIRONMENTAL NEEDS
- * No run-time environmental needs.
- *
- * SPECIAL PROCEDURAL REQUIREMENTS
- * None
- *
- * INTERCASE DEPENDENCIES
- * None
- *
- * DETAILED DESCRIPTION
- * This is a Phase I test for the read(2) system call. It is intended
- * to provide a limited exposure of the system call, for now. It
- * should/will be extended when full functional tests are written for
- * read(2).
- *
- * Setup:
- * Setup signal handling.
- * Pause for SIGUSR1 if option specified.
- *
- * Test:
- * Loop if the proper options are given.
- * Execute system call
- * Check return code, if system call failed (return=-1)
- * Log the errno and Issue a FAIL message.
- * Otherwise, Issue a PASS message.
- *
- * Cleanup:
- * Print errno log and/or timing stats if options given
- *
- *
- *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#**/
-
-#include <sys/types.h>
-#include <sys/fcntl.h>
-#include <sys/param.h>
-#include <errno.h>
-#include <signal.h>
-#include <string.h>
-#include "test.h"
-#include "usctest.h"
-
-/*
- * Set READ_BLOCK_SIZE to the block size of the system.
- */
-#ifdef linux
-#define READ_BLOCK_SIZE DEV_BSIZE
-#else
-#ifdef __CYGWIN__
-#define READ_BLOCK_SIZE S_BLKSIZE
-#else
-#define READ_BLOCK_SIZE BSIZE
-#endif
-#endif
-
-extern void setup();
-extern void cleanup();
-
-
-
-const char *TCID="read01"; /* Test program identifier. */
-int TST_TOTAL=1; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-
-int exp_enos[]={0, 0};
-char fname[255];
-int fd, i;
-int offset=0;
-char *s;
-
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
-
- /***************************************************************
- * parse standard options
- ***************************************************************/
- if ( (msg=parse_opts(ac, av, (option_t *) NULL, NULL)) != (char *) NULL )
- tst_brkm(TBROK, cleanup, "OPTION PARSING ERROR - %s", msg);
-
- /***************************************************************
- * perform global setup for test
- ***************************************************************/
- setup();
-
- /* set the expected errnos... */
- TEST_EXP_ENOS(exp_enos);
-
- /***************************************************************
- * check looping state if -c option given
- ***************************************************************/
- for (lc=0; TEST_LOOPING(lc); lc++) {
-
- /* reset Tst_count in case we are looping. */
- Tst_count=0;
-
- if (write(fd, s, READ_BLOCK_SIZE) == -1) {
- tst_brkm(TBROK, cleanup,
- "write(%s, %s, %d) Failed, errno=%d : %s",
- fname, s, READ_BLOCK_SIZE, errno, strerror(errno));
- }
- offset+=READ_BLOCK_SIZE;
- if (lseek(fd, (long)(offset-READ_BLOCK_SIZE), 0) == -1) {
- tst_brkm(TBROK, cleanup,
- "lseek(%s, %ld, 0) Failed, errno=%d : %s",
- fname, (long)(offset-READ_BLOCK_SIZE), errno, strerror(errno));
- }
- /*
- * Call read(2)
- */
- TEST(read(fd, s, READ_BLOCK_SIZE));
-
- /* check return code */
- if ( TEST_RETURN == -1 ) {
- TEST_ERROR_LOG(TEST_ERRNO);
- tst_resm(TFAIL, "read(fd, s, READ_BLOCK_SIZE) Failed, errno=%d : %s",
- TEST_ERRNO, strerror(TEST_ERRNO));
- } else {
- /***************************************************************
- * only perform functional verification if flag set (-f not given)
- ***************************************************************/
- if ( STD_FUNCTIONAL_TEST ) {
- /* No Verification test, yet... */
- tst_resm(TPASS, "read(pfds) returned %d", TEST_RETURN);
- }
- }
-
- } /* End for TEST_LOOPING */
-
- /***************************************************************
- * cleanup and exit
- ***************************************************************/
- cleanup();
-
- return 0;
-} /* End main */
-
-/***************************************************************
- * setup() - performs all ONE TIME setup for this test.
- ***************************************************************/
-void
-setup()
-{
- /* capture signals */
- tst_sig(NOFORK, DEF_HANDLER, cleanup);
-
- /* make a temp directory and cd to it */
- tst_tmpdir();
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-
- if ((s = malloc(READ_BLOCK_SIZE)) == NULL) {
- tst_brkm(TBROK, cleanup,
- "malloc(%d) Failed, errno=%d : %s",
- READ_BLOCK_SIZE, errno, strerror(errno));
- }
- (void) memset(s, '*', READ_BLOCK_SIZE);
- for (i=0; i < READ_BLOCK_SIZE; i++) {
- if ( s[i] != '*' ) {
- tst_brkm(TBROK, cleanup,
- "File Data pattern not setup correctly : expected * at s[%d] : found %c",
- i, s[i]);
- }
- }
- sprintf(fname,"./tfile_%d",getpid());
- if ((fd=open(fname,O_RDWR|O_CREAT,0700)) == -1) {
- tst_brkm(TBROK, cleanup,
- "open(%s, O_RDWR|O_CREAT,0700) Failed, errno=%d : %s",
- fname, errno, strerror(errno));
- }
-
-} /* End setup() */
-
-
-/***************************************************************
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- ***************************************************************/
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- if (close(fd) == -1 ) {
- tst_resm(TWARN, "close(%s) Failed, errno=%d : %s",
- fname, errno, strerror(errno));
- }
-
- /* Remove tmp dir and all files in it */
- tst_rmdir();
-
- /* exit with return code appropriate for results */
- tst_exit();
-
-} /* End cleanup() */
diff --git a/winsup/testsuite/winsup.api/ltp/read04.c b/winsup/testsuite/winsup.api/ltp/read04.c
deleted file mode 100644
index c976cd6a4..000000000
--- a/winsup/testsuite/winsup.api/ltp/read04.c
+++ /dev/null
@@ -1,174 +0,0 @@
-/*
- *
- * Copyright (c) International Business Machines Corp., 2001
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-/*
- * NAME
- * read01.c
- *
- * DESCRIPTION
- * Testcase to check if read returns the number of bytes read correctly.
- *
- * ALGORITHM
- * Create a file and write some bytes out to it.
- * Attempt to read more than written.
- * Check the return count, and the read buffer. The read buffer should be
- * same as the write buffer.
- *
- * USAGE: <for command-line>
- * read01 [-c n] [-f] [-i n] [-I x] [-P x] [-t]
- * where, -c n : Run n copies concurrently.
- * -f : Turn off functionality Testing.
- * -i n : Execute test n times.
- * -I x : Execute test for x seconds.
- * -P x : Pause for x seconds between iterations.
- * -t : Turn on syscall timing.
- *
- * HISTORY
- * 07/2001 Ported by Wayne Boyer
- *
- * RESTRICTIONS
- * None
- */
-#include <fcntl.h>
-#include <errno.h>
-#include "test.h"
-#include "usctest.h"
-
-void cleanup(void) __attribute__((noreturn));
-void setup(void);
-
-const char *TCID = "read01";
-int TST_TOTAL = 1;
-extern int Tst_count;
-
-#define TST_SIZE 26 /* could also do strlen(palfa) */
-char fname[255];
-char palfa[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" ;
-int fild;
-
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
-
- int rfild;
- char prbuf[BUFSIZ];
-
- /*
- * parse standard options
- */
- if ((msg = parse_opts(ac, av, (option_t *)NULL, NULL)) != (char *)NULL){
- tst_brkm(TBROK, tst_exit, "OPTION PARSING ERROR - %s", msg);
- /*NOTREACHED*/
- }
-
- setup(); /* global setup for test */
-
- /* check looping state if -i option given */
- for (lc = 0; TEST_LOOPING(lc); lc++) {
-
- Tst_count = 0; /* reset Tst_count while looping */
-
- if ((rfild = open(fname, O_RDONLY)) == -1) {
- tst_brkm(TBROK, cleanup, "can't open for reading");
- /*NOTREACHED*/
- }
- TEST(read(rfild, prbuf, BUFSIZ));
-
- if (TEST_RETURN == -1) {
- tst_resm(TFAIL, "call failed unexpectedly");
- continue;
- }
-
- if (STD_FUNCTIONAL_TEST) {
- if (TEST_RETURN != TST_SIZE) {
- tst_resm(TFAIL, "Bad read count - got %d - "
- "expected %d", TEST_RETURN, TST_SIZE);
- continue;
- }
- if (memcmp(palfa, prbuf, TST_SIZE) != 0) {
- tst_resm(TFAIL, "read buffer not equal "
- "to write buffer");
- continue;
- }
- tst_resm(TPASS, "functionality of read() is correct");
- } else {
- tst_resm(TPASS, "call succeeded");
- }
- if (close(rfild) == -1) {
- tst_brkm(TBROK, cleanup, "close() failed");
- /*NOTREACHED*/
- }
- }
- cleanup();
- /*NOTREACHED*/
-}
-
-/*
- * setup() - performs all ONE TIME setup for this test
- */
-void
-setup(void)
-{
- /* capture signals */
- tst_sig(NOFORK, DEF_HANDLER, cleanup);
-
- umask(0);
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-
- /* make a temp directory and cd to it */
- tst_tmpdir();
-
- sprintf(fname,"tfile_%d",getpid());
-
- if ((fild = creat(fname, 0777)) == -1) {
- tst_brkm(TBROK, cleanup, "creat(%s, 0777) Failed, errno = %d"
- " : %s", fname, errno, strerror(errno));
- /*NOTREACHED*/
- }
- if (write(fild, palfa, TST_SIZE) != TST_SIZE) {
- tst_brkm(TBROK, cleanup, "can't write to Xread");
- /*NOTREACHED*/
- }
- close (fild);
-}
-
-/*
- * cleanup() - performs all ONE TIME cleanup for this test at completion or
- * premature exit.
- */
-void
-cleanup(void)
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /* Remove tmp dir and all files in it */
- unlink(fname);
- tst_rmdir();
-
- /* exit with return code appropriate for results */
- tst_exit();
-}
diff --git a/winsup/testsuite/winsup.api/ltp/readdir01.c b/winsup/testsuite/winsup.api/ltp/readdir01.c
deleted file mode 100644
index c77e90680..000000000
--- a/winsup/testsuite/winsup.api/ltp/readdir01.c
+++ /dev/null
@@ -1,350 +0,0 @@
-/*
- * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it would be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Further, this software is distributed without any warranty that it is
- * free of the rightful claim of any third person regarding infringement
- * or the like. Any license provided herein, whether implied or
- * otherwise, applies only to this software file. Patent licenses, if
- * any, provided herein do not apply to combinations of this program with
- * other software, or any other product whatsoever.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write the Free Software Foundation, Inc., 59
- * Temple Place - Suite 330, Boston MA 02111-1307, USA.
- *
- * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
- * Mountain View, CA 94043, or:
- *
- * http://www.sgi.com
- *
- * For further information regarding this notice, see:
- *
- * http://oss.sgi.com/projects/GenInfo/NoticeExplan/
- *
- */
-/* $Id$ */
-/**********************************************************
- *
- * OS Test - Silicon Graphics, Inc.
- *
- * TEST IDENTIFIER : readdir01
- *
- * EXECUTED BY : anyone
- *
- * TEST TITLE : write multiple files and try to find them with readdir
- *
- * TEST CASE TOTAL :
- *
- * WALL CLOCK TIME :
- *
- * CPU TYPES : ALL
- *
- * AUTHOR : Nate Straz
- *
- * CO-PILOT :
- *
- * DATE STARTED : 02/16/2001
- *
- * INITIAL RELEASE : Linux 2.4.x
- *
- * TEST CASES
- *
- * 1.) Create n files and check that readdir() finds n files
- *
- * INPUT SPECIFICATIONS
- * The standard options for system call tests are accepted.
- * (See the parse_opts(3) man page).
- *
- * OUTPUT SPECIFICATIONS
- *
- * DURATION
- * Terminates - with frequency and infinite modes.
- *
- * SIGNALS
- * Uses SIGUSR1 to pause before test if option set.
- * (See the parse_opts(3) man page).
- *
- * RESOURCES
- * None
- *
- * ENVIRONMENTAL NEEDS
- * No run-time environmental needs.
- *
- * SPECIAL PROCEDURAL REQUIREMENTS
- * None
- *
- * INTERCASE DEPENDENCIES
- * None
- *
- * DETAILED DESCRIPTION
- * This is a Phase I test for the readdir(2) system call. It is intended
- * to provide a limited exposure of the system call, for now. It
- * should/will be extended when full functional tests are written for
- * readdir(2).
- *
- * Setup:
- * Setup signal handling.
- * Pause for SIGUSR1 if option specified.
- *
- * Test:
- * Loop if the proper options are given.
- * Execute system call
- * Check return code, if system call failed (return=-1)
- * Log the errno and Issue a FAIL message.
- * Otherwise, Issue a PASS message.
- *
- * Cleanup:
- * Print errno log and/or timing stats if options given
- *
- *
- *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#**/
-
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <fcntl.h>
-#include <dirent.h>
-#include <errno.h>
-#include <string.h>
-#include <signal.h>
- /* test.h and usctest.h are the two header files that are required by the
- * quickhit package. They contain function and macro declarations which you
- * can use in your test programs
- */
-#include "test.h"
-#include "usctest.h"
-
- /* The setup and cleanup functions are basic parts of a test case. These
- * steps are usually put in separate functions for clarity. The help function
- * is only needed when you are adding new command line options.
- */
-void setup();
-void help();
-void cleanup(void) __attribute__((noreturn));
-
-const char *TCID="readdir01"; /* Test program identifier. */
-int TST_TOTAL=2; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-extern int Tst_nobuf;
-
-int exp_enos[]={0, 0};
-
-#define BASENAME "readdirfile"
-
-char Basename[255];
-char Fname[255];
-int Nfiles=0;
-
-/* To add command line options you need to declare a structure to pass to
- * parse_opts(). options is the structure used in this example. The format is
- * the string that should be added to optstring in getopt(3), an integer that
- * will be used as a flag if the option is given, and a pointer to a string that
- * should receive the optarg parameter from getopt(3). Here we add a -N
- * option. Long options are not supported at this time.
- */
-char *Nfilearg;
-int Nflag=0;
-
-/* for test specific parse_opts options */
-option_t options[] = {
- { "N:", &Nflag, &Nfilearg }, /* -N #files */
- { NULL, NULL, NULL }
-};
-
-/***********************************************************************
- * Main
- ***********************************************************************/
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
- int cnt;
- int nfiles, fd;
- char fname[255];
- DIR *test_dir;
- struct dirent *dptr;
-
- Tst_nobuf=1;
-
- /***************************************************************
- * parse standard options
- ***************************************************************/
- /* start off by parsing the command line options. We provide a function
- * that understands many common options to control looping. If you are not
- * adding any new options, pass NULL in place of options and &help.
- */
- if ( (msg=parse_opts(ac, av, options, &help)) ) {
- tst_brkm(TBROK, NULL, "OPTION PARSING ERROR - %s", msg);
- tst_exit();
- }
-
- if ( Nflag ) {
- if (sscanf(Nfilearg, "%i", &Nfiles) != 1 ) {
- tst_brkm(TBROK, NULL, "--N option arg is not a number");
- tst_exit();
- }
- }
-
- /***************************************************************
- * perform global setup for test
- ***************************************************************/
- /* Next you should run a setup routine to make sure your environment is
- * sane.
- */
- setup();
-
- /* set the expected errnos... */
- TEST_EXP_ENOS(exp_enos);
-
- /***************************************************************
- * check looping state
- ***************************************************************/
- /* TEST_LOOPING() is a macro that will make sure the test continues
- * looping according to the standard command line args.
- */
- for (lc=0; TEST_LOOPING(lc); lc++) {
-
- /* reset Tst_count in case we are looping. */
- Tst_count=0;
-
- if ( Nfiles )
- nfiles = Nfiles;
- else
- /* min of 10 links and max of a 100 links */
- nfiles = (lc%90)+10;
-
- /* create a bunch of files to look at */
- for(cnt=0; cnt < nfiles; cnt++) {
-
- sprintf(fname, "%s%d", Basename, cnt);
- if ((fd = open(fname, O_RDWR|O_CREAT, 0700)) == -1) {
- tst_brkm(TBROK, cleanup,
- "open(%s, O_RDWR|O_CREAT,0700) Failed, errno=%d : %s", fname, errno, strerror(errno));
- } else if (write(fd, "hello\n", 6) < 0) {
- tst_brkm(TBROK, cleanup,
- "write(%s, \"hello\\n\", 6) Failed, errno=%d : %s", fname, errno, strerror(errno));
- } else if (close(fd) < 0) {
- tst_res(TWARN, "close(%s) Failed, errno=%d : %s",
- fname, errno, strerror(errno));
- }
- }
-
- if ((test_dir = opendir(".")) == NULL) {
- tst_resm(TFAIL, "opendir(\".\") Failed, errno=%d : %s",
- errno, strerror(errno));
- } else {
- /* count the entries we find to see if any are missing */
- cnt = 0;
- errno = 0;
- while ( (dptr = readdir(test_dir)) ) {
- if (strcmp(dptr->d_name, ".") && strcmp(dptr->d_name, ".."))
- cnt++;
- }
-
- if (errno != 0) {
- tst_resm(TFAIL, "readir(test_dir) Failed on try %d, errno=%d : %s",
- cnt, errno, strerror(errno));
- }
- if (cnt == nfiles) {
- tst_resm(TPASS, "found all %d that were created", nfiles);
- } else if (cnt > nfiles) {
- tst_resm(TFAIL, "found more files than were created");
- tst_resm(TINFO, "created: %d, found: %d", nfiles, cnt);
- } else {
- tst_resm(TFAIL, "found less files than were created");
- tst_resm(TINFO, "created: %d, found: %d", nfiles, cnt);
- }
- }
-
- /* Here we clean up after the test case so we can do another iteration.
- */
- for(cnt=0; cnt < nfiles; cnt++) {
-
- sprintf(fname, "%s%d", Basename, cnt);
-
- if (unlink(fname) == -1) {
- tst_res(TWARN, "unlink(%s) Failed, errno=%d : %s",
- Fname, errno, strerror(errno));
- }
- }
-
- } /* End for TEST_LOOPING */
-
- /***************************************************************
- * cleanup and exit
- ***************************************************************/
- cleanup();
-
- return 0;
-} /* End main */
-
-/***************************************************************
- * help
- ***************************************************************/
-/* The custom help() function is really simple. Just write your help message to
- * standard out. Your help function will be called after the standard options
- * have been printed
- */
-void
-help()
-{
- printf(" -N #files : create #files files every iteration\n");
-}
-
-/***************************************************************
- * setup() - performs all ONE TIME setup for this test.
- ***************************************************************/
-void
-setup()
-{
- /* You will want to enable some signal handling so you can capture
- * unexpected signals like SIGSEGV.
- */
- tst_sig(NOFORK, DEF_HANDLER, cleanup);
-
- /* Pause if that option was specified */
- /* One cavet that hasn't been fixed yet. TEST_PAUSE contains the code to
- * fork the test with the -c option. You want to make sure you do this
- * before you create your temporary directory.
- */
- TEST_PAUSE;
-
- /* If you are doing any file work, you should use a temporary directory. We
- * provide tst_tmpdir() which will create a uniquely named temporary
- * directory and cd into it. You can now create files in the current
- * directory without worrying.
- */
- tst_tmpdir();
-
- sprintf(Basename, "%s_%d.", BASENAME, getpid());
-}
-
-/***************************************************************
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- ***************************************************************/
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /* If you use a temporary directory, you need to be sure you remove it. Use
- * tst_rmdir() to do it automatically.
- */
- tst_rmdir();
-
- /* exit with return code appropriate for results */
- tst_exit();
-}
diff --git a/winsup/testsuite/winsup.api/ltp/readlink01.c b/winsup/testsuite/winsup.api/ltp/readlink01.c
deleted file mode 100644
index 744fff02a..000000000
--- a/winsup/testsuite/winsup.api/ltp/readlink01.c
+++ /dev/null
@@ -1,229 +0,0 @@
-/*
- *
- * Copyright (c) International Business Machines Corp., 2001
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-/*
- * Test Name : readlink01
- *
- * Test Description :
- * Verify that, readlink will succeed to read the contents of the symbolic
- * link created the process.
- *
- * Expected Result:
- * readlink() should return the contents of symbolic link path in the buffer
- * on success.
- *
- * Algorithm:
- * Setup:
- * Setup signal handling.
- * Create temporary directory.
- * Pause for SIGUSR1 if option specified.
- *
- * Test:
- * Loop if the proper options are given.
- * Execute system call
- * Check return code, if system call failed (return=-1)
- * Issue a FAIL message.
- * Otherwise,
- * Verify the Functionality of system call
- * if successful,
- * Issue Functionality-Pass message.
- * Otherwise,
- * Issue Functionality-Fail message.
- * Cleanup:
- * Print errno log and/or timing stats if options given
- * Delete the temporary directory created.
- *
- * Usage: <for command-line>
- * readlink01 [-c n] [-f] [-i n] [-I x] [-P x] [-t]
- * where, -c n : Run n copies concurrently.
- * -f : Turn off functionality Testing.
- * -i n : Execute test n times.
- * -I x : Execute test for x seconds.
- * -P x : Pause for x seconds between iterations.
- * -t : Turn on syscall timing.
- *
- * HISTORY
- * 07/2001 Ported by Wayne Boyer
- *
- * RESTRICTIONS:
- * This test should be run by 'non-super-user' only.
- *
- */
-#include <fcntl.h>
-#include <errno.h>
-#include <sys/stat.h>
-
-#include "test.h"
-#include "usctest.h"
-
-#define TESTFILE "testfile"
-#define SYMFILE "slink_file"
-#define FILE_MODE S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH
-#define MAX_SIZE 256
-
-const char *TCID="readlink01"; /* Test program identifier. */
-int TST_TOTAL=1; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-
-int exp_val; /* strlen of testfile */
-
-void setup(); /* Setup function for the test */
-void cleanup(void) __attribute__((noreturn)); /* Cleanup function for the test */
-
-int
-main(int ac, char **av)
-{
- char buffer[MAX_SIZE]; /* temporary buffer to hold symlink contents*/
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
-
- /* Parse standard options given to run the test. */
- msg = parse_opts(ac, av, (option_t *)NULL, NULL);
- if (msg != (char *)NULL) {
- tst_brkm(TBROK, tst_exit, "OPTION PARSING ERROR - %s", msg);
- }
-
- /* Perform global setup for test */
- setup();
-
- /* Check looping state if -i option given */
- for (lc = 0; TEST_LOOPING(lc); lc++) {
-
- /* Reset Tst_count in case we are looping. */
- Tst_count=0;
-
- /*
- * Call readlink(2) to read the contents of
- * symlink into a buffer.
- */
- TEST(readlink(SYMFILE, buffer, sizeof(buffer)));
-
- /* Check return code of readlink(2) */
- if (TEST_RETURN == -1) {
- tst_resm(TFAIL, "readlink() on %s failed, errno=%d : %s"
- , SYMFILE, TEST_ERRNO, strerror(TEST_ERRNO));
- continue;
- }
-
- /*
- * Perform functional verification if test
- * executed without (-f) option.
- */
- if (STD_FUNCTIONAL_TEST) {
- /*
- * Compare the return value of readlink()
- * with the expected value which is the
- * strlen() of testfile.
- */
- if (TEST_RETURN == exp_val) {
- /* Check for the contents of buffer */
- if (memcmp(buffer, TESTFILE, exp_val) != 0) {
- tst_resm(TFAIL, "Pathname %s and buffer"
- " contents %s differ",
- TESTFILE, buffer);
- } else {
- tst_resm(TPASS, "readlink() "
- "functionality on '%s' is "
- "correct", SYMFILE);
- }
- } else {
- tst_resm(TFAIL, "readlink() return value %d "
- "does't match, Expected %d",
- TEST_RETURN, exp_val);
- }
- } else {
- tst_resm(TPASS, "call succeeded");
- }
- } /* End for TEST_LOOPING */
-
- /* Call cleanup() to undo setup done for the test. */
- cleanup();
-
- /*NOTREACHED*/
-} /* End main */
-
-/*
- * setup() - performs all ONE TIME setup for this test.
- *
- * Create a temporary directory and change directory to it.
- * Create a test file under temporary directory and close it
- * Create a symbolic link of testfile.
- */
-void
-setup()
-{
- int fd; /* file handle for testfile */
-
- /* make sure test is not being run as root */
- if (0 == geteuid()) {
- tst_brkm(TBROK, tst_exit, "Must not run test as root");
- }
-
- /* capture signals */
- tst_sig(NOFORK, DEF_HANDLER, cleanup);
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-
- /* make a temp directory and cd to it */
- tst_tmpdir();
-
- if ((fd = open(TESTFILE, O_RDWR|O_CREAT, FILE_MODE)) == -1) {
- tst_brkm(TBROK, cleanup,
- "open(%s, O_RDWR|O_CREAT, %#o) failed, errno=%d : %s",
- TESTFILE, FILE_MODE, errno, strerror(errno));
- }
-
- if (close(fd) == -1) {
- tst_resm(TWARN, "close(%s) Failed, errno=%d : %s",
- TESTFILE, errno, strerror(errno));
- }
-
- /* Create a symlink of testfile under temporary directory */
- if (symlink(TESTFILE, SYMFILE) < 0) {
- tst_brkm(TBROK, cleanup,
- "symlink(%s, %s) failed, errno=%d : %s",
- TESTFILE, SYMFILE, errno, strerror(errno));
- }
-
- /* Get the strlen of testfile */
- exp_val = strlen(TESTFILE);
-}
-
-/*
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- *
- * Remove the test directory and testfile created in the setup.
- */
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /* Remove tmp dir and all files in it */
- tst_rmdir();
-
- /* exit with return code appropriate for results */
- tst_exit();
-}
diff --git a/winsup/testsuite/winsup.api/ltp/readlink02.c b/winsup/testsuite/winsup.api/ltp/readlink02.c
deleted file mode 100644
index 4ef6ffa11..000000000
--- a/winsup/testsuite/winsup.api/ltp/readlink02.c
+++ /dev/null
@@ -1,244 +0,0 @@
-/*
- * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it would be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Further, this software is distributed without any warranty that it is
- * free of the rightful claim of any third person regarding infringement
- * or the like. Any license provided herein, whether implied or
- * otherwise, applies only to this software file. Patent licenses, if
- * any, provided herein do not apply to combinations of this program with
- * other software, or any other product whatsoever.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write the Free Software Foundation, Inc., 59
- * Temple Place - Suite 330, Boston MA 02111-1307, USA.
- *
- * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
- * Mountain View, CA 94043, or:
- *
- * http://www.sgi.com
- *
- * For further information regarding this notice, see:
- *
- * http://oss.sgi.com/projects/GenInfo/NoticeExplan/
- *
- */
-/* $Id$ */
-/**********************************************************
- *
- * OS Test - Silicon Graphics, Inc.
- *
- * TEST IDENTIFIER : readlink02
- *
- * EXECUTED BY : anyone
- *
- * TEST TITLE : Basic test for readlink(2)
- *
- * PARENT DOCUMENT : usctpl01
- *
- * TEST CASE TOTAL : 1
- *
- * WALL CLOCK TIME : 1
- *
- * CPU TYPES : ALL
- *
- * AUTHOR : William Roske
- *
- * CO-PILOT : Dave Fenner
- *
- * DATE STARTED : 03/30/92
- *
- * INITIAL RELEASE : UNICOS 7.0
- *
- * TEST CASES
- *
- * 1.) readlink(2) returns...(See Description)
- *
- * INPUT SPECIFICATIONS
- * The standard options for system call tests are accepted.
- * (See the parse_opts(3) man page).
- *
- * OUTPUT SPECIFICATIONS
- *
- * DURATION
- * Terminates - with frequency and infinite modes.
- *
- * SIGNALS
- * Uses SIGUSR1 to pause before test if option set.
- * (See the parse_opts(3) man page).
- *
- * RESOURCES
- * None
- *
- * ENVIRONMENTAL NEEDS
- * No run-time environmental needs.
- *
- * SPECIAL PROCEDURAL REQUIREMENTS
- * None
- *
- * INTERCASE DEPENDENCIES
- * None
- *
- * DETAILED DESCRIPTION
- * This is a Phase I test for the readlink(2) system call. It is intended
- * to provide a limited exposure of the system call, for now. It
- * should/will be extended when full functional tests are written for
- * readlink(2).
- *
- * Setup:
- * Setup signal handling.
- * Pause for SIGUSR1 if option specified.
- *
- * Test:
- * Loop if the proper options are given.
- * Execute system call
- * Check return code, if system call failed (return=-1)
- * Log the errno and Issue a FAIL message.
- * Otherwise, Issue a PASS message.
- *
- * Cleanup:
- * Print errno log and/or timing stats if options given
- *
- *
- *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#**/
-
-#include <sys/types.h>
-#include <sys/fcntl.h>
-#include <errno.h>
-#include <string.h>
-#include <signal.h>
-#include "test.h"
-#include "usctest.h"
-
-extern void setup();
-extern void cleanup();
-
-
-
-const char *TCID="readlink02"; /* Test program identifier. */
-int TST_TOTAL=1; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-
-int exp_enos[]={0, 0};
-char fname[255], buf[255], symlnk[255];
-int fd;
-
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
-
- /***************************************************************
- * parse standard options
- ***************************************************************/
- if ( (msg=parse_opts(ac, av, (option_t *) NULL, NULL)) != (char *) NULL )
- tst_brkm(TBROK, cleanup, "OPTION PARSING ERROR - %s", msg);
-
- /***************************************************************
- * perform global setup for test
- ***************************************************************/
- setup();
-
- /* set the expected errnos... */
- TEST_EXP_ENOS(exp_enos);
-
- /***************************************************************
- * check looping state if -c option given
- ***************************************************************/
- for (lc=0; TEST_LOOPING(lc); lc++) {
-
- /* reset Tst_count in case we are looping. */
- Tst_count=0;
-
- /*
- * Call readlink(2)
- */
- TEST(readlink(symlnk, buf, 255));
-
- /* check return code */
- if ( TEST_RETURN == -1 ) {
- TEST_ERROR_LOG(TEST_ERRNO);
- tst_resm(TFAIL, "readlink(%s, buf, 255) Failed, errno=%d : %s", symlnk,
- TEST_ERRNO, strerror(TEST_ERRNO));
- } else {
-
- /***************************************************************
- * only perform functional verification if flag set (-f not given)
- ***************************************************************/
- if ( STD_FUNCTIONAL_TEST ) {
- /* No Verification test, yet... */
- tst_resm(TPASS, "readlink(%s, buf, 255) returned %d", symlnk, TEST_RETURN);
- }
- }
-
- } /* End for TEST_LOOPING */
-
- /***************************************************************
- * cleanup and exit
- ***************************************************************/
- cleanup();
-
- return 0;
-} /* End main */
-
-/***************************************************************
- * setup() - performs all ONE TIME setup for this test.
- ***************************************************************/
-void
-setup()
-{
- /* capture signals */
- tst_sig(NOFORK, DEF_HANDLER, cleanup);
-
- /* make a temp directory and cd to it */
- tst_tmpdir();
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-
- sprintf(fname,"./tfile_%d",getpid());
- if ((fd=open(fname,O_RDWR|O_CREAT,0700)) == -1) {
- tst_brkm(TBROK, cleanup,
- "open(%s, O_RDWR|O_CREAT,0700) Failed, errno=%d : %s",
- fname, errno, strerror(errno));
- }
- if (close(fd) == -1 ) {
- tst_resm(TWARN, "close(%s) Failed, errno=%d : %s",
- fname, errno, strerror(errno));
- }
- sprintf(symlnk,"./sl_%d",getpid());
- if (symlink(fname, symlnk) == -1) {
- tst_resm(TWARN, "symlnk(%s, %s) Failed, errno=%d : %s",
- fname, symlnk, errno, strerror(errno));
- }
-
-} /* End setup() */
-
-
-/***************************************************************
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- ***************************************************************/
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /* Remove tmp dir and all files in it */
- tst_rmdir();
-
- /* exit with return code appropriate for results */
- tst_exit();
-} /* End cleanup() */
diff --git a/winsup/testsuite/winsup.api/ltp/readlink03.c b/winsup/testsuite/winsup.api/ltp/readlink03.c
deleted file mode 100644
index 41cf4bbe9..000000000
--- a/winsup/testsuite/winsup.api/ltp/readlink03.c
+++ /dev/null
@@ -1,360 +0,0 @@
-/*
- *
- * Copyright (c) International Business Machines Corp., 2001
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-/*
- * Test Name : readlink03
- *
- * Test Description :
- * Verify that,
- * 1) readlink(2) returns -1 and sets errno to EACCES if search/write
- * permission is denied in the directory where the symbolic link
- * resides.
- * 2) readlink(2) returns -1 and sets errno to EINVAL if the buffer size
- * is not positive.
- * 3) readlink(2) returns -1 and sets errno to EINVAL if the specified
- * file is not a symbolic link file.
- * 4) readlink(2) returns -1 and sets errno to ENAMETOOLONG if the
- * pathname component of symbolic link is too long (ie, > PATH_MAX).
- * 5) readlink(2) returns -1 and sets errno to ENOENT if the component of
- * symbolic link points to an empty string.
- *
- * Expected Result:
- * readlink() should fail with return value -1 and set expected errno.
- *
- * Algorithm:
- * Setup:
- * Setup signal handling.
- * Create temporary directory.
- * Pause for SIGUSR1 if option specified.
- *
- * Test:
- * Loop if the proper options are given.
- * Execute system call
- * Check return code, if system call failed (return=-1)
- * if errno set == expected errno
- * Issue sys call fails with expected return value and errno.
- * Otherwise,
- * Issue sys call fails with unexpected errno.
- * Otherwise,
- * Issue sys call returns unexpected value.
- *
- * Cleanup:
- * Print errno log and/or timing stats if options given
- * Delete the temporary directory(s)/file(s) created.
- *
- * Usage: <for command-line>
- * readlink03 [-c n] [-e] [-i n] [-I x] [-P x] [-t]
- * where, -c n : Run n copies concurrently.
- * -e : Turn on errno logging.
- * -i n : Execute test n times.
- * -I x : Execute test for x seconds.
- * -P x : Pause for x seconds between iterations.
- * -t : Turn on syscall timing.
- *
- * HISTORY
- * 07/2001 Ported by Wayne Boyer
- *
- * RESTRICTIONS:
- * This test should be executed by 'non-super-user' only.
- */
-
-#include <sys/types.h>
-#include <sys/fcntl.h>
-#include <errno.h>
-#include <string.h>
-#include <signal.h>
-#include <sys/stat.h>
-
-#include "test.h"
-#include "usctest.h"
-
-#define MODE_RWX S_IRWXU | S_IRWXG | S_IRWXO
-#define FILE_MODE S_IRUSR | S_IRGRP | S_IROTH
-#define DIR_TEMP "testdir_1"
-#define TESTFILE "testfile"
-#define TEST_FILE1 "testdir_1/tfile_1"
-#define SYM_FILE1 "testdir_1/sfile_1"
-#define TEST_FILE2 "tfile_2"
-#define SYM_FILE2 "sfile_2"
-#define MAX_SIZE 256
-
-const char *TCID="readlink03"; /* Test program identifier. */
-int TST_TOTAL=5; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-int exp_enos[]={EACCES, EINVAL, ENAMETOOLONG, ENOENT, 0};
-
-int no_setup();
-int setup1(); /* setup function to test symlink for EACCES */
-int setup2(); /* setup function to test symlink for EEXIST */
-int lpath_setup(); /* setup function to test chmod for ENAMETOOLONG */
-
-char Longpathname[PATH_MAX+2];
-
-struct test_case_t { /* test case struct. to hold ref. test cond's*/
- const char *link;
- const char *desc;
- int exp_errno;
- size_t buf_siz;
- int (*setupfunc)();
-} Test_cases[] = {
-#ifndef __CYGWIN__
- { SYM_FILE1, "No Search permissions to process", EACCES, 1, setup1 },
- { SYM_FILE2, "Buffer size is not positive", EINVAL, -1, setup2 },
- { TEST_FILE2, "File is not symbolic link", EINVAL, 1, no_setup },
-#else
- { TEST_FILE2, "File is not symbolic link", EINVAL, 1, setup2 },
-#endif
- { Longpathname, "Symlink path too long", ENAMETOOLONG, 1, lpath_setup },
- { "", "Symlink Pathname is empty", ENOENT, 1, no_setup },
- { NULL, NULL, 0, 0, no_setup }
-};
-
-extern void setup(); /* Setup function for the test */
-void cleanup() __attribute__((noreturn));/* Cleanup function for the test */
-
-int
-main(int ac, char **av)
-{
- char buffer[MAX_SIZE]; /* temporary buffer to hold symlink contents*/
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
- const char *sym_file; /* symbolic link file name */
- const char *test_desc; /* test specific error message */
- int i; /* counter to test different test conditions */
- size_t buf_size; /* size of buffer for readlink */
-
- /* Parse standard options given to run the test. */
- msg = parse_opts(ac, av, (option_t *)NULL, NULL);
- if (msg != (char *)NULL) {
- tst_brkm(TBROK, tst_exit, "OPTION PARSING ERROR - %s", msg);
- }
-
- /*
- * Invoke setup function to call individual test setup functions
- * to simulate test conditions.
- */
- setup();
-
- /* set the expected errnos... */
- TEST_EXP_ENOS(exp_enos);
-
- /* Check looping state if -i option given */
- for (lc = 0; TEST_LOOPING(lc); lc++) {
- /* Reset Tst_count in case we are looping. */
- Tst_count=0;
-
- for (i = 0; Test_cases[i].desc != NULL; i++) {
- sym_file = Test_cases[i].link;
- test_desc = Test_cases[i].desc;
- buf_size = Test_cases[i].buf_siz;
-
- if (buf_size == 1) {
- buf_size = sizeof(buffer);
- }
-
- /*
- * Call readlink(2) to test different test conditions.
- * verify that it fails with -1 return value and sets
- * appropriate errno.
- */
- TEST(readlink(sym_file, buffer, buf_size));
-
- /* Check return code of readlink(2) */
- if (TEST_RETURN != -1) {
- tst_resm(TFAIL, "readlink() returned %d, "
- "expected -1, errno:%d", TEST_RETURN,
- Test_cases[i].exp_errno);
- continue;
- }
-
- TEST_ERROR_LOG(TEST_ERRNO);
-
- if (TEST_ERRNO == Test_cases[i].exp_errno) {
- tst_resm(TPASS, "readlink(), %s, returned "
- "errno %d", test_desc, TEST_ERRNO);
- tst_resm(TPASS, "readlink(), %s, returned "
- "errno %d", test_desc, TEST_ERRNO);
- } else {
- tst_resm(TFAIL, "readlink() failed, %s, "
- "errno=%d, expected errno=%d",
- test_desc, TEST_ERRNO,
- Test_cases[i].exp_errno);
- }
- } /* End of TEST CASE LOOPING. */
- } /* End for TEST_LOOPING */
- /* Call cleanup() to undo setup done for the test. */
- cleanup();
-
- /*NOTREACHED*/
-} /* End main */
-
-/*
- * setup() - performs all ONE TIME setup for this test.
- *
- * Create a temporary directory and change directory to it.
- * Call test specific setup functions.
- */
-void
-setup()
-{
- int i;
-
- /* make sure test is not being run as root */
- if (0 == geteuid()) {
- tst_brkm(TBROK, tst_exit, "Must not run test as root");
- }
-
- /* capture signals */
- tst_sig(NOFORK, DEF_HANDLER, cleanup);
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-
- /* make a temp directory and cd to it */
- tst_tmpdir();
-
- /* call individual setup functions */
- for (i = 0; Test_cases[i].desc != NULL; i++) {
- Test_cases[i].setupfunc();
- }
-}
-
-/*
- * no_setup() - Some test conditions for readlink(2) do not any setup.
- */
-int
-no_setup()
-{
- return 0;
-}
-
-/*
- * setup1() - setup function for a test condition for which readlink(2)
- * returns -1 and sets errno to EACCES.
- *
- * Create a test directory under temporary directory and create a test file
- * under this directory with mode "0666" permissions.
- * Create a symlink of testfile under test directory.
- * Modify the mode permissions on test directory such that process will not
- * have search permissions on test directory.
- */
-int
-setup1()
-{
- int fd; /* file handle for testfile */
-
- if (mkdir(DIR_TEMP, MODE_RWX) < 0) {
- tst_brkm(TBROK, cleanup, "mkdir(2) of %s failed", DIR_TEMP);
- }
-
- if ((fd = open(TEST_FILE1, O_RDWR|O_CREAT, 0666)) == -1) {
- tst_brkm(TBROK, cleanup,
- "open(%s, O_RDWR|O_CREAT, 0666) failed, errno=%d : %s",
- TEST_FILE1, errno, strerror(errno));
- }
- if (close(fd) == -1) {
- tst_brkm(TBROK, cleanup, "close(%s) failed, errno=%d : %s",
- TEST_FILE1, errno, strerror(errno));
- }
-
- /* Creat a symbolic link of testfile under test directory */
- if (symlink(TEST_FILE1, SYM_FILE1) < 0) {
- tst_brkm(TBROK, cleanup, "symlink of %s failed", TEST_FILE1);
- }
-
- /* Modify mode permissions on test directory */
- if (chmod(DIR_TEMP, FILE_MODE) < 0) {
- tst_brkm(TBROK, cleanup, "chmod(2) of %s failed", DIR_TEMP);
- }
- return 0;
-}
-
-/*
- * setup2() - setup function for a test condition for which readlink(2)
- * returns -1 and sets errno to EINVAL.
- *
- * Create a testfile under temporary directory and create a symlink
- * file of it.
- */
-int
-setup2()
-{
- int fd; /* file handle for testfile */
-
- /* Creat a testfile and close it */
- if ((fd = open(TEST_FILE2, O_RDWR|O_CREAT, 0666)) == -1) {
- tst_brkm(TBROK, cleanup,
- "open(%s, O_RDWR|O_CREAT, 0666) failed, errno=%d : %s",
- TEST_FILE2, errno, strerror(errno));
- }
- if (close(fd) == -1) {
- tst_brkm(TBROK, cleanup, "close(%s) failed, errno=%d : %s",
- TEST_FILE2, errno, strerror(errno));
- }
-
- /* Creat a symlink of testfile created above */
- if (symlink(TEST_FILE2, SYM_FILE2) < 0) {
- tst_brkm(TBROK, cleanup, "symlink() failed to create %s in "
- "setup2, error=%d", SYM_FILE2, errno);
- }
- return 0;
-}
-
-/*
- * lpath_setup() - setup to create a node with a name length exceeding
- * the MAX. length of PATH_MAX.
- */
-int
-lpath_setup()
-{
- int i; /* counter variable */
-
- for (i = 0; i <= (PATH_MAX + 1); i++) {
- Longpathname[i] = 'a';
- }
- return 0;
-}
-
-/*
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- *
- * Restore the mode permissions on test directory.
- * Remove the temporary directory created in the setup.
- */
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /* Restore mode permissions on test directory created in setup2() */
- if (chmod(DIR_TEMP, MODE_RWX) < 0) {
- tst_brkm(TBROK, NULL, "chmod(2) of %s failed", DIR_TEMP);
- }
-
- /* Remove tmp dir and all files in it */
- tst_rmdir();
-
- /* exit with return code appropriate for results */
- tst_exit();
-}
diff --git a/winsup/testsuite/winsup.api/ltp/rename01.c b/winsup/testsuite/winsup.api/ltp/rename01.c
deleted file mode 100644
index 14ae1f245..000000000
--- a/winsup/testsuite/winsup.api/ltp/rename01.c
+++ /dev/null
@@ -1,263 +0,0 @@
-/*
- *
- * Copyright (c) International Business Machines Corp., 2001
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-/*
- * NAME
- * rename01
- *
- * DESCRIPTION
- * This test will verify the rename(2) syscall basic functionality.
- * Verify rename() works when the "new" file or directory does not exist.
- *
- * ALGORITHM
- * Setup:
- * Setup signal handling.
- * Create temporary directory.
- * Pause for SIGUSR1 if option specified.
- *
- * Test:
- * Loop if the proper options are given.
- * 1. "old" is plain file, new does not exists
- * create the "old" file, make sure the "new" file
- * dose not exist
- * rename the "old" to the "new" file
- * verify the "new" file points to the "old" file
- * verify the "old" file does not exist
- *
- * 2. "old" is a directory,"new" does not exists
- * create the "old" directory, make sure "new"
- * dose not exist
- * rename the "old" to the "new"
- * verify the "new" points to the "old"
- * verify the "old" does not exist
- * Cleanup:
- * Print errno log and/or timing stats if options given
- * Delete the temporary directory created.
- *
- * USAGE
- * rename01 [-c n] [-f] [-i n] [-I x] [-P x] [-t]
- * where, -c n : Run n copies concurrently.
- * -f : Turn off functionality Testing.
- * -i n : Execute test n times.
- * -I x : Execute test for x seconds.
- * -P x : Pause for x seconds between iterations.
- * -t : Turn on syscall timing.
- *
- * HISTORY
- * 07/2001 Ported by Wayne Boyer
- *
- * RESTRICTIONS
- * None.
- */
-#include <sys/types.h>
-#include <sys/fcntl.h>
-#include <sys/stat.h>
-#include <errno.h>
-
-#include "test.h"
-#include "usctest.h"
-
-void setup();
-void cleanup(void) __attribute__((noreturn));
-extern void do_file_setup(char *);
-
-const char *TCID="rename01"; /* Test program identifier. */
-int TST_TOTAL=2; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-
-char fname[255], mname[255];
-char fdir[255], mdir[255];
-struct stat buf1;
-dev_t f_olddev, d_olddev;
-ino_t f_oldino, d_oldino;
-
-struct test_case_t {
- const char *name1;
- const char *name2;
- const char *desc;
- dev_t *olddev;
- ino_t *oldino;
-} TC[] = {
- /* comment goes here */
- {fname, mname, "file", &f_olddev, &f_oldino},
-
- /* comment goes here */
- {fdir, mdir, "directory", &d_olddev, &d_oldino}
-};
-
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
- int i;
-
- /*
- * parse standard options
- */
- if ((msg=parse_opts(ac, av, (option_t *)NULL, NULL)) != (char *)NULL) {
- tst_brkm(TBROK, tst_exit, "OPTION PARSING ERROR - %s", msg);
- }
-
- /*
- * perform global setup for test
- */
- setup();
-
- /*
- * check looping state if -i option given
- */
- for (lc=0; TEST_LOOPING(lc); lc++) {
-
- /* reset Tst_count in case we are looping. */
- Tst_count=0;
-
- /* loop through the test cases */
- for (i=0; i<TST_TOTAL; i++) {
-
- TEST(rename(TC[i].name1, TC[i].name2));
-
- if (TEST_RETURN == -1) {
- tst_resm(TFAIL, "call failed unexpectedly");
- continue;
- }
-
- if (STD_FUNCTIONAL_TEST) {
- if (stat(TC[i].name2, &buf1) == -1) {
- tst_brkm(TBROK, cleanup, "stat of %s "
- "failed", TC[i].desc);
- /* NOTREACHED */
- }
-
- /*
- * verify the new file or directory is the
- * same as the old one
- */
- if (buf1.st_dev != *TC[i].olddev ||
- buf1.st_ino != *TC[i].oldino) {
- tst_resm(TFAIL, "rename() failed: the "
- "new %s points to a different "
- "inode/location", TC[i].desc);
- continue;
- }
- /*
- * verify that the old file or directory
- * does not exist
- */
- if (stat(fname, &buf1) != -1) {
- tst_resm(TFAIL, "the old %s still "
- "exists", TC[i].desc);
- continue;
- }
-
- tst_resm(TPASS, "functionality is correct "
- "for renaming a %s", TC[i].desc);
- } else {
- tst_resm(TPASS, "call succeeded on %s rename",
- TC[i].desc);
- }
- }
- /* reset things in case we are looping */
- if (rename(mname, fname) == -1) {
- tst_brkm(TBROK, cleanup, "file rename failed");
- }
-
- if (rename(mdir, fdir) == -1) {
- tst_brkm(TBROK, cleanup, "directory rename failed");
- }
- } /* End for TEST_LOOPING */
-
- /*
- * cleanup and exit
- */
- cleanup();
- /*NOTREACHED*/
-}
-
-/*
- * setup() - performs all ONE TIME setup for this test.
- */
-void
-setup()
-{
- /* capture signals */
- tst_sig(NOFORK, DEF_HANDLER, cleanup);
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-
- /* Create a temporary directory and make it current. */
- tst_tmpdir();
-
- sprintf(fname,"./tfile_%d",getpid());
- sprintf(mname,"./rnfile_%d",getpid());
- sprintf(fdir,"./tdir_%d",getpid());
- sprintf(mdir,"./rndir_%d",getpid());
-
- /* create the "old" file */
- do_file_setup(fname);
-
- if (stat(fname, &buf1)== -1) {
- tst_brkm(TBROK,cleanup, "failed to stat file %s"
- "in setup()", fname);
- /* NOTREACHED */
- }
-
- f_olddev = buf1.st_dev;
- f_oldino = buf1.st_ino;
-
- /* create "old" directory */
- if (mkdir(fdir, 00770) == -1) {
- tst_brkm(TBROK, cleanup, "Could not create directory %s", fdir);
- /*NOTREACHED*/
- }
-
- if (stat(fdir, &buf1) == -1) {
- tst_brkm(TBROK, cleanup, "failed to stat directory %s"
- "in setup()", fname);
- /* NOTREACHED */
- }
-
- d_olddev = buf1.st_dev;
- d_oldino = buf1.st_ino;
-}
-
-/*
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- */
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /*
- * Remove the temporary directory.
- */
- tst_rmdir();
-
- /*
- * Exit with return code appropriate for results.
- */
- tst_exit();
-}
diff --git a/winsup/testsuite/winsup.api/ltp/rename02.c b/winsup/testsuite/winsup.api/ltp/rename02.c
deleted file mode 100644
index d34cd104a..000000000
--- a/winsup/testsuite/winsup.api/ltp/rename02.c
+++ /dev/null
@@ -1,251 +0,0 @@
-/*
- * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it would be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Further, this software is distributed without any warranty that it is
- * free of the rightful claim of any third person regarding infringement
- * or the like. Any license provided herein, whether implied or
- * otherwise, applies only to this software file. Patent licenses, if
- * any, provided herein do not apply to combinations of this program with
- * other software, or any other product whatsoever.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write the Free Software Foundation, Inc., 59
- * Temple Place - Suite 330, Boston MA 02111-1307, USA.
- *
- * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
- * Mountain View, CA 94043, or:
- *
- * http://www.sgi.com
- *
- * For further information regarding this notice, see:
- *
- * http://oss.sgi.com/projects/GenInfo/NoticeExplan/
- *
- */
-/* $Id$ */
-/**********************************************************
- *
- * OS Test - Silicon Graphics, Inc.
- *
- * TEST IDENTIFIER : rename02
- *
- * EXECUTED BY : anyone
- *
- * TEST TITLE : Basic test for rename(2)
- *
- * PARENT DOCUMENT : usctpl01
- *
- * TEST CASE TOTAL : 1
- *
- * WALL CLOCK TIME : 1
- *
- * CPU TYPES : ALL
- *
- * AUTHOR : William Roske
- *
- * CO-PILOT : Dave Fenner
- *
- * DATE STARTED : 03/30/92
- *
- * INITIAL RELEASE : UNICOS 7.0
- *
- * TEST CASES
- *
- * 1.) rename(2) returns...(See Description)
- *
- * INPUT SPECIFICATIONS
- * The standard options for system call tests are accepted.
- * (See the parse_opts(3) man page).
- *
- * OUTPUT SPECIFICATIONS
- *
- * DURATION
- * Terminates - with frequency and infinite modes.
- *
- * SIGNALS
- * Uses SIGUSR1 to pause before test if option set.
- * (See the parse_opts(3) man page).
- *
- * RESOURCES
- * None
- *
- * ENVIRONMENTAL NEEDS
- * No run-time environmental needs.
- *
- * SPECIAL PROCEDURAL REQUIREMENTS
- * None
- *
- * INTERCASE DEPENDENCIES
- * None
- *
- * DETAILED DESCRIPTION
- * This is a Phase I test for the rename(2) system call. It is intended
- * to provide a limited exposure of the system call, for now. It
- * should/will be extended when full functional tests are written for
- * rename(2).
- *
- * Setup:
- * Setup signal handling.
- * Pause for SIGUSR1 if option specified.
- *
- * Test:
- * Loop if the proper options are given.
- * Execute system call
- * Check return code, if system call failed (return=-1)
- * Log the errno and Issue a FAIL message.
- * Otherwise, Issue a PASS message.
- *
- * Cleanup:
- * Print errno log and/or timing stats if options given
- *
- *
- *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#**/
-
-#include <sys/types.h>
-#include <sys/fcntl.h>
-#include <errno.h>
-#include <string.h>
-#include <signal.h>
-#include "test.h"
-#include "usctest.h"
-
-extern void setup();
-extern void cleanup();
-void do_file_setup();
-
-
-
-const char *TCID="rename02"; /* Test program identifier. */
-int TST_TOTAL=1; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-
-int exp_enos[]={0, 0};
-int fd;
-char fname[255], mname[255];
-
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
-
- /***************************************************************
- * parse standard options
- ***************************************************************/
- if ( (msg=parse_opts(ac, av, (option_t *) NULL, NULL)) != (char *) NULL )
- tst_brkm(TBROK, cleanup, "OPTION PARSING ERROR - %s", msg);
-
- /***************************************************************
- * perform global setup for test
- ***************************************************************/
- setup();
-
- /* set the expected errnos... */
- TEST_EXP_ENOS(exp_enos);
-
- /***************************************************************
- * check looping state if -c option given
- ***************************************************************/
- for (lc=0; TEST_LOOPING(lc); lc++) {
-
- /* reset Tst_count in case we are looping. */
- Tst_count=0;
-
- /*
- * Call rename(2)
- */
- TEST(rename(fname, mname));
-
- /* check return code */
- if ( TEST_RETURN == -1 ) {
- TEST_ERROR_LOG(TEST_ERRNO);
- tst_resm(TFAIL, "rename(%s, %s) Failed, errno=%d : %s", fname, mname,
- TEST_ERRNO, strerror(TEST_ERRNO));
- } else {
- /***************************************************************
- * only perform functional verification if flag set (-f not given)
- ***************************************************************/
- if ( STD_FUNCTIONAL_TEST ) {
- /* No Verification test, yet... */
- tst_resm(TPASS, "rename(%s, %s) returned %d", fname, mname, TEST_RETURN);
- }
- if (unlink(mname) == -1) {
- tst_resm(TWARN, "unlink(%s) Failed, errno=%d : %s", mname, errno, strerror(errno));
- }
- do_file_setup();
- }
- } /* End for TEST_LOOPING */
-
- /***************************************************************
- * cleanup and exit
- ***************************************************************/
- cleanup();
-
- return 0;
-} /* End main */
-
-/***************************************************************
- * setup() - performs all ONE TIME setup for this test.
- ***************************************************************/
-void
-setup()
-{
- /* capture signals */
- tst_sig(NOFORK, DEF_HANDLER, cleanup);
-
- /* make a temp directory and cd to it */
- tst_tmpdir();
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-
- sprintf(fname,"./tfile_%d",getpid());
- sprintf(mname,"./rnfile_%d",getpid());
- do_file_setup();
-
-} /* End setup() */
-
-
-/***************************************************************
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- ***************************************************************/
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /* Remove tmp dir and all files in it */
- tst_rmdir();
-
- /* exit with return code appropriate for results */
- tst_exit();
-
-} /* End cleanup() */
-
-void
-do_file_setup()
-{
- if ((fd=open(fname,O_RDWR|O_CREAT,0700)) == -1) {
- tst_brkm(TBROK, cleanup,
- "open(%s, O_RDWR|O_CREAT,0700) Failed, errno=%d : %s",
- fname, errno, strerror(errno));
- }
-
- if (close(fd) == -1 )
- tst_resm(TWARN, "close(%s) Failed on file create, errno=%d : %s",
- fname, errno, strerror(errno));
-
-}
diff --git a/winsup/testsuite/winsup.api/ltp/rename08.c b/winsup/testsuite/winsup.api/ltp/rename08.c
deleted file mode 100644
index 0788ddc98..000000000
--- a/winsup/testsuite/winsup.api/ltp/rename08.c
+++ /dev/null
@@ -1,205 +0,0 @@
-/*
- *
- * Copyright (c) International Business Machines Corp., 2001
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-/*
- * NAME
- * rename08
- *
- * DESCRIPTION
- * This test will verify that rename(2) syscall failed in EFAULT
- *
- * ALGORITHM
- * Setup:
- * Setup signal handling.
- * Create temporary directory.
- * Pause for SIGUSR1 if option specified.
- * Create a valid file to use in the rename() call.
- *
- * Test:
- * Loop if the proper options are given.
- * 1. "old" is a valid file, newpath points to address
- * outside allocated address space
- * rename the "old" to the "new" file
- * verify rename() failed with error EFAULT
- *
- * 2. "old" points to address outside allocated address space
- * ,"new" is a valid file
- * rename the "old" to the "new"
- * verify rename() failed with error EFAULT
- *
- * 3. oldpath and newpath are all NULL
- * try to rename NULL to NULL
- * verify rename() failed with error EFAULT
- * Cleanup:
- * Print errno log and/or timing stats if options given
- * Delete the temporary directory created.*
- * USAGE
- * rename08 [-c n] [-e] [-i n] [-I x] [-P x] [-t]
- * where, -c n : Run n copies concurrently.
- * -e : Turn on errno logging.
- * -i n : Execute test n times.
- * -I x : Execute test for x seconds.
- * -P x : Pause for x seconds between iterations.
- * -t : Turn on syscall timing.
- *
- * HISTORY
- * 07/2001 Ported by Wayne Boyer
- *
- * RESTRICTIONS
- * None.
- */
-#include <sys/types.h>
-#include <sys/fcntl.h>
-#include <errno.h>
-
-#include "test.h"
-#include "usctest.h"
-
-void setup();
-void cleanup(void) __attribute__((noreturn));
-extern void do_file_setup(char *);
-
-const char *TCID="rename08"; /* Test program identifier. */
-int TST_TOTAL=3; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-
-int exp_enos[]={EFAULT, 0}; /* List must end with 0 */
-
-int fd;
-char fname[255];
-
-struct test_case_t {
- char *fd;
- char *fd2;
- int error;
-} TC[] = {
- /* "new" file is invalid - EFAULT */
- {fname, (char *)-1, EFAULT},
-
- /* "old" file is invalid - EFAULT */
- {(char *)-1, fname, EFAULT},
-
- /* both files are NULL - EFAULT */
- {NULL, NULL, EFAULT}
-};
-
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
- int i;
-
- /*
- * parse standard options
- */
- if ((msg=parse_opts(ac, av, (option_t *)NULL, NULL)) != (char *)NULL) {
- tst_brkm(TBROK, tst_exit, "OPTION PARSING ERROR - %s", msg);
- }
-
- /*
- * perform global setup for test
- */
- setup();
-
- /* set the expected errnos... */
- TEST_EXP_ENOS(exp_enos);
-
- /*
- * check looping state if -i option given
- */
- for (lc=0; TEST_LOOPING(lc); lc++) {
-
- /* reset Tst_count in case we are looping. */
- Tst_count=0;
-
- /* loop through the test cases */
- for (i = 0; i < TST_TOTAL; i++) {
-
- TEST(rename(TC[i].fd, TC[i].fd2));
-
- if (TEST_RETURN != -1) {
- tst_resm(TFAIL, "call succeeded unexpectedly");
- continue;
- }
-
- TEST_ERROR_LOG(TEST_ERRNO);
-
- if (TEST_ERRNO == TC[i].error) {
- tst_resm(TPASS, "expected failure - "
- "errno = %d : %s", TEST_ERRNO,
- strerror(TEST_ERRNO));
- } else {
- tst_resm(TFAIL, "unexpected error - %d : %s - "
- "expected %d", TEST_ERRNO,
- strerror(TEST_ERRNO), TC[i].error);
- }
- }
- } /* End for TEST_LOOPING */
-
- /*
- * cleanup and exit
- */
- cleanup();
- /*NOTREACHED*/
-}
-
-/*
- * setup() - performs all ONE TIME setup for this test.
- */
-void
-setup()
-{
- /* capture signals */
- tst_sig(NOFORK, DEF_HANDLER, cleanup);
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-
- /* Create a temporary directory and make it current. */
- tst_tmpdir();
-
- sprintf(fname,"./tfile_%d",getpid());
-
- do_file_setup(fname);
-}
-
-/*
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- */
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /*
- * Remove the temporary directory.
- */
- tst_rmdir();
-
- /*
- * Exit with return code appropriate for results.
- */
- tst_exit();
-}
diff --git a/winsup/testsuite/winsup.api/ltp/rename10.c b/winsup/testsuite/winsup.api/ltp/rename10.c
deleted file mode 100644
index 438ef3725..000000000
--- a/winsup/testsuite/winsup.api/ltp/rename10.c
+++ /dev/null
@@ -1,203 +0,0 @@
-/*
- *
- * Copyright (c) International Business Machines Corp., 2001
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-/*
- * NAME
- * rename10
- *
- * DESCRIPTION
- * This test will verify that rename(2) syscall fails with ENAMETOOLONG
- * and ENOENT
- *
- * ALGORITHM
- * Setup:
- * Setup signal handling.
- * Create temporary directory.
- * Pause for SIGUSR1 if option specified.
- * create the "old" file
- *
- * Test:
- * Loop if the proper options are given.
- * 1. rename the "old" to the "new" file
- * verify rename() failed with error ENAMETOOLONG
- *
- * 2. "new" path contains a directory that does not exist
- * rename the "old" to the "new"
- * verify rename() failed with error ENOENT
- * Cleanup:
- * Print errno log and/or timing stats if options given
- * Delete the temporary directory created.*
- *
- * USAGE
- * rename10 [-c n] [-e] [-i n] [-I x] [-P x] [-t]
- * where, -c n : Run n copies concurrently.
- * -e : Turn on errno logging.
- * -i n : Execute test n times.
- * -I x : Execute test for x seconds.
- * -P x : Pause for x seconds between iterations.
- * -t : Turn on syscall timing.
- *
- * HISTORY
- * 07/2001 Ported by Wayne Boyer
- *
- * RESTRICTIONS
- * None.
- */
-#include <sys/types.h>
-#include <sys/fcntl.h>
-#include <errno.h>
-
-#include "test.h"
-#include "usctest.h"
-
-void setup();
-void cleanup(void) __attribute__((noreturn));
-extern void do_file_setup(char *);
-
-const char *TCID="rename10"; /* Test program identifier. */
-int TST_TOTAL=2; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-
-char badmname[] = "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstmnopqrstuvwxyzabcdefghijklmnopqrstmnopqrstuvwxyzabcdefghijklmnopqrstmnopqrstuvwxyzabcdefghijklmnopqrstmnopqrstuvwxyzabcdefghijklmnopqrstmnopqrstuvwxyzabcdefghijklmnopqrstmnopqrstuvwxyz";
-
-int exp_enos[]={ENAMETOOLONG, ENOENT, 0}; /* List must end with 0 */
-
-int fd;
-char fname[255], mname[255];
-char mdir[255];
-
-struct test_case_t {
- char *fd1;
- char *fd2;
- int error;
-} TC[] = {
- /* badmname is too long for a file name - ENAMETOOLONG */
- {fname, badmname, ENAMETOOLONG},
-
- /* mname contains a directory component which does not exist - ENOENT */
- {fname, mname, ENOENT}
-};
-
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
- int i;
-
- /*
- * parse standard options
- */
- if ((msg=parse_opts(ac, av, (option_t *)NULL, NULL)) != (char *)NULL) {
- tst_brkm(TBROK, tst_exit, "OPTION PARSING ERROR - %s", msg);
- }
-
- /*
- * perform global setup for test
- */
- setup();
-
- /* set the expected errnos... */
- TEST_EXP_ENOS(exp_enos);
-
- /*
- * check looping state if -i option given
- */
- for (lc=0; TEST_LOOPING(lc); lc++) {
-
- /* reset Tst_count in case we are looping. */
- Tst_count=0;
-
- /* loop through the test cases */
- for (i=0; i < TST_TOTAL; i++) {
-
- TEST(rename(TC[i].fd1, TC[i].fd2));
-
- if (TEST_RETURN != -1) {
- tst_resm(TFAIL, "call succeeded unexpectedly");
- continue;
- }
-
- TEST_ERROR_LOG(TEST_ERRNO);
-
- if (TEST_ERRNO == TC[i].error) {
- tst_resm(TPASS, "expected failure - "
- "errno = %d : %s", TEST_ERRNO,
- strerror(TEST_ERRNO));
- } else {
- tst_resm(TFAIL, "unexpected error - %d : %s - "
- "expected %d", TEST_ERRNO,
- strerror(TEST_ERRNO), TC[i].error);
- }
- }
- } /* End for TEST_LOOPING */
-
- /*
- * cleanup and exit
- */
- cleanup();
-
- /*NOTREACHED*/
-}
-
-/*
- * setup() - performs all ONE TIME setup for this test.
- */
-void
-setup()
-{
- /* capture signals */
- tst_sig(NOFORK, DEF_HANDLER, cleanup);
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-
- /* Create a temporary directory and make it current. */
- tst_tmpdir();
-
- sprintf(fname,"./tfile_%d",getpid());
- sprintf(mdir,"./rndir_%d",getpid());
- sprintf(mname,"%s/rnfile_%d",mdir,getpid());
-
- do_file_setup(fname);
-}
-
-/*
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- */
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /*
- * Remove the temporary directory.
- */
- tst_rmdir();
-
- /*
- * Exit with return code appropriate for results.
- */
- tst_exit();
-}
diff --git a/winsup/testsuite/winsup.api/ltp/rmdir01.c b/winsup/testsuite/winsup.api/ltp/rmdir01.c
deleted file mode 100644
index 1d41f1c13..000000000
--- a/winsup/testsuite/winsup.api/ltp/rmdir01.c
+++ /dev/null
@@ -1,189 +0,0 @@
-/*
- *
- * Copyright (c) International Business Machines Corp., 2001
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-/*
- * NAME
- * rmdir01
- *
- * DESCRIPTION
- * This test will verify that rmdir(2) syscall basic functionality.
- * verify rmdir(2) returns a value of 0 and the directory being
- * removed
- *
- * ALGORITHM
- * Setup:
- * Setup signal handling.
- * Create temporary directory.
- * Pause for SIGUSR1 if option specified.
- *
- * Test:
- * Loop if the proper options are given.
- * make a directory tstdir
- * call rmdir(tstdir), check the return value
- * verify the directory tstdir does not exists.
- *
- * Cleanup:
- * Print errno log and/or timing stats if options given
- * Delete the temporary directory created.*
- * USAGE
- * rmdir01 [-c n] [-f] [-i n] [-I x] [-P x] [-t]
- * where, -c n : Run n copies concurrently.
- * -f : Turn off functionality Testing.
- * -i n : Execute test n times.
- * -I x : Execute test for x seconds.
- * -P x : Pause for x seconds between iterations.
- * -t : Turn on syscall timing.
- *
- * HISTORY
- * 07/2001 Ported by Wayne Boyer
- *
- * RESTRICTIONS
- * None.
- */
-#include <errno.h>
-#include <string.h>
-#include <sys/stat.h>
-#include <sys/types.h>
-#include <fcntl.h>
-#include "test.h"
-#include "usctest.h"
-
-void setup();
-void cleanup() __attribute__((noreturn));
-
-#define PERMS 0777
-
-const char *TCID="rmdir01"; /* Test program identifier. */
-int TST_TOTAL=1; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-
-char tstdir [100];
-
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
- struct stat buf;
-
- /*
- * parse standard options
- */
- if ((msg=parse_opts(ac, av, (option_t *)NULL, NULL)) != (char *)NULL) {
- tst_brkm(TBROK, tst_exit, "OPTION PARSING ERROR - %s", msg);
- }
-
- /*
- * perform global setup for test
- */
- setup();
-
- /*
- * check looping state if -i option given
- */
- for (lc=0; TEST_LOOPING(lc); lc++) {
-
- /* reset Tst_count in case we are looping. */
- Tst_count=0;
-
- /*
- * TEST rmdir() base functionality
- */
-
- /* Initialize the test directory name */
-
- /* create a directory */
- if ( mkdir(tstdir, PERMS) == -1 ) {
- tst_brkm(TBROK, cleanup, "mkdir(%s, %#o) Failed",
- tstdir, PERMS);
- /*NOTREACHED*/
- }
- /* call rmdir using TEST macro */
-
- TEST(rmdir(tstdir));
-
- if (TEST_RETURN == -1 ) {
- tst_resm(TFAIL, "rmdir(%s) Failed", tstdir);
- continue;
- }
-
- if (STD_FUNCTIONAL_TEST) {
- /* check whether tstdir been removed */
- if (stat(tstdir, &buf) != -1) {
- tst_resm(TFAIL, "directory %s still exists",
- tstdir);
- continue;
- } else {
- tst_resm(TPASS, "directory has been removed");
- }
- } else {
- tst_resm(TPASS, "call succeeded");
- }
-
- } /* End for TEST_LOOPING */
-
- /*
- * cleanup and exit
- */
- cleanup();
-
- /*NOTREACHED*/
-}
-
-/*
- * setup() - performs all ONE TIME setup for this test.
- */
-void
-setup()
-{
- /* capture signals */
- tst_sig(NOFORK, DEF_HANDLER, cleanup);
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-
- /* Create a temporary directory and make it current. */
- tst_tmpdir();
-
- sprintf(tstdir,"./tstdir_%d",getpid());
-}
-
-/*
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- */
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /*
- * Remove the temporary directory.
- */
- tst_rmdir();
-
- /*
- * Exit with return code appropriate for results.
- */
- tst_exit();
-}
diff --git a/winsup/testsuite/winsup.api/ltp/rmdir04.c b/winsup/testsuite/winsup.api/ltp/rmdir04.c
deleted file mode 100644
index ece6a9ff4..000000000
--- a/winsup/testsuite/winsup.api/ltp/rmdir04.c
+++ /dev/null
@@ -1,236 +0,0 @@
-/*
- * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it would be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Further, this software is distributed without any warranty that it is
- * free of the rightful claim of any third person regarding infringement
- * or the like. Any license provided herein, whether implied or
- * otherwise, applies only to this software file. Patent licenses, if
- * any, provided herein do not apply to combinations of this program with
- * other software, or any other product whatsoever.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write the Free Software Foundation, Inc., 59
- * Temple Place - Suite 330, Boston MA 02111-1307, USA.
- *
- * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
- * Mountain View, CA 94043, or:
- *
- * http://www.sgi.com
- *
- * For further information regarding this notice, see:
- *
- * http://oss.sgi.com/projects/GenInfo/NoticeExplan/
- *
- */
-/* $Id$ */
-/**********************************************************
- *
- * OS Test - Silicon Graphics, Inc.
- *
- * TEST IDENTIFIER : rmdir04
- *
- * EXECUTED BY : anyone
- *
- * TEST TITLE : Basic test for rmdir(2)
- *
- * PARENT DOCUMENT : usctpl01
- *
- * TEST CASE TOTAL : 1
- *
- * WALL CLOCK TIME : 1
- *
- * CPU TYPES : ALL
- *
- * AUTHOR : William Roske
- *
- * CO-PILOT : Dave Fenner
- *
- * DATE STARTED : 03/30/92
- *
- * INITIAL RELEASE : UNICOS 7.0
- *
- * TEST CASES
- *
- * 1.) rmdir(2) returns...(See Description)
- *
- * INPUT SPECIFICATIONS
- * The standard options for system call tests are accepted.
- * (See the parse_opts(3) man page).
- *
- * OUTPUT SPECIFICATIONS
- *
- * DURATION
- * Terminates - with frequency and infinite modes.
- *
- * SIGNALS
- * Uses SIGUSR1 to pause before test if option set.
- * (See the parse_opts(3) man page).
- *
- * RESOURCES
- * None
- *
- * ENVIRONMENTAL NEEDS
- * No run-time environmental needs.
- *
- * SPECIAL PROCEDURAL REQUIREMENTS
- * None
- *
- * INTERCASE DEPENDENCIES
- * None
- *
- * DETAILED DESCRIPTION
- * This is a Phase I test for the rmdir(2) system call. It is intended
- * to provide a limited exposure of the system call, for now. It
- * should/will be extended when full functional tests are written for
- * rmdir(2).
- *
- * Setup:
- * Setup signal handling.
- * Pause for SIGUSR1 if option specified.
- *
- * Test:
- * Loop if the proper options are given.
- * Execute system call
- * Check return code, if system call failed (return=-1)
- * Log the errno and Issue a FAIL message.
- * Otherwise, Issue a PASS message.
- *
- * Cleanup:
- * Print errno log and/or timing stats if options given
- *
- *
- *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#**/
-
-#include <sys/stat.h>
-#include <sys/types.h>
-#include <fcntl.h>
-
-#include <errno.h>
-#include <string.h>
-#include <signal.h>
-#include "test.h"
-#include "usctest.h"
-
-extern void setup();
-extern void cleanup();
-
-
-
-const char *TCID="rmdir04"; /* Test program identifier. */
-int TST_TOTAL=1; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-
-int exp_enos[]={0, 0};
-char *cwd;
-char fname[255];
-
-
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
-
- /***************************************************************
- * parse standard options
- ***************************************************************/
- if ( (msg=parse_opts(ac, av, (option_t *) NULL, NULL)) != (char *) NULL )
- tst_brkm(TBROK, cleanup, "OPTION PARSING ERROR - %s", msg);
-
- /***************************************************************
- * perform global setup for test
- ***************************************************************/
- setup();
-
- /* set the expected errnos... */
- TEST_EXP_ENOS(exp_enos);
-
- /***************************************************************
- * check looping state if -c option given
- ***************************************************************/
- for (lc=0; TEST_LOOPING(lc); lc++) {
-
- /* reset Tst_count in case we are looping. */
- Tst_count=0;
-
- if (mkdir(fname, 0777) == -1) {
- tst_brkm(TBROK, cleanup,
- "mkdir(%s) Failure. errno=%d : %s", fname, errno, strerror(errno));
- }
- /*
- * Call rmdir(2)
- */
- TEST(rmdir(fname));
-
- /* check return code */
- if ( TEST_RETURN == -1 ) {
- TEST_ERROR_LOG(TEST_ERRNO);
- tst_resm(TFAIL, "rmdir(%s) Failed, errno=%d : %s", fname,
- TEST_ERRNO, strerror(TEST_ERRNO));
- } else {
- /***************************************************************
- * only perform functional verification if flag set (-f not given)
- ***************************************************************/
- if ( STD_FUNCTIONAL_TEST ) {
- /* No Verification test, yet... */
- tst_resm(TPASS, "rmdir(%s) returned %d", fname, TEST_RETURN);
- }
- }
- } /* End for TEST_LOOPING */
-
- /***************************************************************
- * cleanup and exit
- ***************************************************************/
- cleanup();
-
- return 0;
-} /* End main */
-
-/***************************************************************
- * setup() - performs all ONE TIME setup for this test.
- ***************************************************************/
-void
-setup()
-{
-
- /* capture signals */
- tst_sig(NOFORK, DEF_HANDLER, cleanup);
-
- /* make a temp directory and cd to it */
- tst_tmpdir();
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-
- sprintf(fname, "./dir_%d", getpid());
-
-} /* End setup() */
-
-
-/***************************************************************
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- ***************************************************************/
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /* Remove tmp dir and all files in it */
- tst_rmdir();
-
- /* exit with return code appropriate for results */
- tst_exit();
-} /* End cleanup() */
diff --git a/winsup/testsuite/winsup.api/ltp/rmdir05.c b/winsup/testsuite/winsup.api/ltp/rmdir05.c
deleted file mode 100644
index ff19b3a81..000000000
--- a/winsup/testsuite/winsup.api/ltp/rmdir05.c
+++ /dev/null
@@ -1,447 +0,0 @@
-/*
- * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it would be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Further, this software is distributed without any warranty that it is
- * free of the rightful claim of any third person regarding infringement
- * or the like. Any license provided herein, whether implied or
- * otherwise, applies only to this software file. Patent licenses, if
- * any, provided herein do not apply to combinations of this program with
- * other software, or any other product whatsoever.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write the Free Software Foundation, Inc., 59
- * Temple Place - Suite 330, Boston MA 02111-1307, USA.
- *
- * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
- * Mountain View, CA 94043, or:
- *
- * http://www.sgi.com
- *
- * For further information regarding this notice, see:
- *
- * http://oss.sgi.com/projects/GenInfo/NoticeExplan/
- *
- */
-/* $Id$ */
-/**********************************************************
- *
- * OS Test - Silicon Graphics, Inc.
- *
- * TEST IDENTIFIER : rmdir05
- *
- * EXECUTED BY : anyone
- *
- * TEST TITLE : Functionality Tests for rmdir(2)
- *
- * PARENT DOCUMENT : rmstds02
- *
- * TEST CASE TOTAL : 6
- *
- * WALL CLOCK TIME : 2
- *
- * CPU TYPES : ALL
- *
- * AUTHOR : Bill Branum
- *
- * CO-PILOT : Steve Shaw
- *
- * DATE STARTED : 4/23/92
- *
- * INITIAL RELEASE : UNICOS 7.0
- *
- * TEST CASES
- * rmdir(2) test for errno(s) EINVAL, EMLINK, EFAULT
- *
- * INPUT SPECIFICATIONS
- * The standard options for system call tests are accepted.
- * (See the parse_opts(3) man page).
- *
- * ENVIRONMENTAL NEEDS
- * No run-time environmental needs.
- *
- * DETAILED DESCRIPTION
- * Verify that rmdir(2) returns a value of -1 and sets errno
- * to indicate the error.
- *
- * Setup:
- * Setup signal handling.
- * Create a temporary directory and make it current.
- * Pause for SIGUSR1 if option specified.
- *
- * Test:
- * Loop if the proper options are given.
- * Execute system call
- * Check return code, if system call failed (return=-1)
- * Log the errno.
- * If doing functional test
- * check the errno returned and print result message
- *
- * Cleanup:
- * Print errno log and/or timing stats if options given.
- * Remove the temporary directory.
- * Exit.
- *
- *
- *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#**/
-
-#include <errno.h>
-#include <signal.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <string.h>
-#include "test.h"
-#include "usctest.h"
-
-
-void setup();
-void cleanup(void) __attribute__((noreturn));
-
-
-extern char *get_high_address();
-
-const char *TCID="rmdir05"; /* Test program identifier. */
-int TST_TOTAL=6; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines. */
-struct stat stat_buf; /* Stat buffer used for verification. */
-char dir_name[256]; /* Array to hold directory name. */
-
-
-int
-main(int argc, char **argv)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
-
-
- /***************************************************************
- * parse standard options
- ***************************************************************/
- if ( (msg=parse_opts(argc, argv, (option_t *) NULL, NULL)) != (char *) NULL ) {
- tst_brkm(TBROK, NULL, "OPTION PARSING ERROR - %s", msg);
- tst_exit();
- }
-
- /***************************************************************
- * perform global setup for test
- ***************************************************************/
- setup();
-
- /***************************************************************
- * check looping state if -c option given
- ***************************************************************/
- for (lc=0; TEST_LOOPING(lc); lc++) {
-
- /* reset Tst_count in case we are looping. */
- Tst_count=0;
-
- /*
- * TEST CASE: 1
- * path points to the current directory
- */
-
- /* Call rmdir(2) */
- TEST(rmdir("."));
-
- /* check return code */
- if ( TEST_RETURN == -1 ) {
- TEST_ERROR_LOG(TEST_ERRNO);
- }
-
- /***************************************************************
- * only perform functional verification if flag set (-f not given)
- ***************************************************************/
- if ( STD_FUNCTIONAL_TEST ) {
-
- if ( TEST_RETURN == -1 ) {
-#if defined(sgi)
- if (TEST_ERRNO == EINVAL) {
-#elif defined(linux) || defined (__CYGWIN__)
- if (TEST_ERRNO & (EBUSY | ENOTEMPTY)) {
-#endif
-
- /* For functionality tests, verify that the
- * directory wasn't removed.
- */
- if (stat(".",&stat_buf) == -1){
- tst_resm(TFAIL,"rmdir(\".\") removed the current working directory when it should have failed.");
- } else {
- tst_resm(TPASS,"rmdir(\".\") failed to remove the current working directory. Returned %d : %s",TEST_ERRNO,strerror(TEST_ERRNO));
- }
- } else {
-#if defined(sgi)
- tst_resm(TFAIL,"rmdir(\".\") failed with errno %d : %s but expected %d (EINVAL)",TEST_ERRNO,strerror(TEST_ERRNO),EINVAL);
-#elif defined(linux) || defined (__CYGWIN__)
- tst_resm(TFAIL,"rmdir(\".\") failed with errno %d : %s but expected %d (EBUSY)",TEST_ERRNO,strerror(TEST_ERRNO),EBUSY);
-#endif
- }
- } else {
- tst_resm(TFAIL,"rmdir(\".\") succeeded unexpectedly.");
- }
- }
-
-
- /*
- * TEST CASE: 2
- * path points to the "." (dot) entry of a directory
- */
-#if defined(linux) || defined (__CYGWIN__)
- tst_resm(TCONF, "rmdir on \"dir/.\" supported on Linux");
-#elif defined(sgi)
- /* Call rmdir(2) */
- TEST(rmdir("dir1/."));
-
- /* check return code */
- if ( TEST_RETURN == -1 ) {
- TEST_ERROR_LOG(TEST_ERRNO);
- }
-
- /***************************************************************
- * only perform functional verification if flag set (-f not given)
- ***************************************************************/
- if ( STD_FUNCTIONAL_TEST ) {
-
- if ( TEST_RETURN == -1 ) {
- if (TEST_ERRNO == EINVAL) {
-
- /* For functionality tests, verify that the
- * directory wasn't removed.
- */
- if (stat("dir1/.",&stat_buf) == -1){
- tst_resm(TFAIL,"rmdir(\"dir1/.\") removed the \".\" entry of a directory when it should have failed.");
- } else {
- tst_resm(TPASS,"rmdir(\"dir1/.\") failed to remove the \".\" entry of a directory. Returned %d : %s",TEST_ERRNO,strerror(TEST_ERRNO));
- }
- } else {
- tst_resm(TFAIL,"rmdir(\"dir1/.\") failed with errno %d : %s but expected %d (EINVAL)",TEST_ERRNO,strerror(TEST_ERRNO),EINVAL);
- }
- } else {
- tst_resm(TFAIL,"rmdir(\"dir1/.\") - path points to the \".\" entry of a directory succeeded unexpectedly.");
- }
- }
-#endif
-
-#if defined(sgi)
- /*
- * TEST CASE: 3
- * the directory has been linked
- */
- tst_resm(TCONF, "linked directories not valid on IRIX");
-#elif defined(linux)
- tst_resm(TCONF, "linked directories test not implemented on Linux");
-#elif defined(CRAY)
-
-
- /* Call rmdir(2) */
- TEST(rmdir("dir2"));
-
- /* check return code */
- if ( TEST_RETURN == -1 ) {
- TEST_ERROR_LOG(TEST_ERRNO);
- }
-
- /***************************************************************
- * only perform functional verification if flag set (-f not given)
- ***************************************************************/
- if ( STD_FUNCTIONAL_TEST ) {
-
- if ( TEST_RETURN == -1 ) {
- if (TEST_ERRNO == EMLINK) {
- /* For functionality tests, verify that the directory wasn't
- * removed.
- */
- if (stat("dir2",&stat_buf) == -1){
- tst_resm(TFAIL,"rmdir(\"dir2\") removed a directory with multiple links when it should have failed.");
- } else {
- tst_resm(TPASS,"rmdir(\"dir2\") failed to remove a directory with multiple links. Returned %d : %s",TEST_ERRNO,strerror(TEST_ERRNO));
- }
- } else {
- tst_resm(TFAIL,"rmdir(\"dir2\") failed with errno %d : %s but expected %d (EMLINK)",TEST_ERRNO,strerror(TEST_ERRNO),EMLINK);
- }
- } else {
- tst_resm(TFAIL,"rmdir(\"dir2\") - the directory has been linked succeeded unexpectedly.");
- }
- }
-#endif /* linux */
-
-
- /*
- * TEST CASE: 4
- * path argument points below the minimum allocated address space
- */
-
-
- /* Call rmdir(2) */
- TEST(rmdir((char *)-1));
-
- /* check return code */
- if ( TEST_RETURN == -1 ) {
- TEST_ERROR_LOG(TEST_ERRNO);
- }
-
- /***************************************************************
- * only perform functional verification if flag set (-f not given)
- ***************************************************************/
- if ( STD_FUNCTIONAL_TEST ) {
-
- if ( TEST_RETURN == -1 ) {
- if (TEST_ERRNO == EFAULT) {
- tst_resm(TPASS,"rmdir() - path argument points below the minimum allocated address space failed as expected with errno %d : %s",TEST_ERRNO,strerror(TEST_ERRNO));
- } else {
- tst_resm(TFAIL,"rmdir() - path argument points below the minimum allocated address space failed with errno %d : %s but expected %d (EFAULT)",TEST_ERRNO,strerror(TEST_ERRNO),EFAULT);
- }
- } else {
- tst_resm(TFAIL,"rmdir() - path argument points below the minimum allocated address space succeeded unexpectedly.");
- }
- }
-
- /*
- * TEST CASE: 5
- * path argument points above the maximum allocated address space
- */
-
-
- /* Call rmdir(2) */
- TEST(rmdir( get_high_address()));
-
- /* check return code */
- if ( TEST_RETURN == -1 ) {
- TEST_ERROR_LOG(TEST_ERRNO);
- }
-
- /***************************************************************
- * only perform functional verification if flag set (-f not given)
- ***************************************************************/
- if ( STD_FUNCTIONAL_TEST ) {
-
- if ( TEST_RETURN == -1 ) {
- if (TEST_ERRNO == EFAULT) {
- tst_resm(TPASS,"rmdir() - path argument points above the maximum allocated address space failed as expected with errno %d : %s",TEST_ERRNO,strerror(TEST_ERRNO));
- } else {
- tst_resm(TFAIL,"rmdir() - path argument points above the maximum allocated address space failed with errno %d : %s but expected %d (EFAULT)",TEST_ERRNO,strerror(TEST_ERRNO),EFAULT);
- }
- } else {
- tst_resm(TFAIL,"rmdir() - path argument points above the maximum allocated address space succeeded unexpectedly.");
- }
- }
-
- /*
- * TEST CASE: 6
- * able to remove a directory
- */
-
- /* Create a directory. */
- if (mkdir(dir_name,0777) != 0){
- tst_brkm(TBROK,cleanup,"mkdir(\"%s\") failed with errno %d : %s",dir_name,errno,strerror(errno));
- }
-
- /* Call rmdir(2) */
- TEST(rmdir(dir_name));
-
- /* check return code */
- if ( TEST_RETURN == -1 ) {
- TEST_ERROR_LOG(TEST_ERRNO);
- tst_resm(TFAIL,"rmdir(\"%s\") failed when it should have passed. Returned %d : %s",dir_name,TEST_ERRNO,strerror(TEST_ERRNO));
- } else {
-
- /***************************************************************
- * only perform functional verification if flag set (-f not given)
- ***************************************************************/
- if ( STD_FUNCTIONAL_TEST ) {
-
- /* Verify the directory was removed. */
- if (stat(dir_name,&stat_buf) != 0){
- tst_resm(TPASS,"rmdir(\"%s\") removed the directory as expected.",dir_name);
- } else {
- tst_resm(TFAIL,"rmdir(\"%s\") returned a zero exit status but failed to remove the directory.",dir_name);
- }
- }
- }
-
- } /* End for TEST_LOOPING */
-
- /***************************************************************
- * cleanup and exit
- ***************************************************************/
- cleanup();
-
- return 0;
-} /* End main */
-
-/***************************************************************
- * setup() - performs all ONE TIME setup for this test.
- ***************************************************************/
-void setup()
-{
- /* capture signals */
- tst_sig(FORK, DEF_HANDLER, cleanup);
-
- /* Create a temporary directory and make it current. */
- tst_tmpdir();
-
- /* Create a directory. */
- if (mkdir("dir1",0777) == -1){
- tst_brkm(TBROK,cleanup,"mkdir() failed to create dir1.");
- }
-
-#if defined(CRAY)
- /* NOTE: linking directories is NOT valid on IRIX */
-
- /* Create a directory that has multiple links to it. */
- if (mkdir("dir2",0777) == -1){
- tst_brkm(TBROK,cleanup,"mkdir() failed to create dir2.");
- } else {
- if (system("runcmd `get_attrib -A link` dir2 mlink_dir > link.out 2>&1") != 0){
- tst_brk(TBROK,"link.out",cleanup,"link failed to link dir2 and mlink_dir.");
- }
- }
-
-#endif
-
- /* Create a unique directory name. */
- sprintf(dir_name,"./dir_%d",getpid());
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-
-} /* End setup() */
-
-
-/***************************************************************
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- ***************************************************************/
-void cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
-#if defined(CRAY)
- /* NOTE: setup was not done on IRIX */
- /* Unlink the directory. */
- if (system("runcmd `get_attrib -A unlink` dir2 > unlink.out 2>&1") != 0){
- tst_res(TWARN,"unlink.out","unlink failed to unlink dir2.");
- }
-#endif
-
- /*
- * Remove the temporary directory.
- */
- tst_rmdir();
-
- /*
- * Exit with a return value appropriate for the results.
- */
- tst_exit();
-
-} /* End cleanup() */
diff --git a/winsup/testsuite/winsup.api/ltp/sbrk01.c b/winsup/testsuite/winsup.api/ltp/sbrk01.c
deleted file mode 100644
index 700fb6b17..000000000
--- a/winsup/testsuite/winsup.api/ltp/sbrk01.c
+++ /dev/null
@@ -1,279 +0,0 @@
-/*
- * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it would be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Further, this software is distributed without any warranty that it is
- * free of the rightful claim of any third person regarding infringement
- * or the like. Any license provided herein, whether implied or
- * otherwise, applies only to this software file. Patent licenses, if
- * any, provided herein do not apply to combinations of this program with
- * other software, or any other product whatsoever.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write the Free Software Foundation, Inc., 59
- * Temple Place - Suite 330, Boston MA 02111-1307, USA.
- *
- * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
- * Mountain View, CA 94043, or:
- *
- * http://www.sgi.com
- *
- * For further information regarding this notice, see:
- *
- * http://oss.sgi.com/projects/GenInfo/NoticeExplan/
- *
- */
-/* $Id$ */
-/**********************************************************
- *
- * OS Test - Silicon Graphics, Inc.
- *
- * TEST IDENTIFIER : sbrk01
- *
- * EXECUTED BY : anyone
- *
- * TEST TITLE : Basic test for sbrk(2)
- *
- * PARENT DOCUMENT : usctpl01
- *
- * TEST CASE TOTAL : 2
- *
- * WALL CLOCK TIME : 1
- *
- * CPU TYPES : ALL
- *
- * AUTHOR : William Roske
- *
- * CO-PILOT : Dave Fenner
- *
- * DATE STARTED : 06/05/92
- *
- * INITIAL RELEASE : UNICOS 7.0
- *
- * TEST CASES
- *
- * 1.) sbrk(2) returns...(See Description)
- *
- * INPUT SPECIFICATIONS
- * The standard options for system call tests are accepted.
- * (See the parse_opts(3) man page).
- *
- * OUTPUT SPECIFICATIONS
- *
- * DURATION
- * Terminates - with frequency and infinite modes.
- *
- * SIGNALS
- * Uses SIGUSR1 to pause before test if option set.
- * (See the parse_opts(3) man page).
- *
- * RESOURCES
- * None
- *
- * ENVIRONMENTAL NEEDS
- * No run-time environmental needs.
- *
- * SPECIAL PROCEDURAL REQUIREMENTS
- * None
- *
- * INTERCASE DEPENDENCIES
- * None
- *
- * DETAILED DESCRIPTION
- * This is a Phase I test for the sbrk(2) system call. It is intended
- * to provide a limited exposure of the system call, for now. It
- * should/will be extended when full functional tests are written for
- * sbrk(2).
- *
- * Setup:
- * Setup signal handling.
- * Pause for SIGUSR1 if option specified.
- *
- * Test:
- * Loop if the proper options are given.
- * Execute system call
- * Check return code, if system call failed (return=-1)
- * Log the errno and Issue a FAIL message.
- * Otherwise, Issue a PASS message.
- *
- * Cleanup:
- * Print errno log and/or timing stats if options given
- *
- *
- *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#**/
-
-#include <errno.h>
-#include <string.h>
-#include <signal.h>
-#include <sys/types.h>
-
-#include "test.h"
-#include "usctest.h"
-
-void setup();
-void cleanup(void) __attribute__((noreturn));
-
-
-
-const char *TCID="sbrk01"; /* Test program identifier. */
-int TST_TOTAL=2; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-
-int Increment; /* Amount to make change size by */
-
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
- long tret;
-
- /***************************************************************
- * parse standard options
- ***************************************************************/
- if ( (msg=parse_opts(ac, av, (option_t *) NULL, NULL)) != (char *) NULL ) {
- tst_brkm(TBROK, NULL, "OPTION PARSING ERROR - %s", msg);
- tst_exit(0);
- }
-
- /***************************************************************
- * perform global setup for test
- ***************************************************************/
- setup();
-
-#ifdef __CYGWIN__
- /* we need to initialize output buffer before first sbrk.
- otherwise, when memory is freed bu second sbrk, fwrite will
- fail */
- tst_resm(TINFO, "Entering test");
-#endif
-
- /***************************************************************
- * check looping state if -c option given
- ***************************************************************/
- for (lc=0; TEST_LOOPING(lc); lc++) {
-
- /* reset Tst_count in case we are looping. */
- Tst_count=0;
-
-
- /*
- * TEST CASE:
- * Increase by 8192 bytes
- */
- Increment = 8192;
-
- /* Call sbrk(2) */
-#if defined(sgi)
- tret=(long)sbrk(Increment); /* Remove -64 IRIX compiler warning */
- TEST_ERRNO=errno;
-#else
- TEST(sbrk(Increment));
- tret=TEST_RETURN;
-#endif
-
- /* check return code */
- if ( tret == -1 ) {
- TEST_ERROR_LOG(TEST_ERRNO);
- tst_resm(TFAIL, "sbrk - Increase by 8192 bytes failed, errno=%d : %s",
- TEST_ERRNO, strerror(TEST_ERRNO));
- } else {
- /***************************************************************
- * only perform functional verification if flag set (-f not given)
- ***************************************************************/
- if ( STD_FUNCTIONAL_TEST ) {
- /* No Verification test, yet... */
- tst_resm(TPASS, "sbrk - Increase by 8192 bytes returned %d",
- tret);
- }
- }
-
-
- /*
- * TEST CASE:
- * Decrease to original size
- */
- Increment=(Increment * -1);
-
- /* Call sbrk(2) */
-#ifdef CRAY
- TEST(sbrk(Increment));
- tret=TEST_RETURN;
-#else
- tret=(long)sbrk(Increment);
- TEST_ERRNO=errno;
-#endif
-
- /* check return code */
- if ( tret == -1 ) {
- TEST_ERROR_LOG(TEST_ERRNO);
- tst_resm(TFAIL, "sbrk - Decrease to original size failed, errno=%d : %s",
- TEST_ERRNO, strerror(TEST_ERRNO));
- } else {
- /***************************************************************
- * only perform functional verification if flag set (-f not given)
- ***************************************************************/
- if ( STD_FUNCTIONAL_TEST ) {
- /* No Verification test, yet... */
- tst_resm(TPASS, "sbrk - Decrease to original size returned %d", tret);
- }
- }
-
-
- } /* End for TEST_LOOPING */
-
- /***************************************************************
- * cleanup and exit
- ***************************************************************/
- cleanup();
-
- return 0;
-} /* End main */
-
-/***************************************************************
- * setup() - performs all ONE TIME setup for this test.
- ***************************************************************/
-void
-setup()
-{
- /* capture signals */
- tst_sig(NOFORK, DEF_HANDLER, cleanup);
-
- /* make a temp dir and cd to it */
- tst_tmpdir();
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-} /* End setup() */
-
-
-/***************************************************************
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- ***************************************************************/
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
-
-
- /* remove files and temp dir */
- tst_rmdir();
-
- /* exit with return code appropriate for results */
- tst_exit();
-} /* End cleanup() */
-
-
diff --git a/winsup/testsuite/winsup.api/ltp/select01.c b/winsup/testsuite/winsup.api/ltp/select01.c
deleted file mode 100644
index 3b81f93db..000000000
--- a/winsup/testsuite/winsup.api/ltp/select01.c
+++ /dev/null
@@ -1,276 +0,0 @@
-/*
- * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it would be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Further, this software is distributed without any warranty that it is
- * free of the rightful claim of any third person regarding infringement
- * or the like. Any license provided herein, whether implied or
- * otherwise, applies only to this software file. Patent licenses, if
- * any, provided herein do not apply to combinations of this program with
- * other software, or any other product whatsoever.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write the Free Software Foundation, Inc., 59
- * Temple Place - Suite 330, Boston MA 02111-1307, USA.
- *
- * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
- * Mountain View, CA 94043, or:
- *
- * http://www.sgi.com
- *
- * For further information regarding this notice, see:
- *
- * http://oss.sgi.com/projects/GenInfo/NoticeExplan/
- *
- */
-/* $Id$ */
-/**********************************************************
- *
- * OS Test - Silicon Graphics, Inc.
- *
- * TEST IDENTIFIER : select01
- *
- * EXECUTED BY : anyone
- *
- * TEST TITLE : select to a file
- *
- * PARENT DOCUMENT : usctpl01
- *
- * TEST CASE TOTAL : 3
- *
- * WALL CLOCK TIME : 1
- *
- * CPU TYPES : ALL
- *
- * AUTHOR : Richard Logan
- *
- * CO-PILOT : William Roske
- *
- * DATE STARTED : 02/24/93
- *
- * INITIAL RELEASE : UNICOS 7.0
- *
- * TEST CASES
- *
- * 1.) select(2) to a fd of regular file with no I/O and small timeout
- *
- * INPUT SPECIFICATIONS
- * The standard options for system call tests are accepted.
- * (See the parse_opts(3) man page).
- *
- * OUTPUT SPECIFICATIONS
- *
- * DURATION
- * Terminates - with frequency and infinite modes.
- *
- * SIGNALS
- * Uses SIGUSR1 to pause before test if option set.
- * (See the parse_opts(3) man page).
- *
- * RESOURCES
- * None
- *
- * ENVIRONMENTAL NEEDS
- * No run-time environmental needs.
- *
- * SPECIAL PROCEDURAL REQUIREMENTS
- * None
- *
- * INTERCASE DEPENDENCIES
- * None
- *
- * DETAILED DESCRIPTION
- * This is a Phase I test for the select(2) system call. It is intended
- * to provide a limited exposure of the system call, for now. It
- * should/will be extended when full functional tests are written for
- * join(2).
- *
- * Setup:
- * Setup signal handling.
- * Pause for SIGUSR1 if option specified.
- *
- * Test:
- * Loop if the proper options are given.
- * Execute system call
- * Check return code, if system call failed (return=-1)
- * Log the errno and Issue a FAIL message.
- * Otherwise, Issue a PASS message.
- *
- * Cleanup:
- * Print errno log and/or timing stats if options given
- *
- *
- *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#**/
-
-#include <errno.h>
-#include <signal.h>
-#include <fcntl.h> /* For open system call parameters. */
-#include <signal.h>
-#include <sys/param.h>
-#include <sys/types.h>
-#include <sys/time.h>
-
-#ifdef __CYGWIN__
-/*
- FIXME: workaround for bug in newlib -- FD_ZERO is defined via bzero and
- if we don't include strings.h compiler warns about implicit declaration
-*/
-#include <strings.h>
-#endif
-
-#include "test.h"
-#include "usctest.h"
-
-#define FILENAME "select01"
-
-void setup();
-void cleanup(void) __attribute__((noreturn));
-
-const char *TCID="select01"; /* Test program identifier. */
-int TST_TOTAL=1; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-
-int Fd;
-fd_set Readfds;
-
-/***********************************************************************
- * MAIN
- ***********************************************************************/
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
- struct timeval timeout;
- long test_time = 0; /* in usecs */
-
-
- /***************************************************************
- * parse standard options, and exit if there is an error
- ***************************************************************/
- if ( (msg=parse_opts(ac, av, (option_t *) NULL, NULL)) != (char *) NULL ) {
- tst_brkm(TBROK, NULL, "OPTION PARSING ERROR - %s", msg);
- tst_exit();
- }
-
- /***************************************************************
- * perform global setup for test
- ***************************************************************/
- setup();
-
- /***************************************************************
- * check looping state if -c option given
- ***************************************************************/
- for (lc=0; TEST_LOOPING(lc); lc++) {
-
- /* reset Tst_count in case we are looping. */
- Tst_count=0;
-
- /*
- * Assigning the specified seconds within the timeval structure.
- */
- test_time = ((lc%2000)*100000); /* 100 milli-seconds */
-
- /*
- * Bound the time to a value less than 60 seconds
- */
-
- if ( test_time > 1000000 * 60 )
- test_time = test_time % (1000000 * 60);
-
- timeout.tv_sec = test_time / 1000000;
- timeout.tv_usec = test_time - (timeout.tv_sec * 1000000);
-
-
- /* Call the system call being tested. */
- TEST(select(4, &Readfds, 0, 0, &timeout));
-
- /* check return code */
- if ( TEST_RETURN == -1 ) {
- TEST_ERROR_LOG(TEST_ERRNO);
- tst_resm(TFAIL,
- "%d select(4, &Readfds, 0, 0, &timeout), timeout = %ld usecs, errno=%d",
- lc, test_time, errno);
- }
-
- /***************************************************************
- * only perform functional verification if flag set (-f not given)
- ***************************************************************/
- if ( STD_FUNCTIONAL_TEST ) {
- /* Perform functional verification here */
- tst_resm(TPASS,
- "select(4, &Readfds, 0, 0, &timeout) timeout = %ld usecs",
- test_time);
- }
-
- } /* End for TEST_LOOPING */
-
- /***************************************************************
- * cleanup and exit
- ***************************************************************/
- cleanup();
-
- return 0;
-} /* End main */
-
-/***************************************************************
- * setup() - performs all ONE TIME setup for this test.
- ***************************************************************/
-void
-setup()
-{
- /* capture signals */
- tst_sig(FORK, DEF_HANDLER, cleanup);
-
- /* create a temporary directory and go to it */
- tst_tmpdir();
-
- if ((Fd=open(FILENAME, O_CREAT | O_RDWR)) == -1) {
- tst_brkm(TBROK, cleanup,
- "open(%s, O_CREAT | O_RDWR) failed: errno:%d\n",
- errno);
- }
-
- /*
- * Initializing and assigning the standard output file descriptor to
- * fd_set for select.
- */
-
- FD_ZERO(&Readfds);
- FD_SET(Fd, &Readfds);
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-} /* End setup() */
-
-
-/***************************************************************
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- ***************************************************************/
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- close(Fd);
-
- /* remove temporary directory and all files in it. */
- tst_rmdir();
-
- /* exit with return code appropriate for results */
- tst_exit();
-} /* End cleanup() */
-
-
diff --git a/winsup/testsuite/winsup.api/ltp/select02.c b/winsup/testsuite/winsup.api/ltp/select02.c
deleted file mode 100644
index 935f4b273..000000000
--- a/winsup/testsuite/winsup.api/ltp/select02.c
+++ /dev/null
@@ -1,268 +0,0 @@
-/*
- * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it would be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Further, this software is distributed without any warranty that it is
- * free of the rightful claim of any third person regarding infringement
- * or the like. Any license provided herein, whether implied or
- * otherwise, applies only to this software file. Patent licenses, if
- * any, provided herein do not apply to combinations of this program with
- * other software, or any other product whatsoever.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write the Free Software Foundation, Inc., 59
- * Temple Place - Suite 330, Boston MA 02111-1307, USA.
- *
- * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
- * Mountain View, CA 94043, or:
- *
- * http://www.sgi.com
- *
- * For further information regarding this notice, see:
- *
- * http://oss.sgi.com/projects/GenInfo/NoticeExplan/
- *
- */
-/* $Id$ */
-/**********************************************************
- *
- * OS Test - Silicon Graphics, Inc.
- *
- * TEST IDENTIFIER : select02
- *
- * EXECUTED BY : anyone
- *
- * TEST TITLE : select of system pipe fds
- *
- * PARENT DOCUMENT : usctpl01
- *
- * TEST CASE TOTAL : 1
- *
- * WALL CLOCK TIME : 1
- *
- * CPU TYPES : ALL
- *
- * AUTHOR : Richard Logan
- *
- * CO-PILOT : Glen Overby
- *
- * DATE STARTED : 02/24/93
- *
- * INITIAL RELEASE : UNICOS 7.0
- *
- * TEST CASES
- *
- * 1.) select(2) to fd of system pipe with no I/O and small timeout
- *
- * INPUT SPECIFICATIONS
- * The standard options for system call tests are accepted.
- * (See the parse_opts(3) man page).
- *
- * OUTPUT SPECIFICATIONS
- *
- * DURATION
- * Terminates - with frequency and infinite modes.
- *
- * SIGNALS
- * Uses SIGUSR1 to pause before test if option set.
- * (See the parse_opts(3) man page).
- *
- * RESOURCES
- * None
- *
- * ENVIRONMENTAL NEEDS
- * No run-time environmental needs.
- *
- * SPECIAL PROCEDURAL REQUIREMENTS
- * None
- *
- * INTERCASE DEPENDENCIES
- * None
- *
- * DETAILED DESCRIPTION
- * This is a Phase I test for the select(2) system call. It is intended
- * to provide a limited exposure of the system call, for now.
- *
- * Setup:
- * Setup signal handling.
- * Pause for SIGUSR1 if option specified.
- *
- * Test:
- * Loop if the proper options are given.
- * Execute system call
- * Check return code, if system call failed (return=-1)
- * Log the errno and Issue a FAIL message.
- * Otherwise, Issue a PASS message.
- *
- * Cleanup:
- * Print errno log and/or timing stats if options given
- *
- *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#**/
-
-#include <errno.h>
-#include <signal.h>
-#include <fcntl.h> /* For open system call parameters. */
-#include <signal.h>
-#include <sys/param.h>
-#include <sys/types.h>
-#include <sys/time.h>
-
-#include "test.h"
-#include "usctest.h"
-
-void setup();
-void cleanup(void) __attribute__((noreturn));
-
-const char *TCID="select02"; /* Test program identifier. */
-int TST_TOTAL=1; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-
-int Fd[2];
-fd_set saved_Readfds, saved_Writefds;
-fd_set Readfds, Writefds;
-
-/***********************************************************************
- * MAIN
- ***********************************************************************/
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
- struct timeval timeout;
- long test_time = 0; /* in usecs */
-
-
- /***************************************************************
- * parse standard options, and exit if there is an error
- ***************************************************************/
- if ( (msg=parse_opts(ac, av, (option_t *) NULL, NULL)) != (char *) NULL ) {
- tst_brkm(TBROK, NULL, "OPTION PARSING ERROR - %s", msg);
- tst_exit();
- }
-
- /***************************************************************
- * perform global setup for test
- ***************************************************************/
- setup();
-
- /***************************************************************
- * check looping state if -c option given
- ***************************************************************/
- for (lc=0; TEST_LOOPING(lc); lc++) {
-
- /* reset Tst_count in case we are looping. */
- Tst_count=0;
-
- /*
- * Assigning the specified seconds within the timeval structure.
- */
-
- test_time = ((lc%2000)*100000); /* 100 milli-seconds */
-
- /*
- * Bound the time to a value less than 60 seconds
- */
-
- if ( test_time > 1000000 * 60 )
- test_time = test_time % (1000000 * 60);
-
- timeout.tv_sec = test_time / 1000000;
- timeout.tv_usec = test_time - (timeout.tv_sec * 1000000);
-
- Readfds = saved_Readfds;
- Writefds = saved_Writefds;
-
- /* Call the system call being tested. */
-
- TEST(select(5, &Readfds, &Writefds, 0, &timeout));
-
- /* check return code */
- if ( TEST_RETURN == -1 ) {
- TEST_ERROR_LOG(TEST_ERRNO);
- tst_resm(TFAIL,
- "%d select(5, &Readfds, &Writefds, 0, &timeout) failed, errno=%d\n",
- lc, errno);
- } else {
-
- /***************************************************************
- * only perform functional verification if flag set (-f not given)
- ***************************************************************/
- if ( STD_FUNCTIONAL_TEST ) {
- /* Perform functional verification here */
- tst_resm(TPASS,
- "select(5, &Readfds, &Writefds, 0, &timeout) timeout = %ld usecs",
- test_time);
- }
- }
-
- } /* End for TEST_LOOPING */
-
- /***************************************************************
- * cleanup and exit
- ***************************************************************/
- cleanup();
-
- return 0;
-} /* End main */
-
-/***************************************************************
- * setup() - performs all ONE TIME setup for this test.
- ***************************************************************/
-void
-setup()
-{
- /* capture signals */
- tst_sig(FORK, DEF_HANDLER, cleanup);
-
- /* create a temporary directory and go to it */
- tst_tmpdir();
-
- if (pipe(Fd) == -1 ) {
- tst_brkm(TBROK, cleanup, "pipe(&Fd) failed, errno=%d", errno);
- }
-
- /*
- * Initializing and assigning the standard output file descriptor to
- * fd_set for select.
- */
-
- FD_ZERO(&saved_Readfds);
- FD_ZERO(&saved_Writefds);
- FD_SET(Fd[0], &saved_Readfds);
- FD_SET(Fd[1], &saved_Writefds);
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-
-} /* End setup() */
-
-
-/***************************************************************
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- ***************************************************************/
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /* remove temporary directory and all files in it. */
- tst_rmdir();
-
- /* exit with return code appropriate for results */
- tst_exit();
-} /* End cleanup() */
-
-
diff --git a/winsup/testsuite/winsup.api/ltp/select03.c b/winsup/testsuite/winsup.api/ltp/select03.c
deleted file mode 100644
index 225ef19a7..000000000
--- a/winsup/testsuite/winsup.api/ltp/select03.c
+++ /dev/null
@@ -1,282 +0,0 @@
-/*
- * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it would be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Further, this software is distributed without any warranty that it is
- * free of the rightful claim of any third person regarding infringement
- * or the like. Any license provided herein, whether implied or
- * otherwise, applies only to this software file. Patent licenses, if
- * any, provided herein do not apply to combinations of this program with
- * other software, or any other product whatsoever.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write the Free Software Foundation, Inc., 59
- * Temple Place - Suite 330, Boston MA 02111-1307, USA.
- *
- * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
- * Mountain View, CA 94043, or:
- *
- * http://www.sgi.com
- *
- * For further information regarding this notice, see:
- *
- * http://oss.sgi.com/projects/GenInfo/NoticeExplan/
- *
- */
-/* $Id$ */
-/**********************************************************
- *
- * OS Test - Silicon Graphics, Inc.
- *
- * TEST IDENTIFIER : select03
- *
- * EXECUTED BY : anyone
- *
- * TEST TITLE : select of fd of a named-pipe (FIFO)
- *
- * PARENT DOCUMENT : usctpl01
- *
- * TEST CASE TOTAL : 1
- *
- * WALL CLOCK TIME : 1
- *
- * CPU TYPES : ALL
- *
- * AUTHOR : Richard Logan
- *
- * CO-PILOT : Glen Overby
- *
- * DATE STARTED : 02/24/93
- *
- * INITIAL RELEASE : UNICOS 7.0
- *
- * TEST CASES
- *
- * 1.) select(2) of fd of a named-pipe (FIFO) with no I/O and small timeout value
- *
- * INPUT SPECIFICATIONS
- * The standard options for system call tests are accepted.
- * (See the parse_opts(3) man page).
- *
- * OUTPUT SPECIFICATIONS
- *
- * DURATION
- * Terminates - with frequency and infinite modes.
- *
- * SIGNALS
- * Uses SIGUSR1 to pause before test if option set.
- * (See the parse_opts(3) man page).
- *
- * RESOURCES
- * None
- *
- * ENVIRONMENTAL NEEDS
- * No run-time environmental needs.
- *
- * SPECIAL PROCEDURAL REQUIREMENTS
- * None
- *
- * INTERCASE DEPENDENCIES
- * None
- *
- * DETAILED DESCRIPTION
- * This is a Phase I test for the select(2) system call. It is intended
- * to provide a limited exposure of the system call, for now.
- *
- * Setup:
- * Setup signal handling.
- * Pause for SIGUSR1 if option specified.
- *
- * Test:
- * Loop if the proper options are given.
- * Execute system call
- * Check return code, if system call failed (return=-1)
- * Log the errno and Issue a FAIL message.
- * Otherwise, Issue a PASS message.
- *
- * Cleanup:
- * Print errno log and/or timing stats if options given
- *
- *
- *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#**/
-
-#include <errno.h>
-#include <signal.h>
-#include <fcntl.h> /* For open system call parameters. */
-#include <signal.h>
-#include <sys/param.h>
-#include <sys/types.h>
-#include <sys/time.h>
-#include <sys/stat.h>
-
-
-#include "test.h"
-#include "usctest.h"
-
-#define FILENAME "select03"
-
-extern void setup();
-extern void cleanup();
-
-const char *TCID="select03"; /* Test program identifier. */
-int TST_TOTAL=1; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-
-int Fd;
-fd_set saved_Readfds, saved_Writefds;
-fd_set Readfds, Writefds;
-
-
-/***********************************************************************
- * MAIN
- ***********************************************************************/
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
- struct timeval timeout;
- long test_time = 0; /* in usecs */
-
-
- /***************************************************************
- * parse standard options, and exit if there is an error
- ***************************************************************/
- if ( (msg=parse_opts(ac, av, (option_t *) NULL, NULL)) != (char *) NULL ) {
- tst_brkm(TBROK, NULL, "OPTION PARSING ERROR - %s", msg);
- tst_exit();
- }
-
- /***************************************************************
- * perform global setup for test
- ***************************************************************/
- setup();
-
- /***************************************************************
- * check looping state if -c option given
- ***************************************************************/
- for (lc=0; TEST_LOOPING(lc); lc++) {
-
- /* reset Tst_count in case we are looping. */
- Tst_count=0;
-
- /*
- * Assigning the specified seconds within the timeval structure.
- */
-
- test_time = ((lc%2000)*100000); /* 100 milli-seconds */
-
- /*
- * Bound the time to a value less than 60 seconds
- */
-
- if ( test_time > 1000000 * 60 )
- test_time = test_time % (1000000 * 60);
-
- timeout.tv_sec = test_time / 1000000;
- timeout.tv_usec = test_time - (timeout.tv_sec * 1000000);
-
- Readfds = saved_Readfds;
- Writefds = saved_Writefds;
-
- /* Call the system call being tested. */
-
- TEST(select(5, &Readfds, &Writefds, 0, &timeout));
-
- /* check return code */
- if ( TEST_RETURN == -1 ) {
- TEST_ERROR_LOG(TEST_ERRNO);
- tst_resm(TFAIL,
- "%d select(5, &Readfds, &Writefds, 0, &timeout) failed errno=%d\n",
- lc, errno);
- } else {
-
- /***************************************************************
- * only perform functional verification if flag set (-f not given)
- ***************************************************************/
- if ( STD_FUNCTIONAL_TEST ) {
- /* Perform functional verification here */
- tst_resm(TPASS,
- "select(5, &Readfds, &Writefds, 0, &timeout) timeout = %ld usecs",
- test_time);
- }
- }
-
- } /* End for TEST_LOOPING */
-
- /***************************************************************
- * cleanup and exit
- ***************************************************************/
- cleanup();
-
- return 0;
-} /* End main */
-
-/***************************************************************
- * setup() - performs all ONE TIME setup for this test.
- ***************************************************************/
-void
-setup()
-{
- /* capture signals */
- tst_sig(FORK, DEF_HANDLER, cleanup);
-
- /* create a temporary directory and go to it */
- tst_tmpdir();
-
-
- /* make and open FIFO */
- if ( mkfifo(FILENAME, 0777) == -1 ) {
- tst_brkm(TBROK, cleanup, "mkfifo(%s, 0777) failed, errno=%d",
- FILENAME, errno);
- }
-
- if ((Fd=open(FILENAME, O_RDWR)) == -1 ) {
- tst_brkm(TBROK, cleanup, "open(%s, O_RDWR) failed, errno=%d",
- FILENAME, errno);
- }
-
- /*
- * Initializing and assigning the standard output file descriptor to
- * fd_set for select.
- */
-
- FD_ZERO(&saved_Readfds);
- FD_ZERO(&saved_Writefds);
- FD_SET(Fd, &saved_Readfds);
- FD_SET(Fd, &saved_Writefds);
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-
-} /* End setup() */
-
-
-/***************************************************************
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- ***************************************************************/
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /* remove temporary directory and all files in it. */
- tst_rmdir();
-
- /* exit with return code appropriate for results */
- tst_exit();
-} /* End cleanup() */
-
-
diff --git a/winsup/testsuite/winsup.api/ltp/setgid01.c b/winsup/testsuite/winsup.api/ltp/setgid01.c
deleted file mode 100644
index a75e88a1d..000000000
--- a/winsup/testsuite/winsup.api/ltp/setgid01.c
+++ /dev/null
@@ -1,219 +0,0 @@
-/*
- * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it would be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Further, this software is distributed without any warranty that it is
- * free of the rightful claim of any third person regarding infringement
- * or the like. Any license provided herein, whether implied or
- * otherwise, applies only to this software file. Patent licenses, if
- * any, provided herein do not apply to combinations of this program with
- * other software, or any other product whatsoever.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write the Free Software Foundation, Inc., 59
- * Temple Place - Suite 330, Boston MA 02111-1307, USA.
- *
- * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
- * Mountain View, CA 94043, or:
- *
- * http://www.sgi.com
- *
- * For further information regarding this notice, see:
- *
- * http://oss.sgi.com/projects/GenInfo/NoticeExplan/
- *
- */
-/* $Id$ */
-/**********************************************************
- *
- * OS Test - Silicon Graphics, Inc.
- *
- * TEST IDENTIFIER : setgid01
- *
- * EXECUTED BY : anyone
- *
- * TEST TITLE : Basic test for setgid(2)
- *
- * PARENT DOCUMENT : usctpl01
- *
- * TEST CASE TOTAL : 1
- *
- * WALL CLOCK TIME : 1
- *
- * CPU TYPES : ALL
- *
- * AUTHOR : William Roske
- *
- * CO-PILOT : Dave Fenner
- *
- * DATE STARTED : 03/30/92
- *
- * INITIAL RELEASE : UNICOS 7.0
- *
- * TEST CASES
- *
- * 1.) setgid(2) returns...(See Description)
- *
- * INPUT SPECIFICATIONS
- * The standard options for system call tests are accepted.
- * (See the parse_opts(3) man page).
- *
- * OUTPUT SPECIFICATIONS
- *
- * DURATION
- * Terminates - with frequency and infinite modes.
- *
- * SIGNALS
- * Uses SIGUSR1 to pause before test if option set.
- * (See the parse_opts(3) man page).
- *
- * RESOURCES
- * None
- *
- * ENVIRONMENTAL NEEDS
- * No run-time environmental needs.
- *
- * SPECIAL PROCEDURAL REQUIREMENTS
- * None
- *
- * INTERCASE DEPENDENCIES
- * None
- *
- * DETAILED DESCRIPTION
- * This is a Phase I test for the setgid(2) system call. It is intended
- * to provide a limited exposure of the system call, for now. It
- * should/will be extended when full functional tests are written for
- * setgid(2).
- *
- * Setup:
- * Setup signal handling.
- * Pause for SIGUSR1 if option specified.
- *
- * Test:
- * Loop if the proper options are given.
- * Execute system call
- * Check return code, if system call failed (return=-1)
- * Log the errno and Issue a FAIL message.
- * Otherwise, Issue a PASS message.
- *
- * Cleanup:
- * Print errno log and/or timing stats if options given
- *
- *
- *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#**/
-
-#include <errno.h>
-#include <string.h>
-#include <signal.h>
-#include "test.h"
-#include "usctest.h"
-
-extern void setup();
-extern void cleanup();
-
-
-
-const char *TCID="setgid01"; /* Test program identifier. */
-int TST_TOTAL=1; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-
-int exp_enos[]={0, 0};
-int gid;
-
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
-
- /***************************************************************
- * parse standard options
- ***************************************************************/
- if ( (msg=parse_opts(ac, av, (option_t *) NULL, NULL)) != (char *) NULL )
- tst_brkm(TBROK, cleanup, "OPTION PARSING ERROR - %s", msg);
-
- /***************************************************************
- * perform global setup for test
- ***************************************************************/
- setup();
-
- /* set the expected errnos... */
- TEST_EXP_ENOS(exp_enos);
-
- /***************************************************************
- * check looping state if -c option given
- ***************************************************************/
- for (lc=0; TEST_LOOPING(lc); lc++) {
-
- /* reset Tst_count in case we are looping. */
- Tst_count=0;
-
- /*
- * Call setgid(2)
- */
- TEST(setgid(gid));
-
- /* check return code */
- if ( TEST_RETURN == -1 ) {
- TEST_ERROR_LOG(TEST_ERRNO);
- tst_resm(TFAIL, "setgid(%d) Failed, errno=%d : %s", gid,
- TEST_ERRNO, strerror(TEST_ERRNO));
- } else {
- /***************************************************************
- * only perform functional verification if flag set (-f not given)
- ***************************************************************/
- if ( STD_FUNCTIONAL_TEST ) {
- /* No Verification test, yet... */
- tst_resm(TPASS, "setgid(%d) returned %d", gid, TEST_RETURN);
- }
- }
-
- } /* End for TEST_LOOPING */
-
- /***************************************************************
- * cleanup and exit
- ***************************************************************/
- cleanup();
-
- return 0;
-} /* End main */
-
-/***************************************************************
- * setup() - performs all ONE TIME setup for this test.
- ***************************************************************/
-void
-setup()
-{
- /* capture signals */
- tst_sig(NOFORK, DEF_HANDLER, cleanup);
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-
- gid = getgid();
-} /* End setup() */
-
-
-/***************************************************************
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- ***************************************************************/
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /* exit with return code appropriate for results */
- tst_exit();
-} /* End cleanup() */
diff --git a/winsup/testsuite/winsup.api/ltp/setgroups01.c b/winsup/testsuite/winsup.api/ltp/setgroups01.c
deleted file mode 100644
index ee1c54b63..000000000
--- a/winsup/testsuite/winsup.api/ltp/setgroups01.c
+++ /dev/null
@@ -1,228 +0,0 @@
-/*
- * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it would be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Further, this software is distributed without any warranty that it is
- * free of the rightful claim of any third person regarding infringement
- * or the like. Any license provided herein, whether implied or
- * otherwise, applies only to this software file. Patent licenses, if
- * any, provided herein do not apply to combinations of this program with
- * other software, or any other product whatsoever.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write the Free Software Foundation, Inc., 59
- * Temple Place - Suite 330, Boston MA 02111-1307, USA.
- *
- * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
- * Mountain View, CA 94043, or:
- *
- * http://www.sgi.com
- *
- * For further information regarding this notice, see:
- *
- * http://oss.sgi.com/projects/GenInfo/NoticeExplan/
- *
- */
-/* $Id$ */
-/**********************************************************
- *
- * OS Test - Silicon Graphics, Inc.
- *
- * TEST IDENTIFIER : setgroups01
- *
- * EXECUTED BY : root
- *
- * TEST TITLE : Basic test for setgroups(2)
- *
- * PARENT DOCUMENT : usctpl01
- *
- * TEST CASE TOTAL : 1
- *
- * WALL CLOCK TIME : 1
- *
- * CPU TYPES : ALL
- *
- * AUTHOR : William Roske
- *
- * CO-PILOT : Dave Fenner
- *
- * DATE STARTED : 03/30/92
- *
- * INITIAL RELEASE : UNICOS 7.0
- *
- * TEST CASES
- *
- * 1.) setgroups(2) returns...(See Description)
- *
- * INPUT SPECIFICATIONS
- * The standard options for system call tests are accepted.
- * (See the parse_opts(3) man page).
- *
- * OUTPUT SPECIFICATIONS
- *
- * DURATION
- * Terminates - with frequency and infinite modes.
- *
- * SIGNALS
- * Uses SIGUSR1 to pause before test if option set.
- * (See the parse_opts(3) man page).
- *
- * RESOURCES
- * None
- *
- * ENVIRONMENTAL NEEDS
- * No run-time environmental needs.
- *
- * SPECIAL PROCEDURAL REQUIREMENTS
- * None
- *
- * INTERCASE DEPENDENCIES
- * None
- *
- * DETAILED DESCRIPTION
- * This is a Phase I test for the setgroups(2) system call. It is intended
- * to provide a limited exposure of the system call, for now. It
- * should/will be extended when full functional tests are written for
- * setgroups(2).
- *
- * Setup:
- * Setup signal handling.
- * Pause for SIGUSR1 if option specified.
- *
- * Test:
- * Loop if the proper options are given.
- * Execute system call
- * Check return code, if system call failed (return=-1)
- * Log the errno and Issue a FAIL message.
- * Otherwise, Issue a PASS message.
- *
- * Cleanup:
- * Print errno log and/or timing stats if options given
- *
- *
- *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#**/
-
-#include <errno.h>
-#include <string.h>
-#include <signal.h>
-#include <sys/param.h>
-#include <grp.h>
-
-#include "test.h"
-#include "usctest.h"
-
-void setup();
-void cleanup(void) __attribute__((noreturn));
-
-
-
-const char *TCID="setgroups01"; /* Test program identifier. */
-int TST_TOTAL=1; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-
-int len = NGROUPS;
-gid_t list[NGROUPS];
-
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
-
- /***************************************************************
- * parse standard options
- ***************************************************************/
- if ( (msg=parse_opts(ac, av, (option_t *) NULL, NULL)) != (char *) NULL ) {
- tst_brkm(TBROK, NULL, "OPTION PARSING ERROR - %s", msg);
- tst_exit();
- }
-
- /***************************************************************
- * perform global setup for test
- ***************************************************************/
- setup();
-
- /***************************************************************
- * check looping state if -c option given
- ***************************************************************/
- for (lc=0; TEST_LOOPING(lc); lc++) {
-
- /* reset Tst_count in case we are looping. */
- Tst_count=0;
-
- /*
- * Call setgroups(2)
- */
- TEST(setgroups(len, list));
-
- /* check return code */
- if ( TEST_RETURN == -1 ) {
- TEST_ERROR_LOG(TEST_ERRNO);
- tst_resm(TFAIL, "setgroups(%d, list) Failed, errno=%d : %s", len,
- TEST_ERRNO, strerror(TEST_ERRNO));
- } else {
- /***************************************************************
- * only perform functional verification if flag set (-f not given)
- ***************************************************************/
- if ( STD_FUNCTIONAL_TEST ) {
- /* No Verification test, yet... */
- tst_resm(TPASS, "setgroups(%d, list) returned %d", len, TEST_RETURN);
- }
- }
-
- } /* End for TEST_LOOPING */
-
- /***************************************************************
- * cleanup and exit
- ***************************************************************/
- cleanup();
-
- return 0;
-} /* End main */
-
-/***************************************************************
- * setup() - performs all ONE TIME setup for this test.
- ***************************************************************/
-void
-setup()
-{
- /* capture signals */
- tst_sig(NOFORK, DEF_HANDLER, cleanup);
-
- if ( geteuid() != 0 )
- tst_brkm(TBROK, cleanup, "Must be ROOT to run this test.");
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-
- if (getgroups(len, list) == -1) {
- tst_brkm(TBROK, cleanup,
- "getgroups(%d, list) Failure. errno=%d : %s",
- len, errno, strerror(errno));
- }
-} /* End setup() */
-
-
-/***************************************************************
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- ***************************************************************/
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /* exit with return code appropriate for results */
- tst_exit();
-} /* End cleanup() */
diff --git a/winsup/testsuite/winsup.api/ltp/setpgid01.c b/winsup/testsuite/winsup.api/ltp/setpgid01.c
deleted file mode 100644
index 0835c66a3..000000000
--- a/winsup/testsuite/winsup.api/ltp/setpgid01.c
+++ /dev/null
@@ -1,238 +0,0 @@
-/*
- * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it would be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Further, this software is distributed without any warranty that it is
- * free of the rightful claim of any third person regarding infringement
- * or the like. Any license provided herein, whether implied or
- * otherwise, applies only to this software file. Patent licenses, if
- * any, provided herein do not apply to combinations of this program with
- * other software, or any other product whatsoever.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write the Free Software Foundation, Inc., 59
- * Temple Place - Suite 330, Boston MA 02111-1307, USA.
- *
- * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
- * Mountain View, CA 94043, or:
- *
- * http://www.sgi.com
- *
- * For further information regarding this notice, see:
- *
- * http://oss.sgi.com/projects/GenInfo/NoticeExplan/
- *
- */
-/* $Id$ */
-/**********************************************************
- *
- * OS Test - Silicon Graphics, Inc.
- *
- * TEST IDENTIFIER : setpgid01
- *
- * EXECUTED BY : anyone
- *
- * TEST TITLE : Basic test for setpgid(2)
- *
- * PARENT DOCUMENT : usctpl01
- *
- * TEST CASE TOTAL : 1
- *
- * WALL CLOCK TIME : 1
- *
- * CPU TYPES : ALL
- *
- * AUTHOR : William Roske
- *
- * CO-PILOT : Dave Fenner
- *
- * DATE STARTED : 03/30/92
- *
- * INITIAL RELEASE : UNICOS 7.0
- *
- * TEST CASES
- *
- * 1.) setpgid(2) returns...(See Description)
- *
- * INPUT SPECIFICATIONS
- * The standard options for system call tests are accepted.
- * (See the parse_opts(3) man page).
- *
- * OUTPUT SPECIFICATIONS
- *
- * DURATION
- * Terminates - with frequency and infinite modes.
- *
- * SIGNALS
- * Uses SIGUSR1 to pause before test if option set.
- * (See the parse_opts(3) man page).
- *
- * RESOURCES
- * None
- *
- * ENVIRONMENTAL NEEDS
- * No run-time environmental needs.
- *
- * SPECIAL PROCEDURAL REQUIREMENTS
- * None
- *
- * INTERCASE DEPENDENCIES
- * None
- *
- * DETAILED DESCRIPTION
- * This is a Phase I test for the setpgid(2) system call. It is intended
- * to provide a limited exposure of the system call, for now. It
- * should/will be extended when full functional tests are written for
- * setpgid(2).
- *
- * Setup:
- * Setup signal handling.
- * Pause for SIGUSR1 if option specified.
- *
- * Test:
- * Loop if the proper options are given.
- * Execute system call
- * Check return code, if system call failed (return=-1)
- * Log the errno and Issue a FAIL message.
- * Otherwise, Issue a PASS message.
- *
- * Cleanup:
- * Print errno log and/or timing stats if options given
- *
- *
- *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#**/
-
-#include <errno.h>
-#include <string.h>
-#include <signal.h>
-#include <sys/wait.h>
-#include "test.h"
-#include "usctest.h"
-
-extern void setup();
-extern void cleanup() __attribute__ ((noreturn));
-
-const char *TCID="setpgid01"; /* Test program identifier. */
-int TST_TOTAL=1; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-
-int exp_enos[]={0, 0};
-int pgid, pid;
-
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
-
- /***************************************************************
- * parse standard options
- ***************************************************************/
- if ( (msg=parse_opts(ac, av, (option_t *) NULL, NULL)) != (char *) NULL )
- tst_brkm(TBROK, cleanup, "OPTION PARSING ERROR - %s", msg);
-
- /***************************************************************
- * perform global setup for test
- ***************************************************************/
- setup();
-
- /* set the expected errnos... */
- TEST_EXP_ENOS(exp_enos);
-
- /***************************************************************
- * check looping state if -c option given
- ***************************************************************/
- for (lc=0; TEST_LOOPING(lc); lc++) {
-
- /* reset Tst_count in case we are looping. */
- Tst_count=0;
-
- /*
- * Call setpgid(2)
- */
- TEST(setpgid(pid, pgid));
-
- /* check return code */
- if ( TEST_RETURN == -1 ) {
- TEST_ERROR_LOG(TEST_ERRNO);
- tst_resm(TFAIL, "setpgid(%d, %d) Failed, errno=%d : %s", pid, pgid,
- TEST_ERRNO, strerror(TEST_ERRNO));
- } else {
- /***************************************************************
- * only perform functional verification if flag set (-f not given)
- ***************************************************************/
- if ( STD_FUNCTIONAL_TEST ) {
- /* No Verification test, yet... */
- tst_resm(TPASS, "setpgid(%d, %d) returned %d", pid, pgid, TEST_RETURN);
- }
- }
- } /* End for TEST_LOOPING */
-
- /***************************************************************
- * cleanup and exit
- ***************************************************************/
- cleanup();
-
- return 0;
-} /* End main */
-
-/***************************************************************
- * setup() - performs all ONE TIME setup for this test.
- ***************************************************************/
-void
-setup()
-{
- int status;
-
- /* capture signals */
- tst_sig(FORK, DEF_HANDLER, cleanup);
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-
- /*
- * Make sure current process is NOT a session or pgrp leader
- */
-
- pgid=getpgrp();
- pid=getpid();
-
- if (pgid == pid) {
- if ((pid = fork()) == -1) {
- tst_brkm(TBROK, cleanup, "fork() in setup() failed - errno %d",
- errno);
- }
-
- if (pid != 0) { /* parent - sits and waits */
- wait(&status);
- exit(WEXITSTATUS(status));
- } else { /* child - continues with test */
- pid = getpid();
- }
- }
-} /* End setup() */
-
-
-/***************************************************************
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- ***************************************************************/
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /* exit with return code appropriate for results */
- tst_exit();
-} /* End cleanup() */
diff --git a/winsup/testsuite/winsup.api/ltp/setregid01.c b/winsup/testsuite/winsup.api/ltp/setregid01.c
deleted file mode 100644
index e4251f04e..000000000
--- a/winsup/testsuite/winsup.api/ltp/setregid01.c
+++ /dev/null
@@ -1,338 +0,0 @@
-/*
- * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it would be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Further, this software is distributed without any warranty that it is
- * free of the rightful claim of any third person regarding infringement
- * or the like. Any license provided herein, whether implied or
- * otherwise, applies only to this software file. Patent licenses, if
- * any, provided herein do not apply to combinations of this program with
- * other software, or any other product whatsoever.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write the Free Software Foundation, Inc., 59
- * Temple Place - Suite 330, Boston MA 02111-1307, USA.
- *
- * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
- * Mountain View, CA 94043, or:
- *
- * http://www.sgi.com
- *
- * For further information regarding this notice, see:
- *
- * http://oss.sgi.com/projects/GenInfo/NoticeExplan/
- *
- */
-/* $Id$ */
-/**********************************************************
- *
- * OS Test - Silicon Graphics, Inc.
- *
- * TEST IDENTIFIER : setregid01
- *
- * EXECUTED BY : anyone
- *
- * TEST TITLE : Basic test for setregid(2)
- *
- * PARENT DOCUMENT : usctpl01
- *
- * TEST CASE TOTAL : 5
- *
- * WALL CLOCK TIME : 1
- *
- * CPU TYPES : ALL
- *
- * AUTHOR : William Roske
- *
- * CO-PILOT : Dave Fenner
- *
- * DATE STARTED : 05/13/92
- *
- * INITIAL RELEASE : UNICOS 7.0
- *
- * TEST CASES
- *
- * 1.) setregid(2) returns...(See Description)
- *
- * INPUT SPECIFICATIONS
- * The standard options for system call tests are accepted.
- * (See the parse_opts(3) man page).
- *
- * OUTPUT SPECIFICATIONS
- *
- * DURATION
- * Terminates - with frequency and infinite modes.
- *
- * SIGNALS
- * Uses SIGUSR1 to pause before test if option set.
- * (See the parse_opts(3) man page).
- *
- * RESOURCES
- * None
- *
- * ENVIRONMENTAL NEEDS
- * No run-time environmental needs.
- *
- * SPECIAL PROCEDURAL REQUIREMENTS
- * None
- *
- * INTERCASE DEPENDENCIES
- * None
- *
- * DETAILED DESCRIPTION
- * This is a Phase I test for the setregid(2) system call. It is intended
- * to provide a limited exposure of the system call, for now. It
- * should/will be extended when full functional tests are written for
- * setregid(2).
- *
- * Setup:
- * Setup signal handling.
- * Pause for SIGUSR1 if option specified.
- *
- * Test:
- * Loop if the proper options are given.
- * Execute system call
- * Check return code, if system call failed (return=-1)
- * Log the errno and Issue a FAIL message.
- * Otherwise, Issue a PASS message.
- *
- * Cleanup:
- * Print errno log and/or timing stats if options given
- *
- *
- *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#**/
-
-#include <errno.h>
-#include <string.h>
-#include <signal.h>
-
-#include <sys/types.h>
-
-#include "test.h"
-#include "usctest.h"
-
-extern void setup();
-extern void cleanup();
-
-
-
-const char *TCID="setregid01"; /* Test program identifier. */
-int TST_TOTAL=5; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-
-int exp_enos[]={0, 0}; /* Zero terminated list of expected errnos */
-
-int gid, egid; /* current real and effective group id */
-
-
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
-
- /***************************************************************
- * parse standard options
- ***************************************************************/
- if ( (msg=parse_opts(ac, av, (option_t *) NULL, NULL)) != (char *) NULL )
- tst_brkm(TBROK, cleanup, "OPTION PARSING ERROR - %s", msg);
-
- /***************************************************************
- * perform global setup for test
- ***************************************************************/
- setup();
-
- /* set the expected errnos... */
- TEST_EXP_ENOS(exp_enos);
-
- /***************************************************************
- * check looping state if -c option given
- ***************************************************************/
- for (lc=0; TEST_LOOPING(lc); lc++) {
-
- /* reset Tst_count in case we are looping. */
- Tst_count=0;
-
-
- /*
- * TEST CASE:
- * Dont change either real or effective gid
- */
- gid=getgid();
- egid=getegid();
-
-
- /* Call setregid(2) */
- TEST(setregid(-1, -1));
-
- /* check return code */
- if ( TEST_RETURN == -1 ) {
- TEST_ERROR_LOG(TEST_ERRNO);
- tst_resm(TFAIL, "setregid - Dont change either real or effective gid failed, errno=%d : %s",
- TEST_ERRNO, strerror(TEST_ERRNO));
- } else {
- /***************************************************************
- * only perform functional verification if flag set (-f not given)
- ***************************************************************/
- if ( STD_FUNCTIONAL_TEST ) {
- /* No Verification test, yet... */
- tst_resm(TPASS, "setregid - Dont change either real or effective gid returned %d", TEST_RETURN);
- }
- }
-
-
- /*
- * TEST CASE:
- * change effective to effective gid
- */
-
-
- /* Call setregid(2) */
- TEST(setregid(-1, egid));
-
- /* check return code */
- if ( TEST_RETURN == -1 ) {
- TEST_ERROR_LOG(TEST_ERRNO);
- tst_resm(TFAIL, "setregid - change effective to effective gid failed, errno=%d : %s",
- TEST_ERRNO, strerror(TEST_ERRNO));
- } else {
- /***************************************************************
- * only perform functional verification if flag set (-f not given)
- ***************************************************************/
- if ( STD_FUNCTIONAL_TEST ) {
- /* No Verification test, yet... */
- tst_resm(TPASS, "setregid - change effective to effective gid returned %d", TEST_RETURN);
- }
- }
-
-
- /*
- * TEST CASE:
- * change real to real gid
- */
-
-
- /* Call setregid(2) */
- TEST(setregid(gid, -1));
-
- /* check return code */
- if ( TEST_RETURN == -1 ) {
- TEST_ERROR_LOG(TEST_ERRNO);
- tst_resm(TFAIL, "setregid - change real to real gid failed, errno=%d : %s",
- TEST_ERRNO, strerror(TEST_ERRNO));
- } else {
- /***************************************************************
- * only perform functional verification if flag set (-f not given)
- ***************************************************************/
- if ( STD_FUNCTIONAL_TEST ) {
- /* No Verification test, yet... */
- tst_resm(TPASS, "setregid - change real to real gid returned %d", TEST_RETURN);
- }
- }
-
-
- /*
- * TEST CASE:
- * change effective to real gid
- */
-
-
- /* Call setregid(2) */
- TEST(setregid(-1, gid));
-
- /* check return code */
- if ( TEST_RETURN == -1 ) {
- TEST_ERROR_LOG(TEST_ERRNO);
- tst_resm(TFAIL, "setregid - change effective to real gid failed, errno=%d : %s",
- TEST_ERRNO, strerror(TEST_ERRNO));
- } else {
- /***************************************************************
- * only perform functional verification if flag set (-f not given)
- ***************************************************************/
- if ( STD_FUNCTIONAL_TEST ) {
- /* No Verification test, yet... */
- tst_resm(TPASS, "setregid - change effective to real gid returned %d", TEST_RETURN);
- }
- }
-
-
- /*
- * TEST CASE:
- * try to change real to current real
- */
-
-
- /* Call setregid(2) */
- TEST(setregid(gid, gid));
-
- /* check return code */
- if ( TEST_RETURN == -1 ) {
- TEST_ERROR_LOG(TEST_ERRNO);
- tst_resm(TFAIL, "setregid - try to change real to current real failed, errno=%d : %s",
- TEST_ERRNO, strerror(TEST_ERRNO));
- } else {
- /***************************************************************
- * only perform functional verification if flag set (-f not given)
- ***************************************************************/
- if ( STD_FUNCTIONAL_TEST ) {
- /* No Verification test, yet... */
- tst_resm(TPASS, "setregid - try to change real to current real returned %d", TEST_RETURN);
- }
- }
-
-
- } /* End for TEST_LOOPING */
-
- /***************************************************************
- * cleanup and exit
- ***************************************************************/
- cleanup();
-
- return 0;
-} /* End main */
-
-/***************************************************************
- * setup() - performs all ONE TIME setup for this test.
- ***************************************************************/
-void
-setup()
-{
- /* capture signals */
- tst_sig(NOFORK, DEF_HANDLER, cleanup);
-
- /* make a temp dir and cd to it */
- tst_tmpdir();
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-} /* End setup() */
-
-
-/***************************************************************
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- ***************************************************************/
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /* remove files and temp dir */
- tst_rmdir();
-
- /* exit with return code appropriate for results */
- tst_exit();
-} /* End cleanup() */
-
-
diff --git a/winsup/testsuite/winsup.api/ltp/setreuid01.c b/winsup/testsuite/winsup.api/ltp/setreuid01.c
deleted file mode 100644
index 05467c80f..000000000
--- a/winsup/testsuite/winsup.api/ltp/setreuid01.c
+++ /dev/null
@@ -1,338 +0,0 @@
-/*
- * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it would be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Further, this software is distributed without any warranty that it is
- * free of the rightful claim of any third person regarding infringement
- * or the like. Any license provided herein, whether implied or
- * otherwise, applies only to this software file. Patent licenses, if
- * any, provided herein do not apply to combinations of this program with
- * other software, or any other product whatsoever.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write the Free Software Foundation, Inc., 59
- * Temple Place - Suite 330, Boston MA 02111-1307, USA.
- *
- * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
- * Mountain View, CA 94043, or:
- *
- * http://www.sgi.com
- *
- * For further information regarding this notice, see:
- *
- * http://oss.sgi.com/projects/GenInfo/NoticeExplan/
- *
- */
-/* $Id$ */
-/**********************************************************
- *
- * OS Test - Silicon Graphics, Inc.
- *
- * TEST IDENTIFIER : setreuid01
- *
- * EXECUTED BY : anyone
- *
- * TEST TITLE : Basic test for setreuid(2)
- *
- * PARENT DOCUMENT : usctpl01
- *
- * TEST CASE TOTAL : 5
- *
- * WALL CLOCK TIME : 1
- *
- * CPU TYPES : ALL
- *
- * AUTHOR : William Roske
- *
- * CO-PILOT : Dave Fenner
- *
- * DATE STARTED : 05/14/92
- *
- * INITIAL RELEASE : UNICOS 7.0
- *
- * TEST CASES
- *
- * 1.) setreuid(2) returns...(See Description)
- *
- * INPUT SPECIFICATIONS
- * The standard options for system call tests are accepted.
- * (See the parse_opts(3) man page).
- *
- * OUTPUT SPECIFICATIONS
- *
- * DURATION
- * Terminates - with frequency and infinite modes.
- *
- * SIGNALS
- * Uses SIGUSR1 to pause before test if option set.
- * (See the parse_opts(3) man page).
- *
- * RESOURCES
- * None
- *
- * ENVIRONMENTAL NEEDS
- * No run-time environmental needs.
- *
- * SPECIAL PROCEDURAL REQUIREMENTS
- * None
- *
- * INTERCASE DEPENDENCIES
- * None
- *
- * DETAILED DESCRIPTION
- * This is a Phase I test for the setreuid(2) system call. It is intended
- * to provide a limited exposure of the system call, for now. It
- * should/will be extended when full functional tests are written for
- * setreuid(2).
- *
- * Setup:
- * Setup signal handling.
- * Pause for SIGUSR1 if option specified.
- *
- * Test:
- * Loop if the proper options are given.
- * Execute system call
- * Check return code, if system call failed (return=-1)
- * Log the errno and Issue a FAIL message.
- * Otherwise, Issue a PASS message.
- *
- * Cleanup:
- * Print errno log and/or timing stats if options given
- *
- *
- *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#**/
-
-#include <errno.h>
-#include <string.h>
-#include <signal.h>
-
-#include <sys/types.h>
-
-#include "test.h"
-#include "usctest.h"
-
-extern void setup();
-extern void cleanup();
-
-
-
-const char *TCID="setreuid01"; /* Test program identifier. */
-int TST_TOTAL=5; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-
-int exp_enos[]={0, 0}; /* Zero terminated list of expected errnos */
-
-int ruid, euid; /* real and effective user ids */
-
-
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
-
- /***************************************************************
- * parse standard options
- ***************************************************************/
- if ( (msg=parse_opts(ac, av, (option_t *) NULL, NULL)) != (char *) NULL )
- tst_brkm(TBROK, cleanup, "OPTION PARSING ERROR - %s", msg);
-
- /***************************************************************
- * perform global setup for test
- ***************************************************************/
- setup();
-
- /* set the expected errnos... */
- TEST_EXP_ENOS(exp_enos);
-
- /***************************************************************
- * check looping state if -c option given
- ***************************************************************/
- for (lc=0; TEST_LOOPING(lc); lc++) {
-
- /* reset Tst_count in case we are looping. */
- Tst_count=0;
-
-
- /*
- * TEST CASE:
- * Don't change either real or effective uid
- */
- ruid=getuid(); /* get real uid */
- euid=geteuid(); /* get effective uid */
-
-
- /* Call setreuid(2) */
- TEST(setreuid(-1, -1));
-
- /* check return code */
- if ( TEST_RETURN == -1 ) {
- TEST_ERROR_LOG(TEST_ERRNO);
- tst_resm(TFAIL, "setreuid - Don't change either real or effective uid failed, errno=%d : %s",
- TEST_ERRNO, strerror(TEST_ERRNO));
- } else {
- /***************************************************************
- * only perform functional verification if flag set (-f not given)
- ***************************************************************/
- if ( STD_FUNCTIONAL_TEST ) {
- /* No Verification test, yet... */
- tst_resm(TPASS, "setreuid - Don't change either real or effective uid returned %d", TEST_RETURN);
- }
- }
-
-
- /*
- * TEST CASE:
- * change effective to effective uid
- */
-
-
- /* Call setreuid(2) */
- TEST(setreuid(-1, euid));
-
- /* check return code */
- if ( TEST_RETURN == -1 ) {
- TEST_ERROR_LOG(TEST_ERRNO);
- tst_resm(TFAIL, "setreuid - change effective to effective uid failed, errno=%d : %s",
- TEST_ERRNO, strerror(TEST_ERRNO));
- } else {
- /***************************************************************
- * only perform functional verification if flag set (-f not given)
- ***************************************************************/
- if ( STD_FUNCTIONAL_TEST ) {
- /* No Verification test, yet... */
- tst_resm(TPASS, "setreuid - change effective to effective uid returned %d", TEST_RETURN);
- }
- }
-
-
- /*
- * TEST CASE:
- * change real to real uid
- */
-
-
- /* Call setreuid(2) */
- TEST(setreuid(ruid, -1));
-
- /* check return code */
- if ( TEST_RETURN == -1 ) {
- TEST_ERROR_LOG(TEST_ERRNO);
- tst_resm(TFAIL, "setreuid - change real to real uid failed, errno=%d : %s",
- TEST_ERRNO, strerror(TEST_ERRNO));
- } else {
- /***************************************************************
- * only perform functional verification if flag set (-f not given)
- ***************************************************************/
- if ( STD_FUNCTIONAL_TEST ) {
- /* No Verification test, yet... */
- tst_resm(TPASS, "setreuid - change real to real uid returned %d", TEST_RETURN);
- }
- }
-
-
- /*
- * TEST CASE:
- * change effective to real uid
- */
-
-
- /* Call setreuid(2) */
- TEST(setreuid(-1, ruid));
-
- /* check return code */
- if ( TEST_RETURN == -1 ) {
- TEST_ERROR_LOG(TEST_ERRNO);
- tst_resm(TFAIL, "setreuid - change effective to real uid failed, errno=%d : %s",
- TEST_ERRNO, strerror(TEST_ERRNO));
- } else {
- /***************************************************************
- * only perform functional verification if flag set (-f not given)
- ***************************************************************/
- if ( STD_FUNCTIONAL_TEST ) {
- /* No Verification test, yet... */
- tst_resm(TPASS, "setreuid - change effective to real uid returned %d", TEST_RETURN);
- }
- }
-
-
- /*
- * TEST CASE:
- * try to change real to current real
- */
-
-
- /* Call setreuid(2) */
- TEST(setreuid(ruid, ruid));
-
- /* check return code */
- if ( TEST_RETURN == -1 ) {
- TEST_ERROR_LOG(TEST_ERRNO);
- tst_resm(TFAIL, "setreuid - try to change real to current real failed, errno=%d : %s",
- TEST_ERRNO, strerror(TEST_ERRNO));
- } else {
- /***************************************************************
- * only perform functional verification if flag set (-f not given)
- ***************************************************************/
- if ( STD_FUNCTIONAL_TEST ) {
- /* No Verification test, yet... */
- tst_resm(TPASS, "setreuid - try to change real to current real returned %d", TEST_RETURN);
- }
- }
-
-
- } /* End for TEST_LOOPING */
-
- /***************************************************************
- * cleanup and exit
- ***************************************************************/
- cleanup();
-
- return 0;
-} /* End main */
-
-/***************************************************************
- * setup() - performs all ONE TIME setup for this test.
- ***************************************************************/
-void
-setup()
-{
- /* capture signals */
- tst_sig(NOFORK, DEF_HANDLER, cleanup);
-
- /* make a temp dir and cd to it */
- tst_tmpdir();
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-} /* End setup() */
-
-
-/***************************************************************
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- ***************************************************************/
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /* remove files and temp dir */
- tst_rmdir();
-
- /* exit with return code appropriate for results */
- tst_exit();
-} /* End cleanup() */
-
-
diff --git a/winsup/testsuite/winsup.api/ltp/setuid01.c b/winsup/testsuite/winsup.api/ltp/setuid01.c
deleted file mode 100644
index 37e18fd51..000000000
--- a/winsup/testsuite/winsup.api/ltp/setuid01.c
+++ /dev/null
@@ -1,225 +0,0 @@
-/*
- * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it would be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Further, this software is distributed without any warranty that it is
- * free of the rightful claim of any third person regarding infringement
- * or the like. Any license provided herein, whether implied or
- * otherwise, applies only to this software file. Patent licenses, if
- * any, provided herein do not apply to combinations of this program with
- * other software, or any other product whatsoever.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write the Free Software Foundation, Inc., 59
- * Temple Place - Suite 330, Boston MA 02111-1307, USA.
- *
- * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
- * Mountain View, CA 94043, or:
- *
- * http://www.sgi.com
- *
- * For further information regarding this notice, see:
- *
- * http://oss.sgi.com/projects/GenInfo/NoticeExplan/
- */
-/* $Id$ */
-/**********************************************************
- *
- * OS Test - Silicon Graphics, Inc.
- *
- * TEST IDENTIFIER : setuid01
- *
- * EXECUTED BY : anyone
- *
- * TEST TITLE : Basic test for setuid(2)
- *
- * PARENT DOCUMENT : usctpl01
- *
- * TEST CASE TOTAL : 1
- *
- * WALL CLOCK TIME : 1
- *
- * CPU TYPES : ALL
- *
- * AUTHOR : William Roske
- *
- * CO-PILOT : Dave Fenner
- *
- * DATE STARTED : 05/14/92
- *
- * INITIAL RELEASE : UNICOS 7.0
- *
- * TEST CASES
- *
- * 1.) setuid(2) returns...(See Description)
- *
- * INPUT SPECIFICATIONS
- * The standard options for system call tests are accepted.
- * (See the parse_opts(3) man page).
- *
- * OUTPUT SPECIFICATIONS
- *
- * DURATION
- * Terminates - with frequency and infinite modes.
- *
- * SIGNALS
- * Uses SIGUSR1 to pause before test if option set.
- * (See the parse_opts(3) man page).
- *
- * RESOURCES
- * None
- *
- * ENVIRONMENTAL NEEDS
- * The libcuts.a and libsys.a libraries must be included in
- * the compilation of this test.
- *
- * SPECIAL PROCEDURAL REQUIREMENTS
- * None
- *
- * INTERCASE DEPENDENCIES
- * None
- *
- * DETAILED DESCRIPTION
- * This is a Phase I test for the setuid(2) system call. It is intended
- * to provide a limited exposure of the system call, for now. It
- * should/will be extended when full functional tests are written for
- * setuid(2).
- *
- * Setup:
- * Setup signal handling.
- * Pause for SIGUSR1 if option specified.
- *
- * Test:
- * Loop if the proper options are given.
- * Execute system call
- * Check return code, if system call failed (return=-1)
- * Log the errno and Issue a FAIL message.
- * Otherwise, Issue a PASS message.
- *
- * Cleanup:
- * Print errno log and/or timing stats if options given
- *
- *
- *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#**/
-
-#include <errno.h>
-#include <string.h>
-#include <signal.h>
-
-#include <sys/types.h>
-
-#include "test.h"
-#include "usctest.h"
-
-void setup();
-void cleanup(void) __attribute__((noreturn));
-
-
-
-const char *TCID="setuid01"; /* Test program identifier. */
-int TST_TOTAL=1; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-
-int uid; /* current user id */
-
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
-
- /***************************************************************
- * parse standard options
- ***************************************************************/
- if ( (msg=parse_opts(ac, av, (option_t *)NULL, NULL)) != (char *) NULL ) {
- tst_brkm(TBROK, NULL, "OPTION PARSING ERROR - %s", msg);
- tst_exit();
- }
-
- /***************************************************************
- * perform global setup for test
- ***************************************************************/
- setup();
-
- /***************************************************************
- * check looping state if -c option given
- ***************************************************************/
- for (lc=0; TEST_LOOPING(lc); lc++) {
-
- /* reset Tst_count in case we are looping. */
- Tst_count=0;
-
- /*
- * TEST CASE:
- * Set the effective user ID to the current real uid
- */
- uid=getuid();
-
- /* Call setuid(2) */
- TEST(setuid(uid));
-
- /* check return code */
- if ( TEST_RETURN == -1 ) {
- TEST_ERROR_LOG(TEST_ERRNO);
- tst_resm(TFAIL, "setuid - Set the effective user ID to the current real uid failed, errno=%d : %s",
- TEST_ERRNO, strerror(TEST_ERRNO));
- } else {
- /***************************************************************
- * only perform functional verification if flag set (-f not given)
- ***************************************************************/
- if ( STD_FUNCTIONAL_TEST ) {
- /* No Verification test, yet... */
- tst_resm(TPASS, "setuid - Set the effective user ID to the current real uid returned %d", TEST_RETURN);
- }
- }
-
-
- } /* End for TEST_LOOPING */
-
- /***************************************************************
- * cleanup and exit
- ***************************************************************/
- cleanup();
-
- return 0;
-} /* End main */
-
-/***************************************************************
- * setup() - performs all ONE TIME setup for this test.
- ***************************************************************/
-void
-setup()
-{
- /* capture signals */
- tst_sig(NOFORK, DEF_HANDLER, cleanup);
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-} /* End setup() */
-
-
-/***************************************************************
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- ***************************************************************/
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /* exit with return code appropriate for results */
- tst_exit();
-} /* End cleanup() */
-
-
diff --git a/winsup/testsuite/winsup.api/ltp/setuid02.c b/winsup/testsuite/winsup.api/ltp/setuid02.c
deleted file mode 100644
index ee55ae19b..000000000
--- a/winsup/testsuite/winsup.api/ltp/setuid02.c
+++ /dev/null
@@ -1,240 +0,0 @@
-/*
- * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it would be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Further, this software is distributed without any warranty that it is
- * free of the rightful claim of any third person regarding infringement
- * or the like. Any license provided herein, whether implied or
- * otherwise, applies only to this software file. Patent licenses, if
- * any, provided herein do not apply to combinations of this program with
- * other software, or any other product whatsoever.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write the Free Software Foundation, Inc., 59
- * Temple Place - Suite 330, Boston MA 02111-1307, USA.
- *
- * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
- * Mountain View, CA 94043, or:
- *
- * http://www.sgi.com
- *
- * For further information regarding this notice, see:
- *
- * http://oss.sgi.com/projects/GenInfo/NoticeExplan/
- *
- */
-/* $Id$ */
-/**********************************************************
- *
- * OS Test - Silicon Graphics, Inc.
- *
- * TEST IDENTIFIER : setuid02
- *
- * EXECUTED BY : root
- *
- * TEST TITLE : Basic test for setuid(2) as root
- *
- * PARENT DOCUMENT : usctpl01
- *
- * TEST CASE TOTAL : 1
- *
- * WALL CLOCK TIME : 1
- *
- * CPU TYPES : ALL
- *
- * AUTHOR : William Roske
- *
- * CO-PILOT : Dave Fenner
- *
- * DATE STARTED : 05/14/92
- *
- * INITIAL RELEASE : UNICOS 7.0
- *
- * TEST CASES
- *
- * 1.) setuid(2) returns...(See Description)
- *
- * INPUT SPECIFICATIONS
- * The standard options for system call tests are accepted.
- * (See the parse_opts(3) man page).
- *
- * OUTPUT SPECIFICATIONS
- *
- * DURATION
- * Terminates - with frequency and infinite modes.
- *
- * SIGNALS
- * Uses SIGUSR1 to pause before test if option set.
- * (See the parse_opts(3) man page).
- *
- * RESOURCES
- * None
- *
- * ENVIRONMENTAL NEEDS
- * No run-time environmental needs.
- *
- * SPECIAL PROCEDURAL REQUIREMENTS
- * None
- *
- * INTERCASE DEPENDENCIES
- * None
- *
- * DETAILED DESCRIPTION
- * This is a Phase I test for the setuid(2) system call. It is intended
- * to provide a limited exposure of the system call, for now. It
- * should/will be extended when full functional tests are written for
- * setuid(2).
- *
- * Setup:
- * Setup signal handling.
- * Pause for SIGUSR1 if option specified.
- *
- * Test:
- * Loop if the proper options are given.
- * Execute system call
- * Check return code, if system call failed (return=-1)
- * Log the errno and Issue a FAIL message.
- * Otherwise, Issue a PASS message.
- *
- * Cleanup:
- * Print errno log and/or timing stats if options given
- *
- *
- *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#**/
-
-#include <errno.h>
-#include <string.h>
-#include <signal.h>
-
-#include <sys/types.h>
-
-#include "test.h"
-#include "usctest.h"
-
-extern void setup();
-extern void cleanup();
-
-
-
-const char *TCID="setuid02"; /* Test program identifier. */
-int TST_TOTAL=1; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-
-int exp_enos[]={0, 0}; /* Zero terminated list of expected errnos */
-
-int uid; /* current user id */
-
-
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
-
- /***************************************************************
- * parse standard options
- ***************************************************************/
- if ( (msg=parse_opts(ac, av, (option_t *) NULL, NULL)) != (char *) NULL )
- tst_brkm(TBROK, cleanup, "OPTION PARSING ERROR - %s", msg);
-
- /***************************************************************
- * perform global setup for test
- ***************************************************************/
- setup();
-
- /* set the expected errnos... */
- TEST_EXP_ENOS(exp_enos);
-
- /***************************************************************
- * check looping state if -c option given
- ***************************************************************/
- uid=getuid();
- for (lc=0; TEST_LOOPING(lc); lc++) {
-
- /* reset Tst_count in case we are looping. */
- Tst_count=0;
-
-
- /*
- * TEST CASE:
- * Set the effective user ID to the current real uid
- */
-
- /* Call setuid(2) */
- TEST(setuid(uid));
-
- /* check return code */
- if ( TEST_RETURN == -1 ) {
- TEST_ERROR_LOG(TEST_ERRNO);
- tst_resm(TFAIL, "setuid - Set the effective user ID to the current real uid failed, errno=%d : %s",
- TEST_ERRNO, strerror(TEST_ERRNO));
- } else {
- /***************************************************************
- * only perform functional verification if flag set (-f not given)
- ***************************************************************/
- if ( STD_FUNCTIONAL_TEST ) {
- /* No Verification test, yet... */
- tst_resm(TPASS, "setuid - Set the effective user ID to the current real uid returned %d", TEST_RETURN);
- }
- }
-
-
- } /* End for TEST_LOOPING */
-
- /***************************************************************
- * cleanup and exit
- ***************************************************************/
- cleanup();
-
- return 0;
-} /* End main */
-
-/***************************************************************
- * setup() - performs all ONE TIME setup for this test.
- ***************************************************************/
-void
-setup()
-{
- /* capture signals */
- tst_sig(NOFORK, DEF_HANDLER, cleanup);
-
- /* make a temp dir and cd to it */
- tst_tmpdir();
-
- /* must be root */
- if ( geteuid() != 0 )
- tst_brkm(TBROK, cleanup, "Must be root for this test!");
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-} /* End setup() */
-
-
-/***************************************************************
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- ***************************************************************/
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /* remove files and temp dir */
- tst_rmdir();
-
- /* exit with return code appropriate for results */
- tst_exit();
-} /* End cleanup() */
-
-
diff --git a/winsup/testsuite/winsup.api/ltp/signal03.c b/winsup/testsuite/winsup.api/ltp/signal03.c
deleted file mode 100644
index 2a0923ca2..000000000
--- a/winsup/testsuite/winsup.api/ltp/signal03.c
+++ /dev/null
@@ -1,663 +0,0 @@
-/*
- * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it would be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Further, this software is distributed without any warranty that it is
- * free of the rightful claim of any third person regarding infringement
- * or the like. Any license provided herein, whether implied or
- * otherwise, applies only to this software file. Patent licenses, if
- * any, provided herein do not apply to combinations of this program with
- * other software, or any other product whatsoever.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write the Free Software Foundation, Inc., 59
- * Temple Place - Suite 330, Boston MA 02111-1307, USA.
- *
- * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
- * Mountain View, CA 94043, or:
- *
- * http://www.sgi.com
- *
- * For further information regarding this notice, see:
- *
- * http://oss.sgi.com/projects/GenInfo/NoticeExplan/
- *
- */
-/* $Id$ */
-/***********************************************************************************
- *
- * OS Test - Silicon Graphics, Inc. Eagan, Minnesota
- *
- * TEST IDENTIFIER : signal03 Boundary value and other invalid value checking
- * of signal setup and signal sending.
- *
- * PARENT DOCUMENT : sgntds01 Signal System Call
- *
- * AUTHOR : Dave Baumgartner
- * : Rewrote 12/92 by Richard Logan
- *
- * CO-PILOT : Barrie Kletscher
- *
- * DATE STARTED : 10/17/85
- *
- * TEST ITEMS
- *
- * 1. SIGKILL can not be set to be caught, errno:EINVAL (POSIX).
- * 2. SIGKILL can not be caught.
- * 3. SIGKILL can not be set to be ignored, errno:EINVAL (POSIX).
- * 4. SIGKILL can not be ignored.
- * 5. SIGKILL can not be reset to default, errno:EINVAL (POSIX.
- *
- * ENVIRONMENTAL NEEDS
- *
- * NONE
- *
- * SPECIAL PROCEDURAL REQUIREMENTS
- *
- * None
- *
- * INTERCASE DEPENDENCIES
- *
- * 2 depends on 1 and 4 on 3.
- *
- * DETAILED DESCRIPTION
- *
- * main()
- * Call catch_test to test setup and catching of SIGKILL.
- *
- *
- * Call ignore_test to test setup and ignoring of SIGKILL.
- *
- *
- * Call sigdfl_test to test setting SIGKILL to default.
- *
- * * END OF MAIN *
- *
- *
- * catch_test()
- *
- * fork a child
- * if this is the parent
- * sleep to let child start.
- * send sig to child.
- * wait for the child to terminate.
- *
- * if the termination status of the child equals the signal sent to it
- * Test item 1 PASSED the child was killed.
- * else if status equals the exit value of SIG_CAUGHT
- * Test item 2 FAILED sig was caught.
- * else
- * Test item 2 FAILED because the child was not killed
- * but sig was not caught either.
- *
- * else this the child
- * set exit_val to SIG_NOT_CAUGHT.
- * set to catch sig, where the interrupt routine just sets
- * exit_val to SIG_CAUGHT.
- *
- * If the return value and errno, after trying to set to catch sig,
- * do not indicate that an error has occurred.
- * Test item 1 FAILED bad return, return value:X, errno:X.
- * else
- * Test item 1 PASSED sig was not set to be caught.
- *
- * pause until the parent sends a signal.
- * The child should be killed by the signal but if not exit
- * with exit_val.
- *
- * * End of catch_test. *
- *
- *
- * ignore_test()
- *
- * fork a child
- * if this is the parent
- * sleep to let child start.
- * send SIGKILL to child.
- * wait for the child to terminate.
- *
- * if the termination status of the child equals SIGKILL
- * Test item 4 PASSED the child was killed.
- * else if the status equals the exit value of SIG_IGNORED
- * Test item 4 FAILED SIGKILL was ignored.
- *
- * else this the child
- *
- * If the return value and errno, after trying to set to ignore SIGKILL,
- * do not indicate that an error has occurred.
- * Test item 3 FAILED bad return, return value:X, errno:X.
- * else
- * Test item 3 PASSED SIGKILL was not set to be ignored.
- *
- * pause until the parent sends SIGKILL.
- * The child should be killed by the signal but if not exit
- * with SIG_IGNORED.
- *
- * * End of ignore_test. *
- *
- *
- * sigdfl_test()
- *
- * If the return value and errno, after trying to set to SIGKILL to default,
- * do not indicate that an error has occurred.
- * Test item 5 FAILED bad return, return value:X, errno:X.
- * else
- * Test item 5 PASSED SIGKILL was not set to default.
- *
- * * End of sigdfl_test. *
- *
- * BUGS/NOTES
- * Since the system call under test is executed in the child, no
- * timings on this system call will be reported.
- *
-***********************************************************************************/
-
-#include <signal.h>
-#include <errno.h>
-#include <fcntl.h>
-#include <string.h>
-#include <sys/wait.h>
-
-#include "test.h"
-#include "usctest.h"
-
-void setup();
-void cleanup(void) __attribute__((noreturn));
-void do_test();
-void sigdfl_test();
-void update_timings();
-
-#if defined(linux)
-# define SIG_PF sig_t /* This might need to be sighandler_t on some systems */
-#elif defined(__CYGWIN__)
-typedef void (*sighandler_t) (int);
-#define SIG_PF sighandler_t
-#endif
-
-#define SIG_CAUGHT 1
-#define SIG_NOT_CAUGHT 0
-#define SIG_IGNORED 5
-#define TIMED_OUT 99
-
-#define TIMEOUT 20
-
-#define GO_FLAG 1
-#define ERROR_FLAG 2
-#define PASS_FLAG 3
-#define FAIL_FLAG 4
-
-#define IGNORE_TEST 1
-#define CATCH_TEST 2
-
-#define MAXMESG 150 /* The Maximum message that can be created. */
-
-int exit_val; /* Global variable, used to tell whether the */
- /* child exited instead of being killed. */
-extern int errno; /* errno holds the error value returned by */
- /* a system call. */
-char mesg[MAXMESG]; /* Holds messages to pass to tst_res. */
-
-struct ipc_t {
- int status;
- char mesg[MAXMESG];
- struct tblock timings;
-} Ipc_info;
-
-const char *TCID = "signal03";
-int TST_TOTAL = 5;
-extern int Tst_count; /* count of test items completed */
-
-int Pid; /* Return value from fork. */
-
-long Tret;
-
-/***********************************************************************
- * M A I N
- ***********************************************************************/
-int
-main(argc, argv)
-int argc;
-char **argv;
-{
- int lc;
- const char *msg;
-
- /***************************************************************
- * parse standard options
- ***************************************************************/
- if ( (msg=parse_opts(argc, argv, (option_t *) NULL, NULL)) != (char *) NULL ) {
- tst_brkm(TBROK, NULL, "OPTION PARSING ERROR - %s", msg);
- tst_exit();
- }
-
- /***************************************************************
- * perform global setup for test
- ***************************************************************/
- setup();
-
- /***************************************************************
- * check looping state if -c option given
- ***************************************************************/
- for (lc=0; TEST_LOOPING(lc); lc++) {
-
- /* reset Tst_count in case we are looping. */
- Tst_count=0;
-
- errno=-4;
-
- /*
- * Call catch_test to test setup and catching of SIGKILL.
- */
- (void) do_test(CATCH_TEST, Tst_count);
-
- /*
- * Call ignore_test to test setup and ignoring of SIGKILL.
- */
- (void) do_test(IGNORE_TEST, Tst_count);
-
- /*
- * Call sigdfl_test to test setting SIGKILL to default.
- */
- (void) sigdfl_test();
-
- }
-
- cleanup();
-
- return 0;
-} /*End of main*/
-
-/***********************************************************************
- *
- ***********************************************************************/
-void
-do_test(test_case, tst_count)
-int test_case;
-int tst_count;
-{
- int term_stat; /* Termination status of the child returned to */
- /* the parent. */
- char string[30];
- int fd1[2]; /* ipc */
- int rd_sz; /* size of read */
- void p_timeout_handler();
- void c_timeout_handler();
- void catchsig();
-
- Tst_count = tst_count;
-
- /*
- * Create a pipe of ipc
- */
- if ( pipe(fd1) == -1 ) {
- sprintf(mesg,
- "pipe system call failed, Errno: %d, Error message: %s",
- errno,strerror(errno));
- tst_resm(TBROK,mesg);
- tst_resm(TBROK,mesg);
- return;
- }
-
- /*
- * Cause the read to return 0 once EOF is encountered and the
- * read to return -1 if pipe is empty.
- */
-
- if ( fcntl(fd1[0], F_SETFL, O_NONBLOCK) == -1 ) {
- sprintf(mesg, "fcntl(fd1[0], F_SETFL, O_NONBLOCK) failed: errno=%d",
- errno);
- tst_resm(TBROK,mesg);
- tst_resm(TBROK,mesg);
- close(fd1[0]);
- close(fd1[1]);
- return;
- }
-
- if ((Pid = fork()) > 0) { /* parent */
-
- signal(SIGALRM, p_timeout_handler);
-
- alarm(TIMEOUT);
-
- close(fd1[1]); /* close write side */
-
- /*
- * Deal with child's messages.
- * Only the GO_FLAG status will allow parent to
- * go on. All pipe io will be in the ipc_t structure sizes
- * to avoid reading part of next message.
- */
- while ( 1 ) {
-
- while ( (rd_sz=read(fd1[0], (char *)&Ipc_info, sizeof(Ipc_info))) != 0 ) {
- if ( rd_sz > 0 )
- break; /* read something */
- }
-
- if ( rd_sz == 0 ) { /* if EOF encountered */
- sprintf(mesg, "child's pipe is closed before 'go' message received");
- tst_resm(TBROK, Ipc_info.mesg);
- tst_resm(TBROK, Ipc_info.mesg);
- close(fd1[0]);
- return;
- }
-
- else if ( Ipc_info.status == GO_FLAG ) {
- break; /* go on */
- }
- else if ( Ipc_info.status == ERROR_FLAG ) {
- tst_resm(TBROK, "From child: %s", Ipc_info.mesg);
- tst_resm(TBROK, "From child: %s", Ipc_info.mesg);
- close(fd1[0]);
- return;
- }
- else if ( Ipc_info.status == PASS_FLAG ) {
-
- if ( STD_FUNCTIONAL_TEST )
- tst_resm(TPASS, "From child: %s", Ipc_info.mesg);
- else
- Tst_count++;
- update_timings(Ipc_info.timings);
- }
- else if ( Ipc_info.status == FAIL_FLAG ) {
- tst_resm(TFAIL, "From child: %s", Ipc_info.mesg);
- update_timings(Ipc_info.timings);
- }
- else {
- tst_resm(TINFO, "Unknown message from child: %s", mesg);
- }
- }
-
- /*
- * Send the signal SIGKILL to the child.
- */
- if (kill(Pid,SIGKILL) == -1)
- {
- /*
- * The kill system call failed.
- */
- sprintf(mesg,
- "kill(Pid,SIGKILL) failed, Errno: %d, Error message: %s",
- errno,strerror(errno));
- tst_resm(TBROK,mesg);
- tst_resm(TBROK,mesg);
- close(fd1[0]);
- return;
- }
-
- /*
- * Wait for the child to terminate and check the termination status.
- */
- if (wait(&term_stat) == -1) {
- /*
- * The wait system call failed.
- */
- sprintf(mesg,
- "Wait system call failed. Errno: %d, Error message: %s",
- errno,strerror(errno));
- tst_resm(TBROK,mesg);
- tst_resm(TBROK,mesg);
- close(fd1[0]);
- return;
- }
- else if ( STD_FUNCTIONAL_TEST ) {
- if ((term_stat & 0377) == SIGKILL) {
- /*
- * The child was killed by the signal sent,
- * which is correct.
- */
- tst_resm(TPASS,"The child was killed by SIGKILL.");
- }
- else if ( (term_stat >> 8) == TIMED_OUT ) {
- sprintf(mesg, "child exited with a timed out exit status");
- tst_resm(TBROK,mesg);
- }
- else {
- if ((term_stat >> 8) == SIG_IGNORED && test_case == IGNORE_TEST ) {
- sprintf(mesg,
- "SIGKILL was ignored by child after sent by parent.");
- }
- else if ((term_stat >> 8) == SIG_CAUGHT && test_case == CATCH_TEST ) {
- sprintf(mesg,
- "SIGKILL was caught by child after sent by parent.");
- }
- else {
- sprintf(mesg,
- "Child's termination status is unexpected. Status: %d (%#o).",
- term_stat, term_stat);
- }
- tst_resm(TFAIL, mesg);
- }
- }
- else {
- Tst_count++; /* increment test counter */
- }
- close(fd1[0]);
-
- } /* End of parent. */
- else if (Pid == 0) {
- /*
- * This is the child.
- * Set up to ignore/catch SIGKILL and check the return values.
- */
- errno=0;
- if ( test_case == IGNORE_TEST ) {
- exit_val = SIG_IGNORED;
- strcpy(string, "signal(SIGKILL, SIG_IGN)");
-
- Tret=(long)signal(SIGKILL, SIG_IGN);
- TEST_ERRNO=errno;
- }
- else {
- exit_val = SIG_NOT_CAUGHT;
- strcpy(string, "signal(SIGKILL, catchsig)");
- Tret=(long)signal(SIGKILL, catchsig);
- TEST_ERRNO=errno;
- }
- Ipc_info.timings=tblock;
-
- if ( (SIG_PF)Tret == SIG_ERR ) {
- if ( TEST_ERRNO == EINVAL ) {
- sprintf(Ipc_info.mesg, "%s ret:%ld SIG_ERR (%ld) as expected",
- string, Tret, (long)SIG_ERR);
- Ipc_info.status = PASS_FLAG;
- }
- else {
- sprintf(Ipc_info.mesg,
- "%s ret:%ld, errno:%d expected ret:%ld, errno:%d",
- string, Tret, TEST_ERRNO, (long)SIG_ERR, EINVAL);
- Ipc_info.status = FAIL_FLAG;
- }
-
- write(fd1[1], (char *)&Ipc_info, sizeof(Ipc_info));
- }
- else {
- /*
- * The child was not allowed to set the signal to
- * be ignored and errno was correct.
- */
- sprintf(Ipc_info.mesg,
- "%s ret:%ld, errno:%d expected ret:%ld, errno:%d",
- string, Tret, TEST_ERRNO, (long)SIG_ERR, EINVAL);
- Ipc_info.status = FAIL_FLAG;
- write(fd1[1], (char *)&Ipc_info, sizeof(Ipc_info));
- }
-
- /*
- * tell parent we are ready - setup by child is done
- */
- Ipc_info.status = GO_FLAG;
- write(fd1[1], (char *)&Ipc_info, sizeof(Ipc_info));
-
- /*
- * Set the alarm to wake up from the pause below if
- * the parents signal is ignored.
- */
- signal(SIGALRM, p_timeout_handler);
- alarm(TIMEOUT);
-
- /*
- * Pause until the parent sends a signal or until alarm is received.
- */
- pause();
-
- exit(exit_val);
-
-
- } /* End of child. */
- else {
- /*
- * The fork system call failed.
- */
- sprintf(mesg,
- "Fork system call failed. Errno: %d, Error message: %s",
- errno,strerror(errno));
- tst_resm(TBROK,mesg);
- tst_resm(TBROK,mesg);
- close(fd1[0]);
- close(fd1[1]);
- return;
- }
-
-} /* End of do_test. */
-
-/***********************************************************************
- * sigdfl_test - test for attempt to set SIGKILL to default
- ***********************************************************************/
-void
-sigdfl_test()
-{
- /*
- * Try to set SIGKILL to default and check the return values.
- */
- errno=-4;
-
- Tret=(long)signal(SIGKILL,SIG_DFL);
- TEST_RETURN=Tret;
- TEST_ERRNO=errno;
-
-
- if ( (SIG_PF)TEST_RETURN == SIG_ERR ) {
- if ( STD_FUNCTIONAL_TEST ) {
- if ( TEST_ERRNO != EINVAL ) {
- sprintf(mesg,
- "signal(SIGKILL,SIG_DFL) ret:%d, errno:%d expected ret:-1, errno:%d",
- TEST_RETURN, TEST_ERRNO, EINVAL);
- tst_resm(TFAIL, mesg);
- }
- else {
- sprintf(mesg,
- "signal(SIGKILL,SIG_DFL) ret:%d, errno:%d as expected.",
- TEST_RETURN, TEST_ERRNO);
- tst_resm(TPASS, mesg);
- }
- }
- else
- Tst_count++;
- }
- else {
- sprintf(mesg,
- "signal(SIGKILL,SIG_DFL) ret:%d, errno:%d expected ret:-1, errno:%d",
- TEST_RETURN, TEST_ERRNO, EINVAL);
- tst_resm(TFAIL, mesg);
- }
-
-} /* End of sigdfl_test. */
-
-/***************************************************************
- * setup() - performs all ONE TIME setup for this test.
- ***************************************************************/
-void
-setup()
-{
- /* capture signals */
- tst_sig(FORK, DEF_HANDLER, cleanup);
-
- /* make and change to a temporary directory */
- tst_tmpdir();
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-
-} /* End setup() */
-
-/***************************************************************
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- ***************************************************************/
-void
-cleanup()
-{
-
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
-
- TEST_CLEANUP;
-
- /*
- * remove the temporary directory and exit with
- * return code appropriate for results
- */
-
- tst_rmdir();
-
- tst_exit();
-
-} /* End cleanup() */
-
-/***********************************************************************
- * Signal handler routine that used by the parent to handler
- * a time out situation. It will attempt to kill the child and
- * call cleanup.
- ***********************************************************************/
-void
-p_timeout_handler()
-{
- kill(Pid, SIGKILL);
- cleanup();
-}
-
-/***********************************************************************
- * Signal handler routine that used by the child to handle
- * a time out situation. It will set a global varaible and return
- * if called.
- ***********************************************************************/
-void
-c_timeout_handler()
-{
- exit_val = TIMED_OUT;
- return;
-}
-
-/***********************************************************************
- * This signal handling routine will set a global variable and return
- * if called.
- ***********************************************************************/
-void
-catchsig()
-{
- exit_val = SIG_CAUGHT;
- return;
-}
-
-/***********************************************************************
- * Update timing information
- ***********************************************************************/
-void
-update_timings(atblock)
-struct tblock atblock;
-{
- tblock.tb_max += atblock.tb_max;
- tblock.tb_min += atblock.tb_min;
- tblock.tb_total += atblock.tb_total;
- tblock.tb_count += atblock.tb_count;
-}
diff --git a/winsup/testsuite/winsup.api/ltp/stat01.c b/winsup/testsuite/winsup.api/ltp/stat01.c
deleted file mode 100644
index da3596e17..000000000
--- a/winsup/testsuite/winsup.api/ltp/stat01.c
+++ /dev/null
@@ -1,267 +0,0 @@
-/*
- *
- * Copyright (c) International Business Machines Corp., 2001
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-/*
- * Test Name: stat01
- *
- * Test Description:
- * Verify that, stat(2) succeeds to get the status of a file and fills the
- * stat structure elements.
- *
- * Expected Result:
- * stat() should return value 0 on success and fills the stat structure
- * elements with the specified 'file' information.
- *
- * Algorithm:
- * Setup:
- * Setup signal handling.
- * Create temporary directory.
- * Pause for SIGUSR1 if option specified.
- *
- * Test:
- * Loop if the proper options are given.
- * Execute system call
- * Check return code, if system call failed (return=-1)
- * Log the errno and Issue a FAIL message.
- * Otherwise,
- * Verify the Functionality of system call
- * if successful,
- * Issue Functionality-Pass message.
- * Otherwise,
- * Issue Functionality-Fail message.
- * Cleanup:
- * Print errno log and/or timing stats if options given
- * Delete the temporary directory created.
- *
- * Usage: <for command-line>
- * stat01 [-c n] [-e] [-f] [-i n] [-I x] [-p x] [-t]
- * where, -c n : Run n copies concurrently.
- * -e : Turn on errno logging.
- * -f : Turn off functionality Testing.
- * -i n : Execute test n times.
- * -I x : Execute test for x seconds.
- * -P x : Pause for x seconds between iterations.
- * -t : Turn on syscall timing.
- *
- * History
- * 07/2001 John George
- * -Ported
- *
- * Restrictions:
- *
- */
-#include <sys/types.h>
-#include <sys/fcntl.h>
-#include <sys/stat.h>
-#include <errno.h>
-#include <string.h>
-#include <signal.h>
-#include <pwd.h>
-
-#include "test.h"
-#include "usctest.h"
-
-#define FILE_MODE 0644
-#define TESTFILE "testfile"
-#define FILE_SIZE 1024
-#define BUF_SIZE 256
-#define MASK 0777
-
-const char *TCID="stat01"; /* Test program identifier. */
-int TST_TOTAL=1; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-int exp_enos[]={0};
-uid_t User_id; /* Owner id of the test file */
-gid_t Group_id; /* Group id of the test file */
-char nobody_uid[] = "nobody";
-struct passwd *ltpuser;
-
-void setup(); /* Setup function for the test */
-void cleanup(void) __attribute__((noreturn)); /* Cleanup function for the test */
-
-int
-main(int ac, char **av)
-{
- struct stat stat_buf; /* stat structure buffer */
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
-
- /* Parse standard options given to run the test. */
- msg = parse_opts(ac, av, (option_t *) NULL, NULL);
- if (msg != (char *) NULL) {
- tst_brkm(TBROK, NULL, "OPTION PARSING ERROR - %s", msg);
- tst_exit();
- /*NOTREACHED*/
- }
-
- /* Perform global setup for test */
- setup();
-
- /* set the expected errnos... */
- TEST_EXP_ENOS(exp_enos);
-
- /* Check looping state if -i option given */
- for (lc = 0; TEST_LOOPING(lc); lc++) {
- /* Reset Tst_count in case we are looping. */
- Tst_count = 0;
-
- /*
- * Call stat(2) to get the status of
- * specified 'file' into stat structure.
- */
- TEST(stat(TESTFILE, &stat_buf));
-
- /* check return code of stat(2) */
- if (TEST_RETURN == -1) {
- TEST_ERROR_LOG(TEST_ERRNO);
- tst_resm(TFAIL, \
- "stat(%s, &stat_buf) Failed, errno=%d : %s",
- TESTFILE, TEST_ERRNO, strerror(TEST_ERRNO));
- } else {
- /*
- * Perform functional verification if test
- * executed without (-f) option.
- */
- if (STD_FUNCTIONAL_TEST) {
- stat_buf.st_mode &= ~S_IFREG;
- /*
- * Verify the data returned by stat(2)
- * aganist the expected data.
- */
- if ((stat_buf.st_uid != User_id) || \
- (stat_buf.st_gid != Group_id) || \
- (stat_buf.st_size != FILE_SIZE) || \
- ((stat_buf.st_mode & MASK) != FILE_MODE)) {
- tst_resm(TFAIL, "Functionality of "
- "stat(2) on '%s' Failed",
- TESTFILE);
- } else {
- tst_resm(TPASS, "Functionality of "
- "stat(2) on '%s' Succcessful",
- TESTFILE);
- }
- } else {
- tst_resm(TINFO, "Call succeeded");
- }
- }
- Tst_count++; /* incr. TEST_LOOP counter */
- } /* End for TEST_LOOPING */
-
- /* Call cleanup() to undo setup done for the test. */
- cleanup();
- /*NOTREACHED*/
-
-} /* End main */
-
-/*
- * void
- * setup() - Performs setup function for the test.
- * Creat a temporary directory and change directory to it.
- * Creat a testfile and write some known data into it.
- * Get the effective uid/gid of test process.
- */
-void
-setup()
-{
- int i, fd;
- char tst_buff[BUF_SIZE];
- int wbytes;
- int write_len = 0;
-
- /* capture signals */
- tst_sig(NOFORK, DEF_HANDLER, cleanup);
-#if 0
- /* Switch to nobody user for correct error code collection */
- if (geteuid() != 0) {
- tst_brkm(TBROK, tst_exit, "Test must be run as root");
- }
- ltpuser = getpwnam(nobody_uid);
- if (setuid(ltpuser->pw_uid) == -1) {
- tst_resm(TINFO, "setuid failed to "
- "to set the effective uid to %d",
- ltpuser->pw_uid);
- perror("setuid");
- }
-#endif
- /* Pause if that option was specified
- * TEST_PAUSE contains the code to fork the test with the -i option.
- * You want to make sure you do this before you create your temporary
- * directory.
- */
- TEST_PAUSE;
-
- /* make a temp directory and cd to it */
- tst_tmpdir();
-
- if ((fd = open(TESTFILE, O_RDWR|O_CREAT, FILE_MODE)) == -1) {
- tst_brkm(TBROK, cleanup,
- "open(%s, O_RDWR|O_CREAT, %#o) Failed, errno=%d : %s",
- TESTFILE, FILE_MODE, errno, strerror(errno));
- /*NOTREACHED*/
- }
-
- /* Fill the test buffer with the known data */
- for (i = 0; i < BUF_SIZE; i++) {
- tst_buff[i] = 'a';
- }
-
- /* Write to the file 1k data from the buffer */
- while (write_len < FILE_SIZE) {
- if ((wbytes = write(fd, tst_buff, sizeof(tst_buff))) <= 0) {
- tst_brkm(TBROK, cleanup,
- "write(2) on %s Failed, errno=%d : %s",
- TESTFILE, errno, strerror(errno));
- /*NOTREACHED*/
- } else {
- write_len += wbytes;
- }
- }
-
- /* Close the testfile created */
- if (close(fd) == -1) {
- tst_resm(TWARN, "close(%s) Failed, errno=%d : %s",
- TESTFILE, errno, strerror(errno));
- }
-
- /* Get the uid/gid of the process */
- User_id = getuid();
- Group_id = getgid();
-
-} /* End setup() */
-
-/*
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- * Remove the test file and temporary directory created.
- */
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /* Remove tmp dir and all files in it */
- tst_rmdir();
-
- /* exit with return code appropriate for results */
- tst_exit();
-} /* End cleanup() */
diff --git a/winsup/testsuite/winsup.api/ltp/stat02.c b/winsup/testsuite/winsup.api/ltp/stat02.c
deleted file mode 100644
index 745476fa0..000000000
--- a/winsup/testsuite/winsup.api/ltp/stat02.c
+++ /dev/null
@@ -1,276 +0,0 @@
-/*
- *
- * Copyright (c) International Business Machines Corp., 2001
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-/*
- * Test Name: stat02
- *
- * Test Description:
- * Verify that, stat(2) succeeds to get the status of a file and fills the
- * stat structure elements though process doesn't have read access to the
- * file.
- *
- * Expected Result:
- * stat() should return value 0 on success and the stat structure elements
- * should be filled with specified 'file' information.
- *
- * Algorithm:
- * Setup:
- * Setup signal handling.
- * Create temporary directory.
- * Pause for SIGUSR1 if option specified.
- *
- * Test:
- * Loop if the proper options are given.
- * Execute system call
- * Check return code, if system call failed (return=-1)
- * Log the errno and Issue a FAIL message.
- * Otherwise,
- * Verify the Functionality of system call
- * if successful,
- * Issue Functionality-Pass message.
- * Otherwise,
- * Issue Functionality-Fail message.
- * Cleanup:
- * Print errno log and/or timing stats if options given
- * Delete the temporary directory created.
- *
- * Usage: <for command-line>
- * stat02 [-c n] [-e] [-f] [-i n] [-I x] [-p x] [-t]
- * where, -c n : Run n copies concurrently.
- * -e : Turn on errno logging.
- * -f : Turn off functionality Testing.
- * -i n : Execute test n times.
- * -I x : Execute test for x seconds.
- * -P x : Pause for x seconds between iterations.
- * -t : Turn on syscall timing.
- *
- * History
- * 07/2001 John George
- * -Ported
- *
- * Restrictions:
- *
- */
-#include <sys/types.h>
-#include <sys/fcntl.h>
-#include <sys/stat.h>
-#include <errno.h>
-#include <string.h>
-#include <signal.h>
-#include <pwd.h>
-
-#include "test.h"
-#include "usctest.h"
-
-#define FILE_MODE S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH
-#define TESTFILE "testfile"
-#define FILE_SIZE 1024
-#define BUF_SIZE 256
-#define NEW_MODE 0222
-#define MASK 0777
-
-const char *TCID="stat02"; /* Test program identifier. */
-int TST_TOTAL=1; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-int exp_enos[]={0};
-uid_t User_id; /* eff. user id/group id of test process */
-gid_t Group_id;
-char nobody_uid[] = "nobody";
-struct passwd *ltpuser;
-
-void setup(); /* Setup function for the test */
-void cleanup(void) __attribute__((noreturn)); /* Cleanup function for the test */
-
-int
-main(int ac, char **av)
-{
- struct stat stat_buf; /* stat structure buffer */
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
-
- /* Parse standard options given to run the test. */
- msg = parse_opts(ac, av, (option_t *) NULL, NULL);
- if (msg != (char *) NULL) {
- tst_brkm(TBROK, NULL, "OPTION PARSING ERROR - %s", msg);
- tst_exit();
- }
-
- /* Perform global setup for test */
- setup();
-
- /* set the expected errnos... */
- TEST_EXP_ENOS(exp_enos);
-
- /* Check looping state if -i option given */
- for (lc = 0; TEST_LOOPING(lc); lc++) {
- /* Reset Tst_count in case we are looping. */
- Tst_count = 0;
-
- /*
- * Call stat(2) to get the status of
- * specified 'file' into stat structure.
- */
- TEST(stat(TESTFILE, &stat_buf));
-
- /* check return code of stat(2) */
- if (TEST_RETURN == -1) {
- TEST_ERROR_LOG(TEST_ERRNO);
- tst_resm(TFAIL,
- "stat(%s, &stat_buf) Failed, errno=%d : %s",
- TESTFILE, TEST_ERRNO, strerror(TEST_ERRNO));
- } else {
- /*
- * Perform functional verification if test
- * executed without (-f) option.
- */
- if (STD_FUNCTIONAL_TEST) {
- stat_buf.st_mode &= ~S_IFREG;
- /*
- * Verify the data returned by stat(2)
- * aganist the expected data.
- */
- if ((stat_buf.st_uid != User_id) || \
- (stat_buf.st_gid != Group_id) || \
- (stat_buf.st_size != FILE_SIZE) || \
- ((stat_buf.st_mode & MASK) != NEW_MODE)) {
- tst_resm(TFAIL, "Functionality of "
- "stat(2) on '%s' Failed",
- TESTFILE);
- } else {
- tst_resm(TPASS, "Functionality of "
- "stat(2) on '%s' Succcessful",
- TESTFILE);
- }
- } else {
- tst_resm(TPASS, "Call succeeded");
- }
- }
- Tst_count++; /* incr TEST_LOOP counter */
- } /* End for TEST_LOOPING */
-
- /* Call cleanup() to undo setup done for the test. */
- cleanup();
- /*NOTREACHED*/
-
-} /* End main */
-
-/*
- * void
- * setup() - Performs setup function for the test.
- * Creat a temporary directory and change directory to it.
- * Creat a testfile and write some data into it.
- * Modify the mode permissions of testfile such that test process
- * has read-only access to testfile.
- */
-void
-setup()
-{
- int i, fd; /* counter, file handle for file */
- char tst_buff[BUF_SIZE]; /* data buffer for file */
- int wbytes; /* no. of bytes written to file */
- int write_len = 0;
-
- /* capture signals */
- tst_sig(NOFORK, DEF_HANDLER, cleanup);
-#if 0
- /* Switch to nobody user for correct error code collection */
- if (geteuid() != 0) {
- tst_brkm(TBROK, tst_exit, "Test must be run as root");
- }
- ltpuser = getpwnam(nobody_uid);
- if (setuid(ltpuser->pw_uid) == -1) {
- tst_resm(TINFO, "setuid failed to "
- "to set the effective uid to %d",
- ltpuser->pw_uid);
- perror("setuid");
- }
-#endif
- /* Pause if that option was specified
- * TEST_PAUSE contains the code to fork the test with the -i option.
- * You want to make sure you do this before you create your temporary
- * directory.
- */
- TEST_PAUSE;
-
- /* make a temp directory and cd to it */
- tst_tmpdir();
-
- if ((fd = open(TESTFILE, O_RDWR|O_CREAT, FILE_MODE)) == -1) {
- tst_brkm(TBROK, cleanup,
- "open(%s, O_RDWR|O_CREAT, %#o) Failed, errno=%d : %s",
- TESTFILE, FILE_MODE, errno, strerror(errno));
- /*NOTREACHED*/
- }
-
- /* Fill the test buffer with the known data */
- for (i = 0; i < BUF_SIZE; i++) {
- tst_buff[i] = 'a';
- }
-
- /* Write to the file 1k data from the buffer */
- while (write_len < FILE_SIZE) {
- if ((wbytes = write(fd, tst_buff, sizeof(tst_buff))) <= 0) {
- tst_brkm(TBROK, cleanup,
- "write(2) on %s Failed, errno=%d : %s",
- TESTFILE, errno, strerror(errno));
- /*NOTREACHED*/
- } else {
- write_len += wbytes;
- }
- }
-
- if (close(fd) == -1) {
- tst_resm(TWARN, "close(%s) Failed, errno=%d : %s",
- TESTFILE, errno, strerror(errno));
- }
-
- /* Modify mode permissions on the testfile */
- if (chmod(TESTFILE, NEW_MODE) < 0) {
- tst_brkm(TBROK, cleanup,
- "chmod(2) on %s Failed, errno=%d : %s",
- TESTFILE, errno, strerror(errno));
- /*NOTREACHED*/
- }
-
- /* Get the uid/gid of the process */
- User_id = getuid();
- Group_id = getgid();
-
-} /* End setup() */
-
-/*
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- * Remove the temporary directory and file created.
- */
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /* Remove tmp dir and all files in it */
- tst_rmdir();
-
- /* exit with return code appropriate for results */
- tst_exit();
-} /* End cleanup() */
diff --git a/winsup/testsuite/winsup.api/ltp/stat03.c b/winsup/testsuite/winsup.api/ltp/stat03.c
deleted file mode 100644
index dcddfd2a0..000000000
--- a/winsup/testsuite/winsup.api/ltp/stat03.c
+++ /dev/null
@@ -1,391 +0,0 @@
-/*
- *
- * Copyright (c) International Business Machines Corp., 2001
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-/*
- * Test Name: stat03
- *
- * Test Description:
- * Verify that,
- * 1) stat(2) returns -1 and sets errno to EACCES if search permission is
- * denied on a component of the path prefix.
- * 2) stat(2) returns -1 and sets errno to ENOENT if the specified file
- * does not exists or empty string.
- * 3) stat(2) returns -1 and sets errno to EFAULT if pathname points
- * outside user's accessible address space.
- * 4) stat(2) returns -1 and sets errno to ENAMETOOLONG if the pathname
- * component is too long.
- * 5) stat(2) returns -1 and sets errno to ENOTDIR if the directory
- * component in pathname is not a directory.
- *
- * Expected Result:
- * stat() should fail with return value -1 and set expected errno.
- *
- * Algorithm:
- * Setup:
- * Setup signal handling.
- * Create temporary directory.
- * Pause for SIGUSR1 if option specified.
- *
- * Test:
- * Loop if the proper options are given.
- * Execute system call
- * Check return code, if system call failed (return=-1)
- * if errno set == expected errno
- * Issue sys call fails with expected return value and errno.
- * Otherwise,
- * Issue sys call fails with unexpected errno.
- * Otherwise,
- * Issue sys call returns unexpected value.
- *
- * Cleanup:
- * Print errno log and/or timing stats if options given
- * Delete the temporary directory(s)/file(s) created.
- *
- * Usage: <for command-line>
- * stat03 [-c n] [-e] [-i n] [-I x] [-p x] [-t]
- * where, -c n : Run n copies concurrently.
- * -e : Turn on errno logging.
- * -i n : Execute test n times.
- * -I x : Execute test for x seconds.
- * -P x : Pause for x seconds between iterations.
- * -t : Turn on syscall timing.
- *
- * History
- * 07/2001 John George
- * -Ported
- *
- * Restrictions:
- *
- */
-
-#include <fcntl.h>
-#include <errno.h>
-#include <string.h>
-#include <signal.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <pwd.h>
-
-#include "test.h"
-#include "usctest.h"
-
-#define MODE_RWX S_IRWXU | S_IRWXG | S_IRWXO
-#define FILE_MODE S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH
-#define DIR_TEMP "testdir_1"
-#define TEST_FILE1 "testdir_1/tfile_1"
-#define TEST_FILE2 "t_file/tfile_2"
-
-int no_setup();
-int setup1(); /* setup function to test chmod for EACCES */
-int setup2(); /* setup function to test chmod for ENOTDIR */
-int longpath_setup(); /* setup function to test chmod for ENAMETOOLONG */
-char nobody_uid[] = "nobody";
-struct passwd *ltpuser;
-
-
-char Longpathname[PATH_MAX+2];
-char High_address_node[64];
-
-struct test_case_t { /* test case struct. to hold ref. test cond's*/
- const char *pathname;
- const char *desc;
- int exp_errno;
- int (*setupfunc)();
-} Test_cases[] = {
-#ifndef __CYGWIN__
- { TEST_FILE1, "No Search permissions to process", EACCES, setup1 },
-#endif
- { High_address_node, "Address beyond address space", EFAULT, no_setup },
- { (char *)-1, "Negative address", EFAULT, no_setup },
- { Longpathname, "Pathname too long", ENAMETOOLONG, longpath_setup },
- { "", "Pathname is empty", ENOENT, no_setup },
-#ifndef __CYGWIN__
- { TEST_FILE2, "Path contains regular file", ENOTDIR, setup2 },
-#endif
- { NULL, NULL, 0, no_setup }
-};
-
-const char *TCID="stat03"; /* Test program identifier. */
-int TST_TOTAL = 6; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-int exp_enos[]={EACCES, EFAULT, ENAMETOOLONG, ENOENT, ENOTDIR, 0};
-
-void setup(); /* Main setup function for the tests */
-void cleanup(void) __attribute__((noreturn)); /* cleanup function for the test */
-char *get_high_address(void);
-
-int
-main(int ac, char **av)
-{
- struct stat stat_buf; /* stat structure buffer */
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
- const char *file_name; /* ptr. for file name whose mode is modified*/
- const char *test_desc; /* test specific error message */
- int ind; /* counter to test different test conditions */
-
- /* Parse standard options given to run the test. */
- msg = parse_opts(ac, av, (option_t *) NULL, NULL);
- if (msg != (char *) NULL) {
- tst_brkm(TBROK, NULL, "OPTION PARSING ERROR - %s", msg);
- tst_exit();
- /*NOTREACHED*/
- }
-
- /*
- * Invoke setup function to call individual test setup functions
- * to simulate test conditions.
- */
- setup();
-
- /* set the expected errnos... */
- TEST_EXP_ENOS(exp_enos);
-
- /* Check looping state if -i option given */
- for (lc = 0; TEST_LOOPING(lc); lc++) {
- /* Reset Tst_count in case we are looping. */
- Tst_count=0;
-
- for (ind = 0; Test_cases[ind].desc != NULL; ind++) {
- file_name = Test_cases[ind].pathname;
- test_desc = Test_cases[ind].desc;
-
- if (file_name == High_address_node) {
- file_name = (char *)get_high_address();
- }
-
- /*
- * Call stat(2) to test different test conditions.
- * verify that it fails with -1 return value and
- * sets appropriate errno.
- */
- TEST(stat(file_name, &stat_buf));
-
- /* Check return code from stat(2) */
- if (TEST_RETURN == -1) {
- TEST_ERROR_LOG(TEST_ERRNO);
- if (TEST_ERRNO == Test_cases[ind].exp_errno) {
- tst_resm(TPASS,
- "stat() fails, %s, errno:%d",
- test_desc, TEST_ERRNO);
- } else {
- tst_resm(TFAIL, "stat() fails, %s,"
- " errno:%d, expected errno:%d",
- test_desc, TEST_ERRNO,
- Test_cases[ind].exp_errno);
- }
- } else {
- tst_resm(TFAIL, "stat(2) returned %d,"
- " expected -1, errno:%d", TEST_RETURN,
- Test_cases[ind].exp_errno);
- }
- } /* End of TEST CASE LOOPING. */
- Tst_count++; /* incr TEST_LOOP counter */
- } /* End for TEST_LOOPING */
-
- /*
- * Invoke cleanup() to delete the test directory/file(s) created
- * in the setup().
- */
- cleanup();
- /*NOTREACHED*/
-
-} /* End main */
-
-/*
- * void
- * setup(void) - performs all ONE TIME setup for this test.
- * Exit the test program on receipt of unexpected signals.
- * Create a temporary directory and change directory to it.
- * Invoke individual test setup functions according to the order
- * set in struct. definition.
- */
-void
-setup()
-{
- int ind; /* counter for setup functions */
-
- /* Capture unexpected signals */
- tst_sig(FORK, DEF_HANDLER, cleanup);
-#if 0
- /* Switch to nobody user for correct error code collection */
- if (geteuid() != 0) {
- tst_brkm(TBROK, tst_exit, "Test must be run as root");
- }
- ltpuser = getpwnam(nobody_uid);
- if (setuid(ltpuser->pw_uid) == -1) {
- tst_resm(TINFO, "setuid failed to "
- "to set the effective uid to %d",
- ltpuser->pw_uid);
- perror("setuid");
- }
-#endif
- /* Pause if that option was specified
- * TEST_PAUSE contains the code to fork the test with the -i option.
- * You want to make sure you do this before you create your temporary
- * directory.
- */
- TEST_PAUSE;
-
- /* Make a temp dir and cd to it */
- tst_tmpdir();
-
- /* call individual setup functions */
- for (ind = 0; Test_cases[ind].desc != NULL; ind++) {
- Test_cases[ind].setupfunc();
- }
-} /* End setup() */
-
-/*
- * int
- * no_setup() - Some test conditions for stat(2) do not any setup.
- * Hence, this function just returns 0.
- * This function simply returns 0.
- */
-int
-no_setup()
-{
- return 0;
-}
-
-
-/*
- * int
- * setup1() - setup function for a test condition for which stat(2)
- * returns -1 and sets errno to EACCES.
- * Create a test directory under temporary directory and create a test file
- * under this directory with mode "0666" permissions.
- * Modify the mode permissions on test directory such that process will not
- * have search permissions on test directory.
- *
- * The function returns 0.
- */
-int
-setup1()
-{
- int fd; /* file handle for testfile */
-
- /* Creat a test directory */
- if (mkdir(DIR_TEMP, MODE_RWX) < 0) {
- tst_brkm(TBROK, cleanup, "mkdir(2) of %s failed", DIR_TEMP);
- /*NOTREACHED*/
- }
-
- /* Creat a test file under above test directory */
- if ((fd = open(TEST_FILE1, O_RDWR|O_CREAT, 0666)) == -1) {
- tst_brkm(TBROK, cleanup,
- "open(%s, O_RDWR|O_CREAT, 0666) failed, errno=%d : %s",
- TEST_FILE1, errno, strerror(errno));
- /*NOTREACHED*/
- }
- /* Close the test file */
- if (close(fd) == -1) {
- tst_brkm(TBROK, cleanup,
- "close(%s) Failed, errno=%d : %s",
- TEST_FILE1, errno, strerror(errno));
- /*NOTREACHED*/
- }
-
- /* Modify mode permissions on test directory */
- if (chmod(DIR_TEMP, FILE_MODE) < 0) {
- tst_brkm(TBROK, cleanup, "chmod(2) of %s failed", DIR_TEMP);
- /*NOTREACHED*/
- }
- return 0;
-}
-
-/*
- * int
- * setup2() - setup function for a test condition for which stat(2)
- * returns -1 and sets errno to ENOTDIR.
- *
- * Create a test file under temporary directory so that test tries to
- * change mode of a testfile "tfile_2" under "t_file" which happens to be
- * another regular file.
- */
-int
-setup2()
-{
- int fd; /* File handle for test file */
-
- /* Creat a test file under temporary directory */
- if ((fd = open("t_file", O_RDWR|O_CREAT, MODE_RWX)) == -1) {
- tst_brkm(TBROK, cleanup,
- "open(2) on t_file failed, errno=%d : %s",
- errno, strerror(errno));
- /*NOTREACHED*/
- }
- /* Close the test file created above */
- if (close(fd) == -1) {
- tst_brkm(TBROK, cleanup,
- "close(t_file) Failed, errno=%d : %s",
- errno, strerror(errno));
- /*NOTREACHED*/
- }
- return 0;
-}
-
-/*
- * int
- * longpath_setup() - setup to create a node with a name length exceeding
- * the MAX. length of PATH_MAX.
- * This function retruns 0.
- */
-int
-longpath_setup()
-{
- int ind; /* counter variable */
-
- for (ind = 0; ind <= (PATH_MAX + 1); ind++) {
- Longpathname[ind] = 'a';
- }
- return 0;
-}
-
-/*
- * void
- * cleanup() - Performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- * Print test timing stats and errno log if test executed with options.
- * Remove temporary directory and sub-directories/files under it
- * created during setup().
- * Exit the test program with normal exit code.
- */
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
-#ifndef __CYGWIN__
- /* Restore mode permissions on test directory created in setup2() */
- if (chmod(DIR_TEMP, MODE_RWX) < 0) {
- tst_brkm(TFAIL, NULL, "chmod(2) of %s failed", DIR_TEMP);
- }
-#endif
-
- /* Remove files and temporary directory created */
- tst_rmdir();
-
- /* exit with return code appropriate for results */
- tst_exit();
-} /* End cleanup() */
diff --git a/winsup/testsuite/winsup.api/ltp/stat05.c b/winsup/testsuite/winsup.api/ltp/stat05.c
deleted file mode 100644
index 5c0964a93..000000000
--- a/winsup/testsuite/winsup.api/ltp/stat05.c
+++ /dev/null
@@ -1,241 +0,0 @@
-/*
- * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it would be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Further, this software is distributed without any warranty that it is
- * free of the rightful claim of any third person regarding infringement
- * or the like. Any license provided herein, whether implied or
- * otherwise, applies only to this software file. Patent licenses, if
- * any, provided herein do not apply to combinations of this program with
- * other software, or any other product whatsoever.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write the Free Software Foundation, Inc., 59
- * Temple Place - Suite 330, Boston MA 02111-1307, USA.
- *
- * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
- * Mountain View, CA 94043, or:
- *
- * http://www.sgi.com
- *
- * For further information regarding this notice, see:
- *
- * http://oss.sgi.com/projects/GenInfo/NoticeExplan/
- *
- */
-/* $Id$ */
-/**********************************************************
- *
- * OS Test - Silicon Graphics, Inc.
- *
- * TEST IDENTIFIER : stat05
- *
- * EXECUTED BY : anyone
- *
- * TEST TITLE : Basic test for stat(2)
- *
- * PARENT DOCUMENT : usctpl01
- *
- * TEST CASE TOTAL : 1
- *
- * WALL CLOCK TIME : 1
- *
- * CPU TYPES : ALL
- *
- * AUTHOR : William Roske
- *
- * CO-PILOT : Dave Fenner
- *
- * DATE STARTED : 03/30/92
- *
- * INITIAL RELEASE : UNICOS 7.0
- *
- * TEST CASES
- *
- * 1.) stat(2) returns...(See Description)
- *
- * INPUT SPECIFICATIONS
- * The standard options for system call tests are accepted.
- * (See the parse_opts(3) man page).
- *
- * OUTPUT SPECIFICATIONS
- *
- * DURATION
- * Terminates - with frequency and infinite modes.
- *
- * SIGNALS
- * Uses SIGUSR1 to pause before test if option set.
- * (See the parse_opts(3) man page).
- *
- * RESOURCES
- * None
- *
- * ENVIRONMENTAL NEEDS
- * No run-time environmental needs.
- *
- * SPECIAL PROCEDURAL REQUIREMENTS
- * None
- *
- * INTERCASE DEPENDENCIES
- * None
- *
- * DETAILED DESCRIPTION
- * This is a Phase I test for the stat(2) system call. It is intended
- * to provide a limited exposure of the system call, for now. It
- * should/will be extended when full functional tests are written for
- * stat(2).
- *
- * Setup:
- * Setup signal handling.
- * Pause for SIGUSR1 if option specified.
- *
- * Test:
- * Loop if the proper options are given.
- * Execute system call
- * Check return code, if system call failed (return=-1)
- * Log the errno and Issue a FAIL message.
- * Otherwise, Issue a PASS message.
- *
- * Cleanup:
- * Print errno log and/or timing stats if options given
- *
- *
- *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#**/
-
-#include <sys/types.h>
-#include <sys/fcntl.h>
-#include <sys/stat.h>
-#include <errno.h>
-#include <string.h>
-#include <signal.h>
-#include "test.h"
-#include "usctest.h"
-
-extern void setup();
-extern void cleanup();
-
-
-
-const char *TCID="stat05"; /* Test program identifier. */
-int TST_TOTAL=1; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-
-int exp_enos[]={0, 0};
-
-char fname[255];
-int fd;
-struct stat statter;
-
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
-
- /***************************************************************
- * parse standard options
- ***************************************************************/
- if ( (msg=parse_opts(ac, av, (option_t *) NULL, NULL)) != (char *) NULL )
- tst_brkm(TBROK, cleanup, "OPTION PARSING ERROR - %s", msg);
-
- /***************************************************************
- * perform global setup for test
- ***************************************************************/
- setup();
-
- /* set the expected errnos... */
- TEST_EXP_ENOS(exp_enos);
-
- /***************************************************************
- * check looping state if -c option given
- ***************************************************************/
- for (lc=0; TEST_LOOPING(lc); lc++) {
-
- /* reset Tst_count in case we are looping. */
- Tst_count=0;
-
- /*
- * Call stat(2) with F_CLRALF argument on fname
- */
- TEST(stat(fname, &statter));
-
- /* check return code */
- if ( TEST_RETURN == -1 ) {
- TEST_ERROR_LOG(TEST_ERRNO);
- tst_resm(TFAIL, "stat(%s, &statter) Failed, errno=%d : %s", fname,
- TEST_ERRNO, strerror(TEST_ERRNO));
- } else {
- /***************************************************************
- * only perform functional verification if flag set (-f not given)
- ***************************************************************/
- if ( STD_FUNCTIONAL_TEST ) {
- /* No Verification test, yet... */
- tst_resm(TPASS, "stat(%s, &statter) returned %d", fname, TEST_RETURN);
- }
- }
-
- } /* End for TEST_LOOPING */
-
- /***************************************************************
- * cleanup and exit
- ***************************************************************/
- cleanup();
-
- return 0;
-} /* End main */
-
-/***************************************************************
- * setup() - performs all ONE TIME setup for this test.
- ***************************************************************/
-void
-setup()
-{
- /* capture signals */
- tst_sig(NOFORK, DEF_HANDLER, cleanup);
-
- /* make a temp directory and cd to it */
- tst_tmpdir();
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-
- sprintf(fname,"tfile_%d",getpid());
- if ((fd = open(fname,O_RDWR|O_CREAT,0700)) == -1) {
- tst_brkm(TBROK, cleanup,
- "open(%s, O_RDWR|O_CREAT,0700) Failed, errno=%d : %s",
- fname, errno, strerror(errno));
- }
-
- if (close(fd) == -1) {
- tst_resm(TWARN, "close(%s) Failed, errno=%d : %s",
- fname, errno, strerror(errno));
- }
-} /* End setup() */
-
-
-/***************************************************************
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- ***************************************************************/
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /* Remove tmp dir and all files in it */
- tst_rmdir();
-
- /* exit with return code appropriate for results */
- tst_exit();
-} /* End cleanup() */
diff --git a/winsup/testsuite/winsup.api/ltp/stat06.c b/winsup/testsuite/winsup.api/ltp/stat06.c
deleted file mode 100644
index c5fae6fe5..000000000
--- a/winsup/testsuite/winsup.api/ltp/stat06.c
+++ /dev/null
@@ -1,377 +0,0 @@
-/*
- * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it would be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Further, this software is distributed without any warranty that it is
- * free of the rightful claim of any third person regarding infringement
- * or the like. Any license provided herein, whether implied or
- * otherwise, applies only to this software file. Patent licenses, if
- * any, provided herein do not apply to combinations of this program with
- * other software, or any other product whatsoever.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write the Free Software Foundation, Inc., 59
- * Temple Place - Suite 330, Boston MA 02111-1307, USA.
- *
- * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
- * Mountain View, CA 94043, or:
- *
- * http://www.sgi.com
- *
- * For further information regarding this notice, see:
- *
- * http://oss.sgi.com/projects/GenInfo/NoticeExplan/
- *
- */
-/* $Id$ */
-/**********************************************************
- *
- * OS Test - Silicon Graphics, Inc.
- *
- * TEST IDENTIFIER : stat06
- *
- * EXECUTED BY : anyone
- *
- * TEST TITLE : stat(2) negative path testcases
- *
- * PARENT DOCUMENT : None
- *
- * TEST CASE TOTAL : 7
- *
- * WALL CLOCK TIME : 1
- *
- * CPU TYPES : ALL
- *
- * AUTHOR : Richard Logan
- *
- * CO-PILOT : William Roske
- *
- * DATE STARTED : 03/30/94
- *
- * INITIAL RELEASE : UNICOS 7.0
- *
- * TEST CASES
- *
- * 1-7) See Testcases structure below.
- *
- * INPUT SPECIFICATIONS
- * The standard options for system call tests are accepted.
- * (See the parse_opts(3) man page).
- * -h : print help and exit
- *
- * OUTPUT SPECIFICATIONS
- *
- * DURATION
- * Terminates - with frequency and infinite modes.
- *
- * SIGNALS
- * Uses SIGUSR1 to pause before test if option set.
- * (See the parse_opts(3) man page).
- *
- * RESOURCES
- * None
- *
- * ENVIRONMENTAL NEEDS
- * The libcuts.a and libsys.a libraries must be included in
- * the compilation of this test.
- *
- * SPECIAL PROCEDURAL REQUIREMENTS
- * None
- *
- * INTERCASE DEPENDENCIES
- * None
- *
- * DETAILED DESCRIPTION
- * This is a Phase I test for the stat(2) system call. It is intended
- * to provide a limited exposure of the system call, for now. It
- * should/will be extended when full functional tests are written for
- * stat(2).
- *
- * Setup:
- * Setup signal handling.
- * Pause for SIGUSR1 if option specified.
- *
- * Test:
- * Loop if the proper options are given.
- * Execute system call
- * Check return code, if system call failed (return=-1)
- * Log the errno and Issue a FAIL message.
- * Otherwise, Issue a PASS message.
- *
- * Cleanup:
- * Print errno log and/or timing stats if options given
- *
- *
- *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#**/
-
-#include <sys/types.h>
-#include <sys/fcntl.h>
-#include <sys/stat.h>
-#include <errno.h>
-#include <string.h>
-#include <signal.h>
-#include <setjmp.h>
-#include "test.h"
-#include "usctest.h"
-
-void setup();
-void cleanup(void) __attribute__((noreturn));
-
-const char *TCID="stat06"; /* Test program identifier. */
-int TST_TOTAL=8; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-
-extern char *get_high_address();
-
-int exp_enos[]={0, 0};
-
-int high_address_setup();
-int longpath_setup();
-int no_setup();
-int filepath_setup();
-char Longpathname[PATH_MAX+2];
-char High_address[64];
-struct stat statbuf;
-jmp_buf sig11_recover;
-void sig11_handler(int sig);
-
-struct test_case_t {
- const char *pathname;
- struct stat *stbuf;
- const char *desc;
- int exp_errno;
- int (*setupfunc)();
-} Test_cases[] = {
- { "nonexistfile", &statbuf, "non-existent file", ENOENT, no_setup},
- { "", &statbuf, "path is empty string", ENOENT, no_setup},
- { "nefile/file", &statbuf, "path contains a non-existent file",
- ENOENT, no_setup },
-#ifndef __CYGWIN__
- { "file/file", &statbuf, "path contains a regular file",
- ENOTDIR, filepath_setup },
-#endif
- { Longpathname, &statbuf, "pathname too long", ENAMETOOLONG, longpath_setup },
- { High_address, &statbuf, "address beyond address space", EFAULT, high_address_setup },
- { (char *)-1, &statbuf, "negative address", EFAULT, no_setup },
- { "file", (struct stat *)-1, "invalid struct stat address", EFAULT, filepath_setup },
- { NULL, NULL, NULL, 0, no_setup }
-};
-
-/***********************************************************************
- * Main
- ***********************************************************************/
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
- const char *fname;
- const char *desc;
- int ind;
- struct stat *stbuf;
- struct sigaction sa, osa;
-
- /***************************************************************
- * parse standard options
- ***************************************************************/
- if ( (msg=parse_opts(ac, av, (option_t *)NULL, NULL)) != (char *) NULL ) {
- tst_brkm(TBROK, NULL, "OPTION PARSING ERROR - %s", msg);
- tst_exit();
- }
-
- /***************************************************************
- * perform global setup for test
- ***************************************************************/
- setup();
-
- /* set the expected errnos... */
- TEST_EXP_ENOS(exp_enos);
-
- /***************************************************************
- * check looping state if -c option given
- ***************************************************************/
- for (lc=0; TEST_LOOPING(lc); lc++) {
-
- /* reset Tst_count in case we are looping. */
- Tst_count=0;
-
-
- for (ind=0; Test_cases[ind].desc != NULL; ind++ ) {
-
- fname = Test_cases[ind].pathname;
- desc = Test_cases[ind].desc;
- stbuf = Test_cases[ind].stbuf;
-
- if (stbuf == (struct stat *)-1) {
- /* special sig11 case */
- sa.sa_handler = &sig11_handler;
- sigemptyset(&sa.sa_mask);
- sa.sa_flags = 0;
-
- sigaction(SIGSEGV, NULL, &osa);
- sigaction(SIGSEGV, &sa, NULL);
-
- if (setjmp(sig11_recover)) {
- TEST_RETURN = -1;
- TEST_ERRNO = EFAULT;
- } else {
- TEST(stat(fname, stbuf));
- }
- sigaction(SIGSEGV, &osa, NULL);
- } else {
- /*
- * Call stat(2)
- */
-
- TEST(stat(fname, stbuf));
- }
-
- /* check return code */
- if ( TEST_RETURN == -1 ) {
- if ( STD_FUNCTIONAL_TEST ) {
- if ( TEST_ERRNO == Test_cases[ind].exp_errno )
- tst_resm(TPASS, "stat(<%s>, &stbuf) Failed, errno=%d",
- desc, TEST_ERRNO);
- else
- tst_resm(TFAIL,
- "stat(<%s>, &stbuf) Failed, errno=%d, expected errno:%d",
- desc, TEST_ERRNO, Test_cases[ind].exp_errno);
- }
- else
- Tst_count++;
- } else {
- tst_resm(TFAIL,
- "stat(<%s>, &stbuf) returned %d, expected -1, errno:%d",
- desc, TEST_RETURN, Test_cases[ind].exp_errno);
- }
- }
-
- } /* End for TEST_LOOPING */
-
- /***************************************************************
- * cleanup and exit
- ***************************************************************/
- cleanup();
-
- return 0;
-} /* End main */
-
-/***************************************************************
- * setup() - performs all ONE TIME setup for this test.
- ***************************************************************/
-void
-setup()
-{
- int ind;
-
- /* capture signals */
- tst_sig(NOFORK, DEF_HANDLER, cleanup);
-
- /* make a temp directory and cd to it */
- tst_tmpdir();
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-
- for (ind=0; Test_cases[ind].desc != NULL; ind++ ) {
- Test_cases[ind].setupfunc();
- }
-
-} /* End setup() */
-
-
-/***************************************************************
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- ***************************************************************/
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /* Remove tmp dir and all files in it */
- tst_rmdir();
-
- /* exit with return code appropriate for results */
- tst_exit();
-
-} /* End cleanup() */
-
-/******************************************************************
- * no_setup() - does nothing
- ******************************************************************/
-int
-no_setup()
-{
- return 0;
-}
-
-/******************************************************************
- * high_address_setup() - generates an address that should cause a segfault
- ******************************************************************/
-int
-high_address_setup()
-{
- int ind;
-
- for (ind=0; Test_cases[ind].desc != NULL; ind++ ) {
- if ( Test_cases[ind].pathname == High_address ) {
- /*if ( strcmp(Test_cases[ind].pathname, HIGH_ADDRESS) == 0 ) { ***/
- Test_cases[ind].pathname = get_high_address();
- break;
- }
- }
- return 0;
-
-}
-
-/******************************************************************
- * longpath_setup() - creates a filename that is too long
- ******************************************************************/
-int
-longpath_setup()
-{
- int ind;
-
- for(ind=0; ind<= PATH_MAX+1; ind++) {
- Longpathname[ind] = 'a';
- }
- return 0;
-
-}
-
-/******************************************************************
- * filepath_setup() creates a file the exists that we will treat as a directory
- ******************************************************************/
-int
-filepath_setup()
-{
- int fd;
-
- if ( (fd=creat("file", 0777)) == -1 ) {
- tst_brkm(TBROK, cleanup, "creat(file) failed, errno:%d %s",
- errno, strerror(errno));
- }
- close(fd);
- return 0;
-}
-
-/******************************************************************
- * sig11_handler() - our segfault recover hack
- ******************************************************************/
-void
-sig11_handler(int sig)
-{
- longjmp(sig11_recover, 1);
-}
diff --git a/winsup/testsuite/winsup.api/ltp/symlink01.c b/winsup/testsuite/winsup.api/ltp/symlink01.c
deleted file mode 100644
index 54a24b87f..000000000
--- a/winsup/testsuite/winsup.api/ltp/symlink01.c
+++ /dev/null
@@ -1,2032 +0,0 @@
-/*
- * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it would be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Further, this software is distributed without any warranty that it is
- * free of the rightful claim of any third person regarding infringement
- * or the like. Any license provided herein, whether implied or
- * otherwise, applies only to this software file. Patent licenses, if
- * any, provided herein do not apply to combinations of this program with
- * other software, or any other product whatsoever.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write the Free Software Foundation, Inc., 59
- * Temple Place - Suite 330, Boston MA 02111-1307, USA.
- *
- * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
- * Mountain View, CA 94043, or:
- *
- * http://www.sgi.com
- *
- * For further information regarding this notice, see:
- *
- * http://oss.sgi.com/projects/GenInfo/NoticeExplan/
- */
-/* $Id$ */
-/**********************************************************
-*
-* OS Test - Silicon Graphics, Inc.
-*
-* TEST IDENTIFIER : symlink01 (symlink)
-*
-* TEST TITLE : Make a Symbolic Link to a File
-*
-* PARENT DOCUMENT : symtds01
-*
-* TEST CASE TOTAL : 5
-*
-* WALL CLOCK TIME : 3
-*
-* TEST IDENTIFIER : readlink01 (readlink)
-*
-* TEST TITLE : Reads Value of a Symbolic Link
-*
-* PARENT DOCUMENT : symtds01
-*
-* TEST CASE TOTAL : 4
-*
-* WALL CLOCK TIME : 3
-*
-* TEST IDENTIFIER : stat04 (stat)
-*
-* TEST TITLE : Gets File Status Indirectly From a Symbolic Link
-* File
-*
-* PARENT DOCUMENT : symtds01
-*
-* TEST CASE TOTAL : 3
-*
-* WALL CLOCK TIME : 3
-*
-* TEST IDENTIFIER : lstat01 (lstat)
-*
-* TEST TITLE : Get file Status About a Symbolic Link File
-*
-* PARENT DOCUMENT : symtds01
-*
-* TEST CASE TOTAL : 3
-*
-* WALL CLOCK TIME : 3
-*
-* TEST IDENTIFIER : mkdir05 (mkdir)
-*
-* TEST TITLE : Fail When Making a Directory File Indirectly From
-* a Symbolic Link File
-*
-* PARENT DOCUMENT : symtds01
-*
-* TEST CASE TOTAL : 1
-*
-* WALL CLOCK TIME : 3
-*
-* TEST IDENTIFIER : rmdir03 (rmdir)
-*
-* TEST TITLE : Fail When Removing a Directory File Indirectly
-* From a Symbolic Link File
-*
-* PARENT DOCUMENT : symtds01
-*
-* TEST CASE TOTAL : 1
-*
-* WALL CLOCK TIME : 3
-*
-* TEST IDENTIFIER : chdir01 (chdir)
-*
-* TEST TITLE : Changes Current Working DIrectory Location
-* Indirectly From a Symbolic Link File
-*
-* PARENT DOCUMENT : symtds01
-*
-* TEST CASE TOTAL : 3
-*
-* WALL CLOCK TIME : 3
-*
-* TEST IDENTIFIER : link01 (link)
-*
-* TEST TITLE : Creates a Link To a File Indirectly From a
-* Symbolic Link File
-*
-* PARENT DOCUMENT : symtds01
-*
-* TEST CASE TOTAL : 3
-*
-* WALL CLOCK TIME : 3
-*
-* TEST IDENTIFIER : unlink01 (unlink)
-*
-* TEST TITLE : Removes a Link To a File And Not Any Object File
-* Which Maybe Pointed At
-*
-* PARENT DOCUMENT : symtds01
-*
-* TEST CASE TOTAL : 1
-*
-* WALL CLOCK TIME : 3
-*
-* TEST IDENTIFIER : chmod01 (chmod)
-*
-* TEST TITLE : Change Object File Permissions Indirectly From a
-* Symbolic Link File
-*
-* PARENT DOCUMENT : symtds01
-*
-* TEST CASE TOTAL : 3
-*
-* WALL CLOCK TIME : 3
-*
-* TEST IDENTIFIER : utime01 (utime)
-*
-* TEST TITLE : Set File Access And Modify Object File Times
-* Indirectly From a Symbolic Link File
-*
-* PARENT DOCUMENT : symtds01
-*
-* TEST CASE TOTAL : 3
-*
-* WALL CLOCK TIME : 3
-*
-* TEST IDENTIFIER : rename01 (rename)
-*
-* TEST TITLE : Rename a Symbolic Link File And Not Any Object
-* File
-*
-* PARENT DOCUMENT : symtds01
-*
-* TEST CASE TOTAL : 3
-*
-* WALL CLOCK TIME : 3
-*
-* TEST IDENTIFIER : open01 (open)
-*
-* TEST TITLE : Create/Open a File For Reading Or Writing
-* Indirectly From a Symbolic Link File
-*
-* PARENT DOCUMENT : symtds01
-*
-* TEST CASE TOTAL : 5
-*
-* WALL CLOCK TIME : 3
-*
-* EXECUTED BY : whom ever
-*
-* CPU TYPES : ALL
-*
-* AUTHOR : David Fenner
-*
-* CO-PILOT : Jon Hendrickson
-*
-* DATE STARTED : 07/25/90
-*
-* INITIAL RELEASE : UNICOS 6.0
-*
-* TEST CASES
-*
-* For symlink
-*
-* 1. Create symbolic link with abnormal object name path
-* 2. Create symbolic link with normal object name path
-* 3. Create symbolic link with path to an existing object file
-* 4. Receive EEXIST error when creating an already existing symbolic link file.
-* 5. Receive ENAMETOOLONG error when creating symbolic link which exceeds PATH_MAX in length
-*
-* For readlink
-*
-* 1. Read a symbolic link file which points at no object file
-* 2. Read a symbolic link file which points at an object file
-* 3. Receive ENAMETOOLONG error when reading symbolic link which exceeds PATH_MAX in length
-* 4. Receive an EINVAL error when reading a file which is not a symbolic
-* link file.
-*
-* For stat
-*
-* 1. Get object file status through symbolic link file
-* 2. Receive ENOENT error when accessing non-existent object file through symbolic link file
-* 3. Receive ELOOP error when nesting of symbolic links exceed maximum
-*
-* For lstat
-*
-* 1. Get symbolic link file status when pointing at no object file
-* 2. Get symbolic link file status when pointing at an object file
-* 3. Get object file status when argument is not a symbolic link
-* file.
-*
-* For mkdir
-*
-* 1. Receive EEXIST error when creating a directory through a symbolic link file
-*
-* For rmdir
-*
-* 1. Receive ENOTDIR error when removing an existing directory through a symbolic link file
-*
-* For chdir
-*
-* 1. Change current working directory through a symbolic link file
-* 2. Receive ENOENT error when accessing non-existent directory through symbolic link file
-* 3. Receive ELOOP error when nesting of symbolic links exceed maximum
-*
-* For link
-*
-* 1. Link an object file to a new file through symbolic link file
-* 2. Receive ENOENT error when accessing non-existent object file through symbolic link file
-* 3. Receive ELOOP error when nesting of symbolic links exceed maximum
-*
-* For unlink
-*
-* 1. Delete a symbolic link file and not the object file which it points at
-*
-* For chmod
-*
-* 1. Change file permissions of object file through a symbolic link file
-* 2. Receive ENOENT error when accessing non-existent directory through symbolic link file
-* 3. Receive ELOOP error when nesting of symbolic links exceed maximum
-*
-* For utime
-*
-* 1. Change inode times of object file through a symbolic link file
-* 2. Receive ENOENT error when accessing non-existent directory through symbolic link file
-* 3. Receive ELOOP error when nesting of symbolic links exceed maximum
-*
-* For rename
-*
-* 1. Rename a symbolic link file which points at no object file
-* 2. Rename a symbolic link file which points at an object file without any object file alterations.
-* 3. Receive EXDEV when trying to rename a symbolic link file to an address outside of current file system
-*
-* For open
-*
-* 1. Create an object file through a symbolic link file
-* 2. Open an object file through a symbolic link file
-* 3. Receive EEXIST error when exclusively creating an object file through a symbolic link file
-* 4. Receive ENOENT error when accessing non-existent object file through symbolic link file
-* 5. Receive ELOOP error when nesting of symbolic links exceed maximum
-*
-* ENVIRONMENTAL NEEDS
-* None
-*
-* DETAILED DESCRIPTION
-*
-* Self-documenting code so see below
-*
-*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#**/
-
-#include <signal.h>
-#include <string.h>
-#include <fcntl.h> /* open(2) system call */
-#include <errno.h>
-#include <sys/types.h>
-#include <utime.h> /* utime(2) system call */
-#include <sys/param.h>
-#include <sys/stat.h> /* stat(2) and lstat(2) system calls */
-
-#include "test.h"
-#include "usctest.h"
-
-void setup();
-void cleanup(void) __attribute__((noreturn));
-void help();
-void delete_files();
-void do_EEXIST();
-void do_ENOENT();
-void do_ELOOP();
-void do_ENOTDIR();
-void do_EXDEV();
-void do_ENAMETOOLONG();
-void do_EINVAL();
-void do_readlink();
-void do_stat();
-void do_chdir();
-void do_link();
-void do_unlink();
-void do_chmod();
-void do_utime();
-void do_rename();
-void do_open();
-
-#define S_FILE "symbolic" /* Name of symbolic link file */
-#define O_FILE "object" /* Name of object file */
-#define A_S_FILE "asymbolic" /* Another name for a symbolic link file */
-#define Y_A_S_FILE "/NiCkEr" /* Yet another symbolic link file */
-#define BIG_STRING "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz"
-
-#define DEFAULT_TCID "symlink01"
-#define ALL 1
-
-#define SYMLINK "symlink01"
-#define READLINK "readlink01"
-#define STAT "stat04"
-#define LSTAT "lstat01"
-#define MKDIR "mkdir05"
-#define RMDIR "rmdir03"
-#define CHDIR "chdir01"
-#define LINK "link01"
-#define UNLINK "unlink01"
-#define CHMOD "chmod01"
-#define UTIME "utime01"
-#define RENAME "rename01"
-#define OPEN "open01"
-
-#define cktcsid(s1,s2) (!strcmp(s1,s2))
-#define BUFMAX 512
-#define MODE 0700
-#define MASK 0100777 /* A regular file with r,w,x for all mask */
-
-/*
- * Lets be optimistic and only define messages for passing test cases
- */
-const char *msgs[] = {
- "Creation of symbolic link file to no object file is ok",
- "Creation of symbolic link file and object file via symbolic link is ok",
- "Creating an existing symbolic link file error is caught",
- "Creating a symbolic link which exceeds maximum pathname error is caught",
- "Reading of symbolic link file contents checks out ok",
- "Reading a symbolic link which exceeds maximum pathname error is caught",
- "Getting stat info about object file through symbolic link file is ok",
- "Stat(2) error when accessing non-existent object through symbolic link is caught",
- "lstat(2) of symbolic link file which points to no object file is ok",
- "lstat(2) of symbolic link file which points at an object file is ok",
- "mkdir(2) of object file through symbolic link file failed as expected",
- "rmdir(2) of object file through symbolic link file failed as expected",
- "chdir(2) to object file location through symbolic link file is ok",
- "chdir(2) to non-existent object file location through symbolic link file failed as expected",
- "link(2) to a symbolic link, which is pointing to an existing object file worked - file created and link count adjusted",
- "link(2) to a symbolic link, which is pointing to a non-existing object file worked ok - file created and link count adjusted.",
- "unlink(2) of symbolic link file with no object file removal is ok",
- "chmod(2) of object file permissions through symbolic link file is ok",
- "chmod(2) error when accessing non-existent object through symbolic link is caught",
- "utime(2) change of object file access and modify times through symbolic link file is ok",
- "utime(2) error when accessing non-existent object through symbolic link is caught",
- "rename(3) of symbolic link file name which points at no object file is ok",
- "rename(3) of symbolic link file name which points at object file is ok",
- "rename(3) error of symbolic link file name across file systems is caught",
- "open(2) with (O_CREAT | O_RDWR) to create object file through symbolic link file and all writes, reads, and lseeks are ok",
- "open(2) with O_RDWR of existing object file through symbolic link file and all writes, reads, and lseeks are ok",
- "open(2) with (O_CREAT | O_EXCL) error is caught when creating object file through symbolic link file",
- "open(2) error with O_RDWR is caught when processing symbolic link file which points at no object file",
- "Nested symbolic link access condition caught. ELOOP is returned",
- "Reading a nonsymbolic link file error condition is caught. EINVAL is returned",
- "lstat(2) of object file returns object file inode information",
- "NULL"
-};
-
-/*
- * Define test object setup and validation functions
- */
-int creat_both(), creat_symlink(), creat_path_max(), ck_symlink(),
- creat_object(), ck_object(), ck_both(), ck_path_max();
-
-
-/*
- * Define test cases
- */
-struct all_test_cases
-{
- const char *tcid;
- int test_fail;
- int errno_val;
- int pass_msg;
- int (*test_setup)();
- int (*ck_test)();
- const char *fn_arg[3];
-
-} test_objects[] = {
- {SYMLINK, 0, 0, 0, creat_symlink, ck_symlink, {"%bc+eFhi!k", S_FILE, NULL}},
- {SYMLINK, 0, 0, 0, creat_symlink, ck_symlink, {O_FILE, S_FILE, NULL}},
- {SYMLINK, 0, 0, 1, creat_both, ck_both, {O_FILE, S_FILE, O_FILE}},
- {SYMLINK, 1, EEXIST, 2, creat_symlink, ck_symlink, {O_FILE, S_FILE, NULL}},
- {SYMLINK, 1, ENAMETOOLONG, 3, creat_path_max, ck_path_max, {O_FILE, S_FILE, NULL}},
- {READLINK, 0, 0, 4, creat_symlink, ck_symlink, {O_FILE, S_FILE, NULL}},
- {READLINK, 0, 0, 4, creat_both, ck_both, {O_FILE, S_FILE, O_FILE}},
- {READLINK, 1, ENAMETOOLONG, 5, creat_path_max, ck_path_max, {O_FILE, S_FILE, NULL}},
- {READLINK, 1, EINVAL, 29, creat_object, ck_object, {O_FILE, NULL, NULL}},
- {STAT, 0, 0, 6, creat_both, ck_both, {O_FILE, S_FILE, O_FILE}},
- {STAT, 1, ENOENT, 7, creat_symlink, ck_symlink, {O_FILE, S_FILE, NULL}},
- {STAT, 1, ELOOP, 28, creat_symlink, ck_symlink, {S_FILE, S_FILE, NULL}},
- {LSTAT, 0, 0, 8, creat_symlink, ck_symlink, {O_FILE, S_FILE, NULL}},
- {LSTAT, 0, 0, 9, creat_both, ck_both, {O_FILE, S_FILE, O_FILE}},
- {LSTAT, 0, 0, 30, creat_object, ck_object, {O_FILE, NULL, NULL}},
- {MKDIR, 1, EEXIST, 10, creat_symlink, ck_symlink, {O_FILE, S_FILE, NULL}},
- {RMDIR, 1, ENOTDIR, 11, creat_symlink, ck_symlink, {O_FILE, S_FILE, NULL}},
- {CHDIR, 0, 0, 12, creat_symlink, ck_symlink, {O_FILE, S_FILE, O_FILE}},
- {CHDIR, 1, ENOENT, 13, creat_symlink, ck_symlink, {"%bc+eFhi!k", S_FILE, NULL}},
- {CHDIR, 1, ELOOP, 28, creat_symlink, ck_symlink, {S_FILE, S_FILE, NULL}},
- {LINK, 0, 0, 14, creat_both, ck_both, {O_FILE, S_FILE, O_FILE}},
- {LINK, 0, 0, 15, creat_symlink, ck_symlink, {O_FILE, S_FILE, NULL}},
- /* The following link test case is invalid - leaving it defined so */
- /* I don't have to change all the entries in the all_tcses array after link */
- {LINK, -1, -1, -1, creat_symlink, ck_symlink, {NULL, NULL, NULL}},
- {UNLINK, 0, 0, 16, creat_both, ck_both, {O_FILE, S_FILE, O_FILE}},
- {CHMOD, 0, 0, 17, creat_both, ck_both, {O_FILE, S_FILE, O_FILE}},
- {CHMOD, 1, ENOENT, 18, creat_symlink, ck_symlink, {O_FILE, S_FILE, NULL}},
- {CHMOD, 1, ELOOP, 28, creat_symlink, ck_symlink, {S_FILE, S_FILE, NULL}},
- {UTIME, 0, 0, 19, creat_both, ck_both, {O_FILE, S_FILE, O_FILE}},
- {UTIME, 1, ENOENT, 20, creat_symlink, ck_symlink, {O_FILE, S_FILE, NULL}},
- {UTIME, 1, ELOOP, 28, creat_symlink, ck_symlink, {S_FILE, S_FILE, NULL}},
- {RENAME, 0, 0, 21, creat_symlink, ck_symlink, {O_FILE, S_FILE, NULL}},
- {RENAME, 0, 0, 22, creat_both, ck_both, {O_FILE, S_FILE, O_FILE}},
- {RENAME, -1, EXDEV, 23, creat_both, ck_both, {O_FILE, S_FILE, O_FILE}},
- {OPEN, 0, 0, 24, creat_symlink, ck_symlink, {O_FILE, S_FILE, NULL}},
- {OPEN, 0, 0, 25, creat_both, ck_both, {O_FILE, S_FILE, O_FILE}},
- {OPEN, -1, EEXIST, 26, creat_symlink, ck_symlink, {O_FILE, S_FILE, O_FILE}},
- {OPEN, 1, ENOENT, 27, creat_symlink, ck_symlink, {O_FILE, S_FILE, NULL}},
- {OPEN, 1, ELOOP, 28, creat_symlink, ck_symlink, {S_FILE, S_FILE, NULL}}
-};
-
-/*
- * Define tcses
- */
-struct tcses
-{
- const char *tcid;
- const char *syscall;
- int test_cases; /* number of entries in test_objects array */
- struct all_test_cases *tc_ptr;
- const char *desc;
-} all_tcses[] = {
-
- { SYMLINK, "symlink", 5, &test_objects[0],
- "Make a Symbolic Link to a File" },
- { READLINK, "readlink", 4, &test_objects[5],
- "Reads Value of a Symbolic Link" },
- { STAT, "stat", 3, &test_objects[9],
- "Gets File Status Indirectly From a Symbolic Link file" },
- { LSTAT, "lstat", 3, &test_objects[12],
- "Get file Status About a Symbolic Link File" },
- { MKDIR, "mkdir", 1, &test_objects[15],
- "Fail When Making a Directory File Indirectly from a symlink" },
- { RMDIR, "rmdir", 1, &test_objects[16],
- "Fail When Removing a Directory File Indirectly from a symlink" },
- { CHDIR, "chdir", 3, &test_objects[17],
- "Changes CWD Location Indirectly from a symlink" },
- { LINK, "link", 2, &test_objects[20],
- "Creates a Link To a File Indirectly From a Symbolic" },
- { UNLINK, "unlink", 1, &test_objects[23],
- "Removes a Link To a File but not the Object File" },
- { CHMOD, "chmod", 3, &test_objects[24],
- "Change Object File Permissions Indirectly From a Symbolic" },
- { UTIME, "utime", 3, &test_objects[27],
- "Set File Access And Modify Object File Times via symlink" },
- { RENAME, "rename", 3, &test_objects[30],
- "Rename a Symbolic Link File And Not Any Object file" },
- { OPEN, "open", 5, &test_objects[33],
- "Create/Open a File For Reading Or Writing via symlink" },
-};
-
-/*
- * Define GLOBAL variables
- */
-
-int TST_TOTAL;
-int TEST_RESULT;
-time_t a_time_value = 100;
-const char *TCID = NULL;
-char *Selectedtests = NULL; /* Name (tcid) of selected test cases */
-char test_msg[BUFMAX];
-char full_path[PATH_MAX+1];
-extern int Tst_count;
-extern char *TESTDIR;
-extern char *strrchr();
-extern int errno;
-
-struct stat asymlink, statter;
-char Buffer[1024];
-char Buf[1024];
-
-char *Tcid = NULL;
-
-option_t Options[] = {
- { "T:", NULL, &Tcid }, /* -T tcid option */
- { NULL, NULL, NULL }
-};
-
-/***********************************************************************
- * MAIN
- ***********************************************************************/
-int
-main(int argc, char *argv[])
-{
- struct tcses *tcs_ptr, *get_tcs_info();
- int do_syscalltests();
- void cleanup();
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
-
-
- /***************************************************************
- * parse standard options, and exit if there is an error
- ***************************************************************/
- if ( (msg=parse_opts(argc, argv, Options, &help)) != (char *) NULL ) {
- tst_brkm(TBROK, NULL, "OPTION PARSING ERROR - %s", msg);
- tst_exit();
- }
-
- /*
- * If the -T option was used, use that TCID or use the default
- */
- if ( Tcid != NULL ) {
- TCID = Tcid;
- Selectedtests=Tcid;
-
- }
- else {
- TCID = DEFAULT_TCID;
-#ifndef ALL
- Selectedtests = DEFAULT_TCID;
-#else
- Selectedtests = NULL;
-#endif
- }
-
- /*
- * Get test case specification information and assign TST_TOTAL
- */
- if ((tcs_ptr=get_tcs_info(Selectedtests)) == NULL) {
- TST_TOTAL=1;
- tst_brkm(TBROK, cleanup,
- "Unknown symbolic link test case specification executed");
- }
-
- /***************************************************************
- * perform global setup for test
- ***************************************************************/
-
- setup();
-
- /***************************************************************
- * check looping state if -c option given
- ***************************************************************/
- for (lc=0; TEST_LOOPING(lc); lc++) {
-
- /* reset Tst_count in case we are looping. */
- Tst_count=0;
-
- /*
- * Execute tcs testing function and all defined test cases
- */
- do_syscalltests(tcs_ptr);
-
- } /* End for TEST_LOOPING */
-
- /*
- * End appropriately
- */
- cleanup();
-
- return 0;
-}
-
-/***********************************************************************
- * This function maps the name of the process to a test case specification
- * defined in the all_tcses array of tcses structures. Either a pointer
- * to the mapped test case specification information is returned or a
- * null pointer.
- *
- * Argument is path to program name.
- ***********************************************************************/
-struct tcses *get_tcs_info(ptr)
-char *ptr;
-{
- unsigned ctr;
- struct tcses *tcs_ptr;
-
-#if ALL
- if ( ptr == NULL ) {
-
- TST_TOTAL=0;
- for (ctr=1; ctr < sizeof(all_tcses)/sizeof(struct tcses); ctr++)
- TST_TOTAL += all_tcses[ctr].test_cases;
- return all_tcses;
- }
-#endif
-
-
- for(ctr=0; ctr < (sizeof(all_tcses)/sizeof(struct tcses)); ctr++) {
- if ( strcmp(ptr, all_tcses[ctr].tcid) == 0 ||
- strcmp(ptr, all_tcses[ctr].syscall) == 0 ) {
- tcs_ptr = &all_tcses[ctr];
- TCID = all_tcses[ctr].tcid;
- TST_TOTAL=tcs_ptr->test_cases;
- return(tcs_ptr);
- }
-
- }
- return(NULL);
-}
-
-/***********************************************************************
- * Determines if what path points at is a symbolic link file
- *
- * Argument is path to symbolic link file.
- *
- * Return status is one if a symbolic link file. Zero if not a symbolic
- * link file and a minus one if the path doesn't point at a file.
- ***********************************************************************/
-int
-see_if_a_symlink(path)
-char *path;
-{
- if (lstat(path, &asymlink) < 0)
- return(-1);
-
- if ((asymlink.st_mode & S_IFMT) == S_IFLNK)
- return(1);
- else
- return(0);
-}
-
-/***********************************************************************
- * This function performs without any hesitation, file(s) deletions
- ***********************************************************************/
-void
-delete_files(path1, path2)
-char *path1, *path2;
-{
- unlink(path1);
- unlink(path2);
-}
-
-/***********************************************************************
- *
- * This routine creates a symbolic link file.
- *
- * Argument one is symbolic link pathname to point at.
- * Argument two is name of symbolic link file.
- *
- ***********************************************************************/
-int
-creat_symlink(path1, path2)
-char *path1, *path2;
-{
- TEST( symlink(path1, path2) );
- errno=TEST_ERRNO;
- if (TEST_RETURN == -1) {
- TEST_RESULT=TBROK;
- sprintf(test_msg,
- "symlink(2) Failure when creating setup %s object file: errno:%d %s",
- path1, errno, strerror(errno));
- return(0);
- }
- else {
- sprintf(Buf, "symlink(%s, %s) was succesful.\n", path1, path2);
- strcat(Buffer, Buf);
-#if DEBUG
- tst_resm(TPASS, "symlink(%s, %s) was succesful.", path1, path2);
-#endif
- }
- return(1);
-}
-
-/***********************************************************************
- *
- * This routine creates a regular file.
- *
- * Argument one is a pathname
- *
- ***********************************************************************/
-int
-creat_object(path1)
-char *path1;
-{
- int fd;
- if ((fd=creat(path1, MODE)) == -1) {
- TEST_RESULT=TBROK;
- sprintf(test_msg,
- "creat(2) Failure when creating setup %s object file: errno:%d %s",
- path1, errno, strerror(errno));
- return(0);
- }
- else {
- sprintf(Buf, "creat(%s, %#o) was succesful.\n", path1, MODE);
- strcat(Buffer, Buf);
-#if DEBUG
- tst_resm(TPASS, "creat(%s, %#o) was succesful.", path1, MODE);
-#endif
- }
- if (close(fd) == -1) {
- TEST_RESULT=TBROK;
- sprintf(test_msg,
- "close(2) Failure when closing setup %s object file: errno:%d %s",
- path1, errno, strerror(errno));
- return(0);
- }
- return(1);
-}
-
-/***********************************************************************
- *
- * This routine creates a symbolic link file and a regular file.
- *
- * Argument one is a pathname of object file
- * Argument two is symbolic link file name
- * Argument three is regular file name
- *
- ***********************************************************************/
-int
-creat_both(path1, path2, path3)
-char *path1, *path2, *path3;
-{
- if (creat_symlink(path1, path2) == -1)
- return(0);
- else if (creat_object(path3) == -1)
- return(0);
- return(1);
-}
-
-/***********************************************************************
- *
- * This routine checks if symbolic link file is a symbolic link file.
- *
- * Argument one is a pathname of object file
- * Argument two is symbolic link file name
- * Argument three is regular file name
- *
- ***********************************************************************/
-int
-ck_symlink(path1, path2, path3)
-char *path1, *path2, *path3;
-{
- int ret;
-
- if ((ret=see_if_a_symlink(path2)) == -1) {
- TEST_RESULT=TBROK;
- sprintf(test_msg,
- "lstat(2) Failure when accessing %s symbolic link file which should contain %s path to %s file ",
- path2, path1, path3);
- return(0);
- }
- else if (ret == 0) {
- TEST_RESULT=TBROK;
- sprintf(test_msg,
- "%s is not a symbolic link file which contains %s path to %s file",
- path2, path1, path3);
- return(0);
- }
- return(1);
-}
-
-/***********************************************************************
- *
- * This routine checks if symbolic link file points at object file.
- *
- * Argument one is a pathname of object file
- * Argument two is symbolic link file name
- * Argument three is regular file name
- *
- ***********************************************************************/
-int
-ck_both(path1, path2, path3)
-char *path1, *path2, *path3;
-{
- if (ck_symlink(path1, path2, path3) == 0)
- return(0);
- else if ((stat(path3, &statter) == -1) && (errno == ENOENT)) {
- TEST_RESULT=TBROK;
- sprintf(test_msg, "stat(2) Failure when accessing %s object file ", path3);
- return(0);
- }
- else if ((stat(path2, &asymlink) == -1) && (errno == ENOENT)) {
- TEST_RESULT=TBROK;
- sprintf(test_msg, "stat(2) Failure when accessing %s symbolic link file ",
- path2);
- return(0);
- }
- else if (statter.st_ino != asymlink.st_ino) {
- TEST_RESULT=TBROK;
- sprintf(test_msg,
- "stat(2) Failure when accessing %s object file through %s symbolic link file ",
- path3, path2);
- return(0);
- }
- return(1);
-
-}
-
-/***********************************************************************
- * This routine populates full_path with a pathname whose length exceeds
- * the PATH_MAX define value in param.h
- *
- * Argument one is a pathname of object file
- * Argument two is symbolic link file name
- * Argument three is regular file name
- ***********************************************************************/
-int
-creat_path_max(path1, path2, path3)
-char *path1, *path2, *path3;
-{
- int ctr, to_go, size, whole_chunks;
- char buf [PATH_MAX];
- char *cwd;
-
- if ((cwd = getcwd(buf, sizeof (buf))) == NULL)
- {
- TEST_RESULT=TBROK;
- sprintf(test_msg,
- "getcwd(3) Failure in setup of %s %s %s test case object elements",
- path1, path2, path3);
- return(0);
- }
- size = strlen(cwd);
-
- to_go = PATH_MAX - size;
- size = strlen(path1);
- whole_chunks = to_go / size;
- strcpy(full_path, cwd);
- for (ctr=0; ctr < whole_chunks; ctr++) {
- strcat(full_path, path1);
- }
- size= strlen(full_path);
- to_go = PATH_MAX - size;
- strcat(full_path, "/");
- for (ctr=0; ctr < to_go; ctr++)
- strcat(full_path, "Z");
-
- return(1);
-}
-
-/***********************************************************************
- * This routine checks that full_path's length exceeds the PATH_MAX
- * define value in param.h
- *
- * Argument one is a pathname of object file
- * Argument two is symbolic link file name
- * Argument three is regular file name
- ***********************************************************************/
-int
-ck_path_max(path1, path2, path3)
-char *path1, *path2, *path3;
-{
- if (strlen(full_path) == (PATH_MAX+1))
- return(1);
- else
- {
- TEST_RESULT=TBROK;
- sprintf(test_msg, "%s %d %s %s %s %s",
- "full_path character array length was not", (PATH_MAX+1),
- "characters long for test case object elements",
- path1, path2, path3);
- return(0);
- }
-}
-
-/***********************************************************************
- * This routine checks if the stat(2) and lstat(2) calls return the same
- * information when the path is not a symbolic link file
- *
- * Argument one is a pathname of object file
- * Argument two is symbolic link file name
- * Argument three is regular file name
- *
- ***********************************************************************/
-int
-ck_object(path1, path2, path3)
-char *path1, *path2, *path3;
-{
- int ret;
-
- if ((ret=see_if_a_symlink(path1)) < 0) {
- TEST_RESULT=TFAIL;
- sprintf(test_msg,
- "lstat(2) failed to return inode information for a regular object file");
- return(0);
- }
- else if (ret == 1) {
- TEST_RESULT=TFAIL;
- sprintf(test_msg,
- "lstat(2) detected a regular object file as a symbolic link file");
- return(0);
- }
- else if (stat(path1, &statter) == -1) {
- TEST_RESULT=TBROK;
- sprintf(test_msg,
- "stat(2) failed to return inode information for a regular object file");
- return(0);
- }
- else if (bcmp((char *)&statter, (char *)&asymlink, sizeof(statter)) != 0) {
- TEST_RESULT=TFAIL;
- sprintf(test_msg,
- "lstat(2) and stat(2) do not return same inode information for an object file");
- return(0);
-
- }
- return(1);
-}
-
-/***********************************************************************
- * Main test case processing function
- *
- * Argument is a ptr into the all_tcses array of structures of type tcses
- ***********************************************************************/
-int
-do_syscalltests(tcs)
-struct tcses *tcs;
-{
- int ctr, ret;
- struct all_test_cases *tc_ptr;
-
- /*
- * loop through desired number of test cases
- */
- for (ctr=0, tc_ptr=tcs->tc_ptr; ctr < TST_TOTAL; ctr++, tc_ptr++) {
-
- if (tc_ptr->test_fail < 0) continue;
-
- Buffer[0]='\0';
-
- /*
- * If running all test cases for all tcid, set the TCID if needed.
- */
- if ( Selectedtests == NULL ) {
- if ( !TCID || strcmp(TCID, tc_ptr->tcid) != 0 ) {
- TCID = tc_ptr->tcid;
- Tst_count=0;
- }
- }
- /*
- * Insure that we are executing the correct tcs test case
- */
- if (strcmp(TCID, tc_ptr->tcid) != 0) {
- tst_resm(TBROK, "%s TCID attempted to execute %s %d %d test case",
- TCID, tc_ptr->tcid, tc_ptr->test_fail, tc_ptr->errno_val);
- continue;
- }
- TEST_RESULT=TPASS;
- delete_files(S_FILE, O_FILE);
- /*
- * Perform test case setup
- */
- ret = (tc_ptr->test_setup)(tc_ptr->fn_arg[0], tc_ptr->fn_arg[1],
- tc_ptr->fn_arg[2], tc_ptr->errno_val);
-
- /* If an expected error, try it out */
-
- if (tc_ptr->test_fail) {
- /*
- * Try to perform test verification function
- */
- if (! (tc_ptr->ck_test)(tc_ptr->fn_arg[0], tc_ptr->fn_arg[1],
- tc_ptr->fn_arg[2], tc_ptr->errno_val))
- tst_resm(TEST_RESULT, test_msg);
- else if (tc_ptr->errno_val == EEXIST)
- do_EEXIST(tc_ptr);
- else if (tc_ptr->errno_val == ENOENT)
- do_ENOENT(tc_ptr);
- else if (tc_ptr->errno_val == ELOOP)
- do_ELOOP(tc_ptr);
- else if (tc_ptr->errno_val == ENOTDIR)
- do_ENOTDIR(tc_ptr);
- else if (tc_ptr->errno_val == EXDEV)
- do_EXDEV(tc_ptr);
- else if (tc_ptr->errno_val == ENAMETOOLONG)
- do_ENAMETOOLONG(tc_ptr);
- else if (tc_ptr->errno_val == EINVAL)
- do_EINVAL(tc_ptr);
- else
- tst_resm(TBROK, "Test Case Declaration Error");
- }
- else if (ret == 1) { /* No setup function error */
-
- if (tc_ptr->errno_val != 0)
- tst_resm(TBROK, "Test Case Declaration Error");
- else {
- /*
- * Perform test verification function
- */
- ret=(tc_ptr->ck_test)(tc_ptr->fn_arg[0], tc_ptr->fn_arg[1],
- tc_ptr->fn_arg[2], tc_ptr->errno_val);
-
- /* Perform requested symbolic link system call test */
-
- if ((cktcsid(tc_ptr->tcid, SYMLINK)) ||
- (cktcsid(tc_ptr->tcid, LSTAT))) {
- if (ret == 1)
- tst_resm(TEST_RESULT, msgs[tc_ptr->pass_msg]);
- else
- tst_resm(TEST_RESULT, test_msg);
- }
- else if (ret == 0)
- tst_resm(TEST_RESULT, test_msg);
- else if (cktcsid(tc_ptr->tcid, READLINK))
- do_readlink(tc_ptr);
- else if (cktcsid(tc_ptr->tcid, STAT))
- do_stat(tc_ptr);
- else if (cktcsid(tc_ptr->tcid, CHDIR))
- do_chdir(tc_ptr);
- else if (cktcsid(tc_ptr->tcid, LINK))
- do_link(tc_ptr);
- else if (cktcsid(tc_ptr->tcid, UNLINK))
- do_unlink(tc_ptr);
- else if (cktcsid(tc_ptr->tcid, CHMOD))
- do_chmod(tc_ptr);
- else if (cktcsid(tc_ptr->tcid, UTIME))
- do_utime(tc_ptr);
- else if (cktcsid(tc_ptr->tcid, RENAME))
- do_rename(tc_ptr);
- else if (cktcsid(tc_ptr->tcid, OPEN))
- do_open(tc_ptr);
- else
- tst_resm(TBROK, "Unknown test case processing actions declared");
- }
- }
- else
- tst_resm(TBROK, "Test Case Declaration Error");
- }
- return(0);
-}
-
-/***********************************************************************
- * This routine checks for the return of EEXIST errno from requested
- * system call
- *
- * Argument is pointer to test_objects array of structures of type
- * all_test_cases
- ***********************************************************************/
-void
-do_EEXIST(tc_ptr)
-struct all_test_cases *tc_ptr;
-{
- if (cktcsid(tc_ptr->tcid, SYMLINK)) {
-
- TEST( symlink(tc_ptr->fn_arg[0], tc_ptr->fn_arg[1]) );
- errno=TEST_ERRNO;
- if ((TEST_RETURN == -1) && (errno == EEXIST))
- if ( STD_FUNCTIONAL_TEST )
- tst_resm(TPASS, msgs[tc_ptr->pass_msg]);
- else
- Tst_count++;
- else
- tst_resm(TFAIL, "%s %s",
- "Expected EEXIST error when creating a symbolic link file",
- "which already existed");
- }
- else if (cktcsid(tc_ptr->tcid, MKDIR)) {
-
- TEST ( mkdir(tc_ptr->fn_arg[1],MODE) );
- errno=TEST_ERRNO;
- if ((TEST_RETURN == -1) && (errno == EEXIST))
- if ( TEST_RESULT != TPASS || STD_FUNCTIONAL_TEST )
- tst_resm(TEST_RESULT, msgs[tc_ptr->pass_msg]);
- else
- Tst_count++;
- else {
-
- tst_resm(TFAIL, "%s %s",
- "Expected EEXIST error when creating a directory by a symbolic",
- "link file which pointed at no object file");
- rmdir(tc_ptr->fn_arg[1]);
- }
- }
- else if (cktcsid(tc_ptr->tcid, OPEN)) {
-
- TEST( open(tc_ptr->fn_arg[1], (O_EXCL | O_CREAT)) )
- errno=TEST_ERRNO;
- if ((TEST_RETURN == -1) && (errno == EEXIST))
- if ( TEST_RESULT != TPASS || STD_FUNCTIONAL_TEST )
- tst_resm(TEST_RESULT, msgs[tc_ptr->pass_msg]);
- else
- Tst_count++;
- else
- tst_resm(TFAIL, "%s %s errno:%d %s",
- "Expected EEXIST error for exclusively opening an object file",
- "through a symbolic link file was not received:",
- errno, strerror(errno));
- close (TEST_RETURN);
- }
- else
- tst_resm(TBROK, "Unknown test case processing actions declared");
-}
-
-/***********************************************************************
- * This routine checks for the return of ENOENT errno from requested
- * system call
- *
- * Argument is pointer to test_objects array of structures of type
- * all_test_cases
- ***********************************************************************/
-void
-do_ENOENT(tc_ptr)
-struct all_test_cases *tc_ptr;
-{
- if (cktcsid(tc_ptr->tcid, STAT)) {
-
- if ((stat(tc_ptr->fn_arg[1], &asymlink) == -1) && (errno == ENOENT))
- if ( TEST_RESULT != TPASS || STD_FUNCTIONAL_TEST )
- tst_resm(TEST_RESULT, msgs[tc_ptr->pass_msg]);
- else
- Tst_count++;
- else
- tst_resm(TFAIL, "%s %s errno:%d %s",
- "Expected ENOENT error for stating a non-existent directory",
- "through a symbolic link file was not received:",
- errno, strerror(errno));
- }
- else if (cktcsid(tc_ptr->tcid, CHDIR)) {
- if ((chdir(tc_ptr->fn_arg[1]) == -1) && (errno == ENOENT))
- if ( TEST_RESULT != TPASS || STD_FUNCTIONAL_TEST )
- tst_resm(TEST_RESULT, msgs[tc_ptr->pass_msg]);
- else
- Tst_count++;
- else {
- tst_resm(TFAIL, "%s %s errno:%d %s",
- "Expected ENOENT error for changing to a non-existent",
- "directory through a symbolic link file was not received:",
- errno, strerror(errno));
- chdir(TESTDIR);
- }
- }
- else if (cktcsid(tc_ptr->tcid, LINK)) {
-
- if ((link(tc_ptr->fn_arg[1], "nick") == -1) && (errno == ENOENT))
- if ( TEST_RESULT != TPASS || STD_FUNCTIONAL_TEST )
- tst_resm(TEST_RESULT, msgs[tc_ptr->pass_msg]);
- else
- Tst_count++;
- else
- {
- tst_resm(TFAIL, "%s %s errno:%d %s",
- "Expected ENOENT error condition when link(2) a symbolic",
- "link which pointed at no object:", errno, strerror(errno));
- delete_files("nick", NULL);
- }
- }
- else if (cktcsid(tc_ptr->tcid, CHMOD)) {
-
- if ((chmod(tc_ptr->fn_arg[1], MODE) == -1) && (errno == ENOENT))
- if ( TEST_RESULT != TPASS || STD_FUNCTIONAL_TEST )
- tst_resm(TEST_RESULT, msgs[tc_ptr->pass_msg]);
- else
- Tst_count++;
- else
- tst_resm(TFAIL, "%s %s errno:%d %s",
- "Expected ENOENT error condition when chmod(2) a symbolic",
- "link which pointed at no object,", errno, strerror(errno));
- }
- else if (cktcsid(tc_ptr->tcid, UTIME)) {
-
- if ((utime(tc_ptr->fn_arg[1], NULL) == -1) && (errno == ENOENT))
- if ( TEST_RESULT != TPASS || STD_FUNCTIONAL_TEST )
- tst_resm(TEST_RESULT, msgs[tc_ptr->pass_msg]);
- else
- Tst_count++;
- else
- tst_resm(TFAIL, "%s %s errno:%d %s",
- "Expected ENOENT error condition when utime(2) a symbolic",
- "link which pointed at no object:", errno, strerror(errno));
- }
- else if (cktcsid(tc_ptr->tcid, OPEN)) {
-
- if ((open(tc_ptr->fn_arg[1], O_RDWR) == -1) && (errno == ENOENT))
- if ( TEST_RESULT != TPASS || STD_FUNCTIONAL_TEST )
- tst_resm(TEST_RESULT, msgs[tc_ptr->pass_msg]);
- else
- Tst_count++;
- else
- tst_resm(TFAIL, "%s %s errno:%d %s",
- "Expected ENOENT error for opening a non-existent object",
- " file through a symbolic link file was not received,",
- errno, strerror(errno));
- close (TEST_RETURN);
- }
- else
- tst_resm(TBROK, "Unknown test case processing actions declared");
-}
-
-/***********************************************************************
- * This routine checks for the return of ELOOP errno from requested
- * system call
- *
- * Argument is pointer to test_objects array of structures of type
- * all_test_cases
- ***********************************************************************/
-void
-do_ELOOP(tc_ptr)
-struct all_test_cases *tc_ptr;
-{
- if (cktcsid(tc_ptr->tcid, STAT)) {
-
- TEST( stat(tc_ptr->fn_arg[1], &asymlink) );
- errno=TEST_ERRNO;
- if ((TEST_RETURN == -1) && (errno == ELOOP))
- if ( TEST_RESULT != TPASS || STD_FUNCTIONAL_TEST )
- tst_resm(TEST_RESULT, msgs[tc_ptr->pass_msg]);
- else
- Tst_count++;
- else
- if ( TEST_RESULT != TPASS || STD_FUNCTIONAL_TEST )
- tst_resm(TEST_RESULT, "%s errno:%d %s",
- "Expected ELOOP errno from stat(2) (nested symb link),",
- errno, strerror(errno));
- else
- Tst_count++;
- }
- else if (cktcsid(tc_ptr->tcid, CHDIR)) {
-
- TEST( chdir(tc_ptr->fn_arg[1]) );
- errno=TEST_ERRNO;
- if ((TEST_RETURN == -1) && (errno == ELOOP))
- if ( TEST_RESULT != TPASS || STD_FUNCTIONAL_TEST )
- tst_resm(TEST_RESULT, msgs[tc_ptr->pass_msg]);
- else
- Tst_count++;
- else {
-
- tst_resm(TFAIL, "%s errno:%d %s",
- "Expected ELOOP error condition when chdir(2) a nested symbolic link:",
- errno, strerror(errno));
- chdir(TESTDIR);
- }
- }
- else if (cktcsid(tc_ptr->tcid, LINK)) {
-
- TEST ( link(tc_ptr->fn_arg[1], O_FILE) );
- errno=TEST_ERRNO;
- if ((TEST_RETURN == -1) && (errno == ELOOP))
- if ( TEST_RESULT != TPASS || STD_FUNCTIONAL_TEST )
- tst_resm(TEST_RESULT, msgs[tc_ptr->pass_msg]);
- else
- Tst_count++;
- else
- tst_resm(TFAIL, "%s errno:%d %s",
- "Expected ELOOP error condition when link(2) a nested symbolic link:",
- errno, strerror(errno));
- }
- else if (cktcsid(tc_ptr->tcid, CHMOD)) {
-
- TEST ( chmod(tc_ptr->fn_arg[1], MODE) );
- errno=TEST_ERRNO;
- if ((TEST_RETURN == -1) && (errno == ELOOP))
- if ( TEST_RESULT != TPASS || STD_FUNCTIONAL_TEST )
- tst_resm(TEST_RESULT, msgs[tc_ptr->pass_msg]);
- else
- Tst_count++;
- else
- tst_resm(TFAIL, "%s errno:%d %s",
- "Expected ELOOP error condition when chmod(2) a nested symbolic link:",
- errno, strerror(errno));
- return;
- }
- else if (cktcsid(tc_ptr->tcid, UTIME)) {
-
- TEST( utime(tc_ptr->fn_arg[1], NULL) );
- errno=TEST_ERRNO;
-
- if ((TEST_RETURN == -1) && (errno == ELOOP))
- if ( TEST_RESULT != TPASS || STD_FUNCTIONAL_TEST )
- tst_resm(TEST_RESULT, msgs[tc_ptr->pass_msg]);
- else
- Tst_count++;
- else
- tst_resm(TFAIL, "%s errno:%d %s",
- "Expected ELOOP error condition when utime(2) a nested symbolic link:",
- errno, strerror(errno));
- }
- else if (cktcsid(tc_ptr->tcid, OPEN)) {
-
- int fd;
- TEST( open(tc_ptr->fn_arg[1], O_CREAT) );
- fd=TEST_RETURN;
- errno=TEST_ERRNO;
- if ((fd == -1) && (errno == ELOOP))
- if ( TEST_RESULT != TPASS || STD_FUNCTIONAL_TEST )
- tst_resm(TEST_RESULT, msgs[tc_ptr->pass_msg]);
- else
- Tst_count++;
- else
- tst_resm(TFAIL, "%s errno:%d %s",
- "Expected ELOOP error condition when open(2) a nested symbolic link:",
- errno, strerror(errno));
- close (fd);
- }
- else
- tst_resm(TBROK, "Unknown test case processing actions declared");
-}
-
-/***********************************************************************
- * This routine checks for the return of ENOTDIR errno from requested
- * system call
- *
- * Argument is pointer to test_objects array of structures of type
- * all_test_cases
- ***********************************************************************/
-void
-do_ENOTDIR(tc_ptr)
-struct all_test_cases *tc_ptr;
-{
- if (cktcsid(tc_ptr->tcid, RMDIR)) {
-
- TEST( mkdir(tc_ptr->fn_arg[0], MODE) );
- errno=TEST_ERRNO;
- if (TEST_RETURN == -1)
- tst_resm(TBROK, "mkdir(2) Failure when creating %s",
- tc_ptr->fn_arg[0]);
- else if ((rmdir(tc_ptr->fn_arg[1]) == -1) && (errno == ENOTDIR)) {
-
- if ( TEST_RESULT != TPASS || STD_FUNCTIONAL_TEST )
- tst_resm(TEST_RESULT, msgs[tc_ptr->pass_msg]);
- else
- Tst_count++;
- rmdir(tc_ptr->fn_arg[0]);
- }
- else
- tst_resm(TFAIL, "%s %s errno:%d %s",
- "Expected ENOTDIR error for removing a non-existent",
- "directory through a symbolic link file was not received,",
- errno, strerror(errno));
- }
- else
- tst_resm(TBROK, "Unknown test case processing actions declared");
-}
-
-/***********************************************************************
- * This routine checks for the return of EXDEV errno from requested
- * system call
- *
- * Argument is pointer to test_objects array of structures of type
- * all_test_cases
- ***********************************************************************/
-void
-do_EXDEV(tc_ptr)
-struct all_test_cases *tc_ptr;
-{
- if (cktcsid(tc_ptr->tcid, RENAME)) {
-
- TEST( rename(tc_ptr->fn_arg[1], Y_A_S_FILE) );
- errno=TEST_ERRNO;
- if ((TEST_RETURN == -1) && (errno == EXDEV)) {
- if (see_if_a_symlink(Y_A_S_FILE) == -1)
- if ( TEST_RESULT != TPASS || STD_FUNCTIONAL_TEST )
- tst_resm(TEST_RESULT, msgs[tc_ptr->pass_msg]);
- else
- Tst_count++;
- else
- tst_resm(TFAIL, "%s %s %s file outside of current file system",
- "rename(3) returned -1 when trying to move symbolic link file",
- "outside of current file system, but created", Y_A_S_FILE);
- }
- else {
- tst_resm(TFAIL, "%s %s errno:%d %s",
- "Expected EXDEV error for renaming an existing symbolic",
- "link file to a location outside of existing file system,",
- errno, strerror(errno));
- delete_files("/NiCkEr", NULL);
- }
- }
- else
- tst_resm(TBROK, "Unknown test case processing actions declared");
-}
-
-/***********************************************************************
- * This routine checks for the return of ENAMETOOLONG errno from requested
- * system call
- *
- * Argument is pointer to test_objects array of structures of type
- * all_test_cases
- ***********************************************************************/
-void
-do_ENAMETOOLONG(tc_ptr)
-struct all_test_cases *tc_ptr;
-{
- int ret;
-
- if (cktcsid(tc_ptr->tcid, SYMLINK)) {
-
- TEST( symlink(tc_ptr->fn_arg[0], full_path) );
- errno=TEST_ERRNO;
- if ((TEST_RETURN == -1) && (errno == ENAMETOOLONG))
- if (see_if_a_symlink(full_path) == -1)
- if ( TEST_RESULT != TPASS || STD_FUNCTIONAL_TEST )
- tst_resm(TEST_RESULT, msgs[tc_ptr->pass_msg]);
- else
- Tst_count++;
- else
- tst_resm(TFAIL, "%s %s %d %s",
- "symlink(2) returned -1 when trying to create a symbolic",
- "link file whose name exceeded", (PATH_MAX+1),
- "characters, but it created the symbolic link file");
- else
- tst_resm(TFAIL,
- "Expected ENAMETOOLONG error when creating %s symbolic link file with a path exceeding %d characters: errno:%d %s",
- tc_ptr->fn_arg[1], (PATH_MAX+1), errno, strerror(errno));
- }
- else if (cktcsid(tc_ptr->tcid, READLINK)) {
-
- char scratch[PATH_MAX+1];
-
- ret=readlink(full_path, scratch, strlen(full_path));
- if (( ret == -1) && (errno == ENAMETOOLONG))
- if ( TEST_RESULT != TPASS || STD_FUNCTIONAL_TEST )
- tst_resm(TEST_RESULT, msgs[tc_ptr->pass_msg]);
- else
- Tst_count++;
- else
- tst_resm(TFAIL,
- "Expected ENAMETOOLONG error when reading %s symbolic link file with a path exceeding %d characters: errno:%d %s",
- tc_ptr->fn_arg[1], (PATH_MAX+1), errno, strerror(errno));
- }
- else
- tst_resm(TBROK, "Unknown test case processing actions declared");
-}
-
-/***********************************************************************
- * This routine checks for the return of EINVAL errno from requested
- * system call
- *
- * Argument is pointer to test_objects array of structures of type
- * all_test_cases
- ***********************************************************************/
-void
-do_EINVAL(tc_ptr)
-struct all_test_cases *tc_ptr;
-{
- if (cktcsid(tc_ptr->tcid, READLINK)) {
- TEST( readlink(tc_ptr->fn_arg[0], test_msg, BUFMAX) );
- errno=TEST_ERRNO;
- if (TEST_RETURN == -1) {
- if (errno == EINVAL) {
- if ( TEST_RESULT != TPASS || STD_FUNCTIONAL_TEST )
- tst_resm(TEST_RESULT, msgs[tc_ptr->pass_msg]);
- else
- Tst_count++;
- } else
- tst_resm(TFAIL, "readlink(2) ret:-1, errno:%d, : Exp errno:%d",
- errno, EINVAL);
- }
- else {
- tst_resm(TFAIL, "readlink(2) did not returned -1 when reading %s",
- "a file which is not a symbolic link file");
- }
- }
- else
- tst_resm(TBROK, "Unknown test case processing actions declared");
-}
-
-/***********************************************************************
- * This routine checks out the readlink(2) system call for a successful
- * invocation
- *
- * Argument is pointer to test_objects array of structures of type
- * all_test_cases
- ***********************************************************************/
-void
-do_readlink(tc_ptr)
-struct all_test_cases *tc_ptr;
-{
- char scratch[PATH_MAX];
- int ret;
-
- ret=readlink(tc_ptr->fn_arg[1], scratch, strlen(tc_ptr->fn_arg[0]));
-
- /*** the TEST macro cannot be used here for some reason ****/
-
- if (ret == -1) {
- tst_resm(TFAIL,
- "readlink(2) failure on %s symbolic link file, errno=%d",
- tc_ptr->fn_arg[1], errno);
-
- }
- else if (strncmp(tc_ptr->fn_arg[0], scratch,
- strlen(tc_ptr->fn_arg[0])) != 0) {
-
- /* Must null terminate scratch because readlink(2) doesn't */
-
- scratch[strlen(tc_ptr->fn_arg[0])] = '\0';
-
- tst_resm(TFAIL,
- "readlink(2) Error : Expected %s symbolic link file contents but %s actual contents were returned",
- tc_ptr->fn_arg[0], scratch);
- }
- else if ( TEST_RESULT != TPASS || STD_FUNCTIONAL_TEST )
- tst_resm(TEST_RESULT, msgs[tc_ptr->pass_msg]);
- else
- Tst_count++;
-}
-
-/***********************************************************************
- * This routine checks out the stat(2) system call for a successful
- * invocation
- *
- * Argument is pointer to test_objects array of structures of type
- * all_test_cases
- ***********************************************************************/
-void
-do_stat(tc_ptr)
-struct all_test_cases *tc_ptr;
-{
- if (statter.st_dev != asymlink.st_dev)
- tst_resm(TFAIL,
- "stat of symbolic link reference to object device info %ld != stat of object file device info %ld",
- statter.st_dev, asymlink.st_dev);
-
- else if (statter.st_mode != asymlink.st_mode)
- tst_resm(TFAIL,
- "stat of symbolic link reference to object file permissions %ld != stat of object file permissions %ld",
- statter.st_mode, asymlink.st_mode);
-
- else if (statter.st_nlink != asymlink.st_nlink)
- tst_resm(TFAIL,
- "stat of symbolic link reference to object file link count %ld != stat of object file link count %ld",
- statter.st_nlink, asymlink.st_nlink);
-
- else if (statter.st_uid != asymlink.st_uid)
- tst_resm(TFAIL,
- "stat of symbolic link reference to object file uid %ld != stat of object file uid %ld",
- statter.st_uid, asymlink.st_uid);
-
- else if (statter.st_gid != asymlink.st_gid)
- tst_resm(TFAIL,
- "stat of symbolic link reference to object file gid %ld != stat of object file gid %ld",
- statter.st_gid, asymlink.st_gid);
-
- else if (statter.st_size != asymlink.st_size)
- tst_resm(TFAIL,
- "stat of symbolic link reference to object file size %ld != stat of object file size %ld",
- statter.st_size, asymlink.st_size);
-
- else if (statter.st_atime != asymlink.st_atime)
- tst_resm(TFAIL,
- "stat of symbolic link reference to object access time %ld != stat of object file access time %ld",
- statter.st_atime, asymlink.st_atime);
-
- else if (statter.st_mtime != asymlink.st_mtime)
- tst_resm(TFAIL,
- "stat of symbolic link reference to object modify time %ld != stat of object file modify time %ld",
- statter.st_atime, asymlink.st_atime);
-
- else if (statter.st_ctime != asymlink.st_ctime)
- tst_resm(TFAIL,
- "stat of symbolic link reference to object change time %ld != stat of object file change time %ld",
- statter.st_atime, asymlink.st_atime);
- else if ( TEST_RESULT != TPASS || STD_FUNCTIONAL_TEST )
- tst_resm(TEST_RESULT, msgs[tc_ptr->pass_msg]);
- else
- Tst_count++;
-}
-
-/***********************************************************************
- * This routine checks out the chdir(2) system call for a successful
- * invocation
- *
- * Argument is pointer to test_objects array of structures of type
- * all_test_cases
- ***********************************************************************/
-void
-do_chdir(tc_ptr)
-struct all_test_cases *tc_ptr;
-{
- if (mkdir(tc_ptr->fn_arg[2],MODE) == -1)
- tst_resm(TFAIL, "Could not create a setup directory file");
- else {
-
- sprintf(Buf, "mkdir(%s, %#o) was successful\n", tc_ptr->fn_arg[2],MODE);
- strcat(Buffer, Buf);
-
- if (chdir(tc_ptr->fn_arg[1]) == -1)
- tst_resm(TFAIL, "%sCould not change a directory file through a %s",
- Buffer, "symbolic link which which pointed at object");
- else {
-
- char buf [PATH_MAX];
- char *cwd;
- char expected_location[PATH_MAX];
- /*
- * Build expected current directory position
- */
- strcpy(expected_location, TESTDIR);
- strcat(expected_location, "/");
- strcat(expected_location, tc_ptr->fn_arg[2]);
-
- if ((cwd = getcwd(buf, sizeof (buf))) == NULL)
- tst_resm(TFAIL, "getcwd(3) FAILURE");
- else if (strcmp(cwd, expected_location) == 0)
- if ( TEST_RESULT != TPASS || STD_FUNCTIONAL_TEST )
- tst_resm(TEST_RESULT, msgs[tc_ptr->pass_msg]);
- else
- Tst_count++;
- else {
- tst_resm(TFAIL, "%s%s %s %s not equal to expected %s", Buffer,
- "chdir(2) returned successfully, but getcwd(3) indicated",
- "new current working directory location", cwd, expected_location);
- }
- chdir(TESTDIR);
- }
- rmdir(tc_ptr->fn_arg[2]);
- }
-}
-
-/***********************************************************************
- * This routine checks out the link(2) system call for a successful
- * invocation
- *
- * Argument is pointer to test_objects array of structures of type
- * all_test_cases
- ***********************************************************************/
-void
-do_link(tc_ptr)
-struct all_test_cases *tc_ptr;
-{
- struct stat stbuf;
-
- if (link(tc_ptr->fn_arg[1], "nick") == -1) {
- tst_resm(TFAIL, "%slink(%s, \"nick\") failed, errno: %d\n%s %s",
- Buffer, tc_ptr->fn_arg[1], errno,
- "link of new file to object file via symbolic link file failed",
- "when expected not to");
- }
- else {
- sprintf(Buf, "link(%s, \"nick\") was successful\n", tc_ptr->fn_arg[1]);
- strcat(Buffer, Buf);
-
- if ( STD_FUNCTIONAL_TEST ) {
- /*
- * Check that links counts were properly set
- */
- if (lstat(tc_ptr->fn_arg[1], &asymlink) == -1) {
- tst_resm(TBROK, "lstat(%s) failed. errno: %d",
- tc_ptr->fn_arg[1], errno);
-
- } else if (lstat("nick", &statter) == -1) {
- tst_resm(TBROK, "lstat(nick) failed, errno:%d", errno);
- } else {
- if (statter.st_ino == asymlink.st_ino) {
- if ((statter.st_nlink ==2) && (asymlink.st_nlink == 2)) {
- if ( TEST_RESULT != TPASS || STD_FUNCTIONAL_TEST )
- tst_resm(TEST_RESULT, msgs[tc_ptr->pass_msg]);
- else
- Tst_count++;
- } else {
- lstat(tc_ptr->fn_arg[2], &stbuf);
-
- tst_resm(TFAIL,
- "%slink(%s, %s) failed to adjust link count.\n\
- count for nick is %d, count for %s is %d, count for %s is %d.",
- Buffer, tc_ptr->fn_arg[1], "nick",
- statter.st_nlink, tc_ptr->fn_arg[1], asymlink.st_nlink,
- tc_ptr->fn_arg[2], stbuf.st_nlink);
- }
- } else {
- tst_resm(TFAIL,
- "%sA lstat of %s (ino:%llu) and of\n\t\t\
-%s (ino:%llu), does not show them being the same ino.", Buffer,
- tc_ptr->fn_arg[1], asymlink.st_ino, "nick", statter.st_ino);
- }
- }
- }
- delete_files("nick", NULL);
- }
-}
-
-/***********************************************************************
- * This routine checks out the unlink(2) system call for a successful
- * invocation
- *
- * Argument is pointer to test_objects array of structures of type
- * all_test_cases
- ***********************************************************************/
-void
-do_unlink(tc_ptr)
-struct all_test_cases *tc_ptr;
-{
- if (stat(tc_ptr->fn_arg[2], &asymlink) == -1)
- tst_resm(TBROK,
- "stat(2) Failure when accessing %s object file", tc_ptr->fn_arg[2]);
- else if (unlink(tc_ptr->fn_arg[1]) == -1)
- tst_resm(TFAIL, "unlink(2) failed when removing symbolic link file");
- else {
- sprintf(Buf, "unlink(%s) was successful\n", tc_ptr->fn_arg[1]);
- strcat(Buffer, Buf);
- if (stat(tc_ptr->fn_arg[2], &statter) == -1)
- tst_resm(TFAIL,"%s %s",
- "unlink(2) failed because it not only removed symbolic link",
- "file which pointed at object file, but object file as well");
-
- else
- if ((statter.st_ino == asymlink.st_ino) &&
- (statter.st_dev == asymlink.st_dev) &&
- (statter.st_size == asymlink.st_size))
-
- if ( TEST_RESULT != TPASS || STD_FUNCTIONAL_TEST )
- tst_resm(TEST_RESULT, msgs[tc_ptr->pass_msg]);
- else
- Tst_count++;
- else
- tst_resm(TFAIL, "%s%s %s %s", Buffer,
- "unlink(2) failed because it not only removed symbolic link",
- "file which pointed at object file, but it changed object",
- "file inode information");
- }
-
-}
-
-/***********************************************************************
- * This routine checks out the chmod(2) system call for a successful
- * invocation
- *
- * Argument is pointer to test_objects array of structures of type
- * all_test_cases
- ***********************************************************************/
-void
-do_chmod(tc_ptr)
-struct all_test_cases *tc_ptr;
-{
- if (stat(tc_ptr->fn_arg[2], &asymlink) == -1)
- tst_resm(TBROK,
- "stat(2) Failure when accessing %s object file", tc_ptr->fn_arg[2]);
- else if (chmod(tc_ptr->fn_arg[1], (MODE | MASK)) == -1)
- tst_resm(TFAIL, "%s%s %s", Buffer,
- "chmod(2) failed when changing file permission",
- "through symbolic link file");
- else {
- sprintf(Buf, "chmod(%s, %#o) was successful\n", tc_ptr->fn_arg[1],
- (MODE | MASK));
- strcat(Buffer, Buf);
-
- if (stat(tc_ptr->fn_arg[2], &statter) == -1)
- tst_resm(TBROK,
- "stat(2) Failure when accessing %s object file", tc_ptr->fn_arg[2]);
- else
- if ((statter.st_mode == (MODE | MASK)) &&
- (statter.st_mode != asymlink.st_mode))
- if ( TEST_RESULT != TPASS || STD_FUNCTIONAL_TEST )
- tst_resm(TEST_RESULT, msgs[tc_ptr->pass_msg]);
- else
- Tst_count++;
- else
- tst_resm(TFAIL, "%s%s %o to %o %s", Buffer,
- "chmod(2) failed to change object file permissions from",
- asymlink.st_mode, (MODE | MASK),
- "through symbolic link file");
- }
-
-}
-
-/***********************************************************************
- * This routine checks out the utime(2) system call for a successful
- * invocation
- *
- * Argument is pointer to test_objects array of structures of type
- * all_test_cases
- ***********************************************************************/
-void
-do_utime(tc_ptr)
-struct all_test_cases *tc_ptr;
-{
- struct utimbuf utimes;
-
- if (stat(tc_ptr->fn_arg[2], &asymlink) == -1)
- tst_resm(TBROK, "stat(2) Failure when accessing %s object file",
- tc_ptr->fn_arg[2]);
- else {
- /* Now add a few values to access and modify times */
-
- utimes.actime = asymlink.st_atime + a_time_value;
- utimes.modtime = asymlink.st_mtime + a_time_value;
-
- /* Now hand off to utime(2) via symbolic link file*/
-
- if (utime(tc_ptr->fn_arg[1], &utimes) == -1)
- tst_resm(TFAIL, "%s %s",
- "utime(2) failed to process object file access and modify",
- "time updates through symbolic link");
- else {
- /* Now verify changes were made */
-
- if (stat(tc_ptr->fn_arg[2], &statter) == -1)
- tst_resm(TBROK,
- "stat(2) Failure when accessing %s object file",
- tc_ptr->fn_arg[2]);
- else {
- time_t temp, diff;
-
- temp = statter.st_atime - asymlink.st_atime;
- diff = (statter.st_mtime - asymlink.st_mtime) - temp;
-
- if (! diff)
- if ( TEST_RESULT != TPASS || STD_FUNCTIONAL_TEST )
- tst_resm(TEST_RESULT, msgs[tc_ptr->pass_msg]);
- else
- Tst_count++;
- else
- tst_resm(TFAIL, "%s %s %d greater than original times",
- "utime(2) failed to change object file access and",
- "modify times through symbolic link to a value",
- a_time_value);
- }
- }
- }
-}
-
-/***********************************************************************
- * This routine checks out the rename(2) system call for a successful
- * invocation
- *
- * Argument is pointer to test_objects array of structures of type
- * all_test_cases
- ***********************************************************************/
-void
-do_rename(tc_ptr)
-struct all_test_cases *tc_ptr;
-{
- int pts_at_object = 0;
-
-
- if (stat(tc_ptr->fn_arg[2], &statter) != -1)
- pts_at_object=1;
-
- TEST (rename(tc_ptr->fn_arg[1], A_S_FILE) );
- errno=TEST_ERRNO;
- if (TEST_RETURN == -1)
- tst_resm(TFAIL, "rename(3) failed to rename %s symbolic link file to %s",
- tc_ptr->fn_arg[2], A_S_FILE);
- else if (pts_at_object)
- if (ck_both(tc_ptr->fn_arg[0], A_S_FILE, tc_ptr->fn_arg[2]))
- if ( TEST_RESULT != TPASS || STD_FUNCTIONAL_TEST )
- tst_resm(TEST_RESULT, msgs[tc_ptr->pass_msg]);
- else
- Tst_count++;
- else
- tst_resm(TFAIL, test_msg);
- else if ( ! ck_symlink(tc_ptr->fn_arg[0], A_S_FILE, NULL))
- tst_resm(TFAIL, test_msg);
- else if (stat(tc_ptr->fn_arg[1], &asymlink) != -1)
- tst_resm(TFAIL,
- "rename(3) did not remove %s when renaming to %s",
- tc_ptr->fn_arg[1], A_S_FILE);
- else if ( TEST_RESULT != TPASS || STD_FUNCTIONAL_TEST )
- tst_resm(TEST_RESULT, msgs[tc_ptr->pass_msg]);
- else
- Tst_count++;
-}
-
-/***********************************************************************
- * This routine checks out the open(2) system call for a successful
- * invocation
- *
- * Argument is pointer to test_objects array of structures of type
- * all_test_cases
- ***********************************************************************/
-void
-do_open(tc_ptr)
-struct all_test_cases *tc_ptr;
-{
- int fd = -1;
- int ret, pts_at_object = 0;
- char scratch[PATH_MAX];
-
-
- if (stat(tc_ptr->fn_arg[2], &statter) != -1)
- pts_at_object=1;
-
- if (pts_at_object) {
- TEST( open(tc_ptr->fn_arg[1], O_RDWR) );
- errno=TEST_ERRNO;
- if ((fd=TEST_RETURN) == -1) {
- tst_resm(TFAIL,
- "open(2) Failure when opening object file through symbolic link file");
- return;
- }
- }
- else {
- TEST(open(tc_ptr->fn_arg[1], (O_CREAT | O_RDWR), MODE) );
- errno=TEST_ERRNO;
- if ((fd=TEST_RETURN) == -1) {
- tst_resm(TFAIL,
- "open(2) Failure when creating object file through symbolic link file");
- return;
- }
- }
- if ((ret=write(fd, BIG_STRING, strlen(BIG_STRING))) == -1) {
- tst_resm(TFAIL,
- "write(2) Failure to object file opened through a symbolic link file: errno:%d",
- errno);
- }
- else if (ret != strlen(BIG_STRING)) {
- tst_resm(TFAIL,
- "write(2) Failed to write %d bytes to object file opened through a symbolic link file",
- strlen(BIG_STRING));
- }
- else if (lseek(fd, 0L, 0) == -1) {
- tst_resm(TFAIL,
- "lseek(2) Failed to position to beginning of object file opened through a symbolic link file: errno = %d",
- errno);
- }
- else if ((ret=read(fd, scratch, strlen(BIG_STRING))) == -1) {
- tst_resm(TFAIL,
- "read(2) Failure of object file opened through a symbolic link file: errno = %d",
- errno);
- }
- else if (ret != strlen(BIG_STRING)) {
- tst_resm(TFAIL,
- "read(2) Failed to read %d bytes to object file opened through a symbolic link file",
- strlen(BIG_STRING));
- }
- else if (strncmp(BIG_STRING, scratch, strlen(BIG_STRING)) != 0) {
- tst_resm(TFAIL,
- "Content of write(2) and read(2) Failed to object file through symbolic link file was not as expected. Expected %s and read returned %s",
- BIG_STRING, scratch);
- }
- else {
- /*
- * Close off symbolic link file to object file access
- */
- if (close(fd) == -1) {
- tst_resm(TFAIL,
- "close(2) Failure when closing object file accessed symbolic link file");
- }
- /*
- * Now, lets open up and read object file and compare contents
- */
- else if ((fd=open(tc_ptr->fn_arg[0], O_RDONLY)) == -1) {
- tst_resm(TFAIL, "open(2) Failure when opening %s file: errno:%d %s",
- tc_ptr->fn_arg[0], errno, strerror(errno));
- }
- else if ((ret=read(fd, scratch, strlen(BIG_STRING))) == -1) {
- tst_resm(TFAIL,
- "read(2) Failure of object file opened through a symbolic link file: errno:%d", errno);
- }
- else if (ret != strlen(BIG_STRING)) {
- tst_resm(TFAIL,
- "read(2) Failed to read %d bytes to object file opened through a symbolic link file",
- strlen(BIG_STRING));
- }
- else if (strncmp(BIG_STRING, scratch, strlen(BIG_STRING)) != 0) {
- tst_resm(TFAIL,
- "Content of write(2) and read(2) Failed to object file through symbolic link file was not as expected. Expected %s and read returned %s",
- BIG_STRING, scratch);
- }
- else if (pts_at_object) {
- if ( TEST_RESULT != TPASS || STD_FUNCTIONAL_TEST )
- tst_resm(TEST_RESULT, msgs[tc_ptr->pass_msg]);
- else
- Tst_count++;
- }
- else { /* Insure newly created object file is pointed at */
- if (ck_both(tc_ptr->fn_arg[0], tc_ptr->fn_arg[1], tc_ptr->fn_arg[0]))
- if ( TEST_RESULT != TPASS || STD_FUNCTIONAL_TEST )
- tst_resm(TEST_RESULT, msgs[tc_ptr->pass_msg]);
- else
- Tst_count++;
- else
- tst_resm(TFAIL, test_msg);
- }
- close(fd);
- }
-}
-
-/***************************************************************
- * setup() - performs all ONE TIME setup for this test.
- ***************************************************************/
-void
-setup()
-{
- /* capture signals */
- tst_sig(FORK, DEF_HANDLER, cleanup);
-
- /* create a temporary directory and go to it */
- tst_tmpdir();
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-
-} /* End setup() */
-
-
-/***************************************************************
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- ***************************************************************/
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- */
- TEST_CLEANUP;
-
- /* remove temporary directory and all files in it. */
- tst_rmdir();
-
- /* exit with return code appropriate for results */
- tst_exit();
-
-} /* End cleanup() */
-
-
-/*
- *
- */
-void help()
-{
- unsigned ind;
-
- printf(" -T id Determines which tests cases to execute:\n");
-
- for (ind=0; ind<sizeof(all_tcses)/sizeof(struct tcses ); ind++) {
- printf(" %s/%s - %s\n", all_tcses[ind].tcid, all_tcses[ind].syscall,
- all_tcses[ind].desc);
- }
-}
diff --git a/winsup/testsuite/winsup.api/ltp/symlink02.c b/winsup/testsuite/winsup.api/ltp/symlink02.c
deleted file mode 100644
index 4157cea8a..000000000
--- a/winsup/testsuite/winsup.api/ltp/symlink02.c
+++ /dev/null
@@ -1,245 +0,0 @@
-/*
- * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it would be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Further, this software is distributed without any warranty that it is
- * free of the rightful claim of any third person regarding infringement
- * or the like. Any license provided herein, whether implied or
- * otherwise, applies only to this software file. Patent licenses, if
- * any, provided herein do not apply to combinations of this program with
- * other software, or any other product whatsoever.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write the Free Software Foundation, Inc., 59
- * Temple Place - Suite 330, Boston MA 02111-1307, USA.
- *
- * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
- * Mountain View, CA 94043, or:
- *
- * http://www.sgi.com
- *
- * For further information regarding this notice, see:
- *
- * http://oss.sgi.com/projects/GenInfo/NoticeExplan/
- *
- */
-/* $Id$ */
-/**********************************************************
- *
- * OS Test - Silicon Graphics, Inc.
- *
- * TEST IDENTIFIER : symlink02
- *
- * EXECUTED BY : anyone
- *
- * TEST TITLE : Basic test for symlink(2)
- *
- * PARENT DOCUMENT : usctpl01
- *
- * TEST CASE TOTAL : 1
- *
- * WALL CLOCK TIME : 1
- *
- * CPU TYPES : ALL
- *
- * AUTHOR : William Roske
- *
- * CO-PILOT : Dave Fenner
- *
- * DATE STARTED : 03/30/92
- *
- * INITIAL RELEASE : UNICOS 7.0
- *
- * TEST CASES
- *
- * 1.) symlink(2) returns...(See Description)
- *
- * INPUT SPECIFICATIONS
- * The standard options for system call tests are accepted.
- * (See the parse_opts(3) man page).
- *
- * OUTPUT SPECIFICATIONS
- *
- * DURATION
- * Terminates - with frequency and infinite modes.
- *
- * SIGNALS
- * Uses SIGUSR1 to pause before test if option set.
- * (See the parse_opts(3) man page).
- *
- * RESOURCES
- * None
- *
- * ENVIRONMENTAL NEEDS
- * No run-time environmental needs.
- *
- * SPECIAL PROCEDURAL REQUIREMENTS
- * None
- *
- * INTERCASE DEPENDENCIES
- * None
- *
- * DETAILED DESCRIPTION
- * This is a Phase I test for the symlink(2) system call. It is intended
- * to provide a limited exposure of the system call, for now. It
- * should/will be extended when full functional tests are written for
- * symlink(2).
- *
- * Setup:
- * Setup signal handling.
- * Pause for SIGUSR1 if option specified.
- *
- * Test:
- * Loop if the proper options are given.
- * Execute system call
- * Check return code, if system call failed (return=-1)
- * Log the errno and Issue a FAIL message.
- * Otherwise, Issue a PASS message.
- *
- * Cleanup:
- * Print errno log and/or timing stats if options given
- *
- *
- *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#**/
-
-#include <sys/types.h>
-#include <sys/fcntl.h>
-#include <errno.h>
-#include <string.h>
-#include <signal.h>
-#include "test.h"
-#include "usctest.h"
-
-extern void setup();
-extern void cleanup();
-
-
-
-const char *TCID="symlink02"; /* Test program identifier. */
-int TST_TOTAL=1; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-
-int exp_enos[]={0, 0};
-
-char fname[255], symlnk[255];
-int fd;
-
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
-
- /***************************************************************
- * parse standard options
- ***************************************************************/
- if ( (msg=parse_opts(ac, av, (option_t *) NULL, NULL)) != (char *) NULL )
- tst_brkm(TBROK, cleanup, "OPTION PARSING ERROR - %s", msg);
-
- /***************************************************************
- * perform global setup for test
- ***************************************************************/
- setup();
-
- /* set the expected errnos... */
- TEST_EXP_ENOS(exp_enos);
-
- /***************************************************************
- * check looping state if -c option given
- ***************************************************************/
- for (lc=0; TEST_LOOPING(lc); lc++) {
-
- /* reset Tst_count in case we are looping. */
- Tst_count=0;
-
- /*
- * Call symlink(2)
- */
- TEST(symlink(fname, symlnk));
-
- /* check return code */
- if ( TEST_RETURN == -1 ) {
- TEST_ERROR_LOG(TEST_ERRNO);
- tst_resm(TFAIL, "symlink(%s, %s) Failed, errno=%d : %s",
- fname, symlnk, TEST_ERRNO, strerror(TEST_ERRNO));
- } else {
- /***************************************************************
- * only perform functional verification if flag set (-f not given)
- ***************************************************************/
- if ( STD_FUNCTIONAL_TEST ) {
- /* No Verification test, yet... */
- tst_resm(TPASS, "symlink(%s, %s) returned %d",
- fname, symlnk, TEST_RETURN);
- }
- if (unlink(symlnk) == -1) {
- tst_brkm(TBROK, cleanup,
- "unlink(%s) Failed, errno=%d : %s",
- symlnk, errno, strerror(errno));
- }
- }
- } /* End for TEST_LOOPING */
-
- /***************************************************************
- * cleanup and exit
- ***************************************************************/
- cleanup();
-
- return 0;
-} /* End main */
-
-/***************************************************************
- * setup() - performs all ONE TIME setup for this test.
- ***************************************************************/
-void
-setup()
-{
- /* capture signals */
- tst_sig(NOFORK, DEF_HANDLER, cleanup);
-
- /* make a temp directory and cd to it */
- tst_tmpdir();
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-
- sprintf(fname,"tfile_%d",getpid());
- if ((fd=open(fname,O_RDWR|O_CREAT,0700)) == -1) {
- tst_brkm(TBROK, cleanup,
- "open(%s, O_RDWR|O_CREAT,0700) Failed, errno=%d : %s",
- fname, errno, strerror(errno));
- }
-
- if (close(fd) == -1 ) {
- tst_resm(TWARN, "close(%s) Failed, errno=%d : %s",
- fname, errno, strerror(errno));
- }
- sprintf(symlnk,"st_%d",getpid());
-} /* End setup() */
-
-
-/***************************************************************
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- ***************************************************************/
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /* Remove tmp dir and all files in it */
- tst_rmdir();
-
- /* exit with return code appropriate for results */
- tst_exit();
-} /* End cleanup() */
diff --git a/winsup/testsuite/winsup.api/ltp/symlink03.c b/winsup/testsuite/winsup.api/ltp/symlink03.c
deleted file mode 100644
index 4d0542768..000000000
--- a/winsup/testsuite/winsup.api/ltp/symlink03.c
+++ /dev/null
@@ -1,404 +0,0 @@
-/*
- *
- * Copyright (c) International Business Machines Corp., 2001
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-/*
- * Test Name : symlink03
- *
- * Test Description :
- * Verify that,
- * 1) symlink(2) returns -1 and sets errno to EACCES if search/write
- * permission is denied in the directory where the symbolic link is
- * being created.
- * 2) symlink(2) returns -1 and sets errno to EEXIST if the specified
- * symbolic link already exists.
- * 3) symlink(2) returns -1 and sets errno to EFAULT if the specified
- * file or symbolic link points to invalid address.
- * 4) symlink(2) returns -1 and sets errno to ENAMETOOLONG if the
- * pathname component of symbolic link is too long (ie, > PATH_MAX).
- * 5) symlink(2) returns -1 and sets errno to ENOTDIR if the directory
- * component in pathname of symbolic link is not a directory.
- * 6) symlink(2) returns -1 and sets errno to ENOENT if the component of
- * symbolic link points to an empty string.
- *
- * Expected Result:
- * symlink() should fail with return value -1 and set expected errno.
- *
- * Algorithm:
- * Setup:
- * Setup signal handling.
- * Create temporary directory.
- * Pause for SIGUSR1 if option specified.
- *
- * Test:
- * Loop if the proper options are given.
- * Execute system call
- * Check return code, if system call failed (return=-1)
- * if errno set == expected errno
- * Issue sys call fails with expected return value and errno.
- * Otherwise,
- * Issue sys call fails with unexpected errno.
- * Otherwise,
- * Issue sys call returns unexpected value.
- *
- * Cleanup:
- * Print errno log and/or timing stats if options given
- * Delete the temporary directory(s)/file(s) created.
- *
- * Usage: <for command-line>
- * symlink03 [-c n] [-e] [-i n] [-I x] [-p x] [-t]
- * where, -c n : Run n copies concurrently.
- * -e : Turn on errno logging.
- * -i n : Execute test n times.
- * -I x : Execute test for x seconds.
- * -P x : Pause for x seconds between iterations.
- * -t : Turn on syscall timing.
- *
- * History
- * 07/2001 John George
- * -Ported
- *
- * Restrictions:
- * This test should be executed by 'non-super-user' only.
- */
-
-#include <sys/types.h>
-#include <sys/fcntl.h>
-#include <errno.h>
-#include <string.h>
-#include <signal.h>
-#include <sys/stat.h>
-
-#include "test.h"
-#include "usctest.h"
-
-#define MODE_RWX S_IRWXU | S_IRWXG | S_IRWXO
-#define FILE_MODE S_IRUSR | S_IRGRP | S_IROTH
-#define DIR_TEMP "testdir_1"
-#define TESTFILE "testfile"
-#define TEST_FILE1 "testdir_1/tfile_1"
-#define SYM_FILE1 "testdir_1/sfile_1"
-#define TEST_FILE2 "tfile_2"
-#define SYM_FILE2 "sfile_2"
-#define TEST_FILE3 "tfile_3"
-#define SYM_FILE3 "t_file/sfile_3"
-
-const char *TCID="symlink03"; /* Test program identifier. */
-int TST_TOTAL=1; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-int exp_enos[]={ENOTDIR, ENOENT, ENAMETOOLONG, EFAULT, EEXIST, EACCES, 0};
-
-int no_setup();
-int setup1(); /* setup function to test symlink for EACCES */
-int setup2(); /* setup function to test symlink for EEXIST */
-int setup3(); /* setup function to test symlink for ENOTDIR */
-int longpath_setup(); /* setup function to test chmod for ENAMETOOLONG */
-
-char Longpathname[PATH_MAX+2];
-char High_address_node[64];
-
-struct test_case_t { /* test case struct. to hold ref. test cond's*/
- const char *file;
- const char *link;
- const char *desc;
- int exp_errno;
- int (*setupfunc)();
-} Test_cases[] = {
- { TEST_FILE1, SYM_FILE1, "No Search permissions to process", EACCES, setup1 },
- { TEST_FILE2, SYM_FILE2, "Specified symlink already exists", EEXIST, setup2 },
- { TESTFILE, High_address_node, "Address beyond address space", EFAULT, no_setup },
- { TESTFILE, (char *)-1, "Negative address", EFAULT, no_setup },
- { TESTFILE, Longpathname, "Symlink path too long", ENAMETOOLONG, longpath_setup },
- { TESTFILE, "", "Symlink Pathname is empty", ENOENT, no_setup },
-#ifndef __CYGWIN__
- { TEST_FILE3, SYM_FILE3, "Symlink Path contains regular file", ENOTDIR, setup3 },
-#endif
- { NULL, NULL, NULL, 0, no_setup }
-};
-
-extern void setup(); /* Setup function for the test */
-void cleanup() __attribute__((noreturn));/* Cleanup function for the test */
-char *get_high_address (void);
-
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
- const char *test_file; /* testfile name */
- const char *sym_file; /* symbolic link file name */
- const char *test_desc; /* test specific error message */
- int ind; /* counter to test different test conditions */
-
- /* Parse standard options given to run the test. */
- msg = parse_opts(ac, av, (option_t *) NULL, NULL);
- if (msg != (char *) NULL) {
- tst_brkm(TBROK, NULL, "OPTION PARSING ERROR - %s", msg);
- tst_exit();
- /*NOTREACHED*/
- }
-
- /*
- * Invoke setup function to call individual test setup functions
- * to simulate test conditions.
- */
- setup();
-
- /* set the expected errnos... */
- TEST_EXP_ENOS(exp_enos);
-
- /* Check looping state if -i option given */
- for (lc = 0; TEST_LOOPING(lc); lc++) {
- /* Reset Tst_count in case we are looping. */
- Tst_count=0;
-
- for (ind = 0; Test_cases[ind].desc != NULL; ind++) {
- test_file = Test_cases[ind].file;
- sym_file = Test_cases[ind].link;
- test_desc = Test_cases[ind].desc;
-
- if (sym_file == High_address_node) {
- sym_file = (char *)get_high_address();
- }
- /*
- * Call symlink(2) to test different test conditions.
- * verify that it fails with -1 return value and sets
- * appropriate errno.
- */
- TEST(symlink(test_file, sym_file));
-
- /* Check return code of symlink(2) */
- if (TEST_RETURN == -1) {
- /*
- * Perform functional verification if
- * test executed without (-f) option.
- */
- TEST_ERROR_LOG(TEST_ERRNO);
- if (TEST_ERRNO == Test_cases[ind].exp_errno) {
- tst_resm(TPASS, "symlink() Fails, %s, "
- "errno=%d", test_desc,
- TEST_ERRNO);
- } else {
- tst_resm(TFAIL, "symlink() Fails, %s, "
- "errno=%d, expected errno=%d",
- test_desc, TEST_ERRNO,
- Test_cases[ind].exp_errno);
- }
- } else {
- tst_resm(TFAIL, "symlink() returned %d, "
- "expected -1, errno:%d", TEST_RETURN,
- Test_cases[ind].exp_errno);
- }
- } /* End of TEST CASE LOOPING. */
-
- Tst_count++; /* incr. TEST_LOOP counter */
- } /* End for TEST_LOOPING */
-
- /* Call cleanup() to undo setup done for the test. */
- cleanup();
- /*NOTREACHED*/
-
-} /* End main */
-
-/*
- * void
- * setup() - performs all ONE TIME setup for this test.
- * Create a temporary directory and change directory to it.
- * Call test specific setup functions.
- */
-void
-setup()
-{
- int ind;
- /* capture signals */
- tst_sig(NOFORK, DEF_HANDLER, cleanup);
-
- /* Pause if that option was specified
- * TEST_PAUSE contains the code to fork the test with the -i option.
- * You want to make sure you do this before you create your temporary
- * directory.
- */
- TEST_PAUSE;
-
- /* make a temp directory and cd to it */
- tst_tmpdir();
-
- /* call individual setup functions */
- for (ind = 0; Test_cases[ind].desc != NULL; ind++) {
- Test_cases[ind].setupfunc();
- }
-} /* End setup() */
-
-/*
- * int
- * no_setup() - Some test conditions for mknod(2) do not any setup.
- * Hence, this function just returns 0.
- * This function simply returns 0.
- */
-int
-no_setup()
-{
- return 0;
-}
-
-/*
- * int
- * setup1() - setup function for a test condition for which symlink(2)
- * returns -1 and sets errno to EACCES.
- * Create a test directory under temporary directory and create a test file
- * under this directory with mode "0666" permissions.
- * Modify the mode permissions on test directory such that process will not
- * have search permissions on test directory.
- *
- * The function returns 0.
- */
-int
-setup1()
-{
- int fd; /* file handle for testfile */
-
- if (mkdir(DIR_TEMP, MODE_RWX) < 0) {
- tst_brkm(TBROK, cleanup, "mkdir(2) of %s failed", DIR_TEMP);
- /*NOTREACHED*/
- }
-
- if ((fd = open(TEST_FILE1, O_RDWR|O_CREAT, 0666)) == -1) {
- tst_brkm(TBROK, cleanup,
- "open(%s, O_RDWR|O_CREAT, 0666) failed, errno=%d : %s",
- TEST_FILE1, errno, strerror(errno));
- /*NOTREACHED*/
- }
- if (close(fd) == -1) {
- tst_brkm(TBROK, cleanup,
- "close(%s) Failed, errno=%d : %s",
- TEST_FILE1, errno, strerror(errno));
- /*NOTREACHED*/
- }
-
- /* Modify mode permissions on test directory */
- if (chmod(DIR_TEMP, FILE_MODE) < 0) {
- tst_brkm(TBROK, cleanup, "chmod(2) of %s failed", DIR_TEMP);
- /*NOTREACHED*/
- }
- return 0;
-}
-
-/*
- * int
- * setup2() - EEXIST
- */
-int
-setup2()
-{
- int fd; /* file handle for testfile */
-
- if ((fd = open(TEST_FILE2, O_RDWR|O_CREAT, 0666)) == -1) {
- tst_brkm(TBROK, cleanup,
- "open(%s, O_RDWR|O_CREAT, 0666) failed, errno=%d : %s",
- TEST_FILE1, errno, strerror(errno));
- /*NOTREACHED*/
- }
- if (close(fd) == -1) {
- tst_brkm(TBROK, cleanup,
- "close(%s) Failed, errno=%d : %s",
- TEST_FILE2, errno, strerror(errno));
- /*NOTREACHED*/
- }
-
- if (symlink(TEST_FILE2, SYM_FILE2) < 0) {
- tst_brkm(TBROK, cleanup,
- "symlink() Fails to create %s in setup2, error=%d",
- SYM_FILE2, errno);
- /*NOTREACHED*/
- }
- return 0;
-}
-
-/*
- * int
- * longpath_setup() - setup to create a node with a name length exceeding
- * the MAX. length of PATH_MAX.
- * This function retruns 0.
- */
-int
-longpath_setup()
-{
- int ind; /* counter variable */
-
- for (ind = 0; ind <= (PATH_MAX + 1); ind++) {
- Longpathname[ind] = 'a';
- }
- return 0;
-}
-
-/*
- * int
- * setup3() - setup function for a test condition for which symlink(2)
- * returns -1 and sets errno to ENOTDIR.
- *
- * Create a symlink file under temporary directory so that test tries to
- * create symlink file "tfile_3" under "t_file" which happens to be
- * another symlink file.
- */
-int
-setup3()
-{
- int fd; /* file handle for testfile */
-
- /* Creat/open a testfile and close it */
- if ((fd = open("t_file", O_RDWR|O_CREAT, MODE_RWX)) == -1) {
- tst_brkm(TBROK, cleanup,
- "open(2) on t_file failed, errno=%d : %s",
- errno, strerror(errno));
- /*NOTREACHED*/
- }
- if (close(fd) == -1) {
- tst_brkm(TBROK, cleanup, "close(t_file) Failed, errno=%d : %s",
- errno, strerror(errno));
- /*NOTREACHED*/
- }
- return 0;
-}
-
-/*
- * void
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- * Restore the mode permissions on test directory.
- * Remove the temporary directory created in the setup.
- */
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /* Restore mode permissions on test directory created in setup2() */
- if (chmod(DIR_TEMP, MODE_RWX) < 0) {
- tst_brkm(TBROK, NULL, "chmod(2) of %s failed", DIR_TEMP);
- }
-
- /* Remove tmp dir and all files in it */
- tst_rmdir();
-
- /* exit with return code appropriate for results */
- tst_exit();
-} /* End cleanup() */
diff --git a/winsup/testsuite/winsup.api/ltp/symlink04.c b/winsup/testsuite/winsup.api/ltp/symlink04.c
deleted file mode 100644
index c6ddd0630..000000000
--- a/winsup/testsuite/winsup.api/ltp/symlink04.c
+++ /dev/null
@@ -1,238 +0,0 @@
-/*
- *
- * Copyright (c) International Business Machines Corp., 2001
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-/*
- * Test Name : symlink01
- *
- * Test Description :
- * Verify that, symlink will succeed to creat a symbolic link of an existing
- * object name path.
- *
- * Expected Result:
- * symlink() should return value 0 on success and symbolic link of an
- * existing object should be created.
- *
- * Algorithm:
- * Setup:
- * Setup signal handling.
- * Create temporary directory.
- * Pause for SIGUSR1 if option specified.
- *
- * Test:
- * Loop if the proper options are given.
- * Execute system call
- * Check return code, if system call failed (return=-1)
- * Log the errno and Issue a FAIL message.
- * Otherwise,
- * Verify the Functionality of system call
- * if successful,
- * Issue Functionality-Pass message.
- * Otherwise,
- * Issue Functionality-Fail message.
- * Cleanup:
- * Print errno log and/or timing stats if options given
- * Delete the temporary directory created.
- *
- * Usage: <for command-line>
- * symlink01 [-c n] [-e] [-f] [-i n] [-I x] [-p x] [-t]
- * where, -c n : Run n copies concurrently.
- * -e : Turn on errno logging.
- * -f : Turn off functionality Testing.
- * -i n : Execute test n times.
- * -I x : Execute test for x seconds.
- * -P x : Pause for x seconds between iterations.
- * -t : Turn on syscall timing.
- *
- * History
- * 07/2001 John George
- * -Ported
- *
- * Restrictions:
- * None.
- *
- */
-
-#include <sys/types.h>
-#include <sys/fcntl.h>
-#include <errno.h>
-#include <string.h>
-#include <signal.h>
-#include <sys/stat.h>
-#include "test.h"
-#include "usctest.h"
-
-#define TESTFILE "testfile"
-#define SYMFILE "slink_file"
-#define FILE_MODE S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH
-
-const char *TCID="symlink01"; /* Test program identifier. */
-int TST_TOTAL=1; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-int exp_enos[]={0};
-
-extern void setup(); /* Setup function for the test */
-void cleanup() __attribute__((noreturn));/* Cleanup function for the test */
-
-int
-main(int ac, char **av)
-{
- struct stat stat_buf; /* stat structure buffer */
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
-
- /* Parse standard options given to run the test. */
- msg = parse_opts(ac, av, (option_t *) NULL, NULL);
- if (msg != (char *) NULL) {
- tst_brkm(TBROK, NULL, "OPTION PARSING ERROR - %s", msg);
- tst_exit();
- /*NOTREACHED*/
- }
-
- /* Perform global setup for test */
- setup();
-
- /* set the expected errnos... */
- TEST_EXP_ENOS(exp_enos);
-
- /* Check looping state if -i option given */
- for (lc = 0; TEST_LOOPING(lc); lc++) {
- /* Reset Tst_count in case we are looping. */
- Tst_count=0;
-
- /*
- * Call symlink(2) to create a symlink of
- * testfile.
- */
- TEST(symlink(TESTFILE, SYMFILE));
-
- /* Check return code of symlink(2) */
- if (TEST_RETURN == -1) {
- TEST_ERROR_LOG(TEST_ERRNO);
- tst_resm(TFAIL, "symlink(%s, %s) Failed, errno=%d : %s",
- TESTFILE, SYMFILE, TEST_ERRNO,
- strerror(TEST_ERRNO));
- } else {
- /*
- * Perform functional verification if test
- * executed without (-f) option.
- */
- if (STD_FUNCTIONAL_TEST) {
- /*
- * Get the symlink file status information
- * using lstat(2).
- */
- if (lstat(SYMFILE, &stat_buf) < 0) {
- tst_brkm(TFAIL, cleanup, "lstat(2) of "
- "%s failed, error:%d", SYMFILE,
- errno);
- /*NOTREACHED*/
- }
-
- /* Check if the st_mode contains a link */
- if (!S_ISLNK(stat_buf.st_mode)) {
- tst_resm(TFAIL,
- "symlink of %s doesn't exist",
- TESTFILE);
- } else {
- tst_resm(TPASS, "symlink(%s, %s) "
- "functionality successful",
- TESTFILE, SYMFILE);
- }
- } else {
- tst_resm(TPASS, "Call succeeded");
- }
- }
-
- /* Unlink the symlink file for next loop */
- if (unlink(SYMFILE) == -1) {
- tst_brkm(TBROK, cleanup,
- "unlink(%s) Failed, errno=%d : %s",
- SYMFILE, errno, strerror(errno));
- /*NOTREACHED*/
- }
- Tst_count++; /* incr TEST_LOOP counter */
- } /* End for TEST_LOOPING */
-
- /* Call cleanup() to undo setup done for the test. */
- cleanup();
- /*NOTREACHED*/
-
-} /* End main */
-
-/*
- * void
- * setup() - performs all ONE TIME setup for this test.
- * Create a temporary directory and change directory to it.
- * Create a test file under temporary directory and close it
- */
-void
-setup()
-{
- int fd; /* file handle for testfile */
-
- /* capture signals */
- tst_sig(NOFORK, DEF_HANDLER, cleanup);
-
- /* Pause if that option was specified
- * TEST_PAUSE contains the code to fork the test with the -i option.
- * You want to make sure you do this before you create your temporary
- * directory.
- */
- TEST_PAUSE;
-
- /* make a temp directory and cd to it */
- tst_tmpdir();
-
- /* creat/open a testfile */
- if ((fd = open(TESTFILE, O_RDWR|O_CREAT, FILE_MODE)) == -1) {
- tst_brkm(TBROK, cleanup,
- "open(%s, O_RDWR|O_CREAT, %#o) Failed, errno=%d : %s",
- TESTFILE, FILE_MODE, errno, strerror(errno));
- /*NOTREACHED*/
- }
-
- /* Close the temporary file created above */
- if (close(fd) == -1) {
- tst_resm(TBROK, "close(%s) Failed, errno=%d : %s",
- TESTFILE, errno, strerror(errno));
- }
-} /* End setup() */
-
-
-/*
- * void
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- * Remove the test directory and testfile created in the setup.
- */
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /* Remove tmp dir and all files in it */
- tst_rmdir();
-
- /* exit with return code appropriate for results */
- tst_exit();
-} /* End cleanup() */
diff --git a/winsup/testsuite/winsup.api/ltp/symlink05.c b/winsup/testsuite/winsup.api/ltp/symlink05.c
deleted file mode 100644
index 3b2bbcb8c..000000000
--- a/winsup/testsuite/winsup.api/ltp/symlink05.c
+++ /dev/null
@@ -1,222 +0,0 @@
-/*
- *
- * Copyright (c) International Business Machines Corp., 2001
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-/*
- * Test Name : symlink02
- *
- * Test Description :
- * Verify that, symlink will succeed to creat a symbolic link of an
- * non-existing object name path.
- *
- * Expected Result:
- * symlink() should return value 0 on success and symlink of an
- * non-existing object should be created.
- *
- * Algorithm:
- * Setup:
- * Setup signal handling.
- * Create temporary directory.
- * Pause for SIGUSR1 if option specified.
- *
- * Test:
- * Loop if the proper options are given.
- * Execute system call
- * Check return code, if system call failed (return=-1)
- * Log the errno and Issue a FAIL message.
- * Otherwise,
- * Verify the Functionality of system call
- * if successful,
- * Issue Functionality-Pass message.
- * Otherwise,
- * Issue Functionality-Fail message.
- * Cleanup:
- * Print errno log and/or timing stats if options given
- * Delete the temporary directory created.
- *
- * Usage: <for command-line>
- * symlink02 [-c n] [-e] [-f] [-i n] [-I x] [-p x] [-t]
- * where, -c n : Run n copies concurrently.
- * -e : Turn on errno logging.
- * -f : Turn off functionality Testing.
- * -i n : Execute test n times.
- * -I x : Execute test for x seconds.
- * -P x : Pause for x seconds between iterations.
- * -t : Turn on syscall timing.
- *
- * History
- * 07/2001 John George
- * -Ported
- *
- * Restrictions:
- * This test should be run by 'non-super-user' only.
- *
- */
-
-#include <sys/types.h>
-#include <sys/fcntl.h>
-#include <errno.h>
-#include <string.h>
-#include <signal.h>
-#include <sys/stat.h>
-
-#include "test.h"
-#include "usctest.h"
-
-#define TESTFILE "testfile"
-#define SYMFILE "slink_file"
-
-const char *TCID="symlink02"; /* Test program identifier. */
-int TST_TOTAL=1; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-int exp_enos[]={0};
-
-extern void setup(); /* Setup function for the test */
-void cleanup() __attribute__((noreturn));/* Cleanup function for the test */
-
-int
-main(int ac, char **av)
-{
- struct stat stat_buf; /* stat structure buffer */
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
-
- /* Parse standard options given to run the test. */
- msg = parse_opts(ac, av, (option_t *) NULL, NULL);
- if (msg != (char *) NULL) {
- tst_brkm(TBROK, NULL, "OPTION PARSING ERROR - %s", msg);
- tst_exit();
- /*NOTREACHED*/
- }
-
- /* Perform global setup for test */
- setup();
-
- /* set the expected errnos... */
- TEST_EXP_ENOS(exp_enos);
-
- /* Check looping state if -i option given */
- for (lc = 0; TEST_LOOPING(lc); lc++) {
- /* Reset Tst_count in case we are looping. */
- Tst_count=0;
-
- /*
- * Call symlink(2) to create a symlink of
- * an non-existing testfile.
- */
- TEST(symlink(TESTFILE, SYMFILE));
-
- /* Check return code of symlink(2) */
- if (TEST_RETURN == -1) {
- TEST_ERROR_LOG(TEST_ERRNO);
- tst_resm(TFAIL, \
- "symlink(%s, %s) Failed, errno=%d : %s",
- TESTFILE, SYMFILE, TEST_ERRNO,
- strerror(TEST_ERRNO));
- } else {
- /*
- * Perform functional verification if test
- * executed without (-f) option.
- */
- if (STD_FUNCTIONAL_TEST) {
- /*
- * Get the symlink file status information
- * using lstat(2).
- */
- if (lstat(SYMFILE, &stat_buf) < 0) {
- tst_brkm(TFAIL, cleanup, "lstat(2) of "
- "%s failed, error:%d",
- SYMFILE, errno);
- /*NOTREACHED*/
- }
-
- /* Check if the st_mode contains a link */
- if (!S_ISLNK(stat_buf.st_mode)) {
- tst_resm(TFAIL, \
- "symlink of %s doesn't exist",
- TESTFILE);
- } else {
- tst_resm(TPASS, "symlink(%s, %s) "
- "functionality successful",
- TESTFILE, SYMFILE);
- }
- } else {
- tst_resm(TPASS, "Call succeeded");
- }
- }
-
- /* Unlink the symlink file for next loop */
- if (unlink(SYMFILE) == -1) {
- tst_brkm(TBROK, cleanup,
- "unlink(%s) Failed, errno=%d : %s",
- SYMFILE, errno, strerror(errno));
- }
- Tst_count++; /* incr TEST_LOOP counter */
- } /* End for TEST_LOOPING */
-
- /* Call cleanup() to undo setup done for the test. */
- cleanup();
- /*NOTREACHED*/
-
-} /* End main */
-
-/*
- * void
- * setup() - performs all ONE TIME setup for this test.
- * Create a temporary directory and change directory to it.
- */
-void
-setup()
-{
- /* capture signals */
- tst_sig(NOFORK, DEF_HANDLER, cleanup);
-
- /* Pause if that option was specified
- * TEST_PAUSE contains the code to fork the test with the -i option.
- * You want to make sure you do this before you create your temporary
- * directory.
- */
- TEST_PAUSE;
-
- /* make a temp directory and cd to it */
- tst_tmpdir();
-
-} /* End setup() */
-
-
-/*
- * void
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- * Remove the temporary directory created in the setup.
- */
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /* Remove tmp dir and all files in it */
- tst_rmdir();
-
- /* exit with return code appropriate for results */
- tst_exit();
-} /* End cleanup() */
diff --git a/winsup/testsuite/winsup.api/ltp/sync01.c b/winsup/testsuite/winsup.api/ltp/sync01.c
deleted file mode 100644
index c7df322ea..000000000
--- a/winsup/testsuite/winsup.api/ltp/sync01.c
+++ /dev/null
@@ -1,216 +0,0 @@
-/*
- * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it would be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Further, this software is distributed without any warranty that it is
- * free of the rightful claim of any third person regarding infringement
- * or the like. Any license provided herein, whether implied or
- * otherwise, applies only to this software file. Patent licenses, if
- * any, provided herein do not apply to combinations of this program with
- * other software, or any other product whatsoever.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write the Free Software Foundation, Inc., 59
- * Temple Place - Suite 330, Boston MA 02111-1307, USA.
- *
- * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
- * Mountain View, CA 94043, or:
- *
- * http://www.sgi.com
- *
- * For further information regarding this notice, see:
- *
- * http://oss.sgi.com/projects/GenInfo/NoticeExplan/
- *
- */
-/* $Id$ */
-/**********************************************************
- *
- * OS Test - Silicon Graphics, Inc.
- *
- * TEST IDENTIFIER : sync01
- *
- * EXECUTED BY : anyone
- *
- * TEST TITLE : Basic test for sync(2)
- *
- * PARENT DOCUMENT : usctpl01
- *
- * TEST CASE TOTAL : 1
- *
- * WALL CLOCK TIME : 1
- *
- * CPU TYPES : ALL
- *
- * AUTHOR : William Roske
- *
- * CO-PILOT : Dave Fenner
- *
- * DATE STARTED : 03/30/92
- *
- * INITIAL RELEASE : UNICOS 7.0
- *
- * TEST CASES
- *
- * 1.) sync(2) returns...(See Description)
- *
- * INPUT SPECIFICATIONS
- * The standard options for system call tests are accepted.
- * (See the parse_opts(3) man page).
- *
- * OUTPUT SPECIFICATIONS
- *
- * DURATION
- * Terminates - with frequency and infinite modes.
- *
- * SIGNALS
- * Uses SIGUSR1 to pause before test if option set.
- * (See the parse_opts(3) man page).
- *
- * RESOURCES
- * None
- *
- * ENVIRONMENTAL NEEDS
- * No run-time environmental needs.
- *
- * SPECIAL PROCEDURAL REQUIREMENTS
- * None
- *
- * INTERCASE DEPENDENCIES
- * None
- *
- * DETAILED DESCRIPTION
- * This is a Phase I test for the sync(2) system call. It is intended
- * to provide a limited exposure of the system call, for now. It
- * should/will be extended when full functional tests are written for
- * sync(2).
- *
- * Setup:
- * Setup signal handling.
- * Pause for SIGUSR1 if option specified.
- *
- * Test:
- * Loop if the proper options are given.
- * Execute system call
- * Check return code, if system call failed (return=-1)
- * Log the errno and Issue a FAIL message.
- * Otherwise, Issue a PASS message.
- *
- * Cleanup:
- * Print errno log and/or timing stats if options given
- *
- *
- *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#**/
-
-#include <errno.h>
-#include <string.h>
-#include <signal.h>
-#include "test.h"
-#include "usctest.h"
-
-extern void setup();
-extern void cleanup();
-
-
-
-const char *TCID="sync01"; /* Test program identifier. */
-int TST_TOTAL=1; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-
-int exp_enos[]={0, 0};
-
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
-
- /***************************************************************
- * parse standard options
- ***************************************************************/
- if ( (msg=parse_opts(ac, av, (option_t *) NULL, NULL)) != (char *) NULL )
- tst_brkm(TBROK, cleanup, "OPTION PARSING ERROR - %s", msg);
-
- /***************************************************************
- * perform global setup for test
- ***************************************************************/
- setup();
-
- /* set the expected errnos... */
- TEST_EXP_ENOS(exp_enos);
-
- /***************************************************************
- * check looping state if -c option given
- ***************************************************************/
- for (lc=0; TEST_LOOPING(lc); lc++) {
-
- /* reset Tst_count in case we are looping. */
- Tst_count=0;
-
- /*
- * Call sync(2)
- */
- TEST_VOID(sync());
-
- /* check return code */
- if ( TEST_RETURN == -1 ) {
- TEST_ERROR_LOG(TEST_ERRNO);
- tst_resm(TFAIL, "sync() Failed, errno=%d : %s",
- TEST_ERRNO, strerror(TEST_ERRNO));
- } else {
- /***************************************************************
- * only perform functional verification if flag set (-f not given)
- ***************************************************************/
- if ( STD_FUNCTIONAL_TEST ) {
- /* No Verification test, yet... */
- tst_resm(TPASS, "sync() returned %d", TEST_RETURN);
- }
- }
- } /* End for TEST_LOOPING */
-
- /***************************************************************
- * cleanup and exit
- ***************************************************************/
- cleanup();
-
- return 0;
-} /* End main */
-
-/***************************************************************
- * setup() - performs all ONE TIME setup for this test.
- ***************************************************************/
-void
-setup()
-{
- /* capture signals */
- tst_sig(NOFORK, DEF_HANDLER, cleanup);
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-
-} /* End setup() */
-
-
-/***************************************************************
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- ***************************************************************/
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /* exit with return code appropriate for results */
- tst_exit();
-} /* End cleanup() */
diff --git a/winsup/testsuite/winsup.api/ltp/sync02.c b/winsup/testsuite/winsup.api/ltp/sync02.c
deleted file mode 100644
index 5535e1add..000000000
--- a/winsup/testsuite/winsup.api/ltp/sync02.c
+++ /dev/null
@@ -1,238 +0,0 @@
-/*
- *
- * Copyright (c) International Business Machines Corp., 2001
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-/*
- * Test Name: sync01
- *
- * Test Description:
- * Open a file for write; modify the file, then do a sync().
- * Verify that the data has been written to disk by re-opening the file.
- *
- * Expected Result:
- * sync() alawys returns 0 in Linux. The data written to the file should
- * be updated to the disk.
- *
- * Algorithm:
- * Setup:
- * Setup signal handling.
- * Create temporary directory.
- * Pause for SIGUSR1 if option specified.
- *
- * Test:
- * Loop if the proper options are given.
- * Execute system call
- * Check return code, if system call failed (return=-1)
- * Log the errno and Issue a FAIL message.
- * Otherwise,
- * Verify the Functionality of system call
- * if successful,
- * Issue Functionality-Pass message.
- * Otherwise,
- * Issue Functionality-Fail message.
- * Cleanup:
- * Print errno log and/or timing stats if options given
- * Delete the temporary directory created.
- *
- * Usage: <for command-line>
- * sync01 [-c n] [-f] [-i n] [-I x] [-p x] [-t]
- * where, -c n : Run n copies concurrently.
- * -f : Turn off functionality Testing.
- * -i n : Execute test n times.
- * -I x : Execute test for x seconds.
- * -P x : Pause for x seconds between iterations.
- * -t : Turn on syscall timing.
- *
- * History
- * 07/2001 John George
- * -Ported
- *
- * Restrictions:
- * None.
- */
-
-#include <sys/types.h>
-#include <errno.h>
-#include <fcntl.h>
-#include <string.h>
-#include <signal.h>
-#include <sys/stat.h>
-
-#include "test.h"
-#include "usctest.h"
-
-#define TEMP_FILE "temp_file"
-#define FILE_MODE S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH
-
-const char *TCID="sync01"; /* Test program identifier. */
-int TST_TOTAL=1; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-char write_buffer[BUFSIZ]; /* buffer used to write data to file*/
-int fildes; /* file descriptor for temporary file */
-
-void setup(); /* Main setup function of test */
-void cleanup(void) __attribute__((noreturn)); /* cleanup function for the test */
-
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
- char read_buffer[BUFSIZ]; /* buffer used to read data from file*/
-
- /* Parse standard options given to run the test. */
- msg = parse_opts(ac, av, (option_t *) NULL, NULL);
- if (msg != (char *) NULL) {
- tst_brkm(TBROK, cleanup, "OPTION PARSING ERROR - %s", msg);
- /*NOTREACHED*/
- }
-
- /* Perform global setup for test */
- setup();
-
- /* Check looping state if -i option given */
- for (lc = 0; TEST_LOOPING(lc); lc++) {
- /* Reset Tst_count in case we are looping. */
- Tst_count=0;
-
- /*
- * Call sync(2) to commit buffer data to disk.
- */
- TEST_VOID(sync());
-
- if (TEST_RETURN == -1) {
- tst_resm(TFAIL, "%s, Failed, errno=%d : %s",
- TCID, TEST_ERRNO, strerror(TEST_ERRNO));
- } else {
- /*
- * Perform functional verification if test
- * executed without (-f) option.
- */
- if (STD_FUNCTIONAL_TEST) {
- /* Set the file ptr to b'nning of file */
- if (lseek(fildes, 0, SEEK_SET) < 0) {
- tst_brkm(TFAIL, cleanup, "lseek() "
- "failed on %s, error=%d",
- TEMP_FILE, errno);
- /*NOTREACHED*/
- }
-
- /* Read the contents of file */
- if (read(fildes, read_buffer, \
- sizeof(read_buffer)) > 0) {
- if (memcmp(read_buffer, write_buffer, strlen(write_buffer))) {
- tst_resm(TFAIL, "Data read "
- "from %s doesn't match "
- "with witten data",
- TEMP_FILE);
- } else {
- tst_resm(TPASS, "Functionality "
- "of sync() successful");
- }
- } else {
- tst_brkm(TFAIL, cleanup,
- "read() Fails on %s, error=%d",
- TEMP_FILE, errno);
- /*NOTREACHED*/
- }
- } else {
- tst_resm(TPASS, "call succeeded");
- }
- }
- Tst_count++; /* incr. TEST_LOOP counter */
- } /* End for TEST_LOOPING */
-
- /* Call cleanup() to undo setup done for the test. */
- cleanup();
- /*NOTREACHED*/
-
-} /* End main */
-
-/*
- * void
- * setup() - performs all ONE TIME setup for this test.
- * Create a temporary directory and change directory to it.
- * Create a test file under temporary directory and write some
- * data into it.
- */
-void
-setup()
-{
- /* capture signals */
- tst_sig(NOFORK, DEF_HANDLER, cleanup);
-
- /* Pause if that option was specified
- * TEST_PAUSE contains the code to fork the test with the -i option.
- * You want to make sure you do this before you create your temporary
- * directory.
- */
- TEST_PAUSE;
-
- /* make a temp directory and cd to it */
- tst_tmpdir();
-
- /* Copy some data into data buffer */
- strcpy(write_buffer, "abcdefghijklmnopqrstuvwxyz");
-
- /* Creat a temporary file under above directory */
- if ((fildes = open(TEMP_FILE, O_RDWR | O_CREAT, FILE_MODE)) == -1) {
- tst_brkm(TBROK, cleanup,
- "open(%s, O_RDWR | O_CREAT, %#o) Failed, errno=%d :%s",
- TEMP_FILE, FILE_MODE, errno, strerror(errno));
- /*NOTREACHED*/
- }
-
- /* Write the buffer data into file */
- if (write(fildes, write_buffer, strlen(write_buffer)) != \
- (int)strlen(write_buffer)) {
- tst_brkm(TBROK, cleanup,
- "write() failed to write buffer data to %s",
- TEMP_FILE);
- /*NOTREACHED*/
- }
-
-} /* End setup() */
-
-/*
- * void
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- * Remove the test directory and testfile created in the setup.
- */
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /* Close the temporary file */
- if (close(fildes) == -1) {
- tst_brkm(TFAIL, NULL,
- "close(%s) Failed, errno=%d : %s",
- TEMP_FILE, errno, strerror(errno));
- }
-
- /* Remove tmp dir and all files in it */
- tst_rmdir();
-
- /* exit with return code appropriate for results */
- tst_exit();
-} /* End cleanup() */
diff --git a/winsup/testsuite/winsup.api/ltp/time01.c b/winsup/testsuite/winsup.api/ltp/time01.c
deleted file mode 100644
index c5658e260..000000000
--- a/winsup/testsuite/winsup.api/ltp/time01.c
+++ /dev/null
@@ -1,218 +0,0 @@
-/*
- * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it would be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Further, this software is distributed without any warranty that it is
- * free of the rightful claim of any third person regarding infringement
- * or the like. Any license provided herein, whether implied or
- * otherwise, applies only to this software file. Patent licenses, if
- * any, provided herein do not apply to combinations of this program with
- * other software, or any other product whatsoever.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write the Free Software Foundation, Inc., 59
- * Temple Place - Suite 330, Boston MA 02111-1307, USA.
- *
- * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
- * Mountain View, CA 94043, or:
- *
- * http://www.sgi.com
- *
- * For further information regarding this notice, see:
- *
- * http://oss.sgi.com/projects/GenInfo/NoticeExplan/
- *
- */
-/* $Id$ */
-/**********************************************************
- *
- * OS Test - Silicon Graphics, Inc.
- *
- * TEST IDENTIFIER : time01
- *
- * EXECUTED BY : anyone
- *
- * TEST TITLE : Basic test for time(2)
- *
- * PARENT DOCUMENT : usctpl01
- *
- * TEST CASE TOTAL : 1
- *
- * WALL CLOCK TIME : 1
- *
- * CPU TYPES : ALL
- *
- * AUTHOR : William Roske
- *
- * CO-PILOT : Dave Fenner
- *
- * DATE STARTED : 03/30/92
- *
- * INITIAL RELEASE : UNICOS 7.0
- *
- * TEST CASES
- *
- * 1.) time(2) returns...(See Description)
- *
- * INPUT SPECIFICATIONS
- * The standard options for system call tests are accepted.
- * (See the parse_opts(3) man page).
- *
- * OUTPUT SPECIFICATIONS
- *
- * DURATION
- * Terminates - with frequency and infinite modes.
- *
- * SIGNALS
- * Uses SIGUSR1 to pause before test if option set.
- * (See the parse_opts(3) man page).
- *
- * RESOURCES
- * None
- *
- * ENVIRONMENTAL NEEDS
- * No run-time environmental needs.
- *
- * SPECIAL PROCEDURAL REQUIREMENTS
- * None
- *
- * INTERCASE DEPENDENCIES
- * None
- *
- * DETAILED DESCRIPTION
- * This is a Phase I test for the time(2) system call. It is intended
- * to provide a limited exposure of the system call, for now. It
- * should/will be extended when full functional tests are written for
- * time(2).
- *
- * Setup:
- * Setup signal handling.
- * Pause for SIGUSR1 if option specified.
- *
- * Test:
- * Loop if the proper options are given.
- * Execute system call
- * Check return code, if system call failed (return=-1)
- * Log the errno and Issue a FAIL message.
- * Otherwise, Issue a PASS message.
- *
- * Cleanup:
- * Print errno log and/or timing stats if options given
- *
- *
- *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#**/
-
-#include <errno.h>
-#include <string.h>
-#include <signal.h>
-#include <time.h>
-#include "test.h"
-#include "usctest.h"
-
-extern void setup();
-extern void cleanup();
-
-
-
-const char *TCID="time01"; /* Test program identifier. */
-int TST_TOTAL=1; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-
-int exp_enos[]={0, 0};
-
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
-
- /***************************************************************
- * parse standard options
- ***************************************************************/
- if ( (msg=parse_opts(ac, av, (option_t *) NULL, NULL)) != (char *) NULL )
- tst_brkm(TBROK, cleanup, "OPTION PARSING ERROR - %s", msg);
-
- /***************************************************************
- * perform global setup for test
- ***************************************************************/
- setup();
-
- /* set the expected errnos... */
- TEST_EXP_ENOS(exp_enos);
-
- /***************************************************************
- * check looping state if -c option given
- ***************************************************************/
- for (lc=0; TEST_LOOPING(lc); lc++) {
-
- /* reset Tst_count in case we are looping. */
- Tst_count=0;
-
- /*
- * Call time(2)
- */
- TEST(time(0));
-
- /* check return code */
- if ( TEST_RETURN == -1 ) {
- TEST_ERROR_LOG(TEST_ERRNO);
- tst_resm(TFAIL, "time(0) Failed, errno=%d : %s",
- TEST_ERRNO, strerror(TEST_ERRNO));
- } else {
- /***************************************************************
- * only perform functional verification if flag set (-f not given)
- ***************************************************************/
- if ( STD_FUNCTIONAL_TEST ) {
- /* No Verification test, yet... */
- tst_resm(TPASS, "time(0) returned %d", TEST_RETURN);
- }
- }
- } /* End for TEST_LOOPING */
-
- /***************************************************************
- * cleanup and exit
- ***************************************************************/
- cleanup();
-
- return 0;
-} /* End main */
-
-/***************************************************************
- * setup() - performs all ONE TIME setup for this test.
- ***************************************************************/
-void
-setup()
-{
- void trapper();
-
- /* capture signals */
- tst_sig(NOFORK, DEF_HANDLER, cleanup);
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-} /* End setup() */
-
-
-/***************************************************************
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- ***************************************************************/
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /* exit with return code appropriate for results */
- tst_exit();
-} /* End cleanup() */
diff --git a/winsup/testsuite/winsup.api/ltp/time02.c b/winsup/testsuite/winsup.api/ltp/time02.c
deleted file mode 100644
index 011546e8f..000000000
--- a/winsup/testsuite/winsup.api/ltp/time02.c
+++ /dev/null
@@ -1,182 +0,0 @@
-/*
- *
- * Copyright (c) International Business Machines Corp., 2001
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-/*
- * Test Name: time01
- *
- * Test Description:
- * Verify that time(2) returns the value of time in seconds since
- * the Epoch and stores this value in the memory pointed to by the parameter.
- *
- * Expected Result:
- * time() should return the time (seconds) since the Epoch and this value
- * should be equal to the value stored in the specified parameter.
- *
- * Algorithm:
- * Setup:
- * Setup signal handling.
- * Create temporary directory.
- * Pause for SIGUSR1 if option specified.
- *
- * Test:
- * Loop if the proper options are given.
- * Execute system call
- * Check return code, if system call failed (return=-1)
- * Log the errno and Issue a FAIL message.
- * Otherwise,
- * Verify the Functionality of system call
- * if successful,
- * Issue Functionality-Pass message.
- * Otherwise,
- * Issue Functionality-Fail message.
- * Cleanup:
- * Print errno log and/or timing stats if options given
- *
- * Usage: <for command-line>
- * time01 [-c n] [-e] [-f] [-i n] [-I x] [-p x] [-t]
- * where, -c n : Run n copies concurrently.
- * -e : Turn on errno logging.
- * -f : Turn off functionality Testing.
- * -i n : Execute test n times.
- * -I x : Execute test for x seconds.
- * -P x : Pause for x seconds between iterations.
- * -t : Turn on syscall timing.
- *
- * History
- * 07/2001 John George
- * -Ported
- *
- * Restrictions:
- * None.
- *
- */
-
-#include <errno.h>
-#include <string.h>
-#include <signal.h>
-#include <time.h>
-#include <sys/types.h>
-
-#include "test.h"
-#include "usctest.h"
-
-extern void setup(); /* setup function for the test */
-void cleanup(void) __attribute__((noreturn));/* cleanup function for the test */
-
-const char *TCID="time01"; /* Test program identifier. */
-int TST_TOTAL = 1; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-int exp_enos[]={0};
-
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
- time_t tloc; /* time_t variables for time(2) */
-
-
- /* Parse standard options given to run the test. */
- msg = parse_opts(ac, av, (option_t *) NULL, NULL);
- if (msg != (char *) NULL) {
- tst_brkm(TBROK, NULL, "OPTION PARSING ERROR - %s", msg);
- tst_exit();
- }
-
- /* Perform global setup for test */
- setup();
-
- /* set the expected errnos... */
- TEST_EXP_ENOS(exp_enos);
-
- /* Check looping state if -i option given */
- for (lc=0; TEST_LOOPING(lc); lc++) {
- /* Reset Tst_count in case we are looping. */
- Tst_count=0;
-
- /*
- * Call time() to get the time in seconds
- * since Epoch.
- */
- TEST(time(&tloc));
-
- /* Check return code from time(2) */
- if (TEST_RETURN == -1) {
- TEST_ERROR_LOG(TEST_ERRNO);
- tst_resm(TFAIL, "time(0) Failed, errno=%d : %s",
- TEST_ERRNO, strerror(TEST_ERRNO));
- } else {
- /*
- * Perform functional verification if test executed
- * without (-f) option.
- */
- if (STD_FUNCTIONAL_TEST) {
- if (tloc == TEST_RETURN) {
- tst_resm(TPASS, "time() returned value "
- "%d, stored value %d are same",
- TEST_RETURN, tloc);
- } else {
- tst_resm(TFAIL, "time() returned value "
- "%d, stored value %d are "
- "different", TEST_RETURN, tloc);
- }
- } else {
- tst_resm(TPASS, "call succeeded");
- }
-
- }
- Tst_count++; /* incr. TEST_LOOP counter */
- } /* End for TEST_LOOPING */
-
- /* cleanup and exit */
- cleanup();
- /*NOTREACHED*/
-
-} /* End main */
-
-/*
- * setup() - performs all ONE TIME setup for this test.
- */
-void
-setup()
-{
- /* capture signals */
- tst_sig(NOFORK, DEF_HANDLER, cleanup);
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-} /* End setup() */
-
-
-/*
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- */
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /* exit with return code appropriate for results */
- tst_exit();
-} /* End cleanup() */
diff --git a/winsup/testsuite/winsup.api/ltp/times01.c b/winsup/testsuite/winsup.api/ltp/times01.c
deleted file mode 100644
index a1bd1d838..000000000
--- a/winsup/testsuite/winsup.api/ltp/times01.c
+++ /dev/null
@@ -1,222 +0,0 @@
-/*
- * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it would be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Further, this software is distributed without any warranty that it is
- * free of the rightful claim of any third person regarding infringement
- * or the like. Any license provided herein, whether implied or
- * otherwise, applies only to this software file. Patent licenses, if
- * any, provided herein do not apply to combinations of this program with
- * other software, or any other product whatsoever.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write the Free Software Foundation, Inc., 59
- * Temple Place - Suite 330, Boston MA 02111-1307, USA.
- *
- * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
- * Mountain View, CA 94043, or:
- *
- * http://www.sgi.com
- *
- * For further information regarding this notice, see:
- *
- * http://oss.sgi.com/projects/GenInfo/NoticeExplan/
- *
- */
-/* $Id$ */
-/**********************************************************
- *
- * OS Test - Silicon Graphics, Inc.
- *
- * TEST IDENTIFIER : times01
- *
- * EXECUTED BY : anyone
- *
- * TEST TITLE : Basic test for times(2)
- *
- * PARENT DOCUMENT : usctpl01
- *
- * TEST CASE TOTAL : 1
- *
- * WALL CLOCK TIME : 1
- *
- * CPU TYPES : ALL
- *
- * AUTHOR : William Roske
- *
- * CO-PILOT : Dave Fenner
- *
- * DATE STARTED : 03/30/92
- *
- * INITIAL RELEASE : UNICOS 7.0
- *
- * TEST CASES
- *
- * 1.) times(2) returns...(See Description)
- *
- * INPUT SPECIFICATIONS
- * The standard options for system call tests are accepted.
- * (See the parse_opts(3) man page).
- *
- * OUTPUT SPECIFICATIONS
- *
- * DURATION
- * Terminates - with frequency and infinite modes.
- *
- * SIGNALS
- * Uses SIGUSR1 to pause before test if option set.
- * (See the parse_opts(3) man page).
- *
- * RESOURCES
- * None
- *
- * ENVIRONMENTAL NEEDS
- * No run-time environmental needs.
- *
- * SPECIAL PROCEDURAL REQUIREMENTS
- * None
- *
- * INTERCASE DEPENDENCIES
- * None
- *
- * DETAILED DESCRIPTION
- * This is a Phase I test for the times(2) system call. It is intended
- * to provide a limited exposure of the system call, for now. It
- * should/will be extended when full functional tests are written for
- * times(2).
- *
- * Setup:
- * Setup signal handling.
- * Pause for SIGUSR1 if option specified.
- *
- * Test:
- * Loop if the proper options are given.
- * Execute system call
- * Check return code, if system call failed (return=-1)
- * Log the errno and Issue a FAIL message.
- * Otherwise, Issue a PASS message.
- *
- * Cleanup:
- * Print errno log and/or timing stats if options given
- *
- *
- *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#**/
-
-#include <sys/types.h>
-#include <sys/times.h>
-#include <errno.h>
-#include <string.h>
-#include <signal.h>
-#include "test.h"
-#include "usctest.h"
-
-extern void setup();
-extern void cleanup();
-
-
-
-const char *TCID="times01"; /* Test program identifier. */
-int TST_TOTAL=1; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-
-int exp_enos[]={0, 0};
-
-struct tms mytimes;
-
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
-
- /***************************************************************
- * parse standard options
- ***************************************************************/
- if ( (msg=parse_opts(ac, av, (option_t *) NULL, NULL)) != (char *) NULL )
- tst_brkm(TBROK, cleanup, "OPTION PARSING ERROR - %s", msg);
-
- /***************************************************************
- * perform global setup for test
- ***************************************************************/
- setup();
-
- /* set the expected errnos... */
- TEST_EXP_ENOS(exp_enos);
-
- /***************************************************************
- * check looping state if -c option given
- ***************************************************************/
- for (lc=0; TEST_LOOPING(lc); lc++) {
-
- /* reset Tst_count in case we are looping. */
- Tst_count=0;
-
- /*
- * Call times(2)
- */
- TEST(times(&mytimes));
-
- /* check return code */
- if ( TEST_RETURN == -1 ) {
- TEST_ERROR_LOG(TEST_ERRNO);
- tst_resm(TFAIL, "times(&mytimes) Failed, errno=%d : %s",
- TEST_ERRNO, strerror(TEST_ERRNO));
- } else {
- /***************************************************************
- * only perform functional verification if flag set (-f not given)
- ***************************************************************/
- if ( STD_FUNCTIONAL_TEST ) {
- /* No Verification test, yet... */
- tst_resm(TPASS, "times(&mytimes) returned %d", TEST_RETURN);
- }
- }
-
- } /* End for TEST_LOOPING */
-
- /***************************************************************
- * cleanup and exit
- ***************************************************************/
- cleanup();
-
- return 0;
-} /* End main */
-
-/***************************************************************
- * setup() - performs all ONE TIME setup for this test.
- ***************************************************************/
-void
-setup()
-{
- void trapper();
-
- /* capture signals */
- tst_sig(NOFORK, DEF_HANDLER, cleanup);
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-} /* End setup() */
-
-
-/***************************************************************
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- ***************************************************************/
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /* exit with return code appropriate for results */
- tst_exit();
-} /* End cleanup() */
diff --git a/winsup/testsuite/winsup.api/ltp/times02.c b/winsup/testsuite/winsup.api/ltp/times02.c
deleted file mode 100644
index 1dae36c5a..000000000
--- a/winsup/testsuite/winsup.api/ltp/times02.c
+++ /dev/null
@@ -1,136 +0,0 @@
-/*
- *
- * Copyright (c) International Business Machines Corp., 2001
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-/*
- * NAME
- * times02.c
- *
- * DESCRIPTION
- * Testcase to test that times() sets errno correctly
- *
- * ALGORITHM
- * block1: Pass an invalid address as the "tms" structure, and expect
- * that times() would return EFAULT.
- *
- * USAGE: <for command-line>
- * times02 [-c n] [-e] [-i n] [-I x] [-P x] [-t]
- * where, -c n : Run n copies concurrently.
- * -e : Turn on errno logging.
- * -i n : Execute test n times.
- * -I x : Execute test for x seconds.
- * -P x : Pause for x seconds between iterations.
- * -t : Turn on syscall timing.
- *
- * History
- * 07/2001 John George
- * -Ported
- *
- * Restrictions
- * NONE
- */
-
-#include <sys/times.h>
-#include <errno.h>
-#include <test.h>
-#include <usctest.h>
-
-const char *TCID = "times02";
-int TST_TOTAL = 1;
-extern int Tst_count;
-int exp_enos[]={EFAULT, 0};
-
-void setup(void);
-void cleanup(void) __attribute__((noreturn));
-
-int
-main(int argc, char **argv)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
-
- /* parse standard options */
- if ((msg = parse_opts(argc, argv, (option_t *)NULL, NULL)) !=
- (char *)NULL) {
- tst_brkm(TBROK, cleanup, "OPTION PARSING ERROR - %s", msg);
- /*NOTREACHED*/
- }
-
- setup();
-
- /* check for looping state if -i option is given */
- for (lc = 0; TEST_LOOPING(lc); lc++) {
- /* reset Tst_count in case we are looping */
- Tst_count = 0;
-
- TEST(times((void *)-1));
- if (TEST_RETURN == -1) {
- TEST_ERROR_LOG(TEST_ERRNO);
- if (errno != EFAULT) {
- tst_resm(TFAIL, "Expected EFAULT, got %d",
- errno);
- } else {
- tst_resm(TPASS, "Received EFAULT as expected");
- }
-
- } else {
- tst_resm(TFAIL, "times(2) failed to FAIL");
- }
-
- }
- cleanup();
- /*NOTREACHED*/
-}
-
-/*
- * setup()
- * performs all ONE TIME setup for this test
- */
-void
-setup(void)
-{
- /* capture signals */
- tst_sig(FORK, DEF_HANDLER, cleanup);
-
- /* set the expected errnos... */
- TEST_EXP_ENOS(exp_enos);
-
- /* Pause if that option was specified
- * TEST_PAUSE contains the code to fork the test with the -c option.
- */
- TEST_PAUSE;
-}
-
-/*
- * cleanup()
- * performs all ONE TIME cleanup for this test at
- * completion or premature exit
- */
-void
-cleanup(void)
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /* exit with return code appropriate for results */
- tst_exit();
- /*NOTREACHED*/
-}
diff --git a/winsup/testsuite/winsup.api/ltp/times03.c b/winsup/testsuite/winsup.api/ltp/times03.c
deleted file mode 100644
index 453d311cc..000000000
--- a/winsup/testsuite/winsup.api/ltp/times03.c
+++ /dev/null
@@ -1,247 +0,0 @@
-/*
- *
- * Copyright (c) International Business Machines Corp., 2001
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-/*
- * NAME
- * times01.c
- *
- * DESCRIPTION
- * Testcase to check the basic functionality of the times() system call.
- *
- * ALGORITHM
- * This testcase checks the values that times(2) system call returns.
- * Start a process, and spend some CPU time by performing a spin in
- * a for-loop. Then use the times() system call, to determine the
- * cpu time/sleep time, and other statistics.
- *
- * USAGE: <for command-line>
- * times01 [-c n] [-f] [-P x] [-t]
- * where, -c n : Run n copies concurrently.
- * -f : Turn off functionality Testing.
- * -P x : Pause for x seconds between iterations.
- * -t : Turn on syscall timing.
- *
- * History
- * 07/2001 John George
- * -Ported
- *
- * Restrictions
- * NONE
- */
-
-#include <sys/types.h>
-#include <sys/times.h>
-#include <errno.h>
-#include <sys/wait.h>
-#include <test.h>
-#include <usctest.h>
-
-const char *TCID = "times01";
-int TST_TOTAL = 1;
-extern int Tst_count;
-int exp_enos[]={0};
-
-void setup(void);
-void cleanup(void) __attribute__((noreturn));
-
-int
-main(int argc, char **argv)
-{
- const char *msg; /* message returned from parse_opts */
-
- struct tms buf1, buf2;
- time_t start_time, end_time;
- int i, pid2, status, fail=0;
-
- /* parse standard options */
- if ((msg = parse_opts(argc, argv, (option_t *)NULL, NULL)) !=
- (char *)NULL) {
- tst_brkm(TBROK, cleanup, "OPTION PARSING ERROR - %s", msg);
- /*NOTREACHED*/
- }
-
- setup();
-
-
- for (i = 0; i < 1000000; i++);
- /*
- * At least some CPU time must be used. This is
- * achieved by executing the times(2) call for
- * atleast 5 secs. This logic makes it independant
- * of the processor speed.
- */
- start_time = time(NULL);
- for (;;) {
- if (times(&buf1) == (clock_t)-1) {
- TEST_ERROR_LOG(errno);
- tst_resm(TFAIL, "Call to times(2) "
- "failed, errno = %d", errno);
- }
- end_time = time(NULL);
- if ((end_time - start_time) > 5) {
- break;
- }
- }
- if (times(&buf1) == (clock_t)-1) {
- TEST_ERROR_LOG(errno);
- tst_resm(TFAIL, "Call to times(2) failed, "
- "errno = %d", errno);
- } else {
- /*
- * Perform functional verification if test
- * executed without (-f) option.
- */
- if (STD_FUNCTIONAL_TEST) {
- if (buf1.tms_utime == 0) {
- tst_resm(TFAIL, "Error: times() report "
- "0 user time");
- fail=1;
- }
- if (buf1.tms_stime == 0) {
- tst_resm(TFAIL, "Error: times() report "
- "0 system time");
- fail=1;
- }
- if (buf1.tms_cutime != 0) {
- tst_resm(TFAIL, "Error: times() report "
- "%d child user time",
- buf1.tms_cutime);
- fail=1;
- }
- if (buf1.tms_cstime != 0) {
- tst_resm(TFAIL, "Error: times() report " "%d child system time",
- buf1.tms_cstime);
- fail=1;
- }
-
- pid2 = fork();
- if (pid2 < 0) {
- tst_brkm(TFAIL, cleanup, "Fork failed");
- /*NOTREACHED*/
- } else if (pid2 == 0) {
- for (i = 0; i < 2000000; i++);
- /*
- * Atleast some CPU time must be used
- * even in the child process (thereby
- * making it independent of the
- * processor speed). In fact the child
- * uses twice as much CPU time.
- */
- start_time = time(NULL);
- for (;;) {
- if (times(&buf2) == (clock_t)-1) {
- tst_resm(TFAIL,
- "Call to times "
- "failed, "
- "errno = %d",
- errno);
- exit(1);
- }
- end_time = time(NULL);
- if ((end_time - start_time)
- > 10) {
- break;
- }
- }
- exit(0);
- }
- waitpid(pid2, &status, 0);
- if (WEXITSTATUS(status) != 0) {
- tst_resm(TFAIL, "Call to times(2) "
- "failed in child");
- }
- if (times(&buf2) == (clock_t)-1) {
- TEST_ERROR_LOG(TEST_ERRNO);
- tst_resm(TFAIL, "Call to times failed "
- "errno = %d", errno);
- fail=1;
- }
- if (buf1.tms_utime > buf2.tms_utime) {
- tst_resm(TFAIL, "Error: parents's "
- "user time(%d) before child "
- "> parent's user time (%d) "
- "after child",
- buf1.tms_utime,
- buf2.tms_utime);
- fail=1;
- }
- if (buf2.tms_cutime == 0) {
- tst_resm(TFAIL, "Error: times() "
- "report %d child user "
- "time should be > than "
- "zero", buf2.tms_cutime);
- fail=1;
- }
- if (buf2.tms_cstime == 0) {
- tst_resm(TFAIL, "Error: times() "
- "report %d child system time "
- "should be > than zero",
- buf2.tms_cstime);
- fail=1;
- }
- if (fail == 0) {
- tst_resm(TPASS, "%s: Functionality "
- "test passed", TCID);
- }
-
- } else {
- tst_resm(TPASS, "%s call succeeded", TCID);
- }
- }
- cleanup();
- /*NOTREACHED*/
-}
-
-/*
- * setup()
- * performs all ONE TIME setup for this test
- */
-void
-setup(void)
-{
- /* capture signals */
- tst_sig(FORK, DEF_HANDLER, cleanup);
-
- /* set the expected errnos... */
- TEST_EXP_ENOS(exp_enos);
-
- /* Pause if that option was specified
- * TEST_PAUSE contains the code to fork the test with the -c option.
- */
- TEST_PAUSE;
-}
-
-/*
- * cleanup()
- * performs all ONE TIME cleanup for this test at
- * completion or premature exit
- */
-void
-cleanup(void)
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /* exit with return code appropriate for results */
- tst_exit();
- /*NOTREACHED*/
-}
diff --git a/winsup/testsuite/winsup.api/ltp/truncate01.c b/winsup/testsuite/winsup.api/ltp/truncate01.c
deleted file mode 100644
index 1e2931605..000000000
--- a/winsup/testsuite/winsup.api/ltp/truncate01.c
+++ /dev/null
@@ -1,262 +0,0 @@
-/*
- *
- * Copyright (c) International Business Machines Corp., 2001
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-/*
- * Test Name: truncate01
- *
- * Test Description:
- * Verify that, truncate(2) succeeds to truncate a file to a specified
- * length.
- *
- * Expected Result:
- * truncate(2) should return a value 0 and the length of the file after
- * truncation should be equal to the length it is truncated to.
- *
- * Algorithm:
- * Setup:
- * Setup signal handling.
- * Create temporary directory.
- * Pause for SIGUSR1 if option specified.
- *
- * Test:
- * Loop if the proper options are given.
- * Execute system call
- * Check return code, if system call failed (return=-1)
- * Log the errno and Issue a FAIL message.
- * Otherwise,
- * Verify the Functionality of system call
- * if successful,
- * Issue Functionality-Pass message.
- * Otherwise,
- * Issue Functionality-Fail message.
- * Cleanup:
- * Print errno log and/or timing stats if options given
- * Delete the temporary directory created.
- *
- * Usage: <for command-line>
- * truncate01 [-c n] [-e] [-f] [-i n] [-I x] [-p x] [-t]
- * where, -c n : Run n copies concurrently.
- * -e : Turn on errno logging.
- * -f : Turn off functionality Testing.
- * -i n : Execute test n times.
- * -I x : Execute test for x seconds.
- * -P x : Pause for x seconds between iterations.
- * -t : Turn on syscall timing.
- *
- * History
- * 07/2001 John George
- * -Ported
- *
- * Restrictions:
- * This test should be run by 'non-super-user' only.
- *
- */
-
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <sys/fcntl.h>
-#include <errno.h>
-#include <string.h>
-#include <signal.h>
-
-#include "test.h"
-#include "usctest.h"
-
-#define TESTFILE "testfile" /* file under test */
-#define FILE_MODE S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH
-#define BUF_SIZE 256 /* buffer size */
-#define FILE_SIZE 1024 /* test file size */
-#define TRUNC_LEN 256 /* truncation length */
-
-const char *TCID="truncate01"; /* Test program identifier. */
-int TST_TOTAL=1; /* Total number of test conditions */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-int exp_enos[]={0};
-
-void setup(); /* setup function for the test */
-void cleanup(void) __attribute__((noreturn)); /* cleanup function for the test */
-
-int
-main(int ac, char **av)
-{
- struct stat stat_buf; /* stat(2) struct contents */
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
- off_t file_length; /* test file length */
-
- /* Parse standard options given to run the test. */
- msg = parse_opts(ac, av, (option_t *) NULL, NULL);
- if (msg != (char *) NULL) {
- tst_brkm(TBROK, NULL, "OPTION PARSING ERROR - %s", msg);
- tst_exit();
- }
-
- /* Perform global setup for test */
- setup();
-
- /* set the expected errnos... */
- TEST_EXP_ENOS(exp_enos);
-
- /* Check looping state if -i option given */
- for (lc = 0; TEST_LOOPING(lc); lc++) {
- /* Reset Tst_count in case we are looping. */
- Tst_count = 0;
-
- /*
- * Call truncate(2) to truncate a test file to a
- * specified length.
- */
- TEST(truncate(TESTFILE, TRUNC_LEN));
-
- /* check return code of truncate(2) */
- if (TEST_RETURN == -1) {
- TEST_ERROR_LOG(TEST_ERRNO);
- tst_resm(TFAIL,
- "truncate(%s, %d) Failed, errno=%d : %s",
- TESTFILE, TRUNC_LEN, TEST_ERRNO,
- strerror(TEST_ERRNO));
- } else {
- /*
- * Perform functional verification if test
- * executed without (-f) option.
- */
- if (STD_FUNCTIONAL_TEST) {
- /*
- * Get the testfile information using
- * stat(2).
- */
- if (stat(TESTFILE, &stat_buf) < 0) {
- tst_brkm(TFAIL, cleanup, "stat(2) of "
- "%s failed, error:%d",
- TESTFILE, errno);
- /*NOTREACHED*/
- }
- stat_buf.st_mode &= ~S_IFREG;
- file_length = stat_buf.st_size;
-
- /*
- * Check for expected size of testfile after
- * truncate(2) on it.
- */
- if (file_length != TRUNC_LEN) {
- tst_resm(TFAIL, "%s: Incorrect file "
- "size %d, Expected %d",
- TESTFILE, file_length,
- TRUNC_LEN);
- } else {
- tst_resm(TPASS, "Functionality of "
- "truncate(%s, %d) successful",
- TESTFILE, TRUNC_LEN);
- }
- } else {
- tst_resm(TPASS, "%s call succeeded", TCID);
- }
- }
- Tst_count++; /* incr TEST_LOOP counter */
- } /* End for TEST_LOOPING */
-
- /* Call cleanup() to undo setup done for the test. */
- cleanup();
- /*NOTREACHED*/
-
-} /* End main */
-
-/*
- * void
- * setup() - performs all ONE TIME setup for this test.
- * Create a temporary directory and change directory to it.
- * Fill the buffer with some arbitrary data to be written to a file.
- * Create a test file under temporary directory and close it
- * write arbitrary data into testfile.
- */
-void
-setup()
-{
- int fd, i; /* file handler for testfile */
- int c, c_total = 0; /* no. bytes to be written to file */
- char tst_buff[BUF_SIZE]; /* buffer to hold data */
-
- /* capture signals */
- tst_sig(FORK, DEF_HANDLER, cleanup);
-
-
- /* Pause if that option was specified
- * TEST_PAUSE contains the code to fork the test with the -i option.
- * You want to make sure you do this before you create your temporary
- * directory.
- */
- TEST_PAUSE;
-
- /* make a temp directory and cd to it */
- tst_tmpdir();
-
- /* Fill the test buffer with the known data */
- for (i = 0; i < BUF_SIZE; i++) {
- tst_buff[i] = 'a';
- }
-
- /* Creat a testfile under temporary directory */
- if ((fd = open(TESTFILE, O_RDWR|O_CREAT, FILE_MODE)) == -1) {
- tst_brkm(TBROK, cleanup,
- "open(%s, O_RDWR|O_CREAT, %o) Failed, errno=%d : %s",
- TESTFILE, FILE_MODE, errno, strerror(errno));
- /*NOTREACHED*/
- }
-
- /* Write to the file 1k data from the buffer */
- while (c_total < FILE_SIZE) {
- if ((c = write(fd, tst_buff, sizeof(tst_buff))) <= 0) {
- tst_brkm(TBROK, cleanup,
- "write(2) on %s Failed, errno=%d : %s",
- TESTFILE, errno, strerror(errno));
- /*NOTREACHED*/
- } else {
- c_total += c;
- }
- }
-
- /* Close the testfile after writing data into it */
- if (close(fd) == -1) {
- tst_brkm(TBROK, cleanup,
- "close(%s) Failed, errno=%d : %s",
- TESTFILE, errno, strerror(errno));
- /*NOTREACHED*/
- }
-} /* End setup() */
-
-/*
- * void
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- * Remove the test directory and testfile created in the setup.
- */
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- */
- TEST_CLEANUP;
-
- /* Remove tmp dir and all files in it */
- tst_rmdir();
-
- /* exit with return code appropriate for results */
- tst_exit();
-} /* End cleanup() */
diff --git a/winsup/testsuite/winsup.api/ltp/truncate02.c b/winsup/testsuite/winsup.api/ltp/truncate02.c
deleted file mode 100644
index 4ba802949..000000000
--- a/winsup/testsuite/winsup.api/ltp/truncate02.c
+++ /dev/null
@@ -1,335 +0,0 @@
-/*
- *
- * Copyright (c) International Business Machines Corp., 2001
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-/*
- * Test Name: truncate02
- *
- * Test Description:
- * Verify that, truncate(2) succeeds to truncate a file to a certain length,
- * but the attempt to read past the truncated length will fail.
- *
- * Expected Result:
- * truncate(2) should return a value 0 and the attempt to read past the
- * truncated length will fail. In case where the file before truncation was
- * shorter, the bytes between the old and new should be all zeroes.
- *
- * Algorithm:
- * Setup:
- * Setup signal handling.
- * Create temporary directory.
- * Pause for SIGUSR1 if option specified.
- *
- * Test:
- * Loop if the proper options are given.
- * Execute system call
- * Check return code, if system call failed (return=-1)
- * Log the errno and Issue a FAIL message.
- * Otherwise,
- * Verify the Functionality of system call
- * if successful,
- * Issue Functionality-Pass message.
- * Otherwise,
- * Issue Functionality-Fail message.
- * Cleanup:
- * Print errno log and/or timing stats if options given
- * Delete the temporary directory created.
- *
- * Usage: <for command-line>
- * truncate02 [-c n] [-e] [-f] [-i n] [-I x] [-p x] [-t]
- * where, -c n : Run n copies concurrently.
- * -e : Turn on errno logging.
- * -f : Turn off functionality Testing.
- * -i n : Execute test n times.
- * -I x : Execute test for x seconds.
- * -P x : Pause for x seconds between iterations.
- * -t : Turn on syscall timing.
- *
- * History
- * 07/2001 John George
- * -Ported
- *
- * Restrictions:
- * This test should be run by 'non-super-user' only.
- *
- */
-
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <sys/fcntl.h>
-#include <errno.h>
-#include <string.h>
-#include <signal.h>
-
-#include "test.h"
-#include "usctest.h"
-
-#define TESTFILE "testfile" /* file under test */
-#define FILE_MODE S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH
-#define BUF_SIZE 256 /* buffer size */
-#define FILE_SIZE 1024 /* test file size */
-#define TRUNC_LEN1 256 /* truncation length */
-#define TRUNC_LEN2 512 /* truncation length */
-
-const char *TCID="truncate02"; /* Test program identifier. */
-int TST_TOTAL=1; /* Total number of test conditions */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-int fd; /* file descriptor of testfile */
-char tst_buff[BUF_SIZE]; /* buffer to hold testfile contents */
-int exp_enos[]={0};
-
-void setup(); /* setup function for the test */
-void cleanup(void) __attribute__((noreturn)); /* cleanup function for the test */
-
-int
-main(int ac, char **av)
-{
- struct stat stat_buf; /* stat(2) struct contents */
- int lc, i; /* loop counter */
- const char *msg; /* message returned from parse_opts */
- off_t file_length2; /* test file length */
- off_t file_length1; /* test file length */
- int rbytes; /* bytes read from testfile */
- int read_len = 0; /* total no. of bytes read from testfile */
- int err_flag = 0; /* error indicator flag */
-
- /* Parse standard options given to run the test. */
- msg = parse_opts(ac, av, (option_t *) NULL, NULL);
- if (msg != (char *) NULL) {
- tst_brkm(TBROK, NULL, "OPTION PARSING ERROR - %s", msg);
- tst_exit();
- }
-
- /* Perform global setup for test */
- setup();
-
- /* set the expected errnos... */
- TEST_EXP_ENOS(exp_enos);
-
- /* Check looping state if -i option given */
- for (lc = 0; TEST_LOOPING(lc); lc++) {
- /* Reset Tst_count in case we are looping. */
- Tst_count = 0;
-
- /*
- * Call truncate(2) to truncate a test file to a
- * specified length (TRUNC_LEN1).
- */
- TEST(truncate(TESTFILE, TRUNC_LEN1));
-
- /* check return code of truncate(2) */
- if (TEST_RETURN == -1) {
- TEST_ERROR_LOG(TEST_ERRNO);
- tst_resm(TFAIL, \
- "truncate(%s, %d) Failed, errno=%d : %s",
- TESTFILE, TRUNC_LEN1, TEST_ERRNO,
- strerror(TEST_ERRNO));
- } else {
- /*
- * Perform functional verification if test
- * executed without (-f) option.
- */
- if (STD_FUNCTIONAL_TEST) {
- /*
- * Get the testfile information using
- * stat(2).
- */
- if (stat(TESTFILE, &stat_buf) < 0) {
- tst_brkm(TFAIL, cleanup, "stat(2) of "
- "%s failed after 1st truncate, "
- "error:%d", TESTFILE, errno);
- /*NOTREACHED*/
- }
- file_length1 = stat_buf.st_size;
-
- /*
- * Set the file pointer of testfile to the
- * beginning of the file.
- */
- if (lseek(fd, 0, SEEK_SET) < 0) {
- tst_brkm(TFAIL, cleanup, "lseek(2) on "
- "%s failed after 1st truncate, "
- "error:%d", TESTFILE, errno);
- /*NOTREACHED*/
- }
-
- /* Read the testfile from the beginning. */
- while ((rbytes = read(fd, tst_buff, \
- sizeof(tst_buff))) > 0) {
- read_len += rbytes;
- }
-
- /*
- * Execute truncate(2) again to truncate
- * testfile to a size TRUNC_LEN2.
- */
- TEST(truncate(TESTFILE, TRUNC_LEN2));
-
- /* check return code of truncate(2) */
- if (TEST_RETURN == -1) {
- TEST_ERROR_LOG(TEST_ERRNO);
- tst_resm(TFAIL, "truncate of %s to "
- "size %d Failed, errno=%d : %s",
- TESTFILE, TRUNC_LEN2,
- TEST_ERRNO,
- strerror(TEST_ERRNO));
- }
-
- /*
- * Get the testfile information using
- * stat(2)
- */
- if (stat(TESTFILE, &stat_buf) < 0) {
- tst_brkm(TFAIL, cleanup, "stat(2) of "
- "%s failed after 2nd truncate, "
- "error:%d", TESTFILE, errno);
- /*NOTREACHED*/
- }
- file_length2 = stat_buf.st_size;
-
- /*
- * Set the file pointer of testfile to the
- * offset TRUNC_LEN1 of testfile.
- */
- if (lseek(fd, TRUNC_LEN1, SEEK_SET) < 0) {
- tst_brkm(TFAIL, cleanup, "lseek(2) on "
- "%s failed after 2nd truncate, "
- "error:%d", TESTFILE, errno);
- /*NOTREACHED*/
- }
-
- /* Read the testfile contents till EOF */
- while((rbytes = read(fd, tst_buff, \
- sizeof(tst_buff))) > 0) {
- for (i = 0; i < rbytes; i++) {
- if (tst_buff[i] != 0) {
- err_flag++;
- }
- }
- }
-
- /*
- * Check for expected size of testfile after
- * issuing truncate(2) on it.
- */
- if ((file_length1 != TRUNC_LEN1) || \
- (file_length2 != TRUNC_LEN2) || \
- (read_len != TRUNC_LEN1) || \
- (err_flag != 0)) {
- tst_resm(TFAIL, "Functionality of "
- "truncate(2) on %s Failed",
- TESTFILE);
- } else {
- tst_resm(TPASS, \
- "Functionality of truncate(2) "
- "on %s successful", TESTFILE);
- }
- } else {
- tst_resm(TPASS, "%s call succeeded", TCID);
- }
- }
- Tst_count++; /* incr. TEST_LOOP counter */
- } /* End for TEST_LOOPING */
-
- /* Call cleanup() to undo setup done for the test. */
- cleanup();
- /*NOTREACHED*/
-
-} /* End main */
-
-/*
- * void
- * setup() - performs all ONE TIME setup for this test.
- * Create a temporary directory and change directory to it.
- * Create a test file under temporary directory and write some
- * data into it.
- */
-void
-setup()
-{
- int i; /* counter variable */
- int wbytes; /* bytes written to testfile */
- int write_len = 0; /* total no. of bytes written to testfile */
-
- /* capture signals */
- tst_sig(FORK, DEF_HANDLER, cleanup);
-
- /* Pause if that option was specified
- * TEST_PAUSE contains the code to fork the test with the -i option.
- * You want to make sure you do this before you create your temporary
- * directory.
- */
- TEST_PAUSE;
-
- /* make a temp directory and cd to it */
- tst_tmpdir();
-
-
- /* Fill the test buffer with the known data */
- for (i = 0; i < BUF_SIZE; i++) {
- tst_buff[i] = 'a';
- }
-
- /* Creat a testfile and write some data into it */
- if ((fd = open(TESTFILE, O_RDWR|O_CREAT, FILE_MODE)) == -1) {
- tst_brkm(TBROK, cleanup,
- "open(%s, O_RDWR|O_CREAT, %o) Failed, errno=%d : %s",
- TESTFILE, FILE_MODE, errno, strerror(errno));
- /*NOTREACHED*/
- }
-
- /* Write to the file 1k data from the buffer */
- while (write_len < FILE_SIZE) {
- if ((wbytes = write(fd, tst_buff, sizeof(tst_buff))) <= 0) {
- tst_brkm(TBROK, cleanup,
- "write(2) on %s Failed, errno=%d : %s",
- TESTFILE, errno, strerror(errno));
- } else {
- write_len += wbytes;
- }
- }
-} /* End setup() */
-
-/*
- * void
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- * Close the temporary file opened for reading/writing.
- * Remove the test directory and testfile created in the setup.
- */
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- */
- TEST_CLEANUP;
-
- /* Close the testfile after writing data into it */
- if (close(fd) == -1) {
- tst_brkm(TFAIL, NULL,
- "close(%s) Failed, errno=%d : %s",
- TESTFILE, errno, strerror(errno));
- }
-
- /* Remove tmp dir and all files in it */
- tst_rmdir();
-
- /* exit with return code appropriate for results */
- tst_exit();
-} /* End cleanup() */
diff --git a/winsup/testsuite/winsup.api/ltp/ulimit01.c b/winsup/testsuite/winsup.api/ltp/ulimit01.c
deleted file mode 100644
index c3f09fba3..000000000
--- a/winsup/testsuite/winsup.api/ltp/ulimit01.c
+++ /dev/null
@@ -1,273 +0,0 @@
-/*
- * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it would be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Further, this software is distributed without any warranty that it is
- * free of the rightful claim of any third person regarding infringement
- * or the like. Any license provided herein, whether implied or
- * otherwise, applies only to this software file. Patent licenses, if
- * any, provided herein do not apply to combinations of this program with
- * other software, or any other product whatsoever.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write the Free Software Foundation, Inc., 59
- * Temple Place - Suite 330, Boston MA 02111-1307, USA.
- *
- * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
- * Mountain View, CA 94043, or:
- *
- * http://www.sgi.com
- *
- * For further information regarding this notice, see:
- *
- * http://oss.sgi.com/projects/GenInfo/NoticeExplan/
- */
-/* $Id$ */
-/**********************************************************
- *
- * OS Test - Silicon Graphics, Inc.
- *
- * TEST IDENTIFIER : ulimit01
- *
- * EXECUTED BY : anyone
- *
- * TEST TITLE : Basic test for ulimit(2)
- *
- * PARENT DOCUMENT : usctpl01
- *
- * TEST CASE TOTAL : 6
- *
- * WALL CLOCK TIME : 1
- *
- * CPU TYPES : ALL
- *
- * AUTHOR : William Roske
- *
- * CO-PILOT : Dave Fenner
- *
- * DATE STARTED : 03/30/92
- *
- * INITIAL RELEASE : UNICOS 7.0
- *
- * TEST CASES
- *
- * 1.) ulimit(2) returns...(See Description)
- *
- * INPUT SPECIFICATIONS
- * The standard options for system call tests are accepted.
- * (See the parse_opts(3) man page).
- *
- * OUTPUT SPECIFICATIONS
- *
- * DURATION
- * Terminates - with frequency and infinite modes.
- *
- * SIGNALS
- * Uses SIGUSR1 to pause before test if option set.
- * (See the parse_opts(3) man page).
- *
- * RESOURCES
- * None
- *
- * ENVIRONMENTAL NEEDS
- * The libcuts.a and libsys.a libraries must be included in
- * the compilation of this test.
- *
- * SPECIAL PROCEDURAL REQUIREMENTS
- * None
- *
- * INTERCASE DEPENDENCIES
- * None
- *
- * DETAILED DESCRIPTION
- * This is a Phase I test for the ulimit(2) system call. It is intended
- * to provide a limited exposure of the system call, for now. It
- * should/will be extended when full functional tests are written for
- * ulimit(2).
- *
- * Setup:
- * Setup signal handling.
- * Pause for SIGUSR1 if option specified.
- *
- * Test:
- * Loop if the proper options are given.
- * Execute system call
- * Check return code, if system call failed (return=-1)
- * Log the errno and Issue a FAIL message.
- * Otherwise, Issue a PASS message.
- *
- * Cleanup:
- * Print errno log and/or timing stats if options given
- *
- *
- *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#**/
-
-#include <ulimit.h>
-#include <errno.h>
-#include <string.h>
-#include <signal.h>
-#include "test.h"
-#include "usctest.h"
-
-void setup();
-void cleanup(void) __attribute__((noreturn));
-
-
-
-const char *TCID="ulimit01"; /* Test program identifier. */
-int TST_TOTAL=6; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-
-int cmd;
-long limit; /* saved limit */
-
-struct limits_t {
- int cmd;
- long newlimit;
- int nlim_flag; /* special flag for UL_SETFSIZE records */
- int exp_fail;
-} Scenarios[] = {
-
- { UL_GETFSIZE, -1, 0, 0 },
- { UL_SETFSIZE, -1, 0, 1 }, /* negative test */
- { UL_SETFSIZE, -2, 1, 0 }, /* case case: must be after UL_GETFSIZE */
- { UL_SETFSIZE, -2, 2, 0 }, /* case case: must be after UL_GETFSIZE */
-
-#if UL_GMEMLIM
- { UL_GMEMLIM, -1, 0, 0 },
-#endif
-#if UL_GDESLIM
- { UL_GDESLIM, -1, 0, 0 },
-#endif
-#if UL_GSHMEMLIM
- { UL_GSHMEMLIM, -1, 0, 0 },
-#endif
-
-};
-
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- int i; /* inner loop (test case) counter */
- const char *msg; /* message returned from parse_opts */
- int tmp;
-
- TST_TOTAL = sizeof(Scenarios)/sizeof(struct limits_t);
-
- /***************************************************************
- * parse standard options
- ***************************************************************/
- if ( (msg=parse_opts(ac, av, (option_t *)NULL, NULL)) != (char *) NULL ) {
- tst_brkm(TBROK, NULL, "OPTION PARSING ERROR - %s", msg);
- tst_exit();
- }
-
- /***************************************************************
- * perform global setup for test
- ***************************************************************/
- setup();
-
-
- /***************************************************************
- * check looping state if -c option given
- ***************************************************************/
- for (lc=0; TEST_LOOPING(lc); lc++) {
-
- /* reset Tst_count in case we are looping. */
- Tst_count=0;
-
- for ( i=0; i<TST_TOTAL; i++) {
-
- cmd=Scenarios[i].cmd;
- limit=Scenarios[i].newlimit;
-
- /*
- * Call ulimit(2)
- */
- TEST(ulimit(cmd, limit));
-
- /* check return code */
- if ( TEST_RETURN == -1 ) {
- if ( Scenarios[i].exp_fail ) {
- if ( STD_FUNCTIONAL_TEST ) {
- tst_resm(TPASS, "ulimit(%d, %d) Failed, errno=%d : %s", cmd, limit,
- TEST_ERRNO, strerror(TEST_ERRNO));
- }
- } else {
- tst_resm(TFAIL, "ulimit(%d, %d) Failed, errno=%d : %s", cmd, limit,
- TEST_ERRNO, strerror(TEST_ERRNO));
- }
- } else {
- if ( Scenarios[i].exp_fail ) {
- tst_resm(TFAIL, "ulimit(%d, %d) returned %d",
- cmd, limit, TEST_RETURN);
- } else if ( STD_FUNCTIONAL_TEST ) {
- tst_resm(TPASS, "ulimit(%d, %d) returned %d",
- cmd, limit, TEST_RETURN);
- }
-
- /*
- * Save the UL_GETFSIZE return value in the newlimit field
- * for UL_SETFSIZE test cases.
- */
- if ( cmd == UL_GETFSIZE ) {
- for (tmp=i+1; tmp<TST_TOTAL; tmp++) {
- if ( Scenarios[tmp].nlim_flag == 1 ) {
- Scenarios[tmp].newlimit = TEST_RETURN;
- }
- if ( Scenarios[tmp].nlim_flag == 2 ) {
- Scenarios[tmp].newlimit = TEST_RETURN-1;
- }
- }
- }
- }
- }
- } /* End for TEST_LOOPING */
-
- /***************************************************************
- * cleanup and exit
- ***************************************************************/
- cleanup();
-
- return 0;
-} /* End main */
-
-/***************************************************************
- * setup() - performs all ONE TIME setup for this test.
- ***************************************************************/
-void
-setup()
-{
-
- /* capture signals */
- tst_sig(NOFORK, DEF_HANDLER, cleanup);
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-
-} /* End setup() */
-
-
-/***************************************************************
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- ***************************************************************/
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- */
- TEST_CLEANUP;
-
- /* exit with return code appropriate for results */
- tst_exit();
-} /* End cleanup() */
diff --git a/winsup/testsuite/winsup.api/ltp/umask01.c b/winsup/testsuite/winsup.api/ltp/umask01.c
deleted file mode 100644
index fb86f0d31..000000000
--- a/winsup/testsuite/winsup.api/ltp/umask01.c
+++ /dev/null
@@ -1,220 +0,0 @@
-/*
- * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it would be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Further, this software is distributed without any warranty that it is
- * free of the rightful claim of any third person regarding infringement
- * or the like. Any license provided herein, whether implied or
- * otherwise, applies only to this software file. Patent licenses, if
- * any, provided herein do not apply to combinations of this program with
- * other software, or any other product whatsoever.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write the Free Software Foundation, Inc., 59
- * Temple Place - Suite 330, Boston MA 02111-1307, USA.
- *
- * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
- * Mountain View, CA 94043, or:
- *
- * http://www.sgi.com
- *
- * For further information regarding this notice, see:
- *
- * http://oss.sgi.com/projects/GenInfo/NoticeExplan/
- *
- */
-/* $Id$ */
-/**********************************************************
- *
- * OS Test - Silicon Graphics, Inc.
- *
- * TEST IDENTIFIER : umask01
- *
- * EXECUTED BY : anyone
- *
- * TEST TITLE : Basic test for umask(2)
- *
- * PARENT DOCUMENT : usctpl01
- *
- * TEST CASE TOTAL : 1
- *
- * WALL CLOCK TIME : 1
- *
- * CPU TYPES : ALL
- *
- * AUTHOR : William Roske
- *
- * CO-PILOT : Dave Fenner
- *
- * DATE STARTED : 03/30/92
- *
- * INITIAL RELEASE : UNICOS 7.0
- *
- * TEST CASES
- *
- * 1.) umask(2) returns...(See Description)
- *
- * INPUT SPECIFICATIONS
- * The standard options for system call tests are accepted.
- * (See the parse_opts(3) man page).
- *
- * OUTPUT SPECIFICATIONS
- *
- * DURATION
- * Terminates - with frequency and infinite modes.
- *
- * SIGNALS
- * Uses SIGUSR1 to pause before test if option set.
- * (See the parse_opts(3) man page).
- *
- * RESOURCES
- * None
- *
- * ENVIRONMENTAL NEEDS
- * No run-time environmental needs.
- *
- * SPECIAL PROCEDURAL REQUIREMENTS
- * None
- *
- * INTERCASE DEPENDENCIES
- * None
- *
- * DETAILED DESCRIPTION
- * This is a Phase I test for the umask(2) system call. It is intended
- * to provide a limited exposure of the system call, for now. It
- * should/will be extended when full functional tests are written for
- * umask(2).
- *
- * Setup:
- * Setup signal handling.
- * Pause for SIGUSR1 if option specified.
- *
- * Test:
- * Loop if the proper options are given.
- * Execute system call
- * Check return code, if system call failed (return=-1)
- * Log the errno and Issue a FAIL message.
- * Otherwise, Issue a PASS message.
- *
- * Cleanup:
- * Print errno log and/or timing stats if options given
- *
- *
- *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#**/
-
-#include <errno.h>
-#include <string.h>
-#include <signal.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include "test.h"
-#include "usctest.h"
-
-extern void setup();
-extern void cleanup();
-
-
-
-const char *TCID="umask01"; /* Test program identifier. */
-int TST_TOTAL=1; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-
-int exp_enos[]={0, 0};
-
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
-
- /***************************************************************
- * parse standard options
- ***************************************************************/
- if ( (msg=parse_opts(ac, av, (option_t *) NULL, NULL)) != (char *) NULL )
- tst_brkm(TBROK, cleanup, "OPTION PARSING ERROR - %s", msg);
-
- /***************************************************************
- * perform global setup for test
- ***************************************************************/
- setup();
-
- /* set the expected errnos... */
- TEST_EXP_ENOS(exp_enos);
-
- /***************************************************************
- * check looping state if -c option given
- ***************************************************************/
- for (lc=0; TEST_LOOPING(lc); lc++) {
-
- /* reset Tst_count in case we are looping. */
- Tst_count=0;
-
- /*
- * Call umask(2)
- */
- TEST(umask(022));
-
- /* check return code */
- if ( TEST_RETURN == -1 ) {
- TEST_ERROR_LOG(TEST_ERRNO);
- tst_resm(TFAIL, "umask(022) Failed, errno=%d : %s",
- TEST_ERRNO, strerror(TEST_ERRNO));
- } else {
- /***************************************************************
- * only perform functional verification if flag set (-f not given)
- ***************************************************************/
- if ( STD_FUNCTIONAL_TEST ) {
- /* No Verification test, yet... */
- tst_resm(TPASS, "umask(022) returned %d", TEST_RETURN);
- }
- }
- } /* End for TEST_LOOPING */
-
- /***************************************************************
- * cleanup and exit
- ***************************************************************/
- cleanup();
-
- return 0;
-} /* End main */
-
-/***************************************************************
- * setup() - performs all ONE TIME setup for this test.
- ***************************************************************/
-void
-setup()
-{
- void trapper();
-
- /* capture signals */
- tst_sig(NOFORK, DEF_HANDLER, cleanup);
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-
-} /* End setup() */
-
-
-/***************************************************************
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- ***************************************************************/
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /* exit with return code appropriate for results */
- tst_exit();
-} /* End cleanup() */
diff --git a/winsup/testsuite/winsup.api/ltp/umask02.c b/winsup/testsuite/winsup.api/ltp/umask02.c
deleted file mode 100644
index 9a1c61c53..000000000
--- a/winsup/testsuite/winsup.api/ltp/umask02.c
+++ /dev/null
@@ -1,135 +0,0 @@
-/*
- *
- * Copyright (c) International Business Machines Corp., 2001
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-/*
- * NAME
- * umask02.c
- *
- * DESCRIPTION
- * Check that umask changes the mask, and that the previous
- * value of the mask is returned correctly for each value.
- *
- * ALGORITHM
- * For each mask value (9 bits) set mask, and check that the return
- * corresponds to the previous value set.
- *
- * USAGE: <for command-line>
- * umask02 [-c n] [-e] [-i n] [-I x] [-P x] [-t]
- * where, -c n : Run n copies concurrently.
- * -e : Turn on errno logging.
- * -i n : Execute test n times.
- * -I x : Execute test for x seconds.
- * -P x : Pause for x seconds between iterations.
- * -t : Turn on syscall timing.
- *
- * History
- * 07/2001 John George
- * -Ported
- *
- * Restrictions
- * None
- */
-
-#include <sys/stat.h>
-#include "test.h"
-#include "usctest.h"
-
-const char *TCID = "umask02";
-int TST_TOTAL = 1;
-extern int Tst_count;
-
-void setup(void);
-void cleanup(void) __attribute__((noreturn));
-
-int
-main(int argc, char **argv)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
-
- int uret = 0, i, mskval = 0000;
-
- /* parse standard options */
- if ((msg = parse_opts(argc, argv, (option_t *)NULL, NULL)) !=
- (char *) NULL) {
- tst_brkm(TBROK, cleanup, "OPTION PARSING ERROR - %s", msg);
- /*NOTREACHED*/
- }
-
- setup();
-
- /* Check for looping state if -i option is given */
- for (lc = 0; TEST_LOOPING(lc); lc++) {
-
- /* reset Tst_count in case we are looping */
- Tst_count = 0;
-
- for (umask(++mskval), i = 1; mskval < 01000;
- uret = umask(++mskval), i++) {
- if ((uret != mskval - 1) && (mskval != 0000)) {
- tst_brkm(TBROK, cleanup, "bad mask value "
- "returned");
- /*NOTREACHED*/
- } else {
- tst_resm(TPASS, "umask(%d) susuccessfully "
- "returned %d.", mskval, uret);
- }
- }
- mskval = 0000;
- uret = 0;
- tst_resm(TINFO, "end of loop %d\n", lc);
- }
- cleanup();
- /*NOTREACHED*/
-}
-
-/*
- * setup()
- * performs all ONE TIME setup for this test
- */
-void
-setup(void)
-{
- /* capture signals */
- tst_sig(FORK, DEF_HANDLER, cleanup);
-
- /* Pause if that option was specified
- * TEST_PAUSE contains the code to fork the test with the -c option.
- */
- TEST_PAUSE;
-}
-
-/*
- * cleanup()
- * performs all ONE TIME cleanup for this test at
- * completion or premature exit
- */
-void
-cleanup(void)
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /* exit with return code appropriate for results */
- tst_exit();
- /*NOTREACHED*/
-}
diff --git a/winsup/testsuite/winsup.api/ltp/umask03.c b/winsup/testsuite/winsup.api/ltp/umask03.c
deleted file mode 100644
index 341da7507..000000000
--- a/winsup/testsuite/winsup.api/ltp/umask03.c
+++ /dev/null
@@ -1,170 +0,0 @@
-/*
- *
- * Copyright (c) International Business Machines Corp., 2001
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-/*
- * NAME
- * umask01.c
- *
- * DESCRIPTION
- * Check that umask changes the mask, and that the previous
- * value of the mask is returned correctly for each value.
- *
- * ALGORITHM
- * For each mask value (9 bits) set mask, and check that the return
- * corresponds to the previous value set.
- *
- * USAGE: <for command-line>
- * umask01 [-c n] [-i n] [-I x] [-P x] [-t]
- * where, -c n : Run n copies concurrently.
- * -i n : Execute test n times.
- * -I x : Execute test for x seconds.
- * -P x : Pause for x seconds between iterations.
- * -t : Turn on syscall timing.
- *
- * History
- * 07/2001 John George
- * -Ported
- *
- * Restrictions
- * None
- */
-
-#include "test.h"
-#include "usctest.h"
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <fcntl.h>
-
-const char *TCID = "umask01";
-int TST_TOTAL = 1;
-extern int Tst_count;
-
-char filname[40];
-
-void setup(void);
-void cleanup(void) __attribute__((noreturn));
-
-int
-main(int argc, char **argv)
-{
- int lc;
- const char *msg;
-
- struct stat statbuf;
- unsigned mskval = 0000;
- int fildes, i;
- unsigned low9mode;
-
- /* parse standard options */
- if ((msg = parse_opts(argc, argv, (option_t *) NULL, NULL))
- != (char *) NULL) {
- tst_brkm(TBROK, cleanup, "OPTION PARSING ERROR - %s", msg);
- /*NOTREACHED*/
- }
-
- setup(); /* global setup */
-
- /* check looping state if -i option is given */
- for (lc = 0; TEST_LOOPING(lc); lc++) {
-
- /* reset Tst_count in case we are looping */
- Tst_count = 0;
-
- for (umask(mskval = 0077), i = 1; mskval < 01000;
- i++, umask(++mskval)) {
- unlink(filname);
- if ((fildes = creat(filname, 0777)) == -1) {
- tst_resm(TBROK, "cannot create "
- "file with mskval 0%o %d",
- mskval, mskval);
- } else {
- if (fstat(fildes, &statbuf) != 0) {
- tst_resm(TBROK, "cannot fstat file");
- } else {
- low9mode = statbuf.st_mode & 0777;
- if (low9mode != (~mskval & 0777)) {
- tst_brkm(TBROK, cleanup,
- "got %0 expected %o"
- "mask didnot take",
- low9mode,
- (~mskval & 0777));
- /*NOTREACHED*/
- } else {
- tst_resm(TPASS, "Test "
- "condition: %d, umask: "
- "0%o", i, mskval);
- }
- }
- }
- close(fildes);
- }
- }
- cleanup();
- /*NOTREACHED*/
-}
-
-/*
- * setup
- * performs all ONE TIME setup for this test
- */
-void
-setup()
-{
- /* capture signals */
- tst_sig(NOFORK, DEF_HANDLER, cleanup);
-
-
- /* Pause if that option was specified
- * TEST_PAUSE contains the code to fork the test with the -i option.
- * You want to make sure you do this before you create your temporary
- * directory.
- */
- TEST_PAUSE;
-
- /* make temp dir and cd to it */
- tst_tmpdir();
-
- sprintf(filname, "umask2.%d", getpid());
-}
-
-/*
- * cleanup
- * performs all ONE TIME cleanup for this test at completion or
- * premature exit
- */
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified
- * print errno log if that option was specified
- */
- TEST_CLEANUP;
-
- /*
- * cleanup the temporary files and the temporary directory
- */
- unlink(filname);
- tst_rmdir();
-
- /*
- * exit with return code appropriate for results
- */
- tst_exit();
-}
diff --git a/winsup/testsuite/winsup.api/ltp/uname01.c b/winsup/testsuite/winsup.api/ltp/uname01.c
deleted file mode 100644
index 36b166786..000000000
--- a/winsup/testsuite/winsup.api/ltp/uname01.c
+++ /dev/null
@@ -1,221 +0,0 @@
-/*
- * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it would be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Further, this software is distributed without any warranty that it is
- * free of the rightful claim of any third person regarding infringement
- * or the like. Any license provided herein, whether implied or
- * otherwise, applies only to this software file. Patent licenses, if
- * any, provided herein do not apply to combinations of this program with
- * other software, or any other product whatsoever.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write the Free Software Foundation, Inc., 59
- * Temple Place - Suite 330, Boston MA 02111-1307, USA.
- *
- * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
- * Mountain View, CA 94043, or:
- *
- * http://www.sgi.com
- *
- * For further information regarding this notice, see:
- *
- * http://oss.sgi.com/projects/GenInfo/NoticeExplan/
- *
- */
-/* $Id$ */
-/**********************************************************
- *
- * OS Test - Silicon Graphics, Inc.
- *
- * TEST IDENTIFIER : uname01
- *
- * EXECUTED BY : anyone
- *
- * TEST TITLE : Basic test for uname(2)
- *
- * PARENT DOCUMENT : usctpl01
- *
- * TEST CASE TOTAL : 1
- *
- * WALL CLOCK TIME : 1
- *
- * CPU TYPES : ALL
- *
- * AUTHOR : William Roske
- *
- * CO-PILOT : Dave Fenner
- *
- * DATE STARTED : 03/30/92
- *
- * INITIAL RELEASE : UNICOS 7.0
- *
- * TEST CASES
- *
- * 1.) uname(2) returns...(See Description)
- *
- * INPUT SPECIFICATIONS
- * The standard options for system call tests are accepted.
- * (See the parse_opts(3) man page).
- *
- * OUTPUT SPECIFICATIONS
- *
- * DURATION
- * Terminates - with frequency and infinite modes.
- *
- * SIGNALS
- * Uses SIGUSR1 to pause before test if option set.
- * (See the parse_opts(3) man page).
- *
- * RESOURCES
- * None
- *
- * ENVIRONMENTAL NEEDS
- * No run-time environmental needs.
- *
- * SPECIAL PROCEDURAL REQUIREMENTS
- * None
- *
- * INTERCASE DEPENDENCIES
- * None
- *
- * DETAILED DESCRIPTION
- * This is a Phase I test for the uname(2) system call. It is intended
- * to provide a limited exposure of the system call, for now. It
- * should/will be extended when full functional tests are written for
- * uname(2).
- *
- * Setup:
- * Setup signal handling.
- * Pause for SIGUSR1 if option specified.
- *
- * Test:
- * Loop if the proper options are given.
- * Execute system call
- * Check return code, if system call failed (return=-1)
- * Log the errno and Issue a FAIL message.
- * Otherwise, Issue a PASS message.
- *
- * Cleanup:
- * Print errno log and/or timing stats if options given
- *
- *
- *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#**/
-
-#include <sys/utsname.h>
-#include <errno.h>
-#include <string.h>
-#include <signal.h>
-#include "test.h"
-#include "usctest.h"
-
-extern void setup();
-extern void cleanup();
-
-
-
-const char *TCID="uname01"; /* Test program identifier. */
-int TST_TOTAL=1; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-
-int exp_enos[]={0, 0};
-
-struct utsname un;
-
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
-
- /***************************************************************
- * parse standard options
- ***************************************************************/
- if ( (msg=parse_opts(ac, av, (option_t *) NULL, NULL)) != (char *) NULL )
- tst_brkm(TBROK, cleanup, "OPTION PARSING ERROR - %s", msg);
-
- /***************************************************************
- * perform global setup for test
- ***************************************************************/
- setup();
-
- /* set the expected errnos... */
- TEST_EXP_ENOS(exp_enos);
-
- /***************************************************************
- * check looping state if -c option given
- ***************************************************************/
- for (lc=0; TEST_LOOPING(lc); lc++) {
-
- /* reset Tst_count in case we are looping. */
- Tst_count=0;
-
- /*
- * Call uname(2)
- */
- TEST(uname(&un));
-
- /* check return code */
- if ( TEST_RETURN == -1 ) {
- TEST_ERROR_LOG(TEST_ERRNO);
- tst_resm(TFAIL, "uname(&un) Failed, errno=%d : %s",
- TEST_ERRNO, strerror(TEST_ERRNO));
- } else {
- /***************************************************************
- * only perform functional verification if flag set (-f not given)
- ***************************************************************/
- if ( STD_FUNCTIONAL_TEST ) {
- /* No Verification test, yet... */
- tst_resm(TPASS, "uname(&un) returned %d", TEST_RETURN);
- }
- }
-
- } /* End for TEST_LOOPING */
-
- /***************************************************************
- * cleanup and exit
- ***************************************************************/
- cleanup();
-
- return 0;
-} /* End main */
-
-/***************************************************************
- * setup() - performs all ONE TIME setup for this test.
- ***************************************************************/
-void
-setup()
-{
- void trapper();
-
- /* capture signals */
- tst_sig(NOFORK, DEF_HANDLER, cleanup);
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-} /* End setup() */
-
-
-/***************************************************************
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- ***************************************************************/
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /* exit with return code appropriate for results */
- tst_exit();
-} /* End cleanup() */
diff --git a/winsup/testsuite/winsup.api/ltp/unlink05.c b/winsup/testsuite/winsup.api/ltp/unlink05.c
deleted file mode 100644
index 3aae0cf0d..000000000
--- a/winsup/testsuite/winsup.api/ltp/unlink05.c
+++ /dev/null
@@ -1,246 +0,0 @@
-/*
- * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it would be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Further, this software is distributed without any warranty that it is
- * free of the rightful claim of any third person regarding infringement
- * or the like. Any license provided herein, whether implied or
- * otherwise, applies only to this software file. Patent licenses, if
- * any, provided herein do not apply to combinations of this program with
- * other software, or any other product whatsoever.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write the Free Software Foundation, Inc., 59
- * Temple Place - Suite 330, Boston MA 02111-1307, USA.
- *
- * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
- * Mountain View, CA 94043, or:
- *
- * http://www.sgi.com
- *
- * For further information regarding this notice, see:
- *
- * http://oss.sgi.com/projects/GenInfo/NoticeExplan/
- *
- */
-/* $Id$ */
-/**********************************************************
- *
- * OS Test - Silicon Graphics, Inc.
- *
- * TEST IDENTIFIER : unlink05
- *
- * EXECUTED BY : anyone
- *
- * TEST TITLE : Basic test for unlink(2)
- *
- * PARENT DOCUMENT : usctpl01
- *
- * TEST CASE TOTAL : 1
- *
- * WALL CLOCK TIME : 1
- *
- * CPU TYPES : ALL
- *
- * AUTHOR : William Roske
- *
- * CO-PILOT : Dave Fenner
- *
- * DATE STARTED : 03/30/92
- *
- * INITIAL RELEASE : UNICOS 7.0
- *
- * TEST CASES
- *
- * 1.) unlink(2) returns...(See Description)
- *
- * INPUT SPECIFICATIONS
- * The standard options for system call tests are accepted.
- * (See the parse_opts(3) man page).
- *
- * OUTPUT SPECIFICATIONS
- *
- * DURATION
- * Terminates - with frequency and infinite modes.
- *
- * SIGNALS
- * Uses SIGUSR1 to pause before test if option set.
- * (See the parse_opts(3) man page).
- *
- * RESOURCES
- * None
- *
- * ENVIRONMENTAL NEEDS
- * No run-time environmental needs.
- *
- * SPECIAL PROCEDURAL REQUIREMENTS
- * None
- *
- * INTERCASE DEPENDENCIES
- * None
- *
- * DETAILED DESCRIPTION
- * This is a Phase I test for the unlink(2) system call. It is intended
- * to provide a limited exposure of the system call, for now. It
- * should/will be extended when full functional tests are written for
- * unlink(2).
- *
- * Setup:
- * Setup signal handling.
- * Pause for SIGUSR1 if option specified.
- *
- * Test:
- * Loop if the proper options are given.
- * Execute system call
- * Check return code, if system call failed (return=-1)
- * Log the errno and Issue a FAIL message.
- * Otherwise, Issue a PASS message.
- *
- * Cleanup:
- * Print errno log and/or timing stats if options given
- *
- *
- *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#**/
-
-#include <sys/types.h>
-#include <sys/fcntl.h>
-#include <errno.h>
-#include <string.h>
-#include <signal.h>
-#include "test.h"
-#include "usctest.h"
-
-extern void setup();
-extern void cleanup();
-void create_file();
-
-
-
-const char *TCID="unlink05"; /* Test program identifier. */
-int TST_TOTAL=1; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-
-int exp_enos[]={0, 0};
-
-char fname[255];
-int fd;
-
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
-
- /***************************************************************
- * parse standard options
- ***************************************************************/
- if ( (msg=parse_opts(ac, av, (option_t *) NULL, NULL)) != (char *) NULL )
- tst_brkm(TBROK, cleanup, "OPTION PARSING ERROR - %s", msg);
-
- /***************************************************************
- * perform global setup for test
- ***************************************************************/
- setup();
-
- /* set the expected errnos... */
- TEST_EXP_ENOS(exp_enos);
-
- /***************************************************************
- * check looping state if -c option given
- ***************************************************************/
- for (lc=0; TEST_LOOPING(lc); lc++) {
-
- /* reset Tst_count in case we are looping. */
- Tst_count=0;
-
- /*
- * Call unlink(2)
- */
- TEST(unlink(fname));
-
- /* check return code */
- if ( TEST_RETURN == -1 ) {
- TEST_ERROR_LOG(TEST_ERRNO);
- tst_resm(TFAIL, "unlink(%s) Failed, errno=%d : %s", fname,
- TEST_ERRNO, strerror(TEST_ERRNO));
- } else {
- /***************************************************************
- * only perform functional verification if flag set (-f not given)
- ***************************************************************/
- if ( STD_FUNCTIONAL_TEST ) {
- /* No Verification test, yet... */
- tst_resm(TPASS, "unlink(%s) returned %d", fname, TEST_RETURN);
- }
- /* recreate file for next loop */
- create_file();
- }
- } /* End for TEST_LOOPING */
-
- /***************************************************************
- * cleanup and exit
- ***************************************************************/
- cleanup();
-
- return 0;
-} /* End main */
-
-/***************************************************************
- * setup() - performs all ONE TIME setup for this test.
- ***************************************************************/
-void
-setup()
-{
- /* capture signals */
- tst_sig(NOFORK, DEF_HANDLER, cleanup);
-
- /* make a temp directory and cd to it */
- tst_tmpdir();
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-
- create_file();
-} /* End setup() */
-
-
-/***************************************************************
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- ***************************************************************/
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /* Remove tmp dir and all files in it */
- tst_rmdir();
-
- /* exit with return code appropriate for results */
- tst_exit();
-} /* End cleanup() */
-
-void
-create_file()
-{
- sprintf(fname,"tfile_%d",getpid());
- if ((fd = open(fname,O_RDWR|O_CREAT,0700)) == -1) {
- tst_brkm(TBROK, cleanup,
- "open(%s, O_RDWR|O_CREAT,0700) Failed, errno=%d : %s",
- fname, errno, strerror(errno));
- }
- if (close(fd) == -1) {
- tst_resm(TWARN, "close(%s) Failed, errno=%d : %s",
- fname, errno, strerror(errno));
- }
-}
diff --git a/winsup/testsuite/winsup.api/ltp/unlink06.c b/winsup/testsuite/winsup.api/ltp/unlink06.c
deleted file mode 100644
index a62a268c0..000000000
--- a/winsup/testsuite/winsup.api/ltp/unlink06.c
+++ /dev/null
@@ -1,254 +0,0 @@
-/*
- * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it would be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Further, this software is distributed without any warranty that it is
- * free of the rightful claim of any third person regarding infringement
- * or the like. Any license provided herein, whether implied or
- * otherwise, applies only to this software file. Patent licenses, if
- * any, provided herein do not apply to combinations of this program with
- * other software, or any other product whatsoever.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write the Free Software Foundation, Inc., 59
- * Temple Place - Suite 330, Boston MA 02111-1307, USA.
- *
- * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
- * Mountain View, CA 94043, or:
- *
- * http://www.sgi.com
- *
- * For further information regarding this notice, see:
- *
- * http://oss.sgi.com/projects/GenInfo/NoticeExplan/
- *
- */
-/* $Id$ */
-/**********************************************************
- *
- * OS Test - Silicon Graphics, Inc.
- *
- * TEST IDENTIFIER : unlink06
- *
- * EXECUTED BY : anyone
- *
- * TEST TITLE : unlink(2) of a FIFO
- *
- * PARENT DOCUMENT : usctpl01
- *
- * TEST CASE TOTAL : 1
- *
- * WALL CLOCK TIME : 1
- *
- * CPU TYPES : ALL
- *
- * AUTHOR : Richard Logan
- *
- * CO-PILOT : William Roske
- *
- * DATE STARTED : 03/30/94
- *
- * INITIAL RELEASE : UNICOS 7.0
- *
- * TEST CASES
- *
- * 1.) unlink(2) returns...(See Description)
- *
- * INPUT SPECIFICATIONS
- * The standard options for system call tests are accepted.
- * (See the parse_opts(3) man page).
- *
- * OUTPUT SPECIFICATIONS
- *
- * DURATION
- * Terminates - with frequency and infinite modes.
- *
- * SIGNALS
- * Uses SIGUSR1 to pause before test if option set.
- * (See the parse_opts(3) man page).
- *
- * RESOURCES
- * None
- *
- * ENVIRONMENTAL NEEDS
- * No run-time environmental needs.
- *
- * SPECIAL PROCEDURAL REQUIREMENTS
- * None
- *
- * INTERCASE DEPENDENCIES
- * None
- *
- * DETAILED DESCRIPTION
- * This is a Phase I test for the unlink(2) system call. It is intended
- * to provide a limited exposure of the system call, for now. It
- * should/will be extended when full functional tests are written for
- * unlink(2).
- *
- * Setup:
- * Setup signal handling.
- * Pause for SIGUSR1 if option specified.
- *
- * Test:
- * Loop if the proper options are given.
- * Execute system call
- * Check return code, if system call failed (return=-1)
- * Log the errno and Issue a FAIL message.
- * Otherwise, Issue a PASS message.
- *
- * Cleanup:
- * Print errno log and/or timing stats if options given
- *
- *
- *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#**/
-
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <sys/fcntl.h>
-#include <errno.h>
-#include <string.h>
-#include <signal.h>
-#include "test.h"
-#include "usctest.h"
-
-void setup();
-void create_file();
-void cleanup(void) __attribute__((noreturn));
-
-
-const char *TCID="unlink06"; /* Test program identifier. */
-int TST_TOTAL=1; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-
-int exp_enos[]={0, 0};
-
-char Fname[255];
-
-/***********************************************************************
- * Main
- ***********************************************************************/
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
-
- /***************************************************************
- * parse standard options
- ***************************************************************/
- if ( (msg=parse_opts(ac, av, (option_t *)NULL, NULL)) != (char *) NULL ) {
- tst_brkm(TBROK, NULL, "OPTION PARSING ERROR - %s", msg);
- tst_exit();
- }
-
- /***************************************************************
- * perform global setup for test
- ***************************************************************/
- setup();
-
- /* set the expected errnos... */
- TEST_EXP_ENOS(exp_enos);
-
- /***************************************************************
- * check looping state if -c option given
- ***************************************************************/
- for (lc=0; TEST_LOOPING(lc); lc++) {
-
- /* reset Tst_count in case we are looping. */
- Tst_count=0;
-
- create_file();
-
- /*
- * Call unlink(2)
- */
- TEST(unlink(Fname));
-
- /* check return code */
- if ( TEST_RETURN == -1 ) {
- TEST_ERROR_LOG(TEST_ERRNO);
- tst_resm(TFAIL, "unlink(%s) Failed, errno=%d : %s", Fname,
- TEST_ERRNO, strerror(TEST_ERRNO));
- } else if ( STD_FUNCTIONAL_TEST ) {
- if ( access(Fname, F_OK) != -1 ) {
- tst_resm(TFAIL,
- "unlink(%s) returned %d, but access says file still exists.",
- Fname, TEST_RETURN);
- }
- else {
- tst_resm(TPASS, "unlink(%s) returned %d", Fname, TEST_RETURN);
- }
- }
- else
- Tst_count++;
-
- } /* End for TEST_LOOPING */
-
- /***************************************************************
- * cleanup and exit
- ***************************************************************/
- cleanup();
-
- return 0;
-} /* End main */
-
-/***************************************************************
- * setup() - performs all ONE TIME setup for this test.
- ***************************************************************/
-void
-setup()
-{
- /* capture signals */
- tst_sig(NOFORK, DEF_HANDLER, cleanup);
-
- /* make a temp directory and cd to it */
- tst_tmpdir();
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-
- sprintf(Fname, "fifo_unlink%d", getpid());
-
-} /* End setup() */
-
-
-/***************************************************************
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- ***************************************************************/
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /* Remove tmp dir and all files in it */
- tst_rmdir();
-
- /* exit with return code appropriate for results */
- tst_exit();
-
-} /* End cleanup() */
-
-/******************************************************************
- *
- ******************************************************************/
-void
-create_file()
-{
- if(mkfifo(Fname, 0777) == -1) {
- tst_brkm(TBROK, cleanup,
- "mkfifo(%s, 0777) failed errno:%d %s\n", Fname,
- errno, strerror(errno));
- }
-}
diff --git a/winsup/testsuite/winsup.api/ltp/unlink07.c b/winsup/testsuite/winsup.api/ltp/unlink07.c
deleted file mode 100644
index 133109621..000000000
--- a/winsup/testsuite/winsup.api/ltp/unlink07.c
+++ /dev/null
@@ -1,328 +0,0 @@
-/*
- * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it would be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Further, this software is distributed without any warranty that it is
- * free of the rightful claim of any third person regarding infringement
- * or the like. Any license provided herein, whether implied or
- * otherwise, applies only to this software file. Patent licenses, if
- * any, provided herein do not apply to combinations of this program with
- * other software, or any other product whatsoever.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write the Free Software Foundation, Inc., 59
- * Temple Place - Suite 330, Boston MA 02111-1307, USA.
- *
- * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
- * Mountain View, CA 94043, or:
- *
- * http://www.sgi.com
- *
- * For further information regarding this notice, see:
- *
- * http://oss.sgi.com/projects/GenInfo/NoticeExplan/
- *
- */
-/* $Id$ */
-/**********************************************************
- *
- * OS Test - Silicon Graphics, Inc.
- *
- * TEST IDENTIFIER : unlink07
- *
- * EXECUTED BY : anyone
- *
- * TEST TITLE : unlink(2) negative testcases
- *
- * PARENT DOCUMENT : usctpl01
- *
- * TEST CASE TOTAL : 1
- *
- * WALL CLOCK TIME : 1
- *
- * CPU TYPES : ALL
- *
- * AUTHOR : Richard Logan
- *
- * CO-PILOT : William Roske
- *
- * DATE STARTED : 03/30/94
- *
- * INITIAL RELEASE : UNICOS 7.0
- *
- * TEST CASES
- *
- * 1-8) See Testcases structure below.
- *
- * INPUT SPECIFICATIONS
- * The standard options for system call tests are accepted.
- * (See the parse_opts(3) man page).
- *
- * OUTPUT SPECIFICATIONS
- *
- * DURATION
- * Terminates - with frequency and infinite modes.
- *
- * SIGNALS
- * Uses SIGUSR1 to pause before test if option set.
- * (See the parse_opts(3) man page).
- *
- * RESOURCES
- * None
- *
- * ENVIRONMENTAL NEEDS
- * No run-time environmental needs.
- *
- * SPECIAL PROCEDURAL REQUIREMENTS
- * None
- *
- * INTERCASE DEPENDENCIES
- * None
- *
- * DETAILED DESCRIPTION
- * This is a Phase I test for the unlink(2) system call. It is intended
- * to provide a limited exposure of the system call, for now. It
- * should/will be extended when full functional tests are written for
- * unlink(2).
- *
- * Setup:
- * Setup signal handling.
- * Pause for SIGUSR1 if option specified.
- *
- * Test:
- * Loop if the proper options are given.
- * Execute system call
- * Check return code, if system call failed (return=-1)
- * Log the errno and Issue a FAIL message.
- * Otherwise, Issue a PASS message.
- *
- * Cleanup:
- * Print errno log and/or timing stats if options given
- *
- *
- *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#**/
-
-#include <sys/types.h>
-#include <sys/fcntl.h>
-#include <sys/stat.h>
-#include <errno.h>
-#include <string.h>
-#include <signal.h>
-#include <sys/param.h> /* for PATH_MAX */
-#include "test.h"
-#include "usctest.h"
-
-void setup();
-void cleanup(void) __attribute__((noreturn));
-
-
-extern char *get_high_address();
-
-const char *TCID="unlink07"; /* Test program identifier. */
-int TST_TOTAL=6; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-
-int exp_enos[]={0, 0};
-
-int longpath_setup();
-int no_setup();
-int filepath_setup();
-char Longpathname[PATH_MAX+2];
-char High_address[64];
-
-struct test_case_t {
- const char *pathname;
- const char *desc;
- int exp_errno;
- int (*setupfunc)();
-} Test_cases[] = {
- { "nonexistfile", "non-existent file", ENOENT, no_setup},
- { "", "path is empty string", ENOENT, no_setup},
- { "nefile/file", "path contains a non-existent file",
- ENOENT, no_setup },
- { High_address, "address beyond address space", EFAULT, no_setup },
-#ifndef __CYGWIN__
- { "file/file", "path contains a regular file",
- ENOTDIR, filepath_setup },
-#endif
- { High_address, "address beyond address space", EFAULT, no_setup },
- { Longpathname, "pathname too long", ENAMETOOLONG, longpath_setup },
- { (char *)-1, "negative address", EFAULT, no_setup },
- { NULL, NULL, 0, no_setup }
-};
-
-/***********************************************************************
- * Main
- ***********************************************************************/
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
- const char *fname;
- const char *desc;
- int ind;
-
- /***************************************************************
- * parse standard options
- ***************************************************************/
- if ( (msg=parse_opts(ac, av, (option_t *)NULL, NULL)) != (char *) NULL ) {
- tst_brkm(TBROK, NULL, "OPTION PARSING ERROR - %s", msg);
- tst_exit();
- }
-
-
- /***************************************************************
- * perform global setup for test
- ***************************************************************/
- setup();
-
- /* set the expected errnos... */
- TEST_EXP_ENOS(exp_enos);
-
- /***************************************************************
- * check looping state if -c option given
- ***************************************************************/
- for (lc=0; TEST_LOOPING(lc); lc++) {
-
- /* reset Tst_count in case we are looping. */
- Tst_count=0;
-
-
- for (ind=0; Test_cases[ind].desc != NULL; ind++ ) {
-
- fname = Test_cases[ind].pathname;
- desc = Test_cases[ind].desc;
-
- if ( fname == High_address )
- fname = get_high_address();
-
- /*
- * Call unlink(2)
- */
- TEST(unlink(fname));
-
- /* check return code */
- if ( TEST_RETURN == -1 ) {
- if ( STD_FUNCTIONAL_TEST ) {
- if ( TEST_ERRNO == Test_cases[ind].exp_errno )
- tst_resm(TPASS, "unlink(<%s>) Failed, errno=%d",
- desc, TEST_ERRNO);
- else
- tst_resm(TFAIL,
- "unlink(<%s>) Failed, errno=%d, expected errno:%d",
- desc, TEST_ERRNO, Test_cases[ind].exp_errno);
- }
- else
- Tst_count++;
- } else {
- tst_resm(TFAIL,
- "unlink(<%s>) returned %d, expected -1, errno:%d",
- desc, TEST_RETURN, Test_cases[ind].exp_errno);
- }
- }
-
- } /* End for TEST_LOOPING */
-
- /***************************************************************
- * cleanup and exit
- ***************************************************************/
- cleanup();
-
- return 0;
-} /* End main */
-
-/***************************************************************
- * setup() - performs all ONE TIME setup for this test.
- ***************************************************************/
-void
-setup()
-{
- int ind;
-
- /* capture signals */
- tst_sig(NOFORK, DEF_HANDLER, cleanup);
-
- /* make a temp directory and cd to it */
- tst_tmpdir();
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-
- for (ind=0; Test_cases[ind].desc != NULL; ind++ ) {
- Test_cases[ind].setupfunc();
- }
-
-} /* End setup() */
-
-
-/***************************************************************
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- ***************************************************************/
-void
-cleanup()
-{
- chmod("unwrite_dir", 0777);
- chmod("unsearch_dir", 0777);
-
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /* Remove tmp dir and all files in it */
- tst_rmdir();
-
- /* exit with return code appropriate for results */
- tst_exit();
-
-} /* End cleanup() */
-
-/******************************************************************
- *
- ******************************************************************/
-int
-no_setup()
-{
- return 0;
-}
-
-/******************************************************************
- *
- ******************************************************************/
-int
-longpath_setup()
-{
- int ind;
-
- for(ind=0; ind<= PATH_MAX+1; ind++) {
- Longpathname[ind] = 'a';
- }
- return 0;
-
-}
-/******************************************************************
- *
- ******************************************************************/
-int
-filepath_setup()
-{
- int fd;
-
- if ( (fd=creat("file", 0777)) == -1 ) {
- tst_brkm(TBROK, cleanup, "creat(file) failed, errno:%d %s",
- errno, strerror(errno));
- }
- close(fd);
- return 0;
-}
-
diff --git a/winsup/testsuite/winsup.api/ltp/unlink08.c b/winsup/testsuite/winsup.api/ltp/unlink08.c
deleted file mode 100644
index e793b46f2..000000000
--- a/winsup/testsuite/winsup.api/ltp/unlink08.c
+++ /dev/null
@@ -1,432 +0,0 @@
-/*
- * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it would be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Further, this software is distributed without any warranty that it is
- * free of the rightful claim of any third person regarding infringement
- * or the like. Any license provided herein, whether implied or
- * otherwise, applies only to this software file. Patent licenses, if
- * any, provided herein do not apply to combinations of this program with
- * other software, or any other product whatsoever.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write the Free Software Foundation, Inc., 59
- * Temple Place - Suite 330, Boston MA 02111-1307, USA.
- *
- * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
- * Mountain View, CA 94043, or:
- *
- * http://www.sgi.com
- *
- * For further information regarding this notice, see:
- *
- * http://oss.sgi.com/projects/GenInfo/NoticeExplan/
- *
- */
-/* $Id$ */
-/**********************************************************
- *
- * OS Test - Silicon Graphics, Inc.
- *
- * TEST IDENTIFIER : unlink08
- *
- * EXECUTED BY : anyone
- *
- * TEST TITLE : unlink(2) negative testcases
- *
- * PARENT DOCUMENT : usctpl01
- *
- * TEST CASE TOTAL : 3
- *
- * WALL CLOCK TIME : 1
- *
- * CPU TYPES : ALL
- *
- * AUTHOR : Richard Logan
- *
- * CO-PILOT : William Roske
- *
- * DATE STARTED : 03/30/94
- *
- * INITIAL RELEASE : UNICOS 7.0
- *
- * TEST CASES
- *
- * 1-3) See Testcases structure below.
- *
- * INPUT SPECIFICATIONS
- * The standard options for system call tests are accepted.
- * (See the parse_opts(3) man page).
- *
- * OUTPUT SPECIFICATIONS
- *
- * DURATION
- * Terminates - with frequency and infinite modes.
- *
- * SIGNALS
- * Uses SIGUSR1 to pause before test if option set.
- * (See the parse_opts(3) man page).
- *
- * RESOURCES
- * None
- *
- * ENVIRONMENTAL NEEDS
- * No run-time environmental needs.
- *
- * SPECIAL PROCEDURAL REQUIREMENTS
- * None
- *
- * INTERCASE DEPENDENCIES
- * None
- *
- * DETAILED DESCRIPTION
- * This is a Phase I test for the unlink(2) system call. It is intended
- * to provide a limited exposure of the system call, for now. It
- * should/will be extended when full functional tests are written for
- * unlink(2).
- *
- * Setup:
- * Setup signal handling.
- * Pause for SIGUSR1 if option specified.
- *
- * Test:
- * Loop if the proper options are given.
- * Execute system call
- * Check return code, if system call failed (return=-1)
- * Log the errno and Issue a FAIL message.
- * Otherwise, Issue a PASS message.
- *
- * Cleanup:
- * Print errno log and/or timing stats if options given
- *
- *
- *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#**/
-
-#include <sys/types.h>
-#include <sys/fcntl.h>
-#include <sys/stat.h>
-#include <errno.h>
-#include <signal.h>
-#include <string.h>
-#include "test.h"
-#include "usctest.h"
-
-void setup();
-void cleanup(void) __attribute__((noreturn));
-
-
-
-const char *TCID="unlink08"; /* Test program identifier. */
-int TST_TOTAL=3; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-
-int exp_enos[]={0, 0};
-
-int unwrite_dir_setup();
-int unsearch_dir_setup();
-int dir_setup();
-int no_setup();
-
-struct test_case_t {
- const char *pathname;
- const char *desc;
- int (*setupfunc)();
- int exp_ret; /* -1 means error, 0 means != -1 */
- int exp_errno;
-} Test_cases[] = {
- { "unwrite_dir/file", "unwritable directory", unwrite_dir_setup,
- -1, EACCES},
- { "unsearch_dir/file", "unsearchable directory", unsearch_dir_setup,
- -1, EACCES },
-#ifdef linux
- { "regdir", "directory", dir_setup, -1, EISDIR},
-#else
- { "regdir", "directory", dir_setup, -1, EPERM},
-#endif
-
- { NULL, NULL, no_setup, -1, 0 }
-};
-
-/***********************************************************************
- * Main
- ***********************************************************************/
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
- const char *fname;
- const char *desc;
- int ind;
-
- /***************************************************************
- * parse standard options
- ***************************************************************/
- if ( (msg=parse_opts(ac, av, (option_t *)NULL, NULL)) != (char *) NULL ) {
- tst_brkm(TBROK, NULL, "OPTION PARSING ERROR - %s", msg);
- tst_exit();
- }
-
- /***************************************************************
- * perform global setup for test
- ***************************************************************/
- setup();
-
- /* set the expected errnos... */
- TEST_EXP_ENOS(exp_enos);
-
- /***************************************************************
- * check looping state if -c option given
- ***************************************************************/
- for (lc=0; TEST_LOOPING(lc); lc++) {
-
- /* reset Tst_count in case we are looping. */
- Tst_count=0;
-
-
- for (ind=0; Test_cases[ind].desc != NULL; ind++ ) {
-
- fname = Test_cases[ind].pathname;
- desc = Test_cases[ind].desc;
-
- /*
- * Call unlink(2)
- */
- TEST(unlink(fname));
-
- /* check return code */
- if ( TEST_RETURN == -1 ) {
- if ( Test_cases[ind].exp_ret == -1 ) { /* neg test */
- if ( STD_FUNCTIONAL_TEST ) {
- if ( TEST_ERRNO == Test_cases[ind].exp_errno )
- tst_resm(TPASS, "unlink(<%s>) Failed, errno=%d",
- desc, TEST_ERRNO);
- else
- tst_resm(TFAIL,
- "unlink(<%s>) Failed, errno=%d, expected errno:%d",
- desc, TEST_ERRNO, Test_cases[ind].exp_errno);
- }
- else
- Tst_count++;
- }
- else {
- tst_resm(TFAIL, "unlink(<%s>) Failed, errno=%d",
- desc, TEST_ERRNO);
- }
- } else {
- if ( Test_cases[ind].exp_ret == -1 ) {
- tst_resm(TFAIL,
- "unlink(<%s>) returned %d, expected -1, errno:%d",
- desc, TEST_RETURN, Test_cases[ind].exp_errno);
- }
- else if ( STD_FUNCTIONAL_TEST ) {
- tst_resm(TPASS,
- "unlink(<%s>) returned %d",
- desc, TEST_RETURN);
- }
- else
- Tst_count++;
- Test_cases[ind].setupfunc(1);
- }
- }
-
- } /* End for TEST_LOOPING */
-
- /***************************************************************
- * cleanup and exit
- ***************************************************************/
- cleanup();
-
- return 0;
-} /* End main */
-
-/***************************************************************
- * setup() - performs all ONE TIME setup for this test.
- ***************************************************************/
-void
-setup()
-{
- int ind;
- int postest = 0;
-
- /* capture signals */
- tst_sig(NOFORK, DEF_HANDLER, cleanup);
-
- /* make a temp directory and cd to it */
- tst_tmpdir();
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-
- if ( geteuid() == 0 ) {
- postest++;
- }
-
- for (ind=0; Test_cases[ind].desc != NULL; ind++ ) {
- if ( Test_cases[ind].exp_errno == EACCES && postest )
- Test_cases[ind].exp_ret=0; /* set as a pos test */
- Test_cases[ind].setupfunc(0);
- }
-
-} /* End setup() */
-
-
-/***************************************************************
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- ***************************************************************/
-void
-cleanup()
-{
- chmod("unwrite_dir", 0777);
- chmod("unsearch_dir", 0777);
-
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /* Remove tmp dir and all files in it */
- tst_rmdir();
-
- /* exit with return code appropriate for results */
- tst_exit();
-
-} /* End cleanup() */
-
-/******************************************************************
- *
- ******************************************************************/
-int
-unwrite_dir_setup(flag)
-int flag;
-{
- int fd;
-
- if ( ! flag ) { /* initial setup */
- if (mkdir("unwrite_dir", 0777) == -1 ) {
- tst_brkm(TBROK, cleanup,
- "mkdir(unwrite_dir, 0777) failed, errno:%d %s",
- errno, strerror(errno));
- }
-
- if ( (fd=creat("unwrite_dir/file", 0777)) == -1 ) {
- tst_brkm(TBROK, cleanup,
- "creat(unwrite_dir/file, 0777) failed, errno:%d %s",
- errno, strerror(errno));
- }
- close(fd);
-
- if ( chmod("unwrite_dir", 0555) == -1 ) {
- tst_brkm(TBROK, cleanup,
- "chmod(unwrite_dir, 0555) failed, errno:%d %s",
- errno, strerror(errno));
- }
- }
- else { /* resetup */
- if ( chmod("unwrite_dir", 0777) == -1 ) {
- tst_brkm(TBROK, cleanup,
- "chmod(unwrite_dir, 0777) failed, errno:%d %s",
- errno, strerror(errno));
- }
-
- if ( (fd=creat("unwrite_dir/file", 0777)) == -1 ) {
- tst_brkm(TBROK, cleanup,
- "creat(unwrite_dir/file, 0777) failed, errno:%d %s",
- errno, strerror(errno));
- }
- close(fd);
-
- if ( chmod("unwrite_dir", 0555) == -1 ) {
- tst_brkm(TBROK, cleanup,
- "chmod(unwrite_dir, 0555) failed, errno:%d %s",
- errno, strerror(errno));
- }
- }
- return 0;
-}
-
-/******************************************************************
- *
- ******************************************************************/
-int
-unsearch_dir_setup(flag)
-int flag;
-{
- int fd;
-
- if ( ! flag ) { /* initial setup */
- if (mkdir("unsearch_dir", 0777) == -1 ) {
- tst_brkm(TBROK, cleanup,
- "mkdir(unsearch_dir, 0777) failed, errno:%d %s",
- errno, strerror(errno));
- }
-
- if ( (fd=creat("unsearch_dir/file", 0777)) == -1 ) {
- tst_brkm(TBROK, cleanup,
- "creat(unsearch_dir/file, 0777) failed, errno:%d %s",
- errno, strerror(errno));
- }
- close(fd);
-
- if ( chmod("unsearch_dir", 0666) == -1 ) {
- tst_brkm(TBROK, cleanup,
- "chmod(unsearch_dir, 0666) failed, errno:%d %s",
- errno, strerror(errno));
- }
- }
- else { /* resetup */
- if ( chmod("unsearch_dir", 0777) == -1 ) {
- tst_brkm(TBROK, cleanup,
- "chmod(unsearch_dir, 0777) failed, errno:%d %s",
- errno, strerror(errno));
- }
-
- if ( (fd=creat("unsearch_dir/file", 0777)) == -1 ) {
- tst_brkm(TBROK, cleanup,
- "creat(unsearch_dir/file, 0777) failed, errno:%d %s",
- errno, strerror(errno));
- }
- close(fd);
-
- if ( chmod("unsearch_dir", 0666) == -1 ) {
- tst_brkm(TBROK, cleanup,
- "chmod(unsearch_dir, 0666) failed, errno:%d %s",
- errno, strerror(errno));
- }
- }
- return 0;
-}
-
-/******************************************************************
- *
- ******************************************************************/
-int
-dir_setup(flag)
-int flag;
-{
- if (mkdir("regdir", 0777) == -1 ) {
- tst_brkm(TBROK, cleanup,
- "mkdir(unwrite_dir, 0777) failed, errno:%d %s",
- errno, strerror(errno));
- }
- return 0;
-}
-
-/******************************************************************
- *
- ******************************************************************/
-int
-no_setup(flag)
-int flag;
-{
- return 0;
-}
diff --git a/winsup/testsuite/winsup.api/ltp/vfork01.c b/winsup/testsuite/winsup.api/ltp/vfork01.c
deleted file mode 100644
index 2792ce08b..000000000
--- a/winsup/testsuite/winsup.api/ltp/vfork01.c
+++ /dev/null
@@ -1,400 +0,0 @@
-/*
- *
- * Copyright (c) International Business Machines Corp., 2001
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-/*
- * Name: vfork01
- *
- * Test Description:
- * Fork a process using vfork() and verify that, the attribute values like
- * euid, ruid, suid, egid, rgid, sgid, umask, inode and device number of
- * root and current working directories are same as that of the parent
- * process.
- *
- * Expected Result:
- * The attribute values like euid, ruid, suid, egid, rgid, sgid, umask, inode
- * and device number of root and current working directory of the parent and
- * child processes should be equal.
- *
- * Algorithm:
- * Setup:
- * Setup signal handling.
- * Pause for SIGUSR1 if option specified.
- *
- * Test:
- * Loop if the proper options are given.
- * Execute system call
- * Check return code, if system call failed (return=-1)
- * Log the errno and Issue a FAIL message.
- * Otherwise,
- * Verify the Functionality of system call
- * if successful,
- * Issue Functionality-Pass message.
- * Otherwise,
- * Issue Functionality-Fail message.
- * Cleanup:
- * Print errno log and/or timing stats if options given
- *
- * Usage: <for command-line>
- * vfork01 [-c n] [-e] [-f] [-i n] [-I x] [-p x] [-t]
- * where, -c n : Run n copies concurrently.
- * -e : Turn on errno logging.
- * -f : Turn off functionality Testing.
- * -i n : Execute test n times.
- * -I x : Execute test for x seconds.
- * -P x : Pause for x seconds between iterations.
- * -t : Turn on syscall timing.
- *
- * History
- * 07/2001 John George
- * -Ported
- *
- * Restrictions:
- * None.
- *
- */
-
-#include <sys/types.h>
-#include <errno.h>
-#include <fcntl.h>
-#include <string.h>
-#include <signal.h>
-#include <sys/stat.h>
-#include <sys/wait.h>
-
-#include "test.h"
-#include "usctest.h"
-
-const char *TCID="vfork01"; /* Test program identifier. */
-int TST_TOTAL=1; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-int exp_enos[]={0};
-
-/* Variables to hold parent/child eff/real/saved uid/gid values */
-uid_t Peuid, Ceuid, Csuid, Psuid, Pruid, Cruid;
-gid_t Pegid, Cegid, Psgid, Csgid, Prgid, Crgid;
-mode_t Pumask,Cumask;
-
-char Pcwd_buf [PATH_MAX], Ccwd_buf [PATH_MAX];
-char *Pcwd, *Ccwd; /*
- * pathname of working directory of
- * child/parent process.
- */
-/* stat structure to hold directory/inode information for parent/child */
-struct stat StatPbuf;
-struct stat StatCbuf;
-struct stat Stat_cwd_Pbuf;
-struct stat Stat_cwd_Cbuf;
-
-void setup(); /* Main setup function of test */
-void cleanup() __attribute__((noreturn));/* cleanup function for the test */
-
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
- pid_t cpid; /* process id of the child process */
- int exit_status; /* exit status of child process */
-
- /* Parse standard options given to run the test. */
- msg = parse_opts(ac, av, (option_t *) NULL, NULL);
- if (msg != (char *) NULL) {
- tst_brkm(TBROK, NULL, "OPTION PARSING ERROR - %s", msg);
- tst_exit();
- }
-
- /* Perform global setup for test */
- setup();
-
- /* set the expected errnos... */
- TEST_EXP_ENOS(exp_enos);
-
- /* Check looping state if -i option given */
- for (lc = 0; TEST_LOOPING(lc); lc++) {
- /* Reset Tst_count in case we are looping. */
- Tst_count=0;
-
- /*
- * Call vfork(2) to create a child process without
- * fully copying the address space of parent.
- */
- TEST(vfork());
-
- /* check return code of vfork() */
- if ((cpid = TEST_RETURN) == -1) {
- TEST_ERROR_LOG(TEST_ERRNO);
- tst_resm(TFAIL, "vfork() Failed, errno=%d : %s",
- TEST_ERRNO, strerror(TEST_ERRNO));
- } else if (cpid == 0) { /* Child process */
- /*
- * Perform functional verification if test
- * executed without (-f) option.
- */
- if (STD_FUNCTIONAL_TEST) {
- /*
- * Get the euid, ruid, egid, rgid, umask value
- * and the current working directory of the
- * child process
- */
-#if (linux)
- if (getresuid(&Cruid, &Ceuid, &Csuid) < 0) {
- tst_resm(TFAIL, "getresuid() fails to "
- "get real/eff./saved uid of "
- "child process");
- _exit(1);
- }
-
- if (getresgid(&Crgid, &Cegid, &Csgid) < 0) {
- tst_resm(TFAIL, "getresgid() fails to "
- "get real/eff./saved gid of "
- "child process");
- _exit(1);
- }
-#else
- Cruid = getuid ();
- Ceuid = geteuid ();
- Csuid = 0;
- Crgid = getgid ();
- Cegid = getegid ();
- Csgid = 0;
-#endif
- /*
- * Get the file mode creation mask value of
- * child process by setting value zero and
- * restore the previous mask value.
- */
- Cumask = umask(0);
-
- /*
- * Restore the process mask of child to
- * previous value.
- */
- umask(Cumask);
-
- /*
- * Get the pathname of current working
- * directory for the child process.
- */
- if ((Ccwd = (char *)getcwd(Ccwd_buf, \
- BUFSIZ)) == NULL) {
- tst_resm(TFAIL, "getcwd failed for the "
- "child process");
- _exit(1);
- }
-
- /*
- * Get the device number and the inode
- * number of "/" directory for the child
- * process.
- */
- if (stat("/", &StatCbuf) < 0) {
- tst_resm(TFAIL, "stat(2) failed to get "
- "info. of'/' in the child "
- "process");
- _exit(1);
- }
-
- /*
- * Get the device/inode number of "."
- * (working directory) for the child process.
- */
- if (stat(Ccwd, &Stat_cwd_Cbuf) < 0) {
- tst_resm(TFAIL, "stat(2) failed to get "
- "info. of working irectory in "
- "the child");
- _exit(1);
- }
-
- /* Now, do the actual comparision */
- if (Peuid != Ceuid || Pegid != Cegid || \
- Psuid != Csuid || Psgid != Csgid || \
- Pruid != Cruid || Prgid != Crgid || \
- Pumask != Cumask) {
- tst_resm(TFAIL, "Arribute values of "
- "parent and child don't match");
- _exit(1);
- } else {
- tst_resm(TINFO, "Arribute values of "
- "parent and child match");
- }
-
- /* Check for the same working directories */
- if (strcmp(Pcwd, Ccwd) != 0) {
- tst_resm(TFAIL, "Working directories "
- "of parent and child don't "
- "match");
- _exit(1);
- } else {
- tst_resm(TINFO, "Working directories "
- "of parent and child match");
- }
-
- /*
- * Check for the same device/inode number of
- * '/' directory.
- */
- if ((StatPbuf.st_ino != StatCbuf.st_ino) || \
- (StatPbuf.st_dev != StatCbuf.st_dev)) {
- tst_resm(TFAIL, "Device/inode number "
- "of parent and childs '/' "
- " don't match");
- _exit(1);
- } else {
- tst_resm(TINFO, "Device/inode number "
- "of parent and childs '/' "
- "match");
- }
-
- /*
- * Check for the same device and inode number
- * of "." (current working directory.
- */
- if ((Stat_cwd_Pbuf.st_ino != \
- Stat_cwd_Cbuf.st_ino) || \
- (Stat_cwd_Pbuf.st_dev != \
- Stat_cwd_Cbuf.st_dev)) {
- tst_resm(TFAIL, "Device/inode number "
- "of parent and childs '.' "
- "don't match");
- _exit(1);
- } else {
- tst_resm(TINFO, "Device/inode number "
- "of parent and childs '.' "
- "match");
- }
-
- /*
- * Exit with normal exit code if everything
- * fine
- */
- _exit(0);
- }
- } else { /* parent process */
- /*
- * Let the parent process wait till child completes
- * its execution.
- */
- wait(&exit_status);
-
- /* Check for the exit status of child process */
- if (WEXITSTATUS(exit_status) == 0) {
- tst_resm(TPASS, \
- "Call of vfork() successful");
- } else if (WEXITSTATUS(exit_status) == 1) {
- tst_resm(TFAIL, \
- "Child process exited abnormally");
- }
- }
- Tst_count++; /* incr. TEST_LOOP counter */
- } /* End for TEST_LOOPING */
-
- /* Call cleanup() to undo setup done for the test. */
- cleanup();
- /*NOTREACHED*/
-
-} /* End main */
-
-/*
- * void
- * setup() - performs all ONE TIME setup for this test.
- * This function gets real/effective/saved uid/gid, umask, the device/inode
- * number of '/' and current working directory for the parent process.
- */
-void
-setup()
-{
- /* capture signals */
- tst_sig(FORK, DEF_HANDLER, cleanup);
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-
- /*
- * Get the euid, ruid, egid, rgid, umask value
- * and the current working directory of the parent process.
- */
-#if (linux)
- if (getresuid(&Pruid, &Peuid, &Psuid) < 0) {
- tst_brkm(TFAIL, cleanup, "getresuid() fails to get "
- "real/eff./saved uid of parent");
- }
-
- if (getresgid(&Prgid, &Pegid, &Psgid) < 0) {
- tst_brkm(TFAIL, cleanup, "getresgid() fails to get "
- "real/eff./saved gid of parent");
- }
-#else
- Pruid = getuid ();
- Peuid = geteuid ();
- Psuid = 0;
- Prgid = getgid ();
- Pegid = getegid ();
- Psgid = 0;
-#endif
- /* Get the process file mode creation mask by setting value 0 */
- Pumask = umask(0);
- umask(Pumask); /*
- * Restore the mask value of the
- * process.
- */
- /*
- * Get the pathname of current working directory of the parent
- * process.
- */
- if ((Pcwd = (char *) getcwd(Pcwd_buf, BUFSIZ)) == NULL) {
- tst_brkm(TFAIL, cleanup,
- "getcwd failed for the parent process");
- }
-
- /*
- * Get the device and inode number of root directory for the
- * parent process.
- */
- if (stat("/", &StatPbuf) == -1) {
- tst_brkm(TFAIL, cleanup, "stat(2) failed to get info. of '/' "
- "in parent process");
- }
-
- /*
- * Get the device number and the inode number of "." (current-
- * working directory) for the parent process.
- */
- if (stat(Pcwd, &Stat_cwd_Pbuf) < 0) {
- tst_brkm(TFAIL, cleanup, "stat(2) failed to get info. of "
- "working directory in parent process");
- }
-} /* End setup() */
-
-/*
- * void
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- */
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /* exit with return code appropriate for results */
- tst_exit();
-} /* End cleanup() */
diff --git a/winsup/testsuite/winsup.api/ltp/wait02.c b/winsup/testsuite/winsup.api/ltp/wait02.c
deleted file mode 100644
index a7de67a28..000000000
--- a/winsup/testsuite/winsup.api/ltp/wait02.c
+++ /dev/null
@@ -1,230 +0,0 @@
-/*
- * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it would be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Further, this software is distributed without any warranty that it is
- * free of the rightful claim of any third person regarding infringement
- * or the like. Any license provided herein, whether implied or
- * otherwise, applies only to this software file. Patent licenses, if
- * any, provided herein do not apply to combinations of this program with
- * other software, or any other product whatsoever.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write the Free Software Foundation, Inc., 59
- * Temple Place - Suite 330, Boston MA 02111-1307, USA.
- *
- * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
- * Mountain View, CA 94043, or:
- *
- * http://www.sgi.com
- *
- * For further information regarding this notice, see:
- *
- * http://oss.sgi.com/projects/GenInfo/NoticeExplan/
- *
- */
-/* $Id$ */
-/**********************************************************
- *
- * OS Test - Silicon Graphics, Inc.
- *
- * TEST IDENTIFIER : wait02
- *
- * EXECUTED BY : anyone
- *
- * TEST TITLE : Basic test for wait(2)
- *
- * PARENT DOCUMENT : usctpl01
- *
- * TEST CASE TOTAL : 1
- *
- * WALL CLOCK TIME : 1
- *
- * CPU TYPES : ALL
- *
- * AUTHOR : William Roske
- *
- * CO-PILOT : Dave Fenner
- *
- * DATE STARTED : 03/30/92
- *
- * INITIAL RELEASE : UNICOS 7.0
- *
- * TEST CASES
- *
- * 1.) wait(2) returns...(See Description)
- *
- * INPUT SPECIFICATIONS
- * The standard options for system call tests are accepted.
- * (See the parse_opts(3) man page).
- *
- * OUTPUT SPECIFICATIONS
- *
- * DURATION
- * Terminates - with frequency and infinite modes.
- *
- * SIGNALS
- * Uses SIGUSR1 to pause before test if option set.
- * (See the parse_opts(3) man page).
- *
- * RESOURCES
- * None
- *
- * ENVIRONMENTAL NEEDS
- * No run-time environmental needs.
- *
- * SPECIAL PROCEDURAL REQUIREMENTS
- * None
- *
- * INTERCASE DEPENDENCIES
- * None
- *
- * DETAILED DESCRIPTION
- * This is a Phase I test for the wait(2) system call. It is intended
- * to provide a limited exposure of the system call, for now. It
- * should/will be extended when full functional tests are written for
- * wait(2).
- *
- * Setup:
- * Setup signal handling.
- * Pause for SIGUSR1 if option specified.
- *
- * Test:
- * Loop if the proper options are given.
- * Execute system call
- * Check return code, if system call failed (return=-1)
- * Log the errno and Issue a FAIL message.
- * Otherwise, Issue a PASS message.
- *
- * Cleanup:
- * Print errno log and/or timing stats if options given
- *
- *
- *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#**/
-
-#include <errno.h>
-#include <string.h>
-#include <signal.h>
-#include <sys/types.h>
-#include <sys/wait.h>
-#include "test.h"
-#include "usctest.h"
-
-extern void setup();
-extern void cleanup();
-
-
-
-const char *TCID="wait02"; /* Test program identifier. */
-int TST_TOTAL=1; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-
-int exp_enos[]={0, 0};
-
-int fork_pid, ret_code;
-void trapper();
-
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
-
- /***************************************************************
- * parse standard options
- ***************************************************************/
- if ( (msg=parse_opts(ac, av, (option_t *) NULL, NULL)) != (char *) NULL )
- tst_brkm(TBROK, cleanup, "OPTION PARSING ERROR - %s", msg);
-
- /***************************************************************
- * perform global setup for test
- ***************************************************************/
- setup();
-
- /* set the expected errnos... */
- TEST_EXP_ENOS(exp_enos);
-
- /***************************************************************
- * check looping state if -c option given
- ***************************************************************/
- for (lc=0; TEST_LOOPING(lc); lc++) {
-
- /* reset Tst_count in case we are looping. */
- Tst_count=0;
-
- /* create a child to wait for */
- if ((fork_pid=fork()) == -1) {
- tst_brkm(TBROK, cleanup, "fork() Failure. errno=%d : %s", errno, strerror(errno));
- } else if (fork_pid == 0) {
- /* Child, sleep a second then exit */
- sleep(1);
- exit(1);
- }
-
- /* Parent, wait for child to die */
- TEST(wait(&ret_code));
-
- /* check return code */
- if ( TEST_RETURN == -1 ) {
- TEST_ERROR_LOG(TEST_ERRNO);
- tst_resm(TFAIL, "wait(1) Failed, errno=%d : %s",
- TEST_ERRNO, strerror(TEST_ERRNO));
- } else {
- /***************************************************************
- * only perform functional verification if flag set (-f not given)
- ***************************************************************/
- if ( STD_FUNCTIONAL_TEST ) {
- /* No Verification test, yet... */
- tst_resm(TPASS, "wait(&ret_code) returned %d", TEST_RETURN);
- }
- }
- } /* End for TEST_LOOPING */
-
- /***************************************************************
- * cleanup and exit
- ***************************************************************/
- cleanup();
-
- return 0;
-} /* End main */
-
-/***************************************************************
- * setup() - performs all ONE TIME setup for this test.
- ***************************************************************/
-void
-setup()
-{
- /* capture signals */
- tst_sig(FORK, DEF_HANDLER, cleanup);
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-
-} /* End setup() */
-
-
-/***************************************************************
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- ***************************************************************/
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /* exit with return code appropriate for results */
- tst_exit();
-} /* End cleanup() */
-
-
diff --git a/winsup/testsuite/winsup.api/ltp/wait401.c b/winsup/testsuite/winsup.api/ltp/wait401.c
deleted file mode 100644
index 51f71da55..000000000
--- a/winsup/testsuite/winsup.api/ltp/wait401.c
+++ /dev/null
@@ -1,188 +0,0 @@
-/*
- *
- * Copyright (c) International Business Machines Corp., 2001
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-/*
- * NAME
- * wait401.c
- *
- * DESCRIPTION
- * wait401 - check that a call to wait4() correctly waits for a child
- * process to exit
- *
- * ALGORITHM
- * loop if that option was specified
- * fork a child.
- * issue the system call
- * check the return value
- * if return value == -1
- * issue a FAIL message, break remaining tests and cleanup
- * if we are doing functional testing
- * issue a PASS message if the wait4 call returned the child's pid
- * else
- * issue a FAIL message
- * call cleanup
- *
- * USAGE: <for command-line>
- * wait401 [-c n] [-f] [-e] [-i n] [-I x] [-P x] [-t]
- * where, -c n : Run n copies concurrently.
- * -f : Turn off functionality Testing.
- * -i n : Execute test n times.
- * -I x : Execute test for x seconds.
- * -P x : Pause for x seconds between iterations.
- * -t : Turn on syscall timing.
- *
- * History
- * 07/2001 John George
- * -Ported
- *
- * Restrictions
- * none
- */
-
-#include "test.h"
-#include "usctest.h"
-
-#include <errno.h>
-#define _USE_BSD
-#include <sys/types.h>
-#include <sys/resource.h>
-#include <sys/wait.h>
-
-void cleanup(void) __attribute__((noreturn));
-void setup(void);
-
-const char *TCID= "wait401()";
-int TST_TOTAL = 1;
-extern int Tst_count;
-
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
- pid_t pid;
- int status = 1;
- struct rusage *rusage = NULL;
-
- /* parse standard options */
- if ((msg = parse_opts(ac, av, (option_t *) NULL, NULL)) != (char *) NULL) {
- tst_brkm(TBROK, cleanup, "OPTION PARSING ERROR - %s", msg);
- }
-
- setup(); /* global setup */
-
- /* The following loop checks looping state if -i option given */
-
- for (lc = 0; TEST_LOOPING(lc); lc++) {
- /* reset Tst_count in case we are looping */
- Tst_count = 0;
-
- /*
- * Allocate some space for the rusage structure
- */
-
- if ((rusage = (struct rusage *)malloc(sizeof(struct rusage)))
- == NULL) {
- tst_brkm(TBROK, cleanup, "malloc() failed");
- }
-
- pid = fork();
-
- if (pid == -1) {
- tst_brkm(TBROK, cleanup, "fork() failed");
- }
-
- if (pid == 0) { /* this is the child */
- /*
- * sleep for a moment to let us do the test
- */
- sleep(1);
- exit(0);
- } else { /* this is the parent */
-
- /* call wait4 with the TEST() macro */
- TEST(wait4(pid, &status, 0, rusage));
- }
-
- if (TEST_RETURN == -1) {
- tst_brkm(TFAIL, cleanup, "%s call failed - errno = %d "
- ": %s", TCID, TEST_ERRNO, strerror(TEST_ERRNO));
- }
-
- if (STD_FUNCTIONAL_TEST) {
- /*
- * The return from this call should be non-zero.
- */
- if (WIFEXITED(status) == 0) {
- tst_brkm(TFAIL, cleanup, "%s call succeeded but "
- "WIFEXITED() did not return expected value "
- "- %d", TCID, WIFEXITED(status));
- } else if (TEST_RETURN != pid) {
- tst_resm(TFAIL, "%s did not return the "
- "expected value. %d", TCID,
- TEST_RETURN);
- } else {
-
- tst_resm(TPASS, "Received child pid as expected.");
- }
- }
- tst_resm(TPASS, "%s call succeeded", TCID);
-
- /*
- * Clean up things in case we are looping.
- */
- free(rusage);
- rusage = NULL;
- }
-
- cleanup();
-
- /*NOTREACHED*/
-}
-
-/*
- * setup() - performs all the ONE TIME setup for this test.
- */
-void
-setup(void)
-{
- /* capture signals */
- tst_sig(FORK, DEF_HANDLER, cleanup);
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-}
-
-/*
- * cleanup() - performs all the ONE TIME cleanup for this test at completion
- * or premature exit.
- */
-void
-cleanup(void)
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /* exit with return code appropriate for results */
- tst_exit();
-}
-
diff --git a/winsup/testsuite/winsup.api/ltp/wait402.c b/winsup/testsuite/winsup.api/ltp/wait402.c
deleted file mode 100644
index 30f7500ac..000000000
--- a/winsup/testsuite/winsup.api/ltp/wait402.c
+++ /dev/null
@@ -1,203 +0,0 @@
-/*
- *
- * Copyright (c) International Business Machines Corp., 2001
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-/*
- * NAME
- * wait402.c
- *
- * DESCRIPTION
- * wait402 - check for ECHILD errno when using an illegal pid value
- *
- * ALGORITHM
- * loop if that option was specified
- * issue the system call with an illegal pid value
- * check the errno value
- * issue a PASS message if we get ECHILD
- * otherwise, the tests fails
- * issue a FAIL message
- * break any remaining tests
- * call cleanup
- *
- * USAGE: <for command-line>
- * wait402 [-c n] [-e] [-i n] [-I x] [-p x] [-t]
- * where, -c n : Run n copies concurrently.
- * -e : Turn on errno logging.
- * -i n : Execute test n times.
- * -I x : Execute test for x seconds.
- * -P x : Pause for x seconds between iterations.
- * -t : Turn on syscall timing.
- *
- * History
- * 07/2001 John George
- * -Ported
- *
- * Restrictions
- * none
- */
-
-#include "test.h"
-#include "usctest.h"
-
-#include <errno.h>
-#define _USE_BSD
-#include <sys/types.h>
-#include <sys/resource.h>
-#include <sys/wait.h>
-
-/*
- * See the Makefile for comments about the following preprocessor code.
- */
-#if defined (__CYGWIN__)
-#define PID_MAX 0xfffffffd
-#else
-#ifndef _LTP_TASKS_H
-#include <linux/threads.h> /* for PID_MAX value - new */
-#else
-#include <linux/tasks.h> /* for PID_MAX value - old */
-#endif
-#endif
-
-void cleanup(void) __attribute__((noreturn));
-void setup(void);
-
-const char *TCID= "wait402()";
-int TST_TOTAL = 1;
-extern int Tst_count;
-
-int exp_enos[] = {10, 0};
-
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
- pid_t pid;
- pid_t epid = PID_MAX + 1;
- int status = 1;
- struct rusage *rusage=NULL;
-
- /* parse standard options */
- if ((msg = parse_opts(ac, av, (option_t *) NULL, NULL)) != (char *) NULL) {
- tst_brkm(TBROK, cleanup, "OPTION PARSING ERROR - %s", msg);
- }
-
- setup(); /* global setup */
-
- /* The following loop checks looping state if -i option given */
-
- for (lc = 0; TEST_LOOPING(lc); lc++) {
- /* reset Tst_count in case we are looping */
- Tst_count = 0;
-
-
- /*
- * Allocate some space for the rusage structure.
- */
-
- if ((rusage = (struct rusage *)malloc(sizeof(struct rusage)))
- == NULL) {
- tst_brkm(TBROK, cleanup, "malloc() failed");
- }
-
- pid = fork();
-
- if (pid == -1) {
- tst_brkm(TBROK, cleanup, "fork() failed");
- }
-
- if (pid == 0) { /* this is the child */
- /*
- * sleep for a moment to let us do the test
- */
- sleep(1);
- exit(0);
- } else { /* this is the parent */
- /*
- * call wait4 with the TEST() macro. epid is set
- * to an illegal positive value. This should give
- * an ECHILD error.
- */
- TEST(wait4(epid, &status, 0, rusage));
- }
-
- if (TEST_RETURN == 0) {
- tst_brkm(TFAIL, cleanup, "call failed to produce expected error - errno = %d - %s", TEST_ERRNO, strerror(TEST_ERRNO));
- }
-
- TEST_ERROR_LOG(TEST_ERRNO);
-
- switch (TEST_ERRNO) {
- case ECHILD:
- tst_resm(TPASS, "received expected failure - errno = %d - %s",
- TEST_ERRNO, strerror(TEST_ERRNO));
- break;
- default:
- tst_brkm(TFAIL, cleanup, "call failed to produce expected "
- "error - errno = %d - %s", TEST_ERRNO,
- strerror(TEST_ERRNO));
- }
-
- /*
- * Clean up things in case we are looping.
- */
- if (pid > 0) {
- wait4(pid, &status, 0, rusage);
- }
- free(rusage);
- rusage = NULL;
- }
-
- cleanup();
-
- /*NOTREACHED*/
-}
-
-/*
- * setup() - performs all the ONE TIME setup for this test.
- */
-void
-setup(void)
-{
- /* capture signals */
- tst_sig(FORK, DEF_HANDLER, cleanup);
-
- /* Set up the expected error numbers for -e option */
- TEST_EXP_ENOS(exp_enos);
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-}
-
-/*
- * cleanup() - performs all the ONE TIME cleanup for this test at completion
- * or premature exit.
- */
-void
-cleanup(void)
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /* exit with return code appropriate for results */
- tst_exit();
-}
-
diff --git a/winsup/testsuite/winsup.api/ltp/write01.c b/winsup/testsuite/winsup.api/ltp/write01.c
deleted file mode 100644
index 355190af6..000000000
--- a/winsup/testsuite/winsup.api/ltp/write01.c
+++ /dev/null
@@ -1,250 +0,0 @@
-/*
- * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it would be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Further, this software is distributed without any warranty that it is
- * free of the rightful claim of any third person regarding infringement
- * or the like. Any license provided herein, whether implied or
- * otherwise, applies only to this software file. Patent licenses, if
- * any, provided herein do not apply to combinations of this program with
- * other software, or any other product whatsoever.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write the Free Software Foundation, Inc., 59
- * Temple Place - Suite 330, Boston MA 02111-1307, USA.
- *
- * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
- * Mountain View, CA 94043, or:
- *
- * http://www.sgi.com
- *
- * For further information regarding this notice, see:
- *
- * http://oss.sgi.com/projects/GenInfo/NoticeExplan/
- *
- */
-/* $Id$ */
-/**********************************************************
- *
- * OS Test - Silicon Graphics, Inc.
- *
- * TEST IDENTIFIER : write01
- *
- * EXECUTED BY : anyone
- *
- * TEST TITLE : Basic test for write(2)
- *
- * PARENT DOCUMENT : usctpl01
- *
- * TEST CASE TOTAL : 1
- *
- * WALL CLOCK TIME : 1
- *
- * CPU TYPES : ALL
- *
- * AUTHOR : William Roske
- *
- * CO-PILOT : Dave Fenner
- *
- * DATE STARTED : 03/30/92
- *
- * INITIAL RELEASE : UNICOS 7.0
- *
- * TEST CASES
- *
- * 1.) write(2) returns...(See Description)
- *
- * INPUT SPECIFICATIONS
- * The standard options for system call tests are accepted.
- * (See the parse_opts(3) man page).
- *
- * OUTPUT SPECIFICATIONS
- *
- * DURATION
- * Terminates - with frequency and infinite modes.
- *
- * SIGNALS
- * Uses SIGUSR1 to pause before test if option set.
- * (See the parse_opts(3) man page).
- *
- * RESOURCES
- * None
- *
- * ENVIRONMENTAL NEEDS
- * No run-time environmental needs.
- *
- * SPECIAL PROCEDURAL REQUIREMENTS
- * None
- *
- * INTERCASE DEPENDENCIES
- * None
- *
- * DETAILED DESCRIPTION
- * This is a Phase I test for the write(2) system call. It is intended
- * to provide a limited exposure of the system call, for now. It
- * should/will be extended when full functional tests are written for
- * write(2).
- *
- * Setup:
- * Setup signal handling.
- * Pause for SIGUSR1 if option specified.
- *
- * Test:
- * Loop if the proper options are given.
- * Execute system call
- * Check return code, if system call failed (return=-1)
- * Log the errno and Issue a FAIL message.
- * Otherwise, Issue a PASS message.
- *
- * Cleanup:
- * Print errno log and/or timing stats if options given
- *
- * UPDATE HISTORY
- * user date description
- * ------------------------------------------------------
- * wermager 3/00 Switched sequence of calls to TEST_PAUSE
- * and tst_tmpdir() in setup().
- *
- *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#**/
-
-#include <sys/types.h>
-#include <sys/fcntl.h>
-#include <errno.h>
-#include <string.h>
-#include <signal.h>
-#include "test.h"
-#include "usctest.h"
-
-extern void setup();
-extern void cleanup();
-
-
-
-const char *TCID="write01"; /* Test program identifier. */
-int TST_TOTAL=1; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-
-int exp_enos[]={0, 0};
-
-char fname[255];
-int fd;
-char buf = 'w';
-
-int
-main(int ac, char **av)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
-
- /***************************************************************
- * parse standard options
- ***************************************************************/
- if ( (msg=parse_opts(ac, av, (option_t *) NULL, NULL)) != (char *) NULL ) {
- tst_brkm(TBROK, NULL, "OPTION PARSING ERROR - %s", msg);
- tst_exit();
- }
-
- /***************************************************************
- * perform global setup for test
- ***************************************************************/
- setup();
-
- /* set the expected errnos... */
- TEST_EXP_ENOS(exp_enos);
-
- /***************************************************************
- * check looping state if -c option given
- ***************************************************************/
- for (lc=0; TEST_LOOPING(lc); lc++) {
-
- /* reset Tst_count in case we are looping. */
- Tst_count=0;
-
- /*
- * Call write(2)
- */
- TEST(write(fd, &buf, 1));
-
- /* check return code */
- if ( TEST_RETURN == -1 ) {
- TEST_ERROR_LOG(TEST_ERRNO);
- tst_resm(TFAIL, "write(%s, F_CLRALF, 1) Failed, errno=%d : %s", fname,
- TEST_ERRNO, strerror(TEST_ERRNO));
- } else {
- /***************************************************************
- * only perform functional verification if flag set (-f not given)
- ***************************************************************/
- if ( STD_FUNCTIONAL_TEST ) {
- /* No Verification test, yet... */
- tst_resm(TPASS, "write(%s, F_CLRALF, 1) returned %d", fname, TEST_RETURN);
- }
- }
-
- } /* End for TEST_LOOPING */
-
- /***************************************************************
- * cleanup and exit
- ***************************************************************/
- cleanup();
-
- return 0;
-} /* End main */
-
-/***************************************************************
- * setup() - performs all ONE TIME setup for this test.
- ***************************************************************/
-void
-setup()
-{
- /* capture signals */
- tst_sig(FORK, DEF_HANDLER, cleanup);
-
-
- /* Pause if that option was specified */
- TEST_PAUSE;
-
- /* make a temp directory and cd to it */
- tst_tmpdir();
-
- sprintf(fname,"tfile_%d",getpid());
- if ((fd = open(fname,O_RDWR|O_CREAT,0700)) == -1) {
- tst_brkm(TBROK, cleanup,
- "open(%s, O_RDWR|O_CREAT,0700) Failed, errno=%d : %s",
- fname, errno, strerror(errno));
- }
-} /* End setup() */
-
-
-/***************************************************************
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit.
- ***************************************************************/
-void
-cleanup()
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- /* close the file we have open */
- if (close(fd) == -1) {
- tst_resm(TWARN, "close(%s) Failed, errno=%d : %s", fname, errno, strerror(errno));
- }
-
- /* Remove tmp dir and all files in it */
- tst_rmdir();
-
- /* exit with return code appropriate for results */
- tst_exit();
-} /* End cleanup() */
-
-
diff --git a/winsup/testsuite/winsup.api/ltp/write02.c b/winsup/testsuite/winsup.api/ltp/write02.c
deleted file mode 100644
index a5675bd6d..000000000
--- a/winsup/testsuite/winsup.api/ltp/write02.c
+++ /dev/null
@@ -1,165 +0,0 @@
-/*
- *
- * Copyright (c) International Business Machines Corp., 2001
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-/*
- * NAME
- * write02.c
- *
- * DESCRIPTION
- * Basic functionality test: does the return from write match the count
- * of the number of bytes written.
- *
- *
- * ALGORITHM
- * Create a file and write some bytes out to it.
- * Check the return count against the number returned.
- *
- * USAGE: <for command-line>
- * write02 [-c n] [-e] [-i n] [-I x] [-P x] [-t]
- * where, -c n : Run n copies concurrently.
- * -e : Turn on errno logging.
- * -i n : Execute test n times.
- * -I x : Execute test for x seconds.
- * -P x : Pause for x seconds between iterations.
- * -t : Turn on syscall timing.
- *
- * History
- * 07/2001 John George
- * -Ported
- *
- * Restrictions
- * None
- */
-
-#include <errno.h>
-#include "test.h"
-#include "usctest.h"
-#include <fcntl.h>
-
-const char *TCID = "write02()";
-int TST_TOTAL = 1;
-extern int Tst_count;
-
-void cleanup(void) __attribute__ ((noreturn));
-void setup(void);
-
-char pfiln[40] = "";
-
-int
-main(int argc, char **argv)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
-
- int cwrite;
- int fild;
- int iws;
- int badcount = 0;
- char pwbuf[BUFSIZ + 1];
-
- /* parse standard options */
- if ((msg = parse_opts(argc, argv, (option_t *) NULL, NULL))) {
- tst_brkm(TBROK, cleanup, "OPTION PARSING ERROR - %s", msg);
- /*NOTREACHED*/
- }
-
- setup(); /* global setup for test */
-
- /* The following loop checks looping state if -i option given */
- for (lc = 0; TEST_LOOPING(lc); lc++) {
-
- /* reset Tst_count in case we are looping */
- Tst_count = 0;
-
- tst_resm(TINFO, "Block 1: test to see write() returns proper "
- "write count");
-
- for (iws = 0; iws < BUFSIZ; iws++) {
- pwbuf[iws] = 'A' + (iws % 26);
- }
- pwbuf[BUFSIZ] = '\n';
-
- if ((fild = creat(pfiln, 0777)) == -1) {
- tst_brkm(TBROK, cleanup, "Can't creat Xwrit");
- /*NOTREACHED*/
- }
- for (iws = BUFSIZ; iws > 0; iws--) {
- if ((cwrite = write(fild, pwbuf, iws)) != iws) {
- TEST_ERROR_LOG(errno);
- badcount++;
- tst_resm(TINFO, "bad write count");
- }
- }
- if (badcount != 0) {
- tst_resm(TFAIL, "write() FAILED to return proper cnt");
- } else {
- tst_resm(TPASS, "write() PASSED");
- }
- tst_resm(TINFO, "block 1 passed");
- close(fild);
- }
- cleanup();
- /*NOTREACHED*/
-}
-
-/*
- * setup() - performs all ONE TIME setup for this test
- */
-void
-setup(void)
-{
- /* capture signals */
- tst_sig(FORK, DEF_HANDLER, cleanup);
-
- umask(0);
-
- /* Pause if that option was specified
- * TEST_PAUSE contains the code to fork the test with the -i option.
- * You want to make sure you do this before you create your temporary
- * directory.
- */
- TEST_PAUSE;
-
- /* make a temp directory and cd to it */
- tst_tmpdir();
-
- sprintf(pfiln, "./write1.%d", getpid());
-}
-
-/*
- * cleanup() - performs all ONE TIME cleanup for this test at completion or
- * premature exit.
- */
-void
-cleanup(void)
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- unlink(pfiln);
-
- /* Remove tmp dir and all files in it */
- tst_rmdir();
-
- /* exit with return code appropriate for results */
- tst_exit();
-}
diff --git a/winsup/testsuite/winsup.api/ltp/write03.c b/winsup/testsuite/winsup.api/ltp/write03.c
deleted file mode 100644
index 7d6f1f945..000000000
--- a/winsup/testsuite/winsup.api/ltp/write03.c
+++ /dev/null
@@ -1,192 +0,0 @@
-/*
- *
- * Copyright (c) International Business Machines Corp., 2001
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-/*
- * NAME
- * write03.c
- *
- * DESCRIPTION
- * Testcase to check that write(2) doesn't corrupt a file when it fails
- *
- * ALGORITHM
- * Create a file for writing, write 100 bytes to it. Then make write(2)
- * fail with some erroneous parameter, close the fd. Then reopen the
- * file in RDONLY mode, and read the contents of the file. Compare the
- * buffers, to see whether they are same.
- *
- * USAGE: <for command-line>
- * write03 [-c n] [-e] [-i n] [-I x] [-P x] [-t]
- * where, -c n : Run n copies concurrently.
- * -e : Turn on errno logging.
- * -i n : Execute test n times.
- * -I x : Execute test for x seconds.
- * -P x : Pause for x seconds between iterations.
- * -t : Turn on syscall timing.
- *
- * History
- * 07/2001 John George
- * -Ported
- *
- * Restrictions
- * NONE
- */
-
-#include <string.h>
-#include <fcntl.h>
-#include <errno.h>
-#include <test.h>
-#include <usctest.h>
-
-/* 0 terminated list of expected errnos */
-int exp_enos[] = {14,0};
-
-const char *TCID = "write03";
-int TST_TOTAL = 1;
-extern int Tst_count;
-
-void setup(void);
-void cleanup(void) __attribute__((noreturn));
-
-int fd = -1;
-char filename[100];
-
-int
-main(int argc, char **argv)
-{
- int lc; /* loop counter */
- const char *msg; /* message returned from parse_opts */
-
- char wbuf[BUFSIZ], rbuf[BUFSIZ];
-
- /* parse standard options */
- if ((msg = parse_opts(argc, argv, (option_t *)NULL, NULL)) !=
- (char *)NULL) {
- tst_brkm(TBROK, cleanup, "OPTION PARSING ERROR - %s", msg);
- /*NOTREACHED*/
- }
-
- /* global setup */
- setup();
-
- /* The following loop checks looping state if -i option given */
- for (lc = 0; TEST_LOOPING(lc); lc++) {
-
- /* reset Tst_count in case we are looping */
- Tst_count = 0;
-
- tst_resm(TINFO, "Enter Block 1: test to check if write "
- "corrupts the file when write fails");
-
- fd = creat(filename, 0644);
- if (fd < 0) {
- tst_resm(TBROK, "creating a new file failed");
- cleanup();
- /*NOTREACHED*/
- }
-
- (void)memset(wbuf, '0', 100);
-
- if (write(fd, wbuf, 100) == -1) {
- tst_resm(TFAIL, "failed to write to %s", filename);
- cleanup();
- /*NOTREACHED*/
- }
-
- if (write(fd, (void *)-1, 100) != -1) {
- tst_resm(TFAIL, "write(2) failed to fail");
- cleanup();
- /*NOTREACHED*/
- }
- TEST_ERROR_LOG(errno);
- close(fd);
- fd = -1;
-
- if ((fd = open(filename, O_RDONLY)) == -1) {
- tst_resm(TBROK, "open(2) failed, errno: %d", errno);
- cleanup();
- /*NOTREACHED*/
- }
-
- if (read(fd, rbuf, 100) == -1) {
- tst_resm(TBROK, "read(2) failed, errno: %d", errno);
- cleanup();
- /*NOTREACHED*/
- }
-
- if (memcmp(wbuf, rbuf, 100) == 0) {
- tst_resm(TPASS, "failure of write(2) didnot corrupt "
- "the file");
- } else {
- tst_resm(TFAIL, "failure of write(2) corrupted the "
- "file");
- }
- tst_resm(TINFO, "Exit block 1");
- }
- cleanup();
- /*NOTREACHED*/
-}
-
-/*
- * setup() - performs all ONE TIME setup for this test
- */
-void
-setup(void)
-{
- /* capture signals */
- tst_sig(FORK, DEF_HANDLER, cleanup);
-
- /* Set up the expected error numbers for -e option */
- TEST_EXP_ENOS(exp_enos);
-
- /* Pause if that option was specified
- * TEST_PAUSE contains the code to fork the test with the -i option.
- * You want to make sure you do this before you create your temporary
- * directory.
- */
- TEST_PAUSE;
-
- /* Create a unique temporary directory and chdir() to it. */
- tst_tmpdir();
-
- sprintf(filename, "./write03.%d", getpid());
-}
-
-/*
- * cleanup() - performs all ONE TIME cleanup for this test at
- * completion or premature exit
- */
-void
-cleanup(void)
-{
- /*
- * print timing stats if that option was specified.
- * print errno log if that option was specified.
- */
- TEST_CLEANUP;
-
- if (fd >= 0)
- close (fd);
-
- unlink(filename);
- tst_rmdir();
-
- /* exit with return code appropriate for results */
- tst_exit();
- /*NOTREACHED*/
-}
diff --git a/winsup/testsuite/winsup.api/mmaptest01.c b/winsup/testsuite/winsup.api/mmaptest01.c
deleted file mode 100644
index fe3226d1b..000000000
--- a/winsup/testsuite/winsup.api/mmaptest01.c
+++ /dev/null
@@ -1,176 +0,0 @@
-/*
- Copyright 2001 Free Software Foundation, Inc.
- Written by Michael Chastain, <chastain@redhat.com>
- Changes by Corinna Vinschen, <corinna@vinschen.de>:
- - Using mkstemp to generate filenames.
- - Adding tests
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place - Suite 330,
- Boston, MA 02111-1307, USA.
-
- This program demonstrates a bug in cygwin's mmap.
- I open one file, mmap it, and close it.
- I open a different file, mmap it, and close it.
-
- The second file re-uses the file handle (which is OK),
- but then it re-uses the buffer as well! Ouch!
-
- This bug occurs on cygwin1.dll dated 2001-01-31.
- It causes gnu cpp to screw up its include file buffers.
-
- Compile with "gcc -o y1 y1.c".
-
- Output from a bad cygwin1.dll:
-
- y1.txt: 3 0x4660000 y1 y1 y1 y1 y1 y1 y1
- y2.txt: 3 0x4660000 y1 y1 y1 y1 y1 y1 y1
-
- Output from a good cygwin1.dll:
-
- y1.txt: 3 0x14060000 y1 y1 y1 y1 y1 y1 y1
- y2.txt: 3 0x14070000 y2 y2 y2 y2 y2 y2 y2
-
- Output from Red Hat Linux 7:
-
- y1.txt: 3 0x40017000 y1 y1 y1 y1 y1 y1 y1
- y2.txt: 3 0x40018000 y2 y2 y2 y2 y2 y2 y2
- */
-
-#include <sys/mman.h>
-#include <fcntl.h>
-#include <string.h>
-
-#include "test.h"
-#include "usctest.h"
-
-const char *TCID = "mmaptest01"; /* Test program identifier. */
-int TST_TOTAL = 7; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-
-/* some systems have O_BINARY and some do not */
-#ifndef O_BINARY
-#define O_BINARY 0
-#endif
-
-/* filler for file 1 */
-char const line1 [] = "y1 y1 y1 y1 y1 y1 y1 y1 y1 y1 y1 y1 y1 y1 y1 y1 y1\n";
-#define size1 (sizeof(line1) - 1)
-#define count1 ((4096 / size1) + 1)
-
-/* filler for file 2 */
-char const line2 [] = "y2 y2 y2 y2 y2 y2 y2 y2 y2 y2 y2 y2 y2 y2 y2 y2 y2\n";
-#define size2 (sizeof(line2) - 1)
-#define count2 ((4096 / size2) + 1)
-
-int main ()
-{
- char fnam1[32];
- char fnam2[32];
-
- int fd1;
- char * buf1;
-
- int fd2;
- char * buf2;
-
- char buf3[20];
-
- unsigned i;
-
- strcpy (fnam1, "mmaptest01.1.XXXXXX");
- strcpy (fnam2, "mmaptest01.2.XXXXXX");
-
- /* create file 1 */
- //fd1 = open (fnam1, O_WRONLY|O_CREAT|O_TRUNC|O_BINARY, 0644);
- fd1 = mkstemp (fnam1);
- for (i = 0; i < count1; i++)
- write (fd1, line1, size1);
- close (fd1);
-
- /* create file 2 */
- //fd2 = open (fnam2, O_WRONLY|O_CREAT|O_TRUNC|O_BINARY, 0644);
- fd2 = mkstemp (fnam2);
- for (i = 0; i < count2; i++)
- write (fd2, line2, size2);
- close (fd2);
-
- /* mmap file 1 */
- fd1 = open (fnam1, O_RDONLY | O_BINARY, 0644);
- buf1 = mmap (0, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE, fd1, 0);
- close (fd1);
-
- /* mmap file 2 */
- fd2 = open (fnam2, O_RDONLY | O_BINARY, 0644);
- buf2 = mmap (0, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE, fd2, 0);
- close (fd2);
-
- /* the buffers have to be different */
- Tst_count = 0;
- tst_resm (buf1 == buf2 || !memcmp (buf1, buf2, 20) ? TFAIL : TPASS,
- "mmap uses unique buffers when mapping different already closed files");
- munmap (buf2, 4096);
-
- /* mmap file 1 twice with MAP_PRIVATE */
- fd2 = open (fnam1, O_RDONLY | O_BINARY, 0644);
- buf2 = mmap (0, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE, fd2, 0);
- close (fd2);
-
- tst_resm (buf1 == buf2 ? TFAIL : TPASS,
- "mmap uses different buffers on MAP_PRIVATE mapping");
-
- tst_resm (memcmp (buf1, buf2, 20) ? TFAIL : TPASS,
- "two private buffers of the same file are identical");
-
- buf1[0] = 0x7f;
- tst_resm (!memcmp (buf1, buf2, 20) ? TFAIL : TPASS,
- "changes are private in MAP_PRIVATE mappings");
-
- munmap (buf1, 4096);
- munmap (buf2, 4096);
-
- /* mmap file 1 twice with MAP_SHARED */
- fd1 = open (fnam1, O_RDWR | O_BINARY, 0644);
- buf1 = mmap (0, 4096, PROT_READ|PROT_WRITE, MAP_SHARED, fd1, 0);
- close (fd1);
-
- fd2 = open (fnam1, O_RDWR | O_BINARY, 0644);
- buf2 = mmap (0, 4096, PROT_READ|PROT_WRITE, MAP_SHARED, fd2, 0);
- close (fd2);
-
- tst_resm (memcmp (buf1, buf2, 20) ? TFAIL : TPASS,
- "two shared buffers of the same file are identical");
-
- buf1[0] = 0x7f;
- tst_resm (memcmp (buf1, buf2, 20) ? TFAIL : TPASS,
- "changes are shared between MAP_SHARED mappings of the same file");
- if (buf1 == buf2) /* Win 9x weirdness */
- msync (buf2, 4096, MS_SYNC);
- else
- munmap (buf2, 4096);
-
- fd2 = open (fnam1, O_RDWR | O_BINARY, 0644);
- memset (buf3, 0, 20);
- read (fd2, buf3, 20);
- close (fd2);
-
- tst_resm (memcmp (buf1, buf3, 20) ? TFAIL : TPASS,
- "changes are propagated to the mapped file on MAP_SHARED mapping");
-
- munmap (buf1, 4096);
- unlink (fnam1);
- unlink (fnam2);
- tst_exit ();
-}
-
diff --git a/winsup/testsuite/winsup.api/mmaptest02.c b/winsup/testsuite/winsup.api/mmaptest02.c
deleted file mode 100644
index bec7c392c..000000000
--- a/winsup/testsuite/winsup.api/mmaptest02.c
+++ /dev/null
@@ -1,190 +0,0 @@
-#include <sys/types.h>
-#include <sys/mman.h>
-#include <unistd.h>
-#include <fcntl.h>
-#include <signal.h>
-#include <setjmp.h>
-#include <stdlib.h>
-#include <stdio.h>
-#include <errno.h>
-#include <string.h>
-
-sigset_t unblock_sigsegv;
-jmp_buf r;
-size_t pg;
-
-int fd;
-
-/* Checks behaviour of anonymous mmap.
-
- test_1: If we map a 2-page region and unmap its second page, the first page
- must remain.
-
- test_2: If we map a 2-page region and unmap its first page, the second
- page must remain.
-
- test_3: If we map two consecutive 1-page regions and unmap them both with
- one munmap, both must go away.
-*/
-
-void
-perror_exit (const char *str, int code)
-{
- printf ("%s: %s\n", str, strerror (errno));
- exit (code);
-}
-
-void
-anonmap_init ()
-{
- sigemptyset (&unblock_sigsegv);
- sigaddset (&unblock_sigsegv, SIGSEGV);
- pg = getpagesize ();
- fd = open ("/dev/zero", O_RDWR);
-}
-
-char *
-anonmap (size_t size)
-{
- return (char *) mmap (0, size, PROT_READ|PROT_WRITE, MAP_PRIVATE, fd, 0);
-}
-
-void
-anonfree (char *loc, size_t size)
-{
- munmap (loc, size);
-}
-
-void
-sigsegv (int unused)
-{
- sigprocmask (SIG_UNBLOCK, &unblock_sigsegv, 0);
- longjmp (r, 1);
-}
-
-int
-compare_pointers (const void *a, const void *b)
-{
- const char *x = *(const char *const *)a;
- const char *y = *(const char *const *)b;
-
- if (x > y)
- return 1;
- if (x < y)
- return -1;
- return 0;
-}
-
-void
-test_1 ()
-{
- char *x = anonmap (pg * 2);
- if (x == (char *)MAP_FAILED)
- perror_exit ("test 1 mmap", 1);
-
- signal (SIGSEGV, sigsegv);
- if (setjmp (r))
- perror_exit ("test 1 fault", 2);
-
- x[0] = 1;
- x[pg] = 1;
-
- anonfree (x + pg, pg);
- x[0] = 2;
-
- if (setjmp (r) == 0)
- {
- x[pg] = 1;
- perror_exit ("test 1 no fault", 3);
- }
-}
-
-void
-test_2 ()
-{
- char *x = anonmap (pg * 2);
- if (x == (char *)MAP_FAILED)
- perror_exit ("test 2 mmap", 4);
-
- signal (SIGSEGV, sigsegv);
- if (setjmp (r))
- perror_exit ("test 2 fault", 5);
-
- x[0] = 1;
- x[pg] = 1;
-
- anonfree (x, pg);
- x[pg] = 2;
-
- if (setjmp (r) == 0)
- {
- x[0] = 1;
- perror_exit ("test 2 no fault", 6);
- }
-}
-
-void
-test_3 ()
-{
- char *x[10];
- char *y;
- int i;
-
- /* There's no way to guarantee we get consecutive pages from the OS. The
- approach taken here is to allocate ten of them, sort the list, and
- look for consecutive pages. */
- for (i = 0; i < 10; i++)
- {
- x[i] = anonmap (pg);
- if (x[i] == (char *)MAP_FAILED)
- perror_exit ("test 3 mmap 1", 7);
- }
- qsort (x, 10, sizeof (char *), compare_pointers);
-
- y = 0;
- for (i = 0; i < 9; i++)
- if (x[i] + pg == x[i+1])
- {
- y = x[i];
- break;
- }
- if (y == 0)
- {
- fputs ("test 3: couldn't get two consecutive pages, giving up\n", stdout);
- exit (65);
- }
-
- signal (SIGSEGV, sigsegv);
- if (setjmp (r))
- perror_exit ("test 3 fault", 8);
-
- y[0] = 1;
- y[pg] = 1;
-
- anonfree (y, pg * 2);
-
- if (setjmp (r) == 0)
- {
- y[0] = 1;
- perror_exit ("test 3 no fault 1", 9);
- }
-
- signal (SIGSEGV, sigsegv);
- if (setjmp (r) == 0)
- {
- y[pg] = 1;
- perror_exit ("test 3 no fault 2", 10);
- }
-}
-
-int
-main ()
-{
- anonmap_init();
-
- test_1();
- test_2();
- test_3();
-
- exit(0);
-}
diff --git a/winsup/testsuite/winsup.api/mmaptest03.c b/winsup/testsuite/winsup.api/mmaptest03.c
deleted file mode 100644
index 8046f0bf8..000000000
--- a/winsup/testsuite/winsup.api/mmaptest03.c
+++ /dev/null
@@ -1,154 +0,0 @@
-#include <stdio.h>
-#include <stdlib.h>
-#include <signal.h>
-#include <setjmp.h>
-#include <unistd.h>
-#include <fcntl.h>
-#include <sys/stat.h>
-#include <sys/mman.h>
-#include <sys/wait.h>
-#include <errno.h>
-#include <string.h>
-
-/* - Checks if mapping of already closed file survives fork()
- - Checks if mapping the same region of the same file twice
- is done correctly.
-*/
-
-sigset_t unblock_sigsegv;
-jmp_buf r;
-
-static const char *msg;
-static const char *what;
-/* filler for file */
-char const line[] = "y1 y1 y1 y1 y1 y1 y1 y1 y1 y1 y1 y1 y1 y1 y1 y1 y1";
-
-void
-perror_exit (const char *str)
-{
- printf ("%s: %s\n", str, strerror (errno));
- fflush (stdout);
- exit (1);
-}
-
-void
-sigsegv (int unused)
-{
- sigprocmask (SIG_UNBLOCK, &unblock_sigsegv, 0);
- if (msg)
- {
- char buf[132];
- sprintf (buf, "%s %s\n", what, msg);
- write (1, buf, strlen (buf));
- msg = NULL;
- }
- longjmp (r, 1);
-}
-
-int
-main(int argc, char **argv)
-{
- int fd, status;
- struct stat statbuf;
- volatile char c, *buf1, *buf2;
- pid_t pid;
-
- /* Create data file */
- if ((fd = open("y.txt", O_RDWR | O_CREAT | O_TRUNC, 0644)) == -1)
- perror_exit ("Can't create data file");
- write (fd, line, sizeof(line) - 1);
- close (fd);
-
- /* Open data file */
- if ((fd = open("y.txt", O_RDONLY)) == -1)
- perror_exit ("Can't open data file");
-
- if (fstat(fd, &statbuf) < 0)
- perror_exit ("fstat failed");
-
- if (!statbuf.st_size)
- perror_exit ("filesize is 0");
-
- if ((buf1 = mmap(NULL, statbuf.st_size, PROT_READ, MAP_SHARED, fd, 0))
- == MAP_FAILED)
- perror_exit ("mmap 1 failed");
-
- close(fd);
-
- /* Open data file a second time */
- if ((fd = open("y.txt", O_RDONLY)) == -1)
- perror_exit ("Can't open data file in second run");
-
- if ((buf2 = mmap(NULL, statbuf.st_size, PROT_READ, MAP_SHARED, fd, 0))
- == MAP_FAILED)
- perror_exit ("mmap 2 failed");
-
- close(fd);
-
- sigemptyset (&unblock_sigsegv);
- sigaddset (&unblock_sigsegv, SIGSEGV);
- signal (SIGSEGV, sigsegv);
-
- if (setjmp (r))
- perror_exit ("SEGV in fork");
-
- if ((pid = fork()))
- {
- // write (1, "continuing in parent\n", strlen ("continuing in parent\n"));
- what = "parent";
- }
- else
- {
- // write (1, "continuing in child\n", strlen ("continuing in child\n"));
- what = "child";
- }
-
- if (pid == -1)
- perror_exit ("fork failed");
-
- if (setjmp (r))
- perror_exit (pid ? "SEGV in parent" : "SEGV in child");
-
- msg = "testing buf1";
- c = buf1[0];
- msg = "testing buf2";
- c = buf2[0];
-
- if (setjmp (r))
- perror_exit (pid ? "SEGV in parent's munmap" : "SEGV in child's munmap");
-
- if (munmap((void *) buf1, statbuf.st_size))
- perror_exit (pid ? "munmap failed in parent" : "munmap failed in child");
-
- if (setjmp (r) == 0)
- {
- msg = "testing buf1 after unmap";
- c = buf1[0];
- perror_exit (pid ? "no SEGV in parent after munmap" : "no SEGV in child after munmap");
- }
-
- if (setjmp (r))
- perror_exit (pid ? "SEGV in parent after munmap" : "SEGV in child after munmap");
-
- msg = "testing buf2 again";
- c = buf2[0];
-
- if (setjmp (r))
- perror_exit (pid ? "SEGV in parent's munmap" : "SEGV in child's munmap");
-
- if (munmap((void *) buf2, statbuf.st_size))
- perror_exit (pid ? "munmap failed in parent" : "munmap failed in child");
-
- if (pid)
- {
- waitpid (pid, &status, 0);
- unlink ("y.txt");
- if (!WIFEXITED (status) || WEXITSTATUS (status))
- {
- printf ("forked process exited with status %p\n", (char *) status);
- return 1;
- }
- }
-
- return 0;
-}
diff --git a/winsup/testsuite/winsup.api/mmaptest04.c b/winsup/testsuite/winsup.api/mmaptest04.c
deleted file mode 100644
index 52302bae1..000000000
--- a/winsup/testsuite/winsup.api/mmaptest04.c
+++ /dev/null
@@ -1,103 +0,0 @@
-#include <sys/types.h>
-#include <fcntl.h>
-#include <sys/mman.h>
-#include <errno.h>
-#include <stdlib.h>
-#include <unistd.h>
-#include <stdio.h>
-
-#ifndef O_BINARY
-#define O_BINARY 0
-#endif
-
-int
-main ()
-{
- char *data, *data2 = NULL, *data3;
- int i, pagesize;
- int fd;
-
- pagesize = 65536; //getpagesize();
-
- /*
- * First, make a file with some known garbage in it.
- */
- data = (char *) malloc (pagesize);
- if (!data)
- exit (1);
- for (i = 0; i < pagesize; ++i)
- *(data + i) = rand ();
- umask (0);
- fd = open ("conftestmmap", O_CREAT | O_TRUNC | O_WRONLY | O_BINARY, 0600);
- if (fd < 0)
- {
- printf ("creat: %d\n", errno);
- exit (1);
- }
- if (write (fd, data, pagesize) != pagesize)
- {
- printf ("write: %d\n", errno);
- exit (1);
- }
- close (fd);
-
- /*
- * Next, try to mmap the file.
- */
- fd = open ("conftestmmap", O_RDWR | O_BINARY);
- if (fd < 0)
- {
- printf ("write: %d\n", errno);
- exit (1);
- }
- if ((data2 = mmap (data2, pagesize, PROT_READ | PROT_WRITE,
- MAP_PRIVATE, fd, 0L)) == MAP_FAILED)
- {
- printf ("mmap: %d\n", errno);
- exit (1);
- }
- for (i = 0; i < pagesize; ++i)
- if (*(data + i) != *(data2 + i))
- {
- printf ("check-if: %d\n", errno);
- exit (1);
- }
-
- /*
- * Finally, make sure that changes to the mapped area
- * do not percolate back to the file as seen by read().
- * (This is a bug on some variants of i386 svr4.0.)
- */
- for (i = 0; i < pagesize; ++i)
- *(data2 + i) = *(data2 + i) + 1;
- data3 = (char *) malloc (pagesize);
- if (!data3)
- {
- printf ("malloc2: %d\n", errno);
- exit (1);
- }
- if (read (fd, data3, pagesize) != pagesize)
- {
- printf ("read: %d\n", errno);
- exit (1);
- }
- for (i = 0; i < pagesize; ++i)
- if (*(data + i) != *(data3 + i))
- {
- printf ("check-if2: %d\n", errno);
- exit (1);
- }
- if (msync (data2, pagesize, MS_SYNC))
- {
- printf ("msync: %d\n", errno);
- exit (1);
- }
- if (munmap (data2, pagesize))
- {
- printf ("munmap: %d\n", errno);
- exit (1);
- }
- close (fd);
- unlink ("conftestmmap");
- exit (0);
-}
diff --git a/winsup/testsuite/winsup.api/msgtest.c b/winsup/testsuite/winsup.api/msgtest.c
deleted file mode 100644
index e002a7fda..000000000
--- a/winsup/testsuite/winsup.api/msgtest.c
+++ /dev/null
@@ -1,348 +0,0 @@
-/*-
- * Copyright (c) 1999 The NetBSD Foundation, Inc.
- * All rights reserved.
- *
- * This code is derived from software contributed to The NetBSD Foundation
- * by Jason R. Thorpe of the Numerical Aerospace Simulation Facility,
- * NASA Ames Research Center.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgement:
- * This product includes software developed by the NetBSD
- * Foundation, Inc. and its contributors.
- * 4. Neither the name of The NetBSD Foundation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
- * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
- * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- * Obtained from: $NetBSD: msgtest.c,v 1.7 2002/07/20 08:36:25 grant Exp $
- * $FreeBSD: /repoman/r/ncvs/src/tools/regression/sysvmsg/msgtest.c,v 1.1 2002/08/15 06:34:37 alfred Exp $
- */
-
-/*
- * Test the SVID-compatible Message Queue facility.
- */
-
-/*
- * CV, 2003-11-17: Add to Cygwin testsuite.
- */
-#include <sys/param.h>
-#include <sys/ipc.h>
-#include <sys/msg.h>
-#include <sys/wait.h>
-
-#include <err.h>
-#include <errno.h>
-#include <signal.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <time.h>
-
-#include "test.h"
-#include "usctest.h"
-
-const char *TCID = "msgtest"; /* Test program identifier. */
-int TST_TOTAL = 31; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-
-void print_msqid_ds (struct msqid_ds *, mode_t);
-void sigsys_handler(int);
-void sigchld_handler (int);
-void cleanup (void);
-void receiver (void);
-
-#define MESSAGE_TEXT_LEN 255
-
-/*
- * Define it as test_mymsg because we already have struct mymsg and we dont
- * want to conflict with it. Also, regression fails when the default mymsg
- * struct is used, because mtext[] array is '1', so the passed string cannot
- * be processed.
- */
-struct test_mymsg {
- long mtype;
- char mtext[MESSAGE_TEXT_LEN];
-};
-
-const char *m1_str = "California is overrated.";
-const char *m2_str = "The quick brown fox jumped over the lazy dog.";
-
-#define MTYPE_1 1
-#define MTYPE_1_ACK 2
-
-#define MTYPE_2 3
-#define MTYPE_2_ACK 4
-
-int sender_msqid = -1;
-pid_t child_pid;
-
-key_t msgkey;
-
-int
-main(int argc, char *argv[])
-{
- struct sigaction sa;
- struct msqid_ds m_ds;
- struct test_mymsg m;
- sigset_t sigmask;
-
- Tst_count = 0;
-
- /*
- * Install a SIGSYS handler so that we can exit gracefully if
- * System V Message Queue support isn't in the kernel.
- */
- sa.sa_handler = sigsys_handler;
- sigemptyset(&sa.sa_mask);
- sa.sa_flags = 0;
- if (sigaction(SIGSYS, &sa, NULL) == -1)
- tst_brkm (TBROK, cleanup, "sigaction SIGSYS");
-
- /*
- * Install and SIGCHLD handler to deal with all possible exit
- * conditions of the receiver.
- */
- sa.sa_handler = sigchld_handler;
- sigemptyset(&sa.sa_mask);
- sa.sa_flags = 0;
- if (sigaction(SIGCHLD, &sa, NULL) == -1)
- tst_brkm (TBROK, cleanup, "sigaction SIGCHLD");
-
- msgkey = ftok("/", 4160);
- tst_resm (msgkey == (key_t)-1 ? TFAIL : TPASS,
- "ftok(\"/\") returns valid value");
-
- /*
- * Initialize child_pid to ourselves to that the cleanup function
- * works before we create the receiver.
- */
- child_pid = getpid();
-
- sender_msqid = msgget(msgkey, IPC_CREAT | 0640);
- tst_resm (sender_msqid == -1 ? TFAIL : TPASS, "sender calls msgget");
-
- tst_resm (msgctl(sender_msqid, IPC_STAT, &m_ds) == -1 ? TFAIL : TPASS,
- "msgctl IPC_STAT");
-
- print_msqid_ds(&m_ds, 0640);
-
- m_ds.msg_perm.mode = (m_ds.msg_perm.mode & ~0777) | 0600;
-
- tst_resm (msgctl(sender_msqid, IPC_SET, &m_ds) == -1 ? TFAIL : TPASS,
- "msgctl IPC_SET");
-
- bzero(&m_ds, sizeof m_ds);
-
- tst_resm (msgctl(sender_msqid, IPC_STAT, &m_ds) == -1 ? TFAIL : TPASS,
- "msgctl IPC_STAT");
-
- tst_resm ((m_ds.msg_perm.mode & 0777) != 0600 ? TFAIL : TPASS,
- "IPC_SET of mode holds");
-
- print_msqid_ds(&m_ds, 0600);
-
- switch ((child_pid = fork())) {
- case -1:
- tst_brkm (TBROK, cleanup, "fork");
- /* NOTREACHED */
-
- case 0:
- tst_resm (TPASS, "fork");
- receiver();
- break;
-
- default:
- Tst_count += 8;
- break;
- }
-
- /*
- * Send the first message to the receiver and wait for the ACK.
- */
- m.mtype = MTYPE_1;
- strcpy(m.mtext, m1_str);
- tst_resm (msgsnd(sender_msqid, &m, sizeof(m), 0) == -1 ? TFAIL : TPASS,
- "sender: msgsnd 1");
-
- tst_resm (msgrcv(sender_msqid, &m, sizeof(m), MTYPE_1_ACK, 0)
- != sizeof(m) ? TFAIL : TPASS, "sender: msgrcv 1 ack");
-
- print_msqid_ds(&m_ds, 0600);
-
- /*
- * Send the second message to the receiver and wait for the ACK.
- */
- m.mtype = MTYPE_2;
- strcpy(m.mtext, m2_str);
- tst_resm (msgsnd(sender_msqid, &m, sizeof(m), 0) == -1 ? TFAIL : TPASS,
- "sender: msgsnd 2");
-
- tst_resm (msgrcv(sender_msqid, &m, sizeof(m), MTYPE_2_ACK, 0)
- != sizeof(m) ? TFAIL : TPASS, "sender: msgrcv 2 ack");
-
- /*
- * Suspend forever; when we get SIGCHLD, the handler will exit.
- */
- sigemptyset(&sigmask);
- (void) sigsuspend(&sigmask);
-
- /*
- * ...and any other signal is an unexpected error.
- */
- tst_brkm (TBROK, cleanup, "sender: received unexpected signal");
- exit (1);
-}
-
-void
-sigsys_handler(int signo)
-{
-
- tst_brkm (TBROK, cleanup,
- "System V Message Queue support is not present in the kernel");
-}
-
-void
-sigchld_handler(int signo)
-{
- struct msqid_ds m_ds;
- int cstatus;
-
- /*
- * Reap the child; if it exited successfully, then the test passed!
- */
- if (waitpid(child_pid, &cstatus, 0) != child_pid)
- tst_brkm (TBROK, cleanup, "waitpid");
-
- if (WIFEXITED(cstatus) == 0)
- tst_brkm (TBROK, cleanup, "receiver exited abnormally");
-
- if (WEXITSTATUS(cstatus) != 0)
- tst_brkm (TBROK, cleanup, "receiver exited with status %d",
- WEXITSTATUS(cstatus));
-
- /*
- * If we get here, the child has exited normally, and thus
- * we should exit normally too. First, tho, we print out
- * the final stats for the message queue.
- */
-
- tst_resm (msgctl(sender_msqid, IPC_STAT, &m_ds) == -1 ? TFAIL : TPASS,
- "msgctl IPC_STAT");
-
- print_msqid_ds(&m_ds, 0600);
-
- cleanup ();
-}
-
-void
-cleanup()
-{
-
- /*
- * If we're the sender, and it exists, remove the message queue.
- */
- if (child_pid != 0 && sender_msqid != -1) {
- tst_resm (msgctl(sender_msqid, IPC_RMID, NULL) == -1
- ? TFAIL : TPASS, "msgctl IPC_RMID");
- }
- tst_exit ();
-}
-
-void
-print_msqid_ds(struct msqid_ds *mp, mode_t mode)
-{
- uid_t uid = geteuid();
- gid_t gid = getegid();
-
- printf("PERM: uid %d, gid %d, cuid %d, cgid %d, mode 0%o\n",
- (int)mp->msg_perm.uid, (int)mp->msg_perm.gid,
- (int)mp->msg_perm.cuid, (int)mp->msg_perm.cgid,
- mp->msg_perm.mode & 0777);
-
- printf("qnum %lu, qbytes %lu, lspid %d, lrpid %d\n",
- mp->msg_qnum, (u_long)mp->msg_qbytes, mp->msg_lspid,
- mp->msg_lrpid);
-
- printf("stime: %s", ctime(&mp->msg_stime));
- printf("rtime: %s", ctime(&mp->msg_rtime));
- printf("ctime: %s", ctime(&mp->msg_ctime));
-
- /*
- * Sanity check a few things.
- */
-
- tst_resm (mp->msg_perm.uid != uid || mp->msg_perm.cuid != uid
- ? TFAIL : TPASS, "uid matches");
-
- tst_resm (mp->msg_perm.gid != gid || mp->msg_perm.cgid != gid
- ? TFAIL : TPASS, "gid matches");
-
- tst_resm ((mp->msg_perm.mode & 0777) != mode ? TFAIL : TPASS,
- "mode matches");
-}
-
-void
-receiver()
-{
- struct test_mymsg m;
- int msqid;
-
- tst_resm ((msqid = msgget(msgkey, 0)) == -1 ? TFAIL : TPASS,
- "receiver: msgget");
-
- /*
- * Receive the first message, print it, and send an ACK.
- */
-
- tst_resm (msgrcv(msqid, &m, sizeof(m), MTYPE_1, 0) != sizeof(m)
- ? TFAIL : TPASS, "receiver: msgrcv 1");
-
- printf("%s\n", m.mtext);
- tst_resm (strcmp(m.mtext, m1_str) != 0 ? TFAIL : TPASS,
- "receiver: message 1 data is correct");
-
- m.mtype = MTYPE_1_ACK;
-
- tst_resm (msgsnd(msqid, &m, sizeof(m), 0) == -1 ? TFAIL : TPASS,
- "receiver: msgsnd ack 1");
-
- /*
- * Receive the second message, print it, and send an ACK.
- */
-
- tst_resm (msgrcv(msqid, &m, sizeof(m), MTYPE_2, 0) != sizeof(m)
- ? TFAIL : TPASS, "receiver: msgrcv 2");
-
- printf("%s\n", m.mtext);
- tst_resm (strcmp(m.mtext, m2_str) != 0 ? TFAIL : TPASS,
- "receiver: message 2 data is correct");
-
- m.mtype = MTYPE_2_ACK;
-
- tst_resm (msgsnd(msqid, &m, sizeof(m), 0) == -1 ? TFAIL : TPASS,
- "receiver: msgsnd ack 2");
-
- /* Allow parent to receive message before getting SIGCHLD. */
- sleep (1);
- exit(0);
-}
diff --git a/winsup/testsuite/winsup.api/nullgetcwd.c b/winsup/testsuite/winsup.api/nullgetcwd.c
deleted file mode 100644
index 25bdf4514..000000000
--- a/winsup/testsuite/winsup.api/nullgetcwd.c
+++ /dev/null
@@ -1,17 +0,0 @@
-#include <stdio.h>
-#include <string.h>
-#include <unistd.h>
-#include <stdlib.h>
-int
-main (int argc, char **argv)
-{
- char *cwd = getcwd (NULL, 256);
- if (cwd == NULL)
- {
- fprintf (stderr, "%s: getcwd returns NULL\n", argv[0]);
- exit (1);
- }
-
- exit (0);
-}
-
diff --git a/winsup/testsuite/winsup.api/pthread/cancel1.c b/winsup/testsuite/winsup.api/pthread/cancel1.c
deleted file mode 100644
index 96ae390ce..000000000
--- a/winsup/testsuite/winsup.api/pthread/cancel1.c
+++ /dev/null
@@ -1,147 +0,0 @@
-/*
- * File: cancel1.c
- *
- * Test Synopsis: Test setting cancel state and cancel type.
- * -
- *
- * Test Method (Validation or Falsification):
- * -
- *
- * Requirements Tested:
- * - pthread_setcancelstate function
- * - pthread_setcanceltype function
- *
- * Features Tested:
- * -
- *
- * Cases Tested:
- * -
- *
- * Description:
- * -
- *
- * Environment:
- * -
- *
- * Input:
- * - None.
- *
- * Output:
- * - File name, Line number, and failed expression on failure.
- * - No output on success.
- *
- * Assumptions:
- * - pthread_create, pthread_self work.
- *
- * Pass Criteria:
- * - Process returns zero exit status.
- *
- * Fail Criteria:
- * - Process returns non-zero exit status.
- */
-
-#include "test.h"
-
-/*
- * Create NUMTHREADS threads in addition to the Main thread.
- */
-enum {
- NUMTHREADS = 10
-};
-
-typedef struct bag_t_ bag_t;
-struct bag_t_ {
- int threadnum;
- int started;
- /* Add more per-thread state variables here */
-};
-
-static bag_t threadbag[NUMTHREADS + 1];
-
-void *
-mythread(void * arg)
-{
- bag_t * bag = (bag_t *) arg;
-
- assert(bag == &threadbag[bag->threadnum]);
- assert(bag->started == 0);
- bag->started = 1;
-
- /* ... */
- {
- int oldstate;
- int oldtype;
-
- assert(pthread_setcancelstate(PTHREAD_CANCEL_DISABLE, &oldstate) == 0);
- assert(oldstate == PTHREAD_CANCEL_ENABLE); /* Check default */
- assert(pthread_setcancelstate(PTHREAD_CANCEL_ENABLE, NULL) == 0);
- assert(pthread_setcancelstate(PTHREAD_CANCEL_DISABLE, NULL) == 0);
- assert(pthread_setcancelstate(oldstate, &oldstate) == 0);
- assert(oldstate == PTHREAD_CANCEL_DISABLE); /* Check setting */
-
- assert(pthread_setcanceltype(PTHREAD_CANCEL_ASYNCHRONOUS, &oldtype) == 0);
- assert(oldtype == PTHREAD_CANCEL_DEFERRED); /* Check default */
- assert(pthread_setcanceltype(PTHREAD_CANCEL_DEFERRED, NULL) == 0);
- assert(pthread_setcanceltype(PTHREAD_CANCEL_ASYNCHRONOUS, NULL) == 0);
- assert(pthread_setcanceltype(oldtype, &oldtype) == 0);
- assert(oldtype == PTHREAD_CANCEL_ASYNCHRONOUS); /* Check setting */
- }
-
- return 0;
-}
-
-int
-main()
-{
- int failed = 0;
- int i;
- pthread_t t[NUMTHREADS + 1];
-
- assert((t[0] = pthread_self()) != NULL);
-
- for (i = 1; i <= NUMTHREADS; i++)
- {
- threadbag[i].started = 0;
- threadbag[i].threadnum = i;
- assert(pthread_create(&t[i], NULL, mythread, (void *) &threadbag[i]) == 0);
- }
-
- /*
- * Code to control or munipulate child threads should probably go here.
- */
-
- /*
- * Give threads time to run.
- */
- Sleep(NUMTHREADS * 1000);
-
- /*
- * Standard check that all threads started.
- */
- for (i = 1; i <= NUMTHREADS; i++)
- {
- failed = !threadbag[i].started;
-
- if (failed)
- {
- fprintf(stderr, "Thread %d: started %d\n", i, threadbag[i].started);
- }
- }
-
- assert(!failed);
-
- /*
- * Check any results here. Set "failed" and only print ouput on failure.
- */
- for (i = 1; i <= NUMTHREADS; i++)
- {
- /* ... */
- }
-
- assert(!failed);
-
- /*
- * Success.
- */
- return 0;
-}
diff --git a/winsup/testsuite/winsup.api/pthread/cancel10.c b/winsup/testsuite/winsup.api/pthread/cancel10.c
deleted file mode 100644
index 5e0cc6770..000000000
--- a/winsup/testsuite/winsup.api/pthread/cancel10.c
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * File: cancel10.c
- *
- * Test Synopsis: Test if system is a cancellation point.
- *
- * Test Method (Validation or Falsification):
- * -
- *
- * Requirements Tested:
- * -
- *
- * Features Tested:
- * -
- *
- * Cases Tested:
- * -
- *
- * Description:
- * -
- *
- * Environment:
- * -
- *
- * Input:
- * - None.
- *
- * Output:
- * - File name, Line number, and failed expression on failure.
- * - No output on success.
- *
- * Assumptions:
- * - have working pthread_create, pthread_cancel, pthread_setcancelstate
- * pthread_join
- *
- * Pass Criteria:
- * - Process returns zero exit status.
- *
- * Fail Criteria:
- * - Process returns non-zero exit status.
- */
-
-#include "test.h"
-
-static int cancelled = 0;
-
-static void *Thread(void *punused)
-{
- while (!cancelled)
- Sleep (0);
-
- system (NULL);
-
- return NULL;
-}
-
-int main (void)
-{
- void * result;
- pthread_t t;
-
- assert (pthread_create (&t, NULL, Thread, NULL) == 0);
- assert (pthread_cancel (t) == 0);
- cancelled = 1;
- assert (pthread_join (t, &result) == 0);
- assert (result == PTHREAD_CANCELED);
-
- return 0;
-}
diff --git a/winsup/testsuite/winsup.api/pthread/cancel11.c b/winsup/testsuite/winsup.api/pthread/cancel11.c
deleted file mode 100644
index b6554ed69..000000000
--- a/winsup/testsuite/winsup.api/pthread/cancel11.c
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * File: cancel11.c
- *
- * Test Synopsis: Test if system is a cancellation point.
- *
- * Test Method (Validation or Falsification):
- * -
- *
- * Requirements Tested:
- * -
- *
- * Features Tested:
- * -
- *
- * Cases Tested:
- * -
- *
- * Description:
- * -
- *
- * Environment:
- * -
- *
- * Input:
- * - None.
- *
- * Output:
- * - File name, Line number, and failed expression on failure.
- * - No output on success.
- *
- * Assumptions:
- * - have working pthread_create, pthread_cancel, pthread_setcancelstate
- * pthread_join
- *
- * Pass Criteria:
- * - Process returns zero exit status.
- *
- * Fail Criteria:
- * - Process returns non-zero exit status.
- */
-
-#include "test.h"
-
-static void sig_handler(int sig)
-{
-}
-
-static void *Thread(void *punused)
-{
- system ("sleep 10");
-
- return NULL;
-}
-
-int main (void)
-{
- void * result;
- pthread_t t;
-
- signal (SIGINT, sig_handler);
-
- assert (pthread_create (&t, NULL, Thread, NULL) == 0);
- sleep (5);
- assert (pthread_cancel (t) == 0);
- assert (pthread_join (t, &result) == 0);
- assert (result == PTHREAD_CANCELED);
-
- assert ((void *)signal (SIGINT, NULL) == sig_handler);
-
- /* Wait until child process has terminated */
- sleep (10);
-
- return 0;
-}
diff --git a/winsup/testsuite/winsup.api/pthread/cancel12.c b/winsup/testsuite/winsup.api/pthread/cancel12.c
deleted file mode 100644
index 12273d676..000000000
--- a/winsup/testsuite/winsup.api/pthread/cancel12.c
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- * File: cancel12.c
- *
- * Test Synopsis: Test if system is a cancellation point.
- *
- * Test Method (Validation or Falsification):
- * -
- *
- * Requirements Tested:
- * -
- *
- * Features Tested:
- * -
- *
- * Cases Tested:
- * -
- *
- * Description:
- * -
- *
- * Environment:
- * -
- *
- * Input:
- * - None.
- *
- * Output:
- * - File name, Line number, and failed expression on failure.
- * - No output on success.
- *
- * Assumptions:
- * - have working pthread_create, pthread_cancel, pthread_setcancelstate
- * pthread_join
- *
- * Pass Criteria:
- * - Process returns zero exit status.
- *
- * Fail Criteria:
- * - Process returns non-zero exit status.
- */
-
-#include "test.h"
-
-static void sig_handler(int sig)
-{
-}
-
-static void *Thread(void *punused)
-{
- signal (SIGINT, sig_handler);
-
- system ("sleep 5");
-
- assert ((void *)signal (SIGINT, NULL) == sig_handler);
-
- return NULL;
-}
-
-int main (void)
-{
- void * result;
- pthread_t t;
-
- assert (pthread_create (&t, NULL, Thread, NULL) == 0);
- assert (pthread_join (t, &result) == 0);
- assert (result == NULL);
-
- return 0;
-}
diff --git a/winsup/testsuite/winsup.api/pthread/cancel2.c b/winsup/testsuite/winsup.api/pthread/cancel2.c
deleted file mode 100644
index 14889313e..000000000
--- a/winsup/testsuite/winsup.api/pthread/cancel2.c
+++ /dev/null
@@ -1,181 +0,0 @@
-/*
- * File: cancel2.c
- *
- * Test Synopsis: Test SEH or C++ cancel exception handling within
- * application exception blocks.
- *
- * Test Method (Validation or Falsification):
- * -
- *
- * Requirements Tested:
- * -
- *
- * Features Tested:
- * -
- *
- * Cases Tested:
- * -
- *
- * Description:
- * -
- *
- * Environment:
- * -
- *
- * Input:
- * - None.
- *
- * Output:
- * - File name, Line number, and failed expression on failure.
- * - No output on success.
- *
- * Assumptions:
- * - have working pthread_create, pthread_self, pthread_mutex_lock/unlock
- * pthread_testcancel, pthread_cancel, pthread_join
- *
- * Pass Criteria:
- * - Process returns zero exit status.
- *
- * Fail Criteria:
- * - Process returns non-zero exit status.
- */
-
-#include "test.h"
-
-/*
- * Create NUMTHREADS threads in addition to the Main thread.
- */
-enum {
- NUMTHREADS = 10
-};
-
-typedef struct bag_t_ bag_t;
-struct bag_t_ {
- int threadnum;
- int started;
- /* Add more per-thread state variables here */
-};
-
-static bag_t threadbag[NUMTHREADS + 1];
-
-static pthread_mutex_t waitLock = PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP;
-
-void *
-mythread(void * arg)
-{
- int result = 0;
- bag_t * bag = (bag_t *) arg;
-
- assert(bag == &threadbag[bag->threadnum]);
- assert(bag->started == 0);
- bag->started = 1;
-
- /* Set to known state and type */
-
- assert(pthread_setcancelstate(PTHREAD_CANCEL_ENABLE, NULL) == 0);
-
- switch (bag->threadnum % 2)
- {
- case 0:
- assert(pthread_setcanceltype(PTHREAD_CANCEL_ASYNCHRONOUS, NULL) == 0);
- result = 0;
- break;
- case 1:
- assert(pthread_setcanceltype(PTHREAD_CANCEL_DEFERRED, NULL) == 0);
- result = 1;
- break;
- }
-
- /* Wait for go from main */
- assert(pthread_mutex_lock(&waitLock) == 0);
- assert(pthread_mutex_unlock(&waitLock) == 0);
- sched_yield();
-
- for (;;)
- {
- pthread_testcancel();
- }
-
- return (void *) result;
-}
-
-int
-main()
-{
- int failed = 0;
- int i;
- pthread_t t[NUMTHREADS + 1];
-
- assert((t[0] = pthread_self()) != NULL);
- assert(pthread_mutex_lock(&waitLock) == 0);
-
- for (i = 1; i <= NUMTHREADS; i++)
- {
- threadbag[i].started = 0;
- threadbag[i].threadnum = i;
- assert(pthread_create(&t[i], NULL, mythread, (void *) &threadbag[i]) == 0);
- }
-
- /*
- * Code to control or munipulate child threads should probably go here.
- */
- Sleep(500);
-
- assert(pthread_mutex_unlock(&waitLock) == 0);
-
- Sleep(500);
-
- for (i = 1; i <= NUMTHREADS; i++)
- {
- assert(pthread_cancel(t[i]) == 0);
- }
-
- /*
- * Give threads time to run.
- */
- Sleep(NUMTHREADS * 100);
-
- /*
- * Standard check that all threads started.
- */
- for (i = 1; i <= NUMTHREADS; i++)
- {
- if (!threadbag[i].started)
- {
- failed |= !threadbag[i].started;
- fprintf(stderr, "Thread %d: started %d\n", i, threadbag[i].started);
- }
- }
-
- assert(!failed);
-
- /*
- * Check any results here. Set "failed" and only print output on failure.
- */
- failed = 0;
- for (i = 1; i <= NUMTHREADS; i++)
- {
- int fail = 0;
- int result = 0;
-
- assert(pthread_join(t[i], (void **) &result) == 0);
- fail = (result != (int) PTHREAD_CANCELED);
- if (fail)
- {
- fprintf(stderr, "Thread %d: started %d: location %d: cancel type %s\n",
- i,
- threadbag[i].started,
- result,
- ((result % 2) == 0) ? "ASYNCHRONOUS" : "DEFERRED");
- }
- failed |= fail;
- }
-
- assert(!failed);
-
- /*
- * Success.
- */
- return 0;
-}
-
diff --git a/winsup/testsuite/winsup.api/pthread/cancel3.c b/winsup/testsuite/winsup.api/pthread/cancel3.c
deleted file mode 100644
index 3ac03e4b6..000000000
--- a/winsup/testsuite/winsup.api/pthread/cancel3.c
+++ /dev/null
@@ -1,166 +0,0 @@
-/*
- * File: cancel3.c
- *
- * Test Synopsis: Test asynchronous cancelation.
- *
- * Test Method (Validation or Falsification):
- * -
- *
- * Requirements Tested:
- * -
- *
- * Features Tested:
- * -
- *
- * Cases Tested:
- * -
- *
- * Description:
- * -
- *
- * Environment:
- * -
- *
- * Input:
- * - None.
- *
- * Output:
- * - File name, Line number, and failed expression on failure.
- * - No output on success.
- *
- * Assumptions:
- * - have working pthread_create, pthread_self, pthread_mutex_lock/unlock
- * pthread_testcancel, pthread_cancel, pthread_join
- *
- * Pass Criteria:
- * - Process returns zero exit status.
- *
- * Fail Criteria:
- * - Process returns non-zero exit status.
- */
-
-#include "test.h"
-
-/*
- * Create NUMTHREADS threads in addition to the Main thread.
- */
-enum {
- NUMTHREADS = 10
-};
-
-typedef struct bag_t_ bag_t;
-struct bag_t_ {
- int threadnum;
- int started;
- /* Add more per-thread state variables here */
- int count;
-};
-
-static bag_t threadbag[NUMTHREADS + 1];
-
-void *
-mythread(void * arg)
-{
- int result = ((int)PTHREAD_CANCELED + 1);
- bag_t * bag = (bag_t *) arg;
-
- assert(bag == &threadbag[bag->threadnum]);
- assert(bag->started == 0);
- bag->started = 1;
-
- /* Set to known state and type */
-
- assert(pthread_setcancelstate(PTHREAD_CANCEL_ENABLE, NULL) == 0);
-
- assert(pthread_setcanceltype(PTHREAD_CANCEL_ASYNCHRONOUS, NULL) == 0);
-
- /*
- * We wait up to 10 seconds, waking every 0.1 seconds,
- * for a cancelation to be applied to us.
- */
- for (bag->count = 0; bag->count < 100; bag->count++)
- Sleep(100);
-
- return (void *) result;
-}
-
-int
-main()
-{
- int failed = 0;
- int i;
- pthread_t t[NUMTHREADS + 1];
-
- assert((t[0] = pthread_self()) != NULL);
-
- for (i = 1; i <= NUMTHREADS; i++)
- {
- threadbag[i].started = 0;
- threadbag[i].threadnum = i;
- assert(pthread_create(&t[i], NULL, mythread, (void *) &threadbag[i]) == 0);
- }
-
- /*
- * Code to control or munipulate child threads should probably go here.
- */
- Sleep(500);
-
- for (i = 1; i <= NUMTHREADS; i++)
- {
- assert(pthread_cancel(t[i]) == 0);
- }
-
- /*
- * Give threads time to run.
- */
- Sleep(NUMTHREADS * 100);
-
- /*
- * Standard check that all threads started.
- */
- for (i = 1; i <= NUMTHREADS; i++)
- {
- if (!threadbag[i].started)
- {
- failed |= !threadbag[i].started;
- fprintf(stderr, "Thread %d: started %d\n", i, threadbag[i].started);
- }
- }
-
- assert(!failed);
-
- /*
- * Check any results here. Set "failed" and only print output on failure.
- */
- failed = 0;
- for (i = 1; i <= NUMTHREADS; i++)
- {
- int fail = 0;
- int result = 0;
-
- /*
- * The thread does not contain any cancelation points, so
- * a return value of PTHREAD_CANCELED confirms that async
- * cancelation succeeded.
- */
- assert(pthread_join(t[i], (void **) &result) == 0);
-
- fail = (result != (int) PTHREAD_CANCELED);
-
- if (fail)
- {
- fprintf(stderr, "Thread %d: started %d: count %d\n",
- i,
- threadbag[i].started,
- threadbag[i].count);
- }
- failed = (failed || fail);
- }
-
- assert(!failed);
-
- /*
- * Success.
- */
- return 0;
-}
diff --git a/winsup/testsuite/winsup.api/pthread/cancel4.c b/winsup/testsuite/winsup.api/pthread/cancel4.c
deleted file mode 100644
index d6b2ffadf..000000000
--- a/winsup/testsuite/winsup.api/pthread/cancel4.c
+++ /dev/null
@@ -1,172 +0,0 @@
-/*
- * File: cancel4.c
- *
- * Test Synopsis: Test cancelation does not occur in deferred
- * cancelation threads with no cancelation points.
- *
- * Test Method (Validation or Falsification):
- * -
- *
- * Requirements Tested:
- * -
- *
- * Features Tested:
- * -
- *
- * Cases Tested:
- * -
- *
- * Description:
- * -
- *
- * Environment:
- * -
- *
- * Input:
- * - None.
- *
- * Output:
- * - File name, Line number, and failed expression on failure.
- * - No output on success.
- *
- * Assumptions:
- * - pthread_create
- * pthread_self
- * pthread_cancel
- * pthread_join
- * pthread_setcancelstate
- * pthread_setcanceltype
- *
- * Pass Criteria:
- * - Process returns zero exit status.
- *
- * Fail Criteria:
- * - Process returns non-zero exit status.
- */
-
-#include "test.h"
-
-/*
- * Create NUMTHREADS threads in addition to the Main thread.
- */
-enum {
- NUMTHREADS = 10
-};
-
-typedef struct bag_t_ bag_t;
-struct bag_t_ {
- int threadnum;
- int started;
- /* Add more per-thread state variables here */
- int count;
-};
-
-static bag_t threadbag[NUMTHREADS + 1];
-
-void *
-mythread(void * arg)
-{
- int result = ((int)PTHREAD_CANCELED + 1);
- bag_t * bag = (bag_t *) arg;
-
- assert(bag == &threadbag[bag->threadnum]);
- assert(bag->started == 0);
- bag->started = 1;
-
- /* Set to known state and type */
-
- assert(pthread_setcancelstate(PTHREAD_CANCEL_ENABLE, NULL) == 0);
-
- assert(pthread_setcanceltype(PTHREAD_CANCEL_DEFERRED, NULL) == 0);
-
- /*
- * We wait up to 10 seconds, waking every 0.1 seconds,
- * for a cancelation to be applied to us.
- */
- for (bag->count = 0; bag->count < 100; bag->count++)
- Sleep(100);
-
- return (void *) result;
-}
-
-int
-main()
-{
- int failed = 0;
- int i;
- pthread_t t[NUMTHREADS + 1];
-
- assert((t[0] = pthread_self()) != NULL);
-
- for (i = 1; i <= NUMTHREADS; i++)
- {
- threadbag[i].started = 0;
- threadbag[i].threadnum = i;
- assert(pthread_create(&t[i], NULL, mythread, (void *) &threadbag[i]) == 0);
- }
-
- /*
- * Code to control or munipulate child threads should probably go here.
- */
- Sleep(500);
-
- for (i = 1; i <= NUMTHREADS; i++)
- {
- assert(pthread_cancel(t[i]) == 0);
- }
-
- /*
- * Give threads time to run.
- */
- Sleep(NUMTHREADS * 100);
-
- /*
- * Standard check that all threads started.
- */
- for (i = 1; i <= NUMTHREADS; i++)
- {
- if (!threadbag[i].started)
- {
- failed |= !threadbag[i].started;
- fprintf(stderr, "Thread %d: started %d\n", i, threadbag[i].started);
- }
- }
-
- assert(!failed);
-
- /*
- * Check any results here. Set "failed" and only print output on failure.
- */
- failed = 0;
- for (i = 1; i <= NUMTHREADS; i++)
- {
- int fail = 0;
- int result = 0;
-
- /*
- * The thread does not contain any cancelation points, so
- * a return value of PTHREAD_CANCELED indicates that async
- * cancelation occurred.
- */
- assert(pthread_join(t[i], (void **) &result) == 0);
-
- fail = (result == (int) PTHREAD_CANCELED);
-
- if (fail)
- {
- fprintf(stderr, "Thread %d: started %d: count %d\n",
- i,
- threadbag[i].started,
- threadbag[i].count);
- }
- failed = (failed || fail);
- }
-
- assert(!failed);
-
- /*
- * Success.
- */
- return 0;
-}
-
diff --git a/winsup/testsuite/winsup.api/pthread/cancel5.c b/winsup/testsuite/winsup.api/pthread/cancel5.c
deleted file mode 100644
index 9dd579543..000000000
--- a/winsup/testsuite/winsup.api/pthread/cancel5.c
+++ /dev/null
@@ -1,165 +0,0 @@
-/*
- * File: cancel5.c
- *
- * Test Synopsis: Test calling pthread_cancel from the main thread
- * without calling pthread_self() in main.
- *
- * Test Method (Validation or Falsification):
- * -
- *
- * Requirements Tested:
- * -
- *
- * Features Tested:
- * -
- *
- * Cases Tested:
- * -
- *
- * Description:
- * -
- *
- * Environment:
- * -
- *
- * Input:
- * - None.
- *
- * Output:
- * - File name, Line number, and failed expression on failure.
- * - No output on success.
- *
- * Assumptions:
- * - have working pthread_create, pthread_self, pthread_mutex_lock/unlock
- * pthread_testcancel, pthread_cancel, pthread_join
- *
- * Pass Criteria:
- * - Process returns zero exit status.
- *
- * Fail Criteria:
- * - Process returns non-zero exit status.
- */
-
-#include "test.h"
-
-/*
- * Create NUMTHREADS threads in addition to the Main thread.
- */
-enum {
- NUMTHREADS = 10
-};
-
-typedef struct bag_t_ bag_t;
-struct bag_t_ {
- int threadnum;
- int started;
- /* Add more per-thread state variables here */
- int count;
-};
-
-static bag_t threadbag[NUMTHREADS + 1];
-
-void *
-mythread(void * arg)
-{
- int result = ((int)PTHREAD_CANCELED + 1);
- bag_t * bag = (bag_t *) arg;
-
- assert(bag == &threadbag[bag->threadnum]);
- assert(bag->started == 0);
- bag->started = 1;
-
- /* Set to known state and type */
-
- assert(pthread_setcancelstate(PTHREAD_CANCEL_ENABLE, NULL) == 0);
-
- assert(pthread_setcanceltype(PTHREAD_CANCEL_ASYNCHRONOUS, NULL) == 0);
-
- /*
- * We wait up to 10 seconds, waking every 0.1 seconds,
- * for a cancelation to be applied to us.
- */
- for (bag->count = 0; bag->count < 100; bag->count++)
- Sleep(100);
-
- return (void *) result;
-}
-
-int
-main()
-{
- int failed = 0;
- int i;
- pthread_t t[NUMTHREADS + 1];
-
- for (i = 1; i <= NUMTHREADS; i++)
- {
- threadbag[i].started = 0;
- threadbag[i].threadnum = i;
- assert(pthread_create(&t[i], NULL, mythread, (void *) &threadbag[i]) == 0);
- }
-
- /*
- * Code to control or munipulate child threads should probably go here.
- */
- Sleep(500);
-
- for (i = 1; i <= NUMTHREADS; i++)
- {
- assert(pthread_cancel(t[i]) == 0);
- }
-
- /*
- * Give threads time to run.
- */
- Sleep(NUMTHREADS * 100);
-
- /*
- * Standard check that all threads started.
- */
- for (i = 1; i <= NUMTHREADS; i++)
- {
- if (!threadbag[i].started)
- {
- failed |= !threadbag[i].started;
- fprintf(stderr, "Thread %d: started %d\n", i, threadbag[i].started);
- }
- }
-
- assert(!failed);
-
- /*
- * Check any results here. Set "failed" and only print output on failure.
- */
- failed = 0;
- for (i = 1; i <= NUMTHREADS; i++)
- {
- int fail = 0;
- int result = 0;
-
- /*
- * The thread does not contain any cancelation points, so
- * a return value of PTHREAD_CANCELED confirms that async
- * cancelation succeeded.
- */
- assert(pthread_join(t[i], (void **) &result) == 0);
-
- fail = (result != (int) PTHREAD_CANCELED);
-
- if (fail)
- {
- fprintf(stderr, "Thread %d: started %d: count %d\n",
- i,
- threadbag[i].started,
- threadbag[i].count);
- }
- failed = (failed || fail);
- }
-
- assert(!failed);
-
- /*
- * Success.
- */
- return 0;
-}
diff --git a/winsup/testsuite/winsup.api/pthread/cancel6.c b/winsup/testsuite/winsup.api/pthread/cancel6.c
deleted file mode 100644
index 8f0bdd849..000000000
--- a/winsup/testsuite/winsup.api/pthread/cancel6.c
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * File: cancel6.c
- *
- * Test Synopsis: Test if pause is a cancellation point.
- *
- * Test Method (Validation or Falsification):
- * -
- *
- * Requirements Tested:
- * -
- *
- * Features Tested:
- * -
- *
- * Cases Tested:
- * -
- *
- * Description:
- * -
- *
- * Environment:
- * -
- *
- * Input:
- * - None.
- *
- * Output:
- * - File name, Line number, and failed expression on failure.
- * - No output on success.
- *
- * Assumptions:
- * - have working pthread_create, pthread_cancel, pthread_setcancelstate
- * pthread_join
- *
- * Pass Criteria:
- * - Process returns zero exit status.
- *
- * Fail Criteria:
- * - Process returns non-zero exit status.
- */
-
-#include "test.h"
-
-static void *Thread(void *punused)
-{
- pause ();
-
- return NULL;
-}
-
-int main (void)
-{
- void * result;
- pthread_t t;
-
- assert (pthread_create (&t, NULL, Thread, NULL) == 0);
- assert (pthread_cancel (t) == 0);
- assert (pthread_join (t, &result) == 0);
- assert (result == PTHREAD_CANCELED);
-
- return 0;
-}
diff --git a/winsup/testsuite/winsup.api/pthread/cancel7.c b/winsup/testsuite/winsup.api/pthread/cancel7.c
deleted file mode 100644
index 7a631f695..000000000
--- a/winsup/testsuite/winsup.api/pthread/cancel7.c
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * File: cancel7.c
- *
- * Test Synopsis: Test if sleep is a cancellation point.
- *
- * Test Method (Validation or Falsification):
- * -
- *
- * Requirements Tested:
- * -
- *
- * Features Tested:
- * -
- *
- * Cases Tested:
- * -
- *
- * Description:
- * -
- *
- * Environment:
- * -
- *
- * Input:
- * - None.
- *
- * Output:
- * - File name, Line number, and failed expression on failure.
- * - No output on success.
- *
- * Assumptions:
- * - have working pthread_create, pthread_cancel, pthread_setcancelstate
- * pthread_join
- *
- * Pass Criteria:
- * - Process returns zero exit status.
- *
- * Fail Criteria:
- * - Process returns non-zero exit status.
- */
-
-#include "test.h"
-
-static int has5secsleeped = 0;
-
-static void *Thread(void *punused)
-{
- assert (pthread_setcancelstate (PTHREAD_CANCEL_DISABLE, NULL) == 0);
- /* thread should sleep 5 seconds and not get canceled */
- sleep(5);
- has5secsleeped = 1;
- assert (pthread_setcancelstate (PTHREAD_CANCEL_ENABLE, NULL) == 0);
- /* thread should cancel here */
- sleep (5);
-
- return NULL;
-}
-
-int main (void)
-{
- void * result;
- pthread_t t;
-
- assert (pthread_create (&t, NULL, Thread, NULL) == 0);
- assert (pthread_cancel (t) == 0);
- assert (pthread_join (t, &result) == 0);
- assert (has5secsleeped == 1);
- assert (result == PTHREAD_CANCELED);
-
- return 0;
-}
diff --git a/winsup/testsuite/winsup.api/pthread/cancel8.c b/winsup/testsuite/winsup.api/pthread/cancel8.c
deleted file mode 100644
index fb30fd93b..000000000
--- a/winsup/testsuite/winsup.api/pthread/cancel8.c
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * File: cancel8.c
- *
- * Test Synopsis: Test if usleep is a cancellation point.
- *
- * Test Method (Validation or Falsification):
- * -
- *
- * Requirements Tested:
- * -
- *
- * Features Tested:
- * -
- *
- * Cases Tested:
- * -
- *
- * Description:
- * -
- *
- * Environment:
- * -
- *
- * Input:
- * - None.
- *
- * Output:
- * - File name, Line number, and failed expression on failure.
- * - No output on success.
- *
- * Assumptions:
- * - have working pthread_create, pthread_cancel, pthread_setcancelstate
- * pthread_join
- *
- * Pass Criteria:
- * - Process returns zero exit status.
- *
- * Fail Criteria:
- * - Process returns non-zero exit status.
- */
-
-#include "test.h"
-
-static int has5secsleeped = 0;
-
-static void *Thread(void *punused)
-{
- assert (pthread_setcancelstate (PTHREAD_CANCEL_DISABLE, NULL) == 0);
- /* thread should usleep 5 seconds and not get canceled */
- usleep(5000000);
- has5secsleeped = 1;
- assert (pthread_setcancelstate (PTHREAD_CANCEL_ENABLE, NULL) == 0);
- /* thread should cancel here */
- usleep(5000000);
-
- return NULL;
-}
-
-int main (void)
-{
- void * result;
- pthread_t t;
-
- assert (pthread_create (&t, NULL, Thread, NULL) == 0);
- assert (pthread_cancel (t) == 0);
- assert (pthread_join (t, &result) == 0);
- assert (has5secsleeped == 1);
- assert (result == PTHREAD_CANCELED);
-
- return 0;
-}
diff --git a/winsup/testsuite/winsup.api/pthread/cancel9.c b/winsup/testsuite/winsup.api/pthread/cancel9.c
deleted file mode 100644
index 1cbf62d2c..000000000
--- a/winsup/testsuite/winsup.api/pthread/cancel9.c
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- * File: cancel9.c
- *
- * Test Synopsis: Test if waitpid is a cancellation point.
- *
- * Test Method (Validation or Falsification):
- * -
- *
- * Requirements Tested:
- * -
- *
- * Features Tested:
- * -
- *
- * Cases Tested:
- * -
- *
- * Description:
- * -
- *
- * Environment:
- * -
- *
- * Input:
- * - None.
- *
- * Output:
- * - File name, Line number, and failed expression on failure.
- * - No output on success.
- *
- * Assumptions:
- * - have working pthread_create, pthread_cancel, pthread_setcancelstate
- * pthread_join
- *
- * Pass Criteria:
- * - Process returns zero exit status.
- *
- * Fail Criteria:
- * - Process returns non-zero exit status.
- */
-
-#include "test.h"
-#include <assert.h>
-#include <sys/wait.h>
-
-static pid_t pid;
-
-static void *Thread(void *punused)
-{
- int res;
-
- pid = fork ();
- assert (pid != -1);
- switch (pid)
- {
- case 0:
- sleep (10);
- break;
- default:
- assert (waitpid (pid, &res, 0) != -1);
- }
-
- return NULL;
-}
-
-int main (void)
-{
- int res;
-
- void * result;
- pthread_t t;
-
- assert (pthread_create (&t, NULL, Thread, NULL) == 0);
- sleep (5);
- assert (pthread_cancel (t) == 0);
- assert (pthread_join (t, &result) == 0);
- assert (result == PTHREAD_CANCELED);
- assert (waitpid (pid, &res, 0) != -1);
-
- return 0;
-}
diff --git a/winsup/testsuite/winsup.api/pthread/cleanup2.c b/winsup/testsuite/winsup.api/pthread/cleanup2.c
deleted file mode 100644
index bcbaad3a7..000000000
--- a/winsup/testsuite/winsup.api/pthread/cleanup2.c
+++ /dev/null
@@ -1,157 +0,0 @@
-/*
- * File: cleanup2.c
- *
- * Test Synopsis: Test cleanup handler executes (when thread is not canceled).
- *
- * Test Method (Validation or Falsification):
- * -
- *
- * Requirements Tested:
- * -
- *
- * Features Tested:
- * -
- *
- * Cases Tested:
- * -
- *
- * Description:
- * -
- *
- * Environment:
- * -
- *
- * Input:
- * - None.
- *
- * Output:
- * - File name, Line number, and failed expression on failure.
- * - No output on success.
- *
- * Assumptions:
- * - have working pthread_create, pthread_self, pthread_mutex_lock/unlock
- * pthread_testcancel, pthread_cancel, pthread_join
- *
- * Pass Criteria:
- * - Process returns zero exit status.
- *
- * Fail Criteria:
- * - Process returns non-zero exit status.
- */
-
-#include "test.h"
-
-/*
- * Create NUMTHREADS threads in addition to the Main thread.
- */
-enum {
- NUMTHREADS = 10
-};
-
-typedef struct bag_t_ bag_t;
-struct bag_t_ {
- int threadnum;
- int started;
- /* Add more per-thread state variables here */
- int count;
-};
-
-static bag_t threadbag[NUMTHREADS + 1];
-
-static int pop_count = 0;
-
-static void
-increment_pop_count(void * arg)
-{
- int * c = (int *) arg;
-
- (*c)++;
-}
-
-void *
-mythread(void * arg)
-{
- int result = 0;
- bag_t * bag = (bag_t *) arg;
-
- assert(bag == &threadbag[bag->threadnum]);
- assert(bag->started == 0);
- bag->started = 1;
-
- pthread_cleanup_push(increment_pop_count, (void *) &pop_count);
-
- sched_yield();
-
- pthread_cleanup_pop(1);
-
- return (void *) result;
-}
-
-int
-main()
-{
- int failed = 0;
- int i;
- pthread_t t[NUMTHREADS + 1];
-
- assert((t[0] = pthread_self()) != NULL);
-
- for (i = 1; i <= NUMTHREADS; i++)
- {
- threadbag[i].started = 0;
- threadbag[i].threadnum = i;
- assert(pthread_create(&t[i], NULL, mythread, (void *) &threadbag[i]) == 0);
- }
-
- /*
- * Code to control or munipulate child threads should probably go here.
- */
- Sleep(1000);
-
- /*
- * Standard check that all threads started.
- */
- for (i = 1; i <= NUMTHREADS; i++)
- {
- if (!threadbag[i].started)
- {
- failed |= !threadbag[i].started;
- fprintf(stderr, "Thread %d: started %d\n", i, threadbag[i].started);
- }
- }
-
- assert(!failed);
-
- /*
- * Check any results here. Set "failed" and only print output on failure.
- */
- failed = 0;
- for (i = 1; i <= NUMTHREADS; i++)
- {
- int fail = 0;
- int result = 0;
-
- assert(pthread_join(t[i], (void **) &result) == 0);
-
- fail = (result != 0);
-
- if (fail)
- {
- fprintf(stderr, "Thread %d: started %d: result: %d\n",
- i,
- threadbag[i].started,
- result);
- }
- failed = (failed || fail);
- }
-
- assert(!failed);
-
- assert(pop_count == NUMTHREADS);
-
- /*
- * Success.
- */
- return 0;
-}
-
diff --git a/winsup/testsuite/winsup.api/pthread/cleanup3.c b/winsup/testsuite/winsup.api/pthread/cleanup3.c
deleted file mode 100644
index f8201faa0..000000000
--- a/winsup/testsuite/winsup.api/pthread/cleanup3.c
+++ /dev/null
@@ -1,160 +0,0 @@
-/*
- * File: cleanup3.c
- *
- * Test Synopsis: Test cleanup handler does not execute (when thread is
- * not canceled).
- *
- * Test Method (Validation or Falsification):
- * -
- *
- * Requirements Tested:
- * -
- *
- * Features Tested:
- * -
- *
- * Cases Tested:
- * -
- *
- * Description:
- * -
- *
- * Environment:
- * -
- *
- * Input:
- * - None.
- *
- * Output:
- * - File name, Line number, and failed expression on failure.
- * - No output on success.
- *
- * Assumptions:
- * - have working pthread_create, pthread_self, pthread_mutex_lock/unlock
- * pthread_testcancel, pthread_cancel, pthread_join
- *
- * Pass Criteria:
- * - Process returns zero exit status.
- *
- * Fail Criteria:
- * - Process returns non-zero exit status.
- */
-
-#include "test.h"
-
-/*
- * Create NUMTHREADS threads in addition to the Main thread.
- */
-enum {
- NUMTHREADS = 10
-};
-
-typedef struct bag_t_ bag_t;
-struct bag_t_ {
- int threadnum;
- int started;
- /* Add more per-thread state variables here */
- int count;
-};
-
-static bag_t threadbag[NUMTHREADS + 1];
-
-static int pop_count = 0;
-
-static void
-increment_pop_count(void * arg)
-{
- int * c = (int *) arg;
-
- (*c)++;
-}
-
-void *
-mythread(void * arg)
-{
- int result = 0;
- bag_t * bag = (bag_t *) arg;
-
- assert(bag == &threadbag[bag->threadnum]);
- assert(bag->started == 0);
- bag->started = 1;
-
- pthread_cleanup_push(increment_pop_count, (void *) &pop_count);
-
- sched_yield();
-
- pop_count--;
-
- pthread_cleanup_pop(0);
-
- return (void *) result;
-}
-
-int
-main()
-{
- int failed = 0;
- int i;
- pthread_t t[NUMTHREADS + 1];
-
- assert((t[0] = pthread_self()) != NULL);
-
- for (i = 1; i <= NUMTHREADS; i++)
- {
- threadbag[i].started = 0;
- threadbag[i].threadnum = i;
- assert(pthread_create(&t[i], NULL, mythread, (void *) &threadbag[i]) == 0);
- }
-
- /*
- * Code to control or munipulate child threads should probably go here.
- */
- Sleep(1000);
-
- /*
- * Standard check that all threads started.
- */
- for (i = 1; i <= NUMTHREADS; i++)
- {
- if (!threadbag[i].started)
- {
- failed |= !threadbag[i].started;
- fprintf(stderr, "Thread %d: started %d\n", i, threadbag[i].started);
- }
- }
-
- assert(!failed);
-
- /*
- * Check any results here. Set "failed" and only print output on failure.
- */
- failed = 0;
- for (i = 1; i <= NUMTHREADS; i++)
- {
- int fail = 0;
- int result = 0;
-
- assert(pthread_join(t[i], (void **) &result) == 0);
-
- fail = (result != 0);
-
- if (fail)
- {
- fprintf(stderr, "Thread %d: started %d: result: %d\n",
- i,
- threadbag[i].started,
- result);
- }
- failed = (failed || fail);
- }
-
- assert(!failed);
-
- assert(pop_count == -(NUMTHREADS));
-
- /*
- * Success.
- */
- return 0;
-}
-
diff --git a/winsup/testsuite/winsup.api/pthread/condvar1.c b/winsup/testsuite/winsup.api/pthread/condvar1.c
deleted file mode 100644
index daa0f420e..000000000
--- a/winsup/testsuite/winsup.api/pthread/condvar1.c
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * File: condvar1.c
- *
- * Test Synopsis:
- * - Test initialisation and destruction of a CV.
- *
- * Test Method (Validation or Falsification):
- * - Validation
- *
- * Requirements Tested:
- * -
- *
- * Features Tested:
- * -
- *
- * Cases Tested:
- * -
- *
- * Description:
- * - Creates and then imediately destroys a CV. Does not
- * test the CV.
- *
- * Environment:
- * -
- *
- * Input:
- * - None.
- *
- * Output:
- * - File name, Line number, and failed expression on failure.
- * - No output on success.
- *
- * Assumptions:
- * -
- *
- * Pass Criteria:
- * - pthread_cond_init returns 0, and
- * - pthread_cond_destroy returns 0.
- * - Process returns zero exit status.
- *
- * Fail Criteria:
- * - pthread_cond_init returns non-zero, or
- * - pthread_cond_destroy returns non-zero.
- * - Process returns non-zero exit status.
- */
-
-#include "test.h"
-
-static pthread_cond_t cv = NULL;
-
-int
-main()
-{
- assert(cv == NULL);
-
- assert(pthread_cond_init(&cv, NULL) == 0);
-
- assert(cv != NULL);
-
- assert(pthread_cond_destroy(&cv) == 0);
-
- assert(cv == NULL);
-
- return 0;
-}
diff --git a/winsup/testsuite/winsup.api/pthread/condvar2.c b/winsup/testsuite/winsup.api/pthread/condvar2.c
deleted file mode 100644
index 309f5dfdf..000000000
--- a/winsup/testsuite/winsup.api/pthread/condvar2.c
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- * File: condvar2.c
- *
- * Test Synopsis:
- * - Test timed wait on a CV.
- *
- * Test Method (Validation or Falsification):
- * - Validation
- *
- * Requirements Tested:
- * -
- *
- * Features Tested:
- * -
- *
- * Cases Tested:
- * -
- *
- * Description:
- * - Because the CV is never signaled, we expect the wait to time out.
- *
- * Environment:
- * -
- *
- * Input:
- * - None.
- *
- * Output:
- * - File name, Line number, and failed expression on failure.
- * - No output on success.
- *
- * Assumptions:
- * -
- *
- * Pass Criteria:
- * - pthread_cond_timedwait returns ETIMEDOUT.
- * - Process returns zero exit status.
- *
- * Fail Criteria:
- * - pthread_cond_timedwait does not return ETIMEDOUT.
- * - Process returns non-zero exit status.
- */
-
-#include "test.h"
-#include <sys/timeb.h>
-
-pthread_cond_t cv;
-pthread_mutex_t mutex;
-
-int
-main()
-{
- struct timespec abstime = { 0, 0 };
- struct timeb currSysTime;
- const DWORD NANOSEC_PER_MILLISEC = 1000000;
- int result;
-
- assert(pthread_cond_init(&cv, NULL) == 0);
-
- assert(pthread_mutex_init(&mutex, NULL) == 0);
-
- assert(pthread_mutex_lock(&mutex) == 0);
-
- /* get current system time */
- ftime(&currSysTime);
-
- abstime.tv_sec = currSysTime.time;
- abstime.tv_nsec = NANOSEC_PER_MILLISEC * currSysTime.millitm;
-
- abstime.tv_sec += 5;
-
- assert(pthread_cond_timedwait(&cv, &mutex, &abstime) == ETIMEDOUT);
-
- assert(pthread_mutex_unlock(&mutex) == 0);
-
- result = pthread_cond_destroy(&cv);
- assert(result == 0);
-
- return 0;
-}
diff --git a/winsup/testsuite/winsup.api/pthread/condvar2_1.c b/winsup/testsuite/winsup.api/pthread/condvar2_1.c
deleted file mode 100644
index da3416203..000000000
--- a/winsup/testsuite/winsup.api/pthread/condvar2_1.c
+++ /dev/null
@@ -1,107 +0,0 @@
-/*
- * File: condvar2_1.c
- *
- * Test Synopsis:
- * - Test timeout of multiple waits on a CV with no signal/broadcast.
- *
- * Test Method (Validation or Falsification):
- * - Validation
- *
- * Requirements Tested:
- * -
- *
- * Features Tested:
- * -
- *
- * Cases Tested:
- * -
- *
- * Description:
- * - Because the CV is never signaled, we expect the waits to time out.
- *
- * Environment:
- * -
- *
- * Input:
- * - None.
- *
- * Output:
- * - File name, Line number, and failed expression on failure.
- * - No output on success.
- *
- * Assumptions:
- * -
- *
- * Pass Criteria:
- * - pthread_cond_timedwait returns ETIMEDOUT.
- * - Process returns zero exit status.
- *
- * Fail Criteria:
- * - pthread_cond_timedwait does not return ETIMEDOUT.
- * - Process returns non-zero exit status.
- */
-
-#include "test.h"
-#include <sys/timeb.h>
-
-static pthread_cond_t cv;
-static pthread_mutex_t mutex;
-static struct timespec abstime = { 0, 0 };
-
-enum {
- NUMTHREADS = 60
-};
-
-void *
-mythread(void * arg)
-{
- assert(pthread_mutex_lock(&mutex) == 0);
-
- assert(pthread_cond_timedwait(&cv, &mutex, &abstime) == ETIMEDOUT);
-
- assert(pthread_mutex_unlock(&mutex) == 0);
-
- return arg;
-}
-
-int
-main()
-{
- int i;
- pthread_t t[NUMTHREADS + 1];
- int result = 0;
- struct timeb currSysTime;
- const DWORD NANOSEC_PER_MILLISEC = 1000000;
-
- assert(pthread_cond_init(&cv, NULL) == 0);
-
- assert(pthread_mutex_init(&mutex, NULL) == 0);
-
- /* get current system time */
- ftime(&currSysTime);
-
- abstime.tv_sec = currSysTime.time;
- abstime.tv_nsec = NANOSEC_PER_MILLISEC * currSysTime.millitm;
-
- abstime.tv_sec += 5;
-
- assert(pthread_mutex_lock(&mutex) == 0);
-
- for (i = 1; i <= NUMTHREADS; i++)
- {
- assert(pthread_create(&t[i], NULL, mythread, (void *) i) == 0);
- }
-
- assert(pthread_mutex_unlock(&mutex) == 0);
-
- for (i = 1; i <= NUMTHREADS; i++)
- {
- assert(pthread_join(t[i], (void **) &result) == 0);
- assert(result == i);
- }
-
- result = pthread_cond_destroy(&cv);
- assert(result == 0);
-
- return 0;
-}
diff --git a/winsup/testsuite/winsup.api/pthread/condvar3.c b/winsup/testsuite/winsup.api/pthread/condvar3.c
deleted file mode 100644
index 249e260aa..000000000
--- a/winsup/testsuite/winsup.api/pthread/condvar3.c
+++ /dev/null
@@ -1,115 +0,0 @@
-/*
- * File: condvar3.c
- *
- * Test Synopsis:
- * - Test basic function of a CV
- *
- * Test Method (Validation or Falsification):
- * - Validation
- *
- * Requirements Tested:
- * -
- *
- * Features Tested:
- * -
- *
- * Cases Tested:
- * -
- *
- * Description:
- * - The primary thread takes the lock before creating any threads.
- * The secondary thread blocks on the lock allowing the primary
- * thread to enter the cv wait state which releases the lock.
- * The secondary thread then takes the lock and signals the waiting
- * primary thread.
- *
- * Environment:
- * -
- *
- * Input:
- * - None.
- *
- * Output:
- * - File name, Line number, and failed expression on failure.
- * - No output on success.
- *
- * Assumptions:
- * -
- *
- * Pass Criteria:
- * - pthread_cond_timedwait returns 0.
- * - Process returns zero exit status.
- *
- * Fail Criteria:
- * - pthread_cond_timedwait returns ETIMEDOUT.
- * - Process returns non-zero exit status.
- */
-
-#include "test.h"
-#include <sys/timeb.h>
-
-static pthread_cond_t cv;
-static pthread_mutex_t mutex;
-static int shared = 0;
-
-enum {
- NUMTHREADS = 2 /* Including the primary thread. */
-};
-
-void *
-mythread(void * arg)
-{
- int result = 0;
-
- assert(pthread_mutex_lock(&mutex) == 0);
-
- shared++;
-
- assert(pthread_mutex_unlock(&mutex) == 0);
-
- if ((result = pthread_cond_signal(&cv)) != 0)
- {
- printf("Error = %s\n", error_string[result]);
- }
- assert(result == 0);
-
- return (void *) 0;
-}
-
-int
-main()
-{
- pthread_t t[NUMTHREADS];
- struct timespec abstime = { 0, 0 };
- struct timeb currSysTime;
- const DWORD NANOSEC_PER_MILLISEC = 1000000;
-
- assert((t[0] = pthread_self()) != NULL);
-
- assert(pthread_cond_init(&cv, NULL) == 0);
-
- assert(pthread_mutex_init(&mutex, NULL) == 0);
-
- assert(pthread_mutex_lock(&mutex) == 0);
-
- /* get current system time */
- ftime(&currSysTime);
-
- abstime.tv_sec = currSysTime.time;
- abstime.tv_nsec = NANOSEC_PER_MILLISEC * currSysTime.millitm;
-
- assert(pthread_create(&t[1], NULL, mythread, (void *) 1) == 0);
-
- abstime.tv_sec += 5;
-
- while (! (shared > 0))
- assert(pthread_cond_timedwait(&cv, &mutex, &abstime) == 0);
-
- assert(shared > 0);
-
- assert(pthread_mutex_unlock(&mutex) == 0);
-
- assert(pthread_cond_destroy(&cv) == 0);
-
- return 0;
-}
diff --git a/winsup/testsuite/winsup.api/pthread/condvar3_1.c b/winsup/testsuite/winsup.api/pthread/condvar3_1.c
deleted file mode 100644
index b08b04889..000000000
--- a/winsup/testsuite/winsup.api/pthread/condvar3_1.c
+++ /dev/null
@@ -1,145 +0,0 @@
-/*
- * File: condvar3_1.c
- *
- * Test Synopsis:
- * - Test timeout of multiple waits on a CV with some signaled.
- *
- * Test Method (Validation or Falsification):
- * - Validation
- *
- * Requirements Tested:
- * -
- *
- * Features Tested:
- * -
- *
- * Cases Tested:
- * -
- *
- * Description:
- * - Because some CVs are never signaled, we expect their waits to time out.
- * Some are signaled, the rest time out. Pthread_cond_destroy() will fail
- * unless all are accounted for, either signaled or timedout.
- *
- * Environment:
- * -
- *
- * Input:
- * - None.
- *
- * Output:
- * - File name, Line number, and failed expression on failure.
- * - No output on success.
- *
- * Assumptions:
- * -
- *
- * Pass Criteria:
- * - pthread_cond_timedwait returns ETIMEDOUT.
- * - Process returns zero exit status.
- *
- * Fail Criteria:
- * - pthread_cond_timedwait does not return ETIMEDOUT.
- * - Process returns non-zero exit status.
- */
-
-#include "test.h"
-#include <sys/timeb.h>
-
-static pthread_cond_t cv;
-static pthread_cond_t cv1;
-static pthread_mutex_t mutex;
-static struct timespec abstime = { 0, 0 };
-static int timedout = 0;
-static int signaled = 0;
-static int awoken = 0;
-static int waiting = 0;
-
-enum {
- NUMTHREADS = 60
-};
-
-void *
-mythread(void * arg)
-{
- int result;
-
- assert(pthread_mutex_lock(&mutex) == 0);
-
- if ( ++waiting == NUMTHREADS)
- assert(pthread_cond_signal(&cv1) == 0);
-
- result = pthread_cond_timedwait(&cv, &mutex, &abstime);
- if (result == ETIMEDOUT)
- {
- timedout++;
- }
- else
- {
- awoken++;
- }
-
- assert(pthread_mutex_unlock(&mutex) == 0);
-
- return arg;
-}
-
-int
-main()
-{
- int i;
- pthread_t t[NUMTHREADS + 1];
- int result = 0;
- struct timeb currSysTime;
- const DWORD NANOSEC_PER_MILLISEC = 1000000;
-
- assert(pthread_cond_init(&cv, NULL) == 0);
- assert(pthread_cond_init(&cv1, NULL) == 0);
-
- assert(pthread_mutex_init(&mutex, NULL) == 0);
-
- /* get current system time */
- ftime(&currSysTime);
-
- abstime.tv_sec = currSysTime.time;
- abstime.tv_nsec = NANOSEC_PER_MILLISEC * currSysTime.millitm;
-
- abstime.tv_sec += 5;
-
- assert(pthread_mutex_lock(&mutex) == 0);
-
- for (i = 1; i <= NUMTHREADS; i++)
- {
- assert(pthread_create(&t[i], NULL, mythread, (void *) i) == 0);
- }
-
- do {
- assert(pthread_cond_wait(&cv1,&mutex) == 0);
- } while ( NUMTHREADS != waiting );
-
- assert(pthread_mutex_unlock(&mutex) == 0);
-
- for (i = NUMTHREADS/3; i <= 2*NUMTHREADS/3; i++)
- {
- assert(pthread_cond_signal(&cv) == 0);
- signaled++;
- }
-
- for (i = 1; i <= NUMTHREADS; i++)
- {
- assert(pthread_join(t[i], (void **) &result) == 0);
- assert(result == i);
- }
-
- printf("awk = %d\n", awoken);
- printf("sig = %d\n", signaled);
- printf("tot = %d\n", timedout);
-
- assert(signaled == awoken);
- assert(timedout == NUMTHREADS - signaled);
-
- result = pthread_cond_destroy(&cv);
- assert(result == 0);
-
- return 0;
-}
diff --git a/winsup/testsuite/winsup.api/pthread/condvar3_2.c b/winsup/testsuite/winsup.api/pthread/condvar3_2.c
deleted file mode 100644
index 57e7eb439..000000000
--- a/winsup/testsuite/winsup.api/pthread/condvar3_2.c
+++ /dev/null
@@ -1,139 +0,0 @@
-/*
- * File: condvar3_2.c
- *
- * Test Synopsis:
- * - Test timeout of multiple waits on a CV with remainder broadcast awoken.
- *
- * Test Method (Validation or Falsification):
- * - Validation
- *
- * Requirements Tested:
- * -
- *
- * Features Tested:
- * -
- *
- * Cases Tested:
- * -
- *
- * Description:
- * - Because some CVs are never signaled, we expect their waits to time out.
- * Some time out, the rest are broadcast signaled. Pthread_cond_destroy() will fail
- * unless all are accounted for, either signaled or timedout.
- *
- * Environment:
- * -
- *
- * Input:
- * - None.
- *
- * Output:
- * - File name, Line number, and failed expression on failure.
- * - No output on success.
- *
- * Assumptions:
- * -
- *
- * Pass Criteria:
- * - pthread_cond_timedwait returns ETIMEDOUT.
- * - Process returns zero exit status.
- *
- * Fail Criteria:
- * - pthread_cond_timedwait does not return ETIMEDOUT.
- * - Process returns non-zero exit status.
- */
-
-#include "test.h"
-#include <sys/timeb.h>
-
-static pthread_cond_t cv;
-static pthread_mutex_t mutex;
-static struct timespec abstime = { 0, 0 };
-static struct timespec abstime2 = { 0, 0 };
-static int timedout = 0;
-static int awoken = 0;
-
-enum {
- NUMTHREADS = 60
-};
-
-void *
-mythread(void * arg)
-{
- int result;
-
- assert(pthread_mutex_lock(&mutex) == 0);
-
- abstime2.tv_sec = abstime.tv_sec;
-
- if ((int) arg % 3 == 0)
- {
- abstime2.tv_sec += 2;
- }
-
- result = pthread_cond_timedwait(&cv, &mutex, &abstime2);
- if (result == ETIMEDOUT)
- {
- timedout++;
- }
- else
- {
- awoken++;
- }
-
- assert(pthread_mutex_unlock(&mutex) == 0);
-
- return arg;
-}
-
-int
-main()
-{
- int i;
- pthread_t t[NUMTHREADS + 1];
- int result = 0;
- struct timeb currSysTime;
- const DWORD NANOSEC_PER_MILLISEC = 1000000;
-
- assert(pthread_cond_init(&cv, NULL) == 0);
-
- assert(pthread_mutex_init(&mutex, NULL) == 0);
-
- /* get current system time */
- ftime(&currSysTime);
-
- abstime.tv_sec = abstime.tv_sec = currSysTime.time + 5;
- abstime.tv_nsec = abstime2.tv_nsec = NANOSEC_PER_MILLISEC * currSysTime.millitm;
-
- assert(pthread_mutex_lock(&mutex) == 0);
-
- for (i = 1; i <= NUMTHREADS; i++)
- {
- assert(pthread_create(&t[i], NULL, mythread, (void *) i) == 0);
- }
-
- assert(pthread_mutex_unlock(&mutex) == 0);
-
- for (i = 1; i <= NUMTHREADS; i++)
- {
- assert(pthread_join(t[i], (void **) &result) == 0);
- assert(result == i);
- /*
- * Approximately 2/3rds of the threads are expected to time out.
- * Signal the remainder after some threads have woken up and exited
- * and while some are still waking up after timeout.
- * Also tests that redundant broadcasts don't return errors.
- */
- if (awoken > NUMTHREADS/3)
- {
- assert(pthread_cond_broadcast(&cv) == 0);
- }
- }
-
- assert(awoken == NUMTHREADS - timedout);
-
- result = pthread_cond_destroy(&cv);
- assert(result == 0);
-
- return 0;
-}
diff --git a/winsup/testsuite/winsup.api/pthread/condvar3_3.c b/winsup/testsuite/winsup.api/pthread/condvar3_3.c
deleted file mode 100644
index f6bcca9fa..000000000
--- a/winsup/testsuite/winsup.api/pthread/condvar3_3.c
+++ /dev/null
@@ -1,100 +0,0 @@
-/*
- * File: condvar3_3.c
- *
- * Test Synopsis:
- * - Test timeouts and lost signals on a CV.
- *
- * Test Method (Validation or Falsification):
- * - Validation
- *
- * Requirements Tested:
- * -
- *
- * Features Tested:
- * -
- *
- * Cases Tested:
- * -
- *
- * Description:
- * -
- *
- * Environment:
- * -
- *
- * Input:
- * - None.
- *
- * Output:
- * - File name, Line number, and failed expression on failure.
- * - No output on success.
- *
- * Assumptions:
- * -
- *
- * Pass Criteria:
- * - pthread_cond_timedwait returns ETIMEDOUT.
- * - Process returns zero exit status.
- *
- * Fail Criteria:
- * - pthread_cond_timedwait does not return ETIMEDOUT.
- * - Process returns non-zero exit status.
- */
-
-/* Timur Aydin (taydin@snet.net) */
-
-#include "test.h"
-
-#include <sys/timeb.h>
-
-pthread_cond_t cnd;
-pthread_mutex_t mtx;
-
-int main()
-{
- int rc;
-
- struct timespec abstime = { 0, 0 };
- struct timeb currSysTime;
- const DWORD NANOSEC_PER_MILLISEC = 1000000;
-
- assert(pthread_cond_init(&cnd, 0) == 0);
- assert(pthread_mutex_init(&mtx, 0) == 0);
-
- /* get current system time */
- ftime(&currSysTime);
-
- abstime.tv_sec = currSysTime.time;
- abstime.tv_nsec = NANOSEC_PER_MILLISEC * currSysTime.millitm;
- abstime.tv_sec += 1;
-
- /* Here pthread_cond_timedwait should time out after one second. */
-
- assert(pthread_mutex_lock(&mtx) == 0);
-
- assert((rc = pthread_cond_timedwait(&cnd, &mtx, &abstime)) == ETIMEDOUT);
-
- assert(pthread_mutex_unlock(&mtx) == 0);
-
- /* Here, the condition variable is signaled, but there are no
- threads waiting on it. The signal should be lost and
- the next pthread_cond_timedwait should time out too. */
-
- assert(pthread_mutex_lock(&mtx) == 0);
-
- assert((rc = pthread_cond_signal(&cnd)) == 0);
-
- assert(pthread_mutex_unlock(&mtx) == 0);
-
- assert(pthread_mutex_lock(&mtx) == 0);
-
- abstime.tv_sec = currSysTime.time;
- abstime.tv_nsec = NANOSEC_PER_MILLISEC * currSysTime.millitm;
- abstime.tv_sec += 1;
-
- assert((rc = pthread_cond_timedwait(&cnd, &mtx, &abstime)) == ETIMEDOUT);
-
- assert(pthread_mutex_unlock(&mtx) == 0);
-
- return 0;
-}
diff --git a/winsup/testsuite/winsup.api/pthread/condvar4.c b/winsup/testsuite/winsup.api/pthread/condvar4.c
deleted file mode 100644
index 7a2007a4a..000000000
--- a/winsup/testsuite/winsup.api/pthread/condvar4.c
+++ /dev/null
@@ -1,137 +0,0 @@
-/*
- * File: condvar4.c
- *
- * Test Synopsis:
- * - Test PTHREAD_COND_INITIALIZER.
- *
- * Test Method (Validation or Falsification):
- * - Validation
- *
- * Requirements Tested:
- * -
- *
- * Features Tested:
- * -
- *
- * Cases Tested:
- * -
- *
- * Description:
- * - Test basic CV function but starting with a static initialised
- * CV.
- *
- * Environment:
- * -
- *
- * Input:
- * - None.
- *
- * Output:
- * - File name, Line number, and failed expression on failure.
- * - No output on success.
- *
- * Assumptions:
- * -
- *
- * Pass Criteria:
- * - pthread_cond_timedwait returns 0.
- * - Process returns zero exit status.
- *
- * Fail Criteria:
- * - pthread_cond_timedwait returns ETIMEDOUT.
- * - Process returns non-zero exit status.
- */
-
-#include "test.h"
-#include <sys/timeb.h>
-
-typedef struct cvthing_t_ cvthing_t;
-
-struct cvthing_t_ {
- pthread_cond_t notbusy;
- pthread_mutex_t lock;
- int shared;
-};
-
-static cvthing_t cvthing = {
- PTHREAD_COND_INITIALIZER,
- PTHREAD_MUTEX_INITIALIZER,
- 0
-};
-
-enum {
- NUMTHREADS = 2
-};
-
-void *
-mythread(void * arg)
-{
- assert(pthread_mutex_lock(&cvthing.lock) == 0);
-
- cvthing.shared++;
-
- assert(pthread_mutex_unlock(&cvthing.lock) == 0);
-
- assert(pthread_cond_signal(&cvthing.notbusy) == 0);
-
- return (void *) 0;
-}
-
-int
-main()
-{
- pthread_t t[NUMTHREADS];
- struct timespec abstime = { 0, 0 };
- struct timeb currSysTime;
- const DWORD NANOSEC_PER_MILLISEC = 1000000;
-
- cvthing.shared = 0;
-
- assert((t[0] = pthread_self()) != NULL);
-
- assert(cvthing.notbusy == PTHREAD_COND_INITIALIZER);
-
- assert(cvthing.lock == PTHREAD_MUTEX_INITIALIZER);
-
- assert(pthread_mutex_lock(&cvthing.lock) == 0);
-
- assert(cvthing.lock != PTHREAD_MUTEX_INITIALIZER);
-
- /* get current system time */
- ftime(&currSysTime);
-
- abstime.tv_sec = currSysTime.time;
- abstime.tv_nsec = NANOSEC_PER_MILLISEC * currSysTime.millitm;
-
- abstime.tv_sec += 5;
-
- assert(pthread_cond_timedwait(&cvthing.notbusy, &cvthing.lock, &abstime) == ETIMEDOUT);
-
- assert(cvthing.notbusy != PTHREAD_COND_INITIALIZER);
-
- assert(pthread_create(&t[1], NULL, mythread, (void *) 1) == 0);
-
- ftime(&currSysTime);
-
- abstime.tv_sec = currSysTime.time;
- abstime.tv_nsec = NANOSEC_PER_MILLISEC * currSysTime.millitm;
-
- abstime.tv_sec += 5;
-
- while (! (cvthing.shared > 0))
- assert(pthread_cond_timedwait(&cvthing.notbusy, &cvthing.lock, &abstime) == 0);
-
- assert(cvthing.shared > 0);
-
- assert(pthread_mutex_unlock(&cvthing.lock) == 0);
-
- assert(pthread_mutex_destroy(&cvthing.lock) == 0);
-
- assert(cvthing.lock == NULL);
-
- assert(pthread_cond_destroy(&cvthing.notbusy) == 0);
-
- assert(cvthing.notbusy == NULL);
-
- return 0;
-}
diff --git a/winsup/testsuite/winsup.api/pthread/condvar5.c b/winsup/testsuite/winsup.api/pthread/condvar5.c
deleted file mode 100644
index b493ab136..000000000
--- a/winsup/testsuite/winsup.api/pthread/condvar5.c
+++ /dev/null
@@ -1,136 +0,0 @@
-/*
- * File: condvar5.c
- *
- * Test Synopsis:
- * - Test pthread_cond_broadcast.
- *
- * Test Method (Validation or Falsification):
- * - Validation
- *
- * Requirements Tested:
- * -
- *
- * Features Tested:
- * -
- *
- * Cases Tested:
- * -
- *
- * Description:
- * - Test broadcast with one waiting CV.
- *
- * Environment:
- * -
- *
- * Input:
- * - None.
- *
- * Output:
- * - File name, Line number, and failed expression on failure.
- * - No output on success.
- *
- * Assumptions:
- * -
- *
- * Pass Criteria:
- * - pthread_cond_timedwait returns 0.
- * - Process returns zero exit status.
- *
- * Fail Criteria:
- * - pthread_cond_timedwait returns ETIMEDOUT.
- * - Process returns non-zero exit status.
- */
-
-#include "test.h"
-#include <sys/timeb.h>
-
-typedef struct cvthing_t_ cvthing_t;
-
-struct cvthing_t_ {
- pthread_cond_t notbusy;
- pthread_mutex_t lock;
- int shared;
-};
-
-static cvthing_t cvthing = {
- PTHREAD_COND_INITIALIZER,
- PTHREAD_MUTEX_INITIALIZER,
- 0
-};
-
-enum {
- NUMTHREADS = 2
-};
-
-void *
-mythread(void * arg)
-{
- assert(pthread_mutex_lock(&cvthing.lock) == 0);
-
- cvthing.shared++;
-
- assert(pthread_mutex_unlock(&cvthing.lock) == 0);
-
- assert(pthread_cond_broadcast(&cvthing.notbusy) == 0);
-
- return (void *) 0;
-}
-
-int
-main()
-{
- pthread_t t[NUMTHREADS];
- struct timespec abstime = { 0, 0 };
- struct timeb currSysTime;
- const DWORD NANOSEC_PER_MILLISEC = 1000000;
-
- cvthing.shared = 0;
-
- assert((t[0] = pthread_self()) != NULL);
-
- assert(cvthing.notbusy == PTHREAD_COND_INITIALIZER);
-
- assert(cvthing.lock == PTHREAD_MUTEX_INITIALIZER);
-
- assert(pthread_mutex_lock(&cvthing.lock) == 0);
-
- assert(cvthing.lock != PTHREAD_MUTEX_INITIALIZER);
-
- /* get current system time */
- ftime(&currSysTime);
-
- abstime.tv_sec = currSysTime.time;
- abstime.tv_nsec = NANOSEC_PER_MILLISEC * currSysTime.millitm;
-
- abstime.tv_sec += 5;
-
- assert(pthread_cond_timedwait(&cvthing.notbusy, &cvthing.lock, &abstime) == ETIMEDOUT);
-
- assert(cvthing.notbusy != PTHREAD_COND_INITIALIZER);
-
- assert(pthread_create(&t[1], NULL, mythread, (void *) 1) == 0);
-
- ftime(&currSysTime);
-
- abstime.tv_sec = currSysTime.time;
- abstime.tv_nsec = NANOSEC_PER_MILLISEC * currSysTime.millitm;
-
- abstime.tv_sec += 5;
-
- while (! (cvthing.shared > 0))
- assert(pthread_cond_timedwait(&cvthing.notbusy, &cvthing.lock, &abstime) == 0);
-
- assert(cvthing.shared > 0);
-
- assert(pthread_mutex_unlock(&cvthing.lock) == 0);
-
- assert(pthread_mutex_destroy(&cvthing.lock) == 0);
-
- assert(cvthing.lock == NULL);
-
- assert(pthread_cond_destroy(&cvthing.notbusy) == 0);
-
- assert(cvthing.notbusy == NULL);
-
- return 0;
-}
diff --git a/winsup/testsuite/winsup.api/pthread/condvar6.c b/winsup/testsuite/winsup.api/pthread/condvar6.c
deleted file mode 100644
index f011bea13..000000000
--- a/winsup/testsuite/winsup.api/pthread/condvar6.c
+++ /dev/null
@@ -1,209 +0,0 @@
-/*
- * File:
- *
- * Test Synopsis:
- * - Test pthread_cond_broadcast.
- *
- * Test Method (Validation or Falsification):
- * - Validation
- *
- * Requirements Tested:
- * -
- *
- * Features Tested:
- * -
- *
- * Cases Tested:
- * -
- *
- * Description:
- * - Test broadcast with NUMTHREADS (=5) waiting CVs.
- *
- * Environment:
- * -
- *
- * Input:
- * - None.
- *
- * Output:
- * - File name, Line number, and failed expression on failure.
- * - No output on success.
- *
- * Assumptions:
- * -
- *
- * Pass Criteria:
- * - Process returns zero exit status.
- *
- * Fail Criteria:
- * - Process returns non-zero exit status.
- */
-
-#include "test.h"
-#include <sys/timeb.h>
-
-/*
- * Create NUMTHREADS threads in addition to the Main thread.
- */
-enum {
- NUMTHREADS = 5
-};
-
-typedef struct bag_t_ bag_t;
-struct bag_t_ {
- int threadnum;
- int started;
- /* Add more per-thread state variables here */
-};
-
-static bag_t threadbag[NUMTHREADS + 1];
-
-typedef struct cvthing_t_ cvthing_t;
-
-struct cvthing_t_ {
- pthread_cond_t notbusy;
- pthread_mutex_t lock;
- int shared;
-};
-
-static cvthing_t cvthing = {
- PTHREAD_COND_INITIALIZER,
- PTHREAD_MUTEX_INITIALIZER,
- 0
-};
-
-static pthread_mutex_t start_flag = PTHREAD_MUTEX_INITIALIZER;
-
-static struct timespec abstime = { 0, 0 };
-
-static int awoken;
-
-void *
-mythread(void * arg)
-{
- bag_t * bag = (bag_t *) arg;
-
- assert(bag == &threadbag[bag->threadnum]);
- assert(bag->started == 0);
- bag->started = 1;
-
- /* Wait for the start gun */
- assert(pthread_mutex_lock(&start_flag) == 0);
- assert(pthread_mutex_unlock(&start_flag) == 0);
-
- assert(pthread_mutex_lock(&cvthing.lock) == 0);
-
- while (! (cvthing.shared > 0))
- assert(pthread_cond_timedwait(&cvthing.notbusy, &cvthing.lock, &abstime) == 0);
-
- assert(cvthing.shared > 0);
-
- awoken++;
-
- assert(pthread_mutex_unlock(&cvthing.lock) == 0);
-
- return (void *) 0;
-}
-
-int
-main()
-{
- int failed = 0;
- int i;
- pthread_t t[NUMTHREADS + 1];
-
- struct timeb currSysTime;
- const DWORD NANOSEC_PER_MILLISEC = 1000000;
-
- cvthing.shared = 0;
-
- assert((t[0] = pthread_self()) != NULL);
-
- assert(cvthing.notbusy == PTHREAD_COND_INITIALIZER);
-
- assert(cvthing.lock == PTHREAD_MUTEX_INITIALIZER);
-
- assert(pthread_mutex_lock(&start_flag) == 0);
-
- ftime(&currSysTime);
-
- abstime.tv_sec = currSysTime.time;
- abstime.tv_nsec = NANOSEC_PER_MILLISEC * currSysTime.millitm;
-
- abstime.tv_sec += 5;
-
- assert((t[0] = pthread_self()) != NULL);
-
- awoken = 0;
-
- for (i = 1; i <= NUMTHREADS; i++)
- {
- threadbag[i].started = 0;
- threadbag[i].threadnum = i;
- assert(pthread_create(&t[i], NULL, mythread, (void *) &threadbag[i]) == 0);
- }
-
- /*
- * Code to control or munipulate child threads should probably go here.
- */
-
- assert(pthread_mutex_unlock(&start_flag) == 0);
-
- /*
- * Give threads time to start.
- */
- Sleep(2000);
-
- assert(pthread_mutex_lock(&cvthing.lock) == 0);
-
- cvthing.shared++;
-
- assert(pthread_mutex_unlock(&cvthing.lock) == 0);
-
- assert(pthread_cond_broadcast(&cvthing.notbusy) == 0);
-
- /*
- * Give threads time to complete.
- */
- Sleep(2000);
-
- /*
- * Cleanup the CV.
- */
-
- assert(pthread_mutex_destroy(&cvthing.lock) == 0);
-
- assert(cvthing.lock == NULL);
-
- assert(pthread_cond_destroy(&cvthing.notbusy) == 0);
-
- assert(cvthing.notbusy == NULL);
-
- /*
- * Standard check that all threads started.
- */
- for (i = 1; i <= NUMTHREADS; i++)
- {
- failed = !threadbag[i].started;
-
- if (failed)
- {
- fprintf(stderr, "Thread %d: started %d\n", i, threadbag[i].started);
- }
- }
-
- assert(!failed);
-
- /*
- * Check any results here.
- */
-
- assert(awoken == NUMTHREADS);
-
- /*
- * Success.
- */
- return 0;
-}
-
-
diff --git a/winsup/testsuite/winsup.api/pthread/condvar7.c b/winsup/testsuite/winsup.api/pthread/condvar7.c
deleted file mode 100644
index 8e9808f48..000000000
--- a/winsup/testsuite/winsup.api/pthread/condvar7.c
+++ /dev/null
@@ -1,227 +0,0 @@
-/*
- * File: condvar7.c
- *
- *
- * Test Synopsis:
- * - Test pthread_cond_broadcast with thread cancelation.
- *
- * Test Method (Validation or Falsification):
- * - Validation
- *
- * Requirements Tested:
- * -
- *
- * Features Tested:
- * -
- *
- * Cases Tested:
- * -
- *
- * Description:
- * - Test broadcast with NUMTHREADS (=5) waiting CVs, one is canceled while waiting.
- *
- * Environment:
- * -
- *
- * Input:
- * - None.
- *
- * Output:
- * - File name, Line number, and failed expression on failure.
- * - No output on success.
- *
- * Assumptions:
- * -
- *
- * Pass Criteria:
- * - Process returns zero exit status.
- *
- * Fail Criteria:
- * - Process returns non-zero exit status.
- */
-
-#include "test.h"
-#include <sys/timeb.h>
-
-/*
- * Create NUMTHREADS threads in addition to the Main thread.
- */
-enum {
- NUMTHREADS = 5
-};
-
-typedef struct bag_t_ bag_t;
-struct bag_t_ {
- int threadnum;
- int started;
- /* Add more per-thread state variables here */
-};
-
-static bag_t threadbag[NUMTHREADS + 1];
-
-typedef struct cvthing_t_ cvthing_t;
-
-struct cvthing_t_ {
- pthread_cond_t notbusy;
- pthread_mutex_t lock;
- int shared;
-};
-
-static cvthing_t cvthing = {
- PTHREAD_COND_INITIALIZER,
- PTHREAD_MUTEX_INITIALIZER,
- 0
-};
-
-static pthread_mutex_t start_flag = PTHREAD_MUTEX_INITIALIZER;
-
-static struct timespec abstime = { 0, 0 };
-
-static int awoken;
-
-void *
-mythread(void * arg)
-{
- bag_t * bag = (bag_t *) arg;
-
- assert(bag == &threadbag[bag->threadnum]);
- assert(bag->started == 0);
- bag->started = 1;
-
- /* Wait for the start gun */
- assert(pthread_mutex_lock(&start_flag) == 0);
- assert(pthread_mutex_unlock(&start_flag) == 0);
-
- assert(pthread_mutex_lock(&cvthing.lock) == 0);
-
-#ifdef _MSC_VER
-#pragma inline_depth(0)
-#endif
- pthread_cleanup_push((void *) pthread_mutex_unlock, (void *) &cvthing.lock);
-
- while (! (cvthing.shared > 0))
- assert(pthread_cond_timedwait(&cvthing.notbusy, &cvthing.lock, &abstime) == 0);
-
- pthread_cleanup_pop(0);
-#ifdef _MSC_VER
-#pragma inline_depth()
-#endif
-
- assert(cvthing.shared > 0);
-
- awoken++;
-
- assert(pthread_mutex_unlock(&cvthing.lock) == 0);
-
- return (void *) 0;
-}
-
-int
-main()
-{
- int failed = 0;
- int i;
- pthread_t t[NUMTHREADS + 1];
- struct timeb currSysTime;
- const DWORD NANOSEC_PER_MILLISEC = 1000000;
-
- cvthing.shared = 0;
-
- assert((t[0] = pthread_self()) != NULL);
-
- assert(cvthing.notbusy == PTHREAD_COND_INITIALIZER);
-
- assert(cvthing.lock == PTHREAD_MUTEX_INITIALIZER);
-
- assert(pthread_mutex_lock(&start_flag) == 0);
-
- /* get current system time */
- ftime(&currSysTime);
-
- abstime.tv_sec = currSysTime.time;
- abstime.tv_nsec = NANOSEC_PER_MILLISEC * currSysTime.millitm;
-
- abstime.tv_sec += 10;
-
- assert((t[0] = pthread_self()) != NULL);
-
- awoken = 0;
-
- for (i = 1; i <= NUMTHREADS; i++)
- {
- threadbag[i].started = 0;
- threadbag[i].threadnum = i;
- assert(pthread_create(&t[i], NULL, mythread, (void *) &threadbag[i]) == 0);
- }
-
- /*
- * Code to control or munipulate child threads should probably go here.
- */
-
- assert(pthread_mutex_unlock(&start_flag) == 0);
-
- /*
- * Give threads time to start.
- */
- Sleep(1000);
-
- assert(pthread_mutex_lock(&cvthing.lock) == 0);
-
- cvthing.shared++;
-
- assert(pthread_mutex_unlock(&cvthing.lock) == 0);
-
- /*
- * Cancel one of the threads.
- */
- assert(pthread_cancel(t[3]) == 0);
- Sleep(500);
-
- /*
- * Signal all remaining waiting threads.
- */
- assert(pthread_cond_broadcast(&cvthing.notbusy) == 0);
-
- /*
- * Give threads time to complete.
- */
- Sleep(2000);
-
- /*
- * Cleanup the CV.
- */
-
- assert(pthread_mutex_destroy(&cvthing.lock) == 0);
-
- assert(cvthing.lock == NULL);
-
- assert(pthread_cond_destroy(&cvthing.notbusy) == 0);
-
- assert(cvthing.notbusy == NULL);
-
- /*
- * Standard check that all threads started.
- */
- for (i = 1; i <= NUMTHREADS; i++)
- {
- failed = !threadbag[i].started;
-
- if (failed)
- {
- fprintf(stderr, "Thread %d: started %d\n", i, threadbag[i].started);
- }
- }
-
- assert(!failed);
-
- /*
- * Check any results here.
- */
-
- assert(awoken == (NUMTHREADS - 1));
-
- /*
- * Success.
- */
- return 0;
-}
diff --git a/winsup/testsuite/winsup.api/pthread/condvar8.c b/winsup/testsuite/winsup.api/pthread/condvar8.c
deleted file mode 100644
index 771d91cb5..000000000
--- a/winsup/testsuite/winsup.api/pthread/condvar8.c
+++ /dev/null
@@ -1,221 +0,0 @@
-/*
- * File: condvar8.c
- *
- * Test Synopsis:
- * - Test multiple pthread_cond_broadcasts.
- *
- * Test Method (Validation or Falsification):
- * - Validation
- *
- * Requirements Tested:
- * -
- *
- * Features Tested:
- * -
- *
- * Cases Tested:
- * -
- *
- * Description:
- * - Make NUMTHREADS threads wait on CV, broadcast signal them, and then repeat.
- *
- * Environment:
- * -
- *
- * Input:
- * - None.
- *
- * Output:
- * - File name, Line number, and failed expression on failure.
- * - No output on success.
- *
- * Assumptions:
- * -
- *
- * Pass Criteria:
- * - Process returns zero exit status.
- *
- * Fail Criteria:
- * - Process returns non-zero exit status.
- */
-
-#include "test.h"
-#include <sys/timeb.h>
-
-/*
- * Create NUMTHREADS threads in addition to the Main thread.
- */
-enum {
- NUMTHREADS = 5
-};
-
-typedef struct bag_t_ bag_t;
-struct bag_t_ {
- int threadnum;
- int started;
- /* Add more per-thread state variables here */
-};
-
-static bag_t threadbag[NUMTHREADS + 1];
-
-typedef struct cvthing_t_ cvthing_t;
-
-struct cvthing_t_ {
- pthread_cond_t notbusy;
- pthread_mutex_t lock;
- int shared;
-};
-
-static cvthing_t cvthing = {
- PTHREAD_COND_INITIALIZER,
- PTHREAD_MUTEX_INITIALIZER,
- 0
-};
-
-static pthread_mutex_t start_flag = PTHREAD_MUTEX_INITIALIZER;
-
-static struct timespec abstime = { 0, 0 };
-
-static int awoken;
-
-static void *
-mythread(void * arg)
-{
- bag_t * bag = (bag_t *) arg;
-
- assert(bag == &threadbag[bag->threadnum]);
- assert(bag->started == 0);
- bag->started = 1;
-
- /* Wait for the start gun */
- assert(pthread_mutex_lock(&start_flag) == 0);
- assert(pthread_mutex_unlock(&start_flag) == 0);
-
- assert(pthread_mutex_lock(&cvthing.lock) == 0);
-
- pthread_cleanup_push((__cleanup_routine_type)pthread_mutex_unlock,
- (void *) &cvthing.lock);
-
- while (! (cvthing.shared > 0))
- assert(pthread_cond_timedwait(&cvthing.notbusy, &cvthing.lock, &abstime) == 0);
-
- pthread_cleanup_pop(0);
-
- assert(cvthing.shared > 0);
-
- awoken++;
-
- assert(pthread_mutex_unlock(&cvthing.lock) == 0);
-
- return (void *) 0;
-}
-
-int
-main()
-{
- int failed = 0;
- int i;
- int first, last;
- pthread_t t[NUMTHREADS + 1];
-
- struct timeb currSysTime;
- const DWORD NANOSEC_PER_MILLISEC = 1000000;
-
- assert((t[0] = pthread_self()) != NULL);
-
- assert(cvthing.notbusy == PTHREAD_COND_INITIALIZER);
-
- assert(cvthing.lock == PTHREAD_MUTEX_INITIALIZER);
-
- ftime(&currSysTime);
-
- abstime.tv_sec = currSysTime.time;
- abstime.tv_nsec = NANOSEC_PER_MILLISEC * currSysTime.millitm;
-
- abstime.tv_sec += 10;
-
- assert((t[0] = pthread_self()) != NULL);
-
- awoken = 0;
-
- for (first = 1, last = NUMTHREADS / 2;
- first < NUMTHREADS;
- first = last + 1, last = NUMTHREADS)
- {
- assert(pthread_mutex_lock(&start_flag) == 0);
-
- for (i = first; i <= last; i++)
- {
- threadbag[i].started = 0;
- threadbag[i].threadnum = i;
- assert(pthread_create(&t[i], NULL, mythread, (void *) &threadbag[i]) == 0);
- assert(pthread_detach(t[i]) == 0);
- }
-
- /*
- * Code to control or munipulate child threads should probably go here.
- */
- cvthing.shared = 0;
-
- assert(pthread_mutex_unlock(&start_flag) == 0);
-
- /*
- * Give threads time to start.
- */
- Sleep(1000);
-
- assert(pthread_mutex_lock(&cvthing.lock) == 0);
-
- cvthing.shared++;
-
- assert(pthread_mutex_unlock(&cvthing.lock) == 0);
-
- assert(pthread_cond_broadcast(&cvthing.notbusy) == 0);
-
- /*
- * Give threads time to complete.
- */
- Sleep(1000);
-
- assert(awoken == (i - 1));
- }
-
-
- /*
- * Standard check that all threads started.
- */
- for (i = 1; i <= NUMTHREADS; i++)
- {
- failed = !threadbag[i].started;
-
- if (failed)
- {
- fprintf(stderr, "Thread %d: started %d\n", i, threadbag[i].started);
- }
- }
-
- /*
- * Cleanup the CV.
- */
-
- assert(pthread_mutex_destroy(&cvthing.lock) == 0);
-
- assert(cvthing.lock == NULL);
-
- assert(pthread_cond_destroy(&cvthing.notbusy) == 0);
-
- assert(cvthing.notbusy == NULL);
-
- assert(!failed);
-
- /*
- * Check any results here.
- */
-
- assert(awoken == NUMTHREADS);
-
- /*
- * Success.
- */
- return 0;
-}
diff --git a/winsup/testsuite/winsup.api/pthread/condvar9.c b/winsup/testsuite/winsup.api/pthread/condvar9.c
deleted file mode 100644
index 294556266..000000000
--- a/winsup/testsuite/winsup.api/pthread/condvar9.c
+++ /dev/null
@@ -1,239 +0,0 @@
-/*
- * File: condvar9.c
- *
- *
- * Test Synopsis:
- * - Test multiple pthread_cond_broadcasts with thread cancelation.
- *
- * Test Method (Validation or Falsification):
- * - Validation
- *
- * Requirements Tested:
- * -
- *
- * Features Tested:
- * -
- *
- * Cases Tested:
- * -
- *
- * Description:
- * - Make NUMTHREADS threads wait on CV, broadcast signal them, cancel them
- * and then repeat.
- *
- * Environment:
- * -
- *
- * Input:
- * - None.
- *
- * Output:
- * - File name, Line number, and failed expression on failure.
- * - No output on success.
- *
- * Assumptions:
- * -
- *
- * Pass Criteria:
- * - Process returns zero exit status.
- *
- * Fail Criteria:
- * - Process returns non-zero exit status.
- */
-
-#include "test.h"
-#include <sys/timeb.h>
-
-/*
- * Create NUMTHREADS threads in addition to the Main thread.
- */
-enum {
- NUMTHREADS = 9
-};
-
-typedef struct bag_t_ bag_t;
-struct bag_t_ {
- int threadnum;
- int started;
- /* Add more per-thread state variables here */
-};
-
-static bag_t threadbag[NUMTHREADS + 1];
-
-typedef struct cvthing_t_ cvthing_t;
-
-struct cvthing_t_ {
- pthread_cond_t notbusy;
- pthread_mutex_t lock;
- int shared;
-};
-
-static cvthing_t cvthing = {
- PTHREAD_COND_INITIALIZER,
- PTHREAD_MUTEX_INITIALIZER,
- 0
-};
-
-static pthread_mutex_t start_flag = PTHREAD_MUTEX_INITIALIZER;
-
-static struct timespec abstime = { 0, 0 };
-
-static int awoken;
-static int not_canceled;
-
-static void *
-mythread(void * arg)
-{
- bag_t * bag = (bag_t *) arg;
-
- assert(bag == &threadbag[bag->threadnum]);
- assert(bag->started == 0);
- bag->started = 1;
-
- /* Wait for the start gun */
- assert(pthread_mutex_lock(&start_flag) == 0);
- assert(pthread_mutex_unlock(&start_flag) == 0);
-
- assert(pthread_mutex_lock(&cvthing.lock) == 0);
-
- /*
- * pthread_cond_timedwait is a cancelation point and we
- * going to cancel one deliberately.
- */
-#ifdef _MSC_VER
-#pragma inline_depth(0)
-#endif
- pthread_cleanup_push((void *) pthread_mutex_unlock, (void *) &cvthing.lock);
-
- while (! (cvthing.shared > 0))
- assert(pthread_cond_timedwait(&cvthing.notbusy, &cvthing.lock, &abstime) == 0);
-
- assert(cvthing.shared > 0);
-
- awoken++;
-
- pthread_testcancel();
-
- pthread_cleanup_pop(0);
-#ifdef _MSC_VER
-#pragma inline_depth()
-#endif
-
- not_canceled++;
-
- assert(pthread_mutex_unlock(&cvthing.lock) == 0);
-
- return (void *) 0;
-}
-
-int
-main()
-{
- int failed = 0;
- int i;
- int first, last;
- pthread_t t[NUMTHREADS + 1];
- struct timeb currSysTime;
- const DWORD NANOSEC_PER_MILLISEC = 1000000;
-
- assert((t[0] = pthread_self()) != NULL);
-
- assert(cvthing.notbusy == PTHREAD_COND_INITIALIZER);
-
- assert(cvthing.lock == PTHREAD_MUTEX_INITIALIZER);
-
- /* get current system time */
- ftime(&currSysTime);
-
- abstime.tv_sec = currSysTime.time;
- abstime.tv_nsec = NANOSEC_PER_MILLISEC * currSysTime.millitm;
-
- abstime.tv_sec += 5;
-
- assert((t[0] = pthread_self()) != NULL);
-
- awoken = 0;
- not_canceled = 0;
-
- for (first = 1, last = NUMTHREADS / 2;
- first < NUMTHREADS;
- first = last + 1, last = NUMTHREADS)
- {
- assert(pthread_mutex_lock(&start_flag) == 0);
-
- for (i = first; i <= last; i++)
- {
- threadbag[i].started = 0;
- threadbag[i].threadnum = i;
- assert(pthread_create(&t[i], NULL, mythread, (void *) &threadbag[i]) == 0);
- assert(pthread_detach(t[i]) == 0);
- }
-
- /*
- * Code to control or munipulate child threads should probably go here.
- */
- cvthing.shared = 0;
-
- assert(pthread_mutex_unlock(&start_flag) == 0);
-
- /*
- * Give threads time to start.
- */
- Sleep(1000);
-
- assert(pthread_mutex_lock(&cvthing.lock) == 0);
-
- cvthing.shared++;
-
- assert(pthread_cond_broadcast(&cvthing.notbusy) == 0);
- for (i = first; i <= last; i++)
- assert(pthread_cancel(t[i]) == 0);
-
- assert(pthread_mutex_unlock(&cvthing.lock) == 0);
-
- /*
- * Give threads time to complete.
- */
- Sleep(1000);
- }
-
-
- /*
- * Standard check that all threads started.
- */
- for (i = 1; i <= NUMTHREADS; i++)
- {
- failed = !threadbag[i].started;
-
- if (failed)
- {
- fprintf(stderr, "Thread %d: started %d\n", i, threadbag[i].started);
- }
- }
-
- /*
- * Cleanup the CV.
- */
-
- assert(pthread_mutex_destroy(&cvthing.lock) == 0);
-
- assert(cvthing.lock == NULL);
-
- assert(pthread_cond_destroy(&cvthing.notbusy) == 0);
-
- assert(cvthing.notbusy == NULL);
-
- assert(!failed);
-
- /*
- * Check any results here.
- */
-
- assert(awoken == NUMTHREADS);
- assert(not_canceled == 0);
-
- /*
- * Success.
- */
- return 0;
-}
diff --git a/winsup/testsuite/winsup.api/pthread/count1.c b/winsup/testsuite/winsup.api/pthread/count1.c
deleted file mode 100644
index ae30ed0a2..000000000
--- a/winsup/testsuite/winsup.api/pthread/count1.c
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * count1.c
- *
- * Description:
- * Test some basic assertions about the number of threads at runtime.
- */
-
-#include "test.h"
-
-#if ! defined (__MINGW32__) || defined (__MSVCRT__)
-#define NUMTHREADS (60)
-#else
-#define NUMTHREADS (59)
-#endif
-
-static pthread_mutex_t lock = PTHREAD_MUTEX_INITIALIZER;
-static pthread_t threads[NUMTHREADS];
-static unsigned numThreads = 0;
-
-void *
-myfunc(void *arg)
-{
- pthread_mutex_lock(&lock);
- numThreads++;
- pthread_mutex_unlock(&lock);
-
- Sleep(1000);
- return 0;
-}
-int
-main()
-{
- int i;
- int maxThreads = sizeof(threads) / sizeof(pthread_t);
-
- /*
- * Spawn NUMTHREADS threads. Each thread should increment the
- * numThreads variable, sleep for one second.
- */
- for (i = 0; i < maxThreads; i++)
- {
- assert(pthread_create(&threads[i], NULL, myfunc, 0) == 0);
- }
-
- /*
- * Wait for all the threads to exit.
- */
- for (i = 0; i < maxThreads; i++)
- {
- assert(pthread_join(threads[i], NULL) == 0);
- }
-
- /*
- * Check the number of threads created.
- */
- assert((int) numThreads == maxThreads);
-
- /*
- * Success.
- */
- return 0;
-}
diff --git a/winsup/testsuite/winsup.api/pthread/create1.c b/winsup/testsuite/winsup.api/pthread/create1.c
deleted file mode 100644
index 192e52d9d..000000000
--- a/winsup/testsuite/winsup.api/pthread/create1.c
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * create1.c
- *
- * Description:
- * Create a thread and check that it ran.
- *
- * Depends on API functions: None.
- */
-
-#include "test.h"
-
-static int washere = 0;
-
-void * func(void * arg)
-{
- washere = 1;
- return 0;
-}
-
-int
-main()
-{
- pthread_t t;
-
- assert(pthread_create(&t, NULL, func, NULL) == 0);
-
- /* A dirty hack, but we cannot rely on pthread_join in this
- primitive test. */
- Sleep(2000);
-
- assert(washere == 1);
-
- return 0;
-}
diff --git a/winsup/testsuite/winsup.api/pthread/create2.c b/winsup/testsuite/winsup.api/pthread/create2.c
deleted file mode 100644
index 40e637b9d..000000000
--- a/winsup/testsuite/winsup.api/pthread/create2.c
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * File: create2.c
- *
- * Test Synopsis:
- * - Test that threads have a Win32 handle when started.
- *
- * Test Method (Validation or Falsification):
- * - Statistical, not absolute (depends on sample size).
- *
- * Requirements Tested:
- * -
- *
- * Features Tested:
- * -
- *
- * Cases Tested:
- * -
- *
- * Description:
- * -
- *
- * Environment:
- * -
- *
- * Input:
- * - None.
- *
- * Output:
- * - File name, Line number, and failed expression on failure.
- * - No output on success.
- *
- * Assumptions:
- * -
- *
- * Pass Criteria:
- * - Process returns zero exit status.
- *
- * Fail Criteria:
- * - Process returns non-zero exit status.
- */
-
-#include "test.h"
-
-const int NUMTHREADS = 10000;
-
-static int washere = 0;
-
-void * func(void * arg)
-{
- washere = 1;
- return (void *) 0;
-}
-
-int
-main()
-{
- pthread_t t;
- pthread_attr_t attr;
- void * result = NULL;
- int i;
-
- pthread_attr_init(&attr);
- pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_JOINABLE);
-
- for (i = 0; i < NUMTHREADS; i++)
- {
- washere = 0;
- assert(pthread_create(&t, &attr, func, NULL) == 0);
- pthread_join(t, &result);
- assert(washere == 1);
- }
-
- return 0;
-}
diff --git a/winsup/testsuite/winsup.api/pthread/equal1.c b/winsup/testsuite/winsup.api/pthread/equal1.c
deleted file mode 100644
index 617a95664..000000000
--- a/winsup/testsuite/winsup.api/pthread/equal1.c
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Test for pthread_equal.
- *
- * Depends on functions: pthread_create().
- */
-
-#include "test.h"
-
-void * func(void * arg)
-{
- Sleep(2000);
- return 0;
-}
-
-int
-main()
-{
- pthread_t t1, t2;
-
- assert(pthread_create(&t1, NULL, func, (void *) 1) == 0);
-
- assert(pthread_create(&t2, NULL, func, (void *) 2) == 0);
-
- assert(pthread_equal(t1, t2) == 0);
-
- assert(pthread_equal(t1,t1) != 0);
-
- /* This is a hack. We don't want to rely on pthread_join
- yet if we can help it. */
- Sleep(4000);
-
- /* Success. */
- return 0;
-}
diff --git a/winsup/testsuite/winsup.api/pthread/exit1.c b/winsup/testsuite/winsup.api/pthread/exit1.c
deleted file mode 100644
index 06b7692de..000000000
--- a/winsup/testsuite/winsup.api/pthread/exit1.c
+++ /dev/null
@@ -1,18 +0,0 @@
-/*
- * Test for pthread_exit().
- *
- * Depends on API functions: None.
- */
-
-#include "test.h"
-
-int
-main(int argc, char * argv[])
-{
- /* A simple test first. */
- pthread_exit((void *) 0);
-
- /* Not reached */
- assert(0);
- return 0;
-}
diff --git a/winsup/testsuite/winsup.api/pthread/exit2.c b/winsup/testsuite/winsup.api/pthread/exit2.c
deleted file mode 100644
index 684305b40..000000000
--- a/winsup/testsuite/winsup.api/pthread/exit2.c
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * Test for pthread_exit().
- *
- * Depends on API functions:
- * pthread_create()
- * pthread_exit()
- */
-
-#include "test.h"
-
-void *
-func(void * arg)
-{
- pthread_exit(arg);
-
- /* Never reached. */
- assert(0);
-}
-
-int
-main(int argc, char * argv[])
-{
- pthread_t t;
-
- assert(pthread_create(&t, NULL, func, (void *) NULL) == 0);
-
- Sleep(1000);
-
- return 0;
-}
diff --git a/winsup/testsuite/winsup.api/pthread/exit3.c b/winsup/testsuite/winsup.api/pthread/exit3.c
deleted file mode 100644
index 0b6ec31c5..000000000
--- a/winsup/testsuite/winsup.api/pthread/exit3.c
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Test for pthread_exit().
- *
- * Depends on API functions: pthread_create().
- */
-
-#include "test.h"
-
-void *
-func(void * arg)
-{
- pthread_exit(arg);
-
- /* Never reached. */
- assert(0);
-}
-
-int
-main(int argc, char * argv[])
-{
- pthread_t id[4];
- int i;
-
- /* Create a few threads and then exit. */
- for (i = 0; i < 4; i++)
- {
- assert(pthread_create(&id[i], NULL, func, (void *) i) == 0);
- }
-
- Sleep(1000);
-
- /* Success. */
- return 0;
-}
diff --git a/winsup/testsuite/winsup.api/pthread/inherit1.c b/winsup/testsuite/winsup.api/pthread/inherit1.c
deleted file mode 100644
index a909eb763..000000000
--- a/winsup/testsuite/winsup.api/pthread/inherit1.c
+++ /dev/null
@@ -1,99 +0,0 @@
-/*
- * File: inherit1.c
- *
- * Test Synopsis:
- * - Test thread priority inheritance.
- *
- * Test Method (Validation or Falsification):
- * -
- *
- * Requirements Tested:
- * -
- *
- * Features Tested:
- * -
- *
- * Cases Tested:
- * -
- *
- * Description:
- * -
- *
- * Environment:
- * -
- *
- * Input:
- * - None.
- *
- * Output:
- * - File name, Line number, and failed expression on failure.
- * - No output on success.
- *
- * Assumptions:
- * -
- *
- * Pass Criteria:
- * - Process returns zero exit status.
- *
- * Fail Criteria:
- * - Process returns non-zero exit status.
- */
-
-#include "test.h"
-
-void * func(void * arg)
-{
- int policy;
- struct sched_param param;
-
- assert(pthread_getschedparam(pthread_self(), &policy, &param) == 0);
- return (void *) param.sched_priority;
-}
-
-int
-main()
-{
- pthread_t t;
- pthread_t mainThread = pthread_self();
- pthread_attr_t attr;
- void * result = NULL;
- struct sched_param param;
- struct sched_param mainParam;
- int maxPrio;
- int minPrio;
- int prio;
- int policy;
- int inheritsched = -1;
-
- assert((maxPrio = sched_get_priority_max(SCHED_OTHER)) != -1);
- assert((minPrio = sched_get_priority_min(SCHED_OTHER)) != -1);
-
- assert(pthread_attr_init(&attr) == 0);
- assert(pthread_attr_setinheritsched(&attr, PTHREAD_INHERIT_SCHED) == 0);
- assert(pthread_attr_getinheritsched(&attr, &inheritsched) == 0);
- assert(inheritsched == PTHREAD_INHERIT_SCHED);
-
- for (prio = minPrio; prio < maxPrio; prio++)
- {
- mainParam.sched_priority = prio;
-
- /* Change the main thread priority */
- assert(pthread_setschedparam(mainThread, SCHED_OTHER, &mainParam) == 0);
- assert(pthread_getschedparam(mainThread, &policy, &mainParam) == 0);
- assert(policy == SCHED_OTHER);
- assert(mainParam.sched_priority == prio);
-
- for (param.sched_priority = prio;
- param.sched_priority <= maxPrio;
- param.sched_priority++)
- {
- /* The new thread create should ignore this new priority */
- assert(pthread_attr_setschedparam(&attr, &param) == 0);
- assert(pthread_create(&t, &attr, func, NULL) == 0);
- pthread_join(t, &result);
- assert((int) result == mainParam.sched_priority);
- }
- }
-
- return 0;
-}
diff --git a/winsup/testsuite/winsup.api/pthread/join0.c b/winsup/testsuite/winsup.api/pthread/join0.c
deleted file mode 100644
index 54b0bee6b..000000000
--- a/winsup/testsuite/winsup.api/pthread/join0.c
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Test for pthread_join().
- *
- * Depends on API functions: pthread_create(), pthread_exit().
- */
-
-#include "test.h"
-
-void *
-func(void * arg)
-{
- Sleep(2000);
-
- pthread_exit(arg);
-
- /* Never reached. */
- exit(1);
-}
-
-int
-main(int argc, char * argv[])
-{
- pthread_t id;
- int result;
-
- /* Create a single thread and wait for it to exit. */
- assert(pthread_create(&id, NULL, func, (void *) 123) == 0);
-
- assert(pthread_join(id, (void **) &result) == 0);
-
-#if ! defined (__MINGW32__) || defined (__MSVCRT__)
- assert(result == 123);
-#else
-# warning pthread_join not fully supported in this configuration.
- assert(result == 0);
-#endif
-
- /* Success. */
- return 0;
-}
diff --git a/winsup/testsuite/winsup.api/pthread/join1.c b/winsup/testsuite/winsup.api/pthread/join1.c
deleted file mode 100644
index d74e0c484..000000000
--- a/winsup/testsuite/winsup.api/pthread/join1.c
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Test for pthread_join().
- *
- * Depends on API functions: pthread_create(), pthread_join(), pthread_exit().
- */
-
-#include "test.h"
-
-void *
-func(void * arg)
-{
- int i = (int) arg;
-
- Sleep(i * 500);
-
- pthread_exit(arg);
-
- /* Never reached. */
- exit(1);
-}
-
-int
-main(int argc, char * argv[])
-{
- pthread_t id[4];
- int i;
- int result;
-
- /* Create a few threads and then exit. */
- for (i = 0; i < 4; i++)
- {
- assert(pthread_create(&id[i], NULL, func, (void *) i) == 0);
- }
-
- /* Some threads will finish before they are joined, some after. */
- Sleep(1000);
-
- for (i = 0; i < 4; i++)
- {
- assert(pthread_join(id[i], (void **) &result) == 0);
-#if ! defined (__MINGW32__) || defined (__MSVCRT__)
- assert(result == i);
-#else
-# warning pthread_join not fully supported in this configuration.
- assert(result == 0);
-#endif
- }
-
- /* Success. */
- return 0;
-}
diff --git a/winsup/testsuite/winsup.api/pthread/join2.c b/winsup/testsuite/winsup.api/pthread/join2.c
deleted file mode 100644
index cdc8ca2d9..000000000
--- a/winsup/testsuite/winsup.api/pthread/join2.c
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Test for pthread_join() returning return value from threads.
- *
- * Depends on API functions: pthread_create().
- */
-
-#include "test.h"
-
-void *
-func(void * arg)
-{
- Sleep(1000);
- return arg;
-}
-
-int
-main(int argc, char * argv[])
-{
- pthread_t id[4];
- int i;
- int result;
-
- /* Create a few threads and then exit. */
- for (i = 0; i < 4; i++)
- {
- assert(pthread_create(&id[i], NULL, func, (void *) i) == 0);
- }
-
- for (i = 0; i < 4; i++)
- {
- assert(pthread_join(id[i], (void **) &result) == 0);
-#if ! defined (__MINGW32__) || defined (__MSVCRT__)
- /* CRTDLL _beginthread doesn't support return value, so
- the assertion is guaranteed to fail. */
- assert(result == i);
-#endif
- }
-
- /* Success. */
- return 0;
-}
diff --git a/winsup/testsuite/winsup.api/pthread/mainthreadexits.c b/winsup/testsuite/winsup.api/pthread/mainthreadexits.c
deleted file mode 100644
index b3a3653b8..000000000
--- a/winsup/testsuite/winsup.api/pthread/mainthreadexits.c
+++ /dev/null
@@ -1,48 +0,0 @@
-#include <stdio.h>
-#include <unistd.h>
-#include <pthread.h>
-#include <stdlib.h>
-
-static void * Thread (void *);
-
-static pthread_t main_thread;
-static pthread_t secondThread;
-static int result = 2;
-
-int main(void)
-{
- main_thread = pthread_self ();
-
- if (pthread_create (&secondThread, NULL, Thread, NULL))
- exit (1);
- sleep (5);
- pthread_exit (&result);
- /* If pthread_exit doesm't (which would be a bug) then we do */
- return 1;
-}
-
-static void * Thread (void *not_used)
-{
- void *myresult;
- /* We should be able to join this */
- if (pthread_join (main_thread, &myresult))
- exit (1);
-
- if (*(int *)myresult != 2)
- exit (1);
-
- exit (0);
-}
-/*
-This valid code doesn't work at all. The mainthread object in MTinterface
-is not properly initialized, the cancel_event is NULL and the win32_obj_id
-is NULL because myself->hProcess is NULL when MTinterface is initialized
-(and i don't think that a process handle can be used as thread handle).
-Even if the handles would be valid the pthread_join call would try to
-delete a thread object that is created static which would result in a
-corrupted heap.
-
-Concept test Contributed by Thomas Pfaff <tpfaff@gmx.net>
-Scriptable test by Robert Collins <rbtcollins@hotmail.com>
-
-*/
diff --git a/winsup/testsuite/winsup.api/pthread/mutex1.c b/winsup/testsuite/winsup.api/pthread/mutex1.c
deleted file mode 100644
index b7f6b6f15..000000000
--- a/winsup/testsuite/winsup.api/pthread/mutex1.c
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * mutex1.c
- *
- * Create a simple mutex object, lock it, and then unlock it again.
- * This is the simplest test of the pthread mutex family that we can do.
- *
- * Depends on API functions:
- * pthread_mutex_init()
- * pthread_mutex_lock()
- * pthread_mutex_unlock()
- * pthread_mutex_destroy()
- */
-
-#include "test.h"
-
-pthread_mutex_t mutex = NULL;
-
-int
-main()
-{
- assert(mutex == NULL);
-
- assert(pthread_mutex_init(&mutex, NULL) == 0);
-
- assert(mutex != NULL);
-
- assert(pthread_mutex_lock(&mutex) == 0);
-
- assert(pthread_mutex_unlock(&mutex) == 0);
-
- assert(pthread_mutex_destroy(&mutex) == 0);
-
- assert(mutex == NULL);
-
- return 0;
-}
diff --git a/winsup/testsuite/winsup.api/pthread/mutex1d.c b/winsup/testsuite/winsup.api/pthread/mutex1d.c
deleted file mode 100644
index 354b106d1..000000000
--- a/winsup/testsuite/winsup.api/pthread/mutex1d.c
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * mutex1d.c
- *
- * As for mutex1.c but with type set to PTHREAD_MUTEX_DEFAULT.
- *
- * Create a simple mutex object, lock it, unlock it, then destroy it.
- * This is the simplest test of the pthread mutex family that we can do.
- *
- * Depends on API functions:
- * pthread_mutexattr_settype()
- * pthread_mutex_init()
- * pthread_mutex_destroy()
- */
-
-#include "test.h"
-
-pthread_mutex_t mutex = NULL;
-pthread_mutexattr_t mxAttr;
-
-int
-main()
-{
- assert(pthread_mutexattr_init(&mxAttr) == 0);
-
- assert(pthread_mutexattr_settype(&mxAttr, PTHREAD_MUTEX_DEFAULT) == 0);
-
- assert(mutex == NULL);
-
- assert(pthread_mutex_init(&mutex, &mxAttr) == 0);
-
- assert(mutex != NULL);
-
- assert(pthread_mutex_lock(&mutex) == 0);
-
- assert(pthread_mutex_unlock(&mutex) == 0);
-
- assert(pthread_mutex_destroy(&mutex) == 0);
-
- assert(mutex == NULL);
-
- return 0;
-}
diff --git a/winsup/testsuite/winsup.api/pthread/mutex1e.c b/winsup/testsuite/winsup.api/pthread/mutex1e.c
deleted file mode 100644
index 2feb16c08..000000000
--- a/winsup/testsuite/winsup.api/pthread/mutex1e.c
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * mutex1e.c
- *
- * As for mutex1.c but with type set to PTHREAD_MUTEX_ERRORCHECK.
- *
- * Create a simple mutex object, lock it, unlock it, then destroy it.
- * This is the simplest test of the pthread mutex family that we can do.
- *
- * Depends on API functions:
- * pthread_mutexattr_settype()
- * pthread_mutex_init()
- * pthread_mutex_destroy()
- */
-
-#include "test.h"
-
-pthread_mutex_t mutex = NULL;
-pthread_mutexattr_t mxAttr;
-
-int
-main()
-{
- assert(pthread_mutexattr_init(&mxAttr) == 0);
-
- assert(pthread_mutexattr_settype(&mxAttr, PTHREAD_MUTEX_ERRORCHECK) == 0);
-
- assert(mutex == NULL);
-
- assert(pthread_mutex_init(&mutex, &mxAttr) == 0);
-
- assert(mutex != NULL);
-
- assert(pthread_mutex_lock(&mutex) == 0);
-
- assert(pthread_mutex_unlock(&mutex) == 0);
-
- assert(pthread_mutex_destroy(&mutex) == 0);
-
- assert(mutex == NULL);
-
- return 0;
-}
diff --git a/winsup/testsuite/winsup.api/pthread/mutex1n.c b/winsup/testsuite/winsup.api/pthread/mutex1n.c
deleted file mode 100644
index 9af3d5f5c..000000000
--- a/winsup/testsuite/winsup.api/pthread/mutex1n.c
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * mutex1n.c
- *
- * As for mutex1.c but with type set to PTHREAD_MUTEX_NORMAL.
- *
- * Create a simple mutex object, lock it, unlock it, then destroy it.
- * This is the simplest test of the pthread mutex family that we can do.
- *
- * Depends on API functions:
- * pthread_mutexattr_settype()
- * pthread_mutex_init()
- * pthread_mutex_destroy()
- */
-
-#include "test.h"
-
-pthread_mutex_t mutex = NULL;
-pthread_mutexattr_t mxAttr;
-
-int
-main()
-{
- assert(pthread_mutexattr_init(&mxAttr) == 0);
-
- assert(pthread_mutexattr_settype(&mxAttr, PTHREAD_MUTEX_NORMAL) == 0);
-
- assert(mutex == NULL);
-
- assert(pthread_mutex_init(&mutex, &mxAttr) == 0);
-
- assert(mutex != NULL);
-
- assert(pthread_mutex_lock(&mutex) == 0);
-
- assert(pthread_mutex_unlock(&mutex) == 0);
-
- assert(pthread_mutex_destroy(&mutex) == 0);
-
- assert(mutex == NULL);
-
- return 0;
-}
diff --git a/winsup/testsuite/winsup.api/pthread/mutex1r.c b/winsup/testsuite/winsup.api/pthread/mutex1r.c
deleted file mode 100644
index b5131bb0e..000000000
--- a/winsup/testsuite/winsup.api/pthread/mutex1r.c
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * mutex1r.c
- *
- * As for mutex1.c but with type set to PTHREAD_MUTEX_RECURSIVE.
- *
- * Create a simple mutex object, lock it, unlock it, then destroy it.
- * This is the simplest test of the pthread mutex family that we can do.
- *
- * Depends on API functions:
- * pthread_mutexattr_settype()
- * pthread_mutex_init()
- * pthread_mutex_destroy()
- */
-
-#include "test.h"
-
-pthread_mutex_t mutex = NULL;
-pthread_mutexattr_t mxAttr;
-
-int
-main()
-{
- assert(pthread_mutexattr_init(&mxAttr) == 0);
-
- assert(pthread_mutexattr_settype(&mxAttr, PTHREAD_MUTEX_RECURSIVE) == 0);
-
- assert(mutex == NULL);
-
- assert(pthread_mutex_init(&mutex, &mxAttr) == 0);
-
- assert(mutex != NULL);
-
- assert(pthread_mutex_lock(&mutex) == 0);
-
- assert(pthread_mutex_unlock(&mutex) == 0);
-
- assert(pthread_mutex_destroy(&mutex) == 0);
-
- assert(mutex == NULL);
-
- return 0;
-}
diff --git a/winsup/testsuite/winsup.api/pthread/mutex2.c b/winsup/testsuite/winsup.api/pthread/mutex2.c
deleted file mode 100644
index 731c47fab..000000000
--- a/winsup/testsuite/winsup.api/pthread/mutex2.c
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * mutex2.c
- *
- * Declare a static mutex object, lock it,
- * and then unlock it again.
- *
- * Depends on API functions:
- * pthread_mutex_lock()
- * pthread_mutex_unlock()
- */
-
-#include "test.h"
-
-pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;
-
-int
-main()
-{
- assert(mutex == PTHREAD_MUTEX_INITIALIZER);
-
- assert(pthread_mutex_lock(&mutex) == 0);
-
- assert(mutex != PTHREAD_MUTEX_INITIALIZER);
-
- assert(mutex != NULL);
-
- assert(pthread_mutex_unlock(&mutex) == 0);
-
- assert(pthread_mutex_destroy(&mutex) == 0);
-
- assert(mutex == NULL);
-
- return 0;
-}
diff --git a/winsup/testsuite/winsup.api/pthread/mutex3.c b/winsup/testsuite/winsup.api/pthread/mutex3.c
deleted file mode 100644
index 07e75b187..000000000
--- a/winsup/testsuite/winsup.api/pthread/mutex3.c
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * mutex3.c
- *
- * Declare a static mutex object, lock it, trylock it,
- * and then unlock it again.
- *
- * Depends on API functions:
- * pthread_mutex_lock()
- * pthread_mutex_trylock()
- * pthread_mutex_unlock()
- */
-
-#include "test.h"
-
-pthread_mutex_t mutex1 = PTHREAD_MUTEX_INITIALIZER;
-
-static int washere = 0;
-
-void * func(void * arg)
-{
- assert(pthread_mutex_trylock(&mutex1) == EBUSY);
-
- washere = 1;
-
- return 0;
-}
-
-int
-main()
-{
- pthread_t t;
-
- assert(pthread_mutex_lock(&mutex1) == 0);
-
- assert(pthread_create(&t, NULL, func, NULL) == 0);
- assert(pthread_join(t, NULL) == 0);
-
- assert(pthread_mutex_unlock(&mutex1) == 0);
-
- assert(washere == 1);
-
- return 0;
-}
diff --git a/winsup/testsuite/winsup.api/pthread/mutex4.c b/winsup/testsuite/winsup.api/pthread/mutex4.c
deleted file mode 100644
index 8a983fee9..000000000
--- a/winsup/testsuite/winsup.api/pthread/mutex4.c
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * mutex4.c
- *
- * Thread A locks mutex - thread B tries to unlock.
- *
- * Depends on API functions:
- * pthread_mutex_lock()
- * pthread_mutex_trylock()
- * pthread_mutex_unlock()
- */
-
-#include "test.h"
-
-static int wasHere = 0;
-
-static pthread_mutex_t mutex1;
-
-void * unlocker(void * arg)
-{
- int expectedResult = (int) arg;
-
- wasHere++;
- assert(pthread_mutex_unlock(&mutex1) == expectedResult);
- wasHere++;
- return NULL;
-}
-
-int
-main()
-{
- pthread_t t;
- pthread_mutexattr_t ma;
-
- assert(pthread_mutexattr_init(&ma) == 0);
-
- wasHere = 0;
- assert(pthread_mutexattr_settype(&ma, PTHREAD_MUTEX_ERRORCHECK) == 0);
- assert(pthread_mutex_init(&mutex1, &ma) == 0);
- assert(pthread_mutex_lock(&mutex1) == 0);
- assert(pthread_create(&t, NULL, unlocker, (void *) EPERM) == 0);
- assert(pthread_join(t, NULL) == 0);
- assert(pthread_mutex_unlock(&mutex1) == 0);
- assert(pthread_mutex_destroy(&mutex1) == 0);
- assert(wasHere == 2);
-
- wasHere = 0;
- assert(pthread_mutexattr_settype(&ma, PTHREAD_MUTEX_ERRORCHECK) == 0);
- assert(pthread_mutex_init(&mutex1, &ma) == 0);
- assert(pthread_mutex_lock(&mutex1) == 0);
- assert(pthread_create(&t, NULL, unlocker, (void *) EPERM) == 0);
- assert(pthread_join(t, NULL) == 0);
- assert(pthread_mutex_unlock(&mutex1) == 0);
- assert(pthread_mutex_destroy(&mutex1) == 0);
- assert(wasHere == 2);
-
- wasHere = 0;
- assert(pthread_mutexattr_settype(&ma, PTHREAD_MUTEX_RECURSIVE) == 0);
- assert(pthread_mutex_init(&mutex1, &ma) == 0);
- assert(pthread_mutex_lock(&mutex1) == 0);
- assert(pthread_create(&t, NULL, unlocker, (void *) EPERM) == 0);
- assert(pthread_join(t, NULL) == 0);
- assert(pthread_mutex_unlock(&mutex1) == 0);
- assert(pthread_mutex_destroy(&mutex1) == 0);
- assert(wasHere == 2);
-
- return 0;
-}
diff --git a/winsup/testsuite/winsup.api/pthread/mutex5.c b/winsup/testsuite/winsup.api/pthread/mutex5.c
deleted file mode 100644
index 7029da12f..000000000
--- a/winsup/testsuite/winsup.api/pthread/mutex5.c
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * mutex5.c
- *
- * Confirm the equality/inequality of the various mutex types,
- * and the default not-set value.
- */
-
-#include "test.h"
-
-static pthread_mutexattr_t mxAttr;
-
-int
-main()
-{
- int mxType = -1;
- int success = 0; /* Use to quell GNU compiler warnings. */
-
- assert(success = PTHREAD_MUTEX_DEFAULT == PTHREAD_MUTEX_NORMAL);
- assert(success = PTHREAD_MUTEX_DEFAULT != PTHREAD_MUTEX_RECURSIVE);
- assert(success = PTHREAD_MUTEX_RECURSIVE != PTHREAD_MUTEX_ERRORCHECK);
-
- if (success == success)
- {
- assert(pthread_mutexattr_init(&mxAttr) == 0);
- assert(pthread_mutexattr_gettype(&mxAttr, &mxType) == 0);
- assert(mxType == PTHREAD_MUTEX_ERRORCHECK);
- }
-
- return 0;
-}
diff --git a/winsup/testsuite/winsup.api/pthread/mutex6d.c b/winsup/testsuite/winsup.api/pthread/mutex6d.c
deleted file mode 100644
index f39c1ac53..000000000
--- a/winsup/testsuite/winsup.api/pthread/mutex6d.c
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * mutex6d.c
- *
- * Tests PTHREAD_MUTEX_DEFAULT mutex type.
- * Thread locks mutex twice (recursive lock).
- * The thread should deadlock.
- *
- * Depends on API functions:
- * pthread_create()
- * pthread_mutexattr_init()
- * pthread_mutexattr_settype()
- * pthread_mutexattr_gettype()
- * pthread_mutex_init()
- * pthread_mutex_lock()
- * pthread_mutex_unlock()
- */
-
-#include "test.h"
-
-static int lockCount = 0;
-
-static pthread_mutex_t mutex;
-static pthread_mutexattr_t mxAttr;
-
-void * locker(void * arg)
-{
- assert(pthread_mutex_lock(&mutex) == 0);
- lockCount++;
-
- /* Should wait here (deadlocked) */
- assert(pthread_mutex_lock(&mutex) == 0);
- lockCount++;
- assert(pthread_mutex_unlock(&mutex) == 0);
-
- return (void *) 555;
-}
-
-int
-main()
-{
- pthread_t t;
- int mxType = -1;
-
- assert(pthread_mutexattr_init(&mxAttr) == 0);
- assert(pthread_mutexattr_settype(&mxAttr, PTHREAD_MUTEX_DEFAULT) == 0);
- assert(pthread_mutexattr_gettype(&mxAttr, &mxType) == 0);
- assert(mxType == PTHREAD_MUTEX_NORMAL);
-
- assert(pthread_mutex_init(&mutex, &mxAttr) == 0);
-
- assert(pthread_create(&t, NULL, locker, NULL) == 0);
-
- Sleep(1000);
-
- assert(lockCount == 1);
-
- /*
- * Should succeed even though we don't own the lock
- * because FAST mutexes don't check ownership.
- */
- assert(pthread_mutex_unlock(&mutex) == 0);
-
- Sleep (1000);
-
- assert(lockCount == 2);
-
- exit(0);
-
- /* Never reached */
- return 0;
-}
diff --git a/winsup/testsuite/winsup.api/pthread/mutex6e.c b/winsup/testsuite/winsup.api/pthread/mutex6e.c
deleted file mode 100644
index e22550f7a..000000000
--- a/winsup/testsuite/winsup.api/pthread/mutex6e.c
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * mutex6e.c
- *
- * Tests PTHREAD_MUTEX_ERRORCHECK mutex type.
- * Thread locks mutex twice (recursive lock).
- * This should fail with an EDEADLK error.
- * The second unlock attempt should fail with an EPERM error.
- *
- * Depends on API functions:
- * pthread_create()
- * pthread_join()
- * pthread_mutexattr_init()
- * pthread_mutexattr_destroy()
- * pthread_mutexattr_settype()
- * pthread_mutexattr_gettype()
- * pthread_mutex_init()
- * pthread_mutex_destroy()
- * pthread_mutex_lock()
- * pthread_mutex_unlock()
- */
-
-#include "test.h"
-
-static int lockCount = 0;
-
-static pthread_mutex_t mutex;
-static pthread_mutexattr_t mxAttr;
-
-void * locker(void * arg)
-{
- assert(pthread_mutex_lock(&mutex) == 0);
- lockCount++;
- assert(pthread_mutex_lock(&mutex) == EDEADLK);
- lockCount++;
- assert(pthread_mutex_unlock(&mutex) == 0);
- assert(pthread_mutex_unlock(&mutex) == EPERM);
-
- return (void *) 555;
-}
-
-int
-main()
-{
- pthread_t t;
- int result = 0;
- int mxType = -1;
-
- assert(pthread_mutexattr_init(&mxAttr) == 0);
- assert(pthread_mutexattr_settype(&mxAttr, PTHREAD_MUTEX_ERRORCHECK) == 0);
- assert(pthread_mutexattr_gettype(&mxAttr, &mxType) == 0);
- assert(mxType == PTHREAD_MUTEX_ERRORCHECK);
-
- assert(pthread_mutex_init(&mutex, &mxAttr) == 0);
-
- assert(pthread_create(&t, NULL, locker, NULL) == 0);
-
- assert(pthread_join(t, (void **) &result) == 0);
- assert(result == 555);
-
- assert(lockCount == 2);
-
- assert(pthread_mutex_destroy(&mutex) == 0);
- assert(pthread_mutexattr_destroy(&mxAttr) == 0);
-
- exit(0);
-
- /* Never reached */
- return 0;
-}
-
diff --git a/winsup/testsuite/winsup.api/pthread/mutex6n.c b/winsup/testsuite/winsup.api/pthread/mutex6n.c
deleted file mode 100644
index 38cbba034..000000000
--- a/winsup/testsuite/winsup.api/pthread/mutex6n.c
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * mutex6n.c
- *
- * Tests PTHREAD_MUTEX_NORMAL mutex type.
- * Thread locks mutex twice (recursive lock).
- * The thread should deadlock.
- *
- * Depends on API functions:
- * pthread_create()
- * pthread_mutexattr_init()
- * pthread_mutexattr_settype()
- * pthread_mutexattr_gettype()
- * pthread_mutex_init()
- * pthread_mutex_lock()
- * pthread_mutex_unlock()
- */
-
-#include "test.h"
-
-static int lockCount = 0;
-
-static pthread_mutex_t mutex;
-static pthread_mutexattr_t mxAttr;
-
-void * locker(void * arg)
-{
- assert(pthread_mutex_lock(&mutex) == 0);
- lockCount++;
-
- /* Should wait here (deadlocked) */
- assert(pthread_mutex_lock(&mutex) == 0);
- lockCount++;
- assert(pthread_mutex_unlock(&mutex) == 0);
-
- return (void *) 555;
-}
-
-int
-main()
-{
- pthread_t t;
- int mxType = -1;
-
- assert(pthread_mutexattr_init(&mxAttr) == 0);
- assert(pthread_mutexattr_settype(&mxAttr, PTHREAD_MUTEX_NORMAL) == 0);
- assert(pthread_mutexattr_gettype(&mxAttr, &mxType) == 0);
- assert(mxType == PTHREAD_MUTEX_NORMAL);
-
- assert(pthread_mutex_init(&mutex, &mxAttr) == 0);
-
- assert(pthread_create(&t, NULL, locker, NULL) == 0);
-
- Sleep(1000);
-
- assert(lockCount == 1);
-
- /*
- * Should succeed even though we don't own the lock
- * because FAST mutexes don't check ownership.
- */
- assert(pthread_mutex_unlock(&mutex) == 0);
-
- Sleep (1000);
-
- assert(lockCount == 2);
-
- exit(0);
-
- /* Never reached */
- return 0;
-}
-
diff --git a/winsup/testsuite/winsup.api/pthread/mutex6r.c b/winsup/testsuite/winsup.api/pthread/mutex6r.c
deleted file mode 100644
index 586cc841b..000000000
--- a/winsup/testsuite/winsup.api/pthread/mutex6r.c
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * mutex6r.c
- *
- * Tests PTHREAD_MUTEX_RECURSIVE mutex type.
- * Thread locks mutex twice (recursive lock).
- * Both locks and unlocks should succeed.
- *
- * Depends on API functions:
- * pthread_create()
- * pthread_join()
- * pthread_mutexattr_init()
- * pthread_mutexattr_destroy()
- * pthread_mutexattr_settype()
- * pthread_mutexattr_gettype()
- * pthread_mutex_init()
- * pthread_mutex_destroy()
- * pthread_mutex_lock()
- * pthread_mutex_unlock()
- */
-
-#include "test.h"
-
-static int lockCount = 0;
-
-static pthread_mutex_t mutex;
-static pthread_mutexattr_t mxAttr;
-
-void * locker(void * arg)
-{
- assert(pthread_mutex_lock(&mutex) == 0);
- lockCount++;
- assert(pthread_mutex_lock(&mutex) == 0);
- lockCount++;
- assert(pthread_mutex_unlock(&mutex) == 0);
- assert(pthread_mutex_unlock(&mutex) == 0);
-
- return (void *) 555;
-}
-
-int
-main()
-{
- pthread_t t;
- int result = 0;
- int mxType = -1;
-
- assert(pthread_mutexattr_init(&mxAttr) == 0);
- assert(pthread_mutexattr_settype(&mxAttr, PTHREAD_MUTEX_RECURSIVE) == 0);
- assert(pthread_mutexattr_gettype(&mxAttr, &mxType) == 0);
- assert(mxType == PTHREAD_MUTEX_RECURSIVE);
-
- assert(pthread_mutex_init(&mutex, &mxAttr) == 0);
-
- assert(pthread_create(&t, NULL, locker, NULL) == 0);
-
- assert(pthread_join(t, (void **) &result) == 0);
- assert(result == 555);
-
- assert(lockCount == 2);
-
- assert(pthread_mutex_destroy(&mutex) == 0);
- assert(pthread_mutexattr_destroy(&mxAttr) == 0);
-
- exit(0);
-
- /* Never reached */
- return 0;
-}
diff --git a/winsup/testsuite/winsup.api/pthread/mutex7.c b/winsup/testsuite/winsup.api/pthread/mutex7.c
deleted file mode 100644
index d2c9f8bee..000000000
--- a/winsup/testsuite/winsup.api/pthread/mutex7.c
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * mutex7.c
- *
- * Test the default (type not set) mutex type.
- * Should be the same as PTHREAD_MUTEX_ERRORCHECK.
- * Thread locks then trylocks mutex (attempted recursive lock).
- * The thread should lock first time and EBUSY second time.
- *
- * Depends on API functions:
- * pthread_mutex_lock()
- * pthread_mutex_trylock()
- * pthread_mutex_unlock()
- */
-
-#include "test.h"
-
-static int lockCount = 0;
-
-static pthread_mutex_t mutex;
-
-void * locker(void * arg)
-{
- assert(pthread_mutex_lock(&mutex) == 0);
- lockCount++;
- assert(pthread_mutex_trylock(&mutex) == EBUSY);
- lockCount++;
- assert(pthread_mutex_unlock(&mutex) == 0);
- assert(pthread_mutex_unlock(&mutex) == EPERM);
-
- return 0;
-}
-
-int
-main()
-{
- pthread_t t;
-
- assert(pthread_mutex_init(&mutex, NULL) == 0);
-
- assert(pthread_create(&t, NULL, locker, NULL) == 0);
-
- Sleep(1000);
-
- assert(lockCount == 2);
-
- exit(0);
-
- /* Never reached */
- return 0;
-}
diff --git a/winsup/testsuite/winsup.api/pthread/mutex7d.c b/winsup/testsuite/winsup.api/pthread/mutex7d.c
deleted file mode 100644
index 906d0f043..000000000
--- a/winsup/testsuite/winsup.api/pthread/mutex7d.c
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * mutex7d.c
- *
- * Test the default (type not set) mutex type.
- * Should be the same as PTHREAD_MUTEX_ERRORCHECK.
- * Thread locks then trylocks mutex (attempted recursive lock).
- * The thread should lock first time and EBUSY second time.
- *
- * Depends on API functions:
- * pthread_mutex_lock()
- * pthread_mutex_trylock()
- * pthread_mutex_unlock()
- */
-
-#include "test.h"
-
-static int lockCount = 0;
-
-static pthread_mutex_t mutex;
-
-void * locker(void * arg)
-{
- assert(pthread_mutex_lock(&mutex) == 0);
- lockCount++;
- assert(pthread_mutex_trylock(&mutex) == EBUSY);
- lockCount++;
- assert(pthread_mutex_unlock(&mutex) == 0);
- assert(pthread_mutex_unlock(&mutex) == EPERM);
-
- return 0;
-}
-
-int
-main()
-{
- int result = 0;
- pthread_t t;
-
- assert(pthread_mutex_init(&mutex, NULL) == 0);
-
- assert(pthread_create(&t, NULL, locker, NULL) == 0);
-
- assert(pthread_join(t, (void **) &result) == 0);
-
- assert(lockCount == 2);
-
- exit(0);
-
- /* Never reached */
- return 0;
-}
diff --git a/winsup/testsuite/winsup.api/pthread/mutex7e.c b/winsup/testsuite/winsup.api/pthread/mutex7e.c
deleted file mode 100644
index 05722512d..000000000
--- a/winsup/testsuite/winsup.api/pthread/mutex7e.c
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * mutex7e.c
- *
- * Tests PTHREAD_MUTEX_ERRORCHECK mutex type.
- * Thread locks and then trylocks mutex (attempted recursive lock).
- * Trylock should fail with an EBUSY error.
- * The second unlock attempt should fail with an EPERM error.
- *
- * Depends on API functions:
- * pthread_create()
- * pthread_join()
- * pthread_mutexattr_init()
- * pthread_mutexattr_destroy()
- * pthread_mutexattr_settype()
- * pthread_mutexattr_gettype()
- * pthread_mutex_init()
- * pthread_mutex_destroy()
- * pthread_mutex_lock()
- * pthread_mutex_unlock()
- */
-
-#include "test.h"
-
-static int lockCount = 0;
-
-static pthread_mutex_t mutex;
-static pthread_mutexattr_t mxAttr;
-
-void * locker(void * arg)
-{
- assert(pthread_mutex_lock(&mutex) == 0);
- lockCount++;
- assert(pthread_mutex_trylock(&mutex) == EBUSY);
- lockCount++;
- assert(pthread_mutex_unlock(&mutex) == 0);
- assert(pthread_mutex_unlock(&mutex) == EPERM);
-
- return (void *) 555;
-}
-
-int
-main()
-{
- pthread_t t;
- int result = 0;
- int mxType = -1;
-
- assert(pthread_mutexattr_init(&mxAttr) == 0);
- assert(pthread_mutexattr_settype(&mxAttr, PTHREAD_MUTEX_ERRORCHECK) == 0);
- assert(pthread_mutexattr_gettype(&mxAttr, &mxType) == 0);
- assert(mxType == PTHREAD_MUTEX_ERRORCHECK);
-
- assert(pthread_mutex_init(&mutex, &mxAttr) == 0);
-
- assert(pthread_create(&t, NULL, locker, NULL) == 0);
-
- assert(pthread_join(t, (void **) &result) == 0);
- assert(result == 555);
-
- assert(lockCount == 2);
-
- assert(pthread_mutex_destroy(&mutex) == 0);
- assert(pthread_mutexattr_destroy(&mxAttr) == 0);
-
- exit(0);
-
- /* Never reached */
- return 0;
-}
-
diff --git a/winsup/testsuite/winsup.api/pthread/mutex7n.c b/winsup/testsuite/winsup.api/pthread/mutex7n.c
deleted file mode 100644
index e9a36fec0..000000000
--- a/winsup/testsuite/winsup.api/pthread/mutex7n.c
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * mutex7n.c
- *
- * Tests PTHREAD_MUTEX_NORMAL mutex type.
- * Thread locks then trylocks mutex (attempted recursive lock).
- * The thread should lock first time and EBUSY second time.
- *
- * Depends on API functions:
- * pthread_create()
- * pthread_mutexattr_init()
- * pthread_mutexattr_settype()
- * pthread_mutexattr_gettype()
- * pthread_mutex_init()
- * pthread_mutex_lock()
- * pthread_mutex_unlock()
- */
-
-#include "test.h"
-
-static int lockCount = 0;
-
-static pthread_mutex_t mutex;
-static pthread_mutexattr_t mxAttr;
-
-void * locker(void * arg)
-{
- assert(pthread_mutex_lock(&mutex) == 0);
- lockCount++;
- assert(pthread_mutex_trylock(&mutex) == EBUSY);
- lockCount++;
- assert(pthread_mutex_unlock(&mutex) == 0);
- assert(pthread_mutex_unlock(&mutex) == EPERM);
-
- return (void *) 555;
-}
-
-int
-main()
-{
- pthread_t t;
- int mxType = -1;
-
- assert(pthread_mutexattr_init(&mxAttr) == 0);
- assert(pthread_mutexattr_settype(&mxAttr, PTHREAD_MUTEX_NORMAL) == 0);
- assert(pthread_mutexattr_gettype(&mxAttr, &mxType) == 0);
- assert(mxType == PTHREAD_MUTEX_NORMAL);
-
- assert(pthread_mutex_init(&mutex, &mxAttr) == 0);
-
- assert(pthread_create(&t, NULL, locker, NULL) == 0);
-
- Sleep(1000);
-
- assert(lockCount == 2);
-
- exit(0);
-
- /* Never reached */
- return 0;
-}
-
diff --git a/winsup/testsuite/winsup.api/pthread/mutex7r.c b/winsup/testsuite/winsup.api/pthread/mutex7r.c
deleted file mode 100644
index 6f9ed744b..000000000
--- a/winsup/testsuite/winsup.api/pthread/mutex7r.c
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * mutex7r.c
- *
- * Tests PTHREAD_MUTEX_RECURSIVE mutex type.
- * Thread locks mutex then trylocks mutex (recursive lock twice).
- * Both locks and unlocks should succeed.
- *
- * Depends on API functions:
- * pthread_create()
- * pthread_join()
- * pthread_mutexattr_init()
- * pthread_mutexattr_destroy()
- * pthread_mutexattr_settype()
- * pthread_mutexattr_gettype()
- * pthread_mutex_init()
- * pthread_mutex_destroy()
- * pthread_mutex_lock()
- * pthread_mutex_unlock()
- */
-
-#include "test.h"
-
-static int lockCount = 0;
-
-static pthread_mutex_t mutex;
-static pthread_mutexattr_t mxAttr;
-
-void * locker(void * arg)
-{
- assert(pthread_mutex_lock(&mutex) == 0);
- lockCount++;
- assert(pthread_mutex_trylock(&mutex) == 0);
- lockCount++;
- assert(pthread_mutex_unlock(&mutex) == 0);
- assert(pthread_mutex_unlock(&mutex) == 0);
-
- return (void *) 555;
-}
-
-int
-main()
-{
- pthread_t t;
- int result = 0;
- int mxType = -1;
-
- assert(pthread_mutexattr_init(&mxAttr) == 0);
- assert(pthread_mutexattr_settype(&mxAttr, PTHREAD_MUTEX_RECURSIVE) == 0);
- assert(pthread_mutexattr_gettype(&mxAttr, &mxType) == 0);
- assert(mxType == PTHREAD_MUTEX_RECURSIVE);
-
- assert(pthread_mutex_init(&mutex, &mxAttr) == 0);
-
- assert(pthread_create(&t, NULL, locker, NULL) == 0);
-
- assert(pthread_join(t, (void **) &result) == 0);
- assert(result == 555);
-
- assert(lockCount == 2);
-
- assert(pthread_mutex_destroy(&mutex) == 0);
- assert(pthread_mutexattr_destroy(&mxAttr) == 0);
-
- exit(0);
-
- /* Never reached */
- return 0;
-}
diff --git a/winsup/testsuite/winsup.api/pthread/mutex8e.c b/winsup/testsuite/winsup.api/pthread/mutex8e.c
deleted file mode 100644
index 7108b02af..000000000
--- a/winsup/testsuite/winsup.api/pthread/mutex8e.c
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * mutex8e.c
- *
- * Tests PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP.
- *
- * Depends on API functions:
- * pthread_mutex_lock()
- * pthread_mutex_unlock()
- */
-
-#include "test.h"
-
-pthread_mutex_t mutex = PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP;
-
-int
-main()
-{
- assert(mutex == PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP);
-
- assert(pthread_mutex_lock(&mutex) == 0);
-
- assert(mutex != PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP);
-
- assert(mutex != NULL);
-
- assert(pthread_mutex_lock(&mutex) == EDEADLK);
-
- assert(pthread_mutex_unlock(&mutex) == 0);
-
- assert(pthread_mutex_destroy(&mutex) == 0);
-
- assert(mutex == NULL);
-
- return 0;
-}
diff --git a/winsup/testsuite/winsup.api/pthread/mutex8n.c b/winsup/testsuite/winsup.api/pthread/mutex8n.c
deleted file mode 100644
index 46fc9c676..000000000
--- a/winsup/testsuite/winsup.api/pthread/mutex8n.c
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * mutex8n.c
- *
- * Tests PTHREAD_NORMAL_MUTEX_INITIALIZER_NP.
- * Thread locks mutex twice (recursive lock).
- * The thread should deadlock.
- *
- * Depends on API functions:
- * pthread_create()
- * pthread_mutex_init()
- * pthread_mutex_lock()
- * pthread_mutex_unlock()
- */
-
-#include "test.h"
-
-static int lockCount = 0;
-
-pthread_mutex_t mutex = PTHREAD_NORMAL_MUTEX_INITIALIZER_NP;
-
-void * locker(void * arg)
-{
- assert(pthread_mutex_lock(&mutex) == 0);
- lockCount++;
-
- /* Should wait here (deadlocked) */
- assert(pthread_mutex_lock(&mutex) == 0);
- lockCount++;
- assert(pthread_mutex_unlock(&mutex) == 0);
-
- return (void *) 555;
-}
-
-int
-main()
-{
- pthread_t t;
-
- assert(pthread_create(&t, NULL, locker, NULL) == 0);
-
- Sleep(1000);
-
- assert(lockCount == 1);
-
- /*
- * Should succeed even though we don't own the lock
- * because FAST mutexes don't check ownership.
- */
- assert(pthread_mutex_unlock(&mutex) == 0);
-
- Sleep (1000);
-
- assert(lockCount == 2);
-
- exit(0);
-
- /* Never reached */
- return 0;
-}
-
diff --git a/winsup/testsuite/winsup.api/pthread/mutex8r.c b/winsup/testsuite/winsup.api/pthread/mutex8r.c
deleted file mode 100644
index ecaccd3ec..000000000
--- a/winsup/testsuite/winsup.api/pthread/mutex8r.c
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * mutex8r.c
- *
- * Tests PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP.
- *
- * Depends on API functions:
- * pthread_mutex_lock()
- * pthread_mutex_unlock()
- */
-
-#include "test.h"
-
-pthread_mutex_t mutex = PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP;
-
-int
-main()
-{
- assert(mutex == PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP);
-
- assert(pthread_mutex_lock(&mutex) == 0);
-
- assert(mutex != PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP);
-
- assert(mutex != NULL);
-
- assert(pthread_mutex_lock(&mutex) == 0);
-
- assert(pthread_mutex_unlock(&mutex) == 0);
-
- assert(pthread_mutex_unlock(&mutex) == 0);
-
- assert(pthread_mutex_destroy(&mutex) == 0);
-
- assert(mutex == NULL);
-
- return 0;
-}
diff --git a/winsup/testsuite/winsup.api/pthread/once1.c b/winsup/testsuite/winsup.api/pthread/once1.c
deleted file mode 100644
index 91dc03832..000000000
--- a/winsup/testsuite/winsup.api/pthread/once1.c
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * once1.c
- *
- * Create a static pthread_once and test that it calls myfunc once.
- *
- * Depends on API functions:
- * pthread_once()
- * pthread_create()
- */
-
-#include "test.h"
-
-pthread_once_t once = PTHREAD_ONCE_INIT;
-
-static int washere = 0;
-
-void
-myfunc(void)
-{
- washere++;
-}
-
-void *
-mythread(void * arg)
-{
- assert(pthread_once(&once, myfunc) == 0);
-
- return 0;
-}
-
-int
-main()
-{
- pthread_t t1, t2;
-
- assert(pthread_create(&t1, NULL, mythread, NULL) == 0);
-
- assert(pthread_create(&t2, NULL, mythread, NULL) == 0);
-
- Sleep(2000);
-
- assert(washere == 1);
-
- return 0;
-}
diff --git a/winsup/testsuite/winsup.api/pthread/priority1.c b/winsup/testsuite/winsup.api/pthread/priority1.c
deleted file mode 100644
index a31102895..000000000
--- a/winsup/testsuite/winsup.api/pthread/priority1.c
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
- * File: priority1.c
- *
- * Test Synopsis:
- * - Test thread priority explicit setting using thread attribute.
- *
- * Test Method (Validation or Falsification):
- * -
- *
- * Requirements Tested:
- * -
- *
- * Features Tested:
- * -
- *
- * Cases Tested:
- * -
- *
- * Description:
- * -
- *
- * Environment:
- * -
- *
- * Input:
- * - None.
- *
- * Output:
- * - File name, Line number, and failed expression on failure.
- * - No output on success.
- *
- * Assumptions:
- * -
- *
- * Pass Criteria:
- * - Process returns zero exit status.
- *
- * Fail Criteria:
- * - Process returns non-zero exit status.
- */
-
-#include "test.h"
-
-void * func(void * arg)
-{
- int policy;
- struct sched_param param;
-
- assert(pthread_getschedparam(pthread_self(), &policy, &param) == 0);
- assert(policy == SCHED_OTHER);
- return (void *) param.sched_priority;
-}
-
-int
-main()
-{
- pthread_t t;
- pthread_attr_t attr;
- void * result = NULL;
- struct sched_param param;
- int maxPrio = sched_get_priority_max(SCHED_OTHER);
- int minPrio = sched_get_priority_min(SCHED_OTHER);
-
- assert(pthread_attr_init(&attr) == 0);
- assert(pthread_attr_setinheritsched(&attr, PTHREAD_EXPLICIT_SCHED) == 0);
-
- for (param.sched_priority = minPrio;
- param.sched_priority <= maxPrio;
- param.sched_priority++)
- {
- assert(pthread_attr_setschedparam(&attr, &param) == 0);
- assert(pthread_create(&t, &attr, func, NULL) == 0);
- pthread_join(t, &result);
- assert((int) result == param.sched_priority);
- }
-
- return 0;
-}
diff --git a/winsup/testsuite/winsup.api/pthread/priority2.c b/winsup/testsuite/winsup.api/pthread/priority2.c
deleted file mode 100644
index 4dcf3859f..000000000
--- a/winsup/testsuite/winsup.api/pthread/priority2.c
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- * File: priority2.c
- *
- * Test Synopsis:
- * - Test thread priority setting after creation.
- *
- * Test Method (Validation or Falsification):
- * -
- *
- * Requirements Tested:
- * -
- *
- * Features Tested:
- * -
- *
- * Cases Tested:
- * -
- *
- * Description:
- * -
- *
- * Environment:
- * -
- *
- * Input:
- * - None.
- *
- * Output:
- * - File name, Line number, and failed expression on failure.
- * - No output on success.
- *
- * Assumptions:
- * -
- *
- * Pass Criteria:
- * - Process returns zero exit status.
- *
- * Fail Criteria:
- * - Process returns non-zero exit status.
- */
-
-#include "test.h"
-
-pthread_mutex_t startMx = PTHREAD_MUTEX_INITIALIZER;
-
-void * func(void * arg)
-{
- int policy;
- struct sched_param param;
-
- assert(pthread_mutex_lock(&startMx) == 0);
- assert(pthread_getschedparam(pthread_self(), &policy, &param) == 0);
- assert(pthread_mutex_unlock(&startMx) == 0);
- assert(policy == SCHED_OTHER);
- return (void *) param.sched_priority;
-}
-
-int
-main()
-{
- pthread_t t;
- void * result = NULL;
- struct sched_param param;
- int maxPrio = sched_get_priority_max(SCHED_OTHER);
- int minPrio = sched_get_priority_min(SCHED_OTHER);
-
- for (param.sched_priority = minPrio;
- param.sched_priority <= maxPrio;
- param.sched_priority++)
- {
- assert(pthread_mutex_lock(&startMx) == 0);
- assert(pthread_create(&t, NULL, func, NULL) == 0);
- assert(pthread_setschedparam(t, SCHED_OTHER, &param) == 0);
- assert(pthread_mutex_unlock(&startMx) == 0);
- pthread_join(t, &result);
- assert((int) result == param.sched_priority);
- }
-
- return 0;
-}
diff --git a/winsup/testsuite/winsup.api/pthread/rwlock1.c b/winsup/testsuite/winsup.api/pthread/rwlock1.c
deleted file mode 100644
index 25e29f6ac..000000000
--- a/winsup/testsuite/winsup.api/pthread/rwlock1.c
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * rwlock1.c
- *
- * Create a simple rwlock object and then destroy it.
- *
- * Depends on API functions:
- * pthread_rwlock_init()
- * pthread_rwlock_destroy()
- */
-
-#include "test.h"
-
-pthread_rwlock_t rwlock = NULL;
-
-int
-main()
-{
- assert(rwlock == NULL);
-
- assert(pthread_rwlock_init(&rwlock, NULL) == 0);
-
- assert(rwlock != NULL);
-
- assert(pthread_rwlock_destroy(&rwlock) == 0);
-
- assert(rwlock == NULL);
-
- return 0;
-}
diff --git a/winsup/testsuite/winsup.api/pthread/rwlock2.c b/winsup/testsuite/winsup.api/pthread/rwlock2.c
deleted file mode 100644
index cfb32282c..000000000
--- a/winsup/testsuite/winsup.api/pthread/rwlock2.c
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * rwlock2.c
- *
- * Declare a static rwlock object, lock it,
- * and then unlock it again.
- *
- * Depends on API functions:
- * pthread_rwlock_rdlock()
- * pthread_rwlock_unlock()
- */
-
-#include "test.h"
-
-pthread_rwlock_t rwlock = PTHREAD_RWLOCK_INITIALIZER;
-
-int
-main()
-{
- assert(rwlock == PTHREAD_RWLOCK_INITIALIZER);
-
- assert(pthread_rwlock_rdlock(&rwlock) == 0);
-
- assert(rwlock != PTHREAD_RWLOCK_INITIALIZER);
-
- assert(rwlock != NULL);
-
- assert(pthread_rwlock_unlock(&rwlock) == 0);
-
- assert(pthread_rwlock_destroy(&rwlock) == 0);
-
- assert(rwlock == NULL);
-
- return 0;
-}
diff --git a/winsup/testsuite/winsup.api/pthread/rwlock3.c b/winsup/testsuite/winsup.api/pthread/rwlock3.c
deleted file mode 100644
index 0703c1a2d..000000000
--- a/winsup/testsuite/winsup.api/pthread/rwlock3.c
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * rwlock3.c
- *
- *
- * Declare a static rwlock object, wrlock it, trywrlock it,
- * and then unlock it again.
- *
- * Depends on API functions:
- * pthread_rwlock_wrlock()
- * pthread_rwlock_trywrlock()
- * pthread_rwlock_unlock()
- */
-
-#include "test.h"
-
-pthread_rwlock_t rwlock1 = PTHREAD_RWLOCK_INITIALIZER;
-
-static int washere = 0;
-
-void * func(void * arg)
-{
- assert(pthread_rwlock_trywrlock(&rwlock1) == EBUSY);
-
- washere = 1;
-
- return 0;
-}
-
-int
-main()
-{
- pthread_t t;
-
- assert(pthread_rwlock_wrlock(&rwlock1) == 0);
-
- assert(pthread_create(&t, NULL, func, NULL) == 0);
-
- Sleep(2000);
-
- assert(pthread_rwlock_unlock(&rwlock1) == 0);
-
- assert(washere == 1);
-
- return 0;
-}
diff --git a/winsup/testsuite/winsup.api/pthread/rwlock4.c b/winsup/testsuite/winsup.api/pthread/rwlock4.c
deleted file mode 100644
index 8cae52e6f..000000000
--- a/winsup/testsuite/winsup.api/pthread/rwlock4.c
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * rwlock4.c
- *
- * Declare a static rwlock object, rdlock it, trywrlock it,
- * and then unlock it again.
- *
- * Depends on API functions:
- * pthread_rwlock_rdlock()
- * pthread_rwlock_trywrlock()
- * pthread_rwlock_unlock()
- */
-
-#include "test.h"
-
-pthread_rwlock_t rwlock1 = PTHREAD_RWLOCK_INITIALIZER;
-
-static int washere = 0;
-
-void * func(void * arg)
-{
- assert(pthread_rwlock_trywrlock(&rwlock1) == EBUSY);
-
- washere = 1;
-
- return 0;
-}
-
-int
-main()
-{
- pthread_t t;
-
- assert(pthread_rwlock_rdlock(&rwlock1) == 0);
-
- assert(pthread_create(&t, NULL, func, NULL) == 0);
-
- Sleep(2000);
-
- assert(pthread_rwlock_unlock(&rwlock1) == 0);
-
- assert(washere == 1);
-
- return 0;
-}
diff --git a/winsup/testsuite/winsup.api/pthread/rwlock5.c b/winsup/testsuite/winsup.api/pthread/rwlock5.c
deleted file mode 100644
index 3ada946e3..000000000
--- a/winsup/testsuite/winsup.api/pthread/rwlock5.c
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * rwlock5.c
- *
- *
- * Declare a static rwlock object, rdlock it, tryrdlock it,
- * and then unlock it again.
- *
- * Depends on API functions:
- * pthread_rwlock_rdlock()
- * pthread_rwlock_tryrdlock()
- * pthread_rwlock_unlock()
- */
-
-#include "test.h"
-
-pthread_rwlock_t rwlock1 = PTHREAD_RWLOCK_INITIALIZER;
-
-static int washere = 0;
-
-void * func(void * arg)
-{
- assert(pthread_rwlock_tryrdlock(&rwlock1) == 0);
-
- assert(pthread_rwlock_unlock(&rwlock1) == 0);
-
- washere = 1;
-
- return 0;
-}
-
-int
-main()
-{
- pthread_t t;
-
- assert(pthread_rwlock_rdlock(&rwlock1) == 0);
-
- assert(pthread_create(&t, NULL, func, NULL) == 0);
-
- Sleep(2000);
-
- assert(pthread_rwlock_unlock(&rwlock1) == 0);
-
- assert(washere == 1);
-
- return 0;
-}
diff --git a/winsup/testsuite/winsup.api/pthread/rwlock6.c b/winsup/testsuite/winsup.api/pthread/rwlock6.c
deleted file mode 100644
index d5f2320d0..000000000
--- a/winsup/testsuite/winsup.api/pthread/rwlock6.c
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- * rwlock6.c
- *
- * Check writer and reader locking
- *
- * Depends on API functions:
- * pthread_rwlock_rdlock()
- * pthread_rwlock_wrlock()
- * pthread_rwlock_unlock()
- */
-
-#include "test.h"
-
-static pthread_rwlock_t rwlock1 = PTHREAD_RWLOCK_INITIALIZER;
-
-static int bankAccount = 0;
-
-void * wrfunc(void * arg)
-{
- int ba;
-
- assert(pthread_rwlock_wrlock(&rwlock1) == 0);
- Sleep(2000);
- bankAccount += 10;
- ba = bankAccount;
- assert(pthread_rwlock_unlock(&rwlock1) == 0);
-
- return ((void *) ba);
-}
-
-void * rdfunc(void * arg)
-{
- int ba;
-
- assert(pthread_rwlock_rdlock(&rwlock1) == 0);
- ba = bankAccount;
- assert(pthread_rwlock_unlock(&rwlock1) == 0);
-
- return ((void *) ba);
-}
-
-int
-main()
-{
- pthread_t wrt1;
- pthread_t wrt2;
- pthread_t rdt;
- int wr1Result = 0;
- int wr2Result = 0;
- int rdResult = 0;
-
- bankAccount = 0;
-
- assert(pthread_create(&wrt1, NULL, wrfunc, NULL) == 0);
- Sleep(500);
- assert(pthread_create(&rdt, NULL, rdfunc, NULL) == 0);
- Sleep(500);
- assert(pthread_create(&wrt2, NULL, wrfunc, NULL) == 0);
-
- assert(pthread_join(wrt1, (void **) &wr1Result) == 0);
- assert(pthread_join(rdt, (void **) &rdResult) == 0);
- assert(pthread_join(wrt2, (void **) &wr2Result) == 0);
-
- assert(wr1Result == 10);
- assert(rdResult == 20);
- assert(wr2Result == 20);
-
- return 0;
-}
diff --git a/winsup/testsuite/winsup.api/pthread/rwlock7.c b/winsup/testsuite/winsup.api/pthread/rwlock7.c
deleted file mode 100644
index ded882d9f..000000000
--- a/winsup/testsuite/winsup.api/pthread/rwlock7.c
+++ /dev/null
@@ -1,190 +0,0 @@
-/*
- * rwlock7.c
- *
- * Hammer on a bunch of rwlocks to test robustness and fairness.
- * Printed stats should be roughly even for each thread.
- */
-
-#include "test.h"
-#include <sys/time.h>
-#include <sys/timeb.h>
-
-#ifdef __GNUC__
-#include <stdlib.h>
-#endif
-
-#define THREADS 5
-#define DATASIZE 15
-#define ITERATIONS 1000000
-
-#define rand_r( _seed ) \
- ( _seed == _seed? rand() : rand() )
-
-/*
- * Keep statistics for each thread.
- */
-typedef struct thread_tag {
- int thread_num;
- pthread_t thread_id;
- int updates;
- int reads;
- int interval;
-} thread_t;
-
-/*
- * Read-write lock and shared data
- */
-typedef struct data_tag {
- pthread_rwlock_t lock;
- int data;
- int updates;
-} data_t;
-
-static thread_t threads[THREADS];
-static data_t data[DATASIZE];
-
-/*
- * Thread start routine that uses read-write locks
- */
-void *thread_routine (void *arg)
-{
- thread_t *self = (thread_t*)arg;
- int repeats = 0;
- int iteration;
- int element = 0;
-
- for (iteration = 0; iteration < ITERATIONS; iteration++)
- {
- if (iteration % (ITERATIONS / 10) == 0)
- {
- putchar('.');
- fflush(stdout);
- }
- /*
- * Each "self->interval" iterations, perform an
- * update operation (write lock instead of read
- * lock).
- */
- if ((iteration % self->interval) == 0)
- {
- assert(pthread_rwlock_wrlock (&data[element].lock) == 0);
- data[element].data = self->thread_num;
- data[element].updates++;
- self->updates++;
- assert(pthread_rwlock_unlock (&data[element].lock) == 0);
- } else {
- /*
- * Look at the current data element to see whether
- * the current thread last updated it. Count the
- * times, to report later.
- */
- assert(pthread_rwlock_rdlock (&data[element].lock) == 0);
-
- self->reads++;
-
- if (data[element].data == self->thread_num)
- {
- repeats++;
- }
-
- assert(pthread_rwlock_unlock (&data[element].lock) == 0);
- }
-
- element++;
-
- if (element >= DATASIZE)
- {
- element = 0;
- }
- }
-
- if (repeats > 0)
- {
- printf ("\nThread %d found unchanged elements %d times",
- self->thread_num, repeats);
- fflush(stdout);
- }
-
- return NULL;
-}
-
-int
-main (int argc, char *argv[])
-{
- int count;
- int data_count;
- int thread_updates = 0;
- int data_updates = 0;
- int seed = 1;
-
- struct timeb currSysTime1;
- struct timeb currSysTime2;
-
- /*
- * Initialize the shared data.
- */
- for (data_count = 0; data_count < DATASIZE; data_count++)
- {
- data[data_count].data = 0;
- data[data_count].updates = 0;
-
- assert(pthread_rwlock_init (&data[data_count].lock, NULL) == 0);
- }
-
- ftime(&currSysTime1);
-
- /*
- * Create THREADS threads to access shared data.
- */
- for (count = 0; count < THREADS; count++)
- {
- threads[count].thread_num = count;
- threads[count].updates = 0;
- threads[count].reads = 0;
- while (!(threads[count].interval = rand_r (&seed) % 71))
- continue;
-
- assert(pthread_create (&threads[count].thread_id,
- NULL, thread_routine, (void*)&threads[count]) == 0);
- }
-
- /*
- * Wait for all threads to complete, and collect
- * statistics.
- */
- for (count = 0; count < THREADS; count++)
- {
- assert(pthread_join (threads[count].thread_id, NULL) == 0);
- thread_updates += threads[count].updates;
- printf ("%02d: interval %d, updates %d, reads %d\n",
- count, threads[count].interval,
- threads[count].updates, threads[count].reads);
- }
-
- putchar('\n');
- fflush(stdout);
-
- /*
- * Collect statistics for the data.
- */
- for (data_count = 0; data_count < DATASIZE; data_count++)
- {
- data_updates += data[data_count].updates;
- printf ("data %02d: value %d, %d updates\n",
- data_count, data[data_count].data, data[data_count].updates);
- assert(pthread_rwlock_destroy (&data[data_count].lock) == 0);
- }
-
- printf ("%d thread updates, %d data updates\n",
- thread_updates, data_updates);
-
- ftime(&currSysTime2);
-
- printf( "\nstart: %ld/%d, stop: %ld/%d, duration:%ld\n",
- currSysTime1.time,currSysTime1.millitm,
- currSysTime2.time,currSysTime2.millitm,
- (currSysTime2.time*1000+currSysTime2.millitm) -
- (currSysTime1.time*1000+currSysTime1.millitm));
-
- return 0;
-}
diff --git a/winsup/testsuite/winsup.api/pthread/self1.c b/winsup/testsuite/winsup.api/pthread/self1.c
deleted file mode 100644
index d46081830..000000000
--- a/winsup/testsuite/winsup.api/pthread/self1.c
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- * self1.c
- *
- * Test for pthread_self().
- *
- * Depends on API functions:
- * pthread_self()
- *
- * Implicitly depends on:
- * pthread_getspecific()
- * pthread_setspecific()
- */
-
-#include "test.h"
-
-int
-main(int argc, char * argv[])
-{
- /*
- * This should always succeed unless the system has no
- * resources (memory) left.
- */
- assert(pthread_self() != NULL);
-
- return 0;
-}
diff --git a/winsup/testsuite/winsup.api/pthread/self2.c b/winsup/testsuite/winsup.api/pthread/self2.c
deleted file mode 100644
index 83339f101..000000000
--- a/winsup/testsuite/winsup.api/pthread/self2.c
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * self2.c
- *
- * Test for pthread_self().
- *
- * Depends on API functions:
- * pthread_create()
- * pthread_self()
- *
- * Implicitly depends on:
- * pthread_getspecific()
- * pthread_setspecific()
- */
-
-#include "test.h"
-#include <string.h>
-
-static pthread_t me;
-
-void *
-entry(void * arg)
-{
- me = pthread_self();
-
- return arg;
-}
-
-int
-main()
-{
- pthread_t t;
-
- assert(pthread_create(&t, NULL, entry, NULL) == 0);
-
- Sleep(2000);
-
- /*
- * Not much more we can do here but bytewise compare t with
- * what pthread_self returned.
- */
- assert(t == me);
- assert(memcmp((const void *) t, (const void *) me, sizeof t) == 0);
-
- /* Success. */
- return 0;
-}
diff --git a/winsup/testsuite/winsup.api/pthread/test.h b/winsup/testsuite/winsup.api/pthread/test.h
deleted file mode 100644
index 0e7246420..000000000
--- a/winsup/testsuite/winsup.api/pthread/test.h
+++ /dev/null
@@ -1,102 +0,0 @@
-/*
- * test.h
- *
- * Useful definitions and declarations for tests.
- */
-
-#ifndef _PTHREAD_TEST_H_
-#define _PTHREAD_TEST_H_
-
-#include <pthread.h>
-#include <sched.h>
-#include <semaphore.h>
-#include <stdio.h>
-#include <unistd.h>
-#include <stdlib.h>
-#include <errno.h>
-#include <assert.h>
-#include <windows.h>
-
-/* #define assert(x) do { fprint (stderr, "assertion failed\n"); exit(1) } while (0) */
-
-const char * error_string[] = {
- "ZERO_or_EOK",
- "EPERM",
- "ENOFILE_or_ENOENT",
- "ESRCH",
- "EINTR",
- "EIO",
- "ENXIO",
- "E2BIG",
- "ENOEXEC",
- "EBADF",
- "ECHILD",
- "EAGAIN",
- "ENOMEM",
- "EACCES",
- "EFAULT",
- "UNKNOWN_15",
- "EBUSY",
- "EEXIST",
- "EXDEV",
- "ENODEV",
- "ENOTDIR",
- "EISDIR",
- "EINVAL",
- "ENFILE",
- "EMFILE",
- "ENOTTY",
- "UNKNOWN_26",
- "EFBIG",
- "ENOSPC",
- "ESPIPE",
- "EROFS",
- "EMLINK",
- "EPIPE",
- "EDOM",
- "ERANGE",
- "UNKNOWN_35",
- "EDEADLOCK_or_EDEADLK",
- "UNKNOWN_37",
- "ENAMETOOLONG",
- "ENOLCK",
- "ENOSYS",
- "ENOTEMPTY",
- "EILSEQ",
-};
-
-/*
- * The Mingw32 assert macro calls the CRTDLL _assert function
- * which pops up a dialog. We want to run in batch mode so
- * we define our own assert macro.
- */
-#ifdef assert
-# undef assert
-#endif
-
-#ifdef NDEBUG
-
-# define assert(e) ((void)0)
-
-#else /* NDEBUG */
-
-#ifndef ASSERT_TRACE
-# define ASSERT_TRACE 0
-#else
-# undef ASSERT_TRACE
-# define ASSERT_TRACE 1
-#endif
-
-# define assert(e) \
- ((e) ? ((ASSERT_TRACE) ? fprintf(stderr, \
- "Assertion succeeded: (%s), file %s, line %d\n", \
- #e, __FILE__, (int) __LINE__), \
- fflush(stderr) : \
- 0) : \
- (fprintf(stderr, "Assertion failed: (%s), file %s, line %d\n", \
- #e, __FILE__, (int) __LINE__), exit(1), 0))
-
-#endif /* NDEBUG */
-
-
-#endif
diff --git a/winsup/testsuite/winsup.api/pthread/threadidafterfork.c b/winsup/testsuite/winsup.api/pthread/threadidafterfork.c
deleted file mode 100644
index 473eaecfd..000000000
--- a/winsup/testsuite/winsup.api/pthread/threadidafterfork.c
+++ /dev/null
@@ -1,50 +0,0 @@
-#include <stdio.h>
-#include <unistd.h>
-#include <sys/wait.h>
-#include <pthread.h>
-#include <stdlib.h>
-
-static void * TestThread ( void * );
-
-int main (void)
-{
- pthread_t t;
-
- pthread_create (&t, NULL, TestThread, NULL);
- pthread_join (t, NULL);
-
- return 0;
-}
-
-static void * TestThread ( void *not_used )
-{
- pthread_t iAm = pthread_self();
- int status;
- switch (fork ())
- {
- case -1:
- exit(1);
- case 0:
- if (iAm != pthread_self())
- exit (1);
- else
- exit (0);
- break;
- default:
- wait (&status);
- if (status != 0)
- exit (1);
- }
- exit(0);
-}
-
-/*
-The forked child will not get the same thread handle as its parent, it
-will get the thread handle from the main thread instead. The child will
-not terminate because the threadcount is still 2 after the fork (it is
-set to 1 in MTinterface::Init and then set back to 2 after the childs
-memory gets overwritten by the parent).
-
-concept test by Thomas Pfaff <tpfaff@gmx.net>
-scritable test by Robert Collins <rbtcollins@hotmail.com>
-*/
diff --git a/winsup/testsuite/winsup.api/pthread/tsd1.c b/winsup/testsuite/winsup.api/pthread/tsd1.c
deleted file mode 100644
index a65cf66c8..000000000
--- a/winsup/testsuite/winsup.api/pthread/tsd1.c
+++ /dev/null
@@ -1,170 +0,0 @@
-/*
- * tsd1.c
- *
- * Test Thread Specific Data (TSD) key creation and destruction.
- *
- * Description:
- * -
- *
- * Test Method (validation or falsification):
- * - validation
- *
- * Requirements Tested:
- * - keys are created for each existing thread including the main thread
- * - keys are created for newly created threads
- * - keys are thread specific
- * - destroy routine is called on each thread exit including the main thread
- *
- * Features Tested:
- * -
- *
- * Cases Tested:
- * -
- *
- * Environment:
- * -
- *
- * Input:
- * - none
- *
- * Output:
- * - text to stdout
- *
- * Assumptions:
- * - already validated: pthread_create()
- * pthread_once()
- * - main thread also has a POSIX thread identity
- *
- * Pass Criteria:
- * - stdout matches file reference/tsd1.out
- *
- * Fail Criteria:
- * - fails to match file reference/tsd1.out
- * - output identifies failed component
- */
-
-#include <sched.h>
-#include "test.h"
-
-static pthread_key_t key = NULL;
-static int accesscount[10];
-static int thread_set[10];
-static int thread_destroyed[10];
-
-static void
-destroy_key(void * arg)
-{
- int * j = (int *) arg;
-
- (*j)++;
-
- assert(*j == 2);
-
- thread_destroyed[j - accesscount] = 1;
-}
-
-static void
-setkey(void * arg)
-{
- int * j = (int *) arg;
-
- thread_set[j - accesscount] = 1;
-
- assert(*j == 0);
-
- assert(pthread_getspecific(key) == NULL);
-
- assert(pthread_setspecific(key, arg) == 0);
-
- assert(pthread_getspecific(key) == arg);
-
- (*j)++;
-
- assert(*j == 1);
-}
-
-static void *
-mythread(void * arg)
-{
- while (key == NULL)
- {
- sched_yield();
- }
-
- setkey(arg);
-
- return 0;
-
- /* Exiting the thread will call the key destructor. */
-}
-
-int
-main()
-{
- int i;
- int fail = 0;
- pthread_t thread[10];
-
- for (i = 1; i < 5; i++)
- {
- accesscount[i] = thread_set[i] = thread_destroyed[i] = 0;
- assert(pthread_create(&thread[i], NULL, mythread, (void *)&accesscount[i]) == 0);
- }
-
- Sleep(2000);
-
- /*
- * Here we test that existing threads will get a key created
- * for them.
- */
- assert(pthread_key_create(&key, destroy_key) == 0);
-
- /*
- * Test main thread key.
- */
- accesscount[0] = 0;
- setkey((void *) &accesscount[0]);
-
- /*
- * Here we test that new threads will get a key created
- * for them.
- */
- for (i = 5; i < 10; i++)
- {
- accesscount[i] = thread_set[i] = thread_destroyed[i] = 0;
- assert(pthread_create(&thread[i], NULL, mythread, (void *)&accesscount[i]) == 0);
- }
-
- /*
- * Wait for all threads to complete.
- */
- for (i = 1; i < 10; i++)
- {
- int result = 0;
-
- assert(pthread_join(thread[i], (void **) &result) == 0);
- }
-
- assert(pthread_key_delete(key) == 0);
-
- for (i = 1; i < 10; i++)
- {
- /*
- * The counter is incremented once when the key is set to
- * a value, and again when the key is destroyed. If the key
- * doesn't get set for some reason then it will still be
- * NULL and the destroy function will not be called, and
- * hence accesscount will not equal 2.
- */
- if (accesscount[i] != 2)
- {
- fail++;
- fprintf(stderr, "Thread %d key, set = %d, destroyed = %d\n",
- i, thread_set[i], thread_destroyed[i]);
- }
- }
-
- fflush(stderr);
-
- return (fail);
-}
diff --git a/winsup/testsuite/winsup.api/samples/sample-fail.c b/winsup/testsuite/winsup.api/samples/sample-fail.c
deleted file mode 100644
index d0d3e4a6a..000000000
--- a/winsup/testsuite/winsup.api/samples/sample-fail.c
+++ /dev/null
@@ -1,5 +0,0 @@
-int
-main()
-{
- return 1;
-}
diff --git a/winsup/testsuite/winsup.api/samples/sample-miscompile.c b/winsup/testsuite/winsup.api/samples/sample-miscompile.c
deleted file mode 100644
index bc0d21d2e..000000000
--- a/winsup/testsuite/winsup.api/samples/sample-miscompile.c
+++ /dev/null
@@ -1 +0,0 @@
-foo bar grill
diff --git a/winsup/testsuite/winsup.api/samples/sample-pass.c b/winsup/testsuite/winsup.api/samples/sample-pass.c
deleted file mode 100644
index 8e8f518aa..000000000
--- a/winsup/testsuite/winsup.api/samples/sample-pass.c
+++ /dev/null
@@ -1,5 +0,0 @@
-int
-main()
-{
- return 0;
-}
diff --git a/winsup/testsuite/winsup.api/semtest.c b/winsup/testsuite/winsup.api/semtest.c
deleted file mode 100644
index dfb8c08eb..000000000
--- a/winsup/testsuite/winsup.api/semtest.c
+++ /dev/null
@@ -1,348 +0,0 @@
-/*-
- * Copyright (c) 1999 The NetBSD Foundation, Inc.
- * All rights reserved.
- *
- * This code is derived from software contributed to The NetBSD Foundation
- * by Jason R. Thorpe of the Numerical Aerospace Simulation Facility,
- * NASA Ames Research Center.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgement:
- * This product includes software developed by the NetBSD
- * Foundation, Inc. and its contributors.
- * 4. Neither the name of The NetBSD Foundation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
- * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
- * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- * Obtained from: $NetBSD: semtest.c,v 1.4 2002/07/20 08:36:25 grant Exp $
- * $FreeBSD: /repoman/r/ncvs/src/tools/regression/sysvsem/semtest.c,v 1.1 2002/08/15 06:34:37 alfred Exp $
- */
-
-/*
- * Test the SVID-compatible Semaphore facility.
- */
-
-/*
- * CV, 2003-11-17: Add to Cygwin testsuite.
- */
-#include <sys/param.h>
-#include <sys/ipc.h>
-#include <sys/sem.h>
-#include <sys/wait.h>
-
-#include <err.h>
-#include <errno.h>
-#include <signal.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <time.h>
-
-#include "test.h"
-#include "usctest.h"
-
-const char *TCID = "semtest"; /* Test program identifier. */
-int TST_TOTAL = 54; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-
-int main (int, char *[]);
-void print_semid_ds (struct semid_ds *, mode_t);
-void sigsys_handler (int);
-void sigchld_handler(int);
-void cleanup (void);
-void waiter (void);
-
-int sender_semid = -1;
-pid_t child_pid;
-int child_count;
-int signal_was_sigchld;
-
-key_t semkey;
-
-/*
- * This is the original semun union used by the sysvsem utility.
- * It is deliberately kept here under #if 0'ed condition for future
- * reference. PLEASE DO NOT REMOVE. The {SET,GET}ALL in FreeBSD
- * are signed values, so the default version in sys/sem.h suffices.
- */
-#if 1 /*0*/
-union semun {
- int val; /* value for SETVAL */
- struct semid_ds *buf; /* buffer for IPC_{STAT,SET} */
- u_short *array; /* array for GETALL & SETALL */
-};
-#endif
-
-int
-main(int argc, char *argv[])
-{
- struct sigaction sa;
- union semun sun;
- struct semid_ds s_ds;
- sigset_t sigmask;
- int i;
-
- Tst_count = 0;
-
- /*
- * Install a SIGSYS handler so that we can exit gracefully if
- * System V Semaphore support isn't in the kernel.
- */
- sa.sa_handler = sigsys_handler;
- sigemptyset(&sa.sa_mask);
- sa.sa_flags = 0;
- if (sigaction(SIGSYS, &sa, NULL) == -1)
- tst_brkm (TBROK, cleanup, "sigaction SIGSYS");
-
- /*
- * Install and SIGCHLD handler to deal with all possible exit
- * conditions of the receiver.
- */
- sa.sa_handler = sigchld_handler;
- sigemptyset(&sa.sa_mask);
- sa.sa_flags = 0;
- if (sigaction(SIGCHLD, &sa, NULL) == -1)
- tst_brkm (TBROK, cleanup, "sigaction SIGCHLD");
-
- semkey = ftok("/", 4160);
- tst_resm (semkey == (key_t)-1 ? TFAIL : TPASS,
- "ftok(\"/\") returns valid value");
-
- /*
- * Initialize child_pid to ourselves to that the cleanup function
- * works before we create the receiver.
- */
- child_pid = getpid();
-
- sender_semid = semget(semkey, 1, IPC_CREAT | 0640);
- tst_resm (sender_semid == -1 ? TFAIL : TPASS, "sender calls semget");
-
- sun.buf = &s_ds;
- tst_resm (semctl(sender_semid, 0, IPC_STAT, sun) == -1 ? TFAIL : TPASS,
- "semctl IPC_STAT");
-
- print_semid_ds(&s_ds, 0640);
-
- s_ds.sem_perm.mode = (s_ds.sem_perm.mode & ~0777) | 0600;
-
- sun.buf = &s_ds;
- tst_resm (semctl(sender_semid, 0, IPC_SET, sun) == -1 ? TFAIL : TPASS,
- "semctl IPC_SET");
-
- memset(&s_ds, 0, sizeof(s_ds));
-
- sun.buf = &s_ds;
- tst_resm (semctl(sender_semid, 0, IPC_STAT, sun) == -1 ? TFAIL : TPASS,
- "semctl IPC_STAT");
-
- tst_resm ((s_ds.sem_perm.mode & 0777) != 0600 ? TFAIL : TPASS,
- "IPC_SET of mode holds");
-
- print_semid_ds(&s_ds, 0600);
-
- for (child_count = 0; child_count < 5; child_count++) {
- switch ((child_pid = fork())) {
- case -1:
- tst_brkm (TBROK, cleanup, "fork");
- /* NOTREACHED */
-
- case 0:
- Tst_count += 22 + child_count * 4;
- tst_resm (TPASS, "fork");
- waiter();
- break;
-
- default:
- break;
- }
- }
-
- /*
- * Wait for all of the waiters to be attempting to acquire the
- * semaphore.
- */
- for (;;) {
- i = semctl(sender_semid, 0, GETNCNT);
- if (i == -1)
- tst_brkm (TBROK, cleanup, "semctl GETNCNT");
- if (i == 5)
- break;
- }
-
- /*
- * Now set the thundering herd in motion by initializing the
- * semaphore to the value 1.
- */
- sun.val = 1;
- tst_resm (semctl(sender_semid, 0, SETVAL, sun) == -1 ? TFAIL : TPASS,
- "sender: semctl SETVAL to 1");
-
- /*
- * Suspend forever; when we get SIGCHLD, the handler will exit.
- */
- sigemptyset(&sigmask);
- for (;;) {
- (void) sigsuspend(&sigmask);
- if (signal_was_sigchld)
- signal_was_sigchld = 0;
- else
- break;
- }
-
- /*
- * ...and any other signal is an unexpected error.
- */
-
- tst_brkm (TBROK, cleanup, "sender: received unexpected signal");
- exit (1);
-}
-
-void
-sigsys_handler(int signo)
-{
-
- tst_brkm (TBROK, cleanup,
- "System V Semaphore support is not present in the kernel");
-}
-
-void
-sigchld_handler(int signo)
-{
- union semun sun;
- struct semid_ds s_ds;
- int cstatus;
-
- /*
- * Reap the child; if it exited successfully, then we're on the
- * right track!
- */
- if (wait(&cstatus) == -1)
- tst_brkm (TBROK, cleanup, "wait");
-
- if (WIFEXITED(cstatus) == 0)
- tst_brkm (TBROK, cleanup, "receiver exited abnormally");
-
- if (WEXITSTATUS(cstatus) != 0)
- tst_brkm (TBROK, cleanup, "receiver exited with status %d",
- WEXITSTATUS(cstatus));
-
- /*
- * If we get here, the child has exited normally, and we should
- * decrement the child count. If the child_count reaches 0, we
- * should exit.
- */
-
- sun.buf = &s_ds;
- tst_resm (semctl(sender_semid, 0, IPC_STAT, sun) == -1 ? TFAIL : TPASS,
- "semctl IPC_STAT");
-
- print_semid_ds(&s_ds, 0600);
-
- if (--child_count != 0) {
- signal_was_sigchld = 1;
- return;
- }
-
- cleanup ();
-}
-
-void
-cleanup()
-{
-
- /*
- * If we're the sender, and it exists, remove the message queue.
- */
- if (child_pid != 0 && sender_semid != -1) {
- tst_resm (semctl(sender_semid, 0, IPC_RMID) == -1
- ? TFAIL : TPASS, "semctl IPC_RMID");
- }
- tst_exit ();
-}
-
-void
-print_semid_ds(struct semid_ds *sp, mode_t mode)
-{
- uid_t uid = geteuid();
- gid_t gid = getegid();
-
- printf("PERM: uid %d, gid %d, cuid %d, cgid %d, mode 0%o\n",
- (int)sp->sem_perm.uid, (int)sp->sem_perm.gid,
- (int)sp->sem_perm.cuid, (int)sp->sem_perm.cgid,
- sp->sem_perm.mode & 0777);
-
- printf("nsems %u\n", sp->sem_nsems);
-
- printf("otime: %s", ctime(&sp->sem_otime));
- printf("ctime: %s", ctime(&sp->sem_ctime));
-
- /*
- * Sanity check a few things.
- */
-
- tst_resm (sp->sem_perm.uid != uid || sp->sem_perm.cuid != uid
- ? TFAIL : TPASS, "uid matches");
-
- tst_resm (sp->sem_perm.gid != gid || sp->sem_perm.cgid != gid
- ? TFAIL : TPASS, "gid matches");
-
- tst_resm ((sp->sem_perm.mode & 0777) != mode
- ? TFAIL : TPASS, "mode matches");
-}
-
-void
-waiter()
-{
- struct sembuf s;
- int semid;
-
- tst_resm ((semid = semget(semkey, 1, 0)) == -1 ? TFAIL : TPASS,
- "waiter: semget");
-
- /*
- * Attempt to acquire the semaphore.
- */
- s.sem_num = 0;
- s.sem_op = -1;
- s.sem_flg = SEM_UNDO;
-
- tst_resm (semop(semid, &s, 1) == -1 ? TFAIL : TPASS,
- "waiter: semop -1");
-
- printf("WOO! GOT THE SEMAPHORE!\n");
- sleep(1);
-
- /*
- * Release the semaphore and exit.
- */
- s.sem_num = 0;
- s.sem_op = 1;
- s.sem_flg = SEM_UNDO;
-
- tst_resm (semop(semid, &s, 1) == -1 ? TFAIL : TPASS,
- "waiter: semop +1");
-
- /* Allow parent to receive message before getting SIGCHLD. */
- sleep (1);
- exit(0);
-}
diff --git a/winsup/testsuite/winsup.api/shmtest.c b/winsup/testsuite/winsup.api/shmtest.c
deleted file mode 100644
index 54a2493a8..000000000
--- a/winsup/testsuite/winsup.api/shmtest.c
+++ /dev/null
@@ -1,293 +0,0 @@
-/*-
- * Copyright (c) 1999 The NetBSD Foundation, Inc.
- * All rights reserved.
- *
- * This code is derived from software contributed to The NetBSD Foundation
- * by Jason R. Thorpe of the Numerical Aerospace Simulation Facility,
- * NASA Ames Research Center.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgement:
- * This product includes software developed by the NetBSD
- * Foundation, Inc. and its contributors.
- * 4. Neither the name of The NetBSD Foundation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
- * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
- * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- * Obtained from: $NetBSD: shmtest.c,v 1.3 2002/07/20 08:36:26 grant Exp $
- * $FreeBSD: /repoman/r/ncvs/src/tools/regression/sysvshm/shmtest.c,v 1.1 2002/08/15 06:34:37 alfred Exp $
- */
-
-/*
- * Test the SVID-compatible Shared Memory facility.
- */
-
-#include <sys/param.h>
-#include <sys/ipc.h>
-#include <sys/shm.h>
-#include <sys/wait.h>
-
-#include <err.h>
-#include <errno.h>
-#include <signal.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <time.h>
-
-#include "test.h"
-#include "usctest.h"
-
-const char *TCID = "shmtest"; /* Test program identifier. */
-int TST_TOTAL = 22; /* Total number of test cases. */
-extern int Tst_count; /* Test Case counter for tst_* routines */
-
-int main __P((int, char *[]));
-void print_shmid_ds __P((struct shmid_ds *, mode_t));
-void sigsys_handler __P((int));
-void sigchld_handler __P((int));
-void cleanup __P((void));
-void receiver __P((void));
-
-const char *m_str = "The quick brown fox jumped over the lazy dog.";
-
-int sender_shmid = -1;
-pid_t child_pid;
-
-key_t shmkey;
-
-size_t pgsize;
-
-int
-main(argc, argv)
- int argc;
- char *argv[];
-{
- struct sigaction sa;
- struct shmid_ds s_ds;
- sigset_t sigmask;
- char *shm_buf;
-
- Tst_count = 0;
-
- /*
- * Install a SIGSYS handler so that we can exit gracefully if
- * System V Shared Memory support isn't in the kernel.
- */
- sa.sa_handler = sigsys_handler;
- sigemptyset(&sa.sa_mask);
- sa.sa_flags = 0;
- if (sigaction(SIGSYS, &sa, NULL) == -1)
- tst_brkm (TBROK, cleanup, "sigaction SIGSYS");
-
- /*
- * Install and SIGCHLD handler to deal with all possible exit
- * conditions of the receiver.
- */
- sa.sa_handler = sigchld_handler;
- sigemptyset(&sa.sa_mask);
- sa.sa_flags = 0;
- if (sigaction(SIGCHLD, &sa, NULL) == -1)
- tst_brkm (TBROK, cleanup, "sigaction SIGCHLD");
-
- pgsize = sysconf(_SC_PAGESIZE);
-
- shmkey = ftok("/", 4160);
- tst_resm (shmkey == (key_t)-1 ? TFAIL : TPASS,
- "ftok(\"/\") returns valid value");
-
- /*
- * Initialize child_pid to ourselves to that the cleanup function
- * works before we create the receiver.
- */
- child_pid = getpid();
-
- sender_shmid = shmget(shmkey, pgsize, IPC_CREAT | 0640);
- tst_resm (sender_shmid == -1 ? TFAIL : TPASS, "sender calls shmget");
-
- tst_resm (shmctl(sender_shmid, IPC_STAT, &s_ds) == -1 ? TFAIL : TPASS,
- "shmctl IPC_STAT");
-
- print_shmid_ds(&s_ds, 0640);
-
- s_ds.shm_perm.mode = (s_ds.shm_perm.mode & ~0777) | 0600;
-
- tst_resm (shmctl(sender_shmid, IPC_SET, &s_ds) == -1 ? TFAIL : TPASS,
- "shmctl IPC_SET");
-
- memset(&s_ds, 0, sizeof(s_ds));
-
- tst_resm (shmctl(sender_shmid, IPC_STAT, &s_ds) == -1 ? TFAIL : TPASS,
- "shmctl IPC_STAT");
-
- tst_resm ((s_ds.shm_perm.mode & 0777) != 0600 ? TFAIL : TPASS,
- "IPC_SET of mode holds");
-
- print_shmid_ds(&s_ds, 0600);
-
- tst_resm ((shm_buf = shmat(sender_shmid, NULL, 0)) == (void *) -1
- ? TFAIL : TPASS, "sender: shmat");
-
- /*
- * Write the test pattern into the shared memory buffer.
- */
- strcpy(shm_buf, m_str);
-
- switch ((child_pid = fork())) {
- case -1:
- tst_brkm (TBROK, cleanup, "fork");
- /* NOTREACHED */
-
- case 0:
- tst_resm (TPASS, "fork");
- receiver();
- break;
-
- default:
- Tst_count += 4;
- break;
- }
-
- /*
- * Suspend forever; when we get SIGCHLD, the handler will exit.
- */
- sigemptyset(&sigmask);
- (void) sigsuspend(&sigmask);
-
- /*
- * ...and any other signal is an unexpected error.
- */
- tst_brkm (TBROK, cleanup, "sender: received unexpected signal");
- exit (1);
-}
-
-void
-sigsys_handler(signo)
- int signo;
-{
-
- tst_brkm (TBROK, cleanup,
- "System V Shared Memory support is not present in the kernel");
-}
-
-void
-sigchld_handler(signo)
- int signo;
-{
- struct shmid_ds s_ds;
- int cstatus;
-
- /*
- * Reap the child; if it exited successfully, then the test passed!
- */
- if (waitpid(child_pid, &cstatus, 0) != child_pid)
- tst_brkm (TBROK, cleanup, "waitpid");
-
- if (WIFEXITED(cstatus) == 0)
- tst_brkm (TBROK, cleanup, "receiver exited abnormally");
-
- if (WEXITSTATUS(cstatus) != 0)
- tst_brkm (TBROK, cleanup, "receiver exited with status %d",
- WEXITSTATUS(cstatus));
-
- /*
- * If we get here, the child has exited normally, and thus
- * we should exit normally too. First, tho, we print out
- * the final stats for the message queue.
- */
-
- tst_resm (shmctl(sender_shmid, IPC_STAT, &s_ds) == -1 ? TFAIL : TPASS,
- "shmctl IPC_STAT");
-
- print_shmid_ds(&s_ds, 0600);
-
- cleanup ();
-}
-
-void
-cleanup()
-{
-
- /*
- * If we're the sender, and it exists, remove the shared memory area.
- */
- if (child_pid != 0 && sender_shmid != -1) {
- tst_resm (shmctl(sender_shmid, IPC_RMID, NULL) == -1
- ? TFAIL : TPASS, "shmctl IPC_RMID");
- }
- tst_exit ();
-}
-
-void
-print_shmid_ds(sp, mode)
- struct shmid_ds *sp;
- mode_t mode;
-{
- uid_t uid = geteuid();
- gid_t gid = getegid();
-
- printf("PERM: uid %d, gid %d, cuid %d, cgid %d, mode 0%o\n",
- (int)sp->shm_perm.uid, (int)sp->shm_perm.gid,
- (int)sp->shm_perm.cuid, (int)sp->shm_perm.cgid,
- sp->shm_perm.mode & 0777);
-
- printf("segsz %lu, lpid %d, cpid %d, nattch %u\n",
- (u_long)sp->shm_segsz, sp->shm_lpid, sp->shm_cpid,
- sp->shm_nattch);
-
- printf("atime: %s", ctime(&sp->shm_atime));
- printf("dtime: %s", ctime(&sp->shm_dtime));
- printf("ctime: %s", ctime(&sp->shm_ctime));
-
- /*
- * Sanity check a few things.
- */
-
- tst_resm (sp->shm_perm.uid != uid || sp->shm_perm.cuid != uid
- ? TFAIL : TPASS, "uid matches");
-
- tst_resm (sp->shm_perm.gid != gid || sp->shm_perm.cgid != gid
- ? TFAIL : TPASS, "gid matches");
-
- tst_resm ((sp->shm_perm.mode & 0777) != mode ? TFAIL : TPASS,
- "mode matches");
-}
-
-void
-receiver()
-{
- int shmid;
- void *shm_buf;
-
- tst_resm ((shmid = shmget(shmkey, pgsize, 0)) == -1 ? TFAIL : TPASS,
- "receiver: shmget");
-
- tst_resm ((shm_buf = shmat(shmid, NULL, 0)) == (void *) -1
- ? TFAIL : TPASS, "receiver: shmat");
-
- printf("%s\n", (const char *)shm_buf);
- tst_resm (strcmp((const char *)shm_buf, m_str) != 0 ? TFAIL : TPASS,
- "receiver: data is correct");
-
- exit(0);
-}
diff --git a/winsup/testsuite/winsup.api/sigchld.c b/winsup/testsuite/winsup.api/sigchld.c
deleted file mode 100644
index b12876d4a..000000000
--- a/winsup/testsuite/winsup.api/sigchld.c
+++ /dev/null
@@ -1,22 +0,0 @@
-#include <sys/types.h>
-#include <unistd.h>
-#include <signal.h>
-#include <stdlib.h>
-
-int no_signal_caught = 1;
-
-void handler ( int signo )
-{
- no_signal_caught = 0;
-}
-
-int
-main()
-{
- pid_t pid;
- signal ( SIGCHLD, handler );
- pid = fork();
- if ( pid == 0 ) exit ( 0 );
- sleep ( 2 );
- exit ( no_signal_caught );
-}
diff --git a/winsup/testsuite/winsup.api/signal-into-win32-api.c b/winsup/testsuite/winsup.api/signal-into-win32-api.c
deleted file mode 100755
index 57ab8b5c8..000000000
--- a/winsup/testsuite/winsup.api/signal-into-win32-api.c
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * Test if signal is delivered to the application which is
- * currently inside of native syscall
- */
-
-#include <errno.h>
-#include <signal.h>
-#include <stdio.h>
-#include <unistd.h>
-#include <windows.h>
-
-int saw_sigchld = 0;
-int sleep_stage = -1;
-
-void
-handle_child (int signo)
-{
- printf ( "saw SIGCHLD, %d", sleep_stage);
- saw_sigchld = 1;
-}
-
-int
-main (int argc, char** argv)
-{
- pid_t pid;
- if (argc > 1)
- {
- Sleep (200);
- return 0;
- }
-
- signal (SIGCHLD, handle_child);
- pid = fork ();
- if (pid < 0)
- {
- perror ( "fork" );
- return 2;
- }
- else if (pid == 0)
- execl ( argv[0], argv[0], "child", NULL );
- else
- {
- sleep_stage = 0;
- Sleep (3000);
- sleep_stage = 1;
- sleep (10);
- sleep_stage = 2;
- if (!saw_sigchld)
- {
- printf ( "oops\n" );
- kill (pid, SIGTERM);
- return 1;
- }
- else
- return 0;
- }
- exit (0);
-}
diff --git a/winsup/testsuite/winsup.api/systemcall.c b/winsup/testsuite/winsup.api/systemcall.c
deleted file mode 100644
index 91dd748c0..000000000
--- a/winsup/testsuite/winsup.api/systemcall.c
+++ /dev/null
@@ -1,68 +0,0 @@
-#include <stdio.h>
-#include <stdlib.h>
-#include <unistd.h>
-#include <fcntl.h>
-#include <errno.h>
-#include <string.h>
-#include <sys/wait.h>
-
-int
-main (int argc, char **argv)
-{
- int fd, pid, n;
- int fds[2];
- static char buf[4096];
-
- close (0);
- if ((fd = open ("/dev/null", O_WRONLY)) != 0)
- {
- fprintf (stderr, "couldn't redirect stdin to /dev/null, fd %d - %s\n", fd, strerror (errno));
- exit (1);
- }
-
- close (1);
- if ((fd = open ("/dev/null", O_WRONLY)) != 1)
- {
- fprintf (stderr, "couldn't redirect stdout to /dev/null, fd %d - %s\n", fd, strerror (errno));
- exit (1);
- }
- if (pipe (fds))
- {
- fprintf (stderr, "pipe call failed - %s\n", strerror (errno));
- exit (1);
- }
- if ((pid = fork ()) == 0)
- {
- close (fds[0]);
- if (dup2 (fds[1], 2) != 2)
- {
- fprintf (stderr, "couldn't redirect stderr to pipe - %s\n", strerror (errno));
- exit (1);
- }
- exit (system ("ls"));
- }
- else if (pid < 0)
- {
- perror ("couldn't fork");
- exit (1);
- }
-
- close (fds[1]);
- if (read (fds[0], buf, 4096) != 0)
- {
- fprintf (stderr, "system() call failed?\n%s\n", buf);
- exit (1);
- }
-
- if (waitpid (pid, &n, 0) < 0)
- {
- perror ("waitpid failed");
- exit (1);
- }
- if (n != 0)
- {
- fprintf (stderr, "system() call returned %p\n", (void *) n);
- exit (1);
- }
- exit (0);
-}
diff --git a/winsup/testsuite/winsup.api/waitpid.c b/winsup/testsuite/winsup.api/waitpid.c
deleted file mode 100644
index ee2925c4c..000000000
--- a/winsup/testsuite/winsup.api/waitpid.c
+++ /dev/null
@@ -1,24 +0,0 @@
-#include <stdio.h>
-#include <sys/wait.h>
-#include <errno.h>
-#include <unistd.h>
-#include <stdlib.h>
-
-int
-main (int argc, char **argv)
-{
- int pid, n;
- if ((pid = fork ()) == 0)
- exit (0);
- sleep (2);
- if ((n = waitpid (pid, NULL, 0)) != pid)
- {
- printf ("wait pid failed, pid %d, n %d, errno %d\n", pid, n, errno);
- exit(1);
- }
- else
- {
- printf ("wait pid succeeded, pid %d, n %d, errno %d\n", pid, n, errno);
- exit (0);
- }
-}
diff --git a/winsup/testsuite/winsup.api/winsup.exp b/winsup/testsuite/winsup.api/winsup.exp
deleted file mode 100644
index 26d3af0d2..000000000
--- a/winsup/testsuite/winsup.api/winsup.exp
+++ /dev/null
@@ -1,81 +0,0 @@
-source "site.exp"
-source "$srcdir/winsup.api/known_bugs.tcl"
-
-if { ! [isnative] } {
- verbose "skipping winsup.api because it's not native"
- return
-}
-
-set rv ""
-
-set ltp_includes "-I$ltp_includes"
-set ltp_libs "$rootme/libltp.a"
-
-set add_includes $ltp_includes
-set add_libs $ltp_libs
-
-set test_filter ""
-
-if { [info exists env(CYGWIN_TESTSUITE_TESTS)] } {
- set test_filter "$env(CYGWIN_TESTSUITE_TESTS)"
-}
-
-proc ws_spawn {cmd args} {
- global rv
- verbose "running $cmd\n"
- catch "exec $cmd" rv
- verbose send "catchCode = $rv\n"
-}
-
-verbose "Filter: $test_filter"
-
-foreach src [glob -nocomplain $srcdir/$subdir/*.c $srcdir/$subdir/*/*.c] {
- if { $test_filter != "" && ! [regexp $test_filter $src] } {
- verbose -log "Skipping $src"
- continue
- }
-
- regsub "^$srcdir/$subdir/" $src "" testcase
- regsub ".c$" $testcase "" base
- regsub ".*/" $base "" basename
- regsub "/" $base "-" base
-
- if { [lsearch -exact $xfail_list $basename] >= 0 } {
- set xfail_expected 1
- setup_xfail "*-*-*"
- } else {
- set xfail_expected 0
- clear_xfail
- }
-
- ws_spawn "$CC -nodefaultlibs -mwin32 $CFLAGS $src $add_includes $add_libs $runtime_root/binmode.o -lgcc $runtime_root/libcygwin0.a -lkernel32 -luser32 -o $base.exe"
- if { $rv != "" } {
- verbose -log "$rv"
- fail "$testcase (compile)"
- } else {
- if { $verbose } {
- set redirect_output "./$base.log"
- } else {
- set redirect_output /dev/null
- }
- ws_spawn "$rootme/cygrun ./$base.exe > $redirect_output"
- if { $rv != "" } {
- verbose -log "$testcase: $rv"
- fail "$testcase (execute)"
- if { $xfail_expected } {
- catch { file delete "$base.exe" } err
- if { $err != "" } {
- note "error deleting $base.exe: $err"
- }
- }
- } else {
- pass "$testcase"
- if { ! $xfail_expected } {
- catch { file delete "$base.exe" } err
- if { $err != "" } {
- note "error deleting $base.exe: $err"
- }
- }
- }
- }
-}
diff --git a/winsup/utils/ChangeLog b/winsup/utils/ChangeLog
deleted file mode 100644
index 53ef8b86b..000000000
--- a/winsup/utils/ChangeLog
+++ /dev/null
@@ -1,1758 +0,0 @@
-2005-11-22 Brian Dessent <brian@dessent.net>
-
- * Makefile.in: Link cygcheck with libwininet.a.
- * cygcheck.cc: Add includes.
- (grep_packages): New global variable.
- (display_internet_error): New function.
- (safe_chars): New global variable.
- (base_url): Ditto.
- (package_grep): New function.
- (usage): Reword --help output for clarity. Document new argument.
- (longopts): Add 'package-query' option.
- (opts): Add 'p' option, reorder to be consistent with 'longopts'.
- (main): Accommodate new option.
- * utils.sgml (cygcheck): Update --help output. Document new -p option.
-
-2005-09-22 Corinna Vinschen <corinna@vinschen.de>
-
- Align error message handling to mkpasswd's error messages throughout.
- * mkgroup.c (print_win_error): Create macro calling ...
- (_print_win_error): ... this function created from former
- print_win_error. Move up in source.
- (PDOMAIN_CONTROLLER_INFOW): Define return type of DsGetDcNameW.
- (dsgetdcname): New function pointer for DsGetDcNameW.
- (load_netapi): Get DsGetDcNameW address.
- (main): If DsGetDcNameW is available, use it.
- * mkpasswd.c (PDOMAIN_CONTROLLER_INFOW): Define return type of
- DsGetDcNameW.
- (dsgetdcname): New function pointer for DsGetDcNameW.
- (load_netapi): Get DsGetDcNameW address.
- (main): If DsGetDcNameW is available, use it. Rename local variable
- domain_name_specified to domain_specified as in mkgroup.c.
-
-2005-09-08 Bas van Gompel <cygwin-patch.buzz@bavag.tmfweb.nl>
-
- * regtool.cc: Extend copyright-years.
- (print_version): Ditto.
- (cmd_list): Don't depend on terminating '\0' being present on
- string-values.
- (cmd_get): Don't attempt to read more than present, but keep
- extra space for terminating '\0'. Really output REG_BINARY.
- Don't leak memory.
- (cmd_set): Include trailing '\0' in string's length.
-
-2005-08-18 Corinna Vinschen <corinna@vinschen.de>
-
- * passwd.c (longopts): Add --logonserver option.
- (opts): Add -d option.
- (GetPW): Add server parameter which is given to Net functions.
- (ChangePW): Ditto.
- (PrintPW): Ditto.
- (SetModals): Ditto.
- (usage): Add description for -d/--logonserver option.
- (main): Add option handling for -d/--logonserver. Use LOGONSERVER
- environment variable content for server to contact, unless
- -d/--logonserver option is given. If both is missing, use NULL.
-
-2005-08-16 Brian Dessent <brian@dessent.net>
-
- * cygcheck.cc (dump_sysinfo_services): Properly null-terminate 'buf'.
- Avoid extraneous cygrunsrv invocation if 'verbose' is true.
-
-2005-08-03 Corinna Vinschen <corinna@vinschen.de>
-
- * mount.cc (longopts): Fix typo which disallows --options option.
-
-2005-07-19 Christopher Faylor <cgf@timesys.com>
- Eric Blake <ebb9@byu.net>
-
- * cygcheck.cc (find_on_path): Perform .exe magic on non-PATH search.
-
-2005-07-05 Eric Blake <ebb9@byu.net>
-
- * cygcheck.cc (track_down, cygcheck): Return true on success.
- (main): Reflect cygcheck failures in exit status.
-
-2005-06-14 Corinna Vinschen <corinna@vinschen.de>
-
- * parse_pe.c (exclusion::sort_and_check): Remove crude cast.
-
-2005-05-30 Corinna Vinschen <corinna@vinschen.de>
-
- * cygcheck.cc (dump_sysinfo): Recognize XP Media Center and Tablet PC
- Editions. Change .NET to 2003 throughout. Recognize 2003 Web Server
- and Datacenter Server. Report when running in terminal server session.
-
-2005-05-27 Christopher Faylor <cgf@timesys.com>
-
- * cygcheck.cc (load_cygwin): Make half-hearted attempt to work with
- older DLLs.
- * strace.cc (load_cygwin): Ditto.
-
-2005-05-22 Brian Dessent <brian@dessent.net>
-
- * cygcheck.cc (dump_sysinfo_services): Add new function that uses
- new cygrunsrv options to dump service info.
- (dump_sysinfo): Call dump_sysinfo_services if running under NT.
- Change 'Cygnus' to 'Cygwin' in output.
-
-2005-05-20 Christopher Faylor <cgf@timesys.com>
-
- * cygcheck.cc (load_cygwin): Remove debugging statement.
-
-2005-05-20 Christopher Faylor <cgf@timesys.com>
-
- * cygcheck.cc (dump_sysinfo): Don't attempt to use path if it is not
- set.
- (nuke): Fix off by one error in allocation of environment variable.
- (load_cygwin): Always set PATH even if cygwin environment is empty.
-
-2005-05-16 Christopher Faylor <cgf@timesys.com>
-
- * cygcheck.cc (cygwin_internal): Define as a "C" function.
- * strace.cc (cygwin_internal): Ditto.
-
- * cygpath.cc (print_version): Update copyright.
-
-2005-05-15 Christopher Faylor <cgf@timesys.com>
-
- * cygcheck.cc (load_cygwin): Avoid calling putenv with a NULL path.
-
-2005-05-15 Corinna Vinschen <corinna@vinschen.de>
-
- * cygcheck.cc (load_cygwin): Don't touch $PATH for now.
- (print_version): Fix copyright.
- * strace.cc (print_version): Ditto.
-
-2005-05-13 Christopher Faylor <cgf@timesys.com>
-
- * mount.cc (mount_commands): Display "-X" option when appropriate.
-
-2005-05-08 Christopher Faylor <cgf@timesys.com>
-
- * cygcheck.cc (nuke): New function.
- (load_cygwin): New function.
- (main): Use load_cygwin to load argv/envp from cygwin environment, if
- appropriate.
-
-2005-05-08 Christopher Faylor <cgf@timesys.com>
-
- * strace.cc (attach_process): Don't call load_cygwin(). Assume that
- it's already happened.
- (dotoggle): Ditto.
- (main): Set argv from cygwin environment, if it exists.
-
-2005-05-01 Christopher Faylor <cgf@timesys.com>
-
- * mount.cc (usage): Clarify action of -m option.
-
-2005-04-29 Dave Korn <dave.korn@artimi.com>
-
- * path.cc (getmntent): Add previously-omitted 'noexec' and 'managed'
- flags to mnt_opts string if present in mount flags.
-
-2005-04-20 Brian Dessent <brian@dessent.net>
-
- * utils.sgml (mount): Clarify setting cygdrive prefix for user
- and system-wide.
-
-2005-03-24 Brian Dessent <brian@dessent.net>
-
- * cygcheck.cc (init_paths): Use full path instead of "." for the
- current directory. Do not add "." if present in $PATH.
- (dump_sysinfo): Skip placeholder first value of paths[].
-
-2005-03-07 Christopher Faylor <cgf@timesys.com>
-
- * kill.cc (getsig): Rectify bug introduced by 2005-02-26 change. Don't
- pad signal name with spaces.
-
-2005-03-07 Corinna Vinschen <corinna@vinschen.de>
-
- * strace.cc (handle_output_debug_string): Fix compiler warning.
-
-2005-03-06 Christopher Faylor <cgf@timesys.com>
-
- * cygpath.cc (usage): Pass in one more copy of program_name to printf
- to avoid a SEGV.
-
-2005-02-27 Christopher Faylor <cgf@timesys.com>
-
- * regtool.cc (opts): The argument to 'K' is not optional.
- (main): Revert previous change. Just let getopt deal with missing
- argument.
-
-2005-02-27 Christopher Faylor <cgf@timesys.com>
-
- * regtool.cc (main): Avoid a SEGV when nothing follows -K.
-
-2005-02-26 Christopher Faylor <cgf@timesys.com>
-
- * kill.cc (getsig): Avoid buffer overflow when generating a signal name.
-
- * strace.cc (handle_output_debug_string): Make error a little more specific.
-
-2005-02-23 Joshua Daniel Franklin <joshuadfranklin@yahoo.com>
-
- * cygpath.cc (usage): Clarify help output to indicate acceptance
- of multiple file names as arguments.
-
-2005-01-16 Christopher Faylor <cgf@timesys.com>
-
- * ps.cc (main): Eliminate use of PID_ZOMBIE.
- * strace.cc (main): Recognize new option for displaying hex value of
- strace type.
- (handle_output_debug_string): Prepend output with hex value of strace
- message if -H is specified.
-
-2005-01-11 Pierre Humblet <pierre.humblet@ieee.org>
-
- * mkpasswd.c (print_win_error): Transform into macro.
- (_print_win_error): Upgrade former print_win_error by
- printing the line.
- (current_user): Call _print_win_error.
- (enum_users): Print name in case of lookup failure.
- (enum_local_groups): Ditto.
-
-2004-11-18 Bas van Gompel <cygwin-patch.buzz@bavag.tmfweb.nl>
-
- * cygcheck.cc (eprintf): New function.
-
-2004-11-16 Bas van Gompel <cygwin-patch.buzz@bavag.tmfweb.nl>
-
- * cygcheck.cc (find_on_path): Clear show_error and/or print_failed
- parameters to display_error.
- (rva_to_offset): Ditto.
- (dll_info): Ditto.
- (track_down): Ditto.
-
-2004-11-13 Pierre Humblet <pierre.humblet@ieee.org>
-
- * kill.cc (forcekill): Do not pass negative pids to
- cygwin_internal. Check if sig == 0. Improve error messages.
- (main): Make pid a long long and distinguish between pids, gpids
- (i.e. negative pids) and Win9x pids.
-
-2004-11-11 Bas van Gompel <cygwin-patch.buzz@bavag.tmfweb.nl>
-
- * cygcheck.cc: Change "keyeprint" to "display_error" throughout.
-
-2004-11-11 Christopher Faylor <cgf@timesys.com>
-
- * cygcheck.cc (main): Allow a '-l' without an additional argument.
-
-2004-11-11 Bas van Gompel <cygwin-patch.buzz@bavag.tmfweb.nl>
-
- * cygcheck.cc (keyeprint): New optional parameters: show_error and
- print_failed.
-
-2004-10-31 Bas van Gompel <cygwin-patch.buzz@bavag.tmfweb.nl>
-
- * cygcheck.cc (get_dword): Fix errormessage.
- (cygwin_info): Ditto.
- (track_down): Ditto.
- (check_keys): Ditto.
-
-2004-10-27 Bas van Gompel <cygwin-patch.buzz@bavag.tmfweb.nl>
-
- * cygcheck.cc (dump_sysinfo): Warn about missing or multiple cygwin1
- dlls.
-
-2004-10-25 Bas van Gompel <cygwin-patch.buzz@bavag.tmfweb.nl>
-
- * cygcheck.cc (dump_sysinfo): Add leading newline before legend for
- drive-list.
-
-2004-10-22 Bas van Gompel <cygwin-patch.buzz@bavag.tmfweb.nl>
-
- * cygcheck.cc (dump_sysinfo): In legend for drive-list: Add ``ram'' and
- ``unk''. Use single puts. Add leading newline. Line up equal-signs.
-
-2004-10-20 Bas van Gompel <cygwin-patch.buzz@bavag.tmfweb.nl>
-
- * cygcheck.cc (dump_sysinfo): Allow for larger drives in drive-list.
- Change ``Used'' to ``Free'' in helptext-title for drive-list.
-
-2004-10-18 Bas van Gompel <cygwin-patch.buzz@bavag.tmfweb.nl>
-
- * cygcheck.cc (pretty_id): Don't let i become negative. Fix
- printf-format.
-
-2004-10-17 Bas van Gompel <cygwin-patch.buzz@bavag.tmfweb.nl>
-
- * cygcheck.cc (pretty_id): Allocate space for ')' in uid and guid.
-
-2004-10-17 Bas van Gompel <cygwin-patch.buzz@bavag.tmfweb.nl>
- Christopher Faylor <cgf@timesys.com>
-
- * cygcheck.cc (pretty_id): Allocate space for trailing '\0' in uid and
- guid.
-
-2004-10-15 Bas van Gompel <cygwin-patch.buzz@bavag.tmfweb.nl>
- Christopher Faylor <cgf@timesys.com>
-
- * cygcheck.cc (pretty_id): Don't exit on id error. Fix size
- calculations.
-
-2004-10-14 Christopher Faylor <cgf@timesys.com>
- Bas van Gompel <cygwin-patch.buzz@bavag.tmfweb.nl>
-
- * cygcheck.cc (pretty_id): Correct column calculations. Abort if id is
- acting funny.
-
-2004-10-10 Bas van Gompel <cygwin-patch.buzz@bavag.tmfweb.nl>
-
- * cygcheck.cc (add_path): Don't leak memory when path is already in
- ``paths''.
-
-2004-10-10 Bas van Gompel <cygwin-patch.buzz@bavag.tmfweb.nl>
-
- * cygcheck.cc (dump_sysinfo): Warn about trailing (back)slash on mount
- entries.
-
-2004-10-10 Bas van Gompel <cygwin-patch.buzz@bavag.tmfweb.nl>
-
- * cygcheck.cc (dump_sysinfo): Don't warn about empty path components,
- just display ``.''.
-
-2004-10-06 Corinna Vinschen <corinna@vinschen.de>
-
- * strace.cc (_impure_ptr): Remove.
-
-2004-10-06 Bas van Gompel <cygwin-patch.buzz@bavag.tmfweb.nl>
-
- * cygcheck.cc (dump_sysinfo): Warn about empty path components.
-
-2004-10-04 Bas van Gompel <cygwin-patch.buzz@bavag.tmfweb.nl>
-
- * cygcheck.cc (pretty_id): Close pipe.
-
-2004-09-23 Bas van Gompel <cygwin-patch.buzz@bavag.tmfweb.nl>
-
- * dump_setup.cc (dump_setup): Remove unneeded strlen when check_files
- is not set.
-
-2004-09-22 Bas van Gompel <cygwin-patch.buzz@bavag.tmfweb.nl>
- Corinna Vinschen <corinna@vinschen.de>
-
- * dump_setup.cc (dump_setup): Avoid trailing spaces on package-list.
-
-2004-09-15 Bas van Gompel <cygwin-patch.buzz@bavag.tmfweb.nl>
-
- * getfacl.c (main): Correct layout when nopt is set.
-
-2004-07-12 Igor Pechtchanski <pechtcha@cs.nyu.edu>
-
- * mkgroup.cc (netapibufferallocate,netgroupgetinfo): New function
- pointers.
- (load_netapi): Load NetApiBufferAllocate and NetGroupGetInfo.
- (enum_local_groups,enum_groups): Add disp_groupname parameter.
- Load info for disp_groupname if specified.
- (usage): Add description of "-g/--group" option.
- (longopts,opts): Add "-g/--group" option.
- (main): Process "-g/--group" option.
- * utils.sgml (mkgroup): Add description of "-g/--group" option
-
-2004-06-15 Alan Modra <amodra@bigpond.net.au>
-
- * dumper.cc (dumper::prepare_core_dump): Use bfd_get_section_size
- instead of _raw_size.
- (dumper::write_core_dump): Likewise.
- * parse_pe.cc (select_data_section): Likewise.
-
-2004-05-29 John Paul Wallington <jpw@gnu.org>
-
- * ssp.c (usage): Add missing linefeed.
-
-2004-05-27 Christopher Faylor <cgf@alum.bu.edu>
-
- * kill.cc (listsig): Fix "kill -l" segv. NSIG includes Signal 0, so we
- need to avoid calling strtosigno with NSIG - 1.
-
-2004-03-21 Christopher Faylor <cgf@redhat.com>
-
- * cygcheck.cc (dump_sysinfo): Remove "Win95/NT" from output.
-
-2004-03-15 Christopher Faylor <cgf@redhat.com>
-
- * cygpath.cc (usage): Don't issue helpful message if -i is used.
- (from Igor Pechtchanski)
-
-2004-03-13 Rob Siklos <rob2@siklos.ca>
-
- * kill.cc (get_debug_priv): New function.
- (forcekill): Call get_debug_priv before trying to kill process.
-
-2004-02-24 Christopher Faylor <cgf@redhat.com>
-
- * cygpath.cc (long_options): Add "mode" option.
- (options): Ditto.
- (usage): Report on new option.
- (report_mode): New function.
- (main): Implement -M option.
-
-2004-02-20 Christopher Faylor <cgf@redhat.com>
-
- * Makefile.in (build_dumper): Detect missing iconv library.
-
- * cygpath.cc (dowin): Report on filename conversion errors.
- (doit): Ditto.
-
- * strace.cc (main): Use symbolic constant for _STRACE_ALL when setting
- mask.
-
-2004-02-14 Corinna Vinschen <corinna@vinschen.de>
-
- * ssp.c (opts): Add leading '+' to force posixly correct behaviour.
-
-2004-02-11 Corinna Vinschen <corinna@vinschen.de>
-
- * strace.cc (opts): Add leading '+' to force posixly correct
- behaviour.
- (main): Revert POSIXLY_CORRECT manipulations.
-
-2004-02-10 Christopher Faylor <cgf@redhat.com>
-
- * strace.cc (main): Guard against previous setting of POSIXLY_CORRECT.
-
-2004-02-10 Christopher Faylor <cgf@redhat.com>
-
- * strace.cc: Update copyrights.
- * cygcheck.cc: Update copyrights.
-
-2004-02-10 Christopher Faylor <cgf@redhat.com>
-
- * strace.cc (main): Ensure POSIXLY_CORRECT argument ordering.
- * cygcheck.cc (main): Ditto.
-
-2004-01-23 Christopher Faylor <cgf@redhat.com>
-
- * cygcheck.cc (pretty_id): Make more robust in absence of id.exe.
-
-2004-01-22 Corinna Vinschen <corinna@vinschen.de>
-
- * cygpath.cc (dowin): Revert accidental checkin from November.
-
-2003-11-26 Corinna Vinschen <corinna@vinschen.de>
-
- * mkgroup.c (main): Print "root" group with local admins group sid
- and gid 0.
-
-2003-11-19 Corinna Vinschen <corinna@vinschen.de>
-
- * Makefile.in: Add rules to build ipcrm and ipcs.
- * ipcrm.c: New file.
- * ipcs.c: New file.
-
-2003-11-14 Corinna Vinschen <corinna@vinschen.de>
-
- * mkgroup.c: Avoid compiler warnings throughout.
- * mkpasswd.c: Ditto.
- * passwd.c: Ditto.
-
-2003-11-07 Mark Blackburn <marklist@fangorn.ca>
-
- * cygpath.cc (main): Allow multiple pathnames on command line.
-
-2003-11-04 Corinna Vinschen <corinna@vinschen.de>
-
- * passwd.c (PrintPW): Turn around meaning printed for "Password not
- required" option to be in line with Windows meaning.
- (main): Use more appropriate 1008 option when calling
- NetUserSetInfo to change flag values.
-
-2003-11-04 Corinna Vinschen <corinna@vinschen.de>
-
- * passwd.c (UF_LOCKOUT): Remove (defined in lmaccess.h).
- (version): Bump version number to 1.5.
- (longopts): Add -c, -C, -e, -E, -p, -P options.
- (opts): Ditto.
- (PrintPW): Print values of UF_PASSWD_CANT_CHANGE and
- UF_DONT_EXPIRE_PASSWD flags. Slightly reformat output. Don't suppress
- correct system password settings just because the account has admin
- privileges.
- (usage): Define as "noreturn" function. Restructure and rephrase
- output. Accommodate new options.
- (print_version): Fix copyright dates.
- (main): Accommodate new options for setting UF_PASSWD_CANT_CHANGE,
- UF_DONT_EXPIRE_PASSWD and UF_PASSWD_NOTREQD settings.
-
-2003-10-17 Christopher Faylor <cgf@redhat.com>
-
- * cygcheck.cc (pretty_id): Don't exec if `id' program is not found.
-
-2003-09-20 Christopher Faylor <cgf@redhat.com>
-
- * kill.cc (main): Allow negative pids (indicates process groups).
-
-2003-09-17 Christopher Faylor <cgf@redhat.com>
-
- * parse_pe.cc (exclusion::sort_and_check): Make error message a little
- more explicit and ignore (hopefully) harmless region overlap.
-
-2003-09-13 Christopher Faylor <cgf@redhat.com>
-
- * kill.c (forcekill): Wait for process to terminate even if
- TerminateProcess says it failed.
-
-2003-09-11 Christopher Faylor <cgf@redhat.com>
-
- * Makefile.in: Tweak mingw libz.a detection to make it more reliably
- detect when libz.a is not available.
-
-2003-09-11 Igor Pechtchanski <pechtcha@cs.nyu.edu>
-
- * cygcheck.cc (dump_only): New global variable.
- (usage): Add "--dump-only" option, fix "--verbose" line.
- (longopts, opts): Add "--dump-only" option.
- (main): Process the "--dump-only" flag. Add new semantic check.
- Pass dump_only information to dump_setup().
-
-2003-09-11 Corinna Vinschen <corinna@vinschen.de>
-
- * getfacl (main): Remove extern declaration of optind.
- * setfacl (main): Remove extern declaration of optarg and optind.
-
-2003-09-10 Christopher Faylor <cgf@redhat.com>
-
- * Makefile.in (cygcheck.o): Use MINGW_CXX for compilation.
- * cygcheck.cc: Just include <getopt.h> rather than cygwin version.
- (pretty_id): Avoid compiler warnings.
- * cygpath.cc (usage): Ditto.
-
-2003-09-10 Christopher Faylor <cgf@redhat.com>
-
- * Makefile.in (MINGW_CXX): Define and use for mingw-compiled files.
- * path.cc: Include more path info in cygwin-specific includes since the
- cygwin directory is no longer included by default.
-
-2003-09-10 Christopher Faylor <cgf@redhat.com>
-
- * Makefile.in: More fixups to adjust for the fact that mingw_getopt.o
- is no longer built.
-
-2003-09-10 Christopher Faylor <cgf@redhat.com>
-
- * Makefile.in: Remove references to getopt since it is now part of
- mingwex.
-
-2003-09-08 Christopher Faylor <cgf@redhat.com>
-
- * Makefile.in: Rename libz.h -> zlib.h.
-
-2003-09-07 Christopher Faylor <cgf@redhat.com>
-
- * Makefile.in: Detect existence of mingw zlib headers and libraries.
- Build cygcheck without package checking if they are unavailable.
- * dump_setup.cc: Generate dummy zlib macros when zlib is not available.
- (open_package_list): Use zlib functions to uncompress package lists.
- Return gzFile rather than FILE *.
- (check_package_files): Change fp to gzFile to accommodate zlib
- functions. Use gzgets to read from package file. Use gzclose to close
- the handle.
- (package_list): Ditto.
- (package_find): Ditto.
-
-2003-09-05 Igor Pechtchanski <pechtcha@cs.nyu.edu>
-
- * dump_setup.cc (check_package_files): Don't fail on empty package.
-
-2003-09-01 AJ Reins <reinsaj@yahoo.com>
-
- * mount.cc (mount_commands): Ensure user mode is actually user mode and
- not the default system mode.
-
-2003-08-31 Christopher Faylor <cgf@redhat.com>
-
- * kill.cc (forcekill): Silence some compiler warnings.
-
-2003-08-31 Christopher Faylor <cgf@redhat.com>
-
- * Makefile.in: Oops. Put the '...' in the right place.
-
-2003-08-31 Christopher Faylor <cgf@redhat.com>
-
- * Makefile.in: Display "..." when not-verbose.
-
- * kill.cc (forcekill): Default to entered pid when pinfo fails. Issue
- some warnings when things don't work.
-
-2003-08-17 David Rothenberger <daveroth@acm.org>
-
- * dump_setup.cc (check_package_files): Strip leading / and ./ from
- package file names.
-
-2003-08-16 David Rothenberger <daveroth@acm.org>
-
- * dump_setup.cc (package_find): Don't stop searching on missing
- file list.
- (package_list): Ditto.
-
-2003-08-16 Igor Pechtchanski <pechtcha@cs.nyu.edu>
-
- * dump_setup.cc: (package_list): Make output terse unless
- verbose requested. Fix formatting.
- (package_find): Ditto.
-
-2003-08-15 Corinna Vinschen <corinna@vinschen.de>
-
- * cygcheck.cc (main): Fix some formatting and help text printing.
-
-2003-08-15 Igor Pechtchanski <pechtcha@cs.nyu.edu>
-
- * cygcheck.cc (find_package,list_package): New global
- variables.
- (usage): Add "--find-package" and "--list-package" options,
- reformat output.
- (longopts, opts): Add "--find-package" and "--list-package"
- options.
- (main): Process the "--find-package" and "--list-package"
- flags. Add new semantic checks. Add calls to find_package()
- and list_package().
- * dump_setup.cc: Fix header comment.
- (match_argv): Change return type to int to distinguish
- between real matches and default ones.
- (open_package_list): New static function.
- (check_package_files): Factor out opening the package list
- file into open_package_list().
- (get_packages): New static function.
- (dump_setup): Factor out getting a list of packages into
- get_packages().
- (package_list, package_find): New global functions.
-
-2003-08-15 Corinna Vinschen <corinna@vinschen.de>
-
- * regtool.cc (usage): Add missing linefeed. Move example to --help
- text. Fix forward slash description.
-
-2003-08-13 Igor Pechtchanski <pechtcha@cs.nyu.edu>
-
- * dump_setup.cc (check_package_files): Fix extra '/' in filename.
- Resize command buffer. Fix buffer overflow bug.
-
-2003-08-09 Igor Pechtchanski <pechtcha@cs.nyu.edu>
- Christopher Faylor <cgf@redhat.com>
-
- * dump_setup.cc (dump_setup): Check for the existence of the package
- list file. Rework slightly to use static buffer for popen commands.
-
-2003-08-07 Igor Pechtchanski <pechtcha@cs.nyu.edu>
- Christopher Faylor <cgf@redhat.com>
-
- * dump_setup.cc (version_len): New static variable.
- (could_not_access,directory_exists): New static function.
- (file_exists): Ditto.
- (check_package_files): Ditto.
- (dump_setup): Check the contents of each package if check_files is true
- and output the result in the "Status" column. Flush output after each
- package.
-
-2003-08-07 Igor Pechtchanski <pechtcha@cs.nyu.edu>
- Christopher Faylor <cgf@redhat.com>
-
- * dump_setup.cc (dump_setup): Remove redundant null check. Add
- informative message if package info not found.
-
-2003-07-26 Christopher Faylor <cgf@redhat.com>
-
- * mount.cc (do_mount): Issue warning when using managed mount option on
- non-empty directory.
-
-2003-07-25 Christopher Faylor <cgf@redhat.com>
-
- * configure.in: Use 'install-sh -c'.
- * configure: Regenerate.
-
-2003-07-25 Christopher Faylor <cgf@redhat.com>
-
- * configure.in: Always use install-sh.
- * configure: Regenerate.
-
-2003-07-03 Christopher Faylor <cgf@redhat.com>
-
- * mount.cc (struct opt): Remove posix option.
-
-2003-07-03 Christopher Faylor <cgf@redhat.com>
-
- * mount.cc (longopts): Add long "options" keyword.
- (opts): Add -o option.
- (usage): Display -o option.
- (struct opt): New.
- (concat3): New function.
- (main): Handle -o flag.
-
-2003-06-12 Christopher Faylor <cgf@redhat.com>
-
- * cygcheck.cc (pretty_id): Rework slightly to not rely on spaces.
-
-2003-06-12 Christopher Faylor <cgf@redhat.com>
-
- * cygpath.cc: Throughout, always return error when GetShortPathName
- returns 0.
-
-2003-04-26 Joshua Daniel Franklin <joshuadfranklin at yahoo dot com>
-
- * mkpasswd.c (usage) Remove extra newline from description output.
-
-2003-04-26 Joshua Daniel Franklin <joshuadfranklin at yahoo dot com>
-
- * cygcheck.cc (usage) Add description output.
- * cygpath.cc (usage) Add description output.
- * dumper.cc (usage) Add newline to description output.
- * kill.cc (usage) Add description output.
- * mkgroup.c (usage) Grammatical change to description output.
- * mkpasswd.c (usage) Grammatical change to description output.
- * mount.cc (usage) Add description output.
- * passwd.c (usage) Add description output.
- * ps.cc (usage) Add description output.
- * regtool.cc (usage) Add description output.
- * setfacl.c (usage) Remove extra newline from description output.
- * ssp.c (usage) Add description output.
- * strace.cc (usage) Add description output.
- * umount.cc (usage) Add description output.
-
-2003-04-10 Pierre Humblet <pierre.humblet@ieee.org>
-
- * mkpasswd.c (current_user): print uid and gid as unsigned.
- (enum_users): Ditto. Do not free servername.
- (usage): Update to allow several domains and improve -p.
- (main): On Win9x limit uids to 1000. Only print specials
- when -l is specified. Add a loop to allow several domains
- and free servername in the loop.
- * mkgroup.c (enum_groups): Do not free servername.
- (usage): Update to allow several domains. Change uid to gid.
- (main): Only print specials when -l is specified. Add a
- loop to allow several domains and free servername in the loop.
-
-2003-03-24 Christopher Faylor <cgf@redhat.com>
-
- * cygcheck.cc (dump_sysinfo): Ensure that CYGWIN environment variable
- is correctly set.
-
-2003-03-09 Corinna Vinschen <corinna@vinschen.de>
-
- * getfacl.c (username): Fix ambiguous printf calls.
- (groupname): Ditto.
- (main): Ditto.
-
-2003-03-04 Christopher Faylor <cgf@redhat.com>
-
- * Makefile.in (strace.exe): Include mingw_getopt.o in link line.
- * cygcheck.cc (print_version): Update copyright.
- * strace.cc (print_version): Ditto.
- (main): Allow cygwin paths for -o option.
- (create_child): Allow cygwin path as argv[0].
- * path.cc (path.cc): Allow UNC paths.
-
-2003-03-01 Pierre Humblet <pierre.humblet@ieee.org>
-
- * mkpasswd.cc (main): On Win95, output both a default line and a
- line for the current user (if known) with a pseudorandom uid. If
- the -u switch is given, produce a line for the specified user.
- * mkgroup.cc (main): On Win95 change the group name from "unknown" to
- "all".
-
-2003-02-28 Christopher Faylor <cgf@redhat.com>
-
- * Makefile.in (cygcheck.o): Fix so that actual mingw include files are
- used.
- * cygcheck.cc (find_on_path): Translate from cygwin path when qualified
- path name found.
- (pretty_id): New function. Dump output of id command.
- (dump_sysinfo): Call pretty_id for CYGWIN=ntsec and CYGWIN=nontsec cases.
-
-2003-02-12 Christopher Faylor <cgf@redhat.com>
-
- * cygpath.cc (doit): Allocate more space for non-path filename.
-
-2003-02-07 Christopher Faylor <cgf@redhat.com>
-
- * dump_setup.cc (compar): Use case insensitive comparisons.
- (dump_setup): Calculate package_len based on already used "len". Don't
- bother with version_len.
-
-2003-02-07 Igor Pechtchanski <pechtcha@cs.nyu.edu>
-
- * dump_setup.cc (dump_setup): Compute the longest package name
- and align columns properly.
-
-2003-02-06 Christopher Faylor <cgf@redhat.com>
-
- * cygcheck.cc (common_apps): Add some more apps.
- * path.cc (get_cygdrive): Correctly set system flag.
-
-2003-01-22 Corinna Vinschen <corinna@vinschen.de>
-
- * Makefile.in (ALL_LDFLAGS): Remove newlib/libm from tools paths.
- (MINGW_LDFLAGS): Remove in favor of definition from Makefile.common.
-
-2003-01-15 Corinna Vinschen <corinna@vinschen.de>
-
- * mkgroup.c: Fix copyright date.
- * mkpasswd.c: Ditto.
- * setfacl.c: Ditto.
-
-2003-01-09 Pierre Humblet <pierre.humblet@ieee.org>
-
- * setfacl.c (usage): Remove double ":" for mask and other.
-
-2003-01-07 Pierre Humblet <pierre.humblet@ieee.org>
-
- * mkpasswd.c (current_user): Create.
- (usage): Reorganize to support Win95/98/ME.
- (main): Add option for -c. Reorganize to parse options for
- Win95/98/ME and to call current_user. Add username in gecos field
- on Win95/98/ME.
- * mkgroup.c (enum_groups): Print gid with %u.
- (print_win_error): Create from passwd.cc.
- (current_group): Create.
- (usage): Reorganize to support Win95/98/ME.
- (main): Add option for -c. Reorganize to parse options for
- Win95/98/ME and to call current_group.
-
-2002-12-14 Pierre Humblet <pierre.humblet@ieee.org>
-
- * setfacl.c (main): Place a single : after other and mask.
- * getfacl.c (getaclentry): Allow both : and :: for other and mask.
- (main): Remove extraneous break.
-
-2002-11-25 Corinna Vinschen <corinna@vinschen.de>
-
- * mkpasswd.c (main): Set pw_passwd field to '*' on 9x/Me.
-
-2002-11-24 Corinna Vinschen <corinna@vinschen.de>
-
- * setfacl.c (getperm): Set only `other' permission bits.
- (getaclentry): Set a_id to -1 by default.
-
-2002-11-24 Corinna Vinschen <corinna@vinschen.de>
-
- * getfacl.c (permstr): Use `other' permission bits for requesting
- ace permissions.
-
-2002-11-08 Corinna Vinschen <corinna@vinschen.de>
-
- * setfacl.c (usage): Add missing LF.
-
-2002-10-30 Christopher Faylor <cgf@redhat.com>
-
- * cygpath.cc (get_long_path_name_w32impl): Define similarly to
- GetLongPathName.
- (get_long_name): Correctly prototype GetLongPathName.
- (get_long_paths): Implement using get_long_name to cut down on code
- duplication.
- (doit): Do various things to make path output work predictably.
-
-2002-10-19 Christopher Faylor <cgf@redhat.com>
-
- * mount.cc (usage): Correctly report default mode.
- * strace.cc (main): Use strtoul as appropriate.
-
-2002-09-29 Christopher Faylor <cgf@redhat.com>
-
- * cygpath.cc (close_arg): Remove unused static.
- * mkgroup.c (enum_local_users): Avoid compiler warning.
- (enum_users): Ditto.
- * mkpasswd.c: Ditto throughout.
- * ssp.c: Ditto throughout.
-
-2002-09-18 Christopher Faylor <cgf@redhat.com>
-
- * cygcheck.cc: Include sys/time.h rather than time.h to avoid a
- compiler error.
-
-2002-09-17 Christopher Faylor <cgf@redhat.com>
-
- * cygcheck.cc: Reorder includes to avoid compiler error.
-
-2002-09-15 Joshua Daniel Franklin <joshuadfranklin@yahoo.com>
-
- * cygcheck.cc (print_version) Add final newline.
- * getfacl.c (print_version) Add final newline.
- * kill.cc (print_version) Add final newline.
- * mkgroup.c (print_version) Add final newline.
- * mkpasswd.c (print_version) Add final newline.
- * mount.cc (print_version) Add final newline.
- * passwd.c (print_version) Add final newline.
- * ps.cc (print_version) Add final newline.
- * regtool.cc (print_version) Add final newline.
- * setfacl.c (print_version) Add final newline.
- * ssp.c (print_version) Add final newline.
- * strace.cc (print_version) Add final newline.
- * umount.cc (print_version) Add final newline.
-
-2002-09-12 Igor Pechtchanski <pechtcha@cs.nyu.edu>
-
- * cygpath.cc (options) New global variable.
- (main) Make short options global for easier change.
- (print_version) Add a missing newline.
-
-2002-08-07 Igor Pechtchanski <pechtcha@cs.nyu.edu>
-
- * regtool.cc (find_key): Add support for custom key separator.
- (usage): Document it.
-
-2002-08-02 Corinna Vinschen <corinna@vinschen.de>
-
- * mkgroup.c (main): Don't print an entry for "Everyone".
- * mkpasswd.c (print_special): Set pw_gid to 544 for SYSTEM user.
- (main): Don't print an entry for "Everyone".
-
-2002-07-06 Christopher Faylor <cgf@redhat.com>
-
- * configure.in: Check for libiconv.a.
- * configure: Regenerate.
- * Makefile.in: Add libiconv.a to libraries required for dumper.exe.
-
-2002-07-06 Christopher Faylor <cgf@redhat.com>
-
- * Makefile.in: Use MINGW stuff from Makefile.common.
-
-2002-07-01 Corinna Vinschen <corinna@vinschen.de>
-
- * mkgroup.c: Add function pointers for functions from advapi32.dll.
- (load_netapi): Load used functions from advapi32.dll.
- (main): Use function pointers instead of statically linked functions
- from advapi32.dll.
-
-2002-07-01 Christopher Faylor <cgf@redhat.com>
-
- * mount.cc (main): Ensure that mount_already_exists() also gets default
- flag that is passed to do_mount.
-
-2002-06-22 Joshua Daniel Franklin <joshuadfranklin@yahoo.com>
-
- * cygpath.cc (long_options): Add "dos" and "mixed", correct "close",
- "file" and "type" to use NULL flag.
- (usage): Clean up usage output (more), accomodate new options.
- (main): Add --dos and --mixed options; accomodate all output forms in
- --type. Make UNIXy output default.
-
-2002-06-18 Joshua Daniel Franklin <joshuadfranklin@yahoo.com>
-
- * cygpath.cc (usage): Clean up usage output.
- (dowin): Correct output of -t mixed for -ADHPSW options.
-
-2002-06-14 Corinna Vinschen <corinna@vinschen.de>
-
- * passwd.c: Rearrange includes to avoid unnecessary warnings.
- (GetPW): Add parameter to (dis)allow printing of Windows username.
- Use defines instead of numerical constants where possible.
- Try avoiding impersonation problem. Rearrange to print Windows
- username only if it's different from Cygwin username.
- (ChangePW): Use defines instead of numerical constants where possible.
- (main): Call GetPW with additional parameter. Change error text.
-
-2002-06-14 Joshua Daniel Franklin <joshuadfranklin@yahoo.com>
-
- * passwd.c (GetPW): Handle case of user-edited /etc/passwd
- with cygwin_internal (CW_EXTRACT_DOMAIN_AND_USER, ...).
-
-2002-06-09 Christopher Faylor <cgf@redhat.com>
-
- * path.cc (cygpath): Change MOUNT_AUTO to MOUNT_CYGDRIVE.
- (getmntent): Ditto.
-
-2002-06-09 Christopher Faylor <cgf@redhat.com>
-
- * mount.cc (main): Use default system/user flag for cygdrive stuff,
- too.
- (change_cygdrive_prefix): Change MOUNT_AUTO to MOUNT_CYGDRIVE.
- * umount.cc (remove_cygdrive_prefix): Ditto.
- (main): Use default system/user flag for cygdrive stuff, too.
-
-2002-06-08 Christopher Faylor <cgf@redhat.com>
-
- * mount.cc (opts): Remove '-i' option.
- (usage): Ditto.
- (main): Ditto.
- (longopts): Remove --import-old-mounts option.
-
-2002-06-07 David Peterson <chief@mail.idrive.com>
- Christopher Faylor <cgf@redhat.com>
-
- * cygpath.cc: Add option to output windows paths in different formats:
- "dos" and "mixed".
- (main): Process options.
- (doit): Check new options flags.
-
-2002-06-06 Egor Duda <deo@logos-m.ru>
-
- * regtool.cc (Fail): Be more verbose.
- (find_key): Add support for remote registry access.
- (usage): Document it.
- * utils.sgml: Document it.
-
-2002-06-06 Christopher Faylor <cgf@redhat.com>
-
- * strace.cc (main): Make toggle a local variable.
-
-2002-06-07 Conrad Scott <conrad.scott@dsl.pipex.com>
-
- * strace.cc (toggle): New global variable.
- (error): Use exit instead of ExitProcess so that stdio buffers get
- flushed.
- (create_child): Remove command line error checking.
- (dostrace): Ditto.
- (dotoggle): New function.
- (usage): Add entry for new option -T|--toggle. Alphabetize.
- (longopts): Add new option -T|--toggle.
- (opts): Ditto.
- (main): Handle new -T|--toggle option. Move all command line checking
- here from other functions.
- * utils.sgml: Update section for strace.
-
-2002-06-05 Joshua Daniel Franklin <joshuadfranklin@yahoo.com>
-
- * strace.cc (version): New global variable.
- (usage): Accommodate stdout output.
- (print_version): New function.
-
-2002-06-03 Joshua Daniel Franklin <joshuadfranklin@yahoo.com>
-
- * ssp.c (version): New global variable.
- (longopts): Ditto.
- (opts): Ditto.
- (run_program): Correct cmd_line typos to cmdline.
- (usage): New function. Standardize usage output. Add ssp.txt to
- --help output.
- (print_version): New function.
- (main): Accommodate getopt.
-
-2002-06-03 Joshua Daniel Franklin <joshuadfranklin@yahoo.com>
-
- * umount.cc (version): New global variable.
- (longopts): Accommodate new --version option.
- (opts): Ditto.
- (usage): Standardize usage output.
- (print_version): New function.
- (main): Accommodate --help, --version options.
-
-2002-06-02 Joshua Daniel Franklin <joshuadfranklin@yahoo.com>
-
- * regtool.cc (prog_name): New global variable.
- (longopts): Ditto.
- (opts): Ditto.
- (usage): Standardize usage output. Rearrange/add descriptions.
- (print_version): New function.
- (main): Accommodate longopts and new --help, --version options. Add
- check for (_argv[optind+1] == NULL).
-
-2002-06-02 Christopher Faylor <cgf@redhat.com>
-
- * strace.cc (forkdebug): Make true by default.
- (attach_process): Use window pid if cygwin pid isn't available (yet).
- (create_child): Use either DEBUG_ONLY_THIS_PROCESS or DEBUG_PROCESS,
- exclusively. (Suggested by Conrad.Scott@dsl.pipex.com)
-
-2002-05-30 Christopher Faylor <cgf@redhat.com>
-
- * mkpasswd.cc (main): Don't reset to binmode if stdout is a terminal.
-
-2002-05-29 Christopher Faylor <cgf@redhat.com>
-
- * mount.cc (main): Make -b the default.
-
-2002-05-29 Corinna Vinschen <corinna@vinschen.de>
-
- * ps.cc (main): Use uid or uid32 member of struct external_pinfo
- dependent of the value of the struct's version member.
-
-2002-05-29 Corinna Vinschen <corinna@vinschen.de>
-
- * ps.cc (main): Change print format for uid to unsigned. Use uid32
- member of struct external_pinfo instead of uid.
-
-2002-05-28 Joshua Daniel Franklin <joshuadfranklin@yahoo.com>
-
- * passwd.c (prog_name): New global variable.
- (longopts): Ditto.
- (opts): Ditto.
- (usage): Standardize output. Accommodate new options.
- (print_version): New function.
- (main): Accommodate longopts and new --help, --version options.
-
-2002-05-28 Joshua Daniel Franklin <joshuadfranklin@yahoo.com>
-
- * ps.cc (usage): Fix typo.
-
-2002-05-27 Joshua Daniel Franklin <joshuadfranklin@yahoo.com>
-
- * ps.cc (prog_name): New global variable.
- (longopts): Ditto.
- (opts): Ditto.
- (usage): New function.
- (print_version): New function.
- (main): Accommodate longopts and new --help, --version options.
-
-2002-05-26 Christopher Faylor <cgf@redhat.com>
-
- * strace.cc (attach_process): Don't tell process to start stracing
- here.
- (proc_child): Do it here, instead, after first debug event. This
- should work around inexplicable races with DebugActiveProcess.
- (dostrace): Pass any pid argument to proc_child.
-
-2002-05-23 Joshua Daniel Franklin <joshuadfranklin@yahoo.com>
-
- * getfacl.c (usage): Standardize usage output. Change return type to
- static void.
- (print_version): New function.
- (longopts): Added longopts for all options.
- (main): Accommodate new help and version options.
-
-2002-05-22 Joshua Daniel Franklin <joshuadfranklin@yahoo.com>
-
- * mount.cc (version): New global variable.
- (usage): Standardize usage output. Accommodate new version option.
- (print_version): New function.
- (longopts): Accommodate new version option.
- (opts): Ditto.
- (main): Ditto.
-
-2002-05-22 Corinna Vinschen <corinna@vinschen.de>
-
- * cygpath.cc (usage): Change usage output slightly.
-
-2002-05-20 Joerg Schaible <joerg.schaible@gmx.de>
-
- * cygpath.cc (main): Add option l to support conversion to
- Windows long file names. Refactured code for capital options.
- Support of options from file for capital options.
- (dowin): New function. Refactured from main.
- (doit): Call long path conversion.
- (get_long_name): New function.
- (get_long_paths): New function.
- (get_long_path_name_w32impl): New function. Reimplementation
- of Windows API function GetLongPathName (only 98/Me/2000/XP or
- higher).
- (get_short_name): Call GetShortPathName only once.
- (get_short_paths): Fix calculating buffer size.
- * utils.sgml: Update cygpath section for l option.
-
-2002-05-18 Christopher Faylor <cgf@redhat.com>
-
- * strace.cc (add_child): Use calloc since new requires working
- libstdc++.a.
- (remove_child): Ditto for delete/free.
-
-2002-05-15 Mark Blackburn <marklist@fangorn.ca>
-
- * cygpath.cc (get_short_paths): Fix more error checking.
- (get_short_name): Ditto.
-
-2002-05-14 Joerg Schaible <joerg.schaible@gmx.de>
-
- * cygpath.cc (main): Add option H to show the Windows' profiles
- directory. Support short names for options DPSW. Clean up
- copied code lines.
- * utils.sgml: Update cygpath section for H option and s support.
-
-2002-05-14 Mark Blackburn <marklist@fangorn.ca>
-
- * cygpath.cc (get_short_paths): Fix error checking.
-
-2002-05-13 Joshua Daniel Franklin <joshuadfranklin@yahoo.com>
-
- * kill.cc (prog_name): New global variable.
- (usage): Standardize usage output. Add descriptions.
- (print_version): New function.
- (longopts): Accommodate new version option.
- (opts): Ditto.
- (main): Ditto.
-
-2002-05-13 Christopher Faylor <cgf@redhat.com>
-
- * kill.cc (listsig): Display numeric id when given symbolic input.
-
-2002-05-13 Christopher Faylor <cgf@redhat.com>
-
- * kill.cc (usage): Show new options. Allow specification of output
- stream.
- (main): Implement 'h' option.
-
-2002-05-13 Christopher Faylor <cgf@redhat.com>
-
- * Makefile.in (kill.exe): Add as a specific target.
- * kill.cc (longopts): New.
- (opts): Ditto.
- (get_sig): Accept const char * parameter. Return -1 on unknown signal.
- (test_for_unknown_sig): New function.
- (listsig): New function.
- (main): Use getopt_long for option parsing. Implement -l, and -s
- options. Use test_for_unknown_sig() to test for signal validity.
-
- * mount.cc (longopts): Make static.
- (opts): Ditto.
-
-2002-05-12 Christopher Faylor <cgf@redhat.com>
-
- * mount.cc (do_mount): Default to non-exec option for remote drives.
- Report warnings before attempting a mount.
- (longopts): Add no-executable option.
- (mount_commands): Ditto.
- (opts): Ditto.
- (usage): Ditto. Indicate that system mount is now the default.
- (main): Accommodate no-executable option. Make system mount the
- default.
- * umount.cc (usage): Indicate that system umount is now the default.
- (main): Make system umount the default.
-
-2002-05-07 Joshua Daniel Franklin <joshuadfranklin@yahoo.com>
-
- * dumper.cc (usage): Standardize usage output. Generalize to allow use
- for help.
- (longopts): New struct. Added longopts for all options.
- (print_version): New function.
- (main): Change getopt to getopt_long. Accommodate new help and version
- options.
-
-2002-03-29 Corinna Vinschen <corinna@vinschen.de>
-
- * mkgroup.c (main): Change call to exit() to a return statement.
- * mkpasswd.c (main): Ditto.
-
-2002-03-27 Joshua Daniel Franklin joshuadfranklin@yahoo.com
-
- * mkpasswd.c (usage): Simplify usage output. Generalize to allow use
- for help. Correct '?' typo to 'h'.
- (longopts): Add version option.
- (opts): Add 'v' version option.
- (print_version): New function.
- (main): Accommodate new version option. Accommodate usage parameter
- changes.
-
-2002-03-19 Christopher Faylor <cgf@redhat.com>
-
- * mkgroup.c (usage): Use one just fprintf + string concatenation for
- output message.
- (print_version): Add void to function type and update copyright.
-
-2002-03-16 Joshua Daniel Franklin <joshuadfranklin@yahoo.com>
-
- * mkgroup.c (usage): Simplify usage output. Generalize to allow use
- for help. Correct '?' typo to 'h'.
- (longopts): Add version option.
- (opts): Add 'v' version option.
- (print_version): New function.
- (main): Accommodate new version option. Accommodate usage parameter
- changes. Use usage to output help message.
-
-2002-03-15 Corinna Vinschen <corinna@vinschen.de>
-
- * mkgroup.c (main): When generating group 513, check for computer's
- primary domain instead of current user's domain.
-
-2002-03-14 Corinna Vinschen <corinna@vinschen.de>
-
- * mkgroup.c (main): When generating group 513, check for domain SID
- if computer name isn't mapped to a SID.
-
-2001-03-11 Joshua Daniel Franklin <joshuadfranklin@yahoo.com>
-
- * kill.cc (usage): Move to top of file.
- (getsig): Ditto.
- (forcekill): Ditto.
-
-2002-03-06 Christopher Faylor <cgf@redhat.com>
-
- * cygcheck.cc: Reformat.
-
-2002-03-06 Christopher Faylor <cgf@redhat.com>
-
- * cygcheck.cc (longopts): Use correct short option for --version.
-
-2002-03-06 Christopher Faylor <cgf@redhat.com>
-
- * cygpath.cc: Reformat.
-
-2002-02-27 Joshua Daniel Franklin <joshuadfranklin@yahoo.com>
-
- * cygpath.cc (print_version): New function.
- (main): Accommodate new version function. Initialize 'o' to prevent
- warning.
-
-2002-02-27 Christopher Faylor <cgf@redhat.com>
-
- * cygcheck.cc (main): Eliminate non-GNU formatting glitch.
-
-2002-02-27 Christopher Faylor <cgf@redhat.com>
-
- * ssp.c (help_desk): Fix compiler warning.
-
-2002-02-27 Joshua Daniel Franklin <joshuadfranklin@yahoo.com>
- Christopher Faylor <cgf@redhat.com>
-
- Change appropriate globals to statics throughout.
- * cygcheck.cc (usage): Simplify usage output. Generalize to allow use
- for help.
- (longopts): Add version option.
- (opts): Add 'V" version option.
- (print_version): New function.
- (main): Accommodate new version option. Accommodate usage parameter
- changes. Use usage to output help message.
-
-002-02-19 Christopher Faylor <cgf@redhat.com>
-
- * Makefile.in (CXXFLAGS): Add override so that HAVE_DECL_GETOPT is
- defined.
- (libbfd): Use -B rather than -L so that bfd from build directory is
- correctly found.
- (libintl): Ditto.
-
-2002-02-15 Christopher Faylor <cgf@redhat.com>
-
- * mount.cc (usage): Fix typo in output.
-
-2002-02-14 Christopher Faylor <cgf@redhat.com>
-
- * strace.cc (attach_process): Change CW_STRACE_ON to CW_STRACE_TOGGLE.
-
-2002-01-31 Corinna Vinschen <corinna@vinschen.de>
-
- * mkpasswd.c (main): Set default home path for 9x/Me if --path-to-home
- isn't given.
-
-2002-01-30 Corinna Vinschen <corinna@vinschen.de>
-
- * passwd.cc (ChangePW): Add parameter to differ between called for
- checking old password and called for changing password. If called
- for checking old password, return non-zero only if password is surely
- incorrect.
- (main): Call ChangePW() with additional parameter.
-
-2002-01-29 Christopher Faylor <cgf@redhat.com>
-
- * dump_setup.cc (parse_filename): Don't consider '_' part of the
- version.
-
-2002-01-28 Christopher Faylor <cgf@redhat.com>
-
- * cygcheck.cc: Fix typo. Remove uid_t kludge. Rely on kludge in
- sys/cygwin.h instead.
- * getfacl.c: Add include to remove warning.
- * mkgroup.c (main): Assign variables outside of parameter passing.
- This seems to eliminate some compiler warnings.
-
-2002-01-28 Christopher Faylor <cgf@redhat.com>
-
- * cygcheck.cc: Use specific cygwin includes, as required.
-
-2002-01-28 Christopher Faylor <cgf@redhat.com>
-
- * Makefile.in (MINGW_INCLUDES): Change cygwin include.
- * strace.cc: Use specific cygwin includes, as required.
- (load_cygwin): New function. Loads cygwin DLL, if necessary.
- (attach_process): Attaches strace to a running process.
- (dostrace): Accept pid argument. Attach to pid if supplied.
- (usage): Describe -p option. Correct system description.
- (longopts): Alphabetize.
- (opts): Ditto.
- (main): Ditto. Handle -p option.
-
-2002-01-21 Christopher Faylor <cgf@redhat.com>
-
- * Makefile.in (CXXFLAGS): Ensure that important settings are preserved
- even when overriden by command line.
-
-2002-01-21 Christopher Faylor <cgf@redhat.com>
-
- * Makefile.in: Build intermediate cygcheck.o to force use of MINGW_CXXFLAGS.
- * cygcheck.cc (cygwin_info): Intitialize variable to quiet g++ warning.
- (dump_sysinfo): Make variables unsigned to quiet g++ warnings.
- * strace.cc (version_string): Rename from SCCSid.
- (add_child): Remove unused variable.
- (version): Use version_string. Avoid use of fprintf.
-
-2002-01-21 DJ Delorie <dj@redhat.com>
-
- * Makefile.in: Use CXX instead of CC to compile C++ sources.
-
-2002-01-17 DJ Delorie <dj@redhat.com>
-
- * cygcheck.cc (already_did): Avoid default constructors, which may
- require exception support.
-
-2001-01-16 Joshua Daniel Franklin <joshuadfranklin@yahoo.com>
-
- * cygpath.cc (main): Add options to show Desktop and Start
- Menu's Programs directory for current user or all users.
- Move bulk of DPWS options outside the getopt case statement.
- * utils.sgml: Update cygpath section for ADPWS options.
-
-2002-01-15 Joerg Schaible <joerg.schaible@gmx.de>
-
- * cygpath.cc (doit): Empty file ignored using option -i.
-
-2002-01-15 Mark Bradshaw <bradshaw@crosswalk.com>
-
- * mkpasswd.c (print_win_error): Add a new function.
- (enum_users): Use print_win_error.
- (enum_local_groups): Ditto.
- (main): Ditto.
-
-2001-12-26 Jonathan Kamens <jik@curl.com>
-
- * cygpath.cc (doit): Detect and warn about an empty path. Detect and
- warn about errors converting a path.
- (main): Set prog_name correctly -- don't leave an extra slash or
- backslash at the beginning of it.
-
-Fri Dec 14 14:04:37 2001 Jason Tishler <jason@tishler.net>
-
- * mkpasswd.c (enum_users): Change to unconditionally use
- the --path-to-home option, if supplied by the user. Use default
- --path-to-home option value, if appropriate.
- (usage): Change usage statement to reflect new semantics.
- (main): Remove defaulting of the --path-to-home option.
-
-Fri Dec 14 12:10:39 2001 Jason Tishler <jason@tishler.net>
-
- * mkpasswd.c (opts): Add indication that '-p' option requires an
- argument.
-
-2001-12-11 Christopher Faylor <cgf@redhat.com>
-
- * Makefile.in: Add define to CXXFLAGS.
-
-2001-12-03 Christopher Faylor <cgf@redhat.com>
-
- * cygcheck.cc (usage): Add -c description.
- * cygpath.cc (usage): Alphabetize options.
- * strace.cc (usage): Ditto.
-
-2001-11-21 Christopher Faylor <cgf@redhat.com>
-
- * path.cc (cygpath): Don't consider cygdrive stuff when trying to derive
- native paths.
-
-2001-11-20 Mark Bradshaw <bradshaw@staff.crosswalk.com>
-
- * mkpasswd.c: include lmerr.h
- (main): New -u option to allow specifying a
- specific user. If specified, groups aren't displayed and
- output is limited to only the specified user.
- (enum_users): If specific user is specified, via -u option,
- display only that user's record. With -u use NetUserGetInfo
- instead of NetUserEnum.
- (load_netapi): Added netusergetinfo.
-
-2001-11-15 Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>
-
- * strace.cc (main): Change getopt() to getopt_long().
- Add support for help and version info.
- Use new parse_mask() function for -m/--mask option.
- (longopts): Add long options structure.
- (opts): Move options string from getopts call to static var.
- (usage): Print usage information.
- (SCCSid): Version info.
- (version): New function for displaying version info.
- (parse_mask): New function supporting parsing of mnemonics,
- hex, and basic expressions in masks.
- (mnemonic2ul): New mnemonic parsing function.
- (tag_mask_mnemonic): New type.
- (mnemonic_table): New table of mnemonics for mnemonic2ul() to
- search through.
-
-2001-11-12 Corinna Vinschen <corinna@vinschen.de>
-
- * cygcheck.cc (dump_sysinfo): Redefine output format slightly.
- Print correct build number on 9x/ME systems.
-
-2001-11-12 Christopher Faylor <cgf@redhat.com>
-
- * cygcheck.cc (main): Slight formatting tweak.
-
-2001-11-12 Corinna Vinschen <corinna@vinschen.de>
-
- * cygcheck.cc (dump_sysinfo): Add some more details.
-
-2001-11-12 Corinna Vinschen <corinna@vinschen.de>
-
- * cygcheck.cc (dump_sysinfo): Print more detailed OS information string
- using OSVERSIONINFOEX information.
-
-2001-11-11 Christopher Faylor <cgf@redhat.com>
-
- * path.h: New file.
-
-2001-11-11 Christopher Faylor <cgf@redhat.com>
-
- * cygcheck.cc (scan_registry): Open registry with read-only access.
- (main): Reflect argument change for dump_setup.
- * dump_setup.cc (dump_setup): Add preliminary extra argument for future
- use.
- * path.cc (read_mounts): Open registry with read-only access.
-
-2001-11-11 Christopher Faylor <cgf@redhat.com>
-
- * cygcheck.cc (main): Display package info when '-s' is specified.
- * dump_setup.cc (dump_setup): Change header. Remove typo. Always sort
- packages output.
-
-2001-11-11 Christopher Faylor <cgf@redhat.com>
-
- * dump_setup.cc: New file.
- * Makefile.in: Add info for dump_setup.o.
- * cygcheck.cc (main): Recognize '-c' option for checking setup
- installed base.
- * path.cc (cygpath): Read mount table if not loaded.
-
-2001-11-10 Christopher Faylor <cgf@redhat.com>
-
- * Makefile.in (cygcheck.exe): Compile as -mno-cygwin executable.
- * path.cc: New file.
- * cygcheck.cc (init_paths): Use MS-DOS path syntax.
- (cygwin_info): Properly display cygwin version numbers. Prettify some
- output.
- (dump_sysinfo): Calculate max names of posix and ms-dos paths for
- prettier output.
-
-2001-11-09 Corinna Vinschen <corinna@vinschen.de>
-
- * cygcheck.cc (dump_sysinfo): Print more detailed OS information string.
-
-2001-11-04 Corinna Vinschen <corinna@vinschen.de>
-
- * getfacl.c (username): New function.
- (groupname): Ditto.
- (usage): Ditto. Add more user friendly help text.
- (main): Add -n and --help option. Print names instead of IDs
- unless -n option is given.
- * setfacl.c (getperm): Tolerate whitespace and comment chars in input.
- (getaclentry): Fix several input string misdetections.
- (getaclentries): Allow - as input file name to read from stdin.
- Tolerate whitespace and comment chars in input.
- (usage): Add more user friendly help text.
- (main): Add --help option.
-
-2001-11-04 Egor Duda <deo@logos-m.ru>
-
- * strace.cc (main): New option '-w'. Start traced process in separate
- window. New option '-S x'. Flush buffered output every x seconds.
- (create_child): Start child process in new window, when requested.
- When requested, periodically flush debugging output.
-
-2001-10-24 Christopher Faylor <cgf@redhat.com>
-
- * Makefile.in: Remove EXEEXT consideration. We always need .exe
- extensions.
-
-2001-10-20 Corinna Vinschen <corinna@vinschen.de>
-
- * mkgroup.c: Avoid compiler warnings.
- (print_special): New function.
- (main): Print special accounts by calling print_special().
- * mkpasswd.c: Avoid compiler warnings.
- (enum_users): Print additional U-domain\username info in gecos
- field when SIDs are printed.
- (print_special): New function.
- (main): Print special accounts by calling print_special().
-
-2001-10-15 Christopher Faylor <cgf@redhat.com>
-
- * mkpasswd.cc (enum_users): Shorten "unused" passwd field.
-
-2001-10-13 Christopher Faylor <cgf@redhat.com>
-
- * Makefile.in: Allow stdinc searching for dumper.
-
-Tue Oct 9 21:59:00 2001 Christopher Faylor <cgf@cygnus.com>
-
- * Makefile.in (MINGW_INCLUDES): Accommodate changes in Makefile.common.
-
-Sun Oct 7 23:06:39 2001 Christopher Faylor <cgf@cygnus.com>
-
- * kill.cc (main): Set exit value to 1 on invalid pid. Perform minor
- cleanup.
-
-Fri Sep 21 20:40:30 2001 Christopher Faylor <cgf@cygnus.com>
-
- * Makefile.in (mingw_getopt.o): Ensure that newlib include directories
- are not searched.
-
-Thu Sep 20 21:00:20 2001 Christopher Faylor <cgf@cygnus.com>
-
- * Makefile.in (MINGW_INCLUDES): Still need cygwin/include directory.
-
-Wed Sep 19 12:22:08 2001 Christopher Faylor <cgf@cygnus.com>
-
- * Makefile.in: Filter newlib includes from mingw compilation.
-
-2001-09-14 Egor Duda <deo@logos-m.ru>
-
- * dumper.cc (dumper::dumper): Print error code in case of error.
- (dumper::add_thread): Ditto.
- (dumper::collect_memory_sections): Ditto.
- (dumper::dump_memory_region): Ditto.
- (dumper::collect_process_information): Ditto.
- (print_section_name): Fix formatting.
-
-2001-09-13 Egor Duda <deo@logos-m.ru>
-
- * dumper.cc (main): Properly recognize negative pids (used by w9x).
-
-2001-09-09 Egor Duda <deo@logos-m.ru>
-
- * dumper.cc (main): Change command-line arguments format to be
- similar to gdb. Allow adding error_start=x:\path\to\dumper.exe to
- CYGWIN environment variable to perform core dumping in case of
- program crash.
- (usage): Ditto.
-
-Wed Sep 5 22:37:21 2001 Christopher Faylor <cgf@cygnus.com>
-
- * Makefile.in (dumper): Change logic for libbfd and libintl so that
- they will be found either in the build tree or the installed directory.
- * mkpasswd.c (enum_users): Add a comment as a password for NT.
-
-2001-09-03 Michael A Chase <mchase@ix.netcom.com>
-
- * mount.cc (mount_commands): Don't write /cygdrive/u mount points.
-
-2001-09-03 Michael A Chase <mchase@ix.netcom.com>
-
- * mount.cc (longopts): Add mount-commands to options list.
- (usage): Add mount-commands option.
- (mount_commands): New function. Write commands to recreate current
- mounts.
-
-Sat Sep 1 15:58:11 2001 Christopher Faylor <cgf@cygnus.com>
-
- * mount.cc (main): Eliminate excess arguments in printf.
-
-2001-08-30 Egor Duda <deo@logos-m.ru>
-
- * dumper.h: Update copyright notice.
- * dumper.cc: Ditto.
- * dumper.cc: (dumper::print_core_section_list): New function.
- * dumper.h: (dumper::print_core_section_list): Declare it.
- * dumper.cc (print_section_name): New function.
- (dumper::collect_process_information): Augment debugging output.
- Stop debugee processing if it posts double exception.
- (usage): Fix typo in option name.
-
-Tue Aug 28 14:45:02 2001 Christopher Faylor <cgf@cygnus.com>
-
- * mount.cc (main): Issue correct warning for 'not enough arguments'.
-
-2001-08-14 Joerg Schaible <joerg.schaible@gmx.de>
-
- * cygpath.cc (main): Support -w for Windows (System) directories and
- return physical correct orthography for the Windows System dir.
-
-2001-07-14 Chris Genly <chgenly@alum.mit.edu>
-
- * regtool.cc (find_key): Handle keys with only one subkey.
-
-Wed Jun 27 22:46:10 2001 Christopher Faylor <cgf@cygnus.com>
-
- * regtool.cc (find_key): Revert previous change.
-
-Wed Jun 27 13:37:41 2001 Keith Starsmeare" <keith_starsmeare@yahoo.co.uk>
-
- * regtool.cc (find_key): Allow '/' as a synonym for '\\'.
-
-Fri Jun 15 00:49:21 2001 Christopher Faylor <cgf@cygnus.com>
-
- * mkpasswd.c (main): Output passwd file in binary mode so that there
- are no CRs in the file.
- * umount.cc (remove_all_user_mounts): Don't try to remove /cygdrive
- mounts.
-
-Tue May 1 10:50:48 2001 Christopher Faylor <cgf@cygnus.com>
-
- * mkpasswd.c (enum_users): Use /bin/bash as the default shell.
- (main): Ditto.
-
-Sat Apr 28 22:32:01 2001 Christopher Faylor <cgf@cygnus.com>
-
- * passwd.cc (ttymnam): New function.
- (main): Use ttynam() to report name of tty.
-
-2001-04-19 Egor Duda <deo@logos-m.ru>
-
- * dumper.cc (dumper::init_core_dump): Set architecture field in dump
- header.
-
-Mon Apr 16 15:08:00 2001 Corinna Vinschen <vinschen@redhat.com>
-
- * mkgroup.c: Add function pointers `netlocalgroupgetmembers' and
- `netgroupgetusers'.
- (load_netapi): Load function pointers `netlocalgroupgetmembers'
- and `netgroupgetusers'.
- (enum_local_users): New function.
- (enum_local_groups): Call `enum_local_users' for each group if
- `print_users' is set.
- (enum_users): New function.
- (enum_groups): Call `enum_users' for each group if `print_users' is set.
- (usage): Add usage text for `-u/--users'.
- (longopts): Add option `--users'.
- (opts): Add option character `u'.
- (main): Set `print_users' according to option `-u/--users'.
- Call `enum_local_groups' and `enum_groups' with additional parameter
- `print_users'.
-
-2001-04-15 Michael A Chase <mchase@ix.netcom.com>
-
- * mount.cc (longopts): Add help to options list.
- (opts): Add 'h' to options string.
- * umount.cc (longopts): Add help to options list.
- (opts): Add 'h' to options string and change 'R' to 'A'.
-
-2001-04-13 Kazuhiro Fujieda <fujieda@jaist.ac.jp>
-
- * mkgroup.c (enum_groups): Use RID + offset specified an additional
- argument as ID.
- (usage): Add description of -o option.
- (longopts, opts): Add specifications of -o/--id-offset option.
- (main): Add -o option. Invoke enum_groups with specified offset.
- * mkpasswd.c (enum_users): Just like mkgroup.c.
- (usage, longopts, opts): Ditto.
- (main): Add -o option. Invoke enum_users with specified offset only
- against domain accounts.
-
-2001-04-11 Egor Duda <deo@logos-m.ru>
-
- * mkgroup.c (uni2ansi): Use native method to convert from Unicode
- to multi-byte strings.
- * mkpasswd.c (uni2ansi): Ditto.
- (enum_users): Pass buffer size when converting string.
- (enum_local_groups): Ditto.
- * mkgroup.c (enum_groups): Ditto.
- (enum_local_groups): Ditto.
-
-Mon Apr 2 22:41:33 2001 Christopher Faylor <cgf@cygnus.com>
-
- * mount.cc (main): Use getopt_long for parsing arguments.
- (usage): Reformat, show long and short options.
- * umount.cc (main): Ditto, all of the above.
-
-Mon Apr 2 10:58:26 2001 Christopher Faylor <cgf@cygnus.com>
-
- * mount.cc (show_mounts): Change format string to more closely resemble
- UNIX when displaying mount table.
-
-Sat Mar 17 21:46:06 2001 Christopher Faylor <cgf@cygnus.com>
-
- * kill.cc (forcekill): Use dwProcessId when opening a process, not the
- Cygwin pid.
-
-Mon Mar 5 18:50:00 2001 Corinna Vinschen <vinschen@redhat.com>
-
- * getfacl.c: Add copyright hint.
- * setfacl.c: Ditto.
- * strace.cc: Ditto.
-
-Tue Jan 09 10:26:23 2001 Tony Sideris <tonys1110@home.com>
-
- * regtool.cc (cmd_list): Add new registry display options.
- (cmd_list): Add code to implement -p, -k, and -l options.
-
- * regtool.cc (Fail): Add call to LocalFree to free memory allocated by
- FormatMessage.
-
-Wed Jan 10 09:16:57 2001 Christopher Faylor <cgf@cygnus.com>
-
- * regtool.cc (translate): Ensure that 'c' is initialized.
- (cmd_set): Ditto for rv.
diff --git a/winsup/utils/ChangeLog-2000 b/winsup/utils/ChangeLog-2000
deleted file mode 100644
index 7ea5ae186..000000000
--- a/winsup/utils/ChangeLog-2000
+++ /dev/null
@@ -1,347 +0,0 @@
-Fri Dec 15 23:41:48 2000 Christopher Faylor <cgf@cygnus.com>
-
- * cygcheck.cc (cygwin_info): Add some more bounds checking.
-
-Fri Dec 15 23:41:34 2000 Christopher Faylor <cgf@cygnus.com>
-
- From Matt Harget <matt@use.net>:
- * utils/cygcheck.cc (keyeprint): Move declaration before other
- functions so it could be used by all functions to report error
- messages. Add comment.
- (add_path): Check for NULL return from malloc.
- (find_on_path): Check initial uses of pointers for NULL.
- (rva_to_offset): Ditto.
- (init_paths): Add checking for return values of Win32 calls.
- (get_dword): Ditto.
- (get_word): Ditto.
- (dll_info): Ditto, also add NULL pointer checks.
- (scan_registry): Ditto.
- (check_keys): Ditto.
- (dump_sysinfo): Ditto. Add default case to switch. Add error
- reporting if GetVolumeInformation fails, except when it
- returns ERROR_NOT_READY.
- (track_down): Add checking for NULL pointers and
- return values of Win32 calls.
- (cygwin_info): Ditto. Correct small memory leak.
-
-Sun Dec 10 19:08:58 2000 Christopher Faylor <cgf@cygnus.com>
-
- * Makefile.in: Compile/link dumper.exe with c++.
-
-Tue Dec 7 11:15:00 2000 Corinna Vinschen <corinna@vinschen.de>
-
- * mkpasswd.c: Slight formatting changes to the below patch.
- (longopts): Fix typo in `local-groups' option.
- (main): Initialize `passed_home_path' before first usage.
-
-Tue Dec 7 11:15:00 2000 Chris Abbey <cabbey@bresnanlink.net>
-
- * mkpasswd.c: make default home directory /home/$user if one
- can't be found in user registry. Allow user to override
- that with command line arg.
-
-Sun Dec 3 00:40:47 2000 Christopher Faylor <cgf@cygnus.com>
-
- * Makefile.in: Use CXX to build the DLL.
- * configure.in: Find correct c++ compiler.
- * configure: Regenerate.
-
-Sat Nov 18 23:53:59 2000 Christopher Faylor <cgf@cygnus.com>
-
- * utils.sgml: Document new options for ps and strace.
-
-Wed Nov 8 08:49:27 2000 Jason Tishler <jt@dothill.com>
-
- * mount.cc (main): Call show_cygdrive_info instead of
- show_cygdrive_prefixes.
- * mount.cc (show_cygdrive_prefixes): Remove function.
- * mount.cc (show_cygdrive_info): New function. Actually,
- show_cygdrive_info is really an enhanced version of
- show_cygdrive_prefixes renamed to show_cygdrive_info that also displays
- the user and system flags.
-
-Wed Nov 8 15:52:00 2000 Corinna Vinschen <corinna@vinschen.de>
-
- * mkgroup.c (load_netapi): New function to load netapi32.dll functions
- dynamically so that mkgroup works on 9x/ME as well.
- Use corresponding function pointers throughout.
- (usage): Change to `int'. Change text to be conformant to mkpasswd.
- (main): Use `getlongopt' to process options.
- Special handling to create a group entry on 9x/ME.
- * mkpasswd.c (load_netapi): New function to load netapi32.dll functions
- dynamically so that mkpasswd works on 9x/ME as well.
- Use corresponding function pointers throughout.
- (usage): Change to `int'. Change text to be conformant to mkgroup.
- (main): Use `getlongopt' to process options.
- Special handling to create a passwd entry on 9x/ME.
- Change conditional to create an entry for the local administrators
- group when appropriate.
-
-Thu Nov 2 2:01:00 2000 Corinna Vinschen <corinna@vinschen.de>
-
- * kill.cc (main): Return 1 in case of errors.
-
-Sat Oct 28 01:37:55 2000 Christopher Faylor <cgf@cygnus.com>
-
- * Makefile.in: Accomodate newer gcc's which require linking of c++
- programs with g++. Fixup output for some compilations.
- * cygcheck.cc: Respond to compiler warnings.
- * dumper.cc (main): Ditto.
- * parse_pe.cc (exclusion::sort_and_check): Ditto.
- * setfacl.cc (getaclentry): Ditto.
-
-Fri Oct 27 20:20:29 2000 Christopher Faylor <cgf@cygnus.com>
-
- * strace.cc (main): Add a '-b' option.
-
-2000-10-18 DJ Delorie <dj@redhat.com>
-
- * ssp.c: new
- * ssp.txt: new
- * Makefile.in: build ssp.exe
-
-Wed Oct 18 18:57:46 2000 Christopher Faylor <cgf@cygnus.com>
-
- * ps.cc (main): Add some extra space to Windows pid output for
- Windows 95.
-
-Tue Oct 17 23:49:04 2000 Christopher Faylor <cgf@cygnus.com>
-
- * ps.cc (main): Add some extra space to pid output for Windows 95.
-
-Tue Oct 17 1:09:00 2000 Corinna Vinschen <corinna@vinschen.de>
-
- Patch suggested by Brad Town <btown@ceddec.com>:
- * cygcheck.cc (main): Fix argument counting.
-
-Sat Oct 14 23:42:58 2000 Christopher Faylor <cgf@cygnus.com>
-
- * ps.cc (main): Accomodate new PID_ constant.
-
-Thu Oct 12 02:19:12 2000 Christopher Faylor <cgf@cygnus.com>
-
- * strace.cc (proc_child): Handle exceptions correctly.
-
-Sun Oct 8 23:11:17 2000 Christopher Faylor <cgf@cygnus.com>
-
- * ps.cc (main): Change order of reporting slightly so that windows pids
- are more obvious.
- * strace.cc (add_child): Just add child's pid directly.
- (remove_child): No need to close the child process pid since
- ContinueDebugEvent does that automatically.
- (proc_child): Ditto for child thread.
-
-Fri Sep 29 13:12:00 2000 Corinna Vinschen <corinna@vinschen.de>
-
- * cygcheck.cc (keyeprint): New function.
- (check_keys): New function. Perform checking keycodes.
- (main): Add option `-k' for invoking check_keys.
- Change option processing to use long options and getopt_long.
- * cygkeycheck.cc: Removed. Functionality moved to `cygcheck.cc'.
- * Makefile.in: Remove cygkeycheck from the dependencies.
-
-Wed Sep 27 16:24:00 2000 Corinna Vinschen <corinna@vinschen.de>
-
- * cygkeycheck.cc: New file. Utility to retrieve keycodes.
- * Makefile.in: Add cygkeycheck to the dependencies.
-
-2000-09-15 Joerg Schaible <joerg.schaible@gmx.de>
-
- * cygpath.cc: Add new options: -s and -i.
- * utils.sgml: Document the new options.
-
-Tue Sep 12 22:45:28 2000 Christopher Faylor <cgf@cygnus.com>
-
- * kill.cc (main): Change behavior of -f so that it will force the
- killing of a cygwin process after waiting 2 tenths of a second for it
- to terminate.
- (forcekill): Add an extra argument determining whether to wait for the
- process to exit.
-
-Sun Sep 10 12:50:02 2000 Christopher Faylor <cgf@cygnus.com>
-
- * Makefile.in: Refine dumper.exe message.
-
-Mon Aug 28 21:55:56 2000 Christopher Faylor <cgf@cygnus.com>
-
- * kill.c (main): Avoid skipping next argument when a signal number is
- specified.
- * Makefile.in: Always clean dumper.exe.
-
-Fri Aug 25 12:41:53 2000 Christopher Faylor <cgf@cygnus.com>
-
- * Makefile.in: Only build dumper.exe when all of its library and
- include dependencies are available.
-
-Fri Aug 25 11:44:29 2000 Christopher Faylor <cgf@cygnus.com>
-
- * Makefile.in: Make failure to build dumper.exe a non-error.
-
-Thu Aug 24 18:02:35 2000 Christopher Faylor <cgf@cygnus.com>
-
- * ps.cc (main): Always print a cygwin process using cygwin paths.
-
-2000-08-24 Egor Duda <deo@logos-m.ru>
-
- * Makefile.in: Add dumper.exe target and associated mechanisms for building it.
- * dumper.cc: New file.
- * dumper.h: New file.
- * module_info.cc: New file.
- * parse_pe.cc: New file.
-
-Mon Jul 31 15:12:00 2000 Corinna Vinschen <corinna@vinschen.de>
-
- * passwd.c (main): Initialize oldpwd before beeing used.
-
-Sat Jul 29 00:44:46 2000 Christopher Faylor <cgf@cygnus.com>
-
- * kill.cc (main): Add '-f' option to force termination of a process.
- (forcekill): New function.
- * ps.cc (main): Add '-W' option to list Windows pids as well as Cygwin
- pids.
- (dummyprocessmodules): New function.
- (GetModuleFileNameEx95): New function.
- (init_win): New function.
- (to_time_t): New function.
-
-Thu Jul 27 22:54:28 2000 Jason Tishler <jt@dothill.com>
-
- * utils/mount.cc (main): Add --show-cygdrive-prefixes option.
- (show_cygdrive_prefixes): New function.
- * utils/umount.cc (main): Add --remove-cygdrive-prefix option.
- (error): Change signature from 'char *' to 'const char *'.
- (remove_cygdrive_prefix): New function.
-
-Thu Jul 13 22:24:00 2000 Corinna Vinschen <corinna@vinschen.de>
-
- * mount.cc (mount_already_exists): Slightly rearrange.
- Change message texts.
-
-Thu Jul 13 13:02:00 2000 Corinna Vinschen <corinna@vinschen.de>
-
- * mount.cc (mount_already_exists): Additional warning message
- if mount point exists with another mount type.
-
-Sat Jul 1 00:19:27 2000 Christopher Faylor <cgf@cygnus.com>
-
- * Makefile.in: Find getopt.c in cygwin/lib subdirectory.
-
-Sat Jun 24 23:16:33 2000 Christopher Faylor <cgf@cygnus.com>
-
- * cygcheck.cc (cygwin_info): New function. Scans DLL for Cygwin
- version info.
- (dll_info): Add path parameter for checking "cygwin1.dll".
- (track_down): Accomodate additional parameter for dll_info.
- (ls): Ditto.
- (dump_sys_info): Always print cygwin1.dll last.
-
-2000-06-07 Kazuhiro Fujieda <fujieda@jaist.ac.jp>
-
- * mount.cc (error): New function to report an error and exit.
- * umount.cc (error): Ditto.
- (remove_all_automounts): Check return status of cygwin_umount.
- (remove_all_user_mounts): Ditto.
- (remove_all_system_mounts): Ditto.
-
-2000-06-05 DJ Delorie <dj@cygnus.com>
-
- * mount.cc: add stdlib.h for exit
- * umount.cc: ditto
- * strace.cc: add #define for alloca
-
-Fri May 20 0:01:00 2000 Corinna Vinschen <corinna@vinschen.de>
-
- * regtool.cc (find_key): Add parameter `access'.
- Call `RegOpenKeyEx' with that desired access.
- (cmd_add, cmd_remove, cmd_set, cmd_unset): Call
- `find_key' with KEY_ALL_ACCESS access.
- (cmd_list, cmd_check, cmd_get): Call `find_key'
- with KEY_READ access.
-
-2000-05-19 DJ Delorie <dj@cygnus.com>
-
- * cygpath.cc: add --windir/--sysdir options
- * utils.sgml: and document them
-
-Thu May 18 14:38:26 2000 Christopher Faylor <cgf@cygnus.com>
-
- * Makefile.in: Eliminate WINSUP_DEPS.
- * cygpath.cc: Reorganize includes to accomodate sys/cygwin.h changes.
- * mkgroup.c: Ditto.
- * mkpasswd.c: Ditto.
- * mount.cc: Ditto. Eliminate use of cygwin source specific includes.
- * ps.cc: Ditto.
- * cygwin.cc: Eliminate obsolete file.
-
-Wed Apr 26 23:43:25 2000 Christopher Faylor <cgf@cygnus.com>
-
- * mount.cc (main): Add "-X" option to specify a "Cygwin executable".
-
-Sat Apr 15 23:34:00 2000 Corinna Vinschen <corinna@vinschen.de>
-
- * mkpasswd.c (main): Use GetDCName instead of GetAnyDCName.
- Don't create extra passwd entry for administrators group
- if local_groups is set.
- (usage): Change usage text slightly.
- (enum_users): Loop while ERROR_MORE_DATA is returned.
- (enum_local_groups): Ditto.
- * mkgroup.c (enum_local_groups): Ditto.
- (enum_groups) Ditto.
- (usage): Change usage text slightly.
-
-Thu Apr 13 01:22:35 2000 Christopher Faylor <cgf@cygnus.com>
-
- * cygpath.cc (main): Add -a -o and -c options.
- (doit): Ditto.
-
-Mon Apr 10 22:56:07 2000 Christopher Faylor <cgf@cygnus.com>
-
- * cygpath.cc (main): Add -f option for processing a group of paths from
- a file.
- (doit): New function.
-
-Sat Mar 18 22:52:37 2000 Christopher Faylor <cgf@cygnus.com>
-
- Patch suggested by Mumit Khan <khan@xraylith.wisc.edu>:
- * strace.cc (_impure_ptr): New global variable to make strace build
- under Cygwin gcc.
-
-Sat Mar 18 12:45:10 2000 Christopher Faylor <cgf@cygnus.com>
-
- * Makefile.in: Make CXXFLAGS consistent with cygwin.
-
-Wed Mar 15 00:53:58 2000 Christopher Faylor <cgf@cygnus.com>
-
- * Makefile.in: Use MINGW_CXXFLAGS when compiling strace.
-
-Sun Mar 12 21:22:25 2000 Christopher Faylor <cgf@cygnus.com>
-
- * strace.cc: Throughout, track information like start_time, etc. on a
- per-process basis.
-
-Sun Feb 27 23:37:32 2000 Christopher Faylor <cgf@cygnus.com>
-
- * strace.cc (handle_output_debug_string): Parse strace output to allow
- various types of time output.
-
-Fri Jan 21 02:10:26 Corinna Vinschen <corinna@vinschen.de>
-
- * utils/regtool.cc (translate): Added unix like backslash
- processing.
-
-2000-01-20 Corinna Vinschen <corinna@vinschen.de>
-
- * regtool.cc: allow forward slashes as key separators
-
-2000-01-19 DJ Delorie <dj@redhat.com>
-
- * regtool.cc: New file.
- * Makefile.in: add regtool
- * utils.sgml: add regtool
-
-Sat Jan 8 17:13:51 2000 Christopher Faylor <cgf@cygnus.com>
-
- * getfacl.c: New file.
- * setfacl.c: New file.
- * Makefile.in: Add getfacl.exe and setfacl.exe to list of PROGS.
- Fix link flags in MINGW case.
diff --git a/winsup/utils/Makefile.in b/winsup/utils/Makefile.in
deleted file mode 100644
index 1494996e8..000000000
--- a/winsup/utils/Makefile.in
+++ /dev/null
@@ -1,217 +0,0 @@
-# Makefile for Cygwin utilities
-# Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 Red Hat, Inc.
-
-# This file is part of Cygwin.
-
-# This software is a copyrighted work licensed under the terms of the
-# Cygwin license. Please consult the file "CYGWIN_LICENSE" for
-# details.
-
-SHELL:=@SHELL@
-
-srcdir:=@srcdir@
-VPATH:=@srcdir@
-prefix:=@prefix@
-exec_prefix:=@exec_prefix@
-
-bindir:=@bindir@
-etcdir:=$(exec_prefix)/etc
-program_transform_name:=@program_transform_name@
-
-override INSTALL:=@INSTALL@
-override INSTALL_PROGRAM:=@INSTALL_PROGRAM@
-override INSTALL_DATA:=@INSTALL_DATA@
-
-EXEEXT:=@EXEEXT@
-EXEEXT_FOR_BUILD:=@EXEEXT_FOR_BUILD@
-
-CC:=@CC@
-CC_FOR_TARGET:=$(CC)
-CXX:=@CXX@
-CXX_FOR_TARGET:=$(CXX)
-
-CFLAGS:=@CFLAGS@
-CXXFLAGS:=@CXXFLAGS@
-override CXXFLAGS+=-fno-exceptions -fno-rtti -DHAVE_DECL_GETOPT=0
-
-include $(srcdir)/../Makefile.common
-
-LIBICONV:=@libiconv@
-libbfd:=${shell $(CC) -B$(bupdir2)/bfd/ --print-file-name=libbfd.a}
-libintl:=${shell $(CC) -B$(bupdir2)/intl/ --print-file-name=libintl.a}
-build_dumper:=${shell test -r $(libbfd) -a -r $(libintl) -a -n "$(LIBICONV)" && echo 1}
-
-libz:=${shell x=$$($(CC) -mno-cygwin --print-file-name=libz.a); cd $$(dirname $$x); dir=$$(pwd); case "$$dir" in *mingw*) echo $$dir/libz.a ;; esac}
-zlib_h:=-include ${patsubst %/lib/mingw/libz.a,%/include/zlib.h,${patsubst %/lib/libz.a,%/include/zlib.h,$(libz)}}
-zconf_h:=${patsubst %/zlib.h,%/zconf.h,$(zlib_h)}
-ifeq "${libz}" ""
-zlib_h:=
-zconf_h:=
-libz:=
-endif
-
-DUMPER_INCLUDES:=-I$(bupdir2)/bfd -I$(updir1)/include
-
-libcygwin:=$(cygwin_build)/libcygwin.a
-libuser32:=$(w32api_lib)/libuser32.a
-libkernel32:=$(w32api_lib)/libkernel32.a
-ALL_DEP_LDLIBS:=$(libcygwin) $(w32api_lib)/libnetapi32.a \
- $(w32api_lib)/libadvapi32.a $(w32api_lib)/libkernel32.a \
- $(w32api_lib)/libuser32.a
-
-ALL_LDLIBS:=${patsubst $(w32api_lib)/lib%.a,-l%,\
- ${filter-out $(libuser32),\
- ${filter-out $(libkernel32),\
- ${filter-out $(libcygwin), $(ALL_DEP_LDLIBS)}}}}
-
-MINGW_LIB:=$(mingw_build)/libmingw32.a
-DUMPER_LIB:=${libbfd} ${libintl} -L$(bupdir1)/libiberty $(LIBICONV) -liberty
-MINGW_LDLIBS:=${filter-out $(libcygwin),$(ALL_LDLIBS) $(MINGW_LIB)}
-MINGW_DEP_LDLIBS:=${ALL_DEP_LDLIBS} ${MINGW_LIB}
-ALL_LDFLAGS:=-B$(newlib_build)/libc -B$(w32api_lib) $(LDFLAGS) $(ALL_LDLIBS)
-DUMPER_LDFLAGS:=$(ALL_LDFLAGS) $(DUMPER_LIB)
-MINGW_CXX:=${patsubst %/cygwin/include,%/mingw/include,${filter-out -I$(newlib_source)/%,$(COMPILE_CXX)}} -I$(updir)
-
-PROGS:= cygcheck.exe cygpath.exe getfacl.exe kill.exe mkgroup.exe \
- mkpasswd.exe mount.exe passwd.exe ps.exe regtool.exe setfacl.exe \
- ssp.exe strace.exe umount.exe ipcrm.exe ipcs.exe
-
-CLEAN_PROGS:=$(PROGS)
-ifndef build_dumper
-PROGS:=warn_dumper $(PROGS)
-else
-PROGS+=dumper$(EXEEXT)
-CLEAN_PROGS+=dumper.exe
-endif
-
-.SUFFIXES:
-.NOEXPORT:
-
-.PHONY: all install clean realclean warn_dumper
-
-all: Makefile $(PROGS)
-
-strace.exe: strace.o path.o $(MINGW_DEP_LDLIBS)
-ifdef VERBOSE
- $(CXX) $(MINGW_CXXFLAGS) -o $@ ${wordlist 1,2,$^} -B$(mingw_build)/ $(MINGW_LDFLAGS)
-else
- @echo $(CXX) -o $@ ${wordlist 1,2,$^} ${filter-out -B%, $(MINGW_CXXFLAGS) $(MINGW_LDFLAGS)};\
- $(CXX) $(MINGW_CXXFLAGS) -o $@ ${wordlist 1,2,$^} -B$(mingw_build)/ $(MINGW_LDFLAGS)
-endif
-
-cygcheck.exe: cygcheck.o path.o dump_setup.o $(MINGW_DEP_LDLIBS) $(w32api_lib)/libwininet.a
-ifeq "$(libz)" ""
- @echo '*** Building cygcheck without package content checking due to missing mingw libz.a.'
-endif
-ifdef VERBOSE
- $(CXX) $(MINGW_CXXFLAGS) -o $@ ${wordlist 1,3,$^} -B$(mingw_build)/ $(MINGW_LDFLAGS) $(libz) $(w32api_lib)/libwininet.a
-else
- @echo $(CXX) -o $@ ${wordlist 1,3,$^} ${filter-out -B%, $(MINGW_CXXFLAGS) $(MINGW_LDFLAGS)} $(libz) $(w32api_lib)/libwininet.a;\
- $(CXX) $(MINGW_CXXFLAGS) -o $@ ${wordlist 1,3,$^} -B$(mingw_build)/ $(MINGW_LDFLAGS) $(libz) $(w32api_lib)/libwininet.a
-endif
-
-dumper.o: dumper.cc dumper.h
-ifdef VERBOSE
- ${filter-out -nostdinc,$(COMPILE_CXX)} $c -o $@ $(DUMPER_INCLUDES) ${firstword $^}
-else
- @echo $(CXX) $c $(CFLAGS) $(DUMPER_INCLUDES) ... $(basename $@).cc;\
- ${filter-out -nostdinc,$(COMPILE_CXX)} $c -o $(@D)/$(basename $@)$o $(DUMPER_INCLUDES) $<
-endif
-
-module_info.o: module_info.cc
-ifdef VERBOSE
- ${filter-out -nostdinc,$(COMPILE_CXX)} $c -o $@ $(DUMPER_INCLUDES) ${firstword $^}
-else
- @echo $(CXX) $c $(CFLAGS) $(DUMPER_INCLUDES) ... $(basename $@).cc;\
- ${filter-out -nostdinc,$(COMPILE_CXX)} $c -o $(@D)/$(basename $@)$o $(DUMPER_INCLUDES) $<
-endif
-
-parse_pe.o: parse_pe.cc dumper.h
-ifdef VERBOSE
- ${filter-out -nostdinc,$(COMPILE_CXX)} $c -o $@ $(DUMPER_INCLUDES) ${firstword $^}
-else
- @echo $(CXX) $c $(CFLAGS) $(DUMPER_INCLUDES) ... $(basename $@).cc;\
- ${filter-out -nostdinc,$(COMPILE_CXX)} $c -o $(@D)/$(basename $@)$o $(DUMPER_INCLUDES) $<
-endif
-
-path.o: path.cc
-ifdef VERBOSE
- $(MINGW_CXX) $c -o $(@D)/$(basename $@)$o $(MINGW_CXXFLAGS) $<
-else
- @echo $(MINGW_CXX) $c -o $(@D)/$(basename $@)$o $(MINGW_CXXFLAGS) ... $^;\
- ${MINGW_CXX} $c -o $(@D)/$(basename $@)$o $(MINGW_CXXFLAGS) $<
-endif
-
-dump_setup.o: dump_setup.cc
-ifdef VERBOSE
- $(MINGW_CXX) $(zconf_h) $(zlib_h) $c -o $(@D)/$(basename $@)$o $(MINGW_CXXFLAGS) $<
-else
- @echo $(MINGW_CXX) $c -o $(@D)/$(basename $@)$o $(MINGW_CXXFLAGS) ... $^;\
- $(MINGW_CXX) $(zconf_h) $(zlib_h) $c -o $(@D)/$(basename $@)$o $(MINGW_CXXFLAGS) $<
-endif
-
-cygcheck.o: cygcheck.cc
-ifdef VERBOSE
- ${MINGW_CXX} $c -o $(@D)/$(basename $@)$o $(MINGW_CXXFLAGS) -I$(updir) $<
-else
- @echo $(MINGW_CXX) $c -o $(@D)/$(basename $@)$o $(MINGW_CXXFLAGS) ... $^;\
- ${MINGW_CXX} $c -o $(@D)/$(basename $@)$o $(MINGW_CXXFLAGS) -I$(updir) $<
-endif
-
-strace.o: strace.cc
-ifdef VERBOSE
- $(MINGW_CXX) $c -o $(@D)/$(basename $@)$o $(MINGW_CXXFLAGS) -I$(updir) $<
-else
- @echo $(MINGW_CXX) $c -o $(@D)/$(basename $@)$o $(MINGW_CXXFLAGS) ... $^;\
- $(MINGW_CXX) $c -o $(@D)/$(basename $@)$o $(MINGW_CXXFLAGS) -I$(updir) $<
-endif
-
-kill.exe: kill.o $(bupdir1)/libiberty/strsignal.o
-ifdef VERBOSE
- $(CXX) -o $@ $^ -B$(cygwin_build)/ $(ALL_LDFLAGS) $(KILL_LIB)
-else
- @echo $(CXX) -o $@ $^ ${filter-out -B%, $(ALL_LDFLAGS)};\
- $(CXX) -o $@ $^ -B$(cygwin_build)/ $(ALL_LDFLAGS) $(KILL_LIB)
-endif
-
-clean:
- rm -f *.o $(CLEAN_PROGS)
-
-realclean: clean
- rm -f Makefile config.cache
-
-install: all
- $(SHELL) $(updir1)/mkinstalldirs $(bindir) $(etcdir)
- for i in $(PROGS) ; do \
- n=`echo $$i | sed '$(program_transform_name)'`; \
- $(INSTALL_PROGRAM) $$i $(bindir)/$$n; \
- done
-
-$(cygwin_build)/libcygwin.a: $(cygwin_build)/Makefile
- @$(MAKE) -C $(@D) $(@F)
-
-$(mingw_build)/libmingw32.a: $(mingw_build)/Makefile
- @$(MAKE) -C $(@D) $(@F)
-
-warn_dumper:
- @echo '*** Not building dumper.exe since some required libraries are'
- @echo '*** missing: libbfd.a and libintl.a.'
- @echo '*** If you need this program, check out the naked-bfd and naked-intl'
- @echo '*** sources from sources.redhat.com. Then, configure and build these'
- @echo '*** libraries. Otherwise, you can safely ignore this warning.'
-
-dumper.exe: module_info.o parse_pe.o dumper.o $(ALL_DEP_LDLIBS)
-ifdef VERBOSE
- $(CXX) -o $@ ${wordlist 1,3,$^} -B$(cygwin_build)/ $(DUMPER_LDFLAGS)
-else
- @echo $(CXX) -o $@ ${wordlist 1,3,$^} ${filter-out -B%, $(DUMPER_LDFLAGS)};\
- $(CXX) -o $@ ${wordlist 1,3,$^} -B$(cygwin_build)/ $(DUMPER_LDFLAGS)
-endif
-
-%.exe: %.o $(ALL_DEP_LDLIBS)
-ifdef VERBOSE
- $(CXX) -o $@ ${firstword $^} -B$(cygwin_build)/ $(ALL_LDFLAGS)
-else
- @echo $(CXX) -o $@ ${firstword $^} ... ${filter-out -B%, $(ALL_LDFLAGS)};\
- $(CXX) -o $@ ${firstword $^} -B$(cygwin_build)/ $(ALL_LDFLAGS)
-endif
diff --git a/winsup/utils/aclocal.m4 b/winsup/utils/aclocal.m4
deleted file mode 100644
index 754f640bb..000000000
--- a/winsup/utils/aclocal.m4
+++ /dev/null
@@ -1,78 +0,0 @@
-dnl aclocal.m4 generated automatically by aclocal 1.3b
-
-dnl Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-dnl This program is distributed in the hope that it will be useful,
-dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-dnl PARTICULAR PURPOSE.
-
-# Check to see if we're running under Win32, without using
-# AC_CANONICAL_*. If so, set output variable EXEEXT to ".exe".
-# Otherwise set it to "".
-
-dnl AM_EXEEXT()
-dnl This knows we add .exe if we're building in the Cygwin
-dnl environment. But if we're not, then it compiles a test program
-dnl to see if there is a suffix for executables.
-AC_DEFUN(AM_EXEEXT,
-[AC_REQUIRE([AM_CYGWIN])
-AC_REQUIRE([AM_MINGW32])
-AC_MSG_CHECKING([for executable suffix])
-AC_CACHE_VAL(am_cv_exeext,
-[if test "$CYGWIN" = yes || test "$MINGW32" = yes; then
-am_cv_exeext=.exe
-else
-cat > am_c_test.c << 'EOF'
-int main() {
-/* Nothing needed here */
-}
-EOF
-${CC-cc} -o am_c_test $CFLAGS $CPPFLAGS $LDFLAGS am_c_test.c $LIBS 1>&5
-am_cv_exeext=
-for file in am_c_test.*; do
- case $file in
- *.c) ;;
- *.o) ;;
- *) am_cv_exeext=`echo $file | sed -e s/am_c_test//` ;;
- esac
-done
-rm -f am_c_test*])
-test x"${am_cv_exeext}" = x && am_cv_exeext=no
-fi
-EXEEXT=""
-test x"${am_cv_exeext}" != xno && EXEEXT=${am_cv_exeext}
-AC_MSG_RESULT(${am_cv_exeext})
-AC_SUBST(EXEEXT)])
-
-# Check to see if we're running under Cygwin, without using
-# AC_CANONICAL_*. If so, set output variable CYGWIN to "yes".
-# Otherwise set it to "no".
-
-dnl AM_CYGWIN()
-AC_DEFUN(AM_CYGWIN,
-[AC_CACHE_CHECK(for Cygwin environment, am_cv_cygwin,
-[AC_TRY_COMPILE(,[return __CYGWIN32__;],
-am_cv_cygwin=yes, am_cv_cygwin=no)
-rm -f conftest*])
-CYGWIN=
-test "$am_cv_cygwin" = yes && CYGWIN=yes])
-
-
-
-# Check to see if we're running under Mingw, without using
-# AC_CANONICAL_*. If so, set output variable MINGW32 to "yes".
-# Otherwise set it to "no".
-
-dnl AM_MINGW32()
-AC_DEFUN(AM_MINGW32,
-[AC_CACHE_CHECK(for Mingw32 environment, am_cv_mingw32,
-[AC_TRY_COMPILE(,[return __MINGW32__;],
-am_cv_mingw32=yes, am_cv_mingw32=no)
-rm -f conftest*])
-MINGW32=
-test "$am_cv_mingw32" = yes && MINGW32=yes])
-
diff --git a/winsup/utils/configure b/winsup/utils/configure
deleted file mode 100755
index 85502a9be..000000000
--- a/winsup/utils/configure
+++ /dev/null
@@ -1,1391 +0,0 @@
-#! /bin/sh
-
-# Guess values for system-dependent variables and create Makefiles.
-# Generated automatically using autoconf version 2.13
-# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
-#
-# This configure script is free software; the Free Software Foundation
-# gives unlimited permission to copy, distribute and modify it.
-
-# Defaults:
-ac_help=
-ac_default_prefix=/usr/local
-# Any additions from configure.in:
-
-# Initialize some variables set by options.
-# The variables have the same names as the options, with
-# dashes changed to underlines.
-build=NONE
-cache_file=./config.cache
-exec_prefix=NONE
-host=NONE
-no_create=
-nonopt=NONE
-no_recursion=
-prefix=NONE
-program_prefix=NONE
-program_suffix=NONE
-program_transform_name=s,x,x,
-silent=
-site=
-srcdir=
-target=NONE
-verbose=
-x_includes=NONE
-x_libraries=NONE
-bindir='${exec_prefix}/bin'
-sbindir='${exec_prefix}/sbin'
-libexecdir='${exec_prefix}/libexec'
-datadir='${prefix}/share'
-sysconfdir='${prefix}/etc'
-sharedstatedir='${prefix}/com'
-localstatedir='${prefix}/var'
-libdir='${exec_prefix}/lib'
-includedir='${prefix}/include'
-oldincludedir='/usr/include'
-infodir='${prefix}/info'
-mandir='${prefix}/man'
-
-# Initialize some other variables.
-subdirs=
-MFLAGS= MAKEFLAGS=
-SHELL=${CONFIG_SHELL-/bin/sh}
-# Maximum number of lines to put in a shell here document.
-ac_max_here_lines=12
-
-ac_prev=
-for ac_option
-do
-
- # If the previous option needs an argument, assign it.
- if test -n "$ac_prev"; then
- eval "$ac_prev=\$ac_option"
- ac_prev=
- continue
- fi
-
- case "$ac_option" in
- -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
- *) ac_optarg= ;;
- esac
-
- # Accept the important Cygnus configure options, so we can diagnose typos.
-
- case "$ac_option" in
-
- -bindir | --bindir | --bindi | --bind | --bin | --bi)
- ac_prev=bindir ;;
- -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
- bindir="$ac_optarg" ;;
-
- -build | --build | --buil | --bui | --bu)
- ac_prev=build ;;
- -build=* | --build=* | --buil=* | --bui=* | --bu=*)
- build="$ac_optarg" ;;
-
- -cache-file | --cache-file | --cache-fil | --cache-fi \
- | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
- ac_prev=cache_file ;;
- -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
- | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
- cache_file="$ac_optarg" ;;
-
- -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
- ac_prev=datadir ;;
- -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
- | --da=*)
- datadir="$ac_optarg" ;;
-
- -disable-* | --disable-*)
- ac_feature=`echo $ac_option|sed -e 's/-*disable-//'`
- # Reject names that are not valid shell variable names.
- if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then
- { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
- fi
- ac_feature=`echo $ac_feature| sed 's/-/_/g'`
- eval "enable_${ac_feature}=no" ;;
-
- -enable-* | --enable-*)
- ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'`
- # Reject names that are not valid shell variable names.
- if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then
- { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
- fi
- ac_feature=`echo $ac_feature| sed 's/-/_/g'`
- case "$ac_option" in
- *=*) ;;
- *) ac_optarg=yes ;;
- esac
- eval "enable_${ac_feature}='$ac_optarg'" ;;
-
- -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
- | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
- | --exec | --exe | --ex)
- ac_prev=exec_prefix ;;
- -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
- | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
- | --exec=* | --exe=* | --ex=*)
- exec_prefix="$ac_optarg" ;;
-
- -gas | --gas | --ga | --g)
- # Obsolete; use --with-gas.
- with_gas=yes ;;
-
- -help | --help | --hel | --he)
- # Omit some internal or obsolete options to make the list less imposing.
- # This message is too long to be a string in the A/UX 3.1 sh.
- cat << EOF
-Usage: configure [options] [host]
-Options: [defaults in brackets after descriptions]
-Configuration:
- --cache-file=FILE cache test results in FILE
- --help print this message
- --no-create do not create output files
- --quiet, --silent do not print \`checking...' messages
- --version print the version of autoconf that created configure
-Directory and file names:
- --prefix=PREFIX install architecture-independent files in PREFIX
- [$ac_default_prefix]
- --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
- [same as prefix]
- --bindir=DIR user executables in DIR [EPREFIX/bin]
- --sbindir=DIR system admin executables in DIR [EPREFIX/sbin]
- --libexecdir=DIR program executables in DIR [EPREFIX/libexec]
- --datadir=DIR read-only architecture-independent data in DIR
- [PREFIX/share]
- --sysconfdir=DIR read-only single-machine data in DIR [PREFIX/etc]
- --sharedstatedir=DIR modifiable architecture-independent data in DIR
- [PREFIX/com]
- --localstatedir=DIR modifiable single-machine data in DIR [PREFIX/var]
- --libdir=DIR object code libraries in DIR [EPREFIX/lib]
- --includedir=DIR C header files in DIR [PREFIX/include]
- --oldincludedir=DIR C header files for non-gcc in DIR [/usr/include]
- --infodir=DIR info documentation in DIR [PREFIX/info]
- --mandir=DIR man documentation in DIR [PREFIX/man]
- --srcdir=DIR find the sources in DIR [configure dir or ..]
- --program-prefix=PREFIX prepend PREFIX to installed program names
- --program-suffix=SUFFIX append SUFFIX to installed program names
- --program-transform-name=PROGRAM
- run sed PROGRAM on installed program names
-EOF
- cat << EOF
-Host type:
- --build=BUILD configure for building on BUILD [BUILD=HOST]
- --host=HOST configure for HOST [guessed]
- --target=TARGET configure for TARGET [TARGET=HOST]
-Features and packages:
- --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
- --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
- --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
- --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
- --x-includes=DIR X include files are in DIR
- --x-libraries=DIR X library files are in DIR
-EOF
- if test -n "$ac_help"; then
- echo "--enable and --with options recognized:$ac_help"
- fi
- exit 0 ;;
-
- -host | --host | --hos | --ho)
- ac_prev=host ;;
- -host=* | --host=* | --hos=* | --ho=*)
- host="$ac_optarg" ;;
-
- -includedir | --includedir | --includedi | --included | --include \
- | --includ | --inclu | --incl | --inc)
- ac_prev=includedir ;;
- -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
- | --includ=* | --inclu=* | --incl=* | --inc=*)
- includedir="$ac_optarg" ;;
-
- -infodir | --infodir | --infodi | --infod | --info | --inf)
- ac_prev=infodir ;;
- -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
- infodir="$ac_optarg" ;;
-
- -libdir | --libdir | --libdi | --libd)
- ac_prev=libdir ;;
- -libdir=* | --libdir=* | --libdi=* | --libd=*)
- libdir="$ac_optarg" ;;
-
- -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
- | --libexe | --libex | --libe)
- ac_prev=libexecdir ;;
- -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
- | --libexe=* | --libex=* | --libe=*)
- libexecdir="$ac_optarg" ;;
-
- -localstatedir | --localstatedir | --localstatedi | --localstated \
- | --localstate | --localstat | --localsta | --localst \
- | --locals | --local | --loca | --loc | --lo)
- ac_prev=localstatedir ;;
- -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
- | --localstate=* | --localstat=* | --localsta=* | --localst=* \
- | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
- localstatedir="$ac_optarg" ;;
-
- -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
- ac_prev=mandir ;;
- -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
- mandir="$ac_optarg" ;;
-
- -nfp | --nfp | --nf)
- # Obsolete; use --without-fp.
- with_fp=no ;;
-
- -no-create | --no-create | --no-creat | --no-crea | --no-cre \
- | --no-cr | --no-c)
- no_create=yes ;;
-
- -no-recursion | --no-recursion | --no-recursio | --no-recursi \
- | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
- no_recursion=yes ;;
-
- -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
- | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
- | --oldin | --oldi | --old | --ol | --o)
- ac_prev=oldincludedir ;;
- -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
- | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
- | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
- oldincludedir="$ac_optarg" ;;
-
- -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
- ac_prev=prefix ;;
- -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
- prefix="$ac_optarg" ;;
-
- -program-prefix | --program-prefix | --program-prefi | --program-pref \
- | --program-pre | --program-pr | --program-p)
- ac_prev=program_prefix ;;
- -program-prefix=* | --program-prefix=* | --program-prefi=* \
- | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
- program_prefix="$ac_optarg" ;;
-
- -program-suffix | --program-suffix | --program-suffi | --program-suff \
- | --program-suf | --program-su | --program-s)
- ac_prev=program_suffix ;;
- -program-suffix=* | --program-suffix=* | --program-suffi=* \
- | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
- program_suffix="$ac_optarg" ;;
-
- -program-transform-name | --program-transform-name \
- | --program-transform-nam | --program-transform-na \
- | --program-transform-n | --program-transform- \
- | --program-transform | --program-transfor \
- | --program-transfo | --program-transf \
- | --program-trans | --program-tran \
- | --progr-tra | --program-tr | --program-t)
- ac_prev=program_transform_name ;;
- -program-transform-name=* | --program-transform-name=* \
- | --program-transform-nam=* | --program-transform-na=* \
- | --program-transform-n=* | --program-transform-=* \
- | --program-transform=* | --program-transfor=* \
- | --program-transfo=* | --program-transf=* \
- | --program-trans=* | --program-tran=* \
- | --progr-tra=* | --program-tr=* | --program-t=*)
- program_transform_name="$ac_optarg" ;;
-
- -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- | -silent | --silent | --silen | --sile | --sil)
- silent=yes ;;
-
- -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
- ac_prev=sbindir ;;
- -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
- | --sbi=* | --sb=*)
- sbindir="$ac_optarg" ;;
-
- -sharedstatedir | --sharedstatedir | --sharedstatedi \
- | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
- | --sharedst | --shareds | --shared | --share | --shar \
- | --sha | --sh)
- ac_prev=sharedstatedir ;;
- -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
- | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
- | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
- | --sha=* | --sh=*)
- sharedstatedir="$ac_optarg" ;;
-
- -site | --site | --sit)
- ac_prev=site ;;
- -site=* | --site=* | --sit=*)
- site="$ac_optarg" ;;
-
- -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
- ac_prev=srcdir ;;
- -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
- srcdir="$ac_optarg" ;;
-
- -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
- | --syscon | --sysco | --sysc | --sys | --sy)
- ac_prev=sysconfdir ;;
- -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
- | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
- sysconfdir="$ac_optarg" ;;
-
- -target | --target | --targe | --targ | --tar | --ta | --t)
- ac_prev=target ;;
- -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
- target="$ac_optarg" ;;
-
- -v | -verbose | --verbose | --verbos | --verbo | --verb)
- verbose=yes ;;
-
- -version | --version | --versio | --versi | --vers)
- echo "configure generated by autoconf version 2.13"
- exit 0 ;;
-
- -with-* | --with-*)
- ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'`
- # Reject names that are not valid shell variable names.
- if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then
- { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
- fi
- ac_package=`echo $ac_package| sed 's/-/_/g'`
- case "$ac_option" in
- *=*) ;;
- *) ac_optarg=yes ;;
- esac
- eval "with_${ac_package}='$ac_optarg'" ;;
-
- -without-* | --without-*)
- ac_package=`echo $ac_option|sed -e 's/-*without-//'`
- # Reject names that are not valid shell variable names.
- if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then
- { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
- fi
- ac_package=`echo $ac_package| sed 's/-/_/g'`
- eval "with_${ac_package}=no" ;;
-
- --x)
- # Obsolete; use --with-x.
- with_x=yes ;;
-
- -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
- | --x-incl | --x-inc | --x-in | --x-i)
- ac_prev=x_includes ;;
- -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
- | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
- x_includes="$ac_optarg" ;;
-
- -x-libraries | --x-libraries | --x-librarie | --x-librari \
- | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
- ac_prev=x_libraries ;;
- -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
- | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
- x_libraries="$ac_optarg" ;;
-
- -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; }
- ;;
-
- *)
- if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then
- echo "configure: warning: $ac_option: invalid host type" 1>&2
- fi
- if test "x$nonopt" != xNONE; then
- { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; }
- fi
- nonopt="$ac_option"
- ;;
-
- esac
-done
-
-if test -n "$ac_prev"; then
- { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; }
-fi
-
-trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
-
-# File descriptor usage:
-# 0 standard input
-# 1 file creation
-# 2 errors and warnings
-# 3 some systems may open it to /dev/tty
-# 4 used on the Kubota Titan
-# 6 checking for... messages and results
-# 5 compiler messages saved in config.log
-if test "$silent" = yes; then
- exec 6>/dev/null
-else
- exec 6>&1
-fi
-exec 5>./config.log
-
-echo "\
-This file contains any messages produced by compilers while
-running configure, to aid debugging if configure makes a mistake.
-" 1>&5
-
-# Strip out --no-create and --no-recursion so they do not pile up.
-# Also quote any args containing shell metacharacters.
-ac_configure_args=
-for ac_arg
-do
- case "$ac_arg" in
- -no-create | --no-create | --no-creat | --no-crea | --no-cre \
- | --no-cr | --no-c) ;;
- -no-recursion | --no-recursion | --no-recursio | --no-recursi \
- | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;;
- *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*)
- ac_configure_args="$ac_configure_args '$ac_arg'" ;;
- *) ac_configure_args="$ac_configure_args $ac_arg" ;;
- esac
-done
-
-# NLS nuisances.
-# Only set these to C if already set. These must not be set unconditionally
-# because not all systems understand e.g. LANG=C (notably SCO).
-# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'!
-# Non-C LC_CTYPE values break the ctype check.
-if test "${LANG+set}" = set; then LANG=C; export LANG; fi
-if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
-if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi
-if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi
-
-# confdefs.h avoids OS command line length limits that DEFS can exceed.
-rm -rf conftest* confdefs.h
-# AIX cpp loses on an empty file, so make sure it contains at least a newline.
-echo > confdefs.h
-
-# A filename unique to this package, relative to the directory that
-# configure is in, which we can look for to find out if srcdir is correct.
-ac_unique_file=mount.cc
-
-# Find the source files, if location was not specified.
-if test -z "$srcdir"; then
- ac_srcdir_defaulted=yes
- # Try the directory containing this script, then its parent.
- ac_prog=$0
- ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'`
- test "x$ac_confdir" = "x$ac_prog" && ac_confdir=.
- srcdir=$ac_confdir
- if test ! -r $srcdir/$ac_unique_file; then
- srcdir=..
- fi
-else
- ac_srcdir_defaulted=no
-fi
-if test ! -r $srcdir/$ac_unique_file; then
- if test "$ac_srcdir_defaulted" = yes; then
- { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; }
- else
- { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; }
- fi
-fi
-srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'`
-
-# Prefer explicitly selected file to automatically selected ones.
-if test -z "$CONFIG_SITE"; then
- if test "x$prefix" != xNONE; then
- CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
- else
- CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
- fi
-fi
-for ac_site_file in $CONFIG_SITE; do
- if test -r "$ac_site_file"; then
- echo "loading site script $ac_site_file"
- . "$ac_site_file"
- fi
-done
-
-if test -r "$cache_file"; then
- echo "loading cache $cache_file"
- . $cache_file
-else
- echo "creating cache $cache_file"
- > $cache_file
-fi
-
-ac_ext=c
-# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
-ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
-cross_compiling=$ac_cv_prog_cc_cross
-
-ac_exeext=
-ac_objext=o
-if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
- # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
- if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
- ac_n= ac_c='
-' ac_t=' '
- else
- ac_n=-n ac_c= ac_t=
- fi
-else
- ac_n= ac_c='\c' ac_t=
-fi
-
-
-
-
-
-
-
-
-ac_aux_dir=
-for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do
- if test -f $ac_dir/install-sh; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/install-sh -c"
- break
- elif test -f $ac_dir/install.sh; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/install.sh -c"
- break
- fi
-done
-if test -z "$ac_aux_dir"; then
- { echo "configure: error: can not find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." 1>&2; exit 1; }
-fi
-ac_config_guess=$ac_aux_dir/config.guess
-ac_config_sub=$ac_aux_dir/config.sub
-ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
-
-
-# Do some error checking and defaulting for the host and target type.
-# The inputs are:
-# configure --host=HOST --target=TARGET --build=BUILD NONOPT
-#
-# The rules are:
-# 1. You are not allowed to specify --host, --target, and nonopt at the
-# same time.
-# 2. Host defaults to nonopt.
-# 3. If nonopt is not specified, then host defaults to the current host,
-# as determined by config.guess.
-# 4. Target and build default to nonopt.
-# 5. If nonopt is not specified, then target and build default to host.
-
-# The aliases save the names the user supplied, while $host etc.
-# will get canonicalized.
-case $host---$target---$nonopt in
-NONE---*---* | *---NONE---* | *---*---NONE) ;;
-*) { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; } ;;
-esac
-
-
-# Make sure we can run config.sub.
-if ${CONFIG_SHELL-/bin/sh} $ac_config_sub sun4 >/dev/null 2>&1; then :
-else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
-fi
-
-echo $ac_n "checking host system type""... $ac_c" 1>&6
-echo "configure:578: checking host system type" >&5
-
-host_alias=$host
-case "$host_alias" in
-NONE)
- case $nonopt in
- NONE)
- if host_alias=`${CONFIG_SHELL-/bin/sh} $ac_config_guess`; then :
- else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; }
- fi ;;
- *) host_alias=$nonopt ;;
- esac ;;
-esac
-
-host=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $host_alias`
-host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
-host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
-host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
-echo "$ac_t""$host" 1>&6
-
-echo $ac_n "checking target system type""... $ac_c" 1>&6
-echo "configure:599: checking target system type" >&5
-
-target_alias=$target
-case "$target_alias" in
-NONE)
- case $nonopt in
- NONE) target_alias=$host_alias ;;
- *) target_alias=$nonopt ;;
- esac ;;
-esac
-
-target=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $target_alias`
-target_cpu=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
-target_vendor=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
-target_os=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
-echo "$ac_t""$target" 1>&6
-
-echo $ac_n "checking build system type""... $ac_c" 1>&6
-echo "configure:617: checking build system type" >&5
-
-build_alias=$build
-case "$build_alias" in
-NONE)
- case $nonopt in
- NONE) build_alias=$host_alias ;;
- *) build_alias=$nonopt ;;
- esac ;;
-esac
-
-build=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $build_alias`
-build_cpu=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
-build_vendor=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
-build_os=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
-echo "$ac_t""$build" 1>&6
-
-test "$host_alias" != "$target_alias" &&
- test "$program_prefix$program_suffix$program_transform_name" = \
- NONENONEs,x,x, &&
- program_prefix=${target_alias}-
-
-
-# Extract the first word of "gcc", so it can be a program name with args.
-set dummy gcc; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:643: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
- ac_dummy="$PATH"
- for ac_dir in $ac_dummy; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- ac_cv_prog_CC="gcc"
- break
- fi
- done
- IFS="$ac_save_ifs"
-fi
-fi
-CC="$ac_cv_prog_CC"
-if test -n "$CC"; then
- echo "$ac_t""$CC" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
-if test -z "$CC"; then
- # Extract the first word of "cc", so it can be a program name with args.
-set dummy cc; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:673: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
- ac_prog_rejected=no
- ac_dummy="$PATH"
- for ac_dir in $ac_dummy; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then
- ac_prog_rejected=yes
- continue
- fi
- ac_cv_prog_CC="cc"
- break
- fi
- done
- IFS="$ac_save_ifs"
-if test $ac_prog_rejected = yes; then
- # We found a bogon in the path, so make sure we never use it.
- set dummy $ac_cv_prog_CC
- shift
- if test $# -gt 0; then
- # We chose a different compiler from the bogus one.
- # However, it has the same basename, so the bogon will be chosen
- # first if we set CC to just the basename; use the full file name.
- shift
- set dummy "$ac_dir/$ac_word" "$@"
- shift
- ac_cv_prog_CC="$@"
- fi
-fi
-fi
-fi
-CC="$ac_cv_prog_CC"
-if test -n "$CC"; then
- echo "$ac_t""$CC" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
- test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; }
-fi
-
-echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
-echo "configure:722: checking whether we are using GNU C" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.c <<EOF
-#ifdef __GNUC__
- yes;
-#endif
-EOF
-if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:731: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
- ac_cv_prog_gcc=yes
-else
- ac_cv_prog_gcc=no
-fi
-fi
-
-echo "$ac_t""$ac_cv_prog_gcc" 1>&6
-
-if test $ac_cv_prog_gcc = yes; then
- GCC=yes
- ac_test_CFLAGS="${CFLAGS+set}"
- ac_save_CFLAGS="$CFLAGS"
- CFLAGS=
- echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
-echo "configure:746: checking whether ${CC-cc} accepts -g" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- echo 'void f(){}' > conftest.c
-if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then
- ac_cv_prog_cc_g=yes
-else
- ac_cv_prog_cc_g=no
-fi
-rm -f conftest*
-
-fi
-
-echo "$ac_t""$ac_cv_prog_cc_g" 1>&6
- if test "$ac_test_CFLAGS" = set; then
- CFLAGS="$ac_save_CFLAGS"
- elif test $ac_cv_prog_cc_g = yes; then
- CFLAGS="-g -O2"
- else
- CFLAGS="-O2"
- fi
-else
- GCC=
- test "${CFLAGS+set}" = set || CFLAGS="-g"
-fi
-
-if test $host != $build; then
- ac_tool_prefix=${host_alias}-
-else
- ac_tool_prefix=
-fi
-
-# Extract the first word of "${ac_tool_prefix}g++", so it can be a program name with args.
-set dummy ${ac_tool_prefix}g++; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:782: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_CXX'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$CXX"; then
- ac_cv_prog_CXX="$CXX" # Let the user override the test.
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
- ac_dummy="$PATH"
- for ac_dir in $ac_dummy; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- ac_cv_prog_CXX="${ac_tool_prefix}g++"
- break
- fi
- done
- IFS="$ac_save_ifs"
-fi
-fi
-CXX="$ac_cv_prog_CXX"
-if test -n "$CXX"; then
- echo "$ac_t""$CXX" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
-
-if test -z "$ac_cv_prog_CXX"; then
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "g++", so it can be a program name with args.
-set dummy g++; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:814: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_CXX'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$CXX"; then
- ac_cv_prog_CXX="$CXX" # Let the user override the test.
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
- ac_dummy="$PATH"
- for ac_dir in $ac_dummy; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- ac_cv_prog_CXX="g++"
- break
- fi
- done
- IFS="$ac_save_ifs"
- test -z "$ac_cv_prog_CXX" && ac_cv_prog_CXX="g++"
-fi
-fi
-CXX="$ac_cv_prog_CXX"
-if test -n "$CXX"; then
- echo "$ac_t""$CXX" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
-else
- CXX="g++"
-fi
-fi
-
-if test -z "$CXX"; then
- # Extract the first word of "c++", so it can be a program name with args.
-set dummy c++; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:850: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_CXX'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$CXX"; then
- ac_cv_prog_CXX="$CXX" # Let the user override the test.
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
- ac_dummy="$PATH"
- for ac_dir in $ac_dummy; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- ac_cv_prog_CXX="c++"
- break
- fi
- done
- IFS="$ac_save_ifs"
-fi
-fi
-CXX="$ac_cv_prog_CXX"
-if test -n "$CXX"; then
- echo "$ac_t""$CXX" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
- test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; }
-fi
-
-CXXFLAGS='$(CFLAGS)'
-
-
-if test "$program_transform_name" = s,x,x,; then
- program_transform_name=
-else
- # Double any \ or $. echo might interpret backslashes.
- cat <<\EOF_SED > conftestsed
-s,\\,\\\\,g; s,\$,$$,g
-EOF_SED
- program_transform_name="`echo $program_transform_name|sed -f conftestsed`"
- rm -f conftestsed
-fi
-test "$program_prefix" != NONE &&
- program_transform_name="s,^,${program_prefix},; $program_transform_name"
-# Use a double $ so make ignores it.
-test "$program_suffix" != NONE &&
- program_transform_name="s,\$\$,${program_suffix},; $program_transform_name"
-
-# sed with no file args requires a program.
-test "$program_transform_name" = "" && program_transform_name="s,x,x,"
-
-
-echo $ac_n "checking for libiconv in -liconv""... $ac_c" 1>&6
-echo "configure:903: checking for libiconv in -liconv" >&5
-ac_lib_var=`echo iconv'_'libiconv | sed 'y%./+-%__p_%'`
-if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- ac_save_LIBS="$LIBS"
-LIBS="-liconv $LIBS"
-cat > conftest.$ac_ext <<EOF
-#line 911 "configure"
-#include "confdefs.h"
-/* Override any gcc2 internal prototype to avoid an error. */
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char libiconv();
-
-int main() {
-libiconv()
-; return 0; }
-EOF
-if { (eval echo configure:922: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
- rm -rf conftest*
- eval "ac_cv_lib_$ac_lib_var=yes"
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- eval "ac_cv_lib_$ac_lib_var=no"
-fi
-rm -f conftest*
-LIBS="$ac_save_LIBS"
-
-fi
-if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
- echo "$ac_t""yes" 1>&6
- libiconv=-liconv
-else
- echo "$ac_t""no" 1>&6
-fi
-
-
-
-if test "x$cross_compiling" = "xyes"; then
- if test "x$program_transform_name" = "xs,x,x,"; then
- program_transform_name=""
- fi
- if test "x$program_transform_name" = "x"; then
- program_transform_name="s,^,$host-,"
- else
- program_transform_name="$program_transform_name -e s,^,$host-,"
- fi
-fi
-
-INSTALL="/bin/sh "`cd $srcdir/../..; echo $(pwd)/install-sh -c`
-
-# Find a good install program. We prefer a C program (faster),
-# so one script is as good as another. But avoid the broken or
-# incompatible versions:
-# SysV /etc/install, /usr/sbin/install
-# SunOS /usr/etc/install
-# IRIX /sbin/install
-# AIX /bin/install
-# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
-# AFS /usr/afsws/bin/install, which mishandles nonexistent args
-# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
-# ./install, which can be erroneously created by make from ./install.sh.
-echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
-echo "configure:969: checking for a BSD compatible install" >&5
-if test -z "$INSTALL"; then
-if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":"
- for ac_dir in $PATH; do
- # Account for people who put trailing slashes in PATH elements.
- case "$ac_dir/" in
- /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
- *)
- # OSF1 and SCO ODT 3.0 have their own names for install.
- # Don't use installbsd from OSF since it installs stuff as root
- # by default.
- for ac_prog in ginstall scoinst install; do
- if test -f $ac_dir/$ac_prog; then
- if test $ac_prog = install &&
- grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
- # AIX install. It has an incompatible calling convention.
- :
- else
- ac_cv_path_install="$ac_dir/$ac_prog -c"
- break 2
- fi
- fi
- done
- ;;
- esac
- done
- IFS="$ac_save_IFS"
-
-fi
- if test "${ac_cv_path_install+set}" = set; then
- INSTALL="$ac_cv_path_install"
- else
- # As a last resort, use the slow shell script. We don't cache a
- # path for INSTALL within a source directory, because that will
- # break other packages using the cache if that directory is
- # removed, or if the path is relative.
- INSTALL="$ac_install_sh"
- fi
-fi
-echo "$ac_t""$INSTALL" 1>&6
-
-# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
-# It thinks the first close brace ends the variable substitution.
-test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
-
-test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
-
-test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
-
-
-echo $ac_n "checking for Cygwin environment""... $ac_c" 1>&6
-echo "configure:1023: checking for Cygwin environment" >&5
-if eval "test \"`echo '$''{'am_cv_cygwin'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 1028 "configure"
-#include "confdefs.h"
-
-int main() {
-return __CYGWIN32__;
-; return 0; }
-EOF
-if { (eval echo configure:1035: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
- rm -rf conftest*
- am_cv_cygwin=yes
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- am_cv_cygwin=no
-fi
-rm -f conftest*
-rm -f conftest*
-fi
-
-echo "$ac_t""$am_cv_cygwin" 1>&6
-CYGWIN=
-test "$am_cv_cygwin" = yes && CYGWIN=yes
-echo $ac_n "checking for Mingw32 environment""... $ac_c" 1>&6
-echo "configure:1052: checking for Mingw32 environment" >&5
-if eval "test \"`echo '$''{'am_cv_mingw32'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 1057 "configure"
-#include "confdefs.h"
-
-int main() {
-return __MINGW32__;
-; return 0; }
-EOF
-if { (eval echo configure:1064: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
- rm -rf conftest*
- am_cv_mingw32=yes
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- am_cv_mingw32=no
-fi
-rm -f conftest*
-rm -f conftest*
-fi
-
-echo "$ac_t""$am_cv_mingw32" 1>&6
-MINGW32=
-test "$am_cv_mingw32" = yes && MINGW32=yes
-
-
-echo $ac_n "checking for executable suffix""... $ac_c" 1>&6
-echo "configure:1083: checking for executable suffix" >&5
-if eval "test \"`echo '$''{'am_cv_exeext'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test "$CYGWIN" = yes || test "$MINGW32" = yes; then
-am_cv_exeext=.exe
-else
-cat > am_c_test.c << 'EOF'
-int main() {
-/* Nothing needed here */
-}
-EOF
-${CC-cc} -o am_c_test $CFLAGS $CPPFLAGS $LDFLAGS am_c_test.c $LIBS 1>&5
-am_cv_exeext=
-for file in am_c_test.*; do
- case $file in
- *.c) ;;
- *.o) ;;
- *) am_cv_exeext=`echo $file | sed -e s/am_c_test//` ;;
- esac
-done
-rm -f am_c_test*
-fi
-
-test x"${am_cv_exeext}" = x && am_cv_exeext=no
-fi
-EXEEXT=""
-test x"${am_cv_exeext}" != xno && EXEEXT=${am_cv_exeext}
-echo "$ac_t""${am_cv_exeext}" 1>&6
-
-
-trap '' 1 2 15
-cat > confcache <<\EOF
-# This file is a shell script that caches the results of configure
-# tests run on this system so they can be shared between configure
-# scripts and configure runs. It is not useful on other systems.
-# If it contains results you don't want to keep, you may remove or edit it.
-#
-# By default, configure uses ./config.cache as the cache file,
-# creating it if it does not exist already. You can give configure
-# the --cache-file=FILE option to use a different cache file; that is
-# what configure does when it calls configure scripts in
-# subdirectories, so they share the cache.
-# Giving --cache-file=/dev/null disables caching, for debugging configure.
-# config.status only pays attention to the cache file if you give it the
-# --recheck option to rerun configure.
-#
-EOF
-# The following way of writing the cache mishandles newlines in values,
-# but we know of no workaround that is simple, portable, and efficient.
-# So, don't put newlines in cache variables' values.
-# Ultrix sh set writes to stderr and can't be redirected directly,
-# and sets the high bit in the cache file unless we assign to the vars.
-(set) 2>&1 |
- case `(ac_space=' '; set | grep ac_space) 2>&1` in
- *ac_space=\ *)
- # `set' does not quote correctly, so add quotes (double-quote substitution
- # turns \\\\ into \\, and sed turns \\ into \).
- sed -n \
- -e "s/'/'\\\\''/g" \
- -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p"
- ;;
- *)
- # `set' quotes correctly as required by POSIX, so do not add quotes.
- sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p'
- ;;
- esac >> confcache
-if cmp -s $cache_file confcache; then
- :
-else
- if test -w $cache_file; then
- echo "updating cache $cache_file"
- cat confcache > $cache_file
- else
- echo "not updating unwritable cache $cache_file"
- fi
-fi
-rm -f confcache
-
-trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
-
-test "x$prefix" = xNONE && prefix=$ac_default_prefix
-# Let make expand exec_prefix.
-test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
-
-# Any assignment to VPATH causes Sun make to only execute
-# the first set of double-colon rules, so remove it if not needed.
-# If there is a colon in the path, we need to keep it.
-if test "x$srcdir" = x.; then
- ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d'
-fi
-
-trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15
-
-# Transform confdefs.h into DEFS.
-# Protect against shell expansion while executing Makefile rules.
-# Protect against Makefile macro expansion.
-cat > conftest.defs <<\EOF
-s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%-D\1=\2%g
-s%[ `~#$^&*(){}\\|;'"<>?]%\\&%g
-s%\[%\\&%g
-s%\]%\\&%g
-s%\$%$$%g
-EOF
-DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '`
-rm -f conftest.defs
-
-
-# Without the "./", some shells look in PATH for config.status.
-: ${CONFIG_STATUS=./config.status}
-
-echo creating $CONFIG_STATUS
-rm -f $CONFIG_STATUS
-cat > $CONFIG_STATUS <<EOF
-#! /bin/sh
-# Generated automatically by configure.
-# Run this file to recreate the current configuration.
-# This directory was configured as follows,
-# on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
-#
-# $0 $ac_configure_args
-#
-# Compiler output produced by configure, useful for debugging
-# configure, is in ./config.log if it exists.
-
-ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]"
-for ac_option
-do
- case "\$ac_option" in
- -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
- echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
- exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
- -version | --version | --versio | --versi | --vers | --ver | --ve | --v)
- echo "$CONFIG_STATUS generated by autoconf version 2.13"
- exit 0 ;;
- -help | --help | --hel | --he | --h)
- echo "\$ac_cs_usage"; exit 0 ;;
- *) echo "\$ac_cs_usage"; exit 1 ;;
- esac
-done
-
-ac_given_srcdir=$srcdir
-ac_given_INSTALL="$INSTALL"
-
-trap 'rm -fr `echo "Makefile" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
-EOF
-cat >> $CONFIG_STATUS <<EOF
-
-# Protect against being on the right side of a sed subst in config.status.
-sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&%]/\\\\&/g;
- s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF
-$ac_vpsub
-$extrasub
-s%@SHELL@%$SHELL%g
-s%@CFLAGS@%$CFLAGS%g
-s%@CPPFLAGS@%$CPPFLAGS%g
-s%@CXXFLAGS@%$CXXFLAGS%g
-s%@FFLAGS@%$FFLAGS%g
-s%@DEFS@%$DEFS%g
-s%@LDFLAGS@%$LDFLAGS%g
-s%@LIBS@%$LIBS%g
-s%@exec_prefix@%$exec_prefix%g
-s%@prefix@%$prefix%g
-s%@program_transform_name@%$program_transform_name%g
-s%@bindir@%$bindir%g
-s%@sbindir@%$sbindir%g
-s%@libexecdir@%$libexecdir%g
-s%@datadir@%$datadir%g
-s%@sysconfdir@%$sysconfdir%g
-s%@sharedstatedir@%$sharedstatedir%g
-s%@localstatedir@%$localstatedir%g
-s%@libdir@%$libdir%g
-s%@includedir@%$includedir%g
-s%@oldincludedir@%$oldincludedir%g
-s%@infodir@%$infodir%g
-s%@mandir@%$mandir%g
-s%@host@%$host%g
-s%@host_alias@%$host_alias%g
-s%@host_cpu@%$host_cpu%g
-s%@host_vendor@%$host_vendor%g
-s%@host_os@%$host_os%g
-s%@target@%$target%g
-s%@target_alias@%$target_alias%g
-s%@target_cpu@%$target_cpu%g
-s%@target_vendor@%$target_vendor%g
-s%@target_os@%$target_os%g
-s%@build@%$build%g
-s%@build_alias@%$build_alias%g
-s%@build_cpu@%$build_cpu%g
-s%@build_vendor@%$build_vendor%g
-s%@build_os@%$build_os%g
-s%@CC@%$CC%g
-s%@CXX@%$CXX%g
-s%@libiconv@%$libiconv%g
-s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g
-s%@INSTALL_SCRIPT@%$INSTALL_SCRIPT%g
-s%@INSTALL_DATA@%$INSTALL_DATA%g
-s%@EXEEXT@%$EXEEXT%g
-
-CEOF
-EOF
-
-cat >> $CONFIG_STATUS <<\EOF
-
-# Split the substitutions into bite-sized pieces for seds with
-# small command number limits, like on Digital OSF/1 and HP-UX.
-ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script.
-ac_file=1 # Number of current file.
-ac_beg=1 # First line for current file.
-ac_end=$ac_max_sed_cmds # Line after last line for current file.
-ac_more_lines=:
-ac_sed_cmds=""
-while $ac_more_lines; do
- if test $ac_beg -gt 1; then
- sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file
- else
- sed "${ac_end}q" conftest.subs > conftest.s$ac_file
- fi
- if test ! -s conftest.s$ac_file; then
- ac_more_lines=false
- rm -f conftest.s$ac_file
- else
- if test -z "$ac_sed_cmds"; then
- ac_sed_cmds="sed -f conftest.s$ac_file"
- else
- ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file"
- fi
- ac_file=`expr $ac_file + 1`
- ac_beg=$ac_end
- ac_end=`expr $ac_end + $ac_max_sed_cmds`
- fi
-done
-if test -z "$ac_sed_cmds"; then
- ac_sed_cmds=cat
-fi
-EOF
-
-cat >> $CONFIG_STATUS <<EOF
-
-CONFIG_FILES=\${CONFIG_FILES-"Makefile"}
-EOF
-cat >> $CONFIG_STATUS <<\EOF
-for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
- # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
- case "$ac_file" in
- *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
- ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
- *) ac_file_in="${ac_file}.in" ;;
- esac
-
- # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories.
-
- # Remove last slash and all that follows it. Not all systems have dirname.
- ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
- if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
- # The file is in a subdirectory.
- test ! -d "$ac_dir" && mkdir "$ac_dir"
- ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`"
- # A "../" for each directory in $ac_dir_suffix.
- ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'`
- else
- ac_dir_suffix= ac_dots=
- fi
-
- case "$ac_given_srcdir" in
- .) srcdir=.
- if test -z "$ac_dots"; then top_srcdir=.
- else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;;
- /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;;
- *) # Relative path.
- srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix"
- top_srcdir="$ac_dots$ac_given_srcdir" ;;
- esac
-
- case "$ac_given_INSTALL" in
- [/$]*) INSTALL="$ac_given_INSTALL" ;;
- *) INSTALL="$ac_dots$ac_given_INSTALL" ;;
- esac
-
- echo creating "$ac_file"
- rm -f "$ac_file"
- configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure."
- case "$ac_file" in
- *Makefile*) ac_comsub="1i\\
-# $configure_input" ;;
- *) ac_comsub= ;;
- esac
-
- ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
- sed -e "$ac_comsub
-s%@configure_input@%$configure_input%g
-s%@srcdir@%$srcdir%g
-s%@top_srcdir@%$top_srcdir%g
-s%@INSTALL@%$INSTALL%g
-" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file
-fi; done
-rm -f conftest.s*
-
-EOF
-cat >> $CONFIG_STATUS <<EOF
-
-EOF
-cat >> $CONFIG_STATUS <<\EOF
-
-exit 0
-EOF
-chmod +x $CONFIG_STATUS
-rm -fr confdefs* $ac_clean_files
-test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1
-
diff --git a/winsup/utils/configure.in b/winsup/utils/configure.in
deleted file mode 100644
index 83d639a02..000000000
--- a/winsup/utils/configure.in
+++ /dev/null
@@ -1,92 +0,0 @@
-dnl Autoconf configure script for Cygwin utilities.
-dnl Copyright 1996, 1997, 1998, 1999, 2000 Cygnus Solutions.
-dnl
-dnl This file is part of Cygwin.
-dnl
-dnl This software is a copyrighted work licensed under the terms of the
-dnl Cygwin license. Please consult the file "CYGWIN_LICENSE" for
-dnl details.
-
-dnl Process this file with autoconf to produce a configure script.
-
-AC_PREREQ(2.12)
-
-AC_INIT(mount.cc)
-
-dnl FIXME: We temporarily define our own version of AC_PROG_CC. This is
-dnl copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
-dnl are probably using a cross compiler, which will not be able to fully
-dnl link an executable. This should really be fixed in autoconf
-dnl itself.
-
-AC_DEFUN(LIB_AC_PROG_CC,
-[AC_BEFORE([$0], [AC_PROG_CPP])dnl
-AC_CHECK_PROG(CC, gcc, gcc)
-if test -z "$CC"; then
- AC_CHECK_PROG(CC, cc, cc, , , /usr/ucb/cc)
- test -z "$CC" && AC_MSG_ERROR([no acceptable cc found in \$PATH])
-fi
-
-AC_PROG_CC_GNU
-
-if test $ac_cv_prog_gcc = yes; then
- GCC=yes
-dnl Check whether -g works, even if CFLAGS is set, in case the package
-dnl plays around with CFLAGS (such as to build both debugging and
-dnl normal versions of a library), tasteless as that idea is.
- ac_test_CFLAGS="${CFLAGS+set}"
- ac_save_CFLAGS="$CFLAGS"
- CFLAGS=
- AC_PROG_CC_G
- if test "$ac_test_CFLAGS" = set; then
- CFLAGS="$ac_save_CFLAGS"
- elif test $ac_cv_prog_cc_g = yes; then
- CFLAGS="-g -O2"
- else
- CFLAGS="-O2"
- fi
-else
- GCC=
- test "${CFLAGS+set}" = set || CFLAGS="-g"
-fi
-])
-
-AC_DEFUN(LIB_AC_PROG_CXX,
-[AC_BEFORE([$0], [AC_PROG_CPP])dnl
-AC_CHECK_TOOL(CXX, g++, g++)
-if test -z "$CXX"; then
- AC_CHECK_PROG(CXX, c++, c++, , , )
- test -z "$CC" && AC_MSG_ERROR([no acceptable cc found in \$PATH])
-fi
-
-CXXFLAGS='$(CFLAGS)'
-])
-
-AC_CANONICAL_SYSTEM
-
-LIB_AC_PROG_CC
-LIB_AC_PROG_CXX
-
-AC_ARG_PROGRAM
-
-AC_CHECK_LIB(iconv, libiconv, libiconv=-liconv)
-AC_SUBST(libiconv)
-
-if test "x$cross_compiling" = "xyes"; then
- if test "x$program_transform_name" = "xs,x,x,"; then
- program_transform_name=""
- fi
- if test "x$program_transform_name" = "x"; then
- program_transform_name="s,^,$host-,"
- else
- program_transform_name="$program_transform_name -e s,^,$host-,"
- fi
-fi
-
-INSTALL="/bin/sh "`cd $srcdir/../..; echo $(pwd)/install-sh -c`
-
-AC_PROG_INSTALL
-
-AM_EXEEXT
-
-AC_OUTPUT(Makefile)
diff --git a/winsup/utils/cygcheck.cc b/winsup/utils/cygcheck.cc
deleted file mode 100644
index 0467a415a..000000000
--- a/winsup/utils/cygcheck.cc
+++ /dev/null
@@ -1,1861 +0,0 @@
-/* cygcheck.cc
-
- Copyright 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 Red Hat, Inc.
-
- This file is part of Cygwin.
-
- This software is a copyrighted work licensed under the terms of the
- Cygwin license. Please consult the file "CYGWIN_LICENSE" for
- details. */
-
-#define cygwin_internal cygwin_internal_dontuse
-#include <stdio.h>
-#include <stdlib.h>
-#include <stdarg.h>
-#include <string.h>
-#include <sys/time.h>
-#include <ctype.h>
-#include <io.h>
-#include <windows.h>
-#include <wininet.h>
-#include "path.h"
-#include <getopt.h>
-#include "cygwin/include/sys/cygwin.h"
-#include "cygwin/include/mntent.h"
-#undef cygwin_internal
-
-#define alloca __builtin_alloca
-
-int verbose = 0;
-int registry = 0;
-int sysinfo = 0;
-int givehelp = 0;
-int keycheck = 0;
-int check_setup = 0;
-int dump_only = 0;
-int find_package = 0;
-int list_package = 0;
-int grep_packages = 0;
-
-#ifdef __GNUC__
-typedef long long longlong;
-#else
-typedef __int64 longlong;
-#endif
-
-void dump_setup (int, char **, bool);
-void package_find (int, char **);
-void package_list (int, char **);
-
-static const char version[] = "$Revision$";
-
-static const char *known_env_vars[] = {
- "c_include_path",
- "compiler_path",
- "cxx_include_path",
- "cygwin",
- "cygwin32",
- "dejagnu",
- "expect",
- "gcc_default_options",
- "gcc_exec_prefix",
- "home",
- "ld_library_path",
- "library_path",
- "login",
- "lpath",
- "make_mode",
- "makeflags",
- "path",
- "pwd",
- "strace",
- "tcl_library",
- "user",
- 0
-};
-
-struct
-{
- const char *name;
- int missing_is_good;
-}
-static common_apps[] = {
- {"awk", 0},
- {"bash", 0},
- {"cat", 0},
- {"cp", 0},
- {"cpp", 1},
- {"find", 0},
- {"gcc", 0},
- {"gdb", 0},
- {"grep", 0},
- {"ld", 0},
- {"ls", 0},
- {"make", 0},
- {"mv", 0},
- {"rm", 0},
- {"sed", 0},
- {"sh", 0},
- {"tar", 0},
- {0, 0}
-};
-
-static int num_paths = 0, max_paths = 0;
-static char **paths = 0;
-
-void
-eprintf (const char *format, ...)
-{
- va_list ap;
- va_start (ap, format);
- vfprintf (stderr, format, ap);
- va_end (ap);
-}
-
-/*
- * display_error() is used to report failure modes
- */
-static int
-display_error (const char *name, bool show_error = true, bool print_failed = true)
-{
- if (show_error)
- fprintf (stderr, "cygcheck: %s%s: %lu\n", name,
- print_failed ? " failed" : "", GetLastError ());
- else
- fprintf (stderr, "cygcheck: %s%s\n", name,
- print_failed ? " failed" : "");
- return 1;
-}
-
-/* Display a WinInet error message, and close a variable number of handles.
- (Passed a list of handles terminated by NULL.) */
-static int
-display_internet_error (const char *message, ...)
-{
- DWORD err = GetLastError ();
- TCHAR err_buf[256];
- va_list hptr;
- HINTERNET h;
-
- /* in the case of a successful connection but 404 response, there is no
- win32 error message, but we still get passed a message to display. */
- if (err)
- {
- if (FormatMessage (FORMAT_MESSAGE_FROM_HMODULE,
- GetModuleHandle ("wininet.dll"), err, 0, err_buf,
- sizeof (err_buf), NULL) == 0)
- strcpy (err_buf, "(Unknown error)");
-
- fprintf (stderr, "cygcheck: %s: %s (win32 error %d)\n", message,
- err_buf, err);
- }
- else
- fprintf (stderr, "cygcheck: %s\n", message);
-
- va_start (hptr, message);
- while ((h = va_arg (hptr, HINTERNET)) != 0)
- InternetCloseHandle (h);
- va_end (hptr);
-
- return 1;
-}
-
-static void
-add_path (char *s, int maxlen)
-{
- if (num_paths >= max_paths)
- {
- max_paths += 10;
- if (paths)
- paths = (char **) realloc (paths, max_paths * sizeof (char *));
- else
- paths = (char **) malloc (max_paths * sizeof (char *));
- }
- paths[num_paths] = (char *) malloc (maxlen + 1);
- if (paths[num_paths] == NULL)
- {
- display_error ("add_path: malloc()");
- return;
- }
- memcpy (paths[num_paths], s, maxlen);
- paths[num_paths][maxlen] = 0;
- char *e = paths[num_paths] + strlen (paths[num_paths]);
- if (e[-1] == '\\' && e[-2] != ':')
- *--e = 0;
- for (int i = 1; i < num_paths; i++)
- if (strcasecmp (paths[num_paths], paths[i]) == 0)
- {
- free (paths[num_paths]);
- return;
- }
- num_paths++;
-}
-
-static void
-init_paths ()
-{
- char tmp[4000], *sl;
- add_path ((char *) ".", 1); /* to be replaced later */
-
- if (GetCurrentDirectory (4000, tmp))
- add_path (tmp, strlen (tmp));
- else
- display_error ("init_paths: GetCurrentDirectory()");
-
- if (GetSystemDirectory (tmp, 4000))
- add_path (tmp, strlen (tmp));
- else
- display_error ("init_paths: GetSystemDirectory()");
- sl = strrchr (tmp, '\\');
- if (sl)
- {
- strcpy (sl, "\\SYSTEM");
- add_path (tmp, strlen (tmp));
- }
- GetWindowsDirectory (tmp, 4000);
- add_path (tmp, strlen (tmp));
-
- char *wpath = getenv ("PATH");
- if (wpath)
- {
- char *b, *e;
- b = wpath;
- while (1)
- {
- for (e = b; *e && *e != ';'; e++);
- if (strncmp(b, ".", 1) && strncmp(b, ".\\", 2))
- add_path (b, e - b);
- if (!*e)
- break;
- b = e + 1;
- }
- }
- else
- printf ("WARNING: PATH is not set at all!\n");
-}
-
-static char *
-find_on_path (char *file, char *default_extension,
- int showall = 0, int search_sysdirs = 0)
-{
- static char rv[4000];
- char tmp[4000], *ptr = rv;
-
- if (!file)
- {
- display_error ("find_on_path: NULL pointer for file", false, false);
- return 0;
- }
-
- if (default_extension == NULL)
- {
- display_error ("find_on_path: NULL pointer for default_extension", false, false);
- return 0;
- }
-
- if (strchr (file, ':') || strchr (file, '\\') || strchr (file, '/'))
- {
- char *fn = cygpath (file, NULL);
- if (access (fn, F_OK) == 0)
- return fn;
- strcpy (rv, fn);
- strcat (rv, default_extension);
- return access (rv, F_OK) == 0 ? rv : fn;
- }
-
- if (strchr (file, '.'))
- default_extension = (char *) "";
-
- for (int i = 0; i < num_paths; i++)
- {
- if (!search_sysdirs && (i == 0 || i == 2 || i == 3))
- continue;
- if (i == 0 || !search_sysdirs || strcasecmp (paths[i], paths[0]))
- {
- sprintf (ptr, "%s\\%s%s", paths[i], file, default_extension);
- if (GetFileAttributes (ptr) != (DWORD) - 1)
- {
- if (showall)
- printf ("Found: %s\n", ptr);
- if (ptr == tmp && verbose)
- printf ("Warning: %s hides %s\n", rv, ptr);
- ptr = tmp;
- }
- }
- }
-
- if (ptr == tmp)
- return rv;
-
- return 0;
-}
-
-#define DID_NEW 1
-#define DID_ACTIVE 2
-#define DID_INACTIVE 3
-
-struct Did
-{
- Did *next;
- char *file;
- int state;
-};
-static Did *did = 0;
-
-static Did *
-already_did (char *file)
-{
- Did *d;
- for (d = did; d; d = d->next)
- if (strcasecmp (d->file, file) == 0)
- return d;
- d = (Did *) malloc (sizeof (Did));
- d->file = strdup (file);
- d->next = did;
- d->state = DID_NEW;
- did = d;
- return d;
-}
-
-static int
-get_word (HANDLE fh, int offset)
-{
- short rv;
- unsigned r;
-
- if (SetFilePointer (fh, offset, 0, FILE_BEGIN) == INVALID_SET_FILE_POINTER
- && GetLastError () != NO_ERROR)
- display_error ("get_word: SetFilePointer()");
-
- if (!ReadFile (fh, &rv, 2, (DWORD *) &r, 0))
- display_error ("get_word: Readfile()");
-
- return rv;
-}
-
-static int
-get_dword (HANDLE fh, int offset)
-{
- int rv;
- unsigned r;
-
- if (SetFilePointer (fh, offset, 0, FILE_BEGIN) == INVALID_SET_FILE_POINTER
- && GetLastError () != NO_ERROR)
- display_error ("get_dword: SetFilePointer()");
-
- if (!ReadFile (fh, &rv, 4, (DWORD *) &r, 0))
- display_error ("get_dword: Readfile()");
-
- return rv;
-}
-
-struct Section
-{
- char name[8];
- int virtual_size;
- int virtual_address;
- int size_of_raw_data;
- int pointer_to_raw_data;
-};
-
-static int
-rva_to_offset (int rva, char *sections, int nsections, int *sz)
-{
- int i;
-
- if (sections == NULL)
- {
- display_error ("rva_to_offset: NULL passed for sections", true, false);
- return 0;
- }
-
- for (i = 0; i < nsections; i++)
- {
- Section *s = (Section *) (sections + i * 40);
-#if 0
- printf ("%08x < %08x < %08x ? %08x\n",
- s->virtual_address, rva,
- s->virtual_address + s->virtual_size, s->pointer_to_raw_data);
-#endif
- if (rva >= s->virtual_address
- && rva < s->virtual_address + s->virtual_size)
- {
- if (sz)
- *sz = s->virtual_address + s->virtual_size - rva;
- return rva - s->virtual_address + s->pointer_to_raw_data;
- }
- }
- return 0; /* punt */
-}
-
-struct ExpDirectory
-{
- int flags;
- int timestamp;
- short major_ver;
- short minor_ver;
- int name_rva;
-};
-
-struct ImpDirectory
-{
- unsigned characteristics;
- unsigned timestamp;
- unsigned forwarder_chain;
- unsigned name_rva;
- unsigned iat_rva;
-};
-
-
-static bool track_down (char *file, char *suffix, int lvl);
-
-#define CYGPREFIX (sizeof ("%%% Cygwin ") - 1)
-static void
-cygwin_info (HANDLE h)
-{
- char *buf, *bufend, *buf_start = NULL;
- const char *hello = " Cygwin DLL version info:\n";
- DWORD size = GetFileSize (h, NULL);
- DWORD n;
-
- if (size == 0xffffffff)
- return;
-
- buf_start = buf = (char *) calloc (1, size + 1);
- if (buf == NULL)
- {
- display_error ("cygwin_info: calloc()");
- return;
- }
-
- (void) SetFilePointer (h, 0, NULL, FILE_BEGIN);
- if (!ReadFile (h, buf, size, &n, NULL))
- {
- free (buf_start);
- return;
- }
-
- static char dummy[] = "\0\0\0\0\0\0\0";
- char *dll_major = dummy;
- bufend = buf + size;
- while (buf < bufend)
- if ((buf = (char *) memchr (buf, '%', bufend - buf)) == NULL)
- break;
- else if (strncmp ("%%% Cygwin ", buf, CYGPREFIX) != 0)
- buf++;
- else
- {
- char *p = strchr (buf += CYGPREFIX, '\n');
- if (!p)
- break;
- if (strncasecmp (buf, "dll major:", 10) == 0)
- {
- dll_major = buf + 11;
- continue;
- }
- char *s, pbuf[80];
- int len;
- len = 1 + p - buf;
- if (strncasecmp (buf, "dll minor:", 10) != 0)
- s = buf;
- else
- {
- char c = dll_major[1];
- dll_major[1] = '\0';
- int maj = atoi (dll_major);
- dll_major[1] = c;
- int min = atoi (dll_major + 1);
- sprintf (pbuf, "DLL version: %d.%d.%.*s", maj, min, len - 11,
- buf + 11);
- len = strlen (s = pbuf);
- }
- if (strncmp (s, "dll", 3) == 0)
- memcpy (s, "DLL", 3);
- else if (strncmp (s, "api", 3) == 0)
- memcpy (s, "API", 3);
- else if (islower (*s))
- *s = toupper (*s);
- fprintf (stdout, "%s %.*s", hello, len, s);
- hello = "";
- }
-
- if (!*hello)
- puts ("");
-
- free (buf_start);
- return;
-}
-
-static void
-dll_info (const char *path, HANDLE fh, int lvl, int recurse)
-{
- DWORD junk;
- int i;
- int pe_header_offset = get_dword (fh, 0x3c);
- int opthdr_ofs = pe_header_offset + 4 + 20;
- unsigned short v[6];
-
- if (path == NULL)
- {
- display_error ("dll_info: NULL passed for path", true, false);
- return;
- }
-
- if (SetFilePointer (fh, opthdr_ofs + 40, 0, FILE_BEGIN) ==
- INVALID_SET_FILE_POINTER && GetLastError () != NO_ERROR)
- display_error ("dll_info: SetFilePointer()");
-
- if (!ReadFile (fh, &v, sizeof (v), &junk, 0))
- display_error ("dll_info: Readfile()");
-
- if (verbose)
- printf (" - os=%d.%d img=%d.%d sys=%d.%d\n",
- v[0], v[1], v[2], v[3], v[4], v[5]);
- else
- printf ("\n");
-
- int num_entries = get_dword (fh, opthdr_ofs + 92);
- int export_rva = get_dword (fh, opthdr_ofs + 96);
- int export_size = get_dword (fh, opthdr_ofs + 100);
- int import_rva = get_dword (fh, opthdr_ofs + 104);
- int import_size = get_dword (fh, opthdr_ofs + 108);
-
- int nsections = get_word (fh, pe_header_offset + 4 + 2);
- char *sections = (char *) malloc (nsections * 40);
-
- if (SetFilePointer (fh, pe_header_offset + 4 + 20 +
- get_word (fh, pe_header_offset + 4 + 16), 0,
- FILE_BEGIN) == INVALID_SET_FILE_POINTER
- && GetLastError () != NO_ERROR)
- display_error ("dll_info: SetFilePointer()");
-
- if (!ReadFile (fh, sections, nsections * 40, &junk, 0))
- display_error ("dll_info: Readfile()");
-
- if (verbose && num_entries >= 1 && export_size > 0)
- {
- int expsz;
- int expbase = rva_to_offset (export_rva, sections, nsections, &expsz);
-
- if (expbase)
- {
- if (SetFilePointer (fh, expbase, 0, FILE_BEGIN) ==
- INVALID_SET_FILE_POINTER && GetLastError () != NO_ERROR)
- display_error ("dll_info: SetFilePointer()");
-
- unsigned char *exp = (unsigned char *) malloc (expsz);
-
- if (!ReadFile (fh, exp, expsz, &junk, 0))
- display_error ("dll_info: Readfile()");
-
- ExpDirectory *ed = (ExpDirectory *) exp;
- int ofs = ed->name_rva - export_rva;
- struct tm *tm = localtime ((const time_t *) &(ed->timestamp));
- if (tm->tm_year < 60)
- tm->tm_year += 2000;
- if (tm->tm_year < 200)
- tm->tm_year += 1900;
- printf ("%*c", lvl + 2, ' ');
- printf ("\"%s\" v%d.%d ts=", exp + ofs,
- ed->major_ver, ed->minor_ver);
- printf ("%d/%d/%d %d:%02d\n",
- tm->tm_year, tm->tm_mon + 1, tm->tm_mday,
- tm->tm_hour, tm->tm_min);
- }
- }
-
- if (num_entries >= 2 && import_size > 0 && recurse)
- {
- int impsz;
- int impbase = rva_to_offset (import_rva, sections, nsections, &impsz);
- if (impbase)
- {
- if (SetFilePointer (fh, impbase, 0, FILE_BEGIN) ==
- INVALID_SET_FILE_POINTER && GetLastError () != NO_ERROR)
- display_error ("dll_info: SetFilePointer()");
-
- unsigned char *imp = (unsigned char *) malloc (impsz);
- if (imp == NULL)
- {
- display_error ("dll_info: malloc()");
- return;
- }
-
- if (!ReadFile (fh, imp, impsz, &junk, 0))
- display_error ("dll_info: Readfile()");
-
- ImpDirectory *id = (ImpDirectory *) imp;
- for (i = 0; id[i].name_rva; i++)
- {
- /* int ofs = id[i].name_rva - import_rva; */
- track_down ((char *) imp + id[i].name_rva - import_rva,
- (char *) ".dll", lvl + 2);
- }
- }
- }
- if (strstr (path, "\\cygwin1.dll"))
- cygwin_info (fh);
-}
-
-// Return true on success, false if error printed
-static bool
-track_down (char *file, char *suffix, int lvl)
-{
- if (file == NULL)
- {
- display_error ("track_down: NULL passed for file", true, false);
- return false;
- }
-
- if (suffix == NULL)
- {
- display_error ("track_down: NULL passed for suffix", false, false);
- return false;
- }
-
- char *path = find_on_path (file, suffix, 0, 1);
- if (!path)
- {
- printf ("Error: could not find %s\n", file);
- return false;
- }
-
- Did *d = already_did (file);
- switch (d->state)
- {
- case DID_NEW:
- break;
- case DID_ACTIVE:
- if (verbose)
- {
- if (lvl)
- printf ("%*c", lvl, ' ');
- printf ("%s", path);
- printf (" (recursive)\n");
- }
- return true;
- case DID_INACTIVE:
- if (verbose)
- {
- if (lvl)
- printf ("%*c", lvl, ' ');
- printf ("%s", path);
- printf (" (already done)\n");
- }
- return true;
- default:
- break;
- }
-
- if (lvl)
- printf ("%*c", lvl, ' ');
-
- if (!path)
- {
- printf ("%s not found\n", file);
- return false;
- }
-
- printf ("%s", path);
-
- HANDLE fh =
- CreateFile (path, GENERIC_READ, FILE_SHARE_READ | FILE_SHARE_WRITE,
- NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
- if (fh == INVALID_HANDLE_VALUE)
- {
- printf (" - Cannot open\n");
- return false;
- }
-
- d->state = DID_ACTIVE;
-
- dll_info (path, fh, lvl, 1);
- d->state = DID_INACTIVE;
- if (!CloseHandle (fh))
- display_error ("track_down: CloseHandle()");
- return true;
-}
-
-static void
-ls (char *f)
-{
- HANDLE h = CreateFile (f, GENERIC_READ, FILE_SHARE_READ | FILE_SHARE_WRITE,
- 0, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);
- BY_HANDLE_FILE_INFORMATION info;
-
- if (!GetFileInformationByHandle (h, &info))
- display_error ("ls: GetFileInformationByHandle()");
-
- SYSTEMTIME systime;
-
- if (!FileTimeToSystemTime (&info.ftLastWriteTime, &systime))
- display_error ("ls: FileTimeToSystemTime()");
- printf ("%5dk %04d/%02d/%02d %s",
- (((int) info.nFileSizeLow) + 512) / 1024,
- systime.wYear, systime.wMonth, systime.wDay, f);
- dll_info (f, h, 16, 0);
- if (!CloseHandle (h))
- display_error ("ls: CloseHandle()");
-}
-
-// Return true on success, false if error printed
-static bool
-cygcheck (char *app)
-{
- char *papp = find_on_path (app, (char *) ".exe", 1, 0);
- if (!papp)
- {
- printf ("Error: could not find %s\n", app);
- return false;
- }
- char *s = strdup (papp);
- char *sl = 0, *t;
- for (t = s; *t; t++)
- if (*t == '/' || *t == '\\' || *t == ':')
- sl = t;
- if (sl == 0)
- paths[0] = (char *) ".";
- else
- {
- *sl = 0;
- paths[0] = s;
- }
- did = 0;
- return track_down (papp, (char *) ".exe", 0);
-}
-
-
-extern char **environ;
-
-struct RegInfo
-{
- RegInfo *prev;
- char *name;
- HKEY key;
-};
-
-static void
-show_reg (RegInfo * ri, int nest)
-{
- if (!ri)
- return;
- show_reg (ri->prev, 1);
- if (nest)
- printf ("%s\\", ri->name);
- else
- printf ("%s\n", ri->name);
-}
-
-static void
-scan_registry (RegInfo * prev, HKEY hKey, char *name, int cygnus)
-{
- RegInfo ri;
- ri.prev = prev;
- ri.name = name;
- ri.key = hKey;
-
- char *cp;
- for (cp = name; *cp; cp++)
- if (strncasecmp (cp, "cygnus", 6) == 0)
- cygnus = 1;
-
- DWORD num_subkeys, max_subkey_len, num_values;
- DWORD max_value_len, max_valdata_len, i;
- if (RegQueryInfoKey (hKey, 0, 0, 0, &num_subkeys, &max_subkey_len, 0,
- &num_values, &max_value_len, &max_valdata_len, 0, 0)
- != ERROR_SUCCESS)
- {
-#if 0
- char tmp[400];
- FormatMessage (FORMAT_MESSAGE_FROM_SYSTEM, 0, GetLastError (),
- MAKELANGID (LANG_NEUTRAL, SUBLANG_DEFAULT), tmp, 400, 0);
- printf ("RegQueryInfoKey: %s\n", tmp);
-#endif
- return;
- }
-
- if (cygnus)
- {
- show_reg (&ri, 0);
-
- char *value_name = (char *) malloc (max_value_len + 1);
- if (value_name == NULL)
- {
- display_error ("scan_registry: malloc()");
- return;
- }
-
- char *value_data = (char *) malloc (max_valdata_len + 1);
- if (value_data == NULL)
- {
- display_error ("scan_registry: malloc()");
- return;
- }
-
- for (i = 0; i < num_values; i++)
- {
- DWORD dlen = max_valdata_len + 1;
- DWORD nlen = max_value_len + 1;
- DWORD type;
- RegEnumValue (hKey, i, value_name, &nlen, 0,
- &type, (BYTE *) value_data, &dlen);
- {
- printf (" %s = ", i ? value_name : "(default)");
- switch (type)
- {
- case REG_DWORD:
- printf ("0x%08x\n", *(unsigned *) value_data);
- break;
- case REG_EXPAND_SZ:
- case REG_SZ:
- printf ("`%s'\n", value_data);
- break;
- default:
- printf ("(unsupported type)\n");
- break;
- }
- }
- }
- free (value_name);
- free (value_data);
- }
-
- char *subkey_name = (char *) malloc (max_subkey_len + 1);
- for (i = 0; i < num_subkeys; i++)
- {
- if (RegEnumKey (hKey, i, subkey_name, max_subkey_len + 1) ==
- ERROR_SUCCESS)
- {
- HKEY sKey;
- if (RegOpenKeyEx (hKey, subkey_name, 0, KEY_READ, &sKey)
- == ERROR_SUCCESS)
- {
- scan_registry (&ri, sKey, subkey_name, cygnus);
- if (RegCloseKey (sKey) != ERROR_SUCCESS)
- display_error ("scan_registry: RegCloseKey()");
- }
- }
- }
- free (subkey_name);
-}
-
-void
-pretty_id (const char *s, char *cygwin, size_t cyglen)
-{
- char *groups[16384];
-
- strcpy (cygwin + cyglen++, " ");
- strcpy (cygwin + cyglen, s);
- putenv (cygwin);
-
- char *id = cygpath ("/bin/id.exe", NULL);
- for (char *p = id; (p = strchr (p, '/')); p++)
- *p = '\\';
-
- if (access (id, X_OK))
- {
- fprintf (stderr, "`id' program not found\n");
- return;
- }
-
- FILE *f = popen (id, "rt");
-
- char buf[16384];
- buf[0] = '\0';
- fgets (buf, sizeof (buf), f);
- pclose (f);
- char *uid = strtok (buf, ")");
- if (uid)
- uid += strlen ("uid=");
- else
- {
- fprintf (stderr, "garbled output from `id' command - no uid= found\n");
- return;
- }
- char *gid = strtok (NULL, ")");
- if (gid)
- gid += strlen ("gid=") + 1;
- else
- {
- fprintf (stderr, "garbled output from `id' command - no gid= found\n");
- return;
- }
-
- char **ng = groups - 1;
- size_t len_uid = strlen ("UID: )") + strlen (uid);
- size_t len_gid = strlen ("GID: )") + strlen (gid);
- *++ng = groups[0] = (char *) alloca (len_uid + 1);
- *++ng = groups[1] = (char *) alloca (len_gid + 1);
- sprintf (groups[0], "UID: %s)", uid);
- sprintf (groups[1], "GID: %s)", gid);
- size_t sz = max (len_uid, len_gid);
- while ((*++ng = strtok (NULL, ",")))
- {
- char *p = strchr (*ng, '\n');
- if (p)
- *p = '\0';
- if (ng == groups + 2)
- *ng += strlen (" groups=");
- size_t len = strlen (*ng);
- if (sz < len)
- sz = len;
- }
- ng--;
-
- printf ("\nOutput from %s (%s)\n", id, s);
- int n = 80 / (int) ++sz;
- int i = n > 2 ? n - 2 : 0;
- sz = -sz;
- for (char **g = groups; g <= ng; g++)
- if ((g != ng) && (++i < n))
- printf ("%*s", sz, *g);
- else
- {
- puts (*g);
- i = 0;
- }
-}
-
-/* This dumps information about each installed cygwin service, if cygrunsrv
- is available. */
-void
-dump_sysinfo_services ()
-{
- char buf[1024];
- char buf2[1024];
- FILE *f;
- bool no_services = false;
-
- if (givehelp)
- printf ("\nChecking for any Cygwin services... %s\n\n",
- verbose ? "" : "(use -v for more detail)");
- else
- fputc ('\n', stdout);
-
- /* find the location of cygrunsrv.exe */
- char *cygrunsrv = cygpath ("/bin/cygrunsrv.exe", NULL);
- for (char *p = cygrunsrv; (p = strchr (p, '/')); p++)
- *p = '\\';
-
- if (access (cygrunsrv, X_OK))
- {
- puts ("Can't find the cygrunsrv utility, skipping services check.\n");
- return;
- }
-
- /* check for a recent cygrunsrv */
- snprintf (buf, sizeof (buf), "%s --version", cygrunsrv);
- if ((f = popen (buf, "rt")) == NULL)
- {
- printf ("Failed to execute '%s', skipping services check.\n", buf);
- return;
- }
- int maj, min;
- int ret = fscanf (f, "cygrunsrv V%u.%u", &maj, &min);
- if (ferror (f) || feof (f) || ret == EOF || maj < 1 || min < 10)
- {
- puts ("The version of cygrunsrv installed is too old to dump service info.\n");
- return;
- }
- fclose (f);
-
- /* For verbose mode, just run cygrunsrv --list --verbose and copy output
- verbatim; otherwise run cygrunsrv --list and then cygrunsrv --query for
- each service. */
- snprintf (buf, sizeof (buf), (verbose ? "%s --list --verbose" : "%s --list"),
- cygrunsrv);
- if ((f = popen (buf, "rt")) == NULL)
- {
- printf ("Failed to execute '%s', skipping services check.\n", buf);
- return;
- }
-
- if (verbose)
- {
- /* copy output to stdout */
- size_t nchars = 0;
- while (!feof (f) && !ferror (f))
- nchars += fwrite ((void *) buf, 1,
- fread ((void *) buf, 1, sizeof (buf), f), stdout);
-
- /* cygrunsrv outputs nothing if there are no cygwin services found */
- if (nchars < 1)
- no_services = true;
- pclose (f);
- }
- else
- {
- /* read the output of --list, and then run --query for each service */
- size_t nchars = fread ((void *) buf, 1, sizeof (buf) - 1, f);
- buf[nchars] = 0;
- pclose (f);
-
- if (nchars > 0)
- for (char *srv = strtok (buf, "\n"); srv; srv = strtok (NULL, "\n"))
- {
- snprintf (buf2, sizeof (buf2), "%s --query %s", cygrunsrv, srv);
- if ((f = popen (buf2, "rt")) == NULL)
- {
- printf ("Failed to execute '%s', skipping services check.\n", buf2);
- return;
- }
-
- /* copy output to stdout */
- while (!feof (f) && !ferror (f))
- fwrite ((void *) buf2, 1,
- fread ((void *) buf2, 1, sizeof (buf2), f), stdout);
- pclose (f);
- }
- else
- no_services = true;
- }
-
- /* inform the user if nothing found */
- if (no_services)
- puts ("No Cygwin services found.\n");
-}
-
-static void
-dump_sysinfo ()
-{
- int i, j;
- char tmp[4000];
- time_t now;
- char *found_cygwin_dll;
- bool is_nt = false;
-
- printf ("\nCygwin Configuration Diagnostics\n");
- time (&now);
- printf ("Current System Time: %s\n", ctime (&now));
-
- OSVERSIONINFO osversion;
- osversion.dwOSVersionInfoSize = sizeof (osversion);
- if (!GetVersionEx (&osversion))
- display_error ("dump_sysinfo: GetVersionEx()");
- char *osname = (char *) "unknown OS";
- switch (osversion.dwPlatformId)
- {
- case VER_PLATFORM_WIN32s:
- osname = (char *) "32s";
- break;
- case VER_PLATFORM_WIN32_WINDOWS:
- switch (osversion.dwMinorVersion)
- {
- case 0:
- if (strchr (osversion.szCSDVersion, 'C'))
- osname = (char *) "95 OSR2";
- else
- osname = (char *) "95";
- break;
- case 10:
- if (strchr (osversion.szCSDVersion, 'A'))
- osname = (char *) "98 SE";
- else
- osname = (char *) "98";
- break;
- case 90:
- osname = (char *) "ME";
- break;
- default:
- osname = (char *) "9X";
- break;
- }
- break;
- case VER_PLATFORM_WIN32_NT:
- is_nt = true;
- if (osversion.dwMajorVersion == 5)
- {
- BOOL more_info = FALSE;
- OSVERSIONINFOEX osversionex;
- osversionex.dwOSVersionInfoSize = sizeof (osversionex);
- if (GetVersionEx ((OSVERSIONINFO *) &osversionex))
- more_info = TRUE;
- if (osversion.dwMinorVersion == 0)
- {
- if (!more_info)
- osname = (char *) "2000";
- else if (osversionex.wProductType == VER_NT_SERVER
- || osversionex.wProductType == VER_NT_DOMAIN_CONTROLLER)
- {
- if (osversionex.wSuiteMask & VER_SUITE_DATACENTER)
- osname = (char *) "2000 Datacenter Server";
- else if (osversionex.wSuiteMask & VER_SUITE_ENTERPRISE)
- osname = (char *) "2000 Advanced Server";
- else
- osname = (char *) "2000 Server";
- }
- else
- osname = (char *) "2000 Professional";
- }
- else if (osversion.dwMinorVersion == 1)
- {
- if (GetSystemMetrics (SM_MEDIACENTER))
- osname = (char *) "XP Media Center Edition";
- else if (GetSystemMetrics (SM_TABLETPC))
- osname = (char *) "XP Tablet PC Edition";
- else if (!more_info)
- osname = (char *) "XP";
- else if (osversionex.wSuiteMask & VER_SUITE_PERSONAL)
- osname = (char *) "XP Home Edition";
- else
- osname = (char *) "XP Professional";
- }
- else if (osversion.dwMinorVersion == 2)
- {
- if (!more_info)
- osname = (char *) "2003 Server";
- else if (osversionex.wSuiteMask & VER_SUITE_BLADE)
- osname = (char *) "2003 Web Server";
- else if (osversionex.wSuiteMask & VER_SUITE_DATACENTER)
- osname = (char *) "2003 Datacenter Server";
- else if (osversionex.wSuiteMask & VER_SUITE_ENTERPRISE)
- osname = (char *) "2003 Enterprise Server";
- else
- osname = (char *) "2003 Server";
- }
- }
- else
- osname = (char *) "NT";
- break;
- default:
- osname = (char *) "??";
- break;
- }
- printf ("Windows %s Ver %lu.%lu Build %lu %s\n\n", osname,
- osversion.dwMajorVersion, osversion.dwMinorVersion,
- osversion.dwPlatformId == VER_PLATFORM_WIN32_NT ?
- osversion.dwBuildNumber : (osversion.dwBuildNumber & 0xffff),
- osversion.dwPlatformId == VER_PLATFORM_WIN32_NT ?
- osversion.szCSDVersion : "");
- if (GetSystemMetrics (SM_REMOTESESSION))
- printf ("Running in Terminal Service session\n\n");
-
- printf ("Path:");
- char *s = getenv ("PATH"), *e;
- if (!s)
- puts ("");
- else
- {
- char sep = strchr (s, ';') ? ';' : ':';
- int count_path_items = 0;
- while (1)
- {
- for (e = s; *e && *e != sep; e++);
- if (e-s)
- printf ("\t%.*s\n", e - s, s);
- else
- puts ("\t.");
- count_path_items++;
- if (!*e)
- break;
- s = e + 1;
- }
- }
-
- fflush (stdout);
-
- char *cygwin = getenv ("CYGWIN");
- if (cygwin)
- cygwin -= strlen ("CYGWIN=");
- else
- cygwin = const_cast <char *> ("CYGWIN=");
- size_t cyglen = strlen (cygwin);
- cygwin = strcpy ((char *) malloc (cyglen + sizeof (" nontsec")), cygwin);
- pretty_id ("nontsec", cygwin, cyglen);
- pretty_id ("ntsec", cygwin, cyglen);
- cygwin[cyglen] = 0;
- putenv (cygwin);
-
- if (!GetSystemDirectory (tmp, 4000))
- display_error ("dump_sysinfo: GetSystemDirectory()");
- printf ("\nSysDir: %s\n", tmp);
-
- GetWindowsDirectory (tmp, 4000);
- printf ("WinDir: %s\n\n", tmp);
-
-
- if (givehelp)
- printf ("Here's some environment variables that may affect cygwin:\n");
- for (i = 0; environ[i]; i++)
- {
- char *eq = strchr (environ[i], '=');
- if (!eq)
- continue;
- /* int len = eq - environ[i]; */
- for (j = 0; known_env_vars[j]; j++)
- {
- *eq = 0;
- if (strcmp (environ[i], "PATH") == 0)
- continue; /* we handle this one specially */
- if (strcasecmp (environ[i], known_env_vars[j]) == 0)
- printf ("%s = `%s'\n", environ[i], eq + 1);
- *eq = '=';
- }
- }
- printf ("\n");
-
- if (verbose)
- {
- if (givehelp)
- printf ("Here's the rest of your environment variables:\n");
- for (i = 0; environ[i]; i++)
- {
- int found = 0;
- char *eq = strchr (environ[i], '=');
- if (!eq)
- continue;
- /* int len = eq - environ[i]; */
- for (j = 0; known_env_vars[j]; j++)
- {
- *eq = 0;
- if (strcasecmp (environ[i], known_env_vars[j]) == 0)
- found = 1;
- *eq = '=';
- }
- if (!found)
- {
- *eq = 0;
- printf ("%s = `%s'\n", environ[i], eq + 1);
- *eq = '=';
- }
- }
- printf ("\n");
- }
-
- if (registry)
- {
- if (givehelp)
- printf ("Scanning registry for keys with `Cygnus' in them...\n");
-#if 0
- /* big and not generally useful */
- scan_registry (0, HKEY_CLASSES_ROOT, (char *) "HKEY_CLASSES_ROOT", 0);
-#endif
- scan_registry (0, HKEY_CURRENT_CONFIG,
- (char *) "HKEY_CURRENT_CONFIG", 0);
- scan_registry (0, HKEY_CURRENT_USER, (char *) "HKEY_CURRENT_USER", 0);
- scan_registry (0, HKEY_LOCAL_MACHINE, (char *) "HKEY_LOCAL_MACHINE", 0);
-#if 0
- /* the parts we need are duplicated in HKEY_CURRENT_USER anyway */
- scan_registry (0, HKEY_USERS, (char *) "HKEY_USERS", 0);
-#endif
- printf ("\n");
- }
- else
- printf ("Use `-r' to scan registry\n\n");
-
- if (givehelp)
- {
- printf ("Listing available drives...\n");
- printf ("Drv Type Size Used Flags Name\n");
- }
- int prev_mode =
- SetErrorMode (SEM_FAILCRITICALERRORS | SEM_NOOPENFILEERRORBOX);
- int drivemask = GetLogicalDrives ();
-
- HINSTANCE k32 = LoadLibrary ("kernel32.dll");
- BOOL (WINAPI * gdfse) (LPCSTR, long long *, long long *, long long *) =
- (BOOL (WINAPI *) (LPCSTR, long long *, long long *, long long *))
- GetProcAddress (k32, "GetDiskFreeSpaceExA");
-
- for (i = 0; i < 26; i++)
- {
- if (!(drivemask & (1 << i)))
- continue;
- char drive[4], name[200], fsname[200];
- DWORD serno = 0, maxnamelen = 0, flags = 0;
- name[0] = name[0] = fsname[0] = 0;
- sprintf (drive, "%c:\\", i + 'a');
- /* Report all errors, except if the Volume is ERROR_NOT_READY.
- ERROR_NOT_READY is returned when removeable media drives are empty
- (CD, floppy, etc.) */
- if (!GetVolumeInformation
- (drive, name, sizeof (name), &serno, &maxnamelen, &flags, fsname,
- sizeof (fsname)) && GetLastError () != ERROR_NOT_READY)
- display_error ("dump_sysinfo: GetVolumeInformation()");
-
- int dtype = GetDriveType (drive);
- char drive_type[4] = "unk";
- switch (dtype)
- {
- case DRIVE_REMOVABLE:
- strcpy (drive_type, "fd ");
- break;
- case DRIVE_FIXED:
- strcpy (drive_type, "hd ");
- break;
- case DRIVE_REMOTE:
- strcpy (drive_type, "net");
- break;
- case DRIVE_CDROM:
- strcpy (drive_type, "cd ");
- break;
- case DRIVE_RAMDISK:
- strcpy (drive_type, "ram");
- break;
- default:
- strcpy (drive_type, "unk");
- }
-
- long capacity_mb = -1;
- int percent_full = -1;
-
- long long free_me = 0ULL, free_bytes = 0ULL, total_bytes = 1ULL;
- if (gdfse != NULL && gdfse (drive, &free_me, &total_bytes, &free_bytes))
- {
- capacity_mb = total_bytes / (1024L * 1024L);
- percent_full = 100 - (int) ((100.0 * free_me) / total_bytes);
- }
- else
- {
- DWORD spc = 0, bps = 0, fc = 0, tc = 1;
- if (GetDiskFreeSpace (drive, &spc, &bps, &fc, &tc))
- {
- capacity_mb = (spc * bps * tc) / (1024 * 1024);
- percent_full = 100 - (int) ((100.0 * fc) / tc);
- }
- }
-
- printf ("%.2s %s %-6s ", drive, drive_type, fsname);
- if (capacity_mb >= 0)
- printf ("%7dMb %3d%% ", (int) capacity_mb, (int) percent_full);
- else
- printf (" N/A N/A ");
- printf ("%s %s %s %s %s %s %s\n",
- flags & FS_CASE_IS_PRESERVED ? "CP" : " ",
- flags & FS_CASE_SENSITIVE ? "CS" : " ",
- flags & FS_UNICODE_STORED_ON_DISK ? "UN" : " ",
- flags & FS_PERSISTENT_ACLS ? "PA" : " ",
- flags & FS_FILE_COMPRESSION ? "FC" : " ",
- flags & FS_VOL_IS_COMPRESSED ? "VC" : " ",
-#if 0
- flags & FILE_SUPPORTS_ENCRYPTION ? "EN" : " ",
- flags & FILE_SUPPORTS_OBJECT_IDS ? "OI" : " ",
- flags & FILE_SUPPORTS_REPARSE_POINTS ? "RP" : " ",
- flags & FILE_SUPPORTS_SPARSE_FILES ? "SP" : " ",
- flags & FILE_VOLUME_QUOTAS ? "QU" : " ",
-#endif
- name);
- }
-
- if (!FreeLibrary (k32))
- display_error ("dump_sysinfo: FreeLibrary()");
- SetErrorMode (prev_mode);
- if (givehelp)
- {
- puts ("\n"
- "fd = floppy, hd = hard drive, cd = CD-ROM\n"
- "net= Network Share, ram= RAM drive, unk= Unknown\n"
- "CP = Case Preserving, CS = Case Sensitive, UN = Unicode\n"
- "PA = Persistent ACLS, FC = File Compression, VC = Volume Compression");
- }
- printf ("\n");
-
- unsigned ml_fsname = 4, ml_dir = 7, ml_type = 6;
- bool ml_trailing = false;
-
- struct mntent *mnt;
- setmntent (0, 0);
- while ((mnt = getmntent (0)))
- {
- unsigned n = (int) strlen (mnt->mnt_fsname);
- ml_trailing |= (n > 1 && strchr ("\\/", mnt->mnt_fsname[n - 1]));
- if (ml_fsname < n)
- ml_fsname = n;
- n = (int) strlen (mnt->mnt_dir);
- ml_trailing |= (n > 1 && strchr ("\\/", mnt->mnt_dir[n - 1]));
- if (ml_dir < n)
- ml_dir = n;
- }
-
- if (ml_trailing)
- puts ("Warning: Mount entries should not have a trailing (back)slash\n");
-
- if (givehelp)
- {
- printf
- ("Mount entries: these map POSIX directories to your NT drives.\n");
- printf ("%-*s %-*s %-*s %s\n", ml_fsname, "-NT-", ml_dir, "-POSIX-",
- ml_type, "-Type-", "-Flags-");
- }
-
- setmntent (0, 0);
- while ((mnt = getmntent (0)))
- {
- printf ("%-*s %-*s %-*s %s\n",
- ml_fsname, mnt->mnt_fsname,
- ml_dir, mnt->mnt_dir, ml_type, mnt->mnt_type, mnt->mnt_opts);
- }
- printf ("\n");
-
- add_path ((char *) "\\bin", 4); /* just in case */
-
- if (givehelp)
- printf
- ("Looking to see where common programs can be found, if at all...\n");
- for (i = 0; common_apps[i].name; i++)
- if (!find_on_path ((char *) common_apps[i].name, (char *) ".exe", 1, 0))
- {
- if (common_apps[i].missing_is_good)
- printf ("Not Found: %s (good!)\n", common_apps[i].name);
- else
- printf ("Not Found: %s\n", common_apps[i].name);
- }
- printf ("\n");
-
- if (givehelp)
- printf ("Looking for various Cygwin DLLs... (-v gives version info)\n");
- int cygwin_dll_count = 0;
- for (i = 1; i < num_paths; i++)
- {
- WIN32_FIND_DATA ffinfo;
- sprintf (tmp, "%s/*.*", paths[i]);
- HANDLE ff = FindFirstFile (tmp, &ffinfo);
- int found = (ff != INVALID_HANDLE_VALUE);
- found_cygwin_dll = NULL;
- while (found)
- {
- char *f = ffinfo.cFileName;
- if (strcasecmp (f + strlen (f) - 4, ".dll") == 0)
- {
- if (strncasecmp (f, "cyg", 3) == 0)
- {
- sprintf (tmp, "%s\\%s", paths[i], f);
- if (strcasecmp (f, "cygwin1.dll") == 0)
- {
- cygwin_dll_count++;
- found_cygwin_dll = strdup (tmp);
- }
- else
- ls (tmp);
- }
- }
- found = FindNextFile (ff, &ffinfo);
- }
- if (found_cygwin_dll)
- {
- ls (found_cygwin_dll);
- free (found_cygwin_dll);
- }
-
- FindClose (ff);
- }
- if (cygwin_dll_count > 1)
- puts ("Warning: There are multiple cygwin1.dlls on your path");
- if (!cygwin_dll_count)
- puts ("Warning: cygwin1.dll not found on your path");
-
- if (is_nt)
- dump_sysinfo_services ();
-}
-
-static int
-check_keys ()
-{
- HANDLE h = CreateFileA ("CONIN$", GENERIC_READ | GENERIC_WRITE,
- FILE_SHARE_READ | FILE_SHARE_WRITE, NULL,
- OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
-
- if (h == INVALID_HANDLE_VALUE || h == NULL)
- return (display_error ("check_keys: Opening CONIN$"));
-
- DWORD mode;
-
- if (!GetConsoleMode (h, &mode))
- display_error ("check_keys: GetConsoleMode()");
- else
- {
- mode &= ~ENABLE_PROCESSED_INPUT;
- if (!SetConsoleMode (h, mode))
- display_error ("check_keys: SetConsoleMode()");
- }
-
- fputs ("\nThis key check works only in a console window,", stderr);
- fputs (" _NOT_ in a terminal session!\n", stderr);
- fputs ("Abort with Ctrl+C if in a terminal session.\n\n", stderr);
- fputs ("Press `q' to exit.\n", stderr);
-
- INPUT_RECORD in, prev_in;
-
- // Drop first <RETURN> key
- ReadConsoleInput (h, &in, 1, &mode);
-
- memset (&in, 0, sizeof in);
-
- do
- {
- prev_in = in;
- if (!ReadConsoleInput (h, &in, 1, &mode))
- display_error ("check_keys: ReadConsoleInput()");
-
- if (!memcmp (&in, &prev_in, sizeof in))
- continue;
-
- switch (in.EventType)
- {
- case KEY_EVENT:
- printf ("%s %ux VK: 0x%02x VS: 0x%02x A: 0x%02x CTRL: ",
- in.Event.KeyEvent.bKeyDown ? "Pressed " : "Released",
- in.Event.KeyEvent.wRepeatCount,
- in.Event.KeyEvent.wVirtualKeyCode,
- in.Event.KeyEvent.wVirtualScanCode,
- (unsigned char) in.Event.KeyEvent.uChar.AsciiChar);
- fputs (in.Event.KeyEvent.dwControlKeyState & CAPSLOCK_ON ?
- "CL " : "-- ", stdout);
- fputs (in.Event.KeyEvent.dwControlKeyState & ENHANCED_KEY ?
- "EK " : "-- ", stdout);
- fputs (in.Event.KeyEvent.dwControlKeyState & LEFT_ALT_PRESSED ?
- "LA " : "-- ", stdout);
- fputs (in.Event.KeyEvent.dwControlKeyState & LEFT_CTRL_PRESSED ?
- "LC " : "-- ", stdout);
- fputs (in.Event.KeyEvent.dwControlKeyState & NUMLOCK_ON ?
- "NL " : "-- ", stdout);
- fputs (in.Event.KeyEvent.dwControlKeyState & RIGHT_ALT_PRESSED ?
- "RA " : "-- ", stdout);
- fputs (in.Event.KeyEvent.dwControlKeyState & RIGHT_CTRL_PRESSED ?
- "RC " : "-- ", stdout);
- fputs (in.Event.KeyEvent.dwControlKeyState & SCROLLLOCK_ON ?
- "SL " : "-- ", stdout);
- fputs (in.Event.KeyEvent.dwControlKeyState & SHIFT_PRESSED ?
- "SH " : "-- ", stdout);
- fputc ('\n', stdout);
- break;
-
- default:
- break;
- }
- }
- while (in.EventType != KEY_EVENT ||
- in.Event.KeyEvent.bKeyDown != FALSE ||
- in.Event.KeyEvent.uChar.AsciiChar != 'q');
-
- CloseHandle (h);
- return 0;
-}
-
-/* RFC1738 says that these do not need to be escaped. */
-static const char safe_chars[] = "$-_.+!*'(),";
-
-/* the URL to query. */
-static const char base_url[] =
- "http://cygwin.com/cgi-bin2/package-grep.cgi?text=1&grep=";
-
-/* Queries Cygwin web site for packages containing files matching a regexp.
- Return value is 1 if there was a problem, otherwise 0. */
-static int
-package_grep (char *search)
-{
- char buf[1024];
-
- /* construct the actual URL by escaping */
- char *url = (char *) alloca (sizeof (base_url) + strlen (search) * 3);
- strcpy (url, base_url);
-
- char *dest;
- for (dest = &url[sizeof (base_url) - 1]; *search; search++)
- {
- if (isalnum (*search)
- || memchr (safe_chars, *search, sizeof (safe_chars) - 1))
- {
- *dest++ = *search;
- }
- else
- {
- *dest++ = '%';
- sprintf (dest, "%02x", (unsigned char) *search);
- dest += 2;
- }
- }
- *dest = 0;
-
- /* Connect to the net and open the URL. */
- if (InternetAttemptConnect (0) != ERROR_SUCCESS)
- {
- fputs ("An internet connection is required for this function.\n", stderr);
- return 1;
- }
-
- /* Initialize WinInet and attempt to fetch our URL. */
- HINTERNET hi = NULL, hurl = NULL;
- if (!(hi = InternetOpen ("cygcheck", INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, 0)))
- return display_internet_error ("InternetOpen() failed", NULL);
-
- if (!(hurl = InternetOpenUrl (hi, url, NULL, 0, 0, 0)))
- return display_internet_error ("unable to contact cygwin.com site, "
- "InternetOpenUrl() failed", hi, NULL);
-
- /* Check the HTTP response code. */
- DWORD rc = 0, rc_s = sizeof (DWORD);
- if (!HttpQueryInfo (hurl, HTTP_QUERY_STATUS_CODE | HTTP_QUERY_FLAG_NUMBER,
- (void *) &rc, &rc_s, NULL))
- return display_internet_error ("HttpQueryInfo() failed", hurl, hi, NULL);
-
- if (rc != HTTP_STATUS_OK)
- {
- sprintf (buf, "error retrieving results from cygwin.com site, "
- "HTTP status code %lu", rc);
- return display_internet_error (buf, hurl, hi, NULL);
- }
-
- /* Fetch result and print to stdout. */
- DWORD numread;
- do
- {
- if (!InternetReadFile (hurl, (void *) buf, sizeof (buf), &numread))
- return display_internet_error ("InternetReadFile failed", hurl, hi, NULL);
- if (numread)
- fwrite ((void *) buf, (size_t) numread, 1, stdout);
- }
- while (numread);
-
- InternetCloseHandle (hurl);
- InternetCloseHandle (hi);
- return 0;
-}
-
-static void
-usage (FILE * stream, int status)
-{
- fprintf (stream, "\
-Usage: cygcheck PROGRAM [ -v ] [ -h ]\n\
- cygcheck -c [ PACKAGE ] [ -d ]\n\
- cygcheck -s [ -r ] [ -v ] [ -h ]\n\
- cygcheck -k\n\
- cygcheck -f FILE [ FILE ... ]\n\
- cygcheck -l [ PACKAGE ] [ PACKAGE ... ]\n\
- cygcheck -p REGEXP\n\
-List system information, check installed packages, or query package database.\n\
-\n\
-At least one command option or a PROGRAM is required, as shown above.\n\
-\n\
- PROGRAM list library (DLL) dependencies of PROGRAM\n\
- -c, --check-setup show installed version of PACKAGE and verify integrity\n\
- (or for all installed packages if none specified)\n\
- -d, --dump-only just list packages, do not verify (with -c)\n\
- -s, --sysinfo produce diagnostic system information (implies -c -d)\n\
- -r, --registry also scan registry for Cygwin settings (with -s)\n\
- -k, --keycheck perform a keyboard check session (must be run from a\n\
- plain console only, not from a pty/rxvt/xterm)\n\
- -f, --find-package find the package that FILE belongs to\n\
- -l, --list-package list contents of PACKAGE (or all packages if none given)\n\
- -p, --package-query search for REGEXP in the entire cygwin.com package\n\
- repository (requies internet connectivity)\n\
- -v, --verbose produce more verbose output\n\
- -h, --help annotate output with explanatory comments when given\n\
- with another command, otherwise print this help\n\
- -V, --version print the version of cygcheck and exit\n\
-\n\
-Note: -c, -f, and -l only report on packages that are currently installed. To\n\
- search all official Cygwin packages use -p instead. The -p REGEXP matches\n\
- package names, descriptions, and names of files/paths within all packages.\n\
-\n");
- exit (status);
-}
-
-struct option longopts[] = {
- {"check-setup", no_argument, NULL, 'c'},
- {"dump-only", no_argument, NULL, 'd'},
- {"sysinfo", no_argument, NULL, 's'},
- {"registry", no_argument, NULL, 'r'},
- {"verbose", no_argument, NULL, 'v'},
- {"keycheck", no_argument, NULL, 'k'},
- {"find-package", no_argument, NULL, 'f'},
- {"list-package", no_argument, NULL, 'l'},
- {"package-query", no_argument, NULL, 'p'},
- {"help", no_argument, NULL, 'h'},
- {"version", no_argument, 0, 'V'},
- {0, no_argument, NULL, 0}
-};
-
-static char opts[] = "cdsrvkflphV";
-
-static void
-print_version ()
-{
- const char *v = strchr (version, ':');
- int len;
- if (!v)
- {
- v = "?";
- len = 1;
- }
- else
- {
- v += 2;
- len = strchr (v, ' ') - v;
- }
- printf ("\
-cygcheck version %.*s\n\
-System Checker for Cygwin\n\
-Copyright 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 Red Hat, Inc.\n\
-Compiled on %s\n\
-", len, v, __DATE__);
-}
-
-void
-nuke (char *ev)
-{
- int n = 1 + strchr (ev, '=') - ev;
- char *s = (char *) alloca (n + 1);
- memcpy (s, ev, n);
- s[n] = '\0';
- putenv (s);
-}
-
-extern "C" {
-unsigned long (*cygwin_internal) (int, ...);
-};
-
-static void
-load_cygwin (int& argc, char **&argv)
-{
- HMODULE h;
-
- if (!(h = LoadLibrary ("cygwin1.dll")))
- return;
- if (!(cygwin_internal = (DWORD (*) (int, ...)) GetProcAddress (h, "cygwin_internal")))
- return;
-
- char **av = (char **) cygwin_internal (CW_ARGV);
- if (av && ((DWORD) av != (DWORD) -1))
- for (argc = 0, argv = av; *av; av++)
- argc++;
-
- char **envp = (char **) cygwin_internal (CW_ENVP);
- if (envp && ((DWORD) envp != (DWORD) -1))
- {
- /* Store path and revert to this value, otherwise path gets overwritten
- by the POSIXy Cygwin variation, which breaks cygcheck.
- Another approach would be to use the Cygwin PATH and convert it to
- Win32 again. */
- char *path = NULL;
- char **env;
- while (*(env = _environ))
- {
- if (strncmp (*env, "PATH=", 5) == 0)
- path = strdup (*env);
- nuke (*env);
- }
- for (char **ev = envp; *ev; ev++)
- if (strncmp (*ev, "PATH=", 5) != 0)
- putenv (*ev);
- if (path)
- putenv (path);
- }
-}
-
-int
-main (int argc, char **argv)
-{
- int i;
- bool ok = true;
- load_cygwin (argc, argv);
-
- (void) putenv("POSIXLY_CORRECT=1");
- while ((i = getopt_long (argc, argv, opts, longopts, NULL)) != EOF)
- switch (i)
- {
- case 's':
- sysinfo = 1;
- break;
- case 'c':
- check_setup = 1;
- break;
- case 'd':
- dump_only = 1;
- break;
- case 'r':
- registry = 1;
- break;
- case 'v':
- verbose = 1;
- break;
- case 'k':
- keycheck = 1;
- break;
- case 'f':
- find_package = 1;
- break;
- case 'l':
- list_package = 1;
- break;
- case 'p':
- grep_packages = 1;
- break;
- case 'h':
- givehelp = 1;
- break;
- case 'V':
- print_version ();
- exit (0);
- default:
- usage (stderr, 1);
- /*NOTREACHED*/}
- argc -= optind;
- argv += optind;
-
- if (argc == 0 && !sysinfo && !keycheck && !check_setup && !list_package)
- if (givehelp)
- usage (stdout, 0);
- else
- usage (stderr, 1);
-
- if ((check_setup || sysinfo || find_package || list_package || grep_packages)
- && keycheck)
- usage (stderr, 1);
-
- if ((find_package || list_package || grep_packages) && check_setup)
- usage (stderr, 1);
-
- if (dump_only && !check_setup)
- usage (stderr, 1);
-
- if (find_package + list_package + grep_packages > 1)
- usage (stderr, 1);
-
- if (keycheck)
- return check_keys ();
- if (grep_packages)
- return package_grep (*argv);
-
- init_paths ();
-
- /* FIXME: Add help for check_setup and {list,find}_package */
- if (argc >= 1 && givehelp && !check_setup && !find_package && !list_package)
- {
- printf("Here is where the OS will find your program%s, and which dlls\n",
- argc > 1 ? "s" : "");
- printf ("will be used for it. Use -v to see DLL version info\n");
-
- if (!sysinfo)
- printf ("\n");
- }
-
- if (check_setup)
- dump_setup (verbose, argv, !dump_only);
- else if (find_package)
- package_find (verbose, argv);
- else if (list_package)
- package_list (verbose, argv);
- else
- for (i = 0; i < argc; i++)
- {
- if (i)
- puts ("");
- ok &= cygcheck (argv[i]);
- }
-
- if (sysinfo)
- {
- dump_sysinfo ();
- if (!check_setup)
- {
- puts ("");
- dump_setup (verbose, NULL, false);
- }
-
- if (!givehelp)
- puts ("Use -h to see help about each section");
- }
-
- return ok ? EXIT_SUCCESS : EXIT_FAILURE;
-}
diff --git a/winsup/utils/cygpath.cc b/winsup/utils/cygpath.cc
deleted file mode 100644
index 639bba5c1..000000000
--- a/winsup/utils/cygpath.cc
+++ /dev/null
@@ -1,813 +0,0 @@
-/* cygpath.cc -- convert pathnames between Windows and Unix format
- Copyright 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 Red Hat, Inc.
-
-This file is part of Cygwin.
-
-This software is a copyrighted work licensed under the terms of the
-Cygwin license. Please consult the file "CYGWIN_LICENSE" for
-details. */
-
-#define NOCOMATTRIBUTE
-
-#include <shlobj.h>
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <limits.h>
-#include <getopt.h>
-#include <windows.h>
-#include <io.h>
-#include <sys/fcntl.h>
-#include <sys/cygwin.h>
-#include <ctype.h>
-#include <errno.h>
-
-static const char version[] = "$Revision$";
-
-static char *prog_name;
-static char *file_arg;
-static int path_flag, unix_flag, windows_flag, absolute_flag;
-static int shortname_flag, longname_flag;
-static int ignore_flag, allusers_flag, output_flag;
-static int mixed_flag;
-static const char *format_type_arg;
-
-static struct option long_options[] = {
- {(char *) "absolute", no_argument, NULL, 'a'},
- {(char *) "close", required_argument, NULL, 'c'},
- {(char *) "dos", no_argument, NULL, 'd'},
- {(char *) "file", required_argument, NULL, 'f'},
- {(char *) "help", no_argument, NULL, 'h'},
- {(char *) "ignore", no_argument, NULL, 'i'},
- {(char *) "long-name", no_argument, NULL, 'l'},
- {(char *) "mixed", no_argument, NULL, 'm'},
- {(char *) "mode", no_argument, NULL, 'M'},
- {(char *) "option", no_argument, NULL, 'o'},
- {(char *) "path", no_argument, NULL, 'p'},
- {(char *) "short-name", no_argument, NULL, 's'},
- {(char *) "type", required_argument, NULL, 't'},
- {(char *) "unix", no_argument, NULL, 'u'},
- {(char *) "version", no_argument, NULL, 'v'},
- {(char *) "windows", no_argument, NULL, 'w'},
- {(char *) "allusers", no_argument, NULL, 'A'},
- {(char *) "desktop", no_argument, NULL, 'D'},
- {(char *) "homeroot", no_argument, NULL, 'H'},
- {(char *) "smprograms", no_argument, NULL, 'P'},
- {(char *) "sysdir", no_argument, NULL, 'S'},
- {(char *) "windir", no_argument, NULL, 'W'},
- {0, no_argument, 0, 0}
-};
-
-static char options[] = "ac:df:hilmMopst:uvwADHPSW";
-
-static void
-usage (FILE * stream, int status)
-{
- if (!ignore_flag || !status)
- fprintf (stream, "\
-Usage: %s (-d|-m|-u|-w|-t TYPE) [-f FILE] [OPTION]... NAME...\n\
- %s [-c HANDLE] \n\
- %s [-ADHPSW] \n\
-Convert Unix and Windows format paths, or output system path information\n\
-\n\
-Output type options:\n\
- -d, --dos print DOS (short) form of NAMEs (C:\\PROGRA~1\\)\n\
- -m, --mixed like --windows, but with regular slashes (C:/WINNT)\n\
- -M, --mode report on mode of file (binmode or textmode)\n\
- -u, --unix (default) print Unix form of NAMEs (/cygdrive/c/winnt)\n\
- -w, --windows print Windows form of NAMEs (C:\\WINNT)\n\
- -t, --type TYPE print TYPE form: 'dos', 'mixed', 'unix', or 'windows'\n\
-Path conversion options:\n\
- -a, --absolute output absolute path\n\
- -l, --long-name print Windows long form of NAMEs (with -w, -m only)\n\
- -p, --path NAME is a PATH list (i.e., '/bin:/usr/bin')\n\
- -s, --short-name print DOS (short) form of NAMEs (with -w, -m only)\n\
-System information:\n\
- -A, --allusers use `All Users' instead of current user for -D, -P\n\
- -D, --desktop output `Desktop' directory and exit\n\
- -H, --homeroot output `Profiles' directory (home root) and exit\n\
- -P, --smprograms output Start Menu `Programs' directory and exit\n\
- -S, --sysdir output system directory and exit\n\
- -W, --windir output `Windows' directory and exit\n\
-", prog_name, prog_name, prog_name);
- if (ignore_flag)
- /* nothing to do */;
- else if (stream != stdout)
- fprintf(stream, "Try `%s --help' for more information.\n", prog_name);
- else
- {
- fprintf (stream, "\
-Other options:\n\
- -f, --file FILE read FILE for input; use - to read from STDIN\n\
- -o, --option read options from FILE as well (for use with --file)\n\
- -c, --close HANDLE close HANDLE (for use in captured process)\n\
- -i, --ignore ignore missing argument\n\
- -h, --help output usage information and exit\n\
- -v, --version output version information and exit\n\
-");
- }
- exit (ignore_flag ? 0 : status);
-}
-
-static char *
-get_short_paths (char *path)
-{
- char *sbuf;
- char *sptr;
- char *next;
- char *ptr = path;
- char *end = strrchr (path, 0);
- DWORD acc = 0;
- DWORD len;
-
- while (ptr != NULL)
- {
- next = ptr;
- ptr = strchr (ptr, ';');
- if (ptr)
- *ptr++ = 0;
- len = GetShortPathName (next, NULL, 0);
- if (!len)
- {
- fprintf (stderr, "%s: cannot create short name of %s\n", prog_name,
- next);
- exit (2);
- }
- acc += len + 1;
- }
- sptr = sbuf = (char *) malloc (acc + 1);
- if (sbuf == NULL)
- {
- fprintf (stderr, "%s: out of memory\n", prog_name);
- exit (1);
- }
- ptr = path;
- for (;;)
- {
- len = GetShortPathName (ptr, sptr, acc);
- if (!len)
- {
- fprintf (stderr, "%s: cannot create short name of %s\n", prog_name,
- ptr);
- exit (2);
- }
-
- ptr = strrchr (ptr, 0);
- sptr = strrchr (sptr, 0);
- if (ptr == end)
- break;
- *sptr = ';';
- ++ptr, ++sptr;
- acc -= len + 1;
- }
- return sbuf;
-}
-
-static char *
-get_short_name (const char *filename)
-{
- char *sbuf, buf[MAX_PATH];
- DWORD len = GetShortPathName (filename, buf, MAX_PATH);
- if (!len)
- {
- fprintf (stderr, "%s: cannot create short name of %s\n", prog_name,
- filename);
- exit (2);
- }
- sbuf = (char *) malloc (++len);
- if (sbuf == NULL)
- {
- fprintf (stderr, "%s: out of memory\n", prog_name);
- exit (1);
- }
- return strcpy (sbuf, buf);
-}
-
-static DWORD WINAPI
-get_long_path_name_w32impl (LPCSTR src, LPSTR sbuf, DWORD)
-{
- char buf1[MAX_PATH], buf2[MAX_PATH], *ptr;
- const char *pelem, *next;
- WIN32_FIND_DATA w32_fd;
- int len;
-
- strcpy (buf1, src);
- *buf2 = 0;
- pelem = src;
- ptr = buf2;
- while (pelem)
- {
- next = pelem;
- if (*next == '\\')
- {
- strcat (ptr++, "\\");
- pelem++;
- if (!*pelem)
- break;
- continue;
- }
- pelem = strchr (next, '\\');
- len = pelem ? (pelem++ - next) : strlen (next);
- strncpy (ptr, next, len);
- ptr[len] = 0;
- if (next[1] != ':' && strcmp(next, ".") && strcmp(next, ".."))
- {
- if (FindFirstFile (buf2, &w32_fd) != INVALID_HANDLE_VALUE)
- strcpy (ptr, w32_fd.cFileName);
- }
- ptr += strlen (ptr);
- if (pelem)
- {
- *ptr++ = '\\';
- *ptr = 0;
- }
- }
- if (sbuf)
- strcpy (sbuf, buf2);
- SetLastError (0);
- return strlen (buf2) + (sbuf ? 0 : 1);
-}
-
-static char *
-get_long_name (const char *filename, DWORD& len)
-{
- char *sbuf, buf[MAX_PATH];
- static HINSTANCE k32 = LoadLibrary ("kernel32.dll");
- static DWORD (WINAPI *GetLongPathName) (LPCSTR, LPSTR, DWORD) =
- (DWORD (WINAPI *) (LPCSTR, LPSTR, DWORD)) GetProcAddress (k32, "GetLongPathName");
- if (!GetLongPathName)
- GetLongPathName = get_long_path_name_w32impl;
-
- len = GetLongPathName (filename, buf, MAX_PATH);
- if (len == 0 && GetLastError () == ERROR_INVALID_PARAMETER)
- {
- fprintf (stderr, "%s: cannot create long name of %s\n", prog_name,
- filename);
- exit (2);
- }
- sbuf = (char *) malloc (len + 1);
- if (!sbuf)
- {
- fprintf (stderr, "%s: out of memory\n", prog_name);
- exit (1);
- }
- return strcpy (sbuf, buf);
-}
-
-static char *
-get_long_paths (char *path)
-{
- char *sbuf;
- char *ptr;
- int n = 1;
-
- ptr = path;
- while ((ptr = strchr (ptr, ';')))
- {
- ptr++;
- n++;
- }
-
- char *paths[n];
- DWORD acc = 0;
- int i;
- if (!n)
- return strdup ("");
-
- for (i = 0, ptr = path; ptr; i++)
- {
- DWORD len;
- char *next = ptr;
- ptr = strchr (ptr, ';');
- if (ptr)
- *ptr++ = 0;
- paths[i] = get_long_name (next, len);
- acc += len + 1;
- }
-
- sbuf = (char *) malloc (acc + 1);
- if (sbuf == NULL)
- {
- fprintf (stderr, "%s: out of memory\n", prog_name);
- exit (1);
- }
-
- sbuf[0] = '\0';
- for (i = 0; i < n; i++)
- {
- strcat (strcat (sbuf, paths[i]), ";");
- free (paths[i]);
- }
-
- strchr (sbuf, '\0')[-1] = '\0';
- return sbuf;
-}
-
-static void
-convert_slashes (char* name)
-{
- while ((name = strchr (name, '\\')) != NULL)
- {
- if (*name == '\\')
- *name = '/';
- name++;
- }
-}
-
-static char *
-get_mixed_name (const char* filename)
-{
- char* mixed_buf = strdup (filename);
-
- if (mixed_buf == NULL)
- {
- fprintf (stderr, "%s: out of memory\n", prog_name);
- exit (1);
- }
-
- convert_slashes (mixed_buf);
-
- return mixed_buf;
-}
-
-static void
-dowin (char option)
-{
- char *buf, buf1[MAX_PATH], buf2[MAX_PATH];
- DWORD len = MAX_PATH;
- WIN32_FIND_DATA w32_fd;
- LPITEMIDLIST id;
- HINSTANCE k32;
- BOOL (*GetProfilesDirectoryAPtr) (LPSTR, LPDWORD) = 0;
-
- buf = buf1;
- switch (option)
- {
- case 'D':
- SHGetSpecialFolderLocation (NULL, allusers_flag ?
- CSIDL_COMMON_DESKTOPDIRECTORY : CSIDL_DESKTOPDIRECTORY, &id);
- SHGetPathFromIDList (id, buf);
- /* This if clause is a Fix for Win95 without any "All Users" */
- if (strlen (buf) == 0)
- {
- SHGetSpecialFolderLocation (NULL, CSIDL_DESKTOPDIRECTORY, &id);
- SHGetPathFromIDList (id, buf);
- }
- break;
-
- case 'P':
- SHGetSpecialFolderLocation (NULL, allusers_flag ?
- CSIDL_COMMON_PROGRAMS : CSIDL_PROGRAMS, &id);
- SHGetPathFromIDList (id, buf);
- /* This if clause is a Fix for Win95 without any "All Users" */
- if (strlen (buf) == 0)
- {
- SHGetSpecialFolderLocation (NULL, CSIDL_PROGRAMS, &id);
- SHGetPathFromIDList (id, buf);
- }
- break;
-
- case 'H':
- k32 = LoadLibrary ("userenv");
- if (k32)
- GetProfilesDirectoryAPtr = (BOOL (*) (LPSTR, LPDWORD))
- GetProcAddress (k32, "GetProfilesDirectoryA");
- if (GetProfilesDirectoryAPtr)
- (*GetProfilesDirectoryAPtr) (buf, &len);
- else
- {
- GetWindowsDirectory (buf, MAX_PATH);
- strcat (buf, "\\Profiles");
- }
-fprintf (stderr, "************** buf %s\n", buf);
- break;
-
- case 'S':
- GetSystemDirectory (buf, MAX_PATH);
- FindFirstFile (buf, &w32_fd);
- strcpy (strrchr (buf, '\\') + 1, w32_fd.cFileName);
- break;
-
- case 'W':
- GetWindowsDirectory (buf, MAX_PATH);
- break;
-
- default:
- usage (stderr, 1);
- }
-
- if (!windows_flag)
- {
- if (cygwin_conv_to_posix_path (buf, buf2))
- fprintf (stderr, "%s: error converting \"%s\" - %s\n",
- prog_name, buf, strerror (errno));
- else
- buf = buf2;
- }
- else
- {
- if (shortname_flag)
- buf = get_short_name (buf);
- if (mixed_flag)
- buf = get_mixed_name (buf);
- }
- printf ("%s\n", buf);
- exit (0);
-}
-
-static void
-report_mode (char *filename)
-{
- switch (cygwin_internal (CW_GET_BINMODE, filename))
- {
- case O_BINARY:
- printf ("%s: binary\n", filename);
- break;
- case O_TEXT:
- printf ("%s: text\n", filename);
- break;
- default:
- fprintf (stderr, "%s: file '%s' - %s\n", prog_name, filename,
- strerror (errno));
- break;
- }
-}
-
-static void
-doit (char *filename)
-{
- char *buf;
- DWORD len;
- int err;
- int (*conv_func) (const char *, char *);
-
- if (!path_flag)
- {
- len = strlen (filename);
- if (len)
- len += MAX_PATH + 1001;
- else if (ignore_flag)
- exit (0);
- else
- {
- fprintf (stderr, "%s: can't convert empty path\n", prog_name);
- exit (1);
- }
- }
- else if (unix_flag)
- len = cygwin_win32_to_posix_path_list_buf_size (filename);
- else
- len = cygwin_posix_to_win32_path_list_buf_size (filename);
-
- buf = (char *) malloc (len);
- if (buf == NULL)
- {
- fprintf (stderr, "%s: out of memory\n", prog_name);
- exit (1);
- }
-
- if (path_flag)
- {
- if (unix_flag)
- err = cygwin_win32_to_posix_path_list (filename, buf);
- else
- {
- err = cygwin_posix_to_win32_path_list (filename, buf);
- if (err)
- /* oops */;
- if (shortname_flag)
- buf = get_short_paths (buf);
- if (longname_flag)
- buf = get_long_paths (buf);
- if (mixed_flag)
- buf = get_mixed_name (buf);
- }
- if (err)
- {
- fprintf (stderr, "%s: error converting \"%s\" - %s\n",
- prog_name, filename, strerror (errno));
- exit (1);
- }
- }
- else
- {
- if (unix_flag)
- conv_func = (absolute_flag ? cygwin_conv_to_full_posix_path :
- cygwin_conv_to_posix_path);
- else
- conv_func = (absolute_flag ? cygwin_conv_to_full_win32_path :
- cygwin_conv_to_win32_path);
- err = conv_func (filename, buf);
- if (mixed_flag)
- buf = get_mixed_name (buf);
- if (err)
- {
- fprintf (stderr, "%s: error converting \"%s\" - %s\n",
- prog_name, filename, strerror (errno));
- exit (1);
- }
- if (!unix_flag)
- {
- if (shortname_flag)
- buf = get_short_name (buf);
- if (longname_flag)
- buf = get_long_name (buf, len);
- }
- }
-
- puts (buf);
-}
-
-static void
-print_version ()
-{
- const char *v = strchr (version, ':');
- int len;
- if (!v)
- {
- v = "?";
- len = 1;
- }
- else
- {
- v += 2;
- len = strchr (v, ' ') - v;
- }
- printf ("\
-cygpath (cygwin) %.*s\n\
-Path Conversion Utility\n\
-Copyright 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 Red Hat, Inc.\n\
-Compiled on %s\n\
-", len, v, __DATE__);
-}
-
-int
-main (int argc, char **argv)
-{
- int c, o = 0;
- int options_from_file_flag;
- int mode_flag;
-
- prog_name = strrchr (argv[0], '/');
- if (prog_name == NULL)
- prog_name = strrchr (argv[0], '\\');
- if (prog_name == NULL)
- prog_name = argv[0];
- else
- prog_name++;
-
- path_flag = 0;
- unix_flag = 1;
- windows_flag = 0;
- shortname_flag = 0;
- longname_flag = 0;
- mixed_flag = 0;
- ignore_flag = 0;
- options_from_file_flag = 0;
- allusers_flag = 0;
- output_flag = 0;
- mode_flag = 0;
- while ((c = getopt_long (argc, argv, options,
- long_options, (int *) NULL)) != EOF)
- {
- switch (c)
- {
- case 'a':
- absolute_flag = 1;
- break;
-
- case 'c':
- CloseHandle ((HANDLE) strtoul (optarg, NULL, 16));
- break;
-
- case 'd':
- if (windows_flag)
- usage (stderr, 1);
- unix_flag = 0;
- windows_flag = 1;
- shortname_flag = 1;
- break;
-
- case 'f':
- file_arg = optarg;
- break;
-
- case 'M':
- mode_flag = 1;
- break;
-
- case 'o':
- options_from_file_flag = 1;
- break;
-
- case 'p':
- path_flag = 1;
- break;
-
- case 'u':
- if (windows_flag || mixed_flag)
- usage (stderr, 1);
- unix_flag = 1;
- break;
-
- case 'w':
- if (windows_flag || mixed_flag)
- usage (stderr, 1);
- unix_flag = 0;
- windows_flag = 1;
- break;
-
- case 'm':
- unix_flag = 0;
- windows_flag = 1;
- mixed_flag = 1;
- break;
-
- case 'l':
- longname_flag = 1;
- break;
-
- case 's':
- shortname_flag = 1;
- break;
-
- case 't':
- if (optarg == NULL)
- usage (stderr, 1);
-
- format_type_arg = (*optarg == '=') ? (optarg + 1) : (optarg);
- if (strcasecmp (format_type_arg, "dos") == 0)
- {
- if (windows_flag || longname_flag)
- usage (stderr, 1);
- unix_flag = 0;
- windows_flag = 1;
- shortname_flag = 1;
- }
- else if (strcasecmp (format_type_arg, "mixed") == 0)
- {
- unix_flag = 0;
- mixed_flag = 1;
- }
- else if (strcasecmp (format_type_arg, "unix") == 0)
- {
- if (windows_flag)
- usage (stderr, 1);
- unix_flag = 1;
- }
- else if (strcasecmp (format_type_arg, "windows") == 0)
- {
- if (mixed_flag)
- usage (stderr, 1);
- unix_flag = 0;
- windows_flag = 1;
- }
- else
- usage (stderr, 1);
- break;
-
- case 'A':
- allusers_flag = 1;
- break;
-
- case 'D':
- case 'H':
- case 'P':
- case 'S':
- case 'W':
- if (output_flag)
- usage (stderr, 1);
- output_flag = 1;
- o = c;
- break;
-
- case 'i':
- ignore_flag = 1;
- break;
-
- case 'h':
- usage (stdout, 0);
- break;
-
- case 'v':
- print_version ();
- exit (0);
-
- default:
- usage (stderr, 1);
- break;
- }
- }
-
- if (options_from_file_flag && !file_arg)
- usage (stderr, 1);
-
- if (longname_flag && !windows_flag)
- usage (stderr, 1);
-
- if (shortname_flag && !windows_flag)
- usage (stderr, 1);
-
- if (!unix_flag && !windows_flag && !mixed_flag && !options_from_file_flag)
- usage (stderr, 1);
-
- if (!file_arg)
- {
- if (output_flag)
- dowin (o);
-
- if (optind > argc - 1)
- usage (stderr, 1);
-
- for (int i = optind; argv[i]; i++)
- if (mode_flag)
- report_mode (argv[i]);
- else
- doit (argv[i]);
- }
- else
- {
- FILE *fp;
- char buf[PATH_MAX * 2 + 1];
-
- if (argv[optind])
- usage (stderr, 1);
-
- if (strcmp (file_arg, "-") != 0)
- fp = fopen (file_arg, "rt");
- else
- {
- fp = stdin;
- setmode (0, O_TEXT);
- }
- if (fp == NULL)
- {
- perror ("cygpath");
- exit (1);
- }
-
- setbuf (stdout, NULL);
- while (fgets (buf, sizeof (buf), fp) != NULL)
- {
- char *s = buf;
- char *p = strchr (s, '\n');
- if (p)
- *p = '\0';
- if (options_from_file_flag && *s == '-')
- {
- char c;
- for (c = *++s; c && !isspace (c); c = *++s)
- switch (c)
- {
- case 'a':
- absolute_flag = 1;
- break;
- case 'i':
- ignore_flag = 1;
- break;
- case 's':
- shortname_flag = 1;
- longname_flag = 0;
- break;
- case 'l':
- shortname_flag = 0;
- longname_flag = 1;
- break;
- case 'm':
- unix_flag = 0;
- windows_flag = 1;
- mixed_flag = 1;
- case 'w':
- unix_flag = 0;
- windows_flag = 1;
- break;
- case 'u':
- windows_flag = 0;
- unix_flag = 1;
- break;
- case 'p':
- path_flag = 1;
- break;
- case 'D':
- case 'H':
- case 'P':
- case 'S':
- case 'W':
- output_flag = 1;
- o = c;
- break;
- }
- if (*s)
- do
- s++;
- while (*s && isspace (*s));
- }
- if (*s && !output_flag)
- doit (s);
- if (!*s && output_flag)
- dowin (o);
- }
- }
-
- exit (0);
-}
diff --git a/winsup/utils/dump_setup.cc b/winsup/utils/dump_setup.cc
deleted file mode 100644
index 855fcf043..000000000
--- a/winsup/utils/dump_setup.cc
+++ /dev/null
@@ -1,508 +0,0 @@
-/* dump_setup.cc
-
- Copyright 2001 Red Hat, Inc.
-
-This file is part of Cygwin.
-
-This software is a copyrighted work licensed under the terms of the
-Cygwin license. Please consult the file "CYGWIN_LICENSE" for
-details. */
-
-#include <windows.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <ctype.h>
-#include <stdlib.h>
-#include <string.h>
-#include <io.h>
-#include <sys/stat.h>
-#include <errno.h>
-#include "path.h"
-#if 0
-#include "zlib.h"
-#endif
-
-#ifndef ZLIB_VERSION
-typedef void * gzFile;
-#define gzgets(fp, buf, size) ({0;})
-#define gzclose(fp) ({0;})
-#endif
-
-static int package_len = 20;
-static unsigned int version_len = 10;
-
-
-typedef struct
-{
- char pkgtar[MAX_PATH + 1];
- char pkg[MAX_PATH + 1];
- char ver[MAX_PATH + 1];
- char tail[MAX_PATH + 1];
- char what[16];
-} fileparse;
-
-static int
-find_tar_ext (const char *path)
-{
- char *p = strchr (path, '\0') - 7;
- if (p <= path)
- return 0;
- if (*p == '.')
- {
- if (strcmp (p, ".tar.gz") != 0)
- return 0;
- }
- else if (--p <= path || strcmp (p, ".tar.bz2") != 0)
- return 0;
-
- return p - path;
-}
-
-static char *
-base (const char *s)
-{
- if (!s)
- return 0;
- const char *rv = s;
- while (*s)
- {
- if ((*s == '/' || *s == ':' || *s == '\\') && s[1])
- rv = s + 1;
- s++;
- }
- return (char *) rv;
-}
-
-/* Parse a filename into package, version, and extension components. */
-int
-parse_filename (const char *in_fn, fileparse& f)
-{
- char *p, *ver;
- char fn[strlen (in_fn) + 1];
-
- strcpy (fn, in_fn);
- int n = find_tar_ext (fn);
-
- if (!n)
- return 0;
-
- strcpy (f.tail, fn + n);
- fn[n] = '\0';
- f.pkg[0] = f.what[0] = '\0';
- p = base (fn);
- for (ver = p; *ver; ver++)
- if (*ver == '-')
- if (isdigit (ver[1]))
- {
- *ver++ = 0;
- strcpy (f.pkg, p);
- break;
- }
- else if (strcasecmp (ver, "-src") == 0 ||
- strcasecmp (ver, "-patch") == 0)
- {
- *ver++ = 0;
- strcpy (f.pkg, p);
- strcpy (f.what, strlwr (ver));
- strcpy (f.pkgtar, p);
- strcat (f.pkgtar, f.tail);
- ver = strchr (ver, '\0');
- break;
- }
-
- if (!f.pkg[0])
- strcpy (f.pkg, p);
-
- if (!f.what[0])
- {
- int n;
- p = strchr (ver, '\0');
- strcpy (f.pkgtar, in_fn);
- if ((p -= 4) >= ver && strcasecmp (p, "-src") == 0)
- n = 4;
- else if ((p -= 2) >= ver && strcasecmp (p, "-patch") == 0)
- n = 6;
- else
- n = 0;
- if (n)
- {
- strcpy (f.what, p + 1);
- *p = '\0';
- p = f.pkgtar + (p - fn) + n;
- memmove (p - 4, p, strlen (p));
- }
- }
-
- strcpy (f.ver, *ver ? ver : "0.0");
- return 1;
-}
-
-static bool
-dump_file (const char *msg, const char *fn)
-{
- char *path = cygpath ("/etc/setup/", fn, NULL);
- FILE *fp = fopen (path, "rt");
- bool printed;
- char buf[4096];
- if (!fp)
- printed = false;
- else if (!fgets (buf, 4096, fp))
- printed = false;
- {
- char *p = strchr (buf, '\0');
- printf ("%s%s%s", msg, buf, (p == buf) || p[-1] != '\n' ? "\n" : "");
- printed = true;
- }
- if (fp)
- fclose (fp);
- return printed;
-}
-
-struct pkgver
-{
- char *name;
- char *ver;
-};
-
-extern "C" {
-int
-compar (const void *a, const void *b)
-{
- const pkgver *pa = (const pkgver *) a;
- const pkgver *pb = (const pkgver *) b;
- return strcasecmp (pa->name, pb->name);
-}
-}
-
-int
-match_argv (char **argv, const char *name)
-{
- if (!argv || !*argv)
- return -1;
- for (char **a = argv; *a; a++)
- if (strcasecmp (*a, name) == 0)
- return a - argv + 1;
- return 0;
-}
-
-static bool
-could_not_access (int verbose, char *filename, char *package, const char *type)
-{
- switch (errno)
- {
- case ENOTDIR:
- break;
- case ENOENT:
- if (verbose)
- printf ("Missing %s: /%s from package %s\n",
- type, filename, package);
- return true;
- case EACCES:
- if (verbose)
- printf ("Unable to access %s /%s from package %s\n",
- type, filename, package);
- return true;
- }
- return false;
-}
-
-static bool
-directory_exists (int verbose, char *filename, char *package)
-{
- struct stat status;
- if (stat(cygpath("/", filename, ".", NULL), &status))
- {
- if (could_not_access (verbose, filename, package, "directory"))
- return false;
- }
- else if (!S_ISDIR(status.st_mode))
- {
- if (verbose)
- printf ("Directory/file mismatch: /%s from package %s\n", filename, package);
- return false;
- }
- return true;
-}
-
-static bool
-file_exists (int verbose, char *filename, const char *alt, char *package)
-{
- struct stat status;
- if (stat(cygpath("/", filename, NULL), &status) &&
- (!alt || stat(cygpath("/", filename, alt, NULL), &status)))
- {
- if (could_not_access (verbose, filename, package, "file"))
- return false;
- }
- else if (!S_ISREG(status.st_mode))
- {
- if (verbose)
- printf ("File type mismatch: /%s from package %s\n", filename, package);
- return false;
- }
- return true;
-}
-
-static gzFile
-open_package_list (char *package)
-{
- char filelist[MAX_PATH + 1] = "/etc/setup/";
- strcat (strcat (filelist, package), ".lst.gz");
- if (!file_exists (false, filelist + 1, NULL, NULL))
- return NULL;
-
- gzFile fp;
-#ifndef ZLIB_VERSION
- fp = NULL;
-#else
- char *fn = cygpath (filelist, NULL);
- fp = gzopen (fn, "rb9");
- free (fn);
-#endif
-
- return fp;
-}
-
-static bool
-check_package_files (int verbose, char *package)
-{
- gzFile fp = open_package_list (package);
- if (!fp)
- {
- if (verbose)
- printf ("Empty package %s\n", package);
- return true;
- }
-
- bool result = true;
- char buf[MAX_PATH + 1];
- while (gzgets (fp, buf, MAX_PATH))
- {
- char *filename = strtok(buf, "\n");
-
- if (*filename == '/')
- ++filename;
- else if (!strncmp (filename, "./", 2))
- filename += 2;
-
- if (filename[strlen (filename) - 1] == '/')
- {
- if (!directory_exists (verbose, filename, package))
- result = false;
- }
- else if (!strncmp (filename, "etc/postinstall/", 16))
- {
- if (!file_exists (verbose, filename, ".done", package))
- result = false;
- }
- else
- {
- if (!file_exists (verbose, filename, ".lnk", package))
- result = false;
- }
- }
-
- gzclose (fp);
- return result;
-}
-
-/**
- * Returns a calloc'd sorted list of packages or NULL if no info.
- * The last entry in the list is {NULL,NULL}.
- */
-static pkgver *
-get_packages (char **argv) {
- char *setup = cygpath ("/etc/setup/installed.db", NULL);
- FILE *fp = fopen (setup, "rt");
-
- if (fp == NULL)
- return NULL;
-
- int nlines;
- nlines = 0;
- char buf[4096];
- while (fgets (buf, 4096, fp))
- nlines += 2; /* potentially binary + source */
- if (!nlines)
- {
- fclose (fp);
- return NULL;
- }
- rewind (fp);
-
- pkgver *packages;
-
- packages = (pkgver *) calloc (nlines + 1, sizeof(packages[0]));
- int n;
- for (n = 0; fgets (buf, 4096, fp) && n < nlines;)
- {
- char *package = strtok (buf, " ");
- if (!package || !*package || !match_argv (argv, package))
- continue;
- for (int i = 0; i < 2; i++)
- {
- fileparse f;
- char *tar = strtok (NULL, " ");
- if (!tar || !*tar || !parse_filename (tar, f))
- break;
-
- int len = strlen (package);
- if (f.what[0])
- len += strlen (f.what) + 1;
- if (len > package_len)
- package_len = len;
- packages[n].name = (char *) malloc (len + 1);
- strcpy (packages[n].name , package);
- if (f.what[0])
- strcat (strcat (packages[n].name, "-"), f.what);
- packages[n].ver = strdup (f.ver);
- if (strlen(f.ver) > version_len)
- version_len = strlen(f.ver);
- n++;
- if (strtok (NULL, " ") == NULL)
- break;
- }
- }
-
- packages[n].name = packages[n].ver = NULL;
-
- qsort (packages, n, sizeof (packages[0]), compar);
-
- fclose (fp);
-
- return packages;
-}
-
-void
-dump_setup (int verbose, char **argv, bool check_files)
-{
- pkgver *packages = get_packages(argv);
-
- puts ("Cygwin Package Information");
- if (packages == NULL)
- {
- puts ("No setup information found");
- return;
- }
-
- if (verbose)
- {
- bool need_nl = dump_file ("Last downloaded files to: ", "last-cache");
- if (dump_file ("Last downloaded files from: ", "last-mirror") || need_nl)
- puts ("");
- }
-
- printf ("%-*s %-*s%s\n", package_len, "Package",
- check_files ? version_len : 7, "Version",
- check_files ? " Status" : "");
- for (int i = 0; packages[i].name; i++)
- {
- if (check_files)
- printf ("%-*s %-*s%s\n", package_len, packages[i].name,
- version_len, packages[i].ver,
- check_package_files (verbose, packages[i].name)
- ? " OK" : " Incomplete");
- else
- printf ("%-*s %s\n", package_len, packages[i].name, packages[i].ver);
- fflush(stdout);
- }
-
- free (packages);
-
- return;
-}
-
-void
-package_list (int verbose, char **argv)
-{
- pkgver *packages = get_packages(argv);
- if (packages == NULL)
- {
- puts ("No setup information found");
- return;
- }
-
- for (int i = 0; packages[i].name; i++)
- {
- gzFile fp = open_package_list (packages[i].name);
- if (!fp)
- {
- if (verbose)
- printf ("Can't open file list /etc/setup/%s.lst.gz for package %s\n",
- packages[i].name, packages[i].name);
- continue;
- }
-
- if (verbose)
- printf ("Package: %s-%s\n", packages[i].name, packages[i].ver);
-
- char buf[MAX_PATH + 1];
- while (gzgets (fp, buf, MAX_PATH))
- {
- char *lastchar = strchr(buf, '\n');
- if (lastchar[-1] != '/')
- printf ("%s/%s", (verbose?" ":""), buf);
- }
-
- gzclose (fp);
- }
-
- free (packages);
-
- return;
-}
-
-void
-package_find (int verbose, char **argv)
-{
- pkgver *packages = get_packages(NULL);
- if (packages == NULL)
- {
- puts ("No setup information found");
- return;
- }
-
- for (int i = 0; packages[i].name; i++)
- {
- gzFile fp = open_package_list (packages[i].name);
- if (!fp)
- continue;
-
- char buf[MAX_PATH + 2];
- buf[0] = '/';
- while (gzgets (fp, buf + 1, MAX_PATH))
- {
- char *filename = strtok(buf, "\n");
- int flen = strlen (filename);
- if (filename[flen - 1] != '/')
- {
- // FIXME: verify that /bin is mounted on /usr/bin; ditto for /lib
- bool is_alias = !strncmp(filename, "/usr/bin/", 9) ||
- !strncmp(filename, "/usr/lib", 9);
- int a = match_argv (argv, filename);
- if (!a && is_alias)
- a = match_argv (argv, filename + 4);
- if (!a && !strcmp(filename + flen - 4, ".exe"))
- {
- filename[flen - 4] = '\0';
- a = match_argv (argv, filename);
- }
- if (!a && is_alias)
- a = match_argv (argv, filename + 4);
- if (a > 0)
- {
- if (verbose)
- printf ("%s: found in package ", filename);
- printf ("%s-%s\n", packages[i].name, packages[i].ver);
- }
- }
- }
-
- gzclose (fp);
- }
-
- free (packages);
-
- return;
-}
-
diff --git a/winsup/utils/dumper.cc b/winsup/utils/dumper.cc
deleted file mode 100644
index e5e91e2ef..000000000
--- a/winsup/utils/dumper.cc
+++ /dev/null
@@ -1,882 +0,0 @@
-/* dumper.cc
-
- Copyright 1999, 2001, 2002, 2004 Red Hat Inc.
-
- Written by Egor Duda <deo@logos-m.ru>
-
- This file is part of Cygwin.
-
- This software is a copyrighted work licensed under the terms of the
- Cygwin license. Please consult the file "CYGWIN_LICENSE" for
- details. */
-
-#include <bfd.h>
-#include <elf/common.h>
-#include <elf/external.h>
-#include <sys/procfs.h>
-#include <sys/cygwin.h>
-#include <getopt.h>
-#include <stdarg.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <unistd.h>
-#include <windows.h>
-
-#include "dumper.h"
-
-#define NOTE_NAME_SIZE 16
-
-typedef struct _note_header
- {
- Elf_External_Note elf_note_header;
- char name[NOTE_NAME_SIZE - 1]; /* external note contains first byte of data */
- }
-#ifdef __GNUC__
-__attribute__ ((packed))
-#endif
- note_header;
-
-static const char version[] = "$Revision$";
-
-BOOL verbose = FALSE;
-
-int deb_printf (const char *format,...)
-{
- if (!verbose)
- return 0;
- va_list va;
- va_start (va, format);
- int ret_val = vprintf (format, va);
- va_end (va);
- return ret_val;
-}
-
-dumper::dumper (DWORD pid, DWORD tid, const char *file_name)
-{
- this->file_name = strdup (file_name);
-
- this->pid = pid;
- this->tid = tid;
- core_bfd = NULL;
- excl_list = new exclusion (20);
-
- list = last = NULL;
-
- status_section = NULL;
-
- memory_num = module_num = thread_num = 0;
-
- hProcess = OpenProcess (PROCESS_ALL_ACCESS,
- FALSE, /* no inheritance */
- pid);
- if (!hProcess)
- {
- fprintf (stderr, "Failed to open process #%lu, error %ld\n", pid, GetLastError ());
- return;
- }
-
- init_core_dump ();
-
- if (!sane ())
- dumper_abort ();
-}
-
-dumper::~dumper ()
-{
- close ();
- free (file_name);
-}
-
-void
-dumper::dumper_abort ()
-{
- close ();
- unlink (file_name);
-}
-
-void
-dumper::close ()
-{
- if (core_bfd)
- bfd_close (core_bfd);
- if (excl_list)
- delete excl_list;
- if (hProcess)
- CloseHandle (hProcess);
- core_bfd = NULL;
- hProcess = NULL;
- excl_list = NULL;
-}
-
-int
-dumper::sane ()
-{
- if (hProcess == NULL || core_bfd == NULL || excl_list == NULL)
- return 0;
- return 1;
-}
-
-void
-print_section_name (bfd* abfd, asection* sect, PTR obj)
-{
- deb_printf (" %s", bfd_get_section_name (abfd, sect));
-}
-
-void
-dumper::print_core_section_list ()
-{
- deb_printf ("current sections:");
- bfd_map_over_sections (core_bfd, &print_section_name, NULL);
- deb_printf ("\n");
-}
-
-process_entity *
-dumper::add_process_entity_to_list (process_entity_type type)
-{
- if (!sane ())
- return NULL;
-
- process_entity *new_entity = (process_entity *) malloc (sizeof (process_entity));
- if (new_entity == NULL)
- return NULL;
- new_entity->next = NULL;
- new_entity->section = NULL;
- if (last == NULL)
- list = new_entity;
- else
- last->next = new_entity;
- last = new_entity;
- return new_entity;
-}
-
-int
-dumper::add_thread (DWORD tid, HANDLE hThread)
-{
- if (!sane ())
- return 0;
-
- CONTEXT *pcontext;
-
- process_entity *new_entity = add_process_entity_to_list (pr_ent_thread);
- if (new_entity == NULL)
- return 0;
- new_entity->type = pr_ent_thread;
- thread_num++;
-
- new_entity->u.thread.tid = tid;
- new_entity->u.thread.hThread = hThread;
-
- pcontext = &(new_entity->u.thread.context);
- pcontext->ContextFlags = CONTEXT_FULL | CONTEXT_FLOATING_POINT;
- if (!GetThreadContext (hThread, pcontext))
- {
- deb_printf ("Failed to read thread context (tid=%x), error %ld\n", tid, GetLastError ());
- return 0;
- }
-
- deb_printf ("added thread %u\n", tid);
- return 1;
-}
-
-int
-dumper::add_mem_region (LPBYTE base, DWORD size)
-{
- if (!sane ())
- return 0;
-
- if (base == NULL || size == 0)
- return 1; // just ignore empty regions
-
- process_entity *new_entity = add_process_entity_to_list (pr_ent_memory);
- if (new_entity == NULL)
- return 0;
- new_entity->type = pr_ent_memory;
- memory_num++;
-
- new_entity->u.memory.base = base;
- new_entity->u.memory.size = size;
-
- deb_printf ("added memory region %08x-%08x\n", (DWORD) base, (DWORD) base + size);
- return 1;
-}
-
-/* split_add_mem_region scans list of regions to be excluded from dumping process
- (excl_list) and removes all "excluded" parts from given region. */
-int
-dumper::split_add_mem_region (LPBYTE base, DWORD size)
-{
- if (!sane ())
- return 0;
-
- if (base == NULL || size == 0)
- return 1; // just ignore empty regions
-
- LPBYTE last_base = base;
-
- for (process_mem_region * p = excl_list->region;
- p < excl_list->region + excl_list->last;
- p++)
- {
- if (p->base >= base + size || p->base + p->size <= base)
- continue;
-
- if (p->base <= base)
- {
- last_base = p->base + p->size;
- continue;
- }
-
- add_mem_region (last_base, p->base - last_base);
- last_base = p->base + p->size;
- }
-
- if (last_base < base + size)
- add_mem_region (last_base, base + size - last_base);
-
- return 1;
-}
-
-int
-dumper::add_module (LPVOID base_address)
-{
- if (!sane ())
- return 0;
-
- char *module_name = psapi_get_module_name (hProcess, (DWORD) base_address);
- if (module_name == NULL)
- return 1;
-
- process_entity *new_entity = add_process_entity_to_list (pr_ent_module);
- if (new_entity == NULL)
- return 0;
- new_entity->type = pr_ent_module;
- module_num++;
-
- new_entity->u.module.base_address = base_address;
- new_entity->u.module.name = module_name;
-
- parse_pe (module_name, excl_list);
-
- deb_printf ("added module %08x %s\n", base_address, module_name);
- return 1;
-}
-
-#define PAGE_BUFFER_SIZE 4096
-
-int
-dumper::collect_memory_sections ()
-{
- if (!sane ())
- return 0;
-
- LPBYTE current_page_address;
- LPBYTE last_base = (LPBYTE) 0xFFFFFFFF;
- DWORD last_size = 0;
- DWORD done;
-
- char mem_buf[PAGE_BUFFER_SIZE];
-
- MEMORY_BASIC_INFORMATION mbi;
-
- if (hProcess == NULL)
- return 0;
-
- for (current_page_address = 0; current_page_address < (LPBYTE) 0xFFFF0000;)
- {
- if (!VirtualQueryEx (hProcess, current_page_address, &mbi, sizeof (mbi)))
- break;
-
- int skip_region_p = 0;
-
- if (mbi.Protect & (PAGE_NOACCESS | PAGE_GUARD) ||
- mbi.State != MEM_COMMIT)
- skip_region_p = 1;
-
- if (!skip_region_p)
- {
- /* just to make sure that later we'll be able to read it.
- According to MS docs either region is all-readable or
- all-nonreadable */
- if (!ReadProcessMemory (hProcess, current_page_address, mem_buf, sizeof (mem_buf), &done))
- {
- DWORD err = GetLastError ();
- const char *pt[10];
- pt[0] = (mbi.Protect & PAGE_READONLY) ? "RO " : "";
- pt[1] = (mbi.Protect & PAGE_READWRITE) ? "RW " : "";
- pt[2] = (mbi.Protect & PAGE_WRITECOPY) ? "WC " : "";
- pt[3] = (mbi.Protect & PAGE_EXECUTE) ? "EX " : "";
- pt[4] = (mbi.Protect & PAGE_EXECUTE_READ) ? "EXRO " : "";
- pt[5] = (mbi.Protect & PAGE_EXECUTE_READWRITE) ? "EXRW " : "";
- pt[6] = (mbi.Protect & PAGE_EXECUTE_WRITECOPY) ? "EXWC " : "";
- pt[7] = (mbi.Protect & PAGE_GUARD) ? "GRD " : "";
- pt[8] = (mbi.Protect & PAGE_NOACCESS) ? "NA " : "";
- pt[9] = (mbi.Protect & PAGE_NOCACHE) ? "NC " : "";
- char buf[10 * 6];
- buf[0] = '\0';
- for (int i = 0; i < 10; i++)
- strcat (buf, pt[i]);
-
- deb_printf ("warning: failed to read memory at %08x-%08x (protect = %s), error %ld.\n",
- (DWORD) current_page_address,
- (DWORD) current_page_address + mbi.RegionSize,
- buf, err);
- skip_region_p = 1;
- }
- }
-
- if (!skip_region_p)
- {
- if (last_base + last_size == current_page_address)
- last_size += mbi.RegionSize;
- else
- {
- split_add_mem_region (last_base, last_size);
- last_base = (LPBYTE) mbi.BaseAddress;
- last_size = mbi.RegionSize;
- }
- }
- else
- {
- split_add_mem_region (last_base, last_size);
- last_base = NULL;
- last_size = 0;
- }
-
- current_page_address += mbi.RegionSize;
- }
-
- /* dump last sections, if any */
- split_add_mem_region (last_base, last_size);
- return 1;
-};
-
-int
-dumper::dump_memory_region (asection * to, process_mem_region * memory)
-{
- if (!sane ())
- return 0;
-
- DWORD size = memory->size;
- DWORD todo;
- DWORD done;
- LPBYTE pos = memory->base;
- DWORD sect_pos = 0;
-
- if (to == NULL || memory == NULL)
- return 0;
-
- char mem_buf[PAGE_BUFFER_SIZE];
-
- while (size > 0)
- {
- todo = min (size, PAGE_BUFFER_SIZE);
- if (!ReadProcessMemory (hProcess, pos, mem_buf, todo, &done))
- {
- deb_printf ("Failed to read process memory at %x(%x), error %ld\n", pos, todo, GetLastError ());
- return 0;
- }
- size -= done;
- pos += done;
- if (!bfd_set_section_contents (core_bfd, to, mem_buf, sect_pos, done))
- {
- bfd_perror ("writing memory region to bfd");
- dumper_abort ();
- return 0;
- };
- sect_pos += done;
- }
- return 1;
-}
-
-int
-dumper::dump_thread (asection * to, process_thread * thread)
-{
- if (!sane ())
- return 0;
-
- if (to == NULL || thread == NULL)
- return 0;
-
- win32_pstatus thread_pstatus;
-
- note_header header;
- bfd_putl32 (NOTE_NAME_SIZE, header.elf_note_header.namesz);
- bfd_putl32 (sizeof (thread_pstatus), header.elf_note_header.descsz);
- bfd_putl32 (NT_WIN32PSTATUS, header.elf_note_header.type);
- strncpy ((char *) &header.elf_note_header.name, "win32thread", NOTE_NAME_SIZE);
-
- thread_pstatus.data_type = NOTE_INFO_THREAD;
- thread_pstatus.data.thread_info.tid = thread->tid;
-
- if (tid == 0)
- {
- /* this is a special case. we don't know, which thread
- was active when exception occured, so let's blame
- the first one */
- thread_pstatus.data.thread_info.is_active_thread = TRUE;
- tid = (DWORD) - 1;
- }
- else if (tid > 0 && thread->tid == tid)
- thread_pstatus.data.thread_info.is_active_thread = TRUE;
- else
- thread_pstatus.data.thread_info.is_active_thread = FALSE;
-
- memcpy (&(thread_pstatus.data.thread_info.thread_context),
- &(thread->context),
- sizeof (thread->context));
-
- if (!bfd_set_section_contents (core_bfd, to, &header,
- 0,
- sizeof (header)) ||
- !bfd_set_section_contents (core_bfd, to, &thread_pstatus,
- sizeof (header),
- sizeof (thread_pstatus)))
- {
- bfd_perror ("writing thread info to bfd");
- dumper_abort ();
- return 0;
- };
- return 1;
-}
-
-int
-dumper::dump_module (asection * to, process_module * module)
-{
- if (!sane ())
- return 0;
-
- if (to == NULL || module == NULL)
- return 0;
-
- struct win32_pstatus *module_pstatus_ptr;
-
- int note_length = sizeof (struct win32_pstatus) + strlen (module->name);
-
- char *buf = (char *) malloc (note_length);
-
- if (!buf)
- {
- fprintf (stderr, "Error alloating memory. Dumping aborted.\n");
- goto out;
- };
-
- module_pstatus_ptr = (struct win32_pstatus *) buf;
-
- note_header header;
- bfd_putl32 (NOTE_NAME_SIZE, header.elf_note_header.namesz);
- bfd_putl32 (note_length, header.elf_note_header.descsz);
- bfd_putl32 (NT_WIN32PSTATUS, header.elf_note_header.type);
- strncpy ((char *) &header.elf_note_header.name, "win32module", NOTE_NAME_SIZE);
-
- module_pstatus_ptr->data_type = NOTE_INFO_MODULE;
- module_pstatus_ptr->data.module_info.base_address = module->base_address;
- module_pstatus_ptr->data.module_info.module_name_size = strlen (module->name) + 1;
- strcpy (module_pstatus_ptr->data.module_info.module_name, module->name);
-
- if (!bfd_set_section_contents (core_bfd, to, &header,
- 0,
- sizeof (header)) ||
- !bfd_set_section_contents (core_bfd, to, module_pstatus_ptr,
- sizeof (header),
- note_length))
- {
- bfd_perror ("writing module info to bfd");
- goto out;
- };
- return 1;
-
-out:
- if (buf)
- free (buf);
- dumper_abort ();
- return 0;
-
-}
-
-int
-dumper::collect_process_information ()
-{
- int exception_level = 0;
-
- if (!sane ())
- return 0;
-
- if (!DebugActiveProcess (pid))
- {
- fprintf (stderr, "Cannot attach to process #%lu, error %ld", pid, GetLastError ());
- return 0;
- }
-
- char event_name[sizeof ("cygwin_error_start_event") + 20];
- sprintf (event_name, "cygwin_error_start_event%16lx", pid);
- HANDLE sync_with_debugee = OpenEvent (EVENT_MODIFY_STATE, FALSE, event_name);
-
- DEBUG_EVENT current_event;
-
- while (1)
- {
- if (!WaitForDebugEvent (&current_event, 20000))
- return 0;
-
- deb_printf ("got debug event %d\n", current_event.dwDebugEventCode);
-
- switch (current_event.dwDebugEventCode)
- {
- case CREATE_THREAD_DEBUG_EVENT:
-
- if (!add_thread (current_event.dwThreadId,
- current_event.u.CreateThread.hThread))
- goto failed;
-
- break;
-
- case CREATE_PROCESS_DEBUG_EVENT:
-
- if (!add_module (current_event.u.CreateProcessInfo.lpBaseOfImage) ||
- !add_thread (current_event.dwThreadId,
- current_event.u.CreateProcessInfo.hThread))
- goto failed;
-
- break;
-
- case EXIT_PROCESS_DEBUG_EVENT:
-
- deb_printf ("debugee quits");
- ContinueDebugEvent (current_event.dwProcessId,
- current_event.dwThreadId,
- DBG_CONTINUE);
-
- return 1;
-
- break;
-
- case LOAD_DLL_DEBUG_EVENT:
-
- if (!add_module (current_event.u.LoadDll.lpBaseOfDll))
- goto failed;
-
- break;
-
- case EXCEPTION_DEBUG_EVENT:
-
- exception_level++;
- if (exception_level == 2)
- break;
- else if (exception_level > 2)
- return 0;
-
- collect_memory_sections ();
-
- /* got all info. time to dump */
-
- if (!prepare_core_dump ())
- {
- fprintf (stderr, "Failed to prepare core dump\n");
- goto failed;
- };
-
- if (!write_core_dump ())
- {
- fprintf (stderr, "Failed to write core dump\n");
- goto failed;
- };
-
- /* signal a debugee that we've finished */
- if (sync_with_debugee)
- SetEvent (sync_with_debugee);
-
- break;
-
- default:
-
- break;
-
- }
-
- ContinueDebugEvent (current_event.dwProcessId,
- current_event.dwThreadId,
- DBG_CONTINUE);
- }
-failed:
- /* set debugee free */
- if (sync_with_debugee)
- SetEvent (sync_with_debugee);
-
- return 0;
-}
-
-int
-dumper::init_core_dump ()
-{
- bfd_init ();
-
- core_bfd = bfd_openw (file_name, "elf32-i386");
- if (core_bfd == NULL)
- {
- bfd_perror ("opening bfd");
- goto failed;
- }
-
- if (!bfd_set_format (core_bfd, bfd_core))
- {
- bfd_perror ("setting bfd format");
- goto failed;
- }
-
- if (!bfd_set_arch_mach (core_bfd, bfd_arch_i386, 0))
- {
- bfd_perror ("setting bfd architecture");
- goto failed;
- }
-
- return 1;
-
-failed:
- dumper_abort ();
- return 0;
-
-}
-
-int
-dumper::prepare_core_dump ()
-{
- if (!sane ())
- return 0;
-
- int sect_no = 0;
- char sect_name[50];
-
- flagword sect_flags;
- DWORD sect_size;
- bfd_vma sect_vma;
-
- asection *new_section;
-
- for (process_entity * p = list; p != NULL; p = p->next)
- {
- sect_no++;
-
- switch (p->type)
- {
- case pr_ent_memory:
- sprintf (sect_name, ".mem/%u", sect_no);
- sect_flags = SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD;
- sect_size = p->u.memory.size;
- sect_vma = (bfd_vma) (p->u.memory.base);
-
- break;
-
- case pr_ent_thread:
- sprintf (sect_name, ".note/%u", sect_no);
- sect_flags = SEC_HAS_CONTENTS | SEC_LOAD;
- sect_size = sizeof (note_header) + sizeof (struct win32_pstatus);
- sect_vma = 0;
- break;
-
- case pr_ent_module:
- sprintf (sect_name, ".note/%u", sect_no);
- sect_flags = SEC_HAS_CONTENTS | SEC_LOAD;
- sect_size = sizeof (note_header) + sizeof (struct win32_pstatus) +
- (bfd_size_type) (strlen (p->u.module.name));
- sect_vma = 0;
- break;
-
- default:
- continue;
- }
-
- if (p->type == pr_ent_module && status_section != NULL)
- {
- if (!bfd_set_section_size (core_bfd,
- status_section,
- (bfd_get_section_size (status_section)
- + sect_size)))
- {
- bfd_perror ("resizing status section");
- goto failed;
- };
- continue;
- }
-
- deb_printf ("creating section (type%u) %s(%u), flags=%08x\n",
- p->type, sect_name, sect_size, sect_flags);
-
- bfd_set_error (bfd_error_no_error);
- char *buf = strdup (sect_name);
- new_section = bfd_make_section (core_bfd, buf);
- if (new_section == NULL)
- {
- if (bfd_get_error () == bfd_error_no_error)
- fprintf (stderr, "error creating new section (%s), section already exists.\n", buf);
- else
- bfd_perror ("creating section");
- goto failed;
- }
-
- if (!bfd_set_section_flags (core_bfd, new_section, sect_flags) ||
- !bfd_set_section_size (core_bfd, new_section, sect_size))
- {
- bfd_perror ("setting section attributes");
- goto failed;
- };
-
- new_section->vma = sect_vma;
- new_section->output_section = new_section;
- new_section->output_offset = 0;
- p->section = new_section;
- }
-
- return 1;
-
-failed:
- dumper_abort ();
- return 0;
-}
-
-int
-dumper::write_core_dump ()
-{
- if (!sane ())
- return 0;
-
- for (process_entity * p = list; p != NULL; p = p->next)
- {
- if (p->section == NULL)
- continue;
-
- deb_printf ("writing section type=%u base=%08x size=%08x flags=%08x\n",
- p->type,
- p->section->vma,
- bfd_get_section_size (p->section),
- p->section->flags);
-
- switch (p->type)
- {
- case pr_ent_memory:
- dump_memory_region (p->section, &(p->u.memory));
- break;
-
- case pr_ent_thread:
- dump_thread (p->section, &(p->u.thread));
- break;
-
- case pr_ent_module:
- dump_module (p->section, &(p->u.module));
- break;
-
- default:
- continue;
-
- }
- }
- return 1;
-}
-
-static void
-usage (FILE *stream, int status)
-{
- fprintf (stream, "\
-Usage: dumper [OPTION] FILENAME WIN32PID\n\
-Dump core from WIN32PID to FILENAME.core\n\
-\n\
- -d, --verbose be verbose while dumping\n\
- -h, --help output help information and exit\n\
- -q, --quiet be quiet while dumping (default)\n\
- -v, --version output version information and exit\n\
-");
- exit (status);
-}
-
-struct option longopts[] = {
- {"verbose", no_argument, NULL, 'd'},
- {"help", no_argument, NULL, 'h'},
- {"quiet", no_argument, NULL, 'q'},
- {"version", no_argument, 0, 'v'},
- {0, no_argument, NULL, 0}
-};
-
-static void
-print_version ()
-{
- const char *v = strchr (version, ':');
- int len;
- if (!v)
- {
- v = "?";
- len = 1;
- }
- else
- {
- v += 2;
- len = strchr (v, ' ') - v;
- }
- printf ("\
-dumper (cygwin) %.*s\n\
-Core Dumper for Cygwin\n\
-Copyright 1999, 2001, 2002 Red Hat, Inc.\n", len, v);
-}
-
-int
-main (int argc, char **argv)
-{
- int opt;
- const char *p = "";
- DWORD pid;
- char win32_name [MAX_PATH];
-
- while ((opt = getopt_long (argc, argv, "dqhv", longopts, NULL) ) != EOF)
- switch (opt)
- {
- case 'd':
- verbose = TRUE;
- break;
- case 'q':
- verbose = FALSE;
- break;
- case 'h':
- usage (stdout, 0);
- case 'v':
- print_version ();
- exit (0);
- default:
- usage (stderr, 1);
- break;
- }
-
- if (argv && *(argv + optind) && *(argv + optind +1))
- {
- *win32_name = '\0';
- cygwin_conv_to_win32_path (*(argv + optind), win32_name);
- if ((p = strrchr (win32_name, '\\')))
- p++;
- else
- p = win32_name;
- pid = strtoul (*(argv + optind + 1), NULL, 10);
- }
- else
- {
- usage (stderr, 1);
- return -1;
- }
-
- char *core_file = (char *) malloc (strlen (p) + sizeof (".core"));
- if (!core_file)
- {
- fprintf (stderr, "error allocating memory\n");
- return -1;
- }
- sprintf (core_file, "%s.core", p);
-
- DWORD tid = 0;
-
- if (verbose)
- printf ("dumping process #%lu to %s\n", pid, core_file);
-
- dumper d (pid, tid, core_file);
- if (!d.sane ())
- return -1;
- d.collect_process_information ();
- free (core_file);
-
- return 0;
-};
diff --git a/winsup/utils/dumper.h b/winsup/utils/dumper.h
deleted file mode 100644
index 2a1841e78..000000000
--- a/winsup/utils/dumper.h
+++ /dev/null
@@ -1,132 +0,0 @@
-/* dumper.h
-
- Copyright 1999,2001 Red Hat Inc.
-
- Written by Egor Duda <deo@logos-m.ru>
-
-This file is part of Cygwin.
-
-This software is a copyrighted work licensed under the terms of the
-Cygwin license. Please consult the file "CYGWIN_LICENSE" for
-details. */
-
-#ifndef _DUMPER_H_
-#define _DUMPER_H_
-
-#include <windows.h>
-
-typedef struct
-{
- LPBYTE base;
- DWORD size;
-} process_mem_region;
-
-typedef struct
-{
- DWORD tid;
- HANDLE hThread;
- CONTEXT context;
-} process_thread;
-
-typedef struct
-{
- LPVOID base_address;
- char* name;
-} process_module;
-
-enum process_entity_type
-{
- pr_ent_memory,
- pr_ent_thread,
- pr_ent_module
-};
-
-typedef struct _process_entity
-{
- process_entity_type type;
- union
- {
- process_thread thread;
- process_mem_region memory;
- process_module module;
- } u;
- asection* section;
- struct _process_entity* next;
-} process_entity;
-
-class exclusion
-{
-public:
- int last;
- int size;
- int step;
- process_mem_region* region;
-
- exclusion ( int step ) { last = size = 0;
- this->step = step;
- region = NULL; }
- ~exclusion () { free ( region ); }
- int add ( LPBYTE mem_base, DWORD mem_size );
- int sort_and_check ();
-};
-
-#define PAGE_BUFFER_SIZE 4096
-
-class dumper
-{
- DWORD pid;
- DWORD tid; /* thread id of active thread */
- HANDLE hProcess;
- process_entity* list;
- process_entity* last;
- exclusion* excl_list;
-
- char* file_name;
- bfd* core_bfd;
-
- asection* status_section;
-
- int memory_num;
- int module_num;
- int thread_num;
-
- void close ();
- void dumper_abort ();
-
- process_entity* add_process_entity_to_list ( process_entity_type type );
- int add_thread ( DWORD tid, HANDLE hThread );
- int add_mem_region ( LPBYTE base, DWORD size );
-
- /* break mem_region by excl_list and add add all subregions */
- int split_add_mem_region ( LPBYTE base, DWORD size );
-
- int add_module ( LPVOID base_address );
-
- int collect_memory_sections ();
- int dump_memory_region ( asection* to, process_mem_region* memory );
- int dump_thread ( asection* to, process_thread* thread );
- int dump_module ( asection* to, process_module* module );
-
-public:
- int sane ();
-
- int collect_process_information ();
- void print_core_section_list ();
-
- dumper ( DWORD pid, DWORD tid, const char* name );
- ~dumper ();
-
- int init_core_dump ();
- int prepare_core_dump ();
- int write_core_dump ();
-};
-
-extern int deb_printf ( const char* format, ... );
-
-extern char* psapi_get_module_name ( HANDLE hProcess, DWORD BaseAddress );
-
-extern int parse_pe ( const char* file_name, exclusion* excl_list );
-
-extern BOOL verbose;
-
-#endif
diff --git a/winsup/utils/getfacl.c b/winsup/utils/getfacl.c
deleted file mode 100644
index 0afcd698d..000000000
--- a/winsup/utils/getfacl.c
+++ /dev/null
@@ -1,256 +0,0 @@
-/* getfacl.c
-
- Copyright 2000, 2001, 2002 Red Hat Inc.
-
- Written by Corinna Vinschen <vinschen@redhat.com>
-
-This file is part of Cygwin.
-
-This software is a copyrighted work licensed under the terms of the
-Cygwin license. Please consult the file "CYGWIN_LICENSE" for
-details. */
-
-#include <pwd.h>
-#include <grp.h>
-#include <stdio.h>
-#include <unistd.h>
-#include <getopt.h>
-#include <sys/types.h>
-#include <sys/acl.h>
-#include <sys/stat.h>
-#include <string.h>
-
-static const char version[] = "$Revision$";
-static char *prog_name;
-
-char *
-permstr (mode_t perm)
-{
- static char pbuf[4];
-
- pbuf[0] = (perm & S_IROTH) ? 'r' : '-';
- pbuf[1] = (perm & S_IWOTH) ? 'w' : '-';
- pbuf[2] = (perm & S_IXOTH) ? 'x' : '-';
- pbuf[3] = '\0';
- return pbuf;
-}
-
-const char *
-username (uid_t uid)
-{
- static char ubuf[256];
- struct passwd *pw;
-
- if ((pw = getpwuid (uid)))
- strcpy (ubuf, pw->pw_name);
- else
- sprintf (ubuf, "%lu <unknown>", (unsigned long)uid);
- return ubuf;
-}
-
-const char *
-groupname (gid_t gid)
-{
- static char gbuf[256];
- struct group *gr;
-
- if ((gr = getgrgid (gid)))
- strcpy (gbuf, gr->gr_name);
- else
- sprintf (gbuf, "%lu <unknown>", (unsigned long)gid);
- return gbuf;
-}
-
-static void
-usage (FILE * stream)
-{
- fprintf (stream, "Usage: %s [-adn] FILE [FILE2...]\n"
- "Display file and directory access control lists (ACLs).\n"
- "\n"
- " -a, --all display the filename, the owner, the group, and\n"
- " the ACL of the file\n"
- " -d, --dir display the filename, the owner, the group, and\n"
- " the default ACL of the directory, if it exists\n"
- " -h, --help output usage information and exit\n"
- " -n, --noname display user and group IDs instead of names\n"
- " -v, --version output version information and exit\n"
- "\n"
- "When multiple files are specified on the command line, a blank\n"
- "line separates the ACLs for each file.\n", prog_name);
- if (stream == stdout)
- {
- fprintf (stream, ""
- "For each argument that is a regular file, special file or\n"
- "directory, getfacl displays the owner, the group, and the ACL.\n"
- "For directories getfacl displays additionally the default ACL.\n"
- "\n"
- "With no options specified, getfacl displays the filename, the\n"
- "owner, the group, and both the ACL and the default ACL, if it\n"
- "exists.\n"
- "\n"
- "The format for ACL output is as follows:\n"
- " # file: filename\n"
- " # owner: name or uid\n"
- " # group: name or uid\n"
- " user::perm\n"
- " user:name or uid:perm\n"
- " group::perm\n"
- " group:name or gid:perm\n"
- " mask:perm\n"
- " other:perm\n"
- " default:user::perm\n"
- " default:user:name or uid:perm\n"
- " default:group::perm\n"
- " default:group:name or gid:perm\n"
- " default:mask:perm\n"
- " default:other:perm\n"
- "\n");
- }
-}
-
-struct option longopts[] = {
- {"all", no_argument, NULL, 'a'},
- {"dir", no_argument, NULL, 'd'},
- {"help", no_argument, NULL, 'h'},
- {"noname", no_argument, NULL, 'n'},
- {"version", no_argument, NULL, 'v'},
- {0, no_argument, NULL, 0}
-};
-
-static void
-print_version ()
-{
- const char *v = strchr (version, ':');
- int len;
- if (!v)
- {
- v = "?";
- len = 1;
- }
- else
- {
- v += 2;
- len = strchr (v, ' ') - v;
- }
- printf ("\
-getfacl (cygwin) %.*s\n\
-ACL Utility\n\
-Copyright (c) 2000, 2001, 2002 Red Hat, Inc.\n\
-Compiled on %s\n\
-", len, v, __DATE__);
-}
-
-int
-main (int argc, char **argv)
-{
- int c, i;
- int aopt = 0;
- int dopt = 0;
- int nopt = 0;
- int first = 1;
- struct stat st;
- aclent_t acls[MAX_ACL_ENTRIES];
-
- prog_name = strrchr (argv[0], '/');
- if (prog_name == NULL)
- prog_name = strrchr (argv[0], '\\');
- if (prog_name == NULL)
- prog_name = argv[0];
- else
- prog_name++;
-
- while ((c = getopt_long (argc, argv, "adhnv", longopts, NULL)) != EOF)
- switch (c)
- {
- case 'a':
- aopt = 1;
- break;
- case 'd':
- dopt = 1;
- break;
- case 'h':
- usage (stdout);
- return 0;
- case 'n':
- nopt = 1;
- break;
- case 'v':
- print_version ();
- return 0;
- default:
- usage (stderr);
- return 1;
- }
- if (optind > argc - 1)
- {
- usage (stderr);
- return 1;
- }
- while ((c = optind++) < argc)
- {
- if (stat (argv[c], &st))
- {
- perror (argv[0]);
- continue;
- }
- if (!first)
- putchar ('\n');
- first = 0;
- printf ("# file: %s\n", argv[c]);
- if (nopt)
- {
- printf ("# owner: %lu\n", (unsigned long)st.st_uid);
- printf ("# group: %lu\n", (unsigned long)st.st_gid);
- }
- else
- {
- printf ("# owner: %s\n", username (st.st_uid));
- printf ("# group: %s\n", groupname (st.st_gid));
- }
- if ((c = acl (argv[c], GETACL, MAX_ACL_ENTRIES, acls)) < 0)
- {
- perror (argv[0]);
- continue;
- }
- for (i = 0; i < c; ++i)
- {
- if (acls[i].a_type & ACL_DEFAULT)
- {
- if (aopt)
- continue;
- printf ("default:");
- }
- else if (dopt)
- continue;
- switch (acls[i].a_type & ~ACL_DEFAULT)
- {
- case USER_OBJ:
- printf ("user::");
- break;
- case USER:
- if (nopt)
- printf ("user:%lu:", (unsigned long)acls[i].a_id);
- else
- printf ("user:%s:", username (acls[i].a_id));
- break;
- case GROUP_OBJ:
- printf ("group::");
- break;
- case GROUP:
- if (nopt)
- printf ("group:%lu:", (unsigned long)acls[i].a_id);
- else
- printf ("group:%s:", groupname (acls[i].a_id));
- break;
- case CLASS_OBJ:
- printf ("mask:");
- break;
- case OTHER_OBJ:
- printf ("other:");
- break;
- }
- printf ("%s\n", permstr (acls[i].a_perm));
- }
- }
- return 0;
-}
diff --git a/winsup/utils/ipcrm.c b/winsup/utils/ipcrm.c
deleted file mode 100644
index bc17b6ad4..000000000
--- a/winsup/utils/ipcrm.c
+++ /dev/null
@@ -1,182 +0,0 @@
-/*
- * Copyright (c) 1994 Adam Glass
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgement:
- * This product includes software developed by Adam Glass.
- * 4. The name of the Author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY Adam Glass ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL Adam Glass BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-#include <sys/cdefs.h>
-#ifndef __FBSDID
-#define __FBSDID(s) const char version[] = (s)
-#endif
-__FBSDID("$FreeBSD: /repoman/r/ncvs/src/usr.bin/ipcrm/ipcrm.c,v 1.11 2002/09/04 23:29:02 dwmalone Exp $");
-
-#include <ctype.h>
-#include <err.h>
-#include <signal.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <unistd.h>
-#include <sys/types.h>
-#ifndef _KERNEL
-#define _KERNEL 1
-#endif
-#include <sys/ipc.h>
-#include <sys/msg.h>
-#include <sys/sem.h>
-#include <sys/shm.h>
-
-#ifdef __GNUC__
-#define __unused __attribute__((unused))
-#endif
-
-#define IPC_TO_STR(x) (x == 'Q' ? "msq" : (x == 'M' ? "shm" : "sem"))
-#define IPC_TO_STRING(x) (x == 'Q' ? "message queue" : \
- (x == 'M' ? "shared memory segment" : "semaphore"))
-
-int signaled;
-
-void usage(void);
-int msgrm(key_t, int);
-int shmrm(key_t, int);
-int semrm(key_t, int);
-void not_configured(int);
-
-void usage(void)
-{
- fprintf(stderr, "%s\n%s\n",
- "usage: ipcrm [-q msqid] [-m shmid] [-s semid]",
- " [-Q msgkey] [-M shmkey] [-S semkey] ...");
- exit(1);
-}
-
-int msgrm(key_t key, int id)
-{
- if (key) {
- id = msgget(key, 0);
- if (id == -1)
- return -1;
- }
- return msgctl(id, IPC_RMID, NULL);
-}
-
-int shmrm(key_t key, int id)
-{
- if (key) {
- id = shmget(key, 0, 0);
- if (id == -1)
- return -1;
- }
- return shmctl(id, IPC_RMID, NULL);
-}
-
-int semrm(key_t key, int id)
-{
- union semun arg;
-
- if (key) {
- id = semget(key, 0, 0);
- if (id == -1)
- return -1;
- }
- return semctl(id, 0, IPC_RMID, arg);
-}
-
-void not_configured(int signo __unused)
-{
- signaled++;
-}
-
-int main(int argc, char *argv[])
-{
- int c, result, errflg, target_id;
- key_t target_key;
-
- errflg = 0;
- signal(SIGSYS, not_configured);
- while ((c = getopt(argc, argv, ":q:m:s:Q:M:S:")) != -1) {
-
- signaled = 0;
- switch (c) {
- case 'q':
- case 'm':
- case 's':
- target_id = atoi(optarg);
- if (c == 'q')
- result = msgrm(0, target_id);
- else if (c == 'm')
- result = shmrm(0, target_id);
- else
- result = semrm(0, target_id);
- if (result < 0) {
- errflg++;
- if (!signaled)
- warn("%sid(%d): ", IPC_TO_STR(toupper(c)), target_id);
- else
- warnx("%ss are not configured in the running kernel",
- IPC_TO_STRING(toupper(c)));
- }
- break;
- case 'Q':
- case 'M':
- case 'S':
- target_key = strtoull(optarg, NULL, 10);
- if (target_key == IPC_PRIVATE) {
- warnx("can't remove private %ss", IPC_TO_STRING(c));
- continue;
- }
- if (c == 'Q')
- result = msgrm(target_key, 0);
- else if (c == 'M')
- result = shmrm(target_key, 0);
- else
- result = semrm(target_key, 0);
- if (result < 0) {
- errflg++;
- if (!signaled)
- warn("%ss(%lld): ", IPC_TO_STR(c), target_key);
- else
- warnx("%ss are not configured in the running kernel",
- IPC_TO_STRING(c));
- }
- break;
- case ':':
- fprintf(stderr, "option -%c requires an argument\n", optopt);
- usage();
- case '?':
- fprintf(stderr, "unrecognized option: -%c\n", optopt);
- usage();
- }
- }
-
- if (optind != argc) {
- fprintf(stderr, "unknown argument: %s\n", argv[optind]);
- usage();
- }
- exit(errflg);
-}
-
diff --git a/winsup/utils/ipcs.c b/winsup/utils/ipcs.c
deleted file mode 100644
index 229330b99..000000000
--- a/winsup/utils/ipcs.c
+++ /dev/null
@@ -1,872 +0,0 @@
-/*
- * Copyright (c) 1994 SigmaSoft, Th. Lockert <tholo@sigmasoft.com>
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
- * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
- * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
- * THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
- * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include <sys/cdefs.h>
-#ifndef __FBSDID
-#define __FBSDID(s) const char version[] = (s)
-#endif
-__FBSDID("$FreeBSD: /repoman/r/ncvs/src/usr.bin/ipcs/ipcs.c,v 1.22 2003/10/30 16:52:14 iwasaki Exp $");
-
-#include <assert.h>
-#include <err.h>
-#include <fcntl.h>
-#include <grp.h>
-#ifndef __CYGWIN__
-#include <kvm.h>
-#include <nlist.h>
-#endif /* __CYGWIN__ */
-#include <limits.h>
-#include <paths.h>
-#include <pwd.h>
-#ifdef __CYGWIN__
-#include <grp.h>
-#endif /* __CYGWIN__ */
-#include <stddef.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <unistd.h>
-
-#include <sys/types.h>
-#include <sys/param.h>
-#include <sys/time.h>
-#ifndef __CYGWIN__
-#include <sys/proc.h>
-#include <sys/sysctl.h>
-#endif /* __CYGWIN__ */
-#define _KERNEL
-#include <sys/ipc.h>
-#include <sys/sem.h>
-#include <sys/shm.h>
-#include <sys/msg.h>
-
-/* SysCtlGatherStruct structure. */
-struct scgs_vector {
- const char *sysctl;
- off_t offset;
- size_t size;
-};
-
-int use_sysctl = 1;
-struct semid_ds *sema;
-struct seminfo seminfo;
-struct msginfo msginfo;
-struct msqid_ds *msqids;
-struct shminfo shminfo;
-struct shmid_ds *shmsegs;
-
-char *fmt_perm(u_short);
-void cvt_time(time_t, char *);
-void sysctlgatherstruct(void *addr, size_t size, struct scgs_vector *vec);
-void kget(int idx, void *addr, size_t size);
-void usage(void);
-#ifdef __CYGWIN__
-void help() __attribute__ ((noreturn));
-#endif /* __CYGWIN__ */
-
-#ifdef __CYGWIN__
-#define _POSIX2_LINE_MAX 255
-typedef int kvm_t;
-#define kvm_openfiles(a,b,c,d,e) NULL
-#define kvm_nlist(a,b) -1
-#define kvm_close(a)
-#define kvm_read(a,b,c,d) 0
-#define kvm_geterr(a) ""
-#define sysctlbyname(a,b,c,d,e) -1
-
-struct nlist {
- const char *n_name;
- int n_type;
- int n_value;
-};
-#endif /* __CYGWIN__ */
-
-static struct nlist symbols[] = {
- {"sema"},
-#define X_SEMA 0
- {"seminfo"},
-#define X_SEMINFO 1
- {"msginfo"},
-#define X_MSGINFO 2
- {"msqids"},
-#define X_MSQIDS 3
- {"shminfo"},
-#define X_SHMINFO 4
- {"shmsegs"},
-#define X_SHMSEGS 5
-#ifdef __CYGWIN__
- {"msgstat"},
-#define X_MSGSTAT 6
- {"semstat"},
-#define X_SEMSTAT 7
- {"shmstat"},
-#define X_SHMSTAT 8
-#endif /* __CYGWIN__ */
- {NULL}
-};
-
-#define SHMINFO_XVEC \
-X(shmmax, sizeof(int)) \
-X(shmmin, sizeof(int)) \
-X(shmmni, sizeof(int)) \
-X(shmseg, sizeof(int)) \
-X(shmall, sizeof(int))
-
-#define SEMINFO_XVEC \
-X(semmap, sizeof(int)) \
-X(semmni, sizeof(int)) \
-X(semmns, sizeof(int)) \
-X(semmnu, sizeof(int)) \
-X(semmsl, sizeof(int)) \
-X(semopm, sizeof(int)) \
-X(semume, sizeof(int)) \
-X(semusz, sizeof(int)) \
-X(semvmx, sizeof(int)) \
-X(semaem, sizeof(int))
-
-#define MSGINFO_XVEC \
-X(msgmax, sizeof(int)) \
-X(msgmni, sizeof(int)) \
-X(msgmnb, sizeof(int)) \
-X(msgtql, sizeof(int)) \
-X(msgssz, sizeof(int)) \
-X(msgseg, sizeof(int))
-
-#define X(a, b) { "kern.ipc." #a, offsetof(TYPEC, a), (b) },
-#define TYPEC struct shminfo
-struct scgs_vector shminfo_scgsv[] = { SHMINFO_XVEC { NULL } };
-#undef TYPEC
-#define TYPEC struct seminfo
-struct scgs_vector seminfo_scgsv[] = { SEMINFO_XVEC { NULL } };
-#undef TYPEC
-#define TYPEC struct msginfo
-struct scgs_vector msginfo_scgsv[] = { MSGINFO_XVEC { NULL } };
-#undef TYPEC
-#undef X
-
-static kvm_t *kd;
-
-#ifdef __CYGWIN__
-const char *
-user_from_uid (uid_t uid, uid_t dummy)
-{
- struct passwd *pwd = getpwuid (uid);
- return pwd ? pwd->pw_name : "???";
-}
-
-const char *
-group_from_gid (gid_t gid, gid_t dummy)
-{
- struct group *grp = getgrgid (gid);
- return grp ? grp->gr_name : "???";
-}
-#endif /* __CYGWIN__ */
-
-char *
-fmt_perm(mode)
- u_short mode;
-{
- static char buffer[100];
-
- buffer[0] = '-';
- buffer[1] = '-';
- buffer[2] = ((mode & 0400) ? 'r' : '-');
- buffer[3] = ((mode & 0200) ? 'w' : '-');
- buffer[4] = ((mode & 0100) ? 'a' : '-');
- buffer[5] = ((mode & 0040) ? 'r' : '-');
- buffer[6] = ((mode & 0020) ? 'w' : '-');
- buffer[7] = ((mode & 0010) ? 'a' : '-');
- buffer[8] = ((mode & 0004) ? 'r' : '-');
- buffer[9] = ((mode & 0002) ? 'w' : '-');
- buffer[10] = ((mode & 0001) ? 'a' : '-');
- buffer[11] = '\0';
- return (&buffer[0]);
-}
-
-void
-cvt_time(t, buf)
- time_t t;
- char *buf;
-{
- struct tm *tm;
-
- if (t == 0) {
- strcpy(buf, "no-entry");
- } else {
- tm = localtime(&t);
- sprintf(buf, "%2d:%02d:%02d",
- tm->tm_hour, tm->tm_min, tm->tm_sec);
- }
-}
-#define SHMINFO 1
-#define SHMTOTAL 2
-#define MSGINFO 4
-#define MSGTOTAL 8
-#define SEMINFO 16
-#define SEMTOTAL 32
-
-#define BIGGEST 1
-#define CREATOR 2
-#define OUTSTANDING 4
-#define PID 8
-#define TIME 16
-#ifdef __CYGWIN__
-#define STATUS 32
-#endif /* __CYGWIN__ */
-
-int
-main(argc, argv)
- int argc;
- char *argv[];
-{
- int display = SHMINFO | MSGINFO | SEMINFO;
- int option = 0;
- char *core = NULL, *namelist = NULL;
- char kvmoferr[_POSIX2_LINE_MAX]; /* Error buf for kvm_openfiles. */
- int i;
-
-#ifdef __CYGWIN__
- while ((i = getopt(argc, argv, "MmQqSsabchoptTu")) != -1)
-#else
- while ((i = getopt(argc, argv, "MmQqSsabC:cN:optTy")) != -1)
-#endif /* __CYGWIN__ */
- switch (i) {
- case 'M':
- display = SHMTOTAL;
- break;
- case 'm':
- display = SHMINFO;
- break;
- case 'Q':
- display = MSGTOTAL;
- break;
- case 'q':
- display = MSGINFO;
- break;
- case 'S':
- display = SEMTOTAL;
- break;
- case 's':
- display = SEMINFO;
- break;
- case 'T':
- display = SHMTOTAL | MSGTOTAL | SEMTOTAL;
- break;
- case 'a':
- option |= BIGGEST | CREATOR | OUTSTANDING | PID | TIME;
- break;
- case 'b':
- option |= BIGGEST;
- break;
-#ifndef __CYGWIN__
- case 'C':
- core = optarg;
- break;
-#endif /* __CYGWIN__ */
- case 'c':
- option |= CREATOR;
- break;
-#ifndef __CYGWIN__
- case 'N':
- namelist = optarg;
- break;
-#endif /* __CYGWIN__ */
- case 'o':
- option |= OUTSTANDING;
- break;
- case 'p':
- option |= PID;
- break;
- case 't':
- option |= TIME;
- break;
-#ifdef __CYGWIN__
- case 'h':
- help();
- case 'u':
- option |= STATUS;
- break;
-#endif /* __CYGWIN__ */
-#ifndef __CYGWIN__
- case 'y':
- use_sysctl = 0;
- break;
-#endif /* __CYGWIN__ */
- default:
- usage();
- }
-
- /*
- * If paths to the exec file or core file were specified, we
- * aren't operating on the running kernel, so we can't use
- * sysctl.
- */
- if (namelist != NULL || core != NULL)
- use_sysctl = 0;
-
- if (!use_sysctl) {
- kd = kvm_openfiles(namelist, core, NULL, O_RDONLY, kvmoferr);
- if (kd == NULL)
- errx(1, "kvm_openfiles: %s", kvmoferr);
- switch (kvm_nlist(kd, symbols)) {
- case 0:
- break;
- case -1:
- errx(1, "unable to read kernel symbol table");
- default:
-#ifdef notdef /* they'll be told more civilly later */
- warnx("nlist failed");
- for (i = 0; symbols[i].n_name != NULL; i++)
- if (symbols[i].n_value == 0)
- warnx("symbol %s not found",
- symbols[i].n_name);
-#endif
- break;
- }
- }
-
- kget(X_MSGINFO, &msginfo, sizeof(msginfo));
- if ((display & (MSGINFO | MSGTOTAL))) {
- if (display & MSGTOTAL) {
- printf("msginfo:\n");
- printf("\tmsgmax: %8ld\t(max characters in a message)\n",
- msginfo.msgmax);
- printf("\tmsgmni: %8ld\t(# of message queues)\n",
- msginfo.msgmni);
- printf("\tmsgmnb: %8ld\t(max characters in a message queue)\n",
- msginfo.msgmnb);
- printf("\tmsgtql: %8ld\t(max # of messages in system)\n",
- msginfo.msgtql);
- printf("\tmsgssz: %8ld\t(size of a message segment)\n",
- msginfo.msgssz);
- printf("\tmsgseg: %8ld\t(# of message segments in system)\n\n",
- msginfo.msgseg);
- }
- if (display & MSGINFO) {
- struct msqid_ds *xmsqids;
- size_t xmsqids_len;
-
-
- xmsqids_len = sizeof(struct msqid_ds) * msginfo.msgmni;
- xmsqids = malloc(xmsqids_len);
- kget(X_MSQIDS, xmsqids, xmsqids_len);
-
- printf("Message Queues:\n");
- printf("T ID KEY MODE OWNER GROUP");
- if (option & CREATOR)
- printf(" CREATOR CGROUP");
- if (option & OUTSTANDING)
- printf(" CBYTES QNUM");
- if (option & BIGGEST)
- printf(" QBYTES");
- if (option & PID)
- printf(" LSPID LRPID");
- if (option & TIME)
- printf(" STIME RTIME CTIME");
- printf("\n");
- for (i = 0; i < msginfo.msgmni; i += 1) {
- if (xmsqids[i].msg_qbytes != 0) {
- char stime_buf[100], rtime_buf[100],
- ctime_buf[100];
- struct msqid_ds *msqptr = &xmsqids[i];
-
- cvt_time(msqptr->msg_stime, stime_buf);
- cvt_time(msqptr->msg_rtime, rtime_buf);
- cvt_time(msqptr->msg_ctime, ctime_buf);
-
- printf("q %6d %20llu %s %8s %8s",
- IXSEQ_TO_IPCID(i, msqptr->msg_perm),
- msqptr->msg_perm.key,
- fmt_perm(msqptr->msg_perm.mode),
- user_from_uid(msqptr->msg_perm.uid, 0),
- group_from_gid(msqptr->msg_perm.gid, 0));
-
- if (option & CREATOR)
- printf(" %8s %8s",
- user_from_uid(msqptr->msg_perm.cuid, 0),
- group_from_gid(msqptr->msg_perm.cgid, 0));
-
- if (option & OUTSTANDING)
- printf(" %6lu %6lu",
- msqptr->msg_cbytes,
- msqptr->msg_qnum);
-
- if (option & BIGGEST)
- printf(" %6lu",
- msqptr->msg_qbytes);
-
- if (option & PID)
- printf(" %6d %6d",
- msqptr->msg_lspid,
- msqptr->msg_lrpid);
-
- if (option & TIME)
- printf(" %s %s %s",
- stime_buf,
- rtime_buf,
- ctime_buf);
-
- printf("\n");
- }
- }
- printf("\n");
- }
-#ifdef __CYGWIN__
- if (option & STATUS) {
- struct msg_info msg_info;
- kget(X_MSGSTAT, &msg_info, sizeof msg_info);
- printf("Message Queue Usage:\n");
- printf("\tmsg_ids: %7ld\t(no. of allocated queues)\n",
- msg_info.msg_ids);
- printf("\tmsg_num: %7ld\t(no. of messages in system)\n",
- msg_info.msg_num);
- printf("\tmsg_tot: %7ld\t(size in bytes of messages in system)\n",
- msg_info.msg_tot);
- printf("\n");
- }
-#endif /* __CYGWIN__ */
- } else
- if (display & (MSGINFO | MSGTOTAL)) {
- fprintf(stderr,
- "SVID messages facility not configured in the system\n");
- }
-
- kget(X_SHMINFO, &shminfo, sizeof(shminfo));
- if ((display & (SHMINFO | SHMTOTAL))) {
- if (display & SHMTOTAL) {
- printf("shminfo:\n");
- printf("\tshmmax: %8ld\t(max shared memory segment size)\n",
- shminfo.shmmax);
- printf("\tshmmin: %8ld\t(min shared memory segment size)\n",
- shminfo.shmmin);
- printf("\tshmmni: %8ld\t(max number of shared memory identifiers)\n",
- shminfo.shmmni);
- printf("\tshmseg: %8ld\t(max shared memory segments per process)\n",
- shminfo.shmseg);
- printf("\tshmall: %8ld\t(max amount of shared memory in pages)\n\n",
- shminfo.shmall);
- }
- if (display & SHMINFO) {
- struct shmid_ds *xshmids;
- size_t xshmids_len;
-
- xshmids_len = sizeof(struct shmid_ds) * shminfo.shmmni;
- xshmids = malloc(xshmids_len);
- kget(X_SHMSEGS, xshmids, xshmids_len);
-
- printf("Shared Memory:\n");
- printf("T ID KEY MODE OWNER GROUP");
- if (option & CREATOR)
- printf(" CREATOR CGROUP");
- if (option & OUTSTANDING)
- printf(" NATTCH");
- if (option & BIGGEST)
- printf(" SEGSZ");
- if (option & PID)
- printf(" CPID LPID");
- if (option & TIME)
- printf(" ATIME DTIME CTIME");
- printf("\n");
- for (i = 0; i < shminfo.shmmni; i += 1) {
- if (xshmids[i].shm_perm.mode & 0x0800) {
- char atime_buf[100], dtime_buf[100],
- ctime_buf[100];
- struct shmid_ds *shmptr = &xshmids[i];
-
- cvt_time(shmptr->shm_atime, atime_buf);
- cvt_time(shmptr->shm_dtime, dtime_buf);
- cvt_time(shmptr->shm_ctime, ctime_buf);
-
- printf("m %6d %20llu %s %8s %8s",
- IXSEQ_TO_IPCID(i, shmptr->shm_perm),
- shmptr->shm_perm.key,
- fmt_perm(shmptr->shm_perm.mode),
- user_from_uid(shmptr->shm_perm.uid, 0),
- group_from_gid(shmptr->shm_perm.gid, 0));
-
- if (option & CREATOR)
- printf(" %8s %8s",
- user_from_uid(shmptr->shm_perm.cuid, 0),
- group_from_gid(shmptr->shm_perm.cgid, 0));
-
- if (option & OUTSTANDING)
- printf(" %6d",
- shmptr->shm_nattch);
-
- if (option & BIGGEST)
- printf(" %6d",
- shmptr->shm_segsz);
-
- if (option & PID)
- printf(" %6d %6d",
- shmptr->shm_cpid,
- shmptr->shm_lpid);
-
- if (option & TIME)
- printf(" %s %s %s",
- atime_buf,
- dtime_buf,
- ctime_buf);
-
- printf("\n");
- }
- }
- printf("\n");
- }
-#ifdef __CYGWIN__
- if (option & STATUS) {
- struct shm_info shm_info;
- kget(X_SHMSTAT, &shm_info, sizeof shm_info);
- printf("Shared Memory Usage:\n");
- printf("\tshm_ids: %7ld\t(no. of allocated segments)\n",
- shm_info.shm_ids);
- printf("\tshm_tot: %7ld\t(size in bytes of allocated segments)\n",
- shm_info.shm_tot);
- printf("\tshm_atts: %7ld\t(no. of attached segments in system)\n",
- shm_info.shm_atts);
- printf("\n");
- }
-#endif /* __CYGWIN__ */
- } else
- if (display & (SHMINFO | SHMTOTAL)) {
- fprintf(stderr,
- "SVID shared memory facility not configured in the system\n");
- }
-
- kget(X_SEMINFO, &seminfo, sizeof(seminfo));
- if ((display & (SEMINFO | SEMTOTAL))) {
- struct semid_ds *xsema;
- size_t xsema_len;
-
- if (display & SEMTOTAL) {
- printf("seminfo:\n");
- printf("\tsemmap: %8ld\t(# of entries in semaphore map)\n",
- seminfo.semmap);
- printf("\tsemmni: %8ld\t(# of semaphore identifiers)\n",
- seminfo.semmni);
- printf("\tsemmns: %8ld\t(# of semaphores in system)\n",
- seminfo.semmns);
- printf("\tsemmnu: %8ld\t(# of undo structures in system)\n",
- seminfo.semmnu);
- printf("\tsemmsl: %8ld\t(max # of semaphores per id)\n",
- seminfo.semmsl);
- printf("\tsemopm: %8ld\t(max # of operations per semop call)\n",
- seminfo.semopm);
- printf("\tsemume: %8ld\t(max # of undo entries per process)\n",
- seminfo.semume);
- printf("\tsemusz: %8ld\t(size in bytes of undo structure)\n",
- seminfo.semusz);
- printf("\tsemvmx: %8ld\t(semaphore maximum value)\n",
- seminfo.semvmx);
- printf("\tsemaem: %8ld\t(adjust on exit max value)\n\n",
- seminfo.semaem);
- }
- if (display & SEMINFO) {
- xsema_len = sizeof(struct semid_ds) * seminfo.semmni;
- xsema = malloc(xsema_len);
- kget(X_SEMA, xsema, xsema_len);
-
- printf("Semaphores:\n");
- printf("T ID KEY MODE OWNER GROUP");
- if (option & CREATOR)
- printf(" CREATOR CGROUP");
- if (option & BIGGEST)
- printf(" NSEMS");
- if (option & TIME)
- printf(" OTIME CTIME");
- printf("\n");
- for (i = 0; i < seminfo.semmni; i += 1) {
- if ((xsema[i].sem_perm.mode & SEM_ALLOC) != 0) {
- char ctime_buf[100], otime_buf[100];
- struct semid_ds *semaptr = &xsema[i];
-
- cvt_time(semaptr->sem_otime, otime_buf);
- cvt_time(semaptr->sem_ctime, ctime_buf);
-
- printf("s %6d %20llu %s %8s %8s",
- IXSEQ_TO_IPCID(i, semaptr->sem_perm),
- semaptr->sem_perm.key,
- fmt_perm(semaptr->sem_perm.mode),
- user_from_uid(semaptr->sem_perm.uid, 0),
- group_from_gid(semaptr->sem_perm.gid, 0));
-
- if (option & CREATOR)
- printf(" %8s %8s",
- user_from_uid(semaptr->sem_perm.cuid, 0),
- group_from_gid(semaptr->sem_perm.cgid, 0));
-
- if (option & BIGGEST)
- printf(" %6d",
- semaptr->sem_nsems);
-
- if (option & TIME)
- printf(" %s %s",
- otime_buf,
- ctime_buf);
-
- printf("\n");
- }
- }
-
- printf("\n");
- }
-#ifdef __CYGWIN__
- if (option & STATUS) {
- struct sem_info sem_info;
- kget(X_SEMSTAT, &sem_info, sizeof sem_info);
- printf("Semaphore Usage:\n");
- printf("\tsem_ids: %7ld\t(no. of allocated semaphore sets)\n",
- sem_info.sem_ids);
- printf("\tsem_num: %7ld\t(no. of allocated semaphores)\n",
- sem_info.sem_num);
- printf("\n");
- }
-#endif /* __CYGWIN__ */
- } else
- if (display & (SEMINFO | SEMTOTAL)) {
- fprintf(stderr, "SVID semaphores facility not configured in the system\n");
- }
- if (!use_sysctl)
- kvm_close(kd);
-
- exit(0);
-}
-
-void
-sysctlgatherstruct(addr, size, vecarr)
- void *addr;
- size_t size;
- struct scgs_vector *vecarr;
-{
- struct scgs_vector *xp;
- size_t tsiz;
- int rv;
-
- for (xp = vecarr; xp->sysctl != NULL; xp++) {
- assert(xp->offset <= size);
- tsiz = xp->size;
- rv = sysctlbyname(xp->sysctl, (char *)addr + xp->offset,
- &tsiz, NULL, 0);
- if (rv == -1)
- errx(1, "sysctlbyname: %s", xp->sysctl);
- if (tsiz != xp->size)
- errx(1, "%s size mismatch (expected %d, got %d)",
- xp->sysctl, xp->size, tsiz);
- }
-}
-
-void
-kget(idx, addr, size)
- int idx;
- void *addr;
- size_t size;
-{
- const char *symn; /* symbol name */
- size_t tsiz;
- int rv;
- unsigned long kaddr;
- const char *sym2sysctl[] = { /* symbol to sysctl name table */
- "kern.ipc.sema",
- "kern.ipc.seminfo",
- "kern.ipc.msginfo",
- "kern.ipc.msqids",
- "kern.ipc.shminfo",
- "kern.ipc.shmsegs" };
-
-#ifndef __CYGWIN__
- assert((unsigned)idx <= sizeof(sym2sysctl) / sizeof(*sym2sysctl));
-#endif /* __CYGWIN__ */
-#ifdef __CYGWIN__
- if (1) {
- union semun su;
- switch (idx) {
- case X_MSGINFO:
- if (msgctl(0, IPC_INFO, (struct msqid_ds *)addr) < 0)
- err(1, "msgctl");
- break;
- case X_SEMINFO:
- su.buf = (struct semid_ds *)addr;
- if (semctl(0, 0, IPC_INFO, su) < 0)
- err(1, "semctl");
- break;
- break;
- case X_SHMINFO:
- if (shmctl(0, IPC_INFO, (struct shmid_ds *)addr) < 0)
- err(1, "shmctl");
- break;
- case X_MSQIDS:
- if (msgctl(size / sizeof(struct msqid_ds), IPC_INFO,
- (struct msqid_ds *)addr) < 0)
- err(1, "msgctl");
- break;
- case X_SEMA:
- su.buf = (struct semid_ds *)addr;
- if (semctl(size / sizeof(struct semid_ds), 0,
- IPC_INFO, su) < 0)
- err(1, "semctl");
- break;
- case X_SHMSEGS:
- if (shmctl(size / sizeof(struct shmid_ds), IPC_INFO,
- (struct shmid_ds *)addr) < 0)
- err(1, "shmctl");
- break;
- case X_MSGSTAT:
- if (msgctl(0, MSG_INFO, (struct msqid_ds *)addr) < 0)
- err(1, "msgctl");
- break;
- case X_SEMSTAT:
- su.buf = (struct semid_ds *)addr;
- if (semctl(0, 0, SEM_INFO, su) < 0)
- err(1, "semctl");
- break;
- break;
- case X_SHMSTAT:
- if (shmctl(0, SHM_INFO, (struct shmid_ds *)addr) < 0)
- err(1, "shmctl");
- break;
- }
- } else
-#endif /* __CYGWIN__ */
- if (!use_sysctl) {
- symn = symbols[idx].n_name;
- if (*symn == '_')
- symn++;
- if (symbols[idx].n_type == 0 || symbols[idx].n_value == 0)
- errx(1, "symbol %s undefined", symn);
- /*
- * For some symbols, the value we retreieve is
- * actually a pointer; since we want the actual value,
- * we have to manually dereference it.
- */
- switch (idx) {
- case X_MSQIDS:
- tsiz = sizeof(msqids);
- rv = kvm_read(kd, symbols[idx].n_value,
- &msqids, tsiz);
- kaddr = (u_long)msqids;
- break;
- case X_SHMSEGS:
- tsiz = sizeof(shmsegs);
- rv = kvm_read(kd, symbols[idx].n_value,
- &shmsegs, tsiz);
- kaddr = (u_long)shmsegs;
- break;
- case X_SEMA:
- tsiz = sizeof(sema);
- rv = kvm_read(kd, symbols[idx].n_value,
- &sema, tsiz);
- kaddr = (u_long)sema;
- break;
- default:
- rv = tsiz = 0;
- kaddr = symbols[idx].n_value;
- break;
- }
- if ((unsigned)rv != tsiz)
- errx(1, "%s: %s", symn, kvm_geterr(kd));
- if ((unsigned)kvm_read(kd, kaddr, addr, size) != size)
- errx(1, "%s: %s", symn, kvm_geterr(kd));
- } else {
- switch (idx) {
- case X_SHMINFO:
- sysctlgatherstruct(addr, size, shminfo_scgsv);
- break;
- case X_SEMINFO:
- sysctlgatherstruct(addr, size, seminfo_scgsv);
- break;
- case X_MSGINFO:
- sysctlgatherstruct(addr, size, msginfo_scgsv);
- break;
- default:
- tsiz = size;
- rv = sysctlbyname(sym2sysctl[idx], addr, &tsiz,
- NULL, 0);
- if (rv == -1)
- err(1, "sysctlbyname: %s", sym2sysctl[idx]);
- if (tsiz != size)
- errx(1, "%s size mismatch "
- "(expected %d, got %d)",
- sym2sysctl[idx], size, tsiz);
- break;
- }
- }
-}
-
-void
-usage()
-{
-
- fprintf(stderr,
-#ifdef __CYGWIN__
- "usage: ipcs [-abchmopqstuMQST]\n"
- "Try `ipcs -h' for more information.\n");
-#else
- "usage: ipcs [-abcmopqstyMQST] [-C corefile] [-N namelist]\n");
-#endif /* __CYGWIN__ */
- exit(1);
-}
-
-#ifdef __CYGWIN__
-void
-help()
-{ puts(
-"usage: ipcs [-abchmopqstuMQST]\n"
-"ipcs prints information for IPC resources for which you have read access.\n"
-" -a Show the maximum amount of information possible when displaying\n"
-" active semaphores, message queues and shared memory segments\n"
-" (This is shorthand for specifying -bcopt).\n"
-" -b Show the maximum allowed sizes for active semaphores, message queues\n"
-" and shared memory segments. The maximum allowed size is the maximum\n"
-" number of bytes in a message on a message queue, the size of a shared\n"
-" memory segment, or the number of semaphores in a set of semaphores.\n"
-" -c Show the creator's name and group for active semaphores, message\n"
-" queues, and shared memory segments.\n"
-" -h This help.\n"
-" -m Display information about active shared memory segments.\n"
-" -o Show outstanding usage for active message queues and shared memory\n"
-" segments. The outstanding usage is the number of messages in a\n"
-" message queue, or the number of processes attached to a shared memory\n"
-" segment.\n"
-" -p Show the process ID information for active semaphores, message queues\n"
-" and shared memory segments. The process ID information is the last\n"
-" process to send a message to or receive a message from a message\n"
-" queue, the process that created a semaphore, or the last process to\n"
-" attach or detach a shared memory segment.\n"
-" -q Display information about active message queues.\n"
-" -s Display information about active semaphores.\n"
-" -t Show access times for active semaphores, message queues and shared\n"
-" -u Show system wide usage of IPC resources. This information is added\n"
-" as a list after the appropriate shared memory, messages queue or\n"
-" semaphore information output\n"
-" -M Display system information about shared memory.\n"
-" -Q Display system information about messages queues.\n"
-" -S Display system information about semaphores.\n"
-" -T Display system information about shared memory, message queues and\n"
-" semaphores.\n");
- exit(0);
-}
-#endif /* __CYGWIN__ */
diff --git a/winsup/utils/kill.cc b/winsup/utils/kill.cc
deleted file mode 100644
index 2ff41545c..000000000
--- a/winsup/utils/kill.cc
+++ /dev/null
@@ -1,294 +0,0 @@
-/* kill.cc
-
- Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
-
-This file is part of Cygwin.
-
-This software is a copyrighted work licensed under the terms of the
-Cygwin license. Please consult the file "CYGWIN_LICENSE" for
-details. */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <signal.h>
-#include <string.h>
-#include <time.h>
-#include <errno.h>
-#include <windows.h>
-#include <sys/cygwin.h>
-#include <getopt.h>
-#include <limits.h>
-
-static const char version[] = "$Revision$";
-static char *prog_name;
-
-static struct option longopts[] =
-{
- {"help", no_argument, NULL, 'h' },
- {"list", optional_argument, NULL, 'l'},
- {"force", no_argument, NULL, 'f'},
- {"signal", required_argument, NULL, 's'},
- {"version", no_argument, NULL, 'v'},
- {NULL, 0, NULL, 0}
-};
-
-static char opts[] = "hl::fs:v";
-
-extern "C" const char *strsigno (int);
-
-static void
-usage (FILE *where = stderr)
-{
- fprintf (where , ""
- "Usage: %s [-f] [-signal] [-s signal] pid1 [pid2 ...]\n"
- " %s -l [signal]\n"
- "Send signals to processes\n"
- "\n"
- " -f, --force force, using win32 interface if necessary\n"
- " -l, --list print a list of signal names\n"
- " -s, --signal send signal (use %s --list for a list)\n"
- " -h, --help output usage information and exit\n"
- " -v, --version output version information and exit\n"
- "", prog_name, prog_name, prog_name);
- exit (where == stderr ? 1 : 0);
-}
-
-static void
-print_version ()
-{
- const char *v = strchr (version, ':');
- int len;
- if (!v)
- {
- v = "?";
- len = 1;
- }
- else
- {
- v += 2;
- len = strchr (v, ' ') - v;
- }
- printf ("\
-%s (cygwin) %.*s\n\
-Process Signaller\n\
-Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.\n\
-Compiled on %s\n\
-", prog_name, len, v, __DATE__);
-}
-
-static int
-getsig (const char *in_sig)
-{
- const char *sig;
- char buf[80];
- int intsig;
-
- if (strncmp (in_sig, "SIG", 3) == 0)
- sig = in_sig;
- else
- {
- sprintf (buf, "SIG%-.20s", in_sig);
- sig = buf;
- }
- intsig = strtosigno (sig) ?: atoi (in_sig);
- char *p;
- if (!intsig && (strcmp (buf, "SIG0") != 0 && (strtol (in_sig, &p, 10) != 0 || *p)))
- intsig = -1;
- return intsig;
-}
-
-static void
-test_for_unknown_sig (int sig, const char *sigstr)
-{
- if (sig < 0 || sig > NSIG)
- {
- fprintf (stderr, "%s: unknown signal: %s\n", prog_name, sigstr);
- usage ();
- exit (1);
- }
-}
-
-static void
-listsig (const char *in_sig)
-{
- int sig;
- if (!in_sig)
- for (sig = 1; sig < NSIG - 1; sig++)
- printf ("%s%c", strsigno (sig) + 3, (sig < NSIG - 1) ? ' ' : '\n');
- else
- {
- sig = getsig (in_sig);
- test_for_unknown_sig (sig, in_sig);
- if (atoi (in_sig) == sig)
- puts (strsigno (sig) + 3);
- else
- printf ("%d\n", sig);
- }
-}
-
-static void
-get_debug_priv (void)
-{
- HANDLE tok;
- LUID luid;
- TOKEN_PRIVILEGES tkp;
-
- if (!OpenProcessToken (GetCurrentProcess (),
- TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &tok))
- return;
-
- if (!LookupPrivilegeValue (NULL, SE_DEBUG_NAME, &luid))
- {
- CloseHandle (tok);
- return;
- }
-
- tkp.PrivilegeCount = 1;
- tkp.Privileges[0].Luid = luid;
- tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
-
- AdjustTokenPrivileges (tok, FALSE, &tkp, sizeof tkp, NULL, NULL);
-
- CloseHandle (tok);
-}
-
-static void __stdcall
-forcekill (int pid, int sig, int wait)
-{
- // try to acquire SeDebugPrivilege
- get_debug_priv();
-
- external_pinfo *p = NULL;
- /* cygwin_internal misinterprets negative pids (Win9x pids) */
- if (pid > 0)
- p = (external_pinfo *) cygwin_internal (CW_GETPINFO_FULL, pid);
- DWORD dwpid = p ? p->dwProcessId : (DWORD) pid;
- HANDLE h = OpenProcess (PROCESS_TERMINATE, FALSE, (DWORD) dwpid);
- if (!h)
- {
- if (!wait || GetLastError () != ERROR_INVALID_PARAMETER)
- fprintf (stderr, "%s: couldn't open pid %u\n",
- prog_name, (unsigned) dwpid);
- return;
- }
- if (!wait || WaitForSingleObject (h, 200) != WAIT_OBJECT_0)
- if (sig && !TerminateProcess (h, sig << 8)
- && WaitForSingleObject (h, 200) != WAIT_OBJECT_0)
- fprintf (stderr, "%s: couldn't kill pid %u, %lu\n",
- prog_name, (unsigned) dwpid, GetLastError ());
- CloseHandle (h);
-}
-
-int
-main (int argc, char **argv)
-{
- int sig = SIGTERM;
- int force = 0;
- int ret = 0;
- char *gotasig = NULL;
-
- prog_name = strrchr (argv[0], '/');
- if (prog_name == NULL)
- prog_name = strrchr (argv[0], '\\');
- if (prog_name == NULL)
- prog_name = argv[0];
- else
- prog_name++;
-
- if (argc == 1)
- usage ();
-
- opterr = 0;
-
- char *p;
- long long int pid = 0;
-
- for (;;)
- {
- int ch;
- char **av = argv + optind;
- if ((ch = getopt_long (argc, argv, opts, longopts, NULL)) == EOF)
- break;
- switch (ch)
- {
- case 's':
- gotasig = optarg;
- sig = getsig (gotasig);
- break;
- case 'l':
- if (!optarg)
- {
- optarg = argv[optind];
- if (optarg)
- {
- optind++;
- optreset = 1;
- }
- }
- if (argv[optind])
- usage ();
- listsig (optarg);
- break;
- case 'f':
- force = 1;
- break;
- case 'h':
- usage (stdout);
- break;
- case 'v':
- print_version ();
- break;
- case '?':
- if (gotasig)
- {
- pid = strtoll (argv[optind], &p, 10);
- if (pid < 0)
- goto out;
- usage ();
- }
- optreset = 1;
- optind = 1 + av - argv;
- gotasig = *av + 1;
- sig = getsig (gotasig);
- break;
- default:
- usage ();
- break;
- }
- }
-
-out:
- test_for_unknown_sig (sig, gotasig);
-
- argv += optind;
- while (*argv != NULL)
- {
- if (!pid)
- pid = strtoll (*argv, &p, 10);
- if (*p != '\0'
- || (!force && (pid < LONG_MIN || pid > LONG_MAX))
- || (force && (pid <= 0 || pid > ULONG_MAX)))
- {
- fprintf (stderr, "%s: illegal pid: %s\n", prog_name, *argv);
- ret = 1;
- }
- else if (pid <= LONG_MAX && kill ((pid_t) pid, sig) == 0)
- {
- if (force)
- forcekill ((pid_t) pid, sig, 1);
- }
- else if (force)
- forcekill ((pid_t) pid, sig, 0);
- else
- {
- char buf[1000];
- sprintf (buf, "%s: %lld", prog_name, pid);
- perror (buf);
- ret = 1;
- }
- argv++;
- pid = 0;
- }
- return ret;
-}
-
diff --git a/winsup/utils/mkgroup.c b/winsup/utils/mkgroup.c
deleted file mode 100644
index 338fb2491..000000000
--- a/winsup/utils/mkgroup.c
+++ /dev/null
@@ -1,797 +0,0 @@
-/* mkgroup.c:
-
- Copyright 1997, 1998, 1999, 2000, 2001, 2002, 2003 Red Hat, Inc.
-
- This file is part of Cygwin.
-
- This software is a copyrighted work licensed under the terms of the
- Cygwin license. Please consult the file "CYGWIN_LICENSE" for
- details. */
-
-#include <ctype.h>
-#include <stdlib.h>
-#include <wchar.h>
-#include <stdio.h>
-#include <windows.h>
-#include <sys/cygwin.h>
-#include <getopt.h>
-#include <lmaccess.h>
-#include <lmapibuf.h>
-#include <ntsecapi.h>
-#include <ntdef.h>
-
-#define print_win_error(x) _print_win_error(x, __LINE__)
-
-static const char version[] = "$Revision$";
-
-typedef struct {
- LPWSTR DomainControllerName;
- LPWSTR DomainControllerAddress;
- ULONG DomainControllerAddressType;
- GUID DomainGuid;
- LPWSTR DomainName;
- LPWSTR DnsForestName;
- ULONG Flags;
- LPWSTR DcSiteName;
- LPWSTR ClientSiteName;
-} *PDOMAIN_CONTROLLER_INFOW;
-
-SID_IDENTIFIER_AUTHORITY sid_world_auth = {SECURITY_WORLD_SID_AUTHORITY};
-SID_IDENTIFIER_AUTHORITY sid_nt_auth = {SECURITY_NT_AUTHORITY};
-
-NET_API_STATUS WINAPI (*netapibufferallocate)(DWORD,PVOID*);
-NET_API_STATUS WINAPI (*netapibufferfree)(PVOID);
-NET_API_STATUS WINAPI (*netgroupenum)(LPWSTR,DWORD,PBYTE*,DWORD,PDWORD,PDWORD,PDWORD);
-NET_API_STATUS WINAPI (*netgroupgetinfo)(LPWSTR,LPWSTR,DWORD,PBYTE*);
-NET_API_STATUS WINAPI (*netlocalgroupenum)(LPWSTR,DWORD,PBYTE*,DWORD,PDWORD,PDWORD,PDWORD);
-NET_API_STATUS WINAPI (*netlocalgroupgetmembers)(LPWSTR,LPWSTR,DWORD,PBYTE*,DWORD,PDWORD,PDWORD,PDWORD);
-NET_API_STATUS WINAPI (*netgetdcname)(LPWSTR,LPWSTR,PBYTE*);
-NET_API_STATUS WINAPI (*netgroupgetusers)(LPWSTR,LPWSTR,DWORD,PBYTE*,DWORD,PDWORD,PDWORD,PDWORD);
-
-NTSTATUS NTAPI (*lsaclose)(LSA_HANDLE);
-NTSTATUS NTAPI (*lsaopenpolicy)(PLSA_UNICODE_STRING,PLSA_OBJECT_ATTRIBUTES,ACCESS_MASK,PLSA_HANDLE);
-NTSTATUS NTAPI (*lsaqueryinformationpolicy)(LSA_HANDLE,POLICY_INFORMATION_CLASS,PVOID*);
-NTSTATUS NTAPI (*lsafreememory)(PVOID);
-
-NET_API_STATUS WINAPI (*dsgetdcname)(LPWSTR,LPWSTR,GUID*,LPWSTR,ULONG,PDOMAIN_CONTROLLER_INFOW*);
-
-#ifndef min
-#define min(a,b) (((a)<(b))?(a):(b))
-#endif
-
-BOOL
-load_netapi ()
-{
- HANDLE h = LoadLibrary ("netapi32.dll");
-
- if (!h)
- return FALSE;
-
- if (!(netapibufferallocate = (void *) GetProcAddress (h, "NetApiBufferAllocate")))
- return FALSE;
- if (!(netapibufferfree = (void *) GetProcAddress (h, "NetApiBufferFree")))
- return FALSE;
- if (!(netgroupenum = (void *) GetProcAddress (h, "NetGroupEnum")))
- return FALSE;
- if (!(netgroupgetinfo = (void *) GetProcAddress (h, "NetGroupGetInfo")))
- return FALSE;
- if (!(netgroupgetusers = (void *) GetProcAddress (h, "NetGroupGetUsers")))
- return FALSE;
- if (!(netlocalgroupenum = (void *) GetProcAddress (h, "NetLocalGroupEnum")))
- return FALSE;
- if (!(netlocalgroupgetmembers = (void *) GetProcAddress (h, "NetLocalGroupGetMembers")))
- return FALSE;
- if (!(netgetdcname = (void *) GetProcAddress (h, "NetGetDCName")))
- return FALSE;
-
- dsgetdcname = (void *) GetProcAddress (h, "DsGetDcNameW");
-
- if (!(h = LoadLibrary ("advapi32.dll")))
- return FALSE;
-
- if (!(lsaclose = (void *) GetProcAddress (h, "LsaClose")))
- return FALSE;
- if (!(lsaopenpolicy = (void *) GetProcAddress (h, "LsaOpenPolicy")))
- return FALSE;
- if (!(lsaqueryinformationpolicy = (void *) GetProcAddress (h, "LsaQueryInformationPolicy")))
- return FALSE;
- if (!(lsafreememory = (void *) GetProcAddress (h, "LsaFreeMemory")))
- return FALSE;
-
- return TRUE;
-}
-
-char *
-put_sid (PSID sid)
-{
- static char s[512];
- char t[32];
- DWORD i;
-
- strcpy (s, "S-1-");
- sprintf(t, "%u", GetSidIdentifierAuthority (sid)->Value[5]);
- strcat (s, t);
- for (i = 0; i < *GetSidSubAuthorityCount (sid); ++i)
- {
- sprintf(t, "-%lu", *GetSidSubAuthority (sid, i));
- strcat (s, t);
- }
- return s;
-}
-
-void
-psx_dir (char *in, char *out)
-{
- if (isalpha (in[0]) && in[1] == ':')
- {
- sprintf (out, "/cygdrive/%c", in[0]);
- in += 2;
- out += strlen (out);
- }
-
- while (*in)
- {
- if (*in == '\\')
- *out = '/';
- else
- *out = *in;
- in++;
- out++;
- }
-
- *out = '\0';
-}
-
-void
-uni2ansi (LPWSTR wcs, char *mbs, int size)
-{
- if (wcs)
- WideCharToMultiByte (CP_ACP, 0, wcs, -1, mbs, size, NULL, NULL);
- else
- *mbs = '\0';
-}
-
-void
-_print_win_error(DWORD code, int line)
-{
- char buf[4096];
-
- if (FormatMessage (FORMAT_MESSAGE_FROM_SYSTEM
- | FORMAT_MESSAGE_IGNORE_INSERTS,
- NULL,
- code,
- MAKELANGID (LANG_NEUTRAL, SUBLANG_DEFAULT),
- (LPTSTR) buf, sizeof (buf), NULL))
- fprintf (stderr, "mkgroup (%d): [%lu] %s", line, code, buf);
- else
- fprintf (stderr, "mkgroup (%d): error %lu", line, code);
-}
-
-void
-enum_local_users (LPWSTR groupname)
-{
- LOCALGROUP_MEMBERS_INFO_1 *buf1;
- DWORD entries = 0;
- DWORD total = 0;
- DWORD reshdl = 0;
-
- if (!netlocalgroupgetmembers (NULL, groupname,
- 1, (void *) &buf1,
- MAX_PREFERRED_LENGTH,
- &entries, &total, &reshdl))
- {
- unsigned i, first = 1;
-
- for (i = 0; i < entries; ++i)
- if (buf1[i].lgrmi1_sidusage == SidTypeUser)
- {
- char user[256];
-
- if (!first)
- printf (",");
- first = 0;
- uni2ansi (buf1[i].lgrmi1_name, user, sizeof (user));
- printf ("%s", user);
- }
- netapibufferfree (buf1);
- }
-}
-
-int
-enum_local_groups (int print_sids, int print_users, char *disp_groupname)
-{
- LOCALGROUP_INFO_0 *buffer;
- DWORD entriesread = 0;
- DWORD totalentries = 0;
- DWORD resume_handle = 0;
- WCHAR uni_name[512];
- DWORD rc;
-
- do
- {
- DWORD i;
-
- if (disp_groupname != NULL)
- {
- MultiByteToWideChar (CP_ACP, 0, disp_groupname, -1, uni_name, 512 );
- rc = netapibufferallocate(sizeof(LOCALGROUP_INFO_0), (void *) &buffer );
- buffer[0].lgrpi0_name = (LPWSTR) & uni_name;
- entriesread=1;
- }
- else
- rc = netlocalgroupenum (NULL, 0, (void *) &buffer, 1024,
- &entriesread, &totalentries, &resume_handle);
- switch (rc)
- {
- case ERROR_ACCESS_DENIED:
- print_win_error(rc);
- exit (1);
-
- case ERROR_MORE_DATA:
- case ERROR_SUCCESS:
- break;
-
- default:
- print_win_error(rc);
- exit (1);
- }
-
- for (i = 0; i < entriesread; i++)
- {
- char localgroup_name[100];
- char domain_name[100];
- DWORD domname_len = 100;
- char psid_buffer[1024];
- PSID psid = (PSID) psid_buffer;
- DWORD sid_length = 1024;
- DWORD gid;
- SID_NAME_USE acc_type;
- uni2ansi (buffer[i].lgrpi0_name, localgroup_name, sizeof (localgroup_name));
-
- if (!LookupAccountName (NULL, localgroup_name, psid,
- &sid_length, domain_name, &domname_len,
- &acc_type))
- {
- print_win_error(rc);
- fprintf(stderr, " (%s)\n", localgroup_name);
- continue;
- }
- else if (acc_type == SidTypeDomain)
- {
- char domname[356];
-
- strcpy (domname, domain_name);
- strcat (domname, "\\");
- strcat (domname, localgroup_name);
- sid_length = 1024;
- domname_len = 100;
- if (!LookupAccountName (NULL, domname,
- psid, &sid_length,
- domain_name, &domname_len,
- &acc_type))
- {
- print_win_error(rc);
- fprintf(stderr, " (%s)\n", domname);
- continue;
- }
- }
-
- gid = *GetSidSubAuthority (psid, *GetSidSubAuthorityCount(psid) - 1);
-
- printf ("%s:%s:%ld:", localgroup_name,
- print_sids ? put_sid (psid) : "",
- gid);
- if (print_users)
- enum_local_users (buffer[i].lgrpi0_name);
- printf ("\n");
- }
-
- netapibufferfree (buffer);
-
- }
- while (rc == ERROR_MORE_DATA);
-
- return 0;
-}
-
-void
-enum_users (LPWSTR servername, LPWSTR groupname)
-{
- GROUP_USERS_INFO_0 *buf1;
- DWORD entries = 0;
- DWORD total = 0;
- DWORD reshdl = 0;
-
- if (!netgroupgetusers (servername, groupname,
- 0, (void *) &buf1,
- MAX_PREFERRED_LENGTH,
- &entries, &total, &reshdl))
- {
- unsigned i, first = 1;
-
- for (i = 0; i < entries; ++i)
- {
- char user[256];
-
- if (!first)
- printf (",");
- first = 0;
- uni2ansi (buf1[i].grui0_name, user, sizeof (user));
- printf ("%s", user);
- }
- netapibufferfree (buf1);
- }
-}
-
-void
-enum_groups (LPWSTR servername, int print_sids, int print_users, int id_offset,
- char *disp_groupname)
-{
- GROUP_INFO_2 *buffer;
- DWORD entriesread = 0;
- DWORD totalentries = 0;
- DWORD resume_handle = 0;
- WCHAR uni_name[512];
- DWORD rc;
- char ansi_srvname[256];
-
- if (servername)
- uni2ansi (servername, ansi_srvname, sizeof (ansi_srvname));
-
- do
- {
- DWORD i;
-
- if (disp_groupname != NULL)
- {
- MultiByteToWideChar (CP_ACP, 0, disp_groupname, -1, uni_name, 512 );
- rc = netgroupgetinfo(servername, (LPWSTR) & uni_name, 2,
- (void *) &buffer );
- entriesread=1;
- }
- else
- rc = netgroupenum (servername, 2, (void *) & buffer, 1024,
- &entriesread, &totalentries, &resume_handle);
- switch (rc)
- {
- case ERROR_ACCESS_DENIED:
- print_win_error(rc);
- exit (1);
-
- case ERROR_MORE_DATA:
- case ERROR_SUCCESS:
- break;
-
- default:
- print_win_error(rc);
- exit (1);
- }
-
- for (i = 0; i < entriesread; i++)
- {
- char groupname[100];
- char domain_name[100];
- DWORD domname_len = 100;
- char psid_buffer[1024];
- PSID psid = (PSID) psid_buffer;
- DWORD sid_length = 1024;
- SID_NAME_USE acc_type;
-
- int gid = buffer[i].grpi2_group_id;
- uni2ansi (buffer[i].grpi2_name, groupname, sizeof (groupname));
- if (print_sids)
- {
- if (!LookupAccountName (servername ? ansi_srvname : NULL,
- groupname,
- psid, &sid_length,
- domain_name, &domname_len,
- &acc_type))
- {
- print_win_error(rc);
- fprintf(stderr, " (%s)\n", groupname);
- continue;
- }
- else if (acc_type == SidTypeDomain)
- {
- char domname[356];
-
- strcpy (domname, domain_name);
- strcat (domname, "\\");
- strcat (domname, groupname);
- sid_length = 1024;
- domname_len = 100;
- if (!LookupAccountName (servername ? ansi_srvname : NULL,
- domname,
- psid, &sid_length,
- domain_name, &domname_len,
- &acc_type))
- {
- print_win_error(rc);
- fprintf(stderr, " (%s)\n", domname);
- continue;
- }
- }
- }
- printf ("%s:%s:%u:", groupname,
- print_sids ? put_sid (psid) : "",
- gid + id_offset);
- if (print_users)
- enum_users (servername, buffer[i].grpi2_name);
- printf ("\n");
- }
-
- netapibufferfree (buffer);
-
- }
- while (rc == ERROR_MORE_DATA);
-}
-
-void
-print_special (int print_sids,
- PSID_IDENTIFIER_AUTHORITY auth, BYTE cnt,
- DWORD sub1, DWORD sub2, DWORD sub3, DWORD sub4,
- DWORD sub5, DWORD sub6, DWORD sub7, DWORD sub8)
-{
- char name[256], dom[256];
- DWORD len, len2, rid;
- PSID sid;
- SID_NAME_USE use;
-
- if (AllocateAndInitializeSid (auth, cnt, sub1, sub2, sub3, sub4,
- sub5, sub6, sub7, sub8, &sid))
- {
- if (LookupAccountSid (NULL, sid,
- name, (len = 256, &len),
- dom, (len2 = 256, &len),
- &use))
- {
- if (sub8)
- rid = sub8;
- else if (sub7)
- rid = sub7;
- else if (sub6)
- rid = sub6;
- else if (sub5)
- rid = sub5;
- else if (sub4)
- rid = sub4;
- else if (sub3)
- rid = sub3;
- else if (sub2)
- rid = sub2;
- else
- rid = sub1;
- printf ("%s:%s:%lu:\n", name,
- print_sids ? put_sid (sid) : "",
- rid);
- }
- FreeSid (sid);
- }
-}
-
-void
-current_group (int print_sids, int print_users, int id_offset)
-{
- char name[UNLEN + 1], *envname, *envdomain;
- DWORD len;
- HANDLE ptok;
- int errpos = 0;
- struct {
- PSID psid;
- int buffer[10];
- } tg;
-
-
- if ((!GetUserName (name, (len = sizeof (name), &len)) && (errpos = __LINE__))
- || !name[0]
- || !(envname = getenv("USERNAME"))
- || strcasecmp (envname, name)
- || (!GetComputerName (name, (len = sizeof (name), &len))
- && (errpos = __LINE__))
- || !(envdomain = getenv("USERDOMAIN"))
- || !envdomain[0]
- || !strcasecmp (envdomain, name)
- || (!OpenProcessToken (GetCurrentProcess (), TOKEN_QUERY, &ptok)
- && (errpos = __LINE__))
- || (!GetTokenInformation (ptok, TokenPrimaryGroup, &tg, sizeof tg, &len)
- && (errpos = __LINE__))
- || (!CloseHandle (ptok) && (errpos = __LINE__)))
- {
- if (errpos)
- {
- print_win_error (GetLastError ());
- }
- return;
- }
-
- int gid = *GetSidSubAuthority (tg.psid, *GetSidSubAuthorityCount(tg.psid) - 1);
-
- printf ("mkgroup_l_d:%s:%u:", print_sids ? put_sid (tg.psid) : "",
- gid + id_offset);
- if (print_users)
- printf("%s", envname);
- printf ("\n");
-}
-
-int
-usage (FILE * stream, int isNT)
-{
- fprintf (stream, "Usage: mkgroup [OPTION]... [domain]...\n"
- "Print /etc/group file to stdout\n\n"
- "Options:\n");
- if (isNT)
- fprintf (stream, " -l,--local print local group information\n"
- " -c,--current print current group, if a domain account\n"
- " -d,--domain print global group information (from current\n"
- " domain if no domains specified)\n"
- " -o,--id-offset offset change the default offset (10000) added to gids\n"
- " in domain accounts.\n"
- " -s,--no-sids don't print SIDs in pwd field\n"
- " (this affects ntsec)\n"
- " -u,--users print user list in gr_mem field\n"
- " -g,--group groupname only return information for the specified group\n");
- fprintf (stream, " -h,--help print this message\n"
- " -v,--version print version information and exit\n\n");
- if (isNT)
- fprintf (stream, "One of `-l' or `-d' must be given.\n");
-
- return 1;
-}
-
-struct option longopts[] = {
- {"local", no_argument, NULL, 'l'},
- {"current", no_argument, NULL, 'c'},
- {"domain", no_argument, NULL, 'd'},
- {"id-offset", required_argument, NULL, 'o'},
- {"no-sids", no_argument, NULL, 's'},
- {"users", no_argument, NULL, 'u'},
- {"group", required_argument, NULL, 'g'},
- {"help", no_argument, NULL, 'h'},
- {"version", no_argument, NULL, 'v'},
- {0, no_argument, NULL, 0}
-};
-
-char opts[] = "lcdo:sug:hv";
-
-void
-print_version ()
-{
- const char *v = strchr (version, ':');
- int len;
- if (!v)
- {
- v = "?";
- len = 1;
- }
- else
- {
- v += 2;
- len = strchr (v, ' ') - v;
- }
- printf ("\
-mkgroup (cygwin) %.*s\n\
-group File Generator\n\
-Copyright 1997, 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.\n\
-Compiled on %s\n\
-", len, v, __DATE__);
-}
-
-int
-main (int argc, char **argv)
-{
- LPWSTR servername;
- DWORD rc = ERROR_SUCCESS;
- WCHAR domain_name[100];
- int print_local = 0;
- int print_current = 0;
- int print_domain = 0;
- int print_sids = 1;
- int print_users = 0;
- int domain_specified = 0;
- int id_offset = 10000;
- char *disp_groupname = NULL;
- int isRoot = 0;
- int isNT;
- int i;
-
- char name[256], dom[256];
- DWORD len, len2;
- char buf[1024];
- PSID psid = NULL;
- SID_NAME_USE use;
-
- LSA_OBJECT_ATTRIBUTES oa = { 0, 0, 0, 0, 0, 0 };
- LSA_HANDLE lsa = INVALID_HANDLE_VALUE;
- NTSTATUS ret;
- PPOLICY_PRIMARY_DOMAIN_INFO pdi;
-
- isNT = (GetVersion () < 0x80000000);
-
- if (isNT && argc == 1)
- return usage(stderr, isNT);
- else
- {
- while ((i = getopt_long (argc, argv, opts, longopts, NULL)) != EOF)
- switch (i)
- {
- case 'l':
- print_local = 1;
- break;
- case 'c':
- print_current = 1;
- break;
- case 'd':
- print_domain = 1;
- break;
- case 'o':
- id_offset = strtol (optarg, NULL, 10);
- break;
- case 's':
- print_sids = 0;
- break;
- case 'u':
- print_users = 1;
- break;
- case 'g':
- disp_groupname = optarg;
- isRoot = !strcmp(disp_groupname, "root");
- break;
- case 'h':
- usage (stdout, isNT);
- return 0;
- case 'v':
- print_version ();
- return 0;
- default:
- fprintf (stderr, "Try `%s --help' for more information.\n", argv[0]);
- return 1;
- }
- }
-
- /* This takes Windows 9x/ME into account. */
- if (!isNT)
- {
- printf ("all::%ld:\n", DOMAIN_ALIAS_RID_ADMINS);
- return 0;
- }
-
- if (!print_local && !print_domain)
- {
- fprintf (stderr, "%s: Specify one of `-l' or `-d'\n", argv[0]);
- return 1;
- }
- if (optind < argc)
- {
- if (!print_domain)
- {
- fprintf (stderr, "%s: A domain name is only accepted "
- "when `-d' is given.\n", argv[0]);
- return 1;
- }
- domain_specified = 1;
- }
- if (!load_netapi ())
- {
- print_win_error(GetLastError ());
- return 1;
- }
-
- if (print_local)
- {
- if (isRoot)
- {
- /*
- * Very special feature for the oncoming future:
- * Create a "root" group account, being actually the local
- * Administrators group. Since user name, sid and gid are
- * fixed, there's no need to call print_special() for this.
- */
- printf ("root:S-1-5-32-544:0:\n");
- }
-
- if (disp_groupname == NULL)
- {
- /*
- * Get `system' group
- */
- print_special (print_sids, &sid_nt_auth, 1, SECURITY_LOCAL_SYSTEM_RID,
- 0, 0, 0, 0, 0, 0, 0);
- /*
- * Get `None' group
- */
- len = 256;
- GetComputerName (name, &len);
- len = 1024;
- len2 = 256;
- if (LookupAccountName (NULL, name, (PSID) buf, &len, dom, &len, &use))
- psid = (PSID) buf;
- else
- {
- ret = lsaopenpolicy (NULL, &oa, POLICY_VIEW_LOCAL_INFORMATION, &lsa);
- if (ret == STATUS_SUCCESS && lsa != INVALID_HANDLE_VALUE)
- {
- ret = lsaqueryinformationpolicy (lsa,
- PolicyPrimaryDomainInformation,
- (void *) &pdi);
- if (ret == STATUS_SUCCESS)
- {
- if (pdi->Sid)
- {
- CopySid (1024, (PSID) buf, pdi->Sid);
- psid = (PSID) buf;
- }
- lsafreememory (pdi);
- }
- lsaclose (lsa);
- }
- }
- if (!psid)
- fprintf (stderr,
- "WARNING: Group 513 couldn't get retrieved. Try mkgroup -d\n");
- else
- print_special (print_sids, GetSidIdentifierAuthority (psid), 5,
- *GetSidSubAuthority (psid, 0),
- *GetSidSubAuthority (psid, 1),
- *GetSidSubAuthority (psid, 2),
- *GetSidSubAuthority (psid, 3),
- 513,
- 0,
- 0,
- 0);
- }
-
- if (!isRoot)
- {
- enum_local_groups (print_sids, print_users, disp_groupname);
- }
- }
-
- i = 1;
- if (print_domain)
- do
- {
- PDOMAIN_CONTROLLER_INFOW pdci = NULL;
-
- if (dsgetdcname)
- {
- if (domain_specified)
- {
- mbstowcs (domain_name, argv[optind], strlen (argv[optind]) + 1);
- rc = dsgetdcname (NULL, domain_name, NULL, NULL, 0, &pdci);
- }
- else
- rc = dsgetdcname (NULL, NULL, NULL, NULL, 0, &pdci);
- if (rc != ERROR_SUCCESS)
- {
- print_win_error(rc);
- return 1;
- }
- servername = pdci->DomainControllerName;
- }
- else
- {
- rc = netgetdcname (NULL, NULL, (void *) &servername);
- if (rc == ERROR_SUCCESS && domain_specified)
- {
- LPWSTR server = servername;
- mbstowcs (domain_name, argv[optind], strlen (argv[optind]) + 1);
- rc = netgetdcname (NULL, domain_name, (void *) &servername);
- netapibufferfree (server);
- }
- if (rc != ERROR_SUCCESS)
- {
- print_win_error(rc);
- return 1;
- }
- }
- enum_groups (servername, print_sids, print_users, id_offset * i++,
- disp_groupname);
- netapibufferfree (pdci ? (PVOID) pdci : (PVOID) servername);
- }
- while (++optind < argc);
-
- if (print_current && !print_domain)
- current_group (print_sids, print_users, id_offset);
-
- return 0;
-}
diff --git a/winsup/utils/mkpasswd.c b/winsup/utils/mkpasswd.c
deleted file mode 100644
index 96fec7ad1..000000000
--- a/winsup/utils/mkpasswd.c
+++ /dev/null
@@ -1,781 +0,0 @@
-/* mkpasswd.c:
-
- Copyright 1997, 1998, 1999, 2000, 2001, 2002, 2003 Red Hat, Inc.
-
- This file is part of Cygwin.
-
- This software is a copyrighted work licensed under the terms of the
- Cygwin license. Please consult the file "CYGWIN_LICENSE" for
- details. */
-
-#include <ctype.h>
-#include <stdlib.h>
-#include <wchar.h>
-#include <stdio.h>
-#include <windows.h>
-#include <io.h>
-#include <unistd.h>
-#include <sys/cygwin.h>
-#include <getopt.h>
-#include <lmaccess.h>
-#include <lmapibuf.h>
-#include <sys/fcntl.h>
-#include <lmerr.h>
-#include <lmcons.h>
-
-#define print_win_error(x) _print_win_error(x, __LINE__)
-
-static const char version[] = "$Revision$";
-
-SID_IDENTIFIER_AUTHORITY sid_world_auth = {SECURITY_WORLD_SID_AUTHORITY};
-SID_IDENTIFIER_AUTHORITY sid_nt_auth = {SECURITY_NT_AUTHORITY};
-
-typedef struct {
- LPWSTR DomainControllerName;
- LPWSTR DomainControllerAddress;
- ULONG DomainControllerAddressType;
- GUID DomainGuid;
- LPWSTR DomainName;
- LPWSTR DnsForestName;
- ULONG Flags;
- LPWSTR DcSiteName;
- LPWSTR ClientSiteName;
-} *PDOMAIN_CONTROLLER_INFOW;
-
-NET_API_STATUS WINAPI (*netapibufferfree)(PVOID);
-NET_API_STATUS WINAPI (*netuserenum)(LPWSTR,DWORD,DWORD,PBYTE*,DWORD,PDWORD,PDWORD,PDWORD);
-NET_API_STATUS WINAPI (*netlocalgroupenum)(LPWSTR,DWORD,PBYTE*,DWORD,PDWORD,PDWORD,PDWORD);
-NET_API_STATUS WINAPI (*netgetdcname)(LPWSTR,LPWSTR,PBYTE*);
-NET_API_STATUS WINAPI (*netusergetinfo)(LPWSTR,LPWSTR,DWORD,PBYTE*);
-NET_API_STATUS WINAPI (*dsgetdcname)(LPWSTR,LPWSTR,GUID*,LPWSTR,ULONG,PDOMAIN_CONTROLLER_INFOW*);
-
-#ifndef min
-#define min(a,b) (((a)<(b))?(a):(b))
-#endif
-
-BOOL
-load_netapi ()
-{
- HANDLE h = LoadLibrary ("netapi32.dll");
-
- if (!h)
- return FALSE;
-
- if (!(netapibufferfree = (void *) GetProcAddress (h, "NetApiBufferFree")))
- return FALSE;
- if (!(netuserenum = (void *) GetProcAddress (h, "NetUserEnum")))
- return FALSE;
- if (!(netlocalgroupenum = (void *) GetProcAddress (h, "NetLocalGroupEnum")))
- return FALSE;
- if (!(netgetdcname = (void *) GetProcAddress (h, "NetGetDCName")))
- return FALSE;
- if (!(netusergetinfo = (void *) GetProcAddress (h, "NetUserGetInfo")))
- return FALSE;
-
- dsgetdcname = (void *) GetProcAddress (h, "DsGetDcNameW");
-
- return TRUE;
-}
-
-char *
-put_sid (PSID sid)
-{
- static char s[512];
- char t[32];
- DWORD i;
-
- strcpy (s, "S-1-");
- sprintf(t, "%u", GetSidIdentifierAuthority (sid)->Value[5]);
- strcat (s, t);
- for (i = 0; i < *GetSidSubAuthorityCount (sid); ++i)
- {
- sprintf(t, "-%lu", *GetSidSubAuthority (sid, i));
- strcat (s, t);
- }
- return s;
-}
-
-void
-psx_dir (char *in, char *out)
-{
- if (isalpha (in[0]) && in[1] == ':')
- {
- sprintf (out, "/cygdrive/%c", in[0]);
- in += 2;
- out += strlen (out);
- }
-
- while (*in)
- {
- if (*in == '\\')
- *out = '/';
- else
- *out = *in;
- in++;
- out++;
- }
-
- *out = '\0';
-}
-
-void
-uni2ansi (LPWSTR wcs, char *mbs, int size)
-{
- if (wcs)
- WideCharToMultiByte (CP_ACP, 0, wcs, -1, mbs, size, NULL, NULL);
- else
- *mbs = '\0';
-}
-
-void
-_print_win_error(DWORD code, int line)
-{
- char buf[4096];
-
- if (FormatMessage (FORMAT_MESSAGE_FROM_SYSTEM
- | FORMAT_MESSAGE_IGNORE_INSERTS,
- NULL,
- code,
- MAKELANGID (LANG_NEUTRAL, SUBLANG_DEFAULT),
- (LPTSTR) buf, sizeof (buf), NULL))
- fprintf (stderr, "mkpasswd (%d): [%lu] %s", line, code, buf);
- else
- fprintf (stderr, "mkpasswd (%d): error %lu", line, code);
-}
-
-void
-current_user (int print_sids, int print_cygpath,
- const char * passed_home_path, int id_offset, const char * disp_username)
-{
- char name[UNLEN + 1], *envname, *envdomain;
- DWORD len;
- HANDLE ptok;
- int errpos = 0;
- struct {
- PSID psid;
- int buffer[10];
- } tu, tg;
-
-
- if ((!GetUserName (name, (len = sizeof (name), &len)) && (errpos = __LINE__))
- || !name[0]
- || !(envname = getenv("USERNAME"))
- || strcasecmp (envname, name)
- || (disp_username && strcasecmp(envname, disp_username))
- || (!GetComputerName (name, (len = sizeof (name), &len))
- && (errpos = __LINE__))
- || !(envdomain = getenv("USERDOMAIN"))
- || !envdomain[0]
- || !strcasecmp (envdomain, name)
- || (!OpenProcessToken (GetCurrentProcess (), TOKEN_QUERY, &ptok)
- && (errpos = __LINE__))
- || (!GetTokenInformation (ptok, TokenUser, &tu, sizeof tu, &len)
- && (errpos = __LINE__))
- || (!GetTokenInformation (ptok, TokenPrimaryGroup, &tg, sizeof tg, &len)
- && (errpos = __LINE__))
- || (!CloseHandle (ptok) && (errpos = __LINE__)))
- {
- if (errpos)
- _print_win_error (GetLastError (), errpos);
- return;
- }
-
- int uid = *GetSidSubAuthority (tu.psid, *GetSidSubAuthorityCount(tu.psid) - 1);
- int gid = *GetSidSubAuthority (tg.psid, *GetSidSubAuthorityCount(tg.psid) - 1);
- char homedir_psx[MAX_PATH] = {0}, homedir_w32[MAX_PATH] = {0};
-
- char *envhomedrive = getenv ("HOMEDRIVE");
- char *envhomepath = getenv ("HOMEPATH");
-
- if (passed_home_path[0] == '\0')
- {
- if (envhomepath && envhomepath[0])
- {
- if (envhomedrive)
- strlcpy (homedir_w32, envhomedrive, sizeof (homedir_w32));
- if (envhomepath[0] != '\\')
- strlcat (homedir_w32, "\\", sizeof (homedir_w32));
- strlcat (homedir_w32, envhomepath, sizeof (homedir_w32));
- if (print_cygpath)
- cygwin_conv_to_posix_path (homedir_w32, homedir_psx);
- else
- psx_dir (homedir_w32, homedir_psx);
- }
- else
- {
- strlcpy (homedir_psx, "/home/", sizeof (homedir_psx));
- strlcat (homedir_psx, envname, sizeof (homedir_psx));
- }
- }
- else
- {
- strlcpy (homedir_psx, passed_home_path, sizeof (homedir_psx));
- strlcat (homedir_psx, envname, sizeof (homedir_psx));
- }
-
- printf ("%s:unused_by_nt/2000/xp:%u:%u:%s%s%s%s%s%s%s%s:%s:/bin/bash\n",
- envname,
- uid + id_offset,
- gid + id_offset,
- envname,
- print_sids ? "," : "",
- print_sids ? "U-" : "",
- print_sids ? envdomain : "",
- print_sids ? "\\" : "",
- print_sids ? envname : "",
- print_sids ? "," : "",
- print_sids ? put_sid (tu.psid) : "",
- homedir_psx);
-}
-
-int
-enum_users (LPWSTR servername, int print_sids, int print_cygpath,
- const char * passed_home_path, int id_offset, char *disp_username)
-{
- USER_INFO_3 *buffer;
- DWORD entriesread = 0;
- DWORD totalentries = 0;
- DWORD resume_handle = 0;
- DWORD rc;
- char ansi_srvname[256];
- WCHAR uni_name[512];
-
- if (servername)
- uni2ansi (servername, ansi_srvname, sizeof (ansi_srvname));
-
- do
- {
- DWORD i;
-
- if (disp_username != NULL)
- {
- MultiByteToWideChar (CP_ACP, 0, disp_username, -1, uni_name, 512 );
- rc = netusergetinfo(servername, (LPWSTR) & uni_name, 3,
- (void *) &buffer );
- entriesread=1;
- }
- else
- rc = netuserenum (servername, 3, FILTER_NORMAL_ACCOUNT,
- (void *) &buffer, 1024,
- &entriesread, &totalentries, &resume_handle);
- switch (rc)
- {
- case ERROR_ACCESS_DENIED:
- print_win_error(rc);
- exit (1);
-
- case ERROR_MORE_DATA:
- case ERROR_SUCCESS:
- break;
-
- default:
- print_win_error(rc);
- exit (1);
- }
-
- for (i = 0; i < entriesread; i++)
- {
- char username[100];
- char fullname[100];
- char homedir_psx[MAX_PATH];
- char homedir_w32[MAX_PATH];
- char domain_name[100];
- DWORD domname_len = 100;
- char psid_buffer[1024];
- PSID psid = (PSID) psid_buffer;
- DWORD sid_length = 1024;
- SID_NAME_USE acc_type;
-
- int uid = buffer[i].usri3_user_id;
- int gid = buffer[i].usri3_primary_group_id;
- uni2ansi (buffer[i].usri3_name, username, sizeof (username));
- uni2ansi (buffer[i].usri3_full_name, fullname, sizeof (fullname));
- homedir_w32[0] = homedir_psx[0] = '\0';
- if (passed_home_path[0] == '\0')
- {
- uni2ansi (buffer[i].usri3_home_dir, homedir_w32,
- sizeof (homedir_w32));
- if (homedir_w32[0] != '\0')
- {
- if (print_cygpath)
- cygwin_conv_to_posix_path (homedir_w32, homedir_psx);
- else
- psx_dir (homedir_w32, homedir_psx);
- }
- else
- {
- strcpy (homedir_psx, "/home/");
- strcat (homedir_psx, username);
- }
- }
- else
- {
- strcpy (homedir_psx, passed_home_path);
- strcat (homedir_psx, username);
- }
-
- if (print_sids)
- {
- if (!LookupAccountName (servername ? ansi_srvname : NULL,
- username,
- psid, &sid_length,
- domain_name, &domname_len,
- &acc_type))
- {
- print_win_error(GetLastError ());
- fprintf(stderr, " (%s)\n", username);
- continue;
- }
- else if (acc_type == SidTypeDomain)
- {
- char domname[356];
-
- strcpy (domname, domain_name);
- strcat (domname, "\\");
- strcat (domname, username);
- sid_length = 1024;
- domname_len = 100;
- if (!LookupAccountName (servername ? ansi_srvname : NULL,
- domname,
- psid, &sid_length,
- domain_name, &domname_len,
- &acc_type))
- {
- print_win_error(GetLastError ());
- fprintf(stderr, " (%s)\n", domname);
- continue;
- }
- }
- }
- printf ("%s:unused_by_nt/2000/xp:%u:%u:%s%s%s%s%s%s%s%s:%s:/bin/bash\n",
- username,
- uid + id_offset,
- gid + id_offset,
- fullname,
- print_sids && fullname[0] ? "," : "",
- print_sids ? "U-" : "",
- print_sids ? domain_name : "",
- print_sids && domain_name[0] ? "\\" : "",
- print_sids ? username : "",
- print_sids ? "," : "",
- print_sids ? put_sid (psid) : "",
- homedir_psx);
- }
-
- netapibufferfree (buffer);
-
- }
- while (rc == ERROR_MORE_DATA);
-
- return 0;
-}
-
-int
-enum_local_groups (int print_sids)
-{
- LOCALGROUP_INFO_0 *buffer;
- DWORD entriesread = 0;
- DWORD totalentries = 0;
- DWORD resume_handle = 0;
- DWORD rc ;
-
- do
- {
- DWORD i;
-
- rc = netlocalgroupenum (NULL, 0, (void *) &buffer, 1024,
- &entriesread, &totalentries, &resume_handle);
- switch (rc)
- {
- case ERROR_ACCESS_DENIED:
- print_win_error(rc);
- exit (1);
-
- case ERROR_MORE_DATA:
- case ERROR_SUCCESS:
- break;
-
- default:
- print_win_error(rc);
- exit (1);
- }
-
- for (i = 0; i < entriesread; i++)
- {
- char localgroup_name[100];
- char domain_name[100];
- DWORD domname_len = 100;
- char psid_buffer[1024];
- PSID psid = (PSID) psid_buffer;
- DWORD sid_length = 1024;
- DWORD gid;
- SID_NAME_USE acc_type;
- uni2ansi (buffer[i].lgrpi0_name, localgroup_name, sizeof (localgroup_name));
-
- if (!LookupAccountName (NULL, localgroup_name, psid,
- &sid_length, domain_name, &domname_len,
- &acc_type))
- {
- print_win_error(GetLastError ());
- fprintf(stderr, " (%s)\n", localgroup_name);
- continue;
- }
- else if (acc_type == SidTypeDomain)
- {
- char domname[356];
-
- strcpy (domname, domain_name);
- strcat (domname, "\\");
- strcat (domname, localgroup_name);
- sid_length = 1024;
- domname_len = 100;
- if (!LookupAccountName (NULL, domname,
- psid, &sid_length,
- domain_name, &domname_len,
- &acc_type))
- {
- print_win_error(GetLastError ());
- fprintf(stderr, " (%s)\n", domname);
- continue;
- }
- }
-
- gid = *GetSidSubAuthority (psid, *GetSidSubAuthorityCount(psid) - 1);
-
- printf ("%s:*:%ld:%ld:%s%s::\n", localgroup_name, gid, gid,
- print_sids ? "," : "",
- print_sids ? put_sid (psid) : "");
- }
-
- netapibufferfree (buffer);
-
- }
- while (rc == ERROR_MORE_DATA);
-
- return 0;
-}
-
-void
-print_special (int print_sids,
- PSID_IDENTIFIER_AUTHORITY auth, BYTE cnt,
- DWORD sub1, DWORD sub2, DWORD sub3, DWORD sub4,
- DWORD sub5, DWORD sub6, DWORD sub7, DWORD sub8)
-{
- char name[256], dom[256];
- DWORD len, len2, rid;
- PSID sid;
- SID_NAME_USE use;
-
- if (AllocateAndInitializeSid (auth, cnt, sub1, sub2, sub3, sub4,
- sub5, sub6, sub7, sub8, &sid))
- {
- if (LookupAccountSid (NULL, sid,
- name, (len = 256, &len),
- dom, (len2 = 256, &len),
- &use))
- {
- if (sub8)
- rid = sub8;
- else if (sub7)
- rid = sub7;
- else if (sub6)
- rid = sub6;
- else if (sub5)
- rid = sub5;
- else if (sub4)
- rid = sub4;
- else if (sub3)
- rid = sub3;
- else if (sub2)
- rid = sub2;
- else
- rid = sub1;
- printf ("%s:*:%lu:%lu:%s%s::\n",
- name, rid, rid == 18 ? 544 : rid, /* SYSTEM hack */
- print_sids ? "," : "",
- print_sids ? put_sid (sid) : "");
- }
- FreeSid (sid);
- }
-}
-
-int
-usage (FILE * stream, int isNT)
-{
- fprintf (stream, "Usage: mkpasswd [OPTION]... [domain]...\n"
- "Print /etc/passwd file to stdout\n\n"
- "Options:\n");
- if (isNT)
- fprintf (stream, " -l,--local print local user accounts\n"
- " -c,--current print current account, if a domain account\n"
- " -d,--domain print domain accounts (from current domain\n"
- " if no domains specified)\n"
- " -o,--id-offset offset change the default offset (10000) added to uids\n"
- " in domain accounts.\n"
- " -g,--local-groups print local group information too\n"
- " if no domain specified\n"
- " -m,--no-mount don't use mount points for home dir\n"
- " -s,--no-sids don't print SIDs in GCOS field\n"
- " (this affects ntsec)\n");
- fprintf (stream, " -p,--path-to-home path use specified path and not user account home dir or /home\n"
- " -u,--username username only return information for the specified user\n"
- " -h,--help displays this message\n"
- " -v,--version version information and exit\n\n");
- if (isNT)
- fprintf (stream, "One of `-l', `-d' or `-g' must be given.\n");
- return 1;
-}
-
-struct option longopts[] = {
- {"local", no_argument, NULL, 'l'},
- {"current", no_argument, NULL, 'c'},
- {"domain", no_argument, NULL, 'd'},
- {"id-offset", required_argument, NULL, 'o'},
- {"local-groups", no_argument, NULL, 'g'},
- {"no-mount", no_argument, NULL, 'm'},
- {"no-sids", no_argument, NULL, 's'},
- {"path-to-home", required_argument, NULL, 'p'},
- {"username", required_argument, NULL, 'u'},
- {"help", no_argument, NULL, 'h'},
- {"version", no_argument, NULL, 'v'},
- {0, no_argument, NULL, 0}
-};
-
-char opts[] = "lcdo:gsmhp:u:v";
-
-static void
-print_version ()
-{
- const char *v = strchr (version, ':');
- int len;
- if (!v)
- {
- v = "?";
- len = 1;
- }
- else
- {
- v += 2;
- len = strchr (v, ' ') - v;
- }
- printf ("\
-mkpasswd (cygwin) %.*s\n\
-passwd File Generator\n\
-Copyright 1997, 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.\n\
-Compiled on %s\n\
-", len, v, __DATE__);
-}
-
-int
-main (int argc, char **argv)
-{
- LPWSTR servername = NULL;
- DWORD rc = ERROR_SUCCESS;
- WCHAR domain_name[200];
- int print_local = 0;
- int print_current = 0;
- int print_domain = 0;
- int print_local_groups = 0;
- int domain_specified = 0;
- int print_sids = 1;
- int print_cygpath = 1;
- int id_offset = 10000;
- int i;
- int isNT;
- char *disp_username = NULL;
- char name[256], passed_home_path[MAX_PATH];
- DWORD len;
-
- isNT = (GetVersion () < 0x80000000);
- passed_home_path[0] = '\0';
- if (!isatty (1))
- setmode (1, O_BINARY);
-
- if (isNT && argc == 1)
- return usage (stderr, isNT);
- else
- {
- while ((i = getopt_long (argc, argv, opts, longopts, NULL)) != EOF)
- switch (i)
- {
- case 'l':
- print_local = 1;
- break;
- case 'c':
- print_current = 1;
- break;
- case 'd':
- print_domain = 1;
- break;
- case 'o':
- id_offset = strtol (optarg, NULL, 10);
- break;
- case 'g':
- print_local_groups = 1;
- break;
- case 's':
- print_sids = 0;
- break;
- case 'm':
- print_cygpath = 0;
- break;
- case 'p':
- if (optarg[0] != '/')
- {
- fprintf (stderr, "%s: `%s' is not a fully qualified path.\n",
- argv[0], optarg);
- return 1;
- }
- strcpy (passed_home_path, optarg);
- if (optarg[strlen (optarg)-1] != '/')
- strcat (passed_home_path, "/");
- break;
- case 'u':
- disp_username = optarg;
- break;
- case 'h':
- usage (stdout, isNT);
- return 0;
- case 'v':
- print_version ();
- return 0;
- default:
- fprintf (stderr, "Try `%s --help' for more information.\n", argv[0]);
- return 1;
- }
- }
- if (!isNT)
- {
- /* This takes Windows 9x/ME into account. */
- if (passed_home_path[0] == '\0')
- strcpy (passed_home_path, "/home/");
- if (!disp_username)
- {
- printf ("admin:use_crypt:%lu:%lu:Administrator:%sadmin:/bin/bash\n",
- DOMAIN_USER_RID_ADMIN,
- DOMAIN_ALIAS_RID_ADMINS,
- passed_home_path);
- if (GetUserName (name, (len = 256, &len)))
- disp_username = name;
- }
- if (disp_username && disp_username[0])
- {
- /* Create a pseudo random uid */
- unsigned long uid = 0, i;
- for (i = 0; disp_username[i]; i++)
- uid += toupper (disp_username[i]) << ((6 * i) % 25);
- uid = (uid % (1000 - DOMAIN_USER_RID_ADMIN - 1))
- + DOMAIN_USER_RID_ADMIN + 1;
-
- printf ("%s:use_crypt:%lu:%lu:%s:%s%s:/bin/bash\n",
- disp_username,
- uid,
- DOMAIN_ALIAS_RID_ADMINS,
- disp_username,
- passed_home_path,
- disp_username);
- }
- return 0;
- }
- if (!print_local && !print_domain && !print_local_groups)
- {
- fprintf (stderr, "%s: Specify one of `-l', `-d' or `-g'\n", argv[0]);
- return 1;
- }
- if (optind < argc)
- {
- if (!print_domain)
- {
- fprintf (stderr, "%s: A domain name is only accepted "
- "when `-d' is given.\n", argv[0]);
- return 1;
- }
- domain_specified = 1;
- }
- if (!load_netapi ())
- {
- print_win_error(GetLastError ());
- return 1;
- }
-
- if (disp_username == NULL)
- {
- if (print_local)
- {
-#if 0
- /*
- * Get `Everyone' group
- */
- print_special (print_sids, &sid_world_auth, 1, SECURITY_WORLD_RID,
- 0, 0, 0, 0, 0, 0, 0);
-#endif
- /*
- * Get `system' group
- */
- print_special (print_sids, &sid_nt_auth, 1, SECURITY_LOCAL_SYSTEM_RID,
- 0, 0, 0, 0, 0, 0, 0);
- /*
- * Get `administrators' group
- */
- if (!print_local_groups)
- print_special (print_sids, &sid_nt_auth, 2, SECURITY_BUILTIN_DOMAIN_RID,
- DOMAIN_ALIAS_RID_ADMINS, 0, 0, 0, 0, 0, 0);
- }
- if (print_local_groups)
- enum_local_groups (print_sids);
- }
-
- if (print_local)
- enum_users (NULL, print_sids, print_cygpath, passed_home_path, 0,
- disp_username);
-
- i = 1;
- if (print_domain)
- do
- {
- PDOMAIN_CONTROLLER_INFOW pdci = NULL;
-
- if (dsgetdcname)
- {
- if (domain_specified)
- {
- mbstowcs (domain_name, argv[optind], strlen (argv[optind]) + 1);
- rc = dsgetdcname (NULL, domain_name, NULL, NULL, 0, &pdci);
- }
- else
- rc = dsgetdcname (NULL, NULL, NULL, NULL, 0, &pdci);
- if (rc != ERROR_SUCCESS)
- {
- print_win_error(rc);
- return 1;
- }
- servername = pdci->DomainControllerName;
- }
- else
- {
- rc = netgetdcname (NULL, NULL, (void *) &servername);
- if (rc == ERROR_SUCCESS && domain_specified)
- {
- LPWSTR server = servername;
- mbstowcs (domain_name, argv[optind], strlen (argv[optind]) + 1);
- rc = netgetdcname (server, domain_name, (void *) &servername);
- netapibufferfree (server);
- }
- if (rc != ERROR_SUCCESS)
- {
- print_win_error(rc);
- return 1;
- }
- }
- enum_users (servername, print_sids, print_cygpath, passed_home_path,
- id_offset * i++, disp_username);
- netapibufferfree (pdci ? (PVOID) pdci : (PVOID) servername);
- }
- while (++optind < argc);
-
- if (print_current && !print_domain)
- current_user(print_sids, print_cygpath, passed_home_path,
- id_offset, disp_username);
-
- return 0;
-}
diff --git a/winsup/utils/module_info.cc b/winsup/utils/module_info.cc
deleted file mode 100644
index c0e7079cc..000000000
--- a/winsup/utils/module_info.cc
+++ /dev/null
@@ -1,114 +0,0 @@
-/* module_info.cc
-
- Copyright 1999,2000,2001 Red Hat, Inc.
-
- Written by Egor Duda <deo@logos-m.ru>
-
-This file is part of Cygwin.
-
-This software is a copyrighted work licensed under the terms of the
-Cygwin license. Please consult the file "CYGWIN_LICENSE" for
-details. */
-
-#include <stdlib.h>
-#include <windows.h>
-#include <psapi.h>
-
-static int psapi_loaded = 0;
-static HMODULE psapi_module_handle = NULL;
-
-typedef BOOL WINAPI (tf_EnumProcessModules) (HANDLE, HMODULE *, DWORD,
- LPDWORD);
-typedef BOOL WINAPI (tf_GetModuleInformation) (HANDLE, HMODULE, LPMODULEINFO,
- DWORD);
-typedef DWORD WINAPI (tf_GetModuleFileNameExA) (HANDLE, HMODULE, LPSTR,
- DWORD);
-
-static tf_EnumProcessModules *psapi_EnumProcessModules = NULL;
-static tf_GetModuleInformation *psapi_GetModuleInformation = NULL;
-static tf_GetModuleFileNameExA *psapi_GetModuleFileNameExA = NULL;
-
-/* Returns full name of Dll, which is loaded by hProcess at BaseAddress.
- Uses psapi.dll. */
-
-char *
-psapi_get_module_name (HANDLE hProcess, DWORD BaseAddress)
-{
- DWORD len;
- MODULEINFO mi;
- unsigned int i;
- HMODULE dh_buf[1];
- HMODULE *DllHandle = dh_buf;
- DWORD cbNeeded;
- BOOL ok;
-
- char name_buf[MAX_PATH + 1];
-
- if (!psapi_loaded ||
- psapi_EnumProcessModules == NULL ||
- psapi_GetModuleInformation == NULL ||
- psapi_GetModuleFileNameExA == NULL)
- {
- if (psapi_loaded)
- goto failed;
- psapi_loaded = 1;
- psapi_module_handle = LoadLibrary ("psapi.dll");
- if (!psapi_module_handle)
- goto failed;
- psapi_EnumProcessModules =
- (tf_EnumProcessModules *) GetProcAddress (psapi_module_handle,
- "EnumProcessModules");
- psapi_GetModuleInformation =
- (tf_GetModuleInformation *) GetProcAddress (psapi_module_handle,
- "GetModuleInformation");
- psapi_GetModuleFileNameExA =
- (tf_GetModuleFileNameExA *) GetProcAddress (psapi_module_handle,
- "GetModuleFileNameExA");
- if (psapi_EnumProcessModules == NULL
- || psapi_GetModuleInformation == NULL
- || psapi_GetModuleFileNameExA == NULL)
- goto failed;
- }
-
- ok = (*psapi_EnumProcessModules) (hProcess,
- DllHandle, sizeof (HMODULE), &cbNeeded);
-
- if (!ok || !cbNeeded)
- goto failed;
- DllHandle = (HMODULE *) malloc (cbNeeded);
- if (!DllHandle)
- goto failed;
- ok = (*psapi_EnumProcessModules) (hProcess, DllHandle, cbNeeded, &cbNeeded);
- if (!ok)
- {
- free (DllHandle);
- goto failed;
- }
-
- for (i = 0; i < cbNeeded / sizeof (HMODULE); i++)
- {
- if (!(*psapi_GetModuleInformation) (hProcess,
- DllHandle[i], &mi, sizeof (mi)))
- {
- free (DllHandle);
- goto failed;
- }
-
- len = (*psapi_GetModuleFileNameExA) (hProcess,
- DllHandle[i], name_buf, MAX_PATH);
- if (len == 0)
- {
- free (DllHandle);
- goto failed;
- }
-
- if ((DWORD) (mi.lpBaseOfDll) == BaseAddress)
- {
- free (DllHandle);
- return strdup (name_buf);
- }
- }
-
-failed:
- return NULL;
-}
diff --git a/winsup/utils/mount.cc b/winsup/utils/mount.cc
deleted file mode 100644
index 941064292..000000000
--- a/winsup/utils/mount.cc
+++ /dev/null
@@ -1,560 +0,0 @@
-/* mount.cc
-
- Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2005 Red Hat, Inc.
-
-This file is part of Cygwin.
-
-This software is a copyrighted work licensed under the terms of the
-Cygwin license. Please consult the file "CYGWIN_LICENSE" for
-details. */
-
-#include <stdio.h>
-#include <sys/mount.h>
-#include <sys/stat.h>
-#include <mntent.h>
-#include <windows.h>
-#include <sys/cygwin.h>
-#include <stdlib.h>
-#include <getopt.h>
-#include <dirent.h>
-
-#ifdef errno
-#undef errno
-#endif
-#include <errno.h>
-
-#define EXEC_FLAGS (MOUNT_EXEC | MOUNT_NOTEXEC | MOUNT_CYGWIN_EXEC)
-
-static void mount_commands (void);
-static void show_mounts (void);
-static void show_cygdrive_info (void);
-static void change_cygdrive_prefix (const char *new_prefix, int flags);
-static int mount_already_exists (const char *posix_path, int flags);
-
-// static short create_missing_dirs = FALSE;
-static short force = FALSE;
-
-static const char version[] = "$Revision$";
-static const char *progname;
-
-static void
-error (const char *path)
-{
- fprintf (stderr, "%s: %s: %s\n", progname, path,
- (errno == EMFILE) ? "Too many mount entries" : strerror (errno));
- exit (1);
-}
-
-/* FIXME: do_mount should also print a warning message if the dev arg
- is a non-existent Win32 path. */
-
-static void
-do_mount (const char *dev, const char *where, int flags)
-{
- struct stat statbuf;
- char win32_path[MAX_PATH];
- int statres;
-
- cygwin_conv_to_win32_path (where, win32_path);
-
- statres = stat (win32_path, &statbuf);
-
-#if 0
- if (statres == -1)
- {
- /* FIXME: this'll fail if mount dir is missing any parent dirs */
- if (create_missing_dirs == TRUE)
- {
- if (mkdir (where, 0755) == -1)
- fprintf (stderr, "Warning: unable to create %s!\n", where);
- else
- statres = 0; /* Pretend stat succeeded if we could mkdir. */
- }
- }
-#endif
-
- if (statres == -1)
- {
- if (!force)
- fprintf (stderr, "%s: warning - %s does not exist.\n", progname, where);
- }
- else if (!(statbuf.st_mode & S_IFDIR))
- {
- if (!force)
- fprintf (stderr, "%s: warning: %s is not a directory.\n", progname, where);
- }
-
- if (!force && !(flags & EXEC_FLAGS) && strlen (dev))
- {
- char devtmp[1 + 2 * strlen (dev)];
- strcpy (devtmp, dev);
- char c = strchr (devtmp, '\0')[-1];
- if (c == '/' || c == '\\')
- strcat (devtmp, ".");
- /* Use a curious property of Windows which allows the use of \.. even
- on non-directory paths. */
- for (const char *p = dev; (p = strpbrk (p, "/\\")); p++)
- strcat (devtmp, "\\..");
- strcat (devtmp, "\\");
- if (GetDriveType (devtmp) == DRIVE_REMOTE)
- {
- fprintf (stderr, "%s: defaulting to '--no-executable' flag for speed since native path\n"
- "%*creferences a remote share. Use '-f' option to override.\n", progname,
- strlen(progname) + 2, ' ');
- flags |= MOUNT_NOTEXEC;
- }
- }
-
- if (!force && flags & MOUNT_ENC)
- {
- DIR *dd = opendir (dev);
- if (dd)
- {
- struct dirent *d;
- while ((d = readdir (dd)))
- {
- if (d->d_name[0] != '.')
- /* fall through */;
- else if (d->d_name[1] == '\0'
- || (d->d_name[1] == '.' && d->d_name[2] == '\0'))
- continue;
- fprintf (stderr, "%s: error: don't use \"-o managed\" on non-empty directories\n", progname);
- exit (1);
- }
- }
- }
-
- if (mount (dev, where, flags))
- error (where);
-
- exit (0);
-}
-
-static struct option longopts[] =
-{
- {"binary", no_argument, NULL, 'b'},
- {"change-cygdrive-prefix", no_argument, NULL, 'c'},
- {"cygwin-executable", no_argument, NULL, 'X'},
- {"executable", no_argument, NULL, 'x'},
- {"force", no_argument, NULL, 'f'},
- {"help", no_argument, NULL, 'h' },
- {"mount-commands", no_argument, NULL, 'm'},
- {"no-executable", no_argument, NULL, 'E'},
- {"options", required_argument, NULL, 'o'},
- {"show-cygdrive-prefix", no_argument, NULL, 'p'},
- {"system", no_argument, NULL, 's'},
- {"text", no_argument, NULL, 't'},
- {"user", no_argument, NULL, 'u'},
- {"version", no_argument, NULL, 'v'},
- {NULL, 0, NULL, 0}
-};
-
-static char opts[] = "bcfhmpstuvxEXo:";
-
-static void
-usage (FILE *where = stderr)
-{
- fprintf (where, "Usage: %s [OPTION] [<win32path> <posixpath>]\n\
-Display information about mounted filesystems, or mount a filesystem\n\
-\n\
- -b, --binary (default) text files are equivalent to binary files\n\
- (newline = \\n)\n\
- -c, --change-cygdrive-prefix change the cygdrive path prefix to <posixpath>\n\
- -f, --force force mount, don't warn about missing mount\n\
- point directories\n\
- -h, --help output usage information and exit\n\
- -m, --mount-commands write mount commands to replicate user and\n\
- system mount points and cygdrive prefixes\n\
- -o, --options X[,X...] specify mount options\n\
- -p, --show-cygdrive-prefix show user and/or system cygdrive path prefix\n\
- -s, --system (default) add system-wide mount point\n\
- -t, --text text files get \\r\\n line endings\n\
- -u, --user add user-only mount point\n\
- -v, --version output version information and exit\n\
- -x, --executable treat all files under mount point as executables\n\
- -E, --no-executable treat all files under mount point as \n\
- non-executables\n\
- -X, --cygwin-executable treat all files under mount point as cygwin\n\
- executables\n\
-", progname);
- exit (where == stderr ? 1 : 0);
-}
-
-struct opt
-{
- const char *name;
- unsigned val;
- bool clear;
-} oopts[] =
-{
- {"user", MOUNT_SYSTEM, 1},
- {"system", MOUNT_SYSTEM, 0},
- {"binary", MOUNT_BINARY, 0},
- {"text", MOUNT_BINARY, 1},
- {"exec", MOUNT_EXEC, 0},
- {"notexec", MOUNT_NOTEXEC, 0},
- {"cygexec", MOUNT_CYGWIN_EXEC, 0},
- {"nosuid", 0, 0},
- {"managed", MOUNT_ENC, 0}
-};
-
-static void
-print_version ()
-{
- const char *v = strchr (version, ':');
- int len;
- if (!v)
- {
- v = "?";
- len = 1;
- }
- else
- {
- v += 2;
- len = strchr (v, ' ') - v;
- }
- printf ("\
-%s (cygwin) %.*s\n\
-Filesystem Utility\n\
-Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.\n\
-Compiled on %s\n\
-", progname, len, v, __DATE__);
-}
-
-static char *
-concat3 (char *a, const char *b, const char *c)
-{
- size_t totlen = strlen (a) + strlen (b) + strlen (c) + 1;
- a = (char *) realloc (a, totlen);
- return strcat (strcat (a, b), c);
-}
-
-int
-main (int argc, char **argv)
-{
- int i;
- int flags = MOUNT_BINARY;
- int default_flag = MOUNT_SYSTEM;
- char *options = strdup ("");
- enum do_what
- {
- nada,
- saw_change_cygdrive_prefix,
- saw_show_cygdrive_prefix,
- saw_mount_commands
- } do_what = nada;
-
- progname = strrchr (argv[0], '/');
- if (progname == NULL)
- progname = strrchr (argv[0], '\\');
- if (progname == NULL)
- progname = argv[0];
- else
- progname++;
-
- if (argc == 1)
- {
- show_mounts ();
- exit (0);
- }
-
- while ((i = getopt_long (argc, argv, opts, longopts, NULL)) != EOF)
- switch (i)
- {
- case 'b':
- flags |= MOUNT_BINARY;
- break;
- case 'c':
- if (do_what == nada)
- do_what = saw_change_cygdrive_prefix;
- else
- usage ();
- break;
- case 'f':
- force = TRUE;
- break;
- case 'h':
- usage (stdout);
- break;
- case 'm':
- if (do_what == nada)
- do_what = saw_mount_commands;
- else
- usage ();
- break;
- case 'o':
- if (*options)
- options = concat3 (options, ",", optarg);
- else
- options = strdup (optarg);
- break;
- case 'p':
- if (do_what == nada)
- do_what = saw_show_cygdrive_prefix;
- else
- usage ();
- break;
- case 's':
- flags |= MOUNT_SYSTEM;
- break;
- case 't':
- flags &= ~MOUNT_BINARY;
- break;
- case 'u':
- flags &= ~MOUNT_SYSTEM;
- default_flag = 0;
- break;
- case 'v':
- print_version ();
- return 0;
- break;
- case 'x':
- flags |= MOUNT_EXEC;
- break;
- case 'E':
- flags |= MOUNT_NOTEXEC;
- break;
- case 'X':
- flags |= MOUNT_CYGWIN_EXEC;
- break;
- default:
- usage ();
- }
-
- while (*options)
- {
- char *p = strchr (options, ',');
- if (p)
- *p++ = '\0';
- else
- p = strchr (options, '\0');
-
- for (opt *o = oopts; o < (oopts + (sizeof (oopts) / sizeof (oopts[0]))); o++)
- if (strcmp (options, o->name) == 0)
- {
- if (o->clear)
- flags &= ~o->val;
- else
- flags |= o->val;
- goto gotit;
- }
- fprintf (stderr, "%s: invalid option - '%s'\n", progname, options);
- exit (1);
-
- gotit:
- options = p;
- }
-
- if (flags & MOUNT_NOTEXEC && flags & (MOUNT_EXEC | MOUNT_CYGWIN_EXEC))
- {
- fprintf (stderr, "%s: invalid combination of executable options\n", progname);
- exit (1);
- }
-
- argc--;
- switch (do_what)
- {
- case saw_change_cygdrive_prefix:
- if (optind != argc)
- usage ();
- change_cygdrive_prefix (argv[optind], flags | default_flag);
- break;
- case saw_show_cygdrive_prefix:
- if (optind <= argc)
- usage ();
- show_cygdrive_info ();
- break;
- case saw_mount_commands:
- if (optind <= argc)
- usage ();
- mount_commands ();
- break;
- default:
- if (optind != (argc - 1))
- {
- if (optind >= argc)
- fprintf (stderr, "%s: not enough arguments\n", progname);
- else
- fprintf (stderr, "%s: too many arguments\n", progname);
- usage ();
- }
- if (force || !mount_already_exists (argv[optind + 1], flags | default_flag))
- do_mount (argv[optind], argv[optind + 1], flags | default_flag);
- else
- {
- errno = EBUSY;
- error (argv[optind + 1]);
- }
- }
-
- /* NOTREACHED */
- return 0;
-}
-
-static void
-mount_commands (void)
-{
- FILE *m = setmntent ("/-not-used-", "r");
- struct mntent *p;
- char *c;
- const char *format_mnt = "mount%s \"%s\" \"%s\"\n";
- const char *format_cyg = "mount%s --change-cygdrive-prefix \"%s\"\n";
- char opts[MAX_PATH];
- char user[MAX_PATH];
- char system[MAX_PATH];
- char user_flags[MAX_PATH];
- char system_flags[MAX_PATH];
-
- // write mount commands for user and system mount points
- while ((p = getmntent (m)) != NULL)
- // Only list non-cygdrives
- if (!strstr (p->mnt_opts, ",noumount"))
- {
- strcpy(opts, " -f");
- if (p->mnt_type[0] == 'u')
- strcat (opts, " -u");
- else if (p->mnt_type[0] == 's')
- strcat (opts, " -s");
- if (p->mnt_opts[0] == 'b')
- strcat (opts, " -b");
- else if (p->mnt_opts[0] == 't')
- strcat (opts, " -t");
- if (strstr (p->mnt_opts, ",exec"))
- strcat (opts, " -x");
- if (strstr (p->mnt_opts, ",noexec"))
- strcat (opts, " -E");
- if (strstr (p->mnt_opts, ",cygexec"))
- strcat (opts, " -X");
- if (strstr (p->mnt_opts, ",managed"))
- strcat (opts, " -o managed");
- while ((c = strchr (p->mnt_fsname, '\\')) != NULL)
- *c = '/';
- printf (format_mnt, opts, p->mnt_fsname, p->mnt_dir);
- }
- endmntent (m);
-
- // write mount commands for cygdrive prefixes
- cygwin_internal (CW_GET_CYGDRIVE_INFO, user, system, user_flags,
- system_flags);
-
- if (strlen (user) > 0)
- {
- strcpy (opts, " -u");
- if (user_flags[0] == 'b')
- strcat (opts, " -b");
- else if (user_flags[0] == 't')
- strcat (opts, " -t");
- printf (format_cyg, opts, user);
- }
-
- if (strlen (system) > 0)
- {
- strcpy (opts, " -s");
- if (system_flags[0] == 'b')
- strcat (opts, " -b");
- else if (system_flags[0] == 't')
- strcat (opts, " -t");
- printf (format_cyg, opts, system);
- }
-
- exit(0);
-}
-
-static void
-show_mounts (void)
-{
- FILE *m = setmntent ("/-not-used-", "r");
- struct mntent *p;
- const char *format = "%s on %s type %s (%s)\n";
-
- // printf (format, "Device", "Directory", "Type", "Flags");
- while ((p = getmntent (m)) != NULL)
- printf (format, p->mnt_fsname, p->mnt_dir, p->mnt_type, p->mnt_opts);
- endmntent (m);
-}
-
-/* Return 1 if mountpoint from the same registry area is already in
- mount table. Otherwise return 0. */
-static int
-mount_already_exists (const char *posix_path, int flags)
-{
- int found_matching = 0;
-
- FILE *m = setmntent ("/-not-used-", "r");
- struct mntent *p;
-
- while ((p = getmntent (m)) != NULL)
- {
- /* if the paths match, and they're both the same type of mount. */
- if (strcmp (p->mnt_dir, posix_path) == 0)
- {
- if (p->mnt_type[0] == 'u')
- {
- if (!(flags & MOUNT_SYSTEM)) /* both current_user */
- found_matching = 1;
- else
- fprintf (stderr,
- "%s: warning: system mount point of '%s' "
- "will always be masked by user mount.\n",
- progname, posix_path);
- break;
- }
- else if (p->mnt_type[0] == 's')
- {
- if (flags & MOUNT_SYSTEM) /* both system */
- found_matching = 1;
- else
- fprintf (stderr,
- "%s: warning: user mount point of '%s' "
- "masks system mount.\n",
- progname, posix_path);
- break;
- }
- else
- {
- fprintf (stderr, "%s: warning: couldn't determine mount type.\n", progname);
- break;
- }
- }
- }
- endmntent (m);
-
- return found_matching;
-}
-
-/* change_cygdrive_prefix: Change the cygdrive prefix */
-static void
-change_cygdrive_prefix (const char *new_prefix, int flags)
-{
- flags |= MOUNT_CYGDRIVE;
-
- if (mount (NULL, new_prefix, flags))
- error (new_prefix);
-
- exit (0);
-}
-
-/* show_cygdrive_info: Show the user and/or cygdrive info, i.e., prefix and
- flags.*/
-static void
-show_cygdrive_info ()
-{
- /* Get the cygdrive info */
- char user[MAX_PATH];
- char system[MAX_PATH];
- char user_flags[MAX_PATH];
- char system_flags[MAX_PATH];
- cygwin_internal (CW_GET_CYGDRIVE_INFO, user, system, user_flags,
- system_flags);
-
- /* Display the user and system cygdrive path prefix, if necessary
- (ie, not empty) */
- const char *format = "%-18s %-11s %s\n";
- printf (format, "Prefix", "Type", "Flags");
- if (strlen (user) > 0)
- printf (format, user, "user", user_flags);
- if (strlen (system) > 0)
- printf (format, system, "system", system_flags);
-
- exit (0);
-}
diff --git a/winsup/utils/parse_pe.cc b/winsup/utils/parse_pe.cc
deleted file mode 100644
index 226c6f9f3..000000000
--- a/winsup/utils/parse_pe.cc
+++ /dev/null
@@ -1,94 +0,0 @@
-/* parse_pe.cc
-
- Copyright 1999, 2000, 2001, 2002, 2003, 2004 Red Hat, Inc.
-
- Written by Egor Duda <deo@logos-m.ru>
-
- This file is part of Cygwin.
-
- This software is a copyrighted work licensed under the terms of the
- Cygwin license. Please consult the file "CYGWIN_LICENSE" for
- details. */
-
-#include <bfd.h>
-#include <stdio.h>
-#include <stdlib.h>
-
-#include "dumper.h"
-
-int
-exclusion::add (LPBYTE mem_base, DWORD mem_size)
-{
- while (last >= size)
- size += step;
- region = (process_mem_region *) realloc (region, size * sizeof (process_mem_region));
- if (region == NULL)
- return 0;
- region[last].base = mem_base;
- region[last].size = mem_size;
- last++;
- return 1;
-};
-
-int
-cmp_regions (const void *r1, const void *r2)
-{
- if (((process_mem_region *) r1)->base < ((process_mem_region *) r2)->base)
- return -1;
- if (((process_mem_region *) r1)->base > ((process_mem_region *) r2)->base)
- return 1;
- return 0;
-}
-
-int
-exclusion::sort_and_check ()
-{
- qsort (region, last, sizeof (process_mem_region), &cmp_regions);
- for (process_mem_region * p = region; p < region + last - 1; p++)
- {
- process_mem_region *q = p + 1;
- if (q == p + 1)
- continue;
- if (p->base + size > q->base)
- {
- fprintf (stderr, "region error @ (%8p + %d) > %8p\n", p->base, size, q->base);
- return 0;
- }
- }
- return 1;
-}
-
-static void
-select_data_section (bfd * abfd, asection * sect, PTR obj)
-{
- exclusion *excl_list = (exclusion *) obj;
-
- if ((sect->flags & (SEC_CODE | SEC_DEBUGGING)) &&
- sect->vma && bfd_get_section_size (sect))
- {
- excl_list->add ((LPBYTE) sect->vma, (DWORD) bfd_get_section_size (sect));
- deb_printf ("excluding section: %20s %08lx\n", sect->name,
- bfd_get_section_size (sect));
- }
-}
-
-int
-parse_pe (const char *file_name, exclusion * excl_list)
-{
- if (file_name == NULL || excl_list == NULL)
- return 0;
-
- bfd *abfd = bfd_openr (file_name, "pei-i386");
- if (abfd == NULL)
- {
- bfd_perror ("failed to open file");
- return 0;
- }
-
- bfd_check_format (abfd, bfd_object);
- bfd_map_over_sections (abfd, &select_data_section, (PTR) excl_list);
- excl_list->sort_and_check ();
-
- bfd_close (abfd);
- return 1;
-}
diff --git a/winsup/utils/passwd.c b/winsup/utils/passwd.c
deleted file mode 100644
index 017d12283..000000000
--- a/winsup/utils/passwd.c
+++ /dev/null
@@ -1,561 +0,0 @@
-/* passwd.c: Changing passwords and managing account information
-
- Copyright 1999, 2000, 2001, 2002, 2003 Red Hat, Inc.
-
- Written by Corinna Vinschen <corinna.vinschen@cityweb.de>
-
-This file is part of Cygwin.
-
-This software is a copyrighted work licensed under the terms of the
-Cygwin license. Please consult the file "CYGWIN_LICENSE" for
-details. */
-
-#include <windows.h>
-#include <wininet.h>
-#include <lmaccess.h>
-#include <lmerr.h>
-#include <lmcons.h>
-#include <lmapibuf.h>
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <unistd.h>
-#include <getopt.h>
-#include <pwd.h>
-#include <sys/cygwin.h>
-#include <sys/types.h>
-#include <time.h>
-
-#define USER_PRIV_ADMIN 2
-
-static const char version[] = "$Revision$";
-static char *prog_name;
-
-static struct option longopts[] =
-{
- {"cannot-change", no_argument, NULL, 'c'},
- {"can-change", no_argument, NULL, 'C'},
- {"logonserver", required_argument, NULL, 'd'},
- {"never-expires", no_argument, NULL, 'e'},
- {"expires", no_argument, NULL, 'E'},
- {"help", no_argument, NULL, 'h' },
- {"inactive", required_argument, NULL, 'i'},
- {"lock", no_argument, NULL, 'l'},
- {"minage", required_argument, NULL, 'n'},
- {"pwd-not-required", no_argument, NULL, 'p'},
- {"pwd-required", no_argument, NULL, 'P'},
- {"unlock", no_argument, NULL, 'u'},
- {"version", no_argument, NULL, 'v'},
- {"maxage", required_argument, NULL, 'x'},
- {"length", required_argument, NULL, 'L'},
- {"status", no_argument, NULL, 'S'},
- {NULL, 0, NULL, 0}
-};
-
-static char opts[] = "cCd:eEhi:ln:pPuvx:L:S";
-
-int
-eprint (int with_name, const char *fmt, ...)
-{
- va_list ap;
-
- if (with_name)
- fprintf(stderr, "%s: ", prog_name);
- va_start (ap, fmt);
- vfprintf (stderr, fmt, ap);
- va_end (ap);
- fprintf(stderr, "\n");
- return 1;
-}
-
-int
-EvalRet (int ret, const char *user)
-{
- switch (ret)
- {
- case NERR_Success:
- return 0;
-
- case ERROR_ACCESS_DENIED:
- if (! user)
- eprint (0, "You may not change password expiry information.");
- else
- eprint (0, "You may not change the password for %s.", user);
- break;
-
- eprint (0, "Bad password: Invalid.");
- break;
-
- case NERR_PasswordTooShort:
- eprint (0, "Bad password: Too short.");
- break;
-
- case NERR_UserNotFound:
- eprint (1, "unknown user %s", user);
- break;
-
- case ERROR_INVALID_PASSWORD:
- case NERR_BadPassword:
- eprint (0, "Incorrect password for %s.", user);
- eprint (0, "The password for %s is unchanged.", user);
- break;
-
- default:
- eprint (1, "unrecoverable error %d", ret);
- break;
- }
- return 1;
-}
-
-PUSER_INFO_3
-GetPW (char *user, int print_win_name, LPCWSTR server)
-{
- char usr_buf[UNLEN + 1];
- WCHAR name[2 * (UNLEN + 1)];
- DWORD ret;
- PUSER_INFO_3 ui;
- struct passwd *pw;
- char *domain = (char *) alloca (INTERNET_MAX_HOST_NAME_LENGTH + 1);
-
- /* Try getting a Win32 username in case the user edited /etc/passwd */
- if ((pw = getpwnam (user)))
- {
- cygwin_internal (CW_EXTRACT_DOMAIN_AND_USER, pw, domain, usr_buf);
- if (strcasecmp (pw->pw_name, usr_buf))
- {
- /* Hack to avoid problem with LookupAccountSid after impersonation */
- if (strcasecmp (usr_buf, "SYSTEM"))
- {
- user = usr_buf;
- if (print_win_name)
- printf ("Windows username : %s\n", user);
- }
- }
- }
- MultiByteToWideChar (CP_ACP, 0, user, -1, name, 2 * (UNLEN + 1));
- ret = NetUserGetInfo (server, name, 3, (void *) &ui);
- return EvalRet (ret, user) ? NULL : ui;
-}
-
-int
-ChangePW (const char *user, const char *oldpwd, const char *pwd, int justcheck,
- LPCWSTR server)
-{
- WCHAR name[2 * (UNLEN + 1)], oldpass[512], pass[512];
- DWORD ret;
-
- MultiByteToWideChar (CP_ACP, 0, user, -1, name, 2 * (UNLEN + 1));
- MultiByteToWideChar (CP_ACP, 0, pwd, -1, pass, 512);
- if (! oldpwd)
- {
- USER_INFO_1003 ui;
-
- ui.usri1003_password = pass;
- ret = NetUserSetInfo (server, name, 1003, (LPBYTE) &ui, NULL);
- }
- else
- {
- MultiByteToWideChar (CP_ACP, 0, oldpwd, -1, oldpass, 512);
- ret = NetUserChangePassword (server, name, oldpass, pass);
- }
- if (justcheck && ret != ERROR_INVALID_PASSWORD)
- return 0;
- if (! EvalRet (ret, user) && ! justcheck)
- {
- eprint (0, "Password changed.");
- }
- return ret;
-}
-
-void
-PrintPW (PUSER_INFO_3 ui, LPCWSTR server)
-{
- time_t t = time (NULL) - ui->usri3_password_age;
- int ret;
- PUSER_MODALS_INFO_0 mi;
-
- printf ("Account disabled : %s",
- (ui->usri3_flags & UF_ACCOUNTDISABLE) ? "yes\n" : "no\n");
- printf ("Password not required : %s",
- (ui->usri3_flags & UF_PASSWD_NOTREQD) ? "yes\n" : "no\n");
- printf ("User can't change password : %s",
- (ui->usri3_flags & UF_PASSWD_CANT_CHANGE) ? "yes\n" : "no\n");
- printf ("Password never expires : %s",
- (ui->usri3_flags & UF_DONT_EXPIRE_PASSWD) ? "yes\n" : "no\n");
- printf ("Password expired : %s",
- (ui->usri3_password_expired) ? "yes\n" : "no\n");
- printf ("Latest password change : %s", ctime(&t));
- ret = NetUserModalsGet (server, 0, (void *) &mi);
- if (! ret)
- {
- if (mi->usrmod0_max_passwd_age == TIMEQ_FOREVER)
- mi->usrmod0_max_passwd_age = 0;
- if (mi->usrmod0_min_passwd_age == TIMEQ_FOREVER)
- mi->usrmod0_min_passwd_age = 0;
- if (mi->usrmod0_force_logoff == TIMEQ_FOREVER)
- mi->usrmod0_force_logoff = 0;
- if (ui->usri3_priv == USER_PRIV_ADMIN)
- mi->usrmod0_min_passwd_len = 0;
- printf ("\nSystem password settings:\n");
- printf ("Max. password age %ld days\n",
- mi->usrmod0_max_passwd_age / ONE_DAY);
- printf ("Min. password age %ld days\n",
- mi->usrmod0_min_passwd_age / ONE_DAY);
- printf ("Force logout after %ld days\n",
- mi->usrmod0_force_logoff / ONE_DAY);
- printf ("Min. password length: %ld\n",
- mi->usrmod0_min_passwd_len);
- }
-}
-
-int
-SetModals (int xarg, int narg, int iarg, int Larg, LPCWSTR server)
-{
- int ret;
- PUSER_MODALS_INFO_0 mi;
-
- ret = NetUserModalsGet (server, 0, (void *) &mi);
- if (! ret)
- {
- if (xarg == 0)
- mi->usrmod0_max_passwd_age = TIMEQ_FOREVER;
- else if (xarg > 0)
- mi->usrmod0_max_passwd_age = xarg * ONE_DAY;
-
- if (narg == 0)
- {
- mi->usrmod0_min_passwd_age = TIMEQ_FOREVER;
- mi->usrmod0_password_hist_len = 0;
- }
- else if (narg > 0)
- mi->usrmod0_min_passwd_age = narg * ONE_DAY;
-
- if (iarg == 0)
- mi->usrmod0_force_logoff = TIMEQ_FOREVER;
- else if (iarg > 0)
- mi->usrmod0_force_logoff = iarg * ONE_DAY;
-
- if (Larg >= 0)
- mi->usrmod0_min_passwd_len = Larg;
-
- ret = NetUserModalsSet (server, 0, (LPBYTE) mi, NULL);
- NetApiBufferFree (mi);
- }
- return EvalRet (ret, NULL);
-}
-
-static void usage (FILE * stream, int status) __attribute__ ((noreturn));
-static void
-usage (FILE * stream, int status)
-{
- fprintf (stream, ""
- "Usage: %s [OPTION] [USER]\n"
- "Change USER's password or password attributes.\n"
- "\n"
- "User operations:\n"
- " -l, --lock lock USER's account.\n"
- " -u, --unlock unlock USER's account.\n"
- " -c, --cannot-change USER can't change password.\n"
- " -C, --can-change USER can change password.\n"
- " -e, --never-expires USER's password never expires.\n"
- " -E, --expires USER's password expires according to system's\n"
- " password aging rule.\n"
- " -p, --pwd-not-required no password required for USER.\n"
- " -P, --pwd-required password is required for USER.\n"
- "\n"
- "System operations:\n"
- " -i, --inactive NUM set NUM of days before inactive accounts are disabled\n"
- " (inactive accounts are those with expired passwords).\n"
- " -n, --minage DAYS set system minimum password age to DAYS days.\n"
- " -x, --maxage DAYS set system maximum password age to DAYS days.\n"
- " -L, --length LEN set system minimum password length to LEN.\n"
- "\n"
- "Other options:\n"
- " -d, --logonserver SERVER connect to SERVER (e.g. domain controller).\n"
- " default server is the content of $LOGONSERVER.\n"
- " -S, --status display password status for USER (locked, expired,\n"
- " etc.) plus global system password settings.\n"
- " -h, --help output usage information and exit.\n"
- " -v, --version output version information and exit.\n"
- "\n"
- "If no option is given, change USER's password. If no user name is given,\n"
- "operate on current user. System operations must not be mixed with user\n"
- "operations. Don't specify a USER when triggering a system operation. \n"
- "\n"
- "Report bugs to <cygwin@cygwin.com>\n", prog_name);
- exit (status);
-}
-
-static void
-print_version ()
-{
- const char *v = strchr (version, ':');
- int len;
- if (!v)
- {
- v = "?";
- len = 1;
- }
- else
- {
- v += 2;
- len = strchr (v, ' ') - v;
- }
- printf ("\
-%s (cygwin) %.*s\n\
-Password Utility\n\
-Copyright 1999, 2000, 2001, 2002, 2003 Red Hat, Inc.\n\
-Compiled on %s\n\
-", prog_name, len, v, __DATE__);
-}
-
-int
-main (int argc, char **argv)
-{
- char *c;
- char user[64], oldpwd[64], newpwd[64];
- int ret = 0;
- int cnt = 0;
- int opt, len;
- int Larg = -1;
- int xarg = -1;
- int narg = -1;
- int iarg = -1;
- int lopt = 0;
- int uopt = 0;
- int copt = 0;
- int Copt = 0;
- int eopt = 0;
- int Eopt = 0;
- int popt = 0;
- int Popt = 0;
- int Sopt = 0;
- PUSER_INFO_3 ui, li;
- LPWSTR server = NULL;
-
- prog_name = strrchr (argv[0], '/');
- if (prog_name == NULL)
- prog_name = strrchr (argv[0], '\\');
- if (prog_name == NULL)
- prog_name = argv[0];
- else
- prog_name++;
- c = strrchr (prog_name, '.');
- if (c)
- *c = '\0';
-
- while ((opt = getopt_long (argc, argv, opts, longopts, NULL)) != EOF)
- switch (opt)
- {
- case 'h':
- usage (stdout, 0);
- break;
-
- case 'i':
- if (lopt || uopt || copt || Copt || eopt || Eopt || popt || Popt || Sopt)
- usage (stderr, 1);
- if ((iarg = atoi (optarg)) < 0 || iarg > 999)
- return eprint (1, "Force logout time must be between 0 and 999.");
- break;
-
- case 'l':
- if (xarg >= 0 || narg >= 0 || iarg >= 0 || Larg >= 0 || uopt || Sopt)
- usage (stderr, 1);
- lopt = 1;
- break;
-
- case 'n':
- if (lopt || uopt || copt || Copt || eopt || Eopt || popt || Popt || Sopt)
- usage (stderr, 1);
- if ((narg = atoi (optarg)) < 0 || narg > 999)
- return eprint (1, "Minimum password age must be between 0 and 999.");
- if (xarg >= 0 && narg > xarg)
- return eprint (1, "Minimum password age must be less than "
- "maximum password age.");
- break;
-
- case 'u':
- if (xarg >= 0 || narg >= 0 || iarg >= 0 || Larg >= 0 || lopt || Sopt)
- usage (stderr, 1);
- uopt = 1;
- break;
-
- case 'c':
- if (xarg >= 0 || narg >= 0 || iarg >= 0 || Larg >= 0 || Sopt)
- usage (stderr, 1);
- copt = 1;
- break;
-
- case 'C':
- if (xarg >= 0 || narg >= 0 || iarg >= 0 || Larg >= 0 || Sopt)
- usage (stderr, 1);
- Copt = 1;
- break;
-
- case 'd':
- {
- char *tmpbuf = alloca (strlen (optarg) + 3);
- tmpbuf[0] = '\0';
- if (*optarg != '\\')
- strcpy (tmpbuf, "\\\\");
- strcat (tmpbuf, optarg);
- server = alloca ((strlen (tmpbuf) + 1) * sizeof (WCHAR));
- if (MultiByteToWideChar (CP_ACP, 0, tmpbuf, -1, server,
- strlen (tmpbuf) + 1) <= 0)
- server = NULL;
- }
- break;
-
- case 'e':
- if (xarg >= 0 || narg >= 0 || iarg >= 0 || Larg >= 0 || Sopt)
- usage (stderr, 1);
- eopt = 1;
- break;
-
- case 'E':
- if (xarg >= 0 || narg >= 0 || iarg >= 0 || Larg >= 0 || Sopt)
- usage (stderr, 1);
- Eopt = 1;
- break;
-
- case 'p':
- if (xarg >= 0 || narg >= 0 || iarg >= 0 || Larg >= 0 || Sopt)
- usage (stderr, 1);
- popt = 1;
- break;
-
- case 'P':
- if (xarg >= 0 || narg >= 0 || iarg >= 0 || Larg >= 0 || Sopt)
- usage (stderr, 1);
- Popt = 1;
- break;
-
- case 'v':
- print_version ();
- exit (0);
- break;
-
- case 'x':
- if (lopt || uopt || copt || Copt || eopt || Eopt || popt || Popt || Sopt)
- usage (stderr, 1);
- if ((xarg = atoi (optarg)) < 0 || xarg > 999)
- return eprint (1, "Maximum password age must be between 0 and 999.");
- if (narg >= 0 && xarg < narg)
- return eprint (1, "Maximum password age must be greater than "
- "minimum password age.");
- break;
-
- case 'L':
- if (lopt || uopt || copt || Copt || eopt || Eopt || popt || Popt || Sopt)
- usage (stderr, 1);
- if ((Larg = atoi (optarg)) < 0 || Larg > LM20_PWLEN)
- return eprint (1, "Minimum password length must be between "
- "0 and %d.", LM20_PWLEN);
- break;
-
- case 'S':
- if (xarg >= 0 || narg >= 0 || iarg >= 0 || Larg >= 0 || lopt || uopt
- || copt || Copt || eopt || Eopt || popt || Popt)
- usage (stderr, 1);
- Sopt = 1;
- break;
-
- default:
- usage (stderr, 1);
- }
-
- if (!server)
- {
- len = GetEnvironmentVariableW (L"LOGONSERVER", NULL, 0);
- if (len > 0)
- {
- server = alloca (len * sizeof (WCHAR));
- if (GetEnvironmentVariableW (L"LOGONSERVER", server, len) <= 0)
- server = NULL;
- }
- }
-
- if (Larg >= 0 || xarg >= 0 || narg >= 0 || iarg >= 0)
- {
- if (optind < argc)
- usage (stderr, 1);
- return SetModals (xarg, narg, iarg, Larg, server);
- }
-
- strcpy (user, optind >= argc ? getlogin () : argv[optind]);
-
- li = GetPW (getlogin (), 0, server);
- if (! li)
- return 1;
-
- ui = GetPW (user, 1, server);
- if (! ui)
- return 1;
-
- if (lopt || uopt || copt || Copt || eopt || Eopt || popt || Popt || Sopt)
- {
- USER_INFO_1008 uif;
-
- if (li->usri3_priv != USER_PRIV_ADMIN)
- return eprint (0, "You have no maintenance privileges.");
- uif.usri1008_flags = ui->usri3_flags;
- if (lopt)
- {
- if (ui->usri3_priv == USER_PRIV_ADMIN)
- return eprint (0, "Locking an admin account is disallowed.");
- uif.usri1008_flags |= UF_ACCOUNTDISABLE;
- }
- if (uopt)
- uif.usri1008_flags &= ~UF_ACCOUNTDISABLE;
- if (copt)
- uif.usri1008_flags |= UF_PASSWD_CANT_CHANGE;
- if (Copt)
- uif.usri1008_flags &= ~UF_PASSWD_CANT_CHANGE;
- if (eopt)
- uif.usri1008_flags |= UF_DONT_EXPIRE_PASSWD;
- if (Eopt)
- uif.usri1008_flags &= ~UF_DONT_EXPIRE_PASSWD;
- if (popt)
- uif.usri1008_flags |= UF_PASSWD_NOTREQD;
- if (Popt)
- uif.usri1008_flags &= ~UF_PASSWD_NOTREQD;
-
- if (lopt || uopt || copt || Copt || eopt || Eopt || popt || Popt)
- {
- ret = NetUserSetInfo (server, ui->usri3_name, 1008, (LPBYTE) &uif,
- NULL);
- return EvalRet (ret, NULL);
- }
- // Sopt
- PrintPW (ui, server);
- return 0;
- }
-
- if (li->usri3_priv != USER_PRIV_ADMIN && strcmp (getlogin (), user))
- return eprint (0, "You may not change the password for %s.", user);
-
- eprint (0, "Enter the new password (minimum of 5, maximum of 8 characters).");
- eprint (0, "Please use a combination of upper and lower case letters and numbers.");
-
- oldpwd[0] = '\0';
- if (li->usri3_priv != USER_PRIV_ADMIN)
- {
- strcpy (oldpwd, getpass ("Old password: "));
- if (ChangePW (user, oldpwd, oldpwd, 1, server))
- return 1;
- }
-
- do
- {
- strcpy (newpwd, getpass ("New password: "));
- if (strcmp (newpwd, getpass ("Re-enter new password: ")))
- eprint (0, "Password is not identical.");
- else if (! ChangePW (user, *oldpwd ? oldpwd : NULL, newpwd, 0, server))
- ret = 1;
- if (! ret && cnt < 2)
- eprint (0, "Try again.");
- }
- while (! ret && ++cnt < 3);
- return ! ret;
-}
diff --git a/winsup/utils/path.cc b/winsup/utils/path.cc
deleted file mode 100644
index 4e28522ae..000000000
--- a/winsup/utils/path.cc
+++ /dev/null
@@ -1,356 +0,0 @@
-/* path.cc
-
- Copyright 2001, 2002, 2003, 2005 Red Hat, Inc.
-
-This file is part of Cygwin.
-
-This software is a copyrighted work licensed under the terms of the
-Cygwin license. Please consult the file "CYGWIN_LICENSE" for
-details. */
-
-/* The purpose of this file is to hide all the details about accessing
- Cygwin's mount table. If the format or location of the mount table
- changes, this is the file to change to match it. */
-
-#define str(a) #a
-#define scat(a,b) str(a##b)
-#include <windows.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include "cygwin/include/cygwin/version.h"
-#include "cygwin/include/sys/mount.h"
-#include "cygwin/include/mntent.h"
-
-/* Used when treating / and \ as equivalent. */
-#define SLASH_P(ch) \
- ({ \
- char __c = (ch); \
- ((__c) == '/' || (__c) == '\\'); \
- })
-
-
-static struct mnt
- {
- const char *native;
- char *posix;
- unsigned flags;
- int issys;
- } mount_table[255];
-
-struct mnt *root_here = NULL;
-
-static char *
-find2 (HKEY rkey, unsigned *flags, char *what)
-{
- char *retval = 0;
- DWORD retvallen = 0;
- DWORD type;
- HKEY key;
-
- if (RegOpenKeyEx (rkey, what, 0, KEY_READ, &key) != ERROR_SUCCESS)
- return 0;
-
- if (RegQueryValueEx (key, "native", 0, &type, 0, &retvallen)
- == ERROR_SUCCESS)
- {
- retval = (char *) malloc (MAX_PATH + 1);
- if (RegQueryValueEx (key, "native", 0, &type, (BYTE *) retval, &retvallen)
- != ERROR_SUCCESS)
- {
- free (retval);
- retval = 0;
- }
- }
-
- retvallen = sizeof (flags);
- RegQueryValueEx (key, "flags", 0, &type, (BYTE *)flags, &retvallen);
-
- RegCloseKey (key);
-
- return retval;
-}
-
-static LONG
-get_cygdrive0 (HKEY key, const char *what, void *val, DWORD len)
-{
- LONG status = RegQueryValueEx (key, what, 0, 0, (BYTE *)val, &len);
- return status;
-}
-
-static mnt *
-get_cygdrive (HKEY key, mnt *m, int issystem)
-{
- if (get_cygdrive0 (key, CYGWIN_INFO_CYGDRIVE_FLAGS, &m->flags,
- sizeof (m->flags)) != ERROR_SUCCESS) {
- free (m->posix);
- return m;
- }
- get_cygdrive0 (key, CYGWIN_INFO_CYGDRIVE_PREFIX, m->posix, MAX_PATH);
- m->native = strdup (".");
- m->issys = issystem;
- return m + 1;
-}
-
-static void
-read_mounts ()
-{
- DWORD posix_path_size;
- int res;
- struct mnt *m = mount_table;
- DWORD disposition;
- char buf[10000];
-
- root_here = NULL;
- for (mnt *m1 = mount_table; m1->posix; m1++)
- {
- free (m1->posix);
- if (m1->native)
- free ((char *) m1->native);
- m1->posix = NULL;
- }
-
- /* Loop through subkeys */
- /* FIXME: we would like to not check MAX_MOUNTS but the heap in the
- shared area is currently statically allocated so we can't have an
- arbitrarily large number of mounts. */
- for (int issystem = 0; issystem <= 1; issystem++)
- {
- sprintf (buf, "Software\\%s\\%s\\%s",
- CYGWIN_INFO_CYGNUS_REGISTRY_NAME,
- CYGWIN_INFO_CYGWIN_REGISTRY_NAME,
- CYGWIN_INFO_CYGWIN_MOUNT_REGISTRY_NAME);
-
- HKEY key = issystem ? HKEY_LOCAL_MACHINE : HKEY_CURRENT_USER;
- if (RegCreateKeyEx (key, buf, 0, (LPTSTR) "Cygwin", 0, KEY_READ,
- 0, &key, &disposition) != ERROR_SUCCESS)
- break;
- for (int i = 0; ;i++, m++)
- {
- m->posix = (char *) malloc (MAX_PATH + 1);
- posix_path_size = MAX_PATH;
- /* FIXME: if maximum posix_path_size is 256, we're going to
- run into problems if we ever try to store a mount point that's
- over 256 but is under MAX_PATH. */
- res = RegEnumKeyEx (key, i, m->posix, &posix_path_size, NULL,
- NULL, NULL, NULL);
-
- if (res == ERROR_NO_MORE_ITEMS)
- {
- m = get_cygdrive (key, m, issystem);
- m->posix = NULL;
- break;
- }
-
- if (!*m->posix)
- goto no_go;
- else if (res != ERROR_SUCCESS)
- break;
- else
- {
- m->native = find2 (key, &m->flags, m->posix);
- m->issys = issystem;
- if (!m->native)
- goto no_go;
- }
- continue;
- no_go:
- free (m->posix);
- m->posix = NULL;
- m--;
- }
- RegCloseKey (key);
- }
-}
-
-/* Return non-zero if PATH1 is a prefix of PATH2.
- Both are assumed to be of the same path style and / vs \ usage.
- Neither may be "".
- LEN1 = strlen (PATH1). It's passed because often it's already known.
-
- Examples:
- /foo/ is a prefix of /foo <-- may seem odd, but desired
- /foo is a prefix of /foo/
- / is a prefix of /foo/bar
- / is not a prefix of foo/bar
- foo/ is a prefix foo/bar
- /foo is not a prefix of /foobar
-*/
-
-static int
-path_prefix_p (const char *path1, const char *path2, int len1)
-{
- /* Handle case where PATH1 has trailing '/' and when it doesn't. */
- if (len1 > 0 && SLASH_P (path1[len1 - 1]))
- len1--;
-
- if (len1 == 0)
- return SLASH_P (path2[0]) && !SLASH_P (path2[1]);
-
- if (strncasecmp (path1, path2, len1) != 0)
- return 0;
-
- return SLASH_P (path2[len1]) || path2[len1] == 0 || path1[len1 - 1] == ':';
-}
-
-static char *
-vconcat (const char *s, va_list v)
-{
- int len;
- char *rv, *arg;
- va_list save_v = v;
- int unc;
-
- if (!s)
- return 0;
-
- len = strlen (s);
-
- unc = SLASH_P (*s) && SLASH_P (s[1]);
-
- while (1)
- {
- arg = va_arg (v, char *);
- if (arg == 0)
- break;
- len += strlen (arg);
- }
- va_end (v);
-
- rv = (char *) malloc (len + 1);
- strcpy (rv, s);
- v = save_v;
- while (1)
- {
- arg = va_arg (v, char *);
- if (arg == 0)
- break;
- strcat (rv, arg);
- }
- va_end (v);
-
- char *d, *p;
- for (p = rv; *p; p++)
- if (*p == '\\')
- *p = '/';
-
- /* concat is only used for urls and files, so we can safely
- canonicalize the results */
- for (p = d = rv; *p; p++)
- {
- *d++ = *p;
- /* special case for URLs */
- if (*p == ':' && p[1] == '/' && p[2] == '/' && p > rv + 1)
- {
- *d++ = *++p;
- *d++ = *++p;
- }
- else if (*p == '/' || *p == '\\')
- {
- if (p == rv && unc)
- *d++ = *p++;
- while (p[1] == '/')
- p++;
- }
- }
- *d = 0;
-
- return rv;
-}
-
-static char *
-concat (const char *s, ...)
-{
- va_list v;
-
- va_start (v, s);
-
- return vconcat (s, v);
-}
-
-char *
-cygpath (const char *s, ...)
-{
- va_list v;
- int max_len = -1;
- struct mnt *m, *match = NULL;
-
- if (!mount_table[0].posix)
- read_mounts ();
- va_start (v, s);
- char *path = vconcat (s, v);
- if (strncmp (path, "./", 2) == 0)
- memmove (path, path + 2, strlen (path + 2) + 1);
- if (strncmp (path, "/./", 3) == 0)
- memmove (path + 1, path + 3, strlen (path + 3) + 1);
-
- for (m = mount_table; m->posix ; m++)
- {
- if (m->flags & MOUNT_CYGDRIVE)
- continue;
-
- int n = strlen (m->posix);
- if (n < max_len || !path_prefix_p (m->posix, path, n))
- continue;
- max_len = n;
- match = m;
- }
-
- char *native;
- if (match == NULL)
- native = strdup (path);
- else if (max_len == (int) strlen (path))
- native = strdup (match->native);
- else
- native = concat (match->native, "/", path + max_len, NULL);
- free (path);
-
- return native;
-}
-
-static mnt *m = NULL;
-
-extern "C" FILE *
-setmntent (const char *, const char *)
-{
- m = mount_table;
- if (!m->posix)
- read_mounts ();
- return NULL;
-}
-
-extern "C" struct mntent *
-getmntent (FILE *)
-{
- static mntent mnt;
- if (!m->posix)
- return NULL;
-
- mnt.mnt_fsname = (char *) m->native;
- mnt.mnt_dir = (char *) m->posix;
- if (!mnt.mnt_type)
- mnt.mnt_type = (char *) malloc (1024);
- if (!mnt.mnt_opts)
- mnt.mnt_opts = (char *) malloc (1024);
- if (!m->issys)
- strcpy (mnt.mnt_type, (char *) "user");
- else
- strcpy (mnt.mnt_type, (char *) "system");
- if (!(m->flags & MOUNT_BINARY))
- strcpy (mnt.mnt_opts, (char *) "textmode");
- else
- strcpy (mnt.mnt_opts, (char *) "binmode");
- if (m->flags & MOUNT_CYGWIN_EXEC)
- strcat (mnt.mnt_opts, (char *) ",cygexec");
- else if (m->flags & MOUNT_EXEC)
- strcat (mnt.mnt_opts, (char *) ",exec");
- else if (m->flags & MOUNT_NOTEXEC)
- strcat (mnt.mnt_opts, (char *) ",noexec");
- if (m->flags & MOUNT_ENC)
- strcat (mnt.mnt_opts, ",managed");
- if ((m->flags & MOUNT_CYGDRIVE)) /* cygdrive */
- strcat (mnt.mnt_opts, (char *) ",cygdrive");
- mnt.mnt_freq = 1;
- mnt.mnt_passno = 1;
- m++;
- return &mnt;
-}
diff --git a/winsup/utils/path.h b/winsup/utils/path.h
deleted file mode 100644
index bfc3c699e..000000000
--- a/winsup/utils/path.h
+++ /dev/null
@@ -1,11 +0,0 @@
-/* path.h
-
- Copyright 2001, 2002, 2003 Red Hat, Inc.
-
-This file is part of Cygwin.
-
-This software is a copyrighted work licensed under the terms of the
-Cygwin license. Please consult the file "CYGWIN_LICENSE" for
-details. */
-
-char *cygpath (const char *s, ...);
diff --git a/winsup/utils/ps.cc b/winsup/utils/ps.cc
deleted file mode 100644
index 12b60fd08..000000000
--- a/winsup/utils/ps.cc
+++ /dev/null
@@ -1,408 +0,0 @@
-/* ps.cc
-
- Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 Red Hat, Inc.
-
-This file is part of Cygwin.
-
-This software is a copyrighted work licensed under the terms of the
-Cygwin license. Please consult the file "CYGWIN_LICENSE" for
-details. */
-
-#include <stdio.h>
-#include <windows.h>
-#include <time.h>
-#include <getopt.h>
-#include <unistd.h>
-#include <stdlib.h>
-#include <pwd.h>
-#include <sys/cygwin.h>
-#include <tlhelp32.h>
-#include <psapi.h>
-
-static const char version[] = "$Revision$";
-static char *prog_name;
-
-static struct option longopts[] =
-{
- {"all", no_argument, NULL, 'a' },
- {"everyone", no_argument, NULL, 'e' },
- {"full", no_argument, NULL, 'f' },
- {"help", no_argument, NULL, 'h' },
- {"long", no_argument, NULL, 'l' },
- {"summary", no_argument, NULL, 's' },
- {"user", required_argument, NULL, 'u'},
- {"version", no_argument, NULL, 'v'},
- {"windows", no_argument, NULL, 'W'},
- {NULL, 0, NULL, 0}
-};
-
-static char opts[] = "aefhlsu:vW";
-
-typedef BOOL (WINAPI *ENUMPROCESSMODULES)(
- HANDLE hProcess, // handle to the process
- HMODULE * lphModule, // array to receive the module handles
- DWORD cb, // size of the array
- LPDWORD lpcbNeeded // receives the number of bytes returned
-);
-
-typedef DWORD (WINAPI *GETMODULEFILENAME)(
- HANDLE hProcess,
- HMODULE hModule,
- LPTSTR lpstrFileName,
- DWORD nSize
-);
-
-typedef HANDLE (WINAPI *CREATESNAPSHOT)(
- DWORD dwFlags,
- DWORD th32ProcessID
-);
-
-// Win95 functions
-typedef BOOL (WINAPI *PROCESSWALK)(
- HANDLE hSnapshot,
- LPPROCESSENTRY32 lppe
-);
-
-ENUMPROCESSMODULES myEnumProcessModules;
-GETMODULEFILENAME myGetModuleFileNameEx;
-CREATESNAPSHOT myCreateToolhelp32Snapshot;
-PROCESSWALK myProcess32First;
-PROCESSWALK myProcess32Next;
-
-static BOOL WINAPI dummyprocessmodules (
- HANDLE hProcess, // handle to the process
- HMODULE * lphModule, // array to receive the module handles
- DWORD cb, // size of the array
- LPDWORD lpcbNeeded // receives the number of bytes returned
-)
-{
- lphModule[0] = (HMODULE) *lpcbNeeded;
- *lpcbNeeded = 1;
- return 1;
-}
-
-static DWORD WINAPI GetModuleFileNameEx95 (
- HANDLE hProcess,
- HMODULE hModule,
- LPTSTR lpstrFileName,
- DWORD n
-)
-{
- HANDLE h;
- DWORD pid = (DWORD) hModule;
-
- h = myCreateToolhelp32Snapshot (TH32CS_SNAPPROCESS, 0);
- if (!h)
- return 0;
-
- PROCESSENTRY32 proc;
- proc.dwSize = sizeof (proc);
- if (myProcess32First(h, &proc))
- do
- if (proc.th32ProcessID == pid)
- {
- CloseHandle (h);
- strcpy (lpstrFileName, proc.szExeFile);
- return 1;
- }
- while (myProcess32Next (h, &proc));
- CloseHandle (h);
- return 0;
-}
-
-int
-init_win ()
-{
- OSVERSIONINFO os_version_info;
-
- memset (&os_version_info, 0, sizeof os_version_info);
- os_version_info.dwOSVersionInfoSize = sizeof (OSVERSIONINFO);
- GetVersionEx (&os_version_info);
-
- HMODULE h;
- if (os_version_info.dwPlatformId == VER_PLATFORM_WIN32_NT)
- {
- h = LoadLibrary ("psapi.dll");
- if (!h)
- return 0;
- myEnumProcessModules = (ENUMPROCESSMODULES) GetProcAddress (h, "EnumProcessModules");
- myGetModuleFileNameEx = (GETMODULEFILENAME) GetProcAddress (h, "GetModuleFileNameExA");
- if (!myEnumProcessModules || !myGetModuleFileNameEx)
- return 0;
- return 1;
- }
-
- h = GetModuleHandle("KERNEL32.DLL");
- myCreateToolhelp32Snapshot = (CREATESNAPSHOT)GetProcAddress (h, "CreateToolhelp32Snapshot");
- myProcess32First = (PROCESSWALK)GetProcAddress (h, "Process32First");
- myProcess32Next = (PROCESSWALK)GetProcAddress (h, "Process32Next");
- if (!myCreateToolhelp32Snapshot || !myProcess32First || !myProcess32Next)
- return 0;
-
- myEnumProcessModules = dummyprocessmodules;
- myGetModuleFileNameEx = GetModuleFileNameEx95;
- return 1;
-}
-
-static char *
-start_time (external_pinfo *child)
-{
- time_t st = child->start_time;
- time_t t = time (NULL);
- static char stime[40] = {'\0'};
- char now[40];
-
- strncpy (stime, ctime (&st) + 4, 15);
- strcpy (now, ctime (&t) + 4);
-
- if ((t - st) < (24 * 3600))
- return (stime + 7);
-
- stime[6] = '\0';
-
- return stime;
-}
-
-#define FACTOR (0x19db1ded53ea710LL)
-#define NSPERSEC 10000000LL
-
-/* Convert a Win32 time to "UNIX" format. */
-long __stdcall
-to_time_t (FILETIME *ptr)
-{
- /* A file time is the number of 100ns since jan 1 1601
- stuffed into two long words.
- A time_t is the number of seconds since jan 1 1970. */
-
- long rem;
- long long x = ((long long) ptr->dwHighDateTime << 32) + ((unsigned)ptr->dwLowDateTime);
- x -= FACTOR; /* number of 100ns between 1601 and 1970 */
- rem = x % ((long long)NSPERSEC);
- rem += (NSPERSEC / 2);
- x /= (long long) NSPERSEC; /* number of 100ns in a second */
- x += (long long) (rem / NSPERSEC);
- return x;
-}
-
-static const char *
-ttynam (int ntty)
-{
- static char buf[5];
- if (ntty < 0)
- return " ?";
- if (ntty == TTY_CONSOLE)
- return " con";
- sprintf (buf, "%4d", ntty);
- return buf;
-}
-
-static void
-usage (FILE * stream, int status)
-{
- fprintf (stream, "\
-Usage: %s [-aefls] [-u UID]\n\
-Report process status\n\
-\n\
- -a, --all show processes of all users\n\
- -e, --everyone show processes of all users\n\
- -f, --full show process uids, ppids\n\
- -h, --help output usage information and exit\n\
- -l, --long show process uids, ppids, pgids, winpids\n\
- -s, --summary show process summary\n\
- -u, --user list processes owned by UID\n\
- -v, --version output version information and exit\n\
- -W, --windows show windows as well as cygwin processes\n\
-With no options, %s outputs the long format by default\n",
- prog_name, prog_name);
- exit (status);
-}
-
-static void
-print_version ()
-{
- const char *v = strchr (version, ':');
- int len;
- if (!v)
- {
- v = "?";
- len = 1;
- }
- else
- {
- v += 2;
- len = strchr (v, ' ') - v;
- }
- printf ("\
-%s (cygwin) %.*s\n\
-Process Statistics\n\
-Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.\n\
-Compiled on %s\n\
-", prog_name, len, v, __DATE__);
-}
-
-int
-main (int argc, char *argv[])
-{
- external_pinfo *p;
- int aflag, lflag, fflag, sflag, uid;
- cygwin_getinfo_types query = CW_GETPINFO;
- const char *dtitle = " PID TTY STIME COMMAND\n";
- const char *dfmt = "%7d%4s%10s %s\n";
- const char *ftitle = " UID PID PPID TTY STIME COMMAND\n";
- const char *ffmt = "%8.8s%8d%8d%4s%10s %s\n";
- const char *ltitle = " PID PPID PGID WINPID TTY UID STIME COMMAND\n";
- const char *lfmt = "%c %7d %7d %7d %10u %4s %4u %8s %s\n";
- char ch;
-
- aflag = lflag = fflag = sflag = 0;
- uid = getuid ();
- lflag = 1;
-
- prog_name = strrchr (argv[0], '/');
- if (prog_name == NULL)
- prog_name = strrchr (argv[0], '\\');
- if (prog_name == NULL)
- prog_name = argv[0];
- else
- prog_name++;
-
- while ((ch = getopt_long (argc, argv, opts, longopts, NULL)) != EOF)
- switch (ch)
- {
- case 'a':
- case 'e':
- aflag = 1;
- break;
- case 'f':
- fflag = 1;
- break;
- case 'h':
- usage (stdout, 0);
- case 'l':
- lflag = 1;
- break;
- case 's':
- sflag = 1;
- break;
- case 'u':
- uid = atoi (optarg);
- if (uid == 0)
- {
- struct passwd *pw;
-
- if ((pw = getpwnam (optarg)))
- uid = pw->pw_uid;
- else
- {
- fprintf (stderr, "%s: user %s unknown\n", prog_name, optarg);
- exit (1);
- }
- }
- break;
- case 'v':
- print_version ();
- exit (0);
- break;
- case 'W':
- query = CW_GETPINFO_FULL;
- aflag = 1;
- break;
-
- default:
- usage (stderr, 1);
- }
-
- if (sflag)
- printf (dtitle);
- else if (fflag)
- printf (ftitle);
- else if (lflag)
- printf (ltitle);
-
- (void) cygwin_internal (CW_LOCK_PINFO, 1000);
-
- if (query == CW_GETPINFO_FULL && !init_win ())
- query = CW_GETPINFO;
-
- for (int pid = 0;
- (p = (external_pinfo *) cygwin_internal (query, pid | CW_NEXTPID));
- pid = p->pid)
- {
- if (!aflag)
- if (p->version >= EXTERNAL_PINFO_VERSION_32_BIT)
- {
- if (p->uid32 != (__uid32_t) uid)
- continue;
- }
- else if (p->uid != uid)
- continue;
- char status = ' ';
- if (p->process_state & PID_STOPPED)
- status = 'S';
- else if (p->process_state & PID_TTYIN)
- status = 'I';
- else if (p->process_state & PID_TTYOU)
- status = 'O';
-
- char pname[MAX_PATH];
- if (p->process_state & PID_EXITED || (p->exitcode & ~0xffff))
- strcpy (pname, "<defunct>");
- else if (p->ppid)
- {
- char *s;
- pname[0] = '\0';
- cygwin_conv_to_posix_path (p->progname, pname);
- s = strchr (pname, '\0') - 4;
- if (s > pname && strcasecmp (s, ".exe") == 0)
- *s = '\0';
- }
- else if (query == CW_GETPINFO_FULL)
- {
- HANDLE h = OpenProcess (PROCESS_QUERY_INFORMATION | PROCESS_VM_READ,
- FALSE, p->dwProcessId);
- if (!h)
- continue;
- HMODULE hm[1000];
- DWORD n = p->dwProcessId;
- if (!myEnumProcessModules (h, hm, sizeof (hm), &n))
- n = 0;
- if (!n || !myGetModuleFileNameEx (h, hm[0], pname, MAX_PATH))
- strcpy (pname, "*** unknown ***");
- FILETIME ct, et, kt, ut;
- if (GetProcessTimes (h, &ct, &et, &kt, &ut))
- p->start_time = to_time_t (&ct);
- CloseHandle (h);
- }
-
- char uname[128];
-
- if (fflag)
- {
- struct passwd *pw;
-
- if ((pw = getpwuid (p->version >= EXTERNAL_PINFO_VERSION_32_BIT ?
- p->uid32 : p->uid)))
- strcpy (uname, pw->pw_name);
- else
- sprintf (uname, "%u", (unsigned)
- (p->version >= EXTERNAL_PINFO_VERSION_32_BIT ?
- p->uid32 : p->uid));
- }
-
- if (sflag)
- printf (dfmt, p->pid, ttynam (p->ctty), start_time (p), pname);
- else if (fflag)
- printf (ffmt, uname, p->pid, p->ppid, ttynam (p->ctty), start_time (p),
- pname);
- else if (lflag)
- printf (lfmt, status, p->pid, p->ppid, p->pgid,
- p->dwProcessId, ttynam (p->ctty),
- p->version >= EXTERNAL_PINFO_VERSION_32_BIT ? p->uid32 : p->uid,
- start_time (p), pname);
-
- }
- (void) cygwin_internal (CW_UNLOCK_PINFO);
-
- return 0;
-}
-
diff --git a/winsup/utils/regtool.cc b/winsup/utils/regtool.cc
deleted file mode 100644
index daea35a22..000000000
--- a/winsup/utils/regtool.cc
+++ /dev/null
@@ -1,698 +0,0 @@
-/* regtool.cc
-
- Copyright 2000, 2001, 2002, 2003, 2004, 2005 Red Hat Inc.
-
-This file is part of Cygwin.
-
-This software is a copyrighted work licensed under the terms of the
-Cygwin license. Please consult the file "CYGWIN_LICENSE" for
-details. */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <ctype.h>
-#include <getopt.h>
-#include <windows.h>
-
-#define DEFAULT_KEY_SEPARATOR '\\'
-
-enum
-{
- KT_AUTO, KT_INT, KT_STRING, KT_EXPAND, KT_MULTI
-} key_type = KT_AUTO;
-
-char key_sep = DEFAULT_KEY_SEPARATOR;
-
-#define LIST_KEYS 0x01
-#define LIST_VALS 0x02
-#define LIST_ALL (LIST_KEYS | LIST_VALS)
-
-static const char version[] = "$Revision$";
-static char *prog_name;
-
-static struct option longopts[] =
-{
- {"expand-string", no_argument, NULL, 'e' },
- {"help", no_argument, NULL, 'h' },
- {"integer", no_argument, NULL, 'i' },
- {"keys", no_argument, NULL, 'k'},
- {"list", no_argument, NULL, 'l'},
- {"multi-string", no_argument, NULL, 'm'},
- {"postfix", no_argument, NULL, 'p'},
- {"quiet", no_argument, NULL, 'q'},
- {"string", no_argument, NULL, 's'},
- {"verbose", no_argument, NULL, 'v'},
- {"version", no_argument, NULL, 'V'},
- {"key-separator", required_argument, NULL, 'K'},
- {NULL, 0, NULL, 0}
-};
-
-static char opts[] = "ehiklmpqsvVK:";
-
-int listwhat = 0;
-int postfix = 0;
-int verbose = 0;
-int quiet = 0;
-char **argv;
-
-HKEY key;
-char *value;
-
-static void
-usage (FILE *where = stderr)
-{
- fprintf (where, ""
- "Usage: %s [OPTION] (add | check | get | list | remove | unset) KEY\n"
- "View or edit the Win32 registry\n"
- "\n"
- "", prog_name);
- if (where == stdout)
- fprintf (where, ""
- "Actions:\n"
- " add KEY\\SUBKEY add new SUBKEY\n"
- " check KEY exit 0 if KEY exists, 1 if not\n"
- " get KEY\\VALUE prints VALUE to stdout\n"
- " list KEY list SUBKEYs and VALUEs\n"
- " remove KEY remove KEY\n"
- " set KEY\\VALUE [data ...] set VALUE\n"
- " unset KEY\\VALUE removes VALUE from KEY\n"
- "\n");
- fprintf (where, ""
- "Options for 'list' Action:\n"
- " -k, --keys print only KEYs\n"
- " -l, --list print only VALUEs\n"
- " -p, --postfix like ls -p, appends '\\' postfix to KEY names\n"
- "\n"
- "Options for 'set' Action:\n"
- " -e, --expand-string set type to REG_EXPAND_SZ\n"
- " -i, --integer set type to REG_DWORD\n"
- " -m, --multi-string set type to REG_MULTI_SZ\n"
- " -s, --string set type to REG_SZ\n"
- "\n"
- "Options for 'set' and 'unset' Actions:\n"
- " -K<c>, --key-separator[=]<c> set key separator to <c> instead of '\\'\n"
- "\n"
- "Other Options:\n"
- " -h, --help output usage information and exit\n"
- " -q, --quiet no error output, just nonzero return if KEY/VALUE missing\n"
- " -v, --verbose verbose output, including VALUE contents when applicable\n"
- " -V, --version output version information and exit\n"
- "\n");
- if (where == stdout)
- {
- fprintf (where, ""
- "KEY is in the format [host]\\prefix\\KEY\\KEY\\VALUE, where host is optional\n"
- "remote host in either \\\\hostname or hostname: format and prefix is any of:\n"
- " root HKCR HKEY_CLASSES_ROOT (local only)\n"
- " config HKCC HKEY_CURRENT_CONFIG (local only)\n"
- " user HKCU HKEY_CURRENT_USER (local only)\n"
- " machine HKLM HKEY_LOCAL_MACHINE\n"
- " users HKU HKEY_USERS\n"
- "\n"
- "If the keyname starts with a forward slash ('/'), the forward slash is used\n"
- "as separator and the backslash can be used as escape character.\n");
- fprintf (where, ""
- "Example:\n"
- "%s list '/machine/SOFTWARE/Classes/MIME/Database/Content Type/audio\\/wav'\n", prog_name);
- }
- if (where == stderr)
- fprintf (where, "Try '%s --help' for more information.\n", prog_name);
- exit (where == stderr ? 1 : 0);
-}
-
-static void
-print_version ()
-{
- const char *v = strchr (version, ':');
- int len;
- if (!v)
- {
- v = "?";
- len = 1;
- }
- else
- {
- v += 2;
- len = strchr (v, ' ') - v;
- }
- printf ("\
-%s (cygwin) %.*s\n\
-Registry Tool\n\
-Copyright 2000, 2001, 2002, 2003, 2004, 2005 Red Hat, Inc.\n\
-Compiled on %s\n\
-", prog_name, len, v, __DATE__);
-}
-
-void
-Fail (DWORD rv)
-{
- char *buf;
- if (!quiet)
- {
- FormatMessage (FORMAT_MESSAGE_ALLOCATE_BUFFER
- | FORMAT_MESSAGE_FROM_SYSTEM,
- 0, rv, 0, (CHAR *) & buf, 0, 0);
- fprintf (stderr, "Error (%ld): %s\n", rv, buf);
- LocalFree (buf);
- }
- exit (1);
-}
-
-struct
-{
- const char *string;
- HKEY key;
-} wkprefixes[] =
-{
- {"root", HKEY_CLASSES_ROOT},
- {"HKCR", HKEY_CLASSES_ROOT},
- {"HKEY_CLASSES_ROOT", HKEY_CLASSES_ROOT},
- {"config", HKEY_CURRENT_CONFIG},
- {"HKCC", HKEY_CURRENT_CONFIG},
- {"HKEY_CURRENT_CONFIG", HKEY_CURRENT_CONFIG},
- {"user", HKEY_CURRENT_USER},
- {"HKCU", HKEY_CURRENT_USER},
- {"HKEY_CURRENT_USER", HKEY_CURRENT_USER},
- {"machine", HKEY_LOCAL_MACHINE},
- {"HKLM", HKEY_LOCAL_MACHINE},
- {"HKEY_LOCAL_MACHINE", HKEY_LOCAL_MACHINE},
- {"users", HKEY_USERS},
- {"HKU", HKEY_USERS},
- {"HKEY_USERS", HKEY_USERS},
- {0, 0}
-};
-
-void
-translate (char *key)
-{
-#define isodigit(c) (strchr("01234567", c))
-#define tooct(c) ((c)-'0')
-#define tohex(c) (strchr(_hs,tolower(c))-_hs)
- static char _hs[] = "0123456789abcdef";
-
- char *d = key;
- char *s = key;
- char c;
-
- while (*s)
- {
- if (*s == '\\')
- switch (*++s)
- {
- case 'a':
- *d++ = '\007';
- break;
- case 'b':
- *d++ = '\b';
- break;
- case 'e':
- *d++ = '\033';
- break;
- case 'f':
- *d++ = '\f';
- break;
- case 'n':
- *d++ = '\n';
- break;
- case 'r':
- *d++ = '\r';
- break;
- case 't':
- *d++ = '\t';
- break;
- case 'v':
- *d++ = '\v';
- break;
- case '0':
- case '1':
- case '2':
- case '3':
- case '4':
- case '5':
- case '6':
- case '7':
- c = tooct (*s);
- if (isodigit (s[1]))
- {
- c = (c << 3) | tooct (*++s);
- if (isodigit (s[1]))
- c = (c << 3) | tooct (*++s);
- }
- *d++ = c;
- break;
- case 'x':
- if (!isxdigit (s[1]))
- c = '0';
- else
- {
- c = tohex (*++s);
- if (isxdigit (s[1]))
- c = (c << 4) | tohex (*++s);
- }
- *d++ = c;
- break;
- default: /* before non-special char: just add the char */
- *d++ = *s;
- break;
- }
- else if (*s == '/')
- *d++ = '\\';
- else
- *d++ = *s;
- ++s;
- }
- *d = '\0';
-}
-
-void
-find_key (int howmanyparts, REGSAM access)
-{
- HKEY base;
- int rv;
- char *n = argv[0], *e, *h, c;
- char* host = NULL;
- int i;
- if (*n == '/')
- translate (n);
- if (*n != '\\')
- {
- /* expect host:/key/value format */
- host = (char*) malloc (strlen (n) + 1);
- host[0] = host [1] = '\\';
- for (e = n, h = host + 2; *e && *e != ':'; e++, h++)
- *h = *e;
- *h = 0;
- n = e + 1;
- if (*n == '/')
- translate (n);
- }
- else if (n[0] == '\\' && n[1] == '\\')
- {
- /* expect //host/key/value format */
- host = (char*) malloc (strlen (n) + 1);
- host[0] = host[1] = '\\';
- for (e = n + 2, h = host + 2; *e && *e != '\\'; e++, h++)
- *h = *e;
- *h = 0;
- n = e;
- }
- while (*n != '\\')
- n++;
- *n++ = 0;
- for (e = n; *e && *e != '\\'; e++);
- c = *e;
- *e = 0;
- for (i = 0; wkprefixes[i].string; i++)
- if (strcmp (wkprefixes[i].string, n) == 0)
- break;
- if (!wkprefixes[i].string)
- {
- fprintf (stderr, "Unknown key prefix. Valid prefixes are:\n");
- for (i = 0; wkprefixes[i].string; i++)
- fprintf (stderr, "\t%s\n", wkprefixes[i].string);
- exit (1);
- }
-
- n = e;
- *e = c;
- while (*n && *n == '\\')
- n++;
- e = n + strlen (n);
- if (howmanyparts > 1)
- {
- while (n < e && *e != key_sep)
- e--;
- if (*e != key_sep)
- {
- key = wkprefixes[i].key;
- value = n;
- return;
- }
- else
- {
- *e = 0;
- value = e + 1;
- }
- }
- if (host)
- {
- rv = RegConnectRegistry (host, wkprefixes[i].key, &base);
- if (rv != ERROR_SUCCESS)
- Fail (rv);
- free (host);
- }
- else
- base = wkprefixes[i].key;
-
- if (n[0] == 0)
- key = base;
- else
- {
- rv = RegOpenKeyEx (base, n, 0, access, &key);
- if (rv != ERROR_SUCCESS)
- Fail (rv);
- }
- //printf("key `%s' value `%s'\n", n, value);
-}
-
-
-int
-cmd_list ()
-{
- DWORD num_subkeys, maxsubkeylen, num_values, maxvalnamelen, maxvaluelen;
- DWORD maxclasslen;
- char *subkey_name, *value_name, *class_name;
- unsigned char *value_data, *vd;
- DWORD i, j, m, n, t;
- int v;
-
- find_key (1, KEY_READ);
- RegQueryInfoKey (key, 0, 0, 0, &num_subkeys, &maxsubkeylen, &maxclasslen,
- &num_values, &maxvalnamelen, &maxvaluelen, 0, 0);
-
- subkey_name = (char *) malloc (maxsubkeylen + 1);
- class_name = (char *) malloc (maxclasslen + 1);
- value_name = (char *) malloc (maxvalnamelen + 1);
- value_data = (unsigned char *) malloc (maxvaluelen + 1);
-
- if (!listwhat)
- listwhat = LIST_ALL;
-
- if (listwhat & LIST_KEYS)
- for (i = 0; i < num_subkeys; i++)
- {
- m = maxsubkeylen + 1;
- n = maxclasslen + 1;
- RegEnumKeyEx (key, i, subkey_name, &m, 0, class_name, &n, 0);
- printf ("%s%s", subkey_name, (postfix || verbose) ? "\\" : "");
-
- if (verbose)
- printf (" (%s)", class_name);
-
- puts ("");
- }
-
- if (listwhat & LIST_VALS)
- for (i = 0; i < num_values; i++)
- {
- m = maxvalnamelen + 1;
- n = maxvaluelen + 1;
- RegEnumValue (key, i, value_name, &m, 0, &t, (BYTE *) value_data, &n);
- value_data[n] = 0;
- if (!verbose)
- printf ("%s\n", value_name);
- else
- {
- printf ("%s = ", value_name);
- switch (t)
- {
- case REG_BINARY:
- for (j = 0; j < 8 && j < n; j++)
- printf ("%02x ", value_data[j]);
- printf ("\n");
- break;
- case REG_DWORD:
- printf ("0x%08lx (%lu)\n", *(DWORD *) value_data,
- *(DWORD *) value_data);
- break;
- case REG_DWORD_BIG_ENDIAN:
- v = ((value_data[0] << 24)
- | (value_data[1] << 16)
- | (value_data[2] << 8) | (value_data[3]));
- printf ("0x%08x (%d)\n", v, v);
- break;
- case REG_EXPAND_SZ:
- case REG_SZ:
- printf ("\"%s\"\n", value_data);
- break;
- case REG_MULTI_SZ:
- vd = value_data;
- while (vd && *vd)
- {
- printf ("\"%s\"", vd);
- vd = vd + strlen ((const char *) vd) + 1;
- if (*vd)
- printf (", ");
- }
- printf ("\n");
- break;
- default:
- printf ("? (type %d)\n", (int) t);
- }
- }
- }
- return 0;
-}
-
-int
-cmd_add ()
-{
- find_key (2, KEY_ALL_ACCESS);
- HKEY newkey;
- DWORD newtype;
- int rv = RegCreateKeyEx (key, value, 0, (char *) "", REG_OPTION_NON_VOLATILE,
- KEY_ALL_ACCESS, 0, &newkey, &newtype);
- if (rv != ERROR_SUCCESS)
- Fail (rv);
-
- if (verbose)
- {
- if (newtype == REG_OPENED_EXISTING_KEY)
- printf ("Key %s already exists\n", value);
- else
- printf ("Key %s created\n", value);
- }
- return 0;
-}
-
-int
-cmd_remove ()
-{
- find_key (2, KEY_ALL_ACCESS);
- DWORD rv = RegDeleteKey (key, value);
- if (rv != ERROR_SUCCESS)
- Fail (rv);
- if (verbose)
- printf ("subkey %s deleted\n", value);
- return 0;
-}
-
-int
-cmd_check ()
-{
- find_key (1, KEY_READ);
- if (verbose)
- printf ("key %s exists\n", argv[0]);
- return 0;
-}
-
-int
-cmd_set ()
-{
- int i, n;
- DWORD v, rv;
- char *a = argv[1], *data;
- find_key (2, KEY_ALL_ACCESS);
-
- if (key_type == KT_AUTO)
- {
- char *e;
- strtoul (a, &e, 0);
- if (a[0] == '%')
- key_type = KT_EXPAND;
- else if (a[0] && !*e)
- key_type = KT_INT;
- else if (argv[2])
- key_type = KT_MULTI;
- else
- key_type = KT_STRING;
- }
-
- switch (key_type)
- {
- case KT_INT:
- v = strtoul (a, 0, 0);
- rv = RegSetValueEx (key, value, 0, REG_DWORD, (const BYTE *) &v,
- sizeof (v));
- break;
- case KT_STRING:
- rv = RegSetValueEx (key, value, 0, REG_SZ, (const BYTE *) a, strlen (a) + 1);
- break;
- case KT_EXPAND:
- rv = RegSetValueEx (key, value, 0, REG_EXPAND_SZ, (const BYTE *) a,
- strlen (a) + 1);
- break;
- case KT_MULTI:
- for (i = 1, n = 1; argv[i]; i++)
- n += strlen (argv[i]) + 1;
- data = (char *) malloc (n);
- for (i = 1, n = 0; argv[i]; i++)
- {
- strcpy (data + n, argv[i]);
- n += strlen (argv[i]) + 1;
- }
- data[n] = 0;
- rv = RegSetValueEx (key, value, 0, REG_MULTI_SZ, (const BYTE *) data,
- n + 1);
- break;
- case KT_AUTO:
- rv = ERROR_SUCCESS;
- break;
- default:
- rv = ERROR_INVALID_CATEGORY;
- break;
- }
-
- if (rv != ERROR_SUCCESS)
- Fail (rv);
-
- return 0;
-}
-
-int
-cmd_unset ()
-{
- find_key (2, KEY_ALL_ACCESS);
- DWORD rv = RegDeleteValue (key, value);
- if (rv != ERROR_SUCCESS)
- Fail (rv);
- if (verbose)
- printf ("value %s deleted\n", value);
- return 0;
-}
-
-int
-cmd_get ()
-{
- find_key (2, KEY_READ);
- DWORD vtype, dsize, rv;
- char *data, *vd;
- rv = RegQueryValueEx (key, value, 0, &vtype, 0, &dsize);
- if (rv != ERROR_SUCCESS)
- Fail (rv);
- data = (char *) malloc (dsize + 1);
- rv = RegQueryValueEx (key, value, 0, &vtype, (BYTE *) data, &dsize);
- if (rv != ERROR_SUCCESS)
- Fail (rv);
- switch (vtype)
- {
- case REG_BINARY:
- fwrite (data, dsize, 1, stdout);
- break;
- case REG_DWORD:
- printf ("%lu\n", *(DWORD *) data);
- break;
- case REG_SZ:
- printf ("%s\n", data);
- break;
- case REG_EXPAND_SZ:
- if (key_type == KT_EXPAND) // hack
- {
- char *buf;
- DWORD bufsize;
- bufsize = ExpandEnvironmentStrings (data, 0, 0);
- buf = (char *) malloc (bufsize + 1);
- ExpandEnvironmentStrings (data, buf, bufsize + 1);
- free (data);
- data = buf;
- }
- printf ("%s\n", data);
- break;
- case REG_MULTI_SZ:
- vd = data;
- while (vd && *vd)
- {
- printf ("%s\n", vd);
- vd = vd + strlen ((const char *) vd) + 1;
- }
- break;
- }
- return 0;
-}
-
-struct
-{
- const char *name;
- int (*func) ();
-} commands[] =
-{
- {"list", cmd_list},
- {"add", cmd_add},
- {"remove", cmd_remove},
- {"check", cmd_check},
- {"set", cmd_set},
- {"unset", cmd_unset},
- {"get", cmd_get},
- {0, 0}
-};
-
-int
-main (int argc, char **_argv)
-{
- int g;
-
- prog_name = strrchr (_argv[0], '/');
- if (prog_name == NULL)
- prog_name = strrchr (_argv[0], '\\');
- if (prog_name == NULL)
- prog_name = _argv[0];
- else
- prog_name++;
-
- while ((g = getopt_long (argc, _argv, opts, longopts, NULL)) != EOF)
- switch (g)
- {
- case 'e':
- key_type = KT_EXPAND;
- break;
- case 'k':
- listwhat |= LIST_KEYS;
- break;
- case 'h':
- usage (stdout);
- case 'i':
- key_type = KT_INT;
- break;
- case 'l':
- listwhat |= LIST_VALS;
- break;
- case 'm':
- key_type = KT_MULTI;
- break;
- case 'p':
- postfix++;
- break;
- case 'q':
- quiet++;
- break;
- case 's':
- key_type = KT_STRING;
- break;
- case 'v':
- verbose++;
- break;
- case 'V':
- print_version ();
- exit (0);
- case 'K':
- key_sep = *optarg;
- break;
- default :
- usage ();
- }
-
- if ((_argv[optind] == NULL) || (_argv[optind+1] == NULL))
- usage ();
-
- argv = _argv + optind;
- int i;
- for (i = 0; commands[i].name; i++)
- if (strcmp (commands[i].name, argv[0]) == 0)
- {
- argv++;
- return commands[i].func ();
- }
- usage ();
-
- return 0;
-}
diff --git a/winsup/utils/setfacl.c b/winsup/utils/setfacl.c
deleted file mode 100644
index 996b5ec7f..000000000
--- a/winsup/utils/setfacl.c
+++ /dev/null
@@ -1,566 +0,0 @@
-/* setfacl.c
-
- Copyright 2000, 2001, 2002, 2003 Red Hat Inc.
-
- Written by Corinna Vinschen <vinschen@redhat.com>
-
-This file is part of Cygwin.
-
-This software is a copyrighted work licensed under the terms of the
-Cygwin license. Please consult the file "CYGWIN_LICENSE" for
-details. */
-
-#include <stdio.h>
-#include <ctype.h>
-#include <string.h>
-#include <stdlib.h>
-#include <unistd.h>
-#include <getopt.h>
-#include <pwd.h>
-#include <grp.h>
-#include <sys/types.h>
-#include <sys/acl.h>
-
-#ifndef BOOL
-#define BOOL int
-#endif
-
-#ifndef TRUE
-#define TRUE (1)
-#endif
-
-#ifndef FALSE
-#define FALSE (0)
-#endif
-
-#ifndef ILLEGAL_MODE
-#define ILLEGAL_MODE ((mode_t)0xffffffff)
-#endif
-
-static const char version[] = "$Revision$";
-static char *prog_name;
-
-typedef enum {
- NoAction,
- Set,
- Modify,
- Delete,
- ModNDel,
- SetFromFile
-} action_t;
-
-mode_t getperm (char *in)
-{
- if (isdigit (*in) && !in[1])
- {
- int i = atoi (in);
- if (i < 0 || i > 7)
- return ILLEGAL_MODE;
- return i << 6 | i << 3 | i;
- }
- if (strlen (in) > 3 && strchr (" \t\n\r#", in[3]))
- in[3] = '\0';
- if (strlen (in) != 3)
- return ILLEGAL_MODE;
- if (!strchr ("r-", in[0])
- || !strchr ("w-", in[1])
- || !strchr ("x-", in[2]))
- return ILLEGAL_MODE;
- return (in[0] == 'r' ? S_IROTH : 0)
- | (in[1] == 'w' ? S_IWOTH : 0)
- | (in[2] == 'x' ? S_IXOTH : 0);
-}
-
-BOOL
-getaclentry (action_t action, char *c, aclent_t *ace)
-{
- char *c2;
-
- ace->a_type = 0;
- ace->a_id = -1;
- ace->a_perm = 0;
-
- if (!strncmp (c, "default:", 8)
- || !strncmp (c, "d:", 2))
- {
- ace->a_type = ACL_DEFAULT;
- c = strchr (c, ':') + 1;
- }
- if (!strncmp (c, "user:", 5)
- || !strncmp (c, "u:", 2))
- {
- ace->a_type |= USER_OBJ;
- c = strchr (c, ':') + 1;
- }
- else if (!strncmp (c, "group:", 6)
- || !strncmp (c, "g:", 2))
- {
- ace->a_type |= GROUP_OBJ;
- c = strchr (c, ':') + 1;
- }
- else if (!strncmp (c, "mask:", 5)
- || !strncmp (c, "m:", 2))
- {
- ace->a_type |= CLASS_OBJ;
- c = strchr (c, ':') + 1;
- }
- else if (!strncmp (c, "other:", 6)
- || !strncmp (c, "o:", 2))
- {
- ace->a_type |= OTHER_OBJ;
- c = strchr (c, ':') + 1;
- }
- else
- return FALSE;
- if (ace->a_type & (USER_OBJ | GROUP_OBJ))
- {
- if ((c2 = strchr (c, ':')))
- {
- if (action == Delete)
- return FALSE;
- *c2 = '\0';
- }
- else if (action != Delete)
- return FALSE;
- if (c2 == c)
- {
- if (action == Delete)
- return FALSE;
- }
- else if (isdigit (*c))
- {
- char *c3;
-
- ace->a_id = strtol (c, &c3, 10);
- if (*c3)
- return FALSE;
- }
- else if (ace->a_type & USER_OBJ)
- {
- struct passwd *pw = getpwnam (c);
- if (!pw)
- return FALSE;
- ace->a_id = pw->pw_uid;
- }
- else
- {
- struct group *gr = getgrnam (c);
- if (!gr)
- return FALSE;
- ace->a_id = gr->gr_gid;
- }
- if (c2 != c)
- {
- if (ace->a_type & USER_OBJ)
- {
- ace->a_type &= ~USER_OBJ;
- ace->a_type |= USER;
- }
- else
- {
- ace->a_type &= ~GROUP_OBJ;
- ace->a_type |= GROUP;
- }
- }
- if (c2)
- c = c2 + 1;
- }
- /* FIXME: currently allow both :: and : */
- else if (*c == ':')
- c++;
- if (action == Delete)
- {
- if ((ace->a_type & (CLASS_OBJ | OTHER_OBJ))
- && *c)
- return FALSE;
- ace->a_perm = ILLEGAL_MODE;
- return TRUE;
- }
- if ((ace->a_perm = getperm (c)) == ILLEGAL_MODE)
- return FALSE;
- return TRUE;
-}
-
-BOOL
-getaclentries (action_t action, char *buf, aclent_t *acls, int *idx)
-{
- char *c;
-
- if (action == SetFromFile)
- {
- FILE *fp;
- char fbuf[256], *fb;
-
- if (!strcmp (buf, "-"))
- fp = stdin;
- else if (! (fp = fopen (buf, "r")))
- return FALSE;
- while ((fb = fgets (fbuf, 256, fp)))
- {
- while (strchr (" \t", *fb))
- ++fb;
- if (strchr ("\n\r#", *fb))
- continue;
- if (!getaclentry (action, fb, acls + (*idx)++))
- {
- fclose (fp);
- return FALSE;
- }
- }
- if (fp != stdin)
- fclose (fp);
- }
- else
- for (c = strtok (buf, ","); c; c = strtok (NULL, ","))
- if (!getaclentry (action, c, acls + (*idx)++))
- return FALSE;
- return TRUE;
-}
-
-int
-searchace (aclent_t *aclp, int nentries, int type, int id)
-{
- int i;
-
- for (i = 0; i < nentries; ++i)
- if ((aclp[i].a_type == type && (id < 0 || aclp[i].a_id == id))
- || !aclp[i].a_type)
- return i;
- return -1;
-}
-
-int
-modacl (aclent_t *tgt, int tcnt, aclent_t *src, int scnt)
-{
- int t, s, i;
-
- for (s = 0; s < scnt; ++s)
- {
- t = searchace (tgt, MAX_ACL_ENTRIES, src[s].a_type,
- (src[s].a_type & (USER | GROUP)) ? src[s].a_id : -1);
- if (t < 0)
- return -1;
- if (src[s].a_perm == ILLEGAL_MODE)
- {
- if (t < tcnt)
- {
- for (i = t + 1; i < tcnt; ++i)
- tgt[i - 1] = tgt[i];
- --tcnt;
- }
- }
- else
- {
- tgt[t] = src[s];
- if (t >= tcnt)
- ++tcnt;
- }
- }
- return tcnt;
-}
-
-void
-setfacl (action_t action, char *path, aclent_t *acls, int cnt)
-{
- aclent_t lacl[MAX_ACL_ENTRIES];
- int lcnt;
-
- memset (lacl, 0, sizeof lacl);
- if (action == Set)
- {
- if (acl (path, SETACL, cnt, acls))
- perror (prog_name);
- return;
- }
- if ((lcnt = acl (path, GETACL, MAX_ACL_ENTRIES, lacl)) < 0
- || (lcnt = modacl (lacl, lcnt, acls, cnt)) < 0
- || (lcnt = acl (path, SETACL, lcnt, lacl)) < 0)
- perror (prog_name);
-}
-
-static void
-usage (FILE * stream)
-{
- fprintf (stream, ""
- "Usage: %s [-r] (-f ACL_FILE | -s acl_entries) FILE...\n"
- " %s [-r] ([-d acl_entries] [-m acl_entries]) FILE...\n"
- "Modify file and directory access control lists (ACLs)\n"
- "\n"
- " -d, --delete delete one or more specified ACL entries\n"
- " -f, --file set ACL entries for FILE to ACL entries read\n"
- " from a ACL_FILE\n"
- " -m, --modify modify one or more specified ACL entries\n"
- " -r, --replace replace mask entry with maximum permissions\n"
- " needed for the file group class\n"
- " -s, --substitute substitute specified ACL entries for the\n"
- " ACL of FILE\n"
- " -h, --help output usage information and exit\n"
- " -v, --version output version information and exit\n"
- "\n"
- "At least one of (-d, -f, -m, -s) must be specified\n"
- "\n"
- "", prog_name, prog_name);
- if (stream == stdout)
- {
- printf(""
- " Acl_entries are one or more comma-separated ACL entries \n"
- " from the following list:\n"
- "\n"
- " u[ser]::perm\n"
- " u[ser]:uid:perm\n"
- " g[roup]::perm\n"
- " g[roup]:gid:perm\n"
- " m[ask]:perm\n"
- " o[ther]:perm\n"
- "\n"
- " Default entries are like the above with the additional\n"
- " default identifier. For example: \n"
- "\n"
- " d[efault]:u[ser]:uid:perm\n"
- "\n"
- " `perm' is either a 3-char permissions string in the form\n"
- " \"rwx\" with the character - for no permission\n"
- " or it is the octal representation of the permissions, a\n"
- " value from 0 (equivalent to \"---\") to 7 (\"rwx\").\n"
- " `uid' is a user name or a numerical uid.\n"
- " `gid' is a group name or a numerical gid.\n"
- "\n"
- "\n"
- "For each file given as parameter, %s will either replace its\n"
- "complete ACL (-s, -f), or it will add, modify, or delete ACL\n"
- "entries.\n"
- "\n"
- "The following options are supported:\n"
- "\n"
- "-d Delete one or more specified entries from the file's ACL.\n"
- " The owner, group and others entries must not be deleted.\n"
- " Acl_entries to be deleted should be specified without\n"
- " permissions, as in the following list:\n"
- "\n"
- " u[ser]:uid\n"
- " g[roup]:gid\n"
- " d[efault]:u[ser]:uid\n"
- " d[efault]:g[roup]:gid\n"
- " d[efault]:m[ask]:\n"
- " d[efault]:o[ther]:\n"
- "\n"
- "-f Take the Acl_entries from ACL_FILE one per line. Whitespace\n"
- " characters are ignored, and the character \"#\" may be used\n"
- " to start a comment. The special filename \"-\" indicates\n"
- " reading from stdin.\n"
- " Required entries are\n"
- " - One user entry for the owner of the file.\n"
- " - One group entry for the group of the file.\n"
- " - One other entry.\n"
- " If additional user and group entries are given:\n"
- " - A mask entry for the file group class of the file.\n"
- " - No duplicate user or group entries with the same uid/gid.\n"
- " If it is a directory:\n"
- " - One default user entry for the owner of the file.\n"
- " - One default group entry for the group of the file.\n"
- " - One default mask entry for the file group class.\n"
- " - One default other entry.\n"
- "\n"
- "-m Add or modify one or more specified ACL entries.\n"
- " Acl_entries is a comma-separated list of entries from the \n"
- " same list as above.\n"
- "\n"
- "-r Causes the permissions specified in the mask entry to be\n"
- " ignored and replaced by the maximum permissions needed for\n"
- " the file group class.\n"
- "\n"
- "-s Like -f, but substitute the file's ACL with Acl_entries\n"
- " specified in a comma-separated list on the command line.\n"
- "\n"
- "While the -d and -m options may be used in the same command, the\n"
- "-f and -s options may be used only exclusively.\n"
- "\n"
- "Directories may contain default ACL entries. Files created\n"
- "in a directory that contains default ACL entries will have\n"
- "permissions according to the combination of the current umask,\n"
- "the explicit permissions requested and the default ACL entries\n"
- "Note: Under Cygwin, the default ACL entries are not taken into\n"
- "account currently.\n", prog_name);
- }
- else
- fprintf(stream, "Try `%s --help' for more information.\n", prog_name);
-}
-
-struct option longopts[] = {
- {"delete", required_argument, NULL, 'd'},
- {"file", required_argument, NULL, 'f'},
- {"modify", required_argument, NULL, 'm'},
- {"replace", no_argument, NULL, 'r'},
- {"substitute", required_argument, NULL, 's'},
- {"help", no_argument, NULL, 'h'},
- {"version", no_argument, NULL, 'v'},
- {0, no_argument, NULL, 0}
-};
-
-static void
-print_version ()
-{
- const char *v = strchr (version, ':');
- int len;
- if (!v)
- {
- v = "?";
- len = 1;
- }
- else
- {
- v += 2;
- len = strchr (v, ' ') - v;
- }
- printf ("\
-setfacl (cygwin) %.*s\n\
-ACL Modification Utility\n\
-Copyright 2000, 2001, 2002 Red Hat, Inc.\n\
-Compiled on %s\n\
-", len, v, __DATE__);
-}
-
-int
-main (int argc, char **argv)
-{
- int c;
- action_t action = NoAction;
- int ropt = 0;
- aclent_t acls[MAX_ACL_ENTRIES];
- int aclidx = 0;
-
- prog_name = strrchr (argv[0], '/');
- if (prog_name == NULL)
- prog_name = strrchr (argv[0], '\\');
- if (prog_name == NULL)
- prog_name = argv[0];
- else
- prog_name++;
-
- memset (acls, 0, sizeof acls);
- while ((c = getopt_long (argc, argv, "d:f:hm:rs:v", longopts, NULL)) != EOF)
- switch (c)
- {
- case 'd':
- if (action == NoAction)
- action = Delete;
- else if (action == Modify)
- action = ModNDel;
- else
- {
- usage (stderr);
- return 1;
- }
- if (! getaclentries (Delete, optarg, acls, &aclidx))
- {
- fprintf (stderr, "%s: illegal acl entries\n", prog_name);
- return 2;
- }
- break;
- case 'f':
- if (action == NoAction)
- action = Set;
- else
- {
- usage (stderr);
- return 1;
- }
- if (! getaclentries (SetFromFile, optarg, acls, &aclidx))
- {
- fprintf (stderr, "%s: illegal acl entries\n", prog_name);
- return 2;
- }
- break;
- case 'h':
- usage (stdout);
- return 0;
- case 'm':
- if (action == NoAction)
- action = Modify;
- else if (action == Delete)
- action = ModNDel;
- else
- {
- usage (stderr);
- return 1;
- }
- if (! getaclentries (Modify, optarg, acls, &aclidx))
- {
- fprintf (stderr, "%s: illegal acl entries\n", prog_name);
- return 2;
- }
- break;
- case 'r':
- if (!ropt)
- ropt = 1;
- else
- {
- usage (stderr);
- return 1;
- }
- break;
- case 's':
- if (action == NoAction)
- action = Set;
- else
- {
- usage (stderr);
- return 1;
- }
- if (! getaclentries (Set, optarg, acls, &aclidx))
- {
- fprintf (stderr, "%s: illegal acl entries\n", prog_name);
- return 2;
- }
- break;
- case 'v':
- print_version ();
- return 0;
- default:
- usage (stderr);
- return 1;
- }
- if (action == NoAction)
- {
- usage (stderr);
- return 1;
- }
- if (optind > argc - 1)
- {
- usage (stderr);
- return 1;
- }
- if (action == Set)
- switch (aclcheck (acls, aclidx, NULL))
- {
- case GRP_ERROR:
- fprintf (stderr, "%s: more than one group entry.\n", prog_name);
- return 2;
- case USER_ERROR:
- fprintf (stderr, "%s: more than one user entry.\n", prog_name);
- return 2;
- case CLASS_ERROR:
- fprintf (stderr, "%s: more than one mask entry.\n", prog_name);
- return 2;
- case OTHER_ERROR:
- fprintf (stderr, "%s: more than one other entry.\n", prog_name);
- return 2;
- case DUPLICATE_ERROR:
- fprintf (stderr, "%s: duplicate additional user or group.\n", prog_name);
- return 2;
- case ENTRY_ERROR:
- fprintf (stderr, "%s: invalid entry type.\n", prog_name);
- return 2;
- case MISS_ERROR:
- fprintf (stderr, "%s: missing entries.\n", prog_name);
- return 2;
- case MEM_ERROR:
- fprintf (stderr, "%s: out of memory.\n", prog_name);
- return 2;
- default:
- break;
- }
- for (c = optind; c < argc; ++c)
- setfacl (action, argv[c], acls, aclidx);
- return 0;
-}
diff --git a/winsup/utils/ssp.c b/winsup/utils/ssp.c
deleted file mode 100644
index 21a4b4b59..000000000
--- a/winsup/utils/ssp.c
+++ /dev/null
@@ -1,951 +0,0 @@
-/*
- * Copyright (c) 2000, 2001, 2002 Red Hat, Inc.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * A copy of the GNU General Public License can be found at
- * http://www.gnu.org/
- *
- * Written by DJ Delorie <dj@redhat.com>
- *
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <fcntl.h>
-#include <time.h>
-#include <ctype.h>
-#include <windows.h>
-#include <getopt.h>
-
-static const char version[] = "$Revision$";
-static char *prog_name;
-
-static struct option longopts[] =
-{
- {"console-trace", no_argument, NULL, 'c' },
- {"disable", no_argument, NULL, 'd' },
- {"enable", no_argument, NULL, 'e' },
- {"help", no_argument, NULL, 'h' },
- {"dll", no_argument, NULL, 'l' },
- {"sub-threads", no_argument, NULL, 's' },
- {"trace-eip", no_argument, NULL, 't' },
- {"verbose", no_argument, NULL, 'v' },
- {"version", no_argument, NULL, 'V' },
- {NULL, 0, NULL, 0}
-};
-
-static char opts[] = "+cdehlstvV";
-
-#define KERNEL_ADDR 0x77000000
-
-#define TRACE_SSP 0
-
-#define VERBOSE 1
-#define TIMES 1000
-
-/* from winsup/gmon.h */
-struct gmonhdr {
- unsigned long lpc; /* base pc address of sample buffer */
- unsigned long hpc; /* max pc address of sampled buffer */
- int ncnt; /* size of sample buffer (plus this header) */
- int version; /* version number */
- int profrate; /* profiling clock rate */
- int spare[3]; /* reserved */
-};
-#define GMONVERSION 0x00051879
-#define HISTCOUNTER unsigned short
-
-typedef struct {
- unsigned int base_address;
- int pcount;
- int scount;
- char *name;
-} DllInfo;
-
-typedef struct {
- unsigned int address;
- unsigned char real_byte;
-} PendingBreakpoints;
-
-unsigned low_pc=0, high_pc=0;
-unsigned last_pc=0, pc, last_sp=0, sp;
-int total_cycles, count;
-HANDLE hProcess;
-PROCESS_INFORMATION procinfo;
-STARTUPINFO startup;
-CONTEXT context;
-HISTCOUNTER *hits=0;
-struct gmonhdr hdr;
-int running = 1, profiling = 1;
-char dll_name[1024], *dll_ptr, *cp;
-int eip;
-unsigned opcode_count = 0;
-
-int stepping_enabled = 1;
-int tracing_enabled = 0;
-int trace_console = 0;
-int trace_all_threads = 0;
-int dll_counts = 0;
-int verbose = 0;
-
-#define MAXTHREADS 100
-DWORD active_thread_ids[MAXTHREADS];
-HANDLE active_threads[MAXTHREADS];
-DWORD thread_step_flags[MAXTHREADS];
-DWORD thread_return_address[MAXTHREADS];
-int num_active_threads = 0;
-int suspended_count=0;
-
-#define MAXDLLS 100
-DllInfo dll_info[MAXDLLS];
-int num_dlls=0;
-
-#define MAXPENDS 100
-PendingBreakpoints pending_breakpoints[MAXPENDS];
-int num_breakpoints=0;
-
-static void
-add_breakpoint (unsigned int address)
-{
- int i;
- DWORD rv;
- static char int3[] = { 0xcc };
- for (i=0; i<num_breakpoints; i++)
- {
- if (pending_breakpoints[i].address == address)
- return;
- if (pending_breakpoints[i].address == 0)
- break;
- }
- if (i == MAXPENDS)
- return;
- pending_breakpoints[i].address = address;
- ReadProcessMemory (hProcess,
- (void *)address,
- &(pending_breakpoints[i].real_byte),
- 1, &rv);
-
- WriteProcessMemory (hProcess,
- (void *)address,
- (LPVOID)int3, 1, &rv);
- if (i >= num_breakpoints)
- num_breakpoints = i+1;
-}
-
-static int
-remove_breakpoint (unsigned int address)
-{
- int i;
- DWORD rv;
- for (i=0; i<num_breakpoints; i++)
- {
- if (pending_breakpoints[i].address == address)
- {
- pending_breakpoints[i].address = 0;
- WriteProcessMemory (hProcess,
- (void *)address,
- &(pending_breakpoints[i].real_byte),
- 1, &rv);
- return 1;
- }
- }
- return 0;
-}
-
-static HANDLE
-lookup_thread_id (DWORD threadId, int *tix)
-{
- int i;
- for (i=0; i<num_active_threads; i++)
- if (active_thread_ids[i] == threadId)
- {
- if (tix) *tix = i;
- return active_threads[i];
- }
- return 0;
-}
-
-static void
-set_step_threads (int threadId, int trace)
-{
- int rv, tix;
- HANDLE thread = lookup_thread_id (threadId, &tix);
-
- rv = GetThreadContext (thread, &context);
- if (rv != -1)
- {
- thread_step_flags[tix] = trace;
- if (trace)
- context.EFlags |= 0x100; /* TRAP (single step) flag */
- else
- context.EFlags &= ~0x100; /* TRAP (single step) flag */
- SetThreadContext (thread, &context);
- }
-}
-
-static void
-set_steps ()
-{
- int i, s;
- for (i=0; i<num_active_threads; i++)
- {
- GetThreadContext (active_threads[i], &context);
- s = context.EFlags & 0x0100;
- if (!s && thread_step_flags[i])
- {
- set_step_threads (active_thread_ids[i], 1);
- }
- }
-}
-
-static int
-dll_sort (const void *va, const void *vb)
-{
- DllInfo *a = (DllInfo *)va;
- DllInfo *b = (DllInfo *)vb;
- if (a->base_address < b->base_address)
- return -1;
- return 1;
-}
-
-static char *
-addr2dllname (unsigned int addr)
-{
- int i;
- for (i=num_dlls-1; i>=0; i--)
- {
- if (dll_info[i].base_address < addr)
- {
- return dll_info[i].name;
- }
- }
- return (char *)"";
-}
-
-static void
-dump_registers (HANDLE thread)
-{
- context.ContextFlags = CONTEXT_FULL;
- GetThreadContext (thread, &context);
- printf ("eax %08lx ebx %08lx ecx %08lx edx %08lx eip\n",
- context.Eax, context.Ebx, context.Ecx, context.Edx);
- printf ("esi %08lx edi %08lx ebp %08lx esp %08lx %08lx\n",
- context.Esi, context.Esi, context.Ebp, context.Esp, context.Eip);
-}
-
-typedef struct Edge {
- struct Edge *next;
- unsigned int from_pc;
- unsigned int to_pc;
- unsigned int count;
-} Edge;
-
-Edge *edges[4096];
-
-void
-store_call_edge (unsigned int from_pc, unsigned int to_pc)
-{
- Edge *e;
- unsigned int h = ((from_pc + to_pc)>>4) & 4095;
- for (e=edges[h]; e; e=e->next)
- if (e->from_pc == from_pc && e->to_pc == to_pc)
- break;
- if (!e)
- {
- e = (Edge *)malloc (sizeof (Edge));
- e->next = edges[h];
- edges[h] = e;
- e->from_pc = from_pc;
- e->to_pc = to_pc;
- e->count = 0;
- }
- e->count++;
-}
-
-void
-write_call_edges (FILE *f)
-{
- int h;
- Edge *e;
- for (h=0; h<4096; h++)
- for (e=edges[h]; e; e=e->next)
- fwrite (&(e->from_pc), 1, 3*sizeof (unsigned int), f);
-}
-
-char *
-wide_strdup (char *cp)
-{
- unsigned short *s = (unsigned short *)cp;
- int len;
- char *rv;
- for (len=0; s[len]; len++);
- rv = (char *)malloc (len+1);
- for (len=0; s[len]; len++)
- rv[len] = s[len];
- rv[len] = 0;
- return rv;
-}
-
-void
-run_program (char *cmdline)
-{
- FILE *tracefile = 0;
- int tix, i;
- HANDLE hThread;
- char *string;
-
- memset (&startup, 0, sizeof (startup));
- startup.cb = sizeof (startup);
-
- if (!CreateProcess (0, cmdline, 0, 0, 0,
- CREATE_NEW_PROCESS_GROUP
- | CREATE_SUSPENDED
- | DEBUG_PROCESS
- | DEBUG_ONLY_THIS_PROCESS,
- 0, 0, &startup, &procinfo))
- {
- fprintf (stderr, "Can't create process: error %ld\n", GetLastError ());
- exit (1);
- }
-
- hProcess = procinfo.hProcess;
-#if 0
- printf ("procinfo: %08x %08x %08x %08x\n",
- hProcess, procinfo.hThread, procinfo.dwProcessId, procinfo.dwThreadId);
-#endif
-
- active_threads[0] = procinfo.hThread;
- active_thread_ids[0] = procinfo.dwThreadId;
- thread_step_flags[0] = stepping_enabled;
- num_active_threads = 1;
-
- dll_info[0].base_address = 0;
- dll_info[0].pcount = 0;
- dll_info[0].scount = 0;
- dll_info[0].name = cmdline;
- num_dlls = 1;
-
- SetThreadPriority (procinfo.hThread, THREAD_PRIORITY_IDLE);
-
- context.ContextFlags = CONTEXT_FULL;
-
- ResumeThread (procinfo.hThread);
-
- total_cycles = 0;
-
- if (tracing_enabled)
- {
- tracefile = fopen ("trace.ssp", "w");
- if (!tracefile)
- {
- tracing_enabled = 0;
- perror ("trace.ssp");
- }
- }
-
- running = 1;
- while (running)
- {
- int src, dest;
- DWORD rv;
- DEBUG_EVENT event;
- int contv = DBG_CONTINUE;
-
- event.dwDebugEventCode = -1;
- if (!WaitForDebugEvent (&event, INFINITE))
- {
- printf ("idle...\n");
- }
-
- hThread = lookup_thread_id (event.dwThreadId, &tix);
-
-#if 0
- printf ("DE: %x/%d %d %d ",
- hThread, tix,
- event.dwDebugEventCode, num_active_threads);
- for (src=0; src<num_active_threads; src++)
- {
- int sc = SuspendThread (active_threads[src]);
- int rv = GetThreadContext (active_threads[src], &context);
- ResumeThread (active_threads[src]);
- printf (" [%x,%x,%x]",
- active_threads[src], context.Eip, active_thread_ids[src]);
- }
- printf ("\n");
-#endif
-
- switch (event.dwDebugEventCode)
- {
-
- case CREATE_PROCESS_DEBUG_EVENT:
- break;
-
- case CREATE_THREAD_DEBUG_EVENT:
- if (verbose)
- printf ("create thread %08lx at %08x %s\n",
- event.dwThreadId,
- (int)event.u.CreateThread.lpStartAddress,
- addr2dllname ((unsigned int)event.u.CreateThread.lpStartAddress));
-
- active_thread_ids[num_active_threads] = event.dwThreadId;
- active_threads[num_active_threads] = event.u.CreateThread.hThread;
- thread_return_address[num_active_threads] = 0;
- num_active_threads++;
-
- if (trace_all_threads && stepping_enabled)
- {
- thread_step_flags[num_active_threads-1] = stepping_enabled;
- add_breakpoint ((int)event.u.CreateThread.lpStartAddress);
- }
-
- break;
-
- case EXIT_THREAD_DEBUG_EVENT:
- if (verbose)
- printf ("exit thread %08lx, code=%ld\n",
- event.dwThreadId,
- event.u.ExitThread.dwExitCode);
-
- for (src=0, dest=0; src<num_active_threads; src++)
- if (active_thread_ids[src] != event.dwThreadId)
- {
- active_thread_ids[dest] = active_thread_ids[src];
- active_threads[dest] = active_threads[src];
- dest++;
- }
- num_active_threads = dest;
- break;
-
- case EXCEPTION_DEBUG_EVENT:
- rv = GetThreadContext (hThread, &context);
- switch (event.u.Exception.ExceptionRecord.ExceptionCode)
- {
- case STATUS_BREAKPOINT:
- if (remove_breakpoint ((int)event.u.Exception.ExceptionRecord.ExceptionAddress))
- {
- context.Eip --;
- if (!rv)
- SetThreadContext (hThread, &context);
- if (ReadProcessMemory (hProcess, (void *)context.Esp, &rv, 4, &rv))
- thread_return_address[tix] = rv;
- }
- set_step_threads (event.dwThreadId, stepping_enabled);
- case STATUS_SINGLE_STEP:
- opcode_count++;
- pc = (unsigned int)event.u.Exception.ExceptionRecord.ExceptionAddress;
- sp = (unsigned int)context.Esp;
- if (tracing_enabled)
- fprintf (tracefile, "%08x %08lx\n", pc, event.dwThreadId);
- if (trace_console)
- {
- printf ("%d %08x\n", tix, pc);
- fflush (stdout);
- }
-
- if (dll_counts)
- {
- int i;
- for (i=num_dlls-1; i>=0; i--)
- {
- if (dll_info[i].base_address < context.Eip)
- {
- if (hThread == procinfo.hThread)
- dll_info[i].pcount++;
- else
- dll_info[i].scount++;
- break;
- }
- }
- }
-
- if (pc < last_pc || pc > last_pc+10)
- {
- static int ncalls=0;
- static int qq=0;
- if (++qq % 100 == 0)
- fprintf (stderr, " %08x %d %d \r",
- pc, ncalls, opcode_count);
-
- if (sp == last_sp-4)
- {
- ncalls++;
- store_call_edge (last_pc, pc);
- if (last_pc < KERNEL_ADDR && pc > KERNEL_ADDR)
- {
- int retaddr;
- DWORD rv;
- ReadProcessMemory (hProcess,
- (void *)sp,
- (LPVOID)&(retaddr),
- 4, &rv);
-#if 0
- printf ("call last_pc = %08x pc = %08x rv = %08x\n",
- last_pc, pc, retaddr);
- /* experimental - try to skip kernel calls for speed */
- add_breakpoint (retaddr);
- set_step_threads (event.dwThreadId, 0);
-#endif
- }
- }
- }
-
- total_cycles++;
- last_sp = sp;
- last_pc = pc;
- if (pc >= low_pc && pc < high_pc)
- hits[(pc - low_pc)/2] ++;
- break;
- default:
- if (verbose)
- {
- printf ("exception %ld, ", event.u.Exception.dwFirstChance);
- printf ("code: %lx flags: %lx\n",
- event.u.Exception.ExceptionRecord.ExceptionCode,
- event.u.Exception.ExceptionRecord.ExceptionFlags);
- if (event.u.Exception.dwFirstChance == 1)
- dump_registers (hThread);
- }
- contv = DBG_EXCEPTION_NOT_HANDLED;
- running = 0;
- break;
- }
-
- if (!rv)
- {
- if (pc == thread_return_address[tix])
- {
- if (context.EFlags & 0x100)
- {
- context.EFlags &= ~0x100; /* TRAP (single step) flag */
- SetThreadContext (hThread, &context);
- }
- }
- else if (stepping_enabled)
- {
- if (!(context.EFlags & 0x100))
- {
- context.EFlags |= 0x100; /* TRAP (single step) flag */
- SetThreadContext (hThread, &context);
- }
- }
- }
- break;
-
- case OUTPUT_DEBUG_STRING_EVENT:
- string = (char *)malloc (event.u.DebugString.nDebugStringLength+1);
- i = ReadProcessMemory (hProcess,
- event.u.DebugString.lpDebugStringData,
- (LPVOID)string,
- event.u.DebugString.nDebugStringLength,
- &rv);
- if (!i)
- {
- printf ("error reading memory: %ld %ld\n", rv, GetLastError ());
- }
- if (verbose)
- printf ("ODS: %x/%d \"%s\"\n",
- (int)hThread, tix, string);
-
- if (strcmp (string, "ssp on") == 0)
- {
- stepping_enabled = 1;
- set_step_threads (event.dwThreadId, 1);
- }
-
- if (strcmp (string, "ssp off") == 0)
- {
- stepping_enabled = 0;
- set_step_threads (event.dwThreadId, 0);
- }
-
- break;
-
-
- case LOAD_DLL_DEBUG_EVENT:
- if (verbose)
- printf ("load dll %08x:",
- (int)event.u.LoadDll.lpBaseOfDll);
-
- dll_ptr = (char *)"( u n k n o w n ) \0\0";
- if (event.u.LoadDll.lpImageName)
- {
- ReadProcessMemory (hProcess,
- event.u.LoadDll.lpImageName,
- (LPVOID)&src,
- sizeof (src),
- &rv);
- if (src)
- {
- ReadProcessMemory (hProcess,
- (void *)src,
- (LPVOID)dll_name,
- sizeof (dll_name),
- &rv);
- dll_name[rv] = 0;
- dll_ptr = dll_name;
- for (cp=dll_name; *cp; cp++)
- {
- if (*cp == '\\' || *cp == '/')
- {
- dll_ptr = cp+1;
- }
- *cp = tolower (*cp);
- }
- }
- }
-
-
- dll_info[num_dlls].base_address
- = (unsigned int)event.u.LoadDll.lpBaseOfDll;
- dll_info[num_dlls].pcount = 0;
- dll_info[num_dlls].scount = 0;
- dll_info[num_dlls].name = wide_strdup (dll_ptr);
- if (verbose)
- printf (" %s\n", dll_info[num_dlls].name);
- num_dlls++;
- qsort (dll_info, num_dlls, sizeof (DllInfo), dll_sort);
-
- break;
-
- case UNLOAD_DLL_DEBUG_EVENT:
- if (verbose)
- printf ("unload dll\n");
- break;
-
- case EXIT_PROCESS_DEBUG_EVENT:
- if (verbose)
- printf ("process %08lx %08lx exit %ld\n",
- event.dwProcessId, event.dwThreadId,
- event.u.ExitProcess.dwExitCode);
-
- running = 0;
- break;
- }
-
- set_steps ();
- ContinueDebugEvent (event.dwProcessId, event.dwThreadId, contv);
- }
-
- count = 0;
- for (pc=low_pc; pc<high_pc; pc+=2)
- {
- count += hits[(pc - low_pc)/2];
- }
- printf ("total cycles: %d, counted cycles: %d\n", total_cycles, count);
-
- if (tracing_enabled)
- fclose (tracefile);
-
-}
-
-static void
-usage (FILE * stream)
-{
- fprintf (stream , ""
- "Usage: %s [options] low_pc high_pc command...\n"
- "Single-step profile COMMAND\n"
- "\n"
- " -c, --console-trace trace every EIP value to the console. *Lots* slower.\n"
- " -d, --disable disable single-stepping by default; use\n"
- " OutputDebugString (\"ssp on\") to enable stepping\n"
- " -e, --enable enable single-stepping by default; use\n"
- " OutputDebugString (\"ssp off\") to disable stepping\n"
- " -h, --help output usage information and exit\n"
- " -l, --dll enable dll profiling. A chart of relative DLL usage\n"
- " is produced after the run.\n"
- " -s, --sub-threads trace sub-threads too. Dangerous if you have\n"
- " race conditions.\n"
- " -t, --trace-eip trace every EIP value to a file TRACE.SSP. This\n"
- " gets big *fast*.\n"
- " -v, --verbose output verbose messages about debug events.\n"
- " -V, --version output version information and exit\n"
- "\n"
- "Example: %s 0x401000 0x403000 hello.exe\n"
- "\n"
- "", prog_name, prog_name);
- if (stream == stdout)
- fprintf (stream , ""
- "SSP - The Single Step Profiler\n"
- "\n"
- "Original Author: DJ Delorie <dj@redhat.com>\n"
- "\n"
- "The SSP is a program that uses the Win32 debug API to run a program\n"
- "one ASM instruction at a time. It records the location of each\n"
- "instruction used, how many times that instruction is used, and all\n"
- "function calls. The results are saved in a format that is usable by\n"
- "the profiling program \"gprof\", although gprof will claim the values\n"
- "are seconds, they really are instruction counts. More on that later.\n"
- "\n"
- "Because the SSP was originally designed to profile the cygwin DLL, it\n"
- "does not automatically select a block of code to report statistics on.\n"
- "You must specify the range of memory addresses to keep track of\n"
- "manually, but it's not hard to figure out what to specify. Use the\n"
- "\"objdump\" program to determine the bounds of the target's \".text\"\n"
- "section. Let's say we're profiling cygwin1.dll. Make sure you've\n"
- "built it with debug symbols (else gprof won't run) and run objdump\n"
- "like this:\n"
- "\n"
- " objdump -h cygwin1.dll\n"
- "\n"
- "It will print a report like this:\n"
- "\n"
- "cygwin1.dll: file format pei-i386\n"
- "\n"
- "Sections:\n"
- "Idx Name Size VMA LMA File off Algn\n"
- " 0 .text 0007ea00 61001000 61001000 00000400 2**2\n"
- " CONTENTS, ALLOC, LOAD, READONLY, CODE, DATA\n"
- " 1 .data 00008000 61080000 61080000 0007ee00 2**2\n"
- " CONTENTS, ALLOC, LOAD, DATA\n"
- " . . .\n"
- "\n"
- "The only information we're concerned with are the VMA of the .text\n"
- "section and the VMA of the section after it (sections are usually\n"
- "contiguous; you can also add the Size to the VMA to get the end\n"
- "address). In this case, the VMA is 0x61001000 and the ending address\n"
- "is either 0x61080000 (start of .data method) or 0x0x6107fa00 (VMA+Size\n"
- "method).\n"
- "\n"
- "There are two basic ways to use SSP - either profiling a whole\n"
- "program, or selectively profiling parts of the program.\n"
- "\n"
- "To profile a whole program, just run ssp without options. By default,\n"
- "it will step the whole program. Here's a simple example, using the\n"
- "numbers above:\n"
- "\n"
- " ssp 0x61001000 0x61080000 hello.exe\n"
- "\n"
- "This will step the whole program. It will take at least 8 minutes on\n"
- "a PII/300 (yes, really). When it's done, it will create a file called\n"
- "\"gmon.out\". You can turn this data file into a readable report with\n"
- "gprof:\n"
- "\n"
- " gprof -b cygwin1.dll\n"
- "\n"
- "The \"-b\" means 'skip the help pages'. You can omit this until you're\n"
- "familiar with the report layout. The gprof documentation explains\n"
- "a lot about this report, but ssp changes a few things. For example,\n"
- "the first part of the report reports the amount of time spent in each\n"
- "function, like this:\n"
- "\n"
- "Each sample counts as 0.01 seconds.\n"
- " %% cumulative self self total\n"
- " time seconds seconds calls ms/call ms/call name\n"
- " 10.02 231.22 72.43 46 1574.57 1574.57 strcspn\n"
- " 7.95 288.70 57.48 130 442.15 442.15 strncasematch\n"
- "\n"
- "The \"seconds\" columns are really CPU opcodes, 1/100 second per opcode.\n"
- "So, \"231.22\" above means 23,122 opcodes. The ms/call values are 10x\n"
- "too big; 1574.57 means 157.457 opcodes per call. Similar adjustments\n"
- "need to be made for the \"self\" and \"children\" columns in the second\n"
- "part of the report.\n"
- "\n"
- "OK, so now we've got a huge report that took a long time to generate,\n"
- "and we've identified a spot we want to work on optimizing. Let's say\n"
- "it's the time() function. We can use SSP to selectively profile this\n"
- "function by using OutputDebugString() to control SSP from within the\n"
- "program. Here's a sample program:\n"
- "\n"
- " #include <windows.h>\n"
- " main()\n"
- " {\n"
- " time_t t;\n"
- " OutputDebugString(\"ssp on\");\n"
- " time(&t);\n"
- " OutputDebugString(\"ssp off\");\n"
- " }\n"
- "\n"
- "Then, add the \"-d\" option to ssp to default to *disabling* profiling.\n"
- "The program will run at full speed until the first OutputDebugString,\n"
- "then step until the second.\n"
- "\n"
- " ssp -d 0x61001000 0x61080000 hello.exe\n"
- "\n"
- "You can then use gprof (as usual) to see the performance profile for\n"
- "just that portion of the program's execution.\n"
- "\n"
- "There are many options to ssp. Since step-profiling makes your\n"
- "program run about 1,000 times slower than normal, it's best to\n"
- "understand all the options so that you can narrow down the parts\n"
- "of your program you need to single-step.\n"
- "\n"
- "\"-v\" - verbose. This prints messages about threads starting and\n"
- "stopping, OutputDebugString calls, DLLs loading, etc.\n"
- "\n"
- "\"-t\" and \"-c\" - tracing. With -t, *every* step's address is written\n"
- "to the file \"trace.ssp\". This can be used to help debug functions,\n"
- "since it can trace multiple threads. Clever use of scripts can match\n"
- "addresses with disassembled opcodes if needed. Warning: creates\n"
- "*huge* files, very quickly. \"-c\" prints each address to the console,\n"
- "useful for debugging key chunks of assembler.\n"
- "Use \"addr2line -C -f -s -e foo.exe < trace.ssp > lines.ssp\" and then\n"
- "\"perl cvttrace\" to convert to symbolic traces.\n"
- "\n"
- "\"-s\" - subthreads. Usually, you only need to trace the main thread,\n"
- "but sometimes you need to trace all threads, so this enables that.\n"
- "It's also needed when you want to profile a function that only a\n"
- "subthread calls. However, using OutputDebugString automatically\n"
- "enables profiling on the thread that called it, not the main thread.\n"
- "\n"
- "\"-l\" - dll profiling. Generates a pretty table of how much time was\n"
- "spent in each dll the program used. No sense optimizing a function in\n"
- "your program if most of the time is spent in the DLL.\n"
- "\n"
- "I usually use the -v, -s, and -l options:\n"
- "\n"
- " ssp -v -s -l -d 0x61001000 0x61080000 hello.exe\n"
- "\n");
- if (stream == stderr)
- fprintf (stream, "Try '%s --help' for more information.\n", prog_name);
- exit (stream == stderr ? 1 : 0);
-}
-
-static void
-print_version ()
-{
- const char *v = strchr (version, ':');
- int len;
- if (!v)
- {
- v = "?";
- len = 1;
- }
- else
- {
- v += 2;
- len = strchr (v, ' ') - v;
- }
- printf ("\
-%s (cygwin) %.*s\n\
-Single-Step Profiler\n\
-Copyright 2000, 2001, 2002 Red Hat, Inc.\n\
-Compiled on %s\n\
-", prog_name, len, v, __DATE__);
-}
-
-int
-main (int argc, char **argv)
-{
- int c, i;
- int total_pcount = 0, total_scount = 0;
- FILE *gmon;
-
- setbuf (stdout, 0);
-
- prog_name = strrchr (argv[0], '/');
- if (prog_name == NULL)
- prog_name = strrchr (argv[0], '\\');
- if (prog_name == NULL)
- prog_name = argv[0];
- else
- prog_name++;
-
- while ((c = getopt_long (argc, argv, opts, longopts, NULL)) != EOF)
- switch (c)
- {
- case 'c':
- printf ("tracing *all* $eip to the console\n");
- trace_console = 1;
- break;
- case 'd':
- printf ("stepping disabled; enable via OutputDebugString (\"ssp on\")\n");
- stepping_enabled = 0;
- break;
- case 'e':
- printf ("stepping enabled; disable via OutputDebugString (\"ssp off\")\n");
- stepping_enabled = 1;
- break;
- case 'h':
- usage (stdout);
- break;
- case 'l':
- printf ("profiling dll usage\n");
- dll_counts = 1;
- break;
- case 's':
- printf ("tracing all sub-threads too, not just the main one\n");
- trace_all_threads = 1;
- break;
- case 't':
- printf ("tracing all $eip to trace.ssp\n");
- tracing_enabled = 1;
- break;
- case 'v':
- printf ("verbose messages enabled\n");
- verbose = 1;
- break;
- case 'V':
- print_version ();
- exit (0);
- default:
- usage (stderr);
- }
-
- if ( (argc - optind) < 3 )
- usage (stderr);
- sscanf (argv[optind++], "%i", &low_pc);
- sscanf (argv[optind++], "%i", &high_pc);
-
- if (low_pc > high_pc-8)
- {
- fprintf (stderr, "Hey, low_pc must be lower than high_pc\n");
- exit (1);
- }
-
- hits = (HISTCOUNTER *)malloc (high_pc-low_pc+4);
- memset (hits, 0, high_pc-low_pc+4);
-
- fprintf (stderr, "prun: [%08x,%08x] Running `%s'\n",
- low_pc, high_pc, argv[optind]);
-
- run_program (argv[optind]);
-
- hdr.lpc = low_pc;
- hdr.hpc = high_pc;
- hdr.ncnt = high_pc-low_pc + sizeof (hdr);
- hdr.version = GMONVERSION;
- hdr.profrate = 100;
-
- gmon = fopen ("gmon.out", "wb");
- fwrite (&hdr, 1, sizeof (hdr), gmon);
- fwrite (hits, 1, high_pc-low_pc, gmon);
- write_call_edges (gmon);
- fclose (gmon);
-
- if (dll_counts)
- {
- /* 1234567 123% 1234567 123% 12345678 xxxxxxxxxxx */
- printf (" Main-Thread Other-Thread BaseAddr DLL Name\n");
-
- total_pcount = 0;
- total_scount = 0;
- for (i=0; i<num_dlls; i++)
- {
- total_pcount += dll_info[i].pcount;
- total_scount += dll_info[i].scount;
- }
-
- if (total_pcount == 0) total_pcount++;
- if (total_scount == 0) total_scount++;
-
- for (i=0; i<num_dlls; i++)
- if (dll_info[i].pcount || dll_info[i].scount)
- {
- printf ("%7d %3d%% %7d %3d%% %08x %s\n",
- dll_info[i].pcount,
- (dll_info[i].pcount*100)/opcode_count,
- dll_info[i].scount,
- (dll_info[i].scount*100)/opcode_count,
- dll_info[i].base_address,
- dll_info[i].name);
- }
- }
-
- exit (0);
-}
-
diff --git a/winsup/utils/ssp.txt b/winsup/utils/ssp.txt
deleted file mode 100644
index e73880e90..000000000
--- a/winsup/utils/ssp.txt
+++ /dev/null
@@ -1,125 +0,0 @@
-
-SSP - The Single Step Profiler
-
-Original Author: DJ Delorie <dj@redhat.com>
-
-The SSP is a program that uses the Win32 debug API to run a program
-one ASM instruction at a time. It records the location of each
-instruction used, how many times that instruction is used, and all
-function calls. The results are saved in a format that is usable by
-the profiling program "gprof", although gprof will claim the values
-are seconds, they really are instruction counts. More on that later.
-
-Because the SSP was originally designed to profile the cygwin DLL, it
-does not automatically select a block of code to report statistics on.
-You must specify the range of memory addresses to keep track of
-manually, but it's not hard to figure out what to specify. Use the
-"objdump" program to determine the bounds of the target's ".text"
-section. Let's say we're profiling cygwin1.dll. Make sure you've
-built it with debug symbols (else gprof won't run) and run objdump
-like this:
-
- objdump -h cygwin1.dll
-
-It will print a report like this:
-
-cygwin1.dll: file format pei-i386
-
-Sections:
-Idx Name Size VMA LMA File off Algn
- 0 .text 0007ea00 61001000 61001000 00000400 2**2
- CONTENTS, ALLOC, LOAD, READONLY, CODE, DATA
- 1 .data 00008000 61080000 61080000 0007ee00 2**2
- CONTENTS, ALLOC, LOAD, DATA
- . . .
-
-The only information we're concerned with are the VMA of the .text
-section and the VMA of the section after it (sections are usually
-contiguous; you can also add the Size to the VMA to get the end
-address). In this case, the VMA is 0x61001000 and the ending address
-is either 0x61080000 (start of .data method) or 0x0x6107fa00 (VMA+Size
-method).
-
-There are two basic ways to use SSP - either profiling a whole
-program, or selectively profiling parts of the program.
-
-To profile a whole program, just run ssp without options. By default,
-it will step the whole program. Here's a simple example, using the
-numbers above:
-
- ssp 0x61001000 0x61080000 hello.exe
-
-This will step the whole program. It will take at least 8 minutes on
-a PII/300 (yes, really). When it's done, it will create a file called
-"gmon.out". You can turn this data file into a readable report with
-gprof:
-
- gprof -b cygwin1.dll
-
-The "-b" means "skip the help pages". You can omit this until you're
-familiar with the report layout. The gprof documentation explains
-a lot about this report, but ssp changes a few things. For example,
-the first part of the report reports the amount of time spent in each
-function, like this:
-
-Each sample counts as 0.01 seconds.
- % cumulative self self total
- time seconds seconds calls ms/call ms/call name
- 10.02 231.22 72.43 46 1574.57 1574.57 strcspn
- 7.95 288.70 57.48 130 442.15 442.15 strncasematch
-
-The "seconds" columns are really CPU opcodes, 1/100 second per opcode.
-So, "231.22" above means 23,122 opcodes. The ms/call values are 10x
-too big; 1574.57 means 157.457 opcodes per call. Similar adjustments
-need to be made for the "self" and "children" columns in the second
-part of the report.
-
-OK, so now we've got a huge report that took a long time to generate,
-and we've identified a spot we want to work on optimizing. Let's say
-it's the time() function. We can use SSP to selectively profile this
-function by using OutputDebugString() to control SSP from within the
-program. Here's a sample program:
-
- #include <windows.h>
- main()
- {
- time_t t;
- OutputDebugString("ssp on");
- time(&t);
- OutputDebugString("ssp off");
- }
-
-Then, add the "-d" option to ssp to default to *disabling* profiling.
-The program will run at full speed until the first OutputDebugString,
-then step until the second.
-
- ssp -d 0x61001000 0x61080000 hello.exe
-
-You can then use gprof (as usual) to see the performance profile for
-just that portion of the program's execution.
-
-OK, now for the other ssp options, and when to use them:
-
-"-v" - verbose. This prints messages about threads starting and
-stopping, OutputDebugString calls, DLLs loading, etc.
-
-"-t" and "-tc" - tracing. With -t, *every* step's address is written
-to the file "trace.ssp". This can be used to help debug functions,
-since it can trace multiple threads. Clever use of scripts can match
-addresses with disassembled opcodes if needed. Warning: creates
-*huge* files, very quickly. "-tc" prints each address to the console,
-useful for debugging key chunks of assembler.
-
-"-s" - subthreads. Usually, you only need to trace the main thread,
-but sometimes you need to trace all threads, so this enables that.
-It's also needed when you want to profile a function that only a
-subthread calls. However, using OutputDebugString automatically
-enables profiling on the thread that called it, not the main thread.
-
-"-dll" - dll profiling. Generates a pretty table of how much time was
-spent in each dll the program used. No sense optimizing a function in
-your program if most of the time is spent in the DLL.
-
-I usually use the -v, -s, and -dll options:
-
- ssp -v -s -dll -d 0x61001000 0x61080000 hello.exe
diff --git a/winsup/utils/strace.cc b/winsup/utils/strace.cc
deleted file mode 100644
index 1bd54ced0..000000000
--- a/winsup/utils/strace.cc
+++ /dev/null
@@ -1,1025 +0,0 @@
-/* strace.cc
-
- Copyright 2000, 2001, 2002, 2003, 2004, 2005 Red Hat Inc.
-
- Written by Chris Faylor <cgf@redhat.com>
-
-This file is part of Cygwin.
-
-This software is a copyrighted work licensed under the terms of the
-Cygwin license. Please consult the file "CYGWIN_LICENSE" for
-details. */
-
-#define cygwin_internal cygwin_internal_dontuse
-#include <stdio.h>
-#include <fcntl.h>
-#include <getopt.h>
-#include <stdarg.h>
-#include <string.h>
-#include <stdlib.h>
-#include <time.h>
-#include <windows.h>
-#include <signal.h>
-#include <errno.h>
-#include "cygwin/include/sys/strace.h"
-#include "cygwin/include/sys/cygwin.h"
-#include "path.h"
-#undef cygwin_internal
-
-/* we *know* we're being built with GCC */
-#define alloca __builtin_alloca
-
-// Version string.
-static const char version[] = "$Revision$";
-
-static const char *pgm;
-static int forkdebug = 1;
-static int numerror = 1;
-static int usecs = 1;
-static int delta = 1;
-static int hhmmss = 0;
-static int bufsize = 0;
-static int new_window = 0;
-static long flush_period = 0;
-static int include_hex = 0;
-
-static BOOL close_handle (HANDLE h, DWORD ok);
-
-#define CloseHandle(h) close_handle(h, 0)
-
-struct child_list
-{
- DWORD id;
- HANDLE hproc;
- int saw_stars;
- char nfields;
- long long start_time;
- DWORD last_usecs;
- struct child_list *next;
- child_list ():id (0), hproc (NULL), saw_stars (0), nfields (0),
- start_time (0), last_usecs (0), next (NULL)
- {
- }
-};
-
-child_list children;
-
-static void
-warn (int geterrno, const char *fmt, ...)
-{
- va_list args;
- char buf[4096];
-
- va_start (args, fmt);
- sprintf (buf, "%s: ", pgm);
- vsprintf (strchr (buf, '\0'), fmt, args);
- if (geterrno)
- perror (buf);
- else
- {
- fputs (buf, stderr);
- fputs ("\n", stderr);
- }
-}
-
-static void __attribute__ ((noreturn))
-error (int geterrno, const char *fmt, ...)
-{
- va_list args;
- char buf[4096];
-
- va_start (args, fmt);
- sprintf (buf, "%s: ", pgm);
- vsprintf (strchr (buf, '\0'), fmt, args);
- if (geterrno)
- perror (buf);
- else
- {
- fputs (buf, stderr);
- fputs ("\n", stderr);
- }
- exit (1);
-}
-
-DWORD lastid = 0;
-HANDLE lasth;
-
-#define PROCFLAGS \
- PROCESS_ALL_ACCESS /*(PROCESS_DUP_HANDLE | PROCESS_TERMINATE | PROCESS_VM_READ | PROCESS_VM_WRITE) */
-static void
-add_child (DWORD id, HANDLE hproc)
-{
- child_list *c = children.next;
- children.next = (child_list *) calloc (1, sizeof (child_list));
- children.next->next = c;
- lastid = children.next->id = id;
- lasth = children.next->hproc = hproc;
-}
-
-static child_list *
-get_child (DWORD id)
-{
- child_list *c;
- for (c = &children; (c = c->next) != NULL;)
- if (c->id == id)
- return c;
-
- error (0, "no process id %d found", id);
-}
-
-static void
-remove_child (DWORD id)
-{
- child_list *c;
- if (id == lastid)
- lastid = 0;
- for (c = &children; c->next != NULL; c = c->next)
- if (c->next->id == id)
- {
- child_list *c1 = c->next;
- c->next = c1->next;
- free (c1);
- return;
- }
-
- error (0, "no process id %d found", id);
-}
-
-#define LINE_BUF_CHUNK 128
-
-class linebuf
-{
- size_t alloc;
-public:
- size_t ix;
- char *buf;
- linebuf ()
- {
- ix = 0;
- alloc = 0;
- buf = NULL;
- }
- ~linebuf ()
- {
- if (buf)
- free (buf);
- }
- void add (const char *what, int len);
- void add (const char *what)
- {
- add (what, strlen (what));
- }
- void prepend (const char *what, int len);
-};
-
-void
-linebuf::add (const char *what, int len)
-{
- size_t newix;
- if ((newix = ix + len) >= alloc)
- {
- alloc += LINE_BUF_CHUNK + len;
- buf = (char *) realloc (buf, alloc + 1);
- }
- memcpy (buf + ix, what, len);
- ix = newix;
- buf[ix] = '\0';
-}
-
-void
-linebuf::prepend (const char *what, int len)
-{
- int buflen;
- size_t newix;
- if ((newix = ix + len) >= alloc)
- {
- alloc += LINE_BUF_CHUNK + len;
- buf = (char *) realloc (buf, alloc + 1);
- buf[ix] = '\0';
- }
- if ((buflen = strlen (buf)))
- memmove (buf + len, buf, buflen + 1);
- else
- buf[newix] = '\0';
- memcpy (buf, what, len);
- ix = newix;
-}
-
-static void
-make_command_line (linebuf & one_line, char **argv)
-{
- for (; *argv; argv++)
- {
- char *p = NULL;
- const char *a = *argv;
-
- int len = strlen (a);
- if (len != 0 && !(p = strpbrk (a, " \t\n\r\"")))
- one_line.add (a, len);
- else
- {
- one_line.add ("\"", 1);
- for (; p; a = p, p = strchr (p, '"'))
- {
- one_line.add (a, ++p - a);
- if (p[-1] == '"')
- one_line.add ("\"", 1);
- }
- if (*a)
- one_line.add (a);
- one_line.add ("\"", 1);
- }
- one_line.add (" ", 1);
- }
-
- if (one_line.ix)
- one_line.buf[one_line.ix - 1] = '\0';
- else
- one_line.add ("", 1);
-}
-
-static DWORD child_pid;
-
-static BOOL WINAPI
-ctrl_c (DWORD)
-{
- static int tic = 1;
- if ((tic ^= 1) && !GenerateConsoleCtrlEvent (CTRL_C_EVENT, 0))
- error (0, "couldn't send CTRL-C to child, win32 error %d\n",
- GetLastError ());
- return TRUE;
-}
-
-extern "C" {
-unsigned long (*cygwin_internal) (int, ...);
-};
-
-static int
-load_cygwin ()
-{
- static HMODULE h;
-
- if (cygwin_internal)
- return 1;
-
- if (h)
- return 0;
-
- if (!(h = LoadLibrary ("cygwin1.dll")))
- {
- errno = ENOENT;
- return 0;
- }
- if (!(cygwin_internal = (DWORD (*) (int, ...)) GetProcAddress (h, "cygwin_internal")))
- {
- errno = ENOSYS;
- return 0;
- }
- return 1;
-}
-
-static void
-attach_process (pid_t pid)
-{
- child_pid = (DWORD) cygwin_internal (CW_CYGWIN_PID_TO_WINPID, pid);
- if (!child_pid)
- {
- warn (0, "no such cygwin pid - %d", pid);
- child_pid = pid;
- }
-
- if (!DebugActiveProcess (child_pid))
- error (0, "couldn't attach to pid %d<%d> for debugging", pid, child_pid);
-
- printf ("Attached to pid %d (windows pid %u)\n", pid, (unsigned) child_pid);
- return;
-}
-
-
-static void
-create_child (char **argv)
-{
- linebuf one_line;
-
- STARTUPINFO si;
- PROCESS_INFORMATION pi;
- BOOL ret;
- DWORD flags;
-
- *argv = cygpath (*argv, NULL);
- memset (&si, 0, sizeof (si));
- si.cb = sizeof (si);
-
- flags = CREATE_DEFAULT_ERROR_MODE
- | (forkdebug ? DEBUG_PROCESS : DEBUG_ONLY_THIS_PROCESS);
- if (new_window)
- flags |= CREATE_NEW_CONSOLE | CREATE_NEW_PROCESS_GROUP;
-
- make_command_line (one_line, argv);
-
- SetConsoleCtrlHandler (NULL, 0);
- ret = CreateProcess (0, one_line.buf, /* command line */
- NULL, /* Security */
- NULL, /* thread */
- TRUE, /* inherit handles */
- flags, /* start flags */
- NULL, NULL, /* current directory */
- &si, &pi);
- if (!ret)
- error (0, "error creating process %s, (error %d)", *argv,
- GetLastError ());
-
- CloseHandle (pi.hThread);
- CloseHandle (pi.hProcess);
- child_pid = pi.dwProcessId;
- SetConsoleCtrlHandler (ctrl_c, 1);
-}
-
-static int
-output_winerror (FILE *ofile, char *s)
-{
- char *winerr = strstr (s, "Win32 error ");
- if (!winerr)
- return 0;
-
- DWORD errnum = atoi (winerr + sizeof ("Win32 error ") - 1);
- if (!errnum)
- return 0;
-
- /*
- * NOTE: Currently there is no policy for how long the
- * the buffers are, and looks like 256 is a smallest one
- * (dlfcn.cc). Other than error 1395 (length 213) and
- * error 1015 (length 249), the rest are all under 188
- * characters, and so I'll use 189 as the buffer length.
- * For those longer error messages, FormatMessage will
- * return FALSE, and we'll get the old behaviour such as
- * ``Win32 error 1395'' etc.
- */
- char buf[4096];
- if (!FormatMessage (FORMAT_MESSAGE_FROM_SYSTEM
- | FORMAT_MESSAGE_IGNORE_INSERTS,
- NULL,
- errnum,
- MAKELANGID (LANG_NEUTRAL, SUBLANG_DEFAULT),
- (LPTSTR) buf, sizeof (buf), NULL))
- return 0;
-
- /* Get rid the trailing CR/NL pair. */
- char *p = strchr (buf, '\0');
- p[-2] = '\n';
- p[-1] = '\0';
-
- *winerr = '\0';
- fputs (s, ofile);
- fputs (buf, ofile);
- return 1;
-}
-
-static SYSTEMTIME *
-syst (long long t)
-{
- FILETIME n;
- static SYSTEMTIME st;
- long long now = t + ((long long) usecs * 10);
- n.dwHighDateTime = now >> 32;
- n.dwLowDateTime = now & 0xffffffff;
- FileTimeToSystemTime (&n, &st);
- return &st;
-}
-
-static void __stdcall
-handle_output_debug_string (DWORD id, LPVOID p, unsigned mask, FILE *ofile)
-{
- int len;
- int special;
- char alen[3 + 8 + 1];
- DWORD nbytes;
- child_list *child = get_child (id);
- HANDLE hchild = child->hproc;
-#define INTROLEN (sizeof (alen) - 1)
-
- if (id == lastid && hchild != lasth)
- warn (0, "%p != %p", hchild, lasth);
-
- alen[INTROLEN] = '\0';
- if (!ReadProcessMemory (hchild, p, alen, INTROLEN, &nbytes))
-#ifndef DEBUGGING
- return;
-#else
- error (0,
- "couldn't get message length from subprocess %d<%p>, windows error %d",
- id, hchild, GetLastError ());
-#endif
-
- if (strncmp (alen, "cYg", 3))
- return;
- len = (int) strtoul (alen + 3, NULL, 16);
- if (!len)
- return;
-
- if (len > 0)
- special = 0;
- else
- {
- special = len;
- if (special == _STRACE_INTERFACE_ACTIVATE_ADDR)
- len = 17;
- }
-
- char *buf;
- buf = (char *) alloca (len + 85) + 20;
-
- if (!ReadProcessMemory (hchild, ((char *) p) + INTROLEN, buf, len, &nbytes))
- error (0, "couldn't get message from subprocess, windows error %d",
- GetLastError ());
-
- buf[len] = '\0';
- char *s = strtok (buf, " ");
-
- unsigned long n = strtoul (s, NULL, 16);
-
- s = strchr (s, '\0') + 1;
-
- if (special == _STRACE_INTERFACE_ACTIVATE_ADDR)
- {
- DWORD new_flag = 1;
- if (!WriteProcessMemory (hchild, (LPVOID) n, &new_flag,
- sizeof (new_flag), &nbytes))
- error (0,
- "couldn't write strace flag to subprocess at %p, windows error %d",
- n, GetLastError ());
- return;
- }
-
- char *origs = s;
-
- if (mask & n)
- /* got it */ ;
- else if (!(mask & _STRACE_ALL) || (n & _STRACE_NOTALL))
- return; /* This should not be included in "all" output */
-
- DWORD dusecs, usecs;
- char *ptusec, *ptrest;
-
- dusecs = strtoul (s, &ptusec, 10);
- char *q = ptusec;
- while (*q == ' ')
- q++;
- if (*q != '[')
- {
- usecs = strtoul (q, &ptrest, 10);
- while (*ptrest == ' ')
- ptrest++;
- }
- else
- {
- ptrest = q;
- ptusec = s;
- usecs = dusecs;
- }
-
- if (child->saw_stars == 0)
- {
- FILETIME st;
- char *news;
-
- GetSystemTimeAsFileTime (&st);
- FileTimeToLocalFileTime (&st, &st);
- child->start_time = st.dwHighDateTime;
- child->start_time <<= 32;
- child->start_time |= st.dwLowDateTime;
- if (*(news = ptrest) != '[')
- child->saw_stars = 2;
- else
- {
- child->saw_stars++;
- while ((news = strchr (news, ' ')) != NULL && *++news != '*')
- child->nfields++;
- if (news == NULL)
- child->saw_stars++;
- else
- {
- s = news;
- child->nfields++;
- }
- }
- }
- else if (child->saw_stars < 2)
- {
- int i;
- char *news;
- if (*(news = ptrest) != '[')
- child->saw_stars = 2;
- else
- {
- for (i = 0; i < child->nfields; i++)
- if ((news = strchr (news, ' ')) == NULL)
- break; // Should never happen
- else
- news++;
-
- if (news == NULL)
- child->saw_stars = 2;
- else
- {
- s = news;
- if (*s == '*')
- {
- SYSTEMTIME *st = syst (child->start_time);
- fprintf (ofile,
- "Date/Time: %d-%02d-%02d %02d:%02d:%02d\n",
- st->wYear, st->wMonth, st->wDay, st->wHour,
- st->wMinute, st->wSecond);
- child->saw_stars++;
- }
- }
- }
- }
-
- long long d = usecs - child->last_usecs;
- char intbuf[40];
-
- if (child->saw_stars < 2 || s != origs)
- /* Nothing */ ;
- else if (hhmmss)
- {
- s = ptrest - 9;
- SYSTEMTIME *st = syst (child->start_time + (long long) usecs * 10);
- sprintf (s, "%02d:%02d:%02d", st->wHour, st->wMinute, st->wSecond);
- *strchr (s, '\0') = ' ';
- }
- else if (!delta)
- s = ptusec;
- else
- {
- s = ptusec;
- sprintf (intbuf, "%5d ", (int) d);
- int len = strlen (intbuf);
-
- memcpy ((s -= len), intbuf, len);
- }
-
- if (include_hex)
- {
- s -= 8;
- sprintf (s, "%p", (void *) n);
- strchr (s, '\0')[0] = ' ';
- }
- child->last_usecs = usecs;
- if (numerror || !output_winerror (ofile, s))
- fputs (s, ofile);
- if (!bufsize)
- fflush (ofile);
-}
-
-static void
-proc_child (unsigned mask, FILE *ofile, pid_t pid)
-{
- DEBUG_EVENT ev;
- int processes = 0;
- time_t cur_time, last_time;
-
- SetThreadPriority (GetCurrentThread (), THREAD_PRIORITY_HIGHEST);
- last_time = time (NULL);
- while (1)
- {
- BOOL debug_event = WaitForDebugEvent (&ev, 1000);
- DWORD status = DBG_CONTINUE;
-
- if (bufsize && flush_period > 0 &&
- (cur_time = time (NULL)) >= last_time + flush_period)
- {
- last_time = cur_time;
- fflush (ofile);
- }
-
- if (!debug_event)
- continue;
-
- if (pid)
- {
- (void) cygwin_internal (CW_STRACE_TOGGLE, pid);
- pid = 0;
- }
-
- switch (ev.dwDebugEventCode)
- {
- case CREATE_PROCESS_DEBUG_EVENT:
- if (ev.u.CreateProcessInfo.hFile)
- CloseHandle (ev.u.CreateProcessInfo.hFile);
- add_child (ev.dwProcessId, ev.u.CreateProcessInfo.hProcess);
- processes++;
- break;
-
- case CREATE_THREAD_DEBUG_EVENT:
- break;
-
- case LOAD_DLL_DEBUG_EVENT:
- if (ev.u.LoadDll.hFile)
- CloseHandle (ev.u.LoadDll.hFile);
- break;
-
- case OUTPUT_DEBUG_STRING_EVENT:
- handle_output_debug_string (ev.dwProcessId,
- ev.u.DebugString.lpDebugStringData,
- mask, ofile);
- break;
-
- case EXIT_PROCESS_DEBUG_EVENT:
- remove_child (ev.dwProcessId);
- break;
- case EXCEPTION_DEBUG_EVENT:
- if (ev.u.Exception.ExceptionRecord.ExceptionCode !=
- STATUS_BREAKPOINT)
- {
- status = DBG_EXCEPTION_NOT_HANDLED;
-#if 0
- fprintf (stderr, "exception %p at %p\n",
- ev.u.Exception.ExceptionRecord.ExceptionCode,
- ev.u.Exception.ExceptionRecord.ExceptionAddress);
-#endif
- }
- break;
- }
- if (!ContinueDebugEvent (ev.dwProcessId, ev.dwThreadId, status))
- error (0, "couldn't continue debug event, windows error %d",
- GetLastError ());
- if (ev.dwDebugEventCode == EXIT_PROCESS_DEBUG_EVENT && --processes == 0)
- break;
- }
-}
-
-static void
-dotoggle (pid_t pid)
-{
- child_pid = (DWORD) cygwin_internal (CW_CYGWIN_PID_TO_WINPID, pid);
- if (!child_pid)
- {
- warn (0, "no such cygwin pid - %d", pid);
- child_pid = pid;
- }
- if (cygwin_internal (CW_STRACE_TOGGLE, child_pid))
- error (0, "failed to toggle tracing for process %d<%d>", pid, child_pid);
-
- return;
-}
-
-static void
-dostrace (unsigned mask, FILE *ofile, pid_t pid, char **argv)
-{
- if (!pid)
- create_child (argv);
- else
- attach_process (pid);
- proc_child (mask, ofile, pid);
-
- return;
-}
-
-typedef struct tag_mask_mnemonic
-{
- unsigned long val;
- const char *text;
-}
-mask_mnemonic;
-
-static const mask_mnemonic mnemonic_table[] = {
- {_STRACE_ALL, "all"},
- {_STRACE_FLUSH, "flush"},
- {_STRACE_INHERIT, "inherit"},
- {_STRACE_UHOH, "uhoh"},
- {_STRACE_SYSCALL, "syscall"},
- {_STRACE_STARTUP, "startup"},
- {_STRACE_DEBUG, "debug"},
- {_STRACE_PARANOID, "paranoid"},
- {_STRACE_TERMIOS, "termios"},
- {_STRACE_SELECT, "select"},
- {_STRACE_WM, "wm"},
- {_STRACE_SIGP, "sigp"},
- {_STRACE_MINIMAL, "minimal"},
- {_STRACE_EXITDUMP, "exitdump"},
- {_STRACE_SYSTEM, "system"},
- {_STRACE_NOMUTEX, "nomutex"},
- {_STRACE_MALLOC, "malloc"},
- {_STRACE_THREAD, "thread"},
- {0, NULL}
-};
-
-static unsigned long
-mnemonic2ul (const char *nptr, char **endptr)
-{
- // Look up mnemonic in table, return value.
- // *endptr = ptr to char that breaks match.
- const mask_mnemonic *mnp = mnemonic_table;
-
- while (mnp->text != NULL)
- {
- if (strcmp (mnp->text, nptr) == 0)
- {
- // Found a match.
- if (endptr != NULL)
- {
- *endptr = ((char *) nptr) + strlen (mnp->text);
- }
- return mnp->val;
- }
- mnp++;
- }
-
- // Didn't find it.
- if (endptr != NULL)
- {
- *endptr = (char *) nptr;
- }
- return 0;
-}
-
-static unsigned long
-parse_mask (const char *ms, char **endptr)
-{
- const char *p = ms;
- char *newp;
- unsigned long retval = 0, thisval;
- const size_t bufsize = 16;
- char buffer[bufsize];
- size_t len;
-
- while (*p != '\0')
- {
- // First extract the term, terminate it, and lowercase it.
- strncpy (buffer, p, bufsize);
- buffer[bufsize - 1] = '\0';
- len = strcspn (buffer, "+,\0");
- buffer[len] = '\0';
- strlwr (buffer);
-
- // Check if this is a mnemonic. We have to do this first or strtoul()
- // will false-trigger on anything starting with "a" through "f".
- thisval = mnemonic2ul (buffer, &newp);
- if (buffer == newp)
- {
- // This term isn't mnemonic, check if it's hex.
- thisval = strtoul (buffer, &newp, 16);
- if (newp != buffer + len)
- {
- // Not hex either, syntax error.
- *endptr = (char *) p;
- return 0;
- }
- }
-
- p += len;
- retval += thisval;
-
- // Handle operators
- if (*p == '\0')
- break;
- if ((*p == '+') || (*p == ','))
- {
- // For now these both equate to addition/ORing. Until we get
- // fancy and add things like "all-<something>", all we need do is
- // continue the looping.
- p++;
- continue;
- }
- else
- {
- // Syntax error
- *endptr = (char *) p;
- return 0;
- }
- }
-
- *endptr = (char *) p;
- return retval;
-}
-
-static void
-usage (FILE *where = stderr)
-{
- fprintf (where, "\
-Usage: %s [OPTIONS] <command-line>\n\
-Usage: %s [OPTIONS] -p <pid>\n\
-Trace system calls and signals\n\
-\n\
- -b, --buffer-size=SIZE set size of output file buffer\n\
- -d, --no-delta don't display the delta-t microsecond timestamp\n\
- -f, --trace-children trace child processes (toggle - default true)\n\
- -h, --help output usage information and exit\n\
- -m, --mask=MASK set message filter mask\n\
- -n, --crack-error-numbers output descriptive text instead of error\n\
- numbers for Windows errors\n\
- -o, --output=FILENAME set output file to FILENAME\n\
- -p, --pid=n attach to executing program with cygwin pid n\n\
- -S, --flush-period=PERIOD flush buffered strace output every PERIOD secs\n\
- -t, --timestamp use an absolute hh:mm:ss timestamp insted of \n\
- the default microsecond timestamp. Implies -d\n\
- -T, --toggle toggle tracing in a process already being\n\
- traced. Requires -p <pid>\n\
- -v, --version output version information and exit\n\
- -w, --new-window spawn program under test in a new window\n\
-\n", pgm, pgm);
- if ( where == stdout)
- fprintf (stdout, "\
- MASK can be any combination of the following mnemonics and/or hex values\n\
- (0x is optional). Combine masks with '+' or ',' like so:\n\
-\n\
- --mask=wm+system,malloc+0x00800\n\
-\n\
- Mnemonic Hex Corresponding Def Description\n\
- =========================================================================\n\
- all 0x00001 (_STRACE_ALL) All strace messages.\n\
- flush 0x00002 (_STRACE_FLUSH) Flush output buffer after each message.\n\
- inherit 0x00004 (_STRACE_INHERIT) Children inherit mask from parent.\n\
- uhoh 0x00008 (_STRACE_UHOH) Unusual or weird phenomenon.\n\
- syscall 0x00010 (_STRACE_SYSCALL) System calls.\n\
- startup 0x00020 (_STRACE_STARTUP) argc/envp printout at startup.\n\
- debug 0x00040 (_STRACE_DEBUG) Info to help debugging. \n\
- paranoid 0x00080 (_STRACE_PARANOID) Paranoid info.\n\
- termios 0x00100 (_STRACE_TERMIOS) Info for debugging termios stuff.\n\
- select 0x00200 (_STRACE_SELECT) Info on ugly select internals.\n\
- wm 0x00400 (_STRACE_WM) Trace Windows msgs (enable _strace_wm).\n\
- sigp 0x00800 (_STRACE_SIGP) Trace signal and process handling.\n\
- minimal 0x01000 (_STRACE_MINIMAL) Very minimal strace output.\n\
- exitdump 0x04000 (_STRACE_EXITDUMP) Dump strace cache on exit.\n\
- system 0x08000 (_STRACE_SYSTEM) Serious error; goes to console and log.\n\
- nomutex 0x10000 (_STRACE_NOMUTEX) Don't use mutex for synchronization.\n\
- malloc 0x20000 (_STRACE_MALLOC) Trace malloc calls.\n\
- thread 0x40000 (_STRACE_THREAD) Thread-locking calls.\n\
-");
- if (where == stderr)
- fprintf (stderr, "Try '%s --help' for more information.\n", pgm);
- exit (where == stderr ? 1 : 0 );
-}
-
-struct option longopts[] = {
- {"buffer-size", required_argument, NULL, 'b'},
- {"help", no_argument, NULL, 'h'},
- {"flush-period", required_argument, NULL, 'S'},
- {"hex", no_argument, NULL, 'H'},
- {"mask", required_argument, NULL, 'm'},
- {"new-window", no_argument, NULL, 'w'},
- {"output", required_argument, NULL, 'o'},
- {"no-delta", no_argument, NULL, 'd'},
- {"pid", required_argument, NULL, 'p'},
- {"timestamp", no_argument, NULL, 't'},
- {"toggle", no_argument, NULL, 'T'},
- {"trace-children", no_argument, NULL, 'f'},
- {"translate-error-numbers", no_argument, NULL, 'n'},
- {"usecs", no_argument, NULL, 'u'},
- {"version", no_argument, NULL, 'v'},
- {NULL, 0, NULL, 0}
-};
-
-static const char *const opts = "+b:dhHfm:no:p:S:tTuvw";
-
-static void
-print_version ()
-{
- const char *v = strchr (version, ':');
- int len;
- if (!v)
- {
- v = "?";
- len = 1;
- }
- else
- {
- v += 2;
- len = strchr (v, ' ') - v;
- }
- printf ("\
-%s (cygwin) %.*s\n\
-System Trace\n\
-Copyright 2000, 2001, 2002, 2003, 2004, 2005 Red Hat, Inc.\n\
-Compiled on %s\n\
-", pgm, len, v, __DATE__);
-}
-
-int
-main (int argc, char **argv)
-{
- unsigned mask = 0;
- FILE *ofile = NULL;
- pid_t pid = 0;
- int opt;
- int toggle = 0;
-
- if (load_cygwin ())
- {
- char **av = (char **) cygwin_internal (CW_ARGV);
- if (av && (DWORD) av != (DWORD) -1)
- for (argc = 0, argv = av; *av; av++)
- argc++;
- }
-
- if (!(pgm = strrchr (*argv, '\\')) && !(pgm = strrchr (*argv, '/')))
- pgm = *argv;
- else
- pgm++;
-
- while ((opt = getopt_long (argc, argv, opts, longopts, NULL)) != EOF)
- switch (opt)
- {
- case 'b':
- bufsize = atoi (optarg);
- break;
- case 'd':
- delta ^= 1;
- break;
- case 'f':
- forkdebug ^= 1;
- break;
- case 'h':
- // Print help and exit
- usage (stdout);
- break;
- case 'H':
- include_hex ^= 1;
- break;
- case 'm':
- {
- char *endptr;
- mask = parse_mask (optarg, &endptr);
- if (*endptr != '\0')
- {
- // Bad mask expression.
- error (0, "syntax error in mask expression \"%s\" near \
-character #%d.\n", optarg, (int) (endptr - optarg), endptr);
- }
- break;
- }
- case 'n':
- numerror ^= 1;
- break;
- case 'o':
- if ((ofile = fopen (cygpath (optarg, NULL), "w")) == NULL)
- error (1, "can't open %s", optarg);
-#ifdef F_SETFD
- (void) fcntl (fileno (ofile), F_SETFD, 0);
-#endif
- break;
- case 'p':
- pid = strtoul (optarg, NULL, 10);
- break;
- case 'S':
- flush_period = strtoul (optarg, NULL, 10);
- break;
- case 't':
- hhmmss ^= 1;
- break;
- case 'T':
- toggle ^= 1;
- break;
- case 'u':
- // FIXME: currently unimplemented
- usecs ^= 1;
- break;
- case 'v':
- // Print version info and exit
- print_version ();
- return 0;
- case 'w':
- new_window ^= 1;
- break;
- case '?':
- fprintf (stderr, "Try '%s --help' for more information.\n", pgm);
- exit (1);
- }
-
- if (pid && argv[optind])
- error (0, "cannot provide both a command line and a process id");
-
- if (!pid && !argv[optind])
- error (0, "must provide either a command line or a process id");
-
- if (toggle && !pid)
- error (0, "must provide a process id to toggle tracing");
-
- if (!mask)
- mask = _STRACE_ALL;
-
- if (bufsize)
- setvbuf (ofile, (char *) alloca (bufsize), _IOFBF, bufsize);
-
- if (!ofile)
- ofile = stdout;
-
- if (toggle)
- dotoggle (pid);
- else
- dostrace (mask, ofile, pid, argv + optind);
-}
-
-#undef CloseHandle
-
-static BOOL
-close_handle (HANDLE h, DWORD ok)
-{
- child_list *c;
- for (c = &children; (c = c->next) != NULL;)
- if (c->hproc == h && c->id != ok)
- error (0, "Closing child handle %p", h);
- return CloseHandle (h);
-}
diff --git a/winsup/utils/umount.cc b/winsup/utils/umount.cc
deleted file mode 100644
index bae371ba0..000000000
--- a/winsup/utils/umount.cc
+++ /dev/null
@@ -1,254 +0,0 @@
-/* umount.cc
-
- Copyright 1996, 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
-
-This file is part of Cygwin.
-
-This software is a copyrighted work licensed under the terms of the
-Cygwin license. Please consult the file "CYGWIN_LICENSE" for
-details. */
-
-#include <stdio.h>
-#include <string.h>
-#include <sys/mount.h>
-#include <mntent.h>
-#include <stdlib.h>
-#include <errno.h>
-#include <getopt.h>
-
-static void remove_all_mounts ();
-static void remove_all_user_mounts ();
-static void remove_all_system_mounts ();
-static void remove_cygdrive_prefix (int flags);
-
-static const char version[] = "$Revision$";
-static const char *progname;
-
-struct option longopts[] =
-{
- {"help", no_argument, NULL, 'h' },
- {"remove-all-mounts", no_argument, NULL, 'A'},
- {"remove-cygdrive-prefix", no_argument, NULL, 'c'},
- {"remove-system-mounts", no_argument, NULL, 'S'},
- {"remove-user-mounts", no_argument, NULL, 'U'},
- {"system", no_argument, NULL, 's'},
- {"user", no_argument, NULL, 'u'},
- {"version", no_argument, NULL, 'v'},
- {NULL, 0, NULL, 0}
-};
-
-char opts[] = "AchsSuUv";
-
-static void
-usage (FILE *where = stderr)
-{
- fprintf (where, "\
-Usage: %s [OPTION] [<posixpath>]\n\
-Unmount filesystems\n\
-\n\
- -A, --remove-all-mounts remove all mounts\n\
- -c, --remove-cygdrive-prefix remove cygdrive prefix\n\
- -h, --help output usage information and exit\n\
- -s, --system remove system mount (default)\n\
- -S, --remove-system-mounts remove all system mounts\n\
- -u, --user remove user mount\n\
- -U, --remove-user-mounts remove all user mounts\n\
- -v, --version output version information and exit\n\
-", progname);
- exit (where == stderr ? 1 : 0);
-}
-
-static void
-error (const char *path)
-{
- fprintf (stderr, "%s: %s: %s\n", progname, path, strerror (errno));
- exit (1);
-}
-
-static void
-print_version ()
-{
- const char *v = strchr (version, ':');
- int len;
- if (!v)
- {
- v = "?";
- len = 1;
- }
- else
- {
- v += 2;
- len = strchr (v, ' ') - v;
- }
- printf ("\
-%s (cygwin) %.*s\n\
-Filesystem Utility\n\
-Copyright 1996, 1998, 1999, 2000, 2001, 2002\n\
-Compiled on %s\n\
-", progname, len, v, __DATE__);
-}
-
-int
-main (int argc, char **argv)
-{
- int i;
- int flags = 0;
- int default_flag = MOUNT_SYSTEM;
- enum do_what
- {
- nada,
- saw_remove_all_mounts,
- saw_remove_cygdrive_prefix,
- saw_remove_all_system_mounts,
- saw_remove_all_user_mounts
- } do_what = nada;
-
- progname = strrchr (argv[0], '/');
- if (progname == NULL)
- progname = strrchr (argv[0], '\\');
- if (progname == NULL)
- progname = argv[0];
- else
- progname++;
-
- if (argc == 1)
- usage ();
-
- while ((i = getopt_long (argc, argv, opts, longopts, NULL)) != EOF)
- switch (i)
- {
- case 'A':
- if (do_what != nada)
- usage ();
- do_what = saw_remove_all_mounts;
- break;
- case 'c':
- if (do_what != nada)
- usage ();
- do_what = saw_remove_cygdrive_prefix;
- break;
- case 'h':
- usage (stdout);
- case 's':
- flags |= MOUNT_SYSTEM;
- break;
- case 'S':
- if (do_what != nada)
- usage ();
- do_what = saw_remove_all_system_mounts;
- break;
- case 'u':
- flags &= ~MOUNT_SYSTEM;
- default_flag = 0;
- break;
- case 'U':
- if (do_what != nada)
- usage ();
- do_what = saw_remove_all_user_mounts;
- break;
- case 'v':
- print_version ();
- exit (0);
- default:
- usage ();
- }
-
- switch (do_what)
- {
- case saw_remove_all_mounts:
- if (optind != argc)
- usage ();
- remove_all_mounts ();
- break;
- case saw_remove_cygdrive_prefix:
- if (optind != argc)
- usage ();
- remove_cygdrive_prefix (flags | default_flag);
- break;
- case saw_remove_all_system_mounts:
- if (optind != argc)
- usage ();
- remove_all_system_mounts ();
- break;
- case saw_remove_all_user_mounts:
- if (optind != argc)
- usage ();
- remove_all_user_mounts ();
- break;
- default:
- if (optind != argc - 1)
- usage ();
- if (cygwin_umount (argv[optind], flags | default_flag) != 0)
- error (argv[optind]);
- }
-
- return 0;
-}
-
-/* remove_all_mounts: Unmount all mounts. */
-static void
-remove_all_mounts ()
-{
- remove_all_user_mounts ();
- remove_all_system_mounts ();
-}
-
-/* remove_all_user_mounts: Unmount all user mounts. */
-static void
-remove_all_user_mounts ()
-{
- FILE *m = setmntent ("/-not-used-", "r");
- struct mntent *p;
-
- while ((p = getmntent (m)) != NULL)
- {
- /* Remove the mount if it's a user mount. */
- if (strncmp (p->mnt_type, "user", 4) == 0 &&
- strstr (p->mnt_opts, "noumount") == NULL)
- {
- if (cygwin_umount (p->mnt_dir, 0))
- error (p->mnt_dir);
-
- /* We've modified the table so we need to start over. */
- endmntent (m);
- m = setmntent ("/-not-used-", "r");
- }
- }
-
- endmntent (m);
-}
-
-/* remove_all_system_mounts: Unmount all system mounts. */
-static void
-remove_all_system_mounts ()
-{
- FILE *m = setmntent ("/-not-used-", "r");
- struct mntent *p;
-
- while ((p = getmntent (m)) != NULL)
- {
- /* Remove the mount if it's a system mount. */
- if (strncmp (p->mnt_type, "system", 6) == 0 &&
- strstr (p->mnt_opts, "noumount") == NULL)
- {
- if (cygwin_umount (p->mnt_dir, MOUNT_SYSTEM))
- error (p->mnt_dir);
-
- /* We've modified the table so we need to start over. */
- endmntent (m);
- m = setmntent ("/-not-used-", "r");
- }
- }
-
- endmntent (m);
-}
-
-/* remove_cygdrive_prefix: Remove cygdrive user or system path prefix. */
-static void
-remove_cygdrive_prefix (int flags)
-{
- int res = cygwin_umount (NULL, flags | MOUNT_CYGDRIVE);
- if (res)
- error ("remove_cygdrive_prefix");
- exit (0);
-}
diff --git a/winsup/utils/utils.sgml b/winsup/utils/utils.sgml
deleted file mode 100644
index 358b5eafa..000000000
--- a/winsup/utils/utils.sgml
+++ /dev/null
@@ -1,1584 +0,0 @@
-<sect1 id="using-utils"><title>Cygwin Utilities</title>
-
-<para>Cygwin comes with a number of command-line utilities that are
-used to manage the UNIX emulation portion of the Cygwin environment.
-While many of these reflect their UNIX counterparts, each was written
-specifically for Cygwin. You may use the long or short option names
-interchangeably; for example, <literal>--help</literal> and
-<literal>-h</literal> function identically. All of the Cygwin
-command-line utilities support the <literal>--help</literal> and
-<literal>--version</literal> options.
-</para>
-
-<sect2 id="cygcheck"><title>cygcheck</title>
-
-<screen>
-Usage: cygcheck PROGRAM [ -v ] [ -h ]
- cygcheck -c [ PACKAGE ... ] [ -d ]
- cygcheck -s [ -r ] [ -v ] [ -h ]
- cygcheck -k
- cygcheck -f FILE [ FILE ... ]
- cygcheck -l [ PACKAGE ... ]
- cygcheck -p REGEXP
-List system information, check installed packages, or query package database.
-
-At least one command option or a PROGRAM is required, as shown above.
-
- PROGRAM list library (DLL) dependencies of PROGRAM
- -c, --check-setup show installed version of PACKAGE and verify integrity
- (or for all installed packages if none specified)
- -d, --dump-only just list packages, do not verify (with -c)
- -s, --sysinfo produce diagnostic system information (implies -c -d)
- -r, --registry also scan registry for Cygwin settings (with -s)
- -k, --keycheck perform a keyboard check session (must be run from a
- plain console only, not from a pty/rxvt/xterm)
- -f, --find-package find the package that FILE belongs to
- -l, --list-package list contents of PACKAGE (or all packages if none given)
- -p, --package-query search for REGEXP in the entire cygwin.com package
- repository (requies internet connectivity)
- -v, --verbose produce more verbose output
- -h, --help annotate output with explanatory comments when given
- with another command, otherwise print this help
- -V, --version print the version of cygcheck and exit
-
-Note: -c, -f, and -l only report on packages that are currently installed. To
- search all official Cygwin packages use -p instead. The -p REGEXP matches
- package names, descriptions, and names of files/paths within all packages.
-</screen>
-
-<para>
-The <command>cygcheck</command> program is a diagnostic utility for
-dealing with Cygwin programs. If you are familiar with
-<command>dpkg</command> or <command>rpm</command>,
-<command>cygcheck</command> is similar in many ways. (The major difference
-is that <command>setup.exe</command> handles installing and uninstalling
-packages; see <xref linkend="internet-setup"></xref> for more information.)
-</para>
-<para>
-The <literal>-c</literal> option checks the version and status of
-installed Cygwin packages. If you specify one or more package names,
-<command>cygcheck</command> will limit its output to those packages,
-or with no arguments it lists all packages. A package will be marked
-<literal>Incomplete</literal> if files originally installed are no longer
-present. The best thing to do in that situation is reinstall the package
-with <command>setup.exe</command>. To see which files are missing, use the
-<literal>-v</literal> option. If you do not need to know the status
-of each package and want <command>cygcheck</command> to run faster, add the
-<literal>-d</literal> option and <command>cygcheck</command> will only
-output the name and version for each package.
-</para>
-<para>
-If you list one or more programs on the command line,
-<command>cygcheck</command> will diagnose the runtime environment of that
-program or programs, providing the names of DLL files on which the program
-depends. If you specify the <literal>-s</literal> option,
-<command>cygcheck</command> will give general system information. If you
-list one or more programs on the command line and specify
-<literal>-s</literal>, <command>cygcheck</command> will report on
-both.</para>
-<para>
-The <literal>-f</literal> option helps you to track down which package a
-file came from, and <literal>-l</literal> lists all files in a package.
-For example, to find out about <filename>/usr/bin/less</filename> and its
-package:
-<example><title>Example <command>cygcheck</command> usage</title>
-<screen>
-$ cygcheck -f /usr/bin/less
-less-381-1
-
-$ cygcheck -l less
-/usr/bin/less.exe
-/usr/bin/lessecho.exe
-/usr/bin/lesskey.exe
-/usr/man/man1/less.1
-/usr/man/man1/lesskey.1
-</screen>
-</example>
-</para>
-
-<para>The <literal>-h</literal> option prints additional helpful
-messages in the report, at the beginning of each section. It also
-adds table column headings. While this is useful information, it also
-adds some to the size of the report, so if you want a compact report
-or if you know what everything is already, just leave this out.</para>
-
-<para>The <literal>-v</literal> option causes the output to be more
-verbose. What this means is that additional information will be
-reported which is usually not interesting, such as the internal
-version numbers of DLLs, additional information about recursive DLL
-usage, and if a file in one directory in the PATH also occurs in other
-directories on the PATH. </para>
-
-<para>The <literal>-r</literal> option causes
-<command>cygcheck</command> to search your registry for information
-that is relevent to Cygwin programs. These registry entries are the
-ones that have "Cygwin" in the name. If you are paranoid about
-privacy, you may remove information from this report, but please keep
-in mind that doing so makes it harder to diagnose your problems.</para>
-
-<para>In contrast to the other options that search the packages that are
-installed on your local system, the <literal>-p</literal> option can be used
-to search the entire official Cygwin package repository. It takes as argument
-a Perl-compatible regular expression which is used to match package names,
-package descriptions, and path/filenames of the contents of packages. This
-feature requires an active internet connection, since it must query the
-<literal>cygwin.com</literal> web site. In fact, it is equalivant to the
-search that is available on the <ulink url="http://cygwin.com/packages/">Cygwin
-package listing</ulink> page.</para>
-
-<para>For example, perhaps you are getting an error because you are missing a
-certain DLL and you want to know which package includes that file:
-<example><title>Searching all packages for a file</title>
-<screen>
-$ cygcheck -p 'cygintl-2\.dll'
-Found 1 matches for 'cygintl-2\.dll'.
-
-libintl2-0.12.1-3 GNU Internationalization runtime library
-
-$ cygcheck -p 'libexpat.*\.a'
-Found 2 matches for 'libexpat.*\.a'.
-
-expat-1.95.7-1 XML parser library written in C
-expat-1.95.8-1 XML parser library written in C
-
-$ cygcheck -p '/ls\.exe'
-Found 2 matches for '/ls\.exe'.
-
-coreutils-5.2.1-5 GNU core utilities (includes fileutils, sh-utils and textutils)
-coreutils-5.3.0-6 GNU core utilities (includes fileutils, sh-utils and textutils)
-</screen>
-</example>
-</para>
-
-<para>Note that this option takes a regular expression, not a glob or wildcard.
-This means that you need to use <literal>.*</literal> if you want something
-similar to the wildcard <literal>*</literal> commonly used in filename globbing.
-Similarly, to match the period character you should use <literal>\.</literal>
-since the <literal>.</literal> character in a regexp is a metacharacter that
-will match any character. Also be aware that the characters such as
-<literal>\</literal> and <literal>*</literal> are shell metacharacters, so
-they must be either escaped or quoted, as in the example above.</para>
-
-<para>The third example above illustrates that if you want to match a whole
-filename, you should include the <literal>/</literal> path seperator. In the
-given example this ensures that filenames that happen to end in
-<literal>ls.exe</literal> such as <literal>ncftpls.exe</literal> are not shown.
-Note that this use does not mean "look for packages with <literal>ls</literal>
-in the root directory," since the <literal>/</literal> can match anywhere in the
-path. It's just there to anchor the match so that it matches a full
-filename.</para>
-
-<para>By default the matching is case-sensitive. To get a case insensitive
-match, begin your regexp with <literal>(?i)</literal> which is a PCRE-specific
-feature. For complete documentation on Perl-compatible regular expression
-syntax and options, read the <command>perlre</command> manpage, or one of many
-websites such as <literal>perldoc.com</literal> that document the Perl
-language.</para>
-
-<para>The <command>cygcheck</command> program should be used to send
-information about your system for troubleshooting when requested.
-When asked to run this command save the output so that you can email it,
-for example:</para>
-
-<screen>
-<prompt>C:\cygwin&gt;</prompt> <userinput>cygcheck -s -v -r -h &gt; cygcheck_output.txt</userinput>
-</screen>
-
-</sect2>
-
-<sect2 id="cygpath"><title>cygpath</title>
-
-<screen>
-Usage: cygpath (-d|-m|-u|-w|-t TYPE) [-f FILE] [OPTION]... NAME...
- cygpath [-c HANDLE]
- cygpath [-ADHPSW]
-Convert Unix and Windows format paths, or output system path information
-
-Output type options:
- -d, --dos print DOS (short) form of NAMEs (C:\PROGRA~1\)
- -m, --mixed like --windows, but with regular slashes (C:/WINNT)
- -M, --mode report on mode of file (currently binmode or textmode)
- -u, --unix (default) print Unix form of NAMEs (/cygdrive/c/winnt)
- -w, --windows print Windows form of NAMEs (C:\WINNT)
- -t, --type TYPE print TYPE form: 'dos', 'mixed', 'unix', or 'windows'
-Path conversion options:
- -a, --absolute output absolute path
- -l, --long-name print Windows long form of NAMEs (with -w, -m only)
- -p, --path NAME is a PATH list (i.e., '/bin:/usr/bin')
- -s, --short-name print DOS (short) form of NAMEs (with -w, -m only)
-System information:
- -A, --allusers use `All Users' instead of current user for -D, -P
- -D, --desktop output `Desktop' directory and exit
- -H, --homeroot output `Profiles' directory (home root) and exit
- -P, --smprograms output Start Menu `Programs' directory and exit
- -S, --sysdir output system directory and exit
- -W, --windir output `Windows' directory and exit
-Other options:
- -f, --file FILE read FILE for input; use - to read from STDIN
- -o, --option read options from FILE as well (for use with --file)
- -c, --close HANDLE close HANDLE (for use in captured process)
- -i, --ignore ignore missing argument
- -h, --help output usage information and exit
- -v, --version output version information and exit
-</screen>
-
-<para>The <command>cygpath</command> program is a utility that
-converts Windows native filenames to Cygwin POSIX-style pathnames and
-vice versa. It can be used when a Cygwin program needs to pass a file
-name to a native Windows program, or expects to get a file name from a
-native Windows program. Alternatively, <command>cygpath</command> can
-output information about the location of important system directories
-in either format.
-</para>
-
-<para>The <literal>-u</literal> and <literal>-w</literal> options
-indicate whether you want a conversion to UNIX (POSIX) format
-(<literal>-u</literal>) or to Windows format (<literal>-w</literal>).
-Use the <literal>-d</literal> to get DOS-style (8.3) file and path names.
-The <literal>-m</literal> option will output Windows-style format
-but with forward slashes instead of backslashes. This option is
-especially useful in shell scripts, which use backslashes as an escape
-character.</para>
-
-<para> In combination with the <literal>-w</literal> option, you can use
-the <literal>-l</literal> and <literal>-s</literal> options to use normal
-(long) or DOS-style (short) form. The <literal>-d</literal> option is
-identical to <literal>-w</literal> and <literal>-s</literal> together.
-</para>
-
-<para>Caveat: The <literal>-l</literal> option does not work if the
-<emphasis>check_case</emphasis> parameter of <emphasis>CYGWIN</emphasis>
-is set to <emphasis>strict</emphasis>, since Cygwin is not able to match
-any Windows short path in this mode.
-</para>
-
-<para>The <literal>-p</literal> option means that you want to convert
-a path-style string rather than a single filename. For example, the
-PATH environment variable is semicolon-delimited in Windows, but
-colon-delimited in UNIX. By giving <literal>-p</literal> you are
-instructing <command>cygpath</command> to convert between these
-formats.</para>
-
-<para>The <literal>-i</literal> option supresses the print out of the
-usage message if no filename argument was given. It can be used in
-make file rules converting variables that may be omitted
-to a proper format. Note that <command>cygpath</command> output may
-contain spaces (C:\Program Files) so should be enclosed in quotes.
-</para>
-
-
-<example><title>Example <command>cygpath</command> usage</title>
-<screen>
-<![CDATA[
-#!/bin/sh
-if [ "${1}" = "" ];
- then
- XPATH=".";
- else
- XPATH="$(cygpath -w "${1}")";
-fi
-explorer $XPATH &
-]]>
-</screen>
-</example>
-
-<para>The capital options
-<literal>-D</literal>, <literal>-H</literal>, <literal>-P</literal>,
-<literal>-S</literal>, and <literal>-W</literal> output directories used
-by Windows that are not the same on all systems, for example
-<literal>-S</literal> might output C:\WINNT\SYSTEM32 or C:\WINDOWS\SYSTEM.
-The <literal>-H</literal> shows the Windows profiles directory that can
-be used as root of home. The <literal>-A</literal> option forces use of
-the "All Users" directories instead of the current user for the
-<literal>-D</literal> and <literal>-P</literal> options.
-On Win9x systems with only a single user, <literal>-A</literal> has no
-effect; <literal>-D</literal> and <literal>-AD</literal> would have the
-same output. By default the output is in UNIX (POSIX) format;
-use the <literal>-w</literal> or <literal>-d</literal> options to get
-other formats.</para>
-
-</sect2>
-
-<sect2 id="dumper"><title>dumper</title>
-
-<screen>
-Usage: dumper [OPTION] FILENAME WIN32PID
-Dump core from WIN32PID to FILENAME.core
-
--d, --verbose be verbose while dumping
--h, --help output help information and exit
--q, --quiet be quiet while dumping (default)
--v, --version output version information and exit
-</screen>
-
-<para>The <command>dumper</command> utility can be used to create a
-core dump of running Windows process. This core dump can be later loaded
-to <command>gdb</command> and analyzed. One common way to use
-<command>dumper</command> is to plug it into cygwin's Just-In-Time
-debugging facility by adding
-
-<screen>
-error_start=x:\path\to\dumper.exe
-</screen>
-
-to the <emphasis>CYGWIN</emphasis> environment variable. Please note that
-<literal>x:\path\to\dumper.exe</literal> is Windows-style and not cygwin
-path. If <literal>error_start</literal> is set this way, then dumper will
-be started whenever some program encounters a fatal error.
-</para>
-
-<para>
-<command>dumper</command> can be also be started from the command line to
-create a core dump of any running process. Unfortunately, because of a Windows
-API limitation, when a core dump is created and <command>dumper</command>
-exits, the target process is terminated too.
-</para>
-
-<para>
-To save space in the core dump, <command>dumper</command> doesn't write those
-portions of target process' memory space that are loaded from executable and
-dll files and are unchangeable, such as program code and debug info. Instead,
-<command>dumper</command> saves paths to files which contain that data. When a
-core dump is loaded into gdb, it uses these paths to load appropriate files.
-That means that if you create a core dump on one machine and try to debug it on
-another, you'll need to place identical copies of the executable and dlls in
-the same directories as on the machine where the core dump was created.
-</para>
-
-</sect2>
-
-<sect2 id="getfacl"><title>getfacl</title>
-
-<screen>
-Usage: getfacl [-adn] FILE [FILE2...]
-Display file and directory access control lists (ACLs).
-
- -a, --all display the filename, the owner, the group, and
- the ACL of the file
- -d, --dir display the filename, the owner, the group, and
- the default ACL of the directory, if it exists
- -h, --help output usage information and exit
- -n, --noname display user and group IDs instead of names
- -v, --version output version information and exit
-
-When multiple files are specified on the command line, a blank
-line separates the ACLs for each file.
-</screen>
-
-<para>
-For each argument that is a regular file, special file or
-directory, <command>getfacl</command> displays the owner, the group, and the
-ACL. For directories <command>getfacl</command> displays additionally the
-default ACL. With no options specified, <command>getfacl</command> displays
-the filename, the owner, the group, and both the ACL and the default ACL, if
-it exists. For more information on Cygwin and Windows ACLs, see
-see <xref linkend="ntsec"></xref> in the Cygwin User's Guide.
-The format for ACL output is as follows:
-<screen>
- # file: filename
- # owner: name or uid
- # group: name or uid
- user::perm
- user:name or uid:perm
- group::perm
- group:name or gid:perm
- mask:perm
- other:perm
- default:user::perm
- default:user:name or uid:perm
- default:group::perm
- default:group:name or gid:perm
- default:mask:perm
- default:other:perm
-</screen>
-</para>
-</sect2>
-
-<sect2 id="kill"><title>kill</title>
-
-<screen>
-Usage: kill [-f] [-signal] [-s signal] pid1 [pid2 ...]
- kill -l [signal]
-Send signals to processes
-
- -f, --force force, using win32 interface if necessary
- -l, --list print a list of signal names
- -s, --signal send signal (use kill --list for a list)
- -h, --help output usage information and exit
- -v, --version output version information and exit
-</screen>
-
-<para>The <command>kill</command> program allows you to send arbitrary
-signals to other Cygwin programs. The usual purpose is to end a
-running program from some other window when ^C won't work, but you can
-also send program-specified signals such as SIGUSR1 to trigger actions
-within the program, like enabling debugging or re-opening log files.
-Each program defines the signals they understand.</para>
-
-<para>You may need to specify the full path to use <command>kill</command>
-from within some shells, including <command>bash</command>, the default Cygwin
-shell. This is because <command>bash</command> defines a
-<command>kill</command> builtin function; see the <command>bash</command>
-man page under <emphasis>BUILTIN COMMANDS</emphasis> for more information.
-To make sure you are using the Cygwin version, try
-
-<screen>
-$ /bin/kill --version
-</screen>
-
-which should give the Cygwin <command>kill</command> version number and
-copyright information.
-</para>
-
-<para>Unless you specific the <literal>-f</literal> option, the "pid" values
-used by <command>kill</command> are the Cygwin pids, not the Windows pids.
-To get a list of running programs and their Cygwin pids, use the Cygwin
-<command>ps</command> program. <command>ps -W</command> will display
-<emphasis>all</emphasis> windows pids.</para>
-
-<para>The <command>kill -l</command> option prints the name of the
-given signal, or a list of all signal names if no signal is given.</para>
-
-<para>To send a specific signal, use the <literal>-signN</literal>
-option, either with a signal number or a signal name (minus the "SIG"
-part), like these examples:</para>
-
-<example><title>Using the kill command</title>
-<screen>
-<prompt>$</prompt> <userinput>kill 123</userinput>
-<prompt>$</prompt> <userinput>kill -1 123</userinput>
-<prompt>$</prompt> <userinput>kill -HUP 123</userinput>
-<prompt>$</prompt> <userinput>kill -f 123</userinput>
-</screen>
-</example>
-
-<para>Here is a list of available signals, their numbers, and some
-commentary on them, from the file
-<literal>&lt;sys/signal.h&gt;</literal>, which should be considered
-the official source of this information.</para>
-
-<screen>
-SIGHUP 1 hangup
-SIGINT 2 interrupt
-SIGQUIT 3 quit
-SIGILL 4 illegal instruction (not reset when caught)
-SIGTRAP 5 trace trap (not reset when caught)
-SIGABRT 6 used by abort
-SIGEMT 7 EMT instruction
-SIGFPE 8 floating point exception
-SIGKILL 9 kill (cannot be caught or ignored)
-SIGBUS 10 bus error
-SIGSEGV 11 segmentation violation
-SIGSYS 12 bad argument to system call
-SIGPIPE 13 write on a pipe with no one to read it
-SIGALRM 14 alarm clock
-SIGTERM 15 software termination signal from kill
-SIGURG 16 urgent condition on IO channel
-SIGSTOP 17 sendable stop signal not from tty
-SIGTSTP 18 stop signal from tty
-SIGCONT 19 continue a stopped process
-SIGCHLD 20 to parent on child stop or exit
-SIGTTIN 21 to readers pgrp upon background tty read
-SIGTTOU 22 like TTIN for output if (tp-&gt;t_local&amp;LTOSTOP)
-SIGPOLL 23 System V name for SIGIO
-SIGXCPU 24 exceeded CPU time limit
-SIGXFSZ 25 exceeded file size limit
-SIGVTALRM 26 virtual time alarm
-SIGPROF 27 profiling time alarm
-SIGWINCH 28 window changed
-SIGLOST 29 resource lost (eg, record-lock lost)
-SIGUSR1 30 user defined signal 1
-SIGUSR2 31 user defined signal 2
-</screen>
-
-</sect2>
-
-<sect2 id="mkgroup"><title>mkgroup</title>
-
-<screen>
-Usage: mkgroup [OPTION]... [domain]...
-Prints /etc/group file to stdout
-
-Options:
- -l,--local print local group information
- -c,--current print current group, if a domain account
- -d,--domain print global group information (from current
- domain if no domains specified).
- -o,--id-offset offset change the default offset (10000) added to gids
- in domain accounts.
- -s,--no-sids don't print SIDs in pwd field
- (this affects ntsec)
- -u,--users print user list in gr_mem field
- -g,--group groupname only return information for the specified group\n");
- -h,--help print this message
-
- -v,--version print version information and exit
-
-One of `-l' or `-d' must be given on NT/W2K.
-</screen>
-
-<para>The <command>mkgroup</command> program can be used to help
-configure your Windows system to be more UNIX-like by creating an
-initial <filename>/etc/group</filename>.
-Its use is essential on the NT series (Windows NT, 2000, and XP) to
-include Windows security information.
-It can also be used on the Win9x series (Windows 95, 98, and Me) to
-create a file with the correct format.
-To initially set up your machine if you are a local user, you'd do
-something like this:</para>
-
-<example><title>Setting up the groups file for local accounts</title>
-<screen>
-<prompt>$</prompt> <userinput>mkdir /etc</userinput>
-<prompt>$</prompt> <userinput>mkgroup -l &gt; /etc/group</userinput>
-</screen>
-</example>
-
-<para>Note that this information is static. If you change the group
-information in your system, you'll need to regenerate the group file
-for it to have the new information.</para>
-
-<para>The <literal>-d</literal> and <literal>-l</literal> options
-allow you to specify where the information comes from, the
-local machine or the domain (default or given), or both.
-With the <literal>-d</literal> option the program contacts the Domain
-Controller, which my be unreachable or have restricted access.
-An entry for the current domain user can then be created by using the
-option <literal>-c</literal> together with <literal>-l</literal>,
-but <literal>-c</literal> has no effect when used with <literal>-d</literal>.
-The <literal>-o</literal> option allows for special cases
-(such as multiple domains) where the GIDs might match otherwise.
-The <literal>-s</literal>
-option omits the NT Security Identifier (SID). For more information on
-SIDs, see <xref linkend="ntsec"></xref> in the Cygwin User's Guide. The
-<literal>-u</literal> option causes <command>mkgroup</command> to
-enumerate the users for each group, placing the group members in the
-gr_mem (last) field. Note that this can greatly increase
-the time for <command>mkgroup</command> to run in a large domain.
-Having gr_mem fields is helpful when a domain user logs in remotely
-while the local machine is disconnected from the Domain Controller.
-The <literal>-g</literal> option only prints the information for
-one group.
-</para>
-
-</sect2>
-
-<sect2 id="mkpasswd"><title>mkpasswd</title>
-
-<screen>
-Usage: mkpasswd [OPTION]... [domain]...
-Prints /etc/passwd file to stdout
-
-Options:
- -l,--local print local user accounts
- -c,--current print current account, if a domain account
- -d,--domain print domain accounts (from current domain
- if no domains specified)
- -o,--id-offset offset change the default offset (10000) added to uids
- in domain accounts.
- -g,--local-groups print local group information too
- if no domains specified
- -m,--no-mount don't use mount points for home dir
- -s,--no-sids don't print SIDs in GCOS field
- (this affects ntsec)
- -p,--path-to-home path use specified path and not user account home dir or /home
- -u,--username username only return information for the specified user
- -h,--help displays this message
- -v,--version version information and exit
-
-One of `-l', `-d' or `-g' must be given on NT/W2K.
-</screen>
-
-<para>The <command>mkpasswd</command> program can be used to help
-configure your Windows system to be more UNIX-like by creating an
-initial <filename>/etc/passwd</filename> from your system information.
-Its use is essential on the NT series (Windows NT, 2000, and XP) to
-include Windows security information, but the actual passwords are
-determined by Windows, not by the content of <filename>/etc/passwd</filename>.
-On the Win9x series (Windows 95, 98, and Me) the password field must be
-replaced by the output of <userinput>crypt your_password</userinput>
-if remote access is desired.
-To initially set up your machine if you are a local user, you'd do
-something like this:</para>
-
-<example><title>Setting up the passwd file for local accounts</title>
-<screen>
-<prompt>$</prompt> <userinput>mkdir /etc</userinput>
-<prompt>$</prompt> <userinput>mkpasswd -l &gt; /etc/passwd</userinput>
-</screen>
-</example>
-
-<para>Note that this information is static. If you change the user
-information in your system, you'll need to regenerate the passwd file
-for it to have the new information.</para>
-
-<para>The <literal>-d</literal> and <literal>-l</literal> options
-allow you to specify where the information comes from, the
-local machine or the domain (default or given), or both.
-With the <literal>-d</literal> option the program contacts the Domain
-Controller, which my be unreachable or have restricted access.
-An entry for the current domain user can then be created by using the
-option <literal>-c</literal> together with <literal>-l</literal>,
-but <literal>-c</literal> has no effect when used with <literal>-d</literal>.
-The <literal>-o</literal> option allows for special cases
-(such as multiple domains) where the UIDs might match otherwise.
-The <literal>-g</literal> option creates a local
-user that corresponds to each local group. This is because NT assigns groups
-file ownership. The <literal>-m</literal> option bypasses the current
-mount table so that, for example, two users who have a Windows home
-directory of H: could mount them differently. The <literal>-s</literal>
-option omits the NT Security Identifier (SID). For more information on
-SIDs, see <xref linkend="ntsec"></xref> in the Cygwin User's Guide. The
-<literal>-p</literal> option causes <command>mkpasswd</command> to
-use the specified prefix instead of the account home dir or <literal>/home/
-</literal>. For example, this command:
-
-<example><title>Using an alternate home root</title>
-<screen>
-<prompt>$</prompt> <userinput>mkpasswd -l -p "$(cygpath -H)" &gt; /etc/passwd</userinput>
-</screen>
-</example>
-
-would put local users' home directories in the Windows 'Profiles' directory.
-On Win9x machines the <literal>-u</literal> option creates an entry for
-the specified user. On the NT series it restricts the output to that user,
-greatly reducing the amount of time it takes in a large domain.</para>
-
-</sect2>
-
-<sect2 id="mount"><title>mount</title>
-
-<screen>
-Usage: mount [OPTION] [&lt;win32path&gt; &lt;posixpath&gt;]
-Display information about mounted filesystems, or mount a filesystem
-
- -b, --binary (default) text files are equivalent to binary files
- (newline = \n)
- -c, --change-cygdrive-prefix change the cygdrive path prefix to &lt;posixpath&gt;
- -f, --force force mount, don't warn about missing mount
- point directories
- -h, --help output usage information and exit
- -m, --mount-commands write mount commands to replicate user and
- system mount points and cygdrive prefixes
- -o, --options X[,X...] specify mount options
- -p, --show-cygdrive-prefix show user and/or system cygdrive path prefix
- -s, --system (default) add system-wide mount point
- -t, --text text files get \r\n line endings
- -u, --user add user-only mount point
- -v, --version output version information and exit
- -x, --executable treat all files under mount point as executables
- -E, --no-executable treat all files under mount point as
- non-executables
- -X, --cygwin-executable treat all files under mount point as cygwin
- executables
-</screen>
-
-<para>The <command>mount</command> program is used to map your drives
-and shares onto Cygwin's simulated POSIX directory tree, much like as is
-done by mount commands on typical UNIX systems. Please see
-<xref linkend="mount-table"></xref> for more information on the concepts
-behind the Cygwin POSIX file system and strategies for using
-mounts. To remove mounts, use <command>umount</command></para>
-
-<sect3><title>Using mount</title>
-
-<para>If you just type <command>mount</command> with no parameters, it
-will display the current mount table for you.</para>
-
-<example>
-<title>Displaying the current set of mount points</title>
-<screen>
-<prompt>c:\cygwin\&gt;</prompt> <userinput>mount</userinput>
-c:\cygwin\bin on /usr/bin type system (binmode)
-c:\cygwin\lib on /usr/lib type system (binmode)
-c:\cygwin on / type system (binmode)
-c: on /c type user (binmode,noumount)
-d: on /d type user (binmode,noumount)
-</screen>
-</example>
-
-<para>In this example, c:\cygwin is the POSIX root and D drive is mapped to
-<filename>/d</filename>. Note that in this case, the root mount is a
-system-wide mount point that is visible to all users running Cygwin
-programs, whereas the <filename>/d</filename> mount is only visible
-to the current user.</para>
-
-<para>The <command>mount</command> utility is also the mechanism for
-adding new mounts to the mount table. The following example
-demonstrates how to mount the directory
-<filename>\\pollux\home\joe\data</filename> to <filename>/data</filename>.
-</para>
-
-<example>
-<title>Adding mount points</title>
-<screen>
-<prompt>c:\cygwin\&gt;</prompt> <userinput>ls /data</userinput>
-ls: /data: No such file or directory
-<prompt>c:\cygwin\&gt;</prompt> <userinput>mount \\pollux\home\joe\data /data</userinput>
-mount: warning - /data does not exist!
-<prompt>c:\cygwin\&gt;</prompt> <userinput>mount</userinput>
-\\pollux\home\joe\data on /data type sytem (binmode)
-c:\cygwin\bin on /usr/bin type system (binmode)
-c:\cygwin\lib on /usr/lib type system (binmode)
-c:\cygwin on / type system (binmode)
-c: on /c type user (binmode,noumount)
-d: on /d type user (binmode,noumount)
-</screen>
-</example>
-
-<para>Note that <command>mount</command> was invoked from the Windows
-command shell in the previous example. In many Unix shells, including
-bash, it is legal and convenient to use the forward "/" in Win32
-pathnames since the "\" is the shell's escape character. </para>
-
-<para>The <literal>-s</literal> flag to <command>mount</command> is used to add a mount
-in the system-wide mount table used by all Cygwin users on the system,
-instead of the user-specific one. System-wide mounts are displayed
-by <command>mount</command> as being of the "system" type, as is the
-case for the <filename>/</filename> partition in the last example.
-Under Windows NT, only those users with Administrator priviledges are
-permitted to modify the system-wide mount table.</para>
-
-<para>Note that a given POSIX path may only exist once in the user
-table and once in the global, system-wide table. Attempts to replace
-the mount will fail with a busy error. The <literal>-f</literal> (force) flag causes
-the old mount to be silently replaced with the new one. It will also
-silence warnings about the non-existence of directories at the Win32
-path location.</para>
-
-<para>The <literal>-b</literal> flag is used to instruct Cygwin to treat binary and
-text files in the same manner by default. Binary mode mounts are
-marked as "binmode" in the Flags column of <command>mount</command>
-output. By default, mounts are in text mode ("textmode" in the Flags
-column).</para>
-
-<para>Normally, files ending in certain extensions (.exe, .com, .bat, .cmd)
-are assumed to be executable. Files whose first two characters begin with
-'#!' are also considered to be executable.
-The <literal>-x</literal> flag is used to instruct Cygwin that the
-mounted file is "executable". If the <literal>-x</literal> flag is used
-with a directory then all files in the directory are executable.
-This option allows other files to be marked as executable and avoids the
-overhead of opening each file to check for a '#!'. The <literal>-X</literal>
-option is very similar to <literal>-x</literal>, but also prevents Cygwin
-from setting up commands and environment variables for a normal Windows
-program, adding another small performance gain. The opposite of these
-flags is the <literal>-E</literal> flag, which means that no files should be
-marked as executable. </para>
-
-<para>
-The <literal>-m</literal> option causes the <command>mount</command> utility
-to output a series of commands that could recreate both user and system mount
-points. You can save this output as a backup when experimenting with the
-mount table. It also makes moving your settings to a different machine
-much easier.
-</para>
-
-<para>
-The <literal>-o</literal> option is the method via which various options about
-the mount point may be recorded. The following options are available (note that
-most of the options are duplicates of other mount flags):</para>
-
-<screen>
- user - mount lives user-specific mount
- system - mount lives in system table (default)
- binary - files default to binary mode (default)
- text - files default to CRLF text mode line endings
- exec - files below mount point are all executable
- notexec - files below mount point are not executable
- cygexec - files below mount point are all cygwin executables
- nosuid - no suid files are allowed (currently unimplemented)
- managed - directory is managed by cygwin. Mixed case and special
- characters in filenames are allowed.
-</screen>
-</sect3>
-
-<sect3><title>Cygdrive mount points</title>
-
-<para>Whenever Cygwin cannot use any of the existing mounts to convert
-from a particular Win32 path to a POSIX one, Cygwin will, instead,
-convert to a POSIX path using a default mount point:
-<filename>/cygdrive</filename>. For example, if Cygwin accesses
-<filename>z:\foo</filename> and the z drive is not currently in the
-mount table, then <filename>z:\</filename> will be accessible as
-<filename>/cygdrive/z</filename>. The <command>mount</command> utility
-can be used to change this default automount prefix through the use of the
-"--change-cygdrive-prefix" option. In the following example, we will
-set the automount prefix to <filename>/</filename>:</para>
-
-<example>
-<title>Changing the default prefix</title>
-<screen>
-<prompt>c:\cygwin\&gt;</prompt> <userinput>mount --change-cygdrive-prefix /</userinput>
-</screen>
-</example>
-
-<para>Note that the cygdrive prefix can be set both per-user and system-wide,
-and that as with all mounts, a user-specific mount takes precedence over the
-system-wide setting. The <command>mount</command> utility creates system-wide
-mounts by default if you do not specify a type. Use the <literal>-s</literal>
-or <literal>-u</literal> flag to indicate a system or user mount, respectively.
-You can always see the user and system cygdrive prefixes with the
-<literal>-p</literal> option. Using the <literal>-b</literal>
-flag with <literal>--change-cygdrive-prefix</literal> makes all new
-automounted filesystems default to binary mode file accesses.</para>
-
-</sect3>
-
-<sect3><title>Limitations</title>
-
-<para>Limitations: there is a hard-coded limit of 30 mount
-points. Also, although you can mount to pathnames that do not start
-with "/", there is no way to make use of such mount points.</para>
-
-<para>Normally the POSIX mount point in Cygwin is an existing empty
-directory, as in standard UNIX. If this is the case, or if there is a
-place-holder for the mount point (such as a file, a symbolic link
-pointing anywhere, or a non-empty directory), you will get the expected
-behavior. Files present in a mount point directory before the mount
-become invisible to Cygwin programs.
-</para>
-
-<para>It is sometimes desirable to mount to a non-existent directory,
-for example to avoid cluttering the root directory with names
-such as
-<filename>a</filename>, <filename>b</filename>, <filename>c</filename>
-pointing to disks.
-Although <command>mount</command> will give you a warning, most
-everything will work properly when you refer to the mount point
-explicitly. Some strange effects can occur however.
-For example if your current working directory is
-<filename>/dir</filename>,
-say, and <filename>/dir/mtpt</filename> is a mount point, then
-<filename>mtpt</filename> will not show up in an <command>ls</command>
-or
-<command>echo *</command> command and <command>find .</command> will
-not
-find <filename>mtpt</filename>.
-</para>
-
-</sect3>
-
-</sect2>
-
-<sect2 id="passwd"><title>passwd</title>
-
-<screen>
-Usage: passwd [OPTION] [USER]
-Change USER's password or password attributes.
-
-User operations:
- -l, --lock lock USER's account.
- -u, --unlock unlock USER's account.
- -c, --cannot-change USER can't change password.
- -C, --can-change USER can change password.
- -e, --never-expires USER's password never expires.
- -E, --expires USER's password expires according to system's
- password aging rule.
- -p, --pwd-not-required no password required for USER.
- -P, --pwd-required password is required for USER.
-
-System operations:
- -i, --inactive NUM set NUM of days before inactive accounts are disabled
- (inactive accounts are those with expired passwords).
- -n, --minage DAYS set system minimum password age to DAYS days.
- -x, --maxage DAYS set system maximum password age to DAYS days.
- -L, --length LEN set system minimum password length to LEN.
-
-Other options:
- -S, --status display password status for USER (locked, expired,
- etc.) plus global system password settings.
- -h, --help output usage information and exit.
- -v, --version output version information and exit.
-
-If no option is given, change USER's password. If no user name is given,
-operate on current user. System operations must not be mixed with user
-operations. Don't specify a USER when triggering a system operation.
-</screen>
-
-<para> <command>passwd</command> changes passwords for user accounts.
-A normal user may only change the password for their own account,
-but administrators may change passwords on any account.
-<command>passwd</command> also changes account information, such as
-password expiry dates and intervals.</para>
-
-<para>For password changes, the user is first prompted for their old
-password, if one is present. This password is then encrypted and
-compared against the stored password. The user has only one chance to
-enter the correct password. The administrators are permitted to
-bypass this step so that forgotten passwords may be changed.</para>
-
-<para>The user is then prompted for a replacement password.
-<command>passwd</command> will prompt twice for this replacement and
-compare the second entry against the first. Both entries are required to
-match in order for the password to be changed.</para>
-
-<para>After the password has been entered, password aging information
-is checked to see if the user is permitted to change their password
-at this time. If not, <command>passwd</command> refuses to change the
-password and exits.</para>
-
-<para>
-To get current password status information, use the
-<literal>-S</literal> option. Administrators can use
-<command>passwd</command> to perform several account maintenance
-functions (users may perform some of these functions on their own
-accounts). Accounts may be locked with the <literal>-l</literal> flag
-and unlocked with the <literal>-u</literal> flag. Similarly,
-<literal>-c</literal> disables a user's ability to change passwords, and
-<literal>-C</literal> allows a user to change passwords. For password
-expiry, the <literal>-e</literal> option disables expiration, while the
-<literal>-E</literal> option causes the password to expire according to
-the system's normal aging rules. Use <literal>-p</literal> to disable
-the password requirement for a user, or <literal>-P</literal> to require
-a password.
-</para>
-
-<para>Administrators can also use <command>passwd</command> to change
-system-wide password expiry and length requirements with the
-<literal>-i</literal>, <literal>-n</literal>, <literal>-x</literal>,
-and <literal>-L</literal> options. The <literal>-i</literal>
-option is used to disable an account after the password has been expired
-for a number of days. After a user account has had an expired password
-for <emphasis>NUM</emphasis> days, the user may no longer sign on to
-the account. The <literal>-n</literal> option is
-used to set the minimum number of days before a password may be changed.
-The user will not be permitted to change the password until
-<emphasis>MINDAYS</emphasis> days have elapsed. The
-<literal>-x</literal> option is used to set the maximum number of days
-a password remains valid. After <emphasis>MAXDAYS</emphasis> days, the
-password is required to be changed. Allowed values for the above options
-are 0 to 999. The <literal>-L</literal> option sets the minimum length of
-allowed passwords for users who don't belong to the administrators group
-to <emphasis>LEN</emphasis> characters. Allowed values for the minimum
-password length are 0 to 14. In any of the above cases, a value of 0
-means `no restrictions'.</para>
-
-<para>Limitations: Users may not be able to change their password on
-some systems.</para>
-
-</sect2>
-
-<sect2 id="ps"><title>ps</title>
-
-<screen>
-Usage: ps [-aefls] [-u UID]
-Report process status
-
- -a, --all show processes of all users
- -e, --everyone show processes of all users
- -f, --full show process uids, ppids
- -h, --help output usage information and exit
- -l, --long show process uids, ppids, pgids, winpids
- -s, --summary show process summary
- -u, --user list processes owned by UID
- -v, --version output version information and exit
- -W, --windows show windows as well as cygwin processes
-With no options, ps outputs the long format by default
-</screen>
-
-<para>The <command>ps</command> program gives the status of all the
-Cygwin processes running on the system (ps = "process status"). Due
-to the limitations of simulating a POSIX environment under Windows,
-there is little information to give.
-</para>
-
-<para>
-The PID column is the process ID you need to give to the
-<command>kill</command> command. The PPID is the parent process ID,
-and PGID is the process group ID. The WINPID column is the process
-ID displayed by NT's Task Manager program. The TTY column gives which
-pseudo-terminal a process is running on, or a <literal>'?'</literal>
-for services. The UID column shows which user owns each process.
-STIME is the time the process was started, and COMMAND gives the name
-of the program running. Listings may also have a status flag in
-column zero; <literal>S</literal> means stopped or suspended (in other
-words, in the background), <literal>I</literal> means waiting for
-input or interactive (foreground), and <literal>O</literal> means
-waiting to output.
-</para>
-
-<para>
-By default <command>ps</command> will only show processes owned by the
-current user. With either the <literal>-a</literal> or <literal>-e</literal>
-option, all user's processes (and system processes) are listed. There are
-historical UNIX reasons for the synonomous options, which are functionally
-identical. The <literal>-f</literal> option outputs a "full" listing with
-usernames for UIDs. The <literal>-l</literal> option is the default display
-mode, showing a "long" listing with all the above columns. The other display
-option is <literal>-s</literal>, which outputs a shorter listing of just
-PID, TTY, STIME, and COMMAND. The <literal>-u</literal> option allows you
-to show only processes owned by a specific user. The <literal>-W</literal>
-option causes <command>ps</command> show non-Cygwin Windows processes as
-well as Cygwin processes. The WINPID is also the PID, and they can be killed
-with the Cygwin <command>kill</command> command's <literal>-f</literal>
-option.
-</para>
-
-</sect2>
-
-<sect2 id="regtool"><title>regtool</title>
-
-<screen>
-Usage: regtool.exe [OPTION] (add | check | get | list | remove | unset) KEY
-View or edit the Win32 registry
-
-Actions:
- add KEY\SUBKEY add new SUBKEY
- check KEY exit 0 if KEY exists, 1 if not
- get KEY\VALUE prints VALUE to stdout
- list KEY list SUBKEYs and VALUEs
- remove KEY remove KEY
- set KEY\VALUE [data ...] set VALUE
- unset KEY\VALUE removes VALUE from KEY
-
-Options for 'list' Action:
- -k, --keys print only KEYs
- -l, --list print only VALUEs
- -p, --postfix like ls -p, appends '\' postfix to KEY names
-
-Options for 'set' Action:
- -e, --expand-string set type to REG_EXPAND_SZ
- -i, --integer set type to REG_DWORD
- -m, --multi-string set type to REG_MULTI_SZ
- -s, --string set type to REG_SZ
-
-Options for 'set' and 'unset' Actions:
- -K&lt;c&gt;, --key-separator[=]&lt;c&gt; set key separator to &lt;c&gt; instead of '\'
-
-Other Options:
- -h, --help output usage information and exit
- -q, --quiet no error output, just nonzero return if KEY/VALUE missing
- -v, --verbose verbose output, including VALUE contents when applicable
- -V, --version output version information and exit
-
-KEY is in the format [host]\prefix\KEY\KEY\VALUE, where host is optional
-remote host in either \\hostname or hostname: format and prefix is any of:
- root HKCR HKEY_CLASSES_ROOT (local only)
- config HKCC HKEY_CURRENT_CONFIG (local only)
- user HKCU HKEY_CURRENT_USER (local only)
- machine HKLM HKEY_LOCAL_MACHINE
- users HKU HKEY_USERS
-
-You can use forward slash ('/') as a separator instead of backslash, in
-that case backslash is treated as escape character
-Example: regtool.exe get '\user\software\Microsoft\Clock\iFormat'
-</screen>
-
-<para>The <command>regtool</command> program allows shell scripts
-to access and modify the Windows registry. Note that modifying the
-Windows registry is dangerous, and carelessness here can result
-in an unusable system. Be careful.</para>
-
-<para>The <literal>-v</literal> option means "verbose". For most
-commands, this causes additional or lengthier messages to be printed.
-Conversely, the <literal>-q</literal> option supresses error messages,
-so you can use the exit status of the program to detect if a key
-exists or not (for example).</para>
-
-<para>You must provide <command>regtool</command> with an
-<emphasis>action</emphasis> following options (if any). Currently,
-the action must be <literal>add</literal>, <literal>set</literal>,
-<literal>check</literal>, <literal>get</literal>, <literal>list</literal>,
-<literal>remove</literal>, <literal>set</literal>, or <literal>unset</literal>.
-</para>
-
-<para>The <literal>add</literal> action adds a new key. The
-<literal>check</literal> action checks to see if a key exists (the
-exit code of the program is zero if it does, nonzero if it does not).
-The <literal>get</literal> action gets the value of a value of a key,
-and prints it (and nothing else) to stdout. Note: if the value
-doesn't exist, an error message is printed and the program returns a
-non-zero exit code. If you give <literal>-q</literal>, it doesn't
-print the message but does return the non-zero exit code.</para>
-
-<para>
-The <literal>list</literal> action lists the subkeys and values
-belonging to the given key. With <literal>list</literal>, the
-<literal>-k</literal> option instructs <command>regtool</command>
-to print only KEYs, and the <literal>-l</literal> option to print
-only VALUEs. The <literal>-p</literal> option postfixes a
-<literal>'/'</literal> to each KEY, but leave VALUEs with no
-postfix. The <literal>remove</literal> action
-removes a key. Note that you may need to remove everything in the key
-before you may remove it, but don't rely on this stopping you from
-accidentally removing too much.
-</para>
-
-<para>The <literal>set</literal> action sets a value within a key.
-<literal>-e</literal> means it's an expanding string (REG_EXPAND_SZ)
-that contains embedded environment variables.
-<literal>-i</literal> means the value is an integer (REG_DWORD).
-<literal>-m</literal> means it's a multi-string (REG_MULTI_SZ).
-<literal>-s</literal> means the value is a string (REG_SZ).
-If you don't specify one of these, <command>regtool</command> tries to
-guess the type based on the value you give. If it looks like a
-number, it's a DWORD. If it starts with a percent, it's an expanding
-string. If you give multiple values, it's a multi-string. Else, it's
-a regular string.
-The <literal>unset</literal> action removes a value from a key.
-</para>
-
-<para>
-By default, the last "\" or "/" is assumed to be the separator between the
-key and the value. You can use the <literal>-K</literal> option to provide
-an alternate key/value separator character.
-</para>
-
-</sect2>
-
-<sect2 id="setfacl"><title>setfacl</title>
-
-<screen>
-Usage: setfacl [-r] (-f ACL_FILE | -s acl_entries) FILE...
- setfacl [-r] ([-d acl_entries] [-m acl_entries]) FILE...
-Modify file and directory access control lists (ACLs)
-
- -d, --delete delete one or more specified ACL entries
- -f, --file set ACL entries for FILE to ACL entries read
- from a ACL_FILE
- -m, --modify modify one or more specified ACL entries
- -r, --replace replace mask entry with maximum permissions
- needed for the file group class
- -s, --substitute substitute specified ACL entries for the
- ACL of FILE
- -h, --help output usage information and exit
- -v, --version output version information and exit
-
-At least one of (-d, -f, -m, -s) must be specified
-</screen>
-
-<para>
-For each file given as parameter, <command>setfacl</command> will
-either replace its complete ACL (<literal>-s</literal>, <literal>-f</literal>),
-or it will add, modify, or delete ACL entries.
-For more information on Cygwin and Windows ACLs, see
-see <xref linkend="ntsec"></xref> in the Cygwin User's Guide.
-</para>
-
-<para>
-Acl_entries are one or more comma-separated ACL entries
-from the following list:
-<screen>
- u[ser]::perm
- u[ser]:uid:perm
- g[roup]::perm
- g[roup]:gid:perm
- m[ask]::perm
- o[ther]::perm
-</screen>
-Default entries are like the above with the additional
-default identifier. For example:
-<screen>
- d[efault]:u[ser]:uid:perm
-</screen>
-</para>
-
-<para>
-<emphasis>perm</emphasis> is either a 3-char permissions string in the form
-"rwx" with the character <literal>'-'</literal> for no permission
-or it is the octal representation of the permissions, a
-value from 0 (equivalent to "---") to 7 ("rwx").
-<emphasis>uid</emphasis> is a user name or a numerical uid.
-<emphasis>gid</emphasis> is a group name or a numerical gid.
-</para>
-
-<para>
-The following options are supported:
-</para>
-
-<para>
-<literal>-d</literal>
-Delete one or more specified entries from the file's ACL.
-The owner, group and others entries must not be deleted.
-Acl_entries to be deleted should be specified without
-permissions, as in the following list:
-<screen>
- u[ser]:uid
- g[roup]:gid
- d[efault]:u[ser]:uid
- d[efault]:g[roup]:gid
- d[efault]:m[ask]:
- d[efault]:o[ther]:
-</screen>
-</para>
-
-<para>
-<literal>-f</literal>
-Take the Acl_entries from ACL_FILE one per line. Whitespace
-characters are ignored, and the character "#" may be used
-to start a comment. The special filename "-" indicates
-reading from stdin. Note that you can use this with
-<command>getfacl</command> and <command>setfacl</command> to copy
-ACLs from one file to another:
-<screen>
-$ getfacl source_file | setfacl -f - target_file
-</screen>
-</para>
-
-<para>
-Required entries are:
-one user entry for the owner of the file,
-one group entry for the group of the file, and
-one other entry.
-</para>
-
-<para>
-If additional user and group entries are given:
-a mask entry for the file group class of the file, and
-no duplicate user or group entries with the same uid/gid.
-</para>
-
-<para>
-If it is a directory:
-one default user entry for the owner of the file,
-one default group entry for the group of the file,
-one default mask entry for the file group class, and
-one default other entry.
-</para>
-
-<para>
-<literal>-m</literal>
-Add or modify one or more specified ACL entries. Acl_entries is a
-comma-separated list of entries from the same list as above.
-</para>
-
-<para>
-<literal>-r</literal>
-Causes the permissions specified in the mask
-entry to be ignored and replaced by the maximum permissions needed for
-the file group class.
-</para>
-
-<para>
-<literal>-s</literal>
-Like <literal>-f</literal>, but substitute the
-file's ACL with Acl_entries specified in a comma-separated list on the
-command line.
-</para>
-
-<para>
-While the <literal>-d</literal> and <literal>-m</literal> options may be used
-in the same command, the <literal>-f</literal> and <literal>-s</literal>
-options may be used only exclusively.
-</para>
-
-<para>
-Directories may contain default ACL entries. Files created
-in a directory that contains default ACL entries will have
-permissions according to the combination of the current umask,
-the explicit permissions requested and the default ACL entries
-</para>
-
-<para>
-Limitations: Under Cygwin, the default ACL entries are not taken into
-account currently.
-</para>
-
-</sect2>
-
-<sect2 id="ssp"><title>ssp</title>
-
-<screen>
-Usage: ssp [options] low_pc high_pc command...
-Single-step profile COMMAND
-
- -c, --console-trace trace every EIP value to the console. *Lots* slower.
- -d, --disable disable single-stepping by default; use
- OutputDebugString ("ssp on") to enable stepping
- -e, --enable enable single-stepping by default; use
- OutputDebugString ("ssp off") to disable stepping
- -h, --help output usage information and exit
- -l, --dll enable dll profiling. A chart of relative DLL usage
- is produced after the run.
- -s, --sub-threads trace sub-threads too. Dangerous if you have
- race conditions.
- -t, --trace-eip trace every EIP value to a file TRACE.SSP. This
- gets big *fast*.
- -v, --verbose output verbose messages about debug events.
- -V, --version output version information and exit
-
-Example: ssp 0x401000 0x403000 hello.exe
-</screen>
-
-<para>
-SSP - The Single Step Profiler
-</para>
-
-<para>
-Original Author: DJ Delorie
-</para>
-
-<para>
-The SSP is a program that uses the Win32 debug API to run a program
-one ASM instruction at a time. It records the location of each
-instruction used, how many times that instruction is used, and all
-function calls. The results are saved in a format that is usable by
-the profiling program <command>gprof</command>, although
-<command>gprof</command> will claim the values
-are seconds, they really are instruction counts. More on that later.
-</para>
-
-<para>
-Because the SSP was originally designed to profile the cygwin DLL, it
-does not automatically select a block of code to report statistics on.
-You must specify the range of memory addresses to keep track of
-manually, but it's not hard to figure out what to specify. Use the
-"objdump" program to determine the bounds of the target's ".text"
-section. Let's say we're profiling cygwin1.dll. Make sure you've
-built it with debug symbols (else <command>gprof</command> won't run)
-and run objdump like this:
-
-<screen>
-$ objdump -h cygwin1.dll
-</screen>
-
-It will print a report like this:
-<screen>
-cygwin1.dll: file format pei-i386
-
-Sections:
-Idx Name Size VMA LMA File off Algn
- 0 .text 0007ea00 61001000 61001000 00000400 2**2
- CONTENTS, ALLOC, LOAD, READONLY, CODE, DATA
- 1 .data 00008000 61080000 61080000 0007ee00 2**2
- CONTENTS, ALLOC, LOAD, DATA
- . . .
-</screen>
-</para>
-
-<para>
-The only information we're concerned with are the VMA of
-the .text section and the VMA of the section after it
-(sections are usually contiguous; you can also add the
-Size to the VMA to get the end address). In this case,
-the VMA is 0x61001000 and the ending address is either
-0x61080000 (start of .data method) or 0x0x6107fa00 (VMA+Size
-method).
-</para>
-
-<para>
-There are two basic ways to use SSP - either profiling a whole
-program, or selectively profiling parts of the program.
-</para>
-
-<para>
-To profile a whole program, just run <command>ssp</command> without options.
-By default, it will step the whole program. Here's a simple example, using
-the numbers above:
-
-<screen>
-$ ssp 0x61001000 0x61080000 hello.exe
-</screen>
-
-This will step the whole program. It will take at least 8 minutes on
-a PII/300 (yes, really). When it's done, it will create a file called
-"gmon.out". You can turn this data file into a readable report with
-<command>gprof</command>:
-
-<screen>
-$ gprof -b cygwin1.dll
-</screen>
-
-The "-b" means 'skip the help pages'. You can omit this until you're
-familiar with the report layout. The <command>gprof</command> documentation
-explains a lot about this report, but <command>ssp</command> changes a few
-things. For example, the first part of the report reports the amount of time
-spent in each function, like this:
-
-<screen>
-Each sample counts as 0.01 seconds.
- % cumulative self self total
- time seconds seconds calls ms/call ms/call name
- 10.02 231.22 72.43 46 1574.57 1574.57 strcspn
- 7.95 288.70 57.48 130 442.15 442.15 strncasematch
-</screen>
-
-The "seconds" columns are really CPU opcodes, 1/100 second per opcode.
-So, "231.22" above means 23,122 opcodes. The ms/call values are 10x
-too big; 1574.57 means 157.457 opcodes per call. Similar adjustments
-need to be made for the "self" and "children" columns in the second
-part of the report.
-</para>
-
-<para>
-OK, so now we've got a huge report that took a long time to generate,
-and we've identified a spot we want to work on optimizing. Let's say
-it's the time() function. We can use SSP to selectively profile this
-function by using OutputDebugString() to control SSP from within the
-program. Here's a sample program:
-
-<screen>
- #include &lt;windows.h&gt;
- main()
- {
- time_t t;
- OutputDebugString("ssp on");
- time(&amp;t);
- OutputDebugString("ssp off");
- }
-</screen>
-</para>
-
-<para>
-Then, add the <literal>-d</literal> option to ssp to default to
-*disabling* profiling. The program will run at full speed until the first
-OutputDebugString, then step until the second.
-You can then use <command>gprof</command> (as usual) to see the performance
-profile for just that portion of the program's execution.
-</para>
-
-<para>
-There are many options to ssp. Since step-profiling makes your
-program run about 1,000 times slower than normal, it's best to
-understand all the options so that you can narrow down the parts
-of your program you need to single-step.
-</para>
-
-<para>
-<literal>-v</literal> - verbose. This prints messages about threads
-starting and stopping, OutputDebugString calls, DLLs loading, etc.
-</para>
-
-<para>
-<literal>-t</literal> and <literal>-c</literal> - tracing.
-With <literal>-t</literal>, *every* step's address is written
-to the file "trace.ssp". This can be used to help debug functions,
-since it can trace multiple threads. Clever use of scripts can match
-addresses with disassembled opcodes if needed. Warning: creates
-*huge* files, very quickly. <literal>-c</literal> prints each address to
-the console, useful for debugging key chunks of assembler. Use
-<literal>addr2line -C -f -s -e foo.exe &lt; trace.ssp &gt; lines.ssp</literal>
-and then <literal>perl cvttrace</literal> to convert to symbolic traces.
-</para>
-
-<para>
-<literal>-s</literal> - subthreads. Usually, you only need to trace the
-main thread, but sometimes you need to trace all threads, so this enables that.
-It's also needed when you want to profile a function that only a
-subthread calls. However, using OutputDebugString automatically
-enables profiling on the thread that called it, not the main thread.
-</para>
-
-<para>
-<literal>-l</literal> - dll profiling. Generates a pretty table of how much
-time was spent in each dll the program used. No sense optimizing a function in
-your program if most of the time is spent in the DLL.
-I usually use the <literal>-v</literal>, <literal>-s</literal>, and
-<literal>-l</literal> options:
-
-<screen>
-$ ssp <literal>-v</literal> <literal>-s</literal> <literal>-l</literal> <literal>-d</literal> 0x61001000 0x61080000 hello.exe
-</screen>
-</para>
-</sect2>
-
-<sect2 id="strace"><title>strace</title>
-
-<screen>
-Usage: strace.exe [OPTIONS] &lt;command-line&gt;
-Usage: strace.exe [OPTIONS] -p &lt;pid&gt;
-Trace system calls and signals
-
- -b, --buffer-size=SIZE set size of output file buffer
- -d, --no-delta don't display the delta-t microsecond timestamp
- -f, --trace-children trace child processes (toggle - default true)
- -h, --help output usage information and exit
- -m, --mask=MASK set message filter mask
- -n, --crack-error-numbers output descriptive text instead of error
- numbers for Windows errors
- -o, --output=FILENAME set output file to FILENAME
- -p, --pid=n attach to executing program with cygwin pid n
- -S, --flush-period=PERIOD flush buffered strace output every PERIOD secs
- -t, --timestamp use an absolute hh:mm:ss timestamp insted of
- the default microsecond timestamp. Implies -d
- -T, --toggle toggle tracing in a process already being
- traced. Requires -p &lt;pid&gt;
- -v, --version output version information and exit
- -w, --new-window spawn program under test in a new window
-
- MASK can be any combination of the following mnemonics and/or hex values
- (0x is optional). Combine masks with '+' or ',' like so:
-
- --mask=wm+system,malloc+0x00800
-
- Mnemonic Hex Corresponding Def Description
- =========================================================================
- all 0x00001 (_STRACE_ALL) All strace messages.
- flush 0x00002 (_STRACE_FLUSH) Flush output buffer after each message.
- inherit 0x00004 (_STRACE_INHERIT) Children inherit mask from parent.
- uhoh 0x00008 (_STRACE_UHOH) Unusual or weird phenomenon.
- syscall 0x00010 (_STRACE_SYSCALL) System calls.
- startup 0x00020 (_STRACE_STARTUP) argc/envp printout at startup.
- debug 0x00040 (_STRACE_DEBUG) Info to help debugging.
- paranoid 0x00080 (_STRACE_PARANOID) Paranoid info.
- termios 0x00100 (_STRACE_TERMIOS) Info for debugging termios stuff.
- select 0x00200 (_STRACE_SELECT) Info on ugly select internals.
- wm 0x00400 (_STRACE_WM) Trace Windows msgs (enable _strace_wm).
- sigp 0x00800 (_STRACE_SIGP) Trace signal and process handling.
- minimal 0x01000 (_STRACE_MINIMAL) Very minimal strace output.
- exitdump 0x04000 (_STRACE_EXITDUMP) Dump strace cache on exit.
- system 0x08000 (_STRACE_SYSTEM) Serious error; goes to console and log.
- nomutex 0x10000 (_STRACE_NOMUTEX) Don't use mutex for synchronization.
- malloc 0x20000 (_STRACE_MALLOC) Trace malloc calls.
- thread 0x40000 (_STRACE_THREAD) Thread-locking calls.
-</screen>
-
-<para>The <command>strace</command> program executes a program, and
-optionally the children of the program, reporting any Cygwin DLL output
-from the program(s) to stdout, or to a file with the <literal>-o</literal>
-option. With the <literal>-w</literal> option, you can start an strace
-session in a new window, for example:
-
-<screen>
-$ strace -o tracing_output -w sh -c 'while true; do echo "tracing..."; done' &amp;
-</screen>
-This is particularly useful for <command>strace</command> sessions that
-take a long time to complete.
-</para>
-
-<para>
-Note that <command>strace</command> is a standalone Windows program and so does
-not rely on the Cygwin DLL itself (you can verify this with
-<command>cygcheck</command>). As a result it does not understand POSIX
-pathnames or symlinks. This program is mainly useful for debugging the
-Cygwin DLL itself.</para>
-
-</sect2>
-
-<sect2 id="umount"><title>umount</title>
-
-<screen>
-Usage: umount.exe [OPTION] [&lt;posixpath&gt;]
-Unmount filesystems
-
- -A, --remove-all-mounts remove all mounts
- -c, --remove-cygdrive-prefix remove cygdrive prefix
- -h, --help output usage information and exit
- -s, --system remove system mount (default)
- -S, --remove-system-mounts remove all system mounts
- -u, --user remove user mount
- -U, --remove-user-mounts remove all user mounts
- -v, --version output version information and exit
-</screen>
-
-<para>The <command>umount</command> program removes mounts from the
-mount table. If you specify a POSIX path that corresponds to a
-current mount point, <command>umount</command> will remove it from the
-system registry area. (Administrator priviledges are required).
-The <literal>-u</literal> flag may be used to specify removing the mount
-from the user-specific registry area instead.</para>
-
-<para>The <command>umount</command> utility may also be used to remove
-all mounts of a particular type. With the extended options it is
-possible to remove all mounts (<literal>-A</literal>), all
-cygdrive automatically-mounted mounts (<literal>-c</literal>), all
-mounts in the current user's registry area (<literal>-U</literal>),
-or all mounts in the system-wide registry area (<literal>-S</literal>)
-(with Administrator privileges).</para>
-
-<para>See <xref linkend="mount"></xref> for more information on the mount
-table.</para>
-</sect2>
-
-</sect1>
diff --git a/winsup/w32api/CONTRIBUTIONS b/winsup/w32api/CONTRIBUTIONS
deleted file mode 100644
index 1c3df0e14..000000000
--- a/winsup/w32api/CONTRIBUTIONS
+++ /dev/null
@@ -1,5 +0,0 @@
-2000-10-23 Danny R. Smith <danny_r_smith_2001@yahoo.co.nz>
- * include/basetsd.h
- * include/ras.h
- * include/raserror.h
- * include/rassapi.h
diff --git a/winsup/w32api/ChangeLog b/winsup/w32api/ChangeLog
deleted file mode 100644
index c0e76e6a4..000000000
--- a/winsup/w32api/ChangeLog
+++ /dev/null
@@ -1,8562 +0,0 @@
-2005=11-18 Brian Gunlogson <gmb300@users.sourceforge.net>
-
- * include/winuser.h (GetClassLongPtr{AW}): Add prototypes.
- (SetClassLongPtr{AW}): Likewise.
- (GCLP_*): Add GetClassLongPtr defines.
- * lib/user32.def (GetClassLongPtr{AW}): Add stubs.
- (SetClassLongPtr{AW}): Likewise.
-
-2005-11-12 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/commdlg.h (OPENFILENAMEW): Add members for
- _WIN32_WINNT >= 0x0500.
- Thanks to Ricardo Dalcorsso Fodra.
- (OPENFILENAMEA): Modify whitespace. Ansify comment.
-
-2005-11-12 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/wingdi.h (GetICMProfileA): Correct prototype.
- (GetICMProfileW): Likewise.
- Thanks to: Paul J Lucas
-
-2005-11-04 Michael Jung <mjung@iss.tu-darmstadt.de>
-
- * lib/shell32.c (CLSID_ShellFSFolder): Add GUID.
-
-2005-11-03 Danny Smith <dannysmith@users.sourceforge.net>
-
- * lib/crypt32.def (CertOIDToAlgId, CertAlgIDToOID, CryptProtectData,
- CryptUnprotectData, CryptDecodeObjectEx, CryptEncodeObjectEx,
- CryptRegisterOIDFunction, CryptUnregisterOIDFunction): Add stubs.
- Thanks to: F Richter <res2002 at users dot sourceforge dot net>
-
-2005-10-29 Chris Sutcliffe <ir0nh34d@users.sf.net>
-
- * include/objbase.h: Fix typo.
- * include/w32api.h: Increment version to 3.5.
- * Makefile.in: Ditto.
-
-2005-10-27 Chris Sutcliffe <ir0nh34d@users.sf.net>
-
- * include/w32api.h: Increment version to 3.4.
- * Makefile.in: Ditto.
-
-2005-10-12 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/winbase.h (GetProcessId): Remove duplicate declaration.
- Use _WIN32_WINNT >= 0x0501 guard.
-
-2005-10-11 Christopher Faylor <cgf@timesys.com>
-
- * include/winbase.h (GetProcessId): Declare.
-
-2005-09-23 Chris Sutcliffe <ir0nh34d@users.sourceforge.net>
-
- * lib/ddk/newdev.def: Added.
- Thanks to: Stephan Meyer <ste_meyer at users dot sourceforge dot net>
-
-2005-09-23 Chris Sutcliffe <ir0nh34d@users.sourceforge.net>
-
- * include/commdlg.h (OPENFILENAME): Added WINNT >= 0x0500
- component.
- Thanks to: Gennady Feldman <gena01 at users dot sourceforge dot net>
-
-2005-09-23 Chris Sutcliffe <ir0nh34d@users.sourceforge.net>
-
- * lib/shell32.def (SHILCreateFromPath): Add stub.
- Thanks to: Michael Jung <mjung at iss dot tu-darmstadt dot de>
-
-2005-09-21 Chris Sutcliffe <ir0nh34d@users.sourceforge.net>
-
- * include/winbase.h (RegisterWaitForSingleObject,
- RegisterWaitForSingleObjectEx): Define.
- * lib/kernel32.def (RegisterWaitForSingleObjectEx@20): Define.
- (RegisterWaitForSingleObject@16): Changed to
- RegisterWaitForSingleObject@24.
- Thanks to: Brandon Sneed <nivenh at users dot sourceforge dot net>
-
-2005-09-19 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/winsock2.h (SO_EXCLUSIVEADDRUSE): Define.
- Thanks to: Gisle Vanem <giva at bgnett dot no>
-
-2005-09-08 Dimitri Papadopoulos <papadopo@users.sourceforge.net>
-
- * include/reason.h [_WIN32_WINNT >= 0x0501]
- (SHTDN_REASON_*): New file.
- * include/objbase.h: Avoid double header guard.
-
-2005-08-17 Michael Jung <mjung@iss.tu-darmstadt.de>
-
- * lib/shell32.c (CLSID_RecycleBin, CLSID_ControlPanel,
- CLSID_MyComputer,CLSID_Internet, CLSID_NetworkPlaces,
- CLSID_MyDocuments, CLSID_FolderShortcut): Add GUIDs.
-
-005-08-17 Martin Fuchs <martin-fuchs@gmx.net>
-
- * include/shlobj.h (IContextMenu3): Define.
- * include/shlguid.h (IID_IContextMenu3): Declare.
- * lib/shell32.c (IID_IContextMenu3): Define.
-
-2005-08-17 Martin Fuchs <martin-fuchs@gmx.net>
-
- * include/shlobj.h (SHFormatDrive): Declaration of function
- and associated constants.
-
-2005-08-12 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/ddk/hidsdi.h: New file.
- * lib/ddk/hid.def: Uncomment symbols and add stdcall suffix for
- functions declared in hidsdi.h.
- Thanks to: Alex J Lennon <ajlennon at organixconsulting dot com>
-
-2005-08-12 Danny Smith <dannysmith@users.sourceforge.net>
-
- * lib/imm32.def (ImmDisableIME): Add stub.
- Thanks to: "kidmin" <kidmin at users dot sourceforge dot net>
-
-2005-08-10 Chris Sutcliffe <ir0nh34d@users.sf.net>
-
- * include/w32api.h: Increment version to 3.3.
- * Makefile.in: Ditto.
-
-2005-07-28 Earnie Boyd <earnie@users.sf.net>
-
- * include/winnt.h (SUBLANG_PORTUGUESE, SUBLANG_PORTUGUESE_BRAZILIAN):
- Correct their values.
- Thanks to: Daniel K. O. <danielosmari at users dont sf dot net>
-
-2005-07-25 Chris Sutcliffe <ir0nh34d@users.sourceforge.net>
-
- * include/winuser.h (HSHELL_RUDEAPPACTIVATED): Define.
-
-2005-07-20 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/wingdi.h (TT_PRIM_CSPLINE): Define.
- Thanks to: Bob Jamison <ishmal at users dot sourceforge dot net>
-
-2005-07-20 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/richedit.h (SETTEXTEX): Define structure and
- associated constants.
- (GT_SELECTION): Define GETTEXTEX flag constant.
-
-2005-07-19 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/wingdi.h (SYSPAL_NOSTATIC256): Define.
-
-2005-07-19 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/wingdi.h (WINGDIAPI): Define to DECLSPEC_DLLIMPORT
- if __W32API_USE_DLLIMPORT__. Use throughout to qualify
- prototypes.
-
-2005-07-19 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/commctrl.h (RBBS_USECHEVRON): Define.
- (RBBS_*): Use hex notation, group together.
-
-2005-07-18 Danny Smith <dannysmith@users.sourceforge.net>
-
- * lib/kernel32.def (GetUserGeoID): Correct suffix.
- Thanks to: "bernd23" <bernd23 at users dot sourceforge dot net>
-
-2005-07-18 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/commctrl.h (TreeView_SetItemState): Initilise
- _tvi.hItem.
- Thanks to: Joseph Remes <jremes at users dot sourceforge dot net>
-
-2005-07-18 Mattia Barbon <mbarbon@users.sourceforge.net>
-
- * include/commctrl.h (NMLVFINDITEM): Add structure.
-
-2005-07-18 Michael Gerdau <mgdde@users.sourceforge.net>
-
- * include/wininet.h (WININET_API_FLAG_*): Add defines.
-
-2005-07-18 Daniel Atallah <datallah@users.sourceforge.net>
-
- * include/winnt.h (VER_SET_CONDITION): Define.
-
-2005-07-18 Michael Gerdau <mgdde@users.sourceforge.net>
-
- * include/wincon.h (AttachConsole): Correct _WIN32_WINNT guard.
- (ATTACH_PARENT_PROCESS): Define.
- (CONSOLE_WINDOWED_MODE): Correct definition to match MSDN
- documentation.
-
-2005-07-17 Benoit Blanchon <bblanchon@users.sourceforge.net>
-
- * include/winbase.h (QueueUserWorkItem): Add prototype.
-
-2005-07-13 Benoit Blanchon <bblanchon@users.sourceforge.net>
-
- * include/wingdi.h (SHADEBLENDCAPS, SB_NONE, SB_CONST_ALPHA,
- SB_PIXEL_ALPHA, SB_PREMULT_ALPHA, SB_GRAD_RECT, SB_GRAD_TRI,
- COLORMGMTCAPS, CM_NONE, CM_DEVICE_ICM, CM_GAMMA_RAMP,
- CM_CMYK_COLOR): Define.
-
-2005-06-19 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/winldap.h (ldap_simple_bindW, ldap_simple_bind_sW,
- ldap_bindW, ldap_bind_sW): Change PCHAR arg to PWCHAR.
- Thanks to: Christian <chhd at users dot sf dot net>
-
-2005-06-18 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/richedit.h (GETTEXTEX): Correct name of lpUsedDefChar
- field.
- Thanks to: Saulius Menkevicius <bobas at users dot sf dot net>
-
-2005-06-18 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/winbase.h (GlobalDiscard): Define as macro.
- Thanks to: David Golub <david_golub at users dot sf dot net>
-
-2005-05-13 Corinna Vinschen <corinna@vinschen.de>
-
- * include/winnetwk.h (WNetGetResourceParentA): Add missing declaration.
- (WNetGetResourceParentW): Ditto.
- * include/ddk/ntifs.h (FILE_ID_FULL_DIRECTORY_INFORMATION): Define.
- (FILE_ID_BOTH_DIRECTORY_INFORMATION): Define.
-
-2005-04-26 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/wininet.h (FtpGetFileSize): Add prototype.
- (FtpCommand[AW]): Correct prototypes.
- Reported by: <siger at users dot sf dot net>
-
-2005-04-25 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/vfw.h (capCreateCaptureWindow[AW]): Add prototypes.
- (capGetDriverDescription[AW]): Likewise.
-
-2005-04-03 Corinna Vinschen <corinna@vinschen.de>
-
- * include/winnt.h (SE_UNDOCK_NAME TEXT): Define.
- (SE_MANAGE_VOLUME_NAME TEXT): Ditto.
- (SE_IMPERSONATE_NAME TEXT): Ditto.
- (SE_ENABLE_DELEGATION_NAME TEXT): Ditto.
- (SE_SYNC_AGENT_NAME TEXT): Ditto.
-
-2005-03-16 Christopher Faylor <cgf@timesys.com>
-
- * include/winnt.h (SYSTEM_LUID): Fix definitition invalidated by below
- change.
-
-2005-03-16 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/winnt.h (_LUID): Add structure. Correct LUID typedef.
- Thanks to:
- Paul-Christiaan Spruijtenburg <wakarimasu at users dot sf dot net>
-
-2005-03-07 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/ws2tcpip.h (getaddrinfo, freeaddrinfo, getnameinfo):
- Guard with _WIN32_WINNT >= 0x0501. Add FIXME comment.
- (gai_strerror[AW]): Put into #if 0 block.
-
-2005-03-07 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/basetyps.h (__int16): Correct define.
-
-2005-02-10 Jiri Malak <Jiri.Malak@iol.cz>
- Danny Smith <dannysmith@users.sourceforge.net>
-
- * lib/directx/dinput_private.h (ATTRIBUTE_TEXT_SECTION): New
- define for Open Watcom portability.
- * lib/directx/(dinput_joy.c, dinput_joy2.c, dinput_kbd.c,
- dinput_mouse.c, dinput_mouse2.c): Use new macro in definition
- of local c_rgodfDI* objects. Replace .rdata section attribute
- with 'const' keyword in definition of global c_dfDI* objects.
-
-2005-02-07 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/winioctl.h (IOCTL_VOLUME_BASE,
- IOCTL_VOLUME_GET_VOLUME_DISK_EXTENTS, IOCTL_VOLUME_IS_CLUSTERED):
- Copy defines from include/ddk/ntdddvol.h.
- Bug reported to Debian by Anand Kumria <wildfire@progsoc.org>
-
-2005-01-27 Oliver Stoeneberg <oliverst@online.de>
-
- * include/winbase.h (PWIN32_FIND_DATA): Add typedef.
-
-2005-01-26 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/winuser.h (SW_SMOOTHSCROLL): Add define.
- Reported by: Christian Ehrlicher <chehrlic@users.sf.net>
-
-2005-01-21 Chris Sutcliffe <ir0nh34d@users.sourceforge.net>
-
- * include/commdlg.h (OFN_DONTADDTORECENT): Added definition.
-
-2005-01-18 Danny Smith <dannysmith@users.sourceforge.net>
-
- * lib/user32.def (MonitorFromPoint): Correct suffix.
-
-2005-01-13 Benoit Blanchon <bblanchon@users.sourceforge.net>
-
- * include/wininet.h (InternetCheckConnectionA,
- InternetCheckConnectionW) Add prototypes.
- (INTERNET_RAS_INSTALLED, INTERNET_CONNECTION_OFFLINE,
- INTERNET_CONNECTION_CONFIGURED): Add defines.
-
-2005-01-07 Chris Sutcliffe <ir0nh34d@users.sourceforge.net>
-
- * include/commctrl.h (ComboBox_SetMinVisible,
- ComboBox_GetMinVisible): Added Macros.
- * include/winuser.h (CB_SETMINVISIBLE, CB_GETMINVISIBLE):
- Added definitions.
-
-2005-01-02 Jiri Malak <Jiri.Malak@geac.cz>
-
- * include/winnt.h (GetCurrentFiber, GetFiberData): Make inline
- assembly code conditional on _X86_.
-
-2005-01-02 Earnie Boyd <earnie@users.sf.net>
-
- * include/w32api.h: Increment version to 3.2.
- * Makefile.in: Ditto.
- * include/afxres.h: Remove the \r from the line ending.
- * include/errorrep.h: Ditto.
- * include/shldisp.h: Ditto.
- * include/tschema.h: Ditto.
- * lib/dhcpcsvc.def: Ditto.
- * lib/uxtheme.def: Ditto.
- * lib/wldap32.def: Ditto.
-
-2005-01-01 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/winerror.h (ERROR_EXE_CANNOT_MODIFY_STRONG_SIGNED_BINARY):
- Correct typo.
- Thanks to: Aidan France <aidan1@users.sourceforge.net>
-
-2004-12-29 Chris Sutcliffe <ir0nh34d@users.sourceforge.net>
-
- *include/winuser.h (MNS_*, WM_MENUCOMMAND,
- WM_MENUGETOBJECT, WM_MENUDRAG, WM_NCMOUSEHOVER,
- WM_NCMOUSELEAVE, WM_UNINITMENUPOPUP,
- SPI_GETFOREGROUNDLOCKTIMEOUT,
- SPI_SETFOREGROUNDLOCKTIMEOUT): Added definitions.
- *include/imm.h (WM_IME_REQUEST): Added definition.
- *include/shlobj.h (SLGP_RAWPATH,
- SLGP_UNCPRIORITY): Added definition.
-
-2004-12-28 Chris Sutcliffe <ir0nh34d@users.sourceforge.net>
-
- *include/winuser.h (HSHELL_FLASH): Added definition.
-
-2004-12-23 Chris Sutcliffe <ir0nh34d@users.sourceforge.net>
-
- * include/shldisp.h (IAutoComplete): Added interface definiton.
- * include/shldisp.h (IAutoComplete2): Added interface definiton.
- * include/shldisp.h (ACO_AUTOSUGGEST): Added definition.
- * include/shlobj.h (IObjMgr): Added interface definiton.
- * lib/shell32.c (CLSID_AutoComplete, IID_AutoComplete,
- IID_AutoComplete2, CLSID_ACLMulti, IID_IObjMgr,
- CLSID_ACListISF, IID_IACList): Added GUIDs.
- * include/shlguid.h (CLSID_AutoComplete, IID_AutoComplete,
- IID_AutoComplete2, CLSID_ACLMulti, IID_IObjMgr,
- CLSID_ACListISF, IID_IACList): Added GUIDs.
-
-2004-12-23 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/commctrl.h (CDRF_NOTIFYSUBITEMDRAW): Add define.
- Thanks to: Chris Sutcliffe <ironhead@walled.net>
- (CDRF_*): Use hex notation for constants.
-
-2004-12-08 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/sqlext.h (SQL_INTERVAL_*): Correct macros.
- Reported by Eric Sharkey <sharkey at netrics dot com>
-
-2004-12-07 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/winnt.h (TOKEN_INFORMATION_CLASS): Add
- TokenGroupsAndPrivileges, TokenSessionReference,
- TokenSandBoxInert, TokenAuditPolicy, TokenOrigin.
- Reformat.
- (SID_NAME_USE): Add SidTypeComputer. Reformat.
- Thanks to Gabriel Linder <mingwlinder@users.sourceforge.net>
-
-2004-12-02 Danny Smith <dannysmith@users.sourceforge.net>
-
- * lib/comctl32.def (ImageList_Copy, ImageList_DrawIndirect,
- ImageList_Duplicate): Add stubs.
-
-2004-12-02 Danny Smith <dannysmith@users.sourceforge.net>
-
- * lib/directx/strmiids.c (MEDIASUBTYPE_YV12): Correct GUID.
- Thanks to "Pete" <pross@xvid.org>
-
-2004-11-21 Benoit Blanchon <bblanchon@users.sourceforge.net>
-
- * include/wingdi.h (AC_SRC_ALPHA, AC_SRC_NO_ALPHA,
- AC_DST_NO_ALPHA, ...): Add defines.
- * include/winuser.h (ULW_COLORKEY,ULW_ALPHA,
- ULW_OPAQUE): Add defines.
-
-2004-11-21 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/winnt.h (VerSetConditionMask): Correct typo in _WIN32_WINNT
- guard.
- * lib/kernel32.def (VerSetConditionMask): Correct stdcall
- suffix.
- * lib/ddk/ntoskrnl.def (VerSetConditionMask): Likewise.
-
-2004-11-20 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/winbase.h (PPROCESS_INFORMATION): Add typedef.
- (CreateProcessWithLogonW): Declare.
- (LOGON_WITH_PROFILE, LOGON_NETCREDENTIALS_ONLY): Add defines.
- Thanks to: "jkmaki" <jkmaki@users.sourceforge.net>
-
-2004-11-19 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/sspi.h (SecPkgContext_Sizes): Fix typo.
- Thanks to: David Leonard <leonard@users.sourceforge.net>
-
-2004-11-19 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/sspi.h (SecPkgCredentials_Names[AW]): Correct name.
- Thanks to: David Leonard <leonard@users.sourceforge.net>
-
-2004-11-19 Magnus Olsen <greatlord@users.sourceforge.net>
-
- * include/winuser.h (MSLLHOOKSTRUCT): Add structure.
-
-2004-11-19 Magnus Olsen <greatlord@users.sourceforge.net>
-
- * include/winuser.h (LLKHF_EXTENDED, LLKHF_INJECTED, LLKHF_UP):
- Add defines.
- (LLKHF_ALTDOWN): Define based on KF_ALTDOWN.
-
-2004-11-19 Benoit Blanchon <bblanchon@users.sourceforge.net>
-
- * include/shellapi.h (NIF_GUID): Add another define.
-
-2004-11-18 Earnie Boyd <earnie@users.sf.net>
-
- * include/wincon.h (AttachConsole): Correct the _WIN32_WINNT filter.
- Changed it twice due to inconsistent MSDN documentation.
- * include/w32api.h (Windows95, etc. and IE3, etc.): Add definitions.
-
-2004-11-13 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/shlobj.h (SHGFP_TYPE): Add enum.
-
-2004-11-12 Loïc Guilloux (glx@users.sourceforge.net>
-
- * include/winuser.h (WM_THEMECHANGED): Add define.
-
-2004-11-11 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/ddk/winddk.h (ExAllocateFromPagedLookasideList,
- ExFreeToPagedLookasideList): Guard inline versions with
- (__USE_NTOSKRNL__) && (_WIN32_WINNT >= 0x0501). Declare as
- external functions for earlier _WIN32_WINNT.
-
-2004-11-11 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/ras.h (RASCONN[AW]): Remove dwSessionId field.
-
-2004-11-09 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/winnls.h (WINBASEAPI): Define as DECLSPEC_IMPORT
- if undefined and __W32API_USE_DLLIMPORT__.
- Add WINBASEAPI token to prototypes, throughout.
-
-2004-11-08 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/winnt.h (GetCurrentFiber): Support -masm=intel.
- (GetFiberData): Likewise.
- (NtCurrentTeb): Likewise.
-
-2004-11-04 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/shellapi.h (NIF_INFO): Add define.
- (NIIF_*) Add defines..
- Thanks to: Benoit Blanchon <bblanchon@users.sourceforge.net>
- (NIF_*): Convert constants to hex.
-
-2004-11-02 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/wingdi.h (GetFontUnicodeRanges,GetGlyphIndicesA,
- GetGlyphIndicesW): Declare.
- (GGI_MARK_NONEXISTING_GLYPHS): Define
- * lib/gdi32.def (GetFontUnicodeRanges,GetGlyphIndicesA,
- GetGlyphIndicesW): Add stubs.
-
-2004-10-24 Dan Aloni <da-x@colinux.org>
-
- * include/ddk/ntapi.h (NtQueryFullAttributesFile,
- ZwQueryFullAttributesFile): Declare.
- * include/ddk/ntapi.h (RtlDosPathNameToNtPathName_U):
- Declare.
- lib/ntoskrnl.def (ZwQueryDirectoryFile, ZwQueryFullAttributesFile.
- ZwQueryVolumeInformationFile): Add stubs.
-
-2004-10-18 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/wsahelp.h (WINSOCK_MAPPING, WSHGetWinsockMapping,
- PWSH_GET_WINSOCK_MAPPING): Don't define if __OBJC__.
-
-2004-10-15 Robert Wruck <wruck@tweerlei.de>
- Danny Smith <dannysmith@users.sourceforge.net>
-
- = include/winbase.h (InitializeSListHead, Interlocked*):
- Guard with !__USE_NTOSKRNL__.
-
- * include/ddk/ntddk.h (__USE_NTOSKRNL__): Define.
- * include/ddk/winddk.h (InitializeSListHead, Interlocked*):
- Guard with __USE_NTOSKRNL__.
- (ExInterlockedPopEntrySList, ExInterlockedPushEntrySList):
- Add prototypes. Guard macro definition with __USE_NTOSKRNL__
- && _WIN32_WINNT >= 0x0501
- (ExAllocateFromNPagedLookasideList, ExAllocateFromPagedLookasideList,
- ExFreeToNPagedLookasideList, ExFreeToPagedLookasideList):
- Replace calts to InterlockedPopEntrySList, InterlockedPushEntrySList
- with ExInterlockedPopEntrySList, ExInterlockedPushEntrySList.
-
- * lib/ddk/ntosknl.def (ExInterlockedPopEntrySList,
- ExInterlockedPushEntrySList) Add stubs with fastcall decoration.
- (ExDesktopObjectType, ExEventObjectType, ExSemaphoreObjectType,
- ExWindowStationObjectType, IoAdapterObjectType,
- IoDeviceHandlerObjectSize, IoDeviceHandlerObjectType,
- IoDeviceObjectType, IoDriverObjectType, IoFileObjectType,
- LpcPortObjectType, MmSectionObjectType, SeTokenObjectType):
- Uncomment stubs.
-
-2004-10-11 Robert Wruck <wruck@tweerlei.de>
-
- * include/ddk/winddk.h (IoReleaseRemoveLockAndWait): Fix
- definition
- (IoReleaseRemoveLock): Add definition.
-
-2004-10-10 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/ddk/winnt4.h (Exi386InterlockedDecrementLong,
- Exi386InterlockedExchangeUlong, Exi386InterlockedIncrementLong);
- Add prototypes.
- * include/winddk.h (ExInterlockedAddUlong,
- ExInterlockedInsertHeadList, ExInterlockedInsertTailList,
- ExInterlockedRemoveHeadList, ExInterlockedPopEntryList,
- ExInterlockedPushEntryList): Change calling convention to
- DDKAPI.
- (ExfInterlockedAddUlong,ExInterlockedInsertHeadList,
- ExInterlockedInsertTailList, ExInterlockedRemoveHeadList,
- ExInterlockedPopEntryList, ExInterlockedPushEntryList):
- Add prototypes for DDKFASTAPI versions.
- Thanks to Vadim Yegor0v <zg at bmg dot lv> for report.
- * lib/ntoskrnl.def (ExInterlockedAddUlong,
- ExInterlockedInsertHeadList, ExInterlockedInsertTailList,
- ExInterlockedRemoveHeadList, ExInterlockedPopEntryList,
- ExInterlockedPushEntryList): Remove lead '@' from stubs.
- (ExfInterlockedAddUlong,ExfInterlockedInsertHeadList,
- ExfInterlockedInsertTailList, ExfInterlockedRemoveHeadList,
- ExfInterlockedPopEntryList, ExfInterlockedPushEntryList):
- Add fastcall stubs.
- (Exi386InterlockedDecrementLong, Exi386InterlockedExchangeUlong,
- Exi386InterlockedIncrementLong); Add stdcall stubs.
-
-2004-09-30 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/winbase.h (WINBASEAPI): Define as DECLSPEC_IMPORT only
- if __W32API_USE_DLLIMPORT__ is defined.
- * include/winuser.h (WINUSERAPI): Likewise.
-
-2004-09-29 Filip Navara <xnavara@volny.cz>
-
- * include/ddk/(atm.h, batclass.h, cfg.h, cfgmgr32.h, d4drvif.h,
- d4iface.h, ddkmapi.h, hidclass.h, hidpi.h, mcd.h, miniport.h,
- mountdev.h, mountmgr.h, ndis.h, ndistapi.h, ndiswan.h, netpnp.h,
- newdev.h, ntapi.h, ntdd8042.h, ntddbeep.h, ntddcdrm.h, ntddcdvd.h,
- ntddchgr.h, ntdddisk.h, ntddkbd.h, ntddmou.h, ntddpar.h, ntddpcm.h,
- ntddscsi.h, ntddser.h, ntddstor.h, ntddtape.h, ntddtdi.h,
- ntddvdeo.h, ntddvol.h, ntpoapi.h, parallel.h, pfhook.h, poclass.h,
- scsi.h, scsiscan.h, smbus.h, srb.h, storport.h, tdiinfo.h,
- tdikrnl.h, tvout.h, upssvc.h, usb.h, usb100.h, usbdi.h, usbioctl.h,
- usbiodef.h, usbscan.h, usbuser.h, videoagp.h, winddi.h, winddk.h,
- winnt4.h, ws2san.h): Fixed packing.
- * include/ddk/atm.h (ATM_TRAFFIC_DESCRIPTOR_IE): Fixed declaration.
- * include/ddk/hidclass.h (HID_INTERFACE_HIDPARSE,
- HID_INTERFACE_NOTIFY_PNP): Likewise.
- * include/ddk/ndis.h (NDIS_DMA_BLOCK, CO_FLOW_PARAMETERS): Likewise.
- (NdisQueryPacketLength): Added macro. Thanks to Art Yerkes
- <ayerkes@speakeasy.net>.
- * include/ddk/usb100.h (USB_CONFIGURATION_DESCRIPTOR): Fixed
- declaration.
- * include/ddk/winddi.h (PATHDATA, GLYPHPOS): Likewise.
- * include/ddk/winddk.h (PDRIVER_CONTROL, PDRIVER_LIST_CONTROL,
- PDRIVER_ADD_DEVICE, PIO_COMPLETION_ROUTINE, PDRIVER_CANCEL,
- PKDEFERRED_ROUTINE, PDRIVER_DISPATCH, PIO_DPC_ROUTINE,
- PMM_DLL_INITIALIZE, PMM_DLL_UNLOAD, PDRIVER_ENTRY,
- PDRIVER_INITIALIZE, PKSERVICE_ROUTINE, PIO_TIMER_ROUTINE,
- PDRIVER_REINITIALIZE, PDRIVER_STARTIO, PKSYNCHRONIZE_ROUTINE,
- PDRIVER_UNLOAD, DRIVER_OBJECT): Fixed callback declarations.
- (struct FILE_BASIC_INFORMATION): Renamed to _FILE_BASIC_INFORMATION.
- (SYNCH_LEVEL): Added definition.
- (KPCR, KPCR_TIB): Fixed declaration.
- (Interlocked[Push/Pop]EntrySList): Declare only if winbase.h isn't
- included and _WIN32_WINNT >= 0x0501.
- (RtlEqualLuid): Fixed macro definition.
- (KfLowerIrql, KfRaiseIrql): Declare and use instead of KeLowerIrql and
- KeRaiseIrql on i386 architectures.
-
-2004-09-06 Hosaka Yuji <hos@tamanegi.org>
-
- * include/mshtml.h (IHTMLDocument2): Correct get_selection
- declaration.
- (IHTMLSelectionObject): Correct get_type declaration.
- (IHTMLFramesCollection2, IHTMLWindow2, IHTMLFrameBase,
- IHTMLFrameBase2, IHTMLFrameBase3, IHTMLBodyElement,
- IHTMLBodyElement2): Add interfaces.
- (LPHTMLIMAGEELEMENTFACTORY, LPHTMLEVENTOBJ, LPHTMLSCREEN,
- LPHTMLOPTIONELEMENTFACTORY, LPOMHISTORY, LPOMNAVIGATOR): Add
- typedefs.
- * lib/mshtml-uuid.c (IID_IHTMLFrameBase2, IID_IHTMLFrameBase3):
- Add IIDs.
-
-2004-09-05 Earnie Boyd <earnie@users.sf.net>
-
- * include/w32api.h: Increment version to 3.1.
- * Makefile.in: Ditto.
-
-2004-09-05 Hosaka Yuji <hos@tamanegi.org>
-
- * include/winuser.h (MonitorFromPoint, MonitorFromRect,
- MonitorFromWindow): Add prototypes.
- * lib/user32.def (MonitorFromPoint, MonitorFromRect,
- MonitorFromWindowMonitorFromWindow): Add stubs.
- * include/shellapi.h (DuplicateIcon): Add prototype.
-
-2004-09-05 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/winuser.h (WINUSERAPI): New define.
- Use it to mark user32.dll imports, throughout.
-
-2004-09-05 Hosaka Yuji <hos@tamanegi.org>
-
- * lib/ddk/hid.def (HidD_FlushQueue, HidD_FreePreparsedData,
- HidD_GetAttributes, HidD_GetConfiguration, HidD_GetFeature,
- HidD_GetHidGuid, HidD_GetIndexedString, HidD_GetInputReport,
- HidD_GetManufacturerString, HidD_GetMsGenreDescriptor,
- HidD_GetNumInputBuffers, HidD_GetPhysicalDescriptor,
- HidD_GetPreparsedData, HidD_GetProductString,
- HidD_GetSerialNumberString, HidD_SetConfiguration,
- HidD_SetFeature, HidD_SetNumInputBuffers, HidD_SetOutputReport,
- HidP_GetButtonCaps, HidP_GetValueCaps): Add exports.
-
-2004-08-25 Lars Rune Nøstdal <daysleper@users.sourceforge.net>
-
- * include/wincon.h (CONSOLE_FULLSCREEN_MODE, CONSOLE_WINDOWED_MODE):
- Add XP defines.
- (PCOORD): Add typedef.
- (GetConsoleDisplayMode, SetConsoleDisplayMode): Add prototypes.
-
-2004-08-25 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/winldap.h: Don't check value of UNICODE.
- Thanks to: "Jean-Do" <spab@users.sourceforge.net>
-
-2004-08-25 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/winbase.h (WINBASEAPI): Guard with __INSIDE_CYGWIN__.
-
-2004-08-24 Sam Robb <samrobb@users.sourceforge.net>
-
- * include/winbase.h (GetFileSizeEx): Add _WIN32_WINNT >= 0x0500
- guard.
-
-2004-08-24 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/winbase.h: Add WINBASEAPI token to prototypes, throughout.
-
-2004-08-15 Ken Fitlike <kenfitlike@users.sourceforge.net>
-
- * include/commctrl.h (WC_TREEVIEWA): Remove parenthenses.
-
-2004-08-10 Sebastian Nowak <snowak1@users.sourceforge.net>
-
- * include/ws2spi.h (LPWSPSELECT): Correct typedef.
-
-2004-08-10 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/wincrypt.h: Correct _WIN32_WINNT typo.
-
-2004-08-10 Ed Schaller <schallee@darkmist.net>
-
- * include/wincrypt.h (MS_ENH_RSA_AES_PROV_A, MS_ENH_RSA_AES_PROV_W)
- (ALG_SID_AES_128, ALG_SID_AES_192, ALG_SID_AES_256, ALG_SID_AES 17)
- (CALG_AES_128, CALG_AES_192, CALG_AES_256, CALG_AES,PROV_RSA_AES):
- Add defines.
- (CALG_SHA1): Add define.
- (HP_HMAC_INFO): Add define.
- (HMAC_INFO): Add struct.
- (BLOBHEADER): Add typedef.
-
-2004-07-26 Hartmut Honisch <hhonisch@users.sourceforge.net>
-
- * include/commctrl.h (TreeView_SetItemState): Define macro.
-
-2004-07-24 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/wingdi.h (CMYK): Correct macro. Group CMYK/RGB
- macros together.
-
-2004-07-24 Brodie Thiesfield <brofield@users.sourceforge.net>
-
- * include/shlobj.h (FILEDESCRIPTOR): Unicode it.
- (FILEGROUPDESCRIPTOR): LIkewise.
-
-2004-07-06 Corinna Vinschen <corinna@vinschen.de>
-
- * winbase.h (IsWow64Process): Add missing WINAPI qualifier.
-
-2004-06-16 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/winnt.h (IMAGE_ORDINAL_FLAG): Map to ...
- (IMAGE_ORDINAL_FLAG{32,64}: New defines.
- (IMAGE_SNAP_BY_ORDINAL): Map to ...
- (IMAGE_SNAP_BY_ORDINAL{32,64}: New defines.
- (IMAGE_ORDINAL): Map to ...
- (IMAGE_ORDINAL{32,64}: New defines.
- (IMAGE_THUNK_DATA): Map to ...
- (IMAGE_THUNK_DATA{32,64}: New structures.
- (IMAGE_THUNK_DATA): Map to ...
- (IMAGE_THUNK_DATA{32,64}: New structures.
- (IMAGE_IMPORT_DESCRIPTOR): Map to ...
- (IMAGE_IMPORT_DESCRIPTOR{32,64}: New structures.
- (IMAGE_IMAGE_TLS_DIRECTORY) Map to ...
- (IMAGE_IMAGE_TLS_DIRECTORY{32,64}: New structures.
-
-2004-06-16 Bang Jun-Young <junyoung@NetBSD.org>
-
- * w32api/include/winnt.h (WAITORTIMERCALLBACKFUNC): Protect with
- _WIN32_WINNT >= 0x0500.
-
-2004-06-05 Luke Dunstan <infidel@users.sourceforge.net>
-
- * include/winbase.h (GetWriteWatch): Correct prototype.
- (WRITE_WATCH_FLAG_RESET): Define.
- Thanks to Sergey Philippov <phis@users.sourceforge.net>.
-
-2004-06-02 Rocher Laurent <lrocher@users.sourceforge.net>
-
- * include/commctrl.h (Animate_OpenEx): Define.
- (DateTime_GetSystemTime, DateTime_SetSystemTime): Correct names.
- (ListView_GetNumberOfWorkAreas): Correct macro.
- (ListView_SetUnicodeFormat, ListView_GetUnicodeFormat,
- ListView_SetItemCountEx, ListView_GetISearchString,
- TreeView_GetLastVisible, Header_CreateDragImage,
- Header_SetImageList, Header_GetImageList): Define.
- (LVM_SETUNICODEFORMAT, LVM_GETUNICODEFORMAT,
- MCM_GETUNICODEFORMAT, MCM_SETUNICODEFORMAT,
- TBSTATE_ELLIPSES): Define.
- (MonthCal_SetRange): Correct macro.
- (ImageList_Duplicate): Declare.
-
-2004-05-29 Filip Navara <xnavara@volny.cz>
-
- * include/winnt.h (IMAGE_EXPORT_DIRECTORY): Fixed declaration.
-
-2004-05-25 Al Slater <al.slater@scluk.com>
-
- * include/httpext.h (HSE_SEND_HEADER_EX_INFO,
- HSE_REQ_SEND_RESPONSE_HEADER_EX): Define.
-
-2004-05-15 Filip Navara <xnavara@volny.cz>
-
- * include/ddk/kbdmou.h: New file.
- * lib/ddk/videoprt.def (VideoPortMapBankedMemory,
- VideoPortMapDmaMemory, VideoPortMapMemory): Correct suffix.
- * lib/ddk/ntoskrnl.def (_snprintf, _snwprintf, _vsnprintf,
- _vsnwprintf, sprintf, swprintf): Export.
-
-2004-05-15 Filip Navara <xnavara@volny.cz>
-
- * include/ddk/ntddk.h: Don't set 4-byte alignment on included
- headers.
-
-2004-05-07 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/wingdi.h: Correct non-unicode typedefs of
- ENUMLOGFONTEXDV, PENUMLOGFONTEXDV, LPENUMLOGFONTEXDV.
-
-2004-05-07 Pascal Obry <obry@act-europe.fr>
-
- * include/winsock.h (IN_CLASSA): Fix macro.
- * include/winsock2.h (IN_CLASSA): Fix macro.
-
-2004-04-29 Bart Oldeman <bartoldeman@users.sourceforge.net>
-
- * include/objbase.h (STGOPTIONS): Correct pwcsTemplateFile type.
- * include/aclui.h: Remove '\r', throughout.
- * include/msacm.h: Likewise.
- * lib/aclui.def: Likewise.
-
-2004-04-28 Luke Dunstan <infidel@users.sourceforge.net>
-
- * lib/comctl32.def (SetWindowSubclass): Add stub.
- Thanks to Eugene <egladysh@users.sourceforge.net>.
-
-2004-04-24 Luke Dunstan <infidel@users.sourceforge.net>
-
- * include/winbase.h (EXECUTION_STATE): Add typedef.
- (SetThreadExecutionState): Declare.
- * include/wingdi.h (_WINGDI_): Define.
- * include/objbase.h (_OBJBASE_H_): Define.
-
-2004-04-24 Luke Dunstan <infidel@users.sourceforge.net>
-
- * include/winuser.h (SM_IMMENABLED, SM_CXFOCUSBORDER,
- SM_CYFOCUSBORDER, SM_TABLETPC, SM_MEDIACENTER): Add defines.
- (SM_CMETRICS): Adjust value.
- * include/winnt.h (PROCESSOR_ARCHITECTURE_MSIL): Correct define.
- (PROCESSOR_ARCHITECTURE_AMD64, PROCESSOR_ARCHITECTURE_IA32_ON_WIN64):
- Add defines.
- Thanks to Benoit Blanchon <bblanchon@users.sourceforge.net>
-
-2004-04-24 Justin Forest <vhex@users.sourceforge.net>
-
- * include/winsock2.h (LUP_DEEP, LUP_CONTAINERS,
- LUP_NOCONTAINERS, LUP_NEAREST, LUP_RETURN_NAME,
- LUP_RETURN_TYPE, LUP_RETURN_VERSION, LUP_RETURN_COMMENT,
- LUP_RETURN_ADDR, LUP_RETURN_BLOB, LUP_RETURN_ALIASES,
- LUP_RETURN_QUERY_STRING, LUP_RETURN_ALL, LUP_RES_SERVICE,
- LUP_FLUSHCACHE, LUP_FLUSHPREVIOUS): Add defines.
-
-2004-04-24 Luke Dunstan <infidel@users.sourceforge.net>
-
- * include/windns.h (DNSREC_QUESTION, DNSREC_ANSWER, DNSREC_AUTHORITY,
- DNSREC_ADDITIONAL): Add defines.
-
-2004-04-23 Robert Wruck <wruck@tweerlei.de>
-
- * include/commctrl.h (LPNMLVDISPINFO): Add defines.
-
-2004-04-23 Robert Wruck <wruck@tweerlei.de>
-
- * include/aclui.h: New file.
- * lib/aclui.def: New file.
- * lib/test.c: Add aclui.h to includes.
-
-2004-04-21 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/winuser.h (SPI_GETACTIVEWINDOWTRACKING,
- SPI_GETACTIVEWNDTRKZORDER, SPI_SETACTIVEWINDOWTRACKING,
- SPI_SETACTIVEWNDTRKZORDER): Remove duplicate defines.
-
-2004-04-20 Christopher Faylor <cgf@alum.bu.edu>
-
- * include/wingdi.h: Protect non-unicode case of below.
-
-2004-04-20 Christopher Faylor <cgf@alum.bu.edu>
-
- * include/wingdi.h: Protect use of ENUMLOGFONTEXDV, PENUMLOGFONTEXDV,
- LPENUMLOGFONTEXDV with appropriate version check.
-
-2004-04-18 Hans Leidekker <hans@it.vu.nl>
-
- * lib/directx/dxguid.c (CLSID_DirectSoundPrivate,
- DSPROPSETID_DirectSoundDevice): Add defines.
-
-2004-04-20 Adrian Sandor <aditsu@users.sourceforge.net>
-
- * include/msacm.h: New file.
-
-2004-01-09 Stuart Cunningham <stuart_hc@users.sourceforge.net>
-
- * include/objbase.h (STGFMT): Declare enum.
- (STGOPTIONS): Declare structure.
- (StgCreateStorageEx, StgOpenStorageEx): Declare.
- (STGOPTIONS_VERSION): Define.
- * lib/ole32.def (StgCreateStorageEx, StgOpenStorageEx): Add stubs.
-
-2004-04-13 Filip Navara <xnavara@volny.cz>
-
- * include/winuser.h (IS_INTRESOURCE, MB_CANCELTRYCONTINUE,
- WM_NCXBUTTONDOWN, WM_NCXBUTTONUP, WM_NCXBUTTONDBLCLK,
- WM_XBUTTONDOWN, WM_XBUTTONUP, WM_XBUTTONDBLCLK,
- DCX_INTERSECTUPDATE, MK_XBUTTON1, MK_XBUTTON2,
- HELP_SETWINPOS): Define.
- (WM_MOUSELAST): Different value for _WIN32_WINNT >= 0x0500.
- (SPI_*): Add new definitions for WINVER >= 0x500.
- (CallMsgFilter[AW], SetWindowsHookA): Correct prototype.
- (InternalGetWindowText, SetWindowsHookW): Declare.
- * include/winbase.h (InitializeSListHead): Avoid conflicting
- definition with DDK headers.
-
-2004-04-13 Gé van Geldorp <gvg@reactos.com>
-
- * include/winuser.h (GetLastError): Move from here...
- * include/winbase.h: ... to here.
-
-2004-04-13 Filip Navara <xnavara@volny.cz>
-
- * include/winspool.h (DocumentPropertiesW): Correct prototype.
-
-2004-04-13 Filip Navara <xnavara@volny.cz>
-
- * include/wingdi.h (ENHMETAHEADER): Add definitions for
- WINVER >= 0x400.
- (WCRANGE, GLYPHSET, LPPOLYTEXT[AW]): Declare.
- (ENUMLOGFONTEXW): Fix definition.
- (ENUMLOGFONTEXDV[AW]): Declare.
-
-2004-04-13 Filip Navara <xnavara@volny.cz>
-
- * include/wingdi.h: Declare the DirectDraw structures only if
- the DirectDraw kernel mode headers aren't included.
- (EMFINFO): Declare.
- (EngStretchBlt, EngTextOut, FONTOBJ_cGetGlyphs,
- STROBJ_bEnumPositionsOnly): Correct prototypes.
-
-2004-04-13 Filip Navara <xnavara@volny.cz>
-
- * include/objidl.h (PRPCOLEMESSAGE): Declare.
- * include/rpc.h (RPCRTAPI): Define.
- * include/rpcdce.h (RpcServerRegisterIf2): Declare.
- * include/rpcdcep.h (RPC_BLOCKING_FN, I_RpcSend): Declare.
- (RPC_BLOCKING_FUNCTION): Remove, replaced by RPC_BLOCKING_FN.
- (I_RpcBindingSetAsync): Correct prototype.
- * include/rpcndr.h (MIDL_STUB_MESSAGE): Rename 'Reserved' field
- to w2kReserved.
- (USER_MARSHAL_SIZING_ROUTINE, USER_MARSHAL_MARSHALLING_ROUTINE,
- USER_MARSHAL_UNMARSHALLING_ROUTINE, USER_MARSHAL_FREEING_ROUTINE,
- USER_MARSHAL_ROUTINE_QUADRUPLE, NDR_NOTIFY_ROUTINE, IDL_CS_CONVERT,
- CS_TYPE_NET_SIZE_ROUTINE, CS_TYPE_LOCAL_SIZE_ROUTINE,
- CS_TYPE_TO_NETCS_ROUTINE, CS_TYPE_FROM_NETCS_ROUTINE,
- CS_TAG_GETTING_ROUTINE, NDR_CS_SIZE_CONVERT_ROUTINES,
- NDR_CS_ROUTINES, NdrUserMarshalMarshall, NdrUserMarshalUnmarshall,
- NdrUserMarshalBufferSize, NdrUserMarshalMemorySize,
- NdrUserMarshalFree): Declare.
- (MIDL_STUB_DESC): Add new fields that were added in W2K.
- * include/rpcproxy.h (CStdStubBuffer): Ditto.
-
-2004-04-13 Filip Navara <xnavara@volny.cz>, David Welch <welch@cwcom.net>
-
- * include/ddk/ntapi.h (NtCurrentProcess, NtCurrentThread,
- LPC_MESSAGE_BASE_SIZE): Define.
- * include/ddk/ntifs.h: Move the pack pragma under header inclusion.
-
-2004-04-13 Filip Navara <xnavara@volny.cz>
-
- * include/commctrl.h (TB_MARKBUTTON, NMTBGETINFOTIP[AW]):
- Declare.
-
-2004-04-18 Allan Bazinet <bazineta@users.sourceforge.net>
-
- * include/winuser.h (MONITORINFOEX[AW]): Change to be derived from
- MONITORINFO when compiling as C++.
-
-2004-04-17 Luke Dunstan <infidel@users.sourceforge.net>
-
- * README.w32api: List separate copyright conditions for some headers.
- * include/(winsock2.h, wsipx.h): Minor change to copyright header.
-
-2004-04-15 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/wingdi.h (RGB): Correct macro.
-
-2004-04-14 Robert Wruck <rwruck@users.sourceforge.net>
-
- * include/ddk/winddk.h (RtlEqualLuid): Correct macro.
-
-2004-04-06 Luke Dunstan <infidel@users.sourceforge.net>
-
- * include/ocidl.h (QACONTAINERFLAGS): Correct typedef.
-
-2004-03-29 Danny Smith <dannysmith@users.sourceforge.net>
-
- * lib/Makefile.in: Add directx to .PHONY target.
- * lib/directx/dxerr.c: Remove dependence on mingw runtime.
- Don't include stdio.h or tchar.h.
- Replace _T() macro with TEXT() macro, throughout.
- Replace _stprintf with wsprintf, throughout.
-
-2004-03-27 Hosaka Yuji <hos@tamanegi.org>
-
- * include/dbt.h (DBT_DEVTYP_DEVICEINTERFACE, DBT_DEVTYP_HANDLE):
- Add define.
- (DEV_BROADCAST_DEVICEINTERFACE, DEV_BROADCAST_HANDLE): Add struct.
- * include/winuser.h (UnregisterDeviceNotification): Add prototype.
- * lib/user32.def (UnregisterDeviceNotification): Add export stub.
-
-2004-03-27 Filip Navara <xnavara@volny.cz>
-
- * include/directx: New subdir.
- * lib/directx: Ditto.
- * include/directx/(d3d9.h, d3d9caps.h, d3d9types.h, dxerr8.h,
- dxerr9.h): New files.
- * lib/directx/(Makefile.in, d3d8.def, d3d9.def, d3dim.def, d3drm.def,
- d3dx8d.def, d3dx9d.def, d3dxof.def, ddraw.def, dinput.def,
- dinput_joy.c, dinput_joy2.c, dinput_kbd.c, dinput_mouse.c,
- dinput_mouse2.c, dinput_private.h, dinput8.def, dmoguids.c, dplayx.def,
- dpnaddr.def, dpnet.def, dpnlobby.def, dpvoice.def, dsetup.def,
- dsound.def, dxerr.c, dxerr8.c, dxerr8w.c, dxerr9.c, dxerr9w.c,
- dxguid.c, ksproxy.def, ksuser.c, ksuser.def, msdmo.def, quartz.def,
- strmiids.c, test.c): Ditto.
- * lib/(d3dim.def, d3drm.def, d3dxof.def, ddraw.def, dinput.c,
- dinput.def, dplayx.def, dsetup.def, dsound.def, dxguid.c): Removed.
-
-2004-03-25 Dimitri Papadopoulos <papadopo@users.sourceforge.net>
-
- * include/GL/glu.h (GLU_AUTO_LOAD_MATRIX, GLU_CULLING,
- GLU_SAMPLING_TOLERANCE, GLU_DISPLAY_MODE, GLU_PARAMETRIC_TOLERANCE,
- GLU_SAMPLING_METHOD, GLU_U_STEP, GLU_V_STEP): Define.
-
-2004-03-24 Filip Navara <xnavara@volny.cz>
-
- * include/commctrl.h (TB_GETSTRING[AW]): Add defines.
- (RBBS_HIDETITLE, RBBS_TOPALIGN): Ditto.
-
-2004-03-24 Filip Navara <xnavara@volny.cz>
-
- * include/ddk/srb.h (_PORT_CONFIGURATION_INFORMATION): Rename
- TaggedQueueing to TaggedQueuing.
- (_HW_INITIALIZATION_DATA): Likewise.
-
-2004-03-16 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/docobj.h (IOleDocumentView::GetDocument): Correct
- prototype.
- Thanks to Buster Copley <consequent@users.sourceforge.net>
-
-2004-03-16 Danny Smith <dannysmith@users.sourceforge.net>
-
- * lib/ddk/ntoskrnl.def (MmAllocatePagesForMdl): Correct suffix.
- (MmMapIoSpace): Likewise.
- Thanks to Dan Aloni <da-x@colinux.org>
-
-2004-03-16 Martin Fuchs <martin-fuchs@gmx.net>
-
- * include/shellapi.h (NIM_* NIS_*): Define constants for
- notification icons with _WIN32_IE >= 0x0500.
- (NOTIFYICONDATA): Add new structure members for notification
- icons with _WIN32_IE >= 0x0500.
-
-2004-03-13 Danny Smith <dannysmith@users.sourceforge.net>
-
- *include/wininet.h (CACHEGROUP_SEARCH_ALL, CACHEGROUP_SEARCH_BYURL):
- Add defines.
- (INTERNET_CACHE_GROUP_ADD, INTERNET_CACHE_GROUP_REMOVE): Add defines.
- (GROUPID) Add typedef.
- (INTERNET_CACHE_GROUP_INFO[AW]): Define structures.
- (CreateUrlCacheGroup): Add prototype.
- (DeleteUrlCacheGroup): Add prototype.
- (FindFirstUrlCacheGroup): Add prototype.
- (FindNextUrlCacheGroup): Add prototype.
- (GetUrlCacheGroupAttribute[AW]): Add prototypes.
- (SetUrlCacheGroupAttribute[AW]): Add prototypes.
-
-2004-03-10 Al Slater <al.slater@scluk.com>
-
- * include/winsock2.h: Add missing LPFN_ typdefs for
- function pointers.
- Clean up whitespace.
-
-2004-03-05 Filip Navara <xnavara@volny.cz>
-
- * include/ddk/scsi.h: Replace assert with ASSERT.
- * include/ddk/video.h: Ditto.
- * include/ddk/winddk.h: Ditto. Remove the assert macro.
- * include/ddk/tdi.h: Correct packing.
-
-2004-03-04 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/wtypes.h (DECIMAL_SETZERO): Add definition for
- NONAMELESSUNION case.
-
-2004-03-03 Martin Fuchs <martin-fuchs@gmx.net>
-
- * include/oleauto.h (V_UNION, V_VT, V_DECIMAL): Use
- __VARIANT_NAME_ constants.
-
-2004-03-02 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/uxtheme.h: Include <commctrl.h>
-
-2004-03-02 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/basetyps.h (GUID_SECT): Define to nothing for GCC >= 2.95.
-
-2004-03-02 Martin Fuchs <martin-fuchs@gmx.net>
-
- * include/oleauto.h (VAR_VALIDDATE, VAR_FORMAT_NOSUBSTITUTE,
- VAR_FOURDIGITYEARS): Define new constants. Group VAR_* defines
- together.
- (V_UI2, V_UI4, V_UI4REF, V_UI, V_UI8REF): Define macros.
- (V_I8, V_I8REF): Correct macros.
- (V_DECIMAL): Correct macro definitions.
- (V_INT_PTR, V_UINT_PTR, V_INT_PTRREF, V_UINT_PTRREF): Define
- constants.
- (VTBIT_*): Define constants.
- (UDATE): Add structure definition.
- (VarDateFromUdate, VarDateFromUdateEx, VarUdateFromDate): Declare
- functions.
- (SafeArrayCreateVector): Correct parameter type from UINT to ULONG
- (SafeArrayCreateVectorEx): Declare function.
- (Var*): declare VARIANT manipulation functions.
- * include/ocidl.h (IPicture_*): Define IPicture COBJ macros.
- * include/oaidl.h (IRecordInfo_*): Define IRecordInfo COBJ
- macros.
-
-2004-03-01 Martin Fuchs <martin-fuchs@gmx.net>
-
- * include/oaidl.h (FADF_*): Define missing constants.
- (IDispatch_*): Define COBJ macros.
- (VARIANT): Add missing union members llVal and ullVal.
- (wireVARIANT): Likewise.
- (ITypeinfo_*): Define COBJ macros.
- * include/oleauto.h (Var*FromDisp): Correct parameter type from
- LPDISPATCH* to LPDISPATCH.
- (VARCMP_*, VAR_LOCALBOOL, LOCALE_USE_NLS, VARIANT_*,
- VAR_CALENDAR_*): Add missing constants.
- (SafeArray[Get/Set]*): Add prototypes.
- (Var*From*): Add missing prototypes.
- (NUMPRS_*): Add defines.
- (NUMPARSE): Define structure.
- (VarParseNumFromStr,VarNumFromParseNum): Add prototypes.
- * include/winerror.h (DISP_E_DIVBYZERO): Define constant.
- * include/winuser.h (COLOR_*): Define missing constants.
- * include/wtypes.h (enum VARENUM): Add VT_INT_PTR, VT_UINT_PTR.
- (VT_INT_PTR, VT_UINT_PTR): Remove macro definitions.
-
-2004-02-23 Filip Navara <xnavara@volny.cz>
-
- * include/ddk/video.h: Corrected packing.
-
-2004-02-19 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/GL/glu.h (GLU_ERROR): Define.
- Thanks to Philip Lamb <phil at rave dot co dot nz>
-
-2004-02-19 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/GL/glu.h: Include <stddef.h>.
- Thanks to Greg Couch <gregcouch@users.sourceforge.net>
-
-2004-02-15 Earnie Boyd <earnie@users.sf.net>
-
- * include/w32api.h: Increment version to 3.0.
- * Makefile.in: Ditto.
- * README.win32api: Modify license to Public Domain per agreement as
- found in the mingw-dvlpr list archive.
-
-2004-02-13 Earnie Boyd <earnie@users.sourceforge.net>
-
- * include/ddk/winddk.h (DIRECTORY_QUERY): Add define.
- (DIRECTORY_TRAVERSE): Ditto.
- (DIRECTORY_CREATE_OBJECT): Ditto.
- (DIRECTORY_CREATE_SUBDIRECTORY): Ditto.
- (DIRECTORY_ALL_ACCESS): Ditto.
- Thanks to Konstantin Stepaniuk <skostia@users.sourceforge.net>
-
-2004-02-12 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/basetypes.h (_REFIID_DEFINED): Correct typo.
-
- * include/winuser.h (NCCALCSIZE_PARAMS): Define structure.
- Thanks to Mike Nordell <tamlin at algonet dot se>.
-
-2004-02-11 Danny Smith <dannysmith@users.sourceforge.net>
-
- * lib/dnsapi.def: New file.
- * lib/test.c: Include windns.h.
-
-2004-02-11 Pierre A. Humblet <Pierre.Humblet@ieee.org>
-
- * include/windns.h: New file.
-
-2004-02-11 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/sqlucode.h (SQLGetStmtAttr[AW]): Remove duplicate
- defines.
- (SQLSetStmtAttr[AW]): Move into ODBCVER >= 0x0300 block.
- (SQLSetDescFieldW): Correct prototype.
- (SQLSetDescFieldA): Add prototype.
- (SQLGetDescFieldW): Add prototype.
-
-2004-02-11 Pat Thoyts <patthoyts@users.sourceforge.net>
-
- * include/winuser.h (DFC_POPUPMENU): Add define.
-
-2004-02-07 Dan Aloni <da-x@gmx.net>
-
- * lib/ddk/ntoskrnl.def (KeSetTimer,KeSetTimerEx): Correct
- suffix.
-
-2004-02-02 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/oleacc.h (LIBID_Accessibility): Declare.
- * lib/uuid.c (LIBID_Accessibility): Define.
-
-2004-02-02 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/winioctl.h (NTFS_VOLUME_DATA_BUFFER): Add structure.
- (FSCTL_GET_NTFS_VOLUME_DATA): Add macro.
-
-2004-02-02 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/commctrl.h (ICC_STANDARD_CLASSES, ICC_LINK_CLASS): Add
- defines.
-
-2004-01-31 Jiri Malak <Jiri.Malak@geac.cz>
-
- * include/winuser.h (RT_MANIFEST): Make conditional on
- RC_INVOKED.
- (CREATEPROCESS_MANIFEST_RESOURCE_ID,
- ISOLATIONAWARE_MANIFEST_RESOURCE_ID,
- ISOLATIONAWARE_NOSTATICIMPORT_MANIFEST_RESOURCE_ID): Add
- defines.
-
-2004-01-16 Martin Fuchs <martin-fuchs@gmx.net>
-
- * include/shlobj.h (SHGDN_INCLUDE_NONFILESYS): Add define.
-
-2004-01-15 Filip Navara <xnavara@volny.cz>
-
- * include/ddk/mcd.h: Don't care about value of DBG define.
- * include/ddk/srb.h: Ditto.
- * include/ddk/storport.h: Ditto.
- * include/ddk/video.h: Ditto.
- * include/nspapi.h (SetServiceW, GetAddressByNameA,
- GetAddressByNameW): Correct protoype.
- * include/ntsecapi.h (PCUNICODE_STRING): Define.
-
-2004-01-05 Filip Navara <xnavara@volny.cz>
-
- * include/prsht.h (LPCPROPSHEETPAGEW): Fix definition.
- * include/shlwapi.h (SHRegQueryInfoUSKey[AW]): Fix prototype.
- * include/cpl.h (CPL_STARTWPARMS[AW]): Correct.
- * include/shellapi.h (ABS_AUTOHIDE, ABS_ALWAYSONTOP,
- SEE_MASK_NO_CONSOLE, SEE_MASK_ASYNCOK, SEE_MASK_HMONITOR,
- FOF_NOCOPYSECURITYATTRIBS): Add defines.
- * include/shlobj.h (BFFM_SETOKTEXT, BFFM_SETEXPANDED,
- CSIDL_FLAG_DONT_VERIFY, CSIDL_FLAG_CREATE, CSIDL_FLAG_MASK,
- CFSTR_INETURL[AW], SHGDN_FOREDITING, SHGDN_FORADDRESSBAR,
- SSF_*): Add defines.
- (SHCNF_PATH[AW], SHCNF_PRINTER[AW], CFSTR_FILENAME[AW],
- CFSTR_FILENAMEMAP[AW], CFSTR_FILEDESCRIPTOR[AW], CFSTR_SHELLURL,
- CMDSTR_NEWFOLDER[AW], CMDSTR_VIEWLIST[AW], CMDSTR_VIEWDETAILS[AW]):
- Correct.
- (IEnumIDList): Add COBJMACROS.
- * include/winuser.h (MIM_*): Add define.
-
-2004-01-04 Filip Navara <xnavara@volny.cz>
-
- * include/shlguid.h (IID_IPersistFolder2, IID_IPersistFolder3,
- IID_IShellFolder2, IID_IFileSystemBindData): Add declarations.
- * include/shlobj.h (EXTRASEARCH, SHCOLSTATEF, SHELLDETAILS,
- PERSIST_FOLDER_TARGET_INFO): Define structures.
- (IEnumExtraSearch, IShellFolder2, IFileSystemBindData,
- IPersistFolder2, IPersistFolder3): Add COM interface
- definitions.
- (IExtractIcon[AW], IShellLink[AW], IPersistFolder, IShellView,
- ICommDlgBrowser, IShellFolder2, IPersistFolder2, IPersistFolder3):
- Add COBJMACROS.
- (SHCreateDirectoryEx[AW], SHBindToParent): Add prototypes.
- * lib/shell32.c (IID_IPersistFolder2, IID_IPersistFolder3,
- IID_IShellFolder2, IID_IFileSystemBindData): Add definitions.
-
-2004-01-03 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/mshtml.h (IHTMLDocument2): Correct write, writeln
- declarations.
- Thanks to: Rene Nyffenegger <renenyffenegger@users.sf.net>.
-
-2004-01-03 Filip Navara <xnavara@volny.cz>
-
- * include/cguid.h (CLSID_StdGlobalInterfaceTable): Declare IID.
- * include/oaidl.h (ITypeLib2, ITypeInfo2): Define interfaces,
- declare IID's.
- (IErrorInfo): Add COBJMACROS.
- * include/objbase.h (STGM_NOSNAPSHOT): Add define.
- (CoGetPSClsid): Add protototype,
- (CoRegisterPSClsid): Likewise.
- * include/objidl.h (IMarshal): Correct methods.
- (IMallocSpy): Likewise,
- (LPPSFACTORYBUFFER): Add typedef.
- (IGlobalInterfaceTable): Define interface and COBJMACROS. Declare
- IID.
- (IStorage_CreateStorage, IRpcStubBuffer_Invoke): Fix macros.
- * include/ocidl.h (PROPBAG2_TYPE): Define enum.
- (PROPBAG2, QACONTAINERFLAGS, QACONTAINER, QACONTROL): Define
- structures.
- (IPropertyBag2, IPersistPropertyBag2,IAdviseSinkEx, IPointerInactive,
- IOleUndoUnit, IOleParentUndoUnit, IEnumOleUndoUnits, IOleUndoManager,
- IQuickActivate): Define interfaces. Declare IID's.
- (IPersistPropertyBag2): Add COBJMACROS.
- (LPOLEUNDOMANAGER): Add typedef.
- (LPPROPERTYBAG2): Likewise.
- * include/oleidl.h (LPPARSEDISPLAYNAME): Fix definiton.
- (BINDSPEED): Add definition.
- (IParseDisplayName, IOleItemContainer, IOleObject, IDropSource,
- IDropTarget): Add COBJMACROS.
- * include/wtypes.h (MEMCTX, MSHCTX): Fix enum.
- * include/winerror.h (CO_S_NOTALLINTERFACES): Add define.
- * lib/uuid.c (IID_IGlobalInterfaceTable, IID_IOleUndoManager,
- IID_IPersistPropertyBag2, IID_IPropertyBag2, IID_IRpcProxyBuffer):
- Add IID definitions.
-
-2004-01-02 Filip Navara <xnavara@volny.cz>
-
- * include/ddk/winddk.h: Don't care about value of
- DBG define.
-
-2004-01-02 Danny Smith <dannysmith@users.sourceforge.net>
- Filip Navara <xnavara@volny.cz>
-
- * include/ddk/winddk.h (_DDK_DUMMYUNION_MEMBER,
- _DDK_DUMMYUNION_N_MEMBER): New macros.
- (ExAllocateFromPagedLookasideList,ExFreeToPagedLookasideList,
- ExAllocateFromNPagedLookasideList, ExFreeToNPagedLookasideList):
- Use them.
-
-2004-01-01 Filip Navara <xnavara@volny.cz>
-
- * include/objbase.h: Don't care about value of DBG define.
- * include/objidl.h: Add some COBJMACROS.
- * include/ocidl.h: Ditto.
- * include/oleidl.h: Ditto.
- * include/servprov.h: Ditto.
- * include/shlobj.h: Ditto.
- * include/shlobj.h (IContextMenu2): Correct parent in
- DECLARE_INTERFACE.
- * include/oleidl.h (IOleCache, IOleCache2, IOleCacheControl):
- Define interfaces.
- * include/setupapi.h (SetupGetLineTextA): Correct prototype.
- Add new constants for _SETUPAPI_VER >= 0x501.
-
-2004-01-01 Filip Navara <xnavara@volny.cz>
-
- * include/winnt.h (NtCurrentTeb): Add inline definition.
-
-2004-01-01 Martin Fuchs <martin-fuchs@gmx.net>
-
- * include/shlobj.h (SHCoCreateInstance): Add prototype.
- * lib/shell32.def (SHCoCreateInstance): Add export stub.
-
-2004-01-01 Igor Pechtchanski <pechtcha@cs.nyu.edu>
-
- * lib/setupapi.def (CM_Request_Device_Eject[AW]): Add export.
- (CM_Request_Device_Eject_Ex[AW]): Likwise.
- * include/ddk/cfg.h (DN_*): Add defines.
-
-2004-01-01 Danny Smith <dannysmith@users.sourceforge.net>
-
- * lib/ddk/cfgmgr32.def: Remove duplicate symbol names.
-
-2004-01-01 Mattia Barbon <mbarbon@users.sourceforge.net>
-
- * include/commctrl.h (TVN_GETINFOTIP): Add UNICODE mappings.
- (NMTVGETINFOTIP): Add structure.
-
-2003-12-08 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/winuser.h (DISPLAY_DEVICE_*): Remove defines.
- * include/wingdi.h (DISPLAY_DEVICE_REMOVABLE,
- DISPLAY_DEVICE_MODESPRUNED): Add defines.
-
-2003-12-08 Hartmut Honisch <hhonisch@users.sourceforge.net>
-
- * include/commctrl.h (ListView_Get_State, ListView_Check_State):
- Add macros.
- * include/wingdi.h (DISPLAY_DEVICE_*): Add multi-monitor
- constants.
- * include/shlobj.h (SHCOLUMNINIT): Add structure.
- (SHCOLUMNDAT): Likwise.
- (SHCOLUMNID): Likewise.
- (SHCOLUMNINFO): Likewise.
- (SHCOLSTATE): Add enum.
- (IColumnProvider): Add COM interface.
- (IQueryInfo): Likewise.
- (IShellIconOverlayIdentifier): Likewise.
- * include/shlguid.h (IID_IColumnProvider) Declare.
- (IID_IQueryInfo): Likweise.
- (IID_IShellIconOverlayIdentifier): Likwise.
- * lib/shell32.c (IID_IColumnProvider) Define.
- (IID_IQueryInfo): Likweise.
- (IID_IShellIconOverlayIdentifier): Likwise.
-
-2003-12-08 Roald Ribe <rrib@users.sourceforge.net>
-
- * include/winuser.h (RT_MANIFEST): Add define.
-
-2003-12-08 Pascal Buhler <pbuhler@users.sourceforge.net>
-
- * include/oleidl.h (IViewObject2): Inherit from IViewObject.
-
-2003-12-01 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/winnt.h (GetCurrentFiber): Remove duplicate prototype.
- (GetFiberData): Likewise.
- (GetCurrentFiber): Change volatile to __volatile__.
- (GetFiberData): Likewise.
-
-2003-11-27 Christopher Faylor <cgf@redhat.com>
-
- * lib/Makefile.in: Use make function to locate .mri file to allow
- building in directory other than source directory.
-
-2003-11-27 Danny Smith <dannysmith@users.sourceforge.net>
-
- * lib/vfw32.def: Remove, replacing with ...
- * lib/msvfw32.def: New file.
- * lib/avicap32.def: New file.
- * lib/avifil32.def: New file.
- * lib/vfw32.mri: New file.
- * Makefile.in: (MRI_FILES, MIMPLIBS): New vars for
- import libs with multiple dll's.
- (LIBS): Add MIMPLIBS.
- (DISTFILES): Add MRI_FILES.
- (libvfw32.a): Build using mri script.
-
-2003-11-23 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/winnt.h (PAGE_*): Group defines together. Change
- constants to hex notation.
-
-2003-11-15 Manu B <manubee@users.sourceforge.net>
-
- * include/commctrl.h (TabCtrl_GetImageList): Add macro.
-
-2003-11-13 Martin Fuchs <martin-fuchs@gmx.net>
-
- * include/shlobj.h (ILAppendID, ILClone, ILCloneFirst, ILCombine,
- ILFindChild, ILFindLastID, ILFree, ILGetNext, ILGetSize, ILIsEqual,
- ILIsParent, ILLoadFromStream, ILRemoveLastID, ILSaveToStream):
- Add prototypes.
- * lib/shell32.def: Add stubs.
-
- * include/commctrl.h (ListView_FindItem): Add type cast to avoid
- compiler warnings.
-
-2003-11-13 Hans Leidekker <hans@it.vu.nl>
-
- * include/winbase.h (WIN32_STREAM_ID): Correct typedef.
-
-2003-10-13 Andre Auzi <aauzi@users.sourceforge.net>
-
- * include/windows.h (CopyCursor): Define as macro.
-
-2003-10-13 Steven Edwards <Steven_Ed4153@yahoo.com>
-
- * include/winnt.h (CONTAINING_RECORD): Add macro.
-
-2003-10-13 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/winnt.h: (FILE_SUPERSEDED, FILE_OPENED, FILE_CREATED,
- FILE_OVERWRITTEN, FILE_EXISTS, FILE_DOES_NOT_EXIST): Remove
- defines.
-
-2003-10-13 Filip Navara <xnavara@volny.cz>
-
- * include/commctrl.h (DSA_*): Add prototypes, typedefs and
- defines for Dynamic Storage Arrays.
- (DPA_*): Likewise, for Dynamic Pointer Arrays.
- (FlatSB_*, InitializeFlatSB, InitializeFlatSB): Add prototypes
- and defines for Flat ScrollBars.
- (SetWindowSubclass, GetWindowSubclass, RemoveWindowSubclass,
- DefSubclassProc): Add prototypes for subclassing.
- (DrawShadowText): Add prototype.
- (COMCTL32_VERSION): Define.
-
-2003-10-13 Martin Fuchs <Martin-Fuchs@gmx.net>
-
- * include/shlobj.h (CFSTR_FILENAME, CFSTR_FILEDESCRIPTOR,
- CFSTR_FILENAMEMAP, CFSTR_SHELLURL): Correct UNICODE definitions.
-
-2003-10-13 Pierre Humblet <pierre.humblet@ieee.org>
-
- * include/winnt.h (SM_REMOTESESSION): Add define.
- * include/winuser.h (SE_CREATE_GLOBAL_NAME): Ditto.
-
-2003-10-13 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/wincrypt (KP_IV, KP_SALT, KP_PADDING, KP_MODE,
- KP_MODE_BITS, KP_PERMISSIONS, KP_ALGID, KP_BLOCKLEN): Remove
- duplicate definitions.
- (KP_X, KP_Y): Correct typos.
-
-2003-10-11 Manu B <manubee@users.sourceforge.net>
-
- * include/afxres.h: New file.
-
- * include/richedit.h (ES_NOOLEDRAGDROP, ENM_DRAGDROPDONE,
- ENM_IMECHANGE, ENM_LANGCHANGE, ENM_OBJECTPOSITIONS,
- ENM_SCROLLEVENTS): Add constants.
-
- * include/richedit.h (ES_SELECTIONBAR, ENM_LINK): Sort constants.
-
-2003-10-09 Dimitri Papadopoulos <papadopo@users.sourceforge.net>
-
- * include/errorep.h: New file.
-
- * lib/faultrep.def: New file.
-
-2003-10-09 Dimitri Papadopoulos <papadopo@users.sourceforge.net>
-
- * include/winbase.h (AddVectoredExceptionHandler): Define if
- _WIN32_WINNT >= 0x0500.
-
- * include/winnt.h (PVECTORED_EXCEPTION_HANDLER): Define if
- _WIN32_WINNT >= 0x0500.
-
-2003-10-08 Corinna Vinschen <corinna@vinschen.de>
-
- * include/winbase.h (AddVectoredExceptionHandler): Only define if
- _WIN32_WINNT >= 0x0501.
-
-2003-10-07 Dimitri Papadopoulos <papadopo@users.sourceforge.net>
-
- * include/winbase.h [_WIN32_WINNT >= 0x0500] (SetComputerNameEx[AW],
- UnregisterWaitEx): Add functions.
-
- * include/winbase.h [_WIN32_WINNT >= 0x0500]
- (AddVectoredExceptionHandler, RemoveVectoredExceptionHandler): Add
- or guard function. The MSDN says it is available on Windows XP and
- better, and then it says it is declared for _WIN32_WINNT >= 0x0500.
- Huh?
-
- * include/winbase.h [_WIN32_WINNT >= 0x0501] (AddRefActCtx,
- CreateActCtx[AW], SetFileShortName[AW], SetFileValidData,
- ZombifyActCtx, QueryActCtxW): Add functions.
-
- * include/winbase.h [_WIN32_WINNT >= 0x0501]
- (QUERY_ACTCTX_FLAG_USE_ACTIVE_ACTCTX,
- QUERY_ACTCTX_FLAG_ACTCTX_IS_HMODULE,
- QUERY_ACTCTX_FLAG_ACTCTX_IS_ADDRESS): Add constants.
-
- * include/winbase.h [_WIN32_WINNT >= 0x0502] (SetDllDirectory[AW],
- SetFirmwareEnvironmentVariable[AW]): Add functions.
-
- * include/winnt.h [_WIN32_WINNT >= 0x0500] (VER_BUILDNUMBER,
- VER_MAJORVERSION, VER_MINORVERSION, VER_PLATFORMID,
- VER_SERVICEPACKMAJOR, VER_SERVICEPACKMINOR, VER_SUITENAME,
- VER_PRODUCT_TYPE, VER_EQUAL, VER_GREATER, VER_GREATER_EQUAL,
- VER_LESS, VER_LESS_EQUAL, VER_AND, VER_OR): Add constants.
-
- * include/winnt.h [_WIN32_WINNT >= 0x0501]
- (PVECTORED_EXCEPTION_HANDLER): Add callback.
-
- * include/winnt.h [_WIN32_WINNT >= 0x0501]
- (ACTIVATION_CONTEXT_INFO_CLASS,
- ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION,
- ACTIVATION_CONTEXT_DETAILED_INFORMATION,
- ACTIVATION_CONTEXT_QUERY_INDEX, ASSEMBLY_FILE_DETAILED_INFORMATION):
- Add structures.
-
- * lib/user32.def (AddRefActCtx, AddVectoredExceptionHandler,
- CreateActCtx[AW], SetComputerNameEx[AW], SetDllDirectory[AW],
- SetFileShortName[AW], SetFileValidData,
- SetFirmwareEnvironmentVariable[AW], UnregisterWaitEx,
- VerSetConditionMask, ZombifyActCtx, QueryActCtxW): Add functions.
-
-2003-10-07 Dimitri Papadopoulos <papadopo@users.sourceforge.net>
-
- * include/winbase.h (GetWriteWatch, IsSystemResumeAutomatic,
- ResetWriteWatch): Add function.
-
- * include/winbase.h [_WIN32_WINNT >= 0x0500]
- (GetSystemWindowsDirectory[AW], ProcessIdToSessionId, ReplaceFile[AW]):
- Add functions.
-
- * include/winbase.h [_WIN32_WINNT >= 0x0501]
- (GetSystemWow64Directory[AW], HeapQueryInformation,
- HeapSetInformation, InitializeSListHead, InterlockedFlushSList,
- InterlockedPopEntrySList, InterlockedPushEntrySList, IsProcessInJob,
- IsWow64Process, QueryMemoryResourceNotification, ReleaseActCtx,
- RemoveVectoredExceptionHandler): Add functions.
-
- * include/winnt.h [_WIN32_WINNT >= 0x0501] (HEAP_INFORMATION_CLASS):
- Add enumeration.
-
- * include/winbase.h [_WIN32_WINNT >= 0x0502] (GetThreadIOPendingFlag):
- Add function.
-
- * include/winbase.h [_WIN32_WINNT >= 0x0510] (RestoreLastError):
- Add function. The MSDN Magazine of June 2003 reads:
- RestoreLastError is an enigma. It's code is identical to
- SetLastError. It's unclear to me why it was made into a
- separate API.
-
- * lib/user32.def (GetSystemWindowsDirectory[AW],
- GetSystemWow64Directory[AW], GetThreadIOPendingFlag,
- HeapQueryInformation, HeapSetInformation, InitializeSListHead,
- InterlockedFlushSList, InterlockedPopEntrySList,
- InterlockedPushEntrySList, IsSystemResumeAutomatic, IsWow64Process,
- ProcessIdToSessionId, QueryMemoryResourceNotification, ReleaseActCtx,
- RemoveVectoredExceptionHandler, ReplaceFile[AW], ResetWriteWatch,
- RestoreLastError): Add functions.
-
-2003-10-07 Dimitri Papadopoulos <papadopo@users.sourceforge.net>
-
- * include/winbase.h [_WIN32_WINNT >= 0x0500] (GetComputerNameEx[AW],
- GetProcessIoCounters): Add functions.
-
- * include/winbase.h [_WIN32_WINNT >= 0x0500] (COMPUTER_NAME_FORMAT):
- Move around, needed by GetComputerNameEx.
-
- * include/winbase.h [_WIN32_WINNT >= 0x0501] (FindActCtxSectionGuid,
- FindActCtxSectionString[AW], GetCurrentActCtx, GetNativeSystemInfo):
- Add functions.
-
- * include/winbase.h [_WIN32_WINNT >= 0x0501]
- (ACTCTX_SECTION_KEYED_DATA): Add structure.
-
- * include/winbase.h [_WIN32_WINNT >= 0x0502] (GetDllDirectory[AW],
- GetFirmwareEnvironmentVariable[AW], GetProcessHandleCount,
- GetProcessId, GetSystemRegistryQuota): Add functions, available on
- Windows XP SP1 and better.
-
- * include/winnt.h [_WIN32_WINNT >= 0x0501]
- (ACTIVATION_CONTEXT_SECTION_ASSEMBLY_INFORMATION,
- ACTIVATION_CONTEXT_SECTION_DLL_REDIRECTION,
- ACTIVATION_CONTEXT_SECTION_WINDOW_CLASS_REDIRECTION,
- ACTIVATION_CONTEXT_SECTION_COM_SERVER_REDIRECTION,
- ACTIVATION_CONTEXT_SECTION_COM_INTERFACE_REDIRECTION,
- ACTIVATION_CONTEXT_SECTION_COM_TYPE_LIBRARY_REDIRECTION,
- ACTIVATION_CONTEXT_SECTION_COM_PROGID_REDIRECTION,
- ACTIVATION_CONTEXT_SECTION_CLR_SURROGATES): Add constants.
-
- * lib/user32.def (FindActCtxSectionGuid, FindActCtxSectionString[AW],
- GetComputerNameEx[AW], GetCurrentActCtx, GetDllDirectory[AW],
- GetFirmwareEnvironmentVariable[AW], GetModuleHandleEx[AW],
- GetNativeSystemInfo, GetProcessHandleCount, GetProcessIoCounters):
- Add functions.
-
-2003-10-07 Dimitri Papadopoulos <papadopo@users.sourceforge.net>
-
- * include/winbase.h [_WIN32_WINNT >= 0x0501]
- (CheckRemoteDebuggerPresent, DebugActiveProcessStop, DebugBreakProcess,
- DebugSetProcessKillOnExit): Add functions.
-
- * include/winbase.h [_WIN32_WINNT >= 0x0500] (DeleteTimerQueue,
- DeleteTimerQueueEx, DeleteTimerQueueTimer,
- DnsHostnameToComputerName[AW]): Add functions.
-
- * lib/user32.def (CheckRemoteDebuggerPresent, DebugActiveProcessStop,
- DebugBreakProcess, DebugSetProcessKillOnExit, DeleteTimerQueueEx,
- DeleteTimerQueueTimer, DnsHostnameToComputerName[AW]): Add functions.
-
-2003-10-07 Kobun Fujimori <kobun@users.sourceforge.net>
-
- * include/winbase.h (GetVolumePathNamesForVolumeName): Available
- on Windows XP and later.
-
-2003-10-07 Manu B <manubee@users.sourceforge.net>
-
- * include/commctrl.h (TreeView_Select): Returns BOOL.
-
-2003-10-06 Dimitri Papadopoulos <papadopo@users.sourceforge.net>
-
- * include/winbase.h (CancelDeviceWakeupRequest): Add function.
-
- * include/winbase.h [_WIN32_WINNT >= 0x0501]
- (CreateMemoryResourceNotification, DeactivateActCtx): Add functions.
-
- * include/winbase.h [_WIN32_WINNT >= 0x0500] (CreateTimerQueue,
- CreateTimerQueueTimer): Add function.
-
- * include/winbase.h [_WIN32_WINNT >= 0x0501]
- (MEMORY_RESOURCE_NOTIFICATION_TYPE): Add enumeration.
-
- * include/winbase.h [_WIN32_WINNT >= 0x0501]
- (DEACTIVATE_ACTCTX_FLAG_FORCE_EARLY_DEACTIVATION): Add constant.
-
- * include/winnt.h (WT_*): Add constants.
-
- * lib/user32.def (CancelDeviceWakeupRequest,
- CreateMemoryResourceNotification, CreateTimerQueueTimer,
- DeactivateActCtx): Add functions.
-
-2003-10-06 Dimitri Papadopoulos <papadopo@users.sourceforge.net>
-
- * include/winbase.h [_WIN32_WINNT >= 0x0400] (ConvertFiberToThread):
- Add function. Sometimes I don't understand MSDN. This function is
- available on Windows XP and Server 2003, but the SDK is supposed to
- make it available when _WIN32_WINNT >= 0x0400, or so says the MSDN.
- Mmmh...
-
- * include/winbase.h [_WIN32_WINNT >= 0x0400] (CreateFiberEx):
- Guard function. Same remark as above.
-
- * lib/user32.def (ConvertFiberToThread, CreateFiberEx):
- Add functions.
-
-2003-10-06 Dimitri Papadopoulos <papadopo@users.sourceforge.net>
-
- * include/winbase.h [_WIN32_WINNT >= 0x0501] (ACTCTX_FLAG_*):
- Add constants.
-
- * include/winbase.h [_WIN32_WINNT >= 0x0501] (ACTCTX[AW]): Add
- structures.
-
- * include/winbase.h [_WIN32_WINNT >= 0x0501] (ActivateActCtx): Add
- function. MSDN says the first argument is HACTCTX but I'm not sure
- where such a specialized handle is defined, so use HANDLE instead.
-
- * include/winbase.h [_WIN32_WINNT >= 0x0501] (AttachConsole,
- CheckNameLegalDOS8Dot3[AW]): Add functions.
-
- * lib/user32.def (ActivateActCtx, AttachConsole,
- CheckNameLegalDOS8Dot3[AW]): Add functions.
-
- * lib/user32.def (AddLocalAlternateComputerName[AW]): Add functions.
- Unfortunately I don't know which header to put the declarations in.
-
-2003-10-06 Dimitri Papadopoulos <papadopo@users.sourceforge.net>
-
- * include/winnls.h (CTRY_KYRGYZSTAN, CTRY_MALDIVES, CTRY_MONGOLIA):
- Add constants.
-
- * include/winnls.h (NLS_FUNCTION, SYSGEOCLASS, SYSGEOTYPE): Add
- constants for National Language Support.
-
- * include/winnls.h (NLSVERSIONINFO): Add structure for National
- Language Support.
-
- * include/winnls.h (GEO_ENUMPROC): Add callback for National
- Language Support.
-
- * include/winnls.h (EnumSystemGeoID, GetCalendarInfo[AW],
- GetGeoInfo[AW], GetUserGeoID, SetCalendarInfo[AW], SetUserGeoID):
- Add functions.
-
- * include/winnls.h (IsNLSDefinedString, GetNLSVersion): Add
- functions. Strange... I am unable to find which library contains
- these functions. Can't find anything with pexports. Any clue?
-
- * lib/user32.def (EnumSystemGeoID, GetGeoInfo[AW], GetUserGeoID,
- SetUserGeoID): Add functions.
-
-2003-10-06 Dimitri Papadopoulos <papadopo@users.sourceforge.net>
-
- * include/winnt.h (LANG_KYRGYZ, LANG_MONGOLIAN, LANG_GALICIAN,
- LANG_SYRIAC, LANG_INVARIANT, SUBLANG_KASHMIRI_SASIA): Add constants.
-
- * include/winnt.h (SUBLANG_AZERI_LATIN, SUBLANG_AZERI_CYRILLIC,
- SUBLANG_ENGLISH_ZIMBABWE, SUBLANG_ENGLISH_PHILIPPINES): Fix wrong
- value for constants.
-
-2003-10-03 Dimitri Papadopoulos <papadopo@users.sourceforge.net>
-
- * include/wincrypt.h (SCHANNEL_MAC_KEY, SCHANNEL_ENC_KEY,
- INTERNATIONAL_USAGE, KP_SCHANNEL_ALG): Add constants. Specifying
- the algorithms.
-
-2003-10-03 Dimitri Papadopoulos <papadopo@users.sourceforge.net>
-
- * include/wincrypt.h (CRYPT_FLAGS_*): Add constants. Protocol flags.
-
-2003-10-03 Dimitri Papadopoulos <papadopo@users.sourceforge.net>
-
- * include/wincrypt.h (KP_*): Add constants. Needed by
- CryptSetKeyParam() and other functions.
-
-2003-10-03 Dimitri Papadopoulos <papadopo@users.sourceforge.net>
-
- * include/winuser.h [_WIN32_WINNT >= 0x0501] (EVENT_*, CONSOLE_*):
- Add constants, related to Console Accessibility.
-
-2003-10-03 Dimitri Papadopoulos <papadopo@users.sourceforge.net>
-
- * include/winuser.h [WINVER >= 0x0500] (EVENT_MAX): Ooops...
- wrong value for constant.
-
-2003-10-03 Dimitri Papadopoulos <papadopo@users.sourceforge.net>
-
- * include/winuser.h [WINVER >= 0x0500] (EVENT_*): Add constants.
-
- * include/uxtheme.h: Cleanup.
- * include/tmschema.h: Cleanup.
-
-2003-10-02 Luke Dunstan <infidel@users.sourceforge.net>
-
- * include/winspool.h (GetDefaultPrinter[AW]): Add functions.
- * lib/winspool.def (GetDefaultPrinter[AW]): Add stubs.
-
-2003-10-01 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/winnt.h (INVALID_FILE_ATTRIBUTES): Fix define.
-
-2003-09-30 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/winuser.h (BSF_*, BSM_*): Sync constants defined in
- both winuser.h and dbt.h.
- * include/dbt.h (BSF_*, BSM_*): Likewise.
-
- * include/winuser.h (struct tagRAWINPUT): Remove
- _ANONYMOUS_UNION tag from named union.
- (struct tagRAWMOUSE): Add _ANONYMOUS_STRUCT to nameless struct.
-
-2003-09-30 Dimitri Papadopoulos <papadopo@users.sourceforge.net>
-
- * include/dhcpcdsk.h: New file.
- Note that MSDN is confused about whether it should start constant
- and structure names with DHCPCAPI or DHCPAPI. It's using both but
- experience suggests it's DHCPCAPI with `C'.
-
- * lib/dhcpcsvc.def: New file.
-
-2003-09-30 Dimitri Papadopoulos <papadopo@users.sourceforge.net>
-
- * include/winuser.h [_WIN32_WINNT >= 0x0501] (RIM_INPUT,
- RIM_INPUTSINK): Add constants, for use by WM_INPUT notification.
-
- * include/winuser.h [_WIN32_WINNT >= 0x0501] (RIDEV_REMOVE,
- RIDEV_EXCLUDE, RIDEV_PAGEONLY, RIDEV_NOLEGACY, RIDEV_INPUTSINK,
- RIDEV_CAPTUREMOUSE, RIDEV_NOHOTKEYS, RIDEV_APPKEYS): Add constants,
- for use in RAWINPUTDEVICE.
-
- * include/winuser.h [_WIN32_WINNT >= 0x0501]
- (GetRawInputDeviceInfo[AW]): Ooops... there are
- ANSI/Unicode versions of this function.
-
- * lib/user32.def (GetRawInputDeviceInfo[AW]): Ooops... there
- are ANSI/Unicode versions of this function.
-
-2003-09-29 Dimitri Papadopoulos <papadopo@users.sourceforge.net>
-
- * include/winuser.h [_WIN32_WINNT >= 0x0501] (RIM_TYPEMOUSE,
- RIM_TYPEKEYBOARD, RIM_TYPEHID, MOUSE_MOVE_RELATIVE,
- MOUSE_MOVE_ABSOLUTE, MOUSE_VIRTUAL_DESKTOP,
- MOUSE_ATTRIBUTES_CHANGED, RI_MOUSE_LEFT_BUTTON_DOWN,
- RI_MOUSE_LEFT_BUTTON_UP, RI_MOUSE_RIGHT_BUTTON_DOWN,
- RI_MOUSE_RIGHT_BUTTON_UP, RI_MOUSE_MIDDLE_BUTTON_DOWN,
- RI_MOUSE_MIDDLE_BUTTON_UP, RI_MOUSE_BUTTON_1_DOWNT_BUTTON_DOWN,
- RI_MOUSE_BUTTON_1_UP, RI_MOUSE_BUTTON_2_DOWNHT_BUTTON_DOWN,
- RI_MOUSE_BUTTON_2_UP, RI_MOUSE_BUTTON_3_DOWNDLE_BUTTON_DOWN,
- RI_MOUSE_BUTTON_3_UP, RI_MOUSE_BUTTON_4_DOWN,
- RI_MOUSE_BUTTON_4_UP, RI_MOUSE_BUTTON_5_DOWN,
- RI_MOUSE_BUTTON_5_UP, RI_MOUSE_WHEEL, KEYBOARD_OVERRUN_MAKE_CODE,
- RI_KEY_MAKE, RI_KEY_BREAK, RI_KEY_E0, RI_KEY_E1,
- RI_KEY_TERMSRV_SET_LED, RI_KEY_TERMSRV_SHADOW, RID_INPUT,
- RID_HEADER, RIDI_PREPARSEDDATA, RIDI_DEVICENAME,
- RIDI_DEVICEINFO): Add constants.
-
- * include/winuser.h [_WIN32_WINNT >= 0x0501] (RAWINPUTHEADER,
- RAWMOUSE, RAWKEYBOARD, RAWHID, RAWINPUT, RAWINPUTDEVICE,
- RAWINPUTDEVICELIST): Add structures.
-
- * include/winuser.h [_WIN32_WINNT >= 0x0501] (DefRawInputProc,
- GetRawInputBuffer, GetRawInputData, GetRawInputDeviceInfo,
- GetRawInputDeviceList, GetRegisteredRawInputDevices): Add functions.
-
- * lib/user32.def (DefRawInputProc, GetRawInputBuffer,
- GetRawInputData, GetRawInputDeviceInfo, GetRawInputDeviceList,
- GetRegisteredRawInputDevices): Add functions.
-
-2003-09-26 Dimitri Papadopoulos <papadopo@users.sourceforge.net>
-
- * include/winable.h (BlockInput): Add function.
-
- * include/winable.h (WS_ACTIVECAPTION): Add constant.
- For use with WINDOWINFO structure.
-
- * include/winuser.h [_WIN32_WINNT >= 0x0500] (LockWorkStation):
- Add function.
-
- * include/winuser.h [_WIN32_WINNT >= 0x0501] (IsWinEventHookInstalled):
- Add function.
-
- * include/winuser.h [WINVER >= 0x0500] (UnhookWinEvent):
- Add function...
-
- * include/winable.h [WINVER < 0x0500] (UnhookWinEvent):
- ...and duplicate.
-
- * include/winuser.h [_WIN32_WINNT >= 0x0403] (SendInput):
- Guard function...
-
- * include/winable.h [_WIN32_WINNT < 0x0403] (SendInput):
- ...and duplicate.
-
- * include/winuser.h [WINVER >= 0x0500] (NotifyWinEvent):
- Guard function...
-
- * include/winable.h [WINVER < 0x0500] (NotifyWinEvent):
- ...and duplicate.
-
- * include/winuser.h [WINVER >= 0x0500] (MOUSEINPUT, KEYBDINPUT,
- HARDWAREINPUT, INPUT): Guard structures...
-
- * include/winable.h [WINVER < 0x0500] (MOUSEINPUT, KEYBDINPUT,
- HARDWAREINPUT, INPUT): ...and duplicate.
-
- * include/winuser.h [_WIN32_WINNT >= 0x0403] (INPUT_MOUSE,
- INPUT_KEYBOARD, INPUT_HARDWARE): Guard constants...
-
- * include/winable.h [_WIN32_WINNT < 0x0403] (INPUT_MOUSE,
- INPUT_KEYBOARD, INPUT_HARDWARE): ...and duplicate.
-
- * include/winuser.h: Move around some lines. Reformat according
- to recommended or dominant style. Remove FAR keyword.
-
- * include/winable.h: Move around some lines.
-
- * lib/user32.def (BlockInput, IsWinEventHookInstalled,
- LockWorkStation, UnhookWinEvent): Add functions.
-
-2003-09-26 Dimitri Papadopoulos <papadopo@users.sourceforge.net>
-
- * include/winuser.h [_WIN32_WINNT >= 0x0501] (PrintWindow,
- PW_CLIENTONLY): Add function and constant.
-
- * lib/user32.def (PrintWindow): Add function.
-
-2003-09-26 Dimitri Papadopoulos <papadopo@users.sourceforge.net>
-
- * include/winuser.h (RealGetWindowClassA[AW]): Add function.
-
- * lib/user32.def (RealGetWindowClassA[AW]): Add function.
-
-2003-09-26 Dimitri Papadopoulos <papadopo@users.sourceforge.net>
-
- * include/winuser.h [WINVER >= 0x0500] (RegisterDeviceNotification[AW],
- DEVICE_NOTIFY_WINDOW_HANDLE, DEVICE_NOTIFY_SERVICE_HANDLE,
- DEVICE_NOTIFY_ALL_INTERFACE_CLASSES): Add function and constants.
-
- * lib/user32.def (RegisterDeviceNotification[AW]): Add function.
-
-2003-09-26 Dimitri Papadopoulos <papadopo@users.sourceforge.net>
-
- * include/winuser.h [WINVER >= 0x0500] (SetWinEventHook, WINEVENTPROC,
- WINEVENT_OUTOFCONTEXT, WINEVENT_SKIPOWNTHREAD, WINEVENT_SKIPOWNPROCESS,
- WINEVENT_INCONTEXT): Add function, typedef, and constants.
-
- * include/winable.h [WINVER < 0x0500] (SetWinEventHook, WINEVENTPROC,
- WINEVENT_OUTOFCONTEXT, WINEVENT_SKIPOWNTHREAD, WINEVENT_SKIPOWNPROCESS,
- WINEVENT_INCONTEXT): Add function, typedef, and constants.
-
- * include/winuser.h [_WIN32_WINNT >= 0x0500] (UserHandleGrantAccess):
- Add function.
-
- * lib/user32.def (SetWinEventHook, UserHandleGrantAccess):
- Add functions.
-
-2003-09-26 Dimitri Papadopoulos <papadopo@users.sourceforge.net>
-
- * include/winnt.h (ACE_INHERITED_OBJECT_TYPE_PRESENT,
- ACE_OBJECT_TYPE_PRESENT): Add constants.
- For use with OBJECTS_AND_NAME structure.
-
-2003-09-26 Dimitri Papadopoulos <papadopo@users.sourceforge.net>
-
- * include/aclapi.h [_WIN32_WINNT >= 0x0501] (GetInheritanceSource[AW]):
- Add functions. Don't know what PFN_OBJECT_MGR_FUNCTS is so use
- void* instead.
-
- * include/accctrl.h [_WIN32_WINNT >= 0x0501] (INHERITED_FROM[AW],
- PINHERITED_FROM[AW]): Add structures.
-
- * lib/user32.def (GetInheritanceSource[AW]): Add functions.
-
-2003-09-26 Corinna Vinschen <corinna@vinschen.de>
-
- * include/winuser.h (FLASHWINFO, PFLASHWINFO): Define for 98/Me, too.
-
-2003-09-25 Danny Smith <dannysmith@users.sourceforge.net>
-
- * lib/version.def (LIBRARY): Quote name.
-
-2003-09-25 Dimitri Papadopoulos <papadopo@users.sourceforge.net>
-
- * include/winuser.h (GetClipboardSequenceNumber): Add functions
- and constants.
-
- * include/winuser.h (GetGuiResources, GR_GDIOBJECTS,
- GR_USEROBJECTS): Add functions and constants.
-
- * include/winuser.h (GetMouseMovePointsEx, GMMP_USE_DISPLAY_POINTS,
- GMMP_USE_HIGH_RESOLUTION_POINTS): Add functions and constants.
-
- * include/winuser.h (InSendMessageEx, ISMEX_NOSEND, ISMEX_CALLBACK,
- ISMEX_NOTIFY, ISMEX_REPLIED, ISMEX_SEND): Add functions and
- constants.
-
- * lib/user32.def (GetClipboardSequenceNumber, GetGuiResources,
- GetMouseMovePointsEx, InSendMessageEx): Add functions.
-
-2003-09-25 Dimitri Papadopoulos <papadopo@users.sourceforge.net>
-
- * include/winuser.h (BroadcastSystemMessage, BroadcastSystemMessageA,
- BroadcastSystemMessageW, BroadcastSystemMessageEx,
- BroadcastSystemMessageExA, BroadcastSystemMessageExW,
- BSMINFO, BSF_ALLOWSFW, BSF_SENDNOTIFYMESSAGE, BSF_LUID,
- BSF_RETURNHDESK): Add functions and constants.
-
- * include/winuser.h (EnumDisplaySettingsEx, EnumDisplaySettingsExA,
- EnumDisplaySettingsExW, EDS_RAWMODE): Add functions and constant.
-
- * include/winuser.h (IsGUIThread, IsHungAppWindow, FlashWindowEx,
- GetProcessDefaultLayout, SetProcessDefaultLayout,
- RealChildWindowFromPoint, SetProcessDefaultLayout,
- SwitchToThisWindow): Add functions.
-
- * lib/user32.def (BroadcastSystemMessageA, BroadcastSystemMessageW,
- BroadcastSystemMessageExA, BroadcastSystemMessageExW,
- EnumDisplaySettingsExA, EnumDisplaySettingsExW, FlashWindowEx,
- GetProcessDefaultLayout, IsGUIThread, IsHungAppWindow,
- RealChildWindowFromPoint, SetProcessDefaultLayout,
- SwitchToThisWindow): Add function.
-
-2003-09-25 Dimitri Papadopoulos <papadopo@users.sourceforge.net>
-
- * include/winuser.h (DeregisterShellHookWindow): Add function.
-
- * include/winuser.h [_WIN32_WINNT >= 0x0500] (EndTask): Add function.
-
- * lib/user32.def (EndTask): Add function.
-
- * include/winuser.h (WINVER, _WIN32_WINNT): It's better (?) to
- use _WIN32_WINNT instead of WINVER to test for Windows 2000.
-
- * include/winable.h: Reorder target macros.
-
- * lib/*.def: Cleanup.
-
-2003-09-25 Dimitri Papadopoulos <papadopo@users.sourceforge.net>
-
- * include/winuser.h [WINVER >= 0x0500] (AnimateWindow): Add
- function.
-
- * lib/user32.def (AnimateWindow): Add function. By the way
- there are ~ 140 symbols missing from this file when comparing
- to user32.dll on Windows XP.
-
-2003-09-25 Dimitri Papadopoulos <papadopo@users.sourceforge.net>
-
- * include/winuser.h [WINVER >= 0x0500] (AW_SLIDE, AW_ACTIVATE,
- AW_BLEND, AW_HIDE, AW_CENTER, AW_HOR_POSITIVE, AW_HOR_NEGATIVE,
- AW_VER_POSITIVE, AW_VER_NEGATIVE): Add constants. For use by
- AnimateWindow().
-
-2003-09-25 Dimitri Papadopoulos <papadopo@users.sourceforge.net>
-
- * include/winuser.h [WINVER >= 0x0500] (GetGUIThreadInfo,
- LPGUITHREADINFO): Add function and associated typedef...
-
- * include/winable.h [WINVER < 0x0500] (GetGUIThreadInfo,
- LPGUITHREADINFO): ...and duplicate them in <winable.h> as
- seems to be required on older versions of Windows.
-
-2003-09-24 Dimitri Papadopoulos <papadopo@users.sourceforge.net>
-
- * include/GL/glu.h (gluErrorUnicodeStringWIN): Add macro
- function. MSDN suggests using gluErrorUnicodeStringWIN
- instead of gluErrorString, as it allows both ANSI and Unicode
- error strings.
-
- * include/GL/glu.h (gluErrorUnicodeStringEXT): Make the
- returned pointer const for consistency reasons.
-
-2003-09-24 Dimitri Papadopoulos <papadopo@users.sourceforge.net>
-
- * include/GL/glu.h (gluErrorUnicodeStringEXT): Add function.
- Function exists in glu32.def but is undocumented on MSDN.
- A Google search came up with this declaration.
-
-2003-09-24 Dimitri Papadopoulos <papadopo@users.sourceforge.net>
-
- * include/GL/glu.h: Rewritten from scratch. Started from GLU 1.3
- headers from OpenGL Sample Implementation. Windows ships with
- GLU 1.2 so some constants and functions were removed. Then some
- typedef's and function declarations were reworked to look like
- the previous GL/glu.h.
-
-2003-09-24 Dimitri Papadopoulos <papadopo@users.sourceforge.net>
-
- * include/uxtheme.h (PROPERTYORIGIN): the documentation of
- PROPERTYORIGIN suggests it's `PROPERTYORIGIN' but experimentation
- suggests it's actually `enum PROPERTYORIGIN'. Keep both.
-
- * include/uxtheme.h (THEME_SIZE, THEMESIZE): MSDN suggests
- it's either `THEME_SIZE' or `THEMESIZE' but experimentation
- suggests it's actually `enum THEMESIZE'. Keep `THEME_SIZE'
- and `enum THEMESIZE'.
-
-2003-09-24 Dimitri Papadopoulos <papadopo@users.sourceforge.net>
-
- * include/uxtheme.h: New file.
- * include/tmschema.h: New file.
- * include/uxtheme.def: New file.
- * lib/test.c: Include uxtheme.h, tmschema.h.
-
-2003-09-23 Dimitri Papadopoulos <papadopo@users.sourceforge.net>
-
- * include/winuser.h (KEYEVENTF_UNICODE, KEYEVENTF_SCANCODE):
- Add defines.
-
-2003-09-23 Dimitri Papadopoulos <papadopo@users.sourceforge.net>
-
- * include/winable.h [_WIN32_WINNT < 0x0403] (INPUT_MOUSE,
- INPUT_KEYBOARD, INPUT_HARDWARE): Duplicate defines in
- <winable.h> as seems to be required on older versions of
- Windows.
-
-2003-09-23 Dimitri Papadopoulos <papadopo@users.sourceforge.net>
-
- * include/winuser.h [WINVER >= 0x0500] (CHILDID_SELF,
- GUI_CARETBLINKING, GUI_INMOVESIZE, GUI_INMENUMODE,
- GUI_SYSTEMMENUMODE, GUI_POPUPMENUMODE, GUI_16BITTASK):
- Add defines, the last one only on Windows XP...
-
- * include/winable.h [WINVER < 0x0500] (CHILDID_SELF,
- GUI_CARETBLINKING, GUI_INMOVESIZE, GUI_INMENUMODE,
- GUI_SYSTEMMENUMODE, GUI_POPUPMENUMODE): ...and duplicate
- them in <winable.h> as seems to be required on older
- versions of Windows.
-
-2003-09-23 Dimitri Papadopoulos <papadopo@users.sourceforge.net>
-
- * include/winuser.h [WINVER >= 0x0500] (GUITHREADINFO,
- OBJID_WINDOW, OBJID_SYSMENU, OBJID_TITLEBAR, OBJID_MENU,
- OBJID_CLIENT, OBJID_VSCROLL, OBJID_HSCROLL, OBJID_SIZEGRIP,
- OBJID_CARET, OBJID_CURSOR, OBJID_ALERT, OBJID_SOUND): Bring
- back into <winuser.h>...
-
- * include/winable.h [WINVER < 0x0500] (GUITHREADINFO,
- OBJID_WINDOW, OBJID_SYSMENU, OBJID_TITLEBAR, OBJID_MENU,
- OBJID_CLIENT, OBJID_VSCROLL, OBJID_HSCROLL, OBJID_SIZEGRIP,
- OBJID_CARET, OBJID_CURSOR, OBJID_ALERT, OBJID_SOUND): ...and
- comment out in <winable.h>. MSDN may say <winable.h> but this
- breaks many programs. It seems it used to be <winable.h> on
- older versions of Windows.
-
-2003-09-17 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/winuser.h (UpdateLayeredWindow): Protect against NOGDI.
- Thanks to Will Levine <willll@users.sourceforge.net>
-
-2003-09-15 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/ws2spi.h (LPWSPBIND): Change CONST LPSOCKADDR to
- const struct sockaddr*.
- (LPWSPCONNECT): Likewise.
- (LPWSPJOINLEAF): Likewise.
- (LPWSPSENDTO): Likewise.
- Tanks to Sebastian Nowak <snowak1@users.spourceforge.net>
-
-2003-09-15 Filip Navara <xnavara@volny.cz>
-
- * include/commctrl.h (TCIS_BUTTONPRESSED, TCIS_HIGHLIGHTED):
- Add definitions.
-
-2003-09-15 Sascha Brawer <brawer@dandelis.ch>
-
- * include/winuser.h (DISPLAY_DEVICE_ATTACHED_TO_DESKTOP,
- DISPLAY_DEVICE_PRIMARY_DEVICE, DISPLAY_DEVICE_MIRRORING_DRIVER,
- DISPLAY_DEVICE_VGA_COMPATIBLE, DISPLAY_DEVICE_REMOVABLE,
- DISPLAY_DEVICE_MODESPRUNED): Define constants.
- (ChangeDisplaySettingsEx[A,W]): Add prototype.
-
- * lib/user32.def (ChangeDisplaySettingsEx[A,W]): Add exports.
- (EnumDisplayDevices[A,W]): Likewise.
-
-2003-09-15 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include.commctrl.h (_WIN32_WINNT): Change _WXP to 0x0501,
- throughout.
-
-2003-09-13 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/olectl.h (TEXTMETRICOLE, LPERRORLOG, LPPROPERTYBAG,
- LPENUMCONNECTIONPOINTS, LPCONNECTIONPOINT, LPENUMCONNECTIONS,
- LPPROPERTYPAGESITE, LPFONT, LPFONTDISP, OLE_COLOR, HIMETRIC,
- OLE_YPOS_HIMETRIC, OLE_XSIZE_HIMETRIC, OLE_YSIZE_HIMETRIC,
- OLE_YSIZE_CONTAINER, OLE_HANDLE, POINTF,LPPOINTF, CONTROLINFO,
- LPCONTROLINFO, CONNECTDATA, LPCONNECTDATA, LICINFO, LPLICINFO,
- CAUUID, LPCAUUID, CALPOLESTR, LPCALPOLESTR, CADWORD, LPCADWORD,
- PROPPAGEINFO, LPPROPPAGEINFO): Remove from here ...
- * include/ocidl.h: (TEXTMETRICOLE, LPERRORLOG, LPPROPERTYBAG,
- LPENUMCONNECTIONPOINTS, LPCONNECTIONPOINT, LPENUMCONNECTIONS,
- LPPROPERTYPAGESITE, LPFONT, LPFONTDISP, OLE_COLOR, HIMETRIC,
- OLE_YPOS_HIMETRIC, OLE_XSIZE_HIMETRIC, OLE_YSIZE_HIMETRIC,
- OLE_YSIZE_CONTAINER, OLE_HANDLE, POINTF, LPPOINTF, CONTROLINFO,
- LPCONTROLINFO, CONNECTDATA, LPCONNECTDATA, LICINFO, LPLICINFO,
- CAUUID, LPCAUUID, CALPOLESTR, LPCALPOLESTR, CADWORD, LPCADWORD,
- PROPPAGEINFO, LPPROPPAGEINFO): ... to here, for consistency
- with documentation.
- * include/olectl.h: Do #include <ocidl.h>.
- * include/ocidl.h: Don't #include <olectl.h>.
-
-2003-09-13 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/winuser.h (_WIN32_WINNT, _WIN32_WINDOWS, WINVER):
- Change guards to use numeric constants, throughout.
-
-2003-09-15 Earnie Boyd <earnie@users.sf.net>
-
- * include/w32api.h: Increment version to 2.5.
- * Makefile.in: Ditto.
-
-2003-09-08 Justin Forest <vhex@users.sourceforge.net>
-
- * include/winuser.h (PM_QS_INPUT, PM_QS_POSTMESSAGE,
- PM_QS_PAINT, PM_QS_SENDMESSAGE): Add defines.
-
-2003-09-08 Filip Navara <xnavara@volny.cz>
-
- * include/wingdi.h (GRADIENT_FILL_RECT_H, GRADIENT_FILL_RECT_V,
- GRADIENT_FILL_TRIANGLE, GRADIENT_FILL_OP_FLAG): Add defines.
-
-2003-09-05 Earnie Boyd <earnie@users.sf.net>
-
- * include/w32api.h (_NT5, etc): Reverse the changes of 2003-07-01.
- * include/winbase.h (_NT5, etc): Ditto.
-
-2003-09-02 Bart Oldeman <bartoldeman@users.sourceforge.net>
-
- * lib/snmpapi.def (LIBRARY) Add library name.
- Remove '\r', throughout.
- * lib/wsnmp32.def: Remove '\r', throughout.
- * lib/igmpagnt.def: Likewise.
-
-2003-08-29 Steve Cleary <scleary@jerviswebb.com>
-
- * include/winuser.h (QS_ALLPOSTMESSAGE, QS_RAWINPUT): Add defines.
- (QS_INPUT, QS_ALLINPUT, QS_ALLEVENTS): Adjust by OR'ing with
- QS_RAWINPUT for _WIN32_WINNT >= 0x0501.
- (MWMO_*): Add flags.
-
- * include/wincrypt.h (MS_ENHANCED_PROV[AW], MS_STRONG_PROV[AW],
- MS_DEF_RSA_SIG_PROV[AW], MS_DEF_RSA_SCHANNEL_PROV[AW],
- MS_DEF_DSS_PROV[AW], MS_DEF_DSS_DH_PROV[AW], MS_ENH_DSS_DH_PROV[AW],
- MS_DEF_DH_SCHANNEL_PROV[AW], MS_SCARD_PROV[AW]): Add definitions.
-
-2003-08-26 Danny Smith <dannysmith@users.sourceforge.net>
-
- * lib/test.c: Add vfw.h to includes.
- * include/mmsystem.h: Add #ifndef guard to definition of
- mmioFOURCC macro.
- * include/vfw.h: Protect __OBJC__ from COM declarations.
-
-2003-08-26 Filip Navara <xnavara@volny.cz>
-
- * include/vfw.h: New file.
-
-2003-08-26 Filip Navara <xnavara@volny.cz>
-
- * include/ddk/winddk.h (RTL_REGISTRY_*): Add defines.
- (IoSetCompletionRoutine): Cast _CompletionRoutine arg to
- PIO_COMPLETION_ROUTINE.
-
-2003-08-26 Danny Smith <dannysmith@users.sourceforge.net>
-
- * lib/test.c: Add snmp.h, winsnmp.h amd mgmtapi.h to
- includes.
-
-2003-08-26 Filip Navara <xnavara@volny.cz>
-
- * include/snmp.h: New file.
- * include/winsnmp.h: New file.
- * include/mgmtapi.h: New file.
- * lib/snmpapi.def: New file.
- * lib/wsnmp32.def: New file.
- * lib/igmpagnt.def: New file.
- * lib/mgmtapi.def (SnmpMgrCtl) Add stub.
- (SnmpMgrGetTrapEx): Ditto.
- (SnmpMgrMIB2Disk): Remove.
- (dbginit): Remove.
-
-2003-08-25 Steven Edwards <Steven_Ed4153@yahoo.com>
-
- * include/ddk/ntifs.h: Change all C++ style comments to C.
- * include/GL/gl.h: Ditto.
-
-2003-08-25 Martin Fuchs <Martin-Fuchs@gmx.net>
-
- * include/shlobj.h (SFGAO_GHOSTED): Correct.
- (SFGAO_HIDDEN): Add define.
-
-2003-08-25 Filip Navara <xnavara@volny.cz>
-
- * include/commctrl.h (ILCF_*): Add defines.
- (ILD_*): Ditto.
- (HDS_*): Ditto.
- (IPN_FIRST, IPN_LAST): Cast to UINT.
- (SBN_FIRST, SBN_LAST): Add defines.
- (PGN_*): Ditto.
- (HDF_JUSTIFYMASK): Fix typo.
- (HDM_*): Add defines.
- (HICF_*): Ditto.
- (I_INDENTCALLBACK,I_IMAGENONE): Ditto.
- (TBSTATE_MARKED): Add define.
- (TBSTYLE_EX_*): Add defines.
- (TBCDRF_*): Ditto.
- (IDB_HIST_SMALL_COLOR,IDB_HIST_LARGE_COLOR): Ditto.
- (TB_*): Ditto.
- (TBN_*): Ditto.
- (TBNRF_*): Ditto.
- (TTF_*): Ditto.
- (TBCD_*): Ditto.
- (TBDDRET_*): Ditto.
- (TBIMHT_*): Ditto.
- (TTM_*): Ditto.
- (UDM_*): Ditto.
- (TBIF_BYINDEX): Define as hex constant.
- (CDIS_*): Add defines.
- (CDDS_SUBITEM): Add define.
- (LVIF_*): Add defines.
- (LVM_*): Ditto.
- (LVGIT_UNFOLDED): Add define.
- (TVM_): Add defines.
- (TVE_EXPANDPARTIAL): Add define.
- (TVGN_LASTVISIBLE): Ditto.
- (TVN_*): Add defines.
- (TVNRET_*): Add defines.
- (TCIF_STATE): Add define.
- (NM_TOOLTIPSCREATED): Ditto.
- (CCM_*): Add defines.
- (INFOTIPSIZE): Add numeric value.
- (ODT_LISTVIEW): Ditto.
- (MCM_GETMAXTODAYWIDTH): Ditto.
- (MCHT_*): Add defines.
- (UDM_SETRANGE32,UDM_GETRANGE32): Define in terms of WM_USER.
- (PGF_*): Add defines.
- (PGM_*): Ditto.
- (TBINSERTMARK): Add structure.
- (LPIMAGEINFO) Add typedef.
- (LPHDHITTESTINFO): Ditto.
- (NMLVGETINFOTIP[AW]: Add structures.
- (NMTBCUSTOMDRAW): Add structure.
- (TTTOOLINFOA_V*_SIZE): Add macros.
- (TTTOOLINFOW_V1_SIZE): Ditto.
- (IMAGELISTDRAWPARAMS): Add new members for WXP.
- (LVITEM[AW]: Ditto.
- (TCITEM[AW]):Ditto.
- (CCSIZEOF_STRUCT): Correct macro definition.
- (ListView_*): Add new macros.
- (HIMAGELIST): Correct typedef.
- (HTREEITEM): Ditto.
-
-2003-08-25 Danny Smith <dannysmith@users.sourceforge.net>
-
- * commctrl.h (TC_HITTESTINFO): Remove. Add defines for
- TCHITTESTINFO for backward compatibility.
- (TC_ITEM[AW]): Rename to TCITEM[AW]. Add defines for backward
- compatibility.
-
-2003-08-24 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/objidl.h (COBJMACROS): Define macros only
- if using C interace.
- * include/unknwn.h: Ditto.
- * include/comcat.h: Ditto.
-
-2003-08-24 Filip Navara <xnavara@volny.cz>
-
- * include/prsht.h (PSH_WIZARDHASFINISH, PSH_WIZARD_LITE,
- PSH_NOCONTEXTHELP): Define.
- (PSH_WIZARD97): Fix definition for _WIN32_IE >= 0x500.
- * include/winuser.h (DFCS_TRANSPARENT, DFCS_HOT): Define.
- (LPDLGTEMPLATE[AW]): Add typedefs.
-
-2003-08-22 Filip Navara <xnavara@volny.cz>
-
- * include/aclapi.h (BuildImpersonateExplicitAccessWithName[AW]):
- Add prototypes.
- BuildImpersonateTrustee[AW]): Add prototypes.
- GetMultipleTrustee[AW]): Add prototypes.
- GetMultipleTrusteeOperation[AW]): Add prototypes.
-
-2003-08-22 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/winnt.h (IMAGE_SUBSYSTEM_XBOX): Add define.
-
-2003-08-22 Mihai Preda <mihai_preda@users.sourceforge.net>
-
- * include/shlobj.h (IPersistFolder::GetClassID):
- Correct declaration.
- (CMF_*) Add missing defines.
-
-2003-08-22 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/winuser.h (DC_BUTTONS): Add define.
-
-2003-08-22 Andrew Greenwood <lists@silverblade.co.uk>
-
- * include/winuser.h (DC_GRADIENT): Add define.
-
-2003-08-22 Martin Fuchs <Martin-Fuchs@gmx.net>
-
- * include/commctrl.h (BTNS_*): Define BTNS_* as successors to the
- older TBSTYLE_* constants.
-
-2003-08-18 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/commctrl.h (TB_*) Group defines together.
-
-2003-08-18 Martin Fuchs <Martin-Fuchs@gmx.net>
-
- * include/winuser.h (ICON_SMALL2): Define.
- * include/commctrl.h (TB_SETBUTTONWIDTH, TB_SETDRAWTEXTFLAGS):
- Define.
- * include/shlobj.h (SHDRAGIMAGE): Define structure.
- (IDragSourceHelper) Define interface.
- (IDropTargetHelper): Likewise.
- (IExtractIcon): Unicode it.
- (ICommDlgBrowser): Use IShellView type as param in OnDefaultCommand,
- OnStateChange and IncludeObject methods.
-
-2003-08-17 Martin Fuchs <Martin-Fuchs@gmx.net>
-
- * include/commctrl.h (TreeView_GetScrollTime,
- TreeView_SetScrollTime): Define macros.
- * include/winuser.h (GetShellWindow): Add prototype.
- * include/objidl.h (STGMEDIUM): Correct lpszFileName type.
-
-2003-08-15 Martin Fuchs <Martin-Fuchs@gmx.net>
-
- * include/shguid.h (CLSID_DragDropHelper, IID_IDropTargetHelper,
- IID_IDragSourceHelper): Declare.
- * lib/shell32.c (CLSID_DragDropHelper, IID_IDropTargetHelper,
- IID_IDragSourceHelper): Define.
-
-2003-08-15 Andrew Greenwood <lists@silverblade.co.uk>
-
- * include/wingdi.h (DEVMODE[AW]) Correct structure definition.
- * include/ddk/ntapi.h (LPC_TYPE): Add LPC_CONNECTION_REFUSED.
- * include/ddk/winddk.h (IRP_*): Add constants as anonymous enum.
-
-2003-08-10 Danny Smith <dannysmith@users.sourceforge.net>
-
- * lib/uuid.c (CGID_Explorer, CGID_ShellDocView,
- CGID_ShellServiceObject): Remove definitions.
- * lib/shell32.c (CGID_ShellServiceObject): Add definition.
-
-2003-08-10 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/shlobj.h (SHELLSTATE): Add structure.
- (SHGetSetSettings): Add prototype.
- (SHGetSettings): Add prototype.
- * lib/shell32.def (SHGetSetSettings): Add stub.
-
-2003-08-10 Phil Krylov <likewolf@users.sourceforge.net>
-
- * include/commctrl.h (HDM_ORDERTOINDEX): Add define.
- (Header_OrderToIndex): Add macro.
- (Header_GetOrderArray): Add macro.
-
- * include/commdlg.h (FR_MATCHALEFHAMZA,
- FR_MATCHDIAC, FR_MATCHKASHIDA): Add defines.
-
-2003-08-10 Martin Fuchs <Martin-Fuchs@gmx.net>
-
- * include/commctrl.h (TVM_GETSCROLLTIME,
- TVM_SETSCROLLTIME): Add defines.
-
-2003-08-01 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/shlobj.h (SHELLFLAGSTATE): Add structure.
- (SHGetInstanceExplorer): Correct return type.
- (SHGetFolderPath[AW]): Likewise.
- Thanks to Magnus Olsen <greatlord@sourceforge.users.net>
- for report.
-
-2003-08-01 Danny Smith <dannysmith@users.sourceforge.net>
-
- * lib/test.c: Include winldap.h, ntldap.h, winber.h.
-
-2003-08-01 Filip Navara <xnavara@volny.cz>
-
- * include/winldap.h: New file.
- * include/ntldap.h: New file.
- * include/winber.h: New file.
- * lib/winldap32.def: New file.
-
-2003-08-01 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/ddk/atm.h: Remove stray '.';
-
-2003-08-01 Gisle Vanem <gvanem@broadpark.no>
-
- * include/ddk/winddk.h: Remove trailing ';' from macros,
- throughout. Add () around defines with cast returns, throughout.
-
-2003-07-31 Martin Fuchs <Martin-Fuchs@gmx.net>
-
- * include/shlobj.h (SFGAO_COMPRESSED): Add define.
- (SFGAOF, SHGDNF): Add typedef's.
- (SHCONTF): Extend enum.
-
-2003-07-31 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/shellapi.h: Include all structs within pshpack2.h/
- poppack.h block.
-
-2003-07-26 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/winuser.h (ASFW_ANY, LSFW_LOCK, LSFW_UNLOCK,
- LWA_COLORKEY, LWA_ALPHA): Guard with _WIN32_WINNT,
- _WIN32_WINDOWS, not WINVER.
- (AllowSetForegroundWindow,LockSetForegroundWindow,
- SetLayeredWindowAttributes): Likewise.
- (GetLayeredWindowAttributes,UpdateLayeredWindow): Add prototypes.
- * lib/user32.def (GetLayeredWindowAttributes,UpdateLayeredWindow):
- Add stubs.
-
-2003-07-26 Eric R. Krause <ekrause_98@users.sourceforge.net>
-
- * include/objidl.h (IMalloc): Fix typo.
-
-2003-07-24 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/dkk/ntifs.h: Fix typo in guard for
- #pragma GCC system_header.
-
-2003-07-22 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/objidl.h (PropVariant): Add CHAR cVal field
- to union.
- (FMTID_SummaryInformation, FMTID_DocSummaryInformation,
- FMTID_UserDefinedProperties): Declare.
-
-2003-07-22 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/winbase.h (GetModuleHandleEx[AW]): Add prototypes.
-
-2003-07-22 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/winbase.h (DUPLICATE_CLOSE_SOURCE,
- DUPLICATE_SAME_ACCESS): Remove defines.
- (HANDLE_FLAG_INHERIT, HANDLE_FLAG_PROTECT_FROM_CLOSE): Sync with
- ddk/ntapi.h defines.
- (SEM_*) : Likewise.
- * include/winnt.h (COMPRESSION_*, ACCESS_*, SYSTEM_*): Sync with
- ddk/ntifs.h defines.
- (FILE_*): Likewise.
- (MEM_IMAGE, SEC_*): Likewise.
- (DUPLICATE_CLOSE_SOURCE, DUPLICATE_SAME_ACCESS,
- DUPLICATE_SAME_ATTRIBUTES): Sync with ddk/winddk.h defines.
- (TOKEN_*): Sync with ddk/ntifs.h defines.
- * include/ddk/ntapi.h: Add comments noting definitions in
- winbase.h.
- * include/ddk/ntifs.h: Add comments noting definitions in
- winnt.h.
- * include/ddk/winddk.h: Add comments noting definitions in
- winnt.h.
-
-2003-07-18 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/winnt.h (FILE_*): Sync with ddk/winddk.h.
- * include/winioctl.h (FILE_*): Sync with ddk/winddk.h.
-
-2003-07-17 Pierre Humblet <pierre.humblet@ieee.org>
-
- * include/mmsystem.h (TIME_KILL_SYNCHRONOUS): Add define.
-
-2003-07-17 Danny Smith <dannysmith@users.sourceforge.net>
-
- Clean up warnings in ddk.
-
- * include/ddk/atm.h (_ATM_AAL_OOB_INFO): Add _ANONYMOUS_UNION,
- conditional on __cplusplus.
- * include/ddk/scsi.h: Add _ANONYMOUS_UNION and _ANONYMOUS_STRUCT
- defines, throughout.
- (_CDB): Add _ANONYMOUS_UNION, conditional on __cplusplus.
- * include/ddk/cfg.h (_PNP_VETO_TYPE): Remove extra comma.
- * include/ddk/cfgmgr32.h: Change C++ comment style to ISO C.
- * include/ddk/ddkmapi.h (_DDLOCKOUT): Add _ANONYMOUS_UNION defines.
- * include/ddk/hidpi.h: Add _ANONYMOUS_UNION and _ANONYMOUS_STRUCT
- defines, throughout.
- * include/ddk/ndis.h: Add _ANONYMOUS_UNION and _ANONYMOUS_STRUCT
- defines, throughout. Remove trailing semicolon from *_S 'structure'
- macro expansion, throughout. Remove trailing semicolon from
- DECLARE_UNKNOWN_STRUCT macro expansion.
- * include/ddk/ndiswan.h (_NDIS_WAN_COMPRESS_INFO): Add
- _ANONYMOUS_UNION.
- * include/ddk/ntapi.h (_PROCESS_DEVICEMAP_INFORMATION,
- _PROCESS_SESSION_INFORMATION): Add _ANONYMOUS_UNION.
- * include/ddk/ntddcdrm.h (CDROM_TOC_CD_TEXT_DATA_BLOCK):
- Add _ANONYMOUS_UNION.
- * include/ddk/ntdddisk.h: Add _ANONYMOUS_UNION, throughout.
- * include/ddk/ntddmou.h: Add _ANONYMOUS_UNION, throughout.
- * include/ddk/ntifs.h: Add _ANONYMOUS_UNION, throughout.
- (ZwQueryObject): Change 2nd param to OBJECT_INFORMATION_CLASS, to
- match proto in ntapi.h.
- (ZwSetInformationObject): Likewise.
- * include/ddk/srb.h (SCSI_REQUEST_BLOCK): Add _ANONYMOUS_UNION.
- (SCSI_ADAPTER_CONTROL_TYPE): Add __extension__.
- * include/ddk/tdikrnl.h (TDI20_CLIENT_INTERFACE_INFO): Add
- _ANONYMOUS_UNION and _ANONYMOUS_STRUCT.
- * include/ddk/usb.h (USB): Add _ANONYMOUS_UNION.
- * include/ddk/usbcamdi.h (USBCAMD_CamControlFlags): Remove
- last comma.
- * include/ddk/video.h (STATUS_BLOCK): Add _ANONYMOUS_UNION.
- * include/ddk/winddk.h (DECLARE_INTERNAL_OBJECT): Remove
- trailing semicolon when expanding macro.
- (GENERAL_LOOKASIDE_S): Likewise.
- Add _ANONYMOUS_UNION and _ANONYMOUS_STRUCT, throughout.
- Change inline to __inline, throughout.
- * include/ddk/winnt4.h: Change inline to __inline, throughout.
-
-2003-07-13 Casper S. Hornstrup <chorns@users.sourceforge.net>
-
- * include/ddk/ntifs.h (KeInsertQueueApc): Make return type
- BOOLEAN. Name parameter 4 PriorityBoost and make it of type
- KPRIORITY.
- * include/ddk/winddk.h (_KPCR): Put IDT field on next line.
- * include/ddk/winddk.h (_IO_STATUS_BLOCK, _IRP, _OWNER_ENTRY,
- _ERESOURCE, _IMAGE_INFO, _CREATE_DISK, _DISK_SIGNATURE, _KPCR_TIB):
- Apply _ANONYMOUS_UNION to anonymous unions and _ANONYMOUS_STRUCT
- to anonymous structs.
-
-2003-07-12 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/winnt.h (PVOID): Move to before HANDLE typedef.
-
- * include/winuser.h (mouse_event): Correct type of fifth param,
- Thanks to: Andrew Jones <guln at users dot sourceforge dot net>
-
-2003-07-11 Earnie Boyd <earnie@users.sf.net>
-
- * include/winnt.h (HANDLE): Define based on STRICT filter.
- (THREAD_BASE_PRIORITY_MIN): Use parens around negative value.
- (THREAD_BASE_PRIOIRTY_IDLE): Ditto.
-
-2003-07-08 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/commctrl.h (NMTVDISPINFO[AW]): Replace obsolete struct
- names _TV_DISPINFO[AW] and typedefs. Add defines for backward
- compatability. Thanks to Magnus Olsen <greatlord@users.sf.net>
- for report.
-
-2003-07-03 Earnie Boyd <earnie@users.sf.net>
-
- * config.guess, config.sub: Update with new versions from ftp.gnu.org.
-
-2003-07-03 Luke Dunstan <infidel@users.sf.net>
-
- * include/commdlg.h (CommDlg_OpenSave_*): Add parentheses around
- macro arguments. Thanks to Tom Bishop <tombishop@users.sf.net>.
- * include/winuser.h (MONITOR_DEFAULTTONULL, MONITOR_DEFAULTTOPRIMARY,
- MONITOR_DEFAULTTONEAREST, MONITORINFOF_PRIMARY): Add defines.
- (TPM_RECURSE): Add guard for Win98/Win2K.
- Thanks to Magnus Olsen <greatlord@users.sf.net>.
-
-2003-07-01 Earnie Boyd <earnie@users.sf.net>
-
- * include/basetyps.h (small, hyper): Change to __small and __hyper to
- avoid user namespace conflicts.
-
-2003-07-01 Earnie Boyd <earnie@users.sf.net>
-
- * include/w32api.h (_NT4, _W98, _WME, _NT5, _W2000, _WXP, _W2003,
- _IE3, _IE4, _IE5, _IE6): Add definitions.
- * include/winbase.h (GetLongPathName[AW]): Add guard for OS >= NT5 or
- >= Win98.
- Change existing guards to use the above macro names as appropriate.
- * include/basetyps.h (__int32, __int16, __int8, small, hyper): Define.
- Note: Also added to mingw/include/_mingw.h.
-
-2003-06-28 Steven Edwards <Steven_Ed4153@yahoo.com>
-
- * include/shlwapi.h (UrlGetLocationA, UrlGetLocationW,
- PathFindSuffixArrayA, PathFindSuffixArrayW,
- PathFindExtensionA, PathFindExtensionW, StrStrW
- StrStrA): Change unicode-macro'd LP[C]TSTR return values to
- explicit type.
-
-2003-06-26 Mattia Barbon <mbarbon@dsi.unive.it>
-
- * include/richedit.h (PARAFORMAT2): Add definition.
- * include/richedit.h (PFA_*, PFE_*, PFM_*): Add some
- missing constants.
-
-2003-06-17 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/shellapi.h (SHQUERYRBINFO): Add structure,
- (SHQueryRecycleBin[AW]. SHEmptyRecycleBin[AW]):Add prototypes.
- (SHERB_NOCONFIRMATION, SHERB_NOPROGRESSUI, SHERB_NOSOUND):
- Add defines. Thanks to Brett Hart <brett at ncubedtech dot com>
-
-2003-06-17 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/winbase.h (GlobalCompact, GlobalFix, GlobalFlags,
- GlobalUnfix, GlobalUnWire, GlobalWire, LocalCompact,
- LocalFlags, LocalShrink, LockSegment, UnlockSegment): Add comment
- that these are obsolete no-ops.
-
-2003-06-17 Bang Jun-Young <junyoung@netbsd.org>
-
- * include/winbase.h (GetProcessWorkingSetSize,
- GlobalCompact, LocalAlloc, LocalCompact, LocalReAlloc,
- LocalShrink, SignalObjectAndWait, WriteProcessMemory):
- Correct prototypes.
-
-2003-06-18 Steven Edwards <Steven_Ed4153@yahoo.com>
-
- * include/winuser.h (TPM_RECURSE): Add define.
-
-2003-06-06 Danny Smith <dannysmith@users.sourceforge.net>
-
- * lib/test.c: #include <powrprof.h>.
-
-2003-06-06 James E. Lucas <xelloss@sourceforge.net>
-
- * include/powerprof.h: New file.
- * lib/powerprof.def: New file.
-
-2003-06-06 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/winnt (SLIST_HEADER): Add C90 anonymous struct
- protection.
-
-2003-06-05 Luke Dunstan <infidel@users.sourceforge.net>
-
- * include/winuser.h (WNDCLASS[AW], WNDCLASSEX[AW]): Change type of
- hInstance members to HINSTANCE.
- Thanks to: Brenden T. <brenden@rcsis.com>
-
-2003-06-05 Bart Oldeman <bartoldeman@users.sourceforge.net>
-
- * include/lmaccess.h (UF_MNS_LOGON_ACCOUNT): Add define.
- * include/wingdi.h (LPRGBTRIPLE, LPRGBQUAD): Add typedefs.
-
-2003-06-02 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/ddk/ntpoapi.h (POWER_INFORMATION_LEVEL): Remove.
- * include/winnt.h (POWER_INFORMATION_LEVEL): Add.
- * include/ddk/winddk.h (SINGLE_LIST_ENTRY,SLIST_HEADER):
- Remove.
- * include/ddk/ndis.h (NdisAllocateSpinLock): Add missing '\'.
-
-2003-05-30 Mattia Barbon <mbarbon@dsi.unive.it>
-
- * lib/oleacc.def: New file.
- * include/winable.h: New file.
- * include/oleacc.h: Add extern "C" guard.
- (NAVDIR_*, ROLE_*, STATE_*): Add missing constants.
- (AccessibleChildren, AccessibleObjectFromEvent,
- AccessibleObjectFromPoint, AccessibleObjectFromWindow,
- CreateStdAccessibleProxy[AW], GetOleaccVersionInfo, GetRoleText[AW],
- GetStateText[AW], LresultFromObject, ObjectFromLresult,
- WindowFromAccessibleObject): Add prototypes and UNICODE mappings.
- * include/winuser.h (NotifyWinEvent): Add prototype.
- (OBJID_WINDOW, OBJID_SYSMENU, OBJID_TITLEBAR,
- OBJID_MENU, OBJID_CLIENT, OBJID_VSCROLL, OBJID_HSCROLL,
- OBJID_SIZEGRIP, OBJID_CARET, OBJID_CURSOR, OBJID_ALERT,
- OBJID_SOUND): Move from here to...
- * include/winable.h (OBJID_WINDOW, OBJID_SYSMENU, OBJID_TITLEBAR,
- OBJID_MENU, OBJID_CLIENT, OBJID_VSCROLL, OBJID_HSCROLL,
- OBJID_SIZEGRIP, OBJID_CARET, OBJID_CURSOR, OBJID_ALERT,
- OBJID_SOUND): Here, as per documentation.
- * lib/test.c: Include winable.h.
- * lib/user32.def (NotifyWinEvent): Add missing export.
-
-2003-05-30 Bang Jun-Young <junyoung@netbsd.org>
-
- * include/winbase.h (HeapCompact): Correct prototype.
- * include/winnt.h (SINGLE_LIST_ENTRY, SLIST_ENTRY,
- SLIST_HEADER): Add.
-
-2003-05-27 Andrew C. Stadt <acstadt@sympatico.ca>
-
- * include/winuser.h (LWA_COLORKEY, LWA_ALPHA): Add defines.
-
-2003-05-25 Bill C. Riemers <cygwin@docbill.net>
-
- * include/winuser.h (EnumDisplayDevicesW): Fix typo.
-
-2003-05-23 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/winuser.h (EnumDisplayDevices[AW]): Add prototypes.
- * include/wingdi.h (DISPLAY_DEVICE): UNICODE it.
-
-2003-05-23 Andrew Dunbar <hippietrail@users.sourceforge.net>
-
- * include/wingdi.h (GCP_RESULTS[AW]) Correct type of
- lpGlyphs field to LPWSTR.
-
-2003-05-21 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/wincrypt.h (PLAINTEXTKEYBLOB, OPAQUEKEYBLOB,
- PUBLICKEYBLOBEX, SYMMETRICWRAPKEYBLOB) Add defines.
- (PP_*): Add defines.
- (CryptContextAddRef): Add prototype.
- Thanks to: Shura Zam <debil_urod@users.sourceforge.net>
-
-2003-05-18 Manu B <manubee@users.sourceforge.net>
-
- * include/commctrl.h (TVSORTCB): Rename old TV_SORTCB structure.
-
-2003-05-18 Bang Jun-Young <junyoung@netbsd.org>
-
- * include/winbase.h (CREATE_DEFAULT_ERROR_MODE,
- DEBUG_PROCESS, DEBUG_ONLY_THIS_PROCESS, CREATE_SUSPENDED,
- DETACHED_PROCESS, CREATE_NEW_CONSOLE, NORMAL_PRIORITY_CLASS,
- IDLE_PRIORITY_CLASS, HIGH_PRIORITY_CLASS, REALTIME_PRIORITY_CLASS,
- CREATE_NEW_PROCESS_GROUP, CREATE_UNICODE_ENVIRONMENT,
- CREATE_SEPARATE_WOW_VDM, CREATE_SHARED_WOW_VDM, CREATE_FORCEDOS,
- CREATE_NO_WINDOW): Convert to hexadecimal form for better
- readability.
- (BELOW_NORMAL_PRIORITY_CLASS, ABOVE_NORMAL_PRIORITY_CLASS,
- CREATE_BREAKAWAY_FROM_JOB, CREATE_WITH_USERPROFILE): Add.
-
-2003-05-15 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/ddk/ndis.h (NDIS30_MINIPORT_CHARACTERISTICS_S):
- Unname anonymous unions if NONAMELESSUNION not defined.
-
-2003-05-14 Bang Jun-Young <junyoung@netbsd.org>
-
- * include/winbase.h (GMEM_VALID_FLAGS): Add.
-
-2003-05-13 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/prsht.h (PROPSHEETHEADER[AW]: Mark
- anonymous unions as GCC extension.
-
-2003-05-13 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/oleidl.h (LPENUMOLEDOCUMENTVIEWS): Remove typedef.
- (IEnumOleDocumentViews): Remove commented out DECLARE_ENUMERATOR.
- * include/docobj.h (LPENUMOLEDOCUMENTVIEWS): Add typedef (previously
- commented out).
- (IEnumOleDocumentViews): Add definition using DECLARE_ENUMERATOR.
-
-2003-05-12 Earnie Boyd <earnie@users.sf.net>
-
- * include/commctrl.h: (MCSC_BACKGROUND, MCSC_TEXT, MCSC_TITLEBK,
- MCSC_TITLETEXT, MCSC_MONTHBK, MCSCTRAILTEXT): Define.
- Thanks to: Robert Wishlaw <rwishlaw @ shaw . ca>
-
-2003-05-12 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/olectl.h (IOleControl,IOleControlSite,ISimpleFrameSite,
- IErrorLog,IPropertyBag,IPersistPropertyBag,IPersistStreamInit,
- IPersistMemory,IPropertyNotifySink,IProvideClassInfo,
- IProvideClassInfo2,IConnectionPointContainer,
- IEnumConnectionPoints,IConnectionPoint,IEnumConnections,
- IClassFactory2,ISpecifyPropertyPages,IPerPropertyBrowsing,
- IPropertyPageSite,IPropertyPage,IPropertyPage2,IFont,IFontDisp,
- IPicture,IPictureDisp): Move from here to...
- * include/ocidl.h (IOleControl,IOleControlSite,ISimpleFrameSite,
- IErrorLog,IPropertyBag,IPersistPropertyBag,IPersistStreamInit,
- IPersistMemory,IPropertyNotifySink,IProvideClassInfo,
- IProvideClassInfo2,IConnectionPointContainer,
- IEnumConnectionPoints,IConnectionPoint,IEnumConnections,
- IClassFactory2,ISpecifyPropertyPages,IPerPropertyBrowsing,
- IPropertyPageSite,IPropertyPage,IPropertyPage2,IFont,IFontDisp,
- IPicture,IPictureDisp): Here, as per documentation.
-
-2003-05-12 Mattia Barbon <mbarbon@dsi.unive.it>
-
- * include/oleauto.h (VarR8FromDec, VarDecFromR8): Add prototypes.
- * include/winbase.h (TerminateJobObject,
- AssignProcessToJobObject): Likewise.
- * include/servprov.h: New header.
- * lib/test.c: Include servprov.h.
-
-2003-05-10 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/shlguid.h (CGID_ShellServiceObject): Declare.
- * lib/uuid.c (CGID_ShellServiceObject): Define guid.
- Thanks to Chris Sutcliffe <ir0nh34d#users.sourceforge.net>
- * include/winuser.h (SetLayeredWindowAttributes): Add prototype.
- * lib/user32.def (SetLayeredWindowAttributes): Add stub.
- * lib/uuid.c (CGID_Explorer, CGID_ShellDocView): Define guids.
-
-2003-05-05 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/commctrl.h (STATUSCLASSNAME, TOOLBARCLASSNAME,
- TOOLTIPS_CLASS, TRACKBAR_CLASS, UPDOWN_CLASS, PROGRESS_CLASS,
- HOTKEY_CLASS): Remove dupicate defines for UNICODE case.
-
-2003-05-02 Steven Edwards <Steven_Ed4153@yahoo.com>
-
- * include/richedit.h (EM_FINDTEXTEXW, EM_FINDTEXTW,
- EM_GETAUTOURLDETECT, EM_GETBIDIOPTIONS, EM_GETEDITSTYLE,
- EM_GETIMECOLOR, EM_GETIMEOPTIONS, EM_GETPUNCTUATION,
- EM_GETWORDWRAPMODE, EM_RECONVERSION, EM_SETBIDIOPTIONS,
- EM_SETEDITSTYLE, EM_SETIMECOLOR, EM_SETIMEOPTIONS,
- EM_SETPALETTE, EM_SETPUNCTUATION, EM_SETTEXTEX,
- EM_SETWORDWRAPMODE, RICHEDIT_CLASS10A): Add defines.
-
-2003-05-02 Francois Ferrand <typz@sourceforge.users.net>
-
- * include/commctrl.h (TBM_*): Add missing trackbar defines.
-
-2003-05-02 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/cplext.h (CPLPAGE_MOUSE_WHEEL,
- CPLPAGE_DISPLAY_BACKGROUND): Add defines.
-
-2003-04-30 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/wingdi.h (DC_PEN, DC_BRUSH): Add defines.
- (SetDCPenColor, SetDCBrushColor): Add prototypes.
- * lib/gdi32.def (SetDCPenColor, SetDCBrushColor): Add stubs.
-
-2003-04-26 Bang Jun-Young <junyoung@netbsd.org>
-
- * include/winioctl.h (DEVICE_TYPE_FROM_CTL_CODE): Add macro.
-
-2003-04-26 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/oaidl.h (ITypeMarshal): Add interface.
-
-2003-04-26 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/winioctl.h: Clean up formatting.
- (RETRIEVAL_POINTERS_BUFFER): Add fields to Extents[1] struct.
- (CREATE_DISK): Add _ANONYMOUS_UNION macro.
- (DISK_CACHE_INFORMATION): Likewise.
- (DISK_DETECTION_INFO): Likewise.
- (DISK_PARTITION_INFO): Likewise.
- (PARTITION_INFORMATION_EX): Likewise.
- (DRIVE_LAYOUT_INFORMATION_EX): Likewise.
-
-2003-04-26 Casper S. Hornstrup <chorns@users.sourceforge.net>
-
- * include/winbase.h (DeleteVolumeMountPoint[AW],
- FindFirstVolumeMountPoint[AW], FindNextVolumeMountPoint[AW],
- FindVolumeMountPointClose, GetVolumeNameForVolumeMountPoint[AW],
- GetVolumePathName[AW], GetVolumePathNamesForVolumeName[AW],
- SetVolumeMountPoint[AW]): Add prototypes.
- * include/winioctl.h (IOCTL_DISK_GET_PARTITION_INFO_EX,
- IOCTL_DISK_SET_PARTITION_INFO_EX,
- IOCTL_DISK_GET_DRIVE_LAYOUT_EX,
- IOCTL_DISK_SET_DRIVE_LAYOUT_EX, IOCTL_DISK_CREATE_DISK,
- IOCTL_DISK_GET_LENGTH_INFO, IOCTL_DISK_PERFORMANCE_OFF,
- IOCTL_DISK_GET_DRIVE_GEOMETRY_EX, IOCTL_DISK_GROW_PARTITION,
- IOCTL_DISK_GET_CACHE_INFORMATION,
- IOCTL_DISK_SET_CACHE_INFORMATION,
- IOCTL_DISK_DELETE_DRIVE_LAYOUT, IOCTL_DISK_UPDATE_PROPERTIES,
- FSCTL_GET_VOLUME_BITMAP, FSCTL_GET_RETRIEVAL_POINTERS,
- FSCTL_MOVE_FILE): Define.
- (CREATE_DISK_GPT, CREATE_DISK_MBR, CREATE_DISK,
- DISK_CACHE_INFORMATION,
- DETECTION_TYPE, DISK_INT13_INFO, DISK_EX_INT13_INFO,
- DISK_DETECTION_INFO, DISK_GEOMETRY_EX, DISK_GROW_PARTITION,
- DISK_PARTITION_INFO, DISKQUOTA_USER_INFORMATION,
- GET_LENGTH_INFORMATION, DISK_EXTENT, VOLUME_DISK_EXTENTS,
- DRIVE_LAYOUT_INFORMATION_GPT, DRIVE_LAYOUT_INFORMATION_MBR,
- PARTITION_INFORMATION_MBR, PARTITION_INFORMATION_GPT,
- PARTITION_INFORMATION_EX, DRIVE_LAYOUT_INFORMATION_EX,
- MOVE_FILE_DATA,
- RETRIEVAL_POINTERS_BUFFER, STARTING_LCN_INPUT_BUFFER,
- STARTING_VCN_INPUT_BUFFER, VOLUME_BITMAP_BUFFER): Add structs.
- (PARTITION_STYLE, DISK_CACHE_RETENTION_PRIORITY): Add enums.
- (MEDIA_TYPE): Add F3_120M_512, F3_640_512, F5_640_512,
- F5_720_512, F3_1Pt2_512, F3_1Pt23_1024, F5_1Pt23_1024,
- F3_128Mb_512, F3_230Mb_512, F8_256_128, F3_200Mb_512,
- F3_240M_512, and F3_32M_512.
- * lib/kernel32.def (GetVolumePathNamesForVolumeName[AW]): Add
- stubs.
-
-2003-04-16 Earnie Boyd <earnie@users.sf.net>
-
- * include/wingdi.h (DM_SPECVERSION): Define.
- Thanks to Sinitsyn Valentime <valentine.sinitsyn@usu.ru>
- * include/rpcdce.h (UuidCreateSequential): Properly guard with
- appropriate _WIN32_WINNT values.
-
-2003-04-15 Chris January <chris@atomice.net>
-
- * include/rpcdce.h: Add declaration for UuidCreateSequential.
- * lib/rpcrt4.def: Add entry for UuidCreateSequential.
-
-2003-04-14 Phil Krylov <likewolf@users.sourceforge.net>
-
- * include/winuser.h (VK_*): Add missing defines.
-
-2003-04-14 Vincent Béron <papineau@users.sourceforge.net>
-
- * include/commctrl.h (NMUPDOWN, LPNMUPDOWN): Use currently
- documented typedefs for struct _NM_UPDOWN.
- Add defines for backward comapatibility.
- * include/commdlg.h (OFN_ENABLESIZING): Add define.
- * include/wininet.h (IRF_*): Add missing defines.
-
-2003-04-14 Bang Jun-Young <junyoung@netbsd.org>
-
- * lib/ntdll.def (Csr*, Dbg*, Ki*, Ldr*, Rtl*): Add W2K exports.
-
-2003-04-11 Earnie Boyd <earnie@users.sf.net>
-
- * include/sspi.h: Add comment for FreeCredentialsHandle.
-
-2003-04-07 Marcel Telka <telka@users.sourceforge.net>
-
- * include/ddk/winddk.h (KIRQL): Typedef as UCHAR, not ULONG.
-
-2003-03-30 Hans E. Molin <kvasi@users.sourceforge.net>
-
- * include/olectl.h (OleLoadPicturePath): Correct prototype.
-
-2003-03-30 Danny Smith <dannysmith@users.sourceforge.net>
-
- * lib/uuid.c (IID_IHTML*): Move definitions to...
- * lib/mshtml-uuid.c: New file.
- * lib/Makefile.in: Add mshtml-uuid.o to libuuid.a
-
-2003-03-30 Michael Sazonov <traip@comset.net>
-
- * lib/uuid.c (IID_IHTML*): Add new GUID definitions.
- * include/mshtml.h (IHTMLElementCollection, IHTMLLinkElement,
- IHTMLImgElement): Add interface definitions.
-
-2003-03-29 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/commctrl.h (ANIMATE_CLASS,HOTKEY_CLASS,PROGRESS_CLASS,
- STATUSCLASSNAME,TOOLBARCLASSNAME,TOOLTIPS_CLASS,TRACKBAR_CLASS,
- UPDOWN_CLASS,WC_COMBOBOXEX,WC_HEADER,WC_IPADDRESS,WC_LISTVIEW,
- WC_TABCONTROL,WC_TREEVIEW): Move UNICODE mappings out of
- RC_INVOKED guard.
- (WC_PAGESCROLLER,WC_NATIVEFONTCTL,WC_BUTTON,WC_STATIC,WC_EDIT,
- WC_LISTBOX,WC_COMBOBOX,WC_SCROLLBAR): Add defines.
-
-2003-03-28 Bang Jun-Young <junyoung@netbsd.org>
-
- * include/winnt.h (WAITORTIMERCALLBACKFUNC): Add typedef.
-
-2003-03-27 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/secext.h (GetComputerObjectName[AW],GetUserNameEx[AW],
- TranslateName[AW]): Add prototypes.
- * lib/sec32.def (GetComputerObjectName[AW],GetUserNameEx[AW],
- TranslateName[AW]): Add stubs.
- * lib/test.c: Include secext.h.
-
-2003-03-27 Vladimir Michl <michlv@users.sourceforge.net>
-
- * include/ddk/ndis.h (NdisAllocateSpinLock,NdisFreeSpinLock,
- NdisAcquireSpinLock,NdisReleaseSpinLock,NdisDprAcquireSpinLock,
- NdisDprReleaseSpinLock): Change macro argument from SpinLock to
- _SpinLock.
-
-2003-03-26 Earnie Boyd <earnie@users.sf.net>
-
- * include/w32api.h: Increment version to 2.4.
- * Makefile.in: Ditto.
-
-2003-03-26 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/ddk/batclass.h (BATTERY_REPORTING_SCALE)
- Move structure from here...
- * include/winnt.h (BATTERY_REPORTING_SCALE): To here.
-
- * include/ddk/ntapi.h (JOBOBJECT_*):
- Remove structures and enums definitions.
- (JOB_OBJECT*): Move defines from here...
- * include/winnt.h (JOB_OBJECT* ): To here.
-
- * include/ddk/ntpoapi.h (LATENCY_TIME, POWER_ACTION_POLICY,
- SYSTEM_POWER_LEVEL, SYSTEM_POWER_POLICY,
- PROCESSOR_POWER_POLICY_INFO, PROCESSOR_POWER_POLICY,
- ADMINISTRATOR_POWER_POLICY, SYSTEM_POWER_INFORMATION,
- PROCESSOR_POWER_INFORMATION, SYSTEM_BATTERY_STATE,
- SYSTEM_POWER_CAPABILITIES): Move enums, structures
- and associated defines from here ...
- * include/winnt.h: (LATENCY_TIME, POWER_ACTION_POLICY,
- SYSTEM_POWER_LEVEL, SYSTEM_POWER_POLICY,
- PROCESSOR_POWER_POLICY_INFO, PROCESSOR_POWER_POLICY,
- ADMINISTRATOR_POWER_POLICY, SYSTEM_POWER_INFORMATION,
- PROCESSOR_POWER_INFORMATION, SYSTEM_BATTERY_STATE,
- SYSTEM_POWER_CAPABILITIES):To here.
-
- * include/ddk/winddk.h (DEVICE_POWER_STATE,
- SYSTEM_POWER_STATE, POWER_ACTION): Move enums
- from here...
- * include/winnt.h (DEVICE_POWER_STATE,
- SYSTEM_POWER_STATE, POWER_ACTION): To here.
-
-2003-03-19 Danny Smith <dannysmith@users.sourceforge.net>
-
- *lib/ndis.def (NdisAllocateMemory): Correct stdcall suffix.
- Thanks to: Vladimir Michl <michlv@users.sourceforge.net>
- (NdisUpdateSharedMemory): Likewise.
- (NdisMFreeSharedMemory: Likewise.
- (NdisMMapIoSpace: Likewise.
-
-2003-03-18 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/lmaccess.h (UF_LOCKOUT): Correct name from UF_LOCK.
- Thanks to: Fabricio D. Rossi <gurusoda@users.sourceforge.net>
- (UF_SETTABLE_BITS): Correct UF_LOCKOUT here too.
-
-2003-03-17 Bang Jun-Young <junyoung@netbsd.org>
-
- * include/winbase.h (EnumResourceLanguages[AW]): Correct prototypes.
- (EnumResourceNames[AW]): Ditto.
- (EnumResourceTypes[AW]): Ditto.
- * include/wincon.h (CONSOLE_FONT_INFO): Add struct.
-
-2003-03-16 Toby Malone <malone@users.sourceforge.net>
-
- * include/winuser.h (SendInput): Add prototype.
- * lib/user32.def (SendInput): Add stub.
-
-2003-03-16 Vadim Yegorov <zg@bmg.lv>
-
- * winioctl.h (FSCTL_SET_REPARSE_POINT: Correct macro.
- (FSCTL_DELETE_REPARSE_POINT): Likewise.
-
-2003-03-15 Bang Jun-Young <junyoung@netbsd.org>
-
- * winnt.h (JOBOBJECTINFOCLASS): Define enum.
- (JOBOBJECT_*): Define corresponding structures.
-
-2003-03-13 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/ddk/winddk.h (PCUNICODE_STRING): Remove incorrect
- typedef.
-
-2003-03-13 Bang Jun-Young <junyoung@netbsd.org>
-
- * lib/kernel32.def (Module32{First,Next}{,W}): Add missing exports.
- (Process32{First,Next}{,W}): Ditto.
- (Thread32{First,Next}): Ditto.
- * include/ntdef.h (PCUNICODE_STRING): Add typedef.
-
-2003-03-12 Earnie Boyd <earnie@users.sf.net>
-
- * include/mswsock.h: Correct invalid filter for _WINSOCK2_H.
- Thanks to Jim Barton <jmbarton@users.sf.net>.
-
-2003-03-12 Ranjit Mathew <rmathew@hotmail.com>
-
- * include/winnt.h (_IMAGE_SEPARATE_DEBUG_HEADER): Expose
- member SectionAlignment.
-
-2003-03-11 Earnie Boyd <earnie@users.sf.net>
-
- * include/winsvc.h (SERVICE_NO_CHANGE): Use hex constant to avoid
- warnings.
- Thanks to Fabricio D. Rossi <gurusoda@users.sf.net>.
- * Makefile.in (bindist): Correct process.
- * lib/Makefile.in (install): Ditto.
- Thanks to Jeff Bonnggren <jbon@users.sf.net>.
-
-2003-03-10 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/rasdlg.h: New file.
- * lib/rasdlg.def: New file.
- * lib/test.c: Include rasdlg.h.
-
-2003-03-06 Christopher January <chris@atomice.net>
-
- * include/winbase.h (FindFirstVolume): Add declaration.
- (FindNextVolume): Add declaration.
- (FindVolumeClose): Add declaration.
- (GetSystemTimes): Add declaration.
- * include/winnt.h: Add define for PF_XMMI64_INSTRUCTIONS_AVAILABLE.
-
-2003-03-06 Danny Smith <dannysmith@users.sourceforge.net>
-
- *lib/kernel32.def (GetSystemTimes): Add stub.
-
-2003-03-04 Heiko Gerdau <hg@technosis.de>
-
- * oleidl.h (IOleObject): Correct GetUserType prototype.
- (IViewObject2): Correct GetExtent prototype.
- * olectl.h (DISPIP_): Add new defines
- * ocidl.h (IOleInPlaceSiteWindowless): Add new interface.
-
-2003-03-01 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/olectl.h (OleLoadPictureEx) Add prototype.
- (OleLoadPictureFile): Ditto.
- (OleLoadPictureFileEx): Ditto.
- (OleLoadPicturePath): Ditto.
- (OleSavePictureFile): Ditto.
-
-2003-03-01 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/objbase.h (CoAddRefServerProcess): Add prototype.
- (CoAddReleaseServerProcess): Ditto.
- (CoResumeClassObjects): Ditto.
- (CoSuspendClassObjects): Ditto.
- * include/oleauto.h (V_I1): Define.
- Thanks to: "Timofei" <mmttmm@users.sourceforge.net>
-
-2003-03-01 Heiko Gerdau <hg@technosis.de>
-
- * include/oleidl.h (USERCLASSTYPE): Add enum.
- * include/ocidl.h (IObjectWithSite): Add interface.
-
-2003-02-28 Roland Schwingel <roland.schwingel@onevision.de>
-
- Fixup UNICODE thinko in 2003-02-22 patch.
- * include/wingdi.h (AddFontMemResourceEx): Add.
- (RemoveFontMemResourceEx): Ditto.
- (AddFontMemResourceEx[AW]): Remove.
- (RemoveFontMemResourceEx[AW]): Ditto
- * lib/gdi32.def: (AddFontResourceEx): Add.
- (RemoveFontMemResourceEx): Ditto.
- (AddFontMemResourceEx[AW]): Remove.
- (RemoveFontResourceEx[AW]): Ditto.
-
-2003-02-23 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/winbase.h (EVENTLOG_SUCCESS): Add define.
- Thanks to: Thomas Weber <thomasweber@sourceforge.net>
-
-2003-02-22 Roland Schwingel <roland.schwingel@onevision.de>
-
- * include/wingdi.h (AddFontMemResourceEx[AW]): Add.
- (RemoveFontMemResourceEx[AW]): Ditto
- * lib/gdi32.def (AddFontMemResourceEx[AW]): Add.
- (RemoveFontMemResourceEx[AW]): Ditto.
-
-2003-02-22 Bang Jun-Young <junyoung@netbsd.org>
-
- * lib/ntdll.def (NT*, RTL*, ZW*): Add missing exports.
- (NtCurrentTeb): Remove.
-
-2003-02-22 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/wsahelp.h: Remove ';' after closing
- #ifdef __cplusplus brace.
- * include/ws2spi.h: Likewise.
-
-2003-02-22 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/winbase.h (MEMORYSTATUSEX): Add structure.
- (GlobalMemoryStatusEx): Add prototype.
- * lib/kernel32.def (GlobalMemoryStatusEx): Add stub.
-
-2003-02-17 Vaclav Haisman <V.Haisman@sh.cvut.cz>
-
- * include/winioctl.h (FSCTL_SET_SPARSE): Define.
-
-2003-02-12 Roland Schwingel <roland.schwingel@onevision.de>
-
- * include/wingdi.h (AddFontResourceEx[AW]): Add.
- (RemoveFontResourceEx[AW]): Ditto
- (FR_PRIVATE): Define.
- (FR_NOT_ENUM): Define.
- * lib/gdi32.def (AddFontResourceEx[AW]): Add.
- (RemoveFontResourceEx[AW]): Ditto.
-
-2003-02-10 Earnie Boyd <earnie@users.sf.net>
-
- * include/w32api.h: Increment version to 2.3.
- * Makefile.in: Ditto.
-
-2003-02-09 Earnie Boyd <earnie@users.sf.net>
-
- * lib/ddk/ntoskrnl.def (Ke386IoSetAccessProcess): Activate export.
- (Ke386QueryToAccessMap): Ditto.
- (Ke386SetIoAccessMap): Ditto.
- Thanks to Marcel Telka <telka@users.sf.net>
- * include/secext.h: New file. Declare EXTENDED_NAME_FORMAT.
- * include/security.h: Include secext.h.
- * include/winbase.h: Declare COMPUTER_NAME_FORMAT.
- Thanks to Dimitri Papadopoulos <dimitri_at@users.sf.net>
- * include/GL/gl.h: Remove include of glext.h.
- Thanks to Greg Couch <gregcouch@users.sf.net>
-
-2003-02-05 Earnie Boyd <earnie@users.sf.net>
-
- * include/basetypes.h (_GUID_DEFINED): Add deprecation warning, start
- using GUID_DEFINED instead.
- * include/sqltypes.h: Ditto.
- * include/winnt.h: Ditto.
- * include/ddk/scsiwmi.h: Ditto.
-
-2003-02-04 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/shlwapi.h (PathRelativePathTo[AW]): Correct
- prototypes.
- Thanks to: John Dallaway <jld@ecoscentric.com>.
-
-2003-02-01 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/commctrl.h (TCM_*): Add missing defines.
-
-2003-02-01 Jesus Alvarez <jesus_alvarez@users.sourceforge.net>
- Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/prsht.h (PSP_*, PSH_*): Add missing defines.
- (PROPSHEETPAGE[AW]): Add pszHeaderTitle, pszHeaderSubTitle
- for (_WIN32_IE >= 0x0400).
- (PROPSHEETHEADER[AW]): Add hplWatermark and anonymous union
- fields for (_WIN32_IE >= 0x0400).
-
-2003-01-31 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/winbase.h (CreateFiber): Change first parameter
- to SIZE_T.
- (CreateJobObject[AW], CreateHardLink[AW]):Guard with
- if (_WIN32_WINNT >= 0x0500).
-
-2003-01-31 Bang Jun-Young <junyoung@netbsd.org>
-
- * include/winbase.h (PWIN32_FIND_DATAA, PWIN32_FIND_DATAW):
- Add missing typedefs.
- (CreateFiberEx, CreateJobObjectA,CreateJobObjectW): Add missing
- prototypes.
- (CreateHardLinkA, CreateHardLinkW): Return BOOL, not HANDLE.
-
-2003-01-27 Krzysztof Nikiel <kni@poczta.onet.pl>
-
- * include/mmsystem.h (MIXERCONTROL_CONTROLF_MULTIPLE): Correct
- define.
- * lib/largeint.c (LargeIntegerAdd): Add, don't multiply.
-
-2003-01-27 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/rpcnterr.h (RPC_X_INVALID_PIPE_OPERATION): Add
- define.
- * include/winbase.h (WAIT_TIMEOUT): Guard against prior
- definition.
- (WAIT_FAILED): Cast to DWORD.
- * include/winerror.h (WAIT_TIMEOUT): Guard against prior
- definition.
-
-2003-01-27 Bang Jun-Young <junyoung@netbsd.org>
-
- * include/winerror.h: Protect against multiple
- definition of WSA* error codes.
- * include/winsock.h: Likewise.
- * include/winsock2.h: Likewise.
-
-2003-01-27 Bang Dong-Heui
- Bang Jun-Young <junyoung@netbsd.org>
-
- * include/winerror.h (ERROR_*, SEC_E_*,RPC_S_*, FRS_ERR_*,
- DNS_*, WSA*, WAIT_TIMEOUT): Add missing error codes.
- (RPC_X_INVALID_PIPE_OPERATION): Remove define.
-
-
-2003-01-24 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/ras.h (RASCONN[AW]): Add dwSessionId for
- (WINVER >= 0x501).
-
-2003-01-24 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/ras.h (RASCONN[AW]): Guard szDeviceType,
- szDeviceName fields with (WINVER >= 0x400). Add dwFlags, luid
- fields for (WINVER >= 0x501).
-
-2003-01-23 Danny Smith <dannysmith@users.sourceforge.net>
-
- * lib/ws2_32.def (getaddrinfo, freeaddrinfo and getnameinfo):
- Add stubs.
- * include/ws2tcpip.h (IPV6_*) Add IPPROTO_IPV6 level socket
- options.
-
-2003-01-11 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/winnt.h (IMAGE_FILE_AGGRESIVE_WS_TRIM
- IMAGE_FILE_LARGE_ADDRESS_AWARE): Add defines.
-
-2003-01-11 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/accctrl.h (enum _SE_OBJECT_TYPE): Add
- SE_REGISTRY_WOW64_32KEY.
- Reported by: Dimitri Papadopoulos <dimitri_at@sourceforge.users.net>
-
-2003-01-11 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/commctrl.h (HDN_GETDISPINFO[AW]: Add defines.
- (tagNMHDDISPINFO[AW}: Add structures and typedefs.
- Reported by: Mat Nieuwenhoven <matnieuw@users.sourceforge.net>
-
-2003-01-10 Christopher Faylor <cgf@redhat.com>
-
- * include/winsock2.h: Remove gethostname from INSIDE_CYGWIN protection.
-
-2003-01-08 Danny Smith <dannysmith@users.sourceforge.net>
-
- * lib/dxguid.c: Don't #include <objbase.h>.
- * include/unknwn.h: Partially revert change of 2002-12-26.
- Don't include <ole2.h>.
-
-2003-01-08 Danny Smith <dannysmith@users.sourceforge.net>
-
- * lib/dinput.c: Don't #include <objbase.h>.
-
-2003-01-08 Bart Oldeman <bartoldeman@users.sourceforge.net>
-
- * include/windows.h (ole2.h):Do #include for
- __WATCOMC__.
-
-2003-01-05 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/winuser.h (SPI_SETWHEELSCROLLLINES) Add define.
- * include/zmouse.h (WHEEL_DELTA): Guard against prior
- definition.
- (WHEEL_PAGESCROLL): Likewise.
- (SPI_SETWHEELSCROLLLINES): Define, if not already done.
-
-2003-01-04 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/winuser.h (SPI_GETWHEELSCROLLLINES) Add define.
- (WHEEL_PAGESCROLL): Add define.
-
-2003-01-04 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/commctrl.h (tagNMTOOLBAR[AW]): Replace obsolete struct
- names tagTBNOTIFY[AW] and typedefs. Add defines for backward
- compatability. Add RECT field. Add UNICODE mappings for new
- names.
- (tagNMREBARCHEVRON): Add struct and typedefs for
- _WIN32_IE >= 0x0500.
-
-2003-01-04 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/commctrl.h (TOOLINFO[AW]): Update structures.
- (LVHITTESTINFO): Likewise.
-
- * include/wingdi.h (GRADIENT_TRIANGLE): Add structure.
- (GRADIENT_RECT): Likewise.
-
-2003-01-03 Bang Jun-Young <junyoung@netbsd.org>
-
- * include/winerror.h (ERROR_OPLOCK_NOT_GRANTED,
- ERROR_INVALID_OPLOCK_PROTOCOL, ERROR_SOURCE_ELEMENT_EMPTY,
- ERROR_DESTINATION_ELEMENT_FULL, ERROR_ILLEGAL_ELEMENT_ADDRESS,
- ERROR_MAGAZINE_NOT_PRESENT, ERROR_DEVICE_REINITIALIZATION_NEEDED,
- ERROR_DEVICE_REQUIRES_CLEANING, ERROR_DEVICE_DOOR_OPEN,
- ERROR_DEVICE_NOT_CONNECTED, ERROR_NOT_FOUND, ERROR_NO_MATCH,
- ERROR_SET_NOT_FOUND, ERROR_NO_TRACKING_SERVICE,
- ERROR_JOURNAL_DELETE_IN_PROGRESS, ERROR_JOURNAL_NOT_ACTIVE,
- ERROR_JOURNAL_ENTRY_DELETED, ERROR_ONLY_IF_CONNECTED,
- ERROR_NOT_SUPPORTED_ON_SBS, ERROR_SERVER_SHUTDOWN_IN_PROGRESS,
- ERROR_MUTUAL_AUTH_FAILED, ERROR_TIME_SKEW, ERROR_DEVICE_REMOVED,
- RPC_S_INVALID_ASYNC_HANDLE, RPC_S_INVALID_ASYNC_CALL,
- RPC_X_PIPE_CLOSED, RPC_X_PIPE_DISCIPLINE_ERROR, RPC_X_PIPE_EMPTY,
- ERROR_CANT_ACCESS_FILE, ERROR_CANT_RESOLVE_FILENAME,
- ERROR_WMI_GUID_NOT_FOUND, ERROR_WMI_INSTANCE_NOT_FOUND,
- ERROR_WMI_ITEMID_NOT_FOUND, ERROR_WMI_TRY_AGAIN, ERROR_WMI_READ_ONLY,
- ERROR_WMI_SET_FAILURE, ERROR_TRANSPORT_FULL, ERROR_FILE_OFFLINE,
- ERROR_REMOTE_STORAGE_NOT_ACTIVE, ERROR_REMOTE_STORAGE_MEDIA_ERROR,
- ERROR_NOT_A_REPARSE_POINT, ERROR_REPARSE_ATTRIBUTE_CONFLICT,
- ERROR_INVALID_REPARSE_DATA, ERROR_REPARSE_TAG_INVALID,
- ERROR_REPARSE_TAG_MISMATCH, ERROR_FILE_ENCRYPTED,
- ERROR_FILE_NOT_ENCRYPTED, ERROR_NOT_EXPORT_FORMAT,
- ERROR_CTX_WINSTATION_NAME_INVALID, ERROR_CTX_INVALID_PD,
- ERROR_CTX_PD_NOT_FOUND, ERROR_CTX_WD_NOT_FOUND,
- ERROR_CTX_CLOSE_PENDING, ERROR_CTX_NO_OUTBUF,
- ERROR_CTX_MODEM_INF_NOT_FOUND, ERROR_CTX_INVALID_MODEMNAME,
- ERROR_CTX_MODEM_RESPONSE_ERROR, ERROR_CTX_MODEM_RESPONSE_TIMEOUT,
- ERROR_CTX_MODEM_RESPONSE_NO_CARRIER,
- ERROR_CTX_MODEM_RESPONSE_NO_DIALTONE, ERROR_CTX_MODEM_RESPONSE_BUSY,
- ERROR_CTX_MODEM_RESPONSE_VOICE, ERROR_CTX_TD_ERROR,
- ERROR_CTX_WINSTATION_NOT_FOUND, ERROR_CTX_WINSTATION_ALREADY_EXISTS,
- ERROR_CTX_WINSTATION_BUSY, ERROR_CTX_BAD_VIDEO_MODE,
- ERROR_CTX_GRAPHICS_INVALID, ERROR_CTX_NOT_CONSOLE,
- ERROR_CTX_CLIENT_QUERY_TIMEOUT, ERROR_CTX_CONSOLE_DISCONNECT,
- ERROR_CTX_CONSOLE_CONNECT, ERROR_CTX_SHADOW_DENIED,
- ERROR_CTX_WINSTATION_ACCESS_DENIED, ERROR_CTX_INVALID_WD,
- ERROR_CTX_SHADOW_INVALID, ERROR_CTX_SHADOW_DISABLED,
- ERROR_CTX_CLIENT_LICENSE_IN_USE, ERROR_CTX_CLIENT_LICENSE_NOT_SET,
- ERROR_CTX_LICENSE_NOT_AVAILABLE, ERROR_CTX_LICENSE_CLIENT_INVALID,
- ERROR_CTX_LICENSE_EXPIRED, ERROR_DS_MEMBERSHIP_EVALUATED_LOCALLY,
- ERROR_DS_NO_ATTRIBUTE_OR_VALUE, ERROR_DS_INVALID_ATTRIBUTE_SYNTAX,
- ERROR_DS_ATTRIBUTE_TYPE_UNDEFINED, ERROR_DS_ATTRIBUTE_OR_VALUE_EXISTS,
- ERROR_DS_BUSY, ERROR_DS_UNAVAILABLE, ERROR_DS_NO_RIDS_ALLOCATED,
- ERROR_DS_NO_MORE_RIDS, ERROR_DS_INCORRECT_ROLE_OWNER,
- ERROR_DS_RIDMGR_INIT_ERROR, ERROR_DS_OBJ_CLASS_VIOLATION,
- ERROR_DS_CANT_ON_NON_LEAF, ERROR_DS_CANT_ON_RDN,
- ERROR_DS_CANT_MOD_OBJ_CLASS, ERROR_DS_CROSS_DOM_MOVE_ERROR,
- ERROR_DS_GC_NOT_AVAILABLE, ERROR_SHARED_POLICY,
- ERROR_POLICY_OBJECT_NOT_FOUND, ERROR_POLICY_ONLY_IN_DS,
- ERROR_DS_ADMIN_LIMIT_EXCEEDED, ERROR_DS_DS_REQUIRED,
- ERROR_DS_SAM_INIT_FAILURE, ERROR_DS_SENSITIVE_GROUP_VIOLATION,
- ERROR_DS_CANT_MOD_PRIMARYGROUPID, ERROR_DS_INVALID_GROUP_TYPE,
- ERROR_DS_NO_NEST_GLOBALGROUP_IN_MIXEDDOMAIN,
- ERROR_DS_NO_NEST_LOCALGROUP_IN_MIXEDDOMAIN,
- ERROR_DS_GLOBAL_CANT_HAVE_LOCAL_MEMBER,
- ERROR_DS_GLOBAL_CANT_HAVE_UNIVERSAL_MEMBER,
- ERROR_DS_UNIVERSAL_CANT_HAVE_LOCAL_MEMBER,
- ERROR_DS_GLOBAL_CANT_HAVE_CROSSDOMAIN_MEMBER,
- ERROR_DS_LOCAL_CANT_HAVE_CROSSDOMAIN_LOCAL_MEMBER,
- ERROR_DS_HAVE_PRIMARY_MEMBERS, ERROR_DS_SAM_NEED_BOOTKEY_PASSWORD,
- ERROR_DS_SAM_NEED_BOOTKEY_FLOPPY, ERROR_DS_CANT_START,
- ERROR_DS_INIT_FAILURE, ERROR_SAM_INIT_FAILURE, ERROR_DS_GC_REQUIRED,
- ERROR_DS_LOCAL_MEMBER_OF_LOCAL_ONLY,
- ERROR_DS_NO_FPO_IN_UNIVERSAL_GROUPS,
- ERROR_DS_MACHINE_ACCOUNT_QUOTA_EXCEEDED):
- Add missing error codes.
-
-2003-01-02 Danny Smith <dannysmith@users.sourceforge.net>
-
- * lib/kernel32.c (GetCurrentFiber): Remove blank input field in
- asm code.
- (GetFiberData): Likewise.
-
-2003-01-02 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/winnt.h (GetCurrentFiber): Remove blank input field in
- asm code.
- (GetFiberData): Likewise.
-
-2003-01-02 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/winerror.h (ERROR_DIFFERENT_SERVICE_ACCOUNT,
- ERROR_EXE_MACHINE_TYPE_MISMATCH, ERROR_HOOK_TYPE_NOT_ALLOWED,
- ERROR_INVALID_KEYBOARD_HANDLE, ERROR_INVALID_PRINT_MONITOR,
- ERROR_PRINT_MONITOR_IN_USE, ERROR_PRINTER_HAS_JOBS_QUEUED,
- ERROR_REQUIRES_INTERACTIVE_WINDOWSTATION,
- ERROR_SUCCESS_REBOOT_REQUIRED, ERROR_SUCCESS_RESTART_REQUIRED,
- ERROR_TIMEOUT, OR_INVALID_OID, OR_INVALID_OXID,
- OR_INVALID_SET, RPC_X_INVALID_PIPE_OPERATION): Add missing
- error codes.
- Re-sort codes.
-
-2003-01-02 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/winspool.h (PRINTER_INFO_6): Add.
- Reported by: Mat Nieuwenhoven <matnieuw@users.sourceforge.net>
-
-2002-12-30 Hartmut Honisch <hhonisch@users.sourceforge.net>
-
- * include/winbase.h (NMPWAIT_WAIT_FOREVER): Cast to DWORD.
-
- * lib/ntdll.def (NtConnectPort, NtOpenEvent,
- NtRequestWaitReplyPort, NtWaitForSingleObject,ZwConnectPort,
- ZwOpenEvent, ZwRequestWaitReplyPort, ZwWaitForSingleObject):
- Add stubs.
-
-2002-12-30 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/wingdi.h (wglGetLayerPaletteEntries): Correct
- prototype. Thanks to: Joe Krahn <jkrahn at nc dot rr dot com>.
-
-2002-12-26 Dimitri Papadopoulos <dimitri_at@sourceforge.users.net>
-
- * include/wingdi.h (DOCINFOA): Replace LPCTSTR with LPCSTR.
-
-2002-12-26 Dimitri Papadopoulos <dimitri_at@sourceforge.users.net>
-
- * include/wingdi.h (BALTIC_CHARSET, JOHAB_CHARSET,
- VIETNAMESE_CHARSET): Remove duplicate defines.
- * lib/comctl32.def (ImageList_SetImageCount): Add stub.
-
-2002-12-26 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/dbt.h (DEV_BROADCAST_PORT): Add UNICODE version.
- Thanks to: Dimitri Papadopoulos <dimitri_at@sourceforge.users.net>
-
-2002-12-26 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/unknwn.h: Include windows.h and ole2.h before header
- guard to avoid circular inclusion of COM headers.
-
-2002-12-26 Dimitri Papadopoulos <dimitri_at@sourceforge.users.net>
-
- * include/dde.h (PackDDElParam, UnpackDDElParam,FreeDDElParam,
- ReuseDDElParam): Use __WIN64 compatible typedefs.
-
-2002-12-26 Dimitri Papadopoulos <dimitri_at@sourceforge.users.net>
-
- * include/accctrl.h (ACTRL_ACCESS_ENTRY[AW]): Make
- lpInheritProperty member const.
- (ACTRL_PROPERTY_ENTRY[AW]): Make lpProperty member
- const.
-
-2002-12-26 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/commcat.h: Don't include windows.h or ole2.h ifdef
- COM_NO_WINDOWS_H.
- * include/unknwn.h: Ditto.
-
-2002-12-26 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/imm.h (ImmGetCompositionFont[AW],
- ImmSetCompositionFont[AW]): Add NOGDI guard.
-
-2002-12-19 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/ddk/hidusage.h: Remove unneccessary #pragma pack's.
- * include/ddk/miniport.h (EMULATOR_PORT_ACCESS_TYPE): Define
- before using.
- (VIDEO_ACCESS_RANGE): Guard against prior definition.
- * include/ddk/minitape.h (INQUIRYDATA): Guard against prior
- definition.
- * include/ddk/ndis.h (DECLARE_UNKNOWN_PROTOTYPE): Correct macro.
- * include/ddk/ndisguid.h: Remove unneccessary #pragma pack's.
- * include/ddk/scsi.h (INQUIRYDATA): Guard against prior
- definition.
- * include/ddk/scsiwmi.h (GUID): Define if not already done.
- (LPCGUID): Likewise.
- * include/ddk/tdi.h: Close "Listen flags" comment.
- * include/ddk/tdistat.h: Remove unneccessary #pragma pack's.
- * include/ddk/video.h: Add #pragma pack(push,4) to balance.
- (VIDEO_ACCESS_RANGE): Guard against prior definition.
- * include/ddk/videoagp.h:Add #pragma pack(push,4) to balance.
- * include/ddk/win2k.h: Likewise.
- * include/ddk/winddi.h: Likewise.
- * include/ddk/winddk.h: Likewise.
- * include/ddk/winnt4.h: Likewise.
- * include/ddk/ws2san.h: Likewise.
- * include/ddk/xfilter.h: Remove unbalanced #pragma pack(pop).
- * include/ddk/video.h: Don't process rest of file ifdef
- __WINDDI_H.
- * include/ddk/winddi.h: Don't process rest of file ifdef
- __VIDEO_H.
- * include/ddk/usb.h: Don't process rest of file ifdef
- __USBDI_H.
- * include/ddk/usbdi.h: Don't process rest of file ifdef
- __USB_H.
- * include/ddk/usbcamdi.h: Don't process rest of file if
- !defined(__USB_H) && !defined(__USBDI_H)
-
-2002-12-18 James E. Lucas <xelloss@users.sourceforge.net>
-
- * include/winnetwk.h (WNetResourceInformation[AW]): Correct
- prototypes.
- * include/winuser.h (GetAncestor) Add prototype.
- (GA_PARENT, GA_ROOT, GA_ROOTOWNER): Add defines.
- (EWX_FORCEIFHUNG): Add define for _WIN32_WINNT >= 0x0500.
- (SPI_GETACTIVEWINDOWTRACKING, SPI_GETACTIVEWNDTRKZORDER,
- SPI_GETACTIVEWNDTRKTIMEOUT, SPI_SETACTIVEWINDOWTRACKING
- SPI_SETACTIVEWNDTRKZORDER, SPI_SETACTIVEWNDTRKTIMEOUT): Add
- defines.
- * lib/user32.def (GetAncestor@8): Add stub.
-
-2002-12-15 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/windows.h: Guard inclusion of wingdi.h,
- commdlg.h, winspool.h, ole2.h with NOGDI.
- * include/winuser.h (ICONMETRICS, NONCLIENTMETRICS,
- ChangeDisplaySettings, CreateDesktop, EnumDisplaySettings):
- Guard with NOGDI.
-
-2002-12-12 Dimitri Papadopoulos <dimitri_at@sourceforge.users.net>
-
- * include/oleacc.h (SELFLAG_*): Change to enum.
-
-2002-12-11 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/shlobj.h (IShellLinkW::GetPath): Correct prototype.
- Thanks to: Dimitri Papadopoulos <dimitri_at@sourceforge.users.net>
-
-2002-12-09 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/shellapi.h (ExtractIconEx[AW]): Correct return type
- to UINT.
- Thanks to: Dimitri Papadopoulos <dimitri_at@sourceforge.users.net>
-
-2002-12-07 Danny Smith <dannysmith@users.sourveforge.net>
-
- * include/winuser.h (AllowSetForegroundWindow,
- LockSetForegroundWindow): Add prototypes.
- (ASFW_ANY, LSFW_LOCK, LSFW_UNLOCK) Add defines.
- Thanks to: Pat Thoyts <patthoyts@users.sourceforge.net>
- * lib/winuser.def (AllowSetForegroundWindow,
- LockSetForegroundWindow): Add stubs.
-
-2002-12-06 Ken Fitlike <kenfitlike@users.sourceforge.net>
-
- * include/commctrl.h (TN_GETDISPINFO[AW]): Add defines and
- UNICODE mappings.
- (tagNMTTDISPINFO[AW]): Replace obsolete struct names
- tagTOOLTIPTEXT[AW] and typedefs. Add defines for backward
- compatability. Add lParam field. Add UNICODE mappings for new
- names.
-
-2002-12-02 Andrew Stadt <acstadt@sympatico.ca>
-
- * include/shellapi.h (_SHFILEOPSTRUCTA,_SHFILEOPSTRUCTW):
- Wrap with pshpack2.h/poppack.h to correct alignment.
-
-2002-12-02 Ken Fitlike <kenfitlike@users.sourceforge.net>
-
- * include/commctrl.h (LVBKIF_*): Add defines.
- (LVM_SETIMAGE[AW]): Add defines and UNICODE mappings.
- (LVM_GETIMAGE[AW]): Add defines and UNICODE mappings.
- (LVBKIMAGE[AW]): Add defines and UNICODE mappings.
- (LPLVBKIMAGE[AW]): Add defines and UNICODE mappings.
- (LVM_GETBKIMAGE[AW]): Add defines and UNICODE mappings.
- (LVM_SETBKIMAGE[AW]): Add defines and UNICODE mappings.
- (ListView_GetBkImage): Add define.
- (ListView_SetBkImage): Add define.
- (LVBKIMAGE): Add structures and typedefs.
-
-2002-11-25 Earnie Boyd <earnie@users.sf.net>
-
- * include/w32api.h: Increment to version 2.2
- * Makefile.in: Ditto.
-
-2002-11-25 Earnie Boyd <earnie@users.sf.net>
-
- * lib/Makefile.in (dist, install): Correct the install destinations.
- * lib/ddk/Makefile.in (dist, install): Ditto.
-
-2002-11-16 Danny Smith <dannysmith@users.sourceforge.net>
-
- * lib/uuid.c (CATID_InternetAware,CLSID_HttpSProtocol,
- CLSID_PSUrlMonProxy,CLSID_StdURLMoniker,IID_IObjectWithSite,
- IID_IPersistMoniker,IID_IProgressNotify): Correct off-by-one bug
- in definitions.
- (CLSID_CFontPropPage00, GUID_FONTUNDERSCORE11,
- IID_IOleControlSite89): Remove.
-
-2002-11-15 Christopher Faylor <cgf@redhat.com>
-
- * lib/uuid.c (IID_IRunnableObject): Remove duplicate definition.
- (IID_IStdMarshalInfo): Ditto.
-
-2002-11-15 Christopher Faylor <cgf@redhat.com>
-
- * lib/uuid.c (IID_IOleInPlaceSite): Remove duplicate definition.
- (IID_IPersistStorage): Ditto.
-
-2002-11-15 Weiqi Gao <weiqigao@users.sourceforge.net>
-
- * lib/uuid.c (CLSID_PSClassObject, CLSID_PSEnumerators,
- IID_IClassActivator, IID_IClientSecurity, IID_ICreateTypeInfo,
- IID_ICreateTypeLib2, IID_IOleInPlaceSite, IID_IPersistStorage,
- IID_IRunnableObject, IID_IServerSecurity, IID_IStdMarshalInfo):
- Correct definitions.
-
-2002-11-15 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/ddk/(atm.h, batclass.h, cfg.h, cfgmgr32.h, d4drvif.h,
- d4iface.h, ddkmapi.h, hidclass.h, hidpi.h, hidusage.h, mcd.h,
- miniport.h, minitape.h, mountdev.h, mountmgr.h, ndis.h,
- ndisquid.h, ndistapi.h, ndisvan.h, netevent.h, netpnp.h,
- netdev.h, ntapi.h, ntdd8042.h, ntddbeep.h, ntddcdrm.h,
- ntddcdvd.h, ntddchgr.h, ntdddisk.h, ntddk.h, ntddkbd.h,
- ntddmou.h, ntddndis.h, ntddpar.h, ntddpcm.h, ntddscsi.h,
- ntddser.h, ntddstor.h, ntddtape.h, ntddtdi.h, ntddvdeo.h,
- ntddvol.h, ntifs.h, ntpoapi.h, ntstatus.h, parallel.h, pfhook.h,
- poclass.h, scsi.h, scsiscan.h, scsiwmi.h, smbus.h, srb.h,
- storport.h, tdi.h, tdiinfo.h, tdikrnl.h, tdistat.h, tvout.h,
- upssvc.h, usb.h, usb100.h, usbcamdi.h, usbdi.h, usbioctl.h,
- usbiodef.h, usbscan.h, usbuser.h, video.h, videoagp.h, win2k.h,
- winddi.h, winddk.h, winnt4.h, winxp.h, ws2san.h,
- xfilter.h): Change comment to refer w32api package, not MinGW.
-
-2002-11-15 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/ddk/ntddk.h: Include winnt.h as system header.
-
-2002-11-12 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/ddk/(atm.h, batclass.h, cfg.h, cfgmgr32.h, d4drvif.h,
- d4iface.h, ddkmapi.h, hidclass.h, hidpi.h, hidusage.h, mcd.h,
- miniport.h, minitape.h, mountdev.h, mountmgr.h, ndis.h,
- ndisquid.h, ndistapi.h, ndisvan.h, netevent.h, netpnp.h,
- netdev.h, ntapi.h, ntdd8042.h, ntddbeep.h, ntddcdrm.h,
- ntddcdvd.h, ntddchgr.h, ntdddisk.h, ntddk.h, ntddkbd.h,
- ntddmou.h, ntddndis.h, ntddpar.h, ntddpcm.h, ntddscsi.h,
- ntddser.h, ntddstor.h, ntddtape.h, ntddtdi.h, ntddvdeo.h,
- ntddvol.h, ntifs.h, ntpoapi.h, ntstatus.h, parallel.h, pfhook.h,
- poclass.h, scsi.h, scsiscan.h, scsiwmi.h, smbus.h, srb.h,
- storport.h, tdi.h, tdiinfo.h, tdikrnl.h, tdistat.h, tvout.h,
- upssvc.h, usb.h, usb100.h, usbcamdi.h, usbdi.h, usbioctl.h,
- usbiodef.h, usbscan.h, usbuser.h, video.h, videoagp.h, win2k.h,
- winddi.h, winddk.h, winnt4.h, winxp.h, ws2san.h,
- xfilter.h): Fix typo in disclaimer comment.
-
-2002-11-12 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/exdisp.h: Include oaidl.h as system header.
-
-2002-11-12 Earnie Boyd <earnie@users.sf.net>
-
- * include/w32api.h (__W32API_VERSION): Fix.
-
-2002-11-09 Weiqi Gao <weiqigao@users.sourceforge.net>
-
- * lib/uuid.c (IID_ICatInformation): Correct definition.
-
-2002-11-07 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/oleauto.h (DeregisterTypeLib): Remove.
- (UnRegisterTypeLib): Add prototype.
-
-2002-11-07 Christopher January <chris@atomice.net>
-
- * include/winioctl.h: Add definition for IOCTL_DISK_UPDATE_DRIVE_SIZE.
-
-2002-11-04 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/winnt.h (VerSetConditionMask): Add prototype.
- * lib/kernel32.def (VerifyVersionInfo[AW]): Add stubs.
-
-2002-10-16 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/winuser.h (MONITORINFOEX[AW]): Add structure
- definitions and ANSI/UNICODE mappings.
- Cleanup whitespace.
-
-2002-10-14 Earnie Boyd <earnie@users.sf.net>
-
- * Makefile.in: Add components for lib/ddk. Adjust for autoconf-2.53.
- * configure.in: Ditto.
- * lib/Makefile.in: Ditto.
- * lib/ddk/Makefile.in: Correct installation procedure. Adjust for
- autoconf-2.53.
- * configure: Regenerate.
-
-2002-10-14 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/windows.h: Don't include basetyps.h.
- * include/objfwd.h: Do include basetyps.h.
-
-2002-10-13 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/objbase.h: Include rpc.h and rpcndr.h
- before header guard.
-
-2002-10-11 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/olectl.h (PROPPAGEINFO): Change type of
- field cb to ULONG.
-
-2002-10-11 Steven Edwards <Steven_Ed4153@yahoo.com>
-
- * lib/ntdll.def (RtlAcquireResourceExclusive,
- RtlAcquireResourceShared, RtlDeleteResource,
- RtlInitializeResource, RtlReleaseResource,
- RtlTimeToSecondsSince1970) : Added missing exports.
-
-2002-10-08 Heiko Gerdau <hg@technosis.de>
-
- * include/oleacc.h: New file.
- * include/winuser.h (ENDSESSION_LOGOFF) Add define.
- (OBJID_*) Add defines.
- * lib/uuid.c: Add DEFINE_GUID for IID_IAccessible.
- * lib/test.c: Include oleacc.h.
-
-2002-10-06 Casper Hornstrup <chorns@it.dk>
-
- * include/ddk: New subdir.
- * lib/ddk: Ditto.
- * include/ddk/(atm.h, batclass.h, cfg.h, cfgmgr32.h, d4drvif.h,
- d4iface.h, ddkmapi.h, hidclass.h, hidpi.h, hidusage.h, mcd.h,
- miniport.h, minitape.h, mountdev.h, mountmgr.h, ndis.h,
- ndisquid.h, ndistapi.h, ndisvan.h, netevent.h, netpnp.h,
- netdev.h, ntapi.h, ntdd8042.h, ntddbeep.h, ntddcdrm.h,
- ntddcdvd.h, ntddchgr.h, ntdddisk.h, ntddk.h, ntddkbd.h,
- ntddmou.h, ntddndis.h, ntddpar.h, ntddpcm.h, ntddscsi.h,
- ntddser.h, ntddstor.h, ntddtape.h, ntddtdi.h, ntddvdeo.h,
- ntddvol.h, ntifs.h, ntpoapi.h, ntstatus.h, parallel.h, pfhook.h,
- poclass.h, scsi.h, scsiscan.h, scsiwmi.h, smbus.h, srb.h,
- storport.h, tdi.h, tdiinfo.h, tdikrnl.h, tdistat.h, tvout.h,
- upssvc.h, usb.h, usb100.h, usbcamdi.h, usbdi.h, usbioctl.h,
- usbiodef.h, usbscan.h, usbuser.h, video.h, videoagp.h, win2k.h,
- winddi.h, winddk.h, winnt4.h, winxp.h, ws2san.h,
- xfilter.h): New files.
- * lib/ddk/(Makefile.in, apcups.def, cfgmgr32.def, dxapi.def,
- hal.def, hid.def, hidparse.def, mcd.def, ndis.def, ntoskrnl.def,
- scsiport.def, tdi.def, usbcamd.def, usbcamd2.def, videoprt.def,
- win32k.def): Ditto.
-
-2002-10-04 Steven Edwards <Steven_Ed4153@yahoo.com>
-
- * lib/ntdll.def (NtAccessCheck, NtAdjustPrivilegesToken,
- NtCreateKey, NtDeleteKey, NtDeleteValueKey, NtEnumerateKey,
- NtEnumerateValueKey, NtOpenKey, NtOpenProcessToken,
- NtOpenThreadToken, NtQueryInformationToken, NtQueryKey,
- NtQueryValueKey, NtSetSecurityObject, NtSetValueKey,
- RtlAddAccessAllowedAce, RtlCreateAcl,
- RtlCreateSecurityDescriptor, RtlCreateUnicodeStringFromAsciiz,
- RtlGetAce, RtlGetControlSecurityDescriptor,
- RtlGetDaclSecurityDescriptor,RtlGetGroupSecurityDescriptor,
- RtlGetOwnerSecurityDescriptor,RtlGetSaclSecurityDescriptor,
- RtlImpersonateSelf, RtlIsTextUnicode, RtlLargeIntegerAdd,
- RtlLengthSecurityDescriptor, RtlMakeSelfRelativeSD,
- RtlMultiByteToUnicodeN RtlMultiByteToUnicodeSize,
- RtlOpenCurrentUser, RtlSetDaclSecurityDescriptor,
- RtlSetGroupSecurityDescriptor, RtlSetOwnerSecurityDescriptor,
- RtlSetSaclSecurityDescriptor, RtlValidSecurityDescriptor,
- ZwAccessCheck, ZwAdjustPrivilegesToken, ZwCreateKey,
- ZwDeleteValueKey, ZwEnumerateKey, ZwEnumerateValueKey,
- ZwOpenKey, ZwOpenProcessToken, ZwOpenThreadToken,
- ZwQueryInformationToken, ZwQueryKey, ZwQueryValueKey
- ZwSetSecurityObject, ZwSetValueKey): Added missing exports.
-
-2002-10-04 "KJK::Hyperion" <noog@libero.it>
-
- *include/windef.h (WPARAM): Update typedef.
- (LPARAM): Ditto.
- (LRESULT): Ditto.
-
-2002-10-04 "KJK::Hyperion" <noog@libero.it>
-
- * include/shlobj.h (CSIDL_*): Add defines.
-
-2002-09-24 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/ws2tcpip.h: Throw error if winsock.h, not winsock2.h
- has been included first.
-
-2002-09-24 René Møller Fonseca <fonseca@users.sourceforge.net>
-
- * include/winbase.h (FindFirstFileEx): Fixed ANSI mode.
- * include/wingdi.h (PFD_SWAP_LAYER_BUFFERS):Added define.
- * include/winuser.h (AppendMenu[AW]): Fixed prototypes.
-
-2002-09-18 Eric R. Krause <ekrause_98@users.sourceforge.net>
-
- * include/winuser.h (DS_SHELLFONT): Define.
-
-2002-09-17 Daniel Schlyder <daniel@dascdev.net>
-
- * include/winnt.h (VER_SUITE_BLADE): Define.
-
-2002-09-17 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/shlobj.h (SHGetSpecialFolderPath[AW]):
- Add _WIN32_IE guard. Correct prototype for wide version.
- (SHGetFolderPath): Add comment on shfolder.dll.
- (SHGetFolderLocation): Add prototyope for WinME and W2K.
- (SHGetFolderPathAndSubDir[AW]): Add prototypes for XP.
-
-2002-09-16 Danny Smith <dannysmith@users.sourceforge.net>
-
- * lib/shell32.def (SHGetFolderPath[AW]): Add comment.
- * lib/shfolder.def: New file.
-
-2002-09-12 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/winsock.h (timeval): Guard struct and associated
- macros with _TIMEVAL_DEFINED.
- * include/winsock2.h (timeval): Likewise.
-
-2002-09-11 Danny Smith <dannysmith@users.sourceforge.net>
-
- * lib/shell32.def (SHBindtoParent,SHCreateDirectoryEx[AW],
- SHCreateProcessAsUserW,SHCreateQueryCancelAutoPlayMoniker,
- SHCreateShellItem,SHEmptyRecycleBin[AW],
- SHEnumerateUnreadMailAccountsW,SHExtractIconsW,
- SHGetDataFromIDList[AW],SHGetDiskFreeSpace[AW],
- SHGetDiskFreeSpaceEx[AW],SHGetFolderLocation,
- SHGetFolderPathAndSubDir[AW],SHGetIconOverlayIndex[AW],
- SHGetNewLinkInfo[AW],SHGetSettings,SHGetUnreadMailCountW,
- SHInvokePrinterCommand[AW],SHIsFileAvailableOffline,
- SHLoadNonloadedIconOverlayIdentifiers,
- SHOpenFolderAndSelectItems,SHParseDisplayName,
- SHPathPrepareForWrite[AW],SHQueryRecycleBin[AW],
- SHSetLocalizedName,SHSetUnreadMailCountW,
- SHUpdateRecycleBinIcon: Add missing stubs.
-
-2002-09-07 Earnie Boyd <earnie@users.sf.net>
-
- * include/windef.h (WINVER): Add documentation.
- (_WIN32_WINNT): Ditto.
- Special thanks to Paul Schmidt <paul@tricattechnologies.com>
-
-2002-09-06 Danny Smith <dannysmith@users.sourceforge.net>
-
- * lib/Makefile.in (TEST_OPTIONS): Define WINVER to 0x0666.
-
-2002-09-04 Kevin Chase <kevincha99@hotmail.com>
-
- * include/winbase.h (AllocateUserPhysicalPages,
- MapUserPhysicalPages, MapUserPhysicalPagesScatter,
- FreeUserPhysicalPages): Add prototypes.
- * lib/kernel32.def: Add function stubs for above.
-
-2002-09-03 René Møller Fonseca <fonseca@users.sourceforge.net>
-
- * include/winuser.h (IDTRYAGAIN,IDCONTINUE): Add defines.
- Add WINVER guards for dialog box command id defines.
-
-2002-09-03 Earnie Boyd <earnie@users.sf.net>
-
- * include/wincon.h (GetConsoleWindow): Add _WIN32_WINNT >= 0x0500 guard.
-
-2002-08-30 Christopher January <ccj00@doc.ic.ac.uk>
-
- * include/wincon.h: Define GetConsoleWindow(void).
-
-2002-08-28 Earnie Boyd <earnie@users.sf.net>
-
- * include/w32api.h: Increment version to 2.1.
- * Makefile.in: Ditto.
-
-2002-08-26 Bart Oldeman <bart.oldeman@btinternet.com>
-
- * include/winsock2.h (SOCKET_ADDRESS): Define if
- __CSADDR_T_DEFINED is not defined (copied from nspapi.h)
- (CSADDR_INFO): Ditto.
- (nspapi.h) : Don't include. Removed FIXME comment.
- * include/nspapi.h (SOCKET_ADDRESS) Only define if
- __CSADDR_T_DEFINED is not defined.
- (CSADDR_INFO): Ditto.
- (BLOB): Add structure and typedef if not already defined.
- (NS_*): Add defines.
- (SERVICE_*): Ditto.
- (SERVICE_ADDRESS): Add structure and typedefs.
- (SERVICE_ADDRESSES): Ditto.
- (SERVICE_INFO[AW]): Ditto, and add UNICODE mappings.
- (LPSERVICE_ASYNC_INFO): Add typedef.
- (SetService[AW], GetAddressByName[AW]): Add prototypes and UNICODE
- mappings.
- * include/wsipx.h: New file.
- * include/svcguid.h: New file.
- * lib/test.c: Include wspix.h and svcguid.h.
-
-2002-08-26 Casper S. Hornstrup <chorns@users.sourceforge.net>
-
- * include/wsahelp.h: New file.
- * lib/test.c: Include wsahelp.h.
-
-2002-08-21 Earnie Boyd <earnie@users.sf.net>
-
- * include/commctrl.h (NMCUSTOMDRAW): Fix lItemlParam.
- Thanks to: "Phil Dempster" <p_dempster@yahoo.co.uk>.
-
-2002-08-20 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/ws2spi.h: Modify comment about being part of
- mingw32 package.
- (winsock2.h): Change "" to <>.
-
-2002-08-20 Casper S. Hornstrup <chorns@users.sourceforge.net>
-
- * include/ws2spi.h: New file.
- * lib/test.c: Include ws2spi.h.
-
-2002-08-20 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/winsock2.h (WSAIsBlocking,WSAUnhookBlockingHook,
- WSASetBlockingHook,WSACancelBlockingCall): Expose deprecated
- functions.
-
-2002-08-17 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/winuser.h (CURSOR_SHOWING) Add define.
- Thanks to: Jan Hlavatý <hlavac@users.sourceforge.net>
-
-2002-08-17 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/winerror.h: Cast OLE error codes to HRESULT.
- Thanks to: Gunnar Degnbol <gdegnbol@users.sourceforge.net>
-
-2002-08-15 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/wincrypt.h (ALG_*): Add defines.
- (CALG_*): Ditto.
- (CRYPT_*): Ditto.
- (PP_*): Ditto.
- (PROV_*): Ditto.
- (PRIVATEKEYBLOB): Add define.
-
-2002-08-14 Earnie Boyd <earnie@users.sf.net>
-
- * include/shlobj.h (SHGetFolderPath): Add define.
- * lib/shell32.def (SHGetSpecialFolderPath): Add export.
- (SHGetFolderPath): Ditto.
-
-2002-08-13 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/commdlg.h: Don't include COM headers or use
- COM-dependent symbols if __OBJC__.
-
-2002-08-13 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/wincrypt.h (CryptDuplicateHash, CryptDuplicateKey):
- Add prototypes.
-
-2002-08-12 Andriy Palamarchuk <apa3a@yahoo.com>
-
- * include/shellapi.h (FOF_NOERRORUI): Add define.
-
-2002-08-12 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/objidl.h (IEnumMoniker): Put 'interface' back.
-
-2002-08-11 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/objidl.h (IEnumMoniker): Correct declaration.
-
-2002-08-09 Mark Schreiber <mark7@users.sourceforge.net>
-
- * include/wincrypt.h (CRYPT_NOHASHOID): Add define.
-
-2002-08-09 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/commctrl.h: Whitespace change.
-
-2002-08-09 Lars Munch <lars@segv.dk>
-
- * include/commctrl.h (tagTVHITTESTINFO): Replace obsolete
- struct name _TVHITTESTINFO and typedefs and add defines for
- backward compatability.
- (ListView_SetExtendedListViewStyleEx): Add macro.
-
-2002-08-05 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/wingdi.h (AlphaBlend,GradientFill,TransparentBlt):
- Add prototypes.
- * lib/msimg32.def: New file, with stubs for above.
-
-2002-08-03 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/winbase.h (AddAccessAllowedAceEx,AddAccessDeniedAceEx,
- GetFileSizeEx, SetFilePointerEx): Add prototypes.
- (EncryptFile[AW], FileEncryptionStatus[AW]): Add prototypes
- and UNICODE mappings.
-
-2002-08-02 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/winbase.h (ReadFileScatter, WriteFileGather):
- Change second parameter to pointer.
-
-2002-07-31 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/wininet.h (InternetReadFileEx[AW]). Add prototypes and
- UNICODE mappings.
- * lib/wininet.def: Regenerate.
-
-2002-07-30 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/windef.h (PVOID): Move typedef to...
- * include/winnt: ...here.
- (PVOID64): New typedef.
-
- * include/winnt,h (FILE_SEGMENT_ELEMENT): Define union.
- * include/winbase.h (ReadFileScatter, WriteFileGather):
- Add prototypes.
-
- * include/winnt,h (PROCESSOR_ARCHITECTURE_*): Add defines.
- (PROCESSOR_INTEL_IA64): Add define.
-
-2002-07-25 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/oleidl.h (MK_ALT): Define.
-
-2002-07-26 Mattia Barbon <mbarbon@dsi.unive.it>
-
- * include/exdisp.h: New file.
- * include/exdispid.h: New file.
- * include/mshtml.h: New file.
- * lib/test.c: #include exdisp.h and mshtml.h
- * lib/uuid.c (CLSID_WebBrowser, DIID_DWebBrowserEvents,
- DIID_DWebBrowserEvents2, IID_IHTMLDocument, IID_IHTMLDocument2,
- IID_IHTMLElement, IID_IHTMLSelectionObject, IID_IHTMLTxtRange,
- IID_IWebBrowser, IID_IWebBrowser2, IID_IWebBrowserApp):
- New GUIDs.
-
-2002-07-26 Mattia Barbon <mbarbon@dsi.unive.it>
-
- * include/docobj.h: New file.
- * include/idispids.h: New file.
- * include/objidl.h (IID_IMoniker): Declare.
- * include/ocidl.h (READYSTATE): New enum.
- (IOleInPlaceSiteEx): New interface.
- * include/olectlid.h (IID_IEnumSTATSTG): New interface
- identifier.
- * include/oleidl.h (IOleItemContainer, IOleInPlaceObject,
- IOleInPlaceSite): New interfaces.
- * lib/test.c: #include docobj.h,idispids.h,
-
-2002-07-25 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/shlobj.h (BFFM_VALIDATEFAILED[AW]): Add defines.
- (BFFM_SETSTATUSTEXT, BFFM_SETSELECTION): UNICODE them.
-
-2002-07-25 Mattia Barbon <mbarbon@dsi.unive.it>
-
- * include/commctrl.h: Avoid redefinition of CDN_FIRST/LAST.
- * include/commdlg.h: Likewise.
-
-2002-07-24 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/oleauto.h (V_UNION): Correct definition for case of
- NONAMELESSUNION:
- (V_VT): Likewise.
-
-2002-07-23 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/oleauto.h (V_BOOL): Define in terms of boolVal,
- not bool, for C as well as C++.
-
-2002-07-22 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/shlwapi.h: New file.
- Thanks to: Mattia Barbon <mbarbon@dsi.unive.it> and
- Victor Porton <porton@narod.ru> for contributions.
- * lib/shlwapi.def: New file.
- * lib/test.c: #include shlwapi.h.
-
-2002-07-21 Bart Oldeman <bart.oldeman@btinternet.com>
-
- * include/shlobj.h (FCIDM_MENU_FAVORITES): Remove bogus
- character.
- * include/winsock2.h (struct sockaddr): Use __int64 instead of
- long long.
- * lib/kernel32.c (GetCurrentFiber, GetFiberData): Watcom
- does not need external *Fiber library functions.
-
-2002-07-20 Casper S. Hornstrup <chorns@users.sourceforge.net>
-
- * include/winbase.h (GetEnvironmentStringsA): Remove duplicate
- definition.
- (Interlocked*): Wrap in #ifndef __INTERLOCKED_DECLARED to
- avoid compile error when already defined.
-
-2002-07-20 Steven Edwards <Steven_Ed4153@yahoo.com>
-
- * include/winuser.h (WM_MENURBUTTONUP): Add define.
-
-2002-07-17 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/commdlg.h: Define CDN_* notification message constants
- as UINT.
-
-2002-07-17 Mattia Barbon <mbarbon@users.sourceforge.net>
-
- * include/commctrl.h: Define notification message constants for
- NMHDR.code as UINT.
-
-2002-07-17 Bart Oldeman <bart.oldeman@btinternet.com>
-
- * include/ddeml.h (MH_*) Add defines.
- (MONHSZSTRUCT): Add structure and typedefs.
- (MONLINKSTRUCT): Ditto.
- (MONCONVSTRUCT): Ditto.
- (MONCBSTRUCT): Ditto.
- (MONERRSTRUCT): Ditto.
- (MONMSGSTRUCT): Ditto.
- * include/windef.h: Don't define __cdecl or _cdecl for
- __WATCOM__.
- Don't define _export or __export for __WATCOM__.
- * include/windows.h (imm.h): #include.
- * include/winnt.h (LPEXCEPTION_RECORD): Add typedef.
-
-2002-07-17 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/wtypes.h: Remove duplicate #includes of rpc.h and
- rpcndr.h.
-
-2002-07-05 Luke Dunstan <infidel@users.sourceforge.net>
-
- * include/winbase.h (OpenThread): Add prototype.
- * lib/kernel32.def (OpenThread): Add symbol.
-
-2002-07-04 Luke Dunstan <infidel@users.sourceforge.net>
-
- * include/wtypes.h (HMETAFILEPICT): Add typedef.
-
-2002-07-04 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/rpc.h: Conditionally include <windows.h> before
- header guard.
- * include/wtypes.h: Include <rpc.h> and <rpcndr.h> before
- header guard.
-
-2002-07-02 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/commctrl.h (WC_*): Remove some duplicate defines.
-
-2002-07-02 Ken Fitlike <kenfitlike@hotmail.com>
-
- * include/commctrl.h (WC_IPADDRESS[AW]): Add defines and
- UNICODE mappings.
- (IPM*): Add defines.
- (IPN_*): Add defines.
- (NMIPADDRESS): Add structure and typedefs.
- (MAKEIPADDRESS): Add macro.
- (MAKEIPRANGE): Add macro.
- (FIRST_IPADDRESS): Add macro.
- (SECOND_IPADDRESS): Add macro.
- (THIRD_IPADDRESS): Add macro.
- (FOURTH_IPADDRESS): Add macro.
-
-2002-06-25 Conrad Scott <conrad.scott@dsl.pipex.com>
-
- * include/winbase.h (FILE_FLAG_FIRST_PIPE_INSTANCE): Add constant.
-
-2002-06-26 Casper S. Hornstrup <chorns@users.sourceforge.net>
-
- * include/winbase.h (WINBASEAPI): Don't define if prior
- definition.
-
- * include/winioctl.h (PARTITION_FAT32, PARTITION_FAT32_XINT13,
- PARTITION_XINT13, PARTITION_XINT13_EXTENDED, PARTITION_LDM,
- PARTITION_UNIX): Add defines.
- (PDRIVE_LAYOUT_INFORMATION): Add typedef.
- (IsRecognizedPartition): Also check for PARTITION_FAT32,
- PARTITION_FAT32_XINT13 and PARTITION_XINT13.
- (IsContainerPartition): Add macro.
-
-2002-06-25 Ken Fitlike <kenfitlike@hotmail.com>
-
- * include/commctrl.h: (CBEIF_*): Add defines.
- (CBEN_*): Add defines and UNICODE mappings
- (WC_COMBOBOXEX[AW]): Add defines and UNICODE mappings.
- (CBEMAXSTRLEN): Add define.
- (COMBOBOXEXITEM[AW]): Add structures and typedefs.
- (NMCOMBOBOXEX[AW]): Add structures and typedefs.
- (NMCBEDRAGBEGIN[AW]): Add structure and typedefs.
- (NMCBEENDEDIT[AW]): Add structure and typedefs.
-
-2002-06-24 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/objidl.h (struct tagPROPVARIANT): Kill obsolete
- union member _VARIANT_BOOL bool.
-
-2002-06-24 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/winioctl.h (FILE_SPECIAL_ACCESS): Add define.
-
-2002-06-24 Casper S. Hornstrup <chorns@users.sourceforge.net>
-
- * include/winnt.h (PCCHAR, FCHAR, FSHORT, FLONG,
- PLUID_AND_ATTRIBUTES,PSECURITY_IMPERSONATION_LEVEL,
- PSID_AND_ATTRIBUTES, PTOKEN_TYPE, PTOKEN_STATISTICS):
- Add typedefs.
- (CCHAR): Correct typedef.
- (PROCESS_SET_SESSIONID, SECURITY_*,SECTION_MAP_EXECUTE):
- Add defines.
-
-2002-06-24 Casper S. Hornstrup <chorns@users.sourceforge.net>
-
- * README.w32api: Correct spelling error.
-
-2002-06-19 Casper S. Hornstrup <chorns@users.sourceforge.net>
-
- * include/winuser.h (FLASHW_*,INPUT_MOUSE,INPUT_KEYBOARD,
- INPUT_HARDWARE): Add defines.
- (HDEVNOTIFY): Add typedef.
- (FLASHWINFO,tagMOUSEMOVEPOINT,tagMOUSEINPUT,tagKEYBDINPUT,
- tagHARDWAREINPUT,tagINPUT,tagGUITHREADINFO): Define structs and
- typedefs.
- (CreateDesktop[AW],CreateMDIWindow[AW],GetClassInfo[AW],
- GetClassInfoEx[AW],GetKeyboardLayoutList,
- MessageBoxIndirect[AW],MsgWaitForMultipleObjects,
- MsgWaitForMultipleObjectsEx, RegisterClass[AW],
- RegisterClassEx[AW]): Correct prototypes.
-
-2002-06-19 Casper S. Hornstrup <chorns@users.sourceforge.net>
-
- * include/ddeml.h (DdeCreateStringHandle{AW]:Correct
- prototypes.
- * include/winsvc.h (StartServiceW): Correct prototype.
- * include/winbase.h (BackupRead,BackupSeek,BackupWrite,
- FileTimeToLocalFileTime, GetAce,GetPrivateProfileStruct[AW],
- GetTickCount,InterlockedExchangeAdd,
- WritePrivateProfileStruct[AW]: Correct prototypes.
- (GetEnvironmentStrings): Correct mapping to
- GetEnvironmentStringsA.
- * include/winver.h (VerQueryValueA,VerQueryValueW):
- Correct prototypes.
- * include/wincon.h (CreateConsoleScreenBuffer): Correct
- prototype.
- * include/winreg.h (RegQueryMultipleValues[AW],
- RegQueryValueEx[AW]):Correct prototypes.
- * include/wingdi.h (PXFORM, PLOGBRUSH, PLOGPEN, PPOLYTEXTA,
- PPOLYTEXTW): Add typedefs.
- (_DESIGNVECTOR,COLOR16, _TRIVERTEX, _DISPLAY_DEVICE): Add
- structures and typedefs.
- (MM_MAX_NUMAXES): Add define.
- (EnumFontsW,GetEnhMetaFilePixelFormat,
- wglGetLayerPaletteEntries): Correct prototypes.
- * include/winerror.h (RPC_X_INVALID_PIPE_OBJECT,
- RPC_X_WRONG_PIPE_ORDER,RPC_X_WRONG_PIPE_VERSION,
- RPC_S_SEND_INCOMPLETE): Add defines.
-
-2002-06-17 Casper S. Hornstrup <chorns@users.sourceforge.net>
-
- * include/windef.h (_fastcall, __fastcall, FASTCALL):
- Add defines.
-
-2002-06-16 Egor Duda <deo@logos-m.ru>
-
- * include/ntdll.h: New file.
- * lib/ntdll.def: Add NtShutdownSystem.
-
-2002-06-16 Steven Edwards <Steven_Ed4153@yahoo.com>
-
- * lib/dinput.def (DirectInputCreateEx): Add stub.
- * lib/ntdll.def: New file.
-
-2002-06-14 Earnie Boyd <earnie@users.sf.net>
-
- * include/w32api.h: Change to version 2.0 to reflect the change
- in the license.
- * README: Renamed.
- * README.w32api: Renamed from README. Modified license to remove
- the restriction of notifying the author based on the fact that the
- author is unreachable at the notified address.
- * Makefile.in (VERSION): Change to 2.0.
-
-2002-06-14 Earnie Boyd <earnie@users.sf.net>
-
- * include/wingdi.h (GetEnhMetaFileBits): Correct typo.
- * Makefile.in (bindist): Correct the MinGW distribution.
-
-2002-06-13 Earnie Boyd <earnie@users.sf.net>
-
- * include/winuser.h (MOUSEHOOKSTRUCT): Define structure.
- * include/wingdi.h (GetEnhMetaFileBits): Define prototype.
-
-2002-06-13 Danny Smith <dannysmith@users.sourceforge.net>
-
- * lib/test.c: #include comcat.h.
-
-2002-06-13 John K. Hohm <jhohm@acm.org>
-
- * include/comcat.h: New file.
-
-2002-06-09 Gunnar Degnbol <gdegnbol@users.sourceforge.net>
-
- * include/richedit.h (EM_*, TM_*, GT_*): Add new defines.
- (GETTEXTEX): Add structure definition.
-
-2002-06-08 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/windows.h (ole2.h): #include if !__OBJC__ and
- __GNUC__ >=3 and !WIN32_LEAN_AND_MEAN.
-
-2002-06-07 Gunnar Degnbol <gdegnbol@users.sourceforge.net>
-
- * include/mapi.h: Change LPTSTR to LPSTR throughout.
-
-2002-06-05 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/winnt.h (PACE_HEADER, PACCESS_ALLOWED_ACE,
- PACCESS_DENIED_ACE): Add typedefs.
-
-2002-06-03 Danny Smith <dannysmith@users.sourceforge.net>
-
- * lib/thunk32.def (LIBRARY): Change to KERNEL32.dll.
-
-2002-06-03 Steven Edwards <Steven_Ed4153@yahoo.com>
-
- * lib/kernel32.def (ConvertToGlobalHandle): Add stub.
-
-2002-06-01 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/windef.h: Fix typo in last change.
-
-2002-06-01 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/windef.h: Add no-op __try, __except, __finally
- defines from ...
- * include/excpt.h: Remove file.
- * include/windows.h: Don't include excpt.h.
-
-2002-05-30 Christopher January <chris@atomice.net>
-
- * include/ntdef.h (ANSI_STRING, PANSI_STRING, OEM_STRING, POEM_STRING):
- Add missing typedefs.
-
-2002-05-28 Earnie Boyd <earnie@users.sf.net>
-
- * include/w32api.h: Increment version to 1.5
- * Makefile.in: Ditto.
-
-
-2002-05-27 René Møller Fonseca <fonseca@users.sourceforge.net>
-
- * include/winreg.h: (RegConnectRegistry[AW]): Replace
- LP[W]STR with LPC[W]STR.
- (REG_QWORD, REG_QWORD_LITTLE_ENDIAN): Add defines.
- Clean up whitespace.
-
-2002-05-27 Rick Rankin <rick_rankin@yahoo.com>
-
- * include/winnls.h: Add #define for LOCALE_RETURN_NUMBER.
-
-2002-05-21 Earnie Boyd <earnie@users.sf.net>
-
- * Makefile.in: Increment VERSION to 1.4.
- (conf_prefix): New variable.
- (bindist): Modify target to use $(conf_prefix).
-
-2002-05-20 Philip Aston <philipa@mail.com>
-
- * include/pbt.h (PBT_APMRESUMESUSPEND): Correct value is 7.
-
-2002-05-20 René Møller Fonseca <fonseca@users.sourceforge.net>
-
- * include/lmaccess.h: (NetAccess*, NetGroup*,
- NetLocalGroup*, NetUser*, NetGet*, INetLogonControl[2],
- NetQueryDisplayInfotmationIndex): Replace LPWSTR with LPCWSTR.
-
-2002-05-08 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/commctrl.h (ImageList_DragShowNolock): Remove
- conflicting redeclaration.
-
-2002-05-07 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/windows.h: Move ANONYMOUS_UNION, _ANONYMOUS_STRUCT,
- STRICT and related defines to ...
- * include/windef.h: Here.
-
-2002-05-03 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/winsock2.h (int32): Remove typedef.
- (SERVICETYPE): Add typedef.
- (struct _flowspec):Revise struct definition, Comment
- on types used for members.
-
-2002-05-02 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/winnt.h (EVENT_*, SEMAPHORE_*,MUTEX_*): Remove
- more defines added in earlier change.
- * lib/Makefile.in (TEST_OPTIONS): Add -Wsystem-headers flag.
-
-2002-05-02 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/winnt.h (THREAD_PRIORITY_*): Remove defines
- added in last change.
-
-2002-05-02 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/winnt.h (THREAD_*, EVENT_*, MUTANT_*,
- SEMAPHORE_*, MUTEX_*, TIMER_*): Add new defines.
-
-2002-05-01 Manu B <contact.manu@wanadoo.fr>
-
- * include/commctrl.h (SNDMSG): Define and use throughout
- in other macros instead of SendMessage.
- * include/commdlg.h (SNDMSG): Ditto.
-
-2002-04-22 José Fonseca <jrfonseca@users.sf.net>
-
- * include/GL/gl.h: New file.
- * include/GL/glext.h: Ditto.
- * include/GL/glu.h: Ditto.
-
-2002-04-09 Earnie Boyd <earnie@users.sf.net>
-
- * include/w32api.h: Increment version.
- * Makefile.in: Ditto.
-
-2002-04-09 Earnie Boyd <earnie@users.sf.net>
-
- * Makefile.in (bindist): Use * instead of . for file list for tar
- command.
-
-2002-04-02 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/wtypes.h (enum tagCLSCTX): Change formatting.
-
-2002-04-02 Pat Thoyts <patthoyts@users.sourceforge.net>
-
- * include/objidl.h (IRunningObjectTable.Register): Correct
- prototype.
- * include/wtypes.h (ROTFLAGS_REGISTRATIONKEEPSALIVE,
- ROTFLAGS_ALLOWANYCLIENT): Add defines.
-
-2002-03-31 Victor Porton <porton@narod.ru>
-
- * include/shellapi.h (SHGFI_ATTR_SPECIFIED): Add define.
-
-2002-03-29 David Robinow <drobinow@yahoo.com>
-
- * include/wingdi.h (SetPixelFormat): Correct prototype.
-
-2002-03-29 Phil Krylov <likewolf@users.sourceforge.net>
-
- * include/richedit.h (EM_SHOWSCROLLBAR): Add define.
-
-2002-03-26 Phil Krylov <likewolf@users.sourceforge.net>
-
- * include/richedit.h (EM_GETSCROLLPOS, EM_SETSCROLLPSPOS):
- Add defines.
-
-2002-03-14 Gunnar Degnbol <gdegnbol@users.sourceforge.net>
-
- * include/richedit.h (RICHEDIT_CLASS): UNICODE it.
- * include/shlobj.h (IContextMenu2): Put methods in right order.
- * include/basetyps.h (REFGUID, REFIID, REFCLSID): Check for
- CINTERFACE before defining.
-
-2002-03-09 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/accctrl.h: Add #pragma GCC system_header
- if __GNUC__ >= 3.
- * include/aclapi.h: Same.
- * include/basetsd.h: Same.
- * include/basetyps.h: Same.
- * include/cderr.h: Same.
- * include/cguid.h: Same.
- * include/commctrl.h: Same.
- * include/commdlg.h: Same.
- * include/cpl.h: Same.
- * include/cplext.h: Same.
- * include/custcntl.h: Same.
- * include/dbt.h: Same.
- * include/dde.h: Same.
- * include/ddeml.h: Same.
- * include/dlgs.h: Same.
- * include/excpt.h: Same.
- * include/httpext.h: Same.
- * include/imagehlp.h: Same.
- * include/imm.h: Same.
- * include/initguid.h: Same.
- * include/intshcut.h: Same.
- * include/ipexport.h: Same.
- * include/iphlpapi.h: Same.
- * include/ipifcons.h: Same.
- * include/iprtrmib.h: Same.
- * include/iptypes.h: Same.
- * include/isguids.h: Same.
- * include/largeint.h: Same.
- * include/lm.h: Same.
- * include/lmaccess.h: Same.
- * include/lmalert.h: Same.
- * include/lmapibuf.h: Same.
- * include/lmat.h: Same.
- * include/lmaudit.h: Same.
- * include/lmbrowsr.h: Same.
- * include/lmchdev.h: Same.
- * include/lmconfig.h: Same.
- * include/lmcons.h: Same.
- * include/lmerr.h: Same.
- * include/lmerrlog.h: Same.
- * include/lmmsg.h: Same.
- * include/lmremutl.h: Same.
- * include/lmrepl.h: Same.
- * include/lmserver.h: Same.
- * include/lmshare.h: Same.
- * include/lmsname.h: Same.
- * include/lmstats.h: Same.
- * include/lmsvc.h: Same.
- * include/lmuse.h: Same.
- * include/lmuseflg.h: Same.
- * include/lmwksta.h: Same.
- * include/lzexpand.h: Same.
- * include/mapi.h: Same.
- * include/mciavi.h: Same.
- * include/mcx.h: Same.
- * include/mmsystem.h: Same.
- * include/mswsock.h: Same.
- * include/nb30.h: Same.
- * include/nddeapi.h: Same.
- * include/nspapi.h: Same.
- * include/ntdef.h: Same.
- * include/ntsecapi.h: Same.
- * include/ntsecpkg.h: Same.
- * include/oaidl.h: Same.
- * include/objbase.h: Same.
- * include/objfwd.h: Same.
- * include/objidl.h: Same.
- * include/odbcinst.h: Same.
- * include/ole.h: Same.
- * include/ole2.h: Same.
- * include/ole2ver.h: Same.
- * include/oleauto.h: Same.
- * include/olectl.h: Same.
- * include/olectlid.h: Same.
- * include/oledlg.h: Same.
- * include/oleidl.h: Same.
- * include/pbt.h: Same.
- * include/prsht.h: Same.
- * include/psapi.h: Same.
- * include/rapi.h: Same.
- * include/ras.h: Same.
- * include/raserror.h: Same.
- * include/rassapi.h: Same.
- * include/regstr.h: Same.
- * include/richedit.h: Same.
- * include/richole.h: Same.
- * include/rpc.h: Same.
- * include/rpcdce.h: Same.
- * include/rpcdce2.h: Same.
- * include/rpcdcep.h: Same.
- * include/rpcndr.h: Same.
- * include/rpcnsi.h: Same.
- * include/rpcnsip.h: Same.
- * include/rpcnterr.h: Same.
- * include/rpcproxy.h: Same.
- * include/schannel.h: Same.
- * include/schnlsp.h: Same.
- * include/scrnsave.h: Same.
- * include/security.h: Same.
- * include/setupapi.h: Same.
- * include/shellapi.h: Same.
- * include/shlguid.h: Same.
- * include/shlobj.h: Same.
- * include/sql.h: Same.
- * include/sqlext.h: Same.
- * include/sqltypes.h: Same.
- * include/sqlucode.h: Same.
- * include/sspi.h: Same.
- * include/subauth.h: Same.
- * include/tlhelp32.h: Same.
- * include/unknwn.h: Same.
- * include/userenv.h: Same.
- * include/w32api.h: Same.
- * include/winbase.h: Same.
- * include/wincon.h: Same.
- * include/wincrypt.h: Same.
- * include/windef.h: Same.
- * include/windows.h: Same.
- * include/windowsx.h: Same.
- * include/winerror.h: Same
- * include/wingdi.h: Same.
- * include/wininet.h: Same.
- * include/winioctl.h: Same.
- * include/winnetwk.h: Same.
- * include/winnls.h: Same.
- * include/winnt.h: Same.
- * include/winperf.h: Same.
- * include/winreg.h: Same.
- * include/winresrc.h: Same.
- * include/winsock.h: Same.
- * include/winsock2.h: Same.
- * include/winspool.h: Same.
- * include/winsvc.h: Same.
- * include/winuser.h: Same.
- * include/winver.h: Same.
- * include/ws2tcpip.h: Same.
- * include/wsnetbs.h: Same.
- * include/wtypes.h: Same.
- * include/zmouse.h: Same.
- * include/mapi.h: Change header guard name to _MAPI_H for
- consistency.
-
-2002-03-08 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/accctrl.h (_ACCCTRL_H): Correct typo.
- Remove unnecessary inclusion of <wtypes.h>.
- * ChangeLog: Fix omission of name in recent entries.
-
-2002-03-08 Antony Blakey <antony.blakey@ihug.com.au>
-
- * include/initguid.h (DEFINE_GUID): Add GUID_EXT to define.
-
-2002-03-06 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/mswsock.h: Group winsock2 dependants
- together and protect with #ifdef _WINSOCK2_H.
- * lib/test.c: Only test ws2tcpip.h if winsock2.h
- has been included.
-
-2002-03-05 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/mswsock.h (TP_*): Add new defines.
- (TRANSMIT_PACKETS_ELEMENT): Define new structure.
- (WSAMSG): Likewise.
- (WSACMSGHDR): Likewise.
- (DisconnectEx): Add new prototype.
- (WSARecvMsg): Likewise.
- (WSA_CMSG_*) Add empty macros, guarded by #if 0.
-
-2002-03-02 Danny Smith <dannysmith@users.sourceforge.net>
-
- * ChangeLog: Fix typo in last entry.
- * include/winsock2.h (IPPROTO_*): Add IPv6 defines.
- * include/ws2tcpip.h: (IP_*): Add new defines.
- (INET_ADDRSTRLEN, INET6_ADDRSTRLEN): Add defines.
- (NI_*): Add getnameinfo constants and bitmasks.
- (AI_*): Add getaddrinfo flags.
- (EAI_*): Add getaddrinfo error codes.
- (ip_mreq_source): Add new structure.
- (ip_msfilter): Add new structure.
- (IP_MSFILTER_SIZE): Add new macro.
- (in_pktinfo): Add new structure.
- Add preliminary IPv6 support.
- (in6_addr): Add new structure and some defines.
- (sockaddr_in6): Add new structure.
- (in6addr_any, in6addr_loopback): Declare extern structures.
- (IN6ADDR_ANY_INIT,IN6ADDR_LOOPBACK_INIT): Add
- initialization macros for above.
- (IN6_ARE_ADDR_EQUAL): Define macro.
- (IN6_IS_ADDR_*): Define address testing macros.
- (socklen_t) Add new typedef.
- (ipv6_mreq): Add new structure.
- (in6_pktinfo): Same.
- (addrinfo): Same.
- (freeaddrinfo):Add new prototype.
- (getaddrinfo): Same.
- (gai_strerror[AW]): Same.
- (getnameinfo): Same.
- (sockaddr_in6_old): Add structure.
- (sockaddr_gen): Add union definition.
- (INTERFACE_INFO): Use sockaddr_gen as members.
- (INTERFACE_INFO_OLD): Add comment on workaround for problems
- with INTERFACE_INFO on NT4 prior to sp4.
-
-2002-02-28 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/windows.h: Remove test for __W32API_MAJOR_VERSION
- when selecting winsock interface.
- * include/winsock2.h (SOCKET_ADDRESS_LIST): Add structure
- and typedefs. Thanks to: 'Lorenzo' <conte0@infinito.it>.
- Expand FIXME comment.
- (WSACOMPLETIONTYPE): Add enum.
- (WSACOMPLETION): Add structure and typedefs.
- (WSANSPIoctl): Add function prototpe and callback typedef.
- (SIO_NSP_NOTIFY_CHANGE): Add define.
- (sockaddr_storage): Add structure and typedefs.
-
-2002-02-16 Andriy Palamarchuk <apa3a@yahoo.com>
-
- * include/winuser.h (OIC_*): Add resource constants.
-
-2002-02-14 Mattia Barbon <mbarbon@users.sourceforge.net>
-
- * include/ntsecpkg.h: New file.
- * include/schannel.h: New file.
- * include/schnlsp.h: New file.
- * include/security.h: New file.
- * include/sspi.h: New file.
- * include/ntsecapi.h (KERB_WRAP_NO_ENCRYPT,
- MICROSOFT_KERBEROS_NAME_[AW]): Add missing constants
- * include/wincrypt.h (CALG_*, X509_ASN_ENCODING.
- PKCS_7_ASN_ENCODING, CERT_*, USAGE_MATCH_TYPE_AND,
- USAGE_MATCH_TYPE_OR, szOID_*): Add missing constants
- (struct _CRYPTOAPI_BLOB): Add structure and typedefs.
- (SSL_EXTRA_CERT_CHAIN_POLICY_PARA,HTTPSPolicyCallbackData,
- CERT_CHAIN_POLICY_PARA,CERT_CHAIN_POLICY_STATUS,
- CRYPT_ALGORITHM_IDENTIFIER, CRYPT_BIT_BLOB,
- CERT_PUBLIC_KEY_INFO, CERT_EXTENSION, CERT_INFO, CERT_CONTEXT,
- CTL_USAGE, CERT_ENHKEY_USAGE, CERT_USAGE_MATCH,
- CERT_CHAIN_PARA, CERT_CHAIN_FIND_BY_ISSUER_PARA,
- CERT_TRUST_STATUS, CRL_ENTRY, CRL_INFO, CRL_CONTEXT,
- CERT_REVOCATION_CRL_INFO, CERT_REVOCATION_INFO,
- CERT_CHAIN_ELEMENT, CRYPT_ATTRIBUTE, CTL_ENTRY, CTL_INFO,
- CTL_CONTEXT, CERT_TRUST_LIST_INFO, CERT_SIMPLE_CHAIN,
- CERT_CHAIN_CONTEXT): Add missing structures.
- (CertCloseStore, CertGetCertificateChain,
- CertVerifyCertificateChainPolicy, CertFreeCertificateChain,
- CertNameToStr[AW], CertOpenSystemStore[AW], CertOpenStore,
- CertFindCertificateInStore, CertFreeCertificateContext,
- CertGetIssuerCertificateFromStore,
- CertFindChainInStore): Add missing functions.
- (CertNameToStr, CertOpenSystemStore, CERT_FIND_SUBJECT_STR,
- CERT_FIND_ISSUER_STR): Add Unicode mappings.
- * lib/crypt32.def: New file.
- * lib/secur32.def: Add mising stubs.
- * lib/test.c: Include new headers.
-
-2002-02-14 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/windef.h (PROC,FARPROC,NEARPROC): Remove void
- parameter.
-
-2002-01-30 Danny Smith <dannysmith@users.sourceforge.net>
-
- * lib/test.c: Include mapi.h.
- * include/commctrl.h (TBSTYLE_*): Add missing defines.
- Thanks to: "Ron" <ron@debian.org>
-
-2002-01-30 John Fattaruso <fattaruso@ieee.org>
-
- * include/mapi.h: New file.
- * lib/mapi.def: Add missing function stubs.
-
-2002-01-28 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/winuser.h (GetWindowLongPtr[AW],
- SetWindowLongPtr[AW]): Add prototypes for _WIN64.
-
-2002-01-28 Mattia Barbon <mbarbon@users.sourceforge.net>
-
- * include/winuser.h (GWLP_*,DWLP_*): Add missing constants.
- (GetWindowLongPtr[AW], SetWindowLongPtr[AW]): Map them to
- {Get Set}WindowLong[AW], as in Win32 they are equivalent.
- (GetWindowLongPtr, SetWindowLongPtr): Add Unicode mappings.
-
-2002-01-28 Danny Smith <dannysmith@users.sourceforge.net>
-
- * lib/test.c: Include wsnetbs.h.
-
-2002-01-28 Kai Henningsen <kai-henningsen@users.sourceforge.net>
-
- * include/wsnetbs.h: New file.
-
-2002-01-25 Earnie Boyd <earnie@users.sf.net>
-
- * include/winnt.h: Remove merge conflict.
-
-2002-01-25 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/winnt.h (_TCHAR): Add typedefs.
-
-2002-01-25 Tim Hughes <tjh@delcam.com>
-
- * include/wininet.h (SECURITY_FLAG_IGNORE_*): Add missing
- defines.
-
-2002-01-25 Andriy Palamarchuk <apa3a@yahoo.com>
-
- * include/winsuser.h (ATF_AVAILABLE, SERKF_ACTIVE):
- Add defines.
- (LPACCESSTIMEOUT): Add typedef.
-
-2002-01-24 Phillip Susi <psusi@cfl.rr.com>
-
- * include/commctrl.h: Add missing HDM_*,HDN_*,LVSICF_* defines.
-
-2002-01-24 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/commctrl.h (HDITEM[AW]): Rename _HD_ITEM[AW] to
- _HDITEM[AW], with parallel changes to typedefs. Use defines for
- backward compatability with old names. Update UNICODE mappings.
- (HDLAYOUT): Remove struct _HD_LAYOUT_XP. Use new typedefs
- for struct _HD_LAYOUT and add defines for backward
- compatability with old names.
- (NMLISTVIEW): Rename _NM_LISTVIEW to tagNMLISTVIEW, with
- parallel chages to typedefs. Add defines for backward
- compatability with old names.
- (TCHITTESTINFO, IMAGELISTDRAWPARAMS): Fix _WIN32_IE guard.
-
-2002-01-21 Robert Collins <rbtcollins@hotmail.com>
-
- * include/winnt.h: Add missing MEM_ defines, and convert existing to
- hex for readability.
-
-2002-01-17 Marcus Geelnard <marcus.geelnard@home.se>
-
- * include/winsuser.h (tagKBDLLHOOKSTRUCT): Define struct
- and typedefs.
- (SPI_SETSCREENSAVERRUNNING): Add define.
- (LLKHF_ALTDOWN): Add define.
- * include/wingdi.h (PFD_GENERIC_ACCELERATED,
- PFD_DEPTH_DONTCARE): Add defines.
-
-2002-01-17 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/objbase.h (CoGetObject): Add prototype.
-
-2002-01-14 Timothy J. Wood <tjw@omnigroup.com>
-
- * include/winuser.h (ENUM_CURRENT_SETTINGS,
- ENUM_REGISTRY_SETTINGS): Add defines.
-
-2002-01-14 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/winnt.h (FILE_ATTRIBUTE_ENCRYPTED): Correct constant.
- (FILE_ATTRIBUTE_DEVICE): Add define.
-
-2002-01-14 Corinna Vinschen <vinschen@redhat.com>
-
- * include/winnt.h: Add INVALID_FILE_ATTRIBUTES.
-
-2002-01-11 Danny Smith <dannysmith@users.sourceforge.net>
-
- * ChangeLog: correct date in last entry.
-
-2002-01-11 Timothy J. Wood <tjw@omnigroup.com>
-
- * include/winuser.h (MONITORENUMPROC): Add typedef.
- (EnumDisplayMonitors): Add prototype.
- * lib/user32.def (EnumDisplayMonitors): Add stub.
-
-2002-01-11 Ralf Habacker <Ralf.Habacker@freenet.de>
-
- * include/ntsecapi.h: Fixed missing void parameter type in some
- prototypes.
- * include/objbase.h: Ditto.
- * include/rapi.h: Ditto.
- * include/rpc.h: Ditto.
- * include/rpcdce.h: Ditto.
- * include/rpcdcep.h: Ditto.
- * include/rpcndr.h: Ditto.
- * include/rpcnsip.h: Ditto.
- * include/rpcproxy.h: Ditto.
- * include/windef.h: Ditto.
-
-2002-01-07 Danny Smith <dannysmith@users.sourceforge.net>
-
- * lib/vfw32.def (LIBRARY): Change to MSVFW32.DLL.
-
-2002-01-04 TAMURA Kent <tkent@users.sourceforge.net>
-
- * include/wingdi.h (BI_JPEG, BI_PNG, GGO_BEZIER,GGO_UNHINTED,
- LAYOUT_RTL, LAYOUT_BITMAPORIENTATIONPRESERVED): Add defines.
- * include/winuser.h (HWND_MESSAGE, WS_EX_COMPOSITED,
- WS_EX_LAYERED, WS_EX_LAYOUTRTL, WS_EX_NOACTIVATE,
- WS_EX_NOINHERITLAYOUT): Add defines.
- * include/winnt.h (PF_RDTSC_INSTRUCTION_AVAILABLE,
- PF_PAE_ENABLED, MEM_PHYSICAL, MEM_RESET, MEM_TOP_DOWN,
- MEM_WRITE_WATCH): Add defines.
-
-
-2002-01-04 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/winbase.h (InitializeCriticalSectionAndSpinCount):
- Add prototype.
- (SetCriticalSectionSpinCount): Likewise.
-
-2001-12-30 Guido Serassio <serassio@libero.it>
-
- * include/winsvc.h: Add EnumServiceStatusEx(),
- QueryServiceStatusEx()
- & RegisterServiceCtrlHandlerEx()
-
-2001-12-21 Robert Collins <rbtcollins@hotmail.com>
-
- * include/wingdi.h: Add GetRandomRgn and SYSRGN.
-
-2001-12-20 Christopher Faylor <cgf@redhat.com>
-
- * lib/Makefile.in: Revert inst_installdir definitions to working
- versions.
-
-2001-12-17 Guido Serassio <serassio@libero.it>
-
- * include/winsvc.h: Add ChangeServiceConfig2() &
- QueryServiceConfig2() definition
-
-2001-12-17 Robert Collins <rbtcollins@hotmail.com>
-
- * include/commctrl.h: New typedefs for HDLAYOUT and LPHDLAYOUT based
- on MSDN documentation for XP.
-
-2001-12-15 Andrew Begel <abegel@eecs.berkeley.edu>
-
- *include/winbase.h (CreateHardLink): Correct typo in UNICODE
- mappings.
-
-2001-12-11 Phillip Susi <psusi@cfl.rr.com>
-
- * include/commctrl.h (ACS_*): Add new defines.
- (PGS_*): Ditto.
- (CBES_*): Ditto.
- (TBSTYLE_*): Ditto.
- (TB_*): Ditto.
- (TTS_*): Ditto.
- (UDS_HOTTRACK): Add define.
- (SBT_TOOLTIPS): Ditto.
- (TBS_*): Add new defines.
- (HDS_*): Ditto.
- (LVS_EX_*) Ditto.
- (LVKF_*): Ditto.
- (TCM_GETEXTENDEDSTYLE): Add define.
- (TVS_NOHSCROLL): Ditto.
- (TVIF_INTEGRAL): Ditto.
- (DTS_SHORTDATECENTURYFORMAT): Ditto.
- (TCS_*): Add new defines.
- (CBEM_*): Add defines.
- (tagNMITEMACTIVATE): Add structure definition and typedefs.
- (tagTVITEMEX[AW]: Ditto.
- (tagTVINSERTSTRUCT[AW]: Add union member.
- * include/winbase.h (VirtualAllocEx): Add prototype.
- * include/winuser.h (SS_*): Add new defines.
-
-2001-12-07 Earnie Boyd <earnie@users.sf.net>
-
- * Makefile.in: Increment VERSION.
- * include/w32api.h: Ditto.
-
-2001-12-07 Earnie Boyd <earnie@users.sf.net>
-
- * Makefile.in: Increment VERSION.
- * include/w32api.h: Ditto.
-
-2001-12-07 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/setupi.h (SetupDiCreateDeviceInterfaceRegKey[AW],
- SetupDiCreateDevRegKey[AW],SetupDiDeleteDeviceInterfaceRegKey,
- SetupDiDeleteDevRegKey,SetupDiOpenClassRegKey,
- SetupDiOpenClassRegKeyEx[AW],SetupDiOpenDeviceInterfaceRegKey,
- SetupDiOpenDevRegKey): Correct function names.
-
-2001-12-04 Earnie Boyd <earnie@users.sf.net>
-
- * include/winuser.h (IDC_STATIC): Don't define.
-
-2001-12-04 Danny Smith <dannysmith@users.sourceforge.net>
-
- Cleanup merge between SourceForge and winsup CVS.
- * include/winbase.h (OSVERSIONINFO[AW], OSVERSIONINFOEX[AW]: Remove
- definitions.
- * include/winnt.h (VER_NT*): Remove duplicate defines.
- (VER_SUITE*): Group with VER_PLATFORM*, VER_NT* defines.
-
-2001-12-03 Earnie Boyd <earnie@users.sf.net>
-
- * include/accctrl.h: Change \r\n to \n.
-
-2001-11-30 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/ipexport.h (IP_UNIDIRECTIONAL_ADAPTER_ADDRESS):
- Add structure definition.
- * include/iptypes.h (IP_PER_ADAPTER_INFO): Ditto.
- * include/iphlpapi.h (AddIPAddress,CreateProxyArpEntry,
- DeleteIPAddress,DeleteProxyArpEntry,EnableRouter,
- FlushIpNetTable,GetAdapterIndex,GetPerAdapterInfo,
- GetUniDirectionalAdapterInfo,SendARP,SetAdapterIpAddress,
- UnenableRouter) Declare functions.
- * lib/iphlpapi.def: Add function names to import lib.
-
-2001-11-24 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/winnt.h (PACCESS_MASK): Add typedef.
- * include/aclapi.h: New file.
- * include/acctrl.h: New file.
- * lib/advapi32.def: Add missing symbols.
- * lib/test.c: Add #include <aclapi.h>.
-
-2001-11-23 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/winbase.h (OSVERSIONINFO[AW],VER_PLATFORM_WIN32s,
- VER_PLATFORM_WIN32_WINDOWS,VER_PLATFORM_WIN32_NT): Move from
- here ...
- * include/winnt.h: ... to here.
- * include/winbase.h (VerifyVersionInfo[AW]): Add declaration.
- * include/winnt.h (OSVERSIONINFOEX[AW]): Add structure definitions
- and typedefs.
- (VER_NT_WORKSTATION,VER_NT_DOMAIN_CONTROLLER,VER_NT_SERVER):
- Add defines.
-
-2001-11-19 Pierre Muller <muller@ics.u-strasbg.fr>
-
- * w32api/include/winnt.h: prepare SSE register support.
- (CONTEXT_EXTENDED_REGISTERS): Add new define.
- (MAXIMUM_SUPPORTED_EXTENSION): New define.
- (struct CONTEXT): ExtendedRegisters field added.
-
-2001-11-16 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/winuser.h (tagALTTABINFO, tagCOMBOBOXINFO,
- tagCURSORINFO, tagMENUBARINFO, tagMENUINFO, tagMONITORINFO
- tagSCROLLBARINFO, tagTITLEBARINFO. tagWINDOWINFO,
- tagLASTINPUTINFO ): Define new structures.
- (EndMenu, GetAltTabInfo[AW],GetComboBoxInfo,GetCursorInfo,
- GetLastInputInfo, GetListBoxInfo, GetMenuBarInfo,
- GetMonitorInfo[AW], GetScrollBarInfo, GetTitleBarInfo,
- GetWindowInfo, GetWindowModuleFileName[AW],GetMenuInfo
- SetMenuInfo): Add new prototypes.
- * lib/user32.def: Add import stubs for above functions.
-
- * include/winuser.h (IDC_STATIC): Protect against prior
- definition.
-
-2001-11-12 Corinna Vinschen <corinna@vinschen.de>
-
- * include/winbase.h (OSVERSIONINFOEX): Add definition.
- * include/winnt.h: Add VER_NT_* and VER_SUITE_* defines.
-
-2001-11-10 Robert Collins <rbtcollins@hotmail.com>
-
- * include/winnt.h: Add Danny Smith's text comment about gcc compiler
- warnings with _AUTHORITY #defines.
-
-2001-11-09 Robert Collins <rbtcollins@hotmail.com>
-
- * include/winnt.h (GetCurrentFiber): Create a prototype before the
- implementation.
- (GetFiberData): Ditto.
-
-2001-11-09 Robert Collins <rbtcollins@hotmail.com>
-
- * include/winnt.h: Backout last change.
-
-2001-11-08 Robert Collins <rbtcollins@hotmail.com>
-
- * include/winnt.h: Define *_SID_AUTHORITY appropriately,
- GetCurrentFiber: Create a prototype before the implementation.
- GetFiberData: Ditto.
-
-2001-11-06 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/winuser.h (IDC_STATIC): Add define.
- Thanks to: Benoit Laniel.
-
-2001-11-05 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/commdlg.h: Include <unknwn.h> rather than local
- definition of LPUKNOWN.
- * include/rpcproxy.h: Don't include if ndef CINTERFACE.
- Emit warning.
-
-2001-11-05 Mattia Barbon <mbarbon@dsi.unive.it>
-
- * include/windef.h (DECLSPEC_NORTEURN): Add an empty version
- for Watcom.
- (DECLARE_STDCALL_P): Use it to add __stdcall decoration for
- functions of the form 'type * function(...)' in a way compatible
- with both Watcom and GCC.
- * include/rpcdcep.h (I_RpcAllocate): Use DECLARE_STDCALL_P.
- * include/rpcproxy.h (CInterfaceProxyVtbl): Do not declare
- zero-sized arrays for Watcom. Mark as __extension for __GNUC__.
- * include/windows.h: Watcom can use anonymous structs/unions.
- * include/winnt.h: Watcom can use 64 bit ints.
- (GetCurrentFiber): Add another inline definition using
- Watcom inline assembly syntax.
- (GetFiberData): Likewise.
- * include/winsock.h (inet_ntoa): Use DECLARE_STDCALL_P.
- (gethostbyname): Likewise.
- (gethostbyaddr}: Likewise.
- (getservbyport}: Likewise.
- (getservbyname}: Likewise.
- (getprotobynumber}: Likewise.
- (getprotobyname}: Likewise.
- * include/winsock2.h (inet_ntoa): Use DECLARE_STDCALL_P.
- (gethostbyname}: Likewise.
- (gethostbyaddr}: Likewise.
- (getservbyport}: Likewise.
- (getservbyname}: Likewise.
- (getprotobynumber}: Likewise.
- (getprotobyname}: Likewise.
- * lib/diinut.c: Correction for Watcom.
- * lib/kernel32.c (GetCurrentFiber): Add another definition
- using Watcom inline assembly syntax.
- (GetFiberData): Likewise.
- * lib/scrnsave.c (WinMain): Add break after default:
- clause.
-
-2001-11-04 "stefan" <stefan@lkcc.org>
-
- * include/winnt.h (GetCurrentFiber): Add prototype.
- (GetFiberData): Likewise.
-
-2001-11-04 Christopher Faylor <cgf@redhat.com>
-
- * lib/Makefile.in: Add .NOTPARALLEL target since dlltool cannot run in
- parallel invocations.
-
-2001-11-03 Christopher Faylor <cgf@redhat.com>
-
- * lib/scrnsave.c (WinMain): Trivial change to avoid a compiler warning.
-
-2001-11-01 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/basetyps.h (DECLARE_INTERFACE): Don't add
- __attribute__((com_interface)) for __GNUC__ >= 3.
-
-2001-11-01 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/commdlg.h (PRINTPAGERANGE): Add structure
- definition.
- (PRINTDLGEX[AW]): Likewise.
- (PrintDlgEx[AW]): Add function declaration.
- * lib/comdlg32.def (PrintDlgEx[AW]): Add function stubs.
- * ChangeLog: Fix typo in last entry.
-
-2001-11-01 TAMURA Kent <tkent@users.sourceforge.net>
-
- * include/objbase.h (CoGetClassObject): Change third parameter
- to COSERVERINFO*.
-
-2001-10-30 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/winuser.h (MOUSEEVENTF_WHEEL): Define.
- Thanks to: Kim Saunders.
- * include/oleauto.h: Define VARIANT* flags for VariantChangeType.
- Thanks to: Pat Thoyts.
- * include/winnt.h: Change C++ style comment to C style.
- * include/shlobj.h: Ditto.
- * include/objbase.h (enum tagCOINIT): Remove comma at end of
- list.
- * include/oledlg.h (enum tagOLEUIPASTEFLAG): Ditto.
- * include/oleidl.h (enum tagDROPEFFECT): Mark as __extension__
- (enum not limited to range of int).
- * include/oaidl.h (struct tagVARIANT): Mark as __extension__
- (struct with no named members), ifndef NONAMELESSUNION.
-
-2001-10-30 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/winuser.h (CREATESTRUCT): UNICODE it.
- (CBT_CREATEWND): Likewise.
-
-2001-10-20 Corinna Vinschen <corinna@vinschen.de>
-
- * include/winnetwk.h (WNetGetResourceInformationA): Add declaration.
- (WNetGetResourceInformationW): Ditto.
- (WNetGetResourceInformation): Add define.
-
-2001-10-12 Pedro A Aranda <paaguti@hotmail.com>
-
- * include/winuser.h (POINTSTOPOINT): Use explicit casts
- before extracting words.
-
-2001-10-04 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/winnt.h: Add PF_* defines.
- Thanks to: "Wizord" <wizord@argoslabs.com>
-
-2001-09-18 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/winnt.h (_[U]LARGE_INTEGER): Mark nameless structure
- field as _ANONYMOUS_STRUCT.
- * include/setupapi.h (SP_DEVINSTALL_PARAMS): Add missing typedef
- for UNICODE.
- * include/ipexport.h (icmp_echo_reply): Remove extra ';'.
- * lib/makefile.in: Add -pedantic switch to TEST_OPTIONS for header
- test.
-
-2001-09-17 Mattia Barbon <mbarbon@dsi.unive.it>
-
- * include/commctrl.h: Add some ListView constants.
-
-2001-09-17 Earnie Boyd <earnie@sf.net>
-
- * lib/Makefile.in (inst_includedir): Add FIXME and remove the usr/
- portion of the directory from the install.
- (inst_libdir): Ditto.
- * Makefile.in (VERSION): Increment.
- * include/w32api.h: Increment version.
-
-2001-09-13 Earnie Boyd <earnie@SF.net>
-
- * lib/Makefile.in (inst_includedir): Change to always use w32api
- subdirectory for target == cygwin.
- (inst_libdir): Ditto.
-
-2001-09-13 Earnie Boyd <earnie@SF.net>
-
- * lib/Makefile.in (config_prefix): New variable.
- (inst_includedir): Manipulate special value only if target == cygwin
- and build == target and prefix != config_prefix.
- (inst_libdir): Ditto.
-
-2001-09-12 Earnie Boyd <earnie@SF.net>
-
- * Makefile.in (TARFLAGS): New variable.
- (TARFILEEXT): Ditto.
-
-2001-09-12 Earnie Boyd <earnie@SF.net>
-
- * Makefile.in: Increment version.
- * include/w32api.h: Ditto.
- * lib/Makefile.in: Add usr/ to install directory special for cygwin.
-
-2001-09-11 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/winnt.h (_[U]LARGE_INTEGER): Protect nameless struct with
- !defined(NONAMELESSUNION), rather than defined(_ANONYMOUS_STRUCT).
- (_REPARSE_DATA_BUFFER): Name union field DUMMYUNIONNAME.
-
-2001-09-05 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/wininet.h (InternetAutodial): Add prototype.
- (InternetAutodialHangup): Ditto.
- (InternetDial): Ditto.
- (InternetGetConnectedState): Ditto.
- (InternetGoOnline): Ditto.
- (InternetHangUp): Ditto.
- (InternetSetDialState): Ditto.
- Add associated INTERNET_* auto dial flags.
- Guard typedefs and prototypes with #ifndef RC_INVOKED.
-
-2001-09-04 Earnie Boyd <earnie@SF.Net>
-
- * lib/Makefile.in: Move the setting of variable libdir to after the
- setting of exec_prefix since the value of libdir is dependant on it.
-
-Tue Sep 4 14:15:59 2001 Christopher Faylor <cgf@cygnus.com>
-
- * include/winbase.h: Add missing closing parentheses to
- InterlockedExchangePointer declaration.
-
-2001-09-01 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/shlobj.h (CFSTR_* ): Add new defines.
- Thanks to: "Ron" <ron@debian.org> .
- Unicode them.
-
-Sat Sep 1 10:40:37 2001 Christopher Faylor <cgf@cygnus.com>
-
- * include/winnt.h: Use defined(_ANONYMOUS_STRUCT) to determine if
- anonymous structs are available rather than just testing preprocessor
- variable directly.
-
-Fri Aug 31 21:46:00 2001 Corinna Vinschen <corinna@vinschen.de>
-
- * include/winnt.h: Change definition of `SYSTEM_LUID' to comply
- with new `LARGE_INTEGER' definition.
-
-Thu Aug 30 09:35:51 2001 Christopher Faylor <cgf@cygnus.com>
-
- * include/winsock2.h: Remove "extra token" after #endif.
-
-2001-08-31 Earnie Boyd <earnie@SF.Net>
-
- * config.guess: Remove the \r from the end of line.
- * config.sub: Ditto.
-
-2001-08-30 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/winnt.h: Allow anonymous struct in [U]LARGE_INTEGER
- if __cplusplus as well as if _ANONYMOUS_STRUCT.
-
-2001-08-29 Earnie Boyd <earnie@SF.Net>
-
- * config.guess: Add the MSYS system.
- * config.sub: Ditto.
- * include/winsock.h: Add the __INSIDE_MSYS__ protections.
- * incldue/winsock2.h: Ditto.
-
-2001-08-29 Eric Kohl <ekohl@users.sourceforge.net>
-
- * include/winnt.h: Allow anonymous (Xxx.LowPart) or
- non-anonymous (Xxx.u.LowPart) access to HighPart and
- LowPart of a LARGE_INTEGER or ULARGE_INTEGER.
-
-2001-08-24 TAMURA Kent <tkent@users.sourceforge.net>
-
- * include/wingdi.h (HANGUL_CHARSET): Add define.
-
-2001-08-21 Earnie Boyd <earnie@SF.Net>
-
- * include/setupapi.h: Formatting.
-
-2001-08-21 Earnie Boyd <earnie@SF.Net>
-
- * include/shlobj.h: Remove \r from the line endings.
-
-2001-08-21 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/setupapi.h : New file.
- * lib/setupapi.def:New file.
- * lib/test.c: Include setupapi.h.
-
-2001-08-21 Danny Smith <dannysmith@users.sourceforge.net>
- * include/winioctl.h (_DISK_PERFORMANCE): Correct typo.
-
-2001-08-21 Mattia Barbon <mbarbon@dsi.unive.it>
-
- * include/richedit.h (ENLINK): Add structure definition.
- (EM_AUTOURLDETECT, EN_LINK, ENM_LINK): Add defines.
-
-2001-08-21 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/shlobj.h (CMIC_*): Remove duplicate defines.
- (CMDSTR_*): Remove duplicates; UNICODE string constants.
- (GCS_*): Make UNICODE.
- (CSIDL_*): Add more defines.
- * include/winioctl.h (_MEDIA_TYPE): Add pointer typedef.
- (_DISK_GEOMETRY): Ditto.
- (_DISK_PERFORMANCE): Ditto.
- * include/winbase.h (HasOverlappedIoCompleted): Add macro.
-
-2001-08-15 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/winnt.h: Move CHAR, SHORT and LONG typedefs outside
- of block protected by #ifndef VOID.
- (This reverts 1998-12-01 Anders Norlander change.)
- * include/odbcinst.h: End file with newline.
- * include/raserror.h: Ditto.
-
-2001-08-15 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/winsock2.h (#include <wtypes.h): Don't.
- (_BLOB): Define instead, if not already done.
- (__BLOB_T_DEFINED: New define for guarding _BLOB.
- * include/wtypes.h (_BLOB): Guard against prior definition.
-
-2001-08-15 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/oaidl.h (tagVARIANT): Mark anonymous structs and unions
- as __extension__.
- (tagTYPEDESC): Ditto.
- (_wireBRECORD): Add structure definition.
- (_wireSAFEARR_BRECORD): Ditto.
- (_wireSAFEARR_HAVEIID): Ditto.
- (_wireSAFEARRAY_UNION.u): Add fields SAFEARR_BRECORD RecordStr,
- SAFEARR_HAVEIID HaveIidStr.
- (tagVariant): Add fields _VARIANT_BOOL bool,*pbool.
- (_wireVARIANT): Change field parray to type wirePSAFEARRAY,
- pparray to wirePSAFEARRAY*.
- (_wireVARIANT): Add field wireBRECORD brecVal.
- (wireVARIANT): Change typedef to struct _wireVariant*.
- (IRecordInfo): Add interface definition.
- (LPRECORDINFO): Add typedef for IRecordInfo*.
- (IID_IRecordInfo): Add forward decalaration.
-
-2001-08-15 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/lmcons.h: Guard CNLEN and UNCLEN against prior definition.
- * include/nddeapi.h: Likewise.
-
-2001-08-10 Danny Smith <dannysmith@users.sourceforge.net>
-
- * lib/test.c (Win32_Winsock): Replace with __USE_W32_SOCKETS.
- Add more includes of w32api headers.
-
-2001-08-10 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/winnt.h (GetCurrentFiber): Change __inline to __inline__.
- Swap asm code with that of GetFiberData.
- (GetFiberData): Ditto.
- * lib/kernel32.c: New file, containing library versions of
- GetCurrentFiber and GetFiberData.
- * lib/makefile.in: Add kernel32.o as static object to libkernal32.a.
-
-2001-08-08 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/winuser.h (GET_WHEEL_DELTA_WPARAM): Add macro.
- Thanks to: Harold Hunt <Harold@compasstechnologies.com>.
-
-2001-08-08 Danny Smith <dannysmith@users.sourceforge.net>
-
- * lib/oleaut32.def: Regenerate.
-
-2001-08-04 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/wtypes.h (DECIMAL_SETZERO): Correct typo.
-
-2001-08-02 Danny Smith <dannysmith@users.sourceforge.net>
-
- Apply Dmitry Bely <dbely@mail.ru> patch 437834 (with additions).
- * include/oleidl.h (ISupportErrorInfo, ICreateInfo): Move from here
- * include/oaidl.h: ... to here.
- * include/oaidl.h ICreateErrorInfo): Add interface definition.
- (IErrorInfo::GetGUID): Change arg to GUID.
- (LPSUPPORTERRORINFO): Add typedef.
- (IID_ISupportErrorInfo): Change forward decl. of type to IID.
-
-2001-08-02 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/winsock2.h (WSAGET* and WSAMAKE*): Remove duplicate
- defines.
-
-2001-07-30 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/commctrl.h (TreeView_SetIndent): Correct typo.
-
-2001-07-30 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/commctrl.h (TBSTYPE_FLAT): Remove define.
- Thanks to: Jason Craig <jacraig@softhome.net>
-
-2001-07-30 Mattia Barbon <mbarbon@dsi.unive.it>
-
- * include/commctrl.h (TBBUTTONINFO[AW]): Add struct definitions,
- and UNICODE mappings, if _WIN32_IE >= 0x400.
- (TBIF_* and TB_SETBUTTONINFO): Add defines, if _WIN32_IE >= 0x400.
- (CDIS_*,CDDS_*,CDRF_*) : Add defines.
- (tagNMCUSTOMDRAWINFO): Add struct definition and typedefs.
- (tagNMLVCUSTOMDRAW): Likewise.
- (tagNMTVCUSTOMDRAW): Likewise.
- (tagNMLVCACHEHINT): Likewise.
-
-2001-07-06 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/basetsd.h (#include <_mingw.h>): Remove.
- (__int64): Define.
-
-2001-06-28 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/wingdi.h (AC_SRC_OVER): Add define.
- (struct _BLENDFUNCTION): Add.
-
-2001-06-28 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/shlobj.h: Add BIF_* defines.
-
-2001-06-27 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/winerror.h (E_PENDING): Add error code define.
-
-2001-06-27 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/basetsd.h (#include <_mingw.h>): Add directive.
-
-2001-06-25 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/winbase.h (InterlockedCompareExchange): Change args
- and return value from PVOID to LONG.
- (InterlockedExchange): Change first arg to LPLONG.
- (InterlockedCompareExchangePointer): New macro.
- (InterlockedExchangePointer): New macro.
-
-2001-06-19 Danny Smith <dannysmith@users.sourceforge.net>
-
- * lib/kernel32.def: Add LanguageGroup and UILanguage symbols.
- Thanks to Kevin Chase <kevincha99@hotmail.com>.
-
-2001.06.11 TAMURA Kent <tkent@users.sourceforge.net>
-
- * objidl.h (IMalloc::ReAlloc()): Correct declaration.
- (IMalloc::Free()): Ditto.
-
-2001-06-11 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/shlobj.h (REGSTR_PATH_EXPLORER): Unicode it.
- (REGSTR_PATH_SPECIAL_FOLDERS): Ditto.
- * include/regstr.h (REGSTR_PATH_EXPLORER): Add #ifndef guard.
-
-2001-06-11 Mattia Barbon <mbarbon@dsi.unive.it>
-
- * include/shlobj.h (struct _browseinfo): UNICODE it.
- (SHBrowseForFolder): Ditto.
- (SHGetPathFromIDList): Ditto.
-
-2001.06.11 Earnie Boyd <earnie@users.sourceforge.net>
-
- * include/basetsd.h: RC_INVOKED protection and realignment.
- Thanks to: Colin Peters <colinpeters@users.sourceforge.net>
-
-2001.06.06 Earnie Boyd <earnie@users.sourceforge.net>
-
- * Makefile.in (bindist): Reassign value of exec_prefix on make command
- line.
-
-Tue May 22 18:58:27 2001 Christopher Faylor <cgf@cygnus.com>
-
- * lib/mapi32.def: Add MAPISendMail.
-
-2001-05-22 Earnie Boyd <earnie@users.sourceforge.net>
-
- * include/w32api.h: Update version.
- * Makefile.in: Ditto.
-
-Thu May 17 23:12:00 2001 Corinna Vinschen <corinna@vinschen.de>
-
- * include/winnt.h: Define SE_GROUP_LOGON_ID as unsigned to avoid
- compiler warnings.
-
-Thu May 17 17:12:00 2001 Corinna Vinschen <corinna@vinschen.de>
-
- * include/ntdef.h: Protect definition of OBJECT_ATTRIBUTES against
- previous definition in include/ntsecapi.h.
- * include/ntsecapi.h: Vice versa.
-
-Wed May 16 17:59:00 2001 Corinna Vinschen <corinna@vinschen.de>
-
- * include/winnt.h: Add defines for group attributes.
- Add define for SYSTEM_LUID.
- Add missing types `PTOKEN_DEFAULT_DACL', `PTOKEN_OWNER' and
- `PTOKEN_PRIMARY_GROUP'.
-
-Tue Apr 24 23:51:07 2001 Christopher Faylor <cgf@cygnus.com>
-
- * lib/Makefile.in: Install libraries in /usr/lib/w32api when building
- for cygwin.
-
-Tue Apr 24 16:18:42 2001 Christopher Faylor <cgf@cygnus.com>
-
- * include/winsock2.h: Protect one *more* newlib defines when compiling
- cygwin.
-
-Mon Apr 23 23:41:36 2001 Christopher Faylor <cgf@cygnus.com>
-
- * include/winsock2.h: Protect some more newlib defines when compiling
- cygwin.
-
-Mon Apr 23 13:17:32 2001 Christopher Faylor <cgf@cygnus.com>
-
- * include/winsock.h: Protect some more newlib defines when compiling
- cygwin.
-
-2001-04-17 Egor Duda <deo@logos-m.ru>
-
- * include/windows.h: Define _ANONYMOUS_STRUCT and _ANONYMOUS_UNION
- as __extenstion__ when appropriate.
- * include/mmsystem.h: Mark anonymous structs and unions as
- __extension__ to prevent compiler warning when invoked with
- -pedantic
- * include/oaidl.h: Ditto.
- * include/objidl.h: Ditto.
- * include/olectl.h: Ditto.
- * include/prsht.h: Ditto.
- * include/shlobj.h: Ditto.
- * include/winbase.h: Ditto.
- * include/winnt.h: Ditto.
- * include/wtypes.h: Ditto.
-
-2001-04-11 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/windows.h (#include <winsock.h>): Include <winsock2.h>
- instead if (_WIN32_WINNT >= 0x0400)&&(__W32API_MAJOR_VERSION > 0).
-
-2001-04-11 Danny Smith <danny_r_smith_2001@yahoo.co.nz>
-
- * include/winuser.h (WM_IME_*): Remove defines (now in imm.h).
-
-2001-04-11 John Fortin <fortinj@attglobal.net>
-
- * include/windef.h (*PBOOL): Unprotect from XFree86Server.
- (*LPBOOL): Ditto.
-
-Sun Apr 8 20:48:01 2001 Christopher Faylor <cgf@cygnus.com>
-
- * include/winnt.h (GetCurrentFiber): Make "external __inline" or asm
- code will be included in every module which includes this header.
- (GetFiberData): Ditto.
-
-2001-04-08 Earnie Boyd <earnie@users.sourceforge.net>
-
- * include/winnt.h (GetCurrentFiber): Fix typo.
-
-2001-04-08 Earnie Boyd <earnie@users.sourceforge.net>
-
- * include/shellapi.h: (CommandLineToArgvW): Add WINAPI declaration.
- * include/winbase.h: (GetFileAttributesExW): Fix typo.
- * include/wingdi.h: (StartDocA): Change LPDOCINFOA to DOCINFOA*.
- (StartDocB): Chage LNPDOCINFOB to DOCINFOB*.
- Thanks To: Kent Tamura <tkent@users.sourceforge.net>
-
- * include/winnt.h: (GetFiberData): Add __inline assembler coding.
- (GetCurrentFiber): Ditto.
- Thanks to: Andy Younger <AndyY@redlemon.com>
-
- * include/windef.h: (HMONITOR_DECLARED): New definition to stop
- DirectX 8 from complaining.
- Thanks to: Sigbjørn Lund Olsen <mosikos@online.no>
-
-2001-04-08 Michael Soderstrom <ichaelsoderstro@hotmail.com>
-
- * include/commctrl.h Updated TreeView and ListView defines and macros.
-
-2001-04-08 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/winuser.h (MB_SERVICE_NOTIFICATION): Correct value for NT4
- and above.
-
-2001-03-30 Earnie Boyd <earnie@users.sourceforge.net>
- * include/winuser.h (VK_KANA): New definition.
- Thanks to: "Harold Hunt" <huntharo@msu.edu>
-
-2001-03-29 Earnie Boyd <earnie@users.sourceforge.net
-
- * include/winuser.h (RT_CURSOR): Add protection for XFree86Server.
- (RT_FONT): Ditto.
- * include/basetsd.h (INT32): Ditto.
- * include/windef.h (ATOM): Ditto.
- (BOOL): Ditto.
- (BYTE): Ditto.
- * include/winbase.h (FreeResource): Ditto.
- Thanks to: "Harold Hunt" <huntharo@msu.edu>
-
-2001-03-20 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/winsock.h (_SYS_TYPES_H macro guard for int types): Remove;
- use only _BSDTYPES_DEFINED macro now defined in newlib sys/types.h.
- (SYS_TYPES_H macro guard for fd_set): Replace with_SYS_TYPES_FD_SET
- macro now defined in newlib sys/types.h. Emit warning if defined.
- * include/winsock2.h: Ditto.
- * include/windows.h (Win32_Winsock): Replace with new macros
- __USE_W32_SOCKETS and warn of deprecation.
-
-2001-03-13 Earnie Boyd <earnie@users.sourceforge.net
-
- * include/wingdi.h: (DOCINFO) Ansi version defined incorrectly.
- Thanks to: Mattia Barbon <mbarbon@dsi.unive.it>
-
-2001-03-12 Earnie Boyd <earnie@users.sourceforge.net
-
- * include/commctrl.h (TBSTYLE_FLAT): New definition.
- (TB_GETBUTTONSIZE): Ditto.
- (TCS_HOTTRACK): Ditto.
- Thanks to: Chris Hansen <popeofpop@softhome.net>
-
-2001-03-01 Earnie Boyd <earnie@users.sourceforge.net
-
- * Makefile.in: (snapshot): Add target.
- * lib/Makefile.in: (install-headers): Use installdir variable.
- (installdir): Set value based on target-alias.
-
-2001-02-21 Earnie Boyd <earnie@users.sourceforge.net
-
- * include/w32api.h: (_W32API_VERSION): Remove.
- (__W32API_VERSION): Add.
- (__W32API_MAJOR_VERSION): Ditto.
- (__W32API_MINOR_VERSION): Ditto.
-
-2001-02-21 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/wingdi.h (struct _DOCINFO[AW]): UNICODE it.
- (StartDoc[AW]): Use UNICODE'd LPDOCINFO[AW]
- * include/winuser.h (struct tagMOUSEKEYS): Define new structure.
- * include/winerror.h (NTE_*): Add CryptoAPI error codes.
-
-2001-02-21 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/mswsock.h: New file.
- * include/ws2tcpip.h: New file.
- * include/winsock.h (IPPROTO_IGMP): New define.
- (IPPROTO_GGP): Correct value.
- (SO_* macros): Remove mswsock defines.
- (TCP_BSDURGENT): Likewise.
- (IP_* macros): Add comment warning of WinSock2 incompatibility
- (WSARecvEx): Remove mswsock prototype.
- (TransmitFile): Likewise.
- (AcceptEx): Likewise.
- (GetAcceptExSockaddrs): Likewise.
- (struct _TRANSMIT_FILE_BUFFERS): Remove mswsock definition.
- (#include <mswsock.h>): Add directive and explanatory comment
- * include/winsock2.h (header guard): add guard for _WINSOCK_H
- (_WINSOCK_H): Define to prevent later inclusion of winsock.h
- (#include <winsock.h>): Replace directive with winsock.h file content
- The following changes apply to the merged file:
- (FD_SET): Keep winsock2.h definition, delete winsock.h definition
- (SOMAXCONN): Likewise
- (#include <nspapi.h>): Move - don't include until LPSOCKADDR defined
- (IP_* macros): Delete WinSock1 definitions (WinSock2 definitions now
- in ws2tcpip.h)
- (struct ip_mreq): Delete (now defined in ws2tcpip.h for WinSock2)
- (FD_*_BIT and FD_* defines): Place together and extend to
- FD_MAX_EVENTS 10
- (AF* defines): Extend to AF_MAX 10
- (WSAIsBlocking): #if 0 out prototype (N/A in WinSock2)
- (WSAUnhookBlockingHook): Likewise.
- (WSASetBlockingHook): Likewise.
- (WSACancelBlockingCall): Likewise.
- (WSAEINPROGRESS): Comment as not raised in WinSock2.
- (#include <mswsock.h>): Delete directive inherited from winsock.h
- (WSA_QOS* defines): Add QualityOfService error codes.
- (SIO_* defines): Add new macros
- * include/ipexport.h (IP_STATUS flags): Add definitions.
- (IP_FLAG_DF): Likewise.
- (IP_OPT_* ): Likewise.
- (struct ip_option_information): Likewise.
- (struct icmp_echo_reply): Likewise.
-
-2001-02-21 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/commctrl.h: Revert TEXT change.
- * include/lmalert.h: Ditto.
- * include/lmcons.h: Ditto.
- * include/lmsname.h: Ditto.
- * include/lmsvc.h: Ditto.
- * include/ntsecapi.h: Ditto.
- * include/oledlg.h: Ditto.
- * include/ras.h: Ditto.
- * include/regstr.h: Ditto.
- * include/richedit.h: Ditto.
- * include/wininet.h: Ditto.
- * include/winnt.h: Ditto.
-
-2001-02-15 Earnie Boyd <earnie@users.sourceforge.net>
-
- * include/commctrl.h: Use _TEXT() instead of TEXT() throughout.
- * include/lmalert.h: Ditto.
- * include/lmcons.h: Ditto.
- * include/lmsname.h: Ditto.
- * include/lmsvc.h: Ditto.
- * include/ntsecapi.h: Ditto.
- * include/oledlg.h: Ditto.
- * include/ras.h: Ditto.
- * include/regstr.h: Ditto.
- * include/richedit.h: Ditto.
- * include/wininet.h: Ditto.
- * include/w32api.h: New File.
-
-Tue Feb 13 22:38:00 2000 Corinna Vinschen <corinna@vinschen.de>
-
- * include/shlobj.h: Add missing SLR_* flags.
-
-2001-02-12: Earnie Boyd <earnie@users.sourceforge.net>
-
- * lib/Makefile.in: (host_alias): Add variable.
- (host_build): Ditto:
- (xinstall): Removed
- (xinstall-libraries): Ditto.
- (xinstall-headers): Ditto.
- (xuninstall): Ditto.
- (xuninstall-libraries): Ditto.
- (xuninstall-headers): Ditto.
- * Makefile.in: (host_alias): Add variable.
- (build_alias): Ditto.
-
-Fri Feb 2 13:08:09 2001 Earnie Boyd <earnie@users.sourceforge.net>
-
- * include/winnt.h: (__TEXT): Add private macro.
- (_TEXT): Modify definition to use __TEXT.
- (_T): Ditto.
- This change allows the passing of a MACRO as an argument and have that
- MACRO resolved first.
- Thanks to: Eric PAIRE <eric.paire@ri.silicomp.com>
-
-Wed Jan 31 17:35:59 2001 Earnie Boyd <earnie@users.sourceforge.net>
-
- * Makefile.in: Increment VERSION to 0.5
- * include/winnt.h: Change TEXT to _TEXT throughout.
- (SID_RELEASE): Define.
- Thanks to: Eric PAIRE <eric.paire@ri.silicomp.com>
-
-Tue Jan 30 10:42:28 2001 Earnie Boyd <earnie@users.sourceforge.net>
-
- * Apply Phil Krylov patches.
- 2001-01-19 Phil Krylov <phil@mail.ru>
- * include/commctrl.h: (HDI_IMAGE) New definition.
- (HDI_DI_SETITEM) Ditto.
- (HDI_ORDER) Ditto.
- (HDI_FILTER) Ditto.
- (HDF_BITMAP_ON_RIGHT) Ditto.
- (HDF_IMAGE) Ditto.
- (HDM_SETORDERARRAY) Ditto.
- (Header_SetOrderArray) Ditto.
- (ICC_BAR_CLASSES) Ditto.
- (struct _HD_ITEMA) Change definition.
- (struct _HD_ITEMW) Ditto.
- (struct tagINITCOMMONCONTROLSEX) Enclose in _WIN32_IE braces.
- (InitCommonControlsEx()) Ditto.
- 2001-01-23 Phil Krylov <phil@mail.ru>
- * include/richedit.h: Many Richedit 2.0 definitions.
-
-Tue Jan 30 09:56:50 2001 Earnie Boyd <earnie@users.sourceforge.net>
-
- * include/winuser.h: (IDC_HAND) New resource identifier.
- Thanks to: Mark Jordon <mark_jordan@ieee.org>
-
-Tue Jan 30 09:35:30 2001 Earnie Boyd <earnie@users.sourceforge.net>
-
- * include/iptypes.h: Include <sys/types.h> for time_t declaration.
- Fix typo's.
-
-Tue Jan 30 08:30:33 2001 Earnie Boyd <earnie@users.sourceforge.net>
-
- * include/objidl.h: (GetClassID): Argument needs to be a pointer.
- (GetUnmarshalClass): CLSID argument needs to be a pointer.
- Thanks To: <bge@users.sourceforge.net>
-
-Tue Jan 30 07:52:54 2001 Earnie Boyd <earnie@users.sourceforge.net>
-
- * Apply Danny Smith patch 102386
- 2000-11-15 Danny Smith <danny_r_smith_2001@yahoo.co.nz>
- * lib/rasapi32.def: add symbols available in NT4 and W2k
-
-Sun Jan 28 12:47:31 2001 Earnie Boyd <earnie@users.sourceforge.net>
-
- * Apply Danny Smith patch 102382
- 2000-11-15 Danny Smith <danny_r_smith_2001@yahoo.co.nz>
- * lib/mswsock.def: remove leading underscores from symbol names
-
-Sun Jan 28 11:16:39 2001 Earnie Boyd <earnie@users.sourceforge.net>
-
- * Apply Danny Smith patch 102446
- 2000-11-20 Danny Smith <danny_r_smith_2001@yahoo.co.nz>
- * include/sql.h (ODBCVER): change default to 0x0351.
- (SQLSetScrollOptions): non-core function, move prototype to sqlext.h.
- (SQLColAttributes): likewise.
- (SQLBindParam): add prototype for ODBC 3.x function.
- (SQLCloseCursor): likewise.
- (SQLColAttribute): likewise.
- (SQLCopyDesc):likewise.
- (SQLEndTran): likewise.
- (SQLFetchScroll): likewise.
- (SQLGetConnectAttr): likewise.
- (SQLGetDescField): likewise.
- (SQLGetDescRec): likewise.
- (SQLGetDiagField): likewise.
- (SQLGetDiagRec): likewise.
- (SQLGetEnvAttr): likewise.
- (SQLGetStmtAttr): likewise.
- (SQLSetConnectAttr): likewise.
- (SQLSetDescField):likewise.
- (SQLSetDescRec): likewise.
- (SQLSetEnvAttr): likewise.
- (SQLSetStmtAttr): likewise.
- (SQLINTENGER and SQLUINTEGER): replace with SQLLEN and SQLULEN for
- _WIN64 compatability;
- (SQL_ACCESS_MODE): Move define to sqlext.h (used in non-core functions).
- (SQL_ACTIVE_CONNECTIONS): likewise.
- (SQL_ACTIVE_STATEMENTS): likewise.
- (SQL_ALL_EXCEPT_LIKE): likewise.
- (SQL_API_ALL_FUNCTIONS): likewise.
- (SQL_API_LOADBYORDINAL): likewise.
- (SQL_API_SQLBINDPARAMETER): likewise.
- (SQL_API_SQLBROWSECONNECT): likewise.
- (SQL_API_SQLCOLATTRIBUTES): likewise.
- (SQL_API_SQLCOLUMNPRIVILEGES): likewise.
- (SQL_API_SQLDESCRIBEPARAM): likewise.
- (SQL_API_SQLDRIVERCONNECT): likewise.
- (SQL_API_SQLDRIVERS): likewise.
- (SQL_API_SQLEXTENDEDFETCH): likewise.
- (SQL_API_SQLFOREIGNKEYS): likewise.
- (SQL_API_SQLMORERESULTS): likewise.
- (SQL_API_SQLNATIVESQL): likewise.
- (SQL_API_SQLNUMPARAMS): likewise.
- (SQL_API_SQLPARAMOPTIONS): likewise.
- (SQL_API_SQLPRIMARYKEYS): likewise.
- (SQL_API_SQLPROCEDURECOLUMNS): likewise.
- (SQL_API_SQLPROCEDURES): likewise.
- (SQL_API_SQLSETPOS): likewise.
- (SQL_API_SQLSETSCROLLOPTIONS): likewise.
- (SQL_API_SQLTABLEPRIVILEGES): likewise.
- (SQL_ASYNC_ENABLE): likewise.
- (SQL_ASYNC_ENABLE_DEFAULT): likewise.
- (SQL_ASYNC_ENABLE_OFF): likewise.
- (SQL_ASYNC_ENABLE_ON): likewise.
- (SQL_ATTR_READONLY): likewise.
- (SQL_ATTR_READWRITE_UNKNOWN): likewise.
- (SQL_ATTR_WRITE): likewise.
- (SQL_AUTOCOMMIT): likewise.
- (SQL_AUTOCOMMIT_DEFAULT): likewise.
- (SQL_AUTOCOMMIT_OFF): likewise.
- (SQL_AUTOCOMMIT_ON): likewise.
- (SQL_BEST_ROWID): likewise.
- (SQL_BIGINT): likewise.
- (SQL_BINARY): likewise.
- (SQL_BIND_BY_COLUMN): likewise.
- (SQL_BIND_TYPE): likewise.
- (SQL_BIND_TYPE_DEFAULT): likewise.
- (SQL_BIT): likewise.
- (SQL_BOOKMARK_PERSISTENCE): likewise.
- (SQL_BP_CLOSE): likewise.
- (SQL_BP_DELETE): likewise.
- (SQL_BP_DROP): likewise.
- (SQL_BP_OTHER_HSTMT): likewise.
- (SQL_BP_SCROLL): likewise.
- (SQL_BP_TRANSACTION): likewise.
- (SQL_BP_UPDATE): likewise.
- (SQL_C_BINARY): likewise.
- (SQL_C_BIT): likewise.
- (SQL_C_BOOKMARK): likewise.
- (SQL_C_CHAR): likewise.
- (SQL_C_DATE): likewise.
- (SQL_C_DEFAULT): likewise.
- (SQL_C_DOUBLE): likewise.
- (SQL_C_FLOAT): likewise.
- (SQL_C_LONG): likewise.
- (SQL_C_SHORT): likewise.
- (SQL_C_SLONG): likewise.
- (SQL_C_SSHORT): likewise.
- (SQL_C_STINYINT): likewise.
- (SQL_C_TIME): likewise.
- (SQL_C_TIMESTAMP): likewise.
- (SQL_C_TINYINT): likewise.
- (SQL_C_ULONG): likewise.
- (SQL_C_USHORT): likewise.
- (SQL_C_UTINYINT): likewise.
- (SQL_CB_NON_NULL): likewise.
- (SQL_CB_NULL): likewise.
- (SQL_CC_CLOSE): likewise.
- (SQL_CC_DELETE): likewise.
- (SQL_CC_PRESERVE): likewise.
- (SQL_CN_ANY): likewise.
- (SQL_CN_DIFFERENT): likewise.
- (SQL_CN_NONE): likewise.
- (SQL_COLATT_OPT_MAX): likewise.
- (SQL_COLATT_OPT_MIN): likewise.
- (SQL_COLUMN_ALIAS): likewise.
- (SQL_COLUMN_AUTO_INCREMENT): likewise.
- (SQL_COLUMN_CASE_SENSITIVE): likewise.
- (SQL_COLUMN_COUNT): likewise.
- (SQL_COLUMN_DISPLAY_SIZE): likewise.
- (SQL_COLUMN_DRIVER_START): likewise.
- (SQL_COLUMN_LABEL): likewise.
- (SQL_COLUMN_LENGTH): likewise.
- (SQL_COLUMN_MONEY): likewise.
- (SQL_COLUMN_NAME): likewise.
- (SQL_COLUMN_NULLABLE): likewise.
- (SQL_COLUMN_OWNER_NAME): likewise.
- (SQL_COLUMN_PRECISION): likewise.
- (SQL_COLUMN_QUALIFIER_NAME): likewise.
- (SQL_COLUMN_SCALE): likewise.
- (SQL_COLUMN_SEARCHABLE): likewise.
- (SQL_COLUMN_TABLE_NAME): likewise.
- (SQL_COLUMN_TYPE): likewise.
- (SQL_COLUMN_TYPE_NAME): likewise.
- (SQL_COLUMN_UNSIGNED): likewise.
- (SQL_COLUMN_UPDATABLE): likewise.
- (SQL_CONCAT_NULL_BEHAVIOR): likewise.
- (SQL_CONCUR_DEFAULT): likewise.
- (SQL_CONCUR_LOCK): likewise.
- (SQL_CONCUR_READ_ONLY): likewise.
- (SQL_CONCUR_ROWVER): likewise.
- (SQL_CONCUR_TIMESTAMP): likewise.
- (SQL_CONCUR_VALUES): likewise.
- (SQL_CONCURRENCY): likewise.
- (SQL_CONN_OPT_MAX): likewise.
- (SQL_CONN_OPT_MIN): likewise.
- (SQL_CONNECT_OPT_DRVR_START): likewise.
- (SQL_CONVERT_BIGINT): likewise.
- (SQL_CONVERT_BINARY): likewise.
- (SQL_CONVERT_BIT): likewise.
- (SQL_CONVERT_CHAR): likewise.
- (SQL_CONVERT_DATE): likewise.
- (SQL_CONVERT_DECIMAL): likewise.
- (SQL_CONVERT_DOUBLE): likewise.
- (SQL_CONVERT_FLOAT): likewise.
- (SQL_CONVERT_FUNCTIONS): likewise.
- (SQL_CONVERT_INTEGER): likewise.
- (SQL_CONVERT_LONGVARBINARY): likewise.
- (SQL_CONVERT_LONGVARCHAR): likewise.
- (SQL_CONVERT_NUMERIC): likewise.
- (SQL_CONVERT_REAL): likewise.
- (SQL_CONVERT_SMALLINT): likewise.
- (SQL_CONVERT_TIME): likewise.
- (SQL_CONVERT_TIMESTAMP): likewise.
- (SQL_CONVERT_TINYINT): likewise.
- (SQL_CONVERT_VARBINARY): likewise.
- (SQL_CONVERT_VARCHAR): likewise.
- (SQL_CORRELATION_NAME): likewise.
- (SQL_CR_CLOSE): likewise.
- (SQL_CR_DELETE): likewise.
- (SQL_CR_PRESERVE): likewise.
- (SQL_CUR_DEFAULT): likewise.
- (SQL_CUR_USE_DRIVER): likewise.
- (SQL_CUR_USE_IF_NEEDED): likewise.
- (SQL_CUR_USE_ODBC): likewise.
- (SQL_CURRENT_QUALIFIER): likewise.
- (SQL_CURSOR_DYNAMIC): likewise.
- (SQL_CURSOR_FORWARD_ONLY): likewise.
- (SQL_CURSOR_KEYSET_DRIVEN): likewise.
- (SQL_CURSOR_ROLLBACK_BEHAVIOR): likewise.
- (SQL_CURSOR_STATIC): likewise.
- (SQL_CURSOR_TYPE): likewise.
- (SQL_CURSOR_TYPE_DEFAULT): likewise.
- (SQL_CVT_BIGINT): likewise.
- (SQL_CVT_BINARY): likewise.
- (SQL_CVT_BIT): likewise.
- (SQL_CVT_CHAR): likewise.
- (SQL_CVT_DATE): likewise.
- (SQL_CVT_DECIMAL): likewise.
- (SQL_CVT_DOUBLE): likewise.
- (SQL_CVT_FLOAT): likewise.
- (SQL_CVT_INTEGER): likewise.
- (SQL_CVT_LONGVARBINARY): likewise.
- (SQL_CVT_LONGVARCHAR): likewise.
- (SQL_CVT_NUMERIC): likewise.
- (SQL_CVT_REAL): likewise.
- (SQL_CVT_SMALLINT): likewise.
- (SQL_CVT_TIME): likewise.
- (SQL_CVT_TIMESTAMP): likewise.
- (SQL_CVT_TINYINT): likewise.
- (SQL_CVT_VARBINARY): likewise.
- (SQL_CVT_VARCHAR): likewise.
- (SQL_DATABASE_NAME): likewise.
- (SQL_DATE): likewise.
- (SQL_DRIVER_HDBC): likewise.
- (SQL_DRIVER_HENV): likewise.
- (SQL_DRIVER_HLIB): likewise.
- (SQL_DRIVER_HSTMT): likewise.
- (SQL_DRIVER_NAME): likewise.
- (SQL_DRIVER_ODBC_VER): likewise.
- (SQL_DRIVER_VER): likewise.
- (SQL_ENSURE): likewise.
- (SQL_EXPRESSIONS_IN_ORDERBY): likewise.
- (SQL_EXT_API_LAST): likewise.
- (SQL_EXT_API_START): likewise.
- (SQL_FD_FETCH_BOOKMARK): likewise.
- (SQL_FD_FETCH_PREV): likewise.
- (SQL_FD_FETCH_RESUME): likewise.
- (SQL_FETCH_PREV): likewise.
- (SQL_FETCH_RESUME): likewise.
- (SQL_FILE_NOT_SUPPORTED): likewise.
- (SQL_FILE_QUALIFIER): likewise.
- (SQL_FILE_TABLE): likewise.
- (SQL_FILE_USAGE): likewise.
- (SQL_FN_CVT_CONVERT): likewise.
- (SQL_FN_NUM_ABS): likewise.
- (SQL_FN_NUM_ACOS): likewise.
- (SQL_FN_NUM_ASIN): likewise.
- (SQL_FN_NUM_ATAN): likewise.
- (SQL_FN_NUM_ATAN2): likewise.
- (SQL_FN_NUM_CEILING): likewise.
- (SQL_FN_NUM_COS): likewise.
- (SQL_FN_NUM_COT): likewise.
- (SQL_FN_NUM_DEGREES): likewise.
- (SQL_FN_NUM_EXP): likewise.
- (SQL_FN_NUM_FLOOR): likewise.
- (SQL_FN_NUM_LOG): likewise.
- (SQL_FN_NUM_LOG10): likewise.
- (SQL_FN_NUM_MOD): likewise.
- (SQL_FN_NUM_PI): likewise.
- (SQL_FN_NUM_POWER): likewise.
- (SQL_FN_NUM_RADIANS): likewise.
- (SQL_FN_NUM_RAND): likewise.
- (SQL_FN_NUM_ROUND): likewise.
- (SQL_FN_NUM_SIGN): likewise.
- (SQL_FN_NUM_SIN): likewise.
- (SQL_FN_NUM_SQRT): likewise.
- (SQL_FN_NUM_TAN): likewise.
- (SQL_FN_NUM_TRUNCATE): likewise.
- (SQL_FN_STR_ASCII): likewise.
- (SQL_FN_STR_CHAR): likewise.
- (SQL_FN_STR_CONCAT): likewise.
- (SQL_FN_STR_DIFFERENCE): likewise.
- (SQL_FN_STR_INSERT): likewise.
- (SQL_FN_STR_LCASE): likewise.
- (SQL_FN_STR_LEFT): likewise.
- (SQL_FN_STR_LENGTH): likewise.
- (SQL_FN_STR_LOCATE): likewise.
- (SQL_FN_STR_LOCATE_2): likewise.
- (SQL_FN_STR_LTRIM): likewise.
- (SQL_FN_STR_REPEAT): likewise.
- (SQL_FN_STR_REPLACE): likewise.
- (SQL_FN_STR_RIGHT): likewise.
- (SQL_FN_STR_RTRIM): likewise.
- (SQL_FN_STR_SOUNDEX): likewise.
- (SQL_FN_STR_SPACE): likewise.
- (SQL_FN_STR_SUBSTRING): likewise.
- (SQL_FN_STR_UCASE): likewise.
- (SQL_FN_SYS_DBNAME): likewise.
- (SQL_FN_SYS_IFNULL): likewise.
- (SQL_FN_SYS_USERNAME): likewise.
- (SQL_FN_TD_CURDATE): likewise.
- (SQL_FN_TD_CURTIME): likewise.
- (SQL_FN_TD_DAYNAME): likewise.
- (SQL_FN_TD_DAYOFMONTH): likewise.
- (SQL_FN_TD_DAYOFWEEK): likewise.
- (SQL_FN_TD_DAYOFYEAR): likewise.
- (SQL_FN_TD_HOUR): likewise.
- (SQL_FN_TD_MINUTE): likewise.
- (SQL_FN_TD_MONTH): likewise.
- (SQL_FN_TD_MONTHNAME): likewise.
- (SQL_FN_TD_NOW): likewise.
- (SQL_FN_TD_QUARTER): likewise.
- (SQL_FN_TD_SECOND): likewise.
- (SQL_FN_TD_TIMESTAMPadd): likewise.
- (SQL_FN_TD_TIMESTAMPDIFF): likewise.
- (SQL_FN_TD_WEEK): likewise.
- (SQL_FN_TD_YEAR): likewise.
- (SQL_FN_TSI_DAY): likewise.
- (SQL_FN_TSI_FRAC_SECOND): likewise.
- (SQL_FN_TSI_HOUR): likewise.
- (SQL_FN_TSI_MINUTE): likewise.
- (SQL_FN_TSI_MONTH): likewise.
- (SQL_FN_TSI_QUARTER): likewise.
- (SQL_FN_TSI_SECOND): likewise.
- (SQL_FN_TSI_WEEK): likewise.
- (SQL_FN_TSI_YEAR): likewise.
- (SQL_GB_GROUP_BY_CONTAINS_SELECT): likewise.
- (SQL_GB_GROUP_BY_EQUALS_SELECT): likewise.
- (SQL_GB_NO_RELATION): likewise.
- (SQL_GB_NOT_SUPPORTED): likewise.
- (SQL_GD_BLOCK): likewise.
- (SQL_GD_BOUND): likewise.
- (SQL_GET_BOOKMARK): likewise.
- (SQL_GROUP_BY): likewise.
- (SQL_INFO_DRIVER_START): likewise.
- (SQL_INFO_FIRST): likewise.
- (SQL_INFO_LAST): likewise.
- (SQL_INTERVAL_DAY): likewise.
- (SQL_INTERVAL_DAY_TO_HOUR): likewise.
- (SQL_INTERVAL_DAY_TO_MINUTE): likewise.
- (SQL_INTERVAL_DAY_TO_SECOND): likewise.
- (SQL_INTERVAL_HOUR): likewise.
- (SQL_INTERVAL_HOUR_TO_MINUTE): likewise.
- (SQL_INTERVAL_HOUR_TO_SECOND): likewise.
- (SQL_INTERVAL_MINUTE): likewise.
- (SQL_INTERVAL_MINUTE_TO_SECOND): likewise.
- (SQL_INTERVAL_MONTH): likewise.
- (SQL_INTERVAL_SECOND): likewise.
- (SQL_INTERVAL_YEAR): likewise.
- (SQL_INTERVAL_YEAR_TO_MONTH): likewise.
- (SQL_KEYSET_SIZE): likewise.
- (SQL_KEYSET_SIZE_DEFAULT): likewise.
- (SQL_KEYWORDS): likewise.
- (SQL_LCK_EXCLUSIVE): likewise.
- (SQL_LCK_NO_CHANGE): likewise.
- (SQL_LCK_UNLOCK): likewise.
- (SQL_LIKE_ESCAPE_CLAUSE): likewise.
- (SQL_LIKE_ONLY): likewise.
- (SQL_LOCK_TYPES): likewise.
- (SQL_LOGIN_TIMEOUT): likewise.
- (SQL_LOGIN_TIMEOUT_DEFAULT): likewise.
- (SQL_LONGVARBINARY): likewise.
- (SQL_LONGVARCHAR): likewise.
- (SQL_MAX_BINARY_LITERAL_LEN): likewise.
- (SQL_MAX_CHAR_LITERAL_LEN): likewise.
- (SQL_MAX_DSN_LENGTH): likewise.
- (SQL_MAX_LENGTH): likewise.
- (SQL_MAX_LENGTH_DEFAULT): likewise.
- (SQL_MAX_OPTION_STRING_LENGTH): likewise.
- (SQL_MAX_OWNER_NAME_LEN): likewise.
- (SQL_MAX_PROCEDURE_NAME_LEN): likewise.
- (SQL_MAX_QUALIFIER_NAME_LEN): likewise.
- (SQL_MAX_ROW_SIZE_INCLUDES_LONG): likewise.
- (SQL_MAX_ROWS): likewise.
- (SQL_MAX_ROWS_DEFAULT): likewise.
- (SQL_MODE_DEFAULT): likewise.
- (SQL_MODE_READ_ONLY): likewise.
- (SQL_MODE_READ_WRITE): likewise.
- (SQL_MULT_RESULT_SETS): likewise.
- (SQL_MULTIPLE_ACTIVE_TXN): likewise.
- (SQL_NC_END): likewise.
- (SQL_NC_START): likewise.
- (SQL_NEED_LONG_DATA_LEN): likewise.
- (SQL_NNC_NON_NULL): likewise.
- (SQL_NNC_NULL): likewise.
- (SQL_NO_TOTAL): likewise.
- (SQL_NON_NULLABLE_COLUMNS): likewise.
- (SQL_NOSCAN): likewise.
- (SQL_NOSCAN_DEFAULT): likewise.
- (SQL_NOSCAN_OFF): likewise.
- (SQL_NOSCAN_ON): likewise.
- (SQL_NUM_EXTENSIONS): likewise.
- (SQL_NUM_FUNCTIONS): likewise.
- (SQL_NUMERIC_FUNCTIONS): likewise.
- (SQL_OAC_LEVEL1): likewise.
- (SQL_OAC_LEVEL2): likewise.
- (SQL_OAC_NONE): likewise.
- (SQL_ODBC_API_CONFORMANCE): likewise.
- (SQL_ODBC_CURSORS): likewise.
- (SQL_ODBC_KEYWORDS): likewise.
- (SQL_ODBC_SAG_CLI_CONFORMANCE): likewise.
- (SQL_ODBC_SQL_CONFORMANCE): likewise.
- (SQL_ODBC_SQL_OPT_IEF): likewise.
- (SQL_ODBC_VER): likewise.
- (SQL_OPT_TRACE): likewise.
- (SQL_OPT_TRACE_DEFAULT): likewise.
- (SQL_OPT_TRACE_FILE_DEFAULT): likewise.
- (SQL_OPT_TRACE_OFF): likewise.
- (SQL_OPT_TRACE_ON): likewise.
- (SQL_OPT_TRACEFILE): likewise.
- (SQL_OSC_CORE): likewise.
- (SQL_OSC_EXTENDED): likewise.
- (SQL_OSC_MINIMUM): likewise.
- (SQL_OSCC_COMPLIANT): likewise.
- (SQL_OSCC_NOT_COMPLIANT): likewise.
- (SQL_OU_DML_STATEMENTS): likewise.
- (SQL_OU_INDEX_DEFINITION): likewise.
- (SQL_OU_PRIVILEGE_DEFINITION): likewise.
- (SQL_OU_PROCEDURE_INVOCATION): likewise.
- (SQL_OU_TABLE_DEFINITION): likewise.
- (SQL_OUTER_JOINS): likewise.
- (SQL_OWNER_TERM): likewise.
- (SQL_OWNER_USAGE): likewise.
- (SQL_PACKET_SIZE): likewise.
- (SQL_PC_NOT_PSEUDO): likewise.
- (SQL_POS_add): likewise.
- (SQL_POS_DELETE): likewise.
- (SQL_POS_OPERATIONS): likewise.
- (SQL_POS_POSITION): likewise.
- (SQL_POS_REFRESH): likewise.
- (SQL_POS_UPDATE): likewise.
- (SQL_POSITIONED_STATEMENTS): likewise.
- (SQL_PROCEDURE_TERM): likewise.
- (SQL_PROCEDURES): likewise.
- (SQL_PS_POSITIONED_DELETE): likewise.
- (SQL_PS_POSITIONED_UPDATE): likewise.
- (SQL_PS_SELECT_FOR_UPDATE): likewise.
- (SQL_QL_END): likewise.
- (SQL_QL_START): likewise.
- (SQL_QU_DML_STATEMENTS): likewise.
- (SQL_QU_INDEX_DEFINITION): likewise.
- (SQL_QU_PRIVILEGE_DEFINITION): likewise.
- (SQL_QU_PROCEDURE_INVOCATION): likewise.
- (SQL_QU_TABLE_DEFINITION): likewise.
- (SQL_QUALIFIER_LOCATION): likewise.
- (SQL_QUALIFIER_NAME_SEPARATOR): likewise.
- (SQL_QUALIFIER_TERM): likewise.
- (SQL_QUALIFIER_USAGE): likewise.
- (SQL_QUERY_TIMEOUT): likewise.
- (SQL_QUERY_TIMEOUT_DEFAULT): likewise.
- (SQL_QUICK): likewise.
- (SQL_QUIET_MODE): likewise.
- (SQL_QUOTED_IDENTIFIER_CASE): likewise.
- (SQL_RD_DEFAULT): likewise.
- (SQL_RD_OFF): likewise.
- (SQL_RD_ON): likewise.
- (SQL_RETRIEVE_DATA): likewise.
- (SQL_ROW_NUMBER): likewise.
- (SQL_ROW_UPDATES): likewise.
- (SQL_ROWSET_SIZE): likewise.
- (SQL_ROWSET_SIZE_DEFAULT): likewise.
- (SQL_ROWVER): likewise.
- (SQL_SC_NON_UNIQUE): likewise.
- (SQL_SC_TRY_UNIQUE): likewise.
- (SQL_SC_UNIQUE): likewise.
- (SQL_SCCO_OPT_TIMESTAMP): likewise.
- (SQL_SCROLL_DYNAMIC): likewise.
- (SQL_SCROLL_FORWARD_ONLY): likewise.
- (SQL_SCROLL_KEYSET_DRIVEN): likewise.
- (SQL_SCROLL_OPTIONS): likewise.
- (SQL_SCROLL_STATIC): likewise.
- (SQL_SEARCHABLE): likewise.
- (SQL_SIGNED_OFFSET): likewise.
- (SQL_SIMULATE_CURSOR): likewise.
- (SQL_SO_DYNAMIC): likewise.
- (SQL_SO_FORWARD_ONLY): likewise.
- (SQL_SO_KEYSET_DRIVEN): likewise.
- (SQL_SO_MIXED): likewise.
- (SQL_SO_STATIC): likewise.
- (SQL_SPEC_MAJOR): likewise.
- (SQL_SPEC_MINOR): likewise.
- (SQL_SPEC_STRING): likewise.
- (SQL_SQ_COMPARISON): likewise.
- (SQL_SQ_CORRELATED_SUBQUERIES): likewise.
- (SQL_SQ_EXISTS): likewise.
- (SQL_SQ_IN): likewise.
- (SQL_SQ_QUANTIFIED): likewise.
- (SQL_SQLSTATE_SIZE): likewise.
- (SQL_SS_addITIONS): likewise.
- (SQL_SS_DELETIONS): likewise.
- (SQL_SS_UPDATES): likewise.
- (SQL_STATIC_SENSITIVITY): likewise.
- (SQL_STMT_OPT_MAX): likewise.
- (SQL_STMT_OPT_MIN): likewise.
- (SQL_STRING_FUNCTIONS): likewise.
- (SQL_SUBQUERIES): likewise.
- (SQL_SYSTEM_FUNCTIONS): likewise.
- (SQL_TABLE_STAT): likewise.
- (SQL_TABLE_TERM): likewise.
- (SQL_TIME): likewise.
- (SQL_TIMEDATE_add_INTERVALS): likewise.
- (SQL_TIMEDATE_DIFF_INTERVALS): likewise.
- (SQL_TIMEDATE_FUNCTIONS): likewise.
- (SQL_TIMESTAMP): likewise.
- (SQL_TINYINT): likewise.
- (SQL_TRANSLATE_DLL): likewise.
- (SQL_TRANSLATE_OPTION): likewise.
- (SQL_TXN_ISOLATION): likewise.
- (SQL_TXN_VERSIONING): likewise.
- (SQL_TYPE_DRIVER_END): likewise.
- (SQL_TYPE_DRIVER_START): likewise.
- (SQL_TYPE_MAX): likewise.
- (SQL_TYPE_MIN): likewise.
- (SQL_TYPE_NULL): likewise.
- (SQL_U_UNION): likewise.
- (SQL_U_UNION_ALL): likewise.
- (SQL_UB_DEFAULT): likewise.
- (SQL_UB_OFF): likewise.
- (SQL_UB_ON): likewise.
- (SQL_UNICODE): likewise.
- (SQL_UNICODE_CHAR): likewise.
- (SQL_UNICODE_LONGVARCHAR): likewise.
- (SQL_UNICODE_VARCHAR): likewise.
- (SQL_UNION): likewise.
- (SQL_UNSEARCHABLE): likewise.
- (SQL_UNSIGNED_OFFSET): likewise.
- (SQL_USE_BOOKMARKS): likewise.
- (SQL_VARBINARY): likewise.
- (SQL_TRUE): add define for ODBC3.x.
- (SQL_FALSE): likewise.
- (SQL_AM_CONNECTION): likewise.
- (SQL_AM_NONE): likewise.
- (SQL_AM_STATEMENT): likewise.
- (SQL_API_SQLALLOCHANDLE): likewise.
- (SQL_API_SQLBINDPARAM): likewise.
- (SQL_API_SQLCLOSECURSOR): likewise.
- (SQL_API_SQLCOLATTRIBUTE): likewise.
- (SQL_API_SQLCOPYDESC): likewise.
- (SQL_API_SQLENDTRAN): likewise.
- (SQL_API_SQLFETCHSCROLL): likewise.
- (SQL_API_SQLFREEHANDLE): likewise.
- (SQL_API_SQLGETCONNECTATTR): likewise.
- (SQL_API_SQLGETDESCFIELD): likewise.
- (SQL_API_SQLGETDESCREC): likewise.
- (SQL_API_SQLGETDIAGFIELD): likewise.
- (SQL_API_SQLGETDIAGREC): likewise.
- (SQL_API_SQLGETENVATTR): likewise.
- (SQL_API_SQLGETSTMTATTR): likewise.
- (SQL_API_SQLSETCONNECTATTR): likewise.
- (SQL_API_SQLSETDESCFIELD): likewise.
- (SQL_API_SQLSETDESCREC): likewise.
- (SQL_API_SQLSETENVATTR): likewise.
- (SQL_API_SQLSETSTMTATTR): likewise.
- (SQL_ARD_TYPE): likewise.
- (SQL_AT_add_CONSTRAINT): likewise.
- (SQL_ATTR_APP_PARAM_DESC): likewise.
- (SQL_ATTR_APP_ROW_DESC): likewise.
- (SQL_ATTR_AUTO_IPD): likewise.
- (SQL_ATTR_CURSOR_SCROLLABLE): likewise.
- (SQL_ATTR_CURSOR_SENSITIVITY): likewise.
- (SQL_ATTR_IMP_PARAM_DESC): likewise.
- (SQL_ATTR_IMP_ROW_DESC): likewise.
- (SQL_ATTR_METADATA_ID): likewise.
- (SQL_ATTR_OUTPUT_NTS): likewise.
- (SQL_CATALOG_NAME): likewise.
- (SQL_CODE_DATE): likewise.
- (SQL_CODE_TIME): likewise.
- (SQL_CODE_TIMESTAMP): likewise.
- (SQL_COLLATION_SEQ): likewise.
- (SQL_CURSOR_SENSITIVITY): likewise.
- (SQL_DATE_LEN): likewise.
- (SQL_DATETIME): likewise.
- (SQL_DEFAULT): likewise.
- (SQL_DESC_ALLOC_AUTO): likewise.
- (SQL_DESC_ALLOC_TYPE): likewise.
- (SQL_DESC_ALLOC_USER): likewise.
- (SQL_DESC_COUNT): likewise.
- (SQL_DESC_DATA_PTR): likewise.
- (SQL_DESC_DATETIME_INTERVAL_CODE): likewise.
- (SQL_DESC_INDICATOR_PTR): likewise.
- (SQL_DESC_LENGTH): likewise.
- (SQL_DESC_NAME): likewise.
- (SQL_DESC_NULLABLE): likewise.
- (SQL_DESC_OCTET_LENGTH): likewise.
- (SQL_DESC_OCTET_LENGTH_PTR): likewise.
- (SQL_DESC_PRECISION): likewise.
- (SQL_DESC_SCALE): likewise.
- (SQL_DESC_TYPE): likewise.
- (SQL_DESC_UNNAMED): likewise.
- (SQL_DESCRIBE_PARAMETER): likewise.
- (SQL_DIAG_ALTER_DOMAIN): likewise.
- (SQL_DIAG_ALTER_TABLE): likewise.
- (SQL_DIAG_CALL): likewise.
- (SQL_DIAG_CLASS_ORIGIN): likewise.
- (SQL_DIAG_CONNECTION_NAME): likewise.
- (SQL_DIAG_CREATE_ASSERTION): likewise.
- (SQL_DIAG_CREATE_CHARACTER_SET): likewise.
- (SQL_DIAG_CREATE_COLLATION): likewise.
- (SQL_DIAG_CREATE_DOMAIN): likewise.
- (SQL_DIAG_CREATE_INDEX): likewise.
- (SQL_DIAG_CREATE_SCHEMA): likewise.
- (SQL_DIAG_CREATE_TABLE): likewise.
- (SQL_DIAG_CREATE_TRANSLATION): likewise.
- (SQL_DIAG_CREATE_VIEW): likewise.
- (SQL_DIAG_DELETE_WHERE): likewise.
- (SQL_DIAG_DROP_ASSERTION): likewise.
- (SQL_DIAG_DROP_CHARACTER_SET): likewise.
- (SQL_DIAG_DROP_COLLATION): likewise.
- (SQL_DIAG_DROP_DOMAIN): likewise.
- (SQL_DIAG_DROP_INDEX): likewise.
- (SQL_DIAG_DROP_SCHEMA): likewise.
- (SQL_DIAG_DROP_TABLE): likewise.
- (SQL_DIAG_DROP_TRANSLATION): likewise.
- (SQL_DIAG_DROP_VIEW): likewise.
- (SQL_DIAG_DYNAMIC_DELETE_CURSOR): likewise.
- (SQL_DIAG_DYNAMIC_FUNCTION): likewise.
- (SQL_DIAG_DYNAMIC_FUNCTION_CODE): likewise.
- (SQL_DIAG_DYNAMIC_UPDATE_CURSOR): likewise.
- (SQL_DIAG_GRANT): likewise.
- (SQL_DIAG_INSERT): likewise.
- (SQL_DIAG_MESSAGE_TEXT): likewise.
- (SQL_DIAG_NATIVE): likewise.
- (SQL_DIAG_NUMBER): likewise.
- (SQL_DIAG_RETURNCODE): likewise.
- (SQL_DIAG_REVOKE): likewise.
- (SQL_DIAG_ROW_COUNT): likewise.
- (SQL_DIAG_SELECT_CURSOR): likewise.
- (SQL_DIAG_SERVER_NAME): likewise.
- (SQL_DIAG_SQLSTATE): likewise.
- (SQL_DIAG_SUBCLASS_ORIGIN): likewise.
- (SQL_DIAG_UNKNOWN_STATEMENT): likewise.
- (SQL_DIAG_UPDATE_WHERE): likewise.
- (SQL_FALSE): likewise.
- (SQL_FETCH_ABSOLUTE): likewise.
- (SQL_FETCH_LAST): likewise.
- (SQL_FETCH_PRIOR): likewise.
- (SQL_FETCH_RELATIVE): likewise.
- (SQL_HANDLE_DBC): likewise.
- (SQL_HANDLE_DESC): likewise.
- (SQL_HANDLE_ENV): likewise.
- (SQL_HANDLE_STMT): likewise.
- (SQL_INSENSITIVE): likewise.
- (SQL_INTEGRITY): likewise.
- (SQL_MAX_CATALOG_NAME_LEN): likewise.
- (SQL_MAX_CONCURRENT_ACTIVITIES): likewise.
- (SQL_MAX_DRIVER_CONNECTIONS): likewise.
- (SQL_MAX_IDENTIFIER_LEN): likewise.
- (SQL_MAX_SCHEMA_NAME_LEN): likewise.
- (SQL_MAXIMUM_CATALOG_NAME_LENGTH): likewise.
- (SQL_MAXIMUM_COLUMN_NAME_LENGTH): likewise.
- (SQL_MAXIMUM_COLUMNS_IN_GROUP_BY): likewise.
- (SQL_MAXIMUM_COLUMNS_IN_INDEX): likewise.
- (SQL_MAXIMUM_COLUMNS_IN_ORDER_BY): likewise.
- (SQL_MAXIMUM_COLUMNS_IN_SELECT): likewise.
- (SQL_MAXIMUM_CONCURRENT_ACTIVITIES): likewise.
- (SQL_MAXIMUM_CURSOR_NAME_LENGTH): likewise.
- (SQL_MAXIMUM_DRIVER_CONNECTIONS): likewise.
- (SQL_MAXIMUM_IDENTIFIER_LENGTH): likewise.
- (SQL_MAXIMUM_INDEX_SIZE): likewise.
- (SQL_MAXIMUM_ROW_SIZE): likewise.
- (SQL_MAXIMUM_SCHEMA_NAME_LENGTH): likewise.
- (SQL_MAXIMUM_STATEMENT_LENGTH): likewise.
- (SQL_MAXIMUM_TABLES_IN_SELECT): likewise.
- (SQL_MAXIMUM_USER_NAME_LENGTH): likewise.
- (SQL_NAMED): likewise.
- (SQL_NONSCROLLABLE): likewise.
- (SQL_NTSL): likewise.
- (SQL_NULL_HANDLE): likewise.
- (SQL_NULL_HDESC): likewise.
- (SQL_OUTER_JOIN_CAPABILITIES): likewise.
- (SQL_PRED_BASIC): likewise.
- (SQL_PRED_CHAR): likewise.
- (SQL_PRED_NONE): likewise.
- (SQL_ROW_IDENTIFIER): likewise.
- (SQL_SCROLLABLE): likewise.
- (SQL_SENSITIVE): likewise.
- (SQL_SUCCEEDED(rc)): likewise.
- (SQL_TIME_LEN): likewise.
- (SQL_TIMESTAMP_LEN): likewise.
- (SQL_TRANSACTION_CAPABLE): likewise.
- (SQL_TRANSACTION_ISOLATION_OPTION): likewise.
- (SQL_TRANSACTION_READ_COMMITTED): likewise.
- (SQL_TRANSACTION_READ_UNCOMMITTED): likewise.
- (SQL_TRANSACTION_REPEATABLE_READ): likewise.
- (SQL_TRANSACTION_SERIALIZABLE): likewise.
- (SQL_TYPE_DATE): likewise.
- (SQL_TYPE_TIME): likewise.
- (SQL_TYPE_TIMESTAMP): likewise.
- (SQL_UNKNOWN_TYPE): likewise.
- (SQL_UNNAMED): likewise.
- (SQL_UNSPECIFIED): likewise.
- (SQL_XOPEN_CLI_YEAR): likewise.
- (SQLAllocConnect): add comment marking as deperecated.
- (SQLAllocEnv): likewise.
- (SQLAllocStmt): likewise.
- (SQLFreeConnect): likewise.
- (SQLFreeEnv): likewise.
- (SQLGetConnectOption): likewise.
- (SQLGetStmtOption): likewise.
-
- * include/sqlext.h (#include <sqlucode.h>): add directive.
- (SQLSetScrollOptions): non-core function, move prototype from sql.h.
- (SQLColAttributes): likewise.
- (SQLBulkOperations): add function prototype.
- (SQLAllocHandleStd): likewise
- (TraceReturn): add Trace API prototype.
- (TraceVersion): likewise.
- (ODBCGetTryWaitValue):likewise.
- (ODBCSetTryWaitValue): likewise.
- (SQL_LOCK_RECORD): correct function macro.
- (SQL_REFRESH_RECORD): likewise.
- (SQLINTENGER and SQLUINTEGER): replace with SQLLEN and SQLULEN for
- _WIN64 compatability.
- move defines for non-core functions from sql.h to sqlext.h (refer
- changes for sql.h)
- (SQL_ACTIVE_ENVIRONMENTS): new ODBC3.x define
- (SQL_AD_ADD_CONSTRAINT_DEFERRABLE): likewise.
- (SQL_AD_ADD_CONSTRAINT_INITIALLY_DEFERRED): likewise.
- (SQL_AD_ADD_CONSTRAINT_INITIALLY_IMMEDIATE): likewise.
- (SQL_AD_ADD_CONSTRAINT_NON_DEFERRABLE): likewise.
- (SQL_AD_ADD_DOMAIN_CONSTRAINT): likewise.
- (SQL_AD_ADD_DOMAIN_DEFAULT): likewise.
- (SQL_AD_CONSTRAINT_NAME_DEFINITION): likewise.
- (SQL_AD_DROP_DOMAIN_CONSTRAINT): likewise.
- (SQL_AD_DROP_DOMAIN_DEFAULT): likewise.
- (SQL_AF_ALL): likewise.
- (SQL_AF_AVG): likewise.
- (SQL_AF_COUNT): likewise.
- (SQL_AF_DISTINCT): likewise.
- (SQL_AF_MAX): likewise.
- (SQL_AF_MIN): likewise.
- (SQL_AF_SUM): likewise.
- (SQL_AGGREGATE_FUNCTIONS): likewise.
- (SQL_ALL_CATALOGS): likewise.
- (SQL_ALL_SCHEMAS): likewise.
- (SQL_ALL_TABLE_TYPES): likewise.
- (SQL_ALTER_DOMAIN): likewise.
- (SQL_AM_CONNECTION): likewise.
- (SQL_AM_NONE): likewise.
- (SQL_AM_STATEMENT): likewise.
- (SQL_API_ODBC3_ALL_FUNCTIONS): likewise.
- (SQL_API_ODBC3_ALL_FUNCTIONS_SIZE): likewise.
- (SQL_API_SQLALLOCHANDLESTD): likewise.
- (SQL_API_SQLBULKOPERATIONS): likewise.
- (SQL_ASYNC_MODE): likewise.
- (SQL_AT_ADD_COLUMN_COLLATION): likewise.
- (SQL_AT_ADD_COLUMN_DEFAULT): likewise.
- (SQL_AT_ADD_COLUMN_SINGLE): likewise.
- (SQL_AT_ADD_TABLE_CONSTRAINT): likewise.
- (SQL_AT_CONSTRAINT_DEFERRABLE): likewise.
- (SQL_AT_CONSTRAINT_INITIALLY_DEFERRED): likewise.
- (SQL_AT_CONSTRAINT_INITIALLY_IMMEDIATE): likewise.
- (SQL_AT_CONSTRAINT_NAME_DEFINITION): likewise.
- (SQL_AT_CONSTRAINT_NON_DEFERRABLE): likewise.
- (SQL_AT_DROP_COLUMN_CASCADE): likewise.
- (SQL_AT_DROP_COLUMN_DEFAULT): likewise.
- (SQL_AT_DROP_COLUMN_RESTRICT): likewise.
- (SQL_AT_DROP_TABLE_CONSTRAINT_CASCADE): likewise.
- (SQL_AT_DROP_TABLE_CONSTRAINT_RESTRICT): likewise.
- (SQL_AT_SET_COLUMN_DEFAULT): likewise.
- (SQL_ATTR_ACCESS_MODE): likewise.
- (SQL_ATTR_ASYNC_ENABLE): likewise.
- (SQL_ATTR_AUTOCOMMIT): likewise.
- (SQL_ATTR_CONCURRENCY): likewise.
- (SQL_ATTR_CONNECTION_POOLING): likewise.
- (SQL_ATTR_CONNECTION_TIMEOUT): likewise.
- (SQL_ATTR_CP_MATCH): likewise.
- (SQL_ATTR_CURRENT_CATALOG): likewise.
- (SQL_ATTR_CURSOR_TYPE): likewise.
- (SQL_ATTR_DISCONNECT_BEHAVIOR): likewise.
- (SQL_ATTR_ENABLE_AUTO_IPD): likewise.
- (SQL_ATTR_ENLIST_IN_DTC): likewise.
- (SQL_ATTR_ENLIST_IN_XA): likewise.
- (SQL_ATTR_FETCH_BOOKMARK_PTR): likewise.
- (SQL_ATTR_KEYSET_SIZE): likewise.
- (SQL_ATTR_LOGIN_TIMEOUT): likewise.
- (SQL_ATTR_MAX_LENGTH): likewise.
- (SQL_ATTR_MAX_ROWS): likewise.
- (SQL_ATTR_NOSCAN): likewise.
- (SQL_ATTR_ODBC_CURSORS): likewise.
- (SQL_ATTR_ODBC_VERSION): likewise.
- (SQL_ATTR_PACKET_SIZE): likewise.
- (SQL_ATTR_PARAM_BIND_OFFSET_PTR): likewise.
- (SQL_ATTR_PARAM_BIND_TYPE): likewise.
- (SQL_ATTR_PARAM_OPERATION_PTR): likewise.
- (SQL_ATTR_PARAM_STATUS_PTR): likewise.
- (SQL_ATTR_PARAMS_PROCESSED_PTR): likewise.
- (SQL_ATTR_PARAMSET_SIZE): likewise.
- (SQL_ATTR_QUERY_TIMEOUT): likewise.
- (SQL_ATTR_QUIET_MODE): likewise.
- (SQL_ATTR_RETRIEVE_DATA): likewise.
- (SQL_ATTR_ROW_ARRAY_SIZE): likewise.
- (SQL_ATTR_ROW_BIND_OFFSET_PTR): likewise.
- (SQL_ATTR_ROW_BIND_TYPE): likewise.
- (SQL_ATTR_ROW_NUMBER): likewise.
- (SQL_ATTR_ROW_OPERATION_PTR): likewise.
- (SQL_ATTR_ROW_STATUS_PTR): likewise.
- (SQL_ATTR_ROWS_FETCHED_PTR): likewise.
- (SQL_ATTR_SIMULATE_CURSOR): likewise.
- (SQL_ATTR_TRACE): likewise.
- (SQL_ATTR_TRACEFILE): likewise.
- (SQL_ATTR_TRANSLATE_LIB): likewise.
- (SQL_ATTR_TRANSLATE_OPTION): likewise.
- (SQL_ATTR_TXN_ISOLATION): likewise.
- (SQL_ATTR_USE_BOOKMARKS): likewise.
- (SQL_BATCH_ROW_COUNT): likewise.
- (SQL_BATCH_SUPPORT): likewise.
- (SQL_BRC_EXPLICIT): likewise.
- (SQL_BRC_PROCEDURES): likewise.
- (SQL_BRC_ROLLED_UP): likewise.
- (SQL_BS_ROW_COUNT_EXPLICIT): likewise.
- (SQL_BS_ROW_COUNT_PROC): likewise.
- (SQL_BS_SELECT_EXPLICIT): likewise.
- (SQL_BS_SELECT_PROC): likewise.
- (SQL_C_INTERVAL_DAY): likewise.
- (SQL_C_INTERVAL_DAY_TO_HOUR): likewise.
- (SQL_C_INTERVAL_DAY_TO_MINUTE): likewise.
- (SQL_C_INTERVAL_DAY_TO_SECOND): likewise.
- (SQL_C_INTERVAL_HOUR): likewise.
- (SQL_C_INTERVAL_HOUR_TO_MINUTE): likewise.
- (SQL_C_INTERVAL_HOUR_TO_SECOND): likewise.
- (SQL_C_INTERVAL_MINUTE): likewise.
- (SQL_C_INTERVAL_MINUTE_TO_SECOND): likewise.
- (SQL_C_INTERVAL_MONTH): likewise.
- (SQL_C_INTERVAL_SECOND): likewise.
- (SQL_C_INTERVAL_YEAR): likewise.
- (SQL_C_INTERVAL_YEAR_TO_MONTH): likewise.
- (SQL_C_NUMERIC): likewise.
- (SQL_C_SBIGINT): likewise.
- (SQL_C_TYPE_DATE): likewise.
- (SQL_C_TYPE_TIME): likewise.
- (SQL_C_TYPE_TIMESTAMP): likewise.
- (SQL_C_UBIGINT): likewise.
- (SQL_C_VARBOOKMARK): likewise.
- (SQL_CA_CONSTRAINT_DEFERRABLE): likewise.
- (SQL_CA_CONSTRAINT_INITIALLY_DEFERRED): likewise.
- (SQL_CA_CONSTRAINT_INITIALLY_IMMEDIATE): likewise.
- (SQL_CA_CONSTRAINT_NON_DEFERRABLE): likewise.
- (SQL_CA_CREATE_ASSERTION): likewise.
- (SQL_CA1_ABSOLUTE): likewise.
- (SQL_CA1_BOOKMARK): likewise.
- (SQL_CA1_BULK_ADD): likewise.
- (SQL_CA1_BULK_DELETE_BY_BOOKMARK): likewise.
- (SQL_CA1_BULK_FETCH_BY_BOOKMARK): likewise.
- (SQL_CA1_BULK_UPDATE_BY_BOOKMARK): likewise.
- (SQL_CA1_LOCK_EXCLUSIVE): likewise.
- (SQL_CA1_LOCK_NO_CHANGE): likewise.
- (SQL_CA1_LOCK_UNLOCK): likewise.
- (SQL_CA1_NEXT): likewise.
- (SQL_CA1_POS_DELETE): likewise.
- (SQL_CA1_POS_POSITION): likewise.
- (SQL_CA1_POS_REFRESH): likewise.
- (SQL_CA1_POS_UPDATE): likewise.
- (SQL_CA1_POSITIONED_DELETE): likewise.
- (SQL_CA1_POSITIONED_UPDATE): likewise.
- (SQL_CA1_RELATIVE): likewise.
- (SQL_CA1_SELECT_FOR_UPDATE): likewise.
- (SQL_CA2_CRC_APPROXIMATE): likewise.
- (SQL_CA2_CRC_EXACT): likewise.
- (SQL_CA2_LOCK_CONCURRENCY): likewise.
- (SQL_CA2_MAX_ROWS_AFFECTS_ALL): likewise.
- (SQL_CA2_MAX_ROWS_CATALOG): likewise.
- (SQL_CA2_MAX_ROWS_DELETE): likewise.
- (SQL_CA2_MAX_ROWS_INSERT): likewise.
- (SQL_CA2_MAX_ROWS_SELECT): likewise.
- (SQL_CA2_MAX_ROWS_UPDATE): likewise.
- (SQL_CA2_OPT_ROWVER_CONCURRENCY): likewise.
- (SQL_CA2_OPT_VALUES_CONCURRENCY): likewise.
- (SQL_CA2_READ_ONLY_CONCURRENCY): likewise.
- (SQL_CA2_SENSITIVITY_ADDITIONS): likewise.
- (SQL_CA2_SENSITIVITY_DELETIONS): likewise.
- (SQL_CA2_SENSITIVITY_UPDATES): likewise.
- (SQL_CA2_SIMULATE_NON_UNIQUE): likewise.
- (SQL_CA2_SIMULATE_TRY_UNIQUE): likewise.
- (SQL_CA2_SIMULATE_UNIQUE): likewise.
- (SQL_CATALOG_LOCATION): likewise.
- (SQL_CATALOG_NAME_SEPARATOR): likewise.
- (SQL_CATALOG_TERM): likewise.
- (SQL_CATALOG_USAGE): likewise.
- (SQL_CCOL_CREATE_COLLATION): likewise.
- (SQL_CCS_COLLATE_CLAUSE): likewise.
- (SQL_CCS_CREATE_CHARACTER_SET): likewise.
- (SQL_CCS_LIMITED_COLLATION): likewise.
- (SQL_CDO_COLLATION): likewise.
- (SQL_CDO_CONSTRAINT): likewise.
- (SQL_CDO_CONSTRAINT_DEFERRABLE): likewise.
- (SQL_CDO_CONSTRAINT_INITIALLY_DEFERRED): likewise.
- (SQL_CDO_CONSTRAINT_INITIALLY_IMMEDIATE): likewise.
- (SQL_CDO_CONSTRAINT_NAME_DEFINITION): likewise.
- (SQL_CDO_CONSTRAINT_NON_DEFERRABLE): likewise.
- (SQL_CDO_CREATE_DOMAIN): likewise.
- (SQL_CDO_DEFAULT): likewise.
- (SQL_CL_END): likewise.
- (SQL_CL_START): likewise.
- (SQL_COL_PRED_BASIC): likewise.
- (SQL_COL_PRED_CHAR): likewise.
- (SQL_COLUMN_DRIVER_START): likewise.
- (SQL_COLUMN_IGNORE): likewise.
- (SQL_COLUMN_NUMBER_UNKNOWN): likewise.
- (SQL_CONVERT_GUID): likewise.
- (SQL_CONVERT_INTERVAL_DAY_TIME): likewise.
- (SQL_CONVERT_INTERVAL_YEAR_MONTH): likewise.
- (SQL_CONVERT_WCHAR): likewise.
- (SQL_CONVERT_WLONGVARCHAR): likewise.
- (SQL_CONVERT_WVARCHAR): likewise.
- (SQL_CP_DEFAULT): likewise.
- (SQL_CP_MATCH_DEFAULT): likewise.
- (SQL_CP_OFF): likewise.
- (SQL_CP_ONE_PER_DRIVER): likewise.
- (SQL_CP_ONE_PER_HENV): likewise.
- (SQL_CP_RELAXED_MATCH): likewise.
- (SQL_CP_STRICT_MATCH): likewise.
- (SQL_CREATE_ASSERTION): likewise.
- (SQL_CREATE_CHARACTER_SET): likewise.
- (SQL_CREATE_COLLATION): likewise.
- (SQL_CREATE_DOMAIN): likewise.
- (SQL_CREATE_SCHEMA): likewise.
- (SQL_CREATE_TABLE): likewise.
- (SQL_CREATE_TRANSLATION): likewise.
- (SQL_CREATE_VIEW): likewise.
- (SQL_CS_AUTHORIZATION): likewise.
- (SQL_CS_CREATE_SCHEMA): likewise.
- (SQL_CS_DEFAULT_CHARACTER_SET): likewise.
- (SQL_CT_COLUMN_COLLATION): likewise.
- (SQL_CT_COLUMN_CONSTRAINT): likewise.
- (SQL_CT_COLUMN_DEFAULT): likewise.
- (SQL_CT_COMMIT_DELETE): likewise.
- (SQL_CT_COMMIT_PRESERVE): likewise.
- (SQL_CT_CONSTRAINT_DEFERRABLE): likewise.
- (SQL_CT_CONSTRAINT_INITIALLY_DEFERRED): likewise.
- (SQL_CT_CONSTRAINT_INITIALLY_IMMEDIATE): likewise.
- (SQL_CT_CONSTRAINT_NAME_DEFINITION): likewise.
- (SQL_CT_CONSTRAINT_NON_DEFERRABLE): likewise.
- (SQL_CT_CREATE_TABLE): likewise.
- (SQL_CT_GLOBAL_TEMPORARY): likewise.
- (SQL_CT_LOCAL_TEMPORARY): likewise.
- (SQL_CT_TABLE_CONSTRAINT): likewise.
- (SQL_CTR_CREATE_TRANSLATION): likewise.
- (SQL_CU_DML_STATEMENTS): likewise.
- (SQL_CU_INDEX_DEFINITION): likewise.
- (SQL_CU_PRIVILEGE_DEFINITION): likewise.
- (SQL_CU_PROCEDURE_INVOCATION): likewise.
- (SQL_CU_TABLE_DEFINITION): likewise.
- (SQL_CVT_GUID): likewise.
- (SQL_CVT_INTERVAL_DAY_TIME): likewise.
- (SQL_CVT_INTERVAL_YEAR_MONTH): likewise.
- (SQL_CVT_WCHAR): likewise.
- (SQL_CVT_WLONGVARCHAR): likewise.
- (SQL_CVT_WVARCHAR): likewise.
- (SQL_DA_DROP_ASSERTION): likewise.
- (SQL_DATETIME_LITERALS): likewise.
- (SQL_DB_DEFAULT): likewise.
- (SQL_DB_DISCONNECT): likewise.
- (SQL_DB_RETURN_TO_POOL): likewise.
- (SQL_DC_DROP_COLLATION): likewise.
- (SQL_DCS_DROP_CHARACTER_SET): likewise.
- (SQL_DD_CASCADE): likewise.
- (SQL_DD_DROP_DOMAIN): likewise.
- (SQL_DD_RESTRICT): likewise.
- (SQL_DDL_INDEX): likewise.
- (SQL_DELETE_BY_BOOKMARK): likewise.
- (SQL_DESC_ARRAY_SIZE): likewise.
- (SQL_DESC_ARRAY_STATUS_PTR): likewise.
- (SQL_DESC_AUTO_UNIQUE_VALUE): likewise.
- (SQL_DESC_BASE_COLUMN_NAME): likewise.
- (SQL_DESC_BASE_TABLE_NAME): likewise.
- (SQL_DESC_BIND_OFFSET_PTR): likewise.
- (SQL_DESC_BIND_TYPE): likewise.
- (SQL_DESC_CASE_SENSITIVE): likewise.
- (SQL_DESC_CATALOG_NAME): likewise.
- (SQL_DESC_CONCISE_TYPE): likewise.
- (SQL_DESC_DATETIME_INTERVAL_PRECISION): likewise.
- (SQL_DESC_DISPLAY_SIZE): likewise.
- (SQL_DESC_FIXED_PREC_SCALE): likewise.
- (SQL_DESC_LABEL): likewise.
- (SQL_DESC_LITERAL_PREFIX): likewise.
- (SQL_DESC_LITERAL_SUFFIX): likewise.
- (SQL_DESC_LOCAL_TYPE_NAME): likewise.
- (SQL_DESC_MAXIMUM_SCALE): likewise.
- (SQL_DESC_MINIMUM_SCALE): likewise.
- (SQL_DESC_NUM_PREC_RADIX): likewise.
- (SQL_DESC_PARAMETER_TYPE): likewise.
- (SQL_DESC_ROWS_PROCESSED_PTR): likewise.
- (SQL_DESC_SCHEMA_NAME): likewise.
- (SQL_DESC_SEARCHABLE): likewise.
- (SQL_DESC_TABLE_NAME): likewise.
- (SQL_DESC_TYPE_NAME): likewise.
- (SQL_DESC_UNSIGNED): likewise.
- (SQL_DESC_UPDATABLE): likewise.
- (SQL_DI_CREATE_INDEX): likewise.
- (SQL_DI_DROP_INDEX): likewise.
- (SQL_DIAG_COLUMN_NUMBER): likewise.
- (SQL_DIAG_CURSOR_ROW_COUNT): likewise.
- (SQL_DIAG_ROW_NUMBER): likewise.
- (SQL_DL_SQL92_DATE): likewise.
- (SQL_DL_SQL92_INTERVAL_DAY): likewise.
- (SQL_DL_SQL92_INTERVAL_DAY_TO_HOUR): likewise.
- (SQL_DL_SQL92_INTERVAL_DAY_TO_MINUTE): likewise.
- (SQL_DL_SQL92_INTERVAL_DAY_TO_SECOND): likewise.
- (SQL_DL_SQL92_INTERVAL_HOUR): likewise.
- (SQL_DL_SQL92_INTERVAL_HOUR_TO_MINUTE): likewise.
- (SQL_DL_SQL92_INTERVAL_HOUR_TO_SECOND): likewise.
- (SQL_DL_SQL92_INTERVAL_MINUTE): likewise.
- (SQL_DL_SQL92_INTERVAL_MINUTE_TO_SECOND): likewise.
- (SQL_DL_SQL92_INTERVAL_MONTH): likewise.
- (SQL_DL_SQL92_INTERVAL_SECOND): likewise.
- (SQL_DL_SQL92_INTERVAL_YEAR): likewise.
- (SQL_DL_SQL92_INTERVAL_YEAR_TO_MONTH): likewise.
- (SQL_DL_SQL92_TIME): likewise.
- (SQL_DL_SQL92_TIMESTAMP): likewise.
- (SQL_DM_VER): likewise.
- (SQL_DRIVER_HDESC): likewise.
- (SQL_DROP_ASSERTION): likewise.
- (SQL_DROP_CHARACTER_SET): likewise.
- (SQL_DROP_COLLATION): likewise.
- (SQL_DROP_DOMAIN): likewise.
- (SQL_DROP_SCHEMA): likewise.
- (SQL_DROP_TABLE): likewise.
- (SQL_DROP_TRANSLATION): likewise.
- (SQL_DROP_VIEW): likewise.
- (SQL_DS_CASCADE): likewise.
- (SQL_DS_DROP_SCHEMA): likewise.
- (SQL_DS_RESTRICT): likewise.
- (SQL_DT_CASCADE): likewise.
- (SQL_DT_DROP_TABLE): likewise.
- (SQL_DT_RESTRICT): likewise.
- (SQL_DTC_DONE): likewise.
- (SQL_DTR_DROP_TRANSLATION): likewise.
- (SQL_DV_CASCADE): likewise.
- (SQL_DV_DROP_VIEW): likewise.
- (SQL_DV_RESTRICT): likewise.
- (SQL_DYNAMIC_CURSOR_ATTRIBUTES1): likewise.
- (SQL_DYNAMIC_CURSOR_ATTRIBUTES2): likewise.
- (SQL_EXT_API_LAST): likewise.
- (SQL_EXT_API_START): likewise.
- (SQL_FETCH_BY_BOOKMARK): likewise.
- (SQL_FETCH_FIRST_SYSTEM): likewise.
- (SQL_FETCH_FIRST_USER): likewise.
- (SQL_FN_CVT_CAST): likewise.
- (SQL_FN_STR_BIT_LENGTH): likewise.
- (SQL_FN_STR_CHAR_LENGTH): likewise.
- (SQL_FN_STR_CHARACTER_LENGTH): likewise.
- (SQL_FN_STR_OCTET_LENGTH): likewise.
- (SQL_FN_STR_POSITION): likewise.
- (SQL_FN_TD_CURRENT_DATE): likewise.
- (SQL_FN_TD_CURRENT_TIME): likewise.
- (SQL_FN_TD_CURRENT_TIMESTAMP): likewise.
- (SQL_FN_TD_EXTRACT): likewise.
- (SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES1): likewise.
- (SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES2): likewise.
- (SQL_FUNC_EXISTS(exists,api)): likewise.
- (SQL_GB_COLLATE): likewise.
- (SQL_HANDLE_SENV): likewise.
- (SQL_IK_ALL): likewise.
- (SQL_IK_ASC): likewise.
- (SQL_IK_DESC): likewise.
- (SQL_IK_NONE): likewise.
- (SQL_INDEX_KEYWORDS): likewise.
- (SQL_INFO_DRIVER_START): likewise.
- (SQL_INFO_LAST): likewise.
- (SQL_INFO_SCHEMA_VIEWS): likewise.
- (SQL_INITIALLY_DEFERRED): likewise.
- (SQL_INITIALLY_IMMEDIATE): likewise.
- (SQL_INSERT_STATEMENT): likewise.
- (SQL_INTERVAL): likewise.
- (SQL_IS_INSERT_LITERALS): likewise.
- (SQL_IS_INSERT_SEARCHED): likewise.
- (SQL_IS_INTEGER): likewise.
- (SQL_IS_POINTER): likewise.
- (SQL_IS_SELECT_INTO): likewise.
- (SQL_IS_SMALLINT): likewise.
- (SQL_IS_UINTEGER): likewise.
- (SQL_IS_USMALLINT): likewise.
- (SQL_ISV_ASSERTIONS): likewise.
- (SQL_ISV_CHARACTER_SETS): likewise.
- (SQL_ISV_CHECK_CONSTRAINTS): likewise.
- (SQL_ISV_COLLATIONS): likewise.
- (SQL_ISV_COLUMN_DOMAIN_USAGE): likewise.
- (SQL_ISV_COLUMN_PRIVILEGES): likewise.
- (SQL_ISV_COLUMNS): likewise.
- (SQL_ISV_CONSTRAINT_COLUMN_USAGE): likewise.
- (SQL_ISV_CONSTRAINT_TABLE_USAGE): likewise.
- (SQL_ISV_DOMAIN_CONSTRAINTS): likewise.
- (SQL_ISV_DOMAINS): likewise.
- (SQL_ISV_KEY_COLUMN_USAGE): likewise.
- (SQL_ISV_REFERENTIAL_CONSTRAINTS): likewise.
- (SQL_ISV_SCHEMATA): likewise.
- (SQL_ISV_SQL_LANGUAGES): likewise.
- (SQL_ISV_TABLE_CONSTRAINTS): likewise.
- (SQL_ISV_TABLE_PRIVILEGES): likewise.
- (SQL_ISV_TABLES): likewise.
- (SQL_ISV_TRANSLATIONS): likewise.
- (SQL_ISV_USAGE_PRIVILEGES): likewise.
- (SQL_ISV_VIEW_COLUMN_USAGE): likewise.
- (SQL_ISV_VIEW_TABLE_USAGE): likewise.
- (SQL_ISV_VIEWS): likewise.
- (SQL_KEYSET_CURSOR_ATTRIBUTES1): likewise.
- (SQL_KEYSET_CURSOR_ATTRIBUTES2): likewise.
- (SQL_MAX_ASYNC_CONCURRENT_STATEMENTS): likewise.
- (SQL_NO_COLUMN_NUMBER): likewise.
- (SQL_NO_ROW_NUMBER): likewise.
- (SQL_NOT_DEFERRABLE): likewise.
- (SQL_NUM_EXTENSIONS): likewise.
- (SQL_NUM_FUNCTIONS): likewise.
- (SQL_ODBC_INTERFACE_CONFORMANCE): likewise.
- (SQL_OIC_CORE): likewise.
- (SQL_OIC_LEVEL1): likewise.
- (SQL_OIC_LEVEL2): likewise.
- (SQL_OV_ODBC2): likewise.
- (SQL_OV_ODBC3): likewise.
- (SQL_PARAM_ARRAY_ROW_COUNTS): likewise.
- (SQL_PARAM_ARRAY_SELECTS): likewise.
- (SQL_PARAM_BIND_BY_COLUMN): likewise.
- (SQL_PARAM_BIND_TYPE_DEFAULT): likewise.
- (SQL_PARAM_DIAG_UNAVAILABLE): likewise.
- (SQL_PARAM_ERROR): likewise.
- (SQL_PARAM_IGNORE): likewise.
- (SQL_PARAM_PROCEED): likewise.
- (SQL_PARAM_SUCCESS): likewise.
- (SQL_PARAM_SUCCESS_WITH_INFO): likewise.
- (SQL_PARAM_UNUSED): likewise.
- (SQL_PARC_BATCH): likewise.
- (SQL_PARC_NO_BATCH): likewise.
- (SQL_PAS_BATCH): likewise.
- (SQL_PAS_NO_BATCH): likewise.
- (SQL_PAS_NO_SELECT): likewise.
- (SQL_ROW_IGNORE): likewise.
- (SQL_ROW_NUMBER_UNKNOWN): likewise.
- (SQL_ROW_PROCEED): likewise.
- (SQL_ROW_SUCCESS_WITH_INFO): likewise.
- (SQL_SC_FIPS127_2_TRANSITIONAL): likewise.
- (SQL_SC_SQL92_ENTRY): likewise.
- (SQL_SC_SQL92_FULL): likewise.
- (SQL_SC_SQL92_INTERMEDIATE): likewise.
- (SQL_SCC_ISO92_CLI): likewise.
- (SQL_SCC_XOPEN_CLI_VERSION1): likewise.
- (SQL_SCHEMA_TERM): likewise.
- (SQL_SCHEMA_USAGE): likewise.
- (SQL_SDF_CURRENT_DATE): likewise.
- (SQL_SDF_CURRENT_TIME): likewise.
- (SQL_SDF_CURRENT_TIMESTAMP): likewise.
- (SQL_SFKD_CASCADE): likewise.
- (SQL_SFKD_NO_ACTION): likewise.
- (SQL_SFKD_SET_DEFAULT): likewise.
- (SQL_SFKD_SET_NULL): likewise.
- (SQL_SFKU_CASCADE): likewise.
- (SQL_SFKU_NO_ACTION): likewise.
- (SQL_SFKU_SET_DEFAULT): likewise.
- (SQL_SFKU_SET_NULL): likewise.
- (SQL_SG_DELETE_TABLE): likewise.
- (SQL_SG_INSERT_COLUMN): likewise.
- (SQL_SG_INSERT_TABLE): likewise.
- (SQL_SG_REFERENCES_COLUMN): likewise.
- (SQL_SG_REFERENCES_TABLE): likewise.
- (SQL_SG_SELECT_TABLE): likewise.
- (SQL_SG_UPDATE_COLUMN): likewise.
- (SQL_SG_UPDATE_TABLE): likewise.
- (SQL_SG_USAGE_ON_CHARACTER_SET): likewise.
- (SQL_SG_USAGE_ON_COLLATION): likewise.
- (SQL_SG_USAGE_ON_DOMAIN): likewise.
- (SQL_SG_USAGE_ON_TRANSLATION): likewise.
- (SQL_SG_WITH_GRANT_OPTION): likewise.
- (SQL_SNVF_BIT_LENGTH): likewise.
- (SQL_SNVF_CHAR_LENGTH): likewise.
- (SQL_SNVF_CHARACTER_LENGTH): likewise.
- (SQL_SNVF_EXTRACT): likewise.
- (SQL_SNVF_OCTET_LENGTH): likewise.
- (SQL_SNVF_POSITION): likewise.
- (SQL_SP_BETWEEN): likewise.
- (SQL_SP_COMPARISON): likewise.
- (SQL_SP_EXISTS): likewise.
- (SQL_SP_IN): likewise.
- (SQL_SP_ISNOTNULL): likewise.
- (SQL_SP_ISNULL): likewise.
- (SQL_SP_LIKE): likewise.
- (SQL_SP_MATCH_FULL): likewise.
- (SQL_SP_MATCH_PARTIAL): likewise.
- (SQL_SP_MATCH_UNIQUE_FULL): likewise.
- (SQL_SP_MATCH_UNIQUE_PARTIAL): likewise.
- (SQL_SP_OVERLAPS): likewise.
- (SQL_SP_QUANTIFIED_COMPARISON): likewise.
- (SQL_SP_UNIQUE): likewise.
- (SQL_SQL_CONFORMANCE): likewise.
- (SQL_SQL92_DATETIME_FUNCTIONS): likewise.
- (SQL_SQL92_FOREIGN_KEY_DELETE_RULE): likewise.
- (SQL_SQL92_FOREIGN_KEY_UPDATE_RULE): likewise.
- (SQL_SQL92_GRANT): likewise.
- (SQL_SQL92_NUMERIC_VALUE_FUNCTIONS): likewise.
- (SQL_SQL92_PREDICATES): likewise.
- (SQL_SQL92_RELATIONAL_JOIN_OPERATORS): likewise.
- (SQL_SQL92_REVOKE): likewise.
- (SQL_SQL92_ROW_VALUE_CONSTRUCTOR): likewise.
- (SQL_SQL92_STRING_FUNCTIONS): likewise.
- (SQL_SQL92_VALUE_EXPRESSIONS): likewise.
- (SQL_SR_CASCADE): likewise.
- (SQL_SR_DELETE_TABLE): likewise.
- (SQL_SR_GRANT_OPTION_FOR): likewise.
- (SQL_SR_INSERT_COLUMN): likewise.
- (SQL_SR_INSERT_TABLE): likewise.
- (SQL_SR_REFERENCES_COLUMN): likewise.
- (SQL_SR_REFERENCES_TABLE): likewise.
- (SQL_SR_RESTRICT): likewise.
- (SQL_SR_SELECT_TABLE): likewise.
- (SQL_SR_UPDATE_COLUMN): likewise.
- (SQL_SR_UPDATE_TABLE): likewise.
- (SQL_SR_USAGE_ON_CHARACTER_SET): likewise.
- (SQL_SR_USAGE_ON_COLLATION): likewise.
- (SQL_SR_USAGE_ON_DOMAIN): likewise.
- (SQL_SR_USAGE_ON_TRANSLATION): likewise.
- (SQL_SRJO_CORRESPONDING_CLAUSE): likewise.
- (SQL_SRJO_CROSS_JOIN): likewise.
- (SQL_SRJO_EXCEPT_JOIN): likewise.
- (SQL_SRJO_FULL_OUTER_JOIN): likewise.
- (SQL_SRJO_INNER_JOIN): likewise.
- (SQL_SRJO_INTERSECT_JOIN): likewise.
- (SQL_SRJO_LEFT_OUTER_JOIN): likewise.
- (SQL_SRJO_NATURAL_JOIN): likewise.
- (SQL_SRJO_RIGHT_OUTER_JOIN): likewise.
- (SQL_SRJO_UNION_JOIN): likewise.
- (SQL_SRVC_DEFAULT): likewise.
- (SQL_SRVC_NULL): likewise.
- (SQL_SRVC_ROW_SUBQUERY): likewise.
- (SQL_SRVC_VALUE_EXPRESSION): likewise.
- (SQL_SSF_CONVERT): likewise.
- (SQL_SSF_LOWER): likewise.
- (SQL_SSF_SUBSTRING): likewise.
- (SQL_SSF_TRANSLATE): likewise.
- (SQL_SSF_TRIM_BOTH): likewise.
- (SQL_SSF_TRIM_LEADING): likewise.
- (SQL_SSF_TRIM_TRAILING): likewise.
- (SQL_SSF_UPPER): likewise.
- (SQL_STANDARD_CLI_CONFORMANCE): likewise.
- (SQL_STATIC_CURSOR_ATTRIBUTES1): likewise.
- (SQL_STATIC_CURSOR_ATTRIBUTES2): likewise.
- (SQL_SU_DML_STATEMENTS): likewise.
- (SQL_SU_INDEX_DEFINITION): likewise.
- (SQL_SU_PRIVILEGE_DEFINITION): likewise.
- (SQL_SU_PROCEDURE_INVOCATION): likewise.
- (SQL_SU_TABLE_DEFINITION): likewise.
- (SQL_SVE_CASE): likewise.
- (SQL_SVE_CAST): likewise.
- (SQL_SVE_COALESCE): likewise.
- (SQL_SVE_NULLIF): likewise.
- (SQL_UB_FIXED): likewise.
- (SQL_UB_VARIABLE): likewise.
- (SQL_UNION_STATEMENT): likewise.
- (SQL_UPDATE_BY_BOOKMARK): likewise.
- (SQL_US_UNION): likewise.
- (SQL_US_UNION_ALL): likewise.
- (SQL_DESC_ROWVER): likewise.
- (SQL_GUID): likewise.
- (SQL_C_GUID): likewise.
- (ODBC_STD): likewise.
- (SQLAllocHandle): likewise.
- (SQLAllocEnv(p)): likewise.
- (SQL_YEAR): likewise.
- (SQL_MONTH): likewise.
- (SQL_DAY): likewise.
- (SQL_HOUR): likewise.
- (SQL_MINUTE): likewise.
- (SQL_SECOND): likewise.
- (SQL_YEAR_TO_MONTH): likewise.
- (SQL_DAY_TO_HOUR): likewise.
- (SQL_DAY_TO_MINUTE): likewise.
- (SQL_DAY_TO_SECOND): likewise.
- (SQL_HOUR_TO_MINUTE): likewise.
- (SQL_HOUR_TO_SECOND): likewise.
- (SQL_MINUTE_TO_SECOND): likewise.
- (SQL_ATTR_ANSI_APP): likewise.
- (SQL_AA_TRUE): likewise.
- (SQL_AA_FALSE): likewise.
-
- * include/sqltypes.h (#pragma pack(push,1), #pragma pack(pop)): remove.
- (struct tagSQL_YEAR_MONTH): add for ODBC3.x.
- (struct tagSQL_DAY_SECOND): likewise.
- (struct tagSQL_INTERVAL_STRUCT): likewise.
- (struct tagSQL_NUMERIC_STRUCT): likewise.
- (struct tagSQLGUID): add for 0DBC3.50.
- (enum SQLINTERVAL): add for ODBC3.x.
- (SQLWCHAR): add typedef.
- (SQLTCHAR): add typedef, conditional on UNICODE.
- (SQLLEN): add typedef for _WIN64, define for _WIN32.
- (SQLULEN): likewise.
- (SQLROWOFFSET): likewise.
- (SQLROWCOUNT): likewise.
- (SQLTRANSID): likewise.
- (SQLSETPOSIROW): likewise.
- (SQLHANDLE): add ODBC3.x typedef.
- (SQLHDESC): likewise.
- (SQLDATE): likewise.
- (SQLDECIMAL): likewise.
- (SQLDOUBLE): likewise.
- (SQLFLOAT): likewise.
- (SQLNUMERIC): likewise.
- (SQLREAL): likewise.
- (SQLTIME): likewise.
- (SQLTIMESTAMP): likewise.
- (SQLVARCHAR): likewise.
- (SQLBIGINT): likewise.
- (SQLUBIGINT): likewise.
- (SQL_DATE_STRUCT): likewise.
- (SQL_TIME_STRUCT): likewise.
- (SQL_TIMESTAMP_STRUCT): likewise.
- (ODBCINT64): add ODBC3.x define.
-
- * lib/odbc32.def : regenerate.
-
-Fri Jan 26 15:59:31 2001 Earnie Boyd <earnie@users.sourceforge.net
-
- * Apply Danny Smith patch 102275
- 2000-11-05 Danny Smith <danny_r_smith_2001@yahoo.co.nz>
- * include/objbase.h: (COM_RIGHTS): Add definition.
- (tagSTDMSHLFLAGS): add enumeration.
- (CoInitializeEx): Add prototypes.
- (CoGetStdMarshalEx): ditto.
- (CoCreateInstanceEx): ditto.
- (CoInitializeSecurity): ditto.
- (CoGetCallContext): ditto.
- (CoQueryProxyBlanket): ditto.
- (CoSetProxyBlanket): ditto.
- (CoCopyProxy): ditto.
- (CoQueryClientBlanket): ditto.
- (CoImpersonateClient): ditto.
- (CoRevertToSelf): ditto.
- (CoQueryAuthenticationServices): ditto.
- (CoSwitchCallContext): ditto.
- (CoGetInstanceFromFile): ditto.
- (CoGetInstanceFromIStorage): ditto.
- * include/objidl.h: (SOLE_AUTHENTICATION_SERVICE): Add structure.
- (SOLE_AUTHENTICATION_INFO): ditto.
- (EOLE_AUTHENTICATION_CAPABILITIES): Add enumeration.
- (COLE_DEFAULT_PRINCIPAL): Add definition.
- (COLE_DEFAULT_AUTHINFO): Ditto.
- * include/rpcdce.h: (RPC_C_AUTHZ_DEFAULT): Add definition.
- (RPC_PROTSEQ_VECTOR) Fix typo.
- (RpcRaiseException): add DECLSPEC_NORETURN attribute.
- * include/winbase.h: (FreeLibraryAndExitThread): add DECLSPEC_NORETURN
- attribute.
-
-Fri Jan 26 13:34:55 2001 Earnie Boyde <earnie@users.sourceforge.net>
-
- * lib/msvcp60.def: Apply Danny Smith patch 103321.
- 2001-01-17 Danny Smith <danny_r_smith_2001@yahoo.co.nz>.
- New file.
-
-Fri Jan 26 11:34:04 2001 Christopher Faylor <cgf@cygnus.com>
-
- * include/winnt.h: Add PTOKEN_USER.
-
-Tue Jan 16 13:53:30 2001 Earnie Boyd <earnie@users.sourceforge.net>
-
- * include/sqlucode.h: Apply Danny Smith patch 102443
- 2000-11-20 Danny Smith <danny_r_smith_2001@yahoo.co.nz>
- New file.
-
-Tue Jan 16 13:36:45 2001 Earnie Boyd <earnie@users.sourceforge.net>
-
- * lib/odbccp32.def: Apply Danny Smith patch 102442
- 2000-11-20 Danny Smith <danny_r_smith_2001@yahoo.co.nz>
- New file.
-
-Tue Jan 16 12:45:20 2001 Earnie Boyd <earnie@users.sourceforge.net>
-
- * include/odbcinst.h: Apply Danny Smith patch 102441
- 2000-11-20 Danny Smith <danny_r_smith_2001@yahoo.co.nz>
- New file.
-
-Mon Dec 25 12:22:19 2000 Christopher Faylor <cgf@cygnus.com>
-
- * lib/Makefile.in: Don't make "links" to include/w32api directory.
-
-Wed Dec 20 13:34:00 2000 Corinna Vinschen <corinna@vinschen.de>
-
- * include/winbase.h: Add prototype for SetSecurityDescriptorControl.
-
-Mon Dec 11 13:11:36 2000 Christopher Faylor <cgf@cygnus.com>
-
- * lib/Makefile.in: Install headers and libraries in tooldir.
-
-2000-12-04 Danny Smith <danny_r_smith_2001@yahoo.co.nz>
-
- * include/winnls.h: NORM_IGNORE* remove duplicate defines.
- SORT_STRINGSORT: ditto.
- CMAP*: ditto.
- CTRY_*: add new defines.
- LGRPID_*: ditto.
- LCMAP*: change defines to hex notation.
- CALID: change from ULONG to DWORD.
- CALTYPE: ditto.
- _cpinfoex[AW]: add structure.
- FoldString: correct Unicode mappings.
- GetCPInfoEx[AW]: add prototypes.
- EnumCalendarInfoEx[AW]: ditto.
- EnumDateFormatsEx[AW]: ditto.
- EnumSystemLanguageGroups[AW]: ditto.
- EnumLanguageGroupLocales[AW]: ditto.
- EnumUILanguages[AW]: ditto.
- GetSystemDefaultUILanguage[AW]: ditto.
- GetUserDefaultUILanguage[AW]: ditto.
- IsValidLanguageGroup[AW]: ditto.
- CALINFO_ENUMPROCEX[AW]: add function pointer typedef
- LANGUAGEGROUP_ENUMPROC[AW]: ditto
- LANGGROUPLOCALE_ENUMPROC[AW]: ditto
- UILANGUAGE_ENUMPROC[AW]: ditto
- DATEFMT_ENUMPROCEX[AW]: ditto
- LPCURRENCYFMT[AW]: add structure pointer typedef
- LPNUMBERFMT[AW]: ditto
-
-Sun Dec 02 14:21:02 2000 Matt Hargett <matt@use.net>
-
- * include/winbase.h: Added a define for INVALID_SET_FILE_POINTER, a
- possible return code for the SetFilePointer() win32 API call.
-
-Mon Oct 9 11:49:00 2000 Corinna Vinschen <corinna@vinschen.de>
-
- * include/winnt.h: Add missing FILE_NAMED_STREAMS define.
-
-2000-11-06 Earnie Boyd <earnie_boyd@yahoo.com>
-
- * Makefile.in: increment VERSION.
- (dist:) Rename to srcdist. Create new dist target to call
- srcdist and bindist targets.
- (srcdist:) New target.
- (clean-top:) add call to mostlyclean-top and add rm of distribution
- tarballs.
- * lib/Makefile.in: (uninstall:) modify to remove files from the
- new w32api subdirectory and to remove w32api subdirectory.
- (xuninstall:) Ditto.
- TODO: Add a task to redo the clean targets of Makefile.in
-
-Fri Nov 3 21:50:47 2000 Christopher Faylor <cgf@cygnus.com>
-
- * lib/Makefile.in: Install header files in w32api subdirectory.
-
-2000-10-31 Earnie Boyd <earnie_boyd@yahoo.com>
-
- * CONTRIBUTIONS: New file.
- * README: Change the maintained by header.
- * TODO: Add a note about checking the TODO.
-
-2000-10-31 Earnie Boyd <earnie_boyd@yahoo.com>
-
- * Merge in accepted changes from
- 2000-10-23 Danny Smith <danny_r_smith_2001@yahoo.co.nz>
- * include/basetyps.h: add comment for GUID_DEFINED
- * include/lm.h: add includes for lmerr.h and lmserver.h
- * include/lmcons.h: add W2K typedefs LMSTR, LMCSTR
- * include/lmerr.h: add error codes
- * include/lmserver.h: replace LPTSTR with LPWSTR,
- LPTCSTR with LPWCSTR in structures and prototypes
- * include/lmshare.h: ditto
- * include/lmuse.h: ditto
- * include/lmstats.h: ditto
- * include/oleauto.h: add function prototype SystemTimeToVariantTime
- * include/winbase.h: change first argument of CommConfigDialog to const
- * include/windowsx.h: add macros defining FAR versions of
- mem and string functions for porting from Win16 code
- * include/winioctl.h: added IOCTL_STORAGE defines
- * include/winnetwk.h: added WNNC_NET flags
- * include/winnt.h: add include of <basetsd.h>;
- add structs; add pointer typedefs for TOKEN structs
- * include/winsock.h: add guard around BSD-ish typedefs
- * include/wtypes.h: new VARENUM enums, new WIN32/WIN64 compat. macros
- * include/basetsd.h: new file
- * include/raserror.h: ditto
- * include/rassapi.h: ditto
- * include/ras.h: ditto
- comment from Earnie: replaced original ras.h contribution with Danny's
- contribution as it is more complete.
- * include/rpcndr.h: add default definition for __RPCNDR_H_VERSION__
-
-Mon Oct 19 13:55:00 2000 Earnie Boyd <earnie_boyd@yahoo.com>
-
- * Makefile.in: increment VERSION. Change tar file name for dist and
- bindist targets to be more standard.
- * config.guess: Update with the currently published file.
- * config.sub: ditto.
- * configure.in: Use value of build_alias instead of testing for
- directory names to set BUILDENV.
- * configure: ditto.
- * lib/Makefile.in: Change the name of the targets install,
- install-headers and install-libraries to xinstall, xinstall-headers
- and xinstall-libraries for system target specified installation.
- Recreate targets install, install-headers and install-libraries for
- exec-prefix specified installation. Ditto for the uninstall targets of
- the same name.
-
-Mon Oct 9 11:49:00 2000 Corinna Vinschen <corinna@vinschen.de>
-
- * include/iprtrmib.h: Further layout changes according to standard.
- * include/iptypes.h: Ditto.
- * include/ntdef.h: Ditto.
- * include/ntsecapi.h: Ditto.
- * include/subauth.h: Ditto.
-
-Mon Oct 9 11:32:00 2000 Corinna Vinschen <corinna@vinschen.de>
-
- * include/ntsecapi.h: Fix PLSA_UNICODE_STRING define.
-
-Sun Oct 8 18:26:00 2000 Corinna Vinschen <corinna@vinschen.de>
-
- * include/ntsecapi.h: New file.
- * include/subauth.h: Ditto.
- * include/ipexport.h: Fix global header define not to contain
- trailing underscore. Change layout according to standard.
- * include/iphlpapi.h: Ditto.
- * include/ipifcons.h: Ditto.
- * include/iprtrmib.h: Ditto.
- * include/iptypes.h: Ditto.
- * include/ntdef.h: Ditto. Define conditional datatypes dependent
- of inclusion of ntsecapi.h and subauth.h.
- * lib/secur32.def: New stub for secur32.dll.
-
-Mon Oct 2 11:15:00 2000 Corinna Vinschen <corinna@vinschen.de>
-
- * include/ras.h: New file.
- * lib/rasapi32.def: Add symbols for RasEnumDevicesA and
- RasEnumDevicesW.
-
-Mon Oct 2 10:56:00 2000 Corinna Vinschen <corinna@vinschen.de>
-
- * include/ntdef.h: Add define for NTAPI.
-
-Sun Oct 1 23:55:00 2000 Corinna Vinschen <corinna@vinschen.de>
-
- * include/ipexport.h: Add missing `extern "C"' directives.
- * include/iphlpapi.h: Ditto.
- * include/iprtrmib.h: Ditto.
- * include/iptypes.h: Ditto.
-
-Sun Oct 1 22:09:00 2000 Corinna Vinschen <corinna@vinschen.de>
-
- * include/ipifcons.h: New header file.
- * include/iprtrmib.h: Move operational states to ipifcons.h.
- * include/iphlpapi.h: Add missing parameters to GetIfTable()
- declaration.
-
-Sun Oct 1 16:30:00 2000 Corinna Vinschen <corinna@vinschen.de>
-
- * include/iprtrmib.h: Add missing MIB_IF_OPER_STATUS_xxx definitions.
-
-Sun Oct 1 16:13:00 2000 Corinna Vinschen <corinna@vinschen.de>
-
- * lib/iphlpapi.def: New stub for iphlpapi.dll.
- * include/iptypes.h: New header file.
- * include/ipexport.h: Ditto.
- * include/iphlpapi.h: Ditto.
- * include/iprtrmib.h: Ditto.
-
-Sun Oct 1 2:54:00 2000 Corinna Vinschen <corinna@vinschen.de>
-
- * include/ntdef.h: New file.
-
-Fri Aug 18 17:17:00 2000 Corinna Vinschen <corinna@vinschen.de>
-
- * include/winnt.h:Add enums for TokenRestrictedSids and TokenSessionId
- to TOKEN_INFORMATION_CLASS type.
- Add QUOTA_LIMITS type.
-
-Tue Aug 8 21:29:00 2000 Corinna Vinschen <corinna@vinschen.de>
-
- * include/userenv.h: New header file.
- * lib/userenv.def: New stub for userenv.dll.
-
-Tue Aug 8 10:25:14 2000 Christopher Faylor <cgf@cygnus.com>
-
- * include/winuser.h: Correct PCWPSTRUCT typo.
- (discovered by Axel Riese)
-
-2000-07-27 DJ Delorie <dj@redhat.com>
-
- * include/windows.h: optimize non-inclusion of repeat headers
-
-Fri Jul 21 12:10:00 2000 Corinna Vinschen <corinna@vinschen.de>
-
- * include/winnt.h: Add missing typedefs for PTOKEN_SOURCE and
- LPTOKEN_SOURCE.
-
-2000-07-11 DJ Delorie <dj@cygnus.com>
-
- * include/shlobj.h: add CSIDL_COMMON_*
-
-Tue Jun 27 19:35:00 2000 Corinna Vinschen <corinna@vinschen.de>
-
- * include/winbase.h: Add stream ids BACKUP_OBJECT_ID,
- BACKUP_REPARSE_DATA and BACKUP_SPARSE_BLOCK.
- Add file open flags FILE_FLAG_OPEN_REPARSE_POINT and
- FILE_FLAG_OPEN_NO_RECALL.
- * winioctl.h: Add device io control codes FSCTL_GET_REPARSE_POINT,
- FSCTL_SET_REPARSE_POINT and FSCTL_DELETE_REPARSE_POINT.
- * winnt.h: Add typedef for GUID.
- Add file attributes FILE_ATTRIBUTE_ENCRYPTED,
- FILE_ATTRIBUTE_SPARSE_FILE, FILE_ATTRIBUTE_REPARSE_POINT and
- FILE_ATTRIBUTE_NOT_CONTENT_INDEXED.
- Add volume attributes FILE_VOLUME_QUOTAS, FILE_SUPPORTS_SPARSE_FILES,
- FILE_SUPPORTS_REPARSE_POINTS, FILE_SUPPORTS_REMOTE_STORAGE,
- FILE_SUPPORTS_OBJECT_IDS and FILE_SUPPORTS_ENCRYPTION.
- Add several reparse point defines and typedefs for REPARSE_DATA_BUFFER,
- REPARSE_GUID_DATA_BUFFER and REPARSE_POINT_INFORMATION.
- * lib/psapi.def: New file.
-
-Thu Jun 22 14:36:19 2000 Christopher Faylor <cgf@cygnus.com>
-
- * rpcdce.h: Protect OPTIONAL definition since it may be (legally)
- previously defined.
- * windef.h : Ditto.
-
-2000-06-14 Kazuhiro Fujieda <fujieda@jaist.ac.jp>
-
- * include/winnt.h: Add some missing defines related to locale
- identifiers. Translate values of LANG_* and SUBLANG_* into hexadecimal.
-
-Thu May 27 15:57:00 2000 Corinna Vinschen <corinna@vinschen.de>
-
- * include/wincrypt.h: Add missing CRYPT_MACHINE_KEYSET define.
-
-Thu May 18 11:37:00 2000 Corinna Vinschen <corinna@vinschen.de>
-
- * include/winnt.h: Add some missing TAPE_DRIVE_* defines.
-
-Wed Apr 26 11:04:18 2000 Christopher Faylor <cgf@cygnus.com>
-
- * include/wininet.h: Add another "INTERNET_OPTIONS".
-
-2000-04-25 Mumit Khan <khan@xraylith.wisc.edu>
-
- * include/winspool.h: Add 2 more PRINTER_ATTRIBUTE_* macros.
-
-2000-04-25 Martin Kotulla <martin-k@softmaker.de>
-
- * include/ddeml.h (DdeCreateStringHandle{A,W}): Fix prototype.
- * include/shlobj.h (IShellLink{A,W}::GetPath): Fix prototype.
- * include/wingdi.h: Add LPFNDEVMODE and LPFNDEVCAPS callbacks.
- * include/winuser.h: Add WM_* macros. Add PCOPYDATASTRUCT typedef.
-
-Mon Apr 10 22:58:25 2000 Christopher Faylor <cgf@cygnus.com>
-
- * include/winbase.h: Change first argument of ENUMRES* types to
- coincide with Microsoft usage.
-
-Sat Apr 1 20:51:47 2000 Christopher Faylor <cgf@cygnus.com>
-
- * include/wininet.h: Add three more "INTERNET_OPTIONS".
-
-2000-03-30 Mumit Khan <khan@xraylith.wisc.edu>
-
- * include/winbase.h (CreateHardLink{A,W}): Add prototypes.
- * include/winerror.h (ERROR_TOO_MANY_LINKS): Add macro.
- * include/winnt.h (SEC_*): Add macros.
- * lib/th32.def: Use Kernel32.dll instead of TH32.DLL.
- * include/ole.h: Workaround for C++ parser bug.
- * include/rpcdcep.h: Likewise.
- * include/winsock.h: Likewise.
-
-Sun Mar 26 13:41:47 2000 Christopher Faylor <cgf@cygnus.com>
-
- * include/winnt.h: Eliminate duplicate PCONTEXT and LPCONTEXT typedefs.
-
-2000-02-28 Mumit Khan <khan@xraylith.wisc.edu>
-
- Patches from Jan Nijtmans <j.nijtmans@chello.nl>:
- * include/wtypes.h (PBLOB, LPBLOB): Define.
- * include/winsock2.h: Much more complete version.
- (FD_SET, SOMAXCONN): Protect common macros defined by winsock.h.
-
- Patches from Jan Nijtmans <j.nijtmans@chello.nl>:
- * include/winsock.h (FD_CLR): Add missing ')'.
- (timercmp): Fix macro to handle all 6 comparison operators.
- (AF_FIREFOX, AF_UNKNOWN1, AF_BAN, AF_ATM, AF_INET6): Define.
- (AF_MAX): Update.
- (PF_FIREFOX, PF_UNKNOWN1, PF_BAN, PF_ATM, PF_INET6): Define.
-
- * include/largeint.h: Rename HAVE_INT64 macro to _HAVE_INT64 to avoid
- namespace pollution.
- * include/rpcndr.h: Likewise.
- * include/winnt.h: Likewise.
- * include/shlobj.h (SHGetDataFromIDList{A,W}): Fix typo.
- (SHGetSpecialFolderPath{A,W}): Add prototypes.
- * lib/ole32.def: Add missing exports.
- * include/winbase.h (TLS_MINIMUM_AVAILABLE): Move macro from here
- * include/winnt.h (TLS_MINIMUM_AVAILABLE): to here.
- (NT_TIB): Define.
- * include/tlhelp32.h: New file.
-
-Mon Feb 28 17:08:03 2000 Christopher Faylor <cgf@cygnus.com>
-
- * include/rapi.h: New file.
- * lib/rapi.def: New file.
-
-2000-02-11 Axel Riese <ariese@andromeda.risc.uni-linz.ac.at>
-
- * oaidl.h (LPTYPECOMP): Remove multiple definition.
-
-2000-02-03 Mumit Khan <khan@xraylith.wisc.edu>
-
- * Snapshot 2000-02-03.
-
-2000-01-21 Chris Faylor <cgf@cygnus.com>
-
- * include/winnt.h: Add ARM support.
-
-2000-01-19 Mumit Khan <khan@xraylith.wisc.edu>
-
- From Greg Primes <gregory.l.priem@intel.com>:
- * include/oaidl.h (DESCKIND): Define macro.
- (ITypeComp): Define interface.
- (ITypeComp): Likewise.
- * rpcndr.h (DECLSPEC_UUID): Define macro.
- (MIDL_INTERFACE): Likewise.
-
- * include/psapi.h: New file.
- * include/imagehlp.h: New file.
- * lib/imagehlp.def: New file.
-
- * include/oaidl.h (tagVARIANT): Update fields.
-
- From Craig Lanning <CraigL@DyCon.com>:
- * include/commctrl.h: Add some TCS_* macros.
- * include/winnls.h (IsValidLocale): Add prototype.
-
-2000-01-18 Mumit Khan <khan@xraylith.wisc.edu>
-
- * include/oaidl.h: OLE Patches from "Fifer, Eric"
- <EFifer@sanwaint.com> needed to build Win32::OLE perl module.
- * include/objbase.h: Likewise.
- * include/objidl.h: Likewise.
- * include/ocidl.h: New file.
- * include/oleauto.h: Likewise.
- * include/wtypes.h: Likewise.
- * lib/oleaut32.def: Likewise.
-
- * include/lmserver.h (NetServerTransportAddEx): Fix prototype.
- Thanks to "Jon Leichter" <jon@symas.com>.
- * include/commctrl.h (LVM_FINDITEM): Fix typo in macro.
- * include/winbase.h: Add GetLongPathName{A,W} prototypes.
- * include/shellapi.h (SHGetFileInfo): Add macro. Thanks to
- "Axel Riese" <ariese@andromeda.risc.uni-linz.ac.at>.
- (CommandLineToArgvW): Fix prototype. Thanks to "Frans E. van
- Dorsselaer" <frans@bia-bv.demon.nl>.
- * include/httpext.h: New file. Thanks to Jan Nijtmans
- <j.nijtmans@chello.nl>.
- * include/mmsystem.h (WAVEFORMATEX): Guard definition to avoid
- redefinition of LPCWAVEFORMATEX in DirectX headers.
- (CALLBACK_NULL): Define to be 0. Thanks to Krzysztof Nikiel
- <krzych00@priv7.onet.pl>.
- * include/sqlext.h (SQLDriverConnnect): Fix prototype.
- * include/windef.h (HRESULT): Guard definition to avoid
- redefinition in DirectX headers.
- * include/winnt.h: Add target macros from windows.h.
- * include/windows.h: Update synch comment for target macros.
- (_ANONYMOUS_STRUCT): Define for GCC 2.95 and newer.
- (_ANONYMOUS_UNION): Likewise.
- * include/wingdi.h (AbortPrinter): Move from here ...
- * include/winspool.h (AbortPrinter): to here and fix linkage.
- (MONITOR_INFO_2{A,W}): Define.
- * include/winsock.h (htons): Fix argument.
- (htonl): Likewise.
- * include/winsock2.h (SO_*, MAX_*, WSA_*): Add macros.
- (GROUP): Define.
- (GUID): Define conditionally.
- (WSAPROTOCOLCHAIN, WSAPROTOCOL_INFO): Define.
- (WSASocket*): Declare.
- * include/basetyps.h (GUID): Guard REGUID and LPGUID as well.
-
- * lib/dsetup.def: Remove leading underscore.
- * lib/dsound.def: Likewise.
- * lib/ws2_32.def: Likewise.
-
-Wed Dec 22 02:53:22 1999 Mumit Khan <khan@xraylith.wisc.edu>
-
- * include/windef.h (HMONITOR, HTERMINAL, HWINEVENTHOOK): Define
- handles.
-
- * lib/Makefile.in (EXTRA_OBJS): Add dinput.o.
- * lib/dinput.c: Include windows.h for GCC.
- * lib/dxguid.c: Likewise.
- (INITGUID): Define macro.
-
- * include/objidl.h (ISequentialStream): Define interface.
- (IStream): Derive from ISequentialStream.
-
- * include/objidl.h (IStream::{LockRegion, UnlockRegion, Stat,
- Clone}): Mark as PURE.
- (IDataObject::EnumDAdvise): Likewise.
- * include/oleidl.h (IDropSource::GiveFeedback): Likewise.
- (IViewObject::Unfreeze): Likewise.
- (IViewObject2::Unfreeze): Likewise.
-
- * include/objidl.h: Add various IID_ declarations.
- * include/olectl.h: Likewise.
- * include/oleidl.h: Likewise.
-
-Tue Dec 21 02:22:14 1999 Mumit Khan <khan@xraylith.wisc.edu>
-
- * Snapshot 1999-12-21.
-
- * include/winbase.h (CancelIO): Rename to CancelIo.
- * include/winsvc.h (LPHANDLER_FUNCTION): Fix prototype.
- * include/winuser.h (PEVENTMSG, LPEVENTMSG): Declare.
-
- * Merge with winsup-19991218.
- * include/winnt.h: Add defines for W2K ACL control flags.
-
- * Merge with Anders Norlander's 19991130 snapshot.
-
- * include/windows.h: #include mmsystem.h ifndef WIN32_LEAN_AND_MEAN.
- * include/winbase.h (EXCEPTION_INVALID_HANDLE): Define.
-
- Patch from Harold Weissfield
- * include/shellapi.h: Added some ABN_* defines.
-
- * include/commctrl.h (_TrackMouseEvent): Add prototype.
- * lib/comctl32.def (_TrackMouseEvent): Import.
- * include/winuser.h: Misc. fixes from Sang Cho
- <sangcho@alpha94.chongju.ac.kr>.
- * include/winuser.h (SM_CMETRICS): Define to 76 or 83 depending on
- value of _WIN32_WINNT.
- * include/winuser.h: Reorganize SM_* defines in numerical order.
-
-Tue Dec 14 21:58:03 1999 Mumit Khan <khan@xraylith.wisc.edu>
-
- * include/windef.h: Make RECTL a distinct type from RECT.
- * include/windows.h: Define upto 8 DUMMYUNIONNAMEs for DirectX.
- * include/winuser.h (CDS_): Update (Franco Bez <franco.bez@gmx.de>).
- (COMPAREITEMSTRUCT): Fix fields.
- (SERIALKEYSA): Likewise.
- (SERIALKEYSW): Likewise..
- * include/winbase.h (CRITICAL_SECTION_DEBUG): Likewise.
- (WIN32_FIND_DATAA): Likewise.
- (WIN32_FIND_DATAW): Likewise.
- * include/commdlg.h (SNDMSG): Define.
- * include/winsock.h (SO_UPDATE_ACCEPT_CONTEXT): Define.
- (SO_CONNECT_TIME): Likewise.
- (AcceptEx): Declare.
- (GetAcceptExSockaddrs): Likewise.
- * include/winsock2.h: Fix typo in #ifdef __cplusplus.
- * include/winspool.h: Add RC_INVOKED guard.
- * lib/wsock32.def (AcceptEx@32): Export.
- (GetAcceptExSockaddrs@32): Likewise.
-
-Thu Nov 18 00:12:43 1999 Mumit Khan <khan@xraylith.wisc.edu>
-
- * Snapshot 1999-11-18.
-
- * include/oaidl.h (tagVARIANT): Rename pbool to pboolVal needed by
- Octopod C++ IDE (and MSVC compatibility).
- * include/oleauto.h (V_BOOLREF(X)): Likewise.
- * include/shellapi.h (ShellAbout*): Fix typo.
- * wingdi.h (FW_ULTRABOLD): Likewise.
- * include/winnt.h (_TAPE_ERASE, _TAPE_PREPARE, _TAPE_SET_POSITION,
- _TAPE_WRITE_MARKS): Add missing fields and fix existing ones.
- Add packing directives for various structures. All structure
- sizes now conform to MSVC.
-
-Sun Nov 7 02:50:09 1999 Mumit Khan <khan@xraylith.wisc.edu>
-
- Released 1999-11-07.
-
-Sat Nov 6 21:25:48 1999 Mumit Khan <khan@xraylith.wisc.edu>
-
- * include/winsock2.h: New file. Mostly a stub for now.
- * include/winbase.h (DllMain): Delete prototype.
- * include/commctrl.h (Header_SetItem): Fix macro.
- * include/{isguids.h, lmerrlog.h, mcx.h, objfwd.h, olectl.h,
- regstr.h, richole.h, rpcdce.h, rpcdcep.h, rpcnsi.h, rpcproxy.h,
- shlguid.h, sqltypes.h, winperf.h}: Enclose in extern "C" if c++.
-
- Merge in changes from wxWindows.
- * include/basetyps.h (GUID_DEFINED, UUID_DEFINED): Add guards.
- * include/oaidl.h (DISPID_*): Add macros.
- (IID_ITypeLib, IID_ICreateTypeInfo, IID_ICreateTypeInfo2,
- IID_ICreateTypeLib, IID_ICreateTypeLib2, IID_ITypeInfo,
- IID_IErrorInfo, IID_IDispatch, IID_ICreateErrorInfo): Declare.
- * include/objidl.h (IDataObject): Fix EnumFormatEtc parameter.
-
- Merge in changes from Octopod C++ IDE group.
- * include/commctrl.h (NMHEADERA, NMHEADERW): Define.
- (Header_InsertItem): Fix macro.
- * include/oaidl.h (IID_IDispatch): Declare.
- (IID_ISupportErrorInfo): Likewise.
- (IDispatch): Rename Invoked to Invoke.
- * include/objidl.h (IPersist): Fix GetClassID.
- * include/oleauto.h (VectorFromBstr): Declare.
- (BstrFromVector): Likewise.
- * include/olectl.h (OLEMISC_*): Update.
- * include/olectlid.h (IID_IDispatch): Declare.
- * include/oleidl.h (IOleObject): Fix GetExtent and SetExtent.
- (IOleInPlaceFrame): Fix.
- (ISupportErrorInfo): Define.
- (IErrorInfo): Define.
- * include/winuser.h (SIF_TRACKPOS): Define.
-
-Wed Nov 3 19:34:12 1999 Mumit Khan <khan@xraylith.wisc.edu>
-
- Fix Merge errors:
- * include/winnt.h (PSID): Uncomment definition.
- (PISID): Rename from PSID.
- (struct _TAPE_GET_MEDIA_PARAMETER): Remove reserved field.
- (struct _SECURITY_ATTRIBUTES): Remove multiple definition.
-
- * include/lmalert.h, include/lmbrowsr.h, include/lmchdev.h,
- include/lmconfig.h, include/lmerrlog.h, include/lmmsg.h,
- include/lmremutl.h, include/lmrepl.h, include/lmserver.h,
- include/lmsvc.h, include/lmwksta.h, include/oaidl.h,
- include/shellapi.h, include/winbase.h, include/wingdi.h,
- include/winnt.h, include/winsock.h: Merged with winsup-19991026.
-
-Sun Oct 31 00:23:50 1999 Mumit Khan <khan@xraylith.wisc.edu>
-
- * include/wingdi.h (PHYSICAL*, SCALINGFACTOR*): New. From
- Marius Kjeldahl <kjeldahl@hotmail.com>.
-
-Sun Aug 29 18:07:42 1999 Mumit Khan <khan@xraylith.wisc.edu>
-
- * include/winnt.h (APPLICATION_ERROR_MASK): Add macros.
- (ERROR_SEVERITY_*): Likewise.
-
-Tue Aug 17 21:05:21 1999 Mumit Khan <khan@xraylith.wisc.edu>
-
- * include/winbase.h (TLS_OUT_OF_INDEXES): Add macro.
- (DllMain): Fix prototype.
-
-Mon Aug 2 23:31:30 1999 Mumit Khan <khan@xraylith.wisc.edu>
-
- * include/commdlg.h: Enclose within pack(push,1) and pack(pop).
- (cderr.h): Don't include.
- * include/winuser.h: Fix macro definitions.
-
-Mon Aug 02 14:31:37 1999 Anders Norlander <anorland@hem2.passagen.se>
-
- Merge with winsup 1999-07-29:
- * include/wincon.h (MOUSE_WHEELED): Define.
- * include/winnt.h (PSECURITY_ATTRIBUTES): Add type.
- (SECURITY_DESCRIPTOR): Add struct type.
- (PSECURITY_DESCRIPTOR): Pointer to above type. BEWARE: this type
- is equal to PVOID in the Platform SDK! So don't depend on accessing
- members through ->.
-
-Mon Aug 02 13:58:52 1999 Anders Norlander <anorland@hem2.passagen.se>
-
- * lib/Makefile.in (install-headers): Don't @ commands.
- (install-libraries): Ditto.
-
-Mon Aug 02 13:49:01 1999 Anders Norlander <anorland@hem2.passagen.se>
-
- * include/sqlext.h: Use #include <sql.h> instead of "sql.h".
-
-Mon Aug 02 13:47:15 1999 Anders Norlander <anorland@hem2.passagen.se>
-
- Patch from Mumit Khan:
- * include/windows.h: Fix typo in winsock.h include guard and add
- _UWIN to the list.
- * include/winnt.h (__int64): Undefine first.
- (struct _SID): Declare.
-
-Mon Aug 02 13:40:28 1999 Anders Norlander <anorland@hem2.passagen.se>
-
- * include/winnt.h: Add some REG_* defines reported by Boris Lantrewitz.
-
-Mon Aug 02 13:33:11 1999 Anders Norlander <anorland@hem2.passagen.se>
-
- Patch from Mumit Khan:
- * Makefile.in: Do the right thing when cross-compiling.
- * include/windef.h: Don't define _export and __export if already
- defined.
-
-Mon Aug 02 13:24:43 1999 Anders Norlander <anorland@hem2.passagen.se>
-
- * include/basetyps.h (DECLARE_INTERFACE): Use com_interface attribute.
- (DECLARE_INTERFACE_): Ditto.
-
-Mon Aug 02 13:17:26 1999 Anders Norlander <anorland@hem2.passagen.se>
-
- * include/mmsystem.h (HWAVEOUT): Fix missing ')'
-
- Reported by Brad Porter
- * include/wingdi.h (FW_ULTRALIGHT): Add.
- (FW_DEMIBOLD): Add.
- (FW_ULTRABOLD): Add.
- (FW_BLACK): Add.
- (JOHAB_CHARSET): Add.
- (VIETNAMESE_CHARSET): Add.
-
-
-1999-05-15 Anders Norlander <anorland@hem2.passagen.se>
-
- * lib/scrnsave.c (WinMain): Remove dependencies on C library.
- * lib/Makefile.in (Makefile): Regenerate.
- * include/pshpack[1248].h: New files, if a program would use any of
- them.
- * include/poppack.h: Ditto.
- * include/windef.h (_WIN32_WINNT): Define
- * include/windows.h: Remove DUMMYUNIONNAME[45].
- * include/windows.h: Correctly define _M_IX86 to reflect the target
- processor.
- * include/windows.h: Add preliminary support for other architectures.
- * include/winnt.h: Add CONTEXT structure for PPC and ALPHA.
- * include/winnt.h: Remove PACKED from U/LARGE_INTEGER
- * include/winnt.h (LUID_AND_ATTRIBUTES): Use pack(4) to solve alignment
- issue with LARGE_INTEGER.
- (ANSI_NULL): Define.
- (PSZ): Define.
- (ACL_REVISION[1234]): Define.
- (MIN/MAX_ACL_REVISION): Define.
- (PTCHAR): Define.
- (LANG_USER_DEFAULT): Define.
- (LANG_SYSTEM_DEFAULT): Define.
- (LOCALE_NEUTRAL): Define.
- (SORTVERSIONFROMLCID): Define.
- * include/windef.h (UNREFERENCED_PARAMETER): Define.
- (UNREFERENCED_LOCAL_VARIABLE): Define.
- (DBG_UNREFERENCED_PARAMETER): Define.
- (DBG_UNREFERENCED_LOCAL_VARIABLE): Define.
- * lib/mswsock.def: New file. Imports for mswsock.dll.
- * include/custcntl.h: New file. Necessary to compile some SDK
- samples.
- * include/winuser.h (SM_MOUSEWHEELPRESENT): Define.
- (WM_MOUSEWHEEL): Define.
- (WHEEL_DELTA): Define.
- (WM_MOUSELAST): Redefine to reflect WM_MOUSEWHEEL.
- (WM_NEXTMENU): Define.
- (CharNextA): Fix prototype.
- (CharNextW): Ditto.
-
-1999-05-14 Anders Norlander <anorland@hem2.passagen.se>
-
- * include/winsock.h: Enclose in extern "C" if C++, huh?
- * include/winuser.h(WM_SYNCPAINT): Define. From fltk.
-
-1999-05-13 Anders Norlander <anorland@hem2.passagen.se>
-
- * include/windef.h (NULL): Define only ifndef
- (TRUE): Ditto, was previously only defined ifndef FALSE
- (PASCAL): Define as _pascal
- (__pascal): Define
- (WINAPIV): Define
- (min,max): Define only ifndef NOMINMAX
-
-1999-05-10 Anders Norlander <anorland@hem2.passagen.se>
-
- * include/commctrl.h: Support for Date/Calendar controls + IE controls.
- You must define _WIN32_IE if you want support for it.
- Modified patch from Nirmal Prasad <nprasad@truept.com>.
-
-1999-05-10 Ron Aaron <v-ronaar@Exchange.Microsoft.com>
-
- * include/wincon.h: Add some ButtonState flags and EventFlags.
-
-1999-05-10 Anders Norlander <anorland@hem2.passagen.se>
-
- * include/basetyps.h: Don't support COM when __OBJC__ defined because
- interface define causes mayhem.
- (DEFINE_INTERFACE): Use comobject attribute only if HAVE_COMOBJECT is
- defined.
- * include/windows.h: Undefine BOOL if __OBJC__ defined
-
-1999-05-09 Chris Faylor <cgf@cygnus.com>
-
- * include/winnls.h: Define additional code pages.
-
-1999-05-09 Anders Norlander <anorland@hem2.passagen.se>
-
- * include/winbase.h(RtlFillMemory): Parameters got passed in wrong
- order, corrected.
- (RtlZeroMemory): Use RtlFillMemory
-
-1999-05-04 Anders Norlander <anorland@hem2.passagen.se>
-
- * include/winnt.h: Add PACKED to LARGE_INTEGER and ULARGE_INTEGER
- to get the correct size when used in some structs.
- (ULARGE_INTEGER): Ditto.
- * include/winnt.h (TAPE_CREATE_PARTITION): Add struct.
- * include/winnt.h: Add TAPE_* pointer types PTAPE_*
-
-1999-05-02 Nirmal Prasad <nprasad@truept.com>
-
- * include/wininet.h: Enclose in extern "C" if c++
- (INTERNET_BUFFERSA/W): Define struct
- * include/wininet.h: Add some HSR_* defines
-
-1999-05-02 Anders Norlander <anorland@hem2.passagen.se>
-
- * include/winnt.h (IMAGE_FIRST_SECTION): Prepend missing paren
- * include/winnt.h (UNALIGNED): Define
- * include/windef.h (DECLSPEC_NORETURN): Define
-
- * include/wininet.h (INTERNET_MAX_NAME): Remove
- (INTERNET_MAX_SCHEME_LENGTH): Define
- (INTERNET_MAX_URL_LENGTH): Use INTERNET_MAX_SCHEME_LENGTH
- * include/wininet.def: Completely redone, it was losing badly.
-
-1999-05-01 Anders Norlander <anorland@hem2.passagen.se>
-
- * lib/dplayx.def: Remove '_' prefixes
- * lib/shell32.def: Remove imports for IID_ContextMenu
-
-1999-04-29 Anders Norlander <anorland@hem2.passagen.se>
-
- * Makefile.in (dist): Support dist target
- * lib/Makefile.in (dist): Likewise
- * lib/Makefile.in (uninstall-headers): Fix command
- * Makefile.in (bindist): Target to build a prebuilt dist
-
- * lib/ws2_32.def: Winsock2 implib
-
- * include/largeint.h: New header
- * include/largeint.c: Large integer support library
- * lib/Makefile.in(EXTRA_LIBS): Add liblargeint.a
- (EXTRA_OBJS): Add largeint.o
-
- * include/Makefile: Remove
- * lib/Makefile: Remove
- * Makefile: Remove
- * configure.in: New autoconf script
- * configure: generated configure script
- * Makefile.in: autoconf makefile template
- * lib/Makefile.in: Ditto
- * include/test.c: mv to lib/test.c
- * include/res.rc: mv to lib/res.rc
- * include/TODO: mv to .
- * include/Notes: mv to ./NOTES
-
-1999-04-28 Anders Norlander <anorland@hem2.passagen.se>
-
- * include/zmouse.h (WHEEL_DELTA): Define
-
-Mon Apr 26 16:36:49 1999 Mumit Khan <khan@xraylith.wisc.edu>
-
- * include/ddeml.h (HSZPAIR): Declare.
- * include/zmouse.h: New file.
-
-1999-04-27 Daniel Guerrero Miralles <daniel.guerrero@upcnet.upc.es>
-
- * lib/d3dim.def: New implib
- * lib/d3drm.def: Ditto
- * lib/d3dxof.def: Ditto
- * lib/ddraw.def: Ditto
- * lib/dinput.def: Ditto
- * lib/dplayx.def: Ditto
- * lib/dsetup.def: Ditto
- * lib/dsound.def: Ditto
- * lib/dinput.c: Guid library for DirectInput
- * lib/dxguid.c: Guid library for DirectX
-
-1999-04-21 Anders Norlander <anorland@hem2.passagen.se>
-
- * include/windowsx.h (GET_X_LPARAM): Missing macro added (reported
- by Ron Aaron).
- * include/windowsx.h (GET_Y_LPARAM): Also missing
- * include/winnls.h (IsValidCodePage): Missing prototype added (reported
- by Mumit Khan).
-
-1999-04-18 Anders Norlander <anorland@hem2.passagen.se>
-
- * include/scrnsave.h: New header file for screen saver library
- * lib/scrnsave.c: New file: screen saver library
-
-1999-04-17 Anders Norlander <anorland@hem2.passagen.se>
-
- * include/regstr.h: Enclosed all strings in TEXT() macros so it
- works well in when UNICODE is defined
-
-1999-04-17 Nirmal Prasad <nprasad@truept.com>
-
- * include/winuser.h(STYLESTRUCT): New struct
- * include/wingdi.h:(GOBJENUMPROC): This function type should
- return void.
-
-1999-04-17 Anders Norlander <anorland@hem2.passagen.se>
-
- * include/basetyps.h (LPGUID): New typedef
- * lib/glut.def: Import library defintions for glut.dll
- * lib/glu32.def: Ditto for glut32.dll
- * include/winnt.h: Fixed handling of wchar_t typedef
- * include/sql.h(SQL_NO_DATA_FOUND): Replace with SQL_NO_DATA
- * include/sqlext.h(SQL_NO_DATA_FOUND): Define as SQL_NO_DATA
-
-1999-03-20 Anders Norlander <anorland@hem2.passagen.se>
-
- * include/winbase.h(AbnormalTermination): Define as FALSE
- * include/commctrl.h: Support for new progress bar messages/styles
-
-1999-03-20 Geoffrey Noer <noer@cygnus.com>
-
- * include/commdlg.h(PageSetupDlg): New define
- * include/richedit.h: Missing SCF_* defines
- * include/winnt.h: Lots o' defines
- * include/winbase.h(AllocateAndInitializeSid): Corrected prototype
-
-1999-03-09 Anders Norlander <anorland@hem2.passagen.se>
-
- * include/commdlg.h: Removed pack pragma
- * lib/comctl32.def(InitCommonControlsEx@4): Added import
-
-1999-03-08 Anders Norlander <anorland@hem2.passagen.se>
-
- * Makefile: Set version to 0.1.5
- * lib/Makefile (clean): Fix typo
-
- * include/commctrl.h: Removed pack pragma
- * include/cpl.h: Likewise
- * include/dbt.h: Likewise
- * include/dde.h: Likewise
- * include/nddeapi.h: Likewise
- * include/shellapi.h: Likewise
- * include/wincrypt.h: Likewise
- * include/lmaccess.h: Fixed USER_PRIV_ADMIN typo
-
- * include/winsock.h (netent): Define only ifndef __INSIDE_CYGWIN__
- (servent): Likewise
- (protoent): Likewise
-
- * include/windows.h: Prevent inclusion of winsock.h if we are
- using or compiling cygwin. Define Win32_Winsock to force inclusion.
-
-1999-01-08 Anders Norlander <anorland@hem2.passagen.se>
-
- * include/winbase.h (CREATE_FORCEDOS): New define
-
-1999-01-07 Anders Norlander <anorland@hem2.passagen.se>
-
- * include/wincon.h(KEY_EVENT_RECORD): Fixed packing problem on
- (COORD): Likewise
- * include/wingdi.h (BITMAPFILEHEADER): Fixed packing
- * include/windows.h: Added DUMMYUNIONNAME4 and 5
- * include/winnt.h (LUID_AND_ATTRIBUTES_ARRAY): New type
- (PLUID_AND_ATTRIBUTES_ARRAY): New type
-
- * include/ddeml.h: Removed unnecessary `#pragma pack'
- * include/imm.h: Likewise
- * include/nddeapi.h: Likewise
- * include/nspapi.h: Likewise
- * include/regstr.h: Likewise
- * include/wincon.h: Likewise
- * include/windef.h: Likewise
- * include/winioctl.h: Likewise
- * include/winnls.h: Likewise
- * include/winsvc.h: Likewise
- * include/winuser.h: Likewise
- * include/winver.h: Likewise
- * include/wtypes.h: Likewise
-
-1999-01-05 Anders Norlander <anorland@hem2.passagen.se>
-
- * Makefile (VERSION): Set to 0.1.4
- * include/basetyps.h: Check for NOCOMOBJECT
- * include/Makefile: Pass -DNOCOMOBJECT to g++ to avoid warnings
- on comobject attribute.
- * lib/kernel32.def: Added a few functions
- * include/windef.h (DWORD): Changed back to unsigned long
-
- * include/windows.h: Include only winresrc.h if RC_INVOKED is defined,
- winresrc.h in turn includes the necessary headers. This makes things
- much simpler, no need to protect blocks of code in headers that
- should not be seen by the resource compiler.
-
-1999-01-05 Geoffrey Noer <noer@cygnus.com>
-
- * include/winbase.h (STATUS_INVALID_HANDLE): Added define
- * include/wincon.h: Added console event type flags
- * include/winnt.h (FILE_SHARE_DELETE): Added
- (SECURITY_DESCRIPTOR): typedef as DWORD
-
- * include/winuser.h (WM_PENWINFIRST): Fixed typo
- * include/winsock.h: Protect some blocks with __INSIDE_CYGWIN_ and
- define u_* types only if _SYS_TYPES_H is not defined.
-
-1999-01-02 Anders Norlander <anorland@hem2.passagen.se>
-
- * COPYING.LIB: Deleted
- * README: Updated to reflect license changes
- * include/shlobj.h: Remove extra comma on some enums
- * include/windef.h: Changed DWORD typedef from unsigned long to
- unsigned int in order to avoid warnings on bit fields that
- use DWORD.
- * include/Makefile (test): Compile with all warnings
- * include/unknwn.h: Include objfwd.h
- * include/winsock.h: Added missing copyright notices.
-
-1999-01-01 Anders Norlander <anorland@hem2.passagen.se>
-
- * lib/winmm.def: Corrected LIBRARY statement
- * include/mmsystem.h: Define mmioSeek codes if not already defined
- * include/commctrl.h (CreateStatusWindowA): Corrected prototype
- (CreateStatusWindowW): Likewise
-
- * include/winresrc.h: Include only files necessary instead of windows.h
- * include/dde.h: Allow inclusion in resource scripts.
- * include/winnt.h: Likewise
- * include/commctrl.h: Likewise
- * include/prsht.h: Likewise
- * README: Updated
-
-1998-12-10 Anders Norlander <anorland@hem2.passagen.se>
-
- * include/sqltypes.h (SQLHANDLE): Added this type
- (SQLHDESC): Likewise
- * include/sql.h (SQLFreeHandle): Added this prototype
- (SQLAllocHandle): Likewise
-
-1998-12-08 Anders Norlander <anorland@hem2.passagen.se>
-
- * include/winsock.h: Define _GNU_H_WINDOWS32_SOCKETS to avoid
- conflicts with cygwin headers.
-
-1998-12-06 Anders Norlander <anorland@hem2.passagen.se>
-
- * Makefile: Changed VERSION to 0.1.3
- * Makefile (dist-lib): New target to make import library only
- distribution
- * Makefile (dist-hdr): New target to make headers only distribution
- * Makefile (dist): Now depends on dist-lib and dist-hdr instead of
- building one single distribution file.
- * dist.mak: Deleted
-
- * include/lm.h: New file
- * include/lmcons.h: New file
- * include/lmalert.h: New file
- * include/lmaudit.h: New file
- * include/lmconfig.h: New file
- * include/lmapibuf.h: New file
- * include/lmaccess.h: New file
- * include/lmchdev.h: New file
- * include/lmremutl.h: New file
- * include/lmrepl.h: New file
- * include/lmerrlog.h: New file
- * include/lmat.h: New file
- * include/lmuse.h: New file
- * include/lmuseflg.h: New file
- * include/lmserver.h: New file
- * include/lmerr.h: New file
- * include/lmsname.h: New file
- * include/lmstats.h: New file
- * include/lmsvc.h: New file
- * include/lmwksta.h: New file
- * include/lmbrowsr.h: New file
-
-1998-12-05 Anders Norlander <anorland@hem2.passagen.se>
-
- * include/unknwn.h: Fixed IClassFactory declaration; INTERFACE was missing
- * include/unknwn.h: Added extern declaration for IID_IClassFactory
-
- * include/initguid.h: New file
-
- * include/rpcndr.h: Defined hyper and MIDL_hyper as double if 64 bit
- int not supported
-
- * include/winnt.h: Added USN
- * include/winnt.h: Changed handling of 64 bit int support
-
- * include/windows.h: Added support for BC,LCC and MSVC
-
- * include/windows.h: Changed handling machine architecture defines
-
- * include/olectl.h: New file
-
-1998-12-04 Anders Norlander <anorland@hem2.passagen.se>
-
- * include/oleidl.h: Added IViewObject and IViewObject2
-
- * include/objidl: Corrected prototype for IStorage::DestroyElement and
- IStorage::MoveElement
-
- * include/oledlg.h: New file
-
- * include/winresrc.h: New file
-
- * include/wingdi.h: Added LPDOCINFO
-
- * include/commctrl.h: Added SBARS_SIZEGRIP and TVM_SETINDENT
- * include/commctrl.h: Added TCM_SETITEM to UNICODE/ANSI block
- * include/commctrl.h: Added ListView_GetSelectedCount, ListView_GetItemSpacing,
- TabCtrl_SetImageList and TabCtrl_GetItemCount
- * include/commctrl.h: Added TVM_FIRST, HDM_FIRST and TV_FIRST
-
- * include/windowsx.h: Added missing ListBox_xx ComboBox_xx etc. macros
-
- * include/wingdi.h: Added (L)PBITMAP,(L)PBITMAPCOREHEADER,
- PBITMAPINFOHEADER, (L)PBITMAPCOREINFO and (L)PBITMAPFILEHEADER.
-
- * include/commdlg.h: Added LPDEVNAMES
-
- * include/windows.h: Include excpt.h
-
- * include/excpt.h: New file. This file just contains some
- stubs for SEH that do nothing.
-
- * include/commctrl.h: Added general WM_NOTIFY codes
-
- * include/winuser.h: Added ICON_SMALL and ICON_BIG
- * include/winuser.h: Removed VK_0-VK_9 VK_A-VK_Z; they should obviously
- not be in the headers.
- * include/winuser.h: Added LPCBTACTIVATESTRUCT and LPCLIENTCREATESTRUCT
- * include/winuser.h: Added old WM_SIZE parameter names so
- wxWindows compiles.
- * include/winuser.h: Added IDC_SIZE and IDC_ICON
- * include/winuser.h: Added LPDLGITEMTEMPLATE
- * include/winuser.h: HTCAPTION was missing value
- * include/winuser.h: Added WM_ACTIVE flags
-
- * include/windowsx.h: Added _fmemcpy so V compiles; also added
- _fxx defines for memmove, memset and memcmp
-
- * include/windef.h: Changed _export and __export to empty defines
-
- * include/shellapi.h: Corrected prototypes for ExtractIcon functions.
- String parameters were not const and ExtractAssociatedIcon takes
- a WORD pointer not DWORD pointer as last parameter.
-
- * Makefile: Changed VERSION to 0.1.2
-
- * include/ole2ver.h: New file
-
- * Makefile: Removed all dependencies on GLUT
-
- * include/GL/glut.h: Removed file because of decision to remove
- files that are not part of the library.
- * lib/glut.def: Likewise
- * lib/glut32.def: Likewise
-
- * include/windows.h: Include winperf.h
-
- * include/winperf.h: New file
-
- * lib/gdi32.def: Added GetEnhMetaFilePixelFormat
-
- * include/winnls.h: Added calendar types
- * include/winnls.h: Added country codes
-
-1998-12-03 Anders Norlander <anorland@hem2.passagen.se>
-
- * include/windef.h: Added PROC and NEARPROC
-
- * include/wingdi.h: Added ChoosePixelFormat, DescribePixelFormat
- * include/wingdi.h: Added OpenGL types and prototypes
- * include/wingdi.h: Added ENHMETA_STOCK_OBJECT
- * include/wingdi.h: Added DCTT_DOWNLOAD_OUTLINE
- * include/wingdi.h: Added POINTFX, TTPOLYCURVE and TTPOLYGONHEADER
- * include/wingdi.h: Added truetype character outline types
- * include/wingdi.h: Added DEVMODE initialization flags
- * include/wingdi.h: Added panose codes
- * include/wingdi.h: Added missing character sets
- * include/wingdi.h: Added ANTIALIASED_QUALITY and
- NONANTIALIASED_QUALITY
- * include/wingdi.h: Added ENUMLOGFONTA/W and ENUMLOGFONTEXA/W
- * include/wingdi.h: Added pointer types for EXTLOGPEN
- * include/wingdi.h: Added PATTERN type
- * include/wingdi.h: Added NEWTEXTMETRICA/W and NEWTEXTMETRICEXA/W
- * include/wingdi.h: Added new text metric flags
- * include/wingdi.h: Added pitch and family flags
- * include/wingdi.h: Moved BCHAR defintion from winnt.h here
- * include/wingdi.h: Added METAHEADER
- * include/wingdi.h: Fixed packing of RGBTRIPLE and BITMAPFILEHEADER
- * include/wingdi.h: Added TA_MASK
- * include/wingdi.h: Added MAXSTRETCHBLTMODE
- * include/wingdi.h: Added error codes
-
- * include/winuser.h: Added missing winhelp structures
- * include/winuser.h: Added dialog flags/styles/messages
- * include/winuser.h: Added EM_SETMARGIN codes
- * include/winuser.h: Made it possiblie to use IDI_XX values
- in resource files.
- * include/winuser.h: Added missing LoadImage load flags
- * include/winuser.h: Added missing message box flags
- * include/winuser.h: Added ScrollWindow codes
- * include/winuser.h: Added DT_WORD_ELLIPSIS
- * include/winuser.h: Added drag and drop support
- * include/winuser.h: Added WM_MENUCHAR return codes
- * include/winuser.h: Added DLGWINDOWEXTRA
- * include/winuser.h: Added missing SetWindowPos flags.
- * include/winuser.h: Added BSF_NOTIMEOUTIFNOTHUNG
- * include/winuser.h: Added IDHOT_xx defines
- * include/winuser.h: Added MOD_WIN
- * include/winuser.h: Added missing defines and structs for owner draw
- controls.
- * include/winuser.h: Added WPF_RESTORETOMAXIMIZED and
- WPF_SETMINPOSITION
- * include/winuser.h: Added DrawAnimatedRects flags
- * include/winuser.h: Added WM_PRINT codes
- * include/winuser.h: Added CS_IME class style
- * include/winuser.h: Added WM_SIZE codes
- * include/winuser.h: Added WM_MOUSEACTIVATE return codes
- * include/winuser.h: Added WM_NCHITTEST return codes
- * include/winuser.h: Added WM_SIZING parameters
- * include/winuser.h: Added WM_NEXTMENU and MDINEXTMENU
- * include/winuser.h: Added menu loop codes.
- * include/winuser.h: Added NFR_ANSI, NFR_UNICODE, NF_QUERY and
- NF_REQUERY
- * include/winuser.h: Added WM_POWER flags
- * include/winuser.h: Added KL_NAMELENGTH, WSF_VISIBLE
- * include/winuser.h: Added missing message filter codes
- * include/winuser.h: Added WM_KEYXX message flags
- * include/winuser.h: Added WM_SHOWMESSAGE flags
- * include/winuser.h: Added old ShowWindow commands
- * include/winuser.h: Fixed packing of DLGITEMTEMPLATE and DLGTEMPLATE
- structures.
-
- * include/mciavi.h: New file for the MCI AVI driver that for some
- reason is not in mmsystem.h.
-
- * include/winbase.h: Added PIPE_UNLIMITED_INSTANCES and INVALID_FILE_SIZE
- * include/winbase.h: Added SECURITY_xx for CreateFile
- * include/winbase.h: Added RTS and DTS control values
- * include/winbase.h: Fixed SYSTEM_INFO structure
- * include/winbase.h: Added CREATE_NO_WINDOW, CREATE_SHARED_WOW_VDM
- * include/winbase.h: Added FILE_TYPE_REMOTE
- * include/winbase.h: Added modem status flags
- * include/winbase.h: Added HINSTANCE_ERROR
- * include/winbase.h: Added DefineDosDevice defines
- * include/winbase.h: Added power management flags AC_xx BATTERY_xx
- * include/winbase.h: Added STARTF_XX flags
- * include/winbase.h: Fixed typo on _lcreat prototype.
- * include/winbase.h: Moved DBG_XX to winnt.h
- * include/winbase.h: Moved TOKEN_XX, DLL_PROCESS_XX and DLL_THREAD_XX to
- winnt.h
-
- * include/unknwn.h: Added extern declaration of IID_IUnknown
-
- * include/windowsx.h: Added hmemcpy.
-
- * include/winnt.h: Added dummy member to DECLARE_HANDLE struct
- * include/winnt.h: Added PACCESS_TOKEN
- * include/winnt.h: Added TAPE_XX defines and moved some from winbase.h
- * include/winnt.h: Added SE_IMPERSONATION_STATE and TOKEN_SOURCE_LENGTH
- * include/winnt.h: Added SE_PRIVILEGE_ENABLED_BY_DEFAULT, SE_PRIVILEGE_ENABLED,
- SE_PRIVILEGE_USED_FOR_ACCESS, PRIVILEGE_SET_ALL_NECESSARY,
- SECURITY_MAX_IMPERSONATION_LEVEL, DEFAULT_IMPERSONATION_LEVEL,
- SECURITY_DYNAMIC_TRACKING and SECURITY_STATIC_TRACKING.
-
- * include/winnt.h: Added SE_OWNER_DEFAULTED, SE_GROUP_DEFAULTED, SE_DACL_XX,
- SE_SACL_XX, SE_SELF_RELATIVE, SECURITY_DESCRIPTOR_MIN_LENGTH,
- SECURITY_DESCRIPTOR_REVISION and SECURITY_DESCRIPTOR_REVISION1.
-
- * include/winsvc.h: Removed conflicting defines which were supposed
- to be in winnt.h
-
- * include/winnt.h: Added SERVICE_NODE_TYPE, SERVICE_LOAD_TYPE
- and SERVICE_ERROR_TYPE.
-
- * include/winnt.h: Added SERVICE_XX defines.
- * include/winsvc.h: Added SERVICES_ACTIVE_DATABASEA/W,
- SERVICES_FAILED_DATABASEA/W and SC_GROUP_IDENTIFIERA/W.
-
- * include/winsvc.h: Added SERVICE_STATE_ALL, SERVICE_QUERY_CONFIG,
- SERVICE_CHANGE_CONFIG, SERVICE_QUERY_STATUS, SERVICE_ENUMERATE_DEPENDENTS,
- SERVICE_START, SERVICE_STOP, SERVICE_PAUSE_CONTINUE,
- SERVICE_USER_DEFINED_CONTROL and SERVICE_ALL_ACCESS
-
-1998-12-02 Anders Norlander <anorland@hem2.passagen.se>
-
- * include/winbase.h: Corrected prototype for CreateProcessA
-
- * include/mmsystem.h: Added CAPS1 and C1_TRANSPARENT for display
- driver extensions.
-
- * include/shlobj.h: Corrected prototype for SHGetDesktopFolder, should
- be LPSHELLFOLDER* not LPSHELLFOLDER.
-
- * include/windows.h: Include commdlg.h
-
- * include/winuser.h: Added MDICREATESTRUCT
-
- * include/winuser.h: Added LB_ERR, LB_ERRSPACE, LB_OKAY, CB_ERR,
- CB_ERRSPACE, and CB_OKAY
-
- * include/wingdi.h: Added LPBITMAPINFOHEADER
-
- * include/rpcproxy.h: Removed IN, OUT and OPTIONAL since they
- are meaningless.
- * include/rpcdce2.h: Likewise.
-
- * lib/shell32.c: Moved GUID defintions from shlguid.h to this file.
-
- * include/richole.h: Replaced DEFINE_GUID with extern const GUID
- * include/olectlid.h: Likewise
- * include/shlguid.h: Likewise
-
- * include/coguid.h: Delete file since it was for 16 bit windows only.
-
- * lib/*.def: Appended .dll to library name where needed.
-
- * include/windef.h: Define _stdcall and __stdcall only if not
- previously defined instead of undefining first.
-
- * include/dlgs.h: Put RC_INVOKED around structure defs
-
- * include/intshcut.h: New file
- * include/isguids.h: New file
-
- * lib/uuid.c: Added all COM/OLE GUIDS I know and do not know about.
-
-1998-12-01 Anders Norlander <anorland@hem2.passagen.se>
-
- * include/winnt.h: Added check if _T is defined before defining it
-
- * include/windows.h: Include dlgs.h if WIN32_LEAN_AND_MEAN not defined
-
- * include/dlgs.h: New file
-
- * include/winbase.h: Removed DllEntryPoint define
-
- * include/winbase.h: Added SetupComm prototype
-
- * include/rpc.h: SEH RPC functions no longer defined since they weren't
- supported anyway.
-
- * include/basetyps.h: Removed use of COMOBJECT define, instead
- DECLARE_INTERFACE directly uses comobject attribute when GCC
- is used.
-
- * include/wtypes.h: STGC enum was missing typedef
-
- * include/objidl.h: ADVC enum was missing typedef
-
- * include/winnt.h: Moved CHAR, SHORT and LONG definitions so
- they are nested within the VOID definition.
-
- * include/winbase.h: Added stream ids and attributes
-
- * include/winbase.h: Changed WIN32_STREAM_ID member cStreamName
- to an ANYSIZE_ARRAY array.
-
-1998-11-26 Anders Norlander <anorland@hem2.passagen.se>
-
- * include/windef.h: defined _declspec as __declspec since
- some programs (like VWCL) use _declspec instead of __declspec
-
- * include/winnt.h: added COMPRESS_FORMAT defines
-
- * include/winbase.h: moved IS_TEXT_XXX defines to winnt.h
-
- * include/winnt.h: added HEAP_XXXX defines
-
- * include/winbase.h: moved HEAP_XXXX defines to winnt.h
-
- * include/winnt.h: added defintions for PE/COFF from the PE and COFF
- specification.
-
- * include/winnt.h: added NTAPI define
-
-1998-11-25 Anders Norlander <anorland@hem2.passagen.se>
-
- * include/winnt.h: defined TBYTE,LPTSTR etc in terms of TCHAR
- instead of CHAR or WCHAR.
-
- * include/winnt.h: added _T define
-
- * include/winnt.h: added test for _TCHAR_DEFINED
-
- * include/winnt.h: included string.h for memory macros
-
- * include/prsht.h: added PSM_SETFINISHTEXT to UNICODE/ANSI test
-
- * include/prsht.h: moved PSM_SETTITLEA/W to UNICODE test at end of file
-
- * include/prsht.h: added PropSheet_XXX macros
-
-
-1998-11-24 Anders Norlander <anorland@hem2.passagen.se>
-
- * include/winspool.h: Changed DeletePrinterProcessor and
- DeletePrinterProvidor to DeletePrintXX.
-
- * include/wingdi.h: Changed EMRCREATECOLORSPACE lcs member type to
- LOGCOLORSPACEW.
-
- * include/wingdi.h: Changed prototype for CreateColorSpace to A and W
- variants
-
- * include/wingdi.h: Likewise for GetLogColorSpace
-
- * include/wingdi.h: Changed LOGCOLORSPACE to LOGCOLORSPACEA/W.
-
- * include/richedit.h: Added missing defines and structures
-
- * include/winuser.h: Moved EDITWORDBREAKPROCEX to include/richedit.h
-
- * include/winuser.h: Added HWND_DESKTOP
-
-1998-11-23 Anders Norlander <anorland@hem2.passagen.se>
-
- * Makefile: Include ChangeLog when building source
- distribution (srcdist)
-
- * include/oleauto.h: Changed WINOLEAUTAPI and WINOLEAUTAPI_ so they
- are always defined as STDAPI and STDAPI_
-
- * include/objbase.h: Changed WINOLEAPI and WINOLEAPI_ so they
- are always defined as STDAPI and STDAPI_
-
- * include/objidl.h: Removed extra ';' on IStorage SetClass method
-
- * include/rpcndr.h: Removed all IN and OUT from function prototypes
-
- * ChangeLog started
diff --git a/winsup/w32api/Makefile.in b/winsup/w32api/Makefile.in
deleted file mode 100644
index 7f243befb..000000000
--- a/winsup/w32api/Makefile.in
+++ /dev/null
@@ -1,157 +0,0 @@
-#
-# Makefile.in
-#
-# This file is part of a free library for the Win32 API.
-#
-# This library 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.
-
-# start config section
-
-SHELL = @SHELL@
-
-srcdir = @srcdir@
-VPATH = @srcdir@
-
-build_alias = @build@
-host_alias = @host@
-target_alias = @target@
-prefix = @prefix@
-conf_prefix = @prefix@
-
-program_transform_name = @program_transform_name@
-exec_prefix = @exec_prefix@
-bindir = @bindir@
-libdir = @libdir@
-tooldir = $(exec_prefix)/$(target_alias)
-datadir = @datadir@
-infodir = @infodir@
-includedir = @includedir@
-
-CC = @CC@
-CC_FOR_TARGET = $(CC)
-CFLAGS = @CFLAGS@
-
-DLLTOOL = @DLLTOOL@
-AS = @AS@
-AS_FOR_TARGET = $(AS_FOR_TARGET)
-WINDRES = @WINDRES@
-
-RANLIB = @RANLIB@
-AR = @AR@
-LD = @LD@
-
-TAR = tar
-TARFLAGS = z
-TARFILEEXT = .tar.gz
-
-FLAGS_TO_PASS = \
- AS="$(AS)" \
- CC="$(CC)" \
- CPPFLAGS="$(CPPFLAGS)" \
- CFLAGS="$(CFLAGS)" \
- CXXFLAGS="$(CXXFLAGS)" \
- AR="$(AR)" \
- RANLIB="$(RANLIB)" \
- LD="$(LD)" \
- DLLTOOL="$(DLLTOOL)" \
- TAR="$(TAR)" \
- TARFLAGS="$(TARFLAGS)" \
- TARFILEEXT="$(TARFILEEXT)" \
- WINDRES="$(WINDRES)"
-
-# end config section
-
-SUBDIRS = lib
-
-PACKAGE = w32api
-VERSION = 3.5
-CYGRELEASE = 1
-
-DIST_FILES = Makefile.in configure.in configure config.guess config.sub \
-install-sh README.w32api ChangeLog TODO CONTRIBUTIONS
-
-all: lib
-
-%-subdirs:
- for i in $(SUBDIRS); do \
- $(MAKE) $(FLAGS_TO_PASS) -C $$i $*; \
- done
-
-lib:
- $(MAKE) $(FLAGS_TO_PASS) -C $@
-
-test:
- $(MAKE) -C lib test $(FLAGS_TO_PASS)
-
-install uninstall:
- for i in $(SUBDIRS); do \
- (cd $$i; $(MAKE) $@); \
- done
-
-ifdef SNAPDATE
- distdir = $(PACKAGE)-$(VERSION)-$(SNAPDATE)
-else
- ifneq (,$(findstring cygwin, $(target_alias)))
- distdir=$(PACKAGE)-$(VERSION)-$(CYGRELEASE)
- else
- distdir=$(PACKAGE)-$(VERSION)
- endif
-endif
-
-ifneq (,$(findstring mingw, $(target_alias)))
- dist_prefix=
-else
- dist_prefix=/$(conf_prefix)
-endif
-
-ifneq (,$(findstring cygwin, $(target_alias)))
- TARFLAGS = j
- TARFILEEXT = .tar.bz2
-endif
-
-dist: srcdist bindist
-
-srcdist:
- rm -rf $(distdir)
- mkdir $(distdir)
- chmod 755 $(distdir)
- for i in $(DIST_FILES); do \
- cp -p $(srcdir)/$$i $(distdir)/$$i ; \
- done
- for i in $(SUBDIRS); do \
- (cd $$i; $(MAKE) distdir=../$(distdir) dist); \
- done
- rm -f $(distdir)-src$(TARFILEEXT)
- $(TAR) $(TARFLAGS)cf $(distdir)-src$(TARFILEEXT) $(distdir)
-
-bindist:
- rm -rf $(distdir)
- mkdir $(distdir)
- chmod 755 $(distdir)
- $(MAKE) install prefix=`pwd`/$(distdir)$(dist_prefix) exec_prefix=`pwd`/$(distdir)$(dist_prefix)
- rm -f $(distdir)$(TARFILEEXT)
- cd $(distdir); $(TAR) $(TARFLAGS)cf ../$(distdir)$(TARFILEEXT) *
-
-snapshot:
- make dist SNAPDATE=$(shell date '+%Y%m%d')
-
-Makefile: Makefile.in config.status configure
- $(SHELL) config.status
-
-mostlyclean-top:
- rm -f *~
-clean-top: mostlyclean-top
- rm -rf $(distdir)
- rm -f $(distdir)*$(TARFILEEXT)
-maintainer-clean-top:
-
-mostlyclean: mostlyclean-top mostlyclean-subdirs
-clean: mostlyclean-top clean-subdirs
-distclean: clean-top
- rm -f Makefile config.status config.log config.cache TAGS *~
- $(MAKE) -C lib distclean
-maintainer-clean: maintainer-clean-subdirs
-
-.PHONY: lib test
diff --git a/winsup/w32api/README.w32api b/winsup/w32api/README.w32api
deleted file mode 100644
index f5b695066..000000000
--- a/winsup/w32api/README.w32api
+++ /dev/null
@@ -1,32 +0,0 @@
- Free headers and libraries for the Win32 API
-
- Originally written by Anders Norlander <anorland@telia.com>
-
- Now maintained by MinGW Developers
- Send bug reports and questions to MinGW-users@lists.sourceforge.net
- URL: http://www.mingw.org
- Individual contributors can be found in the ChangeLog file.
-
-Unless otherwise stated in individual source files,
-
- THIS SOFTWARE IS NOT COPYRIGHTED
-
- This source code is offered for use in the public domain. You may use,
- modify or distribute it freely.
-
- This source code is distributed in the hope that it will be useful but
- WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- DISCLAIMED. This includes but is not limited to warranties of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-
-Portions of winsock.h, winsock2.h and ws2tcpip.h are
-
- Copyright (c) 1980, 1983, 1988, 1993
- The Regents of the University of California. All rights reserved.
-
- Copyright (c) 1993 by Digital Equipment Corporation.
-
-gl.h is from the Mesa 3-D graphics library, Copyright (C) 1999-2001 Brian Paul All Rights Reserved.
-
-glext.h and glu.h are Copyright (c) 1991-2000 Silicon Graphics, Inc. and are subject to the SGI Free Software License B, Version 1.1
-
diff --git a/winsup/w32api/TODO b/winsup/w32api/TODO
deleted file mode 100644
index 9acfbbe71..000000000
--- a/winsup/w32api/TODO
+++ /dev/null
@@ -1,62 +0,0 @@
-Makefile.in: Need to redo the clean targets
-
-**Check to see if the rest of this is still valid?**
-
-winsock2.h - Possible to merge with winsock.h?
-listview control
-_WIN32_IE issue
-
-Missing functions/defines/structs
-=================================
-ATF_AVAILABLE
-SERKF_ACTIVE
-TIMER_ALL_ACCESS,TIMER_MODIFY_STATE (new style Win32 Access Control: accctrl)
-AbnormalTermination and other low-level exception handling macros/functions.
-GetExceptionCode
-GetExceptionInformation
-GetAuditedPermissionsFromAcl
-GetEffectiveRightsFromAcl
-GetExplicitEntriesFromAcl
-AcsLan
-BuildExplicitAccessWithName
-BuildImpersonateExplicitAccessWithName
-BuildImpersonateTrustee
-BuildSecurityDescriptor
-BuildTrusteeWithName
-BuildTrusteeWithSid
-GetMultipleTrustee
-GetMultipleTrusteeOperation
-GetNamedSecurityInfo
-GetSecurityInfo
-GetTrusteeForm
-GetTrusteeName
-GetTrusteeType
-PF_XXXX defines for IsProcessorFeaturePresent
-LookupSecurityDescriptorParts
-LSXXXX lsapi functions/types
-RASADFunc through RasValidateEntryName (RASAPI ras.h)
-SetEntriesInAcl
-SetNamedSecurityInfo
-SetSecurityInfo
-SetServiceBits
-SnmpExtensionInit through SnmpUtilVarBindListFree (mgmtapi.h/snmp.h
- Simple Network Management Protocol(SNMP))
-SOBailOut through SUUserSaveData, VwStreamCloseFunc through VwStreamTellFunc
- (File viewer/parser (quick view))
-WinSubmitCertificate (wintrust.h)
-WinTrustProviderClientInitialize through WinVerifyTrust
-EXPLICIT_ACCESS
-INotifyReplica (reconcil)
-
-OLE/COM:
-========
-oleidl.h
-oaidl.h
-ocidl.h
-Some GUIDs should be in libole32.a instead of libuuid.a
-
-Low priority
-============
-RASAPI
-MAPI
-directx (what about existing ports?)
diff --git a/winsup/w32api/config.guess b/winsup/w32api/config.guess
deleted file mode 100755
index 0e30d56e9..000000000
--- a/winsup/w32api/config.guess
+++ /dev/null
@@ -1,1407 +0,0 @@
-#! /bin/sh
-# Attempt to guess a canonical system name.
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-# 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
-
-timestamp='2003-07-02'
-
-# This file 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 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-#
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-# Originally written by Per Bothner <per@bothner.com>.
-# Please send patches to <config-patches@gnu.org>. Submit a context
-# diff and a properly formatted ChangeLog entry.
-#
-# This script attempts to guess a canonical system name similar to
-# config.sub. If it succeeds, it prints the system name on stdout, and
-# exits with 0. Otherwise, it exits with 1.
-#
-# The plan is that this can be called by configure scripts if you
-# don't specify an explicit build system type.
-
-me=`echo "$0" | sed -e 's,.*/,,'`
-
-usage="\
-Usage: $0 [OPTION]
-
-Output the configuration name of the system \`$me' is run on.
-
-Operation modes:
- -h, --help print this help, then exit
- -t, --time-stamp print date of last modification, then exit
- -v, --version print version number, then exit
-
-Report bugs and patches to <config-patches@gnu.org>."
-
-version="\
-GNU config.guess ($timestamp)
-
-Originally written by Per Bothner.
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
-Free Software Foundation, Inc.
-
-This is free software; see the source for copying conditions. There is NO
-warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
-
-help="
-Try \`$me --help' for more information."
-
-# Parse command line
-while test $# -gt 0 ; do
- case $1 in
- --time-stamp | --time* | -t )
- echo "$timestamp" ; exit 0 ;;
- --version | -v )
- echo "$version" ; exit 0 ;;
- --help | --h* | -h )
- echo "$usage"; exit 0 ;;
- -- ) # Stop option processing
- shift; break ;;
- - ) # Use stdin as input.
- break ;;
- -* )
- echo "$me: invalid option $1$help" >&2
- exit 1 ;;
- * )
- break ;;
- esac
-done
-
-if test $# != 0; then
- echo "$me: too many arguments$help" >&2
- exit 1
-fi
-
-trap 'exit 1' 1 2 15
-
-# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
-# compiler to aid in system detection is discouraged as it requires
-# temporary files to be created and, as you can see below, it is a
-# headache to deal with in a portable fashion.
-
-# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
-# use `HOST_CC' if defined, but it is deprecated.
-
-# Portable tmp directory creation inspired by the Autoconf team.
-
-set_cc_for_build='
-trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
-trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
-: ${TMPDIR=/tmp} ;
- { tmp=`(umask 077 && mktemp -d -q "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
- { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
- { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
- { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
-dummy=$tmp/dummy ;
-tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
-case $CC_FOR_BUILD,$HOST_CC,$CC in
- ,,) echo "int x;" > $dummy.c ;
- for c in cc gcc c89 c99 ; do
- if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
- CC_FOR_BUILD="$c"; break ;
- fi ;
- done ;
- if test x"$CC_FOR_BUILD" = x ; then
- CC_FOR_BUILD=no_compiler_found ;
- fi
- ;;
- ,,*) CC_FOR_BUILD=$CC ;;
- ,*,*) CC_FOR_BUILD=$HOST_CC ;;
-esac ;'
-
-# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
-# (ghazi@noc.rutgers.edu 1994-08-24)
-if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
- PATH=$PATH:/.attbin ; export PATH
-fi
-
-UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
-UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
-UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
-UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
-
-# Note: order is significant - the case branches are not exclusive.
-
-case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
- *:NetBSD:*:*)
- # NetBSD (nbsd) targets should (where applicable) match one or
- # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
- # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently
- # switched to ELF, *-*-netbsd* would select the old
- # object file format. This provides both forward
- # compatibility and a consistent mechanism for selecting the
- # object file format.
- #
- # Note: NetBSD doesn't particularly care about the vendor
- # portion of the name. We always set it to "unknown".
- sysctl="sysctl -n hw.machine_arch"
- UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
- /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
- case "${UNAME_MACHINE_ARCH}" in
- armeb) machine=armeb-unknown ;;
- arm*) machine=arm-unknown ;;
- sh3el) machine=shl-unknown ;;
- sh3eb) machine=sh-unknown ;;
- *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
- esac
- # The Operating System including object format, if it has switched
- # to ELF recently, or will in the future.
- case "${UNAME_MACHINE_ARCH}" in
- arm*|i386|m68k|ns32k|sh3*|sparc|vax)
- eval $set_cc_for_build
- if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
- | grep __ELF__ >/dev/null
- then
- # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
- # Return netbsd for either. FIX?
- os=netbsd
- else
- os=netbsdelf
- fi
- ;;
- *)
- os=netbsd
- ;;
- esac
- # The OS release
- # Debian GNU/NetBSD machines have a different userland, and
- # thus, need a distinct triplet. However, they do not need
- # kernel version information, so it can be replaced with a
- # suitable tag, in the style of linux-gnu.
- case "${UNAME_VERSION}" in
- Debian*)
- release='-gnu'
- ;;
- *)
- release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
- ;;
- esac
- # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
- # contains redundant information, the shorter form:
- # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
- echo "${machine}-${os}${release}"
- exit 0 ;;
- amiga:OpenBSD:*:*)
- echo m68k-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- arc:OpenBSD:*:*)
- echo mipsel-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- hp300:OpenBSD:*:*)
- echo m68k-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- mac68k:OpenBSD:*:*)
- echo m68k-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- macppc:OpenBSD:*:*)
- echo powerpc-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- mvme68k:OpenBSD:*:*)
- echo m68k-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- mvme88k:OpenBSD:*:*)
- echo m88k-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- mvmeppc:OpenBSD:*:*)
- echo powerpc-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- pmax:OpenBSD:*:*)
- echo mipsel-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- sgi:OpenBSD:*:*)
- echo mipseb-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- sun3:OpenBSD:*:*)
- echo m68k-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- wgrisc:OpenBSD:*:*)
- echo mipsel-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- *:OpenBSD:*:*)
- echo ${UNAME_MACHINE}-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- alpha:OSF1:*:*)
- if test $UNAME_RELEASE = "V4.0"; then
- UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
- fi
- # According to Compaq, /usr/sbin/psrinfo has been available on
- # OSF/1 and Tru64 systems produced since 1995. I hope that
- # covers most systems running today. This code pipes the CPU
- # types through head -n 1, so we only detect the type of CPU 0.
- ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1`
- case "$ALPHA_CPU_TYPE" in
- "EV4 (21064)")
- UNAME_MACHINE="alpha" ;;
- "EV4.5 (21064)")
- UNAME_MACHINE="alpha" ;;
- "LCA4 (21066/21068)")
- UNAME_MACHINE="alpha" ;;
- "EV5 (21164)")
- UNAME_MACHINE="alphaev5" ;;
- "EV5.6 (21164A)")
- UNAME_MACHINE="alphaev56" ;;
- "EV5.6 (21164PC)")
- UNAME_MACHINE="alphapca56" ;;
- "EV5.7 (21164PC)")
- UNAME_MACHINE="alphapca57" ;;
- "EV6 (21264)")
- UNAME_MACHINE="alphaev6" ;;
- "EV6.7 (21264A)")
- UNAME_MACHINE="alphaev67" ;;
- "EV6.8CB (21264C)")
- UNAME_MACHINE="alphaev68" ;;
- "EV6.8AL (21264B)")
- UNAME_MACHINE="alphaev68" ;;
- "EV6.8CX (21264D)")
- UNAME_MACHINE="alphaev68" ;;
- "EV6.9A (21264/EV69A)")
- UNAME_MACHINE="alphaev69" ;;
- "EV7 (21364)")
- UNAME_MACHINE="alphaev7" ;;
- "EV7.9 (21364A)")
- UNAME_MACHINE="alphaev79" ;;
- esac
- # A Vn.n version is a released version.
- # A Tn.n version is a released field test version.
- # A Xn.n version is an unreleased experimental baselevel.
- # 1.2 uses "1.2" for uname -r.
- echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
- exit 0 ;;
- Alpha*:OpenVMS:*:*)
- echo alpha-hp-vms
- exit 0 ;;
- Alpha\ *:Windows_NT*:*)
- # How do we know it's Interix rather than the generic POSIX subsystem?
- # Should we change UNAME_MACHINE based on the output of uname instead
- # of the specific Alpha model?
- echo alpha-pc-interix
- exit 0 ;;
- 21064:Windows_NT:50:3)
- echo alpha-dec-winnt3.5
- exit 0 ;;
- Amiga*:UNIX_System_V:4.0:*)
- echo m68k-unknown-sysv4
- exit 0;;
- *:[Aa]miga[Oo][Ss]:*:*)
- echo ${UNAME_MACHINE}-unknown-amigaos
- exit 0 ;;
- *:[Mm]orph[Oo][Ss]:*:*)
- echo ${UNAME_MACHINE}-unknown-morphos
- exit 0 ;;
- *:OS/390:*:*)
- echo i370-ibm-openedition
- exit 0 ;;
- arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
- echo arm-acorn-riscix${UNAME_RELEASE}
- exit 0;;
- SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
- echo hppa1.1-hitachi-hiuxmpp
- exit 0;;
- Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
- # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
- if test "`(/bin/universe) 2>/dev/null`" = att ; then
- echo pyramid-pyramid-sysv3
- else
- echo pyramid-pyramid-bsd
- fi
- exit 0 ;;
- NILE*:*:*:dcosx)
- echo pyramid-pyramid-svr4
- exit 0 ;;
- DRS?6000:unix:4.0:6*)
- echo sparc-icl-nx6
- exit 0 ;;
- DRS?6000:UNIX_SV:4.2*:7*)
- case `/usr/bin/uname -p` in
- sparc) echo sparc-icl-nx7 && exit 0 ;;
- esac ;;
- sun4H:SunOS:5.*:*)
- echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
- exit 0 ;;
- sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
- echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
- exit 0 ;;
- i86pc:SunOS:5.*:*)
- echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
- exit 0 ;;
- sun4*:SunOS:6*:*)
- # According to config.sub, this is the proper way to canonicalize
- # SunOS6. Hard to guess exactly what SunOS6 will be like, but
- # it's likely to be more like Solaris than SunOS4.
- echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
- exit 0 ;;
- sun4*:SunOS:*:*)
- case "`/usr/bin/arch -k`" in
- Series*|S4*)
- UNAME_RELEASE=`uname -v`
- ;;
- esac
- # Japanese Language versions have a version number like `4.1.3-JL'.
- echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
- exit 0 ;;
- sun3*:SunOS:*:*)
- echo m68k-sun-sunos${UNAME_RELEASE}
- exit 0 ;;
- sun*:*:4.2BSD:*)
- UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
- test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
- case "`/bin/arch`" in
- sun3)
- echo m68k-sun-sunos${UNAME_RELEASE}
- ;;
- sun4)
- echo sparc-sun-sunos${UNAME_RELEASE}
- ;;
- esac
- exit 0 ;;
- aushp:SunOS:*:*)
- echo sparc-auspex-sunos${UNAME_RELEASE}
- exit 0 ;;
- # The situation for MiNT is a little confusing. The machine name
- # can be virtually everything (everything which is not
- # "atarist" or "atariste" at least should have a processor
- # > m68000). The system name ranges from "MiNT" over "FreeMiNT"
- # to the lowercase version "mint" (or "freemint"). Finally
- # the system name "TOS" denotes a system which is actually not
- # MiNT. But MiNT is downward compatible to TOS, so this should
- # be no problem.
- atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
- echo m68k-atari-mint${UNAME_RELEASE}
- exit 0 ;;
- atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
- echo m68k-atari-mint${UNAME_RELEASE}
- exit 0 ;;
- *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
- echo m68k-atari-mint${UNAME_RELEASE}
- exit 0 ;;
- milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
- echo m68k-milan-mint${UNAME_RELEASE}
- exit 0 ;;
- hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
- echo m68k-hades-mint${UNAME_RELEASE}
- exit 0 ;;
- *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
- echo m68k-unknown-mint${UNAME_RELEASE}
- exit 0 ;;
- powerpc:machten:*:*)
- echo powerpc-apple-machten${UNAME_RELEASE}
- exit 0 ;;
- RISC*:Mach:*:*)
- echo mips-dec-mach_bsd4.3
- exit 0 ;;
- RISC*:ULTRIX:*:*)
- echo mips-dec-ultrix${UNAME_RELEASE}
- exit 0 ;;
- VAX*:ULTRIX*:*:*)
- echo vax-dec-ultrix${UNAME_RELEASE}
- exit 0 ;;
- 2020:CLIX:*:* | 2430:CLIX:*:*)
- echo clipper-intergraph-clix${UNAME_RELEASE}
- exit 0 ;;
- mips:*:*:UMIPS | mips:*:*:RISCos)
- eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
-#ifdef __cplusplus
-#include <stdio.h> /* for printf() prototype */
- int main (int argc, char *argv[]) {
-#else
- int main (argc, argv) int argc; char *argv[]; {
-#endif
- #if defined (host_mips) && defined (MIPSEB)
- #if defined (SYSTYPE_SYSV)
- printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
- #endif
- #if defined (SYSTYPE_SVR4)
- printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
- #endif
- #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
- printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
- #endif
- #endif
- exit (-1);
- }
-EOF
- $CC_FOR_BUILD -o $dummy $dummy.c \
- && $dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \
- && exit 0
- echo mips-mips-riscos${UNAME_RELEASE}
- exit 0 ;;
- Motorola:PowerMAX_OS:*:*)
- echo powerpc-motorola-powermax
- exit 0 ;;
- Motorola:*:4.3:PL8-*)
- echo powerpc-harris-powermax
- exit 0 ;;
- Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
- echo powerpc-harris-powermax
- exit 0 ;;
- Night_Hawk:Power_UNIX:*:*)
- echo powerpc-harris-powerunix
- exit 0 ;;
- m88k:CX/UX:7*:*)
- echo m88k-harris-cxux7
- exit 0 ;;
- m88k:*:4*:R4*)
- echo m88k-motorola-sysv4
- exit 0 ;;
- m88k:*:3*:R3*)
- echo m88k-motorola-sysv3
- exit 0 ;;
- AViiON:dgux:*:*)
- # DG/UX returns AViiON for all architectures
- UNAME_PROCESSOR=`/usr/bin/uname -p`
- if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
- then
- if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
- [ ${TARGET_BINARY_INTERFACE}x = x ]
- then
- echo m88k-dg-dgux${UNAME_RELEASE}
- else
- echo m88k-dg-dguxbcs${UNAME_RELEASE}
- fi
- else
- echo i586-dg-dgux${UNAME_RELEASE}
- fi
- exit 0 ;;
- M88*:DolphinOS:*:*) # DolphinOS (SVR3)
- echo m88k-dolphin-sysv3
- exit 0 ;;
- M88*:*:R3*:*)
- # Delta 88k system running SVR3
- echo m88k-motorola-sysv3
- exit 0 ;;
- XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
- echo m88k-tektronix-sysv3
- exit 0 ;;
- Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
- echo m68k-tektronix-bsd
- exit 0 ;;
- *:IRIX*:*:*)
- echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
- exit 0 ;;
- ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
- echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
- exit 0 ;; # Note that: echo "'`uname -s`'" gives 'AIX '
- i*86:AIX:*:*)
- echo i386-ibm-aix
- exit 0 ;;
- ia64:AIX:*:*)
- if [ -x /usr/bin/oslevel ] ; then
- IBM_REV=`/usr/bin/oslevel`
- else
- IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
- fi
- echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
- exit 0 ;;
- *:AIX:2:3)
- if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
- eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
- #include <sys/systemcfg.h>
-
- main()
- {
- if (!__power_pc())
- exit(1);
- puts("powerpc-ibm-aix3.2.5");
- exit(0);
- }
-EOF
- $CC_FOR_BUILD -o $dummy $dummy.c && $dummy && exit 0
- echo rs6000-ibm-aix3.2.5
- elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
- echo rs6000-ibm-aix3.2.4
- else
- echo rs6000-ibm-aix3.2
- fi
- exit 0 ;;
- *:AIX:*:[45])
- IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
- if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
- IBM_ARCH=rs6000
- else
- IBM_ARCH=powerpc
- fi
- if [ -x /usr/bin/oslevel ] ; then
- IBM_REV=`/usr/bin/oslevel`
- else
- IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
- fi
- echo ${IBM_ARCH}-ibm-aix${IBM_REV}
- exit 0 ;;
- *:AIX:*:*)
- echo rs6000-ibm-aix
- exit 0 ;;
- ibmrt:4.4BSD:*|romp-ibm:BSD:*)
- echo romp-ibm-bsd4.4
- exit 0 ;;
- ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and
- echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to
- exit 0 ;; # report: romp-ibm BSD 4.3
- *:BOSX:*:*)
- echo rs6000-bull-bosx
- exit 0 ;;
- DPX/2?00:B.O.S.:*:*)
- echo m68k-bull-sysv3
- exit 0 ;;
- 9000/[34]??:4.3bsd:1.*:*)
- echo m68k-hp-bsd
- exit 0 ;;
- hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
- echo m68k-hp-bsd4.4
- exit 0 ;;
- 9000/[34678]??:HP-UX:*:*)
- HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
- case "${UNAME_MACHINE}" in
- 9000/31? ) HP_ARCH=m68000 ;;
- 9000/[34]?? ) HP_ARCH=m68k ;;
- 9000/[678][0-9][0-9])
- if [ -x /usr/bin/getconf ]; then
- sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
- sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
- case "${sc_cpu_version}" in
- 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
- 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
- 532) # CPU_PA_RISC2_0
- case "${sc_kernel_bits}" in
- 32) HP_ARCH="hppa2.0n" ;;
- 64) HP_ARCH="hppa2.0w" ;;
- '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20
- esac ;;
- esac
- fi
- if [ "${HP_ARCH}" = "" ]; then
- eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
-
- #define _HPUX_SOURCE
- #include <stdlib.h>
- #include <unistd.h>
-
- int main ()
- {
- #if defined(_SC_KERNEL_BITS)
- long bits = sysconf(_SC_KERNEL_BITS);
- #endif
- long cpu = sysconf (_SC_CPU_VERSION);
-
- switch (cpu)
- {
- case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
- case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
- case CPU_PA_RISC2_0:
- #if defined(_SC_KERNEL_BITS)
- switch (bits)
- {
- case 64: puts ("hppa2.0w"); break;
- case 32: puts ("hppa2.0n"); break;
- default: puts ("hppa2.0"); break;
- } break;
- #else /* !defined(_SC_KERNEL_BITS) */
- puts ("hppa2.0"); break;
- #endif
- default: puts ("hppa1.0"); break;
- }
- exit (0);
- }
-EOF
- (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
- test -z "$HP_ARCH" && HP_ARCH=hppa
- fi ;;
- esac
- if [ ${HP_ARCH} = "hppa2.0w" ]
- then
- # avoid double evaluation of $set_cc_for_build
- test -n "$CC_FOR_BUILD" || eval $set_cc_for_build
- if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E -) | grep __LP64__ >/dev/null
- then
- HP_ARCH="hppa2.0w"
- else
- HP_ARCH="hppa64"
- fi
- fi
- echo ${HP_ARCH}-hp-hpux${HPUX_REV}
- exit 0 ;;
- ia64:HP-UX:*:*)
- HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
- echo ia64-hp-hpux${HPUX_REV}
- exit 0 ;;
- 3050*:HI-UX:*:*)
- eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
- #include <unistd.h>
- int
- main ()
- {
- long cpu = sysconf (_SC_CPU_VERSION);
- /* The order matters, because CPU_IS_HP_MC68K erroneously returns
- true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct
- results, however. */
- if (CPU_IS_PA_RISC (cpu))
- {
- switch (cpu)
- {
- case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
- case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
- case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
- default: puts ("hppa-hitachi-hiuxwe2"); break;
- }
- }
- else if (CPU_IS_HP_MC68K (cpu))
- puts ("m68k-hitachi-hiuxwe2");
- else puts ("unknown-hitachi-hiuxwe2");
- exit (0);
- }
-EOF
- $CC_FOR_BUILD -o $dummy $dummy.c && $dummy && exit 0
- echo unknown-hitachi-hiuxwe2
- exit 0 ;;
- 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
- echo hppa1.1-hp-bsd
- exit 0 ;;
- 9000/8??:4.3bsd:*:*)
- echo hppa1.0-hp-bsd
- exit 0 ;;
- *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
- echo hppa1.0-hp-mpeix
- exit 0 ;;
- hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
- echo hppa1.1-hp-osf
- exit 0 ;;
- hp8??:OSF1:*:*)
- echo hppa1.0-hp-osf
- exit 0 ;;
- i*86:OSF1:*:*)
- if [ -x /usr/sbin/sysversion ] ; then
- echo ${UNAME_MACHINE}-unknown-osf1mk
- else
- echo ${UNAME_MACHINE}-unknown-osf1
- fi
- exit 0 ;;
- parisc*:Lites*:*:*)
- echo hppa1.1-hp-lites
- exit 0 ;;
- C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
- echo c1-convex-bsd
- exit 0 ;;
- C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
- if getsysinfo -f scalar_acc
- then echo c32-convex-bsd
- else echo c2-convex-bsd
- fi
- exit 0 ;;
- C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
- echo c34-convex-bsd
- exit 0 ;;
- C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
- echo c38-convex-bsd
- exit 0 ;;
- C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
- echo c4-convex-bsd
- exit 0 ;;
- CRAY*Y-MP:*:*:*)
- echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
- exit 0 ;;
- CRAY*[A-Z]90:*:*:*)
- echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
- | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
- -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
- -e 's/\.[^.]*$/.X/'
- exit 0 ;;
- CRAY*TS:*:*:*)
- echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
- exit 0 ;;
- CRAY*T3E:*:*:*)
- echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
- exit 0 ;;
- CRAY*SV1:*:*:*)
- echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
- exit 0 ;;
- *:UNICOS/mp:*:*)
- echo nv1-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
- exit 0 ;;
- F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
- FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
- FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
- FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
- echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
- exit 0 ;;
- i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
- echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
- exit 0 ;;
- sparc*:BSD/OS:*:*)
- echo sparc-unknown-bsdi${UNAME_RELEASE}
- exit 0 ;;
- *:BSD/OS:*:*)
- echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
- exit 0 ;;
- *:FreeBSD:*:*|*:GNU/FreeBSD:*:*)
- # Determine whether the default compiler uses glibc.
- eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
- #include <features.h>
- #if __GLIBC__ >= 2
- LIBC=gnu
- #else
- LIBC=
- #endif
-EOF
- eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
- # GNU/FreeBSD systems have a "k" prefix to indicate we are using
- # FreeBSD's kernel, but not the complete OS.
- case ${LIBC} in gnu) kernel_only='k' ;; esac
- echo ${UNAME_MACHINE}-unknown-${kernel_only}freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`${LIBC:+-$LIBC}
- exit 0 ;;
- i*:CYGWIN*:*)
- echo ${UNAME_MACHINE}-pc-cygwin
- exit 0 ;;
- i*:MINGW*:*)
- echo ${UNAME_MACHINE}-pc-mingw32
- exit 0 ;;
- i*:PW*:*)
- echo ${UNAME_MACHINE}-pc-pw32
- exit 0 ;;
- x86:Interix*:[34]*)
- echo i586-pc-interix${UNAME_RELEASE}|sed -e 's/\..*//'
- exit 0 ;;
- [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
- echo i${UNAME_MACHINE}-pc-mks
- exit 0 ;;
- i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
- # How do we know it's Interix rather than the generic POSIX subsystem?
- # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
- # UNAME_MACHINE based on the output of uname instead of i386?
- echo i586-pc-interix
- exit 0 ;;
- i*:UWIN*:*)
- echo ${UNAME_MACHINE}-pc-uwin
- exit 0 ;;
- p*:CYGWIN*:*)
- echo powerpcle-unknown-cygwin
- exit 0 ;;
- prep*:SunOS:5.*:*)
- echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
- exit 0 ;;
- *:GNU:*:*)
- echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
- exit 0 ;;
- i*86:Minix:*:*)
- echo ${UNAME_MACHINE}-pc-minix
- exit 0 ;;
- arm*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
- exit 0 ;;
- cris:Linux:*:*)
- echo cris-axis-linux-gnu
- exit 0 ;;
- ia64:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
- exit 0 ;;
- m68*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
- exit 0 ;;
- mips:Linux:*:*)
- eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
- #undef CPU
- #undef mips
- #undef mipsel
- #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
- CPU=mipsel
- #else
- #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
- CPU=mips
- #else
- CPU=
- #endif
- #endif
-EOF
- eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
- test x"${CPU}" != x && echo "${CPU}-unknown-linux-gnu" && exit 0
- ;;
- mips64:Linux:*:*)
- eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
- #undef CPU
- #undef mips64
- #undef mips64el
- #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
- CPU=mips64el
- #else
- #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
- CPU=mips64
- #else
- CPU=
- #endif
- #endif
-EOF
- eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
- test x"${CPU}" != x && echo "${CPU}-unknown-linux-gnu" && exit 0
- ;;
- ppc:Linux:*:*)
- echo powerpc-unknown-linux-gnu
- exit 0 ;;
- ppc64:Linux:*:*)
- echo powerpc64-unknown-linux-gnu
- exit 0 ;;
- alpha:Linux:*:*)
- case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
- EV5) UNAME_MACHINE=alphaev5 ;;
- EV56) UNAME_MACHINE=alphaev56 ;;
- PCA56) UNAME_MACHINE=alphapca56 ;;
- PCA57) UNAME_MACHINE=alphapca56 ;;
- EV6) UNAME_MACHINE=alphaev6 ;;
- EV67) UNAME_MACHINE=alphaev67 ;;
- EV68*) UNAME_MACHINE=alphaev68 ;;
- esac
- objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null
- if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
- echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
- exit 0 ;;
- parisc:Linux:*:* | hppa:Linux:*:*)
- # Look for CPU level
- case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
- PA7*) echo hppa1.1-unknown-linux-gnu ;;
- PA8*) echo hppa2.0-unknown-linux-gnu ;;
- *) echo hppa-unknown-linux-gnu ;;
- esac
- exit 0 ;;
- parisc64:Linux:*:* | hppa64:Linux:*:*)
- echo hppa64-unknown-linux-gnu
- exit 0 ;;
- s390:Linux:*:* | s390x:Linux:*:*)
- echo ${UNAME_MACHINE}-ibm-linux
- exit 0 ;;
- sh64*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
- exit 0 ;;
- sh*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
- exit 0 ;;
- sparc:Linux:*:* | sparc64:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
- exit 0 ;;
- x86_64:Linux:*:*)
- echo x86_64-unknown-linux-gnu
- exit 0 ;;
- i*86:Linux:*:*)
- # The BFD linker knows what the default object file format is, so
- # first see if it will tell us. cd to the root directory to prevent
- # problems with other programs or directories called `ld' in the path.
- # Set LC_ALL=C to ensure ld outputs messages in English.
- ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \
- | sed -ne '/supported targets:/!d
- s/[ ][ ]*/ /g
- s/.*supported targets: *//
- s/ .*//
- p'`
- case "$ld_supported_targets" in
- elf32-i386)
- TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
- ;;
- a.out-i386-linux)
- echo "${UNAME_MACHINE}-pc-linux-gnuaout"
- exit 0 ;;
- coff-i386)
- echo "${UNAME_MACHINE}-pc-linux-gnucoff"
- exit 0 ;;
- "")
- # Either a pre-BFD a.out linker (linux-gnuoldld) or
- # one that does not give us useful --help.
- echo "${UNAME_MACHINE}-pc-linux-gnuoldld"
- exit 0 ;;
- esac
- # Determine whether the default compiler is a.out or elf
- eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
- #include <features.h>
- #ifdef __ELF__
- # ifdef __GLIBC__
- # if __GLIBC__ >= 2
- LIBC=gnu
- # else
- LIBC=gnulibc1
- # endif
- # else
- LIBC=gnulibc1
- # endif
- #else
- #ifdef __INTEL_COMPILER
- LIBC=gnu
- #else
- LIBC=gnuaout
- #endif
- #endif
-EOF
- eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
- test x"${LIBC}" != x && echo "${UNAME_MACHINE}-pc-linux-${LIBC}" && exit 0
- test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0
- ;;
- i*86:DYNIX/ptx:4*:*)
- # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
- # earlier versions are messed up and put the nodename in both
- # sysname and nodename.
- echo i386-sequent-sysv4
- exit 0 ;;
- i*86:UNIX_SV:4.2MP:2.*)
- # Unixware is an offshoot of SVR4, but it has its own version
- # number series starting with 2...
- # I am not positive that other SVR4 systems won't match this,
- # I just have to hope. -- rms.
- # Use sysv4.2uw... so that sysv4* matches it.
- echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
- exit 0 ;;
- i*86:OS/2:*:*)
- # If we were able to find `uname', then EMX Unix compatibility
- # is probably installed.
- echo ${UNAME_MACHINE}-pc-os2-emx
- exit 0 ;;
- i*86:XTS-300:*:STOP)
- echo ${UNAME_MACHINE}-unknown-stop
- exit 0 ;;
- i*86:atheos:*:*)
- echo ${UNAME_MACHINE}-unknown-atheos
- exit 0 ;;
- i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
- echo i386-unknown-lynxos${UNAME_RELEASE}
- exit 0 ;;
- i*86:*DOS:*:*)
- echo ${UNAME_MACHINE}-pc-msdosdjgpp
- exit 0 ;;
- i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
- UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
- if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
- echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
- else
- echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
- fi
- exit 0 ;;
- i*86:*:5:[78]*)
- case `/bin/uname -X | grep "^Machine"` in
- *486*) UNAME_MACHINE=i486 ;;
- *Pentium) UNAME_MACHINE=i586 ;;
- *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
- esac
- echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
- exit 0 ;;
- i*86:*:3.2:*)
- if test -f /usr/options/cb.name; then
- UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
- echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
- elif /bin/uname -X 2>/dev/null >/dev/null ; then
- UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
- (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
- (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
- && UNAME_MACHINE=i586
- (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
- && UNAME_MACHINE=i686
- (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
- && UNAME_MACHINE=i686
- echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
- else
- echo ${UNAME_MACHINE}-pc-sysv32
- fi
- exit 0 ;;
- pc:*:*:*)
- # Left here for compatibility:
- # uname -m prints for DJGPP always 'pc', but it prints nothing about
- # the processor, so we play safe by assuming i386.
- echo i386-pc-msdosdjgpp
- exit 0 ;;
- Intel:Mach:3*:*)
- echo i386-pc-mach3
- exit 0 ;;
- paragon:*:*:*)
- echo i860-intel-osf1
- exit 0 ;;
- i860:*:4.*:*) # i860-SVR4
- if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
- echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
- else # Add other i860-SVR4 vendors below as they are discovered.
- echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4
- fi
- exit 0 ;;
- mini*:CTIX:SYS*5:*)
- # "miniframe"
- echo m68010-convergent-sysv
- exit 0 ;;
- mc68k:UNIX:SYSTEM5:3.51m)
- echo m68k-convergent-sysv
- exit 0 ;;
- M680?0:D-NIX:5.3:*)
- echo m68k-diab-dnix
- exit 0 ;;
- M68*:*:R3V[567]*:*)
- test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;;
- 3[34]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0)
- OS_REL=''
- test -r /etc/.relid \
- && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
- /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
- && echo i486-ncr-sysv4.3${OS_REL} && exit 0
- /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
- && echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;;
- 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
- /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
- && echo i486-ncr-sysv4 && exit 0 ;;
- m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
- echo m68k-unknown-lynxos${UNAME_RELEASE}
- exit 0 ;;
- mc68030:UNIX_System_V:4.*:*)
- echo m68k-atari-sysv4
- exit 0 ;;
- TSUNAMI:LynxOS:2.*:*)
- echo sparc-unknown-lynxos${UNAME_RELEASE}
- exit 0 ;;
- rs6000:LynxOS:2.*:*)
- echo rs6000-unknown-lynxos${UNAME_RELEASE}
- exit 0 ;;
- PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*)
- echo powerpc-unknown-lynxos${UNAME_RELEASE}
- exit 0 ;;
- SM[BE]S:UNIX_SV:*:*)
- echo mips-dde-sysv${UNAME_RELEASE}
- exit 0 ;;
- RM*:ReliantUNIX-*:*:*)
- echo mips-sni-sysv4
- exit 0 ;;
- RM*:SINIX-*:*:*)
- echo mips-sni-sysv4
- exit 0 ;;
- *:SINIX-*:*:*)
- if uname -p 2>/dev/null >/dev/null ; then
- UNAME_MACHINE=`(uname -p) 2>/dev/null`
- echo ${UNAME_MACHINE}-sni-sysv4
- else
- echo ns32k-sni-sysv
- fi
- exit 0 ;;
- PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
- # says <Richard.M.Bartel@ccMail.Census.GOV>
- echo i586-unisys-sysv4
- exit 0 ;;
- *:UNIX_System_V:4*:FTX*)
- # From Gerald Hewes <hewes@openmarket.com>.
- # How about differentiating between stratus architectures? -djm
- echo hppa1.1-stratus-sysv4
- exit 0 ;;
- *:*:*:FTX*)
- # From seanf@swdc.stratus.com.
- echo i860-stratus-sysv4
- exit 0 ;;
- *:VOS:*:*)
- # From Paul.Green@stratus.com.
- echo hppa1.1-stratus-vos
- exit 0 ;;
- mc68*:A/UX:*:*)
- echo m68k-apple-aux${UNAME_RELEASE}
- exit 0 ;;
- news*:NEWS-OS:6*:*)
- echo mips-sony-newsos6
- exit 0 ;;
- R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
- if [ -d /usr/nec ]; then
- echo mips-nec-sysv${UNAME_RELEASE}
- else
- echo mips-unknown-sysv${UNAME_RELEASE}
- fi
- exit 0 ;;
- BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
- echo powerpc-be-beos
- exit 0 ;;
- BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only.
- echo powerpc-apple-beos
- exit 0 ;;
- BePC:BeOS:*:*) # BeOS running on Intel PC compatible.
- echo i586-pc-beos
- exit 0 ;;
- SX-4:SUPER-UX:*:*)
- echo sx4-nec-superux${UNAME_RELEASE}
- exit 0 ;;
- SX-5:SUPER-UX:*:*)
- echo sx5-nec-superux${UNAME_RELEASE}
- exit 0 ;;
- SX-6:SUPER-UX:*:*)
- echo sx6-nec-superux${UNAME_RELEASE}
- exit 0 ;;
- Power*:Rhapsody:*:*)
- echo powerpc-apple-rhapsody${UNAME_RELEASE}
- exit 0 ;;
- *:Rhapsody:*:*)
- echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
- exit 0 ;;
- *:Darwin:*:*)
- case `uname -p` in
- *86) UNAME_PROCESSOR=i686 ;;
- powerpc) UNAME_PROCESSOR=powerpc ;;
- esac
- echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
- exit 0 ;;
- *:procnto*:*:* | *:QNX:[0123456789]*:*)
- UNAME_PROCESSOR=`uname -p`
- if test "$UNAME_PROCESSOR" = "x86"; then
- UNAME_PROCESSOR=i386
- UNAME_MACHINE=pc
- fi
- echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
- exit 0 ;;
- *:QNX:*:4*)
- echo i386-pc-qnx
- exit 0 ;;
- NSR-[DGKLNPTVW]:NONSTOP_KERNEL:*:*)
- echo nsr-tandem-nsk${UNAME_RELEASE}
- exit 0 ;;
- *:NonStop-UX:*:*)
- echo mips-compaq-nonstopux
- exit 0 ;;
- BS2000:POSIX*:*:*)
- echo bs2000-siemens-sysv
- exit 0 ;;
- DS/*:UNIX_System_V:*:*)
- echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
- exit 0 ;;
- *:Plan9:*:*)
- # "uname -m" is not consistent, so use $cputype instead. 386
- # is converted to i386 for consistency with other x86
- # operating systems.
- if test "$cputype" = "386"; then
- UNAME_MACHINE=i386
- else
- UNAME_MACHINE="$cputype"
- fi
- echo ${UNAME_MACHINE}-unknown-plan9
- exit 0 ;;
- *:TOPS-10:*:*)
- echo pdp10-unknown-tops10
- exit 0 ;;
- *:TENEX:*:*)
- echo pdp10-unknown-tenex
- exit 0 ;;
- KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
- echo pdp10-dec-tops20
- exit 0 ;;
- XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
- echo pdp10-xkl-tops20
- exit 0 ;;
- *:TOPS-20:*:*)
- echo pdp10-unknown-tops20
- exit 0 ;;
- *:ITS:*:*)
- echo pdp10-unknown-its
- exit 0 ;;
- SEI:*:*:SEIUX)
- echo mips-sei-seiux${UNAME_RELEASE}
- exit 0 ;;
-esac
-
-#echo '(No uname command or uname output not recognized.)' 1>&2
-#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
-
-eval $set_cc_for_build
-cat >$dummy.c <<EOF
-#ifdef _SEQUENT_
-# include <sys/types.h>
-# include <sys/utsname.h>
-#endif
-main ()
-{
-#if defined (sony)
-#if defined (MIPSEB)
- /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed,
- I don't know.... */
- printf ("mips-sony-bsd\n"); exit (0);
-#else
-#include <sys/param.h>
- printf ("m68k-sony-newsos%s\n",
-#ifdef NEWSOS4
- "4"
-#else
- ""
-#endif
- ); exit (0);
-#endif
-#endif
-
-#if defined (__arm) && defined (__acorn) && defined (__unix)
- printf ("arm-acorn-riscix"); exit (0);
-#endif
-
-#if defined (hp300) && !defined (hpux)
- printf ("m68k-hp-bsd\n"); exit (0);
-#endif
-
-#if defined (NeXT)
-#if !defined (__ARCHITECTURE__)
-#define __ARCHITECTURE__ "m68k"
-#endif
- int version;
- version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
- if (version < 4)
- printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
- else
- printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
- exit (0);
-#endif
-
-#if defined (MULTIMAX) || defined (n16)
-#if defined (UMAXV)
- printf ("ns32k-encore-sysv\n"); exit (0);
-#else
-#if defined (CMU)
- printf ("ns32k-encore-mach\n"); exit (0);
-#else
- printf ("ns32k-encore-bsd\n"); exit (0);
-#endif
-#endif
-#endif
-
-#if defined (__386BSD__)
- printf ("i386-pc-bsd\n"); exit (0);
-#endif
-
-#if defined (sequent)
-#if defined (i386)
- printf ("i386-sequent-dynix\n"); exit (0);
-#endif
-#if defined (ns32000)
- printf ("ns32k-sequent-dynix\n"); exit (0);
-#endif
-#endif
-
-#if defined (_SEQUENT_)
- struct utsname un;
-
- uname(&un);
-
- if (strncmp(un.version, "V2", 2) == 0) {
- printf ("i386-sequent-ptx2\n"); exit (0);
- }
- if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
- printf ("i386-sequent-ptx1\n"); exit (0);
- }
- printf ("i386-sequent-ptx\n"); exit (0);
-
-#endif
-
-#if defined (vax)
-# if !defined (ultrix)
-# include <sys/param.h>
-# if defined (BSD)
-# if BSD == 43
- printf ("vax-dec-bsd4.3\n"); exit (0);
-# else
-# if BSD == 199006
- printf ("vax-dec-bsd4.3reno\n"); exit (0);
-# else
- printf ("vax-dec-bsd\n"); exit (0);
-# endif
-# endif
-# else
- printf ("vax-dec-bsd\n"); exit (0);
-# endif
-# else
- printf ("vax-dec-ultrix\n"); exit (0);
-# endif
-#endif
-
-#if defined (alliant) && defined (i860)
- printf ("i860-alliant-bsd\n"); exit (0);
-#endif
-
- exit (1);
-}
-EOF
-
-$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && $dummy && exit 0
-
-# Apollos put the system type in the environment.
-
-test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; }
-
-# Convex versions that predate uname can use getsysinfo(1)
-
-if [ -x /usr/convex/getsysinfo ]
-then
- case `getsysinfo -f cpu_type` in
- c1*)
- echo c1-convex-bsd
- exit 0 ;;
- c2*)
- if getsysinfo -f scalar_acc
- then echo c32-convex-bsd
- else echo c2-convex-bsd
- fi
- exit 0 ;;
- c34*)
- echo c34-convex-bsd
- exit 0 ;;
- c38*)
- echo c38-convex-bsd
- exit 0 ;;
- c4*)
- echo c4-convex-bsd
- exit 0 ;;
- esac
-fi
-
-cat >&2 <<EOF
-$0: unable to guess system type
-
-This script, last modified $timestamp, has failed to recognize
-the operating system you are using. It is advised that you
-download the most up to date version of the config scripts from
-
- ftp://ftp.gnu.org/pub/gnu/config/
-
-If the version you run ($0) is already up to date, please
-send the following data and any information you think might be
-pertinent to <config-patches@gnu.org> in order to provide the needed
-information to handle your system.
-
-config.guess timestamp = $timestamp
-
-uname -m = `(uname -m) 2>/dev/null || echo unknown`
-uname -r = `(uname -r) 2>/dev/null || echo unknown`
-uname -s = `(uname -s) 2>/dev/null || echo unknown`
-uname -v = `(uname -v) 2>/dev/null || echo unknown`
-
-/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
-/bin/uname -X = `(/bin/uname -X) 2>/dev/null`
-
-hostinfo = `(hostinfo) 2>/dev/null`
-/bin/universe = `(/bin/universe) 2>/dev/null`
-/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null`
-/bin/arch = `(/bin/arch) 2>/dev/null`
-/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null`
-/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
-
-UNAME_MACHINE = ${UNAME_MACHINE}
-UNAME_RELEASE = ${UNAME_RELEASE}
-UNAME_SYSTEM = ${UNAME_SYSTEM}
-UNAME_VERSION = ${UNAME_VERSION}
-EOF
-
-exit 1
-
-# Local variables:
-# eval: (add-hook 'write-file-hooks 'time-stamp)
-# time-stamp-start: "timestamp='"
-# time-stamp-format: "%:y-%02m-%02d"
-# time-stamp-end: "'"
-# End:
diff --git a/winsup/w32api/config.sub b/winsup/w32api/config.sub
deleted file mode 100755
index 0bdc33431..000000000
--- a/winsup/w32api/config.sub
+++ /dev/null
@@ -1,1504 +0,0 @@
-#! /bin/sh
-# Configuration validation subroutine script.
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-# 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
-
-timestamp='2003-06-17'
-
-# This file is (in principle) common to ALL GNU software.
-# The presence of a machine in this file suggests that SOME GNU software
-# can handle that machine. It does not imply ALL GNU software can.
-#
-# This file 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 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330,
-# Boston, MA 02111-1307, USA.
-
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-# Please send patches to <config-patches@gnu.org>. Submit a context
-# diff and a properly formatted ChangeLog entry.
-#
-# Configuration subroutine to validate and canonicalize a configuration type.
-# Supply the specified configuration type as an argument.
-# If it is invalid, we print an error message on stderr and exit with code 1.
-# Otherwise, we print the canonical config type on stdout and succeed.
-
-# This file is supposed to be the same for all GNU packages
-# and recognize all the CPU types, system types and aliases
-# that are meaningful with *any* GNU software.
-# Each package is responsible for reporting which valid configurations
-# it does not support. The user should be able to distinguish
-# a failure to support a valid configuration from a meaningless
-# configuration.
-
-# The goal of this file is to map all the various variations of a given
-# machine specification into a single specification in the form:
-# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
-# or in some cases, the newer four-part form:
-# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
-# It is wrong to echo any other type of specification.
-
-me=`echo "$0" | sed -e 's,.*/,,'`
-
-usage="\
-Usage: $0 [OPTION] CPU-MFR-OPSYS
- $0 [OPTION] ALIAS
-
-Canonicalize a configuration name.
-
-Operation modes:
- -h, --help print this help, then exit
- -t, --time-stamp print date of last modification, then exit
- -v, --version print version number, then exit
-
-Report bugs and patches to <config-patches@gnu.org>."
-
-version="\
-GNU config.sub ($timestamp)
-
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
-Free Software Foundation, Inc.
-
-This is free software; see the source for copying conditions. There is NO
-warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
-
-help="
-Try \`$me --help' for more information."
-
-# Parse command line
-while test $# -gt 0 ; do
- case $1 in
- --time-stamp | --time* | -t )
- echo "$timestamp" ; exit 0 ;;
- --version | -v )
- echo "$version" ; exit 0 ;;
- --help | --h* | -h )
- echo "$usage"; exit 0 ;;
- -- ) # Stop option processing
- shift; break ;;
- - ) # Use stdin as input.
- break ;;
- -* )
- echo "$me: invalid option $1$help"
- exit 1 ;;
-
- *local*)
- # First pass through any local machine types.
- echo $1
- exit 0;;
-
- * )
- break ;;
- esac
-done
-
-case $# in
- 0) echo "$me: missing argument$help" >&2
- exit 1;;
- 1) ;;
- *) echo "$me: too many arguments$help" >&2
- exit 1;;
-esac
-
-# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
-# Here we must recognize all the valid KERNEL-OS combinations.
-maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
-case $maybe_os in
- nto-qnx* | linux-gnu* | freebsd*-gnu* | netbsd*-gnu* | storm-chaos* | os2-emx* | rtmk-nova*)
- os=-$maybe_os
- basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
- ;;
- *)
- basic_machine=`echo $1 | sed 's/-[^-]*$//'`
- if [ $basic_machine != $1 ]
- then os=`echo $1 | sed 's/.*-/-/'`
- else os=; fi
- ;;
-esac
-
-### Let's recognize common machines as not being operating systems so
-### that things like config.sub decstation-3100 work. We also
-### recognize some manufacturers as not being operating systems, so we
-### can provide default operating systems below.
-case $os in
- -sun*os*)
- # Prevent following clause from handling this invalid input.
- ;;
- -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
- -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
- -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
- -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
- -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
- -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
- -apple | -axis)
- os=
- basic_machine=$1
- ;;
- -sim | -cisco | -oki | -wec | -winbond)
- os=
- basic_machine=$1
- ;;
- -scout)
- ;;
- -wrs)
- os=-vxworks
- basic_machine=$1
- ;;
- -chorusos*)
- os=-chorusos
- basic_machine=$1
- ;;
- -chorusrdb)
- os=-chorusrdb
- basic_machine=$1
- ;;
- -hiux*)
- os=-hiuxwe2
- ;;
- -sco5)
- os=-sco3.2v5
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
- -sco4)
- os=-sco3.2v4
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
- -sco3.2.[4-9]*)
- os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
- -sco3.2v[4-9]*)
- # Don't forget version if it is 3.2v4 or newer.
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
- -sco*)
- os=-sco3.2v2
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
- -udk*)
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
- -isc)
- os=-isc2.2
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
- -clix*)
- basic_machine=clipper-intergraph
- ;;
- -isc*)
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
- -lynx*)
- os=-lynxos
- ;;
- -ptx*)
- basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
- ;;
- -windowsnt*)
- os=`echo $os | sed -e 's/windowsnt/winnt/'`
- ;;
- -psos*)
- os=-psos
- ;;
- -mint | -mint[0-9]*)
- basic_machine=m68k-atari
- os=-mint
- ;;
-esac
-
-# Decode aliases for certain CPU-COMPANY combinations.
-case $basic_machine in
- # Recognize the basic CPU types without company name.
- # Some are omitted here because they have special meanings below.
- 1750a | 580 \
- | a29k \
- | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
- | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
- | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \
- | c4x | clipper \
- | d10v | d30v | dlx | dsp16xx \
- | fr30 | frv \
- | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
- | i370 | i860 | i960 | ia64 \
- | ip2k \
- | m32r | m68000 | m68k | m88k | mcore \
- | mips | mipsbe | mipseb | mipsel | mipsle \
- | mips16 \
- | mips64 | mips64el \
- | mips64vr | mips64vrel \
- | mips64orion | mips64orionel \
- | mips64vr4100 | mips64vr4100el \
- | mips64vr4300 | mips64vr4300el \
- | mips64vr5000 | mips64vr5000el \
- | mipsisa32 | mipsisa32el \
- | mipsisa32r2 | mipsisa32r2el \
- | mipsisa64 | mipsisa64el \
- | mipsisa64sb1 | mipsisa64sb1el \
- | mipsisa64sr71k | mipsisa64sr71kel \
- | mipstx39 | mipstx39el \
- | mn10200 | mn10300 \
- | msp430 \
- | ns16k | ns32k \
- | openrisc | or32 \
- | pdp10 | pdp11 | pj | pjl \
- | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
- | pyramid \
- | sh | sh[1234] | sh[23]e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \
- | sh64 | sh64le \
- | sparc | sparc64 | sparc86x | sparclet | sparclite | sparcv9 | sparcv9b \
- | strongarm \
- | tahoe | thumb | tic4x | tic80 | tron \
- | v850 | v850e \
- | we32k \
- | x86 | xscale | xstormy16 | xtensa \
- | z8k)
- basic_machine=$basic_machine-unknown
- ;;
- m6811 | m68hc11 | m6812 | m68hc12)
- # Motorola 68HC11/12.
- basic_machine=$basic_machine-unknown
- os=-none
- ;;
- m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
- ;;
-
- # We use `pc' rather than `unknown'
- # because (1) that's what they normally are, and
- # (2) the word "unknown" tends to confuse beginning users.
- i*86 | x86_64)
- basic_machine=$basic_machine-pc
- ;;
- # Object if more than one company name word.
- *-*-*)
- echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
- exit 1
- ;;
- # Recognize the basic CPU types with company name.
- 580-* \
- | a29k-* \
- | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
- | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
- | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
- | arm-* | armbe-* | armle-* | armeb-* | armv*-* \
- | avr-* \
- | bs2000-* \
- | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
- | clipper-* | cydra-* \
- | d10v-* | d30v-* | dlx-* \
- | elxsi-* \
- | f30[01]-* | f700-* | fr30-* | frv-* | fx80-* \
- | h8300-* | h8500-* \
- | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
- | i*86-* | i860-* | i960-* | ia64-* \
- | ip2k-* \
- | m32r-* \
- | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
- | m88110-* | m88k-* | mcore-* \
- | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
- | mips16-* \
- | mips64-* | mips64el-* \
- | mips64vr-* | mips64vrel-* \
- | mips64orion-* | mips64orionel-* \
- | mips64vr4100-* | mips64vr4100el-* \
- | mips64vr4300-* | mips64vr4300el-* \
- | mips64vr5000-* | mips64vr5000el-* \
- | mipsisa32-* | mipsisa32el-* \
- | mipsisa32r2-* | mipsisa32r2el-* \
- | mipsisa64-* | mipsisa64el-* \
- | mipsisa64sb1-* | mipsisa64sb1el-* \
- | mipsisa64sr71k-* | mipsisa64sr71kel-* \
- | mipstx39-* | mipstx39el-* \
- | msp430-* \
- | none-* | np1-* | nv1-* | ns16k-* | ns32k-* \
- | orion-* \
- | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
- | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
- | pyramid-* \
- | romp-* | rs6000-* \
- | sh-* | sh[1234]-* | sh[23]e-* | sh[34]eb-* | shbe-* \
- | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
- | sparc-* | sparc64-* | sparc86x-* | sparclet-* | sparclite-* \
- | sparcv9-* | sparcv9b-* | strongarm-* | sv1-* | sx?-* \
- | tahoe-* | thumb-* \
- | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
- | tron-* \
- | v850-* | v850e-* | vax-* \
- | we32k-* \
- | x86-* | x86_64-* | xps100-* | xscale-* | xstormy16-* \
- | xtensa-* \
- | ymp-* \
- | z8k-*)
- ;;
- # Recognize the various machine names and aliases which stand
- # for a CPU type and a company and sometimes even an OS.
- 386bsd)
- basic_machine=i386-unknown
- os=-bsd
- ;;
- 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
- basic_machine=m68000-att
- ;;
- 3b*)
- basic_machine=we32k-att
- ;;
- a29khif)
- basic_machine=a29k-amd
- os=-udi
- ;;
- adobe68k)
- basic_machine=m68010-adobe
- os=-scout
- ;;
- alliant | fx80)
- basic_machine=fx80-alliant
- ;;
- altos | altos3068)
- basic_machine=m68k-altos
- ;;
- am29k)
- basic_machine=a29k-none
- os=-bsd
- ;;
- amd64)
- basic_machine=x86_64-pc
- ;;
- amdahl)
- basic_machine=580-amdahl
- os=-sysv
- ;;
- amiga | amiga-*)
- basic_machine=m68k-unknown
- ;;
- amigaos | amigados)
- basic_machine=m68k-unknown
- os=-amigaos
- ;;
- amigaunix | amix)
- basic_machine=m68k-unknown
- os=-sysv4
- ;;
- apollo68)
- basic_machine=m68k-apollo
- os=-sysv
- ;;
- apollo68bsd)
- basic_machine=m68k-apollo
- os=-bsd
- ;;
- aux)
- basic_machine=m68k-apple
- os=-aux
- ;;
- balance)
- basic_machine=ns32k-sequent
- os=-dynix
- ;;
- c90)
- basic_machine=c90-cray
- os=-unicos
- ;;
- convex-c1)
- basic_machine=c1-convex
- os=-bsd
- ;;
- convex-c2)
- basic_machine=c2-convex
- os=-bsd
- ;;
- convex-c32)
- basic_machine=c32-convex
- os=-bsd
- ;;
- convex-c34)
- basic_machine=c34-convex
- os=-bsd
- ;;
- convex-c38)
- basic_machine=c38-convex
- os=-bsd
- ;;
- cray | j90)
- basic_machine=j90-cray
- os=-unicos
- ;;
- crds | unos)
- basic_machine=m68k-crds
- ;;
- cris | cris-* | etrax*)
- basic_machine=cris-axis
- ;;
- da30 | da30-*)
- basic_machine=m68k-da30
- ;;
- decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
- basic_machine=mips-dec
- ;;
- decsystem10* | dec10*)
- basic_machine=pdp10-dec
- os=-tops10
- ;;
- decsystem20* | dec20*)
- basic_machine=pdp10-dec
- os=-tops20
- ;;
- delta | 3300 | motorola-3300 | motorola-delta \
- | 3300-motorola | delta-motorola)
- basic_machine=m68k-motorola
- ;;
- delta88)
- basic_machine=m88k-motorola
- os=-sysv3
- ;;
- dpx20 | dpx20-*)
- basic_machine=rs6000-bull
- os=-bosx
- ;;
- dpx2* | dpx2*-bull)
- basic_machine=m68k-bull
- os=-sysv3
- ;;
- ebmon29k)
- basic_machine=a29k-amd
- os=-ebmon
- ;;
- elxsi)
- basic_machine=elxsi-elxsi
- os=-bsd
- ;;
- encore | umax | mmax)
- basic_machine=ns32k-encore
- ;;
- es1800 | OSE68k | ose68k | ose | OSE)
- basic_machine=m68k-ericsson
- os=-ose
- ;;
- fx2800)
- basic_machine=i860-alliant
- ;;
- genix)
- basic_machine=ns32k-ns
- ;;
- gmicro)
- basic_machine=tron-gmicro
- os=-sysv
- ;;
- go32)
- basic_machine=i386-pc
- os=-go32
- ;;
- h3050r* | hiux*)
- basic_machine=hppa1.1-hitachi
- os=-hiuxwe2
- ;;
- h8300hms)
- basic_machine=h8300-hitachi
- os=-hms
- ;;
- h8300xray)
- basic_machine=h8300-hitachi
- os=-xray
- ;;
- h8500hms)
- basic_machine=h8500-hitachi
- os=-hms
- ;;
- harris)
- basic_machine=m88k-harris
- os=-sysv3
- ;;
- hp300-*)
- basic_machine=m68k-hp
- ;;
- hp300bsd)
- basic_machine=m68k-hp
- os=-bsd
- ;;
- hp300hpux)
- basic_machine=m68k-hp
- os=-hpux
- ;;
- hp3k9[0-9][0-9] | hp9[0-9][0-9])
- basic_machine=hppa1.0-hp
- ;;
- hp9k2[0-9][0-9] | hp9k31[0-9])
- basic_machine=m68000-hp
- ;;
- hp9k3[2-9][0-9])
- basic_machine=m68k-hp
- ;;
- hp9k6[0-9][0-9] | hp6[0-9][0-9])
- basic_machine=hppa1.0-hp
- ;;
- hp9k7[0-79][0-9] | hp7[0-79][0-9])
- basic_machine=hppa1.1-hp
- ;;
- hp9k78[0-9] | hp78[0-9])
- # FIXME: really hppa2.0-hp
- basic_machine=hppa1.1-hp
- ;;
- hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
- # FIXME: really hppa2.0-hp
- basic_machine=hppa1.1-hp
- ;;
- hp9k8[0-9][13679] | hp8[0-9][13679])
- basic_machine=hppa1.1-hp
- ;;
- hp9k8[0-9][0-9] | hp8[0-9][0-9])
- basic_machine=hppa1.0-hp
- ;;
- hppa-next)
- os=-nextstep3
- ;;
- hppaosf)
- basic_machine=hppa1.1-hp
- os=-osf
- ;;
- hppro)
- basic_machine=hppa1.1-hp
- os=-proelf
- ;;
- i370-ibm* | ibm*)
- basic_machine=i370-ibm
- ;;
-# I'm not sure what "Sysv32" means. Should this be sysv3.2?
- i*86v32)
- basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
- os=-sysv32
- ;;
- i*86v4*)
- basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
- os=-sysv4
- ;;
- i*86v)
- basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
- os=-sysv
- ;;
- i*86sol2)
- basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
- os=-solaris2
- ;;
- i386mach)
- basic_machine=i386-mach
- os=-mach
- ;;
- i386-vsta | vsta)
- basic_machine=i386-unknown
- os=-vsta
- ;;
- iris | iris4d)
- basic_machine=mips-sgi
- case $os in
- -irix*)
- ;;
- *)
- os=-irix4
- ;;
- esac
- ;;
- isi68 | isi)
- basic_machine=m68k-isi
- os=-sysv
- ;;
- m88k-omron*)
- basic_machine=m88k-omron
- ;;
- magnum | m3230)
- basic_machine=mips-mips
- os=-sysv
- ;;
- merlin)
- basic_machine=ns32k-utek
- os=-sysv
- ;;
- mingw32)
- basic_machine=i386-pc
- os=-mingw32
- ;;
- miniframe)
- basic_machine=m68000-convergent
- ;;
- *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
- basic_machine=m68k-atari
- os=-mint
- ;;
- mips3*-*)
- basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
- ;;
- mips3*)
- basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
- ;;
- mmix*)
- basic_machine=mmix-knuth
- os=-mmixware
- ;;
- monitor)
- basic_machine=m68k-rom68k
- os=-coff
- ;;
- morphos)
- basic_machine=powerpc-unknown
- os=-morphos
- ;;
- msdos)
- basic_machine=i386-pc
- os=-msdos
- ;;
- mvs)
- basic_machine=i370-ibm
- os=-mvs
- ;;
- ncr3000)
- basic_machine=i486-ncr
- os=-sysv4
- ;;
- netbsd386)
- basic_machine=i386-unknown
- os=-netbsd
- ;;
- netwinder)
- basic_machine=armv4l-rebel
- os=-linux
- ;;
- news | news700 | news800 | news900)
- basic_machine=m68k-sony
- os=-newsos
- ;;
- news1000)
- basic_machine=m68030-sony
- os=-newsos
- ;;
- news-3600 | risc-news)
- basic_machine=mips-sony
- os=-newsos
- ;;
- necv70)
- basic_machine=v70-nec
- os=-sysv
- ;;
- next | m*-next )
- basic_machine=m68k-next
- case $os in
- -nextstep* )
- ;;
- -ns2*)
- os=-nextstep2
- ;;
- *)
- os=-nextstep3
- ;;
- esac
- ;;
- nh3000)
- basic_machine=m68k-harris
- os=-cxux
- ;;
- nh[45]000)
- basic_machine=m88k-harris
- os=-cxux
- ;;
- nindy960)
- basic_machine=i960-intel
- os=-nindy
- ;;
- mon960)
- basic_machine=i960-intel
- os=-mon960
- ;;
- nonstopux)
- basic_machine=mips-compaq
- os=-nonstopux
- ;;
- np1)
- basic_machine=np1-gould
- ;;
- nv1)
- basic_machine=nv1-cray
- os=-unicosmp
- ;;
- nsr-tandem)
- basic_machine=nsr-tandem
- ;;
- op50n-* | op60c-*)
- basic_machine=hppa1.1-oki
- os=-proelf
- ;;
- or32 | or32-*)
- basic_machine=or32-unknown
- os=-coff
- ;;
- OSE68000 | ose68000)
- basic_machine=m68000-ericsson
- os=-ose
- ;;
- os68k)
- basic_machine=m68k-none
- os=-os68k
- ;;
- pa-hitachi)
- basic_machine=hppa1.1-hitachi
- os=-hiuxwe2
- ;;
- paragon)
- basic_machine=i860-intel
- os=-osf
- ;;
- pbd)
- basic_machine=sparc-tti
- ;;
- pbb)
- basic_machine=m68k-tti
- ;;
- pc532 | pc532-*)
- basic_machine=ns32k-pc532
- ;;
- pentium | p5 | k5 | k6 | nexgen | viac3)
- basic_machine=i586-pc
- ;;
- pentiumpro | p6 | 6x86 | athlon | athlon_*)
- basic_machine=i686-pc
- ;;
- pentiumii | pentium2 | pentiumiii | pentium3)
- basic_machine=i686-pc
- ;;
- pentium4)
- basic_machine=i786-pc
- ;;
- pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
- basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- pentiumpro-* | p6-* | 6x86-* | athlon-*)
- basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
- basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- pentium4-*)
- basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- pn)
- basic_machine=pn-gould
- ;;
- power) basic_machine=power-ibm
- ;;
- ppc) basic_machine=powerpc-unknown
- ;;
- ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- ppcle | powerpclittle | ppc-le | powerpc-little)
- basic_machine=powerpcle-unknown
- ;;
- ppcle-* | powerpclittle-*)
- basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- ppc64) basic_machine=powerpc64-unknown
- ;;
- ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- ppc64le | powerpc64little | ppc64-le | powerpc64-little)
- basic_machine=powerpc64le-unknown
- ;;
- ppc64le-* | powerpc64little-*)
- basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- ps2)
- basic_machine=i386-ibm
- ;;
- pw32)
- basic_machine=i586-unknown
- os=-pw32
- ;;
- rom68k)
- basic_machine=m68k-rom68k
- os=-coff
- ;;
- rm[46]00)
- basic_machine=mips-siemens
- ;;
- rtpc | rtpc-*)
- basic_machine=romp-ibm
- ;;
- s390 | s390-*)
- basic_machine=s390-ibm
- ;;
- s390x | s390x-*)
- basic_machine=s390x-ibm
- ;;
- sa29200)
- basic_machine=a29k-amd
- os=-udi
- ;;
- sb1)
- basic_machine=mipsisa64sb1-unknown
- ;;
- sb1el)
- basic_machine=mipsisa64sb1el-unknown
- ;;
- sei)
- basic_machine=mips-sei
- os=-seiux
- ;;
- sequent)
- basic_machine=i386-sequent
- ;;
- sh)
- basic_machine=sh-hitachi
- os=-hms
- ;;
- sh64)
- basic_machine=sh64-unknown
- ;;
- sparclite-wrs | simso-wrs)
- basic_machine=sparclite-wrs
- os=-vxworks
- ;;
- sps7)
- basic_machine=m68k-bull
- os=-sysv2
- ;;
- spur)
- basic_machine=spur-unknown
- ;;
- st2000)
- basic_machine=m68k-tandem
- ;;
- stratus)
- basic_machine=i860-stratus
- os=-sysv4
- ;;
- sun2)
- basic_machine=m68000-sun
- ;;
- sun2os3)
- basic_machine=m68000-sun
- os=-sunos3
- ;;
- sun2os4)
- basic_machine=m68000-sun
- os=-sunos4
- ;;
- sun3os3)
- basic_machine=m68k-sun
- os=-sunos3
- ;;
- sun3os4)
- basic_machine=m68k-sun
- os=-sunos4
- ;;
- sun4os3)
- basic_machine=sparc-sun
- os=-sunos3
- ;;
- sun4os4)
- basic_machine=sparc-sun
- os=-sunos4
- ;;
- sun4sol2)
- basic_machine=sparc-sun
- os=-solaris2
- ;;
- sun3 | sun3-*)
- basic_machine=m68k-sun
- ;;
- sun4)
- basic_machine=sparc-sun
- ;;
- sun386 | sun386i | roadrunner)
- basic_machine=i386-sun
- ;;
- sv1)
- basic_machine=sv1-cray
- os=-unicos
- ;;
- symmetry)
- basic_machine=i386-sequent
- os=-dynix
- ;;
- t3e)
- basic_machine=alphaev5-cray
- os=-unicos
- ;;
- t90)
- basic_machine=t90-cray
- os=-unicos
- ;;
- tic54x | c54x*)
- basic_machine=tic54x-unknown
- os=-coff
- ;;
- tic55x | c55x*)
- basic_machine=tic55x-unknown
- os=-coff
- ;;
- tic6x | c6x*)
- basic_machine=tic6x-unknown
- os=-coff
- ;;
- tx39)
- basic_machine=mipstx39-unknown
- ;;
- tx39el)
- basic_machine=mipstx39el-unknown
- ;;
- toad1)
- basic_machine=pdp10-xkl
- os=-tops20
- ;;
- tower | tower-32)
- basic_machine=m68k-ncr
- ;;
- udi29k)
- basic_machine=a29k-amd
- os=-udi
- ;;
- ultra3)
- basic_machine=a29k-nyu
- os=-sym1
- ;;
- v810 | necv810)
- basic_machine=v810-nec
- os=-none
- ;;
- vaxv)
- basic_machine=vax-dec
- os=-sysv
- ;;
- vms)
- basic_machine=vax-dec
- os=-vms
- ;;
- vpp*|vx|vx-*)
- basic_machine=f301-fujitsu
- ;;
- vxworks960)
- basic_machine=i960-wrs
- os=-vxworks
- ;;
- vxworks68)
- basic_machine=m68k-wrs
- os=-vxworks
- ;;
- vxworks29k)
- basic_machine=a29k-wrs
- os=-vxworks
- ;;
- w65*)
- basic_machine=w65-wdc
- os=-none
- ;;
- w89k-*)
- basic_machine=hppa1.1-winbond
- os=-proelf
- ;;
- xps | xps100)
- basic_machine=xps100-honeywell
- ;;
- ymp)
- basic_machine=ymp-cray
- os=-unicos
- ;;
- z8k-*-coff)
- basic_machine=z8k-unknown
- os=-sim
- ;;
- none)
- basic_machine=none-none
- os=-none
- ;;
-
-# Here we handle the default manufacturer of certain CPU types. It is in
-# some cases the only manufacturer, in others, it is the most popular.
- w89k)
- basic_machine=hppa1.1-winbond
- ;;
- op50n)
- basic_machine=hppa1.1-oki
- ;;
- op60c)
- basic_machine=hppa1.1-oki
- ;;
- romp)
- basic_machine=romp-ibm
- ;;
- rs6000)
- basic_machine=rs6000-ibm
- ;;
- vax)
- basic_machine=vax-dec
- ;;
- pdp10)
- # there are many clones, so DEC is not a safe bet
- basic_machine=pdp10-unknown
- ;;
- pdp11)
- basic_machine=pdp11-dec
- ;;
- we32k)
- basic_machine=we32k-att
- ;;
- sh3 | sh4 | sh[34]eb | sh[1234]le | sh[23]ele)
- basic_machine=sh-unknown
- ;;
- sh64)
- basic_machine=sh64-unknown
- ;;
- sparc | sparcv9 | sparcv9b)
- basic_machine=sparc-sun
- ;;
- cydra)
- basic_machine=cydra-cydrome
- ;;
- orion)
- basic_machine=orion-highlevel
- ;;
- orion105)
- basic_machine=clipper-highlevel
- ;;
- mac | mpw | mac-mpw)
- basic_machine=m68k-apple
- ;;
- pmac | pmac-mpw)
- basic_machine=powerpc-apple
- ;;
- *-unknown)
- # Make sure to match an already-canonicalized machine name.
- ;;
- *)
- echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
- exit 1
- ;;
-esac
-
-# Here we canonicalize certain aliases for manufacturers.
-case $basic_machine in
- *-digital*)
- basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
- ;;
- *-commodore*)
- basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
- ;;
- *)
- ;;
-esac
-
-# Decode manufacturer-specific aliases for certain operating systems.
-
-if [ x"$os" != x"" ]
-then
-case $os in
- # First match some system type aliases
- # that might get confused with valid system types.
- # -solaris* is a basic system type, with this one exception.
- -solaris1 | -solaris1.*)
- os=`echo $os | sed -e 's|solaris1|sunos4|'`
- ;;
- -solaris)
- os=-solaris2
- ;;
- -svr4*)
- os=-sysv4
- ;;
- -unixware*)
- os=-sysv4.2uw
- ;;
- -gnu/linux*)
- os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
- ;;
- # First accept the basic system types.
- # The portable systems comes first.
- # Each alternative MUST END IN A *, to match a version number.
- # -sysv* is not here because it comes later, after sysvr4.
- -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
- | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\
- | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
- | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
- | -aos* \
- | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
- | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
- | -hiux* | -386bsd* | -netbsd* | -openbsd* | -freebsd* | -riscix* \
- | -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
- | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
- | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
- | -chorusos* | -chorusrdb* \
- | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
- | -mingw32* | -linux-gnu* | -uxpv* | -beos* | -mpeix* | -udk* \
- | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
- | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
- | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
- | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
- | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
- | -powermax* | -dnix* | -nx6 | -nx7 | -sei*)
- # Remember, each alternative MUST END IN *, to match a version number.
- ;;
- -qnx*)
- case $basic_machine in
- x86-* | i*86-*)
- ;;
- *)
- os=-nto$os
- ;;
- esac
- ;;
- -nto-qnx*)
- ;;
- -nto*)
- os=`echo $os | sed -e 's|nto|nto-qnx|'`
- ;;
- -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
- | -windows* | -osx | -abug | -netware* | -os9* | -beos* \
- | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
- ;;
- -mac*)
- os=`echo $os | sed -e 's|mac|macos|'`
- ;;
- -linux*)
- os=`echo $os | sed -e 's|linux|linux-gnu|'`
- ;;
- -sunos5*)
- os=`echo $os | sed -e 's|sunos5|solaris2|'`
- ;;
- -sunos6*)
- os=`echo $os | sed -e 's|sunos6|solaris3|'`
- ;;
- -opened*)
- os=-openedition
- ;;
- -wince*)
- os=-wince
- ;;
- -osfrose*)
- os=-osfrose
- ;;
- -osf*)
- os=-osf
- ;;
- -utek*)
- os=-bsd
- ;;
- -dynix*)
- os=-bsd
- ;;
- -acis*)
- os=-aos
- ;;
- -atheos*)
- os=-atheos
- ;;
- -386bsd)
- os=-bsd
- ;;
- -ctix* | -uts*)
- os=-sysv
- ;;
- -nova*)
- os=-rtmk-nova
- ;;
- -ns2 )
- os=-nextstep2
- ;;
- -nsk*)
- os=-nsk
- ;;
- # Preserve the version number of sinix5.
- -sinix5.*)
- os=`echo $os | sed -e 's|sinix|sysv|'`
- ;;
- -sinix*)
- os=-sysv4
- ;;
- -triton*)
- os=-sysv3
- ;;
- -oss*)
- os=-sysv3
- ;;
- -svr4)
- os=-sysv4
- ;;
- -svr3)
- os=-sysv3
- ;;
- -sysvr4)
- os=-sysv4
- ;;
- # This must come after -sysvr4.
- -sysv*)
- ;;
- -ose*)
- os=-ose
- ;;
- -es1800*)
- os=-ose
- ;;
- -xenix)
- os=-xenix
- ;;
- -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
- os=-mint
- ;;
- -aros*)
- os=-aros
- ;;
- -kaos*)
- os=-kaos
- ;;
- -none)
- ;;
- *)
- # Get rid of the `-' at the beginning of $os.
- os=`echo $os | sed 's/[^-]*-//'`
- echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
- exit 1
- ;;
-esac
-else
-
-# Here we handle the default operating systems that come with various machines.
-# The value should be what the vendor currently ships out the door with their
-# machine or put another way, the most popular os provided with the machine.
-
-# Note that if you're going to try to match "-MANUFACTURER" here (say,
-# "-sun"), then you have to tell the case statement up towards the top
-# that MANUFACTURER isn't an operating system. Otherwise, code above
-# will signal an error saying that MANUFACTURER isn't an operating
-# system, and we'll never get to this point.
-
-case $basic_machine in
- *-acorn)
- os=-riscix1.2
- ;;
- arm*-rebel)
- os=-linux
- ;;
- arm*-semi)
- os=-aout
- ;;
- c4x-* | tic4x-*)
- os=-coff
- ;;
- # This must come before the *-dec entry.
- pdp10-*)
- os=-tops20
- ;;
- pdp11-*)
- os=-none
- ;;
- *-dec | vax-*)
- os=-ultrix4.2
- ;;
- m68*-apollo)
- os=-domain
- ;;
- i386-sun)
- os=-sunos4.0.2
- ;;
- m68000-sun)
- os=-sunos3
- # This also exists in the configure program, but was not the
- # default.
- # os=-sunos4
- ;;
- m68*-cisco)
- os=-aout
- ;;
- mips*-cisco)
- os=-elf
- ;;
- mips*-*)
- os=-elf
- ;;
- or32-*)
- os=-coff
- ;;
- *-tti) # must be before sparc entry or we get the wrong os.
- os=-sysv3
- ;;
- sparc-* | *-sun)
- os=-sunos4.1.1
- ;;
- *-be)
- os=-beos
- ;;
- *-ibm)
- os=-aix
- ;;
- *-wec)
- os=-proelf
- ;;
- *-winbond)
- os=-proelf
- ;;
- *-oki)
- os=-proelf
- ;;
- *-hp)
- os=-hpux
- ;;
- *-hitachi)
- os=-hiux
- ;;
- i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
- os=-sysv
- ;;
- *-cbm)
- os=-amigaos
- ;;
- *-dg)
- os=-dgux
- ;;
- *-dolphin)
- os=-sysv3
- ;;
- m68k-ccur)
- os=-rtu
- ;;
- m88k-omron*)
- os=-luna
- ;;
- *-next )
- os=-nextstep
- ;;
- *-sequent)
- os=-ptx
- ;;
- *-crds)
- os=-unos
- ;;
- *-ns)
- os=-genix
- ;;
- i370-*)
- os=-mvs
- ;;
- *-next)
- os=-nextstep3
- ;;
- *-gould)
- os=-sysv
- ;;
- *-highlevel)
- os=-bsd
- ;;
- *-encore)
- os=-bsd
- ;;
- *-sgi)
- os=-irix
- ;;
- *-siemens)
- os=-sysv4
- ;;
- *-masscomp)
- os=-rtu
- ;;
- f30[01]-fujitsu | f700-fujitsu)
- os=-uxpv
- ;;
- *-rom68k)
- os=-coff
- ;;
- *-*bug)
- os=-coff
- ;;
- *-apple)
- os=-macos
- ;;
- *-atari*)
- os=-mint
- ;;
- *)
- os=-none
- ;;
-esac
-fi
-
-# Here we handle the case where we know the os, and the CPU type, but not the
-# manufacturer. We pick the logical manufacturer.
-vendor=unknown
-case $basic_machine in
- *-unknown)
- case $os in
- -riscix*)
- vendor=acorn
- ;;
- -sunos*)
- vendor=sun
- ;;
- -aix*)
- vendor=ibm
- ;;
- -beos*)
- vendor=be
- ;;
- -hpux*)
- vendor=hp
- ;;
- -mpeix*)
- vendor=hp
- ;;
- -hiux*)
- vendor=hitachi
- ;;
- -unos*)
- vendor=crds
- ;;
- -dgux*)
- vendor=dg
- ;;
- -luna*)
- vendor=omron
- ;;
- -genix*)
- vendor=ns
- ;;
- -mvs* | -opened*)
- vendor=ibm
- ;;
- -ptx*)
- vendor=sequent
- ;;
- -vxsim* | -vxworks* | -windiss*)
- vendor=wrs
- ;;
- -aux*)
- vendor=apple
- ;;
- -hms*)
- vendor=hitachi
- ;;
- -mpw* | -macos*)
- vendor=apple
- ;;
- -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
- vendor=atari
- ;;
- -vos*)
- vendor=stratus
- ;;
- esac
- basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
- ;;
-esac
-
-echo $basic_machine$os
-exit 0
-
-# Local variables:
-# eval: (add-hook 'write-file-hooks 'time-stamp)
-# time-stamp-start: "timestamp='"
-# time-stamp-format: "%:y-%02m-%02d"
-# time-stamp-end: "'"
-# End:
diff --git a/winsup/w32api/configure b/winsup/w32api/configure
deleted file mode 100755
index 92d9f796c..000000000
--- a/winsup/w32api/configure
+++ /dev/null
@@ -1,2727 +0,0 @@
-#! /bin/sh
-# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.53.
-#
-# Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002
-# Free Software Foundation, Inc.
-# This configure script is free software; the Free Software Foundation
-# gives unlimited permission to copy, distribute and modify it.
-
-if expr a : '\(a\)' >/dev/null 2>&1; then
- as_expr=expr
-else
- as_expr=false
-fi
-
-
-## --------------------- ##
-## M4sh Initialization. ##
-## --------------------- ##
-
-# Be Bourne compatible
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
- emulate sh
- NULLCMD=:
-elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
- set -o posix
-fi
-
-# NLS nuisances.
-# Support unset when possible.
-if (FOO=FOO; unset FOO) >/dev/null 2>&1; then
- as_unset=unset
-else
- as_unset=false
-fi
-
-(set +x; test -n "`(LANG=C; export LANG) 2>&1`") &&
- { $as_unset LANG || test "${LANG+set}" != set; } ||
- { LANG=C; export LANG; }
-(set +x; test -n "`(LC_ALL=C; export LC_ALL) 2>&1`") &&
- { $as_unset LC_ALL || test "${LC_ALL+set}" != set; } ||
- { LC_ALL=C; export LC_ALL; }
-(set +x; test -n "`(LC_TIME=C; export LC_TIME) 2>&1`") &&
- { $as_unset LC_TIME || test "${LC_TIME+set}" != set; } ||
- { LC_TIME=C; export LC_TIME; }
-(set +x; test -n "`(LC_CTYPE=C; export LC_CTYPE) 2>&1`") &&
- { $as_unset LC_CTYPE || test "${LC_CTYPE+set}" != set; } ||
- { LC_CTYPE=C; export LC_CTYPE; }
-(set +x; test -n "`(LANGUAGE=C; export LANGUAGE) 2>&1`") &&
- { $as_unset LANGUAGE || test "${LANGUAGE+set}" != set; } ||
- { LANGUAGE=C; export LANGUAGE; }
-(set +x; test -n "`(LC_COLLATE=C; export LC_COLLATE) 2>&1`") &&
- { $as_unset LC_COLLATE || test "${LC_COLLATE+set}" != set; } ||
- { LC_COLLATE=C; export LC_COLLATE; }
-(set +x; test -n "`(LC_NUMERIC=C; export LC_NUMERIC) 2>&1`") &&
- { $as_unset LC_NUMERIC || test "${LC_NUMERIC+set}" != set; } ||
- { LC_NUMERIC=C; export LC_NUMERIC; }
-(set +x; test -n "`(LC_MESSAGES=C; export LC_MESSAGES) 2>&1`") &&
- { $as_unset LC_MESSAGES || test "${LC_MESSAGES+set}" != set; } ||
- { LC_MESSAGES=C; export LC_MESSAGES; }
-
-
-# Name of the executable.
-as_me=`(basename "$0") 2>/dev/null ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
- X"$0" : 'X\(//\)$' \| \
- X"$0" : 'X\(/\)$' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X/"$0" |
- sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; }
- /^X\/\(\/\/\)$/{ s//\1/; q; }
- /^X\/\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
-
-# PATH needs CR, and LINENO needs CR and PATH.
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- echo "#! /bin/sh" >conftest.sh
- echo "exit 0" >>conftest.sh
- chmod +x conftest.sh
- if (PATH=".;."; conftest.sh) >/dev/null 2>&1; then
- PATH_SEPARATOR=';'
- else
- PATH_SEPARATOR=:
- fi
- rm -f conftest.sh
-fi
-
-
- as_lineno_1=$LINENO
- as_lineno_2=$LINENO
- as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
- test "x$as_lineno_1" != "x$as_lineno_2" &&
- test "x$as_lineno_3" = "x$as_lineno_2" || {
- # Find who we are. Look in the path if we contain no path at all
- # relative or not.
- case $0 in
- *[\\/]* ) as_myself=$0 ;;
- *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
-done
-
- ;;
- esac
- # We did not find ourselves, most probably we were run as `sh COMMAND'
- # in which case we are not to be found in the path.
- if test "x$as_myself" = x; then
- as_myself=$0
- fi
- if test ! -f "$as_myself"; then
- { echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2
- { (exit 1); exit 1; }; }
- fi
- case $CONFIG_SHELL in
- '')
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for as_base in sh bash ksh sh5; do
- case $as_dir in
- /*)
- if ("$as_dir/$as_base" -c '
- as_lineno_1=$LINENO
- as_lineno_2=$LINENO
- as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
- test "x$as_lineno_1" != "x$as_lineno_2" &&
- test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then
- CONFIG_SHELL=$as_dir/$as_base
- export CONFIG_SHELL
- exec "$CONFIG_SHELL" "$0" ${1+"$@"}
- fi;;
- esac
- done
-done
-;;
- esac
-
- # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
- # uniformly replaced by the line number. The first 'sed' inserts a
- # line-number line before each line; the second 'sed' does the real
- # work. The second script uses 'N' to pair each line-number line
- # with the numbered line, and appends trailing '-' during
- # substitution so that $LINENO is not a special case at line end.
- # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
- # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-)
- sed '=' <$as_myself |
- sed '
- N
- s,$,-,
- : loop
- s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3,
- t loop
- s,-$,,
- s,^['$as_cr_digits']*\n,,
- ' >$as_me.lineno &&
- chmod +x $as_me.lineno ||
- { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
- { (exit 1); exit 1; }; }
-
- # Don't try to exec as it changes $[0], causing all sort of problems
- # (the dirname of $[0] is not the place where we might find the
- # original and so on. Autoconf is especially sensible to this).
- . ./$as_me.lineno
- # Exit status is that of the last command.
- exit
-}
-
-
-case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
- *c*,-n*) ECHO_N= ECHO_C='
-' ECHO_T=' ' ;;
- *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;;
- *) ECHO_N= ECHO_C='\c' ECHO_T= ;;
-esac
-
-if expr a : '\(a\)' >/dev/null 2>&1; then
- as_expr=expr
-else
- as_expr=false
-fi
-
-rm -f conf$$ conf$$.exe conf$$.file
-echo >conf$$.file
-if ln -s conf$$.file conf$$ 2>/dev/null; then
- # We could just check for DJGPP; but this test a) works b) is more generic
- # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
- if test -f conf$$.exe; then
- # Don't use ln at all; we don't have any links
- as_ln_s='cp -p'
- else
- as_ln_s='ln -s'
- fi
-elif ln conf$$.file conf$$ 2>/dev/null; then
- as_ln_s=ln
-else
- as_ln_s='cp -p'
-fi
-rm -f conf$$ conf$$.exe conf$$.file
-
-as_executable_p="test -f"
-
-# Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="sed y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g"
-
-# Sed expression to map a string onto a valid variable name.
-as_tr_sh="sed y%*+%pp%;s%[^_$as_cr_alnum]%_%g"
-
-
-# IFS
-# We need space, tab and new line, in precisely that order.
-as_nl='
-'
-IFS=" $as_nl"
-
-# CDPATH.
-$as_unset CDPATH || test "${CDPATH+set}" != set || { CDPATH=$PATH_SEPARATOR; export CDPATH; }
-
-
-# Name of the host.
-# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
-# so uname gets run too.
-ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
-
-exec 6>&1
-
-#
-# Initializations.
-#
-ac_default_prefix=/usr/local
-cross_compiling=no
-subdirs=
-MFLAGS=
-MAKEFLAGS=
-SHELL=${CONFIG_SHELL-/bin/sh}
-
-# Maximum number of lines to put in a shell here document.
-# This variable seems obsolete. It should probably be removed, and
-# only ac_max_sed_lines should be used.
-: ${ac_max_here_lines=38}
-
-# Identity of this package.
-PACKAGE_NAME=
-PACKAGE_TARNAME=
-PACKAGE_VERSION=
-PACKAGE_STRING=
-PACKAGE_BUGREPORT=
-
-ac_unique_file="lib/scrnsave.c"
-
-# Initialize some variables set by options.
-ac_init_help=
-ac_init_version=false
-# The variables have the same names as the options, with
-# dashes changed to underlines.
-cache_file=/dev/null
-exec_prefix=NONE
-no_create=
-no_recursion=
-prefix=NONE
-program_prefix=NONE
-program_suffix=NONE
-program_transform_name=s,x,x,
-silent=
-site=
-srcdir=
-verbose=
-x_includes=NONE
-x_libraries=NONE
-
-# Installation directory options.
-# These are left unexpanded so users can "make install exec_prefix=/foo"
-# and all the variables that are supposed to be based on exec_prefix
-# by default will actually change.
-# Use braces instead of parens because sh, perl, etc. also accept them.
-bindir='${exec_prefix}/bin'
-sbindir='${exec_prefix}/sbin'
-libexecdir='${exec_prefix}/libexec'
-datadir='${prefix}/share'
-sysconfdir='${prefix}/etc'
-sharedstatedir='${prefix}/com'
-localstatedir='${prefix}/var'
-libdir='${exec_prefix}/lib'
-includedir='${prefix}/include'
-oldincludedir='/usr/include'
-infodir='${prefix}/info'
-mandir='${prefix}/man'
-
-ac_prev=
-for ac_option
-do
- # If the previous option needs an argument, assign it.
- if test -n "$ac_prev"; then
- eval "$ac_prev=\$ac_option"
- ac_prev=
- continue
- fi
-
- ac_optarg=`expr "x$ac_option" : 'x[^=]*=\(.*\)'`
-
- # Accept the important Cygnus configure options, so we can diagnose typos.
-
- case $ac_option in
-
- -bindir | --bindir | --bindi | --bind | --bin | --bi)
- ac_prev=bindir ;;
- -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
- bindir=$ac_optarg ;;
-
- -build | --build | --buil | --bui | --bu)
- ac_prev=build_alias ;;
- -build=* | --build=* | --buil=* | --bui=* | --bu=*)
- build_alias=$ac_optarg ;;
-
- -cache-file | --cache-file | --cache-fil | --cache-fi \
- | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
- ac_prev=cache_file ;;
- -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
- | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
- cache_file=$ac_optarg ;;
-
- --config-cache | -C)
- cache_file=config.cache ;;
-
- -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
- ac_prev=datadir ;;
- -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
- | --da=*)
- datadir=$ac_optarg ;;
-
- -disable-* | --disable-*)
- ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null &&
- { echo "$as_me: error: invalid feature name: $ac_feature" >&2
- { (exit 1); exit 1; }; }
- ac_feature=`echo $ac_feature | sed 's/-/_/g'`
- eval "enable_$ac_feature=no" ;;
-
- -enable-* | --enable-*)
- ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null &&
- { echo "$as_me: error: invalid feature name: $ac_feature" >&2
- { (exit 1); exit 1; }; }
- ac_feature=`echo $ac_feature | sed 's/-/_/g'`
- case $ac_option in
- *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;;
- *) ac_optarg=yes ;;
- esac
- eval "enable_$ac_feature='$ac_optarg'" ;;
-
- -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
- | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
- | --exec | --exe | --ex)
- ac_prev=exec_prefix ;;
- -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
- | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
- | --exec=* | --exe=* | --ex=*)
- exec_prefix=$ac_optarg ;;
-
- -gas | --gas | --ga | --g)
- # Obsolete; use --with-gas.
- with_gas=yes ;;
-
- -help | --help | --hel | --he | -h)
- ac_init_help=long ;;
- -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
- ac_init_help=recursive ;;
- -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
- ac_init_help=short ;;
-
- -host | --host | --hos | --ho)
- ac_prev=host_alias ;;
- -host=* | --host=* | --hos=* | --ho=*)
- host_alias=$ac_optarg ;;
-
- -includedir | --includedir | --includedi | --included | --include \
- | --includ | --inclu | --incl | --inc)
- ac_prev=includedir ;;
- -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
- | --includ=* | --inclu=* | --incl=* | --inc=*)
- includedir=$ac_optarg ;;
-
- -infodir | --infodir | --infodi | --infod | --info | --inf)
- ac_prev=infodir ;;
- -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
- infodir=$ac_optarg ;;
-
- -libdir | --libdir | --libdi | --libd)
- ac_prev=libdir ;;
- -libdir=* | --libdir=* | --libdi=* | --libd=*)
- libdir=$ac_optarg ;;
-
- -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
- | --libexe | --libex | --libe)
- ac_prev=libexecdir ;;
- -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
- | --libexe=* | --libex=* | --libe=*)
- libexecdir=$ac_optarg ;;
-
- -localstatedir | --localstatedir | --localstatedi | --localstated \
- | --localstate | --localstat | --localsta | --localst \
- | --locals | --local | --loca | --loc | --lo)
- ac_prev=localstatedir ;;
- -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
- | --localstate=* | --localstat=* | --localsta=* | --localst=* \
- | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
- localstatedir=$ac_optarg ;;
-
- -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
- ac_prev=mandir ;;
- -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
- mandir=$ac_optarg ;;
-
- -nfp | --nfp | --nf)
- # Obsolete; use --without-fp.
- with_fp=no ;;
-
- -no-create | --no-create | --no-creat | --no-crea | --no-cre \
- | --no-cr | --no-c | -n)
- no_create=yes ;;
-
- -no-recursion | --no-recursion | --no-recursio | --no-recursi \
- | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
- no_recursion=yes ;;
-
- -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
- | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
- | --oldin | --oldi | --old | --ol | --o)
- ac_prev=oldincludedir ;;
- -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
- | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
- | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
- oldincludedir=$ac_optarg ;;
-
- -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
- ac_prev=prefix ;;
- -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
- prefix=$ac_optarg ;;
-
- -program-prefix | --program-prefix | --program-prefi | --program-pref \
- | --program-pre | --program-pr | --program-p)
- ac_prev=program_prefix ;;
- -program-prefix=* | --program-prefix=* | --program-prefi=* \
- | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
- program_prefix=$ac_optarg ;;
-
- -program-suffix | --program-suffix | --program-suffi | --program-suff \
- | --program-suf | --program-su | --program-s)
- ac_prev=program_suffix ;;
- -program-suffix=* | --program-suffix=* | --program-suffi=* \
- | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
- program_suffix=$ac_optarg ;;
-
- -program-transform-name | --program-transform-name \
- | --program-transform-nam | --program-transform-na \
- | --program-transform-n | --program-transform- \
- | --program-transform | --program-transfor \
- | --program-transfo | --program-transf \
- | --program-trans | --program-tran \
- | --progr-tra | --program-tr | --program-t)
- ac_prev=program_transform_name ;;
- -program-transform-name=* | --program-transform-name=* \
- | --program-transform-nam=* | --program-transform-na=* \
- | --program-transform-n=* | --program-transform-=* \
- | --program-transform=* | --program-transfor=* \
- | --program-transfo=* | --program-transf=* \
- | --program-trans=* | --program-tran=* \
- | --progr-tra=* | --program-tr=* | --program-t=*)
- program_transform_name=$ac_optarg ;;
-
- -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- | -silent | --silent | --silen | --sile | --sil)
- silent=yes ;;
-
- -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
- ac_prev=sbindir ;;
- -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
- | --sbi=* | --sb=*)
- sbindir=$ac_optarg ;;
-
- -sharedstatedir | --sharedstatedir | --sharedstatedi \
- | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
- | --sharedst | --shareds | --shared | --share | --shar \
- | --sha | --sh)
- ac_prev=sharedstatedir ;;
- -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
- | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
- | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
- | --sha=* | --sh=*)
- sharedstatedir=$ac_optarg ;;
-
- -site | --site | --sit)
- ac_prev=site ;;
- -site=* | --site=* | --sit=*)
- site=$ac_optarg ;;
-
- -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
- ac_prev=srcdir ;;
- -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
- srcdir=$ac_optarg ;;
-
- -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
- | --syscon | --sysco | --sysc | --sys | --sy)
- ac_prev=sysconfdir ;;
- -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
- | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
- sysconfdir=$ac_optarg ;;
-
- -target | --target | --targe | --targ | --tar | --ta | --t)
- ac_prev=target_alias ;;
- -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
- target_alias=$ac_optarg ;;
-
- -v | -verbose | --verbose | --verbos | --verbo | --verb)
- verbose=yes ;;
-
- -version | --version | --versio | --versi | --vers | -V)
- ac_init_version=: ;;
-
- -with-* | --with-*)
- ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null &&
- { echo "$as_me: error: invalid package name: $ac_package" >&2
- { (exit 1); exit 1; }; }
- ac_package=`echo $ac_package| sed 's/-/_/g'`
- case $ac_option in
- *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;;
- *) ac_optarg=yes ;;
- esac
- eval "with_$ac_package='$ac_optarg'" ;;
-
- -without-* | --without-*)
- ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null &&
- { echo "$as_me: error: invalid package name: $ac_package" >&2
- { (exit 1); exit 1; }; }
- ac_package=`echo $ac_package | sed 's/-/_/g'`
- eval "with_$ac_package=no" ;;
-
- --x)
- # Obsolete; use --with-x.
- with_x=yes ;;
-
- -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
- | --x-incl | --x-inc | --x-in | --x-i)
- ac_prev=x_includes ;;
- -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
- | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
- x_includes=$ac_optarg ;;
-
- -x-libraries | --x-libraries | --x-librarie | --x-librari \
- | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
- ac_prev=x_libraries ;;
- -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
- | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
- x_libraries=$ac_optarg ;;
-
- -*) { echo "$as_me: error: unrecognized option: $ac_option
-Try \`$0 --help' for more information." >&2
- { (exit 1); exit 1; }; }
- ;;
-
- *=*)
- ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
- # Reject names that are not valid shell variable names.
- expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null &&
- { echo "$as_me: error: invalid variable name: $ac_envvar" >&2
- { (exit 1); exit 1; }; }
- ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`
- eval "$ac_envvar='$ac_optarg'"
- export $ac_envvar ;;
-
- *)
- # FIXME: should be removed in autoconf 3.0.
- echo "$as_me: WARNING: you should use --build, --host, --target" >&2
- expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
- echo "$as_me: WARNING: invalid host type: $ac_option" >&2
- : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
- ;;
-
- esac
-done
-
-if test -n "$ac_prev"; then
- ac_option=--`echo $ac_prev | sed 's/_/-/g'`
- { echo "$as_me: error: missing argument to $ac_option" >&2
- { (exit 1); exit 1; }; }
-fi
-
-# Be sure to have absolute paths.
-for ac_var in exec_prefix prefix
-do
- eval ac_val=$`echo $ac_var`
- case $ac_val in
- [\\/$]* | ?:[\\/]* | NONE | '' ) ;;
- *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
- { (exit 1); exit 1; }; };;
- esac
-done
-
-# Be sure to have absolute paths.
-for ac_var in bindir sbindir libexecdir datadir sysconfdir sharedstatedir \
- localstatedir libdir includedir oldincludedir infodir mandir
-do
- eval ac_val=$`echo $ac_var`
- case $ac_val in
- [\\/$]* | ?:[\\/]* ) ;;
- *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
- { (exit 1); exit 1; }; };;
- esac
-done
-
-# There might be people who depend on the old broken behavior: `$host'
-# used to hold the argument of --host etc.
-# FIXME: To remove some day.
-build=$build_alias
-host=$host_alias
-target=$target_alias
-
-# FIXME: To remove some day.
-if test "x$host_alias" != x; then
- if test "x$build_alias" = x; then
- cross_compiling=maybe
- echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
- If a cross compiler is detected then cross compile mode will be used." >&2
- elif test "x$build_alias" != "x$host_alias"; then
- cross_compiling=yes
- fi
-fi
-
-ac_tool_prefix=
-test -n "$host_alias" && ac_tool_prefix=$host_alias-
-
-test "$silent" = yes && exec 6>/dev/null
-
-
-# Find the source files, if location was not specified.
-if test -z "$srcdir"; then
- ac_srcdir_defaulted=yes
- # Try the directory containing this script, then its parent.
- ac_confdir=`(dirname "$0") 2>/dev/null ||
-$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$0" : 'X\(//\)[^/]' \| \
- X"$0" : 'X\(//\)$' \| \
- X"$0" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X"$0" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
- srcdir=$ac_confdir
- if test ! -r $srcdir/$ac_unique_file; then
- srcdir=..
- fi
-else
- ac_srcdir_defaulted=no
-fi
-if test ! -r $srcdir/$ac_unique_file; then
- if test "$ac_srcdir_defaulted" = yes; then
- { echo "$as_me: error: cannot find sources ($ac_unique_file) in $ac_confdir or .." >&2
- { (exit 1); exit 1; }; }
- else
- { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2
- { (exit 1); exit 1; }; }
- fi
-fi
-srcdir=`echo "$srcdir" | sed 's%\([^\\/]\)[\\/]*$%\1%'`
-ac_env_build_alias_set=${build_alias+set}
-ac_env_build_alias_value=$build_alias
-ac_cv_env_build_alias_set=${build_alias+set}
-ac_cv_env_build_alias_value=$build_alias
-ac_env_host_alias_set=${host_alias+set}
-ac_env_host_alias_value=$host_alias
-ac_cv_env_host_alias_set=${host_alias+set}
-ac_cv_env_host_alias_value=$host_alias
-ac_env_target_alias_set=${target_alias+set}
-ac_env_target_alias_value=$target_alias
-ac_cv_env_target_alias_set=${target_alias+set}
-ac_cv_env_target_alias_value=$target_alias
-
-#
-# Report the --help message.
-#
-if test "$ac_init_help" = "long"; then
- # Omit some internal or obsolete options to make the list less imposing.
- # This message is too long to be a string in the A/UX 3.1 sh.
- cat <<_ACEOF
-\`configure' configures this package to adapt to many kinds of systems.
-
-Usage: $0 [OPTION]... [VAR=VALUE]...
-
-To assign environment variables (e.g., CC, CFLAGS...), specify them as
-VAR=VALUE. See below for descriptions of some of the useful variables.
-
-Defaults for the options are specified in brackets.
-
-Configuration:
- -h, --help display this help and exit
- --help=short display options specific to this package
- --help=recursive display the short help of all the included packages
- -V, --version display version information and exit
- -q, --quiet, --silent do not print \`checking...' messages
- --cache-file=FILE cache test results in FILE [disabled]
- -C, --config-cache alias for \`--cache-file=config.cache'
- -n, --no-create do not create output files
- --srcdir=DIR find the sources in DIR [configure dir or \`..']
-
-_ACEOF
-
- cat <<_ACEOF
-Installation directories:
- --prefix=PREFIX install architecture-independent files in PREFIX
- [$ac_default_prefix]
- --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
- [PREFIX]
-
-By default, \`make install' will install all the files in
-\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify
-an installation prefix other than \`$ac_default_prefix' using \`--prefix',
-for instance \`--prefix=\$HOME'.
-
-For better control, use the options below.
-
-Fine tuning of the installation directories:
- --bindir=DIR user executables [EPREFIX/bin]
- --sbindir=DIR system admin executables [EPREFIX/sbin]
- --libexecdir=DIR program executables [EPREFIX/libexec]
- --datadir=DIR read-only architecture-independent data [PREFIX/share]
- --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
- --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
- --localstatedir=DIR modifiable single-machine data [PREFIX/var]
- --libdir=DIR object code libraries [EPREFIX/lib]
- --includedir=DIR C header files [PREFIX/include]
- --oldincludedir=DIR C header files for non-gcc [/usr/include]
- --infodir=DIR info documentation [PREFIX/info]
- --mandir=DIR man documentation [PREFIX/man]
-_ACEOF
-
- cat <<\_ACEOF
-
-System types:
- --build=BUILD configure for building on BUILD [guessed]
- --host=HOST cross-compile to build programs to run on HOST [BUILD]
- --target=TARGET configure for building compilers for TARGET [HOST]
-_ACEOF
-fi
-
-if test -n "$ac_init_help"; then
-
- cat <<\_ACEOF
-
-_ACEOF
-fi
-
-if test "$ac_init_help" = "recursive"; then
- # If there are subdirs, report their specific --help.
- ac_popdir=`pwd`
- for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
- test -d $ac_dir || continue
- ac_builddir=.
-
-if test "$ac_dir" != .; then
- ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
- # A "../" for each directory in $ac_dir_suffix.
- ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
-else
- ac_dir_suffix= ac_top_builddir=
-fi
-
-case $srcdir in
- .) # No --srcdir option. We are building in place.
- ac_srcdir=.
- if test -z "$ac_top_builddir"; then
- ac_top_srcdir=.
- else
- ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
- fi ;;
- [\\/]* | ?:[\\/]* ) # Absolute path.
- ac_srcdir=$srcdir$ac_dir_suffix;
- ac_top_srcdir=$srcdir ;;
- *) # Relative path.
- ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
- ac_top_srcdir=$ac_top_builddir$srcdir ;;
-esac
-# Don't blindly perform a `cd "$ac_dir"/$ac_foo && pwd` since $ac_foo can be
-# absolute.
-ac_abs_builddir=`cd "$ac_dir" && cd $ac_builddir && pwd`
-ac_abs_top_builddir=`cd "$ac_dir" && cd $ac_top_builddir && pwd`
-ac_abs_srcdir=`cd "$ac_dir" && cd $ac_srcdir && pwd`
-ac_abs_top_srcdir=`cd "$ac_dir" && cd $ac_top_srcdir && pwd`
-
- cd $ac_dir
- # Check for guested configure; otherwise get Cygnus style configure.
- if test -f $ac_srcdir/configure.gnu; then
- echo
- $SHELL $ac_srcdir/configure.gnu --help=recursive
- elif test -f $ac_srcdir/configure; then
- echo
- $SHELL $ac_srcdir/configure --help=recursive
- elif test -f $ac_srcdir/configure.ac ||
- test -f $ac_srcdir/configure.in; then
- echo
- $ac_configure --help
- else
- echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
- fi
- cd $ac_popdir
- done
-fi
-
-test -n "$ac_init_help" && exit 0
-if $ac_init_version; then
- cat <<\_ACEOF
-
-Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002
-Free Software Foundation, Inc.
-This configure script is free software; the Free Software Foundation
-gives unlimited permission to copy, distribute and modify it.
-_ACEOF
- exit 0
-fi
-exec 5>config.log
-cat >&5 <<_ACEOF
-This file contains any messages produced by compilers while
-running configure, to aid debugging if configure makes a mistake.
-
-It was created by $as_me, which was
-generated by GNU Autoconf 2.53. Invocation command line was
-
- $ $0 $@
-
-_ACEOF
-{
-cat <<_ASUNAME
-## --------- ##
-## Platform. ##
-## --------- ##
-
-hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
-uname -m = `(uname -m) 2>/dev/null || echo unknown`
-uname -r = `(uname -r) 2>/dev/null || echo unknown`
-uname -s = `(uname -s) 2>/dev/null || echo unknown`
-uname -v = `(uname -v) 2>/dev/null || echo unknown`
-
-/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
-/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown`
-
-/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown`
-/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown`
-/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
-hostinfo = `(hostinfo) 2>/dev/null || echo unknown`
-/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown`
-/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown`
-/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown`
-
-_ASUNAME
-
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- echo "PATH: $as_dir"
-done
-
-} >&5
-
-cat >&5 <<_ACEOF
-
-
-## ----------- ##
-## Core tests. ##
-## ----------- ##
-
-_ACEOF
-
-
-# Keep a trace of the command line.
-# Strip out --no-create and --no-recursion so they do not pile up.
-# Also quote any args containing shell meta-characters.
-ac_configure_args=
-ac_sep=
-for ac_arg
-do
- case $ac_arg in
- -no-create | --no-create | --no-creat | --no-crea | --no-cre \
- | --no-cr | --no-c | -n ) continue ;;
- -no-recursion | --no-recursion | --no-recursio | --no-recursi \
- | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
- continue ;;
- *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*)
- ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
- esac
- case " $ac_configure_args " in
- *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy.
- *) ac_configure_args="$ac_configure_args$ac_sep'$ac_arg'"
- ac_sep=" " ;;
- esac
- # Get rid of the leading space.
-done
-
-# When interrupted or exit'd, cleanup temporary files, and complete
-# config.log. We remove comments because anyway the quotes in there
-# would cause problems or look ugly.
-# WARNING: Be sure not to use single quotes in there, as some shells,
-# such as our DU 5.0 friend, will then `close' the trap.
-trap 'exit_status=$?
- # Save into config.log some information that might help in debugging.
- {
- echo
- cat <<\_ASBOX
-## ---------------- ##
-## Cache variables. ##
-## ---------------- ##
-_ASBOX
- echo
- # The following way of writing the cache mishandles newlines in values,
-{
- (set) 2>&1 |
- case `(ac_space='"'"' '"'"'; set | grep ac_space) 2>&1` in
- *ac_space=\ *)
- sed -n \
- "s/'"'"'/'"'"'\\\\'"'"''"'"'/g;
- s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='"'"'\\2'"'"'/p"
- ;;
- *)
- sed -n \
- "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
- ;;
- esac;
-}
- echo
- if test -s confdefs.h; then
- cat <<\_ASBOX
-## ----------- ##
-## confdefs.h. ##
-## ----------- ##
-_ASBOX
- echo
- sed "/^$/d" confdefs.h
- echo
- fi
- test "$ac_signal" != 0 &&
- echo "$as_me: caught signal $ac_signal"
- echo "$as_me: exit $exit_status"
- } >&5
- rm -f core core.* *.core &&
- rm -rf conftest* confdefs* conf$$* $ac_clean_files &&
- exit $exit_status
- ' 0
-for ac_signal in 1 2 13 15; do
- trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal
-done
-ac_signal=0
-
-# confdefs.h avoids OS command line length limits that DEFS can exceed.
-rm -rf conftest* confdefs.h
-# AIX cpp loses on an empty file, so make sure it contains at least a newline.
-echo >confdefs.h
-
-# Predefined preprocessor variables.
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_NAME "$PACKAGE_NAME"
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_VERSION "$PACKAGE_VERSION"
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_STRING "$PACKAGE_STRING"
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
-_ACEOF
-
-
-# Let the site file select an alternate cache file if it wants to.
-# Prefer explicitly selected file to automatically selected ones.
-if test -z "$CONFIG_SITE"; then
- if test "x$prefix" != xNONE; then
- CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
- else
- CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
- fi
-fi
-for ac_site_file in $CONFIG_SITE; do
- if test -r "$ac_site_file"; then
- { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5
-echo "$as_me: loading site script $ac_site_file" >&6;}
- sed 's/^/| /' "$ac_site_file" >&5
- . "$ac_site_file"
- fi
-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
- { echo "$as_me:$LINENO: loading cache $cache_file" >&5
-echo "$as_me: loading cache $cache_file" >&6;}
- case $cache_file in
- [\\/]* | ?:[\\/]* ) . $cache_file;;
- *) . ./$cache_file;;
- esac
- fi
-else
- { echo "$as_me:$LINENO: creating cache $cache_file" >&5
-echo "$as_me: creating cache $cache_file" >&6;}
- >$cache_file
-fi
-
-# Check that the precious variables saved in the cache have kept the same
-# value.
-ac_cache_corrupted=false
-for ac_var in `(set) 2>&1 |
- sed -n 's/^ac_env_\([a-zA-Z_0-9]*\)_set=.*/\1/p'`; do
- eval ac_old_set=\$ac_cv_env_${ac_var}_set
- eval ac_new_set=\$ac_env_${ac_var}_set
- eval ac_old_val="\$ac_cv_env_${ac_var}_value"
- eval ac_new_val="\$ac_env_${ac_var}_value"
- case $ac_old_set,$ac_new_set in
- set,)
- { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
-echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
- ac_cache_corrupted=: ;;
- ,set)
- { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5
-echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
- ac_cache_corrupted=: ;;
- ,);;
- *)
- if test "x$ac_old_val" != "x$ac_new_val"; then
- { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5
-echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
- { echo "$as_me:$LINENO: former value: $ac_old_val" >&5
-echo "$as_me: former value: $ac_old_val" >&2;}
- { echo "$as_me:$LINENO: current value: $ac_new_val" >&5
-echo "$as_me: current value: $ac_new_val" >&2;}
- ac_cache_corrupted=:
- fi;;
- esac
- # Pass precious variables to config.status.
- if test "$ac_new_set" = set; then
- case $ac_new_val in
- *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*)
- ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
- *) ac_arg=$ac_var=$ac_new_val ;;
- esac
- case " $ac_configure_args " in
- *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy.
- *) ac_configure_args="$ac_configure_args '$ac_arg'" ;;
- esac
- fi
-done
-if $ac_cache_corrupted; then
- { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5
-echo "$as_me: error: changes in the environment can compromise the build" >&2;}
- { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5
-echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;}
- { (exit 1); exit 1; }; }
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-ac_aux_dir=
-for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do
- if test -f $ac_dir/install-sh; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/install-sh -c"
- break
- elif test -f $ac_dir/install.sh; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/install.sh -c"
- break
- elif test -f $ac_dir/shtool; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/shtool install -c"
- break
- fi
-done
-if test -z "$ac_aux_dir"; then
- { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&5
-echo "$as_me: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&2;}
- { (exit 1); exit 1; }; }
-fi
-ac_config_guess="$SHELL $ac_aux_dir/config.guess"
-ac_config_sub="$SHELL $ac_aux_dir/config.sub"
-ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure.
-
-# Make sure we can run config.sub.
-$ac_config_sub sun4 >/dev/null 2>&1 ||
- { { echo "$as_me:$LINENO: error: cannot run $ac_config_sub" >&5
-echo "$as_me: error: cannot run $ac_config_sub" >&2;}
- { (exit 1); exit 1; }; }
-
-echo "$as_me:$LINENO: checking build system type" >&5
-echo $ECHO_N "checking build system type... $ECHO_C" >&6
-if test "${ac_cv_build+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_cv_build_alias=$build_alias
-test -z "$ac_cv_build_alias" &&
- ac_cv_build_alias=`$ac_config_guess`
-test -z "$ac_cv_build_alias" &&
- { { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5
-echo "$as_me: error: cannot guess build type; you must specify one" >&2;}
- { (exit 1); exit 1; }; }
-ac_cv_build=`$ac_config_sub $ac_cv_build_alias` ||
- { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_build_alias failed" >&5
-echo "$as_me: error: $ac_config_sub $ac_cv_build_alias failed" >&2;}
- { (exit 1); exit 1; }; }
-
-fi
-echo "$as_me:$LINENO: result: $ac_cv_build" >&5
-echo "${ECHO_T}$ac_cv_build" >&6
-build=$ac_cv_build
-build_cpu=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
-build_vendor=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
-build_os=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
-
-
-echo "$as_me:$LINENO: checking host system type" >&5
-echo $ECHO_N "checking host system type... $ECHO_C" >&6
-if test "${ac_cv_host+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_cv_host_alias=$host_alias
-test -z "$ac_cv_host_alias" &&
- ac_cv_host_alias=$ac_cv_build_alias
-ac_cv_host=`$ac_config_sub $ac_cv_host_alias` ||
- { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_host_alias failed" >&5
-echo "$as_me: error: $ac_config_sub $ac_cv_host_alias failed" >&2;}
- { (exit 1); exit 1; }; }
-
-fi
-echo "$as_me:$LINENO: result: $ac_cv_host" >&5
-echo "${ECHO_T}$ac_cv_host" >&6
-host=$ac_cv_host
-host_cpu=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
-host_vendor=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
-host_os=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
-
-
-echo "$as_me:$LINENO: checking target system type" >&5
-echo $ECHO_N "checking target system type... $ECHO_C" >&6
-if test "${ac_cv_target+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_cv_target_alias=$target_alias
-test "x$ac_cv_target_alias" = "x" &&
- ac_cv_target_alias=$ac_cv_host_alias
-ac_cv_target=`$ac_config_sub $ac_cv_target_alias` ||
- { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_target_alias failed" >&5
-echo "$as_me: error: $ac_config_sub $ac_cv_target_alias failed" >&2;}
- { (exit 1); exit 1; }; }
-
-fi
-echo "$as_me:$LINENO: result: $ac_cv_target" >&5
-echo "${ECHO_T}$ac_cv_target" >&6
-target=$ac_cv_target
-target_cpu=`echo $ac_cv_target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
-target_vendor=`echo $ac_cv_target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
-target_os=`echo $ac_cv_target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
-
-
-# The aliases save the names the user supplied, while $host etc.
-# will get canonicalized.
-test -n "$target_alias" &&
- test "$program_prefix$program_suffix$program_transform_name" = \
- NONENONEs,x,x, &&
- program_prefix=${target_alias}-
-
-# Find a good install program. We prefer a C program (faster),
-# so one script is as good as another. But avoid the broken or
-# incompatible versions:
-# SysV /etc/install, /usr/sbin/install
-# SunOS /usr/etc/install
-# IRIX /sbin/install
-# AIX /bin/install
-# AmigaOS /C/install, which installs bootblocks on floppy discs
-# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
-# AFS /usr/afsws/bin/install, which mishandles nonexistent args
-# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
-# ./install, which can be erroneously created by make from ./install.sh.
-echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
-echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6
-if test -z "$INSTALL"; then
-if test "${ac_cv_path_install+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- # Account for people who put trailing slashes in PATH elements.
-case $as_dir/ in
- ./ | .// | /cC/* | \
- /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
- /usr/ucb/* ) ;;
- *)
- # OSF1 and SCO ODT 3.0 have their own names for install.
- # Don't use installbsd from OSF since it installs stuff as root
- # by default.
- for ac_prog in ginstall scoinst install; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
- if test $ac_prog = install &&
- grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
- # AIX install. It has an incompatible calling convention.
- :
- elif test $ac_prog = install &&
- grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
- # program-specific install script used by HP pwplus--don't use.
- :
- else
- ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
- break 3
- fi
- fi
- done
- done
- ;;
-esac
-done
-
-
-fi
- if test "${ac_cv_path_install+set}" = set; then
- INSTALL=$ac_cv_path_install
- else
- # As a last resort, use the slow shell script. We don't cache a
- # path for INSTALL within a source directory, because that will
- # break other packages using the cache if that directory is
- # removed, or if the path is relative.
- INSTALL=$ac_install_sh
- fi
-fi
-echo "$as_me:$LINENO: result: $INSTALL" >&5
-echo "${ECHO_T}$INSTALL" >&6
-
-# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
-# It thinks the first close brace ends the variable substitution.
-test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
-
-test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
-
-test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
-
-
-CFLAGS=${CFLAGS-"-O2 -g"}
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}gcc; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_CC="${ac_tool_prefix}gcc"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
-fi
-if test -z "$ac_cv_prog_CC"; then
- ac_ct_CC=$CC
- # Extract the first word of "gcc", so it can be a program name with args.
-set dummy gcc; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$ac_ct_CC"; then
- ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_CC="gcc"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
- test -z "$ac_cv_prog_ac_ct_CC" && ac_cv_prog_ac_ct_CC="gcc"
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
- echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
-echo "${ECHO_T}$ac_ct_CC" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
- CC=$ac_ct_CC
-else
- CC="$ac_cv_prog_CC"
-fi
-
-
-
-
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
-set dummy ${ac_tool_prefix}ar; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_AR+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$AR"; then
- ac_cv_prog_AR="$AR" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_AR="${ac_tool_prefix}ar"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
-fi
-fi
-AR=$ac_cv_prog_AR
-if test -n "$AR"; then
- echo "$as_me:$LINENO: result: $AR" >&5
-echo "${ECHO_T}$AR" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
-fi
-if test -z "$ac_cv_prog_AR"; then
- ac_ct_AR=$AR
- # Extract the first word of "ar", so it can be a program name with args.
-set dummy ar; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_ac_ct_AR+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$ac_ct_AR"; then
- ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_AR="ar"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
- test -z "$ac_cv_prog_ac_ct_AR" && ac_cv_prog_ac_ct_AR="ar"
-fi
-fi
-ac_ct_AR=$ac_cv_prog_ac_ct_AR
-if test -n "$ac_ct_AR"; then
- echo "$as_me:$LINENO: result: $ac_ct_AR" >&5
-echo "${ECHO_T}$ac_ct_AR" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
- AR=$ac_ct_AR
-else
- AR="$ac_cv_prog_AR"
-fi
-
-
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args.
-set dummy ${ac_tool_prefix}as; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_AS+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$AS"; then
- ac_cv_prog_AS="$AS" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_AS="${ac_tool_prefix}as"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
-fi
-fi
-AS=$ac_cv_prog_AS
-if test -n "$AS"; then
- echo "$as_me:$LINENO: result: $AS" >&5
-echo "${ECHO_T}$AS" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
-fi
-if test -z "$ac_cv_prog_AS"; then
- ac_ct_AS=$AS
- # Extract the first word of "as", so it can be a program name with args.
-set dummy as; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_ac_ct_AS+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$ac_ct_AS"; then
- ac_cv_prog_ac_ct_AS="$ac_ct_AS" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_AS="as"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
- test -z "$ac_cv_prog_ac_ct_AS" && ac_cv_prog_ac_ct_AS="as"
-fi
-fi
-ac_ct_AS=$ac_cv_prog_ac_ct_AS
-if test -n "$ac_ct_AS"; then
- echo "$as_me:$LINENO: result: $ac_ct_AS" >&5
-echo "${ECHO_T}$ac_ct_AS" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
- AS=$ac_ct_AS
-else
- AS="$ac_cv_prog_AS"
-fi
-
-
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
-set dummy ${ac_tool_prefix}ranlib; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_RANLIB+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$RANLIB"; then
- ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
-fi
-fi
-RANLIB=$ac_cv_prog_RANLIB
-if test -n "$RANLIB"; then
- echo "$as_me:$LINENO: result: $RANLIB" >&5
-echo "${ECHO_T}$RANLIB" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
-fi
-if test -z "$ac_cv_prog_RANLIB"; then
- ac_ct_RANLIB=$RANLIB
- # Extract the first word of "ranlib", so it can be a program name with args.
-set dummy ranlib; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$ac_ct_RANLIB"; then
- ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_RANLIB="ranlib"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
- test -z "$ac_cv_prog_ac_ct_RANLIB" && ac_cv_prog_ac_ct_RANLIB="ranlib"
-fi
-fi
-ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
-if test -n "$ac_ct_RANLIB"; then
- echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5
-echo "${ECHO_T}$ac_ct_RANLIB" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
- RANLIB=$ac_ct_RANLIB
-else
- RANLIB="$ac_cv_prog_RANLIB"
-fi
-
-
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}ld", so it can be a program name with args.
-set dummy ${ac_tool_prefix}ld; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_LD+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$LD"; then
- ac_cv_prog_LD="$LD" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_LD="${ac_tool_prefix}ld"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
-fi
-fi
-LD=$ac_cv_prog_LD
-if test -n "$LD"; then
- echo "$as_me:$LINENO: result: $LD" >&5
-echo "${ECHO_T}$LD" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
-fi
-if test -z "$ac_cv_prog_LD"; then
- ac_ct_LD=$LD
- # Extract the first word of "ld", so it can be a program name with args.
-set dummy ld; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_ac_ct_LD+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$ac_ct_LD"; then
- ac_cv_prog_ac_ct_LD="$ac_ct_LD" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_LD="ld"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
- test -z "$ac_cv_prog_ac_ct_LD" && ac_cv_prog_ac_ct_LD="ld"
-fi
-fi
-ac_ct_LD=$ac_cv_prog_ac_ct_LD
-if test -n "$ac_ct_LD"; then
- echo "$as_me:$LINENO: result: $ac_ct_LD" >&5
-echo "${ECHO_T}$ac_ct_LD" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
- LD=$ac_ct_LD
-else
- LD="$ac_cv_prog_LD"
-fi
-
-
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args.
-set dummy ${ac_tool_prefix}dlltool; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_DLLTOOL+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$DLLTOOL"; then
- ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
-fi
-fi
-DLLTOOL=$ac_cv_prog_DLLTOOL
-if test -n "$DLLTOOL"; then
- echo "$as_me:$LINENO: result: $DLLTOOL" >&5
-echo "${ECHO_T}$DLLTOOL" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
-fi
-if test -z "$ac_cv_prog_DLLTOOL"; then
- ac_ct_DLLTOOL=$DLLTOOL
- # Extract the first word of "dlltool", so it can be a program name with args.
-set dummy dlltool; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_ac_ct_DLLTOOL+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$ac_ct_DLLTOOL"; then
- ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_DLLTOOL="dlltool"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
- test -z "$ac_cv_prog_ac_ct_DLLTOOL" && ac_cv_prog_ac_ct_DLLTOOL="dlltool"
-fi
-fi
-ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL
-if test -n "$ac_ct_DLLTOOL"; then
- echo "$as_me:$LINENO: result: $ac_ct_DLLTOOL" >&5
-echo "${ECHO_T}$ac_ct_DLLTOOL" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
- DLLTOOL=$ac_ct_DLLTOOL
-else
- DLLTOOL="$ac_cv_prog_DLLTOOL"
-fi
-
-
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}windres", so it can be a program name with args.
-set dummy ${ac_tool_prefix}windres; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_WINDRES+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$WINDRES"; then
- ac_cv_prog_WINDRES="$WINDRES" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_WINDRES="${ac_tool_prefix}windres"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
-fi
-fi
-WINDRES=$ac_cv_prog_WINDRES
-if test -n "$WINDRES"; then
- echo "$as_me:$LINENO: result: $WINDRES" >&5
-echo "${ECHO_T}$WINDRES" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
-fi
-if test -z "$ac_cv_prog_WINDRES"; then
- ac_ct_WINDRES=$WINDRES
- # Extract the first word of "windres", so it can be a program name with args.
-set dummy windres; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_ac_ct_WINDRES+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$ac_ct_WINDRES"; then
- ac_cv_prog_ac_ct_WINDRES="$ac_ct_WINDRES" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_WINDRES="windres"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
- test -z "$ac_cv_prog_ac_ct_WINDRES" && ac_cv_prog_ac_ct_WINDRES="windres"
-fi
-fi
-ac_ct_WINDRES=$ac_cv_prog_ac_ct_WINDRES
-if test -n "$ac_ct_WINDRES"; then
- echo "$as_me:$LINENO: result: $ac_ct_WINDRES" >&5
-echo "${ECHO_T}$ac_ct_WINDRES" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
- WINDRES=$ac_ct_WINDRES
-else
- WINDRES="$ac_cv_prog_WINDRES"
-fi
-
-
-
-echo "$as_me:$LINENO: checking for build environment" >&5
-echo $ECHO_N "checking for build environment... $ECHO_C" >&6
-case "$build_alias" in
-*-mingw*) BUILDENV=mingw;;
-*-cygwin*) BUILDENV=cygwin;;
-esac
-if test -z "$BUILDENV"; then
- echo "$as_me:$LINENO: result: standard" >&5
-echo "${ECHO_T}standard" >&6
-else
- echo "$as_me:$LINENO: result: $BUILDENV" >&5
-echo "${ECHO_T}$BUILDENV" >&6
-fi
-
-
-ac_config_files="$ac_config_files Makefile lib/Makefile lib/ddk/Makefile lib/directx/Makefile"
-cat >confcache <<\_ACEOF
-# This file is a shell script that caches the results of configure
-# tests run on this system so they can be shared between configure
-# scripts and configure runs, see configure's option --config-cache.
-# It is not useful on other systems. If it contains results you don't
-# want to keep, you may remove or edit it.
-#
-# config.status only pays attention to the cache file if you give it
-# the --recheck option to rerun configure.
-#
-# `ac_cv_env_foo' variables (set or unset) will be overriden when
-# loading this file, other *unset* `ac_cv_foo' will be assigned the
-# following values.
-
-_ACEOF
-
-# The following way of writing the cache mishandles newlines in values,
-# but we know of no workaround that is simple, portable, and efficient.
-# So, don't put newlines in cache variables' values.
-# Ultrix sh set writes to stderr and can't be redirected directly,
-# and sets the high bit in the cache file unless we assign to the vars.
-{
- (set) 2>&1 |
- case `(ac_space=' '; set | grep ac_space) 2>&1` in
- *ac_space=\ *)
- # `set' does not quote correctly, so add quotes (double-quote
- # substitution turns \\\\ into \\, and sed turns \\ into \).
- sed -n \
- "s/'/'\\\\''/g;
- s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
- ;;
- *)
- # `set' quotes correctly as required by POSIX, so do not add quotes.
- sed -n \
- "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
- ;;
- esac;
-} |
- sed '
- t clear
- : clear
- s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
- t end
- /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
- : end' >>confcache
-if cmp -s $cache_file confcache; then :; else
- if test -w $cache_file; then
- test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file"
- cat confcache >$cache_file
- else
- echo "not updating unwritable cache $cache_file"
- fi
-fi
-rm -f confcache
-
-test "x$prefix" = xNONE && prefix=$ac_default_prefix
-# Let make expand exec_prefix.
-test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
-
-# VPATH may cause trouble with some makes, so we remove $(srcdir),
-# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
-# trailing colons and then remove the whole line if VPATH becomes empty
-# (actually we leave an empty line to preserve line numbers).
-if test "x$srcdir" = x.; then
- ac_vpsub='/^[ ]*VPATH[ ]*=/{
-s/:*\$(srcdir):*/:/;
-s/:*\${srcdir}:*/:/;
-s/:*@srcdir@:*/:/;
-s/^\([^=]*=[ ]*\):*/\1/;
-s/:*$//;
-s/^[^=]*=[ ]*$//;
-}'
-fi
-
-# Transform confdefs.h into DEFS.
-# Protect against shell expansion while executing Makefile rules.
-# Protect against Makefile macro expansion.
-#
-# If the first sed substitution is executed (which looks for macros that
-# take arguments), then we branch to the quote section. Otherwise,
-# look for a macro that doesn't take arguments.
-cat >confdef2opt.sed <<\_ACEOF
-t clear
-: clear
-s,^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\),-D\1=\2,g
-t quote
-s,^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\),-D\1=\2,g
-t quote
-d
-: quote
-s,[ `~#$^&*(){}\\|;'"<>?],\\&,g
-s,\[,\\&,g
-s,\],\\&,g
-s,\$,$$,g
-p
-_ACEOF
-# We use echo to avoid assuming a particular line-breaking character.
-# The extra dot is to prevent the shell from consuming trailing
-# line-breaks from the sub-command output. A line-break within
-# single-quotes doesn't work because, if this script is created in a
-# platform that uses two characters for line-breaks (e.g., DOS), tr
-# would break.
-ac_LF_and_DOT=`echo; echo .`
-DEFS=`sed -n -f confdef2opt.sed confdefs.h | tr "$ac_LF_and_DOT" ' .'`
-rm -f confdef2opt.sed
-
-
-
-: ${CONFIG_STATUS=./config.status}
-ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files $CONFIG_STATUS"
-{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5
-echo "$as_me: creating $CONFIG_STATUS" >&6;}
-cat >$CONFIG_STATUS <<_ACEOF
-#! $SHELL
-# Generated by $as_me.
-# Run this file to recreate the current configuration.
-# Compiler output produced by configure, useful for debugging
-# configure, is in config.log if it exists.
-
-debug=false
-SHELL=\${CONFIG_SHELL-$SHELL}
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF
-
-## --------------------- ##
-## M4sh Initialization. ##
-## --------------------- ##
-
-# Be Bourne compatible
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
- emulate sh
- NULLCMD=:
-elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
- set -o posix
-fi
-
-# NLS nuisances.
-# Support unset when possible.
-if (FOO=FOO; unset FOO) >/dev/null 2>&1; then
- as_unset=unset
-else
- as_unset=false
-fi
-
-(set +x; test -n "`(LANG=C; export LANG) 2>&1`") &&
- { $as_unset LANG || test "${LANG+set}" != set; } ||
- { LANG=C; export LANG; }
-(set +x; test -n "`(LC_ALL=C; export LC_ALL) 2>&1`") &&
- { $as_unset LC_ALL || test "${LC_ALL+set}" != set; } ||
- { LC_ALL=C; export LC_ALL; }
-(set +x; test -n "`(LC_TIME=C; export LC_TIME) 2>&1`") &&
- { $as_unset LC_TIME || test "${LC_TIME+set}" != set; } ||
- { LC_TIME=C; export LC_TIME; }
-(set +x; test -n "`(LC_CTYPE=C; export LC_CTYPE) 2>&1`") &&
- { $as_unset LC_CTYPE || test "${LC_CTYPE+set}" != set; } ||
- { LC_CTYPE=C; export LC_CTYPE; }
-(set +x; test -n "`(LANGUAGE=C; export LANGUAGE) 2>&1`") &&
- { $as_unset LANGUAGE || test "${LANGUAGE+set}" != set; } ||
- { LANGUAGE=C; export LANGUAGE; }
-(set +x; test -n "`(LC_COLLATE=C; export LC_COLLATE) 2>&1`") &&
- { $as_unset LC_COLLATE || test "${LC_COLLATE+set}" != set; } ||
- { LC_COLLATE=C; export LC_COLLATE; }
-(set +x; test -n "`(LC_NUMERIC=C; export LC_NUMERIC) 2>&1`") &&
- { $as_unset LC_NUMERIC || test "${LC_NUMERIC+set}" != set; } ||
- { LC_NUMERIC=C; export LC_NUMERIC; }
-(set +x; test -n "`(LC_MESSAGES=C; export LC_MESSAGES) 2>&1`") &&
- { $as_unset LC_MESSAGES || test "${LC_MESSAGES+set}" != set; } ||
- { LC_MESSAGES=C; export LC_MESSAGES; }
-
-
-# Name of the executable.
-as_me=`(basename "$0") 2>/dev/null ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
- X"$0" : 'X\(//\)$' \| \
- X"$0" : 'X\(/\)$' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X/"$0" |
- sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; }
- /^X\/\(\/\/\)$/{ s//\1/; q; }
- /^X\/\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
-
-# PATH needs CR, and LINENO needs CR and PATH.
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- echo "#! /bin/sh" >conftest.sh
- echo "exit 0" >>conftest.sh
- chmod +x conftest.sh
- if (PATH=".;."; conftest.sh) >/dev/null 2>&1; then
- PATH_SEPARATOR=';'
- else
- PATH_SEPARATOR=:
- fi
- rm -f conftest.sh
-fi
-
-
- as_lineno_1=$LINENO
- as_lineno_2=$LINENO
- as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
- test "x$as_lineno_1" != "x$as_lineno_2" &&
- test "x$as_lineno_3" = "x$as_lineno_2" || {
- # Find who we are. Look in the path if we contain no path at all
- # relative or not.
- case $0 in
- *[\\/]* ) as_myself=$0 ;;
- *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
-done
-
- ;;
- esac
- # We did not find ourselves, most probably we were run as `sh COMMAND'
- # in which case we are not to be found in the path.
- if test "x$as_myself" = x; then
- as_myself=$0
- fi
- if test ! -f "$as_myself"; then
- { { echo "$as_me:$LINENO: error: cannot find myself; rerun with an absolute path" >&5
-echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2;}
- { (exit 1); exit 1; }; }
- fi
- case $CONFIG_SHELL in
- '')
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for as_base in sh bash ksh sh5; do
- case $as_dir in
- /*)
- if ("$as_dir/$as_base" -c '
- as_lineno_1=$LINENO
- as_lineno_2=$LINENO
- as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
- test "x$as_lineno_1" != "x$as_lineno_2" &&
- test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then
- CONFIG_SHELL=$as_dir/$as_base
- export CONFIG_SHELL
- exec "$CONFIG_SHELL" "$0" ${1+"$@"}
- fi;;
- esac
- done
-done
-;;
- esac
-
- # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
- # uniformly replaced by the line number. The first 'sed' inserts a
- # line-number line before each line; the second 'sed' does the real
- # work. The second script uses 'N' to pair each line-number line
- # with the numbered line, and appends trailing '-' during
- # substitution so that $LINENO is not a special case at line end.
- # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
- # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-)
- sed '=' <$as_myself |
- sed '
- N
- s,$,-,
- : loop
- s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3,
- t loop
- s,-$,,
- s,^['$as_cr_digits']*\n,,
- ' >$as_me.lineno &&
- chmod +x $as_me.lineno ||
- { { echo "$as_me:$LINENO: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&5
-echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2;}
- { (exit 1); exit 1; }; }
-
- # Don't try to exec as it changes $[0], causing all sort of problems
- # (the dirname of $[0] is not the place where we might find the
- # original and so on. Autoconf is especially sensible to this).
- . ./$as_me.lineno
- # Exit status is that of the last command.
- exit
-}
-
-
-case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
- *c*,-n*) ECHO_N= ECHO_C='
-' ECHO_T=' ' ;;
- *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;;
- *) ECHO_N= ECHO_C='\c' ECHO_T= ;;
-esac
-
-if expr a : '\(a\)' >/dev/null 2>&1; then
- as_expr=expr
-else
- as_expr=false
-fi
-
-rm -f conf$$ conf$$.exe conf$$.file
-echo >conf$$.file
-if ln -s conf$$.file conf$$ 2>/dev/null; then
- # We could just check for DJGPP; but this test a) works b) is more generic
- # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
- if test -f conf$$.exe; then
- # Don't use ln at all; we don't have any links
- as_ln_s='cp -p'
- else
- as_ln_s='ln -s'
- fi
-elif ln conf$$.file conf$$ 2>/dev/null; then
- as_ln_s=ln
-else
- as_ln_s='cp -p'
-fi
-rm -f conf$$ conf$$.exe conf$$.file
-
-as_executable_p="test -f"
-
-# Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="sed y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g"
-
-# Sed expression to map a string onto a valid variable name.
-as_tr_sh="sed y%*+%pp%;s%[^_$as_cr_alnum]%_%g"
-
-
-# IFS
-# We need space, tab and new line, in precisely that order.
-as_nl='
-'
-IFS=" $as_nl"
-
-# CDPATH.
-$as_unset CDPATH || test "${CDPATH+set}" != set || { CDPATH=$PATH_SEPARATOR; export CDPATH; }
-
-exec 6>&1
-
-# Open the log real soon, to keep \$[0] and so on meaningful, and to
-# report actual input values of CONFIG_FILES etc. instead of their
-# values after options handling. Logging --version etc. is OK.
-exec 5>>config.log
-{
- echo
- sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
-## Running $as_me. ##
-_ASBOX
-} >&5
-cat >&5 <<_CSEOF
-
-This file was extended by $as_me, which was
-generated by GNU Autoconf 2.53. Invocation command line was
-
- CONFIG_FILES = $CONFIG_FILES
- CONFIG_HEADERS = $CONFIG_HEADERS
- CONFIG_LINKS = $CONFIG_LINKS
- CONFIG_COMMANDS = $CONFIG_COMMANDS
- $ $0 $@
-
-_CSEOF
-echo "on `(hostname || uname -n) 2>/dev/null | sed 1q`" >&5
-echo >&5
-_ACEOF
-
-# Files that config.status was made for.
-if test -n "$ac_config_files"; then
- echo "config_files=\"$ac_config_files\"" >>$CONFIG_STATUS
-fi
-
-if test -n "$ac_config_headers"; then
- echo "config_headers=\"$ac_config_headers\"" >>$CONFIG_STATUS
-fi
-
-if test -n "$ac_config_links"; then
- echo "config_links=\"$ac_config_links\"" >>$CONFIG_STATUS
-fi
-
-if test -n "$ac_config_commands"; then
- echo "config_commands=\"$ac_config_commands\"" >>$CONFIG_STATUS
-fi
-
-cat >>$CONFIG_STATUS <<\_ACEOF
-
-ac_cs_usage="\
-\`$as_me' instantiates files from templates according to the
-current configuration.
-
-Usage: $0 [OPTIONS] [FILE]...
-
- -h, --help print this help, then exit
- -V, --version print version number, then exit
- -d, --debug don't remove temporary files
- --recheck update $as_me by reconfiguring in the same conditions
- --file=FILE[:TEMPLATE]
- instantiate the configuration file FILE
-
-Configuration files:
-$config_files
-
-Report bugs to <bug-autoconf@gnu.org>."
-_ACEOF
-
-cat >>$CONFIG_STATUS <<_ACEOF
-ac_cs_version="\\
-config.status
-configured by $0, generated by GNU Autoconf 2.53,
- with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
-
-Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001
-Free Software Foundation, Inc.
-This config.status script is free software; the Free Software Foundation
-gives unlimited permission to copy, distribute and modify it."
-srcdir=$srcdir
-INSTALL="$INSTALL"
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF
-# If no file are specified by the user, then we need to provide default
-# value. By we need to know if files were specified by the user.
-ac_need_defaults=:
-while test $# != 0
-do
- case $1 in
- --*=*)
- ac_option=`expr "x$1" : 'x\([^=]*\)='`
- ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'`
- shift
- set dummy "$ac_option" "$ac_optarg" ${1+"$@"}
- shift
- ;;
- -*);;
- *) # This is not an option, so the user has probably given explicit
- # arguments.
- ac_need_defaults=false;;
- esac
-
- case $1 in
- # Handling of the options.
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF
- -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
- echo "running $SHELL $0 " $ac_configure_args " --no-create --no-recursion"
- exec $SHELL $0 $ac_configure_args --no-create --no-recursion ;;
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
- --version | --vers* | -V )
- echo "$ac_cs_version"; exit 0 ;;
- --he | --h)
- # Conflict between --help and --header
- { { echo "$as_me:$LINENO: error: ambiguous option: $1
-Try \`$0 --help' for more information." >&5
-echo "$as_me: error: ambiguous option: $1
-Try \`$0 --help' for more information." >&2;}
- { (exit 1); exit 1; }; };;
- --help | --hel | -h )
- echo "$ac_cs_usage"; exit 0 ;;
- --debug | --d* | -d )
- debug=: ;;
- --file | --fil | --fi | --f )
- shift
- CONFIG_FILES="$CONFIG_FILES $1"
- ac_need_defaults=false;;
- --header | --heade | --head | --hea )
- shift
- CONFIG_HEADERS="$CONFIG_HEADERS $1"
- ac_need_defaults=false;;
-
- # This is an error.
- -*) { { echo "$as_me:$LINENO: error: unrecognized option: $1
-Try \`$0 --help' for more information." >&5
-echo "$as_me: error: unrecognized option: $1
-Try \`$0 --help' for more information." >&2;}
- { (exit 1); exit 1; }; } ;;
-
- *) ac_config_targets="$ac_config_targets $1" ;;
-
- esac
- shift
-done
-
-_ACEOF
-
-
-
-
-
-cat >>$CONFIG_STATUS <<\_ACEOF
-for ac_config_target in $ac_config_targets
-do
- case "$ac_config_target" in
- # Handling of arguments.
- "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;;
- "lib/Makefile" ) CONFIG_FILES="$CONFIG_FILES lib/Makefile" ;;
- "lib/ddk/Makefile" ) CONFIG_FILES="$CONFIG_FILES lib/ddk/Makefile" ;;
- "lib/directx/Makefile" ) CONFIG_FILES="$CONFIG_FILES lib/directx/Makefile" ;;
- *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
-echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
- { (exit 1); exit 1; }; };;
- esac
-done
-
-# If the user did not use the arguments to specify the items to instantiate,
-# then the envvar interface is used. Set only those that are not.
-# We use the long form for the default assignment because of an extremely
-# bizarre bug on SunOS 4.1.3.
-if $ac_need_defaults; then
- test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
-fi
-
-# Create a temporary directory, and hook for its removal unless debugging.
-$debug ||
-{
- trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0
- trap '{ (exit 1); exit 1; }' 1 2 13 15
-}
-
-# Create a (secure) tmp directory for tmp files.
-: ${TMPDIR=/tmp}
-{
- tmp=`(umask 077 && mktemp -d -q "$TMPDIR/csXXXXXX") 2>/dev/null` &&
- test -n "$tmp" && test -d "$tmp"
-} ||
-{
- tmp=$TMPDIR/cs$$-$RANDOM
- (umask 077 && mkdir $tmp)
-} ||
-{
- echo "$me: cannot create a temporary directory in $TMPDIR" >&2
- { (exit 1); exit 1; }
-}
-
-_ACEOF
-
-cat >>$CONFIG_STATUS <<_ACEOF
-
-#
-# CONFIG_FILES section.
-#
-
-# No need to generate the scripts if there are no CONFIG_FILES.
-# This happens for instance when ./config.status config.h
-if test -n "\$CONFIG_FILES"; then
- # Protect against being on the right side of a sed subst in config.status.
- sed 's/,@/@@/; s/@,/@@/; s/,;t t\$/@;t t/; /@;t t\$/s/[\\\\&,]/\\\\&/g;
- s/@@/,@/; s/@@/@,/; s/@;t t\$/,;t t/' >\$tmp/subs.sed <<\\CEOF
-s,@SHELL@,$SHELL,;t t
-s,@PATH_SEPARATOR@,$PATH_SEPARATOR,;t t
-s,@PACKAGE_NAME@,$PACKAGE_NAME,;t t
-s,@PACKAGE_TARNAME@,$PACKAGE_TARNAME,;t t
-s,@PACKAGE_VERSION@,$PACKAGE_VERSION,;t t
-s,@PACKAGE_STRING@,$PACKAGE_STRING,;t t
-s,@PACKAGE_BUGREPORT@,$PACKAGE_BUGREPORT,;t t
-s,@exec_prefix@,$exec_prefix,;t t
-s,@prefix@,$prefix,;t t
-s,@program_transform_name@,$program_transform_name,;t t
-s,@bindir@,$bindir,;t t
-s,@sbindir@,$sbindir,;t t
-s,@libexecdir@,$libexecdir,;t t
-s,@datadir@,$datadir,;t t
-s,@sysconfdir@,$sysconfdir,;t t
-s,@sharedstatedir@,$sharedstatedir,;t t
-s,@localstatedir@,$localstatedir,;t t
-s,@libdir@,$libdir,;t t
-s,@includedir@,$includedir,;t t
-s,@oldincludedir@,$oldincludedir,;t t
-s,@infodir@,$infodir,;t t
-s,@mandir@,$mandir,;t t
-s,@build_alias@,$build_alias,;t t
-s,@host_alias@,$host_alias,;t t
-s,@target_alias@,$target_alias,;t t
-s,@DEFS@,$DEFS,;t t
-s,@ECHO_C@,$ECHO_C,;t t
-s,@ECHO_N@,$ECHO_N,;t t
-s,@ECHO_T@,$ECHO_T,;t t
-s,@LIBS@,$LIBS,;t t
-s,@build@,$build,;t t
-s,@build_cpu@,$build_cpu,;t t
-s,@build_vendor@,$build_vendor,;t t
-s,@build_os@,$build_os,;t t
-s,@host@,$host,;t t
-s,@host_cpu@,$host_cpu,;t t
-s,@host_vendor@,$host_vendor,;t t
-s,@host_os@,$host_os,;t t
-s,@target@,$target,;t t
-s,@target_cpu@,$target_cpu,;t t
-s,@target_vendor@,$target_vendor,;t t
-s,@target_os@,$target_os,;t t
-s,@INSTALL_PROGRAM@,$INSTALL_PROGRAM,;t t
-s,@INSTALL_SCRIPT@,$INSTALL_SCRIPT,;t t
-s,@INSTALL_DATA@,$INSTALL_DATA,;t t
-s,@CC@,$CC,;t t
-s,@ac_ct_CC@,$ac_ct_CC,;t t
-s,@CFLAGS@,$CFLAGS,;t t
-s,@AR@,$AR,;t t
-s,@ac_ct_AR@,$ac_ct_AR,;t t
-s,@AS@,$AS,;t t
-s,@ac_ct_AS@,$ac_ct_AS,;t t
-s,@RANLIB@,$RANLIB,;t t
-s,@ac_ct_RANLIB@,$ac_ct_RANLIB,;t t
-s,@LD@,$LD,;t t
-s,@ac_ct_LD@,$ac_ct_LD,;t t
-s,@DLLTOOL@,$DLLTOOL,;t t
-s,@ac_ct_DLLTOOL@,$ac_ct_DLLTOOL,;t t
-s,@WINDRES@,$WINDRES,;t t
-s,@ac_ct_WINDRES@,$ac_ct_WINDRES,;t t
-s,@BUILDENV@,$BUILDENV,;t t
-CEOF
-
-_ACEOF
-
- cat >>$CONFIG_STATUS <<\_ACEOF
- # Split the substitutions into bite-sized pieces for seds with
- # small command number limits, like on Digital OSF/1 and HP-UX.
- ac_max_sed_lines=48
- ac_sed_frag=1 # Number of current file.
- ac_beg=1 # First line for current file.
- ac_end=$ac_max_sed_lines # Line after last line for current file.
- ac_more_lines=:
- ac_sed_cmds=
- while $ac_more_lines; do
- if test $ac_beg -gt 1; then
- sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
- else
- sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
- fi
- if test ! -s $tmp/subs.frag; then
- ac_more_lines=false
- else
- # The purpose of the label and of the branching condition is to
- # speed up the sed processing (if there are no `@' at all, there
- # is no need to browse any of the substitutions).
- # These are the two extra sed commands mentioned above.
- (echo ':t
- /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed
- if test -z "$ac_sed_cmds"; then
- ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed"
- else
- ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed"
- fi
- ac_sed_frag=`expr $ac_sed_frag + 1`
- ac_beg=$ac_end
- ac_end=`expr $ac_end + $ac_max_sed_lines`
- fi
- done
- if test -z "$ac_sed_cmds"; then
- ac_sed_cmds=cat
- fi
-fi # test -n "$CONFIG_FILES"
-
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
-for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue
- # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
- case $ac_file in
- - | *:- | *:-:* ) # input from stdin
- cat >$tmp/stdin
- ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
- ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
- *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
- ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
- * ) ac_file_in=$ac_file.in ;;
- esac
-
- # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories.
- ac_dir=`(dirname "$ac_file") 2>/dev/null ||
-$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$ac_file" : 'X\(//\)[^/]' \| \
- X"$ac_file" : 'X\(//\)$' \| \
- X"$ac_file" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X"$ac_file" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
- { case "$ac_dir" in
- [\\/]* | ?:[\\/]* ) as_incr_dir=;;
- *) as_incr_dir=.;;
-esac
-as_dummy="$ac_dir"
-for as_mkdir_dir in `IFS='/\\'; set X $as_dummy; shift; echo "$@"`; do
- case $as_mkdir_dir in
- # Skip DOS drivespec
- ?:) as_incr_dir=$as_mkdir_dir ;;
- *)
- as_incr_dir=$as_incr_dir/$as_mkdir_dir
- test -d "$as_incr_dir" ||
- mkdir "$as_incr_dir" ||
- { { echo "$as_me:$LINENO: error: cannot create \"$ac_dir\"" >&5
-echo "$as_me: error: cannot create \"$ac_dir\"" >&2;}
- { (exit 1); exit 1; }; }
- ;;
- esac
-done; }
-
- ac_builddir=.
-
-if test "$ac_dir" != .; then
- ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
- # A "../" for each directory in $ac_dir_suffix.
- ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
-else
- ac_dir_suffix= ac_top_builddir=
-fi
-
-case $srcdir in
- .) # No --srcdir option. We are building in place.
- ac_srcdir=.
- if test -z "$ac_top_builddir"; then
- ac_top_srcdir=.
- else
- ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
- fi ;;
- [\\/]* | ?:[\\/]* ) # Absolute path.
- ac_srcdir=$srcdir$ac_dir_suffix;
- ac_top_srcdir=$srcdir ;;
- *) # Relative path.
- ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
- ac_top_srcdir=$ac_top_builddir$srcdir ;;
-esac
-# Don't blindly perform a `cd "$ac_dir"/$ac_foo && pwd` since $ac_foo can be
-# absolute.
-ac_abs_builddir=`cd "$ac_dir" && cd $ac_builddir && pwd`
-ac_abs_top_builddir=`cd "$ac_dir" && cd $ac_top_builddir && pwd`
-ac_abs_srcdir=`cd "$ac_dir" && cd $ac_srcdir && pwd`
-ac_abs_top_srcdir=`cd "$ac_dir" && cd $ac_top_srcdir && pwd`
-
-
- case $INSTALL in
- [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
- *) ac_INSTALL=$ac_top_builddir$INSTALL ;;
- esac
-
- if test x"$ac_file" != x-; then
- { echo "$as_me:$LINENO: creating $ac_file" >&5
-echo "$as_me: creating $ac_file" >&6;}
- rm -f "$ac_file"
- fi
- # Let's still pretend it is `configure' which instantiates (i.e., don't
- # use $as_me), people would be surprised to read:
- # /* config.h. Generated by config.status. */
- if test x"$ac_file" = x-; then
- configure_input=
- else
- configure_input="$ac_file. "
- fi
- configure_input=$configure_input"Generated from `echo $ac_file_in |
- sed 's,.*/,,'` by configure."
-
- # First look for the input files in the build tree, otherwise in the
- # src tree.
- ac_file_inputs=`IFS=:
- for f in $ac_file_in; do
- case $f in
- -) echo $tmp/stdin ;;
- [\\/$]*)
- # Absolute (can't be DOS-style, as IFS=:)
- test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
-echo "$as_me: error: cannot find input file: $f" >&2;}
- { (exit 1); exit 1; }; }
- echo $f;;
- *) # Relative
- if test -f "$f"; then
- # Build tree
- echo $f
- elif test -f "$srcdir/$f"; then
- # Source tree
- echo $srcdir/$f
- else
- # /dev/null tree
- { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
-echo "$as_me: error: cannot find input file: $f" >&2;}
- { (exit 1); exit 1; }; }
- fi;;
- esac
- done` || { (exit 1); exit 1; }
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF
- sed "$ac_vpsub
-$extrasub
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
-:t
-/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
-s,@configure_input@,$configure_input,;t t
-s,@srcdir@,$ac_srcdir,;t t
-s,@abs_srcdir@,$ac_abs_srcdir,;t t
-s,@top_srcdir@,$ac_top_srcdir,;t t
-s,@abs_top_srcdir@,$ac_abs_top_srcdir,;t t
-s,@builddir@,$ac_builddir,;t t
-s,@abs_builddir@,$ac_abs_builddir,;t t
-s,@top_builddir@,$ac_top_builddir,;t t
-s,@abs_top_builddir@,$ac_abs_top_builddir,;t t
-s,@INSTALL@,$ac_INSTALL,;t t
-" $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out
- rm -f $tmp/stdin
- if test x"$ac_file" != x-; then
- mv $tmp/out $ac_file
- else
- cat $tmp/out
- rm -f $tmp/out
- fi
-
-done
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF
-
-{ (exit 0); exit 0; }
-_ACEOF
-chmod +x $CONFIG_STATUS
-ac_clean_files=$ac_clean_files_save
-
-
-# configure is writing to config.log, and then calls config.status.
-# config.status does its own redirection, appending to config.log.
-# Unfortunately, on DOS this fails, as config.log is still kept open
-# by configure, so config.status won't be able to write to it; its
-# output is simply discarded. So we exec the FD to /dev/null,
-# effectively closing config.log, so it can be properly (re)opened and
-# appended to by config.status. When coming back to configure, we
-# need to make the FD available again.
-if test "$no_create" != yes; then
- ac_cs_success=:
- exec 5>/dev/null
- $SHELL $CONFIG_STATUS || ac_cs_success=false
- exec 5>>config.log
- # Use ||, not &&, to avoid exiting from the if with $? = 1, which
- # would make configure fail if this is the last instruction.
- $ac_cs_success || { (exit 1); exit 1; }
-fi
-
diff --git a/winsup/w32api/configure.in b/winsup/w32api/configure.in
deleted file mode 100644
index 36032f09f..000000000
--- a/winsup/w32api/configure.in
+++ /dev/null
@@ -1,50 +0,0 @@
-dnl Process this file with autoconf to produce a configure script.
-
-dnl This file is part of a free win32 library
-dnl
-dnl This program is distributed in the hope that it will be useful,
-dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
-dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-dnl GNU General Public License for more details.
-
-AC_PREREQ(2.12)
-AC_INIT(lib/scrnsave.c)
-
-AC_CANONICAL_SYSTEM
-
-dnl Find install command
-AC_PROG_INSTALL
-
-dnl check for cc and CFLAGS
-CFLAGS=${CFLAGS-"-O2 -g"}
-AC_CHECK_TOOL(CC, gcc, gcc)
-AC_SUBST(CC)
-AC_SUBST(CFLAGS)
-
-dnl check for various tools
-AC_CHECK_TOOL(AR, ar, ar)
-AC_SUBST(AR)
-AC_CHECK_TOOL(AS, as, as)
-AC_SUBST(AS)
-AC_CHECK_TOOL(RANLIB, ranlib, ranlib)
-AC_SUBST(RANLIB)
-AC_CHECK_TOOL(LD, ld, ld)
-AC_SUBST(LD)
-AC_CHECK_TOOL(DLLTOOL, dlltool, dlltool)
-AC_SUBST(DLLTOOL)
-AC_CHECK_TOOL(WINDRES, windres, windres)
-AC_SUBST(WINDRES)
-
-AC_MSG_CHECKING([for build environment])
-case "$build_alias" in
-*-mingw*) BUILDENV=mingw;;
-*-cygwin*) BUILDENV=cygwin;;
-esac
-if test -z "$BUILDENV"; then
- AC_MSG_RESULT(standard)
-else
- AC_MSG_RESULT($BUILDENV)
-fi
-AC_SUBST(BUILDENV)
-
-AC_OUTPUT(Makefile lib/Makefile lib/ddk/Makefile lib/directx/Makefile)
diff --git a/winsup/w32api/include/GL/gl.h b/winsup/w32api/include/GL/gl.h
deleted file mode 100644
index f11188ef1..000000000
--- a/winsup/w32api/include/GL/gl.h
+++ /dev/null
@@ -1,1472 +0,0 @@
-/* $Id$ */
-
-/*
- * Mesa 3-D graphics library
- * Version: 4.0
- *
- * Copyright (C) 1999-2001 Brian Paul All Rights Reserved.
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included
- * in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
- * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
- * BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
- * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- */
-
-
-/************************************************************************
- * 2002-Apr-22, José Fonseca:
- * Removed non Win32 system-specific stuff
- *
- * 2002-Apr-17, Marcus Geelnard:
- * For win32, OpenGL 1.2 & 1.3 definitions are not made in this file
- * anymore, since under Windows those are regarded as extensions, and
- * are better defined in glext.h (especially the function prototypes may
- * conflict with extension function pointers). A few "cosmetical"
- * changes were also made to this file.
- *
- * 2002-Apr-15, Marcus Geelnard:
- * Modified this file to better fit a wider range of compilers, removed
- * Mesa specific stuff, and removed extension definitions (this file now
- * relies on GL/glext.h). Hopefully this file should now function as a
- * generic OpenGL gl.h include file for most compilers and environments.
- * Changed GLAPIENTRY to APIENTRY (to be consistent with GL/glext.h).
- ************************************************************************/
-
-
-#ifndef __gl_h_
-#define __gl_h_
-
-
-
-/************************************************************************
- * Begin system-specific stuff.
- */
-/* __WIN32__ */
-#if !defined(__WIN32__) && (defined(_WIN32) || defined(WIN32) || defined(__CYGWIN__))
-# define __WIN32__
-#endif
-
-/* GLAPI, part 1 (use WINGDIAPI, if defined) */
-#if defined(__WIN32__) && defined(WINGDIAPI)
-# define GLAPI WINGDIAPI
-#endif
-
-/* GLAPI, part 2 */
-#if !defined(GLAPI)
-# if defined(_MSC_VER) /* Microsoft Visual C++ */
-# define GLAPI __declspec(dllimport)
-# elif defined(__LCC__) && defined(__WIN32__) /* LCC-Win32 */
-# define GLAPI __stdcall
-# else /* Others (e.g. MinGW, Cygwin, non-win32) */
-# define GLAPI extern
-# endif
-#endif
-
-/* APIENTRY */
-#if !defined(APIENTRY)
-# if defined(__WIN32__)
-# define APIENTRY __stdcall
-# else
-# define APIENTRY
-# endif
-#endif
-/*
- * End system-specific stuff.
- ************************************************************************/
-
-
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-
-#define GL_VERSION_1_1 1
-
-#if !defined(__WIN32__)
-#define GL_VERSION_1_2 1
-#define GL_VERSION_1_3 1
-#define GL_ARB_imaging 1
-#endif
-
-
-/*
- *
- * Datatypes
- *
- */
-#ifdef CENTERLINE_CLPP
-#define signed
-#endif
-typedef unsigned int GLenum;
-typedef unsigned char GLboolean;
-typedef unsigned int GLbitfield;
-typedef void GLvoid;
-typedef signed char GLbyte; /* 1-byte signed */
-typedef short GLshort; /* 2-byte signed */
-typedef int GLint; /* 4-byte signed */
-typedef unsigned char GLubyte; /* 1-byte unsigned */
-typedef unsigned short GLushort; /* 2-byte unsigned */
-typedef unsigned int GLuint; /* 4-byte unsigned */
-typedef int GLsizei; /* 4-byte signed */
-typedef float GLfloat; /* single precision float */
-typedef float GLclampf; /* single precision float in [0,1] */
-typedef double GLdouble; /* double precision float */
-typedef double GLclampd; /* double precision float in [0,1] */
-
-
-
-/************************************************************************
- *
- * Constants
- *
- ************************************************************************/
-
-/* Boolean values */
-#define GL_FALSE 0x0
-#define GL_TRUE 0x1
-
-/* Data types */
-#define GL_BYTE 0x1400
-#define GL_UNSIGNED_BYTE 0x1401
-#define GL_SHORT 0x1402
-#define GL_UNSIGNED_SHORT 0x1403
-#define GL_INT 0x1404
-#define GL_UNSIGNED_INT 0x1405
-#define GL_FLOAT 0x1406
-#define GL_DOUBLE 0x140A
-#define GL_2_BYTES 0x1407
-#define GL_3_BYTES 0x1408
-#define GL_4_BYTES 0x1409
-
-/* Primitives */
-#define GL_POINTS 0x0000
-#define GL_LINES 0x0001
-#define GL_LINE_LOOP 0x0002
-#define GL_LINE_STRIP 0x0003
-#define GL_TRIANGLES 0x0004
-#define GL_TRIANGLE_STRIP 0x0005
-#define GL_TRIANGLE_FAN 0x0006
-#define GL_QUADS 0x0007
-#define GL_QUAD_STRIP 0x0008
-#define GL_POLYGON 0x0009
-
-/* Vertex Arrays */
-#define GL_VERTEX_ARRAY 0x8074
-#define GL_NORMAL_ARRAY 0x8075
-#define GL_COLOR_ARRAY 0x8076
-#define GL_INDEX_ARRAY 0x8077
-#define GL_TEXTURE_COORD_ARRAY 0x8078
-#define GL_EDGE_FLAG_ARRAY 0x8079
-#define GL_VERTEX_ARRAY_SIZE 0x807A
-#define GL_VERTEX_ARRAY_TYPE 0x807B
-#define GL_VERTEX_ARRAY_STRIDE 0x807C
-#define GL_NORMAL_ARRAY_TYPE 0x807E
-#define GL_NORMAL_ARRAY_STRIDE 0x807F
-#define GL_COLOR_ARRAY_SIZE 0x8081
-#define GL_COLOR_ARRAY_TYPE 0x8082
-#define GL_COLOR_ARRAY_STRIDE 0x8083
-#define GL_INDEX_ARRAY_TYPE 0x8085
-#define GL_INDEX_ARRAY_STRIDE 0x8086
-#define GL_TEXTURE_COORD_ARRAY_SIZE 0x8088
-#define GL_TEXTURE_COORD_ARRAY_TYPE 0x8089
-#define GL_TEXTURE_COORD_ARRAY_STRIDE 0x808A
-#define GL_EDGE_FLAG_ARRAY_STRIDE 0x808C
-#define GL_VERTEX_ARRAY_POINTER 0x808E
-#define GL_NORMAL_ARRAY_POINTER 0x808F
-#define GL_COLOR_ARRAY_POINTER 0x8090
-#define GL_INDEX_ARRAY_POINTER 0x8091
-#define GL_TEXTURE_COORD_ARRAY_POINTER 0x8092
-#define GL_EDGE_FLAG_ARRAY_POINTER 0x8093
-#define GL_V2F 0x2A20
-#define GL_V3F 0x2A21
-#define GL_C4UB_V2F 0x2A22
-#define GL_C4UB_V3F 0x2A23
-#define GL_C3F_V3F 0x2A24
-#define GL_N3F_V3F 0x2A25
-#define GL_C4F_N3F_V3F 0x2A26
-#define GL_T2F_V3F 0x2A27
-#define GL_T4F_V4F 0x2A28
-#define GL_T2F_C4UB_V3F 0x2A29
-#define GL_T2F_C3F_V3F 0x2A2A
-#define GL_T2F_N3F_V3F 0x2A2B
-#define GL_T2F_C4F_N3F_V3F 0x2A2C
-#define GL_T4F_C4F_N3F_V4F 0x2A2D
-
-/* Matrix Mode */
-#define GL_MATRIX_MODE 0x0BA0
-#define GL_MODELVIEW 0x1700
-#define GL_PROJECTION 0x1701
-#define GL_TEXTURE 0x1702
-
-/* Points */
-#define GL_POINT_SMOOTH 0x0B10
-#define GL_POINT_SIZE 0x0B11
-#define GL_POINT_SIZE_GRANULARITY 0x0B13
-#define GL_POINT_SIZE_RANGE 0x0B12
-
-/* Lines */
-#define GL_LINE_SMOOTH 0x0B20
-#define GL_LINE_STIPPLE 0x0B24
-#define GL_LINE_STIPPLE_PATTERN 0x0B25
-#define GL_LINE_STIPPLE_REPEAT 0x0B26
-#define GL_LINE_WIDTH 0x0B21
-#define GL_LINE_WIDTH_GRANULARITY 0x0B23
-#define GL_LINE_WIDTH_RANGE 0x0B22
-
-/* Polygons */
-#define GL_POINT 0x1B00
-#define GL_LINE 0x1B01
-#define GL_FILL 0x1B02
-#define GL_CW 0x0900
-#define GL_CCW 0x0901
-#define GL_FRONT 0x0404
-#define GL_BACK 0x0405
-#define GL_POLYGON_MODE 0x0B40
-#define GL_POLYGON_SMOOTH 0x0B41
-#define GL_POLYGON_STIPPLE 0x0B42
-#define GL_EDGE_FLAG 0x0B43
-#define GL_CULL_FACE 0x0B44
-#define GL_CULL_FACE_MODE 0x0B45
-#define GL_FRONT_FACE 0x0B46
-#define GL_POLYGON_OFFSET_FACTOR 0x8038
-#define GL_POLYGON_OFFSET_UNITS 0x2A00
-#define GL_POLYGON_OFFSET_POINT 0x2A01
-#define GL_POLYGON_OFFSET_LINE 0x2A02
-#define GL_POLYGON_OFFSET_FILL 0x8037
-
-/* Display Lists */
-#define GL_COMPILE 0x1300
-#define GL_COMPILE_AND_EXECUTE 0x1301
-#define GL_LIST_BASE 0x0B32
-#define GL_LIST_INDEX 0x0B33
-#define GL_LIST_MODE 0x0B30
-
-/* Depth buffer */
-#define GL_NEVER 0x0200
-#define GL_LESS 0x0201
-#define GL_EQUAL 0x0202
-#define GL_LEQUAL 0x0203
-#define GL_GREATER 0x0204
-#define GL_NOTEQUAL 0x0205
-#define GL_GEQUAL 0x0206
-#define GL_ALWAYS 0x0207
-#define GL_DEPTH_TEST 0x0B71
-#define GL_DEPTH_BITS 0x0D56
-#define GL_DEPTH_CLEAR_VALUE 0x0B73
-#define GL_DEPTH_FUNC 0x0B74
-#define GL_DEPTH_RANGE 0x0B70
-#define GL_DEPTH_WRITEMASK 0x0B72
-#define GL_DEPTH_COMPONENT 0x1902
-
-/* Lighting */
-#define GL_LIGHTING 0x0B50
-#define GL_LIGHT0 0x4000
-#define GL_LIGHT1 0x4001
-#define GL_LIGHT2 0x4002
-#define GL_LIGHT3 0x4003
-#define GL_LIGHT4 0x4004
-#define GL_LIGHT5 0x4005
-#define GL_LIGHT6 0x4006
-#define GL_LIGHT7 0x4007
-#define GL_SPOT_EXPONENT 0x1205
-#define GL_SPOT_CUTOFF 0x1206
-#define GL_CONSTANT_ATTENUATION 0x1207
-#define GL_LINEAR_ATTENUATION 0x1208
-#define GL_QUADRATIC_ATTENUATION 0x1209
-#define GL_AMBIENT 0x1200
-#define GL_DIFFUSE 0x1201
-#define GL_SPECULAR 0x1202
-#define GL_SHININESS 0x1601
-#define GL_EMISSION 0x1600
-#define GL_POSITION 0x1203
-#define GL_SPOT_DIRECTION 0x1204
-#define GL_AMBIENT_AND_DIFFUSE 0x1602
-#define GL_COLOR_INDEXES 0x1603
-#define GL_LIGHT_MODEL_TWO_SIDE 0x0B52
-#define GL_LIGHT_MODEL_LOCAL_VIEWER 0x0B51
-#define GL_LIGHT_MODEL_AMBIENT 0x0B53
-#define GL_FRONT_AND_BACK 0x0408
-#define GL_SHADE_MODEL 0x0B54
-#define GL_FLAT 0x1D00
-#define GL_SMOOTH 0x1D01
-#define GL_COLOR_MATERIAL 0x0B57
-#define GL_COLOR_MATERIAL_FACE 0x0B55
-#define GL_COLOR_MATERIAL_PARAMETER 0x0B56
-#define GL_NORMALIZE 0x0BA1
-
-/* User clipping planes */
-#define GL_CLIP_PLANE0 0x3000
-#define GL_CLIP_PLANE1 0x3001
-#define GL_CLIP_PLANE2 0x3002
-#define GL_CLIP_PLANE3 0x3003
-#define GL_CLIP_PLANE4 0x3004
-#define GL_CLIP_PLANE5 0x3005
-
-/* Accumulation buffer */
-#define GL_ACCUM_RED_BITS 0x0D58
-#define GL_ACCUM_GREEN_BITS 0x0D59
-#define GL_ACCUM_BLUE_BITS 0x0D5A
-#define GL_ACCUM_ALPHA_BITS 0x0D5B
-#define GL_ACCUM_CLEAR_VALUE 0x0B80
-#define GL_ACCUM 0x0100
-#define GL_ADD 0x0104
-#define GL_LOAD 0x0101
-#define GL_MULT 0x0103
-#define GL_RETURN 0x0102
-
-/* Alpha testing */
-#define GL_ALPHA_TEST 0x0BC0
-#define GL_ALPHA_TEST_REF 0x0BC2
-#define GL_ALPHA_TEST_FUNC 0x0BC1
-
-/* Blending */
-#define GL_BLEND 0x0BE2
-#define GL_BLEND_SRC 0x0BE1
-#define GL_BLEND_DST 0x0BE0
-#define GL_ZERO 0x0
-#define GL_ONE 0x1
-#define GL_SRC_COLOR 0x0300
-#define GL_ONE_MINUS_SRC_COLOR 0x0301
-#define GL_SRC_ALPHA 0x0302
-#define GL_ONE_MINUS_SRC_ALPHA 0x0303
-#define GL_DST_ALPHA 0x0304
-#define GL_ONE_MINUS_DST_ALPHA 0x0305
-#define GL_DST_COLOR 0x0306
-#define GL_ONE_MINUS_DST_COLOR 0x0307
-#define GL_SRC_ALPHA_SATURATE 0x0308
-#define GL_CONSTANT_COLOR 0x8001
-#define GL_ONE_MINUS_CONSTANT_COLOR 0x8002
-#define GL_CONSTANT_ALPHA 0x8003
-#define GL_ONE_MINUS_CONSTANT_ALPHA 0x8004
-
-/* Render Mode */
-#define GL_FEEDBACK 0x1C01
-#define GL_RENDER 0x1C00
-#define GL_SELECT 0x1C02
-
-/* Feedback */
-#define GL_2D 0x0600
-#define GL_3D 0x0601
-#define GL_3D_COLOR 0x0602
-#define GL_3D_COLOR_TEXTURE 0x0603
-#define GL_4D_COLOR_TEXTURE 0x0604
-#define GL_POINT_TOKEN 0x0701
-#define GL_LINE_TOKEN 0x0702
-#define GL_LINE_RESET_TOKEN 0x0707
-#define GL_POLYGON_TOKEN 0x0703
-#define GL_BITMAP_TOKEN 0x0704
-#define GL_DRAW_PIXEL_TOKEN 0x0705
-#define GL_COPY_PIXEL_TOKEN 0x0706
-#define GL_PASS_THROUGH_TOKEN 0x0700
-#define GL_FEEDBACK_BUFFER_POINTER 0x0DF0
-#define GL_FEEDBACK_BUFFER_SIZE 0x0DF1
-#define GL_FEEDBACK_BUFFER_TYPE 0x0DF2
-
-/* Selection */
-#define GL_SELECTION_BUFFER_POINTER 0x0DF3
-#define GL_SELECTION_BUFFER_SIZE 0x0DF4
-
-/* Fog */
-#define GL_FOG 0x0B60
-#define GL_FOG_MODE 0x0B65
-#define GL_FOG_DENSITY 0x0B62
-#define GL_FOG_COLOR 0x0B66
-#define GL_FOG_INDEX 0x0B61
-#define GL_FOG_START 0x0B63
-#define GL_FOG_END 0x0B64
-#define GL_LINEAR 0x2601
-#define GL_EXP 0x0800
-#define GL_EXP2 0x0801
-
-/* Logic Ops */
-#define GL_LOGIC_OP 0x0BF1
-#define GL_INDEX_LOGIC_OP 0x0BF1
-#define GL_COLOR_LOGIC_OP 0x0BF2
-#define GL_LOGIC_OP_MODE 0x0BF0
-#define GL_CLEAR 0x1500
-#define GL_SET 0x150F
-#define GL_COPY 0x1503
-#define GL_COPY_INVERTED 0x150C
-#define GL_NOOP 0x1505
-#define GL_INVERT 0x150A
-#define GL_AND 0x1501
-#define GL_NAND 0x150E
-#define GL_OR 0x1507
-#define GL_NOR 0x1508
-#define GL_XOR 0x1506
-#define GL_EQUIV 0x1509
-#define GL_AND_REVERSE 0x1502
-#define GL_AND_INVERTED 0x1504
-#define GL_OR_REVERSE 0x150B
-#define GL_OR_INVERTED 0x150D
-
-/* Stencil */
-#define GL_STENCIL_TEST 0x0B90
-#define GL_STENCIL_WRITEMASK 0x0B98
-#define GL_STENCIL_BITS 0x0D57
-#define GL_STENCIL_FUNC 0x0B92
-#define GL_STENCIL_VALUE_MASK 0x0B93
-#define GL_STENCIL_REF 0x0B97
-#define GL_STENCIL_FAIL 0x0B94
-#define GL_STENCIL_PASS_DEPTH_PASS 0x0B96
-#define GL_STENCIL_PASS_DEPTH_FAIL 0x0B95
-#define GL_STENCIL_CLEAR_VALUE 0x0B91
-#define GL_STENCIL_INDEX 0x1901
-#define GL_KEEP 0x1E00
-#define GL_REPLACE 0x1E01
-#define GL_INCR 0x1E02
-#define GL_DECR 0x1E03
-
-/* Buffers, Pixel Drawing/Reading */
-#define GL_NONE 0x0
-#define GL_LEFT 0x0406
-#define GL_RIGHT 0x0407
-/*GL_FRONT 0x0404 */
-/*GL_BACK 0x0405 */
-/*GL_FRONT_AND_BACK 0x0408 */
-#define GL_FRONT_LEFT 0x0400
-#define GL_FRONT_RIGHT 0x0401
-#define GL_BACK_LEFT 0x0402
-#define GL_BACK_RIGHT 0x0403
-#define GL_AUX0 0x0409
-#define GL_AUX1 0x040A
-#define GL_AUX2 0x040B
-#define GL_AUX3 0x040C
-#define GL_COLOR_INDEX 0x1900
-#define GL_RED 0x1903
-#define GL_GREEN 0x1904
-#define GL_BLUE 0x1905
-#define GL_ALPHA 0x1906
-#define GL_LUMINANCE 0x1909
-#define GL_LUMINANCE_ALPHA 0x190A
-#define GL_ALPHA_BITS 0x0D55
-#define GL_RED_BITS 0x0D52
-#define GL_GREEN_BITS 0x0D53
-#define GL_BLUE_BITS 0x0D54
-#define GL_INDEX_BITS 0x0D51
-#define GL_SUBPIXEL_BITS 0x0D50
-#define GL_AUX_BUFFERS 0x0C00
-#define GL_READ_BUFFER 0x0C02
-#define GL_DRAW_BUFFER 0x0C01
-#define GL_DOUBLEBUFFER 0x0C32
-#define GL_STEREO 0x0C33
-#define GL_BITMAP 0x1A00
-#define GL_COLOR 0x1800
-#define GL_DEPTH 0x1801
-#define GL_STENCIL 0x1802
-#define GL_DITHER 0x0BD0
-#define GL_RGB 0x1907
-#define GL_RGBA 0x1908
-
-/* Implementation limits */
-#define GL_MAX_LIST_NESTING 0x0B31
-#define GL_MAX_ATTRIB_STACK_DEPTH 0x0D35
-#define GL_MAX_MODELVIEW_STACK_DEPTH 0x0D36
-#define GL_MAX_NAME_STACK_DEPTH 0x0D37
-#define GL_MAX_PROJECTION_STACK_DEPTH 0x0D38
-#define GL_MAX_TEXTURE_STACK_DEPTH 0x0D39
-#define GL_MAX_EVAL_ORDER 0x0D30
-#define GL_MAX_LIGHTS 0x0D31
-#define GL_MAX_CLIP_PLANES 0x0D32
-#define GL_MAX_TEXTURE_SIZE 0x0D33
-#define GL_MAX_PIXEL_MAP_TABLE 0x0D34
-#define GL_MAX_VIEWPORT_DIMS 0x0D3A
-#define GL_MAX_CLIENT_ATTRIB_STACK_DEPTH 0x0D3B
-
-/* Gets */
-#define GL_ATTRIB_STACK_DEPTH 0x0BB0
-#define GL_CLIENT_ATTRIB_STACK_DEPTH 0x0BB1
-#define GL_COLOR_CLEAR_VALUE 0x0C22
-#define GL_COLOR_WRITEMASK 0x0C23
-#define GL_CURRENT_INDEX 0x0B01
-#define GL_CURRENT_COLOR 0x0B00
-#define GL_CURRENT_NORMAL 0x0B02
-#define GL_CURRENT_RASTER_COLOR 0x0B04
-#define GL_CURRENT_RASTER_DISTANCE 0x0B09
-#define GL_CURRENT_RASTER_INDEX 0x0B05
-#define GL_CURRENT_RASTER_POSITION 0x0B07
-#define GL_CURRENT_RASTER_TEXTURE_COORDS 0x0B06
-#define GL_CURRENT_RASTER_POSITION_VALID 0x0B08
-#define GL_CURRENT_TEXTURE_COORDS 0x0B03
-#define GL_INDEX_CLEAR_VALUE 0x0C20
-#define GL_INDEX_MODE 0x0C30
-#define GL_INDEX_WRITEMASK 0x0C21
-#define GL_MODELVIEW_MATRIX 0x0BA6
-#define GL_MODELVIEW_STACK_DEPTH 0x0BA3
-#define GL_NAME_STACK_DEPTH 0x0D70
-#define GL_PROJECTION_MATRIX 0x0BA7
-#define GL_PROJECTION_STACK_DEPTH 0x0BA4
-#define GL_RENDER_MODE 0x0C40
-#define GL_RGBA_MODE 0x0C31
-#define GL_TEXTURE_MATRIX 0x0BA8
-#define GL_TEXTURE_STACK_DEPTH 0x0BA5
-#define GL_VIEWPORT 0x0BA2
-
-/* Evaluators */
-#define GL_AUTO_NORMAL 0x0D80
-#define GL_MAP1_COLOR_4 0x0D90
-#define GL_MAP1_GRID_DOMAIN 0x0DD0
-#define GL_MAP1_GRID_SEGMENTS 0x0DD1
-#define GL_MAP1_INDEX 0x0D91
-#define GL_MAP1_NORMAL 0x0D92
-#define GL_MAP1_TEXTURE_COORD_1 0x0D93
-#define GL_MAP1_TEXTURE_COORD_2 0x0D94
-#define GL_MAP1_TEXTURE_COORD_3 0x0D95
-#define GL_MAP1_TEXTURE_COORD_4 0x0D96
-#define GL_MAP1_VERTEX_3 0x0D97
-#define GL_MAP1_VERTEX_4 0x0D98
-#define GL_MAP2_COLOR_4 0x0DB0
-#define GL_MAP2_GRID_DOMAIN 0x0DD2
-#define GL_MAP2_GRID_SEGMENTS 0x0DD3
-#define GL_MAP2_INDEX 0x0DB1
-#define GL_MAP2_NORMAL 0x0DB2
-#define GL_MAP2_TEXTURE_COORD_1 0x0DB3
-#define GL_MAP2_TEXTURE_COORD_2 0x0DB4
-#define GL_MAP2_TEXTURE_COORD_3 0x0DB5
-#define GL_MAP2_TEXTURE_COORD_4 0x0DB6
-#define GL_MAP2_VERTEX_3 0x0DB7
-#define GL_MAP2_VERTEX_4 0x0DB8
-#define GL_COEFF 0x0A00
-#define GL_DOMAIN 0x0A02
-#define GL_ORDER 0x0A01
-
-/* Hints */
-#define GL_FOG_HINT 0x0C54
-#define GL_LINE_SMOOTH_HINT 0x0C52
-#define GL_PERSPECTIVE_CORRECTION_HINT 0x0C50
-#define GL_POINT_SMOOTH_HINT 0x0C51
-#define GL_POLYGON_SMOOTH_HINT 0x0C53
-#define GL_DONT_CARE 0x1100
-#define GL_FASTEST 0x1101
-#define GL_NICEST 0x1102
-
-/* Scissor box */
-#define GL_SCISSOR_TEST 0x0C11
-#define GL_SCISSOR_BOX 0x0C10
-
-/* Pixel Mode / Transfer */
-#define GL_MAP_COLOR 0x0D10
-#define GL_MAP_STENCIL 0x0D11
-#define GL_INDEX_SHIFT 0x0D12
-#define GL_INDEX_OFFSET 0x0D13
-#define GL_RED_SCALE 0x0D14
-#define GL_RED_BIAS 0x0D15
-#define GL_GREEN_SCALE 0x0D18
-#define GL_GREEN_BIAS 0x0D19
-#define GL_BLUE_SCALE 0x0D1A
-#define GL_BLUE_BIAS 0x0D1B
-#define GL_ALPHA_SCALE 0x0D1C
-#define GL_ALPHA_BIAS 0x0D1D
-#define GL_DEPTH_SCALE 0x0D1E
-#define GL_DEPTH_BIAS 0x0D1F
-#define GL_PIXEL_MAP_S_TO_S_SIZE 0x0CB1
-#define GL_PIXEL_MAP_I_TO_I_SIZE 0x0CB0
-#define GL_PIXEL_MAP_I_TO_R_SIZE 0x0CB2
-#define GL_PIXEL_MAP_I_TO_G_SIZE 0x0CB3
-#define GL_PIXEL_MAP_I_TO_B_SIZE 0x0CB4
-#define GL_PIXEL_MAP_I_TO_A_SIZE 0x0CB5
-#define GL_PIXEL_MAP_R_TO_R_SIZE 0x0CB6
-#define GL_PIXEL_MAP_G_TO_G_SIZE 0x0CB7
-#define GL_PIXEL_MAP_B_TO_B_SIZE 0x0CB8
-#define GL_PIXEL_MAP_A_TO_A_SIZE 0x0CB9
-#define GL_PIXEL_MAP_S_TO_S 0x0C71
-#define GL_PIXEL_MAP_I_TO_I 0x0C70
-#define GL_PIXEL_MAP_I_TO_R 0x0C72
-#define GL_PIXEL_MAP_I_TO_G 0x0C73
-#define GL_PIXEL_MAP_I_TO_B 0x0C74
-#define GL_PIXEL_MAP_I_TO_A 0x0C75
-#define GL_PIXEL_MAP_R_TO_R 0x0C76
-#define GL_PIXEL_MAP_G_TO_G 0x0C77
-#define GL_PIXEL_MAP_B_TO_B 0x0C78
-#define GL_PIXEL_MAP_A_TO_A 0x0C79
-#define GL_PACK_ALIGNMENT 0x0D05
-#define GL_PACK_LSB_FIRST 0x0D01
-#define GL_PACK_ROW_LENGTH 0x0D02
-#define GL_PACK_SKIP_PIXELS 0x0D04
-#define GL_PACK_SKIP_ROWS 0x0D03
-#define GL_PACK_SWAP_BYTES 0x0D00
-#define GL_UNPACK_ALIGNMENT 0x0CF5
-#define GL_UNPACK_LSB_FIRST 0x0CF1
-#define GL_UNPACK_ROW_LENGTH 0x0CF2
-#define GL_UNPACK_SKIP_PIXELS 0x0CF4
-#define GL_UNPACK_SKIP_ROWS 0x0CF3
-#define GL_UNPACK_SWAP_BYTES 0x0CF0
-#define GL_ZOOM_X 0x0D16
-#define GL_ZOOM_Y 0x0D17
-
-/* Texture mapping */
-#define GL_TEXTURE_ENV 0x2300
-#define GL_TEXTURE_ENV_MODE 0x2200
-#define GL_TEXTURE_1D 0x0DE0
-#define GL_TEXTURE_2D 0x0DE1
-#define GL_TEXTURE_WRAP_S 0x2802
-#define GL_TEXTURE_WRAP_T 0x2803
-#define GL_TEXTURE_MAG_FILTER 0x2800
-#define GL_TEXTURE_MIN_FILTER 0x2801
-#define GL_TEXTURE_ENV_COLOR 0x2201
-#define GL_TEXTURE_GEN_S 0x0C60
-#define GL_TEXTURE_GEN_T 0x0C61
-#define GL_TEXTURE_GEN_MODE 0x2500
-#define GL_TEXTURE_BORDER_COLOR 0x1004
-#define GL_TEXTURE_WIDTH 0x1000
-#define GL_TEXTURE_HEIGHT 0x1001
-#define GL_TEXTURE_BORDER 0x1005
-#define GL_TEXTURE_COMPONENTS 0x1003
-#define GL_TEXTURE_RED_SIZE 0x805C
-#define GL_TEXTURE_GREEN_SIZE 0x805D
-#define GL_TEXTURE_BLUE_SIZE 0x805E
-#define GL_TEXTURE_ALPHA_SIZE 0x805F
-#define GL_TEXTURE_LUMINANCE_SIZE 0x8060
-#define GL_TEXTURE_INTENSITY_SIZE 0x8061
-#define GL_NEAREST_MIPMAP_NEAREST 0x2700
-#define GL_NEAREST_MIPMAP_LINEAR 0x2702
-#define GL_LINEAR_MIPMAP_NEAREST 0x2701
-#define GL_LINEAR_MIPMAP_LINEAR 0x2703
-#define GL_OBJECT_LINEAR 0x2401
-#define GL_OBJECT_PLANE 0x2501
-#define GL_EYE_LINEAR 0x2400
-#define GL_EYE_PLANE 0x2502
-#define GL_SPHERE_MAP 0x2402
-#define GL_DECAL 0x2101
-#define GL_MODULATE 0x2100
-#define GL_NEAREST 0x2600
-#define GL_REPEAT 0x2901
-#define GL_CLAMP 0x2900
-#define GL_S 0x2000
-#define GL_T 0x2001
-#define GL_R 0x2002
-#define GL_Q 0x2003
-#define GL_TEXTURE_GEN_R 0x0C62
-#define GL_TEXTURE_GEN_Q 0x0C63
-
-/* Utility */
-#define GL_VENDOR 0x1F00
-#define GL_RENDERER 0x1F01
-#define GL_VERSION 0x1F02
-#define GL_EXTENSIONS 0x1F03
-
-/* Errors */
-#define GL_NO_ERROR 0x0
-#define GL_INVALID_VALUE 0x0501
-#define GL_INVALID_ENUM 0x0500
-#define GL_INVALID_OPERATION 0x0502
-#define GL_STACK_OVERFLOW 0x0503
-#define GL_STACK_UNDERFLOW 0x0504
-#define GL_OUT_OF_MEMORY 0x0505
-
-/* glPush/PopAttrib bits */
-#define GL_CURRENT_BIT 0x00000001
-#define GL_POINT_BIT 0x00000002
-#define GL_LINE_BIT 0x00000004
-#define GL_POLYGON_BIT 0x00000008
-#define GL_POLYGON_STIPPLE_BIT 0x00000010
-#define GL_PIXEL_MODE_BIT 0x00000020
-#define GL_LIGHTING_BIT 0x00000040
-#define GL_FOG_BIT 0x00000080
-#define GL_DEPTH_BUFFER_BIT 0x00000100
-#define GL_ACCUM_BUFFER_BIT 0x00000200
-#define GL_STENCIL_BUFFER_BIT 0x00000400
-#define GL_VIEWPORT_BIT 0x00000800
-#define GL_TRANSFORM_BIT 0x00001000
-#define GL_ENABLE_BIT 0x00002000
-#define GL_COLOR_BUFFER_BIT 0x00004000
-#define GL_HINT_BIT 0x00008000
-#define GL_EVAL_BIT 0x00010000
-#define GL_LIST_BIT 0x00020000
-#define GL_TEXTURE_BIT 0x00040000
-#define GL_SCISSOR_BIT 0x00080000
-#define GL_ALL_ATTRIB_BITS 0x000FFFFF
-
-
-/* OpenGL 1.1 */
-#define GL_PROXY_TEXTURE_1D 0x8063
-#define GL_PROXY_TEXTURE_2D 0x8064
-#define GL_TEXTURE_PRIORITY 0x8066
-#define GL_TEXTURE_RESIDENT 0x8067
-#define GL_TEXTURE_BINDING_1D 0x8068
-#define GL_TEXTURE_BINDING_2D 0x8069
-#define GL_TEXTURE_INTERNAL_FORMAT 0x1003
-#define GL_ALPHA4 0x803B
-#define GL_ALPHA8 0x803C
-#define GL_ALPHA12 0x803D
-#define GL_ALPHA16 0x803E
-#define GL_LUMINANCE4 0x803F
-#define GL_LUMINANCE8 0x8040
-#define GL_LUMINANCE12 0x8041
-#define GL_LUMINANCE16 0x8042
-#define GL_LUMINANCE4_ALPHA4 0x8043
-#define GL_LUMINANCE6_ALPHA2 0x8044
-#define GL_LUMINANCE8_ALPHA8 0x8045
-#define GL_LUMINANCE12_ALPHA4 0x8046
-#define GL_LUMINANCE12_ALPHA12 0x8047
-#define GL_LUMINANCE16_ALPHA16 0x8048
-#define GL_INTENSITY 0x8049
-#define GL_INTENSITY4 0x804A
-#define GL_INTENSITY8 0x804B
-#define GL_INTENSITY12 0x804C
-#define GL_INTENSITY16 0x804D
-#define GL_R3_G3_B2 0x2A10
-#define GL_RGB4 0x804F
-#define GL_RGB5 0x8050
-#define GL_RGB8 0x8051
-#define GL_RGB10 0x8052
-#define GL_RGB12 0x8053
-#define GL_RGB16 0x8054
-#define GL_RGBA2 0x8055
-#define GL_RGBA4 0x8056
-#define GL_RGB5_A1 0x8057
-#define GL_RGBA8 0x8058
-#define GL_RGB10_A2 0x8059
-#define GL_RGBA12 0x805A
-#define GL_RGBA16 0x805B
-#define GL_CLIENT_PIXEL_STORE_BIT 0x00000001
-#define GL_CLIENT_VERTEX_ARRAY_BIT 0x00000002
-#define GL_ALL_CLIENT_ATTRIB_BITS 0xFFFFFFFF
-#define GL_CLIENT_ALL_ATTRIB_BITS 0xFFFFFFFF
-
-
-/* Under Windows, we do not define OpenGL 1.2 & 1.3 functionality, since
- it is treated as extensions (defined in glext.h) */
-#if !defined(__WIN32__)
-
-/* OpenGL 1.2 */
-#define GL_RESCALE_NORMAL 0x803A
-#define GL_CLAMP_TO_EDGE 0x812F
-#define GL_MAX_ELEMENTS_VERTICES 0x80E8
-#define GL_MAX_ELEMENTS_INDICES 0x80E9
-#define GL_BGR 0x80E0
-#define GL_BGRA 0x80E1
-#define GL_UNSIGNED_BYTE_3_3_2 0x8032
-#define GL_UNSIGNED_BYTE_2_3_3_REV 0x8362
-#define GL_UNSIGNED_SHORT_5_6_5 0x8363
-#define GL_UNSIGNED_SHORT_5_6_5_REV 0x8364
-#define GL_UNSIGNED_SHORT_4_4_4_4 0x8033
-#define GL_UNSIGNED_SHORT_4_4_4_4_REV 0x8365
-#define GL_UNSIGNED_SHORT_5_5_5_1 0x8034
-#define GL_UNSIGNED_SHORT_1_5_5_5_REV 0x8366
-#define GL_UNSIGNED_INT_8_8_8_8 0x8035
-#define GL_UNSIGNED_INT_8_8_8_8_REV 0x8367
-#define GL_UNSIGNED_INT_10_10_10_2 0x8036
-#define GL_UNSIGNED_INT_2_10_10_10_REV 0x8368
-#define GL_LIGHT_MODEL_COLOR_CONTROL 0x81F8
-#define GL_SINGLE_COLOR 0x81F9
-#define GL_SEPARATE_SPECULAR_COLOR 0x81FA
-#define GL_TEXTURE_MIN_LOD 0x813A
-#define GL_TEXTURE_MAX_LOD 0x813B
-#define GL_TEXTURE_BASE_LEVEL 0x813C
-#define GL_TEXTURE_MAX_LEVEL 0x813D
-#define GL_SMOOTH_POINT_SIZE_RANGE 0x0B12
-#define GL_SMOOTH_POINT_SIZE_GRANULARITY 0x0B13
-#define GL_SMOOTH_LINE_WIDTH_RANGE 0x0B22
-#define GL_SMOOTH_LINE_WIDTH_GRANULARITY 0x0B23
-#define GL_ALIASED_POINT_SIZE_RANGE 0x846D
-#define GL_ALIASED_LINE_WIDTH_RANGE 0x846E
-#define GL_PACK_SKIP_IMAGES 0x806B
-#define GL_PACK_IMAGE_HEIGHT 0x806C
-#define GL_UNPACK_SKIP_IMAGES 0x806D
-#define GL_UNPACK_IMAGE_HEIGHT 0x806E
-#define GL_TEXTURE_3D 0x806F
-#define GL_PROXY_TEXTURE_3D 0x8070
-#define GL_TEXTURE_DEPTH 0x8071
-#define GL_TEXTURE_WRAP_R 0x8072
-#define GL_MAX_3D_TEXTURE_SIZE 0x8073
-#define GL_TEXTURE_BINDING_3D 0x806A
-
-/* OpenGL 1.2 imaging subset */
-/* GL_EXT_color_table */
-#define GL_COLOR_TABLE 0x80D0
-#define GL_POST_CONVOLUTION_COLOR_TABLE 0x80D1
-#define GL_POST_COLOR_MATRIX_COLOR_TABLE 0x80D2
-#define GL_PROXY_COLOR_TABLE 0x80D3
-#define GL_PROXY_POST_CONVOLUTION_COLOR_TABLE 0x80D4
-#define GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE 0x80D5
-#define GL_COLOR_TABLE_SCALE 0x80D6
-#define GL_COLOR_TABLE_BIAS 0x80D7
-#define GL_COLOR_TABLE_FORMAT 0x80D8
-#define GL_COLOR_TABLE_WIDTH 0x80D9
-#define GL_COLOR_TABLE_RED_SIZE 0x80DA
-#define GL_COLOR_TABLE_GREEN_SIZE 0x80DB
-#define GL_COLOR_TABLE_BLUE_SIZE 0x80DC
-#define GL_COLOR_TABLE_ALPHA_SIZE 0x80DD
-#define GL_COLOR_TABLE_LUMINANCE_SIZE 0x80DE
-#define GL_COLOR_TABLE_INTENSITY_SIZE 0x80DF
-/* GL_EXT_convolution and GL_HP_convolution_border_modes */
-#define GL_CONVOLUTION_1D 0x8010
-#define GL_CONVOLUTION_2D 0x8011
-#define GL_SEPARABLE_2D 0x8012
-#define GL_CONVOLUTION_BORDER_MODE 0x8013
-#define GL_CONVOLUTION_FILTER_SCALE 0x8014
-#define GL_CONVOLUTION_FILTER_BIAS 0x8015
-#define GL_REDUCE 0x8016
-#define GL_CONVOLUTION_FORMAT 0x8017
-#define GL_CONVOLUTION_WIDTH 0x8018
-#define GL_CONVOLUTION_HEIGHT 0x8019
-#define GL_MAX_CONVOLUTION_WIDTH 0x801A
-#define GL_MAX_CONVOLUTION_HEIGHT 0x801B
-#define GL_POST_CONVOLUTION_RED_SCALE 0x801C
-#define GL_POST_CONVOLUTION_GREEN_SCALE 0x801D
-#define GL_POST_CONVOLUTION_BLUE_SCALE 0x801E
-#define GL_POST_CONVOLUTION_ALPHA_SCALE 0x801F
-#define GL_POST_CONVOLUTION_RED_BIAS 0x8020
-#define GL_POST_CONVOLUTION_GREEN_BIAS 0x8021
-#define GL_POST_CONVOLUTION_BLUE_BIAS 0x8022
-#define GL_POST_CONVOLUTION_ALPHA_BIAS 0x8023
-#define GL_CONSTANT_BORDER 0x8151
-#define GL_REPLICATE_BORDER 0x8153
-#define GL_CONVOLUTION_BORDER_COLOR 0x8154
-/* GL_SGI_color_matrix */
-#define GL_COLOR_MATRIX 0x80B1
-#define GL_COLOR_MATRIX_STACK_DEPTH 0x80B2
-#define GL_MAX_COLOR_MATRIX_STACK_DEPTH 0x80B3
-#define GL_POST_COLOR_MATRIX_RED_SCALE 0x80B4
-#define GL_POST_COLOR_MATRIX_GREEN_SCALE 0x80B5
-#define GL_POST_COLOR_MATRIX_BLUE_SCALE 0x80B6
-#define GL_POST_COLOR_MATRIX_ALPHA_SCALE 0x80B7
-#define GL_POST_COLOR_MATRIX_RED_BIAS 0x80B8
-#define GL_POST_COLOR_MATRIX_GREEN_BIAS 0x80B9
-#define GL_POST_COLOR_MATRIX_BLUE_BIAS 0x80BA
-#define GL_POST_COLOR_MATRIX_ALPHA_BIAS 0x80BB
-/* GL_EXT_histogram */
-#define GL_HISTOGRAM 0x8024
-#define GL_PROXY_HISTOGRAM 0x8025
-#define GL_HISTOGRAM_WIDTH 0x8026
-#define GL_HISTOGRAM_FORMAT 0x8027
-#define GL_HISTOGRAM_RED_SIZE 0x8028
-#define GL_HISTOGRAM_GREEN_SIZE 0x8029
-#define GL_HISTOGRAM_BLUE_SIZE 0x802A
-#define GL_HISTOGRAM_ALPHA_SIZE 0x802B
-#define GL_HISTOGRAM_LUMINANCE_SIZE 0x802C
-#define GL_HISTOGRAM_SINK 0x802D
-#define GL_MINMAX 0x802E
-#define GL_MINMAX_FORMAT 0x802F
-#define GL_MINMAX_SINK 0x8030
-#define GL_TABLE_TOO_LARGE 0x8031
-/* GL_EXT_blend_color, GL_EXT_blend_minmax */
-#define GL_BLEND_EQUATION 0x8009
-#define GL_MIN 0x8007
-#define GL_MAX 0x8008
-#define GL_FUNC_ADD 0x8006
-#define GL_FUNC_SUBTRACT 0x800A
-#define GL_FUNC_REVERSE_SUBTRACT 0x800B
-#define GL_BLEND_COLOR 0x8005
-
-
-/* OpenGL 1.3 */
-/* multitexture */
-#define GL_TEXTURE0 0x84C0
-#define GL_TEXTURE1 0x84C1
-#define GL_TEXTURE2 0x84C2
-#define GL_TEXTURE3 0x84C3
-#define GL_TEXTURE4 0x84C4
-#define GL_TEXTURE5 0x84C5
-#define GL_TEXTURE6 0x84C6
-#define GL_TEXTURE7 0x84C7
-#define GL_TEXTURE8 0x84C8
-#define GL_TEXTURE9 0x84C9
-#define GL_TEXTURE10 0x84CA
-#define GL_TEXTURE11 0x84CB
-#define GL_TEXTURE12 0x84CC
-#define GL_TEXTURE13 0x84CD
-#define GL_TEXTURE14 0x84CE
-#define GL_TEXTURE15 0x84CF
-#define GL_TEXTURE16 0x84D0
-#define GL_TEXTURE17 0x84D1
-#define GL_TEXTURE18 0x84D2
-#define GL_TEXTURE19 0x84D3
-#define GL_TEXTURE20 0x84D4
-#define GL_TEXTURE21 0x84D5
-#define GL_TEXTURE22 0x84D6
-#define GL_TEXTURE23 0x84D7
-#define GL_TEXTURE24 0x84D8
-#define GL_TEXTURE25 0x84D9
-#define GL_TEXTURE26 0x84DA
-#define GL_TEXTURE27 0x84DB
-#define GL_TEXTURE28 0x84DC
-#define GL_TEXTURE29 0x84DD
-#define GL_TEXTURE30 0x84DE
-#define GL_TEXTURE31 0x84DF
-#define GL_ACTIVE_TEXTURE 0x84E0
-#define GL_CLIENT_ACTIVE_TEXTURE 0x84E1
-#define GL_MAX_TEXTURE_UNITS 0x84E2
-/* texture_cube_map */
-#define GL_NORMAL_MAP 0x8511
-#define GL_REFLECTION_MAP 0x8512
-#define GL_TEXTURE_CUBE_MAP 0x8513
-#define GL_TEXTURE_BINDING_CUBE_MAP 0x8514
-#define GL_TEXTURE_CUBE_MAP_POSITIVE_X 0x8515
-#define GL_TEXTURE_CUBE_MAP_NEGATIVE_X 0x8516
-#define GL_TEXTURE_CUBE_MAP_POSITIVE_Y 0x8517
-#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y 0x8518
-#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z 0x8519
-#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z 0x851A
-#define GL_PROXY_TEXTURE_CUBE_MAP 0x851B
-#define GL_MAX_CUBE_MAP_TEXTURE_SIZE 0x851C
-/* texture_compression */
-#define GL_COMPRESSED_ALPHA 0x84E9
-#define GL_COMPRESSED_LUMINANCE 0x84EA
-#define GL_COMPRESSED_LUMINANCE_ALPHA 0x84EB
-#define GL_COMPRESSED_INTENSITY 0x84EC
-#define GL_COMPRESSED_RGB 0x84ED
-#define GL_COMPRESSED_RGBA 0x84EE
-#define GL_TEXTURE_COMPRESSION_HINT 0x84EF
-#define GL_TEXTURE_COMPRESSED_IMAGE_SIZE 0x86A0
-#define GL_TEXTURE_COMPRESSED 0x86A1
-#define GL_NUM_COMPRESSED_TEXTURE_FORMATS 0x86A2
-#define GL_COMPRESSED_TEXTURE_FORMATS 0x86A3
-/* multisample */
-#define GL_MULTISAMPLE 0x809D
-#define GL_SAMPLE_ALPHA_TO_COVERAGE 0x809E
-#define GL_SAMPLE_ALPHA_TO_ONE 0x809F
-#define GL_SAMPLE_COVERAGE 0x80A0
-#define GL_SAMPLE_BUFFERS 0x80A8
-#define GL_SAMPLES 0x80A9
-#define GL_SAMPLE_COVERAGE_VALUE 0x80AA
-#define GL_SAMPLE_COVERAGE_INVERT 0x80AB
-#define GL_MULTISAMPLE_BIT 0x20000000
-/* transpose_matrix */
-#define GL_TRANSPOSE_MODELVIEW_MATRIX 0x84E3
-#define GL_TRANSPOSE_PROJECTION_MATRIX 0x84E4
-#define GL_TRANSPOSE_TEXTURE_MATRIX 0x84E5
-#define GL_TRANSPOSE_COLOR_MATRIX 0x84E6
-/* texture_env_combine */
-#define GL_COMBINE 0x8570
-#define GL_COMBINE_RGB 0x8571
-#define GL_COMBINE_ALPHA 0x8572
-#define GL_SOURCE0_RGB 0x8580
-#define GL_SOURCE1_RGB 0x8581
-#define GL_SOURCE2_RGB 0x8582
-#define GL_SOURCE0_ALPHA 0x8588
-#define GL_SOURCE1_ALPHA 0x8589
-#define GL_SOURCE2_ALPHA 0x858A
-#define GL_OPERAND0_RGB 0x8590
-#define GL_OPERAND1_RGB 0x8591
-#define GL_OPERAND2_RGB 0x8592
-#define GL_OPERAND0_ALPHA 0x8598
-#define GL_OPERAND1_ALPHA 0x8599
-#define GL_OPERAND2_ALPHA 0x859A
-#define GL_RGB_SCALE 0x8573
-#define GL_ADD_SIGNED 0x8574
-#define GL_INTERPOLATE 0x8575
-#define GL_SUBTRACT 0x84E7
-#define GL_CONSTANT 0x8576
-#define GL_PRIMARY_COLOR 0x8577
-#define GL_PREVIOUS 0x8578
-/* texture_env_dot3 */
-#define GL_DOT3_RGB 0x86AE
-#define GL_DOT3_RGBA 0x86AF
-/* texture_border_clamp */
-#define GL_CLAMP_TO_BORDER 0x812D
-
-#endif /* __WIN32__ */
-
-
-
-/************************************************************************
- *
- * Function prototypes
- *
- ************************************************************************/
-
-/* Miscellaneous */
-GLAPI void APIENTRY glClearIndex( GLfloat c );
-GLAPI void APIENTRY glClearColor( GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha );
-GLAPI void APIENTRY glClear( GLbitfield mask );
-GLAPI void APIENTRY glIndexMask( GLuint mask );
-GLAPI void APIENTRY glColorMask( GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha );
-GLAPI void APIENTRY glAlphaFunc( GLenum func, GLclampf ref );
-GLAPI void APIENTRY glBlendFunc( GLenum sfactor, GLenum dfactor );
-GLAPI void APIENTRY glLogicOp( GLenum opcode );
-GLAPI void APIENTRY glCullFace( GLenum mode );
-GLAPI void APIENTRY glFrontFace( GLenum mode );
-GLAPI void APIENTRY glPointSize( GLfloat size );
-GLAPI void APIENTRY glLineWidth( GLfloat width );
-GLAPI void APIENTRY glLineStipple( GLint factor, GLushort pattern );
-GLAPI void APIENTRY glPolygonMode( GLenum face, GLenum mode );
-GLAPI void APIENTRY glPolygonOffset( GLfloat factor, GLfloat units );
-GLAPI void APIENTRY glPolygonStipple( const GLubyte *mask );
-GLAPI void APIENTRY glGetPolygonStipple( GLubyte *mask );
-GLAPI void APIENTRY glEdgeFlag( GLboolean flag );
-GLAPI void APIENTRY glEdgeFlagv( const GLboolean *flag );
-GLAPI void APIENTRY glScissor( GLint x, GLint y, GLsizei width, GLsizei height);
-GLAPI void APIENTRY glClipPlane( GLenum plane, const GLdouble *equation );
-GLAPI void APIENTRY glGetClipPlane( GLenum plane, GLdouble *equation );
-GLAPI void APIENTRY glDrawBuffer( GLenum mode );
-GLAPI void APIENTRY glReadBuffer( GLenum mode );
-GLAPI void APIENTRY glEnable( GLenum cap );
-GLAPI void APIENTRY glDisable( GLenum cap );
-GLAPI GLboolean APIENTRY glIsEnabled( GLenum cap );
-GLAPI void APIENTRY glEnableClientState( GLenum cap ); /* 1.1 */
-GLAPI void APIENTRY glDisableClientState( GLenum cap ); /* 1.1 */
-GLAPI void APIENTRY glGetBooleanv( GLenum pname, GLboolean *params );
-GLAPI void APIENTRY glGetDoublev( GLenum pname, GLdouble *params );
-GLAPI void APIENTRY glGetFloatv( GLenum pname, GLfloat *params );
-GLAPI void APIENTRY glGetIntegerv( GLenum pname, GLint *params );
-GLAPI void APIENTRY glPushAttrib( GLbitfield mask );
-GLAPI void APIENTRY glPopAttrib( void );
-GLAPI void APIENTRY glPushClientAttrib( GLbitfield mask ); /* 1.1 */
-GLAPI void APIENTRY glPopClientAttrib( void ); /* 1.1 */
-GLAPI GLint APIENTRY glRenderMode( GLenum mode );
-GLAPI GLenum APIENTRY glGetError( void );
-GLAPI const GLubyte* APIENTRY glGetString( GLenum name );
-GLAPI void APIENTRY glFinish( void );
-GLAPI void APIENTRY glFlush( void );
-GLAPI void APIENTRY glHint( GLenum target, GLenum mode );
-
-/* Depth Buffer */
-GLAPI void APIENTRY glClearDepth( GLclampd depth );
-GLAPI void APIENTRY glDepthFunc( GLenum func );
-GLAPI void APIENTRY glDepthMask( GLboolean flag );
-GLAPI void APIENTRY glDepthRange( GLclampd near_val, GLclampd far_val );
-
-/* Accumulation Buffer */
-GLAPI void APIENTRY glClearAccum( GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha );
-GLAPI void APIENTRY glAccum( GLenum op, GLfloat value );
-
-/* Transformation */
-GLAPI void APIENTRY glMatrixMode( GLenum mode );
-GLAPI void APIENTRY glOrtho( GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble near_val, GLdouble far_val );
-GLAPI void APIENTRY glFrustum( GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble near_val, GLdouble far_val );
-GLAPI void APIENTRY glViewport( GLint x, GLint y, GLsizei width, GLsizei height );
-GLAPI void APIENTRY glPushMatrix( void );
-GLAPI void APIENTRY glPopMatrix( void );
-GLAPI void APIENTRY glLoadIdentity( void );
-GLAPI void APIENTRY glLoadMatrixd( const GLdouble *m );
-GLAPI void APIENTRY glLoadMatrixf( const GLfloat *m );
-GLAPI void APIENTRY glMultMatrixd( const GLdouble *m );
-GLAPI void APIENTRY glMultMatrixf( const GLfloat *m );
-GLAPI void APIENTRY glRotated( GLdouble angle, GLdouble x, GLdouble y, GLdouble z );
-GLAPI void APIENTRY glRotatef( GLfloat angle, GLfloat x, GLfloat y, GLfloat z );
-GLAPI void APIENTRY glScaled( GLdouble x, GLdouble y, GLdouble z );
-GLAPI void APIENTRY glScalef( GLfloat x, GLfloat y, GLfloat z );
-GLAPI void APIENTRY glTranslated( GLdouble x, GLdouble y, GLdouble z );
-GLAPI void APIENTRY glTranslatef( GLfloat x, GLfloat y, GLfloat z );
-
-/* Display Lists */
-GLAPI GLboolean APIENTRY glIsList( GLuint list );
-GLAPI void APIENTRY glDeleteLists( GLuint list, GLsizei range );
-GLAPI GLuint APIENTRY glGenLists( GLsizei range );
-GLAPI void APIENTRY glNewList( GLuint list, GLenum mode );
-GLAPI void APIENTRY glEndList( void );
-GLAPI void APIENTRY glCallList( GLuint list );
-GLAPI void APIENTRY glCallLists( GLsizei n, GLenum type, const GLvoid *lists );
-GLAPI void APIENTRY glListBase( GLuint base );
-
-/* Drawing Functions */
-GLAPI void APIENTRY glBegin( GLenum mode );
-GLAPI void APIENTRY glEnd( void );
-GLAPI void APIENTRY glVertex2d( GLdouble x, GLdouble y );
-GLAPI void APIENTRY glVertex2f( GLfloat x, GLfloat y );
-GLAPI void APIENTRY glVertex2i( GLint x, GLint y );
-GLAPI void APIENTRY glVertex2s( GLshort x, GLshort y );
-GLAPI void APIENTRY glVertex3d( GLdouble x, GLdouble y, GLdouble z );
-GLAPI void APIENTRY glVertex3f( GLfloat x, GLfloat y, GLfloat z );
-GLAPI void APIENTRY glVertex3i( GLint x, GLint y, GLint z );
-GLAPI void APIENTRY glVertex3s( GLshort x, GLshort y, GLshort z );
-GLAPI void APIENTRY glVertex4d( GLdouble x, GLdouble y, GLdouble z, GLdouble w );
-GLAPI void APIENTRY glVertex4f( GLfloat x, GLfloat y, GLfloat z, GLfloat w );
-GLAPI void APIENTRY glVertex4i( GLint x, GLint y, GLint z, GLint w );
-GLAPI void APIENTRY glVertex4s( GLshort x, GLshort y, GLshort z, GLshort w );
-GLAPI void APIENTRY glVertex2dv( const GLdouble *v );
-GLAPI void APIENTRY glVertex2fv( const GLfloat *v );
-GLAPI void APIENTRY glVertex2iv( const GLint *v );
-GLAPI void APIENTRY glVertex2sv( const GLshort *v );
-GLAPI void APIENTRY glVertex3dv( const GLdouble *v );
-GLAPI void APIENTRY glVertex3fv( const GLfloat *v );
-GLAPI void APIENTRY glVertex3iv( const GLint *v );
-GLAPI void APIENTRY glVertex3sv( const GLshort *v );
-GLAPI void APIENTRY glVertex4dv( const GLdouble *v );
-GLAPI void APIENTRY glVertex4fv( const GLfloat *v );
-GLAPI void APIENTRY glVertex4iv( const GLint *v );
-GLAPI void APIENTRY glVertex4sv( const GLshort *v );
-GLAPI void APIENTRY glNormal3b( GLbyte nx, GLbyte ny, GLbyte nz );
-GLAPI void APIENTRY glNormal3d( GLdouble nx, GLdouble ny, GLdouble nz );
-GLAPI void APIENTRY glNormal3f( GLfloat nx, GLfloat ny, GLfloat nz );
-GLAPI void APIENTRY glNormal3i( GLint nx, GLint ny, GLint nz );
-GLAPI void APIENTRY glNormal3s( GLshort nx, GLshort ny, GLshort nz );
-GLAPI void APIENTRY glNormal3bv( const GLbyte *v );
-GLAPI void APIENTRY glNormal3dv( const GLdouble *v );
-GLAPI void APIENTRY glNormal3fv( const GLfloat *v );
-GLAPI void APIENTRY glNormal3iv( const GLint *v );
-GLAPI void APIENTRY glNormal3sv( const GLshort *v );
-GLAPI void APIENTRY glIndexd( GLdouble c );
-GLAPI void APIENTRY glIndexf( GLfloat c );
-GLAPI void APIENTRY glIndexi( GLint c );
-GLAPI void APIENTRY glIndexs( GLshort c );
-GLAPI void APIENTRY glIndexub( GLubyte c ); /* 1.1 */
-GLAPI void APIENTRY glIndexdv( const GLdouble *c );
-GLAPI void APIENTRY glIndexfv( const GLfloat *c );
-GLAPI void APIENTRY glIndexiv( const GLint *c );
-GLAPI void APIENTRY glIndexsv( const GLshort *c );
-GLAPI void APIENTRY glIndexubv( const GLubyte *c ); /* 1.1 */
-GLAPI void APIENTRY glColor3b( GLbyte red, GLbyte green, GLbyte blue );
-GLAPI void APIENTRY glColor3d( GLdouble red, GLdouble green, GLdouble blue );
-GLAPI void APIENTRY glColor3f( GLfloat red, GLfloat green, GLfloat blue );
-GLAPI void APIENTRY glColor3i( GLint red, GLint green, GLint blue );
-GLAPI void APIENTRY glColor3s( GLshort red, GLshort green, GLshort blue );
-GLAPI void APIENTRY glColor3ub( GLubyte red, GLubyte green, GLubyte blue );
-GLAPI void APIENTRY glColor3ui( GLuint red, GLuint green, GLuint blue );
-GLAPI void APIENTRY glColor3us( GLushort red, GLushort green, GLushort blue );
-GLAPI void APIENTRY glColor4b( GLbyte red, GLbyte green, GLbyte blue, GLbyte alpha );
-GLAPI void APIENTRY glColor4d( GLdouble red, GLdouble green, GLdouble blue, GLdouble alpha );
-GLAPI void APIENTRY glColor4f( GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha );
-GLAPI void APIENTRY glColor4i( GLint red, GLint green, GLint blue, GLint alpha );
-GLAPI void APIENTRY glColor4s( GLshort red, GLshort green, GLshort blue, GLshort alpha );
-GLAPI void APIENTRY glColor4ub( GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha );
-GLAPI void APIENTRY glColor4ui( GLuint red, GLuint green, GLuint blue, GLuint alpha );
-GLAPI void APIENTRY glColor4us( GLushort red, GLushort green, GLushort blue, GLushort alpha );
-GLAPI void APIENTRY glColor3bv( const GLbyte *v );
-GLAPI void APIENTRY glColor3dv( const GLdouble *v );
-GLAPI void APIENTRY glColor3fv( const GLfloat *v );
-GLAPI void APIENTRY glColor3iv( const GLint *v );
-GLAPI void APIENTRY glColor3sv( const GLshort *v );
-GLAPI void APIENTRY glColor3ubv( const GLubyte *v );
-GLAPI void APIENTRY glColor3uiv( const GLuint *v );
-GLAPI void APIENTRY glColor3usv( const GLushort *v );
-GLAPI void APIENTRY glColor4bv( const GLbyte *v );
-GLAPI void APIENTRY glColor4dv( const GLdouble *v );
-GLAPI void APIENTRY glColor4fv( const GLfloat *v );
-GLAPI void APIENTRY glColor4iv( const GLint *v );
-GLAPI void APIENTRY glColor4sv( const GLshort *v );
-GLAPI void APIENTRY glColor4ubv( const GLubyte *v );
-GLAPI void APIENTRY glColor4uiv( const GLuint *v );
-GLAPI void APIENTRY glColor4usv( const GLushort *v );
-GLAPI void APIENTRY glTexCoord1d( GLdouble s );
-GLAPI void APIENTRY glTexCoord1f( GLfloat s );
-GLAPI void APIENTRY glTexCoord1i( GLint s );
-GLAPI void APIENTRY glTexCoord1s( GLshort s );
-GLAPI void APIENTRY glTexCoord2d( GLdouble s, GLdouble t );
-GLAPI void APIENTRY glTexCoord2f( GLfloat s, GLfloat t );
-GLAPI void APIENTRY glTexCoord2i( GLint s, GLint t );
-GLAPI void APIENTRY glTexCoord2s( GLshort s, GLshort t );
-GLAPI void APIENTRY glTexCoord3d( GLdouble s, GLdouble t, GLdouble r );
-GLAPI void APIENTRY glTexCoord3f( GLfloat s, GLfloat t, GLfloat r );
-GLAPI void APIENTRY glTexCoord3i( GLint s, GLint t, GLint r );
-GLAPI void APIENTRY glTexCoord3s( GLshort s, GLshort t, GLshort r );
-GLAPI void APIENTRY glTexCoord4d( GLdouble s, GLdouble t, GLdouble r, GLdouble q );
-GLAPI void APIENTRY glTexCoord4f( GLfloat s, GLfloat t, GLfloat r, GLfloat q );
-GLAPI void APIENTRY glTexCoord4i( GLint s, GLint t, GLint r, GLint q );
-GLAPI void APIENTRY glTexCoord4s( GLshort s, GLshort t, GLshort r, GLshort q );
-GLAPI void APIENTRY glTexCoord1dv( const GLdouble *v );
-GLAPI void APIENTRY glTexCoord1fv( const GLfloat *v );
-GLAPI void APIENTRY glTexCoord1iv( const GLint *v );
-GLAPI void APIENTRY glTexCoord1sv( const GLshort *v );
-GLAPI void APIENTRY glTexCoord2dv( const GLdouble *v );
-GLAPI void APIENTRY glTexCoord2fv( const GLfloat *v );
-GLAPI void APIENTRY glTexCoord2iv( const GLint *v );
-GLAPI void APIENTRY glTexCoord2sv( const GLshort *v );
-GLAPI void APIENTRY glTexCoord3dv( const GLdouble *v );
-GLAPI void APIENTRY glTexCoord3fv( const GLfloat *v );
-GLAPI void APIENTRY glTexCoord3iv( const GLint *v );
-GLAPI void APIENTRY glTexCoord3sv( const GLshort *v );
-GLAPI void APIENTRY glTexCoord4dv( const GLdouble *v );
-GLAPI void APIENTRY glTexCoord4fv( const GLfloat *v );
-GLAPI void APIENTRY glTexCoord4iv( const GLint *v );
-GLAPI void APIENTRY glTexCoord4sv( const GLshort *v );
-GLAPI void APIENTRY glRasterPos2d( GLdouble x, GLdouble y );
-GLAPI void APIENTRY glRasterPos2f( GLfloat x, GLfloat y );
-GLAPI void APIENTRY glRasterPos2i( GLint x, GLint y );
-GLAPI void APIENTRY glRasterPos2s( GLshort x, GLshort y );
-GLAPI void APIENTRY glRasterPos3d( GLdouble x, GLdouble y, GLdouble z );
-GLAPI void APIENTRY glRasterPos3f( GLfloat x, GLfloat y, GLfloat z );
-GLAPI void APIENTRY glRasterPos3i( GLint x, GLint y, GLint z );
-GLAPI void APIENTRY glRasterPos3s( GLshort x, GLshort y, GLshort z );
-GLAPI void APIENTRY glRasterPos4d( GLdouble x, GLdouble y, GLdouble z, GLdouble w );
-GLAPI void APIENTRY glRasterPos4f( GLfloat x, GLfloat y, GLfloat z, GLfloat w );
-GLAPI void APIENTRY glRasterPos4i( GLint x, GLint y, GLint z, GLint w );
-GLAPI void APIENTRY glRasterPos4s( GLshort x, GLshort y, GLshort z, GLshort w );
-GLAPI void APIENTRY glRasterPos2dv( const GLdouble *v );
-GLAPI void APIENTRY glRasterPos2fv( const GLfloat *v );
-GLAPI void APIENTRY glRasterPos2iv( const GLint *v );
-GLAPI void APIENTRY glRasterPos2sv( const GLshort *v );
-GLAPI void APIENTRY glRasterPos3dv( const GLdouble *v );
-GLAPI void APIENTRY glRasterPos3fv( const GLfloat *v );
-GLAPI void APIENTRY glRasterPos3iv( const GLint *v );
-GLAPI void APIENTRY glRasterPos3sv( const GLshort *v );
-GLAPI void APIENTRY glRasterPos4dv( const GLdouble *v );
-GLAPI void APIENTRY glRasterPos4fv( const GLfloat *v );
-GLAPI void APIENTRY glRasterPos4iv( const GLint *v );
-GLAPI void APIENTRY glRasterPos4sv( const GLshort *v );
-GLAPI void APIENTRY glRectd( GLdouble x1, GLdouble y1, GLdouble x2, GLdouble y2 );
-GLAPI void APIENTRY glRectf( GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2 );
-GLAPI void APIENTRY glRecti( GLint x1, GLint y1, GLint x2, GLint y2 );
-GLAPI void APIENTRY glRects( GLshort x1, GLshort y1, GLshort x2, GLshort y2 );
-GLAPI void APIENTRY glRectdv( const GLdouble *v1, const GLdouble *v2 );
-GLAPI void APIENTRY glRectfv( const GLfloat *v1, const GLfloat *v2 );
-GLAPI void APIENTRY glRectiv( const GLint *v1, const GLint *v2 );
-GLAPI void APIENTRY glRectsv( const GLshort *v1, const GLshort *v2 );
-
-/* Lighting */
-GLAPI void APIENTRY glShadeModel( GLenum mode );
-GLAPI void APIENTRY glLightf( GLenum light, GLenum pname, GLfloat param );
-GLAPI void APIENTRY glLighti( GLenum light, GLenum pname, GLint param );
-GLAPI void APIENTRY glLightfv( GLenum light, GLenum pname, const GLfloat *params );
-GLAPI void APIENTRY glLightiv( GLenum light, GLenum pname, const GLint *params );
-GLAPI void APIENTRY glGetLightfv( GLenum light, GLenum pname, GLfloat *params );
-GLAPI void APIENTRY glGetLightiv( GLenum light, GLenum pname, GLint *params );
-GLAPI void APIENTRY glLightModelf( GLenum pname, GLfloat param );
-GLAPI void APIENTRY glLightModeli( GLenum pname, GLint param );
-GLAPI void APIENTRY glLightModelfv( GLenum pname, const GLfloat *params );
-GLAPI void APIENTRY glLightModeliv( GLenum pname, const GLint *params );
-GLAPI void APIENTRY glMaterialf( GLenum face, GLenum pname, GLfloat param );
-GLAPI void APIENTRY glMateriali( GLenum face, GLenum pname, GLint param );
-GLAPI void APIENTRY glMaterialfv( GLenum face, GLenum pname, const GLfloat *params );
-GLAPI void APIENTRY glMaterialiv( GLenum face, GLenum pname, const GLint *params );
-GLAPI void APIENTRY glGetMaterialfv( GLenum face, GLenum pname, GLfloat *params );
-GLAPI void APIENTRY glGetMaterialiv( GLenum face, GLenum pname, GLint *params );
-GLAPI void APIENTRY glColorMaterial( GLenum face, GLenum mode );
-
-/* Raster functions */
-GLAPI void APIENTRY glPixelZoom( GLfloat xfactor, GLfloat yfactor );
-GLAPI void APIENTRY glPixelStoref( GLenum pname, GLfloat param );
-GLAPI void APIENTRY glPixelStorei( GLenum pname, GLint param );
-GLAPI void APIENTRY glPixelTransferf( GLenum pname, GLfloat param );
-GLAPI void APIENTRY glPixelTransferi( GLenum pname, GLint param );
-GLAPI void APIENTRY glPixelMapfv( GLenum map, GLint mapsize, const GLfloat *values );
-GLAPI void APIENTRY glPixelMapuiv( GLenum map, GLint mapsize, const GLuint *values );
-GLAPI void APIENTRY glPixelMapusv( GLenum map, GLint mapsize, const GLushort *values );
-GLAPI void APIENTRY glGetPixelMapfv( GLenum map, GLfloat *values );
-GLAPI void APIENTRY glGetPixelMapuiv( GLenum map, GLuint *values );
-GLAPI void APIENTRY glGetPixelMapusv( GLenum map, GLushort *values );
-GLAPI void APIENTRY glBitmap( GLsizei width, GLsizei height, GLfloat xorig, GLfloat yorig, GLfloat xmove, GLfloat ymove, const GLubyte *bitmap );
-GLAPI void APIENTRY glReadPixels( GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels );
-GLAPI void APIENTRY glDrawPixels( GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels );
-GLAPI void APIENTRY glCopyPixels( GLint x, GLint y, GLsizei width, GLsizei height, GLenum type );
-
-/* Stenciling */
-GLAPI void APIENTRY glStencilFunc( GLenum func, GLint ref, GLuint mask );
-GLAPI void APIENTRY glStencilMask( GLuint mask );
-GLAPI void APIENTRY glStencilOp( GLenum fail, GLenum zfail, GLenum zpass );
-GLAPI void APIENTRY glClearStencil( GLint s );
-
-/* Texture mapping */
-GLAPI void APIENTRY glTexGend( GLenum coord, GLenum pname, GLdouble param );
-GLAPI void APIENTRY glTexGenf( GLenum coord, GLenum pname, GLfloat param );
-GLAPI void APIENTRY glTexGeni( GLenum coord, GLenum pname, GLint param );
-GLAPI void APIENTRY glTexGendv( GLenum coord, GLenum pname, const GLdouble *params );
-GLAPI void APIENTRY glTexGenfv( GLenum coord, GLenum pname, const GLfloat *params );
-GLAPI void APIENTRY glTexGeniv( GLenum coord, GLenum pname, const GLint *params );
-GLAPI void APIENTRY glGetTexGendv( GLenum coord, GLenum pname, GLdouble *params );
-GLAPI void APIENTRY glGetTexGenfv( GLenum coord, GLenum pname, GLfloat *params );
-GLAPI void APIENTRY glGetTexGeniv( GLenum coord, GLenum pname, GLint *params );
-GLAPI void APIENTRY glTexEnvf( GLenum target, GLenum pname, GLfloat param );
-GLAPI void APIENTRY glTexEnvi( GLenum target, GLenum pname, GLint param );
-GLAPI void APIENTRY glTexEnvfv( GLenum target, GLenum pname, const GLfloat *params );
-GLAPI void APIENTRY glTexEnviv( GLenum target, GLenum pname, const GLint *params );
-GLAPI void APIENTRY glGetTexEnvfv( GLenum target, GLenum pname, GLfloat *params );
-GLAPI void APIENTRY glGetTexEnviv( GLenum target, GLenum pname, GLint *params );
-GLAPI void APIENTRY glTexParameterf( GLenum target, GLenum pname, GLfloat param );
-GLAPI void APIENTRY glTexParameteri( GLenum target, GLenum pname, GLint param );
-GLAPI void APIENTRY glTexParameterfv( GLenum target, GLenum pname, const GLfloat *params );
-GLAPI void APIENTRY glTexParameteriv( GLenum target, GLenum pname, const GLint *params );
-GLAPI void APIENTRY glGetTexParameterfv( GLenum target, GLenum pname, GLfloat *params);
-GLAPI void APIENTRY glGetTexParameteriv( GLenum target, GLenum pname, GLint *params );
-GLAPI void APIENTRY glGetTexLevelParameterfv( GLenum target, GLint level, GLenum pname, GLfloat *params );
-GLAPI void APIENTRY glGetTexLevelParameteriv( GLenum target, GLint level, GLenum pname, GLint *params );
-GLAPI void APIENTRY glTexImage1D( GLenum target, GLint level, GLint internalFormat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels );
-GLAPI void APIENTRY glTexImage2D( GLenum target, GLint level, GLint internalFormat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels );
-GLAPI void APIENTRY glGetTexImage( GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels );
-
-/* Evaluators */
-GLAPI void APIENTRY glMap1d( GLenum target, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble *points );
-GLAPI void APIENTRY glMap1f( GLenum target, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat *points );
-GLAPI void APIENTRY glMap2d( GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble *points );
-GLAPI void APIENTRY glMap2f( GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat *points );
-GLAPI void APIENTRY glGetMapdv( GLenum target, GLenum query, GLdouble *v );
-GLAPI void APIENTRY glGetMapfv( GLenum target, GLenum query, GLfloat *v );
-GLAPI void APIENTRY glGetMapiv( GLenum target, GLenum query, GLint *v );
-GLAPI void APIENTRY glEvalCoord1d( GLdouble u );
-GLAPI void APIENTRY glEvalCoord1f( GLfloat u );
-GLAPI void APIENTRY glEvalCoord1dv( const GLdouble *u );
-GLAPI void APIENTRY glEvalCoord1fv( const GLfloat *u );
-GLAPI void APIENTRY glEvalCoord2d( GLdouble u, GLdouble v );
-GLAPI void APIENTRY glEvalCoord2f( GLfloat u, GLfloat v );
-GLAPI void APIENTRY glEvalCoord2dv( const GLdouble *u );
-GLAPI void APIENTRY glEvalCoord2fv( const GLfloat *u );
-GLAPI void APIENTRY glMapGrid1d( GLint un, GLdouble u1, GLdouble u2 );
-GLAPI void APIENTRY glMapGrid1f( GLint un, GLfloat u1, GLfloat u2 );
-GLAPI void APIENTRY glMapGrid2d( GLint un, GLdouble u1, GLdouble u2, GLint vn, GLdouble v1, GLdouble v2 );
-GLAPI void APIENTRY glMapGrid2f( GLint un, GLfloat u1, GLfloat u2, GLint vn, GLfloat v1, GLfloat v2 );
-GLAPI void APIENTRY glEvalPoint1( GLint i );
-GLAPI void APIENTRY glEvalPoint2( GLint i, GLint j );
-GLAPI void APIENTRY glEvalMesh1( GLenum mode, GLint i1, GLint i2 );
-GLAPI void APIENTRY glEvalMesh2( GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2 );
-
-/* Fog */
-GLAPI void APIENTRY glFogf( GLenum pname, GLfloat param );
-GLAPI void APIENTRY glFogi( GLenum pname, GLint param );
-GLAPI void APIENTRY glFogfv( GLenum pname, const GLfloat *params );
-GLAPI void APIENTRY glFogiv( GLenum pname, const GLint *params );
-
-/* Selection and Feedback */
-GLAPI void APIENTRY glFeedbackBuffer( GLsizei size, GLenum type, GLfloat *buffer );
-GLAPI void APIENTRY glPassThrough( GLfloat token );
-GLAPI void APIENTRY glSelectBuffer( GLsizei size, GLuint *buffer );
-GLAPI void APIENTRY glInitNames( void );
-GLAPI void APIENTRY glLoadName( GLuint name );
-GLAPI void APIENTRY glPushName( GLuint name );
-GLAPI void APIENTRY glPopName( void );
-
-
-/* 1.1 functions */
-/* texture objects */
-GLAPI void APIENTRY glGenTextures( GLsizei n, GLuint *textures );
-GLAPI void APIENTRY glDeleteTextures( GLsizei n, const GLuint *textures);
-GLAPI void APIENTRY glBindTexture( GLenum target, GLuint texture );
-GLAPI void APIENTRY glPrioritizeTextures( GLsizei n, const GLuint *textures, const GLclampf *priorities );
-GLAPI GLboolean APIENTRY glAreTexturesResident( GLsizei n, const GLuint *textures, GLboolean *residences );
-GLAPI GLboolean APIENTRY glIsTexture( GLuint texture );
-/* texture mapping */
-GLAPI void APIENTRY glTexSubImage1D( GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels );
-GLAPI void APIENTRY glTexSubImage2D( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels );
-GLAPI void APIENTRY glCopyTexImage1D( GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border );
-GLAPI void APIENTRY glCopyTexImage2D( GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border );
-GLAPI void APIENTRY glCopyTexSubImage1D( GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width );
-GLAPI void APIENTRY glCopyTexSubImage2D( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height );
-/* vertex arrays */
-GLAPI void APIENTRY glVertexPointer( GLint size, GLenum type, GLsizei stride, const GLvoid *ptr );
-GLAPI void APIENTRY glNormalPointer( GLenum type, GLsizei stride, const GLvoid *ptr );
-GLAPI void APIENTRY glColorPointer( GLint size, GLenum type, GLsizei stride, const GLvoid *ptr );
-GLAPI void APIENTRY glIndexPointer( GLenum type, GLsizei stride, const GLvoid *ptr );
-GLAPI void APIENTRY glTexCoordPointer( GLint size, GLenum type, GLsizei stride, const GLvoid *ptr );
-GLAPI void APIENTRY glEdgeFlagPointer( GLsizei stride, const GLvoid *ptr );
-GLAPI void APIENTRY glGetPointerv( GLenum pname, GLvoid **params );
-GLAPI void APIENTRY glArrayElement( GLint i );
-GLAPI void APIENTRY glDrawArrays( GLenum mode, GLint first, GLsizei count );
-GLAPI void APIENTRY glDrawElements( GLenum mode, GLsizei count, GLenum type, const GLvoid *indices );
-GLAPI void APIENTRY glInterleavedArrays( GLenum format, GLsizei stride, const GLvoid *pointer );
-
-
-
-/* Under Windows, we do not define OpenGL 1.2 & 1.3 functionality, since
- it is treated as extensions (defined in glext.h) */
-#if !defined(__WIN32__)
-
-/* 1.2 functions */
-GLAPI void APIENTRY glDrawRangeElements( GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices );
-GLAPI void APIENTRY glTexImage3D( GLenum target, GLint level, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels );
-GLAPI void APIENTRY glTexSubImage3D( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels);
-GLAPI void APIENTRY glCopyTexSubImage3D( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height );
-
-/* 1.2 imaging extension functions */
-GLAPI void APIENTRY glColorTable( GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *table );
-GLAPI void APIENTRY glColorSubTable( GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const GLvoid *data );
-GLAPI void APIENTRY glColorTableParameteriv(GLenum target, GLenum pname, const GLint *params);
-GLAPI void APIENTRY glColorTableParameterfv(GLenum target, GLenum pname, const GLfloat *params);
-GLAPI void APIENTRY glCopyColorSubTable( GLenum target, GLsizei start, GLint x, GLint y, GLsizei width );
-GLAPI void APIENTRY glCopyColorTable( GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width );
-GLAPI void APIENTRY glGetColorTable( GLenum target, GLenum format, GLenum type, GLvoid *table );
-GLAPI void APIENTRY glGetColorTableParameterfv( GLenum target, GLenum pname, GLfloat *params );
-GLAPI void APIENTRY glGetColorTableParameteriv( GLenum target, GLenum pname, GLint *params );
-GLAPI void APIENTRY glBlendEquation( GLenum mode );
-GLAPI void APIENTRY glBlendColor( GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha );
-GLAPI void APIENTRY glHistogram( GLenum target, GLsizei width, GLenum internalformat, GLboolean sink );
-GLAPI void APIENTRY glResetHistogram( GLenum target );
-GLAPI void APIENTRY glGetHistogram( GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values );
-GLAPI void APIENTRY glGetHistogramParameterfv( GLenum target, GLenum pname, GLfloat *params );
-GLAPI void APIENTRY glGetHistogramParameteriv( GLenum target, GLenum pname, GLint *params );
-GLAPI void APIENTRY glMinmax( GLenum target, GLenum internalformat, GLboolean sink );
-GLAPI void APIENTRY glResetMinmax( GLenum target );
-GLAPI void APIENTRY glGetMinmax( GLenum target, GLboolean reset, GLenum format, GLenum types, GLvoid *values );
-GLAPI void APIENTRY glGetMinmaxParameterfv( GLenum target, GLenum pname, GLfloat *params );
-GLAPI void APIENTRY glGetMinmaxParameteriv( GLenum target, GLenum pname, GLint *params );
-GLAPI void APIENTRY glConvolutionFilter1D( GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *image );
-GLAPI void APIENTRY glConvolutionFilter2D( GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *image );
-GLAPI void APIENTRY glConvolutionParameterf( GLenum target, GLenum pname, GLfloat params );
-GLAPI void APIENTRY glConvolutionParameterfv( GLenum target, GLenum pname, const GLfloat *params );
-GLAPI void APIENTRY glConvolutionParameteri( GLenum target, GLenum pname, GLint params );
-GLAPI void APIENTRY glConvolutionParameteriv( GLenum target, GLenum pname, const GLint *params );
-GLAPI void APIENTRY glCopyConvolutionFilter1D( GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width );
-GLAPI void APIENTRY glCopyConvolutionFilter2D( GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height);
-GLAPI void APIENTRY glGetConvolutionFilter( GLenum target, GLenum format, GLenum type, GLvoid *image );
-GLAPI void APIENTRY glGetConvolutionParameterfv( GLenum target, GLenum pname, GLfloat *params );
-GLAPI void APIENTRY glGetConvolutionParameteriv( GLenum target, GLenum pname, GLint *params );
-GLAPI void APIENTRY glSeparableFilter2D( GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *row, const GLvoid *column );
-GLAPI void APIENTRY glGetSeparableFilter( GLenum target, GLenum format, GLenum type, GLvoid *row, GLvoid *column, GLvoid *span );
-
-/* 1.3 functions */
-GLAPI void APIENTRY glActiveTexture( GLenum texture );
-GLAPI void APIENTRY glClientActiveTexture( GLenum texture );
-GLAPI void APIENTRY glCompressedTexImage1D( GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data );
-GLAPI void APIENTRY glCompressedTexImage2D( GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data );
-GLAPI void APIENTRY glCompressedTexImage3D( GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data );
-GLAPI void APIENTRY glCompressedTexSubImage1D( GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data );
-GLAPI void APIENTRY glCompressedTexSubImage2D( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data );
-GLAPI void APIENTRY glCompressedTexSubImage3D( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data );
-GLAPI void APIENTRY glGetCompressedTexImage( GLenum target, GLint lod, GLvoid *img );
-GLAPI void APIENTRY glMultiTexCoord1d( GLenum target, GLdouble s );
-GLAPI void APIENTRY glMultiTexCoord1dv( GLenum target, const GLdouble *v );
-GLAPI void APIENTRY glMultiTexCoord1f( GLenum target, GLfloat s );
-GLAPI void APIENTRY glMultiTexCoord1fv( GLenum target, const GLfloat *v );
-GLAPI void APIENTRY glMultiTexCoord1i( GLenum target, GLint s );
-GLAPI void APIENTRY glMultiTexCoord1iv( GLenum target, const GLint *v );
-GLAPI void APIENTRY glMultiTexCoord1s( GLenum target, GLshort s );
-GLAPI void APIENTRY glMultiTexCoord1sv( GLenum target, const GLshort *v );
-GLAPI void APIENTRY glMultiTexCoord2d( GLenum target, GLdouble s, GLdouble t );
-GLAPI void APIENTRY glMultiTexCoord2dv( GLenum target, const GLdouble *v );
-GLAPI void APIENTRY glMultiTexCoord2f( GLenum target, GLfloat s, GLfloat t );
-GLAPI void APIENTRY glMultiTexCoord2fv( GLenum target, const GLfloat *v );
-GLAPI void APIENTRY glMultiTexCoord2i( GLenum target, GLint s, GLint t );
-GLAPI void APIENTRY glMultiTexCoord2iv( GLenum target, const GLint *v );
-GLAPI void APIENTRY glMultiTexCoord2s( GLenum target, GLshort s, GLshort t );
-GLAPI void APIENTRY glMultiTexCoord2sv( GLenum target, const GLshort *v );
-GLAPI void APIENTRY glMultiTexCoord3d( GLenum target, GLdouble s, GLdouble t, GLdouble r );
-GLAPI void APIENTRY glMultiTexCoord3dv( GLenum target, const GLdouble *v );
-GLAPI void APIENTRY glMultiTexCoord3f( GLenum target, GLfloat s, GLfloat t, GLfloat r );
-GLAPI void APIENTRY glMultiTexCoord3fv( GLenum target, const GLfloat *v );
-GLAPI void APIENTRY glMultiTexCoord3i( GLenum target, GLint s, GLint t, GLint r );
-GLAPI void APIENTRY glMultiTexCoord3iv( GLenum target, const GLint *v );
-GLAPI void APIENTRY glMultiTexCoord3s( GLenum target, GLshort s, GLshort t, GLshort r );
-GLAPI void APIENTRY glMultiTexCoord3sv( GLenum target, const GLshort *v );
-GLAPI void APIENTRY glMultiTexCoord4d( GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q );
-GLAPI void APIENTRY glMultiTexCoord4dv( GLenum target, const GLdouble *v );
-GLAPI void APIENTRY glMultiTexCoord4f( GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q );
-GLAPI void APIENTRY glMultiTexCoord4fv( GLenum target, const GLfloat *v );
-GLAPI void APIENTRY glMultiTexCoord4i( GLenum target, GLint s, GLint t, GLint r, GLint q );
-GLAPI void APIENTRY glMultiTexCoord4iv( GLenum target, const GLint *v );
-GLAPI void APIENTRY glMultiTexCoord4s( GLenum target, GLshort s, GLshort t, GLshort r, GLshort q );
-GLAPI void APIENTRY glMultiTexCoord4sv( GLenum target, const GLshort *v );
-GLAPI void APIENTRY glLoadTransposeMatrixd( const GLdouble m[16] );
-GLAPI void APIENTRY glLoadTransposeMatrixf( const GLfloat m[16] );
-GLAPI void APIENTRY glMultTransposeMatrixd( const GLdouble m[16] );
-GLAPI void APIENTRY glMultTransposeMatrixf( const GLfloat m[16] );
-GLAPI void APIENTRY glSampleCoverage( GLclampf value, GLboolean invert );
-GLAPI void APIENTRY glSamplePass( GLenum pass );
-
-#endif /* __WIN32__ */
-
-
-/* Include external definitions of OpenGL extensions */
-/* Removed, see this bug report for reference:
- * http://sourceforge.net/tracker/index.php?func=detail&aid=610178&group_id=2435&atid=102435
- *
- * #include <GL/glext.h>
- */
-
-
-/************************************************************************
- * Begin system-specific stuff
- */
-/*
- * End system-specific stuff
- ************************************************************************/
-
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __gl_h_ */
diff --git a/winsup/w32api/include/GL/glext.h b/winsup/w32api/include/GL/glext.h
deleted file mode 100644
index c4b4baa09..000000000
--- a/winsup/w32api/include/GL/glext.h
+++ /dev/null
@@ -1,4623 +0,0 @@
-#ifndef __glext_h_
-#define __glext_h_
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*
-** License Applicability. Except to the extent portions of this file are
-** made subject to an alternative license as permitted in the SGI Free
-** Software License B, Version 1.1 (the "License"), the contents of this
-** file are subject only to the provisions of the License. You may not use
-** this file except in compliance with the License. You may obtain a copy
-** of the License at Silicon Graphics, Inc., attn: Legal Services, 1600
-** Amphitheatre Parkway, Mountain View, CA 94043-1351, or at:
-**
-** http://oss.sgi.com/projects/FreeB
-**
-** Note that, as provided in the License, the Software is distributed on an
-** "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS
-** DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND
-** CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A
-** PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
-**
-** Original Code. The Original Code is: OpenGL Sample Implementation,
-** Version 1.2.1, released January 26, 2000, developed by Silicon Graphics,
-** Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc.
-** Copyright in any portions created by third parties is as indicated
-** elsewhere herein. All Rights Reserved.
-**
-** Additional Notice Provisions: This software was created using the
-** OpenGL(R) version 1.2.1 Sample Implementation published by SGI, but has
-** not been independently verified as being compliant with the OpenGL(R)
-** version 1.2.1 Specification.
-*/
-
-#if defined(_WIN32) && !defined(APIENTRY) && !defined(__CYGWIN__)
-#define WIN32_LEAN_AND_MEAN 1
-#include <windows.h>
-#endif
-
-#ifndef APIENTRY
-#define APIENTRY
-#endif
-#ifndef GLAPI
-#define GLAPI extern
-#endif
-
-/*************************************************************/
-
-/* Header file version number, required by OpenGL ABI for Linux */
-/* glext.h last updated 2002/03/22 */
-/* Current version at http://oss.sgi.com/projects/ogl-sample/registry/ */
-#define GL_GLEXT_VERSION 11
-
-#ifndef GL_VERSION_1_2
-#define GL_CONSTANT_COLOR 0x8001
-#define GL_ONE_MINUS_CONSTANT_COLOR 0x8002
-#define GL_CONSTANT_ALPHA 0x8003
-#define GL_ONE_MINUS_CONSTANT_ALPHA 0x8004
-#define GL_BLEND_COLOR 0x8005
-#define GL_FUNC_ADD 0x8006
-#define GL_MIN 0x8007
-#define GL_MAX 0x8008
-#define GL_BLEND_EQUATION 0x8009
-#define GL_FUNC_SUBTRACT 0x800A
-#define GL_FUNC_REVERSE_SUBTRACT 0x800B
-#define GL_CONVOLUTION_1D 0x8010
-#define GL_CONVOLUTION_2D 0x8011
-#define GL_SEPARABLE_2D 0x8012
-#define GL_CONVOLUTION_BORDER_MODE 0x8013
-#define GL_CONVOLUTION_FILTER_SCALE 0x8014
-#define GL_CONVOLUTION_FILTER_BIAS 0x8015
-#define GL_REDUCE 0x8016
-#define GL_CONVOLUTION_FORMAT 0x8017
-#define GL_CONVOLUTION_WIDTH 0x8018
-#define GL_CONVOLUTION_HEIGHT 0x8019
-#define GL_MAX_CONVOLUTION_WIDTH 0x801A
-#define GL_MAX_CONVOLUTION_HEIGHT 0x801B
-#define GL_POST_CONVOLUTION_RED_SCALE 0x801C
-#define GL_POST_CONVOLUTION_GREEN_SCALE 0x801D
-#define GL_POST_CONVOLUTION_BLUE_SCALE 0x801E
-#define GL_POST_CONVOLUTION_ALPHA_SCALE 0x801F
-#define GL_POST_CONVOLUTION_RED_BIAS 0x8020
-#define GL_POST_CONVOLUTION_GREEN_BIAS 0x8021
-#define GL_POST_CONVOLUTION_BLUE_BIAS 0x8022
-#define GL_POST_CONVOLUTION_ALPHA_BIAS 0x8023
-#define GL_HISTOGRAM 0x8024
-#define GL_PROXY_HISTOGRAM 0x8025
-#define GL_HISTOGRAM_WIDTH 0x8026
-#define GL_HISTOGRAM_FORMAT 0x8027
-#define GL_HISTOGRAM_RED_SIZE 0x8028
-#define GL_HISTOGRAM_GREEN_SIZE 0x8029
-#define GL_HISTOGRAM_BLUE_SIZE 0x802A
-#define GL_HISTOGRAM_ALPHA_SIZE 0x802B
-#define GL_HISTOGRAM_LUMINANCE_SIZE 0x802C
-#define GL_HISTOGRAM_SINK 0x802D
-#define GL_MINMAX 0x802E
-#define GL_MINMAX_FORMAT 0x802F
-#define GL_MINMAX_SINK 0x8030
-#define GL_TABLE_TOO_LARGE 0x8031
-#define GL_UNSIGNED_BYTE_3_3_2 0x8032
-#define GL_UNSIGNED_SHORT_4_4_4_4 0x8033
-#define GL_UNSIGNED_SHORT_5_5_5_1 0x8034
-#define GL_UNSIGNED_INT_8_8_8_8 0x8035
-#define GL_UNSIGNED_INT_10_10_10_2 0x8036
-#define GL_RESCALE_NORMAL 0x803A
-#define GL_UNSIGNED_BYTE_2_3_3_REV 0x8362
-#define GL_UNSIGNED_SHORT_5_6_5 0x8363
-#define GL_UNSIGNED_SHORT_5_6_5_REV 0x8364
-#define GL_UNSIGNED_SHORT_4_4_4_4_REV 0x8365
-#define GL_UNSIGNED_SHORT_1_5_5_5_REV 0x8366
-#define GL_UNSIGNED_INT_8_8_8_8_REV 0x8367
-#define GL_UNSIGNED_INT_2_10_10_10_REV 0x8368
-#define GL_COLOR_MATRIX 0x80B1
-#define GL_COLOR_MATRIX_STACK_DEPTH 0x80B2
-#define GL_MAX_COLOR_MATRIX_STACK_DEPTH 0x80B3
-#define GL_POST_COLOR_MATRIX_RED_SCALE 0x80B4
-#define GL_POST_COLOR_MATRIX_GREEN_SCALE 0x80B5
-#define GL_POST_COLOR_MATRIX_BLUE_SCALE 0x80B6
-#define GL_POST_COLOR_MATRIX_ALPHA_SCALE 0x80B7
-#define GL_POST_COLOR_MATRIX_RED_BIAS 0x80B8
-#define GL_POST_COLOR_MATRIX_GREEN_BIAS 0x80B9
-#define GL_POST_COLOR_MATRIX_BLUE_BIAS 0x80BA
-#define GL_COLOR_TABLE 0x80D0
-#define GL_POST_CONVOLUTION_COLOR_TABLE 0x80D1
-#define GL_POST_COLOR_MATRIX_COLOR_TABLE 0x80D2
-#define GL_PROXY_COLOR_TABLE 0x80D3
-#define GL_PROXY_POST_CONVOLUTION_COLOR_TABLE 0x80D4
-#define GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE 0x80D5
-#define GL_COLOR_TABLE_SCALE 0x80D6
-#define GL_COLOR_TABLE_BIAS 0x80D7
-#define GL_COLOR_TABLE_FORMAT 0x80D8
-#define GL_COLOR_TABLE_WIDTH 0x80D9
-#define GL_COLOR_TABLE_RED_SIZE 0x80DA
-#define GL_COLOR_TABLE_GREEN_SIZE 0x80DB
-#define GL_COLOR_TABLE_BLUE_SIZE 0x80DC
-#define GL_COLOR_TABLE_ALPHA_SIZE 0x80DD
-#define GL_COLOR_TABLE_LUMINANCE_SIZE 0x80DE
-#define GL_COLOR_TABLE_INTENSITY_SIZE 0x80DF
-#define GL_BGR 0x80E0
-#define GL_BGRA 0x80E1
-#define GL_MAX_ELEMENTS_VERTICES 0x80E8
-#define GL_MAX_ELEMENTS_INDICES 0x80E9
-#define GL_CLAMP_TO_EDGE 0x812F
-#define GL_TEXTURE_MIN_LOD 0x813A
-#define GL_TEXTURE_MAX_LOD 0x813B
-#define GL_TEXTURE_BASE_LEVEL 0x813C
-#define GL_TEXTURE_MAX_LEVEL 0x813D
-#define GL_IGNORE_BORDER 0x8150
-#define GL_CONSTANT_BORDER 0x8151
-#define GL_WRAP_BORDER 0x8152
-#define GL_REPLICATE_BORDER 0x8153
-#define GL_CONVOLUTION_BORDER_COLOR 0x8154
-#define GL_LIGHT_MODEL_COLOR_CONTROL 0x81F8
-#define GL_SINGLE_COLOR 0x81F9
-#define GL_SEPARATE_SPECULAR_COLOR 0x81FA
-#define GL_SMOOTH_POINT_SIZE_RANGE 0x0B12
-#define GL_SMOOTH_POINT_SIZE_GRANULARITY 0x0B13
-#define GL_SMOOTH_LINE_WIDTH_RANGE 0x0B22
-#define GL_SMOOTH_LINE_WIDTH_GRANULARITY 0x0B23
-#define GL_ALIASED_POINT_SIZE_RANGE 0x846D
-#define GL_ALIASED_LINE_WIDTH_RANGE 0x846E
-#endif
-
-#ifndef GL_VERSION_1_3
-#define GL_TEXTURE0 0x84C0
-#define GL_TEXTURE1 0x84C1
-#define GL_TEXTURE2 0x84C2
-#define GL_TEXTURE3 0x84C3
-#define GL_TEXTURE4 0x84C4
-#define GL_TEXTURE5 0x84C5
-#define GL_TEXTURE6 0x84C6
-#define GL_TEXTURE7 0x84C7
-#define GL_TEXTURE8 0x84C8
-#define GL_TEXTURE9 0x84C9
-#define GL_TEXTURE10 0x84CA
-#define GL_TEXTURE11 0x84CB
-#define GL_TEXTURE12 0x84CC
-#define GL_TEXTURE13 0x84CD
-#define GL_TEXTURE14 0x84CE
-#define GL_TEXTURE15 0x84CF
-#define GL_TEXTURE16 0x84D0
-#define GL_TEXTURE17 0x84D1
-#define GL_TEXTURE18 0x84D2
-#define GL_TEXTURE19 0x84D3
-#define GL_TEXTURE20 0x84D4
-#define GL_TEXTURE21 0x84D5
-#define GL_TEXTURE22 0x84D6
-#define GL_TEXTURE23 0x84D7
-#define GL_TEXTURE24 0x84D8
-#define GL_TEXTURE25 0x84D9
-#define GL_TEXTURE26 0x84DA
-#define GL_TEXTURE27 0x84DB
-#define GL_TEXTURE28 0x84DC
-#define GL_TEXTURE29 0x84DD
-#define GL_TEXTURE30 0x84DE
-#define GL_TEXTURE31 0x84DF
-#define GL_ACTIVE_TEXTURE 0x84E0
-#define GL_CLIENT_ACTIVE_TEXTURE 0x84E1
-#define GL_MAX_TEXTURE_UNITS 0x84E2
-#define GL_TRANSPOSE_MODELVIEW_MATRIX 0x84E3
-#define GL_TRANSPOSE_PROJECTION_MATRIX 0x84E4
-#define GL_TRANSPOSE_TEXTURE_MATRIX 0x84E5
-#define GL_TRANSPOSE_COLOR_MATRIX 0x84E6
-#define GL_MULTISAMPLE 0x809D
-#define GL_SAMPLE_ALPHA_TO_COVERAGE 0x809E
-#define GL_SAMPLE_ALPHA_TO_ONE 0x809F
-#define GL_SAMPLE_COVERAGE 0x80A0
-#define GL_SAMPLE_BUFFERS 0x80A8
-#define GL_SAMPLES 0x80A9
-#define GL_SAMPLE_COVERAGE_VALUE 0x80AA
-#define GL_SAMPLE_COVERAGE_INVERT 0x80AB
-#define GL_MULTISAMPLE_BIT 0x20000000
-#define GL_NORMAL_MAP 0x8511
-#define GL_REFLECTION_MAP 0x8512
-#define GL_TEXTURE_CUBE_MAP 0x8513
-#define GL_TEXTURE_BINDING_CUBE_MAP 0x8514
-#define GL_TEXTURE_CUBE_MAP_POSITIVE_X 0x8515
-#define GL_TEXTURE_CUBE_MAP_NEGATIVE_X 0x8516
-#define GL_TEXTURE_CUBE_MAP_POSITIVE_Y 0x8517
-#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y 0x8518
-#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z 0x8519
-#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z 0x851A
-#define GL_PROXY_TEXTURE_CUBE_MAP 0x851B
-#define GL_MAX_CUBE_MAP_TEXTURE_SIZE 0x851C
-#define GL_COMPRESSED_ALPHA 0x84E9
-#define GL_COMPRESSED_LUMINANCE 0x84EA
-#define GL_COMPRESSED_LUMINANCE_ALPHA 0x84EB
-#define GL_COMPRESSED_INTENSITY 0x84EC
-#define GL_COMPRESSED_RGB 0x84ED
-#define GL_COMPRESSED_RGBA 0x84EE
-#define GL_TEXTURE_COMPRESSION_HINT 0x84EF
-#define GL_TEXTURE_COMPRESSED_IMAGE_SIZE 0x86A0
-#define GL_TEXTURE_COMPRESSED 0x86A1
-#define GL_NUM_COMPRESSED_TEXTURE_FORMATS 0x86A2
-#define GL_COMPRESSED_TEXTURE_FORMATS 0x86A3
-#define GL_CLAMP_TO_BORDER 0x812D
-#define GL_CLAMP_TO_BORDER_SGIS 0x812D
-#define GL_COMBINE 0x8570
-#define GL_COMBINE_RGB 0x8571
-#define GL_COMBINE_ALPHA 0x8572
-#define GL_SOURCE0_RGB 0x8580
-#define GL_SOURCE1_RGB 0x8581
-#define GL_SOURCE2_RGB 0x8582
-#define GL_SOURCE0_ALPHA 0x8588
-#define GL_SOURCE1_ALPHA 0x8589
-#define GL_SOURCE2_ALPHA 0x858A
-#define GL_OPERAND0_RGB 0x8590
-#define GL_OPERAND1_RGB 0x8591
-#define GL_OPERAND2_RGB 0x8592
-#define GL_OPERAND0_ALPHA 0x8598
-#define GL_OPERAND1_ALPHA 0x8599
-#define GL_OPERAND2_ALPHA 0x859A
-#define GL_RGB_SCALE 0x8573
-#define GL_ADD_SIGNED 0x8574
-#define GL_INTERPOLATE 0x8575
-#define GL_SUBTRACT 0x84E7
-#define GL_CONSTANT 0x8576
-#define GL_PRIMARY_COLOR 0x8577
-#define GL_PREVIOUS 0x8578
-#define GL_DOT3_RGB 0x86AE
-#define GL_DOT3_RGBA 0x86AF
-#endif
-
-#ifndef GL_ARB_multitexture
-#define GL_TEXTURE0_ARB 0x84C0
-#define GL_TEXTURE1_ARB 0x84C1
-#define GL_TEXTURE2_ARB 0x84C2
-#define GL_TEXTURE3_ARB 0x84C3
-#define GL_TEXTURE4_ARB 0x84C4
-#define GL_TEXTURE5_ARB 0x84C5
-#define GL_TEXTURE6_ARB 0x84C6
-#define GL_TEXTURE7_ARB 0x84C7
-#define GL_TEXTURE8_ARB 0x84C8
-#define GL_TEXTURE9_ARB 0x84C9
-#define GL_TEXTURE10_ARB 0x84CA
-#define GL_TEXTURE11_ARB 0x84CB
-#define GL_TEXTURE12_ARB 0x84CC
-#define GL_TEXTURE13_ARB 0x84CD
-#define GL_TEXTURE14_ARB 0x84CE
-#define GL_TEXTURE15_ARB 0x84CF
-#define GL_TEXTURE16_ARB 0x84D0
-#define GL_TEXTURE17_ARB 0x84D1
-#define GL_TEXTURE18_ARB 0x84D2
-#define GL_TEXTURE19_ARB 0x84D3
-#define GL_TEXTURE20_ARB 0x84D4
-#define GL_TEXTURE21_ARB 0x84D5
-#define GL_TEXTURE22_ARB 0x84D6
-#define GL_TEXTURE23_ARB 0x84D7
-#define GL_TEXTURE24_ARB 0x84D8
-#define GL_TEXTURE25_ARB 0x84D9
-#define GL_TEXTURE26_ARB 0x84DA
-#define GL_TEXTURE27_ARB 0x84DB
-#define GL_TEXTURE28_ARB 0x84DC
-#define GL_TEXTURE29_ARB 0x84DD
-#define GL_TEXTURE30_ARB 0x84DE
-#define GL_TEXTURE31_ARB 0x84DF
-#define GL_ACTIVE_TEXTURE_ARB 0x84E0
-#define GL_CLIENT_ACTIVE_TEXTURE_ARB 0x84E1
-#define GL_MAX_TEXTURE_UNITS_ARB 0x84E2
-#endif
-
-#ifndef GL_ARB_transpose_matrix
-#define GL_TRANSPOSE_MODELVIEW_MATRIX_ARB 0x84E3
-#define GL_TRANSPOSE_PROJECTION_MATRIX_ARB 0x84E4
-#define GL_TRANSPOSE_TEXTURE_MATRIX_ARB 0x84E5
-#define GL_TRANSPOSE_COLOR_MATRIX_ARB 0x84E6
-#endif
-
-#ifndef GL_ARB_multisample
-#define GL_MULTISAMPLE_ARB 0x809D
-#define GL_SAMPLE_ALPHA_TO_COVERAGE_ARB 0x809E
-#define GL_SAMPLE_ALPHA_TO_ONE_ARB 0x809F
-#define GL_SAMPLE_COVERAGE_ARB 0x80A0
-#define GL_SAMPLE_BUFFERS_ARB 0x80A8
-#define GL_SAMPLES_ARB 0x80A9
-#define GL_SAMPLE_COVERAGE_VALUE_ARB 0x80AA
-#define GL_SAMPLE_COVERAGE_INVERT_ARB 0x80AB
-#define GL_MULTISAMPLE_BIT_ARB 0x20000000
-#endif
-
-#ifndef GL_ARB_texture_env_add
-#endif
-
-#ifndef GL_ARB_texture_cube_map
-#define GL_NORMAL_MAP_ARB 0x8511
-#define GL_REFLECTION_MAP_ARB 0x8512
-#define GL_TEXTURE_CUBE_MAP_ARB 0x8513
-#define GL_TEXTURE_BINDING_CUBE_MAP_ARB 0x8514
-#define GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB 0x8515
-#define GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB 0x8516
-#define GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB 0x8517
-#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB 0x8518
-#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB 0x8519
-#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB 0x851A
-#define GL_PROXY_TEXTURE_CUBE_MAP_ARB 0x851B
-#define GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB 0x851C
-#endif
-
-#ifndef GL_ARB_texture_compression
-#define GL_COMPRESSED_ALPHA_ARB 0x84E9
-#define GL_COMPRESSED_LUMINANCE_ARB 0x84EA
-#define GL_COMPRESSED_LUMINANCE_ALPHA_ARB 0x84EB
-#define GL_COMPRESSED_INTENSITY_ARB 0x84EC
-#define GL_COMPRESSED_RGB_ARB 0x84ED
-#define GL_COMPRESSED_RGBA_ARB 0x84EE
-#define GL_TEXTURE_COMPRESSION_HINT_ARB 0x84EF
-#define GL_TEXTURE_COMPRESSED_IMAGE_SIZE_ARB 0x86A0
-#define GL_TEXTURE_COMPRESSED_ARB 0x86A1
-#define GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB 0x86A2
-#define GL_COMPRESSED_TEXTURE_FORMATS_ARB 0x86A3
-#endif
-
-#ifndef GL_ARB_texture_border_clamp
-#define GL_CLAMP_TO_BORDER_ARB 0x812D
-#endif
-
-#ifndef GL_ARB_point_parameters
-#define GL_POINT_SIZE_MIN_ARB 0x8126
-#define GL_POINT_SIZE_MIN_EXT 0x8126
-#define GL_POINT_SIZE_MIN_SGIS 0x8126
-#define GL_POINT_SIZE_MAX_ARB 0x8127
-#define GL_POINT_SIZE_MAX_EXT 0x8127
-#define GL_POINT_SIZE_MAX_SGIS 0x8127
-#define GL_POINT_FADE_THRESHOLD_SIZE_ARB 0x8128
-#define GL_POINT_FADE_THRESHOLD_SIZE_EXT 0x8128
-#define GL_POINT_FADE_THRESHOLD_SIZE_SGIS 0x8128
-#define GL_POINT_DISTANCE_ATTENUATION_ARB 0x8129
-#define GL_DISTANCE_ATTENUATION_EXT 0x8129
-#define GL_DISTANCE_ATTENUATION_SGIS 0x8129
-#endif
-
-#ifndef GL_ARB_vertex_blend
-#define GL_MAX_VERTEX_UNITS_ARB 0x86A4
-#define GL_ACTIVE_VERTEX_UNITS_ARB 0x86A5
-#define GL_WEIGHT_SUM_UNITY_ARB 0x86A6
-#define GL_VERTEX_BLEND_ARB 0x86A7
-#define GL_CURRENT_WEIGHT_ARB 0x86A8
-#define GL_WEIGHT_ARRAY_TYPE_ARB 0x86A9
-#define GL_WEIGHT_ARRAY_STRIDE_ARB 0x86AA
-#define GL_WEIGHT_ARRAY_SIZE_ARB 0x86AB
-#define GL_WEIGHT_ARRAY_POINTER_ARB 0x86AC
-#define GL_WEIGHT_ARRAY_ARB 0x86AD
-#define GL_MODELVIEW0_ARB 0x1700
-#define GL_MODELVIEW1_ARB 0x850A
-#define GL_MODELVIEW2_ARB 0x8722
-#define GL_MODELVIEW3_ARB 0x8723
-#define GL_MODELVIEW4_ARB 0x8724
-#define GL_MODELVIEW5_ARB 0x8725
-#define GL_MODELVIEW6_ARB 0x8726
-#define GL_MODELVIEW7_ARB 0x8727
-#define GL_MODELVIEW8_ARB 0x8728
-#define GL_MODELVIEW9_ARB 0x8729
-#define GL_MODELVIEW10_ARB 0x872A
-#define GL_MODELVIEW11_ARB 0x872B
-#define GL_MODELVIEW12_ARB 0x872C
-#define GL_MODELVIEW13_ARB 0x872D
-#define GL_MODELVIEW14_ARB 0x872E
-#define GL_MODELVIEW15_ARB 0x872F
-#define GL_MODELVIEW16_ARB 0x8730
-#define GL_MODELVIEW17_ARB 0x8731
-#define GL_MODELVIEW18_ARB 0x8732
-#define GL_MODELVIEW19_ARB 0x8733
-#define GL_MODELVIEW20_ARB 0x8734
-#define GL_MODELVIEW21_ARB 0x8735
-#define GL_MODELVIEW22_ARB 0x8736
-#define GL_MODELVIEW23_ARB 0x8737
-#define GL_MODELVIEW24_ARB 0x8738
-#define GL_MODELVIEW25_ARB 0x8739
-#define GL_MODELVIEW26_ARB 0x873A
-#define GL_MODELVIEW27_ARB 0x873B
-#define GL_MODELVIEW28_ARB 0x873C
-#define GL_MODELVIEW29_ARB 0x873D
-#define GL_MODELVIEW30_ARB 0x873E
-#define GL_MODELVIEW31_ARB 0x873F
-#endif
-
-#ifndef GL_ARB_matrix_palette
-#define GL_MATRIX_PALETTE_ARB 0x8840
-#define GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB 0x8841
-#define GL_MAX_PALETTE_MATRICES_ARB 0x8842
-#define GL_CURRENT_PALETTE_MATRIX_ARB 0x8843
-#define GL_MATRIX_INDEX_ARRAY_ARB 0x8844
-#define GL_CURRENT_MATRIX_INDEX_ARB 0x8845
-#define GL_MATRIX_INDEX_ARRAY_SIZE_ARB 0x8846
-#define GL_MATRIX_INDEX_ARRAY_TYPE_ARB 0x8847
-#define GL_MATRIX_INDEX_ARRAY_STRIDE_ARB 0x8848
-#define GL_MATRIX_INDEX_ARRAY_POINTER_ARB 0x8849
-#endif
-
-#ifndef GL_ARB_texture_env_combine
-#define GL_COMBINE_ARB 0x8570
-#define GL_COMBINE_RGB_ARB 0x8571
-#define GL_COMBINE_ALPHA_ARB 0x8572
-#define GL_SOURCE0_RGB_ARB 0x8580
-#define GL_SOURCE1_RGB_ARB 0x8581
-#define GL_SOURCE2_RGB_ARB 0x8582
-#define GL_SOURCE0_ALPHA_ARB 0x8588
-#define GL_SOURCE1_ALPHA_ARB 0x8589
-#define GL_SOURCE2_ALPHA_ARB 0x858A
-#define GL_OPERAND0_RGB_ARB 0x8590
-#define GL_OPERAND1_RGB_ARB 0x8591
-#define GL_OPERAND2_RGB_ARB 0x8592
-#define GL_OPERAND0_ALPHA_ARB 0x8598
-#define GL_OPERAND1_ALPHA_ARB 0x8599
-#define GL_OPERAND2_ALPHA_ARB 0x859A
-#define GL_RGB_SCALE_ARB 0x8573
-#define GL_ADD_SIGNED_ARB 0x8574
-#define GL_INTERPOLATE_ARB 0x8575
-#define GL_SUBTRACT_ARB 0x84E7
-#define GL_CONSTANT_ARB 0x8576
-#define GL_PRIMARY_COLOR_ARB 0x8577
-#define GL_PREVIOUS_ARB 0x8578
-#endif
-
-#ifndef GL_ARB_texture_env_crossbar
-#endif
-
-#ifndef GL_ARB_texture_env_dot3
-#define GL_DOT3_RGB_ARB 0x86AE
-#define GL_DOT3_RGB_EXT 0x86AE
-#define GL_DOT3_RGBA_ARB 0x86AF
-#define GL_DOT3_RGBA_EXT 0x86AF
-#endif
-
-#ifndef GL_ARB_texture_mirrored_repeat
-#define GL_MIRRORED_REPEAT_ARB 0x8370
-#endif
-
-#ifndef GL_ARB_depth_texture
-#define GL_DEPTH_COMPONENT16_ARB 0x81A5
-#define GL_DEPTH_COMPONENT24_ARB 0x81A6
-#define GL_DEPTH_COMPONENT32_ARB 0x81A7
-#define GL_TEXTURE_DEPTH_SIZE_ARB 0x884A
-#define GL_DEPTH_TEXTURE_MODE_ARB 0x884B
-#endif
-
-#ifndef GL_ARB_shadow
-#define GL_TEXTURE_COMPARE_MODE_ARB 0x884C
-#define GL_TEXTURE_COMPARE_FUNC_ARB 0x884D
-#define GL_COMPARE_R_TO_TEXTURE_ARB 0x884E
-#endif
-
-#ifndef GL_ARB_shadow_ambient
-#define GL_TEXTURE_COMPARE_FAIL_VALUE_ARB 0x80BF
-#endif
-
-#ifndef GL_ARB_window_pos
-#endif
-
-#ifndef GL_EXT_abgr
-#define GL_ABGR_EXT 0x8000
-#endif
-
-#ifndef GL_EXT_blend_color
-#define GL_CONSTANT_COLOR_EXT 0x8001
-#define GL_ONE_MINUS_CONSTANT_COLOR_EXT 0x8002
-#define GL_CONSTANT_ALPHA_EXT 0x8003
-#define GL_ONE_MINUS_CONSTANT_ALPHA_EXT 0x8004
-#define GL_BLEND_COLOR_EXT 0x8005
-#endif
-
-#ifndef GL_EXT_polygon_offset
-#define GL_POLYGON_OFFSET_EXT 0x8037
-#define GL_POLYGON_OFFSET_FACTOR_EXT 0x8038
-#define GL_POLYGON_OFFSET_BIAS_EXT 0x8039
-#endif
-
-#ifndef GL_EXT_texture
-#define GL_ALPHA4_EXT 0x803B
-#define GL_ALPHA8_EXT 0x803C
-#define GL_ALPHA12_EXT 0x803D
-#define GL_ALPHA16_EXT 0x803E
-#define GL_LUMINANCE4_EXT 0x803F
-#define GL_LUMINANCE8_EXT 0x8040
-#define GL_LUMINANCE12_EXT 0x8041
-#define GL_LUMINANCE16_EXT 0x8042
-#define GL_LUMINANCE4_ALPHA4_EXT 0x8043
-#define GL_LUMINANCE6_ALPHA2_EXT 0x8044
-#define GL_LUMINANCE8_ALPHA8_EXT 0x8045
-#define GL_LUMINANCE12_ALPHA4_EXT 0x8046
-#define GL_LUMINANCE12_ALPHA12_EXT 0x8047
-#define GL_LUMINANCE16_ALPHA16_EXT 0x8048
-#define GL_INTENSITY_EXT 0x8049
-#define GL_INTENSITY4_EXT 0x804A
-#define GL_INTENSITY8_EXT 0x804B
-#define GL_INTENSITY12_EXT 0x804C
-#define GL_INTENSITY16_EXT 0x804D
-#define GL_RGB2_EXT 0x804E
-#define GL_RGB4_EXT 0x804F
-#define GL_RGB5_EXT 0x8050
-#define GL_RGB8_EXT 0x8051
-#define GL_RGB10_EXT 0x8052
-#define GL_RGB12_EXT 0x8053
-#define GL_RGB16_EXT 0x8054
-#define GL_RGBA2_EXT 0x8055
-#define GL_RGBA4_EXT 0x8056
-#define GL_RGB5_A1_EXT 0x8057
-#define GL_RGBA8_EXT 0x8058
-#define GL_RGB10_A2_EXT 0x8059
-#define GL_RGBA12_EXT 0x805A
-#define GL_RGBA16_EXT 0x805B
-#define GL_TEXTURE_RED_SIZE_EXT 0x805C
-#define GL_TEXTURE_GREEN_SIZE_EXT 0x805D
-#define GL_TEXTURE_BLUE_SIZE_EXT 0x805E
-#define GL_TEXTURE_ALPHA_SIZE_EXT 0x805F
-#define GL_TEXTURE_LUMINANCE_SIZE_EXT 0x8060
-#define GL_TEXTURE_INTENSITY_SIZE_EXT 0x8061
-#define GL_REPLACE_EXT 0x8062
-#define GL_PROXY_TEXTURE_1D_EXT 0x8063
-#define GL_PROXY_TEXTURE_2D_EXT 0x8064
-#define GL_TEXTURE_TOO_LARGE_EXT 0x8065
-#endif
-
-#ifndef GL_EXT_texture3D
-#define GL_PACK_SKIP_IMAGES 0x806B
-#define GL_PACK_SKIP_IMAGES_EXT 0x806B
-#define GL_PACK_IMAGE_HEIGHT 0x806C
-#define GL_PACK_IMAGE_HEIGHT_EXT 0x806C
-#define GL_UNPACK_SKIP_IMAGES 0x806D
-#define GL_UNPACK_SKIP_IMAGES_EXT 0x806D
-#define GL_UNPACK_IMAGE_HEIGHT 0x806E
-#define GL_UNPACK_IMAGE_HEIGHT_EXT 0x806E
-#define GL_TEXTURE_3D 0x806F
-#define GL_TEXTURE_3D_EXT 0x806F
-#define GL_PROXY_TEXTURE_3D 0x8070
-#define GL_PROXY_TEXTURE_3D_EXT 0x8070
-#define GL_TEXTURE_DEPTH 0x8071
-#define GL_TEXTURE_DEPTH_EXT 0x8071
-#define GL_TEXTURE_WRAP_R 0x8072
-#define GL_TEXTURE_WRAP_R_EXT 0x8072
-#define GL_MAX_3D_TEXTURE_SIZE 0x8073
-#define GL_MAX_3D_TEXTURE_SIZE_EXT 0x8073
-#endif
-
-#ifndef GL_SGIS_texture_filter4
-#define GL_FILTER4_SGIS 0x8146
-#define GL_TEXTURE_FILTER4_SIZE_SGIS 0x8147
-#endif
-
-#ifndef GL_EXT_subtexture
-#endif
-
-#ifndef GL_EXT_copy_texture
-#endif
-
-#ifndef GL_EXT_histogram
-#define GL_HISTOGRAM_EXT 0x8024
-#define GL_PROXY_HISTOGRAM_EXT 0x8025
-#define GL_HISTOGRAM_WIDTH_EXT 0x8026
-#define GL_HISTOGRAM_FORMAT_EXT 0x8027
-#define GL_HISTOGRAM_RED_SIZE_EXT 0x8028
-#define GL_HISTOGRAM_GREEN_SIZE_EXT 0x8029
-#define GL_HISTOGRAM_BLUE_SIZE_EXT 0x802A
-#define GL_HISTOGRAM_ALPHA_SIZE_EXT 0x802B
-#define GL_HISTOGRAM_LUMINANCE_SIZE_EXT 0x802C
-#define GL_HISTOGRAM_SINK_EXT 0x802D
-#define GL_MINMAX_EXT 0x802E
-#define GL_MINMAX_FORMAT_EXT 0x802F
-#define GL_MINMAX_SINK_EXT 0x8030
-#define GL_TABLE_TOO_LARGE_EXT 0x8031
-#endif
-
-#ifndef GL_EXT_convolution
-#define GL_CONVOLUTION_1D_EXT 0x8010
-#define GL_CONVOLUTION_2D_EXT 0x8011
-#define GL_SEPARABLE_2D_EXT 0x8012
-#define GL_CONVOLUTION_BORDER_MODE_EXT 0x8013
-#define GL_CONVOLUTION_FILTER_SCALE_EXT 0x8014
-#define GL_CONVOLUTION_FILTER_BIAS_EXT 0x8015
-#define GL_REDUCE_EXT 0x8016
-#define GL_CONVOLUTION_FORMAT_EXT 0x8017
-#define GL_CONVOLUTION_WIDTH_EXT 0x8018
-#define GL_CONVOLUTION_HEIGHT_EXT 0x8019
-#define GL_MAX_CONVOLUTION_WIDTH_EXT 0x801A
-#define GL_MAX_CONVOLUTION_HEIGHT_EXT 0x801B
-#define GL_POST_CONVOLUTION_RED_SCALE_EXT 0x801C
-#define GL_POST_CONVOLUTION_GREEN_SCALE_EXT 0x801D
-#define GL_POST_CONVOLUTION_BLUE_SCALE_EXT 0x801E
-#define GL_POST_CONVOLUTION_ALPHA_SCALE_EXT 0x801F
-#define GL_POST_CONVOLUTION_RED_BIAS_EXT 0x8020
-#define GL_POST_CONVOLUTION_GREEN_BIAS_EXT 0x8021
-#define GL_POST_CONVOLUTION_BLUE_BIAS_EXT 0x8022
-#define GL_POST_CONVOLUTION_ALPHA_BIAS_EXT 0x8023
-#endif
-
-#ifndef GL_SGI_color_matrix
-#define GL_COLOR_MATRIX_SGI 0x80B1
-#define GL_COLOR_MATRIX_STACK_DEPTH_SGI 0x80B2
-#define GL_MAX_COLOR_MATRIX_STACK_DEPTH_SGI 0x80B3
-#define GL_POST_COLOR_MATRIX_RED_SCALE_SGI 0x80B4
-#define GL_POST_COLOR_MATRIX_GREEN_SCALE_SGI 0x80B5
-#define GL_POST_COLOR_MATRIX_BLUE_SCALE_SGI 0x80B6
-#define GL_POST_COLOR_MATRIX_ALPHA_SCALE_SGI 0x80B7
-#define GL_POST_COLOR_MATRIX_RED_BIAS_SGI 0x80B8
-#define GL_POST_COLOR_MATRIX_GREEN_BIAS_SGI 0x80B9
-#define GL_POST_COLOR_MATRIX_BLUE_BIAS_SGI 0x80BA
-#define GL_POST_COLOR_MATRIX_ALPHA_BIAS_SGI 0x80BB
-#endif
-
-#ifndef GL_SGI_color_table
-#define GL_COLOR_TABLE_SGI 0x80D0
-#define GL_POST_CONVOLUTION_COLOR_TABLE_SGI 0x80D1
-#define GL_POST_COLOR_MATRIX_COLOR_TABLE_SGI 0x80D2
-#define GL_PROXY_COLOR_TABLE_SGI 0x80D3
-#define GL_PROXY_POST_CONVOLUTION_COLOR_TABLE_SGI 0x80D4
-#define GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE_SGI 0x80D5
-#define GL_COLOR_TABLE_SCALE_SGI 0x80D6
-#define GL_COLOR_TABLE_BIAS_SGI 0x80D7
-#define GL_COLOR_TABLE_FORMAT_SGI 0x80D8
-#define GL_COLOR_TABLE_WIDTH_SGI 0x80D9
-#define GL_COLOR_TABLE_RED_SIZE_SGI 0x80DA
-#define GL_COLOR_TABLE_GREEN_SIZE_SGI 0x80DB
-#define GL_COLOR_TABLE_BLUE_SIZE_SGI 0x80DC
-#define GL_COLOR_TABLE_ALPHA_SIZE_SGI 0x80DD
-#define GL_COLOR_TABLE_LUMINANCE_SIZE_SGI 0x80DE
-#define GL_COLOR_TABLE_INTENSITY_SIZE_SGI 0x80DF
-#endif
-
-#ifndef GL_SGIS_pixel_texture
-#define GL_PIXEL_TEXTURE_SGIS 0x8353
-#define GL_PIXEL_FRAGMENT_RGB_SOURCE_SGIS 0x8354
-#define GL_PIXEL_FRAGMENT_ALPHA_SOURCE_SGIS 0x8355
-#define GL_PIXEL_GROUP_COLOR_SGIS 0x8356
-#endif
-
-#ifndef GL_SGIX_pixel_texture
-#define GL_PIXEL_TEX_GEN_SGIX 0x8139
-#define GL_PIXEL_TEX_GEN_MODE_SGIX 0x832B
-#endif
-
-#ifndef GL_SGIS_texture4D
-#define GL_PACK_SKIP_VOLUMES_SGIS 0x8130
-#define GL_PACK_IMAGE_DEPTH_SGIS 0x8131
-#define GL_UNPACK_SKIP_VOLUMES_SGIS 0x8132
-#define GL_UNPACK_IMAGE_DEPTH_SGIS 0x8133
-#define GL_TEXTURE_4D_SGIS 0x8134
-#define GL_PROXY_TEXTURE_4D_SGIS 0x8135
-#define GL_TEXTURE_4DSIZE_SGIS 0x8136
-#define GL_TEXTURE_WRAP_Q_SGIS 0x8137
-#define GL_MAX_4D_TEXTURE_SIZE_SGIS 0x8138
-#define GL_TEXTURE_4D_BINDING_SGIS 0x814F
-#endif
-
-#ifndef GL_SGI_texture_color_table
-#define GL_TEXTURE_COLOR_TABLE_SGI 0x80BC
-#define GL_PROXY_TEXTURE_COLOR_TABLE_SGI 0x80BD
-#endif
-
-#ifndef GL_EXT_cmyka
-#define GL_CMYK_EXT 0x800C
-#define GL_CMYKA_EXT 0x800D
-#define GL_PACK_CMYK_HINT_EXT 0x800E
-#define GL_UNPACK_CMYK_HINT_EXT 0x800F
-#endif
-
-#ifndef GL_EXT_texture_object
-#define GL_TEXTURE_PRIORITY_EXT 0x8066
-#define GL_TEXTURE_RESIDENT_EXT 0x8067
-#define GL_TEXTURE_1D_BINDING_EXT 0x8068
-#define GL_TEXTURE_2D_BINDING_EXT 0x8069
-#define GL_TEXTURE_3D_BINDING_EXT 0x806A
-#endif
-
-#ifndef GL_SGIS_detail_texture
-#define GL_DETAIL_TEXTURE_2D_SGIS 0x8095
-#define GL_DETAIL_TEXTURE_2D_BINDING_SGIS 0x8096
-#define GL_LINEAR_DETAIL_SGIS 0x8097
-#define GL_LINEAR_DETAIL_ALPHA_SGIS 0x8098
-#define GL_LINEAR_DETAIL_COLOR_SGIS 0x8099
-#define GL_DETAIL_TEXTURE_LEVEL_SGIS 0x809A
-#define GL_DETAIL_TEXTURE_MODE_SGIS 0x809B
-#define GL_DETAIL_TEXTURE_FUNC_POINTS_SGIS 0x809C
-#endif
-
-#ifndef GL_SGIS_sharpen_texture
-#define GL_LINEAR_SHARPEN_SGIS 0x80AD
-#define GL_LINEAR_SHARPEN_ALPHA_SGIS 0x80AE
-#define GL_LINEAR_SHARPEN_COLOR_SGIS 0x80AF
-#define GL_SHARPEN_TEXTURE_FUNC_POINTS_SGIS 0x80B0
-#endif
-
-#ifndef GL_EXT_packed_pixels
-#define GL_UNSIGNED_BYTE_3_3_2_EXT 0x8032
-#define GL_UNSIGNED_SHORT_4_4_4_4_EXT 0x8033
-#define GL_UNSIGNED_SHORT_5_5_5_1_EXT 0x8034
-#define GL_UNSIGNED_INT_8_8_8_8_EXT 0x8035
-#define GL_UNSIGNED_INT_10_10_10_2_EXT 0x8036
-#endif
-
-#ifndef GL_SGIS_texture_lod
-#define GL_TEXTURE_MIN_LOD_SGIS 0x813A
-#define GL_TEXTURE_MAX_LOD_SGIS 0x813B
-#define GL_TEXTURE_BASE_LEVEL_SGIS 0x813C
-#define GL_TEXTURE_MAX_LEVEL_SGIS 0x813D
-#endif
-
-#ifndef GL_SGIS_multisample
-#define GL_MULTISAMPLE_SGIS 0x809D
-#define GL_SAMPLE_ALPHA_TO_MASK_SGIS 0x809E
-#define GL_SAMPLE_ALPHA_TO_ONE_SGIS 0x809F
-#define GL_SAMPLE_MASK_SGIS 0x80A0
-#define GL_1PASS_SGIS 0x80A1
-#define GL_2PASS_0_SGIS 0x80A2
-#define GL_2PASS_1_SGIS 0x80A3
-#define GL_4PASS_0_SGIS 0x80A4
-#define GL_4PASS_1_SGIS 0x80A5
-#define GL_4PASS_2_SGIS 0x80A6
-#define GL_4PASS_3_SGIS 0x80A7
-#define GL_SAMPLE_BUFFERS_SGIS 0x80A8
-#define GL_SAMPLES_SGIS 0x80A9
-#define GL_SAMPLE_MASK_VALUE_SGIS 0x80AA
-#define GL_SAMPLE_MASK_INVERT_SGIS 0x80AB
-#define GL_SAMPLE_PATTERN_SGIS 0x80AC
-#endif
-
-#ifndef GL_EXT_rescale_normal
-#define GL_RESCALE_NORMAL_EXT 0x803A
-#endif
-
-#ifndef GL_EXT_vertex_array
-#define GL_VERTEX_ARRAY_EXT 0x8074
-#define GL_NORMAL_ARRAY_EXT 0x8075
-#define GL_COLOR_ARRAY_EXT 0x8076
-#define GL_INDEX_ARRAY_EXT 0x8077
-#define GL_TEXTURE_COORD_ARRAY_EXT 0x8078
-#define GL_EDGE_FLAG_ARRAY_EXT 0x8079
-#define GL_VERTEX_ARRAY_SIZE_EXT 0x807A
-#define GL_VERTEX_ARRAY_TYPE_EXT 0x807B
-#define GL_VERTEX_ARRAY_STRIDE_EXT 0x807C
-#define GL_VERTEX_ARRAY_COUNT_EXT 0x807D
-#define GL_NORMAL_ARRAY_TYPE_EXT 0x807E
-#define GL_NORMAL_ARRAY_STRIDE_EXT 0x807F
-#define GL_NORMAL_ARRAY_COUNT_EXT 0x8080
-#define GL_COLOR_ARRAY_SIZE_EXT 0x8081
-#define GL_COLOR_ARRAY_TYPE_EXT 0x8082
-#define GL_COLOR_ARRAY_STRIDE_EXT 0x8083
-#define GL_COLOR_ARRAY_COUNT_EXT 0x8084
-#define GL_INDEX_ARRAY_TYPE_EXT 0x8085
-#define GL_INDEX_ARRAY_STRIDE_EXT 0x8086
-#define GL_INDEX_ARRAY_COUNT_EXT 0x8087
-#define GL_TEXTURE_COORD_ARRAY_SIZE_EXT 0x8088
-#define GL_TEXTURE_COORD_ARRAY_TYPE_EXT 0x8089
-#define GL_TEXTURE_COORD_ARRAY_STRIDE_EXT 0x808A
-#define GL_TEXTURE_COORD_ARRAY_COUNT_EXT 0x808B
-#define GL_EDGE_FLAG_ARRAY_STRIDE_EXT 0x808C
-#define GL_EDGE_FLAG_ARRAY_COUNT_EXT 0x808D
-#define GL_VERTEX_ARRAY_POINTER_EXT 0x808E
-#define GL_NORMAL_ARRAY_POINTER_EXT 0x808F
-#define GL_COLOR_ARRAY_POINTER_EXT 0x8090
-#define GL_INDEX_ARRAY_POINTER_EXT 0x8091
-#define GL_TEXTURE_COORD_ARRAY_POINTER_EXT 0x8092
-#define GL_EDGE_FLAG_ARRAY_POINTER_EXT 0x8093
-#endif
-
-#ifndef GL_EXT_misc_attribute
-#endif
-
-#ifndef GL_SGIS_generate_mipmap
-#define GL_GENERATE_MIPMAP_SGIS 0x8191
-#define GL_GENERATE_MIPMAP_HINT_SGIS 0x8192
-#endif
-
-#ifndef GL_SGIX_clipmap
-#define GL_LINEAR_CLIPMAP_LINEAR_SGIX 0x8170
-#define GL_TEXTURE_CLIPMAP_CENTER_SGIX 0x8171
-#define GL_TEXTURE_CLIPMAP_FRAME_SGIX 0x8172
-#define GL_TEXTURE_CLIPMAP_OFFSET_SGIX 0x8173
-#define GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX 0x8174
-#define GL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX 0x8175
-#define GL_TEXTURE_CLIPMAP_DEPTH_SGIX 0x8176
-#define GL_MAX_CLIPMAP_DEPTH_SGIX 0x8177
-#define GL_MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX 0x8178
-#define GL_NEAREST_CLIPMAP_NEAREST_SGIX 0x844D
-#define GL_NEAREST_CLIPMAP_LINEAR_SGIX 0x844E
-#define GL_LINEAR_CLIPMAP_NEAREST_SGIX 0x844F
-#endif
-
-#ifndef GL_SGIX_shadow
-#define GL_TEXTURE_COMPARE_SGIX 0x819A
-#define GL_TEXTURE_COMPARE_OPERATOR_SGIX 0x819B
-#define GL_TEXTURE_LEQUAL_R_SGIX 0x819C
-#define GL_TEXTURE_GEQUAL_R_SGIX 0x819D
-#endif
-
-#ifndef GL_SGIS_texture_edge_clamp
-#define GL_CLAMP_TO_EDGE_SGIS 0x812F
-#endif
-
-#ifndef GL_EXT_blend_minmax
-#define GL_FUNC_ADD_EXT 0x8006
-#define GL_MIN_EXT 0x8007
-#define GL_MAX_EXT 0x8008
-#define GL_BLEND_EQUATION_EXT 0x8009
-#endif
-
-#ifndef GL_EXT_blend_subtract
-#define GL_FUNC_SUBTRACT_EXT 0x800A
-#define GL_FUNC_REVERSE_SUBTRACT_EXT 0x800B
-#endif
-
-#ifndef GL_EXT_blend_logic_op
-#endif
-
-#ifndef GL_SGIX_interlace
-#define GL_INTERLACE_SGIX 0x8094
-#endif
-
-#ifndef GL_SGIX_pixel_tiles
-#define GL_PIXEL_TILE_BEST_ALIGNMENT_SGIX 0x813E
-#define GL_PIXEL_TILE_CACHE_INCREMENT_SGIX 0x813F
-#define GL_PIXEL_TILE_WIDTH_SGIX 0x8140
-#define GL_PIXEL_TILE_HEIGHT_SGIX 0x8141
-#define GL_PIXEL_TILE_GRID_WIDTH_SGIX 0x8142
-#define GL_PIXEL_TILE_GRID_HEIGHT_SGIX 0x8143
-#define GL_PIXEL_TILE_GRID_DEPTH_SGIX 0x8144
-#define GL_PIXEL_TILE_CACHE_SIZE_SGIX 0x8145
-#endif
-
-#ifndef GL_SGIS_texture_select
-#define GL_DUAL_ALPHA4_SGIS 0x8110
-#define GL_DUAL_ALPHA8_SGIS 0x8111
-#define GL_DUAL_ALPHA12_SGIS 0x8112
-#define GL_DUAL_ALPHA16_SGIS 0x8113
-#define GL_DUAL_LUMINANCE4_SGIS 0x8114
-#define GL_DUAL_LUMINANCE8_SGIS 0x8115
-#define GL_DUAL_LUMINANCE12_SGIS 0x8116
-#define GL_DUAL_LUMINANCE16_SGIS 0x8117
-#define GL_DUAL_INTENSITY4_SGIS 0x8118
-#define GL_DUAL_INTENSITY8_SGIS 0x8119
-#define GL_DUAL_INTENSITY12_SGIS 0x811A
-#define GL_DUAL_INTENSITY16_SGIS 0x811B
-#define GL_DUAL_LUMINANCE_ALPHA4_SGIS 0x811C
-#define GL_DUAL_LUMINANCE_ALPHA8_SGIS 0x811D
-#define GL_QUAD_ALPHA4_SGIS 0x811E
-#define GL_QUAD_ALPHA8_SGIS 0x811F
-#define GL_QUAD_LUMINANCE4_SGIS 0x8120
-#define GL_QUAD_LUMINANCE8_SGIS 0x8121
-#define GL_QUAD_INTENSITY4_SGIS 0x8122
-#define GL_QUAD_INTENSITY8_SGIS 0x8123
-#define GL_DUAL_TEXTURE_SELECT_SGIS 0x8124
-#define GL_QUAD_TEXTURE_SELECT_SGIS 0x8125
-#endif
-
-#ifndef GL_SGIX_sprite
-#define GL_SPRITE_SGIX 0x8148
-#define GL_SPRITE_MODE_SGIX 0x8149
-#define GL_SPRITE_AXIS_SGIX 0x814A
-#define GL_SPRITE_TRANSLATION_SGIX 0x814B
-#define GL_SPRITE_AXIAL_SGIX 0x814C
-#define GL_SPRITE_OBJECT_ALIGNED_SGIX 0x814D
-#define GL_SPRITE_EYE_ALIGNED_SGIX 0x814E
-#endif
-
-#ifndef GL_SGIX_texture_multi_buffer
-#define GL_TEXTURE_MULTI_BUFFER_HINT_SGIX 0x812E
-#endif
-
-#ifndef GL_SGIX_instruments
-#define GL_INSTRUMENT_BUFFER_POINTER_SGIX 0x8180
-#define GL_INSTRUMENT_MEASUREMENTS_SGIX 0x8181
-#endif
-
-#ifndef GL_SGIX_texture_scale_bias
-#define GL_POST_TEXTURE_FILTER_BIAS_SGIX 0x8179
-#define GL_POST_TEXTURE_FILTER_SCALE_SGIX 0x817A
-#define GL_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX 0x817B
-#define GL_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX 0x817C
-#endif
-
-#ifndef GL_SGIX_framezoom
-#define GL_FRAMEZOOM_SGIX 0x818B
-#define GL_FRAMEZOOM_FACTOR_SGIX 0x818C
-#define GL_MAX_FRAMEZOOM_FACTOR_SGIX 0x818D
-#endif
-
-#ifndef GL_SGIX_tag_sample_buffer
-#endif
-
-#ifndef GL_FfdMaskSGIX
-#define GL_TEXTURE_DEFORMATION_BIT_SGIX 0x00000001
-#define GL_GEOMETRY_DEFORMATION_BIT_SGIX 0x00000002
-#endif
-
-#ifndef GL_SGIX_polynomial_ffd
-#define GL_GEOMETRY_DEFORMATION_SGIX 0x8194
-#define GL_TEXTURE_DEFORMATION_SGIX 0x8195
-#define GL_DEFORMATIONS_MASK_SGIX 0x8196
-#define GL_MAX_DEFORMATION_ORDER_SGIX 0x8197
-#endif
-
-#ifndef GL_SGIX_reference_plane
-#define GL_REFERENCE_PLANE_SGIX 0x817D
-#define GL_REFERENCE_PLANE_EQUATION_SGIX 0x817E
-#endif
-
-#ifndef GL_SGIX_flush_raster
-#endif
-
-#ifndef GL_SGIX_depth_texture
-#define GL_DEPTH_COMPONENT16_SGIX 0x81A5
-#define GL_DEPTH_COMPONENT24_SGIX 0x81A6
-#define GL_DEPTH_COMPONENT32_SGIX 0x81A7
-#endif
-
-#ifndef GL_SGIS_fog_function
-#define GL_FOG_FUNC_SGIS 0x812A
-#define GL_FOG_FUNC_POINTS_SGIS 0x812B
-#define GL_MAX_FOG_FUNC_POINTS_SGIS 0x812C
-#endif
-
-#ifndef GL_SGIX_fog_offset
-#define GL_FOG_OFFSET_SGIX 0x8198
-#define GL_FOG_OFFSET_VALUE_SGIX 0x8199
-#endif
-
-#ifndef GL_HP_image_transform
-#define GL_IMAGE_SCALE_X_HP 0x8155
-#define GL_IMAGE_SCALE_Y_HP 0x8156
-#define GL_IMAGE_TRANSLATE_X_HP 0x8157
-#define GL_IMAGE_TRANSLATE_Y_HP 0x8158
-#define GL_IMAGE_ROTATE_ANGLE_HP 0x8159
-#define GL_IMAGE_ROTATE_ORIGIN_X_HP 0x815A
-#define GL_IMAGE_ROTATE_ORIGIN_Y_HP 0x815B
-#define GL_IMAGE_MAG_FILTER_HP 0x815C
-#define GL_IMAGE_MIN_FILTER_HP 0x815D
-#define GL_IMAGE_CUBIC_WEIGHT_HP 0x815E
-#define GL_CUBIC_HP 0x815F
-#define GL_AVERAGE_HP 0x8160
-#define GL_IMAGE_TRANSFORM_2D_HP 0x8161
-#define GL_POST_IMAGE_TRANSFORM_COLOR_TABLE_HP 0x8162
-#define GL_PROXY_POST_IMAGE_TRANSFORM_COLOR_TABLE_HP 0x8163
-#endif
-
-#ifndef GL_HP_convolution_border_modes
-#define GL_IGNORE_BORDER_HP 0x8150
-#define GL_CONSTANT_BORDER_HP 0x8151
-#define GL_REPLICATE_BORDER_HP 0x8153
-#define GL_CONVOLUTION_BORDER_COLOR_HP 0x8154
-#endif
-
-#ifndef GL_INGR_palette_buffer
-#endif
-
-#ifndef GL_SGIX_texture_add_env
-#define GL_TEXTURE_ENV_BIAS_SGIX 0x80BE
-#endif
-
-#ifndef GL_EXT_color_subtable
-#endif
-
-#ifndef GL_PGI_vertex_hints
-#define GL_VERTEX_DATA_HINT_PGI 0x1A22A
-#define GL_VERTEX_CONSISTENT_HINT_PGI 0x1A22B
-#define GL_MATERIAL_SIDE_HINT_PGI 0x1A22C
-#define GL_MAX_VERTEX_HINT_PGI 0x1A22D
-#define GL_COLOR3_BIT_PGI 0x00010000
-#define GL_COLOR4_BIT_PGI 0x00020000
-#define GL_EDGEFLAG_BIT_PGI 0x00040000
-#define GL_INDEX_BIT_PGI 0x00080000
-#define GL_MAT_AMBIENT_BIT_PGI 0x00100000
-#define GL_MAT_AMBIENT_AND_DIFFUSE_BIT_PGI 0x00200000
-#define GL_MAT_DIFFUSE_BIT_PGI 0x00400000
-#define GL_MAT_EMISSION_BIT_PGI 0x00800000
-#define GL_MAT_COLOR_INDEXES_BIT_PGI 0x01000000
-#define GL_MAT_SHININESS_BIT_PGI 0x02000000
-#define GL_MAT_SPECULAR_BIT_PGI 0x04000000
-#define GL_NORMAL_BIT_PGI 0x08000000
-#define GL_TEXCOORD1_BIT_PGI 0x10000000
-#define GL_TEXCOORD2_BIT_PGI 0x20000000
-#define GL_TEXCOORD3_BIT_PGI 0x40000000
-#define GL_TEXCOORD4_BIT_PGI 0x80000000
-#define GL_VERTEX23_BIT_PGI 0x00000004
-#define GL_VERTEX4_BIT_PGI 0x00000008
-#endif
-
-#ifndef GL_PGI_misc_hints
-#define GL_PREFER_DOUBLEBUFFER_HINT_PGI 0x1A1F8
-#define GL_CONSERVE_MEMORY_HINT_PGI 0x1A1FD
-#define GL_RECLAIM_MEMORY_HINT_PGI 0x1A1FE
-#define GL_NATIVE_GRAPHICS_HANDLE_PGI 0x1A202
-#define GL_NATIVE_GRAPHICS_BEGIN_HINT_PGI 0x1A203
-#define GL_NATIVE_GRAPHICS_END_HINT_PGI 0x1A204
-#define GL_ALWAYS_FAST_HINT_PGI 0x1A20C
-#define GL_ALWAYS_SOFT_HINT_PGI 0x1A20D
-#define GL_ALLOW_DRAW_OBJ_HINT_PGI 0x1A20E
-#define GL_ALLOW_DRAW_WIN_HINT_PGI 0x1A20F
-#define GL_ALLOW_DRAW_FRG_HINT_PGI 0x1A210
-#define GL_ALLOW_DRAW_MEM_HINT_PGI 0x1A211
-#define GL_STRICT_DEPTHFUNC_HINT_PGI 0x1A216
-#define GL_STRICT_LIGHTING_HINT_PGI 0x1A217
-#define GL_STRICT_SCISSOR_HINT_PGI 0x1A218
-#define GL_FULL_STIPPLE_HINT_PGI 0x1A219
-#define GL_CLIP_NEAR_HINT_PGI 0x1A220
-#define GL_CLIP_FAR_HINT_PGI 0x1A221
-#define GL_WIDE_LINE_HINT_PGI 0x1A222
-#define GL_BACK_NORMALS_HINT_PGI 0x1A223
-#endif
-
-#ifndef GL_EXT_paletted_texture
-#define GL_COLOR_INDEX1_EXT 0x80E2
-#define GL_COLOR_INDEX2_EXT 0x80E3
-#define GL_COLOR_INDEX4_EXT 0x80E4
-#define GL_COLOR_INDEX8_EXT 0x80E5
-#define GL_COLOR_INDEX12_EXT 0x80E6
-#define GL_COLOR_INDEX16_EXT 0x80E7
-#define GL_TEXTURE_INDEX_SIZE_EXT 0x80ED
-#endif
-
-#ifndef GL_EXT_clip_volume_hint
-#define GL_CLIP_VOLUME_CLIPPING_HINT_EXT 0x80F0
-#endif
-
-#ifndef GL_SGIX_list_priority
-#define GL_LIST_PRIORITY_SGIX 0x8182
-#endif
-
-#ifndef GL_SGIX_ir_instrument1
-#define GL_IR_INSTRUMENT1_SGIX 0x817F
-#endif
-
-#ifndef GL_SGIX_calligraphic_fragment
-#define GL_CALLIGRAPHIC_FRAGMENT_SGIX 0x8183
-#endif
-
-#ifndef GL_SGIX_texture_lod_bias
-#define GL_TEXTURE_LOD_BIAS_S_SGIX 0x818E
-#define GL_TEXTURE_LOD_BIAS_T_SGIX 0x818F
-#define GL_TEXTURE_LOD_BIAS_R_SGIX 0x8190
-#endif
-
-#ifndef GL_SGIX_shadow_ambient
-#define GL_SHADOW_AMBIENT_SGIX 0x80BF
-#endif
-
-#ifndef GL_EXT_index_texture
-#endif
-
-#ifndef GL_EXT_index_material
-#define GL_INDEX_MATERIAL_EXT 0x81B8
-#define GL_INDEX_MATERIAL_PARAMETER_EXT 0x81B9
-#define GL_INDEX_MATERIAL_FACE_EXT 0x81BA
-#endif
-
-#ifndef GL_EXT_index_func
-#define GL_INDEX_TEST_EXT 0x81B5
-#define GL_INDEX_TEST_FUNC_EXT 0x81B6
-#define GL_INDEX_TEST_REF_EXT 0x81B7
-#endif
-
-#ifndef GL_EXT_index_array_formats
-#define GL_IUI_V2F_EXT 0x81AD
-#define GL_IUI_V3F_EXT 0x81AE
-#define GL_IUI_N3F_V2F_EXT 0x81AF
-#define GL_IUI_N3F_V3F_EXT 0x81B0
-#define GL_T2F_IUI_V2F_EXT 0x81B1
-#define GL_T2F_IUI_V3F_EXT 0x81B2
-#define GL_T2F_IUI_N3F_V2F_EXT 0x81B3
-#define GL_T2F_IUI_N3F_V3F_EXT 0x81B4
-#endif
-
-#ifndef GL_EXT_compiled_vertex_array
-#define GL_ARRAY_ELEMENT_LOCK_FIRST_EXT 0x81A8
-#define GL_ARRAY_ELEMENT_LOCK_COUNT_EXT 0x81A9
-#endif
-
-#ifndef GL_EXT_cull_vertex
-#define GL_CULL_VERTEX_EXT 0x81AA
-#define GL_CULL_VERTEX_EYE_POSITION_EXT 0x81AB
-#define GL_CULL_VERTEX_OBJECT_POSITION_EXT 0x81AC
-#endif
-
-#ifndef GL_SGIX_ycrcb
-#define GL_YCRCB_422_SGIX 0x81BB
-#define GL_YCRCB_444_SGIX 0x81BC
-#endif
-
-#ifndef GL_SGIX_fragment_lighting
-#define GL_FRAGMENT_LIGHTING_SGIX 0x8400
-#define GL_FRAGMENT_COLOR_MATERIAL_SGIX 0x8401
-#define GL_FRAGMENT_COLOR_MATERIAL_FACE_SGIX 0x8402
-#define GL_FRAGMENT_COLOR_MATERIAL_PARAMETER_SGIX 0x8403
-#define GL_MAX_FRAGMENT_LIGHTS_SGIX 0x8404
-#define GL_MAX_ACTIVE_LIGHTS_SGIX 0x8405
-#define GL_CURRENT_RASTER_NORMAL_SGIX 0x8406
-#define GL_LIGHT_ENV_MODE_SGIX 0x8407
-#define GL_FRAGMENT_LIGHT_MODEL_LOCAL_VIEWER_SGIX 0x8408
-#define GL_FRAGMENT_LIGHT_MODEL_TWO_SIDE_SGIX 0x8409
-#define GL_FRAGMENT_LIGHT_MODEL_AMBIENT_SGIX 0x840A
-#define GL_FRAGMENT_LIGHT_MODEL_NORMAL_INTERPOLATION_SGIX 0x840B
-#define GL_FRAGMENT_LIGHT0_SGIX 0x840C
-#define GL_FRAGMENT_LIGHT1_SGIX 0x840D
-#define GL_FRAGMENT_LIGHT2_SGIX 0x840E
-#define GL_FRAGMENT_LIGHT3_SGIX 0x840F
-#define GL_FRAGMENT_LIGHT4_SGIX 0x8410
-#define GL_FRAGMENT_LIGHT5_SGIX 0x8411
-#define GL_FRAGMENT_LIGHT6_SGIX 0x8412
-#define GL_FRAGMENT_LIGHT7_SGIX 0x8413
-#endif
-
-#ifndef GL_IBM_rasterpos_clip
-#define GL_RASTER_POSITION_UNCLIPPED_IBM 0x19262
-#endif
-
-#ifndef GL_HP_texture_lighting
-#define GL_TEXTURE_LIGHTING_MODE_HP 0x8167
-#define GL_TEXTURE_POST_SPECULAR_HP 0x8168
-#define GL_TEXTURE_PRE_SPECULAR_HP 0x8169
-#endif
-
-#ifndef GL_EXT_draw_range_elements
-#define GL_MAX_ELEMENTS_VERTICES_EXT 0x80E8
-#define GL_MAX_ELEMENTS_INDICES_EXT 0x80E9
-#endif
-
-#ifndef GL_WIN_phong_shading
-#define GL_PHONG_WIN 0x80EA
-#define GL_PHONG_HINT_WIN 0x80EB
-#endif
-
-#ifndef GL_WIN_specular_fog
-#define GL_FOG_SPECULAR_TEXTURE_WIN 0x80EC
-#endif
-
-#ifndef GL_EXT_light_texture
-#define GL_FRAGMENT_MATERIAL_EXT 0x8349
-#define GL_FRAGMENT_NORMAL_EXT 0x834A
-#define GL_FRAGMENT_COLOR_EXT 0x834C
-#define GL_ATTENUATION_EXT 0x834D
-#define GL_SHADOW_ATTENUATION_EXT 0x834E
-#define GL_TEXTURE_APPLICATION_MODE_EXT 0x834F
-#define GL_TEXTURE_LIGHT_EXT 0x8350
-#define GL_TEXTURE_MATERIAL_FACE_EXT 0x8351
-#define GL_TEXTURE_MATERIAL_PARAMETER_EXT 0x8352
-/* reuse GL_FRAGMENT_DEPTH_EXT */
-#endif
-
-#ifndef GL_SGIX_blend_alpha_minmax
-#define GL_ALPHA_MIN_SGIX 0x8320
-#define GL_ALPHA_MAX_SGIX 0x8321
-#endif
-
-#ifndef GL_SGIX_impact_pixel_texture
-#define GL_PIXEL_TEX_GEN_Q_CEILING_SGIX 0x8184
-#define GL_PIXEL_TEX_GEN_Q_ROUND_SGIX 0x8185
-#define GL_PIXEL_TEX_GEN_Q_FLOOR_SGIX 0x8186
-#define GL_PIXEL_TEX_GEN_ALPHA_REPLACE_SGIX 0x8187
-#define GL_PIXEL_TEX_GEN_ALPHA_NO_REPLACE_SGIX 0x8188
-#define GL_PIXEL_TEX_GEN_ALPHA_LS_SGIX 0x8189
-#define GL_PIXEL_TEX_GEN_ALPHA_MS_SGIX 0x818A
-#endif
-
-#ifndef GL_EXT_bgra
-#define GL_BGR_EXT 0x80E0
-#define GL_BGRA_EXT 0x80E1
-#endif
-
-#ifndef GL_SGIX_async
-#define GL_ASYNC_MARKER_SGIX 0x8329
-#endif
-
-#ifndef GL_SGIX_async_pixel
-#define GL_ASYNC_TEX_IMAGE_SGIX 0x835C
-#define GL_ASYNC_DRAW_PIXELS_SGIX 0x835D
-#define GL_ASYNC_READ_PIXELS_SGIX 0x835E
-#define GL_MAX_ASYNC_TEX_IMAGE_SGIX 0x835F
-#define GL_MAX_ASYNC_DRAW_PIXELS_SGIX 0x8360
-#define GL_MAX_ASYNC_READ_PIXELS_SGIX 0x8361
-#endif
-
-#ifndef GL_SGIX_async_histogram
-#define GL_ASYNC_HISTOGRAM_SGIX 0x832C
-#define GL_MAX_ASYNC_HISTOGRAM_SGIX 0x832D
-#endif
-
-#ifndef GL_INTEL_texture_scissor
-#endif
-
-#ifndef GL_INTEL_parallel_arrays
-#define GL_PARALLEL_ARRAYS_INTEL 0x83F4
-#define GL_VERTEX_ARRAY_PARALLEL_POINTERS_INTEL 0x83F5
-#define GL_NORMAL_ARRAY_PARALLEL_POINTERS_INTEL 0x83F6
-#define GL_COLOR_ARRAY_PARALLEL_POINTERS_INTEL 0x83F7
-#define GL_TEXTURE_COORD_ARRAY_PARALLEL_POINTERS_INTEL 0x83F8
-#endif
-
-#ifndef GL_HP_occlusion_test
-#define GL_OCCLUSION_TEST_HP 0x8165
-#define GL_OCCLUSION_TEST_RESULT_HP 0x8166
-#endif
-
-#ifndef GL_EXT_pixel_transform
-#define GL_PIXEL_TRANSFORM_2D_EXT 0x8330
-#define GL_PIXEL_MAG_FILTER_EXT 0x8331
-#define GL_PIXEL_MIN_FILTER_EXT 0x8332
-#define GL_PIXEL_CUBIC_WEIGHT_EXT 0x8333
-#define GL_CUBIC_EXT 0x8334
-#define GL_AVERAGE_EXT 0x8335
-#define GL_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT 0x8336
-#define GL_MAX_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT 0x8337
-#define GL_PIXEL_TRANSFORM_2D_MATRIX_EXT 0x8338
-#endif
-
-#ifndef GL_EXT_pixel_transform_color_table
-#endif
-
-#ifndef GL_EXT_shared_texture_palette
-#define GL_SHARED_TEXTURE_PALETTE_EXT 0x81FB
-#endif
-
-#ifndef GL_EXT_separate_specular_color
-#define GL_LIGHT_MODEL_COLOR_CONTROL_EXT 0x81F8
-#define GL_SINGLE_COLOR_EXT 0x81F9
-#define GL_SEPARATE_SPECULAR_COLOR_EXT 0x81FA
-#endif
-
-#ifndef GL_EXT_secondary_color
-#define GL_COLOR_SUM_EXT 0x8458
-#define GL_CURRENT_SECONDARY_COLOR_EXT 0x8459
-#define GL_SECONDARY_COLOR_ARRAY_SIZE_EXT 0x845A
-#define GL_SECONDARY_COLOR_ARRAY_TYPE_EXT 0x845B
-#define GL_SECONDARY_COLOR_ARRAY_STRIDE_EXT 0x845C
-#define GL_SECONDARY_COLOR_ARRAY_POINTER_EXT 0x845D
-#define GL_SECONDARY_COLOR_ARRAY_EXT 0x845E
-#endif
-
-#ifndef GL_EXT_texture_perturb_normal
-#define GL_PERTURB_EXT 0x85AE
-#define GL_TEXTURE_NORMAL_EXT 0x85AF
-#endif
-
-#ifndef GL_EXT_multi_draw_arrays
-#endif
-
-#ifndef GL_EXT_fog_coord
-#define GL_FOG_COORDINATE_SOURCE_EXT 0x8450
-#define GL_FOG_COORDINATE_EXT 0x8451
-#define GL_FRAGMENT_DEPTH_EXT 0x8452
-#define GL_CURRENT_FOG_COORDINATE_EXT 0x8453
-#define GL_FOG_COORDINATE_ARRAY_TYPE_EXT 0x8454
-#define GL_FOG_COORDINATE_ARRAY_STRIDE_EXT 0x8455
-#define GL_FOG_COORDINATE_ARRAY_POINTER_EXT 0x8456
-#define GL_FOG_COORDINATE_ARRAY_EXT 0x8457
-#endif
-
-#ifndef GL_REND_screen_coordinates
-#define GL_SCREEN_COORDINATES_REND 0x8490
-#define GL_INVERTED_SCREEN_W_REND 0x8491
-#endif
-
-#ifndef GL_EXT_coordinate_frame
-#define GL_TANGENT_ARRAY_EXT 0x8439
-#define GL_BINORMAL_ARRAY_EXT 0x843A
-#define GL_CURRENT_TANGENT_EXT 0x843B
-#define GL_CURRENT_BINORMAL_EXT 0x843C
-#define GL_TANGENT_ARRAY_TYPE_EXT 0x843E
-#define GL_TANGENT_ARRAY_STRIDE_EXT 0x843F
-#define GL_BINORMAL_ARRAY_TYPE_EXT 0x8440
-#define GL_BINORMAL_ARRAY_STRIDE_EXT 0x8441
-#define GL_TANGENT_ARRAY_POINTER_EXT 0x8442
-#define GL_BINORMAL_ARRAY_POINTER_EXT 0x8443
-#define GL_MAP1_TANGENT_EXT 0x8444
-#define GL_MAP2_TANGENT_EXT 0x8445
-#define GL_MAP1_BINORMAL_EXT 0x8446
-#define GL_MAP2_BINORMAL_EXT 0x8447
-#endif
-
-#ifndef GL_EXT_texture_env_combine
-#define GL_COMBINE_EXT 0x8570
-#define GL_COMBINE_RGB_EXT 0x8571
-#define GL_COMBINE_ALPHA_EXT 0x8572
-#define GL_RGB_SCALE_EXT 0x8573
-#define GL_ADD_SIGNED_EXT 0x8574
-#define GL_INTERPOLATE_EXT 0x8575
-#define GL_CONSTANT_EXT 0x8576
-#define GL_PRIMARY_COLOR_EXT 0x8577
-#define GL_PREVIOUS_EXT 0x8578
-#define GL_SOURCE0_RGB_EXT 0x8580
-#define GL_SOURCE1_RGB_EXT 0x8581
-#define GL_SOURCE2_RGB_EXT 0x8582
-#define GL_SOURCE0_ALPHA_EXT 0x8588
-#define GL_SOURCE1_ALPHA_EXT 0x8589
-#define GL_SOURCE2_ALPHA_EXT 0x858A
-#define GL_OPERAND0_RGB_EXT 0x8590
-#define GL_OPERAND1_RGB_EXT 0x8591
-#define GL_OPERAND2_RGB_EXT 0x8592
-#define GL_OPERAND0_ALPHA_EXT 0x8598
-#define GL_OPERAND1_ALPHA_EXT 0x8599
-#define GL_OPERAND2_ALPHA_EXT 0x859A
-#endif
-
-#ifndef GL_APPLE_specular_vector
-#define GL_LIGHT_MODEL_SPECULAR_VECTOR_APPLE 0x85B0
-#endif
-
-#ifndef GL_APPLE_transform_hint
-#define GL_TRANSFORM_HINT_APPLE 0x85B1
-#endif
-
-#ifndef GL_SGIX_fog_scale
-#define GL_FOG_SCALE_SGIX 0x81FC
-#define GL_FOG_SCALE_VALUE_SGIX 0x81FD
-#endif
-
-#ifndef GL_SUNX_constant_data
-#define GL_UNPACK_CONSTANT_DATA_SUNX 0x81D5
-#define GL_TEXTURE_CONSTANT_DATA_SUNX 0x81D6
-#endif
-
-#ifndef GL_SUN_global_alpha
-#define GL_GLOBAL_ALPHA_SUN 0x81D9
-#define GL_GLOBAL_ALPHA_FACTOR_SUN 0x81DA
-#endif
-
-#ifndef GL_SUN_triangle_list
-#define GL_RESTART_SUN 0x0001
-#define GL_REPLACE_MIDDLE_SUN 0x0002
-#define GL_REPLACE_OLDEST_SUN 0x0003
-#define GL_TRIANGLE_LIST_SUN 0x81D7
-#define GL_REPLACEMENT_CODE_SUN 0x81D8
-#define GL_REPLACEMENT_CODE_ARRAY_SUN 0x85C0
-#define GL_REPLACEMENT_CODE_ARRAY_TYPE_SUN 0x85C1
-#define GL_REPLACEMENT_CODE_ARRAY_STRIDE_SUN 0x85C2
-#define GL_REPLACEMENT_CODE_ARRAY_POINTER_SUN 0x85C3
-#define GL_R1UI_V3F_SUN 0x85C4
-#define GL_R1UI_C4UB_V3F_SUN 0x85C5
-#define GL_R1UI_C3F_V3F_SUN 0x85C6
-#define GL_R1UI_N3F_V3F_SUN 0x85C7
-#define GL_R1UI_C4F_N3F_V3F_SUN 0x85C8
-#define GL_R1UI_T2F_V3F_SUN 0x85C9
-#define GL_R1UI_T2F_N3F_V3F_SUN 0x85CA
-#define GL_R1UI_T2F_C4F_N3F_V3F_SUN 0x85CB
-#endif
-
-#ifndef GL_SUN_vertex
-#endif
-
-#ifndef GL_EXT_blend_func_separate
-#define GL_BLEND_DST_RGB_EXT 0x80C8
-#define GL_BLEND_SRC_RGB_EXT 0x80C9
-#define GL_BLEND_DST_ALPHA_EXT 0x80CA
-#define GL_BLEND_SRC_ALPHA_EXT 0x80CB
-#endif
-
-#ifndef GL_INGR_color_clamp
-#define GL_RED_MIN_CLAMP_INGR 0x8560
-#define GL_GREEN_MIN_CLAMP_INGR 0x8561
-#define GL_BLUE_MIN_CLAMP_INGR 0x8562
-#define GL_ALPHA_MIN_CLAMP_INGR 0x8563
-#define GL_RED_MAX_CLAMP_INGR 0x8564
-#define GL_GREEN_MAX_CLAMP_INGR 0x8565
-#define GL_BLUE_MAX_CLAMP_INGR 0x8566
-#define GL_ALPHA_MAX_CLAMP_INGR 0x8567
-#endif
-
-#ifndef GL_INGR_interlace_read
-#define GL_INTERLACE_READ_INGR 0x8568
-#endif
-
-#ifndef GL_EXT_stencil_wrap
-#define GL_INCR_WRAP_EXT 0x8507
-#define GL_DECR_WRAP_EXT 0x8508
-#endif
-
-#ifndef GL_EXT_422_pixels
-#define GL_422_EXT 0x80CC
-#define GL_422_REV_EXT 0x80CD
-#define GL_422_AVERAGE_EXT 0x80CE
-#define GL_422_REV_AVERAGE_EXT 0x80CF
-#endif
-
-#ifndef GL_NV_texgen_reflection
-#define GL_NORMAL_MAP_NV 0x8511
-#define GL_REFLECTION_MAP_NV 0x8512
-#endif
-
-#ifndef GL_EXT_texture_cube_map
-#define GL_NORMAL_MAP_EXT 0x8511
-#define GL_REFLECTION_MAP_EXT 0x8512
-#define GL_TEXTURE_CUBE_MAP_EXT 0x8513
-#define GL_TEXTURE_BINDING_CUBE_MAP_EXT 0x8514
-#define GL_TEXTURE_CUBE_MAP_POSITIVE_X_EXT 0x8515
-#define GL_TEXTURE_CUBE_MAP_NEGATIVE_X_EXT 0x8516
-#define GL_TEXTURE_CUBE_MAP_POSITIVE_Y_EXT 0x8517
-#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_EXT 0x8518
-#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z_EXT 0x8519
-#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_EXT 0x851A
-#define GL_PROXY_TEXTURE_CUBE_MAP_EXT 0x851B
-#define GL_MAX_CUBE_MAP_TEXTURE_SIZE_EXT 0x851C
-#endif
-
-#ifndef GL_SUN_convolution_border_modes
-#define GL_WRAP_BORDER_SUN 0x81D4
-#endif
-
-#ifndef GL_EXT_texture_env_add
-#endif
-
-#ifndef GL_EXT_texture_lod_bias
-#define GL_MAX_TEXTURE_LOD_BIAS_EXT 0x84FD
-#define GL_TEXTURE_FILTER_CONTROL_EXT 0x8500
-#define GL_TEXTURE_LOD_BIAS_EXT 0x8501
-#endif
-
-#ifndef GL_EXT_texture_filter_anisotropic
-#define GL_TEXTURE_MAX_ANISOTROPY_EXT 0x84FE
-#define GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT 0x84FF
-#endif
-
-#ifndef GL_EXT_vertex_weighting
-#define GL_MODELVIEW0_STACK_DEPTH_EXT GL_MODELVIEW_STACK_DEPTH
-#define GL_MODELVIEW1_STACK_DEPTH_EXT 0x8502
-#define GL_MODELVIEW0_MATRIX_EXT GL_MODELVIEW_MATRIX
-#define GL_MODELVIEW1_MATRIX_EXT 0x8506
-#define GL_VERTEX_WEIGHTING_EXT 0x8509
-#define GL_MODELVIEW0_EXT GL_MODELVIEW
-#define GL_MODELVIEW1_EXT 0x850A
-#define GL_CURRENT_VERTEX_WEIGHT_EXT 0x850B
-#define GL_VERTEX_WEIGHT_ARRAY_EXT 0x850C
-#define GL_VERTEX_WEIGHT_ARRAY_SIZE_EXT 0x850D
-#define GL_VERTEX_WEIGHT_ARRAY_TYPE_EXT 0x850E
-#define GL_VERTEX_WEIGHT_ARRAY_STRIDE_EXT 0x850F
-#define GL_VERTEX_WEIGHT_ARRAY_POINTER_EXT 0x8510
-#endif
-
-#ifndef GL_NV_light_max_exponent
-#define GL_MAX_SHININESS_NV 0x8504
-#define GL_MAX_SPOT_EXPONENT_NV 0x8505
-#endif
-
-#ifndef GL_NV_vertex_array_range
-#define GL_VERTEX_ARRAY_RANGE_NV 0x851D
-#define GL_VERTEX_ARRAY_RANGE_LENGTH_NV 0x851E
-#define GL_VERTEX_ARRAY_RANGE_VALID_NV 0x851F
-#define GL_MAX_VERTEX_ARRAY_RANGE_ELEMENT_NV 0x8520
-#define GL_VERTEX_ARRAY_RANGE_POINTER_NV 0x8521
-#endif
-
-#ifndef GL_NV_register_combiners
-#define GL_REGISTER_COMBINERS_NV 0x8522
-#define GL_VARIABLE_A_NV 0x8523
-#define GL_VARIABLE_B_NV 0x8524
-#define GL_VARIABLE_C_NV 0x8525
-#define GL_VARIABLE_D_NV 0x8526
-#define GL_VARIABLE_E_NV 0x8527
-#define GL_VARIABLE_F_NV 0x8528
-#define GL_VARIABLE_G_NV 0x8529
-#define GL_CONSTANT_COLOR0_NV 0x852A
-#define GL_CONSTANT_COLOR1_NV 0x852B
-#define GL_PRIMARY_COLOR_NV 0x852C
-#define GL_SECONDARY_COLOR_NV 0x852D
-#define GL_SPARE0_NV 0x852E
-#define GL_SPARE1_NV 0x852F
-#define GL_DISCARD_NV 0x8530
-#define GL_E_TIMES_F_NV 0x8531
-#define GL_SPARE0_PLUS_SECONDARY_COLOR_NV 0x8532
-#define GL_UNSIGNED_IDENTITY_NV 0x8536
-#define GL_UNSIGNED_INVERT_NV 0x8537
-#define GL_EXPAND_NORMAL_NV 0x8538
-#define GL_EXPAND_NEGATE_NV 0x8539
-#define GL_HALF_BIAS_NORMAL_NV 0x853A
-#define GL_HALF_BIAS_NEGATE_NV 0x853B
-#define GL_SIGNED_IDENTITY_NV 0x853C
-#define GL_SIGNED_NEGATE_NV 0x853D
-#define GL_SCALE_BY_TWO_NV 0x853E
-#define GL_SCALE_BY_FOUR_NV 0x853F
-#define GL_SCALE_BY_ONE_HALF_NV 0x8540
-#define GL_BIAS_BY_NEGATIVE_ONE_HALF_NV 0x8541
-#define GL_COMBINER_INPUT_NV 0x8542
-#define GL_COMBINER_MAPPING_NV 0x8543
-#define GL_COMBINER_COMPONENT_USAGE_NV 0x8544
-#define GL_COMBINER_AB_DOT_PRODUCT_NV 0x8545
-#define GL_COMBINER_CD_DOT_PRODUCT_NV 0x8546
-#define GL_COMBINER_MUX_SUM_NV 0x8547
-#define GL_COMBINER_SCALE_NV 0x8548
-#define GL_COMBINER_BIAS_NV 0x8549
-#define GL_COMBINER_AB_OUTPUT_NV 0x854A
-#define GL_COMBINER_CD_OUTPUT_NV 0x854B
-#define GL_COMBINER_SUM_OUTPUT_NV 0x854C
-#define GL_MAX_GENERAL_COMBINERS_NV 0x854D
-#define GL_NUM_GENERAL_COMBINERS_NV 0x854E
-#define GL_COLOR_SUM_CLAMP_NV 0x854F
-#define GL_COMBINER0_NV 0x8550
-#define GL_COMBINER1_NV 0x8551
-#define GL_COMBINER2_NV 0x8552
-#define GL_COMBINER3_NV 0x8553
-#define GL_COMBINER4_NV 0x8554
-#define GL_COMBINER5_NV 0x8555
-#define GL_COMBINER6_NV 0x8556
-#define GL_COMBINER7_NV 0x8557
-/* reuse GL_TEXTURE0_ARB */
-/* reuse GL_TEXTURE1_ARB */
-/* reuse GL_ZERO */
-/* reuse GL_NONE */
-/* reuse GL_FOG */
-#endif
-
-#ifndef GL_NV_fog_distance
-#define GL_FOG_DISTANCE_MODE_NV 0x855A
-#define GL_EYE_RADIAL_NV 0x855B
-#define GL_EYE_PLANE_ABSOLUTE_NV 0x855C
-/* reuse GL_EYE_PLANE */
-#endif
-
-#ifndef GL_NV_texgen_emboss
-#define GL_EMBOSS_LIGHT_NV 0x855D
-#define GL_EMBOSS_CONSTANT_NV 0x855E
-#define GL_EMBOSS_MAP_NV 0x855F
-#endif
-
-#ifndef GL_NV_blend_square
-#endif
-
-#ifndef GL_NV_texture_env_combine4
-#define GL_COMBINE4_NV 0x8503
-#define GL_SOURCE3_RGB_NV 0x8583
-#define GL_SOURCE3_ALPHA_NV 0x858B
-#define GL_OPERAND3_RGB_NV 0x8593
-#define GL_OPERAND3_ALPHA_NV 0x859B
-#endif
-
-#ifndef GL_MESA_resize_buffers
-#endif
-
-#ifndef GL_MESA_window_pos
-#endif
-
-#ifndef GL_EXT_texture_compression_s3tc
-#define GL_COMPRESSED_RGB_S3TC_DXT1_EXT 0x83F0
-#define GL_COMPRESSED_RGBA_S3TC_DXT1_EXT 0x83F1
-#define GL_COMPRESSED_RGBA_S3TC_DXT3_EXT 0x83F2
-#define GL_COMPRESSED_RGBA_S3TC_DXT5_EXT 0x83F3
-#endif
-
-#ifndef GL_IBM_cull_vertex
-#define GL_CULL_VERTEX_IBM 103050
-#endif
-
-#ifndef GL_IBM_multimode_draw_arrays
-#endif
-
-#ifndef GL_IBM_vertex_array_lists
-#define GL_VERTEX_ARRAY_LIST_IBM 103070
-#define GL_NORMAL_ARRAY_LIST_IBM 103071
-#define GL_COLOR_ARRAY_LIST_IBM 103072
-#define GL_INDEX_ARRAY_LIST_IBM 103073
-#define GL_TEXTURE_COORD_ARRAY_LIST_IBM 103074
-#define GL_EDGE_FLAG_ARRAY_LIST_IBM 103075
-#define GL_FOG_COORDINATE_ARRAY_LIST_IBM 103076
-#define GL_SECONDARY_COLOR_ARRAY_LIST_IBM 103077
-#define GL_VERTEX_ARRAY_LIST_STRIDE_IBM 103080
-#define GL_NORMAL_ARRAY_LIST_STRIDE_IBM 103081
-#define GL_COLOR_ARRAY_LIST_STRIDE_IBM 103082
-#define GL_INDEX_ARRAY_LIST_STRIDE_IBM 103083
-#define GL_TEXTURE_COORD_ARRAY_LIST_STRIDE_IBM 103084
-#define GL_EDGE_FLAG_ARRAY_LIST_STRIDE_IBM 103085
-#define GL_FOG_COORDINATE_ARRAY_LIST_STRIDE_IBM 103086
-#define GL_SECONDARY_COLOR_ARRAY_LIST_STRIDE_IBM 103087
-#endif
-
-#ifndef GL_SGIX_subsample
-#define GL_PACK_SUBSAMPLE_RATE_SGIX 0x85A0
-#define GL_UNPACK_SUBSAMPLE_RATE_SGIX 0x85A1
-#define GL_PIXEL_SUBSAMPLE_4444_SGIX 0x85A2
-#define GL_PIXEL_SUBSAMPLE_2424_SGIX 0x85A3
-#define GL_PIXEL_SUBSAMPLE_4242_SGIX 0x85A4
-#endif
-
-#ifndef GL_SGIX_ycrcb_subsample
-#endif
-
-#ifndef GL_SGIX_ycrcba
-#define GL_YCRCB_SGIX 0x8318
-#define GL_YCRCBA_SGIX 0x8319
-#endif
-
-#ifndef GL_SGI_depth_pass_instrument
-#define GL_DEPTH_PASS_INSTRUMENT_SGIX 0x8310
-#define GL_DEPTH_PASS_INSTRUMENT_COUNTERS_SGIX 0x8311
-#define GL_DEPTH_PASS_INSTRUMENT_MAX_SGIX 0x8312
-#endif
-
-#ifndef GL_3DFX_texture_compression_FXT1
-#define GL_COMPRESSED_RGB_FXT1_3DFX 0x86B0
-#define GL_COMPRESSED_RGBA_FXT1_3DFX 0x86B1
-#endif
-
-#ifndef GL_3DFX_multisample
-#define GL_MULTISAMPLE_3DFX 0x86B2
-#define GL_SAMPLE_BUFFERS_3DFX 0x86B3
-#define GL_SAMPLES_3DFX 0x86B4
-#define GL_MULTISAMPLE_BIT_3DFX 0x20000000
-#endif
-
-#ifndef GL_3DFX_tbuffer
-#endif
-
-#ifndef GL_EXT_multisample
-#define GL_MULTISAMPLE_EXT 0x809D
-#define GL_SAMPLE_ALPHA_TO_MASK_EXT 0x809E
-#define GL_SAMPLE_ALPHA_TO_ONE_EXT 0x809F
-#define GL_SAMPLE_MASK_EXT 0x80A0
-#define GL_1PASS_EXT 0x80A1
-#define GL_2PASS_0_EXT 0x80A2
-#define GL_2PASS_1_EXT 0x80A3
-#define GL_4PASS_0_EXT 0x80A4
-#define GL_4PASS_1_EXT 0x80A5
-#define GL_4PASS_2_EXT 0x80A6
-#define GL_4PASS_3_EXT 0x80A7
-#define GL_SAMPLE_BUFFERS_EXT 0x80A8
-#define GL_SAMPLES_EXT 0x80A9
-#define GL_SAMPLE_MASK_VALUE_EXT 0x80AA
-#define GL_SAMPLE_MASK_INVERT_EXT 0x80AB
-#define GL_SAMPLE_PATTERN_EXT 0x80AC
-#define GL_MULTISAMPLE_BIT_EXT 0x20000000
-#endif
-
-#ifndef GL_SGIX_vertex_preclip
-#define GL_VERTEX_PRECLIP_SGIX 0x83EE
-#define GL_VERTEX_PRECLIP_HINT_SGIX 0x83EF
-#endif
-
-#ifndef GL_SGIX_convolution_accuracy
-#define GL_CONVOLUTION_HINT_SGIX 0x8316
-#endif
-
-#ifndef GL_SGIX_resample
-#define GL_PACK_RESAMPLE_SGIX 0x842C
-#define GL_UNPACK_RESAMPLE_SGIX 0x842D
-#define GL_RESAMPLE_REPLICATE_SGIX 0x842E
-#define GL_RESAMPLE_ZERO_FILL_SGIX 0x842F
-#define GL_RESAMPLE_DECIMATE_SGIX 0x8430
-#endif
-
-#ifndef GL_SGIS_point_line_texgen
-#define GL_EYE_DISTANCE_TO_POINT_SGIS 0x81F0
-#define GL_OBJECT_DISTANCE_TO_POINT_SGIS 0x81F1
-#define GL_EYE_DISTANCE_TO_LINE_SGIS 0x81F2
-#define GL_OBJECT_DISTANCE_TO_LINE_SGIS 0x81F3
-#define GL_EYE_POINT_SGIS 0x81F4
-#define GL_OBJECT_POINT_SGIS 0x81F5
-#define GL_EYE_LINE_SGIS 0x81F6
-#define GL_OBJECT_LINE_SGIS 0x81F7
-#endif
-
-#ifndef GL_SGIS_texture_color_mask
-#define GL_TEXTURE_COLOR_WRITEMASK_SGIS 0x81EF
-#endif
-
-#ifndef GL_NV_fence
-#define GL_ALL_COMPLETED_NV 0x84F2
-#define GL_FENCE_STATUS_NV 0x84F3
-#define GL_FENCE_CONDITION_NV 0x84F4
-#endif
-
-#ifndef GL_IBM_texture_mirrored_repeat
-#define GL_MIRRORED_REPEAT_IBM 0x8370
-#endif
-
-#ifndef GL_NV_evaluators
-#define GL_EVAL_2D_NV 0x86C0
-#define GL_EVAL_TRIANGULAR_2D_NV 0x86C1
-#define GL_MAP_TESSELLATION_NV 0x86C2
-#define GL_MAP_ATTRIB_U_ORDER_NV 0x86C3
-#define GL_MAP_ATTRIB_V_ORDER_NV 0x86C4
-#define GL_EVAL_FRACTIONAL_TESSELLATION_NV 0x86C5
-#define GL_EVAL_VERTEX_ATTRIB0_NV 0x86C6
-#define GL_EVAL_VERTEX_ATTRIB1_NV 0x86C7
-#define GL_EVAL_VERTEX_ATTRIB2_NV 0x86C8
-#define GL_EVAL_VERTEX_ATTRIB3_NV 0x86C9
-#define GL_EVAL_VERTEX_ATTRIB4_NV 0x86CA
-#define GL_EVAL_VERTEX_ATTRIB5_NV 0x86CB
-#define GL_EVAL_VERTEX_ATTRIB6_NV 0x86CC
-#define GL_EVAL_VERTEX_ATTRIB7_NV 0x86CD
-#define GL_EVAL_VERTEX_ATTRIB8_NV 0x86CE
-#define GL_EVAL_VERTEX_ATTRIB9_NV 0x86CF
-#define GL_EVAL_VERTEX_ATTRIB10_NV 0x86D0
-#define GL_EVAL_VERTEX_ATTRIB11_NV 0x86D1
-#define GL_EVAL_VERTEX_ATTRIB12_NV 0x86D2
-#define GL_EVAL_VERTEX_ATTRIB13_NV 0x86D3
-#define GL_EVAL_VERTEX_ATTRIB14_NV 0x86D4
-#define GL_EVAL_VERTEX_ATTRIB15_NV 0x86D5
-#define GL_MAX_MAP_TESSELLATION_NV 0x86D6
-#define GL_MAX_RATIONAL_EVAL_ORDER_NV 0x86D7
-#endif
-
-#ifndef GL_NV_packed_depth_stencil
-#define GL_DEPTH_STENCIL_NV 0x84F9
-#define GL_UNSIGNED_INT_24_8_NV 0x84FA
-#endif
-
-#ifndef GL_NV_register_combiners2
-#define GL_PER_STAGE_CONSTANTS_NV 0x8535
-#endif
-
-#ifndef GL_NV_texture_compression_vtc
-#endif
-
-#ifndef GL_NV_texture_rectangle
-#define GL_TEXTURE_RECTANGLE_NV 0x84F5
-#define GL_TEXTURE_BINDING_RECTANGLE_NV 0x84F6
-#define GL_PROXY_TEXTURE_RECTANGLE_NV 0x84F7
-#define GL_MAX_TEXTURE_RECTANGLE_SIZE_NV 0x84F8
-#endif
-
-#ifndef GL_NV_texture_shader
-#define GL_OFFSET_TEXTURE_RECTANGLE_NV 0x864C
-#define GL_OFFSET_TEXTURE_RECTANGLE_SCALE_NV 0x864D
-#define GL_DOT_PRODUCT_TEXTURE_RECTANGLE_NV 0x864E
-#define GL_RGBA_UNSIGNED_DOT_PRODUCT_MAPPING_NV 0x86D9
-#define GL_UNSIGNED_INT_S8_S8_8_8_NV 0x86DA
-#define GL_UNSIGNED_INT_8_8_S8_S8_REV_NV 0x86DB
-#define GL_DSDT_MAG_INTENSITY_NV 0x86DC
-#define GL_SHADER_CONSISTENT_NV 0x86DD
-#define GL_TEXTURE_SHADER_NV 0x86DE
-#define GL_SHADER_OPERATION_NV 0x86DF
-#define GL_CULL_MODES_NV 0x86E0
-#define GL_OFFSET_TEXTURE_MATRIX_NV 0x86E1
-#define GL_OFFSET_TEXTURE_SCALE_NV 0x86E2
-#define GL_OFFSET_TEXTURE_BIAS_NV 0x86E3
-#define GL_OFFSET_TEXTURE_2D_MATRIX_NV GL_OFFSET_TEXTURE_MATRIX_NV
-#define GL_OFFSET_TEXTURE_2D_SCALE_NV GL_OFFSET_TEXTURE_SCALE_NV
-#define GL_OFFSET_TEXTURE_2D_BIAS_NV GL_OFFSET_TEXTURE_BIAS_NV
-#define GL_PREVIOUS_TEXTURE_INPUT_NV 0x86E4
-#define GL_CONST_EYE_NV 0x86E5
-#define GL_PASS_THROUGH_NV 0x86E6
-#define GL_CULL_FRAGMENT_NV 0x86E7
-#define GL_OFFSET_TEXTURE_2D_NV 0x86E8
-#define GL_DEPENDENT_AR_TEXTURE_2D_NV 0x86E9
-#define GL_DEPENDENT_GB_TEXTURE_2D_NV 0x86EA
-#define GL_DOT_PRODUCT_NV 0x86EC
-#define GL_DOT_PRODUCT_DEPTH_REPLACE_NV 0x86ED
-#define GL_DOT_PRODUCT_TEXTURE_2D_NV 0x86EE
-#define GL_DOT_PRODUCT_TEXTURE_CUBE_MAP_NV 0x86F0
-#define GL_DOT_PRODUCT_DIFFUSE_CUBE_MAP_NV 0x86F1
-#define GL_DOT_PRODUCT_REFLECT_CUBE_MAP_NV 0x86F2
-#define GL_DOT_PRODUCT_CONST_EYE_REFLECT_CUBE_MAP_NV 0x86F3
-#define GL_HILO_NV 0x86F4
-#define GL_DSDT_NV 0x86F5
-#define GL_DSDT_MAG_NV 0x86F6
-#define GL_DSDT_MAG_VIB_NV 0x86F7
-#define GL_HILO16_NV 0x86F8
-#define GL_SIGNED_HILO_NV 0x86F9
-#define GL_SIGNED_HILO16_NV 0x86FA
-#define GL_SIGNED_RGBA_NV 0x86FB
-#define GL_SIGNED_RGBA8_NV 0x86FC
-#define GL_SIGNED_RGB_NV 0x86FE
-#define GL_SIGNED_RGB8_NV 0x86FF
-#define GL_SIGNED_LUMINANCE_NV 0x8701
-#define GL_SIGNED_LUMINANCE8_NV 0x8702
-#define GL_SIGNED_LUMINANCE_ALPHA_NV 0x8703
-#define GL_SIGNED_LUMINANCE8_ALPHA8_NV 0x8704
-#define GL_SIGNED_ALPHA_NV 0x8705
-#define GL_SIGNED_ALPHA8_NV 0x8706
-#define GL_SIGNED_INTENSITY_NV 0x8707
-#define GL_SIGNED_INTENSITY8_NV 0x8708
-#define GL_DSDT8_NV 0x8709
-#define GL_DSDT8_MAG8_NV 0x870A
-#define GL_DSDT8_MAG8_INTENSITY8_NV 0x870B
-#define GL_SIGNED_RGB_UNSIGNED_ALPHA_NV 0x870C
-#define GL_SIGNED_RGB8_UNSIGNED_ALPHA8_NV 0x870D
-#define GL_HI_SCALE_NV 0x870E
-#define GL_LO_SCALE_NV 0x870F
-#define GL_DS_SCALE_NV 0x8710
-#define GL_DT_SCALE_NV 0x8711
-#define GL_MAGNITUDE_SCALE_NV 0x8712
-#define GL_VIBRANCE_SCALE_NV 0x8713
-#define GL_HI_BIAS_NV 0x8714
-#define GL_LO_BIAS_NV 0x8715
-#define GL_DS_BIAS_NV 0x8716
-#define GL_DT_BIAS_NV 0x8717
-#define GL_MAGNITUDE_BIAS_NV 0x8718
-#define GL_VIBRANCE_BIAS_NV 0x8719
-#define GL_TEXTURE_BORDER_VALUES_NV 0x871A
-#define GL_TEXTURE_HI_SIZE_NV 0x871B
-#define GL_TEXTURE_LO_SIZE_NV 0x871C
-#define GL_TEXTURE_DS_SIZE_NV 0x871D
-#define GL_TEXTURE_DT_SIZE_NV 0x871E
-#define GL_TEXTURE_MAG_SIZE_NV 0x871F
-#endif
-
-#ifndef GL_NV_texture_shader2
-#define GL_DOT_PRODUCT_TEXTURE_3D_NV 0x86EF
-#endif
-
-#ifndef GL_NV_vertex_array_range2
-#define GL_VERTEX_ARRAY_RANGE_WITHOUT_FLUSH_NV 0x8533
-#endif
-
-#ifndef GL_NV_vertex_program
-#define GL_VERTEX_PROGRAM_NV 0x8620
-#define GL_VERTEX_STATE_PROGRAM_NV 0x8621
-#define GL_ATTRIB_ARRAY_SIZE_NV 0x8623
-#define GL_ATTRIB_ARRAY_STRIDE_NV 0x8624
-#define GL_ATTRIB_ARRAY_TYPE_NV 0x8625
-#define GL_CURRENT_ATTRIB_NV 0x8626
-#define GL_PROGRAM_LENGTH_NV 0x8627
-#define GL_PROGRAM_STRING_NV 0x8628
-#define GL_MODELVIEW_PROJECTION_NV 0x8629
-#define GL_IDENTITY_NV 0x862A
-#define GL_INVERSE_NV 0x862B
-#define GL_TRANSPOSE_NV 0x862C
-#define GL_INVERSE_TRANSPOSE_NV 0x862D
-#define GL_MAX_TRACK_MATRIX_STACK_DEPTH_NV 0x862E
-#define GL_MAX_TRACK_MATRICES_NV 0x862F
-#define GL_MATRIX0_NV 0x8630
-#define GL_MATRIX1_NV 0x8631
-#define GL_MATRIX2_NV 0x8632
-#define GL_MATRIX3_NV 0x8633
-#define GL_MATRIX4_NV 0x8634
-#define GL_MATRIX5_NV 0x8635
-#define GL_MATRIX6_NV 0x8636
-#define GL_MATRIX7_NV 0x8637
-#define GL_CURRENT_MATRIX_STACK_DEPTH_NV 0x8640
-#define GL_CURRENT_MATRIX_NV 0x8641
-#define GL_VERTEX_PROGRAM_POINT_SIZE_NV 0x8642
-#define GL_VERTEX_PROGRAM_TWO_SIDE_NV 0x8643
-#define GL_PROGRAM_PARAMETER_NV 0x8644
-#define GL_ATTRIB_ARRAY_POINTER_NV 0x8645
-#define GL_PROGRAM_TARGET_NV 0x8646
-#define GL_PROGRAM_RESIDENT_NV 0x8647
-#define GL_TRACK_MATRIX_NV 0x8648
-#define GL_TRACK_MATRIX_TRANSFORM_NV 0x8649
-#define GL_VERTEX_PROGRAM_BINDING_NV 0x864A
-#define GL_PROGRAM_ERROR_POSITION_NV 0x864B
-#define GL_VERTEX_ATTRIB_ARRAY0_NV 0x8650
-#define GL_VERTEX_ATTRIB_ARRAY1_NV 0x8651
-#define GL_VERTEX_ATTRIB_ARRAY2_NV 0x8652
-#define GL_VERTEX_ATTRIB_ARRAY3_NV 0x8653
-#define GL_VERTEX_ATTRIB_ARRAY4_NV 0x8654
-#define GL_VERTEX_ATTRIB_ARRAY5_NV 0x8655
-#define GL_VERTEX_ATTRIB_ARRAY6_NV 0x8656
-#define GL_VERTEX_ATTRIB_ARRAY7_NV 0x8657
-#define GL_VERTEX_ATTRIB_ARRAY8_NV 0x8658
-#define GL_VERTEX_ATTRIB_ARRAY9_NV 0x8659
-#define GL_VERTEX_ATTRIB_ARRAY10_NV 0x865A
-#define GL_VERTEX_ATTRIB_ARRAY11_NV 0x865B
-#define GL_VERTEX_ATTRIB_ARRAY12_NV 0x865C
-#define GL_VERTEX_ATTRIB_ARRAY13_NV 0x865D
-#define GL_VERTEX_ATTRIB_ARRAY14_NV 0x865E
-#define GL_VERTEX_ATTRIB_ARRAY15_NV 0x865F
-#define GL_MAP1_VERTEX_ATTRIB0_4_NV 0x8660
-#define GL_MAP1_VERTEX_ATTRIB1_4_NV 0x8661
-#define GL_MAP1_VERTEX_ATTRIB2_4_NV 0x8662
-#define GL_MAP1_VERTEX_ATTRIB3_4_NV 0x8663
-#define GL_MAP1_VERTEX_ATTRIB4_4_NV 0x8664
-#define GL_MAP1_VERTEX_ATTRIB5_4_NV 0x8665
-#define GL_MAP1_VERTEX_ATTRIB6_4_NV 0x8666
-#define GL_MAP1_VERTEX_ATTRIB7_4_NV 0x8667
-#define GL_MAP1_VERTEX_ATTRIB8_4_NV 0x8668
-#define GL_MAP1_VERTEX_ATTRIB9_4_NV 0x8669
-#define GL_MAP1_VERTEX_ATTRIB10_4_NV 0x866A
-#define GL_MAP1_VERTEX_ATTRIB11_4_NV 0x866B
-#define GL_MAP1_VERTEX_ATTRIB12_4_NV 0x866C
-#define GL_MAP1_VERTEX_ATTRIB13_4_NV 0x866D
-#define GL_MAP1_VERTEX_ATTRIB14_4_NV 0x866E
-#define GL_MAP1_VERTEX_ATTRIB15_4_NV 0x866F
-#define GL_MAP2_VERTEX_ATTRIB0_4_NV 0x8670
-#define GL_MAP2_VERTEX_ATTRIB1_4_NV 0x8671
-#define GL_MAP2_VERTEX_ATTRIB2_4_NV 0x8672
-#define GL_MAP2_VERTEX_ATTRIB3_4_NV 0x8673
-#define GL_MAP2_VERTEX_ATTRIB4_4_NV 0x8674
-#define GL_MAP2_VERTEX_ATTRIB5_4_NV 0x8675
-#define GL_MAP2_VERTEX_ATTRIB6_4_NV 0x8676
-#define GL_MAP2_VERTEX_ATTRIB7_4_NV 0x8677
-#define GL_MAP2_VERTEX_ATTRIB8_4_NV 0x8678
-#define GL_MAP2_VERTEX_ATTRIB9_4_NV 0x8679
-#define GL_MAP2_VERTEX_ATTRIB10_4_NV 0x867A
-#define GL_MAP2_VERTEX_ATTRIB11_4_NV 0x867B
-#define GL_MAP2_VERTEX_ATTRIB12_4_NV 0x867C
-#define GL_MAP2_VERTEX_ATTRIB13_4_NV 0x867D
-#define GL_MAP2_VERTEX_ATTRIB14_4_NV 0x867E
-#define GL_MAP2_VERTEX_ATTRIB15_4_NV 0x867F
-#endif
-
-#ifndef GL_SGIX_texture_coordinate_clamp
-#define GL_TEXTURE_MAX_CLAMP_S_SGIX 0x8369
-#define GL_TEXTURE_MAX_CLAMP_T_SGIX 0x836A
-#define GL_TEXTURE_MAX_CLAMP_R_SGIX 0x836B
-#endif
-
-#ifndef GL_SGIX_scalebias_hint
-#define GL_SCALEBIAS_HINT_SGIX 0x8322
-#endif
-
-#ifndef GL_OML_interlace
-#define GL_INTERLACE_OML 0x8980
-#define GL_INTERLACE_READ_OML 0x8981
-#endif
-
-#ifndef GL_OML_subsample
-#define GL_FORMAT_SUBSAMPLE_24_24_OML 0x8982
-#define GL_FORMAT_SUBSAMPLE_244_244_OML 0x8983
-#endif
-
-#ifndef GL_OML_resample
-#define GL_PACK_RESAMPLE_OML 0x8984
-#define GL_UNPACK_RESAMPLE_OML 0x8985
-#define GL_RESAMPLE_REPLICATE_OML 0x8986
-#define GL_RESAMPLE_ZERO_FILL_OML 0x8987
-#define GL_RESAMPLE_AVERAGE_OML 0x8988
-#define GL_RESAMPLE_DECIMATE_OML 0x8989
-#endif
-
-#ifndef GL_NV_copy_depth_to_color
-#define GL_DEPTH_STENCIL_TO_RGBA_NV 0x886E
-#define GL_DEPTH_STENCIL_TO_BGRA_NV 0x886F
-#endif
-
-#ifndef GL_ATI_envmap_bumpmap
-#define GL_BUMP_ROT_MATRIX_ATI 0x8775
-#define GL_BUMP_ROT_MATRIX_SIZE_ATI 0x8776
-#define GL_BUMP_NUM_TEX_UNITS_ATI 0x8777
-#define GL_BUMP_TEX_UNITS_ATI 0x8778
-#define GL_DUDV_ATI 0x8779
-#define GL_DU8DV8_ATI 0x877A
-#define GL_BUMP_ENVMAP_ATI 0x877B
-#define GL_BUMP_TARGET_ATI 0x877C
-#endif
-
-#ifndef GL_ATI_fragment_shader
-#define GL_FRAGMENT_SHADER_ATI 0x8920
-#define GL_REG_0_ATI 0x8921
-#define GL_REG_1_ATI 0x8922
-#define GL_REG_2_ATI 0x8923
-#define GL_REG_3_ATI 0x8924
-#define GL_REG_4_ATI 0x8925
-#define GL_REG_5_ATI 0x8926
-#define GL_REG_6_ATI 0x8927
-#define GL_REG_7_ATI 0x8928
-#define GL_REG_8_ATI 0x8929
-#define GL_REG_9_ATI 0x892A
-#define GL_REG_10_ATI 0x892B
-#define GL_REG_11_ATI 0x892C
-#define GL_REG_12_ATI 0x892D
-#define GL_REG_13_ATI 0x892E
-#define GL_REG_14_ATI 0x892F
-#define GL_REG_15_ATI 0x8930
-#define GL_REG_16_ATI 0x8931
-#define GL_REG_17_ATI 0x8932
-#define GL_REG_18_ATI 0x8933
-#define GL_REG_19_ATI 0x8934
-#define GL_REG_20_ATI 0x8935
-#define GL_REG_21_ATI 0x8936
-#define GL_REG_22_ATI 0x8937
-#define GL_REG_23_ATI 0x8938
-#define GL_REG_24_ATI 0x8939
-#define GL_REG_25_ATI 0x893A
-#define GL_REG_26_ATI 0x893B
-#define GL_REG_27_ATI 0x893C
-#define GL_REG_28_ATI 0x893D
-#define GL_REG_29_ATI 0x893E
-#define GL_REG_30_ATI 0x893F
-#define GL_REG_31_ATI 0x8940
-#define GL_CON_0_ATI 0x8941
-#define GL_CON_1_ATI 0x8942
-#define GL_CON_2_ATI 0x8943
-#define GL_CON_3_ATI 0x8944
-#define GL_CON_4_ATI 0x8945
-#define GL_CON_5_ATI 0x8946
-#define GL_CON_6_ATI 0x8947
-#define GL_CON_7_ATI 0x8948
-#define GL_CON_8_ATI 0x8949
-#define GL_CON_9_ATI 0x894A
-#define GL_CON_10_ATI 0x894B
-#define GL_CON_11_ATI 0x894C
-#define GL_CON_12_ATI 0x894D
-#define GL_CON_13_ATI 0x894E
-#define GL_CON_14_ATI 0x894F
-#define GL_CON_15_ATI 0x8950
-#define GL_CON_16_ATI 0x8951
-#define GL_CON_17_ATI 0x8952
-#define GL_CON_18_ATI 0x8953
-#define GL_CON_19_ATI 0x8954
-#define GL_CON_20_ATI 0x8955
-#define GL_CON_21_ATI 0x8956
-#define GL_CON_22_ATI 0x8957
-#define GL_CON_23_ATI 0x8958
-#define GL_CON_24_ATI 0x8959
-#define GL_CON_25_ATI 0x895A
-#define GL_CON_26_ATI 0x895B
-#define GL_CON_27_ATI 0x895C
-#define GL_CON_28_ATI 0x895D
-#define GL_CON_29_ATI 0x895E
-#define GL_CON_30_ATI 0x895F
-#define GL_CON_31_ATI 0x8960
-#define GL_MOV_ATI 0x8961
-#define GL_ADD_ATI 0x8963
-#define GL_MUL_ATI 0x8964
-#define GL_SUB_ATI 0x8965
-#define GL_DOT3_ATI 0x8966
-#define GL_DOT4_ATI 0x8967
-#define GL_MAD_ATI 0x8968
-#define GL_LERP_ATI 0x8969
-#define GL_CND_ATI 0x896A
-#define GL_CND0_ATI 0x896B
-#define GL_DOT2_ADD_ATI 0x896C
-#define GL_SECONDARY_INTERPOLATOR_ATI 0x896D
-#define GL_NUM_FRAGMENT_REGISTERS_ATI 0x896E
-#define GL_NUM_FRAGMENT_CONSTANTS_ATI 0x896F
-#define GL_NUM_PASSES_ATI 0x8970
-#define GL_NUM_INSTRUCTIONS_PER_PASS_ATI 0x8971
-#define GL_NUM_INSTRUCTIONS_TOTAL_ATI 0x8972
-#define GL_NUM_INPUT_INTERPOLATOR_COMPONENTS_ATI 0x8973
-#define GL_NUM_LOOPBACK_COMPONENTS_ATI 0x8974
-#define GL_COLOR_ALPHA_PAIRING_ATI 0x8975
-#define GL_SWIZZLE_STR_ATI 0x8976
-#define GL_SWIZZLE_STQ_ATI 0x8977
-#define GL_SWIZZLE_STR_DR_ATI 0x8978
-#define GL_SWIZZLE_STQ_DQ_ATI 0x8979
-#define GL_SWIZZLE_STRQ_ATI 0x897A
-#define GL_SWIZZLE_STRQ_DQ_ATI 0x897B
-#define GL_RED_BIT_ATI 0x00000001
-#define GL_GREEN_BIT_ATI 0x00000002
-#define GL_BLUE_BIT_ATI 0x00000004
-#define GL_2X_BIT_ATI 0x00000001
-#define GL_4X_BIT_ATI 0x00000002
-#define GL_8X_BIT_ATI 0x00000004
-#define GL_HALF_BIT_ATI 0x00000008
-#define GL_QUARTER_BIT_ATI 0x00000010
-#define GL_EIGHTH_BIT_ATI 0x00000020
-#define GL_SATURATE_BIT_ATI 0x00000040
-#define GL_COMP_BIT_ATI 0x00000002
-#define GL_NEGATE_BIT_ATI 0x00000004
-#define GL_BIAS_BIT_ATI 0x00000008
-#endif
-
-#ifndef GL_ATI_pn_triangles
-#define GL_PN_TRIANGLES_ATI 0x87F0
-#define GL_MAX_PN_TRIANGLES_TESSELATION_LEVEL_ATI 0x87F1
-#define GL_PN_TRIANGLES_POINT_MODE_ATI 0x87F2
-#define GL_PN_TRIANGLES_NORMAL_MODE_ATI 0x87F3
-#define GL_PN_TRIANGLES_TESSELATION_LEVEL_ATI 0x87F4
-#define GL_PN_TRIANGLES_POINT_MODE_LINEAR_ATI 0x87F5
-#define GL_PN_TRIANGLES_POINT_MODE_CUBIC_ATI 0x87F6
-#define GL_PN_TRIANGLES_NORMAL_MODE_LINEAR_ATI 0x87F7
-#define GL_PN_TRIANGLES_NORMAL_MODE_QUADRATIC_ATI 0x87F8
-#endif
-
-#ifndef GL_ATI_vertex_array_object
-#define GL_STATIC_ATI 0x8760
-#define GL_DYNAMIC_ATI 0x8761
-#define GL_PRESERVE_ATI 0x8762
-#define GL_DISCARD_ATI 0x8763
-#define GL_OBJECT_BUFFER_SIZE_ATI 0x8764
-#define GL_OBJECT_BUFFER_USAGE_ATI 0x8765
-#define GL_ARRAY_OBJECT_BUFFER_ATI 0x8766
-#define GL_ARRAY_OBJECT_OFFSET_ATI 0x8767
-#endif
-
-#ifndef GL_EXT_vertex_shader
-#define GL_VERTEX_SHADER_EXT 0x8780
-#define GL_VERTEX_SHADER_BINDING_EXT 0x8781
-#define GL_OP_INDEX_EXT 0x8782
-#define GL_OP_NEGATE_EXT 0x8783
-#define GL_OP_DOT3_EXT 0x8784
-#define GL_OP_DOT4_EXT 0x8785
-#define GL_OP_MUL_EXT 0x8786
-#define GL_OP_ADD_EXT 0x8787
-#define GL_OP_MADD_EXT 0x8788
-#define GL_OP_FRAC_EXT 0x8789
-#define GL_OP_MAX_EXT 0x878A
-#define GL_OP_MIN_EXT 0x878B
-#define GL_OP_SET_GE_EXT 0x878C
-#define GL_OP_SET_LT_EXT 0x878D
-#define GL_OP_CLAMP_EXT 0x878E
-#define GL_OP_FLOOR_EXT 0x878F
-#define GL_OP_ROUND_EXT 0x8790
-#define GL_OP_EXP_BASE_2_EXT 0x8791
-#define GL_OP_LOG_BASE_2_EXT 0x8792
-#define GL_OP_POWER_EXT 0x8793
-#define GL_OP_RECIP_EXT 0x8794
-#define GL_OP_RECIP_SQRT_EXT 0x8795
-#define GL_OP_SUB_EXT 0x8796
-#define GL_OP_CROSS_PRODUCT_EXT 0x8797
-#define GL_OP_MULTIPLY_MATRIX_EXT 0x8798
-#define GL_OP_MOV_EXT 0x8799
-#define GL_OUTPUT_VERTEX_EXT 0x879A
-#define GL_OUTPUT_COLOR0_EXT 0x879B
-#define GL_OUTPUT_COLOR1_EXT 0x879C
-#define GL_OUTPUT_TEXTURE_COORD0_EXT 0x879D
-#define GL_OUTPUT_TEXTURE_COORD1_EXT 0x879E
-#define GL_OUTPUT_TEXTURE_COORD2_EXT 0x879F
-#define GL_OUTPUT_TEXTURE_COORD3_EXT 0x87A0
-#define GL_OUTPUT_TEXTURE_COORD4_EXT 0x87A1
-#define GL_OUTPUT_TEXTURE_COORD5_EXT 0x87A2
-#define GL_OUTPUT_TEXTURE_COORD6_EXT 0x87A3
-#define GL_OUTPUT_TEXTURE_COORD7_EXT 0x87A4
-#define GL_OUTPUT_TEXTURE_COORD8_EXT 0x87A5
-#define GL_OUTPUT_TEXTURE_COORD9_EXT 0x87A6
-#define GL_OUTPUT_TEXTURE_COORD10_EXT 0x87A7
-#define GL_OUTPUT_TEXTURE_COORD11_EXT 0x87A8
-#define GL_OUTPUT_TEXTURE_COORD12_EXT 0x87A9
-#define GL_OUTPUT_TEXTURE_COORD13_EXT 0x87AA
-#define GL_OUTPUT_TEXTURE_COORD14_EXT 0x87AB
-#define GL_OUTPUT_TEXTURE_COORD15_EXT 0x87AC
-#define GL_OUTPUT_TEXTURE_COORD16_EXT 0x87AD
-#define GL_OUTPUT_TEXTURE_COORD17_EXT 0x87AE
-#define GL_OUTPUT_TEXTURE_COORD18_EXT 0x87AF
-#define GL_OUTPUT_TEXTURE_COORD19_EXT 0x87B0
-#define GL_OUTPUT_TEXTURE_COORD20_EXT 0x87B1
-#define GL_OUTPUT_TEXTURE_COORD21_EXT 0x87B2
-#define GL_OUTPUT_TEXTURE_COORD22_EXT 0x87B3
-#define GL_OUTPUT_TEXTURE_COORD23_EXT 0x87B4
-#define GL_OUTPUT_TEXTURE_COORD24_EXT 0x87B5
-#define GL_OUTPUT_TEXTURE_COORD25_EXT 0x87B6
-#define GL_OUTPUT_TEXTURE_COORD26_EXT 0x87B7
-#define GL_OUTPUT_TEXTURE_COORD27_EXT 0x87B8
-#define GL_OUTPUT_TEXTURE_COORD28_EXT 0x87B9
-#define GL_OUTPUT_TEXTURE_COORD29_EXT 0x87BA
-#define GL_OUTPUT_TEXTURE_COORD30_EXT 0x87BB
-#define GL_OUTPUT_TEXTURE_COORD31_EXT 0x87BC
-#define GL_OUTPUT_FOG_EXT 0x87BD
-#define GL_SCALAR_EXT 0x87BE
-#define GL_VECTOR_EXT 0x87BF
-#define GL_MATRIX_EXT 0x87C0
-#define GL_VARIANT_EXT 0x87C1
-#define GL_INVARIANT_EXT 0x87C2
-#define GL_LOCAL_CONSTANT_EXT 0x87C3
-#define GL_LOCAL_EXT 0x87C4
-#define GL_MAX_VERTEX_SHADER_INSTRUCTIONS_EXT 0x87C5
-#define GL_MAX_VERTEX_SHADER_VARIANTS_EXT 0x87C6
-#define GL_MAX_VERTEX_SHADER_INVARIANTS_EXT 0x87C7
-#define GL_MAX_VERTEX_SHADER_LOCAL_CONSTANTS_EXT 0x87C8
-#define GL_MAX_VERTEX_SHADER_LOCALS_EXT 0x87C9
-#define GL_MAX_OPTIMIZED_VERTEX_SHADER_INSTRUCTIONS_EXT 0x87CA
-#define GL_MAX_OPTIMIZED_VERTEX_SHADER_VARIANTS_EXT 0x87CB
-#define GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCAL_CONSTANTS_EXT 0x87CC
-#define GL_MAX_OPTIMIZED_VERTEX_SHADER_INARIANTS_EXT 0x87CD
-#define GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCALS_EXT 0x87CE
-#define GL_VERTEX_SHADER_INSTRUCTIONS_EXT 0x87CF
-#define GL_VERTEX_SHADER_VARIANTS_EXT 0x87D0
-#define GL_VERTEX_SHADER_INVARIANTS_EXT 0x87D1
-#define GL_VERTEX_SHADER_LOCAL_CONSTANTS_EXT 0x87D2
-#define GL_VERTEX_SHADER_LOCALS_EXT 0x87D3
-#define GL_VERTEX_SHADER_OPTIMIZED_EXT 0x87D4
-#define GL_X_EXT 0x87D5
-#define GL_Y_EXT 0x87D6
-#define GL_Z_EXT 0x87D7
-#define GL_W_EXT 0x87D8
-#define GL_NEGATIVE_X_EXT 0x87D9
-#define GL_NEGATIVE_Y_EXT 0x87DA
-#define GL_NEGATIVE_Z_EXT 0x87DB
-#define GL_NEGATIVE_W_EXT 0x87DC
-#define GL_ZERO_EXT 0x87DD
-#define GL_ONE_EXT 0x87DE
-#define GL_NEGATIVE_ONE_EXT 0x87DF
-#define GL_NORMALIZED_RANGE_EXT 0x87E0
-#define GL_FULL_RANGE_EXT 0x87E1
-#define GL_CURRENT_VERTEX_EXT 0x87E2
-#define GL_MVP_MATRIX_EXT 0x87E3
-#define GL_VARIANT_VALUE_EXT 0x87E4
-#define GL_VARIANT_DATATYPE_EXT 0x87E5
-#define GL_VARIANT_ARRAY_STRIDE_EXT 0x87E6
-#define GL_VARIANT_ARRAY_TYPE_EXT 0x87E7
-#define GL_VARIANT_ARRAY_EXT 0x87E8
-#define GL_VARIANT_ARRAY_POINTER_EXT 0x87E9
-#define GL_INVARIANT_VALUE_EXT 0x87EA
-#define GL_INVARIANT_DATATYPE_EXT 0x87EB
-#define GL_LOCAL_CONSTANT_VALUE_EXT 0x87EC
-#define GL_LOCAL_CONSTANT_DATATYPE_EXT 0x87ED
-#endif
-
-#ifndef GL_ATI_vertex_streams
-#define GL_MAX_VERTEX_STREAMS_ATI 0x876B
-#define GL_VERTEX_STREAM0_ATI 0x876C
-#define GL_VERTEX_STREAM1_ATI 0x876D
-#define GL_VERTEX_STREAM2_ATI 0x876E
-#define GL_VERTEX_STREAM3_ATI 0x876F
-#define GL_VERTEX_STREAM4_ATI 0x8770
-#define GL_VERTEX_STREAM5_ATI 0x8771
-#define GL_VERTEX_STREAM6_ATI 0x8772
-#define GL_VERTEX_STREAM7_ATI 0x8773
-#define GL_VERTEX_SOURCE_ATI 0x8774
-#endif
-
-#ifndef GL_ATI_element_array
-#define GL_ELEMENT_ARRAY_ATI 0x8768
-#define GL_ELEMENT_ARRAY_TYPE_ATI 0x8769
-#define GL_ELEMENT_ARRAY_POINTER_ATI 0x876A
-#endif
-
-#ifndef GL_SUN_mesh_array
-#define GL_QUAD_MESH_SUN 0x8614
-#define GL_TRIANGLE_MESH_SUN 0x8615
-#endif
-
-#ifndef GL_SUN_slice_accum
-#define GL_SLICE_ACCUM_SUN 0x85CC
-#endif
-
-#ifndef GL_NV_multisample_filter_hint
-#define GL_MULTISAMPLE_FILTER_HINT_NV 0x8534
-#endif
-
-#ifndef GL_NV_depth_clamp
-#define GL_DEPTH_CLAMP_NV 0x864F
-#endif
-
-#ifndef GL_NV_occlusion_query
-#define GL_PIXEL_COUNTER_BITS_NV 0x8864
-#define GL_CURRENT_OCCLUSION_QUERY_ID_NV 0x8865
-#define GL_PIXEL_COUNT_NV 0x8866
-#define GL_PIXEL_COUNT_AVAILABLE_NV 0x8867
-#endif
-
-#ifndef GL_NV_point_sprite
-#define GL_POINT_SPRITE_NV 0x8861
-#define GL_COORD_REPLACE_NV 0x8862
-#define GL_POINT_SPRITE_R_MODE_NV 0x8863
-#endif
-
-#ifndef GL_NV_texture_shader3
-#define GL_OFFSET_PROJECTIVE_TEXTURE_2D_NV 0x8850
-#define GL_OFFSET_PROJECTIVE_TEXTURE_2D_SCALE_NV 0x8851
-#define GL_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_NV 0x8852
-#define GL_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_SCALE_NV 0x8853
-#define GL_OFFSET_HILO_TEXTURE_2D_NV 0x8854
-#define GL_OFFSET_HILO_TEXTURE_RECTANGLE_NV 0x8855
-#define GL_OFFSET_HILO_PROJECTIVE_TEXTURE_2D_NV 0x8856
-#define GL_OFFSET_HILO_PROJECTIVE_TEXTURE_RECTANGLE_NV 0x8857
-#define GL_DEPENDENT_HILO_TEXTURE_2D_NV 0x8858
-#define GL_DEPENDENT_RGB_TEXTURE_3D_NV 0x8859
-#define GL_DEPENDENT_RGB_TEXTURE_CUBE_MAP_NV 0x885A
-#define GL_DOT_PRODUCT_PASS_THROUGH_NV 0x885B
-#define GL_DOT_PRODUCT_TEXTURE_1D_NV 0x885C
-#define GL_DOT_PRODUCT_AFFINE_DEPTH_REPLACE_NV 0x885D
-#define GL_HILO8_NV 0x885E
-#define GL_SIGNED_HILO8_NV 0x885F
-#define GL_FORCE_BLUE_TO_ONE_NV 0x8860
-#endif
-
-#ifndef GL_NV_vertex_program1_1
-#endif
-
-
-/*************************************************************/
-
-#ifndef GL_VERSION_1_2
-#define GL_VERSION_1_2 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glBlendColor (GLclampf, GLclampf, GLclampf, GLclampf);
-GLAPI void APIENTRY glBlendEquation (GLenum);
-GLAPI void APIENTRY glDrawRangeElements (GLenum, GLuint, GLuint, GLsizei, GLenum, const GLvoid *);
-GLAPI void APIENTRY glColorTable (GLenum, GLenum, GLsizei, GLenum, GLenum, const GLvoid *);
-GLAPI void APIENTRY glColorTableParameterfv (GLenum, GLenum, const GLfloat *);
-GLAPI void APIENTRY glColorTableParameteriv (GLenum, GLenum, const GLint *);
-GLAPI void APIENTRY glCopyColorTable (GLenum, GLenum, GLint, GLint, GLsizei);
-GLAPI void APIENTRY glGetColorTable (GLenum, GLenum, GLenum, GLvoid *);
-GLAPI void APIENTRY glGetColorTableParameterfv (GLenum, GLenum, GLfloat *);
-GLAPI void APIENTRY glGetColorTableParameteriv (GLenum, GLenum, GLint *);
-GLAPI void APIENTRY glColorSubTable (GLenum, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *);
-GLAPI void APIENTRY glCopyColorSubTable (GLenum, GLsizei, GLint, GLint, GLsizei);
-GLAPI void APIENTRY glConvolutionFilter1D (GLenum, GLenum, GLsizei, GLenum, GLenum, const GLvoid *);
-GLAPI void APIENTRY glConvolutionFilter2D (GLenum, GLenum, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *);
-GLAPI void APIENTRY glConvolutionParameterf (GLenum, GLenum, GLfloat);
-GLAPI void APIENTRY glConvolutionParameterfv (GLenum, GLenum, const GLfloat *);
-GLAPI void APIENTRY glConvolutionParameteri (GLenum, GLenum, GLint);
-GLAPI void APIENTRY glConvolutionParameteriv (GLenum, GLenum, const GLint *);
-GLAPI void APIENTRY glCopyConvolutionFilter1D (GLenum, GLenum, GLint, GLint, GLsizei);
-GLAPI void APIENTRY glCopyConvolutionFilter2D (GLenum, GLenum, GLint, GLint, GLsizei, GLsizei);
-GLAPI void APIENTRY glGetConvolutionFilter (GLenum, GLenum, GLenum, GLvoid *);
-GLAPI void APIENTRY glGetConvolutionParameterfv (GLenum, GLenum, GLfloat *);
-GLAPI void APIENTRY glGetConvolutionParameteriv (GLenum, GLenum, GLint *);
-GLAPI void APIENTRY glGetSeparableFilter (GLenum, GLenum, GLenum, GLvoid *, GLvoid *, GLvoid *);
-GLAPI void APIENTRY glSeparableFilter2D (GLenum, GLenum, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *, const GLvoid *);
-GLAPI void APIENTRY glGetHistogram (GLenum, GLboolean, GLenum, GLenum, GLvoid *);
-GLAPI void APIENTRY glGetHistogramParameterfv (GLenum, GLenum, GLfloat *);
-GLAPI void APIENTRY glGetHistogramParameteriv (GLenum, GLenum, GLint *);
-GLAPI void APIENTRY glGetMinmax (GLenum, GLboolean, GLenum, GLenum, GLvoid *);
-GLAPI void APIENTRY glGetMinmaxParameterfv (GLenum, GLenum, GLfloat *);
-GLAPI void APIENTRY glGetMinmaxParameteriv (GLenum, GLenum, GLint *);
-GLAPI void APIENTRY glHistogram (GLenum, GLsizei, GLenum, GLboolean);
-GLAPI void APIENTRY glMinmax (GLenum, GLenum, GLboolean);
-GLAPI void APIENTRY glResetHistogram (GLenum);
-GLAPI void APIENTRY glResetMinmax (GLenum);
-GLAPI void APIENTRY glTexImage3D (GLenum, GLint, GLint, GLsizei, GLsizei, GLsizei, GLint, GLenum, GLenum, const GLvoid *);
-GLAPI void APIENTRY glTexSubImage3D (GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *);
-GLAPI void APIENTRY glCopyTexSubImage3D (GLenum, GLint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLBLENDCOLORPROC) (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);
-typedef void (APIENTRY * PFNGLBLENDEQUATIONPROC) (GLenum mode);
-typedef void (APIENTRY * PFNGLDRAWRANGEELEMENTSPROC) (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices);
-typedef void (APIENTRY * PFNGLCOLORTABLEPROC) (GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *table);
-typedef void (APIENTRY * PFNGLCOLORTABLEPARAMETERFVPROC) (GLenum target, GLenum pname, const GLfloat *params);
-typedef void (APIENTRY * PFNGLCOLORTABLEPARAMETERIVPROC) (GLenum target, GLenum pname, const GLint *params);
-typedef void (APIENTRY * PFNGLCOPYCOLORTABLEPROC) (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width);
-typedef void (APIENTRY * PFNGLGETCOLORTABLEPROC) (GLenum target, GLenum format, GLenum type, GLvoid *table);
-typedef void (APIENTRY * PFNGLGETCOLORTABLEPARAMETERFVPROC) (GLenum target, GLenum pname, GLfloat *params);
-typedef void (APIENTRY * PFNGLGETCOLORTABLEPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params);
-typedef void (APIENTRY * PFNGLCOLORSUBTABLEPROC) (GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const GLvoid *data);
-typedef void (APIENTRY * PFNGLCOPYCOLORSUBTABLEPROC) (GLenum target, GLsizei start, GLint x, GLint y, GLsizei width);
-typedef void (APIENTRY * PFNGLCONVOLUTIONFILTER1DPROC) (GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *image);
-typedef void (APIENTRY * PFNGLCONVOLUTIONFILTER2DPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *image);
-typedef void (APIENTRY * PFNGLCONVOLUTIONPARAMETERFPROC) (GLenum target, GLenum pname, GLfloat params);
-typedef void (APIENTRY * PFNGLCONVOLUTIONPARAMETERFVPROC) (GLenum target, GLenum pname, const GLfloat *params);
-typedef void (APIENTRY * PFNGLCONVOLUTIONPARAMETERIPROC) (GLenum target, GLenum pname, GLint params);
-typedef void (APIENTRY * PFNGLCONVOLUTIONPARAMETERIVPROC) (GLenum target, GLenum pname, const GLint *params);
-typedef void (APIENTRY * PFNGLCOPYCONVOLUTIONFILTER1DPROC) (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width);
-typedef void (APIENTRY * PFNGLCOPYCONVOLUTIONFILTER2DPROC) (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height);
-typedef void (APIENTRY * PFNGLGETCONVOLUTIONFILTERPROC) (GLenum target, GLenum format, GLenum type, GLvoid *image);
-typedef void (APIENTRY * PFNGLGETCONVOLUTIONPARAMETERFVPROC) (GLenum target, GLenum pname, GLfloat *params);
-typedef void (APIENTRY * PFNGLGETCONVOLUTIONPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params);
-typedef void (APIENTRY * PFNGLGETSEPARABLEFILTERPROC) (GLenum target, GLenum format, GLenum type, GLvoid *row, GLvoid *column, GLvoid *span);
-typedef void (APIENTRY * PFNGLSEPARABLEFILTER2DPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *row, const GLvoid *column);
-typedef void (APIENTRY * PFNGLGETHISTOGRAMPROC) (GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values);
-typedef void (APIENTRY * PFNGLGETHISTOGRAMPARAMETERFVPROC) (GLenum target, GLenum pname, GLfloat *params);
-typedef void (APIENTRY * PFNGLGETHISTOGRAMPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params);
-typedef void (APIENTRY * PFNGLGETMINMAXPROC) (GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values);
-typedef void (APIENTRY * PFNGLGETMINMAXPARAMETERFVPROC) (GLenum target, GLenum pname, GLfloat *params);
-typedef void (APIENTRY * PFNGLGETMINMAXPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params);
-typedef void (APIENTRY * PFNGLHISTOGRAMPROC) (GLenum target, GLsizei width, GLenum internalformat, GLboolean sink);
-typedef void (APIENTRY * PFNGLMINMAXPROC) (GLenum target, GLenum internalformat, GLboolean sink);
-typedef void (APIENTRY * PFNGLRESETHISTOGRAMPROC) (GLenum target);
-typedef void (APIENTRY * PFNGLRESETMINMAXPROC) (GLenum target);
-typedef void (APIENTRY * PFNGLTEXIMAGE3DPROC) (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
-typedef void (APIENTRY * PFNGLTEXSUBIMAGE3DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels);
-typedef void (APIENTRY * PFNGLCOPYTEXSUBIMAGE3DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
-#endif
-
-#ifndef GL_VERSION_1_3
-#define GL_VERSION_1_3 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glActiveTexture (GLenum);
-GLAPI void APIENTRY glClientActiveTexture (GLenum);
-GLAPI void APIENTRY glMultiTexCoord1d (GLenum, GLdouble);
-GLAPI void APIENTRY glMultiTexCoord1dv (GLenum, const GLdouble *);
-GLAPI void APIENTRY glMultiTexCoord1f (GLenum, GLfloat);
-GLAPI void APIENTRY glMultiTexCoord1fv (GLenum, const GLfloat *);
-GLAPI void APIENTRY glMultiTexCoord1i (GLenum, GLint);
-GLAPI void APIENTRY glMultiTexCoord1iv (GLenum, const GLint *);
-GLAPI void APIENTRY glMultiTexCoord1s (GLenum, GLshort);
-GLAPI void APIENTRY glMultiTexCoord1sv (GLenum, const GLshort *);
-GLAPI void APIENTRY glMultiTexCoord2d (GLenum, GLdouble, GLdouble);
-GLAPI void APIENTRY glMultiTexCoord2dv (GLenum, const GLdouble *);
-GLAPI void APIENTRY glMultiTexCoord2f (GLenum, GLfloat, GLfloat);
-GLAPI void APIENTRY glMultiTexCoord2fv (GLenum, const GLfloat *);
-GLAPI void APIENTRY glMultiTexCoord2i (GLenum, GLint, GLint);
-GLAPI void APIENTRY glMultiTexCoord2iv (GLenum, const GLint *);
-GLAPI void APIENTRY glMultiTexCoord2s (GLenum, GLshort, GLshort);
-GLAPI void APIENTRY glMultiTexCoord2sv (GLenum, const GLshort *);
-GLAPI void APIENTRY glMultiTexCoord3d (GLenum, GLdouble, GLdouble, GLdouble);
-GLAPI void APIENTRY glMultiTexCoord3dv (GLenum, const GLdouble *);
-GLAPI void APIENTRY glMultiTexCoord3f (GLenum, GLfloat, GLfloat, GLfloat);
-GLAPI void APIENTRY glMultiTexCoord3fv (GLenum, const GLfloat *);
-GLAPI void APIENTRY glMultiTexCoord3i (GLenum, GLint, GLint, GLint);
-GLAPI void APIENTRY glMultiTexCoord3iv (GLenum, const GLint *);
-GLAPI void APIENTRY glMultiTexCoord3s (GLenum, GLshort, GLshort, GLshort);
-GLAPI void APIENTRY glMultiTexCoord3sv (GLenum, const GLshort *);
-GLAPI void APIENTRY glMultiTexCoord4d (GLenum, GLdouble, GLdouble, GLdouble, GLdouble);
-GLAPI void APIENTRY glMultiTexCoord4dv (GLenum, const GLdouble *);
-GLAPI void APIENTRY glMultiTexCoord4f (GLenum, GLfloat, GLfloat, GLfloat, GLfloat);
-GLAPI void APIENTRY glMultiTexCoord4fv (GLenum, const GLfloat *);
-GLAPI void APIENTRY glMultiTexCoord4i (GLenum, GLint, GLint, GLint, GLint);
-GLAPI void APIENTRY glMultiTexCoord4iv (GLenum, const GLint *);
-GLAPI void APIENTRY glMultiTexCoord4s (GLenum, GLshort, GLshort, GLshort, GLshort);
-GLAPI void APIENTRY glMultiTexCoord4sv (GLenum, const GLshort *);
-GLAPI void APIENTRY glLoadTransposeMatrixf (const GLfloat *);
-GLAPI void APIENTRY glLoadTransposeMatrixd (const GLdouble *);
-GLAPI void APIENTRY glMultTransposeMatrixf (const GLfloat *);
-GLAPI void APIENTRY glMultTransposeMatrixd (const GLdouble *);
-GLAPI void APIENTRY glSampleCoverage (GLclampf, GLboolean);
-GLAPI void APIENTRY glCompressedTexImage3D (GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLsizei, const GLvoid *);
-GLAPI void APIENTRY glCompressedTexImage2D (GLenum, GLint, GLenum, GLsizei, GLsizei, GLint, GLsizei, const GLvoid *);
-GLAPI void APIENTRY glCompressedTexImage1D (GLenum, GLint, GLenum, GLsizei, GLint, GLsizei, const GLvoid *);
-GLAPI void APIENTRY glCompressedTexSubImage3D (GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLsizei, const GLvoid *);
-GLAPI void APIENTRY glCompressedTexSubImage2D (GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLsizei, const GLvoid *);
-GLAPI void APIENTRY glCompressedTexSubImage1D (GLenum, GLint, GLint, GLsizei, GLenum, GLsizei, const GLvoid *);
-GLAPI void APIENTRY glGetCompressedTexImage (GLenum, GLint, void *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLACTIVETEXTUREPROC) (GLenum texture);
-typedef void (APIENTRY * PFNGLCLIENTACTIVETEXTUREPROC) (GLenum texture);
-typedef void (APIENTRY * PFNGLMULTITEXCOORD1DPROC) (GLenum target, GLdouble s);
-typedef void (APIENTRY * PFNGLMULTITEXCOORD1DVPROC) (GLenum target, const GLdouble *v);
-typedef void (APIENTRY * PFNGLMULTITEXCOORD1FPROC) (GLenum target, GLfloat s);
-typedef void (APIENTRY * PFNGLMULTITEXCOORD1FVPROC) (GLenum target, const GLfloat *v);
-typedef void (APIENTRY * PFNGLMULTITEXCOORD1IPROC) (GLenum target, GLint s);
-typedef void (APIENTRY * PFNGLMULTITEXCOORD1IVPROC) (GLenum target, const GLint *v);
-typedef void (APIENTRY * PFNGLMULTITEXCOORD1SPROC) (GLenum target, GLshort s);
-typedef void (APIENTRY * PFNGLMULTITEXCOORD1SVPROC) (GLenum target, const GLshort *v);
-typedef void (APIENTRY * PFNGLMULTITEXCOORD2DPROC) (GLenum target, GLdouble s, GLdouble t);
-typedef void (APIENTRY * PFNGLMULTITEXCOORD2DVPROC) (GLenum target, const GLdouble *v);
-typedef void (APIENTRY * PFNGLMULTITEXCOORD2FPROC) (GLenum target, GLfloat s, GLfloat t);
-typedef void (APIENTRY * PFNGLMULTITEXCOORD2FVPROC) (GLenum target, const GLfloat *v);
-typedef void (APIENTRY * PFNGLMULTITEXCOORD2IPROC) (GLenum target, GLint s, GLint t);
-typedef void (APIENTRY * PFNGLMULTITEXCOORD2IVPROC) (GLenum target, const GLint *v);
-typedef void (APIENTRY * PFNGLMULTITEXCOORD2SPROC) (GLenum target, GLshort s, GLshort t);
-typedef void (APIENTRY * PFNGLMULTITEXCOORD2SVPROC) (GLenum target, const GLshort *v);
-typedef void (APIENTRY * PFNGLMULTITEXCOORD3DPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r);
-typedef void (APIENTRY * PFNGLMULTITEXCOORD3DVPROC) (GLenum target, const GLdouble *v);
-typedef void (APIENTRY * PFNGLMULTITEXCOORD3FPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r);
-typedef void (APIENTRY * PFNGLMULTITEXCOORD3FVPROC) (GLenum target, const GLfloat *v);
-typedef void (APIENTRY * PFNGLMULTITEXCOORD3IPROC) (GLenum target, GLint s, GLint t, GLint r);
-typedef void (APIENTRY * PFNGLMULTITEXCOORD3IVPROC) (GLenum target, const GLint *v);
-typedef void (APIENTRY * PFNGLMULTITEXCOORD3SPROC) (GLenum target, GLshort s, GLshort t, GLshort r);
-typedef void (APIENTRY * PFNGLMULTITEXCOORD3SVPROC) (GLenum target, const GLshort *v);
-typedef void (APIENTRY * PFNGLMULTITEXCOORD4DPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q);
-typedef void (APIENTRY * PFNGLMULTITEXCOORD4DVPROC) (GLenum target, const GLdouble *v);
-typedef void (APIENTRY * PFNGLMULTITEXCOORD4FPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q);
-typedef void (APIENTRY * PFNGLMULTITEXCOORD4FVPROC) (GLenum target, const GLfloat *v);
-typedef void (APIENTRY * PFNGLMULTITEXCOORD4IPROC) (GLenum target, GLint s, GLint t, GLint r, GLint q);
-typedef void (APIENTRY * PFNGLMULTITEXCOORD4IVPROC) (GLenum target, const GLint *v);
-typedef void (APIENTRY * PFNGLMULTITEXCOORD4SPROC) (GLenum target, GLshort s, GLshort t, GLshort r, GLshort q);
-typedef void (APIENTRY * PFNGLMULTITEXCOORD4SVPROC) (GLenum target, const GLshort *v);
-typedef void (APIENTRY * PFNGLLOADTRANSPOSEMATRIXFPROC) (const GLfloat *m);
-typedef void (APIENTRY * PFNGLLOADTRANSPOSEMATRIXDPROC) (const GLdouble *m);
-typedef void (APIENTRY * PFNGLMULTTRANSPOSEMATRIXFPROC) (const GLfloat *m);
-typedef void (APIENTRY * PFNGLMULTTRANSPOSEMATRIXDPROC) (const GLdouble *m);
-typedef void (APIENTRY * PFNGLSAMPLECOVERAGEPROC) (GLclampf value, GLboolean invert);
-typedef void (APIENTRY * PFNGLCOMPRESSEDTEXIMAGE3DPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data);
-typedef void (APIENTRY * PFNGLCOMPRESSEDTEXIMAGE2DPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data);
-typedef void (APIENTRY * PFNGLCOMPRESSEDTEXIMAGE1DPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data);
-typedef void (APIENTRY * PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data);
-typedef void (APIENTRY * PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data);
-typedef void (APIENTRY * PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC) (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data);
-typedef void (APIENTRY * PFNGLGETCOMPRESSEDTEXIMAGEPROC) (GLenum target, GLint level, void *img);
-#endif
-
-#ifndef GL_ARB_multitexture
-#define GL_ARB_multitexture 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glActiveTextureARB (GLenum);
-GLAPI void APIENTRY glClientActiveTextureARB (GLenum);
-GLAPI void APIENTRY glMultiTexCoord1dARB (GLenum, GLdouble);
-GLAPI void APIENTRY glMultiTexCoord1dvARB (GLenum, const GLdouble *);
-GLAPI void APIENTRY glMultiTexCoord1fARB (GLenum, GLfloat);
-GLAPI void APIENTRY glMultiTexCoord1fvARB (GLenum, const GLfloat *);
-GLAPI void APIENTRY glMultiTexCoord1iARB (GLenum, GLint);
-GLAPI void APIENTRY glMultiTexCoord1ivARB (GLenum, const GLint *);
-GLAPI void APIENTRY glMultiTexCoord1sARB (GLenum, GLshort);
-GLAPI void APIENTRY glMultiTexCoord1svARB (GLenum, const GLshort *);
-GLAPI void APIENTRY glMultiTexCoord2dARB (GLenum, GLdouble, GLdouble);
-GLAPI void APIENTRY glMultiTexCoord2dvARB (GLenum, const GLdouble *);
-GLAPI void APIENTRY glMultiTexCoord2fARB (GLenum, GLfloat, GLfloat);
-GLAPI void APIENTRY glMultiTexCoord2fvARB (GLenum, const GLfloat *);
-GLAPI void APIENTRY glMultiTexCoord2iARB (GLenum, GLint, GLint);
-GLAPI void APIENTRY glMultiTexCoord2ivARB (GLenum, const GLint *);
-GLAPI void APIENTRY glMultiTexCoord2sARB (GLenum, GLshort, GLshort);
-GLAPI void APIENTRY glMultiTexCoord2svARB (GLenum, const GLshort *);
-GLAPI void APIENTRY glMultiTexCoord3dARB (GLenum, GLdouble, GLdouble, GLdouble);
-GLAPI void APIENTRY glMultiTexCoord3dvARB (GLenum, const GLdouble *);
-GLAPI void APIENTRY glMultiTexCoord3fARB (GLenum, GLfloat, GLfloat, GLfloat);
-GLAPI void APIENTRY glMultiTexCoord3fvARB (GLenum, const GLfloat *);
-GLAPI void APIENTRY glMultiTexCoord3iARB (GLenum, GLint, GLint, GLint);
-GLAPI void APIENTRY glMultiTexCoord3ivARB (GLenum, const GLint *);
-GLAPI void APIENTRY glMultiTexCoord3sARB (GLenum, GLshort, GLshort, GLshort);
-GLAPI void APIENTRY glMultiTexCoord3svARB (GLenum, const GLshort *);
-GLAPI void APIENTRY glMultiTexCoord4dARB (GLenum, GLdouble, GLdouble, GLdouble, GLdouble);
-GLAPI void APIENTRY glMultiTexCoord4dvARB (GLenum, const GLdouble *);
-GLAPI void APIENTRY glMultiTexCoord4fARB (GLenum, GLfloat, GLfloat, GLfloat, GLfloat);
-GLAPI void APIENTRY glMultiTexCoord4fvARB (GLenum, const GLfloat *);
-GLAPI void APIENTRY glMultiTexCoord4iARB (GLenum, GLint, GLint, GLint, GLint);
-GLAPI void APIENTRY glMultiTexCoord4ivARB (GLenum, const GLint *);
-GLAPI void APIENTRY glMultiTexCoord4sARB (GLenum, GLshort, GLshort, GLshort, GLshort);
-GLAPI void APIENTRY glMultiTexCoord4svARB (GLenum, const GLshort *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLACTIVETEXTUREARBPROC) (GLenum texture);
-typedef void (APIENTRY * PFNGLCLIENTACTIVETEXTUREARBPROC) (GLenum texture);
-typedef void (APIENTRY * PFNGLMULTITEXCOORD1DARBPROC) (GLenum target, GLdouble s);
-typedef void (APIENTRY * PFNGLMULTITEXCOORD1DVARBPROC) (GLenum target, const GLdouble *v);
-typedef void (APIENTRY * PFNGLMULTITEXCOORD1FARBPROC) (GLenum target, GLfloat s);
-typedef void (APIENTRY * PFNGLMULTITEXCOORD1FVARBPROC) (GLenum target, const GLfloat *v);
-typedef void (APIENTRY * PFNGLMULTITEXCOORD1IARBPROC) (GLenum target, GLint s);
-typedef void (APIENTRY * PFNGLMULTITEXCOORD1IVARBPROC) (GLenum target, const GLint *v);
-typedef void (APIENTRY * PFNGLMULTITEXCOORD1SARBPROC) (GLenum target, GLshort s);
-typedef void (APIENTRY * PFNGLMULTITEXCOORD1SVARBPROC) (GLenum target, const GLshort *v);
-typedef void (APIENTRY * PFNGLMULTITEXCOORD2DARBPROC) (GLenum target, GLdouble s, GLdouble t);
-typedef void (APIENTRY * PFNGLMULTITEXCOORD2DVARBPROC) (GLenum target, const GLdouble *v);
-typedef void (APIENTRY * PFNGLMULTITEXCOORD2FARBPROC) (GLenum target, GLfloat s, GLfloat t);
-typedef void (APIENTRY * PFNGLMULTITEXCOORD2FVARBPROC) (GLenum target, const GLfloat *v);
-typedef void (APIENTRY * PFNGLMULTITEXCOORD2IARBPROC) (GLenum target, GLint s, GLint t);
-typedef void (APIENTRY * PFNGLMULTITEXCOORD2IVARBPROC) (GLenum target, const GLint *v);
-typedef void (APIENTRY * PFNGLMULTITEXCOORD2SARBPROC) (GLenum target, GLshort s, GLshort t);
-typedef void (APIENTRY * PFNGLMULTITEXCOORD2SVARBPROC) (GLenum target, const GLshort *v);
-typedef void (APIENTRY * PFNGLMULTITEXCOORD3DARBPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r);
-typedef void (APIENTRY * PFNGLMULTITEXCOORD3DVARBPROC) (GLenum target, const GLdouble *v);
-typedef void (APIENTRY * PFNGLMULTITEXCOORD3FARBPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r);
-typedef void (APIENTRY * PFNGLMULTITEXCOORD3FVARBPROC) (GLenum target, const GLfloat *v);
-typedef void (APIENTRY * PFNGLMULTITEXCOORD3IARBPROC) (GLenum target, GLint s, GLint t, GLint r);
-typedef void (APIENTRY * PFNGLMULTITEXCOORD3IVARBPROC) (GLenum target, const GLint *v);
-typedef void (APIENTRY * PFNGLMULTITEXCOORD3SARBPROC) (GLenum target, GLshort s, GLshort t, GLshort r);
-typedef void (APIENTRY * PFNGLMULTITEXCOORD3SVARBPROC) (GLenum target, const GLshort *v);
-typedef void (APIENTRY * PFNGLMULTITEXCOORD4DARBPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q);
-typedef void (APIENTRY * PFNGLMULTITEXCOORD4DVARBPROC) (GLenum target, const GLdouble *v);
-typedef void (APIENTRY * PFNGLMULTITEXCOORD4FARBPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q);
-typedef void (APIENTRY * PFNGLMULTITEXCOORD4FVARBPROC) (GLenum target, const GLfloat *v);
-typedef void (APIENTRY * PFNGLMULTITEXCOORD4IARBPROC) (GLenum target, GLint s, GLint t, GLint r, GLint q);
-typedef void (APIENTRY * PFNGLMULTITEXCOORD4IVARBPROC) (GLenum target, const GLint *v);
-typedef void (APIENTRY * PFNGLMULTITEXCOORD4SARBPROC) (GLenum target, GLshort s, GLshort t, GLshort r, GLshort q);
-typedef void (APIENTRY * PFNGLMULTITEXCOORD4SVARBPROC) (GLenum target, const GLshort *v);
-#endif
-
-#ifndef GL_ARB_transpose_matrix
-#define GL_ARB_transpose_matrix 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glLoadTransposeMatrixfARB (const GLfloat *);
-GLAPI void APIENTRY glLoadTransposeMatrixdARB (const GLdouble *);
-GLAPI void APIENTRY glMultTransposeMatrixfARB (const GLfloat *);
-GLAPI void APIENTRY glMultTransposeMatrixdARB (const GLdouble *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLLOADTRANSPOSEMATRIXFARBPROC) (const GLfloat *m);
-typedef void (APIENTRY * PFNGLLOADTRANSPOSEMATRIXDARBPROC) (const GLdouble *m);
-typedef void (APIENTRY * PFNGLMULTTRANSPOSEMATRIXFARBPROC) (const GLfloat *m);
-typedef void (APIENTRY * PFNGLMULTTRANSPOSEMATRIXDARBPROC) (const GLdouble *m);
-#endif
-
-#ifndef GL_ARB_multisample
-#define GL_ARB_multisample 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glSampleCoverageARB (GLclampf, GLboolean);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLSAMPLECOVERAGEARBPROC) (GLclampf value, GLboolean invert);
-#endif
-
-#ifndef GL_ARB_texture_env_add
-#define GL_ARB_texture_env_add 1
-#endif
-
-#ifndef GL_ARB_texture_cube_map
-#define GL_ARB_texture_cube_map 1
-#endif
-
-#ifndef GL_ARB_texture_compression
-#define GL_ARB_texture_compression 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glCompressedTexImage3DARB (GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLsizei, const GLvoid *);
-GLAPI void APIENTRY glCompressedTexImage2DARB (GLenum, GLint, GLenum, GLsizei, GLsizei, GLint, GLsizei, const GLvoid *);
-GLAPI void APIENTRY glCompressedTexImage1DARB (GLenum, GLint, GLenum, GLsizei, GLint, GLsizei, const GLvoid *);
-GLAPI void APIENTRY glCompressedTexSubImage3DARB (GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLsizei, const GLvoid *);
-GLAPI void APIENTRY glCompressedTexSubImage2DARB (GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLsizei, const GLvoid *);
-GLAPI void APIENTRY glCompressedTexSubImage1DARB (GLenum, GLint, GLint, GLsizei, GLenum, GLsizei, const GLvoid *);
-GLAPI void APIENTRY glGetCompressedTexImageARB (GLenum, GLint, void *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLCOMPRESSEDTEXIMAGE3DARBPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data);
-typedef void (APIENTRY * PFNGLCOMPRESSEDTEXIMAGE2DARBPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data);
-typedef void (APIENTRY * PFNGLCOMPRESSEDTEXIMAGE1DARBPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data);
-typedef void (APIENTRY * PFNGLCOMPRESSEDTEXSUBIMAGE3DARBPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data);
-typedef void (APIENTRY * PFNGLCOMPRESSEDTEXSUBIMAGE2DARBPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data);
-typedef void (APIENTRY * PFNGLCOMPRESSEDTEXSUBIMAGE1DARBPROC) (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data);
-typedef void (APIENTRY * PFNGLGETCOMPRESSEDTEXIMAGEARBPROC) (GLenum target, GLint level, void *img);
-#endif
-
-#ifndef GL_ARB_texture_border_clamp
-#define GL_ARB_texture_border_clamp 1
-#endif
-
-#ifndef GL_ARB_point_parameters
-#define GL_ARB_point_parameters 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glPointParameterfARB (GLenum, GLfloat);
-GLAPI void APIENTRY glPointParameterfvARB (GLenum, const GLfloat *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLPOINTPARAMETERFARBPROC) (GLenum pname, GLfloat param);
-typedef void (APIENTRY * PFNGLPOINTPARAMETERFVARBPROC) (GLenum pname, const GLfloat *params);
-#endif
-
-#ifndef GL_ARB_vertex_blend
-#define GL_ARB_vertex_blend 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glWeightbvARB (GLint, const GLbyte *);
-GLAPI void APIENTRY glWeightsvARB (GLint, const GLshort *);
-GLAPI void APIENTRY glWeightivARB (GLint, const GLint *);
-GLAPI void APIENTRY glWeightfvARB (GLint, const GLfloat *);
-GLAPI void APIENTRY glWeightdvARB (GLint, const GLdouble *);
-GLAPI void APIENTRY glWeightubvARB (GLint, const GLubyte *);
-GLAPI void APIENTRY glWeightusvARB (GLint, const GLushort *);
-GLAPI void APIENTRY glWeightuivARB (GLint, const GLuint *);
-GLAPI void APIENTRY glWeightPointerARB (GLint, GLenum, GLsizei, const GLvoid *);
-GLAPI void APIENTRY glVertexBlendARB (GLint);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLWEIGHTBVARBPROC) (GLint size, const GLbyte *weights);
-typedef void (APIENTRY * PFNGLWEIGHTSVARBPROC) (GLint size, const GLshort *weights);
-typedef void (APIENTRY * PFNGLWEIGHTIVARBPROC) (GLint size, const GLint *weights);
-typedef void (APIENTRY * PFNGLWEIGHTFVARBPROC) (GLint size, const GLfloat *weights);
-typedef void (APIENTRY * PFNGLWEIGHTDVARBPROC) (GLint size, const GLdouble *weights);
-typedef void (APIENTRY * PFNGLWEIGHTUBVARBPROC) (GLint size, const GLubyte *weights);
-typedef void (APIENTRY * PFNGLWEIGHTUSVARBPROC) (GLint size, const GLushort *weights);
-typedef void (APIENTRY * PFNGLWEIGHTUIVARBPROC) (GLint size, const GLuint *weights);
-typedef void (APIENTRY * PFNGLWEIGHTPOINTERARBPROC) (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
-typedef void (APIENTRY * PFNGLVERTEXBLENDARBPROC) (GLint count);
-#endif
-
-#ifndef GL_ARB_matrix_palette
-#define GL_ARB_matrix_palette 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glCurrentPaletteMatrixARB (GLint);
-GLAPI void APIENTRY glMatrixIndexubvARB (GLint, const GLubyte *);
-GLAPI void APIENTRY glMatrixIndexusvARB (GLint, const GLushort *);
-GLAPI void APIENTRY glMatrixIndexuivARB (GLint, const GLuint *);
-GLAPI void APIENTRY glMatrixIndexPointerARB (GLint, GLenum, GLsizei, const GLvoid *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLCURRENTPALETTEMATRIXARBPROC) (GLint index);
-typedef void (APIENTRY * PFNGLMATRIXINDEXUBVARBPROC) (GLint size, const GLubyte *indices);
-typedef void (APIENTRY * PFNGLMATRIXINDEXUSVARBPROC) (GLint size, const GLushort *indices);
-typedef void (APIENTRY * PFNGLMATRIXINDEXUIVARBPROC) (GLint size, const GLuint *indices);
-typedef void (APIENTRY * PFNGLMATRIXINDEXPOINTERARBPROC) (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
-#endif
-
-#ifndef GL_ARB_texture_env_combine
-#define GL_ARB_texture_env_combine 1
-#endif
-
-#ifndef GL_ARB_texture_env_crossbar
-#define GL_ARB_texture_env_crossbar 1
-#endif
-
-#ifndef GL_ARB_texture_env_dot3
-#define GL_ARB_texture_env_dot3 1
-#endif
-
-#ifndef GL_ARB_texture_mirror_repeat
-#define GL_ARB_texture_mirror_repeat 1
-#endif
-
-#ifndef GL_ARB_depth_texture
-#define GL_ARB_depth_texture 1
-#endif
-
-#ifndef GL_ARB_shadow
-#define GL_ARB_shadow 1
-#endif
-
-#ifndef GL_ARB_shadow_ambient
-#define GL_ARB_shadow_ambient 1
-#endif
-
-#ifndef GL_ARB_window_pos
-#define GL_ARB_window_pos 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glWindowPos2dARB (GLdouble, GLdouble);
-GLAPI void APIENTRY glWindowPos2dvARB (const GLdouble *);
-GLAPI void APIENTRY glWindowPos2fARB (GLfloat, GLfloat);
-GLAPI void APIENTRY glWindowPos2fvARB (const GLfloat *);
-GLAPI void APIENTRY glWindowPos2iARB (GLint, GLint);
-GLAPI void APIENTRY glWindowPos2ivARB (const GLint *);
-GLAPI void APIENTRY glWindowPos2sARB (GLshort, GLshort);
-GLAPI void APIENTRY glWindowPos2svARB (const GLshort *);
-GLAPI void APIENTRY glWindowPos3dARB (GLdouble, GLdouble, GLdouble);
-GLAPI void APIENTRY glWindowPos3dvARB (const GLdouble *);
-GLAPI void APIENTRY glWindowPos3fARB (GLfloat, GLfloat, GLfloat);
-GLAPI void APIENTRY glWindowPos3fvARB (const GLfloat *);
-GLAPI void APIENTRY glWindowPos3iARB (GLint, GLint, GLint);
-GLAPI void APIENTRY glWindowPos3ivARB (const GLint *);
-GLAPI void APIENTRY glWindowPos3sARB (GLshort, GLshort, GLshort);
-GLAPI void APIENTRY glWindowPos3svARB (const GLshort *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLWINDOWPOS2DARBPROC) (GLdouble x, GLdouble y);
-typedef void (APIENTRY * PFNGLWINDOWPOS2DVARBPROC) (const GLdouble *v);
-typedef void (APIENTRY * PFNGLWINDOWPOS2FARBPROC) (GLfloat x, GLfloat y);
-typedef void (APIENTRY * PFNGLWINDOWPOS2FVARBPROC) (const GLfloat *v);
-typedef void (APIENTRY * PFNGLWINDOWPOS2IARBPROC) (GLint x, GLint y);
-typedef void (APIENTRY * PFNGLWINDOWPOS2IVARBPROC) (const GLint *v);
-typedef void (APIENTRY * PFNGLWINDOWPOS2SARBPROC) (GLshort x, GLshort y);
-typedef void (APIENTRY * PFNGLWINDOWPOS2SVARBPROC) (const GLshort *v);
-typedef void (APIENTRY * PFNGLWINDOWPOS3DARBPROC) (GLdouble x, GLdouble y, GLdouble z);
-typedef void (APIENTRY * PFNGLWINDOWPOS3DVARBPROC) (const GLdouble *v);
-typedef void (APIENTRY * PFNGLWINDOWPOS3FARBPROC) (GLfloat x, GLfloat y, GLfloat z);
-typedef void (APIENTRY * PFNGLWINDOWPOS3FVARBPROC) (const GLfloat *v);
-typedef void (APIENTRY * PFNGLWINDOWPOS3IARBPROC) (GLint x, GLint y, GLint z);
-typedef void (APIENTRY * PFNGLWINDOWPOS3IVARBPROC) (const GLint *v);
-typedef void (APIENTRY * PFNGLWINDOWPOS3SARBPROC) (GLshort x, GLshort y, GLshort z);
-typedef void (APIENTRY * PFNGLWINDOWPOS3SVARBPROC) (const GLshort *v);
-#endif
-
-#ifndef GL_EXT_abgr
-#define GL_EXT_abgr 1
-#endif
-
-#ifndef GL_EXT_blend_color
-#define GL_EXT_blend_color 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glBlendColorEXT (GLclampf, GLclampf, GLclampf, GLclampf);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLBLENDCOLOREXTPROC) (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);
-#endif
-
-#ifndef GL_EXT_polygon_offset
-#define GL_EXT_polygon_offset 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glPolygonOffsetEXT (GLfloat, GLfloat);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLPOLYGONOFFSETEXTPROC) (GLfloat factor, GLfloat bias);
-#endif
-
-#ifndef GL_EXT_texture
-#define GL_EXT_texture 1
-#endif
-
-#ifndef GL_EXT_texture3D
-#define GL_EXT_texture3D 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glTexImage3DEXT (GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLenum, GLenum, const GLvoid *);
-GLAPI void APIENTRY glTexSubImage3DEXT (GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLTEXIMAGE3DEXTPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
-typedef void (APIENTRY * PFNGLTEXSUBIMAGE3DEXTPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels);
-#endif
-
-#ifndef GL_SGIS_texture_filter4
-#define GL_SGIS_texture_filter4 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glGetTexFilterFuncSGIS (GLenum, GLenum, GLfloat *);
-GLAPI void APIENTRY glTexFilterFuncSGIS (GLenum, GLenum, GLsizei, const GLfloat *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLGETTEXFILTERFUNCSGISPROC) (GLenum target, GLenum filter, GLfloat *weights);
-typedef void (APIENTRY * PFNGLTEXFILTERFUNCSGISPROC) (GLenum target, GLenum filter, GLsizei n, const GLfloat *weights);
-#endif
-
-#ifndef GL_EXT_subtexture
-#define GL_EXT_subtexture 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glTexSubImage1DEXT (GLenum, GLint, GLint, GLsizei, GLenum, GLenum, const GLvoid *);
-GLAPI void APIENTRY glTexSubImage2DEXT (GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLTEXSUBIMAGE1DEXTPROC) (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels);
-typedef void (APIENTRY * PFNGLTEXSUBIMAGE2DEXTPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels);
-#endif
-
-#ifndef GL_EXT_copy_texture
-#define GL_EXT_copy_texture 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glCopyTexImage1DEXT (GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLint);
-GLAPI void APIENTRY glCopyTexImage2DEXT (GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLsizei, GLint);
-GLAPI void APIENTRY glCopyTexSubImage1DEXT (GLenum, GLint, GLint, GLint, GLint, GLsizei);
-GLAPI void APIENTRY glCopyTexSubImage2DEXT (GLenum, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei);
-GLAPI void APIENTRY glCopyTexSubImage3DEXT (GLenum, GLint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLCOPYTEXIMAGE1DEXTPROC) (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border);
-typedef void (APIENTRY * PFNGLCOPYTEXIMAGE2DEXTPROC) (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
-typedef void (APIENTRY * PFNGLCOPYTEXSUBIMAGE1DEXTPROC) (GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);
-typedef void (APIENTRY * PFNGLCOPYTEXSUBIMAGE2DEXTPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
-typedef void (APIENTRY * PFNGLCOPYTEXSUBIMAGE3DEXTPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
-#endif
-
-#ifndef GL_EXT_histogram
-#define GL_EXT_histogram 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glGetHistogramEXT (GLenum, GLboolean, GLenum, GLenum, GLvoid *);
-GLAPI void APIENTRY glGetHistogramParameterfvEXT (GLenum, GLenum, GLfloat *);
-GLAPI void APIENTRY glGetHistogramParameterivEXT (GLenum, GLenum, GLint *);
-GLAPI void APIENTRY glGetMinmaxEXT (GLenum, GLboolean, GLenum, GLenum, GLvoid *);
-GLAPI void APIENTRY glGetMinmaxParameterfvEXT (GLenum, GLenum, GLfloat *);
-GLAPI void APIENTRY glGetMinmaxParameterivEXT (GLenum, GLenum, GLint *);
-GLAPI void APIENTRY glHistogramEXT (GLenum, GLsizei, GLenum, GLboolean);
-GLAPI void APIENTRY glMinmaxEXT (GLenum, GLenum, GLboolean);
-GLAPI void APIENTRY glResetHistogramEXT (GLenum);
-GLAPI void APIENTRY glResetMinmaxEXT (GLenum);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLGETHISTOGRAMEXTPROC) (GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values);
-typedef void (APIENTRY * PFNGLGETHISTOGRAMPARAMETERFVEXTPROC) (GLenum target, GLenum pname, GLfloat *params);
-typedef void (APIENTRY * PFNGLGETHISTOGRAMPARAMETERIVEXTPROC) (GLenum target, GLenum pname, GLint *params);
-typedef void (APIENTRY * PFNGLGETMINMAXEXTPROC) (GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values);
-typedef void (APIENTRY * PFNGLGETMINMAXPARAMETERFVEXTPROC) (GLenum target, GLenum pname, GLfloat *params);
-typedef void (APIENTRY * PFNGLGETMINMAXPARAMETERIVEXTPROC) (GLenum target, GLenum pname, GLint *params);
-typedef void (APIENTRY * PFNGLHISTOGRAMEXTPROC) (GLenum target, GLsizei width, GLenum internalformat, GLboolean sink);
-typedef void (APIENTRY * PFNGLMINMAXEXTPROC) (GLenum target, GLenum internalformat, GLboolean sink);
-typedef void (APIENTRY * PFNGLRESETHISTOGRAMEXTPROC) (GLenum target);
-typedef void (APIENTRY * PFNGLRESETMINMAXEXTPROC) (GLenum target);
-#endif
-
-#ifndef GL_EXT_convolution
-#define GL_EXT_convolution 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glConvolutionFilter1DEXT (GLenum, GLenum, GLsizei, GLenum, GLenum, const GLvoid *);
-GLAPI void APIENTRY glConvolutionFilter2DEXT (GLenum, GLenum, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *);
-GLAPI void APIENTRY glConvolutionParameterfEXT (GLenum, GLenum, GLfloat);
-GLAPI void APIENTRY glConvolutionParameterfvEXT (GLenum, GLenum, const GLfloat *);
-GLAPI void APIENTRY glConvolutionParameteriEXT (GLenum, GLenum, GLint);
-GLAPI void APIENTRY glConvolutionParameterivEXT (GLenum, GLenum, const GLint *);
-GLAPI void APIENTRY glCopyConvolutionFilter1DEXT (GLenum, GLenum, GLint, GLint, GLsizei);
-GLAPI void APIENTRY glCopyConvolutionFilter2DEXT (GLenum, GLenum, GLint, GLint, GLsizei, GLsizei);
-GLAPI void APIENTRY glGetConvolutionFilterEXT (GLenum, GLenum, GLenum, GLvoid *);
-GLAPI void APIENTRY glGetConvolutionParameterfvEXT (GLenum, GLenum, GLfloat *);
-GLAPI void APIENTRY glGetConvolutionParameterivEXT (GLenum, GLenum, GLint *);
-GLAPI void APIENTRY glGetSeparableFilterEXT (GLenum, GLenum, GLenum, GLvoid *, GLvoid *, GLvoid *);
-GLAPI void APIENTRY glSeparableFilter2DEXT (GLenum, GLenum, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *, const GLvoid *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLCONVOLUTIONFILTER1DEXTPROC) (GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *image);
-typedef void (APIENTRY * PFNGLCONVOLUTIONFILTER2DEXTPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *image);
-typedef void (APIENTRY * PFNGLCONVOLUTIONPARAMETERFEXTPROC) (GLenum target, GLenum pname, GLfloat params);
-typedef void (APIENTRY * PFNGLCONVOLUTIONPARAMETERFVEXTPROC) (GLenum target, GLenum pname, const GLfloat *params);
-typedef void (APIENTRY * PFNGLCONVOLUTIONPARAMETERIEXTPROC) (GLenum target, GLenum pname, GLint params);
-typedef void (APIENTRY * PFNGLCONVOLUTIONPARAMETERIVEXTPROC) (GLenum target, GLenum pname, const GLint *params);
-typedef void (APIENTRY * PFNGLCOPYCONVOLUTIONFILTER1DEXTPROC) (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width);
-typedef void (APIENTRY * PFNGLCOPYCONVOLUTIONFILTER2DEXTPROC) (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height);
-typedef void (APIENTRY * PFNGLGETCONVOLUTIONFILTEREXTPROC) (GLenum target, GLenum format, GLenum type, GLvoid *image);
-typedef void (APIENTRY * PFNGLGETCONVOLUTIONPARAMETERFVEXTPROC) (GLenum target, GLenum pname, GLfloat *params);
-typedef void (APIENTRY * PFNGLGETCONVOLUTIONPARAMETERIVEXTPROC) (GLenum target, GLenum pname, GLint *params);
-typedef void (APIENTRY * PFNGLGETSEPARABLEFILTEREXTPROC) (GLenum target, GLenum format, GLenum type, GLvoid *row, GLvoid *column, GLvoid *span);
-typedef void (APIENTRY * PFNGLSEPARABLEFILTER2DEXTPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *row, const GLvoid *column);
-#endif
-
-#ifndef GL_EXT_color_matrix
-#define GL_EXT_color_matrix 1
-#endif
-
-#ifndef GL_SGI_color_table
-#define GL_SGI_color_table 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glColorTableSGI (GLenum, GLenum, GLsizei, GLenum, GLenum, const GLvoid *);
-GLAPI void APIENTRY glColorTableParameterfvSGI (GLenum, GLenum, const GLfloat *);
-GLAPI void APIENTRY glColorTableParameterivSGI (GLenum, GLenum, const GLint *);
-GLAPI void APIENTRY glCopyColorTableSGI (GLenum, GLenum, GLint, GLint, GLsizei);
-GLAPI void APIENTRY glGetColorTableSGI (GLenum, GLenum, GLenum, GLvoid *);
-GLAPI void APIENTRY glGetColorTableParameterfvSGI (GLenum, GLenum, GLfloat *);
-GLAPI void APIENTRY glGetColorTableParameterivSGI (GLenum, GLenum, GLint *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLCOLORTABLESGIPROC) (GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *table);
-typedef void (APIENTRY * PFNGLCOLORTABLEPARAMETERFVSGIPROC) (GLenum target, GLenum pname, const GLfloat *params);
-typedef void (APIENTRY * PFNGLCOLORTABLEPARAMETERIVSGIPROC) (GLenum target, GLenum pname, const GLint *params);
-typedef void (APIENTRY * PFNGLCOPYCOLORTABLESGIPROC) (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width);
-typedef void (APIENTRY * PFNGLGETCOLORTABLESGIPROC) (GLenum target, GLenum format, GLenum type, GLvoid *table);
-typedef void (APIENTRY * PFNGLGETCOLORTABLEPARAMETERFVSGIPROC) (GLenum target, GLenum pname, GLfloat *params);
-typedef void (APIENTRY * PFNGLGETCOLORTABLEPARAMETERIVSGIPROC) (GLenum target, GLenum pname, GLint *params);
-#endif
-
-#ifndef GL_SGIX_pixel_texture
-#define GL_SGIX_pixel_texture 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glPixelTexGenSGIX (GLenum);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLPIXELTEXGENSGIXPROC) (GLenum mode);
-#endif
-
-#ifndef GL_SGIS_pixel_texture
-#define GL_SGIS_pixel_texture 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glPixelTexGenParameteriSGIS (GLenum, GLint);
-GLAPI void APIENTRY glPixelTexGenParameterivSGIS (GLenum, const GLint *);
-GLAPI void APIENTRY glPixelTexGenParameterfSGIS (GLenum, GLfloat);
-GLAPI void APIENTRY glPixelTexGenParameterfvSGIS (GLenum, const GLfloat *);
-GLAPI void APIENTRY glGetPixelTexGenParameterivSGIS (GLenum, GLint *);
-GLAPI void APIENTRY glGetPixelTexGenParameterfvSGIS (GLenum, GLfloat *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLPIXELTEXGENPARAMETERISGISPROC) (GLenum pname, GLint param);
-typedef void (APIENTRY * PFNGLPIXELTEXGENPARAMETERIVSGISPROC) (GLenum pname, const GLint *params);
-typedef void (APIENTRY * PFNGLPIXELTEXGENPARAMETERFSGISPROC) (GLenum pname, GLfloat param);
-typedef void (APIENTRY * PFNGLPIXELTEXGENPARAMETERFVSGISPROC) (GLenum pname, const GLfloat *params);
-typedef void (APIENTRY * PFNGLGETPIXELTEXGENPARAMETERIVSGISPROC) (GLenum pname, GLint *params);
-typedef void (APIENTRY * PFNGLGETPIXELTEXGENPARAMETERFVSGISPROC) (GLenum pname, GLfloat *params);
-#endif
-
-#ifndef GL_SGIS_texture4D
-#define GL_SGIS_texture4D 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glTexImage4DSGIS (GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLsizei, GLint, GLenum, GLenum, const GLvoid *);
-GLAPI void APIENTRY glTexSubImage4DSGIS (GLenum, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLTEXIMAGE4DSGISPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLsizei size4d, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
-typedef void (APIENTRY * PFNGLTEXSUBIMAGE4DSGISPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint woffset, GLsizei width, GLsizei height, GLsizei depth, GLsizei size4d, GLenum format, GLenum type, const GLvoid *pixels);
-#endif
-
-#ifndef GL_SGI_texture_color_table
-#define GL_SGI_texture_color_table 1
-#endif
-
-#ifndef GL_EXT_cmyka
-#define GL_EXT_cmyka 1
-#endif
-
-#ifndef GL_EXT_texture_object
-#define GL_EXT_texture_object 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI GLboolean APIENTRY glAreTexturesResidentEXT (GLsizei, const GLuint *, GLboolean *);
-GLAPI void APIENTRY glBindTextureEXT (GLenum, GLuint);
-GLAPI void APIENTRY glDeleteTexturesEXT (GLsizei, const GLuint *);
-GLAPI void APIENTRY glGenTexturesEXT (GLsizei, GLuint *);
-GLAPI GLboolean APIENTRY glIsTextureEXT (GLuint);
-GLAPI void APIENTRY glPrioritizeTexturesEXT (GLsizei, const GLuint *, const GLclampf *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef GLboolean (APIENTRY * PFNGLARETEXTURESRESIDENTEXTPROC) (GLsizei n, const GLuint *textures, GLboolean *residences);
-typedef void (APIENTRY * PFNGLBINDTEXTUREEXTPROC) (GLenum target, GLuint texture);
-typedef void (APIENTRY * PFNGLDELETETEXTURESEXTPROC) (GLsizei n, const GLuint *textures);
-typedef void (APIENTRY * PFNGLGENTEXTURESEXTPROC) (GLsizei n, GLuint *textures);
-typedef GLboolean (APIENTRY * PFNGLISTEXTUREEXTPROC) (GLuint texture);
-typedef void (APIENTRY * PFNGLPRIORITIZETEXTURESEXTPROC) (GLsizei n, const GLuint *textures, const GLclampf *priorities);
-#endif
-
-#ifndef GL_SGIS_detail_texture
-#define GL_SGIS_detail_texture 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glDetailTexFuncSGIS (GLenum, GLsizei, const GLfloat *);
-GLAPI void APIENTRY glGetDetailTexFuncSGIS (GLenum, GLfloat *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLDETAILTEXFUNCSGISPROC) (GLenum target, GLsizei n, const GLfloat *points);
-typedef void (APIENTRY * PFNGLGETDETAILTEXFUNCSGISPROC) (GLenum target, GLfloat *points);
-#endif
-
-#ifndef GL_SGIS_sharpen_texture
-#define GL_SGIS_sharpen_texture 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glSharpenTexFuncSGIS (GLenum, GLsizei, const GLfloat *);
-GLAPI void APIENTRY glGetSharpenTexFuncSGIS (GLenum, GLfloat *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLSHARPENTEXFUNCSGISPROC) (GLenum target, GLsizei n, const GLfloat *points);
-typedef void (APIENTRY * PFNGLGETSHARPENTEXFUNCSGISPROC) (GLenum target, GLfloat *points);
-#endif
-
-#ifndef GL_EXT_packed_pixels
-#define GL_EXT_packed_pixels 1
-#endif
-
-#ifndef GL_SGIS_texture_lod
-#define GL_SGIS_texture_lod 1
-#endif
-
-#ifndef GL_SGIS_multisample
-#define GL_SGIS_multisample 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glSampleMaskSGIS (GLclampf, GLboolean);
-GLAPI void APIENTRY glSamplePatternSGIS (GLenum);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLSAMPLEMASKSGISPROC) (GLclampf value, GLboolean invert);
-typedef void (APIENTRY * PFNGLSAMPLEPATTERNSGISPROC) (GLenum pattern);
-#endif
-
-#ifndef GL_EXT_rescale_normal
-#define GL_EXT_rescale_normal 1
-#endif
-
-#ifndef GL_EXT_vertex_array
-#define GL_EXT_vertex_array 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glArrayElementEXT (GLint);
-GLAPI void APIENTRY glColorPointerEXT (GLint, GLenum, GLsizei, GLsizei, const GLvoid *);
-GLAPI void APIENTRY glDrawArraysEXT (GLenum, GLint, GLsizei);
-GLAPI void APIENTRY glEdgeFlagPointerEXT (GLsizei, GLsizei, const GLboolean *);
-GLAPI void APIENTRY glGetPointervEXT (GLenum, GLvoid* *);
-GLAPI void APIENTRY glIndexPointerEXT (GLenum, GLsizei, GLsizei, const GLvoid *);
-GLAPI void APIENTRY glNormalPointerEXT (GLenum, GLsizei, GLsizei, const GLvoid *);
-GLAPI void APIENTRY glTexCoordPointerEXT (GLint, GLenum, GLsizei, GLsizei, const GLvoid *);
-GLAPI void APIENTRY glVertexPointerEXT (GLint, GLenum, GLsizei, GLsizei, const GLvoid *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLARRAYELEMENTEXTPROC) (GLint i);
-typedef void (APIENTRY * PFNGLCOLORPOINTEREXTPROC) (GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer);
-typedef void (APIENTRY * PFNGLDRAWARRAYSEXTPROC) (GLenum mode, GLint first, GLsizei count);
-typedef void (APIENTRY * PFNGLEDGEFLAGPOINTEREXTPROC) (GLsizei stride, GLsizei count, const GLboolean *pointer);
-typedef void (APIENTRY * PFNGLGETPOINTERVEXTPROC) (GLenum pname, GLvoid* *params);
-typedef void (APIENTRY * PFNGLINDEXPOINTEREXTPROC) (GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer);
-typedef void (APIENTRY * PFNGLNORMALPOINTEREXTPROC) (GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer);
-typedef void (APIENTRY * PFNGLTEXCOORDPOINTEREXTPROC) (GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer);
-typedef void (APIENTRY * PFNGLVERTEXPOINTEREXTPROC) (GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer);
-#endif
-
-#ifndef GL_EXT_misc_attribute
-#define GL_EXT_misc_attribute 1
-#endif
-
-#ifndef GL_SGIS_generate_mipmap
-#define GL_SGIS_generate_mipmap 1
-#endif
-
-#ifndef GL_SGIX_clipmap
-#define GL_SGIX_clipmap 1
-#endif
-
-#ifndef GL_SGIX_shadow
-#define GL_SGIX_shadow 1
-#endif
-
-#ifndef GL_SGIS_texture_edge_clamp
-#define GL_SGIS_texture_edge_clamp 1
-#endif
-
-#ifndef GL_SGIS_texture_border_clamp
-#define GL_SGIS_texture_border_clamp 1
-#endif
-
-#ifndef GL_EXT_blend_minmax
-#define GL_EXT_blend_minmax 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glBlendEquationEXT (GLenum);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLBLENDEQUATIONEXTPROC) (GLenum mode);
-#endif
-
-#ifndef GL_EXT_blend_subtract
-#define GL_EXT_blend_subtract 1
-#endif
-
-#ifndef GL_EXT_blend_logic_op
-#define GL_EXT_blend_logic_op 1
-#endif
-
-#ifndef GL_SGIX_interlace
-#define GL_SGIX_interlace 1
-#endif
-
-#ifndef GL_SGIX_pixel_tiles
-#define GL_SGIX_pixel_tiles 1
-#endif
-
-#ifndef GL_SGIX_texture_select
-#define GL_SGIX_texture_select 1
-#endif
-
-#ifndef GL_SGIX_sprite
-#define GL_SGIX_sprite 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glSpriteParameterfSGIX (GLenum, GLfloat);
-GLAPI void APIENTRY glSpriteParameterfvSGIX (GLenum, const GLfloat *);
-GLAPI void APIENTRY glSpriteParameteriSGIX (GLenum, GLint);
-GLAPI void APIENTRY glSpriteParameterivSGIX (GLenum, const GLint *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLSPRITEPARAMETERFSGIXPROC) (GLenum pname, GLfloat param);
-typedef void (APIENTRY * PFNGLSPRITEPARAMETERFVSGIXPROC) (GLenum pname, const GLfloat *params);
-typedef void (APIENTRY * PFNGLSPRITEPARAMETERISGIXPROC) (GLenum pname, GLint param);
-typedef void (APIENTRY * PFNGLSPRITEPARAMETERIVSGIXPROC) (GLenum pname, const GLint *params);
-#endif
-
-#ifndef GL_SGIX_texture_multi_buffer
-#define GL_SGIX_texture_multi_buffer 1
-#endif
-
-#ifndef GL_EXT_point_parameters
-#define GL_EXT_point_parameters 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glPointParameterfEXT (GLenum, GLfloat);
-GLAPI void APIENTRY glPointParameterfvEXT (GLenum, const GLfloat *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLPOINTPARAMETERFEXTPROC) (GLenum pname, GLfloat param);
-typedef void (APIENTRY * PFNGLPOINTPARAMETERFVEXTPROC) (GLenum pname, const GLfloat *params);
-#endif
-
-#ifndef GL_SGIS_point_parameters
-#define GL_SGIS_point_parameters 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glPointParameterfSGIS (GLenum, GLfloat);
-GLAPI void APIENTRY glPointParameterfvSGIS (GLenum, const GLfloat *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLPOINTPARAMETERFSGISPROC) (GLenum pname, GLfloat param);
-typedef void (APIENTRY * PFNGLPOINTPARAMETERFVSGISPROC) (GLenum pname, const GLfloat *params);
-#endif
-
-#ifndef GL_SGIX_instruments
-#define GL_SGIX_instruments 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI GLint APIENTRY glGetInstrumentsSGIX (void);
-GLAPI void APIENTRY glInstrumentsBufferSGIX (GLsizei, GLint *);
-GLAPI GLint APIENTRY glPollInstrumentsSGIX (GLint *);
-GLAPI void APIENTRY glReadInstrumentsSGIX (GLint);
-GLAPI void APIENTRY glStartInstrumentsSGIX (void);
-GLAPI void APIENTRY glStopInstrumentsSGIX (GLint);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef GLint (APIENTRY * PFNGLGETINSTRUMENTSSGIXPROC) (void);
-typedef void (APIENTRY * PFNGLINSTRUMENTSBUFFERSGIXPROC) (GLsizei size, GLint *buffer);
-typedef GLint (APIENTRY * PFNGLPOLLINSTRUMENTSSGIXPROC) (GLint *marker_p);
-typedef void (APIENTRY * PFNGLREADINSTRUMENTSSGIXPROC) (GLint marker);
-typedef void (APIENTRY * PFNGLSTARTINSTRUMENTSSGIXPROC) (void);
-typedef void (APIENTRY * PFNGLSTOPINSTRUMENTSSGIXPROC) (GLint marker);
-#endif
-
-#ifndef GL_SGIX_texture_scale_bias
-#define GL_SGIX_texture_scale_bias 1
-#endif
-
-#ifndef GL_SGIX_framezoom
-#define GL_SGIX_framezoom 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glFrameZoomSGIX (GLint);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLFRAMEZOOMSGIXPROC) (GLint factor);
-#endif
-
-#ifndef GL_SGIX_tag_sample_buffer
-#define GL_SGIX_tag_sample_buffer 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glTagSampleBufferSGIX (void);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLTAGSAMPLEBUFFERSGIXPROC) (void);
-#endif
-
-#ifndef GL_SGIX_polynomial_ffd
-#define GL_SGIX_polynomial_ffd 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glDeformationMap3dSGIX (GLenum, GLdouble, GLdouble, GLint, GLint, GLdouble, GLdouble, GLint, GLint, GLdouble, GLdouble, GLint, GLint, const GLdouble *);
-GLAPI void APIENTRY glDeformationMap3fSGIX (GLenum, GLfloat, GLfloat, GLint, GLint, GLfloat, GLfloat, GLint, GLint, GLfloat, GLfloat, GLint, GLint, const GLfloat *);
-GLAPI void APIENTRY glDeformSGIX (GLbitfield);
-GLAPI void APIENTRY glLoadIdentityDeformationMapSGIX (GLbitfield);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLDEFORMATIONMAP3DSGIXPROC) (GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, GLdouble w1, GLdouble w2, GLint wstride, GLint worder, const GLdouble *points);
-typedef void (APIENTRY * PFNGLDEFORMATIONMAP3FSGIXPROC) (GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, GLfloat w1, GLfloat w2, GLint wstride, GLint worder, const GLfloat *points);
-typedef void (APIENTRY * PFNGLDEFORMSGIXPROC) (GLbitfield mask);
-typedef void (APIENTRY * PFNGLLOADIDENTITYDEFORMATIONMAPSGIXPROC) (GLbitfield mask);
-#endif
-
-#ifndef GL_SGIX_reference_plane
-#define GL_SGIX_reference_plane 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glReferencePlaneSGIX (const GLdouble *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLREFERENCEPLANESGIXPROC) (const GLdouble *equation);
-#endif
-
-#ifndef GL_SGIX_flush_raster
-#define GL_SGIX_flush_raster 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glFlushRasterSGIX (void);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLFLUSHRASTERSGIXPROC) (void);
-#endif
-
-#ifndef GL_SGIX_depth_texture
-#define GL_SGIX_depth_texture 1
-#endif
-
-#ifndef GL_SGIS_fog_function
-#define GL_SGIS_fog_function 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glFogFuncSGIS (GLsizei, const GLfloat *);
-GLAPI void APIENTRY glGetFogFuncSGIS (GLfloat *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLFOGFUNCSGISPROC) (GLsizei n, const GLfloat *points);
-typedef void (APIENTRY * PFNGLGETFOGFUNCSGISPROC) (GLfloat *points);
-#endif
-
-#ifndef GL_SGIX_fog_offset
-#define GL_SGIX_fog_offset 1
-#endif
-
-#ifndef GL_HP_image_transform
-#define GL_HP_image_transform 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glImageTransformParameteriHP (GLenum, GLenum, GLint);
-GLAPI void APIENTRY glImageTransformParameterfHP (GLenum, GLenum, GLfloat);
-GLAPI void APIENTRY glImageTransformParameterivHP (GLenum, GLenum, const GLint *);
-GLAPI void APIENTRY glImageTransformParameterfvHP (GLenum, GLenum, const GLfloat *);
-GLAPI void APIENTRY glGetImageTransformParameterivHP (GLenum, GLenum, GLint *);
-GLAPI void APIENTRY glGetImageTransformParameterfvHP (GLenum, GLenum, GLfloat *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLIMAGETRANSFORMPARAMETERIHPPROC) (GLenum target, GLenum pname, GLint param);
-typedef void (APIENTRY * PFNGLIMAGETRANSFORMPARAMETERFHPPROC) (GLenum target, GLenum pname, GLfloat param);
-typedef void (APIENTRY * PFNGLIMAGETRANSFORMPARAMETERIVHPPROC) (GLenum target, GLenum pname, const GLint *params);
-typedef void (APIENTRY * PFNGLIMAGETRANSFORMPARAMETERFVHPPROC) (GLenum target, GLenum pname, const GLfloat *params);
-typedef void (APIENTRY * PFNGLGETIMAGETRANSFORMPARAMETERIVHPPROC) (GLenum target, GLenum pname, GLint *params);
-typedef void (APIENTRY * PFNGLGETIMAGETRANSFORMPARAMETERFVHPPROC) (GLenum target, GLenum pname, GLfloat *params);
-#endif
-
-#ifndef GL_HP_convolution_border_modes
-#define GL_HP_convolution_border_modes 1
-#endif
-
-#ifndef GL_SGIX_texture_add_env
-#define GL_SGIX_texture_add_env 1
-#endif
-
-#ifndef GL_EXT_color_subtable
-#define GL_EXT_color_subtable 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glColorSubTableEXT (GLenum, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *);
-GLAPI void APIENTRY glCopyColorSubTableEXT (GLenum, GLsizei, GLint, GLint, GLsizei);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLCOLORSUBTABLEEXTPROC) (GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const GLvoid *data);
-typedef void (APIENTRY * PFNGLCOPYCOLORSUBTABLEEXTPROC) (GLenum target, GLsizei start, GLint x, GLint y, GLsizei width);
-#endif
-
-#ifndef GL_PGI_vertex_hints
-#define GL_PGI_vertex_hints 1
-#endif
-
-#ifndef GL_PGI_misc_hints
-#define GL_PGI_misc_hints 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glHintPGI (GLenum, GLint);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLHINTPGIPROC) (GLenum target, GLint mode);
-#endif
-
-#ifndef GL_EXT_paletted_texture
-#define GL_EXT_paletted_texture 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glColorTableEXT (GLenum, GLenum, GLsizei, GLenum, GLenum, const GLvoid *);
-GLAPI void APIENTRY glGetColorTableEXT (GLenum, GLenum, GLenum, GLvoid *);
-GLAPI void APIENTRY glGetColorTableParameterivEXT (GLenum, GLenum, GLint *);
-GLAPI void APIENTRY glGetColorTableParameterfvEXT (GLenum, GLenum, GLfloat *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLCOLORTABLEEXTPROC) (GLenum target, GLenum internalFormat, GLsizei width, GLenum format, GLenum type, const GLvoid *table);
-typedef void (APIENTRY * PFNGLGETCOLORTABLEEXTPROC) (GLenum target, GLenum format, GLenum type, GLvoid *data);
-typedef void (APIENTRY * PFNGLGETCOLORTABLEPARAMETERIVEXTPROC) (GLenum target, GLenum pname, GLint *params);
-typedef void (APIENTRY * PFNGLGETCOLORTABLEPARAMETERFVEXTPROC) (GLenum target, GLenum pname, GLfloat *params);
-#endif
-
-#ifndef GL_EXT_clip_volume_hint
-#define GL_EXT_clip_volume_hint 1
-#endif
-
-#ifndef GL_SGIX_list_priority
-#define GL_SGIX_list_priority 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glGetListParameterfvSGIX (GLuint, GLenum, GLfloat *);
-GLAPI void APIENTRY glGetListParameterivSGIX (GLuint, GLenum, GLint *);
-GLAPI void APIENTRY glListParameterfSGIX (GLuint, GLenum, GLfloat);
-GLAPI void APIENTRY glListParameterfvSGIX (GLuint, GLenum, const GLfloat *);
-GLAPI void APIENTRY glListParameteriSGIX (GLuint, GLenum, GLint);
-GLAPI void APIENTRY glListParameterivSGIX (GLuint, GLenum, const GLint *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLGETLISTPARAMETERFVSGIXPROC) (GLuint list, GLenum pname, GLfloat *params);
-typedef void (APIENTRY * PFNGLGETLISTPARAMETERIVSGIXPROC) (GLuint list, GLenum pname, GLint *params);
-typedef void (APIENTRY * PFNGLLISTPARAMETERFSGIXPROC) (GLuint list, GLenum pname, GLfloat param);
-typedef void (APIENTRY * PFNGLLISTPARAMETERFVSGIXPROC) (GLuint list, GLenum pname, const GLfloat *params);
-typedef void (APIENTRY * PFNGLLISTPARAMETERISGIXPROC) (GLuint list, GLenum pname, GLint param);
-typedef void (APIENTRY * PFNGLLISTPARAMETERIVSGIXPROC) (GLuint list, GLenum pname, const GLint *params);
-#endif
-
-#ifndef GL_SGIX_ir_instrument1
-#define GL_SGIX_ir_instrument1 1
-#endif
-
-#ifndef GL_SGIX_calligraphic_fragment
-#define GL_SGIX_calligraphic_fragment 1
-#endif
-
-#ifndef GL_SGIX_texture_lod_bias
-#define GL_SGIX_texture_lod_bias 1
-#endif
-
-#ifndef GL_SGIX_shadow_ambient
-#define GL_SGIX_shadow_ambient 1
-#endif
-
-#ifndef GL_EXT_index_texture
-#define GL_EXT_index_texture 1
-#endif
-
-#ifndef GL_EXT_index_material
-#define GL_EXT_index_material 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glIndexMaterialEXT (GLenum, GLenum);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLINDEXMATERIALEXTPROC) (GLenum face, GLenum mode);
-#endif
-
-#ifndef GL_EXT_index_func
-#define GL_EXT_index_func 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glIndexFuncEXT (GLenum, GLclampf);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLINDEXFUNCEXTPROC) (GLenum func, GLclampf ref);
-#endif
-
-#ifndef GL_EXT_index_array_formats
-#define GL_EXT_index_array_formats 1
-#endif
-
-#ifndef GL_EXT_compiled_vertex_array
-#define GL_EXT_compiled_vertex_array 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glLockArraysEXT (GLint, GLsizei);
-GLAPI void APIENTRY glUnlockArraysEXT (void);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLLOCKARRAYSEXTPROC) (GLint first, GLsizei count);
-typedef void (APIENTRY * PFNGLUNLOCKARRAYSEXTPROC) (void);
-#endif
-
-#ifndef GL_EXT_cull_vertex
-#define GL_EXT_cull_vertex 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glCullParameterdvEXT (GLenum, GLdouble *);
-GLAPI void APIENTRY glCullParameterfvEXT (GLenum, GLfloat *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLCULLPARAMETERDVEXTPROC) (GLenum pname, GLdouble *params);
-typedef void (APIENTRY * PFNGLCULLPARAMETERFVEXTPROC) (GLenum pname, GLfloat *params);
-#endif
-
-#ifndef GL_SGIX_ycrcb
-#define GL_SGIX_ycrcb 1
-#endif
-
-#ifndef GL_SGIX_fragment_lighting
-#define GL_SGIX_fragment_lighting 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glFragmentColorMaterialSGIX (GLenum, GLenum);
-GLAPI void APIENTRY glFragmentLightfSGIX (GLenum, GLenum, GLfloat);
-GLAPI void APIENTRY glFragmentLightfvSGIX (GLenum, GLenum, const GLfloat *);
-GLAPI void APIENTRY glFragmentLightiSGIX (GLenum, GLenum, GLint);
-GLAPI void APIENTRY glFragmentLightivSGIX (GLenum, GLenum, const GLint *);
-GLAPI void APIENTRY glFragmentLightModelfSGIX (GLenum, GLfloat);
-GLAPI void APIENTRY glFragmentLightModelfvSGIX (GLenum, const GLfloat *);
-GLAPI void APIENTRY glFragmentLightModeliSGIX (GLenum, GLint);
-GLAPI void APIENTRY glFragmentLightModelivSGIX (GLenum, const GLint *);
-GLAPI void APIENTRY glFragmentMaterialfSGIX (GLenum, GLenum, GLfloat);
-GLAPI void APIENTRY glFragmentMaterialfvSGIX (GLenum, GLenum, const GLfloat *);
-GLAPI void APIENTRY glFragmentMaterialiSGIX (GLenum, GLenum, GLint);
-GLAPI void APIENTRY glFragmentMaterialivSGIX (GLenum, GLenum, const GLint *);
-GLAPI void APIENTRY glGetFragmentLightfvSGIX (GLenum, GLenum, GLfloat *);
-GLAPI void APIENTRY glGetFragmentLightivSGIX (GLenum, GLenum, GLint *);
-GLAPI void APIENTRY glGetFragmentMaterialfvSGIX (GLenum, GLenum, GLfloat *);
-GLAPI void APIENTRY glGetFragmentMaterialivSGIX (GLenum, GLenum, GLint *);
-GLAPI void APIENTRY glLightEnviSGIX (GLenum, GLint);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLFRAGMENTCOLORMATERIALSGIXPROC) (GLenum face, GLenum mode);
-typedef void (APIENTRY * PFNGLFRAGMENTLIGHTFSGIXPROC) (GLenum light, GLenum pname, GLfloat param);
-typedef void (APIENTRY * PFNGLFRAGMENTLIGHTFVSGIXPROC) (GLenum light, GLenum pname, const GLfloat *params);
-typedef void (APIENTRY * PFNGLFRAGMENTLIGHTISGIXPROC) (GLenum light, GLenum pname, GLint param);
-typedef void (APIENTRY * PFNGLFRAGMENTLIGHTIVSGIXPROC) (GLenum light, GLenum pname, const GLint *params);
-typedef void (APIENTRY * PFNGLFRAGMENTLIGHTMODELFSGIXPROC) (GLenum pname, GLfloat param);
-typedef void (APIENTRY * PFNGLFRAGMENTLIGHTMODELFVSGIXPROC) (GLenum pname, const GLfloat *params);
-typedef void (APIENTRY * PFNGLFRAGMENTLIGHTMODELISGIXPROC) (GLenum pname, GLint param);
-typedef void (APIENTRY * PFNGLFRAGMENTLIGHTMODELIVSGIXPROC) (GLenum pname, const GLint *params);
-typedef void (APIENTRY * PFNGLFRAGMENTMATERIALFSGIXPROC) (GLenum face, GLenum pname, GLfloat param);
-typedef void (APIENTRY * PFNGLFRAGMENTMATERIALFVSGIXPROC) (GLenum face, GLenum pname, const GLfloat *params);
-typedef void (APIENTRY * PFNGLFRAGMENTMATERIALISGIXPROC) (GLenum face, GLenum pname, GLint param);
-typedef void (APIENTRY * PFNGLFRAGMENTMATERIALIVSGIXPROC) (GLenum face, GLenum pname, const GLint *params);
-typedef void (APIENTRY * PFNGLGETFRAGMENTLIGHTFVSGIXPROC) (GLenum light, GLenum pname, GLfloat *params);
-typedef void (APIENTRY * PFNGLGETFRAGMENTLIGHTIVSGIXPROC) (GLenum light, GLenum pname, GLint *params);
-typedef void (APIENTRY * PFNGLGETFRAGMENTMATERIALFVSGIXPROC) (GLenum face, GLenum pname, GLfloat *params);
-typedef void (APIENTRY * PFNGLGETFRAGMENTMATERIALIVSGIXPROC) (GLenum face, GLenum pname, GLint *params);
-typedef void (APIENTRY * PFNGLLIGHTENVISGIXPROC) (GLenum pname, GLint param);
-#endif
-
-#ifndef GL_IBM_rasterpos_clip
-#define GL_IBM_rasterpos_clip 1
-#endif
-
-#ifndef GL_HP_texture_lighting
-#define GL_HP_texture_lighting 1
-#endif
-
-#ifndef GL_EXT_draw_range_elements
-#define GL_EXT_draw_range_elements 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glDrawRangeElementsEXT (GLenum, GLuint, GLuint, GLsizei, GLenum, const GLvoid *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLDRAWRANGEELEMENTSEXTPROC) (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices);
-#endif
-
-#ifndef GL_WIN_phong_shading
-#define GL_WIN_phong_shading 1
-#endif
-
-#ifndef GL_WIN_specular_fog
-#define GL_WIN_specular_fog 1
-#endif
-
-#ifndef GL_EXT_light_texture
-#define GL_EXT_light_texture 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glApplyTextureEXT (GLenum);
-GLAPI void APIENTRY glTextureLightEXT (GLenum);
-GLAPI void APIENTRY glTextureMaterialEXT (GLenum, GLenum);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLAPPLYTEXTUREEXTPROC) (GLenum mode);
-typedef void (APIENTRY * PFNGLTEXTURELIGHTEXTPROC) (GLenum pname);
-typedef void (APIENTRY * PFNGLTEXTUREMATERIALEXTPROC) (GLenum face, GLenum mode);
-#endif
-
-#ifndef GL_SGIX_blend_alpha_minmax
-#define GL_SGIX_blend_alpha_minmax 1
-#endif
-
-#ifndef GL_EXT_bgra
-#define GL_EXT_bgra 1
-#endif
-
-#ifndef GL_SGIX_async
-#define GL_SGIX_async 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glAsyncMarkerSGIX (GLuint);
-GLAPI GLint APIENTRY glFinishAsyncSGIX (GLuint *);
-GLAPI GLint APIENTRY glPollAsyncSGIX (GLuint *);
-GLAPI GLuint APIENTRY glGenAsyncMarkersSGIX (GLsizei);
-GLAPI void APIENTRY glDeleteAsyncMarkersSGIX (GLuint, GLsizei);
-GLAPI GLboolean APIENTRY glIsAsyncMarkerSGIX (GLuint);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLASYNCMARKERSGIXPROC) (GLuint marker);
-typedef GLint (APIENTRY * PFNGLFINISHASYNCSGIXPROC) (GLuint *markerp);
-typedef GLint (APIENTRY * PFNGLPOLLASYNCSGIXPROC) (GLuint *markerp);
-typedef GLuint (APIENTRY * PFNGLGENASYNCMARKERSSGIXPROC) (GLsizei range);
-typedef void (APIENTRY * PFNGLDELETEASYNCMARKERSSGIXPROC) (GLuint marker, GLsizei range);
-typedef GLboolean (APIENTRY * PFNGLISASYNCMARKERSGIXPROC) (GLuint marker);
-#endif
-
-#ifndef GL_SGIX_async_pixel
-#define GL_SGIX_async_pixel 1
-#endif
-
-#ifndef GL_SGIX_async_histogram
-#define GL_SGIX_async_histogram 1
-#endif
-
-#ifndef GL_INTEL_parallel_arrays
-#define GL_INTEL_parallel_arrays 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glVertexPointervINTEL (GLint, GLenum, const GLvoid* *);
-GLAPI void APIENTRY glNormalPointervINTEL (GLenum, const GLvoid* *);
-GLAPI void APIENTRY glColorPointervINTEL (GLint, GLenum, const GLvoid* *);
-GLAPI void APIENTRY glTexCoordPointervINTEL (GLint, GLenum, const GLvoid* *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLVERTEXPOINTERVINTELPROC) (GLint size, GLenum type, const GLvoid* *pointer);
-typedef void (APIENTRY * PFNGLNORMALPOINTERVINTELPROC) (GLenum type, const GLvoid* *pointer);
-typedef void (APIENTRY * PFNGLCOLORPOINTERVINTELPROC) (GLint size, GLenum type, const GLvoid* *pointer);
-typedef void (APIENTRY * PFNGLTEXCOORDPOINTERVINTELPROC) (GLint size, GLenum type, const GLvoid* *pointer);
-#endif
-
-#ifndef GL_HP_occlusion_test
-#define GL_HP_occlusion_test 1
-#endif
-
-#ifndef GL_EXT_pixel_transform
-#define GL_EXT_pixel_transform 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glPixelTransformParameteriEXT (GLenum, GLenum, GLint);
-GLAPI void APIENTRY glPixelTransformParameterfEXT (GLenum, GLenum, GLfloat);
-GLAPI void APIENTRY glPixelTransformParameterivEXT (GLenum, GLenum, const GLint *);
-GLAPI void APIENTRY glPixelTransformParameterfvEXT (GLenum, GLenum, const GLfloat *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLPIXELTRANSFORMPARAMETERIEXTPROC) (GLenum target, GLenum pname, GLint param);
-typedef void (APIENTRY * PFNGLPIXELTRANSFORMPARAMETERFEXTPROC) (GLenum target, GLenum pname, GLfloat param);
-typedef void (APIENTRY * PFNGLPIXELTRANSFORMPARAMETERIVEXTPROC) (GLenum target, GLenum pname, const GLint *params);
-typedef void (APIENTRY * PFNGLPIXELTRANSFORMPARAMETERFVEXTPROC) (GLenum target, GLenum pname, const GLfloat *params);
-#endif
-
-#ifndef GL_EXT_pixel_transform_color_table
-#define GL_EXT_pixel_transform_color_table 1
-#endif
-
-#ifndef GL_EXT_shared_texture_palette
-#define GL_EXT_shared_texture_palette 1
-#endif
-
-#ifndef GL_EXT_separate_specular_color
-#define GL_EXT_separate_specular_color 1
-#endif
-
-#ifndef GL_EXT_secondary_color
-#define GL_EXT_secondary_color 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glSecondaryColor3bEXT (GLbyte, GLbyte, GLbyte);
-GLAPI void APIENTRY glSecondaryColor3bvEXT (const GLbyte *);
-GLAPI void APIENTRY glSecondaryColor3dEXT (GLdouble, GLdouble, GLdouble);
-GLAPI void APIENTRY glSecondaryColor3dvEXT (const GLdouble *);
-GLAPI void APIENTRY glSecondaryColor3fEXT (GLfloat, GLfloat, GLfloat);
-GLAPI void APIENTRY glSecondaryColor3fvEXT (const GLfloat *);
-GLAPI void APIENTRY glSecondaryColor3iEXT (GLint, GLint, GLint);
-GLAPI void APIENTRY glSecondaryColor3ivEXT (const GLint *);
-GLAPI void APIENTRY glSecondaryColor3sEXT (GLshort, GLshort, GLshort);
-GLAPI void APIENTRY glSecondaryColor3svEXT (const GLshort *);
-GLAPI void APIENTRY glSecondaryColor3ubEXT (GLubyte, GLubyte, GLubyte);
-GLAPI void APIENTRY glSecondaryColor3ubvEXT (const GLubyte *);
-GLAPI void APIENTRY glSecondaryColor3uiEXT (GLuint, GLuint, GLuint);
-GLAPI void APIENTRY glSecondaryColor3uivEXT (const GLuint *);
-GLAPI void APIENTRY glSecondaryColor3usEXT (GLushort, GLushort, GLushort);
-GLAPI void APIENTRY glSecondaryColor3usvEXT (const GLushort *);
-GLAPI void APIENTRY glSecondaryColorPointerEXT (GLint, GLenum, GLsizei, const GLvoid *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLSECONDARYCOLOR3BEXTPROC) (GLbyte red, GLbyte green, GLbyte blue);
-typedef void (APIENTRY * PFNGLSECONDARYCOLOR3BVEXTPROC) (const GLbyte *v);
-typedef void (APIENTRY * PFNGLSECONDARYCOLOR3DEXTPROC) (GLdouble red, GLdouble green, GLdouble blue);
-typedef void (APIENTRY * PFNGLSECONDARYCOLOR3DVEXTPROC) (const GLdouble *v);
-typedef void (APIENTRY * PFNGLSECONDARYCOLOR3FEXTPROC) (GLfloat red, GLfloat green, GLfloat blue);
-typedef void (APIENTRY * PFNGLSECONDARYCOLOR3FVEXTPROC) (const GLfloat *v);
-typedef void (APIENTRY * PFNGLSECONDARYCOLOR3IEXTPROC) (GLint red, GLint green, GLint blue);
-typedef void (APIENTRY * PFNGLSECONDARYCOLOR3IVEXTPROC) (const GLint *v);
-typedef void (APIENTRY * PFNGLSECONDARYCOLOR3SEXTPROC) (GLshort red, GLshort green, GLshort blue);
-typedef void (APIENTRY * PFNGLSECONDARYCOLOR3SVEXTPROC) (const GLshort *v);
-typedef void (APIENTRY * PFNGLSECONDARYCOLOR3UBEXTPROC) (GLubyte red, GLubyte green, GLubyte blue);
-typedef void (APIENTRY * PFNGLSECONDARYCOLOR3UBVEXTPROC) (const GLubyte *v);
-typedef void (APIENTRY * PFNGLSECONDARYCOLOR3UIEXTPROC) (GLuint red, GLuint green, GLuint blue);
-typedef void (APIENTRY * PFNGLSECONDARYCOLOR3UIVEXTPROC) (const GLuint *v);
-typedef void (APIENTRY * PFNGLSECONDARYCOLOR3USEXTPROC) (GLushort red, GLushort green, GLushort blue);
-typedef void (APIENTRY * PFNGLSECONDARYCOLOR3USVEXTPROC) (const GLushort *v);
-typedef void (APIENTRY * PFNGLSECONDARYCOLORPOINTEREXTPROC) (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
-#endif
-
-#ifndef GL_EXT_texture_perturb_normal
-#define GL_EXT_texture_perturb_normal 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glTextureNormalEXT (GLenum);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLTEXTURENORMALEXTPROC) (GLenum mode);
-#endif
-
-#ifndef GL_EXT_multi_draw_arrays
-#define GL_EXT_multi_draw_arrays 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glMultiDrawArraysEXT (GLenum, GLint *, GLsizei *, GLsizei);
-GLAPI void APIENTRY glMultiDrawElementsEXT (GLenum, const GLsizei *, GLenum, const GLvoid* *, GLsizei);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLMULTIDRAWARRAYSEXTPROC) (GLenum mode, GLint *first, GLsizei *count, GLsizei primcount);
-typedef void (APIENTRY * PFNGLMULTIDRAWELEMENTSEXTPROC) (GLenum mode, const GLsizei *count, GLenum type, const GLvoid* *indices, GLsizei primcount);
-#endif
-
-#ifndef GL_EXT_fog_coord
-#define GL_EXT_fog_coord 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glFogCoordfEXT (GLfloat);
-GLAPI void APIENTRY glFogCoordfvEXT (const GLfloat *);
-GLAPI void APIENTRY glFogCoorddEXT (GLdouble);
-GLAPI void APIENTRY glFogCoorddvEXT (const GLdouble *);
-GLAPI void APIENTRY glFogCoordPointerEXT (GLenum, GLsizei, const GLvoid *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLFOGCOORDFEXTPROC) (GLfloat coord);
-typedef void (APIENTRY * PFNGLFOGCOORDFVEXTPROC) (const GLfloat *coord);
-typedef void (APIENTRY * PFNGLFOGCOORDDEXTPROC) (GLdouble coord);
-typedef void (APIENTRY * PFNGLFOGCOORDDVEXTPROC) (const GLdouble *coord);
-typedef void (APIENTRY * PFNGLFOGCOORDPOINTEREXTPROC) (GLenum type, GLsizei stride, const GLvoid *pointer);
-#endif
-
-#ifndef GL_REND_screen_coordinates
-#define GL_REND_screen_coordinates 1
-#endif
-
-#ifndef GL_EXT_coordinate_frame
-#define GL_EXT_coordinate_frame 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glTangent3bEXT (GLbyte, GLbyte, GLbyte);
-GLAPI void APIENTRY glTangent3bvEXT (const GLbyte *);
-GLAPI void APIENTRY glTangent3dEXT (GLdouble, GLdouble, GLdouble);
-GLAPI void APIENTRY glTangent3dvEXT (const GLdouble *);
-GLAPI void APIENTRY glTangent3fEXT (GLfloat, GLfloat, GLfloat);
-GLAPI void APIENTRY glTangent3fvEXT (const GLfloat *);
-GLAPI void APIENTRY glTangent3iEXT (GLint, GLint, GLint);
-GLAPI void APIENTRY glTangent3ivEXT (const GLint *);
-GLAPI void APIENTRY glTangent3sEXT (GLshort, GLshort, GLshort);
-GLAPI void APIENTRY glTangent3svEXT (const GLshort *);
-GLAPI void APIENTRY glBinormal3bEXT (GLbyte, GLbyte, GLbyte);
-GLAPI void APIENTRY glBinormal3bvEXT (const GLbyte *);
-GLAPI void APIENTRY glBinormal3dEXT (GLdouble, GLdouble, GLdouble);
-GLAPI void APIENTRY glBinormal3dvEXT (const GLdouble *);
-GLAPI void APIENTRY glBinormal3fEXT (GLfloat, GLfloat, GLfloat);
-GLAPI void APIENTRY glBinormal3fvEXT (const GLfloat *);
-GLAPI void APIENTRY glBinormal3iEXT (GLint, GLint, GLint);
-GLAPI void APIENTRY glBinormal3ivEXT (const GLint *);
-GLAPI void APIENTRY glBinormal3sEXT (GLshort, GLshort, GLshort);
-GLAPI void APIENTRY glBinormal3svEXT (const GLshort *);
-GLAPI void APIENTRY glTangentPointerEXT (GLenum, GLsizei, const GLvoid *);
-GLAPI void APIENTRY glBinormalPointerEXT (GLenum, GLsizei, const GLvoid *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLTANGENT3BEXTPROC) (GLbyte tx, GLbyte ty, GLbyte tz);
-typedef void (APIENTRY * PFNGLTANGENT3BVEXTPROC) (const GLbyte *v);
-typedef void (APIENTRY * PFNGLTANGENT3DEXTPROC) (GLdouble tx, GLdouble ty, GLdouble tz);
-typedef void (APIENTRY * PFNGLTANGENT3DVEXTPROC) (const GLdouble *v);
-typedef void (APIENTRY * PFNGLTANGENT3FEXTPROC) (GLfloat tx, GLfloat ty, GLfloat tz);
-typedef void (APIENTRY * PFNGLTANGENT3FVEXTPROC) (const GLfloat *v);
-typedef void (APIENTRY * PFNGLTANGENT3IEXTPROC) (GLint tx, GLint ty, GLint tz);
-typedef void (APIENTRY * PFNGLTANGENT3IVEXTPROC) (const GLint *v);
-typedef void (APIENTRY * PFNGLTANGENT3SEXTPROC) (GLshort tx, GLshort ty, GLshort tz);
-typedef void (APIENTRY * PFNGLTANGENT3SVEXTPROC) (const GLshort *v);
-typedef void (APIENTRY * PFNGLBINORMAL3BEXTPROC) (GLbyte bx, GLbyte by, GLbyte bz);
-typedef void (APIENTRY * PFNGLBINORMAL3BVEXTPROC) (const GLbyte *v);
-typedef void (APIENTRY * PFNGLBINORMAL3DEXTPROC) (GLdouble bx, GLdouble by, GLdouble bz);
-typedef void (APIENTRY * PFNGLBINORMAL3DVEXTPROC) (const GLdouble *v);
-typedef void (APIENTRY * PFNGLBINORMAL3FEXTPROC) (GLfloat bx, GLfloat by, GLfloat bz);
-typedef void (APIENTRY * PFNGLBINORMAL3FVEXTPROC) (const GLfloat *v);
-typedef void (APIENTRY * PFNGLBINORMAL3IEXTPROC) (GLint bx, GLint by, GLint bz);
-typedef void (APIENTRY * PFNGLBINORMAL3IVEXTPROC) (const GLint *v);
-typedef void (APIENTRY * PFNGLBINORMAL3SEXTPROC) (GLshort bx, GLshort by, GLshort bz);
-typedef void (APIENTRY * PFNGLBINORMAL3SVEXTPROC) (const GLshort *v);
-typedef void (APIENTRY * PFNGLTANGENTPOINTEREXTPROC) (GLenum type, GLsizei stride, const GLvoid *pointer);
-typedef void (APIENTRY * PFNGLBINORMALPOINTEREXTPROC) (GLenum type, GLsizei stride, const GLvoid *pointer);
-#endif
-
-#ifndef GL_EXT_texture_env_combine
-#define GL_EXT_texture_env_combine 1
-#endif
-
-#ifndef GL_APPLE_specular_vector
-#define GL_APPLE_specular_vector 1
-#endif
-
-#ifndef GL_APPLE_transform_hint
-#define GL_APPLE_transform_hint 1
-#endif
-
-#ifndef GL_SGIX_fog_scale
-#define GL_SGIX_fog_scale 1
-#endif
-
-#ifndef GL_SUNX_constant_data
-#define GL_SUNX_constant_data 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glFinishTextureSUNX (void);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLFINISHTEXTURESUNXPROC) (void);
-#endif
-
-#ifndef GL_SUN_global_alpha
-#define GL_SUN_global_alpha 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glGlobalAlphaFactorbSUN (GLbyte);
-GLAPI void APIENTRY glGlobalAlphaFactorsSUN (GLshort);
-GLAPI void APIENTRY glGlobalAlphaFactoriSUN (GLint);
-GLAPI void APIENTRY glGlobalAlphaFactorfSUN (GLfloat);
-GLAPI void APIENTRY glGlobalAlphaFactordSUN (GLdouble);
-GLAPI void APIENTRY glGlobalAlphaFactorubSUN (GLubyte);
-GLAPI void APIENTRY glGlobalAlphaFactorusSUN (GLushort);
-GLAPI void APIENTRY glGlobalAlphaFactoruiSUN (GLuint);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLGLOBALALPHAFACTORBSUNPROC) (GLbyte factor);
-typedef void (APIENTRY * PFNGLGLOBALALPHAFACTORSSUNPROC) (GLshort factor);
-typedef void (APIENTRY * PFNGLGLOBALALPHAFACTORISUNPROC) (GLint factor);
-typedef void (APIENTRY * PFNGLGLOBALALPHAFACTORFSUNPROC) (GLfloat factor);
-typedef void (APIENTRY * PFNGLGLOBALALPHAFACTORDSUNPROC) (GLdouble factor);
-typedef void (APIENTRY * PFNGLGLOBALALPHAFACTORUBSUNPROC) (GLubyte factor);
-typedef void (APIENTRY * PFNGLGLOBALALPHAFACTORUSSUNPROC) (GLushort factor);
-typedef void (APIENTRY * PFNGLGLOBALALPHAFACTORUISUNPROC) (GLuint factor);
-#endif
-
-#ifndef GL_SUN_triangle_list
-#define GL_SUN_triangle_list 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glReplacementCodeuiSUN (GLuint);
-GLAPI void APIENTRY glReplacementCodeusSUN (GLushort);
-GLAPI void APIENTRY glReplacementCodeubSUN (GLubyte);
-GLAPI void APIENTRY glReplacementCodeuivSUN (const GLuint *);
-GLAPI void APIENTRY glReplacementCodeusvSUN (const GLushort *);
-GLAPI void APIENTRY glReplacementCodeubvSUN (const GLubyte *);
-GLAPI void APIENTRY glReplacementCodePointerSUN (GLenum, GLsizei, const GLvoid* *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLREPLACEMENTCODEUISUNPROC) (GLuint code);
-typedef void (APIENTRY * PFNGLREPLACEMENTCODEUSSUNPROC) (GLushort code);
-typedef void (APIENTRY * PFNGLREPLACEMENTCODEUBSUNPROC) (GLubyte code);
-typedef void (APIENTRY * PFNGLREPLACEMENTCODEUIVSUNPROC) (const GLuint *code);
-typedef void (APIENTRY * PFNGLREPLACEMENTCODEUSVSUNPROC) (const GLushort *code);
-typedef void (APIENTRY * PFNGLREPLACEMENTCODEUBVSUNPROC) (const GLubyte *code);
-typedef void (APIENTRY * PFNGLREPLACEMENTCODEPOINTERSUNPROC) (GLenum type, GLsizei stride, const GLvoid* *pointer);
-#endif
-
-#ifndef GL_SUN_vertex
-#define GL_SUN_vertex 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glColor4ubVertex2fSUN (GLubyte, GLubyte, GLubyte, GLubyte, GLfloat, GLfloat);
-GLAPI void APIENTRY glColor4ubVertex2fvSUN (const GLubyte *, const GLfloat *);
-GLAPI void APIENTRY glColor4ubVertex3fSUN (GLubyte, GLubyte, GLubyte, GLubyte, GLfloat, GLfloat, GLfloat);
-GLAPI void APIENTRY glColor4ubVertex3fvSUN (const GLubyte *, const GLfloat *);
-GLAPI void APIENTRY glColor3fVertex3fSUN (GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
-GLAPI void APIENTRY glColor3fVertex3fvSUN (const GLfloat *, const GLfloat *);
-GLAPI void APIENTRY glNormal3fVertex3fSUN (GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
-GLAPI void APIENTRY glNormal3fVertex3fvSUN (const GLfloat *, const GLfloat *);
-GLAPI void APIENTRY glColor4fNormal3fVertex3fSUN (GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
-GLAPI void APIENTRY glColor4fNormal3fVertex3fvSUN (const GLfloat *, const GLfloat *, const GLfloat *);
-GLAPI void APIENTRY glTexCoord2fVertex3fSUN (GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
-GLAPI void APIENTRY glTexCoord2fVertex3fvSUN (const GLfloat *, const GLfloat *);
-GLAPI void APIENTRY glTexCoord4fVertex4fSUN (GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
-GLAPI void APIENTRY glTexCoord4fVertex4fvSUN (const GLfloat *, const GLfloat *);
-GLAPI void APIENTRY glTexCoord2fColor4ubVertex3fSUN (GLfloat, GLfloat, GLubyte, GLubyte, GLubyte, GLubyte, GLfloat, GLfloat, GLfloat);
-GLAPI void APIENTRY glTexCoord2fColor4ubVertex3fvSUN (const GLfloat *, const GLubyte *, const GLfloat *);
-GLAPI void APIENTRY glTexCoord2fColor3fVertex3fSUN (GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
-GLAPI void APIENTRY glTexCoord2fColor3fVertex3fvSUN (const GLfloat *, const GLfloat *, const GLfloat *);
-GLAPI void APIENTRY glTexCoord2fNormal3fVertex3fSUN (GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
-GLAPI void APIENTRY glTexCoord2fNormal3fVertex3fvSUN (const GLfloat *, const GLfloat *, const GLfloat *);
-GLAPI void APIENTRY glTexCoord2fColor4fNormal3fVertex3fSUN (GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
-GLAPI void APIENTRY glTexCoord2fColor4fNormal3fVertex3fvSUN (const GLfloat *, const GLfloat *, const GLfloat *, const GLfloat *);
-GLAPI void APIENTRY glTexCoord4fColor4fNormal3fVertex4fSUN (GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
-GLAPI void APIENTRY glTexCoord4fColor4fNormal3fVertex4fvSUN (const GLfloat *, const GLfloat *, const GLfloat *, const GLfloat *);
-GLAPI void APIENTRY glReplacementCodeuiVertex3fSUN (GLenum, GLfloat, GLfloat, GLfloat);
-GLAPI void APIENTRY glReplacementCodeuiVertex3fvSUN (const GLenum *, const GLfloat *);
-GLAPI void APIENTRY glReplacementCodeuiColor4ubVertex3fSUN (GLenum, GLubyte, GLubyte, GLubyte, GLubyte, GLfloat, GLfloat, GLfloat);
-GLAPI void APIENTRY glReplacementCodeuiColor4ubVertex3fvSUN (const GLenum *, const GLubyte *, const GLfloat *);
-GLAPI void APIENTRY glReplacementCodeuiColor3fVertex3fSUN (GLenum, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
-GLAPI void APIENTRY glReplacementCodeuiColor3fVertex3fvSUN (const GLenum *, const GLfloat *, const GLfloat *);
-GLAPI void APIENTRY glReplacementCodeuiNormal3fVertex3fSUN (GLenum, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
-GLAPI void APIENTRY glReplacementCodeuiNormal3fVertex3fvSUN (const GLenum *, const GLfloat *, const GLfloat *);
-GLAPI void APIENTRY glReplacementCodeuiColor4fNormal3fVertex3fSUN (GLenum, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
-GLAPI void APIENTRY glReplacementCodeuiColor4fNormal3fVertex3fvSUN (const GLenum *, const GLfloat *, const GLfloat *, const GLfloat *);
-GLAPI void APIENTRY glReplacementCodeuiTexCoord2fVertex3fSUN (GLenum, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
-GLAPI void APIENTRY glReplacementCodeuiTexCoord2fVertex3fvSUN (const GLenum *, const GLfloat *, const GLfloat *);
-GLAPI void APIENTRY glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN (GLenum, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
-GLAPI void APIENTRY glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN (const GLenum *, const GLfloat *, const GLfloat *, const GLfloat *);
-GLAPI void APIENTRY glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN (GLenum, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
-GLAPI void APIENTRY glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN (const GLenum *, const GLfloat *, const GLfloat *, const GLfloat *, const GLfloat *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLCOLOR4UBVERTEX2FSUNPROC) (GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y);
-typedef void (APIENTRY * PFNGLCOLOR4UBVERTEX2FVSUNPROC) (const GLubyte *c, const GLfloat *v);
-typedef void (APIENTRY * PFNGLCOLOR4UBVERTEX3FSUNPROC) (GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y, GLfloat z);
-typedef void (APIENTRY * PFNGLCOLOR4UBVERTEX3FVSUNPROC) (const GLubyte *c, const GLfloat *v);
-typedef void (APIENTRY * PFNGLCOLOR3FVERTEX3FSUNPROC) (GLfloat r, GLfloat g, GLfloat b, GLfloat x, GLfloat y, GLfloat z);
-typedef void (APIENTRY * PFNGLCOLOR3FVERTEX3FVSUNPROC) (const GLfloat *c, const GLfloat *v);
-typedef void (APIENTRY * PFNGLNORMAL3FVERTEX3FSUNPROC) (GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);
-typedef void (APIENTRY * PFNGLNORMAL3FVERTEX3FVSUNPROC) (const GLfloat *n, const GLfloat *v);
-typedef void (APIENTRY * PFNGLCOLOR4FNORMAL3FVERTEX3FSUNPROC) (GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);
-typedef void (APIENTRY * PFNGLCOLOR4FNORMAL3FVERTEX3FVSUNPROC) (const GLfloat *c, const GLfloat *n, const GLfloat *v);
-typedef void (APIENTRY * PFNGLTEXCOORD2FVERTEX3FSUNPROC) (GLfloat s, GLfloat t, GLfloat x, GLfloat y, GLfloat z);
-typedef void (APIENTRY * PFNGLTEXCOORD2FVERTEX3FVSUNPROC) (const GLfloat *tc, const GLfloat *v);
-typedef void (APIENTRY * PFNGLTEXCOORD4FVERTEX4FSUNPROC) (GLfloat s, GLfloat t, GLfloat p, GLfloat q, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
-typedef void (APIENTRY * PFNGLTEXCOORD4FVERTEX4FVSUNPROC) (const GLfloat *tc, const GLfloat *v);
-typedef void (APIENTRY * PFNGLTEXCOORD2FCOLOR4UBVERTEX3FSUNPROC) (GLfloat s, GLfloat t, GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y, GLfloat z);
-typedef void (APIENTRY * PFNGLTEXCOORD2FCOLOR4UBVERTEX3FVSUNPROC) (const GLfloat *tc, const GLubyte *c, const GLfloat *v);
-typedef void (APIENTRY * PFNGLTEXCOORD2FCOLOR3FVERTEX3FSUNPROC) (GLfloat s, GLfloat t, GLfloat r, GLfloat g, GLfloat b, GLfloat x, GLfloat y, GLfloat z);
-typedef void (APIENTRY * PFNGLTEXCOORD2FCOLOR3FVERTEX3FVSUNPROC) (const GLfloat *tc, const GLfloat *c, const GLfloat *v);
-typedef void (APIENTRY * PFNGLTEXCOORD2FNORMAL3FVERTEX3FSUNPROC) (GLfloat s, GLfloat t, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);
-typedef void (APIENTRY * PFNGLTEXCOORD2FNORMAL3FVERTEX3FVSUNPROC) (const GLfloat *tc, const GLfloat *n, const GLfloat *v);
-typedef void (APIENTRY * PFNGLTEXCOORD2FCOLOR4FNORMAL3FVERTEX3FSUNPROC) (GLfloat s, GLfloat t, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);
-typedef void (APIENTRY * PFNGLTEXCOORD2FCOLOR4FNORMAL3FVERTEX3FVSUNPROC) (const GLfloat *tc, const GLfloat *c, const GLfloat *n, const GLfloat *v);
-typedef void (APIENTRY * PFNGLTEXCOORD4FCOLOR4FNORMAL3FVERTEX4FSUNPROC) (GLfloat s, GLfloat t, GLfloat p, GLfloat q, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
-typedef void (APIENTRY * PFNGLTEXCOORD4FCOLOR4FNORMAL3FVERTEX4FVSUNPROC) (const GLfloat *tc, const GLfloat *c, const GLfloat *n, const GLfloat *v);
-typedef void (APIENTRY * PFNGLREPLACEMENTCODEUIVERTEX3FSUNPROC) (GLenum rc, GLfloat x, GLfloat y, GLfloat z);
-typedef void (APIENTRY * PFNGLREPLACEMENTCODEUIVERTEX3FVSUNPROC) (const GLenum *rc, const GLfloat *v);
-typedef void (APIENTRY * PFNGLREPLACEMENTCODEUICOLOR4UBVERTEX3FSUNPROC) (GLenum rc, GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y, GLfloat z);
-typedef void (APIENTRY * PFNGLREPLACEMENTCODEUICOLOR4UBVERTEX3FVSUNPROC) (const GLenum *rc, const GLubyte *c, const GLfloat *v);
-typedef void (APIENTRY * PFNGLREPLACEMENTCODEUICOLOR3FVERTEX3FSUNPROC) (GLenum rc, GLfloat r, GLfloat g, GLfloat b, GLfloat x, GLfloat y, GLfloat z);
-typedef void (APIENTRY * PFNGLREPLACEMENTCODEUICOLOR3FVERTEX3FVSUNPROC) (const GLenum *rc, const GLfloat *c, const GLfloat *v);
-typedef void (APIENTRY * PFNGLREPLACEMENTCODEUINORMAL3FVERTEX3FSUNPROC) (GLenum rc, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);
-typedef void (APIENTRY * PFNGLREPLACEMENTCODEUINORMAL3FVERTEX3FVSUNPROC) (const GLenum *rc, const GLfloat *n, const GLfloat *v);
-typedef void (APIENTRY * PFNGLREPLACEMENTCODEUICOLOR4FNORMAL3FVERTEX3FSUNPROC) (GLenum rc, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);
-typedef void (APIENTRY * PFNGLREPLACEMENTCODEUICOLOR4FNORMAL3FVERTEX3FVSUNPROC) (const GLenum *rc, const GLfloat *c, const GLfloat *n, const GLfloat *v);
-typedef void (APIENTRY * PFNGLREPLACEMENTCODEUITEXCOORD2FVERTEX3FSUNPROC) (GLenum rc, GLfloat s, GLfloat t, GLfloat x, GLfloat y, GLfloat z);
-typedef void (APIENTRY * PFNGLREPLACEMENTCODEUITEXCOORD2FVERTEX3FVSUNPROC) (const GLenum *rc, const GLfloat *tc, const GLfloat *v);
-typedef void (APIENTRY * PFNGLREPLACEMENTCODEUITEXCOORD2FNORMAL3FVERTEX3FSUNPROC) (GLenum rc, GLfloat s, GLfloat t, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);
-typedef void (APIENTRY * PFNGLREPLACEMENTCODEUITEXCOORD2FNORMAL3FVERTEX3FVSUNPROC) (const GLenum *rc, const GLfloat *tc, const GLfloat *n, const GLfloat *v);
-typedef void (APIENTRY * PFNGLREPLACEMENTCODEUITEXCOORD2FCOLOR4FNORMAL3FVERTEX3FSUNPROC) (GLenum rc, GLfloat s, GLfloat t, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);
-typedef void (APIENTRY * PFNGLREPLACEMENTCODEUITEXCOORD2FCOLOR4FNORMAL3FVERTEX3FVSUNPROC) (const GLenum *rc, const GLfloat *tc, const GLfloat *c, const GLfloat *n, const GLfloat *v);
-#endif
-
-#ifndef GL_EXT_blend_func_separate
-#define GL_EXT_blend_func_separate 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glBlendFuncSeparateEXT (GLenum, GLenum, GLenum, GLenum);
-GLAPI void APIENTRY glBlendFuncSeparateINGR (GLenum, GLenum, GLenum, GLenum);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLBLENDFUNCSEPARATEEXTPROC) (GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);
-typedef void (APIENTRY * PFNGLBLENDFUNCSEPARATEINGRPROC) (GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);
-#endif
-
-#ifndef GL_INGR_color_clamp
-#define GL_INGR_color_clamp 1
-#endif
-
-#ifndef GL_INGR_interlace_read
-#define GL_INGR_interlace_read 1
-#endif
-
-#ifndef GL_EXT_stencil_wrap
-#define GL_EXT_stencil_wrap 1
-#endif
-
-#ifndef GL_EXT_422_pixels
-#define GL_EXT_422_pixels 1
-#endif
-
-#ifndef GL_NV_texgen_reflection
-#define GL_NV_texgen_reflection 1
-#endif
-
-#ifndef GL_SUN_convolution_border_modes
-#define GL_SUN_convolution_border_modes 1
-#endif
-
-#ifndef GL_EXT_texture_env_add
-#define GL_EXT_texture_env_add 1
-#endif
-
-#ifndef GL_EXT_texture_lod_bias
-#define GL_EXT_texture_lod_bias 1
-#endif
-
-#ifndef GL_EXT_texture_filter_anisotropic
-#define GL_EXT_texture_filter_anisotropic 1
-#endif
-
-#ifndef GL_EXT_vertex_weighting
-#define GL_EXT_vertex_weighting 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glVertexWeightfEXT (GLfloat);
-GLAPI void APIENTRY glVertexWeightfvEXT (const GLfloat *);
-GLAPI void APIENTRY glVertexWeightPointerEXT (GLsizei, GLenum, GLsizei, const GLvoid *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLVERTEXWEIGHTFEXTPROC) (GLfloat weight);
-typedef void (APIENTRY * PFNGLVERTEXWEIGHTFVEXTPROC) (const GLfloat *weight);
-typedef void (APIENTRY * PFNGLVERTEXWEIGHTPOINTEREXTPROC) (GLsizei size, GLenum type, GLsizei stride, const GLvoid *pointer);
-#endif
-
-#ifndef GL_NV_light_max_exponent
-#define GL_NV_light_max_exponent 1
-#endif
-
-#ifndef GL_NV_vertex_array_range
-#define GL_NV_vertex_array_range 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glFlushVertexArrayRangeNV (void);
-GLAPI void APIENTRY glVertexArrayRangeNV (GLsizei, const GLvoid *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLFLUSHVERTEXARRAYRANGENVPROC) (void);
-typedef void (APIENTRY * PFNGLVERTEXARRAYRANGENVPROC) (GLsizei length, const GLvoid *pointer);
-#endif
-
-#ifndef GL_NV_register_combiners
-#define GL_NV_register_combiners 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glCombinerParameterfvNV (GLenum, const GLfloat *);
-GLAPI void APIENTRY glCombinerParameterfNV (GLenum, GLfloat);
-GLAPI void APIENTRY glCombinerParameterivNV (GLenum, const GLint *);
-GLAPI void APIENTRY glCombinerParameteriNV (GLenum, GLint);
-GLAPI void APIENTRY glCombinerInputNV (GLenum, GLenum, GLenum, GLenum, GLenum, GLenum);
-GLAPI void APIENTRY glCombinerOutputNV (GLenum, GLenum, GLenum, GLenum, GLenum, GLenum, GLenum, GLboolean, GLboolean, GLboolean);
-GLAPI void APIENTRY glFinalCombinerInputNV (GLenum, GLenum, GLenum, GLenum);
-GLAPI void APIENTRY glGetCombinerInputParameterfvNV (GLenum, GLenum, GLenum, GLenum, GLfloat *);
-GLAPI void APIENTRY glGetCombinerInputParameterivNV (GLenum, GLenum, GLenum, GLenum, GLint *);
-GLAPI void APIENTRY glGetCombinerOutputParameterfvNV (GLenum, GLenum, GLenum, GLfloat *);
-GLAPI void APIENTRY glGetCombinerOutputParameterivNV (GLenum, GLenum, GLenum, GLint *);
-GLAPI void APIENTRY glGetFinalCombinerInputParameterfvNV (GLenum, GLenum, GLfloat *);
-GLAPI void APIENTRY glGetFinalCombinerInputParameterivNV (GLenum, GLenum, GLint *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLCOMBINERPARAMETERFVNVPROC) (GLenum pname, const GLfloat *params);
-typedef void (APIENTRY * PFNGLCOMBINERPARAMETERFNVPROC) (GLenum pname, GLfloat param);
-typedef void (APIENTRY * PFNGLCOMBINERPARAMETERIVNVPROC) (GLenum pname, const GLint *params);
-typedef void (APIENTRY * PFNGLCOMBINERPARAMETERINVPROC) (GLenum pname, GLint param);
-typedef void (APIENTRY * PFNGLCOMBINERINPUTNVPROC) (GLenum stage, GLenum portion, GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage);
-typedef void (APIENTRY * PFNGLCOMBINEROUTPUTNVPROC) (GLenum stage, GLenum portion, GLenum abOutput, GLenum cdOutput, GLenum sumOutput, GLenum scale, GLenum bias, GLboolean abDotProduct, GLboolean cdDotProduct, GLboolean muxSum);
-typedef void (APIENTRY * PFNGLFINALCOMBINERINPUTNVPROC) (GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage);
-typedef void (APIENTRY * PFNGLGETCOMBINERINPUTPARAMETERFVNVPROC) (GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLfloat *params);
-typedef void (APIENTRY * PFNGLGETCOMBINERINPUTPARAMETERIVNVPROC) (GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLint *params);
-typedef void (APIENTRY * PFNGLGETCOMBINEROUTPUTPARAMETERFVNVPROC) (GLenum stage, GLenum portion, GLenum pname, GLfloat *params);
-typedef void (APIENTRY * PFNGLGETCOMBINEROUTPUTPARAMETERIVNVPROC) (GLenum stage, GLenum portion, GLenum pname, GLint *params);
-typedef void (APIENTRY * PFNGLGETFINALCOMBINERINPUTPARAMETERFVNVPROC) (GLenum variable, GLenum pname, GLfloat *params);
-typedef void (APIENTRY * PFNGLGETFINALCOMBINERINPUTPARAMETERIVNVPROC) (GLenum variable, GLenum pname, GLint *params);
-#endif
-
-#ifndef GL_NV_fog_distance
-#define GL_NV_fog_distance 1
-#endif
-
-#ifndef GL_NV_texgen_emboss
-#define GL_NV_texgen_emboss 1
-#endif
-
-#ifndef GL_NV_blend_square
-#define GL_NV_blend_square 1
-#endif
-
-#ifndef GL_NV_texture_env_combine4
-#define GL_NV_texture_env_combine4 1
-#endif
-
-#ifndef GL_MESA_resize_buffers
-#define GL_MESA_resize_buffers 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glResizeBuffersMESA (void);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLRESIZEBUFFERSMESAPROC) (void);
-#endif
-
-#ifndef GL_MESA_window_pos
-#define GL_MESA_window_pos 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glWindowPos2dMESA (GLdouble, GLdouble);
-GLAPI void APIENTRY glWindowPos2dvMESA (const GLdouble *);
-GLAPI void APIENTRY glWindowPos2fMESA (GLfloat, GLfloat);
-GLAPI void APIENTRY glWindowPos2fvMESA (const GLfloat *);
-GLAPI void APIENTRY glWindowPos2iMESA (GLint, GLint);
-GLAPI void APIENTRY glWindowPos2ivMESA (const GLint *);
-GLAPI void APIENTRY glWindowPos2sMESA (GLshort, GLshort);
-GLAPI void APIENTRY glWindowPos2svMESA (const GLshort *);
-GLAPI void APIENTRY glWindowPos3dMESA (GLdouble, GLdouble, GLdouble);
-GLAPI void APIENTRY glWindowPos3dvMESA (const GLdouble *);
-GLAPI void APIENTRY glWindowPos3fMESA (GLfloat, GLfloat, GLfloat);
-GLAPI void APIENTRY glWindowPos3fvMESA (const GLfloat *);
-GLAPI void APIENTRY glWindowPos3iMESA (GLint, GLint, GLint);
-GLAPI void APIENTRY glWindowPos3ivMESA (const GLint *);
-GLAPI void APIENTRY glWindowPos3sMESA (GLshort, GLshort, GLshort);
-GLAPI void APIENTRY glWindowPos3svMESA (const GLshort *);
-GLAPI void APIENTRY glWindowPos4dMESA (GLdouble, GLdouble, GLdouble, GLdouble);
-GLAPI void APIENTRY glWindowPos4dvMESA (const GLdouble *);
-GLAPI void APIENTRY glWindowPos4fMESA (GLfloat, GLfloat, GLfloat, GLfloat);
-GLAPI void APIENTRY glWindowPos4fvMESA (const GLfloat *);
-GLAPI void APIENTRY glWindowPos4iMESA (GLint, GLint, GLint, GLint);
-GLAPI void APIENTRY glWindowPos4ivMESA (const GLint *);
-GLAPI void APIENTRY glWindowPos4sMESA (GLshort, GLshort, GLshort, GLshort);
-GLAPI void APIENTRY glWindowPos4svMESA (const GLshort *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLWINDOWPOS2DMESAPROC) (GLdouble x, GLdouble y);
-typedef void (APIENTRY * PFNGLWINDOWPOS2DVMESAPROC) (const GLdouble *v);
-typedef void (APIENTRY * PFNGLWINDOWPOS2FMESAPROC) (GLfloat x, GLfloat y);
-typedef void (APIENTRY * PFNGLWINDOWPOS2FVMESAPROC) (const GLfloat *v);
-typedef void (APIENTRY * PFNGLWINDOWPOS2IMESAPROC) (GLint x, GLint y);
-typedef void (APIENTRY * PFNGLWINDOWPOS2IVMESAPROC) (const GLint *v);
-typedef void (APIENTRY * PFNGLWINDOWPOS2SMESAPROC) (GLshort x, GLshort y);
-typedef void (APIENTRY * PFNGLWINDOWPOS2SVMESAPROC) (const GLshort *v);
-typedef void (APIENTRY * PFNGLWINDOWPOS3DMESAPROC) (GLdouble x, GLdouble y, GLdouble z);
-typedef void (APIENTRY * PFNGLWINDOWPOS3DVMESAPROC) (const GLdouble *v);
-typedef void (APIENTRY * PFNGLWINDOWPOS3FMESAPROC) (GLfloat x, GLfloat y, GLfloat z);
-typedef void (APIENTRY * PFNGLWINDOWPOS3FVMESAPROC) (const GLfloat *v);
-typedef void (APIENTRY * PFNGLWINDOWPOS3IMESAPROC) (GLint x, GLint y, GLint z);
-typedef void (APIENTRY * PFNGLWINDOWPOS3IVMESAPROC) (const GLint *v);
-typedef void (APIENTRY * PFNGLWINDOWPOS3SMESAPROC) (GLshort x, GLshort y, GLshort z);
-typedef void (APIENTRY * PFNGLWINDOWPOS3SVMESAPROC) (const GLshort *v);
-typedef void (APIENTRY * PFNGLWINDOWPOS4DMESAPROC) (GLdouble x, GLdouble y, GLdouble z, GLdouble w);
-typedef void (APIENTRY * PFNGLWINDOWPOS4DVMESAPROC) (const GLdouble *v);
-typedef void (APIENTRY * PFNGLWINDOWPOS4FMESAPROC) (GLfloat x, GLfloat y, GLfloat z, GLfloat w);
-typedef void (APIENTRY * PFNGLWINDOWPOS4FVMESAPROC) (const GLfloat *v);
-typedef void (APIENTRY * PFNGLWINDOWPOS4IMESAPROC) (GLint x, GLint y, GLint z, GLint w);
-typedef void (APIENTRY * PFNGLWINDOWPOS4IVMESAPROC) (const GLint *v);
-typedef void (APIENTRY * PFNGLWINDOWPOS4SMESAPROC) (GLshort x, GLshort y, GLshort z, GLshort w);
-typedef void (APIENTRY * PFNGLWINDOWPOS4SVMESAPROC) (const GLshort *v);
-#endif
-
-#ifndef GL_IBM_cull_vertex
-#define GL_IBM_cull_vertex 1
-#endif
-
-#ifndef GL_IBM_multimode_draw_arrays
-#define GL_IBM_multimode_draw_arrays 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glMultiModeDrawArraysIBM (GLenum, const GLint *, const GLsizei *, GLsizei, GLint);
-GLAPI void APIENTRY glMultiModeDrawElementsIBM (const GLenum *, const GLsizei *, GLenum, const GLvoid* *, GLsizei, GLint);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLMULTIMODEDRAWARRAYSIBMPROC) (GLenum mode, const GLint *first, const GLsizei *count, GLsizei primcount, GLint modestride);
-typedef void (APIENTRY * PFNGLMULTIMODEDRAWELEMENTSIBMPROC) (const GLenum *mode, const GLsizei *count, GLenum type, const GLvoid* *indices, GLsizei primcount, GLint modestride);
-#endif
-
-#ifndef GL_IBM_vertex_array_lists
-#define GL_IBM_vertex_array_lists 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glColorPointerListIBM (GLint, GLenum, GLint, const GLvoid* *, GLint);
-GLAPI void APIENTRY glSecondaryColorPointerListIBM (GLint, GLenum, GLint, const GLvoid* *, GLint);
-GLAPI void APIENTRY glEdgeFlagPointerListIBM (GLint, const GLboolean* *, GLint);
-GLAPI void APIENTRY glFogCoordPointerListIBM (GLenum, GLint, const GLvoid* *, GLint);
-GLAPI void APIENTRY glIndexPointerListIBM (GLenum, GLint, const GLvoid* *, GLint);
-GLAPI void APIENTRY glNormalPointerListIBM (GLenum, GLint, const GLvoid* *, GLint);
-GLAPI void APIENTRY glTexCoordPointerListIBM (GLint, GLenum, GLint, const GLvoid* *, GLint);
-GLAPI void APIENTRY glVertexPointerListIBM (GLint, GLenum, GLint, const GLvoid* *, GLint);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLCOLORPOINTERLISTIBMPROC) (GLint size, GLenum type, GLint stride, const GLvoid* *pointer, GLint ptrstride);
-typedef void (APIENTRY * PFNGLSECONDARYCOLORPOINTERLISTIBMPROC) (GLint size, GLenum type, GLint stride, const GLvoid* *pointer, GLint ptrstride);
-typedef void (APIENTRY * PFNGLEDGEFLAGPOINTERLISTIBMPROC) (GLint stride, const GLboolean* *pointer, GLint ptrstride);
-typedef void (APIENTRY * PFNGLFOGCOORDPOINTERLISTIBMPROC) (GLenum type, GLint stride, const GLvoid* *pointer, GLint ptrstride);
-typedef void (APIENTRY * PFNGLINDEXPOINTERLISTIBMPROC) (GLenum type, GLint stride, const GLvoid* *pointer, GLint ptrstride);
-typedef void (APIENTRY * PFNGLNORMALPOINTERLISTIBMPROC) (GLenum type, GLint stride, const GLvoid* *pointer, GLint ptrstride);
-typedef void (APIENTRY * PFNGLTEXCOORDPOINTERLISTIBMPROC) (GLint size, GLenum type, GLint stride, const GLvoid* *pointer, GLint ptrstride);
-typedef void (APIENTRY * PFNGLVERTEXPOINTERLISTIBMPROC) (GLint size, GLenum type, GLint stride, const GLvoid* *pointer, GLint ptrstride);
-#endif
-
-#ifndef GL_SGIX_subsample
-#define GL_SGIX_subsample 1
-#endif
-
-#ifndef GL_SGIX_ycrcba
-#define GL_SGIX_ycrcba 1
-#endif
-
-#ifndef GL_SGIX_ycrcb_subsample
-#define GL_SGIX_ycrcb_subsample 1
-#endif
-
-#ifndef GL_SGIX_depth_pass_instrument
-#define GL_SGIX_depth_pass_instrument 1
-#endif
-
-#ifndef GL_3DFX_texture_compression_FXT1
-#define GL_3DFX_texture_compression_FXT1 1
-#endif
-
-#ifndef GL_3DFX_multisample
-#define GL_3DFX_multisample 1
-#endif
-
-#ifndef GL_3DFX_tbuffer
-#define GL_3DFX_tbuffer 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glTbufferMask3DFX (GLuint);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLTBUFFERMASK3DFXPROC) (GLuint mask);
-#endif
-
-#ifndef GL_EXT_multisample
-#define GL_EXT_multisample 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glSampleMaskEXT (GLclampf, GLboolean);
-GLAPI void APIENTRY glSamplePatternEXT (GLenum);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLSAMPLEMASKEXTPROC) (GLclampf value, GLboolean invert);
-typedef void (APIENTRY * PFNGLSAMPLEPATTERNEXTPROC) (GLenum pattern);
-#endif
-
-#ifndef GL_SGIX_vertex_preclip
-#define GL_SGIX_vertex_preclip 1
-#endif
-
-#ifndef GL_SGIX_convolution_accuracy
-#define GL_SGIX_convolution_accuracy 1
-#endif
-
-#ifndef GL_SGIX_resample
-#define GL_SGIX_resample 1
-#endif
-
-#ifndef GL_SGIS_point_line_texgen
-#define GL_SGIS_point_line_texgen 1
-#endif
-
-#ifndef GL_SGIS_texture_color_mask
-#define GL_SGIS_texture_color_mask 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glTextureColorMaskSGIS (GLboolean, GLboolean, GLboolean, GLboolean);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLTEXTURECOLORMASKSGISPROC) (GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);
-#endif
-
-#ifndef GL_SGIX_igloo_interface
-#define GL_SGIX_igloo_interface 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glIglooInterfaceSGIX (GLenum, const GLvoid *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLIGLOOINTERFACESGIXPROC) (GLenum pname, const GLvoid *params);
-#endif
-
-#ifndef GL_NV_fence
-#define GL_NV_fence 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glDeleteFencesNV (GLsizei, const GLuint *);
-GLAPI void APIENTRY glGenFencesNV (GLsizei, GLuint *);
-GLAPI GLboolean APIENTRY glIsFenceNV (GLuint);
-GLAPI GLboolean APIENTRY glTestFenceNV (GLuint);
-GLAPI void APIENTRY glGetFenceivNV (GLuint, GLenum, GLint *);
-GLAPI void APIENTRY glFinishFenceNV (GLuint);
-GLAPI void APIENTRY glSetFenceNV (GLuint, GLenum);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLDELETEFENCESNVPROC) (GLsizei n, const GLuint *fences);
-typedef void (APIENTRY * PFNGLGENFENCESNVPROC) (GLsizei n, GLuint *fences);
-typedef GLboolean (APIENTRY * PFNGLISFENCENVPROC) (GLuint fence);
-typedef GLboolean (APIENTRY * PFNGLTESTFENCENVPROC) (GLuint fence);
-typedef void (APIENTRY * PFNGLGETFENCEIVNVPROC) (GLuint fence, GLenum pname, GLint *params);
-typedef void (APIENTRY * PFNGLFINISHFENCENVPROC) (GLuint fence);
-typedef void (APIENTRY * PFNGLSETFENCENVPROC) (GLuint fence, GLenum condition);
-#endif
-
-#ifndef GL_NV_evaluators
-#define GL_NV_evaluators 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glMapControlPointsNV (GLenum, GLuint, GLenum, GLsizei, GLsizei, GLint, GLint, GLboolean, const GLvoid *);
-GLAPI void APIENTRY glMapParameterivNV (GLenum, GLenum, const GLint *);
-GLAPI void APIENTRY glMapParameterfvNV (GLenum, GLenum, const GLfloat *);
-GLAPI void APIENTRY glGetMapControlPointsNV (GLenum, GLuint, GLenum, GLsizei, GLsizei, GLboolean, GLvoid *);
-GLAPI void APIENTRY glGetMapParameterivNV (GLenum, GLenum, GLint *);
-GLAPI void APIENTRY glGetMapParameterfvNV (GLenum, GLenum, GLfloat *);
-GLAPI void APIENTRY glGetMapAttribParameterivNV (GLenum, GLuint, GLenum, GLint *);
-GLAPI void APIENTRY glGetMapAttribParameterfvNV (GLenum, GLuint, GLenum, GLfloat *);
-GLAPI void APIENTRY glEvalMapsNV (GLenum, GLenum);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLMAPCONTROLPOINTSNVPROC) (GLenum target, GLuint index, GLenum type, GLsizei ustride, GLsizei vstride, GLint uorder, GLint vorder, GLboolean packed, const GLvoid *points);
-typedef void (APIENTRY * PFNGLMAPPARAMETERIVNVPROC) (GLenum target, GLenum pname, const GLint *params);
-typedef void (APIENTRY * PFNGLMAPPARAMETERFVNVPROC) (GLenum target, GLenum pname, const GLfloat *params);
-typedef void (APIENTRY * PFNGLGETMAPCONTROLPOINTSNVPROC) (GLenum target, GLuint index, GLenum type, GLsizei ustride, GLsizei vstride, GLboolean packed, GLvoid *points);
-typedef void (APIENTRY * PFNGLGETMAPPARAMETERIVNVPROC) (GLenum target, GLenum pname, GLint *params);
-typedef void (APIENTRY * PFNGLGETMAPPARAMETERFVNVPROC) (GLenum target, GLenum pname, GLfloat *params);
-typedef void (APIENTRY * PFNGLGETMAPATTRIBPARAMETERIVNVPROC) (GLenum target, GLuint index, GLenum pname, GLint *params);
-typedef void (APIENTRY * PFNGLGETMAPATTRIBPARAMETERFVNVPROC) (GLenum target, GLuint index, GLenum pname, GLfloat *params);
-typedef void (APIENTRY * PFNGLEVALMAPSNVPROC) (GLenum target, GLenum mode);
-#endif
-
-#ifndef GL_NV_packed_depth_stencil
-#define GL_NV_packed_depth_stencil 1
-#endif
-
-#ifndef GL_NV_register_combiners2
-#define GL_NV_register_combiners2 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glCombinerStageParameterfvNV (GLenum, GLenum, const GLfloat *);
-GLAPI void APIENTRY glGetCombinerStageParameterfvNV (GLenum, GLenum, GLfloat *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLCOMBINERSTAGEPARAMETERFVNVPROC) (GLenum stage, GLenum pname, const GLfloat *params);
-typedef void (APIENTRY * PFNGLGETCOMBINERSTAGEPARAMETERFVNVPROC) (GLenum stage, GLenum pname, GLfloat *params);
-#endif
-
-#ifndef GL_NV_texture_compression_vtc
-#define GL_NV_texture_compression_vtc 1
-#endif
-
-#ifndef GL_NV_texture_rectangle
-#define GL_NV_texture_rectangle 1
-#endif
-
-#ifndef GL_NV_texture_shader
-#define GL_NV_texture_shader 1
-#endif
-
-#ifndef GL_NV_texture_shader2
-#define GL_NV_texture_shader2 1
-#endif
-
-#ifndef GL_NV_vertex_array_range2
-#define GL_NV_vertex_array_range2 1
-#endif
-
-#ifndef GL_NV_vertex_program
-#define GL_NV_vertex_program 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI GLboolean APIENTRY glAreProgramsResidentNV (GLsizei, const GLuint *, GLboolean *);
-GLAPI void APIENTRY glBindProgramNV (GLenum, GLuint);
-GLAPI void APIENTRY glDeleteProgramsNV (GLsizei, const GLuint *);
-GLAPI void APIENTRY glExecuteProgramNV (GLenum, GLuint, const GLfloat *);
-GLAPI void APIENTRY glGenProgramsNV (GLsizei, GLuint *);
-GLAPI void APIENTRY glGetProgramParameterdvNV (GLenum, GLuint, GLenum, GLdouble *);
-GLAPI void APIENTRY glGetProgramParameterfvNV (GLenum, GLuint, GLenum, GLfloat *);
-GLAPI void APIENTRY glGetProgramivNV (GLuint, GLenum, GLint *);
-GLAPI void APIENTRY glGetProgramStringNV (GLuint, GLenum, GLubyte *);
-GLAPI void APIENTRY glGetTrackMatrixivNV (GLenum, GLuint, GLenum, GLint *);
-GLAPI void APIENTRY glGetVertexAttribdvNV (GLuint, GLenum, GLdouble *);
-GLAPI void APIENTRY glGetVertexAttribfvNV (GLuint, GLenum, GLfloat *);
-GLAPI void APIENTRY glGetVertexAttribivNV (GLuint, GLenum, GLint *);
-GLAPI void APIENTRY glGetVertexAttribPointervNV (GLuint, GLenum, GLvoid* *);
-GLAPI GLboolean APIENTRY glIsProgramNV (GLuint);
-GLAPI void APIENTRY glLoadProgramNV (GLenum, GLuint, GLsizei, const GLubyte *);
-GLAPI void APIENTRY glProgramParameter4dNV (GLenum, GLuint, GLdouble, GLdouble, GLdouble, GLdouble);
-GLAPI void APIENTRY glProgramParameter4dvNV (GLenum, GLuint, const GLdouble *);
-GLAPI void APIENTRY glProgramParameter4fNV (GLenum, GLuint, GLfloat, GLfloat, GLfloat, GLfloat);
-GLAPI void APIENTRY glProgramParameter4fvNV (GLenum, GLuint, const GLfloat *);
-GLAPI void APIENTRY glProgramParameters4dvNV (GLenum, GLuint, GLuint, const GLdouble *);
-GLAPI void APIENTRY glProgramParameters4fvNV (GLenum, GLuint, GLuint, const GLfloat *);
-GLAPI void APIENTRY glRequestResidentProgramsNV (GLsizei, const GLuint *);
-GLAPI void APIENTRY glTrackMatrixNV (GLenum, GLuint, GLenum, GLenum);
-GLAPI void APIENTRY glVertexAttribPointerNV (GLuint, GLint, GLenum, GLsizei, const GLvoid *);
-GLAPI void APIENTRY glVertexAttrib1dNV (GLuint, GLdouble);
-GLAPI void APIENTRY glVertexAttrib1dvNV (GLuint, const GLdouble *);
-GLAPI void APIENTRY glVertexAttrib1fNV (GLuint, GLfloat);
-GLAPI void APIENTRY glVertexAttrib1fvNV (GLuint, const GLfloat *);
-GLAPI void APIENTRY glVertexAttrib1sNV (GLuint, GLshort);
-GLAPI void APIENTRY glVertexAttrib1svNV (GLuint, const GLshort *);
-GLAPI void APIENTRY glVertexAttrib2dNV (GLuint, GLdouble, GLdouble);
-GLAPI void APIENTRY glVertexAttrib2dvNV (GLuint, const GLdouble *);
-GLAPI void APIENTRY glVertexAttrib2fNV (GLuint, GLfloat, GLfloat);
-GLAPI void APIENTRY glVertexAttrib2fvNV (GLuint, const GLfloat *);
-GLAPI void APIENTRY glVertexAttrib2sNV (GLuint, GLshort, GLshort);
-GLAPI void APIENTRY glVertexAttrib2svNV (GLuint, const GLshort *);
-GLAPI void APIENTRY glVertexAttrib3dNV (GLuint, GLdouble, GLdouble, GLdouble);
-GLAPI void APIENTRY glVertexAttrib3dvNV (GLuint, const GLdouble *);
-GLAPI void APIENTRY glVertexAttrib3fNV (GLuint, GLfloat, GLfloat, GLfloat);
-GLAPI void APIENTRY glVertexAttrib3fvNV (GLuint, const GLfloat *);
-GLAPI void APIENTRY glVertexAttrib3sNV (GLuint, GLshort, GLshort, GLshort);
-GLAPI void APIENTRY glVertexAttrib3svNV (GLuint, const GLshort *);
-GLAPI void APIENTRY glVertexAttrib4dNV (GLuint, GLdouble, GLdouble, GLdouble, GLdouble);
-GLAPI void APIENTRY glVertexAttrib4dvNV (GLuint, const GLdouble *);
-GLAPI void APIENTRY glVertexAttrib4fNV (GLuint, GLfloat, GLfloat, GLfloat, GLfloat);
-GLAPI void APIENTRY glVertexAttrib4fvNV (GLuint, const GLfloat *);
-GLAPI void APIENTRY glVertexAttrib4sNV (GLuint, GLshort, GLshort, GLshort, GLshort);
-GLAPI void APIENTRY glVertexAttrib4svNV (GLuint, const GLshort *);
-GLAPI void APIENTRY glVertexAttrib4ubNV (GLuint, GLubyte, GLubyte, GLubyte, GLubyte);
-GLAPI void APIENTRY glVertexAttrib4ubvNV (GLuint, const GLubyte *);
-GLAPI void APIENTRY glVertexAttribs1dvNV (GLuint, GLsizei, const GLdouble *);
-GLAPI void APIENTRY glVertexAttribs1fvNV (GLuint, GLsizei, const GLfloat *);
-GLAPI void APIENTRY glVertexAttribs1svNV (GLuint, GLsizei, const GLshort *);
-GLAPI void APIENTRY glVertexAttribs2dvNV (GLuint, GLsizei, const GLdouble *);
-GLAPI void APIENTRY glVertexAttribs2fvNV (GLuint, GLsizei, const GLfloat *);
-GLAPI void APIENTRY glVertexAttribs2svNV (GLuint, GLsizei, const GLshort *);
-GLAPI void APIENTRY glVertexAttribs3dvNV (GLuint, GLsizei, const GLdouble *);
-GLAPI void APIENTRY glVertexAttribs3fvNV (GLuint, GLsizei, const GLfloat *);
-GLAPI void APIENTRY glVertexAttribs3svNV (GLuint, GLsizei, const GLshort *);
-GLAPI void APIENTRY glVertexAttribs4dvNV (GLuint, GLsizei, const GLdouble *);
-GLAPI void APIENTRY glVertexAttribs4fvNV (GLuint, GLsizei, const GLfloat *);
-GLAPI void APIENTRY glVertexAttribs4svNV (GLuint, GLsizei, const GLshort *);
-GLAPI void APIENTRY glVertexAttribs4ubvNV (GLuint, GLsizei, const GLubyte *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef GLboolean (APIENTRY * PFNGLAREPROGRAMSRESIDENTNVPROC) (GLsizei n, const GLuint *programs, GLboolean *residences);
-typedef void (APIENTRY * PFNGLBINDPROGRAMNVPROC) (GLenum target, GLuint id);
-typedef void (APIENTRY * PFNGLDELETEPROGRAMSNVPROC) (GLsizei n, const GLuint *programs);
-typedef void (APIENTRY * PFNGLEXECUTEPROGRAMNVPROC) (GLenum target, GLuint id, const GLfloat *params);
-typedef void (APIENTRY * PFNGLGENPROGRAMSNVPROC) (GLsizei n, GLuint *programs);
-typedef void (APIENTRY * PFNGLGETPROGRAMPARAMETERDVNVPROC) (GLenum target, GLuint index, GLenum pname, GLdouble *params);
-typedef void (APIENTRY * PFNGLGETPROGRAMPARAMETERFVNVPROC) (GLenum target, GLuint index, GLenum pname, GLfloat *params);
-typedef void (APIENTRY * PFNGLGETPROGRAMIVNVPROC) (GLuint id, GLenum pname, GLint *params);
-typedef void (APIENTRY * PFNGLGETPROGRAMSTRINGNVPROC) (GLuint id, GLenum pname, GLubyte *program);
-typedef void (APIENTRY * PFNGLGETTRACKMATRIXIVNVPROC) (GLenum target, GLuint address, GLenum pname, GLint *params);
-typedef void (APIENTRY * PFNGLGETVERTEXATTRIBDVNVPROC) (GLuint index, GLenum pname, GLdouble *params);
-typedef void (APIENTRY * PFNGLGETVERTEXATTRIBFVNVPROC) (GLuint index, GLenum pname, GLfloat *params);
-typedef void (APIENTRY * PFNGLGETVERTEXATTRIBIVNVPROC) (GLuint index, GLenum pname, GLint *params);
-typedef void (APIENTRY * PFNGLGETVERTEXATTRIBPOINTERVNVPROC) (GLuint index, GLenum pname, GLvoid* *pointer);
-typedef GLboolean (APIENTRY * PFNGLISPROGRAMNVPROC) (GLuint id);
-typedef void (APIENTRY * PFNGLLOADPROGRAMNVPROC) (GLenum target, GLuint id, GLsizei len, const GLubyte *program);
-typedef void (APIENTRY * PFNGLPROGRAMPARAMETER4DNVPROC) (GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
-typedef void (APIENTRY * PFNGLPROGRAMPARAMETER4DVNVPROC) (GLenum target, GLuint index, const GLdouble *v);
-typedef void (APIENTRY * PFNGLPROGRAMPARAMETER4FNVPROC) (GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
-typedef void (APIENTRY * PFNGLPROGRAMPARAMETER4FVNVPROC) (GLenum target, GLuint index, const GLfloat *v);
-typedef void (APIENTRY * PFNGLPROGRAMPARAMETERS4DVNVPROC) (GLenum target, GLuint index, GLuint count, const GLdouble *v);
-typedef void (APIENTRY * PFNGLPROGRAMPARAMETERS4FVNVPROC) (GLenum target, GLuint index, GLuint count, const GLfloat *v);
-typedef void (APIENTRY * PFNGLREQUESTRESIDENTPROGRAMSNVPROC) (GLsizei n, const GLuint *programs);
-typedef void (APIENTRY * PFNGLTRACKMATRIXNVPROC) (GLenum target, GLuint address, GLenum matrix, GLenum transform);
-typedef void (APIENTRY * PFNGLVERTEXATTRIBPOINTERNVPROC) (GLuint index, GLint fsize, GLenum type, GLsizei stride, const GLvoid *pointer);
-typedef void (APIENTRY * PFNGLVERTEXATTRIB1DNVPROC) (GLuint index, GLdouble x);
-typedef void (APIENTRY * PFNGLVERTEXATTRIB1DVNVPROC) (GLuint index, const GLdouble *v);
-typedef void (APIENTRY * PFNGLVERTEXATTRIB1FNVPROC) (GLuint index, GLfloat x);
-typedef void (APIENTRY * PFNGLVERTEXATTRIB1FVNVPROC) (GLuint index, const GLfloat *v);
-typedef void (APIENTRY * PFNGLVERTEXATTRIB1SNVPROC) (GLuint index, GLshort x);
-typedef void (APIENTRY * PFNGLVERTEXATTRIB1SVNVPROC) (GLuint index, const GLshort *v);
-typedef void (APIENTRY * PFNGLVERTEXATTRIB2DNVPROC) (GLuint index, GLdouble x, GLdouble y);
-typedef void (APIENTRY * PFNGLVERTEXATTRIB2DVNVPROC) (GLuint index, const GLdouble *v);
-typedef void (APIENTRY * PFNGLVERTEXATTRIB2FNVPROC) (GLuint index, GLfloat x, GLfloat y);
-typedef void (APIENTRY * PFNGLVERTEXATTRIB2FVNVPROC) (GLuint index, const GLfloat *v);
-typedef void (APIENTRY * PFNGLVERTEXATTRIB2SNVPROC) (GLuint index, GLshort x, GLshort y);
-typedef void (APIENTRY * PFNGLVERTEXATTRIB2SVNVPROC) (GLuint index, const GLshort *v);
-typedef void (APIENTRY * PFNGLVERTEXATTRIB3DNVPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z);
-typedef void (APIENTRY * PFNGLVERTEXATTRIB3DVNVPROC) (GLuint index, const GLdouble *v);
-typedef void (APIENTRY * PFNGLVERTEXATTRIB3FNVPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z);
-typedef void (APIENTRY * PFNGLVERTEXATTRIB3FVNVPROC) (GLuint index, const GLfloat *v);
-typedef void (APIENTRY * PFNGLVERTEXATTRIB3SNVPROC) (GLuint index, GLshort x, GLshort y, GLshort z);
-typedef void (APIENTRY * PFNGLVERTEXATTRIB3SVNVPROC) (GLuint index, const GLshort *v);
-typedef void (APIENTRY * PFNGLVERTEXATTRIB4DNVPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
-typedef void (APIENTRY * PFNGLVERTEXATTRIB4DVNVPROC) (GLuint index, const GLdouble *v);
-typedef void (APIENTRY * PFNGLVERTEXATTRIB4FNVPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
-typedef void (APIENTRY * PFNGLVERTEXATTRIB4FVNVPROC) (GLuint index, const GLfloat *v);
-typedef void (APIENTRY * PFNGLVERTEXATTRIB4SNVPROC) (GLuint index, GLshort x, GLshort y, GLshort z, GLshort w);
-typedef void (APIENTRY * PFNGLVERTEXATTRIB4SVNVPROC) (GLuint index, const GLshort *v);
-typedef void (APIENTRY * PFNGLVERTEXATTRIB4UBNVPROC) (GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w);
-typedef void (APIENTRY * PFNGLVERTEXATTRIB4UBVNVPROC) (GLuint index, const GLubyte *v);
-typedef void (APIENTRY * PFNGLVERTEXATTRIBS1DVNVPROC) (GLuint index, GLsizei count, const GLdouble *v);
-typedef void (APIENTRY * PFNGLVERTEXATTRIBS1FVNVPROC) (GLuint index, GLsizei count, const GLfloat *v);
-typedef void (APIENTRY * PFNGLVERTEXATTRIBS1SVNVPROC) (GLuint index, GLsizei count, const GLshort *v);
-typedef void (APIENTRY * PFNGLVERTEXATTRIBS2DVNVPROC) (GLuint index, GLsizei count, const GLdouble *v);
-typedef void (APIENTRY * PFNGLVERTEXATTRIBS2FVNVPROC) (GLuint index, GLsizei count, const GLfloat *v);
-typedef void (APIENTRY * PFNGLVERTEXATTRIBS2SVNVPROC) (GLuint index, GLsizei count, const GLshort *v);
-typedef void (APIENTRY * PFNGLVERTEXATTRIBS3DVNVPROC) (GLuint index, GLsizei count, const GLdouble *v);
-typedef void (APIENTRY * PFNGLVERTEXATTRIBS3FVNVPROC) (GLuint index, GLsizei count, const GLfloat *v);
-typedef void (APIENTRY * PFNGLVERTEXATTRIBS3SVNVPROC) (GLuint index, GLsizei count, const GLshort *v);
-typedef void (APIENTRY * PFNGLVERTEXATTRIBS4DVNVPROC) (GLuint index, GLsizei count, const GLdouble *v);
-typedef void (APIENTRY * PFNGLVERTEXATTRIBS4FVNVPROC) (GLuint index, GLsizei count, const GLfloat *v);
-typedef void (APIENTRY * PFNGLVERTEXATTRIBS4SVNVPROC) (GLuint index, GLsizei count, const GLshort *v);
-typedef void (APIENTRY * PFNGLVERTEXATTRIBS4UBVNVPROC) (GLuint index, GLsizei count, const GLubyte *v);
-#endif
-
-#ifndef GL_SGIX_texture_coordinate_clamp
-#define GL_SGIX_texture_coordinate_clamp 1
-#endif
-
-#ifndef GL_SGIX_scalebias_hint
-#define GL_SGIX_scalebias_hint 1
-#endif
-
-#ifndef GL_OML_interlace
-#define GL_OML_interlace 1
-#endif
-
-#ifndef GL_OML_subsample
-#define GL_OML_subsample 1
-#endif
-
-#ifndef GL_OML_resample
-#define GL_OML_resample 1
-#endif
-
-#ifndef GL_NV_copy_depth_to_color
-#define GL_NV_copy_depth_to_color 1
-#endif
-
-#ifndef GL_ATI_envmap_bumpmap
-#define GL_ATI_envmap_bumpmap 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glTexBumpParameterivATI (GLenum, const GLint *);
-GLAPI void APIENTRY glTexBumpParameterfvATI (GLenum, const GLfloat *);
-GLAPI void APIENTRY glGetTexBumpParameterivATI (GLenum, GLint *);
-GLAPI void APIENTRY glGetTexBumpParameterfvATI (GLenum, GLfloat *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLTEXBUMPPARAMETERIVATIPROC) (GLenum pname, const GLint *param);
-typedef void (APIENTRY * PFNGLTEXBUMPPARAMETERFVATIPROC) (GLenum pname, const GLfloat *param);
-typedef void (APIENTRY * PFNGLGETTEXBUMPPARAMETERIVATIPROC) (GLenum pname, GLint *param);
-typedef void (APIENTRY * PFNGLGETTEXBUMPPARAMETERFVATIPROC) (GLenum pname, GLfloat *param);
-#endif
-
-#ifndef GL_ATI_fragment_shader
-#define GL_ATI_fragment_shader 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI GLuint APIENTRY glGenFragmentShadersATI (GLuint);
-GLAPI void APIENTRY glBindFragmentShaderATI (GLuint);
-GLAPI void APIENTRY glDeleteFragmentShaderATI (GLuint);
-GLAPI void APIENTRY glBeginFragmentShaderATI (void);
-GLAPI void APIENTRY glEndFragmentShaderATI (void);
-GLAPI void APIENTRY glPassTexCoordATI (GLuint, GLuint, GLenum);
-GLAPI void APIENTRY glSampleMapATI (GLuint, GLuint, GLenum);
-GLAPI void APIENTRY glColorFragmentOp1ATI (GLenum, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint);
-GLAPI void APIENTRY glColorFragmentOp2ATI (GLenum, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint);
-GLAPI void APIENTRY glColorFragmentOp3ATI (GLenum, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint);
-GLAPI void APIENTRY glAlphaFragmentOp1ATI (GLenum, GLuint, GLuint, GLuint, GLuint, GLuint);
-GLAPI void APIENTRY glAlphaFragmentOp2ATI (GLenum, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint);
-GLAPI void APIENTRY glAlphaFragmentOp3ATI (GLenum, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint);
-GLAPI void APIENTRY glSetFragmentShaderConstantATI (GLuint, const GLfloat *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef GLuint (APIENTRY * PFNGLGENFRAGMENTSHADERSATIPROC) (GLuint range);
-typedef void (APIENTRY * PFNGLBINDFRAGMENTSHADERATIPROC) (GLuint id);
-typedef void (APIENTRY * PFNGLDELETEFRAGMENTSHADERATIPROC) (GLuint id);
-typedef void (APIENTRY * PFNGLBEGINFRAGMENTSHADERATIPROC) (void);
-typedef void (APIENTRY * PFNGLENDFRAGMENTSHADERATIPROC) (void);
-typedef void (APIENTRY * PFNGLPASSTEXCOORDATIPROC) (GLuint dst, GLuint coord, GLenum swizzle);
-typedef void (APIENTRY * PFNGLSAMPLEMAPATIPROC) (GLuint dst, GLuint interp, GLenum swizzle);
-typedef void (APIENTRY * PFNGLCOLORFRAGMENTOP1ATIPROC) (GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod);
-typedef void (APIENTRY * PFNGLCOLORFRAGMENTOP2ATIPROC) (GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod);
-typedef void (APIENTRY * PFNGLCOLORFRAGMENTOP3ATIPROC) (GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod, GLuint arg3, GLuint arg3Rep, GLuint arg3Mod);
-typedef void (APIENTRY * PFNGLALPHAFRAGMENTOP1ATIPROC) (GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod);
-typedef void (APIENTRY * PFNGLALPHAFRAGMENTOP2ATIPROC) (GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod);
-typedef void (APIENTRY * PFNGLALPHAFRAGMENTOP3ATIPROC) (GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod, GLuint arg3, GLuint arg3Rep, GLuint arg3Mod);
-typedef void (APIENTRY * PFNGLSETFRAGMENTSHADERCONSTANTATIPROC) (GLuint dst, const GLfloat *value);
-#endif
-
-#ifndef GL_ATI_pn_triangles
-#define GL_ATI_pn_triangles 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glPNTrianglesiATI (GLenum, GLint);
-GLAPI void APIENTRY glPNTrianglesfATI (GLenum, GLfloat);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLPNTRIANGLESIATIPROC) (GLenum pname, GLint param);
-typedef void (APIENTRY * PFNGLPNTRIANGLESFATIPROC) (GLenum pname, GLfloat param);
-#endif
-
-#ifndef GL_ATI_vertex_array_object
-#define GL_ATI_vertex_array_object 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI GLuint APIENTRY glNewObjectBufferATI (GLsizei, const GLvoid *, GLenum);
-GLAPI GLboolean APIENTRY glIsObjectBufferATI (GLuint);
-GLAPI void APIENTRY glUpdateObjectBufferATI (GLuint, GLuint, GLsizei, const GLvoid *, GLenum);
-GLAPI void APIENTRY glGetObjectBufferfvATI (GLuint, GLenum, GLfloat *);
-GLAPI void APIENTRY glGetObjectBufferivATI (GLuint, GLenum, GLint *);
-GLAPI void APIENTRY glDeleteObjectBufferATI (GLuint);
-GLAPI void APIENTRY glArrayObjectATI (GLenum, GLint, GLenum, GLsizei, GLuint, GLuint);
-GLAPI void APIENTRY glGetArrayObjectfvATI (GLenum, GLenum, GLfloat *);
-GLAPI void APIENTRY glGetArrayObjectivATI (GLenum, GLenum, GLint *);
-GLAPI void APIENTRY glVariantArrayObjectATI (GLuint, GLenum, GLsizei, GLuint, GLuint);
-GLAPI void APIENTRY glGetVariantArrayObjectfvATI (GLuint, GLenum, GLfloat *);
-GLAPI void APIENTRY glGetVariantArrayObjectivATI (GLuint, GLenum, GLint *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef GLuint (APIENTRY * PFNGLNEWOBJECTBUFFERATIPROC) (GLsizei size, const GLvoid *pointer, GLenum usage);
-typedef GLboolean (APIENTRY * PFNGLISOBJECTBUFFERATIPROC) (GLuint buffer);
-typedef void (APIENTRY * PFNGLUPDATEOBJECTBUFFERATIPROC) (GLuint buffer, GLuint offset, GLsizei size, const GLvoid *pointer, GLenum preserve);
-typedef void (APIENTRY * PFNGLGETOBJECTBUFFERFVATIPROC) (GLuint buffer, GLenum pname, GLfloat *params);
-typedef void (APIENTRY * PFNGLGETOBJECTBUFFERIVATIPROC) (GLuint buffer, GLenum pname, GLint *params);
-typedef void (APIENTRY * PFNGLDELETEOBJECTBUFFERATIPROC) (GLuint buffer);
-typedef void (APIENTRY * PFNGLARRAYOBJECTATIPROC) (GLenum array, GLint size, GLenum type, GLsizei stride, GLuint buffer, GLuint offset);
-typedef void (APIENTRY * PFNGLGETARRAYOBJECTFVATIPROC) (GLenum array, GLenum pname, GLfloat *params);
-typedef void (APIENTRY * PFNGLGETARRAYOBJECTIVATIPROC) (GLenum array, GLenum pname, GLint *params);
-typedef void (APIENTRY * PFNGLVARIANTARRAYOBJECTATIPROC) (GLuint id, GLenum type, GLsizei stride, GLuint buffer, GLuint offset);
-typedef void (APIENTRY * PFNGLGETVARIANTARRAYOBJECTFVATIPROC) (GLuint id, GLenum pname, GLfloat *params);
-typedef void (APIENTRY * PFNGLGETVARIANTARRAYOBJECTIVATIPROC) (GLuint id, GLenum pname, GLint *params);
-#endif
-
-#ifndef GL_EXT_vertex_shader
-#define GL_EXT_vertex_shader 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glBeginVertexShaderEXT (void);
-GLAPI void APIENTRY glEndVertexShaderEXT (void);
-GLAPI void APIENTRY glBindVertexShaderEXT (GLuint);
-GLAPI GLuint APIENTRY glGenVertexShadersEXT (GLuint);
-GLAPI void APIENTRY glDeleteVertexShaderEXT (GLuint);
-GLAPI void APIENTRY glShaderOp1EXT (GLenum, GLuint, GLuint);
-GLAPI void APIENTRY glShaderOp2EXT (GLenum, GLuint, GLuint, GLuint);
-GLAPI void APIENTRY glShaderOp3EXT (GLenum, GLuint, GLuint, GLuint, GLuint);
-GLAPI void APIENTRY glSwizzleEXT (GLuint, GLuint, GLenum, GLenum, GLenum, GLenum);
-GLAPI void APIENTRY glWriteMaskEXT (GLuint, GLuint, GLenum, GLenum, GLenum, GLenum);
-GLAPI void APIENTRY glInsertComponentEXT (GLuint, GLuint, GLuint);
-GLAPI void APIENTRY glExtractComponentEXT (GLuint, GLuint, GLuint);
-GLAPI GLuint APIENTRY glGenSymbolsEXT (GLenum, GLenum, GLenum, GLuint);
-GLAPI void APIENTRY glSetInvariantEXT (GLuint, GLenum, const void *);
-GLAPI void APIENTRY glSetLocalConstantEXT (GLuint, GLenum, const void *);
-GLAPI void APIENTRY glVariantbvEXT (GLuint, const GLbyte *);
-GLAPI void APIENTRY glVariantsvEXT (GLuint, const GLshort *);
-GLAPI void APIENTRY glVariantivEXT (GLuint, const GLint *);
-GLAPI void APIENTRY glVariantfvEXT (GLuint, const GLfloat *);
-GLAPI void APIENTRY glVariantdvEXT (GLuint, const GLdouble *);
-GLAPI void APIENTRY glVariantubvEXT (GLuint, const GLubyte *);
-GLAPI void APIENTRY glVariantusvEXT (GLuint, const GLushort *);
-GLAPI void APIENTRY glVariantuivEXT (GLuint, const GLuint *);
-GLAPI void APIENTRY glVariantPointerEXT (GLuint, GLenum, GLuint, const void *);
-GLAPI void APIENTRY glEnableVariantClientStateEXT (GLuint);
-GLAPI void APIENTRY glDisableVariantClientStateEXT (GLuint);
-GLAPI GLuint APIENTRY glBindLightParameterEXT (GLenum, GLenum);
-GLAPI GLuint APIENTRY glBindMaterialParameterEXT (GLenum, GLenum);
-GLAPI GLuint APIENTRY glBindTexGenParameterEXT (GLenum, GLenum, GLenum);
-GLAPI GLuint APIENTRY glBindTextureUnitParameterEXT (GLenum, GLenum);
-GLAPI GLuint APIENTRY glBindParameterEXT (GLenum);
-GLAPI GLboolean APIENTRY glIsVariantEnabledEXT (GLuint, GLenum);
-GLAPI void APIENTRY glGetVariantBooleanvEXT (GLuint, GLenum, GLboolean *);
-GLAPI void APIENTRY glGetVariantIntegervEXT (GLuint, GLenum, GLint *);
-GLAPI void APIENTRY glGetVariantFloatvEXT (GLuint, GLenum, GLfloat *);
-GLAPI void APIENTRY glGetVariantPointervEXT (GLuint, GLenum, GLvoid* *);
-GLAPI void APIENTRY glGetInvariantBooleanvEXT (GLuint, GLenum, GLboolean *);
-GLAPI void APIENTRY glGetInvariantIntegervEXT (GLuint, GLenum, GLint *);
-GLAPI void APIENTRY glGetInvariantFloatvEXT (GLuint, GLenum, GLfloat *);
-GLAPI void APIENTRY glGetLocalConstantBooleanvEXT (GLuint, GLenum, GLboolean *);
-GLAPI void APIENTRY glGetLocalConstantIntegervEXT (GLuint, GLenum, GLint *);
-GLAPI void APIENTRY glGetLocalConstantFloatvEXT (GLuint, GLenum, GLfloat *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLBEGINVERTEXSHADEREXTPROC) (void);
-typedef void (APIENTRY * PFNGLENDVERTEXSHADEREXTPROC) (void);
-typedef void (APIENTRY * PFNGLBINDVERTEXSHADEREXTPROC) (GLuint id);
-typedef GLuint (APIENTRY * PFNGLGENVERTEXSHADERSEXTPROC) (GLuint range);
-typedef void (APIENTRY * PFNGLDELETEVERTEXSHADEREXTPROC) (GLuint id);
-typedef void (APIENTRY * PFNGLSHADEROP1EXTPROC) (GLenum op, GLuint res, GLuint arg1);
-typedef void (APIENTRY * PFNGLSHADEROP2EXTPROC) (GLenum op, GLuint res, GLuint arg1, GLuint arg2);
-typedef void (APIENTRY * PFNGLSHADEROP3EXTPROC) (GLenum op, GLuint res, GLuint arg1, GLuint arg2, GLuint arg3);
-typedef void (APIENTRY * PFNGLSWIZZLEEXTPROC) (GLuint res, GLuint in, GLenum outX, GLenum outY, GLenum outZ, GLenum outW);
-typedef void (APIENTRY * PFNGLWRITEMASKEXTPROC) (GLuint res, GLuint in, GLenum outX, GLenum outY, GLenum outZ, GLenum outW);
-typedef void (APIENTRY * PFNGLINSERTCOMPONENTEXTPROC) (GLuint res, GLuint src, GLuint num);
-typedef void (APIENTRY * PFNGLEXTRACTCOMPONENTEXTPROC) (GLuint res, GLuint src, GLuint num);
-typedef GLuint (APIENTRY * PFNGLGENSYMBOLSEXTPROC) (GLenum datatype, GLenum storagetype, GLenum range, GLuint components);
-typedef void (APIENTRY * PFNGLSETINVARIANTEXTPROC) (GLuint id, GLenum type, const void *addr);
-typedef void (APIENTRY * PFNGLSETLOCALCONSTANTEXTPROC) (GLuint id, GLenum type, const void *addr);
-typedef void (APIENTRY * PFNGLVARIANTBVEXTPROC) (GLuint id, const GLbyte *addr);
-typedef void (APIENTRY * PFNGLVARIANTSVEXTPROC) (GLuint id, const GLshort *addr);
-typedef void (APIENTRY * PFNGLVARIANTIVEXTPROC) (GLuint id, const GLint *addr);
-typedef void (APIENTRY * PFNGLVARIANTFVEXTPROC) (GLuint id, const GLfloat *addr);
-typedef void (APIENTRY * PFNGLVARIANTDVEXTPROC) (GLuint id, const GLdouble *addr);
-typedef void (APIENTRY * PFNGLVARIANTUBVEXTPROC) (GLuint id, const GLubyte *addr);
-typedef void (APIENTRY * PFNGLVARIANTUSVEXTPROC) (GLuint id, const GLushort *addr);
-typedef void (APIENTRY * PFNGLVARIANTUIVEXTPROC) (GLuint id, const GLuint *addr);
-typedef void (APIENTRY * PFNGLVARIANTPOINTEREXTPROC) (GLuint id, GLenum type, GLuint stride, const void *addr);
-typedef void (APIENTRY * PFNGLENABLEVARIANTCLIENTSTATEEXTPROC) (GLuint id);
-typedef void (APIENTRY * PFNGLDISABLEVARIANTCLIENTSTATEEXTPROC) (GLuint id);
-typedef GLuint (APIENTRY * PFNGLBINDLIGHTPARAMETEREXTPROC) (GLenum light, GLenum value);
-typedef GLuint (APIENTRY * PFNGLBINDMATERIALPARAMETEREXTPROC) (GLenum face, GLenum value);
-typedef GLuint (APIENTRY * PFNGLBINDTEXGENPARAMETEREXTPROC) (GLenum unit, GLenum coord, GLenum value);
-typedef GLuint (APIENTRY * PFNGLBINDTEXTUREUNITPARAMETEREXTPROC) (GLenum unit, GLenum value);
-typedef GLuint (APIENTRY * PFNGLBINDPARAMETEREXTPROC) (GLenum value);
-typedef GLboolean (APIENTRY * PFNGLISVARIANTENABLEDEXTPROC) (GLuint id, GLenum cap);
-typedef void (APIENTRY * PFNGLGETVARIANTBOOLEANVEXTPROC) (GLuint id, GLenum value, GLboolean *data);
-typedef void (APIENTRY * PFNGLGETVARIANTINTEGERVEXTPROC) (GLuint id, GLenum value, GLint *data);
-typedef void (APIENTRY * PFNGLGETVARIANTFLOATVEXTPROC) (GLuint id, GLenum value, GLfloat *data);
-typedef void (APIENTRY * PFNGLGETVARIANTPOINTERVEXTPROC) (GLuint id, GLenum value, GLvoid* *data);
-typedef void (APIENTRY * PFNGLGETINVARIANTBOOLEANVEXTPROC) (GLuint id, GLenum value, GLboolean *data);
-typedef void (APIENTRY * PFNGLGETINVARIANTINTEGERVEXTPROC) (GLuint id, GLenum value, GLint *data);
-typedef void (APIENTRY * PFNGLGETINVARIANTFLOATVEXTPROC) (GLuint id, GLenum value, GLfloat *data);
-typedef void (APIENTRY * PFNGLGETLOCALCONSTANTBOOLEANVEXTPROC) (GLuint id, GLenum value, GLboolean *data);
-typedef void (APIENTRY * PFNGLGETLOCALCONSTANTINTEGERVEXTPROC) (GLuint id, GLenum value, GLint *data);
-typedef void (APIENTRY * PFNGLGETLOCALCONSTANTFLOATVEXTPROC) (GLuint id, GLenum value, GLfloat *data);
-#endif
-
-#ifndef GL_ATI_vertex_streams
-#define GL_ATI_vertex_streams 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glVertexStream1sATI (GLenum, GLshort);
-GLAPI void APIENTRY glVertexStream1svATI (GLenum, const GLshort *);
-GLAPI void APIENTRY glVertexStream1iATI (GLenum, GLint);
-GLAPI void APIENTRY glVertexStream1ivATI (GLenum, const GLint *);
-GLAPI void APIENTRY glVertexStream1fATI (GLenum, GLfloat);
-GLAPI void APIENTRY glVertexStream1fvATI (GLenum, const GLfloat *);
-GLAPI void APIENTRY glVertexStream1dATI (GLenum, GLdouble);
-GLAPI void APIENTRY glVertexStream1dvATI (GLenum, const GLdouble *);
-GLAPI void APIENTRY glVertexStream2sATI (GLenum, GLshort, GLshort);
-GLAPI void APIENTRY glVertexStream2svATI (GLenum, const GLshort *);
-GLAPI void APIENTRY glVertexStream2iATI (GLenum, GLint, GLint);
-GLAPI void APIENTRY glVertexStream2ivATI (GLenum, const GLint *);
-GLAPI void APIENTRY glVertexStream2fATI (GLenum, GLfloat, GLfloat);
-GLAPI void APIENTRY glVertexStream2fvATI (GLenum, const GLfloat *);
-GLAPI void APIENTRY glVertexStream2dATI (GLenum, GLdouble, GLdouble);
-GLAPI void APIENTRY glVertexStream2dvATI (GLenum, const GLdouble *);
-GLAPI void APIENTRY glVertexStream3sATI (GLenum, GLshort, GLshort, GLshort);
-GLAPI void APIENTRY glVertexStream3svATI (GLenum, const GLshort *);
-GLAPI void APIENTRY glVertexStream3iATI (GLenum, GLint, GLint, GLint);
-GLAPI void APIENTRY glVertexStream3ivATI (GLenum, const GLint *);
-GLAPI void APIENTRY glVertexStream3fATI (GLenum, GLfloat, GLfloat, GLfloat);
-GLAPI void APIENTRY glVertexStream3fvATI (GLenum, const GLfloat *);
-GLAPI void APIENTRY glVertexStream3dATI (GLenum, GLdouble, GLdouble, GLdouble);
-GLAPI void APIENTRY glVertexStream3dvATI (GLenum, const GLdouble *);
-GLAPI void APIENTRY glVertexStream4sATI (GLenum, GLshort, GLshort, GLshort, GLshort);
-GLAPI void APIENTRY glVertexStream4svATI (GLenum, const GLshort *);
-GLAPI void APIENTRY glVertexStream4iATI (GLenum, GLint, GLint, GLint, GLint);
-GLAPI void APIENTRY glVertexStream4ivATI (GLenum, const GLint *);
-GLAPI void APIENTRY glVertexStream4fATI (GLenum, GLfloat, GLfloat, GLfloat, GLfloat);
-GLAPI void APIENTRY glVertexStream4fvATI (GLenum, const GLfloat *);
-GLAPI void APIENTRY glVertexStream4dATI (GLenum, GLdouble, GLdouble, GLdouble, GLdouble);
-GLAPI void APIENTRY glVertexStream4dvATI (GLenum, const GLdouble *);
-GLAPI void APIENTRY glNormalStream3bATI (GLenum, GLbyte, GLbyte, GLbyte);
-GLAPI void APIENTRY glNormalStream3bvATI (GLenum, const GLbyte *);
-GLAPI void APIENTRY glNormalStream3sATI (GLenum, GLshort, GLshort, GLshort);
-GLAPI void APIENTRY glNormalStream3svATI (GLenum, const GLshort *);
-GLAPI void APIENTRY glNormalStream3iATI (GLenum, GLint, GLint, GLint);
-GLAPI void APIENTRY glNormalStream3ivATI (GLenum, const GLint *);
-GLAPI void APIENTRY glNormalStream3fATI (GLenum, GLfloat, GLfloat, GLfloat);
-GLAPI void APIENTRY glNormalStream3fvATI (GLenum, const GLfloat *);
-GLAPI void APIENTRY glNormalStream3dATI (GLenum, GLdouble, GLdouble, GLdouble);
-GLAPI void APIENTRY glNormalStream3dvATI (GLenum, const GLdouble *);
-GLAPI void APIENTRY glClientActiveVertexStreamATI (GLenum);
-GLAPI void APIENTRY glVertexBlendEnviATI (GLenum, GLint);
-GLAPI void APIENTRY glVertexBlendEnvfATI (GLenum, GLfloat);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLVERTEXSTREAM1SATIPROC) (GLenum stream, GLshort x);
-typedef void (APIENTRY * PFNGLVERTEXSTREAM1SVATIPROC) (GLenum stream, const GLshort *coords);
-typedef void (APIENTRY * PFNGLVERTEXSTREAM1IATIPROC) (GLenum stream, GLint x);
-typedef void (APIENTRY * PFNGLVERTEXSTREAM1IVATIPROC) (GLenum stream, const GLint *coords);
-typedef void (APIENTRY * PFNGLVERTEXSTREAM1FATIPROC) (GLenum stream, GLfloat x);
-typedef void (APIENTRY * PFNGLVERTEXSTREAM1FVATIPROC) (GLenum stream, const GLfloat *coords);
-typedef void (APIENTRY * PFNGLVERTEXSTREAM1DATIPROC) (GLenum stream, GLdouble x);
-typedef void (APIENTRY * PFNGLVERTEXSTREAM1DVATIPROC) (GLenum stream, const GLdouble *coords);
-typedef void (APIENTRY * PFNGLVERTEXSTREAM2SATIPROC) (GLenum stream, GLshort x, GLshort y);
-typedef void (APIENTRY * PFNGLVERTEXSTREAM2SVATIPROC) (GLenum stream, const GLshort *coords);
-typedef void (APIENTRY * PFNGLVERTEXSTREAM2IATIPROC) (GLenum stream, GLint x, GLint y);
-typedef void (APIENTRY * PFNGLVERTEXSTREAM2IVATIPROC) (GLenum stream, const GLint *coords);
-typedef void (APIENTRY * PFNGLVERTEXSTREAM2FATIPROC) (GLenum stream, GLfloat x, GLfloat y);
-typedef void (APIENTRY * PFNGLVERTEXSTREAM2FVATIPROC) (GLenum stream, const GLfloat *coords);
-typedef void (APIENTRY * PFNGLVERTEXSTREAM2DATIPROC) (GLenum stream, GLdouble x, GLdouble y);
-typedef void (APIENTRY * PFNGLVERTEXSTREAM2DVATIPROC) (GLenum stream, const GLdouble *coords);
-typedef void (APIENTRY * PFNGLVERTEXSTREAM3SATIPROC) (GLenum stream, GLshort x, GLshort y, GLshort z);
-typedef void (APIENTRY * PFNGLVERTEXSTREAM3SVATIPROC) (GLenum stream, const GLshort *coords);
-typedef void (APIENTRY * PFNGLVERTEXSTREAM3IATIPROC) (GLenum stream, GLint x, GLint y, GLint z);
-typedef void (APIENTRY * PFNGLVERTEXSTREAM3IVATIPROC) (GLenum stream, const GLint *coords);
-typedef void (APIENTRY * PFNGLVERTEXSTREAM3FATIPROC) (GLenum stream, GLfloat x, GLfloat y, GLfloat z);
-typedef void (APIENTRY * PFNGLVERTEXSTREAM3FVATIPROC) (GLenum stream, const GLfloat *coords);
-typedef void (APIENTRY * PFNGLVERTEXSTREAM3DATIPROC) (GLenum stream, GLdouble x, GLdouble y, GLdouble z);
-typedef void (APIENTRY * PFNGLVERTEXSTREAM3DVATIPROC) (GLenum stream, const GLdouble *coords);
-typedef void (APIENTRY * PFNGLVERTEXSTREAM4SATIPROC) (GLenum stream, GLshort x, GLshort y, GLshort z, GLshort w);
-typedef void (APIENTRY * PFNGLVERTEXSTREAM4SVATIPROC) (GLenum stream, const GLshort *coords);
-typedef void (APIENTRY * PFNGLVERTEXSTREAM4IATIPROC) (GLenum stream, GLint x, GLint y, GLint z, GLint w);
-typedef void (APIENTRY * PFNGLVERTEXSTREAM4IVATIPROC) (GLenum stream, const GLint *coords);
-typedef void (APIENTRY * PFNGLVERTEXSTREAM4FATIPROC) (GLenum stream, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
-typedef void (APIENTRY * PFNGLVERTEXSTREAM4FVATIPROC) (GLenum stream, const GLfloat *coords);
-typedef void (APIENTRY * PFNGLVERTEXSTREAM4DATIPROC) (GLenum stream, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
-typedef void (APIENTRY * PFNGLVERTEXSTREAM4DVATIPROC) (GLenum stream, const GLdouble *coords);
-typedef void (APIENTRY * PFNGLNORMALSTREAM3BATIPROC) (GLenum stream, GLbyte nx, GLbyte ny, GLbyte nz);
-typedef void (APIENTRY * PFNGLNORMALSTREAM3BVATIPROC) (GLenum stream, const GLbyte *coords);
-typedef void (APIENTRY * PFNGLNORMALSTREAM3SATIPROC) (GLenum stream, GLshort nx, GLshort ny, GLshort nz);
-typedef void (APIENTRY * PFNGLNORMALSTREAM3SVATIPROC) (GLenum stream, const GLshort *coords);
-typedef void (APIENTRY * PFNGLNORMALSTREAM3IATIPROC) (GLenum stream, GLint nx, GLint ny, GLint nz);
-typedef void (APIENTRY * PFNGLNORMALSTREAM3IVATIPROC) (GLenum stream, const GLint *coords);
-typedef void (APIENTRY * PFNGLNORMALSTREAM3FATIPROC) (GLenum stream, GLfloat nx, GLfloat ny, GLfloat nz);
-typedef void (APIENTRY * PFNGLNORMALSTREAM3FVATIPROC) (GLenum stream, const GLfloat *coords);
-typedef void (APIENTRY * PFNGLNORMALSTREAM3DATIPROC) (GLenum stream, GLdouble nx, GLdouble ny, GLdouble nz);
-typedef void (APIENTRY * PFNGLNORMALSTREAM3DVATIPROC) (GLenum stream, const GLdouble *coords);
-typedef void (APIENTRY * PFNGLCLIENTACTIVEVERTEXSTREAMATIPROC) (GLenum stream);
-typedef void (APIENTRY * PFNGLVERTEXBLENDENVIATIPROC) (GLenum pname, GLint param);
-typedef void (APIENTRY * PFNGLVERTEXBLENDENVFATIPROC) (GLenum pname, GLfloat param);
-#endif
-
-#ifndef GL_ATI_element_array
-#define GL_ATI_element_array 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glElementPointerATI (GLenum, const GLvoid *);
-GLAPI void APIENTRY glDrawElementArrayATI (GLenum, GLsizei);
-GLAPI void APIENTRY glDrawRangeElementArrayATI (GLenum, GLuint, GLuint, GLsizei);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLELEMENTPOINTERATIPROC) (GLenum type, const GLvoid *pointer);
-typedef void (APIENTRY * PFNGLDRAWELEMENTARRAYATIPROC) (GLenum mode, GLsizei count);
-typedef void (APIENTRY * PFNGLDRAWRANGEELEMENTARRAYATIPROC) (GLenum mode, GLuint start, GLuint end, GLsizei count);
-#endif
-
-#ifndef GL_SUN_mesh_array
-#define GL_SUN_mesh_array 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glDrawMeshArraysSUN (GLenum, GLint, GLsizei, GLsizei);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLDRAWMESHARRAYSSUNPROC) (GLenum mode, GLint first, GLsizei count, GLsizei width);
-#endif
-
-#ifndef GL_SUN_slice_accum
-#define GL_SUN_slice_accum 1
-#endif
-
-#ifndef GL_NV_multisample_filter_hint
-#define GL_NV_multisample_filter_hint 1
-#endif
-
-#ifndef GL_NV_depth_clamp
-#define GL_NV_depth_clamp 1
-#endif
-
-#ifndef GL_NV_occlusion_query
-#define GL_NV_occlusion_query 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glGenOcclusionQueriesNV (GLsizei, GLuint *);
-GLAPI void APIENTRY glDeleteOcclusionQueriesNV (GLsizei, const GLuint *);
-GLAPI GLboolean APIENTRY glIsOcclusionQueryNV (GLuint);
-GLAPI void APIENTRY glBeginOcclusionQueryNV (GLuint);
-GLAPI void APIENTRY glEndOcclusionQueryNV (void);
-GLAPI void APIENTRY glGetOcclusionQueryivNV (GLuint, GLenum, GLint *);
-GLAPI void APIENTRY glGetOcclusionQueryuivNV (GLuint, GLenum, GLuint *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLGENOCCLUSIONQUERIESNVPROC) (GLsizei n, GLuint *ids);
-typedef void (APIENTRY * PFNGLDELETEOCCLUSIONQUERIESNVPROC) (GLsizei n, const GLuint *ids);
-typedef GLboolean (APIENTRY * PFNGLISOCCLUSIONQUERYNVPROC) (GLuint id);
-typedef void (APIENTRY * PFNGLBEGINOCCLUSIONQUERYNVPROC) (GLuint id);
-typedef void (APIENTRY * PFNGLENDOCCLUSIONQUERYNVPROC) (void);
-typedef void (APIENTRY * PFNGLGETOCCLUSIONQUERYIVNVPROC) (GLuint id, GLenum pname, GLint *params);
-typedef void (APIENTRY * PFNGLGETOCCLUSIONQUERYUIVNVPROC) (GLuint id, GLenum pname, GLuint *params);
-#endif
-
-#ifndef GL_NV_point_sprite
-#define GL_NV_point_sprite 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glPointParameteriNV (GLenum, GLint);
-GLAPI void APIENTRY glPointParameterivNV (GLenum, const GLint *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRY * PFNGLPOINTPARAMETERINVPROC) (GLenum pname, GLint param);
-typedef void (APIENTRY * PFNGLPOINTPARAMETERIVNVPROC) (GLenum pname, const GLint *params);
-#endif
-
-#ifndef GL_NV_texture_shader3
-#define GL_NV_texture_shader3 1
-#endif
-
-#ifndef GL_NV_vertex_program1_1
-#define GL_NV_vertex_program1_1 1
-#endif
-
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
diff --git a/winsup/w32api/include/GL/glu.h b/winsup/w32api/include/GL/glu.h
deleted file mode 100644
index d6e9e37fd..000000000
--- a/winsup/w32api/include/GL/glu.h
+++ /dev/null
@@ -1,289 +0,0 @@
-/*
-** License Applicability. Except to the extent portions of this file are
-** made subject to an alternative license as permitted in the SGI Free
-** Software License B, Version 1.1 (the "License"), the contents of this
-** file are subject only to the provisions of the License. You may not use
-** this file except in compliance with the License. You may obtain a copy
-** of the License at Silicon Graphics, Inc., attn: Legal Services, 1600
-** Amphitheatre Parkway, Mountain View, CA 94043-1351, or at:
-**
-** http://oss.sgi.com/projects/FreeB
-**
-** Note that, as provided in the License, the Software is distributed on an
-** "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS
-** DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND
-** CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A
-** PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
-**
-** Original Code. The Original Code is: OpenGL Sample Implementation,
-** Version 1.2.1, released January 26, 2000, developed by Silicon Graphics,
-** Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc.
-** Copyright in any portions created by third parties is as indicated
-** elsewhere herein. All Rights Reserved.
-**
-** Additional Notice Provisions: This software was created using the
-** OpenGL(R) version 1.2.1 Sample Implementation published by SGI, but has
-** not been independently verified as being compliant with the OpenGL(R)
-** version 1.2.1 Specification.
-*/
-
-#ifndef __glu_h__
-#define __glu_h__
-#define _GLU_H
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-#include <stddef.h> /* for wchar_t */
-#include <GL/gl.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*************************************************************/
-
-/* Boolean */
-#define GLU_FALSE 0
-#define GLU_TRUE 1
-
-/* Version */
-#define GLU_VERSION_1_1 1
-#define GLU_VERSION_1_2 1
-
-/* StringName */
-#define GLU_VERSION 100800
-#define GLU_EXTENSIONS 100801
-
-/* ErrorCode */
-#define GLU_INVALID_ENUM 100900
-#define GLU_INVALID_VALUE 100901
-#define GLU_OUT_OF_MEMORY 100902
-#define GLU_INVALID_OPERATION 100904
-
-/* NurbsDisplay */
-/* GLU_FILL */
-#define GLU_OUTLINE_POLYGON 100240
-#define GLU_OUTLINE_PATCH 100241
-
-/* NurbsError */
-#define GLU_NURBS_ERROR1 100251
-#define GLU_NURBS_ERROR2 100252
-#define GLU_NURBS_ERROR3 100253
-#define GLU_NURBS_ERROR4 100254
-#define GLU_NURBS_ERROR5 100255
-#define GLU_NURBS_ERROR6 100256
-#define GLU_NURBS_ERROR7 100257
-#define GLU_NURBS_ERROR8 100258
-#define GLU_NURBS_ERROR9 100259
-#define GLU_NURBS_ERROR10 100260
-#define GLU_NURBS_ERROR11 100261
-#define GLU_NURBS_ERROR12 100262
-#define GLU_NURBS_ERROR13 100263
-#define GLU_NURBS_ERROR14 100264
-#define GLU_NURBS_ERROR15 100265
-#define GLU_NURBS_ERROR16 100266
-#define GLU_NURBS_ERROR17 100267
-#define GLU_NURBS_ERROR18 100268
-#define GLU_NURBS_ERROR19 100269
-#define GLU_NURBS_ERROR20 100270
-#define GLU_NURBS_ERROR21 100271
-#define GLU_NURBS_ERROR22 100272
-#define GLU_NURBS_ERROR23 100273
-#define GLU_NURBS_ERROR24 100274
-#define GLU_NURBS_ERROR25 100275
-#define GLU_NURBS_ERROR26 100276
-#define GLU_NURBS_ERROR27 100277
-#define GLU_NURBS_ERROR28 100278
-#define GLU_NURBS_ERROR29 100279
-#define GLU_NURBS_ERROR30 100280
-#define GLU_NURBS_ERROR31 100281
-#define GLU_NURBS_ERROR32 100282
-#define GLU_NURBS_ERROR33 100283
-#define GLU_NURBS_ERROR34 100284
-#define GLU_NURBS_ERROR35 100285
-#define GLU_NURBS_ERROR36 100286
-#define GLU_NURBS_ERROR37 100287
-
-/* NurbsProperty */
-#define GLU_AUTO_LOAD_MATRIX 100200
-#define GLU_CULLING 100201
-#define GLU_SAMPLING_TOLERANCE 100203
-#define GLU_DISPLAY_MODE 100204
-#define GLU_PARAMETRIC_TOLERANCE 100202
-#define GLU_SAMPLING_METHOD 100205
-#define GLU_U_STEP 100206
-#define GLU_V_STEP 100207
-
-/* NurbsSampling */
-#define GLU_PATH_LENGTH 100215
-#define GLU_PARAMETRIC_ERROR 100216
-#define GLU_DOMAIN_DISTANCE 100217
-
-/* NurbsTrim */
-#define GLU_MAP1_TRIM_2 100210
-#define GLU_MAP1_TRIM_3 100211
-
-/* QuadricDrawStyle */
-#define GLU_POINT 100010
-#define GLU_LINE 100011
-#define GLU_FILL 100012
-#define GLU_SILHOUETTE 100013
-
-/* QuadricCallback */
-#define GLU_ERROR 100103
-
-/* QuadricNormal */
-#define GLU_SMOOTH 100000
-#define GLU_FLAT 100001
-#define GLU_NONE 100002
-
-/* QuadricOrientation */
-#define GLU_OUTSIDE 100020
-#define GLU_INSIDE 100021
-
-/* TessCallback */
-#define GLU_TESS_BEGIN 100100
-#define GLU_BEGIN 100100
-#define GLU_TESS_VERTEX 100101
-#define GLU_VERTEX 100101
-#define GLU_TESS_END 100102
-#define GLU_END 100102
-#define GLU_TESS_ERROR 100103
-#define GLU_TESS_EDGE_FLAG 100104
-#define GLU_EDGE_FLAG 100104
-#define GLU_TESS_COMBINE 100105
-#define GLU_TESS_BEGIN_DATA 100106
-#define GLU_TESS_VERTEX_DATA 100107
-#define GLU_TESS_END_DATA 100108
-#define GLU_TESS_ERROR_DATA 100109
-#define GLU_TESS_EDGE_FLAG_DATA 100110
-#define GLU_TESS_COMBINE_DATA 100111
-
-/* TessContour */
-#define GLU_CW 100120
-#define GLU_CCW 100121
-#define GLU_INTERIOR 100122
-#define GLU_EXTERIOR 100123
-#define GLU_UNKNOWN 100124
-
-/* TessProperty */
-#define GLU_TESS_WINDING_RULE 100140
-#define GLU_TESS_BOUNDARY_ONLY 100141
-#define GLU_TESS_TOLERANCE 100142
-
-/* TessError */
-#define GLU_TESS_ERROR1 100151
-#define GLU_TESS_ERROR2 100152
-#define GLU_TESS_ERROR3 100153
-#define GLU_TESS_ERROR4 100154
-#define GLU_TESS_ERROR5 100155
-#define GLU_TESS_ERROR6 100156
-#define GLU_TESS_ERROR7 100157
-#define GLU_TESS_ERROR8 100158
-#define GLU_TESS_MISSING_BEGIN_POLYGON 100151
-#define GLU_TESS_MISSING_BEGIN_CONTOUR 100152
-#define GLU_TESS_MISSING_END_POLYGON 100153
-#define GLU_TESS_MISSING_END_CONTOUR 100154
-#define GLU_TESS_COORD_TOO_LARGE 100155
-#define GLU_TESS_NEED_COMBINE_CALLBACK 100156
-
-/* TessWinding */
-#define GLU_TESS_WINDING_ODD 100130
-#define GLU_TESS_WINDING_NONZERO 100131
-#define GLU_TESS_WINDING_POSITIVE 100132
-#define GLU_TESS_WINDING_NEGATIVE 100133
-#define GLU_TESS_WINDING_ABS_GEQ_TWO 100134
-
-/* Obsolete. For compatibility with previous Sun OpenGL versions */
-#define GLU_INCOMPATIBLE_GL_VERSION 100903
-
-
-/*************************************************************/
-
-
-#ifdef __cplusplus
-class GLUnurbs;
-class GLUquadric;
-class GLUtesselator;
-#else
-typedef struct GLUnurbs GLUnurbs;
-typedef struct GLUquadric GLUquadric;
-typedef struct GLUtesselator GLUtesselator;
-#endif
-
-typedef GLUnurbs GLUnurbsObj;
-typedef GLUquadric GLUquadricObj;
-typedef GLUtesselator GLUtesselatorObj;
-typedef GLUtesselator GLUtriangulatorObj;
-
-#define GLU_TESS_MAX_COORD 1.0e150
-
-/* Internal convenience typedefs */
-typedef void (APIENTRY *_GLUfuncptr)();
-
-GLAPI void APIENTRY gluBeginCurve (GLUnurbs* nurb);
-GLAPI void APIENTRY gluBeginPolygon (GLUtesselator* tess);
-GLAPI void APIENTRY gluBeginSurface (GLUnurbs* nurb);
-GLAPI void APIENTRY gluBeginTrim (GLUnurbs* nurb);
-GLAPI GLint APIENTRY gluBuild1DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, const void *data);
-GLAPI GLint APIENTRY gluBuild2DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *data);
-GLAPI void APIENTRY gluCylinder (GLUquadric* quad, GLdouble base, GLdouble top, GLdouble height, GLint slices, GLint stacks);
-GLAPI void APIENTRY gluDeleteNurbsRenderer (GLUnurbs* nurb);
-GLAPI void APIENTRY gluDeleteQuadric (GLUquadric* quad);
-GLAPI void APIENTRY gluDeleteTess (GLUtesselator* tess);
-GLAPI void APIENTRY gluDisk (GLUquadric* quad, GLdouble inner, GLdouble outer, GLint slices, GLint loops);
-GLAPI void APIENTRY gluEndCurve (GLUnurbs* nurb);
-GLAPI void APIENTRY gluEndPolygon (GLUtesselator* tess);
-GLAPI void APIENTRY gluEndSurface (GLUnurbs* nurb);
-GLAPI void APIENTRY gluEndTrim (GLUnurbs* nurb);
-GLAPI const GLubyte * APIENTRY gluErrorString (GLenum error);
-GLAPI const wchar_t * APIENTRY gluErrorUnicodeStringEXT (GLenum error);
-GLAPI void APIENTRY gluGetNurbsProperty (GLUnurbs* nurb, GLenum property, GLfloat* data);
-GLAPI const GLubyte * APIENTRY gluGetString (GLenum name);
-GLAPI void APIENTRY gluGetTessProperty (GLUtesselator* tess, GLenum which, GLdouble* data);
-GLAPI void APIENTRY gluLoadSamplingMatrices (GLUnurbs* nurb, const GLfloat *model, const GLfloat *perspective, const GLint *view);
-GLAPI void APIENTRY gluLookAt (GLdouble eyeX, GLdouble eyeY, GLdouble eyeZ, GLdouble centerX, GLdouble centerY, GLdouble centerZ, GLdouble upX, GLdouble upY, GLdouble upZ);
-GLAPI GLUnurbs* APIENTRY gluNewNurbsRenderer (void);
-GLAPI GLUquadric* APIENTRY gluNewQuadric (void);
-GLAPI GLUtesselator* APIENTRY gluNewTess (void);
-GLAPI void APIENTRY gluNextContour (GLUtesselator* tess, GLenum type);
-GLAPI void APIENTRY gluNurbsCallback (GLUnurbs* nurb, GLenum which, _GLUfuncptr CallBackFunc);
-GLAPI void APIENTRY gluNurbsCurve (GLUnurbs* nurb, GLint knotCount, GLfloat *knots, GLint stride, GLfloat *control, GLint order, GLenum type);
-GLAPI void APIENTRY gluNurbsProperty (GLUnurbs* nurb, GLenum property, GLfloat value);
-GLAPI void APIENTRY gluNurbsSurface (GLUnurbs* nurb, GLint sKnotCount, GLfloat* sKnots, GLint tKnotCount, GLfloat* tKnots, GLint sStride, GLint tStride, GLfloat* control, GLint sOrder, GLint tOrder, GLenum type);
-GLAPI void APIENTRY gluOrtho2D (GLdouble left, GLdouble right, GLdouble bottom, GLdouble top);
-GLAPI void APIENTRY gluPartialDisk (GLUquadric* quad, GLdouble inner, GLdouble outer, GLint slices, GLint loops, GLdouble start, GLdouble sweep);
-GLAPI void APIENTRY gluPerspective (GLdouble fovy, GLdouble aspect, GLdouble zNear, GLdouble zFar);
-GLAPI void APIENTRY gluPickMatrix (GLdouble x, GLdouble y, GLdouble delX, GLdouble delY, GLint *viewport);
-GLAPI GLint APIENTRY gluProject (GLdouble objX, GLdouble objY, GLdouble objZ, const GLdouble *model, const GLdouble *proj, const GLint *view, GLdouble* winX, GLdouble* winY, GLdouble* winZ);
-GLAPI void APIENTRY gluPwlCurve (GLUnurbs* nurb, GLint count, GLfloat* data, GLint stride, GLenum type);
-GLAPI void APIENTRY gluQuadricCallback (GLUquadric* quad, GLenum which, _GLUfuncptr CallBackFunc);
-GLAPI void APIENTRY gluQuadricDrawStyle (GLUquadric* quad, GLenum draw);
-GLAPI void APIENTRY gluQuadricNormals (GLUquadric* quad, GLenum normal);
-GLAPI void APIENTRY gluQuadricOrientation (GLUquadric* quad, GLenum orientation);
-GLAPI void APIENTRY gluQuadricTexture (GLUquadric* quad, GLboolean texture);
-GLAPI GLint APIENTRY gluScaleImage (GLenum format, GLsizei wIn, GLsizei hIn, GLenum typeIn, const void *dataIn, GLsizei wOut, GLsizei hOut, GLenum typeOut, GLvoid* dataOut);
-GLAPI void APIENTRY gluSphere (GLUquadric* quad, GLdouble radius, GLint slices, GLint stacks);
-GLAPI void APIENTRY gluTessBeginContour (GLUtesselator* tess);
-GLAPI void APIENTRY gluTessBeginPolygon (GLUtesselator* tess, GLvoid* data);
-GLAPI void APIENTRY gluTessCallback (GLUtesselator* tess, GLenum which, _GLUfuncptr CallBackFunc);
-GLAPI void APIENTRY gluTessEndContour (GLUtesselator* tess);
-GLAPI void APIENTRY gluTessEndPolygon (GLUtesselator* tess);
-GLAPI void APIENTRY gluTessNormal (GLUtesselator* tess, GLdouble valueX, GLdouble valueY, GLdouble valueZ);
-GLAPI void APIENTRY gluTessProperty (GLUtesselator* tess, GLenum which, GLdouble data);
-GLAPI void APIENTRY gluTessVertex (GLUtesselator* tess, GLdouble *location, GLvoid* data);
-GLAPI GLint APIENTRY gluUnProject (GLdouble winX, GLdouble winY, GLdouble winZ, const GLdouble *model, const GLdouble *proj, const GLint *view, GLdouble* objX, GLdouble* objY, GLdouble* objZ);
-GLAPI GLint APIENTRY gluUnProject4 (GLdouble winX, GLdouble winY, GLdouble winZ, GLdouble clipW, const GLdouble *model, const GLdouble *proj, const GLint *view, GLdouble nearVal, GLdouble farVal, GLdouble* objX, GLdouble* objY, GLdouble* objZ, GLdouble* objW);
-
-#ifdef UNICODE
-#define gluErrorStringWIN gluErrorUnicodeStringEXT
-#else
-#define gluErrorStringWIN gluErrorString
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __glu_h__ */
diff --git a/winsup/w32api/include/accctrl.h b/winsup/w32api/include/accctrl.h
deleted file mode 100644
index 6f969042f..000000000
--- a/winsup/w32api/include/accctrl.h
+++ /dev/null
@@ -1,329 +0,0 @@
-#ifndef _ACCCTRL_H
-#define _ACCCTRL_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define AccFree LocalFree
-#define ACTRL_RESERVED 0x00000000
-#define ACTRL_ACCESS_PROTECTED 0x00000001
-#define ACTRL_ACCESS_ALLOWED 0x00000001
-#define ACTRL_ACCESS_DENIED 0x00000002
-#define ACTRL_AUDIT_SUCCESS 0x00000004
-#define ACTRL_AUDIT_FAILURE 0x00000008
-#define ACTRL_SYSTEM_ACCESS 0x04000000
-#define ACTRL_DELETE 0x08000000
-#define ACTRL_READ_CONTROL 0x10000000
-#define ACTRL_CHANGE_ACCESS 0x20000000
-#define ACTRL_CHANGE_OWNER 0x40000000
-#define ACTRL_SYNCHRONIZE 0x80000000
-#define ACTRL_STD_RIGHTS_ALL 0xf8000000
-
-#define ACTRL_FILE_READ 0x00000001
-#define ACTRL_FILE_WRITE 0x00000002
-#define ACTRL_FILE_APPEND 0x00000004
-#define ACTRL_FILE_READ_PROP 0x00000008
-#define ACTRL_FILE_WRITE_PROP 0x00000010
-#define ACTRL_FILE_EXECUTE 0x00000020
-#define ACTRL_FILE_READ_ATTRIB 0x00000080
-#define ACTRL_FILE_WRITE_ATTRIB 0x00000100
-#define ACTRL_FILE_CREATE_PIPE 0x00000200
-#define ACTRL_DIR_LIST 0x00000001
-#define ACTRL_DIR_CREATE_OBJECT 0x00000002
-#define ACTRL_DIR_CREATE_CHILD 0x00000004
-#define ACTRL_DIR_DELETE_CHILD 0x00000040
-#define ACTRL_DIR_TRAVERSE 0x00000020
-#define ACTRL_KERNEL_TERMINATE 0x00000001
-#define ACTRL_KERNEL_THREAD 0x00000002
-#define ACTRL_KERNEL_VM 0x00000004
-#define ACTRL_KERNEL_VM_READ 0x00000008
-#define ACTRL_KERNEL_VM_WRITE 0x00000010
-#define ACTRL_KERNEL_DUP_HANDLE 0x00000020
-#define ACTRL_KERNEL_PROCESS 0x00000040
-#define ACTRL_KERNEL_SET_INFO 0x00000080
-#define ACTRL_KERNEL_GET_INFO 0x00000100
-#define ACTRL_KERNEL_CONTROL 0x00000200
-#define ACTRL_KERNEL_ALERT 0x00000400
-#define ACTRL_KERNEL_GET_CONTEXT 0x00000800
-#define ACTRL_KERNEL_SET_CONTEXT 0x00001000
-#define ACTRL_KERNEL_TOKEN 0x00002000
-#define ACTRL_KERNEL_IMPERSONATE 0x00004000
-#define ACTRL_KERNEL_DIMPERSONATE 0x00008000
-#define ACTRL_PRINT_SADMIN 0x00000001
-#define ACTRL_PRINT_SLIST 0x00000002
-#define ACTRL_PRINT_PADMIN 0x00000004
-#define ACTRL_PRINT_PUSE 0x00000008
-#define ACTRL_PRINT_JADMIN 0x00000010
-#define ACTRL_SVC_GET_INFO 0x00000001
-#define ACTRL_SVC_SET_INFO 0x00000002
-#define ACTRL_SVC_STATUS 0x00000004
-#define ACTRL_SVC_LIST 0x00000008
-#define ACTRL_SVC_START 0x00000010
-#define ACTRL_SVC_STOP 0x00000020
-#define ACTRL_SVC_PAUSE 0x00000040
-#define ACTRL_SVC_INTERROGATE 0x00000080
-#define ACTRL_SVC_UCONTROL 0x00000100
-#define ACTRL_REG_QUERY 0x00000001
-#define ACTRL_REG_SET 0x00000002
-#define ACTRL_REG_CREATE_CHILD 0x00000004
-#define ACTRL_REG_LIST 0x00000008
-#define ACTRL_REG_NOTIFY 0x00000010
-#define ACTRL_REG_LINK 0x00000020
-#define ACTRL_WIN_CLIPBRD 0x00000001
-#define ACTRL_WIN_GLOBAL_ATOMS 0x00000002
-#define ACTRL_WIN_CREATE 0x00000004
-#define ACTRL_WIN_LIST_DESK 0x00000008
-#define ACTRL_WIN_LIST 0x00000010
-#define ACTRL_WIN_READ_ATTRIBS 0x00000020
-#define ACTRL_WIN_WRITE_ATTRIBS 0x00000040
-#define ACTRL_WIN_SCREEN 0x00000080
-#define ACTRL_WIN_EXIT 0x00000100
-#define ACTRL_ACCESS_NO_OPTIONS 0x00000000
-#define ACTRL_ACCESS_SUPPORTS_OBJECT_ENTRIES 0x00000001
-#define ACCCTRL_DEFAULT_PROVIDERA "Windows NT Access Provider"
-#define ACCCTRL_DEFAULT_PROVIDERW L"Windows NT Access Provider"
-#define TRUSTEE_ACCESS_ALLOWED 0x00000001L
-#define TRUSTEE_ACCESS_READ 0x00000002L
-#define TRUSTEE_ACCESS_WRITE 0x00000004L
-#define TRUSTEE_ACCESS_EXPLICIT 0x00000001L
-#define TRUSTEE_ACCESS_READ_WRITE (TRUSTEE_ACCESS_READ | TRUSTEE_ACCESS_WRITE)
-#define TRUSTEE_ACCESS_ALL 0xFFFFFFFFL
-#define NO_INHERITANCE 0x0
-#define SUB_OBJECTS_ONLY_INHERIT 0x1
-#define SUB_CONTAINERS_ONLY_INHERIT 0x2
-#define SUB_CONTAINERS_AND_OBJECTS_INHERIT 0x3
-#define INHERIT_NO_PROPAGATE 0x4
-#define INHERIT_ONLY 0x8
-#define INHERITED_ACCESS_ENTRY 0x10
-#define INHERITED_PARENT 0x10000000
-#define INHERITED_GRANDPARENT 0x20000000
-
-typedef ULONG INHERIT_FLAGS, *PINHERIT_FLAGS;
-typedef ULONG ACCESS_RIGHTS, *PACCESS_RIGHTS;
-
-typedef enum _ACCESS_MODE {
- NOT_USED_ACCESS = 0,
- GRANT_ACCESS,
- SET_ACCESS,
- DENY_ACCESS,
- REVOKE_ACCESS,
- SET_AUDIT_SUCCESS,
- SET_AUDIT_FAILURE
-} ACCESS_MODE;
-typedef enum _SE_OBJECT_TYPE {
- SE_UNKNOWN_OBJECT_TYPE = 0,
- SE_FILE_OBJECT,
- SE_SERVICE,
- SE_PRINTER,
- SE_REGISTRY_KEY,
- SE_LMSHARE,
- SE_KERNEL_OBJECT,
- SE_WINDOW_OBJECT,
- SE_DS_OBJECT,
- SE_DS_OBJECT_ALL,
- SE_PROVIDER_DEFINED_OBJECT,
- SE_WMIGUID_OBJECT,
- SE_REGISTRY_WOW64_32KEY
-} SE_OBJECT_TYPE;
-typedef enum _TRUSTEE_TYPE {
- TRUSTEE_IS_UNKNOWN,
- TRUSTEE_IS_USER,
- TRUSTEE_IS_GROUP,
- TRUSTEE_IS_DOMAIN,
- TRUSTEE_IS_ALIAS,
- TRUSTEE_IS_WELL_KNOWN_GROUP,
- TRUSTEE_IS_DELETED,
- TRUSTEE_IS_INVALID,
- TRUSTEE_IS_COMPUTER
-} TRUSTEE_TYPE;
-typedef enum _TRUSTEE_FORM {
- TRUSTEE_IS_SID,
- TRUSTEE_IS_NAME,
- TRUSTEE_BAD_FORM,
- TRUSTEE_IS_OBJECTS_AND_SID,
- TRUSTEE_IS_OBJECTS_AND_NAME
-} TRUSTEE_FORM;
-typedef enum _MULTIPLE_TRUSTEE_OPERATION {
- NO_MULTIPLE_TRUSTEE,
- TRUSTEE_IS_IMPERSONATE
-} MULTIPLE_TRUSTEE_OPERATION;
-typedef struct _TRUSTEE_A {
- struct _TRUSTEE_A *pMultipleTrustee;
- MULTIPLE_TRUSTEE_OPERATION MultipleTrusteeOperation;
- TRUSTEE_FORM TrusteeForm;
- TRUSTEE_TYPE TrusteeType;
- LPSTR ptstrName;
-} TRUSTEE_A, *PTRUSTEE_A, TRUSTEEA, *PTRUSTEEA;
-typedef struct _TRUSTEE_W {
- struct _TRUSTEE_W *pMultipleTrustee;
- MULTIPLE_TRUSTEE_OPERATION MultipleTrusteeOperation;
- TRUSTEE_FORM TrusteeForm;
- TRUSTEE_TYPE TrusteeType;
- LPWSTR ptstrName;
-} TRUSTEE_W, *PTRUSTEE_W, TRUSTEEW, *PTRUSTEEW;
-typedef struct _ACTRL_ACCESS_ENTRYA {
- TRUSTEE_A Trustee;
- ULONG fAccessFlags;
- ACCESS_RIGHTS Access;
- ACCESS_RIGHTS ProvSpecificAccess;
- INHERIT_FLAGS Inheritance;
- LPCSTR lpInheritProperty;
-} ACTRL_ACCESS_ENTRYA, *PACTRL_ACCESS_ENTRYA;
-typedef struct _ACTRL_ACCESS_ENTRYW {
- TRUSTEE_W Trustee;
- ULONG fAccessFlags;
- ACCESS_RIGHTS Access;
- ACCESS_RIGHTS ProvSpecificAccess;
- INHERIT_FLAGS Inheritance;
- LPCWSTR lpInheritProperty;
-} ACTRL_ACCESS_ENTRYW, *PACTRL_ACCESS_ENTRYW;
-typedef struct _ACTRL_ACCESS_ENTRY_LISTA {
- ULONG cEntries;
- ACTRL_ACCESS_ENTRYA *pAccessList;
-} ACTRL_ACCESS_ENTRY_LISTA, *PACTRL_ACCESS_ENTRY_LISTA;
-typedef struct _ACTRL_ACCESS_ENTRY_LISTW {
- ULONG cEntries;
- ACTRL_ACCESS_ENTRYW *pAccessList;
-} ACTRL_ACCESS_ENTRY_LISTW, *PACTRL_ACCESS_ENTRY_LISTW;
-typedef struct _ACTRL_PROPERTY_ENTRYA {
- LPCSTR lpProperty;
- PACTRL_ACCESS_ENTRY_LISTA pAccessEntryList;
- ULONG fListFlags;
-} ACTRL_PROPERTY_ENTRYA, *PACTRL_PROPERTY_ENTRYA;
-typedef struct _ACTRL_PROPERTY_ENTRYW {
- LPCWSTR lpProperty;
- PACTRL_ACCESS_ENTRY_LISTW pAccessEntryList;
- ULONG fListFlags;
-} ACTRL_PROPERTY_ENTRYW, *PACTRL_PROPERTY_ENTRYW;
-typedef struct _ACTRL_ALISTA {
- ULONG cEntries;
- PACTRL_PROPERTY_ENTRYA pPropertyAccessList;
-} ACTRL_ACCESSA, *PACTRL_ACCESSA, ACTRL_AUDITA, *PACTRL_AUDITA;
-typedef struct _ACTRL_ALISTW {
- ULONG cEntries;
- PACTRL_PROPERTY_ENTRYW pPropertyAccessList;
-} ACTRL_ACCESSW, *PACTRL_ACCESSW, ACTRL_AUDITW, *PACTRL_AUDITW;
-typedef struct _TRUSTEE_ACCESSA {
- LPSTR lpProperty;
- ACCESS_RIGHTS Access;
- ULONG fAccessFlags;
- ULONG fReturnedAccess;
-} TRUSTEE_ACCESSA, *PTRUSTEE_ACCESSA;
-typedef struct _TRUSTEE_ACCESSW {
- LPWSTR lpProperty;
- ACCESS_RIGHTS Access;
- ULONG fAccessFlags;
- ULONG fReturnedAccess;
-} TRUSTEE_ACCESSW, *PTRUSTEE_ACCESSW;
-typedef struct _ACTRL_OVERLAPPED {
- _ANONYMOUS_UNION
- union {
- PVOID Provider;
- ULONG Reserved1;
- } DUMMYUNIONNAME;
- ULONG Reserved2;
- HANDLE hEvent;
-} ACTRL_OVERLAPPED, *PACTRL_OVERLAPPED;
-typedef struct _ACTRL_ACCESS_INFOA {
- ULONG fAccessPermission;
- LPSTR lpAccessPermissionName;
-} ACTRL_ACCESS_INFOA, *PACTRL_ACCESS_INFOA;
-typedef struct _ACTRL_ACCESS_INFOW {
- ULONG fAccessPermission;
- LPWSTR lpAccessPermissionName;
-} ACTRL_ACCESS_INFOW, *PACTRL_ACCESS_INFOW;
-typedef struct _ACTRL_CONTROL_INFOA {
- LPSTR lpControlId;
- LPSTR lpControlName;
-} ACTRL_CONTROL_INFOA, *PACTRL_CONTROL_INFOA;
-typedef struct _ACTRL_CONTROL_INFOW {
- LPWSTR lpControlId;
- LPWSTR lpControlName;
-} ACTRL_CONTROL_INFOW, *PACTRL_CONTROL_INFOW;
-typedef struct _EXPLICIT_ACCESS_A {
- DWORD grfAccessPermissions;
- ACCESS_MODE grfAccessMode;
- DWORD grfInheritance;
- TRUSTEE_A Trustee;
-} EXPLICIT_ACCESS_A, *PEXPLICIT_ACCESS_A, EXPLICIT_ACCESSA, *PEXPLICIT_ACCESSA;
-typedef struct _EXPLICIT_ACCESS_W {
- DWORD grfAccessPermissions;
- ACCESS_MODE grfAccessMode;
- DWORD grfInheritance;
- TRUSTEE_W Trustee;
-} EXPLICIT_ACCESS_W, *PEXPLICIT_ACCESS_W, EXPLICIT_ACCESSW, *PEXPLICIT_ACCESSW;
-typedef struct _OBJECTS_AND_SID {
- DWORD ObjectsPresent;
- GUID ObjectTypeGuid;
- GUID InheritedObjectTypeGuid;
- SID * pSid;
-} OBJECTS_AND_SID, *POBJECTS_AND_SID;
-typedef struct _OBJECTS_AND_NAME_A {
- DWORD ObjectsPresent;
- SE_OBJECT_TYPE ObjectType;
- LPSTR ObjectTypeName;
- LPSTR InheritedObjectTypeName;
- LPSTR ptstrName;
-} OBJECTS_AND_NAME_A, *POBJECTS_AND_NAME_A;
-typedef struct _OBJECTS_AND_NAME_W {
- DWORD ObjectsPresent;
- SE_OBJECT_TYPE ObjectType;
- LPWSTR ObjectTypeName;
- LPWSTR InheritedObjectTypeName;
- LPWSTR ptstrName;
-} OBJECTS_AND_NAME_W, *POBJECTS_AND_NAME_W;
-#if (_WIN32_WINNT >= 0x0501)
-typedef struct {
- LONG GenerationGap;
- LPSTR AncestorName;
-} INHERITED_FROMA, *PINHERITED_FROMA;
-typedef struct {
- LONG GenerationGap;
- LPWSTR AncestorName;
-} INHERITED_FROMW, *PINHERITED_FROMW;
-#endif /* (_WIN32_WINNT >= 0x0501) */
-
-#ifdef UNICODE
-#define ACCCTRL_DEFAULT_PROVIDER ACCCTRL_DEFAULT_PROVIDERW
-typedef TRUSTEE_W TRUSTEE_, *PTRUSTEE_;
-typedef TRUSTEEW TRUSTEE, *PTRUSTEE;
-typedef ACTRL_ACCESSW ACTRL_ACCESS, *PACTRL_ACCESS;
-typedef ACTRL_ACCESS_ENTRY_LISTW ACTRL_ACCESS_ENTRY_LIST, *PACTRL_ACCESS_ENTRY_LIST;
-typedef ACTRL_ACCESS_INFOW ACTRL_ACCESS_INFO, *PACTRL_ACCESS_INFO;
-typedef ACTRL_ACCESS_ENTRYW ACTRL_ACCESS_ENTRY, *PACTRL_ACCESS_ENTRY;
-typedef ACTRL_AUDITW ACTRL_AUDIT, *PACTRL_AUDIT;
-typedef ACTRL_CONTROL_INFOW ACTRL_CONTROL_INFO, *PACTRL_CONTROL_INFO;
-typedef EXPLICIT_ACCESS_W EXPLICIT_ACCESS_, *PEXPLICIT_ACCESS_;
-typedef EXPLICIT_ACCESSW EXPLICIT_ACCESS, *PEXPLICIT_ACCESS;
-typedef TRUSTEE_ACCESSW TRUSTEE_ACCESS, *PTRUSTEE_ACCESS;
-typedef OBJECTS_AND_NAME_W OBJECTS_AND_NAME_, *POBJECTS_AND_NAME_;
-#if (_WIN32_WINNT >= 0x0501)
-typedef INHERITED_FROMW INHERITED_FROM, *PINHERITED_FROM;
-#endif
-#else
-#define ACCCTRL_DEFAULT_PROVIDER ACCCTRL_DEFAULT_PROVIDERA
-typedef TRUSTEE_A TRUSTEE_, *PTRUSTEE_;
-typedef TRUSTEEA TRUSTEE, *PTRUSTEE;
-typedef ACTRL_ACCESSA ACTRL_ACCESS, *PACTRL_ACCESS;
-typedef ACTRL_ACCESS_ENTRY_LISTA ACTRL_ACCESS_ENTRY_LIST, *PACTRL_ACCESS_ENTRY_LIST;
-typedef ACTRL_ACCESS_INFOA ACTRL_ACCESS_INFO, *PACTRL_ACCESS_INFO;
-typedef ACTRL_ACCESS_ENTRYA ACTRL_ACCESS_ENTRY, *PACTRL_ACCESS_ENTRY;
-typedef ACTRL_AUDITA ACTRL_AUDIT, *PACTRL_AUDIT;
-typedef ACTRL_CONTROL_INFOA ACTRL_CONTROL_INFO, *PACTRL_CONTROL_INFO;
-typedef EXPLICIT_ACCESS_A EXPLICIT_ACCESS_, *PEXPLICIT_ACCESS_;
-typedef EXPLICIT_ACCESSA EXPLICIT_ACCESS, *PEXPLICIT_ACCESS;
-typedef TRUSTEE_ACCESSA TRUSTEE_ACCESS, *PTRUSTEE_ACCESS;
-typedef OBJECTS_AND_NAME_A OBJECTS_AND_NAME_, *POBJECTS_AND_NAME_;
-#if (_WIN32_WINNT >= 0x0501)
-typedef INHERITED_FROMA INHERITED_FROM, *PINHERITED_FROM;
-#endif
-#endif /* UNICODE */
-
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/winsup/w32api/include/aclapi.h b/winsup/w32api/include/aclapi.h
deleted file mode 100644
index d4ef6a794..000000000
--- a/winsup/w32api/include/aclapi.h
+++ /dev/null
@@ -1,117 +0,0 @@
-#ifndef _ACLAPI_H
-#define _ACLAPI_H
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-#include <windows.h>
-#include <accctrl.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-VOID WINAPI BuildExplicitAccessWithNameA(PEXPLICIT_ACCESS_A,LPSTR,DWORD,ACCESS_MODE,DWORD);
-VOID WINAPI BuildExplicitAccessWithNameW(PEXPLICIT_ACCESS_W,LPWSTR,DWORD,ACCESS_MODE,DWORD);
-DWORD WINAPI BuildSecurityDescriptorA(PTRUSTEE_A,PTRUSTEE_A ,ULONG,PEXPLICIT_ACCESS_A,
- ULONG,PEXPLICIT_ACCESS_A,PSECURITY_DESCRIPTOR,PULONG,PSECURITY_DESCRIPTOR*);
-DWORD WINAPI BuildSecurityDescriptorW(PTRUSTEE_W,PTRUSTEE_W ,ULONG,PEXPLICIT_ACCESS_W,
- ULONG,PEXPLICIT_ACCESS_W,PSECURITY_DESCRIPTOR,PULONG,PSECURITY_DESCRIPTOR*);
-VOID WINAPI BuildTrusteeWithNameA(PTRUSTEE_A,LPSTR);
-VOID WINAPI BuildTrusteeWithNameW(PTRUSTEE_W,LPWSTR);
-VOID WINAPI BuildTrusteeWithObjectsAndNameA(PTRUSTEE_A,POBJECTS_AND_NAME_A,SE_OBJECT_TYPE,
- LPSTR,LPSTR,LPSTR);
-VOID WINAPI BuildTrusteeWithObjectsAndNameW(PTRUSTEE_W,POBJECTS_AND_NAME_W,SE_OBJECT_TYPE,
- LPWSTR,LPWSTR,LPWSTR);
-VOID WINAPI BuildTrusteeWithObjectsAndSidA(PTRUSTEE_A,POBJECTS_AND_SID,GUID*,GUID*,PSID);
-VOID WINAPI BuildTrusteeWithObjectsAndSidW(PTRUSTEE_W,POBJECTS_AND_SID,GUID*,GUID*,PSID);
-VOID WINAPI BuildTrusteeWithSidA(PTRUSTEE_A,PSID);
-VOID WINAPI BuildTrusteeWithSidW(PTRUSTEE_W,PSID);
-DWORD WINAPI GetAuditedPermissionsFromAclA(PACL,PTRUSTEE_A,PACCESS_MASK,PACCESS_MASK);
-DWORD WINAPI GetAuditedPermissionsFromAclW(PACL,PTRUSTEE_W,PACCESS_MASK,PACCESS_MASK);
-DWORD WINAPI GetEffectiveRightsFromAclA(PACL,PTRUSTEE_A,PACCESS_MASK);
-DWORD WINAPI GetEffectiveRightsFromAclW(PACL,PTRUSTEE_W,PACCESS_MASK);
-DWORD WINAPI GetExplicitEntriesFromAclA(PACL,PULONG,PEXPLICIT_ACCESS_A*);
-DWORD WINAPI GetExplicitEntriesFromAclW(PACL,PULONG,PEXPLICIT_ACCESS_W*);
-#if (_WIN32_WINNT >= 0x0501)
-DWORD WINAPI GetInheritanceSourceA(LPSTR,SE_OBJECT_TYPE,SECURITY_INFORMATION,BOOL,GUID**,DWORD,PACL,void*,PGENERIC_MAPPING,PINHERITED_FROMA);
-DWORD WINAPI GetInheritanceSourceW(LPWSTR,SE_OBJECT_TYPE,SECURITY_INFORMATION,BOOL,GUID**,DWORD,PACL,void*,PGENERIC_MAPPING,PINHERITED_FROMW);
-#endif
-DWORD WINAPI GetNamedSecurityInfoA(LPSTR,SE_OBJECT_TYPE,SECURITY_INFORMATION,
- PSID*,PSID*,PACL*,PACL*,PSECURITY_DESCRIPTOR*);
-DWORD WINAPI GetNamedSecurityInfoW(LPWSTR,SE_OBJECT_TYPE,SECURITY_INFORMATION,
- PSID*,PSID*,PACL*,PACL*,PSECURITY_DESCRIPTOR*);
-DWORD WINAPI GetSecurityInfo(HANDLE,SE_OBJECT_TYPE,SECURITY_INFORMATION,
- PSID*,PSID*,PACL*,PACL*,PSECURITY_DESCRIPTOR*);
-TRUSTEE_FORM WINAPI GetTrusteeFormA(PTRUSTEE_A);
-TRUSTEE_FORM WINAPI GetTrusteeFormW(PTRUSTEE_W);
-LPSTR WINAPI GetTrusteeNameA(PTRUSTEE_A);
-LPWSTR WINAPI GetTrusteeNameW(PTRUSTEE_W);
-TRUSTEE_TYPE WINAPI GetTrusteeTypeA(PTRUSTEE_A);
-TRUSTEE_TYPE WINAPI GetTrusteeTypeW(PTRUSTEE_W);
-DWORD WINAPI LookupSecurityDescriptorPartsA(PTRUSTEE_A*,PTRUSTEE_A*,PULONG,PEXPLICIT_ACCESS_A*,
- PULONG,PEXPLICIT_ACCESS_A*,PSECURITY_DESCRIPTOR);
-DWORD WINAPI LookupSecurityDescriptorPartsW(PTRUSTEE_W*,PTRUSTEE_W*,PULONG,PEXPLICIT_ACCESS_W*,
- PULONG,PEXPLICIT_ACCESS_W*,PSECURITY_DESCRIPTOR);
-DWORD WINAPI SetEntriesInAclA(ULONG,PEXPLICIT_ACCESS_A,PACL,PACL*);
-DWORD WINAPI SetEntriesInAclW(ULONG,PEXPLICIT_ACCESS_W,PACL,PACL*);
-DWORD WINAPI SetNamedSecurityInfoA(LPSTR,SE_OBJECT_TYPE,SECURITY_INFORMATION,PSID,PSID,PACL,PACL);
-DWORD WINAPI SetNamedSecurityInfoW(LPWSTR,SE_OBJECT_TYPE,SECURITY_INFORMATION,PSID,PSID,PACL,PACL);
-DWORD WINAPI SetSecurityInfo(HANDLE,SE_OBJECT_TYPE,SECURITY_INFORMATION,PSID,PSID,PACL,PACL);
-VOID WINAPI BuildImpersonateExplicitAccessWithNameA(PEXPLICIT_ACCESS_A,LPSTR,PTRUSTEE_A,DWORD,ACCESS_MODE,DWORD);
-VOID WINAPI BuildImpersonateExplicitAccessWithNameW(PEXPLICIT_ACCESS_W,LPWSTR,PTRUSTEE_W,DWORD,ACCESS_MODE,DWORD);
-VOID WINAPI BuildImpersonateTrusteeA(PTRUSTEE_A,PTRUSTEE_A);
-VOID WINAPI BuildImpersonateTrusteeW(PTRUSTEE_W,PTRUSTEE_W);
-PTRUSTEE_A WINAPI GetMultipleTrusteeA(PTRUSTEE_A);
-PTRUSTEE_W WINAPI GetMultipleTrusteeW(PTRUSTEE_W);
-MULTIPLE_TRUSTEE_OPERATION WINAPI GetMultipleTrusteeOperationA(PTRUSTEE_A);
-MULTIPLE_TRUSTEE_OPERATION WINAPI GetMultipleTrusteeOperationW(PTRUSTEE_W);
-
-#ifdef UNICODE
-#define BuildExplicitAccessWithName BuildExplicitAccessWithNameW
-#define BuildSecurityDescriptor BuildSecurityDescriptorW
-#define BuildTrusteeWithName BuildTrusteeWithNameW
-#define BuildTrusteeWithObjectsAndName BuildTrusteeWithObjectsAndNameW
-#define BuildTrusteeWithObjectsAndSid BuildTrusteeWithObjectsAndSidW
-#define BuildTrusteeWithSid BuildTrusteeWithSidW
-#define GetAuditedPermissionsFromAcl GetAuditedPermissionsFromAclW
-#define GetEffectiveRightsFromAcl GetEffectiveRightsFromAclW
-#define GetExplicitEntriesFromAcl GetExplicitEntriesFromAclW
-#define GetNamedSecurityInfo GetNamedSecurityInfoW
-#define GetTrusteeForm GetTrusteeFormW
-#define GetTrusteeName GetTrusteeNameW
-#define GetTrusteeType GetTrusteeTypeW
-#define LookupSecurityDescriptorParts LookupSecurityDescriptorPartsW
-#define SetEntriesInAcl SetEntriesInAclW
-#define SetNamedSecurityInfo SetNamedSecurityInfoW
-#define BuildImpersonateExplicitAccessWithName BuildImpersonateExplicitAccessWithNameW
-#define BuildImpersonateTrustee BuildImpersonateTrusteeW
-#define GetMultipleTrustee GetMultipleTrusteeW
-#define GetMultipleTrusteeOperation GetMultipleTrusteeOperationW
-#else
-#define BuildExplicitAccessWithName BuildExplicitAccessWithNameA
-#define BuildSecurityDescriptor BuildSecurityDescriptorA
-#define BuildTrusteeWithName BuildTrusteeWithNameA
-#define BuildTrusteeWithObjectsAndName BuildTrusteeWithObjectsAndNameA
-#define BuildTrusteeWithObjectsAndSid BuildTrusteeWithObjectsAndSidA
-#define BuildTrusteeWithSid BuildTrusteeWithSidA
-#define GetAuditedPermissionsFromAcl GetAuditedPermissionsFromAclA
-#define GetEffectiveRightsFromAcl GetEffectiveRightsFromAclA
-#define GetExplicitEntriesFromAcl GetExplicitEntriesFromAclA
-#define GetNamedSecurityInfo GetNamedSecurityInfoA
-#define GetTrusteeForm GetTrusteeFormA
-#define GetTrusteeName GetTrusteeNameA
-#define GetTrusteeType GetTrusteeTypeA
-#define LookupSecurityDescriptorParts LookupSecurityDescriptorPartsA
-#define SetEntriesInAcl SetEntriesInAclA
-#define SetNamedSecurityInfo SetNamedSecurityInfoA
-#define BuildImpersonateExplicitAccessWithName BuildImpersonateExplicitAccessWithNameA
-#define BuildImpersonateTrustee BuildImpersonateTrusteeA
-#define GetMultipleTrustee GetMultipleTrusteeA
-#define GetMultipleTrusteeOperation GetMultipleTrusteeOperationA
-#endif /* UNICODE */
-
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/winsup/w32api/include/aclui.h b/winsup/w32api/include/aclui.h
deleted file mode 100644
index 016bc73af..000000000
--- a/winsup/w32api/include/aclui.h
+++ /dev/null
@@ -1,134 +0,0 @@
-#ifndef _ACLUI_H
-#define _ACLUI_H
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-#ifndef __OBJC__
-#include <objbase.h>
-#include <commctrl.h>
-#include <accctrl.h>
-#endif
-
-#if !defined(_ACLUI_)
-#define ACLUIAPI DECLSPEC_IMPORT WINAPI
-#else
-#define ACLUIAPI WINAPI
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-typedef struct _SI_OBJECT_INFO
-{
- DWORD dwFlags;
- HINSTANCE hInstance;
- LPWSTR pszServerName;
- LPWSTR pszObjectName;
- LPWSTR pszPageTitle;
- GUID guidObjectType;
-} SI_OBJECT_INFO, *PSI_OBJECT_INFO;
-
-/* values for SI_OBJECT_INFO.dwFlags */
-#define SI_EDIT_PERMS 0x00000000L
-#define SI_EDIT_OWNER 0x00000001L
-#define SI_EDIT_AUDITS 0x00000002L
-#define SI_CONTAINER 0x00000004L
-#define SI_READONLY 0x00000008L
-#define SI_ADVANCED 0x00000010L
-#define SI_RESET 0x00000020L
-#define SI_OWNER_READONLY 0x00000040L
-#define SI_EDIT_PROPERTIES 0x00000080L
-#define SI_OWNER_RECURSE 0x00000100L
-#define SI_NO_ACL_PROTECT 0x00000200L
-#define SI_NO_TREE_APPLY 0x00000400L
-#define SI_PAGE_TITLE 0x00000800L
-#define SI_SERVER_IS_DC 0x00001000L
-#define SI_RESET_DACL_TREE 0x00004000L
-#define SI_RESET_SACL_TREE 0x00008000L
-#define SI_OBJECT_GUID 0x00010000L
-#define SI_EDIT_EFFECTIVE 0x00020000L
-#define SI_RESET_DACL 0x00040000L
-#define SI_RESET_SACL 0x00080000L
-#define SI_RESET_OWNER 0x00100000L
-#define SI_NO_ADDITIONAL_PERMISSION 0x00200000L
-#define SI_MAY_WRITE 0x10000000L
-
-#define SI_EDIT_ALL (SI_EDIT_PERMS | SI_EDIT_OWNER | SI_EDIT_AUDITS)
-
-
-typedef struct _SI_ACCESS
-{
- const GUID* pguid;
- ACCESS_MASK mask;
- LPCWSTR pszName;
- DWORD dwFlags;
-} SI_ACCESS, *PSI_ACCESS;
-
-/* values for SI_ACCESS.dwFlags */
-#define SI_ACCESS_SPECIFIC 0x00010000L
-#define SI_ACCESS_GENERAL 0x00020000L
-#define SI_ACCESS_CONTAINER 0x00040000L
-#define SI_ACCESS_PROPERTY 0x00080000L
-
-
-typedef struct _SI_INHERIT_TYPE
-{
- const GUID* pguid;
- ULONG dwFlags;
- LPCWSTR pszName;
-} SI_INHERIT_TYPE, *PSI_INHERIT_TYPE;
-
-/* values for SI_INHERIT_TYPE.dwFlags
- INHERIT_ONLY_ACE, CONTAINER_INHERIT_ACE, OBJECT_INHERIT_ACE
- defined elsewhere */
-
-
-typedef enum _SI_PAGE_TYPE
-{
- SI_PAGE_PERM = 0,
- SI_PAGE_ADVPERM,
- SI_PAGE_AUDIT,
- SI_PAGE_OWNER
-} SI_PAGE_TYPE;
-
-
-#define PSPCB_SI_INITDIALOG (WM_USER + 1)
-
-#ifndef __ISecurityInformation_INTERFACE_DEFINED__
-#define __ISecurityInformation_INTERFACE_DEFINED__
-#undef INTERFACE
-#define INTERFACE ISecurityInformation
-DECLARE_INTERFACE_(ISecurityInformation, IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
-
- STDMETHOD(GetObjectInformation)(THIS_ PSI_OBJECT_INFO) PURE;
- STDMETHOD(GetSecurity)(THIS_ SECURITY_INFORMATION,PSECURITY_DESCRIPTOR*,BOOL) PURE;
- STDMETHOD(SetSecurity)(THIS_ SECURITY_INFORMATION,PSECURITY_DESCRIPTOR) PURE;
- STDMETHOD(GetAccessRights)(THIS_ const GUID*,DWORD,PSI_ACCESS*,ULONG*,ULONG*) PURE;
- STDMETHOD(MapGeneric)(THIS_ const GUID*,UCHAR*,ACCESS_MASK*) PURE;
- STDMETHOD(GetInheritTypes)(THIS_ PSI_INHERIT_TYPE*,ULONG*) PURE;
- STDMETHOD(PropertySheetPageCallback)(THIS_ HWND,UINT,SI_PAGE_TYPE) PURE;
-};
-typedef ISecurityInformation *LPSECURITYINFO;
-#endif
-
-/*
- * TODO: ISecurityInformation2, IEffectivePermission, ISecurityObjectTypeInfo
- */
-
-extern DECLSPEC_IMPORT const IID IID_ISecurityInformation;
-
-
-HPROPSHEETPAGE ACLUIAPI CreateSecurityPage(LPSECURITYINFO psi);
-BOOL ACLUIAPI EditSecurity(HWND hwndOwner, LPSECURITYINFO psi);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
diff --git a/winsup/w32api/include/afxres.h b/winsup/w32api/include/afxres.h
deleted file mode 100644
index 91e7f495a..000000000
--- a/winsup/w32api/include/afxres.h
+++ /dev/null
@@ -1,23 +0,0 @@
-#ifndef _AFXRES_H
-#define _AFXRES_H
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#ifndef _WINDOWS_H
-#include <windows.h>
-#endif
-
-/* IDC_STATIC is documented in winuser.h, but not defined. */
-#ifndef IDC_STATIC
-#define IDC_STATIC (-1)
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/winsup/w32api/include/basetsd.h b/winsup/w32api/include/basetsd.h
deleted file mode 100644
index d9c375dd9..000000000
--- a/winsup/w32api/include/basetsd.h
+++ /dev/null
@@ -1,119 +0,0 @@
-#ifndef _BASETSD_H
-#define _BASETSD_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __GNUC__
-#ifndef __int64
-#define __int64 long long
-#endif
-#endif
-
-#if defined(_WIN64)
-#define __int3264 __int64
-#define ADDRESS_TAG_BIT 0x40000000000UI64
-#else /* !_WIN64 */
-#define __int3264 __int32
-#define ADDRESS_TAG_BIT 0x80000000UL
-#define HandleToUlong( h ) ((ULONG)(ULONG_PTR)(h) )
-#define HandleToLong( h ) ((LONG)(LONG_PTR) (h) )
-#define LongToHandle( h) ((HANDLE)(LONG_PTR) (h))
-#define PtrToUlong( p ) ((ULONG)(ULONG_PTR) (p) )
-#define PtrToLong( p ) ((LONG)(LONG_PTR) (p) )
-#define PtrToUint( p ) ((UINT)(UINT_PTR) (p) )
-#define PtrToInt( p ) ((INT)(INT_PTR) (p) )
-#define PtrToUshort( p ) ((unsigned short)(ULONG_PTR)(p) )
-#define PtrToShort( p ) ((short)(LONG_PTR)(p) )
-#define IntToPtr( i ) ((VOID*)(INT_PTR)((int)i))
-#define UIntToPtr( ui ) ((VOID*)(UINT_PTR)((unsigned int)ui))
-#define LongToPtr( l ) ((VOID*)(LONG_PTR)((long)l))
-#define ULongToPtr( ul ) ((VOID*)(ULONG_PTR)((unsigned long)ul))
-#endif /* !_WIN64 */
-
-#define UlongToPtr(ul) ULongToPtr(ul)
-#define UintToPtr(ui) UIntToPtr(ui)
-#define MAXUINT_PTR (~((UINT_PTR)0))
-#define MAXINT_PTR ((INT_PTR)(MAXUINT_PTR >> 1))
-#define MININT_PTR (~MAXINT_PTR)
-#define MAXULONG_PTR (~((ULONG_PTR)0))
-#define MAXLONG_PTR ((LONG_PTR)(MAXULONG_PTR >> 1))
-#define MINLONG_PTR (~MAXLONG_PTR)
-#define MAXUHALF_PTR ((UHALF_PTR)~0)
-#define MAXHALF_PTR ((HALF_PTR)(MAXUHALF_PTR >> 1))
-#define MINHALF_PTR (~MAXHALF_PTR)
-
-#ifndef RC_INVOKED
-#ifdef __cplusplus
-extern "C" {
-#endif
-typedef int LONG32, *PLONG32;
-#ifndef XFree86Server
-typedef int INT32, *PINT32;
-#endif /* ndef XFree86Server */
-typedef unsigned int ULONG32, *PULONG32;
-typedef unsigned int DWORD32, *PDWORD32;
-typedef unsigned int UINT32, *PUINT32;
-
-#if defined(_WIN64)
-typedef __int64 INT_PTR, *PINT_PTR;
-typedef unsigned __int64 UINT_PTR, *PUINT_PTR;
-typedef __int64 LONG_PTR, *PLONG_PTR;
-typedef unsigned __int64 ULONG_PTR, *PULONG_PTR;
-typedef unsigned __int64 HANDLE_PTR;
-typedef unsigned int UHALF_PTR, *PUHALF_PTR;
-typedef int HALF_PTR, *PHALF_PTR;
-
-#if 0 /* TODO when WIN64 is here */
-inline unsigned long HandleToUlong(const void* h )
- { return((unsigned long) h ); }
-inline long HandleToLong( const void* h )
- { return((long) h ); }
-inline void* LongToHandle( const long h )
- { return((void*) (INT_PTR) h ); }
-inline unsigned long PtrToUlong( const void* p)
- { return((unsigned long) p ); }
-inline unsigned int PtrToUint( const void* p )
- { return((unsigned int) p ); }
-inline unsigned short PtrToUshort( const void* p )
- { return((unsigned short) p ); }
-inline long PtrToLong( const void* p )
- { return((long) p ); }
-inline int PtrToInt( const void* p )
- { return((int) p ); }
-inline short PtrToShort( const void* p )
- { return((short) p ); }
-inline void* IntToPtr( const int i )
- { return( (void*)(INT_PTR)i ); }
-inline void* UIntToPtr(const unsigned int ui)
- { return( (void*)(UINT_PTR)ui ); }
-inline void* LongToPtr( const long l )
- { return( (void*)(LONG_PTR)l ); }
-inline void* ULongToPtr( const unsigned long ul )
- { return( (void*)(ULONG_PTR)ul ); }
-#endif /* 0_ */
-
-#else /* !_WIN64 */
-typedef int INT_PTR, *PINT_PTR;
-typedef unsigned int UINT_PTR, *PUINT_PTR;
-typedef long LONG_PTR, *PLONG_PTR;
-typedef unsigned long ULONG_PTR, *PULONG_PTR;
-typedef unsigned short UHALF_PTR, *PUHALF_PTR;
-typedef short HALF_PTR, *PHALF_PTR;
-typedef unsigned long HANDLE_PTR;
-#endif /* !_WIN64 */
-
-typedef ULONG_PTR SIZE_T, *PSIZE_T;
-typedef LONG_PTR SSIZE_T, *PSSIZE_T;
-typedef ULONG_PTR DWORD_PTR, *PDWORD_PTR;
-typedef __int64 LONG64, *PLONG64;
-typedef __int64 INT64, *PINT64;
-typedef unsigned __int64 ULONG64, *PULONG64;
-typedef unsigned __int64 DWORD64, *PDWORD64;
-typedef unsigned __int64 UINT64, *PUINT64;
-#ifdef __cplusplus
-}
-#endif
-#endif /* !RC_INVOKED */
-
-#endif /* _BASETSD_H */
diff --git a/winsup/w32api/include/basetyps.h b/winsup/w32api/include/basetyps.h
deleted file mode 100644
index d5e18bce0..000000000
--- a/winsup/w32api/include/basetyps.h
+++ /dev/null
@@ -1,169 +0,0 @@
-#ifndef _BASETYPS_H
-#define _BASETYPS_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifndef __OBJC__
-# ifdef __cplusplus
-# define EXTERN_C extern "C"
-# else
-# define EXTERN_C extern
-# endif /* __cplusplus */
-# ifndef __int64
-# define __int64 long long
-# endif
-# ifndef __int32
-# define __int32 long
-# endif
-# ifndef __int16
-# define __int16 short
-# endif
-# ifndef __int8
-# define __int8 char
-# endif
-# ifndef __small
-# define __small char
-# endif
-# ifndef __hyper
-# define __hyper long long
-# endif
-# define STDMETHODCALLTYPE __stdcall
-# define STDMETHODVCALLTYPE __cdecl
-# define STDAPICALLTYPE __stdcall
-# define STDAPIVCALLTYPE __cdecl
-# define STDAPI EXTERN_C HRESULT STDAPICALLTYPE
-# define STDAPI_(t) EXTERN_C t STDAPICALLTYPE
-# define STDMETHODIMP HRESULT STDMETHODCALLTYPE
-# define STDMETHODIMP_(t) t STDMETHODCALLTYPE
-# define STDAPIV EXTERN_C HRESULT STDAPIVCALLTYPE
-# define STDAPIV_(t) EXTERN_C t STDAPIVCALLTYPE
-# define STDMETHODIMPV HRESULT STDMETHODVCALLTYPE
-# define STDMETHODIMPV_(t) t STDMETHODVCALLTYPE
-# define interface struct
-# if defined(__cplusplus) && !defined(CINTERFACE)
-# define STDMETHOD(m) virtual HRESULT STDMETHODCALLTYPE m
-# define STDMETHOD_(t,m) virtual t STDMETHODCALLTYPE m
-# define PURE =0
-# define THIS_
-# define THIS void
-/*
- __attribute__((com_interface)) is obsolete in __GNUC__ >= 3
- g++ vtables are now COM-compatible by default
-*/
-# if defined(__GNUC__) && __GNUC__ < 3 && !defined(NOCOMATTRIBUTE)
-# define DECLARE_INTERFACE(i) interface __attribute__((com_interface)) i
-# define DECLARE_INTERFACE_(i,b) interface __attribute__((com_interface)) i : public b
-# else
-# define DECLARE_INTERFACE(i) interface i
-# define DECLARE_INTERFACE_(i,b) interface i : public b
-# endif
-# else
-# define STDMETHOD(m) HRESULT(STDMETHODCALLTYPE *m)
-# define STDMETHOD_(t,m) t(STDMETHODCALLTYPE *m)
-# define PURE
-# define THIS_ INTERFACE *,
-# define THIS INTERFACE *
-# ifndef CONST_VTABLE
-# define CONST_VTABLE
-# endif
-# define DECLARE_INTERFACE(i) \
- typedef interface i { CONST_VTABLE struct i##Vtbl *lpVtbl; } i; \
- typedef CONST_VTABLE struct i##Vtbl i##Vtbl; \
- CONST_VTABLE struct i##Vtbl
-# define DECLARE_INTERFACE_(i,b) DECLARE_INTERFACE(i)
-# endif
-# define BEGIN_INTERFACE
-# define END_INTERFACE
-
-# define FWD_DECL(i) typedef interface i i
-# if defined(__cplusplus) && !defined(CINTERFACE)
-# define IENUM_THIS(T)
-# define IENUM_THIS_(T)
-# else
-# define IENUM_THIS(T) T*
-# define IENUM_THIS_(T) T*,
-# endif
-# define DECLARE_ENUMERATOR_(I,T) \
- DECLARE_INTERFACE_(I,IUnknown) \
- { \
- STDMETHOD(QueryInterface)(IENUM_THIS_(I) REFIID,PVOID*) PURE; \
- STDMETHOD_(ULONG,AddRef)(IENUM_THIS(I)) PURE; \
- STDMETHOD_(ULONG,Release)(IENUM_THIS(I)) PURE; \
- STDMETHOD(Next)(IENUM_THIS_(I) ULONG,T*,ULONG*) PURE; \
- STDMETHOD(Skip)(IENUM_THIS_(I) ULONG) PURE; \
- STDMETHOD(Reset)(IENUM_THIS(I)) PURE; \
- STDMETHOD(Clone)(IENUM_THIS_(I) I**) PURE; \
- }
-# define DECLARE_ENUMERATOR(T) DECLARE_ENUMERATOR_(IEnum##T,T)
-
-#endif /* __OBJC__ */
-
-#ifdef _GUID_DEFINED
-# warning _GUID_DEFINED is deprecated, use GUID_DEFINED instead
-#endif
-
-#if ! (defined _GUID_DEFINED || defined GUID_DEFINED) /* also defined in winnt.h */
-#define GUID_DEFINED
-typedef struct _GUID
-{
- unsigned long Data1;
- unsigned short Data2;
- unsigned short Data3;
- unsigned char Data4[8];
-} GUID,*REFGUID,*LPGUID;
-#endif /* GUID_DEFINED */
-#ifndef UUID_DEFINED
-#define UUID_DEFINED
-typedef GUID UUID;
-#endif /* UUID_DEFINED */
-typedef GUID IID;
-typedef GUID CLSID;
-typedef CLSID *LPCLSID;
-typedef IID *LPIID;
-typedef IID *REFIID;
-typedef CLSID *REFCLSID;
-typedef GUID FMTID;
-typedef FMTID *REFFMTID;
-typedef unsigned long error_status_t;
-#define uuid_t UUID
-typedef unsigned long PROPID;
-
-#ifndef _REFGUID_DEFINED
-#if defined (__cplusplus) && !defined (CINTERFACE)
-#define REFGUID const GUID&
-#define REFIID const IID&
-#define REFCLSID const CLSID&
-#else
-#define REFGUID const GUID* const
-#define REFIID const IID* const
-#define REFCLSID const CLSID* const
-#endif
-#define _REFGUID_DEFINED
-#define _REFIID_DEFINED
-#define _REFCLSID_DEFINED
-#endif
-#ifndef GUID_SECTION
-#define GUID_SECTION ".text"
-#endif
-/* Explicit naming of .text section for readonly data is only
- needed for older GGC (pre-2.95).
- More recent (3.4) GCC puts readonly data in .rdata. */
-#if defined (__GNUC__) && (__GNUC__ <= 2 && __GNUC_MINOR__ < 95)
-#define GUID_SECT __attribute__ ((section (GUID_SECTION)))
-#else
-#define GUID_SECT
-#endif
-#if !defined(INITGUID) || (defined(INITGUID) && defined(__cplusplus))
-#define GUID_EXT EXTERN_C
-#else
-#define GUID_EXT
-#endif
-#ifdef INITGUID
-#define DEFINE_GUID(n,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) GUID_EXT const GUID n GUID_SECT = {l,w1,w2,{b1,b2,b3,b4,b5,b6,b7,b8}}
-#define DEFINE_OLEGUID(n,l,w1,w2) DEFINE_GUID(n,l,w1,w2,0xC0,0,0,0,0,0,0,0x46)
-#else
-#define DEFINE_GUID(n,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) GUID_EXT const GUID n
-#define DEFINE_OLEGUID(n,l,w1,w2) DEFINE_GUID(n,l,w1,w2,0xC0,0,0,0,0,0,0,0x46)
-#endif
-#endif
diff --git a/winsup/w32api/include/cderr.h b/winsup/w32api/include/cderr.h
deleted file mode 100644
index e9a5b0570..000000000
--- a/winsup/w32api/include/cderr.h
+++ /dev/null
@@ -1,44 +0,0 @@
-#ifndef _CDERR_H
-#define _CDERR_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#define CDERR_DIALOGFAILURE 0xFFFF
-#define CDERR_GENERALCODES 0x0000
-#define CDERR_STRUCTSIZE 0x0001
-#define CDERR_INITIALIZATION 0x0002
-#define CDERR_NOTEMPLATE 0x0003
-#define CDERR_NOHINSTANCE 0x0004
-#define CDERR_LOADSTRFAILURE 0x0005
-#define CDERR_FINDRESFAILURE 0x0006
-#define CDERR_LOADRESFAILURE 0x0007
-#define CDERR_LOCKRESFAILURE 0x0008
-#define CDERR_MEMALLOCFAILURE 0x0009
-#define CDERR_MEMLOCKFAILURE 0x000A
-#define CDERR_NOHOOK 0x000B
-#define CDERR_REGISTERMSGFAIL 0x000C
-#define PDERR_PRINTERCODES 0x1000
-#define PDERR_SETUPFAILURE 0x1001
-#define PDERR_PARSEFAILURE 0x1002
-#define PDERR_RETDEFFAILURE 0x1003
-#define PDERR_LOADDRVFAILURE 0x1004
-#define PDERR_GETDEVMODEFAIL 0x1005
-#define PDERR_INITFAILURE 0x1006
-#define PDERR_NODEVICES 0x1007
-#define PDERR_NODEFAULTPRN 0x1008
-#define PDERR_DNDMMISMATCH 0x1009
-#define PDERR_CREATEICFAILURE 0x100A
-#define PDERR_PRINTERNOTFOUND 0x100B
-#define PDERR_DEFAULTDIFFERENT 0x100C
-#define CFERR_CHOOSEFONTCODES 0x2000
-#define CFERR_NOFONTS 0x2001
-#define CFERR_MAXLESSTHANMIN 0x2002
-#define FNERR_FILENAMECODES 0x3000
-#define FNERR_SUBCLASSFAILURE 0x3001
-#define FNERR_INVALIDFILENAME 0x3002
-#define FNERR_BUFFERTOOSMALL 0x3003
-#define FRERR_FINDREPLACECODES 0x4000
-#define FRERR_BUFFERLENGTHZERO 0x4001
-#define CCERR_CHOOSECOLORCODES 0x5000
-#endif
diff --git a/winsup/w32api/include/cguid.h b/winsup/w32api/include/cguid.h
deleted file mode 100644
index ca64c5e66..000000000
--- a/winsup/w32api/include/cguid.h
+++ /dev/null
@@ -1,83 +0,0 @@
-#ifndef _CGUID_H
-#define _CGUID_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-extern const IID GUID_NULL;
-extern const IID IID_IRpcChannel;
-extern const IID IID_IRpcStub;
-extern const IID IID_IStubManager;
-extern const IID IID_IRpcProxy;
-extern const IID IID_IProxyManager;
-extern const IID IID_IPSFactory;
-extern const IID IID_IInternalMoniker;
-extern const IID IID_IDfReserved1;
-extern const IID IID_IDfReserved2;
-extern const IID IID_IDfReserved3;
-extern const CLSID CLSID_StdMarshal;
-extern const IID IID_IStub;
-extern const IID IID_IProxy;
-extern const IID IID_IEnumGeneric;
-extern const IID IID_IEnumHolder;
-extern const IID IID_IEnumCallback;
-extern const IID IID_IOleManager;
-extern const IID IID_IOlePresObj;
-extern const IID IID_IDebug;
-extern const IID IID_IDebugStream;
-extern const CLSID CLSID_PSGenObject;
-extern const CLSID CLSID_PSClientSite;
-extern const CLSID CLSID_PSClassObject;
-extern const CLSID CLSID_PSInPlaceActive;
-extern const CLSID CLSID_PSInPlaceFrame;
-extern const CLSID CLSID_PSDragDrop;
-extern const CLSID CLSID_PSBindCtx;
-extern const CLSID CLSID_PSEnumerators;
-extern const CLSID CLSID_StaticMetafile;
-extern const CLSID CLSID_StaticDib;
-extern const CLSID CID_CDfsVolume;
-extern const CLSID CLSID_CCDFormKrnl;
-extern const CLSID CLSID_CCDPropertyPage;
-extern const CLSID CLSID_CCDFormDialog;
-extern const CLSID CLSID_CCDCommandButton;
-extern const CLSID CLSID_CCDComboBox;
-extern const CLSID CLSID_CCDTextBox;
-extern const CLSID CLSID_CCDCheckBox;
-extern const CLSID CLSID_CCDLabel;
-extern const CLSID CLSID_CCDOptionButton;
-extern const CLSID CLSID_CCDListBox;
-extern const CLSID CLSID_CCDScrollBar;
-extern const CLSID CLSID_CCDGroupBox;
-extern const CLSID CLSID_CCDGeneralPropertyPage;
-extern const CLSID CLSID_CCDGenericPropertyPage;
-extern const CLSID CLSID_CCDFontPropertyPage;
-extern const CLSID CLSID_CCDColorPropertyPage;
-extern const CLSID CLSID_CCDLabelPropertyPage;
-extern const CLSID CLSID_CCDCheckBoxPropertyPage;
-extern const CLSID CLSID_CCDTextBoxPropertyPage;
-extern const CLSID CLSID_CCDOptionButtonPropertyPage;
-extern const CLSID CLSID_CCDListBoxPropertyPage;
-extern const CLSID CLSID_CCDCommandButtonPropertyPage;
-extern const CLSID CLSID_CCDComboBoxPropertyPage;
-extern const CLSID CLSID_CCDScrollBarPropertyPage;
-extern const CLSID CLSID_CCDGroupBoxPropertyPage;
-extern const CLSID CLSID_CCDXObjectPropertyPage;
-extern const CLSID CLSID_CStdPropertyFrame;
-extern const CLSID CLSID_CFormPropertyPage;
-extern const CLSID CLSID_CGridPropertyPage;
-extern const CLSID CLSID_CWSJArticlePage;
-extern const CLSID CLSID_CSystemPage;
-extern const CLSID CLSID_IdentityUnmarshal;
-extern const CLSID CLSID_InProcFreeMarshaler;
-extern const CLSID CLSID_Picture_Metafile;
-extern const CLSID CLSID_Picture_EnhMetafile;
-extern const CLSID CLSID_Picture_Dib;
-extern const CLSID CLSID_StdGlobalInterfaceTable;
-extern const GUID GUID_TRISTATE;
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/winsup/w32api/include/comcat.h b/winsup/w32api/include/comcat.h
deleted file mode 100644
index e264ac999..000000000
--- a/winsup/w32api/include/comcat.h
+++ /dev/null
@@ -1,177 +0,0 @@
-#ifndef _COMCAT_H
-#define _COMCAT_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifndef COM_NO_WINDOWS_H
-#include <windows.h>
-#include <ole2.h>
-#endif
-
-#ifndef _RC_INVOKED
-
-#ifdef __cplusplus
-extern "C"{
-#endif
-
-EXTERN_C const IID IID_IEnumGUID;
-typedef interface IEnumGUID *LPENUMGUID;
-
-#undef INTERFACE
-#define INTERFACE IEnumGUID
-DECLARE_INTERFACE_(IEnumGUID,IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(Next)(THIS_ ULONG,GUID*,ULONG*) PURE;
- STDMETHOD(Skip)(THIS_ ULONG) PURE;
- STDMETHOD(Reset)(THIS) PURE;
- STDMETHOD(Clone)(THIS_ LPENUMGUID*) PURE;
-};
-#undef INTERFACE
-#if (!defined (__cplusplus) || defined (CINTERFACE)) \
- && defined (COBJMACROS)
-#define IEnumGUID_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IEnumGUID_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IEnumGUID_Release(p) (p)->lpVtbl->Release(p)
-#define IEnumGUID_Next(p,a,b,c) (p)->lpVtbl->Next(p,a,b,c)
-#define IEnumGUID_Skip(p,a) (p)->lpVtbl->Skip(p,a)
-#define IEnumGUID_Reset(p) (p)->lpVtbl->Reset(p)
-#define IEnumGUID_Clone(p,a) (p)->lpVtbl->Clone(p,a)
-#endif
-
-typedef GUID CATID;
-typedef REFGUID REFCATID;
-#define CATID_NULL GUID_NULL
-#define IsEqualCATID(a, b) IsEqualGUID(a, b)
-
-typedef struct tagCATEGORYINFO {
- CATID catid; /* category identifier for component */
- LCID lcid; /* locale identifier */
- OLECHAR szDescription[128]; /* description of the category */
-} CATEGORYINFO, *LPCATEGORYINFO;
-
-EXTERN_C const CATID CATID_Insertable;
-EXTERN_C const CATID CATID_Control;
-EXTERN_C const CATID CATID_Programmable;
-EXTERN_C const CATID CATID_IsShortcut;
-EXTERN_C const CATID CATID_NeverShowExt;
-EXTERN_C const CATID CATID_DocObject;
-EXTERN_C const CATID CATID_Printable;
-EXTERN_C const CATID CATID_RequiresDataPathHost;
-EXTERN_C const CATID CATID_PersistsToMoniker;
-EXTERN_C const CATID CATID_PersistsToStorage;
-EXTERN_C const CATID CATID_PersistsToStreamInit;
-EXTERN_C const CATID CATID_PersistsToStream;
-EXTERN_C const CATID CATID_PersistsToMemory;
-EXTERN_C const CATID CATID_PersistsToFile;
-EXTERN_C const CATID CATID_PersistsToPropertyBag;
-EXTERN_C const CATID CATID_InternetAware;
-EXTERN_C const CATID CATID_DesignTimeUIActivatableControl;
-
-#define IEnumCATID IEnumGUID
-#define LPENUMCATID LPENUMGUID
-#define IID_IEnumCATID IID_IEnumGUID
-
-#define IEnumCLSID IEnumGUID
-#define LPENUMCLSID LPENUMGUID
-#define IID_IEnumCLSID IID_IEnumGUID
-
-EXTERN_C const IID IID_ICatInformation;
-typedef interface ICatInformation *LPCATINFORMATION;
-
-EXTERN_C const IID IID_ICatRegister;
-typedef interface ICatRegister *LPCATREGISTER;
-
-EXTERN_C const IID IID_IEnumCATEGORYINFO;
-typedef interface IEnumCATEGORYINFO *LPENUMCATEGORYINFO;
-
-EXTERN_C const CLSID CLSID_StdComponentCategoriesMgr;
-
-#define INTERFACE ICatInformation
-DECLARE_INTERFACE_(ICatInformation,IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(EnumCategories)(THIS_ LCID,LPENUMCATEGORYINFO*) PURE;
- STDMETHOD(GetCategoryDesc)(THIS_ REFCATID,LCID,PWCHAR*) PURE;
- STDMETHOD(EnumClassesOfCategories)(THIS_ ULONG,CATID*,ULONG,CATID*,LPENUMCLSID*) PURE;
- STDMETHOD(IsClassOfCategories)(THIS_ REFCLSID,ULONG,CATID*,ULONG,CATID*) PURE;
- STDMETHOD(EnumImplCategoriesOfClass)(THIS_ REFCLSID,LPENUMCATID*) PURE;
- STDMETHOD(EnumReqCategoriesOfClass)(THIS_ REFCLSID,LPENUMCATID*) PURE;
-};
-#undef INTERFACE
-#if (!defined (__cplusplus) || defined (CINTERFACE)) \
- && defined (COBJMACROS)
-#define ICatInformation_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define ICatInformation_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define ICatInformation_Release(p) (p)->lpVtbl->Release(p)
-#define ICatInformation_EnumCategories(p,a,b) (p)->lpVtbl->EnumCategories(p,a,b)
-#define ICatInformation_GetCategoryDesc(p,a,b,c) (p)->lpVtbl->GetCategoryDesc(p,a,b,c)
-#define ICatInformation_EnumClassesOfCategories(p,a,b,c,d,e) (p)->lpVtbl->EnumClassesOfCategories(p,a,b,c,d,e)
-#define ICatInformation_IsClassOfCategories(p,a,b,c,d,e) (p)->lpVtbl->IsClassOfCategories(p,a,b,c,d,e)
-#define ICatInformation_EnumImplCategoriesOfClass(p,a,b) (p)->lpVtbl->EnumImplCategoriesOfClass(p,a,b)
-#define ICatInformation_EnumReqCategoriesOfClass(p,a,b) (p)->lpVtbl->EnumReqCategoriesOfClass(p,a,b)
-#endif
-
-#define INTERFACE ICatRegister
-DECLARE_INTERFACE_(ICatRegister,IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(RegisterCategories)(THIS_ ULONG,CATEGORYINFO*) PURE;
- STDMETHOD(UnRegisterCategories)(THIS_ ULONG,CATID*) PURE;
- STDMETHOD(RegisterClassImplCategories)(THIS_ REFCLSID,ULONG,CATID*) PURE;
- STDMETHOD(UnRegisterClassImplCategories)(THIS_ REFCLSID,ULONG,CATID*) PURE;
- STDMETHOD(RegisterClassReqCategories)(THIS_ REFCLSID,ULONG,CATID*) PURE;
- STDMETHOD(UnRegisterClassReqCategories)(THIS_ REFCLSID,ULONG,CATID*) PURE;
-};
-#undef INTERFACE
-#if (!defined (__cplusplus) || defined (CINTERFACE)) \
- && defined (COBJMACROS)
-#define ICatRegister_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define ICatRegister_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define ICatRegister_Release(p) (p)->lpVtbl->Release(p)
-#define ICatRegister_RegisterCategories(p,a,b) (p)->lpVtbl->RegisterCategories(p,a,b)
-#define ICatRegister_UnRegisterCategories(p,a,b) (p)->lpVtbl->UnRegisterCategories(p,a,b)
-#define ICatRegister_RegisterClassImplCategories(p,a,b,c) (p)->lpVtbl->RegisterClassImplCategories(p,a,b,c)
-#define ICatRegister_UnRegisterClassImplCategories(p,a,b,c) (p)->lpVtbl->UnRegisterClassImplCategories(p,a,b,c)
-#define ICatRegister_RegisterClassReqCategories(p,a,b,c) (p)->lpVtbl->RegisterClassReqCategories(p,a,b,c)
-#define ICatRegister_UnRegisterClassReqCategories(p,a,b,c) (p)->lpVtbl->UnRegisterClassReqCategories(p,a,b,c)
-#endif
-
-EXTERN_C const IID IID_IEnumCATEGORYINFO;
-#undef INTERFACE
-#define INTERFACE IEnumCATEGORYINFO
-DECLARE_INTERFACE_(IEnumCATEGORYINFO,IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(Next)(THIS_ ULONG,CATEGORYINFO*,ULONG*) PURE;
- STDMETHOD(Skip)(THIS_ ULONG) PURE;
- STDMETHOD(Reset)(THIS) PURE;
- STDMETHOD(Clone)(THIS_ LPENUMCATEGORYINFO*) PURE;
-};
-#undef INTERFACE
-#if (!defined (__cplusplus) || defined (CINTERFACE)) \
- && defined (COBJMACROS)
-#define IEnumCATEGORYINFO_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IEnumCATEGORYINFO_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IEnumCATEGORYINFO_Release(p) (p)->lpVtbl->Release(p)
-#define IEnumCATEGORYINFO_Next(p,a,b,c) (p)->lpVtbl->Next(p,a,b,c)
-#define IEnumCATEGORYINFO_Skip(p,a) (p)->lpVtbl->Skip(p,a)
-#define IEnumCATEGORYINFO_Reset(p) (p)->lpVtbl->Reset(p)
-#define IEnumCATEGORYINFO_Clone(p,a) (p)->lpVtbl->Clone(p,a)
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _RC_INVOKED */
-#endif
diff --git a/winsup/w32api/include/commctrl.h b/winsup/w32api/include/commctrl.h
deleted file mode 100644
index 1b23fc39c..000000000
--- a/winsup/w32api/include/commctrl.h
+++ /dev/null
@@ -1,3604 +0,0 @@
-#ifndef _COMMCTRL_H
-#define _COMMCTRL_H
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-#include <prsht.h>
-#ifdef __cplusplus
-extern "C" {
-#endif
-#ifndef _WIN32_IE
-/* define _WIN32_IE if you really want it */
-#if 0
-#define _WIN32_IE 0x0300
-#endif
-#endif
-
-#ifndef SNDMSG
-#ifdef __cplusplus
-#define SNDMSG ::SendMessage
-#else
-#define SNDMSG SendMessage
-#endif
-#endif /* ifndef SNDMSG */
-
-#define DRAGLISTMSGSTRING TEXT("commctrl_DragListMsg")
-#define HOTKEY_CLASSA "msctls_hotkey32"
-#define HOTKEY_CLASSW L"msctls_hotkey32"
-#define PROGRESS_CLASSA "msctls_progress32"
-#define PROGRESS_CLASSW L"msctls_progress32"
-#define STATUSCLASSNAMEA "msctls_statusbar32"
-#define STATUSCLASSNAMEW L"msctls_statusbar32"
-#define TOOLBARCLASSNAMEA "ToolbarWindow32"
-#define TOOLBARCLASSNAMEW L"ToolbarWindow32"
-#define TOOLTIPS_CLASSA "tooltips_class32"
-#define TOOLTIPS_CLASSW L"tooltips_class32"
-#define TRACKBAR_CLASSA "msctls_trackbar32"
-#define TRACKBAR_CLASSW L"msctls_trackbar32"
-#define UPDOWN_CLASSA "msctls_updown32"
-#define UPDOWN_CLASSW L"msctls_updown32"
-#define ANIMATE_CLASSA "SysAnimate32"
-#define ANIMATE_CLASSW L"SysAnimate32"
-#define DATETIMEPICK_CLASSW L"SysDateTimePick32"
-#define DATETIMEPICK_CLASSA "SysDateTimePick32"
-#define MONTHCAL_CLASSW L"SysMonthCal32"
-#define MONTHCAL_CLASSA "SysMonthCal32"
-#define REBARCLASSNAMEW L"ReBarWindow32"
-#define REBARCLASSNAMEA "ReBarWindow32"
-#define WC_COMBOBOXEXW L"ComboBoxEx32"
-#define WC_COMBOBOXEXA "ComboBoxEx32"
-#define WC_IPADDRESSW L"SysIPAddress32"
-#define WC_IPADDRESSA "SysIPAddress32"
-#define WC_LISTVIEWA "SysListView32"
-#define WC_LISTVIEWW L"SysListView32"
-#define WC_TABCONTROLA "SysTabControl32"
-#define WC_TABCONTROLW L"SysTabControl32"
-#define WC_TREEVIEWA "SysTreeView32"
-#define WC_TREEVIEWW L"SysTreeView32"
-#define WC_HEADERA "SysHeader32"
-#define WC_HEADERW L"SysHeader32"
-#define WC_PAGESCROLLERW L"SysPager"
-#define WC_PAGESCROLLERA "SysPager"
-#define WC_NATIVEFONTCTLW L"NativeFontCtl"
-#define WC_NATIVEFONTCTLA "NativeFontCtl"
-#define WC_BUTTONA "Button"
-#define WC_BUTTONW L"Button"
-#define WC_STATICA "Static"
-#define WC_STATICW L"Static"
-#define WC_EDITA "Edit"
-#define WC_EDITW L"Edit"
-#define WC_LISTBOXA "ListBox"
-#define WC_LISTBOXW L"ListBox"
-#define WC_COMBOBOXA "ComboBox"
-#define WC_COMBOBOXW L"ComboBox"
-#define WC_SCROLLBARA "ScrollBar"
-#define WC_SCROLLBARW L"ScrollBar"
-
-#ifdef UNICODE
-#define HOTKEY_CLASS HOTKEY_CLASSW
-#define PROGRESS_CLASS PROGRESS_CLASSW
-#define STATUSCLASSNAME STATUSCLASSNAMEW
-#define TOOLBARCLASSNAME TOOLBARCLASSNAMEW
-#define TOOLTIPS_CLASS TOOLTIPS_CLASSW
-#define TRACKBAR_CLASS TRACKBAR_CLASSW
-#define UPDOWN_CLASS UPDOWN_CLASSW
-#define ANIMATE_CLASS ANIMATE_CLASSW
-#define DATETIMEPICK_CLASS DATETIMEPICK_CLASSW
-#define MONTHCAL_CLASS MONTHCAL_CLASSW
-#define REBARCLASSNAME REBARCLASSNAMEW
-#define WC_COMBOBOXEX WC_COMBOBOXEXW
-#define WC_HEADER WC_HEADERW
-#define WC_IPADDRESS WC_IPADDRESSW
-#define WC_LISTVIEW WC_LISTVIEWW
-#define WC_TABCONTROL WC_TABCONTROLW
-#define WC_TREEVIEW WC_TREEVIEWW
-#define WC_PAGESCROLLER WC_PAGESCROLLERW
-#define WC_NATIVEFONTCTL WC_NATIVEFONTCTLW
-#define WC_BUTTON WC_BUTTONW
-#define WC_STATIC WC_STATICW
-#define WC_EDIT WC_EDITW
-#define WC_LISTBOX WC_LISTBOXW
-#define WC_COMBOBOX WC_COMBOBOXW
-#define WC_SCROLLBAR WC_SCROLLBARW
-#else
-#define ANIMATE_CLASS ANIMATE_CLASSA
-#define HOTKEY_CLASS HOTKEY_CLASSA
-#define PROGRESS_CLASS PROGRESS_CLASSA
-#define STATUSCLASSNAME STATUSCLASSNAMEA
-#define TOOLBARCLASSNAME TOOLBARCLASSNAMEA
-#define TOOLTIPS_CLASS TOOLTIPS_CLASSA
-#define TRACKBAR_CLASS TRACKBAR_CLASSA
-#define UPDOWN_CLASS UPDOWN_CLASSA
-#define DATETIMEPICK_CLASS DATETIMEPICK_CLASSA
-#define MONTHCAL_CLASS MONTHCAL_CLASSA
-#define REBARCLASSNAME REBARCLASSNAMEA
-#define WC_COMBOBOXEX WC_COMBOBOXEXA
-#define WC_HEADER WC_HEADERA
-#define WC_IPADDRESS WC_IPADDRESSA
-#define WC_LISTVIEW WC_LISTVIEWA
-#define WC_TABCONTROL WC_TABCONTROLA
-#define WC_TREEVIEW WC_TREEVIEWA
-#define WC_PAGESCROLLER WC_PAGESCROLLERA
-#define WC_NATIVEFONTCTL WC_NATIVEFONTCTLA
-#define WC_BUTTON WC_BUTTONA
-#define WC_STATIC WC_STATICA
-#define WC_EDIT WC_EDITA
-#define WC_LISTBOX WC_LISTBOXA
-#define WC_COMBOBOX WC_COMBOBOXA
-#define WC_SCROLLBAR WC_SCROLLBARA
-#endif
-
-#if (_WIN32_IE >= 0x0500)
-#if (_WIN32_WINNT >= 0x0501)
-#define COMCTL32_VERSION 6
-#else
-#define COMCTL32_VERSION 5
-#endif
-#endif
-
-#define LVM_FIRST 0x1000
-#define TV_FIRST 0x1100
-#define HDM_FIRST 0x1200
-#define ACM_OPENA (WM_USER+100)
-#define ACM_PLAY (WM_USER+101)
-#define ACM_STOP (WM_USER+102)
-#define ACM_OPENW (WM_USER+103)
-#define ACN_START 1
-#define ACN_STOP 2
-#define CBEIF_TEXT 0x00000001
-#define CBEIF_IMAGE 0x00000002
-#define CBEIF_SELECTEDIMAGE 0x00000004
-#define CBEIF_OVERLAY 0x00000008
-#define CBEIF_INDENT 0x00000010
-#define CBEIF_LPARAM 0x00000020
-#define CBEIF_DI_SETITEM 0x10000000
-#define CBEN_INSERTITEM (CBEN_FIRST - 1)
-#define CBEN_DELETEITEM (CBEN_FIRST - 2)
-#define CBEN_BEGINEDIT (CBEN_FIRST - 4)
-#define CBEN_ENDEDITA (CBEN_FIRST - 5)
-#define CBEN_ENDEDITW (CBEN_FIRST - 6)
-#define CBENF_KILLFOCUS 1
-#define CBENF_RETURN 2
-#define CBENF_ESCAPE 3
-#define CBENF_DROPDOWN 4
-#define CBEMAXSTRLEN 260
-#define DL_BEGINDRAG 1157
-#define DL_CANCELDRAG 1160
-#define DL_DRAGGING 1158
-#define DL_DROPPED 1159
-#define DL_CURSORSET 0
-#define DL_STOPCURSOR 1
-#define DL_COPYCURSOR 2
-#define DL_MOVECURSOR 3
-#define CCS_TOP 1
-#define CCS_NOMOVEY 2
-#define CCS_BOTTOM 3
-#define CCS_NORESIZE 4
-#define CCS_NOPARENTALIGN 8
-#define CCS_ADJUSTABLE 32
-#define CCS_NODIVIDER 64
-#if (_WIN32_IE >= 0x0300)
-#define CCS_VERT 128
-#define CCS_LEFT 129
-#define CCS_NOMOVEX 130
-#define CCS_RIGHT 131
-#endif
-#define ACS_CENTER 0x0001
-#define ACS_TRANSPARENT 0x0002
-#define ACS_AUTOPLAY 0x0004
-#define ACS_TIMER 0x0008
-#define PGS_VERT 0x00000000
-#define PGS_HORZ 0x00000001
-#define PGS_AUTOSCROLL 0x00000002
-#define PGS_DRAGNDROP 0x00000004
-#define CMB_MASKED 2
-#define MINSYSCOMMAND SC_SIZE
-#define SBT_OWNERDRAW 0x1000
-#define SBT_NOBORDERS 256
-#define SBT_POPOUT 512
-#define SBT_RTLREADING 1024
-#define SB_SETTEXTA (WM_USER+1)
-#define SB_SETTEXTW (WM_USER+11)
-#define SB_GETTEXTA (WM_USER+2)
-#define SB_GETTEXTW (WM_USER+13)
-#define SB_GETTEXTLENGTHA (WM_USER+3)
-#define SB_GETTEXTLENGTHW (WM_USER+12)
-#define SB_SETPARTS (WM_USER+4)
-#define SB_GETPARTS (WM_USER+6)
-#define SB_GETBORDERS (WM_USER+7)
-#define SB_SETMINHEIGHT (WM_USER+8)
-#define SB_SIMPLE (WM_USER+9)
-#define SB_GETRECT (WM_USER+10)
-#define MSGF_COMMCTRL_BEGINDRAG 0x4200
-#define MSGF_COMMCTRL_SIZEHEADER 0x4201
-#define MSGF_COMMCTRL_DRAGSELECT 0x4202
-#define MSGF_COMMCTRL_TOOLBARCUST 0x4203
-#define ILC_COLOR 0
-#define ILC_COLOR4 4
-#define ILC_COLOR8 8
-#define ILC_COLOR16 16
-#define ILC_COLOR24 24
-#define ILC_COLOR32 32
-#define ILC_COLORDDB 254
-#define ILC_MASK 1
-#define ILC_PALETTE 2048
-#define ILCF_MOVE 0
-#define ILCF_SWAP 1
-#define ILS_NORMAL 0
-#define ILS_GLOW 1
-#define ILS_SHADOW 2
-#define ILS_SATURATE 4
-#define ILS_ALPHA 8
-#define ILD_BLEND25 2
-#define ILD_BLEND50 4
-#define ILD_SELECTED 4
-#define ILD_BLEND 4
-#define ILD_FOCUS 2
-#define ILD_MASK 16
-#define ILD_NORMAL 0
-#define ILD_TRANSPARENT 1
-#define ILD_IMAGE 0x0020
-#define ILD_ROP 0x0040
-#define ILD_OVERLAYMASK 0x0F00
-#define ILD_PRESERVEALPHA 0x1000
-#define ILD_SCALE 0x2000
-#define ILD_DPISCALE 0x4000
-#define HDS_HORZ 0
-#define HDS_BUTTONS 2
-#define HDS_HIDDEN 8
-#if (_WIN32_IE > 0x0300)
-#define HDS_HOTTRACK 4
-#define HDS_DRAGDROP 0x0040
-#define HDS_FULLDRAG 0x0080
-#endif /* _WIN32_IE > 0x0300 */
-#if (_WIN32_IE >= 0x0500)
-#define HDS_FILTERBAR 0x0100
-#endif /* _WIN32_IE >= 0x0500 */
-#define NM_FIRST 0
-#define NM_LAST ((UINT)-99)
-#define LVN_FIRST ((UINT)-100)
-#define LVN_LAST ((UINT)-199)
-#define HDN_FIRST ((UINT)-300)
-#define HDN_LAST ((UINT)-399)
-#define TVN_FIRST ((UINT)-400)
-#define TVN_LAST ((UINT)-499)
-#define TTN_FIRST ((UINT)-520)
-#define TTN_LAST ((UINT)-549)
-#define TCN_FIRST ((UINT)-550)
-#define TCN_LAST ((UINT)-580)
-#ifndef CDN_FIRST
-#define CDN_FIRST ((UINT)-601) /* also in commdlg.h */
-#define CDN_LAST ((UINT)-699)
-#endif
-#define TBN_FIRST ((UINT)-700)
-#define TBN_LAST ((UINT)-720)
-#define UDN_FIRST ((UINT)-721)
-#define UDN_LAST ((UINT)-740)
-#if (_WIN32_IE >= 0x0300)
-#define RBN_FIRST ((UINT)-831)
-#define RBN_LAST ((UINT)-859)
-#define MCN_FIRST ((UINT)-750)
-#define MCN_LAST ((UINT)-759)
-#define DTN_FIRST ((UINT)-760)
-#define DTN_LAST ((UINT)-799)
-#define CBEN_FIRST ((UINT)-800)
-#define CBEN_LAST ((UINT)-830)
-#endif /* _WIN32_IE */
-#if (_WIN32_IE >= 0x0400)
-#define IPN_FIRST ((UINT)-860)
-#define IPN_LAST ((UINT)-879)
-#define IPN_FIELDCHANGED (IPN_FIRST-0)
-#define SBN_FIRST ((UINT)-880U)
-#define SBN_LAST ((UINT)-899U)
-#define PGN_FIRST ((UINT)-900U)
-#define PGN_LAST ((UINT)-950U)
-#define PGN_SCROLL (PGN_FIRST-1)
-#define PGN_CALCSIZE (PGN_FIRST-2)
-#endif /* _WIN32_IE >= 0x0400 */
-#define HDI_WIDTH 1
-#define HDI_HEIGHT 1
-#define HDI_TEXT 2
-#define HDI_FORMAT 4
-#define HDI_LPARAM 8
-#define HDI_BITMAP 16
-#if (_WIN32_IE >= 0x0300)
-#define HDI_IMAGE 32
-#define HDI_DI_SETITEM 64
-#define HDI_ORDER 128
-#endif
-#define CBES_EX_NOEDITIMAGE 0x00000001
-#define CBES_EX_NOEDITIMAGEINDENT 0x00000002
-#define CBES_EX_PATHWORDBREAKPROC 0x00000004
-#if (_WIN32_IE >= 0x0400)
-#define CBES_EX_NOSIZELIMIT 0x00000008
-#define CBES_EX_CASESENSITIVE 0x00000010
-#define CBEN_GETDISPINFOA (CBEN_FIRST - 0)
-#define CBEN_GETDISPINFOW (CBEN_FIRST - 7)
-#define CBEN_DRAGBEGINA (CBEN_FIRST - 8)
-#define CBEN_DRAGBEGINW (CBEN_FIRST - 9)
-#endif /* _WIN32_IE >= 0x0400 */
-#if (_WIN32_IE >= 0x0500)
-#define HDI_FILTER 256
-#endif
-#define HDF_LEFT 0
-#define HDF_RIGHT 1
-#define HDF_CENTER 2
-#define HDF_JUSTIFYMASK 3
-#define HDF_RTLREADING 4
-#define HDF_OWNERDRAW 0x8000
-#define HDF_STRING 0x4000
-#define HDF_BITMAP 0x2000
-#if (_WIN32_IE >= 0x0300)
-#define HDF_BITMAP_ON_RIGHT 0x1000
-#define HDF_IMAGE 0x0800
-#endif
-#define HDM_GETITEMCOUNT HDM_FIRST
-#define HDM_INSERTITEMA (HDM_FIRST+1)
-#define HDM_INSERTITEMW (HDM_FIRST+10)
-#define HDM_DELETEITEM (HDM_FIRST+2)
-#define HDM_GETITEMA (HDM_FIRST+3)
-#define HDM_GETITEMW (HDM_FIRST+11)
-#define HDM_SETITEMA (HDM_FIRST+4)
-#define HDM_SETITEMW (HDM_FIRST+12)
-#define HDM_LAYOUT (HDM_FIRST+5)
-#if (_WIN32_IE >= 0x0300)
-#define HDM_GETITEMRECT (HDM_FIRST+7)
-#define HDM_SETIMAGELIST (HDM_FIRST+8)
-#define HDM_GETIMAGELIST (HDM_FIRST+9)
-#define HDM_ORDERTOINDEX (HDM_FIRST+15)
-#define HDM_CREATEDRAGIMAGE (HDM_FIRST+16)
-#define HDM_GETORDERARRAY (HDM_FIRST+17)
-#define HDM_SETORDERARRAY (HDM_FIRST+18)
-#define HDM_SETHOTDIVIDER (HDM_FIRST+19)
-#endif
-#if (_WIN32_IE >= 0x0400)
-#define HDM_GETUNICODEFORMAT CCM_GETUNICODEFORMAT
-#define HDM_SETUNICODEFORMAT CCM_SETUNICODEFORMAT
-#endif
-#define HHT_NOWHERE 1
-#define HHT_ONHEADER 2
-#define HHT_ONDIVIDER 4
-#define HHT_ONDIVOPEN 8
-#define HHT_ABOVE 256
-#define HHT_BELOW 512
-#define HHT_TORIGHT 1024
-#define HHT_TOLEFT 2048
-#define HDM_HITTEST (HDM_FIRST+6)
-#define HDN_ITEMCHANGINGA (HDN_FIRST-0)
-#define HDN_ITEMCHANGINGW (HDN_FIRST-20)
-#define HDN_ITEMCHANGEDA (HDN_FIRST-1)
-#define HDN_ITEMCHANGEDW (HDN_FIRST-21)
-#define HDN_ITEMCLICKA (HDN_FIRST-2)
-#define HDN_ITEMCLICKW (HDN_FIRST-22)
-#define HDN_ITEMDBLCLICKA (HDN_FIRST-3)
-#define HDN_ITEMDBLCLICKW (HDN_FIRST-23)
-#define HDN_DIVIDERDBLCLICKA (HDN_FIRST-5)
-#define HDN_DIVIDERDBLCLICKW (HDN_FIRST-25)
-#define HDN_BEGINTRACKA (HDN_FIRST-6)
-#define HDN_BEGINTRACKW (HDN_FIRST-26)
-#define HDN_ENDTRACKA (HDN_FIRST-7)
-#define HDN_ENDTRACKW (HDN_FIRST-27)
-#define HDN_TRACKA (HDN_FIRST-8)
-#define HDN_TRACKW (HDN_FIRST-28)
-#if _WIN32_IE >= 0x0300
-#define HDN_ENDDRAG (HDN_FIRST-11)
-#define HDN_BEGINDRAG (HDN_FIRST-10)
-#define HDN_GETDISPINFOA (HDN_FIRST-9)
-#define HDN_GETDISPINFOW (HDN_FIRST-29)
-#endif
-#if (_WIN32_IE >= 0x0400)
-#define HICF_OTHER 0x00
-#define HICF_MOUSE 0x01
-#define HICF_ARROWKEYS 0x02
-#define HICF_ACCELERATOR 0x04
-#define HICF_DUPACCEL 0x08
-#define HICF_ENTERING 0x10
-#define HICF_LEAVING 0x20
-#define HICF_RESELECT 0x40
-#define HICF_LMOUSE 0x80
-#define HICF_TOGGLEDROPDOWN 0x100
-#endif /* _WIN32_IE >= 0x0400 */
-#define IPM_CLEARADDRESS (WM_USER+100)
-#define IPM_SETADDRESS (WM_USER+101)
-#define IPM_GETADDRESS (WM_USER+102)
-#define IPM_SETRANGE (WM_USER+103)
-#define IPM_SETFOCUS (WM_USER+104)
-#define IPM_ISBLANK (WM_USER+105)
-#if (_WIN32_IE >= 0x0500)
-#define I_INDENTCALLBACK (-1)
-#define I_IMAGENONE (-2)
-#endif
-#define CMB_MASKED 2
-#define TBSTATE_CHECKED 1
-#define TBSTATE_PRESSED 2
-#define TBSTATE_ENABLED 4
-#define TBSTATE_HIDDEN 8
-#define TBSTATE_INDETERMINATE 16
-#define TBSTATE_WRAP 32
-#if (_WIN32_IE >= 0x0300)
-#define TBSTATE_ELLIPSES 0x40
-#endif
-#if (_WIN32_IE >= 0x0400)
-#define TBSTATE_MARKED 0x0080
-#endif
-#define TBSTYLE_BUTTON 0
-#define TBSTYLE_SEP 1
-#define TBSTYLE_CHECK 2
-#define TBSTYLE_GROUP 4
-#define TBSTYLE_CHECKGROUP (TBSTYLE_GROUP|TBSTYLE_CHECK)
-#if (_WIN32_IE >= 0x0300)
-#define TBSTYLE_DROPDOWN 8
-#endif
-#if (_WIN32_IE >= 0x0400)
-#define TBSTYLE_AUTOSIZE 16
-#define TBSTYLE_NOPREFIX 32
-#endif
-#define TBSTYLE_TOOLTIPS 256
-#define TBSTYLE_WRAPABLE 512
-#define TBSTYLE_ALTDRAG 1024
-#if (_WIN32_IE >= 0x0300)
-#define TBSTYLE_FLAT 2048
-#define TBSTYLE_LIST 4096
-#define TBSTYLE_CUSTOMERASE 8192
-#endif
-#if (_WIN32_IE >= 0x0400)
-#define TBSTYLE_REGISTERDROP 0x4000
-#define TBSTYLE_TRANSPARENT 0x8000
-#define TBSTYLE_EX_DRAWDDARROWS 0x00000001
-#endif /* _WIN32_IE >= 0x0400 */
-#if (_WIN32_IE >= 0x0501)
-#define TBSTYLE_EX_MIXEDBUTTONS 8
-#define TBSTYLE_EX_HIDECLIPPEDBUTTONS 16
-#endif /* _WIN32_IE >= 0x0501 */
-#if (_WIN32_WINNT >= 0x0501)
-#define TBSTYLE_EX_DOUBLEBUFFER 0x80
-#endif /* _WIN32_WINNT >= 0x0501 */
-#if (_WIN32_IE >= 0x0500)
-#define BTNS_BUTTON TBSTYLE_BUTTON
-#define BTNS_SEP TBSTYLE_SEP
-#define BTNS_CHECK TBSTYLE_CHECK
-#define BTNS_GROUP TBSTYLE_GROUP
-#define BTNS_CHECKGROUP TBSTYLE_CHECKGROUP
-#define BTNS_DROPDOWN TBSTYLE_DROPDOWN
-#define BTNS_AUTOSIZE TBSTYLE_AUTOSIZE
-#define BTNS_NOPREFIX TBSTYLE_NOPREFIX
-#define BTNS_WHOLEDROPDOWN 0x0080
-#endif /* _WIN32_IE >= 0x0500 */
-#if _WIN32_IE >= 0x0501
-#define BTNS_SHOWTEXT 0x0040
-#endif
-#if (_WIN32_IE >= 0x0400)
-#define TBCDRF_NOEDGES 0x10000
-#define TBCDRF_HILITEHOTTRACK 0x20000
-#define TBCDRF_NOOFFSET 0x40000
-#define TBCDRF_NOMARK 0x80000
-#define TBCDRF_NOETCHEDEFFECT 0x100000
-#endif /* _WIN32_IE >= 0x0400 */
-#define HINST_COMMCTRL ((HINSTANCE)-1)
-#define IDB_STD_SMALL_COLOR 0
-#define IDB_STD_LARGE_COLOR 1
-#define IDB_VIEW_SMALL_COLOR 4
-#define IDB_VIEW_LARGE_COLOR 5
-#if (_WIN32_IE >= 0x0300)
-#define IDB_HIST_SMALL_COLOR 8
-#define IDB_HIST_LARGE_COLOR 9
-#endif
-#define STD_CUT 0
-#define STD_COPY 1
-#define STD_PASTE 2
-#define STD_UNDO 3
-#define STD_REDOW 4
-#define STD_DELETE 5
-#define STD_FILENEW 6
-#define STD_FILEOPEN 7
-#define STD_FILESAVE 8
-#define STD_PRINTPRE 9
-#define STD_PROPERTIES 10
-#define STD_HELP 11
-#define STD_FIND 12
-#define STD_REPLACE 13
-#define STD_PRINT 14
-#define VIEW_LARGEICONS 0
-#define VIEW_SMALLICONS 1
-#define VIEW_LIST 2
-#define VIEW_DETAILS 3
-#define VIEW_SORTNAME 4
-#define VIEW_SORTSIZE 5
-#define VIEW_SORTDATE 6
-#define VIEW_SORTTYPE 7
-#define VIEW_PARENTFOLDER 8
-#define VIEW_NETCONNECT 9
-#define VIEW_NETDISCONNECT 10
-#define VIEW_NEWFOLDER 11
-#define TB_ENABLEBUTTON (WM_USER+1)
-#define TB_CHECKBUTTON (WM_USER+2)
-#define TB_PRESSBUTTON (WM_USER+3)
-#define TB_HIDEBUTTON (WM_USER+4)
-#define TB_INDETERMINATE (WM_USER+5)
-#if (_WIN32_IE >= 0x0400)
-#define TB_MARKBUTTON (WM_USER+6)
-#endif
-#define TB_ISBUTTONENABLED (WM_USER+9)
-#define TB_ISBUTTONCHECKED (WM_USER+10)
-#define TB_ISBUTTONPRESSED (WM_USER+11)
-#define TB_ISBUTTONHIDDEN (WM_USER+12)
-#define TB_ISBUTTONINDETERMINATE (WM_USER+13)
-#if (_WIN32_IE >= 0x0400)
-#define TB_ISBUTTONHIGHLIGHTED (WM_USER+14)
-#endif
-#define TB_SETSTATE (WM_USER+17)
-#define TB_GETSTATE (WM_USER+18)
-#define TB_ADDBITMAP (WM_USER+19)
-#if (_WIN32_IE >= 0x0400)
-#define TB_ADDBUTTONSA (WM_USER+20)
-#define TB_INSERTBUTTONA (WM_USER+21)
-#else
-#define TB_ADDBUTTONS (WM_USER+20)
-#define TB_INSERTBUTTON (WM_USER+21)
-#endif
-#define TB_DELETEBUTTON (WM_USER+22)
-#define TB_GETBUTTON (WM_USER+23)
-#define TB_BUTTONCOUNT (WM_USER+24)
-#define TB_COMMANDTOINDEX (WM_USER+25)
-#define TB_SAVERESTOREA (WM_USER+26)
-#define TB_SAVERESTOREW (WM_USER+76)
-#define TB_CUSTOMIZE (WM_USER+27)
-#define TB_ADDSTRINGA (WM_USER+28)
-#define TB_ADDSTRINGW (WM_USER+77)
-#define TB_GETITEMRECT (WM_USER+29)
-#define TB_BUTTONSTRUCTSIZE (WM_USER+30)
-#define TB_SETBUTTONSIZE (WM_USER+31)
-#define TB_SETBITMAPSIZE (WM_USER+32)
-#define TB_AUTOSIZE (WM_USER+33)
-#define TB_GETTOOLTIPS (WM_USER+35)
-#define TB_SETTOOLTIPS (WM_USER+36)
-#define TB_SETPARENT (WM_USER+37)
-#define TB_SETROWS (WM_USER+39)
-#define TB_GETROWS (WM_USER+40)
-#define TB_GETBITMAPFLAGS (WM_USER+41)
-#define TB_SETCMDID (WM_USER+42)
-#define TB_CHANGEBITMAP (WM_USER+43)
-#define TB_GETBITMAP (WM_USER+44)
-#define TB_GETBUTTONTEXTA (WM_USER+45)
-#define TB_GETBUTTONTEXTW (WM_USER+75)
-#define TB_REPLACEBITMAP (WM_USER+46)
-#define TB_GETBUTTONSIZE (WM_USER+58)
-#define TB_SETBUTTONWIDTH (WM_USER+59)
-#if (_WIN32_IE >= 0x0300)
-#define TB_SETINDENT (WM_USER+47)
-#define TB_SETIMAGELIST (WM_USER+48)
-#define TB_GETIMAGELIST (WM_USER+49)
-#define TB_LOADIMAGES (WM_USER+50)
-#define TB_GETRECT (WM_USER+51)
-#define TB_SETHOTIMAGELIST (WM_USER+52)
-#define TB_GETHOTIMAGELIST (WM_USER+53)
-#define TB_SETDISABLEDIMAGELIST (WM_USER+54)
-#define TB_GETDISABLEDIMAGELIST (WM_USER+55)
-#define TB_SETSTYLE (WM_USER+56)
-#define TB_GETSTYLE (WM_USER+57)
-#define TB_GETBUTTONSIZE (WM_USER+58)
-#define TB_SETBUTTONWIDTH (WM_USER+59)
-#define TB_SETMAXTEXTROWS (WM_USER+60)
-#define TB_GETTEXTROWS (WM_USER+61)
-#endif
-#if _WIN32_IE >= 0x400
-#define TB_GETOBJECT (WM_USER+62)
-#define TB_GETBUTTONINFOW (WM_USER+63)
-#define TB_SETBUTTONINFOW (WM_USER+64)
-#define TB_GETBUTTONINFOA (WM_USER+65)
-#define TB_SETBUTTONINFOA (WM_USER+66)
-#define TB_INSERTBUTTONW (WM_USER+67)
-#define TB_ADDBUTTONSW (WM_USER+68)
-#define TB_HITTEST (WM_USER+69)
-#define TB_SETEXTENDEDSTYLE (WM_USER+84)
-#define TB_GETEXTENDEDSTYLE (WM_USER+85)
-#define TB_SETDRAWTEXTFLAGS (WM_USER+70)
-#define TB_GETHOTITEM (WM_USER+71)
-#define TB_SETHOTITEM (WM_USER+72)
-#define TB_SETANCHORHIGHLIGHT (WM_USER+73)
-#define TB_GETANCHORHIGHLIGHT (WM_USER+74)
-#define TB_MAPACCELERATORA (WM_USER+78)
-#define TB_GETINSERTMARK (WM_USER+79)
-#define TB_SETINSERTMARK (WM_USER+80)
-#define TB_INSERTMARKHITTEST (WM_USER+81)
-#define TB_MOVEBUTTON (WM_USER+82)
-#define TB_GETMAXSIZE (WM_USER+83)
-#define TB_SETEXTENDEDSTYLE (WM_USER+84)
-#define TB_GETEXTENDEDSTYLE (WM_USER+85)
-#define TB_GETPADDING (WM_USER+86)
-#define TB_SETPADDING (WM_USER+87)
-#define TB_SETINSERTMARKCOLOR (WM_USER+88)
-#define TB_GETINSERTMARKCOLOR (WM_USER+89)
-#define TB_MAPACCELERATORW (WM_USER+90)
-#define TB_GETSTRINGW (WM_USER+91)
-#define TB_GETSTRINGA (WM_USER+92)
-#define TB_SETCOLORSCHEME CCM_SETCOLORSCHEME
-#define TB_GETCOLORSCHEME CCM_GETCOLORSCHEME
-#define TB_SETUNICODEFORMAT CCM_SETUNICODEFORMAT
-#define TB_GETUNICODEFORMAT CCM_GETUNICODEFORMAT
-#endif
-#define TBBF_LARGE 1
-#define TBN_GETBUTTONINFOA (TBN_FIRST-0)
-#define TBN_BEGINDRAG (TBN_FIRST-1)
-#define TBN_ENDDRAG (TBN_FIRST-2)
-#define TBN_BEGINADJUST (TBN_FIRST-3)
-#define TBN_ENDADJUST (TBN_FIRST-4)
-#define TBN_RESET (TBN_FIRST-5)
-#define TBN_QUERYINSERT (TBN_FIRST-6)
-#define TBN_QUERYDELETE (TBN_FIRST-7)
-#define TBN_TOOLBARCHANGE (TBN_FIRST-8)
-#define TBN_CUSTHELP (TBN_FIRST-9)
-#if (_WIN32_IE >= 0x0300)
-#define TBN_DROPDOWN (TBN_FIRST-10)
-#endif
-#if (_WIN32_IE >= 0x0400)
-#define TBN_HOTITEMCHANGE (TBN_FIRST-13)
-#define TBN_DRAGOUT (TBN_FIRST-14)
-#define TBN_DELETINGBUTTON (TBN_FIRST-15)
-#define TBN_GETDISPINFOA (TBN_FIRST-16)
-#define TBN_GETDISPINFOW (TBN_FIRST-17)
-#define TBN_GETINFOTIPA (TBN_FIRST-18)
-#define TBN_GETINFOTIPW (TBN_FIRST-19)
-#define TBN_GETBUTTONINFOW (TBN_FIRST-20)
-#endif
-#if (_WIN32_IE >= 0x0500)
-#define TBN_RESTORE (TBN_FIRST-21)
-#define TBN_SAVE (TBN_FIRST-22)
-#define TBN_INITCUSTOMIZE (TBN_FIRST-23)
-#define TBNRF_HIDEHELP 1
-#define TBNRF_ENDCUSTOMIZE 2
-#define TBNF_IMAGE 1
-#define TBNF_TEXT 2
-#define TBNF_DI_SETITEM 0x10000000
-#endif /* _WIN32_IE >= 0x0500 */
-#define TTS_ALWAYSTIP 1
-#define TTS_NOPREFIX 2
-#if( _WIN32_IE >= 0x0500 )
-#define TTS_NOANIMATE 0x10
-#define TTS_NOFADE 0x20
-#define TTS_BALLOON 0x40
-#define TTS_CLOSE 0x80
-#endif /* _WIN32_IE >= 0x0500 */
-#define TTF_IDISHWND 1
-#define TTF_CENTERTIP 2
-#define TTF_RTLREADING 4
-#define TTF_SUBCLASS 16
-#if (_WIN32_IE >= 0x0300)
-#define TTF_TRACK 0x0020
-#define TTF_ABSOLUTE 0x0080
-#define TTF_TRANSPARENT 0x0100
-#if (_WIN32_IE >= 0x0501)
-#define TTF_PARSELINKS 0x1000
-#endif
-#define TTF_DI_SETITEM 0x8000
-#define TBCD_TICS 1
-#define TBCD_THUMB 2
-#define TBCD_CHANNEL 3
-#endif /* _WIN32_IE >= 0x0300 */
-#if (_WIN32_IE >= 0x0400)
-#define TBDDRET_DEFAULT 0
-#define TBDDRET_NODEFAULT 1
-#define TBDDRET_TREATPRESSED 2
-#define TBIMHT_AFTER 1
-#define TBIMHT_BACKGROUND 2
-#endif
-#define TTDT_AUTOMATIC 0
-#define TTDT_RESHOW 1
-#define TTDT_AUTOPOP 2
-#define TTDT_INITIAL 3
-#define TTM_ACTIVATE (WM_USER+1)
-#define TTM_SETDELAYTIME (WM_USER+3)
-#define TTM_ADDTOOLA (WM_USER+4)
-#define TTM_ADDTOOLW (WM_USER+50)
-#define TTM_DELTOOLA (WM_USER+5)
-#define TTM_DELTOOLW (WM_USER+51)
-#define TTM_NEWTOOLRECTA (WM_USER+6)
-#define TTM_NEWTOOLRECTW (WM_USER+52)
-#define TTM_RELAYEVENT (WM_USER+7)
-#define TTM_GETTOOLINFOA (WM_USER+8)
-#define TTM_GETTOOLINFOW (WM_USER+53)
-#define TTM_SETTOOLINFOA (WM_USER+9)
-#define TTM_SETTOOLINFOW (WM_USER+54)
-#define TTM_HITTESTA (WM_USER+10)
-#define TTM_HITTESTW (WM_USER+55)
-#define TTM_GETTEXTA (WM_USER+11)
-#define TTM_GETTEXTW (WM_USER+56)
-#define TTM_UPDATETIPTEXTA (WM_USER+12)
-#define TTM_UPDATETIPTEXTW (WM_USER+57)
-#define TTM_GETTOOLCOUNT (WM_USER+13)
-#define TTM_ENUMTOOLSA (WM_USER+14)
-#define TTM_ENUMTOOLSW (WM_USER+58)
-#define TTM_GETCURRENTTOOLA (WM_USER+15)
-#define TTM_GETCURRENTTOOLW (WM_USER+59)
-#define TTM_WINDOWFROMPOINT (WM_USER+16)
-#if (_WIN32_IE >= 0x0300)
-#define TTM_TRACKACTIVATE (WM_USER+17)
-#define TTM_TRACKPOSITION (WM_USER+18)
-#define TTM_SETTIPBKCOLOR (WM_USER+19)
-#define TTM_SETTIPTEXTCOLOR (WM_USER+20)
-#define TTM_GETDELAYTIME (WM_USER+21)
-#define TTM_GETTIPBKCOLOR (WM_USER+22)
-#define TTM_GETTIPTEXTCOLOR (WM_USER+23)
-#define TTM_SETMAXTIPWIDTH (WM_USER+24)
-#define TTM_GETMAXTIPWIDTH (WM_USER+25)
-#define TTM_SETMARGIN (WM_USER+26)
-#define TTM_GETMARGIN (WM_USER+27)
-#define TTM_POP (WM_USER+28)
-#endif /* _WIN32_IE */
-#if (_WIN32_IE >= 0x0400) /* IE4.0 ??? */
-#define TTM_UPDATE (WM_USER+29)
-#define TTM_GETBUBBLESIZE (WM_USER+30)
-#define TTM_ADJUSTRECT (WM_USER+31)
-#define TTM_SETTITLEA (WM_USER+32)
-#define TTM_SETTITLEW (WM_USER+33)
-#endif
-#define TTN_GETDISPINFOA (TTN_FIRST - 0)
-#define TTN_GETDISPINFOW (TTN_FIRST - 10)
-#define TTN_NEEDTEXTA TTN_GETDISPINFOA
-#define TTN_NEEDTEXTW TTN_GETDISPINFOW
-#define TTN_SHOW (TTN_FIRST-1)
-#define TTN_POP (TTN_FIRST-2)
-#define UD_MAXVAL 0x7fff
-#define UD_MINVAL (-UD_MAXVAL)
-#define UDN_DELTAPOS (UDN_FIRST-1)
-#define UDS_WRAP 1
-#define UDS_SETBUDDYINT 2
-#define UDS_ALIGNRIGHT 4
-#define UDS_ALIGNLEFT 8
-#define UDS_AUTOBUDDY 16
-#define UDS_ARROWKEYS 32
-#define UDS_HORZ 64
-#define UDS_NOTHOUSANDS 128
-#if ( _WIN32_IE >= 0x0300 )
-#define UDS_HOTTRACK 0x0100
-#endif /* _WIN32_IE >= 0x0300 */
-#define UDM_SETRANGE (WM_USER+101)
-#define UDM_GETRANGE (WM_USER+102)
-#define UDM_SETPOS (WM_USER+103)
-#define UDM_GETPOS (WM_USER+104)
-#define UDM_SETBUDDY (WM_USER+105)
-#define UDM_GETBUDDY (WM_USER+106)
-#define UDM_SETACCEL (WM_USER+107)
-#define UDM_GETACCEL (WM_USER+108)
-#define UDM_SETBASE (WM_USER+109)
-#define UDM_GETBASE (WM_USER+110)
-#if (_WIN32_IE >= 0x0400)
-#define UDM_SETRANGE32 (WM_USER+111)
-#define UDM_GETRANGE32 (WM_USER+112)
-#define UDM_SETPOS32 (WM_USER+113)
-#define UDM_GETPOS32 (WM_USER+114)
-#endif
-#if (_WIN32_IE >= 0x0500)
-#define UDM_SETUNICODEFORMAT CCM_SETUNICODEFORMAT
-#define UDM_GETUNICODEFORMAT CCM_GETUNICODEFORMAT
-#endif
-#define SB_SETTEXTA (WM_USER+1)
-#define SB_SETTEXTW (WM_USER+11)
-#define SB_GETTEXTA (WM_USER+2)
-#define SB_GETTEXTW (WM_USER+13)
-#define SB_GETTEXTLENGTHA (WM_USER+3)
-#define SB_GETTEXTLENGTHW (WM_USER+12)
-#define SB_SETPARTS (WM_USER+4)
-#define SB_GETPARTS (WM_USER+6)
-#define SB_GETBORDERS (WM_USER+7)
-#define SB_SETMINHEIGHT (WM_USER+8)
-#define SB_SIMPLE (WM_USER+9)
-#define SB_GETRECT (WM_USER+10)
-#define SBT_OWNERDRAW 0x1000
-#define SBT_NOBORDERS 256
-#define SBT_POPOUT 512
-#define SBT_RTLREADING 1024
-#if( _WIN32_IE >= 0x0400 )
-#define SBT_TOOLTIPS 0x0800
-#define SBN_SIMPLEMODECHANGE (SBN_FIRST)
-#endif /* _WIN32_IE >= 0x0400 */
-#define TBS_AUTOTICKS 1
-#define TBS_VERT 2
-#define TBS_HORZ 0
-#define TBS_TOP 4
-#define TBS_BOTTOM 0
-#define TBS_LEFT 4
-#define TBS_RIGHT 0
-#define TBS_BOTH 8
-#define TBS_NOTICKS 16
-#define TBS_ENABLESELRANGE 32
-#define TBS_FIXEDLENGTH 64
-#define TBS_NOTHUMB 128
-#if (_WIN32_IE >= 0x0300)
-#define TBS_TOOLTIPS 0x0100
-#define TBTS_TOP 0
-#define TBTS_LEFT 1
-#define TBTS_BOTTOM 2
-#define TBTS_RIGHT 3
-#endif
-#if (_WIN32_IE >= 0x0500)
-#define TBS_REVERSED 0x0200
-#endif
-#if (_WIN32_IE >= 0x0501)
-#define TBS_DOWNISLEFT 0x0400
-#endif
-#if _WIN32_IE >= 0x400
-#define TBIF_BYINDEX 0x80000000
-#define TBIF_COMMAND 32
-#define TBIF_IMAGE 1
-#define TBIF_LPARAM 16
-#define TBIF_SIZE 64
-#define TBIF_STATE 4
-#define TBIF_STYLE 8
-#define TBIF_TEXT 2
-#endif
-#define TBM_GETPOS (WM_USER)
-#define TBM_GETRANGEMIN (WM_USER+1)
-#define TBM_GETRANGEMAX (WM_USER+2)
-#define TBM_GETTIC (WM_USER+3)
-#define TBM_SETTIC (WM_USER+4)
-#define TBM_SETPOS (WM_USER+5)
-#define TBM_SETRANGE (WM_USER+6)
-#define TBM_SETRANGEMIN (WM_USER+7)
-#define TBM_SETRANGEMAX (WM_USER+8)
-#define TBM_CLEARTICS (WM_USER+9)
-#define TBM_SETSEL (WM_USER+10)
-#define TBM_SETSELSTART (WM_USER+11)
-#define TBM_SETSELEND (WM_USER+12)
-#define TBM_GETPTICS (WM_USER+14)
-#define TBM_GETTICPOS (WM_USER+15)
-#define TBM_GETNUMTICS (WM_USER+16)
-#define TBM_GETSELSTART (WM_USER+17)
-#define TBM_GETSELEND (WM_USER+18)
-#define TBM_CLEARSEL (WM_USER+19)
-#define TBM_SETTICFREQ (WM_USER+20)
-#define TBM_SETPAGESIZE (WM_USER+21)
-#define TBM_GETPAGESIZE (WM_USER+22)
-#define TBM_SETLINESIZE (WM_USER+23)
-#define TBM_GETLINESIZE (WM_USER+24)
-#define TBM_GETTHUMBRECT (WM_USER+25)
-#define TBM_GETCHANNELRECT (WM_USER+26)
-#define TBM_SETTHUMBLENGTH (WM_USER+27)
-#define TBM_GETTHUMBLENGTH (WM_USER+28)
-#define TBM_SETTOOLTIPS (WM_USER+29)
-#define TBM_GETTOOLTIPS (WM_USER+30)
-#define TBM_SETTIPSIDE (WM_USER+31)
-#define TBM_SETBUDDY (WM_USER+32)
-#define TBM_GETBUDDY (WM_USER+33)
-#define TBM_GETUNICODEFORMAT CCM_GETUNICODEFORMAT
-#define TBM_SETUNICODEFORMAT CCM_SETUNICODEFORMAT
-#define TB_LINEUP 0
-#define TB_LINEDOWN 1
-#define TB_PAGEUP 2
-#define TB_PAGEDOWN 3
-#define TB_THUMBPOSITION 4
-#define TB_THUMBTRACK 5
-#define TB_TOP 6
-#define TB_BOTTOM 7
-#define TB_ENDTRACK 8
-#define HOTKEYF_SHIFT 1
-#define HOTKEYF_CONTROL 2
-#define HOTKEYF_ALT 4
-#define HOTKEYF_EXT 8
-#define HKCOMB_NONE 1
-#define HKCOMB_S 2
-#define HKCOMB_C 4
-#define HKCOMB_A 8
-#define HKCOMB_SC 16
-#define HKCOMB_SA 32
-#define HKCOMB_CA 64
-#define HKCOMB_SCA 128
-#define HKM_SETHOTKEY (WM_USER+1)
-#define HKM_GETHOTKEY (WM_USER+2)
-#define HKM_SETRULES (WM_USER+3)
-#define PBM_SETRANGE (WM_USER+1)
-#define PBM_SETPOS (WM_USER+2)
-#define PBM_DELTAPOS (WM_USER+3)
-#define PBM_SETSTEP (WM_USER+4)
-#define PBM_STEPIT (WM_USER+5)
-#define PBM_SETRANGE32 1030
-#define PBM_GETRANGE 1031
-#define PBM_GETPOS 1032
-#define PBM_SETBARCOLOR 1033
-#define PBM_SETBKCOLOR CCM_SETBKCOLOR
-#define PBS_SMOOTH 1
-#define PBS_VERTICAL 4
-#define LVS_ICON 0
-#define LVS_REPORT 1
-#define LVS_SMALLICON 2
-#define LVS_LIST 3
-#define LVS_TYPEMASK 3
-#define LVS_SINGLESEL 4
-#define LVS_SHOWSELALWAYS 8
-#define LVS_SORTASCENDING 16
-#define LVS_SORTDESCENDING 32
-#define LVS_SHAREIMAGELISTS 64
-#define LVS_NOLABELWRAP 128
-#define LVS_AUTOARRANGE 256
-#define LVS_EDITLABELS 512
-#define LVS_NOSCROLL 0x2000
-#define LVS_TYPESTYLEMASK 0xfc00
-#define LVS_ALIGNTOP 0
-#define LVS_ALIGNLEFT 0x800
-#define LVS_ALIGNMASK 0xc00
-#define LVS_OWNERDRAWFIXED 0x400
-#define LVS_NOCOLUMNHEADER 0x4000
-#define LVS_NOSORTHEADER 0x8000
-#if (_WIN32_IE >= 0x0300)
-#define CDIS_CHECKED 8
-#define CDIS_DEFAULT 32
-#define CDIS_DISABLED 4
-#define CDIS_FOCUS 16
-#define CDIS_GRAYED 2
-#define CDIS_HOT 64
-#define CDIS_SELECTED 1
-#define CDIS_MARKED 128
-#define CDIS_INDETERMINATE 256
-#if (_WIN32_WINNT >= 0x0501)
-#define CDIS_SHOWKEYBOARDCUES 512
-#endif
-#define CDDS_POSTERASE 4
-#define CDDS_POSTPAINT 2
-#define CDDS_PREERASE 3
-#define CDDS_PREPAINT 1
-#define CDDS_ITEM 65536
-#define CDDS_ITEMPOSTERASE 65540
-#define CDDS_ITEMPOSTPAINT 65538
-#define CDDS_ITEMPREERASE 65539
-#define CDDS_ITEMPREPAINT 65537
-#if (_WIN32_IE >= 0x0400)
-#define CDDS_SUBITEM 0x20000
-#endif
-#define CDRF_DODEFAULT 0x00
-#define CDRF_NOTIFYITEMDRAW 0x20
-#define CDRF_NOTIFYSUBITEMDRAW 0x20
-#define CDRF_NOTIFYITEMERASE 0x80
-#define CDRF_NOTIFYPOSTERASE 0x40
-#define CDRF_NOTIFYPOSTPAINT 0x10
-#define CDRF_NEWFONT 0x02
-#define CDRF_SKIPDEFAULT 0x04
-#if (_WIN32_IE >= 0x0400)
-#define LVBKIF_SOURCE_NONE 0x00000000
-#define LVBKIF_SOURCE_HBITMAP 0x00000001
-#define LVBKIF_SOURCE_URL 0x00000002
-#define LVBKIF_SOURCE_MASK 0x00000003
-#define LVBKIF_STYLE_NORMAL 0x00000000
-#define LVBKIF_STYLE_TILE 0x00000010
-#define LVBKIF_STYLE_MASK 0x00000010
-#endif /* _WIN32_IE >=0x0400 */
-#if (_WIN32_WINNT >= 0x501)
-#define LVBKIF_FLAG_TILEOFFSET 0x00000100
-#define LVBKIF_TYPE_WATERMARK 0x10000000
-#endif /* _WIN32_WINNT >= 0x501 */
-#define LVS_OWNERDATA 4096
-#define LVS_EX_CHECKBOXES 4
-#define LVS_EX_FULLROWSELECT 32
-#define LVS_EX_GRIDLINES 1
-#define LVS_EX_HEADERDRAGDROP 16
-#define LVS_EX_ONECLICKACTIVATE 64
-#define LVS_EX_SUBITEMIMAGES 2
-#define LVS_EX_TRACKSELECT 8
-#define LVS_EX_TWOCLICKACTIVATE 128
-#define LVSICF_NOINVALIDATEALL 0x00000001
-#define LVSICF_NOSCROLL 0x00000002
-#if( _WIN32_IE >= 0x0400 )
-#define LVS_EX_FLATSB 0x00000100
-#define LVS_EX_REGIONAL 0x00000200
-#define LVS_EX_INFOTIP 0x00000400
-#define LVS_EX_UNDERLINEHOT 0x00000800
-#define LVS_EX_UNDERLINECOLD 0x00001000
-#define LVS_EX_MULTIWORKAREAS 0x00002000
-#endif /* _WIN32_IE >=0x0400 */
-#if( _WIN32_IE >= 0x0500 )
-#define LVS_EX_LABELTIP 0x00004000
-#define LVS_EX_BORDERSELECT 0x00008000
-#endif /* _WIN32_IE >= 0x0500 */
-#endif /* _WIN32_IE >= 0x0300 */
-#define LVSIL_NORMAL 0
-#define LVSIL_SMALL 1
-#define LVSIL_STATE 2
-#define LVM_GETBKCOLOR LVM_FIRST
-#define LVM_SETBKCOLOR (LVM_FIRST+1)
-#define LVM_GETIMAGELIST (LVM_FIRST+2)
-#define LVM_SETIMAGELIST (LVM_FIRST+3)
-#define LVM_GETITEMCOUNT (LVM_FIRST+4)
-#define LVIF_TEXT 1
-#define LVIF_IMAGE 2
-#define LVIF_PARAM 4
-#define LVIF_STATE 8
-#if (_WIN32_IE >= 0x0300)
-#define LVIF_INDENT 16
-#define LVIF_NORECOMPUTE 2048
-#endif
-#if (_WIN32_WINNT >= 0x0501)
-#define LVIF_GROUPID 128
-#define LVIF_COLUMNS 256
-#endif
-#define LVIS_FOCUSED 1
-#define LVIS_SELECTED 2
-#define LVIS_CUT 4
-#define LVIS_DROPHILITED 8
-#define LVIS_OVERLAYMASK 0xF00
-#define LVIS_STATEIMAGEMASK 0xF000
-#define LPSTR_TEXTCALLBACKW ((LPWSTR)-1)
-#define LPSTR_TEXTCALLBACKA ((LPSTR)-1)
-#define I_IMAGECALLBACK (-1)
-#define LVM_GETITEMA (LVM_FIRST+5)
-#define LVM_GETITEMW (LVM_FIRST+75)
-#define LVM_SETITEMA (LVM_FIRST+6)
-#define LVM_SETITEMW (LVM_FIRST+76)
-#define LVM_INSERTITEMA (LVM_FIRST+7)
-#define LVM_INSERTITEMW (LVM_FIRST+77)
-#define LVM_DELETEITEM (LVM_FIRST+8)
-#define LVM_DELETEALLITEMS (LVM_FIRST+9)
-#define LVM_GETCALLBACKMASK (LVM_FIRST+10)
-#define LVM_SETCALLBACKMASK (LVM_FIRST+11)
-#if( _WIN32_IE >= 0x0400 )
-#define LVM_SETBKIMAGEA (LVM_FIRST + 68)
-#define LVM_SETBKIMAGEW (LVM_FIRST + 138)
-#define LVM_GETBKIMAGEA (LVM_FIRST + 69)
-#define LVM_GETBKIMAGEW (LVM_FIRST + 139)
-#define LV_MAX_WORKAREAS 16
-#define LVM_SETWORKAREAS (LVM_FIRST+65)
-#define LVM_GETWORKAREAS (LVM_FIRST+70)
-#define LVM_GETNUMBEROFWORKAREAS (LVM_FIRST+73)
-#define LVM_GETSELECTIONMARK (LVM_FIRST+66)
-#define LVM_SETSELECTIONMARK (LVM_FIRST+67)
-#define LVM_SETHOVERTIME (LVM_FIRST+71)
-#define LVM_GETHOVERTIME (LVM_FIRST+72)
-#define LVM_SETTOOLTIPS (LVM_FIRST+74)
-#define LVM_GETTOOLTIPS (LVM_FIRST+78)
-#define LVM_SETUNICODEFORMAT CCM_SETUNICODEFORMAT
-#define LVM_GETUNICODEFORMAT CCM_GETUNICODEFORMAT
-#endif /* _WIN32_IE >= 0x0400 */
-#define LVNI_ALL 0
-#define LVNI_FOCUSED 1
-#define LVNI_SELECTED 2
-#define LVNI_CUT 4
-#define LVNI_DROPHILITED 8
-#define LVNI_ABOVE 256
-#define LVNI_BELOW 512
-#define LVNI_TOLEFT 1024
-#define LVNI_TORIGHT 2048
-#define LVM_GETNEXTITEM (LVM_FIRST+12)
-#define LVFI_PARAM 1
-#define LVFI_STRING 2
-#define LVFI_PARTIAL 8
-#define LVFI_WRAP 32
-#define LVFI_NEARESTXY 64
-#define LVIF_DI_SETITEM 0x1000
-#define LVM_FINDITEMA (LVM_FIRST+13)
-#define LVM_FINDITEMW (LVM_FIRST+83)
-#define LVIR_BOUNDS 0
-#define LVIR_ICON 1
-#define LVIR_LABEL 2
-#define LVIR_SELECTBOUNDS 3
-#define LVM_GETITEMRECT (LVM_FIRST+14)
-#define LVM_SETITEMPOSITION (LVM_FIRST+15)
-#define LVM_GETITEMPOSITION (LVM_FIRST+16)
-#define LVM_GETSTRINGWIDTHA (LVM_FIRST+17)
-#define LVM_GETSTRINGWIDTHW (LVM_FIRST+87)
-#define LVHT_NOWHERE 1
-#define LVHT_ONITEMICON 2
-#define LVHT_ONITEMLABEL 4
-#define LVHT_ONITEMSTATEICON 8
-#define LVHT_ONITEM (LVHT_ONITEMICON|LVHT_ONITEMLABEL|LVHT_ONITEMSTATEICON)
-#define LVHT_ABOVE 8
-#define LVHT_BELOW 16
-#define LVHT_TORIGHT 32
-#define LVHT_TOLEFT 64
-#define LVM_HITTEST (LVM_FIRST+18)
-#define LVM_ENSUREVISIBLE (LVM_FIRST+19)
-#define LVM_SCROLL (LVM_FIRST+20)
-#define LVM_REDRAWITEMS (LVM_FIRST+21)
-#define LVA_DEFAULT 0
-#define LVA_ALIGNLEFT 1
-#define LVA_ALIGNTOP 2
-#define LVA_SNAPTOGRID 5
-#define LVM_ARRANGE (LVM_FIRST+22)
-#define LVM_EDITLABELA (LVM_FIRST+23)
-#define LVM_EDITLABELW (LVM_FIRST+118)
-#define LVM_GETEDITCONTROL (LVM_FIRST+24)
-#define LVCF_FMT 1
-#define LVCF_WIDTH 2
-#define LVCF_TEXT 4
-#define LVCF_SUBITEM 8
-#if (_WIN32_IE >= 0x0300)
-#define LVCF_IMAGE 16
-#define LVCF_ORDER 32
-#endif
-#define LVCFMT_LEFT 0
-#define LVCFMT_RIGHT 1
-#define LVCFMT_CENTER 2
-#define LVCFMT_JUSTIFYMASK 3
-#if (_WIN32_IE >= 0x0300)
-#define LVCFMT_BITMAP_ON_RIGHT 4096
-#define LVCFMT_COL_HAS_IMAGES 32768
-#define LVCFMT_IMAGE 2048
-#endif
-#define LVM_GETCOLUMNA (LVM_FIRST+25)
-#define LVM_GETCOLUMNW (LVM_FIRST+95)
-#define LVM_SETCOLUMNA (LVM_FIRST+26)
-#define LVM_SETCOLUMNW (LVM_FIRST+96)
-#define LVM_INSERTCOLUMNA (LVM_FIRST+27)
-#define LVM_INSERTCOLUMNW (LVM_FIRST+97)
-#define LVM_DELETECOLUMN (LVM_FIRST+28)
-#define LVM_GETCOLUMNWIDTH (LVM_FIRST+29)
-#define LVSCW_AUTOSIZE (-1)
-#define LVSCW_AUTOSIZE_USEHEADER (-2)
-#define LVM_SETCOLUMNWIDTH (LVM_FIRST+30)
-#define LVM_CREATEDRAGIMAGE (LVM_FIRST+33)
-#define LVM_GETVIEWRECT (LVM_FIRST+34)
-#define LVM_GETTEXTCOLOR (LVM_FIRST+35)
-#define LVM_SETTEXTCOLOR (LVM_FIRST+36)
-#define LVM_GETTEXTBKCOLOR (LVM_FIRST+37)
-#define LVM_SETTEXTBKCOLOR (LVM_FIRST+38)
-#define LVM_GETTOPINDEX (LVM_FIRST+39)
-#define LVM_GETCOUNTPERPAGE (LVM_FIRST+40)
-#define LVM_GETORIGIN (LVM_FIRST+41)
-#define LVM_GETORIGIN (LVM_FIRST+41)
-#define LVM_UPDATE (LVM_FIRST+42)
-#define LVM_SETITEMSTATE (LVM_FIRST+43)
-#define LVM_GETITEMSTATE (LVM_FIRST+44)
-#define LVM_GETITEMTEXTA (LVM_FIRST+45)
-#define LVM_GETITEMTEXTW (LVM_FIRST+115)
-#define LVM_SETITEMTEXTA (LVM_FIRST+46)
-#define LVM_SETITEMTEXTW (LVM_FIRST+116)
-#define LVM_SETITEMCOUNT (LVM_FIRST+47)
-#define LVM_SORTITEMS (LVM_FIRST+48)
-#define LVM_SETITEMPOSITION32 (LVM_FIRST+49)
-#define LVM_GETSELECTEDCOUNT (LVM_FIRST+50)
-#define LVM_GETITEMSPACING (LVM_FIRST+51)
-#define LVM_GETISEARCHSTRINGA (LVM_FIRST+52)
-#define LVM_GETISEARCHSTRINGW (LVM_FIRST+117)
-#if (_WIN32_IE >= 0x0300)
-#define LVM_APPROXIMATEVIEWRECT (LVM_FIRST+64)
-#define LVM_SETEXTENDEDLISTVIEWSTYLE (LVM_FIRST+54)
-#define LVM_GETEXTENDEDLISTVIEWSTYLE (LVM_FIRST+55)
-#define LVM_SETCOLUMNORDERARRAY (LVM_FIRST+58)
-#define LVM_GETCOLUMNORDERARRAY (LVM_FIRST+59)
-#define LVM_GETHEADER (LVM_FIRST+31)
-#define LVM_GETHOTCURSOR (LVM_FIRST+63)
-#define LVM_GETHOTITEM (LVM_FIRST+61)
-#define LVM_GETSUBITEMRECT (LVM_FIRST+56)
-#define LVM_SETHOTCURSOR (LVM_FIRST+62)
-#define LVM_SETHOTITEM (LVM_FIRST+60)
-#define LVM_SETICONSPACING (LVM_FIRST+53)
-#define LVM_SUBITEMHITTEST (LVM_FIRST+57)
-#endif
-#define LVN_ITEMCHANGING LVN_FIRST
-#define LVN_ITEMCHANGED (LVN_FIRST-1)
-#define LVN_INSERTITEM (LVN_FIRST-2)
-#define LVN_DELETEITEM (LVN_FIRST-3)
-#define LVN_DELETEALLITEMS (LVN_FIRST-4)
-#define LVN_BEGINLABELEDITA (LVN_FIRST-5)
-#define LVN_BEGINLABELEDITW (LVN_FIRST-75)
-#define LVN_ENDLABELEDITA (LVN_FIRST-6)
-#define LVN_ENDLABELEDITW (LVN_FIRST-76)
-#define LVN_COLUMNCLICK (LVN_FIRST-8)
-#define LVN_BEGINDRAG (LVN_FIRST-9)
-#define LVN_BEGINRDRAG (LVN_FIRST-11)
-#define LVN_GETDISPINFOA (LVN_FIRST-50)
-#define LVN_GETDISPINFOW (LVN_FIRST-77)
-#define LVN_SETDISPINFOA (LVN_FIRST-51)
-#define LVN_SETDISPINFOW (LVN_FIRST-78)
-#define LVN_KEYDOWN (LVN_FIRST-55)
-#if (_WIN32_IE >= 0x0400)
-#define LVN_GETINFOTIPA (LVN_FIRST-57)
-#define LVN_GETINFOTIPW (LVN_FIRST-58)
-#define LVKF_ALT 0x0001
-#define LVKF_CONTROL 0x0002
-#define LVKF_SHIFT 0x0004
-#define LVGIT_UNFOLDED 1
-#endif
-#define TVS_HASBUTTONS 1
-#define TVS_HASLINES 2
-#define TVS_LINESATROOT 4
-#define TVS_EDITLABELS 8
-#define TVS_DISABLEDRAGDROP 16
-#define TVS_SHOWSELALWAYS 32
-#if (_WIN32_IE >= 0x0300)
-#define TVS_CHECKBOXES 256
-#define TVS_NOTOOLTIPS 128
-#define TVS_RTLREADING 64
-#define TVS_TRACKSELECT 512
-#endif
-#if (_WIN32_IE >= 0x0400)
-#define TVS_FULLROWSELECT 4096
-#define TVS_INFOTIP 2048
-#define TVS_NONEVENHEIGHT 16384
-#define TVS_NOSCROLL 8192
-#define TVS_SINGLEEXPAND 1024
-#endif
-#if( _WIN32_IE >= 0x0500 )
-#define TVS_NOHSCROLL 0x8000
-#endif /* _WIN32_IE >= 0x0500 */
-#define TVIF_TEXT 1
-#define TVIF_IMAGE 2
-#define TVIF_PARAM 4
-#define TVIF_STATE 8
-#define TVIF_HANDLE 16
-#define TVIF_SELECTEDIMAGE 32
-#define TVIF_CHILDREN 64
-#if (_WIN32_IE >= 0x0400)
-#define TVIF_INTEGRAL 0x0080
-#endif /* _WIN32_IE >= 0x0400 */
-#define TVIS_FOCUSED 1
-#define TVIS_SELECTED 2
-#define TVIS_CUT 4
-#define TVIS_DROPHILITED 8
-#define TVIS_BOLD 16
-#define TVIS_EXPANDED 32
-#define TVIS_EXPANDEDONCE 64
-#define TVIS_OVERLAYMASK 0xF00
-#define TVIS_STATEIMAGEMASK 0xF000
-#define TVIS_USERMASK 0xF000
-#define I_CHILDRENCALLBACK (-1)
-#define TVI_ROOT ((HTREEITEM)0xFFFF0000)
-#define TVI_FIRST ((HTREEITEM)0xFFFF0001)
-#define TVI_LAST ((HTREEITEM)0xFFFF0002)
-#define TVI_SORT ((HTREEITEM)0xFFFF0003)
-#define TVSIL_NORMAL 0
-#define TVSIL_STATE 2
-#define TVM_INSERTITEMA TV_FIRST
-#define TVM_INSERTITEMW (TV_FIRST+50)
-#define TVM_DELETEITEM (TV_FIRST+1)
-#define TVM_EXPAND (TV_FIRST+2)
-#define TVM_GETITEMRECT (TV_FIRST+4)
-#define TVM_GETCOUNT (TV_FIRST+5)
-#define TVM_GETINDENT (TV_FIRST+6)
-#define TVM_SETINDENT (TV_FIRST+7)
-#define TVM_GETIMAGELIST (TV_FIRST+8)
-#define TVM_SETIMAGELIST (TV_FIRST+9)
-#define TVM_GETNEXTITEM (TV_FIRST+10)
-#define TVM_SELECTITEM (TV_FIRST+11)
-#define TVM_GETITEMA (TV_FIRST+12)
-#define TVM_GETITEMW (TV_FIRST+62)
-#define TVM_SETITEMA (TV_FIRST+13)
-#define TVM_SETITEMW (TV_FIRST+63)
-#define TVM_EDITLABELA (TV_FIRST+14)
-#define TVM_EDITLABELW (TV_FIRST+65)
-#define TVM_GETEDITCONTROL (TV_FIRST+15)
-#define TVM_GETVISIBLECOUNT (TV_FIRST+16)
-#define TVM_HITTEST (TV_FIRST+17)
-#define TVM_CREATEDRAGIMAGE (TV_FIRST+18)
-#define TVM_SORTCHILDREN (TV_FIRST+19)
-#define TVM_ENSUREVISIBLE (TV_FIRST+20)
-#define TVM_SORTCHILDRENCB (TV_FIRST+21)
-#define TVM_ENDEDITLABELNOW (TV_FIRST+22)
-#define TVM_GETISEARCHSTRINGA (TV_FIRST+23)
-#define TVM_GETISEARCHSTRINGW (TV_FIRST+64)
-#if (_WIN32_IE >= 0x0300)
-#define TVM_GETTOOLTIPS (TV_FIRST+25)
-#define TVM_SETTOOLTIPS (TV_FIRST+24)
-#endif
-#if (_WIN32_IE >= 0x0400)
-#define TVM_GETBKCOLOR (TV_FIRST+31)
-#define TVM_GETINSERTMARKCOLOR (TV_FIRST+38)
-#define TVM_GETITEMHEIGHT (TV_FIRST+28)
-#define TVM_GETSCROLLTIME (TV_FIRST+34)
-#define TVM_GETTEXTCOLOR (TV_FIRST+32)
-#define TVM_SETBKCOLOR (TV_FIRST+29)
-#define TVM_SETINSERTMARK (TV_FIRST+26)
-#define TVM_SETINSERTMARKCOLOR (TV_FIRST+37)
-#define TVM_SETITEMHEIGHT (TV_FIRST+27)
-#define TVM_SETSCROLLTIME (TV_FIRST+33)
-#define TVM_SETTEXTCOLOR (TV_FIRST+30)
-#define TVM_SETUNICODEFORMAT CCM_SETUNICODEFORMAT
-#define TVM_GETUNICODEFORMAT CCM_GETUNICODEFORMAT
-#endif
-#if (_WIN32_IE >= 0x0500)
-#define TVM_GETITEMSTATE (TV_FIRST+39)
-#define TVM_SETLINECOLOR (TV_FIRST+40)
-#define TVM_GETLINECOLOR (TV_FIRST+41)
-#endif
-#define TVE_COLLAPSE 1
-#define TVE_EXPAND 2
-#define TVE_TOGGLE 3
-#define TVE_COLLAPSERESET 0x8000
-#if (_WIN32_IE >= 0x0300)
-#define TVE_EXPANDPARTIAL 0x4000
-#endif
-#define TVC_UNKNOWN 0
-#define TVC_BYMOUSE 1
-#define TVC_BYKEYBOARD 2
-#define TVGN_ROOT 0
-#define TVGN_NEXT 1
-#define TVGN_PREVIOUS 2
-#define TVGN_PARENT 3
-#define TVGN_CHILD 4
-#define TVGN_FIRSTVISIBLE 5
-#define TVGN_NEXTVISIBLE 6
-#define TVGN_PREVIOUSVISIBLE 7
-#define TVGN_DROPHILITE 8
-#define TVGN_CARET 9
-#if (_WIN32_IE >= 0x0400)
-#define TVGN_LASTVISIBLE 10
-#endif
-#define TVN_SELCHANGINGA (TVN_FIRST-1)
-#define TVN_SELCHANGINGW (TVN_FIRST-50)
-#define TVN_SELCHANGEDA (TVN_FIRST-2)
-#define TVN_SELCHANGEDW (TVN_FIRST-51)
-#define TVN_GETDISPINFOA (TVN_FIRST-3)
-#define TVN_GETDISPINFOW (TVN_FIRST-52)
-#define TVN_SETDISPINFOA (TVN_FIRST-4)
-#define TVN_SETDISPINFOW (TVN_FIRST-53)
-#define TVN_ITEMEXPANDINGA (TVN_FIRST-5)
-#define TVN_ITEMEXPANDINGW (TVN_FIRST-54)
-#define TVN_ITEMEXPANDEDA (TVN_FIRST-6)
-#define TVN_ITEMEXPANDEDW (TVN_FIRST-55)
-#define TVN_BEGINDRAGA (TVN_FIRST-7)
-#define TVN_BEGINDRAGW (TVN_FIRST-56)
-#define TVN_BEGINRDRAGA (TVN_FIRST-8)
-#define TVN_BEGINRDRAGW (TVN_FIRST-57)
-#define TVN_DELETEITEMA (TVN_FIRST-9)
-#define TVN_DELETEITEMW (TVN_FIRST-58)
-#define TVN_BEGINLABELEDITA (TVN_FIRST-10)
-#define TVN_BEGINLABELEDITW (TVN_FIRST-59)
-#define TVN_ENDLABELEDITA (TVN_FIRST-11)
-#define TVN_ENDLABELEDITW (TVN_FIRST-60)
-#define TVN_KEYDOWN (TVN_FIRST-12)
-#if (_WIN32_IE >= 0x0400)
-#define TVN_GETINFOTIPA (TVN_FIRST-13)
-#define TVN_GETINFOTIPW (TVN_FIRST-14)
-#define TVN_SINGLEEXPAND (TVN_FIRST-15)
-#define TVNRET_DEFAULT 0
-#define TVNRET_SKIPOLD 1
-#define TVNRET_SKIPNEW 2
-#endif /* _WIN32_IE >= 0x0400 */
-#define TVIF_DI_SETITEM 0x1000
-#define TVHT_NOWHERE 1
-#define TVHT_ONITEMICON 2
-#define TVHT_ONITEMLABEL 4
-#define TVHT_ONITEM (TVHT_ONITEMICON|TVHT_ONITEMLABEL|TVHT_ONITEMSTATEICON)
-#define TVHT_ONITEMINDENT 8
-#define TVHT_ONITEMBUTTON 16
-#define TVHT_ONITEMRIGHT 32
-#define TVHT_ONITEMSTATEICON 64
-#define TVHT_ABOVE 256
-#define TVHT_BELOW 512
-#define TVHT_TORIGHT 1024
-#define TVHT_TOLEFT 2048
-#define TCHT_NOWHERE 1
-#define TCHT_ONITEMICON 2
-#define TCHT_ONITEMLABEL 4
-#define TCHT_ONITEM (TCHT_ONITEMICON|TCHT_ONITEMLABEL)
-#define TCS_FORCEICONLEFT 16
-#define TCS_FORCELABELLEFT 32
-#define TCS_TABS 0
-#define TCS_BUTTONS 256
-#define TCS_SINGLELINE 0
-#define TCS_MULTILINE 512
-#define TCS_RIGHTJUSTIFY 0
-#define TCS_FIXEDWIDTH 1024
-#define TCS_RAGGEDRIGHT 2048
-#define TCS_FOCUSONBUTTONDOWN 0x1000
-#define TCS_OWNERDRAWFIXED 0x2000
-#define TCS_TOOLTIPS 0x4000
-#define TCS_FOCUSNEVER 0x8000
-#if (_WIN32_IE >= 0x0300)
-#define TCS_BOTTOM 2
-#define TCS_RIGHT 2
-#define TCS_VERTICAL 128
-#define TCS_SCROLLOPPOSITE 0x0001
-#define TCS_HOTTRACK 0x0040
-#define TCS_MULTISELECT 0x0004
-#endif
-#if( _WIN32_IE >= 0x0400 )
-#define TCS_FLATBUTTONS 0x0008
-#define TCS_EX_FLATSEPARATORS 0x00000001
-#define TCS_EX_REGISTERDROP 0x00000002
-#endif /* _WIN32_IE >= 0x0400 */
-#define TCIF_TEXT 1
-#define TCIF_IMAGE 2
-#define TCIF_RTLREADING 4
-#define TCIF_PARAM 8
-#if (_WIN32_IE >= 0x0400)
-#define TCIF_STATE 16
-#endif
-#define TCIS_BUTTONPRESSED 1
-#if (_WIN32_IE >= 0x0400)
-#define TCIS_HIGHLIGHTED 2
-#endif
-#define TCM_FIRST 0x1300
-#define TCM_GETIMAGELIST (TCM_FIRST+2)
-#define TCM_SETIMAGELIST (TCM_FIRST+3)
-#define TCM_GETITEMCOUNT (TCM_FIRST+4)
-#define TCM_GETITEMA (TCM_FIRST+5)
-#define TCM_GETITEMW (TCM_FIRST+60)
-#define TCM_SETITEMA (TCM_FIRST+6)
-#define TCM_SETITEMW (TCM_FIRST+61)
-#define TCM_INSERTITEMA (TCM_FIRST+7)
-#define TCM_INSERTITEMW (TCM_FIRST+62)
-#define TCM_DELETEITEM (TCM_FIRST+8)
-#define TCM_DELETEALLITEMS (TCM_FIRST+9)
-#define TCM_GETITEMRECT (TCM_FIRST+10)
-#define TCM_GETCURSEL (TCM_FIRST+11)
-#define TCM_SETCURSEL (TCM_FIRST+12)
-#define TCM_HITTEST (TCM_FIRST+13)
-#define TCM_SETITEMEXTRA (TCM_FIRST+14)
-
-#define TCM_ADJUSTRECT (TCM_FIRST+40)
-#define TCM_SETITEMSIZE (TCM_FIRST+41)
-#define TCM_REMOVEIMAGE (TCM_FIRST+42)
-#define TCM_SETPADDING (TCM_FIRST+43)
-#define TCM_GETROWCOUNT (TCM_FIRST+44)
-#define TCM_GETTOOLTIPS (TCM_FIRST+45)
-#define TCM_SETTOOLTIPS (TCM_FIRST+46)
-#define TCM_GETCURFOCUS (TCM_FIRST+47)
-#define TCM_SETCURFOCUS (TCM_FIRST+48)
-#define TCM_SETMINTABWIDTH (TCM_FIRST + 49)
-#define TCM_DESELECTALL (TCM_FIRST + 50)
-#if (_WIN32_IE >=0x0400)
-#define TCM_HIGHLIGHTITEM (TCM_FIRST + 51)
-#define TCM_SETEXTENDEDSTYLE (TCM_FIRST + 52)
-#define TCM_GETEXTENDEDSTYLE (TCM_FIRST + 53)
-#define TCM_SETUNICODEFORMAT CCM_SETUNICODEFORMAT
-#define TCM_GETUNICODEFORMAT CCM_GETUNICODEFORMAT
-#endif /* _WIN32_IE >=0x0400 */
-#define TCN_KEYDOWN TCN_FIRST
-#define TCN_SELCHANGE (TCN_FIRST-1)
-#define TCN_SELCHANGING (TCN_FIRST-2)
-#define NM_OUTOFMEMORY (NM_FIRST-1)
-#define NM_CLICK (NM_FIRST-2)
-#define NM_DBLCLK (NM_FIRST-3)
-#define NM_RETURN (NM_FIRST-4)
-#define NM_RCLICK (NM_FIRST-5)
-#define NM_RDBLCLK (NM_FIRST-6)
-#define NM_SETFOCUS (NM_FIRST-7)
-#define NM_KILLFOCUS (NM_FIRST-8)
-#define NM_CUSTOMDRAW (NM_FIRST-12)
-#define NM_HOVER (NM_FIRST-13)
-#define NM_NCHITTEST (NM_FIRST-14)
-#define NM_KEYDOWN (NM_FIRST-15)
-#define NM_RELEASEDCAPTURE (NM_FIRST-16)
-#define NM_SETCURSOR (NM_FIRST-17)
-#define NM_CHAR (NM_FIRST-18)
-#define NM_TOOLTIPSCREATED (NM_FIRST-19)
-#define SBARS_SIZEGRIP 256
-#define CCM_FIRST 0x2000
-#define CCM_LAST (CCM_FIRST+0x200)
-#define CCM_SETBKCOLOR 8193
-#define CCM_SETCOLORSCHEME 8194
-#define CCM_GETCOLORSCHEME 8195
-#define CCM_GETDROPTARGET 8196
-#define CCM_SETUNICODEFORMAT 8197
-#define CCM_GETUNICODEFORMAT 8198
-#define CCM_SETVERSION 0x2007
-#define CCM_GETVERSION 0x2008
-#define CCM_SETNOTIFYWINDOW 0x2009
-#if (_WIN32_WINNT >= 0x0501)
-#define CCM_SETWINDOWTHEME 0x200b
-#define CCM_DPISCALE 0x200c
-#endif
-#define ICC_LISTVIEW_CLASSES 1
-#define ICC_TREEVIEW_CLASSES 2
-#define ICC_BAR_CLASSES 4
-#define ICC_TAB_CLASSES 8
-#define ICC_UPDOWN_CLASS 16
-#define ICC_PROGRESS_CLASS 32
-#define ICC_HOTKEY_CLASS 64
-#define ICC_ANIMATE_CLASS 128
-#define ICC_WIN95_CLASSES 255
-#define ICC_DATE_CLASSES 256
-#define ICC_USEREX_CLASSES 512
-#define ICC_COOL_CLASSES 1024
-#if (_WIN32_IE >= 0x0400)
-#define ICC_INTERNET_CLASSES 2048
-#define ICC_PAGESCROLLER_CLASS 4096
-#define ICC_NATIVEFNTCTL_CLASS 8192
-#define INFOTIPSIZE 1024
-#endif /* _WIN32_IE */
-#if (_WIN32_WINNT >= 0x501)
-#define ICC_STANDARD_CLASSES 0x00004000
-#define ICC_LINK_CLASS 0x00008000
-#endif
-#define GDTR_MIN 1
-#define GDTR_MAX 2
-#define GMR_VISIBLE 0
-#define GMR_DAYSTATE 1
-#define GDT_ERROR -1
-#define GDT_VALID 0
-#define GDT_NONE 1
-#define DTS_UPDOWN 1
-#define DTS_SHOWNONE 2
-#define DTS_SHORTDATEFORMAT 0
-#define DTS_LONGDATEFORMAT 4
-#define DTS_TIMEFORMAT 9
-#define DTS_APPCANPARSE 16
-#define DTS_RIGHTALIGN 32
-#if ( _WIN32_IE >= 0x500 )
-#define DTS_SHORTDATECENTURYFORMAT 0x000C
-#endif /* _WIN32_IE >= 0x500 */
-#define MCS_DAYSTATE 1
-#define MCS_MULTISELECT 2
-#define MCS_WEEKNUMBERS 4
-#if (_WIN32_IE >= 0x0400)
-#define MCS_NOTODAYCIRCLE 0x0008
-#define MCS_NOTODAY 0x0010
-#else /* _WIN32_IE >= 0x0400 */
-#define MCS_NOTODAY 0x0008
-#endif /* _WIN32_IE >= 0x0400 */
-#define DTM_GETSYSTEMTIME 0x1001
-#define DTM_SETSYSTEMTIME 0x1002
-#define DTM_GETRANGE 0x1003
-#define DTM_SETRANGE 0x1004
-#define DTM_SETFORMATA 0x1005
-#define DTM_SETFORMATW 0x1050
-#define DTM_SETMCCOLOR 0x1006
-#define DTM_GETMCCOLOR 0x1007
-#define DTM_GETMONTHCAL 0x1008
-#define DTM_SETMCFONT 0x1009
-#define DTM_GETMCFONT 0x100a
-#define DTN_USERSTRINGA ((UINT)-758)
-#define DTN_USERSTRINGW ((UINT)-745)
-#define DTN_WMKEYDOWNA ((UINT)-757)
-#define DTN_WMKEYDOWNW ((UINT)-744)
-#define DTN_FORMATA ((UINT)-756)
-#define DTN_FORMATW ((UINT)-743)
-#define DTN_FORMATQUERYA ((UINT)-755)
-#define DTN_FORMATQUERYW ((UINT)-742)
-#define DTN_DROPDOWN ((UINT)-754)
-#define DTN_CLOSEUP ((UINT)-753)
-#define DTN_DATETIMECHANGE ((UINT)-759)
-#define MCM_GETCURSEL 0x1001
-#define MCM_SETCURSEL 0x1002
-#define MCM_GETMAXSELCOUNT 0x1003
-#define MCM_SETMAXSELCOUNT 0x1004
-#define MCM_GETSELRANGE 0x1005
-#define MCM_SETSELRANGE 0x1006
-#define MCM_GETMONTHRANGE 0x1007
-#define MCM_SETDAYSTATE 0x1008
-#define MCM_GETMINREQRECT 0x1009
-#define MCM_SETCOLOR 0x100a
-#define MCM_GETCOLOR 0x100b
-#define MCM_SETTODAY 0x100c
-#define MCM_GETTODAY 0x100d
-#define MCM_HITTEST 0x100e
-#define MCM_SETFIRSTDAYOFWEEK 0x100f
-#define MCM_GETFIRSTDAYOFWEEK 0x1010
-#define MCM_GETRANGE 0x1011
-#define MCM_SETRANGE 0x1012
-#define MCM_GETMONTHDELTA 0x1013
-#define MCM_SETMONTHDELTA 0x1014
-#define MCM_GETMAXTODAYWIDTH 0x1015
-#define MCM_GETUNICODEFORMAT CCM_GETUNICODEFORMAT
-#define MCM_SETUNICODEFORMAT CCM_SETUNICODEFORMAT
-#define MCN_SELCHANGE ((UINT)-749)
-#define MCN_GETDAYSTATE ((UINT)-747)
-#define MCN_SELECT ((UINT)-746)
-#define ODT_HEADER 100
-#define ODT_TAB 101
-#define ODT_LISTVIEW 102
-#define SB_SETBKCOLOR 0x2001
-#if (_WIN32_IE >= 0x0300)
-#define SB_ISSIMPLE 1038
-#define MCSC_BACKGROUND 0
-#define MCSC_TEXT 1
-#define MCSC_TITLEBK 2
-#define MCSC_TITLETEXT 3
-#define MCSC_MONTHBK 4
-#define MCSC_TRAILINGTEXT 5
-#endif
-#if (_WIN32_IE >= 0x0400)
-#define MCHT_TITLE 0x10000
-#define MCHT_CALENDAR 0x20000
-#define MCHT_TODAYLINK 0x30000
-#define MCHT_NEXT 0x1000000
-#define MCHT_PREV 0x2000000
-#define MCHT_NOWHERE 0x00
-#define MCHT_TITLEBK (MCHT_TITLE)
-#define MCHT_TITLEMONTH (MCHT_TITLE | 0x0001)
-#define MCHT_TITLEYEAR (MCHT_TITLE | 0x0002)
-#define MCHT_TITLEBTNNEXT (MCHT_TITLE | MCHT_NEXT | 0x0003)
-#define MCHT_TITLEBTNPREV (MCHT_TITLE | MCHT_PREV | 0x0003)
-#define MCHT_CALENDARBK (MCHT_CALENDAR)
-#define MCHT_CALENDARDATE (MCHT_CALENDAR | 0x0001)
-#define MCHT_CALENDARDATENEXT (MCHT_CALENDARDATE | MCHT_NEXT)
-#define MCHT_CALENDARDATEPREV (MCHT_CALENDARDATE | MCHT_PREV)
-#define MCHT_CALENDARDAY (MCHT_CALENDAR | 0x0002)
-#define MCHT_CALENDARWEEKNUM (MCHT_CALENDAR | 0x0003)
-#endif /* _WIN32_IE >= 0x0400 */
-#define RBS_TOOLTIPS 256
-#define RBS_VARHEIGHT 512
-#define RBS_BANDBORDERS 1024
-#define RBS_FIXEDORDER 2048
-#define RBIM_IMAGELIST 1
-#define RB_SETCOLORSCHEME CCM_SETCOLORSCHEME
-#define RB_GETCOLORSCHEME CCM_GETCOLORSCHEME
-#define RBBS_BREAK 0x0001
-#define RBBS_FIXEDSIZE 0x0002
-#define RBBS_CHILDEDGE 0x0004
-#define RBBS_HIDDEN 0x0008
-#define RBBS_NOVERT 0x0010
-#define RBBS_FIXEDBMP 0x0020
-#define RBBS_VARIABLEHEIGHT 0x0040
-#define RBBS_GRIPPERALWAYS 0x0080
-#define RBBS_NOGRIPPER 0x0100
-#if (_WIN32_IE >= 0x0500)
-#define RBBS_USECHEVRON 0x0200
-#if (_WIN32_IE >= 0x0501)
-#define RBBS_HIDETITLE 0x0400
-#define RBBS_TOPALIGN 0x0800
-#endif /* _WIN32_IE >= 0x0501 */
-#endif /* _WIN32_IE >= 0x0500 */
-#define RBBIM_STYLE 1
-#define RBBIM_COLORS 2
-#define RBBIM_TEXT 4
-#define RBBIM_IMAGE 8
-#define RBBIM_CHILD 16
-#define RBBIM_CHILDSIZE 32
-#define RBBIM_SIZE 64
-#define RBBIM_BACKGROUND 128
-#define RBBIM_ID 256
-#define RB_INSERTBANDA (WM_USER+1)
-#define RB_INSERTBANDW (WM_USER+10)
-#define RB_DELETEBAND (WM_USER+2)
-#define RB_GETBARINFO (WM_USER+3)
-#define RB_SETBARINFO (WM_USER+4)
-#define RB_GETBANDCOUNT (WM_USER+12)
-#define RB_GETROWCOUNT (WM_USER+13)
-#define RB_GETROWHEIGHT (WM_USER+14)
-#define RB_SETBANDINFOA (WM_USER+6)
-#define RB_SETBANDINFOW (WM_USER+11)
-#define RB_SETPARENT (WM_USER+7)
-#define RBN_HEIGHTCHANGE RBN_FIRST
-#if (_WIN32_IE >= 0x0300)
-#define LVN_ODCACHEHINT (LVN_FIRST-13)
-#define LVN_ODFINDITEMA (LVN_FIRST-52)
-#define LVN_ODFINDITEMW (LVN_FIRST-79)
-#define LVN_ITEMACTIVATE (LVN_FIRST-14)
-#define LVN_ODSTATECHANGED (LVN_FIRST-15)
-#ifdef UNICODE
-#define LVN_ODFINDITEM LVN_ODFINDITEMW
-#else
-#define LVN_ODFINDITEM LVN_ODFINDITEMA
-#endif
-#endif /* _WIN32_IE */
-#if (_WIN32_IE >= 0x0400)
-#define SB_SETICON 1039
-#define SB_SETTIPTEXTA 1040
-#define SB_SETTIPTEXTW 1041
-#define SB_GETTIPTEXTA 1042
-#define SB_GETTIPTEXTW 1043
-#define SB_GETICON 1044
-#define SB_SETUNICODEFORMAT 0x2005
-#define SB_GETUNICODEFORMAT 0x2006
-#define PGF_INVISIBLE 0
-#define PGF_NORMAL 1
-#define PGF_GRAYED 2
-#define PGF_DEPRESSED 4
-#define PGF_HOT 8
-#define PGB_TOPORLEFT 0
-#define PGB_BOTTOMORRIGHT 1
-#define PGF_SCROLLUP 1
-#define PGF_SCROLLDOWN 2
-#define PGF_SCROLLLEFT 4
-#define PGF_SCROLLRIGHT 8
-#define PGK_SHIFT 1
-#define PGK_CONTROL 2
-#define PGK_MENU 4
-#define PGF_CALCWIDTH 1
-#define PGF_CALCHEIGHT 2
-#define PGM_FIRST 0x1400
-#define PGM_SETCHILD (PGM_FIRST+1)
-#define PGM_RECALCSIZE (PGM_FIRST+2)
-#define PGM_FORWARDMOUSE (PGM_FIRST+3)
-#define PGM_SETBKCOLOR (PGM_FIRST+4)
-#define PGM_GETBKCOLOR (PGM_FIRST+5)
-#define PGM_SETBORDER (PGM_FIRST+6)
-#define PGM_GETBORDER (PGM_FIRST+7)
-#define PGM_SETPOS (PGM_FIRST+8)
-#define PGM_GETPOS (PGM_FIRST+9)
-#define PGM_SETBUTTONSIZE (PGM_FIRST+10)
-#define PGM_GETBUTTONSIZE (PGM_FIRST+11)
-#define PGM_GETBUTTONSTATE (PGM_FIRST+12)
-#define PGM_GETDROPTARGET CCM_GETDROPTARGET
-
-#define RBS_REGISTERDROP 4096
-#define RBS_AUTOSIZE 8192
-#define RBS_VERTICALGRIPPER 16384
-#define RBS_DBLCLKTOGGLE 32768
-#define RBBIM_IDEALSIZE 512
-#define RBBIM_LPARAM 1024
-#define RBBIM_HEADERSIZE 2048
-#define RB_HITTEST (WM_USER+8)
-#define RB_GETRECT (WM_USER+9)
-#define RB_IDTOINDEX (WM_USER+16)
-#define RB_GETTOOLTIPS (WM_USER+17)
-#define RB_SETTOOLTIPS (WM_USER+18)
-#define RB_SETBKCOLOR (WM_USER+19)
-#define RB_GETBKCOLOR (WM_USER+20)
-#define RB_SETTEXTCOLOR (WM_USER+21)
-#define RB_GETTEXTCOLOR (WM_USER+22)
-#define RB_SIZETORECT (WM_USER+23)
-#define RB_BEGINDRAG (WM_USER+24)
-#define RB_ENDDRAG (WM_USER+25)
-#define RB_DRAGMOVE (WM_USER+26)
-#define RB_GETBARHEIGHT (WM_USER+27)
-#define RB_GETBANDINFOW (WM_USER+28)
-#define RB_GETBANDINFOA (WM_USER+29)
-#define RB_MINIMIZEBAND (WM_USER+30)
-#define RB_MAXIMIZEBAND (WM_USER+31)
-#define RB_GETDROPTARGET CCM_GETDROPTARGET
-#define RB_GETBANDBORDERS (WM_USER+34)
-#define RB_SHOWBAND (WM_USER+35)
-#define RB_SETPALETTE (WM_USER+37)
-#define RB_GETPALETTE (WM_USER+38)
-#define RB_MOVEBAND (WM_USER+39)
-#define RB_SETUNICODEFORMAT CCM_SETUNICODEFORMAT
-#define RB_GETUNICODEFORMAT CCM_GETUNICODEFORMAT
-#define RBN_GETOBJECT (RBN_FIRST-1)
-#define RBN_LAYOUTCHANGED (RBN_FIRST-2)
-#define RBN_AUTOSIZE (RBN_FIRST-3)
-#define RBN_BEGINDRAG (RBN_FIRST-4)
-#define RBN_ENDDRAG (RBN_FIRST-5)
-#define RBN_DELETINGBAND (RBN_FIRST-6)
-#define RBN_DELETEDBAND (RBN_FIRST-7)
-#define RBN_CHILDSIZE (RBN_FIRST-8)
-#define RBNM_ID 1
-#define RBNM_STYLE 2
-#define RBNM_LPARAM 4
-#define RBHT_NOWHERE 1
-#define RBHT_CAPTION 2
-#define RBHT_CLIENT 3
-#define RBHT_GRABBER 4
-#ifdef UNICODE
-#define SB_SETTIPTEXT SB_SETTIPTEXTW
-#define SB_GETTIPTEXT SB_GETTIPTEXTW
-#define RB_GETBANDINFO RB_GETBANDINFOW
-#else
-#define SB_SETTIPTEXT SB_SETTIPTEXTA
-#define SB_GETTIPTEXT SB_GETTIPTEXTA
-#define RB_GETBANDINFO RB_GETBANDINFOA
-#endif
-#else
-#define RB_GETBANDINFO (WM_USER+5)
-#endif /* _WIN32_IE >= 0x0400 */
-#define CBEM_INSERTITEMA (WM_USER + 1)
-#define CBEM_SETIMAGELIST (WM_USER + 2)
-#define CBEM_GETIMAGELIST (WM_USER + 3)
-#define CBEM_GETITEMA (WM_USER + 4)
-#define CBEM_SETITEMA (WM_USER + 5)
-#define CBEM_DELETEITEM CB_DELETESTRING
-#define CBEM_GETCOMBOCONTROL (WM_USER + 6)
-#define CBEM_GETEDITCONTROL (WM_USER + 7)
-#define CBEM_SETEXSTYLE (WM_USER + 8)
-#define CBEM_GETEXSTYLE (WM_USER + 9)
-#if (_WIN32_IE >= 0x0400)
-#define CBEM_SETEXTENDEDSTYLE (WM_USER + 14)
-#define CBEM_GETEXTENDEDSTYLE (WM_USER + 9)
-#define CBEM_SETUNICODEFORMAT CCM_SETUNICODEFORMAT
-#define CBEM_GETUNICODEFORMAT CCM_GETUNICODEFORMAT
-#endif /* _WIN32_IE >= 0x0400 */
-#define CBEM_HASEDITCHANGED (WM_USER + 10)
-#define CBEM_INSERTITEMW (WM_USER + 11)
-#define CBEM_SETITEMW (WM_USER + 12)
-#define CBEM_GETITEMW (WM_USER + 13)
-#define DA_LAST 0x7fffffff
-#define DPA_APPEND 0x7fffffff
-#define DPA_ERR -1
-#define DSA_APPEND 0x7fffffff
-#define DSA_ERR -1
-#define DPAS_SORTED 1
-#define DPAS_INSERTBEFORE 2
-#define DPAS_INSERTAFTER 4
-#if (_WIN32_IE >= 0x400)
-#define WSB_PROP_CYVSCROLL 1
-#define WSB_PROP_CXHSCROLL 2
-#define WSB_PROP_CYHSCROLL 4
-#define WSB_PROP_CXVSCROLL 8
-#define WSB_PROP_CXHTHUMB 16
-#define WSB_PROP_CYVTHUMB 32
-#define WSB_PROP_VBKGCOLOR 64
-#define WSB_PROP_HBKGCOLOR 128
-#define WSB_PROP_VSTYLE 256
-#define WSB_PROP_HSTYLE 512
-#define WSB_PROP_WINSTYLE 1024
-#define WSB_PROP_PALETTE 2048
-#define WSB_PROP_MASK 0xfff
-#define FSB_FLAT_MODE 2
-#define FSB_ENCARTA_MODE 1
-#define FSB_REGULAR_MODE 0
-#endif /* _WIN32_IE >= 0x400 */
-
-#ifndef RC_INVOKED
-typedef struct tagCOMBOBOXEXITEMA{
- UINT mask;
- int iItem;
- LPSTR pszText;
- int cchTextMax;
- int iImage;
- int iSelectedImage;
- int iOverlay;
- int iIndent;
- LPARAM lParam;
-} COMBOBOXEXITEMA, *PCOMBOBOXEXITEMA;
-typedef COMBOBOXEXITEMA CONST *PCCOMBOEXITEMA;
-typedef struct tagCOMBOBOXEXITEMW{
- UINT mask;
- int iItem;
- LPWSTR pszText;
- int cchTextMax;
- int iImage;
- int iSelectedImage;
- int iOverlay;
- int iIndent;
- LPARAM lParam;
-} COMBOBOXEXITEMW, *PCOMBOBOXEXITEMW;
-typedef COMBOBOXEXITEMW CONST *PCCOMBOEXITEMW;
-#if (_WIN32_IE >= 0x0400)
-typedef struct {
- NMHDR hdr;
- COMBOBOXEXITEMA ceItem;
-} NMCOMBOBOXEXA, *PNMCOMBOBOXEXA;
-typedef struct {
- NMHDR hdr;
- COMBOBOXEXITEMW ceItem;
-} NMCOMBOBOXEXW, *PNMCOMBOBOXEXW;
-typedef struct {
- NMHDR hdr;
- int iItemid;
- WCHAR szText[CBEMAXSTRLEN];
-}NMCBEDRAGBEGINW, *LPNMCBEDRAGBEGINW, *PNMCBEDRAGBEGINW;
-typedef struct {
- NMHDR hdr;
- int iItemid;
- char szText[CBEMAXSTRLEN];
-}NMCBEDRAGBEGINA, *LPNMCBEDRAGBEGINA, *PNMCBEDRAGBEGINA;
-typedef struct tagNMIPADDRESS{
- NMHDR hdr;
- int iField;
- int iValue;
-} NMIPADDRESS, *LPNMIPADDRESS;
-typedef struct tagLVKEYDOWN {
- NMHDR hdr;
- WORD wVKey;
- UINT flags;
-} NMLVKEYDOWN, *LPNMLVKEYDOWN;
-typedef struct {
- NMHDR hdr;
- DWORD dwFlag;
- int iWidth;
- int iHeight;
-} NMPGCALCSIZE, *LPNMPGCALCSIZE;
-typedef struct {
- NMHDR hdr;
- BOOL fwKeys;
- RECT rcParent;
- int iDir;
- int iXpos;
- int iYpos;
- int iScroll;
-} NMPGSCROLL, *LPNMPGSCROLL;
-typedef struct tagNMSELCHANGE {
- NMHDR nmhdr;
- SYSTEMTIME stSelStart;
- SYSTEMTIME stSelEnd;
-} NMSELCHANGE, *LPNMSELCHANGE;
-typedef struct tagNMTBHOTITEM {
- NMHDR hdr;
- int idOld;
- int idNew;
- DWORD dwFlags;
-} NMTBHOTITEM, *LPNMTBHOTITEM;
-typedef struct {
- NMHDR hdr;
- DWORD dwMask;
- int idCommand;
- DWORD_PTR lParam;
- int iImage;
- LPSTR pszText;
- int cchText;
-} NMTBDISPINFOA, *LPNMTBDISPINFOA;
-typedef struct {
- NMHDR hdr;
- DWORD dwMask;
- int idCommand;
- DWORD_PTR lParam;
- int iImage;
- LPWSTR pszText;
- int cchText;
-} NMTBDISPINFOW, *LPNMTBDISPINFOW;
-typedef struct tagNMTBGETINFOTIPA
-{
- NMHDR hdr;
- LPSTR pszText;
- int cchTextMax;
- int iItem;
- LPARAM lParam;
-} NMTBGETINFOTIPA, *LPNMTBGETINFOTIPA;
-typedef struct tagNMTBGETINFOTIPW
-{
- NMHDR hdr;
- LPWSTR pszText;
- int cchTextMax;
- int iItem;
- LPARAM lParam;
-} NMTBGETINFOTIPW, *LPNMTBGETINFOTIPW;
-typedef struct tagNMMOUSE {
- NMHDR hdr;
- DWORD_PTR dwItemSpec;
- DWORD_PTR dwItemData;
- POINT pt;
- LPARAM dwHitInfo;
-} NMMOUSE, *LPNMMOUSE;
-#endif /*_WIN32_IE >= 0x0400 */
-#if (_WIN32_IE >= 0x0401)
-typedef struct tagNMTOOLTIPSCREATED
-{
- NMHDR hdr;
- HWND hwndToolTips;
-} NMTOOLTIPSCREATED, *LPNMTOOLTIPSCREATED;
-#endif
-typedef struct tagNMDATETIMECHANGE
-{
- NMHDR nmhdr;
- DWORD dwFlags;
- SYSTEMTIME st;
-} NMDATETIMECHANGE, *LPNMDATETIMECHANGE;
-typedef struct {
- NMHDR hdr;
- BOOL fChanged;
- int iNewSelection;
- WCHAR szText[CBEMAXSTRLEN];
- int iWhy;
-} NMCBEENDEDITW, *LPNMCBEENDEDITW, *PNMCBEENDEDITW;
-typedef struct {
- NMHDR hdr;
- BOOL fChanged;
- int iNewSelection;
- char szText[CBEMAXSTRLEN];
- int iWhy;
-} NMCBEENDEDITA, *LPNMCBEENDEDITA,*PNMCBEENDEDITA;
-typedef struct _COLORMAP {
- COLORREF from;
- COLORREF to;
-} COLORMAP,*LPCOLORMAP;
-typedef struct {
- UINT uNotification;
- HWND hWnd;
- POINT ptCursor;
-} DRAGLISTINFO,*LPDRAGLISTINFO;
-typedef struct _TBBUTTON {
- int iBitmap;
- int idCommand;
- BYTE fsState;
- BYTE fsStyle;
- BYTE bReserved[2];
- DWORD dwData;
- int iString;
-} TBBUTTON,*PTBBUTTON,*LPTBBUTTON;
-typedef const TBBUTTON *LPCTBBUTTON;
-#if _WIN32_IE >= 0x400
-typedef struct {
- UINT cbSize;
- DWORD dwMask;
- int idCommand;
- int iImage;
- BYTE fsState;
- BYTE fsStyle;
- WORD cx;
- DWORD lParam;
- LPSTR pszText;
- int cchText;
-} TBBUTTONINFOA, *LPTBBUTTONINFOA;
-typedef struct {
- UINT cbSize;
- DWORD dwMask;
- int idCommand;
- int iImage;
- BYTE fsState;
- BYTE fsStyle;
- WORD cx;
- DWORD lParam;
- LPWSTR pszText;
- int cchText;
-} TBBUTTONINFOW, *LPTBBUTTONINFOW;
-typedef struct {
- int iButton;
- DWORD dwFlags;
-} TBINSERTMARK, *LPTBINSERTMARK;
-typedef struct tagLVBKIMAGEA {
- ULONG ulFlags;
- HBITMAP hbm;
- LPSTR pszImage;
- UINT cchImageMax;
- int xOffsetPercent;
- int yOffsetPercent;
-} LVBKIMAGEA, *LPLVBKIMAGEA;
-typedef struct tagLVBKIMAGEW {
- ULONG ulFlags;
- HBITMAP hbm;
- LPWSTR pszImage;
- UINT cchImageMax;
- int xOffsetPercent;
- int yOffsetPercent;
-} LVBKIMAGEW, *LPLVBKIMAGEW;
-#endif /* _WIN32_IE >= 0x400 */
-typedef struct {
- NMHDR hdr;
- int iItem;
- TBBUTTON tbButton;
- int cchText;
- LPTSTR pszText;
-} TBNOTIFY,*LPTBNOTIFY;
-typedef struct {
- HKEY hkr;
- LPCTSTR pszSubKey;
- LPCTSTR pszValueName;
-} TBSAVEPARAMS;
-typedef struct _IMAGEINFO {
- HBITMAP hbmImage;
- HBITMAP hbmMask;
- int Unused1;
- int Unused2;
- RECT rcImage;
-} IMAGEINFO, *LPIMAGEINFO;
-typedef struct _IMAGELIST *HIMAGELIST;
-typedef struct _HDITEMA {
- UINT mask;
- int cxy;
- LPSTR pszText;
- HBITMAP hbm;
- int cchTextMax;
- int fmt;
- LPARAM lParam;
-#if (_WIN32_IE >= 0x0300)
- int iImage;
- int iOrder;
-#endif
-#if (_WIN32_IE >= 0x0500)
- UINT type;
- LPVOID pvFilter;
-#endif
-} HDITEMA, * LPHDITEMA;
-typedef struct _HDITEMW {
- UINT mask;
- int cxy;
- LPWSTR pszText;
- HBITMAP hbm;
- int cchTextMax;
- int fmt;
- LPARAM lParam;
-#if (_WIN32_IE >= 0x0300)
- int iImage;
- int iOrder;
-#endif
-#if (_WIN32_IE >= 0x0500)
- UINT type;
- LPVOID pvFilter;
-#endif
-} HDITEMW, * LPHDITEMW;
-/* for backward compatability */
-#define HD_ITEMA HDITEMA
-#define HD_ITEMW HDITEMW
-#define HD_ITEM HDITEM
-typedef struct _HD_LAYOUT {
- RECT *prc;
- WINDOWPOS *pwpos;
-} HDLAYOUT, *LPHDLAYOUT;
-#define HD_LAYOUT HDLAYOUT /* backward compatability */
-typedef struct _HD_HITTESTINFO {
- POINT pt;
- UINT flags;
- int iItem;
-} HD_HITTESTINFO, *LPHDHITTESTINFO;
-typedef struct _HD_NOTIFYA {
- NMHDR hdr;
- int iItem;
- int iButton;
- HD_ITEMA *pitem;
-} HD_NOTIFYA;
-typedef struct _HD_NOTIFYW {
- NMHDR hdr;
- int iItem;
- int iButton;
- HD_ITEMW *pitem;
-} HD_NOTIFYW;
-/* FIXME: NMHEADER structure (base for all events of the comctl controls)
- is the same as HD_NOTIFY depending on the value of _WIN32_IE macro.
- I'm defining both for now. */
-typedef struct _NMHEADERA {
- NMHDR hdr;
- int iItem;
- int iButton;
- HD_ITEMA* pitem;
-} NMHEADERA, *LPNMHEADERA;
-
-typedef struct _NMHEADERW {
- NMHDR hdr;
- int iItem;
- int iButton;
- HD_ITEMW* pitem;
-} NMHEADERW, *LPNMHEADERW;
-#ifdef UNICODE
-#define NMHEADER NMHEADERW
-#define LPNMHEADER LPNMHEADERW
-#else
-#define NMHEADER NMHEADERA
-#define LPNMHEADER LPNMHEADERA
-#endif
-/* End FIXME. */
-typedef struct tagNMHDDISPINFOA {
- NMHDR hdr;
- int iItem;
- UINT mask;
- LPSTR pszText;
- int cchTextMax;
- int iImage;
- LPARAM lParam;
-} NMHDDISPINFOA, *LPNMHDDISPINFOA;
-typedef struct tagNMHDDISPINFOW {
- NMHDR hdr;
- int iItem;
- UINT mask;
- LPWSTR pszText;
- int cchTextMax;
- int iImage;
- LPARAM lParam;
-} NMHDDISPINFOW, *LPNMHDDISPINFOW;
-typedef struct tagNMCUSTOMDRAWINFO {
- NMHDR hdr;
- DWORD dwDrawStage;
- HDC hdc;
- RECT rc;
- DWORD dwItemSpec;
- UINT uItemState;
- LPARAM lItemlParam;
-} NMCUSTOMDRAW, *LPNMCUSTOMDRAW;
-typedef struct tagNMLVCUSTOMDRAW {
- NMCUSTOMDRAW nmcd;
- COLORREF clrText;
- COLORREF clrTextBk;
-#if _WIN32_IE >= 0x0400
- int iSubItem;
-#endif
-} NMLVCUSTOMDRAW, *LPNMLVCUSTOMDRAW;
-#if (_WIN32_IE >= 0x0400)
-typedef struct tagNMLVGETINFOTIPA
-{
- NMHDR hdr;
- DWORD dwFlags;
- LPSTR pszText;
- int cchTextMax;
- int iItem;
- int iSubItem;
- LPARAM lParam;
-} NMLVGETINFOTIPA, *LPNMLVGETINFOTIPA;
-typedef struct tagNMLVGETINFOTIPW
-{
- NMHDR hdr;
- DWORD dwFlags;
- LPWSTR pszText;
- int cchTextMax;
- int iItem;
- int iSubItem;
- LPARAM lParam;
-} NMLVGETINFOTIPW, *LPNMLVGETINFOTIPW;
-#endif /* _WIN32_IE >= 0x0400 */
-typedef struct tagNMTVCUSTOMDRAW {
- NMCUSTOMDRAW nmcd;
- COLORREF clrText;
- COLORREF clrTextBk;
-#if _WIN32_IE >= 0x0400
- int iLevel;
-#endif
-} NMTVCUSTOMDRAW, *LPNMTVCUSTOMDRAW;
-#if (_WIN32_IE >= 0x400)
-typedef struct _NMTBCUSTOMDRAW {
- NMCUSTOMDRAW nmcd;
- HBRUSH hbrMonoDither;
- HBRUSH hbrLines;
- HPEN hpenLines;
- COLORREF clrText;
- COLORREF clrMark;
- COLORREF clrTextHighlight;
- COLORREF clrBtnFace;
- COLORREF clrBtnHighlight;
- COLORREF clrHighlightHotTrack;
- RECT rcText;
- int nStringBkMode;
- int nHLStringBkMode;
-#if (_WIN32_WINNT >= 0x0501)
- int iListGap;
-#endif
-} NMTBCUSTOMDRAW, * LPNMTBCUSTOMDRAW;
-typedef struct tagNMITEMACTIVATE {
- NMHDR hdr;
- int iItem;
- int iSubItem;
- UINT uNewState;
- UINT uOldState;
- UINT uChanged;
- POINT ptAction;
- LPARAM lParam;
- UINT uKeyFlags;
-} NMITEMACTIVATE, *LPNMITEMACTIVATE;
-#endif /* _WIN32_IE >= 0x0400 */
-typedef struct tagTBADDBITMAP {
- HINSTANCE hInst;
- UINT nID;
-} TBADDBITMAP,*LPTBADDBITMAP;
-typedef struct tagTBSAVEPARAMSA {
- HKEY hkr;
- LPCSTR pszSubKey;
- LPCSTR pszValueName;
-} TBSAVEPARAMSA;
-typedef struct tagTBSAVEPARAMSW {
- HKEY hkr;
- LPCWSTR pszSubKey;
- LPCWSTR pszValueName;
-} TBSAVEPARAMSW;
-typedef struct {
- HINSTANCE hInstOld;
- UINT nIDOld;
- HINSTANCE hInstNew;
- UINT nIDNew;
- int nButtons;
-} TBREPLACEBITMAP,*LPTBREPLACEBITMAP;
-typedef struct tagNMTOOLBARA {
- NMHDR hdr;
- int iItem;
- TBBUTTON tbButton;
- int cchText;
- LPSTR pszText;
-#if (_WIN32_IE >= 0x500)
- RECT rcButton;
-#endif
-} NMTOOLBARA, *LPNMTOOLBARA;
-#define TBNOTIFYA NMTOOLBARA
-#define LPTBNOTIFYA LPNMTOOLBARA
-typedef struct tagNMTOOLBARW {
- NMHDR hdr;
- int iItem;
- TBBUTTON tbButton;
- int cchText;
- LPWSTR pszText;
-#if (_WIN32_IE >= 0x500)
- RECT rcButton;
-#endif
-} NMTOOLBARW, *LPNMTOOLBARW;
-#define TBNOTIFYW NMTOOLBARW
-#define LPTBNOTIFYW LPNMTOOLBARW
-typedef struct tagTOOLINFOA {
- UINT cbSize;
- UINT uFlags;
- HWND hwnd;
- UINT uId;
- RECT rect;
- HINSTANCE hinst;
- LPSTR lpszText;
-#if (_WIN32_IE >= 0x0300)
- LPARAM lParam;
-#endif
-} TTTOOLINFOA,*LPTTTOOLINFOA,*PTOOLINFOA;
-#define TOOLINFOA TTTOOLINFOA
-#define LPTOOLINFOA LPTTTOOLINFOA
-#define TTTOOLINFOA_V1_SIZE CCSIZEOF_STRUCT(TTTOOLINFOA, lpszText)
-#define TTTOOLINFOA_V2_SIZE CCSIZEOF_STRUCT(TTTOOLINFOA, lParam)
-#define TTTOOLINFOA_V3_SIZE CCSIZEOF_STRUCT(TTTOOLINFOA, lpReserved)
-typedef struct tagTOOLINFOW {
- UINT cbSize;
- UINT uFlags;
- HWND hwnd;
- UINT uId;
- RECT rect;
- HINSTANCE hinst;
- LPWSTR lpszText;
-#if (_WIN32_IE >= 0x0300)
- LPARAM lParam;
-#endif
-} TTTOOLINFOW,*LPTTTOOLINFOW,*PTOOLINFOW;
-#define TOOLINFOW TTTOOLINFOW
-#define LPTOOLINFOW LPTTTOOLINFOW
-#define TTTOOLINFOW_V1_SIZE CCSIZEOF_STRUCT(TTTOOLINFOW, lpszText)
-#define TTTOOLINFOW_V2_SIZE CCSIZEOF_STRUCT(TTTOOLINFOW, lParam)
-#define TTTOOLINFOW_V3_SIZE CCSIZEOF_STRUCT(TTTOOLINFOW, lpReserved)
-typedef struct _TT_HITTESTINFOA {
- HWND hwnd;
- POINT pt;
- TOOLINFOA ti;
-} TTHITTESTINFOA,*LPTTHITTESTINFOA;
-#define LPHITTESTINFOA LPTTHITTESTINFOA
-typedef struct _TT_HITTESTINFOW {
- HWND hwnd;
- POINT pt;
- TOOLINFOW ti;
-} TTHITTESTINFOW,*LPTTHITTESTINFOW;
-#define LPHITTESTINFOW LPTTHITTESTINFOW
-typedef struct tagNMTTDISPINFOA {
- NMHDR hdr;
- LPSTR lpszText;
- char szText[80];
- HINSTANCE hinst;
- UINT uFlags;
-#if (_WIN32_IE >= 0x0300)
- LPARAM lParam;
-#endif
-} NMTTDISPINFOA, *LPNMTTDISPINFOA;
-#define TOOLTIPTEXTA NMTTDISPINFOA
-#define LPTOOLTIPTEXTA LPNMTTDISPINFOA
-typedef struct tagNMTTDISPINFOW {
- NMHDR hdr;
- LPWSTR lpszText;
- WCHAR szText[80];
- HINSTANCE hinst;
- UINT uFlags;
-#if (_WIN32_IE >= 0x0300)
- LPARAM lParam;
-#endif
-} NMTTDISPINFOW, *LPNMTTDISPINFOW;
-#define TOOLTIPTEXTW NMTTDISPINFOW
-#define LPTOOLTIPTEXTW LPNMTTDISPINFOW
-typedef struct _UDACCEL {
- UINT nSec;
- UINT nInc;
-} UDACCEL,*LPUDACCEL;
-typedef struct _NM_UPDOWN {
- NMHDR hdr;
- int iPos;
- int iDelta;
-} NMUPDOWN,*LPNMUPDOWN;
-/* for backward compatability */
-#define NM_UPDOWN NMUPDOWN
-#define LPNM_UPDOWN LPNMUPDOWN
-typedef struct _LVITEMA {
- UINT mask;
- int iItem;
- int iSubItem;
- UINT state;
- UINT stateMask;
- LPSTR pszText;
- int cchTextMax;
- int iImage;
- LPARAM lParam;
-#if (_WIN32_IE >= 0x0300)
- int iIndent;
-#endif
-#if (_WIN32_WINNT >= 0x0501)
- int iGroupId;
- UINT cColumns;
- PUINT puColumns;
-#endif
-} LVITEMA, FAR *LPLVITEMA;
-#define _LV_ITEMA _LVITEMA
-#define LV_ITEMA LVITEMA
-typedef struct _LVITEMW {
- UINT mask;
- int iItem;
- int iSubItem;
- UINT state;
- UINT stateMask;
- LPWSTR pszText;
- int cchTextMax;
- int iImage;
- LPARAM lParam;
-#if (_WIN32_IE >= 0x0300)
- int iIndent;
-#endif
-#if (_WIN32_WINNT >= 0x0501)
- int iGroupId;
- UINT cColumns;
- PUINT puColumns;
-#endif
-} LVITEMW, FAR *LPLVITEMW;
-#define _LV_ITEMW _LVITEMW
-#define LV_ITEMW LVITEMW
-typedef struct tagLVFINDINFOA {
- UINT flags;
- LPCSTR psz;
- LPARAM lParam;
- POINT pt;
- UINT vkDirection;
-} LVFINDINFOA, FAR* LPFINDINFOA;
-#define _LV_FINDINFOA tagLVFINDINFOA
-#define LV_FINDINFOA LVFINDINFOA
-typedef struct tagLVFINDINFOW {
- UINT flags;
- LPCWSTR psz;
- LPARAM lParam;
- POINT pt;
- UINT vkDirection;
-} LVFINDINFOW, FAR* LPFINDINFOW;
-#define _LV_FINDINFOW tagLVFINDINFOW
-#define LV_FINDINFOW LVFINDINFOW
-typedef struct tagNMLVFINDITEMA {
- NMHDR hdr;
- int iStart;
- LVFINDINFOA lvfi;
-} NMLVFINDITEMA, *PNMLVFINDITEMA, FAR *LPNMLVFINDITEMA;
-#define _NMLVFINDITEMA tagNMLVFINDITEMA
-typedef struct tagNMLVFINDITEMW {
- NMHDR hdr;
- int iStart;
- LVFINDINFOW lvfi;
-} NMLVFINDITEMW, *PNMLVFINDITEMW, FAR *LPNMLVFINDITEMW;
-#define _NMLVFINDITEMW tagNMLVFINDITEMW
-typedef struct _LVHITTESTINFO {
- POINT pt;
- UINT flags;
- int iItem;
-#if (_WIN32_IE >= 0x0300)
- int iSubItem;
-#endif
-} LVHITTESTINFO, FAR *LPLVHITTESTINFO;
-#define _LV_HITTESTINFO _LVHITTESTINFO
-#define LV_HITTESTINFO LVHITTESTINFO
-typedef struct _LVCOLUMNA {
- UINT mask;
- int fmt;
- int cx;
- LPSTR pszText;
- int cchTextMax;
- int iSubItem;
-#if (_WIN32_IE >= 0x0300)
- int iImage;
- int iOrder;
-#endif
-} LVCOLUMNA, FAR *LPLVCOLUMNA;
-#define _LV_COLUMNA _LVCOLUMNA
-#define LV_COLUMNA LVCOLUMNA
-typedef struct _LVCOLUMNW {
- UINT mask;
- int fmt;
- int cx;
- LPWSTR pszText;
- int cchTextMax;
- int iSubItem;
-#if (_WIN32_IE >= 0x0300)
- int iImage;
- int iOrder;
-#endif
-} LVCOLUMNW, FAR *LPLVCOLUMNW;
-#define _LV_COLUMNW _LVCOLUMNW
-#define LV_COLUMNW LVCOLUMNW
-typedef int(CALLBACK *PFNLVCOMPARE)(LPARAM,LPARAM,LPARAM);
-typedef struct tagNMLISTVIEW {
- NMHDR hdr;
- int iItem;
- int iSubItem;
- UINT uNewState;
- UINT uOldState;
- UINT uChanged;
- POINT ptAction;
- LPARAM lParam;
-} NMLISTVIEW, *LPNMLISTVIEW;
-/* for backward compatability */
-#define _NM_LISTVIEW tagNMLISTVIEW
-#define NM_LISTVIEW NMLISTVIEW
-#define LPNM_LISTVIEW LPNMLISTVIEW
-typedef struct tagNMLVDISPINFOA {
- NMHDR hdr;
- LV_ITEMA item;
-} NMLVDISPINFOA, FAR *LPNMLVDISPINFOA;
-#define _LV_DISPINFOA tagNMLVDISPINFOA
-#define LV_DISPINFOA NMLVDISPINFOA
-typedef struct tagNMLVDISPINFOW {
- NMHDR hdr;
- LV_ITEMW item;
-} NMLVDISPINFOW, FAR *LPNMLVDISPINFOW;
-#define _LV_DISPINFOW tagNMLVDISPINFOW
-#define LV_DISPINFOW NMLVDISPINFOW
-typedef struct _LV_KEYDOWN {
- NMHDR hdr;
- WORD wVKey;
- UINT flags;
-} LV_KEYDOWN;
-typedef struct tagNMLVCACHEHINT {
- NMHDR hdr;
- int iFrom;
- int iTo;
-} NMLVCACHEHINT, *PNMLVCACHEHINT;
-#define NM_CACHEHINT NMLVCACHEHINT
-typedef struct _TREEITEM *HTREEITEM;
-typedef struct tagTVITEMA {
- UINT mask;
- HTREEITEM hItem;
- UINT state;
- UINT stateMask;
- LPSTR pszText;
- int cchTextMax;
- int iImage;
- int iSelectedImage;
- int cChildren;
- LPARAM lParam;
-} TVITEMA,*LPTVITEMA;
-#define _TV_ITEMA tagTVITEMA
-#define TV_ITEMA TVITEMA
-#define LPTV_ITEMA LPTVITEMA
-typedef struct tagTVITEMW {
- UINT mask;
- HTREEITEM hItem;
- UINT state;
- UINT stateMask;
- LPWSTR pszText;
- int cchTextMax;
- int iImage;
- int iSelectedImage;
- int cChildren;
- LPARAM lParam;
-} TVITEMW,*LPTVITEMW;
-#define _TV_ITEMW tagTVITEMW
-#define TV_ITEMW TVITEMW
-#define LPTV_ITEMW LPTVITEMW
-#if (_WIN32_IE >= 0x0400)
-typedef struct tagTVITEMEXA {
- UINT mask;
- HTREEITEM hItem;
- UINT state;
- UINT stateMask;
- LPSTR pszText;
- int cchTextMax;
- int iImage;
- int iSelectedImage;
- int cChildren;
- LPARAM lParam;
- int iIntegral;
-} TVITEMEXA, *LPTVITEMEXA;
-typedef struct tagTVITEMEXW {
- UINT mask;
- HTREEITEM hItem;
- UINT state;
- UINT stateMask;
- LPWSTR pszText;
- int cchTextMax;
- int iImage;
- int iSelectedImage;
- int cChildren;
- LPARAM lParam;
- int iIntegral;
-} TVITEMEXW, *LPTVITEMEXW;
-#endif /* _WIN32_IE >= 0x0400 */
-typedef struct tagTVINSERTSTRUCTA {
- HTREEITEM hParent;
- HTREEITEM hInsertAfter;
-#if (_WIN32_IE >= 0x0400)
- _ANONYMOUS_UNION union {
- TVITEMEXA itemex;
- TV_ITEMA item;
- } DUMMYUNIONNAME;
-#else
- TV_ITEMA item;
-#endif
-} TVINSERTSTRUCTA,*LPTVINSERTSTRUCTA;
-#define _TV_INSERTSTRUCTA tagTVINSERTSTRUCTA
-#define TV_INSERTSTRUCTA TVINSERTSTRUCTA
-#define LPTV_INSERTSTRUCTA LPTVINSERTSTRUCTA
-typedef struct tagTVINSERTSTRUCTW {
- HTREEITEM hParent;
- HTREEITEM hInsertAfter;
-#if (_WIN32_IE >= 0x0400)
- _ANONYMOUS_UNION union {
- TVITEMEXW itemex;
- TV_ITEMW item;
- } DUMMYUNIONNAME;
-#else
- TV_ITEMW item;
-#endif
-} TVINSERTSTRUCTW,*LPTVINSERTSTRUCTW;
-#define _TV_INSERTSTRUCTW tagTVINSERTSTRUCTW
-#define TV_INSERTSTRUCTW TVINSERTSTRUCTW
-#define LPTV_INSERTSTRUCTW LPTVINSERTSTRUCTW
-typedef struct tagTVHITTESTINFO {
- POINT pt;
- UINT flags;
- HTREEITEM hItem;
-} TVHITTESTINFO, *LPTVHITTESTINFO;
-#define _TV_HITTESTINFO tagTVHITTESTINFO
-#define TV_HITTESTINFO TVHITTESTINFO
-#define LPTV_HITTESTINFO LPTVHITTESTINFO
-typedef int(CALLBACK *PFNTVCOMPARE)(LPARAM,LPARAM,LPARAM);
-typedef struct tagTVSORTCB {
- HTREEITEM hParent;
- PFNTVCOMPARE lpfnCompare;
- LPARAM lParam;
-} TVSORTCB,*LPTVSORTCB;
-#define _TV_SORTCB tagTVSORTCB
-#define TV_SORTCB TVSORTCB
-#define LPTV_SORTCB LPTVSORTCB
-typedef struct tagNMTREEVIEWA {
- NMHDR hdr;
- UINT action;
- TV_ITEMA itemOld;
- TV_ITEMA itemNew;
- POINT ptDrag;
-} NMTREEVIEWA,*LPNMTREEVIEWA;
-#define _NM_TREEVIEWA tagNMTREEVIEWA
-#define NM_TREEVIEWA NMTREEVIEWA
-#define LPNM_TREEVIEWA LPNMTREEVIEWA
-typedef struct tagNMTREEVIEWW {
- NMHDR hdr;
- UINT action;
- TV_ITEMW itemOld;
- TV_ITEMW itemNew;
- POINT ptDrag;
-} NMTREEVIEWW,*LPNMTREEVIEWW;
-#define _NM_TREEVIEWW tagNMTREEVIEWW
-#define NM_TREEVIEWW NMTREEVIEWW
-#define LPNM_TREEVIEWW LPNMTREEVIEWW
-typedef struct tagNMTVDISPINFOA {
- NMHDR hdr;
- TVITEMA item;
-} NMTVDISPINFOA, *LPNMTVDISPINFOA;
-#define _TV_DISPINFOA tagNMTVDISPINFOA
-#define TV_DISPINFOA NMTVDISPINFOA
-typedef struct tagNMTVDISPINFOW {
- NMHDR hdr;
- TVITEMW item;
-} NMTVDISPINFOW, *LPNMTVDISPINFOW;
-#define _TV_DISPINFOW tagNMTVDISPINFOW
-#define TV_DISPINFOW NMTVDISPINFOW
-#if (_WIN32_IE >= 0x0400)
-typedef struct tagNMTVGETINFOTIPA {
- NMHDR hdr;
- LPSTR pszText;
- int cchTextMax;
- HTREEITEM hItem;
- LPARAM lParam;
-} NMTVGETINFOTIPA, *LPNMTVGETINFOTIPA;
-typedef struct tagNMTVGETINFOTIPW {
- NMHDR hdr;
- LPWSTR pszText;
- int cchTextMax;
- HTREEITEM hItem;
- LPARAM lParam;
-} NMTVGETINFOTIPW, *LPNMTVGETINFOTIPW;
-#endif
-typedef struct _TV_KEYDOWN {
- NMHDR hdr;
- WORD wVKey;
- UINT flags;
-} TV_KEYDOWN;
-typedef struct _TC_ITEMHEADERA {
- UINT mask;
- UINT lpReserved1;
- UINT lpReserved2;
- LPSTR pszText;
- int cchTextMax;
- int iImage;
-} TC_ITEMHEADERA;
-typedef struct _TC_ITEMHEADERW {
- UINT mask;
- UINT lpReserved1;
- UINT lpReserved2;
- LPWSTR pszText;
- int cchTextMax;
- int iImage;
-} TC_ITEMHEADERW;
-typedef struct tagTCITEMA {
- UINT mask;
-#if (_WIN32_IE >= 0x0300)
- DWORD dwState;
- DWORD dwStateMask;
-#else
- UINT lpReserved1;
- UINT lpReserved2;
-#endif
- LPSTR pszText;
- int cchTextMax;
- int iImage;
- LPARAM lParam;
-} TCITEMA, *LPTCITEMA;
-#define TC_ITEMA TCITEMA
-typedef struct tagTCITEMW {
- UINT mask;
-#if (_WIN32_IE >= 0x0300)
- DWORD dwState;
- DWORD dwStateMask;
-#else
- UINT lpReserved1;
- UINT lpReserved2;
-#endif
- LPWSTR pszText;
- int cchTextMax;
- int iImage;
- LPARAM lParam;
-} TCITEMW, *LPTCITEMW;
-#define TC_ITEMW TCITEMW
-typedef struct tagTCHITTESTINFO {
- POINT pt;
- UINT flags;
-} TCHITTESTINFO, *LPTCHITTESTINFO;
-#define TC_HITTESTINFO TCHITTESTINFO
-#define LPTC_HITTESTINFO LPTCHITTESTINFO
-typedef struct _TC_KEYDOWN {
- NMHDR hdr;
- WORD wVKey;
- UINT flags;
-} TC_KEYDOWN;
-#if (_WIN32_IE >= 0x0300)
-typedef struct tagINITCOMMONCONTROLSEX {
- DWORD dwSize;
- DWORD dwICC;
-} INITCOMMONCONTROLSEX,*LPINITCOMMONCONTROLSEX;
-#endif
-typedef struct tagPBRANGE {
- int iLow;
- int iHigh;
-} PBRANGE,*PPBRANGE;
-typedef struct tagCOLORSCHEME {
- DWORD dwSize;
- COLORREF clrBtnHighlight;
- COLORREF clrBtnShadow;
-} COLORSCHEME,*LPCOLORSCHEME;
-typedef struct tagMCHITTESTINFO {
- UINT cbSize;
- POINT pt;
- UINT uHit;
- SYSTEMTIME st;
-}MCHITTESTINFO, *PMCHITTESTINFO;
-typedef DWORD MONTHDAYSTATE;
-typedef MONTHDAYSTATE *LPMONTHDAYSTATE;
-typedef struct tagNMDAYSTATE {
- NMHDR nmhdr;
- SYSTEMTIME stStart;
- int cDayState;
- LPMONTHDAYSTATE prgDayState;
-}NMDAYSTATE,*LPNMDAYSTATE;
-typedef struct tagREBARINFO {
- UINT cbSize;
- UINT fMask;
- HIMAGELIST himl;
-} REBARINFO,*LPREBARINFO;
-typedef struct tagREBARBANDINFOA {
- UINT cbSize;
- UINT fMask;
- UINT fStyle;
- COLORREF clrFore;
- COLORREF clrBack;
- LPSTR lpText;
- UINT cch;
- int iImage;
- HWND hwndChild;
- UINT cxMinChild;
- UINT cyMinChild;
- UINT cx;
- HBITMAP hbmBack;
- UINT wID;
-#if (_WIN32_IE >= 0x0400)
- UINT cyChild;
- UINT cyMaxChild;
- UINT cyIntegral;
- UINT cxIdeal;
- LPARAM lParam;
- UINT cxHeader;
-#endif
-} REBARBANDINFOA,*LPREBARBANDINFOA;
-typedef struct tagREBARBANDINFOW {
- UINT cbSize;
- UINT fMask;
- UINT fStyle;
- COLORREF clrFore;
- COLORREF clrBack;
- LPWSTR lpText;
- UINT cch;
- int iImage;
- HWND hwndChild;
- UINT cxMinChild;
- UINT cyMinChild;
- UINT cx;
- HBITMAP hbmBack;
- UINT wID;
-#if (_WIN32_IE >= 0x0400)
- UINT cyChild;
- UINT cyMaxChild;
- UINT cyIntegral;
- UINT cxIdeal;
- LPARAM lParam;
- UINT cxHeader;
-#endif
-} REBARBANDINFOW,*LPREBARBANDINFOW;
-typedef REBARBANDINFOA const *LPCREBARBANDINFOA;
-typedef REBARBANDINFOW const *LPCREBARBANDINFOW;
-#define REBARBANDINFOA_V3_SIZE CCSIZEOF_STRUCT(REBARBANDINFOA,wID)
-#define REBARBANDINFOW_V3_SIZE CCSIZEOF_STRUCT(REBARBANDINFOW, wID)
-#if (_WIN32_IE >= 0x0300)
-typedef struct tagIMAGELISTDRAWPARAMS {
- DWORD cbSize;
- HIMAGELIST himl;
- int i;
- HDC hdcDst;
- int x;
- int y;
- int cx;
- int cy;
- int xBitmap;
- int yBitmap;
- COLORREF rgbBk;
- COLORREF rgbFg;
- UINT fStyle;
- DWORD dwRop;
-#if (_WIN32_WINNT >= 0x0501)
- DWORD fState;
- DWORD Frame;
- COLORREF crEffect;
-#endif
-} IMAGELISTDRAWPARAMS,*LPIMAGELISTDRAWPARAMS;
-#endif /* (_WIN32_IE >= 0x0300) */
-#if (_WIN32_IE >= 0x0400)
-typedef struct tagNMREBARCHILDSIZE {
- NMHDR hdr;
- UINT uBand;
- UINT wID;
- RECT rcChild;
- RECT rcBand;
-} NMREBARCHILDSIZE,*LPNMREBARCHILDSIZE;
-typedef struct tagNMREBAR {
- NMHDR hdr;
- DWORD dwMask;
- UINT uBand;
- UINT fStyle;
- UINT wID;
- LPARAM lParam;
-} NMREBAR,*LPNMREBAR;
-typedef struct tagNMRBAUTOSIZE {
- NMHDR hdr;
- BOOL fChanged;
- RECT rcTarget;
- RECT rcActual;
-} NMRBAUTOSIZE,*LPNMRBAUTOSIZE;
-#if (_WIN32_IE >= 0x0500)
-typedef struct tagNMREBARCHEVRON {
- NMHDR hdr;
- UINT uBand;
- UINT wID;
- LPARAM lParam;
- RECT rc;
- LPARAM lParamNM;
-} NMREBARCHEVRON, *LPNMREBARCHEVRON;
-#endif
-typedef struct _RB_HITTESTINFO {
- POINT pt;
- UINT flags;
- int iBand;
-} RBHITTESTINFO,*LPRBHITTESTINFO;
-#endif
-typedef struct _DSA *HDSA;
-typedef struct _DPA *HDPA;
-typedef INT (CALLBACK *PFNDPAENUMCALLBACK)(PVOID,PVOID);
-typedef INT (CALLBACK *PFNDSAENUMCALLBACK)(PVOID,PVOID);
-typedef INT (CALLBACK *PFNDPACOMPARE)(PVOID,PVOID,LPARAM);
-#if (_WIN32_WINNT >= 0x0501)
-typedef LRESULT (CALLBACK *SUBCLASSPROC)(HWND,UINT,WPARAM,LPARAM,UINT_PTR,DWORD_PTR);
-#endif /* _WIN32_WINNT >= 0x0501 */
-
-#define INDEXTOOVERLAYMASK(i) ((i)<<8)
-#define INDEXTOSTATEIMAGEMASK(i) ((i)<<12)
-#define HANDLE_WM_NOTIFY(h,w,l,f) (f)((h),(int)(w),(NMHDR*)(l))
-#define FORWARD_WM_NOTIFY(h,i,p,f) (LRESULT)(f)((h),WM_NOTIFY,(WPARAM)(int)(i),(LPARAM)(NMHDR*)(p))
-#define CCSIZEOF_STRUCT(s,m) (((int)((PBYTE)(&((s*)0)->m)-((PBYTE)((s*)0))))+sizeof(((s*)0)->m))
-#define MAKEIPADDRESS(b1,b2,b3,b4) ((LPARAM)(((DWORD)(b1)<<24)+((DWORD)(b2)<<16)+((DWORD)(b3)<<8)+((DWORD)(b4))))
-#define MAKEIPRANGE(low,high) ((LPARAM)(WORD)(((BYTE)(high)<<8)+(BYTE)(low)))
-#define FIRST_IPADDRESS(a) ((a>>24) & 0xff)
-#define SECOND_IPADDRESS(a) ((a>>16) & 0xff)
-#define THIRD_IPADDRESS(a) ((a>>8) & 0xff)
-#define FOURTH_IPADDRESS(a) (a & 0xff)
-#define Animate_Create(w,i,s,hI) CreateWindow(ANIMATE_CLASS,NULL,s,0,0,0,0,w,(HMENU)(i),hI,NULL)
-#define Animate_Open(w,f) (BOOL)SNDMSG(w,ACM_OPEN,0,(LPARAM)f)
-#define Animate_OpenEx(w,h,s) (BOOL)SNDMSG(w,ACM_OPEN,(WPARAM)h,(LPARAM)(LPTSTR)(s))
-#define Animate_Play(w,f,t,r) (BOOL)SNDMSG(w,ACM_PLAY,(r),(LPARAM)MAKELONG(f,t))
-#define Animate_Stop(w) (BOOL)SNDMSG(w,ACM_STOP,0,0)
-#define Animate_Close(w) Animate_Open(w,NULL)
-#define Animate_Seek(w,f) Animate_Play(w,f,f,1)
-HBITMAP WINAPI CreateMappedBitmap(HINSTANCE,int,UINT,LPCOLORMAP,int);
-HWND WINAPI CreateStatusWindowA(LONG,LPCSTR,HWND,UINT);
-HWND WINAPI CreateStatusWindowW(LONG,LPCWSTR,HWND,UINT);
-HWND WINAPI CreateToolbarEx(HWND,DWORD,UINT,int,HINSTANCE,UINT,LPCTBBUTTON,int,int,int,int,int,UINT);
-HWND WINAPI CreateUpDownControl(DWORD,int,int,int,int,HWND,int,HINSTANCE,HWND,int,int,int);
-#define DateTime_GetMonthCal(hwnd) SNDMSG(hwnd, DTM_GETMONTHCAL, 0, 0)
-#define DateTime_GetMonthCalColor(hwnd, icolor) SNDMSG(hwnd, DTM_GETMONTHCAL, (WPARAM)icolor,0)
-#define DateTime_GetMonthCalFont(hwnd) SNDMSG(hwnd,DTM_GETMCFONT,0,0)
-#define DateTime_GetRange(hwnd,lpsystimearray) SNDMSG(hwnd,DTM_GETRANGE,0,(LPARAM)lpsystimearray)
-#define DateTime_GetSystemtime(hwnd,lpsystime) SNDMSG(hwnd,DTM_GETSYSTEMTIME,0,(LPARAM)lpsystime)
-#define DateTime_SetFormat(hwnd,lpszformat) SNDMSG(hwnd,DTM_SETFORMAT,0,(LPARAM)lpszformat)
-#define DateTime_SetMonthCalColor(hwnd,icolor,clr) SNDMSG(hwnd,DTM_SETMCCOLOR,(WPARAM)icolor,(LPARAM)clr)
-#define DateTime_SetMonthCalFont(hwnd,hfont,lparam) SNDMSG(hwnd,DTM_SETMCFONT,(WPARAM)hfont,(LPARAM)lparam)
-#define DateTime_SetRange(hwnd,flags,lpsystimearray) SNDMSG(hwnd,DTM_SETRANGE,(WPARAM)flags,(LPARAM)lpsystimearray)
-#define DateTime_SetSystemtime(hwnd,flag,lpsystime) SNDMSG(hwnd,DTM_SETSYSTEMTIME,(WPARAM)flag,(LPARAM)lpsystime)
-void WINAPI DrawInsert(HWND,HWND,int);
-void WINAPI DrawStatusTextA(HDC,LPRECT,LPCSTR,UINT);
-void WINAPI DrawStatusTextW(HDC,LPRECT,LPCWSTR,UINT);
-void WINAPI GetEffectiveClientRect(HWND,LPRECT,LPINT);
-#define Header_GetItemCount(w) (int)SNDMSG((w),HDM_GETITEMCOUNT,0,0)
-#define Header_InsertItem(w,i,phdi) (int)SNDMSG((w),HDM_INSERTITEM,(WPARAM)(int)(i),(LPARAM)(const HD_ITEM*)(phdi))
-#define Header_DeleteItem(w,i) (BOOL)SNDMSG((w),HDM_DELETEITEM,(WPARAM)(int)(i),0)
-#define Header_GetItem(w,i,phdi) (BOOL)SNDMSG((w),HDM_GETITEM,(WPARAM)(int)(i),(LPARAM)(HD_ITEM*)(phdi))
-#define Header_SetItem(w,i,phdi) (BOOL)SNDMSG((w),HDM_SETITEM,(WPARAM)(int)(i),(LPARAM)(const HD_ITEM*)(phdi))
-#define Header_Layout(w,l) (BOOL)SNDMSG((w),HDM_LAYOUT,0,(LPARAM)(HD_LAYOUT*)(l))
-#if (_WIN32_IE >= 0x0300)
-#define Header_OrderToIndex(w,o) (int)SNDMSG((w),HDM_ORDERTOINDEX,(WPARAM)(o),0)
-#define Header_GetItemRect(w,i,r) (BOOL)SNDMSG((w),HDM_GETITEMRECT,(WPARAM)(i),(LPARAM)(r))
-#define Header_GetOrderArray(w,l,a) (BOOL)SNDMSG((w),HDM_GETORDERARRAY,(WPARAM)(l),(LPARAM)(a))
-#define Header_SetOrderArray(w,l,a) (BOOL)SNDMSG((w),HDM_SETORDERARRAY,(WPARAM)(l),(LPARAM)(a))
-#define Header_CreateDragImage(w, i) (HIMAGELIST)SNDMSG((w), HDM_CREATEDRAGIMAGE, (WPARAM)i, 0)
-#define Header_SetImageList(w,l) (HIMAGELIST)SNDMSG((w), HDM_SETIMAGELIST, 0, (LPARAM)l)
-#define Header_GetImageList(w) (HIMAGELIST)SNDMSG((w),HDM_GETIMAGELIST,0,0)
-#endif
-#if (_WIN32_IE >= 0x0400)
-#define Header_GetUnicodeFormat(w) (BOOL)SNDMSG((w),HDM_GETUNICODEFORMAT,0,0)
-#define Header_SetUnicodeFormat(w,f) (BOOL)SNDMSG((w),HDM_SETUNICODEFORMAT,(WPARAM)(f),0)
-#endif
-HDSA WINAPI DSA_Create(INT,INT);
-BOOL WINAPI DSA_Destroy(HDSA);
-VOID WINAPI DSA_DestroyCallback(HDSA,PFNDSAENUMCALLBACK,PVOID);
-PVOID WINAPI DSA_GetItemPtr(HDSA,INT);
-INT WINAPI DSA_InsertItem(HDSA,INT,PVOID);
-HDPA WINAPI DPA_Create(INT);
-BOOL WINAPI DPA_Destroy(HDPA);
-PVOID WINAPI DPA_DeletePtr(HDPA,INT);
-BOOL WINAPI DPA_DeleteAllPtrs(HDPA);
-VOID WINAPI DPA_EnumCallback(HDPA,PFNDPAENUMCALLBACK,PVOID);
-VOID WINAPI DPA_DestroyCallback(HDPA,PFNDPAENUMCALLBACK,PVOID);
-BOOL WINAPI DPA_SetPtr(HDPA,INT,PVOID);
-INT WINAPI DPA_InsertPtr(HDPA,INT,PVOID);
-PVOID WINAPI DPA_GetPtr(HDPA,INT_PTR);
-BOOL WINAPI DPA_Sort(HDPA,PFNDPACOMPARE,LPARAM);
-INT WINAPI DPA_Search(HDPA,PVOID,INT,PFNDPACOMPARE,LPARAM,UINT);
-BOOL WINAPI Str_SetPtrW(LPWSTR*,LPCWSTR);
-#if (_WIN32_IE >= 0x0400)
-BOOL WINAPI FlatSB_EnableScrollBar(HWND,INT,UINT);
-BOOL WINAPI FlatSB_ShowScrollBar(HWND,INT,BOOL);
-BOOL WINAPI FlatSB_GetScrollRange(HWND,INT,LPINT,LPINT);
-BOOL WINAPI FlatSB_GetScrollInfo(HWND,INT,LPSCROLLINFO);
-INT WINAPI FlatSB_GetScrollPos(HWND,INT);
-BOOL WINAPI FlatSB_GetScrollProp(HWND,INT,LPINT);
-#ifdef _WIN64
-BOOL WINAPI FlatSB_GetScrollPropPtr(HWND,INT,PINT_PTR);
-#else
-#define FlatSB_GetScrollPropPtr FlatSB_GetScrollProp
-#endif
-INT WINAPI FlatSB_SetScrollPos(HWND,INT,INT,BOOL);
-INT WINAPI FlatSB_SetScrollInfo(HWND,INT,LPSCROLLINFO,BOOL);
-INT WINAPI FlatSB_SetScrollRange(HWND,INT,INT,INT,BOOL);
-BOOL WINAPI FlatSB_SetScrollProp(HWND,UINT,INT_PTR,BOOL);
-#define FlatSB_SetScrollPropPtr FlatSB_SetScrollProp
-BOOL WINAPI InitializeFlatSB(HWND);
-HRESULT WINAPI UninitializeFlatSB(HWND);
-#endif /* _WIN32_IE >= 0x0400 */
-#if (_WIN32_WINNT >= 0x0501)
-BOOL WINAPI SetWindowSubclass(HWND,SUBCLASSPROC,UINT_PTR,DWORD_PTR);
-BOOL WINAPI GetWindowSubclass(HWND,SUBCLASSPROC,UINT_PTR,DWORD_PTR*);
-BOOL WINAPI RemoveWindowSubclass(HWND,SUBCLASSPROC,UINT_PTR);
-LRESULT WINAPI DefSubclassProc(HWND,UINT,WPARAM,LPARAM);
-INT WINAPI DrawShadowText(HDC,LPCWSTR,UINT,RECT*,DWORD,COLORREF,COLORREF,INT,INT);
-#endif /* _WIN32_WINNT >= 0x0501 */
-int WINAPI ImageList_Add(HIMAGELIST,HBITMAP,HBITMAP);
-#define ImageList_AddIcon(l,i) ImageList_ReplaceIcon(l,-1,i)
-int WINAPI ImageList_AddMasked(HIMAGELIST,HBITMAP,COLORREF);
-BOOL WINAPI ImageList_BeginDrag(HIMAGELIST,int,int,int);
-HIMAGELIST WINAPI ImageList_Create(int,int,UINT,int,int);
-BOOL WINAPI ImageList_Destroy(HIMAGELIST);
-BOOL WINAPI ImageList_DragEnter(HWND,int,int);
-BOOL WINAPI ImageList_DragLeave(HWND);
-BOOL WINAPI ImageList_DragMove(int,int);
-BOOL WINAPI ImageList_DragShowNolock(BOOL);
-BOOL WINAPI ImageList_Draw(HIMAGELIST,int,HDC,int,int,UINT);
-BOOL WINAPI ImageList_DrawEx(HIMAGELIST,int,HDC,int,int,int,int,COLORREF,COLORREF,UINT);
-void WINAPI ImageList_EndDrag(VOID);
-#define ImageList_ExtractIcon(h,l,i) ImageList_GetIcon(l,i,0)
-COLORREF WINAPI ImageList_GetBkColor(HIMAGELIST);
-HIMAGELIST WINAPI ImageList_GetDragImage(LPPOINT,LPPOINT);
-HICON WINAPI ImageList_GetIcon(HIMAGELIST,int,UINT);
-BOOL WINAPI ImageList_GetIconSize(HIMAGELIST,int*,int*);
-int WINAPI ImageList_GetImageCount(HIMAGELIST);
-BOOL WINAPI ImageList_GetImageInfo(HIMAGELIST,int,IMAGEINFO*);
-#define ImageList_LoadBitmap(h,l,x,G,M) ImageList_LoadImage(h,l,x,G,M,IMAGE_BITMAP,0)
-HIMAGELIST WINAPI ImageList_LoadImageA(HINSTANCE,LPCSTR,int,int,COLORREF,UINT,UINT);
-HIMAGELIST WINAPI ImageList_LoadImageW(HINSTANCE,LPCWSTR,int,int,COLORREF,UINT,UINT);
-HIMAGELIST WINAPI ImageList_Merge(HIMAGELIST,int,HIMAGELIST,int,int,int);
-BOOL WINAPI ImageList_Remove(HIMAGELIST,int);
-#define ImageList_RemoveAll(l) ImageList_Remove(l,-1)
-BOOL WINAPI ImageList_Replace(HIMAGELIST,int,HBITMAP,HBITMAP);
-int WINAPI ImageList_ReplaceIcon(HIMAGELIST,int,HICON);
-COLORREF WINAPI ImageList_SetBkColor(HIMAGELIST,COLORREF);
-BOOL WINAPI ImageList_SetDragCursorImage(HIMAGELIST,int,int,int);
-BOOL WINAPI ImageList_SetIconSize(HIMAGELIST,int,int);
-BOOL WINAPI ImageList_SetOverlayImage(HIMAGELIST,int,int);
-#ifdef _OBJIDL_H
-HIMAGELIST WINAPI ImageList_Read(LPSTREAM);
-BOOL WINAPI ImageList_Write(HIMAGELIST,LPSTREAM);
-#endif
-#if (_WIN32_IE >= 0x0400)
-HIMAGELIST WINAPI ImageList_Duplicate(HIMAGELIST himl);
-#endif
-void WINAPI InitCommonControls(void);
-#if (_WIN32_IE >= 0x0300)
-BOOL WINAPI InitCommonControlsEx(LPINITCOMMONCONTROLSEX);
-#endif
-int WINAPI LBItemFromPt(HWND,POINT,BOOL);
-#define ListView_GetBkColor(w) (COLORREF)SNDMSG((w),LVM_GETBKCOLOR,0,0)
-#define ListView_GetImageList(w,i) (HIMAGELIST)SNDMSG((w),LVM_GETIMAGELIST,(i),0)
-#define ListView_GetItemCount(w) (int)SNDMSG((w),LVM_GETITEMCOUNT,0,0)
-#define ListView_GetItem(w,i) (BOOL)SNDMSG((w),LVM_GETITEM,0,(LPARAM)(i))
-#define ListView_SetBkColor(w,c) (BOOL)SNDMSG((w),LVM_SETBKCOLOR,0,(LPARAM)c)
-#define ListView_SetImageList(w,h,i) (HIMAGELIST)(UINT)SNDMSG((w),LVM_SETIMAGELIST,(i),(LPARAM)(h))
-#define ListView_SetItem(w,i) (BOOL)SNDMSG((w),LVM_SETITEM,0,(LPARAM)(const LV_ITEM*)(i))
-#define ListView_InsertItem(w,i) (int)SNDMSG((w),LVM_INSERTITEM,0,(LPARAM)(const LV_ITEM*)(i))
-#define ListView_DeleteItem(w,i) (BOOL)SNDMSG((w),LVM_DELETEITEM,i,0)
-#define ListView_DeleteAllItems(w) (BOOL)SNDMSG((w),LVM_DELETEALLITEMS,0,0)
-#define ListView_GetCallbackMask(w) (BOOL)SNDMSG((w),LVM_GETCALLBACKMASK,0,0)
-#define ListView_SetCallbackMask(w,m) (BOOL)SNDMSG((w),LVM_SETCALLBACKMASK,m,0)
-#define ListView_GetNextItem(w,i,f) (int)SNDMSG((w),LVM_GETNEXTITEM,i,MAKELPARAM((f),0))
-#define ListView_FindItem(w,i,p) (int)SNDMSG((w), LVM_FINDITEM,(WPARAM)i,(LPARAM)(const LV_FINDINFO*)(p))
-#define ListView_GetItemRect(w,i,p,c) (BOOL)SNDMSG((w),LVM_GETITEMRECT,i,((p)?(((LPRECT)(p))->left=(c),(LPARAM)(LPRECT)(p)):0))
-#define ListView_SetItemPosition(w,i,x,y) (BOOL)SNDMSG((w),LVM_SETITEMPOSITION,i,MAKELPARAM(x,y))
-#define ListView_GetItemPosition(w,i,p) (BOOL)SNDMSG((w),LVM_GETITEMPOSITION,i,(LPARAM)p)
-#define ListView_GetItemSpacing(w,f) (DWORD)SNDMSG((w),LVM_GETITEMSPACING,f,0)
-#define ListView_GetStringWidth(w,s) (int)SNDMSG((w),LVM_GETSTRINGWIDTH,0,(LPARAM)s)
-#define ListView_HitTest(w,p) (int)SNDMSG((w),LVM_HITTEST,0,(LPARAM)(LV_HITTESTINFO*)(p))
-#define ListView_EnsureVisible(w,i,f) (BOOL)SNDMSG((w),LVM_ENSUREVISIBLE,i,MAKELPARAM((f),0))
-#define ListView_Scroll(w,dx,dy) (BOOL)SNDMSG((w),LVM_SCROLL,dx,dy)
-#define ListView_RedrawItems(w,f,l) (BOOL)SNDMSG((w),LVM_REDRAWITEMS,f,l)
-#define ListView_Arrange(w,c) (BOOL)SNDMSG((w),LVM_ARRANGE,c,0)
-#define ListView_EditLabel(w,i) (HWND)SNDMSG((w),LVM_EDITLABEL,i,0)
-#define ListView_GetEditControl(w) (HWND)SNDMSG((w),LVM_GETEDITCONTROL,0,0)
-#define ListView_GetColumn(w,i,p) (BOOL)SNDMSG((w),LVM_GETCOLUMN,i,(LPARAM)(LV_COLUMN*)(p))
-#define ListView_SetColumn(w,i,p) (BOOL)SNDMSG((w),LVM_SETCOLUMN,i,(LPARAM)(const LV_COLUMN*)(p))
-#define ListView_InsertColumn(w,i,p) (int)SNDMSG((w),LVM_INSERTCOLUMN,i,(LPARAM)(const LV_COLUMN*)(p))
-#define ListView_DeleteColumn(w,i) (BOOL)SNDMSG((w),LVM_DELETECOLUMN,i,0)
-#define ListView_GetColumnWidth(w,i) (int)SNDMSG((w),LVM_GETCOLUMNWIDTH,i,0)
-#define ListView_SetColumnWidth(w,i,x) (BOOL)SNDMSG((w),LVM_SETCOLUMNWIDTH,i,MAKELPARAM((x),0))
-#define ListView_CreateDragImage(w,i,p) (HIMAGELIST)SNDMSG((w),LVM_CREATEDRAGIMAGE,i,(LPARAM)(LPPOINT)(p))
-#define ListView_GetViewRect(w,p) (BOOL)SNDMSG((w),LVM_GETVIEWRECT,0,(LPARAM)(LPRECT)(p))
-#define ListView_GetTextColor(w) (COLORREF)SNDMSG((w),LVM_GETTEXTCOLOR,0,0)
-#define ListView_SetTextColor(w,c) (BOOL)SNDMSG((w),LVM_SETTEXTCOLOR,0,(LPARAM)(COLORREF)(c))
-#define ListView_GetTextBkColor(w) (COLORREF)SNDMSG((w),LVM_GETTEXTBKCOLOR,0,0)
-#define ListView_SetTextBkColor(w,c) (BOOL)SNDMSG((w),LVM_SETTEXTBKCOLOR,0,(LPARAM)(COLORREF)(c))
-#define ListView_GetTopIndex(w) (int)SNDMSG((w),LVM_GETTOPINDEX,0,0)
-#define ListView_GetCountPerPage(w) (int)SNDMSG((w),LVM_GETCOUNTPERPAGE,0,0)
-#define ListView_GetOrigin(w,p) (BOOL)SNDMSG((w),LVM_GETORIGIN,0,(LPARAM)(POINT*)(p))
-#define ListView_GetOrigin(w,p) (BOOL)SNDMSG((w),LVM_GETORIGIN,0,(LPARAM)(POINT*)(p))
-#define ListView_Update(w,i) (BOOL)SNDMSG((w),LVM_UPDATE,i,0)
-#define ListView_SetItemState(w,i,d,m) \
-{ \
- LV_ITEM _lvi;\
- _lvi.stateMask=m;\
- _lvi.state=d;\
- SNDMSG((w),LVM_SETITEMSTATE,i,(LPARAM)(LV_ITEM*)&_lvi);\
-}
-#define ListView_GetItemState(w,i,m) (UINT)SNDMSG((w),LVM_GETITEMSTATE,i,m)
-#define ListView_GetItemText(w,i,iS,s,n) \
-{ \
- LV_ITEM _lvi;\
- _lvi.iSubItem=iS;\
- _lvi.cchTextMax=n;\
- _lvi.pszText=s;\
- SNDMSG((w),LVM_GETITEMTEXT,i,(LPARAM)(LV_ITEM*)&_lvi);\
-}
-#define ListView_SetItemText(w,i,iS,s) \
-{ \
- LV_ITEM _lvi;\
- _lvi.iSubItem=iS;\
- _lvi.pszText=s;\
- SNDMSG((w),LVM_SETITEMTEXT,i,(LPARAM)(LV_ITEM*)&_lvi);\
-}
-#define ListView_SetItemCount(w,n) SNDMSG((w),LVM_SETITEMCOUNT,n,0)
-#define ListView_SortItems(w,f,l) (BOOL)SNDMSG((w),LVM_SORTITEMS,l,(LPARAM)f)
-#define ListView_SetItemPosition32(w,i,x,y) \
-{ \
- POINT p={x,y}; \
- SNDMSG((w),LVM_SETITEMPOSITION32,i,(LPARAM)&p);\
-}
-#define ListView_GetSelectedCount(w) (UINT)SNDMSG((w),LVM_GETSELECTEDCOUNT,0,0)
-#define ListView_GetCheckState(w,i) ((((UINT)(SNDMSG((w),LVM_GETITEMSTATE,(WPARAM)(i),LVIS_STATEIMAGEMASK)))>>12)-1)
-#define ListView_SetCheckState(w,i,f) ListView_SetItemState(w,i,INDEXTOSTATEIMAGEMASK((f)+1),LVIS_STATEIMAGEMASK)
-#define ListView_GetISearchString(w, lpsz) (BOOL)SNDMSG((w), LVM_GETISEARCHSTRING, 0, (LPARAM) (LPTSTR)(lpsz))
-
-#if (_WIN32_WINNT >= 0x0501)
-#define ComboBox_SetMinVisible(w,i) (BOOL)SNDMSG((w), CB_SETMINVISIBLE, (WPARAM)(i), 0);
-#define ComboBox_GetMinVisible(w) (int)SNDMSG((w), CB_GETMINVISIBLE, 0, 0);
-#endif
-
-BOOL WINAPI MakeDragList(HWND);
-void WINAPI MenuHelp(UINT,WPARAM,LPARAM,HMENU,HINSTANCE,HWND,PUINT);
-#define MonthCal_GetColor(hwnd,icolor) SNDMSG(hwnd,MCM_GETCOLOR,(WPARAM)icolor,(LPARAM)0)
-#define MonthCal_GetCurSel(hwnd,lpsystime) SNDMSG(hwnd,MCM_GETCURSEL,0,(LPARAM)lpsystime)
-#define MonthCal_GetFirstDayOfWeek(hwnd) SNDMSG(hwnd,MCM_GETFIRSTDAYOFWEEK,0,0)
-#define MonthCal_GetMaxSelCount(hwnd) SNDMSG(hwnd,MCM_GETMAXSELCOUNT,0,0)
-#define MonthCal_GetMaxTodayWidth(hwnd) SNDMSG(hwnd,MCM_GETMAXTODAYWIDTH,0,0)
-#define MonthCal_GetMinReqRect(hwnd,lpRectInfo) SNDMSG(hwnd,MCM_GETMINREQRECT,0,(LPARAM)lpRectInfo)
-#define MonthCal_GetMonthDelta(hwnd) SNDMSG(hwnd,MCM_GETMONTHDELTA,0,0)
-#define MonthCal_GetMonthRange(hwnd,flag,systimearray) SNDMSG(hwnd,MCM_GETMONTHRANGE,(WPARAM)flag,(LPARAM)systimearray)
-#define MonthCal_GetRange(hwnd,systimearray) SNDMSG(hwnd,MCM_GETRANGE,0,(LPARAM)systimearray)
-#define MonthCal_GetSelRange(hwnd,systimearray) SNDMSG(hwnd,MCM_GETSELRANGE,0,(LPARAM)systimearray)
-#define MonthCal_GetToday(hwnd,systime) SNDMSG(hwnd,MCM_GETTODAY,0,(LPARAM)systime)
-#define MonthCal_GetUnicodeFormat(hwnd) SNDMSG(hwnd,MCM_GETUNICODEFORMAT,0,0)
-#define MonthCal_HitTest(hwnd,pmchittest) SNDMSG(hwnd,MCM_HITTEST,0,(LPARAM)pmchittest)
-#define MonthCal_SetColor(hwnd,icolor,clr) SNDMSG(hwnd,MCM_SETCOLOR,(WPARAM)icolor,(LPARAM)clr)
-#define MonthCal_SetCurSel(hwnd,lpsystime) SNDMSG(hwnd,MCM_SETCURSEL,0,(LPARAM)lpsystime)
-#define MonthCal_SetDayState(hwnd,imonths,lpdatestatearray) SNDMSG(hwnd,MCM_SETDAYSTATE,(WPARAM)imonths,(LPARAM)lpdatestatearray)
-#define MonthCal_SetFirstDayOfWeek(hwnd,iday) SNDMSG(hwnd,MCM_SETFIRSTDAYOFWEEK,0,(LPARAM)iday)
-#define MonthCal_SetMaxSelCount(hwnd,imax) SNDMSG(hwnd,MCM_SETMAXSELCOUNT,(WPARAM)imax,0)
-#define MonthCal_SetMonthDelta(hwnd,idelta) SNDMSG(hwnd,MCM_SETMONTHDELTA,(WPARAM)idelta,0)
-#define MonthCal_SetSelRange(hwnd,systimearray) SNDMSG(hwnd,MCM_SETSELRANGE,0,(LPARAM)systimearray)
-#define MonthCal_SetToday(hwnd,systime) SNDMSG(hwnd,MCM_SETTODAY,0,(LPARAM)systime)
-#define MonthCal_SetUnicodeFormat(hwnd,unicode) SNDMSG(hwnd,MCM_SETUNICODEFORMAT,(WPARAM)unicode,0)
-#define MonthCal_SetRange(w,f,st) (BOOL)SNDMSG((w),MCM_SETRANGE,(WPARAM)(f),(LPARAM)(st))
-BOOL WINAPI ShowHideMenuCtl(HWND,UINT,PINT);
-#define TabCtrl_GetItem(w,i,p) (BOOL)SNDMSG((w),TCM_GETITEM,i,(LPARAM)(TC_ITEM*)(p))
-#define TabCtrl_SetItem(w,i,p) (BOOL)SNDMSG((w),TCM_SETITEM,i,(LPARAM)(TC_ITEM*)(p))
-#define TabCtrl_InsertItem(w,i,p) (int)SNDMSG((w),TCM_INSERTITEM,i,(LPARAM)(const TC_ITEM*)(p))
-#define TabCtrl_DeleteItem(w,i) (BOOL)SNDMSG((w),TCM_DELETEITEM,i,0)
-#define TabCtrl_DeleteAllItems(w) (BOOL)SNDMSG((w),TCM_DELETEALLITEMS,0,0)
-#define TabCtrl_GetItemRect(w,i,p) (BOOL)SNDMSG((w),TCM_GETITEMRECT,i,(LPARAM)(LPRECT)(p))
-#define TabCtrl_GetCurSel(w) (int)SNDMSG((w),TCM_GETCURSEL,0,0)
-#define TabCtrl_SetCurSel(w,i) (int)SNDMSG((w),TCM_SETCURSEL,i,0)
-#define TabCtrl_HitTest(w,p) (int)SNDMSG((w),TCM_HITTEST,0,(LPARAM)(TC_HITTESTINFO*)(p))
-#define TabCtrl_SetItemExtra(w,c) (BOOL)SNDMSG((w),TCM_SETITEMEXTRA,c,0)
-#define TabCtrl_AdjustRect(w,b,p) (int)SNDMSG((w),TCM_ADJUSTRECT,b,(LPARAM)(LPRECT)p)
-#define TabCtrl_SetItemSize(w,x,y) (DWORD)SNDMSG((w),TCM_SETITEMSIZE,0,MAKELPARAM(x,y))
-#define TabCtrl_RemoveImage(w,i) (void)SNDMSG((w),TCM_REMOVEIMAGE,i,0)
-#define TabCtrl_SetPadding(w,x,y) (void)SNDMSG((w),TCM_SETPADDING,0,MAKELPARAM(x,y))
-#define TabCtrl_GetRowCount(w) (int)SNDMSG((w),TCM_GETROWCOUNT,0,0)
-#define TabCtrl_GetToolTips(w) (HWND)SNDMSG((w),TCM_GETTOOLTIPS,0,0)
-#define TabCtrl_SetToolTips(w,t) (void)SNDMSG((w),TCM_SETTOOLTIPS,(WPARAM)t,0)
-#define TabCtrl_GetCurFocus(w) (int)SNDMSG((w),TCM_GETCURFOCUS,0,0)
-#define TabCtrl_SetCurFocus(w,i) (void)SNDMSG((w),TCM_SETCURFOCUS,i,0)
-#define TabCtrl_GetImageList(w) (HIMAGELIST)SNDMSG((w),TCM_GETIMAGELIST,0,0)
-#define TabCtrl_SetImageList(w,h) (HIMAGELIST)SNDMSG((w),TCM_SETIMAGELIST,0,(LPARAM)(UINT)(h))
-#define TabCtrl_GetItemCount(w) (int)SNDMSG((w),TCM_GETITEMCOUNT,0,0)
-BOOL WINAPI _TrackMouseEvent(LPTRACKMOUSEEVENT);
-#define TreeView_InsertItem(w,i) (HTREEITEM)SNDMSG((w),TVM_INSERTITEM,0,(LPARAM)(LPTV_INSERTSTRUCT)(i))
-#define TreeView_DeleteItem(w,i) (BOOL)SNDMSG((w),TVM_DELETEITEM,0,(LPARAM)(HTREEITEM)(i))
-#define TreeView_DeleteAllItems(w) (BOOL)SNDMSG((w),TVM_DELETEITEM,0,(LPARAM)TVI_ROOT)
-#define TreeView_Expand(w,i,c) (BOOL)SNDMSG((w),TVM_EXPAND,c,(LPARAM)(HTREEITEM)(i))
-#define TreeView_GetItemRect(w,i,p,c) (*(HTREEITEM*)p=(i),(BOOL)SNDMSG((w),TVM_GETITEMRECT,c,(LPARAM)(LPRECT)(p)))
-#define TreeView_GetCount(w) (UINT)SNDMSG((w),TVM_GETCOUNT,0,0)
-#define TreeView_GetIndent(w) (UINT)SNDMSG((w),TVM_GETINDENT,0,0)
-#define TreeView_SetIndent(w,i) (BOOL)SNDMSG((w),TVM_SETINDENT,i,0)
-#define TreeView_GetImageList(w,i) (HIMAGELIST)SNDMSG((w),TVM_GETIMAGELIST,i,0)
-#define TreeView_SetImageList(w,h,i) (HIMAGELIST)SNDMSG((w),TVM_SETIMAGELIST,i,(LPARAM)(HIMAGELIST)(h))
-#define TreeView_GetNextItem(w,i,c) (HTREEITEM)SNDMSG((w),TVM_GETNEXTITEM,c,(LPARAM)(HTREEITEM)(i))
-#define TreeView_GetChild(w,i) TreeView_GetNextItem(w,i,TVGN_CHILD)
-#define TreeView_GetNextSibling(w,i) TreeView_GetNextItem(w,i,TVGN_NEXT)
-#define TreeView_GetPrevSibling(w,i) TreeView_GetNextItem(w,i,TVGN_PREVIOUS)
-#define TreeView_GetParent(w,i) TreeView_GetNextItem(w,i,TVGN_PARENT)
-#define TreeView_GetFirstVisible(w) TreeView_GetNextItem(w,NULL,TVGN_FIRSTVISIBLE)
-#define TreeView_GetNextVisible(w,i) TreeView_GetNextItem(w,i,TVGN_NEXTVISIBLE)
-#define TreeView_GetPrevVisible(w,i) TreeView_GetNextItem(w,i,TVGN_PREVIOUSVISIBLE)
-#define TreeView_GetSelection(w) TreeView_GetNextItem(w,NULL,TVGN_CARET)
-#define TreeView_GetDropHilight(w) TreeView_GetNextItem(w,NULL,TVGN_DROPHILITE)
-#define TreeView_GetRoot(w) TreeView_GetNextItem(w,NULL,TVGN_ROOT)
-#define TreeView_Select(w,i,c) (BOOL)SNDMSG((w),TVM_SELECTITEM,c,(LPARAM)(HTREEITEM)(i))
-#define TreeView_SelectItem(w,i) TreeView_Select(w,i,TVGN_CARET)
-#define TreeView_SelectDropTarget(w,i) TreeView_Select(w,i,TVGN_DROPHILITE)
-#define TreeView_SelectSetFirstVisible(w,i) TreeView_Select(w,i,TVGN_FIRSTVISIBLE)
-#define TreeView_GetItem(w,i) (BOOL)SNDMSG((w),TVM_GETITEM,0,(LPARAM)(TV_ITEM*)(i))
-#define TreeView_SetItem(w,i) (BOOL)SNDMSG((w),TVM_SETITEM,0,(LPARAM)(const TV_ITEM*)(i))
-#define TreeView_EditLabel(w,i) (HWND)SNDMSG((w),TVM_EDITLABEL,0,(LPARAM)(HTREEITEM)(i))
-#define TreeView_GetEditControl(w) (HWND)SNDMSG((w),TVM_GETEDITCONTROL,0,0)
-#define TreeView_GetVisibleCount(w) (UINT)SNDMSG((w),TVM_GETVISIBLECOUNT,0,0)
-#define TreeView_HitTest(w,p) (HTREEITEM)SNDMSG((w),TVM_HITTEST,0,(LPARAM)(LPTV_HITTESTINFO)(p))
-#define TreeView_CreateDragImage(w,i) (HIMAGELIST)SNDMSG((w),TVM_CREATEDRAGIMAGE,0,(LPARAM)(HTREEITEM)(i))
-#define TreeView_SortChildren(w,i,r) (BOOL)SNDMSG((w),TVM_SORTCHILDREN,r,(LPARAM)(HTREEITEM)(i))
-#define TreeView_EnsureVisible(w,i) (BOOL)SNDMSG((w),TVM_ENSUREVISIBLE,0,(LPARAM)(HTREEITEM)(i))
-#define TreeView_SortChildrenCB(w,s,r) (BOOL)SNDMSG((w),TVM_SORTCHILDRENCB,r,(LPARAM)(LPTVSORTCB)(s))
-#define TreeView_EndEditLabelNow(w,f) (BOOL)SNDMSG((w),TVM_ENDEDITLABELNOW,f,0)
-#define TreeView_GetISearchString(w,s) (BOOL)SNDMSG((w),TVM_GETISEARCHSTRING,0,(LPARAM)s)
-#if (_WIN32_IE >= 0x0300)
-#define ListView_ApproximateViewRect(w,iw,ih,i) (DWORD)SNDMSG((w),LVM_APPROXIMATEVIEWRECT,(i),MAKELPARAM((iw),(ih)))
-#define ListView_SetExtendedListViewStyle(w,s) (DWORD)SNDMSG((w),LVM_SETEXTENDEDLISTVIEWSTYLE,0,(s))
-#define ListView_GetExtendedListViewStyle(w) (DWORD)SNDMSG((w),LVM_GETEXTENDEDLISTVIEWSTYLE,0,0)
-#define ListView_SetColumnOrderArray(w,i,a) (BOOL)SNDMSG((w),LVM_SETCOLUMNORDERARRAY,(WPARAM)(i),(LPARAM)(LPINT)(a))
-#define ListView_GetColumnOrderArray(w,i,a) (BOOL)SNDMSG((w),LVM_GETCOLUMNORDERARRAY,(WPARAM)(i),(LPARAM)(LPINT)(a))
-#define ListView_GetHeader(w) (HWND)SNDMSG((w),LVM_GETHEADER,0,0)
-#define ListView_GetHotCursor(w) (HCURSOR)SNDMSG((w),LVM_GETHOTCURSOR,0,0)
-#define ListView_GetHotItem(w) (INT)SNDMSG((w),LVM_GETHOTITEM,0,0)
-#define ListView_GetSubItemRect(w,i,is,c,p) (BOOL)SNDMSG((w),LVM_GETSUBITEMRECT,(WPARAM)(int)(i),((p)?(((LPRECT)(p))->left=(c),(((LPRECT)(p))->top=(is)),(LPARAM)(LPRECT)(p)):0))
-#define ListView_SetHotCursor(w,c) (HCURSOR)SNDMSG((w),LVM_SETHOTCURSOR,0,(LPARAM)(c))
-#define ListView_SetHotItem(w,i) (int)SNDMSG((w),LVM_SETHOTITEM,(WPARAM)(i),0)
-#define ListView_SetIconSpacing(w,x,y) (DWORD)SNDMSG((w),LVM_SETICONSPACING,0,MAKELONG(x,y))
-#define ListView_SubItemHitTest(w,p) (int)SNDMSG((w),LVM_SUBITEMHITTEST,0,(LPARAM)(LPLVHITTESTINFO)(p))
-#define ListView_SetItemCountEx(w, i, f) SNDMSG((w), LVM_SETITEMCOUNT, (WPARAM)(i), (LPARAM)(f))
-WINBOOL WINAPI ImageList_SetImageCount(HIMAGELIST,UINT);
-WINBOOL WINAPI ImageList_Copy(HIMAGELIST,int,HIMAGELIST,int,UINT);
-WINBOOL WINAPI ImageList_DrawIndirect(IMAGELISTDRAWPARAMS*);
-#define TabCtrl_SetMinTabWidth(hwnd, x) SNDMSG((hwnd), TCM_SETMINTABWIDTH, 0, x)
-#define TabCtrl_DeselectAll(hwnd, fExcludeFocus) SNDMSG((hwnd), TCM_DESELECTALL, fExcludeFocus, 0)
-#define TreeView_GetToolTips(w) (HWND)SNDMSG((w),TVM_GETTOOLTIPS,0,0)
-#define TreeView_SetToolTips(w,wt) (HWND)SNDMSG((w),TVM_SETTOOLTIPS,(WPARAM)(wt),0)
-#endif
-#if (_WIN32_IE >= 0x0400)
-#define ListView_GetBkImage(h,plvbki) (BOOL)SNDMSG((h), LVM_GETBKIMAGE, 0, (LPARAM)(plvbki))
-#define ListView_SetBkImage(h, plvbki) (BOOL)SNDMSG((h), LVM_SETBKIMAGE, 0, (LPARAM)(plvbki))
-#define ListView_SetExtendedListViewStyleEx(w,m,s) (DWORD)SNDMSG((w),LVM_SETEXTENDEDLISTVIEWSTYLE,(m),(s))
-#define ListView_SetWorkAreas(w,n,r) (BOOL)SNDMSG((w),LVM_SETWORKAREAS,(WPARAM)(n),(LPARAM)(RECT *)(r))
-#define ListView_GetWorkAreas(w,n,r) (BOOL)SNDMSG((w),LVM_GETWORKAREAS,(WPARAM)(n),(LPARAM)(RECT *)(r))
-#define ListView_GetNumberOfWorkAreas(w,n) (BOOL)SNDMSG((w),LVM_GETNUMBEROFWORKAREAS,0,(LPARAM)(UINT *)(n))
-#define ListView_SetHoverTime(w,t) (DWORD)SNDMSG((w),LVM_SETHOVERTIME,0,(LPARAM)(t))
-#define ListView_GetHoverTime(w) (DWORD)SNDMSG((w),LVM_GETHOVERTIME,0,0)
-#define ListView_GetSelectionMark(w) (INT)SNDMSG((w),LVM_GETSELECTIONMARK,0,0)
-#define ListView_SetSelectionMark(w,i) (INT)SNDMSG((w),LVM_SETSELECTIONMARK,0,(LPARAM)(i))
-#define ListView_SetToolTips(w,n) (HWND)SNDMSG((w),LVM_SETTOOLTIPS,(WPARAM)(n),0)
-#define ListView_GetToolTips(w) (HWND)SNDMSG((w),LVM_GETTOOLTIPS,0,0)
-#define ListView_SetUnicodeFormat(w, f) (BOOL)SNDMSG((w), LVM_SETUNICODEFORMAT, (WPARAM)(f), 0)
-#define ListView_GetUnicodeFormat(w) (BOOL)SNDMSG((w), LVM_GETUNICODEFORMAT, 0, 0)
-#define TabCtrl_HighlightItem(hwnd, i, fHighlight) SNDMSG((hwnd), TCM_HIGHLIGHTITEM, (WPARAM)i, (LPARAM)MAKELONG (fHighlight, 0))
-#define TabCtrl_SetExtendedStyle(hwnd, dw) SNDMSG((hwnd), TCM_SETEXTENDEDSTYLE, 0, dw)
-#define TabCtrl_GetExtendedStyle(hwnd) SNDMSG((hwnd), TCM_GETEXTENDEDSTYLE, 0, 0)
-#define TabCtrl_SetUnicodeFormat(hwnd, fUnicode) SNDMSG((hwnd), TCM_SETUNICODEFORMAT, (WPARAM)(fUnicode), 0)
-#define TabCtrl_GetUnicodeFormat(hwnd) SNDMSG((hwnd), TCM_GETUNICODEFORMAT, 0, 0)
-#define TreeView_GetBkColor(w) (COLORREF)SNDMSG((w),TVM_GETBKCOLOR,0,0)
-#define TreeView_GetInsertMarkColor(w) (COLORREF)SNDMSG((w),TVM_GETINSERTMARKCOLOR,0,0)
-#define TreeView_GetItemHeight(w) (int)SNDMSG((w),TVM_GETITEMHEIGHT,0,0)
-#define TreeView_GetScrollTime(w) (UINT)SNDMSG((w),TVM_GETSCROLLTIME,0,0)
-#define TreeView_GetTextColor(w) (COLORREF)SNDMSG((w),TVM_GETTEXTCOLOR,0,0)
-#define TreeView_SetBkColor(w,c) (COLORREF)SNDMSG((w),TVM_SETBKCOLOR,0,(LPARAM)(c))
-#define TreeView_SetInsertMarkColor(w,c) (COLORREF)SNDMSG((w),TVM_SETINSERTMARKCOLOR,0,(LPARAM)(c))
-#define TreeView_SetItemHeight(w,h) (int)SNDMSG((w),TVM_SETITEMHEIGHT,(WPARAM)(h),0)
-#define TreeView_SetScrollTime(w,t) (UINT)SNDMSG((w),TVM_SETSCROLLTIME,(WPARAM)(UINT)(t),0)
-#define TreeView_SetTextColor(w,c) (COLORREF)SNDMSG((w),TVM_SETTEXTCOLOR,0,(LPARAM)(c))
-#define TreeView_SetInsertMark(w,i,a) (BOOL)SNDMSG((w),TVM_SETINSERTMARK,(WPARAM)(a),(LPARAM)(i))
-#define TreeView_SetUnicodeFormat(w,u) (BOOL)SNDMSG((w),TVM_SETUNICODEFORMAT,(WPARAM)(u),0)
-#define TreeView_GetUnicodeFormat(w) (BOOL)SNDMSG((w),TVM_GETUNICODEFORMAT,0,0)
-#define TreeView_GetLastVisible(w) TreeView_GetNextItem(w,NULL,TVGN_LASTVISIBLE)
-#endif
-#if (_WIN32_IE >= 0x0500)
-#define TreeView_GetItemState(w,i,m) (UINT)SNDMSG((w),TVM_GETITEMSTATE,(WPARAM)(i),(LPARAM)(m))
-#define TreeView_SetItemState(w,i,d,m) \
-{ \
- TVITEM _tvi;\
- _tvi.mask=TVIF_STATE;\
- _tvi.hItem=i; \
- _tvi.stateMask=m;\
- _tvi.state=d;\
- SNDMSG((w),TVM_SETITEM,0,(LPARAM)(TVITEM*)&_tvi);\
-}
-#endif
-
-#ifdef UNICODE
-typedef HDITEMW HDITEM;
-typedef TOOLINFOW TOOLINFO,*PTOOLINFO,*LPTOOLINFO;
-typedef TTHITTESTINFOW TTHITTESTINFO,*LPHITTESTINFO,*LPTTHITTESTINFO;
-typedef TOOLTIPTEXTW TOOLTIPTEXT,*LPTOOLTIPTEXT;
-typedef NMTTDISPINFOW NMTTDISPINFO, *LPNMTTDISPINFO;
-typedef TV_ITEMW TV_ITEM,*LPTV_ITEM;
-typedef TVITEMW TVITEM,*LPTVITEM;
-#if (_WIN32_IE >= 0x0400)
-typedef TVITEMEXW TVITEMEX,*LPTVITEMEX;
-#endif
-typedef TV_INSERTSTRUCTW TV_INSERTSTRUCT,*LPTV_INSERTSTRUCT;
-typedef TVINSERTSTRUCTW TVINSERTSTRUCT,*LPTVINSERTSTRUCT;
-typedef NM_TREEVIEWW NM_TREEVIEW,*LPNM_TREEVIEW;
-typedef NMTREEVIEWW NMTREEVIEW,*LPNMTREEVIEW;
-typedef NMHDDISPINFOW NMHDDISPINFO, *LPNMHDDISPINFO;
-#define ACM_OPEN ACM_OPENW
-#define COMBOBOXEXITEM COMBOBOXEXITEMW
-#define PCOMBOBOXEXITEM PCOMBOBOXEXITEMW
-#define PCCOMBOBOXEXITEM PCCOMBOBOXEXITEMW
-#define CBEM_INSERTITEM CBEM_INSERTITEMW
-#define CBEM_SETITEM CBEM_SETITEMW
-#define CBEM_GETITEM CBEM_GETITEMW
-#define CBEN_ENDEDIT CBEN_ENDEDITW
-#define NMCBEENDEDIT NMCBEENDEDITW
-#define LPNMCBEENDEDIT LPNMCBEENDEDITW
-#define PNMCBEENDEDIT PNMCBEENDEDITW
-#if _WIN32_IE >= 0x0400
-#define NMCOMBOBOXEX NMCOMBOBOXEXW
-#define PNMCOMBOBOXEX PNMCOMBOBOXEXW
-#define CBEN_GETDISPINFO CBEN_GETDISPINFOW
-#define CBEN_DRAGBEGIN CBEN_DRAGBEGINW
-#define NMCBEDRAGBEGIN NMCBEDRAGBEGINW
-#define LPNMCBEDRAGBEGIN LPNMCBEDRAGBEGINW
-#define PNMCBEDRAGBEGIN PNMCBEDRAGBEGINW
-#endif /* _WIN32_IE >= 0x0400 */
-#define SB_GETTEXT SB_GETTEXTW
-#define SB_SETTEXT SB_SETTEXTW
-#define SB_GETTEXTLENGTH SB_GETTEXTLENGTHW
-#define HDM_INSERTITEM HDM_INSERTITEMW
-#define HDM_GETITEM HDM_GETITEMW
-#define HDM_SETITEM HDM_SETITEMW
-#define HDN_ITEMCHANGING HDN_ITEMCHANGINGW
-#define HDN_ITEMCHANGED HDN_ITEMCHANGEDW
-#define HDN_ITEMCLICK HDN_ITEMCLICKW
-#define HDN_ITEMDBLCLICK HDN_ITEMDBLCLICKW
-#define HDN_DIVIDERDBLCLICK HDN_DIVIDERDBLCLICKW
-#define HDN_BEGINTRACK HDN_BEGINTRACKW
-#define HDN_ENDTRACK HDN_ENDTRACKW
-#define HDN_TRACK HDN_TRACKW
-#if (_WIN32_IE >= 0x0300)
-#define HDN_GETDISPINFO HDN_GETDISPINFOW
-#endif
-#define HD_NOTIFY HD_NOTIFYW
-#define TBSAVEPARAMS TBSAVEPARAMSW
-#define TB_GETBUTTONTEXT TB_GETBUTTONTEXTW
-#define TB_SAVERESTORE TB_SAVERESTOREW
-#define TB_ADDSTRING TB_ADDSTRINGW
-#define TBN_GETBUTTONINFO TBN_GETBUTTONINFOW
-#if _WIN32_IE >= 0x400
-#define TB_GETBUTTONINFO TB_GETBUTTONINFOW
-#define TB_SETBUTTONINFO TB_SETBUTTONINFOW
-#define TB_INSERTBUTTON TB_INSERTBUTTONW
-#define TB_ADDBUTTONS TB_ADDBUTTONSW
-#define TB_MAPACCELERATOR TB_MAPACCELERATORW
-#define TB_GETSTRING TB_GETSTRINGW
-#define TBBUTTONINFO TBBUTTONINFOW
-#define LPTBBUTTONINFO LPTBBUTTONINFOW
-#define TBN_GETDISPINFO TBN_GETDISPINFOW
-#define NMTBDISPINFO NMTBDISPINFOW
-#define LPNMTBDISPINFO LPNMTBDISPINFOW
-#define NMTBGETINFOTIP NMTBGETINFOTIPW
-#define LPNMTBGETINFOTIP LPNMTBGETINFOTIPW
-#endif
-#define TBNOTIFY TBNOTIFYW
-#define LPTBNOTIFY LPTBNOTIFYW
-#define NMTOOLBAR NMTOOLBARW
-#define LPNMTOOLBAR LPNMTOOLBARW
-#define TTM_ADDTOOL TTM_ADDTOOLW
-#define TTM_DELTOOL TTM_DELTOOLW
-#define TTM_NEWTOOLRECT TTM_NEWTOOLRECTW
-#define TTM_GETTOOLINFO TTM_GETTOOLINFOW
-#define TTM_SETTOOLINFO TTM_SETTOOLINFOW
-#define TTM_HITTEST TTM_HITTESTW
-#define TTM_GETTEXT TTM_GETTEXTW
-#define TTM_UPDATETIPTEXT TTM_UPDATETIPTEXTW
-#define TTM_ENUMTOOLS TTM_ENUMTOOLSW
-#define TTM_GETCURRENTTOOL TTM_GETCURRENTTOOLW
-#define TTN_NEEDTEXT TTN_NEEDTEXTW
-#define TTN_GETDISPINFO TTN_GETDISPINFOW
-#define SB_GETTEXT SB_GETTEXTW
-#define SB_SETTEXT SB_SETTEXTW
-#define SB_GETTEXTLENGTH SB_GETTEXTLENGTHW
-#define LV_ITEM LV_ITEMW
-#define LVITEM LVITEMW
-#define LPSTR_TEXTCALLBACK LPSTR_TEXTCALLBACKW
-#if _WIN32_IE >= 0x0400
-#define LVBKIMAGE LVBKIMAGEW
-#define LPLVBKIMAGE LPLVBKIMAGEW
-#define LVM_SETBKIMAGE LVM_SETBKIMAGEW
-#define LVM_GETBKIMAGE LVM_GETBKIMAGEW
-#endif /* _WIN32_IE >= 0x400 */
-#define LVM_GETITEM LVM_GETITEMW
-#define LVM_SETITEM LVM_SETITEMW
-#define LVM_INSERTITEM LVM_INSERTITEMW
-#define LV_FINDINFO LV_FINDINFOW
-#define LVFINDINFO LVFINDINFOW
-#define LPFINDINFO LPFINDINFOW
-#define NMLVFINDITEM NMLVFINDITEMW
-#define PNMLVFINDITEM PNMLVFINDITEMW
-#define LPNMLVFINDITEM LPNMLVFINDITEMW
-#define LVM_FINDITEM LVM_FINDITEMW
-#define LVM_GETSTRINGWIDTH LVM_GETSTRINGWIDTHW
-#define LVM_EDITLABEL LVM_EDITLABELW
-#define LV_COLUMN LV_COLUMNW
-#define LVCOLUMN LVCOLUMNW
-#define LVM_GETCOLUMN LVM_GETCOLUMNW
-#define LVM_SETCOLUMN LVM_SETCOLUMNW
-#define LVM_INSERTCOLUMN LVM_INSERTCOLUMNW
-#define LVM_GETITEMTEXT LVM_GETITEMTEXTW
-#define LVM_SETITEMTEXT LVM_SETITEMTEXTW
-#define LVM_GETISEARCHSTRING LVM_GETISEARCHSTRINGW
-#define LVN_BEGINLABELEDIT LVN_BEGINLABELEDITW
-#define LVN_ENDLABELEDIT LVN_ENDLABELEDITW
-#define LVN_GETDISPINFO LVN_GETDISPINFOW
-#define LVN_SETDISPINFO LVN_SETDISPINFOW
-#define LVN_GETINFOTIP LVN_GETINFOTIPW
-#define NMLVGETINFOTIP NMLVGETINFOTIPW
-#define LPNMLVGETINFOTIP LPNMLVGETINFOTIPW
-#define LV_DISPINFO LV_DISPINFOW
-#define NMLVDISPINFO NMLVDISPINFOW
-#define LPNMLVDISPINFO LPNMLVDISPINFOW
-#define TVM_INSERTITEM TVM_INSERTITEMW
-#define TVM_GETITEM TVM_GETITEMW
-#define TVM_SETITEM TVM_SETITEMW
-#define TVM_EDITLABEL TVM_EDITLABELW
-#define TVM_GETISEARCHSTRING TVM_GETISEARCHSTRINGW
-#define TV_DISPINFO NMTVDISPINFOW
-#define NMTVDISPINFO NMTVDISPINFOW
-#define LPNMTVDISPINFO LPNMTVDISPINFOW
-#if (_WIN32_IE >= 0x0400)
-#define NMTVGETINFOTIP NMTVGETINFOTIPW
-#define LPNMTVGETINFOTIP LPNMTVGETINFOTIPW
-#define TVN_GETINFOTIP TVN_GETINFOTIPW
-#endif
-#define TVN_SELCHANGING TVN_SELCHANGINGW
-#define TVN_SELCHANGED TVN_SELCHANGEDW
-#define TVN_GETDISPINFO TVN_GETDISPINFOW
-#define TVN_SETDISPINFO TVN_SETDISPINFOW
-#define TVN_ITEMEXPANDING TVN_ITEMEXPANDINGW
-#define TVN_ITEMEXPANDED TVN_ITEMEXPANDEDW
-#define TVN_BEGINDRAG TVN_BEGINDRAGW
-#define TVN_BEGINRDRAG TVN_BEGINRDRAGW
-#define TVN_DELETEITEM TVN_DELETEITEMW
-#define TVN_BEGINLABELEDIT TVN_BEGINLABELEDITW
-#define TVN_ENDLABELEDIT TVN_ENDLABELEDITW
-#define TC_ITEMHEADER TC_ITEMHEADERW
-#define TC_ITEM TC_ITEMW
-#define TCITEM TCITEMW
-#define LPTCITEM LPTCITEMW
-#define TCM_GETITEM TCM_GETITEMW
-#define TCM_SETITEM TCM_SETITEMW
-#define TCM_INSERTITEM TCM_INSERTITEMW
-#define CreateStatusWindow CreateStatusWindowW
-#define DrawStatusText DrawStatusTextW
-#define ImageList_LoadImage ImageList_LoadImageW
-#define DTM_SETFORMAT DTM_SETFORMATW
-#define DTN_USERSTRING DTN_USERSTRINGW
-#define DTN_WMKEYDOWN DTN_WMKEYDOWNW
-#define DTN_FORMAT DTN_FORMATW
-#define DTN_FORMATQUERY DTN_FORMATQUERYW
-typedef REBARBANDINFOW REBARBANDINFO,*LPREBARBANDINFO;
-#define LPCREBARBANDINFO LPCREBARBANDINFOW
-#define REBARBANDINFO_V3_SIZE REBARBANDINFOW_V3_SIZE
-#define RB_INSERTBAND RB_INSERTBANDW
-#define RB_SETBANDINFO RB_SETBANDINFOW
-#else /* UNICODE */
-typedef HDITEMA HDITEM;
-typedef TOOLINFOA TOOLINFO,*PTOOLINFO,*LPTOOLINFO;
-typedef TTHITTESTINFOA TTHITTESTINFO,*LPHITTESTINFO,*LPTTHITTESTINFO;
-typedef TOOLTIPTEXTA TOOLTIPTEXT,*LPTOOLTIPTEXT;
-typedef NMTTDISPINFOA NMTTDISPINFO, *LPNMTTDISPINFO;
-typedef TV_ITEMA TV_ITEM,*LPTV_ITEM;
-typedef TVITEMA TVITEM,*LPTVITEM;
-#if (_WIN32_IE >= 0x0400)
-typedef TVITEMEXA TVITEMEX,*LPTVITEMEX;
-#endif
-typedef TV_INSERTSTRUCTA TV_INSERTSTRUCT,*LPTV_INSERTSTRUCT;
-typedef TVINSERTSTRUCTA TVINSERTSTRUCT,*LPTVINSERTSTRUCT;
-typedef NM_TREEVIEWA NM_TREEVIEW,*LPNM_TREEVIEW;
-typedef NMTREEVIEWA NMTREEVIEW,*LPNMTREEVIEW;
-typedef NMHDDISPINFOW NMHDDISPINFO, *LPNMHDDISPINFO;
-#define ACM_OPEN ACM_OPENA
-#define COMBOBOXEXITEM COMBOBOXEXITEMA
-#define PCOMBOBOXEXITEM PCOMBOBOXEXITEMA
-#define PCCOMBOBOXEXITEM PCCOMBOBOXEXITEMA
-#define CBEM_INSERTITEM CBEM_INSERTITEMA
-#define CBEM_SETITEM CBEM_SETITEMA
-#define CBEM_GETITEM CBEM_GETITEMA
-#define CBEN_ENDEDIT CBEN_ENDEDITA
-#define NMCBEENDEDIT NMCBEENDEDITA
-#define LPNMCBEENDEDIT LPNMCBEENDEDITA
-#define PNMCBEENDEDIT PNMCBEENDEDITA
-#if _WIN32_IE >= 0x0400
-#define TB_GETBUTTONINFO TB_GETBUTTONINFOA
-#define TB_SETBUTTONINFO TB_SETBUTTONINFOA
-#define TB_INSERTBUTTON TB_INSERTBUTTONA
-#define TB_ADDBUTTONS TB_ADDBUTTONSA
-#define TB_MAPACCELERATOR TB_MAPACCELERATORA
-#define TB_GETSTRING TB_GETSTRINGA
-#define NMCOMBOBOXEX NMCOMBOBOXEXA
-#define PNMCOMBOBOXEX PNMCOMBOBOXEXA
-#define CBEN_DRAGBEGIN CBEN_DRAGBEGINA
-#define CBEN_GETDISPINFO CBEN_GETDISPINFOA
-#define NMCBEDRAGBEGIN NMCBEDRAGBEGINA
-#define LPNMCBEDRAGBEGIN LPNMCBEDRAGBEGINA
-#define PNMCBEDRAGBEGIN PNMCBEDRAGBEGINA
-#define TBN_GETDISPINFO TBN_GETDISPINFOA
-#define NMTBDISPINFO NMTBDISPINFOA
-#define LPNMTBDISPINFO LPNMTBDISPINFOA
-#define NMTBGETINFOTIP NMTBGETINFOTIPA
-#define LPNMTBGETINFOTIP LPNMTBGETINFOTIPA
-#endif /* _WIN32_IE >= 0x0400 */
-#define SB_GETTEXT SB_GETTEXTA
-#define SB_SETTEXT SB_SETTEXTA
-#define SB_GETTEXTLENGTH SB_GETTEXTLENGTHA
-#define HDM_INSERTITEM HDM_INSERTITEMA
-#define HDM_GETITEM HDM_GETITEMA
-#define HDM_SETITEM HDM_SETITEMA
-#define HDN_ITEMCHANGING HDN_ITEMCHANGINGA
-#define HDN_ITEMCHANGED HDN_ITEMCHANGEDA
-#define HDN_ITEMCLICK HDN_ITEMCLICKA
-#define HDN_ITEMDBLCLICK HDN_ITEMDBLCLICKA
-#define HDN_DIVIDERDBLCLICK HDN_DIVIDERDBLCLICKA
-#define HDN_BEGINTRACK HDN_BEGINTRACKA
-#define HDN_ENDTRACK HDN_ENDTRACKA
-#define HDN_TRACK HDN_TRACKA
-#if (_WIN32_IE >= 0x0300)
-#define HDN_GETDISPINFO HDN_GETDISPINFOA
-#endif
-#define HD_NOTIFY HD_NOTIFYA
-#define TBSAVEPARAMS TBSAVEPARAMSA
-#define TB_GETBUTTONTEXT TB_GETBUTTONTEXTA
-#define TB_SAVERESTORE TB_SAVERESTOREA
-#define TB_ADDSTRING TB_ADDSTRINGA
-#define TBN_GETBUTTONINFO TBN_GETBUTTONINFOA
-#if _WIN32_IE >= 0x400
-#define TBBUTTONINFO TBBUTTONINFOA
-#define LPTBBUTTONINFO LPTBBUTTONINFOA
-#endif
-#define TBNOTIFY TBNOTIFYA
-#define LPTBNOTIFY LPTBNOTIFYA
-#define NMTOOLBAR NMTOOLBARA
-#define LPNMTOOLBAR LPNMTOOLBARA
-#define TTM_ADDTOOL TTM_ADDTOOLA
-#define TTM_DELTOOL TTM_DELTOOLA
-#define TTM_NEWTOOLRECT TTM_NEWTOOLRECTA
-#define TTM_GETTOOLINFO TTM_GETTOOLINFOA
-#define TTM_SETTOOLINFO TTM_SETTOOLINFOA
-#define TTM_HITTEST TTM_HITTESTA
-#define TTM_GETTEXT TTM_GETTEXTA
-#define TTM_UPDATETIPTEXT TTM_UPDATETIPTEXTA
-#define TTM_ENUMTOOLS TTM_ENUMTOOLSA
-#define TTM_GETCURRENTTOOL TTM_GETCURRENTTOOLA
-#define TTN_NEEDTEXT TTN_NEEDTEXTA
-#define TTN_GETDISPINFO TTN_GETDISPINFOA
-#define SB_GETTEXT SB_GETTEXTA
-#define SB_SETTEXT SB_SETTEXTA
-#define SB_GETTEXTLENGTH SB_GETTEXTLENGTHA
-#define LV_ITEM LV_ITEMA
-#define LVITEM LVITEMA
-#define LPSTR_TEXTCALLBACK LPSTR_TEXTCALLBACKA
-#if _WIN32_IE >= 0x0400
-#define LVBKIMAGE LVBKIMAGEA
-#define LPLVBKIMAGE LPLVBKIMAGEA
-#define LVM_SETBKIMAGE LVM_SETBKIMAGEA
-#define LVM_GETBKIMAGE LVM_GETBKIMAGEA
-#endif /* _WIN32_IE >= 0x0400 */
-#define LVM_GETITEM LVM_GETITEMA
-#define LVM_SETITEM LVM_SETITEMA
-#define LVM_INSERTITEM LVM_INSERTITEMA
-#define LV_FINDINFO LV_FINDINFOA
-#define LVFINDINFO LVFINDINFOA
-#define LPFINDINFO LPFINDINFOA
-#define NMLVFINDITEM NMLVFINDITEMA
-#define PNMLVFINDITEM PNMLVFINDITEMA
-#define LPNMLVFINDITEM LPNMLVFINDITEMA
-#define LVM_FINDITEM LVM_FINDITEMA
-#define LVM_GETSTRINGWIDTH LVM_GETSTRINGWIDTHA
-#define LVM_EDITLABEL LVM_EDITLABELA
-#define LV_COLUMN LV_COLUMNA
-#define LVCOLUMN LVCOLUMNA
-#define LVM_GETCOLUMN LVM_GETCOLUMNA
-#define LVM_SETCOLUMN LVM_SETCOLUMNA
-#define LVM_INSERTCOLUMN LVM_INSERTCOLUMNA
-#define LVM_GETITEMTEXT LVM_GETITEMTEXTA
-#define LVM_SETITEMTEXT LVM_SETITEMTEXTA
-#define LVM_GETISEARCHSTRING LVM_GETISEARCHSTRINGA
-#define LVN_BEGINLABELEDIT LVN_BEGINLABELEDITA
-#define LVN_ENDLABELEDIT LVN_ENDLABELEDITA
-#define LVN_GETDISPINFO LVN_GETDISPINFOA
-#define LVN_SETDISPINFO LVN_SETDISPINFOA
-#define LVN_GETINFOTIP LVN_GETINFOTIPA
-#define NMLVGETINFOTIP NMLVGETINFOTIPA
-#define LPNMLVGETINFOTIP LPNMLVGETINFOTIPA
-#define LV_DISPINFO LV_DISPINFOA
-#define NMLVDISPINFO NMLVDISPINFOA
-#define LPNMLVDISPINFO LPNMLVDISPINFOA
-#define TVM_INSERTITEM TVM_INSERTITEMA
-#define TVM_GETITEM TVM_GETITEMA
-#define TVM_SETITEM TVM_SETITEMA
-#define TVM_EDITLABEL TVM_EDITLABELA
-#define TVM_GETISEARCHSTRING TVM_GETISEARCHSTRINGA
-#define TV_DISPINFO NMTVDISPINFOA
-#define NMTVDISPINFO NMTVDISPINFOA
-#define LPNMTVDISPINFO LPNMTVDISPINFOA
-#if (_WIN32_IE >= 0x0400)
-#define NMTVGETINFOTIP NMTVGETINFOTIPA
-#define LPNMTVGETINFOTIP LPNMTVGETINFOTIPA
-#define TVN_GETINFOTIP TVN_GETINFOTIPA
-#endif
-#define TVN_SELCHANGING TVN_SELCHANGINGA
-#define TVN_SELCHANGED TVN_SELCHANGEDA
-#define TVN_GETDISPINFO TVN_GETDISPINFOA
-#define TVN_SETDISPINFO TVN_SETDISPINFOA
-#define TVN_ITEMEXPANDING TVN_ITEMEXPANDINGA
-#define TVN_ITEMEXPANDED TVN_ITEMEXPANDEDA
-#define TVN_BEGINDRAG TVN_BEGINDRAGA
-#define TVN_BEGINRDRAG TVN_BEGINRDRAGA
-#define TVN_DELETEITEM TVN_DELETEITEMA
-#define TVN_BEGINLABELEDIT TVN_BEGINLABELEDITA
-#define TVN_ENDLABELEDIT TVN_ENDLABELEDITA
-#define TC_ITEMHEADER TC_ITEMHEADERA
-#define TC_ITEM TC_ITEMA
-#define TCITEM TCITEMA
-#define LPTCITEM LPTCITEMA
-#define TCM_GETITEM TCM_GETITEMA
-#define TCM_SETITEM TCM_SETITEMA
-#define TCM_INSERTITEM TCM_INSERTITEMA
-#define CreateStatusWindow CreateStatusWindowA
-#define DrawStatusText DrawStatusTextA
-#define ImageList_LoadImage ImageList_LoadImageA
-#define DTM_SETFORMAT DTM_SETFORMATA
-#define DTN_USERSTRING DTN_USERSTRINGA
-#define DTN_WMKEYDOWN DTN_WMKEYDOWNA
-#define DTN_FORMAT DTN_FORMATA
-#define DTN_FORMATQUERY DTN_FORMATQUERYA
-typedef REBARBANDINFOA REBARBANDINFO,*LPREBARBANDINFO;
-#define LPCREBARBANDINFO LPCREBARBANDINFOA
-#define REBARBANDINFO_V3_SIZE REBARBANDINFOA_V3_SIZE
-#define RB_INSERTBAND RB_INSERTBANDA
-#define RB_SETBANDINFO RB_SETBANDINFOA
-#endif
-#endif /* RC_INVOKED */
-
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/winsup/w32api/include/commdlg.h b/winsup/w32api/include/commdlg.h
deleted file mode 100644
index 0726cd231..000000000
--- a/winsup/w32api/include/commdlg.h
+++ /dev/null
@@ -1,596 +0,0 @@
-#ifndef _COMMDLG_H
-#define _COMMDLG_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-#pragma pack(push,1)
-
-#define LBSELCHSTRINGA "commdlg_LBSelChangedNotify"
-#define SHAREVISTRINGA "commdlg_ShareViolation"
-#define FILEOKSTRINGA "commdlg_FileNameOK"
-#define COLOROKSTRINGA "commdlg_ColorOK"
-#define SETRGBSTRINGA "commdlg_SetRGBColor"
-#define HELPMSGSTRINGA "commdlg_help"
-#define FINDMSGSTRINGA "commdlg_FindReplace"
-#define LBSELCHSTRINGW L"commdlg_LBSelChangedNotify"
-#define SHAREVISTRINGW L"commdlg_ShareViolation"
-#define FILEOKSTRINGW L"commdlg_FileNameOK"
-#define COLOROKSTRINGW L"commdlg_ColorOK"
-#define SETRGBSTRINGW L"commdlg_SetRGBColor"
-#define HELPMSGSTRINGW L"commdlg_help"
-#define FINDMSGSTRINGW L"commdlg_FindReplace"
-#ifndef CDN_FIRST
-#define CDN_FIRST ((UINT)-601) /* also in commctrl.h */
-#define CDN_LAST ((UINT)-699)
-#endif
-#define CDN_INITDONE CDN_FIRST
-#define CDN_SELCHANGE (CDN_FIRST-1U)
-#define CDN_FOLDERCHANGE (CDN_FIRST-2U)
-#define CDN_SHAREVIOLATION (CDN_FIRST-3U)
-#define CDN_HELP (CDN_FIRST-4U)
-#define CDN_FILEOK (CDN_FIRST-5U)
-#define CDN_TYPECHANGE (CDN_FIRST-6U)
-#define CDM_FIRST (WM_USER+100)
-#define CDM_LAST (WM_USER+200)
-#define CDM_GETSPEC CDM_FIRST
-#define CDM_GETFILEPATH (CDM_FIRST+1)
-#define CDM_GETFOLDERPATH (CDM_FIRST+2)
-#define CDM_GETFOLDERIDLIST (CDM_FIRST+3)
-#define CDM_SETCONTROLTEXT (CDM_FIRST+4)
-#define CDM_HIDECONTROL (CDM_FIRST+5)
-#define CDM_SETDEFEXT (CDM_FIRST+6)
-#define CC_RGBINIT 1
-#define CC_FULLOPEN 2
-#define CC_PREVENTFULLOPEN 4
-#define CC_SHOWHELP 8
-#define CC_ENABLEHOOK 16
-#define CC_ENABLETEMPLATE 32
-#define CC_ENABLETEMPLATEHANDLE 64
-#define CC_SOLIDCOLOR 128
-#define CC_ANYCOLOR 256
-#define CF_SCREENFONTS 1
-#define CF_PRINTERFONTS 2
-#define CF_BOTH 3
-#define CF_SHOWHELP 4
-#define CF_ENABLEHOOK 8
-#define CF_ENABLETEMPLATE 16
-#define CF_ENABLETEMPLATEHANDLE 32
-#define CF_INITTOLOGFONTSTRUCT 64
-#define CF_USESTYLE 128
-#define CF_EFFECTS 256
-#define CF_APPLY 512
-#define CF_ANSIONLY 1024
-#define CF_SCRIPTSONLY CF_ANSIONLY
-#define CF_NOVECTORFONTS 2048
-#define CF_NOOEMFONTS 2048
-#define CF_NOSIMULATIONS 4096
-#define CF_LIMITSIZE 8192
-#define CF_FIXEDPITCHONLY 16384
-#define CF_WYSIWYG 32768
-#define CF_FORCEFONTEXIST 65536
-#define CF_SCALABLEONLY 131072
-#define CF_TTONLY 262144
-#define CF_NOFACESEL 524288
-#define CF_NOSTYLESEL 1048576
-#define CF_NOSIZESEL 2097152
-#define CF_SELECTSCRIPT 4194304
-#define CF_NOSCRIPTSEL 8388608
-#define CF_NOVERTFONTS 0x1000000
-#define SIMULATED_FONTTYPE 0x8000
-#define PRINTER_FONTTYPE 0x4000
-#define SCREEN_FONTTYPE 0x2000
-#define BOLD_FONTTYPE 0x100
-#define ITALIC_FONTTYPE 0x0200
-#define REGULAR_FONTTYPE 0x0400
-#define WM_CHOOSEFONT_GETLOGFONT (WM_USER+1)
-#define WM_CHOOSEFONT_SETLOGFONT (WM_USER+101)
-#define WM_CHOOSEFONT_SETFLAGS (WM_USER+102)
-#define OFN_ALLOWMULTISELECT 512
-#define OFN_CREATEPROMPT 0x2000
-#define OFN_ENABLEHOOK 32
-#define OFN_ENABLESIZING 0x800000
-#define OFN_ENABLETEMPLATE 64
-#define OFN_ENABLETEMPLATEHANDLE 128
-#define OFN_EXPLORER 0x80000
-#define OFN_EXTENSIONDIFFERENT 0x400
-#define OFN_FILEMUSTEXIST 0x1000
-#define OFN_HIDEREADONLY 4
-#define OFN_LONGNAMES 0x200000
-#define OFN_NOCHANGEDIR 8
-#define OFN_NODEREFERENCELINKS 0x100000
-#define OFN_NOLONGNAMES 0x40000
-#define OFN_NONETWORKBUTTON 0x20000
-#define OFN_NOREADONLYRETURN 0x8000
-#define OFN_NOTESTFILECREATE 0x10000
-#define OFN_NOVALIDATE 256
-#define OFN_OVERWRITEPROMPT 2
-#define OFN_PATHMUSTEXIST 0x800
-#define OFN_READONLY 1
-#define OFN_SHAREAWARE 0x4000
-#define OFN_SHOWHELP 16
-#define OFN_SHAREFALLTHROUGH 2
-#define OFN_SHARENOWARN 1
-#define OFN_SHAREWARN 0
-#define OFN_NODEREFERENCELINKS 0x100000
-#if (_WIN32_WINNT >= 0x0500)
-#define OFN_DONTADDTORECENT 0x02000000
-#endif
-#define FR_DIALOGTERM 64
-#define FR_DOWN 1
-#define FR_ENABLEHOOK 256
-#define FR_ENABLETEMPLATE 512
-#define FR_ENABLETEMPLATEHANDLE 0x2000
-#define FR_FINDNEXT 8
-#define FR_HIDEUPDOWN 0x4000
-#define FR_HIDEMATCHCASE 0x8000
-#define FR_HIDEWHOLEWORD 0x10000
-#define FR_MATCHALEFHAMZA 0x80000000
-#define FR_MATCHCASE 4
-#define FR_MATCHDIAC 0x20000000
-#define FR_MATCHKASHIDA 0x40000000
-#define FR_NOMATCHCASE 0x800
-#define FR_NOUPDOWN 0x400
-#define FR_NOWHOLEWORD 4096
-#define FR_REPLACE 16
-#define FR_REPLACEALL 32
-#define FR_SHOWHELP 128
-#define FR_WHOLEWORD 2
-#define PD_ALLPAGES 0
-#define PD_SELECTION 1
-#define PD_PAGENUMS 2
-#define PD_NOSELECTION 4
-#define PD_NOPAGENUMS 8
-#define PD_COLLATE 16
-#define PD_PRINTTOFILE 32
-#define PD_PRINTSETUP 64
-#define PD_NOWARNING 128
-#define PD_RETURNDC 256
-#define PD_RETURNIC 512
-#define PD_RETURNDEFAULT 1024
-#define PD_SHOWHELP 2048
-#define PD_ENABLEPRINTHOOK 4096
-#define PD_ENABLESETUPHOOK 8192
-#define PD_ENABLEPRINTTEMPLATE 16384
-#define PD_ENABLESETUPTEMPLATE 32768
-#define PD_ENABLEPRINTTEMPLATEHANDLE 65536
-#define PD_ENABLESETUPTEMPLATEHANDLE 0x20000
-#define PD_USEDEVMODECOPIES 0x40000
-#define PD_USEDEVMODECOPIESANDCOLLATE 0x40000
-#define PD_DISABLEPRINTTOFILE 0x80000
-#define PD_HIDEPRINTTOFILE 0x100000
-#define PD_NONETWORKBUTTON 0x200000
-#define PSD_DEFAULTMINMARGINS 0
-#define PSD_INWININIINTLMEASURE 0
-#define PSD_MINMARGINS 1
-#define PSD_MARGINS 2
-#define PSD_INTHOUSANDTHSOFINCHES 4
-#define PSD_INHUNDREDTHSOFMILLIMETERS 8
-#define PSD_DISABLEMARGINS 16
-#define PSD_DISABLEPRINTER 32
-#define PSD_NOWARNING 128
-#define PSD_DISABLEORIENTATION 256
-#define PSD_DISABLEPAPER 512
-#define PSD_RETURNDEFAULT 1024
-#define PSD_SHOWHELP 2048
-#define PSD_ENABLEPAGESETUPHOOK 8192
-#define PSD_ENABLEPAGESETUPTEMPLATE 0x8000
-#define PSD_ENABLEPAGESETUPTEMPLATEHANDLE 0x20000
-#define PSD_ENABLEPAGEPAINTHOOK 0x40000
-#define PSD_DISABLEPAGEPAINTING 0x80000
-#define WM_PSD_PAGESETUPDLG WM_USER
-#define WM_PSD_FULLPAGERECT (WM_USER+1)
-#define WM_PSD_MINMARGINRECT (WM_USER+2)
-#define WM_PSD_MARGINRECT (WM_USER+3)
-#define WM_PSD_GREEKTEXTRECT (WM_USER+4)
-#define WM_PSD_ENVSTAMPRECT (WM_USER+5)
-#define WM_PSD_YAFULLPAGERECT (WM_USER+6)
-#define CD_LBSELNOITEMS (-1)
-#define CD_LBSELCHANGE 0
-#define CD_LBSELSUB 1
-#define CD_LBSELADD 2
-#define DN_DEFAULTPRN 1
-
-#ifndef SNDMSG
-#ifdef __cplusplus
-#define SNDMSG ::SendMessage
-#else
-#define SNDMSG SendMessage
-#endif
-#endif /* ifndef SNDMSG */
-
-#define CommDlg_OpenSave_GetSpec(d,s,m) ((int)SNDMSG((d),CDM_GETSPEC,(m),(LPARAM)(s)))
-#define CommDlg_OpenSave_GetSpecA CommDlg_OpenSave_GetSpec
-#define CommDlg_OpenSave_GetSpecW CommDlg_OpenSave_GetSpec
-#define CommDlg_OpenSave_GetFilePath(d,s,m) ((int)SNDMSG((d),CDM_GETFILEPATH,(m),(LPARAM)(s)))
-#define CommDlg_OpenSave_GetFilePathA CommDlg_OpenSave_GetFilePath
-#define CommDlg_OpenSave_GetFilePathW CommDlg_OpenSave_GetFilePath
-#define CommDlg_OpenSave_GetFolderPath(d,s,m) ((int)SNDMSG((d),CDM_GETFOLDERPATH,(m),(LPARAM)(LPSTR)(s)))
-#define CommDlg_OpenSave_GetFolderPathA CommDlg_OpenSave_GetFolderPath
-#define CommDlg_OpenSave_GetFolderPathW CommDlg_OpenSave_GetFolderPath
-#define CommDlg_OpenSave_GetFolderIDList(d,i,m) ((int)SNDMSG((d),CDM_GETFOLDERIDLIST,(m),(LPARAM)(i)))
-#define CommDlg_OpenSave_SetControlText(d,i,t) ((void)SNDMSG((d),CDM_SETCONTROLTEXT,(i),(LPARAM)(t)))
-#define CommDlg_OpenSave_HideControl(d,i) ((void)SNDMSG((d),CDM_HIDECONTROL,(i),0))
-#define CommDlg_OpenSave_SetDefExt(d,e) ((void)SNDMSG((d),CDM_SETDEFEXT,0,(LPARAM)(e)))
-
-typedef UINT (APIENTRY *__CDHOOKPROC)(HWND,UINT,WPARAM,LPARAM);
-typedef __CDHOOKPROC LPCCHOOKPROC;
-typedef __CDHOOKPROC LPCFHOOKPROC;
-typedef __CDHOOKPROC LPFRHOOKPROC;
-typedef __CDHOOKPROC LPOFNHOOKPROC;
-typedef __CDHOOKPROC LPPAGEPAINTHOOK;
-typedef __CDHOOKPROC LPPAGESETUPHOOK;
-typedef __CDHOOKPROC LPSETUPHOOKPROC;
-typedef __CDHOOKPROC LPPRINTHOOKPROC;
-typedef struct tagCHOOSECOLORA {
- DWORD lStructSize;
- HWND hwndOwner;
- HWND hInstance;
- COLORREF rgbResult;
- COLORREF* lpCustColors;
- DWORD Flags;
- LPARAM lCustData;
- LPCCHOOKPROC lpfnHook;
- LPCSTR lpTemplateName;
-} CHOOSECOLORA,*LPCHOOSECOLORA;
-typedef struct tagCHOOSECOLORW {
- DWORD lStructSize;
- HWND hwndOwner;
- HWND hInstance;
- COLORREF rgbResult;
- COLORREF* lpCustColors;
- DWORD Flags;
- LPARAM lCustData;
- LPCCHOOKPROC lpfnHook;
- LPCWSTR lpTemplateName;
-} CHOOSECOLORW,*LPCHOOSECOLORW;
-typedef struct tagCHOOSEFONTA {
- DWORD lStructSize;
- HWND hwndOwner;
- HDC hDC;
- LPLOGFONTA lpLogFont;
- INT iPointSize;
- DWORD Flags;
- DWORD rgbColors;
- LPARAM lCustData;
- LPCFHOOKPROC lpfnHook;
- LPCSTR lpTemplateName;
- HINSTANCE hInstance;
- LPSTR lpszStyle;
- WORD nFontType;
- WORD ___MISSING_ALIGNMENT__;
- INT nSizeMin;
- INT nSizeMax;
-} CHOOSEFONTA,*LPCHOOSEFONTA;
-typedef struct tagCHOOSEFONTW {
- DWORD lStructSize;
- HWND hwndOwner;
- HDC hDC;
- LPLOGFONTW lpLogFont;
- INT iPointSize;
- DWORD Flags;
- DWORD rgbColors;
- LPARAM lCustData;
- LPCFHOOKPROC lpfnHook;
- LPCWSTR lpTemplateName;
- HINSTANCE hInstance;
- LPWSTR lpszStyle;
- WORD nFontType;
- WORD ___MISSING_ALIGNMENT__;
- INT nSizeMin;
- INT nSizeMax;
-} CHOOSEFONTW,*LPCHOOSEFONTW;
-typedef struct tagDEVNAMES {
- WORD wDriverOffset;
- WORD wDeviceOffset;
- WORD wOutputOffset;
- WORD wDefault;
-} DEVNAMES,*LPDEVNAMES;
-typedef struct {
- DWORD lStructSize;
- HWND hwndOwner;
- HINSTANCE hInstance;
- DWORD Flags;
- LPSTR lpstrFindWhat;
- LPSTR lpstrReplaceWith;
- WORD wFindWhatLen;
- WORD wReplaceWithLen;
- LPARAM lCustData;
- LPFRHOOKPROC lpfnHook;
- LPCSTR lpTemplateName;
-} FINDREPLACEA,*LPFINDREPLACEA;
-typedef struct {
- DWORD lStructSize;
- HWND hwndOwner;
- HINSTANCE hInstance;
- DWORD Flags;
- LPWSTR lpstrFindWhat;
- LPWSTR lpstrReplaceWith;
- WORD wFindWhatLen;
- WORD wReplaceWithLen;
- LPARAM lCustData;
- LPFRHOOKPROC lpfnHook;
- LPCWSTR lpTemplateName;
-} FINDREPLACEW,*LPFINDREPLACEW;
-typedef struct tagOFNA {
- DWORD lStructSize;
- HWND hwndOwner;
- HINSTANCE hInstance;
- LPCSTR lpstrFilter;
- LPSTR lpstrCustomFilter;
- DWORD nMaxCustFilter;
- DWORD nFilterIndex;
- LPSTR lpstrFile;
- DWORD nMaxFile;
- LPSTR lpstrFileTitle;
- DWORD nMaxFileTitle;
- LPCSTR lpstrInitialDir;
- LPCSTR lpstrTitle;
- DWORD Flags;
- WORD nFileOffset;
- WORD nFileExtension;
- LPCSTR lpstrDefExt;
- DWORD lCustData;
- LPOFNHOOKPROC lpfnHook;
- LPCSTR lpTemplateName;
-#if (_WIN32_WINNT >= 0x0500)
- void * pvReserved;
- DWORD dwReserved;
- DWORD FlagsEx;
-#endif /* (_WIN32_WINNT >= 0x0500) */
-} OPENFILENAMEA,*LPOPENFILENAMEA;
-typedef struct tagOFNW {
- DWORD lStructSize;
- HWND hwndOwner;
- HINSTANCE hInstance;
- LPCWSTR lpstrFilter;
- LPWSTR lpstrCustomFilter;
- DWORD nMaxCustFilter;
- DWORD nFilterIndex;
- LPWSTR lpstrFile;
- DWORD nMaxFile;
- LPWSTR lpstrFileTitle;
- DWORD nMaxFileTitle;
- LPCWSTR lpstrInitialDir;
- LPCWSTR lpstrTitle;
- DWORD Flags;
- WORD nFileOffset;
- WORD nFileExtension;
- LPCWSTR lpstrDefExt;
- DWORD lCustData;
- LPOFNHOOKPROC lpfnHook;
- LPCWSTR lpTemplateName;
-#if (_WIN32_WINNT >= 0x0500)
- void * pvReserved;
- DWORD dwReserved;
- DWORD FlagsEx;
-#endif /* (_WIN32_WINNT >= 0x0500) */
-} OPENFILENAMEW,*LPOPENFILENAMEW;
-typedef struct _OFNOTIFYA {
- NMHDR hdr;
- LPOPENFILENAMEA lpOFN;
- LPSTR pszFile;
-} OFNOTIFYA,*LPOFNOTIFYA;
-typedef struct _OFNOTIFYW {
- NMHDR hdr;
- LPOPENFILENAMEW lpOFN;
- LPWSTR pszFile;
-} OFNOTIFYW,*LPOFNOTIFYW;
-typedef struct tagPSDA {
- DWORD lStructSize;
- HWND hwndOwner;
- HGLOBAL hDevMode;
- HGLOBAL hDevNames;
- DWORD Flags;
- POINT ptPaperSize;
- RECT rtMinMargin;
- RECT rtMargin;
- HINSTANCE hInstance;
- LPARAM lCustData;
- LPPAGESETUPHOOK lpfnPageSetupHook;
- LPPAGEPAINTHOOK lpfnPagePaintHook;
- LPCSTR lpPageSetupTemplateName;
- HGLOBAL hPageSetupTemplate;
-} PAGESETUPDLGA,*LPPAGESETUPDLGA;
-typedef struct tagPSDW {
- DWORD lStructSize;
- HWND hwndOwner;
- HGLOBAL hDevMode;
- HGLOBAL hDevNames;
- DWORD Flags;
- POINT ptPaperSize;
- RECT rtMinMargin;
- RECT rtMargin;
- HINSTANCE hInstance;
- LPARAM lCustData;
- LPPAGESETUPHOOK lpfnPageSetupHook;
- LPPAGEPAINTHOOK lpfnPagePaintHook;
- LPCWSTR lpPageSetupTemplateName;
- HGLOBAL hPageSetupTemplate;
-} PAGESETUPDLGW,*LPPAGESETUPDLGW;
-typedef struct tagPDA {
- DWORD lStructSize;
- HWND hwndOwner;
- HANDLE hDevMode;
- HANDLE hDevNames;
- HDC hDC;
- DWORD Flags;
- WORD nFromPage;
- WORD nToPage;
- WORD nMinPage;
- WORD nMaxPage;
- WORD nCopies;
- HINSTANCE hInstance;
- DWORD lCustData;
- LPPRINTHOOKPROC lpfnPrintHook;
- LPSETUPHOOKPROC lpfnSetupHook;
- LPCSTR lpPrintTemplateName;
- LPCSTR lpSetupTemplateName;
- HANDLE hPrintTemplate;
- HANDLE hSetupTemplate;
-} PRINTDLGA,*LPPRINTDLGA;
-typedef struct tagPDW {
- DWORD lStructSize;
- HWND hwndOwner;
- HANDLE hDevMode;
- HANDLE hDevNames;
- HDC hDC;
- DWORD Flags;
- WORD nFromPage;
- WORD nToPage;
- WORD nMinPage;
- WORD nMaxPage;
- WORD nCopies;
- HINSTANCE hInstance;
- DWORD lCustData;
- LPPRINTHOOKPROC lpfnPrintHook;
- LPSETUPHOOKPROC lpfnSetupHook;
- LPCWSTR lpPrintTemplateName;
- LPCWSTR lpSetupTemplateName;
- HANDLE hPrintTemplate;
- HANDLE hSetupTemplate;
-} PRINTDLGW,*LPPRINTDLGW;
-#if (WINVER >= 0x0500) && !defined (__OBJC__)
-#include <unknwn.h> /* for LPUNKNOWN */
-#include <prsht.h> /* for HPROPSHEETPAGE */
-typedef struct tagPRINTPAGERANGE {
- DWORD nFromPage;
- DWORD nToPage;
-} PRINTPAGERANGE, *LPPRINTPAGERANGE;
-typedef struct tagPDEXA {
- DWORD lStructSize;
- HWND hwndOwner;
- HGLOBAL hDevMode;
- HGLOBAL hDevNames;
- HDC hDC;
- DWORD Flags;
- DWORD Flags2;
- DWORD ExclusionFlags;
- DWORD nPageRanges;
- DWORD nMaxPageRanges;
- LPPRINTPAGERANGE lpPageRanges;
- DWORD nMinPage;
- DWORD nMaxPage;
- DWORD nCopies;
- HINSTANCE hInstance;
- LPCSTR lpPrintTemplateName;
- LPUNKNOWN lpCallback;
- DWORD nPropertyPages;
- HPROPSHEETPAGE *lphPropertyPages;
- DWORD nStartPage;
- DWORD dwResultAction;
-} PRINTDLGEXA, *LPPRINTDLGEXA;
-typedef struct tagPDEXW {
- DWORD lStructSize;
- HWND hwndOwner;
- HGLOBAL hDevMode;
- HGLOBAL hDevNames;
- HDC hDC;
- DWORD Flags;
- DWORD Flags2;
- DWORD ExclusionFlags;
- DWORD nPageRanges;
- DWORD nMaxPageRanges;
- LPPRINTPAGERANGE lpPageRanges;
- DWORD nMinPage;
- DWORD nMaxPage;
- DWORD nCopies;
- HINSTANCE hInstance;
- LPCWSTR lpPrintTemplateName;
- LPUNKNOWN lpCallback;
- DWORD nPropertyPages;
- HPROPSHEETPAGE *lphPropertyPages;
- DWORD nStartPage;
- DWORD dwResultAction;
-} PRINTDLGEXW, *LPPRINTDLGEXW;
-#endif /* WINVER >= 0x0500 */
-
-BOOL WINAPI ChooseColorA(LPCHOOSECOLORA);
-BOOL WINAPI ChooseColorW(LPCHOOSECOLORW);
-BOOL WINAPI ChooseFontA(LPCHOOSEFONTA);
-BOOL WINAPI ChooseFontW(LPCHOOSEFONTW);
-DWORD WINAPI CommDlgExtendedError(void);
-HWND WINAPI FindTextA(LPFINDREPLACEA);
-HWND WINAPI FindTextW(LPFINDREPLACEW);
-short WINAPI GetFileTitleA(LPCSTR,LPSTR,WORD);
-short WINAPI GetFileTitleW(LPCWSTR,LPWSTR,WORD);
-BOOL WINAPI GetOpenFileNameA(LPOPENFILENAMEA);
-BOOL WINAPI GetOpenFileNameW(LPOPENFILENAMEW);
-BOOL WINAPI GetSaveFileNameA(LPOPENFILENAMEA);
-BOOL WINAPI GetSaveFileNameW(LPOPENFILENAMEW);
-BOOL WINAPI PageSetupDlgA(LPPAGESETUPDLGA);
-BOOL WINAPI PageSetupDlgW(LPPAGESETUPDLGW);
-BOOL WINAPI PrintDlgA(LPPRINTDLGA);
-BOOL WINAPI PrintDlgW(LPPRINTDLGW);
-HWND WINAPI ReplaceTextA(LPFINDREPLACEA);
-HWND WINAPI ReplaceTextW(LPFINDREPLACEW);
-#if (WINVER >= 0x0500) && !defined (__OBJC__)
-HRESULT WINAPI PrintDlgExA(LPPRINTDLGEXA);
-HRESULT WINAPI PrintDlgExW(LPPRINTDLGEXW);
-#endif /* WINVER >= 0x0500 */
-
-#ifdef UNICODE
-#define LBSELCHSTRING LBSELCHSTRINGW
-#define SHAREVISTRING SHAREVISTRINGW
-#define FILEOKSTRING FILEOKSTRINGW
-#define COLOROKSTRING COLOROKSTRINGW
-#define SETRGBSTRING SETRGBSTRINGW
-#define HELPMSGSTRING HELPMSGSTRINGW
-#define FINDMSGSTRING FINDMSGSTRINGW
-typedef CHOOSECOLORW CHOOSECOLOR,*LPCHOOSECOLOR;
-typedef CHOOSEFONTW CHOOSEFONT,*LPCHOOSEFONT;
-typedef FINDREPLACEW FINDREPLACE,*LPFINDREPLACE;
-typedef OPENFILENAMEW OPENFILENAME,*LPOPENFILENAME;
-typedef OFNOTIFYW OFNOTIFY,*LPOFNOTIFY;
-typedef PAGESETUPDLGW PAGESETUPDLG,*LPPAGESETUPDLG;
-typedef PRINTDLGW PRINTDLG,*LPPRINTDLG;
-#define ChooseColor ChooseColorW
-#define ChooseFont ChooseFontW
-#define FindText FindTextW
-#define GetFileTitle GetFileTitleW
-#define GetOpenFileName GetOpenFileNameW
-#define GetSaveFileName GetSaveFileNameW
-#define PageSetupDlg PageSetupDlgW
-#define PrintDlg PrintDlgW
-#define ReplaceText ReplaceTextW
-#if (WINVER >= 0x0500) && !defined (__OBJC__)
-typedef PRINTDLGEXW PRINTDLGEX, *LPPRINTDLGEX;
-#define PrintDlgEx PrintDlgExW
-#endif /* WINVER >= 0x0500 */
-#else /* UNICODE */
-#define LBSELCHSTRING LBSELCHSTRINGA
-#define SHAREVISTRING SHAREVISTRINGA
-#define FILEOKSTRING FILEOKSTRINGA
-#define COLOROKSTRING COLOROKSTRINGA
-#define SETRGBSTRING SETRGBSTRINGA
-#define HELPMSGSTRING HELPMSGSTRINGA
-#define FINDMSGSTRING FINDMSGSTRINGA
-typedef CHOOSECOLORA CHOOSECOLOR,*LPCHOOSECOLOR;
-typedef CHOOSEFONTA CHOOSEFONT,*LPCHOOSEFONT;
-typedef FINDREPLACEA FINDREPLACE,*LPFINDREPLACE;
-typedef OPENFILENAMEA OPENFILENAME,*LPOPENFILENAME;
-typedef OFNOTIFYA OFNOTIFY,*LPOFNOTIFY;
-typedef PAGESETUPDLGA PAGESETUPDLG,*LPPAGESETUPDLG;
-typedef PRINTDLGA PRINTDLG,*LPPRINTDLG;
-#define ChooseColor ChooseColorA
-#define ChooseFont ChooseFontA
-#define FindText FindTextA
-#define GetFileTitle GetFileTitleA
-#define GetOpenFileName GetOpenFileNameA
-#define GetSaveFileName GetSaveFileNameA
-#define PageSetupDlg PageSetupDlgA
-#define PrintDlg PrintDlgA
-#define ReplaceText ReplaceTextA
-#if (WINVER >= 0x0500) && !defined (__OBJC__)
-typedef PRINTDLGEXA PRINTDLGEX, *LPPRINTDLGEX;
-#define PrintDlgEx PrintDlgExA
-#endif /* WINVER >= 0x0500 */
-#endif /* UNICODE */
-#pragma pack(pop)
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/winsup/w32api/include/cpl.h b/winsup/w32api/include/cpl.h
deleted file mode 100644
index aaec59734..000000000
--- a/winsup/w32api/include/cpl.h
+++ /dev/null
@@ -1,61 +0,0 @@
-#ifndef _CPL_H
-#define _CPL_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-#define WM_CPL_LAUNCH (WM_USER+1000)
-#define WM_CPL_LAUNCHED (WM_USER+1001)
-#define CPL_DYNAMIC_RES 0
-#define CPL_INIT 1
-#define CPL_GETCOUNT 2
-#define CPL_INQUIRE 3
-#define CPL_SELECT 4
-#define CPL_DBLCLK 5
-#define CPL_STOP 6
-#define CPL_EXIT 7
-#define CPL_NEWINQUIRE 8
-#define CPL_STARTWPARMSA 9
-#define CPL_STARTWPARMSW 10
-#define CPL_SETUP 200
-typedef LONG(APIENTRY *APPLET_PROC)(HWND,UINT,LONG,LONG);
-typedef struct tagCPLINFO {
- int idIcon;
- int idName;
- int idInfo;
- LONG lData;
-} CPLINFO,*LPCPLINFO;
-typedef struct tagNEWCPLINFOA {
- DWORD dwSize;
- DWORD dwFlags;
- DWORD dwHelpContext;
- LONG lData;
- HICON hIcon;
- CHAR szName[32];
- CHAR szInfo[64];
- CHAR szHelpFile[128];
-} NEWCPLINFOA,*LPNEWCPLINFOA;
-typedef struct tagNEWCPLINFOW {
- DWORD dwSize;
- DWORD dwFlags;
- DWORD dwHelpContext;
- LONG lData;
- HICON hIcon;
- WCHAR szName[32];
- WCHAR szInfo[64];
- WCHAR szHelpFile[128];
-} NEWCPLINFOW,*LPNEWCPLINFOW;
-#ifdef UNICODE
-#define CPL_STARTWPARMS CPL_STARTWPARMSW
-typedef NEWCPLINFOW NEWCPLINFO,*LPNEWCPLINFO;
-#else
-#define CPL_STARTWPARMS CPL_STARTWPARMSA
-typedef NEWCPLINFOA NEWCPLINFO,*LPNEWCPLINFO;
-#endif
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/winsup/w32api/include/cplext.h b/winsup/w32api/include/cplext.h
deleted file mode 100644
index 34333b566..000000000
--- a/winsup/w32api/include/cplext.h
+++ /dev/null
@@ -1,12 +0,0 @@
-#ifndef _CPLEXT_H
-#define _CPLEXT_H
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-#define CPLPAGE_MOUSE_BUTTONS 1
-#define CPLPAGE_MOUSE_PTRMOTION 2
-#define CPLPAGE_MOUSE_WHEEL 3
-#define CPLPAGE_KEYBOARD_SPEED 1
-#define CPLPAGE_DISPLAY_BACKGROUND 1
-#endif
diff --git a/winsup/w32api/include/custcntl.h b/winsup/w32api/include/custcntl.h
deleted file mode 100644
index 8a9d5ff32..000000000
--- a/winsup/w32api/include/custcntl.h
+++ /dev/null
@@ -1,102 +0,0 @@
-#ifndef _CUSTCNTL_H
-#define _CUSTCNTL_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define CCF_NOTEXT 1
-#define CCHCCCLASS 32
-#define CCHCCDESC 32
-#define CCHCCTEXT 256
-
-typedef struct tagCCSTYLEA {
- DWORD flStyle;
- DWORD flExtStyle;
- CHAR szText[CCHCCTEXT];
- LANGID lgid;
- WORD wReserved1;
-} CCSTYLEA,*LPCCSTYLEA;
-typedef struct tagCCSTYLEW {
- DWORD flStyle;
- DWORD flExtStyle;
- WCHAR szText[CCHCCTEXT];
- LANGID lgid;
- WORD wReserved1;
-} CCSTYLEW,*LPCCSTYLEW;
-typedef struct tagCCSTYLEFLAGA {
- DWORD flStyle;
- DWORD flStyleMask;
- LPSTR pszStyle;
-} CCSTYLEFLAGA,*LPCCSTYLEFLAGA;
-typedef struct tagCCSTYLEFLAGW {
- DWORD flStyle;
- DWORD flStyleMask;
- LPWSTR pszStyle;
-} CCSTYLEFLAGW,*LPCCSTYLEFLAGW;
-typedef BOOL(CALLBACK* LPFNCCSTYLEA)(HWND,LPCCSTYLEA);
-typedef INT(CALLBACK* LPFNCCSIZETOTEXTA)(DWORD,DWORD,HFONT,LPSTR);
-typedef struct tagCCINFOA {
- CHAR szClass[CCHCCCLASS];
- DWORD flOptions;
- CHAR szDesc[CCHCCDESC];
- UINT cxDefault;
- UINT cyDefault;
- DWORD flStyleDefault;
- DWORD flExtStyleDefault;
- DWORD flCtrlTypeMask;
- CHAR szTextDefault[CCHCCTEXT];
- INT cStyleFlags;
- LPCCSTYLEFLAGA aStyleFlags;
- LPFNCCSTYLEA lpfnStyle;
- LPFNCCSIZETOTEXTA lpfnSizeToText;
- DWORD dwReserved1;
- DWORD dwReserved2;
-} CCINFOA,*LPCCINFOA;
-typedef UINT(CALLBACK* LPFNCCINFOA)(LPCCINFOA);
-typedef BOOL(CALLBACK* LPFNCCSTYLEW)(HWND,LPCCSTYLEW);
-typedef INT (CALLBACK* LPFNCCSIZETOTEXTW)(DWORD,DWORD,HFONT,LPWSTR);
-typedef struct tagCCINFOW {
- WCHAR szClass[CCHCCCLASS];
- DWORD flOptions;
- WCHAR szDesc[CCHCCDESC];
- UINT cxDefault;
- UINT cyDefault;
- DWORD flStyleDefault;
- DWORD flExtStyleDefault;
- DWORD flCtrlTypeMask;
- WCHAR szTextDefault[CCHCCTEXT];
- INT cStyleFlags;
- LPCCSTYLEFLAGW aStyleFlags;
- LPFNCCSTYLEW lpfnStyle;
- LPFNCCSIZETOTEXTW lpfnSizeToText;
- DWORD dwReserved1;
- DWORD dwReserved2;
-} CCINFOW,*LPCCINFOW;
-typedef UINT(CALLBACK* LPFNCCINFOW)(LPCCINFOW);
-
-UINT CALLBACK CustomControlInfoA(LPCCINFOA acci);
-UINT CALLBACK CustomControlInfoW(LPCCINFOW acci);
-
-#ifdef UNICODE
-typedef CCSTYLEW CCSTYLE,*LPCCSTYLE;
-typedef CCSTYLEFLAGW CCSTYLEFLAG,*LPCCSTYLEFLAG;
-typedef CCINFOW CCINFO,*LPCCINFO;
-#define LPFNCCSTYLE LPFNCCSTYLEW
-#define LPFNCCSIZETOTEXT LPFNCCSIZETOTEXTW
-#define LPFNCCINFO LPFNCCINFOW
-#else
-typedef CCSTYLEA CCSTYLE,*LPCCSTYLE;
-typedef CCSTYLEFLAGA CCSTYLEFLAG,*LPCCSTYLEFLAG;
-typedef CCINFOA CCINFO,*LPCCINFO;
-#define LPFNCCSTYLE LPFNCCSTYLEA
-#define LPFNCCSIZETOTEXT LPFNCCSIZETOTEXTA
-#define LPFNCCINFO LPFNCCINFOA
-#endif
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/winsup/w32api/include/dbt.h b/winsup/w32api/include/dbt.h
deleted file mode 100644
index 69c15afb9..000000000
--- a/winsup/w32api/include/dbt.h
+++ /dev/null
@@ -1,154 +0,0 @@
-#ifndef _DBT_H
-#define _DBT_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-#define DBT_NO_DISK_SPACE 0x47
-#define DBT_CONFIGMGPRIVATE 0x7FFF
-#define DBT_DEVICEARRIVAL 0x8000
-#define DBT_DEVICEQUERYREMOVE 0x8001
-#define DBT_DEVICEQUERYREMOVEFAILED 0x8002
-#define DBT_DEVICEREMOVEPENDING 0x8003
-#define DBT_DEVICEREMOVECOMPLETE 0x8004
-#define DBT_DEVICETYPESPECIFIC 0x8005
-#define DBT_DEVTYP_OEM 0
-#define DBT_DEVTYP_DEVNODE 1
-#define DBT_DEVTYP_VOLUME 2
-#define DBT_DEVTYP_PORT 3
-#define DBT_DEVTYP_NET 4
-#if (_WIN32_WINDOWS >= 0x0410 || _WIN32_WINNT >= 0x0500)
-#define DBT_DEVTYP_DEVICEINTERFACE 5
-#define DBT_DEVTYP_HANDLE 6
-#endif /* (_WIN32_WINDOWS >= 0x0410 || _WIN32_WINNT >= 0x0500) */
-#define DBT_APPYBEGIN 0
-#define DBT_APPYEND 1
-#define DBT_DEVNODES_CHANGED 7
-#define DBT_QUERYCHANGECONFIG 0x17
-#define DBT_CONFIGCHANGED 0x18
-#define DBT_CONFIGCHANGECANCELED 0x19
-#define DBT_MONITORCHANGE 0x1B
-#define DBT_SHELLLOGGEDON 32
-#define DBT_CONFIGMGAPI32 34
-#define DBT_VXDINITCOMPLETE 35
-#define DBT_VOLLOCKQUERYLOCK 0x8041
-#define DBT_VOLLOCKLOCKTAKEN 0x8042
-#define DBT_VOLLOCKLOCKFAILED 0x8043
-#define DBT_VOLLOCKQUERYUNLOCK 0x8044
-#define DBT_VOLLOCKLOCKRELEASED 0x8045
-#define DBT_VOLLOCKUNLOCKFAILED 0x8046
-#define DBT_USERDEFINED 0xFFFF
-#define DBTF_MEDIA 1
-#define DBTF_NET 2
-
-/* Also defined in winuser.h */
-#define BSM_ALLCOMPONENTS 0
-#define BSM_APPLICATIONS 8
-#define BSM_ALLDESKTOPS 16
-#define BSM_INSTALLABLEDRIVERS 4
-#define BSM_NETDRIVER 2
-#define BSM_VXDS 1
-#define BSF_FLUSHDISK 0x00000004
-#define BSF_FORCEIFHUNG 0x00000020
-#define BSF_IGNORECURRENTTASK 0x00000002
-#define BSF_NOHANG 0x00000008
-#define BSF_NOTIMEOUTIFNOTHUNG 0x00000040
-#define BSF_POSTMESSAGE 0x00000010
-#define BSF_QUERY 0x00000001
-#if (_WIN32_WINNT >= 0x0500)
-#define BSF_ALLOWSFW 0x00000080
-#define BSF_SENDNOTIFYMESSAGE 0x00000100
-#endif /* (_WIN32_WINNT >= 0x0500) */
-#if (_WIN32_WINNT >= 0x0501)
-#define BSF_LUID 0x00000400
-#define BSF_RETURNHDESK 0x00000200
-#endif /* (_WIN32_WINNT >= 0x0501) */
-
-#define BSF_MSGSRV32ISOK_BIT 31
-#define BSF_MSGSRV32ISOK 0x80000000
-
-typedef struct _DEV_BROADCAST_HDR {
- DWORD dbch_size;
- DWORD dbch_devicetype;
- DWORD dbch_reserved;
-} DEV_BROADCAST_HDR,*PDEV_BROADCAST_HDR;
-typedef struct _DEV_BROADCAST_OEM {
- DWORD dbco_size;
- DWORD dbco_devicetype;
- DWORD dbco_reserved;
- DWORD dbco_identifier;
- DWORD dbco_suppfunc;
-} DEV_BROADCAST_OEM,*PDEV_BROADCAST_OEM;
-typedef struct _DEV_BROADCAST_PORT_A {
- DWORD dbcp_size;
- DWORD dbcp_devicetype;
- DWORD dbcp_reserved;
- char dbcp_name[1];
-} DEV_BROADCAST_PORT_A, *PDEV_BROADCAST_PORT_A;
-typedef struct _DEV_BROADCAST_PORT_W {
- DWORD dbcp_size;
- DWORD dbcp_devicetype;
- DWORD dbcp_reserved;
- wchar_t dbcp_name[1];
-} DEV_BROADCAST_PORT_W, *PDEV_BROADCAST_PORT_W;
-typedef struct _DEV_BROADCAST_USERDEFINED {
- struct _DEV_BROADCAST_HDR dbud_dbh;
- char dbud_szName[1];
-} DEV_BROADCAST_USERDEFINED;
-typedef struct _DEV_BROADCAST_VOLUME {
- DWORD dbcv_size;
- DWORD dbcv_devicetype;
- DWORD dbcv_reserved;
- DWORD dbcv_unitmask;
- WORD dbcv_flags;
-} DEV_BROADCAST_VOLUME,*PDEV_BROADCAST_VOLUME;
-
-#ifdef UNICODE
-typedef DEV_BROADCAST_PORT_W DEV_BROADCAST_PORT, *PDEV_BROADCAST_PORT;
-#else
-typedef DEV_BROADCAST_PORT_A DEV_BROADCAST_PORT, *PDEV_BROADCAST_PORT;
-#endif
-
-#if (_WIN32_WINDOWS >= 0x0410 || _WIN32_WINNT >= 0x0500)
-typedef struct _DEV_BROADCAST_DEVICEINTERFACE_A {
- DWORD dbcc_size;
- DWORD dbcc_devicetype;
- DWORD dbcc_reserved;
- GUID dbcc_classguid;
- char dbcc_name[1];
-} DEV_BROADCAST_DEVICEINTERFACE_A, *PDEV_BROADCAST_DEVICEINTERFACE_A;
-typedef struct _DEV_BROADCAST_DEVICEINTERFACE_W {
- DWORD dbcc_size;
- DWORD dbcc_devicetype;
- DWORD dbcc_reserved;
- GUID dbcc_classguid;
- wchar_t dbcc_name[1];
-} DEV_BROADCAST_DEVICEINTERFACE_W, *PDEV_BROADCAST_DEVICEINTERFACE_W;
-
-#ifdef UNICODE
-typedef DEV_BROADCAST_DEVICEINTERFACE_W DEV_BROADCAST_DEVICEINTERFACE;
-typedef PDEV_BROADCAST_DEVICEINTERFACE_W PDEV_BROADCAST_DEVICEINTERFACE;
-#else
-typedef DEV_BROADCAST_DEVICEINTERFACE_A DEV_BROADCAST_DEVICEINTERFACE;
-typedef PDEV_BROADCAST_DEVICEINTERFACE_A PDEV_BROADCAST_DEVICEINTERFACE;
-#endif
-
-typedef struct _DEV_BROADCAST_HANDLE {
- DWORD dbch_size;
- DWORD dbch_devicetype;
- DWORD dbch_reserved;
- HANDLE dbch_handle;
- DWORD dbch_hdevnotify;
- GUID dbch_eventguid;
- LONG dbch_nameoffset;
- BYTE dbch_data[1];
-} DEV_BROADCAST_HANDLE, *PDEV_BROADCAST_HANDLE;
-#endif /* (_WIN32_WINDOWS >= 0x0410 || _WIN32_WINNT >= 0x0500) */
-
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/winsup/w32api/include/dde.h b/winsup/w32api/include/dde.h
deleted file mode 100644
index b13e9ce39..000000000
--- a/winsup/w32api/include/dde.h
+++ /dev/null
@@ -1,64 +0,0 @@
-#ifndef _DDE_H
-#define _DDE_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-#define WM_DDE_FIRST 0x03E0
-#define WM_DDE_INITIATE (WM_DDE_FIRST)
-#define WM_DDE_TERMINATE (WM_DDE_FIRST+1)
-#define WM_DDE_ADVISE (WM_DDE_FIRST+2)
-#define WM_DDE_UNADVISE (WM_DDE_FIRST+3)
-#define WM_DDE_ACK (WM_DDE_FIRST+4)
-#define WM_DDE_DATA (WM_DDE_FIRST+5)
-#define WM_DDE_REQUEST (WM_DDE_FIRST+6)
-#define WM_DDE_POKE (WM_DDE_FIRST+7)
-#define WM_DDE_EXECUTE (WM_DDE_FIRST+8)
-#define WM_DDE_LAST (WM_DDE_FIRST+8)
-
-#ifndef RC_INVOKED
-typedef struct {
- unsigned short bAppReturnCode:8,reserved:6,fBusy:1,fAck:1;
-} DDEACK;
-typedef struct {
- unsigned short reserved:14,fDeferUpd:1,fAckReq:1;
- short cfFormat;
-} DDEADVISE;
-typedef struct {
- unsigned short unused:12,fResponse:1,fRelease:1,reserved:1,fAckReq:1;
- short cfFormat;
- BYTE Value[1];
-} DDEDATA;
-typedef struct {
- unsigned short unused:13,fRelease:1,fReserved:2;
- short cfFormat;
- BYTE Value[1];
-} DDEPOKE;
-typedef struct {
- unsigned short unused:13,
- fRelease:1,
- fDeferUpd:1,
- fAckReq:1;
- short cfFormat;
-} DDELN;
-
-typedef struct {
- unsigned short unused:12,fAck:1,fRelease:1,fReserved:1,fAckReq:1;
- short cfFormat;
- BYTE rgb[1];
-} DDEUP;
-BOOL WINAPI DdeSetQualityOfService(HWND,const SECURITY_QUALITY_OF_SERVICE*,PSECURITY_QUALITY_OF_SERVICE);
-BOOL WINAPI ImpersonateDdeClientWindow(HWND,HWND);
-LPARAM WINAPI PackDDElParam(UINT,UINT_PTR,UINT_PTR);
-BOOL WINAPI UnpackDDElParam(UINT,LPARAM,PUINT_PTR,PUINT_PTR);
-BOOL WINAPI FreeDDElParam(UINT,LPARAM);
-LPARAM WINAPI ReuseDDElParam(LPARAM,UINT,UINT,UINT_PTR,UINT_PTR);
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/winsup/w32api/include/ddeml.h b/winsup/w32api/include/ddeml.h
deleted file mode 100644
index 6ae3bc12e..000000000
--- a/winsup/w32api/include/ddeml.h
+++ /dev/null
@@ -1,314 +0,0 @@
-#ifndef _DDEML_H
-#define _DDEML_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define EXPENTRY CALLBACK
-#define CP_WINANSI 1004
-#define CP_WINUNICODE 1200
-#define XTYPF_NOBLOCK 2
-#define XTYPF_NODATA 4
-#define XTYPF_ACKREQ 8
-#define XCLASS_MASK 0xFC00
-#define XCLASS_BOOL 0x1000
-#define XCLASS_DATA 0x2000
-#define XCLASS_FLAGS 0x4000
-#define XCLASS_NOTIFICATION 0x8000
-#define XST_NULL 0
-#define XST_INCOMPLETE 1
-#define XST_CONNECTED 2
-#define XST_INIT1 3
-#define XST_INIT2 4
-#define XST_REQSENT 5
-#define XST_DATARCVD 6
-#define XST_POKESENT 7
-#define XST_POKEACKRCVD 8
-#define XST_EXECSENT 9
-#define XST_EXECACKRCVD 10
-#define XST_ADVSENT 11
-#define XST_UNADVSENT 12
-#define XST_ADVACKRCVD 13
-#define XST_UNADVACKRCVD 14
-#define XST_ADVDATASENT 15
-#define XST_ADVDATAACKRCVD 16
-#define XTYP_ERROR (XCLASS_NOTIFICATION|XTYPF_NOBLOCK)
-#define XTYP_ADVDATA (16|XCLASS_FLAGS)
-#define XTYP_ADVREQ (32|XCLASS_DATA|XTYPF_NOBLOCK)
-#define XTYP_ADVSTART (0x30|XCLASS_BOOL)
-#define XTYP_ADVSTOP (0x0040|XCLASS_NOTIFICATION)
-#define XTYP_EXECUTE (0x0050|XCLASS_FLAGS)
-#define XTYP_CONNECT (0x0060|XCLASS_BOOL|XTYPF_NOBLOCK)
-#define XTYP_CONNECT_CONFIRM (0x0070|XCLASS_NOTIFICATION|XTYPF_NOBLOCK)
-#define XTYP_XACT_COMPLETE (0x0080|XCLASS_NOTIFICATION)
-#define XTYP_POKE (0x0090|XCLASS_FLAGS)
-#define XTYP_REGISTER (0x00A0|XCLASS_NOTIFICATION|XTYPF_NOBLOCK)
-#define XTYP_REQUEST (0x00B0|XCLASS_DATA)
-#define XTYP_DISCONNECT (0x00C0|XCLASS_NOTIFICATION|XTYPF_NOBLOCK)
-#define XTYP_UNREGISTER (0x00D0|XCLASS_NOTIFICATION|XTYPF_NOBLOCK)
-#define XTYP_WILDCONNECT (0x00E0|XCLASS_DATA|XTYPF_NOBLOCK)
-#define XTYP_MASK 0xF0
-#define XTYP_SHIFT 4
-#define TIMEOUT_ASYNC 0xFFFFFFFF
-#define QID_SYNC 0xFFFFFFFF
-#define ST_CONNECTED 1
-#define ST_ADVISE 2
-#define ST_ISLOCAL 4
-#define ST_BLOCKED 8
-#define ST_CLIENT 16
-#define ST_TERMINATED 32
-#define ST_INLIST 64
-#define ST_BLOCKNEXT 128
-#define ST_ISSELF 256
-#define CADV_LATEACK 0xFFFF
-#define DMLERR_NO_ERROR 0
-#define DMLERR_FIRST 0x4000
-#define DMLERR_ADVACKTIMEOUT 0x4000
-#define DMLERR_BUSY 0x4001
-#define DMLERR_DATAACKTIMEOUT 0x4002
-#define DMLERR_DLL_NOT_INITIALIZED 0x4003
-#define DMLERR_DLL_USAGE 0x4004
-#define DMLERR_EXECACKTIMEOUT 0x4005
-#define DMLERR_INVALIDPARAMETER 0x4006
-#define DMLERR_LOW_MEMORY 0x4007
-#define DMLERR_MEMORY_ERROR 0x4008
-#define DMLERR_NOTPROCESSED 0x4009
-#define DMLERR_NO_CONV_ESTABLISHED 0x400a
-#define DMLERR_POKEACKTIMEOUT 0x400b
-#define DMLERR_POSTMSG_FAILED 0x400c
-#define DMLERR_REENTRANCY 0x400d
-#define DMLERR_SERVER_DIED 0x400e
-#define DMLERR_SYS_ERROR 0x400f
-#define DMLERR_UNADVACKTIMEOUT 0x4010
-#define DMLERR_UNFOUND_QUEUE_ID 0x4011
-#define DMLERR_LAST 0x4011
-#define DDE_FACK 0x8000
-#define DDE_FBUSY 0x4000
-#define DDE_FDEFERUPD 0x4000
-#define DDE_FACKREQ 0x8000
-#define DDE_FRELEASE 0x2000
-#define DDE_FREQUESTED 0x1000
-#define DDE_FAPPSTATUS 0x00ff
-#define DDE_FNOTPROCESSED 0
-#define DDE_FACKRESERVED (~(DDE_FACK|DDE_FBUSY|DDE_FAPPSTATUS))
-#define DDE_FADVRESERVED (~(DDE_FACKREQ|DDE_FDEFERUPD))
-#define DDE_FDATRESERVED (~(DDE_FACKREQ|DDE_FRELEASE|DDE_FREQUESTED))
-#define DDE_FPOKRESERVED (~DDE_FRELEASE)
-#define MSGF_DDEMGR 0x8001
-#define CBR_BLOCK ((HDDEDATA)0xffffffff)
-#define CBF_FAIL_SELFCONNECTIONS 0x1000
-#define CBF_FAIL_CONNECTIONS 0x2000
-#define CBF_FAIL_ADVISES 0x4000
-#define CBF_FAIL_EXECUTES 0x8000
-#define CBF_FAIL_POKES 0x10000
-#define CBF_FAIL_REQUESTS 0x20000
-#define CBF_FAIL_ALLSVRXACTIONS 0x3f000
-#define CBF_SKIP_CONNECT_CONFIRMS 0x40000
-#define CBF_SKIP_REGISTRATIONS 0x80000
-#define CBF_SKIP_UNREGISTRATIONS 0x100000
-#define CBF_SKIP_DISCONNECTS 0x200000
-#define CBF_SKIP_ALLNOTIFICATIONS 0x3c0000
-#define APPCMD_CLIENTONLY 0x10L
-#define APPCMD_FILTERINITS 0x20L
-#define APPCMD_MASK 0xFF0L
-#define APPCLASS_STANDARD 0
-#define APPCLASS_MASK 0xFL
-#define EC_ENABLEALL 0
-#define EC_ENABLEONE ST_BLOCKNEXT
-#define EC_DISABLE ST_BLOCKED
-#define EC_QUERYWAITING 2
-#define DNS_REGISTER 1
-#define DNS_UNREGISTER 2
-#define DNS_FILTERON 4
-#define DNS_FILTEROFF 8
-#define HDATA_APPOWNED 1
-#define MAX_MONITORS 4
-#define APPCLASS_MONITOR 1L
-#define XTYP_MONITOR (XCLASS_NOTIFICATION|XTYPF_NOBLOCK|0xF0)
-#define MF_HSZ_INFO 0x1000000
-#define MF_SENDMSGS 0x2000000
-#define MF_POSTMSGS 0x4000000
-#define MF_CALLBACKS 0x8000000
-#define MF_ERRORS 0x10000000
-#define MF_LINKS 0x20000000
-#define MF_CONV 0x40000000
-#define MF_MASK 0xFF000000
-#define MH_CREATE 1
-#define MH_KEEP 2
-#define MH_DELETE 3
-#define MH_CLEANUP 4
-
-DECLARE_HANDLE(HCONVLIST);
-DECLARE_HANDLE(HCONV);
-DECLARE_HANDLE(HSZ);
-DECLARE_HANDLE(HDDEDATA);
-typedef HDDEDATA CALLBACK FNCALLBACK(UINT,UINT,HCONV,HSZ,HSZ,HDDEDATA,DWORD,DWORD);
-typedef HDDEDATA(CALLBACK *PFNCALLBACK)(UINT,UINT,HCONV,HSZ,HSZ,HDDEDATA,DWORD,DWORD);
-typedef struct tagHSZPAIR {
- HSZ hszSvc;
- HSZ hszTopic;
-} HSZPAIR, *PHSZPAIR;
-typedef struct tagCONVCONTEXT {
- UINT cb;
- UINT wFlags;
- UINT wCountryID;
- int iCodePage;
- DWORD dwLangID;
- DWORD dwSecurity;
- SECURITY_QUALITY_OF_SERVICE qos;
-} CONVCONTEXT,*PCONVCONTEXT;
-typedef struct tagCONVINFO {
- DWORD cb;
- DWORD hUser;
- HCONV hConvPartner;
- HSZ hszSvcPartner;
- HSZ hszServiceReq;
- HSZ hszTopic;
- HSZ hszItem;
- UINT wFmt;
- UINT wType;
- UINT wStatus;
- UINT wConvst;
- UINT wLastError;
- HCONVLIST hConvList;
- CONVCONTEXT ConvCtxt;
- HWND hwnd;
- HWND hwndPartner;
-} CONVINFO,*PCONVINFO;
-typedef struct tagDDEML_MSG_HOOK_DATA {
- UINT uiLo;
- UINT uiHi;
- DWORD cbData;
- DWORD Data[8];
-} DDEML_MSG_HOOK_DATA;
-typedef struct tagMONHSZSTRUCT {
- UINT cb;
- BOOL fsAction;
- DWORD dwTime;
- HSZ hsz;
- HANDLE hTask;
- TCHAR str[1];
-} MONHSZSTRUCT, *PMONHSZSTRUCT;
-typedef struct tagMONLINKSTRUCT {
- UINT cb;
- DWORD dwTime;
- HANDLE hTask;
- BOOL fEstablished;
- BOOL fNoData;
- HSZ hszSvc;
- HSZ hszTopic;
- HSZ hszItem;
- UINT wFmt;
- BOOL fServer;
- HCONV hConvServer;
- HCONV hConvClient;
-} MONLINKSTRUCT, *PMONLINKSTRUCT;
-typedef struct tagMONCONVSTRUCT {
- UINT cb;
- BOOL fConnect;
- DWORD dwTime;
- HANDLE hTask;
- HSZ hszSvc;
- HSZ hszTopic;
- HCONV hConvClient;
- HCONV hConvServer;
-} MONCONVSTRUCT, *PMONCONVSTRUCT;
-typedef struct tagMONCBSTRUCT {
- UINT cb;
- DWORD dwTime;
- HANDLE hTask;
- DWORD dwRet;
- UINT wType;
- UINT wFmt;
- HCONV hConv;
- HSZ hsz1;
- HSZ hsz2;
- HDDEDATA hData;
- ULONG_PTR dwData1;
- ULONG_PTR dwData2;
- CONVCONTEXT cc;
- DWORD cbData;
- DWORD Data[8];
-} MONCBSTRUCT, *PMONCBSTRUCT;
-typedef struct tagMONERRSTRUCT {
- UINT cb;
- UINT wLastError;
- DWORD dwTime;
- HANDLE hTask;
-} MONERRSTRUCT, *PMONERRSTRUCT;
-typedef struct tagMONMSGSTRUCT {
- UINT cb;
- HWND hwndTo;
- DWORD dwTime;
- HANDLE hTask;
- UINT wMsg;
- WPARAM wParam;
- LPARAM lParam;
- DDEML_MSG_HOOK_DATA dmhd;
-} MONMSGSTRUCT, *PMONMSGSTRUCT;
-
-BOOL WINAPI DdeAbandonTransaction(DWORD,HCONV,DWORD);
-PBYTE WINAPI DdeAccessData(HDDEDATA,PDWORD);
-HDDEDATA WINAPI DdeAddData(HDDEDATA,PBYTE,DWORD,DWORD);
-HDDEDATA WINAPI DdeClientTransaction(PBYTE,DWORD,HCONV,HSZ,UINT,UINT,DWORD,PDWORD);
-int WINAPI DdeCmpStringHandles(HSZ,HSZ);
-HCONV WINAPI DdeConnect(DWORD,HSZ,HSZ,PCONVCONTEXT);
-HCONVLIST WINAPI DdeConnectList(DWORD,HSZ,HSZ,HCONVLIST,PCONVCONTEXT);
-HDDEDATA WINAPI DdeCreateDataHandle(DWORD,PBYTE,DWORD,DWORD,HSZ,UINT,UINT);
-HSZ WINAPI DdeCreateStringHandleA(DWORD,LPSTR,int);
-HSZ WINAPI DdeCreateStringHandleW(DWORD,LPWSTR,int);
-BOOL WINAPI DdeDisconnect(HCONV);
-BOOL WINAPI DdeDisconnectList(HCONVLIST);
-BOOL WINAPI DdeEnableCallback(DWORD,HCONV,UINT);
-BOOL WINAPI DdeFreeDataHandle(HDDEDATA);
-BOOL WINAPI DdeFreeStringHandle(DWORD,HSZ);
-DWORD WINAPI DdeGetData(HDDEDATA,PBYTE,DWORD,DWORD);
-UINT WINAPI DdeGetLastError(DWORD);
-BOOL WINAPI DdeImpersonateClient(HCONV);
-UINT WINAPI DdeInitializeA(PDWORD,PFNCALLBACK,DWORD,DWORD);
-UINT WINAPI DdeInitializeW(PDWORD,PFNCALLBACK,DWORD,DWORD);
-BOOL WINAPI DdeKeepStringHandle(DWORD,HSZ);
-HDDEDATA WINAPI DdeNameService(DWORD,HSZ,HSZ,UINT);
-BOOL WINAPI DdePostAdvise(DWORD,HSZ,HSZ);
-UINT WINAPI DdeQueryConvInfo(HCONV,DWORD,PCONVINFO);
-HCONV WINAPI DdeQueryNextServer(HCONVLIST,HCONV);
-DWORD WINAPI DdeQueryStringA(DWORD,HSZ,LPSTR,DWORD,int);
-DWORD WINAPI DdeQueryStringW(DWORD,HSZ,LPWSTR,DWORD,int);
-HCONV WINAPI DdeReconnect(HCONV);
-BOOL WINAPI DdeSetUserHandle(HCONV,DWORD,DWORD);
-BOOL WINAPI DdeUnaccessData(HDDEDATA);
-BOOL WINAPI DdeUninitialize(DWORD);
-
-#ifdef UNICODE
-#define SZDDESYS_TOPIC L"System"
-#define SZDDESYS_ITEM_TOPICS L"Topics"
-#define SZDDESYS_ITEM_SYSITEMS L"SysItems"
-#define SZDDESYS_ITEM_RTNMSG L"ReturnMessage"
-#define SZDDESYS_ITEM_STATUS L"Status"
-#define SZDDESYS_ITEM_FORMATS L"Formats"
-#define SZDDESYS_ITEM_HELP L"Help"
-#define SZDDE_ITEM_ITEMLIST L"TopicItemList"
-#define DdeCreateStringHandle DdeCreateStringHandleW
-#define DdeInitialize DdeInitializeW
-#define DdeQueryString DdeQueryStringW
-#else
-#define SZDDESYS_TOPIC "System"
-#define SZDDESYS_ITEM_TOPICS "Topics"
-#define SZDDESYS_ITEM_SYSITEMS "SysItems"
-#define SZDDESYS_ITEM_RTNMSG "ReturnMessage"
-#define SZDDESYS_ITEM_STATUS "Status"
-#define SZDDESYS_ITEM_FORMATS "Formats"
-#define SZDDESYS_ITEM_HELP "Help"
-#define SZDDE_ITEM_ITEMLIST "TopicItemList"
-#define DdeCreateStringHandle DdeCreateStringHandleA
-#define DdeInitialize DdeInitializeA
-#define DdeQueryString DdeQueryStringA
-#endif
-#ifdef __cplusplus
-}
-#endif
-#endif /* _DDEML_H */
diff --git a/winsup/w32api/include/ddk/atm.h b/winsup/w32api/include/ddk/atm.h
deleted file mode 100644
index d30229385..000000000
--- a/winsup/w32api/include/ddk/atm.h
+++ /dev/null
@@ -1,507 +0,0 @@
-/*
- * atm.h
- *
- * ATM support
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- * Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __ATM_H
-#define __ATM_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-typedef ULONG ATM_ADDRESSTYPE;
-
-#define SAP_TYPE_NSAP 1
-#define SAP_TYPE_E164 2
-
-#define ATM_MEDIA_SPECIFIC 1
-
-#define CALLMGR_SPECIFIC_Q2931 1
-
-#define ATM_NSAP 0
-#define ATM_E164 1
-
-#define ATM_MAC_ADDRESS_LENGTH 6
-#define ATM_ADDRESS_LENGTH 20
-
-typedef ULONG ATM_AAL_TYPE, *PATM_AAL_TYPE;
-
-#define AAL_TYPE_AAL0 1
-#define AAL_TYPE_AAL1 2
-#define AAL_TYPE_AAL34 4
-#define AAL_TYPE_AAL5 8
-
-#define ATM_ADDR_BLANK_CHAR L' '
-#define ATM_ADDR_E164_START_CHAR L'+'
-#define ATM_ADDR_PUNCTUATION_CHAR L'.'
-
-typedef enum {
- IE_AALParameters,
- IE_TrafficDescriptor,
- IE_BroadbandBearerCapability,
- IE_BHLI,
- IE_BLLI,
- IE_CalledPartyNumber,
- IE_CalledPartySubaddress,
- IE_CallingPartyNumber,
- IE_CallingPartySubaddress,
- IE_Cause,
- IE_QOSClass,
- IE_TransitNetworkSelection,
- IE_BroadbandSendingComplete,
- IE_LIJCallId,
- IE_Raw
-} Q2931_IE_TYPE;
-
-typedef struct _Q2931_IE {
- Q2931_IE_TYPE IEType;
- ULONG IELength;
- UCHAR IE[1];
-} Q2931_IE, *PQ2931_IE;
-
-typedef struct _AAL1_PARAMETERS {
- UCHAR Subtype;
- UCHAR CBRRate;
- USHORT Multiplier;
- UCHAR SourceClockRecoveryMethod;
- UCHAR ErrorCorrectionMethod;
- USHORT StructuredDataTransferBlocksize;
- UCHAR PartiallyFilledCellsMethod;
-} AAL1_PARAMETERS, *PAAL1_PARAMETERS;
-
-typedef struct _AAL34_PARAMETERS {
- USHORT ForwardMaxCPCSSDUSize;
- USHORT BackwardMaxCPCSSDUSize;
- USHORT LowestMID;
- USHORT HighestMID;
- UCHAR SSCSType;
-} AAL34_PARAMETERS, *PAAL34_PARAMETERS;
-
-/* AAL5_PARAMETERS.Mode constants */
-#define AAL5_MODE_MESSAGE 0x01
-#define AAL5_MODE_STREAMING 0x02
-
-/* AAL5_PARAMETERS.SSCSType constants */
-#define AAL5_SSCS_NULL 0x00
-#define AAL5_SSCS_SSCOP_ASSURED 0x01
-#define AAL5_SSCS_SSCOP_NON_ASSURED 0x02
-#define AAL5_SSCS_FRAME_RELAY 0x04
-
-typedef struct _AAL5_PARAMETERS {
- ULONG ForwardMaxCPCSSDUSize;
- ULONG BackwardMaxCPCSSDUSize;
- UCHAR Mode;
- UCHAR SSCSType;
-} AAL5_PARAMETERS, *PAAL5_PARAMETERS;
-
-typedef struct _AALUSER_PARAMETERS {
- ULONG UserDefined;
-} AALUSER_PARAMETERS, *PAALUSER_PARAMETERS;
-
-typedef struct _AAL_PARAMETERS_IE {
- ATM_AAL_TYPE AALType;
- union {
- AAL1_PARAMETERS AAL1Parameters;
- AAL34_PARAMETERS AAL34Parameters;
- AAL5_PARAMETERS AAL5Parameters;
- AALUSER_PARAMETERS AALUserParameters;
- } AALSpecificParameters;
-} AAL_PARAMETERS_IE, *PAAL_PARAMETERS_IE;
-
-
-/* FIXME: Should the union be anonymous in C++ too? If so,
- can't define named types _ATM_AAL5_INFO and _ATM_AAL0_INFO
- within anonymous union for C++. */
-typedef struct _ATM_AAL_OOB_INFO
-{
- ATM_AAL_TYPE AalType;
-#ifndef __cplusplus
- _ANONYMOUS_UNION
-#endif
- union {
- struct _ATM_AAL5_INFO {
- BOOLEAN CellLossPriority;
- UCHAR UserToUserIndication;
- UCHAR CommonPartIndicator;
- } ATM_AAL5_INFO;
-
- struct _ATM_AAL0_INFO {
- BOOLEAN CellLossPriority;
- UCHAR PayLoadTypeIdentifier;
- } ATM_AAL0_INFO;
-#ifndef __cplusplus
- } DUMMYUNIONNAME;
-#else
- } u;
-#endif
-} ATM_AAL_OOB_INFO, *PATM_AAL_OOB_INFO;
-
-typedef struct _ATM_ADDRESS {
- ATM_ADDRESSTYPE AddressType;
- ULONG NumberOfDigits;
- UCHAR Address[ATM_ADDRESS_LENGTH];
-} ATM_ADDRESS, *PATM_ADDRESS;
-
-/* ATM_BHLI_IE.HighLayerInfoType constants */
-#define BHLI_ISO 0x00
-#define BHLI_UserSpecific 0x01
-#define BHLI_HighLayerProfile 0x02
-#define BHLI_VendorSpecificAppId 0x03
-
-typedef struct _ATM_BHLI_IE {
- ULONG HighLayerInfoType;
- ULONG HighLayerInfoLength;
- UCHAR HighLayerInfo[8];
-} ATM_BHLI_IE, *PATM_BHLI_IE;
-
-/* ATM_BLLI_IE.Layer2Protocol constants */
-#define BLLI_L2_ISO_1745 0x01
-#define BLLI_L2_Q921 0x02
-#define BLLI_L2_X25L 0x06
-#define BLLI_L2_X25M 0x07
-#define BLLI_L2_ELAPB 0x08
-#define BLLI_L2_HDLC_ARM 0x09
-#define BLLI_L2_HDLC_NRM 0x0A
-#define BLLI_L2_HDLC_ABM 0x0B
-#define BLLI_L2_LLC 0x0C
-#define BLLI_L2_X75 0x0D
-#define BLLI_L2_Q922 0x0E
-#define BLLI_L2_USER_SPECIFIED 0x10
-#define BLLI_L2_ISO_7776 0x11
-
-/* ATM_BLLI_IE.Layer3Protocol constants */
-#define BLLI_L3_X25 0x06
-#define BLLI_L3_ISO_8208 0x07
-#define BLLI_L3_X223 0x08
-#define BLLI_L3_SIO_8473 0x09
-#define BLLI_L3_T70 0x0A
-#define BLLI_L3_ISO_TR9577 0x0B
-#define BLLI_L3_USER_SPECIFIED 0x10
-
-/* ATM_BLLI_IE.Layer3IPI constants */
-#define BLLI_L3_IPI_SNAP 0x80
-#define BLLI_L3_IPI_IP 0xCC
-
-typedef struct _ATM_BLLI_IE {
- ULONG Layer2Protocol;
- UCHAR Layer2Mode;
- UCHAR Layer2WindowSize;
- ULONG Layer2UserSpecifiedProtocol;
- ULONG Layer3Protocol;
- UCHAR Layer3Mode;
- UCHAR Layer3DefaultPacketSize;
- UCHAR Layer3PacketWindowSize;
- ULONG Layer3UserSpecifiedProtocol;
- ULONG Layer3IPI;
- UCHAR SnapId[5];
-} ATM_BLLI_IE, *PATM_BLLI_IE;
-
-/* ATM_BROADBAND_BEARER_CAPABILITY_IE.BearerClass constants */
-#define BCOB_A 0x00
-#define BCOB_C 0x01
-#define BCOB_X 0x02
-
-/* ATM_BROADBAND_BEARER_CAPABILITY_IE.TrafficType constants */
-#define TT_NOIND 0x00
-#define TT_CBR 0x04
-#define TT_VBR 0x08
-
-/* ATM_BROADBAND_BEARER_CAPABILITY_IE.TimingRequirements constants */
-#define TR_NOIND 0x00
-#define TR_END_TO_END 0x01
-#define TR_NO_END_TO_END 0x02
-
-/* ATM_BROADBAND_BEARER_CAPABILITY_IE.ClippingSusceptability constants */
-#define CLIP_NOT 0x00
-#define CLIP_SUS 0x20
-
-/* ATM_BROADBAND_BEARER_CAPABILITY_IE.UserPlaneConnectionConfig constants */
-#define UP_P2P 0x00
-#define UP_P2MP 0x01
-
-typedef struct _ATM_BROADBAND_BEARER_CAPABILITY_IE {
- UCHAR BearerClass;
- UCHAR TrafficType;
- UCHAR TimingRequirements;
- UCHAR ClippingSusceptability;
- UCHAR UserPlaneConnectionConfig;
-} ATM_BROADBAND_BEARER_CAPABILITY_IE, *PATM_BROADBAND_BEARER_CAPABILITY_IE;
-
-typedef struct _ATM_BROADBAND_SENDING_COMPLETE_IE {
- UCHAR SendingComplete;
-} ATM_BROADBAND_SENDING_COMPLETE_IE, *PATM_BROADBAND_SENDING_COMPLETE_IE;
-
-typedef struct _ATM_CALLING_PARTY_NUMBER_IE {
- ATM_ADDRESS Number;
- UCHAR PresentationIndication;
- UCHAR ScreeningIndicator;
-} ATM_CALLING_PARTY_NUMBER_IE, *PATM_CALLING_PARTY_NUMBER_IE;
-
-/* ATM_CAUSE_IE.Location constants */
-#define ATM_CAUSE_LOC_USER 0x00
-#define ATM_CAUSE_LOC_PRIVATE_LOCAL 0x01
-#define ATM_CAUSE_LOC_PUBLIC_LOCAL 0x02
-#define ATM_CAUSE_LOC_TRANSIT_NETWORK 0x03
-#define ATM_CAUSE_LOC_PUBLIC_REMOTE 0x04
-#define ATM_CAUSE_LOC_PRIVATE_REMOTE 0x05
-#define ATM_CAUSE_LOC_INTERNATIONAL_NETWORK 0x07
-#define ATM_CAUSE_LOC_BEYOND_INTERWORKING 0x0A
-
-/* ATM_CAUSE_IE.Cause constants */
-#define ATM_CAUSE_UNALLOCATED_NUMBER 0x01
-#define ATM_CAUSE_NO_ROUTE_TO_TRANSIT_NETWORK 0x02
-#define ATM_CAUSE_NO_ROUTE_TO_DESTINATION 0x03
-#define ATM_CAUSE_VPI_VCI_UNACCEPTABLE 0x0A
-#define ATM_CAUSE_NORMAL_CALL_CLEARING 0x10
-#define ATM_CAUSE_USER_BUSY 0x11
-#define ATM_CAUSE_NO_USER_RESPONDING 0x12
-#define ATM_CAUSE_CALL_REJECTED 0x15
-#define ATM_CAUSE_NUMBER_CHANGED 0x16
-#define ATM_CAUSE_USER_REJECTS_CLIR 0x17
-#define ATM_CAUSE_DESTINATION_OUT_OF_ORDER 0x1B
-#define ATM_CAUSE_INVALID_NUMBER_FORMAT 0x1C
-#define ATM_CAUSE_STATUS_ENQUIRY_RESPONSE 0x1E
-#define ATM_CAUSE_NORMAL_UNSPECIFIED 0x1F
-#define ATM_CAUSE_VPI_VCI_UNAVAILABLE 0x23
-#define ATM_CAUSE_NETWORK_OUT_OF_ORDER 0x26
-#define ATM_CAUSE_TEMPORARY_FAILURE 0x29
-#define ATM_CAUSE_ACCESS_INFORMAION_DISCARDED 0x2B
-#define ATM_CAUSE_NO_VPI_VCI_AVAILABLE 0x2D
-#define ATM_CAUSE_RESOURCE_UNAVAILABLE 0x2F
-#define ATM_CAUSE_QOS_UNAVAILABLE 0x31
-#define ATM_CAUSE_USER_CELL_RATE_UNAVAILABLE 0x33
-#define ATM_CAUSE_BEARER_CAPABILITY_UNAUTHORIZED 0x39
-#define ATM_CAUSE_BEARER_CAPABILITY_UNAVAILABLE 0x3A
-#define ATM_CAUSE_OPTION_UNAVAILABLE 0x3F
-#define ATM_CAUSE_BEARER_CAPABILITY_UNIMPLEMENTED 0x41
-#define ATM_CAUSE_UNSUPPORTED_TRAFFIC_PARAMETERS 0x49
-#define ATM_CAUSE_INVALID_CALL_REFERENCE 0x51
-#define ATM_CAUSE_CHANNEL_NONEXISTENT 0x52
-#define ATM_CAUSE_INCOMPATIBLE_DESTINATION 0x58
-#define ATM_CAUSE_INVALID_ENDPOINT_REFERENCE 0x59
-#define ATM_CAUSE_INVALID_TRANSIT_NETWORK_SELECTION 0x5B
-#define ATM_CAUSE_TOO_MANY_PENDING_ADD_PARTY 0x5C
-#define ATM_CAUSE_AAL_PARAMETERS_UNSUPPORTED 0x5D
-#define ATM_CAUSE_MANDATORY_IE_MISSING 0x60
-#define ATM_CAUSE_UNIMPLEMENTED_MESSAGE_TYPE 0x61
-#define ATM_CAUSE_UNIMPLEMENTED_IE 0x63
-#define ATM_CAUSE_INVALID_IE_CONTENTS 0x64
-#define ATM_CAUSE_INVALID_STATE_FOR_MESSAGE 0x65
-#define ATM_CAUSE_RECOVERY_ON_TIMEOUT 0x66
-#define ATM_CAUSE_INCORRECT_MESSAGE_LENGTH 0x68
-#define ATM_CAUSE_PROTOCOL_ERROR 0x6F
-
-/* ATM_CAUSE_IE.Diagnostics constants */
-#define ATM_CAUSE_COND_UNKNOWN 0x00
-#define ATM_CAUSE_COND_PERMANENT 0x01
-#define ATM_CAUSE_COND_TRANSIENT 0x02
-#define ATM_CAUSE_REASON_USER 0x00
-#define ATM_CAUSE_REASON_IE_MISSING 0x04
-#define ATM_CAUSE_REASON_IE_INSUFFICIENT 0x08
-#define ATM_CAUSE_PU_PROVIDER 0x00
-#define ATM_CAUSE_PU_USER 0x08
-#define ATM_CAUSE_NA_NORMAL 0x00
-#define ATM_CAUSE_NA_ABNORMAL 0x04
-
-typedef struct _ATM_CAUSE_IE {
- UCHAR Location;
- UCHAR Cause;
- UCHAR DiagnosticsLength;
- UCHAR Diagnostics[4];
-} ATM_CAUSE_IE, *PATM_CAUSE_IE;
-
-
-typedef ULONG ATM_SERVICE_CATEGORY, *PATM_SERVICE_CATEGORY;
-
-/* ATM_FLOW_PARAMETERS.ServiceCategory constants */
-#define ATM_SERVICE_CATEGORY_CBR 1
-#define ATM_SERVICE_CATEGORY_VBR 2
-#define ATM_SERVICE_CATEGORY_UBR 4
-#define ATM_SERVICE_CATEGORY_ABR 8
-
-/* ATM_FLOW_PARAMETERS.Reserved1 constants */
-#define ATM_FLOW_PARAMS_RSVD1_MPP 0x01
-
-typedef struct _ATM_FLOW_PARAMETERS {
- ATM_SERVICE_CATEGORY ServiceCategory;
- ULONG AverageCellRate;
- ULONG PeakCellRate;
- ULONG MinimumCellRate;
- ULONG InitialCellRate;
- ULONG BurstLengthCells;
- ULONG MaxSduSize;
- ULONG TransientBufferExposure;
- ULONG CumulativeRMFixedRTT;
- UCHAR RateIncreaseFactor;
- UCHAR RateDecreaseFactor;
- USHORT ACRDecreaseTimeFactor;
- UCHAR MaximumCellsPerForwardRMCell;
- UCHAR MaximumForwardRMCellInterval;
- UCHAR CutoffDecreaseFactor;
- UCHAR Reserved1;
- ULONG MissingRMCellCount;
- ULONG Reserved2;
- ULONG Reserved3;
-} ATM_FLOW_PARAMETERS, *PATM_FLOW_PARAMETERS;
-
-typedef struct _ATM_VPIVCI {
- ULONG Vpi;
- ULONG Vci;
-} ATM_VPIVCI, *PATM_VPIVCI;
-
-typedef struct _ATM_MEDIA_PARAMETERS {
- ATM_VPIVCI ConnectionId;
- ATM_AAL_TYPE AALType;
- ULONG CellDelayVariationCLP0;
- ULONG CellDelayVariationCLP1;
- ULONG CellLossRatioCLP0;
- ULONG CellLossRatioCLP1;
- ULONG CellTransferDelayCLP0;
- ULONG CellTransferDelayCLP1;
- ULONG DefaultCLP;
- ATM_FLOW_PARAMETERS Transmit;
- ATM_FLOW_PARAMETERS Receive;
-} ATM_MEDIA_PARAMETERS, *PATM_MEDIA_PARAMETERS;
-
-typedef struct _ATM_PVC_SAP {
- ATM_BLLI_IE Blli;
- ATM_BHLI_IE Bhli;
-} ATM_PVC_SAP, *PATM_PVC_SAP;
-
-/* ATM_QOS_CLASS_IE constants */
-#define QOS_CLASS0 0x00
-#define QOS_CLASS1 0x01
-#define QOS_CLASS2 0x02
-#define QOS_CLASS3 0x03
-#define QOS_CLASS4 0x04
-
-typedef struct _ATM_QOS_CLASS_IE {
- UCHAR QOSClassForward;
- UCHAR QOSClassBackward;
-} ATM_QOS_CLASS_IE, *PATM_QOS_CLASS_IE;
-
-typedef struct _ATM_RAW_IE {
- ULONG RawIELength;
- ULONG RawIEType;
- UCHAR RawIEValue[1];
-} ATM_RAW_IE, *PATM_RAW_IE;
-
-typedef struct _ATM_SAP {
- ATM_BLLI_IE Blli;
- ATM_BHLI_IE Bhli;
- ULONG NumberOfAddresses;
- UCHAR Addresses[1];
-} ATM_SAP, *PATM_SAP;
-
-typedef struct _ATM_TRAFFIC_DESCRIPTOR {
- ULONG PeakCellRateCLP0;
- ULONG PeakCellRateCLP01;
- ULONG SustainableCellRateCLP0;
- ULONG SustainableCellRateCLP01;
- ULONG MaximumBurstSizeCLP0;
- ULONG MaximumBurstSizeCLP01;
- BOOLEAN BestEffort;
- BOOLEAN Tagging;
-} ATM_TRAFFIC_DESCRIPTOR, *PATM_TRAFFIC_DESCRIPTOR;
-
-typedef struct _ATM_TRAFFIC_DESCRIPTOR_IE {
- ATM_TRAFFIC_DESCRIPTOR ForwardTD;
- ATM_TRAFFIC_DESCRIPTOR BackwardTD;
- BOOLEAN BestEffort;
-} ATM_TRAFFIC_DESCRIPTOR_IE, *PATM_TRAFFIC_DESCRIPTOR_IE;
-
-/* ATM_TRANSIT_NETWORK_SELECTION_IE.TypeOfNetworkId constants */
-#define TNS_TYPE_NATIONAL 0x40
-
-/* ATM_TRANSIT_NETWORK_SELECTION_IE.NetworkIdPlan constants */
-#define TNS_PLAN_CARRIER_ID_CODE 0x01
-
-typedef struct _ATM_TRANSIT_NETWORK_SELECTION_IE {
- UCHAR TypeOfNetworkId;
- UCHAR NetworkIdPlan;
- UCHAR NetworkIdLength;
- UCHAR NetworkId[1];
-} ATM_TRANSIT_NETWORK_SELECTION_IE, *PATM_TRANSIT_NETWORK_SELECTION_IE;
-
-typedef struct _ATM_LIJ_CALLID_IE {
- ULONG Identifier;
-} ATM_LIJ_CALLID_IE, *PATM_LIJ_CALLID_IE;
-
-/* Q2931_ADD_PVC.Flags constants */
-#define CO_FLAG_SIGNALING_VC 0x00000001
-#define CO_FLAG_NO_DEST_SAP 0x00000002
-
-typedef struct _Q2931_ADD_PVC {
- ATM_ADDRESS CalledParty;
- ATM_ADDRESS CallingParty;
- ATM_VPIVCI ConnectionId;
- ATM_AAL_TYPE AALType;
- ATM_FLOW_PARAMETERS ForwardFP;
- ATM_FLOW_PARAMETERS BackwardFP;
- ULONG Flags;
- ATM_PVC_SAP LocalSap;
- ATM_PVC_SAP DestinationSap;
- BOOLEAN LIJIdPresent;
- ATM_LIJ_CALLID_IE LIJId;
-} Q2931_ADD_PVC, *PQ2931_ADD_PVC;
-
-typedef struct _Q2931_DELETE_PVC {
- ATM_VPIVCI ConnectionId;
-} Q2931_DELETE_PVC, *PQ2931_DELETE_PVC;
-
-typedef ATM_ADDRESS ATM_CALLED_PARTY_NUMBER_IE;
-typedef ATM_ADDRESS ATM_CALLED_PARTY_SUBADDRESS_IE;
-typedef ATM_ADDRESS ATM_CALLING_PARTY_SUBADDRESS_IE;
-
-typedef struct _Q2931_CALLMGR_PARAMETERS {
- ATM_ADDRESS CalledParty;
- ATM_ADDRESS CallingParty;
- ULONG InfoElementCount;
- UCHAR InfoElements[1];
-} Q2931_CALLMGR_PARAMETERS, *PQ2931_CALLMGR_PARAMETERS;
-
-typedef struct _ATM_VC_RATES_SUPPORTED {
- ULONG MinCellRate;
- ULONG MaxCellRate;
-} ATM_VC_RATES_SUPPORTED, *PATM_VC_RATES_SUPPORTED;
-
-typedef ULONG ATM_SERVICE_REGISTRY_TYPE;
-
-/* ATM_SERVICE_ADDRESS_LIST.ServiceRegistryType constants */
-#define ATM_SERVICE_REGISTRY_LECS 1
-#define ATM_SERVICE_REGISTRY_ANS 2
-
-typedef struct _ATM_SERVICE_ADDRESS_LIST {
- ATM_SERVICE_REGISTRY_TYPE ServiceRegistryType;
- ULONG NumberOfAddressesAvailable;
- ULONG NumberOfAddressesReturned;
- ATM_ADDRESS Address[1];
-} ATM_SERVICE_ADDRESS_LIST, *PATM_SERVICE_ADDRESS_LIST;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __ATM_H */
diff --git a/winsup/w32api/include/ddk/batclass.h b/winsup/w32api/include/ddk/batclass.h
deleted file mode 100644
index 664472705..000000000
--- a/winsup/w32api/include/ddk/batclass.h
+++ /dev/null
@@ -1,298 +0,0 @@
-/*
- * batclass.h
- *
- * Battery class driver interface
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- * Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __BATCLASS_H
-#define __BATCLASS_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-
-#if defined(_BATTERYCLASS_)
- #define BCLASSAPI DECLSPEC_EXPORT
-#else
- #define BCLASSAPI DECLSPEC_IMPORT
-#endif
-
-
-/* Battery device GUIDs */
-
-DEFINE_GUID(GUID_DEVICE_BATTERY,
- 0x72631e54L, 0x78A4, 0x11d0, 0xbc, 0xf7, 0x00, 0xaa, 0x00, 0xb7, 0xb3, 0x2a);
-
-DEFINE_GUID(BATTERY_STATUS_WMI_GUID,
- 0xfc4670d1, 0xebbf, 0x416e, 0x87, 0xce, 0x37, 0x4a, 0x4e, 0xbc, 0x11, 0x1a);
-
-DEFINE_GUID(BATTERY_RUNTIME_WMI_GUID,
- 0x535a3767, 0x1ac2, 0x49bc, 0xa0, 0x77, 0x3f, 0x7a, 0x02, 0xe4, 0x0a, 0xec);
-
-DEFINE_GUID(BATTERY_TEMPERATURE_WMI_GUID,
- 0x1a52a14d, 0xadce, 0x4a44, 0x9a, 0x3e, 0xc8, 0xd8, 0xf1, 0x5f, 0xf2, 0xc2);
-
-DEFINE_GUID(BATTERY_FULL_CHARGED_CAPACITY_WMI_GUID,
- 0x40b40565, 0x96f7, 0x4435, 0x86, 0x94, 0x97, 0xe0, 0xe4, 0x39, 0x59, 0x05);
-
-DEFINE_GUID(BATTERY_CYCLE_COUNT_WMI_GUID,
- 0xef98db24, 0x0014, 0x4c25, 0xa5, 0x0b, 0xc7, 0x24, 0xae, 0x5c, 0xd3, 0x71);
-
-DEFINE_GUID(BATTERY_STATIC_DATA_WMI_GUID,
- 0x05e1e463, 0xe4e2, 0x4ea9, 0x80, 0xcb, 0x9b, 0xd4, 0xb3, 0xca, 0x06, 0x55);
-
-DEFINE_GUID(BATTERY_STATUS_CHANGE_WMI_GUID,
- 0xcddfa0c3, 0x7c5b, 0x4e43, 0xa0, 0x34, 0x05, 0x9f, 0xa5, 0xb8, 0x43, 0x64);
-
-DEFINE_GUID(BATTERY_TAG_CHANGE_WMI_GUID,
- 0x5e1f6e19, 0x8786, 0x4d23, 0x94, 0xfc, 0x9e, 0x74, 0x6b, 0xd5, 0xd8, 0x88);
-
-
-/* BATTERY_INFORMATION.Capabilities constants */
-#define BATTERY_SET_CHARGE_SUPPORTED 0x00000001
-#define BATTERY_SET_DISCHARGE_SUPPORTED 0x00000002
-#define BATTERY_SET_RESUME_SUPPORTED 0x00000004
-#define BATTERY_IS_SHORT_TERM 0x20000000
-#define BATTERY_CAPACITY_RELATIVE 0x40000000
-#define BATTERY_SYSTEM_BATTERY 0x80000000
-
-typedef struct _BATTERY_INFORMATION {
- ULONG Capabilities;
- UCHAR Technology;
- UCHAR Reserved[3];
- UCHAR Chemistry[4];
- ULONG DesignedCapacity;
- ULONG FullChargedCapacity;
- ULONG DefaultAlert1;
- ULONG DefaultAlert2;
- ULONG CriticalBias;
- ULONG CycleCount;
-} BATTERY_INFORMATION, *PBATTERY_INFORMATION;
-
-typedef struct _BATTERY_MANUFACTURE_DATE {
- UCHAR Day;
- UCHAR Month;
- USHORT Year;
-} BATTERY_MANUFACTURE_DATE, *PBATTERY_MANUFACTURE_DATE;
-
-typedef struct _BATTERY_NOTIFY {
- ULONG PowerState;
- ULONG LowCapacity;
- ULONG HighCapacity;
-} BATTERY_NOTIFY, *PBATTERY_NOTIFY;
-
-/* BATTERY_STATUS.PowerState flags */
-#define BATTERY_POWER_ON_LINE 0x00000001
-#define BATTERY_DISCHARGING 0x00000002
-#define BATTERY_CHARGING 0x00000004
-#define BATTERY_CRITICAL 0x00000008
-
-/* BATTERY_STATUS.Voltage constant */
-#define BATTERY_UNKNOWN_VOLTAGE 0xFFFFFFFF
-
-/* BATTERY_STATUS.Rate constant */
-#define BATTERY_UNKNOWN_RATE 0x80000000
-
-typedef struct _BATTERY_STATUS {
- ULONG PowerState;
- ULONG Capacity;
- ULONG Voltage;
- LONG Rate;
-} BATTERY_STATUS, *PBATTERY_STATUS;
-
-/* BATTERY_INFORMATION.Capacity constants */
-#define BATTERY_UNKNOWN_CAPACITY 0xFFFFFFFF
-
-typedef enum _BATTERY_QUERY_INFORMATION_LEVEL {
- BatteryInformation = 0,
- BatteryGranularityInformation,
- BatteryTemperature,
- BatteryEstimatedTime,
- BatteryDeviceName,
- BatteryManufactureDate,
- BatteryManufactureName,
- BatteryUniqueID,
- BatterySerialNumber
-} BATTERY_QUERY_INFORMATION_LEVEL;
-
-/* BatteryEstimatedTime constant */
-#define BATTERY_UNKNOWN_TIME 0x80000000
-
-/* NTSTATUS possibly returned by BCLASS_QUERY_STATUS */
-#define BATTERY_TAG_INVALID 0
-
-typedef struct _BATTERY_QUERY_INFORMATION {
- ULONG BatteryTag;
- BATTERY_QUERY_INFORMATION_LEVEL InformationLevel;
- LONG AtRate;
-} BATTERY_QUERY_INFORMATION, *PBATTERY_QUERY_INFORMATION;
-
-typedef enum _BATTERY_SET_INFORMATION_LEVEL {
- BatteryCriticalBias = 0,
- BatteryCharge,
- BatteryDischarge
-} BATTERY_SET_INFORMATION_LEVEL;
-
-#define MAX_BATTERY_STRING_SIZE 128
-
-typedef struct _BATTERY_SET_INFORMATION {
- ULONG BatteryTag;
- BATTERY_SET_INFORMATION_LEVEL InformationLevel;
- UCHAR Buffer[1];
-} BATTERY_SET_INFORMATION, *PBATTERY_SET_INFORMATION;
-
-typedef struct _BATTERY_WAIT_STATUS {
- ULONG BatteryTag;
- ULONG Timeout;
- ULONG PowerState;
- ULONG LowCapacity;
- ULONG HighCapacity;
-} BATTERY_WAIT_STATUS, *PBATTERY_WAIT_STATUS;
-
-
-#define IOCTL_BATTERY_QUERY_TAG \
- CTL_CODE(FILE_DEVICE_BATTERY, 0x10, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_BATTERY_QUERY_INFORMATION \
- CTL_CODE(FILE_DEVICE_BATTERY, 0x11, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_BATTERY_SET_INFORMATION \
- CTL_CODE(FILE_DEVICE_BATTERY, 0x12, METHOD_BUFFERED, FILE_WRITE_ACCESS)
-
-#define IOCTL_BATTERY_QUERY_STATUS \
- CTL_CODE(FILE_DEVICE_BATTERY, 0x13, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-
-typedef NTSTATUS DDKAPI
-(*BCLASS_DISABLE_STATUS_NOTIFY)(
- IN PVOID Context);
-
-typedef NTSTATUS DDKAPI
-(*BCLASS_QUERY_INFORMATION)(
- IN PVOID Context,
- IN ULONG BatteryTag,
- IN BATTERY_QUERY_INFORMATION_LEVEL Level,
- IN LONG AtRate OPTIONAL,
- OUT PVOID Buffer,
- IN ULONG BufferLength,
- OUT PULONG ReturnedLength);
-
-typedef NTSTATUS DDKAPI
-(*BCLASS_QUERY_STATUS)(
- IN PVOID Context,
- IN ULONG BatteryTag,
- OUT PBATTERY_STATUS BatteryStatus);
-
-typedef NTSTATUS DDKAPI
-(*BCLASS_QUERY_TAG)(
- IN PVOID Context,
- OUT PULONG BatteryTag);
-
-typedef NTSTATUS DDKAPI
-(*BCLASS_SET_INFORMATION)(
- IN PVOID Context,
- IN ULONG BatteryTag,
- IN BATTERY_SET_INFORMATION_LEVEL Level,
- IN PVOID Buffer OPTIONAL);
-
-typedef NTSTATUS DDKAPI
-(*BCLASS_SET_STATUS_NOTIFY)(
- IN PVOID Context,
- IN ULONG BatteryTag,
- IN PBATTERY_NOTIFY BatteryNotify);
-
-
-typedef struct _BATTERY_MINIPORT_INFO {
- USHORT MajorVersion;
- USHORT MinorVersion;
- PVOID Context;
- BCLASS_QUERY_TAG QueryTag;
- BCLASS_QUERY_INFORMATION QueryInformation;
- BCLASS_SET_INFORMATION SetInformation;
- BCLASS_QUERY_STATUS QueryStatus;
- BCLASS_SET_STATUS_NOTIFY SetStatusNotify;
- BCLASS_DISABLE_STATUS_NOTIFY DisableStatusNotify;
- PDEVICE_OBJECT Pdo;
- PUNICODE_STRING DeviceName;
-} BATTERY_MINIPORT_INFO, *PBATTERY_MINIPORT_INFO;
-
-/* BATTERY_MINIPORT_INFO.XxxVersion */
-#define BATTERY_CLASS_MAJOR_VERSION 0x0001
-#define BATTERY_CLASS_MINOR_VERSION 0x0000
-
-
-BCLASSAPI
-NTSTATUS
-DDKAPI
-BatteryClassInitializeDevice(
- IN PBATTERY_MINIPORT_INFO MiniportInfo,
- IN PVOID *ClassData);
-
-BCLASSAPI
-NTSTATUS
-DDKAPI
-BatteryClassIoctl(
- IN PVOID ClassData,
- IN PIRP Irp);
-
-BCLASSAPI
-NTSTATUS
-DDKAPI
-BatteryClassQueryWmiDataBlock(
- IN PVOID ClassData,
- IN PDEVICE_OBJECT DeviceObject,
- IN PIRP Irp,
- IN ULONG GuidIndex,
- IN OUT PULONG InstanceLengthArray,
- IN ULONG OutBufferSize,
- OUT PUCHAR Buffer);
-
-BCLASSAPI
-NTSTATUS
-DDKAPI
-BatteryClassStatusNotify(
- IN PVOID ClassData);
-
-BCLASSAPI
-NTSTATUS
-DDKAPI
-BatteryClassSystemControl(
- IN PVOID ClassData,
- IN PWMILIB_CONTEXT WmiLibContext,
- IN PDEVICE_OBJECT DeviceObject,
- IN PIRP Irp,
- OUT PSYSCTL_IRP_DISPOSITION Disposition);
-
-BCLASSAPI
-NTSTATUS
-DDKAPI
-BatteryClassUnload(
- IN PVOID ClassData);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __BATCLASS_H */
diff --git a/winsup/w32api/include/ddk/cfg.h b/winsup/w32api/include/ddk/cfg.h
deleted file mode 100644
index 107bd4aae..000000000
--- a/winsup/w32api/include/ddk/cfg.h
+++ /dev/null
@@ -1,139 +0,0 @@
-/*
- * cfg.h
- *
- * PnP Configuration Manager shared definitions between user mode and kernel mode code
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- * Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __CFG_H
-#define __CFG_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define CM_PROB_NOT_CONFIGURED 0x00000001
-#define CM_PROB_DEVLOADER_FAILED 0x00000002
-#define CM_PROB_OUT_OF_MEMORY 0x00000003
-#define CM_PROB_ENTRY_IS_WRONG_TYPE 0x00000004
-#define CM_PROB_LACKED_ARBITRATOR 0x00000005
-#define CM_PROB_BOOT_CONFIG_CONFLICT 0x00000006
-#define CM_PROB_FAILED_FILTER 0x00000007
-#define CM_PROB_DEVLOADER_NOT_FOUND 0x00000008
-#define CM_PROB_INVALID_DATA 0x00000009
-#define CM_PROB_FAILED_START 0x0000000A
-#define CM_PROB_LIAR 0x0000000B
-#define CM_PROB_NORMAL_CONFLICT 0x0000000C
-#define CM_PROB_NOT_VERIFIED 0x0000000D
-#define CM_PROB_NEED_RESTART 0x0000000E
-#define CM_PROB_REENUMERATION 0x0000000F
-#define CM_PROB_PARTIAL_LOG_CONF 0x00000010
-#define CM_PROB_UNKNOWN_RESOURCE 0x00000011
-#define CM_PROB_REINSTALL 0x00000012
-#define CM_PROB_REGISTRY 0x00000013
-#define CM_PROB_VXDLDR 0x00000014
-#define CM_PROB_WILL_BE_REMOVED 0x00000015
-#define CM_PROB_DISABLED 0x00000016
-#define CM_PROB_DEVLOADER_NOT_READY 0x00000017
-#define CM_PROB_DEVICE_NOT_THERE 0x00000018
-#define CM_PROB_MOVED 0x00000019
-#define CM_PROB_TOO_EARLY 0x0000001A
-#define CM_PROB_NO_VALID_LOG_CONF 0x0000001B
-#define CM_PROB_FAILED_INSTALL 0x0000001C
-#define CM_PROB_HARDWARE_DISABLED 0x0000001D
-#define CM_PROB_CANT_SHARE_IRQ 0x0000001E
-#define CM_PROB_FAILED_ADD 0x0000001F
-#define CM_PROB_DISABLED_SERVICE 0x00000020
-#define CM_PROB_TRANSLATION_FAILED 0x00000021
-#define CM_PROB_NO_SOFTCONFIG 0x00000022
-#define CM_PROB_BIOS_TABLE 0x00000023
-#define CM_PROB_IRQ_TRANSLATION_FAILED 0x00000024
-#define CM_PROB_FAILED_DRIVER_ENTRY 0x00000025
-#define CM_PROB_DRIVER_FAILED_PRIOR_UNLOAD 0x00000026
-#define CM_PROB_DRIVER_FAILED_LOAD 0x00000027
-#define CM_PROB_DRIVER_SERVICE_KEY_INVALID 0x00000028
-#define CM_PROB_LEGACY_SERVICE_NO_DEVICES 0x00000029
-#define CM_PROB_DUPLICATE_DEVICE 0x0000002A
-#define CM_PROB_FAILED_POST_START 0x0000002B
-#define CM_PROB_HALTED 0x0000002C
-#define CM_PROB_PHANTOM 0x0000002D
-#define CM_PROB_SYSTEM_SHUTDOWN 0x0000002E
-#define CM_PROB_HELD_FOR_EJECT 0x0000002F
-#define CM_PROB_DRIVER_BLOCKED 0x00000030
-#define CM_PROB_REGISTRY_TOO_LARGE 0x00000031
-
-#define LCPRI_FORCECONFIG 0x00000000
-#define LCPRI_BOOTCONFIG 0x00000001
-#define LCPRI_DESIRED 0x00002000
-#define LCPRI_NORMAL 0x00003000
-#define LCPRI_LASTBESTCONFIG 0x00003FFF
-#define LCPRI_SUBOPTIMAL 0x00005000
-#define LCPRI_LASTSOFTCONFIG 0x00007FFF
-#define LCPRI_RESTART 0x00008000
-#define LCPRI_REBOOT 0x00009000
-#define LCPRI_POWEROFF 0x0000A000
-#define LCPRI_HARDRECONFIG 0x0000C000
-#define LCPRI_HARDWIRED 0x0000E000
-#define LCPRI_IMPOSSIBLE 0x0000F000
-#define LCPRI_DISABLED 0x0000FFFF
-#define MAX_LCPRI 0x0000FFFF
-
-#define DN_ROOT_ENUMERATED 0x00000001 /* Was enumerated by ROOT */
-#define DN_DRIVER_LOADED 0x00000002 /* Has Register_Device_Driver */
-#define DN_ENUM_LOADED 0x00000004 /* Has Register_Enumerator */
-#define DN_STARTED 0x00000008 /* Is currently configured */
-#define DN_MANUAL 0x00000010 /* Manually installed */
-#define DN_NEED_TO_ENUM 0x00000020 /* May need reenumeration */
-#define DN_NOT_FIRST_TIME 0x00000040 /* Has received a config */
-#define DN_HARDWARE_ENUM 0x00000080 /* Enum generates hardware ID */
-#define DN_LIAR 0x00000100 /* Lied about can reconfig once */
-#define DN_HAS_MARK 0x00000200 /* Not CM_Create_DevNode lately */
-#define DN_HAS_PROBLEM 0x00000400 /* Need device installer */
-#define DN_FILTERED 0x00000800 /* Is filtered */
-#define DN_MOVED 0x00001000 /* Has been moved */
-#define DN_DISABLEABLE 0x00002000 /* Can be rebalanced */
-#define DN_REMOVABLE 0x00004000 /* Can be removed */
-#define DN_PRIVATE_PROBLEM 0x00008000 /* Has a private problem */
-#define DN_MF_PARENT 0x00010000 /* Multi function parent */
-#define DN_MF_CHILD 0x00020000 /* Multi function child */
-#define DN_WILL_BE_REMOVED 0x00040000 /* Devnode is being removed */
-
-typedef enum _PNP_VETO_TYPE {
- PNP_VetoTypeUnknown,
- PNP_VetoLegacyDevice,
- PNP_VetoPendingClose,
- PNP_VetoWindowsApp,
- PNP_VetoWindowsService,
- PNP_VetoOutstandingOpen,
- PNP_VetoDevice,
- PNP_VetoDriver,
- PNP_VetoIllegalDeviceRequest,
- PNP_VetoInsufficientPower,
- PNP_VetoNonDisableable,
- PNP_VetoLegacyDriver
-} PNP_VETO_TYPE, *PPNP_VETO_TYPE;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __CFG_H */
diff --git a/winsup/w32api/include/ddk/cfgmgr32.h b/winsup/w32api/include/ddk/cfgmgr32.h
deleted file mode 100644
index 5249a22fc..000000000
--- a/winsup/w32api/include/ddk/cfgmgr32.h
+++ /dev/null
@@ -1,1533 +0,0 @@
-/*
- * cfgmgr32.h
- *
- * PnP configuration manager
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- * Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __CFGMGR32_H
-#define __CFGMGR32_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-
-#if defined(_CFGMGR32_)
-#define CMAPI DECLSPEC_EXPORT
-#else
-#define CMAPI DECLSPEC_IMPORT
-#endif
-
-#include "cfg.h"
-
-#include <pshpack1.h>
-
-#define CR_SUCCESS 0x00000000
-#define CR_DEFAULT 0x00000001
-#define CR_OUT_OF_MEMORY 0x00000002
-#define CR_INVALID_POINTER 0x00000003
-#define CR_INVALID_FLAG 0x00000004
-#define CR_INVALID_DEVNODE 0x00000005
-#define CR_INVALID_DEVINST CR_INVALID_DEVNODE
-#define CR_INVALID_RES_DES 0x00000006
-#define CR_INVALID_LOG_CONF 0x00000007
-#define CR_INVALID_ARBITRATOR 0x00000008
-#define CR_INVALID_NODELIST 0x00000009
-#define CR_DEVNODE_HAS_REQS 0x0000000A
-#define CR_DEVINST_HAS_REQS CR_DEVNODE_HAS_REQS
-#define CR_INVALID_RESOURCEID 0x0000000B
-#define CR_DLVXD_NOT_FOUND 0x0000000C
-#define CR_NO_SUCH_DEVNODE 0x0000000D
-#define CR_NO_SUCH_DEVINST CR_NO_SUCH_DEVNODE
-#define CR_NO_MORE_LOG_CONF 0x0000000E
-#define CR_NO_MORE_RES_DES 0x0000000F
-#define CR_ALREADY_SUCH_DEVNODE 0x00000010
-#define CR_ALREADY_SUCH_DEVINST CR_ALREADY_SUCH_DEVNODE
-#define CR_INVALID_RANGE_LIST 0x00000011
-#define CR_INVALID_RANGE 0x00000012
-#define CR_FAILURE 0x00000013
-#define CR_NO_SUCH_LOGICAL_DEV 0x00000014
-#define CR_CREATE_BLOCKED 0x00000015
-#define CR_NOT_SYSTEM_VM 0x00000016
-#define CR_REMOVE_VETOED 0x00000017
-#define CR_APM_VETOED 0x00000018
-#define CR_INVALID_LOAD_TYPE 0x00000019
-#define CR_BUFFER_SMALL 0x0000001A
-#define CR_NO_ARBITRATOR 0x0000001B
-#define CR_NO_REGISTRY_HANDLE 0x0000001C
-#define CR_REGISTRY_ERROR 0x0000001D
-#define CR_INVALID_DEVICE_ID 0x0000001E
-#define CR_INVALID_DATA 0x0000001F
-#define CR_INVALID_API 0x00000020
-#define CR_DEVLOADER_NOT_READY 0x00000021
-#define CR_NEED_RESTART 0x00000022
-#define CR_NO_MORE_HW_PROFILES 0x00000023
-#define CR_DEVICE_NOT_THERE 0x00000024
-#define CR_NO_SUCH_VALUE 0x00000025
-#define CR_WRONG_TYPE 0x00000026
-#define CR_INVALID_PRIORITY 0x00000027
-#define CR_NOT_DISABLEABLE 0x00000028
-#define CR_FREE_RESOURCES 0x00000029
-#define CR_QUERY_VETOED 0x0000002A
-#define CR_CANT_SHARE_IRQ 0x0000002B
-#define CR_NO_DEPENDENT 0x0000002C
-#define CR_SAME_RESOURCES 0x0000002D
-#define CR_NO_SUCH_REGISTRY_KEY 0x0000002E
-#define CR_INVALID_MACHINENAME 0x0000002F
-#define CR_REMOTE_COMM_FAILURE 0x00000030
-#define CR_MACHINE_UNAVAILABLE 0x00000031
-#define CR_NO_CM_SERVICES 0x00000032
-#define CR_ACCESS_DENIED 0x00000033
-#define CR_CALL_NOT_IMPLEMENTED 0x00000034
-#define CR_INVALID_PROPERTY 0x00000035
-#define CR_DEVICE_INTERFACE_ACTIVE 0x00000036
-#define CR_NO_SUCH_DEVICE_INTERFACE 0x00000037
-#define CR_INVALID_REFERENCE_STRING 0x00000038
-#define CR_INVALID_CONFLICT_LIST 0x00000039
-#define CR_INVALID_INDEX 0x0000003A
-#define CR_INVALID_STRUCTURE_SIZE 0x0000003B
-
-
-typedef DWORD RETURN_TYPE;
-typedef RETURN_TYPE CONFIGRET;
-
-typedef HANDLE HMACHINE;
-typedef HMACHINE *PHMACHINE;
-
-typedef DWORD_PTR RES_DES;
-typedef RES_DES *PRES_DES;
-
-typedef DWORD_PTR RANGE_ELEMENT;
-typedef RANGE_ELEMENT *PRANGE_ELEMENT;
-
-typedef ULONG_PTR CONFLICT_LIST;
-typedef CONFLICT_LIST *PCONFLICT_LIST;
-
-typedef DWORD_PTR LOG_CONF;
-typedef LOG_CONF *PLOG_CONF;
-
-typedef ULONG PRIORITY;
-typedef PRIORITY *PPRIORITY;
-
-typedef DWORD_PTR RANGE_LIST;
-typedef RANGE_LIST *PRANGE_LIST;
-
-typedef DWORD DEVNODE, DEVINST;
-typedef DEVNODE *PDEVNODE, *PDEVINST;
-
-typedef CHAR *DEVNODEID_A, *DEVINSTID_A;
-typedef WCHAR *DEVNODEID_W, *DEVINSTID_W;
-
-#ifdef UNICODE
-typedef DEVNODEID_W DEVNODEID;
-typedef DEVINSTID_W DEVINSTID;
-#else
-typedef DEVNODEID_A DEVNODEID;
-typedef DEVINSTID_A DEVINSTID;
-#endif
-
-typedef ULONG REGDISPOSITION;
-
-typedef ULONG RESOURCEID;
-typedef RESOURCEID *PRESOURCEID;
-
-#define CM_RESDES_WIDTH_DEFAULT 0x00000000
-#define CM_RESDES_WIDTH_32 0x00000001
-#define CM_RESDES_WIDTH_64 0x00000002
-#define CM_RESDES_WIDTH_BITS 0x00000003
-
-
-#define MAX_CONFIG_VALUE 9999
-#define MAX_INSTANCE_VALUE 9999
-
-#define MAX_DEVICE_ID_LEN 200
-#define MAX_DEVNODE_ID_LEN MAX_DEVICE_ID_LEN
-
-#define MAX_CLASS_NAME_LEN 32
-#define MAX_GUID_STRING_LEN 39
-#define MAX_PROFILE_LEN 80
-
-
-#define ResType_All 0x00000000
-#define ResType_None 0x00000000
-#define ResType_Mem 0x00000001
-#define ResType_IO 0x00000002
-#define ResType_DMA 0x00000003
-#define ResType_IRQ 0x00000004
-#define ResType_DoNotUse 0x00000005
-#define ResType_BusNumber 0x00000006
-#define ResType_MAX 0x00000006
-#define ResType_Ignored_Bit 0x00008000
-#define ResType_ClassSpecific 0x0000FFFF
-#define ResType_Reserved 0x00008000
-#define ResType_DevicePrivate 0x00008001
-#define ResType_PcCardConfig 0x00008002
-#define ResType_MfCardConfig 0x00008003
-
-#define CM_GETIDLIST_FILTER_NONE 0x00000000
-#define CM_GETIDLIST_FILTER_ENUMERATOR 0x00000001
-#define CM_GETIDLIST_FILTER_SERVICE 0x00000002
-#define CM_GETIDLIST_FILTER_EJECTRELATIONS 0x00000004
-#define CM_GETIDLIST_FILTER_REMOVALRELATIONS 0x00000008
-#define CM_GETIDLIST_FILTER_POWERRELATIONS 0x00000010
-#define CM_GETIDLIST_FILTER_BUSRELATIONS 0x00000020
-#define CM_GETIDLIST_DONOTGENERATE 0x10000040
-#define CM_GETIDLIST_FILTER_BITS 0x1000007F
-
-#define CM_GET_DEVICE_INTERFACE_LIST_PRESENT 0x00000000
-#define CM_GET_DEVICE_INTERFACE_LIST_ALL_DEVICES 0x00000001
-#define CM_GET_DEVICE_INTERFACE_LIST_BITS 0x00000001
-
-
-typedef struct BusNumber_Des_s {
- DWORD BUSD_Count;
- DWORD BUSD_Type;
- DWORD BUSD_Flags;
- ULONG BUSD_Alloc_Base;
- ULONG BUSD_Alloc_End;
-} BUSNUMBER_DES, *PBUSNUMBER_DES;
-
-typedef struct BusNumber_Range_s {
- ULONG BUSR_Min;
- ULONG BUSR_Max;
- ULONG BUSR_nBusNumbers;
- ULONG BUSR_Flags;
-} BUSNUMBER_RANGE, *PBUSNUMBER_RANGE;
-
-#define BusNumberType_Range sizeof(BUSNUMBER_RANGE)
-
-typedef struct BusNumber_Resource_s {
- BUSNUMBER_DES BusNumber_Header;
- BUSNUMBER_RANGE BusNumber_Data[ANYSIZE_ARRAY];
-} BUSNUMBER_RESOURCE, *PBUSNUMBER_RESOURCE;
-
-typedef struct CS_Des_s {
- DWORD CSD_SignatureLength;
- DWORD CSD_LegacyDataOffset;
- DWORD CSD_LegacyDataSize;
- DWORD CSD_Flags;
- GUID CSD_ClassGuid;
- BYTE CSD_Signature[ANYSIZE_ARRAY];
-} CS_DES, *PCS_DES;
-
-typedef struct CS_Resource_s {
- CS_DES CS_Header;
-} CS_RESOURCE, *PCS_RESOURCE;
-
-typedef struct DevPrivate_Des_s {
- DWORD PD_Count;
- DWORD PD_Type;
- DWORD PD_Data1;
- DWORD PD_Data2;
- DWORD PD_Data3;
- DWORD PD_Flags;
-} DEVPRIVATE_DES, *PDEVPRIVATE_DES;
-
-typedef struct DevPrivate_Range_s {
- DWORD PR_Data1;
- DWORD PR_Data2;
- DWORD PR_Data3;
-} DEVPRIVATE_RANGE, *PDEVPRIVATE_RANGE;
-
-#define PType_Range sizeof(DEVPRIVATE_RANGE)
-
-typedef struct DevPrivate_Resource_s {
- DEVPRIVATE_DES PRV_Header;
- DEVPRIVATE_RANGE PRV_Data[ANYSIZE_ARRAY];
-} DEVPRIVATE_RESOURCE, *PDEVPRIVATE_RESOURCE;
-
-/* DMA_DES.DD_Flags constants and masks */
-#define mDD_Width 0x3
-#define fDD_BYTE 0x0
-#define fDD_WORD 0x1
-#define fDD_DWORD 0x2
-#define fDD_BYTE_AND_WORD 0x3
-
-#define mDD_BusMaster 0x4
-#define fDD_NoBusMaster 0x0
-#define fDD_BusMaster 0x4
-
-#define mDD_Type 0x18
-#define fDD_TypeStandard 0x00
-#define fDD_TypeA 0x08
-#define fDD_TypeB 0x10
-#define fDD_TypeF 0x18
-
-typedef struct DMA_Des_s {
- DWORD DD_Count;
- DWORD DD_Type;
- DWORD DD_Flags;
- ULONG DD_Alloc_Chan;
-} DMA_DES, *PDMA_DES;
-
-typedef struct DMA_Range_s {
- ULONG DR_Min;
- ULONG DR_Max;
- ULONG DR_Flags;
-} DMA_RANGE, *PDMA_RANGE;
-
-#define DType_Range sizeof(DMA_RANGE)
-
-typedef struct DMA_Resource_s {
- DMA_DES DMA_Header;
- DMA_RANGE DMA_Data[ANYSIZE_ARRAY];
-} DMA_RESOURCE, *PDMA_RESOURCE;
-
-/* IO_DES.Type constants and masks */
-#define fIOD_PortType 0x1
-#define fIOD_Memory 0x0
-#define fIOD_IO 0x1
-#define fIOD_DECODE 0x00fc
-#define fIOD_10_BIT_DECODE 0x0004
-#define fIOD_12_BIT_DECODE 0x0008
-#define fIOD_16_BIT_DECODE 0x0010
-#define fIOD_POSITIVE_DECODE 0x0020
-#define fIOD_PASSIVE_DECODE 0x0040
-#define fIOD_WINDOW_DECODE 0x0080
-
-typedef struct IO_Des_s {
- DWORD IOD_Count;
- DWORD IOD_Type;
- DWORDLONG IOD_Alloc_Base;
- DWORDLONG IOD_Alloc_End;
- DWORD IOD_DesFlags;
-} IO_DES, *PIO_DES;
-
-/* IO_RANGE.IOR_Alias constants */
-#define IO_ALIAS_10_BIT_DECODE 0x00000004
-#define IO_ALIAS_12_BIT_DECODE 0x00000010
-#define IO_ALIAS_16_BIT_DECODE 0x00000000
-#define IO_ALIAS_POSITIVE_DECODE 0x000000FF
-
-typedef struct IO_Range_s {
- DWORDLONG IOR_Align;
- DWORD IOR_nPorts;
- DWORDLONG IOR_Min;
- DWORDLONG IOR_Max;
- DWORD IOR_RangeFlags;
- DWORDLONG IOR_Alias;
-} IO_RANGE, *PIO_RANGE;
-
-#define IOType_Range sizeof(IO_RANGE)
-
-typedef struct IO_Resource_s {
- IO_DES IO_Header;
- IO_RANGE IO_Data[ANYSIZE_ARRAY];
-} IO_RESOURCE, *PIO_RESOURCE;
-
-/* IRQ_DES.IRQD_flags constants */
-#define mIRQD_Share 0x1
-#define fIRQD_Exclusive 0x0
-#define fIRQD_Share 0x1
-
-#define fIRQD_Share_Bit 0
-#define fIRQD_Level_Bit 1
-
-#define mIRQD_Edge_Level 0x2
-#define fIRQD_Level 0x0
-#define fIRQD_Edge 0x2
-
-typedef struct IRQ_Des_32_s {
- DWORD IRQD_Count;
- DWORD IRQD_Type;
- DWORD IRQD_Flags;
- ULONG IRQD_Alloc_Num;
- ULONG32 IRQD_Affinity;
-} IRQ_DES_32, *PIRQ_DES_32;
-
-typedef struct IRQ_Des_64_s {
- DWORD IRQD_Count;
- DWORD IRQD_Type;
- DWORD IRQD_Flags;
- ULONG IRQD_Alloc_Num;
- ULONG64 IRQD_Affinity;
-} IRQ_DES_64, *PIRQ_DES_64;
-
-#ifdef _WIN64
-typedef IRQ_DES_64 IRQ_DES;
-typedef PIRQ_DES_64 PIRQ_DES;
-#else
-typedef IRQ_DES_32 IRQ_DES;
-typedef PIRQ_DES_32 PIRQ_DES;
-#endif
-
-typedef struct IRQ_Range_s {
- ULONG IRQR_Min;
- ULONG IRQR_Max;
- ULONG IRQR_Flags;
-} IRQ_RANGE, *PIRQ_RANGE;
-
-#define IRQType_Range sizeof(IRQ_RANGE)
-
-typedef struct IRQ_Resource_s {
- IRQ_DES IRQ_Header;
- IRQ_RANGE IRQ_Data[ANYSIZE_ARRAY];
-} IRQ_RESOURCE, *PIRQ_RESOURCE;
-
-/* MEM_DES.MD_Flags constants */
-#define mMD_MemoryType 0x1
-#define fMD_MemoryType mMD_MemoryType
-#define fMD_ROM 0x0
-#define fMD_RAM 0x1
-
-#define mMD_32_24 0x2
-#define fMD_32_24 mMD_32_24
-#define fMD_24 0x0
-#define fMD_32 0x2
-
-#define mMD_Prefetchable 0x4
-#define fMD_Prefetchable mMD_Prefetchable
-#define fMD_Pref mMD_Prefetchable
-#define fMD_PrefetchDisallowed 0x0
-#define fMD_PrefetchAllowed 0x4
-
-#define mMD_Readable 0x8
-#define fMD_Readable mMD_Readable
-#define fMD_ReadAllowed 0x0
-#define fMD_ReadDisallowed 0x8
-
-#define mMD_CombinedWrite 0x10
-#define fMD_CombinedWrite mMD_CombinedWrite
-#define fMD_CombinedWriteDisallowed 0x0
-#define fMD_CombinedWriteAllowed 0x10
-
-#define mMD_Cacheable 0x20
-#define fMD_NonCacheable 0x0
-#define fMD_Cacheable 0x20
-
-typedef struct Mem_Des_s {
- DWORD MD_Count;
- DWORD MD_Type;
- DWORDLONG MD_Alloc_Base;
- DWORDLONG MD_Alloc_End;
- DWORD MD_Flags;
- DWORD MD_Reserved;
-} MEM_DES, *PMEM_DES;
-
-typedef struct Mem_Range_s {
- DWORDLONG MR_Align;
- ULONG MR_nBytes;
- DWORDLONG MR_Min;
- DWORDLONG MR_Max;
- DWORD MR_Flags;
- DWORD MR_Reserved;
-} MEM_RANGE, *PMEM_RANGE;
-
-#define MType_Range sizeof(MEM_RANGE)
-
-typedef struct Mem_Resource_s {
- MEM_DES MEM_Header;
- MEM_RANGE MEM_Data[ANYSIZE_ARRAY];
-} MEM_RESOURCE, *PMEM_RESOURCE;
-
-/* MFCARD_DES.PMF_Flags constants */
-#define fPMF_AUDIO_ENABLE 0x8
-#define mPMF_AUDIO_ENABLE fPMF_AUDIO_ENABLE
-
-typedef struct MfCard_Des_s {
- DWORD PMF_Count;
- DWORD PMF_Type;
- DWORD PMF_Flags;
- BYTE PMF_ConfigOptions;
- BYTE PMF_IoResourceIndex;
- BYTE PMF_Reserved[2];
- DWORD PMF_ConfigRegisterBase;
-} MFCARD_DES, *PMFCARD_DES;
-
-typedef struct MfCard_Resource_s {
- MFCARD_DES MfCard_Header;
-} MFCARD_RESOURCE, *PMFCARD_RESOURCE;
-
-/* PCCARD_DES.PCD_Flags constants */
-
-typedef struct PcCard_Des_s {
- DWORD PCD_Count;
- DWORD PCD_Type;
- DWORD PCD_Flags;
- BYTE PCD_ConfigIndex;
- BYTE PCD_Reserved[3];
- DWORD PCD_MemoryCardBase1;
- DWORD PCD_MemoryCardBase2;
-} PCCARD_DES, *PPCCARD_DES;
-
-#define mPCD_IO_8_16 0x1
-#define fPCD_IO_8 0x0
-#define fPCD_IO_16 0x1
-#define mPCD_MEM_8_16 0x2
-#define fPCD_MEM_8 0x0
-#define fPCD_MEM_16 0x2
-#define mPCD_MEM_A_C 0xC
-#define fPCD_MEM1_A 0x4
-#define fPCD_MEM2_A 0x8
-#define fPCD_IO_ZW_8 0x10
-#define fPCD_IO_SRC_16 0x20
-#define fPCD_IO_WS_16 0x40
-#define mPCD_MEM_WS 0x300
-#define fPCD_MEM_WS_ONE 0x100
-#define fPCD_MEM_WS_TWO 0x200
-#define fPCD_MEM_WS_THREE 0x300
-
-#define fPCD_MEM_A 0x4
-
-#define fPCD_ATTRIBUTES_PER_WINDOW 0x8000
-
-#define fPCD_IO1_16 0x00010000
-#define fPCD_IO1_ZW_8 0x00020000
-#define fPCD_IO1_SRC_16 0x00040000
-#define fPCD_IO1_WS_16 0x00080000
-
-#define fPCD_IO2_16 0x00100000
-#define fPCD_IO2_ZW_8 0x00200000
-#define fPCD_IO2_SRC_16 0x00400000
-#define fPCD_IO2_WS_16 0x00800000
-
-#define mPCD_MEM1_WS 0x03000000
-#define fPCD_MEM1_WS_ONE 0x01000000
-#define fPCD_MEM1_WS_TWO 0x02000000
-#define fPCD_MEM1_WS_THREE 0x03000000
-#define fPCD_MEM1_16 0x04000000
-
-#define mPCD_MEM2_WS 0x30000000
-#define fPCD_MEM2_WS_ONE 0x10000000
-#define fPCD_MEM2_WS_TWO 0x20000000
-#define fPCD_MEM2_WS_THREE 0x30000000
-#define fPCD_MEM2_16 0x40000000
-
-#define PCD_MAX_MEMORY 2
-#define PCD_MAX_IO 2
-
-typedef struct PcCard_Resource_s {
- PCCARD_DES PcCard_Header;
-} PCCARD_RESOURCE, *PPCCARD_RESOURCE;
-
-
-/* CONFLICT_DETAILS.CD.ulMask constants */
-#define CM_CDMASK_DEVINST 0x00000001
-#define CM_CDMASK_RESDES 0x00000002
-#define CM_CDMASK_FLAGS 0x00000004
-#define CM_CDMASK_DESCRIPTION 0x00000008
-#define CM_CDMASK_VALID 0x0000000F
-
-/* CONFLICT_DETAILS.CD.ulFlags constants */
-#define CM_CDFLAGS_DRIVER 0x00000001
-#define CM_CDFLAGS_ROOT_OWNED 0x00000002
-#define CM_CDFLAGS_RESERVED 0x00000004
-
-typedef struct _CONFLICT_DETAILS_A {
- ULONG CD_ulSize;
- ULONG CD_ulMask;
- DEVINST CD_dnDevInst;
- RES_DES CD_rdResDes;
- ULONG CD_ulFlags;
- CHAR CD_szDescription[MAX_PATH];
-} CONFLICT_DETAILS_A , *PCONFLICT_DETAILS_A;
-
-typedef struct _CONFLICT_DETAILS_W {
- ULONG CD_ulSize;
- ULONG CD_ulMask;
- DEVINST CD_dnDevInst;
- RES_DES CD_rdResDes;
- ULONG CD_ulFlags;
- WCHAR CD_szDescription[MAX_PATH];
-} CONFLICT_DETAILS_W , *PCONFLICT_DETAILS_W;
-
-#ifdef UNICODE
-typedef CONFLICT_DETAILS_W CONFLICT_DETAILS;
-typedef PCONFLICT_DETAILS_W PCONFLICT_DETAILS;
-#else
-typedef CONFLICT_DETAILS_A CONFLICT_DETAILS;
-typedef PCONFLICT_DETAILS_A PCONFLICT_DETAILS;
-#endif
-
-
-
-/* CM_Add_Empty_Log_Conf.ulFlags constants */
-#define PRIORITY_EQUAL_FIRST 0x00000008
-#define PRIORITY_EQUAL_LAST 0x00000000
-#define PRIORITY_BIT 0x00000008
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Add_Empty_Log_Conf(
- OUT PLOG_CONF plcLogConf,
- IN DEVINST dnDevInst,
- IN PRIORITY Priority,
- IN ULONG ulFlags);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Add_Empty_Log_Conf_Ex(
- OUT PLOG_CONF plcLogConf,
- IN DEVINST dnDevInst,
- IN PRIORITY Priority,
- IN ULONG ulFlags,
- IN HMACHINE hMachine);
-
-/* CM_Add_ID.ulFlags constants */
-#define CM_ADD_ID_HARDWARE 0x00000000
-#define CM_ADD_ID_COMPATIBLE 0x00000001
-#define CM_ADD_ID_BITS 0x00000001
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Add_IDA(
- IN DEVINST dnDevInst,
- IN PSTR pszID,
- IN ULONG ulFlags,
- IN HMACHINE hMachine);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Add_ID_ExA(
- IN DEVINST dnDevInst,
- IN PSTR pszID,
- IN ULONG ulFlags,
- IN HMACHINE hMachine);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Add_ID_ExW(
- IN DEVINST dnDevInst,
- IN PWSTR pszID,
- IN ULONG ulFlags,
- IN HMACHINE hMachine);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Add_IDW(
- IN DEVINST dnDevInst,
- IN PWSTR pszID,
- IN ULONG ulFlags,
- IN HMACHINE hMachine);
-
-#ifdef UNICODE
-#define CM_Add_ID CM_Add_IDW
-#define CM_Add_ID_Ex CM_Add_ID_ExW
-#else
-#define CM_Add_ID CM_Add_IDA
-#define CM_Add_ID_Ex CM_Add_ID_ExA
-#endif /* UNICODE */
-
-/* FIXME: Obsolete CM_Add_Range */
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Add_Res_Des(
- OUT PRES_DES prdResDes,
- IN LOG_CONF lcLogConf,
- IN RESOURCEID ResourceID,
- IN PCVOID ResourceData,
- IN ULONG ResourceLen,
- IN ULONG ulFlags);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Add_Res_Des_Ex(
- OUT PRES_DES prdResDes,
- IN LOG_CONF lcLogConf,
- IN RESOURCEID ResourceID,
- IN PCVOID ResourceData,
- IN ULONG ResourceLen,
- IN ULONG ulFlags,
- IN HMACHINE hMachine);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Connect_MachineA(
- IN PCSTR UNCServerName,
- OUT PHMACHINE phMachine);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Connect_MachineW(
- IN PCWSTR UNCServerName,
- OUT PHMACHINE phMachine);
-
-#ifdef UNICODE
-#define CM_Connect_Machine CM_Connect_MachineW
-#else
-#define CM_Connect_Machine CM_Connect_MachineA
-#endif /* UNICODE */
-
-/* FIXME: Obsolete CM_Create_DevNode */
-/* FIXME: Obsolete CM_Create_DevNodeEx */
-/* FIXME: Obsolete CM_Create_Range_List */
-/* FIXME: Obsolete CM_Delete_Class_Key */
-/* FIXME: Obsolete CM_Delete_Class_Key_Ex */
-/* FIXME: Obsolete CM_Delete_DevNode_Key */
-/* FIXME: Obsolete CM_Delete_DevNode_Key_Ex */
-/* FIXME: Obsolete CM_Delete_Range */
-/* FIXME: Obsolete CM_Detected_Resource_Conflict */
-/* FIXME: Obsolete CM_Detected_Resource_Conflict_Ex */
-/* FIXME: Obsolete CM_Disable_DevNode */
-/* FIXME: Obsolete CM_Disable_DevNodeEx */
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Disconnect_Machine(
- IN HMACHINE hMachine);
-
-/* FIXME: Obsolete CM_Enable_DevNode */
-/* FIXME: Obsolete CM_Enable_DevNodeEx */
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Enumerate_Classes(
- IN ULONG ulClassIndex,
- OUT LPGUID ClassGuid,
- IN ULONG ulFlags);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Enumerate_Classes_Ex(
- IN ULONG ulClassIndex,
- OUT LPGUID ClassGuid,
- IN ULONG ulFlags,
- IN HMACHINE hMachine);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Enumerate_EnumeratorsA(
- IN ULONG ulEnumIndex,
- OUT PCHAR Buffer,
- IN OUT PULONG pulLength,
- IN ULONG ulFlags);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Enumerate_Enumerators_ExA(
- IN ULONG ulEnumIndex,
- OUT PCHAR Buffer,
- IN OUT PULONG pulLength,
- IN ULONG ulFlags,
- IN HMACHINE hMachine);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Enumerate_Enumerators_ExW(
- IN ULONG ulEnumIndex,
- OUT PWCHAR Buffer,
- IN OUT PULONG pulLength,
- IN ULONG ulFlags,
- IN HMACHINE hMachine);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Enumerate_EnumeratorsW(
- IN ULONG ulEnumIndex,
- OUT PWCHAR Buffer,
- IN OUT PULONG pulLength,
- IN ULONG ulFlags);
-
-#ifdef UNICODE
-#define CM_Enumerate_Enumerators CM_Enumerate_EnumeratorsW
-#define CM_Enumerate_Enumerators_Ex CM_Enumerate_Enumerators_ExW
-#else
-#define CM_Enumerate_Enumerators CM_Enumerate_EnumeratorsA
-#define CM_Enumerate_Enumerators_Ex CM_Enumerate_Enumerators_ExW
-#endif /* UNICODE */
-
-/* FIXME: Obsolete CM_Find_Range */
-/* FIXME: Obsolete CM_First_Range */
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Free_Log_Conf(
- IN LOG_CONF lcLogConfToBeFreed,
- IN ULONG ulFlags);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Free_Log_Conf_Ex(
- IN LOG_CONF lcLogConfToBeFreed,
- IN ULONG ulFlags,
- IN HMACHINE hMachine);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Free_Log_Conf_Handle(
- IN LOG_CONF lcLogConf);
-
-/* FIXME: Obsolete CM_Free_Range_List */
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Free_Res_Des(
- OUT PRES_DES prdResDes,
- IN RES_DES rdResDes,
- IN ULONG ulFlags);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Free_Res_Des_Ex(
- OUT PRES_DES prdResDes,
- IN RES_DES rdResDes,
- IN ULONG ulFlags,
- IN HMACHINE hMachine);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Free_Res_Des_Handle(
- IN RES_DES rdResDes);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Free_Resource_Conflict_Handle(
- IN CONFLICT_LIST clConflictList);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Get_Child(
- OUT PDEVINST pdnDevInst,
- IN DEVINST dnDevInst,
- IN ULONG ulFlags);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Get_Child_Ex(
- OUT PDEVINST pdnDevInst,
- IN DEVINST dnDevInst,
- IN ULONG ulFlags,
- IN HMACHINE hMachine);
-
-/* FIXME: Obsolete CM_Get_Class_Name */
-/* FIXME: Obsolete CM_Get_Class_Name_Ex */
-/* FIXME: Obsolete CM_Get_Class_Key_Name */
-/* FIXME: Obsolete CM_Get_Class_Key_Name_Ex */
-/* FIXME: Obsolete CM_Get_Class_Registry_Property */
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Get_Depth(
- OUT PULONG pulDepth,
- IN DEVINST dnDevInst,
- IN ULONG ulFlags);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Get_Depth_Ex(
- OUT PULONG pulDepth,
- IN DEVINST dnDevInst,
- IN ULONG ulFlags,
- IN HMACHINE hMachine);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Get_Device_IDA(
- IN DEVINST dnDevInst,
- OUT PCHAR Buffer,
- IN ULONG BufferLen,
- IN ULONG ulFlags);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Get_Device_ID_ExA(
- IN DEVINST dnDevInst,
- OUT PCHAR Buffer,
- IN ULONG BufferLen,
- IN ULONG ulFlags,
- IN HMACHINE hMachine);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Get_Device_ID_ExW(
- IN DEVINST dnDevInst,
- OUT PWCHAR Buffer,
- IN ULONG BufferLen,
- IN ULONG ulFlags,
- IN HMACHINE hMachine);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Get_Device_IDW(
- IN DEVINST dnDevInst,
- OUT PWCHAR Buffer,
- IN ULONG BufferLen,
- IN ULONG ulFlags);
-
-#ifdef UNICODE
-#define CM_Get_Device_ID CM_Get_Device_IDW
-#define CM_Get_Device_ID_Ex CM_Get_Device_ID_ExW
-#else
-#define CM_Get_Device_ID CM_Get_Device_IDA
-#define CM_Get_Device_ID_Ex CM_Get_Device_ID_ExW
-#endif /* UNICODE */
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Get_Device_ID_ListA(
- IN PCSTR pszFilter, OPTIONAL
- OUT PCHAR Buffer,
- IN ULONG BufferLen,
- IN ULONG ulFlags);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Get_Device_ID_List_ExA(
- IN PCSTR pszFilter, OPTIONAL
- OUT PCHAR Buffer,
- IN ULONG BufferLen,
- IN ULONG ulFlags,
- IN HMACHINE hMachine);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Get_Device_ID_List_ExW(
- IN PCWSTR pszFilter, OPTIONAL
- OUT PWCHAR Buffer,
- IN ULONG BufferLen,
- IN ULONG ulFlags,
- IN HMACHINE hMachine);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Get_Device_ID_ListW(
- IN PCWSTR pszFilter, OPTIONAL
- OUT PWCHAR Buffer,
- IN ULONG BufferLen,
- IN ULONG ulFlags);
-
-#ifdef UNICODE
-#define CM_Get_Device_ID_List CM_Get_Device_ID_ListW
-#define CM_Get_Device_ID_List_Ex CM_Get_Device_ID_List_ExW
-#else
-#define CM_Get_Device_ID_List CM_Get_Device_ID_ListA
-#define CM_Get_Device_ID_List_Ex CM_Get_Device_ID_List_ExA
-#endif /* UNICODE */
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Get_Device_ID_List_SizeA(
- OUT PULONG pulLen,
- IN PCSTR pszFilter, OPTIONAL
- IN ULONG ulFlags);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Get_Device_ID_List_Size_ExA(
- OUT PULONG pulLen,
- IN PCSTR pszFilter, OPTIONAL
- IN ULONG ulFlags,
- IN HMACHINE hMachine);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Get_Device_ID_List_Size_ExW(
- OUT PULONG pulLen,
- IN PCWSTR pszFilter, OPTIONAL
- IN ULONG ulFlags,
- IN HMACHINE hMachine);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Get_Device_ID_List_SizeW(
- OUT PULONG pulLen,
- IN PCWSTR pszFilter, OPTIONAL
- IN ULONG ulFlags);
-
-#ifdef UNICODE
-#define CM_Get_Device_ID_List_Size CM_Get_Device_ID_List_SizeW
-#define CM_Get_Device_ID_List_Size_Ex CM_Get_Device_ID_List_Size_ExW
-#else
-#define CM_Get_Device_ID_List_Size CM_Get_Device_ID_List_SizeA
-#define CM_Get_Device_ID_List_Size_Ex CM_Get_Device_ID_List_Size_ExA
-#endif /* UNICODE */
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Get_Device_ID_Size(
- OUT PULONG pulLen,
- IN DEVINST dnDevInst,
- IN ULONG ulFlags);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Get_Device_ID_Size_Ex(
- OUT PULONG pulLen,
- IN DEVINST dnDevInst,
- IN ULONG ulFlags,
- IN HMACHINE hMachine);
-
-/* FIXME: Obsolete CM_Get_Device_Interface_Alias */
-/* FIXME: Obsolete CM_Get_Device_Interface_Alias_Ex */
-/* FIXME: Obsolete CM_Get_Device_Interface_List */
-/* FIXME: Obsolete CM_Get_Device_Interface_List_Ex */
-/* FIXME: Obsolete CM_Get_Device_Interface_List_Size */
-/* FIXME: Obsolete CM_Get_Device_Interface_List_Size_Ex */
-/* FIXME: Obsolete CM_Get_DevNode_Custom_Property */
-/* FIXME: Obsolete CM_Get_DevNode_Custom_Property_Ex */
-/* FIXME: Obsolete CM_Get_DevNode_Registry_Property */
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Get_DevNode_Status(
- OUT PULONG pulStatus,
- OUT PULONG pulProblemNumber,
- IN DEVINST dnDevInst,
- IN ULONG ulFlags);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Get_DevNode_Status_Ex(
- OUT PULONG pulStatus,
- OUT PULONG pulProblemNumber,
- IN DEVINST dnDevInst,
- IN ULONG ulFlags,
- IN HMACHINE hMachine);
-
-#define CM_Get_DevInst_Status CM_Get_DevNode_Status
-#define CM_Get_DevInst_Status_Ex CM_Get_DevNode_Status_Ex
-
-/* CM_Get_First_Log_Conf.ulFlags constants */
-#define BASIC_LOG_CONF 0x00000000 /* Specifies the req list. */
-#define FILTERED_LOG_CONF 0x00000001 /* Specifies the filtered req list. */
-#define ALLOC_LOG_CONF 0x00000002 /* Specifies the Alloc Element. */
-#define BOOT_LOG_CONF 0x00000003 /* Specifies the RM Alloc Element. */
-#define FORCED_LOG_CONF 0x00000004 /* Specifies the Forced Log Conf */
-#define OVERRIDE_LOG_CONF 0x00000005 /* Specifies the Override req list. */
-#define NUM_LOG_CONF 0x00000006 /* Number of Log Conf type */
-#define LOG_CONF_BITS 0x00000007 /* The bits of the log conf type. */
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Get_First_Log_Conf(
- OUT PLOG_CONF plcLogConf, OPTIONAL
- IN DEVINST dnDevInst,
- IN ULONG ulFlags);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Get_First_Log_Conf_Ex(
- OUT PLOG_CONF plcLogConf, OPTIONAL
- IN DEVINST dnDevInst,
- IN ULONG ulFlags,
- IN HMACHINE hMachine);
-
-/* FIXME: Obsolete CM_Get_Global_State */
-/* FIXME: Obsolete CM_Get_Global_State_Ex */
-/* FIXME: Obsolete CM_Get_Hardware_Profile_Info */
-/* FIXME: Obsolete CM_Get_Hardware_Profile_Info_Ex */
-/* FIXME: Obsolete CM_Get_HW_Prof_Flags */
-/* FIXME: Obsolete CM_Get_HW_Prof_Flags_Ex */
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Get_Log_Conf_Priority(
- IN LOG_CONF lcLogConf,
- OUT PPRIORITY pPriority,
- IN ULONG ulFlags);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Get_Log_Conf_Priority_Ex(
- IN LOG_CONF lcLogConf,
- OUT PPRIORITY pPriority,
- IN ULONG ulFlags,
- IN HMACHINE hMachine);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Get_Next_Log_Conf(
- OUT PLOG_CONF plcLogConf, OPTIONAL
- IN LOG_CONF lcLogConf,
- IN ULONG ulFlags);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Get_Next_Log_Conf_Ex(
- OUT PLOG_CONF plcLogConf, OPTIONAL
- IN LOG_CONF lcLogConf,
- IN ULONG ulFlags,
- IN HMACHINE hMachine);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Get_Next_Res_Des(
- OUT PRES_DES prdResDes,
- IN RES_DES rdResDes,
- IN RESOURCEID ForResource,
- OUT PRESOURCEID pResourceID,
- IN ULONG ulFlags);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Get_Next_Res_Des_Ex(
- OUT PRES_DES prdResDes,
- IN RES_DES rdResDes,
- IN RESOURCEID ForResource,
- OUT PRESOURCEID pResourceID,
- IN ULONG ulFlags,
- IN HMACHINE hMachine);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Get_Parent(
- OUT PDEVINST pdnDevInst,
- IN DEVINST dnDevInst,
- IN ULONG ulFlags);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Get_Parent_Ex(
- OUT PDEVINST pdnDevInst,
- IN DEVINST dnDevInst,
- IN ULONG ulFlags,
- IN HMACHINE hMachine);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Get_Res_Des_Data(
- IN RES_DES rdResDes,
- OUT PVOID Buffer,
- IN ULONG BufferLen,
- IN ULONG ulFlags);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Get_Res_Des_Data_Ex(
- IN RES_DES rdResDes,
- OUT PVOID Buffer,
- IN ULONG BufferLen,
- IN ULONG ulFlags,
- IN HMACHINE hMachine);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Get_Res_Des_Data_Size(
- OUT PULONG pulSize,
- IN RES_DES rdResDes,
- IN ULONG ulFlags);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Get_Res_Des_Data_Size_Ex(
- OUT PULONG pulSize,
- IN RES_DES rdResDes,
- IN ULONG ulFlags,
- IN HMACHINE hMachine);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Get_Resource_Conflict_Count(
- IN CONFLICT_LIST clConflictList,
- OUT PULONG pulCount);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Get_Resource_Conflict_DetailsA(
- IN CONFLICT_LIST clConflictList,
- IN ULONG ulIndex,
- IN OUT PCONFLICT_DETAILS_A pConflictDetails);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Get_Resource_Conflict_DetailsW(
- IN CONFLICT_LIST clConflictList,
- IN ULONG ulIndex,
- IN OUT PCONFLICT_DETAILS_W pConflictDetails);
-
-#ifdef UNICODE
-#define CM_Get_Resource_Conflict_Details CM_Get_Resource_Conflict_DetailsW
-#else
-#define CM_Get_Resource_Conflict_Details CM_Get_Resource_Conflict_DetailsA
-#endif /* UNICODE */
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Get_Sibling(
- OUT PDEVINST pdnDevInst,
- IN DEVINST DevInst,
- IN ULONG ulFlags);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Get_Sibling_Ex(
- OUT PDEVINST pdnDevInst,
- IN DEVINST DevInst,
- IN ULONG ulFlags,
- IN HMACHINE hMachine);
-
-CMAPI
-WORD
-WINAPI
-CM_Get_Version(
- VOID);
-
-CMAPI
-WORD
-WINAPI
-CM_Get_Version_Ex(
- IN HMACHINE hMachine);
-
-/* FIXME: Obsolete CM_Intersect_Range_List */
-/* FIXME: Obsolete CM_Invert_Range_List */
-/* FIXME: Obsolete CM_Is_Dock_Station_Present */
-/* FIXME: Obsolete CM_Is_Dock_Station_Present_Ex */
-
-/* CM_Locate_DevNode.ulFlags constants */
-#define CM_LOCATE_DEVNODE_NORMAL 0x00000000
-#define CM_LOCATE_DEVNODE_PHANTOM 0x00000001
-#define CM_LOCATE_DEVNODE_CANCELREMOVE 0x00000002
-#define CM_LOCATE_DEVNODE_NOVALIDATION 0x00000004
-#define CM_LOCATE_DEVNODE_BITS 0x00000007
-
-#define CM_LOCATE_DEVINST_NORMAL CM_LOCATE_DEVNODE_NORMAL
-#define CM_LOCATE_DEVINST_PHANTOM CM_LOCATE_DEVNODE_PHANTOM
-#define CM_LOCATE_DEVINST_CANCELREMOVE CM_LOCATE_DEVNODE_CANCELREMOVE
-#define CM_LOCATE_DEVINST_NOVALIDATION CM_LOCATE_DEVNODE_NOVALIDATION
-#define CM_LOCATE_DEVINST_BITS CM_LOCATE_DEVNODE_BITS
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Locate_DevNodeA(
- OUT PDEVINST pdnDevInst,
- IN DEVINSTID_A pDeviceID, OPTIONAL
- IN ULONG ulFlags);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Locate_DevNode_ExA(
- OUT PDEVINST pdnDevInst,
- IN DEVINSTID_A pDeviceID, OPTIONAL
- IN ULONG ulFlags,
- IN HMACHINE hMachine);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Locate_DevNode_ExW(
- OUT PDEVINST pdnDevInst,
- IN DEVINSTID_W pDeviceID, OPTIONAL
- IN ULONG ulFlags,
- IN HMACHINE hMachine);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Locate_DevNodeW(
- OUT PDEVINST pdnDevInst,
- IN DEVINSTID_W pDeviceID, OPTIONAL
- IN ULONG ulFlags);
-
-#define CM_Locate_DevInstA CM_Locate_DevNodeA
-#define CM_Locate_DevInstW CM_Locate_DevNodeW
-#define CM_Locate_DevInst_ExA CM_Locate_DevNode_ExA
-#define CM_Locate_DevInst_ExW CM_Locate_DevNode_ExW
-
-#ifdef UNICODE
-#define CM_Locate_DevNode CM_Locate_DevNodeW
-#define CM_Locate_DevInst CM_Locate_DevNodeW
-#define CM_Locate_DevNode_Ex CM_Locate_DevNode_ExW
-#define CM_Locate_DevInst_Ex CM_Locate_DevNode_ExW
-#else
-#define CM_Locate_DevNode CM_Locate_DevNodeA
-#define CM_Locate_DevInst CM_Locate_DevNodeA
-#define CM_Locate_DevNode_Ex CM_Locate_DevNode_ExA
-#define CM_Locate_DevInst_Ex CM_Locate_DevNode_ExA
-#endif /* UNICODE */
-
-/* FIXME: Obsolete CM_Merge_Range_List */
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Modify_Res_Des(
- OUT PRES_DES prdResDes,
- IN RES_DES rdResDes,
- IN RESOURCEID ResourceID,
- IN PCVOID ResourceData,
- IN ULONG ResourceLen,
- IN ULONG ulFlags);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Modify_Res_Des_Ex(
- OUT PRES_DES prdResDes,
- IN RES_DES rdResDes,
- IN RESOURCEID ResourceID,
- IN PCVOID ResourceData,
- IN ULONG ResourceLen,
- IN ULONG ulFlags,
- IN HMACHINE hMachine);
-
-/* FIXME: Obsolete CM_Move_DevNode */
-/* FIXME: Obsolete CM_Move_DevNode_Ex */
-/* FIXME: Obsolete CM_Next_Range */
-/* FIXME: Obsolete CM_Open_Class_Key */
-/* FIXME: Obsolete CM_Open_Class_Key_Ex */
-/* FIXME: Obsolete CM_Open_DevNode_Key */
-/* FIXME: Obsolete CM_Open_DevNode_Key_Ex */
-
-/* CM_Query_And_Remove_SubTree.ulFlags constants */
-#define CM_REMOVE_UI_OK 0x00000000
-#define CM_REMOVE_UI_NOT_OK 0x00000001
-#define CM_REMOVE_NO_RESTART 0x00000002
-#define CM_REMOVE_BITS 0x00000003
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Query_And_Remove_SubTreeA(
- IN DEVINST dnAncestor,
- OUT PPNP_VETO_TYPE pVetoType,
- OUT LPSTR pszVetoName,
- IN ULONG ulNameLength,
- IN ULONG ulFlags);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Query_And_Remove_SubTreeW(
- IN DEVINST dnAncestor,
- OUT PPNP_VETO_TYPE pVetoType,
- OUT LPWSTR pszVetoName,
- IN ULONG ulNameLength,
- IN ULONG ulFlags);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Query_And_Remove_SubTree_ExA(
- IN DEVINST dnAncestor,
- OUT PPNP_VETO_TYPE pVetoType,
- OUT LPSTR pszVetoName,
- IN ULONG ulNameLength,
- IN ULONG ulFlags,
- IN HMACHINE hMachine);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Query_And_Remove_SubTree_ExW(
- IN DEVINST dnAncestor,
- OUT PPNP_VETO_TYPE pVetoType,
- OUT LPWSTR pszVetoName,
- IN ULONG ulNameLength,
- IN ULONG ulFlags,
- IN HMACHINE hMachine);
-
-/* FIXME: Obsolete CM_Query_Arbitrator_Free_Data */
-/* FIXME: Obsolete CM_Query_Arbitrator_Free_Data_Ex */
-/* FIXME: Obsolete CM_Query_Arbitrator_Free_Size */
-/* FIXME: Obsolete CM_Query_Arbitrator_Free_Size_Ex */
-/* FIXME: Obsolete CM_Query_Arbitrator_Free_Size_Ex */
-/* FIXME: Obsolete CM_Query_Remove_SubTree */
-/* FIXME: Obsolete CM_Query_Remove_SubTree_Ex */
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Query_Resource_Conflict_List(
- OUT PCONFLICT_LIST pclConflictList,
- IN DEVINST dnDevInst,
- IN RESOURCEID ResourceID,
- IN PCVOID ResourceData,
- IN ULONG ResourceLen,
- IN ULONG ulFlags,
- IN HMACHINE hMachine);
-
-/* CM_Reenumerate_DevNode.ulFlags constants */
-#define CM_REENUMERATE_NORMAL 0x00000000
-#define CM_REENUMERATE_SYNCHRONOUS 0x00000001
-#define CM_REENUMERATE_RETRY_INSTALLATION 0x00000002
-#define CM_REENUMERATE_ASYNCHRONOUS 0x00000004
-#define CM_REENUMERATE_BITS 0x00000007
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Reenumerate_DevNode(
- IN DEVINST dnDevInst,
- IN ULONG ulFlags);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Reenumerate_DevNode_Ex(
- IN DEVINST dnDevInst,
- IN ULONG ulFlags,
- IN HMACHINE hMachine);
-
-#define CM_Reenumerate_DevInst CM_Reenumerate_DevNode
-#define CM_Reenumerate_DevInst_Ex CM_Reenumerate_DevNode_Ex
-
-/* FIXME: Obsolete CM_Register_Device_Driver */
-/* FIXME: Obsolete CM_Register_Device_Driver_Ex */
-/* FIXME: Obsolete CM_Register_Device_Interface */
-/* FIXME: Obsolete CM_Register_Device_Interface_Ex */
-/* FIXME: Obsolete CM_Remove_SubTree */
-/* FIXME: Obsolete CM_Remove_SubTree_Ex */
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Request_Device_EjectA(
- IN DEVINST dnDevInst,
- OUT PPNP_VETO_TYPE pVetoType,
- OUT LPSTR pszVetoName,
- IN ULONG ulNameLength,
- IN ULONG ulFlags);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Request_Device_Eject_ExW(
- IN DEVINST dnDevInst,
- OUT PPNP_VETO_TYPE pVetoType,
- OUT LPWSTR pszVetoName,
- IN ULONG ulNameLength,
- IN ULONG ulFlags,
- IN HMACHINE hMachine);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Request_Device_Eject_ExA(
- IN DEVINST dnDevInst,
- OUT PPNP_VETO_TYPE pVetoType,
- OUT LPSTR pszVetoName,
- IN ULONG ulNameLength,
- IN ULONG ulFlags,
- IN HMACHINE hMachine);
-
-CMAPI
-CONFIGRET
-WINAPI
-CM_Request_Device_EjectW(
- IN DEVINST dnDevInst,
- OUT PPNP_VETO_TYPE pVetoType,
- OUT LPWSTR pszVetoName,
- IN ULONG ulNameLength,
- IN ULONG ulFlags);
-
-#ifdef UNICODE
-#define CM_Request_Device_Eject CM_Request_Device_EjectW
-#define CM_Request_Device_Eject_Ex CM_Request_Device_Eject_ExW
-#else
-#define CM_Request_Device_Eject CM_Request_Device_EjectA
-#define CM_Request_Device_Eject_Ex CM_Request_Device_Eject_ExA
-#endif /* UNICODE */
-
-/* FIXME: Obsolete CM_Request_Eject_PC */
-/* FIXME: Obsolete CM_Request_Eject_PC_Ex */
-/* FIXME: Obsolete CM_Run_Detection */
-/* FIXME: Obsolete CM_Run_Detection_Ex */
-/* FIXME: Obsolete CM_Set_Class_Registry_Property */
-/* FIXME: Obsolete CM_Set_DevNode_Problem */
-/* FIXME: Obsolete CM_Set_DevNode_Problem_Ex */
-/* FIXME: Obsolete CM_Set_DevNode_Registry_Property */
-/* FIXME: Obsolete CM_Set_DevNode_Registry_Property_Ex */
-/* FIXME: Obsolete CM_Set_HW_Prof */
-/* FIXME: Obsolete CM_Set_HW_Prof_Ex */
-/* FIXME: Obsolete CM_Set_HW_Prof_Flags */
-/* FIXME: Obsolete CM_Set_HW_Prof_Flags_Ex */
-/* FIXME: Obsolete CM_Setup_DevNode */
-/* FIXME: Obsolete CM_Setup_DevNode_Ex */
-/* FIXME: Obsolete CM_Test_Range_Available */
-/* FIXME: Obsolete CM_Uninstall_DevNode */
-/* FIXME: Obsolete CM_Uninstall_DevNode_Ex */
-/* FIXME: Obsolete CM_Unregister_Device_Interface */
-/* FIXME: Obsolete CM_Unregister_Device_Interface_Ex */
-
-#define CM_WaitNoPendingInstallEvents CMP_WaitNoPendingInstallEvents
-
-CMAPI
-DWORD
-WINAPI
-CMP_WaitNoPendingInstallEvents(
- IN DWORD dwTimeout);
-
-#include <poppack.h>
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __CFGMGR32_H */
diff --git a/winsup/w32api/include/ddk/d4drvif.h b/winsup/w32api/include/ddk/d4drvif.h
deleted file mode 100644
index c10e78170..000000000
--- a/winsup/w32api/include/ddk/d4drvif.h
+++ /dev/null
@@ -1,104 +0,0 @@
-/*
- * d4drvif.h
- *
- * DOT4 driver IOCTL interface
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- * Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __D4DRVIF_H
-#define __D4DRVIF_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-#include "d4iface.h"
-
-#define FILE_DEVICE_DOT4 0x3a
-#define IOCTL_DOT4_USER_BASE 2049
-
-#define IOCTL_DOT4_ADD_ACTIVITY_BROADCAST \
- CTL_CODE(FILE_DEVICE_DOT4, IOCTL_DOT4_USER_BASE + 4, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_DOT4_CLOSE_CHANNEL \
- CTL_CODE(FILE_DEVICE_DOT4, IOCTL_DOT4_USER_BASE + 1, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_DOT4_CREATE_SOCKET \
- CTL_CODE(FILE_DEVICE_DOT4, IOCTL_DOT4_USER_BASE + 7, METHOD_OUT_DIRECT, FILE_ANY_ACCESS)
-
-#define IOCTL_DOT4_DESTROY_SOCKET \
- CTL_CODE(FILE_DEVICE_DOT4, IOCTL_DOT4_USER_BASE + 9, METHOD_OUT_DIRECT, FILE_ANY_ACCESS)
-
-#define IOCTL_DOT4_OPEN_CHANNEL \
- CTL_CODE(FILE_DEVICE_DOT4, IOCTL_DOT4_USER_BASE + 0, METHOD_OUT_DIRECT, FILE_ANY_ACCESS)
-
-#define IOCTL_DOT4_READ \
- CTL_CODE(FILE_DEVICE_DOT4, IOCTL_DOT4_USER_BASE + 2, METHOD_OUT_DIRECT, FILE_ANY_ACCESS)
-
-#define IOCTL_DOT4_REMOVE_ACTIVITY_BROADCAST \
- CTL_CODE(FILE_DEVICE_DOT4, IOCTL_DOT4_USER_BASE + 5, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_DOT4_WAIT_ACTIVITY_BROADCAST \
- CTL_CODE(FILE_DEVICE_DOT4, IOCTL_DOT4_USER_BASE + 6, METHOD_OUT_DIRECT, FILE_ANY_ACCESS)
-
-#define IOCTL_DOT4_WAIT_FOR_CHANNEL \
- CTL_CODE(FILE_DEVICE_DOT4, IOCTL_DOT4_USER_BASE + 8, METHOD_OUT_DIRECT, FILE_ANY_ACCESS)
-
-#define IOCTL_DOT4_WRITE \
- CTL_CODE(FILE_DEVICE_DOT4, IOCTL_DOT4_USER_BASE + 3, METHOD_IN_DIRECT, FILE_ANY_ACCESS)
-
-
-#define MAX_SERVICE_LENGTH 40
-
-typedef struct _DOT4_DC_CREATE_DATA {
- unsigned char bPsid;
- CHAR pServiceName[MAX_SERVICE_LENGTH + 1];
- unsigned char bType;
- ULONG ulBufferSize;
- USHORT usMaxHtoPPacketSize;
- USHORT usMaxPtoHPacketSize;
- unsigned char bHsid;
-} DOT4_DC_CREATE_DATA, *PDOT4_DC_CREATE_DATA;
-
-typedef struct _DOT4_DC_DESTROY_DATA {
- unsigned char bHsid;
-} DOT4_DC_DESTROY_DATA, *PDOT4_DC_DESTROY_DATA;
-
-typedef struct _DOT4_DC_OPEN_DATA {
- unsigned char bHsid;
- unsigned char fAddActivity;
- CHANNEL_HANDLE hChannelHandle;
-} DOT4_DC_OPEN_DATA, *PDOT4_DC_OPEN_DATA;
-
-typedef struct _DOT4_DRIVER_CMD {
- CHANNEL_HANDLE hChannelHandle;
- ULONG ulSize;
- ULONG ulOffset;
- ULONG ulTimeout;
-} DOT4_DRIVER_CMD, *PDOT4_DRIVER_CMD;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __D4DRVIF_H */
diff --git a/winsup/w32api/include/ddk/d4iface.h b/winsup/w32api/include/ddk/d4iface.h
deleted file mode 100644
index 245bc4c82..000000000
--- a/winsup/w32api/include/ddk/d4iface.h
+++ /dev/null
@@ -1,84 +0,0 @@
-/*
- * d4iface.h
- *
- * DOT4 interface
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- * Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __D4IFACE_H
-#define __D4IFACE_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-
-#define DOT4_MAX_CHANNELS 128
-#define NO_TIMEOUT 0
-
-#define DOT4_CHANNEL 0
-#define HP_MESSAGE_PROCESSOR 1
-#define PRINTER_CHANNEL 2
-#define SCANNER_CHANNEL 4
-#define MIO_COMMAND_PROCESSOR 5
-#define ECHO_CHANNEL 6
-#define FAX_SEND_CHANNEL 7
-#define FAX_RECV_CHANNEL 8
-#define DIAGNOSTIC_CHANNEL 9
-#define HP_RESERVED 10
-#define IMAGE_DOWNLOAD 11
-#define HOST_DATASTORE_UPLOAD 12
-#define HOST_DATASTORE_DOWNLOAD 13
-#define CONFIG_UPLOAD 14
-#define CONFIG_DOWNLOAD 15
-
-#define STREAM_TYPE_CHANNEL 1
-#define PACKET_TYPE_CHANNEL 2
-
-/* DOT4_ACTIVITY.ulMessage flags */
-#define DOT4_STREAM_RECEIVED 0x100
-#define DOT4_STREAM_CREDITS 0x101
-#define DOT4_MESSAGE_RECEIVED 0x102
-#define DOT4_DISCONNECT 0x103
-#define DOT4_CHANNEL_CLOSED 0x105
-
-typedef unsigned long CHANNEL_HANDLE, *PCHANNEL_HANDLE;
-
-typedef struct _DOT4_ACTIVITY {
- ULONG ulMessage;
- ULONG ulByteCount;
- CHANNEL_HANDLE hChannel;
-} DOT4_ACTIVITY, *PDOT4_ACTIVITY;
-
-typedef struct _DOT4_WMI_XFER_INFO {
- ULONG ulStreamBytesWritten;
- ULONG ulStreamBytesRead;
- ULONG ulPacketBytesWritten;
- ULONG ulPacketBytesRead;
-} DOT4_WMI_XFER_INFO, *PDOT4_WMI_XFER_INFO;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __D4IFACE_H */
diff --git a/winsup/w32api/include/ddk/ddkmapi.h b/winsup/w32api/include/ddk/ddkmapi.h
deleted file mode 100644
index e5d4fee15..000000000
--- a/winsup/w32api/include/ddk/ddkmapi.h
+++ /dev/null
@@ -1,334 +0,0 @@
-/*
- * ddkmapi.h
- *
- * DirectDraw support for DxApi function
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- * Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __DDKMAPI_H
-#define __DDKMAPI_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-
-#if defined(_DXAPI_)
- #define DXAPI DECLSPEC_EXPORT
-#else
- #define DXAPI DECLSPEC_IMPORT
-#endif
-
-DXAPI
-DWORD
-FAR PASCAL
-DxApi(
- IN DWORD dwFunctionNum,
- IN LPVOID lpvInBuffer,
- IN DWORD cbInBuffer,
- OUT LPVOID lpvOutBuffer,
- OUT DWORD cbOutBuffer);
-
-typedef DWORD (FAR PASCAL *LPDXAPI)(
- DWORD dwFunctionNum,
- LPVOID lpvInBuffer,
- DWORD cbInBuffer,
- LPVOID lpvOutBuffer,
- DWORD cbOutBuffer);
-
-
-#define DXAPI_MAJORVERSION 1
-#define DXAPI_MINORVERSION 0
-
-#define DD_FIRST_DXAPI 0x500
-
-#define DD_DXAPI_GETVERSIONNUMBER (DD_FIRST_DXAPI)
-#define DD_DXAPI_CLOSEHANDLE (DD_FIRST_DXAPI+1)
-#define DD_DXAPI_OPENDIRECTDRAW (DD_FIRST_DXAPI+2)
-#define DD_DXAPI_OPENSURFACE (DD_FIRST_DXAPI+3)
-#define DD_DXAPI_OPENVIDEOPORT (DD_FIRST_DXAPI+4)
-#define DD_DXAPI_GETKERNELCAPS (DD_FIRST_DXAPI+5)
-#define DD_DXAPI_GET_VP_FIELD_NUMBER (DD_FIRST_DXAPI+6)
-#define DD_DXAPI_SET_VP_FIELD_NUMBER (DD_FIRST_DXAPI+7)
-#define DD_DXAPI_SET_VP_SKIP_FIELD (DD_FIRST_DXAPI+8)
-#define DD_DXAPI_GET_SURFACE_STATE (DD_FIRST_DXAPI+9)
-#define DD_DXAPI_SET_SURFACE_STATE (DD_FIRST_DXAPI+10)
-#define DD_DXAPI_LOCK (DD_FIRST_DXAPI+11)
-#define DD_DXAPI_FLIP_OVERLAY (DD_FIRST_DXAPI+12)
-#define DD_DXAPI_FLIP_VP (DD_FIRST_DXAPI+13)
-#define DD_DXAPI_GET_CURRENT_VP_AUTOFLIP_SURFACE (DD_FIRST_DXAPI+14)
-#define DD_DXAPI_GET_LAST_VP_AUTOFLIP_SURFACE (DD_FIRST_DXAPI+15)
-#define DD_DXAPI_REGISTER_CALLBACK (DD_FIRST_DXAPI+16)
-#define DD_DXAPI_UNREGISTER_CALLBACK (DD_FIRST_DXAPI+17)
-#define DD_DXAPI_GET_POLARITY (DD_FIRST_DXAPI+18)
-#define DD_DXAPI_OPENVPCAPTUREDEVICE (DD_FIRST_DXAPI+19)
-#define DD_DXAPI_ADDVPCAPTUREBUFFER (DD_FIRST_DXAPI+20)
-#define DD_DXAPI_FLUSHVPCAPTUREBUFFERS (DD_FIRST_DXAPI+21)
-
-
-typedef struct _DDCAPBUFFINFO {
- DWORD dwFieldNumber;
- DWORD bPolarity;
- LARGE_INTEGER liTimeStamp;
- DWORD ddRVal;
-} DDCAPBUFFINFO, FAR * LPDDCAPBUFFINFO;
-
-/* DDADDVPCAPTUREBUFF.dwFlags constants */
-#define DDADDBUFF_SYSTEMMEMORY 0x0001
-#define DDADDBUFF_NONLOCALVIDMEM 0x0002
-#define DDADDBUFF_INVERT 0x0004
-
-typedef struct _DDADDVPCAPTUREBUFF {
- HANDLE hCapture;
- DWORD dwFlags;
- PMDL pMDL;
- PKEVENT pKEvent;
- LPDDCAPBUFFINFO lpBuffInfo;
-} DDADDVPCAPTUREBUFF, FAR * LPDDADDVPCAPTUREBUFF;
-
-typedef struct _DDCLOSEHANDLE {
- HANDLE hHandle;
-} DDCLOSEHANDLE, FAR *LPDDCLOSEHANDLE;
-
-typedef struct _DDFLIPOVERLAY {
- HANDLE hDirectDraw;
- HANDLE hCurrentSurface;
- HANDLE hTargetSurface;
- DWORD dwFlags;
-} DDFLIPOVERLAY, FAR *LPDDFLIPOVERLAY;
-
-typedef struct _DDFLIPVIDEOPORT {
- HANDLE hDirectDraw;
- HANDLE hVideoPort;
- HANDLE hCurrentSurface;
- HANDLE hTargetSurface;
- DWORD dwFlags;
-} DDFLIPVIDEOPORT, FAR *LPDDFLIPVIDEOPORT;
-
-typedef struct _DDGETAUTOFLIPIN {
- HANDLE hDirectDraw;
- HANDLE hVideoPort;
-} DDGETAUTOFLIPIN, FAR *LPDDGETAUTOFLIPIN;
-
-typedef struct _DDGETAUTOFLIPOUT {
- DWORD ddRVal;
- HANDLE hVideoSurface;
- HANDLE hVBISurface;
- BOOL bPolarity;
-} DDGETAUTOFLIPOUT, FAR *LPDDGETAUTOFLIPOUT;
-
-typedef struct _DDGETPOLARITYIN {
- HANDLE hDirectDraw;
- HANDLE hVideoPort;
-} DDGETPOLARITYIN, FAR *LPDDGETPOLARITYIN;
-
-typedef struct _DDGETPOLARITYOUT {
- DWORD ddRVal;
- BOOL bPolarity;
-} DDGETPOLARITYOUT, FAR *LPDDGETPOLARITYOUT;
-
-typedef struct _DDGETSURFACESTATEIN {
- HANDLE hDirectDraw;
- HANDLE hSurface;
-} DDGETSURFACESTATEIN, FAR *LPDDGETSURFACESTATEIN;
-
-/* DDGETSURFACESTATEOUT.dwStateCaps/dwStateStatus constants */
-#define DDSTATE_BOB 0x0001
-#define DDSTATE_WEAVE 0x0002
-#define DDSTATE_EXPLICITLY_SET 0x0004
-#define DDSTATE_SOFTWARE_AUTOFLIP 0x0008
-#define DDSTATE_SKIPEVENFIELDS 0x0010
-
-typedef struct _DDGETSURFACESTATEOUT {
- DWORD ddRVal;
- DWORD dwStateCaps;
- DWORD dwStateStatus;
-} DDGETSURFACESTATEOUT, FAR *LPDDGETSURFACESTATEOUT;
-
-typedef struct _DDGETFIELDNUMIN {
- HANDLE hDirectDraw;
- HANDLE hVideoPort;
-} DDGETFIELDNUMIN, FAR *LPDDGETFIELDNUMIN;
-
-typedef struct _DDGETFIELDNUMOUT {
- DWORD ddRVal;
- DWORD dwFieldNum;
-} DDGETFIELDNUMOUT, FAR *LPDDGETFIELDNUMOUT;
-
-typedef struct _DDGETKERNELCAPSOUT {
- DWORD ddRVal;
- DWORD dwCaps;
- DWORD dwIRQCaps;
-} DDGETKERNELCAPSOUT, FAR *LPDDGETKERNELCAPSOUT;
-
-typedef struct _DDGETVERSIONNUMBER {
- DWORD ddRVal;
- DWORD dwMajorVersion;
- DWORD dwMinorVersion;
-} DDGETVERSIONNUMBER, FAR *LPDDGETVERSIONNUMBER;
-
-typedef struct _DDLOCKIN {
- HANDLE hDirectDraw;
- HANDLE hSurface;
-} DDLOCKIN, FAR *LPDDLOCKIN;
-
-typedef struct _DDLOCKOUT {
- DWORD ddRVal;
- DWORD dwSurfHeight;
- DWORD dwSurfWidth;
- LONG lSurfPitch;
- PVOID lpSurface;
- DWORD SurfaceCaps;
- DWORD dwFormatFlags;
- DWORD dwFormatFourCC;
- DWORD dwFormatBitCount;
- _ANONYMOUS_UNION union {
- DWORD dwRBitMask;
- DWORD dwYBitMask;
- } DUMMYUNIONNAME;
- _ANONYMOUS_UNION union {
- DWORD dwGBitMask;
- DWORD dwUBitMask;
- } DUMMYUNIONNAME2;
- _ANONYMOUS_UNION union {
- DWORD dwBBitMask;
- DWORD dwVBitMask;
- } DUMMYUNIONNAME3;
-} DDLOCKOUT, FAR *LPDDLOCKOUT;
-
-/* LPDD_NOTIFYCALLBACK.dwFlags constants */
-#define DDNOTIFY_DISPLAY_VSYNC 0x0001
-#define DDNOTIFY_VP_VSYNC 0x0002
-#define DDNOTIFY_VP_LINE 0x0004
-#define DDNOTIFY_PRERESCHANGE 0x0008
-#define DDNOTIFY_POSTRESCHANGE 0x0010
-#define DDNOTIFY_PREDOSBOX 0x0020
-#define DDNOTIFY_POSTDOSBOX 0x0040
-#define DDNOTIFY_CLOSEDIRECTDRAW 0x0080
-#define DDNOTIFY_CLOSESURFACE 0x0100
-#define DDNOTIFY_CLOSEVIDEOPORT 0x0200
-#define DDNOTIFY_CLOSECAPTURE 0x0400
-
-typedef ULONG (FAR PASCAL *LPDD_NOTIFYCALLBACK)(
- DWORD dwFlags,
- PVOID pContext,
- DWORD dwParam1,
- DWORD dwParam2);
-
-typedef struct _DDOPENDIRECTDRAWIN {
- ULONG_PTR dwDirectDrawHandle;
- LPDD_NOTIFYCALLBACK pfnDirectDrawClose;
- PVOID pContext;
-} DDOPENDIRECTDRAWIN, FAR *LPDDOPENDIRECTDRAWIN;
-
-typedef struct _DDOPENDIRECTDRAWOUT {
- DWORD ddRVal;
- HANDLE hDirectDraw;
-} DDOPENDIRECTDRAWOUT, FAR *LPDDOPENDIRECTDRAWOUT;
-
-typedef struct _DDOPENSURFACEIN {
- HANDLE hDirectDraw;
- ULONG_PTR dwSurfaceHandle;
- LPDD_NOTIFYCALLBACK pfnSurfaceClose;
- PVOID pContext;
-} DDOPENSURFACEIN, FAR *LPDDOPENSURFACEIN;
-
-typedef struct _DDOPENSURFACEOUT {
- DWORD ddRVal;
- HANDLE hSurface;
-} DDOPENSURFACEOUT, FAR *LPDDOPENSURFACEOUT;
-
-typedef struct _DDOPENVIDEOPORTIN {
- HANDLE hDirectDraw;
- ULONG dwVideoPortHandle;
- LPDD_NOTIFYCALLBACK pfnVideoPortClose;
- PVOID pContext;
-} DDOPENVIDEOPORTIN, FAR *LPDDOPENVIDEOPORTIN;
-
-typedef struct _DDOPENVIDEOPORTOUT {
- DWORD ddRVal;
- HANDLE hVideoPort;
-} DDOPENVIDEOPORTOUT, FAR *LPDDOPENVIDEOPORTOUT;
-
-/* DDOPENVPCAPTUREDEVICEIN.dwFlags constants */
-#define DDOPENCAPTURE_VIDEO 0x0001
-#define DDOPENCAPTURE_VBI 0x0002
-
-typedef struct _DDOPENVPCAPTUREDEVICEIN {
- HANDLE hDirectDraw;
- HANDLE hVideoPort;
- DWORD dwStartLine;
- DWORD dwEndLine;
- DWORD dwCaptureEveryNFields;
- LPDD_NOTIFYCALLBACK pfnCaptureClose;
- PVOID pContext;
- DWORD dwFlags;
-} DDOPENVPCAPTUREDEVICEIN, FAR * LPDDOPENVPCAPTUREDEVICEIN;
-
-typedef struct _DDOPENVPCAPTUREDEVICEOUT {
- DWORD ddRVal;
- HANDLE hCapture;
-} DDOPENVPCAPTUREDEVICEOUT, FAR * LPDDOPENVPCAPTUREDEVICEOUT;
-
-/* DDREGISTERCALLBACK.dwEvents constants */
-#define DDEVENT_DISPLAY_VSYNC 0x0001
-#define DDEVENT_VP_VSYNC 0x0002
-#define DDEVENT_VP_LINE 0x0004
-#define DDEVENT_PRERESCHANGE 0x0008
-#define DDEVENT_POSTRESCHANGE 0x0010
-#define DDEVENT_PREDOSBOX 0x0020
-#define DDEVENT_POSTDOSBOX 0x0040
-
-typedef struct _DDREGISTERCALLBACK {
- HANDLE hDirectDraw;
- ULONG dwEvents;
- LPDD_NOTIFYCALLBACK pfnCallback;
- ULONG_PTR dwParam1;
- ULONG_PTR dwParam2;
- PVOID pContext;
-} DDREGISTERCALLBACK, FAR *LPDDREGISTERCALLBACK;
-
-typedef struct _DDSETSURFACETATE {
- HANDLE hDirectDraw;
- HANDLE hSurface;
- DWORD dwState;
- DWORD dwStartField;
-} DDSETSURFACESTATE, FAR *LPDDSETSURFACESTATE;
-
-typedef struct _DDSETFIELDNUM {
- HANDLE hDirectDraw;
- HANDLE hVideoPort;
- DWORD dwFieldNum;
-} DDSETFIELDNUM, FAR *LPDDSETFIELDNUM;
-
-typedef struct _DDSETSKIPFIELD {
- HANDLE hDirectDraw;
- HANDLE hVideoPort;
- DWORD dwStartField;
-} DDSETSKIPFIELD, FAR *LPDDSETSKIPFIELD;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __DDKMAPI_H */
diff --git a/winsup/w32api/include/ddk/hidclass.h b/winsup/w32api/include/ddk/hidclass.h
deleted file mode 100644
index 8d52e45b1..000000000
--- a/winsup/w32api/include/ddk/hidclass.h
+++ /dev/null
@@ -1,153 +0,0 @@
-/*
- * hidclass.h
- *
- * HID class driver interface
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- * Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __HIDCLASS_H
-#define __HIDCLASS_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-#include "hidpi.h"
-
-#define HID_REVISION 0x00000001
-
-DEFINE_GUID (GUID_DEVINTERFACE_HID, \
- 0x4D1E55B2L, 0xF16F, 0x11CF, 0x88, 0xCB, 0x00, 0x11, 0x11, 0x00, 0x00, 0x30);
-DEFINE_GUID (GUID_HID_INTERFACE_NOTIFY, \
- 0x2c4e2e88L, 0x25e6, 0x4c33, 0x88, 0x2f, 0x3d, 0x82, 0xe6, 0x07, 0x36, 0x81);
-DEFINE_GUID (GUID_HID_INTERFACE_HIDPARSE, \
- 0xf5c315a5, 0x69ac, 0x4bc2, 0x92, 0x79, 0xd0, 0xb6, 0x45, 0x76, 0xf4, 0x4b);
-
-#define GUID_CLASS_INPUT GUID_DEVINTERFACE_HID
-
-#define GUID_CLASS_INPUT_STR "4D1E55B2-F16F-11CF-88CB-001111000030"
-
-
-#define HID_CTL_CODE(id) \
- CTL_CODE (FILE_DEVICE_KEYBOARD, (id), METHOD_NEITHER, FILE_ANY_ACCESS)
-#define HID_BUFFER_CTL_CODE(id) \
- CTL_CODE (FILE_DEVICE_KEYBOARD, (id), METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define HID_IN_CTL_CODE(id) \
- CTL_CODE (FILE_DEVICE_KEYBOARD, (id), METHOD_IN_DIRECT, FILE_ANY_ACCESS)
-#define HID_OUT_CTL_CODE(id) \
- CTL_CODE (FILE_DEVICE_KEYBOARD, (id), METHOD_OUT_DIRECT, FILE_ANY_ACCESS)
-
-
-#define IOCTL_GET_PHYSICAL_DESCRIPTOR HID_OUT_CTL_CODE(102)
-#define IOCTL_HID_FLUSH_QUEUE HID_CTL_CODE(101)
-#define IOCTL_HID_GET_COLLECTION_DESCRIPTOR HID_CTL_CODE(100)
-#define IOCTL_HID_GET_COLLECTION_INFORMATION HID_BUFFER_CTL_CODE(106)
-#define IOCTL_HID_GET_FEATURE HID_OUT_CTL_CODE(100)
-#define IOCTL_HID_GET_HARDWARE_ID HID_OUT_CTL_CODE(103)
-#define IOCTL_HID_GET_INDEXED_STRING HID_OUT_CTL_CODE(120)
-#define IOCTL_HID_GET_INPUT_REPORT HID_OUT_CTL_CODE(104)
-#define IOCTL_HID_GET_MANUFACTURER_STRING HID_OUT_CTL_CODE(110)
-#define IOCTL_GET_NUM_DEVICE_INPUT_BUFFERS HID_BUFFER_CTL_CODE(104)
-#define IOCTL_HID_GET_POLL_FREQUENCY_MSEC HID_BUFFER_CTL_CODE(102)
-#define IOCTL_HID_GET_PRODUCT_STRING HID_OUT_CTL_CODE(111)
-#define IOCTL_HID_GET_SERIALNUMBER_STRING HID_OUT_CTL_CODE(112)
-#define IOCTL_HID_SET_FEATURE HID_IN_CTL_CODE(100)
-#define IOCTL_SET_NUM_DEVICE_INPUT_BUFFERS HID_BUFFER_CTL_CODE(105)
-#define IOCTL_HID_SET_OUTPUT_REPORT HID_IN_CTL_CODE(101)
-#define IOCTL_HID_SET_POLL_FREQUENCY_MSEC HID_BUFFER_CTL_CODE(103)
-
-#define IOCTL_HID_GET_DRIVER_CONFIG HID_BUFFER_CTL_CODE(100)
-#define IOCTL_HID_SET_DRIVER_CONFIG HID_BUFFER_CTL_CODE(101)
-#define IOCTL_HID_GET_MS_GENRE_DESCRIPTOR HID_OUT_CTL_CODE(121)
-
-
-enum DeviceObjectState {
- DeviceObjectStarted = 0,
- DeviceObjectStopped,
- DeviceObjectRemoved
-};
-
-typedef VOID DDKAPI (*PHID_STATUS_CHANGE)(
- PVOID Context,
- enum DeviceObjectState State);
-
-typedef NTSTATUS DDKAPI (*PHIDP_GETCAPS)(
- IN PHIDP_PREPARSED_DATA PreparsedData,
- OUT PHIDP_CAPS Capabilities);
-
-typedef struct _HID_COLLECTION_INFORMATION {
- ULONG DescriptorSize;
- BOOLEAN Polled;
- UCHAR Reserved1[1];
- USHORT VendorID;
- USHORT ProductID;
- USHORT VersionNumber;
-} HID_COLLECTION_INFORMATION, *PHID_COLLECTION_INFORMATION;
-
-typedef struct _HID_DRIVER_CONFIG {
- ULONG Size;
- ULONG RingBufferSize;
-} HID_DRIVER_CONFIG, *PHID_DRIVER_CONFIG;
-
-typedef struct _HID_INTERFACE_HIDPARSE {
-#ifdef __cplusplus
- INTERFACE i;
-#else
- /* GCC doesn't support including unnamed structs, so INTERFACE is
- expanded here */
- USHORT Size;
- USHORT Version;
- PVOID Context;
- PINTERFACE_REFERENCE InterfaceReference;
- PINTERFACE_DEREFERENCE InterfaceDereference;
-#endif
- PHIDP_GETCAPS HidpGetCaps;
-} HID_INTERFACE_HIDPARSE, *PHID_INTERFACE_HIDPARSE;
-
-typedef struct _HID_INTERFACE_NOTIFY_PNP {
-#ifdef __cplusplus
- INTERFACE i;
-#else
- /* GCC doesn't support including unnamed structs, so INTERFACE is
- expanded here */
- USHORT Size;
- USHORT Version;
- PVOID Context;
- PINTERFACE_REFERENCE InterfaceReference;
- PINTERFACE_DEREFERENCE InterfaceDereference;
-#endif
- PHID_STATUS_CHANGE StatusChangeFn;
- PVOID CallbackContext;
-} HID_INTERFACE_NOTIFY_PNP, *PHID_INTERFACE_NOTIFY_PNP;
-
-typedef struct _HID_XFER_PACKET {
- PUCHAR reportBuffer;
- ULONG reportBufferLen;
- UCHAR reportId;
-} HID_XFER_PACKET, *PHID_XFER_PACKET;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __HIDCLASS_H */
diff --git a/winsup/w32api/include/ddk/hidpi.h b/winsup/w32api/include/ddk/hidpi.h
deleted file mode 100644
index d6021782f..000000000
--- a/winsup/w32api/include/ddk/hidpi.h
+++ /dev/null
@@ -1,604 +0,0 @@
-/*
- * hidpi.h
- *
- * Public Interface for HID parsing library.
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- * Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __HIDPI_H
-#define __HIDPI_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-#include "hidusage.h"
-
-#if defined(_HIDPI_)
- #define HIDAPI DECLSPEC_EXPORT
-#else
- #define HIDAPI DECLSPEC_IMPORT
-#endif
-
-typedef PUCHAR PHIDP_REPORT_DESCRIPTOR;
-typedef struct _HIDP_PREPARSED_DATA * PHIDP_PREPARSED_DATA;
-
-typedef struct _HIDP_UNKNOWN_TOKEN {
- UCHAR Token;
- UCHAR Reserved[3];
- ULONG BitField;
-} HIDP_UNKNOWN_TOKEN, *PHIDP_UNKNOWN_TOKEN;
-
-typedef enum _HIDP_KEYBOARD_DIRECTION {
- HidP_Keyboard_Break,
- HidP_Keyboard_Make
-} HIDP_KEYBOARD_DIRECTION;
-
-typedef struct _HIDP_KEYBOARD_MODIFIER_STATE {
- _ANONYMOUS_UNION union {
- _ANONYMOUS_STRUCT struct {
- ULONG LeftControl : 1;
- ULONG LeftShift : 1;
- ULONG LeftAlt : 1;
- ULONG LeftGUI : 1;
- ULONG RightControl : 1;
- ULONG RightShift : 1;
- ULONG RightAlt : 1;
- ULONG RigthGUI : 1;
- ULONG CapsLock : 1;
- ULONG ScollLock : 1;
- ULONG NumLock : 1;
- ULONG Reserved : 21;
- } DUMMYSTRUCTNAME;
- ULONG ul;
- } DUMMYUNIONNAME;
-} HIDP_KEYBOARD_MODIFIER_STATE, *PHIDP_KEYBOARD_MODIFIER_STATE;
-
-typedef BOOLEAN (DDKAPI *PHIDP_INSERT_SCANCODES)(
- IN PVOID Context,
- IN PCHAR NewScanCodes,
- IN ULONG Length);
-
-typedef struct _USAGE_AND_PAGE {
- USAGE Usage;
- USAGE UsagePage;
-} USAGE_AND_PAGE, *PUSAGE_AND_PAGE;
-
-HIDAPI
-NTSTATUS
-DDKAPI
-HidP_TranslateUsageAndPagesToI8042ScanCodes(
- IN PUSAGE_AND_PAGE ChangedUsageList,
- IN ULONG UsageListLength,
- IN HIDP_KEYBOARD_DIRECTION KeyAction,
- IN OUT PHIDP_KEYBOARD_MODIFIER_STATE ModifierState,
- IN PHIDP_INSERT_SCANCODES InsertCodesProcedure,
- IN PVOID InsertCodesContext);
-
-HIDAPI
-NTSTATUS
-DDKAPI
-HidP_TranslateUsagesToI8042ScanCodes(
- IN PUSAGE ChangedUsageList,
- IN ULONG UsageListLength,
- IN HIDP_KEYBOARD_DIRECTION KeyAction,
- IN OUT PHIDP_KEYBOARD_MODIFIER_STATE ModifierState,
- IN PHIDP_INSERT_SCANCODES InsertCodesProcedure,
- IN PVOID InsertCodesContext);
-
-typedef struct _HIDP_BUTTON_CAPS {
- USAGE UsagePage;
- UCHAR ReportID;
- BOOLEAN IsAlias;
- USHORT BitField;
- USHORT LinkCollection;
- USAGE LinkUsage;
- USAGE LinkUsagePage;
- BOOLEAN IsRange;
- BOOLEAN IsStringRange;
- BOOLEAN IsDesignatorRange;
- BOOLEAN IsAbsolute;
- ULONG Reserved[10];
- _ANONYMOUS_UNION union {
- struct {
- USAGE UsageMin, UsageMax;
- USHORT StringMin, StringMax;
- USHORT DesignatorMin, DesignatorMax;
- USHORT DataIndexMin, DataIndexMax;
- } Range;
- struct {
- USAGE Usage, Reserved1;
- USHORT StringIndex, Reserved2;
- USHORT DesignatorIndex, Reserved3;
- USHORT DataIndex, Reserved4;
- } NotRange;
- } DUMMYUNIONNAME;
-} HIDP_BUTTON_CAPS, *PHIDP_BUTTON_CAPS;
-
-typedef struct _HIDP_CAPS {
- USAGE Usage;
- USAGE UsagePage;
- USHORT InputReportByteLength;
- USHORT OutputReportByteLength;
- USHORT FeatureReportByteLength;
- USHORT Reserved[17];
- USHORT NumberLinkCollectionNodes;
- USHORT NumberInputButtonCaps;
- USHORT NumberInputValueCaps;
- USHORT NumberInputDataIndices;
- USHORT NumberOutputButtonCaps;
- USHORT NumberOutputValueCaps;
- USHORT NumberOutputDataIndices;
- USHORT NumberFeatureButtonCaps;
- USHORT NumberFeatureValueCaps;
- USHORT NumberFeatureDataIndices;
-} HIDP_CAPS, *PHIDP_CAPS;
-
-typedef struct _HIDP_DATA {
- USHORT DataIndex;
- USHORT Reserved;
- _ANONYMOUS_UNION union {
- ULONG RawValue;
- BOOLEAN On;
- } DUMMYUNIONNAME;
-} HIDP_DATA, *PHIDP_DATA;
-
-typedef struct _HIDP_EXTENDED_ATTRIBUTES {
- UCHAR NumGlobalUnknowns;
- UCHAR Reserved[3];
- PHIDP_UNKNOWN_TOKEN GlobalUnknowns;
- ULONG Data[1];
-} HIDP_EXTENDED_ATTRIBUTES, *PHIDP_EXTENDED_ATTRIBUTES;
-
-#define HIDP_LINK_COLLECTION_ROOT ((USHORT) -1)
-#define HIDP_LINK_COLLECTION_UNSPECIFIED ((USHORT) 0)
-
-typedef struct _HIDP_LINK_COLLECTION_NODE {
- USAGE LinkUsage;
- USAGE LinkUsagePage;
- USHORT Parent;
- USHORT NumberOfChildren;
- USHORT NextSibling;
- USHORT FirstChild;
- ULONG CollectionType: 8;
- ULONG IsAlias: 1;
- ULONG Reserved: 23;
- PVOID UserContext;
-} HIDP_LINK_COLLECTION_NODE, *PHIDP_LINK_COLLECTION_NODE;
-
-typedef struct _HIDP_VALUE_CAPS {
- USAGE UsagePage;
- UCHAR ReportID;
- BOOLEAN IsAlias;
- USHORT BitField;
- USHORT LinkCollection;
- USAGE LinkUsage;
- USAGE LinkUsagePage;
- BOOLEAN IsRange;
- BOOLEAN IsStringRange;
- BOOLEAN IsDesignatorRange;
- BOOLEAN IsAbsolute;
- BOOLEAN HasNull;
- UCHAR Reserved;
- USHORT BitSize;
- USHORT ReportCount;
- USHORT Reserved2[5];
- ULONG UnitsExp;
- ULONG Units;
- LONG LogicalMin, LogicalMax;
- LONG PhysicalMin, PhysicalMax;
- _ANONYMOUS_UNION union {
- struct {
- USAGE UsageMin, UsageMax;
- USHORT StringMin, StringMax;
- USHORT DesignatorMin, DesignatorMax;
- USHORT DataIndexMin, DataIndexMax;
- } Range;
- struct {
- USAGE Usage, Reserved1;
- USHORT StringIndex, Reserved2;
- USHORT DesignatorIndex, Reserved3;
- USHORT DataIndex, Reserved4;
- } NotRange;
- } DUMMYUNIONNAME;
-} HIDP_VALUE_CAPS, *PHIDP_VALUE_CAPS;
-
-typedef enum _HIDP_REPORT_TYPE {
- HidP_Input,
- HidP_Output,
- HidP_Feature
-} HIDP_REPORT_TYPE;
-
-#define FACILITY_HID_ERROR_CODE 0x11
-
-#define HIDP_ERROR_CODES(SEV, CODE) \
- ((NTSTATUS) (((SEV) << 28) | (FACILITY_HID_ERROR_CODE << 16) | (CODE)))
-
-#define HIDP_STATUS_SUCCESS (HIDP_ERROR_CODES(0x0, 0))
-#define HIDP_STATUS_NULL (HIDP_ERROR_CODES(0x8, 1))
-#define HIDP_STATUS_INVALID_PREPARSED_DATA (HIDP_ERROR_CODES(0xC, 1))
-#define HIDP_STATUS_INVALID_REPORT_TYPE (HIDP_ERROR_CODES(0xC, 2))
-#define HIDP_STATUS_INVALID_REPORT_LENGTH (HIDP_ERROR_CODES(0xC, 3))
-#define HIDP_STATUS_USAGE_NOT_FOUND (HIDP_ERROR_CODES(0xC, 4))
-#define HIDP_STATUS_VALUE_OUT_OF_RANGE (HIDP_ERROR_CODES(0xC, 5))
-#define HIDP_STATUS_BAD_LOG_PHY_VALUES (HIDP_ERROR_CODES(0xC, 6))
-#define HIDP_STATUS_BUFFER_TOO_SMALL (HIDP_ERROR_CODES(0xC, 7))
-#define HIDP_STATUS_INTERNAL_ERROR (HIDP_ERROR_CODES(0xC, 8))
-#define HIDP_STATUS_I8042_TRANS_UNKNOWN (HIDP_ERROR_CODES(0xC, 9))
-#define HIDP_STATUS_INCOMPATIBLE_REPORT_ID (HIDP_ERROR_CODES(0xC, 0xA))
-#define HIDP_STATUS_NOT_VALUE_ARRAY (HIDP_ERROR_CODES(0xC, 0xB))
-#define HIDP_STATUS_IS_VALUE_ARRAY (HIDP_ERROR_CODES(0xC, 0xC))
-#define HIDP_STATUS_DATA_INDEX_NOT_FOUND (HIDP_ERROR_CODES(0xC, 0xD))
-#define HIDP_STATUS_DATA_INDEX_OUT_OF_RANGE (HIDP_ERROR_CODES(0xC, 0xE))
-#define HIDP_STATUS_BUTTON_NOT_PRESSED (HIDP_ERROR_CODES(0xC, 0xF))
-#define HIDP_STATUS_REPORT_DOES_NOT_EXIST (HIDP_ERROR_CODES(0xC, 0x10))
-#define HIDP_STATUS_NOT_IMPLEMENTED (HIDP_ERROR_CODES(0xC, 0x20))
-#define HIDP_STATUS_I8242_TRANS_UNKNOWN HIDP_STATUS_I8042_TRANS_UNKNOWN
-
-
-
-/*
- * NTSTATUS
- * HidP_GetButtonCaps(
- * IN HIDP_REPORT_TYPE ReportType,
- * OUT PHIDP_BUTTON_CAPS ButtonCaps,
- * IN OUT PULONG ButtonCapsLength,
- * IN PHIDP_PREPARSED_DATA PreparsedData);
- */
-#define HidP_GetButtonCaps(_Type_, _Caps_, _Len_, _Data_) \
- HidP_GetSpecificButtonCaps(_Type_, 0, 0, 0, _Caps_, _Len_, _Data_)
-
-/*
- * NTSTATUS
- * HidP_GetButtons(
- * IN HIDP_REPORT_TYPE ReportType,
- * IN USAGE UsagePage,
- * IN USHORT LinkCollection,
- * OUT USAGE *UsageList,
- * IN OUT ULONG *UsageLength,
- * IN PHIDP_PREPARSED_DATA PreparsedData,
- * IN PCHAR Report,
- * IN ULONG ReportLength);
- */
-#define HidP_GetButtons(Rty, UPa, LCo, ULi, ULe, Ppd, Rep, RLe) \
- HidP_GetUsages(Rty, UPa, LCo, ULi, ULe, Ppd, Rep, RLe)
-
-#define HidP_GetButtonListLength(RTy, UPa, Ppd) \
- HidP_GetUsageListLength(Rty, UPa, Ppd)
-
-
-/*
- * NTSTATUS
- * HidP_GetButtonsEx(
- * IN HIDP_REPORT_TYPE ReportType,
- * IN USHORT LinkCollection,
- * OUT PUSAGE_AND_PAGE ButtonList,
- * IN OUT ULONG *UsageLength,
- * IN PHIDP_PREPARSED_DATA PreparsedData,
- * IN PCHAR Report,
- * IN ULONG ReportLength);
- */
-#define HidP_GetButtonsEx(RT, LC, BL, UL, PD, R, RL) \
- HidP_GetUsagesEx(RT, LC, BL, UL, PD, R, RL)
-
-HIDAPI
-NTSTATUS
-DDKAPI
-HidP_GetCaps(
- IN PHIDP_PREPARSED_DATA PreparsedData,
- OUT PHIDP_CAPS Capabilities);
-
-HIDAPI
-NTSTATUS
-DDKAPI
-HidP_GetData(
- IN HIDP_REPORT_TYPE ReportType,
- OUT PHIDP_DATA DataList,
- IN OUT PULONG DataLength,
- IN PHIDP_PREPARSED_DATA PreparsedData,
- IN PCHAR Report,
- IN ULONG ReportLength);
-
-HIDAPI
-NTSTATUS
-DDKAPI
-HidP_GetExtendedAttributes(
- IN HIDP_REPORT_TYPE ReportType,
- IN USHORT DataIndex,
- IN PHIDP_PREPARSED_DATA PreparsedData,
- OUT PHIDP_EXTENDED_ATTRIBUTES Attributes,
- IN OUT PULONG LengthAttributes);
-
-HIDAPI
-NTSTATUS
-DDKAPI
-HidP_GetLinkCollectionNodes(
- OUT PHIDP_LINK_COLLECTION_NODE LinkCollectionNodes,
- IN OUT PULONG LinkCollectionNodesLength,
- IN PHIDP_PREPARSED_DATA PreparsedData);
-
-HIDAPI
-NTSTATUS
-DDKAPI
-HidP_GetScaledUsageValue(
- IN HIDP_REPORT_TYPE ReportType,
- IN USAGE UsagePage,
- IN USHORT LinkCollection OPTIONAL,
- IN USAGE Usage,
- OUT PLONG UsageValue,
- IN PHIDP_PREPARSED_DATA PreparsedData,
- IN PCHAR Report,
- IN ULONG ReportLength);
-
-HIDAPI
-NTSTATUS
-DDKAPI
-HidP_GetSpecificButtonCaps(
- IN HIDP_REPORT_TYPE ReportType,
- IN USAGE UsagePage,
- IN USHORT LinkCollection,
- IN USAGE Usage,
- OUT PHIDP_BUTTON_CAPS ButtonCaps,
- IN OUT PULONG ButtonCapsLength,
- IN PHIDP_PREPARSED_DATA PreparsedData);
-
-HIDAPI
-NTSTATUS
-DDKAPI
-HidP_GetSpecificValueCaps(
- IN HIDP_REPORT_TYPE ReportType,
- IN USAGE UsagePage,
- IN USHORT LinkCollection,
- IN USAGE Usage,
- OUT PHIDP_VALUE_CAPS ValueCaps,
- IN OUT PULONG ValueCapsLength,
- IN PHIDP_PREPARSED_DATA PreparsedData);
-
-HIDAPI
-NTSTATUS
-DDKAPI
-HidP_GetUsages(
- IN HIDP_REPORT_TYPE ReportType,
- IN USAGE UsagePage,
- IN USHORT LinkCollection OPTIONAL,
- OUT USAGE *UsageList,
- IN OUT ULONG *UsageLength,
- IN PHIDP_PREPARSED_DATA PreparsedData,
- IN PCHAR Report,
- IN ULONG ReportLength);
-
-HIDAPI
-NTSTATUS
-DDKAPI
-HidP_GetUsagesEx(
- IN HIDP_REPORT_TYPE ReportType,
- IN USHORT LinkCollection,
- OUT PUSAGE_AND_PAGE ButtonList,
- IN OUT ULONG *UsageLength,
- IN PHIDP_PREPARSED_DATA PreparsedData,
- IN PCHAR Report,
- IN ULONG ReportLength);
-
-HIDAPI
-NTSTATUS
-DDKAPI
-HidP_GetUsageValue(
- IN HIDP_REPORT_TYPE ReportType,
- IN USAGE UsagePage,
- IN USHORT LinkCollection,
- IN USAGE Usage,
- OUT PULONG UsageValue,
- IN PHIDP_PREPARSED_DATA PreparsedData,
- IN PCHAR Report,
- IN ULONG ReportLength);
-
-HIDAPI
-NTSTATUS
-DDKAPI
-HidP_GetUsageValueArray(
- IN HIDP_REPORT_TYPE ReportType,
- IN USAGE UsagePage,
- IN USHORT LinkCollection OPTIONAL,
- IN USAGE Usage,
- OUT PCHAR UsageValue,
- IN USHORT UsageValueByteLength,
- IN PHIDP_PREPARSED_DATA PreparsedData,
- IN PCHAR Report,
- IN ULONG ReportLength);
-
-/*
- * NTSTATUS
- * HidP_GetValueCaps(
- * IN HIDP_REPORT_TYPE ReportType,
- * OUT PHIDP_VALUE_CAPS ValueCaps,
- * IN OUT PULONG ValueCapsLength,
- * IN PHIDP_PREPARSED_DATA PreparsedData);
- */
-#define HidP_GetValueCaps(_Type_, _Caps_, _Len_, _Data_) \
- HidP_GetSpecificValueCaps (_Type_, 0, 0, 0, _Caps_, _Len_, _Data_)
-
-HIDAPI
-NTSTATUS
-DDKAPI
-HidP_InitializeReportForID(
- IN HIDP_REPORT_TYPE ReportType,
- IN UCHAR ReportID,
- IN PHIDP_PREPARSED_DATA PreparsedData,
- IN OUT PCHAR Report,
- IN ULONG ReportLength);
-
-/*
- * BOOLEAN
- * HidP_IsSameUsageAndPage(
- * USAGE_AND_PAGE u1,
- * USAGE_AND_PAGE u2);
- */
-#define HidP_IsSameUsageAndPage(u1, u2) ((* (PULONG) &u1) == (* (PULONG) &u2))
-
-HIDAPI
-ULONG
-DDKAPI
-HidP_MaxDataListLength(
- IN HIDP_REPORT_TYPE ReportType,
- IN PHIDP_PREPARSED_DATA PreparsedData);
-
-HIDAPI
-ULONG
-DDKAPI
-HidP_MaxUsageListLength(
- IN HIDP_REPORT_TYPE ReportType,
- IN USAGE UsagePage OPTIONAL,
- IN PHIDP_PREPARSED_DATA PreparsedData);
-
-/*
- * NTSTATUS
- * HidP_SetButtons(
- * IN HIDP_REPORT_TYPE ReportType,
- * IN USAGE UsagePage,
- * IN USHORT LinkCollection,
- * IN PUSAGE UsageList,
- * IN OUT PULONG UsageLength,
- * IN PHIDP_PREPARSED_DATA PreparsedData,
- * IN OUT PCHAR Report,
- * IN ULONG ReportLength);
- */
-#define HidP_SetButtons(RT, UP, LC, UL1, UL2, PD, R, RL) \
- HidP_SetUsages(RT, UP, LC, UL1, UL2, PD, R, RL)
-
-HIDAPI
-NTSTATUS
-DDKAPI
-HidP_SetData(
- IN HIDP_REPORT_TYPE ReportType,
- IN PHIDP_DATA DataList,
- IN OUT PULONG DataLength,
- IN PHIDP_PREPARSED_DATA PreparsedData,
- IN OUT PCHAR Report,
- IN ULONG ReportLength);
-
-HIDAPI
-NTSTATUS
-DDKAPI
-HidP_SetScaledUsageValue(
- IN HIDP_REPORT_TYPE ReportType,
- IN USAGE UsagePage,
- IN USHORT LinkCollection OPTIONAL,
- IN USAGE Usage,
- IN LONG UsageValue,
- IN PHIDP_PREPARSED_DATA PreparsedData,
- IN OUT PCHAR Report,
- IN ULONG ReportLength);
-
-HIDAPI
-NTSTATUS
-DDKAPI
-HidP_SetUsages(
- IN HIDP_REPORT_TYPE ReportType,
- IN USAGE UsagePage,
- IN USHORT LinkCollection, /* Optional */
- IN PUSAGE UsageList,
- IN OUT PULONG UsageLength,
- IN PHIDP_PREPARSED_DATA PreparsedData,
- IN OUT PCHAR Report,
- IN ULONG ReportLength);
-
-HIDAPI
-NTSTATUS
-DDKAPI
-HidP_SetUsageValue(
- IN HIDP_REPORT_TYPE ReportType,
- IN USAGE UsagePage,
- IN USHORT LinkCollection,
- IN USAGE Usage,
- IN ULONG UsageValue,
- IN PHIDP_PREPARSED_DATA PreparsedData,
- IN OUT PCHAR Report,
- IN ULONG ReportLength);
-
-HIDAPI
-NTSTATUS
-DDKAPI
-HidP_SetUsageValueArray(
- IN HIDP_REPORT_TYPE ReportType,
- IN USAGE UsagePage,
- IN USHORT LinkCollection OPTIONAL,
- IN USAGE Usage,
- IN PCHAR UsageValue,
- IN USHORT UsageValueByteLength,
- IN PHIDP_PREPARSED_DATA PreparsedData,
- OUT PCHAR Report,
- IN ULONG ReportLength);
-
-/*
- * NTSTATUS
- * HidP_UnsetButtons(
- * IN HIDP_REPORT_TYPE ReportType,
- * IN USAGE UsagePage,
- * IN USHORT LinkCollection,
- * IN PUSAGE UsageList,
- * IN OUT PULONG UsageLength,
- * IN PHIDP_PREPARSED_DATA PreparsedData,
- * IN OUT PCHAR Report,
- * IN ULONG ReportLength);
- */
-#define HidP_UnsetButtons(RT, UP, LC, UL1, UL2, PD, R, RL) \
- HidP_UnsetUsages(RT, UP, LC, UL1, UL2, PD, R, RL)
-
-HIDAPI
-NTSTATUS
-DDKAPI
-HidP_UnsetUsages(
- IN HIDP_REPORT_TYPE ReportType,
- IN USAGE UsagePage,
- IN USHORT LinkCollection,
- IN PUSAGE UsageList,
- IN OUT PULONG UsageLength,
- IN PHIDP_PREPARSED_DATA PreparsedData,
- IN OUT PCHAR Report,
- IN ULONG ReportLength);
-
-HIDAPI
-NTSTATUS
-DDKAPI
-HidP_UsageAndPageListDifference(
- IN PUSAGE_AND_PAGE PreviousUsageList,
- IN PUSAGE_AND_PAGE CurrentUsageList,
- OUT PUSAGE_AND_PAGE BreakUsageList,
- OUT PUSAGE_AND_PAGE MakeUsageList,
- IN ULONG UsageListLength);
-
-HIDAPI
-NTSTATUS
-DDKAPI
-HidP_UsageListDifference(
- IN PUSAGE PreviousUsageList,
- IN PUSAGE CurrentUsageList,
- OUT PUSAGE BreakUsageList,
- OUT PUSAGE MakeUsageList,
- IN ULONG UsageListLength);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __HIDPI_H */
diff --git a/winsup/w32api/include/ddk/hidsdi.h b/winsup/w32api/include/ddk/hidsdi.h
deleted file mode 100755
index eee6a9611..000000000
--- a/winsup/w32api/include/ddk/hidsdi.h
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * hidsdi.h
- *
- * This file is part of the w32api package.
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- */
-
-#ifndef _HIDSDI_H
-#define _HIDSDI_H
-
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <ddk/hidusage.h>
-#include <ddk/hidpi.h>
-
-#ifndef WINHIDSDI
-#define WINHIDSDI DECLSPEC_IMPORT
-#endif
-
-#include <pshpack4.h>
-
-typedef struct _HIDD_CONFIGURATION {
- PVOID cookie;
- ULONG size;
- ULONG RingBufferSize;
-} HIDD_CONFIGURATION, *PHIDD_CONFIGURATION;
-
-typedef struct _HIDD_ATTRIBUTES {
- ULONG Size;
- USHORT VendorID;
- USHORT ProductID;
- USHORT VersionNumber;
-} HIDD_ATTRIBUTES, *PHIDD_ATTRIBUTES;
-
-WINHIDSDI BOOL WINAPI HidD_GetAttributes (HANDLE, PHIDD_ATTRIBUTES);
-WINHIDSDI VOID WINAPI HidD_GetHidGuid (LPGUID);
-WINHIDSDI BOOL WINAPI HidD_GetPreparsedData(HANDLE, PHIDP_PREPARSED_DATA *);
-WINHIDSDI BOOL WINAPI HidD_FreePreparsedData(PHIDP_PREPARSED_DATA);
-WINHIDSDI BOOL WINAPI HidD_FlushQueue (HANDLE);
-WINHIDSDI BOOL WINAPI HidD_GetConfiguration (HANDLE, PHIDD_CONFIGURATION, ULONG);
-WINHIDSDI BOOL WINAPI HidD_SetConfiguration (HANDLE, PHIDD_CONFIGURATION, ULONG);
-WINHIDSDI BOOL WINAPI HidD_GetFeature (HANDLE, PVOID, ULONG);
-WINHIDSDI BOOL WINAPI HidD_SetFeature (HANDLE, PVOID, ULONG);
-WINHIDSDI BOOL WINAPI HidD_GetNumInputBuffers (HANDLE, PULONG);
-WINHIDSDI BOOL WINAPI HidD_SetNumInputBuffers (HANDLE HidDeviceObject, ULONG);
-WINHIDSDI BOOL WINAPI HidD_GetPhysicalDescriptor (HANDLE, PVOID, ULONG);
-WINHIDSDI BOOL WINAPI HidD_GetManufacturerString (HANDLE, PVOID, ULONG);
-WINHIDSDI BOOL WINAPI HidD_GetProductString ( HANDLE, PVOID, ULONG);
-WINHIDSDI BOOL WINAPI HidD_GetIndexedString ( HANDLE, ULONG, PVOID, ULONG);
-WINHIDSDI BOOL WINAPI HidD_GetSerialNumberString (HANDLE, PVOID, ULONG);
-
-#include <poppack.h>
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _HIDSDI_H */
diff --git a/winsup/w32api/include/ddk/hidusage.h b/winsup/w32api/include/ddk/hidusage.h
deleted file mode 100644
index 1f82af98d..000000000
--- a/winsup/w32api/include/ddk/hidusage.h
+++ /dev/null
@@ -1,210 +0,0 @@
-/*
- * hidusage.h
- *
- * HID usages
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- * Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __HIDUSAGE_H
-#define __HIDUSAGE_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-typedef USHORT USAGE, *PUSAGE;
-
-#define HID_USAGE_GENERIC_POINTER ((USAGE) 0x01)
-#define HID_USAGE_GENERIC_MOUSE ((USAGE) 0x02)
-#define HID_USAGE_GENERIC_JOYSTICK ((USAGE) 0x04)
-#define HID_USAGE_GENERIC_GAMEPAD ((USAGE) 0x05)
-#define HID_USAGE_GENERIC_KEYBOARD ((USAGE) 0x06)
-#define HID_USAGE_GENERIC_KEYPAD ((USAGE) 0x07)
-#define HID_USAGE_GENERIC_SYSTEM_CTL ((USAGE) 0x80)
-#define HID_USAGE_GENERIC_X ((USAGE) 0x30)
-#define HID_USAGE_GENERIC_Y ((USAGE) 0x31)
-#define HID_USAGE_GENERIC_Z ((USAGE) 0x32)
-#define HID_USAGE_GENERIC_RX ((USAGE) 0x33)
-#define HID_USAGE_GENERIC_RY ((USAGE) 0x34)
-#define HID_USAGE_GENERIC_RZ ((USAGE) 0x35)
-#define HID_USAGE_GENERIC_SLIDER ((USAGE) 0x36)
-#define HID_USAGE_GENERIC_DIAL ((USAGE) 0x37)
-#define HID_USAGE_GENERIC_WHEEL ((USAGE) 0x38)
-#define HID_USAGE_GENERIC_HATSWITCH ((USAGE) 0x39)
-#define HID_USAGE_GENERIC_COUNTED_BUFFER ((USAGE) 0x3A)
-#define HID_USAGE_GENERIC_BYTE_COUNT ((USAGE) 0x3B)
-#define HID_USAGE_GENERIC_MOTION_WAKEUP ((USAGE) 0x3C)
-#define HID_USAGE_GENERIC_VX ((USAGE) 0x40)
-#define HID_USAGE_GENERIC_VY ((USAGE) 0x41)
-#define HID_USAGE_GENERIC_VZ ((USAGE) 0x42)
-#define HID_USAGE_GENERIC_VBRX ((USAGE) 0x43)
-#define HID_USAGE_GENERIC_VBRY ((USAGE) 0x44)
-#define HID_USAGE_GENERIC_VBRZ ((USAGE) 0x45)
-#define HID_USAGE_GENERIC_VNO ((USAGE) 0x46)
-#define HID_USAGE_GENERIC_SYSCTL_POWER ((USAGE) 0x81)
-#define HID_USAGE_GENERIC_SYSCTL_SLEEP ((USAGE) 0x82)
-#define HID_USAGE_GENERIC_SYSCTL_WAKE ((USAGE) 0x83)
-#define HID_USAGE_GENERIC_SYSCTL_CONTEXT_MENU ((USAGE) 0x84)
-#define HID_USAGE_GENERIC_SYSCTL_MAIN_MENU ((USAGE) 0x85)
-#define HID_USAGE_GENERIC_SYSCTL_APP_MENU ((USAGE) 0x86)
-#define HID_USAGE_GENERIC_SYSCTL_HELP_MENU ((USAGE) 0x87)
-#define HID_USAGE_GENERIC_SYSCTL_MENU_EXIT ((USAGE) 0x88)
-#define HID_USAGE_GENERIC_SYSCTL_MENU_SELECT ((USAGE) 0x89)
-#define HID_USAGE_GENERIC_SYSCTL_MENU_RIGHT ((USAGE) 0x8A)
-#define HID_USAGE_GENERIC_SYSCTL_MENU_LEFT ((USAGE) 0x8B)
-#define HID_USAGE_GENERIC_SYSCTL_MENU_UP ((USAGE) 0x8C)
-#define HID_USAGE_GENERIC_SYSCTL_MENU_DOWN ((USAGE) 0x8D)
-
-#define HID_USAGE_KEYBOARD_NOEVENT ((USAGE) 0x00)
-#define HID_USAGE_KEYBOARD_ROLLOVER ((USAGE) 0x01)
-#define HID_USAGE_KEYBOARD_POSTFAIL ((USAGE) 0x02)
-#define HID_USAGE_KEYBOARD_UNDEFINED ((USAGE) 0x03)
-#define HID_USAGE_KEYBOARD_aA ((USAGE) 0x04)
-#define HID_USAGE_KEYBOARD_zZ ((USAGE) 0x1D)
-#define HID_USAGE_KEYBOARD_ONE ((USAGE) 0x1E)
-#define HID_USAGE_KEYBOARD_ZERO ((USAGE) 0x27)
-#define HID_USAGE_KEYBOARD_LCTRL ((USAGE) 0xE0)
-#define HID_USAGE_KEYBOARD_LSHFT ((USAGE) 0xE1)
-#define HID_USAGE_KEYBOARD_LALT ((USAGE) 0xE2)
-#define HID_USAGE_KEYBOARD_LGUI ((USAGE) 0xE3)
-#define HID_USAGE_KEYBOARD_RCTRL ((USAGE) 0xE4)
-#define HID_USAGE_KEYBOARD_RSHFT ((USAGE) 0xE5)
-#define HID_USAGE_KEYBOARD_RALT ((USAGE) 0xE6)
-#define HID_USAGE_KEYBOARD_RGUI ((USAGE) 0xE7)
-#define HID_USAGE_KEYBOARD_SCROLL_LOCK ((USAGE) 0x47)
-#define HID_USAGE_KEYBOARD_NUM_LOCK ((USAGE) 0x53)
-#define HID_USAGE_KEYBOARD_CAPS_LOCK ((USAGE) 0x39)
-#define HID_USAGE_KEYBOARD_F1 ((USAGE) 0x3A)
-#define HID_USAGE_KEYBOARD_F12 ((USAGE) 0x45)
-#define HID_USAGE_KEYBOARD_RETURN ((USAGE) 0x28)
-#define HID_USAGE_KEYBOARD_ESCAPE ((USAGE) 0x29)
-#define HID_USAGE_KEYBOARD_DELETE ((USAGE) 0x2A)
-#define HID_USAGE_KEYBOARD_PRINT_SCREEN ((USAGE) 0x46)
-
-#define HID_USAGE_LED_NUM_LOCK ((USAGE) 0x01)
-#define HID_USAGE_LED_CAPS_LOCK ((USAGE) 0x02)
-#define HID_USAGE_LED_SCROLL_LOCK ((USAGE) 0x03)
-#define HID_USAGE_LED_COMPOSE ((USAGE) 0x04)
-#define HID_USAGE_LED_KANA ((USAGE) 0x05)
-#define HID_USAGE_LED_POWER ((USAGE) 0x06)
-#define HID_USAGE_LED_SHIFT ((USAGE) 0x07)
-#define HID_USAGE_LED_DO_NOT_DISTURB ((USAGE) 0x08)
-#define HID_USAGE_LED_MUTE ((USAGE) 0x09)
-#define HID_USAGE_LED_TONE_ENABLE ((USAGE) 0x0A)
-#define HID_USAGE_LED_HIGH_CUT_FILTER ((USAGE) 0x0B)
-#define HID_USAGE_LED_LOW_CUT_FILTER ((USAGE) 0x0C)
-#define HID_USAGE_LED_EQUALIZER_ENABLE ((USAGE) 0x0D)
-#define HID_USAGE_LED_SOUND_FIELD_ON ((USAGE) 0x0E)
-#define HID_USAGE_LED_SURROUND_FIELD_ON ((USAGE) 0x0F)
-#define HID_USAGE_LED_REPEAT ((USAGE) 0x10)
-#define HID_USAGE_LED_STEREO ((USAGE) 0x11)
-#define HID_USAGE_LED_SAMPLING_RATE_DETECT ((USAGE) 0x12)
-#define HID_USAGE_LED_SPINNING ((USAGE) 0x13)
-#define HID_USAGE_LED_CAV ((USAGE) 0x14)
-#define HID_USAGE_LED_CLV ((USAGE) 0x15)
-#define HID_USAGE_LED_RECORDING_FORMAT_DET ((USAGE) 0x16)
-#define HID_USAGE_LED_OFF_HOOK ((USAGE) 0x17)
-#define HID_USAGE_LED_RING ((USAGE) 0x18)
-#define HID_USAGE_LED_MESSAGE_WAITING ((USAGE) 0x19)
-#define HID_USAGE_LED_DATA_MODE ((USAGE) 0x1A)
-#define HID_USAGE_LED_BATTERY_OPERATION ((USAGE) 0x1B)
-#define HID_USAGE_LED_BATTERY_OK ((USAGE) 0x1C)
-#define HID_USAGE_LED_BATTERY_LOW ((USAGE) 0x1D)
-#define HID_USAGE_LED_SPEAKER ((USAGE) 0x1E)
-#define HID_USAGE_LED_HEAD_SET ((USAGE) 0x1F)
-#define HID_USAGE_LED_HOLD ((USAGE) 0x20)
-#define HID_USAGE_LED_MICROPHONE ((USAGE) 0x21)
-#define HID_USAGE_LED_COVERAGE ((USAGE) 0x22)
-#define HID_USAGE_LED_NIGHT_MODE ((USAGE) 0x23)
-#define HID_USAGE_LED_SEND_CALLS ((USAGE) 0x24)
-#define HID_USAGE_LED_CALL_PICKUP ((USAGE) 0x25)
-#define HID_USAGE_LED_CONFERENCE ((USAGE) 0x26)
-#define HID_USAGE_LED_STAND_BY ((USAGE) 0x27)
-#define HID_USAGE_LED_CAMERA_ON ((USAGE) 0x28)
-#define HID_USAGE_LED_CAMERA_OFF ((USAGE) 0x29)
-#define HID_USAGE_LED_ON_LINE ((USAGE) 0x2A)
-#define HID_USAGE_LED_OFF_LINE ((USAGE) 0x2B)
-#define HID_USAGE_LED_BUSY ((USAGE) 0x2C)
-#define HID_USAGE_LED_READY ((USAGE) 0x2D)
-#define HID_USAGE_LED_PAPER_OUT ((USAGE) 0x2E)
-#define HID_USAGE_LED_PAPER_JAM ((USAGE) 0x2F)
-#define HID_USAGE_LED_REMOTE ((USAGE) 0x30)
-#define HID_USAGE_LED_FORWARD ((USAGE) 0x31)
-#define HID_USAGE_LED_REVERSE ((USAGE) 0x32)
-#define HID_USAGE_LED_STOP ((USAGE) 0x33)
-#define HID_USAGE_LED_REWIND ((USAGE) 0x34)
-#define HID_USAGE_LED_FAST_FORWARD ((USAGE) 0x35)
-#define HID_USAGE_LED_PLAY ((USAGE) 0x36)
-#define HID_USAGE_LED_PAUSE ((USAGE) 0x37)
-#define HID_USAGE_LED_RECORD ((USAGE) 0x38)
-#define HID_USAGE_LED_ERROR ((USAGE) 0x39)
-#define HID_USAGE_LED_SELECTED_INDICATOR ((USAGE) 0x3A)
-#define HID_USAGE_LED_IN_USE_INDICATOR ((USAGE) 0x3B)
-#define HID_USAGE_LED_MULTI_MODE_INDICATOR ((USAGE) 0x3C)
-#define HID_USAGE_LED_INDICATOR_ON ((USAGE) 0x3D)
-#define HID_USAGE_LED_INDICATOR_FLASH ((USAGE) 0x3E)
-#define HID_USAGE_LED_INDICATOR_SLOW_BLINK ((USAGE) 0x3F)
-#define HID_USAGE_LED_INDICATOR_FAST_BLINK ((USAGE) 0x40)
-#define HID_USAGE_LED_INDICATOR_OFF ((USAGE) 0x41)
-#define HID_USAGE_LED_FLASH_ON_TIME ((USAGE) 0x42)
-#define HID_USAGE_LED_SLOW_BLINK_ON_TIME ((USAGE) 0x43)
-#define HID_USAGE_LED_SLOW_BLINK_OFF_TIME ((USAGE) 0x44)
-#define HID_USAGE_LED_FAST_BLINK_ON_TIME ((USAGE) 0x45)
-#define HID_USAGE_LED_FAST_BLINK_OFF_TIME ((USAGE) 0x46)
-#define HID_USAGE_LED_INDICATOR_COLOR ((USAGE) 0x47)
-#define HID_USAGE_LED_RED ((USAGE) 0x48)
-#define HID_USAGE_LED_GREEN ((USAGE) 0x49)
-#define HID_USAGE_LED_AMBER ((USAGE) 0x4A)
-#define HID_USAGE_LED_GENERIC_INDICATOR ((USAGE) 0x3B)
-
-#define HID_USAGE_PAGE_UNDEFINED ((USAGE) 0x00)
-#define HID_USAGE_PAGE_GENERIC ((USAGE) 0x01)
-#define HID_USAGE_PAGE_SIMULATION ((USAGE) 0x02)
-#define HID_USAGE_PAGE_VR ((USAGE) 0x03)
-#define HID_USAGE_PAGE_SPORT ((USAGE) 0x04)
-#define HID_USAGE_PAGE_GAME ((USAGE) 0x05)
-#define HID_USAGE_PAGE_KEYBOARD ((USAGE) 0x07)
-#define HID_USAGE_PAGE_LED ((USAGE) 0x08)
-#define HID_USAGE_PAGE_BUTTON ((USAGE) 0x09)
-#define HID_USAGE_PAGE_ORDINAL ((USAGE) 0x0A)
-#define HID_USAGE_PAGE_TELEPHONY ((USAGE) 0x0B)
-#define HID_USAGE_PAGE_CONSUMER ((USAGE) 0x0C)
-#define HID_USAGE_PAGE_DIGITIZER ((USAGE) 0x0D)
-#define HID_USAGE_PAGE_UNICODE ((USAGE) 0x10)
-#define HID_USAGE_PAGE_ALPHANUMERIC ((USAGE) 0x14)
-
-#define HID_USAGE_TELEPHONY_PHONE ((USAGE) 0x01)
-#define HID_USAGE_TELEPHONY_ANSWERING_MACHINE ((USAGE) 0x02)
-#define HID_USAGE_TELEPHONY_MESSAGE_CONTROLS ((USAGE) 0x03)
-#define HID_USAGE_TELEPHONY_HANDSET ((USAGE) 0x04)
-#define HID_USAGE_TELEPHONY_HEADSET ((USAGE) 0x05)
-#define HID_USAGE_TELEPHONY_KEYPAD ((USAGE) 0x06)
-#define HID_USAGE_TELEPHONY_PROGRAMMABLE_BUTTON ((USAGE) 0x07)
-
-#define HID_USAGE_SIMULATION_RUDDER ((USAGE) 0xBA)
-#define HID_USAGE_SIMULATION_THROTTLE ((USAGE) 0xBB)
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __HIDUSAGE_H */
diff --git a/winsup/w32api/include/ddk/kbdmou.h b/winsup/w32api/include/ddk/kbdmou.h
deleted file mode 100644
index da4c37f51..000000000
--- a/winsup/w32api/include/ddk/kbdmou.h
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- * kbdmou.h
- *
- * Structures and definitions for Keyboard/Mouse class and port drivers.
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- * Created by Filip Navara <xnavara@volny.cz>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __KBDMOU_H
-#define __KBDMOU_H
-
-#include <ddk/ntddkbd.h>
-#include <ddk/ntddmou.h>
-
-#define DD_KEYBOARD_PORT_DEVICE_NAME "\\Device\\KeyboardPort"
-#define DD_KEYBOARD_PORT_DEVICE_NAME_U L"\\Device\\KeyboardPort"
-#define DD_KEYBOARD_PORT_BASE_NAME_U L"KeyboardPort"
-#define DD_POINTER_PORT_DEVICE_NAME "\\Device\\PointerPort"
-#define DD_POINTER_PORT_DEVICE_NAME_U L"\\Device\\PointerPort"
-#define DD_POINTER_PORT_BASE_NAME_U L"PointerPort"
-
-#define DD_KEYBOARD_CLASS_BASE_NAME_U L"KeyboardClass"
-#define DD_POINTER_CLASS_BASE_NAME_U L"PointerClass"
-
-#define DD_KEYBOARD_RESOURCE_CLASS_NAME_U L"Keyboard"
-#define DD_POINTER_RESOURCE_CLASS_NAME_U L"Pointer"
-#define DD_KEYBOARD_MOUSE_COMBO_RESOURCE_CLASS_NAME_U L"Keyboard/Pointer"
-
-#define POINTER_PORTS_MAXIMUM 8
-#define KEYBOARD_PORTS_MAXIMUM 8
-
-#define KBDMOU_COULD_NOT_SEND_COMMAND 0x0000
-#define KBDMOU_COULD_NOT_SEND_PARAM 0x0001
-#define KBDMOU_NO_RESPONSE 0x0002
-#define KBDMOU_INCORRECT_RESPONSE 0x0004
-
-#define I8042_ERROR_VALUE_BASE 1000
-#define INPORT_ERROR_VALUE_BASE 2000
-#define SERIAL_MOUSE_ERROR_VALUE_BASE 3000
-
-#define IOCTL_INTERNAL_KEYBOARD_CONNECT \
- CTL_CODE(FILE_DEVICE_KEYBOARD, 0x0080, METHOD_NEITHER, FILE_ANY_ACCESS)
-
-#define IOCTL_INTERNAL_KEYBOARD_DISCONNECT \
- CTL_CODE(FILE_DEVICE_KEYBOARD,0x0100, METHOD_NEITHER, FILE_ANY_ACCESS)
-
-#define IOCTL_INTERNAL_KEYBOARD_ENABLE \
- CTL_CODE(FILE_DEVICE_KEYBOARD, 0x0200, METHOD_NEITHER, FILE_ANY_ACCESS)
-
-#define IOCTL_INTERNAL_KEYBOARD_DISABLE \
- CTL_CODE(FILE_DEVICE_KEYBOARD, 0x0400, METHOD_NEITHER, FILE_ANY_ACCESS)
-
-#define IOCTL_INTERNAL_MOUSE_CONNECT \
- CTL_CODE(FILE_DEVICE_MOUSE, 0x0080, METHOD_NEITHER, FILE_ANY_ACCESS)
-
-#define IOCTL_INTERNAL_MOUSE_DISCONNECT \
- CTL_CODE(FILE_DEVICE_MOUSE, 0x0100, METHOD_NEITHER, FILE_ANY_ACCESS)
-
-#define IOCTL_INTERNAL_MOUSE_ENABLE \
- CTL_CODE(FILE_DEVICE_MOUSE, 0x0200, METHOD_NEITHER, FILE_ANY_ACCESS)
-
-#define IOCTL_INTERNAL_MOUSE_DISABLE \
- CTL_CODE(FILE_DEVICE_MOUSE, 0x0400, METHOD_NEITHER, FILE_ANY_ACCESS)
-
-typedef struct _CONNECT_DATA {
- PDEVICE_OBJECT ClassDeviceObject;
- PVOID ClassService;
-} CONNECT_DATA, *PCONNECT_DATA;
-
-typedef VOID
-(STDAPICALLTYPE *PSERVICE_CALLBACK_ROUTINE)(
- IN PVOID NormalContext,
- IN PVOID SystemArgument1,
- IN PVOID SystemArgument2,
- IN OUT PVOID SystemArgument3);
-
-#endif /* __KBDMOU_H */
diff --git a/winsup/w32api/include/ddk/mcd.h b/winsup/w32api/include/ddk/mcd.h
deleted file mode 100644
index 4a0e7db76..000000000
--- a/winsup/w32api/include/ddk/mcd.h
+++ /dev/null
@@ -1,143 +0,0 @@
-/*
- * mcd.h
- *
- * Media changer driver interface
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- * Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __MCD_H
-#define __MCD_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-#include "srb.h"
-#include "scsi.h"
-#include "ntddchgr.h"
-
-#if defined(_MCD_)
- #define CHANGERAPI DECLSPEC_EXPORT
-#else
- #define CHANGERAPI DECLSPEC_IMPORT
-#endif
-
-#ifdef DebugPrint
-#undef DebugPrint
-#endif
-
-#ifdef DBG
-#define DebugPrint(x) ChangerClassDebugPrint x
-#else
-#define DebugPrint(x)
-#endif
-
-#define MAXIMUM_CHANGER_INQUIRY_DATA 252
-
-CHANGERAPI
-PVOID
-DDKAPI
-ChangerClassAllocatePool(
- IN POOL_TYPE PoolType,
- IN ULONG NumberOfBytes);
-
-VOID
-ChangerClassDebugPrint(
- ULONG DebugPrintLevel,
- PCCHAR DebugMessage,
- ...);
-
-CHANGERAPI
-PVOID
-DDKAPI
-ChangerClassFreePool(
- IN PVOID PoolToFree);
-
-CHANGERAPI
-NTSTATUS
-DDKAPI
-ChangerClassSendSrbSynchronous(
- IN PDEVICE_OBJECT DeviceObject,
- IN PSCSI_REQUEST_BLOCK Srb,
- IN PVOID Buffer,
- IN ULONG BufferSize,
- IN BOOLEAN WriteToDevice);
-
-
-typedef NTSTATUS DDKAPI
-(*CHANGER_INITIALIZE)(
- IN PDEVICE_OBJECT DeviceObject);
-
-typedef ULONG DDKAPI
-(*CHANGER_EXTENSION_SIZE)(
- VOID);
-
-typedef VOID DDKAPI
-(*CHANGER_ERROR_ROUTINE)(
- PDEVICE_OBJECT DeviceObject,
- PSCSI_REQUEST_BLOCK Srb,
- NTSTATUS *Status,
- BOOLEAN *Retry);
-
-typedef NTSTATUS DDKAPI
-(*CHANGER_COMMAND_ROUTINE)(
- IN PDEVICE_OBJECT DeviceObject,
- IN PIRP Irp);
-
-typedef NTSTATUS DDKAPI
-(*CHANGER_PERFORM_DIAGNOSTICS)(
- IN PDEVICE_OBJECT DeviceObject,
- OUT PWMI_CHANGER_PROBLEM_DEVICE_ERROR ChangerDeviceError);
-
-typedef struct _MCD_INIT_DATA {
- ULONG InitDataSize;
- CHANGER_EXTENSION_SIZE ChangerAdditionalExtensionSize;
- CHANGER_INITIALIZE ChangerInitialize;
- CHANGER_ERROR_ROUTINE ChangerError;
- CHANGER_PERFORM_DIAGNOSTICS ChangerPerformDiagnostics;
- CHANGER_COMMAND_ROUTINE ChangerGetParameters;
- CHANGER_COMMAND_ROUTINE ChangerGetStatus;
- CHANGER_COMMAND_ROUTINE ChangerGetProductData;
- CHANGER_COMMAND_ROUTINE ChangerSetAccess;
- CHANGER_COMMAND_ROUTINE ChangerGetElementStatus;
- CHANGER_COMMAND_ROUTINE ChangerInitializeElementStatus;
- CHANGER_COMMAND_ROUTINE ChangerSetPosition;
- CHANGER_COMMAND_ROUTINE ChangerExchangeMedium;
- CHANGER_COMMAND_ROUTINE ChangerMoveMedium;
- CHANGER_COMMAND_ROUTINE ChangerReinitializeUnit;
- CHANGER_COMMAND_ROUTINE ChangerQueryVolumeTags;
-} MCD_INIT_DATA, *PMCD_INIT_DATA;
-
-CHANGERAPI
-NTSTATUS
-DDKAPI
-ChangerClassInitialize(
- IN PDRIVER_OBJECT DriverObject,
- IN PUNICODE_STRING RegistryPath,
- IN PMCD_INIT_DATA MCDInitData);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __MCD_H */
diff --git a/winsup/w32api/include/ddk/miniport.h b/winsup/w32api/include/ddk/miniport.h
deleted file mode 100644
index 7a56cd1ab..000000000
--- a/winsup/w32api/include/ddk/miniport.h
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- * miniport.h
- *
- * Type definitions for miniport drivers
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- * Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __MINIPORT_H
-#define __MINIPORT_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-
-#define EMULATOR_READ_ACCESS 0x01
-#define EMULATOR_WRITE_ACCESS 0x02
-
-typedef enum _EMULATOR_PORT_ACCESS_TYPE {
- Uchar,
- Ushort,
- Ulong
-} EMULATOR_PORT_ACCESS_TYPE, *PEMULATOR_PORT_ACCESS_TYPE;
-
-
-typedef struct _EMULATOR_ACCESS_ENTRY {
- ULONG BasePort;
- ULONG NumConsecutivePorts;
- EMULATOR_PORT_ACCESS_TYPE AccessType;
- UCHAR AccessMode;
- UCHAR StringSupport;
- PVOID Routine;
-} EMULATOR_ACCESS_ENTRY, *PEMULATOR_ACCESS_ENTRY;
-
-#ifndef VIDEO_ACCESS_RANGE_DEFINED /* also in video.h */
-#define VIDEO_ACCESS_RANGE_DEFINED
-typedef struct _VIDEO_ACCESS_RANGE {
- PHYSICAL_ADDRESS RangeStart;
- ULONG RangeLength;
- UCHAR RangeInIoSpace;
- UCHAR RangeVisible;
- UCHAR RangeShareable;
- UCHAR RangePassive;
-} VIDEO_ACCESS_RANGE, *PVIDEO_ACCESS_RANGE;
-#endif
-
-typedef VOID DDKAPI
-(*PBANKED_SECTION_ROUTINE)(
- IN ULONG ReadBank,
- IN ULONG WriteBank,
- IN PVOID Context);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __MINIPORT_H */
diff --git a/winsup/w32api/include/ddk/minitape.h b/winsup/w32api/include/ddk/minitape.h
deleted file mode 100644
index 7540dea62..000000000
--- a/winsup/w32api/include/ddk/minitape.h
+++ /dev/null
@@ -1,223 +0,0 @@
-/*
- * minitape.h
- *
- * Minitape driver interface
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- * Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-#ifndef __MINITAPE_H
-#define __MINITAPE_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#pragma pack(push,4)
-
-#include "ntddk.h"
-
-#define MEDIA_ERASEABLE 0x00000001
-#define MEDIA_WRITE_ONCE 0x00000002
-#define MEDIA_READ_ONLY 0x00000004
-#define MEDIA_READ_WRITE 0x00000008
-#define MEDIA_WRITE_PROTECTED 0x00000100
-#define MEDIA_CURRENTLY_MOUNTED 0x80000000
-
-typedef enum _TAPE_STATUS {
- TAPE_STATUS_SEND_SRB_AND_CALLBACK,
- TAPE_STATUS_CALLBACK,
- TAPE_STATUS_CHECK_TEST_UNIT_READY,
- TAPE_STATUS_SUCCESS,
- TAPE_STATUS_INSUFFICIENT_RESOURCES,
- TAPE_STATUS_NOT_IMPLEMENTED,
- TAPE_STATUS_INVALID_DEVICE_REQUEST,
- TAPE_STATUS_INVALID_PARAMETER,
- TAPE_STATUS_MEDIA_CHANGED,
- TAPE_STATUS_BUS_RESET,
- TAPE_STATUS_SETMARK_DETECTED,
- TAPE_STATUS_FILEMARK_DETECTED,
- TAPE_STATUS_BEGINNING_OF_MEDIA,
- TAPE_STATUS_END_OF_MEDIA,
- TAPE_STATUS_BUFFER_OVERFLOW,
- TAPE_STATUS_NO_DATA_DETECTED,
- TAPE_STATUS_EOM_OVERFLOW,
- TAPE_STATUS_NO_MEDIA,
- TAPE_STATUS_IO_DEVICE_ERROR,
- TAPE_STATUS_UNRECOGNIZED_MEDIA,
- TAPE_STATUS_DEVICE_NOT_READY,
- TAPE_STATUS_MEDIA_WRITE_PROTECTED,
- TAPE_STATUS_DEVICE_DATA_ERROR,
- TAPE_STATUS_NO_SUCH_DEVICE,
- TAPE_STATUS_INVALID_BLOCK_LENGTH,
- TAPE_STATUS_IO_TIMEOUT,
- TAPE_STATUS_DEVICE_NOT_CONNECTED,
- TAPE_STATUS_DATA_OVERRUN,
- TAPE_STATUS_DEVICE_BUSY,
- TAPE_STATUS_REQUIRES_CLEANING,
- TAPE_STATUS_CLEANER_CARTRIDGE_INSTALLED
-} TAPE_STATUS, *PTAPE_STATUS;
-
-#define INQUIRYDATABUFFERSIZE 36
-#ifndef _INQUIRYDATA_DEFINED /* also in scsi.h */
-#define _INQUIRYDATA_DEFINED
-typedef struct _INQUIRYDATA {
- UCHAR DeviceType : 5;
- UCHAR DeviceTypeQualifier : 3;
- UCHAR DeviceTypeModifier : 7;
- UCHAR RemovableMedia : 1;
- union {
- UCHAR Versions;
- struct {
- UCHAR ANSIVersion : 3;
- UCHAR ECMAVersion : 3;
- UCHAR ISOVersion : 2;
- };
- };
- UCHAR ResponseDataFormat : 4;
- UCHAR HiSupport : 1;
- UCHAR NormACA : 1;
- UCHAR TerminateTask : 1;
- UCHAR AERC : 1;
- UCHAR AdditionalLength;
- UCHAR Reserved;
- UCHAR Addr16 : 1;
- UCHAR Addr32 : 1;
- UCHAR AckReqQ: 1;
- UCHAR MediumChanger : 1;
- UCHAR MultiPort : 1;
- UCHAR ReservedBit2 : 1;
- UCHAR EnclosureServices : 1;
- UCHAR ReservedBit3 : 1;
- UCHAR SoftReset : 1;
- UCHAR CommandQueue : 1;
- UCHAR TransferDisable : 1;
- UCHAR LinkedCommands : 1;
- UCHAR Synchronous : 1;
- UCHAR Wide16Bit : 1;
- UCHAR Wide32Bit : 1;
- UCHAR RelativeAddressing : 1;
- UCHAR VendorId[8];
- UCHAR ProductId[16];
- UCHAR ProductRevisionLevel[4];
- UCHAR VendorSpecific[20];
- UCHAR Reserved3[40];
-} INQUIRYDATA, *PINQUIRYDATA;
-#endif
-
-typedef struct _MODE_CAPABILITIES_PAGE {
- UCHAR PageCode : 6;
- UCHAR Reserved1 : 2;
- UCHAR PageLength;
- UCHAR Reserved2[2];
- UCHAR RO : 1;
- UCHAR Reserved3 : 4;
- UCHAR SPREV : 1;
- UCHAR Reserved4 : 2;
- UCHAR Reserved5 : 3;
- UCHAR EFMT : 1;
- UCHAR Reserved6 : 1;
- UCHAR QFA : 1;
- UCHAR Reserved7 : 2;
- UCHAR LOCK : 1;
- UCHAR LOCKED : 1;
- UCHAR PREVENT : 1;
- UCHAR UNLOAD : 1;
- UCHAR Reserved8 : 2;
- UCHAR ECC : 1;
- UCHAR CMPRS : 1;
- UCHAR Reserved9 : 1;
- UCHAR BLK512 : 1;
- UCHAR BLK1024 : 1;
- UCHAR Reserved10 : 4;
- UCHAR SLOWB : 1;
- UCHAR MaximumSpeedSupported[2];
- UCHAR MaximumStoredDefectedListEntries[2];
- UCHAR ContinuousTransferLimit[2];
- UCHAR CurrentSpeedSelected[2];
- UCHAR BufferSize[2];
- UCHAR Reserved11[2];
-} MODE_CAPABILITIES_PAGE, *PMODE_CAPABILITIES_PAGE;
-
-typedef BOOLEAN DDKAPI
-(*TAPE_VERIFY_INQUIRY_ROUTINE)(
- IN PINQUIRYDATA InquiryData,
- IN PMODE_CAPABILITIES_PAGE ModeCapabilitiesPage);
-
-typedef VOID DDKAPI
-(*TAPE_EXTENSION_INIT_ROUTINE)(
- IN PVOID MinitapeExtension,
- IN PINQUIRYDATA InquiryData,
- IN PMODE_CAPABILITIES_PAGE ModeCapabilitiesPage);
-
-typedef VOID DDKAPI
-(*TAPE_ERROR_ROUTINE)(
- IN PVOID MinitapeExtension,
- IN PSCSI_REQUEST_BLOCK Srb,
- IN OUT PTAPE_STATUS TapeStatus);
-
-typedef TAPE_STATUS DDKAPI
-(*TAPE_PROCESS_COMMAND_ROUTINE)(
- IN OUT PVOID MinitapeExtension,
- IN OUT PVOID CommandExtension,
- IN OUT PVOID CommandParameters,
- IN OUT PSCSI_REQUEST_BLOCK Srb,
- IN ULONG CallNumber,
- IN TAPE_STATUS StatusOfLastCommand,
- IN OUT PULONG RetryFlags);
-
-#define TAPE_RETRY_MASK 0x0000FFFF
-#define IGNORE_ERRORS 0x00010000
-#define RETURN_ERRORS 0x00020000
-
-typedef struct _TAPE_INIT_DATA {
- TAPE_VERIFY_INQUIRY_ROUTINE VerifyInquiry;
- BOOLEAN QueryModeCapabilitiesPage;
- ULONG MinitapeExtensionSize;
- TAPE_EXTENSION_INIT_ROUTINE ExtensionInit;
- ULONG DefaultTimeOutValue;
- TAPE_ERROR_ROUTINE TapeError;
- ULONG CommandExtensionSize;
- TAPE_PROCESS_COMMAND_ROUTINE CreatePartition;
- TAPE_PROCESS_COMMAND_ROUTINE Erase;
- TAPE_PROCESS_COMMAND_ROUTINE GetDriveParameters;
- TAPE_PROCESS_COMMAND_ROUTINE GetMediaParameters;
- TAPE_PROCESS_COMMAND_ROUTINE GetPosition;
- TAPE_PROCESS_COMMAND_ROUTINE GetStatus;
- TAPE_PROCESS_COMMAND_ROUTINE Prepare;
- TAPE_PROCESS_COMMAND_ROUTINE SetDriveParameters;
- TAPE_PROCESS_COMMAND_ROUTINE SetMediaParameters;
- TAPE_PROCESS_COMMAND_ROUTINE SetPosition;
- TAPE_PROCESS_COMMAND_ROUTINE WriteMarks;
- TAPE_PROCESS_COMMAND_ROUTINE PreProcessReadWrite; /* optional */
-} TAPE_INIT_DATA, *PTAPE_INIT_DATA;
-
-typedef struct _TAPE_PHYS_POSITION {
- ULONG SeekBlockAddress;
- ULONG SpaceBlockCount;
-} TAPE_PHYS_POSITION, PTAPE_PHYS_POSITION;
-
-#pragma pack(pop)
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __MINITAPE_H */
diff --git a/winsup/w32api/include/ddk/mountdev.h b/winsup/w32api/include/ddk/mountdev.h
deleted file mode 100644
index 1bfed03f3..000000000
--- a/winsup/w32api/include/ddk/mountdev.h
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * mountdev.h
- *
- * Mount point manager/mounted devices interface.
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- * Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __MOUNTDEV_H
-#define __MOUNTDEV_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-#include "mountmgr.h"
-
-#define IOCTL_MOUNTDEV_QUERY_DEVICE_NAME \
- CTL_CODE(MOUNTDEVCONTROLTYPE, 2, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_MOUNTDEV_QUERY_UNIQUE_ID \
- CTL_CODE(MOUNTDEVCONTROLTYPE, 0, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_MOUNTDEV_UNIQUE_ID_CHANGE_NOTIFY \
- CTL_CODE(MOUNTDEVCONTROLTYPE, 1, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_MOUNTDEV_QUERY_SUGGESTED_LINK_NAME \
- CTL_CODE(MOUNTDEVCONTROLTYPE, 3, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_MOUNTDEV_LINK_CREATED \
- CTL_CODE(MOUNTDEVCONTROLTYPE, 4, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_MOUNTDEV_LINK_DELETED \
- CTL_CODE(MOUNTDEVCONTROLTYPE, 5, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-
-typedef struct _MOUNTDEV_SUGGESTED_LINK_NAME {
- BOOLEAN UseOnlyIfThereAreNoOtherLinks;
- USHORT NameLength;
- WCHAR Name[1];
-} MOUNTDEV_SUGGESTED_LINK_NAME, *PMOUNTDEV_SUGGESTED_LINK_NAME;
-
-typedef struct _MOUNTDEV_UNIQUE_ID {
- USHORT UniqueIdLength;
- UCHAR UniqueId[1];
-} MOUNTDEV_UNIQUE_ID, *PMOUNTDEV_UNIQUE_ID;
-
-typedef struct _MOUNTDEV_UNIQUE_ID_CHANGE_NOTIFY_OUTPUT {
- ULONG Size;
- USHORT OldUniqueIdOffset;
- USHORT OldUniqueIdLength;
- USHORT NewUniqueIdOffset;
- USHORT NewUniqueIdLength;
-} MOUNTDEV_UNIQUE_ID_CHANGE_NOTIFY_OUTPUT;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __MOUNTDEV_H */
diff --git a/winsup/w32api/include/ddk/mountmgr.h b/winsup/w32api/include/ddk/mountmgr.h
deleted file mode 100644
index 6a56db868..000000000
--- a/winsup/w32api/include/ddk/mountmgr.h
+++ /dev/null
@@ -1,139 +0,0 @@
-/*
- * mountmgr.h
- *
- * Mount point manager interface.
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- * Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __MOUNTMGR_H
-#define __MOUNTMGR_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-
-DEFINE_GUID(MOUNTDEV_MOUNTED_DEVICE_GUID,
- 0x53f5630d, 0xb6bf, 0x11d0, 0x94, 0xf2, 0x00, 0xa0, 0xc9, 0x1e, 0xfb, 0x8b);
-
-#define MOUNTMGRCONTROLTYPE ((ULONG)'m')
-#define MOUNTDEVCONTROLTYPE ((ULONG)'M')
-
-#define MOUNTMGR_DEVICE_NAME L"\\Device\\MountPointManager"
-#define MOUNTMGR_DOS_DEVICE_NAME L"\\\\.\\MountPointManager"
-
-#define IOCTL_MOUNTMGR_CREATE_POINT \
- CTL_CODE(MOUNTMGRCONTROLTYPE, 0, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
-
-#define IOCTL_MOUNTMGR_QUERY_POINTS \
- CTL_CODE(MOUNTMGRCONTROLTYPE, 2, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_MOUNTMGR_DELETE_POINTS \
- CTL_CODE(MOUNTMGRCONTROLTYPE, 1, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
-
-#define IOCTL_MOUNTMGR_DELETE_POINTS_DBONLY \
- CTL_CODE(MOUNTMGRCONTROLTYPE, 3, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
-
-#define IOCTL_MOUNTMGR_NEXT_DRIVE_LETTER \
- CTL_CODE(MOUNTMGRCONTROLTYPE, 4, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
-
-#define IOCTL_MOUNTMGR_AUTO_DL_ASSIGNMENTS \
- CTL_CODE(MOUNTMGRCONTROLTYPE, 5, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
-
-#define IOCTL_MOUNTMGR_VOLUME_MOUNT_POINT_CREATED \
- CTL_CODE(MOUNTMGRCONTROLTYPE, 6, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
-
-#define IOCTL_MOUNTMGR_VOLUME_MOUNT_POINT_DELETED \
- CTL_CODE(MOUNTMGRCONTROLTYPE, 7, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
-
-#define IOCTL_MOUNTMGR_CHANGE_NOTIFY \
- CTL_CODE(MOUNTMGRCONTROLTYPE, 8, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_MOUNTMGR_KEEP_LINKS_WHEN_OFFLINE \
- CTL_CODE(MOUNTMGRCONTROLTYPE, 9, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
-
-#define IOCTL_MOUNTMGR_CHECK_UNPROCESSED_VOLUMES \
- CTL_CODE(MOUNTMGRCONTROLTYPE, 10, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_MOUNTMGR_VOLUME_ARRIVAL_NOTIFICATION \
- CTL_CODE(MOUNTMGRCONTROLTYPE, 11, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-
-typedef struct _MOUNTDEV_NAME {
- USHORT NameLength;
- WCHAR Name[1];
-} MOUNTDEV_NAME, *PMOUNTDEV_NAME;
-
-typedef struct _MOUNTMGR_CHANGE_NOTIFY_INFO {
- ULONG EpicNumber;
-} MOUNTMGR_CHANGE_NOTIFY_INFO, *PMOUNTMGR_CHANGE_NOTIFY_INFO;
-
-typedef struct _MOUNTMGR_CREATE_POINT_INPUT {
- USHORT SymbolicLinkNameOffset;
- USHORT SymbolicLinkNameLength;
- USHORT DeviceNameOffset;
- USHORT DeviceNameLength;
-} MOUNTMGR_CREATE_POINT_INPUT, *PMOUNTMGR_CREATE_POINT_INPUT;
-
-typedef struct _MOUNTMGR_DRIVE_LETTER_INFORMATION {
- BOOLEAN DriveLetterWasAssigned;
- UCHAR CurrentDriveLetter;
-} MOUNTMGR_DRIVE_LETTER_INFORMATION, *PMOUNTMGR_DRIVE_LETTER_INFORMATION;
-
-typedef struct _MOUNTMGR_DRIVE_LETTER_TARGET {
- USHORT DeviceNameLength;
- WCHAR DeviceName[1];
-} MOUNTMGR_DRIVE_LETTER_TARGET, *PMOUNTMGR_DRIVE_LETTER_TARGET;
-
-typedef struct _MOUNTMGR_MOUNT_POINT {
- ULONG SymbolicLinkNameOffset;
- USHORT SymbolicLinkNameLength;
- ULONG UniqueIdOffset;
- USHORT UniqueIdLength;
- ULONG DeviceNameOffset;
- USHORT DeviceNameLength;
-} MOUNTMGR_MOUNT_POINT, *PMOUNTMGR_MOUNT_POINT;
-
-typedef struct _MOUNTMGR_MOUNT_POINTS {
- ULONG Size;
- ULONG NumberOfMountPoints;
- MOUNTMGR_MOUNT_POINT MountPoints[1];
-} MOUNTMGR_MOUNT_POINTS, *PMOUNTMGR_MOUNT_POINTS;
-
-typedef struct _MOUNTMGR_TARGET_NAME {
- USHORT DeviceNameLength;
- WCHAR DeviceName[1];
-} MOUNTMGR_TARGET_NAME, *PMOUNTMGR_TARGET_NAME;
-
-typedef struct _MOUNTMGR_VOLUME_MOUNT_POINT {
- USHORT SourceVolumeNameOffset;
- USHORT SourceVolumeNameLength;
- USHORT TargetVolumeNameOffset;
- USHORT TargetVolumeNameLength;
-} MOUNTMGR_VOLUME_MOUNT_POINT, *PMOUNTMGR_VOLUME_MOUNT_POINT;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __MOUNTMGR_H */
diff --git a/winsup/w32api/include/ddk/ndis.h b/winsup/w32api/include/ddk/ndis.h
deleted file mode 100644
index 8ab5d5c98..000000000
--- a/winsup/w32api/include/ddk/ndis.h
+++ /dev/null
@@ -1,5227 +0,0 @@
-/*
- * ndis.h
- *
- * Network Device Interface Specification definitions
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- * Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * DEFINES: i386 - Target platform is i386
- * _NDIS_ - Define only for NDIS library
- * NDIS_MINIPORT_DRIVER - Define only for NDIS miniport drivers
- * NDIS40 - Use NDIS 4.0 structures by default
- * NDIS50 - Use NDIS 5.0 structures by default
- * NDIS50_MINIPORT - Building NDIS 5.0 miniport driver
- * NDIS51_MINIPORT - Building NDIS 5.1 miniport driver
- */
-#ifndef __NDIS_H
-#define __NDIS_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-#include "ntddndis.h"
-#include "netpnp.h"
-#include "netevent.h"
-#include <winsock2.h>
-
-#if defined(_NDIS_)
- #define NDISAPI DECLSPEC_EXPORT
-#else
- #define NDISAPI DECLSPEC_IMPORT
-#endif
-
-#if defined(NDIS50_MINIPORT)
-#ifndef NDIS50
-#define NDIS50
-#endif
-#endif /* NDIS50_MINIPORT */
-
-#if defined(NDIS51_MINIPORT)
-#ifndef NDIS51
-#define NDIS51
-#endif
-#endif /* NDIS51_MINIPORT */
-
-/* NDIS 3.0 is default */
-#if !defined(NDIS30) || !defined(NDIS40) || !defined(NDIS50) || !defined(NDIS51)
-#define NDIS30
-#endif /* !NDIS30 || !NDIS40 || !NDIS50 || !NDIS51 */
-
-#if 1
-/* FIXME: */
-typedef PVOID QUEUED_CLOSE;
-#endif
-
-typedef ULONG NDIS_OID, *PNDIS_OID;
-
-typedef struct _X_FILTER FDDI_FILTER, *PFDDI_FILTER;
-typedef struct _X_FILTER TR_FILTER, *PTR_FILTER;
-typedef struct _X_FILTER NULL_FILTER, *PNULL_FILTER;
-
-typedef struct _REFERENCE {
- KSPIN_LOCK SpinLock;
- USHORT ReferenceCount;
- BOOLEAN Closing;
-} REFERENCE, * PREFERENCE;
-
-
-/* NDIS base types */
-
-typedef struct _NDIS_SPIN_LOCK {
- KSPIN_LOCK SpinLock;
- KIRQL OldIrql;
-} NDIS_SPIN_LOCK, * PNDIS_SPIN_LOCK;
-
-typedef struct _NDIS_EVENT {
- KEVENT Event;
-} NDIS_EVENT, *PNDIS_EVENT;
-
-typedef PVOID NDIS_HANDLE, *PNDIS_HANDLE;
-typedef int NDIS_STATUS, *PNDIS_STATUS;
-
-typedef ANSI_STRING NDIS_ANSI_STRING, *PNDIS_ANSI_STRING;
-typedef UNICODE_STRING NDIS_STRING, *PNDIS_STRING;
-
-typedef MDL NDIS_BUFFER, *PNDIS_BUFFER;
-typedef ULONG NDIS_ERROR_CODE, *PNDIS_ERROR_CODE;
-
-
-/* NDIS_STATUS constants */
-#define NDIS_STATUS_SUCCESS ((NDIS_STATUS)STATUS_SUCCESS)
-#define NDIS_STATUS_PENDING ((NDIS_STATUS)STATUS_PENDING)
-#define NDIS_STATUS_NOT_RECOGNIZED ((NDIS_STATUS)0x00010001L)
-#define NDIS_STATUS_NOT_COPIED ((NDIS_STATUS)0x00010002L)
-#define NDIS_STATUS_NOT_ACCEPTED ((NDIS_STATUS)0x00010003L)
-#define NDIS_STATUS_CALL_ACTIVE ((NDIS_STATUS)0x00010007L)
-#define NDIS_STATUS_ONLINE ((NDIS_STATUS)0x40010003L)
-#define NDIS_STATUS_RESET_START ((NDIS_STATUS)0x40010004L)
-#define NDIS_STATUS_RESET_END ((NDIS_STATUS)0x40010005L)
-#define NDIS_STATUS_RING_STATUS ((NDIS_STATUS)0x40010006L)
-#define NDIS_STATUS_CLOSED ((NDIS_STATUS)0x40010007L)
-#define NDIS_STATUS_WAN_LINE_UP ((NDIS_STATUS)0x40010008L)
-#define NDIS_STATUS_WAN_LINE_DOWN ((NDIS_STATUS)0x40010009L)
-#define NDIS_STATUS_WAN_FRAGMENT ((NDIS_STATUS)0x4001000AL)
-#define NDIS_STATUS_MEDIA_CONNECT ((NDIS_STATUS)0x4001000BL)
-#define NDIS_STATUS_MEDIA_DISCONNECT ((NDIS_STATUS)0x4001000CL)
-#define NDIS_STATUS_HARDWARE_LINE_UP ((NDIS_STATUS)0x4001000DL)
-#define NDIS_STATUS_HARDWARE_LINE_DOWN ((NDIS_STATUS)0x4001000EL)
-#define NDIS_STATUS_INTERFACE_UP ((NDIS_STATUS)0x4001000FL)
-#define NDIS_STATUS_INTERFACE_DOWN ((NDIS_STATUS)0x40010010L)
-#define NDIS_STATUS_MEDIA_BUSY ((NDIS_STATUS)0x40010011L)
-#define NDIS_STATUS_MEDIA_SPECIFIC_INDICATION ((NDIS_STATUS)0x40010012L)
-#define NDIS_STATUS_WW_INDICATION NDIS_STATUS_MEDIA_SPECIFIC_INDICATION
-#define NDIS_STATUS_LINK_SPEED_CHANGE ((NDIS_STATUS)0x40010013L)
-#define NDIS_STATUS_WAN_GET_STATS ((NDIS_STATUS)0x40010014L)
-#define NDIS_STATUS_WAN_CO_FRAGMENT ((NDIS_STATUS)0x40010015L)
-#define NDIS_STATUS_WAN_CO_LINKPARAMS ((NDIS_STATUS)0x40010016L)
-
-#define NDIS_STATUS_NOT_RESETTABLE ((NDIS_STATUS)0x80010001L)
-#define NDIS_STATUS_SOFT_ERRORS ((NDIS_STATUS)0x80010003L)
-#define NDIS_STATUS_HARD_ERRORS ((NDIS_STATUS)0x80010004L)
-#define NDIS_STATUS_BUFFER_OVERFLOW ((NDIS_STATUS)STATUS_BUFFER_OVERFLOW)
-
-#define NDIS_STATUS_FAILURE ((NDIS_STATUS)STATUS_UNSUCCESSFUL)
-#define NDIS_STATUS_RESOURCES ((NDIS_STATUS)STATUS_INSUFFICIENT_RESOURCES)
-#define NDIS_STATUS_CLOSING ((NDIS_STATUS)0xC0010002L)
-#define NDIS_STATUS_BAD_VERSION ((NDIS_STATUS)0xC0010004L)
-#define NDIS_STATUS_BAD_CHARACTERISTICS ((NDIS_STATUS)0xC0010005L)
-#define NDIS_STATUS_ADAPTER_NOT_FOUND ((NDIS_STATUS)0xC0010006L)
-#define NDIS_STATUS_OPEN_FAILED ((NDIS_STATUS)0xC0010007L)
-#define NDIS_STATUS_DEVICE_FAILED ((NDIS_STATUS)0xC0010008L)
-#define NDIS_STATUS_MULTICAST_FULL ((NDIS_STATUS)0xC0010009L)
-#define NDIS_STATUS_MULTICAST_EXISTS ((NDIS_STATUS)0xC001000AL)
-#define NDIS_STATUS_MULTICAST_NOT_FOUND ((NDIS_STATUS)0xC001000BL)
-#define NDIS_STATUS_REQUEST_ABORTED ((NDIS_STATUS)0xC001000CL)
-#define NDIS_STATUS_RESET_IN_PROGRESS ((NDIS_STATUS)0xC001000DL)
-#define NDIS_STATUS_CLOSING_INDICATING ((NDIS_STATUS)0xC001000EL)
-#define NDIS_STATUS_NOT_SUPPORTED ((NDIS_STATUS)STATUS_NOT_SUPPORTED)
-#define NDIS_STATUS_INVALID_PACKET ((NDIS_STATUS)0xC001000FL)
-#define NDIS_STATUS_OPEN_LIST_FULL ((NDIS_STATUS)0xC0010010L)
-#define NDIS_STATUS_ADAPTER_NOT_READY ((NDIS_STATUS)0xC0010011L)
-#define NDIS_STATUS_ADAPTER_NOT_OPEN ((NDIS_STATUS)0xC0010012L)
-#define NDIS_STATUS_NOT_INDICATING ((NDIS_STATUS)0xC0010013L)
-#define NDIS_STATUS_INVALID_LENGTH ((NDIS_STATUS)0xC0010014L)
-#define NDIS_STATUS_INVALID_DATA ((NDIS_STATUS)0xC0010015L)
-#define NDIS_STATUS_BUFFER_TOO_SHORT ((NDIS_STATUS)0xC0010016L)
-#define NDIS_STATUS_INVALID_OID ((NDIS_STATUS)0xC0010017L)
-#define NDIS_STATUS_ADAPTER_REMOVED ((NDIS_STATUS)0xC0010018L)
-#define NDIS_STATUS_UNSUPPORTED_MEDIA ((NDIS_STATUS)0xC0010019L)
-#define NDIS_STATUS_GROUP_ADDRESS_IN_USE ((NDIS_STATUS)0xC001001AL)
-#define NDIS_STATUS_FILE_NOT_FOUND ((NDIS_STATUS)0xC001001BL)
-#define NDIS_STATUS_ERROR_READING_FILE ((NDIS_STATUS)0xC001001CL)
-#define NDIS_STATUS_ALREADY_MAPPED ((NDIS_STATUS)0xC001001DL)
-#define NDIS_STATUS_RESOURCE_CONFLICT ((NDIS_STATUS)0xC001001EL)
-#define NDIS_STATUS_NO_CABLE ((NDIS_STATUS)0xC001001FL)
-
-#define NDIS_STATUS_INVALID_SAP ((NDIS_STATUS)0xC0010020L)
-#define NDIS_STATUS_SAP_IN_USE ((NDIS_STATUS)0xC0010021L)
-#define NDIS_STATUS_INVALID_ADDRESS ((NDIS_STATUS)0xC0010022L)
-#define NDIS_STATUS_VC_NOT_ACTIVATED ((NDIS_STATUS)0xC0010023L)
-#define NDIS_STATUS_DEST_OUT_OF_ORDER ((NDIS_STATUS)0xC0010024L)
-#define NDIS_STATUS_VC_NOT_AVAILABLE ((NDIS_STATUS)0xC0010025L)
-#define NDIS_STATUS_CELLRATE_NOT_AVAILABLE ((NDIS_STATUS)0xC0010026L)
-#define NDIS_STATUS_INCOMPATABLE_QOS ((NDIS_STATUS)0xC0010027L)
-#define NDIS_STATUS_AAL_PARAMS_UNSUPPORTED ((NDIS_STATUS)0xC0010028L)
-#define NDIS_STATUS_NO_ROUTE_TO_DESTINATION ((NDIS_STATUS)0xC0010029L)
-
-#define NDIS_STATUS_TOKEN_RING_OPEN_ERROR ((NDIS_STATUS)0xC0011000L)
-#define NDIS_STATUS_INVALID_DEVICE_REQUEST ((NDIS_STATUS)STATUS_INVALID_DEVICE_REQUEST)
-#define NDIS_STATUS_NETWORK_UNREACHABLE ((NDIS_STATUS)STATUS_NETWORK_UNREACHABLE)
-
-
-/* NDIS error codes for error logging */
-
-#define NDIS_ERROR_CODE_RESOURCE_CONFLICT EVENT_NDIS_RESOURCE_CONFLICT
-#define NDIS_ERROR_CODE_OUT_OF_RESOURCES EVENT_NDIS_OUT_OF_RESOURCE
-#define NDIS_ERROR_CODE_HARDWARE_FAILURE EVENT_NDIS_HARDWARE_FAILURE
-#define NDIS_ERROR_CODE_ADAPTER_NOT_FOUND EVENT_NDIS_ADAPTER_NOT_FOUND
-#define NDIS_ERROR_CODE_INTERRUPT_CONNECT EVENT_NDIS_INTERRUPT_CONNECT
-#define NDIS_ERROR_CODE_DRIVER_FAILURE EVENT_NDIS_DRIVER_FAILURE
-#define NDIS_ERROR_CODE_BAD_VERSION EVENT_NDIS_BAD_VERSION
-#define NDIS_ERROR_CODE_TIMEOUT EVENT_NDIS_TIMEOUT
-#define NDIS_ERROR_CODE_NETWORK_ADDRESS EVENT_NDIS_NETWORK_ADDRESS
-#define NDIS_ERROR_CODE_UNSUPPORTED_CONFIGURATION EVENT_NDIS_UNSUPPORTED_CONFIGURATION
-#define NDIS_ERROR_CODE_INVALID_VALUE_FROM_ADAPTER EVENT_NDIS_INVALID_VALUE_FROM_ADAPTER
-#define NDIS_ERROR_CODE_MISSING_CONFIGURATION_PARAMETER EVENT_NDIS_MISSING_CONFIGURATION_PARAMETER
-#define NDIS_ERROR_CODE_BAD_IO_BASE_ADDRESS EVENT_NDIS_BAD_IO_BASE_ADDRESS
-#define NDIS_ERROR_CODE_RECEIVE_SPACE_SMALL EVENT_NDIS_RECEIVE_SPACE_SMALL
-#define NDIS_ERROR_CODE_ADAPTER_DISABLED EVENT_NDIS_ADAPTER_DISABLED
-
-
-/* Memory allocation flags. Used by Ndis[Allocate|Free]Memory */
-#define NDIS_MEMORY_CONTIGUOUS 0x00000001
-#define NDIS_MEMORY_NONCACHED 0x00000002
-
-/* NIC attribute flags. Used by NdisMSetAttributes(Ex) */
-#define NDIS_ATTRIBUTE_IGNORE_PACKET_TIMEOUT 0x00000001
-#define NDIS_ATTRIBUTE_IGNORE_REQUEST_TIMEOUT 0x00000002
-#define NDIS_ATTRIBUTE_IGNORE_TOKEN_RING_ERRORS 0x00000004
-#define NDIS_ATTRIBUTE_BUS_MASTER 0x00000008
-#define NDIS_ATTRIBUTE_INTERMEDIATE_DRIVER 0x00000010
-#define NDIS_ATTRIBUTE_DESERIALIZE 0x00000020
-#define NDIS_ATTRIBUTE_NO_HALT_ON_SUSPEND 0x00000040
-#define NDIS_ATTRIBUTE_SURPRISE_REMOVE_OK 0x00000080
-#define NDIS_ATTRIBUTE_NOT_CO_NDIS 0x00000100
-#define NDIS_ATTRIBUTE_USES_SAFE_BUFFER_APIS 0x00000200
-
-
-/* Lock */
-
-typedef union _NDIS_RW_LOCK_REFCOUNT {
- UINT RefCount;
- UCHAR cacheLine[16];
-} NDIS_RW_LOCK_REFCOUNT;
-
-typedef struct _NDIS_RW_LOCK {
- union {
- struct {
- KSPIN_LOCK SpinLock;
- PVOID Context;
- } s;
- UCHAR Reserved[16];
- } u;
-
- NDIS_RW_LOCK_REFCOUNT RefCount[MAXIMUM_PROCESSORS];
-} NDIS_RW_LOCK, *PNDIS_RW_LOCK;
-
-typedef struct _LOCK_STATE {
- USHORT LockState;
- KIRQL OldIrql;
-} LOCK_STATE, *PLOCK_STATE;
-
-
-
-/* Timer */
-
-typedef VOID DDKAPI
-(*PNDIS_TIMER_FUNCTION)(
- IN PVOID SystemSpecific1,
- IN PVOID FunctionContext,
- IN PVOID SystemSpecific2,
- IN PVOID SystemSpecific3);
-
-typedef struct _NDIS_TIMER {
- KTIMER Timer;
- KDPC Dpc;
-} NDIS_TIMER, *PNDIS_TIMER;
-
-
-
-/* Hardware */
-
-typedef CM_MCA_POS_DATA NDIS_MCA_POS_DATA, *PNDIS_MCA_POS_DATA;
-typedef CM_EISA_SLOT_INFORMATION NDIS_EISA_SLOT_INFORMATION, *PNDIS_EISA_SLOT_INFORMATION;
-typedef CM_EISA_FUNCTION_INFORMATION NDIS_EISA_FUNCTION_INFORMATION, *PNDIS_EISA_FUNCTION_INFORMATION;
-typedef CM_PARTIAL_RESOURCE_LIST NDIS_RESOURCE_LIST, *PNDIS_RESOURCE_LIST;
-
-/* Hardware status codes (OID_GEN_HARDWARE_STATUS) */
-typedef enum _NDIS_HARDWARE_STATUS {
- NdisHardwareStatusReady,
- NdisHardwareStatusInitializing,
- NdisHardwareStatusReset,
- NdisHardwareStatusClosing,
- NdisHardwareStatusNotReady
-} NDIS_HARDWARE_STATUS, *PNDIS_HARDWARE_STATUS;
-
-/* OID_GEN_GET_TIME_CAPS */
-typedef struct _GEN_GET_TIME_CAPS {
- ULONG Flags;
- ULONG ClockPrecision;
-} GEN_GET_TIME_CAPS, *PGEN_GET_TIME_CAPS;
-
-/* Flag bits */
-#define READABLE_LOCAL_CLOCK 0x00000001
-#define CLOCK_NETWORK_DERIVED 0x00000002
-#define CLOCK_PRECISION 0x00000004
-#define RECEIVE_TIME_INDICATION_CAPABLE 0x00000008
-#define TIMED_SEND_CAPABLE 0x00000010
-#define TIME_STAMP_CAPABLE 0x00000020
-
-/* OID_GEN_GET_NETCARD_TIME */
-typedef struct _GEN_GET_NETCARD_TIME {
- ULONGLONG ReadTime;
-} GEN_GET_NETCARD_TIME, *PGEN_GET_NETCARD_TIME;
-
-/* NDIS driver medium (OID_GEN_MEDIA_SUPPORTED / OID_GEN_MEDIA_IN_USE) */
-typedef enum _NDIS_MEDIUM {
- NdisMedium802_3,
- NdisMedium802_5,
- NdisMediumFddi,
- NdisMediumWan,
- NdisMediumLocalTalk,
- NdisMediumDix,
- NdisMediumArcnetRaw,
- NdisMediumArcnet878_2,
- NdisMediumAtm,
- NdisMediumWirelessWan,
- NdisMediumIrda,
- NdisMediumBpc,
- NdisMediumCoWan,
- NdisMedium1394,
- NdisMediumMax
-} NDIS_MEDIUM, *PNDIS_MEDIUM;
-
-/* NDIS packet filter bits (OID_GEN_CURRENT_PACKET_FILTER) */
-#define NDIS_PACKET_TYPE_DIRECTED 0x00000001
-#define NDIS_PACKET_TYPE_MULTICAST 0x00000002
-#define NDIS_PACKET_TYPE_ALL_MULTICAST 0x00000004
-#define NDIS_PACKET_TYPE_BROADCAST 0x00000008
-#define NDIS_PACKET_TYPE_SOURCE_ROUTING 0x00000010
-#define NDIS_PACKET_TYPE_PROMISCUOUS 0x00000020
-#define NDIS_PACKET_TYPE_SMT 0x00000040
-#define NDIS_PACKET_TYPE_ALL_LOCAL 0x00000080
-#define NDIS_PACKET_TYPE_GROUP 0x00001000
-#define NDIS_PACKET_TYPE_ALL_FUNCTIONAL 0x00002000
-#define NDIS_PACKET_TYPE_FUNCTIONAL 0x00004000
-#define NDIS_PACKET_TYPE_MAC_FRAME 0x00008000
-
-/* NDIS protocol option bits (OID_GEN_PROTOCOL_OPTIONS) */
-#define NDIS_PROT_OPTION_ESTIMATED_LENGTH 0x00000001
-#define NDIS_PROT_OPTION_NO_LOOPBACK 0x00000002
-#define NDIS_PROT_OPTION_NO_RSVD_ON_RCVPKT 0x00000004
-
-/* NDIS MAC option bits (OID_GEN_MAC_OPTIONS) */
-#define NDIS_MAC_OPTION_COPY_LOOKAHEAD_DATA 0x00000001
-#define NDIS_MAC_OPTION_RECEIVE_SERIALIZED 0x00000002
-#define NDIS_MAC_OPTION_TRANSFERS_NOT_PEND 0x00000004
-#define NDIS_MAC_OPTION_NO_LOOPBACK 0x00000008
-#define NDIS_MAC_OPTION_FULL_DUPLEX 0x00000010
-#define NDIS_MAC_OPTION_EOTX_INDICATION 0x00000020
-#define NDIS_MAC_OPTION_8021P_PRIORITY 0x00000040
-#define NDIS_MAC_OPTION_RESERVED 0x80000000
-
-/* State of the LAN media (OID_GEN_MEDIA_CONNECT_STATUS) */
-typedef enum _NDIS_MEDIA_STATE {
- NdisMediaStateConnected,
- NdisMediaStateDisconnected
-} NDIS_MEDIA_STATE, *PNDIS_MEDIA_STATE;
-
-/* OID_GEN_SUPPORTED_GUIDS */
-typedef struct _NDIS_GUID {
- GUID Guid;
- union {
- NDIS_OID Oid;
- NDIS_STATUS Status;
- } u;
- ULONG Size;
- ULONG Flags;
-} NDIS_GUID, *PNDIS_GUID;
-
-#define NDIS_GUID_TO_OID 0x00000001
-#define NDIS_GUID_TO_STATUS 0x00000002
-#define NDIS_GUID_ANSI_STRING 0x00000004
-#define NDIS_GUID_UNICODE_STRING 0x00000008
-#define NDIS_GUID_ARRAY 0x00000010
-
-
-typedef struct _NDIS_PACKET_POOL {
- NDIS_SPIN_LOCK SpinLock;
- struct _NDIS_PACKET *FreeList;
- UINT PacketLength;
- UCHAR Buffer[1];
-} NDIS_PACKET_POOL, * PNDIS_PACKET_POOL;
-
-/* NDIS_PACKET_PRIVATE.Flags constants */
-#define fPACKET_CONTAINS_MEDIA_SPECIFIC_INFO 0x40
-#define fPACKET_ALLOCATED_BY_NDIS 0x80
-
-typedef struct _NDIS_PACKET_PRIVATE {
- UINT PhysicalCount;
- UINT TotalLength;
- PNDIS_BUFFER Head;
- PNDIS_BUFFER Tail;
- PNDIS_PACKET_POOL Pool;
- UINT Count;
- ULONG Flags;
- BOOLEAN ValidCounts;
- UCHAR NdisPacketFlags;
- USHORT NdisPacketOobOffset;
-} NDIS_PACKET_PRIVATE, * PNDIS_PACKET_PRIVATE;
-
-typedef struct _NDIS_PACKET {
- NDIS_PACKET_PRIVATE Private;
- union {
- struct {
- UCHAR MiniportReserved[2 * sizeof(PVOID)];
- UCHAR WrapperReserved[2 * sizeof(PVOID)];
- } s1;
- struct {
- UCHAR MiniportReservedEx[3 * sizeof(PVOID)];
- UCHAR WrapperReservedEx[sizeof(PVOID)];
- } s2;
- struct {
- UCHAR MacReserved[4 * sizeof(PVOID)];
- } s3;
- } u;
- ULONG_PTR Reserved[2];
- UCHAR ProtocolReserved[1];
-} NDIS_PACKET, *PNDIS_PACKET, **PPNDIS_PACKET;
-
-typedef enum _NDIS_CLASS_ID {
- NdisClass802_3Priority,
- NdisClassWirelessWanMbxMailbox,
- NdisClassIrdaPacketInfo,
- NdisClassAtmAALInfo
-} NDIS_CLASS_ID;
-
-typedef struct MediaSpecificInformation {
- UINT NextEntryOffset;
- NDIS_CLASS_ID ClassId;
- UINT Size;
- UCHAR ClassInformation[1];
-} MEDIA_SPECIFIC_INFORMATION;
-
-typedef struct _NDIS_PACKET_OOB_DATA {
- _ANONYMOUS_UNION union {
- ULONGLONG TimeToSend;
- ULONGLONG TimeSent;
- } DUMMYUNIONNAME;
- ULONGLONG TimeReceived;
- UINT HeaderSize;
- UINT SizeMediaSpecificInfo;
- PVOID MediaSpecificInformation;
- NDIS_STATUS Status;
-} NDIS_PACKET_OOB_DATA, *PNDIS_PACKET_OOB_DATA;
-
-typedef struct _NDIS_PM_PACKET_PATTERN {
- ULONG Priority;
- ULONG Reserved;
- ULONG MaskSize;
- ULONG PatternOffset;
- ULONG PatternSize;
- ULONG PatternFlags;
-} NDIS_PM_PACKET_PATTERN, *PNDIS_PM_PACKET_PATTERN;
-
-
-/* Request types used by NdisRequest */
-typedef enum _NDIS_REQUEST_TYPE {
- NdisRequestQueryInformation,
- NdisRequestSetInformation,
- NdisRequestQueryStatistics,
- NdisRequestOpen,
- NdisRequestClose,
- NdisRequestSend,
- NdisRequestTransferData,
- NdisRequestReset,
- NdisRequestGeneric1,
- NdisRequestGeneric2,
- NdisRequestGeneric3,
- NdisRequestGeneric4
-} NDIS_REQUEST_TYPE, *PNDIS_REQUEST_TYPE;
-
-typedef struct _NDIS_REQUEST {
- UCHAR MacReserved[4 * sizeof(PVOID)];
- NDIS_REQUEST_TYPE RequestType;
- union _DATA {
- struct QUERY_INFORMATION {
- NDIS_OID Oid;
- PVOID InformationBuffer;
- UINT InformationBufferLength;
- UINT BytesWritten;
- UINT BytesNeeded;
- } QUERY_INFORMATION;
- struct SET_INFORMATION {
- NDIS_OID Oid;
- PVOID InformationBuffer;
- UINT InformationBufferLength;
- UINT BytesRead;
- UINT BytesNeeded;
- } SET_INFORMATION;
- } DATA;
-#if (defined(NDIS50) || defined(NDIS51))
- UCHAR NdisReserved[9 * sizeof(PVOID)];
- union {
- UCHAR CallMgrReserved[2 * sizeof(PVOID)];
- UCHAR ProtocolReserved[2 * sizeof(PVOID)];
- };
- UCHAR MiniportReserved[2 * sizeof(PVOID)];
-#endif
-} NDIS_REQUEST, *PNDIS_REQUEST;
-
-
-
-/* Wide Area Networks definitions */
-
-typedef struct _NDIS_WAN_PACKET {
- LIST_ENTRY WanPacketQueue;
- PUCHAR CurrentBuffer;
- ULONG CurrentLength;
- PUCHAR StartBuffer;
- PUCHAR EndBuffer;
- PVOID ProtocolReserved1;
- PVOID ProtocolReserved2;
- PVOID ProtocolReserved3;
- PVOID ProtocolReserved4;
- PVOID MacReserved1;
- PVOID MacReserved2;
- PVOID MacReserved3;
- PVOID MacReserved4;
-} NDIS_WAN_PACKET, *PNDIS_WAN_PACKET;
-
-
-
-/* DMA channel information */
-
-typedef struct _NDIS_DMA_DESCRIPTION {
- BOOLEAN DemandMode;
- BOOLEAN AutoInitialize;
- BOOLEAN DmaChannelSpecified;
- DMA_WIDTH DmaWidth;
- DMA_SPEED DmaSpeed;
- ULONG DmaPort;
- ULONG DmaChannel;
-} NDIS_DMA_DESCRIPTION, *PNDIS_DMA_DESCRIPTION;
-
-typedef struct _NDIS_DMA_BLOCK {
- PVOID MapRegisterBase;
- KEVENT AllocationEvent;
- PADAPTER_OBJECT SystemAdapterObject;
- PVOID Miniport;
- BOOLEAN InProgress;
-} NDIS_DMA_BLOCK, *PNDIS_DMA_BLOCK;
-
-
-/* Possible hardware architecture */
-typedef enum _NDIS_INTERFACE_TYPE {
- NdisInterfaceInternal = Internal,
- NdisInterfaceIsa = Isa,
- NdisInterfaceEisa = Eisa,
- NdisInterfaceMca = MicroChannel,
- NdisInterfaceTurboChannel = TurboChannel,
- NdisInterfacePci = PCIBus,
- NdisInterfacePcMcia = PCMCIABus,
- NdisInterfaceCBus = CBus,
- NdisInterfaceMPIBus = MPIBus,
- NdisInterfaceMPSABus = MPSABus,
- NdisInterfaceProcessorInternal = ProcessorInternal,
- NdisInterfaceInternalPowerBus = InternalPowerBus,
- NdisInterfacePNPISABus = PNPISABus,
- NdisInterfacePNPBus = PNPBus,
- NdisMaximumInterfaceType
-} NDIS_INTERFACE_TYPE, *PNDIS_INTERFACE_TYPE;
-
-#define NdisInterruptLevelSensitive LevelSensitive
-#define NdisInterruptLatched Latched
-typedef KINTERRUPT_MODE NDIS_INTERRUPT_MODE, *PNDIS_INTERRUPT_MODE;
-
-
-typedef enum _NDIS_PARAMETER_TYPE {
- NdisParameterInteger,
- NdisParameterHexInteger,
- NdisParameterString,
- NdisParameterMultiString,
- NdisParameterBinary
-} NDIS_PARAMETER_TYPE, *PNDIS_PARAMETER_TYPE;
-
-typedef struct {
- USHORT Length;
- PVOID Buffer;
-} BINARY_DATA;
-
-typedef struct _NDIS_CONFIGURATION_PARAMETER {
- NDIS_PARAMETER_TYPE ParameterType;
- union {
- ULONG IntegerData;
- NDIS_STRING StringData;
- BINARY_DATA BinaryData;
- } ParameterData;
-} NDIS_CONFIGURATION_PARAMETER, *PNDIS_CONFIGURATION_PARAMETER;
-
-
-typedef PHYSICAL_ADDRESS NDIS_PHYSICAL_ADDRESS, *PNDIS_PHYSICAL_ADDRESS;
-
-typedef struct _NDIS_PHYSICAL_ADDRESS_UNIT {
- NDIS_PHYSICAL_ADDRESS PhysicalAddress;
- UINT Length;
-} NDIS_PHYSICAL_ADDRESS_UNIT, *PNDIS_PHYSICAL_ADDRESS_UNIT;
-
-typedef struct _NDIS_WAN_LINE_DOWN {
- UCHAR RemoteAddress[6];
- UCHAR LocalAddress[6];
-} NDIS_WAN_LINE_DOWN, *PNDIS_WAN_LINE_DOWN;
-
-typedef struct _NDIS_WAN_LINE_UP {
- ULONG LinkSpeed;
- ULONG MaximumTotalSize;
- NDIS_WAN_QUALITY Quality;
- USHORT SendWindow;
- UCHAR RemoteAddress[6];
- OUT UCHAR LocalAddress[6];
- ULONG ProtocolBufferLength;
- PUCHAR ProtocolBuffer;
- USHORT ProtocolType;
- NDIS_STRING DeviceName;
-} NDIS_WAN_LINE_UP, *PNDIS_WAN_LINE_UP;
-
-
-typedef VOID DDKAPI
-(*ADAPTER_SHUTDOWN_HANDLER)(
- IN PVOID ShutdownContext);
-
-
-typedef struct _OID_LIST OID_LIST, *POID_LIST;
-
-/* PnP state */
-
-typedef enum _NDIS_PNP_DEVICE_STATE {
- NdisPnPDeviceAdded,
- NdisPnPDeviceStarted,
- NdisPnPDeviceQueryStopped,
- NdisPnPDeviceStopped,
- NdisPnPDeviceQueryRemoved,
- NdisPnPDeviceRemoved,
- NdisPnPDeviceSurpriseRemoved
-} NDIS_PNP_DEVICE_STATE;
-
-#define NDIS_DEVICE_NOT_STOPPABLE 0x00000001
-#define NDIS_DEVICE_NOT_REMOVEABLE 0x00000002
-#define NDIS_DEVICE_NOT_SUSPENDABLE 0x00000004
-#define NDIS_DEVICE_DISABLE_PM 0x00000008
-#define NDIS_DEVICE_DISABLE_WAKE_UP 0x00000010
-#define NDIS_DEVICE_DISABLE_WAKE_ON_RECONNECT 0x00000020
-#define NDIS_DEVICE_RESERVED 0x00000040
-#define NDIS_DEVICE_DISABLE_WAKE_ON_MAGIC_PACKET 0x00000080
-#define NDIS_DEVICE_DISABLE_WAKE_ON_PATTERN_MATCH 0x00000100
-
-
-/* OID_GEN_NETWORK_LAYER_ADDRESSES */
-typedef struct _NETWORK_ADDRESS {
- USHORT AddressLength;
- USHORT AddressType;
- UCHAR Address[1];
-} NETWORK_ADDRESS, *PNETWORK_ADDRESS;
-
-typedef struct _NETWORK_ADDRESS_LIST {
- LONG AddressCount;
- USHORT AddressType;
- NETWORK_ADDRESS Address[1];
-} NETWORK_ADDRESS_LIST, *PNETWORK_ADDRESS_LIST;
-
-/* Protocol types supported by NDIS */
-#define NDIS_PROTOCOL_ID_DEFAULT 0x00
-#define NDIS_PROTOCOL_ID_TCP_IP 0x02
-#define NDIS_PROTOCOL_ID_IPX 0x06
-#define NDIS_PROTOCOL_ID_NBF 0x07
-#define NDIS_PROTOCOL_ID_MAX 0x0F
-#define NDIS_PROTOCOL_ID_MASK 0x0F
-
-
-/* OID_GEN_TRANSPORT_HEADER_OFFSET */
-typedef struct _TRANSPORT_HEADER_OFFSET {
- USHORT ProtocolType;
- USHORT HeaderOffset;
-} TRANSPORT_HEADER_OFFSET, *PTRANSPORT_HEADER_OFFSET;
-
-
-/* OID_GEN_CO_LINK_SPEED / OID_GEN_CO_MINIMUM_LINK_SPEED */
-typedef struct _NDIS_CO_LINK_SPEED {
- ULONG Outbound;
- ULONG Inbound;
-} NDIS_CO_LINK_SPEED, *PNDIS_CO_LINK_SPEED;
-
-typedef ULONG NDIS_AF, *PNDIS_AF;
-#define CO_ADDRESS_FAMILY_Q2931 ((NDIS_AF)0x1)
-#define CO_ADDRESS_FAMILY_PSCHED ((NDIS_AF)0x2)
-#define CO_ADDRESS_FAMILY_L2TP ((NDIS_AF)0x3)
-#define CO_ADDRESS_FAMILY_IRDA ((NDIS_AF)0x4)
-#define CO_ADDRESS_FAMILY_1394 ((NDIS_AF)0x5)
-#define CO_ADDRESS_FAMILY_PPP ((NDIS_AF)0x6)
-#define CO_ADDRESS_FAMILY_TAPI ((NDIS_AF)0x800)
-#define CO_ADDRESS_FAMILY_TAPI_PROXY ((NDIS_AF)0x801)
-
-#define CO_ADDRESS_FAMILY_PROXY 0x80000000
-
-typedef struct {
- NDIS_AF AddressFamily;
- ULONG MajorVersion;
- ULONG MinorVersion;
-} CO_ADDRESS_FAMILY, *PCO_ADDRESS_FAMILY;
-
-typedef struct _CO_FLOW_PARAMETERS {
- ULONG TokenRate;
- ULONG TokenBucketSize;
- ULONG PeakBandwidth;
- ULONG Latency;
- ULONG DelayVariation;
- SERVICETYPE ServiceType;
- ULONG MaxSduSize;
- ULONG MinimumPolicedSize;
-} CO_FLOW_PARAMETERS, *PCO_FLOW_PARAMETERS;
-
-typedef struct _CO_SPECIFIC_PARAMETERS {
- ULONG ParamType;
- ULONG Length;
- UCHAR Parameters[1];
-} CO_SPECIFIC_PARAMETERS, *PCO_SPECIFIC_PARAMETERS;
-
-typedef struct _CO_CALL_MANAGER_PARAMETERS {
- CO_FLOW_PARAMETERS Transmit;
- CO_FLOW_PARAMETERS Receive;
- CO_SPECIFIC_PARAMETERS CallMgrSpecific;
-} CO_CALL_MANAGER_PARAMETERS, *PCO_CALL_MANAGER_PARAMETERS;
-
-/* CO_MEDIA_PARAMETERS.Flags constants */
-#define RECEIVE_TIME_INDICATION 0x00000001
-#define USE_TIME_STAMPS 0x00000002
-#define TRANSMIT_VC 0x00000004
-#define RECEIVE_VC 0x00000008
-#define INDICATE_ERRED_PACKETS 0x00000010
-#define INDICATE_END_OF_TX 0x00000020
-#define RESERVE_RESOURCES_VC 0x00000040
-#define ROUND_DOWN_FLOW 0x00000080
-#define ROUND_UP_FLOW 0x00000100
-
-typedef struct _CO_MEDIA_PARAMETERS {
- ULONG Flags;
- ULONG ReceivePriority;
- ULONG ReceiveSizeHint;
- CO_SPECIFIC_PARAMETERS MediaSpecific;
-} CO_MEDIA_PARAMETERS, *PCO_MEDIA_PARAMETERS;
-
-/* CO_CALL_PARAMETERS.Flags constants */
-#define PERMANENT_VC 0x00000001
-#define CALL_PARAMETERS_CHANGED 0x00000002
-#define QUERY_CALL_PARAMETERS 0x00000004
-#define BROADCAST_VC 0x00000008
-#define MULTIPOINT_VC 0x00000010
-
-typedef struct _CO_CALL_PARAMETERS {
- ULONG Flags;
- PCO_CALL_MANAGER_PARAMETERS CallMgrParameters;
- PCO_MEDIA_PARAMETERS MediaParameters;
-} CO_CALL_PARAMETERS, *PCO_CALL_PARAMETERS;
-
-typedef struct _CO_SAP {
- ULONG SapType;
- ULONG SapLength;
- UCHAR Sap[1];
-} CO_SAP, *PCO_SAP;
-
-typedef struct _NDIS_IPSEC_PACKET_INFO {
- _ANONYMOUS_UNION union {
- struct {
- NDIS_HANDLE OffloadHandle;
- NDIS_HANDLE NextOffloadHandle;
- } Transmit;
- struct {
- ULONG SA_DELETE_REQ : 1;
- ULONG CRYPTO_DONE : 1;
- ULONG NEXT_CRYPTO_DONE : 1;
- ULONG CryptoStatus;
- } Receive;
- } DUMMYUNIONNAME;
-} NDIS_IPSEC_PACKET_INFO, *PNDIS_IPSEC_PACKET_INFO;
-
-/* NDIS_MAC_FRAGMENT.Errors constants */
-#define WAN_ERROR_CRC 0x00000001
-#define WAN_ERROR_FRAMING 0x00000002
-#define WAN_ERROR_HARDWAREOVERRUN 0x00000004
-#define WAN_ERROR_BUFFEROVERRUN 0x00000008
-#define WAN_ERROR_TIMEOUT 0x00000010
-#define WAN_ERROR_ALIGNMENT 0x00000020
-
-typedef struct _NDIS_MAC_FRAGMENT {
- NDIS_HANDLE NdisLinkContext;
- ULONG Errors;
-} NDIS_MAC_FRAGMENT, *PNDIS_MAC_FRAGMENT;
-
-typedef struct _NDIS_MAC_LINE_DOWN {
- NDIS_HANDLE NdisLinkContext;
-} NDIS_MAC_LINE_DOWN, *PNDIS_MAC_LINE_DOWN;
-
-typedef struct _NDIS_MAC_LINE_UP {
- ULONG LinkSpeed;
- NDIS_WAN_QUALITY Quality;
- USHORT SendWindow;
- NDIS_HANDLE ConnectionWrapperID;
- NDIS_HANDLE NdisLinkHandle;
- NDIS_HANDLE NdisLinkContext;
-} NDIS_MAC_LINE_UP, *PNDIS_MAC_LINE_UP;
-
-typedef struct _NDIS_PACKET_8021Q_INFO {
- _ANONYMOUS_UNION union {
- struct {
- UINT32 UserPriority : 3;
- UINT32 CanonicalFormatId : 1;
- UINT32 VlanId : 12;
- UINT32 Reserved : 16;
- } TagHeader;
- PVOID Value;
- } DUMMYUNIONNAME;
-} NDIS_PACKET_8021Q_INFO, *PNDIS_PACKET_8021Q_INFO;
-
-typedef enum _NDIS_PER_PACKET_INFO {
- TcpIpChecksumPacketInfo,
- IpSecPacketInfo,
- TcpLargeSendPacketInfo,
- ClassificationHandlePacketInfo,
- NdisReserved,
- ScatterGatherListPacketInfo,
- Ieee8021QInfo,
- OriginalPacketInfo,
- PacketCancelId,
- MaxPerPacketInfo
-} NDIS_PER_PACKET_INFO, *PNDIS_PER_PACKET_INFO;
-
-typedef struct _NDIS_PACKET_EXTENSION {
- PVOID NdisPacketInfo[MaxPerPacketInfo];
-} NDIS_PACKET_EXTENSION, *PNDIS_PACKET_EXTENSION;
-
-/*
- * PNDIS_PACKET
- * NDIS_GET_ORIGINAL_PACKET(
- * IN PNDIS_PACKET Packet);
- */
-#define NDIS_GET_ORIGINAL_PACKET(Packet) \
- NDIS_PER_PACKET_INFO_FROM_PACKET(Packet, OriginalPacketInfo)
-
-/*
- * PVOID
- * NDIS_GET_PACKET_CANCEL_ID(
- * IN PNDIS_PACKET Packet);
- */
-#define NDIS_GET_PACKET_CANCEL_ID(Packet) \
- NDIS_PER_PACKET_INFO_FROM_PACKET(Packet, PacketCancelId)
-
-/*
- * PNDIS_PACKET_EXTENSION
- * NDIS_PACKET_EXTENSION_FROM_PACKET(
- * IN PNDIS_PACKET Packet);
- */
-#define NDIS_PACKET_EXTENSION_FROM_PACKET(Packet) \
- ((PNDIS_PACKET_EXTENSION)((PUCHAR)(Packet) \
- + (Packet)->Private.NdisPacketOobOffset + sizeof(NDIS_PACKET_OOB_DATA)))
-
-/*
- * PVOID
- * NDIS_PER_PACKET_INFO_FROM_PACKET(
- * IN OUT PNDIS_PACKET Packet,
- * IN NDIS_PER_PACKET_INFO InfoType);
- */
-#define NDIS_PER_PACKET_INFO_FROM_PACKET(Packet, InfoType) \
- ((PNDIS_PACKET_EXTENSION)((PUCHAR)(Packet) + (Packet)->Private.NdisPacketOobOffset \
- + sizeof(NDIS_PACKET_OOB_DATA)))->NdisPacketInfo[(InfoType)]
-
-/*
- * VOID
- * NDIS_SET_ORIGINAL_PACKET(
- * IN OUT PNDIS_PACKET Packet,
- * IN PNDIS_PACKET OriginalPacket);
- */
-#define NDIS_SET_ORIGINAL_PACKET(Packet, OriginalPacket) \
- NDIS_PER_PACKET_INFO_FROM_PACKET(Packet, OriginalPacketInfo) = (OriginalPacket)
-
-/*
- * VOID
- * NDIS_SET_PACKET_CANCEL_ID(
- * IN PNDIS_PACKET Packet
- * IN ULONG_PTR CancelId);
- */
-#define NDIS_SET_PACKET_CANCEL_ID(Packet, CancelId) \
- NDIS_PER_PACKET_INFO_FROM_PACKET(Packet, PacketCancelId) = (CancelId)
-
-typedef enum _NDIS_TASK {
- TcpIpChecksumNdisTask,
- IpSecNdisTask,
- TcpLargeSendNdisTask,
- MaxNdisTask
-} NDIS_TASK, *PNDIS_TASK;
-
-typedef struct _NDIS_TASK_IPSEC {
- struct {
- ULONG AH_ESP_COMBINED;
- ULONG TRANSPORT_TUNNEL_COMBINED;
- ULONG V4_OPTIONS;
- ULONG RESERVED;
- } Supported;
-
- struct {
- ULONG MD5 : 1;
- ULONG SHA_1 : 1;
- ULONG Transport : 1;
- ULONG Tunnel : 1;
- ULONG Send : 1;
- ULONG Receive : 1;
- } V4AH;
-
- struct {
- ULONG DES : 1;
- ULONG RESERVED : 1;
- ULONG TRIPLE_DES : 1;
- ULONG NULL_ESP : 1;
- ULONG Transport : 1;
- ULONG Tunnel : 1;
- ULONG Send : 1;
- ULONG Receive : 1;
- } V4ESP;
-} NDIS_TASK_IPSEC, *PNDIS_TASK_IPSEC;
-
-typedef struct _NDIS_TASK_OFFLOAD {
- ULONG Version;
- ULONG Size;
- NDIS_TASK Task;
- ULONG OffsetNextTask;
- ULONG TaskBufferLength;
- UCHAR TaskBuffer[1];
-} NDIS_TASK_OFFLOAD, *PNDIS_TASK_OFFLOAD;
-
-/* NDIS_TASK_OFFLOAD_HEADER.Version constants */
-#define NDIS_TASK_OFFLOAD_VERSION 1
-
-typedef enum _NDIS_ENCAPSULATION {
- UNSPECIFIED_Encapsulation,
- NULL_Encapsulation,
- IEEE_802_3_Encapsulation,
- IEEE_802_5_Encapsulation,
- LLC_SNAP_ROUTED_Encapsulation,
- LLC_SNAP_BRIDGED_Encapsulation
-} NDIS_ENCAPSULATION;
-
-typedef struct _NDIS_ENCAPSULATION_FORMAT {
- NDIS_ENCAPSULATION Encapsulation;
- struct {
- ULONG FixedHeaderSize : 1;
- ULONG Reserved : 31;
- } Flags;
- ULONG EncapsulationHeaderSize;
-} NDIS_ENCAPSULATION_FORMAT, *PNDIS_ENCAPSULATION_FORMAT;
-
-typedef struct _NDIS_TASK_TCP_IP_CHECKSUM {
- struct {
- ULONG IpOptionsSupported:1;
- ULONG TcpOptionsSupported:1;
- ULONG TcpChecksum:1;
- ULONG UdpChecksum:1;
- ULONG IpChecksum:1;
- } V4Transmit;
-
- struct {
- ULONG IpOptionsSupported : 1;
- ULONG TcpOptionsSupported : 1;
- ULONG TcpChecksum : 1;
- ULONG UdpChecksum : 1;
- ULONG IpChecksum : 1;
- } V4Receive;
-
- struct {
- ULONG IpOptionsSupported : 1;
- ULONG TcpOptionsSupported : 1;
- ULONG TcpChecksum : 1;
- ULONG UdpChecksum : 1;
- } V6Transmit;
-
- struct {
- ULONG IpOptionsSupported : 1;
- ULONG TcpOptionsSupported : 1;
- ULONG TcpChecksum : 1;
- ULONG UdpChecksum : 1;
- } V6Receive;
-} NDIS_TASK_TCP_IP_CHECKSUM, *PNDIS_TASK_TCP_IP_CHECKSUM;
-
-typedef struct _NDIS_TASK_TCP_LARGE_SEND {
- ULONG Version;
- ULONG MaxOffLoadSize;
- ULONG MinSegmentCount;
- BOOLEAN TcpOptions;
- BOOLEAN IpOptions;
-} NDIS_TASK_TCP_LARGE_SEND, *PNDIS_TASK_TCP_LARGE_SEND;
-
-typedef struct _NDIS_TCP_IP_CHECKSUM_PACKET_INFO {
- _ANONYMOUS_UNION union {
- struct {
- ULONG NdisPacketChecksumV4 : 1;
- ULONG NdisPacketChecksumV6 : 1;
- ULONG NdisPacketTcpChecksum : 1;
- ULONG NdisPacketUdpChecksum : 1;
- ULONG NdisPacketIpChecksum : 1;
- } Transmit;
-
- struct {
- ULONG NdisPacketTcpChecksumFailed : 1;
- ULONG NdisPacketUdpChecksumFailed : 1;
- ULONG NdisPacketIpChecksumFailed : 1;
- ULONG NdisPacketTcpChecksumSucceeded : 1;
- ULONG NdisPacketUdpChecksumSucceeded : 1;
- ULONG NdisPacketIpChecksumSucceeded : 1;
- ULONG NdisPacketLoopback : 1;
- } Receive;
- ULONG Value;
- } DUMMYUNIONNAME;
-} NDIS_TCP_IP_CHECKSUM_PACKET_INFO, *PNDIS_TCP_IP_CHECKSUM_PACKET_INFO;
-
-typedef struct _NDIS_WAN_CO_FRAGMENT {
- ULONG Errors;
-} NDIS_WAN_CO_FRAGMENT, *PNDIS_WAN_CO_FRAGMENT;
-
-typedef struct _NDIS_WAN_FRAGMENT {
- UCHAR RemoteAddress[6];
- UCHAR LocalAddress[6];
-} NDIS_WAN_FRAGMENT, *PNDIS_WAN_FRAGMENT;
-
-typedef struct _WAN_CO_LINKPARAMS {
- ULONG TransmitSpeed;
- ULONG ReceiveSpeed;
- ULONG SendWindow;
-} WAN_CO_LINKPARAMS, *PWAN_CO_LINKPARAMS;
-
-
-/* Call Manager */
-
-typedef VOID DDKAPI
-(*CM_ACTIVATE_VC_COMPLETE_HANDLER)(
- IN NDIS_STATUS Status,
- IN NDIS_HANDLE CallMgrVcContext,
- IN PCO_CALL_PARAMETERS CallParameters);
-
-typedef NDIS_STATUS DDKAPI
-(*CM_ADD_PARTY_HANDLER)(
- IN NDIS_HANDLE CallMgrVcContext,
- IN OUT PCO_CALL_PARAMETERS CallParameters,
- IN NDIS_HANDLE NdisPartyHandle,
- OUT PNDIS_HANDLE CallMgrPartyContext);
-
-typedef NDIS_STATUS DDKAPI
-(*CM_CLOSE_AF_HANDLER)(
- IN NDIS_HANDLE CallMgrAfContext);
-
-typedef NDIS_STATUS DDKAPI
-(*CM_CLOSE_CALL_HANDLER)(
- IN NDIS_HANDLE CallMgrVcContext,
- IN NDIS_HANDLE CallMgrPartyContext OPTIONAL,
- IN PVOID CloseData OPTIONAL,
- IN UINT Size OPTIONAL);
-
-typedef NDIS_STATUS DDKAPI
-(*CM_DEREG_SAP_HANDLER)(
- IN NDIS_HANDLE CallMgrSapContext);
-
-typedef VOID DDKAPI
-(*CM_DEACTIVATE_VC_COMPLETE_HANDLER)(
- IN NDIS_STATUS Status,
- IN NDIS_HANDLE CallMgrVcContext);
-
-typedef NDIS_STATUS DDKAPI
-(*CM_DROP_PARTY_HANDLER)(
- IN NDIS_HANDLE CallMgrPartyContext,
- IN PVOID CloseData OPTIONAL,
- IN UINT Size OPTIONAL);
-
-typedef VOID DDKAPI
-(*CM_INCOMING_CALL_COMPLETE_HANDLER)(
- IN NDIS_STATUS Status,
- IN NDIS_HANDLE CallMgrVcContext,
- IN PCO_CALL_PARAMETERS CallParameters);
-
-typedef NDIS_STATUS DDKAPI
-(*CM_MAKE_CALL_HANDLER)(
- IN NDIS_HANDLE CallMgrVcContext,
- IN OUT PCO_CALL_PARAMETERS CallParameters,
- IN NDIS_HANDLE NdisPartyHandle OPTIONAL,
- OUT PNDIS_HANDLE CallMgrPartyContext OPTIONAL);
-
-typedef NDIS_STATUS DDKAPI
-(*CM_MODIFY_CALL_QOS_HANDLER)(
- IN NDIS_HANDLE CallMgrVcContext,
- IN PCO_CALL_PARAMETERS CallParameters);
-
-typedef NDIS_STATUS DDKAPI
-(*CM_OPEN_AF_HANDLER)(
- IN NDIS_HANDLE CallMgrBindingContext,
- IN PCO_ADDRESS_FAMILY AddressFamily,
- IN NDIS_HANDLE NdisAfHandle,
- OUT PNDIS_HANDLE CallMgrAfContext);
-
-typedef NDIS_STATUS DDKAPI
-(*CM_REG_SAP_HANDLER)(
- IN NDIS_HANDLE CallMgrAfContext,
- IN PCO_SAP Sap,
- IN NDIS_HANDLE NdisSapHandle,
- OUT PNDIS_HANDLE CallMgrSapContext);
-
-typedef NDIS_STATUS DDKAPI
-(*CO_CREATE_VC_HANDLER)(
- IN NDIS_HANDLE ProtocolAfContext,
- IN NDIS_HANDLE NdisVcHandle,
- OUT PNDIS_HANDLE ProtocolVcContext);
-
-typedef NDIS_STATUS DDKAPI
-(*CO_DELETE_VC_HANDLER)(
- IN NDIS_HANDLE ProtocolVcContext);
-
-typedef VOID DDKAPI
-(*CO_REQUEST_COMPLETE_HANDLER)(
- IN NDIS_STATUS Status,
- IN NDIS_HANDLE ProtocolAfContext OPTIONAL,
- IN NDIS_HANDLE ProtocolVcContext OPTIONAL,
- IN NDIS_HANDLE ProtocolPartyContext OPTIONAL,
- IN PNDIS_REQUEST NdisRequest);
-
-typedef NDIS_STATUS DDKAPI
-(*CO_REQUEST_HANDLER)(
- IN NDIS_HANDLE ProtocolAfContext,
- IN NDIS_HANDLE ProtocolVcContext OPTIONAL,
- IN NDIS_HANDLE ProtocolPartyContext OPTIONAL,
- IN OUT PNDIS_REQUEST NdisRequest);
-
-typedef struct _NDIS_CALL_MANAGER_CHARACTERISTICS {
- UCHAR MajorVersion;
- UCHAR MinorVersion;
- USHORT Filler;
- UINT Reserved;
- CO_CREATE_VC_HANDLER CmCreateVcHandler;
- CO_DELETE_VC_HANDLER CmDeleteVcHandler;
- CM_OPEN_AF_HANDLER CmOpenAfHandler;
- CM_CLOSE_AF_HANDLER CmCloseAfHandler;
- CM_REG_SAP_HANDLER CmRegisterSapHandler;
- CM_DEREG_SAP_HANDLER CmDeregisterSapHandler;
- CM_MAKE_CALL_HANDLER CmMakeCallHandler;
- CM_CLOSE_CALL_HANDLER CmCloseCallHandler;
- CM_INCOMING_CALL_COMPLETE_HANDLER CmIncomingCallCompleteHandler;
- CM_ADD_PARTY_HANDLER CmAddPartyHandler;
- CM_DROP_PARTY_HANDLER CmDropPartyHandler;
- CM_ACTIVATE_VC_COMPLETE_HANDLER CmActivateVcCompleteHandler;
- CM_DEACTIVATE_VC_COMPLETE_HANDLER CmDeactivateVcCompleteHandler;
- CM_MODIFY_CALL_QOS_HANDLER CmModifyCallQoSHandler;
- CO_REQUEST_HANDLER CmRequestHandler;
- CO_REQUEST_COMPLETE_HANDLER CmRequestCompleteHandler;
-} NDIS_CALL_MANAGER_CHARACTERISTICS, *PNDIS_CALL_MANAGER_CHARACTERISTICS;
-
-
-
-/* Call Manager clients */
-
-typedef VOID (*CL_OPEN_AF_COMPLETE_HANDLER)(
- IN NDIS_STATUS Status,
- IN NDIS_HANDLE ProtocolAfContext,
- IN NDIS_HANDLE NdisAfHandle);
-
-typedef VOID DDKAPI
-(*CL_CLOSE_AF_COMPLETE_HANDLER)(
- IN NDIS_STATUS Status,
- IN NDIS_HANDLE ProtocolAfContext);
-
-typedef VOID DDKAPI
-(*CL_REG_SAP_COMPLETE_HANDLER)(
- IN NDIS_STATUS Status,
- IN NDIS_HANDLE ProtocolSapContext,
- IN PCO_SAP Sap,
- IN NDIS_HANDLE NdisSapHandle);
-
-typedef VOID DDKAPI
-(*CL_DEREG_SAP_COMPLETE_HANDLER)(
- IN NDIS_STATUS Status,
- IN NDIS_HANDLE ProtocolSapContext);
-
-typedef VOID DDKAPI
-(*CL_MAKE_CALL_COMPLETE_HANDLER)(
- IN NDIS_STATUS Status,
- IN NDIS_HANDLE ProtocolVcContext,
- IN NDIS_HANDLE NdisPartyHandle OPTIONAL,
- IN PCO_CALL_PARAMETERS CallParameters);
-
-typedef VOID DDKAPI
-(*CL_MODIFY_CALL_QOS_COMPLETE_HANDLER)(
- IN NDIS_STATUS Status,
- IN NDIS_HANDLE ProtocolVcContext,
- IN PCO_CALL_PARAMETERS CallParameters);
-
-typedef VOID DDKAPI
-(*CL_CLOSE_CALL_COMPLETE_HANDLER)(
- IN NDIS_STATUS Status,
- IN NDIS_HANDLE ProtocolVcContext,
- IN NDIS_HANDLE ProtocolPartyContext OPTIONAL);
-
-typedef VOID DDKAPI
-(*CL_ADD_PARTY_COMPLETE_HANDLER)(
- IN NDIS_STATUS Status,
- IN NDIS_HANDLE ProtocolPartyContext,
- IN NDIS_HANDLE NdisPartyHandle,
- IN PCO_CALL_PARAMETERS CallParameters);
-
-typedef VOID DDKAPI
-(*CL_DROP_PARTY_COMPLETE_HANDLER)(
- IN NDIS_STATUS Status,
- IN NDIS_HANDLE ProtocolPartyContext);
-
-typedef NDIS_STATUS DDKAPI
-(*CL_INCOMING_CALL_HANDLER)(
- IN NDIS_HANDLE ProtocolSapContext,
- IN NDIS_HANDLE ProtocolVcContext,
- IN OUT PCO_CALL_PARAMETERS CallParameters);
-
-typedef VOID DDKAPI
-(*CL_INCOMING_CALL_QOS_CHANGE_HANDLER)(
- IN NDIS_HANDLE ProtocolVcContext,
- IN PCO_CALL_PARAMETERS CallParameters);
-
-typedef VOID DDKAPI
-(*CL_INCOMING_CLOSE_CALL_HANDLER)(
- IN NDIS_STATUS CloseStatus,
- IN NDIS_HANDLE ProtocolVcContext,
- IN PVOID CloseData OPTIONAL,
- IN UINT Size OPTIONAL);
-
-typedef VOID DDKAPI
-(*CL_INCOMING_DROP_PARTY_HANDLER)(
- IN NDIS_STATUS DropStatus,
- IN NDIS_HANDLE ProtocolPartyContext,
- IN PVOID CloseData OPTIONAL,
- IN UINT Size OPTIONAL);
-
-typedef VOID DDKAPI
-(*CL_CALL_CONNECTED_HANDLER)(
- IN NDIS_HANDLE ProtocolVcContext);
-
-
-typedef struct _NDIS_CLIENT_CHARACTERISTICS {
- UCHAR MajorVersion;
- UCHAR MinorVersion;
- USHORT Filler;
- UINT Reserved;
- CO_CREATE_VC_HANDLER ClCreateVcHandler;
- CO_DELETE_VC_HANDLER ClDeleteVcHandler;
- CO_REQUEST_HANDLER ClRequestHandler;
- CO_REQUEST_COMPLETE_HANDLER ClRequestCompleteHandler;
- CL_OPEN_AF_COMPLETE_HANDLER ClOpenAfCompleteHandler;
- CL_CLOSE_AF_COMPLETE_HANDLER ClCloseAfCompleteHandler;
- CL_REG_SAP_COMPLETE_HANDLER ClRegisterSapCompleteHandler;
- CL_DEREG_SAP_COMPLETE_HANDLER ClDeregisterSapCompleteHandler;
- CL_MAKE_CALL_COMPLETE_HANDLER ClMakeCallCompleteHandler;
- CL_MODIFY_CALL_QOS_COMPLETE_HANDLER ClModifyCallQoSCompleteHandler;
- CL_CLOSE_CALL_COMPLETE_HANDLER ClCloseCallCompleteHandler;
- CL_ADD_PARTY_COMPLETE_HANDLER ClAddPartyCompleteHandler;
- CL_DROP_PARTY_COMPLETE_HANDLER ClDropPartyCompleteHandler;
- CL_INCOMING_CALL_HANDLER ClIncomingCallHandler;
- CL_INCOMING_CALL_QOS_CHANGE_HANDLER ClIncomingCallQoSChangeHandler;
- CL_INCOMING_CLOSE_CALL_HANDLER ClIncomingCloseCallHandler;
- CL_INCOMING_DROP_PARTY_HANDLER ClIncomingDropPartyHandler;
- CL_CALL_CONNECTED_HANDLER ClCallConnectedHandler;
-} NDIS_CLIENT_CHARACTERISTICS, *PNDIS_CLIENT_CHARACTERISTICS;
-
-
-/* NDIS protocol structures */
-
-/* Prototypes for NDIS 3.0 protocol characteristics */
-
-typedef VOID DDKAPI
-(*OPEN_ADAPTER_COMPLETE_HANDLER)(
- IN NDIS_HANDLE ProtocolBindingContext,
- IN NDIS_STATUS Status,
- IN NDIS_STATUS OpenErrorStatus);
-
-typedef VOID DDKAPI
-(*CLOSE_ADAPTER_COMPLETE_HANDLER)(
- IN NDIS_HANDLE ProtocolBindingContext,
- IN NDIS_STATUS Status);
-
-typedef VOID DDKAPI
-(*RESET_COMPLETE_HANDLER)(
- IN NDIS_HANDLE ProtocolBindingContext,
- IN NDIS_STATUS Status);
-
-typedef VOID DDKAPI
-(*REQUEST_COMPLETE_HANDLER)(
- IN NDIS_HANDLE ProtocolBindingContext,
- IN PNDIS_REQUEST NdisRequest,
- IN NDIS_STATUS Status);
-
-typedef VOID DDKAPI
-(*STATUS_HANDLER)(
- IN NDIS_HANDLE ProtocolBindingContext,
- IN NDIS_STATUS GeneralStatus,
- IN PVOID StatusBuffer,
- IN UINT StatusBufferSize);
-
-typedef VOID DDKAPI
-(*STATUS_COMPLETE_HANDLER)(
- IN NDIS_HANDLE ProtocolBindingContext);
-
-typedef VOID DDKAPI
-(*SEND_COMPLETE_HANDLER)(
- IN NDIS_HANDLE ProtocolBindingContext,
- IN PNDIS_PACKET Packet,
- IN NDIS_STATUS Status);
-
-typedef VOID DDKAPI
-(*WAN_SEND_COMPLETE_HANDLER)(
- IN NDIS_HANDLE ProtocolBindingContext,
- IN PNDIS_WAN_PACKET Packet,
- IN NDIS_STATUS Status);
-
-typedef VOID DDKAPI
-(*TRANSFER_DATA_COMPLETE_HANDLER)(
- IN NDIS_HANDLE ProtocolBindingContext,
- IN PNDIS_PACKET Packet,
- IN NDIS_STATUS Status,
- IN UINT BytesTransferred);
-
-typedef VOID DDKAPI
-(*WAN_TRANSFER_DATA_COMPLETE_HANDLER)(
- VOID);
-
-
-typedef NDIS_STATUS DDKAPI
-(*RECEIVE_HANDLER)(
- IN NDIS_HANDLE ProtocolBindingContext,
- IN NDIS_HANDLE MacReceiveContext,
- IN PVOID HeaderBuffer,
- IN UINT HeaderBufferSize,
- IN PVOID LookAheadBuffer,
- IN UINT LookaheadBufferSize,
- IN UINT PacketSize);
-
-typedef NDIS_STATUS DDKAPI
-(*WAN_RECEIVE_HANDLER)(
- IN NDIS_HANDLE NdisLinkHandle,
- IN PUCHAR Packet,
- IN ULONG PacketSize);
-
-typedef VOID DDKAPI
-(*RECEIVE_COMPLETE_HANDLER)(
- IN NDIS_HANDLE ProtocolBindingContext);
-
-
-/* Protocol characteristics for NDIS 3.0 protocols */
-
-#define NDIS30_PROTOCOL_CHARACTERISTICS_S \
- UCHAR MajorNdisVersion; \
- UCHAR MinorNdisVersion; \
- _ANONYMOUS_UNION union { \
- UINT Reserved; \
- UINT Flags; \
- } DUMMYUNIONNAME; \
- OPEN_ADAPTER_COMPLETE_HANDLER OpenAdapterCompleteHandler; \
- CLOSE_ADAPTER_COMPLETE_HANDLER CloseAdapterCompleteHandler; \
- _ANONYMOUS_UNION union { \
- SEND_COMPLETE_HANDLER SendCompleteHandler; \
- WAN_SEND_COMPLETE_HANDLER WanSendCompleteHandler; \
- } DUMMYUNIONNAME2; \
- _ANONYMOUS_UNION union { \
- TRANSFER_DATA_COMPLETE_HANDLER TransferDataCompleteHandler; \
- WAN_TRANSFER_DATA_COMPLETE_HANDLER WanTransferDataCompleteHandler; \
- } DUMMYUNIONNAME3; \
- RESET_COMPLETE_HANDLER ResetCompleteHandler; \
- REQUEST_COMPLETE_HANDLER RequestCompleteHandler; \
- _ANONYMOUS_UNION union { \
- RECEIVE_HANDLER ReceiveHandler; \
- WAN_RECEIVE_HANDLER WanReceiveHandler; \
- } DUMMYUNIONNAME4; \
- RECEIVE_COMPLETE_HANDLER ReceiveCompleteHandler; \
- STATUS_HANDLER StatusHandler; \
- STATUS_COMPLETE_HANDLER StatusCompleteHandler; \
- NDIS_STRING Name;
-
-typedef struct _NDIS30_PROTOCOL_CHARACTERISTICS {
- NDIS30_PROTOCOL_CHARACTERISTICS_S
-} NDIS30_PROTOCOL_CHARACTERISTICS, *PNDIS30_PROTOCOL_CHARACTERISTICS;
-
-
-/* Prototypes for NDIS 4.0 protocol characteristics */
-
-typedef INT DDKAPI
-(*RECEIVE_PACKET_HANDLER)(
- IN NDIS_HANDLE ProtocolBindingContext,
- IN PNDIS_PACKET Packet);
-
-typedef VOID DDKAPI
-(*BIND_HANDLER)(
- OUT PNDIS_STATUS Status,
- IN NDIS_HANDLE BindContext,
- IN PNDIS_STRING DeviceName,
- IN PVOID SystemSpecific1,
- IN PVOID SystemSpecific2);
-
-typedef VOID DDKAPI
-(*UNBIND_HANDLER)(
- OUT PNDIS_STATUS Status,
- IN NDIS_HANDLE ProtocolBindingContext,
- IN NDIS_HANDLE UnbindContext);
-
-typedef NDIS_STATUS DDKAPI
-(*PNP_EVENT_HANDLER)(
- IN NDIS_HANDLE ProtocolBindingContext,
- IN PNET_PNP_EVENT NetPnPEvent);
-
-typedef VOID DDKAPI
-(*UNLOAD_PROTOCOL_HANDLER)(
- VOID);
-
-
-/* Protocol characteristics for NDIS 4.0 protocols */
-
-#ifdef __cplusplus
-
-#define NDIS40_PROTOCOL_CHARACTERISTICS_S \
- NDIS30_PROTOCOL_CHARACTERISTICS Ndis30Chars; \
- RECEIVE_PACKET_HANDLER ReceivePacketHandler; \
- BIND_HANDLER BindAdapterHandler; \
- UNBIND_HANDLER UnbindAdapterHandler; \
- PNP_EVENT_HANDLER PnPEventHandler; \
- UNLOAD_PROTOCOL_HANDLER UnloadHandler;
-
-#else /* !__cplusplus */
-
-#define NDIS40_PROTOCOL_CHARACTERISTICS_S \
- NDIS30_PROTOCOL_CHARACTERISTICS_S \
- RECEIVE_PACKET_HANDLER ReceivePacketHandler; \
- BIND_HANDLER BindAdapterHandler; \
- UNBIND_HANDLER UnbindAdapterHandler; \
- PNP_EVENT_HANDLER PnPEventHandler; \
- UNLOAD_PROTOCOL_HANDLER UnloadHandler;
-
-#endif /* __cplusplus */
-
-typedef struct _NDIS40_PROTOCOL_CHARACTERISTICS {
- NDIS40_PROTOCOL_CHARACTERISTICS_S
-} NDIS40_PROTOCOL_CHARACTERISTICS, *PNDIS40_PROTOCOL_CHARACTERISTICS;
-
-/* Prototypes for NDIS 5.0 protocol characteristics */
-
-typedef VOID DDKAPI
-(*CO_SEND_COMPLETE_HANDLER)(
- IN NDIS_STATUS Status,
- IN NDIS_HANDLE ProtocolVcContext,
- IN PNDIS_PACKET Packet);
-
-typedef VOID DDKAPI
-(*CO_STATUS_HANDLER)(
- IN NDIS_HANDLE ProtocolBindingContext,
- IN NDIS_HANDLE ProtocolVcContext OPTIONAL,
- IN NDIS_STATUS GeneralStatus,
- IN PVOID StatusBuffer,
- IN UINT StatusBufferSize);
-
-typedef UINT DDKAPI
-(*CO_RECEIVE_PACKET_HANDLER)(
- IN NDIS_HANDLE ProtocolBindingContext,
- IN NDIS_HANDLE ProtocolVcContext,
- IN PNDIS_PACKET Packet);
-
-typedef VOID DDKAPI
-(*CO_AF_REGISTER_NOTIFY_HANDLER)(
- IN NDIS_HANDLE ProtocolBindingContext,
- IN PCO_ADDRESS_FAMILY AddressFamily);
-
-#ifdef __cplusplus \
-
-#define NDIS50_PROTOCOL_CHARACTERISTICS_S \
- NDIS40_PROTOCOL_CHARACTERISTICS Ndis40Chars; \
- PVOID ReservedHandlers[4]; \
- CO_SEND_COMPLETE_HANDLER CoSendCompleteHandler; \
- CO_STATUS_HANDLER CoStatusHandler; \
- CO_RECEIVE_PACKET_HANDLER CoReceivePacketHandler; \
- CO_AF_REGISTER_NOTIFY_HANDLER CoAfRegisterNotifyHandler;
-
-#else /* !__cplusplus */
-
-#define NDIS50_PROTOCOL_CHARACTERISTICS_S \
- NDIS40_PROTOCOL_CHARACTERISTICS_S \
- PVOID ReservedHandlers[4]; \
- CO_SEND_COMPLETE_HANDLER CoSendCompleteHandler; \
- CO_STATUS_HANDLER CoStatusHandler; \
- CO_RECEIVE_PACKET_HANDLER CoReceivePacketHandler; \
- CO_AF_REGISTER_NOTIFY_HANDLER CoAfRegisterNotifyHandler;
-
-#endif /* !__cplusplus */
-
-typedef struct _NDIS50_PROTOCOL_CHARACTERISTICS {
- NDIS50_PROTOCOL_CHARACTERISTICS_S
-} NDIS50_PROTOCOL_CHARACTERISTICS, *PNDIS50_PROTOCOL_CHARACTERISTICS;
-
-#if defined(NDIS50) || defined(NDIS51)
-typedef struct _NDIS_PROTOCOL_CHARACTERISTICS {
- NDIS50_PROTOCOL_CHARACTERISTICS_S;
-} NDIS_PROTOCOL_CHARACTERISTICS, *PNDIS_PROTOCOL_CHARACTERISTICS;
-#elif defined(NDIS40)
-typedef struct _NDIS_PROTOCOL_CHARACTERISTICS {
- NDIS40_PROTOCOL_CHARACTERISTICS_S;
-} NDIS_PROTOCOL_CHARACTERISTICS, *PNDIS_PROTOCOL_CHARACTERISTICS;
-#elif defined(NDIS30)
-typedef struct _NDIS_PROTOCOL_CHARACTERISTICS {
- NDIS30_PROTOCOL_CHARACTERISTICS_S
-} NDIS_PROTOCOL_CHARACTERISTICS, *PNDIS_PROTOCOL_CHARACTERISTICS;
-#else
-#error Define an NDIS version
-#endif /* NDIS30 */
-
-
-
-/* Buffer management routines */
-
-NDISAPI
-VOID
-DDKAPI
-NdisAllocateBuffer(
- OUT PNDIS_STATUS Status,
- OUT PNDIS_BUFFER *Buffer,
- IN NDIS_HANDLE PoolHandle,
- IN PVOID VirtualAddress,
- IN UINT Length);
-
-
-NDISAPI
-VOID
-DDKAPI
-NdisAllocateBufferPool(
- OUT PNDIS_STATUS Status,
- OUT PNDIS_HANDLE PoolHandle,
- IN UINT NumberOfDescriptors);
-
-NDISAPI
-VOID
-DDKAPI
-NdisAllocatePacket(
- OUT PNDIS_STATUS Status,
- OUT PNDIS_PACKET *Packet,
- IN NDIS_HANDLE PoolHandle);
-
-NDISAPI
-VOID
-DDKAPI
-NdisAllocatePacketPool(
- OUT PNDIS_STATUS Status,
- OUT PNDIS_HANDLE PoolHandle,
- IN UINT NumberOfDescriptors,
- IN UINT ProtocolReservedLength);
-
-NDISAPI
-VOID
-DDKAPI
-NdisCopyBuffer(
- OUT PNDIS_STATUS Status,
- OUT PNDIS_BUFFER *Buffer,
- IN NDIS_HANDLE PoolHandle,
- IN PVOID MemoryDescriptor,
- IN UINT Offset,
- IN UINT Length);
-
-NDISAPI
-VOID
-DDKAPI
-NdisCopyFromPacketToPacket(
- IN PNDIS_PACKET Destination,
- IN UINT DestinationOffset,
- IN UINT BytesToCopy,
- IN PNDIS_PACKET Source,
- IN UINT SourceOffset,
- OUT PUINT BytesCopied);
-
-NDISAPI
-VOID
-DDKAPI
-NdisDprAllocatePacket(
- OUT PNDIS_STATUS Status,
- OUT PNDIS_PACKET *Packet,
- IN NDIS_HANDLE PoolHandle);
-
-NDISAPI
-VOID
-DDKAPI
-NdisDprAllocatePacketNonInterlocked(
- OUT PNDIS_STATUS Status,
- OUT PNDIS_PACKET *Packet,
- IN NDIS_HANDLE PoolHandle);
-
-NDISAPI
-VOID
-DDKAPI
-NdisDprFreePacket(
- IN PNDIS_PACKET Packet);
-
-NDISAPI
-VOID
-DDKAPI
-NdisDprFreePacketNonInterlocked(
- IN PNDIS_PACKET Packet);
-
-NDISAPI
-VOID
-DDKAPI
-NdisFreeBufferPool(
- IN NDIS_HANDLE PoolHandle);
-
-NDISAPI
-VOID
-DDKAPI
-NdisFreePacket(
- IN PNDIS_PACKET Packet);
-
-NDISAPI
-VOID
-DDKAPI
-NdisFreePacketPool(
- IN NDIS_HANDLE PoolHandle);
-
-NDISAPI
-VOID
-DDKAPI
-NdisReturnPackets(
- IN PNDIS_PACKET *PacketsToReturn,
- IN UINT NumberOfPackets);
-
-NDISAPI
-VOID
-DDKAPI
-NdisUnchainBufferAtBack(
- IN OUT PNDIS_PACKET Packet,
- OUT PNDIS_BUFFER *Buffer);
-
-NDISAPI
-VOID
-DDKAPI
-NdisUnchainBufferAtFront(
- IN OUT PNDIS_PACKET Packet,
- OUT PNDIS_BUFFER *Buffer);
-
-NDISAPI
-VOID
-DDKAPI
-NdisAdjustBufferLength(
- IN PNDIS_BUFFER Buffer,
- IN UINT Length);
-
-NDISAPI
-ULONG
-DDKAPI
-NdisBufferLength(
- IN PNDIS_BUFFER Buffer);
-
-NDISAPI
-PVOID
-DDKAPI
-NdisBufferVirtualAddress(
- IN PNDIS_BUFFER Buffer);
-
-NDISAPI
-ULONG
-DDKAPI
-NDIS_BUFFER_TO_SPAN_PAGES(
- IN PNDIS_BUFFER Buffer);
-
-NDISAPI
-VOID
-DDKAPI
-NdisFreeBuffer(
- IN PNDIS_BUFFER Buffer);
-
-NDISAPI
-VOID
-DDKAPI
-NdisGetBufferPhysicalArraySize(
- IN PNDIS_BUFFER Buffer,
- OUT PUINT ArraySize);
-
-NDISAPI
-VOID
-DDKAPI
-NdisGetFirstBufferFromPacket(
- IN PNDIS_PACKET _Packet,
- OUT PNDIS_BUFFER *_FirstBuffer,
- OUT PVOID *_FirstBufferVA,
- OUT PUINT _FirstBufferLength,
- OUT PUINT _TotalBufferLength);
-
-NDISAPI
-VOID
-DDKAPI
-NdisQueryBuffer(
- IN PNDIS_BUFFER Buffer,
- OUT PVOID *VirtualAddress OPTIONAL,
- OUT PUINT Length);
-
-NDISAPI
-VOID
-DDKAPI
-NdisQueryBufferOffset(
- IN PNDIS_BUFFER Buffer,
- OUT PUINT Offset,
- OUT PUINT Length);
-
-NDISAPI
-VOID
-DDKAPI
-NdisFreeBuffer(
- IN PNDIS_BUFFER Buffer);
-
-
-/*
- * VOID
- * NdisGetBufferPhysicalArraySize(
- * IN PNDIS_BUFFER Buffer,
- * OUT PUINT ArraySize);
- */
-#define NdisGetBufferPhysicalArraySize(Buffer, \
- ArraySize) \
-{ \
- (*(ArraySize) = NDIS_BUFFER_TO_SPAN_PAGES(Buffer)) \
-}
-
-
-/*
- * VOID
- * NdisGetFirstBufferFromPacket(
- * IN PNDIS_PACKET _Packet,
- * OUT PNDIS_BUFFER * _FirstBuffer,
- * OUT PVOID * _FirstBufferVA,
- * OUT PUINT _FirstBufferLength,
- * OUT PUINT _TotalBufferLength)
- */
-#define NdisGetFirstBufferFromPacket(_Packet, \
- _FirstBuffer, \
- _FirstBufferVA, \
- _FirstBufferLength, \
- _TotalBufferLength) \
-{ \
- PNDIS_BUFFER _Buffer; \
- \
- _Buffer = (_Packet)->Private.Head; \
- *(_FirstBuffer) = _Buffer; \
- if (_Buffer != NULL) \
- { \
- *(_FirstBufferVA) = MmGetSystemAddressForMdl(_Buffer); \
- *(_FirstBufferLength) = MmGetMdlByteCount(_Buffer); \
- _Buffer = _Buffer->Next; \
- *(_TotalBufferLength) = *(_FirstBufferLength); \
- while (_Buffer != NULL) { \
- *(_TotalBufferLength) += MmGetMdlByteCount(_Buffer); \
- _Buffer = _Buffer->Next; \
- } \
- } \
- else \
- { \
- *(_FirstBufferVA) = 0; \
- *(_FirstBufferLength) = 0; \
- *(_TotalBufferLength) = 0; \
- } \
-}
-
-/*
- * VOID
- * NdisQueryBuffer(
- * IN PNDIS_BUFFER Buffer,
- * OUT PVOID *VirtualAddress OPTIONAL,
- * OUT PUINT Length)
- */
-#define NdisQueryBuffer(Buffer, \
- VirtualAddress, \
- Length) \
-{ \
- if (VirtualAddress) \
- *((PVOID*)VirtualAddress) = MmGetSystemAddressForMdl(Buffer); \
- \
- *((PUINT)Length) = MmGetMdlByteCount(Buffer); \
-}
-
-
-/*
- * VOID
- * NdisQueryBufferOffset(
- * IN PNDIS_BUFFER Buffer,
- * OUT PUINT Offset,
- * OUT PUINT Length);
- */
-#define NdisQueryBufferOffset(Buffer, \
- Offset, \
- Length) \
-{ \
- *((PUINT)Offset) = MmGetMdlByteOffset(Buffer); \
- *((PUINT)Length) = MmGetMdlByteCount(Buffer); \
-}
-
-
-/*
- * PVOID
- * NDIS_BUFFER_LINKAGE(
- * IN PNDIS_BUFFER Buffer);
- */
-#define NDIS_BUFFER_LINKAGE(Buffer)(Buffer)->Next;
-
-
-/*
- * VOID
- * NdisChainBufferAtBack(
- * IN OUT PNDIS_PACKET Packet,
- * IN OUT PNDIS_BUFFER Buffer)
- */
-#define NdisChainBufferAtBack(Packet, \
- Buffer) \
-{ \
- PNDIS_BUFFER NdisBuffer = (Buffer); \
- \
- while (NdisBuffer->Next != NULL) \
- NdisBuffer = NdisBuffer->Next; \
- \
- NdisBuffer->Next = NULL; \
- \
- if ((Packet)->Private.Head != NULL) \
- (Packet)->Private.Tail->Next = (Buffer); \
- else \
- (Packet)->Private.Head = (Buffer); \
- \
- (Packet)->Private.Tail = NdisBuffer; \
- (Packet)->Private.ValidCounts = FALSE; \
-}
-
-
-/*
- * VOID
- * NdisChainBufferAtFront(
- * IN OUT PNDIS_PACKET Packet,
- * IN OUT PNDIS_BUFFER Buffer)
- */
-#define NdisChainBufferAtFront(Packet, \
- Buffer) \
-{ \
- PNDIS_BUFFER _NdisBuffer = (Buffer); \
- \
- while (_NdisBuffer->Next != NULL) \
- _NdisBuffer = _NdisBuffer->Next; \
- \
- if ((Packet)->Private.Head == NULL) \
- (Packet)->Private.Tail = _NdisBuffer; \
- \
- _NdisBuffer->Next = (Packet)->Private.Head; \
- (Packet)->Private.Head = (Buffer); \
- (Packet)->Private.ValidCounts = FALSE; \
-}
-
-
-/*
- * VOID
- * NdisGetNextBuffer(
- * IN PNDIS_BUFFER CurrentBuffer,
- * OUT PNDIS_BUFFER * NextBuffer)
- */
-#define NdisGetNextBuffer(CurrentBuffer, \
- NextBuffer) \
-{ \
- *(NextBuffer) = (CurrentBuffer)->Next; \
-}
-
-
-/*
- * UINT
- * NdisGetPacketFlags(
- * IN PNDIS_PACKET Packet);
- */
-#define NdisGetPacketFlags(Packet)(Packet)->Private.Flags;
-
-
-/*
- * VOID
- * NdisClearPacketFlags(
- * IN PNDIS_PACKET Packet,
- * IN UINT Flags);
- */
-#define NdisClearPacketFlags(Packet, Flags) \
- (Packet)->Private.Flags &= ~(Flags)
-
-
-/*
- * VOID
- * NDIS_GET_PACKET_MEDIA_SPECIFIC_INFO(
- * IN PNDIS_PACKET Packet,
- * IN PPVOID pMediaSpecificInfo,
- * IN PUINT pSizeMediaSpecificInfo);
- */
-#define NDIS_GET_PACKET_MEDIA_SPECIFIC_INFO(_Packet, \
- _pMediaSpecificInfo, \
- _pSizeMediaSpecificInfo) \
-{ \
- if (!((_Packet)->Private.NdisPacketFlags & fPACKET_ALLOCATED_BY_NDIS) || \
- !((_Packet)->Private.NdisPacketFlags & fPACKET_CONTAINS_MEDIA_SPECIFIC_INFO)) \
- { \
- *(_pMediaSpecificInfo) = NULL; \
- *(_pSizeMediaSpecificInfo) = 0; \
- } \
- else \
- { \
- *(_pMediaSpecificInfo) = ((PNDIS_PACKET_OOB_DATA)((PUCHAR)(_Packet) + \
- (_Packet)->Private.NdisPacketOobOffset))->MediaSpecificInformation; \
- *(_pSizeMediaSpecificInfo) = ((PNDIS_PACKET_OOB_DATA)((PUCHAR)(_Packet) + \
- (_Packet)->Private.NdisPacketOobOffset))->SizeMediaSpecificInfo; \
- } \
-}
-
-
-/*
- * ULONG
- * NDIS_GET_PACKET_PROTOCOL_TYPE(
- * IN PNDIS_PACKET Packet);
- */
-#define NDIS_GET_PACKET_PROTOCOL_TYPE(_Packet) \
- ((_Packet)->Private.Flags & NDIS_PROTOCOL_ID_MASK)
-
-/*
- * ULONG
- * NDIS_GET_PACKET_HEADER_SIZE(
- * IN PNDIS_PACKET Packet);
- */
-#define NDIS_GET_PACKET_HEADER_SIZE(_Packet) \
- ((PNDIS_PACKET_OOB_DATA)((PUCHAR)(_Packet) + \
- (_Packet)->Private.NdisPacketOobOffset))->HeaderSize
-
-
-/*
- * NDIS_STATUS
- * NDIS_GET_PACKET_STATUS(
- * IN PNDIS_PACKET Packet);
- */
-#define NDIS_GET_PACKET_STATUS(_Packet) \
- ((PNDIS_PACKET_OOB_DATA)((PUCHAR)(_Packet) + \
- (_Packet)->Private.NdisPacketOobOffset))->Status
-
-
-/*
- * ULONGLONG
- * NDIS_GET_PACKET_TIME_RECEIVED(
- * IN PNDIS_PACKET Packet);
- */
-#define NDIS_GET_PACKET_TIME_RECEIVED(_Packet) \
- ((PNDIS_PACKET_OOB_DATA)((PUCHAR)(_Packet) + \
- (_Packet)->Private.NdisPacketOobOffset))->TimeReceived
-
-
-/*
- * ULONGLONG
- * NDIS_GET_PACKET_TIME_SENT(
- * IN PNDIS_PACKET Packet);
- */
-#define NDIS_GET_PACKET_TIME_SENT(_Packet) \
- ((PNDIS_PACKET_OOB_DATA)((PUCHAR)(_Packet) + \
- (_Packet)->Private.NdisPacketOobOffset))->TimeSent
-
-
-/*
- * ULONGLONG
- * NDIS_GET_PACKET_TIME_TO_SEND(
- * IN PNDIS_PACKET Packet);
- */
-#define NDIS_GET_PACKET_TIME_TO_SEND(_Packet) \
- ((PNDIS_PACKET_OOB_DATA)((PUCHAR)(_Packet) + \
- (_Packet)->Private.NdisPacketOobOffset))->TimeToSend
-
-
-/*
- * PNDIS_PACKET_OOB_DATA
- * NDIS_OOB_DATA_FROM_PACKET(
- * IN PNDIS_PACKET Packet);
- */
-#define NDIS_OOB_DATA_FROM_PACKET(_Packet) \
- (PNDIS_PACKET_OOB_DATA)((PUCHAR)(_Packet) + \
- (_Packet)->Private.NdisPacketOobOffset)
-
-
-/*
- * VOID
- * NdisQueryPacket(
- * IN PNDIS_PACKET Packet,
- * OUT PUINT PhysicalBufferCount OPTIONAL,
- * OUT PUINT BufferCount OPTIONAL,
- * OUT PNDIS_BUFFER *FirstBuffer OPTIONAL,
- * OUT PUINT TotalPacketLength OPTIONAL);
- */
-#define NdisQueryPacket(Packet, \
- PhysicalBufferCount, \
- BufferCount, \
- FirstBuffer, \
- TotalPacketLength) \
-{ \
- if (FirstBuffer) \
- *((PNDIS_BUFFER*)FirstBuffer) = (Packet)->Private.Head; \
- if ((TotalPacketLength) || (BufferCount) || (PhysicalBufferCount)) \
- { \
- if (!(Packet)->Private.ValidCounts) { \
- UINT _Offset; \
- UINT _PacketLength; \
- PNDIS_BUFFER _NdisBuffer; \
- UINT _PhysicalBufferCount = 0; \
- UINT _TotalPacketLength = 0; \
- UINT _Count = 0; \
- \
- for (_NdisBuffer = (Packet)->Private.Head; \
- _NdisBuffer != (PNDIS_BUFFER)NULL; \
- _NdisBuffer = _NdisBuffer->Next) \
- { \
- _PhysicalBufferCount += NDIS_BUFFER_TO_SPAN_PAGES(_NdisBuffer); \
- NdisQueryBufferOffset(_NdisBuffer, &_Offset, &_PacketLength); \
- _TotalPacketLength += _PacketLength; \
- _Count++; \
- } \
- (Packet)->Private.PhysicalCount = _PhysicalBufferCount; \
- (Packet)->Private.TotalLength = _TotalPacketLength; \
- (Packet)->Private.Count = _Count; \
- (Packet)->Private.ValidCounts = TRUE; \
- } \
- \
- if (PhysicalBufferCount) \
- *((PUINT)PhysicalBufferCount) = (Packet)->Private.PhysicalCount; \
- \
- if (BufferCount) \
- *((PUINT)BufferCount) = (Packet)->Private.Count; \
- \
- if (TotalPacketLength) \
- *((PUINT)TotalPacketLength) = (Packet)->Private.TotalLength; \
- } \
-}
-
-/*
- * VOID
- * NdisQueryPacketLength(
- * IN PNDIS_PACKET Packet,
- * OUT PUINT PhysicalBufferCount OPTIONAL,
- * OUT PUINT BufferCount OPTIONAL,
- * OUT PNDIS_BUFFER *FirstBuffer OPTIONAL,
- * OUT PUINT TotalPacketLength OPTIONAL);
- */
-#define NdisQueryPacketLength(Packet, \
- TotalPacketLength) \
-{ \
- if ((TotalPacketLength)) \
- { \
- if (!(Packet)->Private.ValidCounts) { \
- UINT _Offset; \
- UINT _PacketLength; \
- PNDIS_BUFFER _NdisBuffer; \
- UINT _PhysicalBufferCount = 0; \
- UINT _TotalPacketLength = 0; \
- UINT _Count = 0; \
- \
- for (_NdisBuffer = (Packet)->Private.Head; \
- _NdisBuffer != (PNDIS_BUFFER)NULL; \
- _NdisBuffer = _NdisBuffer->Next) \
- { \
- _PhysicalBufferCount += NDIS_BUFFER_TO_SPAN_PAGES(_NdisBuffer); \
- NdisQueryBufferOffset(_NdisBuffer, &_Offset, &_PacketLength); \
- _TotalPacketLength += _PacketLength; \
- _Count++; \
- } \
- (Packet)->Private.PhysicalCount = _PhysicalBufferCount; \
- (Packet)->Private.TotalLength = _TotalPacketLength; \
- (Packet)->Private.Count = _Count; \
- (Packet)->Private.ValidCounts = TRUE; \
- } \
- \
- if (TotalPacketLength) \
- *((PUINT)TotalPacketLength) = (Packet)->Private.TotalLength; \
- } \
-}
-
-
-/*
- * VOID
- * NdisRecalculatePacketCounts(
- * IN OUT PNDIS_PACKET Packet);
- */
-#define NdisRecalculatePacketCounts(Packet) \
-{ \
- PNDIS_BUFFER _Buffer = (Packet)->Private.Head; \
- if (_Buffer != NULL) \
- { \
- while (_Buffer->Next != NULL) \
- { \
- ´_Buffer = _Buffer->Next; \
- } \
- (Packet)->Private.Tail = _Buffer; \
- } \
- (Packet)->Private.ValidCounts = FALSE; \
-}
-
-
-/*
- * VOID
- * NdisReinitializePacket(
- * IN OUT PNDIS_PACKET Packet);
- */
-#define NdisReinitializePacketCounts(Packet) \
-{ \
- (Packet)->Private.Head = (PNDIS_BUFFER)NULL; \
- (Packet)->Private.ValidCounts = FALSE; \
-}
-
-
-/*
- * VOID
- * NdisSetPacketFlags(
- * IN PNDIS_PACKET Packet,
- * IN UINT Flags);
- */
-#define NdisSetPacketFlags(Packet, Flags) \
- (Packet)->Private.Flags |= (Flags);
-
-
-/*
- * VOID
- * NDIS_SET_PACKET_HEADER_SIZE(
- * IN PNDIS_PACKET Packet,
- * IN UINT HdrSize);
- */
-#define NDIS_SET_PACKET_HEADER_SIZE(_Packet, _HdrSize) \
- ((PNDIS_PACKET_OOB_DATA)((PUCHAR)(_Packet) + \
- (_Packet)->Private.NdisPacketOobOffset))->HeaderSize = (_HdrSize)
-
-
-/*
- * VOID
- * NDIS_SET_PACKET_MEDIA_SPECIFIC_INFO(
- * IN PNDIS_PACKET Packet,
- * IN PVOID MediaSpecificInfo,
- * IN UINT SizeMediaSpecificInfo);
- */
-#define NDIS_SET_PACKET_MEDIA_SPECIFIC_INFO(_Packet, \
- _MediaSpecificInfo, \
- _SizeMediaSpecificInfo) \
-{ \
- if ((_Packet)->Private.NdisPacketFlags & fPACKET_ALLOCATED_BY_NDIS) \
- { \
- (_Packet)->Private.NdisPacketFlags |= fPACKET_CONTAINS_MEDIA_SPECIFIC_INFO; \
- ((PNDIS_PACKET_OOB_DATA)((PUCHAR)(_Packet) + \
- (_Packet)->Private.NdisPacketOobOffset))->MediaSpecificInformation = \
- (_MediaSpecificInfo); \
- ((PNDIS_PACKET_OOB_DATA)((PUCHAR)(_Packet) + \
- (_Packet)->Private.NdisPacketOobOffset))->SizeMediaSpecificInfo = \
- (_SizeMediaSpecificInfo); \
- } \
-}
-
-
-/*
- * VOID
- * NDIS_SET_PACKET_STATUS(
- * IN PNDIS_PACKET Packet,
- * IN NDIS_STATUS Status);
- */
-#define NDIS_SET_PACKET_STATUS(_Packet, _Status) \
- ((PNDIS_PACKET_OOB_DATA)((PUCHAR)(_Packet) + \
- (_Packet)->Private.NdisPacketOobOffset))->Status = (_Status)
-
-
-/*
- * VOID
- * NDIS_SET_PACKET_TIME_RECEIVED(
- * IN PNDIS_PACKET Packet,
- * IN ULONGLONG TimeReceived);
- */
-#define NDIS_SET_PACKET_TIME_RECEIVED(_Packet, _TimeReceived) \
- ((PNDIS_PACKET_OOB_DATA)((PUCHAR)(_Packet) + \
- (_Packet)->Private.NdisPacketOobOffset))->TimeReceived = (_TimeReceived)
-
-
-/*
- * VOID
- * NDIS_SET_PACKET_TIME_SENT(
- * IN PNDIS_PACKET Packet,
- * IN ULONGLONG TimeSent);
- */
-#define NDIS_SET_PACKET_TIME_SENT(_Packet, _TimeSent) \
- ((PNDIS_PACKET_OOB_DATA)((PUCHAR)(_Packet) + \
- (_Packet)->Private.NdisPacketOobOffset))->TimeSent = (_TimeSent)
-
-
-/*
- * VOID
- * NDIS_SET_PACKET_TIME_TO_SEND(
- * IN PNDIS_PACKET Packet,
- * IN ULONGLONG TimeToSend);
- */
-#define NDIS_SET_PACKET_TIME_TO_SEND(_Packet, _TimeToSend) \
- ((PNDIS_PACKET_OOB_DATA)((PUCHAR)(_Packet) + \
- (_Packet)->Private.NdisPacketOobOffset))->TimeToSend = (_TimeToSend)
-
-
-/*
- * VOID
- * NdisSetSendFlags(
- * IN PNDIS_PACKET Packet,
- * IN UINT Flags);
- */
-#define NdisSetSendFlags(_Packet,_Flags)(_Packet)->Private.Flags = (_Flags)
-
-
-
-/* Memory management routines */
-
-/*
- * VOID
- * NdisCreateLookaheadBufferFromSharedMemory(
- * IN PVOID pSharedMemory,
- * IN UINT LookaheadLength,
- * OUT PVOID *pLookaheadBuffer)
- */
-#define NdisCreateLookaheadBufferFromSharedMemory(_pSharedMemory, \
- _LookaheadLength, \
- _pLookaheadBuffer) \
- ((*(_pLookaheadBuffer)) = (_pSharedMemory))
-
-/*
- * VOID
- * NdisDestroyLookaheadBufferFromSharedMemory(
- * IN PVOID pLookaheadBuffer)
- */
-#define NdisDestroyLookaheadBufferFromSharedMemory(_pLookaheadBuffer)
-
-#if defined(i386)
-
-/*
- * VOID
- * NdisMoveFromMappedMemory(
- * OUT PVOID Destination,
- * IN PVOID Source,
- * IN ULONG Length);
- */
-#define NdisMoveFromMappedMemory(Destination, Source, Length) \
- NdisMoveMappedMemory(Destination, Source, Length)
-
-/*
- * VOID
- * NdisMoveMappedMemory(
- * OUT PVOID Destination,
- * IN PVOID Source,
- * IN ULONG Length);
- */
-#define NdisMoveMappedMemory(Destination, Source, Length) \
- RtlCopyMemory(Destination, Source, Length)
-
-/*
- * VOID
- * NdisMoveToMappedMemory(
- * OUT PVOID Destination,
- * IN PVOID Source,
- * IN ULONG Length);
- */
-#define NdisMoveToMappedMemory(Destination, Source, Length) \
- NdisMoveMappedMemory(Destination, Source, Length)
-
-#endif /* i386 */
-
-/*
- * VOID
- * NdisMUpdateSharedMemory(
- * IN NDIS_HANDLE MiniportAdapterHandle,
- * IN ULONG Length,
- * IN PVOID VirtualAddress,
- * IN NDIS_PHYSICAL_ADDRESS PhysicalAddress);
- */
-#define NdisMUpdateSharedMemory(_H, _L, _V, _P) \
- NdisUpdateSharedMemory(_H, _L, _V, _P)
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisAllocateMemory(
- OUT PVOID *VirtualAddress,
- IN UINT Length,
- IN UINT MemoryFlags,
- IN NDIS_PHYSICAL_ADDRESS HighestAcceptableAddress);
-
-NDISAPI
-VOID
-DDKAPI
-NdisFreeMemory(
- IN PVOID VirtualAddress,
- IN UINT Length,
- IN UINT MemoryFlags);
-
-NDISAPI
-VOID
-DDKAPI
-NdisImmediateReadSharedMemory(
- IN NDIS_HANDLE WrapperConfigurationContext,
- IN ULONG SharedMemoryAddress,
- OUT PUCHAR Buffer,
- IN ULONG Length);
-
-NDISAPI
-VOID
-DDKAPI
-NdisImmediateWriteSharedMemory(
- IN NDIS_HANDLE WrapperConfigurationContext,
- IN ULONG SharedMemoryAddress,
- IN PUCHAR Buffer,
- IN ULONG Length);
-
-NDISAPI
-VOID
-DDKAPI
-NdisMAllocateSharedMemory(
- IN NDIS_HANDLE MiniportAdapterHandle,
- IN ULONG Length,
- IN BOOLEAN Cached,
- OUT PVOID *VirtualAddress,
- OUT PNDIS_PHYSICAL_ADDRESS PhysicalAddress);
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisMAllocateSharedMemoryAsync(
- IN NDIS_HANDLE MiniportAdapterHandle,
- IN ULONG Length,
- IN BOOLEAN Cached,
- IN PVOID Context);
-
-#if defined(NDIS50)
-
-#define NdisUpdateSharedMemory(NdisAdapterHandle, \
- Length, \
- VirtualAddress, \
- PhysicalAddress)
-
-#else
-
-NDISAPI
-VOID
-DDKAPI
-NdisUpdateSharedMemory(
- IN NDIS_HANDLE NdisAdapterHandle,
- IN ULONG Length,
- IN PVOID VirtualAddress,
- IN NDIS_PHYSICAL_ADDRESS PhysicalAddress);
-
-#endif /* defined(NDIS50) */
-
-/*
- * ULONG
- * NdisGetPhysicalAddressHigh(
- * IN NDIS_PHYSICAL_ADDRESS PhysicalAddress);
- */
-#define NdisGetPhysicalAddressHigh(PhysicalAddress) \
- ((PhysicalAddress).HighPart)
-
-/*
- * VOID
- * NdisSetPhysicalAddressHigh(
- * IN NDIS_PHYSICAL_ADDRESS PhysicalAddress,
- * IN ULONG Value);
- */
-#define NdisSetPhysicalAddressHigh(PhysicalAddress, Value) \
- ((PhysicalAddress).HighPart) = (Value)
-
-/*
- * ULONG
- * NdisGetPhysicalAddressLow(
- * IN NDIS_PHYSICAL_ADDRESS PhysicalAddress);
- */
-#define NdisGetPhysicalAddressLow(PhysicalAddress) \
- ((PhysicalAddress).LowPart)
-
-
-/*
- * VOID
- * NdisSetPhysicalAddressLow(
- * IN NDIS_PHYSICAL_ADDRESS PhysicalAddress,
- * IN ULONG Value);
- */
-#define NdisSetPhysicalAddressLow(PhysicalAddress, Value) \
- ((PhysicalAddress).LowPart) = (Value)
-
-/*
- * VOID
- * NDIS_PHYSICAL_ADDRESS_CONST(
- * IN ULONG Low,
- * IN LONG High);
- */
-#define NDIS_PHYSICAL_ADDRESS_CONST(Low, High) \
- { {(ULONG)(Low), (LONG)(High)} }
-
-/*
- * ULONG
- * NdisEqualMemory(
- * IN CONST VOID *Source1,
- * IN CONST VOID *Source2,
- * IN ULONG Length);
- */
-#define NdisEqualMemory(Source1, Source2, Length) \
- RtlEqualMemory(Source1, Source2, Length)
-
-/*
- * VOID
- * NdisFillMemory(
- * IN PVOID Destination,
- * IN ULONG Length,
- * IN UCHAR Fill);
- */
-#define NdisFillMemory(Destination, Length, Fill) \
- RtlFillMemory(Destination, Length, Fill)
-
-/*
- * VOID
- * NdisZeroMappedMemory(
- * IN PVOID Destination,
- * IN ULONG Length);
- */
-#define NdisZeroMappedMemory(Destination, Length) \
- RtlZeroMemory(Destination, Length)
-
-/*
- * VOID
- * NdisMoveMemory(
- * OUT PVOID Destination,
- * IN PVOID Source,
- * IN ULONG Length);
- */
-#define NdisMoveMemory(Destination, Source, Length) \
- RtlCopyMemory(Destination, Source, Length)
-
-
-/*
- * VOID
- * NdisRetrieveUlong(
- * IN PULONG DestinationAddress,
- * IN PULONG SourceAddress);
- */
-#define NdisRetrieveUlong(DestinationAddress, SourceAddress) \
- RtlRetrieveUlong(DestinationAddress, SourceAddress)
-
-
-/*
- * VOID
- * NdisStoreUlong(
- * IN PULONG DestinationAddress,
- * IN ULONG Value);
- */
-#define NdisStoreUlong(DestinationAddress, Value) \
- RtlStoreUlong(DestinationAddress, Value)
-
-
-/*
- * VOID
- * NdisZeroMemory(
- * IN PVOID Destination,
- * IN ULONG Length)
- */
-#define NdisZeroMemory(Destination, Length) \
- RtlZeroMemory(Destination, Length)
-
-
-
-/* Configuration routines */
-
-NDISAPI
-VOID
-DDKAPI
-NdisOpenConfiguration(
- OUT PNDIS_STATUS Status,
- OUT PNDIS_HANDLE ConfigurationHandle,
- IN NDIS_HANDLE WrapperConfigurationContext);
-
-NDISAPI
-VOID
-DDKAPI
-NdisReadNetworkAddress(
- OUT PNDIS_STATUS Status,
- OUT PVOID *NetworkAddress,
- OUT PUINT NetworkAddressLength,
- IN NDIS_HANDLE ConfigurationHandle);
-
-NDISAPI
-VOID
-DDKAPI
-NdisReadEisaSlotInformation(
- OUT PNDIS_STATUS Status,
- IN NDIS_HANDLE WrapperConfigurationContext,
- OUT PUINT SlotNumber,
- OUT PNDIS_EISA_FUNCTION_INFORMATION EisaData);
-
-NDISAPI
-VOID
-DDKAPI
-NdisReadEisaSlotInformationEx(
- OUT PNDIS_STATUS Status,
- IN NDIS_HANDLE WrapperConfigurationContext,
- OUT PUINT SlotNumber,
- OUT PNDIS_EISA_FUNCTION_INFORMATION *EisaData,
- OUT PUINT NumberOfFunctions);
-
-NDISAPI
-ULONG
-DDKAPI
-NdisReadPciSlotInformation(
- IN NDIS_HANDLE NdisAdapterHandle,
- IN ULONG SlotNumber,
- IN ULONG Offset,
- IN PVOID Buffer,
- IN ULONG Length);
-
-NDISAPI
-ULONG
-DDKAPI
-NdisWritePciSlotInformation(
- IN NDIS_HANDLE NdisAdapterHandle,
- IN ULONG SlotNumber,
- IN ULONG Offset,
- IN PVOID Buffer,
- IN ULONG Length);
-
-
-
-/* String management routines */
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisAnsiStringToUnicodeString(
- IN OUT PNDIS_STRING DestinationString,
- IN PNDIS_ANSI_STRING SourceString);
-
-/*
- * BOOLEAN
- * NdisEqualString(
- * IN PNDIS_STRING String1,
- * IN PNDIS_STRING String2,
- * IN BOOLEAN CaseInsensitive);
- */
-#define NdisEqualString(_String1, _String2, _CaseInsensitive) \
- RtlEqualUnicodeString(_String1, _String2, _CaseInsensitive)
-
-NDISAPI
-VOID
-DDKAPI
-NdisInitAnsiString(
- IN OUT PNDIS_ANSI_STRING DestinationString,
- IN PCSTR SourceString);
-
-NDISAPI
-VOID
-DDKAPI
-NdisInitUnicodeString(
- IN OUT PNDIS_STRING DestinationString,
- IN PCWSTR SourceString);
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisUnicodeStringToAnsiString(
- IN OUT PNDIS_ANSI_STRING DestinationString,
- IN PNDIS_STRING SourceString);
-
-#define NdisFreeString(_s) NdisFreeMemory((_s).Buffer, (_s).MaximumLength, 0)
-#define NdisPrintString(_s) DbgPrint("%ls", (_s).Buffer)
-
-
-/* Spin lock reoutines */
-
-/*
- * VOID
- * NdisAllocateSpinLock(
- * IN PNDIS_SPIN_LOCK SpinLock);
- */
-#define NdisAllocateSpinLock(_SpinLock) \
- KeInitializeSpinLock(&(_SpinLock)->SpinLock)
-
-/*
- * VOID
- * NdisFreeSpinLock(
- * IN PNDIS_SPIN_LOCK SpinLock);
- */
-#define NdisFreeSpinLock(_SpinLock)
-
-/*
- * VOID
- * NdisAcquireSpinLock(
- * IN PNDIS_SPIN_LOCK SpinLock);
- */
-#define NdisAcquireSpinLock(_SpinLock) \
- KeAcquireSpinLock(&(_SpinLock)->SpinLock, &(_SpinLock)->OldIrql)
-
-/*
- * VOID
- * NdisReleaseSpinLock(
- * IN PNDIS_SPIN_LOCK SpinLock);
- */
-#define NdisReleaseSpinLock(_SpinLock) \
- KeReleaseSpinLock(&(_SpinLock)->SpinLock, (_SpinLock)->OldIrql)
-
-/*
- * VOID
- * NdisDprAcquireSpinLock(
- * IN PNDIS_SPIN_LOCK SpinLock);
- */
-#define NdisDprAcquireSpinLock(_SpinLock) \
-{ \
- KeAcquireSpinLockAtDpcLevel(&(_SpinLock)->SpinLock); \
- (_SpinLock)->OldIrql = DISPATCH_LEVEL; \
-}
-
-/*
- * VOID
- * NdisDprReleaseSpinLock(
- * IN PNDIS_SPIN_LOCK SpinLock);
- */
-#define NdisDprReleaseSpinLock(_SpinLock) \
- KeReleaseSpinLockFromDpcLevel(&(_SpinLock)->SpinLock)
-
-
-
-/* I/O routines */
-
-/*
- * VOID
- * NdisRawReadPortBufferUchar(
- * IN ULONG Port,
- * OUT PUCHAR Buffer,
- * IN ULONG Length);
- */
-#define NdisRawReadPortBufferUchar(Port, Buffer, Length) \
- READ_PORT_BUFFER_UCHAR((PUCHAR)(Port), (PUCHAR)(Buffer), (Length))
-
-/*
- * VOID
- * NdisRawReadPortBufferUlong(
- * IN ULONG Port,
- * OUT PULONG Buffer,
- * IN ULONG Length);
- */
-#define NdisRawReadPortBufferUlong(Port, Buffer, Length) \
- READ_PORT_BUFFER_ULONG((PULONG)(Port), (PULONG)(Buffer), (Length))
-
-/*
- * VOID
- * NdisRawReadPortBufferUshort(
- * IN ULONG Port,
- * OUT PUSHORT Buffer,
- * IN ULONG Length);
- */
-#define NdisRawReadPortBufferUshort(Port, Buffer, Length) \
- READ_PORT_BUFFER_USHORT((PUSHORT)(Port), (PUSHORT)(Buffer), (Length))
-
-
-/*
- * VOID
- * NdisRawReadPortUchar(
- * IN ULONG Port,
- * OUT PUCHAR Data);
- */
-#define NdisRawReadPortUchar(Port, Data) \
- *(Data) = READ_PORT_UCHAR((PUCHAR)(Port))
-
-/*
- * VOID
- * NdisRawReadPortUlong(
- * IN ULONG Port,
- * OUT PULONG Data);
- */
-#define NdisRawReadPortUlong(Port, Data) \
- *(Data) = READ_PORT_ULONG((PULONG)(Port))
-
-/*
- * VOID
- * NdisRawReadPortUshort(
- * IN ULONG Port,
- * OUT PUSHORT Data);
- */
-#define NdisRawReadPortUshort(Port, Data) \
- *(Data) = READ_PORT_USHORT((PUSHORT)(Port))
-
-
-/*
- * VOID
- * NdisRawWritePortBufferUchar(
- * IN ULONG Port,
- * IN PUCHAR Buffer,
- * IN ULONG Length);
- */
-#define NdisRawWritePortBufferUchar(Port, Buffer, Length) \
- WRITE_PORT_BUFFER_UCHAR((PUCHAR)(Port), (PUCHAR)(Buffer), (Length))
-
-/*
- * VOID
- * NdisRawWritePortBufferUlong(
- * IN ULONG Port,
- * IN PULONG Buffer,
- * IN ULONG Length);
- */
-#define NdisRawWritePortBufferUlong(Port, Buffer, Length) \
- WRITE_PORT_BUFFER_ULONG((PULONG)(Port), (PULONG)(Buffer), (Length))
-
-/*
- * VOID
- * NdisRawWritePortBufferUshort(
- * IN ULONG Port,
- * IN PUSHORT Buffer,
- * IN ULONG Length);
- */
-#define NdisRawWritePortBufferUshort(Port, Buffer, Length) \
- WRITE_PORT_BUFFER_USHORT((PUSHORT)(Port), (PUSHORT)(Buffer), (Length))
-
-
-/*
- * VOID
- * NdisRawWritePortUchar(
- * IN ULONG Port,
- * IN UCHAR Data);
- */
-#define NdisRawWritePortUchar(Port, Data) \
- WRITE_PORT_UCHAR((PUCHAR)(Port), (UCHAR)(Data))
-
-/*
- * VOID
- * NdisRawWritePortUlong(
- * IN ULONG Port,
- * IN ULONG Data);
- */
-#define NdisRawWritePortUlong(Port, Data) \
- WRITE_PORT_ULONG((PULONG)(Port), (ULONG)(Data))
-
-/*
- * VOID
- * NdisRawWritePortUshort(
- * IN ULONG Port,
- * IN USHORT Data);
- */
-#define NdisRawWritePortUshort(Port, Data) \
- WRITE_PORT_USHORT((PUSHORT)(Port), (USHORT)(Data))
-
-
-/*
- * VOID
- * NdisReadRegisterUchar(
- * IN PUCHAR Register,
- * OUT PUCHAR Data);
- */
-#define NdisReadRegisterUchar(Register, Data) \
- *(Data) = *(Register)
-
-/*
- * VOID
- * NdisReadRegisterUlong(
- * IN PULONG Register,
- * OUT PULONG Data);
- */
-#define NdisReadRegisterUlong(Register, Data) \
- *(Data) = *(Register)
-
-/*
- * VOID
- * NdisReadRegisterUshort(
- * IN PUSHORT Register,
- * OUT PUSHORT Data);
- */
-#define NdisReadRegisterUshort(Register, Data) \
- *(Data) = *(Register)
-
-/*
- * VOID
- * NdisReadRegisterUchar(
- * IN PUCHAR Register,
- * IN UCHAR Data);
- */
-#define NdisWriteRegisterUchar(Register, Data) \
- WRITE_REGISTER_UCHAR((Register), (Data))
-
-/*
- * VOID
- * NdisReadRegisterUlong(
- * IN PULONG Register,
- * IN ULONG Data);
- */
-#define NdisWriteRegisterUlong(Register, Data) \
- WRITE_REGISTER_ULONG((Register), (Data))
-
-/*
- * VOID
- * NdisReadRegisterUshort(
- * IN PUSHORT Register,
- * IN USHORT Data);
- */
-#define NdisWriteRegisterUshort(Register, Data) \
- WRITE_REGISTER_USHORT((Register), (Data))
-
-
-/* Linked lists */
-
-/*
- * VOID
- * NdisInitializeListHead(
- * IN PLIST_ENTRY ListHead);
- */
-#define NdisInitializeListHead(_ListHead) \
- InitializeListHead(_ListHead)
-
-/*
- * PLIST_ENTRY
- * NdisInterlockedInsertHeadList(
- * IN PLIST_ENTRY ListHead,
- * IN PLIST_ENTRY ListEntry,
- * IN PNDIS_SPIN_LOCK SpinLock);
- */
-#define NdisInterlockedInsertHeadList(_ListHead, _ListEntry, _SpinLock) \
- ExInterlockedInsertHeadList(_ListHead, _ListEntry, &(_SpinLock)->SpinLock)
-
-/*
- * PLIST_ENTRY
- * NdisInterlockedInsertTailList(
- * IN PLIST_ENTRY ListHead,
- * IN PLIST_ENTRY ListEntry,
- * IN PNDIS_SPIN_LOCK SpinLock);
- */
-#define NdisInterlockedInsertTailList(_ListHead, _ListEntry, _SpinLock) \
- ExInterlockedInsertTailList(_ListHead, _ListEntry, &(_SpinLock)->SpinLock)
-
-/*
- * PLIST_ENTRY
- * NdisInterlockedRemoveHeadList(
- * IN PLIST_ENTRY ListHead,
- * IN PNDIS_SPIN_LOCK SpinLock);
-*/
-#define NdisInterlockedRemoveHeadList(_ListHead, _SpinLock) \
- ExInterlockedRemoveHeadList(_ListHead, &(_SpinLock)->SpinLock)
-
-/*
- * VOID
- * NdisInitializeSListHead(
- * IN PSLIST_HEADER SListHead);
- */
-#define NdisInitializeSListHead(SListHead) ExInitializeSListHead(SListHead)
-
-/*
- * USHORT NdisQueryDepthSList(
- * IN PSLIST_HEADER SListHead);
- */
-#define NdisQueryDepthSList(SListHead) ExQueryDepthSList(SListHead)
-
-
-
-/* Interlocked routines */
-
-/*
- * LONG
- * NdisInterlockedDecrement(
- * IN PLONG Addend);
- */
-#define NdisInterlockedDecrement(Addend) InterlockedDecrement(Addend)
-
-/*
- * LONG
- * NdisInterlockedIncrement(
- * IN PLONG Addend);
- */
-#define NdisInterlockedIncrement(Addend) InterlockedIncrement(Addend)
-
-/*
- * VOID
- * NdisInterlockedAddUlong(
- * IN PULONG Addend,
- * IN ULONG Increment,
- * IN PNDIS_SPIN_LOCK SpinLock);
- */
-#define NdisInterlockedAddUlong(_Addend, _Increment, _SpinLock) \
- ExInterlockedAddUlong(_Addend, _Increment, &(_SpinLock)->SpinLock)
-
-
-
-/* Miscellaneous routines */
-
-NDISAPI
-VOID
-DDKAPI
-NdisCloseConfiguration(
- IN NDIS_HANDLE ConfigurationHandle);
-
-NDISAPI
-VOID
-DDKAPI
-NdisReadConfiguration(
- OUT PNDIS_STATUS Status,
- OUT PNDIS_CONFIGURATION_PARAMETER *ParameterValue,
- IN NDIS_HANDLE ConfigurationHandle,
- IN PNDIS_STRING Keyword,
- IN NDIS_PARAMETER_TYPE ParameterType);
-
-NDISAPI
-VOID
-DDKAPI
-NdisWriteConfiguration(
- OUT PNDIS_STATUS Status,
- IN NDIS_HANDLE WrapperConfigurationContext,
- IN PNDIS_STRING Keyword,
- IN PNDIS_CONFIGURATION_PARAMETER *ParameterValue);
-
-NDISAPI
-VOID
-DDKCDECLAPI
-NdisWriteErrorLogEntry(
- IN NDIS_HANDLE NdisAdapterHandle,
- IN NDIS_ERROR_CODE ErrorCode,
- IN ULONG NumberOfErrorValues,
- IN ...);
-
-/*
- * VOID
- * NdisStallExecution(
- * IN UINT MicrosecondsToStall)
- */
-#define NdisStallExecution KeStallExecutionProcessor
-
-/*
- * VOID
- * NdisGetCurrentSystemTime(
- * IN PLARGE_INTEGER pSystemTime);
- */
-#define NdisGetCurrentSystemTime KeQuerySystemTime
-
-NDISAPI
-VOID
-DDKAPI
-NdisGetCurrentProcessorCpuUsage(
- OUT PULONG pCpuUsage);
-
-
-
-/* NDIS helper macros */
-
-/*
- * VOID
- * NDIS_INIT_FUNCTION(FunctionName)
- */
-#define NDIS_INIT_FUNCTION(FunctionName) \
- alloc_text(init, FunctionName)
-
-/*
- * VOID
- * NDIS_PAGABLE_FUNCTION(FunctionName)
- */
-#define NDIS_PAGEABLE_FUNCTION(FunctionName) \
- alloc_text(page, FunctionName)
-
-#define NDIS_PAGABLE_FUNCTION NDIS_PAGEABLE_FUNCTION
-
-
-/* NDIS 4.0 extensions */
-
-NDISAPI
-VOID
-DDKAPI
-NdisMFreeSharedMemory(
- IN NDIS_HANDLE MiniportAdapterHandle,
- IN ULONG Length,
- IN BOOLEAN Cached,
- IN PVOID VirtualAddress,
- IN NDIS_PHYSICAL_ADDRESS PhysicalAddress);
-
-NDISAPI
-VOID
-DDKAPI
-NdisMWanIndicateReceive(
- OUT PNDIS_STATUS Status,
- IN NDIS_HANDLE MiniportAdapterHandle,
- IN NDIS_HANDLE NdisLinkContext,
- IN PUCHAR PacketBuffer,
- IN UINT PacketSize);
-
-NDISAPI
-VOID
-DDKAPI
-NdisMWanIndicateReceiveComplete(
- IN NDIS_HANDLE MiniportAdapterHandle);
-
-NDISAPI
-VOID
-DDKAPI
-NdisMWanSendComplete(
- IN NDIS_HANDLE MiniportAdapterHandle,
- IN PNDIS_WAN_PACKET Packet,
- IN NDIS_STATUS Status);
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisPciAssignResources(
- IN NDIS_HANDLE NdisMacHandle,
- IN NDIS_HANDLE NdisWrapperHandle,
- IN NDIS_HANDLE WrapperConfigurationContext,
- IN ULONG SlotNumber,
- OUT PNDIS_RESOURCE_LIST *AssignedResources);
-
-
-/* NDIS 5.0 extensions */
-
-NDISAPI
-VOID
-DDKAPI
-NdisAcquireReadWriteLock(
- IN PNDIS_RW_LOCK Lock,
- IN BOOLEAN fWrite,
- IN PLOCK_STATE LockState);
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisAllocateMemoryWithTag(
- OUT PVOID *VirtualAddress,
- IN UINT Length,
- IN ULONG Tag);
-
-NDISAPI
-VOID
-DDKAPI
-NdisAllocatePacketPoolEx(
- OUT PNDIS_STATUS Status,
- OUT PNDIS_HANDLE PoolHandle,
- IN UINT NumberOfDescriptors,
- IN UINT NumberOfOverflowDescriptors,
- IN UINT ProtocolReservedLength);
-
-NDISAPI
-VOID
-DDKAPI
-NdisCompletePnPEvent(
- IN NDIS_STATUS Status,
- IN NDIS_HANDLE NdisBindingHandle,
- IN PNET_PNP_EVENT NetPnPEvent);
-
-NDISAPI
-VOID
-DDKAPI
-NdisGetCurrentProcessorCounts(
- OUT PULONG pIdleCount,
- OUT PULONG pKernelAndUser,
- OUT PULONG pIndex);
-
-NDISAPI
-VOID
-DDKAPI
-NdisGetDriverHandle(
- IN PNDIS_HANDLE NdisBindingHandle,
- OUT PNDIS_HANDLE NdisDriverHandle);
-
-NDISAPI
-PNDIS_PACKET
-DDKAPI
-NdisGetReceivedPacket(
- IN PNDIS_HANDLE NdisBindingHandle,
- IN PNDIS_HANDLE MacContext);
-
-NDISAPI
-VOID
-DDKAPI
-NdisGetSystemUptime(
- OUT PULONG pSystemUpTime);
-
-NDISAPI
-VOID
-DDKAPI
-NdisInitializeReadWriteLock(
- IN PNDIS_RW_LOCK Lock);
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisMDeregisterDevice(
- IN NDIS_HANDLE NdisDeviceHandle);
-
-NDISAPI
-VOID
-DDKAPI
-NdisMGetDeviceProperty(
- IN NDIS_HANDLE MiniportAdapterHandle,
- IN OUT PDEVICE_OBJECT *PhysicalDeviceObject OPTIONAL,
- IN OUT PDEVICE_OBJECT *FunctionalDeviceObject OPTIONAL,
- IN OUT PDEVICE_OBJECT *NextDeviceObject OPTIONAL,
- IN OUT PCM_RESOURCE_LIST *AllocatedResources OPTIONAL,
- IN OUT PCM_RESOURCE_LIST *AllocatedResourcesTranslated OPTIONAL);
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisMInitializeScatterGatherDma(
- IN NDIS_HANDLE MiniportAdapterHandle,
- IN BOOLEAN Dma64BitAddresses,
- IN ULONG MaximumPhysicalMapping);
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisMPromoteMiniport(
- IN NDIS_HANDLE MiniportAdapterHandle);
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisMQueryAdapterInstanceName(
- OUT PNDIS_STRING AdapterInstanceName,
- IN NDIS_HANDLE MiniportAdapterHandle);
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisMRegisterDevice(
- IN NDIS_HANDLE NdisWrapperHandle,
- IN PNDIS_STRING DeviceName,
- IN PNDIS_STRING SymbolicName,
- IN PDRIVER_DISPATCH MajorFunctions[],
- OUT PDEVICE_OBJECT *pDeviceObject,
- OUT NDIS_HANDLE *NdisDeviceHandle);
-
-NDISAPI
-VOID
-DDKAPI
-NdisMRegisterUnloadHandler(
- IN NDIS_HANDLE NdisWrapperHandle,
- IN PDRIVER_UNLOAD UnloadHandler);
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisMRemoveMiniport(
- IN NDIS_HANDLE MiniportAdapterHandle);
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisMSetMiniportSecondary(
- IN NDIS_HANDLE MiniportAdapterHandle,
- IN NDIS_HANDLE PrimaryMiniportAdapterHandle);
-
-NDISAPI
-VOID
-DDKAPI
-NdisOpenConfigurationKeyByIndex(
- OUT PNDIS_STATUS Status,
- IN NDIS_HANDLE ConfigurationHandle,
- IN ULONG Index,
- OUT PNDIS_STRING KeyName,
- OUT PNDIS_HANDLE KeyHandle);
-
-NDISAPI
-VOID
-DDKAPI
-NdisOpenConfigurationKeyByName(
- OUT PNDIS_STATUS Status,
- IN NDIS_HANDLE ConfigurationHandle,
- IN PNDIS_STRING SubKeyName,
- OUT PNDIS_HANDLE SubKeyHandle);
-
-NDISAPI
-UINT
-DDKAPI
-NdisPacketPoolUsage(
- IN NDIS_HANDLE PoolHandle);
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisQueryAdapterInstanceName(
- OUT PNDIS_STRING AdapterInstanceName,
- IN NDIS_HANDLE NdisBindingHandle);
-
-NDISAPI
-ULONG
-DDKAPI
-NdisReadPcmciaAttributeMemory(
- IN NDIS_HANDLE NdisAdapterHandle,
- IN ULONG Offset,
- IN PVOID Buffer,
- IN ULONG Length);
-
-NDISAPI
-VOID
-DDKAPI
-NdisReleaseReadWriteLock(
- IN PNDIS_RW_LOCK Lock,
- IN PLOCK_STATE LockState);
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisWriteEventLogEntry(
- IN PVOID LogHandle,
- IN NDIS_STATUS EventCode,
- IN ULONG UniqueEventValue,
- IN USHORT NumStrings,
- IN PVOID StringsList OPTIONAL,
- IN ULONG DataSize,
- IN PVOID Data OPTIONAL);
-
-NDISAPI
-ULONG
-DDKAPI
-NdisWritePcmciaAttributeMemory(
- IN NDIS_HANDLE NdisAdapterHandle,
- IN ULONG Offset,
- IN PVOID Buffer,
- IN ULONG Length);
-
-
-/* Connectionless services */
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisClAddParty(
- IN NDIS_HANDLE NdisVcHandle,
- IN NDIS_HANDLE ProtocolPartyContext,
- IN OUT PCO_CALL_PARAMETERS CallParameters,
- OUT PNDIS_HANDLE NdisPartyHandle);
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisClCloseAddressFamily(
- IN NDIS_HANDLE NdisAfHandle);
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisClCloseCall(
- IN NDIS_HANDLE NdisVcHandle,
- IN NDIS_HANDLE NdisPartyHandle OPTIONAL,
- IN PVOID Buffer OPTIONAL,
- IN UINT Size);
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisClDeregisterSap(
- IN NDIS_HANDLE NdisSapHandle);
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisClDropParty(
- IN NDIS_HANDLE NdisPartyHandle,
- IN PVOID Buffer OPTIONAL,
- IN UINT Size);
-
-NDISAPI
-VOID
-DDKAPI
-NdisClIncomingCallComplete(
- IN NDIS_STATUS Status,
- IN NDIS_HANDLE NdisVcHandle,
- IN PCO_CALL_PARAMETERS CallParameters);
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisClMakeCall(
- IN NDIS_HANDLE NdisVcHandle,
- IN OUT PCO_CALL_PARAMETERS CallParameters,
- IN NDIS_HANDLE ProtocolPartyContext OPTIONAL,
- OUT PNDIS_HANDLE NdisPartyHandle OPTIONAL);
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisClModifyCallQoS(
- IN NDIS_HANDLE NdisVcHandle,
- IN PCO_CALL_PARAMETERS CallParameters);
-
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisClOpenAddressFamily(
- IN NDIS_HANDLE NdisBindingHandle,
- IN PCO_ADDRESS_FAMILY AddressFamily,
- IN NDIS_HANDLE ProtocolAfContext,
- IN PNDIS_CLIENT_CHARACTERISTICS ClCharacteristics,
- IN UINT SizeOfClCharacteristics,
- OUT PNDIS_HANDLE NdisAfHandle);
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisClRegisterSap(
- IN NDIS_HANDLE NdisAfHandle,
- IN NDIS_HANDLE ProtocolSapContext,
- IN PCO_SAP Sap,
- OUT PNDIS_HANDLE NdisSapHandle);
-
-
-/* Call Manager services */
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisCmActivateVc(
- IN NDIS_HANDLE NdisVcHandle,
- IN OUT PCO_CALL_PARAMETERS CallParameters);
-
-NDISAPI
-VOID
-DDKAPI
-NdisCmAddPartyComplete(
- IN NDIS_STATUS Status,
- IN NDIS_HANDLE NdisPartyHandle,
- IN NDIS_HANDLE CallMgrPartyContext OPTIONAL,
- IN PCO_CALL_PARAMETERS CallParameters);
-
-NDISAPI
-VOID
-DDKAPI
-NdisCmCloseAddressFamilyComplete(
- IN NDIS_STATUS Status,
- IN NDIS_HANDLE NdisAfHandle);
-
-NDISAPI
-VOID
-DDKAPI
-NdisCmCloseCallComplete(
- IN NDIS_STATUS Status,
- IN NDIS_HANDLE NdisVcHandle,
- IN NDIS_HANDLE NdisPartyHandle OPTIONAL);
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisCmDeactivateVc(
- IN NDIS_HANDLE NdisVcHandle);
-
-NDISAPI
-VOID
-DDKAPI
-NdisCmDeregisterSapComplete(
- IN NDIS_STATUS Status,
- IN NDIS_HANDLE NdisSapHandle);
-
-NDISAPI
-VOID
-DDKAPI
-NdisCmDispatchCallConnected(
- IN NDIS_HANDLE NdisVcHandle);
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisCmDispatchIncomingCall(
- IN NDIS_HANDLE NdisSapHandle,
- IN NDIS_HANDLE NdisVcHandle,
- IN PCO_CALL_PARAMETERS CallParameters);
-
-NDISAPI
-VOID
-DDKAPI
-NdisCmDispatchIncomingCallQoSChange(
- IN NDIS_HANDLE NdisVcHandle,
- IN PCO_CALL_PARAMETERS CallParameters);
-
-NDISAPI
-VOID
-DDKAPI
-NdisCmDispatchIncomingCloseCall(
- IN NDIS_STATUS CloseStatus,
- IN NDIS_HANDLE NdisVcHandle,
- IN PVOID Buffer OPTIONAL,
- IN UINT Size);
-
-NDISAPI
-VOID
-DDKAPI
-NdisCmDispatchIncomingDropParty(
- IN NDIS_STATUS DropStatus,
- IN NDIS_HANDLE NdisPartyHandle,
- IN PVOID Buffer OPTIONAL,
- IN UINT Size);
-
-NDISAPI
-VOID
-DDKAPI
-NdisCmDropPartyComplete(
- IN NDIS_STATUS Status,
- IN NDIS_HANDLE NdisPartyHandle);
-
-NDISAPI
-VOID
-DDKAPI
-NdisCmMakeCallComplete(
- IN NDIS_STATUS Status,
- IN NDIS_HANDLE NdisVcHandle,
- IN NDIS_HANDLE NdisPartyHandle OPTIONAL,
- IN NDIS_HANDLE CallMgrPartyContext OPTIONAL,
- IN PCO_CALL_PARAMETERS CallParameters);
-
-NDISAPI
-VOID
-DDKAPI
-NdisCmModifyCallQoSComplete(
- IN NDIS_STATUS Status,
- IN NDIS_HANDLE NdisVcHandle,
- IN PCO_CALL_PARAMETERS CallParameters);
-
-NDISAPI
-VOID
-DDKAPI
-NdisCmOpenAddressFamilyComplete(
- IN NDIS_STATUS Status,
- IN NDIS_HANDLE NdisAfHandle,
- IN NDIS_HANDLE CallMgrAfContext);
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisCmRegisterAddressFamily(
- IN NDIS_HANDLE NdisBindingHandle,
- IN PCO_ADDRESS_FAMILY AddressFamily,
- IN PNDIS_CALL_MANAGER_CHARACTERISTICS CmCharacteristics,
- IN UINT SizeOfCmCharacteristics);
-
-NDISAPI
-VOID
-DDKAPI
-NdisCmRegisterSapComplete(
- IN NDIS_STATUS Status,
- IN NDIS_HANDLE NdisSapHandle,
- IN NDIS_HANDLE CallMgrSapContext);
-
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisMCmActivateVc(
- IN NDIS_HANDLE NdisVcHandle,
- IN PCO_CALL_PARAMETERS CallParameters);
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisMCmCreateVc(
- IN NDIS_HANDLE MiniportAdapterHandle,
- IN NDIS_HANDLE NdisAfHandle,
- IN NDIS_HANDLE MiniportVcContext,
- OUT PNDIS_HANDLE NdisVcHandle);
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisMCmDeactivateVc(
- IN NDIS_HANDLE NdisVcHandle);
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisMCmDeleteVc(
- IN NDIS_HANDLE NdisVcHandle);
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisMCmRegisterAddressFamily(
- IN NDIS_HANDLE MiniportAdapterHandle,
- IN PCO_ADDRESS_FAMILY AddressFamily,
- IN PNDIS_CALL_MANAGER_CHARACTERISTICS CmCharacteristics,
- IN UINT SizeOfCmCharacteristics);
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisMCmRequest(
- IN NDIS_HANDLE NdisAfHandle,
- IN NDIS_HANDLE NdisVcHandle OPTIONAL,
- IN NDIS_HANDLE NdisPartyHandle OPTIONAL,
- IN OUT PNDIS_REQUEST NdisRequest);
-
-
-/* Connection-oriented services */
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisCoCreateVc(
- IN NDIS_HANDLE NdisBindingHandle,
- IN NDIS_HANDLE NdisAfHandle OPTIONAL,
- IN NDIS_HANDLE ProtocolVcContext,
- IN OUT PNDIS_HANDLE NdisVcHandle);
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisCoDeleteVc(
- IN NDIS_HANDLE NdisVcHandle);
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisCoRequest(
- IN NDIS_HANDLE NdisBindingHandle,
- IN NDIS_HANDLE NdisAfHandle OPTIONAL,
- IN NDIS_HANDLE NdisVcHandle OPTIONAL,
- IN NDIS_HANDLE NdisPartyHandle OPTIONAL,
- IN OUT PNDIS_REQUEST NdisRequest);
-
-NDISAPI
-VOID
-DDKAPI
-NdisCoRequestComplete(
- IN NDIS_STATUS Status,
- IN NDIS_HANDLE NdisAfHandle,
- IN NDIS_HANDLE NdisVcHandle OPTIONAL,
- IN NDIS_HANDLE NdisPartyHandle OPTIONAL,
- IN PNDIS_REQUEST NdisRequest);
-
-NDISAPI
-VOID
-DDKAPI
-NdisCoSendPackets(
- IN NDIS_HANDLE NdisVcHandle,
- IN PPNDIS_PACKET PacketArray,
- IN UINT NumberOfPackets);
-
-NDISAPI
-VOID
-DDKAPI
-NdisMCoActivateVcComplete(
- IN NDIS_STATUS Status,
- IN NDIS_HANDLE NdisVcHandle,
- IN PCO_CALL_PARAMETERS CallParameters);
-
-NDISAPI
-VOID
-DDKAPI
-NdisMCoDeactivateVcComplete(
- IN NDIS_STATUS Status,
- IN NDIS_HANDLE NdisVcHandle);
-
-NDISAPI
-VOID
-DDKAPI
-NdisMCoIndicateReceivePacket(
- IN NDIS_HANDLE NdisVcHandle,
- IN PPNDIS_PACKET PacketArray,
- IN UINT NumberOfPackets);
-
-NDISAPI
-VOID
-DDKAPI
-NdisMCoIndicateStatus(
- IN NDIS_HANDLE MiniportAdapterHandle,
- IN NDIS_HANDLE NdisVcHandle OPTIONAL,
- IN NDIS_STATUS GeneralStatus,
- IN PVOID StatusBuffer OPTIONAL,
- IN ULONG StatusBufferSize);
-
-NDISAPI
-VOID
-DDKAPI
-NdisMCoReceiveComplete(
- IN NDIS_HANDLE MiniportAdapterHandle);
-
-NDISAPI
-VOID
-DDKAPI
-NdisMCoRequestComplete(
- IN NDIS_STATUS Status,
- IN NDIS_HANDLE MiniportAdapterHandle,
- IN PNDIS_REQUEST Request);
-
-NDISAPI
-VOID
-DDKAPI
-NdisMCoSendComplete(
- IN NDIS_STATUS Status,
- IN NDIS_HANDLE NdisVcHandle,
- IN PNDIS_PACKET Packet);
-
-
-/* NDIS 5.0 extensions for intermediate drivers */
-
-NDISAPI
-VOID
-DDKAPI
-NdisIMAssociateMiniport(
- IN NDIS_HANDLE DriverHandle,
- IN NDIS_HANDLE ProtocolHandle);
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisIMCancelInitializeDeviceInstance(
- IN NDIS_HANDLE DriverHandle,
- IN PNDIS_STRING DeviceInstance);
-
-NDISAPI
-VOID
-DDKAPI
-NdisIMCopySendCompletePerPacketInfo(
- IN PNDIS_PACKET DstPacket,
- IN PNDIS_PACKET SrcPacket);
-
-NDISAPI
-VOID
-DDKAPI
-NdisIMCopySendPerPacketInfo(
- IN PNDIS_PACKET DstPacket,
- IN PNDIS_PACKET SrcPacket);
-
-NDISAPI
-VOID
-DDKAPI
-NdisIMDeregisterLayeredMiniport(
- IN NDIS_HANDLE DriverHandle);
-
-NDISAPI
-NDIS_HANDLE
-DDKAPI
-NdisIMGetBindingContext(
- IN NDIS_HANDLE NdisBindingHandle);
-
-NDISAPI
-NDIS_HANDLE
-DDKAPI
-NdisIMGetDeviceContext(
- IN NDIS_HANDLE MiniportAdapterHandle);
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisIMInitializeDeviceInstanceEx(
- IN NDIS_HANDLE DriverHandle,
- IN PNDIS_STRING DriverInstance,
- IN NDIS_HANDLE DeviceContext OPTIONAL);
-
-NDISAPI
-PSINGLE_LIST_ENTRY
-DDKAPI
-NdisInterlockedPopEntrySList(
- IN PSLIST_HEADER ListHead,
- IN PKSPIN_LOCK Lock);
-
-NDISAPI
-PSINGLE_LIST_ENTRY
-DDKAPI
-NdisInterlockedPushEntrySList(
- IN PSLIST_HEADER ListHead,
- IN PSINGLE_LIST_ENTRY ListEntry,
- IN PKSPIN_LOCK Lock);
-
-NDISAPI
-VOID
-DDKAPI
-NdisQueryBufferSafe(
- IN PNDIS_BUFFER Buffer,
- OUT PVOID *VirtualAddress OPTIONAL,
- OUT PUINT Length,
- IN UINT Priority);
-
-
-/* Prototypes for NDIS_MINIPORT_CHARACTERISTICS */
-
-typedef BOOLEAN DDKAPI
-(*W_CHECK_FOR_HANG_HANDLER)(
- IN NDIS_HANDLE MiniportAdapterContext);
-
-typedef VOID DDKAPI
-(*W_DISABLE_INTERRUPT_HANDLER)(
- IN NDIS_HANDLE MiniportAdapterContext);
-
-typedef VOID DDKAPI
-(*W_ENABLE_INTERRUPT_HANDLER)(
- IN NDIS_HANDLE MiniportAdapterContext);
-
-typedef VOID DDKAPI
-(*W_HALT_HANDLER)(
- IN NDIS_HANDLE MiniportAdapterContext);
-
-typedef VOID DDKAPI
-(*W_HANDLE_INTERRUPT_HANDLER)(
- IN NDIS_HANDLE MiniportAdapterContext);
-
-typedef NDIS_STATUS DDKAPI
-(*W_INITIALIZE_HANDLER)(
- OUT PNDIS_STATUS OpenErrorStatus,
- OUT PUINT SelectedMediumIndex,
- IN PNDIS_MEDIUM MediumArray,
- IN UINT MediumArraySize,
- IN NDIS_HANDLE MiniportAdapterContext,
- IN NDIS_HANDLE WrapperConfigurationContext);
-
-typedef VOID DDKAPI
-(*W_ISR_HANDLER)(
- OUT PBOOLEAN InterruptRecognized,
- OUT PBOOLEAN QueueMiniportHandleInterrupt,
- IN NDIS_HANDLE MiniportAdapterContext);
-
-typedef NDIS_STATUS DDKAPI
-(*W_QUERY_INFORMATION_HANDLER)(
- IN NDIS_HANDLE MiniportAdapterContext,
- IN NDIS_OID Oid,
- IN PVOID InformationBuffer,
- IN ULONG InformationBufferLength,
- OUT PULONG BytesWritten,
- OUT PULONG BytesNeeded);
-
-typedef NDIS_STATUS DDKAPI
-(*W_RECONFIGURE_HANDLER)(
- OUT PNDIS_STATUS OpenErrorStatus,
- IN NDIS_HANDLE MiniportAdapterContext,
- IN NDIS_HANDLE WrapperConfigurationContext);
-
-typedef NDIS_STATUS DDKAPI
-(*W_RESET_HANDLER)(
- OUT PBOOLEAN AddressingReset,
- IN NDIS_HANDLE MiniportAdapterContext);
-
-typedef NDIS_STATUS DDKAPI
-(*W_SEND_HANDLER)(
- IN NDIS_HANDLE MiniportAdapterContext,
- IN PNDIS_PACKET Packet,
- IN UINT Flags);
-
-typedef NDIS_STATUS DDKAPI
-(*WM_SEND_HANDLER)(
- IN NDIS_HANDLE MiniportAdapterContext,
- IN NDIS_HANDLE NdisLinkHandle,
- IN PNDIS_WAN_PACKET Packet);
-
-typedef NDIS_STATUS DDKAPI
-(*W_SET_INFORMATION_HANDLER)(
- IN NDIS_HANDLE MiniportAdapterContext,
- IN NDIS_OID Oid,
- IN PVOID InformationBuffer,
- IN ULONG InformationBufferLength,
- OUT PULONG BytesRead,
- OUT PULONG BytesNeeded);
-
-typedef NDIS_STATUS DDKAPI
-(*W_TRANSFER_DATA_HANDLER)(
- OUT PNDIS_PACKET Packet,
- OUT PUINT BytesTransferred,
- IN NDIS_HANDLE MiniportAdapterContext,
- IN NDIS_HANDLE MiniportReceiveContext,
- IN UINT ByteOffset,
- IN UINT BytesToTransfer);
-
-typedef NDIS_STATUS DDKAPI
-(*WM_TRANSFER_DATA_HANDLER)(
- VOID);
-
-
-/* NDIS structures available only to miniport drivers */
-
-#define NDIS30_MINIPORT_CHARACTERISTICS_S \
- UCHAR MajorNdisVersion; \
- UCHAR MinorNdisVersion; \
- UINT Reserved; \
- W_CHECK_FOR_HANG_HANDLER CheckForHangHandler; \
- W_DISABLE_INTERRUPT_HANDLER DisableInterruptHandler; \
- W_ENABLE_INTERRUPT_HANDLER EnableInterruptHandler; \
- W_HALT_HANDLER HaltHandler; \
- W_HANDLE_INTERRUPT_HANDLER HandleInterruptHandler; \
- W_INITIALIZE_HANDLER InitializeHandler; \
- W_ISR_HANDLER ISRHandler; \
- W_QUERY_INFORMATION_HANDLER QueryInformationHandler; \
- W_RECONFIGURE_HANDLER ReconfigureHandler; \
- W_RESET_HANDLER ResetHandler; \
- _ANONYMOUS_UNION union { \
- W_SEND_HANDLER SendHandler; \
- WM_SEND_HANDLER WanSendHandler; \
- } _UNION_NAME(u1); \
- W_SET_INFORMATION_HANDLER SetInformationHandler; \
- _ANONYMOUS_UNION union { \
- W_TRANSFER_DATA_HANDLER TransferDataHandler; \
- WM_TRANSFER_DATA_HANDLER WanTransferDataHandler; \
- } _UNION_NAME(u2);
-
-typedef struct _NDIS30_MINIPORT_CHARACTERISTICS {
- NDIS30_MINIPORT_CHARACTERISTICS_S
-} NDIS30_MINIPORT_CHARACTERISTICS, *PSNDIS30_MINIPORT_CHARACTERISTICS;
-
-
-/* Extensions for NDIS 4.0 miniports */
-
-typedef VOID DDKAPI
-(*W_SEND_PACKETS_HANDLER)(
- IN NDIS_HANDLE MiniportAdapterContext,
- IN PPNDIS_PACKET PacketArray,
- IN UINT NumberOfPackets);
-
-typedef VOID DDKAPI
-(*W_RETURN_PACKET_HANDLER)(
- IN NDIS_HANDLE MiniportAdapterContext,
- IN PNDIS_PACKET Packet);
-
-typedef VOID DDKAPI
-(*W_ALLOCATE_COMPLETE_HANDLER)(
- IN NDIS_HANDLE MiniportAdapterContext,
- IN PVOID VirtualAddress,
- IN PNDIS_PHYSICAL_ADDRESS PhysicalAddress,
- IN ULONG Length,
- IN PVOID Context);
-
-#ifdef __cplusplus
-
-#define NDIS40_MINIPORT_CHARACTERISTICS_S \
- NDIS30_MINIPORT_CHARACTERISTICS Ndis30Chars; \
- W_RETURN_PACKET_HANDLER ReturnPacketHandler; \
- W_SEND_PACKETS_HANDLER SendPacketsHandler; \
- W_ALLOCATE_COMPLETE_HANDLER AllocateCompleteHandler;
-
-#else /* !__cplusplus */
-
-#define NDIS40_MINIPORT_CHARACTERISTICS_S \
- NDIS30_MINIPORT_CHARACTERISTICS_S \
- W_RETURN_PACKET_HANDLER ReturnPacketHandler; \
- W_SEND_PACKETS_HANDLER SendPacketsHandler; \
- W_ALLOCATE_COMPLETE_HANDLER AllocateCompleteHandler;
-
-#endif /* !__cplusplus */
-
-typedef struct _NDIS40_MINIPORT_CHARACTERISTICS {
- NDIS40_MINIPORT_CHARACTERISTICS_S
-} NDIS40_MINIPORT_CHARACTERISTICS, *PNDIS40_MINIPORT_CHARACTERISTICS;
-
-
-/* Extensions for NDIS 5.0 miniports */
-
-typedef NDIS_STATUS DDKAPI
-(*W_CO_CREATE_VC_HANDLER)(
- IN NDIS_HANDLE MiniportAdapterContext,
- IN NDIS_HANDLE NdisVcHandle,
- OUT PNDIS_HANDLE MiniportVcContext);
-
-typedef NDIS_STATUS DDKAPI
-(*W_CO_DELETE_VC_HANDLER)(
- IN NDIS_HANDLE MiniportVcContext);
-
-typedef NDIS_STATUS DDKAPI
-(*W_CO_ACTIVATE_VC_HANDLER)(
- IN NDIS_HANDLE MiniportVcContext,
- IN OUT PCO_CALL_PARAMETERS CallParameters);
-
-typedef NDIS_STATUS DDKAPI
-(*W_CO_DEACTIVATE_VC_HANDLER)(
- IN NDIS_HANDLE MiniportVcContext);
-
-typedef VOID DDKAPI
-(*W_CO_SEND_PACKETS_HANDLER)(
- IN NDIS_HANDLE MiniportVcContext,
- IN PPNDIS_PACKET PacketArray,
- IN UINT NumberOfPackets);
-
-typedef NDIS_STATUS DDKAPI
-(*W_CO_REQUEST_HANDLER)(
- IN NDIS_HANDLE MiniportAdapterContext,
- IN NDIS_HANDLE MiniportVcContext OPTIONAL,
- IN OUT PNDIS_REQUEST NdisRequest);
-
-#ifdef __cplusplus
-
-#define NDIS50_MINIPORT_CHARACTERISTICS_S \
- NDIS40_MINIPORT_CHARACTERISTICS Ndis40Chars; \
- W_CO_CREATE_VC_HANDLER CoCreateVcHandler; \
- W_CO_DELETE_VC_HANDLER CoDeleteVcHandler; \
- W_CO_ACTIVATE_VC_HANDLER CoActivateVcHandler; \
- W_CO_DEACTIVATE_VC_HANDLER CoDeactivateVcHandler; \
- W_CO_SEND_PACKETS_HANDLER CoSendPacketsHandler; \
- W_CO_REQUEST_HANDLER CoRequestHandler;
-
-#else /* !__cplusplus */
-
-#define NDIS50_MINIPORT_CHARACTERISTICS_S \
- NDIS40_MINIPORT_CHARACTERISTICS_S \
- W_CO_CREATE_VC_HANDLER CoCreateVcHandler; \
- W_CO_DELETE_VC_HANDLER CoDeleteVcHandler; \
- W_CO_ACTIVATE_VC_HANDLER CoActivateVcHandler; \
- W_CO_DEACTIVATE_VC_HANDLER CoDeactivateVcHandler; \
- W_CO_SEND_PACKETS_HANDLER CoSendPacketsHandler; \
- W_CO_REQUEST_HANDLER CoRequestHandler;
-
-#endif /* !__cplusplus */
-
-typedef struct _NDIS50_MINIPORT_CHARACTERISTICS {
- NDIS50_MINIPORT_CHARACTERISTICS_S
-} NDIS50_MINIPORT_CHARACTERISTICS, *PSNDIS50_MINIPORT_CHARACTERISTICS;
-
-
-/* Extensions for NDIS 5.1 miniports */
-
-typedef VOID DDKAPI
-(*W_CANCEL_SEND_PACKETS_HANDLER)(
- IN NDIS_HANDLE MiniportAdapterContext,
- IN PVOID CancelId);
-
-
-#if defined(NDIS51)
-typedef struct _NDIS_MINIPORT_CHARACTERISTICS {
- NDIS50_MINIPORT_CHARACTERISTICS_S
-} NDIS_MINIPORT_CHARACTERISTICS, *PNDIS_MINIPORT_CHARACTERISTICS;
-#elif defined(NDIS50)
-typedef struct _NDIS_MINIPORT_CHARACTERISTICS {
- NDIS50_MINIPORT_CHARACTERISTICS_S
-} NDIS_MINIPORT_CHARACTERISTICS, *PNDIS_MINIPORT_CHARACTERISTICS;
-#elif defined(NDIS40)
-typedef struct _NDIS_MINIPORT_CHARACTERISTICS {
- NDIS40_MINIPORT_CHARACTERISTICS_S
-} NDIS_MINIPORT_CHARACTERISTICS, *PNDIS_MINIPORT_CHARACTERISTICS;
-#elif defined(NDIS30)
-typedef struct _NDIS_MINIPORT_CHARACTERISTICS {
- NDIS30_MINIPORT_CHARACTERISTICS_S
-} NDIS_MINIPORT_CHARACTERISTICS, *PNDIS_MINIPORT_CHARACTERISTICS;
-#endif /* NDIS30 */
-
-
-typedef NDIS_STATUS DDKAPI
-(*SEND_HANDLER)(
- IN NDIS_HANDLE MacBindingHandle,
- IN PNDIS_PACKET Packet);
-
-typedef NDIS_STATUS DDKAPI
-(*TRANSFER_DATA_HANDLER)(
- IN NDIS_HANDLE MacBindingHandle,
- IN NDIS_HANDLE MacReceiveContext,
- IN UINT ByteOffset,
- IN UINT BytesToTransfer,
- OUT PNDIS_PACKET Packet,
- OUT PUINT BytesTransferred);
-
-typedef NDIS_STATUS DDKAPI
-(*RESET_HANDLER)(
- IN NDIS_HANDLE MacBindingHandle);
-
-typedef NDIS_STATUS DDKAPI
-(*REQUEST_HANDLER)(
- IN NDIS_HANDLE MacBindingHandle,
- IN PNDIS_REQUEST NdisRequest);
-
-
-
-/* Structures available only to full MAC drivers */
-
-typedef BOOLEAN DDKAPI
-(*PNDIS_INTERRUPT_SERVICE)(
- IN PVOID InterruptContext);
-
-typedef VOID DDKAPI
-(*PNDIS_DEFERRED_PROCESSING)(
- IN PVOID SystemSpecific1,
- IN PVOID InterruptContext,
- IN PVOID SystemSpecific2,
- IN PVOID SystemSpecific3);
-
-
-
-typedef struct _NDIS_MINIPORT_BLOCK NDIS_MINIPORT_BLOCK, *PNDIS_MINIPORT_BLOCK;
-typedef struct _NDIS_PROTOCOL_BLOCK NDIS_PROTOCOL_BLOCK, *PNDIS_PROTOCOL_BLOCK;
-typedef struct _NDIS_OPEN_BLOCK NDIS_OPEN_BLOCK, *PNDIS_OPEN_BLOCK;
-typedef struct _NDIS_M_DRIVER_BLOCK NDIS_M_DRIVER_BLOCK, *PNDIS_M_DRIVER_BLOCK;
-typedef struct _NDIS_AF_LIST NDIS_AF_LIST, *PNDIS_AF_LIST;
-
-
-typedef struct _NDIS_MINIPORT_INTERRUPT {
- PKINTERRUPT InterruptObject;
- KSPIN_LOCK DpcCountLock;
- PVOID MiniportIdField;
- W_ISR_HANDLER MiniportIsr;
- W_HANDLE_INTERRUPT_HANDLER MiniportDpc;
- KDPC InterruptDpc;
- PNDIS_MINIPORT_BLOCK Miniport;
- UCHAR DpcCount;
- BOOLEAN Filler1;
- KEVENT DpcsCompletedEvent;
- BOOLEAN SharedInterrupt;
- BOOLEAN IsrRequested;
-} NDIS_MINIPORT_INTERRUPT, *PNDIS_MINIPORT_INTERRUPT;
-
-typedef struct _NDIS_MINIPORT_TIMER {
- KTIMER Timer;
- KDPC Dpc;
- PNDIS_TIMER_FUNCTION MiniportTimerFunction;
- PVOID MiniportTimerContext;
- PNDIS_MINIPORT_BLOCK Miniport;
- struct _NDIS_MINIPORT_TIMER *NextDeferredTimer;
-} NDIS_MINIPORT_TIMER, *PNDIS_MINIPORT_TIMER;
-
-typedef struct _NDIS_INTERRUPT {
- PKINTERRUPT InterruptObject;
- KSPIN_LOCK DpcCountLock;
- PNDIS_INTERRUPT_SERVICE MacIsr;
- PNDIS_DEFERRED_PROCESSING MacDpc;
- KDPC InterruptDpc;
- PVOID InterruptContext;
- UCHAR DpcCount;
- BOOLEAN Removing;
- KEVENT DpcsCompletedEvent;
-} NDIS_INTERRUPT, *PNDIS_INTERRUPT;
-
-
-typedef struct _MAP_REGISTER_ENTRY {
- PVOID MapRegister;
- BOOLEAN WriteToDevice;
-} MAP_REGISTER_ENTRY, *PMAP_REGISTER_ENTRY;
-
-
-typedef enum _NDIS_WORK_ITEM_TYPE {
- NdisWorkItemRequest,
- NdisWorkItemSend,
- NdisWorkItemReturnPackets,
- NdisWorkItemResetRequested,
- NdisWorkItemResetInProgress,
- NdisWorkItemHalt,
- NdisWorkItemSendLoopback,
- NdisWorkItemMiniportCallback,
- NdisMaxWorkItems
-} NDIS_WORK_ITEM_TYPE, *PNDIS_WORK_ITEM_TYPE;
-
-#define NUMBER_OF_WORK_ITEM_TYPES NdisMaxWorkItems
-#define NUMBER_OF_SINGLE_WORK_ITEMS 6
-
-typedef struct _NDIS_MINIPORT_WORK_ITEM {
- SINGLE_LIST_ENTRY Link;
- NDIS_WORK_ITEM_TYPE WorkItemType;
- PVOID WorkItemContext;
-} NDIS_MINIPORT_WORK_ITEM, *PNDIS_MINIPORT_WORK_ITEM;
-
-
-typedef struct _NDIS_BIND_PATHS {
- UINT Number;
- NDIS_STRING Paths[1];
-} NDIS_BIND_PATHS, *PNDIS_BIND_PATHS;
-
-#define DECLARE_UNKNOWN_STRUCT(BaseName) \
- typedef struct _##BaseName BaseName, *P##BaseName;
-
-#define DECLARE_UNKNOWN_PROTOTYPE(Name) \
- typedef VOID (*(Name))(VOID);
-
-#define ETH_LENGTH_OF_ADDRESS 6
-
-DECLARE_UNKNOWN_STRUCT(ETH_BINDING_INFO)
-
-DECLARE_UNKNOWN_PROTOTYPE(ETH_ADDRESS_CHANGE)
-DECLARE_UNKNOWN_PROTOTYPE(ETH_FILTER_CHANGE)
-DECLARE_UNKNOWN_PROTOTYPE(ETH_DEFERRED_CLOSE)
-
-typedef struct _ETH_FILTER {
- PNDIS_SPIN_LOCK Lock;
- CHAR (*MCastAddressBuf)[ETH_LENGTH_OF_ADDRESS];
- struct _NDIS_MINIPORT_BLOCK *Miniport;
- UINT CombinedPacketFilter;
- PETH_BINDING_INFO OpenList;
- ETH_ADDRESS_CHANGE AddressChangeAction;
- ETH_FILTER_CHANGE FilterChangeAction;
- ETH_DEFERRED_CLOSE CloseAction;
- UINT MaxMulticastAddresses;
- UINT NumAddresses;
- UCHAR AdapterAddress[ETH_LENGTH_OF_ADDRESS];
- UINT OldCombinedPacketFilter;
- CHAR (*OldMCastAddressBuf)[ETH_LENGTH_OF_ADDRESS];
- UINT OldNumAddresses;
- PETH_BINDING_INFO DirectedList;
- PETH_BINDING_INFO BMList;
- PETH_BINDING_INFO MCastSet;
-#if defined(_NDIS_)
- UINT NumOpens;
- PVOID BindListLock;
-#endif
-} ETH_FILTER, *PETH_FILTER;
-
-typedef VOID DDKAPI
-(*ETH_RCV_COMPLETE_HANDLER)(
- IN PETH_FILTER Filter);
-
-typedef VOID DDKAPI
-(*ETH_RCV_INDICATE_HANDLER)(
- IN PETH_FILTER Filter,
- IN NDIS_HANDLE MacReceiveContext,
- IN PCHAR Address,
- IN PVOID HeaderBuffer,
- IN UINT HeaderBufferSize,
- IN PVOID LookaheadBuffer,
- IN UINT LookaheadBufferSize,
- IN UINT PacketSize);
-
-typedef VOID DDKAPI
-(*FDDI_RCV_COMPLETE_HANDLER)(
- IN PFDDI_FILTER Filter);
-
-typedef VOID DDKAPI
-(*FDDI_RCV_INDICATE_HANDLER)(
- IN PFDDI_FILTER Filter,
- IN NDIS_HANDLE MacReceiveContext,
- IN PCHAR Address,
- IN UINT AddressLength,
- IN PVOID HeaderBuffer,
- IN UINT HeaderBufferSize,
- IN PVOID LookaheadBuffer,
- IN UINT LookaheadBufferSize,
- IN UINT PacketSize);
-
-typedef VOID DDKAPI
-(*FILTER_PACKET_INDICATION_HANDLER)(
- IN NDIS_HANDLE Miniport,
- IN PPNDIS_PACKET PacketArray,
- IN UINT NumberOfPackets);
-
-typedef VOID DDKAPI
-(*TR_RCV_COMPLETE_HANDLER)(
- IN PTR_FILTER Filter);
-
-typedef VOID DDKAPI
-(*TR_RCV_INDICATE_HANDLER)(
- IN PTR_FILTER Filter,
- IN NDIS_HANDLE MacReceiveContext,
- IN PVOID HeaderBuffer,
- IN UINT HeaderBufferSize,
- IN PVOID LookaheadBuffer,
- IN UINT LookaheadBufferSize,
- IN UINT PacketSize);
-
-typedef VOID DDKAPI
-(*WAN_RCV_COMPLETE_HANDLER)(
- IN NDIS_HANDLE MiniportAdapterHandle,
- IN NDIS_HANDLE NdisLinkContext);
-
-typedef VOID DDKAPI
-(*WAN_RCV_HANDLER)(
- OUT PNDIS_STATUS Status,
- IN NDIS_HANDLE MiniportAdapterHandle,
- IN NDIS_HANDLE NdisLinkContext,
- IN PUCHAR Packet,
- IN ULONG PacketSize);
-
-typedef VOID DDKFASTAPI
-(*NDIS_M_DEQUEUE_WORK_ITEM)(
- IN PNDIS_MINIPORT_BLOCK Miniport,
- IN NDIS_WORK_ITEM_TYPE WorkItemType,
- OUT PVOID *WorkItemContext);
-
-typedef NDIS_STATUS DDKFASTAPI
-(*NDIS_M_QUEUE_NEW_WORK_ITEM)(
- IN PNDIS_MINIPORT_BLOCK Miniport,
- IN NDIS_WORK_ITEM_TYPE WorkItemType,
- IN PVOID WorkItemContext);
-
-typedef NDIS_STATUS DDKFASTAPI
-(*NDIS_M_QUEUE_WORK_ITEM)(
- IN PNDIS_MINIPORT_BLOCK Miniport,
- IN NDIS_WORK_ITEM_TYPE WorkItemType,
- IN PVOID WorkItemContext);
-
-typedef VOID DDKAPI
-(*NDIS_M_REQ_COMPLETE_HANDLER)(
- IN NDIS_HANDLE MiniportAdapterHandle,
- IN NDIS_STATUS Status);
-
-typedef VOID DDKAPI
-(*NDIS_M_RESET_COMPLETE_HANDLER)(
- IN NDIS_HANDLE MiniportAdapterHandle,
- IN NDIS_STATUS Status,
- IN BOOLEAN AddressingReset);
-
-typedef VOID DDKAPI
-(*NDIS_M_SEND_COMPLETE_HANDLER)(
- IN NDIS_HANDLE MiniportAdapterHandle,
- IN PNDIS_PACKET Packet,
- IN NDIS_STATUS Status);
-
-typedef VOID DDKAPI
-(*NDIS_M_SEND_RESOURCES_HANDLER)(
- IN NDIS_HANDLE MiniportAdapterHandle);
-
-typedef BOOLEAN DDKFASTAPI
-(*NDIS_M_START_SENDS)(
- IN PNDIS_MINIPORT_BLOCK Miniport);
-
-typedef VOID DDKAPI
-(*NDIS_M_STATUS_HANDLER)(
- IN NDIS_HANDLE MiniportHandle,
- IN NDIS_STATUS GeneralStatus,
- IN PVOID StatusBuffer,
- IN UINT StatusBufferSize);
-
-typedef VOID DDKAPI
-(*NDIS_M_STS_COMPLETE_HANDLER)(
- IN NDIS_HANDLE MiniportAdapterHandle);
-
-typedef VOID DDKAPI
-(*NDIS_M_TD_COMPLETE_HANDLER)(
- IN NDIS_HANDLE MiniportAdapterHandle,
- IN PNDIS_PACKET Packet,
- IN NDIS_STATUS Status,
- IN UINT BytesTransferred);
-
-typedef VOID (DDKAPI *NDIS_WM_SEND_COMPLETE_HANDLER)(
- IN NDIS_HANDLE MiniportAdapterHandle,
- IN PVOID Packet,
- IN NDIS_STATUS Status);
-
-
-#if ARCNET
-
-#define ARC_SEND_BUFFERS 8
-#define ARC_HEADER_SIZE 4
-
-typedef struct _NDIS_ARC_BUF {
- NDIS_HANDLE ArcnetBufferPool;
- PUCHAR ArcnetLookaheadBuffer;
- UINT NumFree;
- ARC_BUFFER_LIST ArcnetBuffers[ARC_SEND_BUFFERS];
-} NDIS_ARC_BUF, *PNDIS_ARC_BUF;
-
-#endif /* ARCNET */
-
-#define NDIS_MINIPORT_WORK_QUEUE_SIZE 10
-
-typedef struct _NDIS_LOG {
- PNDIS_MINIPORT_BLOCK Miniport;
- KSPIN_LOCK LogLock;
- PIRP Irp;
- UINT TotalSize;
- UINT CurrentSize;
- UINT InPtr;
- UINT OutPtr;
- UCHAR LogBuf[1];
-} NDIS_LOG, *PNDIS_LOG;
-
-typedef struct _FILTERDBS {
- _ANONYMOUS_UNION union {
- PETH_FILTER EthDB;
- PNULL_FILTER NullDB;
- } DUMMYUNIONNAME;
- PTR_FILTER TrDB;
- PFDDI_FILTER FddiDB;
-#if ARCNET
- PARC_FILTER ArcDB;
-#else /* !ARCNET */
- PVOID XXXDB;
-#endif /* !ARCNET */
-} FILTERDBS, *PFILTERDBS;
-
-
-struct _NDIS_MINIPORT_BLOCK {
- PVOID Signature;
- PNDIS_MINIPORT_BLOCK NextMiniport;
- PNDIS_M_DRIVER_BLOCK DriverHandle;
- NDIS_HANDLE MiniportAdapterContext;
- UNICODE_STRING MiniportName;
- PNDIS_BIND_PATHS BindPaths;
- NDIS_HANDLE OpenQueue;
- REFERENCE Ref;
- NDIS_HANDLE DeviceContext;
- UCHAR Padding1;
- UCHAR LockAcquired;
- UCHAR PmodeOpens;
- UCHAR AssignedProcessor;
- KSPIN_LOCK Lock;
- PNDIS_REQUEST MediaRequest;
- PNDIS_MINIPORT_INTERRUPT Interrupt;
- ULONG Flags;
- ULONG PnPFlags;
- LIST_ENTRY PacketList;
- PNDIS_PACKET FirstPendingPacket;
- PNDIS_PACKET ReturnPacketsQueue;
- ULONG RequestBuffer;
- PVOID SetMCastBuffer;
- PNDIS_MINIPORT_BLOCK PrimaryMiniport;
- PVOID WrapperContext;
- PVOID BusDataContext;
- ULONG PnPCapabilities;
- PCM_RESOURCE_LIST Resources;
- NDIS_TIMER WakeUpDpcTimer;
- UNICODE_STRING BaseName;
- UNICODE_STRING SymbolicLinkName;
- ULONG CheckForHangSeconds;
- USHORT CFHangTicks;
- USHORT CFHangCurrentTick;
- NDIS_STATUS ResetStatus;
- NDIS_HANDLE ResetOpen;
- FILTERDBS FilterDbs;
- FILTER_PACKET_INDICATION_HANDLER PacketIndicateHandler;
- NDIS_M_SEND_COMPLETE_HANDLER SendCompleteHandler;
- NDIS_M_SEND_RESOURCES_HANDLER SendResourcesHandler;
- NDIS_M_RESET_COMPLETE_HANDLER ResetCompleteHandler;
- NDIS_MEDIUM MediaType;
- ULONG BusNumber;
- NDIS_INTERFACE_TYPE BusType;
- NDIS_INTERFACE_TYPE AdapterType;
- PDEVICE_OBJECT DeviceObject;
- PDEVICE_OBJECT PhysicalDeviceObject;
- PDEVICE_OBJECT NextDeviceObject;
- PMAP_REGISTER_ENTRY MapRegisters;
- PNDIS_AF_LIST CallMgrAfList;
- PVOID MiniportThread;
- PVOID SetInfoBuf;
- USHORT SetInfoBufLen;
- USHORT MaxSendPackets;
- NDIS_STATUS FakeStatus;
- PVOID LockHandler;
- PUNICODE_STRING pAdapterInstanceName;
- PNDIS_MINIPORT_TIMER TimerQueue;
- UINT MacOptions;
- PNDIS_REQUEST PendingRequest;
- UINT MaximumLongAddresses;
- UINT MaximumShortAddresses;
- UINT CurrentLookahead;
- UINT MaximumLookahead;
- W_HANDLE_INTERRUPT_HANDLER HandleInterruptHandler;
- W_DISABLE_INTERRUPT_HANDLER DisableInterruptHandler;
- W_ENABLE_INTERRUPT_HANDLER EnableInterruptHandler;
- W_SEND_PACKETS_HANDLER SendPacketsHandler;
- NDIS_M_START_SENDS DeferredSendHandler;
- ETH_RCV_INDICATE_HANDLER EthRxIndicateHandler;
- TR_RCV_INDICATE_HANDLER TrRxIndicateHandler;
- FDDI_RCV_INDICATE_HANDLER FddiRxIndicateHandler;
- ETH_RCV_COMPLETE_HANDLER EthRxCompleteHandler;
- TR_RCV_COMPLETE_HANDLER TrRxCompleteHandler;
- FDDI_RCV_COMPLETE_HANDLER FddiRxCompleteHandler;
- NDIS_M_STATUS_HANDLER StatusHandler;
- NDIS_M_STS_COMPLETE_HANDLER StatusCompleteHandler;
- NDIS_M_TD_COMPLETE_HANDLER TDCompleteHandler;
- NDIS_M_REQ_COMPLETE_HANDLER QueryCompleteHandler;
- NDIS_M_REQ_COMPLETE_HANDLER SetCompleteHandler;
- NDIS_WM_SEND_COMPLETE_HANDLER WanSendCompleteHandler;
- WAN_RCV_HANDLER WanRcvHandler;
- WAN_RCV_COMPLETE_HANDLER WanRcvCompleteHandler;
-#if defined(_NDIS_)
- PNDIS_MINIPORT_BLOCK NextGlobalMiniport;
- SINGLE_LIST_ENTRY WorkQueue[NUMBER_OF_WORK_ITEM_TYPES];
- SINGLE_LIST_ENTRY SingleWorkItems[NUMBER_OF_SINGLE_WORK_ITEMS];
- UCHAR SendFlags;
- UCHAR TrResetRing;
- UCHAR ArcnetAddress;
- UCHAR XState;
- _ANONYMOUS_UNION union {
-#if ARCNET
- PNDIS_ARC_BUF ArcBuf;
-#endif
- PVOID BusInterface;
- } DUMMYUNIONNAME;
- PNDIS_LOG Log;
- ULONG SlotNumber;
- PCM_RESOURCE_LIST AllocatedResources;
- PCM_RESOURCE_LIST AllocatedResourcesTranslated;
- SINGLE_LIST_ENTRY PatternList;
- NDIS_PNP_CAPABILITIES PMCapabilities;
- DEVICE_CAPABILITIES DeviceCaps;
- ULONG WakeUpEnable;
- DEVICE_POWER_STATE CurrentDevicePowerState;
- PIRP pIrpWaitWake;
- SYSTEM_POWER_STATE WaitWakeSystemState;
- LARGE_INTEGER VcIndex;
- KSPIN_LOCK VcCountLock;
- LIST_ENTRY WmiEnabledVcs;
- PNDIS_GUID pNdisGuidMap;
- PNDIS_GUID pCustomGuidMap;
- USHORT VcCount;
- USHORT cNdisGuidMap;
- USHORT cCustomGuidMap;
- USHORT CurrentMapRegister;
- PKEVENT AllocationEvent;
- USHORT BaseMapRegistersNeeded;
- USHORT SGMapRegistersNeeded;
- ULONG MaximumPhysicalMapping;
- NDIS_TIMER MediaDisconnectTimer;
- USHORT MediaDisconnectTimeOut;
- USHORT InstanceNumber;
- NDIS_EVENT OpenReadyEvent;
- NDIS_PNP_DEVICE_STATE PnPDeviceState;
- NDIS_PNP_DEVICE_STATE OldPnPDeviceState;
- PGET_SET_DEVICE_DATA SetBusData;
- PGET_SET_DEVICE_DATA GetBusData;
- KDPC DeferredDpc;
-#if 0
- /* FIXME: */
- NDIS_STATS NdisStats;
-#else
- ULONG NdisStats;
-#endif
- PNDIS_PACKET IndicatedPacket[MAXIMUM_PROCESSORS];
- PKEVENT RemoveReadyEvent;
- PKEVENT AllOpensClosedEvent;
- PKEVENT AllRequestsCompletedEvent;
- ULONG InitTimeMs;
- NDIS_MINIPORT_WORK_ITEM WorkItemBuffer[NUMBER_OF_SINGLE_WORK_ITEMS];
- PDMA_ADAPTER SystemAdapterObject;
- ULONG DriverVerifyFlags;
- POID_LIST OidList;
- USHORT InternalResetCount;
- USHORT MiniportResetCount;
- USHORT MediaSenseConnectCount;
- USHORT MediaSenseDisconnectCount;
- PNDIS_PACKET *xPackets;
- ULONG UserModeOpenReferences;
- _ANONYMOUS_UNION union {
- PVOID SavedSendHandler;
- PVOID SavedWanSendHandler;
- } DUMMYUNIONNAME2;
- PVOID SavedSendPacketsHandler;
- PVOID SavedCancelSendPacketsHandler;
- W_SEND_PACKETS_HANDLER WSendPacketsHandler;
- ULONG MiniportAttributes;
- PDMA_ADAPTER SavedSystemAdapterObject;
- USHORT NumOpens;
- USHORT CFHangXTicks;
- ULONG RequestCount;
- ULONG IndicatedPacketsCount;
- ULONG PhysicalMediumType;
- PNDIS_REQUEST LastRequest;
- LONG DmaAdapterRefCount;
- PVOID FakeMac;
- ULONG LockDbg;
- ULONG LockDbgX;
- PVOID LockThread;
- ULONG InfoFlags;
- KSPIN_LOCK TimerQueueLock;
- PKEVENT ResetCompletedEvent;
- PKEVENT QueuedBindingCompletedEvent;
- PKEVENT DmaResourcesReleasedEvent;
- FILTER_PACKET_INDICATION_HANDLER SavedPacketIndicateHandler;
- ULONG RegisteredInterrupts;
- PNPAGED_LOOKASIDE_LIST SGListLookasideList;
- ULONG ScatterGatherListSize;
-#endif /* _NDIS_ */
-};
-
-
-/* Handler prototypes for NDIS_OPEN_BLOCK */
-
-typedef NDIS_STATUS (DDKAPI *WAN_SEND_HANDLER)(
- IN NDIS_HANDLE MacBindingHandle,
- IN NDIS_HANDLE LinkHandle,
- IN PVOID Packet);
-
-/* NDIS 4.0 extension */
-
-typedef VOID (DDKAPI *SEND_PACKETS_HANDLER)(
- IN NDIS_HANDLE MiniportAdapterContext,
- IN PPNDIS_PACKET PacketArray,
- IN UINT NumberOfPackets);
-
-
-typedef struct _NDIS_COMMON_OPEN_BLOCK {
- PVOID MacHandle;
- NDIS_HANDLE BindingHandle;
- PNDIS_MINIPORT_BLOCK MiniportHandle;
- PNDIS_PROTOCOL_BLOCK ProtocolHandle;
- NDIS_HANDLE ProtocolBindingContext;
- PNDIS_OPEN_BLOCK MiniportNextOpen;
- PNDIS_OPEN_BLOCK ProtocolNextOpen;
- NDIS_HANDLE MiniportAdapterContext;
- BOOLEAN Reserved1;
- BOOLEAN Reserved2;
- BOOLEAN Reserved3;
- BOOLEAN Reserved4;
- PNDIS_STRING BindDeviceName;
- KSPIN_LOCK Reserved5;
- PNDIS_STRING RootDeviceName;
- _ANONYMOUS_UNION union {
- SEND_HANDLER SendHandler;
- WAN_SEND_HANDLER WanSendHandler;
- } DUMMYUNIONNAME;
- TRANSFER_DATA_HANDLER TransferDataHandler;
- SEND_COMPLETE_HANDLER SendCompleteHandler;
- TRANSFER_DATA_COMPLETE_HANDLER TransferDataCompleteHandler;
- RECEIVE_HANDLER ReceiveHandler;
- RECEIVE_COMPLETE_HANDLER ReceiveCompleteHandler;
- WAN_RECEIVE_HANDLER WanReceiveHandler;
- REQUEST_COMPLETE_HANDLER RequestCompleteHandler;
- RECEIVE_PACKET_HANDLER ReceivePacketHandler;
- SEND_PACKETS_HANDLER SendPacketsHandler;
- RESET_HANDLER ResetHandler;
- REQUEST_HANDLER RequestHandler;
- RESET_COMPLETE_HANDLER ResetCompleteHandler;
- STATUS_HANDLER StatusHandler;
- STATUS_COMPLETE_HANDLER StatusCompleteHandler;
-#if defined(_NDIS_)
- ULONG Flags;
- ULONG References;
- KSPIN_LOCK SpinLock;
- NDIS_HANDLE FilterHandle;
- ULONG ProtocolOptions;
- USHORT CurrentLookahead;
- USHORT ConnectDampTicks;
- USHORT DisconnectDampTicks;
- W_SEND_HANDLER WSendHandler;
- W_TRANSFER_DATA_HANDLER WTransferDataHandler;
- W_SEND_PACKETS_HANDLER WSendPacketsHandler;
- W_CANCEL_SEND_PACKETS_HANDLER CancelSendPacketsHandler;
- ULONG WakeUpEnable;
- PKEVENT CloseCompleteEvent;
- QUEUED_CLOSE QC;
- ULONG AfReferences;
- PNDIS_OPEN_BLOCK NextGlobalOpen;
-#endif /* _NDIS_ */
-} NDIS_COMMON_OPEN_BLOCK;
-
-struct _NDIS_OPEN_BLOCK
-{
- NDIS_COMMON_OPEN_BLOCK NdisCommonOpenBlock;
-#if defined(_NDIS_)
- struct _NDIS_OPEN_CO
- {
- struct _NDIS_CO_AF_BLOCK * NextAf;
- W_CO_CREATE_VC_HANDLER MiniportCoCreateVcHandler;
- W_CO_REQUEST_HANDLER MiniportCoRequestHandler;
- CO_CREATE_VC_HANDLER CoCreateVcHandler;
- CO_DELETE_VC_HANDLER CoDeleteVcHandler;
- PVOID CmActivateVcCompleteHandler;
- PVOID CmDeactivateVcCompleteHandler;
- PVOID CoRequestCompleteHandler;
- LIST_ENTRY ActiveVcHead;
- LIST_ENTRY InactiveVcHead;
- LONG PendingAfNotifications;
- PKEVENT AfNotifyCompleteEvent;
- };
-#endif /* _NDIS_ */
-};
-
-
-
-/* Routines for NDIS miniport drivers */
-
-NDISAPI
-VOID
-DDKAPI
-NdisInitializeWrapper(
- OUT PNDIS_HANDLE NdisWrapperHandle,
- IN PVOID SystemSpecific1,
- IN PVOID SystemSpecific2,
- IN PVOID SystemSpecific3);
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisMAllocateMapRegisters(
- IN NDIS_HANDLE MiniportAdapterHandle,
- IN UINT DmaChannel,
- IN BOOLEAN Dma32BitAddresses,
- IN ULONG PhysicalMapRegistersNeeded,
- IN ULONG MaximumPhysicalMapping);
-
-/*
- * VOID
- * NdisMArcIndicateReceive(
- * IN NDIS_HANDLE MiniportAdapterHandle,
- * IN PUCHAR HeaderBuffer,
- * IN PUCHAR DataBuffer,
- * IN UINT Length);
- */
-#define NdisMArcIndicateReceive(MiniportAdapterHandle, \
- HeaderBuffer, \
- DataBuffer, \
- Length) \
-{ \
- ArcFilterDprIndicateReceive( \
- (((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->FilterDbs.ArcDB), \
- (HeaderBuffer), \
- (DataBuffer), \
- (Length)); \
-}
-
-/*
- * VOID
- * NdisMArcIndicateReceiveComplete(
- * IN NDIS_HANDLE MiniportAdapterHandle);
- */
-#define NdisMArcIndicateReceiveComplete(MiniportAdapterHandle) \
-{ \
- if (((PNDIS_MINIPORT_BLOCK)MiniportAdapterHandle)->EthDB) \
- { \
- NdisMEthIndicateReceiveComplete(_H); \
- } \
- \
- ArcFilterDprIndicateReceiveComplete( \
- ((PNDIS_MINIPORT_BLOCK)MiniportAdapterHandle)->ArcDB); \
-}
-
-NDISAPI
-VOID
-DDKAPI
-NdisMCloseLog(
- IN NDIS_HANDLE LogHandle);
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisMCreateLog(
- IN NDIS_HANDLE MiniportAdapterHandle,
- IN UINT Size,
- OUT PNDIS_HANDLE LogHandle);
-
-NDISAPI
-VOID
-DDKAPI
-NdisMDeregisterAdapterShutdownHandler(
- IN NDIS_HANDLE MiniportHandle);
-
-NDISAPI
-VOID
-DDKAPI
-NdisMDeregisterInterrupt(
- IN PNDIS_MINIPORT_INTERRUPT Interrupt);
-
-NDISAPI
-VOID
-DDKAPI
-NdisMDeregisterIoPortRange(
- IN NDIS_HANDLE MiniportAdapterHandle,
- IN UINT InitialPort,
- IN UINT NumberOfPorts,
- IN PVOID PortOffset);
-
-/*
- * VOID
- * NdisMEthIndicateReceive(
- * IN NDIS_HANDLE MiniportAdapterHandle,
- * IN NDIS_HANDLE MiniportReceiveContext,
- * IN PVOID HeaderBuffer,
- * IN UINT HeaderBufferSize,
- * IN PVOID LookaheadBuffer,
- * IN UINT LookaheadBufferSize,
- * IN UINT PacketSize);
- */
-#define NdisMEthIndicateReceive(MiniportAdapterHandle, \
- MiniportReceiveContext, \
- HeaderBuffer, \
- HeaderBufferSize, \
- LookaheadBuffer, \
- LookaheadBufferSize, \
- PacketSize) \
-{ \
- (*((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->EthRxIndicateHandler)( \
- (((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->FilterDbs.EthDB), \
- (MiniportReceiveContext), \
- (HeaderBuffer), \
- (HeaderBuffer), \
- (HeaderBufferSize), \
- (LookaheadBuffer), \
- (LookaheadBufferSize), \
- (PacketSize)); \
-}
-
-/*
- * VOID
- * NdisMEthIndicateReceiveComplete(
- * IN NDIS_HANDLE MiniportAdapterHandle);
- */
-#define NdisMEthIndicateReceiveComplete(MiniportAdapterHandle) \
-{ \
- (*((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->EthRxCompleteHandler)( \
- ((PNDIS_MINIPORT_BLOCK)MiniportAdapterHandle)->FilterDbs.EthDB); \
-}
-
-/*
- * VOID
- * NdisMFddiIndicateReceive(
- * IN NDIS_HANDLE MiniportAdapterHandle,
- * IN NDIS_HANDLE MiniportReceiveContext,
- * IN PVOID HeaderBuffer,
- * IN UINT HeaderBufferSize,
- * IN PVOID LookaheadBuffer,
- * IN UINT LookaheadBufferSize,
- * IN UINT PacketSize);
- */
-#define NdisMFddiIndicateReceive(MiniportAdapterHandle, \
- MiniportReceiveContext, \
- HeaderBuffer, \
- HeaderBufferSize, \
- LookaheadBuffer, \
- LookaheadBufferSize, \
- PacketSize) \
-{ \
- (*((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->FddiRxIndicateHandler)( \
- (((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->FilterDbs.FddiDB), \
- (MiniportReceiveContext), \
- (PUCHAR)(HeaderBuffer) + 1, \
- (((*(PUCHAR*)(HeaderBuffer)) & 0x40) ? \
- FDDI_LENGTH_OF_LONG_ADDRESS : \
- FDDI_LENGTH_OF_SHORT_ADDRESS), \
- (HeaderBuffer), \
- (HeaderBufferSize), \
- (LookaheadBuffer), \
- (LookaheadBufferSize), \
- (PacketSize)); \
-}
-
-
-
-/*
- * VOID
- * NdisMFddiIndicateReceiveComplete(
- * IN NDIS_HANDLE MiniportAdapterHandle);
- */
-#define NdisMFddiIndicateReceiveComplete(MiniportAdapterHandle) \
-{ \
- (*((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->FddiRxCompleteHandler)( \
- ((PNDIS_MINIPORT_BLOCK)MiniportAdapterHandle)->FilterDbs.FddiDB); \
-}
-
-NDISAPI
-VOID
-DDKAPI
-NdisMFlushLog(
- IN NDIS_HANDLE LogHandle);
-
-NDISAPI
-VOID
-DDKAPI
-NdisMFreeMapRegisters(
- IN NDIS_HANDLE MiniportAdapterHandle);
-
-/*
- * VOID
- * NdisMIndicateStatus(
- * IN NDIS_HANDLE MiniportAdapterHandle,
- * IN NDIS_STATUS GeneralStatus,
- * IN PVOID StatusBuffer,
- * IN UINT StatusBufferSize);
- */
-
-#define NdisMIndicateStatus(MiniportAdapterHandle, \
- GeneralStatus, StatusBuffer, StatusBufferSize) \
- (*((PNDIS_MINIPORT_BLOCK)(_M))->StatusHandler)( \
- MiniportAdapterHandle, GeneralStatus, StatusBuffer, StatusBufferSize)
-
-/*
- * VOID
- * NdisMIndicateStatusComplete(
- * IN NDIS_HANDLE MiniportAdapterHandle);
- */
-#define NdisMIndicateStatusComplete(MiniportAdapterHandle) \
- (*((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->StatusCompleteHandler)( \
- MiniportAdapterHandle)
-
-/*
- * VOID
- * NdisMInitializeWrapper(
- * OUT PNDIS_HANDLE NdisWrapperHandle,
- * IN PVOID SystemSpecific1,
- * IN PVOID SystemSpecific2,
- * IN PVOID SystemSpecific3);
- */
-#define NdisMInitializeWrapper(NdisWrapperHandle, \
- SystemSpecific1, \
- SystemSpecific2, \
- SystemSpecific3) \
- NdisInitializeWrapper((NdisWrapperHandle), \
- (SystemSpecific1), \
- (SystemSpecific2), \
- (SystemSpecific3))
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisMMapIoSpace(
- OUT PVOID *VirtualAddress,
- IN NDIS_HANDLE MiniportAdapterHandle,
- IN NDIS_PHYSICAL_ADDRESS PhysicalAddress,
- IN UINT Length);
-
-/*
- * VOID
- * NdisMQueryInformationComplete(
- * IN NDIS_HANDLE MiniportAdapterHandle,
- * IN NDIS_STATUS Status);
- */
-#define NdisMQueryInformationComplete(MiniportAdapterHandle, Status) \
- (*((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->QueryCompleteHandler)(MiniportAdapterHandle, Status)
-
-NDISAPI
-VOID
-DDKAPI
-NdisMRegisterAdapterShutdownHandler(
- IN NDIS_HANDLE MiniportHandle,
- IN PVOID ShutdownContext,
- IN ADAPTER_SHUTDOWN_HANDLER ShutdownHandler);
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisMRegisterInterrupt(
- OUT PNDIS_MINIPORT_INTERRUPT Interrupt,
- IN NDIS_HANDLE MiniportAdapterHandle,
- IN UINT InterruptVector,
- IN UINT InterruptLevel,
- IN BOOLEAN RequestIsr,
- IN BOOLEAN SharedInterrupt,
- IN NDIS_INTERRUPT_MODE InterruptMode);
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisMRegisterIoPortRange(
- OUT PVOID *PortOffset,
- IN NDIS_HANDLE MiniportAdapterHandle,
- IN UINT InitialPort,
- IN UINT NumberOfPorts);
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisMRegisterMiniport(
- IN NDIS_HANDLE NdisWrapperHandle,
- IN PNDIS_MINIPORT_CHARACTERISTICS MiniportCharacteristics,
- IN UINT CharacteristicsLength);
-
-
-#if !defined(_NDIS_)
-
-/*
- * VOID
- * NdisMResetComplete(
- * IN NDIS_HANDLE MiniportAdapterHandle,
- * IN NDIS_STATUS Status,
- * IN BOOLEAN AddressingReset);
- */
-#define NdisMResetComplete(MiniportAdapterHandle, \
- Status, \
- AddressingReset) \
-{ \
- (*((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->ResetCompleteHandler)( \
- MiniportAdapterHandle, Status, AddressingReset); \
-}
-
-/*
- * VOID
- * NdisMSendComplete(
- * IN NDIS_HANDLE MiniportAdapterHandle,
- * IN PNDIS_PACKET Packet,
- * IN NDIS_STATUS Status);
- */
-#define NdisMSendComplete(MiniportAdapterHandle, \
- Packet, \
- Status) \
-{ \
- (*((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->SendCompleteHandler)( \
- MiniportAdapterHandle, Packet, Status); \
-}
-
-/*
- * VOID
- * NdisMSendResourcesAvailable(
- * IN NDIS_HANDLE MiniportAdapterHandle);
- */
-#define NdisMSendResourcesAvailable(MiniportAdapterHandle) \
-{ \
- (*((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->SendResourcesHandler)( \
- MiniportAdapterHandle); \
-}
-
-/*
- * VOID
- * NdisMTransferDataComplete(
- * IN NDIS_HANDLE MiniportAdapterHandle,
- * IN PNDIS_PACKET Packet,
- * IN NDIS_STATUS Status,
- * IN UINT BytesTransferred);
- */
-#define NdisMTransferDataComplete(MiniportAdapterHandle, \
- Packet, \
- Status, \
- BytesTransferred) \
-{ \
- (*((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->TDCompleteHandler)( \
- MiniportAdapterHandle, Packet, Status, BytesTransferred) \
-}
-
-#endif /* !_NDIS_ */
-
-
-/*
- * VOID
- * NdisMSetAttributes(
- * IN NDIS_HANDLE MiniportAdapterHandle,
- * IN NDIS_HANDLE MiniportAdapterContext,
- * IN BOOLEAN BusMaster,
- * IN NDIS_INTERFACE_TYPE AdapterType);
- */
-#define NdisMSetAttributes(MiniportAdapterHandle, \
- MiniportAdapterContext, \
- BusMaster, \
- AdapterType) \
- NdisMSetAttributesEx(MiniportAdapterHandle, \
- MiniportAdapterContext, \
- 0, \
- (BusMaster) ? NDIS_ATTRIBUTE_BUS_MASTER : 0, \
- AdapterType)
-
-NDISAPI
-VOID
-DDKAPI
-NdisMSetAttributesEx(
- IN NDIS_HANDLE MiniportAdapterHandle,
- IN NDIS_HANDLE MiniportAdapterContext,
- IN UINT CheckForHangTimeInSeconds OPTIONAL,
- IN ULONG AttributeFlags,
- IN NDIS_INTERFACE_TYPE AdapterType);
-
-/*
- * VOID
- * NdisMSetInformationComplete(
- * IN NDIS_HANDLE MiniportAdapterHandle,
- * IN NDIS_STATUS Status);
- */
-#define NdisMSetInformationComplete(MiniportAdapterHandle, \
- Status) \
- (*((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->SetCompleteHandler)( \
- MiniportAdapterHandle, Status)
-
-NDISAPI
-VOID
-DDKAPI
-NdisMSleep(
- IN ULONG MicrosecondsToSleep);
-
-NDISAPI
-BOOLEAN
-DDKAPI
-NdisMSynchronizeWithInterrupt(
- IN PNDIS_MINIPORT_INTERRUPT Interrupt,
- IN PVOID SynchronizeFunction,
- IN PVOID SynchronizeContext);
-
-/*
- * VOID
- * NdisMTrIndicateReceive(
- * IN NDIS_HANDLE MiniportAdapterHandle,
- * IN NDIS_HANDLE MiniportReceiveContext,
- * IN PVOID HeaderBuffer,
- * IN UINT HeaderBufferSize,
- * IN PVOID LookaheadBuffer,
- * IN UINT LookaheadBufferSize,
- * IN UINT PacketSize);
- */
-#define NdisMTrIndicateReceive(MiniportAdapterHandle, \
- MiniportReceiveContext, \
- HeaderBuffer, \
- HeaderBufferSize, \
- LookaheadBuffer, \
- LookaheadBufferSize, \
- PacketSize) \
-{ \
- (*((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->TrRxIndicateHandler)( \
- (((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->FilterDbs.TrDB), \
- (MiniportReceiveContext), \
- (HeaderBuffer), \
- (HeaderBuffer), \
- (HeaderBufferSize), \
- (LookaheadBuffer), \
- (LookaheadBufferSize), \
- (PacketSize)); \
-}
-
-/*
- * VOID
- * NdisMTrIndicateReceiveComplete(
- * IN NDIS_HANDLE MiniportAdapterHandle);
- */
-#define NdisMTrIndicateReceiveComplete(MiniportAdapterHandle) \
-{ \
- (*((PNDIS_MINIPORT_BLOCK)(MiniportAdapterHandle))->TrRxCompleteHandler)( \
- ((PNDIS_MINIPORT_BLOCK)MiniportAdapterHandle)->FilterDbs.TrDB); \
-}
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisMWriteLogData(
- IN NDIS_HANDLE LogHandle,
- IN PVOID LogBuffer,
- IN UINT LogBufferSize);
-
-NDISAPI
-VOID
-DDKAPI
-NdisMQueryAdapterResources(
- OUT PNDIS_STATUS Status,
- IN NDIS_HANDLE WrapperConfigurationContext,
- OUT PNDIS_RESOURCE_LIST ResourceList,
- IN OUT PUINT BufferSize);
-
-NDISAPI
-VOID
-DDKAPI
-NdisTerminateWrapper(
- IN NDIS_HANDLE NdisWrapperHandle,
- IN PVOID SystemSpecific);
-
-NDISAPI
-VOID
-DDKAPI
-NdisMUnmapIoSpace(
- IN NDIS_HANDLE MiniportAdapterHandle,
- IN PVOID VirtualAddress,
- IN UINT Length);
-
-
-
-/* NDIS intermediate miniport structures */
-
-typedef VOID (DDKAPI *W_MINIPORT_CALLBACK)(
- IN NDIS_HANDLE MiniportAdapterContext,
- IN PVOID CallbackContext);
-
-
-
-/* Routines for intermediate miniport drivers */
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisIMDeInitializeDeviceInstance(
- IN NDIS_HANDLE NdisMiniportHandle);
-
-/*
- * NDIS_STATUS
- * NdisIMInitializeDeviceInstance(
- * IN NDIS_HANDLE DriverHandle,
- * IN PNDIS_STRING DeviceInstance);
- */
-#define NdisIMInitializeDeviceInstance(DriverHandle, DeviceInstance) \
- NdisIMInitializeDeviceInstanceEx(DriverHandle, DeviceInstance, NULL)
-
-NDISAPI
-NDIS_STATUS
-DDKAPI
-NdisIMRegisterLayeredMiniport(
- IN NDIS_HANDLE NdisWrapperHandle,
- IN PNDIS_MINIPORT_CHARACTERISTICS MiniportCharacteristics,
- IN UINT CharacteristicsLength,
- OUT PNDIS_HANDLE DriverHandle);
-
-
-/* Functions obsoleted by NDIS 5.0 */
-
-NDISAPI
-VOID
-DDKAPI
-NdisFreeDmaChannel(
- IN PNDIS_HANDLE NdisDmaHandle);
-
-NDISAPI
-VOID
-DDKAPI
-NdisSetupDmaTransfer(
- OUT PNDIS_STATUS Status,
- IN PNDIS_HANDLE NdisDmaHandle,
- IN PNDIS_BUFFER Buffer,
- IN ULONG Offset,
- IN ULONG Length,
- IN BOOLEAN WriteToDevice);
-
-NDISAPI
-NTSTATUS
-DDKAPI
-NdisUpcaseUnicodeString(
- OUT PUNICODE_STRING DestinationString,
- IN PUNICODE_STRING SourceString);
-
-
-/* Routines for NDIS protocol drivers */
-
-NDISAPI
-VOID
-DDKAPI
-NdisRequest(
- OUT PNDIS_STATUS Status,
- IN NDIS_HANDLE NdisBindingHandle,
- IN PNDIS_REQUEST NdisRequest);
-
-NDISAPI
-VOID
-DDKAPI
-NdisReset(
- OUT PNDIS_STATUS Status,
- IN NDIS_HANDLE NdisBindingHandle);
-
-NDISAPI
-VOID
-DDKAPI
-NdisSend(
- OUT PNDIS_STATUS Status,
- IN NDIS_HANDLE NdisBindingHandle,
- IN PNDIS_PACKET Packet);
-
-NDISAPI
-VOID
-DDKAPI
-NdisSendPackets(
- IN NDIS_HANDLE NdisBindingHandle,
- IN PPNDIS_PACKET PacketArray,
- IN UINT NumberOfPackets);
-
-NDISAPI
-VOID
-DDKAPI
-NdisTransferData(
- OUT PNDIS_STATUS Status,
- IN NDIS_HANDLE NdisBindingHandle,
- IN NDIS_HANDLE MacReceiveContext,
- IN UINT ByteOffset,
- IN UINT BytesToTransfer,
- IN OUT PNDIS_PACKET Packet,
- OUT PUINT BytesTransferred);
-
-NDISAPI
-VOID
-DDKAPI
-NdisCloseAdapter(
- OUT PNDIS_STATUS Status,
- IN NDIS_HANDLE NdisBindingHandle);
-
-NDISAPI
-VOID
-DDKAPI
-NdisCompleteBindAdapter(
- IN NDIS_HANDLE BindAdapterContext,
- IN NDIS_STATUS Status,
- IN NDIS_STATUS OpenStatus);
-
-NDISAPI
-VOID
-DDKAPI
-NdisCompleteUnbindAdapter(
- IN NDIS_HANDLE UnbindAdapterContext,
- IN NDIS_STATUS Status);
-
-NDISAPI
-VOID
-DDKAPI
-NdisDeregisterProtocol(
- OUT PNDIS_STATUS Status,
- IN NDIS_HANDLE NdisProtocolHandle);
-
-NDISAPI
-VOID
-DDKAPI
-NdisOpenAdapter(
- OUT PNDIS_STATUS Status,
- OUT PNDIS_STATUS OpenErrorStatus,
- OUT PNDIS_HANDLE NdisBindingHandle,
- OUT PUINT SelectedMediumIndex,
- IN PNDIS_MEDIUM MediumArray,
- IN UINT MediumArraySize,
- IN NDIS_HANDLE NdisProtocolHandle,
- IN NDIS_HANDLE ProtocolBindingContext,
- IN PNDIS_STRING AdapterName,
- IN UINT OpenOptions,
- IN PSTRING AddressingInformation);
-
-NDISAPI
-VOID
-DDKAPI
-NdisOpenProtocolConfiguration(
- OUT PNDIS_STATUS Status,
- OUT PNDIS_HANDLE ConfigurationHandle,
- IN PNDIS_STRING ProtocolSection);
-
-NDISAPI
-VOID
-DDKAPI
-NdisRegisterProtocol(
- OUT PNDIS_STATUS Status,
- OUT PNDIS_HANDLE NdisProtocolHandle,
- IN PNDIS_PROTOCOL_CHARACTERISTICS ProtocolCharacteristics,
- IN UINT CharacteristicsLength);
-
-/* Obsoleted in Windows XP */
-
-/* Prototypes for NDIS_MAC_CHARACTERISTICS */
-
-typedef NDIS_STATUS (*OPEN_ADAPTER_HANDLER)(
- OUT PNDIS_STATUS OpenErrorStatus,
- OUT NDIS_HANDLE *MacBindingHandle,
- OUT PUINT SelectedMediumIndex,
- IN PNDIS_MEDIUM MediumArray,
- IN UINT MediumArraySize,
- IN NDIS_HANDLE NdisBindingContext,
- IN NDIS_HANDLE MacAdapterContext,
- IN UINT OpenOptions,
- IN PSTRING AddressingInformation OPTIONAL);
-
-typedef NDIS_STATUS (DDKAPI *CLOSE_ADAPTER_HANDLER)(
- IN NDIS_HANDLE MacBindingHandle);
-
-typedef NDIS_STATUS (DDKAPI *WAN_TRANSFER_DATA_HANDLER)(
- VOID);
-
-typedef NDIS_STATUS (DDKAPI *QUERY_GLOBAL_STATISTICS_HANDLER)(
- IN NDIS_HANDLE MacAdapterContext,
- IN PNDIS_REQUEST NdisRequest);
-
-typedef VOID (DDKAPI *UNLOAD_MAC_HANDLER)(
- IN NDIS_HANDLE MacMacContext);
-
-typedef NDIS_STATUS (DDKAPI *ADD_ADAPTER_HANDLER)(
- IN NDIS_HANDLE MacMacContext,
- IN NDIS_HANDLE WrapperConfigurationContext,
- IN PNDIS_STRING AdapterName);
-
-typedef VOID (*REMOVE_ADAPTER_HANDLER)(
- IN NDIS_HANDLE MacAdapterContext);
-
-typedef struct _NDIS_MAC_CHARACTERISTICS {
- UCHAR MajorNdisVersion;
- UCHAR MinorNdisVersion;
- UINT Reserved;
- OPEN_ADAPTER_HANDLER OpenAdapterHandler;
- CLOSE_ADAPTER_HANDLER CloseAdapterHandler;
- SEND_HANDLER SendHandler;
- TRANSFER_DATA_HANDLER TransferDataHandler;
- RESET_HANDLER ResetHandler;
- REQUEST_HANDLER RequestHandler;
- QUERY_GLOBAL_STATISTICS_HANDLER QueryGlobalStatisticsHandler;
- UNLOAD_MAC_HANDLER UnloadMacHandler;
- ADD_ADAPTER_HANDLER AddAdapterHandler;
- REMOVE_ADAPTER_HANDLER RemoveAdapterHandler;
- NDIS_STRING Name;
-} NDIS_MAC_CHARACTERISTICS, *PNDIS_MAC_CHARACTERISTICS;
-
-typedef NDIS_MAC_CHARACTERISTICS NDIS_WAN_MAC_CHARACTERISTICS;
-typedef NDIS_WAN_MAC_CHARACTERISTICS *PNDIS_WAN_MAC_CHARACTERISTICS;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __NDIS_H */
-
-/* EOF */
diff --git a/winsup/w32api/include/ddk/ndisguid.h b/winsup/w32api/include/ddk/ndisguid.h
deleted file mode 100644
index 27b8777bf..000000000
--- a/winsup/w32api/include/ddk/ndisguid.h
+++ /dev/null
@@ -1,439 +0,0 @@
-/*
- * ndisguid.h
- *
- * GUIDs for NDIS drivers
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- * Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __NDISGUID_H
-#define __NDISGUID_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-DEFINE_GUID(GUID_NDIS_LAN_CLASS,
- 0xad498944, 0x762f, 0x11d0, 0x8d, 0xcb, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_ENUMERATE_ADAPTER,
- 0x981f2d7f, 0xb1f3, 0x11d0, 0x8d, 0xd7, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_ENUMERATE_VC,
- 0x981f2d82, 0xb1f3, 0x11d0, 0x8d, 0xd7, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_NOTIFY_ADAPTER_ARRIVAL,
- 0x981f2d81, 0xb1f3, 0x11d0, 0x8d, 0xd7, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_NOTIFY_ADAPTER_REMOVAL,
- 0x981f2d80, 0xb1f3, 0x11d0, 0x8d, 0xd7, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_NOTIFY_VC_ARRIVAL,
- 0x182f9e0c, 0xb1f3, 0x11d0, 0x8d, 0xd7, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_NOTIFY_VC_REMOVAL,
- 0x981f2d79, 0xb1f3, 0x11d0, 0x8d, 0xd7, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_NOTIFY_BIND,
- 0x5413531c, 0xb1f3, 0x11d0, 0x8d, 0xd7, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_NOTIFY_UNBIND,
- 0x6e3ce1ec, 0xb1f3, 0x11d0, 0x8d, 0xd7, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_WAKE_ON_MAGIC_PACKET_ONLY,
- 0xa14f1c97, 0x8839, 0x4f8a, 0x99, 0x96, 0xa2, 0x89, 0x96, 0xeb, 0xbf, 0x1d);
-
-
-DEFINE_GUID(GUID_NDIS_802_3_CURRENT_ADDRESS,
- 0x44795700, 0xa61b, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_802_3_MAC_OPTIONS,
- 0x44795703, 0xa61b, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_802_3_MAXIMUM_LIST_SIZE,
- 0x44795702, 0xa61b, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_802_3_MULTICAST_LIST,
- 0x44795701, 0xa61b, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_802_3_PERMANENT_ADDRESS,
- 0x447956ff, 0xa61b, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_802_3_RCV_ERROR_ALIGNMENT,
- 0x44795704, 0xa61b, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_802_3_XMIT_MORE_COLLISIONS,
- 0x44795706, 0xa61b, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_802_3_XMIT_ONE_COLLISION,
- 0x44795705, 0xa61b, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_802_5_CURRENT_ADDRESS,
- 0x44795708, 0xa61b, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_802_5_CURRENT_FUNCTIONAL,
- 0x44795709, 0xa61b, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_802_5_CURRENT_GROUP,
- 0x4479570a, 0xa61b, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_802_5_CURRENT_RING_STATE,
- 0xacf14032, 0xa61c, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_802_5_CURRENT_RING_STATUS,
- 0x890a36ec, 0xa61c, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_802_5_LAST_OPEN_STATUS,
- 0x4479570b, 0xa61b, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_802_5_PERMANENT_ADDRESS,
- 0x44795707, 0xa61b, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_802_5_LINE_ERRORS,
- 0xacf14033, 0xa61c, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_802_5_LOST_FRAMES,
- 0xacf14034, 0xa61c, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-
-DEFINE_GUID(GUID_NDIS_802_11_ADD_WEP,
- 0x4307bff0, 0x2129, 0x11d4, 0x97, 0xeb, 0x00, 0xc0, 0x4f, 0x79, 0xc4, 0x03);
-
-DEFINE_GUID(GUID_NDIS_802_11_AUTHENTICATION_MODE,
- 0x43920a24, 0x2129, 0x11d4, 0x97, 0xeb, 0x00, 0xc0, 0x4f, 0x79, 0xc4, 0x03);
-
-DEFINE_GUID(GUID_NDIS_802_11_BSSID,
- 0x2504b6c2, 0x1fa5, 0x11d4, 0x97, 0xeb, 0x00, 0xc0, 0x4f, 0x79, 0xc4, 0x03);
-
-DEFINE_GUID(GUID_NDIS_802_11_BSSID_LIST,
- 0x69526f9a, 0x2062, 0x11d4, 0x97, 0xeb, 0x00, 0xc0, 0x4f, 0x79, 0xc4, 0x03);
-
-DEFINE_GUID(GUID_NDIS_802_11_BASIC_RATES,
- 0x4a198516, 0x2068, 0x11d4, 0x97, 0xeb, 0x00, 0xc0, 0x4f, 0x79, 0xc4, 0x03);
-
-DEFINE_GUID(GUID_NDIS_802_11_CONFIGURATION,
- 0x4a4df982, 0x2068, 0x11d4, 0x97, 0xeb, 0x00, 0xc0, 0x4f, 0x79, 0xc4, 0x03);
-
-DEFINE_GUID(GUID_NDIS_802_11_DESIRED_RATES,
- 0x452ee08e, 0x2536, 0x11d4, 0x97, 0xeb, 0x00, 0xc0, 0x4f, 0x79, 0xc4, 0x03);
-
-DEFINE_GUID(GUID_NDIS_802_11_DISASSOCIATE,
- 0x43671f40, 0x2129, 0x11d4, 0x97, 0xeb, 0x00, 0xc0, 0x4f, 0x79, 0xc4, 0x03);
-
-DEFINE_GUID(GUID_NDIS_802_11_FRAGMENTATION_THRESHOLD,
- 0x69aaa7c4, 0x2062, 0x11d4, 0x97, 0xeb, 0x00, 0xc0, 0x4f, 0x79, 0xc4, 0x03);
-
-DEFINE_GUID(GUID_NDIS_802_11_INFRASTRUCTURE_MODE,
- 0x697d5a7e, 0x2062, 0x11d4, 0x97, 0xeb, 0x00, 0xc0, 0x4f, 0x79, 0xc4, 0x03);
-
-DEFINE_GUID(GUID_NDIS_802_11_NETWORK_TYPES_SUPPORTED,
- 0x8531d6e6, 0x2041, 0x11d4, 0x97, 0xeb, 0x00, 0xc0, 0x4f, 0x79, 0xc4, 0x03);
-
-DEFINE_GUID(GUID_NDIS_802_11_NETWORK_TYPE_IN_USE,
- 0x857e2326, 0x2041, 0x11d4, 0x97, 0xeb, 0x00, 0xc0, 0x4f, 0x79, 0xc4, 0x03);
-
-DEFINE_GUID(GUID_NDIS_802_11_NUMBER_OF_ANTENNAS,
- 0x01779336, 0x2064, 0x11d4, 0x97, 0xeb, 0x00, 0xc0, 0x4f, 0x79, 0xc4, 0x03);
-
-DEFINE_GUID(GUID_NDIS_802_11_POWER_MODE,
- 0x85be837c, 0x2041, 0x11d4, 0x97, 0xeb, 0x00, 0xc0, 0x4f, 0x79, 0xc4, 0x03);
-
-DEFINE_GUID(GUID_NDIS_802_11_RATES_SUPPORTED,
- 0x49db8722, 0x2068, 0x11d4, 0x97, 0xeb, 0x00, 0xc0, 0x4f, 0x79, 0xc4, 0x03);
-
-DEFINE_GUID(GUID_NDIS_802_11_REMOVE_WEP,
- 0x433c345c, 0x2129, 0x11d4, 0x97, 0xeb, 0x00, 0xc0, 0x4f, 0x79, 0xc4, 0x03);
-
-DEFINE_GUID(GUID_NDIS_802_11_PRIVACY_FILTER,
- 0x6733c4e9, 0x4792, 0x11d4, 0x97, 0xf1, 0x00, 0xc0, 0x4f, 0x79, 0xc4, 0x03);
-
-DEFINE_GUID(GUID_NDIS_802_11_RSSI,
- 0x1507db16, 0x2053, 0x11d4, 0x97, 0xeb, 0x00, 0xc0, 0x4f, 0x79, 0xc4, 0x03);
-
-DEFINE_GUID(GUID_NDIS_802_11_RSSI_TRIGGER,
- 0x155689b8, 0x2053, 0x11d4, 0x97, 0xeb, 0x00, 0xc0, 0x4f, 0x79, 0xc4, 0x03);
-
-DEFINE_GUID(GUID_NDIS_802_11_RTS_THRESHOLD,
- 0x0134d07e, 0x2064, 0x11d4, 0x97, 0xeb, 0x00, 0xc0, 0x4f, 0x79, 0xc4, 0x03);
-
-DEFINE_GUID(GUID_NDIS_802_11_RX_ANTENNA_SELECTED,
- 0x01ac07a2, 0x2064, 0x11d4, 0x97, 0xeb, 0x00, 0xc0, 0x4f, 0x79, 0xc4, 0x03);
-
-DEFINE_GUID(GUID_NDIS_802_11_SSID,
- 0x7d2a90ea, 0x2041, 0x11d4, 0x97, 0xeb, 0x00, 0xc0, 0x4f, 0x79, 0xc4, 0x03);
-
-DEFINE_GUID(GUID_NDIS_802_11_STATISTICS,
- 0x42bb73b0, 0x2129, 0x11d4, 0x97, 0xeb, 0x00, 0xc0, 0x4f, 0x79, 0xc4, 0x03);
-
-DEFINE_GUID(GUID_NDIS_802_11_TX_POWER_LEVEL,
- 0x11e6ba76, 0x2053, 0x11d4, 0x97, 0xeb, 0x00, 0xc0, 0x4f, 0x79, 0xc4, 0x03);
-
-DEFINE_GUID(GUID_NDIS_802_11_TX_ANTENNA_SELECTED,
- 0x01dbb74a, 0x2064, 0x11d4, 0x97, 0xeb, 0x00, 0xc0, 0x4f, 0x79, 0xc4, 0x03);
-
-
-DEFINE_GUID(GUID_NDIS_ATM_HW_CURRENT_ADDRESS,
- 0x791ad1a1, 0xe35c, 0x11d0, 0x96, 0x92, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_ATM_MAX_AAL0_PACKET_SIZE,
- 0x791ad1a5, 0xe35c, 0x11d0, 0x96, 0x92, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_ATM_MAX_AAL1_PACKET_SIZE,
- 0x791ad1a6, 0xe35c, 0x11d0, 0x96, 0x92, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_ATM_MAX_AAL34_PACKET_SIZE,
- 0x791ad1a7, 0xe35c, 0x11d0, 0x96, 0x92, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_ATM_MAX_AAL5_PACKET_SIZE,
- 0x791ad191, 0xe35c, 0x11d0, 0x96, 0x92, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_ATM_MAX_ACTIVE_VCI_BITS,
- 0x791ad1a3, 0xe35c, 0x11d0, 0x96, 0x92, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_ATM_MAX_ACTIVE_VCS,
- 0x791ad1a2, 0xe35c, 0x11d0, 0x96, 0x92, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_ATM_MAX_ACTIVE_VPI_BITS,
- 0x791ad1a4, 0xe35c, 0x11d0, 0x96, 0x92, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_ATM_SUPPORTED_AAL_TYPES,
- 0x791ad1a0, 0xe35c, 0x11d0, 0x96, 0x92, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_ATM_SUPPORTED_SERVICE_CATEGORY,
- 0x791ad19f, 0xe35c, 0x11d0, 0x96, 0x92, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_ATM_SUPPORTED_VC_RATES,
- 0x791ad19e, 0xe35c, 0x11d0, 0x96, 0x92, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-
-DEFINE_GUID(GUID_NDIS_ATM_RCV_CELLS_DROPPED,
- 0x0a21480c, 0xe35f, 0x11d0, 0x96, 0x92, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_ATM_RCV_CELLS_OK,
- 0x0a21480a, 0xe35f, 0x11d0, 0x96, 0x92, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_ATM_XMIT_CELLS_OK,
- 0x0a21480b, 0xe35f, 0x11d0, 0x96, 0x92, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-
-DEFINE_GUID(GUID_NDIS_FDDI_LONG_CURRENT_ADDR,
- 0xacf14036, 0xa61c, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_FDDI_LONG_MAX_LIST_SIZE,
- 0xacf14038, 0xa61c, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_FDDI_LONG_MULTICAST_LIST,
- 0xacf14037, 0xa61c, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_FDDI_LONG_PERMANENT_ADDR,
- 0xacf14035, 0xa61c, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_FDDI_SHORT_CURRENT_ADDR,
- 0xacf1403a, 0xa61c, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_FDDI_SHORT_MAX_LIST_SIZE,
- 0xacf1403c, 0xa61c, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_FDDI_SHORT_MULTICAST_LIST,
- 0xacf1403b, 0xa61c, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_FDDI_SHORT_PERMANENT_ADDR,
- 0xacf14039, 0xa61c, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-
-DEFINE_GUID(GUID_NDIS_FDDI_ATTACHMENT_TYPE,
- 0xacf1403d, 0xa61c, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_FDDI_DOWNSTREAM_NODE_LONG,
- 0xacf1403f, 0xa61c, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_FDDI_FRAME_ERRORS,
- 0xacf14040, 0xa61c, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_FDDI_FRAMES_LOST,
- 0xacf14041, 0xa61c, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_FDDI_LCT_FAILURES,
- 0xacf14043, 0xa61c, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_FDDI_LCONNECTION_STATE,
- 0xacf14045, 0xa61c, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_FDDI_LEM_REJECTS,
- 0xacf14044, 0xa61c, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_FDDI_RING_MGT_STATE,
- 0xacf14042, 0xa61c, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_FDDI_UPSTREAM_NODE_LONG,
- 0xacf1403e, 0xa61c, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-
-DEFINE_GUID(GUID_NDIS_GEN_CURRENT_LOOKAHEAD,
- 0x5ec10361, 0xa61a, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_GEN_CURRENT_PACKET_FILTER,
- 0x5ec10360, 0xa61a, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_GEN_DRIVER_VERSION,
- 0x5ec10362, 0xa61a, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_GEN_HARDWARE_STATUS,
- 0x5ec10354, 0xa61a, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_GEN_MEDIA_IN_USE,
- 0x5ec10356, 0xa61a, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_GEN_MEDIA_SUPPORTED,
- 0x5ec10355, 0xa61a, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_GEN_LINK_SPEED,
- 0x5ec10359, 0xa61a, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_GEN_MAC_OPTIONS,
- 0x5ec10365, 0xa61a, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_GEN_MAXIMUM_LOOKAHEAD,
- 0x5ec10357, 0xa61a, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_GEN_MAXIMUM_FRAME_SIZE,
- 0x5ec10358, 0xa61a, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_GEN_MAXIMUM_SEND_PACKETS,
- 0x5ec10367, 0xa61a, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_GEN_MAXIMUM_TOTAL_SIZE,
- 0x5ec10363, 0xa61a, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_GEN_MEDIA_CONNECT_STATUS,
- 0x5ec10366, 0xa61a, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_GEN_RECEIVE_BLOCK_SIZE,
- 0x5ec1035d, 0xa61a, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_GEN_RECEIVE_BUFFER_SPACE,
- 0x5ec1035b, 0xa61a, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_GEN_TRANSMIT_BUFFER_SPACE,
- 0x5ec1035a, 0xa61a, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_GEN_TRANSMIT_BLOCK_SIZE,
- 0x5ec1035c, 0xa61a, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_GEN_VENDOR_DESCRIPTION,
- 0x5ec1035f, 0xa61a, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_GEN_VENDOR_DRIVER_VERSION,
- 0x447956f9, 0xa61b, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_GEN_VENDOR_ID,
- 0x5ec1035e, 0xa61a, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-
-DEFINE_GUID(GUID_NDIS_GEN_RCV_ERROR,
- 0x447956fd, 0xa61b, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_GEN_RCV_NO_BUFFER,
- 0x447956fe, 0xa61b, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_GEN_RCV_OK,
- 0x447956fb, 0xa61b, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_GEN_XMIT_ERROR,
- 0x447956fc, 0xa61b, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_GEN_XMIT_OK,
- 0x447956fa, 0xa61b, 0x11d0, 0x8d, 0xd4, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-
-DEFINE_GUID(GUID_NDIS_GEN_CO_DRIVER_VERSION,
- 0x791ad198, 0xe35c, 0x11d0, 0x96, 0x92, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_GEN_CO_HARDWARE_STATUS,
- 0x791ad192, 0xe35c, 0x11d0, 0x96, 0x92, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_GEN_CO_LINK_SPEED,
- 0x791ad195, 0xe35c, 0x11d0, 0x96, 0x92, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_GEN_CO_MAC_OPTIONS,
- 0x791ad19a, 0xe35c, 0x11d0, 0x96, 0x92, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_GEN_CO_MEDIA_SUPPORTED,
- 0x791ad193, 0xe35c, 0x11d0, 0x96, 0x92, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_GEN_CO_MEDIA_IN_USE,
- 0x791ad194, 0xe35c, 0x11d0, 0x96, 0x92, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_GEN_CO_MEDIA_CONNECT_STATUS,
- 0x791ad19b, 0xe35c, 0x11d0, 0x96, 0x92, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_GEN_CO_MINIMUM_LINK_SPEED,
- 0x791ad19d, 0xe35c, 0x11d0, 0x96, 0x92, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_GEN_CO_VENDOR_DESCRIPTION,
- 0x791ad197, 0xe35c, 0x11d0, 0x96, 0x92, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_GEN_CO_VENDOR_DRIVER_VERSION,
- 0x791ad19c, 0xe35c, 0x11d0, 0x96, 0x92, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_GEN_CO_VENDOR_ID,
- 0x791ad196, 0xe35c, 0x11d0, 0x96, 0x92, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-
-DEFINE_GUID(GUID_NDIS_GEN_CO_RCV_PDUS_ERROR,
- 0x0a214808, 0xe35f, 0x11d0, 0x96, 0x92, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_GEN_CO_RCV_PDUS_OK,
- 0x0a214806, 0xe35f, 0x11d0, 0x96, 0x92, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_GEN_CO_RCV_PDUS_NO_BUFFER,
- 0x0a214809, 0xe35f, 0x11d0, 0x96, 0x92, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_GEN_CO_XMIT_PDUS_ERROR,
- 0x0a214807, 0xe35f, 0x11d0, 0x96, 0x92, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_GEN_CO_XMIT_PDUS_OK,
- 0x0a214805, 0xe35f, 0x11d0, 0x96, 0x92, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-
-DEFINE_GUID(GUID_NDIS_STATUS_LINK_SPEED_CHANGE,
- 0x981f2d85, 0xb1f3, 0x11d0, 0x8d, 0xd7, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_STATUS_MEDIA_CONNECT,
- 0x981f2d7d, 0xb1f3, 0x11d0, 0x8d, 0xd7, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_STATUS_MEDIA_DISCONNECT,
- 0x981f2d7e, 0xb1f3, 0x11d0, 0x8d, 0xd7, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_STATUS_MEDIA_SPECIFIC_INDICATION,
- 0x981f2d84, 0xb1f3, 0x11d0, 0x8d, 0xd7, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_STATUS_RESET_END,
- 0x981f2d77, 0xb1f3, 0x11d0, 0x8d, 0xd7, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-DEFINE_GUID(GUID_NDIS_STATUS_RESET_START,
- 0x981f2d76, 0xb1f3, 0x11d0, 0x8d, 0xd7, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __NDISGUID_H */
diff --git a/winsup/w32api/include/ddk/ndistapi.h b/winsup/w32api/include/ddk/ndistapi.h
deleted file mode 100644
index 97bd442bd..000000000
--- a/winsup/w32api/include/ddk/ndistapi.h
+++ /dev/null
@@ -1,1308 +0,0 @@
-/*
- * ndistapi.h
- *
- * NDIS Telephony API
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- * Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __NDISTAPI_H
-#define __NDISTAPI_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ndis.h"
-
-#ifndef NDIS_TAPI_CURRENT_VERSION
-#define NDIS_TAPI_CURRENT_VERSION 0x00010003
-#endif
-
-typedef ULONG_PTR HTAPI_LINE;
-typedef ULONG_PTR HDRV_LINE;
-typedef ULONG_PTR HTAPI_CALL;
-typedef ULONG_PTR HDRV_CALL;
-
-#define NDIS_STATUS_TAPI_ADDRESSBLOCKED ((NDIS_STATUS)0xC0012000L)
-#define NDIS_STATUS_TAPI_BEARERMODEUNAVAIL ((NDIS_STATUS)0xC0012001L)
-#define NDIS_STATUS_TAPI_CALLUNAVAIL ((NDIS_STATUS)0xC0012002L)
-#define NDIS_STATUS_TAPI_DIALBILLING ((NDIS_STATUS)0xC0012003L)
-#define NDIS_STATUS_TAPI_DIALDIALTONE ((NDIS_STATUS)0xC0012004L)
-#define NDIS_STATUS_TAPI_DIALPROMPT ((NDIS_STATUS)0xC0012005L)
-#define NDIS_STATUS_TAPI_DIALQUIET ((NDIS_STATUS)0xC0012006L)
-#define NDIS_STATUS_TAPI_INCOMPATIBLEEXTVERSION ((NDIS_STATUS)0xC0012007L)
-#define NDIS_STATUS_TAPI_INUSE ((NDIS_STATUS)0xC0012008L)
-#define NDIS_STATUS_TAPI_INVALADDRESS ((NDIS_STATUS)0xC0012009L)
-#define NDIS_STATUS_TAPI_INVALADDRESSID ((NDIS_STATUS)0xC001200AL)
-#define NDIS_STATUS_TAPI_INVALADDRESSMODE ((NDIS_STATUS)0xC001200BL)
-#define NDIS_STATUS_TAPI_INVALBEARERMODE ((NDIS_STATUS)0xC001200CL)
-#define NDIS_STATUS_TAPI_INVALCALLHANDLE ((NDIS_STATUS)0xC001200DL)
-#define NDIS_STATUS_TAPI_INVALCALLPARAMS ((NDIS_STATUS)0xC001200EL)
-#define NDIS_STATUS_TAPI_INVALCALLSTATE ((NDIS_STATUS)0xC001200FL)
-#define NDIS_STATUS_TAPI_INVALDEVICECLASS ((NDIS_STATUS)0xC0012010L)
-#define NDIS_STATUS_TAPI_INVALLINEHANDLE ((NDIS_STATUS)0xC0012011L)
-#define NDIS_STATUS_TAPI_INVALLINESTATE ((NDIS_STATUS)0xC0012012L)
-#define NDIS_STATUS_TAPI_INVALMEDIAMODE ((NDIS_STATUS)0xC0012013L)
-#define NDIS_STATUS_TAPI_INVALRATE ((NDIS_STATUS)0xC0012014L)
-#define NDIS_STATUS_TAPI_NODRIVER ((NDIS_STATUS)0xC0012015L)
-#define NDIS_STATUS_TAPI_OPERATIONUNAVAIL ((NDIS_STATUS)0xC0012016L)
-#define NDIS_STATUS_TAPI_RATEUNAVAIL ((NDIS_STATUS)0xC0012017L)
-#define NDIS_STATUS_TAPI_RESOURCEUNAVAIL ((NDIS_STATUS)0xC0012018L)
-#define NDIS_STATUS_TAPI_STRUCTURETOOSMALL ((NDIS_STATUS)0xC0012019L)
-#define NDIS_STATUS_TAPI_USERUSERINFOTOOBIG ((NDIS_STATUS)0xC001201AL)
-#define NDIS_STATUS_TAPI_ALLOCATED ((NDIS_STATUS)0xC001201BL)
-#define NDIS_STATUS_TAPI_INVALADDRESSSTATE ((NDIS_STATUS)0xC001201CL)
-#define NDIS_STATUS_TAPI_INVALPARAM ((NDIS_STATUS)0xC001201DL)
-#define NDIS_STATUS_TAPI_NODEVICE ((NDIS_STATUS)0xC001201EL)
-#define NDIS_STATUS_TAPI_DISCONNECTMODE_NORMAL ((NDIS_STATUS)0xC0012020L)
-#define NDIS_STATUS_TAPI_DISCONNECTMODE_UNKNOWN ((NDIS_STATUS)0xC0012021L)
-#define NDIS_STATUS_TAPI_DISCONNECTMODE_REJECT ((NDIS_STATUS)0xC0012022L)
-#define NDIS_STATUS_TAPI_DISCONNECTMODE_PICKUP ((NDIS_STATUS)0xC0012023L)
-#define NDIS_STATUS_TAPI_DISCONNECTMODE_FORWARDED ((NDIS_STATUS)0xC0012024L)
-#define NDIS_STATUS_TAPI_DISCONNECTMODE_BUSY ((NDIS_STATUS)0xC0012025L)
-#define NDIS_STATUS_TAPI_DISCONNECTMODE_NOANSWER ((NDIS_STATUS)0xC0012026L)
-#define NDIS_STATUS_TAPI_DISCONNECTMODE_BADADDRESS ((NDIS_STATUS)0xC0012027L)
-#define NDIS_STATUS_TAPI_DISCONNECTMODE_UNREACHABLE ((NDIS_STATUS)0xC0012028L)
-#define NDIS_STATUS_TAPI_DISCONNECTMODE_CONGESTION ((NDIS_STATUS)0xC0012029L)
-#define NDIS_STATUS_TAPI_DISCONNECTMODE_INCOMPATIBLE ((NDIS_STATUS)0xC001202AL)
-#define NDIS_STATUS_TAPI_DISCONNECTMODE_UNAVAIL ((NDIS_STATUS)0xC001202BL)
-#define NDIS_STATUS_TAPI_RECV_DIGIT ((NDIS_STATUS)0x40010020L)
-
-#define LINE_ADDRESSSTATE 0L
-#define LINE_CALLINFO 1L
-#define LINE_CALLSTATE 2L
-#define LINE_CLOSE 3L
-#define LINE_DEVSPECIFIC 4L
-#define LINE_DEVSPECIFICFEATURE 5L
-#define LINE_GATHERDIGITS 6L
-#define LINE_GENERATE 7L
-#define LINE_LINEDEVSTATE 8L
-#define LINE_MONITORDIGITS 9L
-#define LINE_MONITORMEDIA 10L
-#define LINE_MONITORTONE 11L
-#define LINE_REPLY 12L
-#define LINE_REQUEST 13L
-#define LINE_CREATE 19L
-#if (NDIS_TAPI_CURRENT_VERSION >= 0x00020000)
-#define LINE_AGENTSPECIFIC 21L
-#define LINE_AGENTSTATUS 22L
-#define LINE_APPNEWCALL 23L
-#define LINE_PROXYREQUEST 24L
-#define LINE_REMOVE 25L
-#endif
-#if (NDIS_TAPI_CURRENT_VERSION >= 0x00020002)
-#define LINE_AGENTSESSIONSTATUS 27L
-#define LINE_QUEUESTATUS 28L
-#define LINE_AGENTSTATUSEX 29L
-#define LINE_GROUPSTATUS 30L
-#define LINE_PROXYSTATUS 31L
-#endif
-#if (TAPI_CURRENT_VERSION >= 0x00030000)
-#define LINE_APPNEWCALLHUB 32L
-#define LINE_CALLHUBCLOSE 33L
-#define LINE_DEVSPECIFICEX 34L
-#endif
-
-#define TSPI_MESSAGE_BASE 500L
-#define LINE_NEWCALL TSPI_MESSAGE_BASE
-#define LINE_CALLDEVSPECIFIC (TSPI_MESSAGE_BASE + 1L)
-#define STRINGFORMAT_ASCII 0x00000001
-#define STRINGFORMAT_DBCS 0x00000002
-#define STRINGFORMAT_UNICODE 0x00000003
-#define STRINGFORMAT_BINARY 0x00000004
-
-#define LINEADDRCAPFLAGS_FWDNUMRINGS 0x00000001
-#define LINEADDRCAPFLAGS_PICKUPGROUPID 0x00000002
-#define LINEADDRCAPFLAGS_SECURE 0x00000004
-#define LINEADDRCAPFLAGS_BLOCKIDDEFAULT 0x00000008
-#define LINEADDRCAPFLAGS_BLOCKIDOVERRIDE 0x00000010
-#define LINEADDRCAPFLAGS_DIALED 0x00000020
-#define LINEADDRCAPFLAGS_ORIGOFFHOOK 0x00000040
-#define LINEADDRCAPFLAGS_DESTOFFHOOK 0x00000080
-#define LINEADDRCAPFLAGS_FWDCONSULT 0x00000100
-#define LINEADDRCAPFLAGS_SETUPCONFNULL 0x00000200
-#define LINEADDRCAPFLAGS_AUTORECONNECT 0x00000400
-#define LINEADDRCAPFLAGS_COMPLETIONID 0x00000800
-#define LINEADDRCAPFLAGS_TRANSFERHELD 0x00001000
-#define LINEADDRCAPFLAGS_TRANSFERMAKE 0x00002000
-#define LINEADDRCAPFLAGS_CONFERENCEHELD 0x00004000
-#define LINEADDRCAPFLAGS_CONFERENCEMAKE 0x00008000
-#define LINEADDRCAPFLAGS_PARTIALDIAL 0x00010000
-#define LINEADDRCAPFLAGS_FWDSTATUSVALID 0x00020000
-#define LINEADDRCAPFLAGS_FWDINTEXTADDR 0x00040000
-#define LINEADDRCAPFLAGS_FWDBUSYNAADDR 0x00080000
-#define LINEADDRCAPFLAGS_ACCEPTTOALERT 0x00100000
-#define LINEADDRCAPFLAGS_CONFDROP 0x00200000
-#define LINEADDRCAPFLAGS_PICKUPCALLWAIT 0x00400000
-#if (NDIS_TAPI_CURRENT_VERSION >= 0x00020000)
-#define LINEADDRCAPFLAGS_PREDICTIVEDIALER 0x00800000
-#define LINEADDRCAPFLAGS_QUEUE 0x01000000
-#define LINEADDRCAPFLAGS_ROUTEPOINT 0x02000000
-#define LINEADDRCAPFLAGS_HOLDMAKESNEW 0x04000000
-#define LINEADDRCAPFLAGS_NOINTERNALCALLS 0x08000000
-#define LINEADDRCAPFLAGS_NOEXTERNALCALLS 0x10000000
-#define LINEADDRCAPFLAGS_SETCALLINGID 0x20000000
-#endif
-#if (NDIS_TAPI_CURRENT_VERSION >= 0x00030000)
-#define LINEADDRCAPFLAGS_ACDGROUP 0x40000000
-#define LINEADDRCAPFLAGS_NOPSTNADDRESSTRANSLATION \
- 0x80000000
-#endif
-
-#define LINEADDRESSMODE_ADDRESSID 0x00000001
-#define LINEADDRESSMODE_DIALABLEADDR 0x00000002
-#define LINEADDRESSSHARING_PRIVATE 0x00000001
-#define LINEADDRESSSHARING_BRIDGEDEXCL 0x00000002
-#define LINEADDRESSSHARING_BRIDGEDNEW 0x00000004
-#define LINEADDRESSSHARING_BRIDGEDSHARED 0x00000008
-#define LINEADDRESSSHARING_MONITORED 0x00000010
-#define LINEADDRESSSTATE_OTHER 0x00000001
-#define LINEADDRESSSTATE_DEVSPECIFIC 0x00000002
-#define LINEADDRESSSTATE_INUSEZERO 0x00000004
-#define LINEADDRESSSTATE_INUSEONE 0x00000008
-#define LINEADDRESSSTATE_INUSEMANY 0x00000010
-#define LINEADDRESSSTATE_NUMCALLS 0x00000020
-#define LINEADDRESSSTATE_FORWARD 0x00000040
-#define LINEADDRESSSTATE_TERMINALS 0x00000080
-
-#if (NDIS_TAPI_CURRENT_VERSION >= 0x00030000)
-#define LINEADDRESSTYPE_PHONENUMBER 0x00000001
-#define LINEADDRESSTYPE_SDP 0x00000002
-#define LINEADDRESSTYPE_EMAILNAME 0x00000004
-#define LINEADDRESSTYPE_DOMAINNAME 0x00000008
-#define LINEADDRESSTYPE_IPADDRESS 0x00000010
-#endif
-
-#define LINEADDRFEATURE_FORWARD 0x00000001
-#define LINEADDRFEATURE_MAKECALL 0x00000002
-#define LINEADDRFEATURE_PICKUP 0x00000004
-#define LINEADDRFEATURE_SETMEDIACONTROL 0x00000008
-#define LINEADDRFEATURE_SETTERMINAL 0x00000010
-#define LINEADDRFEATURE_SETUPCONF 0x00000020
-#define LINEADDRFEATURE_UNCOMPLETECALL 0x00000040
-#define LINEADDRFEATURE_UNPARK 0x00000080
-#if (NDIS_TAPI_CURRENT_VERSION >= 0x00020000)
-#define LINEADDRFEATURE_PICKUPHELD 0x00000100
-#define LINEADDRFEATURE_PICKUPGROUP 0x00000200
-#define LINEADDRFEATURE_PICKUPDIRECT 0x00000400
-#define LINEADDRFEATURE_PICKUPWAITING 0x00000800
-#define LINEADDRFEATURE_FORWARDFWD 0x00001000
-#define LINEADDRFEATURE_FORWARDDND 0x00002000
-#endif
-
-#define LINEANSWERMODE_NONE 0x00000001
-#define LINEANSWERMODE_DROP 0x00000002
-#define LINEANSWERMODE_HOLD 0x00000004
-
-#define LINEBEARERMODE_VOICE 0x00000001
-#define LINEBEARERMODE_SPEECH 0x00000002
-#define LINEBEARERMODE_MULTIUSE 0x00000004
-#define LINEBEARERMODE_DATA 0x00000008
-#define LINEBEARERMODE_ALTSPEECHDATA 0x00000010
-#define LINEBEARERMODE_NONCALLSIGNALING 0x00000020
-#define LINEBEARERMODE_PASSTHROUGH 0x00000040
-#if (NDIS_TAPI_CURRENT_VERSION >= 0x00020000)
-#define LINEBEARERMODE_RESTRICTEDDATA 0x00000080
-#endif
-
-#define LINEBUSYMODE_STATION 0x00000001
-#define LINEBUSYMODE_TRUNK 0x00000002
-#define LINEBUSYMODE_UNKNOWN 0x00000004
-#define LINEBUSYMODE_UNAVAIL 0x00000008
-
-#define LINECALLCOMPLCOND_BUSY 0x00000001
-#define LINECALLCOMPLCOND_NOANSWER 0x00000002
-
-#define LINECALLCOMPLMODE_CAMPON 0x00000001
-#define LINECALLCOMPLMODE_CALLBACK 0x00000002
-#define LINECALLCOMPLMODE_INTRUDE 0x00000004
-#define LINECALLCOMPLMODE_MESSAGE 0x00000008
-
-#define LINECALLFEATURE_ACCEPT 0x00000001
-#define LINECALLFEATURE_ADDTOCONF 0x00000002
-#define LINECALLFEATURE_ANSWER 0x00000004
-#define LINECALLFEATURE_BLINDTRANSFER 0x00000008
-#define LINECALLFEATURE_COMPLETECALL 0x00000010
-#define LINECALLFEATURE_COMPLETETRANSF 0x00000020
-#define LINECALLFEATURE_DIAL 0x00000040
-#define LINECALLFEATURE_DROP 0x00000080
-#define LINECALLFEATURE_GATHERDIGITS 0x00000100
-#define LINECALLFEATURE_GENERATEDIGITS 0x00000200
-#define LINECALLFEATURE_GENERATETONE 0x00000400
-#define LINECALLFEATURE_HOLD 0x00000800
-#define LINECALLFEATURE_MONITORDIGITS 0x00001000
-#define LINECALLFEATURE_MONITORMEDIA 0x00002000
-#define LINECALLFEATURE_MONITORTONES 0x00004000
-#define LINECALLFEATURE_PARK 0x00008000
-#define LINECALLFEATURE_PREPAREADDCONF 0x00010000
-#define LINECALLFEATURE_REDIRECT 0x00020000
-#define LINECALLFEATURE_REMOVEFROMCONF 0x00040000
-#define LINECALLFEATURE_SECURECALL 0x00080000
-#define LINECALLFEATURE_SENDUSERUSER 0x00100000
-#define LINECALLFEATURE_SETCALLPARAMS 0x00200000
-#define LINECALLFEATURE_SETMEDIACONTROL 0x00400000
-#define LINECALLFEATURE_SETTERMINAL 0x00800000
-#define LINECALLFEATURE_SETUPCONF 0x01000000
-#define LINECALLFEATURE_SETUPTRANSFER 0x02000000
-#define LINECALLFEATURE_SWAPHOLD 0x04000000
-#define LINECALLFEATURE_UNHOLD 0x08000000
-#define LINECALLFEATURE_RELEASEUSERUSERINFO \
- 0x10000000
-#if (NDIS_TAPI_CURRENT_VERSION >= 0x00020000)
-#define LINECALLFEATURE_SETTREATMENT 0x20000000
-#define LINECALLFEATURE_SETQOS 0x40000000
-#define LINECALLFEATURE_SETCALLDATA 0x80000000
-#endif
-
-#define LINECALLINFOSTATE_OTHER 0x00000001
-#define LINECALLINFOSTATE_DEVSPECIFIC 0x00000002
-#define LINECALLINFOSTATE_BEARERMODE 0x00000004
-#define LINECALLINFOSTATE_RATE 0x00000008
-#define LINECALLINFOSTATE_MEDIAMODE 0x00000010
-#define LINECALLINFOSTATE_APPSPECIFIC 0x00000020
-#define LINECALLINFOSTATE_CALLID 0x00000040
-#define LINECALLINFOSTATE_RELATEDCALLID 0x00000080
-#define LINECALLINFOSTATE_ORIGIN 0x00000100
-#define LINECALLINFOSTATE_REASON 0x00000200
-#define LINECALLINFOSTATE_COMPLETIONID 0x00000400
-#define LINECALLINFOSTATE_NUMOWNERINCR 0x00000800
-#define LINECALLINFOSTATE_NUMOWNERDECR 0x00001000
-#define LINECALLINFOSTATE_NUMMONITORS 0x00002000
-#define LINECALLINFOSTATE_TRUNK 0x00004000
-#define LINECALLINFOSTATE_CALLERID 0x00008000
-#define LINECALLINFOSTATE_CALLEDID 0x00010000
-#define LINECALLINFOSTATE_CONNECTEDID 0x00020000
-#define LINECALLINFOSTATE_REDIRECTIONID 0x00040000
-#define LINECALLINFOSTATE_REDIRECTINGID 0x00080000
-#define LINECALLINFOSTATE_DISPLAY 0x00100000
-#define LINECALLINFOSTATE_USERUSERINFO 0x00200000
-#define LINECALLINFOSTATE_HIGHLEVELCOMP 0x00400000
-#define LINECALLINFOSTATE_LOWLEVELCOMP 0x00800000
-#define LINECALLINFOSTATE_CHARGINGINFO 0x01000000
-#define LINECALLINFOSTATE_TERMINAL 0x02000000
-#define LINECALLINFOSTATE_DIALPARAMS 0x04000000
-#define LINECALLINFOSTATE_MONITORMODES 0x08000000
-#if (NDIS_TAPI_CURRENT_VERSION >= 0x00020000)
-#define LINECALLINFOSTATE_TREATMENT 0x10000000
-#define LINECALLINFOSTATE_QOS 0x20000000
-#define LINECALLINFOSTATE_CALLDATA 0x40000000
-#endif
-
-#define LINECALLORIGIN_OUTBOUND 0x00000001
-#define LINECALLORIGIN_INTERNAL 0x00000002
-#define LINECALLORIGIN_EXTERNAL 0x00000004
-#define LINECALLORIGIN_UNKNOWN 0x00000010
-#define LINECALLORIGIN_UNAVAIL 0x00000020
-#define LINECALLORIGIN_CONFERENCE 0x00000040
-#define LINECALLORIGIN_INBOUND 0x00000080
-
-#define LINECALLPARAMFLAGS_SECURE 0x00000001
-#define LINECALLPARAMFLAGS_IDLE 0x00000002
-#define LINECALLPARAMFLAGS_BLOCKID 0x00000004
-#define LINECALLPARAMFLAGS_ORIGOFFHOOK 0x00000008
-#define LINECALLPARAMFLAGS_DESTOFFHOOK 0x00000010
-#if (NDIS_TAPI_CURRENT_VERSION >= 0x00020000)
-#define LINECALLPARAMFLAGS_NOHOLDCONFERENCE \
- 0x00000020
-#define LINECALLPARAMFLAGS_PREDICTIVEDIAL 0x00000040
-#define LINECALLPARAMFLAGS_ONESTEPTRANSFER \
- 0x00000080
-#endif
-
-#define LINECALLPARTYID_BLOCKED 0x00000001
-#define LINECALLPARTYID_OUTOFAREA 0x00000002
-#define LINECALLPARTYID_NAME 0x00000004
-#define LINECALLPARTYID_ADDRESS 0x00000008
-#define LINECALLPARTYID_PARTIAL 0x00000010
-#define LINECALLPARTYID_UNKNOWN 0x00000020
-#define LINECALLPARTYID_UNAVAIL 0x00000040
-
-#define LINECALLPRIVILEGE_NONE 0x00000001
-#define LINECALLPRIVILEGE_MONITOR 0x00000002
-#define LINECALLPRIVILEGE_OWNER 0x00000004
-
-#define LINECALLREASON_DIRECT 0x00000001
-#define LINECALLREASON_FWDBUSY 0x00000002
-#define LINECALLREASON_FWDNOANSWER 0x00000004
-#define LINECALLREASON_FWDUNCOND 0x00000008
-#define LINECALLREASON_PICKUP 0x00000010
-#define LINECALLREASON_UNPARK 0x00000020
-#define LINECALLREASON_REDIRECT 0x00000040
-#define LINECALLREASON_CALLCOMPLETION 0x00000080
-#define LINECALLREASON_TRANSFER 0x00000100
-#define LINECALLREASON_REMINDER 0x00000200
-#define LINECALLREASON_UNKNOWN 0x00000400
-#define LINECALLREASON_UNAVAIL 0x00000800
-#define LINECALLREASON_INTRUDE 0x00001000
-#define LINECALLREASON_PARKED 0x00002000
-#if (NDIS_TAPI_CURRENT_VERSION >= 0x00020000)
-#define LINECALLREASON_CAMPEDON 0x00004000
-#define LINECALLREASON_ROUTEREQUEST 0x00008000
-#endif
-
-#define LINECALLSELECT_LINE 0x00000001
-#define LINECALLSELECT_ADDRESS 0x00000002
-#define LINECALLSELECT_CALL 0x00000004
-#if (NDIS_TAPI_CURRENT_VERSION > 0x00020000)
-#define LINECALLSELECT_DEVICEID 0x00000008
-#endif
-#if (NDIS_TAPI_CURRENT_VERSION >= 0x00030000)
-#define LINECALLSELECT_CALLID 0x00000010
-#endif
-
-#define LINECALLSTATE_IDLE 0x00000001
-#define LINECALLSTATE_OFFERING 0x00000002
-#define LINECALLSTATE_ACCEPTED 0x00000004
-#define LINECALLSTATE_DIALTONE 0x00000008
-#define LINECALLSTATE_DIALING 0x00000010
-#define LINECALLSTATE_RINGBACK 0x00000020
-#define LINECALLSTATE_BUSY 0x00000040
-#define LINECALLSTATE_SPECIALINFO 0x00000080
-#define LINECALLSTATE_CONNECTED 0x00000100
-#define LINECALLSTATE_PROCEEDING 0x00000200
-#define LINECALLSTATE_ONHOLD 0x00000400
-#define LINECALLSTATE_CONFERENCED 0x00000800
-#define LINECALLSTATE_ONHOLDPENDCONF 0x00001000
-#define LINECALLSTATE_ONHOLDPENDTRANSFER 0x00002000
-#define LINECALLSTATE_DISCONNECTED 0x00004000
-#define LINECALLSTATE_UNKNOWN 0x00008000
-
-#define LINEDEVCAPFLAGS_CROSSADDRCONF 0x00000001
-#define LINEDEVCAPFLAGS_HIGHLEVCOMP 0x00000002
-#define LINEDEVCAPFLAGS_LOWLEVCOMP 0x00000004
-#define LINEDEVCAPFLAGS_MEDIACONTROL 0x00000008
-#define LINEDEVCAPFLAGS_MULTIPLEADDR 0x00000010
-#define LINEDEVCAPFLAGS_CLOSEDROP 0x00000020
-#define LINEDEVCAPFLAGS_DIALBILLING 0x00000040
-#define LINEDEVCAPFLAGS_DIALQUIET 0x00000080
-#define LINEDEVCAPFLAGS_DIALDIALTONE 0x00000100
-#if (NDIS_TAPI_CURRENT_VERSION >= 0x00030000)
-#define LINEDEVCAPFLAGS_MSP 0x00000200
-#define LINEDEVCAPFLAGS_CALLHUB 0x00000400
-#define LINEDEVCAPFLAGS_CALLHUBTRACKING 0x00000800
-#define LINEDEVCAPFLAGS_PRIVATEOBJECTS 0x00001000
-#endif
-
-#define LINEDEVSTATE_OTHER 0x00000001
-#define LINEDEVSTATE_RINGING 0x00000002
-#define LINEDEVSTATE_CONNECTED 0x00000004
-#define LINEDEVSTATE_DISCONNECTED 0x00000008
-#define LINEDEVSTATE_MSGWAITON 0x00000010
-#define LINEDEVSTATE_MSGWAITOFF 0x00000020
-#define LINEDEVSTATE_INSERVICE 0x00000040
-#define LINEDEVSTATE_OUTOFSERVICE 0x00000080
-#define LINEDEVSTATE_MAINTENANCE 0x00000100
-#define LINEDEVSTATE_OPEN 0x00000200
-#define LINEDEVSTATE_CLOSE 0x00000400
-#define LINEDEVSTATE_NUMCALLS 0x00000800
-#define LINEDEVSTATE_NUMCOMPLETIONS 0x00001000
-#define LINEDEVSTATE_TERMINALS 0x00002000
-#define LINEDEVSTATE_ROAMMODE 0x00004000
-#define LINEDEVSTATE_BATTERY 0x00008000
-#define LINEDEVSTATE_SIGNAL 0x00010000
-#define LINEDEVSTATE_DEVSPECIFIC 0x00020000
-#define LINEDEVSTATE_REINIT 0x00040000
-#define LINEDEVSTATE_LOCK 0x00080000
-
-#define LINEDEVSTATUSFLAGS_CONNECTED 0x00000001
-#define LINEDEVSTATUSFLAGS_MSGWAIT 0x00000002
-#define LINEDEVSTATUSFLAGS_INSERVICE 0x00000004
-#define LINEDEVSTATUSFLAGS_LOCKED 0x00000008
-
-#define LINEDIALTONEMODE_NORMAL 0x00000001
-#define LINEDIALTONEMODE_SPECIAL 0x00000002
-#define LINEDIALTONEMODE_INTERNAL 0x00000004
-#define LINEDIALTONEMODE_EXTERNAL 0x00000008
-#define LINEDIALTONEMODE_UNKNOWN 0x00000010
-#define LINEDIALTONEMODE_UNAVAIL 0x00000020
-
-#define LINEDIGITMODE_PULSE 0x00000001
-#define LINEDIGITMODE_DTMF 0x00000002
-#define LINEDIGITMODE_DTMFEND 0x00000004
-
-#define LINEDISCONNECTMODE_NORMAL 0x00000001
-#define LINEDISCONNECTMODE_UNKNOWN 0x00000002
-#define LINEDISCONNECTMODE_REJECT 0x00000004
-#define LINEDISCONNECTMODE_PICKUP 0x00000008
-#define LINEDISCONNECTMODE_FORWARDED 0x00000010
-#define LINEDISCONNECTMODE_BUSY 0x00000020
-#define LINEDISCONNECTMODE_NOANSWER 0x00000040
-#define LINEDISCONNECTMODE_BADADDRESS 0x00000080
-#define LINEDISCONNECTMODE_UNREACHABLE 0x00000100
-#define LINEDISCONNECTMODE_CONGESTION 0x00000200
-#define LINEDISCONNECTMODE_INCOMPATIBLE 0x00000400
-#define LINEDISCONNECTMODE_UNAVAIL 0x00000800
-#define LINEDISCONNECTMODE_NODIALTONE 0x00001000
-#if (NDIS_TAPI_CURRENT_VERSION >= 0x00020000)
-#define LINEDISCONNECTMODE_NUMBERCHANGED 0x00002000
-#define LINEDISCONNECTMODE_OUTOFORDER 0x00004000
-#define LINEDISCONNECTMODE_TEMPFAILURE 0x00008000
-#define LINEDISCONNECTMODE_QOSUNAVAIL 0x00010000
-#define LINEDISCONNECTMODE_BLOCKED 0x00020000
-#define LINEDISCONNECTMODE_DONOTDISTURB 0x00040000
-#define LINEDISCONNECTMODE_CANCELLED 0x00080000
-#endif
-
-#define LINEFEATURE_DEVSPECIFIC 0x00000001
-#define LINEFEATURE_DEVSPECIFICFEAT 0x00000002
-#define LINEFEATURE_FORWARD 0x00000004
-#define LINEFEATURE_MAKECALL 0x00000008
-#define LINEFEATURE_SETMEDIACONTROL 0x00000010
-#define LINEFEATURE_SETTERMINAL 0x00000020
-#if (NDIS_TAPI_CURRENT_VERSION >= 0x00020000)
-#define LINEFEATURE_SETDEVSTATUS 0x00000040
-#define LINEFEATURE_FORWARDFWD 0x00000080
-#define LINEFEATURE_FORWARDDND 0x00000100
-#endif
-
-#define LINEFORWARDMODE_UNCOND 0x00000001
-#define LINEFORWARDMODE_UNCONDINTERNAL 0x00000002
-#define LINEFORWARDMODE_UNCONDEXTERNAL 0x00000004
-#define LINEFORWARDMODE_UNCONDSPECIFIC 0x00000008
-#define LINEFORWARDMODE_BUSY 0x00000010
-#define LINEFORWARDMODE_BUSYINTERNAL 0x00000020
-#define LINEFORWARDMODE_BUSYEXTERNAL 0x00000040
-#define LINEFORWARDMODE_BUSYSPECIFIC 0x00000080
-#define LINEFORWARDMODE_NOANSW 0x00000100
-#define LINEFORWARDMODE_NOANSWINTERNAL 0x00000200
-#define LINEFORWARDMODE_NOANSWEXTERNAL 0x00000400
-#define LINEFORWARDMODE_NOANSWSPECIFIC 0x00000800
-#define LINEFORWARDMODE_BUSYNA 0x00001000
-#define LINEFORWARDMODE_BUSYNAINTERNAL 0x00002000
-#define LINEFORWARDMODE_BUSYNAEXTERNAL 0x00004000
-#define LINEFORWARDMODE_BUSYNASPECIFIC 0x00008000
-
-#define LINEGATHERTERM_BUFFERFULL 0x00000001
-#define LINEGATHERTERM_TERMDIGIT 0x00000002
-#define LINEGATHERTERM_FIRSTTIMEOUT 0x00000004
-#define LINEGATHERTERM_INTERTIMEOUT 0x00000008
-#define LINEGATHERTERM_CANCEL 0x00000010
-
-#define LINEGENERATETERM_DONE 0x00000001
-#define LINEGENERATETERM_CANCEL 0x00000002
-
-#define LINEMEDIACONTROL_NONE 0x00000001
-#define LINEMEDIACONTROL_START 0x00000002
-#define LINEMEDIACONTROL_RESET 0x00000004
-#define LINEMEDIACONTROL_PAUSE 0x00000008
-#define LINEMEDIACONTROL_RESUME 0x00000010
-#define LINEMEDIACONTROL_RATEUP 0x00000020
-#define LINEMEDIACONTROL_RATEDOWN 0x00000040
-#define LINEMEDIACONTROL_RATENORMAL 0x00000080
-#define LINEMEDIACONTROL_VOLUMEUP 0x00000100
-#define LINEMEDIACONTROL_VOLUMEDOWN 0x00000200
-#define LINEMEDIACONTROL_VOLUMENORMAL 0x00000400
-
-#define LINEMEDIAMODE_UNKNOWN 0x00000002
-#define LINEMEDIAMODE_INTERACTIVEVOICE 0x00000004
-#define LINEMEDIAMODE_AUTOMATEDVOICE 0x00000008
-#define LINEMEDIAMODE_DATAMODEM 0x00000010
-#define LINEMEDIAMODE_G3FAX 0x00000020
-#define LINEMEDIAMODE_TDD 0x00000040
-#define LINEMEDIAMODE_G4FAX 0x00000080
-#define LINEMEDIAMODE_DIGITALDATA 0x00000100
-#define LINEMEDIAMODE_TELETEX 0x00000200
-#define LINEMEDIAMODE_VIDEOTEX 0x00000400
-#define LINEMEDIAMODE_TELEX 0x00000800
-#define LINEMEDIAMODE_MIXED 0x00001000
-#define LINEMEDIAMODE_ADSI 0x00002000
-
-#define LINEMEDIAMODE_VOICEVIEW 0x00004000
-#define LAST_LINEMEDIAMODE 0x00004000
-#if (NDIS_TAPI_CURRENT_VERSION >= 0x00020001)
-#define LINEMEDIAMODE_VIDEO 0x00008000
-#define LAST_LINEMEDIAMODE 0x00008000
-#endif
-
-#define LINEPARKMODE_DIRECTED 0x00000001
-#define LINEPARKMODE_NONDIRECTED 0x00000002
-
-#define LINEREMOVEFROMCONF_NONE 0x00000001
-#define LINEREMOVEFROMCONF_LAST 0x00000002
-#define LINEREMOVEFROMCONF_ANY 0x00000003
-
-#define LINEREQUESTMODE_MAKECALL 0x00000001
-#define LINEREQUESTMODE_MEDIACALL 0x00000002
-#define LINEREQUESTMODE_DROP 0x00000004
-
-#define LAST_LINEREQUESTMODE LINEREQUESTMODE_MEDIACALL
-
-#define LINEROAMMODE_UNKNOWN 0x00000001
-#define LINEROAMMODE_UNAVAIL 0x00000002
-#define LINEROAMMODE_HOME 0x00000004
-#define LINEROAMMODE_ROAMA 0x00000008
-#define LINEROAMMODE_ROAMB 0x00000010
-
-#define LINESPECIALINFO_NOCIRCUIT 0x00000001
-#define LINESPECIALINFO_CUSTIRREG 0x00000002
-#define LINESPECIALINFO_REORDER 0x00000004
-#define LINESPECIALINFO_UNKNOWN 0x00000008
-#define LINESPECIALINFO_UNAVAIL 0x00000010
-
-#define LINETERMDEV_PHONE 0x00000001
-#define LINETERMDEV_HEADSET 0x00000002
-#define LINETERMDEV_SPEAKER 0x00000004
-
-#define LINETERMMODE_BUTTONS 0x00000001
-#define LINETERMMODE_LAMPS 0x00000002
-#define LINETERMMODE_DISPLAY 0x00000004
-#define LINETERMMODE_RINGER 0x00000008
-#define LINETERMMODE_HOOKSWITCH 0x00000010
-#define LINETERMMODE_MEDIATOLINE 0x00000020
-#define LINETERMMODE_MEDIAFROMLINE 0x00000040
-#define LINETERMMODE_MEDIABIDIRECT 0x00000080
-
-#define LINETERMSHARING_PRIVATE 0x00000001
-#define LINETERMSHARING_SHAREDEXCL 0x00000002
-#define LINETERMSHARING_SHAREDCONF 0x00000004
-
-#define LINETONEMODE_CUSTOM 0x00000001
-#define LINETONEMODE_RINGBACK 0x00000002
-#define LINETONEMODE_BUSY 0x00000004
-#define LINETONEMODE_BEEP 0x00000008
-#define LINETONEMODE_BILLING 0x00000010
-
-#define LINETRANSFERMODE_TRANSFER 0x00000001
-#define LINETRANSFERMODE_CONFERENCE 0x00000002
-
-#define LINETOLLLISTOPTION_ADD 0x00000001
-#define LINETOLLLISTOPTION_REMOVE 0x00000002
-
-#define LINETRANSLATEOPTION_CARDOVERRIDE 0x00000001
-
-#define LINETRANSLATERESULT_CANONICAL 0x00000001
-#define LINETRANSLATERESULT_INTERNATIONAL 0x00000002
-#define LINETRANSLATERESULT_LONGDISTANCE 0x00000004
-#define LINETRANSLATERESULT_LOCAL 0x00000008
-#define LINETRANSLATERESULT_INTOLLLIST 0x00000010
-#define LINETRANSLATERESULT_NOTINTOLLLIST 0x00000020
-#define LINETRANSLATERESULT_DIALBILLING 0x00000040
-#define LINETRANSLATERESULT_DIALQUIET 0x00000080
-#define LINETRANSLATERESULT_DIALDIALTONE 0x00000100
-#define LINETRANSLATERESULT_DIALPROMPT 0x00000200
-#if (NDIS_TAPI_CURRENT_VERSION >= 0x00020000)
-#define LINETRANSLATERESULT_VOICEDETECT 0x00000400
-#endif
-
-#if (NDIS_TAPI_CURRENT_VERSION >= 0x00030000)
-#define LINETRANSLATERESULT_NOTRANSLATION 0x00000800
-#endif
-
-
-typedef struct _NDIS_VAR_DATA_DESC {
- USHORT Length;
- USHORT MaximumLength;
- LONG Offset;
-} NDIS_VAR_DATA_DESC, *PNDIS_VAR_DATA_DESC;
-
-typedef struct _LINE_DIAL_PARAMS {
- ULONG ulDialPause;
- ULONG ulDialSpeed;
- ULONG ulDigitDuration;
- ULONG ulWaitForDialtone;
-} LINE_DIAL_PARAMS, *PLINE_DIAL_PARAMS;
-
-typedef struct _LINE_ADDRESS_CAPS {
- ULONG ulTotalSize;
- ULONG ulNeededSize;
- ULONG ulUsedSize;
- ULONG ulLineDeviceID;
- ULONG ulAddressSize;
- ULONG ulAddressOffset;
- ULONG ulDevSpecificSize;
- ULONG ulDevSpecificOffset;
- ULONG ulAddressSharing;
- ULONG ulAddressStates;
- ULONG ulCallInfoStates;
- ULONG ulCallerIDFlags;
- ULONG ulCalledIDFlags;
- ULONG ulConnectedIDFlags;
- ULONG ulRedirectionIDFlags;
- ULONG ulRedirectingIDFlags;
- ULONG ulCallStates;
- ULONG ulDialToneModes;
- ULONG ulBusyModes;
- ULONG ulSpecialInfo;
- ULONG ulDisconnectModes;
- ULONG ulMaxNumActiveCalls;
- ULONG ulMaxNumOnHoldCalls;
- ULONG ulMaxNumOnHoldPendingCalls;
- ULONG ulMaxNumConference;
- ULONG ulMaxNumTransConf;
- ULONG ulAddrCapFlags;
- ULONG ulCallFeatures;
- ULONG ulRemoveFromConfCaps;
- ULONG ulRemoveFromConfState;
- ULONG ulTransferModes;
- ULONG ulParkModes;
- ULONG ulForwardModes;
- ULONG ulMaxForwardEntries;
- ULONG ulMaxSpecificEntries;
- ULONG ulMinFwdNumRings;
- ULONG ulMaxFwdNumRings;
- ULONG ulMaxCallCompletions;
- ULONG ulCallCompletionConds;
- ULONG ulCallCompletionModes;
- ULONG ulNumCompletionMessages;
- ULONG ulCompletionMsgTextEntrySize;
- ULONG ulCompletionMsgTextSize;
- ULONG ulCompletionMsgTextOffset;
-#if (NDIS_TAPI_CURRENT_VERSION >= 0x00010004)
- ULONG ulAddressFeatures;
-#if (NDIS_TAPI_CURRENT_VERSION >= 0x00020000)
- ULONG ulPredictiveAutoTransferStates;
- ULONG ulNumCallTreatments;
- ULONG ulCallTreatmentListSize;
- ULONG ulCallTreatmentListOffset;
- ULONG ulDeviceClassesSize;
- ULONG ulDeviceClassesOffset;
- ULONG ulMaxCallDataSize;
- ULONG ulCallFeatures2;
- ULONG ulMaxNoAnswerTimeout;
- ULONG ulConnectedModes;
- ULONG ulOfferingModes;
- ULONG ulAvailableMediaModes;
-#endif
-#endif
-} LINE_ADDRESS_CAPS, *PLINE_ADDRESS_CAPS;
-
-typedef struct _LINE_ADDRESS_STATUS {
- ULONG ulTotalSize;
- ULONG ulNeededSize;
- ULONG ulUsedSize;
- ULONG ulNumInUse;
- ULONG ulNumActiveCalls;
- ULONG ulNumOnHoldCalls;
- ULONG ulNumOnHoldPendCalls;
- ULONG ulAddressFeatures;
- ULONG ulNumRingsNoAnswer;
- ULONG ulForwardNumEntries;
- ULONG ulForwardSize;
- ULONG ulForwardOffset;
- ULONG ulTerminalModesSize;
- ULONG ulTerminalModesOffset;
- ULONG ulDevSpecificSize;
- ULONG ulDevSpecificOffset;
-} LINE_ADDRESS_STATUS, *PLINE_ADDRESS_STATUS;
-
-typedef struct _LINE_CALL_INFO {
- ULONG ulTotalSize;
- ULONG ulNeededSize;
- ULONG ulUsedSize;
- ULONG hLine;
- ULONG ulLineDeviceID;
- ULONG ulAddressID;
- ULONG ulBearerMode;
- ULONG ulRate;
- ULONG ulMediaMode;
- ULONG ulAppSpecific;
- ULONG ulCallID;
- ULONG ulRelatedCallID;
- ULONG ulCallParamFlags;
- ULONG ulCallStates;
- ULONG ulMonitorDigitModes;
- ULONG ulMonitorMediaModes;
- LINE_DIAL_PARAMS DialParams;
- ULONG ulOrigin;
- ULONG ulReason;
- ULONG ulCompletionID;
- ULONG ulNumOwners;
- ULONG ulNumMonitors;
- ULONG ulCountryCode;
- ULONG ulTrunk;
- ULONG ulCallerIDFlags;
- ULONG ulCallerIDSize;
- ULONG ulCallerIDOffset;
- ULONG ulCallerIDNameSize;
- ULONG ulCallerIDNameOffset;
- ULONG ulCalledIDFlags;
- ULONG ulCalledIDSize;
- ULONG ulCalledIDOffset;
- ULONG ulCalledIDNameSize;
- ULONG ulCalledIDNameOffset;
- ULONG ulConnectedIDFlags;
- ULONG ulConnectedIDSize;
- ULONG ulConnectedIDOffset;
- ULONG ulConnectedIDNameSize;
- ULONG ulConnectedIDNameOffset;
- ULONG ulRedirectionIDFlags;
- ULONG ulRedirectionIDSize;
- ULONG ulRedirectionIDOffset;
- ULONG ulRedirectionIDNameSize;
- ULONG ulRedirectionIDNameOffset;
- ULONG ulRedirectingIDFlags;
- ULONG ulRedirectingIDSize;
- ULONG ulRedirectingIDOffset;
- ULONG ulRedirectingIDNameSize;
- ULONG ulRedirectingIDNameOffset;
- ULONG ulAppNameSize;
- ULONG ulAppNameOffset;
- ULONG ulDisplayableAddressSize;
- ULONG ulDisplayableAddressOffset;
- ULONG ulCalledPartySize;
- ULONG ulCalledPartyOffset;
- ULONG ulCommentSize;
- ULONG ulCommentOffset;
- ULONG ulDisplaySize;
- ULONG ulDisplayOffset;
- ULONG ulUserUserInfoSize;
- ULONG ulUserUserInfoOffset;
- ULONG ulHighLevelCompSize;
- ULONG ulHighLevelCompOffset;
- ULONG ulLowLevelCompSize;
- ULONG ulLowLevelCompOffset;
- ULONG ulChargingInfoSize;
- ULONG ulChargingInfoOffset;
- ULONG ulTerminalModesSize;
- ULONG ulTerminalModesOffset;
- ULONG ulDevSpecificSize;
- ULONG ulDevSpecificOffset;
-#if (NDIS_TAPI_CURRENT_VERSION >= 0x00020000)
- ULONG ulCallTreatment;
- ULONG ulCallDataSize;
- ULONG ulCallDataOffset;
- ULONG ulSendingFlowspecSize;
- ULONG ulSendingFlowspecOffset;
- ULONG ulReceivingFlowspecSize;
- ULONG ulReceivingFlowspecOffset;
-#endif
-#if (NDIS_TAPI_CURRENT_VERSION >= 0x00030000)
- ULONG ulCallerIDAddressType;
- ULONG ulCalledIDAddressType;
- ULONG ulConnectedIDAddressType;
- ULONG ulRedirectionIDAddressType;
- ULONG ulRedirectingIDAddressType;
-#endif
-} LINE_CALL_INFO, *PLINE_CALL_INFO;
-
-typedef struct _LINE_CALL_PARAMS {
- ULONG ulTotalSize;
- ULONG ulBearerMode;
- ULONG ulMinRate;
- ULONG ulMaxRate;
- ULONG ulMediaMode;
- ULONG ulCallParamFlags;
- ULONG ulAddressMode;
- ULONG ulAddressID;
- LINE_DIAL_PARAMS DialParams;
- ULONG ulOrigAddressSize;
- ULONG ulOrigAddressOffset;
- ULONG ulDisplayableAddressSize;
- ULONG ulDisplayableAddressOffset;
- ULONG ulCalledPartySize;
- ULONG ulCalledPartyOffset;
- ULONG ulCommentSize;
- ULONG ulCommentOffset;
- ULONG ulUserUserInfoSize;
- ULONG ulUserUserInfoOffset;
- ULONG ulHighLevelCompSize;
- ULONG ulHighLevelCompOffset;
- ULONG ulLowLevelCompSize;
- ULONG ulLowLevelCompOffset;
- ULONG ulDevSpecificSize;
- ULONG ulDevSpecificOffset;
-#if (NDIS_TAPI_CURRENT_VERSION >= 0x00020000)
- ULONG ulPredictiveAutoTransferStates;
- ULONG ulTargetAddressSize;
- ULONG ulTargetAddressOffset;
- ULONG ulSendingFlowspecSize;
- ULONG ulSendingFlowspecOffset;
- ULONG ulReceivingFlowspecSize;
- ULONG ulReceivingFlowspecOffset;
- ULONG ulDeviceClassSize;
- ULONG ulDeviceClassOffset;
- ULONG ulDeviceConfigSize;
- ULONG ulDeviceConfigOffset;
- ULONG ulCallDataSize;
- ULONG ulCallDataOffset;
- ULONG ulNoAnswerTimeout;
- ULONG ulCallingPartyIDSize;
- ULONG ulCallingPartyIDOffset;
-#endif
-#if (NDIS_TAPI_CURRENT_VERSION >= 0x00030000)
- ULONG ulAddressType;
-#endif
-} LINE_CALL_PARAMS, *PLINE_CALL_PARAMS;
-
-typedef struct _LINE_CALL_STATUS {
- ULONG ulTotalSize;
- ULONG ulNeededSize;
- ULONG ulUsedSize;
- ULONG ulCallState;
- ULONG ulCallStateMode;
- ULONG ulCallPrivilege;
- ULONG ulCallFeatures;
- ULONG ulDevSpecificSize;
- ULONG ulDevSpecificOffset;
-} LINE_CALL_STATUS, *PLINE_CALL_STATUS;
-
-typedef struct _LINE_DEV_CAPS {
- ULONG ulTotalSize;
- ULONG ulNeededSize;
- ULONG ulUsedSize;
- ULONG ulProviderInfoSize;
- ULONG ulProviderInfoOffset;
- ULONG ulSwitchInfoSize;
- ULONG ulSwitchInfoOffset;
- ULONG ulPermanentLineID;
- ULONG ulLineNameSize;
- ULONG ulLineNameOffset;
- ULONG ulStringFormat;
- ULONG ulAddressModes;
- ULONG ulNumAddresses;
- ULONG ulBearerModes;
- ULONG ulMaxRate;
- ULONG ulMediaModes;
- ULONG ulGenerateToneModes;
- ULONG ulGenerateToneMaxNumFreq;
- ULONG ulGenerateDigitModes;
- ULONG ulMonitorToneMaxNumFreq;
- ULONG ulMonitorToneMaxNumEntries;
- ULONG ulMonitorDigitModes;
- ULONG ulGatherDigitsMinTimeout;
- ULONG ulGatherDigitsMaxTimeout;
- ULONG ulMedCtlDigitMaxListSize;
- ULONG ulMedCtlMediaMaxListSize;
- ULONG ulMedCtlToneMaxListSize;
- ULONG ulMedCtlCallStateMaxListSize;
- ULONG ulDevCapFlags;
- ULONG ulMaxNumActiveCalls;
- ULONG ulAnswerMode;
- ULONG ulRingModes;
- ULONG ulLineStates;
- ULONG ulUUIAcceptSize;
- ULONG ulUUIAnswerSize;
- ULONG ulUUIMakeCallSize;
- ULONG ulUUIDropSize;
- ULONG ulUUISendUserUserInfoSize;
- ULONG ulUUICallInfoSize;
- LINE_DIAL_PARAMS MinDialParams;
- LINE_DIAL_PARAMS MaxDialParams;
- LINE_DIAL_PARAMS DefaultDialParams;
- ULONG ulNumTerminals;
- ULONG ulTerminalCapsSize;
- ULONG ulTerminalCapsOffset;
- ULONG ulTerminalTextEntrySize;
- ULONG ulTerminalTextSize;
- ULONG ulTerminalTextOffset;
- ULONG ulDevSpecificSize;
- ULONG ulDevSpecificOffset;
-#if (NDIS_TAPI_CURRENT_VERSION >= 0x00010004)
- ULONG ulLineFeatures;
-#endif
-#if (NDIS_TAPI_CURRENT_VERSION >= 0x00020000)
- ULONG ulSettableDevStatus;
- ULONG ulDeviceClassesSize;
- ULONG ulDeviceClassesOffset;
-#endif
-#if (NDIS_TAPI_CURRENT_VERSION >= 0x00020002)
- GUID PermanentLineGuid;
-#endif
-#if (NDIS_TAPI_CURRENT_VERSION >= 0x00030000)
- ULONG ulAddressTypes;
- GUID ProtocolGuid;
- ULONG ulAvailableTracking;
-#endif
-} LINE_DEV_CAPS, *PLINE_DEV_CAPS;
-
-typedef struct _LINE_DEV_STATUS {
- ULONG ulTotalSize;
- ULONG ulNeededSize;
- ULONG ulUsedSize;
- ULONG ulNumOpens;
- ULONG ulOpenMediaModes;
- ULONG ulNumActiveCalls;
- ULONG ulNumOnHoldCalls;
- ULONG ulNumOnHoldPendCalls;
- ULONG ulLineFeatures;
- ULONG ulNumCallCompletions;
- ULONG ulRingMode;
- ULONG ulSignalLevel;
- ULONG ulBatteryLevel;
- ULONG ulRoamMode;
- ULONG ulDevStatusFlags;
- ULONG ulTerminalModesSize;
- ULONG ulTerminalModesOffset;
- ULONG ulDevSpecificSize;
- ULONG ulDevSpecificOffset;
-} LINE_DEV_STATUS, *PLINE_DEV_STATUS;
-
-typedef struct _LINE_EXTENSION_ID {
- ULONG ulExtensionID0;
- ULONG ulExtensionID1;
- ULONG ulExtensionID2;
- ULONG ulExtensionID3;
-} LINE_EXTENSION_ID, *PLINE_EXTENSION_ID;
-
-typedef struct _VAR_STRING {
- ULONG ulTotalSize;
- ULONG ulNeededSize;
- ULONG ulUsedSize;
- ULONG ulStringFormat;
- ULONG ulStringSize;
- ULONG ulStringOffset;
-} VAR_STRING, *PVAR_STRING;
-
-typedef struct _NDIS_TAPI_ANSWER {
- IN ULONG ulRequestID;
- IN HDRV_CALL hdCall;
- IN ULONG ulUserUserInfoSize;
- IN UCHAR UserUserInfo[1];
-} NDIS_TAPI_ANSWER, *PNDIS_TAPI_ANSWER;
-
-typedef struct _NDIS_TAPI_CLOSE {
- IN ULONG ulRequestID;
- IN HDRV_LINE hdLine;
-} NDIS_TAPI_CLOSE, *PNDIS_TAPI_CLOSE;
-
-typedef struct _NDIS_TAPI_CLOSE_CALL {
- IN ULONG ulRequestID;
- IN HDRV_CALL hdCall;
-} NDIS_TAPI_CLOSE_CALL, *PNDIS_TAPI_CLOSE_CALL;
-
-typedef struct _NDIS_TAPI_CONDITIONAL_MEDIA_DETECTION {
- IN ULONG ulRequestID;
- IN HDRV_LINE hdLine;
- IN ULONG ulMediaModes;
- IN LINE_CALL_PARAMS LineCallParams;
-} NDIS_TAPI_CONDITIONAL_MEDIA_DETECTION, *PNDIS_TAPI_CONDITIONAL_MEDIA_DETECTION;
-
-typedef struct _NDIS_TAPI_DROP {
- IN ULONG ulRequestID;
- IN HDRV_CALL hdCall;
- IN ULONG ulUserUserInfoSize;
- IN UCHAR UserUserInfo[1];
-} NDIS_TAPI_DROP, *PNDIS_TAPI_DROP;
-
-typedef struct _NDIS_TAPI_PROVIDER_SHUTDOWN {
- IN ULONG ulRequestID;
-} NDIS_TAPI_PROVIDER_SHUTDOWN, *PNDIS_TAPI_PROVIDER_SHUTDOWN;
-
-typedef struct _NDIS_TAPI_SET_APP_SPECIFIC {
- IN ULONG ulRequestID;
- IN HDRV_CALL hdCall;
- IN ULONG ulAppSpecific;
-} NDIS_TAPI_SET_APP_SPECIFIC, *PNDIS_TAPI_SET_APP_SPECIFIC;
-
-typedef struct _NDIS_TAPI_SET_CALL_PARAMS {
- IN ULONG ulRequestID;
- IN HDRV_CALL hdCall;
- IN ULONG ulBearerMode;
- IN ULONG ulMinRate;
- IN ULONG ulMaxRate;
- IN BOOLEAN bSetLineDialParams;
- IN LINE_DIAL_PARAMS LineDialParams;
-} NDIS_TAPI_SET_CALL_PARAMS, *PNDIS_TAPI_SET_CALL_PARAMS;
-
-typedef struct _NDIS_TAPI_SET_DEFAULT_MEDIA_DETECTION {
- IN ULONG ulRequestID;
- IN HDRV_LINE hdLine;
- IN ULONG ulMediaModes;
-} NDIS_TAPI_SET_DEFAULT_MEDIA_DETECTION, *PNDIS_TAPI_SET_DEFAULT_MEDIA_DETECTION;
-
-typedef struct _NDIS_TAPI_SET_DEV_CONFIG {
- IN ULONG ulRequestID;
- IN ULONG ulDeviceID;
- IN ULONG ulDeviceClassSize;
- IN ULONG ulDeviceClassOffset;
- IN ULONG ulDeviceConfigSize;
- IN UCHAR DeviceConfig[1];
-} NDIS_TAPI_SET_DEV_CONFIG, *PNDIS_TAPI_SET_DEV_CONFIG;
-
-typedef struct _NDIS_TAPI_SET_MEDIA_MODE {
- IN ULONG ulRequestID;
- IN HDRV_CALL hdCall;
- IN ULONG ulMediaMode;
-} NDIS_TAPI_SET_MEDIA_MODE, *PNDIS_TAPI_SET_MEDIA_MODE;
-
-typedef struct _NDIS_TAPI_SET_STATUS_MESSAGES {
- IN ULONG ulRequestID;
- IN HDRV_LINE hdLine;
- IN ULONG ulLineStates;
- IN ULONG ulAddressStates;
-} NDIS_TAPI_SET_STATUS_MESSAGES, *PNDIS_TAPI_SET_STATUS_MESSAGES;
-
-typedef struct _NDIS_TAPI_ACCEPT {
- IN ULONG ulRequestID;
- IN HDRV_CALL hdCall;
- IN ULONG ulUserUserInfoSize;
- IN UCHAR UserUserInfo[1];
-} NDIS_TAPI_ACCEPT, *PNDIS_TAPI_ACCEPT;
-
-typedef struct _NDIS_TAPI_DIAL {
- IN ULONG ulRequestID;
- IN HDRV_CALL hdCall;
- IN ULONG ulDestAddressSize;
- IN CHAR szDestAddress[1];
-} NDIS_TAPI_DIAL, *PNDIS_TAPI_DIAL;
-
-typedef struct _NDIS_TAPI_EVENT {
- IN HTAPI_LINE htLine;
- IN HTAPI_CALL htCall;
- IN ULONG ulMsg;
- IN ULONG ulParam1;
- IN ULONG ulParam2;
- IN ULONG ulParam3;
-} NDIS_TAPI_EVENT, *PNDIS_TAPI_EVENT;
-
-typedef struct _NDIS_TAPI_OPEN {
- IN ULONG ulRequestID;
- IN ULONG ulDeviceID;
- IN HTAPI_LINE htLine;
- OUT HDRV_LINE hdLine;
-} NDIS_TAPI_OPEN, *PNDIS_TAPI_OPEN;
-
-typedef struct _NDIS_TAPI_SECURE_CALL {
- IN ULONG ulRequestID;
- IN HDRV_CALL hdCall;
-} NDIS_TAPI_SECURE_CALL, *PNDIS_TAPI_SECURE_CALL;
-
-typedef struct _NDIS_TAPI_SELECT_EXT_VERSION {
- IN ULONG ulRequestID;
- IN HDRV_LINE hdLine;
- IN ULONG ulExtVersion;
-} NDIS_TAPI_SELECT_EXT_VERSION, *PNDIS_TAPI_SELECT_EXT_VERSION;
-
-typedef struct _NDIS_TAPI_SEND_USER_USER_INFO {
- IN ULONG ulRequestID;
- IN HDRV_CALL hdCall;
- IN ULONG ulUserUserInfoSize;
- IN UCHAR UserUserInfo[1];
-} NDIS_TAPI_SEND_USER_USER_INFO, *PNDIS_TAPI_SEND_USER_USER_INFO;
-
-
-typedef struct _NDIS_TAPI_CONFIG_DIALOG {
- IN ULONG ulRequestID;
- IN ULONG ulDeviceID;
- IN ULONG ulDeviceClassSize;
- IN ULONG ulDeviceClassOffset;
- IN ULONG ulLibraryNameTotalSize;
- OUT ULONG ulLibraryNameNeededSize;
- OUT CHAR szLibraryName[1];
-} NDIS_TAPI_CONFIG_DIALOG, *PNDIS_TAPI_CONFIG_DIALOG;
-
-typedef struct _NDIS_TAPI_DEV_SPECIFIC {
- IN ULONG ulRequestID;
- IN HDRV_LINE hdLine;
- IN ULONG ulAddressID;
- IN HDRV_CALL hdCall;
- IN OUT ULONG ulParamsSize;
- IN OUT UCHAR Params[1];
-} NDIS_TAPI_DEV_SPECIFIC, *PNDIS_TAPI_DEV_SPECIFIC;
-
-typedef struct _NDIS_TAPI_GET_ADDRESS_CAPS {
- IN ULONG ulRequestID;
- IN ULONG ulDeviceID;
- IN ULONG ulAddressID;
- IN ULONG ulExtVersion;
- OUT LINE_ADDRESS_CAPS LineAddressCaps;
-} NDIS_TAPI_GET_ADDRESS_CAPS, *PNDIS_TAPI_GET_ADDRESS_CAPS;
-
-typedef struct _NDIS_TAPI_GET_ADDRESS_ID {
- IN ULONG ulRequestID;
- IN HDRV_LINE hdLine;
- OUT ULONG ulAddressID;
- IN ULONG ulAddressMode;
- IN ULONG ulAddressSize;
- IN CHAR szAddress[1];
-} NDIS_TAPI_GET_ADDRESS_ID, *PNDIS_TAPI_GET_ADDRESS_ID;
-
-typedef struct _NDIS_TAPI_GET_ADDRESS_STATUS {
- IN ULONG ulRequestID;
- IN HDRV_LINE hdLine;
- IN ULONG ulAddressID;
- OUT LINE_ADDRESS_STATUS LineAddressStatus;
-} NDIS_TAPI_GET_ADDRESS_STATUS, *PNDIS_TAPI_GET_ADDRESS_STATUS;
-
-typedef struct _NDIS_TAPI_GET_CALL_ADDRESS_ID {
- IN ULONG ulRequestID;
- IN HDRV_CALL hdCall;
- OUT ULONG ulAddressID;
-} NDIS_TAPI_GET_CALL_ADDRESS_ID, *PNDIS_TAPI_GET_CALL_ADDRESS_ID;
-
-typedef struct _NDIS_TAPI_GET_CALL_INFO {
- ULONG ulRequestID;
- IN HDRV_CALL hdCall;
- OUT LINE_CALL_INFO LineCallInfo;
-} NDIS_TAPI_GET_CALL_INFO, *PNDIS_TAPI_GET_CALL_INFO;
-
-typedef struct _NDIS_TAPI_GET_CALL_STATUS {
- IN ULONG ulRequestID;
- IN HDRV_CALL hdCall;
- OUT LINE_CALL_STATUS LineCallStatus;
-} NDIS_TAPI_GET_CALL_STATUS, *PNDIS_TAPI_GET_CALL_STATUS;
-
-typedef struct _NDIS_TAPI_GET_DEV_CAPS {
- IN ULONG ulRequestID;
- IN ULONG ulDeviceID;
- IN ULONG ulExtVersion;
- OUT LINE_DEV_CAPS LineDevCaps;
-} NDIS_TAPI_GET_DEV_CAPS, *PNDIS_TAPI_GET_DEV_CAPS;
-
-typedef struct _NDIS_TAPI_GET_DEV_CONFIG {
- IN ULONG ulRequestID;
- IN ULONG ulDeviceID;
- IN ULONG ulDeviceClassSize;
- IN ULONG ulDeviceClassOffset;
- OUT VAR_STRING DeviceConfig;
-} NDIS_TAPI_GET_DEV_CONFIG, *PNDIS_TAPI_GET_DEV_CONFIG;
-
-typedef struct _NDIS_TAPI_GET_EXTENSION_ID {
- IN ULONG ulRequestID;
- IN ULONG ulDeviceID;
- OUT LINE_EXTENSION_ID LineExtensionID;
-} NDIS_TAPI_GET_EXTENSION_ID, *PNDIS_TAPI_GET_EXTENSION_ID;
-
-typedef struct _NDIS_TAPI_GET_ID {
- IN ULONG ulRequestID;
- IN HDRV_LINE hdLine;
- IN ULONG ulAddressID;
- IN HDRV_CALL hdCall;
- IN ULONG ulSelect;
- IN ULONG ulDeviceClassSize;
- IN ULONG ulDeviceClassOffset;
- OUT VAR_STRING DeviceID;
-} NDIS_TAPI_GET_ID, *PNDIS_TAPI_GET_ID;
-
-typedef struct _NDIS_TAPI_GET_LINE_DEV_STATUS {
- IN ULONG ulRequestID;
- IN HDRV_LINE hdLine;
- OUT LINE_DEV_STATUS LineDevStatus;
-} NDIS_TAPI_GET_LINE_DEV_STATUS, *PNDIS_TAPI_GET_LINE_DEV_STATUS;
-
-typedef struct _NDIS_TAPI_MAKE_CALL {
- IN ULONG ulRequestID;
- IN HDRV_LINE hdLine;
- IN HTAPI_CALL htCall;
- OUT HDRV_CALL hdCall;
- IN ULONG ulDestAddressSize;
- IN ULONG ulDestAddressOffset;
- IN BOOLEAN bUseDefaultLineCallParams;
- IN LINE_CALL_PARAMS LineCallParams;
-} NDIS_TAPI_MAKE_CALL, *PNDIS_TAPI_MAKE_CALL;
-
-typedef struct _NDIS_TAPI_NEGOTIATE_EXT_VERSION {
- IN ULONG ulRequestID;
- IN ULONG ulDeviceID;
- IN ULONG ulLowVersion;
- IN ULONG ulHighVersion;
- OUT ULONG ulExtVersion;
-} NDIS_TAPI_NEGOTIATE_EXT_VERSION, *PNDIS_TAPI_NEGOTIATE_EXT_VERSION;
-
-typedef struct _NDIS_TAPI_PROVIDER_INITIALIZE {
- IN ULONG ulRequestID;
- IN ULONG ulDeviceIDBase;
- OUT ULONG ulNumLineDevs;
- OUT ULONG ulProviderID;
-} NDIS_TAPI_PROVIDER_INITIALIZE, *PNDIS_TAPI_PROVIDER_INITIALIZE;
-
-
-#define CO_TAPI_VERSION NDIS_TAPI_CURRENT_VERSION
-
-#define CO_TAPI_FLAG_OUTGOING_CALL 0x00000001
-#define CO_TAPI_FLAG_INCOMING_CALL 0x00000002
-#define CO_TAPI_FLAG_USE_DEFAULT_CALLPARAMS 0x00000004
-
-#define AF_TAPI_SAP_TYPE 0x00008000
-
-typedef struct _CO_TAPI_ADDRESS_CAPS {
- IN ULONG ulLineID;
- IN ULONG ulAddressID;
- OUT ULONG ulFlags;
- OUT LINE_ADDRESS_CAPS LineAddressCaps;
-} CO_TAPI_ADDRESS_CAPS, *PCO_TAPI_ADDRESS_CAPS;
-
-/* CO_TAPI_CM_CAPS.ulFlags constants */
-#define CO_TAPI_FLAG_PER_LINE_CAPS 0x00000001
-
-typedef struct _CO_TAPI_CM_CAPS {
- OUT ULONG ulCoTapiVersion;
- OUT ULONG ulNumLines;
- OUT ULONG ulFlags;
-} CO_TAPI_CM_CAPS, *PCO_TAPI_CM_CAPS;
-
-typedef struct _CO_TAPI_CALL_DIAGNOSTICS {
- OUT ULONG ulOrigin;
- OUT ULONG ulReason;
- OUT NDIS_VAR_DATA_DESC DiagInfo;
-} CO_TAPI_CALL_DIAGNOSTICS, *PCO_TAPI_CALL_DIAGNOSTICS;
-
-
-/* CO_TAPI_LINE_CAPS.ulFlags constants */
-#define CO_TAPI_FLAG_PER_ADDRESS_CAPS 0x00000001
-
-typedef struct _CO_TAPI_LINE_CAPS {
- IN ULONG ulLineID;
- OUT ULONG ulFlags;
- OUT LINE_DEV_CAPS LineDevCaps;
-} CO_TAPI_LINE_CAPS, *PCO_TAPI_LINE_CAPS;
-
-typedef struct _CO_TAPI_TRANSLATE_NDIS_CALLPARAMS {
- IN ULONG ulFlags;
- IN NDIS_VAR_DATA_DESC NdisCallParams;
- OUT NDIS_VAR_DATA_DESC LineCallInfo;
-} CO_TAPI_TRANSLATE_NDIS_CALLPARAMS, *PCO_TAPI_TRANSLATE_NDIS_CALLPARAMS;
-
-typedef struct _CO_TAPI_TRANSLATE_TAPI_CALLPARAMS {
- IN ULONG ulLineID;
- IN ULONG ulAddressID;
- IN ULONG ulFlags;
- IN NDIS_VAR_DATA_DESC DestAddress;
- IN NDIS_VAR_DATA_DESC LineCallParams;
- OUT NDIS_VAR_DATA_DESC NdisCallParams;
-} CO_TAPI_TRANSLATE_TAPI_CALLPARAMS, *PCO_TAPI_TRANSLATE_TAPI_CALLPARAMS;
-
-/* CO_TAPI_TRANSLATE_SAP.ulLineID constants */
-#define CO_TAPI_LINE_ID_UNSPECIFIED 0xFFFFFFFF
-
-/* CO_TAPI_TRANSLATE_SAP.ulAddressID constants */
-#define CO_TAPI_ADDRESS_ID_UNSPECIFIED 0xFFFFFFFF
-
-typedef struct _CO_TAPI_TRANSLATE_SAP {
- IN ULONG ulLineID;
- IN ULONG ulAddressID;
- IN ULONG ulMediaModes;
- IN ULONG Reserved;
- OUT ULONG NumberOfSaps;
- OUT NDIS_VAR_DATA_DESC NdisSapParams[1];
-} CO_AF_TAPI_SAP, *PCO_AF_TAPI_SAP;
-
-typedef struct _CO_AF_TAPI_INCOMING_CALL_PARAMETERS {
- IN ULONG ulLineID;
- IN ULONG ulAddressID;
- IN ULONG ulFlags;
- IN NDIS_VAR_DATA_DESC LineCallInfo;
-} CO_AF_TAPI_INCOMING_CALL_PARAMETERS, *PCO_AF_TAPI_INCOMING_CALL_PARAMETERS;
-
-typedef struct _CO_AF_TAPI_MAKE_CALL_PARAMETERS {
- IN ULONG ulLineID;
- IN ULONG ulAddressID;
- IN ULONG ulFlags;
- IN NDIS_VAR_DATA_DESC DestAddress;
- IN NDIS_VAR_DATA_DESC LineCallParams;
-} CO_AF_TAPI_MAKE_CALL_PARAMETERS, *PCO_AF_TAPI_MAKE_CALL_PARAMETERS;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __NDISTAPI_H */
diff --git a/winsup/w32api/include/ddk/ndiswan.h b/winsup/w32api/include/ddk/ndiswan.h
deleted file mode 100644
index 66fb0de6e..000000000
--- a/winsup/w32api/include/ddk/ndiswan.h
+++ /dev/null
@@ -1,251 +0,0 @@
-/*
- * ndiswan.h
- *
- * Definitions for NDIS WAN miniport drivers
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- * Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __NDISWAN_H
-#define __NDISWAN_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ndis.h"
-
-#define NDIS_USE_WAN_WRAPPER 0x00000001
-
-#define NDIS_STATUS_TAPI_INDICATION ((NDIS_STATUS)0x40010080L)
-
-/* NDIS_WAN_INFO.FramingBits constants */
-#define RAS_FRAMING 0x00000001
-#define RAS_COMPRESSION 0x00000002
-
-#define ARAP_V1_FRAMING 0x00000004
-#define ARAP_V2_FRAMING 0x00000008
-#define ARAP_FRAMING (ARAP_V1_FRAMING | ARAP_V2_FRAMING)
-
-#define PPP_MULTILINK_FRAMING 0x00000010
-#define PPP_SHORT_SEQUENCE_HDR_FORMAT 0x00000020
-#define PPP_MC_MULTILINK_FRAMING 0x00000040
-
-#define PPP_FRAMING 0x00000100
-#define PPP_COMPRESS_ADDRESS_CONTROL 0x00000200
-#define PPP_COMPRESS_PROTOCOL_FIELD 0x00000400
-#define PPP_ACCM_SUPPORTED 0x00000800
-
-#define SLIP_FRAMING 0x00001000
-#define SLIP_VJ_COMPRESSION 0x00002000
-#define SLIP_VJ_AUTODETECT 0x00004000
-
-#define MEDIA_NRZ_ENCODING 0x00010000
-#define MEDIA_NRZI_ENCODING 0x00020000
-#define MEDIA_NLPID 0x00040000
-
-#define RFC_1356_FRAMING 0x00100000
-#define RFC_1483_FRAMING 0x00200000
-#define RFC_1490_FRAMING 0x00400000
-#define LLC_ENCAPSULATION 0x00800000
-
-#define SHIVA_FRAMING 0x01000000
-#define NBF_PRESERVE_MAC_ADDRESS 0x01000000
-
-#define PASS_THROUGH_MODE 0x10000000
-#define RAW_PASS_THROUGH_MODE 0x20000000
-
-#define TAPI_PROVIDER 0x80000000
-
-typedef struct _NDIS_WAN_INFO {
- OUT ULONG MaxFrameSize;
- OUT ULONG MaxTransmit;
- OUT ULONG HeaderPadding;
- OUT ULONG TailPadding;
- OUT ULONG Endpoints;
- OUT UINT MemoryFlags;
- OUT NDIS_PHYSICAL_ADDRESS HighestAcceptableAddress;
- OUT ULONG FramingBits;
- OUT ULONG DesiredACCM;
-} NDIS_WAN_INFO, *PNDIS_WAN_INFO;
-
-typedef struct _NDIS_WAN_GET_LINK_INFO {
- IN NDIS_HANDLE NdisLinkHandle;
- OUT ULONG MaxSendFrameSize;
- OUT ULONG MaxRecvFrameSize;
- OUT ULONG HeaderPadding;
- OUT ULONG TailPadding;
- OUT ULONG SendFramingBits;
- OUT ULONG RecvFramingBits;
- OUT ULONG SendCompressionBits;
- OUT ULONG RecvCompressionBits;
- OUT ULONG SendACCM;
- OUT ULONG RecvACCM;
-} NDIS_WAN_GET_LINK_INFO, *PNDIS_WAN_GET_LINK_INFO;
-
-typedef struct _NDIS_WAN_SET_LINK_INFO {
- IN NDIS_HANDLE NdisLinkHandle;
- IN ULONG MaxSendFrameSize;
- IN ULONG MaxRecvFrameSize;
- IN ULONG HeaderPadding;
- IN ULONG TailPadding;
- IN ULONG SendFramingBits;
- IN ULONG RecvFramingBits;
- IN ULONG SendCompressionBits;
- IN ULONG RecvCompressionBits;
- IN ULONG SendACCM;
- IN ULONG RecvACCM;
-} NDIS_WAN_SET_LINK_INFO, *PNDIS_WAN_SET_LINK_INFO;
-
-/* NDIS_WAN_COMPRESS_INFO.MSCompType constants */
-#define NDISWAN_COMPRESSION 0x00000001
-#define NDISWAN_ENCRYPTION 0x00000010
-#define NDISWAN_40_ENCRYPTION 0x00000020
-#define NDISWAN_128_ENCRYPTION 0x00000040
-#define NDISWAN_56_ENCRYPTION 0x00000080
-#define NDISWAN_HISTORY_LESS 0x01000000
-
-/* NDIS_WAN_COMPRESS_INFO.CompType constants */
-#define COMPTYPE_OUI 0
-#define COMPTYPE_NT31RAS 254
-#define COMPTYPE_NONE 255
-
-typedef struct _NDIS_WAN_COMPRESS_INFO {
- UCHAR SessionKey[8];
- ULONG MSCompType;
- UCHAR CompType;
- USHORT CompLength;
- _ANONYMOUS_UNION union {
- struct {
- UCHAR CompOUI[3];
- UCHAR CompSubType;
- UCHAR CompValues[32];
- } Proprietary;
- struct {
- UCHAR CompValues[32];
- } Public;
- } DUMMYUNIONNAME;
-} NDIS_WAN_COMPRESS_INFO;
-
-typedef NDIS_WAN_COMPRESS_INFO *PNDIS_WAN_COMPRESS_INFO;
-
-typedef struct _NDIS_WAN_GET_COMP_INFO {
- IN NDIS_HANDLE NdisLinkHandle;
- OUT NDIS_WAN_COMPRESS_INFO SendCapabilities;
- OUT NDIS_WAN_COMPRESS_INFO RecvCapabilities;
-} NDIS_WAN_GET_COMP_INFO, *PNDIS_WAN_GET_COMP_INFO;
-
-typedef struct _NDIS_WAN_SET_COMP_INFO {
- IN NDIS_HANDLE NdisLinkHandle;
- IN NDIS_WAN_COMPRESS_INFO SendCapabilities;
- IN NDIS_WAN_COMPRESS_INFO RecvCapabilities;
-} NDIS_WAN_SET_COMP_INFO, *PNDIS_WAN_SET_COMP_INFO;
-
-typedef struct _NDIS_WAN_GET_STATS_INFO {
- IN NDIS_HANDLE NdisLinkHandle;
- OUT ULONG BytesSent;
- OUT ULONG BytesRcvd;
- OUT ULONG FramesSent;
- OUT ULONG FramesRcvd;
- OUT ULONG CRCErrors;
- OUT ULONG TimeoutErrors;
- OUT ULONG AlignmentErrors;
- OUT ULONG SerialOverrunErrors;
- OUT ULONG FramingErrors;
- OUT ULONG BufferOverrunErrors;
- OUT ULONG BytesTransmittedUncompressed;
- OUT ULONG BytesReceivedUncompressed;
- OUT ULONG BytesTransmittedCompressed;
- OUT ULONG BytesReceivedCompressed;
-} NDIS_WAN_GET_STATS_INFO, *PNDIS_WAN_GET_STATS_INFO;
-
-#define NdisMWanInitializeWrapper(NdisWrapperHandle, \
- SystemSpecific1, \
- SystemSpecific2, \
- SystemSpecific3) \
-{ \
- NdisMInitializeWrapper(NdisWrapperHandle, \
- SystemSpecific1, \
- SystemSpecific2, \
- SystemSpecific3); \
-}
-
-typedef struct _NDIS_WAN_CO_INFO {
- OUT ULONG MaxFrameSize;
- OUT ULONG MaxSendWindow;
- OUT ULONG FramingBits;
- OUT ULONG DesiredACCM;
-} NDIS_WAN_CO_INFO, *PNDIS_WAN_CO_INFO;
-
-typedef struct _NDIS_WAN_CO_GET_LINK_INFO {
- OUT ULONG MaxSendFrameSize;
- OUT ULONG MaxRecvFrameSize;
- OUT ULONG SendFramingBits;
- OUT ULONG RecvFramingBits;
- OUT ULONG SendCompressionBits;
- OUT ULONG RecvCompressionBits;
- OUT ULONG SendACCM;
- OUT ULONG RecvACCM;
-} NDIS_WAN_CO_GET_LINK_INFO, *PNDIS_WAN_CO_GET_LINK_INFO;
-
-typedef struct _NDIS_WAN_CO_SET_LINK_INFO {
- IN ULONG MaxSendFrameSize;
- IN ULONG MaxRecvFrameSize;
- IN ULONG SendFramingBits;
- IN ULONG RecvFramingBits;
- IN ULONG SendCompressionBits;
- IN ULONG RecvCompressionBits;
- IN ULONG SendACCM;
- IN ULONG RecvACCM;
-} NDIS_WAN_CO_SET_LINK_INFO, *PNDIS_WAN_CO_SET_LINK_INFO;
-
-typedef struct _NDIS_WAN_CO_GET_COMP_INFO {
- OUT NDIS_WAN_COMPRESS_INFO SendCapabilities;
- OUT NDIS_WAN_COMPRESS_INFO RecvCapabilities;
-} NDIS_WAN_CO_GET_COMP_INFO, *PNDIS_WAN_CO_GET_COMP_INFO;
-
-typedef struct _NDIS_WAN_CO_SET_COMP_INFO {
- IN NDIS_WAN_COMPRESS_INFO SendCapabilities;
- IN NDIS_WAN_COMPRESS_INFO RecvCapabilities;
-} NDIS_WAN_CO_SET_COMP_INFO, *PNDIS_WAN_CO_SET_COMP_INFO;
-
-typedef struct _NDIS_WAN_CO_GET_STATS_INFO {
- OUT ULONG BytesSent;
- OUT ULONG BytesRcvd;
- OUT ULONG FramesSent;
- OUT ULONG FramesRcvd;
- OUT ULONG CRCErrors;
- OUT ULONG TimeoutErrors;
- OUT ULONG AlignmentErrors;
- OUT ULONG SerialOverrunErrors;
- OUT ULONG FramingErrors;
- OUT ULONG BufferOverrunErrors;
- OUT ULONG BytesTransmittedUncompressed;
- OUT ULONG BytesReceivedUncompressed;
- OUT ULONG BytesTransmittedCompressed;
- OUT ULONG BytesReceivedCompressed;
-} NDIS_WAN_CO_GET_STATS_INFO, *PNDIS_WAN_CO_GET_STATS_INFO;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __NDISWAN_H */
diff --git a/winsup/w32api/include/ddk/netevent.h b/winsup/w32api/include/ddk/netevent.h
deleted file mode 100644
index 0cf66e032..000000000
--- a/winsup/w32api/include/ddk/netevent.h
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * netevent.h
- *
- * Network events
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- * Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __NETEVENT_H
-#define __NETEVENT_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#define EVENT_TRANSPORT_REGISTER_FAILED 0xC000232CL
-
-#define EVENT_TRANSPORT_ADAPTER_NOT_FOUND 0xC000232EL
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __NETEVENT_H */
diff --git a/winsup/w32api/include/ddk/netpnp.h b/winsup/w32api/include/ddk/netpnp.h
deleted file mode 100644
index 09ea55e18..000000000
--- a/winsup/w32api/include/ddk/netpnp.h
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- * netpnp.h
- *
- * Network Plug and Play event support
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- * Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __NETPNP_H
-#define __NETPNP_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-typedef enum _NET_PNP_EVENT_CODE {
- NetEventSetPower,
- NetEventQueryPower,
- NetEventQueryRemoveDevice,
- NetEventCancelRemoveDevice,
- NetEventReconfigure,
- NetEventBindList,
- NetEventBindsComplete,
- NetEventPnPCapabilities,
- NetEventMaximum
-} NET_PNP_EVENT_CODE, *PNET_PNP_EVENT_CODE;
-
-typedef struct _NET_PNP_EVENT {
- NET_PNP_EVENT_CODE NetEvent;
- PVOID Buffer;
- ULONG BufferLength;
- ULONG_PTR NdisReserved[4];
- ULONG_PTR TransportReserved[4];
- ULONG_PTR TdiReserved[4];
- ULONG_PTR TdiClientReserved[4];
-} NET_PNP_EVENT, *PNET_PNP_EVENT;
-
-typedef enum _NET_DEVICE_POWER_STATE {
- NetDeviceStateUnspecified,
- NetDeviceStateD0,
- NetDeviceStateD1,
- NetDeviceStateD2,
- NetDeviceStateD3,
- NetDeviceStateMaximum
-} NET_DEVICE_POWER_STATE, *PNET_DEVICE_POWER_STATE;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __NETPNP_H */
diff --git a/winsup/w32api/include/ddk/newdev.h b/winsup/w32api/include/ddk/newdev.h
deleted file mode 100644
index 9e3177900..000000000
--- a/winsup/w32api/include/ddk/newdev.h
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * newdev.h
- *
- * Driver installation DLL interface
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- * Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __NEWDEV_H
-#define __NEWDEV_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* UpdateDriverForPlugAndPlayDevices.InstallFlags constants */
-#define INSTALLFLAG_FORCE 0x00000001
-#define INSTALLFLAG_READONLY 0x00000002
-#define INSTALLFLAG_NONINTERACTIVE 0x00000004
-#define INSTALLFLAG_BITS 0x00000007
-
-BOOL WINAPI
-UpdateDriverForPlugAndPlayDevicesA(
- HWND hwndParent,
- LPCSTR HardwareId,
- LPCSTR FullInfPath,
- DWORD InstallFlags,
- PBOOL bRebootRequired OPTIONAL);
-
-BOOL WINAPI
-UpdateDriverForPlugAndPlayDevicesW(
- HWND hwndParent,
- LPCWSTR HardwareId,
- LPCWSTR FullInfPath,
- DWORD InstallFlags,
- PBOOL bRebootRequired OPTIONAL);
-
-#ifdef UNICODE
-#define UpdateDriverForPlugAndPlayDevices UpdateDriverForPlugAndPlayDevicesW
-#else
-#define UpdateDriverForPlugAndPlayDevices UpdateDriverForPlugAndPlayDevicesA
-#endif /* UNICODE */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __NEWDEV_H */
diff --git a/winsup/w32api/include/ddk/ntapi.h b/winsup/w32api/include/ddk/ntapi.h
deleted file mode 100644
index 943452a52..000000000
--- a/winsup/w32api/include/ddk/ntapi.h
+++ /dev/null
@@ -1,2906 +0,0 @@
-/*
- * ntapi.h
- *
- * Windows NT Native API
- *
- * Most structures in this file is obtained from Windows NT/2000 Native API
- * Reference by Gary Nebbett, ISBN 1578701996.
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- * Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __NTAPI_H
-#define __NTAPI_H
-
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <stdarg.h>
-#include <winbase.h>
-#include "ntddk.h"
-#include "ntpoapi.h"
-
-#pragma pack(push,4)
-
-typedef struct _PEB *PPEB;
-
-/* FIXME: Unknown definitions */
-typedef PVOID POBJECT_TYPE_LIST;
-typedef PVOID PEXECUTION_STATE;
-typedef PVOID PLANGID;
-
-#ifndef NtCurrentProcess
-#define NtCurrentProcess() ((HANDLE)0xFFFFFFFF)
-#endif /* NtCurrentProcess */
-#ifndef NtCurrentThread
-#define NtCurrentThread() ((HANDLE)0xFFFFFFFE)
-#endif /* NtCurrentThread */
-
-/* System information and control */
-
-typedef enum _SYSTEM_INFORMATION_CLASS {
- SystemInformationClassMin = 0,
- SystemBasicInformation = 0,
- SystemProcessorInformation = 1,
- SystemPerformanceInformation = 2,
- SystemTimeOfDayInformation = 3,
- SystemPathInformation = 4,
- SystemNotImplemented1 = 4,
- SystemProcessInformation = 5,
- SystemProcessesAndThreadsInformation = 5,
- SystemCallCountInfoInformation = 6,
- SystemCallCounts = 6,
- SystemDeviceInformation = 7,
- SystemConfigurationInformation = 7,
- SystemProcessorPerformanceInformation = 8,
- SystemProcessorTimes = 8,
- SystemFlagsInformation = 9,
- SystemGlobalFlag = 9,
- SystemCallTimeInformation = 10,
- SystemNotImplemented2 = 10,
- SystemModuleInformation = 11,
- SystemLocksInformation = 12,
- SystemLockInformation = 12,
- SystemStackTraceInformation = 13,
- SystemNotImplemented3 = 13,
- SystemPagedPoolInformation = 14,
- SystemNotImplemented4 = 14,
- SystemNonPagedPoolInformation = 15,
- SystemNotImplemented5 = 15,
- SystemHandleInformation = 16,
- SystemObjectInformation = 17,
- SystemPageFileInformation = 18,
- SystemPagefileInformation = 18,
- SystemVdmInstemulInformation = 19,
- SystemInstructionEmulationCounts = 19,
- SystemVdmBopInformation = 20,
- SystemInvalidInfoClass1 = 20,
- SystemFileCacheInformation = 21,
- SystemCacheInformation = 21,
- SystemPoolTagInformation = 22,
- SystemInterruptInformation = 23,
- SystemProcessorStatistics = 23,
- SystemDpcBehaviourInformation = 24,
- SystemDpcInformation = 24,
- SystemFullMemoryInformation = 25,
- SystemNotImplemented6 = 25,
- SystemLoadImage = 26,
- SystemUnloadImage = 27,
- SystemTimeAdjustmentInformation = 28,
- SystemTimeAdjustment = 28,
- SystemSummaryMemoryInformation = 29,
- SystemNotImplemented7 = 29,
- SystemNextEventIdInformation = 30,
- SystemNotImplemented8 = 30,
- SystemEventIdsInformation = 31,
- SystemNotImplemented9 = 31,
- SystemCrashDumpInformation = 32,
- SystemExceptionInformation = 33,
- SystemCrashDumpStateInformation = 34,
- SystemKernelDebuggerInformation = 35,
- SystemContextSwitchInformation = 36,
- SystemRegistryQuotaInformation = 37,
- SystemLoadAndCallImage = 38,
- SystemPrioritySeparation = 39,
- SystemPlugPlayBusInformation = 40,
- SystemNotImplemented10 = 40,
- SystemDockInformation = 41,
- SystemNotImplemented11 = 41,
- /* SystemPowerInformation = 42, Conflicts with POWER_INFORMATION_LEVEL 1 */
- SystemInvalidInfoClass2 = 42,
- SystemProcessorSpeedInformation = 43,
- SystemInvalidInfoClass3 = 43,
- SystemCurrentTimeZoneInformation = 44,
- SystemTimeZoneInformation = 44,
- SystemLookasideInformation = 45,
- SystemSetTimeSlipEvent = 46,
- SystemCreateSession = 47,
- SystemDeleteSession = 48,
- SystemInvalidInfoClass4 = 49,
- SystemRangeStartInformation = 50,
- SystemVerifierInformation = 51,
- SystemAddVerifier = 52,
- SystemSessionProcessesInformation = 53,
- SystemInformationClassMax
-} SYSTEM_INFORMATION_CLASS;
-
-typedef struct _SYSTEM_BASIC_INFORMATION {
- ULONG Unknown;
- ULONG MaximumIncrement;
- ULONG PhysicalPageSize;
- ULONG NumberOfPhysicalPages;
- ULONG LowestPhysicalPage;
- ULONG HighestPhysicalPage;
- ULONG AllocationGranularity;
- ULONG LowestUserAddress;
- ULONG HighestUserAddress;
- ULONG ActiveProcessors;
- UCHAR NumberProcessors;
-} SYSTEM_BASIC_INFORMATION, *PSYSTEM_BASIC_INFORMATION;
-
-typedef struct _SYSTEM_PROCESSOR_INFORMATION {
- USHORT ProcessorArchitecture;
- USHORT ProcessorLevel;
- USHORT ProcessorRevision;
- USHORT Unknown;
- ULONG FeatureBits;
-} SYSTEM_PROCESSOR_INFORMATION, *PSYSTEM_PROCESSOR_INFORMATION;
-
-typedef struct _SYSTEM_PERFORMANCE_INFORMATION {
- LARGE_INTEGER IdleTime;
- LARGE_INTEGER ReadTransferCount;
- LARGE_INTEGER WriteTransferCount;
- LARGE_INTEGER OtherTransferCount;
- ULONG ReadOperationCount;
- ULONG WriteOperationCount;
- ULONG OtherOperationCount;
- ULONG AvailablePages;
- ULONG TotalCommittedPages;
- ULONG TotalCommitLimit;
- ULONG PeakCommitment;
- ULONG PageFaults;
- ULONG WriteCopyFaults;
- ULONG TransitionFaults;
- ULONG CacheTransitionFaults;
- ULONG DemandZeroFaults;
- ULONG PagesRead;
- ULONG PageReadIos;
- ULONG CacheReads;
- ULONG CacheIos;
- ULONG PagefilePagesWritten;
- ULONG PagefilePageWriteIos;
- ULONG MappedFilePagesWritten;
- ULONG MappedFilePageWriteIos;
- ULONG PagedPoolUsage;
- ULONG NonPagedPoolUsage;
- ULONG PagedPoolAllocs;
- ULONG PagedPoolFrees;
- ULONG NonPagedPoolAllocs;
- ULONG NonPagedPoolFrees;
- ULONG TotalFreeSystemPtes;
- ULONG SystemCodePage;
- ULONG TotalSystemDriverPages;
- ULONG TotalSystemCodePages;
- ULONG SmallNonPagedLookasideListAllocateHits;
- ULONG SmallPagedLookasideListAllocateHits;
- ULONG Reserved3;
- ULONG MmSystemCachePage;
- ULONG PagedPoolPage;
- ULONG SystemDriverPage;
- ULONG FastReadNoWait;
- ULONG FastReadWait;
- ULONG FastReadResourceMiss;
- ULONG FastReadNotPossible;
- ULONG FastMdlReadNoWait;
- ULONG FastMdlReadWait;
- ULONG FastMdlReadResourceMiss;
- ULONG FastMdlReadNotPossible;
- ULONG MapDataNoWait;
- ULONG MapDataWait;
- ULONG MapDataNoWaitMiss;
- ULONG MapDataWaitMiss;
- ULONG PinMappedDataCount;
- ULONG PinReadNoWait;
- ULONG PinReadWait;
- ULONG PinReadNoWaitMiss;
- ULONG PinReadWaitMiss;
- ULONG CopyReadNoWait;
- ULONG CopyReadWait;
- ULONG CopyReadNoWaitMiss;
- ULONG CopyReadWaitMiss;
- ULONG MdlReadNoWait;
- ULONG MdlReadWait;
- ULONG MdlReadNoWaitMiss;
- ULONG MdlReadWaitMiss;
- ULONG ReadAheadIos;
- ULONG LazyWriteIos;
- ULONG LazyWritePages;
- ULONG DataFlushes;
- ULONG DataPages;
- ULONG ContextSwitches;
- ULONG FirstLevelTbFills;
- ULONG SecondLevelTbFills;
- ULONG SystemCalls;
-} SYSTEM_PERFORMANCE_INFORMATION, *PSYSTEM_PERFORMANCE_INFORMATION;
-
-typedef struct _SYSTEM_TIME_OF_DAY_INFORMATION {
- LARGE_INTEGER BootTime;
- LARGE_INTEGER CurrentTime;
- LARGE_INTEGER TimeZoneBias;
- ULONG CurrentTimeZoneId;
-} SYSTEM_TIME_OF_DAY_INFORMATION, *PSYSTEM_TIME_OF_DAY_INFORMATION;
-
-typedef struct _VM_COUNTERS {
- ULONG PeakVirtualSize;
- ULONG VirtualSize;
- ULONG PageFaultCount;
- ULONG PeakWorkingSetSize;
- ULONG WorkingSetSize;
- ULONG QuotaPeakPagedPoolUsage;
- ULONG QuotaPagedPoolUsage;
- ULONG QuotaPeakNonPagedPoolUsage;
- ULONG QuotaNonPagedPoolUsage;
- ULONG PagefileUsage;
- ULONG PeakPagefileUsage;
-} VM_COUNTERS;
-
-typedef enum _THREAD_STATE {
- StateInitialized,
- StateReady,
- StateRunning,
- StateStandby,
- StateTerminated,
- StateWait,
- StateTransition,
- StateUnknown
-} THREAD_STATE;
-
-typedef struct _SYSTEM_THREADS {
- LARGE_INTEGER KernelTime;
- LARGE_INTEGER UserTime;
- LARGE_INTEGER CreateTime;
- ULONG WaitTime;
- PVOID StartAddress;
- CLIENT_ID ClientId;
- KPRIORITY Priority;
- KPRIORITY BasePriority;
- ULONG ContextSwitchCount;
- THREAD_STATE State;
- KWAIT_REASON WaitReason;
-} SYSTEM_THREADS, *PSYSTEM_THREADS;
-
-typedef struct _SYSTEM_PROCESSES {
- ULONG NextEntryDelta;
- ULONG ThreadCount;
- ULONG Reserved1[6];
- LARGE_INTEGER CreateTime;
- LARGE_INTEGER UserTime;
- LARGE_INTEGER KernelTime;
- UNICODE_STRING ProcessName;
- KPRIORITY BasePriority;
- ULONG ProcessId;
- ULONG InheritedFromProcessId;
- ULONG HandleCount;
- ULONG Reserved2[2];
- VM_COUNTERS VmCounters;
- IO_COUNTERS IoCounters;
- SYSTEM_THREADS Threads[1];
-} SYSTEM_PROCESSES, *PSYSTEM_PROCESSES;
-
-typedef struct _SYSTEM_CALLS_INFORMATION {
- ULONG Size;
- ULONG NumberOfDescriptorTables;
- ULONG NumberOfRoutinesInTable[1];
- ULONG CallCounts[ANYSIZE_ARRAY];
-} SYSTEM_CALLS_INFORMATION, *PSYSTEM_CALLS_INFORMATION;
-
-typedef struct _SYSTEM_CONFIGURATION_INFORMATION {
- ULONG DiskCount;
- ULONG FloppyCount;
- ULONG CdRomCount;
- ULONG TapeCount;
- ULONG SerialCount;
- ULONG ParallelCount;
-} SYSTEM_CONFIGURATION_INFORMATION, *PSYSTEM_CONFIGURATION_INFORMATION;
-
-typedef struct _SYSTEM_PROCESSOR_TIMES {
- LARGE_INTEGER IdleTime;
- LARGE_INTEGER KernelTime;
- LARGE_INTEGER UserTime;
- LARGE_INTEGER DpcTime;
- LARGE_INTEGER InterruptTime;
- ULONG InterruptCount;
-} SYSTEM_PROCESSOR_TIMES, *PSYSTEM_PROCESSOR_TIMES;
-
-/* SYSTEM_GLOBAL_FLAG.GlobalFlag constants */
-#define FLG_STOP_ON_EXCEPTION 0x00000001
-#define FLG_SHOW_LDR_SNAPS 0x00000002
-#define FLG_DEBUG_INITIAL_COMMAND 0x00000004
-#define FLG_STOP_ON_HUNG_GUI 0x00000008
-#define FLG_HEAP_ENABLE_TAIL_CHECK 0x00000010
-#define FLG_HEAP_ENABLE_FREE_CHECK 0x00000020
-#define FLG_HEAP_VALIDATE_PARAMETERS 0x00000040
-#define FLG_HEAP_VALIDATE_ALL 0x00000080
-#define FLG_POOL_ENABLE_TAIL_CHECK 0x00000100
-#define FLG_POOL_ENABLE_FREE_CHECK 0x00000200
-#define FLG_POOL_ENABLE_TAGGING 0x00000400
-#define FLG_HEAP_ENABLE_TAGGING 0x00000800
-#define FLG_USER_STACK_TRACE_DB 0x00001000
-#define FLG_KERNEL_STACK_TRACE_DB 0x00002000
-#define FLG_MAINTAIN_OBJECT_TYPELIST 0x00004000
-#define FLG_HEAP_ENABLE_TAG_BY_DLL 0x00008000
-#define FLG_IGNORE_DEBUG_PRIV 0x00010000
-#define FLG_ENABLE_CSRDEBUG 0x00020000
-#define FLG_ENABLE_KDEBUG_SYMBOL_LOAD 0x00040000
-#define FLG_DISABLE_PAGE_KERNEL_STACKS 0x00080000
-#define FLG_HEAP_ENABLE_CALL_TRACING 0x00100000
-#define FLG_HEAP_DISABLE_COALESCING 0x00200000
-#define FLG_ENABLE_CLOSE_EXCEPTIONS 0x00400000
-#define FLG_ENABLE_EXCEPTION_LOGGING 0x00800000
-#define FLG_ENABLE_DBGPRINT_BUFFERING 0x08000000
-
-typedef struct _SYSTEM_GLOBAL_FLAG {
- ULONG GlobalFlag;
-} SYSTEM_GLOBAL_FLAG, *PSYSTEM_GLOBAL_FLAG;
-
-typedef struct _SYSTEM_MODULE_INFORMATION_ENTRY {
- ULONG Unknown1;
- ULONG Unknown2;
- PVOID Base;
- ULONG Size;
- ULONG Flags;
- USHORT Index;
- /* Length of module name not including the path, this
- field contains valid value only for NTOSKRNL module */
- USHORT NameLength;
- USHORT LoadCount;
- USHORT PathLength;
- CHAR ImageName[256];
-} SYSTEM_MODULE_INFORMATION_ENTRY, *PSYSTEM_MODULE_INFORMATION_ENTRY;
-
-typedef struct _SYSTEM_MODULE_INFORMATION {
- ULONG Count;
- SYSTEM_MODULE_INFORMATION_ENTRY Module[1];
-} SYSTEM_MODULE_INFORMATION, *PSYSTEM_MODULE_INFORMATION;
-
-typedef struct _SYSTEM_LOCK_INFORMATION {
- PVOID Address;
- USHORT Type;
- USHORT Reserved1;
- ULONG ExclusiveOwnerThreadId;
- ULONG ActiveCount;
- ULONG ContentionCount;
- ULONG Reserved2[2];
- ULONG NumberOfSharedWaiters;
- ULONG NumberOfExclusiveWaiters;
-} SYSTEM_LOCK_INFORMATION, *PSYSTEM_LOCK_INFORMATION;
-
-/*SYSTEM_HANDLE_INFORMATION.Flags cosntants */
-#define PROTECT_FROM_CLOSE 0x01
-#define INHERIT 0x02
-
-typedef struct _SYSTEM_HANDLE_INFORMATION {
- ULONG ProcessId;
- UCHAR ObjectTypeNumber;
- UCHAR Flags;
- USHORT Handle;
- PVOID Object;
- ACCESS_MASK GrantedAccess;
-} SYSTEM_HANDLE_INFORMATION, *PSYSTEM_HANDLE_INFORMATION;
-
-typedef struct _SYSTEM_OBJECT_TYPE_INFORMATION {
- ULONG NextEntryOffset;
- ULONG ObjectCount;
- ULONG HandleCount;
- ULONG TypeNumber;
- ULONG InvalidAttributes;
- GENERIC_MAPPING GenericMapping;
- ACCESS_MASK ValidAccessMask;
- POOL_TYPE PoolType;
- UCHAR Unknown;
- UNICODE_STRING Name;
-} SYSTEM_OBJECT_TYPE_INFORMATION, *PSYSTEM_OBJECT_TYPE_INFORMATION;
-
-/* SYSTEM_OBJECT_INFORMATION.Flags constants */
-#define FLG_SYSOBJINFO_SINGLE_HANDLE_ENTRY 0x40
-#define FLG_SYSOBJINFO_DEFAULT_SECURITY_QUOTA 0x20
-#define FLG_SYSOBJINFO_PERMANENT 0x10
-#define FLG_SYSOBJINFO_EXCLUSIVE 0x08
-#define FLG_SYSOBJINFO_CREATOR_INFO 0x04
-#define FLG_SYSOBJINFO_KERNEL_MODE 0x02
-
-typedef struct _SYSTEM_OBJECT_INFORMATION {
- ULONG NextEntryOffset;
- PVOID Object;
- ULONG CreatorProcessId;
- USHORT Unknown;
- USHORT Flags;
- ULONG PointerCount;
- ULONG HandleCount;
- ULONG PagedPoolUsage;
- ULONG NonPagedPoolUsage;
- ULONG ExclusiveProcessId;
- PSECURITY_DESCRIPTOR SecurityDescriptor;
- UNICODE_STRING Name;
-} SYSTEM_OBJECT_INFORMATION, *PSYSTEM_OBJECT_INFORMATION;
-
-typedef struct _SYSTEM_PAGEFILE_INFORMATION {
- ULONG NextEntryOffset;
- ULONG CurrentSize;
- ULONG TotalUsed;
- ULONG PeakUsed;
- UNICODE_STRING FileName;
-} SYSTEM_PAGEFILE_INFORMATION, *PSYSTEM_PAGEFILE_INFORMATION;
-
-typedef struct _SYSTEM_INSTRUCTION_EMULATION_INFORMATION {
- ULONG SegmentNotPresent;
- ULONG TwoByteOpcode;
- ULONG ESprefix;
- ULONG CSprefix;
- ULONG SSprefix;
- ULONG DSprefix;
- ULONG FSPrefix;
- ULONG GSprefix;
- ULONG OPER32prefix;
- ULONG ADDR32prefix;
- ULONG INSB;
- ULONG INSW;
- ULONG OUTSB;
- ULONG OUTSW;
- ULONG PUSHFD;
- ULONG POPFD;
- ULONG INTnn;
- ULONG INTO;
- ULONG IRETD;
- ULONG INBimm;
- ULONG INWimm;
- ULONG OUTBimm;
- ULONG OUTWimm;
- ULONG INB;
- ULONG INW;
- ULONG OUTB;
- ULONG OUTW;
- ULONG LOCKprefix;
- ULONG REPNEprefix;
- ULONG REPprefix;
- ULONG HLT;
- ULONG CLI;
- ULONG STI;
- ULONG GenericInvalidOpcode;
-} SYSTEM_INSTRUCTION_EMULATION_INFORMATION, *PSYSTEM_INSTRUCTION_EMULATION_INFORMATION;
-
-typedef struct _SYSTEM_POOL_TAG_INFORMATION {
- CHAR Tag[4];
- ULONG PagedPoolAllocs;
- ULONG PagedPoolFrees;
- ULONG PagedPoolUsage;
- ULONG NonPagedPoolAllocs;
- ULONG NonPagedPoolFrees;
- ULONG NonPagedPoolUsage;
-} SYSTEM_POOL_TAG_INFORMATION, *PSYSTEM_POOL_TAG_INFORMATION;
-
-typedef struct _SYSTEM_PROCESSOR_STATISTICS {
- ULONG ContextSwitches;
- ULONG DpcCount;
- ULONG DpcRequestRate;
- ULONG TimeIncrement;
- ULONG DpcBypassCount;
- ULONG ApcBypassCount;
-} SYSTEM_PROCESSOR_STATISTICS, *PSYSTEM_PROCESSOR_STATISTICS;
-
-typedef struct _SYSTEM_DPC_INFORMATION {
- ULONG Reserved;
- ULONG MaximumDpcQueueDepth;
- ULONG MinimumDpcRate;
- ULONG AdjustDpcThreshold;
- ULONG IdealDpcRate;
-} SYSTEM_DPC_INFORMATION, *PSYSTEM_DPC_INFORMATION;
-
-typedef struct _SYSTEM_LOAD_IMAGE {
- UNICODE_STRING ModuleName;
- PVOID ModuleBase;
- PVOID SectionPointer;
- PVOID EntryPoint;
- PVOID ExportDirectory;
-} SYSTEM_LOAD_IMAGE, *PSYSTEM_LOAD_IMAGE;
-
-typedef struct _SYSTEM_UNLOAD_IMAGE {
- PVOID ModuleBase;
-} SYSTEM_UNLOAD_IMAGE, *PSYSTEM_UNLOAD_IMAGE;
-
-typedef struct _SYSTEM_QUERY_TIME_ADJUSTMENT {
- ULONG TimeAdjustment;
- ULONG MaximumIncrement;
- BOOLEAN TimeSynchronization;
-} SYSTEM_QUERY_TIME_ADJUSTMENT, *PSYSTEM_QUERY_TIME_ADJUSTMENT;
-
-typedef struct _SYSTEM_SET_TIME_ADJUSTMENT {
- ULONG TimeAdjustment;
- BOOLEAN TimeSynchronization;
-} SYSTEM_SET_TIME_ADJUSTMENT, *PSYSTEM_SET_TIME_ADJUSTMENT;
-
-typedef struct _SYSTEM_CRASH_DUMP_INFORMATION {
- HANDLE CrashDumpSectionHandle;
- HANDLE Unknown;
-} SYSTEM_CRASH_DUMP_INFORMATION, *PSYSTEM_CRASH_DUMP_INFORMATION;
-
-typedef struct _SYSTEM_EXCEPTION_INFORMATION {
- ULONG AlignmentFixupCount;
- ULONG ExceptionDispatchCount;
- ULONG FloatingEmulationCount;
- ULONG Reserved;
-} SYSTEM_EXCEPTION_INFORMATION, *PSYSTEM_EXCEPTION_INFORMATION;
-
-typedef struct _SYSTEM_CRASH_DUMP_STATE_INFORMATION {
- ULONG CrashDumpSectionExists;
- ULONG Unknown;
-} SYSTEM_CRASH_DUMP_STATE_INFORMATION, *PSYSTEM_CRASH_DUMP_STATE_INFORMATION;
-
-typedef struct _SYSTEM_KERNEL_DEBUGGER_INFORMATION {
- BOOLEAN DebuggerEnabled;
- BOOLEAN DebuggerNotPresent;
-} SYSTEM_KERNEL_DEBUGGER_INFORMATION, *PSYSTEM_KERNEL_DEBUGGER_INFORMATION;
-
-typedef struct _SYSTEM_CONTEXT_SWITCH_INFORMATION {
- ULONG ContextSwitches;
- ULONG ContextSwitchCounters[11];
-} SYSTEM_CONTEXT_SWITCH_INFORMATION, *PSYSTEM_CONTEXT_SWITCH_INFORMATION;
-
-typedef struct _SYSTEM_REGISTRY_QUOTA_INFORMATION {
- ULONG RegistryQuota;
- ULONG RegistryQuotaInUse;
- ULONG PagedPoolSize;
-} SYSTEM_REGISTRY_QUOTA_INFORMATION, *PSYSTEM_REGISTRY_QUOTA_INFORMATION;
-
-typedef struct _SYSTEM_LOAD_AND_CALL_IMAGE {
- UNICODE_STRING ModuleName;
-} SYSTEM_LOAD_AND_CALL_IMAGE, *PSYSTEM_LOAD_AND_CALL_IMAGE;
-
-typedef struct _SYSTEM_PRIORITY_SEPARATION {
- ULONG PrioritySeparation;
-} SYSTEM_PRIORITY_SEPARATION, *PSYSTEM_PRIORITY_SEPARATION;
-
-typedef struct _SYSTEM_TIME_ZONE_INFORMATION {
- LONG Bias;
- WCHAR StandardName[32];
- LARGE_INTEGER StandardDate;
- LONG StandardBias;
- WCHAR DaylightName[32];
- LARGE_INTEGER DaylightDate;
- LONG DaylightBias;
-} SYSTEM_TIME_ZONE_INFORMATION, *PSYSTEM_TIME_ZONE_INFORMATION;
-
-typedef struct _SYSTEM_LOOKASIDE_INFORMATION {
- USHORT Depth;
- USHORT MaximumDepth;
- ULONG TotalAllocates;
- ULONG AllocateMisses;
- ULONG TotalFrees;
- ULONG FreeMisses;
- POOL_TYPE Type;
- ULONG Tag;
- ULONG Size;
-} SYSTEM_LOOKASIDE_INFORMATION, *PSYSTEM_LOOKASIDE_INFORMATION;
-
-typedef struct _SYSTEM_SET_TIME_SLIP_EVENT {
- HANDLE TimeSlipEvent;
-} SYSTEM_SET_TIME_SLIP_EVENT, *PSYSTEM_SET_TIME_SLIP_EVENT;
-
-typedef struct _SYSTEM_CREATE_SESSION {
- ULONG SessionId;
-} SYSTEM_CREATE_SESSION, *PSYSTEM_CREATE_SESSION;
-
-typedef struct _SYSTEM_DELETE_SESSION {
- ULONG SessionId;
-} SYSTEM_DELETE_SESSION, *PSYSTEM_DELETE_SESSION;
-
-typedef struct _SYSTEM_RANGE_START_INFORMATION {
- PVOID SystemRangeStart;
-} SYSTEM_RANGE_START_INFORMATION, *PSYSTEM_RANGE_START_INFORMATION;
-
-typedef struct _SYSTEM_SESSION_PROCESSES_INFORMATION {
- ULONG SessionId;
- ULONG BufferSize;
- PVOID Buffer;
-} SYSTEM_SESSION_PROCESSES_INFORMATION, *PSYSTEM_SESSION_PROCESSES_INFORMATION;
-
-typedef struct _SYSTEM_POOL_BLOCK {
- BOOLEAN Allocated;
- USHORT Unknown;
- ULONG Size;
- CHAR Tag[4];
-} SYSTEM_POOL_BLOCK, *PSYSTEM_POOL_BLOCK;
-
-typedef struct _SYSTEM_POOL_BLOCKS_INFORMATION {
- ULONG PoolSize;
- PVOID PoolBase;
- USHORT Unknown;
- ULONG NumberOfBlocks;
- SYSTEM_POOL_BLOCK PoolBlocks[1];
-} SYSTEM_POOL_BLOCKS_INFORMATION, *PSYSTEM_POOL_BLOCKS_INFORMATION;
-
-typedef struct _SYSTEM_MEMORY_USAGE {
- PVOID Name;
- USHORT Valid;
- USHORT Standby;
- USHORT Modified;
- USHORT PageTables;
-} SYSTEM_MEMORY_USAGE, *PSYSTEM_MEMORY_USAGE;
-
-typedef struct _SYSTEM_MEMORY_USAGE_INFORMATION {
- ULONG Reserved;
- PVOID EndOfData;
- SYSTEM_MEMORY_USAGE MemoryUsage[1];
-} SYSTEM_MEMORY_USAGE_INFORMATION, *PSYSTEM_MEMORY_USAGE_INFORMATION;
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtQuerySystemInformation(
- IN SYSTEM_INFORMATION_CLASS SystemInformationClass,
- IN OUT PVOID SystemInformation,
- IN ULONG SystemInformationLength,
- OUT PULONG ReturnLength OPTIONAL);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwQuerySystemInformation(
- IN SYSTEM_INFORMATION_CLASS SystemInformationClass,
- IN OUT PVOID SystemInformation,
- IN ULONG SystemInformationLength,
- OUT PULONG ReturnLength OPTIONAL);
-
-NTOSAPI
-NTAPI
-NTSTATUS
-NtQueryFullAttributesFile(
- IN POBJECT_ATTRIBUTES ObjectAttributes,
- OUT PFILE_NETWORK_OPEN_INFORMATION FileInformation);
-
-NTOSAPI
-NTAPI
-NTSTATUS
-ZwQueryFullAttributesFile(
- IN POBJECT_ATTRIBUTES ObjectAttributes,
- OUT PFILE_NETWORK_OPEN_INFORMATION FileInformation);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwSetSystemInformation(
- IN SYSTEM_INFORMATION_CLASS SystemInformationClass,
- IN OUT PVOID SystemInformation,
- IN ULONG SystemInformationLength);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwQuerySystemEnvironmentValue(
- IN PUNICODE_STRING Name,
- OUT PVOID Value,
- IN ULONG ValueLength,
- OUT PULONG ReturnLength OPTIONAL);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwSetSystemEnvironmentValue(
- IN PUNICODE_STRING Name,
- IN PUNICODE_STRING Value);
-
-typedef enum _SHUTDOWN_ACTION {
- ShutdownNoReboot,
- ShutdownReboot,
- ShutdownPowerOff
-} SHUTDOWN_ACTION;
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtShutdownSystem(
- IN SHUTDOWN_ACTION Action);
-
-typedef enum _DEBUG_CONTROL_CODE {
- DebugGetTraceInformation = 1,
- DebugSetInternalBreakpoint,
- DebugSetSpecialCall,
- DebugClearSpecialCalls,
- DebugQuerySpecialCalls,
- DebugDbgBreakPoint,
- DebugMaximum
-} DEBUG_CONTROL_CODE;
-
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwSystemDebugControl(
- IN DEBUG_CONTROL_CODE ControlCode,
- IN PVOID InputBuffer OPTIONAL,
- IN ULONG InputBufferLength,
- OUT PVOID OutputBuffer OPTIONAL,
- IN ULONG OutputBufferLength,
- OUT PULONG ReturnLength OPTIONAL);
-
-
-
-/* Objects, Object directories, and symbolic links */
-
-typedef enum _OBJECT_INFORMATION_CLASS {
- ObjectBasicInformation,
- ObjectNameInformation,
- ObjectTypeInformation,
- ObjectAllTypesInformation,
- ObjectHandleInformation
-} OBJECT_INFORMATION_CLASS;
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwQueryObject(
- IN HANDLE ObjectHandle,
- IN OBJECT_INFORMATION_CLASS ObjectInformationClass,
- OUT PVOID ObjectInformation,
- IN ULONG ObjectInformationLength,
- OUT PULONG ReturnLength OPTIONAL);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwSetInformationObject(
- IN HANDLE ObjectHandle,
- IN OBJECT_INFORMATION_CLASS ObjectInformationClass,
- IN PVOID ObjectInformation,
- IN ULONG ObjectInformationLength);
-
-/* OBJECT_BASIC_INFORMATION.Attributes constants */
-/* also in winbase.h */
-#define HANDLE_FLAG_INHERIT 0x01
-#define HANDLE_FLAG_PROTECT_FROM_CLOSE 0x02
-/* end winbase.h */
-#define PERMANENT 0x10
-#define EXCLUSIVE 0x20
-
-typedef struct _OBJECT_BASIC_INFORMATION {
- ULONG Attributes;
- ACCESS_MASK GrantedAccess;
- ULONG HandleCount;
- ULONG PointerCount;
- ULONG PagedPoolUsage;
- ULONG NonPagedPoolUsage;
- ULONG Reserved[3];
- ULONG NameInformationLength;
- ULONG TypeInformationLength;
- ULONG SecurityDescriptorLength;
- LARGE_INTEGER CreateTime;
-} OBJECT_BASIC_INFORMATION, *POBJECT_BASIC_INFORMATION;
-#if 0
-/* FIXME: Enable later */
-typedef struct _OBJECT_TYPE_INFORMATION {
- UNICODE_STRING Name;
- ULONG ObjectCount;
- ULONG HandleCount;
- ULONG Reserved1[4];
- ULONG PeakObjectCount;
- ULONG PeakHandleCount;
- ULONG Reserved2[4];
- ULONG InvalidAttributes;
- GENERIC_MAPPING GenericMapping;
- ULONG ValidAccess;
- UCHAR Unknown;
- BOOLEAN MaintainHandleDatabase;
- POOL_TYPE PoolType;
- ULONG PagedPoolUsage;
- ULONG NonPagedPoolUsage;
-} OBJECT_TYPE_INFORMATION, *POBJECT_TYPE_INFORMATION;
-
-typedef struct _OBJECT_ALL_TYPES_INFORMATION {
- ULONG NumberOfTypes;
- OBJECT_TYPE_INFORMATION TypeInformation;
-} OBJECT_ALL_TYPES_INFORMATION, *POBJECT_ALL_TYPES_INFORMATION;
-#endif
-typedef struct _OBJECT_HANDLE_ATTRIBUTE_INFORMATION {
- BOOLEAN Inherit;
- BOOLEAN ProtectFromClose;
-} OBJECT_HANDLE_ATTRIBUTE_INFORMATION, *POBJECT_HANDLE_ATTRIBUTE_INFORMATION;
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtDuplicateObject(
- IN HANDLE SourceProcessHandle,
- IN HANDLE SourceHandle,
- IN HANDLE TargetProcessHandle,
- OUT PHANDLE TargetHandle OPTIONAL,
- IN ACCESS_MASK DesiredAccess,
- IN ULONG Attributes,
- IN ULONG Options);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwDuplicateObject(
- IN HANDLE SourceProcessHandle,
- IN HANDLE SourceHandle,
- IN HANDLE TargetProcessHandle,
- OUT PHANDLE TargetHandle OPTIONAL,
- IN ACCESS_MASK DesiredAccess,
- IN ULONG Attributes,
- IN ULONG Options);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtQuerySecurityObject(
- IN HANDLE Handle,
- IN SECURITY_INFORMATION SecurityInformation,
- OUT PSECURITY_DESCRIPTOR SecurityDescriptor,
- IN ULONG SecurityDescriptorLength,
- OUT PULONG ReturnLength);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwQuerySecurityObject(
- IN HANDLE Handle,
- IN SECURITY_INFORMATION SecurityInformation,
- OUT PSECURITY_DESCRIPTOR SecurityDescriptor,
- IN ULONG SecurityDescriptorLength,
- OUT PULONG ReturnLength);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtSetSecurityObject(
- IN HANDLE Handle,
- IN SECURITY_INFORMATION SecurityInformation,
- IN PSECURITY_DESCRIPTOR SecurityDescriptor);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwSetSecurityObject(
- IN HANDLE Handle,
- IN SECURITY_INFORMATION SecurityInformation,
- IN PSECURITY_DESCRIPTOR SecurityDescriptor);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwOpenDirectoryObject(
- OUT PHANDLE DirectoryHandle,
- IN ACCESS_MASK DesiredAccess,
- IN POBJECT_ATTRIBUTES ObjectAttributes);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwQueryDirectoryObject(
- IN HANDLE DirectoryHandle,
- OUT PVOID Buffer,
- IN ULONG BufferLength,
- IN BOOLEAN ReturnSingleEntry,
- IN BOOLEAN RestartScan,
- IN OUT PULONG Context,
- OUT PULONG ReturnLength OPTIONAL);
-
-typedef struct _DIRECTORY_BASIC_INFORMATION {
- UNICODE_STRING ObjectName;
- UNICODE_STRING ObjectTypeName;
-} DIRECTORY_BASIC_INFORMATION, *PDIRECTORY_BASIC_INFORMATION;
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwCreateSymbolicLinkObject(
- OUT PHANDLE SymbolicLinkHandle,
- IN ACCESS_MASK DesiredAccess,
- IN POBJECT_ATTRIBUTES ObjectAttributes,
- IN PUNICODE_STRING TargetName);
-
-
-
-
-/* Virtual memory */
-
-typedef enum _MEMORY_INFORMATION_CLASS {
-MemoryBasicInformation,
-MemoryWorkingSetList,
-MemorySectionName,
-MemoryBasicVlmInformation
-} MEMORY_INFORMATION_CLASS;
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtAllocateVirtualMemory(
- IN HANDLE ProcessHandle,
- IN OUT PVOID *BaseAddress,
- IN ULONG ZeroBits,
- IN OUT PULONG AllocationSize,
- IN ULONG AllocationType,
- IN ULONG Protect);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwAllocateVirtualMemory(
- IN HANDLE ProcessHandle,
- IN OUT PVOID *BaseAddress,
- IN ULONG ZeroBits,
- IN OUT PULONG AllocationSize,
- IN ULONG AllocationType,
- IN ULONG Protect);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtFreeVirtualMemory(
- IN HANDLE ProcessHandle,
- IN OUT PVOID *BaseAddress,
- IN OUT PULONG FreeSize,
- IN ULONG FreeType);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwFreeVirtualMemory(
- IN HANDLE ProcessHandle,
- IN OUT PVOID *BaseAddress,
- IN OUT PULONG FreeSize,
- IN ULONG FreeType);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwQueryVirtualMemory(
- IN HANDLE ProcessHandle,
- IN PVOID BaseAddress,
- IN MEMORY_INFORMATION_CLASS MemoryInformationClass,
- OUT PVOID MemoryInformation,
- IN ULONG MemoryInformationLength,
- OUT PULONG ReturnLength OPTIONAL);
-
-/* MEMORY_WORKING_SET_LIST.WorkingSetList constants */
-#define WSLE_PAGE_READONLY 0x001
-#define WSLE_PAGE_EXECUTE 0x002
-#define WSLE_PAGE_READWRITE 0x004
-#define WSLE_PAGE_EXECUTE_READ 0x003
-#define WSLE_PAGE_WRITECOPY 0x005
-#define WSLE_PAGE_EXECUTE_READWRITE 0x006
-#define WSLE_PAGE_EXECUTE_WRITECOPY 0x007
-#define WSLE_PAGE_SHARE_COUNT_MASK 0x0E0
-#define WSLE_PAGE_SHAREABLE 0x100
-
-typedef struct _MEMORY_WORKING_SET_LIST {
- ULONG NumberOfPages;
- ULONG WorkingSetList[1];
-} MEMORY_WORKING_SET_LIST, *PMEMORY_WORKING_SET_LIST;
-
-typedef struct _MEMORY_SECTION_NAME {
- UNICODE_STRING SectionFileName;
-} MEMORY_SECTION_NAME, *PMEMORY_SECTION_NAME;
-
-/* Zw[Lock|Unlock]VirtualMemory.LockType constants */
-#define LOCK_VM_IN_WSL 0x01
-#define LOCK_VM_IN_RAM 0x02
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwLockVirtualMemory(
- IN HANDLE ProcessHandle,
- IN OUT PVOID *BaseAddress,
- IN OUT PULONG LockSize,
- IN ULONG LockType);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwUnlockVirtualMemory(
- IN HANDLE ProcessHandle,
- IN OUT PVOID *BaseAddress,
- IN OUT PULONG LockSize,
- IN ULONG LockType);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwReadVirtualMemory(
- IN HANDLE ProcessHandle,
- IN PVOID BaseAddress,
- OUT PVOID Buffer,
- IN ULONG BufferLength,
- OUT PULONG ReturnLength OPTIONAL);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwWriteVirtualMemory(
- IN HANDLE ProcessHandle,
- IN PVOID BaseAddress,
- IN PVOID Buffer,
- IN ULONG BufferLength,
- OUT PULONG ReturnLength OPTIONAL);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwProtectVirtualMemory(
- IN HANDLE ProcessHandle,
- IN OUT PVOID *BaseAddress,
- IN OUT PULONG ProtectSize,
- IN ULONG NewProtect,
- OUT PULONG OldProtect);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwFlushVirtualMemory(
- IN HANDLE ProcessHandle,
- IN OUT PVOID *BaseAddress,
- IN OUT PULONG FlushSize,
- OUT PIO_STATUS_BLOCK IoStatusBlock);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwAllocateUserPhysicalPages(
- IN HANDLE ProcessHandle,
- IN PULONG NumberOfPages,
- OUT PULONG PageFrameNumbers);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwFreeUserPhysicalPages(
- IN HANDLE ProcessHandle,
- IN OUT PULONG NumberOfPages,
- IN PULONG PageFrameNumbers);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwMapUserPhysicalPages(
- IN PVOID BaseAddress,
- IN PULONG NumberOfPages,
- IN PULONG PageFrameNumbers);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwMapUserPhysicalPagesScatter(
- IN PVOID *BaseAddresses,
- IN PULONG NumberOfPages,
- IN PULONG PageFrameNumbers);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwGetWriteWatch(
- IN HANDLE ProcessHandle,
- IN ULONG Flags,
- IN PVOID BaseAddress,
- IN ULONG RegionSize,
- OUT PULONG Buffer,
- IN OUT PULONG BufferEntries,
- OUT PULONG Granularity);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwResetWriteWatch(
- IN HANDLE ProcessHandle,
- IN PVOID BaseAddress,
- IN ULONG RegionSize);
-
-
-
-
-/* Sections */
-
-typedef enum _SECTION_INFORMATION_CLASS {
- SectionBasicInformation,
- SectionImageInformation
-} SECTION_INFORMATION_CLASS;
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtCreateSection(
- OUT PHANDLE SectionHandle,
- IN ACCESS_MASK DesiredAccess,
- IN POBJECT_ATTRIBUTES ObjectAttributes,
- IN PLARGE_INTEGER SectionSize OPTIONAL,
- IN ULONG Protect,
- IN ULONG Attributes,
- IN HANDLE FileHandle);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwCreateSection(
- OUT PHANDLE SectionHandle,
- IN ACCESS_MASK DesiredAccess,
- IN POBJECT_ATTRIBUTES ObjectAttributes,
- IN PLARGE_INTEGER SectionSize OPTIONAL,
- IN ULONG Protect,
- IN ULONG Attributes,
- IN HANDLE FileHandle);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwQuerySection(
- IN HANDLE SectionHandle,
- IN SECTION_INFORMATION_CLASS SectionInformationClass,
- OUT PVOID SectionInformation,
- IN ULONG SectionInformationLength,
- OUT PULONG ResultLength OPTIONAL);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwExtendSection(
- IN HANDLE SectionHandle,
- IN PLARGE_INTEGER SectionSize);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwAreMappedFilesTheSame(
- IN PVOID Address1,
- IN PVOID Address2);
-
-
-
-
-/* Threads */
-
-typedef struct _USER_STACK {
- PVOID FixedStackBase;
- PVOID FixedStackLimit;
- PVOID ExpandableStackBase;
- PVOID ExpandableStackLimit;
- PVOID ExpandableStackBottom;
-} USER_STACK, *PUSER_STACK;
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwCreateThread(
- OUT PHANDLE ThreadHandle,
- IN ACCESS_MASK DesiredAccess,
- IN POBJECT_ATTRIBUTES ObjectAttributes,
- IN HANDLE ProcessHandle,
- OUT PCLIENT_ID ClientId,
- IN PCONTEXT ThreadContext,
- IN PUSER_STACK UserStack,
- IN BOOLEAN CreateSuspended);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtOpenThread(
- OUT PHANDLE ThreadHandle,
- IN ACCESS_MASK DesiredAccess,
- IN POBJECT_ATTRIBUTES ObjectAttributes,
- IN PCLIENT_ID ClientId);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwOpenThread(
- OUT PHANDLE ThreadHandle,
- IN ACCESS_MASK DesiredAccess,
- IN POBJECT_ATTRIBUTES ObjectAttributes,
- IN PCLIENT_ID ClientId);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwTerminateThread(
- IN HANDLE ThreadHandle OPTIONAL,
- IN NTSTATUS ExitStatus);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtQueryInformationThread(
- IN HANDLE ThreadHandle,
- IN THREADINFOCLASS ThreadInformationClass,
- OUT PVOID ThreadInformation,
- IN ULONG ThreadInformationLength,
- OUT PULONG ReturnLength OPTIONAL);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwQueryInformationThread(
- IN HANDLE ThreadHandle,
- IN THREADINFOCLASS ThreadInformationClass,
- OUT PVOID ThreadInformation,
- IN ULONG ThreadInformationLength,
- OUT PULONG ReturnLength OPTIONAL);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtSetInformationThread(
- IN HANDLE ThreadHandle,
- IN THREADINFOCLASS ThreadInformationClass,
- IN PVOID ThreadInformation,
- IN ULONG ThreadInformationLength);
-
-typedef struct _THREAD_BASIC_INFORMATION {
- NTSTATUS ExitStatus;
- PNT_TIB TebBaseAddress;
- CLIENT_ID ClientId;
- KAFFINITY AffinityMask;
- KPRIORITY Priority;
- KPRIORITY BasePriority;
-} THREAD_BASIC_INFORMATION, *PTHREAD_BASIC_INFORMATION;
-
-typedef struct _KERNEL_USER_TIMES {
- LARGE_INTEGER CreateTime;
- LARGE_INTEGER ExitTime;
- LARGE_INTEGER KernelTime;
- LARGE_INTEGER UserTime;
-} KERNEL_USER_TIMES, *PKERNEL_USER_TIMES;
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwSuspendThread(
- IN HANDLE ThreadHandle,
- OUT PULONG PreviousSuspendCount OPTIONAL);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwResumeThread(
- IN HANDLE ThreadHandle,
- OUT PULONG PreviousSuspendCount OPTIONAL);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwGetContextThread(
- IN HANDLE ThreadHandle,
- OUT PCONTEXT Context);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwSetContextThread(
- IN HANDLE ThreadHandle,
- IN PCONTEXT Context);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwQueueApcThread(
- IN HANDLE ThreadHandle,
- IN PKNORMAL_ROUTINE ApcRoutine,
- IN PVOID ApcContext OPTIONAL,
- IN PVOID Argument1 OPTIONAL,
- IN PVOID Argument2 OPTIONAL);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwTestAlert(
- VOID);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwAlertThread(
- IN HANDLE ThreadHandle);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwAlertResumeThread(
- IN HANDLE ThreadHandle,
- OUT PULONG PreviousSuspendCount OPTIONAL);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwRegisterThreadTerminatePort(
- IN HANDLE PortHandle);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwImpersonateThread(
- IN HANDLE ThreadHandle,
- IN HANDLE TargetThreadHandle,
- IN PSECURITY_QUALITY_OF_SERVICE SecurityQos);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwImpersonateAnonymousToken(
- IN HANDLE ThreadHandle);
-
-
-
-
-/* Processes */
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwCreateProcess(
- OUT PHANDLE ProcessHandle,
- IN ACCESS_MASK DesiredAccess,
- IN POBJECT_ATTRIBUTES ObjectAttributes,
- IN HANDLE InheritFromProcessHandle,
- IN BOOLEAN InheritHandles,
- IN HANDLE SectionHandle OPTIONAL,
- IN HANDLE DebugPort OPTIONAL,
- IN HANDLE ExceptionPort OPTIONAL);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwCreateProcess(
- OUT PHANDLE ProcessHandle,
- IN ACCESS_MASK DesiredAccess,
- IN POBJECT_ATTRIBUTES ObjectAttributes,
- IN HANDLE InheritFromProcessHandle,
- IN BOOLEAN InheritHandles,
- IN HANDLE SectionHandle OPTIONAL,
- IN HANDLE DebugPort OPTIONAL,
- IN HANDLE ExceptionPort OPTIONAL);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwTerminateProcess(
- IN HANDLE ProcessHandle OPTIONAL,
- IN NTSTATUS ExitStatus);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwQueryInformationProcess(
- IN HANDLE ProcessHandle,
- IN PROCESSINFOCLASS ProcessInformationClass,
- OUT PVOID ProcessInformation,
- IN ULONG ProcessInformationLength,
- OUT PULONG ReturnLength OPTIONAL);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtSetInformationProcess(
- IN HANDLE ProcessHandle,
- IN PROCESSINFOCLASS ProcessInformationClass,
- IN PVOID ProcessInformation,
- IN ULONG ProcessInformationLength);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwSetInformationProcess(
- IN HANDLE ProcessHandle,
- IN PROCESSINFOCLASS ProcessInformationClass,
- IN PVOID ProcessInformation,
- IN ULONG ProcessInformationLength);
-
-typedef struct _PROCESS_BASIC_INFORMATION {
- NTSTATUS ExitStatus;
- PPEB PebBaseAddress;
- KAFFINITY AffinityMask;
- KPRIORITY BasePriority;
- ULONG UniqueProcessId;
- ULONG InheritedFromUniqueProcessId;
-} PROCESS_BASIC_INFORMATION, *PPROCESS_BASIC_INFORMATION;
-
-typedef struct _PROCESS_ACCESS_TOKEN {
- HANDLE Token;
- HANDLE Thread;
-} PROCESS_ACCESS_TOKEN, *PPROCESS_ACCESS_TOKEN;
-
-/* DefaultHardErrorMode constants */
-/* also in winbase.h */
-#define SEM_FAILCRITICALERRORS 0x0001
-#define SEM_NOGPFAULTERRORBOX 0x0002
-#define SEM_NOALIGNMENTFAULTEXCEPT 0x0004
-#define SEM_NOOPENFILEERRORBOX 0x8000
-/* end winbase.h */
-typedef struct _POOLED_USAGE_AND_LIMITS {
- ULONG PeakPagedPoolUsage;
- ULONG PagedPoolUsage;
- ULONG PagedPoolLimit;
- ULONG PeakNonPagedPoolUsage;
- ULONG NonPagedPoolUsage;
- ULONG NonPagedPoolLimit;
- ULONG PeakPagefileUsage;
- ULONG PagefileUsage;
- ULONG PagefileLimit;
-} POOLED_USAGE_AND_LIMITS, *PPOOLED_USAGE_AND_LIMITS;
-
-typedef struct _PROCESS_WS_WATCH_INFORMATION {
- PVOID FaultingPc;
- PVOID FaultingVa;
-} PROCESS_WS_WATCH_INFORMATION, *PPROCESS_WS_WATCH_INFORMATION;
-
-/* PROCESS_PRIORITY_CLASS.PriorityClass constants */
-#define PC_IDLE 1
-#define PC_NORMAL 2
-#define PC_HIGH 3
-#define PC_REALTIME 4
-#define PC_BELOW_NORMAL 5
-#define PC_ABOVE_NORMAL 6
-
-typedef struct _PROCESS_PRIORITY_CLASS {
- BOOLEAN Foreground;
- UCHAR PriorityClass;
-} PROCESS_PRIORITY_CLASS, *PPROCESS_PRIORITY_CLASS;
-
-/* PROCESS_DEVICEMAP_INFORMATION.DriveType constants */
-#define DRIVE_UNKNOWN 0
-#define DRIVE_NO_ROOT_DIR 1
-#define DRIVE_REMOVABLE 2
-#define DRIVE_FIXED 3
-#define DRIVE_REMOTE 4
-#define DRIVE_CDROM 5
-#define DRIVE_RAMDISK 6
-
-typedef struct _PROCESS_DEVICEMAP_INFORMATION {
- _ANONYMOUS_UNION union {
- struct {
- HANDLE DirectoryHandle;
- } Set;
- struct {
- ULONG DriveMap;
- UCHAR DriveType[32];
- } Query;
- } DUMMYUNIONNAME;
-} PROCESS_DEVICEMAP_INFORMATION, *PPROCESS_DEVICEMAP_INFORMATION;
-
-typedef struct _PROCESS_SESSION_INFORMATION {
- ULONG SessionId;
-} PROCESS_SESSION_INFORMATION, *PPROCESS_SESSION_INFORMATION;
-
-typedef struct _RTL_USER_PROCESS_PARAMETERS {
- ULONG AllocationSize;
- ULONG Size;
- ULONG Flags;
- ULONG DebugFlags;
- HANDLE hConsole;
- ULONG ProcessGroup;
- HANDLE hStdInput;
- HANDLE hStdOutput;
- HANDLE hStdError;
- UNICODE_STRING CurrentDirectoryName;
- HANDLE CurrentDirectoryHandle;
- UNICODE_STRING DllPath;
- UNICODE_STRING ImagePathName;
- UNICODE_STRING CommandLine;
- PWSTR Environment;
- ULONG dwX;
- ULONG dwY;
- ULONG dwXSize;
- ULONG dwYSize;
- ULONG dwXCountChars;
- ULONG dwYCountChars;
- ULONG dwFillAttribute;
- ULONG dwFlags;
- ULONG wShowWindow;
- UNICODE_STRING WindowTitle;
- UNICODE_STRING DesktopInfo;
- UNICODE_STRING ShellInfo;
- UNICODE_STRING RuntimeInfo;
-} RTL_USER_PROCESS_PARAMETERS, *PRTL_USER_PROCESS_PARAMETERS;
-
-NTSTATUS
-NTAPI
-RtlCreateProcessParameters(
- OUT PRTL_USER_PROCESS_PARAMETERS *ProcessParameters,
- IN PUNICODE_STRING ImageFile,
- IN PUNICODE_STRING DllPath OPTIONAL,
- IN PUNICODE_STRING CurrentDirectory OPTIONAL,
- IN PUNICODE_STRING CommandLine OPTIONAL,
- IN PWSTR Environment OPTIONAL,
- IN PUNICODE_STRING WindowTitle OPTIONAL,
- IN PUNICODE_STRING DesktopInfo OPTIONAL,
- IN PUNICODE_STRING ShellInfo OPTIONAL,
- IN PUNICODE_STRING RuntimeInfo OPTIONAL);
-
-NTSTATUS
-NTAPI
-RtlDestroyProcessParameters(
- IN PRTL_USER_PROCESS_PARAMETERS ProcessParameters);
-
-typedef struct _DEBUG_BUFFER {
- HANDLE SectionHandle;
- PVOID SectionBase;
- PVOID RemoteSectionBase;
- ULONG SectionBaseDelta;
- HANDLE EventPairHandle;
- ULONG Unknown[2];
- HANDLE RemoteThreadHandle;
- ULONG InfoClassMask;
- ULONG SizeOfInfo;
- ULONG AllocatedSize;
- ULONG SectionSize;
- PVOID ModuleInformation;
- PVOID BackTraceInformation;
- PVOID HeapInformation;
- PVOID LockInformation;
- PVOID Reserved[8];
-} DEBUG_BUFFER, *PDEBUG_BUFFER;
-
-PDEBUG_BUFFER
-NTAPI
-RtlCreateQueryDebugBuffer(
- IN ULONG Size,
- IN BOOLEAN EventPair);
-
-/* RtlQueryProcessDebugInformation.DebugInfoClassMask constants */
-#define PDI_MODULES 0x01
-#define PDI_BACKTRACE 0x02
-#define PDI_HEAPS 0x04
-#define PDI_HEAP_TAGS 0x08
-#define PDI_HEAP_BLOCKS 0x10
-#define PDI_LOCKS 0x20
-
-NTSTATUS
-NTAPI
-RtlQueryProcessDebugInformation(
- IN ULONG ProcessId,
- IN ULONG DebugInfoClassMask,
- IN OUT PDEBUG_BUFFER DebugBuffer);
-
-NTSTATUS
-NTAPI
-RtlDestroyQueryDebugBuffer(
- IN PDEBUG_BUFFER DebugBuffer);
-
-/* DEBUG_MODULE_INFORMATION.Flags constants */
-#define LDRP_STATIC_LINK 0x00000002
-#define LDRP_IMAGE_DLL 0x00000004
-#define LDRP_LOAD_IN_PROGRESS 0x00001000
-#define LDRP_UNLOAD_IN_PROGRESS 0x00002000
-#define LDRP_ENTRY_PROCESSED 0x00004000
-#define LDRP_ENTRY_INSERTED 0x00008000
-#define LDRP_CURRENT_LOAD 0x00010000
-#define LDRP_FAILED_BUILTIN_LOAD 0x00020000
-#define LDRP_DONT_CALL_FOR_THREADS 0x00040000
-#define LDRP_PROCESS_ATTACH_CALLED 0x00080000
-#define LDRP_DEBUG_SYMBOLS_LOADED 0x00100000
-#define LDRP_IMAGE_NOT_AT_BASE 0x00200000
-#define LDRP_WX86_IGNORE_MACHINETYPE 0x00400000
-
-typedef struct _DEBUG_MODULE_INFORMATION {
- ULONG Reserved[2];
- ULONG Base;
- ULONG Size;
- ULONG Flags;
- USHORT Index;
- USHORT Unknown;
- USHORT LoadCount;
- USHORT ModuleNameOffset;
- CHAR ImageName[256];
-} DEBUG_MODULE_INFORMATION, *PDEBUG_MODULE_INFORMATION;
-
-typedef struct _DEBUG_HEAP_INFORMATION {
- ULONG Base;
- ULONG Flags;
- USHORT Granularity;
- USHORT Unknown;
- ULONG Allocated;
- ULONG Committed;
- ULONG TagCount;
- ULONG BlockCount;
- ULONG Reserved[7];
- PVOID Tags;
- PVOID Blocks;
-} DEBUG_HEAP_INFORMATION, *PDEBUG_HEAP_INFORMATION;
-
-typedef struct _DEBUG_LOCK_INFORMATION {
- PVOID Address;
- USHORT Type;
- USHORT CreatorBackTraceIndex;
- ULONG OwnerThreadId;
- ULONG ActiveCount;
- ULONG ContentionCount;
- ULONG EntryCount;
- ULONG RecursionCount;
- ULONG NumberOfSharedWaiters;
- ULONG NumberOfExclusiveWaiters;
-} DEBUG_LOCK_INFORMATION, *PDEBUG_LOCK_INFORMATION;
-
-
-
-/* Jobs */
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwCreateJobObject(
- OUT PHANDLE JobHandle,
- IN ACCESS_MASK DesiredAccess,
- IN POBJECT_ATTRIBUTES ObjectAttributes);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwOpenJobObject(
- OUT PHANDLE JobHandle,
- IN ACCESS_MASK DesiredAccess,
- IN POBJECT_ATTRIBUTES ObjectAttributes);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwTerminateJobObject(
- IN HANDLE JobHandle,
- IN NTSTATUS ExitStatus);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwAssignProcessToJobObject(
- IN HANDLE JobHandle,
- IN HANDLE ProcessHandle);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwQueryInformationJobObject(
- IN HANDLE JobHandle,
- IN JOBOBJECTINFOCLASS JobInformationClass,
- OUT PVOID JobInformation,
- IN ULONG JobInformationLength,
- OUT PULONG ReturnLength OPTIONAL);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwSetInformationJobObject(
- IN HANDLE JobHandle,
- IN JOBOBJECTINFOCLASS JobInformationClass,
- IN PVOID JobInformation,
- IN ULONG JobInformationLength);
-
-
-/* Tokens */
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwCreateToken(
-OUT PHANDLE TokenHandle,
-IN ACCESS_MASK DesiredAccess,
-IN POBJECT_ATTRIBUTES ObjectAttributes,
-IN TOKEN_TYPE Type,
-IN PLUID AuthenticationId,
-IN PLARGE_INTEGER ExpirationTime,
-IN PTOKEN_USER User,
-IN PTOKEN_GROUPS Groups,
-IN PTOKEN_PRIVILEGES Privileges,
-IN PTOKEN_OWNER Owner,
-IN PTOKEN_PRIMARY_GROUP PrimaryGroup,
-IN PTOKEN_DEFAULT_DACL DefaultDacl,
-IN PTOKEN_SOURCE Source
-);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtOpenProcessToken(
- IN HANDLE ProcessHandle,
- IN ACCESS_MASK DesiredAccess,
- OUT PHANDLE TokenHandle);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwOpenProcessToken(
- IN HANDLE ProcessHandle,
- IN ACCESS_MASK DesiredAccess,
- OUT PHANDLE TokenHandle);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtOpenThreadToken(
- IN HANDLE ThreadHandle,
- IN ACCESS_MASK DesiredAccess,
- IN BOOLEAN OpenAsSelf,
- OUT PHANDLE TokenHandle);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwOpenThreadToken(
- IN HANDLE ThreadHandle,
- IN ACCESS_MASK DesiredAccess,
- IN BOOLEAN OpenAsSelf,
- OUT PHANDLE TokenHandle);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtDuplicateToken(
- IN HANDLE ExistingTokenHandle,
- IN ACCESS_MASK DesiredAccess,
- IN POBJECT_ATTRIBUTES ObjectAttributes,
- IN BOOLEAN EffectiveOnly,
- IN TOKEN_TYPE TokenType,
- OUT PHANDLE NewTokenHandle);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwDuplicateToken(
- IN HANDLE ExistingTokenHandle,
- IN ACCESS_MASK DesiredAccess,
- IN POBJECT_ATTRIBUTES ObjectAttributes,
- IN BOOLEAN EffectiveOnly,
- IN TOKEN_TYPE TokenType,
- OUT PHANDLE NewTokenHandle);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwFilterToken(
- IN HANDLE ExistingTokenHandle,
- IN ULONG Flags,
- IN PTOKEN_GROUPS SidsToDisable,
- IN PTOKEN_PRIVILEGES PrivilegesToDelete,
- IN PTOKEN_GROUPS SidsToRestricted,
- OUT PHANDLE NewTokenHandle);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtAdjustPrivilegesToken(
- IN HANDLE TokenHandle,
- IN BOOLEAN DisableAllPrivileges,
- IN PTOKEN_PRIVILEGES NewState,
- IN ULONG BufferLength,
- OUT PTOKEN_PRIVILEGES PreviousState OPTIONAL,
- OUT PULONG ReturnLength);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwAdjustPrivilegesToken(
- IN HANDLE TokenHandle,
- IN BOOLEAN DisableAllPrivileges,
- IN PTOKEN_PRIVILEGES NewState,
- IN ULONG BufferLength,
- OUT PTOKEN_PRIVILEGES PreviousState OPTIONAL,
- OUT PULONG ReturnLength);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwAdjustGroupsToken(
- IN HANDLE TokenHandle,
- IN BOOLEAN ResetToDefault,
- IN PTOKEN_GROUPS NewState,
- IN ULONG BufferLength,
- OUT PTOKEN_GROUPS PreviousState OPTIONAL,
- OUT PULONG ReturnLength);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtQueryInformationToken(
- IN HANDLE TokenHandle,
- IN TOKEN_INFORMATION_CLASS TokenInformationClass,
- OUT PVOID TokenInformation,
- IN ULONG TokenInformationLength,
- OUT PULONG ReturnLength);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwQueryInformationToken(
- IN HANDLE TokenHandle,
- IN TOKEN_INFORMATION_CLASS TokenInformationClass,
- OUT PVOID TokenInformation,
- IN ULONG TokenInformationLength,
- OUT PULONG ReturnLength);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwSetInformationToken(
- IN HANDLE TokenHandle,
- IN TOKEN_INFORMATION_CLASS TokenInformationClass,
- IN PVOID TokenInformation,
- IN ULONG TokenInformationLength);
-
-
-
-
-/* Time */
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwQuerySystemTime(
- OUT PLARGE_INTEGER CurrentTime);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwSetSystemTime(
- IN PLARGE_INTEGER NewTime,
- OUT PLARGE_INTEGER OldTime OPTIONAL);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwQueryPerformanceCounter(
- OUT PLARGE_INTEGER PerformanceCount,
- OUT PLARGE_INTEGER PerformanceFrequency OPTIONAL);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwQueryPerformanceCounter(
- OUT PLARGE_INTEGER PerformanceCount,
- OUT PLARGE_INTEGER PerformanceFrequency OPTIONAL);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwQueryTimerResolution(
- OUT PULONG CoarsestResolution,
- OUT PULONG FinestResolution,
- OUT PULONG ActualResolution);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwDelayExecution(
- IN BOOLEAN Alertable,
- IN PLARGE_INTEGER Interval);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwYieldExecution(
- VOID);
-
-NTOSAPI
-ULONG
-NTAPI
-ZwGetTickCount(
- VOID);
-
-
-
-
-/* Execution profiling */
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwCreateProfile(
- OUT PHANDLE ProfileHandle,
- IN HANDLE ProcessHandle,
- IN PVOID Base,
- IN ULONG Size,
- IN ULONG BucketShift,
- IN PULONG Buffer,
- IN ULONG BufferLength,
- IN KPROFILE_SOURCE Source,
- IN ULONG ProcessorMask);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwSetIntervalProfile(
- IN ULONG Interval,
- IN KPROFILE_SOURCE Source);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwQueryIntervalProfile(
- IN KPROFILE_SOURCE Source,
- OUT PULONG Interval);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwStartProfile(
- IN HANDLE ProfileHandle);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwStopProfile(
- IN HANDLE ProfileHandle);
-
-/* Local Procedure Call (LPC) */
-
-typedef struct _LPC_MESSAGE {
- USHORT DataSize;
- USHORT MessageSize;
- USHORT MessageType;
- USHORT VirtualRangesOffset;
- CLIENT_ID ClientId;
- ULONG MessageId;
- ULONG SectionSize;
- UCHAR Data[ANYSIZE_ARRAY];
-} LPC_MESSAGE, *PLPC_MESSAGE;
-
-#define LPC_MESSAGE_BASE_SIZE 24
-
-typedef enum _LPC_TYPE {
- LPC_NEW_MESSAGE,
- LPC_REQUEST,
- LPC_REPLY,
- LPC_DATAGRAM,
- LPC_LOST_REPLY,
- LPC_PORT_CLOSED,
- LPC_CLIENT_DIED,
- LPC_EXCEPTION,
- LPC_DEBUG_EVENT,
- LPC_ERROR_EVENT,
- LPC_CONNECTION_REQUEST,
- LPC_CONNECTION_REFUSED,
- LPC_MAXIMUM
-} LPC_TYPE;
-
-typedef struct _LPC_SECTION_WRITE {
- ULONG Length;
- HANDLE SectionHandle;
- ULONG SectionOffset;
- ULONG ViewSize;
- PVOID ViewBase;
- PVOID TargetViewBase;
-} LPC_SECTION_WRITE, *PLPC_SECTION_WRITE;
-
-typedef struct _LPC_SECTION_READ {
- ULONG Length;
- ULONG ViewSize;
- PVOID ViewBase;
-} LPC_SECTION_READ, *PLPC_SECTION_READ;
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwCreatePort(
- OUT PHANDLE PortHandle,
- IN POBJECT_ATTRIBUTES ObjectAttributes,
- IN ULONG MaxDataSize,
- IN ULONG MaxMessageSize,
- IN ULONG Reserved);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwCreateWaitablePort(
- OUT PHANDLE PortHandle,
- IN POBJECT_ATTRIBUTES ObjectAttributes,
- IN ULONG MaxDataSize,
- IN ULONG MaxMessageSize,
- IN ULONG Reserved);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtConnectPort(
- OUT PHANDLE PortHandle,
- IN PUNICODE_STRING PortName,
- IN PSECURITY_QUALITY_OF_SERVICE SecurityQos,
- IN OUT PLPC_SECTION_WRITE WriteSection OPTIONAL,
- IN OUT PLPC_SECTION_READ ReadSection OPTIONAL,
- OUT PULONG MaxMessageSize OPTIONAL,
- IN OUT PVOID ConnectData OPTIONAL,
- IN OUT PULONG ConnectDataLength OPTIONAL);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwConnectPort(
- OUT PHANDLE PortHandle,
- IN PUNICODE_STRING PortName,
- IN PSECURITY_QUALITY_OF_SERVICE SecurityQos,
- IN OUT PLPC_SECTION_WRITE WriteSection OPTIONAL,
- IN OUT PLPC_SECTION_READ ReadSection OPTIONAL,
- OUT PULONG MaxMessageSize OPTIONAL,
- IN OUT PVOID ConnectData OPTIONAL,
- IN OUT PULONG ConnectDataLength OPTIONAL);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwConnectPort(
- OUT PHANDLE PortHandle,
- IN PUNICODE_STRING PortName,
- IN PSECURITY_QUALITY_OF_SERVICE SecurityQos,
- IN OUT PLPC_SECTION_WRITE WriteSection OPTIONAL,
- IN OUT PLPC_SECTION_READ ReadSection OPTIONAL,
- OUT PULONG MaxMessageSize OPTIONAL,
- IN OUT PVOID ConnectData OPTIONAL,
- IN OUT PULONG ConnectDataLength OPTIONAL);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwListenPort(
- IN HANDLE PortHandle,
- OUT PLPC_MESSAGE Message);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwAcceptConnectPort(
- OUT PHANDLE PortHandle,
- IN ULONG PortIdentifier,
- IN PLPC_MESSAGE Message,
- IN BOOLEAN Accept,
- IN OUT PLPC_SECTION_WRITE WriteSection OPTIONAL,
- IN OUT PLPC_SECTION_READ ReadSection OPTIONAL);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwCompleteConnectPort(
- IN HANDLE PortHandle);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtRequestPort(
- IN HANDLE PortHandle,
- IN PLPC_MESSAGE RequestMessage);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtRequestWaitReplyPort(
- IN HANDLE PortHandle,
- IN PLPC_MESSAGE RequestMessage,
- OUT PLPC_MESSAGE ReplyMessage);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwRequestWaitReplyPort(
- IN HANDLE PortHandle,
- IN PLPC_MESSAGE RequestMessage,
- OUT PLPC_MESSAGE ReplyMessage);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwReplyPort(
- IN HANDLE PortHandle,
- IN PLPC_MESSAGE ReplyMessage);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwReplyWaitReplyPort(
- IN HANDLE PortHandle,
- IN OUT PLPC_MESSAGE ReplyMessage);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwReplyWaitReceivePort(
- IN HANDLE PortHandle,
- OUT PULONG PortIdentifier OPTIONAL,
- IN PLPC_MESSAGE ReplyMessage OPTIONAL,
- OUT PLPC_MESSAGE Message);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwReplyWaitReceivePortEx(
- IN HANDLE PortHandle,
- OUT PULONG PortIdentifier OPTIONAL,
- IN PLPC_MESSAGE ReplyMessage OPTIONAL,
- OUT PLPC_MESSAGE Message,
- IN PLARGE_INTEGER Timeout);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwReadRequestData(
- IN HANDLE PortHandle,
- IN PLPC_MESSAGE Message,
- IN ULONG Index,
- OUT PVOID Buffer,
- IN ULONG BufferLength,
- OUT PULONG ReturnLength OPTIONAL);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwWriteRequestData(
- IN HANDLE PortHandle,
- IN PLPC_MESSAGE Message,
- IN ULONG Index,
- IN PVOID Buffer,
- IN ULONG BufferLength,
- OUT PULONG ReturnLength OPTIONAL);
-
-typedef enum _PORT_INFORMATION_CLASS {
- PortBasicInformation
-} PORT_INFORMATION_CLASS;
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwQueryInformationPort(
- IN HANDLE PortHandle,
- IN PORT_INFORMATION_CLASS PortInformationClass,
- OUT PVOID PortInformation,
- IN ULONG PortInformationLength,
- OUT PULONG ReturnLength OPTIONAL);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwImpersonateClientOfPort(
- IN HANDLE PortHandle,
- IN PLPC_MESSAGE Message);
-
-
-
-
-/* Files */
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtDeleteFile(
- IN POBJECT_ATTRIBUTES ObjectAttributes);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwDeleteFile(
- IN POBJECT_ATTRIBUTES ObjectAttributes);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwFlushBuffersFile(
- IN HANDLE FileHandle,
- OUT PIO_STATUS_BLOCK IoStatusBlock);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwCancelIoFile(
- IN HANDLE FileHandle,
- OUT PIO_STATUS_BLOCK IoStatusBlock);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwReadFileScatter(
- IN HANDLE FileHandle,
- IN HANDLE Event OPTIONAL,
- IN PIO_APC_ROUTINE ApcRoutine OPTIONAL,
- IN PVOID ApcContext OPTIONAL,
- OUT PIO_STATUS_BLOCK IoStatusBlock,
- IN PFILE_SEGMENT_ELEMENT Buffer,
- IN ULONG Length,
- IN PLARGE_INTEGER ByteOffset OPTIONAL,
- IN PULONG Key OPTIONAL);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwWriteFileGather(
- IN HANDLE FileHandle,
- IN HANDLE Event OPTIONAL,
- IN PIO_APC_ROUTINE ApcRoutine OPTIONAL,
- IN PVOID ApcContext OPTIONAL,
- OUT PIO_STATUS_BLOCK IoStatusBlock,
- IN PFILE_SEGMENT_ELEMENT Buffer,
- IN ULONG Length,
- IN PLARGE_INTEGER ByteOffset OPTIONAL,
- IN PULONG Key OPTIONAL);
-
-
-
-
-/* Registry keys */
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwSaveKey(
- IN HANDLE KeyHandle,
- IN HANDLE FileHandle);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwSaveMergedKeys(
- IN HANDLE KeyHandle1,
- IN HANDLE KeyHandle2,
- IN HANDLE FileHandle);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwRestoreKey(
- IN HANDLE KeyHandle,
- IN HANDLE FileHandle,
- IN ULONG Flags);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwLoadKey(
- IN POBJECT_ATTRIBUTES KeyObjectAttributes,
- IN POBJECT_ATTRIBUTES FileObjectAttributes);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwLoadKey2(
- IN POBJECT_ATTRIBUTES KeyObjectAttributes,
- IN POBJECT_ATTRIBUTES FileObjectAttributes,
- IN ULONG Flags);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwUnloadKey(
- IN POBJECT_ATTRIBUTES KeyObjectAttributes);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwQueryOpenSubKeys(
- IN POBJECT_ATTRIBUTES KeyObjectAttributes,
- OUT PULONG NumberOfKeys);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwReplaceKey(
- IN POBJECT_ATTRIBUTES NewFileObjectAttributes,
- IN HANDLE KeyHandle,
- IN POBJECT_ATTRIBUTES OldFileObjectAttributes);
-
-typedef enum _KEY_SET_INFORMATION_CLASS {
- KeyLastWriteTimeInformation
-} KEY_SET_INFORMATION_CLASS;
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwSetInformationKey(
- IN HANDLE KeyHandle,
- IN KEY_SET_INFORMATION_CLASS KeyInformationClass,
- IN PVOID KeyInformation,
- IN ULONG KeyInformationLength);
-
-typedef struct _KEY_LAST_WRITE_TIME_INFORMATION {
- LARGE_INTEGER LastWriteTime;
-} KEY_LAST_WRITE_TIME_INFORMATION, *PKEY_LAST_WRITE_TIME_INFORMATION;
-
-typedef struct _KEY_NAME_INFORMATION {
- ULONG NameLength;
- WCHAR Name[1];
-} KEY_NAME_INFORMATION, *PKEY_NAME_INFORMATION;
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwNotifyChangeKey(
- IN HANDLE KeyHandle,
- IN HANDLE EventHandle OPTIONAL,
- IN PIO_APC_ROUTINE ApcRoutine OPTIONAL,
- IN PVOID ApcContext OPTIONAL,
- OUT PIO_STATUS_BLOCK IoStatusBlock,
- IN ULONG NotifyFilter,
- IN BOOLEAN WatchSubtree,
- IN PVOID Buffer,
- IN ULONG BufferLength,
- IN BOOLEAN Asynchronous);
-
-/* ZwNotifyChangeMultipleKeys.Flags constants */
-#define REG_MONITOR_SINGLE_KEY 0x00
-#define REG_MONITOR_SECOND_KEY 0x01
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwNotifyChangeMultipleKeys(
- IN HANDLE KeyHandle,
- IN ULONG Flags,
- IN POBJECT_ATTRIBUTES KeyObjectAttributes,
- IN HANDLE EventHandle OPTIONAL,
- IN PIO_APC_ROUTINE ApcRoutine OPTIONAL,
- IN PVOID ApcContext OPTIONAL,
- OUT PIO_STATUS_BLOCK IoStatusBlock,
- IN ULONG NotifyFilter,
- IN BOOLEAN WatchSubtree,
- IN PVOID Buffer,
- IN ULONG BufferLength,
- IN BOOLEAN Asynchronous);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwQueryMultipleValueKey(
- IN HANDLE KeyHandle,
- IN OUT PKEY_VALUE_ENTRY ValueList,
- IN ULONG NumberOfValues,
- OUT PVOID Buffer,
- IN OUT PULONG Length,
- OUT PULONG ReturnLength);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwInitializeRegistry(
- IN BOOLEAN Setup);
-
-
-
-
-/* Security and auditing */
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwPrivilegeCheck(
- IN HANDLE TokenHandle,
- IN PPRIVILEGE_SET RequiredPrivileges,
- OUT PBOOLEAN Result);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwPrivilegeObjectAuditAlarm(
- IN PUNICODE_STRING SubsystemName,
- IN PVOID HandleId,
- IN HANDLE TokenHandle,
- IN ACCESS_MASK DesiredAccess,
- IN PPRIVILEGE_SET Privileges,
- IN BOOLEAN AccessGranted);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwPrivilegeObjectAuditAlarm(
- IN PUNICODE_STRING SubsystemName,
- IN PVOID HandleId,
- IN HANDLE TokenHandle,
- IN ACCESS_MASK DesiredAccess,
- IN PPRIVILEGE_SET Privileges,
- IN BOOLEAN AccessGranted);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwAccessCheck(
- IN PSECURITY_DESCRIPTOR SecurityDescriptor,
- IN HANDLE TokenHandle,
- IN ACCESS_MASK DesiredAccess,
- IN PGENERIC_MAPPING GenericMapping,
- IN PPRIVILEGE_SET PrivilegeSet,
- IN PULONG PrivilegeSetLength,
- OUT PACCESS_MASK GrantedAccess,
- OUT PBOOLEAN AccessStatus);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwAccessCheckAndAuditAlarm(
- IN PUNICODE_STRING SubsystemName,
- IN PVOID HandleId,
- IN PUNICODE_STRING ObjectTypeName,
- IN PUNICODE_STRING ObjectName,
- IN PSECURITY_DESCRIPTOR SecurityDescriptor,
- IN ACCESS_MASK DesiredAccess,
- IN PGENERIC_MAPPING GenericMapping,
- IN BOOLEAN ObjectCreation,
- OUT PACCESS_MASK GrantedAccess,
- OUT PBOOLEAN AccessStatus,
- OUT PBOOLEAN GenerateOnClose);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwAccessCheckByType(
- IN PSECURITY_DESCRIPTOR SecurityDescriptor,
- IN PSID PrincipalSelfSid,
- IN HANDLE TokenHandle,
- IN ULONG DesiredAccess,
- IN POBJECT_TYPE_LIST ObjectTypeList,
- IN ULONG ObjectTypeListLength,
- IN PGENERIC_MAPPING GenericMapping,
- IN PPRIVILEGE_SET PrivilegeSet,
- IN PULONG PrivilegeSetLength,
- OUT PACCESS_MASK GrantedAccess,
- OUT PULONG AccessStatus);
-
-typedef enum _AUDIT_EVENT_TYPE {
- AuditEventObjectAccess,
- AuditEventDirectoryServiceAccess
-} AUDIT_EVENT_TYPE, *PAUDIT_EVENT_TYPE;
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwAccessCheckByTypeAndAuditAlarm(
- IN PUNICODE_STRING SubsystemName,
- IN PVOID HandleId,
- IN PUNICODE_STRING ObjectTypeName,
- IN PUNICODE_STRING ObjectName,
- IN PSECURITY_DESCRIPTOR SecurityDescriptor,
- IN PSID PrincipalSelfSid,
- IN ACCESS_MASK DesiredAccess,
- IN AUDIT_EVENT_TYPE AuditType,
- IN ULONG Flags,
- IN POBJECT_TYPE_LIST ObjectTypeList,
- IN ULONG ObjectTypeListLength,
- IN PGENERIC_MAPPING GenericMapping,
- IN BOOLEAN ObjectCreation,
- OUT PACCESS_MASK GrantedAccess,
- OUT PULONG AccessStatus,
- OUT PBOOLEAN GenerateOnClose);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwAccessCheckByTypeResultList(
- IN PSECURITY_DESCRIPTOR SecurityDescriptor,
- IN PSID PrincipalSelfSid,
- IN HANDLE TokenHandle,
- IN ACCESS_MASK DesiredAccess,
- IN POBJECT_TYPE_LIST ObjectTypeList,
- IN ULONG ObjectTypeListLength,
- IN PGENERIC_MAPPING GenericMapping,
- IN PPRIVILEGE_SET PrivilegeSet,
- IN PULONG PrivilegeSetLength,
- OUT PACCESS_MASK GrantedAccessList,
- OUT PULONG AccessStatusList);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwAccessCheckByTypeResultListAndAuditAlarm(
- IN PUNICODE_STRING SubsystemName,
- IN PVOID HandleId,
- IN PUNICODE_STRING ObjectTypeName,
- IN PUNICODE_STRING ObjectName,
- IN PSECURITY_DESCRIPTOR SecurityDescriptor,
- IN PSID PrincipalSelfSid,
- IN ACCESS_MASK DesiredAccess,
- IN AUDIT_EVENT_TYPE AuditType,
- IN ULONG Flags,
- IN POBJECT_TYPE_LIST ObjectTypeList,
- IN ULONG ObjectTypeListLength,
- IN PGENERIC_MAPPING GenericMapping,
- IN BOOLEAN ObjectCreation,
- OUT PACCESS_MASK GrantedAccessList,
- OUT PULONG AccessStatusList,
- OUT PULONG GenerateOnClose);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwAccessCheckByTypeResultListAndAuditAlarmByHandle(
- IN PUNICODE_STRING SubsystemName,
- IN PVOID HandleId,
- IN HANDLE TokenHandle,
- IN PUNICODE_STRING ObjectTypeName,
- IN PUNICODE_STRING ObjectName,
- IN PSECURITY_DESCRIPTOR SecurityDescriptor,
- IN PSID PrincipalSelfSid,
- IN ACCESS_MASK DesiredAccess,
- IN AUDIT_EVENT_TYPE AuditType,
- IN ULONG Flags,
- IN POBJECT_TYPE_LIST ObjectTypeList,
- IN ULONG ObjectTypeListLength,
- IN PGENERIC_MAPPING GenericMapping,
- IN BOOLEAN ObjectCreation,
- OUT PACCESS_MASK GrantedAccessList,
- OUT PULONG AccessStatusList,
- OUT PULONG GenerateOnClose);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwOpenObjectAuditAlarm(
- IN PUNICODE_STRING SubsystemName,
- IN PVOID *HandleId,
- IN PUNICODE_STRING ObjectTypeName,
- IN PUNICODE_STRING ObjectName,
- IN PSECURITY_DESCRIPTOR SecurityDescriptor,
- IN HANDLE TokenHandle,
- IN ACCESS_MASK DesiredAccess,
- IN ACCESS_MASK GrantedAccess,
- IN PPRIVILEGE_SET Privileges OPTIONAL,
- IN BOOLEAN ObjectCreation,
- IN BOOLEAN AccessGranted,
- OUT PBOOLEAN GenerateOnClose);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwCloseObjectAuditAlarm(
- IN PUNICODE_STRING SubsystemName,
- IN PVOID HandleId,
- IN BOOLEAN GenerateOnClose);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwDeleteObjectAuditAlarm(
- IN PUNICODE_STRING SubsystemName,
- IN PVOID HandleId,
- IN BOOLEAN GenerateOnClose);
-
-
-
-
-/* Plug and play and power management */
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwRequestWakeupLatency(
- IN LATENCY_TIME Latency);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwRequestDeviceWakeup(
- IN HANDLE DeviceHandle);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwCancelDeviceWakeupRequest(
- IN HANDLE DeviceHandle);
-
-NTOSAPI
-BOOLEAN
-NTAPI
-ZwIsSystemResumeAutomatic(
- VOID);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwSetThreadExecutionState(
- IN EXECUTION_STATE ExecutionState,
- OUT PEXECUTION_STATE PreviousExecutionState);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwGetDevicePowerState(
- IN HANDLE DeviceHandle,
- OUT PDEVICE_POWER_STATE DevicePowerState);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwSetSystemPowerState(
- IN POWER_ACTION SystemAction,
- IN SYSTEM_POWER_STATE MinSystemState,
- IN ULONG Flags);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwInitiatePowerAction(
- IN POWER_ACTION SystemAction,
- IN SYSTEM_POWER_STATE MinSystemState,
- IN ULONG Flags,
- IN BOOLEAN Asynchronous);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwPowerInformation(
- IN POWER_INFORMATION_LEVEL PowerInformationLevel,
- IN PVOID InputBuffer OPTIONAL,
- IN ULONG InputBufferLength,
- OUT PVOID OutputBuffer OPTIONAL,
- IN ULONG OutputBufferLength);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwPlugPlayControl(
- IN ULONG ControlCode,
- IN OUT PVOID Buffer,
- IN ULONG BufferLength);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwGetPlugPlayEvent(
- IN ULONG Reserved1,
- IN ULONG Reserved2,
- OUT PVOID Buffer,
- IN ULONG BufferLength);
-
-
-
-
-/* Miscellany */
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwRaiseException(
- IN PEXCEPTION_RECORD ExceptionRecord,
- IN PCONTEXT Context,
- IN BOOLEAN SearchFrames);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwContinue(
- IN PCONTEXT Context,
- IN BOOLEAN TestAlert);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwW32Call(
- IN ULONG RoutineIndex,
- IN PVOID Argument,
- IN ULONG ArgumentLength,
- OUT PVOID *Result OPTIONAL,
- OUT PULONG ResultLength OPTIONAL);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwSetLowWaitHighThread(
- VOID);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwSetHighWaitLowThread(
- VOID);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwLoadDriver(
- IN PUNICODE_STRING DriverServiceName);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwUnloadDriver(
- IN PUNICODE_STRING DriverServiceName);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwFlushInstructionCache(
- IN HANDLE ProcessHandle,
- IN PVOID BaseAddress OPTIONAL,
- IN ULONG FlushSize);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwFlushWriteBuffer(
- VOID);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwQueryDefaultLocale(
- IN BOOLEAN ThreadOrSystem,
- OUT PLCID Locale);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwSetDefaultLocale(
- IN BOOLEAN ThreadOrSystem,
- IN LCID Locale);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwQueryDefaultUILanguage(
- OUT PLANGID LanguageId);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwSetDefaultUILanguage(
- IN LANGID LanguageId);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwQueryInstallUILanguage(
- OUT PLANGID LanguageId);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtAllocateLocallyUniqueId(
- OUT PLUID Luid);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtAllocateUuids(
- OUT PLARGE_INTEGER UuidLastTimeAllocated,
- OUT PULONG UuidDeltaTime,
- OUT PULONG UuidSequenceNumber,
- OUT PUCHAR UuidSeed);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwSetUuidSeed(
- IN PUCHAR UuidSeed);
-
-typedef enum _HARDERROR_RESPONSE_OPTION {
- OptionAbortRetryIgnore,
- OptionOk,
- OptionOkCancel,
- OptionRetryCancel,
- OptionYesNo,
- OptionYesNoCancel,
- OptionShutdownSystem
-} HARDERROR_RESPONSE_OPTION, *PHARDERROR_RESPONSE_OPTION;
-
-typedef enum _HARDERROR_RESPONSE {
- ResponseReturnToCaller,
- ResponseNotHandled,
- ResponseAbort,
- ResponseCancel,
- ResponseIgnore,
- ResponseNo,
- ResponseOk,
- ResponseRetry,
- ResponseYes
-} HARDERROR_RESPONSE, *PHARDERROR_RESPONSE;
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwRaiseHardError(
- IN NTSTATUS Status,
- IN ULONG NumberOfArguments,
- IN ULONG StringArgumentsMask,
- IN PULONG Arguments,
- IN HARDERROR_RESPONSE_OPTION ResponseOption,
- OUT PHARDERROR_RESPONSE Response);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwSetDefaultHardErrorPort(
- IN HANDLE PortHandle);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwDisplayString(
- IN PUNICODE_STRING String);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwCreatePagingFile(
- IN PUNICODE_STRING FileName,
- IN PULARGE_INTEGER InitialSize,
- IN PULARGE_INTEGER MaximumSize,
- IN ULONG Reserved);
-
-typedef USHORT RTL_ATOM, *PRTL_ATOM;
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtAddAtom(
- IN PWSTR AtomName,
- IN ULONG AtomNameLength,
- OUT PRTL_ATOM Atom);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtFindAtom(
- IN PWSTR AtomName,
- IN ULONG AtomNameLength,
- OUT PRTL_ATOM Atom);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtDeleteAtom(
- IN RTL_ATOM Atom);
-
-typedef enum _ATOM_INFORMATION_CLASS {
- AtomBasicInformation,
- AtomListInformation
-} ATOM_INFORMATION_CLASS;
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtQueryInformationAtom(
- IN RTL_ATOM Atom,
- IN ATOM_INFORMATION_CLASS AtomInformationClass,
- OUT PVOID AtomInformation,
- IN ULONG AtomInformationLength,
- OUT PULONG ReturnLength OPTIONAL);
-
-typedef struct _ATOM_BASIC_INFORMATION {
- USHORT ReferenceCount;
- USHORT Pinned;
- USHORT NameLength;
- WCHAR Name[1];
-} ATOM_BASIC_INFORMATION, *PATOM_BASIC_INFORMATION;
-
-typedef struct _ATOM_LIST_INFORMATION {
- ULONG NumberOfAtoms;
- ATOM Atoms[1];
-} ATOM_LIST_INFORMATION, *PATOM_LIST_INFORMATION;
-
-NTOSAPI
-NTSTATUS
-NTAPI
-ZwSetLdtEntries(
- IN ULONG Selector1,
- IN LDT_ENTRY LdtEntry1,
- IN ULONG Selector2,
- IN LDT_ENTRY LdtEntry2);
-
-NTOSAPI
-NTSTATUS
-NTAPI
-NtVdmControl(
- IN ULONG ControlCode,
- IN PVOID ControlData);
-
-#pragma pack(pop)
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __NTAPI_H */
diff --git a/winsup/w32api/include/ddk/ntdd8042.h b/winsup/w32api/include/ddk/ntdd8042.h
deleted file mode 100644
index b9947b162..000000000
--- a/winsup/w32api/include/ddk/ntdd8042.h
+++ /dev/null
@@ -1,213 +0,0 @@
-/*
- * ntdd8042.h
- *
- * i8042 IOCTL interface.
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- * Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __NTDD8042_H
-#define __NTDD8042_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-#include "ntddkbd.h"
-#include "ntddmou.h"
-
-#define IOCTL_INTERNAL_I8042_CONTROLLER_WRITE_BUFFER \
- CTL_CODE(FILE_DEVICE_KEYBOARD, 0x0FF2, METHOD_NEITHER, FILE_ANY_ACCESS)
-
-#define IOCTL_INTERNAL_I8042_HOOK_KEYBOARD \
- CTL_CODE(FILE_DEVICE_KEYBOARD, 0x0FF0, METHOD_NEITHER, FILE_ANY_ACCESS)
-
-#define IOCTL_INTERNAL_I8042_KEYBOARD_START_INFORMATION \
- CTL_CODE(FILE_DEVICE_KEYBOARD, 0x0FF3, METHOD_NEITHER, FILE_ANY_ACCESS)
-
-#define IOCTL_INTERNAL_I8042_KEYBOARD_WRITE_BUFFER \
- CTL_CODE(FILE_DEVICE_KEYBOARD, 0x0FF1, METHOD_NEITHER, FILE_ANY_ACCESS)
-
-#define IOCTL_INTERNAL_I8042_HOOK_MOUSE \
- CTL_CODE(FILE_DEVICE_MOUSE, 0x0FF0, METHOD_NEITHER, FILE_ANY_ACCESS)
-
-#define IOCTL_INTERNAL_I8042_MOUSE_START_INFORMATION \
- CTL_CODE(FILE_DEVICE_MOUSE, 0x0FF3, METHOD_NEITHER, FILE_ANY_ACCESS)
-
-#define IOCTL_INTERNAL_I8042_MOUSE_WRITE_BUFFER \
- CTL_CODE(FILE_DEVICE_MOUSE, 0x0FF1, METHOD_NEITHER, FILE_ANY_ACCESS)
-
-#define I8042_POWER_SYS_BUTTON 0x0001
-#define I8042_SLEEP_SYS_BUTTON 0x0002
-#define I8042_WAKE_SYS_BUTTON 0x0004
-#define I8042_SYS_BUTTONS (I8042_POWER_SYS_BUTTON | \
- I8042_SLEEP_SYS_BUTTON | \
- I8042_WAKE_SYS_BUTTON)
-
-typedef enum _TRANSMIT_STATE {
- Idle = 0,
- SendingBytes
-} TRANSMIT_STATE;
-
-typedef struct _OUTPUT_PACKET {
- PUCHAR Bytes;
- ULONG CurrentByte;
- ULONG ByteCount;
- TRANSMIT_STATE State;
-} OUTPUT_PACKET, *POUTPUT_PACKET;
-
-typedef enum _KEYBOARD_SCAN_STATE {
- Normal,
- GotE0,
- GotE1
-} KEYBOARD_SCAN_STATE, *PKEYBOARD_SCAN_STATE;
-
-typedef enum _MOUSE_STATE {
- MouseIdle,
- XMovement,
- YMovement,
- ZMovement,
- MouseExpectingACK,
- MouseResetting
-} MOUSE_STATE, *PMOUSE_STATE;
-
-typedef enum _MOUSE_RESET_SUBSTATE {
- ExpectingReset,
- ExpectingResetId,
- ExpectingGetDeviceIdACK,
- ExpectingGetDeviceIdValue,
- ExpectingSetResolutionDefaultACK,
- ExpectingSetResolutionDefaultValueACK,
- ExpectingSetResolutionACK,
- ExpectingSetResolutionValueACK,
- ExpectingSetScaling1to1ACK,
- ExpectingSetScaling1to1ACK2,
- ExpectingSetScaling1to1ACK3,
- ExpectingReadMouseStatusACK,
- ExpectingReadMouseStatusByte1,
- ExpectingReadMouseStatusByte2,
- ExpectingReadMouseStatusByte3,
- StartPnPIdDetection,
- ExpectingLoopSetSamplingRateACK,
- ExpectingLoopSetSamplingRateValueACK,
- ExpectingPnpIdByte1,
- ExpectingPnpIdByte2,
- ExpectingPnpIdByte3,
- ExpectingPnpIdByte4,
- ExpectingPnpIdByte5,
- ExpectingPnpIdByte6,
- ExpectingPnpIdByte7,
- EnableWheel,
- Enable5Buttons,
- ExpectingGetDeviceId2ACK,
- ExpectingGetDeviceId2Value,
- ExpectingSetSamplingRateACK,
- ExpectingSetSamplingRateValueACK,
- ExpectingEnableACK,
- ExpectingFinalResolutionACK,
- ExpectingFinalResolutionValueACK,
- ExpectingGetDeviceIdDetectACK,
- ExpectingGetDeviceIdDetectValue,
- CustomHookStateMinimum = 100,
- CustomHookStateMaximum = 999,
- I8042ReservedMinimum = 1000
-} MOUSE_RESET_SUBSTATE, *PMOUSE_RESET_SUBSTATE;
-
-typedef struct _INTERNAL_I8042_START_INFORMATION {
- ULONG Size;
- PKINTERRUPT InterruptObject;
- ULONG Reserved[8];
-} INTERNAL_I8042_START_INFORMATION, *PINTERNAL_I8042_START_INFORMATION;
-
-typedef VOID DDKAPI
-(*PI8042_ISR_WRITE_PORT)(
- IN PVOID Context,
- IN UCHAR Value);
-
-typedef VOID DDKAPI
-(*PI8042_QUEUE_PACKET)(
- IN PVOID Context);
-
-typedef NTSTATUS DDKAPI
-(*PI8042_SYNCH_READ_PORT) (
- IN PVOID Context,
- OUT PUCHAR Value,
- IN BOOLEAN WaitForACK);
-
-typedef NTSTATUS DDKAPI
-(*PI8042_SYNCH_WRITE_PORT)(
- IN PVOID Context,
- IN UCHAR Value,
- IN BOOLEAN WaitForACK);
-
-
-typedef NTSTATUS DDKAPI
-(*PI8042_KEYBOARD_INITIALIZATION_ROUTINE)(
- IN PVOID InitializationContext,
- IN PVOID SynchFuncContext,
- IN PI8042_SYNCH_READ_PORT ReadPort,
- IN PI8042_SYNCH_WRITE_PORT WritePort,
- OUT PBOOLEAN TurnTranslationOn);
-
-typedef BOOLEAN DDKAPI
-(*PI8042_KEYBOARD_ISR)(
- PVOID IsrContext,
- PKEYBOARD_INPUT_DATA CurrentInput,
- POUTPUT_PACKET CurrentOutput,
- UCHAR StatusByte,
- PUCHAR Byte,
- PBOOLEAN ContinueProcessing,
- PKEYBOARD_SCAN_STATE ScanState);
-
-typedef struct _INTERNAL_I8042_HOOK_KEYBOARD {
- OUT PVOID Context;
- OUT PI8042_KEYBOARD_INITIALIZATION_ROUTINE InitializationRoutine;
- OUT PI8042_KEYBOARD_ISR IsrRoutine;
- IN PI8042_ISR_WRITE_PORT IsrWritePort;
- IN PI8042_QUEUE_PACKET QueueKeyboardPacket;
- IN PVOID CallContext;
-} INTERNAL_I8042_HOOK_KEYBOARD, *PINTERNAL_I8042_HOOK_KEYBOARD;
-
-typedef BOOLEAN DDKAPI
-(*PI8042_MOUSE_ISR)(
- PVOID IsrContext,
- PMOUSE_INPUT_DATA CurrentInput,
- POUTPUT_PACKET CurrentOutput,
- UCHAR StatusByte,
- PUCHAR Byte,
- PBOOLEAN ContinueProcessing,
- PMOUSE_STATE MouseState,
- PMOUSE_RESET_SUBSTATE ResetSubState);
-
-typedef struct _INTERNAL_I8042_HOOK_MOUSE {
- OUT PVOID Context;
- OUT PI8042_MOUSE_ISR IsrRoutine;
- IN PI8042_ISR_WRITE_PORT IsrWritePort;
- IN PI8042_QUEUE_PACKET QueueMousePacket;
- IN PVOID CallContext;
-} INTERNAL_I8042_HOOK_MOUSE, *PINTERNAL_I8042_HOOK_MOUSE;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __NTDD8042_H */
diff --git a/winsup/w32api/include/ddk/ntddbeep.h b/winsup/w32api/include/ddk/ntddbeep.h
deleted file mode 100644
index 6052a0948..000000000
--- a/winsup/w32api/include/ddk/ntddbeep.h
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * ntddbeep.h
- *
- * Beep device IOCTL interface
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- * Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __NTDDBEEP_H
-#define __NTDDBEEP_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-
-#define DD_BEEP_DEVICE_NAME "\\Device\\Beep"
-#define DD_BEEP_DEVICE_NAME_U L"\\Device\\Beep"
-
-#define IOCTL_BEEP_SET \
- CTL_CODE(FILE_DEVICE_BEEP, 0, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-typedef struct _BEEP_SET_PARAMETERS {
- ULONG Frequency;
- ULONG Duration;
-} BEEP_SET_PARAMETERS, *PBEEP_SET_PARAMETERS;
-
-#define BEEP_FREQUENCY_MINIMUM 0x25
-#define BEEP_FREQUENCY_MAXIMUM 0x7FFF
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __NTDDBEEP_H */
diff --git a/winsup/w32api/include/ddk/ntddcdrm.h b/winsup/w32api/include/ddk/ntddcdrm.h
deleted file mode 100644
index 49cf29dd2..000000000
--- a/winsup/w32api/include/ddk/ntddcdrm.h
+++ /dev/null
@@ -1,347 +0,0 @@
-/*
- * ntddcdrm.h
- *
- * CDROM IOCTL interface.
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- * Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __NTDDCDRM_H
-#define __NTDDCDRM_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-#include "ntddstor.h"
-
-#define IOCTL_CDROM_BASE FILE_DEVICE_CD_ROM
-
-#define IOCTL_CDROM_CHECK_VERIFY \
- CTL_CODE(IOCTL_CDROM_BASE, 0x0200, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_CDROM_FIND_NEW_DEVICES \
- CTL_CODE(IOCTL_CDROM_BASE, 0x0206, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_CDROM_GET_CONTROL \
- CTL_CODE(IOCTL_CDROM_BASE, 0x000D, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_CDROM_GET_DRIVE_GEOMETRY \
- CTL_CODE(IOCTL_CDROM_BASE, 0x0013, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_CDROM_GET_LAST_SESSION \
- CTL_CODE(IOCTL_CDROM_BASE, 0x000E, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_CDROM_GET_VOLUME \
- CTL_CODE(IOCTL_CDROM_BASE, 0x0005, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_CDROM_PAUSE_AUDIO \
- CTL_CODE(IOCTL_CDROM_BASE, 0x0003, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_CDROM_PLAY_AUDIO_MSF \
- CTL_CODE(IOCTL_CDROM_BASE, 0x0006, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_CDROM_RAW_READ \
- CTL_CODE(IOCTL_CDROM_BASE, 0x000F, METHOD_OUT_DIRECT, FILE_READ_ACCESS)
-
-#define IOCTL_CDROM_READ_Q_CHANNEL \
- CTL_CODE(IOCTL_CDROM_BASE, 0x000B, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_CDROM_READ_TOC \
- CTL_CODE(IOCTL_CDROM_BASE, 0x0000, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_CDROM_READ_TOC_EX \
- CTL_CODE(IOCTL_CDROM_BASE, 0x0015, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_CDROM_RESUME_AUDIO \
- CTL_CODE(IOCTL_CDROM_BASE, 0x0004, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_CDROM_SEEK_AUDIO_MSF \
- CTL_CODE(IOCTL_CDROM_BASE, 0x0001, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_CDROM_SET_VOLUME \
- CTL_CODE(IOCTL_CDROM_BASE, 0x000A, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_CDROM_SIMBAD \
- CTL_CODE(IOCTL_CDROM_BASE, 0x1003, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_CDROM_STOP_AUDIO \
- CTL_CODE(IOCTL_CDROM_BASE, 0x0002, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-
-#define MAXIMUM_NUMBER_TRACKS 100
-#define MAXIMUM_CDROM_SIZE 804
-#define MINIMUM_CDROM_READ_TOC_EX_SIZE 2
-
-typedef struct _TRACK_DATA {
- UCHAR Reserved;
- UCHAR Control : 4;
- UCHAR Adr : 4;
- UCHAR TrackNumber;
- UCHAR Reserved1;
- UCHAR Address[4];
-} TRACK_DATA, *PTRACK_DATA;
-
-/* CDROM_DISK_DATA.DiskData flags */
-#define CDROM_DISK_AUDIO_TRACK 0x00000001
-#define CDROM_DISK_DATA_TRACK 0x00000002
-
-typedef struct _CDROM_DISK_DATA {
- ULONG DiskData;
-} CDROM_DISK_DATA, *PCDROM_DISK_DATA;
-
-typedef struct _CDROM_PLAY_AUDIO_MSF {
- UCHAR StartingM;
- UCHAR StartingS;
- UCHAR StartingF;
- UCHAR EndingM;
- UCHAR EndingS;
- UCHAR EndingF;
-} CDROM_PLAY_AUDIO_MSF, *PCDROM_PLAY_AUDIO_MSF;
-
-/* CDROM_READ_TOC_EX.Format constants */
-#define CDROM_READ_TOC_EX_FORMAT_TOC 0x00
-#define CDROM_READ_TOC_EX_FORMAT_SESSION 0x01
-#define CDROM_READ_TOC_EX_FORMAT_FULL_TOC 0x02
-#define CDROM_READ_TOC_EX_FORMAT_PMA 0x03
-#define CDROM_READ_TOC_EX_FORMAT_ATIP 0x04
-#define CDROM_READ_TOC_EX_FORMAT_CDTEXT 0x05
-
-typedef struct _CDROM_READ_TOC_EX {
- UCHAR Format : 4;
- UCHAR Reserved1 : 3;
- UCHAR Msf : 1;
- UCHAR SessionTrack;
- UCHAR Reserved2;
- UCHAR Reserved3;
-} CDROM_READ_TOC_EX, *PCDROM_READ_TOC_EX;
-
-typedef struct _CDROM_SEEK_AUDIO_MSF {
- UCHAR M;
- UCHAR S;
- UCHAR F;
-} CDROM_SEEK_AUDIO_MSF, *PCDROM_SEEK_AUDIO_MSF;
-
-/* CDROM_SUB_Q_DATA_FORMAT.Format constants */
-#define IOCTL_CDROM_SUB_Q_CHANNEL 0x00
-#define IOCTL_CDROM_CURRENT_POSITION 0x01
-#define IOCTL_CDROM_MEDIA_CATALOG 0x02
-#define IOCTL_CDROM_TRACK_ISRC 0x03
-
-typedef struct _CDROM_SUB_Q_DATA_FORMAT {
- UCHAR Format;
- UCHAR Track;
-} CDROM_SUB_Q_DATA_FORMAT, *PCDROM_SUB_Q_DATA_FORMAT;
-
-typedef struct _CDROM_TOC {
- UCHAR Length[2];
- UCHAR FirstTrack;
- UCHAR LastTrack;
- TRACK_DATA TrackData[MAXIMUM_NUMBER_TRACKS];
-} CDROM_TOC, *PCDROM_TOC;
-
-#define CDROM_TOC_SIZE sizeof(CDROM_TOC)
-
-typedef struct _CDROM_TOC_ATIP_DATA_BLOCK {
- UCHAR CdrwReferenceSpeed : 3;
- UCHAR Reserved3 : 1;
- UCHAR WritePower : 3;
- UCHAR True1 : 1;
- UCHAR Reserved4 : 6;
- UCHAR UnrestrictedUse : 1;
- UCHAR Reserved5 : 1;
- UCHAR A3Valid : 1;
- UCHAR A2Valid : 1;
- UCHAR A1Valid : 1;
- UCHAR Reserved6 : 3;
- UCHAR IsCdrw : 1;
- UCHAR True2 : 1;
- UCHAR Reserved7;
- UCHAR LeadInMsf[3];
- UCHAR Reserved8;
- UCHAR LeadOutMsf[3];
- UCHAR Reserved9;
- UCHAR A1Values[3];
- UCHAR Reserved10;
- UCHAR A2Values[3];
- UCHAR Reserved11;
- UCHAR A3Values[3];
- UCHAR Reserved12;
-} CDROM_TOC_ATIP_DATA_BLOCK, *PCDROM_TOC_ATIP_DATA_BLOCK;
-
-typedef struct _CDROM_TOC_ATIP_DATA {
- UCHAR Length[2];
- UCHAR Reserved1;
- UCHAR Reserved2;
- CDROM_TOC_ATIP_DATA_BLOCK Descriptors[0];
-} CDROM_TOC_ATIP_DATA, *PCDROM_TOC_ATIP_DATA;
-
-/* CDROM_TOC_CD_TEXT_DATA_BLOCK.PackType constants */
-#define CDROM_CD_TEXT_PACK_ALBUM_NAME 0x80
-#define CDROM_CD_TEXT_PACK_PERFORMER 0x81
-#define CDROM_CD_TEXT_PACK_SONGWRITER 0x82
-#define CDROM_CD_TEXT_PACK_COMPOSER 0x83
-#define CDROM_CD_TEXT_PACK_ARRANGER 0x84
-#define CDROM_CD_TEXT_PACK_MESSAGES 0x85
-#define CDROM_CD_TEXT_PACK_DISC_ID 0x86
-#define CDROM_CD_TEXT_PACK_GENRE 0x87
-#define CDROM_CD_TEXT_PACK_TOC_INFO 0x88
-#define CDROM_CD_TEXT_PACK_TOC_INFO2 0x89
-#define CDROM_CD_TEXT_PACK_UPC_EAN 0x8e
-#define CDROM_CD_TEXT_PACK_SIZE_INFO 0x8f
-
-typedef struct _CDROM_TOC_CD_TEXT_DATA_BLOCK {
- UCHAR PackType;
- UCHAR TrackNumber : 7;
- UCHAR ExtensionFlag : 1;
- UCHAR SequenceNumber;
- UCHAR CharacterPosition : 4;
- UCHAR BlockNumber : 3;
- UCHAR Unicode : 1;
- _ANONYMOUS_UNION union {
- UCHAR Text[12];
- WCHAR WText[6];
- } DUMMYUNIONNAME;
- UCHAR CRC[2];
-} CDROM_TOC_CD_TEXT_DATA_BLOCK, *PCDROM_TOC_CD_TEXT_DATA_BLOCK;
-
-typedef struct _CDROM_TOC_CD_TEXT_DATA {
- UCHAR Length[2];
- UCHAR Reserved1;
- UCHAR Reserved2;
- CDROM_TOC_CD_TEXT_DATA_BLOCK Descriptors[0];
-} CDROM_TOC_CD_TEXT_DATA, *PCDROM_TOC_CD_TEXT_DATA;
-
-/* CDROM_TOC_FULL_TOC_DATA_BLOCK.Adr constants */
-#define ADR_NO_MODE_INFORMATION 0x0
-#define ADR_ENCODES_CURRENT_POSITION 0x1
-#define ADR_ENCODES_MEDIA_CATALOG 0x2
-#define ADR_ENCODES_ISRC 0x3
-
-typedef struct _CDROM_TOC_FULL_TOC_DATA_BLOCK {
- UCHAR SessionNumber;
- UCHAR Control : 4;
- UCHAR Adr : 4;
- UCHAR Reserved1;
- UCHAR Point;
- UCHAR MsfExtra[3];
- UCHAR Zero;
- UCHAR Msf[3];
-} CDROM_TOC_FULL_TOC_DATA_BLOCK, *PCDROM_TOC_FULL_TOC_DATA_BLOCK;
-
-typedef struct _CDROM_TOC_FULL_TOC_DATA {
- UCHAR Length[2];
- UCHAR FirstCompleteSession;
- UCHAR LastCompleteSession;
- CDROM_TOC_FULL_TOC_DATA_BLOCK Descriptors[0];
-} CDROM_TOC_FULL_TOC_DATA, *PCDROM_TOC_FULL_TOC_DATA;
-
-typedef struct _CDROM_TOC_PMA_DATA {
- UCHAR Length[2];
- UCHAR Reserved1;
- UCHAR Reserved2;
- CDROM_TOC_FULL_TOC_DATA_BLOCK Descriptors[0];
-} CDROM_TOC_PMA_DATA, *PCDROM_TOC_PMA_DATA;
-
-/* SUB_Q_HEADER.AudioStatus constants */
-#define AUDIO_STATUS_NOT_SUPPORTED 0x00
-#define AUDIO_STATUS_IN_PROGRESS 0x11
-#define AUDIO_STATUS_PAUSED 0x12
-#define AUDIO_STATUS_PLAY_COMPLETE 0x13
-#define AUDIO_STATUS_PLAY_ERROR 0x14
-#define AUDIO_STATUS_NO_STATUS 0x15
-
-typedef struct _SUB_Q_HEADER {
- UCHAR Reserved;
- UCHAR AudioStatus;
- UCHAR DataLength[2];
-} SUB_Q_HEADER, *PSUB_Q_HEADER;
-
-typedef struct _SUB_Q_MEDIA_CATALOG_NUMBER {
- SUB_Q_HEADER Header;
- UCHAR FormatCode;
- UCHAR Reserved[3];
- UCHAR Reserved1 : 7;
- UCHAR Mcval :1;
- UCHAR MediaCatalog[15];
-} SUB_Q_MEDIA_CATALOG_NUMBER, *PSUB_Q_MEDIA_CATALOG_NUMBER;
-
-typedef struct _SUB_Q_TRACK_ISRC {
- SUB_Q_HEADER Header;
- UCHAR FormatCode;
- UCHAR Reserved0;
- UCHAR Track;
- UCHAR Reserved1;
- UCHAR Reserved2 : 7;
- UCHAR Tcval : 1;
- UCHAR TrackIsrc[15];
-} SUB_Q_TRACK_ISRC, *PSUB_Q_TRACK_ISRC;
-
-typedef struct _SUB_Q_CURRENT_POSITION {
- SUB_Q_HEADER Header;
- UCHAR FormatCode;
- UCHAR Control : 4;
- UCHAR ADR : 4;
- UCHAR TrackNumber;
- UCHAR IndexNumber;
- UCHAR AbsoluteAddress[4];
- UCHAR TrackRelativeAddress[4];
-} SUB_Q_CURRENT_POSITION, *PSUB_Q_CURRENT_POSITION;
-
-typedef union _SUB_Q_CHANNEL_DATA {
- SUB_Q_CURRENT_POSITION CurrentPosition;
- SUB_Q_MEDIA_CATALOG_NUMBER MediaCatalog;
- SUB_Q_TRACK_ISRC TrackIsrc;
-} SUB_Q_CHANNEL_DATA, *PSUB_Q_CHANNEL_DATA;
-
-/* CDROM_AUDIO_CONTROL.LbaFormat constants */
-#define AUDIO_WITH_PREEMPHASIS 0x1
-#define DIGITAL_COPY_PERMITTED 0x2
-#define AUDIO_DATA_TRACK 0x4
-#define TWO_FOUR_CHANNEL_AUDIO 0x8
-
-typedef struct _CDROM_AUDIO_CONTROL {
- UCHAR LbaFormat;
- USHORT LogicalBlocksPerSecond;
-} CDROM_AUDIO_CONTROL, *PCDROM_AUDIO_CONTROL;
-
-typedef struct _VOLUME_CONTROL {
- UCHAR PortVolume[4];
-} VOLUME_CONTROL, *PVOLUME_CONTROL;
-
-typedef enum _TRACK_MODE_TYPE {
- YellowMode2,
- XAForm2,
- CDDA
-} TRACK_MODE_TYPE, *PTRACK_MODE_TYPE;
-
-typedef struct __RAW_READ_INFO {
- LARGE_INTEGER DiskOffset;
- ULONG SectorCount;
- TRACK_MODE_TYPE TrackMode;
-} RAW_READ_INFO, *PRAW_READ_INFO;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __NTDDCDRM_H */
diff --git a/winsup/w32api/include/ddk/ntddcdvd.h b/winsup/w32api/include/ddk/ntddcdvd.h
deleted file mode 100644
index 82c2a60ff..000000000
--- a/winsup/w32api/include/ddk/ntddcdvd.h
+++ /dev/null
@@ -1,213 +0,0 @@
-/*
- * ntddcdvd.h
- *
- * DVD IOCTL interface.
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- * Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __NTDDCDVD_H
-#define __NTDDCDVD_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-#include "ntddstor.h"
-
-#define IOCTL_DVD_BASE FILE_DEVICE_DVD
-
-#define IOCTL_DVD_END_SESSION \
- CTL_CODE(IOCTL_DVD_BASE, 0x0403, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_DVD_GET_REGION \
- CTL_CODE(IOCTL_DVD_BASE, 0x0405, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_DVD_READ_KEY \
- CTL_CODE(IOCTL_DVD_BASE, 0x0401, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_DVD_READ_STRUCTURE \
- CTL_CODE(IOCTL_DVD_BASE, 0x0450, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_DVD_SEND_KEY \
- CTL_CODE(IOCTL_DVD_BASE, 0x0402, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_DVD_START_SESSION \
- CTL_CODE(IOCTL_DVD_BASE, 0x0400, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_DVD_SET_READ_AHEAD \
- CTL_CODE(IOCTL_DVD_BASE, 0x0404, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-
-typedef ULONG DVD_SESSION_ID, *PDVD_SESSION_ID;
-
-typedef struct _STORAGE_SET_READ_AHEAD {
- LARGE_INTEGER TriggerAddress;
- LARGE_INTEGER TargetAddress;
-} STORAGE_SET_READ_AHEAD, *PSTORAGE_SET_READ_AHEAD;
-
-typedef enum DVD_STRUCTURE_FORMAT {
- DvdPhysicalDescriptor,
- DvdCopyrightDescriptor,
- DvdDiskKeyDescriptor,
- DvdBCADescriptor,
- DvdManufacturerDescriptor,
- DvdMaxDescriptor
-} DVD_STRUCTURE_FORMAT, *PDVD_STRUCTURE_FORMAT;
-
-#include <pshpack1.h>
-typedef struct DVD_READ_STRUCTURE {
- LARGE_INTEGER BlockByteOffset;
- DVD_STRUCTURE_FORMAT Format;
- DVD_SESSION_ID SessionId;
- UCHAR LayerNumber;
-} DVD_READ_STRUCTURE, *PDVD_READ_STRUCTURE;
-#include <poppack.h>
-
-typedef struct _DVD_DESCRIPTOR_HEADER {
- USHORT Length;
- UCHAR Reserved[2];
- UCHAR Data[0];
-} DVD_DESCRIPTOR_HEADER, *PDVD_DESCRIPTOR_HEADER;
-
-#include <pshpack1.h>
-typedef struct _DVD_LAYER_DESCRIPTOR {
- UCHAR BookVersion : 4;
- UCHAR BookType : 4;
- UCHAR MinimumRate : 4;
- UCHAR DiskSize : 4;
- UCHAR LayerType : 4;
- UCHAR TrackPath : 1;
- UCHAR NumberOfLayers : 2;
- UCHAR Reserved1 : 1;
- UCHAR TrackDensity : 4;
- UCHAR LinearDensity : 4;
- ULONG StartingDataSector;
- ULONG EndDataSector;
- ULONG EndLayerZeroSector;
- UCHAR Reserved5 : 7;
- UCHAR BCAFlag : 1;
- UCHAR Reserved6;
-} DVD_LAYER_DESCRIPTOR, *PDVD_LAYER_DESCRIPTOR;
-#include <poppack.h>
-
-typedef struct _DVD_COPYRIGHT_DESCRIPTOR {
- UCHAR CopyrightProtectionType;
- UCHAR RegionManagementInformation;
- USHORT Reserved;
-} DVD_COPYRIGHT_DESCRIPTOR, *PDVD_COPYRIGHT_DESCRIPTOR;
-
-typedef struct _DVD_DISK_KEY_DESCRIPTOR {
- UCHAR DiskKeyData[2048];
-} DVD_DISK_KEY_DESCRIPTOR, *PDVD_DISK_KEY_DESCRIPTOR;
-
-typedef enum _DVD_KEY_TYPE {
- DvdChallengeKey = 0x01,
- DvdBusKey1,
- DvdBusKey2,
- DvdTitleKey,
- DvdAsf,
- DvdSetRpcKey = 0x6,
- DvdGetRpcKey = 0x8,
- DvdDiskKey = 0x80,
- DvdInvalidateAGID = 0x3f
-} DVD_KEY_TYPE;
-
-typedef struct _DVD_COPY_PROTECT_KEY {
- ULONG KeyLength;
- DVD_SESSION_ID SessionId;
- DVD_KEY_TYPE KeyType;
- ULONG KeyFlags;
- union {
- HANDLE FileHandle;
- LARGE_INTEGER TitleOffset;
- } Parameters;
- UCHAR KeyData[0];
-} DVD_COPY_PROTECT_KEY, *PDVD_COPY_PROTECT_KEY;
-
-#define DVD_CHALLENGE_KEY_LENGTH (12 + sizeof(DVD_COPY_PROTECT_KEY))
-#define DVD_BUS_KEY_LENGTH (8 + sizeof(DVD_COPY_PROTECT_KEY))
-#define DVD_TITLE_KEY_LENGTH (8 + sizeof(DVD_COPY_PROTECT_KEY))
-#define DVD_DISK_KEY_LENGTH (2048 + sizeof(DVD_COPY_PROTECT_KEY))
-#define DVD_RPC_KEY_LENGTH (sizeof(DVD_RPC_KEY) + sizeof(DVD_COPY_PROTECT_KEY))
-#define DVD_SET_RPC_KEY_LENGTH (sizeof(DVD_SET_RPC_KEY) + sizeof(DVD_COPY_PROTECT_KEY))
-#define DVD_ASF_LENGTH (sizeof(DVD_ASF) + sizeof(DVD_COPY_PROTECT_KEY))
-
-#define DVD_END_ALL_SESSIONS ((DVD_SESSION_ID) 0xffffffff)
-
-
-#define DVD_CGMS_RESERVED_MASK 0x00000078
-
-#define DVD_CGMS_COPY_PROTECT_MASK 0x00000018
-#define DVD_CGMS_COPY_PERMITTED 0x00000000
-#define DVD_CGMS_COPY_ONCE 0x00000010
-#define DVD_CGMS_NO_COPY 0x00000018
-
-#define DVD_COPYRIGHT_MASK 0x00000040
-#define DVD_NOT_COPYRIGHTED 0x00000000
-#define DVD_COPYRIGHTED 0x00000040
-
-#define DVD_SECTOR_PROTECT_MASK 0x00000020
-#define DVD_SECTOR_NOT_PROTECTED 0x00000000
-#define DVD_SECTOR_PROTECTED 0x00000020
-
-
-typedef struct _DVD_BCA_DESCRIPTOR {
- UCHAR BCAInformation[0];
-} DVD_BCA_DESCRIPTOR, *PDVD_BCA_DESCRIPTOR;
-
-typedef struct _DVD_MANUFACTURER_DESCRIPTOR {
- UCHAR ManufacturingInformation[2048];
-} DVD_MANUFACTURER_DESCRIPTOR, *PDVD_MANUFACTURER_DESCRIPTOR;
-
-typedef struct _DVD_RPC_KEY {
- UCHAR UserResetsAvailable : 3;
- UCHAR ManufacturerResetsAvailable : 3;
- UCHAR TypeCode : 2;
- UCHAR RegionMask;
- UCHAR RpcScheme;
- UCHAR Reserved2[1];
-} DVD_RPC_KEY, *PDVD_RPC_KEY;
-
-typedef struct _DVD_SET_RPC_KEY {
- UCHAR PreferredDriveRegionCode;
- UCHAR Reserved[3];
-} DVD_SET_RPC_KEY, *PDVD_SET_RPC_KEY;
-
-typedef struct _DVD_ASF {
- UCHAR Reserved0[3];
- UCHAR SuccessFlag : 1;
- UCHAR Reserved1 : 7;
-} DVD_ASF, *PDVD_ASF;
-
-typedef struct _DVD_REGION {
- UCHAR CopySystem;
- UCHAR RegionData;
- UCHAR SystemRegion;
- UCHAR ResetCount;
-} DVD_REGION, *PDVD_REGION;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __NTDDCDVD_H */
diff --git a/winsup/w32api/include/ddk/ntddchgr.h b/winsup/w32api/include/ddk/ntddchgr.h
deleted file mode 100644
index 8c9e81e81..000000000
--- a/winsup/w32api/include/ddk/ntddchgr.h
+++ /dev/null
@@ -1,353 +0,0 @@
-/*
- * ntddchgr.h
- *
- * Media changer IOCTL interface.
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- * Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __NTDDCHGR_H
-#define __NTDDCHGR_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-#include "ntddstor.h"
-
-#define DD_CHANGER_DEVICE_NAME "\\Device\\Changer"
-#define DD_CHANGER_DEVICE_NAME_U L"\\Device\\Changer"
-
-#define IOCTL_CHANGER_BASE FILE_DEVICE_CHANGER
-
-#define IOCTL_CHANGER_EXCHANGE_MEDIUM \
- CTL_CODE(IOCTL_CHANGER_BASE, 0x0008, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_CHANGER_GET_ELEMENT_STATUS \
- CTL_CODE(IOCTL_CHANGER_BASE, 0x0005, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
-
-#define IOCTL_CHANGER_GET_PARAMETERS \
- CTL_CODE(IOCTL_CHANGER_BASE, 0x0000, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_CHANGER_GET_PRODUCT_DATA \
- CTL_CODE(IOCTL_CHANGER_BASE, 0x0002, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_CHANGER_GET_STATUS \
- CTL_CODE(IOCTL_CHANGER_BASE, 0x0001, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_CHANGER_INITIALIZE_ELEMENT_STATUS \
- CTL_CODE(IOCTL_CHANGER_BASE, 0x0006, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_CHANGER_MOVE_MEDIUM \
- CTL_CODE(IOCTL_CHANGER_BASE, 0x0009, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_CHANGER_QUERY_VOLUME_TAGS \
- CTL_CODE(IOCTL_CHANGER_BASE, 0x000B, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
-
-#define IOCTL_CHANGER_REINITIALIZE_TRANSPORT \
- CTL_CODE(IOCTL_CHANGER_BASE, 0x000A, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_CHANGER_SET_ACCESS \
- CTL_CODE(IOCTL_CHANGER_BASE, 0x0004, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
-
-#define IOCTL_CHANGER_SET_POSITION \
- CTL_CODE(IOCTL_CHANGER_BASE, 0x0007, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-
-#define MAX_VOLUME_ID_SIZE 36
-#define MAX_VOLUME_TEMPLATE_SIZE 40
-
-typedef enum _ELEMENT_TYPE {
- AllElements,
- ChangerTransport,
- ChangerSlot,
- ChangerIEPort,
- ChangerDrive,
- ChangerDoor,
- ChangerKeypad,
- ChangerMaxElement
-} ELEMENT_TYPE, *PELEMENT_TYPE;
-
-typedef struct _CHANGER_ELEMENT {
- ELEMENT_TYPE ElementType;
- ULONG ElementAddress;
-} CHANGER_ELEMENT, *PCHANGER_ELEMENT;
-
-typedef struct _CHANGER_ELEMENT_LIST {
- CHANGER_ELEMENT Element;
- ULONG NumberOfElements;
-} CHANGER_ELEMENT_LIST, *PCHANGER_ELEMENT_LIST;
-
-typedef struct _CHANGER_INITIALIZE_ELEMENT_STATUS {
- CHANGER_ELEMENT_LIST ElementList;
- BOOLEAN BarCodeScan;
-} CHANGER_INITIALIZE_ELEMENT_STATUS, *PCHANGER_INITIALIZE_ELEMENT_STATUS;
-
-typedef struct _CHANGER_READ_ELEMENT_STATUS {
- CHANGER_ELEMENT_LIST ElementList;
- BOOLEAN VolumeTagInfo;
-} CHANGER_READ_ELEMENT_STATUS, *PCHANGER_READ_ELEMENT_STATUS;
-
-
-typedef struct _CHANGER_SET_POSITION {
- CHANGER_ELEMENT Transport;
- CHANGER_ELEMENT Destination;
- BOOLEAN Flip;
-} CHANGER_SET_POSITION, *PCHANGER_SET_POSITION;
-
-typedef struct _CHANGER_EXCHANGE_MEDIUM {
- CHANGER_ELEMENT Transport;
- CHANGER_ELEMENT Source;
- CHANGER_ELEMENT Destination1;
- CHANGER_ELEMENT Destination2;
- BOOLEAN Flip1;
- BOOLEAN Flip2;
-} CHANGER_EXCHANGE_MEDIUM, *PCHANGER_EXCHANGE_MEDIUM;
-
-typedef struct _CHANGER_MOVE_MEDIUM {
- CHANGER_ELEMENT Transport;
- CHANGER_ELEMENT Source;
- CHANGER_ELEMENT Destination;
- BOOLEAN Flip;
-} CHANGER_MOVE_MEDIUM, *PCHANGER_MOVE_MEDIUM;
-
-#define VENDOR_ID_LENGTH 8
-#define PRODUCT_ID_LENGTH 16
-#define REVISION_LENGTH 4
-#define SERIAL_NUMBER_LENGTH 32
-
-typedef struct _CHANGER_PRODUCT_DATA {
- UCHAR VendorId[VENDOR_ID_LENGTH];
- UCHAR ProductId[PRODUCT_ID_LENGTH];
- UCHAR Revision[REVISION_LENGTH];
- UCHAR SerialNumber[SERIAL_NUMBER_LENGTH];
- UCHAR DeviceType;
-} CHANGER_PRODUCT_DATA, *PCHANGER_PRODUCT_DATA;
-
-/* CHANGER_SET_ACCESS.Control constants */
-#define LOCK_ELEMENT 0
-#define UNLOCK_ELEMENT 1
-#define EXTEND_IEPORT 2
-#define RETRACT_IEPORT 3
-
-typedef struct _CHANGER_SET_ACCESS {
- CHANGER_ELEMENT Element;
- ULONG Control;
-} CHANGER_SET_ACCESS, *PCHANGER_SET_ACCESS;
-
-
-typedef enum _CHANGER_DEVICE_PROBLEM_TYPE {
- DeviceProblemNone,
- DeviceProblemHardware,
- DeviceProblemCHMError,
- DeviceProblemDoorOpen,
- DeviceProblemCalibrationError,
- DeviceProblemTargetFailure,
- DeviceProblemCHMMoveError,
- DeviceProblemCHMZeroError,
- DeviceProblemCartridgeInsertError,
- DeviceProblemPositionError,
- DeviceProblemSensorError,
- DeviceProblemCartridgeEjectError,
- DeviceProblemGripperError,
- DeviceProblemDriveError
-} CHANGER_DEVICE_PROBLEM_TYPE, *PCHANGER_DEVICE_PROBLEM_TYPE;
-
-/* CHANGER_ELEMENT_STATUS(_EX).Flags constants */
-#define ELEMENT_STATUS_FULL 0x00000001
-#define ELEMENT_STATUS_IMPEXP 0x00000002
-#define ELEMENT_STATUS_EXCEPT 0x00000004
-#define ELEMENT_STATUS_ACCESS 0x00000008
-#define ELEMENT_STATUS_EXENAB 0x00000010
-#define ELEMENT_STATUS_INENAB 0x00000020
-#define ELEMENT_STATUS_PRODUCT_DATA 0x00000040
-#define ELEMENT_STATUS_LUN_VALID 0x00001000
-#define ELEMENT_STATUS_ID_VALID 0x00002000
-#define ELEMENT_STATUS_NOT_BUS 0x00008000
-#define ELEMENT_STATUS_INVERT 0x00400000
-#define ELEMENT_STATUS_SVALID 0x00800000
-#define ELEMENT_STATUS_PVOLTAG 0x10000000
-#define ELEMENT_STATUS_AVOLTAG 0x20000000
-
-/* CHANGER_ELEMENT_STATUS(_EX).ExceptionCode constants */
-#define ERROR_LABEL_UNREADABLE 0x00000001
-#define ERROR_LABEL_QUESTIONABLE 0x00000002
-#define ERROR_SLOT_NOT_PRESENT 0x00000004
-#define ERROR_DRIVE_NOT_INSTALLED 0x00000008
-#define ERROR_TRAY_MALFUNCTION 0x00000010
-#define ERROR_INIT_STATUS_NEEDED 0x00000011
-#define ERROR_UNHANDLED_ERROR 0xFFFFFFFF
-
-typedef struct _CHANGER_ELEMENT_STATUS {
- CHANGER_ELEMENT Element;
- CHANGER_ELEMENT SrcElementAddress;
- ULONG Flags;
- ULONG ExceptionCode;
- UCHAR TargetId;
- UCHAR Lun;
- USHORT Reserved;
- UCHAR PrimaryVolumeID[MAX_VOLUME_ID_SIZE];
- UCHAR AlternateVolumeID[MAX_VOLUME_ID_SIZE];
-} CHANGER_ELEMENT_STATUS, *PCHANGER_ELEMENT_STATUS;
-
-typedef struct _CHANGER_ELEMENT_STATUS_EX {
- CHANGER_ELEMENT Element;
- CHANGER_ELEMENT SrcElementAddress;
- ULONG Flags;
- ULONG ExceptionCode;
- UCHAR TargetId;
- UCHAR Lun;
- USHORT Reserved;
- UCHAR PrimaryVolumeID[MAX_VOLUME_ID_SIZE];
- UCHAR AlternateVolumeID[MAX_VOLUME_ID_SIZE];
- UCHAR VendorIdentification[VENDOR_ID_LENGTH];
- UCHAR ProductIdentification[PRODUCT_ID_LENGTH];
- UCHAR SerialNumber[SERIAL_NUMBER_LENGTH];
-} CHANGER_ELEMENT_STATUS_EX, *PCHANGER_ELEMENT_STATUS_EX;
-
-/* CHANGER_SEND_VOLUME_TAG_INFORMATION.ActionCode constants */
-#define SEARCH_ALL 0x0
-#define SEARCH_PRIMARY 0x1
-#define SEARCH_ALTERNATE 0x2
-#define SEARCH_ALL_NO_SEQ 0x4
-#define SEARCH_PRI_NO_SEQ 0x5
-#define SEARCH_ALT_NO_SEQ 0x6
-#define ASSERT_PRIMARY 0x8
-#define ASSERT_ALTERNATE 0x9
-#define REPLACE_PRIMARY 0xA
-#define REPLACE_ALTERNATE 0xB
-#define UNDEFINE_PRIMARY 0xC
-#define UNDEFINE_ALTERNATE 0xD
-
-typedef struct _CHANGER_SEND_VOLUME_TAG_INFORMATION {
- CHANGER_ELEMENT StartingElement;
- ULONG ActionCode;
- UCHAR VolumeIDTemplate[MAX_VOLUME_TEMPLATE_SIZE];
-} CHANGER_SEND_VOLUME_TAG_INFORMATION, *PCHANGER_SEND_VOLUME_TAG_INFORMATION;
-
-/* GET_CHANGER_PARAMETERS.Features0 constants */
-#define CHANGER_BAR_CODE_SCANNER_INSTALLED 0x00000001
-#define CHANGER_INIT_ELEM_STAT_WITH_RANGE 0x00000002
-#define CHANGER_CLOSE_IEPORT 0x00000004
-#define CHANGER_OPEN_IEPORT 0x00000008
-#define CHANGER_STATUS_NON_VOLATILE 0x00000010
-#define CHANGER_EXCHANGE_MEDIA 0x00000020
-#define CHANGER_CLEANER_SLOT 0x00000040
-#define CHANGER_LOCK_UNLOCK 0x00000080
-#define CHANGER_CARTRIDGE_MAGAZINE 0x00000100
-#define CHANGER_MEDIUM_FLIP 0x00000200
-#define CHANGER_POSITION_TO_ELEMENT 0x00000400
-#define CHANGER_REPORT_IEPORT_STATE 0x00000800
-#define CHANGER_STORAGE_DRIVE 0x00001000
-#define CHANGER_STORAGE_IEPORT 0x00002000
-#define CHANGER_STORAGE_SLOT 0x00004000
-#define CHANGER_STORAGE_TRANSPORT 0x00008000
-#define CHANGER_DRIVE_CLEANING_REQUIRED 0x00010000
-#define CHANGER_PREDISMOUNT_EJECT_REQUIRED 0x00020000
-#define CHANGER_CLEANER_ACCESS_NOT_VALID 0x00040000
-#define CHANGER_PREMOUNT_EJECT_REQUIRED 0x00080000
-#define CHANGER_VOLUME_IDENTIFICATION 0x00100000
-#define CHANGER_VOLUME_SEARCH 0x00200000
-#define CHANGER_VOLUME_ASSERT 0x00400000
-#define CHANGER_VOLUME_REPLACE 0x00800000
-#define CHANGER_VOLUME_UNDEFINE 0x01000000
-#define CHANGER_SERIAL_NUMBER_VALID 0x04000000
-#define CHANGER_DEVICE_REINITIALIZE_CAPABLE 0x08000000
-#define CHANGER_KEYPAD_ENABLE_DISABLE 0x10000000
-#define CHANGER_DRIVE_EMPTY_ON_DOOR_ACCESS 0x20000000
-#define CHANGER_RESERVED_BIT 0x80000000
-
-/* GET_CHANGER_PARAMETERS.Features1 constants */
-#define CHANGER_PREDISMOUNT_ALIGN_TO_SLOT 0x80000001
-#define CHANGER_PREDISMOUNT_ALIGN_TO_DRIVE 0x80000002
-#define CHANGER_CLEANER_AUTODISMOUNT 0x80000004
-#define CHANGER_TRUE_EXCHANGE_CAPABLE 0x80000008
-#define CHANGER_SLOTS_USE_TRAYS 0x80000010
-#define CHANGER_RTN_MEDIA_TO_ORIGINAL_ADDR 0x80000020
-#define CHANGER_CLEANER_OPS_NOT_SUPPORTED 0x80000040
-#define CHANGER_IEPORT_USER_CONTROL_OPEN 0x80000080
-#define CHANGER_IEPORT_USER_CONTROL_CLOSE 0x80000100
-#define CHANGER_MOVE_EXTENDS_IEPORT 0x80000200
-#define CHANGER_MOVE_RETRACTS_IEPORT 0x80000400
-
-/* GET_CHANGER_PARAMETERS.MoveFrom,ExchangeFrom,PositionCapabilities constants */
-#define CHANGER_TO_TRANSPORT 0x01
-#define CHANGER_TO_SLOT 0x02
-#define CHANGER_TO_IEPORT 0x04
-#define CHANGER_TO_DRIVE 0x08
-
-/* GET_CHANGER_PARAMETERS.LockUnlockCapabilities constants */
-#define LOCK_UNLOCK_IEPORT 0x01
-#define LOCK_UNLOCK_DOOR 0x02
-#define LOCK_UNLOCK_KEYPAD 0x04
-
-typedef struct _GET_CHANGER_PARAMETERS {
- ULONG Size;
- USHORT NumberTransportElements;
- USHORT NumberStorageElements;
- USHORT NumberCleanerSlots;
- USHORT NumberIEElements;
- USHORT NumberDataTransferElements;
- USHORT NumberOfDoors;
- USHORT FirstSlotNumber;
- USHORT FirstDriveNumber;
- USHORT FirstTransportNumber;
- USHORT FirstIEPortNumber;
- USHORT FirstCleanerSlotAddress;
- USHORT MagazineSize;
- ULONG DriveCleanTimeout;
- ULONG Features0;
- ULONG Features1;
- UCHAR MoveFromTransport;
- UCHAR MoveFromSlot;
- UCHAR MoveFromIePort;
- UCHAR MoveFromDrive;
- UCHAR ExchangeFromTransport;
- UCHAR ExchangeFromSlot;
- UCHAR ExchangeFromIePort;
- UCHAR ExchangeFromDrive;
- UCHAR LockUnlockCapabilities;
- UCHAR PositionCapabilities;
- UCHAR Reserved1[2];
- ULONG Reserved2[2];
-} GET_CHANGER_PARAMETERS, * PGET_CHANGER_PARAMETERS;
-
-typedef struct READ_ELEMENT_ADDRESS_INFO {
- ULONG NumberOfElements;
- CHANGER_ELEMENT_STATUS ElementStatus[1];
-} READ_ELEMENT_ADDRESS_INFO, *PREAD_ELEMENT_ADDRESS_INFO;
-
-typedef struct _TAPE_WMI_OPERATIONS {
- ULONG Method;
- ULONG DataBufferSize;
- PVOID DataBuffer;
-} TAPE_WMI_OPERATIONS, *PTAPE_WMI_OPERATIONS;
-
-typedef struct _WMI_CHANGER_PROBLEM_DEVICE_ERROR {
- ULONG ChangerProblemType;
-} WMI_CHANGER_PROBLEM_DEVICE_ERROR, *PWMI_CHANGER_PROBLEM_DEVICE_ERROR;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __NTDDCHGR_H */
diff --git a/winsup/w32api/include/ddk/ntdddisk.h b/winsup/w32api/include/ddk/ntdddisk.h
deleted file mode 100644
index daf75c087..000000000
--- a/winsup/w32api/include/ddk/ntdddisk.h
+++ /dev/null
@@ -1,521 +0,0 @@
-/*
- * ntdddisk.h
- *
- * Disk IOCTL interface.
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- * Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __NTDDDISK_H
-#define __NTDDDISK_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-#include "ntddstor.h"
-
-#define DD_DISK_DEVICE_NAME "\\Device\\UNKNOWN"
-#define DD_DISK_DEVICE_NAME_U L"\\Device\\UNKNOWN"
-
-#define IOCTL_DISK_BASE FILE_DEVICE_DISK
-
-#define IOCTL_DISK_CHECK_VERIFY \
- CTL_CODE(IOCTL_DISK_BASE, 0x0200, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_DISK_CONTROLLER_NUMBER \
- CTL_CODE(IOCTL_DISK_BASE, 0x0011, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_DISK_CREATE_DISK \
- CTL_CODE(IOCTL_DISK_BASE, 0x0016, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
-
-#define IOCTL_DISK_DELETE_DRIVE_LAYOUT \
- CTL_CODE(IOCTL_DISK_BASE, 0x0040, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
-
-#define IOCTL_DISK_FIND_NEW_DEVICES \
- CTL_CODE(IOCTL_DISK_BASE, 0x0206, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_DISK_FORMAT_TRACKS \
- CTL_CODE(IOCTL_DISK_BASE, 0x0006, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
-
-#define IOCTL_DISK_FORMAT_TRACKS_EX \
- CTL_CODE(IOCTL_DISK_BASE, 0x000b, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
-
-#define IOCTL_DISK_GET_CACHE_INFORMATION \
- CTL_CODE(IOCTL_DISK_BASE, 0x0035, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_DISK_GET_DRIVE_GEOMETRY \
- CTL_CODE(IOCTL_DISK_BASE, 0x0000, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_DISK_GET_DRIVE_GEOMETRY_EX \
- CTL_CODE(IOCTL_DISK_BASE, 0x0028, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_DISK_GET_DRIVE_LAYOUT \
- CTL_CODE(IOCTL_DISK_BASE, 0x0003, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_DISK_GET_DRIVE_LAYOUT_EX \
- CTL_CODE(IOCTL_DISK_BASE, 0x0014, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_DISK_GET_MEDIA_TYPES \
- CTL_CODE(IOCTL_DISK_BASE, 0x0300, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_DISK_GET_LENGTH_INFO \
- CTL_CODE(IOCTL_DISK_BASE, 0x0017, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_DISK_GET_PARTITION_INFO \
- CTL_CODE(IOCTL_DISK_BASE, 0x0001, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_DISK_GET_PARTITION_INFO_EX \
- CTL_CODE(IOCTL_DISK_BASE, 0x0012, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_DISK_GROW_PARTITION \
- CTL_CODE(IOCTL_DISK_BASE, 0x0034, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
-
-#define IOCTL_DISK_INTERNAL_CLEAR_VERIFY \
- CTL_CODE(IOCTL_DISK_BASE, 0x0101, METHOD_NEITHER, FILE_ANY_ACCESS)
-
-#define IOCTL_DISK_INTERNAL_SET_VERIFY \
- CTL_CODE(IOCTL_DISK_BASE, 0x0100, METHOD_NEITHER, FILE_ANY_ACCESS)
-
-#define IOCTL_DISK_IS_WRITABLE \
- CTL_CODE(IOCTL_DISK_BASE, 0x0009, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_DISK_PERFORMANCE \
- CTL_CODE(IOCTL_DISK_BASE, 0x0008, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_DISK_PERFORMANCE_OFF \
- CTL_CODE(IOCTL_DISK_BASE, 0x0018, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_DISK_REASSIGN_BLOCKS \
- CTL_CODE(IOCTL_DISK_BASE, 0x0007, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
-
-#define IOCTL_DISK_RESERVE \
- CTL_CODE(IOCTL_DISK_BASE, 0x0204, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_DISK_SET_CACHE_INFORMATION \
- CTL_CODE(IOCTL_DISK_BASE, 0x0036, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
-
-#define IOCTL_DISK_SET_DRIVE_LAYOUT \
- CTL_CODE(IOCTL_DISK_BASE, 0x0004, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
-
-#define IOCTL_DISK_SET_DRIVE_LAYOUT_EX \
- CTL_CODE(IOCTL_DISK_BASE, 0x0015, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
-
-#define IOCTL_DISK_SET_PARTITION_INFO \
- CTL_CODE(IOCTL_DISK_BASE, 0x0002, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
-
-#define IOCTL_DISK_SET_PARTITION_INFO_EX \
- CTL_CODE(IOCTL_DISK_BASE, 0x0013, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
-
-#define IOCTL_DISK_UPDATE_DRIVE_SIZE \
- CTL_CODE(IOCTL_DISK_BASE, 0x0032, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
-
-#define IOCTL_DISK_VERIFY \
- CTL_CODE(IOCTL_DISK_BASE, 0x0005, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define SMART_GET_VERSION \
- CTL_CODE(IOCTL_DISK_BASE, 0x0020, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define SMART_RCV_DRIVE_DATA \
- CTL_CODE(IOCTL_DISK_BASE, 0x0022, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
-
-#define SMART_SEND_DRIVE_COMMAND \
- CTL_CODE(IOCTL_DISK_BASE, 0x0021, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
-
-
-#define PARTITION_ENTRY_UNUSED 0x00
-#define PARTITION_FAT_12 0x01
-#define PARTITION_XENIX_1 0x02
-#define PARTITION_XENIX_2 0x03
-#define PARTITION_FAT_16 0x04
-#define PARTITION_EXTENDED 0x05
-#define PARTITION_HUGE 0x06
-#define PARTITION_IFS 0x07
-#define PARTITION_OS2BOOTMGR 0x0A
-#define PARTITION_FAT32 0x0B
-#define PARTITION_FAT32_XINT13 0x0C
-#define PARTITION_XINT13 0x0E
-#define PARTITION_XINT13_EXTENDED 0x0F
-#define PARTITION_PREP 0x41
-#define PARTITION_LDM 0x42
-#define PARTITION_UNIX 0x63
-#define VALID_NTFT 0xC0
-#define PARTITION_NTFT 0x80
-
-#define IsFTPartition( PartitionType ) \
- (((PartitionType) & PARTITION_NTFT) && \
- IsRecognizedPartition(PartitionType))
-
-#define IsContainerPartition(PartitionType) \
- (((PartitionType) == PARTITION_EXTENDED) || \
- ((PartitionType) == PARTITION_XINT13_EXTENDED))
-
-#define IsRecognizedPartition(PartitionType) ( \
- (((PartitionType) & PARTITION_NTFT) && (((PartitionType) & ~0xC0) == PARTITION_FAT_12)) || \
- (((PartitionType) & PARTITION_NTFT) && (((PartitionType) & ~0xC0) == PARTITION_HUGE)) || \
- (((PartitionType) & PARTITION_NTFT) && (((PartitionType) & ~0xC0) == PARTITION_IFS)) || \
- (((PartitionType) & PARTITION_NTFT) && (((PartitionType) & ~0xC0) == PARTITION_FAT32)) || \
- (((PartitionType) & PARTITION_NTFT) && (((PartitionType) & ~0xC0) == PARTITION_FAT32_XINT13)) || \
- (((PartitionType) & PARTITION_NTFT) && (((PartitionType) & ~0xC0) == PARTITION_XINT13)) || \
- ((PartitionType) == PARTITION_FAT_12) || \
- ((PartitionType) == PARTITION_FAT_16) || \
- ((PartitionType) == PARTITION_HUGE) || \
- ((PartitionType) == PARTITION_IFS) || \
- ((PartitionType) == PARTITION_FAT32) || \
- ((PartitionType) == PARTITION_FAT32_XINT13) || \
- ((PartitionType) == PARTITION_XINT13))
-
-#define WMI_DISK_GEOMETRY_GUID \
- {0x25007f51, 0x57c2, 0x11d1, {0xa5, 0x28, 0x0, 0xa0, 0xc9, 0x6, 0x29, 0x10}}
-
-typedef USHORT BAD_TRACK_NUMBER;
-typedef USHORT *PBAD_TRACK_NUMBER;
-
-typedef enum _MEDIA_TYPE {
- Unknown,
- F5_1Pt2_512,
- F3_1Pt44_512,
- F3_2Pt88_512,
- F3_20Pt8_512,
- F3_720_512,
- F5_360_512,
- F5_320_512,
- F5_320_1024,
- F5_180_512,
- F5_160_512,
- RemovableMedia,
- FixedMedia,
- F3_120M_512,
- F3_640_512,
- F5_640_512,
- F5_720_512,
- F3_1Pt2_512,
- F3_1Pt23_1024,
- F5_1Pt23_1024,
- F3_128Mb_512,
- F3_230Mb_512,
- F8_256_128
-} MEDIA_TYPE, *PMEDIA_TYPE;
-
-typedef enum _DETECTION_TYPE {
- DetectNone,
- DetectInt13,
- DetectExInt13
-} DETECTION_TYPE;
-
-typedef struct _DISK_CONTROLLER_NUMBER {
- ULONG ControllerNumber;
- ULONG DiskNumber;
-} DISK_CONTROLLER_NUMBER, *PDISK_CONTROLLER_NUMBER;
-
-typedef struct _DISK_INT13_INFO {
- USHORT DriveSelect;
- ULONG MaxCylinders;
- USHORT SectorsPerTrack;
- USHORT MaxHeads;
- USHORT NumberDrives;
-} DISK_INT13_INFO, *PDISK_INT13_INFO;
-
-typedef struct _DISK_EX_INT13_INFO {
- USHORT ExBufferSize;
- USHORT ExFlags;
- ULONG ExCylinders;
- ULONG ExHeads;
- ULONG ExSectorsPerTrack;
- ULONG64 ExSectorsPerDrive;
- USHORT ExSectorSize;
- USHORT ExReserved;
-} DISK_EX_INT13_INFO, *PDISK_EX_INT13_INFO;
-
-typedef struct _DISK_DETECTION_INFO {
- ULONG SizeOfDetectInfo;
- DETECTION_TYPE DetectionType;
- _ANONYMOUS_UNION union {
- _ANONYMOUS_STRUCT struct {
- DISK_INT13_INFO Int13;
- DISK_EX_INT13_INFO ExInt13;
- } DUMMYSTRUCTNAME;
- } DUMMYUNIONNAME;
-} DISK_DETECTION_INFO, *PDISK_DETECTION_INFO;
-
-typedef struct _DISK_GEOMETRY {
- LARGE_INTEGER Cylinders;
- MEDIA_TYPE MediaType;
- ULONG TracksPerCylinder;
- ULONG SectorsPerTrack;
- ULONG BytesPerSector;
-} DISK_GEOMETRY, *PDISK_GEOMETRY;
-
-typedef struct _DISK_GEOMETRY_EX {
- DISK_GEOMETRY Geometry;
- LARGE_INTEGER DiskSize;
- UCHAR Data[1];
-} DISK_GEOMETRY_EX, *PDISK_GEOMETRY_EX;
-
-#define DiskGeometryGetPartition(Geometry) \
- ((PDISK_PARTITION_INFO)((Geometry) + 1))
-
-#define DiskGeometryGetDetect(Geometry)\
- ((PDISK_DETECTION_INFO)(((PBYTE)DiskGeometryGetPartition(Geometry) + \
- DiskGeometryGetPartition(Geometry)->SizeOfPartitionInfo)))
-
-typedef struct _PARTITION_INFORMATION {
- LARGE_INTEGER StartingOffset;
- LARGE_INTEGER PartitionLength;
- DWORD HiddenSectors;
- DWORD PartitionNumber;
- BYTE PartitionType;
- BOOLEAN BootIndicator;
- BOOLEAN RecognizedPartition;
- BOOLEAN RewritePartition;
-} PARTITION_INFORMATION, *PPARTITION_INFORMATION;
-
-typedef struct _PARTITION_INFORMATION_GPT {
- GUID PartitionType;
- GUID PartitionId;
- ULONG64 Attributes;
- WCHAR Name [36];
-} PARTITION_INFORMATION_GPT, *PPARTITION_INFORMATION_GPT;
-
-typedef struct _DISK_PARTITION_INFO {
- ULONG SizeOfPartitionInfo;
- PARTITION_STYLE PartitionStyle;
- _ANONYMOUS_UNION union {
- struct {
- ULONG Signature;
- ULONG CheckSum;
- } Mbr;
- struct {
- GUID DiskId;
- } Gpt;
- } DUMMYUNIONNAME;
-} DISK_PARTITION_INFO, *PDISK_PARTITION_INFO;
-
-typedef struct _DISK_PERFORMANCE {
- LARGE_INTEGER BytesRead;
- LARGE_INTEGER BytesWritten;
- LARGE_INTEGER ReadTime;
- LARGE_INTEGER WriteTime;
- LARGE_INTEGER IdleTime;
- ULONG ReadCount;
- ULONG WriteCount;
- ULONG QueueDepth;
- ULONG SplitCount;
- LARGE_INTEGER QueryTime;
- ULONG StorageDeviceNumber;
- WCHAR StorageManagerName[8];
-} DISK_PERFORMANCE, *PDISK_PERFORMANCE;
-
-typedef struct _PARTITION_INFORMATION_EX {
- PARTITION_STYLE PartitionStyle;
- LARGE_INTEGER StartingOffset;
- LARGE_INTEGER PartitionLength;
- ULONG PartitionNumber;
- BOOLEAN RewritePartition;
- _ANONYMOUS_UNION union {
- PARTITION_INFORMATION_MBR Mbr;
- PARTITION_INFORMATION_GPT Gpt;
- } DUMMYUNIONNAME;
-} PARTITION_INFORMATION_EX, *PPARTITION_INFORMATION_EX;
-
-typedef struct _FORMAT_EX_PARAMETERS {
- MEDIA_TYPE MediaType;
- ULONG StartCylinderNumber;
- ULONG EndCylinderNumber;
- ULONG StartHeadNumber;
- ULONG EndHeadNumber;
- USHORT FormatGapLength;
- USHORT SectorsPerTrack;
- USHORT SectorNumber[1];
-} FORMAT_EX_PARAMETERS, *PFORMAT_EX_PARAMETERS;
-
-typedef struct _FORMAT_PARAMETERS {
- MEDIA_TYPE MediaType;
- ULONG StartCylinderNumber;
- ULONG EndCylinderNumber;
- ULONG StartHeadNumber;
- ULONG EndHeadNumber;
-} FORMAT_PARAMETERS, *PFORMAT_PARAMETERS;
-
-typedef struct _GET_LENGTH_INFORMATION {
- LARGE_INTEGER Length;
-} GET_LENGTH_INFORMATION, *PGET_LENGTH_INFORMATION;
-
-typedef struct _REASSIGN_BLOCKS {
- WORD Reserved;
- WORD Count;
- DWORD BlockNumber[1];
-} REASSIGN_BLOCKS, *PREASSIGN_BLOCKS;
-
-typedef struct _SET_PARTITION_INFORMATION {
- UCHAR PartitionType;
-} SET_PARTITION_INFORMATION, *PSET_PARTITION_INFORMATION;
-
-typedef SET_PARTITION_INFORMATION SET_PARTITION_INFORMATION_MBR;
-typedef PARTITION_INFORMATION_GPT SET_PARTITION_INFORMATION_GPT;
-
-typedef struct _SET_PARTITION_INFORMATION_EX {
- PARTITION_STYLE PartitionStyle;
- _ANONYMOUS_UNION union {
- SET_PARTITION_INFORMATION_MBR Mbr;
- SET_PARTITION_INFORMATION_GPT Gpt;
- } DUMMYUNIONNAME;
-} SET_PARTITION_INFORMATION_EX, *PSET_PARTITION_INFORMATION_EX;
-
-typedef struct _VERIFY_INFORMATION {
- LARGE_INTEGER StartingOffset;
- DWORD Length;
-} VERIFY_INFORMATION, *PVERIFY_INFORMATION;
-
-typedef enum {
- EqualPriority,
- KeepPrefetchedData,
- KeepReadData
-} DISK_CACHE_RETENTION_PRIORITY;
-
-typedef struct _DISK_CACHE_INFORMATION {
- BOOLEAN ParametersSavable;
- BOOLEAN ReadCacheEnabled;
- BOOLEAN WriteCacheEnabled;
- DISK_CACHE_RETENTION_PRIORITY ReadRetentionPriority;
- DISK_CACHE_RETENTION_PRIORITY WriteRetentionPriority;
- USHORT DisablePrefetchTransferLength;
- BOOLEAN PrefetchScalar;
- _ANONYMOUS_UNION union {
- struct {
- USHORT Minimum;
- USHORT Maximum;
- USHORT MaximumBlocks;
- } ScalarPrefetch;
- struct {
- USHORT Minimum;
- USHORT Maximum;
- } BlockPrefetch;
- } DUMMYUNIONNAME;
-} DISK_CACHE_INFORMATION, *PDISK_CACHE_INFORMATION;
-
-typedef struct _DISK_GROW_PARTITION {
- ULONG PartitionNumber;
- LARGE_INTEGER BytesToGrow;
-} DISK_GROW_PARTITION, *PDISK_GROW_PARTITION;
-
-/* GETVERSIONINPARAMS.fCapabilities constants */
-#define CAP_ATA_ID_CMD 1
-#define CAP_ATAPI_ID_CMD 2
-#define CAP_SMART_CMD 4
-
-typedef struct _GETVERSIONINPARAMS {
- UCHAR bVersion;
- UCHAR bRevision;
- UCHAR bReserved;
- UCHAR bIDEDeviceMap;
- ULONG fCapabilities;
- ULONG dwReserved[4];
-} GETVERSIONINPARAMS, *PGETVERSIONINPARAMS, *LPGETVERSIONINPARAMS;
-
-/* IDEREGS.bCommandReg constants */
-#define ATAPI_ID_CMD 0xA1
-#define ID_CMD 0xEC
-#define SMART_CMD 0xB0
-
-#define SMART_CYL_LOW 0x4F
-#define SMART_CYL_HI 0xC2
-
-typedef struct _IDEREGS {
- UCHAR bFeaturesReg;
- UCHAR bSectorCountReg;
- UCHAR bSectorNumberReg;
- UCHAR bCylLowReg;
- UCHAR bCylHighReg;
- UCHAR bDriveHeadReg;
- UCHAR bCommandReg;
- UCHAR bReserved;
-} IDEREGS, *PIDEREGS, *LPIDEREGS;
-
-#include <pshpack1.h>
-typedef struct _SENDCMDINPARAMS {
- ULONG cBufferSize;
- IDEREGS irDriveRegs;
- UCHAR bDriveNumber;
- UCHAR bReserved[3];
- ULONG dwReserved[4];
- UCHAR bBuffer[1];
-} SENDCMDINPARAMS, *PSENDCMDINPARAMS, *LPSENDCMDINPARAMS;
-#include <poppack.h>
-
-/* DRIVERSTATUS.bDriverError constants */
-#define SMART_NO_ERROR 0
-#define SMART_IDE_ERROR 1
-#define SMART_INVALID_FLAG 2
-#define SMART_INVALID_COMMAND 3
-#define SMART_INVALID_BUFFER 4
-#define SMART_INVALID_DRIVE 5
-#define SMART_INVALID_IOCTL 6
-#define SMART_ERROR_NO_MEM 7
-#define SMART_INVALID_REGISTER 8
-#define SMART_NOT_SUPPORTED 9
-#define SMART_NO_IDE_DEVICE 10
-
-#define SMART_OFFLINE_ROUTINE_OFFLINE 0
-#define SMART_SHORT_SELFTEST_OFFLINE 1
-#define SMART_EXTENDED_SELFTEST_OFFLINE 2
-#define SMART_ABORT_OFFLINE_SELFTEST 127
-#define SMART_SHORT_SELFTEST_CAPTIVE 129
-#define SMART_EXTENDED_SELFTEST_CAPTIVE 130
-
-typedef struct _DRIVERSTATUS {
- UCHAR bDriverError;
- UCHAR bIDEError;
- UCHAR bReserved[2];
- ULONG dwReserved[2];
-} DRIVERSTATUS, *PDRIVERSTATUS, *LPDRIVERSTATUS;
-
-#define READ_ATTRIBUTE_BUFFER_SIZE 512
-#define IDENTIFY_BUFFER_SIZE 512
-#define READ_THRESHOLD_BUFFER_SIZE 512
-#define SMART_LOG_SECTOR_SIZE 512
-
-#include <pshpack1.h>
-typedef struct _SENDCMDOUTPARAMS {
- ULONG cBufferSize;
- DRIVERSTATUS DriverStatus;
- UCHAR bBuffer[1];
-} SENDCMDOUTPARAMS, *PSENDCMDOUTPARAMS, *LPSENDCMDOUTPARAMS;
-#include <poppack.h>
-
-#define READ_ATTRIBUTES 0xD0
-#define READ_THRESHOLDS 0xD1
-#define ENABLE_DISABLE_AUTOSAVE 0xD2
-#define SAVE_ATTRIBUTE_VALUES 0xD3
-#define EXECUTE_OFFLINE_DIAGS 0xD4
-#define SMART_READ_LOG 0xD5
-#define SMART_WRITE_LOG 0xd6
-#define ENABLE_SMART 0xD8
-#define DISABLE_SMART 0xD9
-#define RETURN_SMART_STATUS 0xDA
-#define ENABLE_DISABLE_AUTO_OFFLINE 0xDB
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __NTDDDISK_H */
diff --git a/winsup/w32api/include/ddk/ntddk.h b/winsup/w32api/include/ddk/ntddk.h
deleted file mode 100644
index fd78905fd..000000000
--- a/winsup/w32api/include/ddk/ntddk.h
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- * ntddk.h
- *
- * Windows Device Driver Kit
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- * Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * DEFINES:
- * DBG - Debugging enabled/disabled (0/1)
- * POOL_TAGGING - Enable pool tagging
- * _X86_ - X86 environment
- * __USE_NTOSKRNL__ - Use ntoskrnl.exe exports instead of kernel32.dll
- */
-
-#ifndef __NTDDK_H
-#define __NTDDK_H
-
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-#ifndef __USE_NTOSKRNL__
-#define __USE_NTOSKRNL__ 1
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <stdarg.h>
-#include <windef.h>
-#include <ntdef.h>
-#include <basetyps.h>
-
-/* Base types, structures and definitions */
-typedef short CSHORT;
-typedef CONST int CINT;
-typedef CONST char *PCSZ;
-
-#ifndef STATIC
-#define STATIC static
-#endif
-
-#ifndef CALLBACK
-#define CALLBACK
-#endif
-
-#ifndef DECL_IMPORT
-#define DECL_IMPORT __attribute__((dllimport))
-#endif
-
-#ifndef DECL_EXPORT
-#define DECL_EXPORT __attribute__((dllexport))
-#endif
-
-/* Windows NT status codes */
-#include "ntstatus.h"
-
-/* Windows NT definitions exported to user mode */
-#include <winnt.h>
-
-/* Windows Device Driver Kit */
-#include "winddk.h"
-
-/* Definitions only in Windows XP */
-#include "winxp.h"
-
-/* Definitions only in Windows 2000 */
-#include "win2k.h"
-
-/* Definitions only in Windows NT 4 */
-#include "winnt4.h"
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __NTDDK_H */
diff --git a/winsup/w32api/include/ddk/ntddkbd.h b/winsup/w32api/include/ddk/ntddkbd.h
deleted file mode 100644
index 93bc690b5..000000000
--- a/winsup/w32api/include/ddk/ntddkbd.h
+++ /dev/null
@@ -1,135 +0,0 @@
-/*
- * ntddkbd.h
- *
- * Keyboard IOCTL interface
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- * Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __NTDDKBD_H
-#define __NTDDKBD_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-
-#define DD_KEYBOARD_DEVICE_NAME "\\Device\\KeyboardClass"
-#define DD_KEYBOARD_DEVICE_NAME_U L"\\Device\\KeyboardClass"
-
-#define IOCTL_KEYBOARD_QUERY_ATTRIBUTES \
- CTL_CODE(FILE_DEVICE_KEYBOARD, 0x0000, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_KEYBOARD_QUERY_INDICATORS \
- CTL_CODE(FILE_DEVICE_KEYBOARD, 0x0010, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_KEYBOARD_QUERY_INDICATOR_TRANSLATION \
- CTL_CODE(FILE_DEVICE_KEYBOARD, 0x0020, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_KEYBOARD_QUERY_TYPEMATIC \
- CTL_CODE(FILE_DEVICE_KEYBOARD, 0x0008, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_KEYBOARD_SET_TYPEMATIC \
- CTL_CODE(FILE_DEVICE_KEYBOARD, 0x0001, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_KEYBOARD_SET_INDICATORS \
- CTL_CODE(FILE_DEVICE_KEYBOARD, 0x0002, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-
-DEFINE_GUID(GUID_DEVINTERFACE_KEYBOARD, \
- 0x884b96c3, 0x56ef, 0x11d1, 0xbc, 0x8c, 0x00, 0xa0, 0xc9, 0x14, 0x05, 0xdd);
-
-#define KEYBOARD_ERROR_VALUE_BASE 10000
-
-/* KEYBOARD_INPUT_DATA.MakeCode constants */
-#define KEYBOARD_OVERRUN_MAKE_CODE 0xFF
-
-/* KEYBOARD_INPUT_DATA.Flags constants */
-#define KEY_MAKE 0
-#define KEY_BREAK 1
-#define KEY_E0 2
-#define KEY_E1 4
-
-typedef struct _KEYBOARD_INPUT_DATA {
- USHORT UnitId;
- USHORT MakeCode;
- USHORT Flags;
- USHORT Reserved;
- ULONG ExtraInformation;
-} KEYBOARD_INPUT_DATA, *PKEYBOARD_INPUT_DATA;
-
-
-typedef struct _KEYBOARD_TYPEMATIC_PARAMETERS {
- USHORT UnitId;
- USHORT Rate;
- USHORT Delay;
-} KEYBOARD_TYPEMATIC_PARAMETERS, *PKEYBOARD_TYPEMATIC_PARAMETERS;
-
-typedef struct _KEYBOARD_ID {
- UCHAR Type;
- UCHAR Subtype;
-} KEYBOARD_ID, *PKEYBOARD_ID;
-
-#define ENHANCED_KEYBOARD(Id) ((Id).Type == 2 || (Id).Type == 4 || FAREAST_KEYBOARD(Id))
-#define FAREAST_KEYBOARD(Id) ((Id).Type == 7 || (Id).Type == 8)
-
-typedef struct _KEYBOARD_INDICATOR_PARAMETERS {
- USHORT UnitId;
- USHORT LedFlags;
-} KEYBOARD_INDICATOR_PARAMETERS, *PKEYBOARD_INDICATOR_PARAMETERS;
-
-typedef struct _INDICATOR_LIST {
- USHORT MakeCode;
- USHORT IndicatorFlags;
-} INDICATOR_LIST, *PINDICATOR_LIST;
-
-typedef struct _KEYBOARD_INDICATOR_TRANSLATION {
- USHORT NumberOfIndicatorKeys;
- INDICATOR_LIST IndicatorList[1];
-} KEYBOARD_INDICATOR_TRANSLATION, *PKEYBOARD_INDICATOR_TRANSLATION;
-
-typedef struct _KEYBOARD_ATTRIBUTES {
- KEYBOARD_ID KeyboardIdentifier;
- USHORT KeyboardMode;
- USHORT NumberOfFunctionKeys;
- USHORT NumberOfIndicators;
- USHORT NumberOfKeysTotal;
- ULONG InputDataQueueLength;
- KEYBOARD_TYPEMATIC_PARAMETERS KeyRepeatMinimum;
- KEYBOARD_TYPEMATIC_PARAMETERS KeyRepeatMaximum;
-} KEYBOARD_ATTRIBUTES, *PKEYBOARD_ATTRIBUTES;
-
-typedef struct _KEYBOARD_UNIT_ID_PARAMETER {
- USHORT UnitId;
-} KEYBOARD_UNIT_ID_PARAMETER, *PKEYBOARD_UNIT_ID_PARAMETER;
-
-typedef struct _KEYBOARD_IME_STATUS {
- USHORT UnitId;
- ULONG ImeOpen;
- ULONG ImeConvMode;
-} KEYBOARD_IME_STATUS, *PKEYBOARD_IME_STATUS;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __NTDDKBD_H */
diff --git a/winsup/w32api/include/ddk/ntddmou.h b/winsup/w32api/include/ddk/ntddmou.h
deleted file mode 100644
index fcf9445ab..000000000
--- a/winsup/w32api/include/ddk/ntddmou.h
+++ /dev/null
@@ -1,115 +0,0 @@
-/*
- * ntddmou.h
- *
- * Mouse device IOCTL interface.
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- * Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __NTDDMOU_H
-#define __NTDDMOU_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-
-#define DD_MOUSE_DEVICE_NAME "\\Device\\PointerClass"
-#define DD_MOUSE_DEVICE_NAME_U L"\\Device\\PointerClass"
-
-#define IOCTL_MOUSE_QUERY_ATTRIBUTES \
- CTL_CODE(FILE_DEVICE_MOUSE, 0, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-DEFINE_GUID(GUID_DEVINTERFACE_MOUSE, \
- 0x378de44c, 0x56ef, 0x11d1, 0xbc, 0x8c, 0x00, 0xa0, 0xc9, 0x14, 0x05, 0xdd);
-
-#define MOUSE_ERROR_VALUE_BASE 20000
-
-/* MOUSE_INPUT_DATA.ButtonFlags constants */
-#define MOUSE_LEFT_BUTTON_DOWN 0x0001
-#define MOUSE_LEFT_BUTTON_UP 0x0002
-#define MOUSE_RIGHT_BUTTON_DOWN 0x0004
-#define MOUSE_RIGHT_BUTTON_UP 0x0008
-#define MOUSE_MIDDLE_BUTTON_DOWN 0x0010
-#define MOUSE_MIDDLE_BUTTON_UP 0x0020
-#define MOUSE_BUTTON_4_DOWN 0x0040
-#define MOUSE_BUTTON_4_UP 0x0080
-#define MOUSE_BUTTON_5_DOWN 0x0100
-#define MOUSE_BUTTON_5_UP 0x0200
-#define MOUSE_WHEEL 0x0400
-
-#define MOUSE_BUTTON_1_DOWN MOUSE_LEFT_BUTTON_DOWN
-#define MOUSE_BUTTON_1_UP MOUSE_LEFT_BUTTON_UP
-#define MOUSE_BUTTON_2_DOWN MOUSE_RIGHT_BUTTON_DOWN
-#define MOUSE_BUTTON_2_UP MOUSE_RIGHT_BUTTON_UP
-#define MOUSE_BUTTON_3_DOWN MOUSE_MIDDLE_BUTTON_DOWN
-#define MOUSE_BUTTON_3_UP MOUSE_MIDDLE_BUTTON_UP
-
-/* MOUSE_INPUT_DATA.Flags constants */
-#define MOUSE_MOVE_RELATIVE 0
-#define MOUSE_MOVE_ABSOLUTE 1
-#define MOUSE_VIRTUAL_DESKTOP 0x02
-#define MOUSE_ATTRIBUTES_CHANGED 0x04
-
-typedef struct _MOUSE_INPUT_DATA {
- USHORT UnitId;
- USHORT Flags;
- _ANONYMOUS_UNION union {
- ULONG Buttons;
- _ANONYMOUS_STRUCT struct {
- USHORT ButtonFlags;
- USHORT ButtonData;
- } DUMMYSTRUCTNAME;
- } DUMMYUNIONNAME;
- ULONG RawButtons;
- LONG LastX;
- LONG LastY;
- ULONG ExtraInformation;
-} MOUSE_INPUT_DATA, *PMOUSE_INPUT_DATA;
-
-typedef struct _MOUSE_UNIT_ID_PARAMETER {
- USHORT UnitId;
-} MOUSE_UNIT_ID_PARAMETER, *PMOUSE_UNIT_ID_PARAMETER;
-
-/* MOUSE_ATTRIBUTES.MouseIdentifier constants */
-#define MOUSE_INPORT_HARDWARE 0x0001
-#define MOUSE_I8042_HARDWARE 0x0002
-#define MOUSE_SERIAL_HARDWARE 0x0004
-#define BALLPOINT_I8042_HARDWARE 0x0008
-#define BALLPOINT_SERIAL_HARDWARE 0x0010
-#define WHEELMOUSE_I8042_HARDWARE 0x0020
-#define WHEELMOUSE_SERIAL_HARDWARE 0x0040
-#define MOUSE_HID_HARDWARE 0x0080
-#define WHEELMOUSE_HID_HARDWARE 0x0100
-
-typedef struct _MOUSE_ATTRIBUTES {
- USHORT MouseIdentifier;
- USHORT NumberOfButtons;
- USHORT SampleRate;
- ULONG InputDataQueueLength;
-} MOUSE_ATTRIBUTES, *PMOUSE_ATTRIBUTES;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __NTDDMOU_H */
diff --git a/winsup/w32api/include/ddk/ntddndis.h b/winsup/w32api/include/ddk/ntddndis.h
deleted file mode 100644
index 06b2cd045..000000000
--- a/winsup/w32api/include/ddk/ntddndis.h
+++ /dev/null
@@ -1,188 +0,0 @@
-/*
- * ntddndis.h
- *
- * NDIS device driver interface
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- * Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __NTDDNDIS_H
-#define __NTDDNDIS_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#pragma pack(push,4)
-
-#include "ntddk.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-typedef enum _NDIS_WAN_QUALITY {
- NdisWanRaw,
- NdisWanErrorControl,
- NdisWanReliable
-} NDIS_WAN_QUALITY, *PNDIS_WAN_QUALITY;
-
-typedef enum _NDIS_DEVICE_POWER_STATE {
- NdisDeviceStateUnspecified = 0,
- NdisDeviceStateD0,
- NdisDeviceStateD1,
- NdisDeviceStateD2,
- NdisDeviceStateD3,
- NdisDeviceStateMaximum
-} NDIS_DEVICE_POWER_STATE, *PNDIS_DEVICE_POWER_STATE;
-
-typedef struct _NDIS_PM_WAKE_UP_CAPABILITIES {
- NDIS_DEVICE_POWER_STATE MinMagicPacketWakeUp;
- NDIS_DEVICE_POWER_STATE MinPatternWakeUp;
- NDIS_DEVICE_POWER_STATE MinLinkChangeWakeUp;
-} NDIS_PM_WAKE_UP_CAPABILITIES, *PNDIS_PM_WAKE_UP_CAPABILITIES;
-
-/* NDIS_PNP_CAPABILITIES.Flags constants */
-#define NDIS_DEVICE_WAKE_UP_ENABLE 0x00000001
-#define NDIS_DEVICE_WAKE_ON_PATTERN_MATCH_ENABLE 0x00000002
-#define NDIS_DEVICE_WAKE_ON_MAGIC_PACKET_ENABLE 0x00000004
-
-typedef struct _NDIS_PNP_CAPABILITIES {
- ULONG Flags;
- NDIS_PM_WAKE_UP_CAPABILITIES WakeUpCapabilities;
-} NDIS_PNP_CAPABILITIES, *PNDIS_PNP_CAPABILITIES;
-
-/* Required Object IDs (OIDs) */
-#define OID_GEN_SUPPORTED_LIST 0x00010101
-#define OID_GEN_HARDWARE_STATUS 0x00010102
-#define OID_GEN_MEDIA_SUPPORTED 0x00010103
-#define OID_GEN_MEDIA_IN_USE 0x00010104
-#define OID_GEN_MAXIMUM_LOOKAHEAD 0x00010105
-#define OID_GEN_MAXIMUM_FRAME_SIZE 0x00010106
-#define OID_GEN_LINK_SPEED 0x00010107
-#define OID_GEN_TRANSMIT_BUFFER_SPACE 0x00010108
-#define OID_GEN_RECEIVE_BUFFER_SPACE 0x00010109
-#define OID_GEN_TRANSMIT_BLOCK_SIZE 0x0001010A
-#define OID_GEN_RECEIVE_BLOCK_SIZE 0x0001010B
-#define OID_GEN_VENDOR_ID 0x0001010C
-#define OID_GEN_VENDOR_DESCRIPTION 0x0001010D
-#define OID_GEN_CURRENT_PACKET_FILTER 0x0001010E
-#define OID_GEN_CURRENT_LOOKAHEAD 0x0001010F
-#define OID_GEN_DRIVER_VERSION 0x00010110
-#define OID_GEN_MAXIMUM_TOTAL_SIZE 0x00010111
-#define OID_GEN_PROTOCOL_OPTIONS 0x00010112
-#define OID_GEN_MAC_OPTIONS 0x00010113
-#define OID_GEN_MEDIA_CONNECT_STATUS 0x00010114
-#define OID_GEN_MAXIMUM_SEND_PACKETS 0x00010115
-#define OID_GEN_VENDOR_DRIVER_VERSION 0x00010116
-#define OID_GEN_SUPPORTED_GUIDS 0x00010117
-#define OID_GEN_NETWORK_LAYER_ADDRESSES 0x00010118
-#define OID_GEN_TRANSPORT_HEADER_OFFSET 0x00010119
-#define OID_GEN_MACHINE_NAME 0x0001021A
-#define OID_GEN_RNDIS_CONFIG_PARAMETER 0x0001021B
-#define OID_GEN_VLAN_ID 0x0001021C
-
-/* Optional OIDs */
-#define OID_GEN_MEDIA_CAPABILITIES 0x00010201
-#define OID_GEN_PHYSICAL_MEDIUM 0x00010202
-
-/* Required statistics OIDs */
-#define OID_GEN_XMIT_OK 0x00020101
-#define OID_GEN_RCV_OK 0x00020102
-#define OID_GEN_XMIT_ERROR 0x00020103
-#define OID_GEN_RCV_ERROR 0x00020104
-#define OID_GEN_RCV_NO_BUFFER 0x00020105
-
-/* Optional statistics OIDs */
-#define OID_GEN_DIRECTED_BYTES_XMIT 0x00020201
-#define OID_GEN_DIRECTED_FRAMES_XMIT 0x00020202
-#define OID_GEN_MULTICAST_BYTES_XMIT 0x00020203
-#define OID_GEN_MULTICAST_FRAMES_XMIT 0x00020204
-#define OID_GEN_BROADCAST_BYTES_XMIT 0x00020205
-#define OID_GEN_BROADCAST_FRAMES_XMIT 0x00020206
-#define OID_GEN_DIRECTED_BYTES_RCV 0x00020207
-#define OID_GEN_DIRECTED_FRAMES_RCV 0x00020208
-#define OID_GEN_MULTICAST_BYTES_RCV 0x00020209
-#define OID_GEN_MULTICAST_FRAMES_RCV 0x0002020A
-#define OID_GEN_BROADCAST_BYTES_RCV 0x0002020B
-#define OID_GEN_BROADCAST_FRAMES_RCV 0x0002020C
-#define OID_GEN_RCV_CRC_ERROR 0x0002020D
-#define OID_GEN_TRANSMIT_QUEUE_LENGTH 0x0002020E
-#define OID_GEN_GET_TIME_CAPS 0x0002020F
-#define OID_GEN_GET_NETCARD_TIME 0x00020210
-#define OID_GEN_NETCARD_LOAD 0x00020211
-#define OID_GEN_DEVICE_PROFILE 0x00020212
-#define OID_GEN_INIT_TIME_MS 0x00020213
-#define OID_GEN_RESET_COUNTS 0x00020214
-#define OID_GEN_MEDIA_SENSE_COUNTS 0x00020215
-#define OID_GEN_FRIENDLY_NAME 0x00020216
-#define OID_GEN_MINIPORT_INFO 0x00020217
-#define OID_GEN_RESET_VERIFY_PARAMETERS 0x00020218
-
-/* IEEE 802.3 (Ethernet) OIDs */
-#define NDIS_802_3_MAC_OPTION_PRIORITY 0x00000001
-
-#define OID_802_3_PERMANENT_ADDRESS 0x01010101
-#define OID_802_3_CURRENT_ADDRESS 0x01010102
-#define OID_802_3_MULTICAST_LIST 0x01010103
-#define OID_802_3_MAXIMUM_LIST_SIZE 0x01010104
-#define OID_802_3_MAC_OPTIONS 0x01010105
-#define OID_802_3_RCV_ERROR_ALIGNMENT 0x01020101
-#define OID_802_3_XMIT_ONE_COLLISION 0x01020102
-#define OID_802_3_XMIT_MORE_COLLISIONS 0x01020103
-#define OID_802_3_XMIT_DEFERRED 0x01020201
-#define OID_802_3_XMIT_MAX_COLLISIONS 0x01020202
-#define OID_802_3_RCV_OVERRUN 0x01020203
-#define OID_802_3_XMIT_UNDERRUN 0x01020204
-#define OID_802_3_XMIT_HEARTBEAT_FAILURE 0x01020205
-#define OID_802_3_XMIT_TIMES_CRS_LOST 0x01020206
-#define OID_802_3_XMIT_LATE_COLLISIONS 0x01020207
-
-/* OID_GEN_MINIPORT_INFO constants */
-#define NDIS_MINIPORT_BUS_MASTER 0x00000001
-#define NDIS_MINIPORT_WDM_DRIVER 0x00000002
-#define NDIS_MINIPORT_SG_LIST 0x00000004
-#define NDIS_MINIPORT_SUPPORTS_MEDIA_QUERY 0x00000008
-#define NDIS_MINIPORT_INDICATES_PACKETS 0x00000010
-#define NDIS_MINIPORT_IGNORE_PACKET_QUEUE 0x00000020
-#define NDIS_MINIPORT_IGNORE_REQUEST_QUEUE 0x00000040
-#define NDIS_MINIPORT_IGNORE_TOKEN_RING_ERRORS 0x00000080
-#define NDIS_MINIPORT_INTERMEDIATE_DRIVER 0x00000100
-#define NDIS_MINIPORT_IS_NDIS_5 0x00000200
-#define NDIS_MINIPORT_IS_CO 0x00000400
-#define NDIS_MINIPORT_DESERIALIZE 0x00000800
-#define NDIS_MINIPORT_REQUIRES_MEDIA_POLLING 0x00001000
-#define NDIS_MINIPORT_SUPPORTS_MEDIA_SENSE 0x00002000
-#define NDIS_MINIPORT_NETBOOT_CARD 0x00004000
-#define NDIS_MINIPORT_PM_SUPPORTED 0x00008000
-#define NDIS_MINIPORT_SUPPORTS_MAC_ADDRESS_OVERWRITE 0x00010000
-#define NDIS_MINIPORT_USES_SAFE_BUFFER_APIS 0x00020000
-#define NDIS_MINIPORT_HIDDEN 0x00040000
-#define NDIS_MINIPORT_SWENUM 0x00080000
-#define NDIS_MINIPORT_SURPRISE_REMOVE_OK 0x00100000
-#define NDIS_MINIPORT_NO_HALT_ON_SUSPEND 0x00200000
-#define NDIS_MINIPORT_HARDWARE_DEVICE 0x00400000
-#define NDIS_MINIPORT_SUPPORTS_CANCEL_SEND_PACKETS 0x00800000
-#define NDIS_MINIPORT_64BITS_DMA 0x01000000
-
-#pragma pack(pop)
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __NTDDNDIS_H */
diff --git a/winsup/w32api/include/ddk/ntddpar.h b/winsup/w32api/include/ddk/ntddpar.h
deleted file mode 100644
index 1b423650c..000000000
--- a/winsup/w32api/include/ddk/ntddpar.h
+++ /dev/null
@@ -1,119 +0,0 @@
-/*
- * ntddpar.h
- *
- * Parallel port driver interface
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- * Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __NTDDPAR_H
-#define __NTDDPAR_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-
-/* Parallel port device GUIDs */
-
-DEFINE_GUID (GUID_DEVINTERFACE_PARALLEL,
- 0x97F76EF0, 0xF883, 0x11D0, 0xAF, 0x1F, 0x00, 0x00, 0xF8, 0x00, 0x84, 0x5C);
-DEFINE_GUID (GUID_DEVINTERFACE_PARCLASS,
- 0x811FC6A5, 0xF728, 0x11D0, 0xA5, 0x37, 0x00, 0x00, 0xF8, 0x75, 0x3E, 0xD1);
-
-#define GUID_PARALLEL_DEVICE GUID_DEVINTERFACE_PARALLEL
-#define GUID_PARCLASS_DEVICE GUID_DEVINTERFACE_PARCLASS
-
-
-#define IOCTL_IEEE1284_GET_MODE \
- CTL_CODE (FILE_DEVICE_PARALLEL_PORT, 5, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_IEEE1284_NEGOTIATE \
- CTL_CODE (FILE_DEVICE_PARALLEL_PORT, 6, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_PAR_GET_DEFAULT_MODES \
- CTL_CODE (FILE_DEVICE_PARALLEL_PORT, 10, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_PAR_GET_DEVICE_CAPS \
- CTL_CODE (FILE_DEVICE_PARALLEL_PORT, 9, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_PAR_IS_PORT_FREE \
- CTL_CODE (FILE_DEVICE_PARALLEL_PORT, 21, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_PAR_QUERY_DEVICE_ID \
- CTL_CODE (FILE_DEVICE_PARALLEL_PORT, 3, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_PAR_QUERY_DEVICE_ID_SIZE \
- CTL_CODE (FILE_DEVICE_PARALLEL_PORT, 4, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_PAR_QUERY_INFORMATION \
- CTL_CODE (FILE_DEVICE_PARALLEL_PORT, 1, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_PAR_QUERY_LOCATION \
- CTL_CODE (FILE_DEVICE_PARALLEL_PORT, 22, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_PAR_QUERY_RAW_DEVICE_ID \
- CTL_CODE (FILE_DEVICE_PARALLEL_PORT, 12, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_PAR_SET_INFORMATION \
- CTL_CODE (FILE_DEVICE_PARALLEL_PORT, 2, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_PAR_SET_READ_ADDRESS \
- CTL_CODE (FILE_DEVICE_PARALLEL_PORT, 8, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_PAR_SET_WRITE_ADDRESS \
- CTL_CODE (FILE_DEVICE_PARALLEL_PORT, 7, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-typedef struct _PAR_DEVICE_ID_SIZE_INFORMATION {
- ULONG DeviceIdSize;
-} PAR_DEVICE_ID_SIZE_INFORMATION, *PPAR_DEVICE_ID_SIZE_INFORMATION;
-
-#define PARALLEL_INIT 0x01
-#define PARALLEL_AUTOFEED 0x02
-#define PARALLEL_PAPER_EMPTY 0x04
-#define PARALLEL_OFF_LINE 0x08
-#define PARALLEL_POWER_OFF 0x10
-#define PARALLEL_NOT_CONNECTED 0x20
-#define PARALLEL_BUSY 0x40
-#define PARALLEL_SELECTED 0x80
-
-typedef struct _PAR_QUERY_INFORMATION {
- UCHAR Status;
-} PAR_QUERY_INFORMATION, *PPAR_QUERY_INFORMATION;
-
-typedef struct _PAR_SET_INFORMATION {
- UCHAR Init;
-} PAR_SET_INFORMATION, *PPAR_SET_INFORMATION;
-
-typedef struct _PARCLASS_NEGOTIATION_MASK {
- USHORT usReadMask;
- USHORT usWriteMask;
-} PARCLASS_NEGOTIATION_MASK, *PPARCLASS_NEGOTIATION_MASK;
-
-#define NONE 0x0000
-#define CENTRONICS 0x0001
-#define IEEE_COMPATIBILITY 0x0002
-#define NIBBLE 0x0004
-#define CHANNEL_NIBBLE 0x0008
-#define BYTE_BIDIR 0x0010
-#define EPP_HW 0x0020
-#define EPP_SW 0x0040
-#define EPP_ANY 0x0060
-#define BOUNDED_ECP 0x0080
-#define ECP_HW_NOIRQ 0x0100
-#define ECP_HW_IRQ 0x0200
-#define ECP_SW 0x0400
-#define ECP_ANY 0x0780
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __NTDDPAR_H */
diff --git a/winsup/w32api/include/ddk/ntddpcm.h b/winsup/w32api/include/ddk/ntddpcm.h
deleted file mode 100644
index 22ef5dd95..000000000
--- a/winsup/w32api/include/ddk/ntddpcm.h
+++ /dev/null
@@ -1,165 +0,0 @@
-/*
- * ntddpcm.h
- *
- * PCMCIA IOCTL interface
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- * Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __NTDDPCM_H
-#define __NTDDPCM_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-
-#define IOCTL_PCMCIA_BASE FILE_DEVICE_CONTROLLER
-
-#define DD_PCMCIA_DEVICE_NAME "\\\\.\\Pcmcia"
-#define DD_PCMCIA_DEVICE_NAME_U L"\\\\.\\Pcmcia"
-
-#define IOCTL_GET_TUPLE_DATA \
- CTL_CODE(IOCTL_PCMCIA_BASE, 3000, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_SOCKET_INFORMATION \
- CTL_CODE(IOCTL_PCMCIA_BASE, 3004, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define DEVICE_IDENTIFIER_LENGTH 64
-#define DRIVER_NAME_LENGTH 32
-#define MANUFACTURER_NAME_LENGTH 64
-
-#define PcmciaInvalidControllerType 0xffffffff
-
-typedef struct _TUPLE_REQUEST {
- USHORT Socket;
-} TUPLE_REQUEST, *PTUPLE_REQUEST;
-
-typedef enum _PCMCIA_CONTROLLER_CLASS {
- PcmciaInvalidControllerClass = -1,
- PcmciaIntelCompatible,
- PcmciaCardBusCompatible,
- PcmciaElcController,
- PcmciaDatabook,
- PcmciaPciPcmciaBridge,
- PcmciaCirrusLogic,
- PcmciaTI,
- PcmciaTopic,
- PcmciaRicoh,
- PcmciaDatabookCB,
- PcmciaOpti,
- PcmciaTrid,
- PcmciaO2Micro,
- PcmciaNEC,
- PcmciaNEC_98
-} PCMCIA_CONTROLLER_CLASS, *PPCMCIA_CONTROLLER_CLASS;
-
-typedef struct _PCMCIA_SOCKET_INFORMATION {
- USHORT Socket;
- USHORT TupleCrc;
- UCHAR Manufacturer[MANUFACTURER_NAME_LENGTH];
- UCHAR Identifier[DEVICE_IDENTIFIER_LENGTH];
- UCHAR DriverName[DRIVER_NAME_LENGTH];
- UCHAR DeviceFunctionId;
- UCHAR Reserved;
- UCHAR CardInSocket;
- UCHAR CardEnabled;
- ULONG ControllerType;
-} PCMCIA_SOCKET_INFORMATION, *PPCMCIA_SOCKET_INFORMATION;
-
-#define PcmciaClassFromControllerType(type) ((PCMCIA_CONTROLLER_CLASS)((type) & 0xff))
-#define PcmciaModelFromControllerType(type) (((type) >> 8) & 0x3ffff)
-#define PcmciaRevisionFromControllerType(type) ((type) >> 26)
-
-
-DEFINE_GUID(GUID_PCMCIA_INTERFACE_STANDARD, \
- 0xbed5dadfL, 0x38fb, 0x11d1, 0x94, 0x62, 0x00, 0xc0, 0x4f, 0xb9, 0x60, 0xee);
-
-typedef ULONG MEMORY_SPACE;
-
-typedef ULONG STDCALL
-(*PPCMCIA_READ_WRITE_CONFIG)(
- IN PVOID Context,
- IN ULONG WhichSpace,
- IN PUCHAR Buffer,
- IN ULONG Offset,
- IN ULONG Length);
-
-#define PCCARD_PCI_CONFIGURATION_SPACE 0
-#define PCCARD_ATTRIBUTE_MEMORY 1
-#define PCCARD_COMMON_MEMORY 2
-#define PCCARD_ATTRIBUTE_MEMORY_INDIRECT 3
-#define PCCARD_COMMON_MEMORY_INDIRECT 4
-
-typedef struct _PCMCIA_BUS_INTERFACE_STANDARD {
- USHORT Size;
- USHORT Version;
- PVOID Context;
- PINTERFACE_REFERENCE InterfaceReference;
- PINTERFACE_DEREFERENCE InterfaceDereference;
- PPCMCIA_READ_WRITE_CONFIG ReadConfig;
- PPCMCIA_READ_WRITE_CONFIG WriteConfig;
-} PCMCIA_BUS_INTERFACE_STANDARD, *PPCMCIA_BUS_INTERFACE_STANDARD;
-
-#define PCMCIA_MEMORY_8BIT_ACCESS 0
-#define PCMCIA_MEMORY_16BIT_ACCESS 1
-
-typedef BOOLEAN STDCALL
-(*PPCMCIA_MODIFY_MEMORY_WINDOW)(
- IN PVOID Context,
- IN ULONGLONG HostBase,
- IN ULONGLONG CardBase,
- IN BOOLEAN Enable,
- IN ULONG WindowSize OPTIONAL,
- IN UCHAR AccessSpeed OPTIONAL,
- IN UCHAR BusWidth OPTIONAL,
- IN BOOLEAN IsAttributeMemory OPTIONAL);
-
-#define PCMCIA_VPP_0V 0
-#define PCMCIA_VPP_12V 1
-#define PCMCIA_VPP_IS_VCC 2
-
-typedef BOOLEAN STDCALL
-(*PPCMCIA_SET_VPP)(
- IN PVOID Context,
- IN UCHAR VppLevel);
-
-typedef BOOLEAN STDCALL
-(*PPCMCIA_IS_WRITE_PROTECTED)(
- IN PVOID Context);
-
-typedef struct _PCMCIA_INTERFACE_STANDARD {
- USHORT Size;
- USHORT Version;
- PINTERFACE_REFERENCE InterfaceReference;
- PINTERFACE_DEREFERENCE InterfaceDereference;
- PVOID Context;
- PPCMCIA_MODIFY_MEMORY_WINDOW ModifyMemoryWindow;
- PPCMCIA_SET_VPP SetVpp;
- PPCMCIA_IS_WRITE_PROTECTED IsWriteProtected;
-} PCMCIA_INTERFACE_STANDARD, *PPCMCIA_INTERFACE_STANDARD;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __NTDDPCM_H */
diff --git a/winsup/w32api/include/ddk/ntddscsi.h b/winsup/w32api/include/ddk/ntddscsi.h
deleted file mode 100644
index 11629cbaa..000000000
--- a/winsup/w32api/include/ddk/ntddscsi.h
+++ /dev/null
@@ -1,171 +0,0 @@
-/*
- * ntddscsi.h
- *
- * SCSI port IOCTL interface.
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- * Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __NTDDSCSI_H
-#define __NTDDSCSI_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-
-#define DD_SCSI_DEVICE_NAME "\\Device\\ScsiPort"
-#define DD_SCSI_DEVICE_NAME_U L"\\Device\\ScsiPort"
-
-#define IOCTL_SCSI_BASE FILE_DEVICE_CONTROLLER
-
-#define IOCTL_SCSI_GET_INQUIRY_DATA \
- CTL_CODE(IOCTL_SCSI_BASE, 0x0403, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_SCSI_GET_CAPABILITIES \
- CTL_CODE(IOCTL_SCSI_BASE, 0x0404, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_SCSI_GET_ADDRESS \
- CTL_CODE(IOCTL_SCSI_BASE, 0x0406, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_SCSI_MINIPORT \
- CTL_CODE(IOCTL_SCSI_BASE, 0x0402, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
-
-#define IOCTL_SCSI_PASS_THROUGH \
- CTL_CODE(IOCTL_SCSI_BASE, 0x0401, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
-
-#define IOCTL_SCSI_PASS_THROUGH_DIRECT \
- CTL_CODE(IOCTL_SCSI_BASE, 0x0405, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
-
-#define IOCTL_SCSI_RESCAN_BUS \
- CTL_CODE(IOCTL_SCSI_BASE, 0x0407, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-
-DEFINE_GUID(ScsiRawInterfaceGuid, \
- 0x53f56309L, 0xb6bf, 0x11d0, 0x94, 0xf2, 0x00, 0xa0, 0xc9, 0x1e, 0xfb, 0x8b);
-
-DEFINE_GUID(WmiScsiAddressGuid, \
- 0x53f5630fL, 0xb6bf, 0x11d0, 0x94, 0xf2, 0x00, 0xa0, 0xc9, 0x1e, 0xfb, 0x8b);
-
-typedef struct _SCSI_PASS_THROUGH {
- USHORT Length;
- UCHAR ScsiStatus;
- UCHAR PathId;
- UCHAR TargetId;
- UCHAR Lun;
- UCHAR CdbLength;
- UCHAR SenseInfoLength;
- UCHAR DataIn;
- ULONG DataTransferLength;
- ULONG TimeOutValue;
- ULONG_PTR DataBufferOffset;
- ULONG SenseInfoOffset;
- UCHAR Cdb[16];
-} SCSI_PASS_THROUGH, *PSCSI_PASS_THROUGH;
-
-typedef struct _SCSI_PASS_THROUGH_DIRECT {
- USHORT Length;
- UCHAR ScsiStatus;
- UCHAR PathId;
- UCHAR TargetId;
- UCHAR Lun;
- UCHAR CdbLength;
- UCHAR SenseInfoLength;
- UCHAR DataIn;
- ULONG DataTransferLength;
- ULONG TimeOutValue;
- PVOID DataBuffer;
- ULONG SenseInfoOffset;
- UCHAR Cdb[16];
-} SCSI_PASS_THROUGH_DIRECT, *PSCSI_PASS_THROUGH_DIRECT;
-
-typedef struct _SRB_IO_CONTROL {
- ULONG HeaderLength;
- UCHAR Signature[8];
- ULONG Timeout;
- ULONG ControlCode;
- ULONG ReturnCode;
- ULONG Length;
-} SRB_IO_CONTROL, *PSRB_IO_CONTROL;
-
-typedef struct _SCSI_ADDRESS {
- ULONG Length;
- UCHAR PortNumber;
- UCHAR PathId;
- UCHAR TargetId;
- UCHAR Lun;
-} SCSI_ADDRESS, *PSCSI_ADDRESS;
-
-typedef struct _SCSI_BUS_DATA {
- UCHAR NumberOfLogicalUnits;
- UCHAR InitiatorBusId;
- ULONG InquiryDataOffset;
-}SCSI_BUS_DATA, *PSCSI_BUS_DATA;
-
-typedef struct _SCSI_ADAPTER_BUS_INFO {
- UCHAR NumberOfBuses;
- SCSI_BUS_DATA BusData[1];
-} SCSI_ADAPTER_BUS_INFO, *PSCSI_ADAPTER_BUS_INFO;
-
-typedef struct _IO_SCSI_CAPABILITIES {
- ULONG Length;
- ULONG MaximumTransferLength;
- ULONG MaximumPhysicalPages;
- ULONG SupportedAsynchronousEvents;
- ULONG AlignmentMask;
- BOOLEAN TaggedQueuing;
- BOOLEAN AdapterScansDown;
- BOOLEAN AdapterUsesPio;
-} IO_SCSI_CAPABILITIES, *PIO_SCSI_CAPABILITIES;
-
-typedef struct _SCSI_INQUIRY_DATA {
- UCHAR PathId;
- UCHAR TargetId;
- UCHAR Lun;
- BOOLEAN DeviceClaimed;
- ULONG InquiryDataLength;
- ULONG NextInquiryDataOffset;
- UCHAR InquiryData[1];
-} SCSI_INQUIRY_DATA, *PSCSI_INQUIRY_DATA;
-
-#define SCSI_IOCTL_DATA_OUT 0
-#define SCSI_IOCTL_DATA_IN 1
-#define SCSI_IOCTL_DATA_UNSPECIFIED 2
-
-typedef struct _DUMP_POINTERS {
- PADAPTER_OBJECT AdapterObject;
- PVOID MappedRegisterBase;
- PVOID DumpData;
- PVOID CommonBufferVa;
- LARGE_INTEGER CommonBufferPa;
- ULONG CommonBufferSize;
- BOOLEAN AllocateCommonBuffers;
- BOOLEAN UseDiskDump;
- UCHAR Spare1[2];
- PVOID DeviceObject;
-} DUMP_POINTERS, *PDUMP_POINTERS;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __NTDDSCSI_H */
diff --git a/winsup/w32api/include/ddk/ntddser.h b/winsup/w32api/include/ddk/ntddser.h
deleted file mode 100644
index cc0bd2a9f..000000000
--- a/winsup/w32api/include/ddk/ntddser.h
+++ /dev/null
@@ -1,449 +0,0 @@
-/*
- * ntddser.h
- *
- * Serial port driver interface
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- * Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __NTDDSER_H
-#define __NTDDSER_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-
-/* GUIDs */
-
-DEFINE_GUID(GUID_DEVINTERFACE_COMPORT,
- 0x86e0d1e0L, 0x8089, 0x11d0, 0x9c, 0xe4, 0x08, 0x00, 0x3e, 0x30, 0x1f, 0x73);
-
-DEFINE_GUID(GUID_DEVINTERFACE_SERENUM_BUS_ENUMERATOR,
- 0x4D36E978L, 0xE325, 0x11CE, 0xBF, 0xC1, 0x08, 0x00, 0x2B, 0xE1, 0x03, 0x18);
-
-#define IOCTL_SERIAL_CLEAR_STATS \
- CTL_CODE (FILE_DEVICE_SERIAL_PORT, 36, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_SERIAL_CLR_DTR \
- CTL_CODE (FILE_DEVICE_SERIAL_PORT, 10, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_SERIAL_CLR_RTS \
- CTL_CODE (FILE_DEVICE_SERIAL_PORT, 13, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_SERIAL_CONFIG_SIZE \
- CTL_CODE (FILE_DEVICE_SERIAL_PORT, 32, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_SERIAL_GET_BAUD_RATE \
- CTL_CODE (FILE_DEVICE_SERIAL_PORT, 20, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_SERIAL_GET_CHARS \
- CTL_CODE (FILE_DEVICE_SERIAL_PORT, 22, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_SERIAL_GET_COMMSTATUS \
- CTL_CODE (FILE_DEVICE_SERIAL_PORT, 27, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_SERIAL_GET_DTRRTS \
- CTL_CODE (FILE_DEVICE_SERIAL_PORT, 30, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_SERIAL_GET_HANDFLOW \
- CTL_CODE (FILE_DEVICE_SERIAL_PORT, 24, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_SERIAL_GET_LINE_CONTROL \
- CTL_CODE (FILE_DEVICE_SERIAL_PORT, 21, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_SERIAL_GET_MODEM_CONTROL \
- CTL_CODE (FILE_DEVICE_SERIAL_PORT, 37, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_SERIAL_GET_MODEMSTATUS \
- CTL_CODE (FILE_DEVICE_SERIAL_PORT, 26, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_SERIAL_GET_PROPERTIES \
- CTL_CODE (FILE_DEVICE_SERIAL_PORT, 29, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_SERIAL_GET_STATS \
- CTL_CODE (FILE_DEVICE_SERIAL_PORT, 35, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_SERIAL_GET_TIMEOUTS \
- CTL_CODE (FILE_DEVICE_SERIAL_PORT, 8, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_SERIAL_GET_WAIT_MASK \
- CTL_CODE (FILE_DEVICE_SERIAL_PORT, 16, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_SERIAL_IMMEDIATE_CHAR \
- CTL_CODE (FILE_DEVICE_SERIAL_PORT, 6, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_SERIAL_LSRMST_INSERT \
- CTL_CODE (FILE_DEVICE_SERIAL_PORT, 31, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_SERIAL_PURGE \
- CTL_CODE (FILE_DEVICE_SERIAL_PORT, 19, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_SERIAL_RESET_DEVICE \
- CTL_CODE (FILE_DEVICE_SERIAL_PORT, 11, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_SERIAL_SET_BAUD_RATE \
- CTL_CODE (FILE_DEVICE_SERIAL_PORT, 1, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_SERIAL_SET_BREAK_ON \
- CTL_CODE (FILE_DEVICE_SERIAL_PORT, 4, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_SERIAL_SET_BREAK_OFF \
- CTL_CODE (FILE_DEVICE_SERIAL_PORT, 5, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_SERIAL_SET_CHARS \
- CTL_CODE (FILE_DEVICE_SERIAL_PORT, 23, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_SERIAL_SET_DTR \
- CTL_CODE (FILE_DEVICE_SERIAL_PORT, 9, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_SERIAL_SET_FIFO_CONTROL \
- CTL_CODE (FILE_DEVICE_SERIAL_PORT, 39, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_SERIAL_SET_HANDFLOW \
- CTL_CODE (FILE_DEVICE_SERIAL_PORT, 25, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_SERIAL_SET_LINE_CONTROL \
- CTL_CODE (FILE_DEVICE_SERIAL_PORT, 3, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_SERIAL_SET_MODEM_CONTROL \
- CTL_CODE (FILE_DEVICE_SERIAL_PORT, 38, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_SERIAL_SET_QUEUE_SIZE \
- CTL_CODE (FILE_DEVICE_SERIAL_PORT, 2, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_SERIAL_SET_RTS \
- CTL_CODE (FILE_DEVICE_SERIAL_PORT, 12, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_SERIAL_SET_TIMEOUTS \
- CTL_CODE (FILE_DEVICE_SERIAL_PORT, 7, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_SERIAL_SET_WAIT_MASK \
- CTL_CODE (FILE_DEVICE_SERIAL_PORT, 17, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_SERIAL_SET_XOFF \
- CTL_CODE (FILE_DEVICE_SERIAL_PORT, 14, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_SERIAL_SET_XON \
- CTL_CODE (FILE_DEVICE_SERIAL_PORT, 15, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_SERIAL_WAIT_ON_MASK \
- CTL_CODE (FILE_DEVICE_SERIAL_PORT, 18, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_SERIAL_XOFF_COUNTER \
- CTL_CODE (FILE_DEVICE_SERIAL_PORT, 28, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_SERIAL_INTERNAL_BASIC_SETTINGS \
- CTL_CODE (FILE_DEVICE_SERIAL_PORT, 3, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_SERIAL_INTERNAL_CANCEL_WAIT_WAKE \
- CTL_CODE (FILE_DEVICE_SERIAL_PORT, 2, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_SERIAL_INTERNAL_DO_WAIT_WAKE \
- CTL_CODE (FILE_DEVICE_SERIAL_PORT, 1, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_SERIAL_INTERNAL_RESTORE_SETTINGS \
- CTL_CODE (FILE_DEVICE_SERIAL_PORT, 4, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_SERENUM_PORT_DESC \
- CTL_CODE (FILE_DEVICE_SERENUM, 130, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_SERENUM_GET_PORT_NAME \
- CTL_CODE (FILE_DEVICE_SERENUM, 131, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_INTERNAL_SERENUM_REMOVE_SELF \
- CTL_CODE (FILE_DEVICE_SERENUM, 129, METHOD_NEITHER, FILE_ANY_ACCESS)
-
-
-typedef struct _SERIAL_BAUD_RATE {
- ULONG BaudRate;
-} SERIAL_BAUD_RATE, *PSERIAL_BAUD_RATE;
-
-/* SERIAL_BAUD_RATE.BaudRate constants */
-#define SERIAL_BAUD_075 0x00000001
-#define SERIAL_BAUD_110 0x00000002
-#define SERIAL_BAUD_134_5 0x00000004
-#define SERIAL_BAUD_150 0x00000008
-#define SERIAL_BAUD_300 0x00000010
-#define SERIAL_BAUD_600 0x00000020
-#define SERIAL_BAUD_1200 0x00000040
-#define SERIAL_BAUD_1800 0x00000080
-#define SERIAL_BAUD_2400 0x00000100
-#define SERIAL_BAUD_4800 0x00000200
-#define SERIAL_BAUD_7200 0x00000400
-#define SERIAL_BAUD_9600 0x00000800
-#define SERIAL_BAUD_14400 0x00001000
-#define SERIAL_BAUD_19200 0x00002000
-#define SERIAL_BAUD_38400 0x00004000
-#define SERIAL_BAUD_56K 0x00008000
-#define SERIAL_BAUD_128K 0x00010000
-#define SERIAL_BAUD_115200 0x00020000
-#define SERIAL_BAUD_57600 0x00040000
-#define SERIAL_BAUD_USER 0x10000000
-
-typedef struct _SERIAL_CHARS {
- UCHAR EofChar;
- UCHAR ErrorChar;
- UCHAR BreakChar;
- UCHAR EventChar;
- UCHAR XonChar;
- UCHAR XoffChar;
-} SERIAL_CHARS, *PSERIAL_CHARS;
-
-typedef struct _SERIAL_STATUS {
- ULONG Errors;
- ULONG HoldReasons;
- ULONG AmountInInQueue;
- ULONG AmountInOutQueue;
- BOOLEAN EofReceived;
- BOOLEAN WaitForImmediate;
-} SERIAL_STATUS, *PSERIAL_STATUS;
-
-typedef struct _SERIAL_HANDFLOW {
- ULONG ControlHandShake;
- ULONG FlowReplace;
- LONG XonLimit;
- LONG XoffLimit;
-} SERIAL_HANDFLOW, *PSERIAL_HANDFLOW;
-
-#define SERIAL_DTR_MASK 0x00000003
-#define SERIAL_DTR_CONTROL 0x00000001
-#define SERIAL_DTR_HANDSHAKE 0x00000002
-#define SERIAL_CTS_HANDSHAKE 0x00000008
-#define SERIAL_DSR_HANDSHAKE 0x00000010
-#define SERIAL_DCD_HANDSHAKE 0x00000020
-#define SERIAL_OUT_HANDSHAKEMASK 0x00000038
-#define SERIAL_DSR_SENSITIVITY 0x00000040
-#define SERIAL_ERROR_ABORT 0x80000000
-#define SERIAL_CONTROL_INVALID 0x7fffff84
-#define SERIAL_AUTO_TRANSMIT 0x00000001
-#define SERIAL_AUTO_RECEIVE 0x00000002
-#define SERIAL_ERROR_CHAR 0x00000004
-#define SERIAL_NULL_STRIPPING 0x00000008
-#define SERIAL_BREAK_CHAR 0x00000010
-#define SERIAL_RTS_MASK 0x000000c0
-#define SERIAL_RTS_CONTROL 0x00000040
-#define SERIAL_RTS_HANDSHAKE 0x00000080
-#define SERIAL_TRANSMIT_TOGGLE 0x000000c0
-#define SERIAL_XOFF_CONTINUE 0x80000000
-#define SERIAL_FLOW_INVALID 0x7fffff20
-
-typedef struct _SERIAL_LINE_CONTROL {
- UCHAR StopBits;
- UCHAR Parity;
- UCHAR WordLength;
-} SERIAL_LINE_CONTROL, *PSERIAL_LINE_CONTROL;
-
-/* SERIAL_LINE_CONTROL.StopBits constants */
-#define STOP_BIT_1 0x00
-#define STOP_BITS_1_5 0x01
-#define STOP_BITS_2 0x02
-
-/* SERIAL_LINE_CONTROL.Parity constants */
-#define NO_PARITY 0x00
-#define ODD_PARITY 0x01
-#define EVEN_PARITY 0x02
-#define MARK_PARITY 0x03
-#define SPACE_PARITY 0x04
-
-/* IOCTL_SERIAL_(GET_MODEM_CONTROL, SET_MODEM_CONTROL) flags */
-#define SERIAL_IOC_MCR_DTR 0x00000001
-#define SERIAL_IOC_MCR_RTS 0x00000002
-#define SERIAL_IOC_MCR_OUT1 0x00000004
-#define SERIAL_IOC_MCR_OUT2 0x00000008
-#define SERIAL_IOC_MCR_LOOP 0x00000010
-
-typedef struct _SERIAL_COMMPROP {
- USHORT PacketLength;
- USHORT PacketVersion;
- ULONG ServiceMask;
- ULONG Reserved1;
- ULONG MaxTxQueue;
- ULONG MaxRxQueue;
- ULONG MaxBaud;
- ULONG ProvSubType;
- ULONG ProvCapabilities;
- ULONG SettableParams;
- ULONG SettableBaud;
- USHORT SettableData;
- USHORT SettableStopParity;
- ULONG CurrentTxQueue;
- ULONG CurrentRxQueue;
- ULONG ProvSpec1;
- ULONG ProvSpec2;
- WCHAR ProvChar[1];
-} SERIAL_COMMPROP, *PSERIAL_COMMPROP;
-
-/* SERIAL_COMMPROP.SettableParams flags */
-#define SERIAL_SP_PARITY 0x0001
-#define SERIAL_SP_BAUD 0x0002
-#define SERIAL_SP_DATABITS 0x0004
-#define SERIAL_SP_STOPBITS 0x0008
-#define SERIAL_SP_HANDSHAKING 0x0010
-#define SERIAL_SP_PARITY_CHECK 0x0020
-#define SERIAL_SP_CARRIER_DETECT 0x0040
-
-/* SERIAL_COMMPROP.ProvCapabilities flags */
-#define SERIAL_PCF_DTRDSR 0x00000001
-#define SERIAL_PCF_RTSCTS 0x00000002
-#define SERIAL_PCF_CD 0x00000004
-#define SERIAL_PCF_PARITY_CHECK 0x00000008
-#define SERIAL_PCF_XONXOFF 0x00000010
-#define SERIAL_PCF_SETXCHAR 0x00000020
-#define SERIAL_PCF_TOTALTIMEOUTS 0x00000040
-#define SERIAL_PCF_INTTIMEOUTS 0x00000080
-#define SERIAL_PCF_SPECIALCHARS 0x00000100
-#define SERIAL_PCF_16BITMODE 0x00000200
-
-/* SERIAL_COMMPROP.SettableData flags */
-#define SERIAL_DATABITS_5 0x0001
-#define SERIAL_DATABITS_6 0x0002
-#define SERIAL_DATABITS_7 0x0004
-#define SERIAL_DATABITS_8 0x0008
-#define SERIAL_DATABITS_16 0x0010
-#define SERIAL_DATABITS_16X 0x0020
-
-/* SERIAL_COMMPROP.SettableStopParity flags */
-#define SERIAL_STOPBITS_10 0x0001
-#define SERIAL_STOPBITS_15 0x0002
-#define SERIAL_STOPBITS_20 0x0004
-#define SERIAL_PARITY_NONE 0x0100
-#define SERIAL_PARITY_ODD 0x0200
-#define SERIAL_PARITY_EVEN 0x0400
-#define SERIAL_PARITY_MARK 0x0800
-#define SERIAL_PARITY_SPACE 0x1000
-
-typedef struct _SERIALPERF_STATS {
- ULONG ReceivedCount;
- ULONG TransmittedCount;
- ULONG FrameErrorCount;
- ULONG SerialOverrunErrorCount;
- ULONG BufferOverrunErrorCount;
- ULONG ParityErrorCount;
-} SERIALPERF_STATS, *PSERIALPERF_STATS;
-
-typedef struct _SERIAL_TIMEOUTS {
- ULONG ReadIntervalTimeout;
- ULONG ReadTotalTimeoutMultiplier;
- ULONG ReadTotalTimeoutConstant;
- ULONG WriteTotalTimeoutMultiplier;
- ULONG WriteTotalTimeoutConstant;
-} SERIAL_TIMEOUTS, *PSERIAL_TIMEOUTS;
-
-/* IOCTL_SERIAL_(GET_WAIT_MASK, SET_WAIT_MASK, WAIT_ON_MASK) flags */
-#define SERIAL_EV_RXCHAR 0x0001
-#define SERIAL_EV_RXFLAG 0x0002
-#define SERIAL_EV_TXEMPTY 0x0004
-#define SERIAL_EV_CTS 0x0008
-#define SERIAL_EV_DSR 0x0010
-#define SERIAL_EV_RLSD 0x0020
-#define SERIAL_EV_BREAK 0x0040
-#define SERIAL_EV_ERR 0x0080
-#define SERIAL_EV_RING 0x0100
-#define SERIAL_EV_PERR 0x0200
-#define SERIAL_EV_RX80FULL 0x0400
-#define SERIAL_EV_EVENT1 0x0800
-#define SERIAL_EV_EVENT2 0x1000
-
-/* IOCTL_SERIAL_LSRMST_INSERT constants */
-#define SERIAL_LSRMST_LSR_DATA 0x01
-#define SERIAL_LSRMST_LSR_NODATA 0x02
-#define SERIAL_LSRMST_MST 0x03
-#define SERIAL_LSRMST_ESCAPE 0x00
-
-/* IOCTL_SERIAL_PURGE constants */
-#define SERIAL_PURGE_TXABORT 0x00000001
-#define SERIAL_PURGE_RXABORT 0x00000002
-#define SERIAL_PURGE_TXCLEAR 0x00000004
-#define SERIAL_PURGE_RXCLEAR 0x00000008
-
-/* IOCTL_SERIAL_SET_FIFO_CONTROL constants */
-#define SERIAL_IOC_FCR_FIFO_ENABLE 0x00000001
-#define SERIAL_IOC_FCR_RCVR_RESET 0x00000002
-#define SERIAL_IOC_FCR_XMIT_RESET 0x00000004
-#define SERIAL_IOC_FCR_DMA_MODE 0x00000008
-#define SERIAL_IOC_FCR_RES1 0x00000010
-#define SERIAL_IOC_FCR_RES2 0x00000020
-#define SERIAL_IOC_FCR_RCVR_TRIGGER_LSB 0x00000040
-#define SERIAL_IOC_FCR_RCVR_TRIGGER_MSB 0x00000080
-
-typedef struct _SERIAL_QUEUE_SIZE {
- ULONG InSize;
- ULONG OutSize;
-} SERIAL_QUEUE_SIZE, *PSERIAL_QUEUE_SIZE;
-
-typedef struct _SERIAL_XOFF_COUNTER {
- ULONG Timeout;
- LONG Counter;
- UCHAR XoffChar;
-} SERIAL_XOFF_COUNTER, *PSERIAL_XOFF_COUNTER;
-
-typedef struct _SERIAL_BASIC_SETTINGS {
- SERIAL_TIMEOUTS Timeouts;
- SERIAL_HANDFLOW HandFlow;
- ULONG RxFifo;
- ULONG TxFifo;
-} SERIAL_BASIC_SETTINGS, *PSERIAL_BASIC_SETTINGS;
-
-typedef struct _SERENUM_PORT_DESC {
- ULONG Size;
- PVOID PortHandle;
- PHYSICAL_ADDRESS PortAddress;
- USHORT Reserved[1];
-} SERENUM_PORT_DESC, *PSERENUM_PORT_DESC;
-
-typedef UCHAR STDCALL
-(*PSERENUM_READPORT)(
- PVOID SerPortAddress);
-
-typedef VOID STDCALL
-(*PSERENUM_WRITEPORT)(
- PVOID SerPortAddress,
- UCHAR Value);
-
-typedef enum _SERENUM_PORTION {
- SerenumFirstHalf,
- SerenumSecondHalf,
- SerenumWhole
-} SERENUM_PORTION;
-
-typedef struct _SERENUM_PORT_PARAMETERS {
- ULONG Size;
- PSERENUM_READPORT ReadAccessor;
- PSERENUM_WRITEPORT WriteAccessor;
- PVOID SerPortAddress;
- PVOID HardwareHandle;
- SERENUM_PORTION Portion;
- USHORT NumberAxis;
- USHORT Reserved[3];
-} SERENUM_PORT_PARAMETERS, *PSERENUM_PORT_PARAMETERS;
-
-#define SERIAL_ERROR_BREAK 0x00000001
-#define SERIAL_ERROR_FRAMING 0x00000002
-#define SERIAL_ERROR_OVERRUN 0x00000004
-#define SERIAL_ERROR_QUEUEOVERRUN 0x00000008
-#define SERIAL_ERROR_PARITY 0x00000010
-
-#define SERIAL_SP_UNSPECIFIED 0x00000000
-#define SERIAL_SP_RS232 0x00000001
-#define SERIAL_SP_PARALLEL 0x00000002
-#define SERIAL_SP_RS422 0x00000003
-#define SERIAL_SP_RS423 0x00000004
-#define SERIAL_SP_RS449 0x00000005
-#define SERIAL_SP_MODEM 0X00000006
-#define SERIAL_SP_FAX 0x00000021
-#define SERIAL_SP_SCANNER 0x00000022
-#define SERIAL_SP_BRIDGE 0x00000100
-#define SERIAL_SP_LAT 0x00000101
-#define SERIAL_SP_TELNET 0x00000102
-#define SERIAL_SP_X25 0x00000103
-#define SERIAL_SP_SERIALCOMM 0x00000001
-
-#define SERIAL_TX_WAITING_FOR_CTS 0x00000001
-#define SERIAL_TX_WAITING_FOR_DSR 0x00000002
-#define SERIAL_TX_WAITING_FOR_DCD 0x00000004
-#define SERIAL_TX_WAITING_FOR_XON 0x00000008
-#define SERIAL_TX_WAITING_XOFF_SENT 0x00000010
-#define SERIAL_TX_WAITING_ON_BREAK 0x00000020
-#define SERIAL_RX_WAITING_FOR_DSR 0x00000040
-
-#define SERIAL_DTR_STATE 0x00000001
-#define SERIAL_RTS_STATE 0x00000002
-#define SERIAL_CTS_STATE 0x00000010
-#define SERIAL_DSR_STATE 0x00000020
-#define SERIAL_RI_STATE 0x00000040
-#define SERIAL_DCD_STATE 0x00000080
-
-typedef struct _SERIALCONFIG {
- ULONG Size;
- USHORT Version;
- ULONG SubType;
- ULONG ProvOffset;
- ULONG ProviderSize;
- WCHAR ProviderData[1];
-} SERIALCONFIG,*PSERIALCONFIG;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __NTDDSER_H */
diff --git a/winsup/w32api/include/ddk/ntddstor.h b/winsup/w32api/include/ddk/ntddstor.h
deleted file mode 100644
index 232834aab..000000000
--- a/winsup/w32api/include/ddk/ntddstor.h
+++ /dev/null
@@ -1,333 +0,0 @@
-/*
- * ntddstor.h
- *
- * Storage class IOCTL interface.
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- * Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __NTDDSTOR_H
-#define __NTDDSTOR_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-
-#define IOCTL_STORAGE_BASE FILE_DEVICE_MASS_STORAGE
-
-#define IOCTL_STORAGE_CHECK_VERIFY \
- CTL_CODE(IOCTL_STORAGE_BASE, 0x0200, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_STORAGE_CHECK_VERIFY2 \
- CTL_CODE(IOCTL_STORAGE_BASE, 0x0200, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_STORAGE_EJECT_MEDIA \
- CTL_CODE(IOCTL_STORAGE_BASE, 0x0202, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_STORAGE_EJECTION_CONTROL \
- CTL_CODE(IOCTL_STORAGE_BASE, 0x0250, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_STORAGE_FIND_NEW_DEVICES \
- CTL_CODE(IOCTL_STORAGE_BASE, 0x0206, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_STORAGE_GET_DEVICE_NUMBER \
- CTL_CODE(IOCTL_STORAGE_BASE, 0x0420, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_STORAGE_GET_MEDIA_SERIAL_NUMBER \
- CTL_CODE(IOCTL_STORAGE_BASE, 0x0304, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_STORAGE_GET_MEDIA_TYPES \
- CTL_CODE(IOCTL_STORAGE_BASE, 0x0300, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_STORAGE_GET_MEDIA_TYPES_EX \
- CTL_CODE(IOCTL_STORAGE_BASE, 0x0301, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_STORAGE_LOAD_MEDIA \
- CTL_CODE(IOCTL_STORAGE_BASE, 0x0203, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_STORAGE_LOAD_MEDIA2 \
- CTL_CODE(IOCTL_STORAGE_BASE, 0x0203, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_STORAGE_MCN_CONTROL \
- CTL_CODE(IOCTL_STORAGE_BASE, 0x0251, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_STORAGE_MEDIA_REMOVAL \
- CTL_CODE(IOCTL_STORAGE_BASE, 0x0201, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_STORAGE_PREDICT_FAILURE \
- CTL_CODE(IOCTL_STORAGE_BASE, 0x0440, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_STORAGE_QUERY_PROPERTY \
- CTL_CODE(IOCTL_STORAGE_BASE, 0x0500, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_STORAGE_RELEASE \
- CTL_CODE(IOCTL_STORAGE_BASE, 0x0205, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_STORAGE_RESERVE \
- CTL_CODE(IOCTL_STORAGE_BASE, 0x0204, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_STORAGE_RESET_BUS \
- CTL_CODE(IOCTL_STORAGE_BASE, 0x0400, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
-
-#define IOCTL_STORAGE_RESET_DEVICE \
- CTL_CODE(IOCTL_STORAGE_BASE, 0x0401, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
-
-
-DEFINE_GUID(GUID_DEVINTERFACE_DISK,
- 0x53f56307L, 0xb6bf, 0x11d0, 0x94, 0xf2, 0x00, 0xa0, 0xc9, 0x1e, 0xfb, 0x8b);
-
-DEFINE_GUID(GUID_DEVINTERFACE_CDROM,
- 0x53f56308L, 0xb6bf, 0x11d0, 0x94, 0xf2, 0x00, 0xa0, 0xc9, 0x1e, 0xfb, 0x8b);
-
-DEFINE_GUID(GUID_DEVINTERFACE_PARTITION,
- 0x53f5630aL, 0xb6bf, 0x11d0, 0x94, 0xf2, 0x00, 0xa0, 0xc9, 0x1e, 0xfb, 0x8b);
-
-DEFINE_GUID(GUID_DEVINTERFACE_TAPE,
- 0x53f5630bL, 0xb6bf, 0x11d0, 0x94, 0xf2, 0x00, 0xa0, 0xc9, 0x1e, 0xfb, 0x8b);
-
-DEFINE_GUID(GUID_DEVINTERFACE_WRITEONCEDISK,
- 0x53f5630cL, 0xb6bf, 0x11d0, 0x94, 0xf2, 0x00, 0xa0, 0xc9, 0x1e, 0xfb, 0x8b);
-
-DEFINE_GUID(GUID_DEVINTERFACE_VOLUME,
- 0x53f5630dL, 0xb6bf, 0x11d0, 0x94, 0xf2, 0x00, 0xa0, 0xc9, 0x1e, 0xfb, 0x8b);
-
-DEFINE_GUID(GUID_DEVINTERFACE_MEDIUMCHANGER,
- 0x53f56310L, 0xb6bf, 0x11d0, 0x94, 0xf2, 0x00, 0xa0, 0xc9, 0x1e, 0xfb, 0x8b);
-
-DEFINE_GUID(GUID_DEVINTERFACE_FLOPPY,
- 0x53f56311L, 0xb6bf, 0x11d0, 0x94, 0xf2, 0x00, 0xa0, 0xc9, 0x1e, 0xfb, 0x8b);
-
-DEFINE_GUID(GUID_DEVINTERFACE_CDCHANGER,
- 0x53f56312L, 0xb6bf, 0x11d0, 0x94, 0xf2, 0x00, 0xa0, 0xc9, 0x1e, 0xfb, 0x8b);
-
-DEFINE_GUID(GUID_DEVINTERFACE_STORAGEPORT,
- 0x2accfe60L, 0xc130, 0x11d2, 0xb0, 0x82, 0x00, 0xa0, 0xc9, 0x1e, 0xfb, 0x8b);
-
-
-typedef enum _STORAGE_MEDIA_TYPE {
- DDS_4mm = 0x20,
- MiniQic,
- Travan,
- QIC,
- MP_8mm,
- AME_8mm,
- AIT1_8mm,
- DLT,
- NCTP,
- IBM_3480,
- IBM_3490E,
- IBM_Magstar_3590,
- IBM_Magstar_MP,
- STK_DATA_D3,
- SONY_DTF,
- DV_6mm,
- DMI,
- SONY_D2,
- CLEANER_CARTRIDGE,
- CD_ROM,
- CD_R,
- CD_RW,
- DVD_ROM,
- DVD_R,
- DVD_RW,
- MO_3_RW,
- MO_5_WO,
- MO_5_RW,
- MO_5_LIMDOW,
- PC_5_WO,
- PC_5_RW,
- PD_5_RW,
- ABL_5_WO,
- PINNACLE_APEX_5_RW,
- SONY_12_WO,
- PHILIPS_12_WO,
- HITACHI_12_WO,
- CYGNET_12_WO,
- KODAK_14_WO,
- MO_NFR_525,
- NIKON_12_RW,
- IOMEGA_ZIP,
- IOMEGA_JAZ,
- SYQUEST_EZ135,
- SYQUEST_EZFLYER,
- SYQUEST_SYJET,
- AVATAR_F2,
- MP2_8mm,
- DST_S,
- DST_M,
- DST_L,
- VXATape_1,
- VXATape_2,
- STK_9840,
- LTO_Ultrium,
- LTO_Accelis,
- DVD_RAM,
- AIT_8mm,
- ADR_1,
- ADR_2
-} STORAGE_MEDIA_TYPE, *PSTORAGE_MEDIA_TYPE;
-
-typedef enum _STORAGE_BUS_TYPE {
- BusTypeUnknown = 0x00,
- BusTypeScsi,
- BusTypeAtapi,
- BusTypeAta,
- BusType1394,
- BusTypeSsa,
- BusTypeFibre,
- BusTypeUsb,
- BusTypeRAID,
- BusTypeMaxReserved = 0x7F
-} STORAGE_BUS_TYPE, *PSTORAGE_BUS_TYPE;
-
-/* DEVICE_MEDIA_INFO.DeviceSpecific.DiskInfo.MediaCharacteristics constants */
-#define MEDIA_ERASEABLE 0x00000001
-#define MEDIA_WRITE_ONCE 0x00000002
-#define MEDIA_READ_ONLY 0x00000004
-#define MEDIA_READ_WRITE 0x00000008
-#define MEDIA_WRITE_PROTECTED 0x00000100
-#define MEDIA_CURRENTLY_MOUNTED 0x80000000
-
-typedef struct _DEVICE_MEDIA_INFO {
- union {
- struct {
- LARGE_INTEGER Cylinders;
- STORAGE_MEDIA_TYPE MediaType;
- ULONG TracksPerCylinder;
- ULONG SectorsPerTrack;
- ULONG BytesPerSector;
- ULONG NumberMediaSides;
- ULONG MediaCharacteristics;
- } DiskInfo;
- struct {
- LARGE_INTEGER Cylinders;
- STORAGE_MEDIA_TYPE MediaType;
- ULONG TracksPerCylinder;
- ULONG SectorsPerTrack;
- ULONG BytesPerSector;
- ULONG NumberMediaSides;
- ULONG MediaCharacteristics;
- } RemovableDiskInfo;
- struct {
- STORAGE_MEDIA_TYPE MediaType;
- ULONG MediaCharacteristics;
- ULONG CurrentBlockSize;
- STORAGE_BUS_TYPE BusType;
- union {
- struct {
- UCHAR MediumType;
- UCHAR DensityCode;
- } ScsiInformation;
- } BusSpecificData;
- } TapeInfo;
- } DeviceSpecific;
-} DEVICE_MEDIA_INFO, *PDEVICE_MEDIA_INFO;
-
-typedef struct _GET_MEDIA_TYPES {
- ULONG DeviceType;
- ULONG MediaInfoCount;
- DEVICE_MEDIA_INFO MediaInfo[1];
-} GET_MEDIA_TYPES, *PGET_MEDIA_TYPES;
-
-typedef struct _STORAGE_ADAPTER_DESCRIPTOR {
- ULONG Version;
- ULONG Size;
- ULONG MaximumTransferLength;
- ULONG MaximumPhysicalPages;
- ULONG AlignmentMask;
- BOOLEAN AdapterUsesPio;
- BOOLEAN AdapterScansDown;
- BOOLEAN CommandQueueing;
- BOOLEAN AcceleratedTransfer;
- STORAGE_BUS_TYPE BusType;
- USHORT BusMajorVersion;
- USHORT BusMinorVersion;
-} STORAGE_ADAPTER_DESCRIPTOR, *PSTORAGE_ADAPTER_DESCRIPTOR;
-
-typedef struct _STORAGE_BUS_RESET_REQUEST {
- UCHAR PathId;
-} STORAGE_BUS_RESET_REQUEST, *PSTORAGE_BUS_RESET_REQUEST;
-
-typedef struct _STORAGE_DESCRIPTOR_HEADER {
- ULONG Version;
- ULONG Size;
-} STORAGE_DESCRIPTOR_HEADER, *PSTORAGE_DESCRIPTOR_HEADER;
-
-typedef struct _STORAGE_DEVICE_DESCRIPTOR {
- ULONG Version;
- ULONG Size;
- UCHAR DeviceType;
- UCHAR DeviceTypeModifier;
- BOOLEAN RemovableMedia;
- BOOLEAN CommandQueueing;
- ULONG VendorIdOffset;
- ULONG ProductIdOffset;
- ULONG ProductRevisionOffset;
- ULONG SerialNumberOffset;
- STORAGE_BUS_TYPE BusType;
- ULONG RawPropertiesLength;
- UCHAR RawDeviceProperties[1];
-} STORAGE_DEVICE_DESCRIPTOR, *PSTORAGE_DEVICE_DESCRIPTOR;
-
-typedef struct _STORAGE_DEVICE_ID_DESCRIPTOR {
- ULONG Version;
- ULONG Size;
- ULONG NumberOfIdentifiers;
- UCHAR Identifiers[1];
-} STORAGE_DEVICE_ID_DESCRIPTOR, *PSTORAGE_DEVICE_ID_DESCRIPTOR;
-
-typedef struct _STORAGE_DEVICE_NUMBER {
- DEVICE_TYPE DeviceType;
- ULONG DeviceNumber;
- ULONG PartitionNumber;
-} STORAGE_DEVICE_NUMBER, *PSTORAGE_DEVICE_NUMBER;
-
-typedef struct _STORAGE_PREDICT_FAILURE {
- ULONG PredictFailure;
- UCHAR VendorSpecific[512];
-} STORAGE_PREDICT_FAILURE, *PSTORAGE_PREDICT_FAILURE;
-
-typedef enum _STORAGE_PROPERTY_ID {
- StorageDeviceProperty = 0,
- StorageAdapterProperty,
- StorageDeviceIdProperty
-} STORAGE_PROPERTY_ID, *PSTORAGE_PROPERTY_ID;
-
-typedef enum _STORAGE_QUERY_TYPE {
- PropertyStandardQuery = 0,
- PropertyExistsQuery,
- PropertyMaskQuery,
- PropertyQueryMaxDefined
-} STORAGE_QUERY_TYPE, *PSTORAGE_QUERY_TYPE;
-
-typedef struct _STORAGE_PROPERTY_QUERY {
- STORAGE_PROPERTY_ID PropertyId;
- STORAGE_QUERY_TYPE QueryType;
- UCHAR AdditionalParameters[1];
-} STORAGE_PROPERTY_QUERY, *PSTORAGE_PROPERTY_QUERY;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __NTDDSTOR_H */
diff --git a/winsup/w32api/include/ddk/ntddtape.h b/winsup/w32api/include/ddk/ntddtape.h
deleted file mode 100644
index 1b3b04990..000000000
--- a/winsup/w32api/include/ddk/ntddtape.h
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * ntddtape.h
- *
- * Tape device IOCTL interface.
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- * Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __NTDDTAPE_H
-#define __NTDDTAPE_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-#include "ntddstor.h"
-
-#define DD_TAPE_DEVICE_NAME "\\Device\\Tape"
-#define DD_TAPE_DEVICE_NAME_U L"\\Device\\Tape"
-
-#define IOCTL_TAPE_BASE FILE_DEVICE_TAPE
-
-#define IOCTL_TAPE_CHECK_VERIFY CTL_CODE(IOCTL_TAPE_BASE, 0x0200, METHOD_BUFFERED, FILE_READ_ACCESS)
-#define IOCTL_TAPE_CREATE_PARTITION CTL_CODE(IOCTL_TAPE_BASE, 0x000a, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
-#define IOCTL_TAPE_ERASE CTL_CODE(IOCTL_TAPE_BASE, 0x0000, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
-#define IOCTL_TAPE_FIND_NEW_DEVICES CTL_CODE(IOCTL_DISK_BASE, 0x0206, METHOD_BUFFERED, FILE_READ_ACCESS)
-#define IOCTL_TAPE_GET_DRIVE_PARAMS CTL_CODE(IOCTL_TAPE_BASE, 0x0005, METHOD_BUFFERED, FILE_READ_ACCESS)
-#define IOCTL_TAPE_GET_MEDIA_PARAMS CTL_CODE(IOCTL_TAPE_BASE, 0x0007, METHOD_BUFFERED, FILE_READ_ACCESS)
-#define IOCTL_TAPE_GET_POSITION CTL_CODE(IOCTL_TAPE_BASE, 0x0003, METHOD_BUFFERED, FILE_READ_ACCESS)
-#define IOCTL_TAPE_GET_STATUS CTL_CODE(IOCTL_TAPE_BASE, 0x0009, METHOD_BUFFERED, FILE_READ_ACCESS )
-
-#define IOCTL_TAPE_PREPARE CTL_CODE(IOCTL_TAPE_BASE, 0x0001, METHOD_BUFFERED, FILE_READ_ACCESS)
-#define IOCTL_TAPE_SET_DRIVE_PARAMS CTL_CODE(IOCTL_TAPE_BASE, 0x0006, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
-#define IOCTL_TAPE_SET_MEDIA_PARAMS CTL_CODE(IOCTL_TAPE_BASE, 0x0008, METHOD_BUFFERED, FILE_READ_ACCESS)
-#define IOCTL_TAPE_SET_POSITION CTL_CODE(IOCTL_TAPE_BASE, 0x0004, METHOD_BUFFERED, FILE_READ_ACCESS)
-#define IOCTL_TAPE_WRITE_MARKS CTL_CODE(IOCTL_TAPE_BASE, 0x0002, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
-
-
-typedef enum _TAPE_DRIVE_PROBLEM_TYPE {
- TapeDriveProblemNone,
- TapeDriveReadWriteWarning,
- TapeDriveReadWriteError,
- TapeDriveReadWarning,
- TapeDriveWriteWarning,
- TapeDriveReadError,
- TapeDriveWriteError,
- TapeDriveHardwareError,
- TapeDriveUnsupportedMedia,
- TapeDriveScsiConnectionError,
- TapeDriveTimetoClean,
- TapeDriveCleanDriveNow,
- TapeDriveMediaLifeExpired,
- TapeDriveSnappedTape
-} TAPE_DRIVE_PROBLEM_TYPE;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __NTDDTAPE_H */
diff --git a/winsup/w32api/include/ddk/ntddtdi.h b/winsup/w32api/include/ddk/ntddtdi.h
deleted file mode 100644
index e90767006..000000000
--- a/winsup/w32api/include/ddk/ntddtdi.h
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * ntddtdi.h
- *
- * TDI IOCTL interface
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- * Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __NTDDTDI_H
-#define __NTDDTDI_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-
-#define DD_TDI_DEVICE_NAME "\\Device\\UNKNOWN"
-#define DD_TDI_DEVICE_NAME_U L"\\Device\\UNKNOWN"
-
-#define _TDI_CONTROL_CODE(Request, Method) \
- CTL_CODE(FILE_DEVICE_TRANSPORT, Request, Method, FILE_ANY_ACCESS)
-
-#define IOCTL_TDI_ACCEPT _TDI_CONTROL_CODE(0, METHOD_BUFFERED)
-#define IOCTL_TDI_CONNECT _TDI_CONTROL_CODE(1, METHOD_BUFFERED)
-#define IOCTL_TDI_DISCONNECT _TDI_CONTROL_CODE(2, METHOD_BUFFERED)
-#define IOCTL_TDI_LISTEN _TDI_CONTROL_CODE(3, METHOD_BUFFERED)
-#define IOCTL_TDI_QUERY_INFORMATION _TDI_CONTROL_CODE(4, METHOD_OUT_DIRECT)
-#define IOCTL_TDI_RECEIVE _TDI_CONTROL_CODE(5, METHOD_OUT_DIRECT)
-#define IOCTL_TDI_RECEIVE_DATAGRAM _TDI_CONTROL_CODE(6, METHOD_OUT_DIRECT)
-#define IOCTL_TDI_SEND _TDI_CONTROL_CODE(7, METHOD_IN_DIRECT)
-#define IOCTL_TDI_SEND_DATAGRAM _TDI_CONTROL_CODE(8, METHOD_IN_DIRECT)
-#define IOCTL_TDI_SET_EVENT_HANDLER _TDI_CONTROL_CODE(9, METHOD_BUFFERED)
-#define IOCTL_TDI_SET_INFORMATION _TDI_CONTROL_CODE(10, METHOD_IN_DIRECT)
-#define IOCTL_TDI_ASSOCIATE_ADDRESS _TDI_CONTROL_CODE(11, METHOD_BUFFERED)
-#define IOCTL_TDI_DISASSOCIATE_ADDRESS _TDI_CONTROL_CODE(12, METHOD_BUFFERED)
-#define IOCTL_TDI_ACTION _TDI_CONTROL_CODE(13, METHOD_OUT_DIRECT)
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __NTDDTDI_H */
diff --git a/winsup/w32api/include/ddk/ntddvdeo.h b/winsup/w32api/include/ddk/ntddvdeo.h
deleted file mode 100644
index 2027de0b0..000000000
--- a/winsup/w32api/include/ddk/ntddvdeo.h
+++ /dev/null
@@ -1,440 +0,0 @@
-/*
- * ntddvdeo.h
- *
- * Definitions for video devices
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- * Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __NTDDVDEO_H
-#define __NTDDVDEO_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-
-
-#define VIDEO_DEVICE_NAME "DISPLAY%d"
-#define WVIDEO_DEVICE_NAME L"DISPLAY%d"
-
-#define DD_FULLSCREEN_VIDEO_DEVICE_NAME L"\\Device\\FSVideo"
-
-DEFINE_GUID(GUID_DEVINTERFACE_DISPLAY_ADAPTER, \
- 0x5b45201d, 0xf2f2, 0x4f3b, 0x85, 0xbb, 0x30, 0xff, 0x1f, 0x95, 0x35, 0x99);
-
-
-#define IOCTL_VIDEO_DISABLE_CURSOR \
- CTL_CODE (FILE_DEVICE_VIDEO, 0x109, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VIDEO_DISABLE_POINTER \
- CTL_CODE(FILE_DEVICE_VIDEO, 0x10f, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VIDEO_ENABLE_CURSOR \
- CTL_CODE(FILE_DEVICE_VIDEO, 0x108, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VIDEO_ENABLE_POINTER \
- CTL_CODE(FILE_DEVICE_VIDEO, 0x10e, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VIDEO_FREE_PUBLIC_ACCESS_RANGES \
- CTL_CODE(FILE_DEVICE_VIDEO, 0x119, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VIDEO_GET_BANK_SELECT_CODE \
- CTL_CODE(FILE_DEVICE_VIDEO, 0x115, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VIDEO_GET_CHILD_STATE \
- CTL_CODE(FILE_DEVICE_VIDEO, 0x120, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VIDEO_GET_POWER_MANAGEMENT \
- CTL_CODE(FILE_DEVICE_VIDEO, 0x11c, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VIDEO_HANDLE_VIDEOPARAMETERS \
- CTL_CODE(FILE_DEVICE_VIDEO, 0x08, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VIDEO_LOAD_AND_SET_FONT \
- CTL_CODE(FILE_DEVICE_VIDEO, 0x105, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VIDEO_MAP_VIDEO_MEMORY \
- CTL_CODE(FILE_DEVICE_VIDEO, 0x116, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VIDEO_QUERY_AVAIL_MODES \
- CTL_CODE(FILE_DEVICE_VIDEO, 0x100, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VIDEO_QUERY_COLOR_CAPABILITIES \
- CTL_CODE(FILE_DEVICE_VIDEO, 0x11a, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VIDEO_QUERY_CURRENT_MODE \
- CTL_CODE(FILE_DEVICE_VIDEO, 0x102, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VIDEO_QUERY_CURSOR_ATTR \
- CTL_CODE(FILE_DEVICE_VIDEO, 0x10b, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VIDEO_QUERY_CURSOR_POSITION \
- CTL_CODE(FILE_DEVICE_VIDEO, 0x10d, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VIDEO_QUERY_NUM_AVAIL_MODES \
- CTL_CODE(FILE_DEVICE_VIDEO, 0x101, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VIDEO_QUERY_POINTER_ATTR \
- CTL_CODE(FILE_DEVICE_VIDEO, 0x111, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VIDEO_QUERY_POINTER_CAPABILITIES \
- CTL_CODE(FILE_DEVICE_VIDEO, 0x114, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VIDEO_QUERY_POINTER_POSITION \
- CTL_CODE(FILE_DEVICE_VIDEO, 0x113, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VIDEO_QUERY_PUBLIC_ACCESS_RANGES \
- CTL_CODE(FILE_DEVICE_VIDEO, 0x118, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VIDEO_RESET_DEVICE \
- CTL_CODE(FILE_DEVICE_VIDEO, 0x104, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VIDEO_RESTORE_HARDWARE_STATE \
- CTL_CODE(FILE_DEVICE_VIDEO, 0x81, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VIDEO_SAVE_HARDWARE_STATE \
- CTL_CODE(FILE_DEVICE_VIDEO, 0x80, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VIDEO_SET_CHILD_STATE_CONFIGURATION \
- CTL_CODE(FILE_DEVICE_VIDEO, 0x122, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VIDEO_SET_COLOR_REGISTERS \
- CTL_CODE(FILE_DEVICE_VIDEO, 0x107, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VIDEO_SET_CURRENT_MODE \
- CTL_CODE(FILE_DEVICE_VIDEO, 0x103, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VIDEO_SET_CURSOR_ATTR \
- CTL_CODE(FILE_DEVICE_VIDEO, 0x10a, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VIDEO_SET_CURSOR_POSITION \
- CTL_CODE(FILE_DEVICE_VIDEO, 0x10c, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VIDEO_SET_PALETTE_REGISTERS \
- CTL_CODE(FILE_DEVICE_VIDEO, 0x106, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VIDEO_SET_POINTER_ATTR \
- CTL_CODE(FILE_DEVICE_VIDEO, 0x110, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VIDEO_SET_POINTER_POSITION \
- CTL_CODE(FILE_DEVICE_VIDEO, 0x112, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VIDEO_SET_POWER_MANAGEMENT \
- CTL_CODE(FILE_DEVICE_VIDEO, 0x11b, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VIDEO_SHARE_VIDEO_MEMORY \
- CTL_CODE(FILE_DEVICE_VIDEO, 0x11d, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VIDEO_SWITCH_DUALVIEW \
- CTL_CODE(FILE_DEVICE_VIDEO, 0x123, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VIDEO_UNMAP_VIDEO_MEMORY \
- CTL_CODE(FILE_DEVICE_VIDEO, 0x117, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VIDEO_UNSHARE_VIDEO_MEMORY \
- CTL_CODE(FILE_DEVICE_VIDEO, 0x11e, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VIDEO_VALIDATE_CHILD_STATE_CONFIGURATION \
- CTL_CODE(FILE_DEVICE_VIDEO, 0x121, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-
-
-typedef struct _VIDEO_MEMORY {
- PVOID RequestedVirtualAddress;
-} VIDEO_MEMORY, *PVIDEO_MEMORY;
-
-typedef struct _VIDEO_MEMORY_INFORMATION {
- PVOID VideoRamBase;
- ULONG VideoRamLength;
- PVOID FrameBufferBase;
- ULONG FrameBufferLength;
-} VIDEO_MEMORY_INFORMATION, *PVIDEO_MEMORY_INFORMATION;
-
-/* VIDEO_MODE.RequestedMode */
-#define VIDEO_MODE_MAP_MEM_LINEAR 0x40000000
-#define VIDEO_MODE_NO_ZERO_MEMORY 0x80000000
-
-typedef struct _VIDEO_MODE {
- ULONG RequestedMode;
-} VIDEO_MODE, *PVIDEO_MODE;
-
-/* VIDEO_MODE_INFORMATION.AttributeFlags */
-#define VIDEO_MODE_COLOR 0x0001
-#define VIDEO_MODE_GRAPHICS 0x0002
-#define VIDEO_MODE_PALETTE_DRIVEN 0x0004
-#define VIDEO_MODE_MANAGED_PALETTE 0x0008
-#define VIDEO_MODE_INTERLACED 0x0010
-#define VIDEO_MODE_NO_OFF_SCREEN 0x0020
-#define VIDEO_MODE_NO_64_BIT_ACCESS 0x0040
-#define VIDEO_MODE_BANKED 0x0080
-#define VIDEO_MODE_LINEAR 0x0100
-
-typedef struct _VIDEO_MODE_INFORMATION {
- ULONG Length;
- ULONG ModeIndex;
- ULONG VisScreenWidth;
- ULONG VisScreenHeight;
- ULONG ScreenStride;
- ULONG NumberOfPlanes;
- ULONG BitsPerPlane;
- ULONG Frequency;
- ULONG XMillimeter;
- ULONG YMillimeter;
- ULONG NumberRedBits;
- ULONG NumberGreenBits;
- ULONG NumberBlueBits;
- ULONG RedMask;
- ULONG GreenMask;
- ULONG BlueMask;
- ULONG AttributeFlags;
- ULONG VideoMemoryBitmapWidth;
- ULONG VideoMemoryBitmapHeight;
- ULONG DriverSpecificAttributeFlags;
-} VIDEO_MODE_INFORMATION, *PVIDEO_MODE_INFORMATION;
-
-typedef struct _VIDEO_NUM_MODES {
- ULONG NumModes;
- ULONG ModeInformationLength;
-} VIDEO_NUM_MODES, *PVIDEO_NUM_MODES;
-
-typedef enum _VIDEO_POWER_STATE {
- VideoPowerUnspecified = 0,
- VideoPowerOn = 1,
- VideoPowerStandBy,
- VideoPowerSuspend,
- VideoPowerOff,
- VideoPowerHibernate,
- VideoPowerShutdown,
- VideoPowerMaximum
-} VIDEO_POWER_STATE, *PVIDEO_POWER_STATE;
-
-typedef struct _VIDEO_POWER_MANAGEMENT {
- ULONG Length;
- ULONG DPMSVersion;
- ULONG PowerState;
-} VIDEO_POWER_MANAGEMENT, *PVIDEO_POWER_MANAGEMENT;
-
-typedef struct _VIDEO_PUBLIC_ACCESS_RANGES {
- ULONG InIoSpace;
- ULONG MappedInIoSpace;
- PVOID VirtualAddress;
-} VIDEO_PUBLIC_ACCESS_RANGES, *PVIDEO_PUBLIC_ACCESS_RANGES;
-
-typedef struct _VIDEO_SHARE_MEMORY {
- HANDLE ProcessHandle;
- ULONG ViewOffset;
- ULONG ViewSize;
- PVOID RequestedVirtualAddress;
-} VIDEO_SHARE_MEMORY, *PVIDEO_SHARE_MEMORY;
-
-typedef struct _VIDEO_SHARE_MEMORY_INFORMATION {
- ULONG SharedViewOffset;
- ULONG SharedViewSize;
- PVOID VirtualAddress;
-} VIDEO_SHARE_MEMORY_INFORMATION, *PVIDEO_SHARE_MEMORY_INFORMATION;
-
-/* VIDEO_BANK_SELECT.BankingFlags constants */
-#define PLANAR_HC 0x00000001
-
-/* VIDEO_BANK_SELECT.BankingType and PlanarHCBankingType constants */
-typedef enum _VIDEO_BANK_TYPE {
- VideoNotBanked = 0,
- VideoBanked1RW,
- VideoBanked1R1W,
- VideoBanked2RW,
- NumVideoBankTypes
-} VIDEO_BANK_TYPE, *PVIDEO_BANK_TYPE;
-
-typedef struct _VIDEO_BANK_SELECT {
- ULONG Length;
- ULONG Size;
- ULONG BankingFlags;
- ULONG BankingType;
- ULONG PlanarHCBankingType;
- ULONG BitmapWidthInBytes;
- ULONG BitmapSize;
- ULONG Granularity;
- ULONG PlanarHCGranularity;
- ULONG CodeOffset;
- ULONG PlanarHCBankCodeOffset;
- ULONG PlanarHCEnableCodeOffset;
- ULONG PlanarHCDisableCodeOffset;
-} VIDEO_BANK_SELECT, *PVIDEO_BANK_SELECT;
-
-typedef struct _VIDEO_LOAD_FONT_INFORMATION {
- USHORT WidthInPixels;
- USHORT HeightInPixels;
- ULONG FontSize;
- UCHAR Font[1];
-} VIDEO_LOAD_FONT_INFORMATION, *PVIDEO_LOAD_FONT_INFORMATION;
-
-/* VIDEO_COLOR_CAPABILITIES.AttributeFlags constants */
-#define VIDEO_DEVICE_COLOR 0x00000001
-#define VIDEO_OPTIONAL_GAMMET_TABLE 0x00000002
-
-typedef struct _VIDEO_COLOR_CAPABILITIES {
- ULONG Length;
- ULONG AttributeFlags;
- LONG RedPhosphoreDecay;
- LONG GreenPhosphoreDecay;
- LONG BluePhosphoreDecay;
- LONG WhiteChromaticity_x;
- LONG WhiteChromaticity_y;
- LONG WhiteChromaticity_Y;
- LONG RedChromaticity_x;
- LONG RedChromaticity_y;
- LONG GreenChromaticity_x;
- LONG GreenChromaticity_y;
- LONG BlueChromaticity_x;
- LONG BlueChromaticity_y;
- LONG WhiteGamma;
- LONG RedGamma;
- LONG GreenGamma;
- LONG BlueGamma;
-} VIDEO_COLOR_CAPABILITIES, *PVIDEO_COLOR_CAPABILITIES;
-
-typedef struct _VIDEO_CURSOR_ATTRIBUTES {
- USHORT Width;
- USHORT Height;
- SHORT Column;
- SHORT Row;
- UCHAR Rate;
- UCHAR Enable;
-} VIDEO_CURSOR_ATTRIBUTES, *PVIDEO_CURSOR_ATTRIBUTES;
-
-typedef struct _VIDEO_CURSOR_POSITION {
- SHORT Column;
- SHORT Row;
-} VIDEO_CURSOR_POSITION, *PVIDEO_CURSOR_POSITION;
-
-typedef struct _VIDEO_POINTER_ATTRIBUTES {
- ULONG Flags;
- ULONG Width;
- ULONG Height;
- ULONG WidthInBytes;
- ULONG Enable;
- SHORT Column;
- SHORT Row;
- UCHAR Pixels[1];
-} VIDEO_POINTER_ATTRIBUTES, *PVIDEO_POINTER_ATTRIBUTES;
-
-/* VIDEO_POINTER_CAPABILITIES.Flags */
-#define VIDEO_MODE_ASYNC_POINTER 0x01
-#define VIDEO_MODE_MONO_POINTER 0x02
-#define VIDEO_MODE_COLOR_POINTER 0x04
-#define VIDEO_MODE_ANIMATE_START 0x08
-#define VIDEO_MODE_ANIMATE_UPDATE 0x10
-
-typedef struct _VIDEO_POINTER_CAPABILITIES {
- ULONG Flags;
- ULONG MaxWidth;
- ULONG MaxHeight;
- ULONG HWPtrBitmapStart;
- ULONG HWPtrBitmapEnd;
-} VIDEO_POINTER_CAPABILITIES, *PVIDEO_POINTER_CAPABILITIES;
-
-typedef struct _VIDEO_POINTER_POSITION {
- SHORT Column;
- SHORT Row;
-} VIDEO_POINTER_POSITION, *PVIDEO_POINTER_POSITION;
-
-
-/* VIDEO_HARDWARE_STATE_HEADER.VGAStateFlags constants */
-#define VIDEO_STATE_NON_STANDARD_VGA 0x00000001
-#define VIDEO_STATE_UNEMULATED_VGA_STATE 0x00000002
-#define VIDEO_STATE_PACKED_CHAIN4_MODE 0x00000004
-
-typedef struct _VIDEO_HARDWARE_STATE_HEADER {
- ULONG Length;
- UCHAR PortValue[0x30];
- ULONG AttribIndexDataState;
- ULONG BasicSequencerOffset;
- ULONG BasicCrtContOffset;
- ULONG BasicGraphContOffset;
- ULONG BasicAttribContOffset;
- ULONG BasicDacOffset;
- ULONG BasicLatchesOffset;
- ULONG ExtendedSequencerOffset;
- ULONG ExtendedCrtContOffset;
- ULONG ExtendedGraphContOffset;
- ULONG ExtendedAttribContOffset;
- ULONG ExtendedDacOffset;
- ULONG ExtendedValidatorStateOffset;
- ULONG ExtendedMiscDataOffset;
- ULONG PlaneLength;
- ULONG Plane1Offset;
- ULONG Plane2Offset;
- ULONG Plane3Offset;
- ULONG Plane4Offset;
- ULONG VGAStateFlags;
- ULONG DIBOffset;
- ULONG DIBBitsPerPixel;
- ULONG DIBXResolution;
- ULONG DIBYResolution;
- ULONG DIBXlatOffset;
- ULONG DIBXlatLength;
- ULONG VesaInfoOffset;
- PVOID FrameBufferData;
-} VIDEO_HARDWARE_STATE_HEADER, *PVIDEO_HARDWARE_STATE_HEADER;
-
-typedef struct _VIDEO_CLUTDATA {
- UCHAR Red;
- UCHAR Green;
- UCHAR Blue;
- UCHAR Unused;
-} VIDEO_CLUTDATA, *PVIDEO_CLUTDATA;
-
-typedef struct {
- USHORT NumEntries;
- USHORT FirstEntry;
- union {
- VIDEO_CLUTDATA RgbArray;
- ULONG RgbLong;
- } LookupTable[1];
-} VIDEO_CLUT, *PVIDEO_CLUT;
-
-typedef struct _VIDEO_PALETTE_DATA {
- USHORT NumEntries;
- USHORT FirstEntry;
- USHORT Colors[1];
-} VIDEO_PALETTE_DATA, *PVIDEO_PALETTE_DATA;
-
-typedef struct _VIDEO_HARDWARE_STATE {
- PVIDEO_HARDWARE_STATE_HEADER StateHeader;
- ULONG StateLength;
-} VIDEO_HARDWARE_STATE, *PVIDEO_HARDWARE_STATE;
-
-#define VIDEO_CHILD_ACTIVE 0x00000001
-#define VIDEO_CHILD_DETACHED 0x00000002
-#define VIDEO_CHILD_NOPRUNE_FREQ 0x80000000
-#define VIDEO_CHILD_NOPRUNE_RESOLUTION 0x40000000
-
-#define VIDEO_DUALVIEW_REMOVABLE 0x00000001
-#define VIDEO_DUALVIEW_PRIMARY 0x80000000
-#define VIDEO_DUALVIEW_SECONDARY 0x40000000
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __NTDDVDEO_H */
diff --git a/winsup/w32api/include/ddk/ntddvol.h b/winsup/w32api/include/ddk/ntddvol.h
deleted file mode 100644
index bc0932a98..000000000
--- a/winsup/w32api/include/ddk/ntddvol.h
+++ /dev/null
@@ -1,141 +0,0 @@
-/*
- * ntddvol.h
- *
- * Volume IOCTL interface.
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- * Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __NTDDVOL_H
-#define __NTDDVOL_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-
-#define IOCTL_VOLUME_BASE ((ULONG) 'V')
-
-#define IOCTL_VOLUME_LOGICAL_TO_PHYSICAL \
- CTL_CODE(IOCTL_VOLUME_BASE, 8, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VOLUME_PHYSICAL_TO_LOGICAL \
- CTL_CODE(IOCTL_VOLUME_BASE, 9, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VOLUME_READ_PLEX \
- CTL_CODE(IOCTL_VOLUME_BASE, 11, METHOD_OUT_DIRECT, FILE_READ_ACCESS)
-
-#define IOCTL_VOLUME_GET_VOLUME_DISK_EXTENTS \
- CTL_CODE(IOCTL_VOLUME_BASE, 0, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VOLUME_IS_CLUSTERED \
- CTL_CODE(IOCTL_VOLUME_BASE, 12, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VOLUME_QUERY_VOLUME_NUMBER \
- CTL_CODE(IOCTL_VOLUME_BASE, 7, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VOLUME_IS_PARTITION \
- CTL_CODE(IOCTL_VOLUME_BASE, 10, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VOLUME_SET_GPT_ATTRIBUTES \
- CTL_CODE(IOCTL_VOLUME_BASE, 13, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VOLUME_GET_GPT_ATTRIBUTES \
- CTL_CODE(IOCTL_VOLUME_BASE, 14, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VOLUME_SUPPORTS_ONLINE_OFFLINE \
- CTL_CODE(IOCTL_VOLUME_BASE, 1, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VOLUME_ONLINE \
- CTL_CODE(IOCTL_VOLUME_BASE, 2, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
-
-#define IOCTL_VOLUME_OFFLINE \
- CTL_CODE(IOCTL_VOLUME_BASE, 3, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
-
-#define IOCTL_VOLUME_IS_OFFLINE \
- CTL_CODE(IOCTL_VOLUME_BASE, 4, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VOLUME_IS_IO_CAPABLE \
- CTL_CODE(IOCTL_VOLUME_BASE, 5, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_VOLUME_QUERY_FAILOVER_SET \
- CTL_CODE(IOCTL_VOLUME_BASE, 6, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-
-typedef struct _VOLUME_LOGICAL_OFFSET {
- LONGLONG LogicalOffset;
-} VOLUME_LOGICAL_OFFSET, *PVOLUME_LOGICAL_OFFSET;
-
-typedef struct _VOLUME_PHYSICAL_OFFSET {
- ULONG DiskNumber;
- LONGLONG Offset;
-} VOLUME_PHYSICAL_OFFSET, *PVOLUME_PHYSICAL_OFFSET;
-
-typedef struct _VOLUME_PHYSICAL_OFFSETS {
- ULONG NumberOfPhysicalOffsets;
- VOLUME_PHYSICAL_OFFSET PhysicalOffset[1];
-} VOLUME_PHYSICAL_OFFSETS, *PVOLUME_PHYSICAL_OFFSETS;
-
-typedef struct _VOLUME_READ_PLEX_INPUT {
- LARGE_INTEGER ByteOffset;
- ULONG Length;
- ULONG PlexNumber;
-} VOLUME_READ_PLEX_INPUT, *PVOLUME_READ_PLEX_INPUT;
-
-typedef struct _VOLUME_GET_GPT_ATTRIBUTES_INFORMATION {
- ULONGLONG GptAttributes;
-} VOLUME_GET_GPT_ATTRIBUTES_INFORMATION, *PVOLUME_GET_GPT_ATTRIBUTES_INFORMATION;
-
-typedef struct _VOLUME_SET_GPT_ATTRIBUTES_INFORMATION {
- ULONGLONG GptAttributes;
- BOOLEAN RevertOnClose;
- BOOLEAN ApplyToAllConnectedVolumes;
- USHORT Reserved1;
- ULONG Reserved2;
-} VOLUME_SET_GPT_ATTRIBUTES_INFORMATION, *PVOLUME_SET_GPT_ATTRIBUTES_INFORMATION;
-
-typedef struct _DISK_EXTENT {
- ULONG DiskNumber;
- LARGE_INTEGER StartingOffset;
- LARGE_INTEGER ExtentLength;
-} DISK_EXTENT, *PDISK_EXTENT;
-
-typedef struct _VOLUME_DISK_EXTENTS {
- ULONG NumberOfDiskExtents;
- DISK_EXTENT Extents[1];
-} VOLUME_DISK_EXTENTS, *PVOLUME_DISK_EXTENTS;
-
-typedef struct _VOLUME_NUMBER {
- ULONG VolumeNumber;
- WCHAR VolumeManagerName[8];
-} VOLUME_NUMBER, *PVOLUME_NUMBER;
-
-typedef struct _VOLUME_FAILOVER_SET {
- ULONG NumberOfDisks;
- ULONG DiskNumbers[1];
-} VOLUME_FAILOVER_SET, *PVOLUME_FAILOVER_SET;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __NTDDVOL_H */
diff --git a/winsup/w32api/include/ddk/ntifs.h b/winsup/w32api/include/ddk/ntifs.h
deleted file mode 100644
index 4737a4254..000000000
--- a/winsup/w32api/include/ddk/ntifs.h
+++ /dev/null
@@ -1,4729 +0,0 @@
-/*
- * ntifs.h
- *
- * Windows NT Filesystem Driver Developer Kit
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- * Created by Bo Brantén <bosse@acc.umu.se>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef _NTIFS_
-#define _NTIFS_
-#define _GNU_NTIFS_
-
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-#include "ntapi.h"
-
-#pragma pack(push,4)
-
-#define VER_PRODUCTBUILD 10000
-
-#ifndef NTSYSAPI
-#define NTSYSAPI
-#endif
-
-#ifndef NTKERNELAPI
-#define NTKERNELAPI STDCALL
-#endif
-
-typedef struct _SE_EXPORTS *PSE_EXPORTS;
-
-extern PUCHAR *FsRtlLegalAnsiCharacterArray;
-extern PSE_EXPORTS SeExports;
-extern PACL SePublicDefaultDacl;
-extern PACL SeSystemDefaultDacl;
-
-#define ANSI_DOS_STAR ('<')
-#define ANSI_DOS_QM ('>')
-#define ANSI_DOS_DOT ('"')
-
-#define DOS_STAR (L'<')
-#define DOS_QM (L'>')
-#define DOS_DOT (L'"')
-
-/* also in winnt.h */
-#define ACCESS_ALLOWED_ACE_TYPE (0x0)
-#define ACCESS_DENIED_ACE_TYPE (0x1)
-#define SYSTEM_AUDIT_ACE_TYPE (0x2)
-#define SYSTEM_ALARM_ACE_TYPE (0x3)
-
-#define COMPRESSION_FORMAT_NONE (0x0000)
-#define COMPRESSION_FORMAT_DEFAULT (0x0001)
-#define COMPRESSION_FORMAT_LZNT1 (0x0002)
-#define COMPRESSION_ENGINE_STANDARD (0x0000)
-#define COMPRESSION_ENGINE_MAXIMUM (0x0100)
-#define COMPRESSION_ENGINE_HIBER (0x0200)
-
-#define FILE_ACTION_ADDED 0x00000001
-#define FILE_ACTION_REMOVED 0x00000002
-#define FILE_ACTION_MODIFIED 0x00000003
-#define FILE_ACTION_RENAMED_OLD_NAME 0x00000004
-#define FILE_ACTION_RENAMED_NEW_NAME 0x00000005
-#define FILE_ACTION_ADDED_STREAM 0x00000006
-#define FILE_ACTION_REMOVED_STREAM 0x00000007
-#define FILE_ACTION_MODIFIED_STREAM 0x00000008
-#define FILE_ACTION_REMOVED_BY_DELETE 0x00000009
-#define FILE_ACTION_ID_NOT_TUNNELLED 0x0000000A
-#define FILE_ACTION_TUNNELLED_ID_COLLISION 0x0000000B
-/* end winnt.h */
-
-#define FILE_EA_TYPE_BINARY 0xfffe
-#define FILE_EA_TYPE_ASCII 0xfffd
-#define FILE_EA_TYPE_BITMAP 0xfffb
-#define FILE_EA_TYPE_METAFILE 0xfffa
-#define FILE_EA_TYPE_ICON 0xfff9
-#define FILE_EA_TYPE_EA 0xffee
-#define FILE_EA_TYPE_MVMT 0xffdf
-#define FILE_EA_TYPE_MVST 0xffde
-#define FILE_EA_TYPE_ASN1 0xffdd
-#define FILE_EA_TYPE_FAMILY_IDS 0xff01
-
-#define FILE_NEED_EA 0x00000080
-
-/* also in winnt.h */
-#define FILE_NOTIFY_CHANGE_FILE_NAME 0x00000001
-#define FILE_NOTIFY_CHANGE_DIR_NAME 0x00000002
-#define FILE_NOTIFY_CHANGE_NAME 0x00000003
-#define FILE_NOTIFY_CHANGE_ATTRIBUTES 0x00000004
-#define FILE_NOTIFY_CHANGE_SIZE 0x00000008
-#define FILE_NOTIFY_CHANGE_LAST_WRITE 0x00000010
-#define FILE_NOTIFY_CHANGE_LAST_ACCESS 0x00000020
-#define FILE_NOTIFY_CHANGE_CREATION 0x00000040
-#define FILE_NOTIFY_CHANGE_EA 0x00000080
-#define FILE_NOTIFY_CHANGE_SECURITY 0x00000100
-#define FILE_NOTIFY_CHANGE_STREAM_NAME 0x00000200
-#define FILE_NOTIFY_CHANGE_STREAM_SIZE 0x00000400
-#define FILE_NOTIFY_CHANGE_STREAM_WRITE 0x00000800
-#define FILE_NOTIFY_VALID_MASK 0x00000fff
-/* end winnt.h */
-
-#define FILE_OPLOCK_BROKEN_TO_LEVEL_2 0x00000007
-#define FILE_OPLOCK_BROKEN_TO_NONE 0x00000008
-
-#define FILE_OPBATCH_BREAK_UNDERWAY 0x00000009
-
-#define FILE_CASE_SENSITIVE_SEARCH 0x00000001
-#define FILE_CASE_PRESERVED_NAMES 0x00000002
-#define FILE_UNICODE_ON_DISK 0x00000004
-#define FILE_PERSISTENT_ACLS 0x00000008
-#define FILE_FILE_COMPRESSION 0x00000010
-#define FILE_VOLUME_QUOTAS 0x00000020
-#define FILE_SUPPORTS_SPARSE_FILES 0x00000040
-#define FILE_SUPPORTS_REPARSE_POINTS 0x00000080
-#define FILE_SUPPORTS_REMOTE_STORAGE 0x00000100
-#define FS_LFN_APIS 0x00004000
-#define FILE_VOLUME_IS_COMPRESSED 0x00008000
-#define FILE_SUPPORTS_OBJECT_IDS 0x00010000
-#define FILE_SUPPORTS_ENCRYPTION 0x00020000
-#define FILE_NAMED_STREAMS 0x00040000
-
-#define FILE_PIPE_BYTE_STREAM_TYPE 0x00000000
-#define FILE_PIPE_MESSAGE_TYPE 0x00000001
-
-#define FILE_PIPE_BYTE_STREAM_MODE 0x00000000
-#define FILE_PIPE_MESSAGE_MODE 0x00000001
-
-#define FILE_PIPE_QUEUE_OPERATION 0x00000000
-#define FILE_PIPE_COMPLETE_OPERATION 0x00000001
-
-#define FILE_PIPE_INBOUND 0x00000000
-#define FILE_PIPE_OUTBOUND 0x00000001
-#define FILE_PIPE_FULL_DUPLEX 0x00000002
-
-#define FILE_PIPE_DISCONNECTED_STATE 0x00000001
-#define FILE_PIPE_LISTENING_STATE 0x00000002
-#define FILE_PIPE_CONNECTED_STATE 0x00000003
-#define FILE_PIPE_CLOSING_STATE 0x00000004
-
-#define FILE_PIPE_CLIENT_END 0x00000000
-#define FILE_PIPE_SERVER_END 0x00000001
-
-#define FILE_PIPE_READ_DATA 0x00000000
-#define FILE_PIPE_WRITE_SPACE 0x00000001
-
-#define FILE_STORAGE_TYPE_SPECIFIED 0x00000041 /* FILE_DIRECTORY_FILE | FILE_NON_DIRECTORY_FILE */
-#define FILE_STORAGE_TYPE_DEFAULT (StorageTypeDefault << FILE_STORAGE_TYPE_SHIFT)
-#define FILE_STORAGE_TYPE_DIRECTORY (StorageTypeDirectory << FILE_STORAGE_TYPE_SHIFT)
-#define FILE_STORAGE_TYPE_FILE (StorageTypeFile << FILE_STORAGE_TYPE_SHIFT)
-#define FILE_STORAGE_TYPE_DOCFILE (StorageTypeDocfile << FILE_STORAGE_TYPE_SHIFT)
-#define FILE_STORAGE_TYPE_JUNCTION_POINT (StorageTypeJunctionPoint << FILE_STORAGE_TYPE_SHIFT)
-#define FILE_STORAGE_TYPE_CATALOG (StorageTypeCatalog << FILE_STORAGE_TYPE_SHIFT)
-#define FILE_STORAGE_TYPE_STRUCTURED_STORAGE (StorageTypeStructuredStorage << FILE_STORAGE_TYPE_SHIFT)
-#define FILE_STORAGE_TYPE_EMBEDDING (StorageTypeEmbedding << FILE_STORAGE_TYPE_SHIFT)
-#define FILE_STORAGE_TYPE_STREAM (StorageTypeStream << FILE_STORAGE_TYPE_SHIFT)
-#define FILE_MINIMUM_STORAGE_TYPE FILE_STORAGE_TYPE_DEFAULT
-#define FILE_MAXIMUM_STORAGE_TYPE FILE_STORAGE_TYPE_STREAM
-#define FILE_STORAGE_TYPE_MASK 0x000f0000
-#define FILE_STORAGE_TYPE_SHIFT 16
-
-#define FILE_VC_QUOTA_NONE 0x00000000
-#define FILE_VC_QUOTA_TRACK 0x00000001
-#define FILE_VC_QUOTA_ENFORCE 0x00000002
-#define FILE_VC_QUOTA_MASK 0x00000003
-
-#define FILE_VC_QUOTAS_LOG_VIOLATIONS 0x00000004
-#define FILE_VC_CONTENT_INDEX_DISABLED 0x00000008
-
-#define FILE_VC_LOG_QUOTA_THRESHOLD 0x00000010
-#define FILE_VC_LOG_QUOTA_LIMIT 0x00000020
-#define FILE_VC_LOG_VOLUME_THRESHOLD 0x00000040
-#define FILE_VC_LOG_VOLUME_LIMIT 0x00000080
-
-#define FILE_VC_QUOTAS_INCOMPLETE 0x00000100
-#define FILE_VC_QUOTAS_REBUILDING 0x00000200
-
-#define FILE_VC_VALID_MASK 0x000003ff
-
-#define FSRTL_FLAG_FILE_MODIFIED (0x01)
-#define FSRTL_FLAG_FILE_LENGTH_CHANGED (0x02)
-#define FSRTL_FLAG_LIMIT_MODIFIED_PAGES (0x04)
-#define FSRTL_FLAG_ACQUIRE_MAIN_RSRC_EX (0x08)
-#define FSRTL_FLAG_ACQUIRE_MAIN_RSRC_SH (0x10)
-#define FSRTL_FLAG_USER_MAPPED_FILE (0x20)
-#define FSRTL_FLAG_EOF_ADVANCE_ACTIVE (0x80)
-
-#define FSRTL_FLAG2_DO_MODIFIED_WRITE (0x01)
-
-#define FSRTL_FSP_TOP_LEVEL_IRP (0x01)
-#define FSRTL_CACHE_TOP_LEVEL_IRP (0x02)
-#define FSRTL_MOD_WRITE_TOP_LEVEL_IRP (0x03)
-#define FSRTL_FAST_IO_TOP_LEVEL_IRP (0x04)
-#define FSRTL_MAX_TOP_LEVEL_IRP_FLAG (0x04)
-
-#define FSRTL_VOLUME_DISMOUNT 1
-#define FSRTL_VOLUME_DISMOUNT_FAILED 2
-#define FSRTL_VOLUME_LOCK 3
-#define FSRTL_VOLUME_LOCK_FAILED 4
-#define FSRTL_VOLUME_UNLOCK 5
-#define FSRTL_VOLUME_MOUNT 6
-
-#define FSRTL_WILD_CHARACTER 0x08
-
-#ifdef _X86_
-#define HARDWARE_PTE HARDWARE_PTE_X86
-#define PHARDWARE_PTE PHARDWARE_PTE_X86
-#else
-#define HARDWARE_PTE ULONG
-#define PHARDWARE_PTE PULONG
-#endif
-
-#define IO_CHECK_CREATE_PARAMETERS 0x0200
-#define IO_ATTACH_DEVICE 0x0400
-
-#define IO_ATTACH_DEVICE_API 0x80000000
-/* also in winnt.h */
-#define IO_COMPLETION_QUERY_STATE 0x0001
-#define IO_COMPLETION_MODIFY_STATE 0x0002
-#define IO_COMPLETION_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED|SYNCHRONIZE|0x3)
-/* end winnt.h */
-#define IO_FILE_OBJECT_NON_PAGED_POOL_CHARGE 64
-#define IO_FILE_OBJECT_PAGED_POOL_CHARGE 1024
-
-#define IO_TYPE_APC 18
-#define IO_TYPE_DPC 19
-#define IO_TYPE_DEVICE_QUEUE 20
-#define IO_TYPE_EVENT_PAIR 21
-#define IO_TYPE_INTERRUPT 22
-#define IO_TYPE_PROFILE 23
-
-#define IRP_BEING_VERIFIED 0x10
-
-#define MAILSLOT_CLASS_FIRSTCLASS 1
-#define MAILSLOT_CLASS_SECONDCLASS 2
-
-#define MAILSLOT_SIZE_AUTO 0
-
-#define MAP_PROCESS 1L
-#define MAP_SYSTEM 2L
-#define MEM_DOS_LIM 0x40000000
-/* also in winnt.h */
-#define MEM_IMAGE SEC_IMAGE
-/* end winnt.h */
-#define OB_TYPE_TYPE 1
-#define OB_TYPE_DIRECTORY 2
-#define OB_TYPE_SYMBOLIC_LINK 3
-#define OB_TYPE_TOKEN 4
-#define OB_TYPE_PROCESS 5
-#define OB_TYPE_THREAD 6
-#define OB_TYPE_EVENT 7
-#define OB_TYPE_EVENT_PAIR 8
-#define OB_TYPE_MUTANT 9
-#define OB_TYPE_SEMAPHORE 10
-#define OB_TYPE_TIMER 11
-#define OB_TYPE_PROFILE 12
-#define OB_TYPE_WINDOW_STATION 13
-#define OB_TYPE_DESKTOP 14
-#define OB_TYPE_SECTION 15
-#define OB_TYPE_KEY 16
-#define OB_TYPE_PORT 17
-#define OB_TYPE_ADAPTER 18
-#define OB_TYPE_CONTROLLER 19
-#define OB_TYPE_DEVICE 20
-#define OB_TYPE_DRIVER 21
-#define OB_TYPE_IO_COMPLETION 22
-#define OB_TYPE_FILE 23
-
-#define PIN_WAIT (1)
-#define PIN_EXCLUSIVE (2)
-#define PIN_NO_READ (4)
-#define PIN_IF_BCB (8)
-
-#define PORT_CONNECT 0x0001
-#define PORT_ALL_ACCESS (STANDARD_RIGHTS_ALL |\
- PORT_CONNECT)
-/* also in winnt.h */
-#define SEC_BASED 0x00200000
-#define SEC_NO_CHANGE 0x00400000
-#define SEC_FILE 0x00800000
-#define SEC_IMAGE 0x01000000
-#define SEC_VLM 0x02000000
-#define SEC_RESERVE 0x04000000
-#define SEC_COMMIT 0x08000000
-#define SEC_NOCACHE 0x10000000
-
-#define SECURITY_WORLD_SID_AUTHORITY {0,0,0,0,0,1}
-#define SECURITY_WORLD_RID (0x00000000L)
-
-#define SID_REVISION 1
-
-#define TOKEN_ASSIGN_PRIMARY (0x0001)
-#define TOKEN_DUPLICATE (0x0002)
-#define TOKEN_IMPERSONATE (0x0004)
-#define TOKEN_QUERY (0x0008)
-#define TOKEN_QUERY_SOURCE (0x0010)
-#define TOKEN_ADJUST_PRIVILEGES (0x0020)
-#define TOKEN_ADJUST_GROUPS (0x0040)
-#define TOKEN_ADJUST_DEFAULT (0x0080)
-
-#define TOKEN_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED |\
- TOKEN_ASSIGN_PRIMARY |\
- TOKEN_DUPLICATE |\
- TOKEN_IMPERSONATE |\
- TOKEN_QUERY |\
- TOKEN_QUERY_SOURCE |\
- TOKEN_ADJUST_PRIVILEGES |\
- TOKEN_ADJUST_GROUPS |\
- TOKEN_ADJUST_DEFAULT)
-
-#define TOKEN_READ (STANDARD_RIGHTS_READ |\
- TOKEN_QUERY)
-
-#define TOKEN_WRITE (STANDARD_RIGHTS_WRITE |\
- TOKEN_ADJUST_PRIVILEGES |\
- TOKEN_ADJUST_GROUPS |\
- TOKEN_ADJUST_DEFAULT)
-
-#define TOKEN_EXECUTE (STANDARD_RIGHTS_EXECUTE)
-
-#define TOKEN_SOURCE_LENGTH 8
-/* end winnt.h */
-
-#define TOKEN_HAS_TRAVERSE_PRIVILEGE 0x01
-#define TOKEN_HAS_BACKUP_PRIVILEGE 0x02
-#define TOKEN_HAS_RESTORE_PRIVILEGE 0x04
-#define TOKEN_HAS_ADMIN_GROUP 0x08
-#define TOKEN_IS_RESTRICTED 0x10
-
-#define VACB_MAPPING_GRANULARITY (0x40000)
-#define VACB_OFFSET_SHIFT (18)
-
-#define FSCTL_REQUEST_OPLOCK_LEVEL_1 CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 0, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define FSCTL_REQUEST_OPLOCK_LEVEL_2 CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 1, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define FSCTL_REQUEST_BATCH_OPLOCK CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 2, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define FSCTL_OPLOCK_BREAK_ACKNOWLEDGE CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 3, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define FSCTL_OPBATCH_ACK_CLOSE_PENDING CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 4, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define FSCTL_OPLOCK_BREAK_NOTIFY CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 5, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define FSCTL_LOCK_VOLUME CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 6, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define FSCTL_UNLOCK_VOLUME CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 7, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define FSCTL_DISMOUNT_VOLUME CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 8, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define FSCTL_IS_VOLUME_MOUNTED CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 10, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define FSCTL_IS_PATHNAME_VALID CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 11, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define FSCTL_MARK_VOLUME_DIRTY CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 12, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define FSCTL_QUERY_RETRIEVAL_POINTERS CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 14, METHOD_NEITHER, FILE_ANY_ACCESS)
-#define FSCTL_GET_COMPRESSION CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 15, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define FSCTL_SET_COMPRESSION CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 16, METHOD_BUFFERED, FILE_READ_DATA | FILE_WRITE_DATA)
-
-
-#define FSCTL_MARK_AS_SYSTEM_HIVE CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 19, METHOD_NEITHER, FILE_ANY_ACCESS)
-#define FSCTL_OPLOCK_BREAK_ACK_NO_2 CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 20, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define FSCTL_INVALIDATE_VOLUMES CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 21, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define FSCTL_QUERY_FAT_BPB CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 22, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define FSCTL_REQUEST_FILTER_OPLOCK CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 23, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define FSCTL_FILESYSTEM_GET_STATISTICS CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 24, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#if (VER_PRODUCTBUILD >= 1381)
-
-#define FSCTL_GET_NTFS_VOLUME_DATA CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 25, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define FSCTL_GET_NTFS_FILE_RECORD CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 26, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define FSCTL_GET_VOLUME_BITMAP CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 27, METHOD_NEITHER, FILE_ANY_ACCESS)
-#define FSCTL_GET_RETRIEVAL_POINTERS CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 28, METHOD_NEITHER, FILE_ANY_ACCESS)
-#define FSCTL_MOVE_FILE CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 29, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define FSCTL_IS_VOLUME_DIRTY CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 30, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define FSCTL_GET_HFS_INFORMATION CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 31, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define FSCTL_ALLOW_EXTENDED_DASD_IO CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 32, METHOD_NEITHER, FILE_ANY_ACCESS)
-
-#endif /* (VER_PRODUCTBUILD >= 1381) */
-
-#if (VER_PRODUCTBUILD >= 2195)
-
-#define FSCTL_READ_PROPERTY_DATA CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 33, METHOD_NEITHER, FILE_ANY_ACCESS)
-#define FSCTL_WRITE_PROPERTY_DATA CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 34, METHOD_NEITHER, FILE_ANY_ACCESS)
-#define FSCTL_FIND_FILES_BY_SID CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 35, METHOD_NEITHER, FILE_ANY_ACCESS)
-
-#define FSCTL_DUMP_PROPERTY_DATA CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 37, METHOD_NEITHER, FILE_ANY_ACCESS)
-#define FSCTL_SET_OBJECT_ID CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 38, METHOD_BUFFERED, FILE_WRITE_DATA)
-#define FSCTL_GET_OBJECT_ID CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 39, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define FSCTL_DELETE_OBJECT_ID CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 40, METHOD_BUFFERED, FILE_WRITE_DATA)
-#define FSCTL_SET_REPARSE_POINT CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 41, METHOD_BUFFERED, FILE_WRITE_DATA)
-#define FSCTL_GET_REPARSE_POINT CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 42, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define FSCTL_DELETE_REPARSE_POINT CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 43, METHOD_BUFFERED, FILE_WRITE_DATA)
-#define FSCTL_ENUM_USN_DATA CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 44, METHOD_NEITHER, FILE_READ_DATA)
-#define FSCTL_SECURITY_ID_CHECK CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 45, METHOD_NEITHER, FILE_READ_DATA)
-#define FSCTL_READ_USN_JOURNAL CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 46, METHOD_NEITHER, FILE_READ_DATA)
-#define FSCTL_SET_OBJECT_ID_EXTENDED CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 47, METHOD_BUFFERED, FILE_WRITE_DATA)
-#define FSCTL_CREATE_OR_GET_OBJECT_ID CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 48, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define FSCTL_SET_SPARSE CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 49, METHOD_BUFFERED, FILE_WRITE_DATA)
-#define FSCTL_SET_ZERO_DATA CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 50, METHOD_BUFFERED, FILE_WRITE_DATA)
-#define FSCTL_QUERY_ALLOCATED_RANGES CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 51, METHOD_NEITHER, FILE_READ_DATA)
-#define FSCTL_ENABLE_UPGRADE CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 52, METHOD_BUFFERED, FILE_WRITE_DATA)
-#define FSCTL_SET_ENCRYPTION CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 53, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define FSCTL_ENCRYPTION_FSCTL_IO CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 54, METHOD_NEITHER, FILE_ANY_ACCESS)
-#define FSCTL_WRITE_RAW_ENCRYPTED CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 55, METHOD_NEITHER, FILE_ANY_ACCESS)
-#define FSCTL_READ_RAW_ENCRYPTED CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 56, METHOD_NEITHER, FILE_ANY_ACCESS)
-#define FSCTL_CREATE_USN_JOURNAL CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 57, METHOD_NEITHER, FILE_READ_DATA)
-#define FSCTL_READ_FILE_USN_DATA CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 58, METHOD_NEITHER, FILE_READ_DATA)
-#define FSCTL_WRITE_USN_CLOSE_RECORD CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 59, METHOD_NEITHER, FILE_READ_DATA)
-#define FSCTL_EXTEND_VOLUME CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 60, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define FSCTL_QUERY_USN_JOURNAL CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 61, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define FSCTL_DELETE_USN_JOURNAL CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 62, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define FSCTL_MARK_HANDLE CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 63, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define FSCTL_SIS_COPYFILE CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 64, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define FSCTL_SIS_LINK_FILES CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 65, METHOD_BUFFERED, FILE_READ_DATA | FILE_WRITE_DATA)
-#define FSCTL_HSM_MSG CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 66, METHOD_BUFFERED, FILE_READ_DATA | FILE_WRITE_DATA)
-#define FSCTL_NSS_CONTROL CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 67, METHOD_BUFFERED, FILE_WRITE_DATA)
-#define FSCTL_HSM_DATA CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 68, METHOD_NEITHER, FILE_READ_DATA | FILE_WRITE_DATA)
-#define FSCTL_RECALL_FILE CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 69, METHOD_NEITHER, FILE_ANY_ACCESS)
-#define FSCTL_NSS_RCONTROL CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 70, METHOD_BUFFERED, FILE_READ_DATA)
-#define FSCTL_READ_FROM_PLEX CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 71, METHOD_OUT_DIRECT, FILE_READ_DATA)
-#define FSCTL_FILE_PREFETCH CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 72, METHOD_BUFFERED, FILE_SPECIAL_ACCESS)
-
-#endif /* (VER_PRODUCTBUILD >= 2195) */
-
-#define FSCTL_MAILSLOT_PEEK CTL_CODE(FILE_DEVICE_MAILSLOT, 0, METHOD_NEITHER, FILE_READ_DATA)
-
-#define FSCTL_NETWORK_SET_CONFIGURATION_INFO CTL_CODE(FILE_DEVICE_NETWORK_FILE_SYSTEM, 102, METHOD_IN_DIRECT, FILE_ANY_ACCESS)
-#define FSCTL_NETWORK_GET_CONFIGURATION_INFO CTL_CODE(FILE_DEVICE_NETWORK_FILE_SYSTEM, 103, METHOD_OUT_DIRECT, FILE_ANY_ACCESS)
-#define FSCTL_NETWORK_GET_CONNECTION_INFO CTL_CODE(FILE_DEVICE_NETWORK_FILE_SYSTEM, 104, METHOD_NEITHER, FILE_ANY_ACCESS)
-#define FSCTL_NETWORK_ENUMERATE_CONNECTIONS CTL_CODE(FILE_DEVICE_NETWORK_FILE_SYSTEM, 105, METHOD_NEITHER, FILE_ANY_ACCESS)
-#define FSCTL_NETWORK_DELETE_CONNECTION CTL_CODE(FILE_DEVICE_NETWORK_FILE_SYSTEM, 107, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define FSCTL_NETWORK_GET_STATISTICS CTL_CODE(FILE_DEVICE_NETWORK_FILE_SYSTEM, 116, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define FSCTL_NETWORK_SET_DOMAIN_NAME CTL_CODE(FILE_DEVICE_NETWORK_FILE_SYSTEM, 120, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define FSCTL_NETWORK_REMOTE_BOOT_INIT_SCRT CTL_CODE(FILE_DEVICE_NETWORK_FILE_SYSTEM, 250, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define FSCTL_PIPE_ASSIGN_EVENT CTL_CODE(FILE_DEVICE_NAMED_PIPE, 0, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define FSCTL_PIPE_DISCONNECT CTL_CODE(FILE_DEVICE_NAMED_PIPE, 1, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define FSCTL_PIPE_LISTEN CTL_CODE(FILE_DEVICE_NAMED_PIPE, 2, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define FSCTL_PIPE_PEEK CTL_CODE(FILE_DEVICE_NAMED_PIPE, 3, METHOD_BUFFERED, FILE_READ_DATA)
-#define FSCTL_PIPE_QUERY_EVENT CTL_CODE(FILE_DEVICE_NAMED_PIPE, 4, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define FSCTL_PIPE_TRANSCEIVE CTL_CODE(FILE_DEVICE_NAMED_PIPE, 5, METHOD_NEITHER, FILE_READ_DATA | FILE_WRITE_DATA)
-#define FSCTL_PIPE_WAIT CTL_CODE(FILE_DEVICE_NAMED_PIPE, 6, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define FSCTL_PIPE_IMPERSONATE CTL_CODE(FILE_DEVICE_NAMED_PIPE, 7, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define FSCTL_PIPE_SET_CLIENT_PROCESS CTL_CODE(FILE_DEVICE_NAMED_PIPE, 8, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define FSCTL_PIPE_QUERY_CLIENT_PROCESS CTL_CODE(FILE_DEVICE_NAMED_PIPE, 9, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define FSCTL_PIPE_INTERNAL_READ CTL_CODE(FILE_DEVICE_NAMED_PIPE, 2045, METHOD_BUFFERED, FILE_READ_DATA)
-#define FSCTL_PIPE_INTERNAL_WRITE CTL_CODE(FILE_DEVICE_NAMED_PIPE, 2046, METHOD_BUFFERED, FILE_WRITE_DATA)
-#define FSCTL_PIPE_INTERNAL_TRANSCEIVE CTL_CODE(FILE_DEVICE_NAMED_PIPE, 2047, METHOD_NEITHER, FILE_READ_DATA | FILE_WRITE_DATA)
-#define FSCTL_PIPE_INTERNAL_READ_OVFLOW CTL_CODE(FILE_DEVICE_NAMED_PIPE, 2048, METHOD_BUFFERED, FILE_READ_DATA)
-
-#define IOCTL_REDIR_QUERY_PATH CTL_CODE(FILE_DEVICE_NETWORK_FILE_SYSTEM, 99, METHOD_NEITHER, FILE_ANY_ACCESS)
-
-typedef PVOID PEJOB;
-typedef PVOID OPLOCK, *POPLOCK;
-typedef PVOID PWOW64_PROCESS;
-
-typedef struct _CACHE_MANAGER_CALLBACKS *PCACHE_MANAGER_CALLBACKS;
-typedef struct _EPROCESS_QUOTA_BLOCK *PEPROCESS_QUOTA_BLOCK;
-typedef struct _FILE_GET_QUOTA_INFORMATION *PFILE_GET_QUOTA_INFORMATION;
-typedef struct _HANDLE_TABLE *PHANDLE_TABLE;
-typedef struct _KEVENT_PAIR *PKEVENT_PAIR;
-typedef struct _KPROCESS *PKPROCESS;
-typedef struct _KQUEUE *PKQUEUE;
-typedef struct _KTRAP_FRAME *PKTRAP_FRAME;
-typedef struct _MAILSLOT_CREATE_PARAMETERS *PMAILSLOT_CREATE_PARAMETERS;
-typedef struct _MMWSL *PMMWSL;
-typedef struct _NAMED_PIPE_CREATE_PARAMETERS *PNAMED_PIPE_CREATE_PARAMETERS;
-typedef struct _OBJECT_DIRECTORY *POBJECT_DIRECTORY;
-typedef struct _PAGEFAULT_HISTORY *PPAGEFAULT_HISTORY;
-typedef struct _PS_IMPERSONATION_INFORMATION *PPS_IMPERSONATION_INFORMATION;
-typedef struct _SECTION_OBJECT *PSECTION_OBJECT;
-typedef struct _SHARED_CACHE_MAP *PSHARED_CACHE_MAP;
-typedef struct _TERMINATION_PORT *PTERMINATION_PORT;
-typedef struct _VACB *PVACB;
-typedef struct _VAD_HEADER *PVAD_HEADER;
-
-typedef struct _NOTIFY_SYNC
-{
- ULONG Unknown0;
- ULONG Unknown1;
- ULONG Unknown2;
- USHORT Unknown3;
- USHORT Unknown4;
- ULONG Unknown5;
- ULONG Unknown6;
- ULONG Unknown7;
- ULONG Unknown8;
- ULONG Unknown9;
- ULONG Unknown10;
-} NOTIFY_SYNC, * PNOTIFY_SYNC;
-
-typedef enum _FAST_IO_POSSIBLE {
- FastIoIsNotPossible,
- FastIoIsPossible,
- FastIoIsQuestionable
-} FAST_IO_POSSIBLE;
-
-typedef enum _FILE_STORAGE_TYPE {
- StorageTypeDefault = 1,
- StorageTypeDirectory,
- StorageTypeFile,
- StorageTypeJunctionPoint,
- StorageTypeCatalog,
- StorageTypeStructuredStorage,
- StorageTypeEmbedding,
- StorageTypeStream
-} FILE_STORAGE_TYPE;
-
-typedef enum _IO_COMPLETION_INFORMATION_CLASS {
- IoCompletionBasicInformation
-} IO_COMPLETION_INFORMATION_CLASS;
-
-typedef enum _OBJECT_INFO_CLASS {
- ObjectBasicInfo,
- ObjectNameInfo,
- ObjectTypeInfo,
- ObjectAllTypesInfo,
- ObjectProtectionInfo
-} OBJECT_INFO_CLASS;
-
-typedef struct _HARDWARE_PTE_X86 {
- ULONG Valid : 1;
- ULONG Write : 1;
- ULONG Owner : 1;
- ULONG WriteThrough : 1;
- ULONG CacheDisable : 1;
- ULONG Accessed : 1;
- ULONG Dirty : 1;
- ULONG LargePage : 1;
- ULONG Global : 1;
- ULONG CopyOnWrite : 1;
- ULONG Prototype : 1;
- ULONG reserved : 1;
- ULONG PageFrameNumber : 20;
-} HARDWARE_PTE_X86, *PHARDWARE_PTE_X86;
-
-typedef struct _KAPC_STATE {
- LIST_ENTRY ApcListHead[2];
- PKPROCESS Process;
- BOOLEAN KernelApcInProgress;
- BOOLEAN KernelApcPending;
- BOOLEAN UserApcPending;
-} KAPC_STATE, *PKAPC_STATE;
-
-typedef struct _KGDTENTRY {
- USHORT LimitLow;
- USHORT BaseLow;
- union {
- struct {
- UCHAR BaseMid;
- UCHAR Flags1;
- UCHAR Flags2;
- UCHAR BaseHi;
- } Bytes;
- struct {
- ULONG BaseMid : 8;
- ULONG Type : 5;
- ULONG Dpl : 2;
- ULONG Pres : 1;
- ULONG LimitHi : 4;
- ULONG Sys : 1;
- ULONG Reserved_0 : 1;
- ULONG Default_Big : 1;
- ULONG Granularity : 1;
- ULONG BaseHi : 8;
- } Bits;
- } HighWord;
-} KGDTENTRY, *PKGDTENTRY;
-
-typedef struct _KIDTENTRY {
- USHORT Offset;
- USHORT Selector;
- USHORT Access;
- USHORT ExtendedOffset;
-} KIDTENTRY, *PKIDTENTRY;
-
-#if (VER_PRODUCTBUILD >= 2600)
-
-typedef struct _MMSUPPORT_FLAGS {
- ULONG SessionSpace : 1;
- ULONG BeingTrimmed : 1;
- ULONG SessionLeader : 1;
- ULONG TrimHard : 1;
- ULONG WorkingSetHard : 1;
- ULONG AddressSpaceBeingDeleted : 1;
- ULONG Available : 10;
- ULONG AllowWorkingSetAdjustment : 8;
- ULONG MemoryPriority : 8;
-} MMSUPPORT_FLAGS, *PMMSUPPORT_FLAGS;
-
-#else
-
-typedef struct _MMSUPPORT_FLAGS {
- ULONG SessionSpace : 1;
- ULONG BeingTrimmed : 1;
- ULONG ProcessInSession : 1;
- ULONG SessionLeader : 1;
- ULONG TrimHard : 1;
- ULONG WorkingSetHard : 1;
- ULONG WriteWatch : 1;
- ULONG Filler : 25;
-} MMSUPPORT_FLAGS, *PMMSUPPORT_FLAGS;
-
-#endif
-
-#if (VER_PRODUCTBUILD >= 2600)
-
-typedef struct _MMSUPPORT {
- LARGE_INTEGER LastTrimTime;
- MMSUPPORT_FLAGS Flags;
- ULONG PageFaultCount;
- ULONG PeakWorkingSetSize;
- ULONG WorkingSetSize;
- ULONG MinimumWorkingSetSize;
- ULONG MaximumWorkingSetSize;
- PMMWSL VmWorkingSetList;
- LIST_ENTRY WorkingSetExpansionLinks;
- ULONG Claim;
- ULONG NextEstimationSlot;
- ULONG NextAgingSlot;
- ULONG EstimatedAvailable;
- ULONG GrowthSinceLastEstimate;
-} MMSUPPORT, *PMMSUPPORT;
-
-#else
-
-typedef struct _MMSUPPORT {
- LARGE_INTEGER LastTrimTime;
- ULONG LastTrimFaultCount;
- ULONG PageFaultCount;
- ULONG PeakWorkingSetSize;
- ULONG WorkingSetSize;
- ULONG MinimumWorkingSetSize;
- ULONG MaximumWorkingSetSize;
- PMMWSL VmWorkingSetList;
- LIST_ENTRY WorkingSetExpansionLinks;
- BOOLEAN AllowWorkingSetAdjustment;
- BOOLEAN AddressSpaceBeingDeleted;
- UCHAR ForegroundSwitchCount;
- UCHAR MemoryPriority;
-#if (VER_PRODUCTBUILD >= 2195)
- union {
- ULONG LongFlags;
- MMSUPPORT_FLAGS Flags;
- } u;
- ULONG Claim;
- ULONG NextEstimationSlot;
- ULONG NextAgingSlot;
- ULONG EstimatedAvailable;
- ULONG GrowthSinceLastEstimate;
-#endif /* (VER_PRODUCTBUILD >= 2195) */
-} MMSUPPORT, *PMMSUPPORT;
-
-#endif
-
-typedef struct _SE_AUDIT_PROCESS_CREATION_INFO {
- POBJECT_NAME_INFORMATION ImageFileName;
-} SE_AUDIT_PROCESS_CREATION_INFO, *PSE_AUDIT_PROCESS_CREATION_INFO;
-
-typedef struct _BITMAP_RANGE {
- LIST_ENTRY Links;
- LARGE_INTEGER BasePage;
- ULONG FirstDirtyPage;
- ULONG LastDirtyPage;
- ULONG DirtyPages;
- PULONG Bitmap;
-} BITMAP_RANGE, *PBITMAP_RANGE;
-
-typedef struct _CACHE_UNINITIALIZE_EVENT {
- struct _CACHE_UNINITIALIZE_EVENT *Next;
- KEVENT Event;
-} CACHE_UNINITIALIZE_EVENT, *PCACHE_UNINITIALIZE_EVENT;
-
-typedef struct _CC_FILE_SIZES {
- LARGE_INTEGER AllocationSize;
- LARGE_INTEGER FileSize;
- LARGE_INTEGER ValidDataLength;
-} CC_FILE_SIZES, *PCC_FILE_SIZES;
-
-typedef struct _COMPRESSED_DATA_INFO {
- USHORT CompressionFormatAndEngine;
- UCHAR CompressionUnitShift;
- UCHAR ChunkShift;
- UCHAR ClusterShift;
- UCHAR Reserved;
- USHORT NumberOfChunks;
- ULONG CompressedChunkSizes[ANYSIZE_ARRAY];
-} COMPRESSED_DATA_INFO, *PCOMPRESSED_DATA_INFO;
-
-typedef struct _DEVICE_MAP {
- POBJECT_DIRECTORY DosDevicesDirectory;
- POBJECT_DIRECTORY GlobalDosDevicesDirectory;
- ULONG ReferenceCount;
- ULONG DriveMap;
- UCHAR DriveType[32];
-} DEVICE_MAP, *PDEVICE_MAP;
-
-#if (VER_PRODUCTBUILD >= 2600)
-
-typedef struct _EX_FAST_REF {
- _ANONYMOUS_UNION union {
- PVOID Object;
- ULONG RefCnt : 3;
- ULONG Value;
- } DUMMYUNIONNAME;
-} EX_FAST_REF, *PEX_FAST_REF;
-
-typedef struct _EX_PUSH_LOCK {
- _ANONYMOUS_UNION union {
- _ANONYMOUS_STRUCT struct {
- ULONG Waiting : 1;
- ULONG Exclusive : 1;
- ULONG Shared : 30;
- } DUMMYSTRUCTNAME;
- ULONG Value;
- PVOID Ptr;
- } DUMMYUNIONNAME;
-} EX_PUSH_LOCK, *PEX_PUSH_LOCK;
-
-typedef struct _EX_RUNDOWN_REF {
- _ANONYMOUS_UNION union {
- ULONG Count;
- PVOID Ptr;
- } DUMMYUNIONNAME;
-} EX_RUNDOWN_REF, *PEX_RUNDOWN_REF;
-
-#endif
-
-typedef struct _EPROCESS_QUOTA_ENTRY {
- ULONG Usage;
- ULONG Limit;
- ULONG Peak;
- ULONG Return;
-} EPROCESS_QUOTA_ENTRY, *PEPROCESS_QUOTA_ENTRY;
-
-typedef struct _EPROCESS_QUOTA_BLOCK {
- EPROCESS_QUOTA_ENTRY QuotaEntry[3];
- LIST_ENTRY QuotaList;
- ULONG ReferenceCount;
- ULONG ProcessCount;
-} EPROCESS_QUOTA_BLOCK, *PEPROCESS_QUOTA_BLOCK;
-
-/*
- * When needing these parameters cast your PIO_STACK_LOCATION to
- * PEXTENDED_IO_STACK_LOCATION
- */
-#if !defined(_ALPHA_)
-#include <pshpack4.h>
-#endif
-typedef struct _EXTENDED_IO_STACK_LOCATION {
-
- /* Included for padding */
- UCHAR MajorFunction;
- UCHAR MinorFunction;
- UCHAR Flags;
- UCHAR Control;
-
- union {
-
- struct {
- PIO_SECURITY_CONTEXT SecurityContext;
- ULONG Options;
- USHORT Reserved;
- USHORT ShareAccess;
- PMAILSLOT_CREATE_PARAMETERS Parameters;
- } CreateMailslot;
-
- struct {
- PIO_SECURITY_CONTEXT SecurityContext;
- ULONG Options;
- USHORT Reserved;
- USHORT ShareAccess;
- PNAMED_PIPE_CREATE_PARAMETERS Parameters;
- } CreatePipe;
-
- struct {
- ULONG OutputBufferLength;
- ULONG InputBufferLength;
- ULONG FsControlCode;
- PVOID Type3InputBuffer;
- } FileSystemControl;
-
- struct {
- PLARGE_INTEGER Length;
- ULONG Key;
- LARGE_INTEGER ByteOffset;
- } LockControl;
-
- struct {
- ULONG Length;
- ULONG CompletionFilter;
- } NotifyDirectory;
-
- struct {
- ULONG Length;
- PUNICODE_STRING FileName;
- FILE_INFORMATION_CLASS FileInformationClass;
- ULONG FileIndex;
- } QueryDirectory;
-
- struct {
- ULONG Length;
- PVOID EaList;
- ULONG EaListLength;
- ULONG EaIndex;
- } QueryEa;
-
- struct {
- ULONG Length;
- PSID StartSid;
- PFILE_GET_QUOTA_INFORMATION SidList;
- ULONG SidListLength;
- } QueryQuota;
-
- struct {
- ULONG Length;
- } SetEa;
-
- struct {
- ULONG Length;
- } SetQuota;
-
- struct {
- ULONG Length;
- FS_INFORMATION_CLASS FsInformationClass;
- } SetVolume;
-
- } Parameters;
- PDEVICE_OBJECT DeviceObject;
- PFILE_OBJECT FileObject;
- PIO_COMPLETION_ROUTINE CompletionRoutine;
- PVOID Context;
-
-} EXTENDED_IO_STACK_LOCATION, *PEXTENDED_IO_STACK_LOCATION;
-#if !defined(_ALPHA_)
-#include <poppack.h>
-#endif
-
-typedef struct _FILE_ACCESS_INFORMATION {
- ACCESS_MASK AccessFlags;
-} FILE_ACCESS_INFORMATION, *PFILE_ACCESS_INFORMATION;
-
-typedef struct _FILE_ALLOCATION_INFORMATION {
- LARGE_INTEGER AllocationSize;
-} FILE_ALLOCATION_INFORMATION, *PFILE_ALLOCATION_INFORMATION;
-
-typedef struct _FILE_BOTH_DIR_INFORMATION {
- ULONG NextEntryOffset;
- ULONG FileIndex;
- LARGE_INTEGER CreationTime;
- LARGE_INTEGER LastAccessTime;
- LARGE_INTEGER LastWriteTime;
- LARGE_INTEGER ChangeTime;
- LARGE_INTEGER EndOfFile;
- LARGE_INTEGER AllocationSize;
- ULONG FileAttributes;
- ULONG FileNameLength;
- ULONG EaSize;
- CCHAR ShortNameLength;
- WCHAR ShortName[12];
- WCHAR FileName[1];
-} FILE_BOTH_DIR_INFORMATION, *PFILE_BOTH_DIR_INFORMATION;
-
-typedef struct _FILE_COMPLETION_INFORMATION {
- HANDLE Port;
- ULONG Key;
-} FILE_COMPLETION_INFORMATION, *PFILE_COMPLETION_INFORMATION;
-
-typedef struct _FILE_COMPRESSION_INFORMATION {
- LARGE_INTEGER CompressedFileSize;
- USHORT CompressionFormat;
- UCHAR CompressionUnitShift;
- UCHAR ChunkShift;
- UCHAR ClusterShift;
- UCHAR Reserved[3];
-} FILE_COMPRESSION_INFORMATION, *PFILE_COMPRESSION_INFORMATION;
-
-typedef struct _FILE_COPY_ON_WRITE_INFORMATION {
- BOOLEAN ReplaceIfExists;
- HANDLE RootDirectory;
- ULONG FileNameLength;
- WCHAR FileName[1];
-} FILE_COPY_ON_WRITE_INFORMATION, *PFILE_COPY_ON_WRITE_INFORMATION;
-
-typedef struct _FILE_DIRECTORY_INFORMATION {
- ULONG NextEntryOffset;
- ULONG FileIndex;
- LARGE_INTEGER CreationTime;
- LARGE_INTEGER LastAccessTime;
- LARGE_INTEGER LastWriteTime;
- LARGE_INTEGER ChangeTime;
- LARGE_INTEGER EndOfFile;
- LARGE_INTEGER AllocationSize;
- ULONG FileAttributes;
- ULONG FileNameLength;
- WCHAR FileName[1];
-} FILE_DIRECTORY_INFORMATION, *PFILE_DIRECTORY_INFORMATION;
-
-typedef struct _FILE_FULL_DIRECTORY_INFORMATION {
- ULONG NextEntryOffset;
- ULONG FileIndex;
- LARGE_INTEGER CreationTime;
- LARGE_INTEGER LastAccessTime;
- LARGE_INTEGER LastWriteTime;
- LARGE_INTEGER ChangeTime;
- LARGE_INTEGER EndOfFile;
- LARGE_INTEGER AllocationSize;
- ULONG FileAttributes;
- ULONG FileNameLength;
- ULONG EaSize;
- WCHAR FileName[0];
-} FILE_FULL_DIRECTORY_INFORMATION, *PFILE_FULL_DIRECTORY_INFORMATION;
-
-typedef struct _FILE_BOTH_DIRECTORY_INFORMATION {
- ULONG NextEntryOffset;
- ULONG FileIndex;
- LARGE_INTEGER CreationTime;
- LARGE_INTEGER LastAccessTime;
- LARGE_INTEGER LastWriteTime;
- LARGE_INTEGER ChangeTime;
- LARGE_INTEGER EndOfFile;
- LARGE_INTEGER AllocationSize;
- ULONG FileAttributes;
- ULONG FileNameLength;
- ULONG EaSize;
- CHAR ShortNameLength;
- WCHAR ShortName[12];
- WCHAR FileName[0];
-} FILE_BOTH_DIRECTORY_INFORMATION, *PFILE_BOTH_DIRECTORY_INFORMATION;
-
-#if (VER_PRODUCTBUILD >= 2600)
-
-typedef struct _FILE_ID_FULL_DIRECTORY_INFORMATION {
- ULONG NextEntryOffset;
- ULONG FileIndex;
- LARGE_INTEGER CreationTime;
- LARGE_INTEGER LastAccessTime;
- LARGE_INTEGER LastWriteTime;
- LARGE_INTEGER ChangeTime;
- LARGE_INTEGER EndOfFile;
- LARGE_INTEGER AllocationSize;
- ULONG FileAttributes;
- ULONG FileNameLength;
- ULONG EaSize;
- LARGE_INTEGER FileId;
- WCHAR FileName[0];
-} FILE_ID_FULL_DIRECTORY_INFORMATION, *PFILE_ID_FULL_DIRECTORY_INFORMATION;
-
-typedef struct _FILE_ID_BOTH_DIRECTORY_INFORMATION {
- ULONG NextEntryOffset;
- ULONG FileIndex;
- LARGE_INTEGER CreationTime;
- LARGE_INTEGER LastAccessTime;
- LARGE_INTEGER LastWriteTime;
- LARGE_INTEGER ChangeTime;
- LARGE_INTEGER EndOfFile;
- LARGE_INTEGER AllocationSize;
- ULONG FileAttributes;
- ULONG FileNameLength;
- ULONG EaSize;
- CHAR ShortNameLength;
- WCHAR ShortName[12];
- LARGE_INTEGER FileId;
- WCHAR FileName[0];
-} FILE_ID_BOTH_DIRECTORY_INFORMATION, *PFILE_ID_BOTH_DIRECTORY_INFORMATION;
-
-#endif
-
-typedef struct _FILE_EA_INFORMATION {
- ULONG EaSize;
-} FILE_EA_INFORMATION, *PFILE_EA_INFORMATION;
-
-typedef struct _FILE_FS_ATTRIBUTE_INFORMATION {
- ULONG FileSystemAttributes;
- ULONG MaximumComponentNameLength;
- ULONG FileSystemNameLength;
- WCHAR FileSystemName[1];
-} FILE_FS_ATTRIBUTE_INFORMATION, *PFILE_FS_ATTRIBUTE_INFORMATION;
-
-typedef struct _FILE_FS_CONTROL_INFORMATION {
- LARGE_INTEGER FreeSpaceStartFiltering;
- LARGE_INTEGER FreeSpaceThreshold;
- LARGE_INTEGER FreeSpaceStopFiltering;
- LARGE_INTEGER DefaultQuotaThreshold;
- LARGE_INTEGER DefaultQuotaLimit;
- ULONG FileSystemControlFlags;
-} FILE_FS_CONTROL_INFORMATION, *PFILE_FS_CONTROL_INFORMATION;
-
-typedef struct _FILE_FS_FULL_SIZE_INFORMATION {
- LARGE_INTEGER TotalAllocationUnits;
- LARGE_INTEGER CallerAvailableAllocationUnits;
- LARGE_INTEGER ActualAvailableAllocationUnits;
- ULONG SectorsPerAllocationUnit;
- ULONG BytesPerSector;
-} FILE_FS_FULL_SIZE_INFORMATION, *PFILE_FS_FULL_SIZE_INFORMATION;
-
-typedef struct _FILE_FS_LABEL_INFORMATION {
- ULONG VolumeLabelLength;
- WCHAR VolumeLabel[1];
-} FILE_FS_LABEL_INFORMATION, *PFILE_FS_LABEL_INFORMATION;
-
-#if (VER_PRODUCTBUILD >= 2195)
-
-typedef struct _FILE_FS_OBJECT_ID_INFORMATION {
- UCHAR ObjectId[16];
- UCHAR ExtendedInfo[48];
-} FILE_FS_OBJECT_ID_INFORMATION, *PFILE_FS_OBJECT_ID_INFORMATION;
-
-#endif /* (VER_PRODUCTBUILD >= 2195) */
-
-typedef struct _FILE_FS_SIZE_INFORMATION {
- LARGE_INTEGER TotalAllocationUnits;
- LARGE_INTEGER AvailableAllocationUnits;
- ULONG SectorsPerAllocationUnit;
- ULONG BytesPerSector;
-} FILE_FS_SIZE_INFORMATION, *PFILE_FS_SIZE_INFORMATION;
-
-typedef struct _FILE_FS_VOLUME_INFORMATION {
- LARGE_INTEGER VolumeCreationTime;
- ULONG VolumeSerialNumber;
- ULONG VolumeLabelLength;
- BOOLEAN SupportsObjects;
- WCHAR VolumeLabel[1];
-} FILE_FS_VOLUME_INFORMATION, *PFILE_FS_VOLUME_INFORMATION;
-
-typedef struct _FILE_FULL_DIR_INFORMATION {
- ULONG NextEntryOffset;
- ULONG FileIndex;
- LARGE_INTEGER CreationTime;
- LARGE_INTEGER LastAccessTime;
- LARGE_INTEGER LastWriteTime;
- LARGE_INTEGER ChangeTime;
- LARGE_INTEGER EndOfFile;
- LARGE_INTEGER AllocationSize;
- ULONG FileAttributes;
- ULONG FileNameLength;
- ULONG EaSize;
- WCHAR FileName[1];
-} FILE_FULL_DIR_INFORMATION, *PFILE_FULL_DIR_INFORMATION;
-
-typedef struct _FILE_GET_EA_INFORMATION {
- ULONG NextEntryOffset;
- UCHAR EaNameLength;
- CHAR EaName[1];
-} FILE_GET_EA_INFORMATION, *PFILE_GET_EA_INFORMATION;
-
-typedef struct _FILE_GET_QUOTA_INFORMATION {
- ULONG NextEntryOffset;
- ULONG SidLength;
- SID Sid;
-} FILE_GET_QUOTA_INFORMATION, *PFILE_GET_QUOTA_INFORMATION;
-
-typedef struct _FILE_INTERNAL_INFORMATION {
- LARGE_INTEGER IndexNumber;
-} FILE_INTERNAL_INFORMATION, *PFILE_INTERNAL_INFORMATION;
-
-typedef struct _FILE_LINK_INFORMATION {
- BOOLEAN ReplaceIfExists;
- HANDLE RootDirectory;
- ULONG FileNameLength;
- WCHAR FileName[1];
-} FILE_LINK_INFORMATION, *PFILE_LINK_INFORMATION;
-
-typedef struct _FILE_LOCK_INFO {
- LARGE_INTEGER StartingByte;
- LARGE_INTEGER Length;
- BOOLEAN ExclusiveLock;
- ULONG Key;
- PFILE_OBJECT FileObject;
- PEPROCESS Process;
- LARGE_INTEGER EndingByte;
-} FILE_LOCK_INFO, *PFILE_LOCK_INFO;
-
-/* raw internal file lock struct returned from FsRtlGetNextFileLock */
-typedef struct _FILE_SHARED_LOCK_ENTRY {
- PVOID Unknown1;
- PVOID Unknown2;
- FILE_LOCK_INFO FileLock;
-} FILE_SHARED_LOCK_ENTRY, *PFILE_SHARED_LOCK_ENTRY;
-
-/* raw internal file lock struct returned from FsRtlGetNextFileLock */
-typedef struct _FILE_EXCLUSIVE_LOCK_ENTRY {
- LIST_ENTRY ListEntry;
- PVOID Unknown1;
- PVOID Unknown2;
- FILE_LOCK_INFO FileLock;
-} FILE_EXCLUSIVE_LOCK_ENTRY, *PFILE_EXCLUSIVE_LOCK_ENTRY;
-
-typedef NTSTATUS (*PCOMPLETE_LOCK_IRP_ROUTINE) (
- IN PVOID Context,
- IN PIRP Irp
-);
-
-typedef VOID (NTAPI *PUNLOCK_ROUTINE) (
- IN PVOID Context,
- IN PFILE_LOCK_INFO FileLockInfo
-);
-
-typedef struct _FILE_LOCK {
- PCOMPLETE_LOCK_IRP_ROUTINE CompleteLockIrpRoutine;
- PUNLOCK_ROUTINE UnlockRoutine;
- BOOLEAN FastIoIsQuestionable;
- BOOLEAN Pad[3];
- PVOID LockInformation;
- FILE_LOCK_INFO LastReturnedLockInfo;
- PVOID LastReturnedLock;
-} FILE_LOCK, *PFILE_LOCK;
-
-typedef struct _FILE_MAILSLOT_PEEK_BUFFER {
- ULONG ReadDataAvailable;
- ULONG NumberOfMessages;
- ULONG MessageLength;
-} FILE_MAILSLOT_PEEK_BUFFER, *PFILE_MAILSLOT_PEEK_BUFFER;
-
-typedef struct _FILE_MAILSLOT_QUERY_INFORMATION {
- ULONG MaximumMessageSize;
- ULONG MailslotQuota;
- ULONG NextMessageSize;
- ULONG MessagesAvailable;
- LARGE_INTEGER ReadTimeout;
-} FILE_MAILSLOT_QUERY_INFORMATION, *PFILE_MAILSLOT_QUERY_INFORMATION;
-
-typedef struct _FILE_MAILSLOT_SET_INFORMATION {
- LARGE_INTEGER ReadTimeout;
-} FILE_MAILSLOT_SET_INFORMATION, *PFILE_MAILSLOT_SET_INFORMATION;
-
-typedef struct _FILE_MODE_INFORMATION {
- ULONG Mode;
-} FILE_MODE_INFORMATION, *PFILE_MODE_INFORMATION;
-
-typedef struct _FILE_ALL_INFORMATION {
- FILE_BASIC_INFORMATION BasicInformation;
- FILE_STANDARD_INFORMATION StandardInformation;
- FILE_INTERNAL_INFORMATION InternalInformation;
- FILE_EA_INFORMATION EaInformation;
- FILE_ACCESS_INFORMATION AccessInformation;
- FILE_POSITION_INFORMATION PositionInformation;
- FILE_MODE_INFORMATION ModeInformation;
- FILE_ALIGNMENT_INFORMATION AlignmentInformation;
- FILE_NAME_INFORMATION NameInformation;
-} FILE_ALL_INFORMATION, *PFILE_ALL_INFORMATION;
-
-typedef struct _FILE_NAMES_INFORMATION {
- ULONG NextEntryOffset;
- ULONG FileIndex;
- ULONG FileNameLength;
- WCHAR FileName[1];
-} FILE_NAMES_INFORMATION, *PFILE_NAMES_INFORMATION;
-
-typedef struct _FILE_OBJECTID_INFORMATION {
- LONGLONG FileReference;
- UCHAR ObjectId[16];
- _ANONYMOUS_UNION union {
- struct {
- UCHAR BirthVolumeId[16];
- UCHAR BirthObjectId[16];
- UCHAR DomainId[16];
- } ;
- UCHAR ExtendedInfo[48];
- } DUMMYUNIONNAME;
-} FILE_OBJECTID_INFORMATION, *PFILE_OBJECTID_INFORMATION;
-
-typedef struct _FILE_OLE_CLASSID_INFORMATION {
- GUID ClassId;
-} FILE_OLE_CLASSID_INFORMATION, *PFILE_OLE_CLASSID_INFORMATION;
-
-typedef struct _FILE_OLE_ALL_INFORMATION {
- FILE_BASIC_INFORMATION BasicInformation;
- FILE_STANDARD_INFORMATION StandardInformation;
- FILE_INTERNAL_INFORMATION InternalInformation;
- FILE_EA_INFORMATION EaInformation;
- FILE_ACCESS_INFORMATION AccessInformation;
- FILE_POSITION_INFORMATION PositionInformation;
- FILE_MODE_INFORMATION ModeInformation;
- FILE_ALIGNMENT_INFORMATION AlignmentInformation;
- USN LastChangeUsn;
- USN ReplicationUsn;
- LARGE_INTEGER SecurityChangeTime;
- FILE_OLE_CLASSID_INFORMATION OleClassIdInformation;
- FILE_OBJECTID_INFORMATION ObjectIdInformation;
- FILE_STORAGE_TYPE StorageType;
- ULONG OleStateBits;
- ULONG OleId;
- ULONG NumberOfStreamReferences;
- ULONG StreamIndex;
- ULONG SecurityId;
- BOOLEAN ContentIndexDisable;
- BOOLEAN InheritContentIndexDisable;
- FILE_NAME_INFORMATION NameInformation;
-} FILE_OLE_ALL_INFORMATION, *PFILE_OLE_ALL_INFORMATION;
-
-typedef struct _FILE_OLE_DIR_INFORMATION {
- ULONG NextEntryOffset;
- ULONG FileIndex;
- LARGE_INTEGER CreationTime;
- LARGE_INTEGER LastAccessTime;
- LARGE_INTEGER LastWriteTime;
- LARGE_INTEGER ChangeTime;
- LARGE_INTEGER EndOfFile;
- LARGE_INTEGER AllocationSize;
- ULONG FileAttributes;
- ULONG FileNameLength;
- FILE_STORAGE_TYPE StorageType;
- GUID OleClassId;
- ULONG OleStateBits;
- BOOLEAN ContentIndexDisable;
- BOOLEAN InheritContentIndexDisable;
- WCHAR FileName[1];
-} FILE_OLE_DIR_INFORMATION, *PFILE_OLE_DIR_INFORMATION;
-
-typedef struct _FILE_OLE_INFORMATION {
- LARGE_INTEGER SecurityChangeTime;
- FILE_OLE_CLASSID_INFORMATION OleClassIdInformation;
- FILE_OBJECTID_INFORMATION ObjectIdInformation;
- FILE_STORAGE_TYPE StorageType;
- ULONG OleStateBits;
- BOOLEAN ContentIndexDisable;
- BOOLEAN InheritContentIndexDisable;
-} FILE_OLE_INFORMATION, *PFILE_OLE_INFORMATION;
-
-typedef struct _FILE_OLE_STATE_BITS_INFORMATION {
- ULONG StateBits;
- ULONG StateBitsMask;
-} FILE_OLE_STATE_BITS_INFORMATION, *PFILE_OLE_STATE_BITS_INFORMATION;
-
-typedef struct _FILE_PIPE_ASSIGN_EVENT_BUFFER {
- HANDLE EventHandle;
- ULONG KeyValue;
-} FILE_PIPE_ASSIGN_EVENT_BUFFER, *PFILE_PIPE_ASSIGN_EVENT_BUFFER;
-
-typedef struct _FILE_PIPE_CLIENT_PROCESS_BUFFER {
- PVOID ClientSession;
- PVOID ClientProcess;
-} FILE_PIPE_CLIENT_PROCESS_BUFFER, *PFILE_PIPE_CLIENT_PROCESS_BUFFER;
-
-typedef struct _FILE_PIPE_EVENT_BUFFER {
- ULONG NamedPipeState;
- ULONG EntryType;
- ULONG ByteCount;
- ULONG KeyValue;
- ULONG NumberRequests;
-} FILE_PIPE_EVENT_BUFFER, *PFILE_PIPE_EVENT_BUFFER;
-
-typedef struct _FILE_PIPE_INFORMATION {
- ULONG ReadMode;
- ULONG CompletionMode;
-} FILE_PIPE_INFORMATION, *PFILE_PIPE_INFORMATION;
-
-typedef struct _FILE_PIPE_LOCAL_INFORMATION {
- ULONG NamedPipeType;
- ULONG NamedPipeConfiguration;
- ULONG MaximumInstances;
- ULONG CurrentInstances;
- ULONG InboundQuota;
- ULONG ReadDataAvailable;
- ULONG OutboundQuota;
- ULONG WriteQuotaAvailable;
- ULONG NamedPipeState;
- ULONG NamedPipeEnd;
-} FILE_PIPE_LOCAL_INFORMATION, *PFILE_PIPE_LOCAL_INFORMATION;
-
-typedef struct _FILE_PIPE_REMOTE_INFORMATION {
- LARGE_INTEGER CollectDataTime;
- ULONG MaximumCollectionCount;
-} FILE_PIPE_REMOTE_INFORMATION, *PFILE_PIPE_REMOTE_INFORMATION;
-
-typedef struct _FILE_PIPE_WAIT_FOR_BUFFER {
- LARGE_INTEGER Timeout;
- ULONG NameLength;
- BOOLEAN TimeoutSpecified;
- WCHAR Name[1];
-} FILE_PIPE_WAIT_FOR_BUFFER, *PFILE_PIPE_WAIT_FOR_BUFFER;
-
-typedef struct _FILE_QUOTA_INFORMATION {
- ULONG NextEntryOffset;
- ULONG SidLength;
- LARGE_INTEGER ChangeTime;
- LARGE_INTEGER QuotaUsed;
- LARGE_INTEGER QuotaThreshold;
- LARGE_INTEGER QuotaLimit;
- SID Sid;
-} FILE_QUOTA_INFORMATION, *PFILE_QUOTA_INFORMATION;
-
-typedef struct _FILE_RENAME_INFORMATION {
- BOOLEAN ReplaceIfExists;
- HANDLE RootDirectory;
- ULONG FileNameLength;
- WCHAR FileName[1];
-} FILE_RENAME_INFORMATION, *PFILE_RENAME_INFORMATION;
-
-typedef struct _FILE_STREAM_INFORMATION {
- ULONG NextEntryOffset;
- ULONG StreamNameLength;
- LARGE_INTEGER StreamSize;
- LARGE_INTEGER StreamAllocationSize;
- WCHAR StreamName[1];
-} FILE_STREAM_INFORMATION, *PFILE_STREAM_INFORMATION;
-
-typedef struct _FILE_TRACKING_INFORMATION {
- HANDLE DestinationFile;
- ULONG ObjectInformationLength;
- CHAR ObjectInformation[1];
-} FILE_TRACKING_INFORMATION, *PFILE_TRACKING_INFORMATION;
-
-typedef struct _FSRTL_COMMON_FCB_HEADER {
- CSHORT NodeTypeCode;
- CSHORT NodeByteSize;
- UCHAR Flags;
- UCHAR IsFastIoPossible;
-#if (VER_PRODUCTBUILD >= 1381)
- UCHAR Flags2;
- UCHAR Reserved;
-#endif /* (VER_PRODUCTBUILD >= 1381) */
- PERESOURCE Resource;
- PERESOURCE PagingIoResource;
- LARGE_INTEGER AllocationSize;
- LARGE_INTEGER FileSize;
- LARGE_INTEGER ValidDataLength;
-} FSRTL_COMMON_FCB_HEADER, *PFSRTL_COMMON_FCB_HEADER;
-
-typedef struct _GENERATE_NAME_CONTEXT {
- USHORT Checksum;
- BOOLEAN CheckSumInserted;
- UCHAR NameLength;
- WCHAR NameBuffer[8];
- ULONG ExtensionLength;
- WCHAR ExtensionBuffer[4];
- ULONG LastIndexValue;
-} GENERATE_NAME_CONTEXT, *PGENERATE_NAME_CONTEXT;
-
-typedef struct _HANDLE_TABLE_ENTRY {
- PVOID Object;
- ULONG ObjectAttributes;
- ULONG GrantedAccess;
- USHORT GrantedAccessIndex;
- USHORT CreatorBackTraceIndex;
- ULONG NextFreeTableEntry;
-} HANDLE_TABLE_ENTRY, *PHANDLE_TABLE_ENTRY;
-
-typedef struct _MAPPING_PAIR {
- ULONGLONG Vcn;
- ULONGLONG Lcn;
-} MAPPING_PAIR, *PMAPPING_PAIR;
-
-typedef struct _GET_RETRIEVAL_DESCRIPTOR {
- ULONG NumberOfPairs;
- ULONGLONG StartVcn;
- MAPPING_PAIR Pair[1];
-} GET_RETRIEVAL_DESCRIPTOR, *PGET_RETRIEVAL_DESCRIPTOR;
-
-typedef struct _IO_CLIENT_EXTENSION {
- struct _IO_CLIENT_EXTENSION *NextExtension;
- PVOID ClientIdentificationAddress;
-} IO_CLIENT_EXTENSION, *PIO_CLIENT_EXTENSION;
-
-typedef struct _IO_COMPLETION_BASIC_INFORMATION {
- LONG Depth;
-} IO_COMPLETION_BASIC_INFORMATION, *PIO_COMPLETION_BASIC_INFORMATION;
-
-typedef struct _KEVENT_PAIR {
- USHORT Type;
- USHORT Size;
- KEVENT Event1;
- KEVENT Event2;
-} KEVENT_PAIR, *PKEVENT_PAIR;
-
-typedef struct _KQUEUE {
- DISPATCHER_HEADER Header;
- LIST_ENTRY EntryListHead;
- ULONG CurrentCount;
- ULONG MaximumCount;
- LIST_ENTRY ThreadListHead;
-} KQUEUE, *PKQUEUE, *RESTRICTED_POINTER PRKQUEUE;
-
-typedef struct _MAILSLOT_CREATE_PARAMETERS {
- ULONG MailslotQuota;
- ULONG MaximumMessageSize;
- LARGE_INTEGER ReadTimeout;
- BOOLEAN TimeoutSpecified;
-} MAILSLOT_CREATE_PARAMETERS, *PMAILSLOT_CREATE_PARAMETERS;
-
-typedef struct _MBCB {
- CSHORT NodeTypeCode;
- CSHORT NodeIsInZone;
- ULONG PagesToWrite;
- ULONG DirtyPages;
- ULONG Reserved;
- LIST_ENTRY BitmapRanges;
- LONGLONG ResumeWritePage;
- BITMAP_RANGE BitmapRange1;
- BITMAP_RANGE BitmapRange2;
- BITMAP_RANGE BitmapRange3;
-} MBCB, *PMBCB;
-
-typedef struct _MOVEFILE_DESCRIPTOR {
- HANDLE FileHandle;
- ULONG Reserved;
- LARGE_INTEGER StartVcn;
- LARGE_INTEGER TargetLcn;
- ULONG NumVcns;
- ULONG Reserved1;
-} MOVEFILE_DESCRIPTOR, *PMOVEFILE_DESCRIPTOR;
-
-typedef struct _NAMED_PIPE_CREATE_PARAMETERS {
- ULONG NamedPipeType;
- ULONG ReadMode;
- ULONG CompletionMode;
- ULONG MaximumInstances;
- ULONG InboundQuota;
- ULONG OutboundQuota;
- LARGE_INTEGER DefaultTimeout;
- BOOLEAN TimeoutSpecified;
-} NAMED_PIPE_CREATE_PARAMETERS, *PNAMED_PIPE_CREATE_PARAMETERS;
-
-typedef struct _OBJECT_BASIC_INFO {
- ULONG Attributes;
- ACCESS_MASK GrantedAccess;
- ULONG HandleCount;
- ULONG ReferenceCount;
- ULONG PagedPoolUsage;
- ULONG NonPagedPoolUsage;
- ULONG Reserved[3];
- ULONG NameInformationLength;
- ULONG TypeInformationLength;
- ULONG SecurityDescriptorLength;
- LARGE_INTEGER CreateTime;
-} OBJECT_BASIC_INFO, *POBJECT_BASIC_INFO;
-
-typedef struct _OBJECT_HANDLE_ATTRIBUTE_INFO {
- BOOLEAN Inherit;
- BOOLEAN ProtectFromClose;
-} OBJECT_HANDLE_ATTRIBUTE_INFO, *POBJECT_HANDLE_ATTRIBUTE_INFO;
-
-typedef struct _OBJECT_NAME_INFO {
- UNICODE_STRING ObjectName;
- WCHAR ObjectNameBuffer[1];
-} OBJECT_NAME_INFO, *POBJECT_NAME_INFO;
-
-typedef struct _OBJECT_PROTECTION_INFO {
- BOOLEAN Inherit;
- BOOLEAN ProtectHandle;
-} OBJECT_PROTECTION_INFO, *POBJECT_PROTECTION_INFO;
-
-typedef struct _OBJECT_TYPE_INFO {
- UNICODE_STRING ObjectTypeName;
- UCHAR Unknown[0x58];
- WCHAR ObjectTypeNameBuffer[1];
-} OBJECT_TYPE_INFO, *POBJECT_TYPE_INFO;
-
-typedef struct _OBJECT_ALL_TYPES_INFO {
- ULONG NumberOfObjectTypes;
- OBJECT_TYPE_INFO ObjectsTypeInfo[1];
-} OBJECT_ALL_TYPES_INFO, *POBJECT_ALL_TYPES_INFO;
-
-typedef struct _PAGEFAULT_HISTORY {
- ULONG CurrentIndex;
- ULONG MaxIndex;
- KSPIN_LOCK SpinLock;
- PVOID Reserved;
- PROCESS_WS_WATCH_INFORMATION WatchInfo[1];
-} PAGEFAULT_HISTORY, *PPAGEFAULT_HISTORY;
-
-typedef struct _PATHNAME_BUFFER {
- ULONG PathNameLength;
- WCHAR Name[1];
-} PATHNAME_BUFFER, *PPATHNAME_BUFFER;
-
-#if (VER_PRODUCTBUILD >= 2600)
-
-typedef struct _PRIVATE_CACHE_MAP_FLAGS {
- ULONG DontUse : 16;
- ULONG ReadAheadActive : 1;
- ULONG ReadAheadEnabled : 1;
- ULONG Available : 14;
-} PRIVATE_CACHE_MAP_FLAGS, *PPRIVATE_CACHE_MAP_FLAGS;
-
-typedef struct _PRIVATE_CACHE_MAP {
- _ANONYMOUS_UNION union {
- CSHORT NodeTypeCode;
- PRIVATE_CACHE_MAP_FLAGS Flags;
- ULONG UlongFlags;
- } DUMMYUNIONNAME;
- ULONG ReadAheadMask;
- PFILE_OBJECT FileObject;
- LARGE_INTEGER FileOffset1;
- LARGE_INTEGER BeyondLastByte1;
- LARGE_INTEGER FileOffset2;
- LARGE_INTEGER BeyondLastByte2;
- LARGE_INTEGER ReadAheadOffset[2];
- ULONG ReadAheadLength[2];
- KSPIN_LOCK ReadAheadSpinLock;
- LIST_ENTRY PrivateLinks;
-} PRIVATE_CACHE_MAP, *PPRIVATE_CACHE_MAP;
-
-#endif
-
-typedef struct _PS_IMPERSONATION_INFORMATION {
- PACCESS_TOKEN Token;
- BOOLEAN CopyOnOpen;
- BOOLEAN EffectiveOnly;
- SECURITY_IMPERSONATION_LEVEL ImpersonationLevel;
-} PS_IMPERSONATION_INFORMATION, *PPS_IMPERSONATION_INFORMATION;
-
-typedef struct _PUBLIC_BCB {
- CSHORT NodeTypeCode;
- CSHORT NodeByteSize;
- ULONG MappedLength;
- LARGE_INTEGER MappedFileOffset;
-} PUBLIC_BCB, *PPUBLIC_BCB;
-
-typedef struct _QUERY_PATH_REQUEST {
- ULONG PathNameLength;
- PIO_SECURITY_CONTEXT SecurityContext;
- WCHAR FilePathName[1];
-} QUERY_PATH_REQUEST, *PQUERY_PATH_REQUEST;
-
-typedef struct _QUERY_PATH_RESPONSE {
- ULONG LengthAccepted;
-} QUERY_PATH_RESPONSE, *PQUERY_PATH_RESPONSE;
-
-typedef struct _RETRIEVAL_POINTERS_BUFFER {
- ULONG ExtentCount;
- LARGE_INTEGER StartingVcn;
- struct {
- LARGE_INTEGER NextVcn;
- LARGE_INTEGER Lcn;
- } Extents[1];
-} RETRIEVAL_POINTERS_BUFFER, *PRETRIEVAL_POINTERS_BUFFER;
-
-typedef struct _RTL_SPLAY_LINKS {
- struct _RTL_SPLAY_LINKS *Parent;
- struct _RTL_SPLAY_LINKS *LeftChild;
- struct _RTL_SPLAY_LINKS *RightChild;
-} RTL_SPLAY_LINKS, *PRTL_SPLAY_LINKS;
-
-typedef struct _SE_EXPORTS {
-
- LUID SeCreateTokenPrivilege;
- LUID SeAssignPrimaryTokenPrivilege;
- LUID SeLockMemoryPrivilege;
- LUID SeIncreaseQuotaPrivilege;
- LUID SeUnsolicitedInputPrivilege;
- LUID SeTcbPrivilege;
- LUID SeSecurityPrivilege;
- LUID SeTakeOwnershipPrivilege;
- LUID SeLoadDriverPrivilege;
- LUID SeCreatePagefilePrivilege;
- LUID SeIncreaseBasePriorityPrivilege;
- LUID SeSystemProfilePrivilege;
- LUID SeSystemtimePrivilege;
- LUID SeProfileSingleProcessPrivilege;
- LUID SeCreatePermanentPrivilege;
- LUID SeBackupPrivilege;
- LUID SeRestorePrivilege;
- LUID SeShutdownPrivilege;
- LUID SeDebugPrivilege;
- LUID SeAuditPrivilege;
- LUID SeSystemEnvironmentPrivilege;
- LUID SeChangeNotifyPrivilege;
- LUID SeRemoteShutdownPrivilege;
-
- PSID SeNullSid;
- PSID SeWorldSid;
- PSID SeLocalSid;
- PSID SeCreatorOwnerSid;
- PSID SeCreatorGroupSid;
-
- PSID SeNtAuthoritySid;
- PSID SeDialupSid;
- PSID SeNetworkSid;
- PSID SeBatchSid;
- PSID SeInteractiveSid;
- PSID SeLocalSystemSid;
- PSID SeAliasAdminsSid;
- PSID SeAliasUsersSid;
- PSID SeAliasGuestsSid;
- PSID SeAliasPowerUsersSid;
- PSID SeAliasAccountOpsSid;
- PSID SeAliasSystemOpsSid;
- PSID SeAliasPrintOpsSid;
- PSID SeAliasBackupOpsSid;
-
- PSID SeAuthenticatedUsersSid;
-
- PSID SeRestrictedSid;
- PSID SeAnonymousLogonSid;
-
- LUID SeUndockPrivilege;
- LUID SeSyncAgentPrivilege;
- LUID SeEnableDelegationPrivilege;
-
-} SE_EXPORTS, *PSE_EXPORTS;
-
-typedef struct _SECTION_BASIC_INFORMATION {
- PVOID BaseAddress;
- ULONG Attributes;
- LARGE_INTEGER Size;
-} SECTION_BASIC_INFORMATION, *PSECTION_BASIC_INFORMATION;
-
-typedef struct _SECTION_IMAGE_INFORMATION {
- PVOID EntryPoint;
- ULONG Unknown1;
- ULONG StackReserve;
- ULONG StackCommit;
- ULONG Subsystem;
- USHORT MinorSubsystemVersion;
- USHORT MajorSubsystemVersion;
- ULONG Unknown2;
- ULONG Characteristics;
- USHORT ImageNumber;
- BOOLEAN Executable;
- UCHAR Unknown3;
- ULONG Unknown4[3];
-} SECTION_IMAGE_INFORMATION, *PSECTION_IMAGE_INFORMATION;
-
-#if (VER_PRODUCTBUILD >= 2600)
-
-typedef struct _SHARED_CACHE_MAP {
- CSHORT NodeTypeCode;
- CSHORT NodeByteSize;
- ULONG OpenCount;
- LARGE_INTEGER FileSize;
- LIST_ENTRY BcbList;
- LARGE_INTEGER SectionSize;
- LARGE_INTEGER ValidDataLength;
- LARGE_INTEGER ValidDataGoal;
- PVACB InitialVacbs[4];
- PVACB *Vacbs;
- PFILE_OBJECT FileObject;
- PVACB ActiveVacb;
- PVOID NeedToZero;
- ULONG ActivePage;
- ULONG NeedToZeroPage;
- KSPIN_LOCK ActiveVacbSpinLock;
- ULONG VacbActiveCount;
- ULONG DirtyPages;
- LIST_ENTRY SharedCacheMapLinks;
- ULONG Flags;
- NTSTATUS Status;
- PMBCB Mbcb;
- PVOID Section;
- PKEVENT CreateEvent;
- PKEVENT WaitOnActiveCount;
- ULONG PagesToWrite;
- LONGLONG BeyondLastFlush;
- PCACHE_MANAGER_CALLBACKS Callbacks;
- PVOID LazyWriteContext;
- LIST_ENTRY PrivateList;
- PVOID LogHandle;
- PVOID FlushToLsnRoutine;
- ULONG DirtyPageThreshold;
- ULONG LazyWritePassCount;
- PCACHE_UNINITIALIZE_EVENT UninitializeEvent;
- PVACB NeedToZeroVacb;
- KSPIN_LOCK BcbSpinLock;
- PVOID Reserved;
- KEVENT Event;
- EX_PUSH_LOCK VacbPushLock;
- PRIVATE_CACHE_MAP PrivateCacheMap;
-} SHARED_CACHE_MAP, *PSHARED_CACHE_MAP;
-
-#endif
-
-typedef struct _STARTING_VCN_INPUT_BUFFER {
- LARGE_INTEGER StartingVcn;
-} STARTING_VCN_INPUT_BUFFER, *PSTARTING_VCN_INPUT_BUFFER;
-
-typedef struct _SYSTEM_CACHE_INFORMATION {
- ULONG CurrentSize;
- ULONG PeakSize;
- ULONG PageFaultCount;
- ULONG MinimumWorkingSet;
- ULONG MaximumWorkingSet;
- ULONG Unused[4];
-} SYSTEM_CACHE_INFORMATION, *PSYSTEM_CACHE_INFORMATION;
-
-typedef struct _TERMINATION_PORT {
- struct _TERMINATION_PORT* Next;
- PVOID Port;
-} TERMINATION_PORT, *PTERMINATION_PORT;
-
-typedef struct _SECURITY_CLIENT_CONTEXT {
- SECURITY_QUALITY_OF_SERVICE SecurityQos;
- PACCESS_TOKEN ClientToken;
- BOOLEAN DirectlyAccessClientToken;
- BOOLEAN DirectAccessEffectiveOnly;
- BOOLEAN ServerIsRemote;
- TOKEN_CONTROL ClientTokenControl;
-} SECURITY_CLIENT_CONTEXT, *PSECURITY_CLIENT_CONTEXT;
-
-typedef struct _TUNNEL {
- FAST_MUTEX Mutex;
- PRTL_SPLAY_LINKS Cache;
- LIST_ENTRY TimerQueue;
- USHORT NumEntries;
-} TUNNEL, *PTUNNEL;
-
-typedef struct _VACB {
- PVOID BaseAddress;
- PSHARED_CACHE_MAP SharedCacheMap;
- union {
- LARGE_INTEGER FileOffset;
- USHORT ActiveCount;
- } Overlay;
- LIST_ENTRY LruList;
-} VACB, *PVACB;
-
-typedef struct _VAD_HEADER {
- PVOID StartVPN;
- PVOID EndVPN;
- PVAD_HEADER ParentLink;
- PVAD_HEADER LeftLink;
- PVAD_HEADER RightLink;
- ULONG Flags; /* LSB = CommitCharge */
- PVOID ControlArea;
- PVOID FirstProtoPte;
- PVOID LastPTE;
- ULONG Unknown;
- LIST_ENTRY Secured;
-} VAD_HEADER, *PVAD_HEADER;
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-CcCanIWrite (
- IN PFILE_OBJECT FileObject,
- IN ULONG BytesToWrite,
- IN BOOLEAN Wait,
- IN BOOLEAN Retrying
-);
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-CcCopyRead (
- IN PFILE_OBJECT FileObject,
- IN PLARGE_INTEGER FileOffset,
- IN ULONG Length,
- IN BOOLEAN Wait,
- OUT PVOID Buffer,
- OUT PIO_STATUS_BLOCK IoStatus
-);
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-CcCopyWrite (
- IN PFILE_OBJECT FileObject,
- IN PLARGE_INTEGER FileOffset,
- IN ULONG Length,
- IN BOOLEAN Wait,
- IN PVOID Buffer
-);
-
-#define CcCopyWriteWontFlush(FO, FOFF, LEN) ((LEN) <= 0x10000)
-
-typedef VOID (NTAPI *PCC_POST_DEFERRED_WRITE) (
- IN PVOID Context1,
- IN PVOID Context2
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-CcDeferWrite (
- IN PFILE_OBJECT FileObject,
- IN PCC_POST_DEFERRED_WRITE PostRoutine,
- IN PVOID Context1,
- IN PVOID Context2,
- IN ULONG BytesToWrite,
- IN BOOLEAN Retrying
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-CcFastCopyRead (
- IN PFILE_OBJECT FileObject,
- IN ULONG FileOffset,
- IN ULONG Length,
- IN ULONG PageCount,
- OUT PVOID Buffer,
- OUT PIO_STATUS_BLOCK IoStatus
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-CcFastCopyWrite (
- IN PFILE_OBJECT FileObject,
- IN ULONG FileOffset,
- IN ULONG Length,
- IN PVOID Buffer
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-CcFlushCache (
- IN PSECTION_OBJECT_POINTERS SectionObjectPointer,
- IN PLARGE_INTEGER FileOffset OPTIONAL,
- IN ULONG Length,
- OUT PIO_STATUS_BLOCK IoStatus OPTIONAL
-);
-
-typedef VOID (*PDIRTY_PAGE_ROUTINE) (
- IN PFILE_OBJECT FileObject,
- IN PLARGE_INTEGER FileOffset,
- IN ULONG Length,
- IN PLARGE_INTEGER OldestLsn,
- IN PLARGE_INTEGER NewestLsn,
- IN PVOID Context1,
- IN PVOID Context2
-);
-
-NTKERNELAPI
-LARGE_INTEGER
-NTAPI
-CcGetDirtyPages (
- IN PVOID LogHandle,
- IN PDIRTY_PAGE_ROUTINE DirtyPageRoutine,
- IN PVOID Context1,
- IN PVOID Context2
-);
-
-NTKERNELAPI
-PFILE_OBJECT
-NTAPI
-CcGetFileObjectFromBcb (
- IN PVOID Bcb
-);
-
-NTKERNELAPI
-PFILE_OBJECT
-NTAPI
-CcGetFileObjectFromSectionPtrs (
- IN PSECTION_OBJECT_POINTERS SectionObjectPointer
-);
-
-#define CcGetFileSizePointer(FO) ( \
- ((PLARGE_INTEGER)((FO)->SectionObjectPointer->SharedCacheMap) + 1) \
-)
-
-#if (VER_PRODUCTBUILD >= 2195)
-
-NTKERNELAPI
-LARGE_INTEGER
-NTAPI
-CcGetFlushedValidData (
- IN PSECTION_OBJECT_POINTERS SectionObjectPointer,
- IN BOOLEAN BcbListHeld
-);
-
-#endif /* (VER_PRODUCTBUILD >= 2195) */
-
-NTKERNELAPI
-LARGE_INTEGER
-CcGetLsnForFileObject (
- IN PFILE_OBJECT FileObject,
- OUT PLARGE_INTEGER OldestLsn OPTIONAL
-);
-
-typedef BOOLEAN (NTAPI *PACQUIRE_FOR_LAZY_WRITE) (
- IN PVOID Context,
- IN BOOLEAN Wait
-);
-
-typedef VOID (NTAPI *PRELEASE_FROM_LAZY_WRITE) (
- IN PVOID Context
-);
-
-typedef BOOLEAN (NTAPI *PACQUIRE_FOR_READ_AHEAD) (
- IN PVOID Context,
- IN BOOLEAN Wait
-);
-
-typedef VOID (NTAPI *PRELEASE_FROM_READ_AHEAD) (
- IN PVOID Context
-);
-
-typedef struct _CACHE_MANAGER_CALLBACKS {
- PACQUIRE_FOR_LAZY_WRITE AcquireForLazyWrite;
- PRELEASE_FROM_LAZY_WRITE ReleaseFromLazyWrite;
- PACQUIRE_FOR_READ_AHEAD AcquireForReadAhead;
- PRELEASE_FROM_READ_AHEAD ReleaseFromReadAhead;
-} CACHE_MANAGER_CALLBACKS, *PCACHE_MANAGER_CALLBACKS;
-
-NTKERNELAPI
-VOID
-NTAPI
-CcInitializeCacheMap (
- IN PFILE_OBJECT FileObject,
- IN PCC_FILE_SIZES FileSizes,
- IN BOOLEAN PinAccess,
- IN PCACHE_MANAGER_CALLBACKS Callbacks,
- IN PVOID LazyWriteContext
-);
-
-#define CcIsFileCached(FO) ( \
- ((FO)->SectionObjectPointer != NULL) && \
- (((PSECTION_OBJECT_POINTERS)(FO)->SectionObjectPointer)->SharedCacheMap != NULL) \
-)
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-CcIsThereDirtyData (
- IN PVPB Vpb
-);
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-CcMapData (
- IN PFILE_OBJECT FileObject,
- IN PLARGE_INTEGER FileOffset,
- IN ULONG Length,
- IN BOOLEAN Wait,
- OUT PVOID *Bcb,
- OUT PVOID *Buffer
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-CcMdlRead (
- IN PFILE_OBJECT FileObject,
- IN PLARGE_INTEGER FileOffset,
- IN ULONG Length,
- OUT PMDL *MdlChain,
- OUT PIO_STATUS_BLOCK IoStatus
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-CcMdlReadComplete (
- IN PFILE_OBJECT FileObject,
- IN PMDL MdlChain
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-CcMdlWriteComplete (
- IN PFILE_OBJECT FileObject,
- IN PLARGE_INTEGER FileOffset,
- IN PMDL MdlChain
-);
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-CcPinMappedData (
- IN PFILE_OBJECT FileObject,
- IN PLARGE_INTEGER FileOffset,
- IN ULONG Length,
-#if (VER_PRODUCTBUILD >= 2195)
- IN ULONG Flags,
-#else
- IN BOOLEAN Wait,
-#endif
- IN OUT PVOID *Bcb
-);
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-CcPinRead (
- IN PFILE_OBJECT FileObject,
- IN PLARGE_INTEGER FileOffset,
- IN ULONG Length,
-#if (VER_PRODUCTBUILD >= 2195)
- IN ULONG Flags,
-#else
- IN BOOLEAN Wait,
-#endif
- OUT PVOID *Bcb,
- OUT PVOID *Buffer
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-CcPrepareMdlWrite (
- IN PFILE_OBJECT FileObject,
- IN PLARGE_INTEGER FileOffset,
- IN ULONG Length,
- OUT PMDL *MdlChain,
- OUT PIO_STATUS_BLOCK IoStatus
-);
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-CcPreparePinWrite (
- IN PFILE_OBJECT FileObject,
- IN PLARGE_INTEGER FileOffset,
- IN ULONG Length,
- IN BOOLEAN Zero,
-#if (VER_PRODUCTBUILD >= 2195)
- IN ULONG Flags,
-#else
- IN BOOLEAN Wait,
-#endif
- OUT PVOID *Bcb,
- OUT PVOID *Buffer
-);
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-CcPurgeCacheSection (
- IN PSECTION_OBJECT_POINTERS SectionObjectPointer,
- IN PLARGE_INTEGER FileOffset OPTIONAL,
- IN ULONG Length,
- IN BOOLEAN UninitializeCacheMaps
-);
-
-#define CcReadAhead(FO, FOFF, LEN) ( \
- if ((LEN) >= 256) { \
- CcScheduleReadAhead((FO), (FOFF), (LEN)); \
- } \
-)
-
-#if (VER_PRODUCTBUILD >= 2195)
-
-NTKERNELAPI
-PVOID
-NTAPI
-CcRemapBcb (
- IN PVOID Bcb
-);
-
-#endif /* (VER_PRODUCTBUILD >= 2195) */
-
-NTKERNELAPI
-VOID
-NTAPI
-CcRepinBcb (
- IN PVOID Bcb
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-CcScheduleReadAhead (
- IN PFILE_OBJECT FileObject,
- IN PLARGE_INTEGER FileOffset,
- IN ULONG Length
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-CcSetAdditionalCacheAttributes (
- IN PFILE_OBJECT FileObject,
- IN BOOLEAN DisableReadAhead,
- IN BOOLEAN DisableWriteBehind
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-CcSetBcbOwnerPointer (
- IN PVOID Bcb,
- IN PVOID OwnerPointer
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-CcSetDirtyPageThreshold (
- IN PFILE_OBJECT FileObject,
- IN ULONG DirtyPageThreshold
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-CcSetDirtyPinnedData (
- IN PVOID BcbVoid,
- IN PLARGE_INTEGER Lsn OPTIONAL
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-CcSetFileSizes (
- IN PFILE_OBJECT FileObject,
- IN PCC_FILE_SIZES FileSizes
-);
-
-typedef VOID (NTAPI *PFLUSH_TO_LSN) (
- IN PVOID LogHandle,
- IN PLARGE_INTEGER Lsn
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-CcSetLogHandleForFile (
- IN PFILE_OBJECT FileObject,
- IN PVOID LogHandle,
- IN PFLUSH_TO_LSN FlushToLsnRoutine
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-CcSetReadAheadGranularity (
- IN PFILE_OBJECT FileObject,
- IN ULONG Granularity /* default: PAGE_SIZE */
- /* allowed: 2^n * PAGE_SIZE */
-);
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-CcUninitializeCacheMap (
- IN PFILE_OBJECT FileObject,
- IN PLARGE_INTEGER TruncateSize OPTIONAL,
- IN PCACHE_UNINITIALIZE_EVENT UninitializeCompleteEvent OPTIONAL
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-CcUnpinData (
- IN PVOID Bcb
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-CcUnpinDataForThread (
- IN PVOID Bcb,
- IN ERESOURCE_THREAD ResourceThreadId
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-CcUnpinRepinnedBcb (
- IN PVOID Bcb,
- IN BOOLEAN WriteThrough,
- OUT PIO_STATUS_BLOCK IoStatus
-);
-
-#if (VER_PRODUCTBUILD >= 2195)
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-CcWaitForCurrentLazyWriterActivity (
- VOID
-);
-
-#endif /* (VER_PRODUCTBUILD >= 2195) */
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-CcZeroData (
- IN PFILE_OBJECT FileObject,
- IN PLARGE_INTEGER StartOffset,
- IN PLARGE_INTEGER EndOffset,
- IN BOOLEAN Wait
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-ExDisableResourceBoostLite (
- IN PERESOURCE Resource
-);
-
-NTKERNELAPI
-ULONG
-NTAPI
-ExQueryPoolBlockSize (
- IN PVOID PoolBlock,
- OUT PBOOLEAN QuotaCharged
-);
-
-#define FlagOn(x, f) ((x) & (f))
-
-NTKERNELAPI
-VOID
-NTAPI
-FsRtlAddToTunnelCache (
- IN PTUNNEL Cache,
- IN ULONGLONG DirectoryKey,
- IN PUNICODE_STRING ShortName,
- IN PUNICODE_STRING LongName,
- IN BOOLEAN KeyByShortName,
- IN ULONG DataLength,
- IN PVOID Data
-);
-
-#if (VER_PRODUCTBUILD >= 2195)
-
-PFILE_LOCK
-NTAPI
-FsRtlAllocateFileLock (
- IN PCOMPLETE_LOCK_IRP_ROUTINE CompleteLockIrpRoutine OPTIONAL,
- IN PUNLOCK_ROUTINE UnlockRoutine OPTIONAL
-);
-
-#endif /* (VER_PRODUCTBUILD >= 2195) */
-
-NTKERNELAPI
-PVOID
-NTAPI
-FsRtlAllocatePool (
- IN POOL_TYPE PoolType,
- IN ULONG NumberOfBytes
-);
-
-NTKERNELAPI
-PVOID
-NTAPI
-FsRtlAllocatePoolWithQuota (
- IN POOL_TYPE PoolType,
- IN ULONG NumberOfBytes
-);
-
-NTKERNELAPI
-PVOID
-NTAPI
-FsRtlAllocatePoolWithQuotaTag (
- IN POOL_TYPE PoolType,
- IN ULONG NumberOfBytes,
- IN ULONG Tag
-);
-
-NTKERNELAPI
-PVOID
-NTAPI
-FsRtlAllocatePoolWithTag (
- IN POOL_TYPE PoolType,
- IN ULONG NumberOfBytes,
- IN ULONG Tag
-);
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-FsRtlAreNamesEqual (
- IN PUNICODE_STRING Name1,
- IN PUNICODE_STRING Name2,
- IN BOOLEAN IgnoreCase,
- IN PWCHAR UpcaseTable OPTIONAL
-);
-
-#define FsRtlAreThereCurrentFileLocks(FL) ( \
- ((FL)->FastIoIsQuestionable) \
-)
-
-/*
- FsRtlCheckLockForReadAccess:
-
- All this really does is pick out the lock parameters from the irp (io stack
- location?), get IoGetRequestorProcess, and pass values on to
- FsRtlFastCheckLockForRead.
-*/
-NTKERNELAPI
-BOOLEAN
-NTAPI
-FsRtlCheckLockForReadAccess (
- IN PFILE_LOCK FileLock,
- IN PIRP Irp
-);
-
-/*
- FsRtlCheckLockForWriteAccess:
-
- All this really does is pick out the lock parameters from the irp (io stack
- location?), get IoGetRequestorProcess, and pass values on to
- FsRtlFastCheckLockForWrite.
-*/
-NTKERNELAPI
-BOOLEAN
-NTAPI
-FsRtlCheckLockForWriteAccess (
- IN PFILE_LOCK FileLock,
- IN PIRP Irp
-);
-
-typedef
-VOID NTAPI
-(*POPLOCK_WAIT_COMPLETE_ROUTINE) (
- IN PVOID Context,
- IN PIRP Irp
-);
-
-typedef
-VOID NTAPI
-(*POPLOCK_FS_PREPOST_IRP) (
- IN PVOID Context,
- IN PIRP Irp
-);
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-FsRtlCheckOplock (
- IN POPLOCK Oplock,
- IN PIRP Irp,
- IN PVOID Context,
- IN POPLOCK_WAIT_COMPLETE_ROUTINE CompletionRoutine OPTIONAL,
- IN POPLOCK_FS_PREPOST_IRP PostIrpRoutine OPTIONAL
-);
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-FsRtlCopyRead (
- IN PFILE_OBJECT FileObject,
- IN PLARGE_INTEGER FileOffset,
- IN ULONG Length,
- IN BOOLEAN Wait,
- IN ULONG LockKey,
- OUT PVOID Buffer,
- OUT PIO_STATUS_BLOCK IoStatus,
- IN PDEVICE_OBJECT DeviceObject
-);
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-FsRtlCopyWrite (
- IN PFILE_OBJECT FileObject,
- IN PLARGE_INTEGER FileOffset,
- IN ULONG Length,
- IN BOOLEAN Wait,
- IN ULONG LockKey,
- IN PVOID Buffer,
- OUT PIO_STATUS_BLOCK IoStatus,
- IN PDEVICE_OBJECT DeviceObject
-);
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-FsRtlCurrentBatchOplock (
- IN POPLOCK Oplock
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-FsRtlDeleteKeyFromTunnelCache (
- IN PTUNNEL Cache,
- IN ULONGLONG DirectoryKey
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-FsRtlDeleteTunnelCache (
- IN PTUNNEL Cache
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-FsRtlDeregisterUncProvider (
- IN HANDLE Handle
-);
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-FsRtlDoesNameContainWildCards (
- IN PUNICODE_STRING Name
-);
-
-#define FsRtlEnterFileSystem KeEnterCriticalRegion
-
-#define FsRtlExitFileSystem KeLeaveCriticalRegion
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-FsRtlFastCheckLockForRead (
- IN PFILE_LOCK FileLock,
- IN PLARGE_INTEGER FileOffset,
- IN PLARGE_INTEGER Length,
- IN ULONG Key,
- IN PFILE_OBJECT FileObject,
- IN PEPROCESS Process
-);
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-FsRtlFastCheckLockForWrite (
- IN PFILE_LOCK FileLock,
- IN PLARGE_INTEGER FileOffset,
- IN PLARGE_INTEGER Length,
- IN ULONG Key,
- IN PFILE_OBJECT FileObject,
- IN PEPROCESS Process
-);
-
-#define FsRtlFastLock(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11) ( \
- FsRtlPrivateLock(A1, A2, A3, A4, A5, A6, A7, A8, A9, NULL, A10, A11) \
-)
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-FsRtlFastUnlockAll (
- IN PFILE_LOCK FileLock,
- IN PFILE_OBJECT FileObject,
- IN PEPROCESS Process,
- IN PVOID Context OPTIONAL
-);
-/* ret: STATUS_RANGE_NOT_LOCKED */
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-FsRtlFastUnlockAllByKey (
- IN PFILE_LOCK FileLock,
- IN PFILE_OBJECT FileObject,
- IN PEPROCESS Process,
- IN ULONG Key,
- IN PVOID Context OPTIONAL
-);
-/* ret: STATUS_RANGE_NOT_LOCKED */
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-FsRtlFastUnlockSingle (
- IN PFILE_LOCK FileLock,
- IN PFILE_OBJECT FileObject,
- IN PLARGE_INTEGER FileOffset,
- IN PLARGE_INTEGER Length,
- IN PEPROCESS Process,
- IN ULONG Key,
- IN PVOID Context OPTIONAL,
- IN BOOLEAN AlreadySynchronized
-);
-/* ret: STATUS_RANGE_NOT_LOCKED */
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-FsRtlFindInTunnelCache (
- IN PTUNNEL Cache,
- IN ULONGLONG DirectoryKey,
- IN PUNICODE_STRING Name,
- OUT PUNICODE_STRING ShortName,
- OUT PUNICODE_STRING LongName,
- IN OUT PULONG DataLength,
- OUT PVOID Data
-);
-
-#if (VER_PRODUCTBUILD >= 2195)
-
-NTKERNELAPI
-VOID
-NTAPI
-FsRtlFreeFileLock (
- IN PFILE_LOCK FileLock
-);
-
-#endif /* (VER_PRODUCTBUILD >= 2195) */
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-FsRtlGetFileSize (
- IN PFILE_OBJECT FileObject,
- IN OUT PLARGE_INTEGER FileSize
-);
-
-/*
- FsRtlGetNextFileLock:
-
- ret: NULL if no more locks
-
- Internals:
- FsRtlGetNextFileLock uses FileLock->LastReturnedLockInfo and
- FileLock->LastReturnedLock as storage.
- LastReturnedLock is a pointer to the 'raw' lock inkl. double linked
- list, and FsRtlGetNextFileLock needs this to get next lock on subsequent
- calls with Restart = FALSE.
-*/
-NTKERNELAPI
-PFILE_LOCK_INFO
-NTAPI
-FsRtlGetNextFileLock (
- IN PFILE_LOCK FileLock,
- IN BOOLEAN Restart
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-FsRtlInitializeFileLock (
- IN PFILE_LOCK FileLock,
- IN PCOMPLETE_LOCK_IRP_ROUTINE CompleteLockIrpRoutine OPTIONAL,
- IN PUNLOCK_ROUTINE UnlockRoutine OPTIONAL
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-FsRtlInitializeOplock (
- IN OUT POPLOCK Oplock
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-FsRtlInitializeTunnelCache (
- IN PTUNNEL Cache
-);
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-FsRtlIsNameInExpression (
- IN PUNICODE_STRING Expression,
- IN PUNICODE_STRING Name,
- IN BOOLEAN IgnoreCase,
- IN PWCHAR UpcaseTable OPTIONAL
-);
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-FsRtlIsNtstatusExpected (
- IN NTSTATUS Ntstatus
-);
-
-#define FsRtlIsUnicodeCharacterWild(C) ( \
- (((C) >= 0x40) ? \
- FALSE : \
- FlagOn((*FsRtlLegalAnsiCharacterArray)[(C)], FSRTL_WILD_CHARACTER )) \
-)
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-FsRtlMdlReadComplete (
- IN PFILE_OBJECT FileObject,
- IN PMDL MdlChain
-);
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-FsRtlMdlReadCompleteDev (
- IN PFILE_OBJECT FileObject,
- IN PMDL MdlChain,
- IN PDEVICE_OBJECT DeviceObject
-);
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-FsRtlMdlWriteComplete (
- IN PFILE_OBJECT FileObject,
- IN PLARGE_INTEGER FileOffset,
- IN PMDL MdlChain
-);
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-FsRtlMdlWriteCompleteDev (
- IN PFILE_OBJECT FileObject,
- IN PLARGE_INTEGER FileOffset,
- IN PMDL MdlChain,
- IN PDEVICE_OBJECT DeviceObject
-);
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-FsRtlNormalizeNtstatus (
- IN NTSTATUS Exception,
- IN NTSTATUS GenericException
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-FsRtlNotifyChangeDirectory (
- IN PNOTIFY_SYNC NotifySync,
- IN PVOID FsContext,
- IN PSTRING FullDirectoryName,
- IN PLIST_ENTRY NotifyList,
- IN BOOLEAN WatchTree,
- IN ULONG CompletionFilter,
- IN PIRP NotifyIrp
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-FsRtlNotifyCleanup (
- IN PNOTIFY_SYNC NotifySync,
- IN PLIST_ENTRY NotifyList,
- IN PVOID FsContext
-);
-
-typedef BOOLEAN (*PCHECK_FOR_TRAVERSE_ACCESS) (
- IN PVOID NotifyContext,
- IN PVOID TargetContext,
- IN PSECURITY_SUBJECT_CONTEXT SubjectContext
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-FsRtlNotifyFullChangeDirectory (
- IN PNOTIFY_SYNC NotifySync,
- IN PLIST_ENTRY NotifyList,
- IN PVOID FsContext,
- IN PSTRING FullDirectoryName,
- IN BOOLEAN WatchTree,
- IN BOOLEAN IgnoreBuffer,
- IN ULONG CompletionFilter,
- IN PIRP NotifyIrp,
- IN PCHECK_FOR_TRAVERSE_ACCESS TraverseCallback OPTIONAL,
- IN PSECURITY_SUBJECT_CONTEXT SubjectContext OPTIONAL
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-FsRtlNotifyFullReportChange (
- IN PNOTIFY_SYNC NotifySync,
- IN PLIST_ENTRY NotifyList,
- IN PSTRING FullTargetName,
- IN USHORT TargetNameOffset,
- IN PSTRING StreamName OPTIONAL,
- IN PSTRING NormalizedParentName OPTIONAL,
- IN ULONG FilterMatch,
- IN ULONG Action,
- IN PVOID TargetContext
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-FsRtlNotifyInitializeSync (
- IN PNOTIFY_SYNC NotifySync
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-FsRtlNotifyReportChange (
- IN PNOTIFY_SYNC NotifySync,
- IN PLIST_ENTRY NotifyList,
- IN PSTRING FullTargetName,
- IN PUSHORT FileNamePartLength,
- IN ULONG FilterMatch
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-FsRtlNotifyUninitializeSync (
- IN PNOTIFY_SYNC NotifySync
-);
-
-#if (VER_PRODUCTBUILD >= 2195)
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-FsRtlNotifyVolumeEvent (
- IN PFILE_OBJECT FileObject,
- IN ULONG EventCode
-);
-
-#endif /* (VER_PRODUCTBUILD >= 2195) */
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-FsRtlOplockFsctrl (
- IN POPLOCK Oplock,
- IN PIRP Irp,
- IN ULONG OpenCount
-);
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-FsRtlOplockIsFastIoPossible (
- IN POPLOCK Oplock
-);
-
-/*
- FsRtlPrivateLock:
-
- ret: IoStatus->Status: STATUS_PENDING, STATUS_LOCK_NOT_GRANTED
-
- Internals:
- -Calls IoCompleteRequest if Irp
- -Uses exception handling / ExRaiseStatus with STATUS_INSUFFICIENT_RESOURCES
-*/
-NTKERNELAPI
-BOOLEAN
-NTAPI
-FsRtlPrivateLock (
- IN PFILE_LOCK FileLock,
- IN PFILE_OBJECT FileObject,
- IN PLARGE_INTEGER FileOffset,
- IN PLARGE_INTEGER Length,
- IN PEPROCESS Process,
- IN ULONG Key,
- IN BOOLEAN FailImmediately,
- IN BOOLEAN ExclusiveLock,
- OUT PIO_STATUS_BLOCK IoStatus,
- IN PIRP Irp OPTIONAL,
- IN PVOID Context,
- IN BOOLEAN AlreadySynchronized
-);
-
-/*
- FsRtlProcessFileLock:
-
- ret:
- -STATUS_INVALID_DEVICE_REQUEST
- -STATUS_RANGE_NOT_LOCKED from unlock routines.
- -STATUS_PENDING, STATUS_LOCK_NOT_GRANTED from FsRtlPrivateLock
- (redirected IoStatus->Status).
-
- Internals:
- -switch ( Irp->CurrentStackLocation->MinorFunction )
- lock: return FsRtlPrivateLock;
- unlocksingle: return FsRtlFastUnlockSingle;
- unlockall: return FsRtlFastUnlockAll;
- unlockallbykey: return FsRtlFastUnlockAllByKey;
- default: IofCompleteRequest with STATUS_INVALID_DEVICE_REQUEST;
- return STATUS_INVALID_DEVICE_REQUEST;
-
- -'AllwaysZero' is passed thru as 'AllwaysZero' to lock / unlock routines.
- -'Irp' is passet thru as 'Irp' to FsRtlPrivateLock.
-*/
-NTKERNELAPI
-NTSTATUS
-NTAPI
-FsRtlProcessFileLock (
- IN PFILE_LOCK FileLock,
- IN PIRP Irp,
- IN PVOID Context OPTIONAL
-);
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-FsRtlRegisterUncProvider (
- IN OUT PHANDLE MupHandle,
- IN PUNICODE_STRING RedirectorDeviceName,
- IN BOOLEAN MailslotsSupported
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-FsRtlUninitializeFileLock (
- IN PFILE_LOCK FileLock
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-FsRtlUninitializeOplock (
- IN OUT POPLOCK Oplock
-);
-
-NTSYSAPI
-VOID
-NTAPI
-HalDisplayString (
- IN PCHAR String
-);
-
-NTSYSAPI
-VOID
-NTAPI
-HalQueryRealTimeClock (
- IN OUT PTIME_FIELDS TimeFields
-);
-
-NTSYSAPI
-VOID
-NTAPI
-HalSetRealTimeClock (
- IN PTIME_FIELDS TimeFields
-);
-
-#define InitializeMessageHeader(m, l, t) { \
- (m)->Length = (USHORT)(l); \
- (m)->DataLength = (USHORT)(l - sizeof( LPC_MESSAGE )); \
- (m)->MessageType = (USHORT)(t); \
- (m)->DataInfoOffset = 0; \
-}
-
-NTKERNELAPI
-VOID
-NTAPI
-IoAcquireVpbSpinLock (
- OUT PKIRQL Irql
-);
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-IoCheckDesiredAccess (
- IN OUT PACCESS_MASK DesiredAccess,
- IN ACCESS_MASK GrantedAccess
-);
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-IoCheckEaBufferValidity (
- IN PFILE_FULL_EA_INFORMATION EaBuffer,
- IN ULONG EaLength,
- OUT PULONG ErrorOffset
-);
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-IoCheckFunctionAccess (
- IN ACCESS_MASK GrantedAccess,
- IN UCHAR MajorFunction,
- IN UCHAR MinorFunction,
- IN ULONG IoControlCode,
- IN PFILE_INFORMATION_CLASS FileInformationClass OPTIONAL,
- IN PFS_INFORMATION_CLASS FsInformationClass OPTIONAL
-);
-
-#if (VER_PRODUCTBUILD >= 2195)
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-IoCheckQuotaBufferValidity (
- IN PFILE_QUOTA_INFORMATION QuotaBuffer,
- IN ULONG QuotaLength,
- OUT PULONG ErrorOffset
-);
-
-#endif /* (VER_PRODUCTBUILD >= 2195) */
-
-NTKERNELAPI
-PFILE_OBJECT
-NTAPI
-IoCreateStreamFileObject (
- IN PFILE_OBJECT FileObject OPTIONAL,
- IN PDEVICE_OBJECT DeviceObject OPTIONAL
-);
-
-#if (VER_PRODUCTBUILD >= 2195)
-
-NTKERNELAPI
-PFILE_OBJECT
-NTAPI
-IoCreateStreamFileObjectLite (
- IN PFILE_OBJECT FileObject OPTIONAL,
- IN PDEVICE_OBJECT DeviceObject OPTIONAL
-);
-
-#endif /* (VER_PRODUCTBUILD >= 2195) */
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-IoFastQueryNetworkAttributes (
- IN POBJECT_ATTRIBUTES ObjectAttributes,
- IN ACCESS_MASK DesiredAccess,
- IN ULONG OpenOptions,
- OUT PIO_STATUS_BLOCK IoStatus,
- OUT PFILE_NETWORK_OPEN_INFORMATION Buffer
-);
-
-NTKERNELAPI
-PDEVICE_OBJECT
-NTAPI
-IoGetAttachedDevice (
- IN PDEVICE_OBJECT DeviceObject
-);
-
-NTKERNELAPI
-PDEVICE_OBJECT
-NTAPI
-IoGetBaseFileSystemDeviceObject (
- IN PFILE_OBJECT FileObject
-);
-
-NTKERNELAPI
-PEPROCESS
-NTAPI
-IoGetRequestorProcess (
- IN PIRP Irp
-);
-
-#if (VER_PRODUCTBUILD >= 2195)
-
-NTKERNELAPI
-ULONG
-NTAPI
-IoGetRequestorProcessId (
- IN PIRP Irp
-);
-
-#endif /* (VER_PRODUCTBUILD >= 2195) */
-
-NTKERNELAPI
-PIRP
-NTAPI
-IoGetTopLevelIrp (
- VOID
-);
-
-#define IoIsFileOpenedExclusively(FileObject) ( \
- (BOOLEAN) !( \
- (FileObject)->SharedRead || \
- (FileObject)->SharedWrite || \
- (FileObject)->SharedDelete \
- ) \
-)
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-IoIsOperationSynchronous (
- IN PIRP Irp
-);
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-IoIsSystemThread (
- IN PETHREAD Thread
-);
-
-#if (VER_PRODUCTBUILD >= 2195)
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-IoIsValidNameGraftingBuffer (
- IN PIRP Irp,
- IN PREPARSE_DATA_BUFFER ReparseBuffer
-);
-
-#endif /* (VER_PRODUCTBUILD >= 2195) */
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-IoPageRead (
- IN PFILE_OBJECT FileObject,
- IN PMDL Mdl,
- IN PLARGE_INTEGER Offset,
- IN PKEVENT Event,
- OUT PIO_STATUS_BLOCK IoStatusBlock
-);
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-IoQueryFileInformation (
- IN PFILE_OBJECT FileObject,
- IN FILE_INFORMATION_CLASS FileInformationClass,
- IN ULONG Length,
- OUT PVOID FileInformation,
- OUT PULONG ReturnedLength
-);
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-IoQueryVolumeInformation (
- IN PFILE_OBJECT FileObject,
- IN FS_INFORMATION_CLASS FsInformationClass,
- IN ULONG Length,
- OUT PVOID FsInformation,
- OUT PULONG ReturnedLength
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-IoRegisterFileSystem (
- IN OUT PDEVICE_OBJECT DeviceObject
-);
-
-#if (VER_PRODUCTBUILD >= 1381)
-
-typedef VOID (NTAPI *PDRIVER_FS_NOTIFICATION) (
- IN PDEVICE_OBJECT DeviceObject,
- IN BOOLEAN DriverActive
-);
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-IoRegisterFsRegistrationChange (
- IN PDRIVER_OBJECT DriverObject,
- IN PDRIVER_FS_NOTIFICATION DriverNotificationRoutine
-);
-
-#endif /* (VER_PRODUCTBUILD >= 1381) */
-
-NTKERNELAPI
-VOID
-NTAPI
-IoReleaseVpbSpinLock (
- IN KIRQL Irql
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-IoSetDeviceToVerify (
- IN PETHREAD Thread,
- IN PDEVICE_OBJECT DeviceObject
-);
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-IoSetInformation (
- IN PFILE_OBJECT FileObject,
- IN FILE_INFORMATION_CLASS FileInformationClass,
- IN ULONG Length,
- IN PVOID FileInformation
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-IoSetTopLevelIrp (
- IN PIRP Irp
-);
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-IoSynchronousPageWrite (
- IN PFILE_OBJECT FileObject,
- IN PMDL Mdl,
- IN PLARGE_INTEGER FileOffset,
- IN PKEVENT Event,
- OUT PIO_STATUS_BLOCK IoStatusBlock
-);
-
-NTKERNELAPI
-PEPROCESS
-NTAPI
-IoThreadToProcess (
- IN PETHREAD Thread
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-IoUnregisterFileSystem (
- IN OUT PDEVICE_OBJECT DeviceObject
-);
-
-#if (VER_PRODUCTBUILD >= 1381)
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-IoUnregisterFsRegistrationChange (
- IN PDRIVER_OBJECT DriverObject,
- IN PDRIVER_FS_NOTIFICATION DriverNotificationRoutine
-);
-
-#endif /* (VER_PRODUCTBUILD >= 1381) */
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-IoVerifyVolume (
- IN PDEVICE_OBJECT DeviceObject,
- IN BOOLEAN AllowRawMount
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-KeAttachProcess (
- IN PEPROCESS Process
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-KeDetachProcess (
- VOID
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-KeInitializeQueue (
- IN PRKQUEUE Queue,
- IN ULONG Count OPTIONAL
-);
-
-NTKERNELAPI
-LONG
-NTAPI
-KeInsertHeadQueue (
- IN PRKQUEUE Queue,
- IN PLIST_ENTRY Entry
-);
-
-NTKERNELAPI
-LONG
-NTAPI
-KeInsertQueue (
- IN PRKQUEUE Queue,
- IN PLIST_ENTRY Entry
-);
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-KeInsertQueueApc (
- IN PKAPC Apc,
- IN PVOID SystemArgument1,
- IN PVOID SystemArgument2,
- IN KPRIORITY PriorityBoost
-);
-
-NTKERNELAPI
-LONG
-NTAPI
-KeReadStateQueue (
- IN PRKQUEUE Queue
-);
-
-NTKERNELAPI
-PLIST_ENTRY
-NTAPI
-KeRemoveQueue (
- IN PRKQUEUE Queue,
- IN KPROCESSOR_MODE WaitMode,
- IN PLARGE_INTEGER Timeout OPTIONAL
-);
-
-NTKERNELAPI
-PLIST_ENTRY
-NTAPI
-KeRundownQueue (
- IN PRKQUEUE Queue
-);
-
-#if (VER_PRODUCTBUILD >= 2195)
-
-NTKERNELAPI
-VOID
-NTAPI
-KeStackAttachProcess (
- IN PKPROCESS Process,
- OUT PKAPC_STATE ApcState
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-KeUnstackDetachProcess (
- IN PKAPC_STATE ApcState
-);
-
-#endif /* (VER_PRODUCTBUILD >= 2195) */
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-MmCanFileBeTruncated (
- IN PSECTION_OBJECT_POINTERS SectionObjectPointer,
- IN PLARGE_INTEGER NewFileSize
-);
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-MmFlushImageSection (
- IN PSECTION_OBJECT_POINTERS SectionObjectPointer,
- IN MMFLUSH_TYPE FlushType
-);
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-MmForceSectionClosed (
- IN PSECTION_OBJECT_POINTERS SectionObjectPointer,
- IN BOOLEAN DelayClose
-);
-
-#if (VER_PRODUCTBUILD >= 1381)
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-MmIsRecursiveIoFault (
- VOID
-);
-
-#else
-
-#define MmIsRecursiveIoFault() ( \
- (PsGetCurrentThread()->DisablePageFaultClustering) | \
- (PsGetCurrentThread()->ForwardClusterOnly) \
-)
-
-#endif
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-MmMapViewOfSection (
- IN PVOID SectionObject,
- IN PEPROCESS Process,
- IN OUT PVOID *BaseAddress,
- IN ULONG ZeroBits,
- IN ULONG CommitSize,
- IN OUT PLARGE_INTEGER SectionOffset OPTIONAL,
- IN OUT PULONG ViewSize,
- IN SECTION_INHERIT InheritDisposition,
- IN ULONG AllocationType,
- IN ULONG Protect
-);
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-MmSetAddressRangeModified (
- IN PVOID Address,
- IN ULONG Length
-);
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-ObCreateObject (
- IN KPROCESSOR_MODE ObjectAttributesAccessMode OPTIONAL,
- IN POBJECT_TYPE ObjectType,
- IN POBJECT_ATTRIBUTES ObjectAttributes OPTIONAL,
- IN KPROCESSOR_MODE AccessMode,
- IN OUT PVOID ParseContext OPTIONAL,
- IN ULONG ObjectSize,
- IN ULONG PagedPoolCharge OPTIONAL,
- IN ULONG NonPagedPoolCharge OPTIONAL,
- OUT PVOID *Object
-);
-
-NTKERNELAPI
-ULONG
-NTAPI
-ObGetObjectPointerCount (
- IN PVOID Object
-);
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-ObInsertObject (
- IN PVOID Object,
- IN PACCESS_STATE PassedAccessState OPTIONAL,
- IN ACCESS_MASK DesiredAccess,
- IN ULONG AdditionalReferences,
- OUT PVOID *ReferencedObject OPTIONAL,
- OUT PHANDLE Handle
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-ObMakeTemporaryObject (
- IN PVOID Object
-);
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-ObOpenObjectByPointer (
- IN PVOID Object,
- IN ULONG HandleAttributes,
- IN PACCESS_STATE PassedAccessState OPTIONAL,
- IN ACCESS_MASK DesiredAccess OPTIONAL,
- IN POBJECT_TYPE ObjectType OPTIONAL,
- IN KPROCESSOR_MODE AccessMode,
- OUT PHANDLE Handle
-);
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-ObQueryNameString (
- IN PVOID Object,
- OUT POBJECT_NAME_INFORMATION ObjectNameInfo,
- IN ULONG Length,
- OUT PULONG ReturnLength
-);
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-ObQueryObjectAuditingByHandle (
- IN HANDLE Handle,
- OUT PBOOLEAN GenerateOnClose
-);
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-ObReferenceObjectByName (
- IN PUNICODE_STRING ObjectName,
- IN ULONG Attributes,
- IN PACCESS_STATE PassedAccessState OPTIONAL,
- IN ACCESS_MASK DesiredAccess OPTIONAL,
- IN POBJECT_TYPE ObjectType,
- IN KPROCESSOR_MODE AccessMode,
- IN OUT PVOID ParseContext OPTIONAL,
- OUT PVOID *Object
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-PsChargePoolQuota (
- IN PEPROCESS Process,
- IN POOL_TYPE PoolType,
- IN ULONG Amount
-);
-
-#define PsDereferenceImpersonationToken(T) \
- {if (ARGUMENT_PRESENT(T)) { \
- (ObDereferenceObject((T))); \
- } else { \
- ; \
- } \
-}
-
-#define PsDereferencePrimaryToken(T) (ObDereferenceObject((T)))
-
-NTKERNELAPI
-ULONGLONG
-NTAPI
-PsGetProcessExitTime (
- VOID
-);
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-PsIsThreadTerminating (
- IN PETHREAD Thread
-);
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-PsLookupProcessByProcessId (
- IN PVOID ProcessId,
- OUT PEPROCESS *Process
-);
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-PsLookupProcessThreadByCid (
- IN PCLIENT_ID Cid,
- OUT PEPROCESS *Process OPTIONAL,
- OUT PETHREAD *Thread
-);
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-PsLookupThreadByThreadId (
- IN PVOID UniqueThreadId,
- OUT PETHREAD *Thread
-);
-
-NTKERNELAPI
-PACCESS_TOKEN
-NTAPI
-PsReferenceImpersonationToken (
- IN PETHREAD Thread,
- OUT PBOOLEAN CopyOnUse,
- OUT PBOOLEAN EffectiveOnly,
- OUT PSECURITY_IMPERSONATION_LEVEL Level
-);
-
-NTKERNELAPI
-HANDLE
-NTAPI
-PsReferencePrimaryToken (
- IN PEPROCESS Process
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-PsReturnPoolQuota (
- IN PEPROCESS Process,
- IN POOL_TYPE PoolType,
- IN ULONG Amount
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-PsRevertToSelf (
- VOID
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-RtlAbsoluteToSelfRelativeSD (
- IN PSECURITY_DESCRIPTOR AbsoluteSecurityDescriptor,
- IN OUT PSECURITY_DESCRIPTOR SelfRelativeSecurityDescriptor,
- IN PULONG BufferLength
-);
-
-NTSYSAPI
-PVOID
-NTAPI
-RtlAllocateHeap (
- IN HANDLE HeapHandle,
- IN ULONG Flags,
- IN ULONG Size
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-RtlCompressBuffer (
- IN USHORT CompressionFormatAndEngine,
- IN PUCHAR UncompressedBuffer,
- IN ULONG UncompressedBufferSize,
- OUT PUCHAR CompressedBuffer,
- IN ULONG CompressedBufferSize,
- IN ULONG UncompressedChunkSize,
- OUT PULONG FinalCompressedSize,
- IN PVOID WorkSpace
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-RtlCompressChunks (
- IN PUCHAR UncompressedBuffer,
- IN ULONG UncompressedBufferSize,
- OUT PUCHAR CompressedBuffer,
- IN ULONG CompressedBufferSize,
- IN OUT PCOMPRESSED_DATA_INFO CompressedDataInfo,
- IN ULONG CompressedDataInfoLength,
- IN PVOID WorkSpace
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-RtlConvertSidToUnicodeString (
- OUT PUNICODE_STRING DestinationString,
- IN PSID Sid,
- IN BOOLEAN AllocateDestinationString
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-RtlCopySid (
- IN ULONG Length,
- IN PSID Destination,
- IN PSID Source
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-RtlDecompressBuffer (
- IN USHORT CompressionFormat,
- OUT PUCHAR UncompressedBuffer,
- IN ULONG UncompressedBufferSize,
- IN PUCHAR CompressedBuffer,
- IN ULONG CompressedBufferSize,
- OUT PULONG FinalUncompressedSize
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-RtlDecompressChunks (
- OUT PUCHAR UncompressedBuffer,
- IN ULONG UncompressedBufferSize,
- IN PUCHAR CompressedBuffer,
- IN ULONG CompressedBufferSize,
- IN PUCHAR CompressedTail,
- IN ULONG CompressedTailSize,
- IN PCOMPRESSED_DATA_INFO CompressedDataInfo
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-RtlDecompressFragment (
- IN USHORT CompressionFormat,
- OUT PUCHAR UncompressedFragment,
- IN ULONG UncompressedFragmentSize,
- IN PUCHAR CompressedBuffer,
- IN ULONG CompressedBufferSize,
- IN ULONG FragmentOffset,
- OUT PULONG FinalUncompressedSize,
- IN PVOID WorkSpace
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-RtlDescribeChunk (
- IN USHORT CompressionFormat,
- IN OUT PUCHAR *CompressedBuffer,
- IN PUCHAR EndOfCompressedBufferPlus1,
- OUT PUCHAR *ChunkBuffer,
- OUT PULONG ChunkSize
-);
-
-NTSYSAPI
-BOOLEAN
-NTAPI
-RtlEqualSid (
- IN PSID Sid1,
- IN PSID Sid2
-);
-
-NTSYSAPI
-VOID
-NTAPI
-RtlFillMemoryUlong (
- IN PVOID Destination,
- IN ULONG Length,
- IN ULONG Fill
-);
-
-NTSYSAPI
-BOOLEAN
-NTAPI
-RtlFreeHeap (
- IN HANDLE HeapHandle,
- IN ULONG Flags,
- IN PVOID P
-);
-
-NTSYSAPI
-VOID
-NTAPI
-RtlGenerate8dot3Name (
- IN PUNICODE_STRING Name,
- IN BOOLEAN AllowExtendedCharacters,
- IN OUT PGENERATE_NAME_CONTEXT Context,
- OUT PUNICODE_STRING Name8dot3
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-RtlGetCompressionWorkSpaceSize (
- IN USHORT CompressionFormatAndEngine,
- OUT PULONG CompressBufferWorkSpaceSize,
- OUT PULONG CompressFragmentWorkSpaceSize
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-RtlGetDaclSecurityDescriptor (
- IN PSECURITY_DESCRIPTOR SecurityDescriptor,
- OUT PBOOLEAN DaclPresent,
- OUT PACL *Dacl,
- OUT PBOOLEAN DaclDefaulted
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-RtlGetGroupSecurityDescriptor (
- IN PSECURITY_DESCRIPTOR SecurityDescriptor,
- OUT PSID *Group,
- OUT PBOOLEAN GroupDefaulted
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-RtlGetOwnerSecurityDescriptor (
- IN PSECURITY_DESCRIPTOR SecurityDescriptor,
- OUT PSID *Owner,
- OUT PBOOLEAN OwnerDefaulted
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-RtlInitializeSid (
- IN OUT PSID Sid,
- IN PSID_IDENTIFIER_AUTHORITY IdentifierAuthority,
- IN UCHAR SubAuthorityCount
-);
-
-NTSYSAPI
-BOOLEAN
-NTAPI
-RtlIsNameLegalDOS8Dot3 (
- IN PUNICODE_STRING UnicodeName,
- IN PANSI_STRING AnsiName,
- PBOOLEAN Unknown
-);
-
-NTSYSAPI
-ULONG
-NTAPI
-RtlLengthRequiredSid (
- IN UCHAR SubAuthorityCount
-);
-
-NTSYSAPI
-ULONG
-NTAPI
-RtlLengthSid (
- IN PSID Sid
-);
-
-NTSYSAPI
-ULONG
-NTAPI
-RtlNtStatusToDosError (
- IN NTSTATUS Status
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-RtlReserveChunk (
- IN USHORT CompressionFormat,
- IN OUT PUCHAR *CompressedBuffer,
- IN PUCHAR EndOfCompressedBufferPlus1,
- OUT PUCHAR *ChunkBuffer,
- IN ULONG ChunkSize
-);
-
-NTSYSAPI
-VOID
-NTAPI
-RtlSecondsSince1970ToTime (
- IN ULONG SecondsSince1970,
- OUT PLARGE_INTEGER Time
-);
-
-#if (VER_PRODUCTBUILD >= 2195)
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-RtlSelfRelativeToAbsoluteSD (
- IN PSECURITY_DESCRIPTOR SelfRelativeSD,
- OUT PSECURITY_DESCRIPTOR AbsoluteSD,
- IN PULONG AbsoluteSDSize,
- IN PACL Dacl,
- IN PULONG DaclSize,
- IN PACL Sacl,
- IN PULONG SaclSize,
- IN PSID Owner,
- IN PULONG OwnerSize,
- IN PSID PrimaryGroup,
- IN PULONG PrimaryGroupSize
-);
-
-#endif /* (VER_PRODUCTBUILD >= 2195) */
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-RtlSetGroupSecurityDescriptor (
- IN OUT PSECURITY_DESCRIPTOR SecurityDescriptor,
- IN PSID Group,
- IN BOOLEAN GroupDefaulted
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-RtlSetOwnerSecurityDescriptor (
- IN OUT PSECURITY_DESCRIPTOR SecurityDescriptor,
- IN PSID Owner,
- IN BOOLEAN OwnerDefaulted
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-RtlSetSaclSecurityDescriptor (
- IN OUT PSECURITY_DESCRIPTOR SecurityDescriptor,
- IN BOOLEAN SaclPresent,
- IN PACL Sacl,
- IN BOOLEAN SaclDefaulted
-);
-
-NTSYSAPI
-PUCHAR
-NTAPI
-RtlSubAuthorityCountSid (
- IN PSID Sid
-);
-
-NTSYSAPI
-PULONG
-NTAPI
-RtlSubAuthoritySid (
- IN PSID Sid,
- IN ULONG SubAuthority
-);
-
-NTSYSAPI
-BOOLEAN
-NTAPI
-RtlValidSid (
- IN PSID Sid
-);
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-SeAppendPrivileges (
- PACCESS_STATE AccessState,
- PPRIVILEGE_SET Privileges
-);
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-SeAuditingFileEvents (
- IN BOOLEAN AccessGranted,
- IN PSECURITY_DESCRIPTOR SecurityDescriptor
-);
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-SeAuditingFileOrGlobalEvents (
- IN BOOLEAN AccessGranted,
- IN PSECURITY_DESCRIPTOR SecurityDescriptor,
- IN PSECURITY_SUBJECT_CONTEXT SubjectContext
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-SeCaptureSubjectContext (
- OUT PSECURITY_SUBJECT_CONTEXT SubjectContext
-);
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-SeCreateAccessState (
- OUT PACCESS_STATE AccessState,
- IN PVOID AuxData,
- IN ACCESS_MASK AccessMask,
- IN PGENERIC_MAPPING Mapping
-);
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-SeCreateClientSecurity (
- IN PETHREAD Thread,
- IN PSECURITY_QUALITY_OF_SERVICE QualityOfService,
- IN BOOLEAN RemoteClient,
- OUT PSECURITY_CLIENT_CONTEXT ClientContext
-);
-
-#if (VER_PRODUCTBUILD >= 2195)
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-SeCreateClientSecurityFromSubjectContext (
- IN PSECURITY_SUBJECT_CONTEXT SubjectContext,
- IN PSECURITY_QUALITY_OF_SERVICE QualityOfService,
- IN BOOLEAN ServerIsRemote,
- OUT PSECURITY_CLIENT_CONTEXT ClientContext
-);
-
-#endif /* (VER_PRODUCTBUILD >= 2195) */
-
-#define SeDeleteClientSecurity(C) { \
- if (SeTokenType((C)->ClientToken) == TokenPrimary) { \
- PsDereferencePrimaryToken( (C)->ClientToken ); \
- } else { \
- PsDereferenceImpersonationToken( (C)->ClientToken ); \
- } \
-}
-
-NTKERNELAPI
-VOID
-NTAPI
-SeDeleteObjectAuditAlarm (
- IN PVOID Object,
- IN HANDLE Handle
-);
-
-#define SeEnableAccessToExports() SeExports = *(PSE_EXPORTS *)SeExports;
-
-NTKERNELAPI
-VOID
-NTAPI
-SeFreePrivileges (
- IN PPRIVILEGE_SET Privileges
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-SeImpersonateClient (
- IN PSECURITY_CLIENT_CONTEXT ClientContext,
- IN PETHREAD ServerThread OPTIONAL
-);
-
-#if (VER_PRODUCTBUILD >= 2195)
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-SeImpersonateClientEx (
- IN PSECURITY_CLIENT_CONTEXT ClientContext,
- IN PETHREAD ServerThread OPTIONAL
-);
-
-#endif /* (VER_PRODUCTBUILD >= 2195) */
-
-NTKERNELAPI
-VOID
-NTAPI
-SeLockSubjectContext (
- IN PSECURITY_SUBJECT_CONTEXT SubjectContext
-);
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-SeMarkLogonSessionForTerminationNotification (
- IN PLUID LogonId
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-SeOpenObjectAuditAlarm (
- IN PUNICODE_STRING ObjectTypeName,
- IN PVOID Object OPTIONAL,
- IN PUNICODE_STRING AbsoluteObjectName OPTIONAL,
- IN PSECURITY_DESCRIPTOR SecurityDescriptor,
- IN PACCESS_STATE AccessState,
- IN BOOLEAN ObjectCreated,
- IN BOOLEAN AccessGranted,
- IN KPROCESSOR_MODE AccessMode,
- OUT PBOOLEAN GenerateOnClose
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-SeOpenObjectForDeleteAuditAlarm (
- IN PUNICODE_STRING ObjectTypeName,
- IN PVOID Object OPTIONAL,
- IN PUNICODE_STRING AbsoluteObjectName OPTIONAL,
- IN PSECURITY_DESCRIPTOR SecurityDescriptor,
- IN PACCESS_STATE AccessState,
- IN BOOLEAN ObjectCreated,
- IN BOOLEAN AccessGranted,
- IN KPROCESSOR_MODE AccessMode,
- OUT PBOOLEAN GenerateOnClose
-);
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-SePrivilegeCheck (
- IN OUT PPRIVILEGE_SET RequiredPrivileges,
- IN PSECURITY_SUBJECT_CONTEXT SubjectContext,
- IN KPROCESSOR_MODE AccessMode
-);
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-SeQueryAuthenticationIdToken (
- IN PACCESS_TOKEN Token,
- OUT PLUID LogonId
-);
-
-#if (VER_PRODUCTBUILD >= 2195)
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-SeQueryInformationToken (
- IN PACCESS_TOKEN Token,
- IN TOKEN_INFORMATION_CLASS TokenInformationClass,
- OUT PVOID *TokenInformation
-);
-
-#endif /* (VER_PRODUCTBUILD >= 2195) */
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-SeQuerySecurityDescriptorInfo (
- IN PSECURITY_INFORMATION SecurityInformation,
- OUT PSECURITY_DESCRIPTOR SecurityDescriptor,
- IN OUT PULONG Length,
- IN PSECURITY_DESCRIPTOR *ObjectsSecurityDescriptor
-);
-
-#if (VER_PRODUCTBUILD >= 2195)
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-SeQuerySessionIdToken (
- IN PACCESS_TOKEN Token,
- IN PULONG SessionId
-);
-
-#endif /* (VER_PRODUCTBUILD >= 2195) */
-
-#define SeQuerySubjectContextToken( SubjectContext ) \
- ( ARGUMENT_PRESENT( \
- ((PSECURITY_SUBJECT_CONTEXT) SubjectContext)->ClientToken \
- ) ? \
- ((PSECURITY_SUBJECT_CONTEXT) SubjectContext)->ClientToken : \
- ((PSECURITY_SUBJECT_CONTEXT) SubjectContext)->PrimaryToken )
-
-typedef NTSTATUS (*PSE_LOGON_SESSION_TERMINATED_ROUTINE) (
- IN PLUID LogonId
-);
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-SeRegisterLogonSessionTerminatedRoutine (
- IN PSE_LOGON_SESSION_TERMINATED_ROUTINE CallbackRoutine
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-SeReleaseSubjectContext (
- IN PSECURITY_SUBJECT_CONTEXT SubjectContext
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-SeSetAccessStateGenericMapping (
- PACCESS_STATE AccessState,
- PGENERIC_MAPPING GenericMapping
-);
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-SeSetSecurityDescriptorInfo (
- IN PVOID Object OPTIONAL,
- IN PSECURITY_INFORMATION SecurityInformation,
- IN PSECURITY_DESCRIPTOR SecurityDescriptor,
- IN OUT PSECURITY_DESCRIPTOR *ObjectsSecurityDescriptor,
- IN POOL_TYPE PoolType,
- IN PGENERIC_MAPPING GenericMapping
-);
-
-#if (VER_PRODUCTBUILD >= 2195)
-
-NTKERNELAPI
-NTSTATUS
-NTAPI
-SeSetSecurityDescriptorInfoEx (
- IN PVOID Object OPTIONAL,
- IN PSECURITY_INFORMATION SecurityInformation,
- IN PSECURITY_DESCRIPTOR ModificationDescriptor,
- IN OUT PSECURITY_DESCRIPTOR *ObjectsSecurityDescriptor,
- IN ULONG AutoInheritFlags,
- IN POOL_TYPE PoolType,
- IN PGENERIC_MAPPING GenericMapping
-);
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-SeTokenIsAdmin (
- IN PACCESS_TOKEN Token
-);
-
-NTKERNELAPI
-BOOLEAN
-NTAPI
-SeTokenIsRestricted (
- IN PACCESS_TOKEN Token
-);
-
-#endif /* (VER_PRODUCTBUILD >= 2195) */
-
-NTKERNELAPI
-TOKEN_TYPE
-NTAPI
-SeTokenType (
- IN PACCESS_TOKEN Token
-);
-
-NTKERNELAPI
-VOID
-NTAPI
-SeUnlockSubjectContext (
- IN PSECURITY_SUBJECT_CONTEXT SubjectContext
-);
-
-NTKERNELAPI
-NTSTATUS
-SeUnregisterLogonSessionTerminatedRoutine (
- IN PSE_LOGON_SESSION_TERMINATED_ROUTINE CallbackRoutine
-);
-
-#if (VER_PRODUCTBUILD >= 2195)
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwAdjustPrivilegesToken (
- IN HANDLE TokenHandle,
- IN BOOLEAN DisableAllPrivileges,
- IN PTOKEN_PRIVILEGES NewState,
- IN ULONG BufferLength,
- OUT PTOKEN_PRIVILEGES PreviousState OPTIONAL,
- OUT PULONG ReturnLength
-);
-
-#endif /* (VER_PRODUCTBUILD >= 2195) */
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwAlertThread (
- IN HANDLE ThreadHandle
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwAllocateVirtualMemory (
- IN HANDLE ProcessHandle,
- IN OUT PVOID *BaseAddress,
- IN ULONG ZeroBits,
- IN OUT PULONG RegionSize,
- IN ULONG AllocationType,
- IN ULONG Protect
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwAccessCheckAndAuditAlarm (
- IN PUNICODE_STRING SubsystemName,
- IN PVOID HandleId,
- IN PUNICODE_STRING ObjectTypeName,
- IN PUNICODE_STRING ObjectName,
- IN PSECURITY_DESCRIPTOR SecurityDescriptor,
- IN ACCESS_MASK DesiredAccess,
- IN PGENERIC_MAPPING GenericMapping,
- IN BOOLEAN ObjectCreation,
- OUT PACCESS_MASK GrantedAccess,
- OUT PBOOLEAN AccessStatus,
- OUT PBOOLEAN GenerateOnClose
-);
-
-#if (VER_PRODUCTBUILD >= 2195)
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwCancelIoFile (
- IN HANDLE FileHandle,
- OUT PIO_STATUS_BLOCK IoStatusBlock
-);
-
-#endif /* (VER_PRODUCTBUILD >= 2195) */
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwClearEvent (
- IN HANDLE EventHandle
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwCloseObjectAuditAlarm (
- IN PUNICODE_STRING SubsystemName,
- IN PVOID HandleId,
- IN BOOLEAN GenerateOnClose
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwCreateSection (
- OUT PHANDLE SectionHandle,
- IN ACCESS_MASK DesiredAccess,
- IN POBJECT_ATTRIBUTES ObjectAttributes OPTIONAL,
- IN PLARGE_INTEGER MaximumSize OPTIONAL,
- IN ULONG SectionPageProtection,
- IN ULONG AllocationAttributes,
- IN HANDLE FileHandle OPTIONAL
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwCreateSymbolicLinkObject (
- OUT PHANDLE SymbolicLinkHandle,
- IN ACCESS_MASK DesiredAccess,
- IN POBJECT_ATTRIBUTES ObjectAttributes,
- IN PUNICODE_STRING TargetName
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwDeleteFile (
- IN POBJECT_ATTRIBUTES ObjectAttributes
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwDeleteValueKey (
- IN HANDLE Handle,
- IN PUNICODE_STRING Name
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwDeviceIoControlFile (
- IN HANDLE FileHandle,
- IN HANDLE Event OPTIONAL,
- IN PIO_APC_ROUTINE ApcRoutine OPTIONAL,
- IN PVOID ApcContext OPTIONAL,
- OUT PIO_STATUS_BLOCK IoStatusBlock,
- IN ULONG IoControlCode,
- IN PVOID InputBuffer OPTIONAL,
- IN ULONG InputBufferLength,
- OUT PVOID OutputBuffer OPTIONAL,
- IN ULONG OutputBufferLength
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwDisplayString (
- IN PUNICODE_STRING String
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwDuplicateObject (
- IN HANDLE SourceProcessHandle,
- IN HANDLE SourceHandle,
- IN HANDLE TargetProcessHandle OPTIONAL,
- OUT PHANDLE TargetHandle OPTIONAL,
- IN ACCESS_MASK DesiredAccess,
- IN ULONG HandleAttributes,
- IN ULONG Options
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwDuplicateToken (
- IN HANDLE ExistingTokenHandle,
- IN ACCESS_MASK DesiredAccess,
- IN POBJECT_ATTRIBUTES ObjectAttributes,
- IN BOOLEAN EffectiveOnly,
- IN TOKEN_TYPE TokenType,
- OUT PHANDLE NewTokenHandle
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwFlushInstructionCache (
- IN HANDLE ProcessHandle,
- IN PVOID BaseAddress OPTIONAL,
- IN ULONG FlushSize
-);
-
-#if (VER_PRODUCTBUILD >= 2195)
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwFlushVirtualMemory (
- IN HANDLE ProcessHandle,
- IN OUT PVOID *BaseAddress,
- IN OUT PULONG FlushSize,
- OUT PIO_STATUS_BLOCK IoStatusBlock
-);
-
-#endif /* (VER_PRODUCTBUILD >= 2195) */
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwFreeVirtualMemory (
- IN HANDLE ProcessHandle,
- IN OUT PVOID *BaseAddress,
- IN OUT PULONG RegionSize,
- IN ULONG FreeType
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwFsControlFile (
- IN HANDLE FileHandle,
- IN HANDLE Event OPTIONAL,
- IN PIO_APC_ROUTINE ApcRoutine OPTIONAL,
- IN PVOID ApcContext OPTIONAL,
- OUT PIO_STATUS_BLOCK IoStatusBlock,
- IN ULONG FsControlCode,
- IN PVOID InputBuffer OPTIONAL,
- IN ULONG InputBufferLength,
- OUT PVOID OutputBuffer OPTIONAL,
- IN ULONG OutputBufferLength
-);
-
-#if (VER_PRODUCTBUILD >= 2195)
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwInitiatePowerAction (
- IN POWER_ACTION SystemAction,
- IN SYSTEM_POWER_STATE MinSystemState,
- IN ULONG Flags,
- IN BOOLEAN Asynchronous
-);
-
-#endif /* (VER_PRODUCTBUILD >= 2195) */
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwLoadDriver (
- /* "\\Registry\\Machine\\System\\CurrentControlSet\\Services\\<DriverName>" */
- IN PUNICODE_STRING RegistryPath
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwLoadKey (
- IN POBJECT_ATTRIBUTES KeyObjectAttributes,
- IN POBJECT_ATTRIBUTES FileObjectAttributes
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwNotifyChangeKey (
- IN HANDLE KeyHandle,
- IN HANDLE EventHandle OPTIONAL,
- IN PIO_APC_ROUTINE ApcRoutine OPTIONAL,
- IN PVOID ApcContext OPTIONAL,
- OUT PIO_STATUS_BLOCK IoStatusBlock,
- IN ULONG NotifyFilter,
- IN BOOLEAN WatchSubtree,
- IN PVOID Buffer,
- IN ULONG BufferLength,
- IN BOOLEAN Asynchronous
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwOpenDirectoryObject (
- OUT PHANDLE DirectoryHandle,
- IN ACCESS_MASK DesiredAccess,
- IN POBJECT_ATTRIBUTES ObjectAttributes
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwOpenEvent (
- OUT PHANDLE EventHandle,
- IN ACCESS_MASK DesiredAccess,
- IN POBJECT_ATTRIBUTES ObjectAttributes
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwOpenProcess (
- OUT PHANDLE ProcessHandle,
- IN ACCESS_MASK DesiredAccess,
- IN POBJECT_ATTRIBUTES ObjectAttributes,
- IN PCLIENT_ID ClientId OPTIONAL
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwOpenProcessToken (
- IN HANDLE ProcessHandle,
- IN ACCESS_MASK DesiredAccess,
- OUT PHANDLE TokenHandle
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwOpenThread (
- OUT PHANDLE ThreadHandle,
- IN ACCESS_MASK DesiredAccess,
- IN POBJECT_ATTRIBUTES ObjectAttributes,
- IN PCLIENT_ID ClientId
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwOpenThreadToken (
- IN HANDLE ThreadHandle,
- IN ACCESS_MASK DesiredAccess,
- IN BOOLEAN OpenAsSelf,
- OUT PHANDLE TokenHandle
-);
-
-#if (VER_PRODUCTBUILD >= 2195)
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwPowerInformation (
- IN POWER_INFORMATION_LEVEL PowerInformationLevel,
- IN PVOID InputBuffer OPTIONAL,
- IN ULONG InputBufferLength,
- OUT PVOID OutputBuffer OPTIONAL,
- IN ULONG OutputBufferLength
-);
-
-#endif /* (VER_PRODUCTBUILD >= 2195) */
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwPulseEvent (
- IN HANDLE EventHandle,
- OUT PULONG PreviousState OPTIONAL
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwQueryDefaultLocale (
- IN BOOLEAN ThreadOrSystem,
- OUT PLCID Locale
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwQueryDirectoryFile (
- IN HANDLE FileHandle,
- IN HANDLE Event OPTIONAL,
- IN PIO_APC_ROUTINE ApcRoutine OPTIONAL,
- IN PVOID ApcContext OPTIONAL,
- OUT PIO_STATUS_BLOCK IoStatusBlock,
- OUT PVOID FileInformation,
- IN ULONG Length,
- IN FILE_INFORMATION_CLASS FileInformationClass,
- IN BOOLEAN ReturnSingleEntry,
- IN PUNICODE_STRING FileName OPTIONAL,
- IN BOOLEAN RestartScan
-);
-
-#if (VER_PRODUCTBUILD >= 2195)
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwQueryDirectoryObject (
- IN HANDLE DirectoryHandle,
- OUT PVOID Buffer,
- IN ULONG Length,
- IN BOOLEAN ReturnSingleEntry,
- IN BOOLEAN RestartScan,
- IN OUT PULONG Context,
- OUT PULONG ReturnLength OPTIONAL
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwQueryEaFile (
- IN HANDLE FileHandle,
- OUT PIO_STATUS_BLOCK IoStatusBlock,
- OUT PVOID Buffer,
- IN ULONG Length,
- IN BOOLEAN ReturnSingleEntry,
- IN PVOID EaList OPTIONAL,
- IN ULONG EaListLength,
- IN PULONG EaIndex OPTIONAL,
- IN BOOLEAN RestartScan
-);
-
-#endif /* (VER_PRODUCTBUILD >= 2195) */
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwQueryInformationProcess (
- IN HANDLE ProcessHandle,
- IN PROCESSINFOCLASS ProcessInformationClass,
- OUT PVOID ProcessInformation,
- IN ULONG ProcessInformationLength,
- OUT PULONG ReturnLength OPTIONAL
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwQueryInformationToken (
- IN HANDLE TokenHandle,
- IN TOKEN_INFORMATION_CLASS TokenInformationClass,
- OUT PVOID TokenInformation,
- IN ULONG Length,
- OUT PULONG ResultLength
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwQueryObject (
- IN HANDLE ObjectHandle,
- IN OBJECT_INFORMATION_CLASS ObjectInformationClass,
- OUT PVOID ObjectInformation,
- IN ULONG Length,
- OUT PULONG ResultLength
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwQuerySection (
- IN HANDLE SectionHandle,
- IN SECTION_INFORMATION_CLASS SectionInformationClass,
- OUT PVOID SectionInformation,
- IN ULONG SectionInformationLength,
- OUT PULONG ResultLength OPTIONAL
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwQuerySecurityObject (
- IN HANDLE FileHandle,
- IN SECURITY_INFORMATION SecurityInformation,
- OUT PSECURITY_DESCRIPTOR SecurityDescriptor,
- IN ULONG Length,
- OUT PULONG ResultLength
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwQuerySystemInformation (
- IN SYSTEM_INFORMATION_CLASS SystemInformationClass,
- OUT PVOID SystemInformation,
- IN ULONG Length,
- OUT PULONG ReturnLength
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwQueryVolumeInformationFile (
- IN HANDLE FileHandle,
- OUT PIO_STATUS_BLOCK IoStatusBlock,
- OUT PVOID FsInformation,
- IN ULONG Length,
- IN FS_INFORMATION_CLASS FsInformationClass
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwReplaceKey (
- IN POBJECT_ATTRIBUTES NewFileObjectAttributes,
- IN HANDLE KeyHandle,
- IN POBJECT_ATTRIBUTES OldFileObjectAttributes
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwResetEvent (
- IN HANDLE EventHandle,
- OUT PULONG PreviousState OPTIONAL
-);
-
-#if (VER_PRODUCTBUILD >= 2195)
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwRestoreKey (
- IN HANDLE KeyHandle,
- IN HANDLE FileHandle,
- IN ULONG Flags
-);
-
-#endif /* (VER_PRODUCTBUILD >= 2195) */
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwSaveKey (
- IN HANDLE KeyHandle,
- IN HANDLE FileHandle
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwSetDefaultLocale (
- IN BOOLEAN ThreadOrSystem,
- IN LCID Locale
-);
-
-#if (VER_PRODUCTBUILD >= 2195)
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwSetDefaultUILanguage (
- IN LANGID LanguageId
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwSetEaFile (
- IN HANDLE FileHandle,
- OUT PIO_STATUS_BLOCK IoStatusBlock,
- OUT PVOID Buffer,
- IN ULONG Length
-);
-
-#endif /* (VER_PRODUCTBUILD >= 2195) */
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwSetEvent (
- IN HANDLE EventHandle,
- OUT PULONG PreviousState OPTIONAL
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwSetInformationObject (
- IN HANDLE ObjectHandle,
- IN OBJECT_INFORMATION_CLASS ObjectInformationClass,
- IN PVOID ObjectInformation,
- IN ULONG ObjectInformationLength
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwSetInformationProcess (
- IN HANDLE ProcessHandle,
- IN PROCESSINFOCLASS ProcessInformationClass,
- IN PVOID ProcessInformation,
- IN ULONG ProcessInformationLength
-);
-
-#if (VER_PRODUCTBUILD >= 2195)
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwSetSecurityObject (
- IN HANDLE Handle,
- IN SECURITY_INFORMATION SecurityInformation,
- IN PSECURITY_DESCRIPTOR SecurityDescriptor
-);
-
-#endif /* (VER_PRODUCTBUILD >= 2195) */
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwSetSystemInformation (
- IN SYSTEM_INFORMATION_CLASS SystemInformationClass,
- IN PVOID SystemInformation,
- IN ULONG Length
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwSetSystemTime (
- IN PLARGE_INTEGER NewTime,
- OUT PLARGE_INTEGER OldTime OPTIONAL
-);
-
-#if (VER_PRODUCTBUILD >= 2195)
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwSetVolumeInformationFile (
- IN HANDLE FileHandle,
- OUT PIO_STATUS_BLOCK IoStatusBlock,
- IN PVOID FsInformation,
- IN ULONG Length,
- IN FS_INFORMATION_CLASS FsInformationClass
-);
-
-#endif /* (VER_PRODUCTBUILD >= 2195) */
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwTerminateProcess (
- IN HANDLE ProcessHandle OPTIONAL,
- IN NTSTATUS ExitStatus
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwUnloadDriver (
- /* "\\Registry\\Machine\\System\\CurrentControlSet\\Services\\<DriverName>" */
- IN PUNICODE_STRING RegistryPath
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwUnloadKey (
- IN POBJECT_ATTRIBUTES KeyObjectAttributes
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwWaitForSingleObject (
- IN HANDLE Handle,
- IN BOOLEAN Alertable,
- IN PLARGE_INTEGER Timeout OPTIONAL
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwWaitForMultipleObjects (
- IN ULONG HandleCount,
- IN PHANDLE Handles,
- IN WAIT_TYPE WaitType,
- IN BOOLEAN Alertable,
- IN PLARGE_INTEGER Timeout OPTIONAL
-);
-
-NTSYSAPI
-NTSTATUS
-NTAPI
-ZwYieldExecution (
- VOID
-);
-
-#pragma pack(pop)
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _NTIFS_ */
diff --git a/winsup/w32api/include/ddk/ntpoapi.h b/winsup/w32api/include/ddk/ntpoapi.h
deleted file mode 100644
index 9c854bf23..000000000
--- a/winsup/w32api/include/ddk/ntpoapi.h
+++ /dev/null
@@ -1,229 +0,0 @@
-/*
- * ntpoapi.h
- *
- * APIs for power management.
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- * Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __NTPOAPI_H
-#define __NTPOAPI_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-#include "batclass.h"
-
-#define POWER_PERF_SCALE 100
-#define PERF_LEVEL_TO_PERCENT(x) (((x) * 1000) / (POWER_PERF_SCALE * 10))
-#define PERCENT_TO_PERF_LEVEL(x) (((x) * POWER_PERF_SCALE * 10) / 1000)
-
-typedef struct _PROCESSOR_IDLE_TIMES {
- ULONGLONG StartTime;
- ULONGLONG EndTime;
- ULONG IdleHandlerReserved[4];
-} PROCESSOR_IDLE_TIMES, *PPROCESSOR_IDLE_TIMES;
-
-typedef BOOLEAN DDKFASTAPI
-(*PPROCESSOR_IDLE_HANDLER)(
- IN OUT PPROCESSOR_IDLE_TIMES IdleTimes);
-
-typedef struct _PROCESSOR_IDLE_HANDLER_INFO {
- ULONG HardwareLatency;
- PPROCESSOR_IDLE_HANDLER Handler;
-} PROCESSOR_IDLE_HANDLER_INFO, *PPROCESSOR_IDLE_HANDLER_INFO;
-
-typedef VOID DDKFASTAPI
-(*PSET_PROCESSOR_THROTTLE)(
- IN UCHAR Throttle);
-
-typedef NTSTATUS DDKFASTAPI
-(*PSET_PROCESSOR_THROTTLE2)(
- IN UCHAR Throttle);
-
-#define MAX_IDLE_HANDLERS 3
-
-typedef struct _PROCESSOR_STATE_HANDLER {
- UCHAR ThrottleScale;
- BOOLEAN ThrottleOnIdle;
- PSET_PROCESSOR_THROTTLE SetThrottle;
- ULONG NumIdleHandlers;
- PROCESSOR_IDLE_HANDLER_INFO IdleHandler[MAX_IDLE_HANDLERS];
-} PROCESSOR_STATE_HANDLER, *PPROCESSOR_STATE_HANDLER;
-
-typedef enum _POWER_STATE_HANDLER_TYPE {
- PowerStateSleeping1,
- PowerStateSleeping2,
- PowerStateSleeping3,
- PowerStateSleeping4,
- PowerStateSleeping4Firmware,
- PowerStateShutdownReset,
- PowerStateShutdownOff,
- PowerStateMaximum
-} POWER_STATE_HANDLER_TYPE, *PPOWER_STATE_HANDLER_TYPE;
-
-typedef NTSTATUS DDKAPI
-(*PENTER_STATE_SYSTEM_HANDLER)(
- IN PVOID SystemContext);
-
-typedef NTSTATUS DDKAPI
-(*PENTER_STATE_HANDLER)(
- IN PVOID Context,
- IN PENTER_STATE_SYSTEM_HANDLER SystemHandler OPTIONAL,
- IN PVOID SystemContext,
- IN LONG NumberProcessors,
- IN VOLATILE PLONG Number);
-
-typedef struct _POWER_STATE_HANDLER {
- POWER_STATE_HANDLER_TYPE Type;
- BOOLEAN RtcWake;
- UCHAR Spare[3];
- PENTER_STATE_HANDLER Handler;
- PVOID Context;
-} POWER_STATE_HANDLER, *PPOWER_STATE_HANDLER;
-
-typedef NTSTATUS STDCALL
-(*PENTER_STATE_NOTIFY_HANDLER)(
- IN POWER_STATE_HANDLER_TYPE State,
- IN PVOID Context,
- IN BOOLEAN Entering);
-
-typedef struct _POWER_STATE_NOTIFY_HANDLER {
- PENTER_STATE_NOTIFY_HANDLER Handler;
- PVOID Context;
-} POWER_STATE_NOTIFY_HANDLER, *PPOWER_STATE_NOTIFY_HANDLER;
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-NtPowerInformation(
- IN POWER_INFORMATION_LEVEL InformationLevel,
- IN PVOID InputBuffer OPTIONAL,
- IN ULONG InputBufferLength,
- OUT PVOID OutputBuffer OPTIONAL,
- IN ULONG OutputBufferLength);
-
-#define PROCESSOR_STATE_TYPE_PERFORMANCE 1
-#define PROCESSOR_STATE_TYPE_THROTTLE 2
-
-typedef struct _PROCESSOR_PERF_LEVEL {
- UCHAR PercentFrequency;
- UCHAR Reserved;
- USHORT Flags;
-} PROCESSOR_PERF_LEVEL, *PPROCESSOR_PERF_LEVEL;
-
-typedef struct _PROCESSOR_PERF_STATE {
- UCHAR PercentFrequency;
- UCHAR MinCapacity;
- USHORT Power;
- UCHAR IncreaseLevel;
- UCHAR DecreaseLevel;
- USHORT Flags;
- ULONG IncreaseTime;
- ULONG DecreaseTime;
- ULONG IncreaseCount;
- ULONG DecreaseCount;
- ULONGLONG PerformanceTime;
-} PROCESSOR_PERF_STATE, *PPROCESSOR_PERF_STATE;
-
-typedef struct _PROCESSOR_STATE_HANDLER2 {
- ULONG NumIdleHandlers;
- PROCESSOR_IDLE_HANDLER_INFO IdleHandler[MAX_IDLE_HANDLERS];
- PSET_PROCESSOR_THROTTLE2 SetPerfLevel;
- ULONG HardwareLatency;
- UCHAR NumPerfStates;
- PROCESSOR_PERF_LEVEL PerfLevel[1];
-} PROCESSOR_STATE_HANDLER2, *PPROCESSOR_STATE_HANDLER2;
-
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-NtSetThreadExecutionState(
- IN EXECUTION_STATE esFlags,
- OUT EXECUTION_STATE *PreviousFlags);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-NtRequestWakeupLatency(
- IN LATENCY_TIME latency);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-NtInitiatePowerAction(
- IN POWER_ACTION SystemAction,
- IN SYSTEM_POWER_STATE MinSystemState,
- IN ULONG Flags,
- IN BOOLEAN Asynchronous);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-NtSetSystemPowerState(
- IN POWER_ACTION SystemAction,
- IN SYSTEM_POWER_STATE MinSystemState,
- IN ULONG Flags);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-NtGetDevicePowerState(
- IN HANDLE Device,
- OUT DEVICE_POWER_STATE *State);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-NtCancelDeviceWakeupRequest(
- IN HANDLE Device);
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-NtIsSystemResumeAutomatic(
- VOID);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-NtRequestDeviceWakeup(
- IN HANDLE Device);
-
-#define WINLOGON_LOCK_ON_SLEEP 0x00000001
-
-typedef struct _PROCESSOR_POWER_INFORMATION {
- ULONG Number;
- ULONG MaxMhz;
- ULONG CurrentMhz;
- ULONG MhzLimit;
- ULONG MaxIdleState;
- ULONG CurrentIdleState;
-} PROCESSOR_POWER_INFORMATION, *PPROCESSOR_POWER_INFORMATION;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __NTPOAPI_H */
diff --git a/winsup/w32api/include/ddk/ntstatus.h b/winsup/w32api/include/ddk/ntstatus.h
deleted file mode 100644
index d325d9f11..000000000
--- a/winsup/w32api/include/ddk/ntstatus.h
+++ /dev/null
@@ -1,1105 +0,0 @@
-/*
- * ntstatus.h
- *
- * Windows NT status codes
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- * Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef _NTSTATUS_H
-#define _NTSTATUS_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#if !defined(STATUS_SUCCESS)
-#define STATUS_SUCCESS ((NTSTATUS)0x00000000L)
-#endif /* !STATUS_SUCCESS */
-#define FACILITY_DEBUGGER 0x1
-#define FACILITY_RPC_RUNTIME 0x2
-#define FACILITY_RPC_STUBS 0x3
-#define FACILITY_IO_ERROR_CODE 0x4
-#define FACILITY_TERMINAL_SERVER 0xA
-#define FACILITY_USB_ERROR_CODE 0x10
-#define FACILITY_HID_ERROR_CODE 0x11
-#define FACILITY_FIREWIRE_ERROR_CODE 0x12
-#define FACILITY_CLUSTER_ERROR_CODE 0x13
-#define FACILITY_ACPI_ERROR_CODE 0x14
-#define FACILITY_SXS_ERROR_CODE 0x15
-#define STATUS_SEVERITY_SUCCESS 0x0
-#define STATUS_SEVERITY_INFORMATIONAL 0x1
-#define STATUS_SEVERITY_WARNING 0x2
-#define STATUS_SEVERITY_ERROR 0x3
-#define STATUS_WAIT_0 ((NTSTATUS)0x00000000L)
-#define STATUS_WAIT_1 ((NTSTATUS)0x00000001L)
-#define STATUS_WAIT_2 ((NTSTATUS)0x00000002L)
-#define STATUS_WAIT_3 ((NTSTATUS)0x00000003L)
-#define STATUS_WAIT_63 ((NTSTATUS)0x0000003FL)
-#define STATUS_ABANDONED ((NTSTATUS)0x00000080L)
-#define STATUS_ABANDONED_WAIT_0 ((NTSTATUS)0x00000080L)
-#define STATUS_ABANDONED_WAIT_63 ((NTSTATUS)0x000000BFL)
-#define STATUS_USER_APC ((NTSTATUS)0x000000C0L)
-#define STATUS_KERNEL_APC ((NTSTATUS)0x00000100L)
-#define STATUS_ALERTED ((NTSTATUS)0x00000101L)
-#define STATUS_TIMEOUT ((NTSTATUS)0x00000102L)
-#define STATUS_PENDING ((NTSTATUS)0x00000103L)
-#define STATUS_REPARSE ((NTSTATUS)0x00000104L)
-#define STATUS_MORE_ENTRIES ((NTSTATUS)0x00000105L)
-#define STATUS_NOT_ALL_ASSIGNED ((NTSTATUS)0x00000106L)
-#define STATUS_SOME_NOT_MAPPED ((NTSTATUS)0x00000107L)
-#define STATUS_OPLOCK_BREAK_IN_PROGRESS ((NTSTATUS)0x00000108L)
-#define STATUS_VOLUME_MOUNTED ((NTSTATUS)0x00000109L)
-#define STATUS_RXACT_COMMITTED ((NTSTATUS)0x0000010AL)
-#define STATUS_NOTIFY_CLEANUP ((NTSTATUS)0x0000010BL)
-#define STATUS_NOTIFY_ENUM_DIR ((NTSTATUS)0x0000010CL)
-#define STATUS_NO_QUOTAS_FOR_ACCOUNT ((NTSTATUS)0x0000010DL)
-#define STATUS_PRIMARY_TRANSPORT_CONNECT_FAILED ((NTSTATUS)0x0000010EL)
-#define STATUS_PAGE_FAULT_TRANSITION ((NTSTATUS)0x00000110L)
-#define STATUS_PAGE_FAULT_DEMAND_ZERO ((NTSTATUS)0x00000111L)
-#define STATUS_PAGE_FAULT_COPY_ON_WRITE ((NTSTATUS)0x00000112L)
-#define STATUS_PAGE_FAULT_GUARD_PAGE ((NTSTATUS)0x00000113L)
-#define STATUS_PAGE_FAULT_PAGING_FILE ((NTSTATUS)0x00000114L)
-#define STATUS_CACHE_PAGE_LOCKED ((NTSTATUS)0x00000115L)
-#define STATUS_CRASH_DUMP ((NTSTATUS)0x00000116L)
-#define STATUS_BUFFER_ALL_ZEROS ((NTSTATUS)0x00000117L)
-#define STATUS_REPARSE_OBJECT ((NTSTATUS)0x00000118L)
-#define STATUS_RESOURCE_REQUIREMENTS_CHANGED ((NTSTATUS)0x00000119L)
-#define STATUS_TRANSLATION_COMPLETE ((NTSTATUS)0x00000120L)
-#define STATUS_DS_MEMBERSHIP_EVALUATED_LOCALLY ((NTSTATUS)0x00000121L)
-#define STATUS_NOTHING_TO_TERMINATE ((NTSTATUS)0x00000122L)
-#define STATUS_PROCESS_NOT_IN_JOB ((NTSTATUS)0x00000123L)
-#define STATUS_PROCESS_IN_JOB ((NTSTATUS)0x00000124L)
-#define STATUS_OBJECT_NAME_EXISTS ((NTSTATUS)0x40000000L)
-#define STATUS_THREAD_WAS_SUSPENDED ((NTSTATUS)0x40000001L)
-#define STATUS_WORKING_SET_LIMIT_RANGE ((NTSTATUS)0x40000002L)
-#define STATUS_IMAGE_NOT_AT_BASE ((NTSTATUS)0x40000003L)
-#define STATUS_RXACT_STATE_CREATED ((NTSTATUS)0x40000004L)
-#define STATUS_SEGMENT_NOTIFICATION ((NTSTATUS)0x40000005L)
-#define STATUS_LOCAL_USER_SESSION_KEY ((NTSTATUS)0x40000006L)
-#define STATUS_BAD_CURRENT_DIRECTORY ((NTSTATUS)0x40000007L)
-#define STATUS_SERIAL_MORE_WRITES ((NTSTATUS)0x40000008L)
-#define STATUS_REGISTRY_RECOVERED ((NTSTATUS)0x40000009L)
-#define STATUS_FT_READ_RECOVERY_FROM_BACKUP ((NTSTATUS)0x4000000AL)
-#define STATUS_FT_WRITE_RECOVERY ((NTSTATUS)0x4000000BL)
-#define STATUS_SERIAL_COUNTER_TIMEOUT ((NTSTATUS)0x4000000CL)
-#define STATUS_NULL_LM_PASSWORD ((NTSTATUS)0x4000000DL)
-#define STATUS_IMAGE_MACHINE_TYPE_MISMATCH ((NTSTATUS)0x4000000EL)
-#define STATUS_RECEIVE_PARTIAL ((NTSTATUS)0x4000000FL)
-#define STATUS_RECEIVE_EXPEDITED ((NTSTATUS)0x40000010L)
-#define STATUS_RECEIVE_PARTIAL_EXPEDITED ((NTSTATUS)0x40000011L)
-#define STATUS_EVENT_DONE ((NTSTATUS)0x40000012L)
-#define STATUS_EVENT_PENDING ((NTSTATUS)0x40000013L)
-#define STATUS_CHECKING_FILE_SYSTEM ((NTSTATUS)0x40000014L)
-#define STATUS_FATAL_APP_EXIT ((NTSTATUS)0x40000015L)
-#define STATUS_PREDEFINED_HANDLE ((NTSTATUS)0x40000016L)
-#define STATUS_WAS_UNLOCKED ((NTSTATUS)0x40000017L)
-#define STATUS_SERVICE_NOTIFICATION ((NTSTATUS)0x40000018L)
-#define STATUS_WAS_LOCKED ((NTSTATUS)0x40000019L)
-#define STATUS_LOG_HARD_ERROR ((NTSTATUS)0x4000001AL)
-#define STATUS_ALREADY_WIN32 ((NTSTATUS)0x4000001BL)
-#define STATUS_WX86_UNSIMULATE ((NTSTATUS)0x4000001CL)
-#define STATUS_WX86_CONTINUE ((NTSTATUS)0x4000001DL)
-#define STATUS_WX86_SINGLE_STEP ((NTSTATUS)0x4000001EL)
-#define STATUS_WX86_BREAKPOINT ((NTSTATUS)0x4000001FL)
-#define STATUS_WX86_EXCEPTION_CONTINUE ((NTSTATUS)0x40000020L)
-#define STATUS_WX86_EXCEPTION_LASTCHANCE ((NTSTATUS)0x40000021L)
-#define STATUS_WX86_EXCEPTION_CHAIN ((NTSTATUS)0x40000022L)
-#define STATUS_IMAGE_MACHINE_TYPE_MISMATCH_EXE ((NTSTATUS)0x40000023L)
-#define STATUS_NO_YIELD_PERFORMED ((NTSTATUS)0x40000024L)
-#define STATUS_TIMER_RESUME_IGNORED ((NTSTATUS)0x40000025L)
-#define STATUS_ARBITRATION_UNHANDLED ((NTSTATUS)0x40000026L)
-#define STATUS_CARDBUS_NOT_SUPPORTED ((NTSTATUS)0x40000027L)
-#define STATUS_WX86_CREATEWX86TIB ((NTSTATUS)0x40000028L)
-#define STATUS_MP_PROCESSOR_MISMATCH ((NTSTATUS)0x40000029L)
-#define STATUS_HIBERNATED ((NTSTATUS)0x4000002AL)
-#define STATUS_RESUME_HIBERNATION ((NTSTATUS)0x4000002BL)
-#define STATUS_GUARD_PAGE_VIOLATION ((NTSTATUS)0x80000001L)
-#define STATUS_DATATYPE_MISALIGNMENT ((NTSTATUS)0x80000002L)
-#define STATUS_BREAKPOINT ((NTSTATUS)0x80000003L)
-#define STATUS_SINGLE_STEP ((NTSTATUS)0x80000004L)
-#define STATUS_BUFFER_OVERFLOW ((NTSTATUS)0x80000005L)
-#define STATUS_NO_MORE_FILES ((NTSTATUS)0x80000006L)
-#define STATUS_WAKE_SYSTEM_DEBUGGER ((NTSTATUS)0x80000007L)
-#define STATUS_HANDLES_CLOSED ((NTSTATUS)0x8000000AL)
-#define STATUS_NO_INHERITANCE ((NTSTATUS)0x8000000BL)
-#define STATUS_GUID_SUBSTITUTION_MADE ((NTSTATUS)0x8000000CL)
-#define STATUS_PARTIAL_COPY ((NTSTATUS)0x8000000DL)
-#define STATUS_DEVICE_PAPER_EMPTY ((NTSTATUS)0x8000000EL)
-#define STATUS_DEVICE_POWERED_OFF ((NTSTATUS)0x8000000FL)
-#define STATUS_DEVICE_OFF_LINE ((NTSTATUS)0x80000010L)
-#define STATUS_DEVICE_BUSY ((NTSTATUS)0x80000011L)
-#define STATUS_NO_MORE_EAS ((NTSTATUS)0x80000012L)
-#define STATUS_INVALID_EA_NAME ((NTSTATUS)0x80000013L)
-#define STATUS_EA_LIST_INCONSISTENT ((NTSTATUS)0x80000014L)
-#define STATUS_INVALID_EA_FLAG ((NTSTATUS)0x80000015L)
-#define STATUS_VERIFY_REQUIRED ((NTSTATUS)0x80000016L)
-#define STATUS_EXTRANEOUS_INFORMATION ((NTSTATUS)0x80000017L)
-#define STATUS_RXACT_COMMIT_NECESSARY ((NTSTATUS)0x80000018L)
-#define STATUS_NO_MORE_ENTRIES ((NTSTATUS)0x8000001AL)
-#define STATUS_FILEMARK_DETECTED ((NTSTATUS)0x8000001BL)
-#define STATUS_MEDIA_CHANGED ((NTSTATUS)0x8000001CL)
-#define STATUS_BUS_RESET ((NTSTATUS)0x8000001DL)
-#define STATUS_END_OF_MEDIA ((NTSTATUS)0x8000001EL)
-#define STATUS_BEGINNING_OF_MEDIA ((NTSTATUS)0x8000001FL)
-#define STATUS_MEDIA_CHECK ((NTSTATUS)0x80000020L)
-#define STATUS_SETMARK_DETECTED ((NTSTATUS)0x80000021L)
-#define STATUS_NO_DATA_DETECTED ((NTSTATUS)0x80000022L)
-#define STATUS_REDIRECTOR_HAS_OPEN_HANDLES ((NTSTATUS)0x80000023L)
-#define STATUS_SERVER_HAS_OPEN_HANDLES ((NTSTATUS)0x80000024L)
-#define STATUS_ALREADY_DISCONNECTED ((NTSTATUS)0x80000025L)
-#define STATUS_LONGJUMP ((NTSTATUS)0x80000026L)
-#define STATUS_CLEANER_CARTRIDGE_INSTALLED ((NTSTATUS)0x80000027L)
-#define STATUS_PLUGPLAY_QUERY_VETOED ((NTSTATUS)0x80000028L)
-#define STATUS_UNWIND_CONSOLIDATE ((NTSTATUS)0x80000029L)
-#define STATUS_CLUSTER_NODE_ALREADY_UP ((NTSTATUS)0x80130001L)
-#define STATUS_CLUSTER_NODE_ALREADY_DOWN ((NTSTATUS)0x80130002L)
-#define STATUS_CLUSTER_NETWORK_ALREADY_ONLINE ((NTSTATUS)0x80130003L)
-#define STATUS_CLUSTER_NETWORK_ALREADY_OFFLINE ((NTSTATUS)0x80130004L)
-#define STATUS_CLUSTER_NODE_ALREADY_MEMBER ((NTSTATUS)0x80130005L)
-#define STATUS_UNSUCCESSFUL ((NTSTATUS)0xC0000001L)
-#define STATUS_NOT_IMPLEMENTED ((NTSTATUS)0xC0000002L)
-#define STATUS_INVALID_INFO_CLASS ((NTSTATUS)0xC0000003L)
-#define STATUS_INFO_LENGTH_MISMATCH ((NTSTATUS)0xC0000004L)
-#define STATUS_ACCESS_VIOLATION ((NTSTATUS)0xC0000005L)
-#define STATUS_IN_PAGE_ERROR ((NTSTATUS)0xC0000006L)
-#define STATUS_PAGEFILE_QUOTA ((NTSTATUS)0xC0000007L)
-#define STATUS_INVALID_HANDLE ((NTSTATUS)0xC0000008L)
-#define STATUS_BAD_INITIAL_STACK ((NTSTATUS)0xC0000009L)
-#define STATUS_BAD_INITIAL_PC ((NTSTATUS)0xC000000AL)
-#define STATUS_INVALID_CID ((NTSTATUS)0xC000000BL)
-#define STATUS_TIMER_NOT_CANCELED ((NTSTATUS)0xC000000CL)
-#define STATUS_INVALID_PARAMETER ((NTSTATUS)0xC000000DL)
-#define STATUS_NO_SUCH_DEVICE ((NTSTATUS)0xC000000EL)
-#define STATUS_NO_SUCH_FILE ((NTSTATUS)0xC000000FL)
-#define STATUS_INVALID_DEVICE_REQUEST ((NTSTATUS)0xC0000010L)
-#define STATUS_END_OF_FILE ((NTSTATUS)0xC0000011L)
-#define STATUS_WRONG_VOLUME ((NTSTATUS)0xC0000012L)
-#define STATUS_NO_MEDIA_IN_DEVICE ((NTSTATUS)0xC0000013L)
-#define STATUS_UNRECOGNIZED_MEDIA ((NTSTATUS)0xC0000014L)
-#define STATUS_NONEXISTENT_SECTOR ((NTSTATUS)0xC0000015L)
-#define STATUS_MORE_PROCESSING_REQUIRED ((NTSTATUS)0xC0000016L)
-#define STATUS_NO_MEMORY ((NTSTATUS)0xC0000017L)
-#define STATUS_CONFLICTING_ADDRESSES ((NTSTATUS)0xC0000018L)
-#define STATUS_NOT_MAPPED_VIEW ((NTSTATUS)0xC0000019L)
-#define STATUS_UNABLE_TO_FREE_VM ((NTSTATUS)0xC000001AL)
-#define STATUS_UNABLE_TO_DELETE_SECTION ((NTSTATUS)0xC000001BL)
-#define STATUS_INVALID_SYSTEM_SERVICE ((NTSTATUS)0xC000001CL)
-#define STATUS_ILLEGAL_INSTRUCTION ((NTSTATUS)0xC000001DL)
-#define STATUS_INVALID_LOCK_SEQUENCE ((NTSTATUS)0xC000001EL)
-#define STATUS_INVALID_VIEW_SIZE ((NTSTATUS)0xC000001FL)
-#define STATUS_INVALID_FILE_FOR_SECTION ((NTSTATUS)0xC0000020L)
-#define STATUS_ALREADY_COMMITTED ((NTSTATUS)0xC0000021L)
-#define STATUS_ACCESS_DENIED ((NTSTATUS)0xC0000022L)
-#define STATUS_BUFFER_TOO_SMALL ((NTSTATUS)0xC0000023L)
-#define STATUS_OBJECT_TYPE_MISMATCH ((NTSTATUS)0xC0000024L)
-#define STATUS_NONCONTINUABLE_EXCEPTION ((NTSTATUS)0xC0000025L)
-#define STATUS_INVALID_DISPOSITION ((NTSTATUS)0xC0000026L)
-#define STATUS_UNWIND ((NTSTATUS)0xC0000027L)
-#define STATUS_BAD_STACK ((NTSTATUS)0xC0000028L)
-#define STATUS_INVALID_UNWIND_TARGET ((NTSTATUS)0xC0000029L)
-#define STATUS_NOT_LOCKED ((NTSTATUS)0xC000002AL)
-#define STATUS_PARITY_ERROR ((NTSTATUS)0xC000002BL)
-#define STATUS_UNABLE_TO_DECOMMIT_VM ((NTSTATUS)0xC000002CL)
-#define STATUS_NOT_COMMITTED ((NTSTATUS)0xC000002DL)
-#define STATUS_INVALID_PORT_ATTRIBUTES ((NTSTATUS)0xC000002EL)
-#define STATUS_PORT_MESSAGE_TOO_LONG ((NTSTATUS)0xC000002FL)
-#define STATUS_INVALID_PARAMETER_MIX ((NTSTATUS)0xC0000030L)
-#define STATUS_INVALID_QUOTA_LOWER ((NTSTATUS)0xC0000031L)
-#define STATUS_DISK_CORRUPT_ERROR ((NTSTATUS)0xC0000032L)
-#define STATUS_OBJECT_NAME_INVALID ((NTSTATUS)0xC0000033L)
-#define STATUS_OBJECT_NAME_NOT_FOUND ((NTSTATUS)0xC0000034L)
-#define STATUS_OBJECT_NAME_COLLISION ((NTSTATUS)0xC0000035L)
-#define STATUS_PORT_DISCONNECTED ((NTSTATUS)0xC0000037L)
-#define STATUS_DEVICE_ALREADY_ATTACHED ((NTSTATUS)0xC0000038L)
-#define STATUS_OBJECT_PATH_INVALID ((NTSTATUS)0xC0000039L)
-#define STATUS_OBJECT_PATH_NOT_FOUND ((NTSTATUS)0xC000003AL)
-#define STATUS_OBJECT_PATH_SYNTAX_BAD ((NTSTATUS)0xC000003BL)
-#define STATUS_DATA_OVERRUN ((NTSTATUS)0xC000003CL)
-#define STATUS_DATA_LATE_ERROR ((NTSTATUS)0xC000003DL)
-#define STATUS_DATA_ERROR ((NTSTATUS)0xC000003EL)
-#define STATUS_CRC_ERROR ((NTSTATUS)0xC000003FL)
-#define STATUS_SECTION_TOO_BIG ((NTSTATUS)0xC0000040L)
-#define STATUS_PORT_CONNECTION_REFUSED ((NTSTATUS)0xC0000041L)
-#define STATUS_INVALID_PORT_HANDLE ((NTSTATUS)0xC0000042L)
-#define STATUS_SHARING_VIOLATION ((NTSTATUS)0xC0000043L)
-#define STATUS_QUOTA_EXCEEDED ((NTSTATUS)0xC0000044L)
-#define STATUS_INVALID_PAGE_PROTECTION ((NTSTATUS)0xC0000045L)
-#define STATUS_MUTANT_NOT_OWNED ((NTSTATUS)0xC0000046L)
-#define STATUS_SEMAPHORE_LIMIT_EXCEEDED ((NTSTATUS)0xC0000047L)
-#define STATUS_PORT_ALREADY_SET ((NTSTATUS)0xC0000048L)
-#define STATUS_SECTION_NOT_IMAGE ((NTSTATUS)0xC0000049L)
-#define STATUS_SUSPEND_COUNT_EXCEEDED ((NTSTATUS)0xC000004AL)
-#define STATUS_THREAD_IS_TERMINATING ((NTSTATUS)0xC000004BL)
-#define STATUS_BAD_WORKING_SET_LIMIT ((NTSTATUS)0xC000004CL)
-#define STATUS_INCOMPATIBLE_FILE_MAP ((NTSTATUS)0xC000004DL)
-#define STATUS_SECTION_PROTECTION ((NTSTATUS)0xC000004EL)
-#define STATUS_EAS_NOT_SUPPORTED ((NTSTATUS)0xC000004FL)
-#define STATUS_EA_TOO_LARGE ((NTSTATUS)0xC0000050L)
-#define STATUS_NONEXISTENT_EA_ENTRY ((NTSTATUS)0xC0000051L)
-#define STATUS_NO_EAS_ON_FILE ((NTSTATUS)0xC0000052L)
-#define STATUS_EA_CORRUPT_ERROR ((NTSTATUS)0xC0000053L)
-#define STATUS_FILE_LOCK_CONFLICT ((NTSTATUS)0xC0000054L)
-#define STATUS_LOCK_NOT_GRANTED ((NTSTATUS)0xC0000055L)
-#define STATUS_DELETE_PENDING ((NTSTATUS)0xC0000056L)
-#define STATUS_CTL_FILE_NOT_SUPPORTED ((NTSTATUS)0xC0000057L)
-#define STATUS_UNKNOWN_REVISION ((NTSTATUS)0xC0000058L)
-#define STATUS_REVISION_MISMATCH ((NTSTATUS)0xC0000059L)
-#define STATUS_INVALID_OWNER ((NTSTATUS)0xC000005AL)
-#define STATUS_INVALID_PRIMARY_GROUP ((NTSTATUS)0xC000005BL)
-#define STATUS_NO_IMPERSONATION_TOKEN ((NTSTATUS)0xC000005CL)
-#define STATUS_CANT_DISABLE_MANDATORY ((NTSTATUS)0xC000005DL)
-#define STATUS_NO_LOGON_SERVERS ((NTSTATUS)0xC000005EL)
-#define STATUS_NO_SUCH_LOGON_SESSION ((NTSTATUS)0xC000005FL)
-#define STATUS_NO_SUCH_PRIVILEGE ((NTSTATUS)0xC0000060L)
-#define STATUS_PRIVILEGE_NOT_HELD ((NTSTATUS)0xC0000061L)
-#define STATUS_INVALID_ACCOUNT_NAME ((NTSTATUS)0xC0000062L)
-#define STATUS_USER_EXISTS ((NTSTATUS)0xC0000063L)
-#define STATUS_NO_SUCH_USER ((NTSTATUS)0xC0000064L)
-#define STATUS_GROUP_EXISTS ((NTSTATUS)0xC0000065L)
-#define STATUS_NO_SUCH_GROUP ((NTSTATUS)0xC0000066L)
-#define STATUS_MEMBER_IN_GROUP ((NTSTATUS)0xC0000067L)
-#define STATUS_MEMBER_NOT_IN_GROUP ((NTSTATUS)0xC0000068L)
-#define STATUS_LAST_ADMIN ((NTSTATUS)0xC0000069L)
-#define STATUS_WRONG_PASSWORD ((NTSTATUS)0xC000006AL)
-#define STATUS_ILL_FORMED_PASSWORD ((NTSTATUS)0xC000006BL)
-#define STATUS_PASSWORD_RESTRICTION ((NTSTATUS)0xC000006CL)
-#define STATUS_LOGON_FAILURE ((NTSTATUS)0xC000006DL)
-#define STATUS_ACCOUNT_RESTRICTION ((NTSTATUS)0xC000006EL)
-#define STATUS_INVALID_LOGON_HOURS ((NTSTATUS)0xC000006FL)
-#define STATUS_INVALID_WORKSTATION ((NTSTATUS)0xC0000070L)
-#define STATUS_PASSWORD_EXPIRED ((NTSTATUS)0xC0000071L)
-#define STATUS_ACCOUNT_DISABLED ((NTSTATUS)0xC0000072L)
-#define STATUS_NONE_MAPPED ((NTSTATUS)0xC0000073L)
-#define STATUS_TOO_MANY_LUIDS_REQUESTED ((NTSTATUS)0xC0000074L)
-#define STATUS_LUIDS_EXHAUSTED ((NTSTATUS)0xC0000075L)
-#define STATUS_INVALID_SUB_AUTHORITY ((NTSTATUS)0xC0000076L)
-#define STATUS_INVALID_ACL ((NTSTATUS)0xC0000077L)
-#define STATUS_INVALID_SID ((NTSTATUS)0xC0000078L)
-#define STATUS_INVALID_SECURITY_DESCR ((NTSTATUS)0xC0000079L)
-#define STATUS_PROCEDURE_NOT_FOUND ((NTSTATUS)0xC000007AL)
-#define STATUS_INVALID_IMAGE_FORMAT ((NTSTATUS)0xC000007BL)
-#define STATUS_NO_TOKEN ((NTSTATUS)0xC000007CL)
-#define STATUS_BAD_INHERITANCE_ACL ((NTSTATUS)0xC000007DL)
-#define STATUS_RANGE_NOT_LOCKED ((NTSTATUS)0xC000007EL)
-#define STATUS_DISK_FULL ((NTSTATUS)0xC000007FL)
-#define STATUS_SERVER_DISABLED ((NTSTATUS)0xC0000080L)
-#define STATUS_SERVER_NOT_DISABLED ((NTSTATUS)0xC0000081L)
-#define STATUS_TOO_MANY_GUIDS_REQUESTED ((NTSTATUS)0xC0000082L)
-#define STATUS_GUIDS_EXHAUSTED ((NTSTATUS)0xC0000083L)
-#define STATUS_INVALID_ID_AUTHORITY ((NTSTATUS)0xC0000084L)
-#define STATUS_AGENTS_EXHAUSTED ((NTSTATUS)0xC0000085L)
-#define STATUS_INVALID_VOLUME_LABEL ((NTSTATUS)0xC0000086L)
-#define STATUS_SECTION_NOT_EXTENDED ((NTSTATUS)0xC0000087L)
-#define STATUS_NOT_MAPPED_DATA ((NTSTATUS)0xC0000088L)
-#define STATUS_RESOURCE_DATA_NOT_FOUND ((NTSTATUS)0xC0000089L)
-#define STATUS_RESOURCE_TYPE_NOT_FOUND ((NTSTATUS)0xC000008AL)
-#define STATUS_RESOURCE_NAME_NOT_FOUND ((NTSTATUS)0xC000008BL)
-#define STATUS_ARRAY_BOUNDS_EXCEEDED ((NTSTATUS)0xC000008CL)
-#define STATUS_FLOAT_DENORMAL_OPERAND ((NTSTATUS)0xC000008DL)
-#define STATUS_FLOAT_DIVIDE_BY_ZERO ((NTSTATUS)0xC000008EL)
-#define STATUS_FLOAT_INEXACT_RESULT ((NTSTATUS)0xC000008FL)
-#define STATUS_FLOAT_INVALID_OPERATION ((NTSTATUS)0xC0000090L)
-#define STATUS_FLOAT_OVERFLOW ((NTSTATUS)0xC0000091L)
-#define STATUS_FLOAT_STACK_CHECK ((NTSTATUS)0xC0000092L)
-#define STATUS_FLOAT_UNDERFLOW ((NTSTATUS)0xC0000093L)
-#define STATUS_INTEGER_DIVIDE_BY_ZERO ((NTSTATUS)0xC0000094L)
-#define STATUS_INTEGER_OVERFLOW ((NTSTATUS)0xC0000095L)
-#define STATUS_PRIVILEGED_INSTRUCTION ((NTSTATUS)0xC0000096L)
-#define STATUS_TOO_MANY_PAGING_FILES ((NTSTATUS)0xC0000097L)
-#define STATUS_FILE_INVALID ((NTSTATUS)0xC0000098L)
-#define STATUS_ALLOTTED_SPACE_EXCEEDED ((NTSTATUS)0xC0000099L)
-#define STATUS_INSUFFICIENT_RESOURCES ((NTSTATUS)0xC000009AL)
-#define STATUS_DFS_EXIT_PATH_FOUND ((NTSTATUS)0xC000009BL)
-#define STATUS_DEVICE_DATA_ERROR ((NTSTATUS)0xC000009CL)
-#define STATUS_DEVICE_NOT_CONNECTED ((NTSTATUS)0xC000009DL)
-#define STATUS_DEVICE_POWER_FAILURE ((NTSTATUS)0xC000009EL)
-#define STATUS_FREE_VM_NOT_AT_BASE ((NTSTATUS)0xC000009FL)
-#define STATUS_MEMORY_NOT_ALLOCATED ((NTSTATUS)0xC00000A0L)
-#define STATUS_WORKING_SET_QUOTA ((NTSTATUS)0xC00000A1L)
-#define STATUS_MEDIA_WRITE_PROTECTED ((NTSTATUS)0xC00000A2L)
-#define STATUS_DEVICE_NOT_READY ((NTSTATUS)0xC00000A3L)
-#define STATUS_INVALID_GROUP_ATTRIBUTES ((NTSTATUS)0xC00000A4L)
-#define STATUS_BAD_IMPERSONATION_LEVEL ((NTSTATUS)0xC00000A5L)
-#define STATUS_CANT_OPEN_ANONYMOUS ((NTSTATUS)0xC00000A6L)
-#define STATUS_BAD_VALIDATION_CLASS ((NTSTATUS)0xC00000A7L)
-#define STATUS_BAD_TOKEN_TYPE ((NTSTATUS)0xC00000A8L)
-#define STATUS_BAD_MASTER_BOOT_RECORD ((NTSTATUS)0xC00000A9L)
-#define STATUS_INSTRUCTION_MISALIGNMENT ((NTSTATUS)0xC00000AAL)
-#define STATUS_INSTANCE_NOT_AVAILABLE ((NTSTATUS)0xC00000ABL)
-#define STATUS_PIPE_NOT_AVAILABLE ((NTSTATUS)0xC00000ACL)
-#define STATUS_INVALID_PIPE_STATE ((NTSTATUS)0xC00000ADL)
-#define STATUS_PIPE_BUSY ((NTSTATUS)0xC00000AEL)
-#define STATUS_ILLEGAL_FUNCTION ((NTSTATUS)0xC00000AFL)
-#define STATUS_PIPE_DISCONNECTED ((NTSTATUS)0xC00000B0L)
-#define STATUS_PIPE_CLOSING ((NTSTATUS)0xC00000B1L)
-#define STATUS_PIPE_CONNECTED ((NTSTATUS)0xC00000B2L)
-#define STATUS_PIPE_LISTENING ((NTSTATUS)0xC00000B3L)
-#define STATUS_INVALID_READ_MODE ((NTSTATUS)0xC00000B4L)
-#define STATUS_IO_TIMEOUT ((NTSTATUS)0xC00000B5L)
-#define STATUS_FILE_FORCED_CLOSED ((NTSTATUS)0xC00000B6L)
-#define STATUS_PROFILING_NOT_STARTED ((NTSTATUS)0xC00000B7L)
-#define STATUS_PROFILING_NOT_STOPPED ((NTSTATUS)0xC00000B8L)
-#define STATUS_COULD_NOT_INTERPRET ((NTSTATUS)0xC00000B9L)
-#define STATUS_FILE_IS_A_DIRECTORY ((NTSTATUS)0xC00000BAL)
-#define STATUS_NOT_SUPPORTED ((NTSTATUS)0xC00000BBL)
-#define STATUS_REMOTE_NOT_LISTENING ((NTSTATUS)0xC00000BCL)
-#define STATUS_DUPLICATE_NAME ((NTSTATUS)0xC00000BDL)
-#define STATUS_BAD_NETWORK_PATH ((NTSTATUS)0xC00000BEL)
-#define STATUS_NETWORK_BUSY ((NTSTATUS)0xC00000BFL)
-#define STATUS_DEVICE_DOES_NOT_EXIST ((NTSTATUS)0xC00000C0L)
-#define STATUS_TOO_MANY_COMMANDS ((NTSTATUS)0xC00000C1L)
-#define STATUS_ADAPTER_HARDWARE_ERROR ((NTSTATUS)0xC00000C2L)
-#define STATUS_INVALID_NETWORK_RESPONSE ((NTSTATUS)0xC00000C3L)
-#define STATUS_UNEXPECTED_NETWORK_ERROR ((NTSTATUS)0xC00000C4L)
-#define STATUS_BAD_REMOTE_ADAPTER ((NTSTATUS)0xC00000C5L)
-#define STATUS_PRINT_QUEUE_FULL ((NTSTATUS)0xC00000C6L)
-#define STATUS_NO_SPOOL_SPACE ((NTSTATUS)0xC00000C7L)
-#define STATUS_PRINT_CANCELLED ((NTSTATUS)0xC00000C8L)
-#define STATUS_NETWORK_NAME_DELETED ((NTSTATUS)0xC00000C9L)
-#define STATUS_NETWORK_ACCESS_DENIED ((NTSTATUS)0xC00000CAL)
-#define STATUS_BAD_DEVICE_TYPE ((NTSTATUS)0xC00000CBL)
-#define STATUS_BAD_NETWORK_NAME ((NTSTATUS)0xC00000CCL)
-#define STATUS_TOO_MANY_NAMES ((NTSTATUS)0xC00000CDL)
-#define STATUS_TOO_MANY_SESSIONS ((NTSTATUS)0xC00000CEL)
-#define STATUS_SHARING_PAUSED ((NTSTATUS)0xC00000CFL)
-#define STATUS_REQUEST_NOT_ACCEPTED ((NTSTATUS)0xC00000D0L)
-#define STATUS_REDIRECTOR_PAUSED ((NTSTATUS)0xC00000D1L)
-#define STATUS_NET_WRITE_FAULT ((NTSTATUS)0xC00000D2L)
-#define STATUS_PROFILING_AT_LIMIT ((NTSTATUS)0xC00000D3L)
-#define STATUS_NOT_SAME_DEVICE ((NTSTATUS)0xC00000D4L)
-#define STATUS_FILE_RENAMED ((NTSTATUS)0xC00000D5L)
-#define STATUS_VIRTUAL_CIRCUIT_CLOSED ((NTSTATUS)0xC00000D6L)
-#define STATUS_NO_SECURITY_ON_OBJECT ((NTSTATUS)0xC00000D7L)
-#define STATUS_CANT_WAIT ((NTSTATUS)0xC00000D8L)
-#define STATUS_PIPE_EMPTY ((NTSTATUS)0xC00000D9L)
-#define STATUS_CANT_ACCESS_DOMAIN_INFO ((NTSTATUS)0xC00000DAL)
-#define STATUS_CANT_TERMINATE_SELF ((NTSTATUS)0xC00000DBL)
-#define STATUS_INVALID_SERVER_STATE ((NTSTATUS)0xC00000DCL)
-#define STATUS_INVALID_DOMAIN_STATE ((NTSTATUS)0xC00000DDL)
-#define STATUS_INVALID_DOMAIN_ROLE ((NTSTATUS)0xC00000DEL)
-#define STATUS_NO_SUCH_DOMAIN ((NTSTATUS)0xC00000DFL)
-#define STATUS_DOMAIN_EXISTS ((NTSTATUS)0xC00000E0L)
-#define STATUS_DOMAIN_LIMIT_EXCEEDED ((NTSTATUS)0xC00000E1L)
-#define STATUS_OPLOCK_NOT_GRANTED ((NTSTATUS)0xC00000E2L)
-#define STATUS_INVALID_OPLOCK_PROTOCOL ((NTSTATUS)0xC00000E3L)
-#define STATUS_INTERNAL_DB_CORRUPTION ((NTSTATUS)0xC00000E4L)
-#define STATUS_INTERNAL_ERROR ((NTSTATUS)0xC00000E5L)
-#define STATUS_GENERIC_NOT_MAPPED ((NTSTATUS)0xC00000E6L)
-#define STATUS_BAD_DESCRIPTOR_FORMAT ((NTSTATUS)0xC00000E7L)
-#define STATUS_INVALID_USER_BUFFER ((NTSTATUS)0xC00000E8L)
-#define STATUS_UNEXPECTED_IO_ERROR ((NTSTATUS)0xC00000E9L)
-#define STATUS_UNEXPECTED_MM_CREATE_ERR ((NTSTATUS)0xC00000EAL)
-#define STATUS_UNEXPECTED_MM_MAP_ERROR ((NTSTATUS)0xC00000EBL)
-#define STATUS_UNEXPECTED_MM_EXTEND_ERR ((NTSTATUS)0xC00000ECL)
-#define STATUS_NOT_LOGON_PROCESS ((NTSTATUS)0xC00000EDL)
-#define STATUS_LOGON_SESSION_EXISTS ((NTSTATUS)0xC00000EEL)
-#define STATUS_INVALID_PARAMETER_1 ((NTSTATUS)0xC00000EFL)
-#define STATUS_INVALID_PARAMETER_2 ((NTSTATUS)0xC00000F0L)
-#define STATUS_INVALID_PARAMETER_3 ((NTSTATUS)0xC00000F1L)
-#define STATUS_INVALID_PARAMETER_4 ((NTSTATUS)0xC00000F2L)
-#define STATUS_INVALID_PARAMETER_5 ((NTSTATUS)0xC00000F3L)
-#define STATUS_INVALID_PARAMETER_6 ((NTSTATUS)0xC00000F4L)
-#define STATUS_INVALID_PARAMETER_7 ((NTSTATUS)0xC00000F5L)
-#define STATUS_INVALID_PARAMETER_8 ((NTSTATUS)0xC00000F6L)
-#define STATUS_INVALID_PARAMETER_9 ((NTSTATUS)0xC00000F7L)
-#define STATUS_INVALID_PARAMETER_10 ((NTSTATUS)0xC00000F8L)
-#define STATUS_INVALID_PARAMETER_11 ((NTSTATUS)0xC00000F9L)
-#define STATUS_INVALID_PARAMETER_12 ((NTSTATUS)0xC00000FAL)
-#define STATUS_REDIRECTOR_NOT_STARTED ((NTSTATUS)0xC00000FBL)
-#define STATUS_REDIRECTOR_STARTED ((NTSTATUS)0xC00000FCL)
-#define STATUS_STACK_OVERFLOW ((NTSTATUS)0xC00000FDL)
-#define STATUS_NO_SUCH_PACKAGE ((NTSTATUS)0xC00000FEL)
-#define STATUS_BAD_FUNCTION_TABLE ((NTSTATUS)0xC00000FFL)
-#define STATUS_VARIABLE_NOT_FOUND ((NTSTATUS)0xC0000100L)
-#define STATUS_DIRECTORY_NOT_EMPTY ((NTSTATUS)0xC0000101L)
-#define STATUS_FILE_CORRUPT_ERROR ((NTSTATUS)0xC0000102L)
-#define STATUS_NOT_A_DIRECTORY ((NTSTATUS)0xC0000103L)
-#define STATUS_BAD_LOGON_SESSION_STATE ((NTSTATUS)0xC0000104L)
-#define STATUS_LOGON_SESSION_COLLISION ((NTSTATUS)0xC0000105L)
-#define STATUS_NAME_TOO_LONG ((NTSTATUS)0xC0000106L)
-#define STATUS_FILES_OPEN ((NTSTATUS)0xC0000107L)
-#define STATUS_CONNECTION_IN_USE ((NTSTATUS)0xC0000108L)
-#define STATUS_MESSAGE_NOT_FOUND ((NTSTATUS)0xC0000109L)
-#define STATUS_PROCESS_IS_TERMINATING ((NTSTATUS)0xC000010AL)
-#define STATUS_INVALID_LOGON_TYPE ((NTSTATUS)0xC000010BL)
-#define STATUS_NO_GUID_TRANSLATION ((NTSTATUS)0xC000010CL)
-#define STATUS_CANNOT_IMPERSONATE ((NTSTATUS)0xC000010DL)
-#define STATUS_IMAGE_ALREADY_LOADED ((NTSTATUS)0xC000010EL)
-#define STATUS_ABIOS_NOT_PRESENT ((NTSTATUS)0xC000010FL)
-#define STATUS_ABIOS_LID_NOT_EXIST ((NTSTATUS)0xC0000110L)
-#define STATUS_ABIOS_LID_ALREADY_OWNED ((NTSTATUS)0xC0000111L)
-#define STATUS_ABIOS_NOT_LID_OWNER ((NTSTATUS)0xC0000112L)
-#define STATUS_ABIOS_INVALID_COMMAND ((NTSTATUS)0xC0000113L)
-#define STATUS_ABIOS_INVALID_LID ((NTSTATUS)0xC0000114L)
-#define STATUS_ABIOS_SELECTOR_NOT_AVAILABLE ((NTSTATUS)0xC0000115L)
-#define STATUS_ABIOS_INVALID_SELECTOR ((NTSTATUS)0xC0000116L)
-#define STATUS_NO_LDT ((NTSTATUS)0xC0000117L)
-#define STATUS_INVALID_LDT_SIZE ((NTSTATUS)0xC0000118L)
-#define STATUS_INVALID_LDT_OFFSET ((NTSTATUS)0xC0000119L)
-#define STATUS_INVALID_LDT_DESCRIPTOR ((NTSTATUS)0xC000011AL)
-#define STATUS_INVALID_IMAGE_NE_FORMAT ((NTSTATUS)0xC000011BL)
-#define STATUS_RXACT_INVALID_STATE ((NTSTATUS)0xC000011CL)
-#define STATUS_RXACT_COMMIT_FAILURE ((NTSTATUS)0xC000011DL)
-#define STATUS_MAPPED_FILE_SIZE_ZERO ((NTSTATUS)0xC000011EL)
-#define STATUS_TOO_MANY_OPENED_FILES ((NTSTATUS)0xC000011FL)
-#define STATUS_CANCELLED ((NTSTATUS)0xC0000120L)
-#define STATUS_CANNOT_DELETE ((NTSTATUS)0xC0000121L)
-#define STATUS_INVALID_COMPUTER_NAME ((NTSTATUS)0xC0000122L)
-#define STATUS_FILE_DELETED ((NTSTATUS)0xC0000123L)
-#define STATUS_SPECIAL_ACCOUNT ((NTSTATUS)0xC0000124L)
-#define STATUS_SPECIAL_GROUP ((NTSTATUS)0xC0000125L)
-#define STATUS_SPECIAL_USER ((NTSTATUS)0xC0000126L)
-#define STATUS_MEMBERS_PRIMARY_GROUP ((NTSTATUS)0xC0000127L)
-#define STATUS_FILE_CLOSED ((NTSTATUS)0xC0000128L)
-#define STATUS_TOO_MANY_THREADS ((NTSTATUS)0xC0000129L)
-#define STATUS_THREAD_NOT_IN_PROCESS ((NTSTATUS)0xC000012AL)
-#define STATUS_TOKEN_ALREADY_IN_USE ((NTSTATUS)0xC000012BL)
-#define STATUS_PAGEFILE_QUOTA_EXCEEDED ((NTSTATUS)0xC000012CL)
-#define STATUS_COMMITMENT_LIMIT ((NTSTATUS)0xC000012DL)
-#define STATUS_INVALID_IMAGE_LE_FORMAT ((NTSTATUS)0xC000012EL)
-#define STATUS_INVALID_IMAGE_NOT_MZ ((NTSTATUS)0xC000012FL)
-#define STATUS_INVALID_IMAGE_PROTECT ((NTSTATUS)0xC0000130L)
-#define STATUS_INVALID_IMAGE_WIN_16 ((NTSTATUS)0xC0000131L)
-#define STATUS_LOGON_SERVER_CONFLICT ((NTSTATUS)0xC0000132L)
-#define STATUS_TIME_DIFFERENCE_AT_DC ((NTSTATUS)0xC0000133L)
-#define STATUS_SYNCHRONIZATION_REQUIRED ((NTSTATUS)0xC0000134L)
-#define STATUS_DLL_NOT_FOUND ((NTSTATUS)0xC0000135L)
-#define STATUS_OPEN_FAILED ((NTSTATUS)0xC0000136L)
-#define STATUS_IO_PRIVILEGE_FAILED ((NTSTATUS)0xC0000137L)
-#define STATUS_ORDINAL_NOT_FOUND ((NTSTATUS)0xC0000138L)
-#define STATUS_ENTRYPOINT_NOT_FOUND ((NTSTATUS)0xC0000139L)
-#define STATUS_CONTROL_C_EXIT ((NTSTATUS)0xC000013AL)
-#define STATUS_LOCAL_DISCONNECT ((NTSTATUS)0xC000013BL)
-#define STATUS_REMOTE_DISCONNECT ((NTSTATUS)0xC000013CL)
-#define STATUS_REMOTE_RESOURCES ((NTSTATUS)0xC000013DL)
-#define STATUS_LINK_FAILED ((NTSTATUS)0xC000013EL)
-#define STATUS_LINK_TIMEOUT ((NTSTATUS)0xC000013FL)
-#define STATUS_INVALID_CONNECTION ((NTSTATUS)0xC0000140L)
-#define STATUS_INVALID_ADDRESS ((NTSTATUS)0xC0000141L)
-#define STATUS_DLL_INIT_FAILED ((NTSTATUS)0xC0000142L)
-#define STATUS_MISSING_SYSTEMFILE ((NTSTATUS)0xC0000143L)
-#define STATUS_UNHANDLED_EXCEPTION ((NTSTATUS)0xC0000144L)
-#define STATUS_APP_INIT_FAILURE ((NTSTATUS)0xC0000145L)
-#define STATUS_PAGEFILE_CREATE_FAILED ((NTSTATUS)0xC0000146L)
-#define STATUS_NO_PAGEFILE ((NTSTATUS)0xC0000147L)
-#define STATUS_INVALID_LEVEL ((NTSTATUS)0xC0000148L)
-#define STATUS_WRONG_PASSWORD_CORE ((NTSTATUS)0xC0000149L)
-#define STATUS_ILLEGAL_FLOAT_CONTEXT ((NTSTATUS)0xC000014AL)
-#define STATUS_PIPE_BROKEN ((NTSTATUS)0xC000014BL)
-#define STATUS_REGISTRY_CORRUPT ((NTSTATUS)0xC000014CL)
-#define STATUS_REGISTRY_IO_FAILED ((NTSTATUS)0xC000014DL)
-#define STATUS_NO_EVENT_PAIR ((NTSTATUS)0xC000014EL)
-#define STATUS_UNRECOGNIZED_VOLUME ((NTSTATUS)0xC000014FL)
-#define STATUS_SERIAL_NO_DEVICE_INITED ((NTSTATUS)0xC0000150L)
-#define STATUS_NO_SUCH_ALIAS ((NTSTATUS)0xC0000151L)
-#define STATUS_MEMBER_NOT_IN_ALIAS ((NTSTATUS)0xC0000152L)
-#define STATUS_MEMBER_IN_ALIAS ((NTSTATUS)0xC0000153L)
-#define STATUS_ALIAS_EXISTS ((NTSTATUS)0xC0000154L)
-#define STATUS_LOGON_NOT_GRANTED ((NTSTATUS)0xC0000155L)
-#define STATUS_TOO_MANY_SECRETS ((NTSTATUS)0xC0000156L)
-#define STATUS_SECRET_TOO_LONG ((NTSTATUS)0xC0000157L)
-#define STATUS_INTERNAL_DB_ERROR ((NTSTATUS)0xC0000158L)
-#define STATUS_FULLSCREEN_MODE ((NTSTATUS)0xC0000159L)
-#define STATUS_TOO_MANY_CONTEXT_IDS ((NTSTATUS)0xC000015AL)
-#define STATUS_LOGON_TYPE_NOT_GRANTED ((NTSTATUS)0xC000015BL)
-#define STATUS_NOT_REGISTRY_FILE ((NTSTATUS)0xC000015CL)
-#define STATUS_NT_CROSS_ENCRYPTION_REQUIRED ((NTSTATUS)0xC000015DL)
-#define STATUS_DOMAIN_CTRLR_CONFIG_ERROR ((NTSTATUS)0xC000015EL)
-#define STATUS_FT_MISSING_MEMBER ((NTSTATUS)0xC000015FL)
-#define STATUS_ILL_FORMED_SERVICE_ENTRY ((NTSTATUS)0xC0000160L)
-#define STATUS_ILLEGAL_CHARACTER ((NTSTATUS)0xC0000161L)
-#define STATUS_UNMAPPABLE_CHARACTER ((NTSTATUS)0xC0000162L)
-#define STATUS_UNDEFINED_CHARACTER ((NTSTATUS)0xC0000163L)
-#define STATUS_FLOPPY_VOLUME ((NTSTATUS)0xC0000164L)
-#define STATUS_FLOPPY_ID_MARK_NOT_FOUND ((NTSTATUS)0xC0000165L)
-#define STATUS_FLOPPY_WRONG_CYLINDER ((NTSTATUS)0xC0000166L)
-#define STATUS_FLOPPY_UNKNOWN_ERROR ((NTSTATUS)0xC0000167L)
-#define STATUS_FLOPPY_BAD_REGISTERS ((NTSTATUS)0xC0000168L)
-#define STATUS_DISK_RECALIBRATE_FAILED ((NTSTATUS)0xC0000169L)
-#define STATUS_DISK_OPERATION_FAILED ((NTSTATUS)0xC000016AL)
-#define STATUS_DISK_RESET_FAILED ((NTSTATUS)0xC000016BL)
-#define STATUS_SHARED_IRQ_BUSY ((NTSTATUS)0xC000016CL)
-#define STATUS_FT_ORPHANING ((NTSTATUS)0xC000016DL)
-#define STATUS_BIOS_FAILED_TO_CONNECT_INTERRUPT ((NTSTATUS)0xC000016EL)
-#define STATUS_PARTITION_FAILURE ((NTSTATUS)0xC0000172L)
-#define STATUS_INVALID_BLOCK_LENGTH ((NTSTATUS)0xC0000173L)
-#define STATUS_DEVICE_NOT_PARTITIONED ((NTSTATUS)0xC0000174L)
-#define STATUS_UNABLE_TO_LOCK_MEDIA ((NTSTATUS)0xC0000175L)
-#define STATUS_UNABLE_TO_UNLOAD_MEDIA ((NTSTATUS)0xC0000176L)
-#define STATUS_EOM_OVERFLOW ((NTSTATUS)0xC0000177L)
-#define STATUS_NO_MEDIA ((NTSTATUS)0xC0000178L)
-#define STATUS_NO_SUCH_MEMBER ((NTSTATUS)0xC000017AL)
-#define STATUS_INVALID_MEMBER ((NTSTATUS)0xC000017BL)
-#define STATUS_KEY_DELETED ((NTSTATUS)0xC000017CL)
-#define STATUS_NO_LOG_SPACE ((NTSTATUS)0xC000017DL)
-#define STATUS_TOO_MANY_SIDS ((NTSTATUS)0xC000017EL)
-#define STATUS_LM_CROSS_ENCRYPTION_REQUIRED ((NTSTATUS)0xC000017FL)
-#define STATUS_KEY_HAS_CHILDREN ((NTSTATUS)0xC0000180L)
-#define STATUS_CHILD_MUST_BE_VOLATILE ((NTSTATUS)0xC0000181L)
-#define STATUS_DEVICE_CONFIGURATION_ERROR ((NTSTATUS)0xC0000182L)
-#define STATUS_DRIVER_INTERNAL_ERROR ((NTSTATUS)0xC0000183L)
-#define STATUS_INVALID_DEVICE_STATE ((NTSTATUS)0xC0000184L)
-#define STATUS_IO_DEVICE_ERROR ((NTSTATUS)0xC0000185L)
-#define STATUS_DEVICE_PROTOCOL_ERROR ((NTSTATUS)0xC0000186L)
-#define STATUS_BACKUP_CONTROLLER ((NTSTATUS)0xC0000187L)
-#define STATUS_LOG_FILE_FULL ((NTSTATUS)0xC0000188L)
-#define STATUS_TOO_LATE ((NTSTATUS)0xC0000189L)
-#define STATUS_NO_TRUST_LSA_SECRET ((NTSTATUS)0xC000018AL)
-#define STATUS_NO_TRUST_SAM_ACCOUNT ((NTSTATUS)0xC000018BL)
-#define STATUS_TRUSTED_DOMAIN_FAILURE ((NTSTATUS)0xC000018CL)
-#define STATUS_TRUSTED_RELATIONSHIP_FAILURE ((NTSTATUS)0xC000018DL)
-#define STATUS_EVENTLOG_FILE_CORRUPT ((NTSTATUS)0xC000018EL)
-#define STATUS_EVENTLOG_CANT_START ((NTSTATUS)0xC000018FL)
-#define STATUS_TRUST_FAILURE ((NTSTATUS)0xC0000190L)
-#define STATUS_MUTANT_LIMIT_EXCEEDED ((NTSTATUS)0xC0000191L)
-#define STATUS_NETLOGON_NOT_STARTED ((NTSTATUS)0xC0000192L)
-#define STATUS_ACCOUNT_EXPIRED ((NTSTATUS)0xC0000193L)
-#define STATUS_POSSIBLE_DEADLOCK ((NTSTATUS)0xC0000194L)
-#define STATUS_NETWORK_CREDENTIAL_CONFLICT ((NTSTATUS)0xC0000195L)
-#define STATUS_REMOTE_SESSION_LIMIT ((NTSTATUS)0xC0000196L)
-#define STATUS_EVENTLOG_FILE_CHANGED ((NTSTATUS)0xC0000197L)
-#define STATUS_NOLOGON_INTERDOMAIN_TRUST_ACCOUNT ((NTSTATUS)0xC0000198L)
-#define STATUS_NOLOGON_WORKSTATION_TRUST_ACCOUNT ((NTSTATUS)0xC0000199L)
-#define STATUS_NOLOGON_SERVER_TRUST_ACCOUNT ((NTSTATUS)0xC000019AL)
-#define STATUS_DOMAIN_TRUST_INCONSISTENT ((NTSTATUS)0xC000019BL)
-#define STATUS_FS_DRIVER_REQUIRED ((NTSTATUS)0xC000019CL)
-#define STATUS_NO_USER_SESSION_KEY ((NTSTATUS)0xC0000202L)
-#define STATUS_USER_SESSION_DELETED ((NTSTATUS)0xC0000203L)
-#define STATUS_RESOURCE_LANG_NOT_FOUND ((NTSTATUS)0xC0000204L)
-#define STATUS_INSUFF_SERVER_RESOURCES ((NTSTATUS)0xC0000205L)
-#define STATUS_INVALID_BUFFER_SIZE ((NTSTATUS)0xC0000206L)
-#define STATUS_INVALID_ADDRESS_COMPONENT ((NTSTATUS)0xC0000207L)
-#define STATUS_INVALID_ADDRESS_WILDCARD ((NTSTATUS)0xC0000208L)
-#define STATUS_TOO_MANY_ADDRESSES ((NTSTATUS)0xC0000209L)
-#define STATUS_ADDRESS_ALREADY_EXISTS ((NTSTATUS)0xC000020AL)
-#define STATUS_ADDRESS_CLOSED ((NTSTATUS)0xC000020BL)
-#define STATUS_CONNECTION_DISCONNECTED ((NTSTATUS)0xC000020CL)
-#define STATUS_CONNECTION_RESET ((NTSTATUS)0xC000020DL)
-#define STATUS_TOO_MANY_NODES ((NTSTATUS)0xC000020EL)
-#define STATUS_TRANSACTION_ABORTED ((NTSTATUS)0xC000020FL)
-#define STATUS_TRANSACTION_TIMED_OUT ((NTSTATUS)0xC0000210L)
-#define STATUS_TRANSACTION_NO_RELEASE ((NTSTATUS)0xC0000211L)
-#define STATUS_TRANSACTION_NO_MATCH ((NTSTATUS)0xC0000212L)
-#define STATUS_TRANSACTION_RESPONDED ((NTSTATUS)0xC0000213L)
-#define STATUS_TRANSACTION_INVALID_ID ((NTSTATUS)0xC0000214L)
-#define STATUS_TRANSACTION_INVALID_TYPE ((NTSTATUS)0xC0000215L)
-#define STATUS_NOT_SERVER_SESSION ((NTSTATUS)0xC0000216L)
-#define STATUS_NOT_CLIENT_SESSION ((NTSTATUS)0xC0000217L)
-#define STATUS_CANNOT_LOAD_REGISTRY_FILE ((NTSTATUS)0xC0000218L)
-#define STATUS_DEBUG_ATTACH_FAILED ((NTSTATUS)0xC0000219L)
-#define STATUS_SYSTEM_PROCESS_TERMINATED ((NTSTATUS)0xC000021AL)
-#define STATUS_DATA_NOT_ACCEPTED ((NTSTATUS)0xC000021BL)
-#define STATUS_NO_BROWSER_SERVERS_FOUND ((NTSTATUS)0xC000021CL)
-#define STATUS_VDM_HARD_ERROR ((NTSTATUS)0xC000021DL)
-#define STATUS_DRIVER_CANCEL_TIMEOUT ((NTSTATUS)0xC000021EL)
-#define STATUS_REPLY_MESSAGE_MISMATCH ((NTSTATUS)0xC000021FL)
-#define STATUS_MAPPED_ALIGNMENT ((NTSTATUS)0xC0000220L)
-#define STATUS_IMAGE_CHECKSUM_MISMATCH ((NTSTATUS)0xC0000221L)
-#define STATUS_LOST_WRITEBEHIND_DATA ((NTSTATUS)0xC0000222L)
-#define STATUS_CLIENT_SERVER_PARAMETERS_INVALID ((NTSTATUS)0xC0000223L)
-#define STATUS_PASSWORD_MUST_CHANGE ((NTSTATUS)0xC0000224L)
-#define STATUS_NOT_FOUND ((NTSTATUS)0xC0000225L)
-#define STATUS_NOT_TINY_STREAM ((NTSTATUS)0xC0000226L)
-#define STATUS_RECOVERY_FAILURE ((NTSTATUS)0xC0000227L)
-#define STATUS_STACK_OVERFLOW_READ ((NTSTATUS)0xC0000228L)
-#define STATUS_FAIL_CHECK ((NTSTATUS)0xC0000229L)
-#define STATUS_DUPLICATE_OBJECTID ((NTSTATUS)0xC000022AL)
-#define STATUS_OBJECTID_EXISTS ((NTSTATUS)0xC000022BL)
-#define STATUS_CONVERT_TO_LARGE ((NTSTATUS)0xC000022CL)
-#define STATUS_RETRY ((NTSTATUS)0xC000022DL)
-#define STATUS_FOUND_OUT_OF_SCOPE ((NTSTATUS)0xC000022EL)
-#define STATUS_ALLOCATE_BUCKET ((NTSTATUS)0xC000022FL)
-#define STATUS_PROPSET_NOT_FOUND ((NTSTATUS)0xC0000230L)
-#define STATUS_MARSHALL_OVERFLOW ((NTSTATUS)0xC0000231L)
-#define STATUS_INVALID_VARIANT ((NTSTATUS)0xC0000232L)
-#define STATUS_DOMAIN_CONTROLLER_NOT_FOUND ((NTSTATUS)0xC0000233L)
-#define STATUS_ACCOUNT_LOCKED_OUT ((NTSTATUS)0xC0000234L)
-#define STATUS_HANDLE_NOT_CLOSABLE ((NTSTATUS)0xC0000235L)
-#define STATUS_CONNECTION_REFUSED ((NTSTATUS)0xC0000236L)
-#define STATUS_GRACEFUL_DISCONNECT ((NTSTATUS)0xC0000237L)
-#define STATUS_ADDRESS_ALREADY_ASSOCIATED ((NTSTATUS)0xC0000238L)
-#define STATUS_ADDRESS_NOT_ASSOCIATED ((NTSTATUS)0xC0000239L)
-#define STATUS_CONNECTION_INVALID ((NTSTATUS)0xC000023AL)
-#define STATUS_CONNECTION_ACTIVE ((NTSTATUS)0xC000023BL)
-#define STATUS_NETWORK_UNREACHABLE ((NTSTATUS)0xC000023CL)
-#define STATUS_HOST_UNREACHABLE ((NTSTATUS)0xC000023DL)
-#define STATUS_PROTOCOL_UNREACHABLE ((NTSTATUS)0xC000023EL)
-#define STATUS_PORT_UNREACHABLE ((NTSTATUS)0xC000023FL)
-#define STATUS_REQUEST_ABORTED ((NTSTATUS)0xC0000240L)
-#define STATUS_CONNECTION_ABORTED ((NTSTATUS)0xC0000241L)
-#define STATUS_BAD_COMPRESSION_BUFFER ((NTSTATUS)0xC0000242L)
-#define STATUS_USER_MAPPED_FILE ((NTSTATUS)0xC0000243L)
-#define STATUS_AUDIT_FAILED ((NTSTATUS)0xC0000244L)
-#define STATUS_TIMER_RESOLUTION_NOT_SET ((NTSTATUS)0xC0000245L)
-#define STATUS_CONNECTION_COUNT_LIMIT ((NTSTATUS)0xC0000246L)
-#define STATUS_LOGIN_TIME_RESTRICTION ((NTSTATUS)0xC0000247L)
-#define STATUS_LOGIN_WKSTA_RESTRICTION ((NTSTATUS)0xC0000248L)
-#define STATUS_IMAGE_MP_UP_MISMATCH ((NTSTATUS)0xC0000249L)
-#define STATUS_INSUFFICIENT_LOGON_INFO ((NTSTATUS)0xC0000250L)
-#define STATUS_BAD_DLL_ENTRYPOINT ((NTSTATUS)0xC0000251L)
-#define STATUS_BAD_SERVICE_ENTRYPOINT ((NTSTATUS)0xC0000252L)
-#define STATUS_LPC_REPLY_LOST ((NTSTATUS)0xC0000253L)
-#define STATUS_IP_ADDRESS_CONFLICT1 ((NTSTATUS)0xC0000254L)
-#define STATUS_IP_ADDRESS_CONFLICT2 ((NTSTATUS)0xC0000255L)
-#define STATUS_REGISTRY_QUOTA_LIMIT ((NTSTATUS)0xC0000256L)
-#define STATUS_PATH_NOT_COVERED ((NTSTATUS)0xC0000257L)
-#define STATUS_NO_CALLBACK_ACTIVE ((NTSTATUS)0xC0000258L)
-#define STATUS_LICENSE_QUOTA_EXCEEDED ((NTSTATUS)0xC0000259L)
-#define STATUS_PWD_TOO_SHORT ((NTSTATUS)0xC000025AL)
-#define STATUS_PWD_TOO_RECENT ((NTSTATUS)0xC000025BL)
-#define STATUS_PWD_HISTORY_CONFLICT ((NTSTATUS)0xC000025CL)
-#define STATUS_PLUGPLAY_NO_DEVICE ((NTSTATUS)0xC000025EL)
-#define STATUS_UNSUPPORTED_COMPRESSION ((NTSTATUS)0xC000025FL)
-#define STATUS_INVALID_HW_PROFILE ((NTSTATUS)0xC0000260L)
-#define STATUS_INVALID_PLUGPLAY_DEVICE_PATH ((NTSTATUS)0xC0000261L)
-#define STATUS_DRIVER_ORDINAL_NOT_FOUND ((NTSTATUS)0xC0000262L)
-#define STATUS_DRIVER_ENTRYPOINT_NOT_FOUND ((NTSTATUS)0xC0000263L)
-#define STATUS_RESOURCE_NOT_OWNED ((NTSTATUS)0xC0000264L)
-#define STATUS_TOO_MANY_LINKS ((NTSTATUS)0xC0000265L)
-#define STATUS_QUOTA_LIST_INCONSISTENT ((NTSTATUS)0xC0000266L)
-#define STATUS_FILE_IS_OFFLINE ((NTSTATUS)0xC0000267L)
-#define STATUS_EVALUATION_EXPIRATION ((NTSTATUS)0xC0000268L)
-#define STATUS_ILLEGAL_DLL_RELOCATION ((NTSTATUS)0xC0000269L)
-#define STATUS_LICENSE_VIOLATION ((NTSTATUS)0xC000026AL)
-#define STATUS_DLL_INIT_FAILED_LOGOFF ((NTSTATUS)0xC000026BL)
-#define STATUS_DRIVER_UNABLE_TO_LOAD ((NTSTATUS)0xC000026CL)
-#define STATUS_DFS_UNAVAILABLE ((NTSTATUS)0xC000026DL)
-#define STATUS_VOLUME_DISMOUNTED ((NTSTATUS)0xC000026EL)
-#define STATUS_WX86_INTERNAL_ERROR ((NTSTATUS)0xC000026FL)
-#define STATUS_WX86_FLOAT_STACK_CHECK ((NTSTATUS)0xC0000270L)
-#define STATUS_VALIDATE_CONTINUE ((NTSTATUS)0xC0000271L)
-#define STATUS_NO_MATCH ((NTSTATUS)0xC0000272L)
-#define STATUS_NO_MORE_MATCHES ((NTSTATUS)0xC0000273L)
-#define STATUS_NOT_A_REPARSE_POINT ((NTSTATUS)0xC0000275L)
-#define STATUS_IO_REPARSE_TAG_INVALID ((NTSTATUS)0xC0000276L)
-#define STATUS_IO_REPARSE_TAG_MISMATCH ((NTSTATUS)0xC0000277L)
-#define STATUS_IO_REPARSE_DATA_INVALID ((NTSTATUS)0xC0000278L)
-#define STATUS_IO_REPARSE_TAG_NOT_HANDLED ((NTSTATUS)0xC0000279L)
-#define STATUS_REPARSE_POINT_NOT_RESOLVED ((NTSTATUS)0xC0000280L)
-#define STATUS_DIRECTORY_IS_A_REPARSE_POINT ((NTSTATUS)0xC0000281L)
-#define STATUS_RANGE_LIST_CONFLICT ((NTSTATUS)0xC0000282L)
-#define STATUS_SOURCE_ELEMENT_EMPTY ((NTSTATUS)0xC0000283L)
-#define STATUS_DESTINATION_ELEMENT_FULL ((NTSTATUS)0xC0000284L)
-#define STATUS_ILLEGAL_ELEMENT_ADDRESS ((NTSTATUS)0xC0000285L)
-#define STATUS_MAGAZINE_NOT_PRESENT ((NTSTATUS)0xC0000286L)
-#define STATUS_REINITIALIZATION_NEEDED ((NTSTATUS)0xC0000287L)
-#define STATUS_DEVICE_REQUIRES_CLEANING ((NTSTATUS)0x80000288L)
-#define STATUS_DEVICE_DOOR_OPEN ((NTSTATUS)0x80000289L)
-#define STATUS_ENCRYPTION_FAILED ((NTSTATUS)0xC000028AL)
-#define STATUS_DECRYPTION_FAILED ((NTSTATUS)0xC000028BL)
-#define STATUS_RANGE_NOT_FOUND ((NTSTATUS)0xC000028CL)
-#define STATUS_NO_RECOVERY_POLICY ((NTSTATUS)0xC000028DL)
-#define STATUS_NO_EFS ((NTSTATUS)0xC000028EL)
-#define STATUS_WRONG_EFS ((NTSTATUS)0xC000028FL)
-#define STATUS_NO_USER_KEYS ((NTSTATUS)0xC0000290L)
-#define STATUS_FILE_NOT_ENCRYPTED ((NTSTATUS)0xC0000291L)
-#define STATUS_NOT_EXPORT_FORMAT ((NTSTATUS)0xC0000292L)
-#define STATUS_FILE_ENCRYPTED ((NTSTATUS)0xC0000293L)
-#define STATUS_WAKE_SYSTEM ((NTSTATUS)0x40000294L)
-#define STATUS_WMI_GUID_NOT_FOUND ((NTSTATUS)0xC0000295L)
-#define STATUS_WMI_INSTANCE_NOT_FOUND ((NTSTATUS)0xC0000296L)
-#define STATUS_WMI_ITEMID_NOT_FOUND ((NTSTATUS)0xC0000297L)
-#define STATUS_WMI_TRY_AGAIN ((NTSTATUS)0xC0000298L)
-#define STATUS_SHARED_POLICY ((NTSTATUS)0xC0000299L)
-#define STATUS_POLICY_OBJECT_NOT_FOUND ((NTSTATUS)0xC000029AL)
-#define STATUS_POLICY_ONLY_IN_DS ((NTSTATUS)0xC000029BL)
-#define STATUS_VOLUME_NOT_UPGRADED ((NTSTATUS)0xC000029CL)
-#define STATUS_REMOTE_STORAGE_NOT_ACTIVE ((NTSTATUS)0xC000029DL)
-#define STATUS_REMOTE_STORAGE_MEDIA_ERROR ((NTSTATUS)0xC000029EL)
-#define STATUS_NO_TRACKING_SERVICE ((NTSTATUS)0xC000029FL)
-#define STATUS_SERVER_SID_MISMATCH ((NTSTATUS)0xC00002A0L)
-#define STATUS_DS_NO_ATTRIBUTE_OR_VALUE ((NTSTATUS)0xC00002A1L)
-#define STATUS_DS_INVALID_ATTRIBUTE_SYNTAX ((NTSTATUS)0xC00002A2L)
-#define STATUS_DS_ATTRIBUTE_TYPE_UNDEFINED ((NTSTATUS)0xC00002A3L)
-#define STATUS_DS_ATTRIBUTE_OR_VALUE_EXISTS ((NTSTATUS)0xC00002A4L)
-#define STATUS_DS_BUSY ((NTSTATUS)0xC00002A5L)
-#define STATUS_DS_UNAVAILABLE ((NTSTATUS)0xC00002A6L)
-#define STATUS_DS_NO_RIDS_ALLOCATED ((NTSTATUS)0xC00002A7L)
-#define STATUS_DS_NO_MORE_RIDS ((NTSTATUS)0xC00002A8L)
-#define STATUS_DS_INCORRECT_ROLE_OWNER ((NTSTATUS)0xC00002A9L)
-#define STATUS_DS_RIDMGR_INIT_ERROR ((NTSTATUS)0xC00002AAL)
-#define STATUS_DS_OBJ_CLASS_VIOLATION ((NTSTATUS)0xC00002ABL)
-#define STATUS_DS_CANT_ON_NON_LEAF ((NTSTATUS)0xC00002ACL)
-#define STATUS_DS_CANT_ON_RDN ((NTSTATUS)0xC00002ADL)
-#define STATUS_DS_CANT_MOD_OBJ_CLASS ((NTSTATUS)0xC00002AEL)
-#define STATUS_DS_CROSS_DOM_MOVE_FAILED ((NTSTATUS)0xC00002AFL)
-#define STATUS_DS_GC_NOT_AVAILABLE ((NTSTATUS)0xC00002B0L)
-#define STATUS_DIRECTORY_SERVICE_REQUIRED ((NTSTATUS)0xC00002B1L)
-#define STATUS_REPARSE_ATTRIBUTE_CONFLICT ((NTSTATUS)0xC00002B2L)
-#define STATUS_CANT_ENABLE_DENY_ONLY ((NTSTATUS)0xC00002B3L)
-#define STATUS_FLOAT_MULTIPLE_FAULTS ((NTSTATUS)0xC00002B4L)
-#define STATUS_FLOAT_MULTIPLE_TRAPS ((NTSTATUS)0xC00002B5L)
-#define STATUS_DEVICE_REMOVED ((NTSTATUS)0xC00002B6L)
-#define STATUS_JOURNAL_DELETE_IN_PROGRESS ((NTSTATUS)0xC00002B7L)
-#define STATUS_JOURNAL_NOT_ACTIVE ((NTSTATUS)0xC00002B8L)
-#define STATUS_NOINTERFACE ((NTSTATUS)0xC00002B9L)
-#define STATUS_DS_ADMIN_LIMIT_EXCEEDED ((NTSTATUS)0xC00002C1L)
-#define STATUS_DRIVER_FAILED_SLEEP ((NTSTATUS)0xC00002C2L)
-#define STATUS_MUTUAL_AUTHENTICATION_FAILED ((NTSTATUS)0xC00002C3L)
-#define STATUS_CORRUPT_SYSTEM_FILE ((NTSTATUS)0xC00002C4L)
-#define STATUS_DATATYPE_MISALIGNMENT_ERROR ((NTSTATUS)0xC00002C5L)
-#define STATUS_WMI_READ_ONLY ((NTSTATUS)0xC00002C6L)
-#define STATUS_WMI_SET_FAILURE ((NTSTATUS)0xC00002C7L)
-#define STATUS_COMMITMENT_MINIMUM ((NTSTATUS)0xC00002C8L)
-#define STATUS_REG_NAT_CONSUMPTION ((NTSTATUS)0xC00002C9L)
-#define STATUS_TRANSPORT_FULL ((NTSTATUS)0xC00002CAL)
-#define STATUS_DS_SAM_INIT_FAILURE ((NTSTATUS)0xC00002CBL)
-#define STATUS_ONLY_IF_CONNECTED ((NTSTATUS)0xC00002CCL)
-#define STATUS_DS_SENSITIVE_GROUP_VIOLATION ((NTSTATUS)0xC00002CDL)
-#define STATUS_PNP_RESTART_ENUMERATION ((NTSTATUS)0xC00002CEL)
-#define STATUS_JOURNAL_ENTRY_DELETED ((NTSTATUS)0xC00002CFL)
-#define STATUS_DS_CANT_MOD_PRIMARYGROUPID ((NTSTATUS)0xC00002D0L)
-#define STATUS_SYSTEM_IMAGE_BAD_SIGNATURE ((NTSTATUS)0xC00002D1L)
-#define STATUS_PNP_REBOOT_REQUIRED ((NTSTATUS)0xC00002D2L)
-#define STATUS_POWER_STATE_INVALID ((NTSTATUS)0xC00002D3L)
-#define STATUS_DS_INVALID_GROUP_TYPE ((NTSTATUS)0xC00002D4L)
-#define STATUS_DS_NO_NEST_GLOBALGROUP_IN_MIXEDDOMAIN ((NTSTATUS)0xC00002D5L)
-#define STATUS_DS_NO_NEST_LOCALGROUP_IN_MIXEDDOMAIN ((NTSTATUS)0xC00002D6L)
-#define STATUS_DS_GLOBAL_CANT_HAVE_LOCAL_MEMBER ((NTSTATUS)0xC00002D7L)
-#define STATUS_DS_GLOBAL_CANT_HAVE_UNIVERSAL_MEMBER ((NTSTATUS)0xC00002D8L)
-#define STATUS_DS_UNIVERSAL_CANT_HAVE_LOCAL_MEMBER ((NTSTATUS)0xC00002D9L)
-#define STATUS_DS_GLOBAL_CANT_HAVE_CROSSDOMAIN_MEMBER ((NTSTATUS)0xC00002DAL)
-#define STATUS_DS_LOCAL_CANT_HAVE_CROSSDOMAIN_LOCAL_MEMBER ((NTSTATUS)0xC00002DBL)
-#define STATUS_DS_HAVE_PRIMARY_MEMBERS ((NTSTATUS)0xC00002DCL)
-#define STATUS_WMI_NOT_SUPPORTED ((NTSTATUS)0xC00002DDL)
-#define STATUS_INSUFFICIENT_POWER ((NTSTATUS)0xC00002DEL)
-#define STATUS_SAM_NEED_BOOTKEY_PASSWORD ((NTSTATUS)0xC00002DFL)
-#define STATUS_SAM_NEED_BOOTKEY_FLOPPY ((NTSTATUS)0xC00002E0L)
-#define STATUS_DS_CANT_START ((NTSTATUS)0xC00002E1L)
-#define STATUS_DS_INIT_FAILURE ((NTSTATUS)0xC00002E2L)
-#define STATUS_SAM_INIT_FAILURE ((NTSTATUS)0xC00002E3L)
-#define STATUS_DS_GC_REQUIRED ((NTSTATUS)0xC00002E4L)
-#define STATUS_DS_LOCAL_MEMBER_OF_LOCAL_ONLY ((NTSTATUS)0xC00002E5L)
-#define STATUS_DS_NO_FPO_IN_UNIVERSAL_GROUPS ((NTSTATUS)0xC00002E6L)
-#define STATUS_DS_MACHINE_ACCOUNT_QUOTA_EXCEEDED ((NTSTATUS)0xC00002E7L)
-#define STATUS_MULTIPLE_FAULT_VIOLATION ((NTSTATUS)0xC00002E8L)
-#define STATUS_CURRENT_DOMAIN_NOT_ALLOWED ((NTSTATUS)0xC00002E9L)
-#define STATUS_CANNOT_MAKE ((NTSTATUS)0xC00002EAL)
-#define STATUS_SYSTEM_SHUTDOWN ((NTSTATUS)0xC00002EBL)
-#define STATUS_DS_INIT_FAILURE_CONSOLE ((NTSTATUS)0xC00002ECL)
-#define STATUS_DS_SAM_INIT_FAILURE_CONSOLE ((NTSTATUS)0xC00002EDL)
-#define STATUS_UNFINISHED_CONTEXT_DELETED ((NTSTATUS)0xC00002EEL)
-#define STATUS_NO_TGT_REPLY ((NTSTATUS)0xC00002EFL)
-#define STATUS_OBJECTID_NOT_FOUND ((NTSTATUS)0xC00002F0L)
-#define STATUS_NO_IP_ADDRESSES ((NTSTATUS)0xC00002F1L)
-#define STATUS_WRONG_CREDENTIAL_HANDLE ((NTSTATUS)0xC00002F2L)
-#define STATUS_CRYPTO_SYSTEM_INVALID ((NTSTATUS)0xC00002F3L)
-#define STATUS_MAX_REFERRALS_EXCEEDED ((NTSTATUS)0xC00002F4L)
-#define STATUS_MUST_BE_KDC ((NTSTATUS)0xC00002F5L)
-#define STATUS_STRONG_CRYPTO_NOT_SUPPORTED ((NTSTATUS)0xC00002F6L)
-#define STATUS_TOO_MANY_PRINCIPALS ((NTSTATUS)0xC00002F7L)
-#define STATUS_NO_PA_DATA ((NTSTATUS)0xC00002F8L)
-#define STATUS_PKINIT_NAME_MISMATCH ((NTSTATUS)0xC00002F9L)
-#define STATUS_SMARTCARD_LOGON_REQUIRED ((NTSTATUS)0xC00002FAL)
-#define STATUS_KDC_INVALID_REQUEST ((NTSTATUS)0xC00002FBL)
-#define STATUS_KDC_UNABLE_TO_REFER ((NTSTATUS)0xC00002FCL)
-#define STATUS_KDC_UNKNOWN_ETYPE ((NTSTATUS)0xC00002FDL)
-#define STATUS_SHUTDOWN_IN_PROGRESS ((NTSTATUS)0xC00002FEL)
-#define STATUS_SERVER_SHUTDOWN_IN_PROGRESS ((NTSTATUS)0xC00002FFL)
-#define STATUS_NOT_SUPPORTED_ON_SBS ((NTSTATUS)0xC0000300L)
-#define STATUS_WMI_GUID_DISCONNECTED ((NTSTATUS)0xC0000301L)
-#define STATUS_WMI_ALREADY_DISABLED ((NTSTATUS)0xC0000302L)
-#define STATUS_WMI_ALREADY_ENABLED ((NTSTATUS)0xC0000303L)
-#define STATUS_MFT_TOO_FRAGMENTED ((NTSTATUS)0xC0000304L)
-#define STATUS_COPY_PROTECTION_FAILURE ((NTSTATUS)0xC0000305L)
-#define STATUS_CSS_AUTHENTICATION_FAILURE ((NTSTATUS)0xC0000306L)
-#define STATUS_CSS_KEY_NOT_PRESENT ((NTSTATUS)0xC0000307L)
-#define STATUS_CSS_KEY_NOT_ESTABLISHED ((NTSTATUS)0xC0000308L)
-#define STATUS_CSS_SCRAMBLED_SECTOR ((NTSTATUS)0xC0000309L)
-#define STATUS_CSS_REGION_MISMATCH ((NTSTATUS)0xC000030AL)
-#define STATUS_CSS_RESETS_EXHAUSTED ((NTSTATUS)0xC000030BL)
-#define STATUS_PKINIT_FAILURE ((NTSTATUS)0xC0000320L)
-#define STATUS_SMARTCARD_SUBSYSTEM_FAILURE ((NTSTATUS)0xC0000321L)
-#define STATUS_NO_KERB_KEY ((NTSTATUS)0xC0000322L)
-#define STATUS_HOST_DOWN ((NTSTATUS)0xC0000350L)
-#define STATUS_UNSUPPORTED_PREAUTH ((NTSTATUS)0xC0000351L)
-#define STATUS_EFS_ALG_BLOB_TOO_BIG ((NTSTATUS)0xC0000352L)
-#define STATUS_PORT_NOT_SET ((NTSTATUS)0xC0000353L)
-#define STATUS_DEBUGGER_INACTIVE ((NTSTATUS)0xC0000354L)
-#define STATUS_DS_VERSION_CHECK_FAILURE ((NTSTATUS)0xC0000355L)
-#define STATUS_AUDITING_DISABLED ((NTSTATUS)0xC0000356L)
-#define STATUS_PRENT4_MACHINE_ACCOUNT ((NTSTATUS)0xC0000357L)
-#define STATUS_DS_AG_CANT_HAVE_UNIVERSAL_MEMBER ((NTSTATUS)0xC0000358L)
-#define STATUS_INVALID_IMAGE_WIN_32 ((NTSTATUS)0xC0000359L)
-#define STATUS_INVALID_IMAGE_WIN_64 ((NTSTATUS)0xC000035AL)
-#define STATUS_BAD_BINDINGS ((NTSTATUS)0xC000035BL)
-#define STATUS_NETWORK_SESSION_EXPIRED ((NTSTATUS)0xC000035CL)
-#define STATUS_APPHELP_BLOCK ((NTSTATUS)0xC000035DL)
-#define STATUS_ALL_SIDS_FILTERED ((NTSTATUS)0xC000035EL)
-#define STATUS_NOT_SAFE_MODE_DRIVER ((NTSTATUS)0xC000035FL)
-#define STATUS_ACCESS_DISABLED_BY_POLICY_DEFAULT ((NTSTATUS)0xC0000361L)
-#define STATUS_ACCESS_DISABLED_BY_POLICY_PATH ((NTSTATUS)0xC0000362L)
-#define STATUS_ACCESS_DISABLED_BY_POLICY_PUBLISHER ((NTSTATUS)0xC0000363L)
-#define STATUS_ACCESS_DISABLED_BY_POLICY_OTHER ((NTSTATUS)0xC0000364L)
-#define STATUS_FAILED_DRIVER_ENTRY ((NTSTATUS)0xC0000365L)
-#define STATUS_DEVICE_ENUMERATION_ERROR ((NTSTATUS)0xC0000366L)
-#define STATUS_WAIT_FOR_OPLOCK ((NTSTATUS)0x00000367L)
-#define STATUS_MOUNT_POINT_NOT_RESOLVED ((NTSTATUS)0xC0000368L)
-#define STATUS_INVALID_DEVICE_OBJECT_PARAMETER ((NTSTATUS)0xC0000369L)
-#define STATUS_MCA_OCCURED ((NTSTATUS)0xC000036AL)
-#define STATUS_DRIVER_BLOCKED_CRITICAL ((NTSTATUS)0xC000036BL)
-#define STATUS_DRIVER_BLOCKED ((NTSTATUS)0xC000036CL)
-#define STATUS_DRIVER_DATABASE_ERROR ((NTSTATUS)0xC000036DL)
-#define STATUS_SYSTEM_HIVE_TOO_LARGE ((NTSTATUS)0xC000036EL)
-#define STATUS_INVALID_IMPORT_OF_NON_DLL ((NTSTATUS)0xC000036FL)
-#define STATUS_DS_SHUTTING_DOWN ((NTSTATUS)0x40000370L)
-#define STATUS_SMARTCARD_WRONG_PIN ((NTSTATUS)0xC0000380L)
-#define STATUS_SMARTCARD_CARD_BLOCKED ((NTSTATUS)0xC0000381L)
-#define STATUS_SMARTCARD_CARD_NOT_AUTHENTICATED ((NTSTATUS)0xC0000382L)
-#define STATUS_SMARTCARD_NO_CARD ((NTSTATUS)0xC0000383L)
-#define STATUS_SMARTCARD_NO_KEY_CONTAINER ((NTSTATUS)0xC0000384L)
-#define STATUS_SMARTCARD_NO_CERTIFICATE ((NTSTATUS)0xC0000385L)
-#define STATUS_SMARTCARD_NO_KEYSET ((NTSTATUS)0xC0000386L)
-#define STATUS_SMARTCARD_IO_ERROR ((NTSTATUS)0xC0000387L)
-#define STATUS_DOWNGRADE_DETECTED ((NTSTATUS)0xC0000388L)
-#define STATUS_SMARTCARD_CERT_REVOKED ((NTSTATUS)0xC0000389L)
-#define STATUS_ISSUING_CA_UNTRUSTED ((NTSTATUS)0xC000038AL)
-#define STATUS_REVOCATION_OFFLINE_C ((NTSTATUS)0xC000038BL)
-#define STATUS_PKINIT_CLIENT_FAILURE ((NTSTATUS)0xC000038CL)
-#define STATUS_SMARTCARD_CERT_EXPIRED ((NTSTATUS)0xC000038DL)
-#define STATUS_DRIVER_FAILED_PRIOR_UNLOAD ((NTSTATUS)0xC000038EL)
-#define STATUS_WOW_ASSERTION ((NTSTATUS)0xC0009898L)
-#define RPC_NT_INVALID_STRING_BINDING ((NTSTATUS)0xC0020001L)
-#define RPC_NT_WRONG_KIND_OF_BINDING ((NTSTATUS)0xC0020002L)
-#define RPC_NT_INVALID_BINDING ((NTSTATUS)0xC0020003L)
-#define RPC_NT_PROTSEQ_NOT_SUPPORTED ((NTSTATUS)0xC0020004L)
-#define RPC_NT_INVALID_RPC_PROTSEQ ((NTSTATUS)0xC0020005L)
-#define RPC_NT_INVALID_STRING_UUID ((NTSTATUS)0xC0020006L)
-#define RPC_NT_INVALID_ENDPOINT_FORMAT ((NTSTATUS)0xC0020007L)
-#define RPC_NT_INVALID_NET_ADDR ((NTSTATUS)0xC0020008L)
-#define RPC_NT_NO_ENDPOINT_FOUND ((NTSTATUS)0xC0020009L)
-#define RPC_NT_INVALID_TIMEOUT ((NTSTATUS)0xC002000AL)
-#define RPC_NT_OBJECT_NOT_FOUND ((NTSTATUS)0xC002000BL)
-#define RPC_NT_ALREADY_REGISTERED ((NTSTATUS)0xC002000CL)
-#define RPC_NT_TYPE_ALREADY_REGISTERED ((NTSTATUS)0xC002000DL)
-#define RPC_NT_ALREADY_LISTENING ((NTSTATUS)0xC002000EL)
-#define RPC_NT_NO_PROTSEQS_REGISTERED ((NTSTATUS)0xC002000FL)
-#define RPC_NT_NOT_LISTENING ((NTSTATUS)0xC0020010L)
-#define RPC_NT_UNKNOWN_MGR_TYPE ((NTSTATUS)0xC0020011L)
-#define RPC_NT_UNKNOWN_IF ((NTSTATUS)0xC0020012L)
-#define RPC_NT_NO_BINDINGS ((NTSTATUS)0xC0020013L)
-#define RPC_NT_NO_PROTSEQS ((NTSTATUS)0xC0020014L)
-#define RPC_NT_CANT_CREATE_ENDPOINT ((NTSTATUS)0xC0020015L)
-#define RPC_NT_OUT_OF_RESOURCES ((NTSTATUS)0xC0020016L)
-#define RPC_NT_SERVER_UNAVAILABLE ((NTSTATUS)0xC0020017L)
-#define RPC_NT_SERVER_TOO_BUSY ((NTSTATUS)0xC0020018L)
-#define RPC_NT_INVALID_NETWORK_OPTIONS ((NTSTATUS)0xC0020019L)
-#define RPC_NT_NO_CALL_ACTIVE ((NTSTATUS)0xC002001AL)
-#define RPC_NT_CALL_FAILED ((NTSTATUS)0xC002001BL)
-#define RPC_NT_CALL_FAILED_DNE ((NTSTATUS)0xC002001CL)
-#define RPC_NT_PROTOCOL_ERROR ((NTSTATUS)0xC002001DL)
-#define RPC_NT_UNSUPPORTED_TRANS_SYN ((NTSTATUS)0xC002001FL)
-#define RPC_NT_UNSUPPORTED_TYPE ((NTSTATUS)0xC0020021L)
-#define RPC_NT_INVALID_TAG ((NTSTATUS)0xC0020022L)
-#define RPC_NT_INVALID_BOUND ((NTSTATUS)0xC0020023L)
-#define RPC_NT_NO_ENTRY_NAME ((NTSTATUS)0xC0020024L)
-#define RPC_NT_INVALID_NAME_SYNTAX ((NTSTATUS)0xC0020025L)
-#define RPC_NT_UNSUPPORTED_NAME_SYNTAX ((NTSTATUS)0xC0020026L)
-#define RPC_NT_UUID_NO_ADDRESS ((NTSTATUS)0xC0020028L)
-#define RPC_NT_DUPLICATE_ENDPOINT ((NTSTATUS)0xC0020029L)
-#define RPC_NT_UNKNOWN_AUTHN_TYPE ((NTSTATUS)0xC002002AL)
-#define RPC_NT_MAX_CALLS_TOO_SMALL ((NTSTATUS)0xC002002BL)
-#define RPC_NT_STRING_TOO_LONG ((NTSTATUS)0xC002002CL)
-#define RPC_NT_PROTSEQ_NOT_FOUND ((NTSTATUS)0xC002002DL)
-#define RPC_NT_PROCNUM_OUT_OF_RANGE ((NTSTATUS)0xC002002EL)
-#define RPC_NT_BINDING_HAS_NO_AUTH ((NTSTATUS)0xC002002FL)
-#define RPC_NT_UNKNOWN_AUTHN_SERVICE ((NTSTATUS)0xC0020030L)
-#define RPC_NT_UNKNOWN_AUTHN_LEVEL ((NTSTATUS)0xC0020031L)
-#define RPC_NT_INVALID_AUTH_IDENTITY ((NTSTATUS)0xC0020032L)
-#define RPC_NT_UNKNOWN_AUTHZ_SERVICE ((NTSTATUS)0xC0020033L)
-#define EPT_NT_INVALID_ENTRY ((NTSTATUS)0xC0020034L)
-#define EPT_NT_CANT_PERFORM_OP ((NTSTATUS)0xC0020035L)
-#define EPT_NT_NOT_REGISTERED ((NTSTATUS)0xC0020036L)
-#define RPC_NT_NOTHING_TO_EXPORT ((NTSTATUS)0xC0020037L)
-#define RPC_NT_INCOMPLETE_NAME ((NTSTATUS)0xC0020038L)
-#define RPC_NT_INVALID_VERS_OPTION ((NTSTATUS)0xC0020039L)
-#define RPC_NT_NO_MORE_MEMBERS ((NTSTATUS)0xC002003AL)
-#define RPC_NT_NOT_ALL_OBJS_UNEXPORTED ((NTSTATUS)0xC002003BL)
-#define RPC_NT_INTERFACE_NOT_FOUND ((NTSTATUS)0xC002003CL)
-#define RPC_NT_ENTRY_ALREADY_EXISTS ((NTSTATUS)0xC002003DL)
-#define RPC_NT_ENTRY_NOT_FOUND ((NTSTATUS)0xC002003EL)
-#define RPC_NT_NAME_SERVICE_UNAVAILABLE ((NTSTATUS)0xC002003FL)
-#define RPC_NT_INVALID_NAF_ID ((NTSTATUS)0xC0020040L)
-#define RPC_NT_CANNOT_SUPPORT ((NTSTATUS)0xC0020041L)
-#define RPC_NT_NO_CONTEXT_AVAILABLE ((NTSTATUS)0xC0020042L)
-#define RPC_NT_INTERNAL_ERROR ((NTSTATUS)0xC0020043L)
-#define RPC_NT_ZERO_DIVIDE ((NTSTATUS)0xC0020044L)
-#define RPC_NT_ADDRESS_ERROR ((NTSTATUS)0xC0020045L)
-#define RPC_NT_FP_DIV_ZERO ((NTSTATUS)0xC0020046L)
-#define RPC_NT_FP_UNDERFLOW ((NTSTATUS)0xC0020047L)
-#define RPC_NT_FP_OVERFLOW ((NTSTATUS)0xC0020048L)
-#define RPC_NT_NO_MORE_ENTRIES ((NTSTATUS)0xC0030001L)
-#define RPC_NT_SS_CHAR_TRANS_OPEN_FAIL ((NTSTATUS)0xC0030002L)
-#define RPC_NT_SS_CHAR_TRANS_SHORT_FILE ((NTSTATUS)0xC0030003L)
-#define RPC_NT_SS_IN_NULL_CONTEXT ((NTSTATUS)0xC0030004L)
-#define RPC_NT_SS_CONTEXT_MISMATCH ((NTSTATUS)0xC0030005L)
-#define RPC_NT_SS_CONTEXT_DAMAGED ((NTSTATUS)0xC0030006L)
-#define RPC_NT_SS_HANDLES_MISMATCH ((NTSTATUS)0xC0030007L)
-#define RPC_NT_SS_CANNOT_GET_CALL_HANDLE ((NTSTATUS)0xC0030008L)
-#define RPC_NT_NULL_REF_POINTER ((NTSTATUS)0xC0030009L)
-#define RPC_NT_ENUM_VALUE_OUT_OF_RANGE ((NTSTATUS)0xC003000AL)
-#define RPC_NT_BYTE_COUNT_TOO_SMALL ((NTSTATUS)0xC003000BL)
-#define RPC_NT_BAD_STUB_DATA ((NTSTATUS)0xC003000CL)
-#define RPC_NT_CALL_IN_PROGRESS ((NTSTATUS)0xC0020049L)
-#define RPC_NT_NO_MORE_BINDINGS ((NTSTATUS)0xC002004AL)
-#define RPC_NT_GROUP_MEMBER_NOT_FOUND ((NTSTATUS)0xC002004BL)
-#define EPT_NT_CANT_CREATE ((NTSTATUS)0xC002004CL)
-#define RPC_NT_INVALID_OBJECT ((NTSTATUS)0xC002004DL)
-#define RPC_NT_NO_INTERFACES ((NTSTATUS)0xC002004FL)
-#define RPC_NT_CALL_CANCELLED ((NTSTATUS)0xC0020050L)
-#define RPC_NT_BINDING_INCOMPLETE ((NTSTATUS)0xC0020051L)
-#define RPC_NT_COMM_FAILURE ((NTSTATUS)0xC0020052L)
-#define RPC_NT_UNSUPPORTED_AUTHN_LEVEL ((NTSTATUS)0xC0020053L)
-#define RPC_NT_NO_PRINC_NAME ((NTSTATUS)0xC0020054L)
-#define RPC_NT_NOT_RPC_ERROR ((NTSTATUS)0xC0020055L)
-#define RPC_NT_UUID_LOCAL_ONLY ((NTSTATUS)0x40020056L)
-#define RPC_NT_SEC_PKG_ERROR ((NTSTATUS)0xC0020057L)
-#define RPC_NT_NOT_CANCELLED ((NTSTATUS)0xC0020058L)
-#define RPC_NT_INVALID_ES_ACTION ((NTSTATUS)0xC0030059L)
-#define RPC_NT_WRONG_ES_VERSION ((NTSTATUS)0xC003005AL)
-#define RPC_NT_WRONG_STUB_VERSION ((NTSTATUS)0xC003005BL)
-#define RPC_NT_INVALID_PIPE_OBJECT ((NTSTATUS)0xC003005CL)
-#define RPC_NT_INVALID_PIPE_OPERATION ((NTSTATUS)0xC003005DL)
-#define RPC_NT_WRONG_PIPE_VERSION ((NTSTATUS)0xC003005EL)
-#define RPC_NT_PIPE_CLOSED ((NTSTATUS)0xC003005FL)
-#define RPC_NT_PIPE_DISCIPLINE_ERROR ((NTSTATUS)0xC0030060L)
-#define RPC_NT_PIPE_EMPTY ((NTSTATUS)0xC0030061L)
-#define RPC_NT_INVALID_ASYNC_HANDLE ((NTSTATUS)0xC0020062L)
-#define RPC_NT_INVALID_ASYNC_CALL ((NTSTATUS)0xC0020063L)
-#define RPC_NT_SEND_INCOMPLETE ((NTSTATUS)0x400200AFL)
-#define STATUS_ACPI_INVALID_OPCODE ((NTSTATUS)0xC0140001L)
-#define STATUS_ACPI_STACK_OVERFLOW ((NTSTATUS)0xC0140002L)
-#define STATUS_ACPI_ASSERT_FAILED ((NTSTATUS)0xC0140003L)
-#define STATUS_ACPI_INVALID_INDEX ((NTSTATUS)0xC0140004L)
-#define STATUS_ACPI_INVALID_ARGUMENT ((NTSTATUS)0xC0140005L)
-#define STATUS_ACPI_FATAL ((NTSTATUS)0xC0140006L)
-#define STATUS_ACPI_INVALID_SUPERNAME ((NTSTATUS)0xC0140007L)
-#define STATUS_ACPI_INVALID_ARGTYPE ((NTSTATUS)0xC0140008L)
-#define STATUS_ACPI_INVALID_OBJTYPE ((NTSTATUS)0xC0140009L)
-#define STATUS_ACPI_INVALID_TARGETTYPE ((NTSTATUS)0xC014000AL)
-#define STATUS_ACPI_INCORRECT_ARGUMENT_COUNT ((NTSTATUS)0xC014000BL)
-#define STATUS_ACPI_ADDRESS_NOT_MAPPED ((NTSTATUS)0xC014000CL)
-#define STATUS_ACPI_INVALID_EVENTTYPE ((NTSTATUS)0xC014000DL)
-#define STATUS_ACPI_HANDLER_COLLISION ((NTSTATUS)0xC014000EL)
-#define STATUS_ACPI_INVALID_DATA ((NTSTATUS)0xC014000FL)
-#define STATUS_ACPI_INVALID_REGION ((NTSTATUS)0xC0140010L)
-#define STATUS_ACPI_INVALID_ACCESS_SIZE ((NTSTATUS)0xC0140011L)
-#define STATUS_ACPI_ACQUIRE_GLOBAL_LOCK ((NTSTATUS)0xC0140012L)
-#define STATUS_ACPI_ALREADY_INITIALIZED ((NTSTATUS)0xC0140013L)
-#define STATUS_ACPI_NOT_INITIALIZED ((NTSTATUS)0xC0140014L)
-#define STATUS_ACPI_INVALID_MUTEX_LEVEL ((NTSTATUS)0xC0140015L)
-#define STATUS_ACPI_MUTEX_NOT_OWNED ((NTSTATUS)0xC0140016L)
-#define STATUS_ACPI_MUTEX_NOT_OWNER ((NTSTATUS)0xC0140017L)
-#define STATUS_ACPI_RS_ACCESS ((NTSTATUS)0xC0140018L)
-#define STATUS_ACPI_INVALID_TABLE ((NTSTATUS)0xC0140019L)
-#define STATUS_ACPI_REG_HANDLER_FAILED ((NTSTATUS)0xC0140020L)
-#define STATUS_ACPI_POWER_REQUEST_FAILED ((NTSTATUS)0xC0140021L)
-#define STATUS_CTX_WINSTATION_NAME_INVALID ((NTSTATUS)0xC00A0001L)
-#define STATUS_CTX_INVALID_PD ((NTSTATUS)0xC00A0002L)
-#define STATUS_CTX_PD_NOT_FOUND ((NTSTATUS)0xC00A0003L)
-#define STATUS_CTX_CDM_CONNECT ((NTSTATUS)0x400A0004L)
-#define STATUS_CTX_CDM_DISCONNECT ((NTSTATUS)0x400A0005L)
-#define STATUS_CTX_CLOSE_PENDING ((NTSTATUS)0xC00A0006L)
-#define STATUS_CTX_NO_OUTBUF ((NTSTATUS)0xC00A0007L)
-#define STATUS_CTX_MODEM_INF_NOT_FOUND ((NTSTATUS)0xC00A0008L)
-#define STATUS_CTX_INVALID_MODEMNAME ((NTSTATUS)0xC00A0009L)
-#define STATUS_CTX_RESPONSE_ERROR ((NTSTATUS)0xC00A000AL)
-#define STATUS_CTX_MODEM_RESPONSE_TIMEOUT ((NTSTATUS)0xC00A000BL)
-#define STATUS_CTX_MODEM_RESPONSE_NO_CARRIER ((NTSTATUS)0xC00A000CL)
-#define STATUS_CTX_MODEM_RESPONSE_NO_DIALTONE ((NTSTATUS)0xC00A000DL)
-#define STATUS_CTX_MODEM_RESPONSE_BUSY ((NTSTATUS)0xC00A000EL)
-#define STATUS_CTX_MODEM_RESPONSE_VOICE ((NTSTATUS)0xC00A000FL)
-#define STATUS_CTX_TD_ERROR ((NTSTATUS)0xC00A0010L)
-#define STATUS_CTX_LICENSE_CLIENT_INVALID ((NTSTATUS)0xC00A0012L)
-#define STATUS_CTX_LICENSE_NOT_AVAILABLE ((NTSTATUS)0xC00A0013L)
-#define STATUS_CTX_LICENSE_EXPIRED ((NTSTATUS)0xC00A0014L)
-#define STATUS_CTX_WINSTATION_NOT_FOUND ((NTSTATUS)0xC00A0015L)
-#define STATUS_CTX_WINSTATION_NAME_COLLISION ((NTSTATUS)0xC00A0016L)
-#define STATUS_CTX_WINSTATION_BUSY ((NTSTATUS)0xC00A0017L)
-#define STATUS_CTX_BAD_VIDEO_MODE ((NTSTATUS)0xC00A0018L)
-#define STATUS_CTX_GRAPHICS_INVALID ((NTSTATUS)0xC00A0022L)
-#define STATUS_CTX_NOT_CONSOLE ((NTSTATUS)0xC00A0024L)
-#define STATUS_CTX_CLIENT_QUERY_TIMEOUT ((NTSTATUS)0xC00A0026L)
-#define STATUS_CTX_CONSOLE_DISCONNECT ((NTSTATUS)0xC00A0027L)
-#define STATUS_CTX_CONSOLE_CONNECT ((NTSTATUS)0xC00A0028L)
-#define STATUS_CTX_SHADOW_DENIED ((NTSTATUS)0xC00A002AL)
-#define STATUS_CTX_WINSTATION_ACCESS_DENIED ((NTSTATUS)0xC00A002BL)
-#define STATUS_CTX_INVALID_WD ((NTSTATUS)0xC00A002EL)
-#define STATUS_CTX_WD_NOT_FOUND ((NTSTATUS)0xC00A002FL)
-#define STATUS_CTX_SHADOW_INVALID ((NTSTATUS)0xC00A0030L)
-#define STATUS_CTX_SHADOW_DISABLED ((NTSTATUS)0xC00A0031L)
-#define STATUS_RDP_PROTOCOL_ERROR ((NTSTATUS)0xC00A0032L)
-#define STATUS_CTX_CLIENT_LICENSE_NOT_SET ((NTSTATUS)0xC00A0033L)
-#define STATUS_CTX_CLIENT_LICENSE_IN_USE ((NTSTATUS)0xC00A0034L)
-#define STATUS_CTX_SHADOW_ENDED_BY_MODE_CHANGE ((NTSTATUS)0xC00A0035L)
-#define STATUS_CTX_SHADOW_NOT_RUNNING ((NTSTATUS)0xC00A0036L)
-#define STATUS_PNP_BAD_MPS_TABLE ((NTSTATUS)0xC0040035L)
-#define STATUS_PNP_TRANSLATION_FAILED ((NTSTATUS)0xC0040036L)
-#define STATUS_PNP_IRQ_TRANSLATION_FAILED ((NTSTATUS)0xC0040037L)
-#define STATUS_SXS_SECTION_NOT_FOUND ((NTSTATUS)0xC0150001L)
-#define STATUS_SXS_CANT_GEN_ACTCTX ((NTSTATUS)0xC0150002L)
-#define STATUS_SXS_INVALID_ACTCTXDATA_FORMAT ((NTSTATUS)0xC0150003L)
-#define STATUS_SXS_ASSEMBLY_NOT_FOUND ((NTSTATUS)0xC0150004L)
-#define STATUS_SXS_MANIFEST_FORMAT_ERROR ((NTSTATUS)0xC0150005L)
-#define STATUS_SXS_MANIFEST_PARSE_ERROR ((NTSTATUS)0xC0150006L)
-#define STATUS_SXS_ACTIVATION_CONTEXT_DISABLED ((NTSTATUS)0xC0150007L)
-#define STATUS_SXS_KEY_NOT_FOUND ((NTSTATUS)0xC0150008L)
-#define STATUS_SXS_VERSION_CONFLICT ((NTSTATUS)0xC0150009L)
-#define STATUS_SXS_WRONG_SECTION_TYPE ((NTSTATUS)0xC015000AL)
-#define STATUS_SXS_THREAD_QUERIES_DISABLED ((NTSTATUS)0xC015000BL)
-#define STATUS_SXS_ASSEMBLY_MISSING ((NTSTATUS)0xC015000CL)
-#define STATUS_SXS_RELEASE_ACTIVATION_CONTEXT ((NTSTATUS)0x4015000DL)
-#define STATUS_SXS_PROCESS_DEFAULT_ALREADY_SET ((NTSTATUS)0xC015000EL)
-#define STATUS_SXS_EARLY_DEACTIVATION ((NTSTATUS)0xC015000FL)
-#define STATUS_SXS_INVALID_DEACTIVATION ((NTSTATUS)0xC0150010L)
-#define STATUS_SXS_MULTIPLE_DEACTIVATION ((NTSTATUS)0xC0150011L)
-#define STATUS_SXS_SYSTEM_DEFAULT_ACTIVATION_CONTEXT_EMPTY ((NTSTATUS)0xC0150012L)
-#define STATUS_SXS_PROCESS_TERMINATION_REQUESTED ((NTSTATUS)0xC0150013L)
-#define STATUS_CLUSTER_INVALID_NODE ((NTSTATUS)0xC0130001L)
-#define STATUS_CLUSTER_NODE_EXISTS ((NTSTATUS)0xC0130002L)
-#define STATUS_CLUSTER_JOIN_IN_PROGRESS ((NTSTATUS)0xC0130003L)
-#define STATUS_CLUSTER_NODE_NOT_FOUND ((NTSTATUS)0xC0130004L)
-#define STATUS_CLUSTER_LOCAL_NODE_NOT_FOUND ((NTSTATUS)0xC0130005L)
-#define STATUS_CLUSTER_NETWORK_EXISTS ((NTSTATUS)0xC0130006L)
-#define STATUS_CLUSTER_NETWORK_NOT_FOUND ((NTSTATUS)0xC0130007L)
-#define STATUS_CLUSTER_NETINTERFACE_EXISTS ((NTSTATUS)0xC0130008L)
-#define STATUS_CLUSTER_NETINTERFACE_NOT_FOUND ((NTSTATUS)0xC0130009L)
-#define STATUS_CLUSTER_INVALID_REQUEST ((NTSTATUS)0xC013000AL)
-#define STATUS_CLUSTER_INVALID_NETWORK_PROVIDER ((NTSTATUS)0xC013000BL)
-#define STATUS_CLUSTER_NODE_DOWN ((NTSTATUS)0xC013000CL)
-#define STATUS_CLUSTER_NODE_UNREACHABLE ((NTSTATUS)0xC013000DL)
-#define STATUS_CLUSTER_NODE_NOT_MEMBER ((NTSTATUS)0xC013000EL)
-#define STATUS_CLUSTER_JOIN_NOT_IN_PROGRESS ((NTSTATUS)0xC013000FL)
-#define STATUS_CLUSTER_INVALID_NETWORK ((NTSTATUS)0xC0130010L)
-#define STATUS_CLUSTER_NO_NET_ADAPTERS ((NTSTATUS)0xC0130011L)
-#define STATUS_CLUSTER_NODE_UP ((NTSTATUS)0xC0130012L)
-#define STATUS_CLUSTER_NODE_PAUSED ((NTSTATUS)0xC0130013L)
-#define STATUS_CLUSTER_NODE_NOT_PAUSED ((NTSTATUS)0xC0130014L)
-#define STATUS_CLUSTER_NO_SECURITY_CONTEXT ((NTSTATUS)0xC0130015L)
-#define STATUS_CLUSTER_NETWORK_NOT_INTERNAL ((NTSTATUS)0xC0130016L)
-#define STATUS_CLUSTER_POISONED ((NTSTATUS)0xC0130017L)
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
diff --git a/winsup/w32api/include/ddk/parallel.h b/winsup/w32api/include/ddk/parallel.h
deleted file mode 100644
index d6a2429af..000000000
--- a/winsup/w32api/include/ddk/parallel.h
+++ /dev/null
@@ -1,277 +0,0 @@
-/*
- * parallel.h
- *
- * ParPort driver interface
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- * Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __PARALLEL_H
-#define __PARALLEL_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-#include "ntddpar.h"
-
-#define DD_PARALLEL_PORT_BASE_NAME "ParallelPort"
-#define DD_PARALLEL_PORT_BASE_NAME_U L"ParallelPort"
-
-#define IOCTL_INTERNAL_DESELECT_DEVICE \
- CTL_CODE (FILE_DEVICE_PARALLEL_PORT, 24, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_INTERNAL_GET_MORE_PARALLEL_PORT_INFO \
- CTL_CODE (FILE_DEVICE_PARALLEL_PORT, 17, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_INTERNAL_GET_PARALLEL_PNP_INFO \
- CTL_CODE (FILE_DEVICE_PARALLEL_PORT, 21, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_INTERNAL_GET_PARALLEL_PORT_INFO \
- CTL_CODE (FILE_DEVICE_PARALLEL_PORT, 12, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_INTERNAL_INIT_1284_3_BUS \
- CTL_CODE (FILE_DEVICE_PARALLEL_PORT, 22, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_INTERNAL_PARALLEL_CLEAR_CHIP_MODE \
- CTL_CODE (FILE_DEVICE_PARALLEL_PORT, 20, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_INTERNAL_PARALLEL_CONNECT_INTERRUPT \
- CTL_CODE (FILE_DEVICE_PARALLEL_PORT, 13, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_INTERNAL_PARALLEL_DISCONNECT_INTERRUPT \
- CTL_CODE (FILE_DEVICE_PARALLEL_PORT, 14, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_INTERNAL_PARALLEL_PORT_ALLOCATE \
- CTL_CODE (FILE_DEVICE_PARALLEL_PORT, 11, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_INTERNAL_PARALLEL_PORT_FREE \
- CTL_CODE (FILE_DEVICE_PARALLEL_PORT, 40, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_INTERNAL_PARALLEL_SET_CHIP_MODE \
- CTL_CODE (FILE_DEVICE_PARALLEL_PORT, 19, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_INTERNAL_RELEASE_PARALLEL_PORT_INFO \
- CTL_CODE (FILE_DEVICE_PARALLEL_PORT, 15, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_INTERNAL_SELECT_DEVICE \
- CTL_CODE (FILE_DEVICE_PARALLEL_PORT, 23, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-
-typedef struct _PARALLEL_1284_COMMAND {
- UCHAR ID;
- UCHAR Port;
- ULONG CommandFlags;
-} PARALLEL_1284_COMMAND, *PPARALLEL_1284_COMMAND;
-
-/* PARALLEL_1284_COMMAND.CommandFlags */
-#define PAR_END_OF_CHAIN_DEVICE 0x00000001
-#define PAR_HAVE_PORT_KEEP_PORT 0x00000002
-
-typedef struct _MORE_PARALLEL_PORT_INFORMATION {
- INTERFACE_TYPE InterfaceType;
- ULONG BusNumber;
- ULONG InterruptLevel;
- ULONG InterruptVector;
- KAFFINITY InterruptAffinity;
- KINTERRUPT_MODE InterruptMode;
-} MORE_PARALLEL_PORT_INFORMATION, *PMORE_PARALLEL_PORT_INFORMATION;
-
-typedef NTSTATUS DDKAPI
-(*PPARALLEL_SET_CHIP_MODE)(
- IN PVOID SetChipContext,
- IN UCHAR ChipMode);
-
-typedef NTSTATUS DDKAPI
-(*PPARALLEL_CLEAR_CHIP_MODE)(
- IN PVOID ClearChipContext,
- IN UCHAR ChipMode);
-
-typedef NTSTATUS DDKAPI
-(*PPARCHIP_CLEAR_CHIP_MODE)(
- IN PVOID ClearChipContext,
- IN UCHAR ChipMode);
-
-typedef NTSTATUS DDKAPI
-(*PPARALLEL_TRY_SELECT_ROUTINE)(
- IN PVOID TrySelectContext,
- IN PVOID TrySelectCommand);
-
-typedef NTSTATUS DDKAPI
-(*PPARALLEL_DESELECT_ROUTINE)(
- IN PVOID DeselectContext,
- IN PVOID DeselectCommand);
-
-/* PARALLEL_PNP_INFORMATION.HardwareCapabilities */
-#define PPT_NO_HARDWARE_PRESENT 0x00000000
-#define PPT_ECP_PRESENT 0x00000001
-#define PPT_EPP_PRESENT 0x00000002
-#define PPT_EPP_32_PRESENT 0x00000004
-#define PPT_BYTE_PRESENT 0x00000008
-#define PPT_BIDI_PRESENT 0x00000008
-#define PPT_1284_3_PRESENT 0x00000010
-
-typedef struct _PARALLEL_PNP_INFORMATION {
- PHYSICAL_ADDRESS OriginalEcpController;
- PUCHAR EcpController;
- ULONG SpanOfEcpController;
- ULONG PortNumber;
- ULONG HardwareCapabilities;
- PPARALLEL_SET_CHIP_MODE TrySetChipMode;
- PPARALLEL_CLEAR_CHIP_MODE ClearChipMode;
- ULONG FifoDepth;
- ULONG FifoWidth;
- PHYSICAL_ADDRESS EppControllerPhysicalAddress;
- ULONG SpanOfEppController;
- ULONG Ieee1284_3DeviceCount;
- PPARALLEL_TRY_SELECT_ROUTINE TrySelectDevice;
- PPARALLEL_DESELECT_ROUTINE DeselectDevice;
- PVOID Context;
- ULONG CurrentMode;
- PWSTR PortName;
-} PARALLEL_PNP_INFORMATION, *PPARALLEL_PNP_INFORMATION;
-
-typedef BOOLEAN DDKAPI
-(*PPARALLEL_TRY_ALLOCATE_ROUTINE)(
- IN PVOID TryAllocateContext);
-
-typedef VOID DDKAPI
-(*PPARALLEL_FREE_ROUTINE)(
- IN PVOID FreeContext);
-
-typedef ULONG DDKAPI
-(*PPARALLEL_QUERY_WAITERS_ROUTINE)(
- IN PVOID QueryAllocsContext);
-
-typedef struct _PARALLEL_PORT_INFORMATION {
- PHYSICAL_ADDRESS OriginalController;
- PUCHAR Controller;
- ULONG SpanOfController;
- PPARALLEL_TRY_ALLOCATE_ROUTINE TryAllocatePort;
- PPARALLEL_FREE_ROUTINE FreePort;
- PPARALLEL_QUERY_WAITERS_ROUTINE QueryNumWaiters;
- PVOID Context;
-} PARALLEL_PORT_INFORMATION, *PPARALLEL_PORT_INFORMATION;
-
-/* PARALLEL_CHIP_MODE.ModeFlags */
-#define INITIAL_MODE 0x00
-#define PARCHIP_ECR_ARBITRATOR 0x01
-
-typedef struct _PARALLEL_CHIP_MODE {
- UCHAR ModeFlags;
- BOOLEAN success;
-} PARALLEL_CHIP_MODE, *PPARALLEL_CHIP_MODE;
-
-typedef VOID DDKAPI
-(*PPARALLEL_DEFERRED_ROUTINE)(
- IN PVOID DeferredContext);
-
-typedef struct _PARALLEL_INTERRUPT_SERVICE_ROUTINE {
- PKSERVICE_ROUTINE InterruptServiceRoutine;
- PVOID InterruptServiceContext;
- PPARALLEL_DEFERRED_ROUTINE DeferredPortCheckRoutine;
- PVOID DeferredPortCheckContext;
-} PARALLEL_INTERRUPT_SERVICE_ROUTINE, *PPARALLEL_INTERRUPT_SERVICE_ROUTINE;
-
-
-#define IOCTL_INTERNAL_DISCONNECT_IDLE \
- CTL_CODE (FILE_DEVICE_PARALLEL_PORT, 32, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_INTERNAL_LOCK_PORT \
- CTL_CODE (FILE_DEVICE_PARALLEL_PORT, 37, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_INTERNAL_LOCK_PORT_NO_SELECT \
- CTL_CODE (FILE_DEVICE_PARALLEL_PORT, 52, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_INTERNAL_PARCLASS_CONNECT \
- CTL_CODE (FILE_DEVICE_PARALLEL_PORT, 30, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_INTERNAL_PARCLASS_DISCONNECT \
- CTL_CODE (FILE_DEVICE_PARALLEL_PORT, 31, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_INTERNAL_UNLOCK_PORT \
- CTL_CODE (FILE_DEVICE_PARALLEL_PORT, 38, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_INTERNAL_UNLOCK_PORT_NO_DESELECT \
- CTL_CODE (FILE_DEVICE_PARALLEL_PORT, 53, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-typedef USHORT DDKAPI
-(*PDETERMINE_IEEE_MODES)(
- IN PVOID Context);
-
-typedef enum _PARALLEL_SAFETY {
- SAFE_MODE,
- UNSAFE_MODE
-} PARALLEL_SAFETY;
-
-typedef NTSTATUS DDKAPI
-(*PNEGOTIATE_IEEE_MODE)(
- IN PVOID Context,
- IN USHORT ModeMaskFwd,
- IN USHORT ModeMaskRev,
- IN PARALLEL_SAFETY ModeSafety,
- IN BOOLEAN IsForward);
-
-typedef NTSTATUS DDKAPI
-(*PTERMINATE_IEEE_MODE)(
- IN PVOID Context);
-
-typedef NTSTATUS DDKAPI
-(*PPARALLEL_IEEE_FWD_TO_REV)(
- IN PVOID Context);
-
-typedef NTSTATUS DDKAPI
-(*PPARALLEL_IEEE_REV_TO_FWD)(
- IN PVOID Context);
-
-typedef NTSTATUS DDKAPI
-(*PPARALLEL_READ)(
- IN PVOID Context,
- OUT PVOID Buffer,
- IN ULONG NumBytesToRead,
- OUT PULONG NumBytesRead,
- IN UCHAR Channel);
-
-typedef NTSTATUS DDKAPI
-(*PPARALLEL_WRITE)(
- IN PVOID Context,
- OUT PVOID Buffer,
- IN ULONG NumBytesToWrite,
- OUT PULONG NumBytesWritten,
- IN UCHAR Channel);
-
-typedef NTSTATUS DDKAPI
-(*PPARALLEL_TRYSELECT_DEVICE)(
- IN PVOID Context,
- IN PARALLEL_1284_COMMAND Command);
-
-typedef NTSTATUS DDKAPI
-(*PPARALLEL_DESELECT_DEVICE)(
- IN PVOID Context,
- IN PARALLEL_1284_COMMAND Command);
-
-typedef struct _PARCLASS_INFORMATION {
- PUCHAR Controller;
- PUCHAR EcrController;
- ULONG SpanOfController;
- PDETERMINE_IEEE_MODES DetermineIeeeModes;
- PNEGOTIATE_IEEE_MODE NegotiateIeeeMode;
- PTERMINATE_IEEE_MODE TerminateIeeeMode;
- PPARALLEL_IEEE_FWD_TO_REV IeeeFwdToRevMode;
- PPARALLEL_IEEE_REV_TO_FWD IeeeRevToFwdMode;
- PPARALLEL_READ ParallelRead;
- PPARALLEL_WRITE ParallelWrite;
- PVOID ParclassContext;
- ULONG HardwareCapabilities;
- ULONG FifoDepth;
- ULONG FifoWidth;
- PPARALLEL_TRYSELECT_DEVICE ParallelTryselect;
- PPARALLEL_DESELECT_DEVICE ParallelDeSelect;
-} PARCLASS_INFORMATION, *PPARCLASS_INFORMATION;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __PARALLEL_H */
diff --git a/winsup/w32api/include/ddk/pfhook.h b/winsup/w32api/include/ddk/pfhook.h
deleted file mode 100644
index 57e3973bb..000000000
--- a/winsup/w32api/include/ddk/pfhook.h
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * pfhook.h
- *
- * Packet filter API
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- * Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __PFHOOK_H
-#define __PFHOOK_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-
-#define DD_IPFLTRDRVR_DEVICE_NAME L"\\Device\\IPFILTERDRIVER"
-
-#define INVALID_PF_IF_INDEX 0xffffffff
-#define ZERO_PF_IP_ADDR 0
-
-typedef ULONG IPAddr;
-
-typedef enum _PF_FORWARD_ACTION {
- PF_FORWARD = 0,
- PF_DROP = 1,
- PF_PASS = 2,
- PF_ICMP_ON_DROP = 3
-} PF_FORWARD_ACTION;
-
-typedef PF_FORWARD_ACTION STDCALL
-(*PacketFilterExtensionPtr)(
- IN unsigned char *PacketHeader,
- IN unsigned char *Packet,
- IN unsigned int PacketLength,
- IN unsigned int RecvInterfaceIndex,
- IN unsigned int SendInterfaceIndex,
- IN IPAddr RecvLinkNextHop,
- IN IPAddr SendLinkNextHop);
-
-typedef struct _PF_SET_EXTENSION_HOOK_INFO {
- PacketFilterExtensionPtr ExtensionPointer;
-} PF_SET_EXTENSION_HOOK_INFO, *PPF_SET_EXTENSION_HOOK_INFO;
-
-#define FSCTL_IPFLTRDRVR_BASE FILE_DEVICE_NETWORK
-
-#define _IPFLTRDRVR_CTL_CODE(function, method, access) \
- CTL_CODE(FSCTL_IPFLTRDRVR_BASE, function, method, access)
-
-#define IOCTL_PF_SET_EXTENSION_POINTER \
- _IPFLTRDRVR_CTL_CODE(22, METHOD_BUFFERED, FILE_WRITE_ACCESS)
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __PFHOOK_H */
diff --git a/winsup/w32api/include/ddk/poclass.h b/winsup/w32api/include/ddk/poclass.h
deleted file mode 100644
index 2a45ad22e..000000000
--- a/winsup/w32api/include/ddk/poclass.h
+++ /dev/null
@@ -1,118 +0,0 @@
-/*
- * poclass.h
- *
- * Power policy driver interface
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- * Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __POCLASS_H
-#define __POCLASS_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-#include "batclass.h"
-
-DEFINE_GUID(GUID_CLASS_INPUT,
- 0x4D1E55B2L, 0xF16F, 0x11CF, 0x88, 0xCB, 0x00, 0x11, 0x11, 0x00, 0x00, 0x30);
-
-DEFINE_GUID(GUID_DEVICE_LID,
- 0x4AFA3D52L, 0x74A7, 0x11d0, 0xbe, 0x5e, 0x00, 0xA0, 0xC9, 0x06, 0x28, 0x57);
-
-DEFINE_GUID(GUID_DEVICE_MEMORY,
- 0x3fd0f03dL, 0x92e0, 0x45fb, 0xb7, 0x5c, 0x5e, 0xd8, 0xff, 0xb0, 0x10, 0x21);
-
-DEFINE_GUID(GUID_DEVICE_MESSAGE_INDICATOR,
- 0XCD48A365L, 0xfa94, 0x4ce2, 0xa2, 0x32, 0xa1, 0xb7, 0x64, 0xe5, 0xd8, 0xb4);
-
-DEFINE_GUID(GUID_DEVICE_PROCESSOR,
- 0x97fadb10L, 0x4e33, 0x40ae, 0x35, 0x9c, 0x8b, 0xef, 0x02, 0x9d, 0xbd, 0xd0);
-
-DEFINE_GUID(GUID_DEVICE_SYS_BUTTON,
- 0x4AFA3D53L, 0x74A7, 0x11d0, 0xbe, 0x5e, 0x00, 0xA0, 0xC9, 0x06, 0x28, 0x57);
-
-DEFINE_GUID(GUID_DEVICE_THERMAL_ZONE,
- 0x4AFA3D51L, 0x74A7, 0x11d0, 0xbe, 0x5e, 0x00, 0xA0, 0xC9, 0x06, 0x28, 0x57);
-
-
-#define IOCTL_GET_PROCESSOR_OBJ_INFO \
- CTL_CODE(FILE_DEVICE_BATTERY, 0x60, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_GET_SYS_BUTTON_CAPS \
- CTL_CODE(FILE_DEVICE_BATTERY, 0x50, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_GET_SYS_BUTTON_EVENT \
- CTL_CODE(FILE_DEVICE_BATTERY, 0x51, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_SET_SYS_MESSAGE_INDICATOR \
- CTL_CODE(FILE_DEVICE_BATTERY, 0x70, METHOD_BUFFERED, FILE_WRITE_ACCESS)
-
-#define IOCTL_NOTIFY_SWITCH_EVENT \
- CTL_CODE(FILE_DEVICE_BATTERY, 0x40, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_THERMAL_QUERY_INFORMATION \
- CTL_CODE(FILE_DEVICE_BATTERY, 0x20, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_THERMAL_SET_COOLING_POLICY \
- CTL_CODE(FILE_DEVICE_BATTERY, 0x21, METHOD_BUFFERED, FILE_WRITE_ACCESS)
-
-#define IOCTL_QUERY_LID \
- CTL_CODE(FILE_DEVICE_BATTERY, 0x30, METHOD_BUFFERED, FILE_READ_ACCESS)
-
-#define IOCTL_RUN_ACTIVE_COOLING_METHOD \
- CTL_CODE(FILE_DEVICE_BATTERY, 0x22, METHOD_BUFFERED, FILE_WRITE_ACCESS)
-
-#define SYS_BUTTON_POWER 0x00000001
-#define SYS_BUTTON_SLEEP 0x00000002
-#define SYS_BUTTON_LID 0x00000004
-#define SYS_BUTTON_WAKE 0x80000000
-
-#define MAX_ACTIVE_COOLING_LEVELS 10
-#define ACTIVE_COOLING 0
-#define PASSIVE_COOLING 1
-
-typedef struct _THERMAL_INFORMATION {
- ULONG ThermalStamp;
- ULONG ThermalConstant1;
- ULONG ThermalConstant2;
- KAFFINITY Processors;
- ULONG SamplingPeriod;
- ULONG CurrentTemperature;
- ULONG PassiveTripPoint;
- ULONG CriticalTripPoint;
- UCHAR ActiveTripPointCount;
- ULONG ActiveTripPoint[MAX_ACTIVE_COOLING_LEVELS];
-} THERMAL_INFORMATION, *PTHERMAL_INFORMATION;
-
-typedef struct _PROCESSOR_OBJECT_INFO {
- ULONG PhysicalID;
- ULONG PBlkAddress;
- UCHAR PBlkLength;
-} PROCESSOR_OBJECT_INFO, *PPROCESSOR_OBJECT_INFO;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __POCLASS_H */
diff --git a/winsup/w32api/include/ddk/scsi.h b/winsup/w32api/include/ddk/scsi.h
deleted file mode 100644
index 65adcdd3a..000000000
--- a/winsup/w32api/include/ddk/scsi.h
+++ /dev/null
@@ -1,1694 +0,0 @@
-/*
- * scsi.h
- *
- * SCSI port and class interface.
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- * Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __SCSI_H
-#define __SCSI_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-
-typedef union _CDB {
- struct _CDB6GENERIC {
- UCHAR OperationCode;
- UCHAR Immediate : 1;
- UCHAR CommandUniqueBits : 4;
- UCHAR LogicalUnitNumber : 3;
- UCHAR CommandUniqueBytes[3];
- UCHAR Link : 1;
- UCHAR Flag : 1;
- UCHAR Reserved : 4;
- UCHAR VendorUnique : 2;
- } CDB6GENERIC, *PCDB6GENERIC;
-
- struct _CDB6READWRITE {
- UCHAR OperationCode;
- UCHAR LogicalBlockMsb1 : 5;
- UCHAR LogicalUnitNumber : 3;
- UCHAR LogicalBlockMsb0;
- UCHAR LogicalBlockLsb;
- UCHAR TransferBlocks;
- UCHAR Control;
- } CDB6READWRITE, *PCDB6READWRITE;
-
- struct _CDB6INQUIRY {
- UCHAR OperationCode;
- UCHAR Reserved1 : 5;
- UCHAR LogicalUnitNumber : 3;
- UCHAR PageCode;
- UCHAR IReserved;
- UCHAR AllocationLength;
- UCHAR Control;
- } CDB6INQUIRY, *PCDB6INQUIRY;
-
- struct _CDB6INQUIRY3 {
- UCHAR OperationCode;
- UCHAR EnableVitalProductData : 1;
- UCHAR CommandSupportData : 1;
- UCHAR Reserved1 : 6;
- UCHAR PageCode;
- UCHAR Reserved2;
- UCHAR AllocationLength;
- UCHAR Control;
- } CDB6INQUIRY3, *PCDB6INQUIRY3;
-
- struct _CDB6VERIFY {
- UCHAR OperationCode;
- UCHAR Fixed : 1;
- UCHAR ByteCompare : 1;
- UCHAR Immediate : 1;
- UCHAR Reserved : 2;
- UCHAR LogicalUnitNumber : 3;
- UCHAR VerificationLength[3];
- UCHAR Control;
- } CDB6VERIFY, *PCDB6VERIFY;
-
- struct _CDB6FORMAT {
- UCHAR OperationCode;
- UCHAR FormatControl : 5;
- UCHAR LogicalUnitNumber : 3;
- UCHAR FReserved1;
- UCHAR InterleaveMsb;
- UCHAR InterleaveLsb;
- UCHAR FReserved2;
- } CDB6FORMAT, *PCDB6FORMAT;
-
- struct _CDB10 {
- UCHAR OperationCode;
- UCHAR RelativeAddress : 1;
- UCHAR Reserved1 : 2;
- UCHAR ForceUnitAccess : 1;
- UCHAR DisablePageOut : 1;
- UCHAR LogicalUnitNumber : 3;
- UCHAR LogicalBlockByte0;
- UCHAR LogicalBlockByte1;
- UCHAR LogicalBlockByte2;
- UCHAR LogicalBlockByte3;
- UCHAR Reserved2;
- UCHAR TransferBlocksMsb;
- UCHAR TransferBlocksLsb;
- UCHAR Control;
- } CDB10, *PCDB10;
-
- struct _CDB12 {
- UCHAR OperationCode;
- UCHAR RelativeAddress : 1;
- UCHAR Reserved1 : 2;
- UCHAR ForceUnitAccess : 1;
- UCHAR DisablePageOut : 1;
- UCHAR LogicalUnitNumber : 3;
- UCHAR LogicalBlock[4];
- UCHAR TransferLength[4];
- UCHAR Reserved2;
- UCHAR Control;
- } CDB12, *PCDB12;
-
- struct _PAUSE_RESUME {
- UCHAR OperationCode;
- UCHAR Reserved1 : 5;
- UCHAR LogicalUnitNumber : 3;
- UCHAR Reserved2[6];
- UCHAR Action;
- UCHAR Control;
- } PAUSE_RESUME, *PPAUSE_RESUME;
-
- struct _READ_TOC {
- UCHAR OperationCode;
- UCHAR Reserved0 : 1;
- UCHAR Msf : 1;
- UCHAR Reserved1 : 3;
- UCHAR LogicalUnitNumber : 3;
- UCHAR Format2 : 4;
- UCHAR Reserved2 : 4;
- UCHAR Reserved3[3];
- UCHAR StartingTrack;
- UCHAR AllocationLength[2];
- UCHAR Control : 6;
- UCHAR Format : 2;
- } READ_TOC, *PREAD_TOC;
-
- struct _READ_DISK_INFORMATION {
- UCHAR OperationCode;
- UCHAR Reserved1 : 5;
- UCHAR Lun : 3;
- UCHAR Reserved2[5];
- UCHAR AllocationLength[2];
- UCHAR Control;
- } READ_DISK_INFORMATION, *PREAD_DISK_INFORMATION;
-
- struct _READ_TRACK_INFORMATION {
- UCHAR OperationCode;
- UCHAR Track : 1;
- UCHAR Reserved1 : 3;
- UCHAR Reserved2 : 1;
- UCHAR Lun : 3;
- UCHAR BlockAddress[4];
- UCHAR Reserved3;
- UCHAR AllocationLength[2];
- UCHAR Control;
- } READ_TRACK_INFORMATION, *PREAD_TRACK_INFORMATION;
-
- struct _RESERVE_TRACK_RZONE {
- UCHAR OperationCode;
- UCHAR Reserved1[4];
- UCHAR ReservationSize[4];
- UCHAR Control;
- } RESERVE_TRACK_RZONE, *PRESERVE_TRACK_RZONE;
-
- struct _SEND_OPC_INFORMATION {
- UCHAR OperationCode;
- UCHAR DoOpc : 1;
- UCHAR Reserved : 7;
- UCHAR Reserved1[5];
- UCHAR ParameterListLength[2];
- UCHAR Reserved2;
- } SEND_OPC_INFORMATION, *PSEND_OPC_INFORMATION;
-
- struct _CLOSE_TRACK {
- UCHAR OperationCode;
- UCHAR Immediate : 1;
- UCHAR Reserved1 : 7;
- UCHAR Track : 1;
- UCHAR Session : 1;
- UCHAR Reserved2 : 6;
- UCHAR Reserved3;
- UCHAR TrackNumber[2];
- UCHAR Reserved4[3];
- UCHAR Control;
- } CLOSE_TRACK, *PCLOSE_TRACK;
-
- struct _SEND_CUE_SHEET {
- UCHAR OperationCode;
- UCHAR Reserved[5];
- UCHAR CueSheetSize[3];
- UCHAR Control;
- } SEND_CUE_SHEET, *PSEND_CUE_SHEET;
-
- struct _READ_HEADER {
- UCHAR OperationCode;
- UCHAR Reserved1 : 1;
- UCHAR Msf : 1;
- UCHAR Reserved2 : 3;
- UCHAR Lun : 3;
- UCHAR LogicalBlockAddress[4];
- UCHAR Reserved3;
- UCHAR AllocationLength[2];
- UCHAR Control;
- } READ_HEADER, *PREAD_HEADER;
-
- struct _PLAY_AUDIO {
- UCHAR OperationCode;
- UCHAR Reserved1 : 5;
- UCHAR LogicalUnitNumber : 3;
- UCHAR StartingBlockAddress[4];
- UCHAR Reserved2;
- UCHAR PlayLength[2];
- UCHAR Control;
- } PLAY_AUDIO, *PPLAY_AUDIO;
-
- struct _PLAY_AUDIO_MSF {
- UCHAR OperationCode;
- UCHAR Reserved1 : 5;
- UCHAR LogicalUnitNumber : 3;
- UCHAR Reserved2;
- UCHAR StartingM;
- UCHAR StartingS;
- UCHAR StartingF;
- UCHAR EndingM;
- UCHAR EndingS;
- UCHAR EndingF;
- UCHAR Control;
- } PLAY_AUDIO_MSF, *PPLAY_AUDIO_MSF;
-
-/* FIXME: Should the union be anonymous in C++ too? If so,
- can't define named types _LBA and _MSF within anonymous union
- for C++. */
- struct _PLAY_CD {
- UCHAR OperationCode;
- UCHAR Reserved1 : 1;
- UCHAR CMSF : 1;
- UCHAR ExpectedSectorType : 3;
- UCHAR Lun : 3;
-#ifndef __cplusplus
- _ANONYMOUS_UNION
-#endif
- union {
- struct _LBA {
- UCHAR StartingBlockAddress[4];
- UCHAR PlayLength[4];
- } LBA;
-
- struct _MSF {
- UCHAR Reserved1;
- UCHAR StartingM;
- UCHAR StartingS;
- UCHAR StartingF;
- UCHAR EndingM;
- UCHAR EndingS;
- UCHAR EndingF;
- UCHAR Reserved2;
- } MSF;
- #ifndef __cplusplus
- }DUMMYUNIONNAME;
- #else
- }u;
- #endif
-
- UCHAR Audio : 1;
- UCHAR Composite : 1;
- UCHAR Port1 : 1;
- UCHAR Port2 : 1;
- UCHAR Reserved2 : 3;
- UCHAR Speed : 1;
- UCHAR Control;
- } PLAY_CD, *PPLAY_CD;
-
- struct _SCAN_CD {
- UCHAR OperationCode;
- UCHAR RelativeAddress : 1;
- UCHAR Reserved1 : 3;
- UCHAR Direct : 1;
- UCHAR Lun : 3;
- UCHAR StartingAddress[4];
- UCHAR Reserved2[3];
- UCHAR Reserved3 : 6;
- UCHAR Type : 2;
- UCHAR Reserved4;
- UCHAR Control;
- } SCAN_CD, *PSCAN_CD;
-
- struct _STOP_PLAY_SCAN {
- UCHAR OperationCode;
- UCHAR Reserved1 : 5;
- UCHAR Lun : 3;
- UCHAR Reserved2[7];
- UCHAR Control;
- } STOP_PLAY_SCAN, *PSTOP_PLAY_SCAN;
-
- struct _SUBCHANNEL {
- UCHAR OperationCode;
- UCHAR Reserved0 : 1;
- UCHAR Msf : 1;
- UCHAR Reserved1 : 3;
- UCHAR LogicalUnitNumber : 3;
- UCHAR Reserved2 : 6;
- UCHAR SubQ : 1;
- UCHAR Reserved3 : 1;
- UCHAR Format;
- UCHAR Reserved4[2];
- UCHAR TrackNumber;
- UCHAR AllocationLength[2];
- UCHAR Control;
- } SUBCHANNEL, *PSUBCHANNEL;
-
- struct _READ_CD {
- UCHAR OperationCode;
- UCHAR RelativeAddress : 1;
- UCHAR Reserved0 : 1;
- UCHAR ExpectedSectorType : 3;
- UCHAR Lun : 3;
- UCHAR StartingLBA[4];
- UCHAR TransferBlocks[3];
- UCHAR Reserved2 : 1;
- UCHAR ErrorFlags : 2;
- UCHAR IncludeEDC : 1;
- UCHAR IncludeUserData : 1;
- UCHAR HeaderCode : 2;
- UCHAR IncludeSyncData : 1;
- UCHAR SubChannelSelection : 3;
- UCHAR Reserved3 : 5;
- UCHAR Control;
- } READ_CD, *PREAD_CD;
-
- struct _READ_CD_MSF {
- UCHAR OperationCode;
- UCHAR RelativeAddress : 1;
- UCHAR Reserved1 : 1;
- UCHAR ExpectedSectorType : 3;
- UCHAR Lun : 3;
- UCHAR Reserved2;
- UCHAR StartingM;
- UCHAR StartingS;
- UCHAR StartingF;
- UCHAR EndingM;
- UCHAR EndingS;
- UCHAR EndingF;
- UCHAR Reserved3;
- UCHAR Reserved4 : 1;
- UCHAR ErrorFlags : 2;
- UCHAR IncludeEDC : 1;
- UCHAR IncludeUserData : 1;
- UCHAR HeaderCode : 2;
- UCHAR IncludeSyncData : 1;
- UCHAR SubChannelSelection : 3;
- UCHAR Reserved5 : 5;
- UCHAR Control;
- } READ_CD_MSF, *PREAD_CD_MSF;
-
- struct _PLXTR_READ_CDDA {
- UCHAR OperationCode;
- UCHAR Reserved0 : 5;
- UCHAR LogicalUnitNumber : 3;
- UCHAR LogicalBlockByte0;
- UCHAR LogicalBlockByte1;
- UCHAR LogicalBlockByte2;
- UCHAR LogicalBlockByte3;
- UCHAR TransferBlockByte0;
- UCHAR TransferBlockByte1;
- UCHAR TransferBlockByte2;
- UCHAR TransferBlockByte3;
- UCHAR SubCode;
- UCHAR Control;
- } PLXTR_READ_CDDA, *PPLXTR_READ_CDDA;
-
- struct _NEC_READ_CDDA {
- UCHAR OperationCode;
- UCHAR Reserved0;
- UCHAR LogicalBlockByte0;
- UCHAR LogicalBlockByte1;
- UCHAR LogicalBlockByte2;
- UCHAR LogicalBlockByte3;
- UCHAR Reserved1;
- UCHAR TransferBlockByte0;
- UCHAR TransferBlockByte1;
- UCHAR Control;
- } NEC_READ_CDDA, *PNEC_READ_CDDA;
-
- struct _MODE_SENSE {
- UCHAR OperationCode;
- UCHAR Reserved1 : 3;
- UCHAR Dbd : 1;
- UCHAR Reserved2 : 1;
- UCHAR LogicalUnitNumber : 3;
- UCHAR PageCode : 6;
- UCHAR Pc : 2;
- UCHAR Reserved3;
- UCHAR AllocationLength;
- UCHAR Control;
- } MODE_SENSE, *PMODE_SENSE;
-
- struct _MODE_SENSE10 {
- UCHAR OperationCode;
- UCHAR Reserved1 : 3;
- UCHAR Dbd : 1;
- UCHAR Reserved2 : 1;
- UCHAR LogicalUnitNumber : 3;
- UCHAR PageCode : 6;
- UCHAR Pc : 2;
- UCHAR Reserved3[4];
- UCHAR AllocationLength[2];
- UCHAR Control;
- } MODE_SENSE10, *PMODE_SENSE10;
-
- struct _MODE_SELECT {
- UCHAR OperationCode;
- UCHAR SPBit : 1;
- UCHAR Reserved1 : 3;
- UCHAR PFBit : 1;
- UCHAR LogicalUnitNumber : 3;
- UCHAR Reserved2[2];
- UCHAR ParameterListLength;
- UCHAR Control;
- } MODE_SELECT, *PMODE_SELECT;
-
- struct _MODE_SELECT10 {
- UCHAR OperationCode;
- UCHAR SPBit : 1;
- UCHAR Reserved1 : 3;
- UCHAR PFBit : 1;
- UCHAR LogicalUnitNumber : 3;
- UCHAR Reserved2[5];
- UCHAR ParameterListLength[2];
- UCHAR Control;
- } MODE_SELECT10, *PMODE_SELECT10;
-
- struct _LOCATE {
- UCHAR OperationCode;
- UCHAR Immediate : 1;
- UCHAR CPBit : 1;
- UCHAR BTBit : 1;
- UCHAR Reserved1 : 2;
- UCHAR LogicalUnitNumber : 3;
- UCHAR Reserved3;
- UCHAR LogicalBlockAddress[4];
- UCHAR Reserved4;
- UCHAR Partition;
- UCHAR Control;
- } LOCATE, *PLOCATE;
-
- struct _LOGSENSE {
- UCHAR OperationCode;
- UCHAR SPBit : 1;
- UCHAR PPCBit : 1;
- UCHAR Reserved1 : 3;
- UCHAR LogicalUnitNumber : 3;
- UCHAR PageCode : 6;
- UCHAR PCBit : 2;
- UCHAR Reserved2;
- UCHAR Reserved3;
- UCHAR ParameterPointer[2];
- UCHAR AllocationLength[2];
- UCHAR Control;
- } LOGSENSE, *PLOGSENSE;
-
- struct _LOGSELECT {
- UCHAR OperationCode;
- UCHAR SPBit : 1;
- UCHAR PCRBit : 1;
- UCHAR Reserved1 : 3;
- UCHAR LogicalUnitNumber : 3;
- UCHAR Reserved : 6;
- UCHAR PCBit : 2;
- UCHAR Reserved2[4];
- UCHAR ParameterListLength[2];
- UCHAR Control;
- } LOGSELECT, *PLOGSELECT;
-
- struct _PRINT {
- UCHAR OperationCode;
- UCHAR Reserved : 5;
- UCHAR LogicalUnitNumber : 3;
- UCHAR TransferLength[3];
- UCHAR Control;
- } PRINT, *PPRINT;
-
- struct _SEEK {
- UCHAR OperationCode;
- UCHAR Reserved1 : 5;
- UCHAR LogicalUnitNumber : 3;
- UCHAR LogicalBlockAddress[4];
- UCHAR Reserved2[3];
- UCHAR Control;
- } SEEK, *PSEEK;
-
- struct _ERASE {
- UCHAR OperationCode;
- UCHAR Long : 1;
- UCHAR Immediate : 1;
- UCHAR Reserved1 : 3;
- UCHAR LogicalUnitNumber : 3;
- UCHAR Reserved2[3];
- UCHAR Control;
- } ERASE, *PERASE;
-
- struct _START_STOP {
- UCHAR OperationCode;
- UCHAR Immediate: 1;
- UCHAR Reserved1 : 4;
- UCHAR LogicalUnitNumber : 3;
- UCHAR Reserved2[2];
- UCHAR Start : 1;
- UCHAR LoadEject : 1;
- UCHAR Reserved3 : 6;
- UCHAR Control;
- } START_STOP, *PSTART_STOP;
-
- struct _MEDIA_REMOVAL {
- UCHAR OperationCode;
- UCHAR Reserved1 : 5;
- UCHAR LogicalUnitNumber : 3;
- UCHAR Reserved2[2];
-
- UCHAR Prevent : 1;
- UCHAR Persistant : 1;
- UCHAR Reserved3 : 6;
-
- UCHAR Control;
- } MEDIA_REMOVAL, *PMEDIA_REMOVAL;
-
- struct _SEEK_BLOCK {
- UCHAR OperationCode;
- UCHAR Immediate : 1;
- UCHAR Reserved1 : 7;
- UCHAR BlockAddress[3];
- UCHAR Link : 1;
- UCHAR Flag : 1;
- UCHAR Reserved2 : 4;
- UCHAR VendorUnique : 2;
- } SEEK_BLOCK, *PSEEK_BLOCK;
-
- struct _REQUEST_BLOCK_ADDRESS {
- UCHAR OperationCode;
- UCHAR Reserved1[3];
- UCHAR AllocationLength;
- UCHAR Link : 1;
- UCHAR Flag : 1;
- UCHAR Reserved2 : 4;
- UCHAR VendorUnique : 2;
- } REQUEST_BLOCK_ADDRESS, *PREQUEST_BLOCK_ADDRESS;
-
- struct _PARTITION {
- UCHAR OperationCode;
- UCHAR Immediate : 1;
- UCHAR Sel: 1;
- UCHAR PartitionSelect : 6;
- UCHAR Reserved1[3];
- UCHAR Control;
- } PARTITION, *PPARTITION;
-
- struct _WRITE_TAPE_MARKS {
- UCHAR OperationCode;
- UCHAR Immediate : 1;
- UCHAR WriteSetMarks: 1;
- UCHAR Reserved : 3;
- UCHAR LogicalUnitNumber : 3;
- UCHAR TransferLength[3];
- UCHAR Control;
- } WRITE_TAPE_MARKS, *PWRITE_TAPE_MARKS;
-
- struct _SPACE_TAPE_MARKS {
- UCHAR OperationCode;
- UCHAR Code : 3;
- UCHAR Reserved : 2;
- UCHAR LogicalUnitNumber : 3;
- UCHAR NumMarksMSB ;
- UCHAR NumMarks;
- UCHAR NumMarksLSB;
- union {
- UCHAR value;
- struct {
- UCHAR Link : 1;
- UCHAR Flag : 1;
- UCHAR Reserved : 4;
- UCHAR VendorUnique : 2;
- } Fields;
- } Byte6;
- } SPACE_TAPE_MARKS, *PSPACE_TAPE_MARKS;
-
- struct _READ_POSITION {
- UCHAR Operation;
- UCHAR BlockType : 1;
- UCHAR Reserved1 : 4;
- UCHAR Lun : 3;
- UCHAR Reserved2[7];
- UCHAR Control;
- } READ_POSITION, *PREAD_POSITION;
-
- struct _CDB6READWRITETAPE {
- UCHAR OperationCode;
- UCHAR VendorSpecific : 5;
- UCHAR Reserved : 3;
- UCHAR TransferLenMSB;
- UCHAR TransferLen;
- UCHAR TransferLenLSB;
- UCHAR Link : 1;
- UCHAR Flag : 1;
- UCHAR Reserved1 : 4;
- UCHAR VendorUnique : 2;
- } CDB6READWRITETAPE, *PCDB6READWRITETAPE;
-
- struct _INIT_ELEMENT_STATUS {
- UCHAR OperationCode;
- UCHAR Reserved1 : 5;
- UCHAR LogicalUnitNubmer : 3;
- UCHAR Reserved2[3];
- UCHAR Reserved3 : 7;
- UCHAR NoBarCode : 1;
- } INIT_ELEMENT_STATUS, *PINIT_ELEMENT_STATUS;
-
- struct _INITIALIZE_ELEMENT_RANGE {
- UCHAR OperationCode;
- UCHAR Range : 1;
- UCHAR Reserved1 : 4;
- UCHAR LogicalUnitNubmer : 3;
- UCHAR FirstElementAddress[2];
- UCHAR Reserved2[2];
- UCHAR NumberOfElements[2];
- UCHAR Reserved3;
- UCHAR Reserved4 : 7;
- UCHAR NoBarCode : 1;
- } INITIALIZE_ELEMENT_RANGE, *PINITIALIZE_ELEMENT_RANGE;
-
- struct _POSITION_TO_ELEMENT {
- UCHAR OperationCode;
- UCHAR Reserved1 : 5;
- UCHAR LogicalUnitNumber : 3;
- UCHAR TransportElementAddress[2];
- UCHAR DestinationElementAddress[2];
- UCHAR Reserved2[2];
- UCHAR Flip : 1;
- UCHAR Reserved3 : 7;
- UCHAR Control;
- } POSITION_TO_ELEMENT, *PPOSITION_TO_ELEMENT;
-
- struct _MOVE_MEDIUM {
- UCHAR OperationCode;
- UCHAR Reserved1 : 5;
- UCHAR LogicalUnitNumber : 3;
- UCHAR TransportElementAddress[2];
- UCHAR SourceElementAddress[2];
- UCHAR DestinationElementAddress[2];
- UCHAR Reserved2[2];
- UCHAR Flip : 1;
- UCHAR Reserved3 : 7;
- UCHAR Control;
- } MOVE_MEDIUM, *PMOVE_MEDIUM;
-
- struct _EXCHANGE_MEDIUM {
- UCHAR OperationCode;
- UCHAR Reserved1 : 5;
- UCHAR LogicalUnitNumber : 3;
- UCHAR TransportElementAddress[2];
- UCHAR SourceElementAddress[2];
- UCHAR Destination1ElementAddress[2];
- UCHAR Destination2ElementAddress[2];
- UCHAR Flip1 : 1;
- UCHAR Flip2 : 1;
- UCHAR Reserved3 : 6;
- UCHAR Control;
- } EXCHANGE_MEDIUM, *PEXCHANGE_MEDIUM;
-
- struct _READ_ELEMENT_STATUS {
- UCHAR OperationCode;
- UCHAR ElementType : 4;
- UCHAR VolTag : 1;
- UCHAR LogicalUnitNumber : 3;
- UCHAR StartingElementAddress[2];
- UCHAR NumberOfElements[2];
- UCHAR Reserved1;
- UCHAR AllocationLength[3];
- UCHAR Reserved2;
- UCHAR Control;
- } READ_ELEMENT_STATUS, *PREAD_ELEMENT_STATUS;
-
- struct _SEND_VOLUME_TAG {
- UCHAR OperationCode;
- UCHAR ElementType : 4;
- UCHAR Reserved1 : 1;
- UCHAR LogicalUnitNumber : 3;
- UCHAR StartingElementAddress[2];
- UCHAR Reserved2;
- UCHAR ActionCode : 5;
- UCHAR Reserved3 : 3;
- UCHAR Reserved4[2];
- UCHAR ParameterListLength[2];
- UCHAR Reserved5;
- UCHAR Control;
- } SEND_VOLUME_TAG, *PSEND_VOLUME_TAG;
-
- struct _REQUEST_VOLUME_ELEMENT_ADDRESS {
- UCHAR OperationCode;
- UCHAR ElementType : 4;
- UCHAR VolTag : 1;
- UCHAR LogicalUnitNumber : 3;
- UCHAR StartingElementAddress[2];
- UCHAR NumberElements[2];
- UCHAR Reserved1;
- UCHAR AllocationLength[3];
- UCHAR Reserved2;
- UCHAR Control;
- } REQUEST_VOLUME_ELEMENT_ADDRESS, *PREQUEST_VOLUME_ELEMENT_ADDRESS;
-
- struct _LOAD_UNLOAD {
- UCHAR OperationCode;
- UCHAR Immediate : 1;
- UCHAR Reserved1 : 4;
- UCHAR Lun : 3;
- UCHAR Reserved2[2];
- UCHAR Start : 1;
- UCHAR LoadEject : 1;
- UCHAR Reserved3: 6;
- UCHAR Reserved4[3];
- UCHAR Slot;
- UCHAR Reserved5[3];
- } LOAD_UNLOAD, *PLOAD_UNLOAD;
-
- struct _MECH_STATUS {
- UCHAR OperationCode;
- UCHAR Reserved : 5;
- UCHAR Lun : 3;
- UCHAR Reserved1[6];
- UCHAR AllocationLength[2];
- UCHAR Reserved2[1];
- UCHAR Control;
- } MECH_STATUS, *PMECH_STATUS;
-
- struct _SYNCHRONIZE_CACHE10 {
-
- UCHAR OperationCode;
-
- UCHAR RelAddr : 1;
- UCHAR Immediate : 1;
- UCHAR Reserved : 3;
- UCHAR Lun : 3;
-
- UCHAR LogicalBlockAddress[4];
- UCHAR Reserved2;
- UCHAR BlockCount[2];
- UCHAR Control;
- } SYNCHRONIZE_CACHE10, *PSYNCHRONIZE_CACHE10;
-
- struct _GET_EVENT_STATUS_NOTIFICATION {
- UCHAR OperationCode;
-
- UCHAR Immediate : 1;
- UCHAR Reserved : 4;
- UCHAR Lun : 3;
-
- UCHAR Reserved2[2];
- UCHAR NotificationClassRequest;
- UCHAR Reserved3[2];
- UCHAR EventListLength[2];
-
- UCHAR Control;
- } GET_EVENT_STATUS_NOTIFICATION, *PGET_EVENT_STATUS_NOTIFICATION;
-
- struct _READ_DVD_STRUCTURE {
- UCHAR OperationCode;
- UCHAR Reserved1 : 5;
- UCHAR Lun : 3;
- UCHAR RMDBlockNumber[4];
- UCHAR LayerNumber;
- UCHAR Format;
- UCHAR AllocationLength[2];
- UCHAR Reserved3 : 6;
- UCHAR AGID : 2;
- UCHAR Control;
- } READ_DVD_STRUCTURE, *PREAD_DVD_STRUCTURE;
-
- struct _SEND_DVD_STRUCTURE {
- UCHAR OperationCode;
- UCHAR Reserved1 : 5;
- UCHAR Lun : 3;
- UCHAR Reserved2[5];
- UCHAR Format;
- UCHAR ParameterListLength[2];
- UCHAR Reserved3;
- UCHAR Control;
- } SEND_DVD_STRUCTURE, *PSEND_DVD_STRUCTURE;
-
- struct _SEND_KEY {
- UCHAR OperationCode;
- UCHAR Reserved1 : 5;
- UCHAR Lun : 3;
- UCHAR Reserved2[6];
- UCHAR ParameterListLength[2];
- UCHAR KeyFormat : 6;
- UCHAR AGID : 2;
- UCHAR Control;
- } SEND_KEY, *PSEND_KEY;
-
- struct _REPORT_KEY {
- UCHAR OperationCode;
- UCHAR Reserved1 : 5;
- UCHAR Lun : 3;
- UCHAR LogicalBlockAddress[4];
- UCHAR Reserved2[2];
- UCHAR AllocationLength[2];
- UCHAR KeyFormat : 6;
- UCHAR AGID : 2;
- UCHAR Control;
- } REPORT_KEY, *PREPORT_KEY;
-
- struct _SET_READ_AHEAD {
- UCHAR OperationCode;
- UCHAR Reserved1 : 5;
- UCHAR Lun : 3;
- UCHAR TriggerLBA[4];
- UCHAR ReadAheadLBA[4];
- UCHAR Reserved2;
- UCHAR Control;
- } SET_READ_AHEAD, *PSET_READ_AHEAD;
-
- struct _READ_FORMATTED_CAPACITIES {
- UCHAR OperationCode;
- UCHAR Reserved1 : 5;
- UCHAR Lun : 3;
- UCHAR Reserved2[5];
- UCHAR AllocationLength[2];
- UCHAR Control;
- } READ_FORMATTED_CAPACITIES, *PREAD_FORMATTED_CAPACITIES;
-
- struct _REPORT_LUNS {
- UCHAR OperationCode;
- UCHAR Reserved1[5];
- UCHAR AllocationLength[4];
- UCHAR Reserved2[1];
- UCHAR Control;
- } REPORT_LUNS, *PREPORT_LUNS;
-
- struct _PERSISTENT_RESERVE_IN {
- UCHAR OperationCode;
- UCHAR ServiceAction : 5;
- UCHAR Reserved1 : 3;
- UCHAR Reserved2[5];
- UCHAR AllocationLength[2];
- UCHAR Control;
- } PERSISTENT_RESERVE_IN, *PPERSISTENT_RESERVE_IN;
-
- struct _PERSISTENT_RESERVE_OUT {
- UCHAR OperationCode;
- UCHAR ServiceAction : 5;
- UCHAR Reserved1 : 3;
- UCHAR Type : 4;
- UCHAR Scope : 4;
- UCHAR Reserved2[4];
- UCHAR ParameterListLength[2];
- UCHAR Control;
- } PERSISTENT_RESERVE_OUT, *PPERSISTENT_RESERVE_OUT;
-
- struct _GET_CONFIGURATION {
- UCHAR OperationCode;
- UCHAR RequestType : 1;
- UCHAR Reserved1 : 7;
- UCHAR StartingFeature[2];
- UCHAR Reserved2[3];
- UCHAR AllocationLength[2];
- UCHAR Control;
- } GET_CONFIGURATION, *PGET_CONFIGURATION;
-
- struct _SET_CD_SPEED {
- UCHAR OperationCode;
- UCHAR Reserved1;
- UCHAR ReadSpeed[2];
- UCHAR WriteSpeed[2];
- UCHAR Reserved2[5];
- UCHAR Control;
- } SET_CD_SPEED, *PSET_CD_SPEED;
-
- ULONG AsUlong[4];
- UCHAR AsByte[16];
-} CDB, *PCDB;
-
-#ifndef _INQUIRYDATA_DEFINED /* also in minitape.h */
-#define _INQUIRYDATA_DEFINED
-
-#define INQUIRYDATABUFFERSIZE 36
-
-typedef struct _INQUIRYDATA {
- UCHAR DeviceType : 5;
- UCHAR DeviceTypeQualifier : 3;
- UCHAR DeviceTypeModifier : 7;
- UCHAR RemovableMedia : 1;
- _ANONYMOUS_UNION union {
- UCHAR Versions;
- _ANONYMOUS_STRUCT struct {
- UCHAR ANSIVersion : 3;
- UCHAR ECMAVersion : 3;
- UCHAR ISOVersion : 2;
- } DUMMYSTRUCTNAME;
- } DUMMYUNIONNAME;
- UCHAR ResponseDataFormat : 4;
- UCHAR HiSupport : 1;
- UCHAR NormACA : 1;
- UCHAR TerminateTask : 1;
- UCHAR AERC : 1;
- UCHAR AdditionalLength;
- UCHAR Reserved;
- UCHAR Addr16 : 1;
- UCHAR Addr32 : 1;
- UCHAR AckReqQ: 1;
- UCHAR MediumChanger : 1;
- UCHAR MultiPort : 1;
- UCHAR ReservedBit2 : 1;
- UCHAR EnclosureServices : 1;
- UCHAR ReservedBit3 : 1;
- UCHAR SoftReset : 1;
- UCHAR CommandQueue : 1;
- UCHAR TransferDisable : 1;
- UCHAR LinkedCommands : 1;
- UCHAR Synchronous : 1;
- UCHAR Wide16Bit : 1;
- UCHAR Wide32Bit : 1;
- UCHAR RelativeAddressing : 1;
- UCHAR VendorId[8];
- UCHAR ProductId[16];
- UCHAR ProductRevisionLevel[4];
- UCHAR VendorSpecific[20];
- UCHAR Reserved3[40];
-} INQUIRYDATA, *PINQUIRYDATA;
-#endif
-
-/* INQUIRYDATA.DeviceType constants */
-#define DIRECT_ACCESS_DEVICE 0x00
-#define SEQUENTIAL_ACCESS_DEVICE 0x01
-#define PRINTER_DEVICE 0x02
-#define PROCESSOR_DEVICE 0x03
-#define WRITE_ONCE_READ_MULTIPLE_DEVICE 0x04
-#define READ_ONLY_DIRECT_ACCESS_DEVICE 0x05
-#define SCANNER_DEVICE 0x06
-#define OPTICAL_DEVICE 0x07
-#define MEDIUM_CHANGER 0x08
-#define COMMUNICATION_DEVICE 0x09
-#define LOGICAL_UNIT_NOT_PRESENT_DEVICE 0x7F
-#define DEVICE_QUALIFIER_NOT_SUPPORTED 0x03
-
-/* INQUIRYDATA.DeviceTypeQualifier constants */
-#define DEVICE_CONNECTED 0x00
-
-#define SCSISTAT_GOOD 0x00
-#define SCSISTAT_CHECK_CONDITION 0x02
-#define SCSISTAT_CONDITION_MET 0x04
-#define SCSISTAT_BUSY 0x08
-#define SCSISTAT_INTERMEDIATE 0x10
-#define SCSISTAT_INTERMEDIATE_COND_MET 0x14
-#define SCSISTAT_RESERVATION_CONFLICT 0x18
-#define SCSISTAT_COMMAND_TERMINATED 0x22
-#define SCSISTAT_QUEUE_FULL 0x28
-
-/* Mode Sense/Select page constants */
-#define MODE_PAGE_ERROR_RECOVERY 0x01
-#define MODE_PAGE_DISCONNECT 0x02
-#define MODE_PAGE_FORMAT_DEVICE 0x03
-#define MODE_PAGE_RIGID_GEOMETRY 0x04
-#define MODE_PAGE_FLEXIBILE 0x05
-#define MODE_PAGE_WRITE_PARAMETERS 0x05
-#define MODE_PAGE_VERIFY_ERROR 0x07
-#define MODE_PAGE_CACHING 0x08
-#define MODE_PAGE_PERIPHERAL 0x09
-#define MODE_PAGE_CONTROL 0x0A
-#define MODE_PAGE_MEDIUM_TYPES 0x0B
-#define MODE_PAGE_NOTCH_PARTITION 0x0C
-#define MODE_PAGE_CD_AUDIO_CONTROL 0x0E
-#define MODE_PAGE_DATA_COMPRESS 0x0F
-#define MODE_PAGE_DEVICE_CONFIG 0x10
-#define MODE_PAGE_MEDIUM_PARTITION 0x11
-#define MODE_PAGE_CDVD_FEATURE_SET 0x18
-#define MODE_PAGE_POWER_CONDITION 0x1A
-#define MODE_PAGE_FAULT_REPORTING 0x1C
-#define MODE_PAGE_CDVD_INACTIVITY 0x1D
-#define MODE_PAGE_ELEMENT_ADDRESS 0x1D
-#define MODE_PAGE_TRANSPORT_GEOMETRY 0x1E
-#define MODE_PAGE_DEVICE_CAPABILITIES 0x1F
-#define MODE_PAGE_CAPABILITIES 0x2A
-#define MODE_SENSE_RETURN_ALL 0x3f
-#define MODE_SENSE_CURRENT_VALUES 0x00
-#define MODE_SENSE_CHANGEABLE_VALUES 0x40
-#define MODE_SENSE_DEFAULT_VAULES 0x80
-#define MODE_SENSE_SAVED_VALUES 0xc0
-
-/* SCSI CDB operation codes */
-#define SCSIOP_TEST_UNIT_READY 0x00
-#define SCSIOP_REZERO_UNIT 0x01
-#define SCSIOP_REWIND 0x01
-#define SCSIOP_REQUEST_BLOCK_ADDR 0x02
-#define SCSIOP_REQUEST_SENSE 0x03
-#define SCSIOP_FORMAT_UNIT 0x04
-#define SCSIOP_READ_BLOCK_LIMITS 0x05
-#define SCSIOP_REASSIGN_BLOCKS 0x07
-#define SCSIOP_INIT_ELEMENT_STATUS 0x07
-#define SCSIOP_READ6 0x08
-#define SCSIOP_RECEIVE 0x08
-#define SCSIOP_WRITE6 0x0A
-#define SCSIOP_PRINT 0x0A
-#define SCSIOP_SEND 0x0A
-#define SCSIOP_SEEK6 0x0B
-#define SCSIOP_TRACK_SELECT 0x0B
-#define SCSIOP_SLEW_PRINT 0x0B
-#define SCSIOP_SEEK_BLOCK 0x0C
-#define SCSIOP_PARTITION 0x0D
-#define SCSIOP_READ_REVERSE 0x0F
-#define SCSIOP_WRITE_FILEMARKS 0x10
-#define SCSIOP_FLUSH_BUFFER 0x10
-#define SCSIOP_SPACE 0x11
-#define SCSIOP_INQUIRY 0x12
-#define SCSIOP_VERIFY6 0x13
-#define SCSIOP_RECOVER_BUF_DATA 0x14
-#define SCSIOP_MODE_SELECT 0x15
-#define SCSIOP_RESERVE_UNIT 0x16
-#define SCSIOP_RELEASE_UNIT 0x17
-#define SCSIOP_COPY 0x18
-#define SCSIOP_ERASE 0x19
-#define SCSIOP_MODE_SENSE 0x1A
-#define SCSIOP_START_STOP_UNIT 0x1B
-#define SCSIOP_STOP_PRINT 0x1B
-#define SCSIOP_LOAD_UNLOAD 0x1B
-#define SCSIOP_RECEIVE_DIAGNOSTIC 0x1C
-#define SCSIOP_SEND_DIAGNOSTIC 0x1D
-#define SCSIOP_MEDIUM_REMOVAL 0x1E
-
-#define SCSIOP_READ_FORMATTED_CAPACITY 0x23
-#define SCSIOP_READ_CAPACITY 0x25
-#define SCSIOP_READ 0x28
-#define SCSIOP_WRITE 0x2A
-#define SCSIOP_SEEK 0x2B
-#define SCSIOP_LOCATE 0x2B
-#define SCSIOP_POSITION_TO_ELEMENT 0x2B
-#define SCSIOP_WRITE_VERIFY 0x2E
-#define SCSIOP_VERIFY 0x2F
-#define SCSIOP_SEARCH_DATA_HIGH 0x30
-#define SCSIOP_SEARCH_DATA_EQUAL 0x31
-#define SCSIOP_SEARCH_DATA_LOW 0x32
-#define SCSIOP_SET_LIMITS 0x33
-#define SCSIOP_READ_POSITION 0x34
-#define SCSIOP_SYNCHRONIZE_CACHE 0x35
-#define SCSIOP_COMPARE 0x39
-#define SCSIOP_COPY_COMPARE 0x3A
-#define SCSIOP_WRITE_DATA_BUFF 0x3B
-#define SCSIOP_READ_DATA_BUFF 0x3C
-#define SCSIOP_CHANGE_DEFINITION 0x40
-#define SCSIOP_READ_SUB_CHANNEL 0x42
-#define SCSIOP_READ_TOC 0x43
-#define SCSIOP_READ_HEADER 0x44
-#define SCSIOP_PLAY_AUDIO 0x45
-#define SCSIOP_GET_CONFIGURATION 0x46
-#define SCSIOP_PLAY_AUDIO_MSF 0x47
-#define SCSIOP_PLAY_TRACK_INDEX 0x48
-#define SCSIOP_PLAY_TRACK_RELATIVE 0x49
-#define SCSIOP_GET_EVENT_STATUS 0x4A
-#define SCSIOP_PAUSE_RESUME 0x4B
-#define SCSIOP_LOG_SELECT 0x4C
-#define SCSIOP_LOG_SENSE 0x4D
-#define SCSIOP_STOP_PLAY_SCAN 0x4E
-#define SCSIOP_READ_DISK_INFORMATION 0x51
-#define SCSIOP_READ_TRACK_INFORMATION 0x52
-#define SCSIOP_RESERVE_TRACK_RZONE 0x53
-#define SCSIOP_SEND_OPC_INFORMATION 0x54
-#define SCSIOP_MODE_SELECT10 0x55
-#define SCSIOP_MODE_SENSE10 0x5A
-#define SCSIOP_CLOSE_TRACK_SESSION 0x5B
-#define SCSIOP_READ_BUFFER_CAPACITY 0x5C
-#define SCSIOP_SEND_CUE_SHEET 0x5D
-#define SCSIOP_PERSISTENT_RESERVE_IN 0x5E
-#define SCSIOP_PERSISTENT_RESERVE_OUT 0x5F
-
-#define SCSIOP_REPORT_LUNS 0xA0
-#define SCSIOP_BLANK 0xA1
-#define SCSIOP_SEND_KEY 0xA3
-#define SCSIOP_REPORT_KEY 0xA4
-#define SCSIOP_MOVE_MEDIUM 0xA5
-#define SCSIOP_LOAD_UNLOAD_SLOT 0xA6
-#define SCSIOP_EXCHANGE_MEDIUM 0xA6
-#define SCSIOP_SET_READ_AHEAD 0xA7
-#define SCSIOP_READ_DVD_STRUCTURE 0xAD
-#define SCSIOP_REQUEST_VOL_ELEMENT 0xB5
-#define SCSIOP_SEND_VOLUME_TAG 0xB6
-#define SCSIOP_READ_ELEMENT_STATUS 0xB8
-#define SCSIOP_READ_CD_MSF 0xB9
-#define SCSIOP_SCAN_CD 0xBA
-#define SCSIOP_SET_CD_SPEED 0xBB
-#define SCSIOP_PLAY_CD 0xBC
-#define SCSIOP_MECHANISM_STATUS 0xBD
-#define SCSIOP_READ_CD 0xBE
-#define SCSIOP_SEND_DVD_STRUCTURE 0xBF
-#define SCSIOP_INIT_ELEMENT_RANGE 0xE7
-
-#define SCSIOP_DENON_EJECT_DISC 0xE6
-#define SCSIOP_DENON_STOP_AUDIO 0xE7
-#define SCSIOP_DENON_PLAY_AUDIO 0xE8
-#define SCSIOP_DENON_READ_TOC 0xE9
-#define SCSIOP_DENON_READ_SUBCODE 0xEB
-
-#define SCSIMESS_MODIFY_DATA_POINTER 0x00
-#define SCSIMESS_SYNCHRONOUS_DATA_REQ 0x01
-#define SCSIMESS_WIDE_DATA_REQUEST 0x03
-
-#define SCSIMESS_MODIFY_DATA_LENGTH 5
-#define SCSIMESS_SYNCH_DATA_LENGTH 3
-#define SCSIMESS_WIDE_DATA_LENGTH 2
-
-#define SCSIMESS_ABORT 0x06
-#define SCSIMESS_ABORT_WITH_TAG 0x0D
-#define SCSIMESS_BUS_DEVICE_RESET 0x0C
-#define SCSIMESS_CLEAR_QUEUE 0x0E
-#define SCSIMESS_COMMAND_COMPLETE 0x00
-#define SCSIMESS_DISCONNECT 0x04
-#define SCSIMESS_EXTENDED_MESSAGE 0x01
-#define SCSIMESS_IDENTIFY 0x80
-#define SCSIMESS_IDENTIFY_WITH_DISCON 0xC0
-#define SCSIMESS_IGNORE_WIDE_RESIDUE 0x23
-#define SCSIMESS_INITIATE_RECOVERY 0x0F
-#define SCSIMESS_INIT_DETECTED_ERROR 0x05
-#define SCSIMESS_LINK_CMD_COMP 0x0A
-#define SCSIMESS_LINK_CMD_COMP_W_FLAG 0x0B
-#define SCSIMESS_MESS_PARITY_ERROR 0x09
-#define SCSIMESS_MESSAGE_REJECT 0x07
-#define SCSIMESS_NO_OPERATION 0x08
-#define SCSIMESS_HEAD_OF_QUEUE_TAG 0x21
-#define SCSIMESS_ORDERED_QUEUE_TAG 0x22
-#define SCSIMESS_SIMPLE_QUEUE_TAG 0x20
-#define SCSIMESS_RELEASE_RECOVERY 0x10
-#define SCSIMESS_RESTORE_POINTERS 0x03
-#define SCSIMESS_SAVE_DATA_POINTER 0x02
-#define SCSIMESS_TERMINATE_IO_PROCESS 0x11
-
-#define CDB_FORCE_MEDIA_ACCESS 0x08
-
-#define CDB_RETURN_ON_COMPLETION 0
-#define CDB_RETURN_IMMEDIATE 1
-
-#define CDB_INQUIRY_EVPD 0x01
-
-#define LUN0_FORMAT_SAVING_DEFECT_LIST 0
-#define USE_DEFAULTMSB 0
-#define USE_DEFAULTLSB 0
-
-#define START_UNIT_CODE 0x01
-#define STOP_UNIT_CODE 0x00
-
-typedef struct _SENSE_DATA {
- UCHAR ErrorCode : 7;
- UCHAR Valid : 1;
- UCHAR SegmentNumber;
- UCHAR SenseKey : 4;
- UCHAR Reserved : 1;
- UCHAR IncorrectLength : 1;
- UCHAR EndOfMedia : 1;
- UCHAR FileMark : 1;
- UCHAR Information[4];
- UCHAR AdditionalSenseLength;
- UCHAR CommandSpecificInformation[4];
- UCHAR AdditionalSenseCode;
- UCHAR AdditionalSenseCodeQualifier;
- UCHAR FieldReplaceableUnitCode;
- UCHAR SenseKeySpecific[3];
-} SENSE_DATA, *PSENSE_DATA;
-
-#define SENSE_BUFFER_SIZE 18
-
-/* Sense codes */
-#define SCSI_SENSE_NO_SENSE 0x00
-#define SCSI_SENSE_RECOVERED_ERROR 0x01
-#define SCSI_SENSE_NOT_READY 0x02
-#define SCSI_SENSE_MEDIUM_ERROR 0x03
-#define SCSI_SENSE_HARDWARE_ERROR 0x04
-#define SCSI_SENSE_ILLEGAL_REQUEST 0x05
-#define SCSI_SENSE_UNIT_ATTENTION 0x06
-#define SCSI_SENSE_DATA_PROTECT 0x07
-#define SCSI_SENSE_BLANK_CHECK 0x08
-#define SCSI_SENSE_UNIQUE 0x09
-#define SCSI_SENSE_COPY_ABORTED 0x0A
-#define SCSI_SENSE_ABORTED_COMMAND 0x0B
-#define SCSI_SENSE_EQUAL 0x0C
-#define SCSI_SENSE_VOL_OVERFLOW 0x0D
-#define SCSI_SENSE_MISCOMPARE 0x0E
-#define SCSI_SENSE_RESERVED 0x0F
-
-/* Additional tape bit */
-#define SCSI_ILLEGAL_LENGTH 0x20
-#define SCSI_EOM 0x40
-#define SCSI_FILE_MARK 0x80
-
-/* Additional Sense codes */
-#define SCSI_ADSENSE_NO_SENSE 0x00
-#define SCSI_ADSENSE_NO_SEEK_COMPLETE 0x02
-#define SCSI_ADSENSE_LUN_NOT_READY 0x04
-#define SCSI_ADSENSE_WRITE_ERROR 0x0C
-#define SCSI_ADSENSE_TRACK_ERROR 0x14
-#define SCSI_ADSENSE_SEEK_ERROR 0x15
-#define SCSI_ADSENSE_REC_DATA_NOECC 0x17
-#define SCSI_ADSENSE_REC_DATA_ECC 0x18
-#define SCSI_ADSENSE_ILLEGAL_COMMAND 0x20
-#define SCSI_ADSENSE_ILLEGAL_BLOCK 0x21
-#define SCSI_ADSENSE_INVALID_CDB 0x24
-#define SCSI_ADSENSE_INVALID_LUN 0x25
-#define SCSI_ADSENSE_WRITE_PROTECT 0x27
-#define SCSI_ADSENSE_MEDIUM_CHANGED 0x28
-#define SCSI_ADSENSE_BUS_RESET 0x29
-#define SCSI_ADSENSE_INSUFFICIENT_TIME_FOR_OPERATION 0x2E
-#define SCSI_ADSENSE_INVALID_MEDIA 0x30
-#define SCSI_ADSENSE_NO_MEDIA_IN_DEVICE 0x3a
-#define SCSI_ADSENSE_POSITION_ERROR 0x3b
-#define SCSI_ADSENSE_OPERATOR_REQUEST 0x5a
-#define SCSI_ADSENSE_FAILURE_PREDICTION_THRESHOLD_EXCEEDED 0x5d
-#define SCSI_ADSENSE_ILLEGAL_MODE_FOR_THIS_TRACK 0x64
-#define SCSI_ADSENSE_COPY_PROTECTION_FAILURE 0x6f
-#define SCSI_ADSENSE_POWER_CALIBRATION_ERROR 0x73
-#define SCSI_ADSENSE_VENDOR_UNIQUE 0x80
-#define SCSI_ADSENSE_MUSIC_AREA 0xA0
-#define SCSI_ADSENSE_DATA_AREA 0xA1
-#define SCSI_ADSENSE_VOLUME_OVERFLOW 0xA7
-
-#define SCSI_SENSEQ_CAUSE_NOT_REPORTABLE 0x00
-#define SCSI_SENSEQ_BECOMING_READY 0x01
-#define SCSI_SENSEQ_INIT_COMMAND_REQUIRED 0x02
-#define SCSI_SENSEQ_MANUAL_INTERVENTION_REQUIRED 0x03
-#define SCSI_SENSEQ_FORMAT_IN_PROGRESS 0x04
-#define SCSI_SENSEQ_REBUILD_IN_PROGRESS 0x05
-#define SCSI_SENSEQ_RECALCULATION_IN_PROGRESS 0x06
-#define SCSI_SENSEQ_OPERATION_IN_PROGRESS 0x07
-#define SCSI_SENSEQ_LONG_WRITE_IN_PROGRESS 0x08
-#define SCSI_SENSEQ_LOSS_OF_STREAMING 0x09
-#define SCSI_SENSEQ_PADDING_BLOCKS_ADDED 0x0A
-
-
-#define FILE_DEVICE_SCSI 0x0000001b
-
-#define IOCTL_SCSI_EXECUTE_IN ((FILE_DEVICE_SCSI << 16) + 0x0011)
-#define IOCTL_SCSI_EXECUTE_OUT ((FILE_DEVICE_SCSI << 16) + 0x0012)
-#define IOCTL_SCSI_EXECUTE_NONE ((FILE_DEVICE_SCSI << 16) + 0x0013)
-
-/* SMART support in ATAPI */
-#define IOCTL_SCSI_MINIPORT_SMART_VERSION ((FILE_DEVICE_SCSI << 16) + 0x0500)
-#define IOCTL_SCSI_MINIPORT_IDENTIFY ((FILE_DEVICE_SCSI << 16) + 0x0501)
-#define IOCTL_SCSI_MINIPORT_READ_SMART_ATTRIBS ((FILE_DEVICE_SCSI << 16) + 0x0502)
-#define IOCTL_SCSI_MINIPORT_READ_SMART_THRESHOLDS ((FILE_DEVICE_SCSI << 16) + 0x0503)
-#define IOCTL_SCSI_MINIPORT_ENABLE_SMART ((FILE_DEVICE_SCSI << 16) + 0x0504)
-#define IOCTL_SCSI_MINIPORT_DISABLE_SMART ((FILE_DEVICE_SCSI << 16) + 0x0505)
-#define IOCTL_SCSI_MINIPORT_RETURN_STATUS ((FILE_DEVICE_SCSI << 16) + 0x0506)
-#define IOCTL_SCSI_MINIPORT_ENABLE_DISABLE_AUTOSAVE ((FILE_DEVICE_SCSI << 16) + 0x0507)
-#define IOCTL_SCSI_MINIPORT_SAVE_ATTRIBUTE_VALUES ((FILE_DEVICE_SCSI << 16) + 0x0508)
-#define IOCTL_SCSI_MINIPORT_EXECUTE_OFFLINE_DIAGS ((FILE_DEVICE_SCSI << 16) + 0x0509)
-#define IOCTL_SCSI_MINIPORT_ENABLE_DISABLE_AUTO_OFFLINE ((FILE_DEVICE_SCSI << 16) + 0x050a)
-#define IOCTL_SCSI_MINIPORT_READ_SMART_LOG ((FILE_DEVICE_SCSI << 16) + 0x050b)
-#define IOCTL_SCSI_MINIPORT_WRITE_SMART_LOG ((FILE_DEVICE_SCSI << 16) + 0x050c)
-
-/* CLUSTER support */
-#define IOCTL_SCSI_MINIPORT_NOT_QUORUM_CAPABLE ((FILE_DEVICE_SCSI << 16) + 0x0520)
-#define IOCTL_SCSI_MINIPORT_NOT_CLUSTER_CAPABLE ((FILE_DEVICE_SCSI << 16) + 0x0521)
-
-/* Read Capacity Data. Returned in Big Endian format */
-typedef struct _READ_CAPACITY_DATA {
- ULONG LogicalBlockAddress;
- ULONG BytesPerBlock;
-} READ_CAPACITY_DATA, *PREAD_CAPACITY_DATA;
-
-/* Read Block Limits Data. Returned in Big Endian format */
-typedef struct _READ_BLOCK_LIMITS {
- UCHAR Reserved;
- UCHAR BlockMaximumSize[3];
- UCHAR BlockMinimumSize[2];
-} READ_BLOCK_LIMITS_DATA, *PREAD_BLOCK_LIMITS_DATA;
-
-
-typedef struct _MODE_PARAMETER_HEADER {
- UCHAR ModeDataLength;
- UCHAR MediumType;
- UCHAR DeviceSpecificParameter;
- UCHAR BlockDescriptorLength;
-}MODE_PARAMETER_HEADER, *PMODE_PARAMETER_HEADER;
-
-typedef struct _MODE_PARAMETER_HEADER10 {
- UCHAR ModeDataLength[2];
- UCHAR MediumType;
- UCHAR DeviceSpecificParameter;
- UCHAR Reserved[2];
- UCHAR BlockDescriptorLength[2];
-} MODE_PARAMETER_HEADER10, *PMODE_PARAMETER_HEADER10;
-
-#define MODE_FD_SINGLE_SIDE 0x01
-#define MODE_FD_DOUBLE_SIDE 0x02
-#define MODE_FD_MAXIMUM_TYPE 0x1E
-#define MODE_DSP_FUA_SUPPORTED 0x10
-#define MODE_DSP_WRITE_PROTECT 0x80
-
-typedef struct _MODE_PARAMETER_BLOCK {
- UCHAR DensityCode;
- UCHAR NumberOfBlocks[3];
- UCHAR Reserved;
- UCHAR BlockLength[3];
-} MODE_PARAMETER_BLOCK, *PMODE_PARAMETER_BLOCK;
-
-typedef struct _MODE_DISCONNECT_PAGE {
- UCHAR PageCode : 6;
- UCHAR Reserved : 1;
- UCHAR PageSavable : 1;
- UCHAR PageLength;
- UCHAR BufferFullRatio;
- UCHAR BufferEmptyRatio;
- UCHAR BusInactivityLimit[2];
- UCHAR BusDisconnectTime[2];
- UCHAR BusConnectTime[2];
- UCHAR MaximumBurstSize[2];
- UCHAR DataTransferDisconnect : 2;
- UCHAR Reserved2[3];
-}MODE_DISCONNECT_PAGE, *PMODE_DISCONNECT_PAGE;
-
-typedef struct _MODE_CACHING_PAGE {
- UCHAR PageCode : 6;
- UCHAR Reserved : 1;
- UCHAR PageSavable : 1;
- UCHAR PageLength;
- UCHAR ReadDisableCache : 1;
- UCHAR MultiplicationFactor : 1;
- UCHAR WriteCacheEnable : 1;
- UCHAR Reserved2 : 5;
- UCHAR WriteRetensionPriority : 4;
- UCHAR ReadRetensionPriority : 4;
- UCHAR DisablePrefetchTransfer[2];
- UCHAR MinimumPrefetch[2];
- UCHAR MaximumPrefetch[2];
- UCHAR MaximumPrefetchCeiling[2];
-}MODE_CACHING_PAGE, *PMODE_CACHING_PAGE;
-
-typedef struct _MODE_CDROM_WRITE_PARAMETERS_PAGE {
- UCHAR PageLength;
- UCHAR WriteType : 4;
- UCHAR TestWrite : 1;
- UCHAR LinkSizeValid : 1;
- UCHAR BufferUnderrunFreeEnabled : 1;
- UCHAR Reserved2 : 1;
- UCHAR TrackMode : 4;
- UCHAR Copy : 1;
- UCHAR FixedPacket : 1;
- UCHAR MultiSession : 2;
- UCHAR DataBlockType : 4;
- UCHAR Reserved3 : 4;
- UCHAR LinkSize;
- UCHAR Reserved4;
- UCHAR HostApplicationCode : 6;
- UCHAR Reserved5 : 2;
- UCHAR SessionFormat;
- UCHAR Reserved6;
- UCHAR PacketSize[4];
- UCHAR AudioPauseLength[2];
- UCHAR Reserved7 : 7;
- UCHAR MediaCatalogNumberValid : 1;
- UCHAR MediaCatalogNumber[13];
- UCHAR MediaCatalogNumberZero;
- UCHAR MediaCatalogNumberAFrame;
- UCHAR Reserved8 : 7;
- UCHAR ISRCValid : 1;
- UCHAR ISRCCountry[2];
- UCHAR ISRCOwner[3];
- UCHAR ISRCRecordingYear[2];
- UCHAR ISRCSerialNumber[5];
- UCHAR ISRCZero;
- UCHAR ISRCAFrame;
- UCHAR ISRCReserved;
- UCHAR SubHeaderData[4];
-} MODE_CDROM_WRITE_PARAMETERS_PAGE, *PMODE_CDROM_WRITE_PARAMETERS_PAGE;
-
-typedef struct _MODE_FLEXIBLE_DISK_PAGE {
- UCHAR PageCode : 6;
- UCHAR Reserved : 1;
- UCHAR PageSavable : 1;
- UCHAR PageLength;
- UCHAR TransferRate[2];
- UCHAR NumberOfHeads;
- UCHAR SectorsPerTrack;
- UCHAR BytesPerSector[2];
- UCHAR NumberOfCylinders[2];
- UCHAR StartWritePrecom[2];
- UCHAR StartReducedCurrent[2];
- UCHAR StepRate[2];
- UCHAR StepPluseWidth;
- UCHAR HeadSettleDelay[2];
- UCHAR MotorOnDelay;
- UCHAR MotorOffDelay;
- UCHAR Reserved2 : 5;
- UCHAR MotorOnAsserted : 1;
- UCHAR StartSectorNumber : 1;
- UCHAR TrueReadySignal : 1;
- UCHAR StepPlusePerCyclynder : 4;
- UCHAR Reserved3 : 4;
- UCHAR WriteCompenstation;
- UCHAR HeadLoadDelay;
- UCHAR HeadUnloadDelay;
- UCHAR Pin2Usage : 4;
- UCHAR Pin34Usage : 4;
- UCHAR Pin1Usage : 4;
- UCHAR Pin4Usage : 4;
- UCHAR MediumRotationRate[2];
- UCHAR Reserved4[2];
-} MODE_FLEXIBLE_DISK_PAGE, *PMODE_FLEXIBLE_DISK_PAGE;
-
-typedef struct _MODE_FORMAT_PAGE {
- UCHAR PageCode : 6;
- UCHAR Reserved : 1;
- UCHAR PageSavable : 1;
- UCHAR PageLength;
- UCHAR TracksPerZone[2];
- UCHAR AlternateSectorsPerZone[2];
- UCHAR AlternateTracksPerZone[2];
- UCHAR AlternateTracksPerLogicalUnit[2];
- UCHAR SectorsPerTrack[2];
- UCHAR BytesPerPhysicalSector[2];
- UCHAR Interleave[2];
- UCHAR TrackSkewFactor[2];
- UCHAR CylinderSkewFactor[2];
- UCHAR Reserved2 : 4;
- UCHAR SurfaceFirst : 1;
- UCHAR RemovableMedia : 1;
- UCHAR HardSectorFormating : 1;
- UCHAR SoftSectorFormating : 1;
- UCHAR Reserved3[3];
-} MODE_FORMAT_PAGE, *PMODE_FORMAT_PAGE;
-
-typedef struct _MODE_RIGID_GEOMETRY_PAGE {
- UCHAR PageCode : 6;
- UCHAR Reserved : 1;
- UCHAR PageSavable : 1;
- UCHAR PageLength;
- UCHAR NumberOfCylinders[3];
- UCHAR NumberOfHeads;
- UCHAR StartWritePrecom[3];
- UCHAR StartReducedCurrent[3];
- UCHAR DriveStepRate[2];
- UCHAR LandZoneCyclinder[3];
- UCHAR RotationalPositionLock : 2;
- UCHAR Reserved2 : 6;
- UCHAR RotationOffset;
- UCHAR Reserved3;
- UCHAR RoataionRate[2];
- UCHAR Reserved4[2];
-} MODE_RIGID_GEOMETRY_PAGE, *PMODE_RIGID_GEOMETRY_PAGE;
-
-typedef struct _MODE_READ_WRITE_RECOVERY_PAGE {
- UCHAR PageCode : 6;
- UCHAR Reserved1 : 1;
- UCHAR PSBit : 1;
- UCHAR PageLength;
- UCHAR DCRBit : 1;
- UCHAR DTEBit : 1;
- UCHAR PERBit : 1;
- UCHAR EERBit : 1;
- UCHAR RCBit : 1;
- UCHAR TBBit : 1;
- UCHAR ARRE : 1;
- UCHAR AWRE : 1;
- UCHAR ReadRetryCount;
- UCHAR Reserved4[4];
- UCHAR WriteRetryCount;
- UCHAR Reserved5[3];
-} MODE_READ_WRITE_RECOVERY_PAGE, *PMODE_READ_WRITE_RECOVERY_PAGE;
-
-typedef struct _MODE_READ_RECOVERY_PAGE {
- UCHAR PageCode : 6;
- UCHAR Reserved1 : 1;
- UCHAR PSBit : 1;
- UCHAR PageLength;
- UCHAR DCRBit : 1;
- UCHAR DTEBit : 1;
- UCHAR PERBit : 1;
- UCHAR Reserved2 : 1;
- UCHAR RCBit : 1;
- UCHAR TBBit : 1;
- UCHAR Reserved3 : 2;
- UCHAR ReadRetryCount;
- UCHAR Reserved4[4];
-} MODE_READ_RECOVERY_PAGE, *PMODE_READ_RECOVERY_PAGE;
-
-typedef struct _MODE_INFO_EXCEPTIONS {
- UCHAR PageCode : 6;
- UCHAR Reserved1 : 1;
- UCHAR PSBit : 1;
- UCHAR PageLength;
- _ANONYMOUS_UNION union {
- UCHAR Flags;
- _ANONYMOUS_STRUCT struct {
- UCHAR LogErr : 1;
- UCHAR Reserved2 : 1;
- UCHAR Test : 1;
- UCHAR Dexcpt : 1;
- UCHAR Reserved3 : 3;
- UCHAR Perf : 1;
- } DUMMYSTRUCTNAME;
- } DUMMYUNIONNAME;
- UCHAR ReportMethod : 4;
- UCHAR Reserved4 : 4;
- UCHAR IntervalTimer[4];
- UCHAR ReportCount[4];
-} MODE_INFO_EXCEPTIONS, *PMODE_INFO_EXCEPTIONS;
-
-/* CDROM audio control */
-#define CDB_AUDIO_PAUSE 0x00
-#define CDB_AUDIO_RESUME 0x01
-#define CDB_DEVICE_START 0x11
-#define CDB_DEVICE_STOP 0x10
-#define CDB_EJECT_MEDIA 0x10
-#define CDB_LOAD_MEDIA 0x01
-#define CDB_SUBCHANNEL_HEADER 0x00
-#define CDB_SUBCHANNEL_BLOCK 0x01
-
-#define CDROM_AUDIO_CONTROL_PAGE 0x0E
-#define MODE_SELECT_IMMEDIATE 0x04
-#define MODE_SELECT_PFBIT 0x10
-
-#define CDB_USE_MSF 0x01
-
-typedef struct _PORT_OUTPUT {
- UCHAR ChannelSelection;
- UCHAR Volume;
-} PORT_OUTPUT, *PPORT_OUTPUT;
-
-typedef struct _AUDIO_OUTPUT {
- UCHAR CodePage;
- UCHAR ParameterLength;
- UCHAR Immediate;
- UCHAR Reserved[2];
- UCHAR LbaFormat;
- UCHAR LogicalBlocksPerSecond[2];
- PORT_OUTPUT PortOutput[4];
-} AUDIO_OUTPUT, *PAUDIO_OUTPUT;
-
-/* Multisession CDROMs */
-#define GET_LAST_SESSION 0x01
-#define GET_SESSION_DATA 0x02;
-
-/* Atapi 2.5 changers */
-typedef struct _MECHANICAL_STATUS_INFORMATION_HEADER {
- UCHAR CurrentSlot : 5;
- UCHAR ChangerState : 2;
- UCHAR Fault : 1;
- UCHAR Reserved : 5;
- UCHAR MechanismState : 3;
- UCHAR CurrentLogicalBlockAddress[3];
- UCHAR NumberAvailableSlots;
- UCHAR SlotTableLength[2];
-} MECHANICAL_STATUS_INFORMATION_HEADER, *PMECHANICAL_STATUS_INFORMATION_HEADER;
-
-typedef struct _SLOT_TABLE_INFORMATION {
- UCHAR DiscChanged : 1;
- UCHAR Reserved : 6;
- UCHAR DiscPresent : 1;
- UCHAR Reserved2[3];
-} SLOT_TABLE_INFORMATION, *PSLOT_TABLE_INFORMATION;
-
-typedef struct _MECHANICAL_STATUS {
- MECHANICAL_STATUS_INFORMATION_HEADER MechanicalStatusHeader;
- SLOT_TABLE_INFORMATION SlotTableInfo[1];
-} MECHANICAL_STATUS, *PMECHANICAL_STATUS;
-
-
-/* Tape definitions */
-typedef struct _TAPE_POSITION_DATA {
- UCHAR Reserved1 : 2;
- UCHAR BlockPositionUnsupported : 1;
- UCHAR Reserved2 : 3;
- UCHAR EndOfPartition : 1;
- UCHAR BeginningOfPartition : 1;
- UCHAR PartitionNumber;
- USHORT Reserved3;
- UCHAR FirstBlock[4];
- UCHAR LastBlock[4];
- UCHAR Reserved4;
- UCHAR NumberOfBlocks[3];
- UCHAR NumberOfBytes[4];
-} TAPE_POSITION_DATA, *PTAPE_POSITION_DATA;
-
-/* This structure is used to convert little endian ULONGs
- to SCSI CDB big endians values. */
-typedef union _EIGHT_BYTE {
- _ANONYMOUS_STRUCT struct {
- UCHAR Byte0;
- UCHAR Byte1;
- UCHAR Byte2;
- UCHAR Byte3;
- UCHAR Byte4;
- UCHAR Byte5;
- UCHAR Byte6;
- UCHAR Byte7;
- } DUMMYSTRUCTNAME;
- ULONGLONG AsULongLong;
-} EIGHT_BYTE, *PEIGHT_BYTE;
-
-typedef union _FOUR_BYTE {
- _ANONYMOUS_STRUCT struct {
- UCHAR Byte0;
- UCHAR Byte1;
- UCHAR Byte2;
- UCHAR Byte3;
- } DUMMYSTRUCTNAME;
- ULONG AsULong;
-} FOUR_BYTE, *PFOUR_BYTE;
-
-typedef union _TWO_BYTE {
- _ANONYMOUS_STRUCT struct {
- UCHAR Byte0;
- UCHAR Byte1;
- } DUMMYSTRUCTNAME;
- USHORT AsUShort;
-} TWO_BYTE, *PTWO_BYTE;
-
-/* Byte reversing macro for converting between
- big- and little-endian formats */
-#define REVERSE_BYTES_QUAD(Destination, Source) { \
- PEIGHT_BYTE _val1 = (PEIGHT_BYTE)(Destination); \
- PEIGHT_BYTE _val2 = (PEIGHT_BYTE)(Source); \
- _val1->Byte7 = _val2->Byte0; \
- _val1->Byte6 = _val2->Byte1; \
- _val1->Byte5 = _val2->Byte2; \
- _val1->Byte4 = _val2->Byte3; \
- _val1->Byte3 = _val2->Byte4; \
- _val1->Byte2 = _val2->Byte5; \
- _val1->Byte1 = _val2->Byte6; \
- _val1->Byte0 = _val2->Byte7; \
-}
-
-#define REVERSE_BYTES(Destination, Source) { \
- PFOUR_BYTE _val1 = (PFOUR_BYTE)(Destination); \
- PFOUR_BYTE _val2 = (PFOUR_BYTE)(Source); \
- _val1->Byte3 = _val2->Byte0; \
- _val1->Byte2 = _val2->Byte1; \
- _val1->Byte1 = _val2->Byte2; \
- _val1->Byte0 = _val2->Byte3; \
-}
-
-#define REVERSE_BYTES_SHORT(Destination, Source) { \
- PTWO_BYTE _val1 = (PTWO_BYTE)(Destination); \
- PTWO_BYTE _val2 = (PTWO_BYTE)(Source); \
- _val1->Byte1 = _val2->Byte0; \
- _val1->Byte0 = _val2->Byte1; \
-}
-
-#define REVERSE_SHORT(Short) { \
- UCHAR _val; \
- PTWO_BYTE _val2 = (PTWO_BYTE)(Short); \
- _val = _val2->Byte0; \
- _val2->Byte0 = _val2->Byte1; \
- _val2->Byte1 = _val; \
-}
-
-#define REVERSE_LONG(Long) { \
- UCHAR _val; \
- PFOUR_BYTE _val2 = (PFOUR_BYTE)(Long); \
- _val = _val2->Byte3; \
- _val2->Byte3 = _val2->Byte0; \
- _val2->Byte0 = _val; \
- _val = _val2->Byte2; \
- _val2->Byte2 = _val2->Byte1; \
- _val2->Byte1 = _val; \
-}
-
-#define WHICH_BIT(Data, Bit) { \
- UCHAR _val; \
- for (_val = 0; _val < 32; _val++) { \
- if (((Data) >> _val) == 1) { \
- break; \
- } \
- } \
- ASSERT(_val != 32); \
- (Bit) = _val; \
-}
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __SCSI_H */
diff --git a/winsup/w32api/include/ddk/scsiscan.h b/winsup/w32api/include/ddk/scsiscan.h
deleted file mode 100644
index 546832883..000000000
--- a/winsup/w32api/include/ddk/scsiscan.h
+++ /dev/null
@@ -1,130 +0,0 @@
-/*
- * scsiscan.h
- *
- * SCSI scanner driver interface
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- * Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __SCSISCAN_H
-#define __SCSISCAN_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-
-#define IOCTL_SCSISCAN_CMD \
- CTL_CODE(FILE_DEVICE_SCANNER, SCSISCAN_CMD_CODE, METHOD_OUT_DIRECT, FILE_ANY_ACCESS)
-
-#define IOCTL_SCSISCAN_LOCKDEVICE \
- CTL_CODE(FILE_DEVICE_SCANNER, SCSISCAN_LOCKDEVICE, METHOD_OUT_DIRECT, FILE_ANY_ACCESS)
-
-#define IOCTL_SCSISCAN_SET_TIMEOUT \
- CTL_CODE(FILE_DEVICE_SCANNER, SCSISCAN_SET_TIMEOUT, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_SCSISCAN_GET_INFO \
- CTL_CODE(FILE_DEVICE_SCANNER, SCSISCAN_GET_INFO, METHOD_OUT_DIRECT, FILE_ANY_ACCESS)
-
-#define IOCTL_SCSISCAN_UNLOCKDEVICE \
- CTL_CODE(FILE_DEVICE_SCANNER, SCSISCAN_UNLOCKDEVICE, METHOD_OUT_DIRECT, FILE_ANY_ACCESS)
-
-
-/* SCSISCAN_CMD.SrbFlags constants */
-#define SRB_FLAGS_DISABLE_SYNCH_TRANSFER 0x00000008
-#define SRB_FLAGS_DISABLE_AUTOSENSE 0x00000020
-#define SRB_FLAGS_DATA_IN 0x00000040
-#define SRB_FLAGS_DATA_OUT 0x00000080
-#define SRB_FLAGS_NO_DATA_TRANSFER 0x00000000
-
-/* SCSISCAN_CMD.pSrbStatus constants */
-#define SRB_STATUS_PENDING 0x00
-#define SRB_STATUS_SUCCESS 0x01
-#define SRB_STATUS_ABORTED 0x02
-#define SRB_STATUS_ABORT_FAILED 0x03
-#define SRB_STATUS_ERROR 0x04
-#define SRB_STATUS_BUSY 0x05
-#define SRB_STATUS_INVALID_REQUEST 0x06
-#define SRB_STATUS_INVALID_PATH_ID 0x07
-#define SRB_STATUS_NO_DEVICE 0x08
-#define SRB_STATUS_TIMEOUT 0x09
-#define SRB_STATUS_SELECTION_TIMEOUT 0x0A
-#define SRB_STATUS_COMMAND_TIMEOUT 0x0B
-#define SRB_STATUS_MESSAGE_REJECTED 0x0D
-#define SRB_STATUS_BUS_RESET 0x0E
-#define SRB_STATUS_PARITY_ERROR 0x0F
-#define SRB_STATUS_REQUEST_SENSE_FAILED 0x10
-#define SRB_STATUS_NO_HBA 0x11
-#define SRB_STATUS_DATA_OVERRUN 0x12
-#define SRB_STATUS_UNEXPECTED_BUS_FREE 0x13
-#define SRB_STATUS_PHASE_SEQUENCE_FAILURE 0x14
-#define SRB_STATUS_BAD_SRB_BLOCK_LENGTH 0x15
-#define SRB_STATUS_REQUEST_FLUSHED 0x16
-#define SRB_STATUS_INVALID_LUN 0x20
-#define SRB_STATUS_INVALID_TARGET_ID 0x21
-#define SRB_STATUS_BAD_FUNCTION 0x22
-#define SRB_STATUS_ERROR_RECOVERY 0x23
-#define SRB_STATUS_QUEUE_FROZEN 0x40
-#define SRB_STATUS_AUTOSENSE_VALID 0x80
-
-#define SRB_STATUS(Status) (Status & ~(SRB_STATUS_AUTOSENSE_VALID | SRB_STATUS_QUEUE_FROZEN))
-
-typedef struct _SCSISCAN_CMD {
- ULONG Reserved1;
- ULONG Size;
- ULONG SrbFlags;
- UCHAR CdbLength;
- UCHAR SenseLength;
- UCHAR Reserved2;
- UCHAR Reserved3;
- ULONG TransferLength;
- UCHAR Cdb[16];
- PUCHAR pSrbStatus;
- PUCHAR pSenseBuffer;
-} SCSISCAN_CMD, *PSCSISCAN_CMD;
-
-#define MAX_STRING 128
-
-/* SCSISCAN_INFO.Flags constants */
-#define SCSISCAN_RESERVED 0x000
-#define SCSISCAN_CMD_CODE 0x004
-#define SCSISCAN_LOCKDEVICE 0x005
-#define SCSISCAN_UNLOCKDEVICE 0x006
-#define SCSISCAN_SET_TIMEOUT 0x007
-#define SCSISCAN_GET_INFO 0x008
-
-typedef struct _SCSISCAN_INFO {
- ULONG Size;
- ULONG Flags;
- UCHAR PortNumber;
- UCHAR PathId;
- UCHAR TargetId;
- UCHAR Lun;
- UCHAR AdapterName[MAX_STRING];
- ULONG Reserved;
-} SCSISCAN_INFO, *PSCSISCAN_INFO;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __SCSISCAN_H */
diff --git a/winsup/w32api/include/ddk/scsiwmi.h b/winsup/w32api/include/ddk/scsiwmi.h
deleted file mode 100644
index 684271593..000000000
--- a/winsup/w32api/include/ddk/scsiwmi.h
+++ /dev/null
@@ -1,215 +0,0 @@
-/*
- * scsiwmi.h
- *
- * SCSI WMILIB interface.
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- * Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __SCSIWMI_H
-#define __SCSIWMI_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#pragma pack(push,4)
-
-#include "ntddk.h"
-#include "srb.h"
-
-
-typedef struct _SCSIWMI_REQUEST_CONTEXT {
- PVOID UserContext;
- ULONG BufferSize;
- PUCHAR Buffer;
- UCHAR MinorFunction;
- UCHAR ReturnStatus;
- ULONG ReturnSize;
-} SCSIWMI_REQUEST_CONTEXT, *PSCSIWMI_REQUEST_CONTEXT;
-
-#ifdef _GUID_DEFINED
-# warning _GUID_DEFINED is deprecated, use GUID_DEFINED instead
-#endif
-
-#if ! (defined _GUID_DEFINED || defined GUID_DEFINED)
-#define GUID_DEFINED
-typedef struct _GUID {
- unsigned long Data1;
- unsigned short Data2;
- unsigned short Data3;
- unsigned char Data4[ 8 ];
-} GUID;
-#endif
-
-#ifndef _LPCGUID_DEFINED
-#define _LPCGUID_DEFINED
-typedef const GUID *LPCGUID;
-#endif
-
-typedef struct _SCSIWMIGUIDREGINFO {
- LPCGUID Guid;
- ULONG InstanceCount;
- ULONG Flags;
-} SCSIWMIGUIDREGINFO, *PSCSIWMIGUIDREGINFO;
-
-typedef UCHAR DDKAPI
-(*PSCSIWMI_QUERY_REGINFO)(
- IN PVOID DeviceContext,
- IN PSCSIWMI_REQUEST_CONTEXT RequestContext,
- OUT PWCHAR *MofResourceName);
-
-typedef BOOLEAN DDKAPI
-(*PSCSIWMI_QUERY_DATABLOCK)(
- IN PVOID Context,
- IN PSCSIWMI_REQUEST_CONTEXT DispatchContext,
- IN ULONG GuidIndex,
- IN ULONG InstanceIndex,
- IN ULONG InstanceCount,
- IN OUT PULONG InstanceLengthArray,
- IN ULONG BufferAvail,
- OUT PUCHAR Buffer);
-
-typedef BOOLEAN DDKAPI
-(*PSCSIWMI_SET_DATABLOCK)(
- IN PVOID DeviceContext,
- IN PSCSIWMI_REQUEST_CONTEXT RequestContext,
- IN ULONG GuidIndex,
- IN ULONG InstanceIndex,
- IN ULONG BufferSize,
- IN PUCHAR Buffer);
-
-typedef BOOLEAN DDKAPI
-(*PSCSIWMI_SET_DATAITEM)(
- IN PVOID DeviceContext,
- IN PSCSIWMI_REQUEST_CONTEXT RequestContext,
- IN ULONG GuidIndex,
- IN ULONG InstanceIndex,
- IN ULONG DataItemId,
- IN ULONG BufferSize,
- IN PUCHAR Buffer);
-
-typedef BOOLEAN DDKAPI
-(*PSCSIWMI_EXECUTE_METHOD)(
- IN PVOID DeviceContext,
- IN PSCSIWMI_REQUEST_CONTEXT RequestContext,
- IN ULONG GuidIndex,
- IN ULONG InstanceIndex,
- IN ULONG MethodId,
- IN ULONG InBufferSize,
- IN ULONG OutBufferSize,
- IN OUT PUCHAR Buffer);
-
-typedef enum _SCSIWMI_ENABLE_DISABLE_CONTROL {
- ScsiWmiEventControl,
- ScsiWmiDataBlockControl
-} SCSIWMI_ENABLE_DISABLE_CONTROL;
-
-typedef BOOLEAN DDKAPI
-(*PSCSIWMI_FUNCTION_CONTROL)(
- IN PVOID DeviceContext,
- IN PSCSIWMI_REQUEST_CONTEXT RequestContext,
- IN ULONG GuidIndex,
- IN SCSIWMI_ENABLE_DISABLE_CONTROL Function,
- IN BOOLEAN Enable);
-
-typedef struct _SCSIWMILIB_CONTEXT {
- ULONG GuidCount;
- PSCSIWMIGUIDREGINFO GuidList;
- PSCSIWMI_QUERY_REGINFO QueryWmiRegInfo;
- PSCSIWMI_QUERY_DATABLOCK QueryWmiDataBlock;
- PSCSIWMI_SET_DATABLOCK SetWmiDataBlock;
- PSCSIWMI_SET_DATAITEM SetWmiDataItem;
- PSCSIWMI_EXECUTE_METHOD ExecuteWmiMethod;
- PSCSIWMI_FUNCTION_CONTROL WmiFunctionControl;
-} SCSI_WMILIB_CONTEXT, *PSCSI_WMILIB_CONTEXT;
-
-SCSIPORTAPI
-BOOLEAN
-DDKAPI
-ScsiPortWmiDispatchFunction(
- IN PSCSI_WMILIB_CONTEXT WmiLibInfo,
- IN UCHAR MinorFunction,
- IN PVOID DeviceContext,
- IN PSCSIWMI_REQUEST_CONTEXT RequestContext,
- IN PVOID DataPath,
- IN ULONG BufferSize,
- IN PVOID Buffer);
-
-#define ScsiPortWmiFireAdapterEvent( \
- HwDeviceExtension, \
- Guid, \
- InstanceIndex, \
- EventDataSize, \
- EventData) \
- ScsiPortWmiFireLogicalUnitEvent( \
- HwDeviceExtension, \
- 0xff, \
- 0, \
- 0, \
- Guid, \
- InstanceIndex, \
- EventDataSize, \
- EventData)
-
-/*
- * ULONG
- * ScsiPortWmiGetReturnSize(
- * PSCSIWMI_REQUEST_CONTEXT RequestContext);
- */
-#define ScsiPortWmiGetReturnSize(RequestContext) \
- ((RequestContext)->ReturnSize)
-
-/* UCHAR
- * ScsiPortWmiGetReturnStatus(
- * PSCSIWMI_REQUEST_CONTEXT RequestContext);
- */
-#define ScsiPortWmiGetReturnStatus(RequestContext) \
- ((RequestContext)->ReturnStatus)
-
-SCSIPORTAPI
-VOID
-DDKAPI
-ScsiPortWmiPostProcess(
- IN PSCSIWMI_REQUEST_CONTEXT RequestContext,
- IN UCHAR SrbStatus,
- IN ULONG BufferUsed);
-
-SCSIPORTAPI
-VOID
-DDKAPI
-ScsiPortWmiFireLogicalUnitEvent(
- IN PVOID HwDeviceExtension,
- IN UCHAR PathId,
- IN UCHAR TargetId,
- IN UCHAR Lun,
- IN LPGUID Guid,
- IN ULONG InstanceIndex,
- IN ULONG EventDataSize,
- IN PVOID EventData);
-
-#pragma pack(pop)
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __SCSIWMI_H */
diff --git a/winsup/w32api/include/ddk/smbus.h b/winsup/w32api/include/ddk/smbus.h
deleted file mode 100644
index 6531c15dc..000000000
--- a/winsup/w32api/include/ddk/smbus.h
+++ /dev/null
@@ -1,190 +0,0 @@
-/*
- * smbus.h
- *
- * System Management Bus driver interface
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- * Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __SMBUS_H
-#define __SMBUS_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#if !defined(SMBCLASS)
- #define SMBCLASSAPI DECLSPEC_IMPORT
-#else
- #define SMBCLASSAPI DECLSPEC_EXPORT
-#endif
-
-#define SMB_BUS_REQUEST \
- CTL_CODE(FILE_DEVICE_UNKNOWN, 0, METHOD_NEITHER, FILE_ANY_ACCESS)
-
-#define SMB_DEREGISTER_ALARM_NOTIFY \
- CTL_CODE(FILE_DEVICE_UNKNOWN, 2, METHOD_NEITHER, FILE_ANY_ACCESS)
-
-#define SMB_REGISTER_ALARM_NOTIFY \
- CTL_CODE(FILE_DEVICE_UNKNOWN, 1, METHOD_NEITHER, FILE_ANY_ACCESS)
-
-
-struct _SMB_CLASS;
-
-#define SMB_MAX_DATA_SIZE 32
-
-/* SMB_REQUEST.Status constants */
-#define SMB_STATUS_OK 0x00
-#define SMB_UNKNOWN_FAILURE 0x07
-#define SMB_ADDRESS_NOT_ACKNOWLEDGED 0x10
-#define SMB_DEVICE_ERROR 0x11
-#define SMB_COMMAND_ACCESS_DENIED 0x12
-#define SMB_UNKNOWN_ERROR 0x13
-#define SMB_DEVICE_ACCESS_DENIED 0x17
-#define SMB_TIMEOUT 0x18
-#define SMB_UNSUPPORTED_PROTOCOL 0x19
-#define SMB_BUS_BUSY 0x1A
-
-/* SMB_REQUEST.Protocol constants */
-#define SMB_WRITE_QUICK 0x00
-#define SMB_READ_QUICK 0x01
-#define SMB_SEND_BYTE 0x02
-#define SMB_RECEIVE_BYTE 0x03
-#define SMB_WRITE_BYTE 0x04
-#define SMB_READ_BYTE 0x05
-#define SMB_WRITE_WORD 0x06
-#define SMB_READ_WORD 0x07
-#define SMB_WRITE_BLOCK 0x08
-#define SMB_READ_BLOCK 0x09
-#define SMB_PROCESS_CALL 0x0A
-#define SMB_MAXIMUM_PROTOCOL 0x0A
-
-typedef struct _SMB_REQUEST {
- UCHAR Status;
- UCHAR Protocol;
- UCHAR Address;
- UCHAR Command;
- UCHAR BlockLength;
- UCHAR Data[SMB_MAX_DATA_SIZE];
-} SMB_REQUEST, *PSMB_REQUEST;
-
-typedef VOID STDCALL
-(*SMB_ALARM_NOTIFY)(
- PVOID Context,
- UCHAR Address,
- USHORT Data);
-
-typedef struct _SMB_REGISTER_ALARM {
- UCHAR MinAddress;
- UCHAR MaxAddress;
- SMB_ALARM_NOTIFY NotifyFunction;
- PVOID NotifyContext;
-} SMB_REGISTER_ALARM, *PSMB_REGISTER_ALARM;
-
-/* SMB_CLASS.XxxVersion constants */
-#define SMB_CLASS_MAJOR_VERSION 0x0001
-#define SMB_CLASS_MINOR_VERSION 0x0000
-
-typedef NTSTATUS DDKAPI
-(*SMB_RESET_DEVICE)(
- IN struct _SMB_CLASS *SmbClass,
- IN PVOID SmbMiniport);
-
-typedef VOID DDKAPI
-(*SMB_START_IO)(
- IN struct _SMB_CLASS *SmbClass,
- IN PVOID SmbMiniport);
-
-typedef NTSTATUS DDKAPI
-(*SMB_STOP_DEVICE)(
- IN struct _SMB_CLASS *SmbClass,
- IN PVOID SmbMiniport);
-
-typedef struct _SMB_CLASS {
- USHORT MajorVersion;
- USHORT MinorVersion;
- PVOID Miniport;
- PDEVICE_OBJECT DeviceObject;
- PDEVICE_OBJECT PDO;
- PDEVICE_OBJECT LowerDeviceObject;
- PIRP CurrentIrp;
- PSMB_REQUEST CurrentSmb;
- SMB_RESET_DEVICE ResetDevice;
- SMB_START_IO StartIo;
- SMB_STOP_DEVICE StopDevice;
-} SMB_CLASS, *PSMB_CLASS;
-
-SMBCLASSAPI
-VOID
-DDKAPI
-SmbClassAlarm(
- IN PSMB_CLASS SmbClass,
- IN UCHAR Address,
- IN USHORT Data);
-
-SMBCLASSAPI
-VOID
-DDKAPI
-SmbClassCompleteRequest(
- IN PSMB_CLASS SmbClass);
-
-typedef NTSTATUS DDKAPI
-(*PSMB_INITIALIZE_MINIPORT)(
- IN PSMB_CLASS SmbClass,
- IN PVOID MiniportExtension,
- IN PVOID MiniportContext);
-
-SMBCLASSAPI
-NTSTATUS
-DDKAPI
-SmbClassCreateFdo(
- IN PDRIVER_OBJECT DriverObject,
- IN PDEVICE_OBJECT PDO,
- IN ULONG MiniportExtensionSize,
- IN PSMB_INITIALIZE_MINIPORT MiniportInitialize,
- IN PVOID MiniportContext,
- OUT PDEVICE_OBJECT *FDO);
-
-SMBCLASSAPI
-NTSTATUS
-DDKAPI
-SmbClassInitializeDevice(
- IN ULONG MajorVersion,
- IN ULONG MinorVersion,
- IN PDRIVER_OBJECT DriverObject);
-
-SMBCLASSAPI
-VOID
-DDKAPI
-SmbClassLockDevice(
- IN PSMB_CLASS SmbClass);
-
-SMBCLASSAPI
-VOID
-DDKAPI
-SmbClassUnlockDevice(
- IN PSMB_CLASS SmbClass);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __SMBUS_H */
diff --git a/winsup/w32api/include/ddk/srb.h b/winsup/w32api/include/ddk/srb.h
deleted file mode 100644
index 052d1682b..000000000
--- a/winsup/w32api/include/ddk/srb.h
+++ /dev/null
@@ -1,753 +0,0 @@
-/*
- * scsi.h
- *
- * Interface between SCSI miniport drivers and the SCSI port driver.
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- * Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __SRB_H
-#define __SRB_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-
-#if defined(_SCSIPORT_)
- #define SCSIPORTAPI DECLSPEC_EXPORT
-#else
- #define SCSIPORTAPI DECLSPEC_IMPORT
-#endif
-
-#ifdef DBG
-#define DebugPrint(x) ScsiDebugPrint x
-#else
-#define DebugPrint(x)
-#endif
-
-typedef PHYSICAL_ADDRESS SCSI_PHYSICAL_ADDRESS, *PSCSI_PHYSICAL_ADDRESS;
-
-#define SP_UNINITIALIZED_VALUE ((ULONG) ~0)
-#define SP_UNTAGGED ((UCHAR) ~0)
-
-#define SRB_SIMPLE_TAG_REQUEST 0x20
-#define SRB_HEAD_OF_QUEUE_TAG_REQUEST 0x21
-#define SRB_ORDERED_QUEUE_TAG_REQUEST 0x22
-
-#define SRB_STATUS_QUEUE_FROZEN 0x40
-#define SRB_STATUS_AUTOSENSE_VALID 0x80
-
-#define SRB_STATUS(Status) \
- (Status & ~(SRB_STATUS_AUTOSENSE_VALID | SRB_STATUS_QUEUE_FROZEN))
-
-#define MAXIMUM_CDB_SIZE 12
-
-#ifdef DBG
-#define SCSI_PORT_SIGNATURE 0x54524f50
-#endif
-
-
-#define SCSI_MAXIMUM_LOGICAL_UNITS 8
-#define SCSI_MAXIMUM_TARGETS_PER_BUS 128
-#define SCSI_MAXIMUM_LUNS_PER_TARGET 255
-#define SCSI_MAXIMUM_BUSES 8
-#define SCSI_MINIMUM_PHYSICAL_BREAKS 16
-#define SCSI_MAXIMUM_PHYSICAL_BREAKS 255
-#define SCSI_MAXIMUM_TARGETS 8
-
-#define SRB_FUNCTION_WMI 0x17
-
-#define SRB_WMI_FLAGS_ADAPTER_REQUEST 0x0001
-
-#define SP_BUS_PARITY_ERROR 0x0001
-#define SP_UNEXPECTED_DISCONNECT 0x0002
-#define SP_INVALID_RESELECTION 0x0003
-#define SP_BUS_TIME_OUT 0x0004
-#define SP_PROTOCOL_ERROR 0x0005
-#define SP_INTERNAL_ADAPTER_ERROR 0x0006
-#define SP_REQUEST_TIMEOUT 0x0007
-#define SP_IRQ_NOT_RESPONDING 0x0008
-#define SP_BAD_FW_WARNING 0x0009
-#define SP_BAD_FW_ERROR 0x000a
-#define SP_LOST_WMI_MINIPORT_REQUEST 0x000b
-
-/* SCSI_REQUEST_BLOCK.Function constants */
-#define SRB_FUNCTION_EXECUTE_SCSI 0x00
-#define SRB_FUNCTION_CLAIM_DEVICE 0x01
-#define SRB_FUNCTION_IO_CONTROL 0x02
-#define SRB_FUNCTION_RECEIVE_EVENT 0x03
-#define SRB_FUNCTION_RELEASE_QUEUE 0x04
-#define SRB_FUNCTION_ATTACH_DEVICE 0x05
-#define SRB_FUNCTION_RELEASE_DEVICE 0x06
-#define SRB_FUNCTION_SHUTDOWN 0x07
-#define SRB_FUNCTION_FLUSH 0x08
-#define SRB_FUNCTION_ABORT_COMMAND 0x10
-#define SRB_FUNCTION_RELEASE_RECOVERY 0x11
-#define SRB_FUNCTION_RESET_BUS 0x12
-#define SRB_FUNCTION_RESET_DEVICE 0x13
-#define SRB_FUNCTION_TERMINATE_IO 0x14
-#define SRB_FUNCTION_FLUSH_QUEUE 0x15
-#define SRB_FUNCTION_REMOVE_DEVICE 0x16
-#define SRB_FUNCTION_WMI 0x17
-#define SRB_FUNCTION_LOCK_QUEUE 0x18
-#define SRB_FUNCTION_UNLOCK_QUEUE 0x19
-#define SRB_FUNCTION_RESET_LOGICAL_UNIT 0x20
-
-/* SCSI_REQUEST_BLOCK.SrbStatus constants */
-#define SRB_STATUS_PENDING 0x00
-#define SRB_STATUS_SUCCESS 0x01
-#define SRB_STATUS_ABORTED 0x02
-#define SRB_STATUS_ABORT_FAILED 0x03
-#define SRB_STATUS_ERROR 0x04
-#define SRB_STATUS_BUSY 0x05
-#define SRB_STATUS_INVALID_REQUEST 0x06
-#define SRB_STATUS_INVALID_PATH_ID 0x07
-#define SRB_STATUS_NO_DEVICE 0x08
-#define SRB_STATUS_TIMEOUT 0x09
-#define SRB_STATUS_SELECTION_TIMEOUT 0x0A
-#define SRB_STATUS_COMMAND_TIMEOUT 0x0B
-#define SRB_STATUS_MESSAGE_REJECTED 0x0D
-#define SRB_STATUS_BUS_RESET 0x0E
-#define SRB_STATUS_PARITY_ERROR 0x0F
-#define SRB_STATUS_REQUEST_SENSE_FAILED 0x10
-#define SRB_STATUS_NO_HBA 0x11
-#define SRB_STATUS_DATA_OVERRUN 0x12
-#define SRB_STATUS_UNEXPECTED_BUS_FREE 0x13
-#define SRB_STATUS_PHASE_SEQUENCE_FAILURE 0x14
-#define SRB_STATUS_BAD_SRB_BLOCK_LENGTH 0x15
-#define SRB_STATUS_REQUEST_FLUSHED 0x16
-#define SRB_STATUS_INVALID_LUN 0x20
-#define SRB_STATUS_INVALID_TARGET_ID 0x21
-#define SRB_STATUS_BAD_FUNCTION 0x22
-#define SRB_STATUS_ERROR_RECOVERY 0x23
-#define SRB_STATUS_NOT_POWERED 0x24
-#define SRB_STATUS_INTERNAL_ERROR 0x30
-
-/* SCSI_REQUEST_BLOCK.SrbFlags constants */
-#define SRB_FLAGS_QUEUE_ACTION_ENABLE 0x00000002
-#define SRB_FLAGS_DISABLE_DISCONNECT 0x00000004
-#define SRB_FLAGS_DISABLE_SYNCH_TRANSFER 0x00000008
-#define SRB_FLAGS_BYPASS_FROZEN_QUEUE 0x00000010
-#define SRB_FLAGS_DISABLE_AUTOSENSE 0x00000020
-#define SRB_FLAGS_DATA_IN 0x00000040
-#define SRB_FLAGS_DATA_OUT 0x00000080
-#define SRB_FLAGS_NO_DATA_TRANSFER 0x00000000
-#define SRB_FLAGS_UNSPECIFIED_DIRECTION (SRB_FLAGS_DATA_IN | SRB_FLAGS_DATA_OUT)
-#define SRB_FLAGS_NO_QUEUE_FREEZE 0x00000100
-#define SRB_FLAGS_ADAPTER_CACHE_ENABLE 0x00000200
-#define SRB_FLAGS_FREE_SENSE_BUFFER 0x00000400
-#define SRB_FLAGS_IS_ACTIVE 0x00010000
-#define SRB_FLAGS_ALLOCATED_FROM_ZONE 0x00020000
-#define SRB_FLAGS_SGLIST_FROM_POOL 0x00040000
-#define SRB_FLAGS_BYPASS_LOCKED_QUEUE 0x00080000
-#define SRB_FLAGS_NO_KEEP_AWAKE 0x00100000
-#define SRB_FLAGS_PORT_DRIVER_ALLOCSENSE 0x00200000
-#define SRB_FLAGS_PORT_DRIVER_SENSEHASPORT 0x00400000
-#define SRB_FLAGS_DONT_START_NEXT_PACKET 0x00800000
-#define SRB_FLAGS_PORT_DRIVER_RESERVED 0x0F000000
-#define SRB_FLAGS_CLASS_DRIVER_RESERVED 0xF0000000
-
-typedef struct _SCSI_REQUEST_BLOCK {
- USHORT Length;
- UCHAR Function;
- UCHAR SrbStatus;
- UCHAR ScsiStatus;
- UCHAR PathId;
- UCHAR TargetId;
- UCHAR Lun;
- UCHAR QueueTag;
- UCHAR QueueAction;
- UCHAR CdbLength;
- UCHAR SenseInfoBufferLength;
- ULONG SrbFlags;
- ULONG DataTransferLength;
- ULONG TimeOutValue;
- PVOID DataBuffer;
- PVOID SenseInfoBuffer;
- struct _SCSI_REQUEST_BLOCK *NextSrb;
- PVOID OriginalRequest;
- PVOID SrbExtension;
- _ANONYMOUS_UNION union {
- ULONG InternalStatus;
- ULONG QueueSortKey;
- } DUMMYUNIONNAME;
-#if defined(_WIN64)
- ULONG Reserved;
-#endif
- UCHAR Cdb[16];
-} SCSI_REQUEST_BLOCK, *PSCSI_REQUEST_BLOCK;
-
-#define SCSI_REQUEST_BLOCK_SIZE sizeof(SCSI_REQUEST_BLOCK)
-
-typedef struct _ACCESS_RANGE {
- SCSI_PHYSICAL_ADDRESS RangeStart;
- ULONG RangeLength;
- BOOLEAN RangeInMemory;
-} ACCESS_RANGE, *PACCESS_RANGE;
-
-/* PORT_CONFIGURATION_INFORMATION.Dma64BitAddresses constants */
-#define SCSI_DMA64_MINIPORT_SUPPORTED 0x01
-#define SCSI_DMA64_SYSTEM_SUPPORTED 0x80
-
-typedef struct _PORT_CONFIGURATION_INFORMATION {
- ULONG Length;
- ULONG SystemIoBusNumber;
- INTERFACE_TYPE AdapterInterfaceType;
- ULONG BusInterruptLevel;
- ULONG BusInterruptVector;
- KINTERRUPT_MODE InterruptMode;
- ULONG MaximumTransferLength;
- ULONG NumberOfPhysicalBreaks;
- ULONG DmaChannel;
- ULONG DmaPort;
- DMA_WIDTH DmaWidth;
- DMA_SPEED DmaSpeed;
- ULONG AlignmentMask;
- ULONG NumberOfAccessRanges;
- ACCESS_RANGE (*AccessRanges)[];
- PVOID Reserved;
- UCHAR NumberOfBuses;
- UCHAR InitiatorBusId[8];
- BOOLEAN ScatterGather;
- BOOLEAN Master;
- BOOLEAN CachesData;
- BOOLEAN AdapterScansDown;
- BOOLEAN AtdiskPrimaryClaimed;
- BOOLEAN AtdiskSecondaryClaimed;
- BOOLEAN Dma32BitAddresses;
- BOOLEAN DemandMode;
- BOOLEAN MapBuffers;
- BOOLEAN NeedPhysicalAddresses;
- BOOLEAN TaggedQueuing;
- BOOLEAN AutoRequestSense;
- BOOLEAN MultipleRequestPerLu;
- BOOLEAN ReceiveEvent;
- BOOLEAN RealModeInitialized;
- BOOLEAN BufferAccessScsiPortControlled;
- UCHAR MaximumNumberOfTargets;
- UCHAR ReservedUchars[2];
- ULONG SlotNumber;
- ULONG BusInterruptLevel2;
- ULONG BusInterruptVector2;
- KINTERRUPT_MODE InterruptMode2;
- ULONG DmaChannel2;
- ULONG DmaPort2;
- DMA_WIDTH DmaWidth2;
- DMA_SPEED DmaSpeed2;
- ULONG DeviceExtensionSize;
- ULONG SpecificLuExtensionSize;
- ULONG SrbExtensionSize;
- UCHAR Dma64BitAddresses;
- BOOLEAN ResetTargetSupported;
- UCHAR MaximumNumberOfLogicalUnits;
- BOOLEAN WmiDataProvider;
-} PORT_CONFIGURATION_INFORMATION, *PPORT_CONFIGURATION_INFORMATION;
-
-#define CONFIG_INFO_VERSION_2 sizeof(PORT_CONFIGURATION_INFORMATION)
-
-typedef enum _SCSI_NOTIFICATION_TYPE {
- RequestComplete,
- NextRequest,
- NextLuRequest,
- ResetDetected,
- CallDisableInterrupts,
- CallEnableInterrupts,
- RequestTimerCall,
- BusChangeDetected,
- WMIEvent,
- WMIReregister
-} SCSI_NOTIFICATION_TYPE, *PSCSI_NOTIFICATION_TYPE;
-
-#ifdef __GNUC__
-__extension__ /* enums limited to range of integer */
-#endif
-typedef enum _SCSI_ADAPTER_CONTROL_TYPE {
- ScsiQuerySupportedControlTypes = 0,
- ScsiStopAdapter,
- ScsiRestartAdapter,
- ScsiSetBootConfig,
- ScsiSetRunningConfig,
- ScsiAdapterControlMax,
- MakeAdapterControlTypeSizeOfUlong = 0xffffffff
-} SCSI_ADAPTER_CONTROL_TYPE, *PSCSI_ADAPTER_CONTROL_TYPE;
-
-typedef enum _SCSI_ADAPTER_CONTROL_STATUS {
- ScsiAdapterControlSuccess = 0,
- ScsiAdapterControlUnsuccessful
-} SCSI_ADAPTER_CONTROL_STATUS, *PSCSI_ADAPTER_CONTROL_STATUS;
-
-typedef struct _SCSI_SUPPORTED_CONTROL_TYPE_LIST {
- ULONG MaxControlType;
- BOOLEAN SupportedTypeList[0];
-} SCSI_SUPPORTED_CONTROL_TYPE_LIST, *PSCSI_SUPPORTED_CONTROL_TYPE_LIST;
-
-typedef SCSI_ADAPTER_CONTROL_STATUS DDKAPI
-(*PHW_ADAPTER_CONTROL)(
- IN PVOID DeviceExtension,
- IN SCSI_ADAPTER_CONTROL_TYPE ControlType,
- IN PVOID Parameters);
-
-typedef BOOLEAN DDKAPI
-(*PHW_ADAPTER_STATE)(
- IN PVOID DeviceExtension,
- IN PVOID Context,
- IN BOOLEAN SaveState);
-
-#define SP_RETURN_NOT_FOUND 0
-#define SP_RETURN_FOUND 1
-#define SP_RETURN_ERROR 2
-#define SP_RETURN_BAD_CONFIG 3
-
-typedef ULONG DDKAPI
-(*PHW_FIND_ADAPTER)(
- IN PVOID DeviceExtension,
- IN PVOID HwContext,
- IN PVOID BusInformation,
- IN PCHAR ArgumentString,
- IN OUT PPORT_CONFIGURATION_INFORMATION ConfigInfo,
- OUT PBOOLEAN Again);
-
-typedef BOOLEAN DDKAPI
-(*PHW_INITIALIZE)(
- IN PVOID DeviceExtension);
-
-typedef BOOLEAN DDKAPI
-(*PHW_INTERRUPT)(
- IN PVOID DeviceExtension);
-
-typedef BOOLEAN DDKAPI
-(*PHW_RESET_BUS)(
- IN PVOID DeviceExtension,
- IN ULONG PathId);
-
-typedef VOID DDKAPI
-(*PHW_DMA_STARTED)(
- IN PVOID DeviceExtension);
-
-typedef BOOLEAN DDKAPI
-(*PHW_STARTIO)(
- IN PVOID DeviceExtension,
- IN PSCSI_REQUEST_BLOCK Srb);
-
-typedef VOID DDKAPI
-(*PHW_TIMER)(
- IN PVOID DeviceExtension);
-
-typedef struct _HW_INITIALIZATION_DATA {
- ULONG HwInitializationDataSize;
- INTERFACE_TYPE AdapterInterfaceType;
- PHW_INITIALIZE HwInitialize;
- PHW_STARTIO HwStartIo;
- PHW_INTERRUPT HwInterrupt;
- PHW_FIND_ADAPTER HwFindAdapter;
- PHW_RESET_BUS HwResetBus;
- PHW_DMA_STARTED HwDmaStarted;
- PHW_ADAPTER_STATE HwAdapterState;
- ULONG DeviceExtensionSize;
- ULONG SpecificLuExtensionSize;
- ULONG SrbExtensionSize;
- ULONG NumberOfAccessRanges;
- PVOID Reserved;
- BOOLEAN MapBuffers;
- BOOLEAN NeedPhysicalAddresses;
- BOOLEAN TaggedQueuing;
- BOOLEAN AutoRequestSense;
- BOOLEAN MultipleRequestPerLu;
- BOOLEAN ReceiveEvent;
- USHORT VendorIdLength;
- PVOID VendorId;
- USHORT ReservedUshort;
- USHORT DeviceIdLength;
- PVOID DeviceId;
- PHW_ADAPTER_CONTROL HwAdapterControl;
-} HW_INITIALIZATION_DATA, *PHW_INITIALIZATION_DATA;
-
-SCSIPORTAPI
-VOID
-DDKAPI
-ScsiPortCompleteRequest(
- IN PVOID HwDeviceExtension,
- IN UCHAR PathId,
- IN UCHAR TargetId,
- IN UCHAR Lun,
- IN UCHAR SrbStatus);
-
-/*
- * ULONG
- * ScsiPortConvertPhysicalAddressToUlong(
- * IN SCSI_PHYSICAL_ADDRESS Address);
- */
-#define ScsiPortConvertPhysicalAddressToUlong(Address) ((Address).LowPart)
-
-SCSIPORTAPI
-SCSI_PHYSICAL_ADDRESS
-DDKAPI
-ScsiPortConvertUlongToPhysicalAddress(
- IN ULONG UlongAddress);
-
-SCSIPORTAPI
-VOID
-DDKAPI
-ScsiPortFlushDma(
- IN PVOID DeviceExtension);
-
-SCSIPORTAPI
-VOID
-DDKAPI
-ScsiPortFreeDeviceBase(
- IN PVOID HwDeviceExtension,
- IN PVOID MappedAddress);
-
-SCSIPORTAPI
-ULONG
-DDKAPI
-ScsiPortGetBusData(
- IN PVOID DeviceExtension,
- IN ULONG BusDataType,
- IN ULONG SystemIoBusNumber,
- IN ULONG SlotNumber,
- IN PVOID Buffer,
- IN ULONG Length);
-
-SCSIPORTAPI
-PVOID
-DDKAPI
-ScsiPortGetDeviceBase(
- IN PVOID HwDeviceExtension,
- IN INTERFACE_TYPE BusType,
- IN ULONG SystemIoBusNumber,
- IN SCSI_PHYSICAL_ADDRESS IoAddress,
- IN ULONG NumberOfBytes,
- IN BOOLEAN InIoSpace);
-
-SCSIPORTAPI
-PVOID
-DDKAPI
-ScsiPortGetLogicalUnit(
- IN PVOID HwDeviceExtension,
- IN UCHAR PathId,
- IN UCHAR TargetId,
- IN UCHAR Lun);
-
-SCSIPORTAPI
-SCSI_PHYSICAL_ADDRESS
-DDKAPI
-ScsiPortGetPhysicalAddress(
- IN PVOID HwDeviceExtension,
- IN PSCSI_REQUEST_BLOCK Srb OPTIONAL,
- IN PVOID VirtualAddress,
- OUT ULONG *Length);
-
-SCSIPORTAPI
-PSCSI_REQUEST_BLOCK
-DDKAPI
-ScsiPortGetSrb(
- IN PVOID DeviceExtension,
- IN UCHAR PathId,
- IN UCHAR TargetId,
- IN UCHAR Lun,
- IN LONG QueueTag);
-
-SCSIPORTAPI
-PVOID
-DDKAPI
-ScsiPortGetUncachedExtension(
- IN PVOID HwDeviceExtension,
- IN PPORT_CONFIGURATION_INFORMATION ConfigInfo,
- IN ULONG NumberOfBytes);
-
-SCSIPORTAPI
-PVOID
-DDKAPI
-ScsiPortGetVirtualAddress(
- IN PVOID HwDeviceExtension,
- IN SCSI_PHYSICAL_ADDRESS PhysicalAddress);
-
-SCSIPORTAPI
-ULONG
-DDKAPI
-ScsiPortInitialize(
- IN PVOID Argument1,
- IN PVOID Argument2,
- IN struct _HW_INITIALIZATION_DATA *HwInitializationData,
- IN PVOID HwContext OPTIONAL);
-
-SCSIPORTAPI
-VOID
-DDKAPI
-ScsiPortIoMapTransfer(
- IN PVOID HwDeviceExtension,
- IN PSCSI_REQUEST_BLOCK Srb,
- IN ULONG LogicalAddress,
- IN ULONG Length);
-
-SCSIPORTAPI
-VOID
-DDKAPI
-ScsiPortLogError(
- IN PVOID HwDeviceExtension,
- IN PSCSI_REQUEST_BLOCK Srb OPTIONAL,
- IN UCHAR PathId,
- IN UCHAR TargetId,
- IN UCHAR Lun,
- IN ULONG ErrorCode,
- IN ULONG UniqueId);
-
-SCSIPORTAPI
-VOID
-DDKAPI
-ScsiPortMoveMemory(
- IN PVOID WriteBuffer,
- IN PVOID ReadBuffer,
- IN ULONG Length);
-
-SCSIPORTAPI
-VOID
-DDKCDECLAPI
-ScsiPortNotification(
- IN SCSI_NOTIFICATION_TYPE NotificationType,
- IN PVOID HwDeviceExtension,
- IN ...);
-
-SCSIPORTAPI
-VOID
-DDKAPI
-ScsiPortQuerySystemTime(
- OUT PLARGE_INTEGER CurrentTime);
-
-SCSIPORTAPI
-VOID
-DDKAPI
-ScsiPortReadPortBufferUchar(
- IN PUCHAR Port,
- IN PUCHAR Buffer,
- IN ULONG Count);
-
-SCSIPORTAPI
-VOID
-DDKAPI
-ScsiPortReadPortBufferUlong(
- IN PULONG Port,
- IN PULONG Buffer,
- IN ULONG Count);
-
-SCSIPORTAPI
-VOID
-DDKAPI
-ScsiPortReadPortBufferUshort(
- IN PUSHORT Port,
- IN PUSHORT Buffer,
- IN ULONG Count);
-
-SCSIPORTAPI
-UCHAR
-DDKAPI
-ScsiPortReadPortUchar(
- IN PUCHAR Port);
-
-SCSIPORTAPI
-ULONG
-DDKAPI
-ScsiPortReadPortUlong(
- IN PULONG Port);
-
-SCSIPORTAPI
-USHORT
-DDKAPI
-ScsiPortReadPortUshort(
- IN PUSHORT Port);
-
-SCSIPORTAPI
-VOID
-DDKAPI
-ScsiPortReadRegisterBufferUchar(
- IN PUCHAR Register,
- IN PUCHAR Buffer,
- IN ULONG Count);
-
-SCSIPORTAPI
-VOID
-DDKAPI
-ScsiPortReadRegisterBufferUlong(
- IN PULONG Register,
- IN PULONG Buffer,
- IN ULONG Count);
-
-SCSIPORTAPI
-VOID
-DDKAPI
-ScsiPortReadRegisterBufferUshort(
- IN PUSHORT Register,
- IN PUSHORT Buffer,
- IN ULONG Count);
-
-SCSIPORTAPI
-UCHAR
-DDKAPI
-ScsiPortReadRegisterUchar(
- IN PUCHAR Register);
-
-SCSIPORTAPI
-ULONG
-DDKAPI
-ScsiPortReadRegisterUlong(
- IN PULONG Register);
-
-SCSIPORTAPI
-USHORT
-DDKAPI
-ScsiPortReadRegisterUshort(
- IN PUSHORT Register);
-
-SCSIPORTAPI
-ULONG
-DDKAPI
-ScsiPortSetBusDataByOffset(
- IN PVOID DeviceExtension,
- IN ULONG BusDataType,
- IN ULONG SystemIoBusNumber,
- IN ULONG SlotNumber,
- IN PVOID Buffer,
- IN ULONG Offset,
- IN ULONG Length);
-
-SCSIPORTAPI
-VOID
-DDKAPI
-ScsiPortStallExecution(
- IN ULONG Delay);
-
-SCSIPORTAPI
-BOOLEAN
-DDKAPI
-ScsiPortValidateRange(
- IN PVOID HwDeviceExtension,
- IN INTERFACE_TYPE BusType,
- IN ULONG SystemIoBusNumber,
- IN SCSI_PHYSICAL_ADDRESS IoAddress,
- IN ULONG NumberOfBytes,
- IN BOOLEAN InIoSpace);
-
-SCSIPORTAPI
-VOID
-DDKAPI
-ScsiPortWritePortBufferUchar(
- IN PUCHAR Port,
- IN PUCHAR Buffer,
- IN ULONG Count);
-
-SCSIPORTAPI
-VOID
-DDKAPI
-ScsiPortWritePortBufferUlong(
- IN PULONG Port,
- IN PULONG Buffer,
- IN ULONG Count);
-
-SCSIPORTAPI
-VOID
-DDKAPI
-ScsiPortWritePortBufferUshort(
- IN PUSHORT Port,
- IN PUSHORT Buffer,
- IN ULONG Count);
-
-SCSIPORTAPI
-VOID
-DDKAPI
-ScsiPortWritePortUchar(
- IN PUCHAR Port,
- IN UCHAR Value);
-
-SCSIPORTAPI
-VOID
-DDKAPI
-ScsiPortWritePortUlong(
- IN PULONG Port,
- IN ULONG Value);
-
-SCSIPORTAPI
-VOID
-DDKAPI
-ScsiPortWritePortUshort(
- IN PUSHORT Port,
- IN USHORT Value);
-
-SCSIPORTAPI
-VOID
-DDKAPI
-ScsiPortWriteRegisterBufferUchar(
- IN PUCHAR Register,
- IN PUCHAR Buffer,
- IN ULONG Count);
-
-SCSIPORTAPI
-VOID
-DDKAPI
-ScsiPortWriteRegisterBufferUlong(
- IN PULONG Register,
- IN PULONG Buffer,
- IN ULONG Count);
-
-SCSIPORTAPI
-VOID
-DDKAPI
-ScsiPortWriteRegisterBufferUshort(
- IN PUSHORT Register,
- IN PUSHORT Buffer,
- IN ULONG Count);
-
-SCSIPORTAPI
-VOID
-DDKAPI
-ScsiPortWriteRegisterUchar(
- IN PUCHAR Register,
- IN ULONG Value);
-
-SCSIPORTAPI
-VOID
-DDKAPI
-ScsiPortWriteRegisterUlong(
- IN PULONG Register,
- IN ULONG Value);
-
-SCSIPORTAPI
-VOID
-DDKAPI
-ScsiPortWriteRegisterUshort(
- IN PUSHORT Register,
- IN USHORT Value);
-
-SCSIPORTAPI
-VOID
-DDKCDECLAPI
-ScsiDebugPrint(
- IN ULONG DebugPrintLevel,
- IN PCCHAR DebugMessage,
- IN ...);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __SRB_H */
diff --git a/winsup/w32api/include/ddk/storport.h b/winsup/w32api/include/ddk/storport.h
deleted file mode 100644
index f4f9d3ccc..000000000
--- a/winsup/w32api/include/ddk/storport.h
+++ /dev/null
@@ -1,422 +0,0 @@
-/*
- * storport.h
- *
- * StorPort interface
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- * Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __STORPORT_H
-#define __STORPORT_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-#include "srb.h"
-
-#if defined(_STORPORT_)
- #define STORPORTAPI DECLSPEC_EXPORT
-#else
- #define STORPORTAPI DECLSPEC_IMPORT
-#endif
-
-
-typedef PHYSICAL_ADDRESS STOR_PHYSICAL_ADDRESS;
-
-typedef struct _STOR_SCATTER_GATHER_ELEMENT {
- STOR_PHYSICAL_ADDRESS PhysicalAddress;
- ULONG Length;
- ULONG_PTR Reserved;
-} STOR_SCATTER_GATHER_ELEMENT, *PSTOR_SCATTER_GATHER_ELEMENT;
-
-typedef struct _STOR_SCATTER_GATHER_LIST {
- ULONG NumberOfElements;
- ULONG_PTR Reserved;
- STOR_SCATTER_GATHER_ELEMENT List[0];
-} STOR_SCATTER_GATHER_LIST, *PSTOR_SCATTER_GATHER_LIST;
-
-typedef struct _SCSI_WMI_REQUEST_BLOCK {
- USHORT Length;
- UCHAR Function;
- UCHAR SrbStatus;
- UCHAR WMISubFunction;
- UCHAR PathId;
- UCHAR TargetId;
- UCHAR Lun;
- UCHAR Reserved1;
- UCHAR WMIFlags;
- UCHAR Reserved2[2];
- ULONG SrbFlags;
- ULONG DataTransferLength;
- ULONG TimeOutValue;
- PVOID DataBuffer;
- PVOID DataPath;
- PVOID Reserved3;
- PVOID OriginalRequest;
- PVOID SrbExtension;
- ULONG Reserved4;
- UCHAR Reserved5[16];
-} SCSI_WMI_REQUEST_BLOCK, *PSCSI_WMI_REQUEST_BLOCK;
-
-
-STORPORTAPI
-ULONG
-DDKAPI
-StorPortInitialize(
- IN PVOID Argument1,
- IN PVOID Argument2,
- IN PHW_INITIALIZATION_DATA HwInitializationData,
- IN PVOID Unused);
-
-STORPORTAPI
-VOID
-DDKAPI
-StorPortFreeDeviceBase(
- IN PVOID HwDeviceExtension,
- IN PVOID MappedAddress);
-
-STORPORTAPI
-ULONG
-DDKAPI
-StorPortGetBusData(
- IN PVOID DeviceExtension,
- IN ULONG BusDataType,
- IN ULONG SystemIoBusNumber,
- IN ULONG SlotNumber,
- IN PVOID Buffer,
- IN ULONG Length);
-
-STORPORTAPI
-ULONG
-DDKAPI
-StorPortSetBusDataByOffset(
- IN PVOID DeviceExtension,
- IN ULONG BusDataType,
- IN ULONG SystemIoBusNumber,
- IN ULONG SlotNumber,
- IN PVOID Buffer,
- IN ULONG Offset,
- IN ULONG Length);
-
-STORPORTAPI
-PVOID
-DDKAPI
-StorPortGetDeviceBase(
- IN PVOID HwDeviceExtension,
- IN INTERFACE_TYPE BusType,
- IN ULONG SystemIoBusNumber,
- IN SCSI_PHYSICAL_ADDRESS IoAddress,
- IN ULONG NumberOfBytes,
- IN BOOLEAN InIoSpace);
-
-STORPORTAPI
-PVOID
-DDKAPI
-StorPortGetLogicalUnit(
- IN PVOID HwDeviceExtension,
- IN UCHAR PathId,
- IN UCHAR TargetId,
- IN UCHAR Lun);
-
-STORPORTAPI
-PSCSI_REQUEST_BLOCK
-DDKAPI
-StorPortGetSrb(
- IN PVOID DeviceExtension,
- IN UCHAR PathId,
- IN UCHAR TargetId,
- IN UCHAR Lun,
- IN LONG QueueTag);
-
-STORPORTAPI
-STOR_PHYSICAL_ADDRESS
-DDKAPI
-StorPortGetPhysicalAddress(
- IN PVOID HwDeviceExtension,
- IN PSCSI_REQUEST_BLOCK Srb,
- IN PVOID VirtualAddress,
- OUT ULONG *Length);
-
-STORPORTAPI
-PVOID
-DDKAPI
-StorPortGetVirtualAddress(
- IN PVOID HwDeviceExtension,
- IN STOR_PHYSICAL_ADDRESS PhysicalAddress);
-
-STORPORTAPI
-PVOID
-DDKAPI
-StorPortGetUncachedExtension(
- IN PVOID HwDeviceExtension,
- IN PPORT_CONFIGURATION_INFORMATION ConfigInfo,
- IN ULONG NumberOfBytes);
-
-STORPORTAPI
-VOID
-DDKCDECLAPI
-StorPortNotification(
- IN SCSI_NOTIFICATION_TYPE NotificationType,
- IN PVOID HwDeviceExtension,
- IN ...);
-
-STORPORTAPI
-VOID
-DDKAPI
-StorPortLogError(
- IN PVOID HwDeviceExtension,
- IN PSCSI_REQUEST_BLOCK Srb OPTIONAL,
- IN UCHAR PathId,
- IN UCHAR TargetId,
- IN UCHAR Lun,
- IN ULONG ErrorCode,
- IN ULONG UniqueId);
-
-STORPORTAPI
-VOID
-DDKAPI
-StorPortCompleteRequest(
- IN PVOID HwDeviceExtension,
- IN UCHAR PathId,
- IN UCHAR TargetId,
- IN UCHAR Lun,
- IN UCHAR SrbStatus);
-
-STORPORTAPI
-VOID
-DDKAPI
-StorPortMoveMemory(
- IN PVOID WriteBuffer,
- IN PVOID ReadBuffer,
- IN ULONG Length);
-
-STORPORTAPI
-VOID
-DDKAPI
-StorPortStallExecution(
- IN ULONG Delay);
-
-STORPORTAPI
-STOR_PHYSICAL_ADDRESS
-DDKAPI
-StorPortConvertUlong64ToPhysicalAddress(
- IN ULONG64 UlongAddress);
-
-STORPORTAPI
-ULONG64
-DDKAPI
-StorPortConvertPhysicalAddressToUlong64(
- IN STOR_PHYSICAL_ADDRESS Address);
-
-STORPORTAPI
-BOOLEAN
-DDKAPI
-StorPortValidateRange(
- IN PVOID HwDeviceExtension,
- IN INTERFACE_TYPE BusType,
- IN ULONG SystemIoBusNumber,
- IN STOR_PHYSICAL_ADDRESS IoAddress,
- IN ULONG NumberOfBytes,
- IN BOOLEAN InIoSpace);
-
-STORPORTAPI
-VOID
-DDKCDECLAPI
-StorPortDebugPrint(
- IN ULONG DebugPrintLevel,
- IN PCCHAR DebugMessage,
- IN ...);
-
-STORPORTAPI
-UCHAR
-DDKAPI
-StorPortReadPortUchar(
- IN PUCHAR Port);
-
-STORPORTAPI
-ULONG
-DDKAPI
-StorPortReadPortUlong(
- IN PULONG Port);
-
-STORPORTAPI
-USHORT
-DDKAPI
-StorPortReadPortUshort(
- IN PUSHORT Port);
-
-STORPORTAPI
-UCHAR
-DDKAPI
-StorPortReadRegisterUchar(
- IN PUCHAR Register);
-
-STORPORTAPI
-ULONG
-DDKAPI
-StorPortReadRegisterUlong(
- IN PULONG Register);
-
-STORPORTAPI
-USHORT
-DDKAPI
-StorPortReadRegisterUshort(
- IN PUSHORT Register);
-
-STORPORTAPI
-VOID
-DDKAPI
-StorPortWritePortUchar(
- IN PUCHAR Port,
- IN UCHAR Value);
-
-STORPORTAPI
-VOID
-DDKAPI
-StorPortWritePortUlong(
- IN PULONG Port,
- IN ULONG Value);
-
-STORPORTAPI
-VOID
-DDKAPI
-StorPortWritePortUshort(
- IN PUSHORT Port,
- IN USHORT Value);
-
-STORPORTAPI
-VOID
-DDKAPI
-StorPortWriteRegisterUchar(
- IN PUCHAR Port,
- IN UCHAR Value);
-
-STORPORTAPI
-VOID
-DDKAPI
-StorPortWriteRegisterUlong(
- IN PULONG Port,
- IN ULONG Value);
-
-STORPORTAPI
-VOID
-DDKAPI
-StorPortWriteRegisterUshort(
- IN PUSHORT Port,
- IN USHORT Value);
-
-STORPORTAPI
-BOOLEAN
-DDKAPI
-StorPortPauseDevice(
- IN PVOID HwDeviceExtension,
- IN UCHAR PathId,
- IN UCHAR TargetId,
- IN UCHAR Lun,
- IN ULONG TimeOut);
-
-STORPORTAPI
-BOOLEAN
-DDKAPI
-StorPortResumeDevice(
- IN PVOID HwDeviceExtension,
- IN UCHAR PathId,
- IN UCHAR TargetId,
- IN UCHAR Lun);
-
-STORPORTAPI
-BOOLEAN
-DDKAPI
-StorPortPause(
- IN PVOID HwDeviceExtension,
- IN ULONG TimeOut);
-
-STORPORTAPI
-BOOLEAN
-DDKAPI
-StorPortResume(
- IN PVOID HwDeviceExtension);
-
-STORPORTAPI
-BOOLEAN
-DDKAPI
-StorPortDeviceBusy(
- IN PVOID HwDeviceExtension,
- IN UCHAR PathId,
- IN UCHAR TargetId,
- IN UCHAR Lun,
- IN ULONG RequestsToComplete);
-
-STORPORTAPI
-BOOLEAN
-DDKAPI
-StorPortDeviceReady(
- IN PVOID HwDeviceExtension,
- IN UCHAR PathId,
- IN UCHAR TargetId,
- IN UCHAR Lun);
-
-STORPORTAPI
-BOOLEAN
-DDKAPI
-StorPortBusy(
- IN PVOID HwDeviceExtension,
- IN ULONG RequestsToComplete);
-
-STORPORTAPI
-BOOLEAN
-DDKAPI
-StorPortReady(
- IN PVOID HwDeviceExtension);
-
-STORPORTAPI
-PSTOR_SCATTER_GATHER_LIST
-DDKAPI
-StorPortGetScatterGatherList(
- IN PVOID DeviceExtension,
- IN PSCSI_REQUEST_BLOCK Srb);
-
-typedef BOOLEAN DDKAPI
-(*PSTOR_SYNCHRONIZED_ACCESS)(
- IN PVOID HwDeviceExtension,
- IN PVOID Context);
-
-STORPORTAPI
-VOID
-DDKAPI
-StorPortSynchronizeAccess(
- IN PVOID HwDeviceExtension,
- IN PSTOR_SYNCHRONIZED_ACCESS SynchronizedAccessRoutine,
- IN PVOID Context);
-
-#ifdef DBG
-#define DebugPrint(x) StorPortDebugPrint x
-#else
-#define DebugPrint(x)
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __STORPORT_H */
diff --git a/winsup/w32api/include/ddk/tdi.h b/winsup/w32api/include/ddk/tdi.h
deleted file mode 100644
index 0a48b41a2..000000000
--- a/winsup/w32api/include/ddk/tdi.h
+++ /dev/null
@@ -1,593 +0,0 @@
-/*
- * tdi.h
- *
- * TDI user mode definitions
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- * Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __TDI_H
-#define __TDI_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-#include "ntddtdi.h"
-#include "tdistat.h"
-#include "netpnp.h"
-
-/* Basic types */
-
-typedef LONG TDI_STATUS;
-typedef PVOID CONNECTION_CONTEXT;
-
-typedef struct _TDI_CONNECTION_INFORMATION {
- LONG UserDataLength;
- PVOID UserData;
- LONG OptionsLength;
- PVOID Options;
- LONG RemoteAddressLength;
- PVOID RemoteAddress;
-} TDI_CONNECTION_INFORMATION, *PTDI_CONNECTION_INFORMATION;
-
-typedef struct _TDI_REQUEST {
- union {
- HANDLE AddressHandle;
- CONNECTION_CONTEXT ConnectionContext;
- HANDLE ControlChannel;
- } Handle;
- PVOID RequestNotifyObject;
- PVOID RequestContext;
- TDI_STATUS TdiStatus;
-} TDI_REQUEST, *PTDI_REQUEST;
-
-typedef struct _TDI_REQUEST_STATUS {
- TDI_STATUS Status;
- PVOID RequestContext;
- ULONG BytesTransferred;
-} TDI_REQUEST_STATUS, *PTDI_REQUEST_STATUS;
-
-typedef struct _TDI_CONNECT_REQUEST {
- TDI_REQUEST Request;
- PTDI_CONNECTION_INFORMATION RequestConnectionInformation;
- PTDI_CONNECTION_INFORMATION ReturnConnectionInformation;
- LARGE_INTEGER Timeout;
-} TDI_REQUEST_CONNECT, *PTDI_REQUEST_CONNECT;
-
-typedef struct _TDI_REQUEST_ACCEPT {
- TDI_REQUEST Request;
- PTDI_CONNECTION_INFORMATION RequestConnectionInformation;
- PTDI_CONNECTION_INFORMATION ReturnConnectionInformation;
-} TDI_REQUEST_ACCEPT, *PTDI_REQUEST_ACCEPT;
-
-typedef struct _TDI_REQUEST_LISTEN {
- TDI_REQUEST Request;
- PTDI_CONNECTION_INFORMATION RequestConnectionInformation;
- PTDI_CONNECTION_INFORMATION ReturnConnectionInformation;
- USHORT ListenFlags;
-} TDI_REQUEST_LISTEN, *PTDI_REQUEST_LISTEN;
-
-typedef struct _TDI_DISCONNECT_REQUEST {
- TDI_REQUEST Request;
- LARGE_INTEGER Timeout;
-} TDI_REQUEST_DISCONNECT, *PTDI_REQUEST_DISCONNECT;
-
-typedef struct _TDI_REQUEST_SEND {
- TDI_REQUEST Request;
- USHORT SendFlags;
-} TDI_REQUEST_SEND, *PTDI_REQUEST_SEND;
-
-typedef struct _TDI_REQUEST_RECEIVE {
- TDI_REQUEST Request;
- USHORT ReceiveFlags;
-} TDI_REQUEST_RECEIVE, *PTDI_REQUEST_RECEIVE;
-
-typedef struct _TDI_REQUEST_SEND_DATAGRAM {
- TDI_REQUEST Request;
- PTDI_CONNECTION_INFORMATION SendDatagramInformation;
-} TDI_REQUEST_SEND_DATAGRAM, *PTDI_REQUEST_SEND_DATAGRAM;
-
-typedef struct _TDI_REQUEST_RECEIVE_DATAGRAM {
- TDI_REQUEST Request;
- PTDI_CONNECTION_INFORMATION ReceiveDatagramInformation;
- PTDI_CONNECTION_INFORMATION ReturnInformation;
- USHORT ReceiveFlags;
-} TDI_REQUEST_RECEIVE_DATAGRAM, *PTDI_REQUEST_RECEIVE_DATAGRAM;
-
-typedef struct _TDI_REQUEST_SET_EVENT {
- TDI_REQUEST Request;
- LONG EventType;
- PVOID EventHandler;
- PVOID EventContext;
-} TDI_REQUEST_SET_EVENT_HANDLER, *PTDI_REQUEST_SET_EVENT_HANDLER;
-
-#define TDI_RECEIVE_BROADCAST 0x00000004
-#define TDI_RECEIVE_MULTICAST 0x00000008
-#define TDI_RECEIVE_PARTIAL 0x00000010
-#define TDI_RECEIVE_NORMAL 0x00000020
-#define TDI_RECEIVE_EXPEDITED 0x00000040
-#define TDI_RECEIVE_PEEK 0x00000080
-#define TDI_RECEIVE_NO_RESPONSE_EXP 0x00000100
-#define TDI_RECEIVE_COPY_LOOKAHEAD 0x00000200
-#define TDI_RECEIVE_ENTIRE_MESSAGE 0x00000400
-#define TDI_RECEIVE_AT_DISPATCH_LEVEL 0x00000800
-#define TDI_RECEIVE_CONTROL_INFO 0x00001000
-
-/* Listen flags */
-#define TDI_QUERY_ACCEPT 0x00000001
-
-/* Options used for both SendOptions and ReceiveIndicators */
-#define TDI_SEND_EXPEDITED 0x0020
-#define TDI_SEND_PARTIAL 0x0040
-#define TDI_SEND_NO_RESPONSE_EXPECTED 0x0080
-#define TDI_SEND_NON_BLOCKING 0x0100
-#define TDI_SEND_AND_DISCONNECT 0x0200
-
-/* Disconnect Flags */
-#define TDI_DISCONNECT_WAIT 0x0001
-#define TDI_DISCONNECT_ABORT 0x0002
-#define TDI_DISCONNECT_RELEASE 0x0004
-
-/* TdiRequest structure for TdiQueryInformation request */
-typedef struct _TDI_REQUEST_QUERY_INFORMATION {
- TDI_REQUEST Request;
- ULONG QueryType;
- PTDI_CONNECTION_INFORMATION RequestConnectionInformation;
-} TDI_REQUEST_QUERY_INFORMATION, *PTDI_REQUEST_QUERY_INFORMATION;
-
-/* TdiRequest structure for TdiSetInformation request */
-typedef struct _TDI_REQUEST_SET_INFORMATION {
- TDI_REQUEST Request;
- ULONG SetType;
- PTDI_CONNECTION_INFORMATION RequestConnectionInformation;
-} TDI_REQUEST_SET_INFORMATION, *PTDI_REQUEST_SET_INFORMATION;
-
-typedef TDI_REQUEST_SET_INFORMATION TDI_REQ_SET_INFORMATION, *PTDI_REQ_SET_INFORMATION;
-
-typedef union _TDI_REQUEST_TYPE {
- TDI_REQUEST_ACCEPT TdiAccept;
- TDI_REQUEST_CONNECT TdiConnect;
- TDI_REQUEST_DISCONNECT TdiDisconnect;
- TDI_REQUEST_LISTEN TdiListen;
- TDI_REQUEST_QUERY_INFORMATION TdiQueryInformation;
- TDI_REQUEST_RECEIVE TdiReceive;
- TDI_REQUEST_RECEIVE_DATAGRAM TdiReceiveDatagram;
- TDI_REQUEST_SEND TdiSend;
- TDI_REQUEST_SEND_DATAGRAM TdiSendDatagram;
- TDI_REQUEST_SET_EVENT_HANDLER TdiSetEventHandler;
- TDI_REQUEST_SET_INFORMATION TdiSetInformation;
-} TDI_REQUEST_TYPE, *PTDI_REQUEST_TYPE;
-
-/* Query information types */
-
-/* Generic query info types that must be supported by all transports */
-#define TDI_QUERY_BROADCAST_ADDRESS 0x00000001
-#define TDI_QUERY_PROVIDER_INFO 0x00000002
-#define TDI_QUERY_ADDRESS_INFO 0x00000003
-#define TDI_QUERY_CONNECTION_INFO 0x00000004
-#define TDI_QUERY_PROVIDER_STATISTICS 0x00000005
-#define TDI_QUERY_DATAGRAM_INFO 0x00000006
-#define TDI_QUERY_DATA_LINK_ADDRESS 0x00000007
-#define TDI_QUERY_NETWORK_ADDRESS 0x00000008
-#define TDI_QUERY_MAX_DATAGRAM_INFO 0x00000009
-
-/* Netbios specific query information types */
-#define TDI_QUERY_ADAPTER_STATUS 0x00000100
-#define TDI_QUERY_SESSION_STATUS 0x00000200
-#define TDI_QUERY_FIND_NAME 0x00000300
-
-/* Structures used for TdiQueryInformation and TdiSetInformation */
-
-typedef struct _TDI_ENDPOINT_INFO {
- ULONG State;
- ULONG Event;
- ULONG TransmittedTsdus;
- ULONG ReceivedTsdus;
- ULONG TransmissionErrors;
- ULONG ReceiveErrors;
- ULONG MinimumLookaheadData;
- ULONG MaximumLookaheadData;
- ULONG PriorityLevel;
- ULONG SecurityLevel;
- ULONG SecurityCompartment;
-} TDI_ENDPOINT_INFO, *PTDI_ENDPOINT_INFO;
-
-typedef struct _TDI_CONNECTION_INFO {
- ULONG State;
- ULONG Event;
- ULONG TransmittedTsdus;
- ULONG ReceivedTsdus;
- ULONG TransmissionErrors;
- ULONG ReceiveErrors;
- LARGE_INTEGER Throughput;
- LARGE_INTEGER Delay;
- ULONG SendBufferSize;
- ULONG ReceiveBufferSize;
- BOOLEAN Unreliable;
-} TDI_CONNECTION_INFO, *PTDI_CONNECTION_INFO;
-
-typedef struct _TDI_DATAGRAM_INFO {
- ULONG MaximumDatagramBytes;
- ULONG MaximumDatagramCount;
-} TDI_DATAGRAM_INFO, *PTDI_DATAGRAM_INFO;
-
-typedef struct _TDI_MAX_DATAGRAM_INFO {
- ULONG MaxDatagramSize;
-} TDI_MAX_DATAGRAM_INFO, *PTDI_MAX_DATAGRAM_INFO;
-
-typedef struct _TDI_PROVIDER_INFO {
- ULONG Version;
- ULONG MaxSendSize;
- ULONG MaxConnectionUserData;
- ULONG MaxDatagramSize;
- ULONG ServiceFlags;
- ULONG MinimumLookaheadData;
- ULONG MaximumLookaheadData;
- ULONG NumberOfResources;
- LARGE_INTEGER StartTime;
-} TDI_PROVIDER_INFO, *PTDI_PROVIDER_INFO;
-
-#define TDI_SERVICE_CONNECTION_MODE 0x00000001
-#define TDI_SERVICE_ORDERLY_RELEASE 0x00000002
-#define TDI_SERVICE_CONNECTIONLESS_MODE 0x00000004
-#define TDI_SERVICE_ERROR_FREE_DELIVERY 0x00000008
-#define TDI_SERVICE_SECURITY_LEVEL 0x00000010
-#define TDI_SERVICE_BROADCAST_SUPPORTED 0x00000020
-#define TDI_SERVICE_MULTICAST_SUPPORTED 0x00000040
-#define TDI_SERVICE_DELAYED_ACCEPTANCE 0x00000080
-#define TDI_SERVICE_EXPEDITED_DATA 0x00000100
-#define TDI_SERVICE_INTERNAL_BUFFERING 0x00000200
-#define TDI_SERVICE_ROUTE_DIRECTED 0x00000400
-#define TDI_SERVICE_NO_ZERO_LENGTH 0x00000800
-#define TDI_SERVICE_POINT_TO_POINT 0x00001000
-#define TDI_SERVICE_MESSAGE_MODE 0x00002000
-#define TDI_SERVICE_HALF_DUPLEX 0x00004000
-#define TDI_SERVICE_DGRAM_CONNECTION 0x00008000
-#define TDI_SERVICE_FORCE_ACCESS_CHECK 0x00010000
-#define TDI_SERVICE_SEND_AND_DISCONNECT 0x00020000
-#define TDI_SERVICE_DIRECT_ACCEPT 0x00040000
-#define TDI_SERVICE_ACCEPT_LOCAL_ADDR 0x00080000
-
-typedef struct _TDI_PROVIDER_RESOURCE_STATS {
- ULONG ResourceId;
- ULONG MaximumResourceUsed;
- ULONG AverageResourceUsed;
- ULONG ResourceExhausted;
-} TDI_PROVIDER_RESOURCE_STATS, *PTDI_PROVIDER_RESOURCE_STATS;
-
-typedef struct _TDI_PROVIDER_STATISTICS {
- ULONG Version;
- ULONG OpenConnections;
- ULONG ConnectionsAfterNoRetry;
- ULONG ConnectionsAfterRetry;
- ULONG LocalDisconnects;
- ULONG RemoteDisconnects;
- ULONG LinkFailures;
- ULONG AdapterFailures;
- ULONG SessionTimeouts;
- ULONG CancelledConnections;
- ULONG RemoteResourceFailures;
- ULONG LocalResourceFailures;
- ULONG NotFoundFailures;
- ULONG NoListenFailures;
- ULONG DatagramsSent;
- LARGE_INTEGER DatagramBytesSent;
- ULONG DatagramsReceived;
- LARGE_INTEGER DatagramBytesReceived;
- ULONG PacketsSent;
- ULONG PacketsReceived;
- ULONG DataFramesSent;
- LARGE_INTEGER DataFrameBytesSent;
- ULONG DataFramesReceived;
- LARGE_INTEGER DataFrameBytesReceived;
- ULONG DataFramesResent;
- LARGE_INTEGER DataFrameBytesResent;
- ULONG DataFramesRejected;
- LARGE_INTEGER DataFrameBytesRejected;
- ULONG ResponseTimerExpirations;
- ULONG AckTimerExpirations;
- ULONG MaximumSendWindow;
- ULONG AverageSendWindow;
- ULONG PiggybackAckQueued;
- ULONG PiggybackAckTimeouts;
- LARGE_INTEGER WastedPacketSpace;
- ULONG WastedSpacePackets;
- ULONG NumberOfResources;
- TDI_PROVIDER_RESOURCE_STATS ResourceStats[1];
-} TDI_PROVIDER_STATISTICS, *PTDI_PROVIDER_STATISTICS;
-
-#define TDI_EVENT_CONNECT 0
-#define TDI_EVENT_DISCONNECT 1
-#define TDI_EVENT_ERROR 2
-#define TDI_EVENT_RECEIVE 3
-#define TDI_EVENT_RECEIVE_DATAGRAM 4
-#define TDI_EVENT_RECEIVE_EXPEDITED 5
-#define TDI_EVENT_SEND_POSSIBLE 6
-
-typedef struct _TDI_REQUEST_ASSOCIATE {
- TDI_REQUEST Request;
- HANDLE AddressHandle;
-} TDI_REQUEST_ASSOCIATE_ADDRESS, *PTDI_REQUEST_ASSOCIATE_ADDRESS;
-
-#define NDIS_PACKET_POOL_TAG_FOR_NWLNKIPX 'iPDN'
-#define NDIS_PACKET_POOL_TAG_FOR_NWLNKSPX 'sPDN'
-#define NDIS_PACKET_POOL_TAG_FOR_NWLNKNB 'nPDN'
-#define NDIS_PACKET_POOL_TAG_FOR_TCPIP 'tPDN'
-#define NDIS_PACKET_POOL_TAG_FOR_NBF 'bPDN'
-#define NDIS_PACKET_POOL_TAG_FOR_APPLETALK 'aPDN'
-
-typedef struct _TA_ADDRESS {
- USHORT AddressLength;
- USHORT AddressType;
- UCHAR Address[1];
-} TA_ADDRESS, *PTA_ADDRESS;
-
-#define TDI_ADDRESS_TYPE_UNSPEC 0
-#define TDI_ADDRESS_TYPE_UNIX 1
-#define TDI_ADDRESS_TYPE_IP 2
-#define TDI_ADDRESS_TYPE_IMPLINK 3
-#define TDI_ADDRESS_TYPE_PUP 4
-#define TDI_ADDRESS_TYPE_CHAOS 5
-#define TDI_ADDRESS_TYPE_NS 6
-#define TDI_ADDRESS_TYPE_IPX 6
-#define TDI_ADDRESS_TYPE_NBS 7
-#define TDI_ADDRESS_TYPE_ECMA 8
-#define TDI_ADDRESS_TYPE_DATAKIT 9
-#define TDI_ADDRESS_TYPE_CCITT 10
-#define TDI_ADDRESS_TYPE_SNA 11
-#define TDI_ADDRESS_TYPE_DECnet 12
-#define TDI_ADDRESS_TYPE_DLI 13
-#define TDI_ADDRESS_TYPE_LAT 14
-#define TDI_ADDRESS_TYPE_HYLINK 15
-#define TDI_ADDRESS_TYPE_APPLETALK 16
-#define TDI_ADDRESS_TYPE_NETBIOS 17
-#define TDI_ADDRESS_TYPE_8022 18
-#define TDI_ADDRESS_TYPE_OSI_TSAP 19
-#define TDI_ADDRESS_TYPE_NETONE 20
-#define TDI_ADDRESS_TYPE_VNS 21
-#define TDI_ADDRESS_TYPE_NETBIOS_EX 22
-#define TDI_ADDRESS_TYPE_IP6 23
-#define TDI_ADDRESS_TYPE_NETBIOS_UNICODE_EX 24
-
-#define TdiTransportAddress "TransportAddress"
-#define TdiConnectionContext "ConnectionContext"
-#define TDI_TRANSPORT_ADDRESS_LENGTH (sizeof(TdiTransportAddress) - 1)
-#define TDI_CONNECTION_CONTEXT_LENGTH (sizeof(TdiConnectionContext) - 1)
-
-typedef struct _TRANSPORT_ADDRESS {
- LONG TAAddressCount;
- TA_ADDRESS Address[1];
-} TRANSPORT_ADDRESS, *PTRANSPORT_ADDRESS;
-
-typedef struct _TDI_ACTION_HEADER {
- ULONG TransportId;
- USHORT ActionCode;
- USHORT Reserved;
-} TDI_ACTION_HEADER, *PTDI_ACTION_HEADER;
-
-typedef struct _TDI_ADDRESS_INFO {
- ULONG ActivityCount;
- TRANSPORT_ADDRESS Address;
-} TDI_ADDRESS_INFO, *PTDI_ADDRESS_INFO;
-
-#include "pshpack1.h"
-
-typedef struct _TDI_ADDRESS_8022 {
- UCHAR MACAddress[6];
-} TDI_ADDRESS_8022, *PTDI_ADDRESS_8022;
-
-#define TDI_ADDRESS_LENGTH_8022 sizeof(TDI_ADDRESS_8022);
-
-typedef struct _TDI_ADDRESS_APPLETALK {
- USHORT Network;
- UCHAR Node;
- UCHAR Socket;
-} TDI_ADDRESS_APPLETALK, *PTDI_ADDRESS_APPLETALK;
-
-#define TDI_ADDRESS_LENGTH_APPLETALK sizeof(TDI_ADDRESS_APPLETALK)
-
-typedef struct _TDI_ADDRESS_IP {
- USHORT sin_port;
- ULONG in_addr;
- UCHAR sin_zero[8];
-} TDI_ADDRESS_IP, *PTDI_ADDRESS_IP;
-
-#define TDI_ADDRESS_LENGTH_IP sizeof(TDI_ADDRESS_IP)
-
-typedef struct _TDI_ADDRESS_IPX {
- ULONG NetworkAddress;
- UCHAR NodeAddress[6];
- USHORT Socket;
-} TDI_ADDRESS_IPX, *PTDI_ADDRESS_IPX;
-
-#define TDI_ADDRESS_LENGTH_IPX sizeof(TDI_ADDRESS_IPX)
-
-/* TDI_ADDRESS_NETBIOS.NetbiosNameType constants */
-#define TDI_ADDRESS_NETBIOS_TYPE_UNIQUE 0x0000
-#define TDI_ADDRESS_NETBIOS_TYPE_GROUP 0x0001
-#define TDI_ADDRESS_NETBIOS_TYPE_QUICK_UNIQUE 0x0002
-#define TDI_ADDRESS_NETBIOS_TYPE_QUICK_GROUP 0x0003
-
-typedef struct _TDI_ADDRESS_NETBIOS {
- USHORT NetbiosNameType;
- UCHAR NetbiosName[16];
-} TDI_ADDRESS_NETBIOS, *PTDI_ADDRESS_NETBIOS;
-
-#define TDI_ADDRESS_LENGTH_NETBIOS sizeof(TDI_ADDRESS_NETBIOS)
-
-typedef struct _TDI_ADDRESS_NETBIOS_EX {
- UCHAR EndpointName[16];
- TDI_ADDRESS_NETBIOS NetbiosAddress;
-} TDI_ADDRESS_NETBIOS_EX, *PTDI_ADDRESS_NETBIOS_EX;
-
-#define TDI_ADDRESS_LENGTH_NETBIOS_EX sizeof(TDI_ADDRESS_NETBIOS_EX)
-
-/* TDI_ADDRESS_NETONE.NetoneNameType constants */
-#define TDI_ADDRESS_NETONE_TYPE_UNIQUE 0x0000
-#define TDI_ADDRESS_NETONE_TYPE_ROTORED 0x0001
-
-typedef struct _TDI_ADDRESS_NETONE {
- USHORT NetoneNameType;
- UCHAR NetoneName[20];
-} TDI_ADDRESS_NETONE, *PTDI_ADDRESS_NETONE;
-
-#define TDI_ADDRESS_LENGTH_NETONE sizeof(TDI_ADDRESS_NETONE)
-
-typedef struct _TDI_ADDRESS_NS
-{
- ULONG NetworkAddress;
- UCHAR NodeAddress[6];
- USHORT Socket;
-} TDI_ADDRESS_NS, *PTDI_ADDRESS_NS;
-
-#define TDI_ADDRESS_LENGTH_NS sizeof(TDI_ADDRESS_NS)
-
-#define ISO_MAX_ADDR_LENGTH 64
-
-/* TDI_ADDRESS_OSI_TSAP.tp_addr_type constants */
-#define ISO_HIERARCHICAL 0
-#define ISO_NON_HIERARCHICAL 1
-
-typedef struct _TDI_ADDRESS_OSI_TSAP {
- USHORT tp_addr_type;
- USHORT tp_taddr_len;
- USHORT tp_tsel_len;
- UCHAR tp_addr[ISO_MAX_ADDR_LENGTH];
-} TDI_ADDRESS_OSI_TSAP, *PTDI_ADDRESS_OSI_TSAP;
-
-#define TDI_ADDRESS_LENGTH_OSI_TSAP sizeof(TDI_ADDRESS_OSI_TSAP)
-
-typedef struct _TDI_ADDRESS_VNS {
- UCHAR net_address[4];
- UCHAR subnet_addr[2];
- UCHAR port[2];
- UCHAR hops;
- UCHAR filler[5];
-} TDI_ADDRESS_VNS, *PTDI_ADDRESS_VNS;
-
-#define TDI_ADDRESS_LENGTH_VNS sizeof(TDI_ADDRESS_VNS)
-
-typedef struct _TDI_ADDRESS_IP6 {
- USHORT sin6_port;
- ULONG sin6_flowinfo;
- USHORT sin6_addr[8];
- ULONG sin6_scope_id;
-} TDI_ADDRESS_IP6, *PTDI_ADDRESS_IP6;
-
-#define TDI_ADDRESS_LENGTH_IP6 sizeof(TDI_ADDRESS_IP6)
-
-enum eNameBufferType {
- NBT_READONLY = 0,
- NBT_WRITEONLY,
- NBT_READWRITE,
- NBT_WRITTEN
-};
-
-typedef struct _TDI_ADDRESS_NETBIOS_UNICODE_EX {
- USHORT NetbiosNameType;
- enum eNameBufferType NameBufferType;
- UNICODE_STRING EndpointName;
- UNICODE_STRING RemoteName;
- WCHAR EndpointBuffer[17];
- WCHAR RemoteNameBuffer[1];
-} TDI_ADDRESS_NETBIOS_UNICODE_EX, *PTDI_ADDRESS_NETBIOS_UNICODE_EX;
-
-typedef struct _TA_APPLETALK_ADDR {
- LONG TAAddressCount;
- struct _AddrAtalk {
- USHORT AddressLength;
- USHORT AddressType;
- TDI_ADDRESS_APPLETALK Address[1];
- } Address[1];
-} TA_APPLETALK_ADDRESS, *PTA_APPLETALK_ADDRESS;
-
-typedef struct _TA_ADDRESS_IP {
- LONG TAAddressCount;
- struct _AddrIp {
- USHORT AddressLength;
- USHORT AddressType;
- TDI_ADDRESS_IP Address[1];
- } Address[1];
-} TA_IP_ADDRESS, *PTA_IP_ADDRESS;
-
-typedef struct _TA_ADDRESS_IPX {
- LONG TAAddressCount;
- struct _AddrIpx {
- USHORT AddressLength;
- USHORT AddressType;
- TDI_ADDRESS_IPX Address[1];
- } Address[1];
-} TA_IPX_ADDRESS, *PTA_IPX_ADDRESS;
-
-typedef struct _TA_NETBIOS_ADDRESS {
- LONG TAAddressCount;
- struct _Addr{
- USHORT AddressLength;
- USHORT AddressType;
- TDI_ADDRESS_NETBIOS Address[1];
- } Address[1];
-} TA_NETBIOS_ADDRESS, *PTA_NETBIOS_ADDRESS;
-
-typedef struct _TA_ADDRESS_NS {
- LONG TAAddressCount;
- struct _AddrNs {
- USHORT AddressLength;
- USHORT AddressType;
- TDI_ADDRESS_NS Address[1];
- } Address[1];
-} TA_NS_ADDRESS, *PTA_NS_ADDRESS;
-
-typedef struct _TA_ADDRESS_VNS {
- LONG TAAddressCount;
- struct _AddrVns {
- USHORT AddressLength;
- USHORT AddressType;
- TDI_ADDRESS_VNS Address[1];
- } Address[1];
-} TA_VNS_ADDRESS, *PTA_VNS_ADDRESS;
-
-typedef struct _TA_ADDRESS_IP6 {
- LONG TAAddressCount;
- struct _AddrIp6 {
- USHORT AddressLength;
- USHORT AddressType;
- TDI_ADDRESS_IP6 Address[1];
- } Address [1];
-} TA_IP6_ADDRESS, *PTA_IP6_ADDRESS;
-
-typedef struct _TA_ADDRESS_NETBIOS_UNICODE_EX {
- LONG TAAddressCount;
- struct _AddrNetbiosWCharEx {
- USHORT AddressLength;
- USHORT AddressType;
- TDI_ADDRESS_NETBIOS_UNICODE_EX Address[1];
- } Address [1];
-} TA_NETBIOS_UNICODE_EX_ADDRESS, *PTA_NETBIOS_UNICODE_EX_ADDRESS;
-
-#include "poppack.h"
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __TDI_H */
diff --git a/winsup/w32api/include/ddk/tdiinfo.h b/winsup/w32api/include/ddk/tdiinfo.h
deleted file mode 100644
index ba7e1e787..000000000
--- a/winsup/w32api/include/ddk/tdiinfo.h
+++ /dev/null
@@ -1,110 +0,0 @@
-/*
- * tdiinfo.h
- *
- * TDI set and query information interface
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- * Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __TDIINFO_H
-#define __TDIINFO_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-
-typedef struct TDIEntityID {
- ULONG tei_entity;
- ULONG tei_instance;
-} TDIEntityID;
-
-#define MAX_TDI_ENTITIES 4096
-#define INVALID_ENTITY_INSTANCE -1
-#define GENERIC_ENTITY 0
-#define ENTITY_LIST_ID 0
-#define ENTITY_TYPE_ID 1
-
-#define AT_ENTITY 0x280
-#define CL_NL_ENTITY 0x301
-#define CL_TL_ENTITY 0x401
-#define CO_NL_ENTITY 0x300
-#define CO_TL_ENTITY 0x400
-#define ER_ENTITY 0x380
-#define IF_ENTITY 0x200
-
-#define AT_ARP 0x280
-#define AT_NULL 0x282
-#define CL_TL_NBF 0x401
-#define CL_TL_UDP 0x403
-#define CL_NL_IPX 0x301
-#define CL_NL_IP 0x303
-#define CO_TL_NBF 0x400
-#define CO_TL_SPX 0x402
-#define CO_TL_TCP 0x404
-#define CO_TL_SPP 0x406
-#define ER_ICMP 0x380
-#define IF_GENERIC 0x200
-#define IF_MIB 0x202
-
-/* TDIObjectID.toi_class constants */
-#define INFO_CLASS_GENERIC 0x100
-#define INFO_CLASS_PROTOCOL 0x200
-#define INFO_CLASS_IMPLEMENTATION 0x300
-
-/* TDIObjectID.toi_type constants */
-#define INFO_TYPE_PROVIDER 0x100
-#define INFO_TYPE_ADDRESS_OBJECT 0x200
-#define INFO_TYPE_CONNECTION 0x300
-
-typedef struct _TDIObjectID {
- TDIEntityID toi_entity;
- ULONG toi_class;
- ULONG toi_type;
- ULONG toi_id;
-} TDIObjectID;
-
-#define CONTEXT_SIZE 16
-
-typedef struct _TCP_REQUEST_QUERY_INFORMATION_EX {
- TDIObjectID ID;
- ULONG_PTR Context[CONTEXT_SIZE / sizeof(ULONG_PTR)];
-} TCP_REQUEST_QUERY_INFORMATION_EX, *PTCP_REQUEST_QUERY_INFORMATION_EX;
-
-#if defined(_WIN64)
-typedef struct _TCP_REQUEST_QUERY_INFORMATION_EX32 {
- TDIObjectID ID;
- ULONG32 Context[CONTEXT_SIZE / sizeof(ULONG32)];
-} TCP_REQUEST_QUERY_INFORMATION_EX32, *PTCP_REQUEST_QUERY_INFORMATION_EX32;
-#endif /* _WIN64 */
-
-typedef struct _TCP_REQUEST_SET_INFORMATION_EX {
- TDIObjectID ID;
- UINT BufferSize;
- UCHAR Buffer[1];
-} TCP_REQUEST_SET_INFORMATION_EX, *PTCP_REQUEST_SET_INFORMATION_EX;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __TDIINFO_H */
diff --git a/winsup/w32api/include/ddk/tdikrnl.h b/winsup/w32api/include/ddk/tdikrnl.h
deleted file mode 100644
index a019e7d23..000000000
--- a/winsup/w32api/include/ddk/tdikrnl.h
+++ /dev/null
@@ -1,1162 +0,0 @@
-/*
- * tdikrnl.h
- *
- * TDI kernel mode definitions
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- * Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __TDIKRNL_H
-#define __TDIKRNL_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-#include "tdi.h"
-
-#if defined(_TDI_)
- #define TDIKRNLAPI DECLSPEC_EXPORT
-#else
- #define TDIKRNLAPI DECLSPEC_IMPORT
-#endif
-
-
-typedef struct _TDI_REQUEST_KERNEL {
- ULONG RequestFlags;
- PTDI_CONNECTION_INFORMATION RequestConnectionInformation;
- PTDI_CONNECTION_INFORMATION ReturnConnectionInformation;
- PVOID RequestSpecific;
-} TDI_REQUEST_KERNEL, *PTDI_REQUEST_KERNEL;
-
-/* Request codes */
-#define TDI_ASSOCIATE_ADDRESS 0x01
-#define TDI_DISASSOCIATE_ADDRESS 0x02
-#define TDI_CONNECT 0x03
-#define TDI_LISTEN 0x04
-#define TDI_ACCEPT 0x05
-#define TDI_DISCONNECT 0x06
-#define TDI_SEND 0x07
-#define TDI_RECEIVE 0x08
-#define TDI_SEND_DATAGRAM 0x09
-#define TDI_RECEIVE_DATAGRAM 0x0A
-#define TDI_SET_EVENT_HANDLER 0x0B
-#define TDI_QUERY_INFORMATION 0x0C
-#define TDI_SET_INFORMATION 0x0D
-#define TDI_ACTION 0x0E
-
-#define TDI_DIRECT_SEND 0x27
-#define TDI_DIRECT_SEND_DATAGRAM 0x29
-
-#define TDI_TRANSPORT_ADDRESS_FILE 1
-#define TDI_CONNECTION_FILE 2
-#define TDI_CONTROL_CHANNEL_FILE 3
-
-/* Internal TDI IOCTLS */
-#define IOCTL_TDI_QUERY_DIRECT_SEND_HANDLER _TDI_CONTROL_CODE(0x80, METHOD_NEITHER)
-#define IOCTL_TDI_QUERY_DIRECT_SENDDG_HANDLER _TDI_CONTROL_CODE(0x81, METHOD_NEITHER)
-
-/* TdiAssociateAddress */
-typedef struct _TDI_REQUEST_KERNEL_ASSOCIATE {
- HANDLE AddressHandle;
-} TDI_REQUEST_KERNEL_ASSOCIATE, *PTDI_REQUEST_KERNEL_ASSOCIATE;
-
-/* TdiDisassociateAddress */
-typedef TDI_REQUEST_KERNEL TDI_REQUEST_KERNEL_DISASSOCIATE,
- *PTDI_REQUEST_KERNEL_DISASSOCIATE;
-
-/* TdiAccept */
-typedef struct _TDI_REQUEST_KERNEL_ACCEPT {
- PTDI_CONNECTION_INFORMATION RequestConnectionInformation;
- PTDI_CONNECTION_INFORMATION ReturnConnectionInformation;
-} TDI_REQUEST_KERNEL_ACCEPT, *PTDI_REQUEST_KERNEL_ACCEPT;
-
-/* TdiConnect */
-typedef TDI_REQUEST_KERNEL TDI_REQUEST_KERNEL_CONNECT,
- *PTDI_REQUEST_KERNEL_CONNECT;
-
-/* TdiDisconnect */
-typedef TDI_REQUEST_KERNEL TDI_REQUEST_KERNEL_DISCONNECT,
- *PTDI_REQUEST_KERNEL_DISCONNECT;
-
-/* TdiListen */
-typedef TDI_REQUEST_KERNEL TDI_REQUEST_KERNEL_LISTEN,
- *PTDI_REQUEST_KERNEL_LISTEN;
-
-/* TdiReceive */
-typedef struct _TDI_REQUEST_KERNEL_RECEIVE {
- ULONG ReceiveLength;
- ULONG ReceiveFlags;
-} TDI_REQUEST_KERNEL_RECEIVE, *PTDI_REQUEST_KERNEL_RECEIVE;
-
-/* TdiReceiveDatagram */
-typedef struct _TDI_REQUEST_KERNEL_RECEIVEDG {
- ULONG ReceiveLength;
- PTDI_CONNECTION_INFORMATION ReceiveDatagramInformation;
- PTDI_CONNECTION_INFORMATION ReturnDatagramInformation;
- ULONG ReceiveFlags;
-} TDI_REQUEST_KERNEL_RECEIVEDG, *PTDI_REQUEST_KERNEL_RECEIVEDG;
-
-/* TdiSend */
-typedef struct _TDI_REQUEST_KERNEL_SEND {
- ULONG SendLength;
- ULONG SendFlags;
-} TDI_REQUEST_KERNEL_SEND, *PTDI_REQUEST_KERNEL_SEND;
-
-/* TdiSendDatagram */
-typedef struct _TDI_REQUEST_KERNEL_SENDDG {
- ULONG SendLength;
- PTDI_CONNECTION_INFORMATION SendDatagramInformation;
-} TDI_REQUEST_KERNEL_SENDDG, *PTDI_REQUEST_KERNEL_SENDDG;
-
-/* TdiSetEventHandler */
-typedef struct _TDI_REQUEST_KERNEL_SET_EVENT {
- LONG EventType;
- PVOID EventHandler;
- PVOID EventContext;
-} TDI_REQUEST_KERNEL_SET_EVENT, *PTDI_REQUEST_KERNEL_SET_EVENT;
-
-/* TdiQueryInformation */
-typedef struct _TDI_REQUEST_KERNEL_QUERY_INFO {
- LONG QueryType;
- PTDI_CONNECTION_INFORMATION RequestConnectionInformation;
-} TDI_REQUEST_KERNEL_QUERY_INFORMATION, *PTDI_REQUEST_KERNEL_QUERY_INFORMATION;
-
-/* TdiSetInformation */
-typedef struct _TDI_REQUEST_KERNEL_SET_INFO {
- LONG SetType;
- PTDI_CONNECTION_INFORMATION RequestConnectionInformation;
-} TDI_REQUEST_KERNEL_SET_INFORMATION, *PTDI_REQUEST_KERNEL_SET_INFORMATION;
-
-
-/* Event types */
-#define TDI_EVENT_CONNECT 0
-#define TDI_EVENT_DISCONNECT 1
-#define TDI_EVENT_ERROR 2
-#define TDI_EVENT_RECEIVE 3
-#define TDI_EVENT_RECEIVE_DATAGRAM 4
-#define TDI_EVENT_RECEIVE_EXPEDITED 5
-#define TDI_EVENT_SEND_POSSIBLE 6
-#define TDI_EVENT_CHAINED_RECEIVE 7
-#define TDI_EVENT_CHAINED_RECEIVE_DATAGRAM 8
-#define TDI_EVENT_CHAINED_RECEIVE_EXPEDITED 9
-#define TDI_EVENT_ERROR_EX 10
-
-typedef NTSTATUS DDKAPI
-(*PTDI_IND_CONNECT)(
- IN PVOID TdiEventContext,
- IN LONG RemoteAddressLength,
- IN PVOID RemoteAddress,
- IN LONG UserDataLength,
- IN PVOID UserData,
- IN LONG OptionsLength,
- IN PVOID Options,
- OUT CONNECTION_CONTEXT *ConnectionContext,
- OUT PIRP *AcceptIrp);
-
-TDIKRNLAPI
-NTSTATUS
-DDKAPI
-TdiDefaultConnectHandler(
- IN PVOID TdiEventContext,
- IN LONG RemoteAddressLength,
- IN PVOID RemoteAddress,
- IN LONG UserDataLength,
- IN PVOID UserData,
- IN LONG OptionsLength,
- IN PVOID Options,
- OUT CONNECTION_CONTEXT *ConnectionContext,
- OUT PIRP *AcceptIrp);
-
-typedef NTSTATUS DDKAPI
-(*PTDI_IND_DISCONNECT)(
- IN PVOID TdiEventContext,
- IN CONNECTION_CONTEXT ConnectionContext,
- IN LONG DisconnectDataLength,
- IN PVOID DisconnectData,
- IN LONG DisconnectInformationLength,
- IN PVOID DisconnectInformation,
- IN ULONG DisconnectFlags);
-
-TDIKRNLAPI
-NTSTATUS
-DDKAPI
-TdiDefaultDisconnectHandler(
- IN PVOID TdiEventContext,
- IN CONNECTION_CONTEXT ConnectionContext,
- IN LONG DisconnectDataLength,
- IN PVOID DisconnectData,
- IN LONG DisconnectInformationLength,
- IN PVOID DisconnectInformation,
- IN ULONG DisconnectFlags);
-
-typedef NTSTATUS DDKAPI
-(*PTDI_IND_ERROR)(
- IN PVOID TdiEventContext,
- IN NTSTATUS Status);
-
-typedef NTSTATUS DDKAPI
-(*PTDI_IND_ERROR_EX)(
- IN PVOID TdiEventContext,
- IN NTSTATUS Status,
- IN PVOID Buffer);
-
-TDIKRNLAPI
-NTSTATUS
-DDKAPI
-TdiDefaultErrorHandler(
- IN PVOID TdiEventContext,
- IN NTSTATUS Status);
-
-typedef NTSTATUS DDKAPI
-(*PTDI_IND_RECEIVE)(
- IN PVOID TdiEventContext,
- IN CONNECTION_CONTEXT ConnectionContext,
- IN ULONG ReceiveFlags,
- IN ULONG BytesIndicated,
- IN ULONG BytesAvailable,
- OUT ULONG *BytesTaken,
- IN PVOID Tsdu,
- OUT PIRP *IoRequestPacket);
-
-TDIKRNLAPI
-NTSTATUS
-DDKAPI
-TdiDefaultReceiveHandler(
- IN PVOID TdiEventContext,
- IN CONNECTION_CONTEXT ConnectionContext,
- IN ULONG ReceiveFlags,
- IN ULONG BytesIndicated,
- IN ULONG BytesAvailable,
- OUT ULONG *BytesTaken,
- IN PVOID Tsdu,
- OUT PIRP *IoRequestPacket);
-
-typedef NTSTATUS DDKAPI
-(*PTDI_IND_RECEIVE_DATAGRAM)(
- IN PVOID TdiEventContext,
- IN LONG SourceAddressLength,
- IN PVOID SourceAddress,
- IN LONG OptionsLength,
- IN PVOID Options,
- IN ULONG ReceiveDatagramFlags,
- IN ULONG BytesIndicated,
- IN ULONG BytesAvailable,
- OUT ULONG *BytesTaken,
- IN PVOID Tsdu,
- OUT PIRP *IoRequestPacket);
-
-TDIKRNLAPI
-NTSTATUS DDKAPI
-TdiDefaultRcvDatagramHandler(
- IN PVOID TdiEventContext,
- IN LONG SourceAddressLength,
- IN PVOID SourceAddress,
- IN LONG OptionsLength,
- IN PVOID Options,
- IN ULONG ReceiveDatagramFlags,
- IN ULONG BytesIndicated,
- IN ULONG BytesAvailable,
- OUT ULONG *BytesTaken,
- IN PVOID Tsdu,
- OUT PIRP *IoRequestPacket);
-
-typedef NTSTATUS DDKAPI
-(*PTDI_IND_RECEIVE_EXPEDITED)(
- IN PVOID TdiEventContext,
- IN CONNECTION_CONTEXT ConnectionContext,
- IN ULONG ReceiveFlags,
- IN ULONG BytesIndicated,
- IN ULONG BytesAvailable,
- OUT ULONG *BytesTaken,
- IN PVOID Tsdu,
- OUT PIRP *IoRequestPacket);
-
-TDIKRNLAPI
-NTSTATUS
-DDKAPI
-TdiDefaultRcvExpeditedHandler(
- IN PVOID TdiEventContext,
- IN CONNECTION_CONTEXT ConnectionContext,
- IN ULONG ReceiveFlags,
- IN ULONG BytesIndicated,
- IN ULONG BytesAvailable,
- OUT ULONG *BytesTaken,
- IN PVOID Tsdu,
- OUT PIRP *IoRequestPacket);
-
-typedef NTSTATUS DDKAPI
-(*PTDI_IND_CHAINED_RECEIVE)(
- IN PVOID TdiEventContext,
- IN CONNECTION_CONTEXT ConnectionContext,
- IN ULONG ReceiveFlags,
- IN ULONG ReceiveLength,
- IN ULONG StartingOffset,
- IN PMDL Tsdu,
- IN PVOID TsduDescriptor);
-
-TDIKRNLAPI
-NTSTATUS
-DDKAPI
-TdiDefaultChainedReceiveHandler(
- IN PVOID TdiEventContext,
- IN CONNECTION_CONTEXT ConnectionContext,
- IN ULONG ReceiveFlags,
- IN ULONG ReceiveLength,
- IN ULONG StartingOffset,
- IN PMDL Tsdu,
- IN PVOID TsduDescriptor);
-
-typedef NTSTATUS DDKAPI
-(*PTDI_IND_CHAINED_RECEIVE_DATAGRAM)(
- IN PVOID TdiEventContext,
- IN LONG SourceAddressLength,
- IN PVOID SourceAddress,
- IN LONG OptionsLength,
- IN PVOID Options,
- IN ULONG ReceiveDatagramFlags,
- IN ULONG ReceiveDatagramLength,
- IN ULONG StartingOffset,
- IN PMDL Tsdu,
- IN PVOID TsduDescriptor);
-
-TDIKRNLAPI
-NTSTATUS
-DDKAPI
-TdiDefaultChainedRcvDatagramHandler(
- IN PVOID TdiEventContext,
- IN LONG SourceAddressLength,
- IN PVOID SourceAddress,
- IN LONG OptionsLength,
- IN PVOID Options,
- IN ULONG ReceiveDatagramFlags,
- IN ULONG ReceiveDatagramLength,
- IN ULONG StartingOffset,
- IN PMDL Tsdu,
- IN PVOID TsduDescriptor);
-
-typedef NTSTATUS DDKAPI
-(*PTDI_IND_CHAINED_RECEIVE_EXPEDITED)(
- IN PVOID TdiEventContext,
- IN CONNECTION_CONTEXT ConnectionContext,
- IN ULONG ReceiveFlags,
- IN ULONG ReceiveLength,
- IN ULONG StartingOffset,
- IN PMDL Tsdu,
- IN PVOID TsduDescriptor);
-
-TDIKRNLAPI
-NTSTATUS
-DDKAPI
-TdiDefaultChainedRcvExpeditedHandler(
- IN PVOID TdiEventContext,
- IN CONNECTION_CONTEXT ConnectionContext,
- IN ULONG ReceiveFlags,
- IN ULONG ReceiveLength,
- IN ULONG StartingOffset,
- IN PMDL Tsdu,
- IN PVOID TsduDescriptor);
-
-typedef NTSTATUS DDKAPI
-(*PTDI_IND_SEND_POSSIBLE)(
- IN PVOID TdiEventContext,
- IN PVOID ConnectionContext,
- IN ULONG BytesAvailable);
-
-TDIKRNLAPI
-NTSTATUS
-DDKAPI
-TdiDefaultSendPossibleHandler(
- IN PVOID TdiEventContext,
- IN PVOID ConnectionContext,
- IN ULONG BytesAvailable);
-
-
-
-/* Macros and functions to build IRPs */
-
-#define TdiBuildBaseIrp( \
- bIrp, bDevObj, bFileObj, bCompRoutine, bContxt, bIrpSp, bMinor) \
-{ \
- bIrpSp->MajorFunction = IRP_MJ_INTERNAL_DEVICE_CONTROL; \
- bIrpSp->MinorFunction = (bMinor); \
- bIrpSp->DeviceObject = (bDevObj); \
- bIrpSp->FileObject = (bFileObj); \
- if (bCompRoutine) \
- IoSetCompletionRoutine(bIrp, bCompRoutine, bContxt, TRUE, TRUE, TRUE) \
- else \
- IoSetCompletionRoutine(bIrp, NULL, NULL, FALSE, FALSE, FALSE); \
-}
-
-/*
- * VOID
- * TdiBuildAccept(
- * IN PIRP Irp,
- * IN PDEVICE_OBJECT DevObj,
- * IN PFILE_OBJECT FileObj,
- * IN PVOID CompRoutine,
- * IN PVOID Contxt,
- * IN PTDI_CONNECTION_INFORMATION RequestConnectionInfo,
- * OUT PTDI_CONNECTION_INFORMATION ReturnConnectionInfo);
- */
-#define TdiBuildAccept( \
- Irp, DevObj, FileObj, CompRoutine, Contxt, \
- RequestConnectionInfo, ReturnConnectionInfo) \
-{ \
- PTDI_REQUEST_KERNEL_ACCEPT _Request; \
- PIO_STACK_LOCATION _IrpSp; \
- \
- _IrpSp = IoGetNextIrpStackLocation(Irp); \
- \
- TdiBuildBaseIrp(Irp, DevObj, FileObj, CompRoutine, \
- Contxt, _IrpSp, TDI_ACCEPT); \
- \
- _Request = (PTDI_REQUEST_KERNEL_ACCEPT)&_IrpSp->Parameters; \
- _Request->RequestConnectionInformation = (RequestConnectionInfo); \
- _Request->ReturnConnectionInformation = (ReturnConnectionInfo); \
-}
-
-/*
- * VOID
- * TdiBuildAction(
- * IN PIRP Irp,
- * IN PDEVICE_OBJECT DevObj,
- * IN PFILE_OBJECT FileObj,
- * IN PVOID CompRoutine,
- * IN PVOID Contxt,
- * IN PMDL MdlAddr);
- */
-#define TdiBuildAction( \
- Irp, DevObj, FileObj, CompRoutine, Contxt, MdlAddr) \
-{ \
- PIO_STACK_LOCATION _IrpSp; \
- \
- _IrpSp = IoGetNextIrpStackLocation(Irp); \
- \
- TdiBuildBaseIrp(Irp, DevObj, FileObj, CompRoutine, \
- Contxt, _IrpSp, TDI_ACTION); \
- \
- (Irp)->MdlAddress = (MdlAddr); \
-}
-
-/*
- * VOID
- * TdiBuildAssociateAddress(
- * IN PIRP Irp,
- * IN PDEVICE_OBJECT DevObj,
- * IN PFILE_OBJECT FileObj,
- * IN PVOID CompRoutine,
- * IN PVOID Contxt,
- * IN HANDLE AddrHandle);
- */
-#define TdiBuildAssociateAddress( \
- Irp, DevObj, FileObj, CompRoutine, Contxt, AddrHandle) \
-{ \
- PTDI_REQUEST_KERNEL_ASSOCIATE _Request; \
- PIO_STACK_LOCATION _IrpSp; \
- \
- _IrpSp = IoGetNextIrpStackLocation(Irp); \
- \
- TdiBuildBaseIrp(Irp, DevObj, FileObj, CompRoutine, \
- Contxt, _IrpSp, TDI_ASSOCIATE_ADDRESS); \
- \
- _Request = (PTDI_REQUEST_KERNEL_ASSOCIATE)&_IrpSp->Parameters; \
- _Request->AddressHandle = (HANDLE)(AddrHandle); \
-}
-
-/*
- * VOID
- * TdiBuildConnect(
- * IN PIRP Irp,
- * IN PDEVICE_OBJECT DevObj,
- * IN PFILE_OBJECT FileObj,
- * IN PVOID CompRoutine,
- * IN PVOID Contxt,
- * IN PLARGE_INTEGER Time,
- * IN PTDI_CONNECTION_INFORMATION RequestConnectionInfo,
- * OUT PTDI_CONNECTION_INFORMATION ReturnConnectionInfo);
- */
-#define TdiBuildConnect( \
- Irp, DevObj, FileObj, CompRoutine, Contxt, \
- Time, RequestConnectionInfo, ReturnConnectionInfo) \
-{ \
- PTDI_REQUEST_KERNEL _Request; \
- PIO_STACK_LOCATION _IrpSp; \
- \
- _IrpSp = IoGetNextIrpStackLocation(Irp); \
- \
- TdiBuildBaseIrp(Irp, DevObj, FileObj, CompRoutine, \
- Contxt, _IrpSp, TDI_CONNECT); \
- \
- _Request = (PTDI_REQUEST_KERNEL)&_IrpSp->Parameters; \
- _Request->RequestConnectionInformation = (RequestConnectionInfo); \
- _Request->ReturnConnectionInformation = (ReturnConnectionInfo); \
- _Request->RequestSpecific = (PVOID)(Time); \
-}
-
-/*
- * VOID
- * TdiBuildDisassociateAddress(
- * IN PIRP Irp,
- * IN PDEVICE_OBJECT DevObj,
- * IN PFILE_OBJECT FileObj,
- * IN PVOID CompRoutine,
- * IN PVOID Contxt);
- */
-#define TdiBuildDisassociateAddress( \
- Irp, DevObj, FileObj, CompRoutine, Contxt) \
-{ \
- PIO_STACK_LOCATION _IrpSp; \
- \
- _IrpSp = IoGetNextIrpStackLocation(Irp); \
- \
- TdiBuildBaseIrp(Irp, DevObj, FileObj, CompRoutine, \
- Contxt, _IrpSp, TDI_DISASSOCIATE_ADDRESS); \
-}
-
-/*
- * VOID
- * TdiBuildDisconnect(
- * IN PIRP Irp,
- * IN PDEVICE_OBJECT DevObj,
- * IN PFILE_OBJECT FileObj,
- * IN PVOID CompRoutine,
- * IN PVOID Contxt,
- * IN PLARGE_INTEGER Time,
- * IN PULONG Flags,
- * IN PTDI_CONNECTION_INFORMATION RequestConnectionInfo,
- * OUT PTDI_CONNECTION_INFORMATION ReturnConnectionInfo);
- */
-#define TdiBuildDisconnect( \
- Irp, DevObj, FileObj, CompRoutine, Contxt, Time, \
- Flags, RequestConnectionInfo, ReturnConnectionInfo) \
-{ \
- PTDI_REQUEST_KERNEL _Request; \
- PIO_STACK_LOCATION _IrpSp; \
- \
- _IrpSp = IoGetNextIrpStackLocation(Irp); \
- \
- TdiBuildBaseIrp(Irp, DevObj, FileObj, CompRoutine, \
- Contxt, _IrpSp, TDI_DISCONNECT); \
- \
- _Request = (PTDI_REQUEST_KERNEL)&_IrpSp->Parameters; \
- _Request->RequestConnectionInformation = (RequestConnectionInfo); \
- _Request->ReturnConnectionInformation = (ReturnConnectionInfo); \
- _Request->RequestSpecific = (PVOID)(Time); \
- _Request->RequestFlags = (Flags); \
-}
-
-/*
- * PIRP
- * TdiBuildInternalDeviceControlIrp(
- * IN CCHAR IrpSubFunction,
- * IN PDEVICE_OBJECT DeviceObject,
- * IN PFILE_OBJECT FileObject,
- * IN PKEVENT Event,
- * IN PIO_STATUS_BLOCK IoStatusBlock);
- */
-#define TdiBuildInternalDeviceControlIrp( \
- IrpSubFunction, DeviceObject, \
- FileObject, Event, IoStatusBlock) \
- IoBuildDeviceIoControlRequest( \
- 0x00000003, DeviceObject, \
- NULL, 0, NULL, 0, \
- TRUE, Event, IoStatusBlock)
-
-/*
- * VOID
- * TdiBuildListen(
- * IN PIRP Irp,
- * IN PDEVICE_OBJECT DevObj,
- * IN PFILE_OBJECT FileObj,
- * IN PVOID CompRoutine,
- * IN PVOID Contxt,
- * IN ULONG Flags,
- * IN PTDI_CONNECTION_INFORMATION RequestConnectionInfo,
- * OUT PTDI_CONNECTION_INFORMATION ReturnConnectionInfo);
- */
-#define TdiBuildListen( \
- Irp, DevObj, FileObj, CompRoutine, Contxt, \
- Flags, RequestConnectionInfo, ReturnConnectionInfo) \
-{ \
- PTDI_REQUEST_KERNEL _Request; \
- PIO_STACK_LOCATION _IrpSp; \
- \
- _IrpSp = IoGetNextIrpStackLocation(Irp); \
- \
- TdiBuildBaseIrp(Irp, DevObj, FileObj, CompRoutine, \
- Contxt, _IrpSp, TDI_LISTEN); \
- \
- _Request = (PTDI_REQUEST_KERNEL)&_IrpSp->Parameters; \
- _Request->RequestConnectionInformation = (RequestConnectionInfo); \
- _Request->ReturnConnectionInformation = (ReturnConnectionInfo); \
- _Request->RequestFlags = (Flags); \
-}
-
-TDIKRNLAPI
-VOID
-DDKAPI
-TdiBuildNetbiosAddress(
- IN PUCHAR NetbiosName,
- IN BOOLEAN IsGroupName,
- IN OUT PTA_NETBIOS_ADDRESS NetworkName);
-
-TDIKRNLAPI
-NTSTATUS
-DDKAPI
-TdiBuildNetbiosAddressEa(
- IN PUCHAR Buffer,
- IN BOOLEAN IsGroupName,
- IN PUCHAR NetbiosName);
-
-/*
- * VOID
- * TdiBuildQueryInformation(
- * IN PIRP Irp,
- * IN PDEVICE_OBJECT DevObj,
- * IN PFILE_OBJECT FileObj,
- * IN PVOID CompRoutine,
- * IN PVOID Contxt,
- * IN UINT QType,
- * IN PMDL MdlAddr);
- */
-#define TdiBuildQueryInformation( \
- Irp, DevObj, FileObj, CompRoutine, Contxt, QType, MdlAddr) \
-{ \
- PTDI_REQUEST_KERNEL_QUERY_INFORMATION _Request; \
- PIO_STACK_LOCATION _IrpSp; \
- \
- _IrpSp = IoGetNextIrpStackLocation(Irp); \
- \
- TdiBuildBaseIrp(Irp, DevObj, FileObj, CompRoutine, \
- Contxt, _IrpSp, TDI_QUERY_INFORMATION); \
- \
- _Request = (PTDI_REQUEST_KERNEL_QUERY_INFORMATION)&_IrpSp->Parameters; \
- _Request->RequestConnectionInformation = NULL; \
- _Request->QueryType = (ULONG)(QType); \
- (Irp)->MdlAddress = (MdlAddr); \
-}
-
-/*
- * VOID
- * TdiBuildReceive(
- * IN PIRP Irp,
- * IN PDEVICE_OBJECT DevObj,
- * IN PFILE_OBJECT FileObj,
- * IN PVOID CompRoutine,
- * IN PVOID Contxt,
- * IN PMDL MdlAddr,
- * IN ULONG InFlags,
- * IN ULONG ReceiveLen);
- */
-#define TdiBuildReceive( \
- Irp, DevObj, FileObj, CompRoutine, Contxt, \
- MdlAddr, InFlags, ReceiveLen) \
-{ \
- PTDI_REQUEST_KERNEL_RECEIVE _Request; \
- PIO_STACK_LOCATION _IrpSp; \
- \
- _IrpSp = IoGetNextIrpStackLocation(Irp); \
- \
- TdiBuildBaseIrp(Irp, DevObj, FileObj, CompRoutine, \
- Contxt, _IrpSp, TDI_RECEIVE); \
- \
- _Request = (PTDI_REQUEST_KERNEL_RECEIVE)&_IrpSp->Parameters; \
- _Request->ReceiveFlags = (InFlags); \
- _Request->ReceiveLength = (ReceiveLen); \
- (Irp)->MdlAddress = (MdlAddr); \
-}
-
-/*
- * VOID
- * TdiBuildReceiveDatagram(
- * IN PIRP Irp,
- * IN PDEVICE_OBJECT DevObj,
- * IN PFILE_OBJECT FileObj,
- * IN PVOID CompRoutine,
- * IN PVOID Contxt,
- * IN PMDL MdlAddr,
- * IN ULONG ReceiveLen,
- * IN PTDI_CONNECTION_INFORMATION ReceiveDatagramInfo,
- * OUT PTDI_CONNECTION_INFORMATION ReturnInfo,
- * ULONG InFlags);
- */
-#define TdiBuildReceiveDatagram( \
- Irp, DevObj, FileObj, CompRoutine, Contxt, MdlAddr, \
- ReceiveLen, ReceiveDatagramInfo, ReturnInfo, InFlags) \
-{ \
- PTDI_REQUEST_KERNEL_RECEIVEDG _Request; \
- PIO_STACK_LOCATION _IrpSp; \
- \
- _IrpSp = IoGetNextIrpStackLocation(Irp); \
- \
- TdiBuildBaseIrp(Irp, DevObj, FileObj, CompRoutine, \
- Contxt, _IrpSp, TDI_RECEIVE_DATAGRAM); \
- \
- _Request = (PTDI_REQUEST_KERNEL_RECEIVEDG)&_IrpSp->Parameters; \
- _Request->ReceiveDatagramInformation = (ReceiveDatagramInfo); \
- _Request->ReturnDatagramInformation = (ReturnInfo); \
- _Request->ReceiveLength = (ReceiveLen); \
- _Request->ReceiveFlags = (InFlags); \
- (Irp)->MdlAddress = (MdlAddr); \
-}
-
-/*
- * VOID
- * TdiBuildSend(
- * IN PIRP Irp,
- * IN PDEVICE_OBJECT DevObj,
- * IN PFILE_OBJECT FileObj,
- * IN PVOID CompRoutine,
- * IN PVOID Contxt,
- * IN PMDL MdlAddr,
- * IN ULONG InFlags,
- * IN ULONG SendLen);
- */
-#define TdiBuildSend( \
- Irp, DevObj, FileObj, CompRoutine, Contxt, \
- MdlAddr, InFlags, SendLen) \
-{ \
- PTDI_REQUEST_KERNEL_SEND _Request; \
- PIO_STACK_LOCATION _IrpSp; \
- \
- _IrpSp = IoGetNextIrpStackLocation(Irp); \
- \
- TdiBuildBaseIrp(Irp, DevObj, FileObj, CompRoutine, \
- Contxt, _IrpSp, TDI_SEND); \
- \
- _Request = (PTDI_REQUEST_KERNEL_SEND)&_IrpSp->Parameters; \
- _Request->SendFlags = (InFlags); \
- _Request->SendLength = (SendLen); \
- (Irp)->MdlAddress = (MdlAddr); \
-}
-
-/*
- * VOID
- * TdiBuildSendDatagram(
- * IN PIRP Irp,
- * IN PDEVICE_OBJECT DevObj,
- * IN PFILE_OBJECT FileObj,
- * IN PVOID CompRoutine,
- * IN PVOID Contxt,
- * IN PMDL MdlAddr,
- * IN ULONG SendLen,
- * IN PTDI_CONNECTION_INFORMATION SendDatagramInfo);
- */
-#define TdiBuildSendDatagram( \
- Irp, DevObj, FileObj, CompRoutine, Contxt, \
- MdlAddr, SendLen, SendDatagramInfo) \
-{ \
- PTDI_REQUEST_KERNEL_SENDDG _Request; \
- PIO_STACK_LOCATION _IrpSp; \
- \
- _IrpSp = IoGetNextIrpStackLocation(Irp); \
- \
- TdiBuildBaseIrp(Irp, DevObj, FileObj, CompRoutine, \
- Contxt, _IrpSp, TDI_SEND_DATAGRAM); \
- \
- _Request = (PTDI_REQUEST_KERNEL_SENDDG)&_IrpSp->Parameters; \
- _Request->SendDatagramInformation = (SendDatagramInfo); \
- _Request->SendLength = (SendLen); \
- (Irp)->MdlAddress = (MdlAddr); \
-}
-
-/*
- * VOID
- * TdiBuildSetEventHandler(
- * IN PIRP Irp,
- * IN PDEVICE_OBJECT DevObj,
- * IN PFILE_OBJECT FileObj,
- * IN PVOID CompRoutine,
- * IN PVOID Contxt,
- * IN INT InEventType,
- * IN PVOID InEventHandler,
- * IN PVOID InEventContext);
- */
-#define TdiBuildSetEventHandler( \
- Irp, DevObj, FileObj, CompRoutine, Contxt, \
- InEventType, InEventHandler, InEventContext) \
-{ \
- PTDI_REQUEST_KERNEL_SET_EVENT _Request; \
- PIO_STACK_LOCATION _IrpSp; \
- \
- _IrpSp = IoGetNextIrpStackLocation(Irp); \
- \
- TdiBuildBaseIrp(Irp, DevObj, FileObj, CompRoutine, \
- Contxt, _IrpSp, TDI_SET_EVENT_HANDLER); \
- \
- _Request = (PTDI_REQUEST_KERNEL_SET_EVENT)&_IrpSp->Parameters; \
- _Request->EventType = (InEventType); \
- _Request->EventHandler = (PVOID)(InEventHandler); \
- _Request->EventContext = (PVOID)(InEventContext); \
-}
-
-/*
- * VOID
- * TdiBuildSetInformation(
- * IN PIRP Irp,
- * IN PDEVICE_OBJECT DevObj,
- * IN PFILE_OBJECT FileObj,
- * IN PVOID CompRoutine,
- * IN PVOID Contxt,
- * IN UINT SType,
- * IN PMDL MdlAddr);
- */
-#define TdiBuildSetInformation( \
- Irp, DevObj, FileObj, CompRoutine, Contxt, SType, MdlAddr) \
-{ \
- PTDI_REQUEST_KERNEL_SET_INFORMATION _Request; \
- PIO_STACK_LOCATION _IrpSp; \
- \
- _IrpSp = IoGetNextIrpStackLocation(Irp); \
- \
- TdiBuildBaseIrp(Irp, DevObj, FileObj, CompRoutine, \
- Contxt, _IrpSp, TDI_SET_INFORMATION); \
- \
- _Request = (PTDI_REQUEST_KERNEL_SET_INFORMATION)&_IrpSp->Parameters; \
- _Request->RequestConnectionInformation = NULL; \
- _Request->SetType = (ULONG)(SType); \
- (Irp)->MdlAddress = (MdlAddr); \
-}
-
-/* TDI20_CLIENT_INTERFACE_INFO.TdiVersion constants */
-#define TDI_CURRENT_MAJOR_VERSION 2
-#define TDI_CURRENT_MINOR_VERSION 0
-
-#define TDI_CURRENT_VERSION ((TDI_CURRENT_MINOR_VERSION) << 8 \
- | (TDI_CURRENT_MAJOR_VERSION))
-
-#define TDI_VERSION_ONE 0x0001
-
-typedef enum _TDI_PNP_OPCODE {
- TDI_PNP_OP_MIN,
- TDI_PNP_OP_ADD,
- TDI_PNP_OP_DEL,
- TDI_PNP_OP_UPDATE,
- TDI_PNP_OP_PROVIDERREADY,
- TDI_PNP_OP_NETREADY,
- TDI_PNP_OP_ADD_IGNORE_BINDING,
- TDI_PNP_OP_DELETE_IGNORE_BINDING,
- TDI_PNP_OP_MAX
-} TDI_PNP_OPCODE;
-
-/* TDI_PNP_CONTEXT.ContextType */
-#define TDI_PNP_CONTEXT_TYPE_IF_NAME 0x1
-#define TDI_PNP_CONTEXT_TYPE_IF_ADDR 0x2
-#define TDI_PNP_CONTEXT_TYPE_PDO 0x3
-#define TDI_PNP_CONTEXT_TYPE_FIRST_OR_LAST_IF 0x4
-
-typedef struct _TDI_PNP_CONTEXT {
- USHORT ContextSize;
- USHORT ContextType;
- UCHAR ContextData[1];
-} TDI_PNP_CONTEXT, *PTDI_PNP_CONTEXT;
-
-typedef VOID DDKAPI
-(*TDI_ADD_ADDRESS_HANDLER)(
- IN PTA_ADDRESS Address);
-
-typedef VOID DDKAPI
-(*TDI_ADD_ADDRESS_HANDLER_V2)(
- IN PTA_ADDRESS Address,
- IN PUNICODE_STRING DeviceName,
- IN PTDI_PNP_CONTEXT Context);
-
-typedef VOID DDKAPI
-(*TDI_BINDING_HANDLER)(
- IN TDI_PNP_OPCODE PnPOpcode,
- IN PUNICODE_STRING DeviceName,
- IN PWSTR MultiSZBindList);
-
-typedef VOID DDKAPI
-(*TDI_BIND_HANDLER)(
- IN PUNICODE_STRING DeviceName);
-
-typedef VOID DDKAPI
-(*TDI_DEL_ADDRESS_HANDLER)(
- IN PTA_ADDRESS Address);
-
-typedef VOID DDKAPI
-(*TDI_DEL_ADDRESS_HANDLER_V2)(
- IN PTA_ADDRESS Address,
- IN PUNICODE_STRING DeviceName,
- IN PTDI_PNP_CONTEXT Context);
-
-typedef NTSTATUS DDKAPI
-(*TDI_PNP_POWER_HANDLER)(
- IN PUNICODE_STRING DeviceName,
- IN PNET_PNP_EVENT PowerEvent,
- IN PTDI_PNP_CONTEXT Context1,
- IN PTDI_PNP_CONTEXT Context2);
-
-typedef VOID DDKAPI
-(*TDI_UNBIND_HANDLER)(
- IN PUNICODE_STRING DeviceName);
-
-typedef VOID DDKAPI
-(*ProviderPnPPowerComplete)(
- IN PNET_PNP_EVENT NetEvent,
- IN NTSTATUS ProviderStatus);
-
-typedef struct _TDI20_CLIENT_INTERFACE_INFO {
- _ANONYMOUS_UNION union {
- _ANONYMOUS_STRUCT struct {
- UCHAR MajorTdiVersion;
- UCHAR MinorTdiVersion;
- } DUMMYSTRUCTNAME;
- USHORT TdiVersion;
- } DUMMYUNIONNAME;
- USHORT Unused;
- PUNICODE_STRING ClientName;
- TDI_PNP_POWER_HANDLER PnPPowerHandler;
- _ANONYMOUS_UNION union {
- TDI_BINDING_HANDLER BindingHandler;
- _ANONYMOUS_STRUCT struct {
- TDI_BIND_HANDLER BindHandler;
- TDI_UNBIND_HANDLER UnBindHandler;
- } DUMMYSTRUCTNAME;
- }DUMMYUNIONNAME2;
- _ANONYMOUS_UNION union {
- _ANONYMOUS_STRUCT struct {
- TDI_ADD_ADDRESS_HANDLER_V2 AddAddressHandlerV2;
- TDI_DEL_ADDRESS_HANDLER_V2 DelAddressHandlerV2;
- } DUMMYSTRUCTNAME;
- _ANONYMOUS_STRUCT struct {
- TDI_ADD_ADDRESS_HANDLER AddAddressHandler;
- TDI_DEL_ADDRESS_HANDLER DelAddressHandler;
- } DUMMYSTRUCTNAME2;
- } DUMMYUNIONNAME3;
-} TDI20_CLIENT_INTERFACE_INFO, *PTDI20_CLIENT_INTERFACE_INFO;
-
-typedef TDI20_CLIENT_INTERFACE_INFO TDI_CLIENT_INTERFACE_INFO;
-typedef TDI_CLIENT_INTERFACE_INFO *PTDI_CLIENT_INTERFACE_INFO;
-
-
-/* TDI functions */
-
-/*
- * VOID
- * TdiCompleteRequest(
- * IN PIRP Irp,
- * IN NTSTATUS Status);
- */
-#define TdiCompleteRequest(Irp, Status) \
-{ \
- (Irp)->IoStatus.Status = (Status); \
- IoCompleteRequest((Irp), IO_NETWORK_INCREMENT); \
-}
-
-TDIKRNLAPI
-NTSTATUS
-DDKAPI
-TdiCopyBufferToMdl(
- IN PVOID SourceBuffer,
- IN ULONG SourceOffset,
- IN ULONG SourceBytesToCopy,
- IN PMDL DestinationMdlChain,
- IN ULONG DestinationOffset,
- IN PULONG BytesCopied);
-
-/*
- * VOID
- * TdiCopyLookaheadData(
- * IN PVOID Destination,
- * IN PVOID Source,
- * IN ULONG Length,
- * IN ULONG ReceiveFlags);
- */
-#define TdiCopyLookaheadData(Destination, Source, Length, ReceiveFlags) \
- RtlCopyMemory(Destination, Source, Length)
-
-TDIKRNLAPI
-NTSTATUS
-DDKAPI
-TdiCopyMdlChainToMdlChain (
- IN PMDL SourceMdlChain,
- IN ULONG SourceOffset,
- IN PMDL DestinationMdlChain,
- IN ULONG DestinationOffset,
- OUT PULONG BytesCopied);
-
-TDIKRNLAPI
-NTSTATUS
-DDKAPI
-TdiCopyMdlToBuffer(
- IN PMDL SourceMdlChain,
- IN ULONG SourceOffset,
- IN PVOID DestinationBuffer,
- IN ULONG DestinationOffset,
- IN ULONG DestinationBufferSize,
- OUT PULONG BytesCopied);
-
-TDIKRNLAPI
-NTSTATUS
-DDKAPI
-TdiDeregisterAddressChangeHandler(
- IN HANDLE BindingHandle);
-
-TDIKRNLAPI
-NTSTATUS
-DDKAPI
-TdiDeregisterDeviceObject(
- IN HANDLE DevRegistrationHandle);
-
-TDIKRNLAPI
-NTSTATUS
-DDKAPI
-TdiDeregisterNetAddress(
- IN HANDLE AddrRegistrationHandle);
-
-TDIKRNLAPI
-NTSTATUS
-DDKAPI
-TdiDeregisterPnPHandlers(
- IN HANDLE BindingHandle);
-
-TDIKRNLAPI
-NTSTATUS
-DDKAPI
-TdiDeregisterProvider(
- IN HANDLE ProviderHandle);
-
-TDIKRNLAPI
-NTSTATUS
-DDKAPI
-TdiEnumerateAddresses(
- IN HANDLE BindingHandle);
-
-TDIKRNLAPI
-VOID
-DDKAPI
-TdiInitialize(
- VOID);
-
-TDIKRNLAPI
-VOID
-DDKAPI
-TdiMapBuffer(
- IN PMDL MdlChain);
-
-TDIKRNLAPI
-NTSTATUS
-DDKAPI
-TdiMapUserRequest(
- IN PDEVICE_OBJECT DeviceObject,
- IN PIRP Irp,
- IN PIO_STACK_LOCATION IrpSp);
-
-TDIKRNLAPI
-BOOLEAN
-DDKAPI
-TdiMatchPdoWithChainedReceiveContext(
- IN PVOID TsduDescriptor,
- IN PVOID PDO);
-
-TDIKRNLAPI
-VOID
-DDKAPI
-TdiPnPPowerComplete(
- IN HANDLE BindingHandle,
- IN PNET_PNP_EVENT PowerEvent,
- IN NTSTATUS Status);
-
-TDIKRNLAPI
-NTSTATUS
-DDKAPI
-TdiPnPPowerRequest(
- IN PUNICODE_STRING DeviceName,
- IN PNET_PNP_EVENT PowerEvent,
- IN PTDI_PNP_CONTEXT Context1,
- IN PTDI_PNP_CONTEXT Context2,
- IN ProviderPnPPowerComplete ProtocolCompletionHandler);
-
-TDIKRNLAPI
-NTSTATUS
-DDKAPI
-TdiProviderReady(
- IN HANDLE ProviderHandle);
-
-TDIKRNLAPI
-NTSTATUS
-DDKAPI
-TdiRegisterAddressChangeHandler(
- IN TDI_ADD_ADDRESS_HANDLER AddHandler,
- IN TDI_DEL_ADDRESS_HANDLER DeleteHandler,
- OUT HANDLE *BindingHandle);
-
-TDIKRNLAPI
-NTSTATUS
-DDKAPI
-TdiRegisterDeviceObject(
- IN PUNICODE_STRING DeviceName,
- OUT HANDLE *DevRegistrationHandle);
-
-TDIKRNLAPI
-NTSTATUS
-DDKAPI
-TdiRegisterNetAddress(
- IN PTA_ADDRESS Address,
- IN PUNICODE_STRING DeviceName,
- IN PTDI_PNP_CONTEXT Context,
- OUT HANDLE *AddrRegistrationHandle);
-
-TDIKRNLAPI
-NTSTATUS
-DDKAPI
-TdiRegisterNotificationHandler(
- IN TDI_BIND_HANDLER BindHandler,
- IN TDI_UNBIND_HANDLER UnbindHandler,
- OUT HANDLE *BindingHandle);
-
-TDIKRNLAPI
-NTSTATUS
-DDKAPI
-TdiRegisterPnPHandlers(
- IN PTDI_CLIENT_INTERFACE_INFO ClientInterfaceInfo,
- IN ULONG InterfaceInfoSize,
- OUT HANDLE *BindingHandle);
-
-TDIKRNLAPI
-NTSTATUS
-DDKAPI
-TdiRegisterProvider(
- IN PUNICODE_STRING ProviderName,
- OUT HANDLE *ProviderHandle);
-
-TDIKRNLAPI
-VOID
-DDKAPI
-TdiReturnChainedReceives(
- IN PVOID *TsduDescriptors,
- IN ULONG NumberOfTsdus);
-
-TDIKRNLAPI
-VOID
-DDKAPI
-TdiUnmapBuffer(
- IN PMDL MdlChain);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __TDIKRNL_H */
diff --git a/winsup/w32api/include/ddk/tdistat.h b/winsup/w32api/include/ddk/tdistat.h
deleted file mode 100644
index f0588d257..000000000
--- a/winsup/w32api/include/ddk/tdistat.h
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * tdistat.h
- *
- * TDI status codes
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- * Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __TDISTAT_H
-#define __TDISTAT_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define TDI_SUCCESS STATUS_SUCCESS
-#define TDI_NO_RESOURCES STATUS_INSUFFICIENT_RESOURCES
-#define TDI_ADDR_IN_USE STATUS_ADDRESS_ALREADY_EXISTS
-#define TDI_BAD_ADDR STATUS_INVALID_ADDRESS_COMPONENT
-#define TDI_NO_FREE_ADDR STATUS_TOO_MANY_ADDRESSES
-#define TDI_ADDR_INVALID STATUS_INVALID_ADDRESS
-#define TDI_ADDR_DELETED STATUS_ADDRESS_CLOSED
-#define TDI_BUFFER_OVERFLOW STATUS_BUFFER_OVERFLOW
-#define TDI_BAD_EVENT_TYPE STATUS_INVALID_PARAMETER
-#define TDI_BAD_OPTION STATUS_INVALID_PARAMETER
-#define TDI_CONN_REFUSED STATUS_CONNECTION_REFUSED
-#define TDI_INVALID_CONNECTION STATUS_CONNECTION_INVALID
-#define TDI_ALREADY_ASSOCIATED STATUS_ADDRESS_ALREADY_ASSOCIATED
-#define TDI_NOT_ASSOCIATED STATUS_ADDRESS_NOT_ASSOCIATED
-#define TDI_CONNECTION_ACTIVE STATUS_CONNECTION_ACTIVE
-#define TDI_CONNECTION_ABORTED STATUS_CONNECTION_ABORTED
-#define TDI_CONNECTION_RESET STATUS_CONNECTION_RESET
-#define TDI_TIMED_OUT STATUS_IO_TIMEOUT
-#define TDI_GRACEFUL_DISC STATUS_GRACEFUL_DISCONNECT
-#define TDI_NOT_ACCEPTED STATUS_DATA_NOT_ACCEPTED
-#define TDI_MORE_PROCESSING STATUS_MORE_PROCESSING_REQUIRED
-#define TDI_INVALID_STATE STATUS_INVALID_DEVICE_STATE
-#define TDI_INVALID_PARAMETER STATUS_INVALID_PARAMETER
-#define TDI_DEST_NET_UNREACH STATUS_NETWORK_UNREACHABLE
-#define TDI_DEST_HOST_UNREACH STATUS_HOST_UNREACHABLE
-#define TDI_DEST_UNREACHABLE TDI_DEST_HOST_UNREACH
-#define TDI_DEST_PROT_UNREACH STATUS_PROTOCOL_UNREACHABLE
-#define TDI_DEST_PORT_UNREACH STATUS_PORT_UNREACHABLE
-#define TDI_INVALID_QUERY STATUS_INVALID_DEVICE_REQUEST
-#define TDI_REQ_ABORTED STATUS_REQUEST_ABORTED
-#define TDI_BUFFER_TOO_SMALL STATUS_BUFFER_TOO_SMALL
-#define TDI_CANCELLED STATUS_CANCELLED
-#define TDI_BUFFER_TOO_BIG STATUS_INVALID_BUFFER_SIZE
-#define TDI_INVALID_REQUEST STATUS_INVALID_DEVICE_REQUEST
-#define TDI_PENDING STATUS_PENDING
-#define TDI_ITEM_NOT_FOUND STATUS_OBJECT_NAME_NOT_FOUND
-
-#define TDI_STATUS_BAD_VERSION 0xC0010004L
-#define TDI_STATUS_BAD_CHARACTERISTICS 0xC0010005L
-
-#define TDI_OPTION_EOL 0
-
-#define TDI_ADDRESS_OPTION_REUSE 1
-#define TDI_ADDRESS_OPTION_DHCP 2
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __TDISTAT_H */
diff --git a/winsup/w32api/include/ddk/tvout.h b/winsup/w32api/include/ddk/tvout.h
deleted file mode 100644
index 0310ae463..000000000
--- a/winsup/w32api/include/ddk/tvout.h
+++ /dev/null
@@ -1,116 +0,0 @@
-/*
- * tvout.h
- *
- * Definitions for TV-out support
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- * Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __TVOUT_H
-#define __TVOUT_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-
-/* VIDEOPARAMETERS.dwCommand constants */
-#define VP_COMMAND_GET 0x00000001
-#define VP_COMMAND_SET 0x00000002
-
-/* VIDEOPARAMETERS.dwFlags constants */
-#define VP_FLAGS_TV_MODE 0x00000001
-#define VP_FLAGS_TV_STANDARD 0x00000002
-#define VP_FLAGS_FLICKER 0x00000004
-#define VP_FLAGS_OVERSCAN 0x00000008
-#define VP_FLAGS_MAX_UNSCALED 0x00000010
-#define VP_FLAGS_POSITION 0x00000020
-#define VP_FLAGS_BRIGHTNESS 0x00000040
-#define VP_FLAGS_CONTRAST 0x00000080
-#define VP_FLAGS_COPYPROTECT 0x00000100
-
-/* VIDEOPARAMETERS.dwMode constants */
-#define VP_MODE_WIN_GRAPHICS 0x00000001
-#define VP_MODE_TV_PLAYBACK 0x00000002
-
-/* VIDEOPARAMETERS.dwTVStandard/dwAvailableTVStandard constants */
-#define VP_TV_STANDARD_NTSC_M 0x00000001
-#define VP_TV_STANDARD_NTSC_M_J 0x00000002
-#define VP_TV_STANDARD_PAL_B 0x00000004
-#define VP_TV_STANDARD_PAL_D 0x00000008
-#define VP_TV_STANDARD_PAL_H 0x00000010
-#define VP_TV_STANDARD_PAL_I 0x00000020
-#define VP_TV_STANDARD_PAL_M 0x00000040
-#define VP_TV_STANDARD_PAL_N 0x00000080
-#define VP_TV_STANDARD_SECAM_B 0x00000100
-#define VP_TV_STANDARD_SECAM_D 0x00000200
-#define VP_TV_STANDARD_SECAM_G 0x00000400
-#define VP_TV_STANDARD_SECAM_H 0x00000800
-#define VP_TV_STANDARD_SECAM_K 0x00001000
-#define VP_TV_STANDARD_SECAM_K1 0x00002000
-#define VP_TV_STANDARD_SECAM_L 0x00004000
-#define VP_TV_STANDARD_WIN_VGA 0x00008000
-#define VP_TV_STANDARD_NTSC_433 0x00010000
-#define VP_TV_STANDARD_PAL_G 0x00020000
-#define VP_TV_STANDARD_PAL_60 0x00040000
-#define VP_TV_STANDARD_SECAM_L1 0x00080000
-
-/* VIDEOPARAMETERS.dwMode constants */
-#define VP_CP_TYPE_APS_TRIGGER 0x00000001
-#define VP_CP_TYPE_MACROVISION 0x00000002
-
-/* VIDEOPARAMETERS.dwCPCommand constants */
-#define VP_CP_CMD_ACTIVATE 0x00000001
-#define VP_CP_CMD_DEACTIVATE 0x00000002
-#define VP_CP_CMD_CHANGE 0x00000004
-
-typedef struct _VIDEOPARAMETERS {
- GUID Guid;
- DWORD dwOffset;
- DWORD dwCommand;
- DWORD dwFlags;
- DWORD dwMode;
- DWORD dwTVStandard;
- DWORD dwAvailableModes;
- DWORD dwAvailableTVStandard;
- DWORD dwFlickerFilter;
- DWORD dwOverScanX;
- DWORD dwOverScanY;
- DWORD dwMaxUnscaledX;
- DWORD dwMaxUnscaledY;
- DWORD dwPositionX;
- DWORD dwPositionY;
- DWORD dwBrightness;
- DWORD dwContrast;
- DWORD dwCPType;
- DWORD dwCPCommand;
- DWORD dwCPStandard;
- DWORD dwCPKey;
- BYTE bCP_APSTriggerBits;
- BYTE bOEMCopyProtection[256];
-} VIDEOPARAMETERS, *PVIDEOPARAMETERS, FAR *LPVIDEOPARAMETERS;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __TVOUT_H */
diff --git a/winsup/w32api/include/ddk/upssvc.h b/winsup/w32api/include/ddk/upssvc.h
deleted file mode 100644
index 404c25a38..000000000
--- a/winsup/w32api/include/ddk/upssvc.h
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
- * upssvc.h
- *
- * UPS service interface
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- * Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __UPSSVC_H
-#define __UPSSVC_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-
-#if defined(_APCUPS_)
- #define UPSAPI DECLSPEC_EXPORT
-#else
- #define UPSAPI DECLSPEC_IMPORT
-#endif
-
-
-#define UPS_ONLINE 1
-#define UPS_ONBATTERY 2
-#define UPS_LOWBATTERY 4
-#define UPS_NOCOMM 8
-#define UPS_CRITICAL 16
-
-UPSAPI
-VOID
-DDKAPI
-UPSCancelWait(VOID);
-
-UPSAPI
-DWORD
-DDKAPI
-UPSGetState(VOID);
-
-#define UPS_INITUNKNOWNERROR 0
-#define UPS_INITOK 1
-#define UPS_INITNOSUCHDRIVER 2
-#define UPS_INITBADINTERFACE 3
-#define UPS_INITREGISTRYERROR 4
-#define UPS_INITCOMMOPENERROR 5
-#define UPS_INITCOMMSETUPERROR 6
-
-UPSAPI
-DWORD
-DDKAPI
-UPSInit(VOID);
-
-UPSAPI
-VOID
-DDKAPI
-UPSStop(VOID);
-
-UPSAPI
-VOID
-DDKAPI
-UPSTurnOff(
- IN DWORD aTurnOffDelay);
-
-UPSAPI
-VOID
-DDKAPI
-UPSWaitForStateChange(
- IN DWORD aCurrentState,
- IN DWORD anInterval);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __UPSSVC_H */
diff --git a/winsup/w32api/include/ddk/usb.h b/winsup/w32api/include/ddk/usb.h
deleted file mode 100644
index 18dac4c8f..000000000
--- a/winsup/w32api/include/ddk/usb.h
+++ /dev/null
@@ -1,471 +0,0 @@
-/*
- * usb.h
- *
- * USB support.
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- * Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __USB_H
-#define __USB_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __USBDI_H
-#error usbdi.h cannot be included with usb.h
-#else
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-#include "usb100.h"
-
-typedef LONG USBD_STATUS;
-typedef PVOID USBD_PIPE_HANDLE;
-typedef PVOID USBD_CONFIGURATION_HANDLE;
-typedef PVOID USBD_INTERFACE_HANDLE;
-
-#define USBD_STATUS_SUCCESS ((USBD_STATUS)0x00000000L)
-#define USBD_STATUS_PENDING ((USBD_STATUS)0x40000000L)
-#define USBD_STATUS_CRC ((USBD_STATUS)0xC0000001L)
-#define USBD_STATUS_BTSTUFF ((USBD_STATUS)0xC0000002L)
-#define USBD_STATUS_DATA_TOGGLE_MISMATCH ((USBD_STATUS)0xC0000003L)
-#define USBD_STATUS_STALL_PID ((USBD_STATUS)0xC0000004L)
-#define USBD_STATUS_DEV_NOT_RESPONDING ((USBD_STATUS)0xC0000005L)
-#define USBD_STATUS_PID_CHECK_FAILURE ((USBD_STATUS)0xC0000006L)
-#define USBD_STATUS_UNEXPECTED_PID ((USBD_STATUS)0xC0000007L)
-#define USBD_STATUS_DATA_OVERRUN ((USBD_STATUS)0xC0000008L)
-#define USBD_STATUS_DATA_UNDERRUN ((USBD_STATUS)0xC0000009L)
-#define USBD_STATUS_RESERVED1 ((USBD_STATUS)0xC000000AL)
-#define USBD_STATUS_RESERVED2 ((USBD_STATUS)0xC000000BL)
-#define USBD_STATUS_BUFFER_OVERRUN ((USBD_STATUS)0xC000000CL)
-#define USBD_STATUS_BUFFER_UNDERRUN ((USBD_STATUS)0xC000000DL)
-#define USBD_STATUS_NOT_ACCESSED ((USBD_STATUS)0xC000000FL)
-#define USBD_STATUS_FIFO ((USBD_STATUS)0xC0000010L)
-#define USBD_STATUS_XACT_ERROR ((USBD_STATUS)0xC0000011L)
-#define USBD_STATUS_BABBLE_DETECTED ((USBD_STATUS)0xC0000012L)
-#define USBD_STATUS_DATA_BUFFER_ERROR ((USBD_STATUS)0xC0000013L)
-#define USBD_STATUS_ENDPOINT_HALTED ((USBD_STATUS)0xC0000030L)
-#define USBD_STATUS_INVALID_URB_FUNCTION ((USBD_STATUS)0x80000200L)
-#define USBD_STATUS_INVALID_PARAMETER ((USBD_STATUS)0x80000300L)
-#define USBD_STATUS_ERROR_BUSY ((USBD_STATUS)0x80000400L)
-#define USBD_STATUS_INVALID_PIPE_HANDLE ((USBD_STATUS)0x80000600L)
-#define USBD_STATUS_NO_BANDWIDTH ((USBD_STATUS)0x80000700L)
-#define USBD_STATUS_INTERNAL_HC_ERROR ((USBD_STATUS)0x80000800L)
-#define USBD_STATUS_ERROR_SHORT_TRANSFER ((USBD_STATUS)0x80000900L)
-#define USBD_STATUS_BAD_START_FRAME ((USBD_STATUS)0xC0000A00L)
-#define USBD_STATUS_ISOCH_REQUEST_FAILED ((USBD_STATUS)0xC0000B00L)
-#define USBD_STATUS_FRAME_CONTROL_OWNED ((USBD_STATUS)0xC0000C00L)
-#define USBD_STATUS_FRAME_CONTROL_NOT_OWNED \
- ((USBD_STATUS)0xC0000D00L)
-#define USBD_STATUS_NOT_SUPPORTED ((USBD_STATUS)0xC0000E00L)
-#define USBD_STATUS_INAVLID_CONFIGURATION_DESCRIPTOR \
- ((USBD_STATUS)0xC0000F00L)
-#define USBD_STATUS_INSUFFICIENT_RESOURCES \
- ((USBD_STATUS)0xC0001000L)
-#define USBD_STATUS_SET_CONFIG_FAILED ((USBD_STATUS)0xC0002000L)
-#define USBD_STATUS_BUFFER_TOO_SMALL ((USBD_STATUS)0xC0003000L)
-#define USBD_STATUS_INTERFACE_NOT_FOUND ((USBD_STATUS)0xC0004000L)
-#define USBD_STATUS_INAVLID_PIPE_FLAGS ((USBD_STATUS)0xC0005000L)
-#define USBD_STATUS_TIMEOUT ((USBD_STATUS)0xC0006000L)
-#define USBD_STATUS_DEVICE_GONE ((USBD_STATUS)0xC0007000L)
-#define USBD_STATUS_STATUS_NOT_MAPPED ((USBD_STATUS)0xC0008000L)
-#define USBD_STATUS_CANCELED ((USBD_STATUS)0xC0010000L)
-#define USBD_STATUS_ISO_NOT_ACCESSED_BY_HW \
- ((USBD_STATUS)0xC0020000L)
-#define USBD_STATUS_ISO_TD_ERROR ((USBD_STATUS)0xC0030000L)
-#define USBD_STATUS_ISO_NA_LATE_USBPORT ((USBD_STATUS)0xC0040000L)
-#define USBD_STATUS_ISO_NOT_ACCESSED_LATE ((USBD_STATUS)0xC0050000L)
-
-#define USBD_SUCCESS(Status) ((USBD_STATUS)(Status) >= 0)
-#define USBD_PENDING(Status) ((ULONG)(Status) >> 30 == 1)
-#define USBD_ERROR(Status) ((USBD_STATUS)(Status) < 0)
-
-/* URB TransferFlags constants */
-#define USBD_TRANSFER_DIRECTION(x) ((x) & USBD_TRANSFER_DIRECTION_IN)
-#define USBD_TRANSFER_DIRECTION_OUT 0
-#define USBD_TRANSFER_DIRECTION_BIT 0
-#define USBD_TRANSFER_DIRECTION_IN (1 << USBD_TRANSFER_DIRECTION_BIT)
-#define USBD_SHORT_TRANSFER_OK_BIT 1
-#define USBD_SHORT_TRANSFER_OK (1 << USBD_SHORT_TRANSFER_OK_BIT)
-#define USBD_START_ISO_TRANSFER_ASAP_BIT 2
-#define USBD_START_ISO_TRANSFER_ASAP (1 << USBD_START_ISO_TRANSFER_ASAP_BIT)
-#define USBD_DEFAULT_PIPE_TRANSFER_BIT 3
-#define USBD_DEFAULT_PIPE_TRANSFER (1 << USBD_DEFAULT_PIPE_TRANSFER_BIT)
-
-#define USBD_TRANSFER_DIRECTION_FLAG(flags) ((flags) & USBD_TRANSFER_DIRECTION)
-
-#define VALID_TRANSFER_FLAGS_MASK \
- (USBD_SHORT_TRANSFER_OK | \
- USBD_TRANSFER_DIRECTION | \
- USBD_START_ISO_TRANSFER_ASAP | \
- USBD_DEFAULT_PIPE_TRANSFER)
-
-#define USB_DEFAULT_DEVICE_ADDRESS 0
-#define USB_DEFAULT_ENDPOINT_ADDRESS 0
-#define USB_DEFAULT_MAX_PACKET 64
-#define USBD_ISO_START_FRAME_RANGE 1024
-#define USBD_DEFAULT_MAXIMUM_TRANSFER_SIZE 0xFFFFFFFF
-
-typedef enum _USB_CONTROLLER_FLAVOR {
- USB_HcGeneric = 0,
- OHCI_Generic = 100,
- OHCI_Hydra,
- OHCI_NEC,
- UHCI_Generic = 200,
- UHCI_Piix4,
- UHCI_Piix3,
- UHCI_Ich2_1,
- UHCI_Ich2_2,
- UHCI_Ich1,
- UHCI_VIA = 250,
- EHCI_Generic = 1000,
- EHCI_NEC = 2000,
- EHCI_Lucent = 3000
-} USB_CONTROLLER_FLAVOR;
-
-struct _URB_HEADER {
- USHORT Length;
- USHORT Function;
- USBD_STATUS Status;
- PVOID UsbdDeviceHandle;
- ULONG UsbdFlags;
-};
-
-typedef struct _USBD_VERSION_INFORMATION {
- ULONG USBDI_Version;
- ULONG Supported_USB_Version;
-} USBD_VERSION_INFORMATION, *PUSBD_VERSION_INFORMATION;
-
-struct _URB_HCD_AREA {
- PVOID Reserved8[8];
-};
-
-struct _URB_BULK_OR_INTERRUPT_TRANSFER {
- struct _URB_HEADER Hdr;
- USBD_PIPE_HANDLE PipeHandle;
- ULONG TransferFlags;
- ULONG TransferBufferLength;
- PVOID TransferBuffer;
- PMDL TransferBufferMDL;
- struct _URB *UrbLink;
- struct _URB_HCD_AREA hca;
-};
-
-struct _URB_CONTROL_DESCRIPTOR_REQUEST {
- struct _URB_HEADER Hdr;
- PVOID Reserved;
- ULONG Reserved0;
- ULONG TransferBufferLength;
- PVOID TransferBuffer;
- PMDL TransferBufferMDL;
- struct _URB *UrbLink;
- struct _URB_HCD_AREA hca;
- USHORT Reserved1;
- UCHAR Index;
- UCHAR DescriptorType;
- USHORT LanguageId;
- USHORT Reserved2;
-};
-
-struct _URB_CONTROL_FEATURE_REQUEST {
- struct _URB_HEADER Hdr;
- PVOID Reserved;
- ULONG Reserved2;
- ULONG Reserved3;
- PVOID Reserved4;
- PMDL Reserved5;
- struct _URB *UrbLink;
- struct _URB_HCD_AREA hca;
- USHORT Reserved0;
- USHORT FeatureSelector;
- USHORT Index;
- USHORT Reserved1;
-};
-
-struct _URB_CONTROL_GET_CONFIGURATION_REQUEST {
- struct _URB_HEADER Hdr;
- PVOID Reserved;
- ULONG Reserved0;
- ULONG TransferBufferLength;
- PVOID TransferBuffer;
- PMDL TransferBufferMDL;
- struct _URB *UrbLink;
- struct _URB_HCD_AREA hca;
- UCHAR Reserved1[8];
-};
-
-struct _URB_CONTROL_GET_INTERFACE_REQUEST {
- struct _URB_HEADER Hdr;
- PVOID Reserved;
- ULONG Reserved0;
- ULONG TransferBufferLength;
- PVOID TransferBuffer;
- PMDL TransferBufferMDL;
- struct _URB *UrbLink;
- struct _URB_HCD_AREA hca;
- UCHAR Reserved1[4];
- USHORT Interface;
- USHORT Reserved2;
-};
-
-struct _URB_CONTROL_GET_STATUS_REQUEST {
- struct _URB_HEADER Hdr;
- PVOID Reserved;
- ULONG Reserved0;
- ULONG TransferBufferLength;
- PVOID TransferBuffer;
- PMDL TransferBufferMDL;
- struct _URB *UrbLink;
- struct _URB_HCD_AREA hca;
- UCHAR Reserved1[4];
- USHORT Index;
- USHORT Reserved2;
-};
-
-struct _URB_CONTROL_TRANSFER {
- struct _URB_HEADER Hdr;
- USBD_PIPE_HANDLE PipeHandle;
- ULONG TransferFlags;
- ULONG TransferBufferLength;
- PVOID TransferBuffer;
- PMDL TransferBufferMDL;
- struct _URB *UrbLink;
- struct _URB_HCD_AREA hca;
- UCHAR SetupPacket[8];
-};
-
-struct _URB_CONTROL_VENDOR_OR_CLASS_REQUEST {
- struct _URB_HEADER Hdr;
- PVOID Reserved;
- ULONG TransferFlags;
- ULONG TransferBufferLength;
- PVOID TransferBuffer;
- PMDL TransferBufferMDL;
- struct _URB *UrbLink;
- struct _URB_HCD_AREA hca;
- UCHAR RequestTypeReservedBits;
- UCHAR Request;
- USHORT Value;
- USHORT Index;
- USHORT Reserved1;
-};
-
-struct _URB_FRAME_LENGTH_CONTROL {
- struct _URB_HEADER Hdr;
-};
-
-struct _URB_GET_CURRENT_FRAME_NUMBER {
- struct _URB_HEADER Hdr;
- ULONG FrameNumber;
-};
-
-struct _URB_GET_FRAME_LENGTH {
- struct _URB_HEADER Hdr;
- ULONG FrameLength;
- ULONG FrameNumber;
-};
-
-typedef struct _USBD_ISO_PACKET_DESCRIPTOR {
- ULONG Offset;
- ULONG Length;
- USBD_STATUS Status;
-} USBD_ISO_PACKET_DESCRIPTOR, *PUSBD_ISO_PACKET_DESCRIPTOR;
-
-struct _URB_ISOCH_TRANSFER {
- struct _URB_HEADER Hdr;
- USBD_PIPE_HANDLE PipeHandle;
- ULONG TransferFlags;
- ULONG TransferBufferLength;
- PVOID TransferBuffer;
- PMDL TransferBufferMDL;
- struct _URB *UrbLink;
- struct _URB_HCD_AREA hca;
- ULONG StartFrame;
- ULONG NumberOfPackets;
- ULONG ErrorCount;
- USBD_ISO_PACKET_DESCRIPTOR IsoPacket[1];
-};
-
-typedef enum _USBD_PIPE_TYPE {
- UsbdPipeTypeControl,
- UsbdPipeTypeIsochronous,
- UsbdPipeTypeBulk,
- UsbdPipeTypeInterrupt
-} USBD_PIPE_TYPE;
-
-typedef struct _USBD_PIPE_INFORMATION {
- USHORT MaximumPacketSize;
- UCHAR EndpointAddress;
- UCHAR Interval;
- USBD_PIPE_TYPE PipeType;
- USBD_PIPE_HANDLE PipeHandle;
- ULONG MaximumTransferSize;
- ULONG PipeFlags;
-} USBD_PIPE_INFORMATION, *PUSBD_PIPE_INFORMATION ;
-
-#define USBD_PIPE_DIRECTION_IN(pipeInformation) \
- ((pipeInformation)->EndpointAddress & USB_ENDPOINT_DIRECTION_MASK)
-
-typedef struct _USBD_INTERFACE_INFORMATION {
- USHORT Length;
- UCHAR InterfaceNumber;
- UCHAR AlternateSetting;
- UCHAR Class;
- UCHAR SubClass;
- UCHAR Protocol;
- UCHAR Reserved;
- USBD_INTERFACE_HANDLE InterfaceHandle;
- ULONG NumberOfPipes;
- USBD_PIPE_INFORMATION Pipes[1];
-} USBD_INTERFACE_INFORMATION, *PUSBD_INTERFACE_INFORMATION;
-
-struct _URB_SELECT_INTERFACE {
- struct _URB_HEADER Hdr;
- USBD_CONFIGURATION_HANDLE ConfigurationHandle;
- USBD_INTERFACE_INFORMATION Interface;
-};
-
-struct _URB_SELECT_CONFIGURATION {
- struct _URB_HEADER Hdr;
- PUSB_CONFIGURATION_DESCRIPTOR ConfigurationDescriptor;
- USBD_CONFIGURATION_HANDLE ConfigurationHandle;
- USBD_INTERFACE_INFORMATION Interface;
-};
-
-struct _URB_PIPE_REQUEST {
- struct _URB_HEADER Hdr;
- USBD_PIPE_HANDLE PipeHandle;
- ULONG Reserved;
-};
-
-struct _URB_SET_FRAME_LENGTH {
- struct _URB_HEADER Hdr;
- LONG FrameLengthDelta;
-};
-
-typedef struct _URB {
- _ANONYMOUS_UNION union {
- struct _URB_HEADER UrbHeader;
- struct _URB_SELECT_INTERFACE UrbSelectInterface;
- struct _URB_SELECT_CONFIGURATION UrbSelectConfiguration;
- struct _URB_PIPE_REQUEST UrbPipeRequest;
- struct _URB_FRAME_LENGTH_CONTROL UrbFrameLengthControl;
- struct _URB_GET_FRAME_LENGTH UrbGetFrameLength;
- struct _URB_SET_FRAME_LENGTH UrbSetFrameLength;
- struct _URB_GET_CURRENT_FRAME_NUMBER UrbGetCurrentFrameNumber;
- struct _URB_CONTROL_TRANSFER UrbControlTransfer;
- struct _URB_BULK_OR_INTERRUPT_TRANSFER UrbBulkOrInterruptTransfer;
- struct _URB_ISOCH_TRANSFER UrbIsochronousTransfer;
- struct _URB_CONTROL_DESCRIPTOR_REQUEST UrbControlDescriptorRequest;
- struct _URB_CONTROL_GET_STATUS_REQUEST UrbControlGetStatusRequest;
- struct _URB_CONTROL_FEATURE_REQUEST UrbControlFeatureRequest;
- struct _URB_CONTROL_VENDOR_OR_CLASS_REQUEST UrbControlVendorClassRequest;
- struct _URB_CONTROL_GET_INTERFACE_REQUEST UrbControlGetInterfaceRequest;
- struct _URB_CONTROL_GET_CONFIGURATION_REQUEST UrbControlGetConfigurationRequest;
- } DUMMYUNIONNAME;
-} URB, *PURB;
-
-#define URB_FROM_IRP(Irp) ((IoGetCurrentIrpStackLocation(Irp))->Parameters.Others.Argument1)
-
-#define URB_FUNCTION_SELECT_CONFIGURATION 0x0000
-#define URB_FUNCTION_SELECT_INTERFACE 0x0001
-#define URB_FUNCTION_ABORT_PIPE 0x0002
-#define URB_FUNCTION_TAKE_FRAME_LENGTH_CONTROL 0x0003
-#define URB_FUNCTION_RELEASE_FRAME_LENGTH_CONTROL 0x0004
-#define URB_FUNCTION_GET_FRAME_LENGTH 0x0005
-#define URB_FUNCTION_SET_FRAME_LENGTH 0x0006
-#define URB_FUNCTION_GET_CURRENT_FRAME_NUMBER 0x0007
-#define URB_FUNCTION_CONTROL_TRANSFER 0x0008
-#define URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER 0x0009
-#define URB_FUNCTION_ISOCH_TRANSFER 0x000A
-#define URB_FUNCTION_GET_DESCRIPTOR_FROM_DEVICE 0x000B
-#define URB_FUNCTION_SET_DESCRIPTOR_TO_DEVICE 0x000C
-#define URB_FUNCTION_SET_FEATURE_TO_DEVICE 0x000D
-#define URB_FUNCTION_SET_FEATURE_TO_INTERFACE 0x000E
-#define URB_FUNCTION_SET_FEATURE_TO_ENDPOINT 0x000F
-#define URB_FUNCTION_CLEAR_FEATURE_TO_DEVICE 0x0010
-#define URB_FUNCTION_CLEAR_FEATURE_TO_INTERFACE 0x0011
-#define URB_FUNCTION_CLEAR_FEATURE_TO_ENDPOINT 0x0012
-#define URB_FUNCTION_GET_STATUS_FROM_DEVICE 0x0013
-#define URB_FUNCTION_GET_STATUS_FROM_INTERFACE 0x0014
-#define URB_FUNCTION_GET_STATUS_FROM_ENDPOINT 0x0015
-#define URB_FUNCTION_RESERVED_0X0016 0x0016
-#define URB_FUNCTION_VENDOR_DEVICE 0x0017
-#define URB_FUNCTION_VENDOR_INTERFACE 0x0018
-#define URB_FUNCTION_VENDOR_ENDPOINT 0x0019
-#define URB_FUNCTION_CLASS_DEVICE 0x001A
-#define URB_FUNCTION_CLASS_INTERFACE 0x001B
-#define URB_FUNCTION_CLASS_ENDPOINT 0x001C
-#define URB_FUNCTION_RESERVE_0X001D 0x001D
-#define URB_FUNCTION_SYNC_RESET_PIPE_AND_CLEAR_STALL 0x001E
-#define URB_FUNCTION_CLASS_OTHER 0x001F
-#define URB_FUNCTION_VENDOR_OTHER 0x0020
-#define URB_FUNCTION_GET_STATUS_FROM_OTHER 0x0021
-#define URB_FUNCTION_CLEAR_FEATURE_TO_OTHER 0x0022
-#define URB_FUNCTION_SET_FEATURE_TO_OTHER 0x0023
-#define URB_FUNCTION_GET_DESCRIPTOR_FROM_ENDPOINT 0x0024
-#define URB_FUNCTION_SET_DESCRIPTOR_TO_ENDPOINT 0x0025
-#define URB_FUNCTION_GET_CONFIGURATION 0x0026
-#define URB_FUNCTION_GET_INTERFACE 0x0027
-#define URB_FUNCTION_GET_DESCRIPTOR_FROM_INTERFACE 0x0028
-#define URB_FUNCTION_SET_DESCRIPTOR_TO_INTERFACE 0x0029
-#define URB_FUNCTION_GET_MS_FEATURE_DESCRIPTOR 0x002A
-#define URB_FUNCTION_RESERVE_0X002B 0x002B
-#define URB_FUNCTION_RESERVE_0X002C 0x002C
-#define URB_FUNCTION_RESERVE_0X002D 0x002D
-#define URB_FUNCTION_RESERVE_0X002E 0x002E
-#define URB_FUNCTION_RESERVE_0X002F 0x002F
-#define URB_FUNCTION_SYNC_RESET_PIPE 0x0030
-#define URB_FUNCTION_SYNC_CLEAR_STALL 0x0031
-
-#define USBD_PF_CHANGE_MAX_PACKET 0x00000001
-#define USBD_PF_SHORT_PACKET_OPT 0x00000002
-#define USBD_PF_ENABLE_RT_THREAD_ACCESS 0x00000004
-#define USBD_PF_MAP_ADD_TRANSFERS 0x00000008
-
-#define USBD_PF_VALID_MASK (USBD_PF_CHANGE_MAX_PACKET | \
- USBD_PF_SHORT_PACKET_OPT | \
- USBD_PF_ENABLE_RT_THREAD_ACCESS | \
- USBD_PF_MAP_ADD_TRANSFERS)
-
-#define OS_STRING_DESCRIPTOR_INDEX 0xEE
-
-#define MS_GENRE_DESCRIPTOR_INDEX 0x0001
-#define MS_POWER_DESCRIPTOR_INDEX 0x0002
-
-#define MS_OS_STRING_SIGNATURE L"MSFT100"
-
-typedef struct _OS_STRING {
- UCHAR bLength;
- UCHAR bDescriptorType;
- WCHAR MicrosoftString[7];
- UCHAR bVendorCode;
- UCHAR bPad;
-} OS_STRING, *POS_STRING;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* defined __USBDI_H */
-
-#endif /* __USB_H */
diff --git a/winsup/w32api/include/ddk/usb100.h b/winsup/w32api/include/ddk/usb100.h
deleted file mode 100644
index 53b774ba2..000000000
--- a/winsup/w32api/include/ddk/usb100.h
+++ /dev/null
@@ -1,237 +0,0 @@
-/*
- * usb100.h
- *
- * USB 1.0 support
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- * Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __USB100_H
-#define __USB100_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-
-#define MAXIMUM_USB_STRING_LENGTH 255
-
-#define USB_DEVICE_CLASS_RESERVED 0x00
-#define USB_DEVICE_CLASS_AUDIO 0x01
-#define USB_DEVICE_CLASS_COMMUNICATIONS 0x02
-#define USB_DEVICE_CLASS_HUMAN_INTERFACE 0x03
-#define USB_DEVICE_CLASS_MONITOR 0x04
-#define USB_DEVICE_CLASS_PHYSICAL_INTERFACE 0x05
-#define USB_DEVICE_CLASS_POWER 0x06
-#define USB_DEVICE_CLASS_PRINTER 0x07
-#define USB_DEVICE_CLASS_STORAGE 0x08
-#define USB_DEVICE_CLASS_HUB 0x09
-#define USB_DEVICE_CLASS_VENDOR_SPECIFIC 0xFF
-
-#define USB_RESERVED_DESCRIPTOR_TYPE 0x06
-#define USB_CONFIG_POWER_DESCRIPTOR_TYPE 0x07
-#define USB_INTERFACE_POWER_DESCRIPTOR_TYPE 0x08
-
-#define USB_REQUEST_GET_STATUS 0x00
-#define USB_REQUEST_CLEAR_FEATURE 0x01
-#define USB_REQUEST_SET_FEATURE 0x03
-#define USB_REQUEST_SET_ADDRESS 0x05
-#define USB_REQUEST_GET_DESCRIPTOR 0x06
-#define USB_REQUEST_SET_DESCRIPTOR 0x07
-#define USB_REQUEST_GET_CONFIGURATION 0x08
-#define USB_REQUEST_SET_CONFIGURATION 0x09
-#define USB_REQUEST_GET_INTERFACE 0x0A
-#define USB_REQUEST_SET_INTERFACE 0x0B
-#define USB_REQUEST_SYNC_FRAME 0x0C
-
-#define USB_GETSTATUS_SELF_POWERED 0x01
-#define USB_GETSTATUS_REMOTE_WAKEUP_ENABLED 0x02
-
-#define BMREQUEST_HOST_TO_DEVICE 0
-#define BMREQUEST_DEVICE_TO_HOST 1
-
-#define BMREQUEST_STANDARD 0
-#define BMREQUEST_CLASS 1
-#define BMREQUEST_VENDOR 2
-
-#define BMREQUEST_TO_DEVICE 0
-#define BMREQUEST_TO_INTERFACE 1
-#define BMREQUEST_TO_ENDPOINT 2
-#define BMREQUEST_TO_OTHER 3
-
-/* USB_COMMON_DESCRIPTOR.bDescriptorType constants */
-#define USB_DEVICE_DESCRIPTOR_TYPE 0x01
-#define USB_CONFIGURATION_DESCRIPTOR_TYPE 0x02
-#define USB_STRING_DESCRIPTOR_TYPE 0x03
-#define USB_INTERFACE_DESCRIPTOR_TYPE 0x04
-#define USB_ENDPOINT_DESCRIPTOR_TYPE 0x05
-
-typedef struct _USB_COMMON_DESCRIPTOR {
- UCHAR bLength;
- UCHAR bDescriptorType;
-} USB_COMMON_DESCRIPTOR, *PUSB_COMMON_DESCRIPTOR;
-
-#define USB_DESCRIPTOR_MAKE_TYPE_AND_INDEX(d, i) ((USHORT)((USHORT)d << 8 | i))
-
-/* USB_CONFIGURATION_DESCRIPTOR.bmAttributes constants */
-#define USB_CONFIG_POWERED_MASK 0xc0
-#define USB_CONFIG_BUS_POWERED 0x80
-#define USB_CONFIG_SELF_POWERED 0x40
-#define USB_CONFIG_REMOTE_WAKEUP 0x20
-
-#include <pshpack1.h>
-typedef struct _USB_CONFIGURATION_DESCRIPTOR {
- UCHAR bLength;
- UCHAR bDescriptorType;
- USHORT wTotalLength;
- UCHAR bNumInterfaces;
- UCHAR bConfigurationValue;
- UCHAR iConfiguration;
- UCHAR bmAttributes;
- UCHAR MaxPower;
-} USB_CONFIGURATION_DESCRIPTOR, *PUSB_CONFIGURATION_DESCRIPTOR;
-#include <poppack.h>
-
-typedef struct _USB_DEVICE_DESCRIPTOR {
- UCHAR bLength;
- UCHAR bDescriptorType;
- USHORT bcdUSB;
- UCHAR bDeviceClass;
- UCHAR bDeviceSubClass;
- UCHAR bDeviceProtocol;
- UCHAR bMaxPacketSize0;
- USHORT idVendor;
- USHORT idProduct;
- USHORT bcdDevice;
- UCHAR iManufacturer;
- UCHAR iProduct;
- UCHAR iSerialNumber;
- UCHAR bNumConfigurations;
-} USB_DEVICE_DESCRIPTOR, *PUSB_DEVICE_DESCRIPTOR;
-
-#define USB_ENDPOINT_DIRECTION_MASK 0x80
-
-#define USB_ENDPOINT_DIRECTION_OUT(x) (!((x) & USB_ENDPOINT_DIRECTION_MASK))
-#define USB_ENDPOINT_DIRECTION_IN(x) ((x) & USB_ENDPOINT_DIRECTION_MASK)
-
-/* USB_ENDPOINT_DESCRIPTOR.bmAttributes constants */
-#define USB_ENDPOINT_TYPE_MASK 0x03
-#define USB_ENDPOINT_TYPE_CONTROL 0x00
-#define USB_ENDPOINT_TYPE_ISOCHRONOUS 0x01
-#define USB_ENDPOINT_TYPE_BULK 0x02
-#define USB_ENDPOINT_TYPE_INTERRUPT 0x03
-
-#include <pshpack1.h>
-typedef struct _USB_ENDPOINT_DESCRIPTOR {
- UCHAR bLength;
- UCHAR bDescriptorType;
- UCHAR bEndpointAddress;
- UCHAR bmAttributes;
- USHORT wMaxPacketSize;
- UCHAR bInterval;
-} USB_ENDPOINT_DESCRIPTOR, *PUSB_ENDPOINT_DESCRIPTOR;
-#include <poppack.h>
-
-#define USB_FEATURE_ENDPOINT_STALL 0x0000
-#define USB_FEATURE_REMOTE_WAKEUP 0x0001
-
-typedef struct _USB_INTERFACE_DESCRIPTOR {
- UCHAR bLength;
- UCHAR bDescriptorType;
- UCHAR bInterfaceNumber;
- UCHAR bAlternateSetting;
- UCHAR bNumEndpoints;
- UCHAR bInterfaceClass;
- UCHAR bInterfaceSubClass;
- UCHAR bInterfaceProtocol;
- UCHAR iInterface;
-} USB_INTERFACE_DESCRIPTOR, *PUSB_INTERFACE_DESCRIPTOR;
-
-typedef struct _USB_STRING_DESCRIPTOR {
- UCHAR bLength;
- UCHAR bDescriptorType;
- WCHAR bString[1];
-} USB_STRING_DESCRIPTOR, *PUSB_STRING_DESCRIPTOR;
-
-#include <pshpack1.h>
-typedef struct _USB_HUB_DESCRIPTOR {
- UCHAR bDescriptorLength;
- UCHAR bDescriptorType;
- UCHAR bNumberOfPorts;
- USHORT wHubCharacteristics;
- UCHAR bPowerOnToPowerGood;
- UCHAR bHubControlCurrent;
- UCHAR bRemoveAndPowerMask[64];
-} USB_HUB_DESCRIPTOR, *PUSB_HUB_DESCRIPTOR;
-#include <poppack.h>
-
-#define USB_SUPPORT_D0_COMMAND 0x01
-#define USB_SUPPORT_D1_COMMAND 0x02
-#define USB_SUPPORT_D2_COMMAND 0x04
-#define USB_SUPPORT_D3_COMMAND 0x08
-
-#define USB_SUPPORT_D1_WAKEUP 0x10
-#define USB_SUPPORT_D2_WAKEUP 0x20
-
-typedef struct _USB_CONFIGURATION_POWER_DESCRIPTOR {
- UCHAR bLength;
- UCHAR bDescriptorType;
- UCHAR SelfPowerConsumedD0[3];
- UCHAR bPowerSummaryId;
- UCHAR bBusPowerSavingD1;
- UCHAR bSelfPowerSavingD1;
- UCHAR bBusPowerSavingD2;
- UCHAR bSelfPowerSavingD2;
- UCHAR bBusPowerSavingD3;
- UCHAR bSelfPowerSavingD3;
- USHORT TransitionTimeFromD1;
- USHORT TransitionTimeFromD2;
- USHORT TransitionTimeFromD3;
-} USB_CONFIGURATION_POWER_DESCRIPTOR, *PUSB_CONFIGURATION_POWER_DESCRIPTOR;
-
-#define USB_FEATURE_INTERFACE_POWER_D0 0x0002
-#define USB_FEATURE_INTERFACE_POWER_D1 0x0003
-#define USB_FEATURE_INTERFACE_POWER_D2 0x0004
-#define USB_FEATURE_INTERFACE_POWER_D3 0x0005
-
-#include <pshpack1.h>
-typedef struct _USB_INTERFACE_POWER_DESCRIPTOR {
- UCHAR bLength;
- UCHAR bDescriptorType;
- UCHAR bmCapabilitiesFlags;
- UCHAR bBusPowerSavingD1;
- UCHAR bSelfPowerSavingD1;
- UCHAR bBusPowerSavingD2;
- UCHAR bSelfPowerSavingD2;
- UCHAR bBusPowerSavingD3;
- UCHAR bSelfPowerSavingD3;
- USHORT TransitionTimeFromD1;
- USHORT TransitionTimeFromD2;
- USHORT TransitionTimeFromD3;
-} USB_INTERFACE_POWER_DESCRIPTOR, *PUSB_INTERFACE_POWER_DESCRIPTOR;
-#include <poppack.h>
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __USB100_H */
diff --git a/winsup/w32api/include/ddk/usbcamdi.h b/winsup/w32api/include/ddk/usbcamdi.h
deleted file mode 100644
index 5d96435d8..000000000
--- a/winsup/w32api/include/ddk/usbcamdi.h
+++ /dev/null
@@ -1,404 +0,0 @@
-/*
- * usbcamdi.h
- *
- * USB Camera driver interface.
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- * Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __USBCAMDI_H
-#define __USBCAMDI_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#if !defined(__USB_H) && !defined(__USBDI_H)
-#error include usb.h or usbdi.h before usbcamdi.h
-#else
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#pragma pack(push,4)
-
-#include "ntddk.h"
-
-#if defined(_BATTERYCLASS_)
- #define USBCAMAPI DECLSPEC_EXPORT
-#else
- #define USBCAMAPI DECLSPEC_IMPORT
-#endif
-
-
-/* FIXME: Unknown definition */
-typedef PVOID PHW_STREAM_REQUEST_BLOCK;
-
-DEFINE_GUID(GUID_USBCAMD_INTERFACE,
- 0x2bcb75c0, 0xb27f, 0x11d1, 0xba, 0x41, 0x0, 0xa0, 0xc9, 0xd, 0x2b, 0x5);
-
-#define USBCAMD_PROCESSPACKETEX_DropFrame 0x0002
-#define USBCAMD_PROCESSPACKETEX_NextFrameIsStill 0x0004
-#define USBCAMD_PROCESSPACKETEX_CurrentFrameIsStill 0x0008
-
-#define USBCAMD_DATA_PIPE 0x0001
-#define USBCAMD_MULTIPLEX_PIPE 0x0002
-#define USBCAMD_SYNC_PIPE 0x0004
-#define USBCAMD_DONT_CARE_PIPE 0x0008
-
-#define USBCAMD_VIDEO_STREAM 0x1
-#define USBCAMD_STILL_STREAM 0x2
-#define USBCAMD_VIDEO_STILL_STREAM (USBCAMD_VIDEO_STREAM | USBCAMD_STILL_STREAM)
-
-#define USBCAMD_STOP_STREAM 0x00000001
-#define USBCAMD_START_STREAM 0x00000000
-
-typedef struct _pipe_config_descriptor {
- CHAR StreamAssociation;
- UCHAR PipeConfigFlags;
-} USBCAMD_Pipe_Config_Descriptor, *PUSBCAMD_Pipe_Config_Descriptor;
-
-typedef enum {
- USBCAMD_CamControlFlag_NoVideoRawProcessing = 1,
- USBCAMD_CamControlFlag_NoStillRawProcessing = 2,
- USBCAMD_CamControlFlag_AssociatedFormat = 4,
- USBCAMD_CamControlFlag_EnableDeviceEvents = 8
-} USBCAMD_CamControlFlags;
-
-typedef NTSTATUS DDKAPI
-(*PCAM_ALLOCATE_BW_ROUTINE)(
- PDEVICE_OBJECT BusDeviceObject,
- PVOID DeviceContext,
- PULONG RawFrameLength,
- PVOID Format);
-
-typedef NTSTATUS DDKAPI
-(*PCAM_ALLOCATE_BW_ROUTINE_EX)(
- PDEVICE_OBJECT BusDeviceObject,
- PVOID DeviceContext,
- PULONG RawFrameLength,
- PVOID Format,
- ULONG StreamNumber);
-
-typedef NTSTATUS DDKAPI
-(*PCAM_CONFIGURE_ROUTINE)(
- PDEVICE_OBJECT BusDeviceObject,
- PVOID DeviceContext,
- PUSBD_INTERFACE_INFORMATION Interface,
- PUSB_CONFIGURATION_DESCRIPTOR ConfigurationDescriptor,
- PLONG DataPipeIndex,
- PLONG SyncPipeIndex);
-
-typedef NTSTATUS DDKAPI
-(*PCAM_CONFIGURE_ROUTINE_EX)(
- PDEVICE_OBJECT BusDeviceObject,
- PVOID DeviceContext,
- PUSBD_INTERFACE_INFORMATION Interface,
- PUSB_CONFIGURATION_DESCRIPTOR ConfigurationDescriptor,
- ULONG PipeConfigListSize,
- PUSBCAMD_Pipe_Config_Descriptor PipeConfig,
- PUSB_DEVICE_DESCRIPTOR DeviceDescriptor);
-
-typedef NTSTATUS DDKAPI
-(*PCAM_FREE_BW_ROUTINE)(
- PDEVICE_OBJECT BusDeviceObject,
- PVOID DeviceContext);
-
-typedef NTSTATUS DDKAPI
-(*PCAM_FREE_BW_ROUTINE_EX)(
- PDEVICE_OBJECT BusDeviceObject,
- PVOID DeviceContext,
- ULONG StreamNumber);
-
-typedef NTSTATUS DDKAPI
-(*PCAM_INITIALIZE_ROUTINE)(
- PDEVICE_OBJECT BusDeviceObject,
- PVOID DeviceContext);
-
-typedef VOID DDKAPI
-(*PCAM_NEW_FRAME_ROUTINE)(
- PVOID DeviceContext,
- PVOID FrameContext);
-
-typedef VOID DDKAPI
-(*PCAM_NEW_FRAME_ROUTINE_EX)(
- PVOID DeviceContext,
- PVOID FrameContext,
- ULONG StreamNumber,
- PULONG FrameLength);
-
-typedef NTSTATUS DDKAPI
-(*PCAM_PROCESS_RAW_FRAME_ROUTINE)(
- PDEVICE_OBJECT BusDeviceObject,
- PVOID DeviceContext,
- PVOID FrameContext,
- PVOID FrameBuffer,
- ULONG FrameLength,
- PVOID RawFrameBuffer,
- ULONG RawFrameLength,
- ULONG NumberOfPackets,
- PULONG BytesReturned);
-
-typedef NTSTATUS DDKAPI
-(*PCAM_PROCESS_RAW_FRAME_ROUTINE_EX)(
- PDEVICE_OBJECT BusDeviceObject,
- PVOID DeviceContext,
- PVOID FrameContext,
- PVOID FrameBuffer,
- ULONG FrameLength,
- PVOID RawFrameBuffer,
- ULONG RawFrameLength,
- ULONG NumberOfPackets,
- PULONG BytesReturned,
- ULONG ActualRawFrameLength,
- ULONG StreamNumber);
-
-typedef ULONG DDKAPI
-(*PCAM_PROCESS_PACKET_ROUTINE)(
- PDEVICE_OBJECT BusDeviceObject,
- PVOID DeviceContext,
- PVOID CurrentFrameContext,
- PUSBD_ISO_PACKET_DESCRIPTOR SyncPacket,
- PVOID SyncBuffer,
- PUSBD_ISO_PACKET_DESCRIPTOR DataPacket,
- PVOID DataBuffer,
- PBOOLEAN FrameComplete,
- PBOOLEAN NextFrameIsStill);
-
-typedef ULONG DDKAPI
-(*PCAM_PROCESS_PACKET_ROUTINE_EX)(
- PDEVICE_OBJECT BusDeviceObject,
- PVOID DeviceContext,
- PVOID CurrentFrameContext,
- PUSBD_ISO_PACKET_DESCRIPTOR SyncPacket,
- PVOID SyncBuffer,
- PUSBD_ISO_PACKET_DESCRIPTOR DataPacket,
- PVOID DataBuffer,
- PBOOLEAN FrameComplete,
- PULONG PacketFlag,
- PULONG ValidDataOffset);
-
-typedef NTSTATUS DDKAPI
-(*PCAM_STATE_ROUTINE)(
- PDEVICE_OBJECT BusDeviceObject,
- PVOID DeviceContext);
-
-typedef NTSTATUS DDKAPI
-(*PCAM_START_CAPTURE_ROUTINE)(
- PDEVICE_OBJECT BusDeviceObject,
- PVOID DeviceContext);
-
-typedef NTSTATUS DDKAPI
-(*PCAM_START_CAPTURE_ROUTINE_EX)(
- PDEVICE_OBJECT BusDeviceObject,
- PVOID DeviceContext,
- ULONG StreamNumber);
-
-typedef NTSTATUS DDKAPI
-(*PCAM_STOP_CAPTURE_ROUTINE)(
- PDEVICE_OBJECT BusDeviceObject,
- PVOID DeviceContext);
-
-typedef NTSTATUS DDKAPI
-(*PCAM_STOP_CAPTURE_ROUTINE_EX)(
- PDEVICE_OBJECT BusDeviceObject,
- PVOID DeviceContext,
- ULONG StreamNumber);
-
-typedef struct _USBCAMD_DEVICE_DATA {
- ULONG Sig;
- PCAM_INITIALIZE_ROUTINE CamInitialize;
- PCAM_INITIALIZE_ROUTINE CamUnInitialize;
- PCAM_PROCESS_PACKET_ROUTINE CamProcessUSBPacket;
- PCAM_NEW_FRAME_ROUTINE CamNewVideoFrame;
- PCAM_PROCESS_RAW_FRAME_ROUTINE CamProcessRawVideoFrame;
- PCAM_START_CAPTURE_ROUTINE CamStartCapture;
- PCAM_STOP_CAPTURE_ROUTINE CamStopCapture;
- PCAM_CONFIGURE_ROUTINE CamConfigure;
- PCAM_STATE_ROUTINE CamSaveState;
- PCAM_STATE_ROUTINE CamRestoreState;
- PCAM_ALLOCATE_BW_ROUTINE CamAllocateBandwidth;
- PCAM_FREE_BW_ROUTINE CamFreeBandwidth;
-} USBCAMD_DEVICE_DATA, *PUSBCAMD_DEVICE_DATA;
-
-typedef struct _USBCAMD_DEVICE_DATA2 {
- ULONG Sig;
- PCAM_INITIALIZE_ROUTINE CamInitialize;
- PCAM_INITIALIZE_ROUTINE CamUnInitialize;
- PCAM_PROCESS_PACKET_ROUTINE_EX CamProcessUSBPacketEx;
- PCAM_NEW_FRAME_ROUTINE_EX CamNewVideoFrameEx;
- PCAM_PROCESS_RAW_FRAME_ROUTINE_EX CamProcessRawVideoFrameEx;
- PCAM_START_CAPTURE_ROUTINE_EX CamStartCaptureEx;
- PCAM_STOP_CAPTURE_ROUTINE_EX CamStopCaptureEx;
- PCAM_CONFIGURE_ROUTINE_EX CamConfigureEx;
- PCAM_STATE_ROUTINE CamSaveState;
- PCAM_STATE_ROUTINE CamRestoreState;
- PCAM_ALLOCATE_BW_ROUTINE_EX CamAllocateBandwidthEx;
- PCAM_FREE_BW_ROUTINE_EX CamFreeBandwidthEx;
-} USBCAMD_DEVICE_DATA2, *PUSBCAMD_DEVICE_DATA2;
-
-USBCAMAPI
-ULONG
-DDKAPI
-USBCAMD_InitializeNewInterface(
- IN PVOID DeviceContext,
- IN PVOID DeviceData,
- IN ULONG Version,
- IN ULONG CamControlFlag);
-
-typedef VOID DDKAPI
-(*PCOMMAND_COMPLETE_FUNCTION)(
- PVOID DeviceContext,
- PVOID CommandContext,
- NTSTATUS NtStatus);
-
-typedef NTSTATUS DDKAPI
-(*PFNUSBCAMD_BulkReadWrite)(
- IN PVOID DeviceContext,
- IN USHORT PipeIndex,
- IN PVOID Buffer,
- IN ULONG BufferLength,
- IN PCOMMAND_COMPLETE_FUNCTION CommandComplete,
- IN PVOID CommandContext);
-
-typedef NTSTATUS DDKAPI
-(*PFNUSBCAMD_SetIsoPipeState)(
- IN PVOID DeviceContext,
- IN ULONG PipeStateFlags);
-
-typedef NTSTATUS DDKAPI
-(*PFNUSBCAMD_CancelBulkReadWrite)(
- IN PVOID DeviceContext,
- IN ULONG PipeIndex);
-
-typedef NTSTATUS DDKAPI
-(*PFNUSBCAMD_SetVideoFormat)(
- IN PVOID DeviceContext,
- IN PHW_STREAM_REQUEST_BLOCK pSrb);
-
-typedef NTSTATUS DDKAPI
-(*PFNUSBCAMD_WaitOnDeviceEvent)(
- IN PVOID DeviceContext,
- IN ULONG PipeIndex,
- IN PVOID Buffer,
- IN ULONG BufferLength,
- IN PCOMMAND_COMPLETE_FUNCTION EventComplete,
- IN PVOID EventContext,
- IN BOOLEAN LoopBack);
-
-USBCAMAPI
-PVOID
-DDKAPI
-USBCAMD_AdapterReceivePacket(
- IN PHW_STREAM_REQUEST_BLOCK Srb,
- IN PUSBCAMD_DEVICE_DATA DeviceData,
- IN PDEVICE_OBJECT *DeviceObject,
- IN BOOLEAN NeedsCompletion);
-
-USBCAMAPI
-NTSTATUS
-DDKAPI
-USBCAMD_ControlVendorCommand(
- IN PVOID DeviceContext,
- IN UCHAR Request,
- IN USHORT Value,
- IN USHORT Index,
- IN PVOID Buffer,
- IN OUT PULONG BufferLength,
- IN BOOLEAN GetData,
- IN PCOMMAND_COMPLETE_FUNCTION CommandComplete,
- IN PVOID CommandContext);
-
-typedef VOID DDKAPI
-(*PADAPTER_RECEIVE_PACKET_ROUTINE)(
- IN PHW_STREAM_REQUEST_BLOCK Srb);
-
-USBCAMAPI
-ULONG
-DDKAPI
-USBCAMD_DriverEntry(
- PVOID Context1,
- PVOID Context2,
- ULONG DeviceContextSize,
- ULONG FrameContextSize,
- PADAPTER_RECEIVE_PACKET_ROUTINE ReceivePacket);
-
-USBCAMAPI
-NTSTATUS
-DDKAPI
-USBCAMD_GetRegistryKeyValue(
- IN HANDLE Handle,
- IN PWCHAR KeyNameString,
- IN ULONG KeyNameStringLength,
- IN PVOID Data,
- IN ULONG DataLength);
-
-USBCAMAPI
-NTSTATUS
-DDKAPI
-USBCAMD_SelectAlternateInterface(
- IN PVOID DeviceContext,
- IN OUT PUSBD_INTERFACE_INFORMATION RequestInterface);
-
-#define USBCAMD_VERSION_200 0x200
-
-typedef struct _USBCAMD_INTERFACE {
- INTERFACE Interface;
- PFNUSBCAMD_WaitOnDeviceEvent USBCAMD_WaitOnDeviceEvent;
- PFNUSBCAMD_BulkReadWrite USBCAMD_BulkReadWrite;
- PFNUSBCAMD_SetVideoFormat USBCAMD_SetVideoFormat;
- PFNUSBCAMD_SetIsoPipeState USBCAMD_SetIsoPipeState;
- PFNUSBCAMD_CancelBulkReadWrite USBCAMD_CancelBulkReadWrite;
-} USBCAMD_INTERFACE, *PUSBCAMD_INTERFACE;
-
-typedef VOID DDKAPI
-(*PSTREAM_RECEIVE_PACKET)(
- IN PVOID Srb,
- IN PVOID DeviceContext,
- IN PBOOLEAN Completed);
-
-#if defined(DEBUG_LOG)
-
-USBCAMAPI
-VOID
-DDKAPI
-USBCAMD_Debug_LogEntry(
- IN CHAR *Name,
- IN ULONG Info1,
- IN ULONG Info2,
- IN ULONG Info3);
-
-#define ILOGENTRY(sig, info1, info2, info3) \
- USBCAMD_Debug_LogEntry(sig, (ULONG)info1, (ULONG)info2, (ULONG)info3)
-
-#else
-
-#define ILOGENTRY(sig, info1, info2, info3)
-
-#endif /* DEBUG_LOG */
-
-#pragma pack(pop)
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* !defined(__USB_H) && !defined(__USBDI_H) */
-
-
-#endif /* __USBCAMDI_H */
diff --git a/winsup/w32api/include/ddk/usbdi.h b/winsup/w32api/include/ddk/usbdi.h
deleted file mode 100644
index 99d247541..000000000
--- a/winsup/w32api/include/ddk/usbdi.h
+++ /dev/null
@@ -1,407 +0,0 @@
-/*
- * usbdi.h
- *
- * USBD and USB device driver definitions
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- * Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __USBDI_H
-#define __USBDI_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __USB_H
-#error usb.h cannot be included with usbdi.h
-#else
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-#include "usbioctl.h"
-
-#define USBDI_VERSION 0x300
-
-#define USB_DEFAULT_DEVICE_ADDRESS 0
-#define USB_DEFAULT_ENDPOINT_ADDRESS 0
-#define USB_DEFAULT_MAX_PACKET 64
-
-#define URB_FROM_IRP(Irp) ((IoGetCurrentIrpStackLocation(Irp))->Parameters.Others.Argument1)
-
-#define URB_FUNCTION_SELECT_CONFIGURATION 0x0000
-#define URB_FUNCTION_SELECT_INTERFACE 0x0001
-#define URB_FUNCTION_ABORT_PIPE 0x0002
-#define URB_FUNCTION_TAKE_FRAME_LENGTH_CONTROL 0x0003
-#define URB_FUNCTION_RELEASE_FRAME_LENGTH_CONTROL 0x0004
-#define URB_FUNCTION_GET_FRAME_LENGTH 0x0005
-#define URB_FUNCTION_SET_FRAME_LENGTH 0x0006
-#define URB_FUNCTION_GET_CURRENT_FRAME_NUMBER 0x0007
-#define URB_FUNCTION_CONTROL_TRANSFER 0x0008
-#define URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER 0x0009
-#define URB_FUNCTION_ISOCH_TRANSFER 0x000A
-#define URB_FUNCTION_RESET_PIPE 0x001E
-#define URB_FUNCTION_GET_DESCRIPTOR_FROM_DEVICE 0x000B
-#define URB_FUNCTION_GET_DESCRIPTOR_FROM_ENDPOINT 0x0024
-#define URB_FUNCTION_GET_DESCRIPTOR_FROM_INTERFACE 0x0028
-#define URB_FUNCTION_SET_DESCRIPTOR_TO_DEVICE 0x000C
-#define URB_FUNCTION_SET_DESCRIPTOR_TO_ENDPOINT 0x0025
-#define URB_FUNCTION_SET_DESCRIPTOR_TO_INTERFACE 0x0029
-#define URB_FUNCTION_SET_FEATURE_TO_DEVICE 0x000D
-#define URB_FUNCTION_SET_FEATURE_TO_INTERFACE 0x000E
-#define URB_FUNCTION_SET_FEATURE_TO_ENDPOINT 0x000F
-#define URB_FUNCTION_SET_FEATURE_TO_OTHER 0x0023
-#define URB_FUNCTION_CLEAR_FEATURE_TO_DEVICE 0x0010
-#define URB_FUNCTION_CLEAR_FEATURE_TO_INTERFACE 0x0011
-#define URB_FUNCTION_CLEAR_FEATURE_TO_ENDPOINT 0x0012
-#define URB_FUNCTION_CLEAR_FEATURE_TO_OTHER 0x0022
-#define URB_FUNCTION_GET_STATUS_FROM_DEVICE 0x0013
-#define URB_FUNCTION_GET_STATUS_FROM_INTERFACE 0x0014
-#define URB_FUNCTION_GET_STATUS_FROM_ENDPOINT 0x0015
-#define URB_FUNCTION_GET_STATUS_FROM_OTHER 0x0021
-#define URB_FUNCTION_RESERVED0 0x0016
-#define URB_FUNCTION_VENDOR_DEVICE 0x0017
-#define URB_FUNCTION_VENDOR_INTERFACE 0x0018
-#define URB_FUNCTION_VENDOR_ENDPOINT 0x0019
-#define URB_FUNCTION_VENDOR_OTHER 0x0020
-#define URB_FUNCTION_CLASS_DEVICE 0x001A
-#define URB_FUNCTION_CLASS_INTERFACE 0x001B
-#define URB_FUNCTION_CLASS_ENDPOINT 0x001C
-#define URB_FUNCTION_CLASS_OTHER 0x001F
-#define URB_FUNCTION_RESERVED 0x001D
-#define URB_FUNCTION_GET_CONFIGURATION 0x0026
-#define URB_FUNCTION_GET_INTERFACE 0x0027
-#define URB_FUNCTION_LAST 0x0029
-
-typedef LONG USBD_STATUS;
-typedef PVOID USBD_PIPE_HANDLE;
-typedef PVOID USBD_CONFIGURATION_HANDLE;
-typedef PVOID USBD_INTERFACE_HANDLE;
-
-#define USBD_ERROR(Status) ((USBD_STATUS)(Status) < 0)
-#define USBD_HALTED(Status) ((ULONG)(Status) >> 30 == 3)
-#define USBD_PENDING(Status) ((ULONG)(Status) >> 30 == 1)
-#define USBD_STATUS(Status) ((ULONG)(Status) & 0x0FFFFFFFL)
-#define USBD_SUCCESS(Status) ((USBD_STATUS)(Status) >= 0)
-
-#define USBD_STATUS_SUCCESS ((USBD_STATUS)0x00000000L)
-#define USBD_STATUS_PENDING ((USBD_STATUS)0x40000000L)
-#define USBD_STATUS_HALTED ((USBD_STATUS)0xC0000000L)
-#define USBD_STATUS_ERROR ((USBD_STATUS)0x80000000L)
-#define USBD_STATUS_NO_MEMORY ((USBD_STATUS)0x80000100L)
-#define USBD_STATUS_INVALID_URB_FUNCTION ((USBD_STATUS)0x80000200L)
-#define USBD_STATUS_INVALID_PARAMETER ((USBD_STATUS)0x80000300L)
-#define USBD_STATUS_ERROR_BUSY ((USBD_STATUS)0x80000400L)
-#define USBD_STATUS_REQUEST_FAILED ((USBD_STATUS)0x80000500L)
-#define USBD_STATUS_INVALID_PIPE_HANDLE ((USBD_STATUS)0x80000600L)
-#define USBD_STATUS_NO_BANDWIDTH ((USBD_STATUS)0x80000700L)
-#define USBD_STATUS_INTERNAL_HC_ERROR ((USBD_STATUS)0x80000800L)
-#define USBD_STATUS_ERROR_SHORT_TRANSFER ((USBD_STATUS)0x80000900L)
-#define USBD_STATUS_CRC ((USBD_STATUS)0xC0000001L)
-#define USBD_STATUS_BTSTUFF ((USBD_STATUS)0xC0000002L)
-#define USBD_STATUS_DATA_TOGGLE_MISMATCH ((USBD_STATUS)0xC0000003L)
-#define USBD_STATUS_STALL_PID ((USBD_STATUS)0xC0000004L)
-#define USBD_STATUS_DEV_NOT_RESPONDING ((USBD_STATUS)0xC0000005L)
-#define USBD_STATUS_PID_CHECK_FAILURE ((USBD_STATUS)0xC0000006L)
-#define USBD_STATUS_UNEXPECTED_PID ((USBD_STATUS)0xC0000007L)
-#define USBD_STATUS_DATA_OVERRUN ((USBD_STATUS)0xC0000008L)
-#define USBD_STATUS_DATA_UNDERRUN ((USBD_STATUS)0xC0000009L)
-#define USBD_STATUS_RESERVED1 ((USBD_STATUS)0xC000000AL)
-#define USBD_STATUS_RESERVED2 ((USBD_STATUS)0xC000000BL)
-#define USBD_STATUS_BUFFER_OVERRUN ((USBD_STATUS)0xC000000CL)
-#define USBD_STATUS_BUFFER_UNDERRUN ((USBD_STATUS)0xC000000DL)
-#define USBD_STATUS_NOT_ACCESSED ((USBD_STATUS)0xC000000FL)
-#define USBD_STATUS_FIFO ((USBD_STATUS)0xC0000010L)
-#define USBD_STATUS_ENDPOINT_HALTED ((USBD_STATUS)0xC0000030L)
-#define USBD_STATUS_BAD_START_FRAME ((USBD_STATUS)0xC0000A00L)
-#define USBD_STATUS_ISOCH_REQUEST_FAILED ((USBD_STATUS)0xC0000B00L)
-#define USBD_STATUS_FRAME_CONTROL_OWNED ((USBD_STATUS)0xC0000C00L)
-#define USBD_STATUS_FRAME_CONTROL_NOT_OWNED \
- ((USBD_STATUS)0xC0000D00L)
-#define USBD_STATUS_INAVLID_CONFIGURATION_DESCRIPTOR \
- ((USBD_STATUS)0xC0000F00L)
-#define USBD_STATUS_CANCELING ((USBD_STATUS)0x00020000L)
-
-#define USBD_PIPE_DIRECTION_IN(pipeInformation) \
- ((pipeInformation)->EndpointAddress & USB_ENDPOINT_DIRECTION_MASK)
-
-struct _URB_HEADER {
- USHORT Length;
- USHORT Function;
- USBD_STATUS Status;
- PVOID UsbdDeviceHandle;
- ULONG UsbdFlags;
-};
-
-struct _URB_HCD_AREA {
- PVOID HcdEndpoint;
- PIRP HcdIrp;
- LIST_ENTRY HcdListEntry;
- LIST_ENTRY HcdListEntry2;
- PVOID HcdCurrentIoFlushPointer;
- PVOID HcdExtension;
-};
-
-struct _URB_BULK_OR_INTERRUPT_TRANSFER {
- struct _URB_HEADER Hdr;
- USBD_PIPE_HANDLE PipeHandle;
- ULONG TransferFlags;
- ULONG TransferBufferLength;
- PVOID TransferBuffer;
- PMDL TransferBufferMDL;
- struct _URB *UrbLink;
- struct _URB_HCD_AREA hca;
-};
-
-struct _URB_CONTROL_DESCRIPTOR_REQUEST {
- struct _URB_HEADER Hdr;
- PVOID Reserved;
- ULONG Reserved0;
- ULONG TransferBufferLength;
- PVOID TransferBuffer;
- PMDL TransferBufferMDL;
- struct _URB *UrbLink;
- struct _URB_HCD_AREA hca;
- USHORT Reserved1;
- UCHAR Index;
- UCHAR DescriptorType;
- USHORT LanguageId;
- USHORT Reserved2;
-};
-
-struct _URB_CONTROL_FEATURE_REQUEST {
- struct _URB_HEADER Hdr;
- PVOID Reserved;
- ULONG Reserved2;
- ULONG Reserved3;
- PVOID Reserved4;
- PMDL Reserved5;
- struct _URB *UrbLink;
- struct _URB_HCD_AREA hca;
- USHORT Reserved0;
- USHORT FeatureSelector;
- USHORT Index;
- USHORT Reserved1;
-};
-
-struct _URB_CONTROL_GET_CONFIGURATION_REQUEST {
- struct _URB_HEADER Hdr;
- PVOID Reserved;
- ULONG Reserved0;
- ULONG TransferBufferLength;
- PVOID TransferBuffer;
- PMDL TransferBufferMDL;
- struct _URB *UrbLink;
- struct _URB_HCD_AREA hca;
- UCHAR Reserved1[8];
-};
-
-struct _URB_CONTROL_GET_INTERFACE_REQUEST {
- struct _URB_HEADER Hdr;
- PVOID Reserved;
- ULONG Reserved0;
- ULONG TransferBufferLength;
- PVOID TransferBuffer;
- PMDL TransferBufferMDL;
- struct _URB *UrbLink;
- struct _URB_HCD_AREA hca;
- UCHAR Reserved1[4];
- USHORT Interface;
- USHORT Reserved2;
-};
-
-struct _URB_CONTROL_GET_STATUS_REQUEST {
- struct _URB_HEADER Hdr;
- PVOID Reserved;
- ULONG Reserved0;
- ULONG TransferBufferLength;
- PVOID TransferBuffer;
- PMDL TransferBufferMDL;
- struct _URB *UrbLink;
- struct _URB_HCD_AREA hca;
- UCHAR Reserved1[4];
- USHORT Index;
- USHORT Reserved2;
-};
-
-struct _URB_CONTROL_TRANSFER {
- struct _URB_HEADER Hdr;
- USBD_PIPE_HANDLE PipeHandle;
- ULONG TransferFlags;
- ULONG TransferBufferLength;
- PVOID TransferBuffer;
- PMDL TransferBufferMDL;
- struct _URB *UrbLink;
- struct _URB_HCD_AREA hca;
- UCHAR SetupPacket[8];
-};
-
-struct _URB_CONTROL_VENDOR_OR_CLASS_REQUEST {
- struct _URB_HEADER Hdr;
- PVOID Reserved;
- ULONG TransferFlags;
- ULONG TransferBufferLength;
- PVOID TransferBuffer;
- PMDL TransferBufferMDL;
- struct _URB *UrbLink;
- struct _URB_HCD_AREA hca;
- UCHAR RequestTypeReservedBits;
- UCHAR Request;
- USHORT Value;
- USHORT Index;
- USHORT Reserved1;
-};
-
-struct _URB_FRAME_LENGTH_CONTROL {
- struct _URB_HEADER Hdr;
-};
-
-struct _URB_GET_CURRENT_FRAME_NUMBER {
- struct _URB_HEADER Hdr;
- ULONG FrameNumber;
-};
-
-struct _URB_GET_FRAME_LENGTH {
- struct _URB_HEADER Hdr;
- ULONG FrameLength;
- ULONG FrameNumber;
-};
-
-typedef struct _USBD_ISO_PACKET_DESCRIPTOR {
- ULONG Offset;
- ULONG Length;
- USBD_STATUS Status;
-} USBD_ISO_PACKET_DESCRIPTOR, *PUSBD_ISO_PACKET_DESCRIPTOR;
-
-struct _URB_ISOCH_TRANSFER {
- struct _URB_HEADER Hdr;
- USBD_PIPE_HANDLE PipeHandle;
- ULONG TransferFlags;
- ULONG TransferBufferLength;
- PVOID TransferBuffer;
- PMDL TransferBufferMDL;
- struct _URB *UrbLink;
- struct _URB_HCD_AREA hca;
- ULONG StartFrame;
- ULONG NumberOfPackets;
- ULONG ErrorCount;
- USBD_ISO_PACKET_DESCRIPTOR IsoPacket[1];
-};
-
-struct _URB_PIPE_REQUEST {
- struct _URB_HEADER Hdr;
- USBD_PIPE_HANDLE PipeHandle;
- ULONG Reserved;
-};
-
-struct _URB_SET_FRAME_LENGTH {
- struct _URB_HEADER Hdr;
- LONG FrameLengthDelta;
-};
-
-typedef struct _USBD_DEVICE_INFORMATION {
- ULONG OffsetNext;
- PVOID UsbdDeviceHandle;
- USB_DEVICE_DESCRIPTOR DeviceDescriptor;
-} USBD_DEVICE_INFORMATION, *PUSBD_DEVICE_INFORMATION;
-
-typedef enum _USBD_PIPE_TYPE {
- UsbdPipeTypeControl,
- UsbdPipeTypeIsochronous,
- UsbdPipeTypeBulk,
- UsbdPipeTypeInterrupt
-} USBD_PIPE_TYPE;
-
-/* USBD_PIPE_INFORMATION.PipeFlags constants */
-#define USBD_PF_CHANGE_MAX_PACKET 0x00000001
-#define USBD_PF_DOUBLE_BUFFER 0x00000002
-#define USBD_PF_ENABLE_RT_THREAD_ACCESS 0x00000004
-#define USBD_PF_MAP_ADD_TRANSFERS 0x00000008
-
-typedef struct _USBD_PIPE_INFORMATION {
- USHORT MaximumPacketSize;
- UCHAR EndpointAddress;
- UCHAR Interval;
- USBD_PIPE_TYPE PipeType;
- USBD_PIPE_HANDLE PipeHandle;
- ULONG MaximumTransferSize;
- ULONG PipeFlags;
-} USBD_PIPE_INFORMATION, *PUSBD_PIPE_INFORMATION;
-
-typedef struct _USBD_INTERFACE_INFORMATION {
- USHORT Length;
- UCHAR InterfaceNumber;
- UCHAR AlternateSetting;
- UCHAR Class;
- UCHAR SubClass;
- UCHAR Protocol;
- UCHAR Reserved;
- USBD_INTERFACE_HANDLE InterfaceHandle;
- ULONG NumberOfPipes;
- USBD_PIPE_INFORMATION Pipes[1];
-} USBD_INTERFACE_INFORMATION, *PUSBD_INTERFACE_INFORMATION;
-
-struct _URB_SELECT_CONFIGURATION {
- struct _URB_HEADER Hdr;
- PUSB_CONFIGURATION_DESCRIPTOR ConfigurationDescriptor;
- USBD_CONFIGURATION_HANDLE ConfigurationHandle;
- USBD_INTERFACE_INFORMATION Interface;
-};
-
-struct _URB_SELECT_INTERFACE {
- struct _URB_HEADER Hdr;
- USBD_CONFIGURATION_HANDLE ConfigurationHandle;
- USBD_INTERFACE_INFORMATION Interface;
-};
-
-typedef struct _USBD_VERSION_INFORMATION {
- ULONG USBDI_Version;
- ULONG Supported_USB_Version;
-} USBD_VERSION_INFORMATION, *PUSBD_VERSION_INFORMATION;
-
-typedef struct _URB {
- union {
- struct _URB_HEADER UrbHeader;
- struct _URB_SELECT_INTERFACE UrbSelectInterface;
- struct _URB_SELECT_CONFIGURATION UrbSelectConfiguration;
- struct _URB_PIPE_REQUEST UrbPipeRequest;
- struct _URB_FRAME_LENGTH_CONTROL UrbFrameLengthControl;
- struct _URB_GET_FRAME_LENGTH UrbGetFrameLength;
- struct _URB_SET_FRAME_LENGTH UrbSetFrameLength;
- struct _URB_GET_CURRENT_FRAME_NUMBER UrbGetCurrentFrameNumber;
- struct _URB_CONTROL_TRANSFER UrbControlTransfer;
- struct _URB_BULK_OR_INTERRUPT_TRANSFER UrbBulkOrInterruptTransfer;
- struct _URB_ISOCH_TRANSFER UrbIsochronousTransfer;
- struct _URB_CONTROL_DESCRIPTOR_REQUEST UrbControlDescriptorRequest;
- struct _URB_CONTROL_GET_STATUS_REQUEST UrbControlGetStatusRequest;
- struct _URB_CONTROL_FEATURE_REQUEST UrbControlFeatureRequest;
- struct _URB_CONTROL_VENDOR_OR_CLASS_REQUEST UrbControlVendorClassRequest;
- struct _URB_CONTROL_GET_INTERFACE_REQUEST UrbControlGetInterfaceRequest;
- struct _URB_CONTROL_GET_CONFIGURATION_REQUEST UrbControlGetConfigurationRequest;
- };
-} URB, *PURB;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* defined __USB_H */
-
-#endif /* __USBDI_H */
diff --git a/winsup/w32api/include/ddk/usbioctl.h b/winsup/w32api/include/ddk/usbioctl.h
deleted file mode 100644
index abd30b6ad..000000000
--- a/winsup/w32api/include/ddk/usbioctl.h
+++ /dev/null
@@ -1,353 +0,0 @@
-/*
- * usbioctl.h
- *
- * USB IOCTL interface.
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- * Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __USBIOCTL_H
-#define __USBIOCTL_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-#include "usb100.h"
-#include "usbiodef.h"
-
-#define USBD_PORT_ENABLED 1
-#define USBD_PORT_CONNECTED 2
-
-#define IOCTL_INTERNAL_USB_CYCLE_PORT \
- CTL_CODE(FILE_DEVICE_USB, USB_CYCLE_PORT, METHOD_NEITHER, FILE_ANY_ACCESS)
-
-#define IOCTL_INTERNAL_USB_ENABLE_PORT \
- CTL_CODE(FILE_DEVICE_USB, USB_ENABLE_PORT, METHOD_NEITHER, FILE_ANY_ACCESS)
-
-#define IOCTL_INTERNAL_USB_GET_BUS_INFO \
- CTL_CODE(FILE_DEVICE_USB, USB_GET_BUS_INFO, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_INTERNAL_USB_GET_BUSGUID_INFO \
- CTL_CODE(FILE_DEVICE_USB, USB_GET_BUSGUID_INFO, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_INTERNAL_USB_GET_CONTROLLER_NAME \
- CTL_CODE(FILE_DEVICE_USB, USB_GET_CONTROLLER_NAME, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_INTERNAL_USB_GET_DEVICE_HANDLE \
- CTL_CODE(FILE_DEVICE_USB, USB_GET_DEVICE_HANDLE, METHOD_NEITHER, FILE_ANY_ACCESS)
-
-#define IOCTL_INTERNAL_USB_GET_HUB_COUNT \
- CTL_CODE(FILE_DEVICE_USB, USB_GET_HUB_COUNT, METHOD_NEITHER, FILE_ANY_ACCESS)
-
-#define IOCTL_INTERNAL_USB_GET_HUB_NAME \
- CTL_CODE(FILE_DEVICE_USB, USB_GET_HUB_NAME, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_INTERNAL_USB_GET_PARENT_HUB_INFO \
- CTL_CODE(FILE_DEVICE_USB, USB_GET_PARENT_HUB_INFO, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_INTERNAL_USB_GET_PORT_STATUS \
- CTL_CODE(FILE_DEVICE_USB, USB_GET_PORT_STATUS, METHOD_NEITHER, FILE_ANY_ACCESS)
-
-#define IOCTL_INTERNAL_USB_RESET_PORT \
- CTL_CODE(FILE_DEVICE_USB, USB_RESET_PORT, METHOD_NEITHER, FILE_ANY_ACCESS)
-
-#define IOCTL_INTERNAL_USB_GET_ROOTHUB_PDO \
- CTL_CODE(FILE_DEVICE_USB, USB_GET_ROOTHUB_PDO, METHOD_NEITHER, FILE_ANY_ACCESS)
-
-#define IOCTL_INTERNAL_USB_SUBMIT_IDLE_NOTIFICATION \
- CTL_CODE(FILE_DEVICE_USB, USB_IDLE_NOTIFICATION, METHOD_NEITHER, FILE_ANY_ACCESS)
-
-#define IOCTL_INTERNAL_USB_SUBMIT_URB \
- CTL_CODE(FILE_DEVICE_USB, USB_SUBMIT_URB, METHOD_NEITHER, FILE_ANY_ACCESS)
-
-
-#define IOCTL_USB_DIAG_IGNORE_HUBS_ON \
- CTL_CODE(FILE_DEVICE_USB, USB_DIAG_IGNORE_HUBS_ON, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_USB_DIAG_IGNORE_HUBS_OFF \
- CTL_CODE(FILE_DEVICE_USB, USB_DIAG_IGNORE_HUBS_OFF, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_USB_DIAGNOSTIC_MODE_OFF \
- CTL_CODE(FILE_DEVICE_USB, HCD_DIAGNOSTIC_MODE_OFF, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_USB_DIAGNOSTIC_MODE_ON \
- CTL_CODE(FILE_DEVICE_USB, HCD_DIAGNOSTIC_MODE_ON, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_USB_GET_DESCRIPTOR_FROM_NODE_CONNECTION \
- CTL_CODE(FILE_DEVICE_USB, USB_GET_DESCRIPTOR_FROM_NODE_CONNECTION, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_USB_GET_HUB_CAPABILITIES \
- CTL_CODE(FILE_DEVICE_USB, USB_GET_HUB_CAPABILITIES, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_USB_GET_ROOT_HUB_NAME \
- CTL_CODE(FILE_DEVICE_USB, HCD_GET_ROOT_HUB_NAME, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_GET_HCD_DRIVERKEY_NAME \
- CTL_CODE(FILE_DEVICE_USB, HCD_GET_DRIVERKEY_NAME, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_USB_GET_NODE_INFORMATION \
- CTL_CODE(FILE_DEVICE_USB, USB_GET_NODE_INFORMATION, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_USB_GET_NODE_CONNECTION_INFORMATION \
- CTL_CODE(FILE_DEVICE_USB, USB_GET_NODE_CONNECTION_INFORMATION, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_USB_GET_NODE_CONNECTION_ATTRIBUTES \
- CTL_CODE(FILE_DEVICE_USB, USB_GET_NODE_CONNECTION_ATTRIBUTES, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_USB_GET_NODE_CONNECTION_NAME \
- CTL_CODE(FILE_DEVICE_USB, USB_GET_NODE_CONNECTION_NAME, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_USB_GET_NODE_CONNECTION_DRIVERKEY_NAME \
- CTL_CODE(FILE_DEVICE_USB, USB_GET_NODE_CONNECTION_DRIVERKEY_NAME, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_USB_HCD_DISABLE_PORT \
- CTL_CODE(FILE_DEVICE_USB, HCD_DISABLE_PORT, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_USB_HCD_ENABLE_PORT \
- CTL_CODE(FILE_DEVICE_USB, HCD_ENABLE_PORT, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_USB_HCD_GET_STATS_1 \
- CTL_CODE(FILE_DEVICE_USB, HCD_GET_STATS_1, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_USB_HCD_GET_STATS_2 \
- CTL_CODE(FILE_DEVICE_USB, HCD_GET_STATS_2, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-
-typedef struct _USB_HUB_CAPABILITIES {
- ULONG HubIs2xCapable : 1;
-} USB_HUB_CAPABILITIES, *PUSB_HUB_CAPABILITIES;
-
-typedef enum _USB_CONNECTION_STATUS {
- NoDeviceConnected,
- DeviceConnected,
- DeviceFailedEnumeration,
- DeviceGeneralFailure,
- DeviceCausedOvercurrent,
- DeviceNotEnoughPower,
- DeviceNotEnoughBandwidth,
- DeviceHubNestedTooDeeply,
- DeviceInLegacyHub
-} USB_CONNECTION_STATUS, *PUSB_CONNECTION_STATUS;
-
-#include <pshpack1.h>
-
-typedef struct _USB_DESCRIPTOR_REQUEST {
- ULONG ConnectionIndex;
- struct {
- UCHAR bmRequest;
- UCHAR bRequest;
- USHORT wValue;
- USHORT wIndex;
- USHORT wLength;
- } SetupPacket;
- UCHAR Data[0];
-} USB_DESCRIPTOR_REQUEST, *PUSB_DESCRIPTOR_REQUEST;
-
-typedef struct _USB_HCD_DRIVERKEY_NAME {
- ULONG ActualLength;
- WCHAR DriverKeyName[1];
-} USB_HCD_DRIVERKEY_NAME, *PUSB_HCD_DRIVERKEY_NAME;
-
-typedef struct _HCD_ISO_STAT_COUNTERS {
- USHORT LateUrbs;
- USHORT DoubleBufferedPackets;
- USHORT TransfersCF_5ms;
- USHORT TransfersCF_2ms;
- USHORT TransfersCF_1ms;
- USHORT MaxInterruptLatency;
- USHORT BadStartFrame;
- USHORT StaleUrbs;
- USHORT IsoPacketNotAccesed;
- USHORT IsoPacketHWError;
- USHORT SmallestUrbPacketCount;
- USHORT LargestUrbPacketCount;
- USHORT IsoCRC_Error;
- USHORT IsoOVERRUN_Error;
- USHORT IsoINTERNAL_Error;
- USHORT IsoUNKNOWN_Error;
- ULONG IsoBytesTransferred;
- USHORT LateMissedCount;
- USHORT HWIsoMissedCount;
- ULONG Reserved7[8];
-} HCD_ISO_STAT_COUNTERS, *PHCD_ISO_STAT_COUNTERS;
-
-typedef struct _HCD_STAT_COUNTERS {
- ULONG BytesTransferred;
- USHORT IsoMissedCount;
- USHORT DataOverrunErrorCount;
- USHORT CrcErrorCount;
- USHORT ScheduleOverrunCount;
- USHORT TimeoutErrorCount;
- USHORT InternalHcErrorCount;
- USHORT BufferOverrunErrorCount;
- USHORT SWErrorCount;
- USHORT StallPidCount;
- USHORT PortDisableCount;
-} HCD_STAT_COUNTERS, *PHCD_STAT_COUNTERS;
-
-typedef struct _HCD_STAT_INFORMATION_1 {
- ULONG Reserved1;
- ULONG Reserved2;
- ULONG ResetCounters;
- LARGE_INTEGER TimeRead;
- HCD_STAT_COUNTERS Counters;
-} HCD_STAT_INFORMATION_1, *PHCD_STAT_INFORMATION_1;
-
-typedef struct _HCD_STAT_INFORMATION_2 {
- ULONG Reserved1;
- ULONG Reserved2;
- ULONG ResetCounters;
- LARGE_INTEGER TimeRead;
- LONG LockedMemoryUsed;
- HCD_STAT_COUNTERS Counters;
- HCD_ISO_STAT_COUNTERS IsoCounters;
-} HCD_STAT_INFORMATION_2, *PHCD_STAT_INFORMATION_2;
-
-typedef struct _USB_HUB_INFORMATION {
- USB_HUB_DESCRIPTOR HubDescriptor;
- BOOLEAN HubIsBusPowered;
-} USB_HUB_INFORMATION, *PUSB_HUB_INFORMATION;
-
-typedef struct _USB_HUB_NAME {
- ULONG ActualLength;
- WCHAR HubName[1];
-} USB_HUB_NAME, *PUSB_HUB_NAME;
-
-typedef enum _USB_HUB_NODE {
- UsbHub,
- UsbMIParent
-} USB_HUB_NODE;
-
-typedef VOID STDCALL
-(*USB_IDLE_CALLBACK)(
- PVOID Context);
-
-typedef struct _USB_IDLE_CALLBACK_INFO {
- USB_IDLE_CALLBACK IdleCallback;
- PVOID IdleContext;
-} USB_IDLE_CALLBACK_INFO, *PUSB_IDLE_CALLBACK_INFO;
-
-typedef struct _USB_NODE_CONNECTION_ATTRIBUTES {
- ULONG ConnectionIndex;
- USB_CONNECTION_STATUS ConnectionStatus;
- ULONG PortAttributes;
-} USB_NODE_CONNECTION_ATTRIBUTES, *PUSB_NODE_CONNECTION_ATTRIBUTES;
-
-typedef struct _USB_NODE_CONNECTION_DRIVERKEY_NAME {
- ULONG ConnectionIndex;
- ULONG ActualLength;
- WCHAR DriverKeyName[1];
-} USB_NODE_CONNECTION_DRIVERKEY_NAME, *PUSB_NODE_CONNECTION_DRIVERKEY_NAME;
-
-typedef struct _USB_PIPE_INFO {
- USB_ENDPOINT_DESCRIPTOR EndpointDescriptor;
- ULONG ScheduleOffset;
-} USB_PIPE_INFO, *PUSB_PIPE_INFO;
-
-typedef struct _USB_NODE_CONNECTION_INFORMATION {
- ULONG ConnectionIndex;
- USB_DEVICE_DESCRIPTOR DeviceDescriptor;
- UCHAR CurrentConfigurationValue;
- BOOLEAN LowSpeed;
- BOOLEAN DeviceIsHub;
- USHORT DeviceAddress;
- ULONG NumberOfOpenPipes;
- USB_CONNECTION_STATUS ConnectionStatus;
- USB_PIPE_INFO PipeList[0];
-} USB_NODE_CONNECTION_INFORMATION, *PUSB_NODE_CONNECTION_INFORMATION;
-
-typedef struct _USB_NODE_CONNECTION_NAME {
- ULONG ConnectionIndex;
- ULONG ActualLength;
- WCHAR NodeName[1];
-} USB_NODE_CONNECTION_NAME, *PUSB_NODE_CONNECTION_NAME;
-
-typedef struct _USB_MI_PARENT_INFORMATION {
- ULONG NumberOfInterfaces;
-} USB_MI_PARENT_INFORMATION, *PUSB_MI_PARENT_INFORMATION;
-
-typedef struct _USB_NODE_INFORMATION {
- USB_HUB_NODE NodeType;
- union {
- USB_HUB_INFORMATION HubInformation;
- USB_MI_PARENT_INFORMATION MiParentInformation;
- } u;
-} USB_NODE_INFORMATION, *PUSB_NODE_INFORMATION;
-
-#define WMI_USB_DRIVER_INFORMATION 0
-#define WMI_USB_DRIVER_NOTIFICATION 1
-#define WMI_USB_POWER_DEVICE_ENABLE 2
-
-typedef enum _USB_NOTIFICATION_TYPE {
- EnumerationFailure = 0,
- InsufficentBandwidth,
- InsufficentPower,
- OverCurrent,
- ResetOvercurrent,
- AcquireBusInfo,
- AcquireHubName,
- AcquireControllerName,
- HubOvercurrent,
- HubPowerChange,
- HubNestedTooDeeply,
- ModernDeviceInLegacyHub
-} USB_NOTIFICATION_TYPE;
-
-typedef struct _USB_ACQUIRE_INFO {
- USB_NOTIFICATION_TYPE NotificationType;
- ULONG TotalSize;
- WCHAR Buffer[1];
-} USB_ACQUIRE_INFO, *PUSB_ACQUIRE_INFO;
-
-typedef struct _USB_NOTIFICATION {
- USB_NOTIFICATION_TYPE NotificationType;
-} USB_NOTIFICATION, *PUSB_NOTIFICATION;
-
-typedef struct _USB_BUS_NOTIFICATION {
- USB_NOTIFICATION_TYPE NotificationType;
- ULONG TotalBandwidth;
- ULONG ConsumedBandwidth;
- ULONG ControllerNameLength;
-} USB_BUS_NOTIFICATION, *PUSB_BUS_NOTIFICATION;
-
-typedef struct _USB_CONNECTION_NOTIFICATION {
- USB_NOTIFICATION_TYPE NotificationType;
- ULONG ConnectionNumber;
- ULONG RequestedBandwidth;
- ULONG EnumerationFailReason;
- ULONG PowerRequested;
- ULONG HubNameLength;
-} USB_CONNECTION_NOTIFICATION, *PUSB_CONNECTION_NOTIFICATION;
-
-typedef struct _USB_ROOT_HUB_NAME {
- ULONG ActualLength;
- WCHAR RootHubName[1];
-} USB_ROOT_HUB_NAME, *PUSB_ROOT_HUB_NAME;
-
-#include <poppack.h>
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __USBIOCTL_H */
diff --git a/winsup/w32api/include/ddk/usbiodef.h b/winsup/w32api/include/ddk/usbiodef.h
deleted file mode 100644
index 5faa34431..000000000
--- a/winsup/w32api/include/ddk/usbiodef.h
+++ /dev/null
@@ -1,106 +0,0 @@
-/*
- * usbiodef.h
- *
- * USB IOCTL definitions
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- * Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __USBIODEF_H
-#define __USBIODEF_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-
-DEFINE_GUID(GUID_DEVINTERFACE_USB_HUB, \
- 0xf18a0e88, 0xc30c, 0x11d0, 0x88, 0x15, 0x00, 0xa0, 0xc9, 0x06, 0xbe, 0xd8);
-
-DEFINE_GUID(GUID_DEVINTERFACE_USB_DEVICE,
- 0xA5DCBF10L, 0x6530, 0x11D2, 0x90, 0x1F, 0x00, 0xC0, 0x4F, 0xB9, 0x51, 0xED);
-
-DEFINE_GUID(GUID_DEVINTERFACE_USB_HOST_CONTROLLER,
- 0x3abf6f2d, 0x71c4, 0x462a, 0x8a, 0x92, 0x1e, 0x68, 0x61, 0xe6, 0xaf, 0x27);
-
-DEFINE_GUID(GUID_USB_WMI_STD_DATA,
- 0x4E623B20L, 0xCB14, 0x11D1, 0xB3, 0x31, 0x00, 0xA0, 0xC9, 0x59, 0xBB, 0xD2);
-
-DEFINE_GUID(GUID_USB_WMI_STD_NOTIFICATION,
- 0x4E623B20L, 0xCB14, 0x11D1, 0xB3, 0x31, 0x00, 0xA0, 0xC9, 0x59, 0xBB, 0xD2);
-
-#define GUID_CLASS_USBHUB GUID_DEVINTERFACE_USB_HUB
-#define GUID_CLASS_USB_DEVICE GUID_DEVINTERFACE_USB_DEVICE
-#define GUID_CLASS_USB_HOST_CONTROLLER GUID_DEVINTERFACE_USB_HOST_CONTROLLER
-
-#define USB_SUBMIT_URB 0
-#define USB_RESET_PORT 1
-#define USB_GET_ROOTHUB_PDO 3
-#define USB_GET_PORT_STATUS 4
-#define USB_ENABLE_PORT 5
-#define USB_GET_HUB_COUNT 6
-#define USB_CYCLE_PORT 7
-#define USB_GET_HUB_NAME 8
-#define USB_IDLE_NOTIFICATION 9
-#define USB_GET_BUS_INFO 264
-#define USB_GET_CONTROLLER_NAME 265
-#define USB_GET_BUSGUID_INFO 266
-#define USB_GET_PARENT_HUB_INFO 267
-#define USB_GET_DEVICE_HANDLE 268
-
-#define HCD_GET_STATS_1 255
-#define HCD_DIAGNOSTIC_MODE_ON 256
-#define HCD_DIAGNOSTIC_MODE_OFF 257
-#define HCD_GET_ROOT_HUB_NAME 258
-#define HCD_GET_DRIVERKEY_NAME 265
-#define HCD_GET_STATS_2 266
-#define HCD_DISABLE_PORT 268
-#define HCD_ENABLE_PORT 269
-#define HCD_USER_REQUEST 270
-
-#define USB_GET_NODE_INFORMATION 258
-#define USB_GET_NODE_CONNECTION_INFORMATION 259
-#define USB_GET_DESCRIPTOR_FROM_NODE_CONNECTION 260
-#define USB_GET_NODE_CONNECTION_NAME 261
-#define USB_DIAG_IGNORE_HUBS_ON 262
-#define USB_DIAG_IGNORE_HUBS_OFF 263
-#define USB_GET_NODE_CONNECTION_DRIVERKEY_NAME 264
-#define USB_GET_HUB_CAPABILITIES 271
-#define USB_GET_NODE_CONNECTION_ATTRIBUTES 272
-
-#define FILE_DEVICE_USB FILE_DEVICE_UNKNOWN
-
-#define USB_CTL(id) CTL_CODE(FILE_DEVICE_USB, \
- (id), \
- METHOD_BUFFERED, \
- FILE_ANY_ACCESS)
-
-#define USB_KERNEL_CTL(id) CTL_CODE(FILE_DEVICE_USB, \
- (id), \
- METHOD_NEITHER, \
- FILE_ANY_ACCESS)
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __USBIODEF_H */
diff --git a/winsup/w32api/include/ddk/usbscan.h b/winsup/w32api/include/ddk/usbscan.h
deleted file mode 100644
index d9a0b8ab1..000000000
--- a/winsup/w32api/include/ddk/usbscan.h
+++ /dev/null
@@ -1,158 +0,0 @@
-/*
- * usbscan.h
- *
- * USB scanner definitions
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- * Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __USBSCAN_H
-#define __USBSCAN_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-
-#define FILE_DEVICE_USB_SCAN 0x8000
-#define IOCTL_INDEX 0x0800
-
-#define IOCTL_CANCEL_IO \
- CTL_CODE(FILE_DEVICE_USB_SCAN, IOCTL_INDEX + 1, METHOD_BUFFERED,FILE_ANY_ACCESS)
-
-#define IOCTL_GET_VERSION \
- CTL_CODE(FILE_DEVICE_USB_SCAN, IOCTL_INDEX + 0, METHOD_BUFFERED,FILE_ANY_ACCESS)
-
-#define IOCTL_GET_CHANNEL_ALIGN_RQST \
- CTL_CODE(FILE_DEVICE_USB_SCAN, IOCTL_INDEX + 5, METHOD_BUFFERED,FILE_ANY_ACCESS)
-
-#define IOCTL_GET_DEVICE_DESCRIPTOR \
- CTL_CODE(FILE_DEVICE_USB_SCAN, IOCTL_INDEX + 6, METHOD_BUFFERED,FILE_ANY_ACCESS)
-
-#define IOCTL_GET_PIPE_CONFIGURATION \
- CTL_CODE(FILE_DEVICE_USB_SCAN, IOCTL_INDEX + 10,METHOD_BUFFERED,FILE_ANY_ACCESS)
-
-#define IOCTL_GET_USB_DESCRIPTOR \
- CTL_CODE(FILE_DEVICE_USB_SCAN, IOCTL_INDEX + 8, METHOD_BUFFERED,FILE_ANY_ACCESS)
-
-#define IOCTL_READ_REGISTERS \
- CTL_CODE(FILE_DEVICE_USB_SCAN, IOCTL_INDEX + 3, METHOD_BUFFERED,FILE_ANY_ACCESS)
-
-#define IOCTL_RESET_PIPE \
- CTL_CODE(FILE_DEVICE_USB_SCAN, IOCTL_INDEX + 7, METHOD_BUFFERED,FILE_ANY_ACCESS)
-
-#define IOCTL_SEND_USB_REQUEST \
- CTL_CODE(FILE_DEVICE_USB_SCAN, IOCTL_INDEX + 9, METHOD_BUFFERED,FILE_ANY_ACCESS)
-
-#define IOCTL_SET_TIMEOUT \
- CTL_CODE(FILE_DEVICE_USB_SCAN, IOCTL_INDEX + 11,METHOD_BUFFERED,FILE_ANY_ACCESS)
-
-#define IOCTL_WAIT_ON_DEVICE_EVENT \
- CTL_CODE(FILE_DEVICE_USB_SCAN, IOCTL_INDEX + 2, METHOD_BUFFERED,FILE_ANY_ACCESS)
-
-#define IOCTL_WRITE_REGISTERS \
- CTL_CODE(FILE_DEVICE_USB_SCAN, IOCTL_INDEX + 4, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-
-#define MAX_NUM_PIPES 8
-
-#define BULKIN_FLAG 0x80
-
-typedef struct _CHANNEL_INFO {
- OUT ULONG EventChannelSize;
- OUT ULONG uReadDataAlignment;
- OUT ULONG uWriteDataAlignment;
-}CHANNEL_INFO, *PCHANNEL_INFO;
-
-typedef struct _DEVICE_DESCRIPTOR {
- OUT USHORT usVendorId;
- OUT USHORT usProductId;
- OUT USHORT usBcdDevice;
- OUT USHORT usLanguageId;
-} DEVICE_DESCRIPTOR, *PDEVICE_DESCRIPTOR;
-
-typedef struct _DRV_VERSION {
- OUT ULONG major;
- OUT ULONG minor;
- OUT ULONG internal;
-} DRV_VERSION, *PDRV_VERSION;
-
-typedef struct _IO_BLOCK {
- IN ULONG uOffset;
- IN ULONG uLength;
- IN OUT PUCHAR pbyData;
- IN ULONG uIndex;
-} IO_BLOCK, *PIO_BLOCK;
-
-typedef struct _IO_BLOCK_EX {
- IN ULONG uOffset;
- IN ULONG uLength;
- IN OUT PUCHAR pbyData;
- IN ULONG uIndex;
- IN UCHAR bRequest;
- IN UCHAR bmRequestType;
- IN UCHAR fTransferDirectionIn;
-} IO_BLOCK_EX, *PIO_BLOCK_EX;
-
-typedef struct _USBSCAN_GET_DESCRIPTOR {
- IN UCHAR DescriptorType;
- IN UCHAR Index;
- IN USHORT LanguageId;
-} USBSCAN_GET_DESCRIPTOR, *PUSBSCAN_GET_DESCRIPTOR;
-
-typedef enum _RAW_PIPE_TYPE {
- USBSCAN_PIPE_CONTROL,
- USBSCAN_PIPE_ISOCHRONOUS,
- USBSCAN_PIPE_BULK,
- USBSCAN_PIPE_INTERRUPT
-} RAW_PIPE_TYPE;
-
-typedef struct _USBSCAN_PIPE_INFORMATION {
- USHORT MaximumPacketSize;
- UCHAR EndpointAddress;
- UCHAR Interval;
- RAW_PIPE_TYPE PipeType;
-} USBSCAN_PIPE_INFORMATION, *PUSBSCAN_PIPE_INFORMATION;
-
-typedef struct _USBSCAN_PIPE_CONFIGURATION {
- OUT ULONG NumberOfPipes;
- OUT USBSCAN_PIPE_INFORMATION PipeInfo[MAX_NUM_PIPES];
-} USBSCAN_PIPE_CONFIGURATION, *PUSBSCAN_PIPE_CONFIGURATION;
-
-typedef struct _USBSCAN_TIMEOUT {
- IN ULONG TimeoutRead;
- IN ULONG TimeoutWrite;
- IN ULONG TimeoutEvent;
-} USBSCAN_TIMEOUT, *PUSBSCAN_TIMEOUT;
-
-typedef enum _PIPE_TYPE {
- EVENT_PIPE,
- READ_DATA_PIPE,
- WRITE_DATA_PIPE,
- ALL_PIPE
-} PIPE_TYPE;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __USBSCAN_H */
diff --git a/winsup/w32api/include/ddk/usbuser.h b/winsup/w32api/include/ddk/usbuser.h
deleted file mode 100644
index 4c4b9e9a8..000000000
--- a/winsup/w32api/include/ddk/usbuser.h
+++ /dev/null
@@ -1,328 +0,0 @@
-/*
- * usbuser.h
- *
- * USB user mode IOCTL interface
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- * Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __USBUSER_H
-#define __USBUSER_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-#include "usb.h"
-#include "usbiodef.h"
-
-#include <pshpack1.h>
-
-#define USBUSER_VERSION 0x0004
-
-#define IOCTL_USB_USER_REQUEST USB_CTL(HCD_USER_REQUEST)
-
-#ifndef IOCTL_USB_DIAGNOSTIC_MODE_ON
-#define IOCTL_USB_DIAGNOSTIC_MODE_ON USB_CTL(HCD_DIAGNOSTIC_MODE_ON)
-#endif
-#ifndef IOCTL_USB_DIAGNOSTIC_MODE_OFF
-#define IOCTL_USB_DIAGNOSTIC_MODE_OFF USB_CTL(HCD_DIAGNOSTIC_MODE_OFF)
-#endif
-
-#ifndef IOCTL_USB_GET_ROOT_HUB_NAME
-#define IOCTL_USB_GET_ROOT_HUB_NAME USB_CTL(HCD_GET_ROOT_HUB_NAME)
-#endif
-#ifndef IOCTL_GET_HCD_DRIVERKEY_NAME
-#define IOCTL_GET_HCD_DRIVERKEY_NAME USB_CTL(HCD_GET_DRIVERKEY_NAME)
-#endif
-
-typedef enum _USB_USER_ERROR_CODE {
- UsbUserSuccess = 0,
- UsbUserNotSupported,
- UsbUserInvalidRequestCode,
- UsbUserFeatureDisabled,
- UsbUserInvalidHeaderParameter,
- UsbUserInvalidParameter,
- UsbUserMiniportError,
- UsbUserBufferTooSmall,
- UsbUserErrorNotMapped,
- UsbUserDeviceNotStarted,
- UsbUserNoDeviceConnected
-} USB_USER_ERROR_CODE;
-
-#define USBUSER_GET_CONTROLLER_INFO_0 0x00000001
-#define USBUSER_GET_CONTROLLER_DRIVER_KEY 0x00000002
-#define USBUSER_PASS_THRU 0x00000003
-#define USBUSER_GET_POWER_STATE_MAP 0x00000004
-#define USBUSER_GET_BANDWIDTH_INFORMATION 0x00000005
-#define USBUSER_GET_BUS_STATISTICS_0 0x00000006
-#define USBUSER_GET_ROOTHUB_SYMBOLIC_NAME 0x00000007
-#define USBUSER_GET_USB_DRIVER_VERSION 0x00000008
-#define USBUSER_GET_USB2_HW_VERSION 0x00000009
-#define USBUSER_OP_SEND_ONE_PACKET 0x10000001
-#define USBUSER_OP_RAW_RESET_PORT 0x20000001
-#define USBUSER_OP_OPEN_RAW_DEVICE 0x20000002
-#define USBUSER_OP_CLOSE_RAW_DEVICE 0x20000003
-#define USBUSER_OP_SEND_RAW_COMMAND 0x20000004
-#define USBUSER_INVALID_REQUEST 0xFFFFFFF0
-#define USBUSER_OP_MASK_DEVONLY_API 0x10000000
-#define USBUSER_OP_MASK_HCTEST_API 0x20000000
-
-#define USB_PACKETFLAG_LOW_SPEED 0x00000001
-#define USB_PACKETFLAG_FULL_SPEED 0x00000002
-#define USB_PACKETFLAG_HIGH_SPEED 0x00000004
-#define USB_PACKETFLAG_ASYNC_IN 0x00000008
-#define USB_PACKETFLAG_ASYNC_OUT 0x00000010
-#define USB_PACKETFLAG_ISO_IN 0x00000020
-#define USB_PACKETFLAG_ISO_OUT 0x00000040
-#define USB_PACKETFLAG_SETUP 0x00000080
-#define USB_PACKETFLAG_TOGGLE0 0x00000100
-#define USB_PACKETFLAG_TOGGLE1 0x00000200
-
-typedef struct _PACKET_PARAMETERS {
- UCHAR DeviceAddress;
- UCHAR EndpointAddress;
- USHORT MaximumPacketSize;
- ULONG Timeout;
- ULONG Flags;
- ULONG DataLength;
- USHORT HubDeviceAddress;
- USHORT PortTTNumber;
- UCHAR ErrorCount;
- UCHAR Pad[3];
- USBD_STATUS UsbdStatusCode;
- UCHAR Data[4];
-} PACKET_PARAMETERS, *PPACKET_PARAMETERS;
-
-typedef struct _RAW_RESET_PORT_PARAMETERS {
- USHORT PortNumber;
- USHORT PortStatus;
-} RAW_RESET_PORT_PARAMETERS, *PRAW_RESET_PORT_PARAMETERS;
-
-typedef struct _USB_BANDWIDTH_INFO {
- ULONG DeviceCount;
- ULONG TotalBusBandwidth;
- ULONG Total32secBandwidth;
- ULONG AllocedBulkAndControl;
- ULONG AllocedIso;
- ULONG AllocedInterrupt_1ms;
- ULONG AllocedInterrupt_2ms;
- ULONG AllocedInterrupt_4ms;
- ULONG AllocedInterrupt_8ms;
- ULONG AllocedInterrupt_16ms;
- ULONG AllocedInterrupt_32ms;
-} USB_BANDWIDTH_INFO, *PUSB_BANDWIDTH_INFO;
-
-typedef struct _USBUSER_REQUEST_HEADER {
- ULONG UsbUserRequest;
- USB_USER_ERROR_CODE UsbUserStatusCode;
- ULONG RequestBufferLength;
- ULONG ActualBufferLength;
-} USBUSER_REQUEST_HEADER, *PUSBUSER_REQUEST_HEADER;
-
-typedef struct _USBUSER_BANDWIDTH_INFO_REQUEST {
- USBUSER_REQUEST_HEADER Header;
- USB_BANDWIDTH_INFO BandwidthInformation;
-} USBUSER_BANDWIDTH_INFO_REQUEST, *PUSBUSER_BANDWIDTH_INFO_REQUEST;
-
-typedef struct _USB_BUS_STATISTICS_0 {
- ULONG DeviceCount;
- LARGE_INTEGER CurrentSystemTime;
- ULONG CurrentUsbFrame;
- ULONG BulkBytes;
- ULONG IsoBytes;
- ULONG InterruptBytes;
- ULONG ControlDataBytes;
- ULONG PciInterruptCount;
- ULONG HardResetCount;
- ULONG WorkerSignalCount;
- ULONG CommonBufferBytes;
- ULONG WorkerIdleTimeMs;
- BOOLEAN RootHubEnabled;
- UCHAR RootHubDevicePowerState;
- UCHAR Unused;
- UCHAR NameIndex;
-} USB_BUS_STATISTICS_0, *PUSB_BUS_STATISTICS_0;
-
-typedef struct _USBUSER_BUS_STATISTICS_0_REQUEST {
- USBUSER_REQUEST_HEADER Header;
- USB_BUS_STATISTICS_0 BusStatistics0;
-} USBUSER_BUS_STATISTICS_0_REQUEST, *PUSBUSER_BUS_STATISTICS_0_REQUEST;
-
-/* USB_CONTROLLER_INFO_0.HcFeatureFlags constants */
-#define USB_HC_FEATURE_FLAG_PORT_POWER_SWITCHING 0x00000001
-#define USB_HC_FEATURE_FLAG_SEL_SUSPEND 0x00000002
-#define USB_HC_FEATURE_LEGACY_BIOS 0x00000004
-
-typedef struct _USB_CLOSE_RAW_DEVICE_PARAMETERS {
- ULONG xxx;
-} USB_CLOSE_RAW_DEVICE_PARAMETERS , *PUSB_CLOSE_RAW_DEVICE_PARAMETERS;
-
-typedef struct _USBUSER_CLOSE_RAW_DEVICE {
- USBUSER_REQUEST_HEADER Header;
- USB_CLOSE_RAW_DEVICE_PARAMETERS Parameters;
-} USBUSER_CLOSE_RAW_DEVICE, *PUSBUSER_CLOSE_RAW_DEVICE;
-
-typedef struct _USB_CONTROLLER_INFO_0 {
- ULONG PciVendorId;
- ULONG PciDeviceId;
- ULONG PciRevision;
- ULONG NumberOfRootPorts;
- USB_CONTROLLER_FLAVOR ControllerFlavor;
- ULONG HcFeatureFlags;
-} USB_CONTROLLER_INFO_0 , *PUSB_CONTROLLER_INFO_0;
-
-typedef struct _USBUSER_CONTROLLER_INFO_0 {
- USBUSER_REQUEST_HEADER Header;
- USB_CONTROLLER_INFO_0 Info0;
-} USBUSER_CONTROLLER_INFO_0, *PUSBUSER_CONTROLLER_INFO_0;
-
-typedef struct _USB_DRIVER_VERSION_PARAMETERS {
- ULONG DriverTrackingCode;
- ULONG USBDI_Version;
- ULONG USBUSER_Version;
- BOOLEAN CheckedPortDriver;
- BOOLEAN CheckedMiniportDriver;
- USHORT USB_Version;
-} USB_DRIVER_VERSION_PARAMETERS , *PUSB_DRIVER_VERSION_PARAMETERS;
-
-typedef struct _USBUSER_GET_DRIVER_VERSION {
- USBUSER_REQUEST_HEADER Header;
- USB_DRIVER_VERSION_PARAMETERS Parameters;
-} USBUSER_GET_DRIVER_VERSION, *PUSBUSER_GET_DRIVER_VERSION;
-
-typedef struct _USB_OPEN_RAW_DEVICE_PARAMETERS {
- USHORT PortStatus;
- USHORT MaxPacketEp0;
-} USB_OPEN_RAW_DEVICE_PARAMETERS , *PUSB_OPEN_RAW_DEVICE_PARAMETERS;
-
-typedef struct _USBUSER_OPEN_RAW_DEVICE {
- USBUSER_REQUEST_HEADER Header;
- USB_OPEN_RAW_DEVICE_PARAMETERS Parameters;
-} USBUSER_OPEN_RAW_DEVICE, *PUSBUSER_OPEN_RAW_DEVICE;
-
-typedef enum _WDMUSB_POWER_STATE {
- WdmUsbPowerNotMapped = 0,
- WdmUsbPowerSystemUnspecified = 100,
- WdmUsbPowerSystemWorking,
- WdmUsbPowerSystemSleeping1,
- WdmUsbPowerSystemSleeping2,
- WdmUsbPowerSystemSleeping3,
- WdmUsbPowerSystemHibernate,
- WdmUsbPowerSystemShutdown,
- WdmUsbPowerDeviceUnspecified = 200,
- WdmUsbPowerDeviceD0,
- WdmUsbPowerDeviceD1,
- WdmUsbPowerDeviceD2,
- WdmUsbPowerDeviceD3
-} WDMUSB_POWER_STATE;
-
-typedef struct _USB_POWER_INFO {
- WDMUSB_POWER_STATE SystemState;
- WDMUSB_POWER_STATE HcDevicePowerState;
- WDMUSB_POWER_STATE HcDeviceWake;
- WDMUSB_POWER_STATE HcSystemWake;
- WDMUSB_POWER_STATE RhDevicePowerState;
- WDMUSB_POWER_STATE RhDeviceWake;
- WDMUSB_POWER_STATE RhSystemWake;
- WDMUSB_POWER_STATE LastSystemSleepState;
- BOOLEAN CanWakeup;
- BOOLEAN IsPowered;
-} USB_POWER_INFO, *PUSB_POWER_INFO;
-
-typedef struct _USBUSER_POWER_INFO_REQUEST {
- USBUSER_REQUEST_HEADER Header;
- USB_POWER_INFO PowerInformation;
-} USBUSER_POWER_INFO_REQUEST, *PUSBUSER_POWER_INFO_REQUEST;
-
-typedef struct _USB_UNICODE_NAME {
- ULONG Length;
- WCHAR String[1];
-} USB_UNICODE_NAME, *PUSB_UNICODE_NAME;
-
-typedef struct _USBUSER_CONTROLLER_UNICODE_NAME {
- USBUSER_REQUEST_HEADER Header;
- USB_UNICODE_NAME UnicodeName;
-} USBUSER_CONTROLLER_UNICODE_NAME, *PUSBUSER_CONTROLLER_UNICODE_NAME;
-
-typedef struct _USB_PASS_THRU_PARAMETERS {
- GUID FunctionGUID;
- ULONG ParameterLength;
- UCHAR Parameters[4];
-} USB_PASS_THRU_PARAMETERS, *PUSB_PASS_THRU_PARAMETERS;
-
-typedef struct _USBUSER_PASS_THRU_REQUEST {
- USBUSER_REQUEST_HEADER Header;
- USB_PASS_THRU_PARAMETERS PassThru;
-} USBUSER_PASS_THRU_REQUEST, *PUSBUSER_PASS_THRU_REQUEST;
-
-typedef struct _USBUSER_RAW_RESET_ROOT_PORT {
- USBUSER_REQUEST_HEADER Header;
- RAW_RESET_PORT_PARAMETERS Parameters;
-} USBUSER_RAW_RESET_ROOT_PORT, *PUSBUSER_RAW_RESET_ROOT_PORT;
-
-typedef struct _USBUSER_SEND_ONE_PACKET {
- USBUSER_REQUEST_HEADER Header;
- PACKET_PARAMETERS PacketParameters;
-} USBUSER_SEND_ONE_PACKET, *PUSBUSER_SEND_ONE_PACKET;
-
-typedef struct _USB_SEND_RAW_COMMAND_PARAMETERS {
- UCHAR Usb_bmRequest;
- UCHAR Usb_bRequest;
- USHORT Usb_wVlaue;
- USHORT Usb_wIndex;
- USHORT Usb_wLength;
- USHORT DeviceAddress;
- USHORT MaximumPacketSize;
- ULONG Timeout;
- ULONG DataLength;
- USBD_STATUS UsbdStatusCode;
- UCHAR Data[4];
-} USB_SEND_RAW_COMMAND_PARAMETERS, *PUSB_SEND_RAW_COMMAND_PARAMETERS;
-
-typedef struct _USBUSER_SEND_RAW_COMMAND {
- USBUSER_REQUEST_HEADER Header;
- USB_SEND_RAW_COMMAND_PARAMETERS Parameters;
-} USBUSER_SEND_RAW_COMMAND, *PUSBUSER_SEND_RAW_COMMAND;
-
-/* USB_USB2HW_VERSION_PARAMETERS.Usb2HwRevision constants */
-#define USB2HW_UNKNOWN 0x00
-#define USB2HW_A0 0xA0
-#define USB2HW_A1 0xA1
-#define USB2HW_B0 0xB0
-
-typedef struct _USB_USB2HW_VERSION_PARAMETERS {
- UCHAR Usb2HwRevision;
-} USB_USB2HW_VERSION_PARAMETERS, *PUSB_USB2HW_VERSION_PARAMETERS;
-
-typedef struct _USBUSER_GET_USB2HW_VERSION {
- USBUSER_REQUEST_HEADER Header;
- USB_USB2HW_VERSION_PARAMETERS Parameters;
-} USBUSER_GET_USB2HW_VERSION, *PUSBUSER_GET_USB2HW_VERSION;
-
-#include <poppack.h>
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __USBUSER_H */
diff --git a/winsup/w32api/include/ddk/video.h b/winsup/w32api/include/ddk/video.h
deleted file mode 100644
index 68a496a62..000000000
--- a/winsup/w32api/include/ddk/video.h
+++ /dev/null
@@ -1,1566 +0,0 @@
-/*
- * video.h
- *
- * Video port and miniport driver interface
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- * Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __VIDEO_H
-#define __VIDEO_H
-
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __WINDDI_H
-#error winddi.h cannot be included with video.h
-#else
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-
-#if defined(_VIDEOPORT_)
- #define VPAPI DECLSPEC_EXPORT
-#else
- #define VPAPI DECLSPEC_IMPORT
-#endif
-
-#include "videoagp.h"
-#include "ntddvdeo.h"
-
-
-typedef LONG VP_STATUS;
-typedef VP_STATUS *PVP_STATUS;
-typedef struct __DMA_PARAMETERS * PDMA;
-typedef struct _VIDEO_PORT_EVENT *PEVENT;
-typedef struct _VIDEO_PORT_SPIN_LOCK *PSPIN_LOCK;
-typedef struct __VP_DMA_ADAPTER *PVP_DMA_ADAPTER;
-
-#define DISPLAY_ADAPTER_HW_ID 0xFFFFFFFF
-
-#define EVENT_TYPE_MASK 1
-#define SYNCHRONIZATION_EVENT 0
-#define NOTIFICATION_EVENT 1
-
-#define INITIAL_EVENT_STATE_MASK 2
-#define INITIAL_EVENT_NOT_SIGNALED 0
-#define INITIAL_EVENT_SIGNALED 2
-
-typedef enum VIDEO_DEBUG_LEVEL {
- Error = 0,
- Warn,
- Trace,
- Info
-} VIDEO_DEBUG_LEVEL, *PVIDEO_DEBUG_LEVEL;
-
-typedef enum {
- VideoPortUnlockAfterDma = 1,
- VideoPortKeepPagesLocked,
- VideoPortDmaInitOnly
-} DMA_FLAGS;
-
-typedef enum _HW_DMA_RETURN {
- DmaAsyncReturn,
- DmaSyncReturn
-} HW_DMA_RETURN, *PHW_DMA_RETURN;
-
-typedef HW_DMA_RETURN
-(*PVIDEO_HW_START_DMA)(
- PVOID HwDeviceExtension,
- PDMA pDma);
-
-
-#ifdef DBG
-
-#define PAGED_CODE() \
- if (VideoPortGetCurrentIrql() > 1 /* APC_LEVEL */) \
- { \
- VideoPortDebugPrint(Error, "Video: Pageable code called at IRQL %d\n", VideoPortGetCurrentIrql() ); \
- ASSERT(FALSE); \
- }
-
-#else
-
-#define PAGED_CODE()
-
-#endif
-
-typedef struct _VIDEO_HARDWARE_CONFIGURATION_DATA {
- INTERFACE_TYPE InterfaceType;
- ULONG BusNumber;
- USHORT Version;
- USHORT Revision;
- USHORT Irql;
- USHORT Vector;
- ULONG ControlBase;
- ULONG ControlSize;
- ULONG CursorBase;
- ULONG CursorSize;
- ULONG FrameBase;
- ULONG FrameSize;
-} VIDEO_HARDWARE_CONFIGURATION_DATA, *PVIDEO_HARDWARE_CONFIGURATION_DATA;
-
-#define SIZE_OF_NT4_VIDEO_PORT_CONFIG_INFO 0x42
-#define SIZE_OF_NT4_VIDEO_HW_INITIALIZATION_DATA 0x28
-#define SIZE_OF_W2K_VIDEO_HW_INITIALIZATION_DATA 0x50
-
-typedef enum _VIDEO_DEVICE_DATA_TYPE {
- VpMachineData = 0,
- VpCmosData,
- VpBusData,
- VpControllerData,
- VpMonitorData
-} VIDEO_DEVICE_DATA_TYPE, *PVIDEO_DEVICE_DATA_TYPE;
-
-
-
-/* Video miniport driver functions */
-
-typedef struct _VP_SCATTER_GATHER_ELEMENT {
- PHYSICAL_ADDRESS Address;
- ULONG Length;
- ULONG_PTR Reserved;
-} VP_SCATTER_GATHER_ELEMENT, *PVP_SCATTER_GATHER_ELEMENT;
-
-typedef struct _VP_SCATTER_GATHER_LIST {
- ULONG NumberOfElements;
- ULONG_PTR Reserved;
- VP_SCATTER_GATHER_ELEMENT Elements[0];
-} VP_SCATTER_GATHER_LIST, *PVP_SCATTER_GATHER_LIST;
-
-typedef VOID DDKAPI
-(*PEXECUTE_DMA)(
- IN PVOID HwDeviceExtension,
- IN PVP_DMA_ADAPTER VpDmaAdapter,
- IN PVP_SCATTER_GATHER_LIST SGList,
- IN PVOID Context);
-
-typedef PVOID DDKAPI
-(*PVIDEO_PORT_GET_PROC_ADDRESS)(
- IN PVOID HwDeviceExtension,
- IN PUCHAR FunctionName);
-
-typedef struct _VIDEO_PORT_CONFIG_INFO {
- ULONG Length;
- ULONG SystemIoBusNumber;
- INTERFACE_TYPE AdapterInterfaceType;
- ULONG BusInterruptLevel;
- ULONG BusInterruptVector;
- KINTERRUPT_MODE InterruptMode;
- ULONG NumEmulatorAccessEntries;
- PEMULATOR_ACCESS_ENTRY EmulatorAccessEntries;
- ULONG_PTR EmulatorAccessEntriesContext;
- PHYSICAL_ADDRESS VdmPhysicalVideoMemoryAddress;
- ULONG VdmPhysicalVideoMemoryLength;
- ULONG HardwareStateSize;
- ULONG DmaChannel;
- ULONG DmaPort;
- UCHAR DmaShareable;
- UCHAR InterruptShareable;
- BOOLEAN Master;
- DMA_WIDTH DmaWidth;
- DMA_SPEED DmaSpeed;
- BOOLEAN bMapBuffers;
- BOOLEAN NeedPhysicalAddresses;
- BOOLEAN DemandMode;
- ULONG MaximumTransferLength;
- ULONG NumberOfPhysicalBreaks;
- BOOLEAN ScatterGather;
- ULONG MaximumScatterGatherChunkSize;
- PVIDEO_PORT_GET_PROC_ADDRESS VideoPortGetProcAddress;
- PWSTR DriverRegistryPath;
- ULONGLONG SystemMemorySize;
-} VIDEO_PORT_CONFIG_INFO, *PVIDEO_PORT_CONFIG_INFO;
-
-typedef VP_STATUS DDKAPI
-(*PVIDEO_HW_FIND_ADAPTER)(
- IN PVOID HwDeviceExtension,
- IN PVOID HwContext,
- IN PWSTR ArgumentString,
- IN OUT PVIDEO_PORT_CONFIG_INFO ConfigInfo,
- OUT PUCHAR Again);
-
-typedef VP_STATUS DDKAPI
-(*PVIDEO_HW_POWER_GET)(
- IN PVOID HwDeviceExtension,
- IN ULONG HwId,
- IN OUT PVIDEO_POWER_MANAGEMENT VideoPowerControl);
-
-/* PVIDEO_HW_GET_CHILD_DESCRIPTOR return values */
-#define VIDEO_ENUM_MORE_DEVICES ERROR_CONTINUE
-#define VIDEO_ENUM_NO_MORE_DEVICES ERROR_NO_MORE_DEVICES
-#define VIDEO_ENUM_INVALID_DEVICE ERROR_INVALID_NAME
-
-/* PVIDEO_HW_GET_CHILD_DESCRIPTOR.ChildEnumInfo constants */
-typedef struct _VIDEO_CHILD_ENUM_INFO {
- ULONG Size;
- ULONG ChildDescriptorSize;
- ULONG ChildIndex;
- ULONG ACPIHwId;
- PVOID ChildHwDeviceExtension;
-} VIDEO_CHILD_ENUM_INFO, *PVIDEO_CHILD_ENUM_INFO;
-
-/* PVIDEO_HW_GET_CHILD_DESCRIPTOR.VideoChildType constants */
-typedef enum _VIDEO_CHILD_TYPE {
- Monitor = 1,
- NonPrimaryChip,
- VideoChip,
- Other
-} VIDEO_CHILD_TYPE, *PVIDEO_CHILD_TYPE;
-
-typedef VP_STATUS DDKAPI
-(*PVIDEO_HW_GET_CHILD_DESCRIPTOR)(
- IN PVOID HwDeviceExtension,
- IN PVIDEO_CHILD_ENUM_INFO ChildEnumInfo,
- OUT PVIDEO_CHILD_TYPE VideoChildType,
- OUT PUCHAR pChildDescriptor,
- OUT PULONG UId,
- OUT PULONG pUnused);
-
-typedef BOOLEAN DDKAPI
-(*PVIDEO_HW_INITIALIZE)(
- IN PVOID HwDeviceExtension);
-
-typedef BOOLEAN DDKAPI
-(*PVIDEO_HW_INTERRUPT)(
- IN PVOID HwDeviceExtension);
-
-/* VIDEO_ACCESS_RANGE.RangePassive */
-#define VIDEO_RANGE_PASSIVE_DECODE 1
-#define VIDEO_RANGE_10_BIT_DECODE 2
-
-#ifndef VIDEO_ACCESS_RANGE_DEFINED /* also in miniport.h */
-#define VIDEO_ACCESS_RANGE_DEFINED
-typedef struct _VIDEO_ACCESS_RANGE {
- PHYSICAL_ADDRESS RangeStart;
- ULONG RangeLength;
- UCHAR RangeInIoSpace;
- UCHAR RangeVisible;
- UCHAR RangeShareable;
- UCHAR RangePassive;
-} VIDEO_ACCESS_RANGE, *PVIDEO_ACCESS_RANGE;
-#endif
-
-typedef VOID DDKAPI
-(*PVIDEO_HW_LEGACYRESOURCES)(
- IN ULONG VendorId,
- IN ULONG DeviceId,
- IN OUT PVIDEO_ACCESS_RANGE *LegacyResourceList,
- IN OUT PULONG LegacyResourceCount);
-
-typedef VP_STATUS DDKAPI
-(*PMINIPORT_QUERY_DEVICE_ROUTINE)(
- IN PVOID HwDeviceExtension,
- IN PVOID Context,
- IN VIDEO_DEVICE_DATA_TYPE DeviceDataType,
- IN PVOID Identifier,
- IN ULONG IdentifierLength,
- IN PVOID ConfigurationData,
- IN ULONG ConfigurationDataLength,
- IN OUT PVOID ComponentInformation,
- IN ULONG ComponentInformationLength);
-
-typedef struct _QUERY_INTERFACE {
- CONST GUID *InterfaceType;
- USHORT Size;
- USHORT Version;
- PINTERFACE Interface;
- PVOID InterfaceSpecificData;
-} QUERY_INTERFACE, *PQUERY_INTERFACE;
-
-typedef VP_STATUS DDKAPI
-(*PVIDEO_HW_QUERY_INTERFACE)(
- IN PVOID HwDeviceExtension,
- IN OUT PQUERY_INTERFACE QueryInterface);
-
-typedef VP_STATUS DDKAPI
-(*PMINIPORT_GET_REGISTRY_ROUTINE)(
- IN PVOID HwDeviceExtension,
- IN PVOID Context,
- IN OUT PWSTR ValueName,
- IN OUT PVOID ValueData,
- IN ULONG ValueLength);
-
-typedef BOOLEAN DDKAPI
-(*PVIDEO_HW_RESET_HW)(
- IN PVOID HwDeviceExtension,
- IN ULONG Columns,
- IN ULONG Rows);
-
-typedef VP_STATUS DDKAPI
-(*PVIDEO_HW_POWER_SET)(
- IN PVOID HwDeviceExtension,
- IN ULONG HwId,
- IN PVIDEO_POWER_MANAGEMENT VideoPowerControl);
-
-typedef struct _STATUS_BLOCK {
- _ANONYMOUS_UNION union {
- VP_STATUS Status;
- PVOID Pointer;
- } DUMMYUNIONNAME;
- ULONG_PTR Information;
-} STATUS_BLOCK, *PSTATUS_BLOCK;
-
-typedef struct _VIDEO_REQUEST_PACKET {
- ULONG IoControlCode;
- PSTATUS_BLOCK StatusBlock;
- PVOID InputBuffer;
- ULONG InputBufferLength;
- PVOID OutputBuffer;
- ULONG OutputBufferLength;
-} VIDEO_REQUEST_PACKET, *PVIDEO_REQUEST_PACKET;
-
-typedef BOOLEAN DDKAPI
-(*PVIDEO_HW_START_IO)(
- IN PVOID HwDeviceExtension,
- IN PVIDEO_REQUEST_PACKET RequestPacket);
-
-typedef BOOLEAN DDKAPI
-(*PMINIPORT_SYNCHRONIZE_ROUTINE)(
- IN PVOID Context);
-
-typedef VOID DDKAPI
-(*PVIDEO_HW_TIMER)(
- IN PVOID HwDeviceExtension);
-
-typedef VOID DDKAPI
-(*PMINIPORT_DPC_ROUTINE)(
- IN PVOID HwDeviceExtension,
- IN PVOID Context);
-
-typedef VP_STATUS DDKAPI
-(*PDRIVER_IO_PORT_UCHAR)(
- IN ULONG_PTR Context,
- IN ULONG Port,
- IN UCHAR AccessMode,
- IN PUCHAR Data);
-
-typedef VP_STATUS DDKAPI
-(*PDRIVER_IO_PORT_UCHAR_STRING)(
- IN ULONG_PTR Context,
- IN ULONG Port,
- IN UCHAR AccessMode,
- IN PUCHAR Data,
- IN ULONG DataLength);
-
-typedef VP_STATUS DDKAPI
-(*PDRIVER_IO_PORT_ULONG)(
- IN ULONG_PTR Context,
- IN ULONG Port,
- IN UCHAR AccessMode,
- IN PULONG Data);
-
-typedef VP_STATUS DDKAPI
-(*PDRIVER_IO_PORT_ULONG_STRING)(
- IN ULONG_PTR Context,
- IN ULONG Port,
- IN UCHAR AccessMode,
- IN PULONG Data,
- IN ULONG DataLength);
-
-typedef VP_STATUS DDKAPI
-(*PDRIVER_IO_PORT_USHORT)(
- IN ULONG_PTR Context,
- IN ULONG Port,
- IN UCHAR AccessMode,
- IN PUSHORT Data);
-
-typedef VP_STATUS DDKAPI
-(*PDRIVER_IO_PORT_USHORT_STRING)(
- IN ULONG_PTR Context,
- IN ULONG Port,
- IN UCHAR AccessMode,
- IN PUSHORT Data,
- IN ULONG DataLength);
-
-
-
-typedef struct _INT10_BIOS_ARGUMENTS {
- ULONG Eax;
- ULONG Ebx;
- ULONG Ecx;
- ULONG Edx;
- ULONG Esi;
- ULONG Edi;
- ULONG Ebp;
- USHORT SegDs;
- USHORT SegEs;
-} INT10_BIOS_ARGUMENTS, *PINT10_BIOS_ARGUMENTS;
-
-typedef struct _VIDEO_CHILD_STATE {
- ULONG Id;
- ULONG State;
-} VIDEO_CHILD_STATE, *PVIDEO_CHILD_STATE;
-
-typedef struct _VIDEO_CHILD_STATE_CONFIGURATION {
- ULONG Count;
- VIDEO_CHILD_STATE ChildStateArray[ANYSIZE_ARRAY];
-} VIDEO_CHILD_STATE_CONFIGURATION, *PVIDEO_CHILD_STATE_CONFIGURATION;
-
-typedef struct _VIDEO_HW_INITIALIZATION_DATA {
- ULONG HwInitDataSize;
- INTERFACE_TYPE AdapterInterfaceType;
- PVIDEO_HW_FIND_ADAPTER HwFindAdapter;
- PVIDEO_HW_INITIALIZE HwInitialize;
- PVIDEO_HW_INTERRUPT HwInterrupt;
- PVIDEO_HW_START_IO HwStartIO;
- ULONG HwDeviceExtensionSize;
- ULONG StartingDeviceNumber;
- PVIDEO_HW_RESET_HW HwResetHw;
- PVIDEO_HW_TIMER HwTimer;
- PVIDEO_HW_START_DMA HwStartDma;
- PVIDEO_HW_POWER_SET HwSetPowerState;
- PVIDEO_HW_POWER_GET HwGetPowerState;
- PVIDEO_HW_GET_CHILD_DESCRIPTOR HwGetVideoChildDescriptor;
- PVIDEO_HW_QUERY_INTERFACE HwQueryInterface;
- ULONG HwChildDeviceExtensionSize;
- PVIDEO_ACCESS_RANGE HwLegacyResourceList;
- ULONG HwLegacyResourceCount;
- PVIDEO_HW_LEGACYRESOURCES HwGetLegacyResources;
- BOOLEAN AllowEarlyEnumeration;
- ULONG Reserved;
-} VIDEO_HW_INITIALIZATION_DATA, *PVIDEO_HW_INITIALIZATION_DATA;
-
-/* VIDEO_PORT_AGP_INTERFACE.Version contants */
-#define VIDEO_PORT_AGP_INTERFACE_VERSION_1 1
-
-typedef struct _VIDEO_PORT_AGP_INTERFACE {
- SHORT Size;
- SHORT Version;
- PVOID Context;
- PINTERFACE_REFERENCE InterfaceReference;
- PINTERFACE_DEREFERENCE InterfaceDereference;
- PAGP_RESERVE_PHYSICAL AgpReservePhysical;
- PAGP_RELEASE_PHYSICAL AgpReleasePhysical;
- PAGP_COMMIT_PHYSICAL AgpCommitPhysical;
- PAGP_FREE_PHYSICAL AgpFreePhysical;
- PAGP_RESERVE_VIRTUAL AgpReserveVirtual;
- PAGP_RELEASE_VIRTUAL AgpReleaseVirtual;
- PAGP_COMMIT_VIRTUAL AgpCommitVirtual;
- PAGP_FREE_VIRTUAL AgpFreeVirtual;
- ULONGLONG AgpAllocationLimit;
-} VIDEO_PORT_AGP_INTERFACE, *PVIDEO_PORT_AGP_INTERFACE;
-
-/* VIDEO_PORT_AGP_INTERFACE_2.Version constants */
-#define VIDEO_PORT_AGP_INTERFACE_VERSION_2 2
-
-typedef struct _VIDEO_PORT_AGP_INTERFACE_2 {
- IN USHORT Size;
- IN USHORT Version;
- OUT PVOID Context;
- OUT PINTERFACE_REFERENCE InterfaceReference;
- OUT PINTERFACE_DEREFERENCE InterfaceDereference;
- OUT PAGP_RESERVE_PHYSICAL AgpReservePhysical;
- OUT PAGP_RELEASE_PHYSICAL AgpReleasePhysical;
- OUT PAGP_COMMIT_PHYSICAL AgpCommitPhysical;
- OUT PAGP_FREE_PHYSICAL AgpFreePhysical;
- OUT PAGP_RESERVE_VIRTUAL AgpReserveVirtual;
- OUT PAGP_RELEASE_VIRTUAL AgpReleaseVirtual;
- OUT PAGP_COMMIT_VIRTUAL AgpCommitVirtual;
- OUT PAGP_FREE_VIRTUAL AgpFreeVirtual;
- OUT ULONGLONG AgpAllocationLimit;
- OUT PAGP_SET_RATE AgpSetRate;
-} VIDEO_PORT_AGP_INTERFACE_2, *PVIDEO_PORT_AGP_INTERFACE_2;
-
-#define VIDEO_PORT_I2C_INTERFACE_VERSION_1 1
-
-typedef VOID DDKAPI
-(*PVIDEO_WRITE_CLOCK_LINE)(
- PVOID HwDeviceExtension,
- UCHAR Data);
-
-typedef VOID DDKAPI
-(*PVIDEO_WRITE_DATA_LINE)(
- PVOID HwDeviceExtension,
- UCHAR Data);
-
-typedef BOOLEAN DDKAPI
-(*PVIDEO_READ_CLOCK_LINE)(
- PVOID HwDeviceExtension);
-
-typedef BOOLEAN DDKAPI
-(*PVIDEO_READ_DATA_LINE)(
- PVOID HwDeviceExtension);
-
-typedef struct _I2C_CALLBACKS
-{
- IN PVIDEO_WRITE_CLOCK_LINE WriteClockLine;
- IN PVIDEO_WRITE_DATA_LINE WriteDataLine;
- IN PVIDEO_READ_CLOCK_LINE ReadClockLine;
- IN PVIDEO_READ_DATA_LINE ReadDataLine;
-} I2C_CALLBACKS, *PI2C_CALLBACKS;
-
-typedef BOOLEAN DDKAPI
-(*PI2C_START)(
- IN PVOID HwDeviceExtension,
- IN PI2C_CALLBACKS I2CCallbacks);
-
-typedef BOOLEAN DDKAPI
-(*PI2C_STOP)(
- IN PVOID HwDeviceExtension,
- IN PI2C_CALLBACKS I2CCallbacks);
-
-typedef BOOLEAN DDKAPI
-(*PI2C_WRITE)(
- IN PVOID HwDeviceExtension,
- IN PI2C_CALLBACKS I2CCallbacks,
- IN PUCHAR Buffer,
- IN ULONG Length);
-
-typedef BOOLEAN DDKAPI
-(*PI2C_READ)(
- IN PVOID HwDeviceExtension,
- IN PI2C_CALLBACKS I2CCallbacks,
- OUT PUCHAR Buffer,
- IN ULONG Length);
-
-typedef struct _VIDEO_PORT_I2C_INTERFACE {
- USHORT Size;
- USHORT Version;
- PVOID Context;
- PINTERFACE_REFERENCE InterfaceReference;
- PINTERFACE_DEREFERENCE InterfaceDereference;
- PI2C_START I2CStart;
- PI2C_STOP I2CStop;
- PI2C_WRITE I2CWrite;
- PI2C_READ I2CRead;
-} VIDEO_PORT_I2C_INTERFACE, *PVIDEO_PORT_I2C_INTERFACE;
-
-/* VIDEO_PORT_INT10_INTERFACE.Version constants */
-#define VIDEO_PORT_INT10_INTERFACE_VERSION_1 1
-
-typedef VP_STATUS DDKAPI
-(*PINT10_ALLOCATE_BUFFER)(
- IN PVOID Context,
- OUT PUSHORT Seg,
- OUT PUSHORT Off,
- IN OUT PULONG Length);
-
-typedef VP_STATUS DDKAPI
-(*PINT10_CALL_BIOS)(
- IN PVOID Context,
- IN OUT PINT10_BIOS_ARGUMENTS BiosArguments);
-
-typedef VP_STATUS DDKAPI
-(*PINT10_FREE_BUFFER)(
- IN PVOID Context,
- IN USHORT Seg,
- IN USHORT Off);
-
-typedef VP_STATUS DDKAPI
-(*PINT10_READ_MEMORY)(
- IN PVOID Context,
- IN USHORT Seg,
- IN USHORT Off,
- OUT PVOID Buffer,
- IN ULONG Length);
-
-typedef VP_STATUS DDKAPI
-(*PINT10_WRITE_MEMORY)(
- IN PVOID Context,
- IN USHORT Seg,
- IN USHORT Off,
- IN PVOID Buffer,
- IN ULONG Length);
-
-typedef struct _VIDEO_PORT_INT10_INTERFACE {
- IN USHORT Size;
- IN USHORT Version;
- OUT PVOID Context;
- OUT PINTERFACE_REFERENCE InterfaceReference;
- OUT PINTERFACE_DEREFERENCE InterfaceDereference;
- OUT PINT10_ALLOCATE_BUFFER Int10AllocateBuffer;
- OUT PINT10_FREE_BUFFER Int10FreeBuffer;
- OUT PINT10_READ_MEMORY Int10ReadMemory;
- OUT PINT10_WRITE_MEMORY Int10WriteMemory;
- OUT PINT10_CALL_BIOS Int10CallBios;
-} VIDEO_PORT_INT10_INTERFACE, *PVIDEO_PORT_INT10_INTERFACE;
-
-/* Flags for VideoPortGetDeviceBase and VideoPortMapMemory */
-#define VIDEO_MEMORY_SPACE_MEMORY 0x00
-#define VIDEO_MEMORY_SPACE_IO 0x01
-#define VIDEO_MEMORY_SPACE_USER_MODE 0x02
-#define VIDEO_MEMORY_SPACE_DENSE 0x04
-#define VIDEO_MEMORY_SPACE_P6CACHE 0x08
-
-typedef struct _VIDEO_X86_BIOS_ARGUMENTS {
- ULONG Eax;
- ULONG Ebx;
- ULONG Ecx;
- ULONG Edx;
- ULONG Esi;
- ULONG Edi;
- ULONG Ebp;
-} VIDEO_X86_BIOS_ARGUMENTS, *PVIDEO_X86_BIOS_ARGUMENTS;
-
-typedef struct _VP_DEVICE_DESCRIPTION {
- BOOLEAN ScatterGather;
- BOOLEAN Dma32BitAddresses;
- BOOLEAN Dma64BitAddresses;
- ULONG MaximumLength;
-} VP_DEVICE_DESCRIPTION, *PVP_DEVICE_DESCRIPTION;
-
-typedef struct _VPOSVERSIONINFO {
- IN ULONG Size;
- OUT ULONG MajorVersion;
- OUT ULONG MinorVersion;
- OUT ULONG BuildNumber;
- OUT USHORT ServicePackMajor;
- OUT USHORT ServicePackMinor;
-} VPOSVERSIONINFO, *PVPOSVERSIONINFO;
-
-
-
-/* Video port functions for miniports */
-
-VPAPI
-VOID
-DDKAPI
-VideoDebugPrint(
- IN ULONG DebugPrintLevel,
- IN PCHAR DebugMessage,
- IN ...);
-
-VPAPI
-VOID
-DDKAPI
-VideoPortAcquireDeviceLock(
- IN PVOID HwDeviceExtension);
-
-VPAPI
-VOID
-DDKAPI
-VideoPortAcquireSpinLock(
- IN PVOID HwDeviceExtension,
- IN PSPIN_LOCK SpinLock,
- OUT PUCHAR OldIrql);
-
-VPAPI
-VOID
-DDKAPI
-VideoPortAcquireSpinLockAtDpcLevel(
- IN PVOID HwDeviceExtension,
- IN PSPIN_LOCK SpinLock);
-
-VPAPI
-VP_STATUS
-DDKAPI
-VideoPortAllocateBuffer(
- IN PVOID HwDeviceExtension,
- IN ULONG Size,
- OUT PVOID *Buffer);
-
-VPAPI
-PVOID
-DDKAPI
-VideoPortAllocateCommonBuffer(
- IN PVOID HwDeviceExtension,
- IN PVP_DMA_ADAPTER VpDmaAdapter,
- IN ULONG DesiredLength,
- OUT PPHYSICAL_ADDRESS LogicalAddress,
- IN BOOLEAN CacheEnabled,
- PVOID Reserved);
-
-VPAPI
-PVOID
-DDKAPI
-VideoPortAllocateContiguousMemory(
- IN PVOID HwDeviceExtension,
- IN ULONG NumberOfBytes,
- IN PHYSICAL_ADDRESS HighestAcceptableAddress);
-
-/* VideoPortAllocatePool.PoolType constants */
-typedef enum _VP_POOL_TYPE {
- VpNonPagedPool = 0,
- VpPagedPool,
- VpNonPagedPoolCacheAligned = 4,
- VpPagedPoolCacheAligned
-} VP_POOL_TYPE, *PVP_POOL_TYPE;
-
-VPAPI
-PVOID
-DDKAPI
-VideoPortAllocatePool(
- IN PVOID HwDeviceExtension,
- IN VP_POOL_TYPE PoolType,
- IN SIZE_T NumberOfBytes,
- IN ULONG Tag);
-
-VPAPI
-PDMA
-DDKAPI
-VideoPortAssociateEventsWithDmaHandle(
- IN PVOID HwDeviceExtension,
- IN OUT PVIDEO_REQUEST_PACKET pVrp,
- IN PVOID MappedUserEvent,
- IN PVOID DisplayDriverEvent);
-
-/* VideoPortCheckForDeviceExistence.Flags constants */
-#define CDE_USE_SUBSYSTEM_IDS 0x00000001
-#define CDE_USE_REVISION 0x00000002
-
-VPAPI
-BOOLEAN
-DDKAPI
-VideoPortCheckForDeviceExistence(
- IN PVOID HwDeviceExtension,
- IN USHORT VendorId,
- IN USHORT DeviceId,
- IN UCHAR RevisionId,
- IN USHORT SubVendorId,
- IN USHORT SubSystemId,
- IN ULONG Flags);
-
-VPAPI
-VOID
-DDKAPI
-VideoPortClearEvent(
- IN PVOID HwDeviceExtension,
- IN PEVENT pEvent);
-
-VPAPI
-ULONG
-DDKAPI
-VideoPortCompareMemory(
- IN PVOID Source1,
- IN PVOID Source2,
- IN ULONG Length);
-
-VPAPI
-VP_STATUS
-DDKAPI
-VideoPortCompleteDma(
- IN PVOID HwDeviceExtension,
- IN PVP_DMA_ADAPTER VpDmaAdapter,
- IN PVP_SCATTER_GATHER_LIST VpScatterGather,
- IN BOOLEAN WriteToDevice);
-
-VPAPI
-VP_STATUS
-DDKAPI
-VideoPortCreateEvent(
- IN PVOID HwDeviceExtension,
- IN ULONG EventFlag,
- IN PVOID Unused,
- OUT PEVENT *ppEvent);
-
-VPAPI
-VP_STATUS
-DDKAPI
-VideoPortCreateSecondaryDisplay(
- IN PVOID HwDeviceExtension,
- IN OUT PVOID *SecondaryDeviceExtension,
- IN ULONG ulFlag);
-
-VPAPI
-VP_STATUS
-DDKAPI
-VideoPortCreateSpinLock(
- IN PVOID HwDeviceExtension,
- OUT PSPIN_LOCK *SpinLock);
-
-typedef struct _DDC_CONTROL {
- IN ULONG Size;
- IN I2C_CALLBACKS I2CCallbacks;
- IN UCHAR EdidSegment;
-} DDC_CONTROL, *PDDC_CONTROL;
-
-VPAPI
-BOOLEAN
-DDKAPI
-VideoPortDDCMonitorHelper(
- IN PVOID HwDeviceExtension,
- IN PVOID DDCControl,
- IN OUT PUCHAR EdidBuffer,
- IN ULONG EdidBufferSize);
-
-VPAPI
-VOID
-DDKCDECLAPI
-VideoPortDebugPrint(
- IN VIDEO_DEBUG_LEVEL DebugPrintLevel,
- IN PCHAR DebugMessage,
- IN ...);
-
-VPAPI
-VP_STATUS
-DDKAPI
-VideoPortDeleteEvent(
- IN PVOID HwDeviceExtension,
- IN PEVENT pEvent);
-
-VPAPI
-VP_STATUS
-DDKAPI
-VideoPortDeleteSpinLock(
- IN PVOID HwDeviceExtension,
- IN PSPIN_LOCK SpinLock);
-
-VPAPI
-VP_STATUS
-DDKAPI
-VideoPortDisableInterrupt(
- IN PVOID HwDeviceExtension);
-
-VPAPI
-PDMA
-DDKAPI
-VideoPortDoDma(
- IN PVOID HwDeviceExtension,
- IN PDMA pDma,
- IN DMA_FLAGS DmaFlags);
-
-VPAPI
-VP_STATUS
-DDKAPI
-VideoPortEnableInterrupt(
- IN PVOID HwDeviceExtension);
-
-VPAPI
-VP_STATUS
-DDKAPI
-VideoPortEnumerateChildren(
- IN PVOID HwDeviceExtension,
- IN PVOID Reserved);
-
-VPAPI
-VOID
-DDKAPI
-VideoPortFreeCommonBuffer(
- IN PVOID HwDeviceExtension,
- IN ULONG Length,
- IN PVOID VirtualAddress,
- IN PHYSICAL_ADDRESS LogicalAddress,
- IN BOOLEAN CacheEnabled);
-
-VPAPI
-VOID
-DDKAPI
-VideoPortFreeDeviceBase(
- IN PVOID HwDeviceExtension,
- IN PVOID MappedAddress);
-
-VPAPI
-VOID
-DDKAPI
-VideoPortFreePool(
- IN PVOID HwDeviceExtension,
- IN PVOID Ptr);
-
-VPAPI
-VP_STATUS
-DDKAPI
-VideoPortGetAccessRanges(
- IN PVOID HwDeviceExtension,
- IN ULONG NumRequestedResources,
- IN PIO_RESOURCE_DESCRIPTOR RequestedResources OPTIONAL,
- IN ULONG NumAccessRanges,
- OUT PVIDEO_ACCESS_RANGE AccessRanges,
- IN PVOID VendorId,
- IN PVOID DeviceId,
- OUT PULONG Slot);
-
-VPAPI
-PVOID
-DDKAPI
-VideoPortGetAssociatedDeviceExtension(
- IN PVOID DeviceObject);
-
-VPAPI
-ULONG
-DDKAPI
-VideoPortGetAssociatedDeviceID(
- IN PVOID DeviceObject);
-
-VPAPI
-ULONG
-DDKAPI
-VideoPortGetBusData(
- IN PVOID HwDeviceExtension,
- IN BUS_DATA_TYPE BusDataType,
- IN ULONG SlotNumber,
- IN OUT PVOID Buffer,
- IN ULONG Offset,
- IN ULONG Length);
-
-VPAPI
-ULONG
-DDKAPI
-VideoPortGetBytesUsed(
- IN PVOID HwDeviceExtension,
- IN PDMA pDma);
-
-VPAPI
-PVOID
-DDKAPI
-VideoPortGetCommonBuffer(
- IN PVOID HwDeviceExtension,
- IN ULONG DesiredLength,
- IN ULONG Alignment,
- OUT PPHYSICAL_ADDRESS LogicalAddress,
- OUT PULONG pActualLength,
- IN BOOLEAN CacheEnabled);
-
-VPAPI
-UCHAR
-DDKAPI
-VideoPortGetCurrentIrql(
- VOID);
-
-VPAPI
-PVOID
-DDKAPI
-VideoPortGetDeviceBase(
- IN PVOID HwDeviceExtension,
- IN PHYSICAL_ADDRESS IoAddress,
- IN ULONG NumberOfUchars,
- IN UCHAR InIoSpace);
-
-VPAPI
-VP_STATUS
-DDKAPI
-VideoPortGetDeviceData(
- IN PVOID HwDeviceExtension,
- IN VIDEO_DEVICE_DATA_TYPE DeviceDataType,
- IN PMINIPORT_QUERY_DEVICE_ROUTINE CallbackRoutine,
- IN PVOID Context);
-
-VPAPI
-PVP_DMA_ADAPTER
-DDKAPI
-VideoPortGetDmaAdapter(
- IN PVOID HwDeviceExtension,
- IN PVP_DEVICE_DESCRIPTION VpDeviceDescription);
-
-VPAPI
-PVOID
-DDKAPI
-VideoPortGetDmaContext(
- IN PVOID HwDeviceExtension,
- IN PDMA pDma);
-
-VPAPI
-PVOID
-DDKAPI
-VideoPortGetMdl(
- IN PVOID HwDeviceExtension,
- IN PDMA pDma);
-
-VPAPI
-VP_STATUS
-DDKAPI
-VideoPortGetRegistryParameters(
- IN PVOID HwDeviceExtension,
- IN PWSTR ParameterName,
- IN UCHAR IsParameterFileName,
- IN PMINIPORT_GET_REGISTRY_ROUTINE CallbackRoutine,
- IN PVOID Context);
-
-VPAPI
-PVOID
-DDKAPI
-VideoPortGetRomImage(
- IN PVOID HwDeviceExtension,
- IN PVOID Unused1,
- IN ULONG Unused2,
- IN ULONG Length);
-
-VPAPI
-VP_STATUS
-DDKAPI
-VideoPortGetVersion(
- IN PVOID HwDeviceExtension,
- IN OUT PVPOSVERSIONINFO pVpOsVersionInfo);
-
-VPAPI
-VP_STATUS
-DDKAPI
-VideoPortGetVgaStatus(
- IN PVOID HwDeviceExtension,
- OUT PULONG VgaStatus);
-
-VPAPI
-ULONG
-DDKAPI
-VideoPortInitialize(
- IN PVOID Argument1,
- IN PVOID Argument2,
- IN PVIDEO_HW_INITIALIZATION_DATA HwInitializationData,
- IN PVOID HwContext);
-
-VPAPI
-VP_STATUS
-DDKAPI
-VideoPortInt10(
- IN PVOID HwDeviceExtension,
- IN PVIDEO_X86_BIOS_ARGUMENTS BiosArguments);
-
-VPAPI
-LONG
-DDKFASTAPI
-VideoPortInterlockedDecrement(
- IN PLONG Addend);
-
-VPAPI
-LONG
-DDKFASTAPI
-VideoPortInterlockedExchange(
- IN OUT PLONG Target,
- IN LONG Value);
-
-VPAPI
-LONG
-DDKFASTAPI
-VideoPortInterlockedIncrement(
- IN PLONG Addend);
-
-typedef enum _VP_LOCK_OPERATION {
- VpReadAccess = 0,
- VpWriteAccess,
- VpModifyAccess
-} VP_LOCK_OPERATION;
-
-VPAPI
-PVOID
-DDKAPI
-VideoPortLockBuffer(
- IN PVOID HwDeviceExtension,
- IN PVOID BaseAddress,
- IN ULONG Length,
- IN VP_LOCK_OPERATION Operation);
-
-VPAPI
-BOOLEAN
-DDKAPI
-VideoPortLockPages(
- IN PVOID HwDeviceExtension,
- IN OUT PVIDEO_REQUEST_PACKET pVrp,
- IN OUT PEVENT pUEvent,
- IN PEVENT pDisplayEvent,
- IN DMA_FLAGS DmaFlags);
-
-VPAPI
-VOID
-DDKAPI
-VideoPortLogError(
- IN PVOID HwDeviceExtension,
- IN PVIDEO_REQUEST_PACKET Vrp OPTIONAL,
- IN VP_STATUS ErrorCode,
- IN ULONG UniqueId);
-
-VPAPI
-VP_STATUS
-DDKAPI
-VideoPortMapBankedMemory(
- IN PVOID HwDeviceExtension,
- IN PHYSICAL_ADDRESS PhysicalAddress,
- IN OUT PULONG Length,
- PULONG InIoSpace,
- PVOID *VirtualAddress,
- ULONG BankLength,
- UCHAR ReadWriteBank,
- PBANKED_SECTION_ROUTINE BankRoutine,
- PVOID Context);
-
-VPAPI
-PDMA
-DDKAPI
-VideoPortMapDmaMemory(
- IN PVOID HwDeviceExtension,
- IN PVIDEO_REQUEST_PACKET pVrp,
- IN PHYSICAL_ADDRESS BoardAddress,
- IN PULONG Length,
- IN PULONG InIoSpace,
- IN PVOID MappedUserEvent,
- IN PVOID DisplayDriverEvent,
- IN OUT PVOID *VirtualAddress);
-
-VPAPI
-VP_STATUS
-DDKAPI
-VideoPortMapMemory(
- IN PVOID HwDeviceExtension,
- IN PHYSICAL_ADDRESS PhysicalAddress,
- IN OUT PULONG Length,
- IN PULONG InIoSpace,
- IN OUT PVOID *VirtualAddress);
-
-VPAPI
-VOID
-DDKAPI
-VideoPortMoveMemory(
- IN PVOID Destination,
- IN PVOID Source,
- IN ULONG Length);
-
-VPAPI
-VOID
-DDKAPI
-VideoPortPutDmaAdapter(
- IN PVOID HwDeviceExtension,
- IN PVP_DMA_ADAPTER VpDmaAdapter);
-
-VPAPI
-LONGLONG
-DDKAPI
-VideoPortQueryPerformanceCounter(
- IN PVOID HwDeviceExtension,
- OUT PLONGLONG PerformanceFrequency OPTIONAL);
-
-/* VideoPortQueryServices.ServicesType constants */
-typedef enum _VIDEO_PORT_SERVICES {
- VideoPortServicesAGP = 1,
- VideoPortServicesI2C,
- VideoPortServicesHeadless,
- VideoPortServicesInt10
-} VIDEO_PORT_SERVICES;
-
-VPAPI
-VP_STATUS
-DDKAPI
-VideoPortQueryServices(
- IN PVOID HwDeviceExtension,
- IN VIDEO_PORT_SERVICES ServicesType,
- IN OUT PINTERFACE Interface);
-
-VPAPI
-VOID
-DDKAPI
-VideoPortQuerySystemTime(
- OUT PLARGE_INTEGER CurrentTime);
-
-VPAPI
-BOOLEAN
-DDKAPI
-VideoPortQueueDpc(
- IN PVOID HwDeviceExtension,
- IN PMINIPORT_DPC_ROUTINE CallbackRoutine,
- IN PVOID Context);
-
-VPAPI
-VOID
-DDKAPI
-VideoPortReadPortBufferUchar(
- IN PUCHAR Port,
- OUT PUCHAR Buffer,
- IN ULONG Count);
-
-VPAPI
-VOID
-DDKAPI
-VideoPortReadPortBufferUlong(
- IN PULONG Port,
- OUT PULONG Buffer,
- IN ULONG Count);
-
-VPAPI
-VOID
-DDKAPI
-VideoPortReadPortBufferUshort(
- IN PUSHORT Port,
- OUT PUSHORT Buffer,
- IN ULONG Count);
-
-VPAPI
-UCHAR
-DDKAPI
-VideoPortReadPortUchar(
- IN PUCHAR Port);
-
-VPAPI
-ULONG
-DDKAPI
-VideoPortReadPortUlong(
- IN PULONG Port);
-
-VPAPI
-USHORT
-DDKAPI
-VideoPortReadPortUshort(
- IN PUSHORT Port);
-
-VPAPI
-VOID
-DDKAPI
-VideoPortReadRegisterBufferUchar(
- IN PUCHAR Register,
- OUT PUCHAR Buffer,
- IN ULONG Count);
-
-VPAPI
-VOID
-DDKAPI
-VideoPortReadRegisterBufferUlong(
- IN PULONG Register,
- OUT PULONG Buffer,
- IN ULONG Count);
-
-VPAPI
-VOID
-DDKAPI
-VideoPortReadRegisterBufferUshort(
- IN PUSHORT Register,
- OUT PUSHORT Buffer,
- IN ULONG Count);
-
-VPAPI
-UCHAR
-DDKAPI
-VideoPortReadRegisterUchar(
- IN PUCHAR Register);
-
-VPAPI
-ULONG
-DDKAPI
-VideoPortReadRegisterUlong(
- IN PULONG Register);
-
-VPAPI
-USHORT
-DDKAPI
-VideoPortReadRegisterUshort(
- IN PUSHORT Register);
-
-VPAPI
-LONG
-DDKAPI
-VideoPortReadStateEvent(
- IN PVOID HwDeviceExtension,
- IN PEVENT pEvent);
-
-VPAPI
-VOID
-DDKAPI
-VideoPortReleaseBuffer(
- IN PVOID HwDeviceExtension,
- IN PVOID Buffer);
-
-VPAPI
-VOID
-DDKAPI
-VideoPortReleaseCommonBuffer(
- IN PVOID HwDeviceExtension,
- IN PVP_DMA_ADAPTER VpDmaAdapter,
- IN ULONG Length,
- IN PHYSICAL_ADDRESS LogicalAddress,
- IN PVOID VirtualAddress,
- IN BOOLEAN CacheEnabled);
-
-VPAPI
-VOID
-DDKAPI
-VideoPortReleaseDeviceLock(
- IN PVOID HwDeviceExtension);
-
-VPAPI
-VOID
-DDKAPI
-VideoPortReleaseSpinLock(
- IN PVOID HwDeviceExtension,
- IN PSPIN_LOCK SpinLock,
- IN UCHAR NewIrql);
-
-VPAPI
-VOID
-DDKAPI
-VideoPortReleaseSpinLockFromDpcLevel(
- IN PVOID HwDeviceExtension,
- IN PSPIN_LOCK SpinLock);
-
-VPAPI
-BOOLEAN
-DDKAPI
-VideoPortScanRom(
- PVOID HwDeviceExtension,
- PUCHAR RomBase,
- ULONG RomLength,
- PUCHAR String);
-
-VPAPI
-ULONG
-DDKAPI
-VideoPortSetBusData(
- IN PVOID HwDeviceExtension,
- IN BUS_DATA_TYPE BusDataType,
- IN ULONG SlotNumber,
- IN PVOID Buffer,
- IN ULONG Offset,
- IN ULONG Length);
-
-VPAPI
-VOID
-DDKAPI
-VideoPortSetBytesUsed(
- IN PVOID HwDeviceExtension,
- IN OUT PDMA pDma,
- IN ULONG BytesUsed);
-
-VPAPI
-VOID
-DDKAPI
-VideoPortSetDmaContext(
- IN PVOID HwDeviceExtension,
- OUT PDMA pDma,
- IN PVOID InstanceContext);
-
-VPAPI
-LONG
-DDKAPI
-VideoPortSetEvent(
- IN PVOID HwDeviceExtension,
- IN PEVENT pEvent);
-
-VPAPI
-VP_STATUS
-DDKAPI
-VideoPortSetRegistryParameters(
- IN PVOID HwDeviceExtension,
- IN PWSTR ValueName,
- IN PVOID ValueData,
- IN ULONG ValueLength);
-
-VPAPI
-VP_STATUS
-DDKAPI
-VideoPortSetTrappedEmulatorPorts(
- IN PVOID HwDeviceExtension,
- IN ULONG NumAccessRanges,
- IN PVIDEO_ACCESS_RANGE AccessRange);
-
-VPAPI
-BOOLEAN
-DDKAPI
-VideoPortSignalDmaComplete(
- IN PVOID HwDeviceExtension,
- IN PVOID pDmaHandle);
-
-VPAPI
-VOID
-DDKAPI
-VideoPortStallExecution(
- IN ULONG Microseconds);
-
-VPAPI
-VP_STATUS
-DDKAPI
-VideoPortStartDma(
- IN PVOID HwDeviceExtension,
- IN PVP_DMA_ADAPTER VpDmaAdapter,
- IN PVOID Mdl,
- IN ULONG Offset,
- IN OUT PULONG pLength,
- IN PEXECUTE_DMA ExecuteDmaRoutine,
- IN PVOID Context,
- IN BOOLEAN WriteToDevice);
-
-VPAPI
-VOID
-DDKAPI
-VideoPortStartTimer(
- IN PVOID HwDeviceExtension);
-
-VPAPI
-VOID
-DDKAPI
-VideoPortStopTimer(
- IN PVOID HwDeviceExtension);
-
-/* VideoPortSynchronizeExecution.Priority constants */
-typedef enum VIDEO_SYNCHRONIZE_PRIORITY {
- VpLowPriority = 0,
- VpMediumPriority,
- VpHighPriority
-} VIDEO_SYNCHRONIZE_PRIORITY, *PVIDEO_SYNCHRONIZE_PRIORITY;
-
-VPAPI
-BOOLEAN
-DDKAPI
-VideoPortSynchronizeExecution(
- IN PVOID HwDeviceExtension,
- IN VIDEO_SYNCHRONIZE_PRIORITY Priority,
- IN PMINIPORT_SYNCHRONIZE_ROUTINE SynchronizeRoutine,
- IN PVOID Context);
-
-VPAPI
-VOID
-DDKAPI
-VideoPortUnLockBuffer(
- IN PVOID HwDeviceExtension,
- IN PVOID Mdl);
-
-VPAPI
-BOOLEAN
-DDKAPI
-VideoPortUnlockPages(
- IN PVOID hwDeviceExtension,
- IN OUT PDMA pDma);
-
-VPAPI
-BOOLEAN
-DDKAPI
-VideoPortUnmapDmaMemory(
- IN PVOID HwDeviceExtension,
- IN PVOID VirtualAddress,
- IN HANDLE ProcessHandle,
- IN PDMA BoardMemoryHandle);
-
-VPAPI
-VP_STATUS
-DDKAPI
-VideoPortUnmapMemory(
- IN PVOID HwDeviceExtension,
- IN OUT PVOID VirtualAddress,
- IN HANDLE ProcessHandle);
-
-VPAPI
-VP_STATUS
-DDKAPI
-VideoPortVerifyAccessRanges(
- IN PVOID HwDeviceExtension,
- IN ULONG NumAccessRanges,
- IN PVIDEO_ACCESS_RANGE AccessRanges);
-
-VPAPI
-VP_STATUS
-DDKAPI
-VideoPortWaitForSingleObject(
- IN PVOID HwDeviceExtension,
- IN PVOID Object,
- IN PLARGE_INTEGER Timeout OPTIONAL);
-
-VPAPI
-VOID
-DDKAPI
-VideoPortWritePortBufferUchar(
- IN PUCHAR Port,
- IN PUCHAR Buffer,
- IN ULONG Count);
-
-VPAPI
-VOID
-DDKAPI
-VideoPortWritePortBufferUlong(
- IN PULONG Port,
- IN PULONG Buffer,
- IN ULONG Count);
-
-VPAPI
-VOID
-DDKAPI
-VideoPortWritePortBufferUshort(
- IN PUSHORT Port,
- IN PUSHORT Buffer,
- IN ULONG Count);
-
-VPAPI
-VOID
-DDKAPI
-VideoPortWritePortUchar(
- IN PUCHAR Port,
- IN UCHAR Value);
-
-VPAPI
-VOID
-DDKAPI
-VideoPortWritePortUlong(
- IN PULONG Port,
- IN ULONG Value);
-
-VPAPI
-VOID
-DDKAPI
-VideoPortWritePortUshort(
- IN PUSHORT Port,
- IN USHORT Value);
-
-VPAPI
-VOID
-DDKAPI
-VideoPortWriteRegisterBufferUchar(
- IN PUCHAR Register,
- IN PUCHAR Buffer,
- IN ULONG Count);
-
-VPAPI
-VOID
-DDKAPI
-VideoPortWriteRegisterBufferUlong(
- IN PULONG Register,
- IN PULONG Buffer,
- IN ULONG Count);
-
-VPAPI
-VOID
-DDKAPI
-VideoPortWriteRegisterBufferUshort(
- IN PUSHORT Register,
- IN PUSHORT Buffer,
- IN ULONG Count);
-
-VPAPI
-VOID
-DDKAPI
-VideoPortWriteRegisterUchar(
- IN PUCHAR Register,
- IN UCHAR Value);
-
-VPAPI
-VOID
-DDKAPI
-VideoPortWriteRegisterUlong(
- IN PULONG Register,
- IN ULONG Value);
-
-VPAPI
-VOID
-DDKAPI
-VideoPortWriteRegisterUshort(
- IN PUSHORT Register,
- IN USHORT Value);
-
-VPAPI
-VOID
-DDKAPI
-VideoPortZeroDeviceMemory(
- IN PVOID Destination,
- IN ULONG Length);
-
-VPAPI
-VOID
-DDKAPI
-VideoPortZeroMemory(
- IN PVOID Destination,
- IN ULONG Length);
-
-#ifdef DBG
-#define VideoDebugPrint(x) VideoPortDebugPrint x
-#else
-#define VideoDebugPrint(x)
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* defined __WINDDI_H */
-
-#endif /* __VIDEO_H */
diff --git a/winsup/w32api/include/ddk/videoagp.h b/winsup/w32api/include/ddk/videoagp.h
deleted file mode 100644
index 60f48baa8..000000000
--- a/winsup/w32api/include/ddk/videoagp.h
+++ /dev/null
@@ -1,129 +0,0 @@
-/*
- * videoagp.h
- *
- * Video miniport AGP interface
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- * Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __VIDEOAGP_H
-#define __VIDEOAGP_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-#include "video.h"
-
-
-#define VIDEO_AGP_RATE_1X 0x00000001
-#define VIDEO_AGP_RATE_2X 0x00000002
-#define VIDEO_AGP_RATE_4X 0x00000004
-#define VIDEO_AGP_RATE_8X 0x00000008
-
-typedef enum _VIDEO_PORT_CACHE_TYPE {
- VpNonCached = 0,
- VpWriteCombined,
- VpCached
-} VIDEO_PORT_CACHE_TYPE;
-
-typedef BOOLEAN DDKAPI
-(*PAGP_COMMIT_PHYSICAL)(
- IN PVOID HwDeviceExtension,
- IN PVOID PhysicalReserveContext,
- IN ULONG Pages,
- IN ULONG Offset);
-
-typedef PVOID DDKAPI
-(*PAGP_COMMIT_VIRTUAL)(
- IN PVOID HwDeviceExtension,
- IN PVOID VirtualReserveContext,
- IN ULONG Pages,
- IN ULONG Offset);
-
-typedef VOID DDKAPI
-(*PAGP_FREE_PHYSICAL)(
- IN PVOID HwDeviceExtension,
- IN PVOID PhysicalReserveContext,
- IN ULONG Pages,
- IN ULONG Offset);
-
-typedef VOID DDKAPI
-(*PAGP_FREE_VIRTUAL)(
- IN PVOID HwDeviceExtension,
- IN PVOID VirtualReserveContext,
- IN ULONG Pages,
- IN ULONG Offset);
-
-typedef VOID DDKAPI
-(*PAGP_RELEASE_PHYSICAL)(
- IN PVOID HwDeviceExtension,
- IN PVOID PhysicalReserveContext);
-
-typedef VOID DDKAPI
-(*PAGP_RELEASE_VIRTUAL)(
- IN PVOID HwDeviceExtension,
- IN PVOID VirtualReserveContext);
-
-typedef PHYSICAL_ADDRESS DDKAPI
-(*PAGP_RESERVE_PHYSICAL)(
- IN PVOID HwDeviceExtension,
- IN ULONG Pages,
- IN VIDEO_PORT_CACHE_TYPE Caching,
- OUT PVOID *PhysicalReserveContext);
-
-typedef PVOID DDKAPI
-(*PAGP_RESERVE_VIRTUAL)(
- IN PVOID HwDeviceExtension,
- IN HANDLE ProcessHandle,
- IN PVOID PhysicalReserveContext,
- OUT PVOID *VirtualReserveContext);
-
-typedef BOOLEAN DDKAPI
-(*PAGP_SET_RATE)(
- IN PVOID HwDeviceExtension,
- IN ULONG AgpRate);
-
-typedef struct _VIDEO_PORT_AGP_SERVICES {
- PAGP_RESERVE_PHYSICAL AgpReservePhysical;
- PAGP_RELEASE_PHYSICAL AgpReleasePhysical;
- PAGP_COMMIT_PHYSICAL AgpCommitPhysical;
- PAGP_FREE_PHYSICAL AgpFreePhysical;
- PAGP_RESERVE_VIRTUAL AgpReserveVirtual;
- PAGP_RELEASE_VIRTUAL AgpReleaseVirtual;
- PAGP_COMMIT_VIRTUAL AgpCommitVirtual;
- PAGP_FREE_VIRTUAL AgpFreeVirtual;
- ULONGLONG AllocationLimit;
-} VIDEO_PORT_AGP_SERVICES, *PVIDEO_PORT_AGP_SERVICES;
-
-VPAPI
-BOOLEAN
-DDKAPI
-VideoPortGetAgpServices(
- IN PVOID HwDeviceExtension,
- IN PVIDEO_PORT_AGP_SERVICES AgpServices);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __VIDEOAGP_H */
diff --git a/winsup/w32api/include/ddk/win2k.h b/winsup/w32api/include/ddk/win2k.h
deleted file mode 100644
index deba29b9e..000000000
--- a/winsup/w32api/include/ddk/win2k.h
+++ /dev/null
@@ -1,106 +0,0 @@
-/*
- * win2k.h
- *
- * Definitions only used in Windows 2000 and earlier versions
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- * Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __WIN2K_H
-#define __WIN2K_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-
-#pragma pack(push,4)
-
-typedef enum _BUS_DATA_TYPE {
- ConfigurationSpaceUndefined = -1,
- Cmos,
- EisaConfiguration,
- Pos,
- CbusConfiguration,
- PCIConfiguration,
- VMEConfiguration,
- NuBusConfiguration,
- PCMCIAConfiguration,
- MPIConfiguration,
- MPSAConfiguration,
- PNPISAConfiguration,
- SgiInternalConfiguration,
- MaximumBusDataType
-} BUS_DATA_TYPE, *PBUS_DATA_TYPE;
-
-NTOSAPI
-VOID
-DDKAPI
-ExReleaseResourceForThreadLite(
- IN PERESOURCE Resource,
- IN ERESOURCE_THREAD ResourceThreadId);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-IoReadPartitionTable(
- IN PDEVICE_OBJECT DeviceObject,
- IN ULONG SectorSize,
- IN BOOLEAN ReturnRecognizedPartitions,
- OUT struct _DRIVE_LAYOUT_INFORMATION **PartitionBuffer);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-IoSetPartitionInformation(
- IN PDEVICE_OBJECT DeviceObject,
- IN ULONG SectorSize,
- IN ULONG PartitionNumber,
- IN ULONG PartitionType);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-IoWritePartitionTable(
- IN PDEVICE_OBJECT DeviceObject,
- IN ULONG SectorSize,
- IN ULONG SectorsPerTrack,
- IN ULONG NumberOfHeads,
- IN struct _DRIVE_LAYOUT_INFORMATION *PartitionBuffer);
-
-/*
- * PVOID MmGetSystemAddressForMdl(
- * IN PMDL Mdl);
- */
-#define MmGetSystemAddressForMdl(Mdl) \
- (((Mdl)->MdlFlags & (MDL_MAPPED_TO_SYSTEM_VA | \
- MDL_SOURCE_IS_NONPAGED_POOL)) ? \
- ((Mdl)->MappedSystemVa) : \
- (MmMapLockedPages((Mdl), KernelMode)))
-
-#pragma pack(pop)
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __WIN2K_H */
diff --git a/winsup/w32api/include/ddk/winddi.h b/winsup/w32api/include/ddk/winddi.h
deleted file mode 100644
index 3aa8f346d..000000000
--- a/winsup/w32api/include/ddk/winddi.h
+++ /dev/null
@@ -1,4156 +0,0 @@
-/*
- * winddi.h
- *
- * GDI device driver interface
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- * Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __WINDDI_H
-#define __WINDDI_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __VIDEO_H
-#error video.h cannot be included with winddi.h
-#else
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-#include <wingdi.h>
-
-#ifndef __DD_INCLUDED__
-/* FIXME: Some DirectDraw structures not added yet */
-typedef ULONG_PTR FLATPTR;
-typedef struct _DD_SURFACECALLBACKS {
-} DD_SURFACECALLBACKS, *PDD_SURFACECALLBACKS;
-typedef struct _DD_PALETTECALLBACKS {
-} DD_PALETTECALLBACKS, *PDD_PALETTECALLBACKS;
-typedef struct _DD_CALLBACKS {
-} DD_CALLBACKS, *PDD_CALLBACKS;
-typedef struct _DD_HALINFO {
-} DD_HALINFO, *PDD_HALINFO;
-typedef struct _VIDEOMEMORY {
-} VIDEOMEMORY, *LPVIDEOMEMORY;
-typedef struct _DD_DIRECTDRAW_GLOBAL {
-} DD_DIRECTDRAW_GLOBAL, *LPDD_DIRECTDRAW_GLOBAL;
-typedef struct _DD_SURFACE_LOCAL {
-} DD_SURFACE_LOCAL, *PDD_SURFACE_LOCAL, *LPDD_SURFACE_LOCAL;
-#endif
-
-#ifndef __DDRAWI_INCLUDED__
-typedef PVOID LPVIDMEM;
-#endif
-
-#if !defined(__DD_INCLUDED__) && !defined(__DDRAWI_INCLUDED__)
-typedef struct _DDSCAPS {
-} DDSCAPS, *PDDSCAPS;
-typedef struct _DDSCAPSEX {
-} DDSCAPSEX, *PDDSCAPSEX;
-typedef PVOID LPVMEMHEAP;
-#endif
-
-#if defined(_WIN32K_)
-#define WIN32KAPI DECL_EXPORT
-#else
-#define WIN32KAPI DECL_IMPORT
-#endif
-
-#define DDI_DRIVER_VERSION_NT4 0x00020000
-#define DDI_DRIVER_VERSION_SP3 0x00020003
-#define DDI_DRIVER_VERSION_NT5 0x00030000
-#define DDI_DRIVER_VERSION_NT5_01 0x00030100
-
-#define GDI_DRIVER_VERSION 0x4000
-
-#ifdef _X86_
-
-typedef DWORD FLOATL;
-
-#else /* !_X86_ */
-
-typedef FLOAT FLOATL;
-
-#endif
-
-typedef SHORT FWORD;
-typedef LONG LDECI4;
-typedef ULONG IDENT;
-
-typedef ULONG_PTR HFF;
-typedef ULONG_PTR HFC;
-
-typedef LONG PTRDIFF;
-typedef PTRDIFF *PPTRDIFF;
-typedef LONG FIX;
-typedef FIX *PFIX;
-typedef ULONG ROP4;
-typedef ULONG MIX;
-typedef ULONG HGLYPH;
-typedef HGLYPH *PHGLYPH;
-
-typedef LONG_PTR (DDKAPI *PFN)();
-
-DECLARE_HANDLE(HBM);
-DECLARE_HANDLE(HDEV);
-DECLARE_HANDLE(HSURF);
-DECLARE_HANDLE(DHSURF);
-DECLARE_HANDLE(DHPDEV);
-DECLARE_HANDLE(HDRVOBJ);
-
-
-#define GDI_DRIVER_VERSION 0x4000
-
-typedef struct _ENG_EVENT *PEVENT;
-
-#define OPENGL_CMD 4352
-#define OPENGL_GETINFO 4353
-#define WNDOBJ_SETUP 4354
-
-#define FD_ERROR 0xFFFFFFFF
-#define DDI_ERROR 0xFFFFFFFF
-
-#define HFF_INVALID ((HFF) 0)
-#define HFC_INVALID ((HFC) 0)
-#define HGLYPH_INVALID ((HGLYPH) -1)
-
-#define FP_ALTERNATEMODE 1
-#define FP_WINDINGMODE 2
-
-#define DN_ACCELERATION_LEVEL 1
-#define DN_DEVICE_ORIGIN 2
-#define DN_SLEEP_MODE 3
-#define DN_DRAWING_BEGIN 4
-
-#define DCR_SOLID 0
-#define DCR_DRIVER 1
-#define DCR_HALFTONE 2
-
-#define GX_IDENTITY 0
-#define GX_OFFSET 1
-#define GX_SCALE 2
-#define GX_GENERAL 3
-
-typedef struct _POINTE {
- FLOATL x;
- FLOATL y;
-} POINTE, *PPOINTE;
-
-typedef union _FLOAT_LONG {
- FLOATL e;
- LONG l;
-} FLOAT_LONG, *PFLOAT_LONG;
-
-typedef struct _POINTFIX {
- FIX x;
- FIX y;
-} POINTFIX, *PPOINTFIX;
-
-typedef struct _RECTFX {
- FIX xLeft;
- FIX yTop;
- FIX xRight;
- FIX yBottom;
-} RECTFX, *PRECTFX;
-
-typedef struct _POINTQF {
- LARGE_INTEGER x;
- LARGE_INTEGER y;
-} POINTQF, *PPOINTQF;
-
-
-typedef struct _BLENDOBJ {
- BLENDFUNCTION BlendFunction;
-} BLENDOBJ,*PBLENDOBJ;
-
-/* BRUSHOBJ.flColorType */
-#define BR_DEVICE_ICM 0x01
-#define BR_HOST_ICM 0x02
-#define BR_CMYKCOLOR 0x04
-#define BR_ORIGCOLOR 0x08
-
-typedef struct _BRUSHOBJ {
- ULONG iSolidColor;
- PVOID pvRbrush;
- FLONG flColorType;
-} BRUSHOBJ;
-
-typedef struct _CIECHROMA {
- LDECI4 x;
- LDECI4 y;
- LDECI4 Y;
-} CIECHROMA;
-
-typedef struct _RUN {
- LONG iStart;
- LONG iStop;
-} RUN, *PRUN;
-
-typedef struct _CLIPLINE {
- POINTFIX ptfxA;
- POINTFIX ptfxB;
- LONG lStyleState;
- ULONG c;
- RUN arun[1];
-} CLIPLINE, *PCLIPLINE;
-
-/* CLIPOBJ.iDComplexity constants */
-#define DC_TRIVIAL 0
-#define DC_RECT 1
-#define DC_COMPLEX 3
-
-/* CLIPOBJ.iFComplexity constants */
-#define FC_RECT 1
-#define FC_RECT4 2
-#define FC_COMPLEX 3
-
-/* CLIPOBJ.iMode constants */
-#define TC_RECTANGLES 0
-#define TC_PATHOBJ 2
-
-/* CLIPOBJ.fjOptions constants */
-#define OC_BANK_CLIP 1
-
-typedef struct _CLIPOBJ {
- ULONG iUniq;
- RECTL rclBounds;
- BYTE iDComplexity;
- BYTE iFComplexity;
- BYTE iMode;
- BYTE fjOptions;
-} CLIPOBJ;
-
-typedef struct _COLORINFO {
- CIECHROMA Red;
- CIECHROMA Green;
- CIECHROMA Blue;
- CIECHROMA Cyan;
- CIECHROMA Magenta;
- CIECHROMA Yellow;
- CIECHROMA AlignmentWhite;
- LDECI4 RedGamma;
- LDECI4 GreenGamma;
- LDECI4 BlueGamma;
- LDECI4 MagentaInCyanDye;
- LDECI4 YellowInCyanDye;
- LDECI4 CyanInMagentaDye;
- LDECI4 YellowInMagentaDye;
- LDECI4 CyanInYellowDye;
- LDECI4 MagentaInYellowDye;
-} COLORINFO, *PCOLORINFO;
-
-/* DEVHTADJDATA.DeviceFlags constants */
-#define DEVHTADJF_COLOR_DEVICE 0x00000001
-#define DEVHTADJF_ADDITIVE_DEVICE 0x00000002
-
-typedef struct _DEVHTINFO {
- DWORD HTFlags;
- DWORD HTPatternSize;
- DWORD DevPelsDPI;
- COLORINFO ColorInfo;
-} DEVHTINFO, *PDEVHTINFO;
-
-typedef struct _DEVHTADJDATA {
- DWORD DeviceFlags;
- DWORD DeviceXDPI;
- DWORD DeviceYDPI;
- PDEVHTINFO pDefHTInfo;
- PDEVHTINFO pAdjHTInfo;
-} DEVHTADJDATA, *PDEVHTADJDATA;
-
-/* DEVINFO.flGraphicsCaps flags */
-#define GCAPS_BEZIERS 0x00000001
-#define GCAPS_GEOMETRICWIDE 0x00000002
-#define GCAPS_ALTERNATEFILL 0x00000004
-#define GCAPS_WINDINGFILL 0x00000008
-#define GCAPS_HALFTONE 0x00000010
-#define GCAPS_COLOR_DITHER 0x00000020
-#define GCAPS_HORIZSTRIKE 0x00000040
-#define GCAPS_VERTSTRIKE 0x00000080
-#define GCAPS_OPAQUERECT 0x00000100
-#define GCAPS_VECTORFONT 0x00000200
-#define GCAPS_MONO_DITHER 0x00000400
-#define GCAPS_ASYNCCHANGE 0x00000800
-#define GCAPS_ASYNCMOVE 0x00001000
-#define GCAPS_DONTJOURNAL 0x00002000
-#define GCAPS_DIRECTDRAW 0x00004000
-#define GCAPS_ARBRUSHOPAQUE 0x00008000
-#define GCAPS_PANNING 0x00010000
-#define GCAPS_HIGHRESTEXT 0x00040000
-#define GCAPS_PALMANAGED 0x00080000
-#define GCAPS_DITHERONREALIZE 0x00200000
-#define GCAPS_NO64BITMEMACCESS 0x00400000
-#define GCAPS_FORCEDITHER 0x00800000
-#define GCAPS_GRAY16 0x01000000
-#define GCAPS_ICM 0x02000000
-#define GCAPS_CMYKCOLOR 0x04000000
-#define GCAPS_LAYERED 0x08000000
-#define GCAPS_ARBRUSHTEXT 0x10000000
-#define GCAPS_SCREENPRECISION 0x20000000
-#define GCAPS_FONT_RASTERIZER 0x40000000
-#define GCAPS_NUP 0x80000000
-
-/* DEVINFO.iDitherFormat constants */
-#define BMF_1BPP 1L
-#define BMF_4BPP 2L
-#define BMF_8BPP 3L
-#define BMF_16BPP 4L
-#define BMF_24BPP 5L
-#define BMF_32BPP 6L
-#define BMF_4RLE 7L
-#define BMF_8RLE 8L
-#define BMF_JPEG 9L
-#define BMF_PNG 10L
-
-/* DEVINFO.flGraphicsCaps2 flags */
-#define GCAPS2_JPEGSRC 0x00000001
-#define GCAPS2_xxxx 0x00000002
-#define GCAPS2_PNGSRC 0x00000008
-#define GCAPS2_CHANGEGAMMARAMP 0x00000010
-#define GCAPS2_ALPHACURSOR 0x00000020
-#define GCAPS2_SYNCFLUSH 0x00000040
-#define GCAPS2_SYNCTIMER 0x00000080
-#define GCAPS2_ICD_MULTIMON 0x00000100
-#define GCAPS2_MOUSETRAILS 0x00000200
-#define GCAPS2_RESERVED1 0x00000400
-
-typedef struct _DEVINFO {
- FLONG flGraphicsCaps;
- LOGFONTW lfDefaultFont;
- LOGFONTW lfAnsiVarFont;
- LOGFONTW lfAnsiFixFont;
- ULONG cFonts;
- ULONG iDitherFormat;
- USHORT cxDither;
- USHORT cyDither;
- HPALETTE hpalDefault;
- FLONG flGraphicsCaps2;
-} DEVINFO, *PDEVINFO;
-
-typedef struct _DRIVEROBJ *PDRIVEROBJ;
-
-typedef BOOL DDKAPI CALLBACK
-(*FREEOBJPROC)(
- IN PDRIVEROBJ pDriverObj);
-
-typedef struct _DRIVEROBJ {
- PVOID pvObj;
- FREEOBJPROC pFreeProc;
- HDEV hdev;
- DHPDEV dhpdev;
-} DRIVEROBJ;
-
-/* DRVFN.iFunc constants */
-#define INDEX_DrvEnablePDEV 0L
-#define INDEX_DrvCompletePDEV 1L
-#define INDEX_DrvDisablePDEV 2L
-#define INDEX_DrvEnableSurface 3L
-#define INDEX_DrvDisableSurface 4L
-#define INDEX_DrvAssertMode 5L
-#define INDEX_DrvOffset 6L
-#define INDEX_DrvResetPDEV 7L
-#define INDEX_DrvDisableDriver 8L
-#define INDEX_DrvCreateDeviceBitmap 10L
-#define INDEX_DrvDeleteDeviceBitmap 11L
-#define INDEX_DrvRealizeBrush 12L
-#define INDEX_DrvDitherColor 13L
-#define INDEX_DrvStrokePath 14L
-#define INDEX_DrvFillPath 15L
-#define INDEX_DrvStrokeAndFillPath 16L
-#define INDEX_DrvPaint 17L
-#define INDEX_DrvBitBlt 18L
-#define INDEX_DrvCopyBits 19L
-#define INDEX_DrvStretchBlt 20L
-#define INDEX_DrvSetPalette 22L
-#define INDEX_DrvTextOut 23L
-#define INDEX_DrvEscape 24L
-#define INDEX_DrvDrawEscape 25L
-#define INDEX_DrvQueryFont 26L
-#define INDEX_DrvQueryFontTree 27L
-#define INDEX_DrvQueryFontData 28L
-#define INDEX_DrvSetPointerShape 29L
-#define INDEX_DrvMovePointer 30L
-#define INDEX_DrvLineTo 31L
-#define INDEX_DrvSendPage 32L
-#define INDEX_DrvStartPage 33L
-#define INDEX_DrvEndDoc 34L
-#define INDEX_DrvStartDoc 35L
-#define INDEX_DrvGetGlyphMode 37L
-#define INDEX_DrvSynchronize 38L
-#define INDEX_DrvSaveScreenBits 40L
-#define INDEX_DrvGetModes 41L
-#define INDEX_DrvFree 42L
-#define INDEX_DrvDestroyFont 43L
-#define INDEX_DrvQueryFontCaps 44L
-#define INDEX_DrvLoadFontFile 45L
-#define INDEX_DrvUnloadFontFile 46L
-#define INDEX_DrvFontManagement 47L
-#define INDEX_DrvQueryTrueTypeTable 48L
-#define INDEX_DrvQueryTrueTypeOutline 49L
-#define INDEX_DrvGetTrueTypeFile 50L
-#define INDEX_DrvQueryFontFile 51L
-#define INDEX_DrvMovePanning 52L
-#define INDEX_DrvQueryAdvanceWidths 53L
-#define INDEX_DrvSetPixelFormat 54L
-#define INDEX_DrvDescribePixelFormat 55L
-#define INDEX_DrvSwapBuffers 56L
-#define INDEX_DrvStartBanding 57L
-#define INDEX_DrvNextBand 58L
-#define INDEX_DrvGetDirectDrawInfo 59L
-#define INDEX_DrvEnableDirectDraw 60L
-#define INDEX_DrvDisableDirectDraw 61L
-#define INDEX_DrvQuerySpoolType 62L
-#define INDEX_DrvIcmCreateColorTransform 64L
-#define INDEX_DrvIcmDeleteColorTransform 65L
-#define INDEX_DrvIcmCheckBitmapBits 66L
-#define INDEX_DrvIcmSetDeviceGammaRamp 67L
-#define INDEX_DrvGradientFill 68L
-#define INDEX_DrvStretchBltROP 69L
-#define INDEX_DrvPlgBlt 70L
-#define INDEX_DrvAlphaBlend 71L
-#define INDEX_DrvSynthesizeFont 72L
-#define INDEX_DrvGetSynthesizedFontFiles 73L
-#define INDEX_DrvTransparentBlt 74L
-#define INDEX_DrvQueryPerBandInfo 75L
-#define INDEX_DrvQueryDeviceSupport 76L
-#define INDEX_DrvReserved1 77L
-#define INDEX_DrvReserved2 78L
-#define INDEX_DrvReserved3 79L
-#define INDEX_DrvReserved4 80L
-#define INDEX_DrvReserved5 81L
-#define INDEX_DrvReserved6 82L
-#define INDEX_DrvReserved7 83L
-#define INDEX_DrvReserved8 84L
-#define INDEX_DrvDeriveSurface 85L
-#define INDEX_DrvQueryGlyphAttrs 86L
-#define INDEX_DrvNotify 87L
-#define INDEX_DrvSynchronizeSurface 88L
-#define INDEX_DrvResetDevice 89L
-#define INDEX_DrvReserved9 90L
-#define INDEX_DrvReserved10 91L
-#define INDEX_DrvReserved11 92L
-#define INDEX_LAST 93L
-
-typedef struct _DRVFN {
- ULONG iFunc;
- PFN pfn;
-} DRVFN, *PDRVFN;
-
-/* DRVENABLEDATA.iDriverVersion constants */
-#define DDI_DRIVER_VERSION_NT4 0x00020000
-#define DDI_DRIVER_VERSION_SP3 0x00020003
-#define DDI_DRIVER_VERSION_NT5 0x00030000
-#define DDI_DRIVER_VERSION_NT5_01 0x00030100
-
-typedef struct _DRVENABLEDATA {
- ULONG iDriverVersion;
- ULONG c;
- DRVFN *pdrvfn;
-} DRVENABLEDATA, *PDRVENABLEDATA;
-
-DECLARE_HANDLE(HSEMAPHORE);
-
-typedef struct {
- DWORD nSize;
- HDC hdc;
- PBYTE pvEMF;
- PBYTE pvCurrentRecord;
-} EMFINFO, *PEMFINFO;
-
-typedef struct _ENGSAFESEMAPHORE {
- HSEMAPHORE hsem;
- LONG lCount;
-} ENGSAFESEMAPHORE;
-
-typedef struct _ENG_TIME_FIELDS {
- USHORT usYear;
- USHORT usMonth;
- USHORT usDay;
- USHORT usHour;
- USHORT usMinute;
- USHORT usSecond;
- USHORT usMilliseconds;
- USHORT usWeekday;
-} ENG_TIME_FIELDS, *PENG_TIME_FIELDS;
-
-typedef struct _ENUMRECTS {
- ULONG c;
- RECTL arcl[1];
-} ENUMRECTS;
-
-typedef struct _FD_XFORM {
- FLOATL eXX;
- FLOATL eXY;
- FLOATL eYX;
- FLOATL eYY;
-} FD_XFORM, *PFD_XFORM;
-
-/* FD_DEVICEMETRICS.flRealizedType constants */
-#define FDM_TYPE_BM_SIDE_CONST 0x00000001
-#define FDM_TYPE_MAXEXT_EQUAL_BM_SIDE 0x00000002
-#define FDM_TYPE_CHAR_INC_EQUAL_BM_BASE 0x00000004
-#define FDM_TYPE_ZERO_BEARINGS 0x00000008
-#define FDM_TYPE_CONST_BEARINGS 0x00000010
-
-typedef struct _FD_DEVICEMETRICS {
- FLONG flRealizedType;
- POINTE pteBase;
- POINTE pteSide;
- LONG lD;
- FIX fxMaxAscender;
- FIX fxMaxDescender;
- POINTL ptlUnderline1;
- POINTL ptlStrikeout;
- POINTL ptlULThickness;
- POINTL ptlSOThickness;
- ULONG cxMax;
- ULONG cyMax;
- ULONG cjGlyphMax;
- FD_XFORM fdxQuantized;
- LONG lNonLinearExtLeading;
- LONG lNonLinearIntLeading;
- LONG lNonLinearMaxCharWidth;
- LONG lNonLinearAvgCharWidth;
- LONG lMinA;
- LONG lMinC;
- LONG lMinD;
- LONG alReserved[1];
-} FD_DEVICEMETRICS, *PFD_DEVICEMETRICS;
-
-/* FD_GLYPHATTR.iMode constants */
-#define FO_ATTR_MODE_ROTATE 1
-
-typedef struct _FD_GLYPHATTR {
- ULONG cjThis;
- ULONG cGlyphs;
- ULONG iMode;
- BYTE aGlyphAttr[1];
-} FD_GLYPHATTR, *PFD_GLYPHATTR;
-
-/* FD_GLYPHSET.flAccel */
-#define GS_UNICODE_HANDLES 0x00000001
-#define GS_8BIT_HANDLES 0x00000002
-#define GS_16BIT_HANDLES 0x00000004
-
-typedef struct _WCRUN {
- WCHAR wcLow;
- USHORT cGlyphs;
- HGLYPH *phg;
-} WCRUN, *PWCRUN;
-
-typedef struct _FD_GLYPHSET {
- ULONG cjThis;
- FLONG flAccel;
- ULONG cGlyphsSupported;
- ULONG cRuns;
- WCRUN awcrun[1];
-} FD_GLYPHSET, *PFD_GLYPHSET;
-
-typedef struct _FD_KERNINGPAIR {
- WCHAR wcFirst;
- WCHAR wcSecond;
- FWORD fwdKern;
-} FD_KERNINGPAIR;
-
-typedef struct _FLOATOBJ
-{
- ULONG ul1;
- ULONG ul2;
-} FLOATOBJ, *PFLOATOBJ;
-
-typedef struct _FLOATOBJ_XFORM {
- FLOATOBJ eM11;
- FLOATOBJ eM12;
- FLOATOBJ eM21;
- FLOATOBJ eM22;
- FLOATOBJ eDx;
- FLOATOBJ eDy;
-} FLOATOBJ_XFORM, *PFLOATOBJ_XFORM, FAR *LPFLOATOBJ_XFORM;
-
-/* FONTDIFF.fsSelection */
-#define FM_SEL_ITALIC 0x0001
-#define FM_SEL_UNDERSCORE 0x0002
-#define FM_SEL_NEGATIVE 0x0004
-#define FM_SEL_OUTLINED 0x0008
-#define FM_SEL_STRIKEOUT 0x0010
-#define FM_SEL_BOLD 0x0020
-#define FM_SEL_REGULAR 0x0040
-
-typedef struct _FONTDIFF {
- BYTE jReserved1;
- BYTE jReserved2;
- BYTE jReserved3;
- BYTE bWeight;
- USHORT usWinWeight;
- FSHORT fsSelection;
- FWORD fwdAveCharWidth;
- FWORD fwdMaxCharInc;
- POINTL ptlCaret;
-} FONTDIFF;
-
-typedef struct _FONTSIM {
- PTRDIFF dpBold;
- PTRDIFF dpItalic;
- PTRDIFF dpBoldItalic;
-} FONTSIM;
-
-/* FONTINFO.flCaps constants */
-#define FO_DEVICE_FONT 1L
-#define FO_OUTLINE_CAPABLE 2L
-
-typedef struct _FONTINFO {
- ULONG cjThis;
- FLONG flCaps;
- ULONG cGlyphsSupported;
- ULONG cjMaxGlyph1;
- ULONG cjMaxGlyph4;
- ULONG cjMaxGlyph8;
- ULONG cjMaxGlyph32;
-} FONTINFO, *PFONTINFO;
-
-/* FONTOBJ.flFontType constants */
-#define FO_TYPE_RASTER RASTER_FONTTYPE
-#define FO_TYPE_DEVICE DEVICE_FONTTYPE
-#define FO_TYPE_TRUETYPE TRUETYPE_FONTTYPE
-#define FO_TYPE_OPENTYPE OPENTYPE_FONTTYPE
-
-#define FO_SIM_BOLD 0x00002000
-#define FO_SIM_ITALIC 0x00004000
-#define FO_EM_HEIGHT 0x00008000
-#define FO_GRAY16 0x00010000
-#define FO_NOGRAY16 0x00020000
-#define FO_NOHINTS 0x00040000
-#define FO_NO_CHOICE 0x00080000
-#define FO_CFF 0x00100000
-#define FO_POSTSCRIPT 0x00200000
-#define FO_MULTIPLEMASTER 0x00400000
-#define FO_VERT_FACE 0x00800000
-#define FO_DBCS_FONT 0X01000000
-#define FO_NOCLEARTYPE 0x02000000
-#define FO_CLEARTYPE_X 0x10000000
-#define FO_CLEARTYPE_Y 0x20000000
-
-typedef struct _FONTOBJ {
- ULONG iUniq;
- ULONG iFace;
- ULONG cxMax;
- FLONG flFontType;
- ULONG_PTR iTTUniq;
- ULONG_PTR iFile;
- SIZE sizLogResPpi;
- ULONG ulStyleSize;
- PVOID pvConsumer;
- PVOID pvProducer;
-} FONTOBJ;
-
-typedef struct _GAMMARAMP {
- WORD Red[256];
- WORD Green[256];
- WORD Blue[256];
-} GAMMARAMP, *PGAMMARAMP;
-
-/* GDIINFO.ulPrimaryOrder constants */
-#define PRIMARY_ORDER_ABC 0
-#define PRIMARY_ORDER_ACB 1
-#define PRIMARY_ORDER_BAC 2
-#define PRIMARY_ORDER_BCA 3
-#define PRIMARY_ORDER_CBA 4
-#define PRIMARY_ORDER_CAB 5
-
-/* GDIINFO.ulHTPatternSize constants */
-#define HT_PATSIZE_2x2 0
-#define HT_PATSIZE_2x2_M 1
-#define HT_PATSIZE_4x4 2
-#define HT_PATSIZE_4x4_M 3
-#define HT_PATSIZE_6x6 4
-#define HT_PATSIZE_6x6_M 5
-#define HT_PATSIZE_8x8 6
-#define HT_PATSIZE_8x8_M 7
-#define HT_PATSIZE_10x10 8
-#define HT_PATSIZE_10x10_M 9
-#define HT_PATSIZE_12x12 10
-#define HT_PATSIZE_12x12_M 11
-#define HT_PATSIZE_14x14 12
-#define HT_PATSIZE_14x14_M 13
-#define HT_PATSIZE_16x16 14
-#define HT_PATSIZE_16x16_M 15
-#define HT_PATSIZE_SUPERCELL 16
-#define HT_PATSIZE_SUPERCELL_M 17
-#define HT_PATSIZE_USER 18
-#define HT_PATSIZE_MAX_INDEX HT_PATSIZE_USER
-#define HT_PATSIZE_DEFAULT HT_PATSIZE_SUPERCELL_M
-#define HT_USERPAT_CX_MIN 4
-#define HT_USERPAT_CX_MAX 256
-#define HT_USERPAT_CY_MIN 4
-#define HT_USERPAT_CY_MAX 256
-
-/* GDIINFO.ulHTOutputFormat constants */
-#define HT_FORMAT_1BPP 0
-#define HT_FORMAT_4BPP 2
-#define HT_FORMAT_4BPP_IRGB 3
-#define HT_FORMAT_8BPP 4
-#define HT_FORMAT_16BPP 5
-#define HT_FORMAT_24BPP 6
-#define HT_FORMAT_32BPP 7
-
-/* GDIINFO.flHTFlags */
-#define HT_FLAG_SQUARE_DEVICE_PEL 0x00000001
-#define HT_FLAG_HAS_BLACK_DYE 0x00000002
-#define HT_FLAG_ADDITIVE_PRIMS 0x00000004
-#define HT_FLAG_USE_8BPP_BITMASK 0x00000008
-#define HT_FLAG_INK_HIGH_ABSORPTION 0x00000010
-#define HT_FLAG_INK_ABSORPTION_INDICES 0x00000060
-#define HT_FLAG_DO_DEVCLR_XFORM 0x00000080
-#define HT_FLAG_OUTPUT_CMY 0x00000100
-#define HT_FLAG_PRINT_DRAFT_MODE 0x00000200
-#define HT_FLAG_INVERT_8BPP_BITMASK_IDX 0x00000400
-#define HT_FLAG_8BPP_CMY332_MASK 0xFF000000
-
-#define MAKE_CMYMASK_BYTE(c,m,y) ((BYTE)(((BYTE)(c) & 0x07) << 5) \
- |(BYTE)(((BYTE)(m) & 0x07) << 2) \
- |(BYTE)((BYTE)(y) & 0x03))
-
-#define MAKE_CMY332_MASK(c,m,y) ((DWORD)(((DWORD)(c) & 0x07) << 29)\
- |(DWORD)(((DWORD)(m) & 0x07) << 26)\
- |(DWORD)(((DWORD)(y) & 0x03) << 24))
-
-/* GDIINFO.flHTFlags constants */
-#define HT_FLAG_INK_ABSORPTION_IDX0 0x00000000
-#define HT_FLAG_INK_ABSORPTION_IDX1 0x00000020
-#define HT_FLAG_INK_ABSORPTION_IDX2 0x00000040
-#define HT_FLAG_INK_ABSORPTION_IDX3 0x00000060
-
-#define HT_FLAG_HIGHEST_INK_ABSORPTION (HT_FLAG_INK_HIGH_ABSORPTION \
- |HT_FLAG_INK_ABSORPTION_IDX3)
-#define HT_FLAG_HIGHER_INK_ABSORPTION (HT_FLAG_INK_HIGH_ABSORPTION \
- |HT_FLAG_INK_ABSORPTION_IDX2)
-#define HT_FLAG_HIGH_INK_ABSORPTION (HT_FLAG_INK_HIGH_ABSORPTION \
- |HT_FLAG_INK_ABSORPTION_IDX1)
-#define HT_FLAG_NORMAL_INK_ABSORPTION HT_FLAG_INK_ABSORPTION_IDX0
-#define HT_FLAG_LOW_INK_ABSORPTION HT_FLAG_INK_ABSORPTION_IDX1
-#define HT_FLAG_LOWER_INK_ABSORPTION HT_FLAG_INK_ABSORPTION_IDX2
-#define HT_FLAG_LOWEST_INK_ABSORPTION HT_FLAG_INK_ABSORPTION_IDX3
-
-#define HT_BITMASKPALRGB (DWORD)'0BGR'
-#define HT_SET_BITMASKPAL2RGB(pPal) (*((LPDWORD)(pPal)) = HT_BITMASKPALRGB)
-#define HT_IS_BITMASKPALRGB(pPal) (*((LPDWORD)(pPal)) == (DWORD)0)
-
-/* GDIINFO.ulPhysicalPixelCharacteristics constants */
-#define PPC_DEFAULT 0x0
-#define PPC_UNDEFINED 0x1
-#define PPC_RGB_ORDER_VERTICAL_STRIPES 0x2
-#define PPC_BGR_ORDER_VERTICAL_STRIPES 0x3
-#define PPC_RGB_ORDER_HORIZONTAL_STRIPES 0x4
-#define PPC_BGR_ORDER_HORIZONTAL_STRIPES 0x5
-
-#define PPG_DEFAULT 0
-#define PPG_SRGB 1
-
-typedef struct _GDIINFO {
- ULONG ulVersion;
- ULONG ulTechnology;
- ULONG ulHorzSize;
- ULONG ulVertSize;
- ULONG ulHorzRes;
- ULONG ulVertRes;
- ULONG cBitsPixel;
- ULONG cPlanes;
- ULONG ulNumColors;
- ULONG flRaster;
- ULONG ulLogPixelsX;
- ULONG ulLogPixelsY;
- ULONG flTextCaps;
- ULONG ulDACRed;
- ULONG ulDACGreen;
- ULONG ulDACBlue;
- ULONG ulAspectX;
- ULONG ulAspectY;
- ULONG ulAspectXY;
- LONG xStyleStep;
- LONG yStyleStep;
- LONG denStyleStep;
- POINTL ptlPhysOffset;
- SIZEL szlPhysSize;
- ULONG ulNumPalReg;
- COLORINFO ciDevice;
- ULONG ulDevicePelsDPI;
- ULONG ulPrimaryOrder;
- ULONG ulHTPatternSize;
- ULONG ulHTOutputFormat;
- ULONG flHTFlags;
- ULONG ulVRefresh;
- ULONG ulBltAlignment;
- ULONG ulPanningHorzRes;
- ULONG ulPanningVertRes;
- ULONG xPanningAlignment;
- ULONG yPanningAlignment;
- ULONG cxHTPat;
- ULONG cyHTPat;
- LPBYTE pHTPatA;
- LPBYTE pHTPatB;
- LPBYTE pHTPatC;
- ULONG flShadeBlend;
- ULONG ulPhysicalPixelCharacteristics;
- ULONG ulPhysicalPixelGamma;
-} GDIINFO, *PGDIINFO;
-
-/* PATHDATA.flags constants */
-#define PD_BEGINSUBPATH 0x00000001
-#define PD_ENDSUBPATH 0x00000002
-#define PD_RESETSTYLE 0x00000004
-#define PD_CLOSEFIGURE 0x00000008
-#define PD_BEZIERS 0x00000010
-#define PD_ALL (PD_BEGINSUBPATH \
- |PD_ENDSUBPATH \
- |PD_RESETSTYLE \
- |PD_CLOSEFIGURE \
- PD_BEZIERS)
-
-typedef struct _PATHDATA {
- FLONG flags;
- ULONG count;
- POINTFIX *glypptfx;
-} PATHDATA, *PPATHDATA;
-
-/* PATHOBJ.fl constants */
-#define PO_BEZIERS 0x00000001
-#define PO_ELLIPSE 0x00000002
-#define PO_ALL_INTEGERS 0x00000004
-#define PO_ENUM_AS_INTEGERS 0x00000008
-
-typedef struct _PATHOBJ {
- FLONG fl;
- ULONG cCurves;
-} PATHOBJ;
-
-typedef struct _GLYPHBITS {
- POINTL ptlOrigin;
- SIZEL sizlBitmap;
- BYTE aj[1];
-} GLYPHBITS;
-
-typedef union _GLYPHDEF {
- GLYPHBITS *pgb;
- PATHOBJ *ppo;
-} GLYPHDEF;
-
-typedef struct _GLYPHPOS {
- HGLYPH hg;
- GLYPHDEF *pgdf;
- POINTL ptl;
-} GLYPHPOS, *PGLYPHPOS;
-
-typedef struct _GLYPHDATA {
- GLYPHDEF gdf;
- HGLYPH hg;
- FIX fxD;
- FIX fxA;
- FIX fxAB;
- FIX fxInkTop;
- FIX fxInkBottom;
- RECTL rclInk;
- POINTQF ptqD;
-} GLYPHDATA;
-
-typedef struct _IFIEXTRA {
- ULONG ulIdentifier;
- PTRDIFF dpFontSig;
- ULONG cig;
- PTRDIFF dpDesignVector;
- PTRDIFF dpAxesInfoW;
- ULONG aulReserved[1];
-} IFIEXTRA, *PIFIEXTRA;
-
-/* IFIMETRICS constants */
-
-#define FM_VERSION_NUMBER 0x0
-
-/* IFIMETRICS.fsType constants */
-#define FM_TYPE_LICENSED 0x2
-#define FM_READONLY_EMBED 0x4
-#define FM_EDITABLE_EMBED 0x8
-#define FM_NO_EMBEDDING FM_TYPE_LICENSED
-
-/* IFIMETRICS.flInfo constants */
-#define FM_INFO_TECH_TRUETYPE 0x00000001
-#define FM_INFO_TECH_BITMAP 0x00000002
-#define FM_INFO_TECH_STROKE 0x00000004
-#define FM_INFO_TECH_OUTLINE_NOT_TRUETYPE 0x00000008
-#define FM_INFO_ARB_XFORMS 0x00000010
-#define FM_INFO_1BPP 0x00000020
-#define FM_INFO_4BPP 0x00000040
-#define FM_INFO_8BPP 0x00000080
-#define FM_INFO_16BPP 0x00000100
-#define FM_INFO_24BPP 0x00000200
-#define FM_INFO_32BPP 0x00000400
-#define FM_INFO_INTEGER_WIDTH 0x00000800
-#define FM_INFO_CONSTANT_WIDTH 0x00001000
-#define FM_INFO_NOT_CONTIGUOUS 0x00002000
-#define FM_INFO_TECH_MM 0x00004000
-#define FM_INFO_RETURNS_OUTLINES 0x00008000
-#define FM_INFO_RETURNS_STROKES 0x00010000
-#define FM_INFO_RETURNS_BITMAPS 0x00020000
-#define FM_INFO_DSIG 0x00040000
-#define FM_INFO_RIGHT_HANDED 0x00080000
-#define FM_INFO_INTEGRAL_SCALING 0x00100000
-#define FM_INFO_90DEGREE_ROTATIONS 0x00200000
-#define FM_INFO_OPTICALLY_FIXED_PITCH 0x00400000
-#define FM_INFO_DO_NOT_ENUMERATE 0x00800000
-#define FM_INFO_ISOTROPIC_SCALING_ONLY 0x01000000
-#define FM_INFO_ANISOTROPIC_SCALING_ONLY 0x02000000
-#define FM_INFO_TECH_CFF 0x04000000
-#define FM_INFO_FAMILY_EQUIV 0x08000000
-#define FM_INFO_DBCS_FIXED_PITCH 0x10000000
-#define FM_INFO_NONNEGATIVE_AC 0x20000000
-#define FM_INFO_IGNORE_TC_RA_ABLE 0x40000000
-#define FM_INFO_TECH_TYPE1 0x80000000
-
-#define MAXCHARSETS 16
-
-/* IFIMETRICS.ulPanoseCulture constants */
-#define FM_PANOSE_CULTURE_LATIN 0x0
-
-typedef struct _IFIMETRICS {
- ULONG cjThis;
- ULONG cjIfiExtra;
- PTRDIFF dpwszFamilyName;
- PTRDIFF dpwszStyleName;
- PTRDIFF dpwszFaceName;
- PTRDIFF dpwszUniqueName;
- PTRDIFF dpFontSim;
- LONG lEmbedId;
- LONG lItalicAngle;
- LONG lCharBias;
- PTRDIFF dpCharSets;
- BYTE jWinCharSet;
- BYTE jWinPitchAndFamily;
- USHORT usWinWeight;
- ULONG flInfo;
- USHORT fsSelection;
- USHORT fsType;
- FWORD fwdUnitsPerEm;
- FWORD fwdLowestPPEm;
- FWORD fwdWinAscender;
- FWORD fwdWinDescender;
- FWORD fwdMacAscender;
- FWORD fwdMacDescender;
- FWORD fwdMacLineGap;
- FWORD fwdTypoAscender;
- FWORD fwdTypoDescender;
- FWORD fwdTypoLineGap;
- FWORD fwdAveCharWidth;
- FWORD fwdMaxCharInc;
- FWORD fwdCapHeight;
- FWORD fwdXHeight;
- FWORD fwdSubscriptXSize;
- FWORD fwdSubscriptYSize;
- FWORD fwdSubscriptXOffset;
- FWORD fwdSubscriptYOffset;
- FWORD fwdSuperscriptXSize;
- FWORD fwdSuperscriptYSize;
- FWORD fwdSuperscriptXOffset;
- FWORD fwdSuperscriptYOffset;
- FWORD fwdUnderscoreSize;
- FWORD fwdUnderscorePosition;
- FWORD fwdStrikeoutSize;
- FWORD fwdStrikeoutPosition;
- BYTE chFirstChar;
- BYTE chLastChar;
- BYTE chDefaultChar;
- BYTE chBreakChar;
- WCHAR wcFirstChar;
- WCHAR wcLastChar;
- WCHAR wcDefaultChar;
- WCHAR wcBreakChar;
- POINTL ptlBaseline;
- POINTL ptlAspect;
- POINTL ptlCaret;
- RECTL rclFontBox;
- BYTE achVendId[4];
- ULONG cKerningPairs;
- ULONG ulPanoseCulture;
- PANOSE panose;
-#if defined(_WIN64)
- PVOID Align;
-#endif
-} IFIMETRICS, *PIFIMETRICS;
-
-/* LINEATTRS.fl */
-#define LA_GEOMETRIC 0x00000001
-#define LA_ALTERNATE 0x00000002
-#define LA_STARTGAP 0x00000004
-#define LA_STYLED 0x00000008
-
-/* LINEATTRS.iJoin */
-#define JOIN_ROUND 0L
-#define JOIN_BEVEL 1L
-#define JOIN_MITER 2L
-
-/* LINEATTRS.iEndCap */
-#define ENDCAP_ROUND 0L
-#define ENDCAP_SQUARE 1L
-#define ENDCAP_BUTT 2L
-
-typedef struct _LINEATTRS {
- FLONG fl;
- ULONG iJoin;
- ULONG iEndCap;
- FLOAT_LONG elWidth;
- FLOATL eMiterLimit;
- ULONG cstyle;
- PFLOAT_LONG pstyle;
- FLOAT_LONG elStyleState;
-} LINEATTRS, *PLINEATTRS;
-
-typedef struct _PALOBJ {
- ULONG ulReserved;
-} PALOBJ;
-
-typedef struct _PERBANDINFO {
- BOOL bRepeatThisBand;
- SIZEL szlBand;
- ULONG ulHorzRes;
- ULONG ulVertRes;
-} PERBANDINFO, *PPERBANDINFO;
-
-/* STROBJ.flAccel constants */
-#define SO_FLAG_DEFAULT_PLACEMENT 0x00000001
-#define SO_HORIZONTAL 0x00000002
-#define SO_VERTICAL 0x00000004
-#define SO_REVERSED 0x00000008
-#define SO_ZERO_BEARINGS 0x00000010
-#define SO_CHAR_INC_EQUAL_BM_BASE 0x00000020
-#define SO_MAXEXT_EQUAL_BM_SIDE 0x00000040
-#define SO_DO_NOT_SUBSTITUTE_DEVICE_FONT 0x00000080
-#define SO_GLYPHINDEX_TEXTOUT 0x00000100
-#define SO_ESC_NOT_ORIENT 0x00000200
-#define SO_DXDY 0x00000400
-#define SO_CHARACTER_EXTRA 0x00000800
-#define SO_BREAK_EXTRA 0x00001000
-
-typedef struct _STROBJ {
- ULONG cGlyphs;
- FLONG flAccel;
- ULONG ulCharInc;
- RECTL rclBkGround;
- GLYPHPOS *pgp;
- LPWSTR pwszOrg;
-} STROBJ;
-
-typedef struct _SURFACEALIGNMENT {
- union {
- struct {
- DWORD dwStartAlignment;
- DWORD dwPitchAlignment;
- DWORD dwReserved1;
- DWORD dwReserved2;
- } Linear;
- struct {
- DWORD dwXAlignment;
- DWORD dwYAlignment;
- DWORD dwReserved1;
- DWORD dwReserved2;
- } Rectangular;
- };
-} SURFACEALIGNMENT, *LPSURFACEALIGNMENT;
-
-/* SURFOBJ.iType constants */
-#define STYPE_BITMAP 0L
-#define STYPE_DEVICE 1L
-#define STYPE_DEVBITMAP 3L
-
-/* SURFOBJ.fjBitmap constants */
-#define BMF_TOPDOWN 0x0001
-#define BMF_NOZEROINIT 0x0002
-#define BMF_DONTCACHE 0x0004
-#define BMF_USERMEM 0x0008
-#define BMF_KMSECTION 0x0010
-#define BMF_NOTSYSMEM 0x0020
-#define BMF_WINDOW_BLT 0x0040
-#define BMF_UMPDMEM 0x0080
-#define BMF_RESERVED 0xFF00
-
-typedef struct _SURFOBJ {
- DHSURF dhsurf;
- HSURF hsurf;
- DHPDEV dhpdev;
- HDEV hdev;
- SIZEL sizlBitmap;
- ULONG cjBits;
- PVOID pvBits;
- PVOID pvScan0;
- LONG lDelta;
- ULONG iUniq;
- ULONG iBitmapFormat;
- USHORT iType;
- USHORT fjBitmap;
-} SURFOBJ;
-
-typedef struct _TYPE1_FONT {
- HANDLE hPFM;
- HANDLE hPFB;
- ULONG ulIdentifier;
-} TYPE1_FONT;
-
-typedef struct _WNDOBJ {
- CLIPOBJ coClient;
- PVOID pvConsumer;
- RECTL rclClient;
- SURFOBJ *psoOwner;
-} WNDOBJ, *PWNDOBJ;
-
-typedef struct _XFORML {
- FLOATL eM11;
- FLOATL eM12;
- FLOATL eM21;
- FLOATL eM22;
- FLOATL eDx;
- FLOATL eDy;
-} XFORML, *PXFORML;
-
-typedef struct _XFORMOBJ {
- ULONG ulReserved;
-} XFORMOBJ;
-
-/* XLATEOBJ.flXlate constants */
-#define XO_TRIVIAL 0x00000001
-#define XO_TABLE 0x00000002
-#define XO_TO_MONO 0x00000004
-#define XO_FROM_CMYK 0x00000008
-#define XO_DEVICE_ICM 0x00000010
-#define XO_HOST_ICM 0x00000020
-
-typedef struct _XLATEOBJ {
- ULONG iUniq;
- FLONG flXlate;
- USHORT iSrcType;
- USHORT iDstType;
- ULONG cEntries;
- ULONG *pulXlate;
-} XLATEOBJ;
-
-typedef VOID DDKAPI (CALLBACK *WNDOBJCHANGEPROC)(
- IN WNDOBJ *pwo,
- IN FLONG fl);
-
-
-WIN32KAPI
-HANDLE
-DDKAPI
-BRUSHOBJ_hGetColorTransform(
- IN BRUSHOBJ *pbo);
-
-WIN32KAPI
-PVOID
-DDKAPI
-BRUSHOBJ_pvAllocRbrush(
- IN BRUSHOBJ *pbo,
- IN ULONG cj);
-
-WIN32KAPI
-PVOID
-DDKAPI
-BRUSHOBJ_pvGetRbrush(
- IN BRUSHOBJ *pbo);
-
-WIN32KAPI
-ULONG
-DDKAPI
-BRUSHOBJ_ulGetBrushColor(
- IN BRUSHOBJ *pbo);
-
-WIN32KAPI
-BOOL
-DDKAPI
-CLIPOBJ_bEnum(
- IN CLIPOBJ *pco,
- IN ULONG cj,
- OUT ULONG *pv);
-
-/* CLIPOBJ_cEnumStart.iType constants */
-#define CT_RECTANGLES 0L
-
-/* CLIPOBJ_cEnumStart.iDirection constants */
-#define CD_RIGHTDOWN 0x00000000
-#define CD_LEFTDOWN 0x00000001
-#define CD_LEFTWARDS 0x00000001
-#define CD_RIGHTUP 0x00000002
-#define CD_UPWARDS 0x00000002
-#define CD_LEFTUP 0x00000003
-#define CD_ANY 0x00000004
-
-WIN32KAPI
-ULONG
-DDKAPI
-CLIPOBJ_cEnumStart(
- IN CLIPOBJ *pco,
- IN BOOL bAll,
- IN ULONG iType,
- IN ULONG iDirection,
- IN ULONG cLimit);
-
-WIN32KAPI
-PATHOBJ*
-DDKAPI
-CLIPOBJ_ppoGetPath(
- IN CLIPOBJ *pco);
-
-WIN32KAPI
-VOID
-DDKAPI
-EngAcquireSemaphore(
- IN HSEMAPHORE hsem);
-
-#define FL_ZERO_MEMORY 0x00000001
-#define FL_NONPAGED_MEMORY 0x00000002
-
-WIN32KAPI
-PVOID
-DDKAPI
-EngAllocMem(
- IN ULONG Flags,
- IN ULONG MemSize,
- IN ULONG Tag);
-
-WIN32KAPI
-PVOID
-DDKAPI
-EngAllocPrivateUserMem(
- IN PDD_SURFACE_LOCAL psl,
- IN SIZE_T cj,
- IN ULONG tag);
-
-WIN32KAPI
-PVOID
-DDKAPI
-EngAllocUserMem(
- IN SIZE_T cj,
- IN ULONG tag);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngAlphaBlend(
- IN SURFOBJ *psoDest,
- IN SURFOBJ *psoSrc,
- IN CLIPOBJ *pco,
- IN XLATEOBJ *pxlo,
- IN RECTL *prclDest,
- IN RECTL *prclSrc,
- IN BLENDOBJ *pBlendObj);
-
-/* EngAssociateSurface.flHooks constants */
-#define HOOK_BITBLT 0x00000001
-#define HOOK_STRETCHBLT 0x00000002
-#define HOOK_PLGBLT 0x00000004
-#define HOOK_TEXTOUT 0x00000008
-#define HOOK_PAINT 0x00000010
-#define HOOK_STROKEPATH 0x00000020
-#define HOOK_FILLPATH 0x00000040
-#define HOOK_STROKEANDFILLPATH 0x00000080
-#define HOOK_LINETO 0x00000100
-#define HOOK_COPYBITS 0x00000400
-#define HOOK_MOVEPANNING 0x00000800
-#define HOOK_SYNCHRONIZE 0x00001000
-#define HOOK_STRETCHBLTROP 0x00002000
-#define HOOK_SYNCHRONIZEACCESS 0x00004000
-#define HOOK_TRANSPARENTBLT 0x00008000
-#define HOOK_ALPHABLEND 0x00010000
-#define HOOK_GRADIENTFILL 0x00020000
-#define HOOK_FLAGS 0x0003b5ff
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngAssociateSurface(
- IN HSURF hsurf,
- IN HDEV hdev,
- IN FLONG flHooks);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngBitBlt(
- IN SURFOBJ *psoTrg,
- IN SURFOBJ *psoSrc,
- IN SURFOBJ *psoMask,
- IN CLIPOBJ *pco,
- IN XLATEOBJ *pxlo,
- IN RECTL *prclTrg,
- IN POINTL *pptlSrc,
- IN POINTL *pptlMask,
- IN BRUSHOBJ *pbo,
- IN POINTL *pptlBrush,
- IN ROP4 rop4);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngCheckAbort(
- IN SURFOBJ *pso);
-
-WIN32KAPI
-VOID
-DDKAPI
-EngClearEvent(
- IN PEVENT pEvent);
-
-WIN32KAPI
-FD_GLYPHSET*
-DDKAPI
-EngComputeGlyphSet(
- IN INT nCodePage,
- IN INT nFirstChar,
- IN INT cChars);
-
-/* EngControlSprites.fl constants */
-#define ECS_TEARDOWN 0x00000001
-#define ECS_REDRAW 0x00000002
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngControlSprites(
- IN WNDOBJ *pwo,
- IN FLONG fl);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngCopyBits(
- OUT SURFOBJ *psoDest,
- IN SURFOBJ *psoSrc,
- IN CLIPOBJ *pco,
- IN XLATEOBJ *pxlo,
- IN RECTL *prclDest,
- IN POINTL *pptlSrc);
-
-WIN32KAPI
-HBITMAP
-DDKAPI
-EngCreateBitmap(
- IN SIZEL sizl,
- IN LONG lWidth,
- IN ULONG iFormat,
- IN FLONG fl,
- IN PVOID pvBits);
-
-WIN32KAPI
-CLIPOBJ*
-DDKAPI
-EngCreateClip(
- VOID);
-
-WIN32KAPI
-HBITMAP
-DDKAPI
-EngCreateDeviceBitmap(
- IN DHSURF dhsurf,
- IN SIZEL sizl,
- IN ULONG iFormatCompat);
-
-WIN32KAPI
-HSURF
-DDKAPI
-EngCreateDeviceSurface(
- DHSURF dhsurf,
- SIZEL sizl,
- ULONG iFormatCompat);
-
-#if 0
-WIN32KAPI
-HDRVOBJ
-DDKAPI
-EngCreateDriverObj(
- PVOID pvObj,
- FREEOBJPROC pFreeObjProc,
- HDEV hdev);
-#endif
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngCreateEvent(
- OUT PEVENT *ppEvent);
-
-/* EngCreatePalette.iMode constants */
-#define PAL_INDEXED 0x00000001
-#define PAL_BITFIELDS 0x00000002
-#define PAL_RGB 0x00000004
-#define PAL_BGR 0x00000008
-#define PAL_CMYK 0x00000010
-
-WIN32KAPI
-HPALETTE
-DDKAPI
-EngCreatePalette(
- IN ULONG iMode,
- IN ULONG cColors,
- IN ULONG *pulColors,
- IN FLONG flRed,
- IN FLONG flGreen,
- IN FLONG flBlue);
-
-WIN32KAPI
-PATHOBJ*
-DDKAPI
-EngCreatePath(
- VOID);
-
-WIN32KAPI
-HSEMAPHORE
-DDKAPI
-EngCreateSemaphore(
- VOID);
-
-/* EngCreateWnd.fl constants */
-#define WO_RGN_CLIENT_DELTA 0x00000001
-#define WO_RGN_CLIENT 0x00000002
-#define WO_RGN_SURFACE_DELTA 0x00000004
-#define WO_RGN_SURFACE 0x00000008
-#define WO_RGN_UPDATE_ALL 0x00000010
-#define WO_RGN_WINDOW 0x00000020
-#define WO_DRAW_NOTIFY 0x00000040
-#define WO_SPRITE_NOTIFY 0x00000080
-#define WO_RGN_DESKTOP_COORD 0x00000100
-
-WIN32KAPI
-WNDOBJ*
-DDKAPI
-EngCreateWnd(
- SURFOBJ *pso,
- HWND hwnd,
- WNDOBJCHANGEPROC pfn,
- FLONG fl,
- int iPixelFormat);
-
-WIN32KAPI
-VOID
-DDKAPI
-EngDebugBreak(
- VOID);
-
-WIN32KAPI
-VOID
-DDKAPI
-EngDebugPrint(
- IN PCHAR StandardPrefix,
- IN PCHAR DebugMessage,
- IN va_list ap);
-
-WIN32KAPI
-VOID
-DDKAPI
-EngDeleteClip(
- IN CLIPOBJ *pco);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngDeleteDriverObj(
- IN HDRVOBJ hdo,
- IN BOOL bCallBack,
- IN BOOL bLocked);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngDeleteEvent(
- IN PEVENT pEvent);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngDeleteFile(
- IN LPWSTR pwszFileName);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngDeletePalette(
- IN HPALETTE hpal);
-
-WIN32KAPI
-VOID
-DDKAPI
-EngDeletePath(
- IN PATHOBJ *ppo);
-
-WIN32KAPI
-VOID
-DDKAPI
-EngDeleteSafeSemaphore(
- IN OUT ENGSAFESEMAPHORE *pssem);
-
-WIN32KAPI
-VOID
-DDKAPI
-EngDeleteSemaphore(
- IN OUT HSEMAPHORE hsem);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngDeleteSurface(
- IN HSURF hsurf);
-
-WIN32KAPI
-VOID
-DDKAPI
-EngDeleteWnd(
- IN WNDOBJ *pwo);
-
-WIN32KAPI
-DWORD
-DDKAPI
-EngDeviceIoControl(
- IN HANDLE hDevice,
- IN DWORD dwIoControlCode,
- IN LPVOID lpInBuffer,
- IN DWORD nInBufferSize,
- IN OUT LPVOID lpOutBuffer,
- IN DWORD nOutBufferSize,
- OUT LPDWORD lpBytesReturned);
-
-WIN32KAPI
-ULONG
-DDKAPI
-EngDitherColor(
- IN HDEV hdev,
- IN ULONG iMode,
- IN ULONG rgb,
- OUT ULONG *pul);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngEnumForms(
- IN HANDLE hPrinter,
- IN DWORD Level,
- OUT LPBYTE pForm,
- IN DWORD cbBuf,
- OUT LPDWORD pcbNeeded,
- OUT LPDWORD pcReturned);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngEraseSurface(
- IN SURFOBJ *pso,
- IN RECTL *prcl,
- IN ULONG iColor);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngFillPath(
- IN SURFOBJ *pso,
- IN PATHOBJ *ppo,
- IN CLIPOBJ *pco,
- IN BRUSHOBJ *pbo,
- IN POINTL *pptlBrushOrg,
- IN MIX mix,
- IN FLONG flOptions);
-
-WIN32KAPI
-PVOID
-DDKAPI
-EngFindImageProcAddress(
- IN HANDLE hModule,
- IN LPSTR lpProcName);
-
-WIN32KAPI
-PVOID
-DDKAPI
-EngFindResource(
- IN HANDLE h,
- IN int iName,
- IN int iType,
- OUT PULONG pulSize);
-
-WIN32KAPI
-PVOID
-DDKAPI
-EngFntCacheAlloc(
- IN ULONG FastCheckSum,
- IN ULONG ulSize);
-
-/* EngFntCacheFault.iFaultMode constants */
-#define ENG_FNT_CACHE_READ_FAULT 0x00000001
-#define ENG_FNT_CACHE_WRITE_FAULT 0x00000002
-
-WIN32KAPI
-VOID
-DDKAPI
-EngFntCacheFault(
- IN ULONG ulFastCheckSum,
- IN ULONG iFaultMode);
-
-WIN32KAPI
-PVOID
-DDKAPI
-EngFntCacheLookUp(
- IN ULONG FastCheckSum,
- OUT ULONG *pulSize);
-
-WIN32KAPI
-VOID
-DDKAPI
-EngFreeMem(
- IN PVOID Mem);
-
-WIN32KAPI
-VOID
-DDKAPI
-EngFreeModule(
- IN HANDLE h);
-
-WIN32KAPI
-VOID
-DDKAPI
-EngFreePrivateUserMem(
- IN PDD_SURFACE_LOCAL psl,
- IN PVOID pv);
-
-WIN32KAPI
-VOID
-DDKAPI
-EngFreeUserMem(
- IN PVOID pv);
-
-WIN32KAPI
-VOID
-DDKAPI
-EngGetCurrentCodePage(
- OUT PUSHORT OemCodePage,
- OUT PUSHORT AnsiCodePage);
-
-WIN32KAPI
-HANDLE
-DDKAPI
-EngGetCurrentProcessId(
- VOID);
-
-WIN32KAPI
-HANDLE
-DDKAPI
-EngGetCurrentThreadId(
- VOID);
-
-WIN32KAPI
-LPWSTR
-DDKAPI
-EngGetDriverName(
- IN HDEV hdev);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngGetFileChangeTime(
- IN HANDLE h,
- OUT LARGE_INTEGER *pChangeTime);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngGetFilePath(
- IN HANDLE h,
- OUT WCHAR (*pDest)[MAX_PATH+1]);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngGetForm(
- IN HANDLE hPrinter,
- IN LPWSTR pFormName,
- IN DWORD Level,
- OUT LPBYTE pForm,
- IN DWORD cbBuf,
- OUT LPDWORD pcbNeeded);
-
-WIN32KAPI
-ULONG
-DDKAPI
-EngGetLastError(
- VOID);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngGetPrinter(
- IN HANDLE hPrinter,
- IN DWORD dwLevel,
- OUT LPBYTE pPrinter,
- IN DWORD cbBuf,
- OUT LPDWORD pcbNeeded);
-
-WIN32KAPI
-DWORD
-DDKAPI
-EngGetPrinterData(
- IN HANDLE hPrinter,
- IN LPWSTR pValueName,
- OUT LPDWORD pType,
- OUT LPBYTE pData,
- IN DWORD nSize,
- OUT LPDWORD pcbNeeded);
-
-WIN32KAPI
-LPWSTR
-DDKAPI
-EngGetPrinterDataFileName(
- IN HDEV hdev);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngGetPrinterDriver(
- IN HANDLE hPrinter,
- IN LPWSTR pEnvironment,
- IN DWORD dwLevel,
- OUT BYTE *lpbDrvInfo,
- IN DWORD cbBuf,
- OUT DWORD *pcbNeeded);
-
-WIN32KAPI
-HANDLE
-DDKAPI
-EngGetProcessHandle(
- VOID);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngGetType1FontList(
- IN HDEV hdev,
- OUT TYPE1_FONT *pType1Buffer,
- IN ULONG cjType1Buffer,
- OUT PULONG pulLocalFonts,
- OUT PULONG pulRemoteFonts,
- OUT LARGE_INTEGER *pLastModified);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngGradientFill(
- IN SURFOBJ *psoDest,
- IN CLIPOBJ *pco,
- IN XLATEOBJ *pxlo,
- IN TRIVERTEX *pVertex,
- IN ULONG nVertex,
- IN PVOID pMesh,
- IN ULONG nMesh,
- IN RECTL *prclExtents,
- IN POINTL *pptlDitherOrg,
- IN ULONG ulMode);
-
-/* EngHangNotification return values */
-#define EHN_RESTORED 0x00000000
-#define EHN_ERROR 0x00000001
-
-WIN32KAPI
-ULONG
-DDKAPI
-EngHangNotification(
- IN HDEV hDev,
- IN PVOID Reserved);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngInitializeSafeSemaphore(
- OUT ENGSAFESEMAPHORE *pssem);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngIsSemaphoreOwned(
- IN HSEMAPHORE hsem);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngIsSemaphoreOwnedByCurrentThread(
- IN HSEMAPHORE hsem);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngLineTo(
- SURFOBJ *pso,
- CLIPOBJ *pco,
- BRUSHOBJ *pbo,
- LONG x1,
- LONG y1,
- LONG x2,
- LONG y2,
- RECTL *prclBounds,
- MIX mix);
-
-WIN32KAPI
-HANDLE
-DDKAPI
-EngLoadImage(
- IN LPWSTR pwszDriver);
-
-WIN32KAPI
-HANDLE
-DDKAPI
-EngLoadModule(
- IN LPWSTR pwsz);
-
-WIN32KAPI
-HANDLE
-DDKAPI
-EngLoadModuleForWrite(
- IN LPWSTR pwsz,
- IN ULONG cjSizeOfModule);
-
-WIN32KAPI
-PDD_SURFACE_LOCAL
-DDKAPI
-EngLockDirectDrawSurface(
- IN HANDLE hSurface);
-
-WIN32KAPI
-DRIVEROBJ*
-DDKAPI
-EngLockDriverObj(
- IN HDRVOBJ hdo);
-
-WIN32KAPI
-SURFOBJ*
-DDKAPI
-EngLockSurface(
- IN HSURF hsurf);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngLpkInstalled(
- VOID);
-
-WIN32KAPI
-PEVENT
-DDKAPI
-EngMapEvent(
- IN HDEV hDev,
- IN HANDLE hUserObject,
- IN PVOID Reserved1,
- IN PVOID Reserved2,
- IN PVOID Reserved3);
-
-WIN32KAPI
-PVOID
-DDKAPI
-EngMapFile(
- IN LPWSTR pwsz,
- IN ULONG cjSize,
- OUT ULONG_PTR *piFile);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngMapFontFile(
- ULONG_PTR iFile,
- PULONG *ppjBuf,
- ULONG *pcjBuf);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngMapFontFileFD(
- IN ULONG_PTR iFile,
- OUT PULONG *ppjBuf,
- OUT ULONG *pcjBuf);
-
-WIN32KAPI
-PVOID
-DDKAPI
-EngMapModule(
- IN HANDLE h,
- OUT PULONG pSize);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngMarkBandingSurface(
- IN HSURF hsurf);
-
-/* EngModifySurface.flSurface constants */
-#define MS_NOTSYSTEMMEMORY 0x00000001
-#define MS_SHAREDACCESS 0x00000002
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngModifySurface(
- IN HSURF hsurf,
- IN HDEV hdev,
- IN FLONG flHooks,
- IN FLONG flSurface,
- IN DHSURF dhsurf,
- IN VOID *pvScan0,
- IN LONG lDelta,
- IN VOID *pvReserved);
-
-WIN32KAPI
-VOID
-DDKAPI
-EngMovePointer(
- IN SURFOBJ *pso,
- IN LONG x,
- IN LONG y,
- IN RECTL *prcl);
-
-WIN32KAPI
-int
-DDKAPI
-EngMulDiv(
- IN int a,
- IN int b,
- IN int c);
-
-WIN32KAPI
-VOID
-DDKAPI
-EngMultiByteToUnicodeN(
- OUT LPWSTR UnicodeString,
- IN ULONG MaxBytesInUnicodeString,
- OUT PULONG BytesInUnicodeString,
- IN PCHAR MultiByteString,
- IN ULONG BytesInMultiByteString);
-
-WIN32KAPI
-INT
-DDKAPI
-EngMultiByteToWideChar(
- IN UINT CodePage,
- OUT LPWSTR WideCharString,
- IN INT BytesInWideCharString,
- IN LPSTR MultiByteString,
- IN INT BytesInMultiByteString);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngPaint(
- IN SURFOBJ *pso,
- IN CLIPOBJ *pco,
- IN BRUSHOBJ *pbo,
- IN POINTL *pptlBrushOrg,
- IN MIX mix);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngPlgBlt(
- IN SURFOBJ *psoTrg,
- IN SURFOBJ *psoSrc,
- IN SURFOBJ *psoMsk,
- IN CLIPOBJ *pco,
- IN XLATEOBJ *pxlo,
- IN COLORADJUSTMENT *pca,
- IN POINTL *pptlBrushOrg,
- IN POINTFIX *pptfx,
- IN RECTL *prcl,
- IN POINTL *pptl,
- IN ULONG iMode);
-
-WIN32KAPI
-VOID
-DDKAPI
-EngProbeForRead(
- IN PVOID Address,
- IN ULONG Length,
- IN ULONG Alignment);
-
-WIN32KAPI
-VOID
-DDKAPI
-EngProbeForReadAndWrite(
- IN PVOID Address,
- IN ULONG Length,
- IN ULONG Alignment);
-
-typedef enum _ENG_DEVICE_ATTRIBUTE {
- QDA_RESERVED = 0,
- QDA_ACCELERATION_LEVEL
-} ENG_DEVICE_ATTRIBUTE;
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngQueryDeviceAttribute(
- IN HDEV hdev,
- IN ENG_DEVICE_ATTRIBUTE devAttr,
- IN VOID *pvIn,
- IN ULONG ulInSize,
- OUT VOID *pvOut,
- OUT ULONG ulOutSize);
-
-WIN32KAPI
-LARGE_INTEGER
-DDKAPI
-EngQueryFileTimeStamp(
- IN LPWSTR pwsz);
-
-WIN32KAPI
-VOID
-DDKAPI
-EngQueryLocalTime(
- OUT PENG_TIME_FIELDS ptf);
-
-WIN32KAPI
-ULONG
-DDKAPI
-EngQueryPalette(
- IN HPALETTE hPal,
- OUT ULONG *piMode,
- IN ULONG cColors,
- OUT ULONG *pulColors);
-
-WIN32KAPI
-VOID
-DDKAPI
-EngQueryPerformanceCounter(
- OUT LONGLONG *pPerformanceCount);
-
-WIN32KAPI
-VOID
-DDKAPI
-EngQueryPerformanceFrequency(
- OUT LONGLONG *pFrequency);
-
-typedef enum _ENG_SYSTEM_ATTRIBUTE {
- EngProcessorFeature = 1,
- EngNumberOfProcessors,
- EngOptimumAvailableUserMemory,
- EngOptimumAvailableSystemMemory,
-} ENG_SYSTEM_ATTRIBUTE;
-
-#define QSA_MMX 0x00000100
-#define QSA_SSE 0x00002000
-#define QSA_3DNOW 0x00004000
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngQuerySystemAttribute(
- IN ENG_SYSTEM_ATTRIBUTE CapNum,
- OUT PDWORD pCapability);
-
-WIN32KAPI
-LONG
-DDKAPI
-EngReadStateEvent(
- IN PEVENT pEvent);
-
-WIN32KAPI
-VOID
-DDKAPI
-EngReleaseSemaphore(
- IN HSEMAPHORE hsem);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngRestoreFloatingPointState(
- IN VOID *pBuffer);
-
-WIN32KAPI
-ULONG
-DDKAPI
-EngSaveFloatingPointState(
- OUT VOID *pBuffer,
- IN ULONG cjBufferSize);
-
-WIN32KAPI
-HANDLE
-DDKAPI
-EngSecureMem(
- IN PVOID Address,
- IN ULONG Length);
-
-WIN32KAPI
-LONG
-DDKAPI
-EngSetEvent(
- IN PEVENT pEvent);
-
-WIN32KAPI
-VOID
-DDKAPI
-EngSetLastError(
- IN ULONG iError);
-
-WIN32KAPI
-ULONG
-DDKAPI
-EngSetPointerShape(
- IN SURFOBJ *pso,
- IN SURFOBJ *psoMask,
- IN SURFOBJ *psoColor,
- IN XLATEOBJ *pxlo,
- IN LONG xHot,
- IN LONG yHot,
- IN LONG x,
- IN LONG y,
- IN RECTL *prcl,
- IN FLONG fl);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngSetPointerTag(
- IN HDEV hdev,
- IN SURFOBJ *psoMask,
- IN SURFOBJ *psoColor,
- IN XLATEOBJ *pxlo,
- IN FLONG fl);
-
-WIN32KAPI
-DWORD
-DDKAPI
-EngSetPrinterData(
- IN HANDLE hPrinter,
- IN LPWSTR pType,
- IN DWORD dwType,
- IN LPBYTE lpbPrinterData,
- IN DWORD cjPrinterData);
-
-typedef int DDKCDECLAPI (*SORTCOMP)(const void *pv1, const void *pv2);
-
-WIN32KAPI
-VOID
-DDKAPI
-EngSort(
- IN OUT PBYTE pjBuf,
- IN ULONG c,
- IN ULONG cjElem,
- IN SORTCOMP pfnComp);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngStretchBlt(
- IN SURFOBJ *psoDest,
- IN SURFOBJ *psoSrc,
- IN SURFOBJ *psoMask,
- IN CLIPOBJ *pco,
- IN XLATEOBJ *pxlo,
- IN COLORADJUSTMENT *pca,
- IN POINTL *pptlHTOrg,
- IN RECTL *prclDest,
- IN RECTL *prclSrc,
- IN POINTL *pptlMask,
- IN ULONG iMode);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngStretchBltROP(
- IN SURFOBJ *psoDest,
- IN SURFOBJ *psoSrc,
- IN SURFOBJ *psoMask,
- IN CLIPOBJ *pco,
- IN XLATEOBJ *pxlo,
- IN COLORADJUSTMENT *pca,
- IN POINTL *pptlHTOrg,
- IN RECTL *prclDest,
- IN RECTL *prclSrc,
- IN POINTL *pptlMask,
- IN ULONG iMode,
- IN BRUSHOBJ *pbo,
- IN DWORD rop4);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngStrokeAndFillPath(
- IN SURFOBJ *pso,
- IN PATHOBJ *ppo,
- IN CLIPOBJ *pco,
- IN XFORMOBJ *pxo,
- IN BRUSHOBJ *pboStroke,
- IN LINEATTRS *plineattrs,
- IN BRUSHOBJ *pboFill,
- IN POINTL *pptlBrushOrg,
- IN MIX mixFill,
- IN FLONG flOptions);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngStrokePath(
- IN SURFOBJ *pso,
- IN PATHOBJ *ppo,
- IN CLIPOBJ *pco,
- IN XFORMOBJ *pxo,
- IN BRUSHOBJ *pbo,
- IN POINTL *pptlBrushOrg,
- IN LINEATTRS *plineattrs,
- IN MIX mix);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngTextOut(
- IN SURFOBJ *pso,
- IN STROBJ *pstro,
- IN FONTOBJ *pfo,
- IN CLIPOBJ *pco,
- IN RECTL *prclExtra,
- IN RECTL *prclOpaque,
- IN BRUSHOBJ *pboFore,
- IN BRUSHOBJ *pboOpaque,
- IN POINTL *pptlOrg,
- IN MIX mix);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngTransparentBlt(
- IN SURFOBJ *psoDst,
- IN SURFOBJ *psoSrc,
- IN CLIPOBJ *pco,
- IN XLATEOBJ *pxlo,
- IN RECTL *prclDst,
- IN RECTL *prclSrc,
- IN ULONG iTransColor,
- IN ULONG ulReserved);
-
-WIN32KAPI
-VOID
-DDKAPI
-EngUnicodeToMultiByteN(
- OUT PCHAR MultiByteString,
- IN ULONG MaxBytesInMultiByteString,
- OUT PULONG BytesInMultiByteString,
- IN PWSTR UnicodeString,
- IN ULONG BytesInUnicodeString);
-
-WIN32KAPI
-VOID
-DDKAPI
-EngUnloadImage(
- IN HANDLE hModule);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngUnlockDirectDrawSurface(
- IN PDD_SURFACE_LOCAL pSurface);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngUnlockDriverObj(
- IN HDRVOBJ hdo);
-
-WIN32KAPI
-VOID
-DDKAPI
-EngUnlockSurface(
- IN SURFOBJ *pso);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngUnmapEvent(
- IN PEVENT pEvent);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngUnmapFile(
- IN ULONG_PTR iFile);
-
-WIN32KAPI
-VOID
-DDKAPI
-EngUnmapFontFile(
- ULONG_PTR iFile);
-
-WIN32KAPI
-VOID
-DDKAPI
-EngUnmapFontFileFD(
- IN ULONG_PTR iFile);
-
-WIN32KAPI
-VOID
-DDKAPI
-EngUnsecureMem(
- IN HANDLE hSecure);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngWaitForSingleObject(
- IN PEVENT pEvent,
- IN PLARGE_INTEGER pTimeOut);
-
-WIN32KAPI
-INT
-DDKAPI
-EngWideCharToMultiByte(
- IN UINT CodePage,
- IN LPWSTR WideCharString,
- IN INT BytesInWideCharString,
- OUT LPSTR MultiByteString,
- IN INT BytesInMultiByteString);
-
-WIN32KAPI
-BOOL
-DDKAPI
-EngWritePrinter(
- IN HANDLE hPrinter,
- IN LPVOID pBuf,
- IN DWORD cbBuf,
- OUT LPDWORD pcWritten);
-
-WIN32KAPI
-VOID
-DDKAPI
-FLOATOBJ_Add(
- IN OUT PFLOATOBJ pf,
- IN PFLOATOBJ pf1);
-
-WIN32KAPI
-VOID
-DDKAPI
-FLOATOBJ_AddFloat(
- IN OUT PFLOATOBJ pf,
- IN FLOATL f);
-
-WIN32KAPI
-VOID
-DDKAPI
-FLOATOBJ_AddLong(
- IN OUT PFLOATOBJ pf,
- IN LONG l);
-
-WIN32KAPI
-VOID
-DDKAPI
-FLOATOBJ_Div(
- IN OUT PFLOATOBJ pf,
- IN PFLOATOBJ pf1);
-
-WIN32KAPI
-VOID
-DDKAPI
-FLOATOBJ_DivFloat(
- IN OUT PFLOATOBJ pf,
- IN FLOATL f);
-
-WIN32KAPI
-VOID
-DDKAPI
-FLOATOBJ_DivLong(
- IN OUT PFLOATOBJ pf,
- IN LONG l);
-
-WIN32KAPI
-BOOL
-DDKAPI
-FLOATOBJ_Equal(
- IN PFLOATOBJ pf,
- IN PFLOATOBJ pf1);
-
-WIN32KAPI
-BOOL
-DDKAPI
-FLOATOBJ_EqualLong(
- IN PFLOATOBJ pf,
- IN LONG l);
-
-WIN32KAPI
-LONG
-DDKAPI
-FLOATOBJ_GetFloat(
- IN PFLOATOBJ pf);
-
-WIN32KAPI
-LONG
-DDKAPI
-FLOATOBJ_GetLong(
- IN PFLOATOBJ pf);
-
-WIN32KAPI
-BOOL
-DDKAPI
-FLOATOBJ_GreaterThan(
- IN PFLOATOBJ pf,
- IN PFLOATOBJ pf1);
-
-WIN32KAPI
-BOOL
-DDKAPI
-FLOATOBJ_GreaterThanLong(
- IN PFLOATOBJ pf,
- IN LONG l);
-
-WIN32KAPI
-BOOL
-DDKAPI
-FLOATOBJ_LessThan(
- IN PFLOATOBJ pf,
- IN PFLOATOBJ pf1);
-
-WIN32KAPI
-BOOL
-DDKAPI
-FLOATOBJ_LessThanLong(
- IN PFLOATOBJ pf,
- IN LONG l);
-
-WIN32KAPI
-VOID
-DDKAPI
-FLOATOBJ_Mul(
- IN OUT PFLOATOBJ pf,
- IN PFLOATOBJ pf1);
-
-WIN32KAPI
-VOID
-DDKAPI
-FLOATOBJ_MulFloat(
- IN OUT PFLOATOBJ pf,
- IN FLOATL f);
-
-WIN32KAPI
-VOID
-DDKAPI
-FLOATOBJ_MulLong(
- IN OUT PFLOATOBJ pf,
- IN LONG l);
-
-WIN32KAPI
-VOID
-DDKAPI
-FLOATOBJ_Neg(
- IN OUT PFLOATOBJ pf);
-
-WIN32KAPI
-VOID
-DDKAPI
-FLOATOBJ_SetFloat(
- OUT PFLOATOBJ pf,
- IN FLOATL f);
-
-WIN32KAPI
-VOID
-DDKAPI
-FLOATOBJ_SetLong(
- OUT PFLOATOBJ pf,
- IN LONG l);
-
-WIN32KAPI
-VOID
-DDKAPI
-FLOATOBJ_Sub(
- IN OUT PFLOATOBJ pf,
- IN PFLOATOBJ pf1);
-
-WIN32KAPI
-VOID
-DDKAPI
-FLOATOBJ_SubFloat(
- IN OUT PFLOATOBJ pf,
- IN FLOATL f);
-
-WIN32KAPI
-VOID
-DDKAPI
-FLOATOBJ_SubLong(
- IN OUT PFLOATOBJ pf,
- IN LONG l);
-
-WIN32KAPI
-ULONG
-DDKAPI
-FONTOBJ_cGetAllGlyphHandles(
- IN FONTOBJ *pfo,
- OUT HGLYPH *phg);
-
-WIN32KAPI
-ULONG
-DDKAPI
-FONTOBJ_cGetGlyphs(
- IN FONTOBJ *pfo,
- IN ULONG iMode,
- IN ULONG cGlyph,
- IN HGLYPH *phg,
- OUT PVOID *ppvGlyph);
-
-WIN32KAPI
-FD_GLYPHSET*
-DDKAPI
-FONTOBJ_pfdg(
- IN FONTOBJ *pfo);
-
-WIN32KAPI
-IFIMETRICS*
-DDKAPI
-FONTOBJ_pifi(
- IN FONTOBJ *pfo);
-
-WIN32KAPI
-PBYTE
-DDKAPI
-FONTOBJ_pjOpenTypeTablePointer(
- IN FONTOBJ *pfo,
- IN ULONG ulTag,
- OUT ULONG *pcjTable);
-
-WIN32KAPI
-PFD_GLYPHATTR
-DDKAPI
-FONTOBJ_pQueryGlyphAttrs(
- IN FONTOBJ *pfo,
- IN ULONG iMode);
-
-WIN32KAPI
-PVOID
-DDKAPI
-FONTOBJ_pvTrueTypeFontFile(
- IN FONTOBJ *pfo,
- OUT ULONG *pcjFile);
-
-WIN32KAPI
-LPWSTR
-DDKAPI
-FONTOBJ_pwszFontFilePaths(
- IN FONTOBJ *pfo,
- OUT ULONG *pcwc);
-
-WIN32KAPI
-XFORMOBJ*
-DDKAPI
-FONTOBJ_pxoGetXform(
- IN FONTOBJ *pfo);
-
-WIN32KAPI
-VOID
-DDKAPI
-FONTOBJ_vGetInfo(
- IN FONTOBJ *pfo,
- IN ULONG cjSize,
- OUT FONTINFO *pfi);
-
-WIN32KAPI
-FLATPTR
-DDKAPI
-HeapVidMemAllocAligned(
- IN LPVIDMEM lpVidMem,
- IN DWORD dwWidth,
- IN DWORD dwHeight,
- IN LPSURFACEALIGNMENT lpAlignment,
- OUT LPLONG lpNewPitch);
-
-WIN32KAPI
-LONG
-DDKAPI
-HT_ComputeRGBGammaTable(
- IN USHORT GammaTableEntries,
- IN USHORT GammaTableType,
- IN USHORT RedGamma,
- IN USHORT GreenGamma,
- IN USHORT BlueGamma,
- OUT LPBYTE pGammaTable);
-
-WIN32KAPI
-LONG
-DDKAPI
-HT_Get8BPPFormatPalette(
- OUT LPPALETTEENTRY pPaletteEntry,
- IN USHORT RedGamma,
- IN USHORT GreenGamma,
- IN USHORT BlueGamma);
-
-WIN32KAPI
-LONG
-DDKAPI
-HT_Get8BPPMaskPalette(
- IN OUT LPPALETTEENTRY pPaletteEntry,
- IN BOOL Use8BPPMaskPal,
- IN BYTE CMYMask,
- IN USHORT RedGamma,
- IN USHORT GreenGamma,
- IN USHORT BlueGamma);
-
-WIN32KAPI
-LONG
-DDKAPI
-HTUI_DeviceColorAdjustment(
- IN LPSTR pDeviceName,
- OUT PDEVHTADJDATA pDevHTAdjData);
-
-WIN32KAPI
-ULONG
-DDKAPI
-PALOBJ_cGetColors(
- IN PALOBJ *ppalo,
- IN ULONG iStart,
- IN ULONG cColors,
- OUT ULONG *pulColors);
-
-WIN32KAPI
-BOOL
-DDKAPI
-PATHOBJ_bCloseFigure(
- IN PATHOBJ *ppo);
-
-WIN32KAPI
-BOOL
-DDKAPI
-PATHOBJ_bEnum(
- IN PATHOBJ *ppo,
- OUT PATHDATA *ppd);
-
-WIN32KAPI
-BOOL
-DDKAPI
-PATHOBJ_bEnumClipLines(
- IN PATHOBJ *ppo,
- IN ULONG cb,
- OUT CLIPLINE *pcl);
-
-WIN32KAPI
-BOOL
-DDKAPI
-PATHOBJ_bMoveTo(
- IN PATHOBJ *ppo,
- IN POINTFIX ptfx);
-
-WIN32KAPI
-BOOL
-DDKAPI
-PATHOBJ_bPolyBezierTo(
- IN PATHOBJ *ppo,
- IN POINTFIX *pptfx,
- IN ULONG cptfx);
-
-WIN32KAPI
-BOOL
-DDKAPI
-PATHOBJ_bPolyLineTo(
- IN PATHOBJ *ppo,
- IN POINTFIX *pptfx,
- IN ULONG cptfx);
-
-WIN32KAPI
-VOID
-DDKAPI
-PATHOBJ_vEnumStart(
- IN PATHOBJ *ppo);
-
-WIN32KAPI
-VOID
-DDKAPI
-PATHOBJ_vEnumStartClipLines(
- IN PATHOBJ *ppo,
- IN CLIPOBJ *pco,
- IN SURFOBJ *pso,
- IN LINEATTRS *pla);
-
-WIN32KAPI
-VOID
-DDKAPI
-PATHOBJ_vGetBounds(
- IN PATHOBJ *ppo,
- OUT PRECTFX prectfx);
-
-WIN32KAPI
-BOOL
-DDKAPI
-STROBJ_bEnum(
- IN STROBJ *pstro,
- OUT ULONG *pc,
- OUT PGLYPHPOS *ppgpos);
-
-WIN32KAPI
-BOOL
-DDKAPI
-STROBJ_bEnumPositionsOnly(
- IN STROBJ *pstro,
- OUT ULONG *pc,
- OUT PGLYPHPOS *ppgpos);
-
-WIN32KAPI
-BOOL
-DDKAPI
-STROBJ_bGetAdvanceWidths(
- IN STROBJ *pso,
- IN ULONG iFirst,
- IN ULONG c,
- OUT POINTQF *pptqD);
-
-WIN32KAPI
-DWORD
-DDKAPI
-STROBJ_dwGetCodePage(
- IN STROBJ *pstro);
-
-WIN32KAPI
-FIX
-DDKAPI
-STROBJ_fxBreakExtra(
- IN STROBJ *pstro);
-
-WIN32KAPI
-FIX
-DDKAPI
-STROBJ_fxCharacterExtra(
- IN STROBJ *pstro);
-
-WIN32KAPI
-VOID
-DDKAPI
-STROBJ_vEnumStart(
- IN STROBJ *pstro);
-
-WIN32KAPI
-VOID
-DDKAPI
-VidMemFree(
- IN LPVMEMHEAP pvmh,
- IN FLATPTR ptr);
-
-WIN32KAPI
-BOOL
-DDKAPI
-WNDOBJ_bEnum(
- IN WNDOBJ *pwo,
- IN ULONG cj,
- OUT ULONG *pul);
-
-WIN32KAPI
-ULONG
-DDKAPI
-WNDOBJ_cEnumStart(
- IN WNDOBJ *pwo,
- IN ULONG iType,
- IN ULONG iDirection,
- IN ULONG cLimit);
-
-WIN32KAPI
-VOID
-DDKAPI
-WNDOBJ_vSetConsumer(
- IN WNDOBJ *pwo,
- IN PVOID pvConsumer);
-
-/* XFORMOBJ_bApplyXform.iMode constants */
-#define XF_LTOL 0L
-#define XF_INV_LTOL 1L
-#define XF_LTOFX 2L
-#define XF_INV_FXTOL 3L
-
-WIN32KAPI
-BOOL
-DDKAPI
-XFORMOBJ_bApplyXform(
- IN XFORMOBJ *pxo,
- IN ULONG iMode,
- IN ULONG cPoints,
- IN PVOID pvIn,
- OUT PVOID pvOut);
-
-WIN32KAPI
-ULONG
-DDKAPI
-XFORMOBJ_iGetFloatObjXform(
- IN XFORMOBJ *pxo,
- OUT FLOATOBJ_XFORM *pxfo);
-
-WIN32KAPI
-ULONG
-DDKAPI
-XFORMOBJ_iGetXform(
- IN XFORMOBJ *pxo,
- OUT XFORML *pxform);
-
-/* XLATEOBJ_cGetPalette.iPal constants */
-#define XO_SRCPALETTE 1
-#define XO_DESTPALETTE 2
-#define XO_DESTDCPALETTE 3
-#define XO_SRCBITFIELDS 4
-#define XO_DESTBITFIELDS 5
-
-WIN32KAPI
-ULONG
-DDKAPI
-XLATEOBJ_cGetPalette(
- IN XLATEOBJ *pxlo,
- IN ULONG iPal,
- IN ULONG cPal,
- OUT ULONG *pPal);
-
-WIN32KAPI
-HANDLE
-DDKAPI
-XLATEOBJ_hGetColorTransform(
- IN XLATEOBJ *pxlo);
-
-WIN32KAPI
-ULONG
-DDKAPI
-XLATEOBJ_iXlate(
- IN XLATEOBJ *pxlo,
- IN ULONG iColor);
-
-WIN32KAPI
-ULONG*
-DDKAPI
-XLATEOBJ_piVector(
- IN XLATEOBJ *pxlo);
-
-
-
-/* Graphics Driver Functions */
-
-BOOL
-DDKAPI
-DrvAlphaBlend(
- IN SURFOBJ *psoDest,
- IN SURFOBJ *psoSrc,
- IN CLIPOBJ *pco,
- IN XLATEOBJ *pxlo,
- IN RECTL *prclDest,
- IN RECTL *prclSrc,
- IN BLENDOBJ *pBlendObj);
-
-BOOL
-DDKAPI
-DrvAssertMode(
- IN DHPDEV dhpdev,
- IN BOOL bEnable);
-
-BOOL
-DDKAPI
-DrvBitBlt(
- IN SURFOBJ *psoTrg,
- IN SURFOBJ *psoSrc,
- IN SURFOBJ *psoMask,
- IN CLIPOBJ *pco,
- IN XLATEOBJ *pxlo,
- IN RECTL *prclTrg,
- IN POINTL *pptlSrc,
- IN POINTL *pptlMask,
- IN BRUSHOBJ *pbo,
- IN POINTL *pptlBrush,
- IN ROP4 rop4);
-
-VOID
-DDKAPI
-DrvCompletePDEV(
- IN DHPDEV dhpdev,
- IN HDEV hdev);
-
-BOOL
-DDKAPI
-DrvCopyBits(
- IN SURFOBJ *psoDest,
- IN SURFOBJ *psoSrc,
- IN CLIPOBJ *pco,
- IN XLATEOBJ *pxlo,
- IN RECTL *prclDest,
- IN POINTL *pptlSrc);
-
-HBITMAP
-DDKAPI
-DrvCreateDeviceBitmap(
- IN DHPDEV dhpdev,
- IN SIZEL sizl,
- IN ULONG iFormat);
-
-VOID
-DDKAPI
-DrvDeleteDeviceBitmap(
- IN DHSURF dhsurf);
-
-HBITMAP
-DDKAPI
-DrvDeriveSurface(
- DD_DIRECTDRAW_GLOBAL *pDirectDraw,
- DD_SURFACE_LOCAL *pSurface);
-
-LONG
-DDKAPI
-DrvDescribePixelFormat(
- IN DHPDEV dhpdev,
- IN LONG iPixelFormat,
- IN ULONG cjpfd,
- OUT PIXELFORMATDESCRIPTOR *ppfd);
-
-VOID
-DDKAPI
-DrvDestroyFont(
- IN FONTOBJ *pfo);
-
-VOID
-DDKAPI
-DrvDisableDriver(
- VOID);
-
-VOID
-DDKAPI
-DrvDisablePDEV(
- IN DHPDEV dhpdev);
-
-VOID
-DDKAPI
-DrvDisableSurface(
- IN DHPDEV dhpdev);
-
-#define DM_DEFAULT 0x00000001
-#define DM_MONOCHROME 0x00000002
-
-ULONG
-DDKAPI
-DrvDitherColor(
- IN DHPDEV dhpdev,
- IN ULONG iMode,
- IN ULONG rgb,
- OUT ULONG *pul);
-
-ULONG
-DDKAPI
-DrvDrawEscape(
- IN SURFOBJ *pso,
- IN ULONG iEsc,
- IN CLIPOBJ *pco,
- IN RECTL *prcl,
- IN ULONG cjIn,
- IN PVOID pvIn);
-
-BOOL
-DDKAPI
-DrvEnableDriver(
- IN ULONG iEngineVersion,
- IN ULONG cj,
- OUT DRVENABLEDATA *pded);
-
-DHPDEV
-DDKAPI
-DrvEnablePDEV(
- IN DEVMODEW *pdm,
- IN LPWSTR pwszLogAddress,
- IN ULONG cPat,
- OUT HSURF *phsurfPatterns,
- IN ULONG cjCaps,
- OUT ULONG *pdevcaps,
- IN ULONG cjDevInfo,
- OUT DEVINFO *pdi,
- IN HDEV hdev,
- IN LPWSTR pwszDeviceName,
- IN HANDLE hDriver);
-
-HSURF
-DDKAPI
-DrvEnableSurface(
- IN DHPDEV dhpdev);
-
-/* DrvEndDoc.fl constants */
-#define ED_ABORTDOC 0x00000001
-
-BOOL
-DDKAPI
-DrvEndDoc(
- IN SURFOBJ *pso,
- IN FLONG fl);
-
-ULONG
-DDKAPI
-DrvEscape(
- IN SURFOBJ *pso,
- IN ULONG iEsc,
- IN ULONG cjIn,
- IN PVOID pvIn,
- IN ULONG cjOut,
- OUT PVOID pvOut);
-
-BOOL
-DDKAPI
-DrvFillPath(
- IN SURFOBJ *pso,
- IN PATHOBJ *ppo,
- IN CLIPOBJ *pco,
- IN BRUSHOBJ *pbo,
- IN POINTL *pptlBrushOrg,
- IN MIX mix,
- IN FLONG flOptions);
-
-ULONG
-DDKAPI
-DrvFontManagement(
- IN SURFOBJ *pso,
- IN FONTOBJ *pfo,
- IN ULONG iMode,
- IN ULONG cjIn,
- IN PVOID pvIn,
- IN ULONG cjOut,
- OUT PVOID pvOut);
-
-VOID
-DDKAPI
-DrvFree(
- IN PVOID pv,
- IN ULONG_PTR id);
-
-/* DrvGetGlyphMode return values */
-#define FO_HGLYPHS 0L
-#define FO_GLYPHBITS 1L
-#define FO_PATHOBJ 2L
-
-ULONG
-DDKAPI
-DrvGetGlyphMode(
- IN DHPDEV dhpdev,
- IN FONTOBJ *pfo);
-
-ULONG
-DDKAPI
-DrvGetModes(
- IN HANDLE hDriver,
- IN ULONG cjSize,
- OUT DEVMODEW *pdm);
-
-PVOID
-DDKAPI
-DrvGetTrueTypeFile(
- IN ULONG_PTR iFile,
- IN ULONG *pcj);
-
-BOOL
-DDKAPI
-DrvGradientFill(
- IN SURFOBJ *psoDest,
- IN CLIPOBJ *pco,
- IN XLATEOBJ *pxlo,
- IN TRIVERTEX *pVertex,
- IN ULONG nVertex,
- IN PVOID pMesh,
- IN ULONG nMesh,
- IN RECTL *prclExtents,
- IN POINTL *pptlDitherOrg,
- IN ULONG ulMode);
-
-BOOL
-DDKAPI
-DrvIcmCheckBitmapBits(
- IN DHPDEV dhpdev,
- IN HANDLE hColorTransform,
- IN SURFOBJ *pso,
- OUT PBYTE paResults);
-
-HANDLE
-DDKAPI
-DrvIcmCreateColorTransform(
- IN DHPDEV dhpdev,
- IN LPLOGCOLORSPACEW pLogColorSpace,
- IN PVOID pvSourceProfile,
- IN ULONG cjSourceProfile,
- IN PVOID pvDestProfile,
- IN ULONG cjDestProfile,
- IN PVOID pvTargetProfile,
- IN ULONG cjTargetProfile,
- IN DWORD dwReserved);
-
-BOOL
-DDKAPI
-DrvIcmDeleteColorTransform(
- IN DHPDEV dhpdev,
- IN HANDLE hcmXform);
-
-/* DrvIcmSetDeviceGammaRamp.iFormat constants */
-#define IGRF_RGB_256BYTES 0x00000000
-#define IGRF_RGB_256WORDS 0x00000001
-
-BOOL
-DDKAPI
-DrvIcmSetDeviceGammaRamp(
- IN DHPDEV dhpdev,
- IN ULONG iFormat,
- IN LPVOID lpRamp);
-
-BOOL
-DDKAPI
-DrvLineTo(
- SURFOBJ *pso,
- CLIPOBJ *pco,
- BRUSHOBJ *pbo,
- LONG x1,
- LONG y1,
- LONG x2,
- LONG y2,
- RECTL *prclBounds,
- MIX mix);
-
-ULONG_PTR
-DDKAPI
-DrvLoadFontFile(
- ULONG cFiles,
- ULONG_PTR *piFile,
- PVOID *ppvView,
- ULONG *pcjView,
- DESIGNVECTOR *pdv,
- ULONG ulLangID,
- ULONG ulFastCheckSum);
-
-VOID
-DDKAPI
-DrvMovePointer(
- IN SURFOBJ *pso,
- IN LONG x,
- IN LONG y,
- IN RECTL *prcl);
-
-BOOL
-DDKAPI
-DrvNextBand(
- IN SURFOBJ *pso,
- IN POINTL *pptl);
-
-VOID
-DDKAPI
-DrvNotify(
- IN SURFOBJ *pso,
- IN ULONG iType,
- IN PVOID pvData);
-
-BOOL
-DDKAPI
-DrvOffset(
- IN SURFOBJ *pso,
- IN LONG x,
- IN LONG y,
- IN FLONG flReserved);
-
-BOOL
-DDKAPI
-DrvPaint(
- IN SURFOBJ *pso,
- IN CLIPOBJ *pco,
- IN BRUSHOBJ *pbo,
- IN POINTL *pptlBrushOrg,
- IN MIX mix);
-
-BOOL
-DDKAPI
-DrvPlgBlt(
- IN SURFOBJ *psoTrg,
- IN SURFOBJ *psoSrc,
- IN SURFOBJ *psoMsk,
- IN CLIPOBJ *pco,
- IN XLATEOBJ *pxlo,
- IN COLORADJUSTMENT *pca,
- IN POINTL *pptlBrushOrg,
- IN POINTFIX *pptfx,
- IN RECTL *prcl,
- IN POINTL *pptl,
- IN ULONG iMode);
-
-/* DrvQueryAdvanceWidths.iMode constants */
-#define QAW_GETWIDTHS 0
-#define QAW_GETEASYWIDTHS 1
-
-BOOL
-DDKAPI
-DrvQueryAdvanceWidths(
- IN DHPDEV dhpdev,
- IN FONTOBJ *pfo,
- IN ULONG iMode,
- IN HGLYPH *phg,
- OUT PVOID pvWidths,
- IN ULONG cGlyphs);
-
-/* DrvQueryDeviceSupport.iType constants */
-#define QDS_CHECKJPEGFORMAT 0x00000000
-#define QDS_CHECKPNGFORMAT 0x00000001
-
-BOOL
-DDKAPI
-DrvQueryDeviceSupport(
- SURFOBJ *pso,
- XLATEOBJ *pxlo,
- XFORMOBJ *pxo,
- ULONG iType,
- ULONG cjIn,
- PVOID pvIn,
- ULONG cjOut,
- PVOID pvOut);
-
-/* DrvQueryDriverInfo.dwMode constants */
-#define DRVQUERY_USERMODE 0x00000001
-
-BOOL
-DDKAPI
-DrvQueryDriverInfo(
- DWORD dwMode,
- PVOID pBuffer,
- DWORD cbBuf,
- PDWORD pcbNeeded);
-
-PIFIMETRICS
-DDKAPI
-DrvQueryFont(
- IN DHPDEV dhpdev,
- IN ULONG_PTR iFile,
- IN ULONG iFace,
- IN ULONG_PTR *pid);
-
-/* DrvQueryFontCaps.pulCaps constants */
-#define QC_OUTLINES 0x00000001
-#define QC_1BIT 0x00000002
-#define QC_4BIT 0x00000004
-
-#define QC_FONTDRIVERCAPS (QC_OUTLINES | QC_1BIT | QC_4BIT)
-
-LONG
-DDKAPI
-DrvQueryFontCaps(
- IN ULONG culCaps,
- OUT ULONG *pulCaps);
-
-/* DrvQueryFontData.iMode constants */
-#define QFD_GLYPHANDBITMAP 1L
-#define QFD_GLYPHANDOUTLINE 2L
-#define QFD_MAXEXTENTS 3L
-#define QFD_TT_GLYPHANDBITMAP 4L
-#define QFD_TT_GRAY1_BITMAP 5L
-#define QFD_TT_GRAY2_BITMAP 6L
-#define QFD_TT_GRAY4_BITMAP 8L
-#define QFD_TT_GRAY8_BITMAP 9L
-
-#define QFD_TT_MONO_BITMAP QFD_TT_GRAY1_BITMAP
-
-LONG
-DDKAPI
-DrvQueryFontData(
- IN DHPDEV dhpdev,
- IN FONTOBJ *pfo,
- IN ULONG iMode,
- IN HGLYPH hg,
- IN OUT GLYPHDATA *pgd,
- IN OUT PVOID pv,
- IN ULONG cjSize);
-
-/* DrvQueryFontFile.ulMode constants */
-#define QFF_DESCRIPTION 0x00000001
-#define QFF_NUMFACES 0x00000002
-
-LONG
-DDKAPI
-DrvQueryFontFile(
- IN ULONG_PTR iFile,
- IN ULONG ulMode,
- IN ULONG cjBuf,
- IN ULONG *pulBuf);
-
-/* DrvQueryFontTree.iMode constants */
-#define QFT_UNICODE 0L
-#define QFT_LIGATURES 1L
-#define QFT_KERNPAIRS 2L
-#define QFT_GLYPHSET 3L
-
-PVOID
-DDKAPI
-DrvQueryFontTree(
- IN DHPDEV dhpdev,
- IN ULONG_PTR iFile,
- IN ULONG iFace,
- IN ULONG iMode,
- IN ULONG_PTR *pid);
-
-PFD_GLYPHATTR
-DDKAPI
-DrvQueryGlyphAttrs(
- IN FONTOBJ *pfo,
- IN ULONG iMode);
-
-ULONG
-DDKAPI
-DrvQueryPerBandInfo(
- IN SURFOBJ *pso,
- IN OUT PERBANDINFO *pbi);
-
-/* DrvQueryTrueTypeOutline.bMetricsOnly constants */
-#define TTO_METRICS_ONLY 0x00000001
-#define TTO_QUBICS 0x00000002
-#define TTO_UNHINTED 0x00000004
-
-LONG
-DDKAPI
-DrvQueryTrueTypeOutline(
- IN DHPDEV dhpdev,
- IN FONTOBJ *pfo,
- IN HGLYPH hglyph,
- IN BOOL bMetricsOnly,
- IN GLYPHDATA *pgldt,
- IN ULONG cjBuf,
- OUT TTPOLYGONHEADER *ppoly);
-
-LONG
-DDKAPI
-DrvQueryTrueTypeTable(
- IN ULONG_PTR iFile,
- IN ULONG ulFont,
- IN ULONG ulTag,
- IN PTRDIFF dpStart,
- IN ULONG cjBuf,
- OUT BYTE *pjBuf,
- OUT PBYTE *ppjTable,
- OUT ULONG *pcjTable);
-
-/* DrvRealizeBrush.iHatch constants */
-#define RB_DITHERCOLOR 0x80000000L
-
-#define HS_DDI_MAX 6
-
-BOOL
-DDKAPI
-DrvRealizeBrush(
- IN BRUSHOBJ *pbo,
- IN SURFOBJ *psoTarget,
- IN SURFOBJ *psoPattern,
- IN SURFOBJ *psoMask,
- IN XLATEOBJ *pxlo,
- IN ULONG iHatch);
-
-/* DrvResetDevice return values */
-#define DRD_SUCCESS 0
-#define DRD_ERROR 1
-
-ULONG
-DDKAPI
-DrvResetDevice(
- IN DHPDEV dhpdev,
- IN PVOID Reserved);
-
-BOOL
-DDKAPI
-DrvResetPDEV(
- DHPDEV dhpdevOld,
- DHPDEV dhpdevNew);
-
-/* DrvSaveScreenBits.iMode constants */
-#define SS_SAVE 0x00000000
-#define SS_RESTORE 0x00000001
-#define SS_FREE 0x00000002
-
-ULONG_PTR
-DDKAPI
-DrvSaveScreenBits(
- IN SURFOBJ *pso,
- IN ULONG iMode,
- IN ULONG_PTR ident,
- IN RECTL *prcl);
-
-BOOL
-DDKAPI
-DrvSendPage(
- IN SURFOBJ *pso);
-
-BOOL
-DDKAPI
-DrvSetPalette(
- IN DHPDEV dhpdev,
- IN PALOBJ *ppalo,
- IN FLONG fl,
- IN ULONG iStart,
- IN ULONG cColors);
-
-BOOL
-DDKAPI
-DrvSetPixelFormat(
- IN SURFOBJ *pso,
- IN LONG iPixelFormat,
- IN HWND hwnd);
-
-/* DrvSetPointerShape return values */
-#define SPS_ERROR 0x00000000
-#define SPS_DECLINE 0x00000001
-#define SPS_ACCEPT_NOEXCLUDE 0x00000002
-#define SPS_ACCEPT_EXCLUDE 0x00000003
-#define SPS_ACCEPT_SYNCHRONOUS 0x00000004
-
-/* DrvSetPointerShape.fl constants */
-#define SPS_CHANGE 0x00000001L
-#define SPS_ASYNCCHANGE 0x00000002L
-#define SPS_ANIMATESTART 0x00000004L
-#define SPS_ANIMATEUPDATE 0x00000008L
-#define SPS_ALPHA 0x00000010L
-#define SPS_LENGTHMASK 0x00000F00L
-#define SPS_FREQMASK 0x000FF000L
-
-ULONG
-DDKAPI
-DrvSetPointerShape(
- IN SURFOBJ *pso,
- IN SURFOBJ *psoMask,
- IN SURFOBJ *psoColor,
- IN XLATEOBJ *pxlo,
- IN LONG xHot,
- IN LONG yHot,
- IN LONG x,
- IN LONG y,
- IN RECTL *prcl,
- IN FLONG fl);
-
-BOOL
-DDKAPI
-DrvStartBanding(
- IN SURFOBJ *pso,
- IN POINTL *pptl);
-
-BOOL
-DDKAPI
-DrvStartDoc(
- IN SURFOBJ *pso,
- IN LPWSTR pwszDocName,
- IN DWORD dwJobId);
-
-BOOL
-DDKAPI
-DrvStartPage(
- IN SURFOBJ *pso);
-
-BOOL
-DDKAPI
-DrvStretchBlt(
- IN SURFOBJ *psoDest,
- IN SURFOBJ *psoSrc,
- IN SURFOBJ *psoMask,
- IN CLIPOBJ *pco,
- IN XLATEOBJ *pxlo,
- IN COLORADJUSTMENT *pca,
- IN POINTL *pptlHTOrg,
- IN RECTL *prclDest,
- IN RECTL *prclSrc,
- IN POINTL *pptlMask,
- IN ULONG iMode);
-
-BOOL
-DDKAPI
-DrvStretchBltROP(
- IN SURFOBJ *psoDest,
- IN SURFOBJ *psoSrc,
- IN SURFOBJ *psoMask,
- IN CLIPOBJ *pco,
- IN XLATEOBJ *pxlo,
- IN COLORADJUSTMENT *pca,
- IN POINTL *pptlHTOrg,
- IN RECTL *prclDest,
- IN RECTL *prclSrc,
- IN POINTL *pptlMask,
- IN ULONG iMode,
- IN BRUSHOBJ *pbo,
- IN DWORD rop4);
-
-BOOL
-DDKAPI
-DrvStrokeAndFillPath(
- IN SURFOBJ *pso,
- IN PATHOBJ *ppo,
- IN CLIPOBJ *pco,
- IN XFORMOBJ *pxo,
- IN BRUSHOBJ *pboStroke,
- IN LINEATTRS *plineattrs,
- IN BRUSHOBJ *pboFill,
- IN POINTL *pptlBrushOrg,
- IN MIX mixFill,
- IN FLONG flOptions);
-
-BOOL
-DDKAPI
-DrvStrokePath(
- IN SURFOBJ *pso,
- IN PATHOBJ *ppo,
- IN CLIPOBJ *pco,
- IN XFORMOBJ *pxo,
- IN BRUSHOBJ *pbo,
- IN POINTL *pptlBrushOrg,
- IN LINEATTRS *plineattrs,
- IN MIX mix);
-
-BOOL
-DDKAPI
-DrvSwapBuffers(
- IN SURFOBJ *pso,
- IN WNDOBJ *pwo);
-
-VOID
-DDKAPI
-DrvSynchronize(
- IN DHPDEV dhpdev,
- IN RECTL *prcl);
-
-/* DrvSynchronizeSurface.fl constants */
-#define DSS_TIMER_EVENT 0x00000001
-#define DSS_FLUSH_EVENT 0x00000002
-
-VOID
-DDKAPI
-DrvSynchronizeSurface(
- IN SURFOBJ *pso,
- IN RECTL *prcl,
- IN FLONG fl);
-
-BOOL
-DDKAPI
-DrvTextOut(
- IN SURFOBJ *pso,
- IN STROBJ *pstro,
- IN FONTOBJ *pfo,
- IN CLIPOBJ *pco,
- IN RECTL *prclExtra,
- IN RECTL *prclOpaque,
- IN BRUSHOBJ *pboFore,
- IN BRUSHOBJ *pboOpaque,
- IN POINTL *pptlOrg,
- IN MIX mix);
-
-BOOL
-DDKAPI
-DrvTransparentBlt(
- IN SURFOBJ *psoDst,
- IN SURFOBJ *psoSrc,
- IN CLIPOBJ *pco,
- IN XLATEOBJ *pxlo,
- IN RECTL *prclDst,
- IN RECTL *prclSrc,
- IN ULONG iTransColor,
- IN ULONG ulReserved);
-
-BOOL
-DDKAPI
-DrvUnloadFontFile(
- IN ULONG_PTR iFile);
-
-/* WNDOBJCHANGEPROC.fl constants */
-#define WOC_RGN_CLIENT_DELTA 0x00000001
-#define WOC_RGN_CLIENT 0x00000002
-#define WOC_RGN_SURFACE_DELTA 0x00000004
-#define WOC_RGN_SURFACE 0x00000008
-#define WOC_CHANGED 0x00000010
-#define WOC_DELETE 0x00000020
-#define WOC_DRAWN 0x00000040
-#define WOC_SPRITE_OVERLAP 0x00000080
-#define WOC_SPRITE_NO_OVERLAP 0x00000100
-
-typedef VOID DDKAPI
-(CALLBACK * WNDOBJCHANGEPROC)(
- WNDOBJ *pwo,
- FLONG fl);
-
-
-typedef BOOL DDKAPI
-(*PFN_DrvAlphaBlend)(
- IN SURFOBJ *psoDest,
- IN SURFOBJ *psoSrc,
- IN CLIPOBJ *pco,
- IN XLATEOBJ *pxlo,
- IN RECTL *prclDest,
- IN RECTL *prclSrc,
- IN BLENDOBJ *pBlendObj);
-
-typedef BOOL DDKAPI
-(*PFN_DrvAssertMode)(
- IN DHPDEV dhpdev,
- IN BOOL bEnable);
-
-typedef BOOL DDKAPI
-(*PFN_DrvBitBlt)(
- IN SURFOBJ *psoTrg,
- IN SURFOBJ *psoSrc,
- IN SURFOBJ *psoMask,
- IN CLIPOBJ *pco,
- IN XLATEOBJ *pxlo,
- IN RECTL *prclTrg,
- IN POINTL *pptlSrc,
- IN POINTL *pptlMask,
- IN BRUSHOBJ *pbo,
- IN POINTL *pptlBrush,
- IN ROP4 rop4);
-
-typedef VOID DDKAPI
-(*PFN_DrvCompletePDEV)(
- IN DHPDEV dhpdev,
- IN HDEV hdev);
-
-typedef BOOL DDKAPI
-(*PFN_DrvCopyBits)(
- IN SURFOBJ *psoDest,
- IN SURFOBJ *psoSrc,
- IN CLIPOBJ *pco,
- IN XLATEOBJ *pxlo,
- IN RECTL *prclDest,
- IN POINTL *pptlSrc);
-
-typedef HBITMAP DDKAPI
-(*PFN_DrvCreateDeviceBitmap)(
- IN DHPDEV dhpdev,
- IN SIZEL sizl,
- IN ULONG iFormat);
-
-typedef VOID DDKAPI
-(*PFN_DrvDeleteDeviceBitmap)(
- IN DHSURF dhsurf);
-
-typedef HBITMAP DDKAPI
-(*PFN_DrvDeriveSurface)(
- DD_DIRECTDRAW_GLOBAL *pDirectDraw,
- DD_SURFACE_LOCAL *pSurface);
-
-typedef LONG DDKAPI
-(*PFN_DrvDescribePixelFormat)(
- IN DHPDEV dhpdev,
- IN LONG iPixelFormat,
- IN ULONG cjpfd,
- OUT PIXELFORMATDESCRIPTOR *ppfd);
-
-typedef VOID DDKAPI
-(*PFN_DrvDestroyFont)(
- IN FONTOBJ *pfo);
-
-typedef VOID DDKAPI
-(*PFN_DrvDisableDriver)(
- VOID);
-
-typedef VOID DDKAPI
-(*PFN_DrvDisablePDEV)(
- IN DHPDEV dhpdev);
-
-typedef VOID DDKAPI
-(*PFN_DrvDisableSurface)(
- IN DHPDEV dhpdev);
-
-typedef ULONG DDKAPI
-(*PFN_DrvDitherColor)(
- IN DHPDEV dhpdev,
- IN ULONG iMode,
- IN ULONG rgb,
- OUT ULONG *pul);
-
-typedef ULONG DDKAPI
-(*PFN_DrvDrawEscape)(
- IN SURFOBJ *pso,
- IN ULONG iEsc,
- IN CLIPOBJ *pco,
- IN RECTL *prcl,
- IN ULONG cjIn,
- IN PVOID pvIn);
-
-typedef BOOL DDKAPI
-(*PFN_DrvEnableDriver)(
- IN ULONG iEngineVersion,
- IN ULONG cj,
- OUT DRVENABLEDATA *pded);
-#if 0
-typedef DHPDEV DDKAPI
-(*PFN_DrvEnablePDEV)(
- IN DEVMODEW *pdm,
- IN LPWSTR pwszLogAddress,
- IN ULONG cPat,
- OUT HSURF *phsurfPatterns,
- IN ULONG cjCaps,
- OUT ULONG *pdevcaps,
- IN ULONG cjDevInfo,
- OUT DEVINFO *pdi,
- IN HDEV hdev,
- IN LPWSTR pwszDeviceName,
- IN HANDLE hDriver);
-#endif
-typedef HSURF DDKAPI
-(*PFN_DrvEnableSurface)(
- IN DHPDEV dhpdev);
-
-typedef BOOL DDKAPI
-(*PFN_DrvEndDoc)(
- IN SURFOBJ *pso,
- IN FLONG fl);
-
-typedef ULONG DDKAPI
-(*PFN_DrvEscape)(
- IN SURFOBJ *pso,
- IN ULONG iEsc,
- IN ULONG cjIn,
- IN PVOID pvIn,
- IN ULONG cjOut,
- OUT PVOID pvOut);
-
-typedef BOOL DDKAPI
-(*PFN_DrvFillPath)(
- IN SURFOBJ *pso,
- IN PATHOBJ *ppo,
- IN CLIPOBJ *pco,
- IN BRUSHOBJ *pbo,
- IN POINTL *pptlBrushOrg,
- IN MIX mix,
- IN FLONG flOptions);
-
-typedef ULONG DDKAPI
-(*PFN_DrvFontManagement)(
- IN SURFOBJ *pso,
- IN FONTOBJ *pfo,
- IN ULONG iMode,
- IN ULONG cjIn,
- IN PVOID pvIn,
- IN ULONG cjOut,
- OUT PVOID pvOut);
-
-typedef VOID DDKAPI
-(*PFN_DrvFree)(
- IN PVOID pv,
- IN ULONG_PTR id);
-
-typedef ULONG DDKAPI
-(*PFN_DrvGetGlyphMode)(
- IN DHPDEV dhpdev,
- IN FONTOBJ *pfo);
-
-typedef ULONG DDKAPI
-(*PFN_DrvGetModes)(
- IN HANDLE hDriver,
- IN ULONG cjSize,
- OUT DEVMODEW *pdm);
-
-typedef PVOID DDKAPI
-(*PFN_DrvGetTrueTypeFile)(
- IN ULONG_PTR iFile,
- IN ULONG *pcj);
-
-typedef BOOL DDKAPI
-(*PFN_DrvGradientFill)(
- IN SURFOBJ *psoDest,
- IN CLIPOBJ *pco,
- IN XLATEOBJ *pxlo,
- IN TRIVERTEX *pVertex,
- IN ULONG nVertex,
- IN PVOID pMesh,
- IN ULONG nMesh,
- IN RECTL *prclExtents,
- IN POINTL *pptlDitherOrg,
- IN ULONG ulMode);
-
-typedef BOOL DDKAPI
-(*PFN_DrvIcmCheckBitmapBits)(
- IN DHPDEV dhpdev,
- IN HANDLE hColorTransform,
- IN SURFOBJ *pso,
- OUT PBYTE paResults);
-
-typedef HANDLE DDKAPI
-(*PFN_DrvIcmCreateColorTransform)(
- IN DHPDEV dhpdev,
- IN LPLOGCOLORSPACEW pLogColorSpace,
- IN PVOID pvSourceProfile,
- IN ULONG cjSourceProfile,
- IN PVOID pvDestProfile,
- IN ULONG cjDestProfile,
- IN PVOID pvTargetProfile,
- IN ULONG cjTargetProfile,
- IN DWORD dwReserved);
-
-typedef BOOL DDKAPI
-(*PFN_DrvIcmDeleteColorTransform)(
- IN DHPDEV dhpdev,
- IN HANDLE hcmXform);
-
-typedef BOOL DDKAPI
-(*PFN_DrvIcmSetDeviceGammaRamp)(
- IN DHPDEV dhpdev,
- IN ULONG iFormat,
- IN LPVOID lpRamp);
-
-typedef BOOL DDKAPI
-(*PFN_DrvLineTo)(
- SURFOBJ *pso,
- CLIPOBJ *pco,
- BRUSHOBJ *pbo,
- LONG x1,
- LONG y1,
- LONG x2,
- LONG y2,
- RECTL *prclBounds,
- MIX mix);
-
-typedef ULONG_PTR DDKAPI
-(*PFN_DrvLoadFontFile)(
- ULONG cFiles,
- ULONG_PTR *piFile,
- PVOID *ppvView,
- ULONG *pcjView,
- DESIGNVECTOR *pdv,
- ULONG ulLangID,
- ULONG ulFastCheckSum);
-
-typedef VOID DDKAPI
-(*PFN_DrvMovePointer)(
- IN SURFOBJ *pso,
- IN LONG x,
- IN LONG y,
- IN RECTL *prcl);
-
-typedef BOOL DDKAPI
-(*PFN_DrvNextBand)(
- IN SURFOBJ *pso,
- IN POINTL *pptl);
-
-typedef VOID DDKAPI
-(*PFN_DrvNotify)(
- IN SURFOBJ *pso,
- IN ULONG iType,
- IN PVOID pvData);
-
-typedef BOOL DDKAPI
-(*PFN_DrvOffset)(
- IN SURFOBJ *pso,
- IN LONG x,
- IN LONG y,
- IN FLONG flReserved);
-
-typedef BOOL DDKAPI
-(*PFN_DrvPaint)(
- IN SURFOBJ *pso,
- IN CLIPOBJ *pco,
- IN BRUSHOBJ *pbo,
- IN POINTL *pptlBrushOrg,
- IN MIX mix);
-
-typedef BOOL DDKAPI
-(*PFN_DrvPlgBlt)(
- IN SURFOBJ *psoTrg,
- IN SURFOBJ *psoSrc,
- IN SURFOBJ *psoMsk,
- IN CLIPOBJ *pco,
- IN XLATEOBJ *pxlo,
- IN COLORADJUSTMENT *pca,
- IN POINTL *pptlBrushOrg,
- IN POINTFIX *pptfx,
- IN RECTL *prcl,
- IN POINTL *pptl,
- IN ULONG iMode);
-
-typedef BOOL DDKAPI
-(*PFN_DrvQueryAdvanceWidths)(
- IN DHPDEV dhpdev,
- IN FONTOBJ *pfo,
- IN ULONG iMode,
- IN HGLYPH *phg,
- OUT PVOID pvWidths,
- IN ULONG cGlyphs);
-
-typedef BOOL DDKAPI
-(*PFN_DrvQueryDeviceSupport)(
- SURFOBJ *pso,
- XLATEOBJ *pxlo,
- XFORMOBJ *pxo,
- ULONG iType,
- ULONG cjIn,
- PVOID pvIn,
- ULONG cjOut,
- PVOID pvOut);
-
-typedef BOOL DDKAPI
-(*PFN_DrvQueryDriverInfo)(
- DWORD dwMode,
- PVOID pBuffer,
- DWORD cbBuf,
- PDWORD pcbNeeded);
-
-typedef PIFIMETRICS DDKAPI
-(*PFN_DrvQueryFont)(
- IN DHPDEV dhpdev,
- IN ULONG_PTR iFile,
- IN ULONG iFace,
- IN ULONG_PTR *pid);
-
-typedef LONG DDKAPI
-(*PFN_DrvQueryFontCaps)(
- IN ULONG culCaps,
- OUT ULONG *pulCaps);
-
-typedef LONG DDKAPI
-(*PFN_DrvQueryFontData)(
- IN DHPDEV dhpdev,
- IN FONTOBJ *pfo,
- IN ULONG iMode,
- IN HGLYPH hg,
- IN OUT GLYPHDATA *pgd,
- IN OUT PVOID pv,
- IN ULONG cjSize);
-
-typedef LONG DDKAPI
-(*PFN_DrvQueryFontFile)(
- IN ULONG_PTR iFile,
- IN ULONG ulMode,
- IN ULONG cjBuf,
- IN ULONG *pulBuf);
-
-typedef PVOID DDKAPI
-(*PFN_DrvQueryFontTree)(
- IN DHPDEV dhpdev,
- IN ULONG_PTR iFile,
- IN ULONG iFace,
- IN ULONG iMode,
- IN ULONG_PTR *pid);
-
-typedef PFD_GLYPHATTR DDKAPI
-(*PFN_DrvQueryGlyphAttrs)(
- IN FONTOBJ *pfo,
- IN ULONG iMode);
-
-typedef ULONG DDKAPI
-(*PFN_DrvQueryPerBandInfo)(
- IN SURFOBJ *pso,
- IN OUT PERBANDINFO *pbi);
-
-typedef LONG DDKAPI
-(*PFN_DrvQueryTrueTypeOutline)(
- IN DHPDEV dhpdev,
- IN FONTOBJ *pfo,
- IN HGLYPH hglyph,
- IN BOOL bMetricsOnly,
- IN GLYPHDATA *pgldt,
- IN ULONG cjBuf,
- OUT TTPOLYGONHEADER *ppoly);
-
-typedef LONG DDKAPI
-(*PFN_DrvQueryTrueTypeTable)(
- IN ULONG_PTR iFile,
- IN ULONG ulFont,
- IN ULONG ulTag,
- IN PTRDIFF dpStart,
- IN ULONG cjBuf,
- OUT BYTE *pjBuf,
- OUT PBYTE *ppjTable,
- OUT ULONG *pcjTable);
-
-typedef BOOL DDKAPI
-(*PFN_DrvRealizeBrush)(
- IN BRUSHOBJ *pbo,
- IN SURFOBJ *psoTarget,
- IN SURFOBJ *psoPattern,
- IN SURFOBJ *psoMask,
- IN XLATEOBJ *pxlo,
- IN ULONG iHatch);
-
-typedef ULONG DDKAPI
-(*PFN_DrvResetDevice)(
- IN DHPDEV dhpdev,
- IN PVOID Reserved);
-
-typedef BOOL DDKAPI
-(*PFN_DrvResetPDEV)(
- DHPDEV dhpdevOld,
- DHPDEV dhpdevNew);
-
-typedef ULONG_PTR DDKAPI
-(*PFN_DrvSaveScreenBits)(
- IN SURFOBJ *pso,
- IN ULONG iMode,
- IN ULONG_PTR ident,
- IN RECTL *prcl);
-
-typedef BOOL DDKAPI
-(*PFN_DrvSendPage)(
- IN SURFOBJ *pso);
-
-typedef BOOL DDKAPI
-(*PFN_DrvSetPalette)(
- IN DHPDEV dhpdev,
- IN PALOBJ *ppalo,
- IN FLONG fl,
- IN ULONG iStart,
- IN ULONG cColors);
-
-typedef BOOL DDKAPI
-(*PFN_DrvSetPixelFormat)(
- IN SURFOBJ *pso,
- IN LONG iPixelFormat,
- IN HWND hwnd);
-
-typedef ULONG DDKAPI
-(*PFN_DrvSetPointerShape)(
- IN SURFOBJ *pso,
- IN SURFOBJ *psoMask,
- IN SURFOBJ *psoColor,
- IN XLATEOBJ *pxlo,
- IN LONG xHot,
- IN LONG yHot,
- IN LONG x,
- IN LONG y,
- IN RECTL *prcl,
- IN FLONG fl);
-
-typedef BOOL DDKAPI
-(*PFN_DrvStartBanding)(
- IN SURFOBJ *pso,
- IN POINTL *pptl);
-
-typedef BOOL DDKAPI
-(*PFN_DrvStartDoc)(
- IN SURFOBJ *pso,
- IN LPWSTR pwszDocName,
- IN DWORD dwJobId);
-
-typedef BOOL DDKAPI
-(*PFN_DrvStartPage)(
- IN SURFOBJ *pso);
-
-typedef BOOL DDKAPI
-(*PFN_DrvStretchBlt)(
- IN SURFOBJ *psoDest,
- IN SURFOBJ *psoSrc,
- IN SURFOBJ *psoMask,
- IN CLIPOBJ *pco,
- IN XLATEOBJ *pxlo,
- IN COLORADJUSTMENT *pca,
- IN POINTL *pptlHTOrg,
- IN RECTL *prclDest,
- IN RECTL *prclSrc,
- IN POINTL *pptlMask,
- IN ULONG iMode);
-
-typedef BOOL DDKAPI
-(*PFN_DrvStretchBltROP)(
- IN SURFOBJ *psoDest,
- IN SURFOBJ *psoSrc,
- IN SURFOBJ *psoMask,
- IN CLIPOBJ *pco,
- IN XLATEOBJ *pxlo,
- IN COLORADJUSTMENT *pca,
- IN POINTL *pptlHTOrg,
- IN RECTL *prclDest,
- IN RECTL *prclSrc,
- IN POINTL *pptlMask,
- IN ULONG iMode,
- IN BRUSHOBJ *pbo,
- IN DWORD rop4);
-
-typedef BOOL DDKAPI
-(*PFN_DrvStrokeAndFillPath)(
- IN SURFOBJ *pso,
- IN PATHOBJ *ppo,
- IN CLIPOBJ *pco,
- IN XFORMOBJ *pxo,
- IN BRUSHOBJ *pboStroke,
- IN LINEATTRS *plineattrs,
- IN BRUSHOBJ *pboFill,
- IN POINTL *pptlBrushOrg,
- IN MIX mixFill,
- IN FLONG flOptions);
-
-typedef BOOL DDKAPI
-(*PFN_DrvStrokePath)(
- IN SURFOBJ *pso,
- IN PATHOBJ *ppo,
- IN CLIPOBJ *pco,
- IN XFORMOBJ *pxo,
- IN BRUSHOBJ *pbo,
- IN POINTL *pptlBrushOrg,
- IN LINEATTRS *plineattrs,
- IN MIX mix);
-
-typedef BOOL DDKAPI
-(*PFN_DrvSwapBuffers)(
- IN SURFOBJ *pso,
- IN WNDOBJ *pwo);
-
-typedef VOID DDKAPI
-(*PFN_DrvSynchronize)(
- IN DHPDEV dhpdev,
- IN RECTL *prcl);
-
-typedef VOID DDKAPI
-(*PFN_DrvSynchronizeSurface)(
- IN SURFOBJ *pso,
- IN RECTL *prcl,
- IN FLONG fl);
-
-typedef BOOL DDKAPI
-(*PFN_DrvTextOut)(
- IN SURFOBJ *pso,
- IN STROBJ *pstro,
- IN FONTOBJ *pfo,
- IN CLIPOBJ *pco,
- IN RECTL *prclExtra,
- IN RECTL *prclOpaque,
- IN BRUSHOBJ *pboFore,
- IN BRUSHOBJ *pboOpaque,
- IN POINTL *pptlOrg,
- IN MIX mix);
-
-typedef BOOL DDKAPI
-(*PFN_DrvTransparentBlt)(
- IN SURFOBJ *psoDst,
- IN SURFOBJ *psoSrc,
- IN CLIPOBJ *pco,
- IN XLATEOBJ *pxlo,
- IN RECTL *prclDst,
- IN RECTL *prclSrc,
- IN ULONG iTransColor,
- IN ULONG ulReserved);
-
-typedef BOOL DDKAPI
-(*PFN_DrvUnloadFontFile)(
- IN ULONG_PTR iFile);
-
-
-WIN32KAPI
-VOID
-DDKAPI
-DrvDisableDirectDraw(
- IN DHPDEV dhpdev);
-
-WIN32KAPI
-BOOL
-DDKAPI
-DrvEnableDirectDraw(
- IN DHPDEV dhpdev,
- OUT DD_CALLBACKS *pCallBacks,
- OUT DD_SURFACECALLBACKS *pSurfaceCallBacks,
- OUT DD_PALETTECALLBACKS *pPaletteCallBacks);
-
-WIN32KAPI
-BOOL
-DDKAPI
-DrvGetDirectDrawInfo(
- IN DHPDEV dhpdev,
- OUT DD_HALINFO *pHalInfo,
- OUT DWORD *pdwNumHeaps,
- OUT VIDEOMEMORY *pvmList,
- OUT DWORD *pdwNumFourCCCodes,
- OUT DWORD *pdwFourCC);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* defined __VIDEO_H */
-
-#endif /* __WINDDI_H */
diff --git a/winsup/w32api/include/ddk/winddk.h b/winsup/w32api/include/ddk/winddk.h
deleted file mode 100644
index 6631f36e3..000000000
--- a/winsup/w32api/include/ddk/winddk.h
+++ /dev/null
@@ -1,9228 +0,0 @@
-/*
- * winddk.h
- *
- * Windows Device Driver Kit
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- * Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __WINDDK_H
-#define __WINDDK_H
-
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*
-** Definitions specific to this Device Driver Kit
-*/
-#define DDKAPI __attribute__((stdcall))
-#define DDKFASTAPI __attribute__((fastcall))
-#define DDKCDECLAPI __attribute__((cdecl))
-
-#if defined(_NTOSKRNL_)
-#ifndef NTOSAPI
-#define NTOSAPI DECL_EXPORT
-#endif
-#define DECLARE_INTERNAL_OBJECT(x) typedef struct _##x; typedef struct _##x *P##x;
-#define DECLARE_INTERNAL_OBJECT2(x,y) typedef struct _##x; typedef struct _##x *P##y;
-#else
-#ifndef NTOSAPI
-#define NTOSAPI DECL_IMPORT
-#endif
-#define DECLARE_INTERNAL_OBJECT(x) struct _##x; typedef struct _##x *P##x;
-#define DECLARE_INTERNAL_OBJECT2(x,y) struct _##x; typedef struct _##x *P##y;
-#endif
-
-/* Pseudo modifiers for parameters */
-#define IN
-#define OUT
-#define OPTIONAL
-#define UNALLIGNED
-
-#define CONST const
-#define VOLATILE volatile
-
-#define RESTRICTED_POINTER
-#define POINTER_ALIGNMENT
-
-#ifdef NONAMELESSUNION
-# define _DDK_DUMMYUNION_MEMBER(name) DUMMYUNIONNAME.name
-# define _DDK_DUMMYUNION_N_MEMBER(n, name) DUMMYUNIONNAME##n.name
-#else
-# define _DDK_DUMMYUNION_MEMBER(name) name
-# define _DDK_DUMMYUNION_N_MEMBER(n, name) name
-#endif
-
-/*
-** Forward declarations
-*/
-
-struct _IRP;
-struct _MDL;
-struct _KAPC;
-struct _KDPC;
-struct _KPCR;
-struct _KPRCB;
-struct _KTSS;
-struct _FILE_OBJECT;
-struct _DMA_ADAPTER;
-struct _DEVICE_OBJECT;
-struct _DRIVER_OBJECT;
-struct _SECTION_OBJECT;
-struct _IO_STATUS_BLOCK;
-struct _DEVICE_DESCRIPTION;
-struct _SCATTER_GATHER_LIST;
-
-DECLARE_INTERNAL_OBJECT(ADAPTER_OBJECT)
-DECLARE_INTERNAL_OBJECT(DMA_ADAPTER)
-DECLARE_INTERNAL_OBJECT(IO_STATUS_BLOCK)
-DECLARE_INTERNAL_OBJECT(SECTION_OBJECT)
-
-#if 1
-/* FIXME: Unknown definitions */
-struct _SET_PARTITION_INFORMATION_EX;
-typedef ULONG WAIT_TYPE;
-typedef HANDLE TRACEHANDLE;
-typedef PVOID PWMILIB_CONTEXT;
-typedef PVOID PSYSCTL_IRP_DISPOSITION;
-typedef ULONG LOGICAL;
-#endif
-
-/*
-** Routines specific to this DDK
-*/
-
-#define TAG(_a, _b, _c, _d) (ULONG) \
- (((_a) << 0) + ((_b) << 8) + ((_c) << 16) + ((_d) << 24))
-
-static __inline struct _KPCR * KeGetCurrentKPCR(
- VOID)
-{
- ULONG Value;
-
- __asm__ __volatile__ ("movl %%fs:0x18, %0\n\t"
- : "=r" (Value)
- : /* no inputs */
- );
- return (struct _KPCR *) Value;
-}
-
-/*
-** Simple structures
-*/
-
-typedef LONG KPRIORITY;
-typedef UCHAR KIRQL, *PKIRQL;
-typedef ULONG_PTR KSPIN_LOCK, *PKSPIN_LOCK;
-typedef ULONG KAFFINITY, *PKAFFINITY;
-typedef CCHAR KPROCESSOR_MODE;
-
-typedef enum _MODE {
- KernelMode,
- UserMode,
- MaximumMode
-} MODE;
-
-
-/* Structures not exposed to drivers */
-typedef struct _IO_TIMER *PIO_TIMER;
-typedef struct _EPROCESS *PEPROCESS;
-typedef struct _ETHREAD *PETHREAD;
-typedef struct _KINTERRUPT *PKINTERRUPT;
-typedef struct _OBJECT_TYPE *POBJECT_TYPE;
-typedef struct _KTHREAD *PKTHREAD, *PRKTHREAD;
-typedef struct _COMPRESSED_DATA_INFO *PCOMPRESSED_DATA_INFO;
-typedef struct _HAL_DISPATCH_TABLE *PHAL_DISPATCH_TABLE;
-typedef struct _HAL_PRIVATE_DISPATCH_TABLE *PHAL_PRIVATE_DISPATCH_TABLE;
-typedef struct _DRIVE_LAYOUT_INFORMATION *PDRIVE_LAYOUT_INFORMATION;
-typedef struct _DRIVE_LAYOUT_INFORMATION_EX *PDRIVE_LAYOUT_INFORMATION_EX;
-
-/* Constants */
-#define MAXIMUM_PROCESSORS 32
-
-#define MAXIMUM_WAIT_OBJECTS 64
-
-#define METHOD_BUFFERED 0
-#define METHOD_IN_DIRECT 1
-#define METHOD_OUT_DIRECT 2
-#define METHOD_NEITHER 3
-
-#define LOW_PRIORITY 0
-#define LOW_REALTIME_PRIORITY 16
-#define HIGH_PRIORITY 31
-#define MAXIMUM_PRIORITY 32
-
-#define FILE_SUPERSEDED 0x00000000
-#define FILE_OPENED 0x00000001
-#define FILE_CREATED 0x00000002
-#define FILE_OVERWRITTEN 0x00000003
-#define FILE_EXISTS 0x00000004
-#define FILE_DOES_NOT_EXIST 0x00000005
-
-/* also in winnt.h */
-#define FILE_LIST_DIRECTORY 0x00000001
-#define FILE_READ_DATA 0x00000001
-#define FILE_ADD_FILE 0x00000002
-#define FILE_WRITE_DATA 0x00000002
-#define FILE_ADD_SUBDIRECTORY 0x00000004
-#define FILE_APPEND_DATA 0x00000004
-#define FILE_CREATE_PIPE_INSTANCE 0x00000004
-#define FILE_READ_EA 0x00000008
-#define FILE_WRITE_EA 0x00000010
-#define FILE_EXECUTE 0x00000020
-#define FILE_TRAVERSE 0x00000020
-#define FILE_DELETE_CHILD 0x00000040
-#define FILE_READ_ATTRIBUTES 0x00000080
-#define FILE_WRITE_ATTRIBUTES 0x00000100
-
-#define FILE_SHARE_READ 0x00000001
-#define FILE_SHARE_WRITE 0x00000002
-#define FILE_SHARE_DELETE 0x00000004
-#define FILE_SHARE_VALID_FLAGS 0x00000007
-
-#define FILE_ATTRIBUTE_READONLY 0x00000001
-#define FILE_ATTRIBUTE_HIDDEN 0x00000002
-#define FILE_ATTRIBUTE_SYSTEM 0x00000004
-#define FILE_ATTRIBUTE_DIRECTORY 0x00000010
-#define FILE_ATTRIBUTE_ARCHIVE 0x00000020
-#define FILE_ATTRIBUTE_DEVICE 0x00000040
-#define FILE_ATTRIBUTE_NORMAL 0x00000080
-#define FILE_ATTRIBUTE_TEMPORARY 0x00000100
-#define FILE_ATTRIBUTE_SPARSE_FILE 0x00000200
-#define FILE_ATTRIBUTE_REPARSE_POINT 0x00000400
-#define FILE_ATTRIBUTE_COMPRESSED 0x00000800
-#define FILE_ATTRIBUTE_OFFLINE 0x00001000
-#define FILE_ATTRIBUTE_NOT_CONTENT_INDEXED 0x00002000
-#define FILE_ATTRIBUTE_ENCRYPTED 0x00004000
-
-#define FILE_ATTRIBUTE_VALID_FLAGS 0x00007fb7
-#define FILE_ATTRIBUTE_VALID_SET_FLAGS 0x000031a7
-
-#define FILE_COPY_STRUCTURED_STORAGE 0x00000041
-#define FILE_STRUCTURED_STORAGE 0x00000441
-
-#define FILE_VALID_OPTION_FLAGS 0x00ffffff
-#define FILE_VALID_PIPE_OPTION_FLAGS 0x00000032
-#define FILE_VALID_MAILSLOT_OPTION_FLAGS 0x00000032
-#define FILE_VALID_SET_FLAGS 0x00000036
-
-#define FILE_SUPERSEDE 0x00000000
-#define FILE_OPEN 0x00000001
-#define FILE_CREATE 0x00000002
-#define FILE_OPEN_IF 0x00000003
-#define FILE_OVERWRITE 0x00000004
-#define FILE_OVERWRITE_IF 0x00000005
-#define FILE_MAXIMUM_DISPOSITION 0x00000005
-
-#define FILE_DIRECTORY_FILE 0x00000001
-#define FILE_WRITE_THROUGH 0x00000002
-#define FILE_SEQUENTIAL_ONLY 0x00000004
-#define FILE_NO_INTERMEDIATE_BUFFERING 0x00000008
-#define FILE_SYNCHRONOUS_IO_ALERT 0x00000010
-#define FILE_SYNCHRONOUS_IO_NONALERT 0x00000020
-#define FILE_NON_DIRECTORY_FILE 0x00000040
-#define FILE_CREATE_TREE_CONNECTION 0x00000080
-#define FILE_COMPLETE_IF_OPLOCKED 0x00000100
-#define FILE_NO_EA_KNOWLEDGE 0x00000200
-#define FILE_OPEN_FOR_RECOVERY 0x00000400
-#define FILE_RANDOM_ACCESS 0x00000800
-#define FILE_DELETE_ON_CLOSE 0x00001000
-#define FILE_OPEN_BY_FILE_ID 0x00002000
-#define FILE_OPEN_FOR_BACKUP_INTENT 0x00004000
-#define FILE_NO_COMPRESSION 0x00008000
-#define FILE_RESERVE_OPFILTER 0x00100000
-#define FILE_OPEN_REPARSE_POINT 0x00200000
-#define FILE_OPEN_NO_RECALL 0x00400000
-#define FILE_OPEN_FOR_FREE_SPACE_QUERY 0x00800000
-
-#define FILE_ANY_ACCESS 0x00000000
-#define FILE_SPECIAL_ACCESS FILE_ANY_ACCESS
-#define FILE_READ_ACCESS 0x00000001
-#define FILE_WRITE_ACCESS 0x00000002
-
-#define FILE_ALL_ACCESS \
- (STANDARD_RIGHTS_REQUIRED | \
- SYNCHRONIZE | \
- 0x1FF)
-
-#define FILE_GENERIC_EXECUTE \
- (STANDARD_RIGHTS_EXECUTE | \
- FILE_READ_ATTRIBUTES | \
- FILE_EXECUTE | \
- SYNCHRONIZE)
-
-#define FILE_GENERIC_READ \
- (STANDARD_RIGHTS_READ | \
- FILE_READ_DATA | \
- FILE_READ_ATTRIBUTES | \
- FILE_READ_EA | \
- SYNCHRONIZE)
-
-#define FILE_GENERIC_WRITE \
- (STANDARD_RIGHTS_WRITE | \
- FILE_WRITE_DATA | \
- FILE_WRITE_ATTRIBUTES | \
- FILE_WRITE_EA | \
- FILE_APPEND_DATA | \
- SYNCHRONIZE)
-/* end winnt.h */
-
-#define DIRECTORY_QUERY (0x0001)
-#define DIRECTORY_TRAVERSE (0x0002)
-#define DIRECTORY_CREATE_OBJECT (0x0004)
-#define DIRECTORY_CREATE_SUBDIRECTORY (0x0008)
-#define DIRECTORY_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | 0xF)
-
-/* Exported object types */
-extern NTOSAPI POBJECT_TYPE ExDesktopObjectType;
-extern NTOSAPI POBJECT_TYPE ExEventObjectType;
-extern NTOSAPI POBJECT_TYPE ExSemaphoreObjectType;
-extern NTOSAPI POBJECT_TYPE ExWindowStationObjectType;
-extern NTOSAPI POBJECT_TYPE IoAdapterObjectType;
-extern NTOSAPI ULONG IoDeviceHandlerObjectSize;
-extern NTOSAPI POBJECT_TYPE IoDeviceHandlerObjectType;
-extern NTOSAPI POBJECT_TYPE IoDeviceObjectType;
-extern NTOSAPI POBJECT_TYPE IoDriverObjectType;
-extern NTOSAPI POBJECT_TYPE IoFileObjectType;
-extern NTOSAPI POBJECT_TYPE LpcPortObjectType;
-extern NTOSAPI POBJECT_TYPE MmSectionObjectType;
-extern NTOSAPI POBJECT_TYPE SeTokenObjectType;
-
-extern NTOSAPI CCHAR KeNumberProcessors;
-extern NTOSAPI PHAL_DISPATCH_TABLE HalDispatchTable;
-extern NTOSAPI PHAL_PRIVATE_DISPATCH_TABLE HalPrivateDispatchTable;
-
-
-/*
-** IRP function codes
-*/
-
-#define IRP_MJ_CREATE 0x00
-#define IRP_MJ_CREATE_NAMED_PIPE 0x01
-#define IRP_MJ_CLOSE 0x02
-#define IRP_MJ_READ 0x03
-#define IRP_MJ_WRITE 0x04
-#define IRP_MJ_QUERY_INFORMATION 0x05
-#define IRP_MJ_SET_INFORMATION 0x06
-#define IRP_MJ_QUERY_EA 0x07
-#define IRP_MJ_SET_EA 0x08
-#define IRP_MJ_FLUSH_BUFFERS 0x09
-#define IRP_MJ_QUERY_VOLUME_INFORMATION 0x0a
-#define IRP_MJ_SET_VOLUME_INFORMATION 0x0b
-#define IRP_MJ_DIRECTORY_CONTROL 0x0c
-#define IRP_MJ_FILE_SYSTEM_CONTROL 0x0d
-#define IRP_MJ_DEVICE_CONTROL 0x0e
-#define IRP_MJ_INTERNAL_DEVICE_CONTROL 0x0f
-#define IRP_MJ_SCSI 0x0f
-#define IRP_MJ_SHUTDOWN 0x10
-#define IRP_MJ_LOCK_CONTROL 0x11
-#define IRP_MJ_CLEANUP 0x12
-#define IRP_MJ_CREATE_MAILSLOT 0x13
-#define IRP_MJ_QUERY_SECURITY 0x14
-#define IRP_MJ_SET_SECURITY 0x15
-#define IRP_MJ_POWER 0x16
-#define IRP_MJ_SYSTEM_CONTROL 0x17
-#define IRP_MJ_DEVICE_CHANGE 0x18
-#define IRP_MJ_QUERY_QUOTA 0x19
-#define IRP_MJ_SET_QUOTA 0x1a
-#define IRP_MJ_PNP 0x1b
-#define IRP_MJ_PNP_POWER 0x1b
-#define IRP_MJ_MAXIMUM_FUNCTION 0x1b
-
-#define IRP_MN_QUERY_DIRECTORY 0x01
-#define IRP_MN_NOTIFY_CHANGE_DIRECTORY 0x02
-
-#define IRP_MN_USER_FS_REQUEST 0x00
-#define IRP_MN_MOUNT_VOLUME 0x01
-#define IRP_MN_VERIFY_VOLUME 0x02
-#define IRP_MN_LOAD_FILE_SYSTEM 0x03
-#define IRP_MN_TRACK_LINK 0x04
-#define IRP_MN_KERNEL_CALL 0x04
-
-#define IRP_MN_LOCK 0x01
-#define IRP_MN_UNLOCK_SINGLE 0x02
-#define IRP_MN_UNLOCK_ALL 0x03
-#define IRP_MN_UNLOCK_ALL_BY_KEY 0x04
-
-#define IRP_MN_NORMAL 0x00
-#define IRP_MN_DPC 0x01
-#define IRP_MN_MDL 0x02
-#define IRP_MN_COMPLETE 0x04
-#define IRP_MN_COMPRESSED 0x08
-
-#define IRP_MN_MDL_DPC (IRP_MN_MDL | IRP_MN_DPC)
-#define IRP_MN_COMPLETE_MDL (IRP_MN_COMPLETE | IRP_MN_MDL)
-#define IRP_MN_COMPLETE_MDL_DPC (IRP_MN_COMPLETE_MDL | IRP_MN_DPC)
-
-#define IRP_MN_SCSI_CLASS 0x01
-
-#define IRP_MN_START_DEVICE 0x00
-#define IRP_MN_QUERY_REMOVE_DEVICE 0x01
-#define IRP_MN_REMOVE_DEVICE 0x02
-#define IRP_MN_CANCEL_REMOVE_DEVICE 0x03
-#define IRP_MN_STOP_DEVICE 0x04
-#define IRP_MN_QUERY_STOP_DEVICE 0x05
-#define IRP_MN_CANCEL_STOP_DEVICE 0x06
-
-#define IRP_MN_QUERY_DEVICE_RELATIONS 0x07
-#define IRP_MN_QUERY_INTERFACE 0x08
-#define IRP_MN_QUERY_CAPABILITIES 0x09
-#define IRP_MN_QUERY_RESOURCES 0x0A
-#define IRP_MN_QUERY_RESOURCE_REQUIREMENTS 0x0B
-#define IRP_MN_QUERY_DEVICE_TEXT 0x0C
-#define IRP_MN_FILTER_RESOURCE_REQUIREMENTS 0x0D
-
-#define IRP_MN_READ_CONFIG 0x0F
-#define IRP_MN_WRITE_CONFIG 0x10
-#define IRP_MN_EJECT 0x11
-#define IRP_MN_SET_LOCK 0x12
-#define IRP_MN_QUERY_ID 0x13
-#define IRP_MN_QUERY_PNP_DEVICE_STATE 0x14
-#define IRP_MN_QUERY_BUS_INFORMATION 0x15
-#define IRP_MN_DEVICE_USAGE_NOTIFICATION 0x16
-#define IRP_MN_SURPRISE_REMOVAL 0x17
-#define IRP_MN_QUERY_LEGACY_BUS_INFORMATION 0x18
-
-#define IRP_MN_WAIT_WAKE 0x00
-#define IRP_MN_POWER_SEQUENCE 0x01
-#define IRP_MN_SET_POWER 0x02
-#define IRP_MN_QUERY_POWER 0x03
-
-#define IRP_MN_QUERY_ALL_DATA 0x00
-#define IRP_MN_QUERY_SINGLE_INSTANCE 0x01
-#define IRP_MN_CHANGE_SINGLE_INSTANCE 0x02
-#define IRP_MN_CHANGE_SINGLE_ITEM 0x03
-#define IRP_MN_ENABLE_EVENTS 0x04
-#define IRP_MN_DISABLE_EVENTS 0x05
-#define IRP_MN_ENABLE_COLLECTION 0x06
-#define IRP_MN_DISABLE_COLLECTION 0x07
-#define IRP_MN_REGINFO 0x08
-#define IRP_MN_EXECUTE_METHOD 0x09
-
-#define IRP_MN_REGINFO_EX 0x0b
-
-typedef enum _IO_ALLOCATION_ACTION {
- KeepObject = 1,
- DeallocateObject,
- DeallocateObjectKeepRegisters
-} IO_ALLOCATION_ACTION, *PIO_ALLOCATION_ACTION;
-
-typedef IO_ALLOCATION_ACTION
-(DDKAPI *PDRIVER_CONTROL)(
- IN struct _DEVICE_OBJECT *DeviceObject,
- IN struct _IRP *Irp,
- IN PVOID MapRegisterBase,
- IN PVOID Context);
-
-typedef VOID
-(DDKAPI *PDRIVER_LIST_CONTROL)(
- IN struct _DEVICE_OBJECT *DeviceObject,
- IN struct _IRP *Irp,
- IN struct _SCATTER_GATHER_LIST *ScatterGather,
- IN PVOID Context);
-
-typedef NTSTATUS
-(DDKAPI *PDRIVER_ADD_DEVICE)(
- IN struct _DRIVER_OBJECT *DriverObject,
- IN struct _DEVICE_OBJECT *PhysicalDeviceObject);
-
-typedef NTSTATUS
-(DDKAPI *PIO_COMPLETION_ROUTINE)(
- IN struct _DEVICE_OBJECT *DeviceObject,
- IN struct _IRP *Irp,
- IN PVOID Context);
-
-typedef VOID
-(DDKAPI *PDRIVER_CANCEL)(
- IN struct _DEVICE_OBJECT *DeviceObject,
- IN struct _IRP *Irp);
-
-typedef VOID
-(DDKAPI *PKDEFERRED_ROUTINE)(
- IN struct _KDPC *Dpc,
- IN PVOID DeferredContext,
- IN PVOID SystemArgument1,
- IN PVOID SystemArgument2);
-
-typedef NTSTATUS
-(DDKAPI *PDRIVER_DISPATCH)(
- IN struct _DEVICE_OBJECT *DeviceObject,
- IN struct _IRP *Irp);
-
-typedef VOID
-(DDKAPI *PIO_DPC_ROUTINE)(
- IN struct _KDPC *Dpc,
- IN struct _DEVICE_OBJECT *DeviceObject,
- IN struct _IRP *Irp,
- IN PVOID Context);
-
-typedef NTSTATUS
-(DDKAPI *PMM_DLL_INITIALIZE)(
- IN PUNICODE_STRING RegistryPath);
-
-typedef NTSTATUS
-(DDKAPI *PMM_DLL_UNLOAD)(
- VOID);
-
-typedef NTSTATUS
-(DDKAPI *PDRIVER_ENTRY)(
- IN struct _DRIVER_OBJECT *DriverObject,
- IN PUNICODE_STRING RegistryPath);
-
-typedef NTSTATUS
-(DDKAPI *PDRIVER_INITIALIZE)(
- IN struct _DRIVER_OBJECT *DriverObject,
- IN PUNICODE_STRING RegistryPath);
-
-typedef BOOLEAN
-(DDKAPI *PKSERVICE_ROUTINE)(
- IN struct _KINTERRUPT *Interrupt,
- IN PVOID ServiceContext);
-
-typedef VOID
-(DDKAPI *PIO_TIMER_ROUTINE)(
- IN struct _DEVICE_OBJECT *DeviceObject,
- IN PVOID Context);
-
-typedef VOID
-(DDKAPI *PDRIVER_REINITIALIZE)(
- IN struct _DRIVER_OBJECT *DriverObject,
- IN PVOID Context,
- IN ULONG Count);
-
-typedef NTSTATUS
-(DDKAPI *PDRIVER_STARTIO)(
- IN struct _DEVICE_OBJECT *DeviceObject,
- IN struct _IRP *Irp);
-
-typedef BOOLEAN
-(DDKAPI *PKSYNCHRONIZE_ROUTINE)(
- IN PVOID SynchronizeContext);
-
-typedef VOID
-(DDKAPI *PDRIVER_UNLOAD)(
- IN struct _DRIVER_OBJECT *DriverObject);
-
-
-
-/*
-** Plug and Play structures
-*/
-
-typedef VOID DDKAPI
-(*PINTERFACE_REFERENCE)(
- PVOID Context);
-
-typedef VOID DDKAPI
-(*PINTERFACE_DEREFERENCE)(
- PVOID Context);
-
-typedef BOOLEAN DDKAPI
-(*PTRANSLATE_BUS_ADDRESS)(
- IN PVOID Context,
- IN PHYSICAL_ADDRESS BusAddress,
- IN ULONG Length,
- IN OUT PULONG AddressSpace,
- OUT PPHYSICAL_ADDRESS TranslatedAddress);
-
-typedef struct _DMA_ADAPTER* DDKAPI
-(*PGET_DMA_ADAPTER)(
- IN PVOID Context,
- IN struct _DEVICE_DESCRIPTION *DeviceDescriptor,
- OUT PULONG NumberOfMapRegisters);
-
-typedef ULONG DDKAPI
-(*PGET_SET_DEVICE_DATA)(
- IN PVOID Context,
- IN ULONG DataType,
- IN PVOID Buffer,
- IN ULONG Offset,
- IN ULONG Length);
-
-typedef union _POWER_STATE {
- SYSTEM_POWER_STATE SystemState;
- DEVICE_POWER_STATE DeviceState;
-} POWER_STATE, *PPOWER_STATE;
-
-typedef enum _POWER_STATE_TYPE {
- SystemPowerState,
- DevicePowerState
-} POWER_STATE_TYPE, *PPOWER_STATE_TYPE;
-
-typedef struct _BUS_INTERFACE_STANDARD {
- USHORT Size;
- USHORT Version;
- PVOID Context;
- PINTERFACE_REFERENCE InterfaceReference;
- PINTERFACE_DEREFERENCE InterfaceDereference;
- PTRANSLATE_BUS_ADDRESS TranslateBusAddress;
- PGET_DMA_ADAPTER GetDmaAdapter;
- PGET_SET_DEVICE_DATA SetBusData;
- PGET_SET_DEVICE_DATA GetBusData;
-} BUS_INTERFACE_STANDARD, *PBUS_INTERFACE_STANDARD;
-
-typedef struct _DEVICE_CAPABILITIES {
- USHORT Size;
- USHORT Version;
- ULONG DeviceD1 : 1;
- ULONG DeviceD2 : 1;
- ULONG LockSupported : 1;
- ULONG EjectSupported : 1;
- ULONG Removable : 1;
- ULONG DockDevice : 1;
- ULONG UniqueID : 1;
- ULONG SilentInstall : 1;
- ULONG RawDeviceOK : 1;
- ULONG SurpriseRemovalOK : 1;
- ULONG WakeFromD0 : 1;
- ULONG WakeFromD1 : 1;
- ULONG WakeFromD2 : 1;
- ULONG WakeFromD3 : 1;
- ULONG HardwareDisabled : 1;
- ULONG NonDynamic : 1;
- ULONG WarmEjectSupported : 1;
- ULONG NoDisplayInUI : 1;
- ULONG Reserved : 14;
- ULONG Address;
- ULONG UINumber;
- DEVICE_POWER_STATE DeviceState[PowerSystemMaximum];
- SYSTEM_POWER_STATE SystemWake;
- DEVICE_POWER_STATE DeviceWake;
- ULONG D1Latency;
- ULONG D2Latency;
- ULONG D3Latency;
-} DEVICE_CAPABILITIES, *PDEVICE_CAPABILITIES;
-
-typedef struct _DEVICE_INTERFACE_CHANGE_NOTIFICATION {
- USHORT Version;
- USHORT Size;
- GUID Event;
- GUID InterfaceClassGuid;
- PUNICODE_STRING SymbolicLinkName;
-} DEVICE_INTERFACE_CHANGE_NOTIFICATION, *PDEVICE_INTERFACE_CHANGE_NOTIFICATION;
-
-typedef struct _HWPROFILE_CHANGE_NOTIFICATION {
- USHORT Version;
- USHORT Size;
- GUID Event;
-} HWPROFILE_CHANGE_NOTIFICATION, *PHWPROFILE_CHANGE_NOTIFICATION;
-
-#undef INTERFACE
-
-typedef struct _INTERFACE {
- USHORT Size;
- USHORT Version;
- PVOID Context;
- PINTERFACE_REFERENCE InterfaceReference;
- PINTERFACE_DEREFERENCE InterfaceDereference;
-} INTERFACE, *PINTERFACE;
-
-typedef struct _PLUGPLAY_NOTIFICATION_HEADER {
- USHORT Version;
- USHORT Size;
- GUID Event;
-} PLUGPLAY_NOTIFICATION_HEADER, *PPLUGPLAY_NOTIFICATION_HEADER;
-
-typedef ULONG PNP_DEVICE_STATE, *PPNP_DEVICE_STATE;
-
-/* PNP_DEVICE_STATE */
-
-#define PNP_DEVICE_DISABLED 0x00000001
-#define PNP_DEVICE_DONT_DISPLAY_IN_UI 0x00000002
-#define PNP_DEVICE_FAILED 0x00000004
-#define PNP_DEVICE_REMOVED 0x00000008
-#define PNP_DEVICE_RESOURCE_REQUIREMENTS_CHANGED 0x00000010
-#define PNP_DEVICE_NOT_DISABLEABLE 0x00000020
-
-typedef struct _TARGET_DEVICE_CUSTOM_NOTIFICATION {
- USHORT Version;
- USHORT Size;
- GUID Event;
- struct _FILE_OBJECT *FileObject;
- LONG NameBufferOffset;
- UCHAR CustomDataBuffer[1];
-} TARGET_DEVICE_CUSTOM_NOTIFICATION, *PTARGET_DEVICE_CUSTOM_NOTIFICATION;
-
-typedef struct _TARGET_DEVICE_REMOVAL_NOTIFICATION {
- USHORT Version;
- USHORT Size;
- GUID Event;
- struct _FILE_OBJECT *FileObject;
-} TARGET_DEVICE_REMOVAL_NOTIFICATION, *PTARGET_DEVICE_REMOVAL_NOTIFICATION;
-
-typedef enum _BUS_QUERY_ID_TYPE {
- BusQueryDeviceID,
- BusQueryHardwareIDs,
- BusQueryCompatibleIDs,
- BusQueryInstanceID,
- BusQueryDeviceSerialNumber
-} BUS_QUERY_ID_TYPE, *PBUS_QUERY_ID_TYPE;
-
-typedef enum _DEVICE_TEXT_TYPE {
- DeviceTextDescription,
- DeviceTextLocationInformation
-} DEVICE_TEXT_TYPE, *PDEVICE_TEXT_TYPE;
-
-typedef enum _DEVICE_USAGE_NOTIFICATION_TYPE {
- DeviceUsageTypeUndefined,
- DeviceUsageTypePaging,
- DeviceUsageTypeHibernation,
- DeviceUsageTypeDumpFile
-} DEVICE_USAGE_NOTIFICATION_TYPE;
-
-typedef struct _POWER_SEQUENCE {
- ULONG SequenceD1;
- ULONG SequenceD2;
- ULONG SequenceD3;
-} POWER_SEQUENCE, *PPOWER_SEQUENCE;
-
-typedef enum {
- DevicePropertyDeviceDescription,
- DevicePropertyHardwareID,
- DevicePropertyCompatibleIDs,
- DevicePropertyBootConfiguration,
- DevicePropertyBootConfigurationTranslated,
- DevicePropertyClassName,
- DevicePropertyClassGuid,
- DevicePropertyDriverKeyName,
- DevicePropertyManufacturer,
- DevicePropertyFriendlyName,
- DevicePropertyLocationInformation,
- DevicePropertyPhysicalDeviceObjectName,
- DevicePropertyBusTypeGuid,
- DevicePropertyLegacyBusType,
- DevicePropertyBusNumber,
- DevicePropertyEnumeratorName,
- DevicePropertyAddress,
- DevicePropertyUINumber,
- DevicePropertyInstallState,
- DevicePropertyRemovalPolicy
-} DEVICE_REGISTRY_PROPERTY;
-
-typedef enum _IO_NOTIFICATION_EVENT_CATEGORY {
- EventCategoryReserved,
- EventCategoryHardwareProfileChange,
- EventCategoryDeviceInterfaceChange,
- EventCategoryTargetDeviceChange
-} IO_NOTIFICATION_EVENT_CATEGORY;
-
-#define PNPNOTIFY_DEVICE_INTERFACE_INCLUDE_EXISTING_INTERFACES 0x00000001
-
-typedef NTSTATUS DDKAPI
-(*PDRIVER_NOTIFICATION_CALLBACK_ROUTINE)(
- IN PVOID NotificationStructure,
- IN PVOID Context);
-
-typedef VOID DDKAPI
-(*PDEVICE_CHANGE_COMPLETE_CALLBACK)(
- IN PVOID Context);
-
-
-
-/*
-** System structures
-*/
-
-#define SYMBOLIC_LINK_QUERY 0x0001
-#define SYMBOLIC_LINK_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | 0x1)
-
-/* also in winnt,h */
-#define DUPLICATE_CLOSE_SOURCE 0x00000001
-#define DUPLICATE_SAME_ACCESS 0x00000002
-#define DUPLICATE_SAME_ATTRIBUTES 0x00000004
-/* end winnt.h */
-
-typedef struct _OBJECT_NAME_INFORMATION {
- UNICODE_STRING Name;
-} OBJECT_NAME_INFORMATION, *POBJECT_NAME_INFORMATION;
-
-typedef VOID DDKAPI
-(*PIO_APC_ROUTINE)(
- IN PVOID ApcContext,
- IN PIO_STATUS_BLOCK IoStatusBlock,
- IN ULONG Reserved);
-
-typedef struct _IO_STATUS_BLOCK {
- _ANONYMOUS_UNION union {
- NTSTATUS Status;
- PVOID Pointer;
- } DUMMYUNIONNAME;
- ULONG_PTR Information;
-} IO_STATUS_BLOCK;
-
-typedef VOID DDKAPI
-(*PKNORMAL_ROUTINE)(
- IN PVOID NormalContext,
- IN PVOID SystemArgument1,
- IN PVOID SystemArgument2);
-
-typedef VOID DDKAPI
-(*PKKERNEL_ROUTINE)(
- IN struct _KAPC *Apc,
- IN OUT PKNORMAL_ROUTINE *NormalRoutine,
- IN OUT PVOID *NormalContext,
- IN OUT PVOID *SystemArgument1,
- IN OUT PVOID *SystemArgument2);
-
-typedef VOID DDKAPI
-(*PKRUNDOWN_ROUTINE)(
- IN struct _KAPC *Apc);
-
-typedef BOOLEAN DDKAPI
-(*PKTRANSFER_ROUTINE)(
- VOID);
-
-typedef struct _KAPC {
- CSHORT Type;
- CSHORT Size;
- ULONG Spare0;
- struct _KTHREAD *Thread;
- LIST_ENTRY ApcListEntry;
- PKKERNEL_ROUTINE KernelRoutine;
- PKRUNDOWN_ROUTINE RundownRoutine;
- PKNORMAL_ROUTINE NormalRoutine;
- PVOID NormalContext;
- PVOID SystemArgument1;
- PVOID SystemArgument2;
- CCHAR ApcStateIndex;
- KPROCESSOR_MODE ApcMode;
- BOOLEAN Inserted;
-} KAPC, *PKAPC, *RESTRICTED_POINTER PRKAPC;
-
-typedef struct _KDEVICE_QUEUE {
- CSHORT Type;
- CSHORT Size;
- LIST_ENTRY DeviceListHead;
- KSPIN_LOCK Lock;
- BOOLEAN Busy;
-} KDEVICE_QUEUE, *PKDEVICE_QUEUE, *RESTRICTED_POINTER PRKDEVICE_QUEUE;
-
-typedef struct _KDEVICE_QUEUE_ENTRY {
- LIST_ENTRY DeviceListEntry;
- ULONG SortKey;
- BOOLEAN Inserted;
-} KDEVICE_QUEUE_ENTRY, *PKDEVICE_QUEUE_ENTRY,
-*RESTRICTED_POINTER PRKDEVICE_QUEUE_ENTRY;
-
-#define LOCK_QUEUE_WAIT 1
-#define LOCK_QUEUE_OWNER 2
-
-typedef enum _KSPIN_LOCK_QUEUE_NUMBER {
- LockQueueDispatcherLock,
- LockQueueContextSwapLock,
- LockQueuePfnLock,
- LockQueueSystemSpaceLock,
- LockQueueVacbLock,
- LockQueueMasterLock,
- LockQueueNonPagedPoolLock,
- LockQueueIoCancelLock,
- LockQueueWorkQueueLock,
- LockQueueIoVpbLock,
- LockQueueIoDatabaseLock,
- LockQueueIoCompletionLock,
- LockQueueNtfsStructLock,
- LockQueueAfdWorkQueueLock,
- LockQueueBcbLock,
- LockQueueMaximumLock
-} KSPIN_LOCK_QUEUE_NUMBER, *PKSPIN_LOCK_QUEUE_NUMBER;
-
-typedef struct _KSPIN_LOCK_QUEUE {
- struct _KSPIN_LOCK_QUEUE *VOLATILE Next;
- PKSPIN_LOCK VOLATILE Lock;
-} KSPIN_LOCK_QUEUE, *PKSPIN_LOCK_QUEUE;
-
-typedef struct _KLOCK_QUEUE_HANDLE {
- KSPIN_LOCK_QUEUE LockQueue;
- KIRQL OldIrql;
-} KLOCK_QUEUE_HANDLE, *PKLOCK_QUEUE_HANDLE;
-
-typedef struct _KDPC {
- CSHORT Type;
- UCHAR Number;
- UCHAR Importance;
- LIST_ENTRY DpcListEntry;
- PKDEFERRED_ROUTINE DeferredRoutine;
- PVOID DeferredContext;
- PVOID SystemArgument1;
- PVOID SystemArgument2;
- PULONG_PTR Lock;
-} KDPC, *PKDPC, *RESTRICTED_POINTER PRKDPC;
-
-typedef struct _WAIT_CONTEXT_BLOCK {
- KDEVICE_QUEUE_ENTRY WaitQueueEntry;
- struct _DRIVER_CONTROL *DeviceRoutine;
- PVOID DeviceContext;
- ULONG NumberOfMapRegisters;
- PVOID DeviceObject;
- PVOID CurrentIrp;
- PKDPC BufferChainingDpc;
-} WAIT_CONTEXT_BLOCK, *PWAIT_CONTEXT_BLOCK;
-
-typedef struct _DISPATCHER_HEADER {
- UCHAR Type;
- UCHAR Absolute;
- UCHAR Size;
- UCHAR Inserted;
- LONG SignalState;
- LIST_ENTRY WaitListHead;
-} DISPATCHER_HEADER, *PDISPATCHER_HEADER;
-
-typedef struct _KEVENT {
- DISPATCHER_HEADER Header;
-} KEVENT, *PKEVENT, *RESTRICTED_POINTER PRKEVENT;
-
-typedef struct _KSEMAPHORE {
- DISPATCHER_HEADER Header;
- LONG Limit;
-} KSEMAPHORE, *PKSEMAPHORE, *RESTRICTED_POINTER PRKSEMAPHORE;
-
-typedef struct _FAST_MUTEX {
- LONG Count;
- struct _KTHREAD *Owner;
- ULONG Contention;
- KEVENT Event;
- ULONG OldIrql;
-} FAST_MUTEX, *PFAST_MUTEX;
-
-typedef struct _KTIMER {
- DISPATCHER_HEADER Header;
- ULARGE_INTEGER DueTime;
- LIST_ENTRY TimerListEntry;
- struct _KDPC *Dpc;
- LONG Period;
-} KTIMER, *PKTIMER, *RESTRICTED_POINTER PRKTIMER;
-
-typedef struct _KMUTANT {
- DISPATCHER_HEADER Header;
- LIST_ENTRY MutantListEntry;
- struct _KTHREAD *RESTRICTED_POINTER OwnerThread;
- BOOLEAN Abandoned;
- UCHAR ApcDisable;
-} KMUTANT, *PKMUTANT, *RESTRICTED_POINTER PRKMUTANT, KMUTEX, *PKMUTEX, *RESTRICTED_POINTER PRKMUTEX;
-
-typedef enum _TIMER_TYPE {
- NotificationTimer,
- SynchronizationTimer
-} TIMER_TYPE;
-
-#define EVENT_INCREMENT 1
-#define IO_NO_INCREMENT 0
-#define IO_CD_ROM_INCREMENT 1
-#define IO_DISK_INCREMENT 1
-#define IO_KEYBOARD_INCREMENT 6
-#define IO_MAILSLOT_INCREMENT 2
-#define IO_MOUSE_INCREMENT 6
-#define IO_NAMED_PIPE_INCREMENT 2
-#define IO_NETWORK_INCREMENT 2
-#define IO_PARALLEL_INCREMENT 1
-#define IO_SERIAL_INCREMENT 2
-#define IO_SOUND_INCREMENT 8
-#define IO_VIDEO_INCREMENT 1
-#define SEMAPHORE_INCREMENT 1
-
-typedef struct _IRP {
- CSHORT Type;
- USHORT Size;
- struct _MDL *MdlAddress;
- ULONG Flags;
- union {
- struct _IRP *MasterIrp;
- LONG IrpCount;
- PVOID SystemBuffer;
- } AssociatedIrp;
- LIST_ENTRY ThreadListEntry;
- IO_STATUS_BLOCK IoStatus;
- KPROCESSOR_MODE RequestorMode;
- BOOLEAN PendingReturned;
- CHAR StackCount;
- CHAR CurrentLocation;
- BOOLEAN Cancel;
- KIRQL CancelIrql;
- CCHAR ApcEnvironment;
- UCHAR AllocationFlags;
- PIO_STATUS_BLOCK UserIosb;
- PKEVENT UserEvent;
- union {
- struct {
- PIO_APC_ROUTINE UserApcRoutine;
- PVOID UserApcContext;
- } AsynchronousParameters;
- LARGE_INTEGER AllocationSize;
- } Overlay;
- PDRIVER_CANCEL CancelRoutine;
- PVOID UserBuffer;
- union {
- struct {
- _ANONYMOUS_UNION union {
- KDEVICE_QUEUE_ENTRY DeviceQueueEntry;
- _ANONYMOUS_STRUCT struct {
- PVOID DriverContext[4];
- } DUMMYSTRUCTNAME;
- } DUMMYUNIONNAME;
- PETHREAD Thread;
- PCHAR AuxiliaryBuffer;
- _ANONYMOUS_STRUCT struct {
- LIST_ENTRY ListEntry;
- _ANONYMOUS_UNION union {
- struct _IO_STACK_LOCATION *CurrentStackLocation;
- ULONG PacketType;
- } DUMMYUNIONNAME;
- } DUMMYSTRUCTNAME;
- struct _FILE_OBJECT *OriginalFileObject;
- } Overlay;
- KAPC Apc;
- PVOID CompletionKey;
- } Tail;
-} IRP;
-typedef struct _IRP *PIRP;
-
-/* IRP.Flags */
-
-#define SL_FORCE_ACCESS_CHECK 0x01
-#define SL_OPEN_PAGING_FILE 0x02
-#define SL_OPEN_TARGET_DIRECTORY 0x04
-#define SL_CASE_SENSITIVE 0x80
-
-#define SL_KEY_SPECIFIED 0x01
-#define SL_OVERRIDE_VERIFY_VOLUME 0x02
-#define SL_WRITE_THROUGH 0x04
-#define SL_FT_SEQUENTIAL_WRITE 0x08
-
-#define SL_FAIL_IMMEDIATELY 0x01
-#define SL_EXCLUSIVE_LOCK 0x02
-
-#define SL_RESTART_SCAN 0x01
-#define SL_RETURN_SINGLE_ENTRY 0x02
-#define SL_INDEX_SPECIFIED 0x04
-
-#define SL_WATCH_TREE 0x01
-
-#define SL_ALLOW_RAW_MOUNT 0x01
-
-#define CTL_CODE(DeviceType, Function, Method, Access)( \
- ((DeviceType) << 16) | ((Access) << 14) | ((Function) << 2) | (Method))
-
-#define DEVICE_TYPE_FROM_CTL_CODE(ctl) (((ULONG) (ctl & 0xffff0000)) >> 16)
-
-enum
-{
- IRP_NOCACHE = 0x1,
- IRP_PAGING_IO = 0x2,
- IRP_MOUNT_COMPLETION = 0x2,
- IRP_SYNCHRONOUS_API = 0x4,
- IRP_ASSOCIATED_IRP = 0x8,
- IRP_BUFFERED_IO = 0x10,
- IRP_DEALLOCATE_BUFFER = 0x20,
- IRP_INPUT_OPERATION = 0x40,
- IRP_SYNCHRONOUS_PAGING_IO = 0x40,
- IRP_CREATE_OPERATION = 0x80,
- IRP_READ_OPERATION = 0x100,
- IRP_WRITE_OPERATION = 0x200,
- IRP_CLOSE_OPERATION = 0x400,
- IRP_DEFER_IO_COMPLETION = 0x800,
- IRP_OB_QUERY_NAME = 0x1000,
- IRP_HOLD_DEVICE_QUEUE = 0x2000,
- IRP_RETRY_IO_COMPLETION = 0x4000
-};
-
-
-typedef struct _DRIVE_LAYOUT_INFORMATION_MBR {
- ULONG Signature;
-} DRIVE_LAYOUT_INFORMATION_MBR, *PDRIVE_LAYOUT_INFORMATION_MBR;
-
-typedef struct _DRIVE_LAYOUT_INFORMATION_GPT {
- GUID DiskId;
- LARGE_INTEGER StartingUsableOffset;
- LARGE_INTEGER UsableLength;
- ULONG MaxPartitionCount;
-} DRIVE_LAYOUT_INFORMATION_GPT, *PDRIVE_LAYOUT_INFORMATION_GPT;
-
-typedef struct _PARTITION_INFORMATION_MBR {
- UCHAR PartitionType;
- BOOLEAN BootIndicator;
- BOOLEAN RecognizedPartition;
- ULONG HiddenSectors;
-} PARTITION_INFORMATION_MBR, *PPARTITION_INFORMATION_MBR;
-
-
-typedef struct _BOOTDISK_INFORMATION {
- LONGLONG BootPartitionOffset;
- LONGLONG SystemPartitionOffset;
- ULONG BootDeviceSignature;
- ULONG SystemDeviceSignature;
-} BOOTDISK_INFORMATION, *PBOOTDISK_INFORMATION;
-
-typedef struct _BOOTDISK_INFORMATION_EX {
- LONGLONG BootPartitionOffset;
- LONGLONG SystemPartitionOffset;
- ULONG BootDeviceSignature;
- ULONG SystemDeviceSignature;
- GUID BootDeviceGuid;
- GUID SystemDeviceGuid;
- BOOLEAN BootDeviceIsGpt;
- BOOLEAN SystemDeviceIsGpt;
-} BOOTDISK_INFORMATION_EX, *PBOOTDISK_INFORMATION_EX;
-
-typedef struct _EISA_MEMORY_TYPE {
- UCHAR ReadWrite : 1;
- UCHAR Cached : 1;
- UCHAR Reserved0 : 1;
- UCHAR Type : 2;
- UCHAR Shared : 1;
- UCHAR Reserved1 : 1;
- UCHAR MoreEntries : 1;
-} EISA_MEMORY_TYPE, *PEISA_MEMORY_TYPE;
-
-#include <pshpack1.h>
-typedef struct _EISA_MEMORY_CONFIGURATION {
- EISA_MEMORY_TYPE ConfigurationByte;
- UCHAR DataSize;
- USHORT AddressLowWord;
- UCHAR AddressHighByte;
- USHORT MemorySize;
-} EISA_MEMORY_CONFIGURATION, *PEISA_MEMORY_CONFIGURATION;
-#include <poppack.h>
-
-typedef struct _EISA_IRQ_DESCRIPTOR {
- UCHAR Interrupt : 4;
- UCHAR Reserved : 1;
- UCHAR LevelTriggered : 1;
- UCHAR Shared : 1;
- UCHAR MoreEntries : 1;
-} EISA_IRQ_DESCRIPTOR, *PEISA_IRQ_DESCRIPTOR;
-
-typedef struct _EISA_IRQ_CONFIGURATION {
- EISA_IRQ_DESCRIPTOR ConfigurationByte;
- UCHAR Reserved;
-} EISA_IRQ_CONFIGURATION, *PEISA_IRQ_CONFIGURATION;
-
-typedef struct _DMA_CONFIGURATION_BYTE0 {
- UCHAR Channel : 3;
- UCHAR Reserved : 3;
- UCHAR Shared : 1;
- UCHAR MoreEntries : 1;
-} DMA_CONFIGURATION_BYTE0;
-
-typedef struct _DMA_CONFIGURATION_BYTE1 {
- UCHAR Reserved0 : 2;
- UCHAR TransferSize : 2;
- UCHAR Timing : 2;
- UCHAR Reserved1 : 2;
-} DMA_CONFIGURATION_BYTE1;
-
-typedef struct _EISA_DMA_CONFIGURATION {
- DMA_CONFIGURATION_BYTE0 ConfigurationByte0;
- DMA_CONFIGURATION_BYTE1 ConfigurationByte1;
-} EISA_DMA_CONFIGURATION, *PEISA_DMA_CONFIGURATION;
-
-#include <pshpack1.h>
-typedef struct _EISA_PORT_DESCRIPTOR {
- UCHAR NumberPorts : 5;
- UCHAR Reserved : 1;
- UCHAR Shared : 1;
- UCHAR MoreEntries : 1;
-} EISA_PORT_DESCRIPTOR, *PEISA_PORT_DESCRIPTOR;
-
-typedef struct _EISA_PORT_CONFIGURATION {
- EISA_PORT_DESCRIPTOR Configuration;
- USHORT PortAddress;
-} EISA_PORT_CONFIGURATION, *PEISA_PORT_CONFIGURATION;
-#include <poppack.h>
-
-typedef struct _CM_EISA_FUNCTION_INFORMATION {
- ULONG CompressedId;
- UCHAR IdSlotFlags1;
- UCHAR IdSlotFlags2;
- UCHAR MinorRevision;
- UCHAR MajorRevision;
- UCHAR Selections[26];
- UCHAR FunctionFlags;
- UCHAR TypeString[80];
- EISA_MEMORY_CONFIGURATION EisaMemory[9];
- EISA_IRQ_CONFIGURATION EisaIrq[7];
- EISA_DMA_CONFIGURATION EisaDma[4];
- EISA_PORT_CONFIGURATION EisaPort[20];
- UCHAR InitializationData[60];
-} CM_EISA_FUNCTION_INFORMATION, *PCM_EISA_FUNCTION_INFORMATION;
-
-/* CM_EISA_FUNCTION_INFORMATION.FunctionFlags */
-
-#define EISA_FUNCTION_ENABLED 0x80
-#define EISA_FREE_FORM_DATA 0x40
-#define EISA_HAS_PORT_INIT_ENTRY 0x20
-#define EISA_HAS_PORT_RANGE 0x10
-#define EISA_HAS_DMA_ENTRY 0x08
-#define EISA_HAS_IRQ_ENTRY 0x04
-#define EISA_HAS_MEMORY_ENTRY 0x02
-#define EISA_HAS_TYPE_ENTRY 0x01
-#define EISA_HAS_INFORMATION \
- (EISA_HAS_PORT_RANGE + EISA_HAS_DMA_ENTRY + EISA_HAS_IRQ_ENTRY \
- + EISA_HAS_MEMORY_ENTRY + EISA_HAS_TYPE_ENTRY)
-
-typedef struct _CM_EISA_SLOT_INFORMATION {
- UCHAR ReturnCode;
- UCHAR ReturnFlags;
- UCHAR MajorRevision;
- UCHAR MinorRevision;
- USHORT Checksum;
- UCHAR NumberFunctions;
- UCHAR FunctionInformation;
- ULONG CompressedId;
-} CM_EISA_SLOT_INFORMATION, *PCM_EISA_SLOT_INFORMATION;
-
-/* CM_EISA_SLOT_INFORMATION.ReturnCode */
-
-#define EISA_INVALID_SLOT 0x80
-#define EISA_INVALID_FUNCTION 0x81
-#define EISA_INVALID_CONFIGURATION 0x82
-#define EISA_EMPTY_SLOT 0x83
-#define EISA_INVALID_BIOS_CALL 0x86
-
-typedef struct _CM_FLOPPY_DEVICE_DATA {
- USHORT Version;
- USHORT Revision;
- CHAR Size[8];
- ULONG MaxDensity;
- ULONG MountDensity;
- UCHAR StepRateHeadUnloadTime;
- UCHAR HeadLoadTime;
- UCHAR MotorOffTime;
- UCHAR SectorLengthCode;
- UCHAR SectorPerTrack;
- UCHAR ReadWriteGapLength;
- UCHAR DataTransferLength;
- UCHAR FormatGapLength;
- UCHAR FormatFillCharacter;
- UCHAR HeadSettleTime;
- UCHAR MotorSettleTime;
- UCHAR MaximumTrackValue;
- UCHAR DataTransferRate;
-} CM_FLOPPY_DEVICE_DATA, *PCM_FLOPPY_DEVICE_DATA;
-
-typedef enum _INTERFACE_TYPE {
- InterfaceTypeUndefined = -1,
- Internal,
- Isa,
- Eisa,
- MicroChannel,
- TurboChannel,
- PCIBus,
- VMEBus,
- NuBus,
- PCMCIABus,
- CBus,
- MPIBus,
- MPSABus,
- ProcessorInternal,
- InternalPowerBus,
- PNPISABus,
- PNPBus,
- MaximumInterfaceType
-} INTERFACE_TYPE, *PINTERFACE_TYPE;
-
-typedef struct _PNP_BUS_INFORMATION {
- GUID BusTypeGuid;
- INTERFACE_TYPE LegacyBusType;
- ULONG BusNumber;
-} PNP_BUS_INFORMATION, *PPNP_BUS_INFORMATION;
-
-#include <pshpack1.h>
-typedef struct _CM_PARTIAL_RESOURCE_DESCRIPTOR {
- UCHAR Type;
- UCHAR ShareDisposition;
- USHORT Flags;
- union {
- struct {
- PHYSICAL_ADDRESS Start;
- ULONG Length;
- } Generic;
- struct {
- PHYSICAL_ADDRESS Start;
- ULONG Length;
- } Port;
- struct {
- ULONG Level;
- ULONG Vector;
- ULONG Affinity;
- } Interrupt;
- struct {
- PHYSICAL_ADDRESS Start;
- ULONG Length;
- } Memory;
- struct {
- ULONG Channel;
- ULONG Port;
- ULONG Reserved1;
- } Dma;
- struct {
- ULONG Data[3];
- } DevicePrivate;
- struct {
- ULONG Start;
- ULONG Length;
- ULONG Reserved;
- } BusNumber;
- struct {
- ULONG DataSize;
- ULONG Reserved1;
- ULONG Reserved2;
- } DeviceSpecificData;
- } u;
-} CM_PARTIAL_RESOURCE_DESCRIPTOR, *PCM_PARTIAL_RESOURCE_DESCRIPTOR;
-
-/* CM_PARTIAL_RESOURCE_DESCRIPTOR.Type */
-
-#define CmResourceTypeNull 0
-#define CmResourceTypePort 1
-#define CmResourceTypeInterrupt 2
-#define CmResourceTypeMemory 3
-#define CmResourceTypeDma 4
-#define CmResourceTypeDeviceSpecific 5
-#define CmResourceTypeBusNumber 6
-#define CmResourceTypeMaximum 7
-#define CmResourceTypeNonArbitrated 128
-#define CmResourceTypeConfigData 128
-#define CmResourceTypeDevicePrivate 129
-#define CmResourceTypePcCardConfig 130
-#define CmResourceTypeMfCardConfig 131
-
-/* CM_PARTIAL_RESOURCE_DESCRIPTOR.ShareDisposition */
-
-typedef enum _CM_SHARE_DISPOSITION {
- CmResourceShareUndetermined,
- CmResourceShareDeviceExclusive,
- CmResourceShareDriverExclusive,
- CmResourceShareShared
-} CM_SHARE_DISPOSITION;
-
-/* CM_PARTIAL_RESOURCE_DESCRIPTOR.Flags if Type = CmResourceTypePort */
-
-#define CM_RESOURCE_PORT_MEMORY 0x0000
-#define CM_RESOURCE_PORT_IO 0x0001
-#define CM_RESOURCE_PORT_10_BIT_DECODE 0x0004
-#define CM_RESOURCE_PORT_12_BIT_DECODE 0x0008
-#define CM_RESOURCE_PORT_16_BIT_DECODE 0x0010
-#define CM_RESOURCE_PORT_POSITIVE_DECODE 0x0020
-#define CM_RESOURCE_PORT_PASSIVE_DECODE 0x0040
-#define CM_RESOURCE_PORT_WINDOW_DECODE 0x0080
-
-/* CM_PARTIAL_RESOURCE_DESCRIPTOR.Flags if Type = CmResourceTypeInterrupt */
-
-#define CM_RESOURCE_INTERRUPT_LEVEL_SENSITIVE 0x0000
-#define CM_RESOURCE_INTERRUPT_LATCHED 0x0001
-
-/* CM_PARTIAL_RESOURCE_DESCRIPTOR.Flags if Type = CmResourceTypeMemory */
-
-#define CM_RESOURCE_MEMORY_READ_WRITE 0x0000
-#define CM_RESOURCE_MEMORY_READ_ONLY 0x0001
-#define CM_RESOURCE_MEMORY_WRITE_ONLY 0x0002
-#define CM_RESOURCE_MEMORY_PREFETCHABLE 0x0004
-#define CM_RESOURCE_MEMORY_COMBINEDWRITE 0x0008
-#define CM_RESOURCE_MEMORY_24 0x0010
-#define CM_RESOURCE_MEMORY_CACHEABLE 0x0020
-
-/* CM_PARTIAL_RESOURCE_DESCRIPTOR.Flags if Type = CmResourceTypeDma */
-
-#define CM_RESOURCE_DMA_8 0x0000
-#define CM_RESOURCE_DMA_16 0x0001
-#define CM_RESOURCE_DMA_32 0x0002
-#define CM_RESOURCE_DMA_8_AND_16 0x0004
-#define CM_RESOURCE_DMA_BUS_MASTER 0x0008
-#define CM_RESOURCE_DMA_TYPE_A 0x0010
-#define CM_RESOURCE_DMA_TYPE_B 0x0020
-#define CM_RESOURCE_DMA_TYPE_F 0x0040
-
-typedef struct _CM_PARTIAL_RESOURCE_LIST {
- USHORT Version;
- USHORT Revision;
- ULONG Count;
- CM_PARTIAL_RESOURCE_DESCRIPTOR PartialDescriptors[1];
-} CM_PARTIAL_RESOURCE_LIST, *PCM_PARTIAL_RESOURCE_LIST;
-
-typedef struct _CM_FULL_RESOURCE_DESCRIPTOR {
- INTERFACE_TYPE InterfaceType;
- ULONG BusNumber;
- CM_PARTIAL_RESOURCE_LIST PartialResourceList;
-} CM_FULL_RESOURCE_DESCRIPTOR, *PCM_FULL_RESOURCE_DESCRIPTOR;
-
-typedef struct _CM_RESOURCE_LIST {
- ULONG Count;
- CM_FULL_RESOURCE_DESCRIPTOR List[1];
-} CM_RESOURCE_LIST, *PCM_RESOURCE_LIST;
-
-typedef struct _CM_INT13_DRIVE_PARAMETER {
- USHORT DriveSelect;
- ULONG MaxCylinders;
- USHORT SectorsPerTrack;
- USHORT MaxHeads;
- USHORT NumberDrives;
-} CM_INT13_DRIVE_PARAMETER, *PCM_INT13_DRIVE_PARAMETER;
-#include <poppack.h>
-
-typedef struct _CM_KEYBOARD_DEVICE_DATA {
- USHORT Version;
- USHORT Revision;
- UCHAR Type;
- UCHAR Subtype;
- USHORT KeyboardFlags;
-} CM_KEYBOARD_DEVICE_DATA, *PCM_KEYBOARD_DEVICE_DATA;
-
-#define KEYBOARD_INSERT_ON 0x80
-#define KEYBOARD_CAPS_LOCK_ON 0x40
-#define KEYBOARD_NUM_LOCK_ON 0x20
-#define KEYBOARD_SCROLL_LOCK_ON 0x10
-#define KEYBOARD_ALT_KEY_DOWN 0x08
-#define KEYBOARD_CTRL_KEY_DOWN 0x04
-#define KEYBOARD_LEFT_SHIFT_DOWN 0x02
-#define KEYBOARD_RIGHT_SHIFT_DOWN 0x01
-
-typedef struct _CM_MCA_POS_DATA {
- USHORT AdapterId;
- UCHAR PosData1;
- UCHAR PosData2;
- UCHAR PosData3;
- UCHAR PosData4;
-} CM_MCA_POS_DATA, *PCM_MCA_POS_DATA;
-
-typedef struct CM_Power_Data_s {
- ULONG PD_Size;
- DEVICE_POWER_STATE PD_MostRecentPowerState;
- ULONG PD_Capabilities;
- ULONG PD_D1Latency;
- ULONG PD_D2Latency;
- ULONG PD_D3Latency;
- DEVICE_POWER_STATE PD_PowerStateMapping[PowerSystemMaximum];
-} CM_POWER_DATA, *PCM_POWER_DATA;
-
-#define PDCAP_D0_SUPPORTED 0x00000001
-#define PDCAP_D1_SUPPORTED 0x00000002
-#define PDCAP_D2_SUPPORTED 0x00000004
-#define PDCAP_D3_SUPPORTED 0x00000008
-#define PDCAP_WAKE_FROM_D0_SUPPORTED 0x00000010
-#define PDCAP_WAKE_FROM_D1_SUPPORTED 0x00000020
-#define PDCAP_WAKE_FROM_D2_SUPPORTED 0x00000040
-#define PDCAP_WAKE_FROM_D3_SUPPORTED 0x00000080
-#define PDCAP_WARM_EJECT_SUPPORTED 0x00000100
-
-typedef struct _CM_SCSI_DEVICE_DATA {
- USHORT Version;
- USHORT Revision;
- UCHAR HostIdentifier;
-} CM_SCSI_DEVICE_DATA, *PCM_SCSI_DEVICE_DATA;
-
-typedef struct _CM_SERIAL_DEVICE_DATA {
- USHORT Version;
- USHORT Revision;
- ULONG BaudClock;
-} CM_SERIAL_DEVICE_DATA, *PCM_SERIAL_DEVICE_DATA;
-
-/* IO_RESOURCE_DESCRIPTOR.Option */
-
-#define IO_RESOURCE_PREFERRED 0x01
-#define IO_RESOURCE_DEFAULT 0x02
-#define IO_RESOURCE_ALTERNATIVE 0x08
-
-typedef struct _IO_RESOURCE_DESCRIPTOR {
- UCHAR Option;
- UCHAR Type;
- UCHAR ShareDisposition;
- UCHAR Spare1;
- USHORT Flags;
- USHORT Spare2;
- union {
- struct {
- ULONG Length;
- ULONG Alignment;
- PHYSICAL_ADDRESS MinimumAddress;
- PHYSICAL_ADDRESS MaximumAddress;
- } Port;
- struct {
- ULONG Length;
- ULONG Alignment;
- PHYSICAL_ADDRESS MinimumAddress;
- PHYSICAL_ADDRESS MaximumAddress;
- } Memory;
- struct {
- ULONG MinimumVector;
- ULONG MaximumVector;
- } Interrupt;
- struct {
- ULONG MinimumChannel;
- ULONG MaximumChannel;
- } Dma;
- struct {
- ULONG Length;
- ULONG Alignment;
- PHYSICAL_ADDRESS MinimumAddress;
- PHYSICAL_ADDRESS MaximumAddress;
- } Generic;
- struct {
- ULONG Data[3];
- } DevicePrivate;
- struct {
- ULONG Length;
- ULONG MinBusNumber;
- ULONG MaxBusNumber;
- ULONG Reserved;
- } BusNumber;
- struct {
- ULONG Priority;
- ULONG Reserved1;
- ULONG Reserved2;
- } ConfigData;
- } u;
-} IO_RESOURCE_DESCRIPTOR, *PIO_RESOURCE_DESCRIPTOR;
-
-typedef struct _IO_RESOURCE_LIST {
- USHORT Version;
- USHORT Revision;
- ULONG Count;
- IO_RESOURCE_DESCRIPTOR Descriptors[1];
-} IO_RESOURCE_LIST, *PIO_RESOURCE_LIST;
-
-typedef struct _IO_RESOURCE_REQUIREMENTS_LIST {
- ULONG ListSize;
- INTERFACE_TYPE InterfaceType;
- ULONG BusNumber;
- ULONG SlotNumber;
- ULONG Reserved[3];
- ULONG AlternativeLists;
- IO_RESOURCE_LIST List[1];
-} IO_RESOURCE_REQUIREMENTS_LIST, *PIO_RESOURCE_REQUIREMENTS_LIST;
-
-typedef struct _CONTROLLER_OBJECT {
- CSHORT Type;
- CSHORT Size;
- PVOID ControllerExtension;
- KDEVICE_QUEUE DeviceWaitQueue;
- ULONG Spare1;
- LARGE_INTEGER Spare2;
-} CONTROLLER_OBJECT, *PCONTROLLER_OBJECT;
-
-typedef enum _DMA_WIDTH {
- Width8Bits,
- Width16Bits,
- Width32Bits,
- MaximumDmaWidth
-} DMA_WIDTH, *PDMA_WIDTH;
-
-typedef enum _DMA_SPEED {
- Compatible,
- TypeA,
- TypeB,
- TypeC,
- TypeF,
- MaximumDmaSpeed
-} DMA_SPEED, *PDMA_SPEED;
-
-/* DEVICE_DESCRIPTION.Version */
-
-#define DEVICE_DESCRIPTION_VERSION 0x0000
-#define DEVICE_DESCRIPTION_VERSION1 0x0001
-#define DEVICE_DESCRIPTION_VERSION2 0x0002
-
-typedef struct _DEVICE_DESCRIPTION {
- ULONG Version;
- BOOLEAN Master;
- BOOLEAN ScatterGather;
- BOOLEAN DemandMode;
- BOOLEAN AutoInitialize;
- BOOLEAN Dma32BitAddresses;
- BOOLEAN IgnoreCount;
- BOOLEAN Reserved1;
- BOOLEAN Dma64BitAddresses;
- ULONG BusNumber;
- ULONG DmaChannel;
- INTERFACE_TYPE InterfaceType;
- DMA_WIDTH DmaWidth;
- DMA_SPEED DmaSpeed;
- ULONG MaximumLength;
- ULONG DmaPort;
-} DEVICE_DESCRIPTION, *PDEVICE_DESCRIPTION;
-
-/* VPB.Flags */
-#define VPB_MOUNTED 0x0001
-#define VPB_LOCKED 0x0002
-#define VPB_PERSISTENT 0x0004
-#define VPB_REMOVE_PENDING 0x0008
-#define VPB_RAW_MOUNT 0x0010
-
-#define MAXIMUM_VOLUME_LABEL_LENGTH (32 * sizeof(WCHAR))
-
-typedef struct _VPB {
- CSHORT Type;
- CSHORT Size;
- USHORT Flags;
- USHORT VolumeLabelLength;
- struct _DEVICE_OBJECT *DeviceObject;
- struct _DEVICE_OBJECT *RealDevice;
- ULONG SerialNumber;
- ULONG ReferenceCount;
- WCHAR VolumeLabel[MAXIMUM_VOLUME_LABEL_LENGTH / sizeof(WCHAR)];
-} VPB, *PVPB;
-
-/* DEVICE_OBJECT.Flags */
-
-#define DO_VERIFY_VOLUME 0x00000002
-#define DO_BUFFERED_IO 0x00000004
-#define DO_EXCLUSIVE 0x00000008
-#define DO_DIRECT_IO 0x00000010
-#define DO_MAP_IO_BUFFER 0x00000020
-#define DO_DEVICE_HAS_NAME 0x00000040
-#define DO_DEVICE_INITIALIZING 0x00000080
-#define DO_SYSTEM_BOOT_PARTITION 0x00000100
-#define DO_LONG_TERM_REQUESTS 0x00000200
-#define DO_NEVER_LAST_DEVICE 0x00000400
-#define DO_SHUTDOWN_REGISTERED 0x00000800
-#define DO_BUS_ENUMERATED_DEVICE 0x00001000
-#define DO_POWER_PAGABLE 0x00002000
-#define DO_POWER_INRUSH 0x00004000
-#define DO_LOW_PRIORITY_FILESYSTEM 0x00010000
-
-/* DEVICE_OBJECT.Characteristics */
-
-#define FILE_REMOVABLE_MEDIA 0x00000001
-#define FILE_READ_ONLY_DEVICE 0x00000002
-#define FILE_FLOPPY_DISKETTE 0x00000004
-#define FILE_WRITE_ONCE_MEDIA 0x00000008
-#define FILE_REMOTE_DEVICE 0x00000010
-#define FILE_DEVICE_IS_MOUNTED 0x00000020
-#define FILE_VIRTUAL_VOLUME 0x00000040
-#define FILE_AUTOGENERATED_DEVICE_NAME 0x00000080
-#define FILE_DEVICE_SECURE_OPEN 0x00000100
-
-/* DEVICE_OBJECT.AlignmentRequirement */
-
-#define FILE_BYTE_ALIGNMENT 0x00000000
-#define FILE_WORD_ALIGNMENT 0x00000001
-#define FILE_LONG_ALIGNMENT 0x00000003
-#define FILE_QUAD_ALIGNMENT 0x00000007
-#define FILE_OCTA_ALIGNMENT 0x0000000f
-#define FILE_32_BYTE_ALIGNMENT 0x0000001f
-#define FILE_64_BYTE_ALIGNMENT 0x0000003f
-#define FILE_128_BYTE_ALIGNMENT 0x0000007f
-#define FILE_256_BYTE_ALIGNMENT 0x000000ff
-#define FILE_512_BYTE_ALIGNMENT 0x000001ff
-
-/* DEVICE_OBJECT.DeviceType */
-
-#define DEVICE_TYPE ULONG
-
-#define FILE_DEVICE_BEEP 0x00000001
-#define FILE_DEVICE_CD_ROM 0x00000002
-#define FILE_DEVICE_CD_ROM_FILE_SYSTEM 0x00000003
-#define FILE_DEVICE_CONTROLLER 0x00000004
-#define FILE_DEVICE_DATALINK 0x00000005
-#define FILE_DEVICE_DFS 0x00000006
-#define FILE_DEVICE_DISK 0x00000007
-#define FILE_DEVICE_DISK_FILE_SYSTEM 0x00000008
-#define FILE_DEVICE_FILE_SYSTEM 0x00000009
-#define FILE_DEVICE_INPORT_PORT 0x0000000a
-#define FILE_DEVICE_KEYBOARD 0x0000000b
-#define FILE_DEVICE_MAILSLOT 0x0000000c
-#define FILE_DEVICE_MIDI_IN 0x0000000d
-#define FILE_DEVICE_MIDI_OUT 0x0000000e
-#define FILE_DEVICE_MOUSE 0x0000000f
-#define FILE_DEVICE_MULTI_UNC_PROVIDER 0x00000010
-#define FILE_DEVICE_NAMED_PIPE 0x00000011
-#define FILE_DEVICE_NETWORK 0x00000012
-#define FILE_DEVICE_NETWORK_BROWSER 0x00000013
-#define FILE_DEVICE_NETWORK_FILE_SYSTEM 0x00000014
-#define FILE_DEVICE_NULL 0x00000015
-#define FILE_DEVICE_PARALLEL_PORT 0x00000016
-#define FILE_DEVICE_PHYSICAL_NETCARD 0x00000017
-#define FILE_DEVICE_PRINTER 0x00000018
-#define FILE_DEVICE_SCANNER 0x00000019
-#define FILE_DEVICE_SERIAL_MOUSE_PORT 0x0000001a
-#define FILE_DEVICE_SERIAL_PORT 0x0000001b
-#define FILE_DEVICE_SCREEN 0x0000001c
-#define FILE_DEVICE_SOUND 0x0000001d
-#define FILE_DEVICE_STREAMS 0x0000001e
-#define FILE_DEVICE_TAPE 0x0000001f
-#define FILE_DEVICE_TAPE_FILE_SYSTEM 0x00000020
-#define FILE_DEVICE_TRANSPORT 0x00000021
-#define FILE_DEVICE_UNKNOWN 0x00000022
-#define FILE_DEVICE_VIDEO 0x00000023
-#define FILE_DEVICE_VIRTUAL_DISK 0x00000024
-#define FILE_DEVICE_WAVE_IN 0x00000025
-#define FILE_DEVICE_WAVE_OUT 0x00000026
-#define FILE_DEVICE_8042_PORT 0x00000027
-#define FILE_DEVICE_NETWORK_REDIRECTOR 0x00000028
-#define FILE_DEVICE_BATTERY 0x00000029
-#define FILE_DEVICE_BUS_EXTENDER 0x0000002a
-#define FILE_DEVICE_MODEM 0x0000002b
-#define FILE_DEVICE_VDM 0x0000002c
-#define FILE_DEVICE_MASS_STORAGE 0x0000002d
-#define FILE_DEVICE_SMB 0x0000002e
-#define FILE_DEVICE_KS 0x0000002f
-#define FILE_DEVICE_CHANGER 0x00000030
-#define FILE_DEVICE_SMARTCARD 0x00000031
-#define FILE_DEVICE_ACPI 0x00000032
-#define FILE_DEVICE_DVD 0x00000033
-#define FILE_DEVICE_FULLSCREEN_VIDEO 0x00000034
-#define FILE_DEVICE_DFS_FILE_SYSTEM 0x00000035
-#define FILE_DEVICE_DFS_VOLUME 0x00000036
-#define FILE_DEVICE_SERENUM 0x00000037
-#define FILE_DEVICE_TERMSRV 0x00000038
-#define FILE_DEVICE_KSEC 0x00000039
-#define FILE_DEVICE_FIPS 0x0000003a
-
-typedef struct _DEVICE_OBJECT {
- CSHORT Type;
- USHORT Size;
- LONG ReferenceCount;
- struct _DRIVER_OBJECT *DriverObject;
- struct _DEVICE_OBJECT *NextDevice;
- struct _DEVICE_OBJECT *AttachedDevice;
- struct _IRP *CurrentIrp;
- PIO_TIMER Timer;
- ULONG Flags;
- ULONG Characteristics;
- PVPB Vpb;
- PVOID DeviceExtension;
- DEVICE_TYPE DeviceType;
- CCHAR StackSize;
- union {
- LIST_ENTRY ListEntry;
- WAIT_CONTEXT_BLOCK Wcb;
- } Queue;
- ULONG AlignmentRequirement;
- KDEVICE_QUEUE DeviceQueue;
- KDPC Dpc;
- ULONG ActiveThreadCount;
- PSECURITY_DESCRIPTOR SecurityDescriptor;
- KEVENT DeviceLock;
- USHORT SectorSize;
- USHORT Spare1;
- struct _DEVOBJ_EXTENSION *DeviceObjectExtension;
- PVOID Reserved;
-} DEVICE_OBJECT;
-typedef struct _DEVICE_OBJECT *PDEVICE_OBJECT;
-
-typedef enum _DEVICE_RELATION_TYPE {
- BusRelations,
- EjectionRelations,
- PowerRelations,
- RemovalRelations,
- TargetDeviceRelation,
- SingleBusRelations
-} DEVICE_RELATION_TYPE, *PDEVICE_RELATION_TYPE;
-
-typedef struct _DEVICE_RELATIONS {
- ULONG Count;
- PDEVICE_OBJECT Objects[1];
-} DEVICE_RELATIONS, *PDEVICE_RELATIONS;
-
-typedef struct _SCATTER_GATHER_ELEMENT {
- PHYSICAL_ADDRESS Address;
- ULONG Length;
- ULONG_PTR Reserved;
-} SCATTER_GATHER_ELEMENT, *PSCATTER_GATHER_ELEMENT;
-
-typedef struct _SCATTER_GATHER_LIST {
- ULONG NumberOfElements;
- ULONG_PTR Reserved;
- SCATTER_GATHER_ELEMENT Elements[0];
-} SCATTER_GATHER_LIST, *PSCATTER_GATHER_LIST;
-
-typedef struct _MDL {
- struct _MDL *Next;
- CSHORT Size;
- CSHORT MdlFlags;
- struct _EPROCESS *Process;
- PVOID MappedSystemVa;
- PVOID StartVa;
- ULONG ByteCount;
- ULONG ByteOffset;
-} MDL, *PMDL;
-
-#define MDL_MAPPED_TO_SYSTEM_VA 0x0001
-#define MDL_PAGES_LOCKED 0x0002
-#define MDL_SOURCE_IS_NONPAGED_POOL 0x0004
-#define MDL_ALLOCATED_FIXED_SIZE 0x0008
-#define MDL_PARTIAL 0x0010
-#define MDL_PARTIAL_HAS_BEEN_MAPPED 0x0020
-#define MDL_IO_PAGE_READ 0x0040
-#define MDL_WRITE_OPERATION 0x0080
-#define MDL_PARENT_MAPPED_SYSTEM_VA 0x0100
-#define MDL_FREE_EXTRA_PTES 0x0200
-#define MDL_IO_SPACE 0x0800
-#define MDL_NETWORK_HEADER 0x1000
-#define MDL_MAPPING_CAN_FAIL 0x2000
-#define MDL_ALLOCATED_MUST_SUCCEED 0x4000
-
-#define MDL_MAPPING_FLAGS ( \
- MDL_MAPPED_TO_SYSTEM_VA | \
- MDL_PAGES_LOCKED | \
- MDL_SOURCE_IS_NONPAGED_POOL | \
- MDL_PARTIAL_HAS_BEEN_MAPPED | \
- MDL_PARENT_MAPPED_SYSTEM_VA | \
- MDL_SYSTEM_VA | \
- MDL_IO_SPACE)
-
-typedef VOID DDKAPI
-(*PPUT_DMA_ADAPTER)(
- IN PDMA_ADAPTER DmaAdapter);
-
-typedef PVOID DDKAPI
-(*PALLOCATE_COMMON_BUFFER)(
- IN PDMA_ADAPTER DmaAdapter,
- IN ULONG Length,
- OUT PPHYSICAL_ADDRESS LogicalAddress,
- IN BOOLEAN CacheEnabled);
-
-typedef VOID DDKAPI
-(*PFREE_COMMON_BUFFER)(
- IN PDMA_ADAPTER DmaAdapter,
- IN ULONG Length,
- IN PHYSICAL_ADDRESS LogicalAddress,
- IN PVOID VirtualAddress,
- IN BOOLEAN CacheEnabled);
-
-typedef NTSTATUS DDKAPI
-(*PALLOCATE_ADAPTER_CHANNEL)(
- IN PDMA_ADAPTER DmaAdapter,
- IN PDEVICE_OBJECT DeviceObject,
- IN ULONG NumberOfMapRegisters,
- IN PDRIVER_CONTROL ExecutionRoutine,
- IN PVOID Context);
-
-typedef BOOLEAN DDKAPI
-(*PFLUSH_ADAPTER_BUFFERS)(
- IN PDMA_ADAPTER DmaAdapter,
- IN PMDL Mdl,
- IN PVOID MapRegisterBase,
- IN PVOID CurrentVa,
- IN ULONG Length,
- IN BOOLEAN WriteToDevice);
-
-typedef VOID DDKAPI
-(*PFREE_ADAPTER_CHANNEL)(
- IN PDMA_ADAPTER DmaAdapter);
-
-typedef VOID DDKAPI
-(*PFREE_MAP_REGISTERS)(
- IN PDMA_ADAPTER DmaAdapter,
- PVOID MapRegisterBase,
- ULONG NumberOfMapRegisters);
-
-typedef PHYSICAL_ADDRESS DDKAPI
-(*PMAP_TRANSFER)(
- IN PDMA_ADAPTER DmaAdapter,
- IN PMDL Mdl,
- IN PVOID MapRegisterBase,
- IN PVOID CurrentVa,
- IN OUT PULONG Length,
- IN BOOLEAN WriteToDevice);
-
-typedef ULONG DDKAPI
-(*PGET_DMA_ALIGNMENT)(
- IN PDMA_ADAPTER DmaAdapter);
-
-typedef ULONG DDKAPI
-(*PREAD_DMA_COUNTER)(
- IN PDMA_ADAPTER DmaAdapter);
-
-typedef NTSTATUS DDKAPI
-(*PGET_SCATTER_GATHER_LIST)(
- IN PDMA_ADAPTER DmaAdapter,
- IN PDEVICE_OBJECT DeviceObject,
- IN PMDL Mdl,
- IN PVOID CurrentVa,
- IN ULONG Length,
- IN PDRIVER_LIST_CONTROL ExecutionRoutine,
- IN PVOID Context,
- IN BOOLEAN WriteToDevice);
-
-typedef VOID DDKAPI
-(*PPUT_SCATTER_GATHER_LIST)(
- IN PDMA_ADAPTER DmaAdapter,
- IN PSCATTER_GATHER_LIST ScatterGather,
- IN BOOLEAN WriteToDevice);
-
-typedef NTSTATUS DDKAPI
-(*PCALCULATE_SCATTER_GATHER_LIST_SIZE)(
- IN PDMA_ADAPTER DmaAdapter,
- IN PMDL Mdl OPTIONAL,
- IN PVOID CurrentVa,
- IN ULONG Length,
- OUT PULONG ScatterGatherListSize,
- OUT PULONG pNumberOfMapRegisters OPTIONAL);
-
-typedef NTSTATUS DDKAPI
-(*PBUILD_SCATTER_GATHER_LIST)(
- IN PDMA_ADAPTER DmaAdapter,
- IN PDEVICE_OBJECT DeviceObject,
- IN PMDL Mdl,
- IN PVOID CurrentVa,
- IN ULONG Length,
- IN PDRIVER_LIST_CONTROL ExecutionRoutine,
- IN PVOID Context,
- IN BOOLEAN WriteToDevice,
- IN PVOID ScatterGatherBuffer,
- IN ULONG ScatterGatherLength);
-
-typedef NTSTATUS DDKAPI
-(*PBUILD_MDL_FROM_SCATTER_GATHER_LIST)(
- IN PDMA_ADAPTER DmaAdapter,
- IN PSCATTER_GATHER_LIST ScatterGather,
- IN PMDL OriginalMdl,
- OUT PMDL *TargetMdl);
-
-typedef struct _DMA_OPERATIONS {
- ULONG Size;
- PPUT_DMA_ADAPTER PutDmaAdapter;
- PALLOCATE_COMMON_BUFFER AllocateCommonBuffer;
- PFREE_COMMON_BUFFER FreeCommonBuffer;
- PALLOCATE_ADAPTER_CHANNEL AllocateAdapterChannel;
- PFLUSH_ADAPTER_BUFFERS FlushAdapterBuffers;
- PFREE_ADAPTER_CHANNEL FreeAdapterChannel;
- PFREE_MAP_REGISTERS FreeMapRegisters;
- PMAP_TRANSFER MapTransfer;
- PGET_DMA_ALIGNMENT GetDmaAlignment;
- PREAD_DMA_COUNTER ReadDmaCounter;
- PGET_SCATTER_GATHER_LIST GetScatterGatherList;
- PPUT_SCATTER_GATHER_LIST PutScatterGatherList;
- PCALCULATE_SCATTER_GATHER_LIST_SIZE CalculateScatterGatherList;
- PBUILD_SCATTER_GATHER_LIST BuildScatterGatherList;
- PBUILD_MDL_FROM_SCATTER_GATHER_LIST BuildMdlFromScatterGatherList;
-} DMA_OPERATIONS, *PDMA_OPERATIONS;
-
-typedef struct _DMA_ADAPTER {
- USHORT Version;
- USHORT Size;
- PDMA_OPERATIONS DmaOperations;
-} DMA_ADAPTER;
-
-typedef enum _FILE_INFORMATION_CLASS {
- FileDirectoryInformation = 1,
- FileFullDirectoryInformation,
- FileBothDirectoryInformation,
- FileBasicInformation,
- FileStandardInformation,
- FileInternalInformation,
- FileEaInformation,
- FileAccessInformation,
- FileNameInformation,
- FileRenameInformation,
- FileLinkInformation,
- FileNamesInformation,
- FileDispositionInformation,
- FilePositionInformation,
- FileFullEaInformation,
- FileModeInformation,
- FileAlignmentInformation,
- FileAllInformation,
- FileAllocationInformation,
- FileEndOfFileInformation,
- FileAlternateNameInformation,
- FileStreamInformation,
- FilePipeInformation,
- FilePipeLocalInformation,
- FilePipeRemoteInformation,
- FileMailslotQueryInformation,
- FileMailslotSetInformation,
- FileCompressionInformation,
- FileObjectIdInformation,
- FileCompletionInformation,
- FileMoveClusterInformation,
- FileQuotaInformation,
- FileReparsePointInformation,
- FileNetworkOpenInformation,
- FileAttributeTagInformation,
- FileTrackingInformation,
- FileIdBothDirectoryInformation,
- FileIdFullDirectoryInformation,
- FileValidDataLengthInformation,
- FileShortNameInformation,
- FileMaximumInformation
-} FILE_INFORMATION_CLASS, *PFILE_INFORMATION_CLASS;
-
-typedef struct _FILE_POSITION_INFORMATION {
- LARGE_INTEGER CurrentByteOffset;
-} FILE_POSITION_INFORMATION, *PFILE_POSITION_INFORMATION;
-
-typedef struct _FILE_ALIGNMENT_INFORMATION {
- ULONG AlignmentRequirement;
-} FILE_ALIGNMENT_INFORMATION;
-
-typedef struct _FILE_NAME_INFORMATION {
- ULONG FileNameLength;
- WCHAR FileName[1];
-} FILE_NAME_INFORMATION, *PFILE_NAME_INFORMATION;
-
-typedef struct _FILE_BASIC_INFORMATION {
- LARGE_INTEGER CreationTime;
- LARGE_INTEGER LastAccessTime;
- LARGE_INTEGER LastWriteTime;
- LARGE_INTEGER ChangeTime;
- ULONG FileAttributes;
-} FILE_BASIC_INFORMATION, *PFILE_BASIC_INFORMATION;
-
-typedef struct _FILE_STANDARD_INFORMATION {
- LARGE_INTEGER AllocationSize;
- LARGE_INTEGER EndOfFile;
- ULONG NumberOfLinks;
- BOOLEAN DeletePending;
- BOOLEAN Directory;
-} FILE_STANDARD_INFORMATION, *PFILE_STANDARD_INFORMATION;
-
-typedef struct _FILE_NETWORK_OPEN_INFORMATION {
- LARGE_INTEGER CreationTime;
- LARGE_INTEGER LastAccessTime;
- LARGE_INTEGER LastWriteTime;
- LARGE_INTEGER ChangeTime;
- LARGE_INTEGER AllocationSize;
- LARGE_INTEGER EndOfFile;
- ULONG FileAttributes;
-} FILE_NETWORK_OPEN_INFORMATION, *PFILE_NETWORK_OPEN_INFORMATION;
-
-typedef struct _FILE_ATTRIBUTE_TAG_INFORMATION {
- ULONG FileAttributes;
- ULONG ReparseTag;
-} FILE_ATTRIBUTE_TAG_INFORMATION, *PFILE_ATTRIBUTE_TAG_INFORMATION;
-
-typedef struct _FILE_DISPOSITION_INFORMATION {
- BOOLEAN DoDeleteFile;
-} FILE_DISPOSITION_INFORMATION, *PFILE_DISPOSITION_INFORMATION;
-
-typedef struct _FILE_END_OF_FILE_INFORMATION {
- LARGE_INTEGER EndOfFile;
-} FILE_END_OF_FILE_INFORMATION, *PFILE_END_OF_FILE_INFORMATION;
-
-typedef struct _FILE_VALID_DATA_LENGTH_INFORMATION {
- LARGE_INTEGER ValidDataLength;
-} FILE_VALID_DATA_LENGTH_INFORMATION, *PFILE_VALID_DATA_LENGTH_INFORMATION;
-
-typedef enum _FSINFOCLASS {
- FileFsVolumeInformation = 1,
- FileFsLabelInformation,
- FileFsSizeInformation,
- FileFsDeviceInformation,
- FileFsAttributeInformation,
- FileFsControlInformation,
- FileFsFullSizeInformation,
- FileFsObjectIdInformation,
- FileFsDriverPathInformation,
- FileFsMaximumInformation
-} FS_INFORMATION_CLASS, *PFS_INFORMATION_CLASS;
-
-typedef struct _FILE_FS_DEVICE_INFORMATION {
- DEVICE_TYPE DeviceType;
- ULONG Characteristics;
-} FILE_FS_DEVICE_INFORMATION, *PFILE_FS_DEVICE_INFORMATION;
-
-typedef struct _FILE_FULL_EA_INFORMATION {
- ULONG NextEntryOffset;
- UCHAR Flags;
- UCHAR EaNameLength;
- USHORT EaValueLength;
- CHAR EaName[1];
-} FILE_FULL_EA_INFORMATION, *PFILE_FULL_EA_INFORMATION;
-
-typedef ULONG_PTR ERESOURCE_THREAD;
-typedef ERESOURCE_THREAD *PERESOURCE_THREAD;
-
-typedef struct _OWNER_ENTRY {
- ERESOURCE_THREAD OwnerThread;
- _ANONYMOUS_UNION union {
- LONG OwnerCount;
- ULONG TableSize;
- } DUMMYUNIONNAME;
-} OWNER_ENTRY, *POWNER_ENTRY;
-
-/* ERESOURCE.Flag */
-
-#define ResourceNeverExclusive 0x0010
-#define ResourceReleaseByOtherThread 0x0020
-#define ResourceOwnedExclusive 0x0080
-
-#define RESOURCE_HASH_TABLE_SIZE 64
-
-typedef struct _ERESOURCE {
- LIST_ENTRY SystemResourcesList;
- POWNER_ENTRY OwnerTable;
- SHORT ActiveCount;
- USHORT Flag;
- PKSEMAPHORE SharedWaiters;
- PKEVENT ExclusiveWaiters;
- OWNER_ENTRY OwnerThreads[2];
- ULONG ContentionCount;
- USHORT NumberOfSharedWaiters;
- USHORT NumberOfExclusiveWaiters;
- _ANONYMOUS_UNION union {
- PVOID Address;
- ULONG_PTR CreatorBackTraceIndex;
- } DUMMYUNIONNAME;
- KSPIN_LOCK SpinLock;
-} ERESOURCE, *PERESOURCE;
-
-/* NOTE: PVOID for methods to avoid 'assignment from incompatible pointer type' warning */
-typedef struct _DRIVER_EXTENSION {
- struct _DRIVER_OBJECT *DriverObject;
- PVOID AddDevice;
- ULONG Count;
- UNICODE_STRING ServiceKeyName;
-} DRIVER_EXTENSION, *PDRIVER_EXTENSION;
-
-typedef BOOLEAN DDKAPI
-(*PFAST_IO_CHECK_IF_POSSIBLE)(
- IN struct _FILE_OBJECT *FileObject,
- IN PLARGE_INTEGER FileOffset,
- IN ULONG Length,
- IN BOOLEAN Wait,
- IN ULONG LockKey,
- IN BOOLEAN CheckForReadOperation,
- OUT PIO_STATUS_BLOCK IoStatus,
- IN struct _DEVICE_OBJECT *DeviceObject);
-
-typedef BOOLEAN DDKAPI
-(*PFAST_IO_READ)(
- IN struct _FILE_OBJECT *FileObject,
- IN PLARGE_INTEGER FileOffset,
- IN ULONG Length,
- IN BOOLEAN Wait,
- IN ULONG LockKey,
- OUT PVOID Buffer,
- OUT PIO_STATUS_BLOCK IoStatus,
- IN struct _DEVICE_OBJECT *DeviceObject);
-
-typedef BOOLEAN DDKAPI
-(*PFAST_IO_WRITE)(
- IN struct _FILE_OBJECT *FileObject,
- IN PLARGE_INTEGER FileOffset,
- IN ULONG Length,
- IN BOOLEAN Wait,
- IN ULONG LockKey,
- IN PVOID Buffer,
- OUT PIO_STATUS_BLOCK IoStatus,
- IN struct _DEVICE_OBJECT *DeviceObject);
-
-typedef BOOLEAN DDKAPI
-(*PFAST_IO_QUERY_BASIC_INFO)(
- IN struct _FILE_OBJECT *FileObject,
- IN BOOLEAN Wait,
- OUT PFILE_BASIC_INFORMATION Buffer,
- OUT PIO_STATUS_BLOCK IoStatus,
- IN struct _DEVICE_OBJECT *DeviceObject);
-
-typedef BOOLEAN DDKAPI
-(*PFAST_IO_QUERY_STANDARD_INFO)(
- IN struct _FILE_OBJECT *FileObject,
- IN BOOLEAN Wait,
- OUT PFILE_STANDARD_INFORMATION Buffer,
- OUT PIO_STATUS_BLOCK IoStatus,
- IN struct _DEVICE_OBJECT *DeviceObject);
-
-typedef BOOLEAN DDKAPI
-(*PFAST_IO_LOCK)(
- IN struct _FILE_OBJECT *FileObject,
- IN PLARGE_INTEGER FileOffset,
- IN PLARGE_INTEGER Length,
- PEPROCESS ProcessId,
- ULONG Key,
- BOOLEAN FailImmediately,
- BOOLEAN ExclusiveLock,
- OUT PIO_STATUS_BLOCK IoStatus,
- IN struct _DEVICE_OBJECT *DeviceObject);
-
-typedef BOOLEAN DDKAPI
-(*PFAST_IO_UNLOCK_SINGLE)(
- IN struct _FILE_OBJECT *FileObject,
- IN PLARGE_INTEGER FileOffset,
- IN PLARGE_INTEGER Length,
- PEPROCESS ProcessId,
- ULONG Key,
- OUT PIO_STATUS_BLOCK IoStatus,
- IN struct _DEVICE_OBJECT *DeviceObject);
-
-typedef BOOLEAN DDKAPI
-(*PFAST_IO_UNLOCK_ALL)(
- IN struct _FILE_OBJECT *FileObject,
- PEPROCESS ProcessId,
- OUT PIO_STATUS_BLOCK IoStatus,
- IN struct _DEVICE_OBJECT *DeviceObject);
-
-typedef BOOLEAN DDKAPI
-(*PFAST_IO_UNLOCK_ALL_BY_KEY)(
- IN struct _FILE_OBJECT *FileObject,
- PVOID ProcessId,
- ULONG Key,
- OUT PIO_STATUS_BLOCK IoStatus,
- IN struct _DEVICE_OBJECT *DeviceObject);
-
-typedef BOOLEAN DDKAPI
-(*PFAST_IO_DEVICE_CONTROL)(
- IN struct _FILE_OBJECT *FileObject,
- IN BOOLEAN Wait,
- IN PVOID InputBuffer OPTIONAL,
- IN ULONG InputBufferLength,
- OUT PVOID OutputBuffer OPTIONAL,
- IN ULONG OutputBufferLength,
- IN ULONG IoControlCode,
- OUT PIO_STATUS_BLOCK IoStatus,
- IN struct _DEVICE_OBJECT *DeviceObject);
-
-typedef VOID DDKAPI
-(*PFAST_IO_ACQUIRE_FILE)(
- IN struct _FILE_OBJECT *FileObject);
-
-typedef VOID DDKAPI
-(*PFAST_IO_RELEASE_FILE)(
- IN struct _FILE_OBJECT *FileObject);
-
-typedef VOID DDKAPI
-(*PFAST_IO_DETACH_DEVICE)(
- IN struct _DEVICE_OBJECT *SourceDevice,
- IN struct _DEVICE_OBJECT *TargetDevice);
-
-typedef BOOLEAN DDKAPI
-(*PFAST_IO_QUERY_NETWORK_OPEN_INFO)(
- IN struct _FILE_OBJECT *FileObject,
- IN BOOLEAN Wait,
- OUT struct _FILE_NETWORK_OPEN_INFORMATION *Buffer,
- OUT struct _IO_STATUS_BLOCK *IoStatus,
- IN struct _DEVICE_OBJECT *DeviceObject);
-
-typedef NTSTATUS DDKAPI
-(*PFAST_IO_ACQUIRE_FOR_MOD_WRITE)(
- IN struct _FILE_OBJECT *FileObject,
- IN PLARGE_INTEGER EndingOffset,
- OUT struct _ERESOURCE **ResourceToRelease,
- IN struct _DEVICE_OBJECT *DeviceObject);
-
-typedef BOOLEAN DDKAPI
-(*PFAST_IO_MDL_READ)(
- IN struct _FILE_OBJECT *FileObject,
- IN PLARGE_INTEGER FileOffset,
- IN ULONG Length,
- IN ULONG LockKey,
- OUT PMDL *MdlChain,
- OUT PIO_STATUS_BLOCK IoStatus,
- IN struct _DEVICE_OBJECT *DeviceObject);
-
-typedef BOOLEAN DDKAPI
-(*PFAST_IO_MDL_READ_COMPLETE)(
- IN struct _FILE_OBJECT *FileObject,
- IN PMDL MdlChain,
- IN struct _DEVICE_OBJECT *DeviceObject);
-
-typedef BOOLEAN DDKAPI
-(*PFAST_IO_PREPARE_MDL_WRITE)(
- IN struct _FILE_OBJECT *FileObject,
- IN PLARGE_INTEGER FileOffset,
- IN ULONG Length,
- IN ULONG LockKey,
- OUT PMDL *MdlChain,
- OUT PIO_STATUS_BLOCK IoStatus,
- IN struct _DEVICE_OBJECT *DeviceObject);
-
-typedef BOOLEAN DDKAPI
-(*PFAST_IO_MDL_WRITE_COMPLETE)(
- IN struct _FILE_OBJECT *FileObject,
- IN PLARGE_INTEGER FileOffset,
- IN PMDL MdlChain,
- IN struct _DEVICE_OBJECT *DeviceObject);
-
-typedef BOOLEAN DDKAPI
-(*PFAST_IO_READ_COMPRESSED)(
- IN struct _FILE_OBJECT *FileObject,
- IN PLARGE_INTEGER FileOffset,
- IN ULONG Length,
- IN ULONG LockKey,
- OUT PVOID Buffer,
- OUT PMDL *MdlChain,
- OUT PIO_STATUS_BLOCK IoStatus,
- OUT struct _COMPRESSED_DATA_INFO *CompressedDataInfo,
- IN ULONG CompressedDataInfoLength,
- IN struct _DEVICE_OBJECT *DeviceObject);
-
-typedef BOOLEAN DDKAPI
-(*PFAST_IO_WRITE_COMPRESSED)(
- IN struct _FILE_OBJECT *FileObject,
- IN PLARGE_INTEGER FileOffset,
- IN ULONG Length,
- IN ULONG LockKey,
- IN PVOID Buffer,
- OUT PMDL *MdlChain,
- OUT PIO_STATUS_BLOCK IoStatus,
- IN struct _COMPRESSED_DATA_INFO *CompressedDataInfo,
- IN ULONG CompressedDataInfoLength,
- IN struct _DEVICE_OBJECT *DeviceObject);
-
-typedef BOOLEAN DDKAPI
-(*PFAST_IO_MDL_READ_COMPLETE_COMPRESSED)(
- IN struct _FILE_OBJECT *FileObject,
- IN PMDL MdlChain,
- IN struct _DEVICE_OBJECT *DeviceObject);
-
-typedef BOOLEAN DDKAPI
-(*PFAST_IO_MDL_WRITE_COMPLETE_COMPRESSED)(
- IN struct _FILE_OBJECT *FileObject,
- IN PLARGE_INTEGER FileOffset,
- IN PMDL MdlChain,
- IN struct _DEVICE_OBJECT *DeviceObject);
-
-typedef BOOLEAN DDKAPI
-(*PFAST_IO_QUERY_OPEN)(
- IN struct _IRP *Irp,
- OUT PFILE_NETWORK_OPEN_INFORMATION NetworkInformation,
- IN struct _DEVICE_OBJECT *DeviceObject);
-
-typedef NTSTATUS DDKAPI
-(*PFAST_IO_RELEASE_FOR_MOD_WRITE)(
- IN struct _FILE_OBJECT *FileObject,
- IN struct _ERESOURCE *ResourceToRelease,
- IN struct _DEVICE_OBJECT *DeviceObject);
-
-typedef NTSTATUS DDKAPI
-(*PFAST_IO_ACQUIRE_FOR_CCFLUSH)(
- IN struct _FILE_OBJECT *FileObject,
- IN struct _DEVICE_OBJECT *DeviceObject);
-
-typedef NTSTATUS DDKAPI
-(*PFAST_IO_RELEASE_FOR_CCFLUSH) (
- IN struct _FILE_OBJECT *FileObject,
- IN struct _DEVICE_OBJECT *DeviceObject);
-
-typedef struct _FAST_IO_DISPATCH {
- ULONG SizeOfFastIoDispatch;
- PFAST_IO_CHECK_IF_POSSIBLE FastIoCheckIfPossible;
- PFAST_IO_READ FastIoRead;
- PFAST_IO_WRITE FastIoWrite;
- PFAST_IO_QUERY_BASIC_INFO FastIoQueryBasicInfo;
- PFAST_IO_QUERY_STANDARD_INFO FastIoQueryStandardInfo;
- PFAST_IO_LOCK FastIoLock;
- PFAST_IO_UNLOCK_SINGLE FastIoUnlockSingle;
- PFAST_IO_UNLOCK_ALL FastIoUnlockAll;
- PFAST_IO_UNLOCK_ALL_BY_KEY FastIoUnlockAllByKey;
- PFAST_IO_DEVICE_CONTROL FastIoDeviceControl;
- PFAST_IO_ACQUIRE_FILE AcquireFileForNtCreateSection;
- PFAST_IO_RELEASE_FILE ReleaseFileForNtCreateSection;
- PFAST_IO_DETACH_DEVICE FastIoDetachDevice;
- PFAST_IO_QUERY_NETWORK_OPEN_INFO FastIoQueryNetworkOpenInfo;
- PFAST_IO_ACQUIRE_FOR_MOD_WRITE AcquireForModWrite;
- PFAST_IO_MDL_READ MdlRead;
- PFAST_IO_MDL_READ_COMPLETE MdlReadComplete;
- PFAST_IO_PREPARE_MDL_WRITE PrepareMdlWrite;
- PFAST_IO_MDL_WRITE_COMPLETE MdlWriteComplete;
- PFAST_IO_READ_COMPRESSED FastIoReadCompressed;
- PFAST_IO_WRITE_COMPRESSED FastIoWriteCompressed;
- PFAST_IO_MDL_READ_COMPLETE_COMPRESSED MdlReadCompleteCompressed;
- PFAST_IO_MDL_WRITE_COMPLETE_COMPRESSED MdlWriteCompleteCompressed;
- PFAST_IO_QUERY_OPEN FastIoQueryOpen;
- PFAST_IO_RELEASE_FOR_MOD_WRITE ReleaseForModWrite;
- PFAST_IO_ACQUIRE_FOR_CCFLUSH AcquireForCcFlush;
- PFAST_IO_RELEASE_FOR_CCFLUSH ReleaseForCcFlush;
-} FAST_IO_DISPATCH, *PFAST_IO_DISPATCH;
-
-typedef struct _DRIVER_OBJECT {
- CSHORT Type;
- CSHORT Size;
- PDEVICE_OBJECT DeviceObject;
- ULONG Flags;
- PVOID DriverStart;
- ULONG DriverSize;
- PVOID DriverSection;
- PDRIVER_EXTENSION DriverExtension;
- UNICODE_STRING DriverName;
- PUNICODE_STRING HardwareDatabase;
- PFAST_IO_DISPATCH FastIoDispatch;
- PDRIVER_INITIALIZE DriverInit;
- PDRIVER_STARTIO DriverStartIo;
- PDRIVER_UNLOAD DriverUnload;
- PDRIVER_DISPATCH MajorFunction[IRP_MJ_MAXIMUM_FUNCTION + 1];
-} DRIVER_OBJECT;
-typedef struct _DRIVER_OBJECT *PDRIVER_OBJECT;
-
-typedef struct _SECTION_OBJECT_POINTERS {
- PVOID DataSectionObject;
- PVOID SharedCacheMap;
- PVOID ImageSectionObject;
-} SECTION_OBJECT_POINTERS, *PSECTION_OBJECT_POINTERS;
-
-typedef struct _IO_COMPLETION_CONTEXT {
- PVOID Port;
- PVOID Key;
-} IO_COMPLETION_CONTEXT, *PIO_COMPLETION_CONTEXT;
-
-/* FILE_OBJECT.Flags */
-
-#define FO_FILE_OPEN 0x00000001
-#define FO_SYNCHRONOUS_IO 0x00000002
-#define FO_ALERTABLE_IO 0x00000004
-#define FO_NO_INTERMEDIATE_BUFFERING 0x00000008
-#define FO_WRITE_THROUGH 0x00000010
-#define FO_SEQUENTIAL_ONLY 0x00000020
-#define FO_CACHE_SUPPORTED 0x00000040
-#define FO_NAMED_PIPE 0x00000080
-#define FO_STREAM_FILE 0x00000100
-#define FO_MAILSLOT 0x00000200
-#define FO_GENERATE_AUDIT_ON_CLOSE 0x00000400
-#define FO_DIRECT_DEVICE_OPEN 0x00000800
-#define FO_FILE_MODIFIED 0x00001000
-#define FO_FILE_SIZE_CHANGED 0x00002000
-#define FO_CLEANUP_COMPLETE 0x00004000
-#define FO_TEMPORARY_FILE 0x00008000
-#define FO_DELETE_ON_CLOSE 0x00010000
-#define FO_OPENED_CASE_SENSITIVE 0x00020000
-#define FO_HANDLE_CREATED 0x00040000
-#define FO_FILE_FAST_IO_READ 0x00080000
-#define FO_RANDOM_ACCESS 0x00100000
-#define FO_FILE_OPEN_CANCELLED 0x00200000
-#define FO_VOLUME_OPEN 0x00400000
-#define FO_FILE_OBJECT_HAS_EXTENSION 0x00800000
-#define FO_REMOTE_ORIGIN 0x01000000
-
-typedef struct _FILE_OBJECT {
- CSHORT Type;
- CSHORT Size;
- PDEVICE_OBJECT DeviceObject;
- PVPB Vpb;
- PVOID FsContext;
- PVOID FsContext2;
- PSECTION_OBJECT_POINTERS SectionObjectPointer;
- PVOID PrivateCacheMap;
- NTSTATUS FinalStatus;
- struct _FILE_OBJECT *RelatedFileObject;
- BOOLEAN LockOperation;
- BOOLEAN DeletePending;
- BOOLEAN ReadAccess;
- BOOLEAN WriteAccess;
- BOOLEAN DeleteAccess;
- BOOLEAN SharedRead;
- BOOLEAN SharedWrite;
- BOOLEAN SharedDelete;
- ULONG Flags;
- UNICODE_STRING FileName;
- LARGE_INTEGER CurrentByteOffset;
- ULONG Waiters;
- ULONG Busy;
- PVOID LastLock;
- KEVENT Lock;
- KEVENT Event;
- PIO_COMPLETION_CONTEXT CompletionContext;
-} FILE_OBJECT;
-typedef struct _FILE_OBJECT *PFILE_OBJECT;
-
-typedef enum _SECURITY_OPERATION_CODE {
- SetSecurityDescriptor,
- QuerySecurityDescriptor,
- DeleteSecurityDescriptor,
- AssignSecurityDescriptor
-} SECURITY_OPERATION_CODE, *PSECURITY_OPERATION_CODE;
-
-#define INITIAL_PRIVILEGE_COUNT 3
-
-typedef struct _INITIAL_PRIVILEGE_SET {
- ULONG PrivilegeCount;
- ULONG Control;
- LUID_AND_ATTRIBUTES Privilege[INITIAL_PRIVILEGE_COUNT];
-} INITIAL_PRIVILEGE_SET, * PINITIAL_PRIVILEGE_SET;
-
-typedef struct _SECURITY_SUBJECT_CONTEXT {
- PACCESS_TOKEN ClientToken;
- SECURITY_IMPERSONATION_LEVEL ImpersonationLevel;
- PACCESS_TOKEN PrimaryToken;
- PVOID ProcessAuditId;
-} SECURITY_SUBJECT_CONTEXT, *PSECURITY_SUBJECT_CONTEXT;
-
-#include <pshpack4.h>
-typedef struct _ACCESS_STATE {
- LUID OperationID;
- BOOLEAN SecurityEvaluated;
- BOOLEAN GenerateAudit;
- BOOLEAN GenerateOnClose;
- BOOLEAN PrivilegesAllocated;
- ULONG Flags;
- ACCESS_MASK RemainingDesiredAccess;
- ACCESS_MASK PreviouslyGrantedAccess;
- ACCESS_MASK OriginalDesiredAccess;
- SECURITY_SUBJECT_CONTEXT SubjectSecurityContext;
- PSECURITY_DESCRIPTOR SecurityDescriptor;
- PVOID AuxData;
- union {
- INITIAL_PRIVILEGE_SET InitialPrivilegeSet;
- PRIVILEGE_SET PrivilegeSet;
- } Privileges;
-
- BOOLEAN AuditPrivileges;
- UNICODE_STRING ObjectName;
- UNICODE_STRING ObjectTypeName;
-} ACCESS_STATE, *PACCESS_STATE;
-#include <poppack.h>
-
-typedef struct _IO_SECURITY_CONTEXT {
- PSECURITY_QUALITY_OF_SERVICE SecurityQos;
- PACCESS_STATE AccessState;
- ACCESS_MASK DesiredAccess;
- ULONG FullCreateOptions;
-} IO_SECURITY_CONTEXT, *PIO_SECURITY_CONTEXT;
-
-struct _IO_CSQ;
-
-typedef struct _IO_CSQ_IRP_CONTEXT {
- ULONG Type;
- struct _IRP *Irp;
- struct _IO_CSQ *Csq;
-} IO_CSQ_IRP_CONTEXT, *PIO_CSQ_IRP_CONTEXT;
-
-typedef VOID DDKAPI
-(*PIO_CSQ_INSERT_IRP)(
- IN struct _IO_CSQ *Csq,
- IN PIRP Irp);
-
-typedef VOID DDKAPI
-(*PIO_CSQ_REMOVE_IRP)(
- IN struct _IO_CSQ *Csq,
- IN PIRP Irp);
-
-typedef PIRP DDKAPI
-(*PIO_CSQ_PEEK_NEXT_IRP)(
- IN struct _IO_CSQ *Csq,
- IN PIRP Irp,
- IN PVOID PeekContext);
-
-typedef VOID DDKAPI
-(*PIO_CSQ_ACQUIRE_LOCK)(
- IN struct _IO_CSQ *Csq,
- OUT PKIRQL Irql);
-
-typedef VOID DDKAPI
-(*PIO_CSQ_RELEASE_LOCK)(
- IN struct _IO_CSQ *Csq,
- IN KIRQL Irql);
-
-typedef VOID DDKAPI
-(*PIO_CSQ_COMPLETE_CANCELED_IRP)(
- IN struct _IO_CSQ *Csq,
- IN PIRP Irp);
-
-typedef struct _IO_CSQ {
- ULONG Type;
- PIO_CSQ_INSERT_IRP CsqInsertIrp;
- PIO_CSQ_REMOVE_IRP CsqRemoveIrp;
- PIO_CSQ_PEEK_NEXT_IRP CsqPeekNextIrp;
- PIO_CSQ_ACQUIRE_LOCK CsqAcquireLock;
- PIO_CSQ_RELEASE_LOCK CsqReleaseLock;
- PIO_CSQ_COMPLETE_CANCELED_IRP CsqCompleteCanceledIrp;
- PVOID ReservePointer;
-} IO_CSQ, *PIO_CSQ;
-
-#include <pshpack4.h>
-typedef struct _IO_STACK_LOCATION {
- UCHAR MajorFunction;
- UCHAR MinorFunction;
- UCHAR Flags;
- UCHAR Control;
- union {
- struct {
- PIO_SECURITY_CONTEXT SecurityContext;
- ULONG Options;
- USHORT POINTER_ALIGNMENT FileAttributes;
- USHORT ShareAccess;
- ULONG POINTER_ALIGNMENT EaLength;
- } Create;
- struct {
- ULONG Length;
- ULONG POINTER_ALIGNMENT Key;
- LARGE_INTEGER ByteOffset;
- } Read;
- struct {
- ULONG Length;
- ULONG POINTER_ALIGNMENT Key;
- LARGE_INTEGER ByteOffset;
- } Write;
- struct {
- ULONG Length;
- FILE_INFORMATION_CLASS POINTER_ALIGNMENT FileInformationClass;
- } QueryFile;
- struct {
- ULONG Length;
- FILE_INFORMATION_CLASS POINTER_ALIGNMENT FileInformationClass;
- PFILE_OBJECT FileObject;
- _ANONYMOUS_UNION union {
- _ANONYMOUS_STRUCT struct {
- BOOLEAN ReplaceIfExists;
- BOOLEAN AdvanceOnly;
- } DUMMYSTRUCTNAME;
- ULONG ClusterCount;
- HANDLE DeleteHandle;
- } DUMMYUNIONNAME;
- } SetFile;
- struct {
- ULONG Length;
- FS_INFORMATION_CLASS POINTER_ALIGNMENT FsInformationClass;
- } QueryVolume;
- struct {
- ULONG OutputBufferLength;
- ULONG POINTER_ALIGNMENT InputBufferLength;
- ULONG POINTER_ALIGNMENT IoControlCode;
- PVOID Type3InputBuffer;
- } DeviceIoControl;
- struct {
- SECURITY_INFORMATION SecurityInformation;
- ULONG POINTER_ALIGNMENT Length;
- } QuerySecurity;
- struct {
- SECURITY_INFORMATION SecurityInformation;
- PSECURITY_DESCRIPTOR SecurityDescriptor;
- } SetSecurity;
- struct {
- PVPB Vpb;
- PDEVICE_OBJECT DeviceObject;
- } MountVolume;
- struct {
- PVPB Vpb;
- PDEVICE_OBJECT DeviceObject;
- } VerifyVolume;
- struct {
- struct _SCSI_REQUEST_BLOCK *Srb;
- } Scsi;
- struct {
- DEVICE_RELATION_TYPE Type;
- } QueryDeviceRelations;
- struct {
- CONST GUID *InterfaceType;
- USHORT Size;
- USHORT Version;
- PINTERFACE Interface;
- PVOID InterfaceSpecificData;
- } QueryInterface;
- struct {
- PDEVICE_CAPABILITIES Capabilities;
- } DeviceCapabilities;
- struct {
- PIO_RESOURCE_REQUIREMENTS_LIST IoResourceRequirementList;
- } FilterResourceRequirements;
- struct {
- ULONG WhichSpace;
- PVOID Buffer;
- ULONG Offset;
- ULONG POINTER_ALIGNMENT Length;
- } ReadWriteConfig;
- struct {
- BOOLEAN Lock;
- } SetLock;
- struct {
- BUS_QUERY_ID_TYPE IdType;
- } QueryId;
- struct {
- DEVICE_TEXT_TYPE DeviceTextType;
- LCID POINTER_ALIGNMENT LocaleId;
- } QueryDeviceText;
- struct {
- BOOLEAN InPath;
- BOOLEAN Reserved[3];
- DEVICE_USAGE_NOTIFICATION_TYPE POINTER_ALIGNMENT Type;
- } UsageNotification;
- struct {
- SYSTEM_POWER_STATE PowerState;
- } WaitWake;
- struct {
- PPOWER_SEQUENCE PowerSequence;
- } PowerSequence;
- struct {
- ULONG SystemContext;
- POWER_STATE_TYPE POINTER_ALIGNMENT Type;
- POWER_STATE POINTER_ALIGNMENT State;
- POWER_ACTION POINTER_ALIGNMENT ShutdownType;
- } Power;
- struct {
- PCM_RESOURCE_LIST AllocatedResources;
- PCM_RESOURCE_LIST AllocatedResourcesTranslated;
- } StartDevice;
- struct {
- ULONG_PTR ProviderId;
- PVOID DataPath;
- ULONG BufferSize;
- PVOID Buffer;
- } WMI;
- struct {
- PVOID Argument1;
- PVOID Argument2;
- PVOID Argument3;
- PVOID Argument4;
- } Others;
- } Parameters;
- PDEVICE_OBJECT DeviceObject;
- PFILE_OBJECT FileObject;
- PIO_COMPLETION_ROUTINE CompletionRoutine;
- PVOID Context;
-} IO_STACK_LOCATION, *PIO_STACK_LOCATION;
-#include <poppack.h>
-
-/* IO_STACK_LOCATION.Control */
-
-#define SL_PENDING_RETURNED 0x01
-#define SL_INVOKE_ON_CANCEL 0x20
-#define SL_INVOKE_ON_SUCCESS 0x40
-#define SL_INVOKE_ON_ERROR 0x80
-
-typedef enum _KEY_INFORMATION_CLASS {
- KeyBasicInformation,
- KeyNodeInformation,
- KeyFullInformation,
- KeyNameInformation,
- KeyCachedInformation,
- KeyFlagsInformation
-} KEY_INFORMATION_CLASS;
-
-typedef struct _KEY_BASIC_INFORMATION {
- LARGE_INTEGER LastWriteTime;
- ULONG TitleIndex;
- ULONG NameLength;
- WCHAR Name[1];
-} KEY_BASIC_INFORMATION, *PKEY_BASIC_INFORMATION;
-
-typedef struct _KEY_FULL_INFORMATION {
- LARGE_INTEGER LastWriteTime;
- ULONG TitleIndex;
- ULONG ClassOffset;
- ULONG ClassLength;
- ULONG SubKeys;
- ULONG MaxNameLen;
- ULONG MaxClassLen;
- ULONG Values;
- ULONG MaxValueNameLen;
- ULONG MaxValueDataLen;
- WCHAR Class[1];
-} KEY_FULL_INFORMATION, *PKEY_FULL_INFORMATION;
-
-typedef struct _KEY_NODE_INFORMATION {
- LARGE_INTEGER LastWriteTime;
- ULONG TitleIndex;
- ULONG ClassOffset;
- ULONG ClassLength;
- ULONG NameLength;
- WCHAR Name[1];
-} KEY_NODE_INFORMATION, *PKEY_NODE_INFORMATION;
-
-typedef struct _KEY_VALUE_BASIC_INFORMATION {
- ULONG TitleIndex;
- ULONG Type;
- ULONG NameLength;
- WCHAR Name[1];
-} KEY_VALUE_BASIC_INFORMATION, *PKEY_VALUE_BASIC_INFORMATION;
-
-typedef struct _KEY_VALUE_FULL_INFORMATION {
- ULONG TitleIndex;
- ULONG Type;
- ULONG DataOffset;
- ULONG DataLength;
- ULONG NameLength;
- WCHAR Name[1];
-} KEY_VALUE_FULL_INFORMATION, *PKEY_VALUE_FULL_INFORMATION;
-
-typedef struct _KEY_VALUE_PARTIAL_INFORMATION {
- ULONG TitleIndex;
- ULONG Type;
- ULONG DataLength;
- UCHAR Data[1];
-} KEY_VALUE_PARTIAL_INFORMATION, *PKEY_VALUE_PARTIAL_INFORMATION;
-
-typedef struct _KEY_VALUE_PARTIAL_INFORMATION_ALIGN64 {
- ULONG Type;
- ULONG DataLength;
- UCHAR Data[1];
-} KEY_VALUE_PARTIAL_INFORMATION_ALIGN64, *PKEY_VALUE_PARTIAL_INFORMATION_ALIGN64;
-
-typedef struct _KEY_VALUE_ENTRY {
- PUNICODE_STRING ValueName;
- ULONG DataLength;
- ULONG DataOffset;
- ULONG Type;
-} KEY_VALUE_ENTRY, *PKEY_VALUE_ENTRY;
-
-typedef enum _KEY_VALUE_INFORMATION_CLASS {
- KeyValueBasicInformation,
- KeyValueFullInformation,
- KeyValuePartialInformation,
- KeyValueFullInformationAlign64,
- KeyValuePartialInformationAlign64
-} KEY_VALUE_INFORMATION_CLASS;
-
-/* KEY_VALUE_Xxx.Type */
-
-#define REG_NONE 0
-#define REG_SZ 1
-#define REG_EXPAND_SZ 2
-#define REG_BINARY 3
-#define REG_DWORD 4
-#define REG_DWORD_LITTLE_ENDIAN 4
-#define REG_DWORD_BIG_ENDIAN 5
-#define REG_LINK 6
-#define REG_MULTI_SZ 7
-#define REG_RESOURCE_LIST 8
-#define REG_FULL_RESOURCE_DESCRIPTOR 9
-#define REG_RESOURCE_REQUIREMENTS_LIST 10
-#define REG_QWORD 11
-#define REG_QWORD_LITTLE_ENDIAN 11
-
-#define PCI_TYPE0_ADDRESSES 6
-#define PCI_TYPE1_ADDRESSES 2
-#define PCI_TYPE2_ADDRESSES 5
-
-typedef struct _PCI_COMMON_CONFIG {
- USHORT VendorID;
- USHORT DeviceID;
- USHORT Command;
- USHORT Status;
- UCHAR RevisionID;
- UCHAR ProgIf;
- UCHAR SubClass;
- UCHAR BaseClass;
- UCHAR CacheLineSize;
- UCHAR LatencyTimer;
- UCHAR HeaderType;
- UCHAR BIST;
- union {
- struct _PCI_HEADER_TYPE_0 {
- ULONG BaseAddresses[PCI_TYPE0_ADDRESSES];
- ULONG CIS;
- USHORT SubVendorID;
- USHORT SubSystemID;
- ULONG ROMBaseAddress;
- UCHAR CapabilitiesPtr;
- UCHAR Reserved1[3];
- ULONG Reserved2;
- UCHAR InterruptLine;
- UCHAR InterruptPin;
- UCHAR MinimumGrant;
- UCHAR MaximumLatency;
- } type0;
- struct _PCI_HEADER_TYPE_1 {
- ULONG BaseAddresses[PCI_TYPE1_ADDRESSES];
- UCHAR PrimaryBus;
- UCHAR SecondaryBus;
- UCHAR SubordinateBus;
- UCHAR SecondaryLatency;
- UCHAR IOBase;
- UCHAR IOLimit;
- USHORT SecondaryStatus;
- USHORT MemoryBase;
- USHORT MemoryLimit;
- USHORT PrefetchBase;
- USHORT PrefetchLimit;
- ULONG PrefetchBaseUpper32;
- ULONG PrefetchLimitUpper32;
- USHORT IOBaseUpper16;
- USHORT IOLimitUpper16;
- UCHAR CapabilitiesPtr;
- UCHAR Reserved1[3];
- ULONG ROMBaseAddress;
- UCHAR InterruptLine;
- UCHAR InterruptPin;
- USHORT BridgeControl;
- } type1;
- struct _PCI_HEADER_TYPE_2 {
- ULONG SocketRegistersBaseAddress;
- UCHAR CapabilitiesPtr;
- UCHAR Reserved;
- USHORT SecondaryStatus;
- UCHAR PrimaryBus;
- UCHAR SecondaryBus;
- UCHAR SubordinateBus;
- UCHAR SecondaryLatency;
- struct {
- ULONG Base;
- ULONG Limit;
- } Range[PCI_TYPE2_ADDRESSES - 1];
- UCHAR InterruptLine;
- UCHAR InterruptPin;
- USHORT BridgeControl;
- } type2;
- } u;
- UCHAR DeviceSpecific[192];
-} PCI_COMMON_CONFIG, *PPCI_COMMON_CONFIG;
-
-/* PCI_COMMON_CONFIG.Command */
-
-#define PCI_ENABLE_IO_SPACE 0x0001
-#define PCI_ENABLE_MEMORY_SPACE 0x0002
-#define PCI_ENABLE_BUS_MASTER 0x0004
-#define PCI_ENABLE_SPECIAL_CYCLES 0x0008
-#define PCI_ENABLE_WRITE_AND_INVALIDATE 0x0010
-#define PCI_ENABLE_VGA_COMPATIBLE_PALETTE 0x0020
-#define PCI_ENABLE_PARITY 0x0040
-#define PCI_ENABLE_WAIT_CYCLE 0x0080
-#define PCI_ENABLE_SERR 0x0100
-#define PCI_ENABLE_FAST_BACK_TO_BACK 0x0200
-
-/* PCI_COMMON_CONFIG.Status */
-
-#define PCI_STATUS_CAPABILITIES_LIST 0x0010
-#define PCI_STATUS_66MHZ_CAPABLE 0x0020
-#define PCI_STATUS_UDF_SUPPORTED 0x0040
-#define PCI_STATUS_FAST_BACK_TO_BACK 0x0080
-#define PCI_STATUS_DATA_PARITY_DETECTED 0x0100
-#define PCI_STATUS_DEVSEL 0x0600
-#define PCI_STATUS_SIGNALED_TARGET_ABORT 0x0800
-#define PCI_STATUS_RECEIVED_TARGET_ABORT 0x1000
-#define PCI_STATUS_RECEIVED_MASTER_ABORT 0x2000
-#define PCI_STATUS_SIGNALED_SYSTEM_ERROR 0x4000
-#define PCI_STATUS_DETECTED_PARITY_ERROR 0x8000
-
-/* PCI_COMMON_CONFIG.HeaderType */
-
-#define PCI_MULTIFUNCTION 0x80
-#define PCI_DEVICE_TYPE 0x00
-#define PCI_BRIDGE_TYPE 0x01
-#define PCI_CARDBUS_BRIDGE_TYPE 0x02
-
-#define PCI_CONFIGURATION_TYPE(PciData) \
- (((PPCI_COMMON_CONFIG) (PciData))->HeaderType & ~PCI_MULTIFUNCTION)
-
-#define PCI_MULTIFUNCTION_DEVICE(PciData) \
- ((((PPCI_COMMON_CONFIG) (PciData))->HeaderType & PCI_MULTIFUNCTION) != 0)
-
-typedef struct _PCI_SLOT_NUMBER {
- union {
- struct {
- ULONG DeviceNumber : 5;
- ULONG FunctionNumber : 3;
- ULONG Reserved : 24;
- } bits;
- ULONG AsULONG;
- } u;
-} PCI_SLOT_NUMBER, *PPCI_SLOT_NUMBER;
-
-typedef enum _POOL_TYPE {
- NonPagedPool,
- PagedPool,
- NonPagedPoolMustSucceed,
- DontUseThisType,
- NonPagedPoolCacheAligned,
- PagedPoolCacheAligned,
- NonPagedPoolCacheAlignedMustS,
- MaxPoolType,
- NonPagedPoolSession = 32,
- PagedPoolSession,
- NonPagedPoolMustSucceedSession,
- DontUseThisTypeSession,
- NonPagedPoolCacheAlignedSession,
- PagedPoolCacheAlignedSession,
- NonPagedPoolCacheAlignedMustSSession
-} POOL_TYPE;
-
-typedef enum _EX_POOL_PRIORITY {
- LowPoolPriority,
- LowPoolPrioritySpecialPoolOverrun = 8,
- LowPoolPrioritySpecialPoolUnderrun = 9,
- NormalPoolPriority = 16,
- NormalPoolPrioritySpecialPoolOverrun = 24,
- NormalPoolPrioritySpecialPoolUnderrun = 25,
- HighPoolPriority = 32,
- HighPoolPrioritySpecialPoolOverrun = 40,
- HighPoolPrioritySpecialPoolUnderrun = 41
-} EX_POOL_PRIORITY;
-
-/* PRIVILEGE_SET.Control */
-
-#define PRIVILEGE_SET_ALL_NECESSARY 1
-
-typedef struct _RTL_OSVERSIONINFOW {
- ULONG dwOSVersionInfoSize;
- ULONG dwMajorVersion;
- ULONG dwMinorVersion;
- ULONG dwBuildNumber;
- ULONG dwPlatformId;
- WCHAR szCSDVersion[128];
-} RTL_OSVERSIONINFOW, *PRTL_OSVERSIONINFOW;
-
-typedef struct _RTL_OSVERSIONINFOEXW {
- ULONG dwOSVersionInfoSize;
- ULONG dwMajorVersion;
- ULONG dwMinorVersion;
- ULONG dwBuildNumber;
- ULONG dwPlatformId;
- WCHAR szCSDVersion[128];
- USHORT wServicePackMajor;
- USHORT wServicePackMinor;
- USHORT wSuiteMask;
- UCHAR wProductType;
- UCHAR wReserved;
-} RTL_OSVERSIONINFOEXW, *PRTL_OSVERSIONINFOEXW;
-
-NTOSAPI
-ULONGLONG
-DDKAPI
-VerSetConditionMask(
- IN ULONGLONG ConditionMask,
- IN ULONG TypeMask,
- IN UCHAR Condition);
-
-#define VER_SET_CONDITION(ConditionMask, TypeBitMask, ComparisonType) \
- ((ConditionMask) = VerSetConditionMask((ConditionMask), \
- (TypeBitMask), (ComparisonType)))
-
-/* RtlVerifyVersionInfo() TypeMask */
-
-#define VER_MINORVERSION 0x0000001
-#define VER_MAJORVERSION 0x0000002
-#define VER_BUILDNUMBER 0x0000004
-#define VER_PLATFORMID 0x0000008
-#define VER_SERVICEPACKMINOR 0x0000010
-#define VER_SERVICEPACKMAJOR 0x0000020
-#define VER_SUITENAME 0x0000040
-#define VER_PRODUCT_TYPE 0x0000080
-
-/* RtlVerifyVersionInfo() ComparisonType */
-
-#define VER_EQUAL 1
-#define VER_GREATER 2
-#define VER_GREATER_EQUAL 3
-#define VER_LESS 4
-#define VER_LESS_EQUAL 5
-#define VER_AND 6
-#define VER_OR 7
-
-#define VER_CONDITION_MASK 7
-#define VER_NUM_BITS_PER_CONDITION_MASK 3
-
-typedef struct _RTL_BITMAP {
- ULONG SizeOfBitMap;
- PULONG Buffer;
-} RTL_BITMAP, *PRTL_BITMAP;
-
-typedef struct _RTL_BITMAP_RUN {
- ULONG StartingIndex;
- ULONG NumberOfBits;
-} RTL_BITMAP_RUN, *PRTL_BITMAP_RUN;
-
-typedef NTSTATUS DDKAPI
-(*PRTL_QUERY_REGISTRY_ROUTINE)(
- IN PWSTR ValueName,
- IN ULONG ValueType,
- IN PVOID ValueData,
- IN ULONG ValueLength,
- IN PVOID Context,
- IN PVOID EntryContext);
-
-#define RTL_REGISTRY_ABSOLUTE 0
-#define RTL_REGISTRY_SERVICES 1
-#define RTL_REGISTRY_CONTROL 2
-#define RTL_REGISTRY_WINDOWS_NT 3
-#define RTL_REGISTRY_DEVICEMAP 4
-#define RTL_REGISTRY_USER 5
-
-/* RTL_QUERY_REGISTRY_TABLE.Flags */
-#define RTL_QUERY_REGISTRY_SUBKEY 0x00000001
-#define RTL_QUERY_REGISTRY_TOPKEY 0x00000002
-#define RTL_QUERY_REGISTRY_REQUIRED 0x00000004
-#define RTL_QUERY_REGISTRY_NOVALUE 0x00000008
-#define RTL_QUERY_REGISTRY_NOEXPAND 0x00000010
-#define RTL_QUERY_REGISTRY_DIRECT 0x00000020
-#define RTL_QUERY_REGISTRY_DELETE 0x00000040
-
-typedef struct _RTL_QUERY_REGISTRY_TABLE {
- PRTL_QUERY_REGISTRY_ROUTINE QueryRoutine;
- ULONG Flags;
- PWSTR Name;
- PVOID EntryContext;
- ULONG DefaultType;
- PVOID DefaultData;
- ULONG DefaultLength;
-} RTL_QUERY_REGISTRY_TABLE, *PRTL_QUERY_REGISTRY_TABLE;
-
-typedef struct _TIME_FIELDS {
- CSHORT Year;
- CSHORT Month;
- CSHORT Day;
- CSHORT Hour;
- CSHORT Minute;
- CSHORT Second;
- CSHORT Milliseconds;
- CSHORT Weekday;
-} TIME_FIELDS, *PTIME_FIELDS;
-
-typedef PVOID DDKAPI
-(*PALLOCATE_FUNCTION)(
- IN POOL_TYPE PoolType,
- IN SIZE_T NumberOfBytes,
- IN ULONG Tag);
-
-typedef VOID DDKAPI
-(*PFREE_FUNCTION)(
- IN PVOID Buffer);
-
-#define GENERAL_LOOKASIDE_S \
- SLIST_HEADER ListHead; \
- USHORT Depth; \
- USHORT MaximumDepth; \
- ULONG TotalAllocates; \
- _ANONYMOUS_UNION union { \
- ULONG AllocateMisses; \
- ULONG AllocateHits; \
- } DUMMYUNIONNAME; \
- ULONG TotalFrees; \
- _ANONYMOUS_UNION union { \
- ULONG FreeMisses; \
- ULONG FreeHits; \
- } DUMMYUNIONNAME2; \
- POOL_TYPE Type; \
- ULONG Tag; \
- ULONG Size; \
- PALLOCATE_FUNCTION Allocate; \
- PFREE_FUNCTION Free; \
- LIST_ENTRY ListEntry; \
- ULONG LastTotalAllocates; \
- _ANONYMOUS_UNION union { \
- ULONG LastAllocateMisses; \
- ULONG LastAllocateHits; \
- } DUMMYUNIONNAME3; \
- ULONG Future[2];
-
-typedef struct _GENERAL_LOOKASIDE {
- GENERAL_LOOKASIDE_S
-} GENERAL_LOOKASIDE, *PGENERAL_LOOKASIDE;
-
-typedef struct _NPAGED_LOOKASIDE_LIST {
- GENERAL_LOOKASIDE_S
- KSPIN_LOCK Obsoleted;
-} NPAGED_LOOKASIDE_LIST, *PNPAGED_LOOKASIDE_LIST;
-
-typedef struct _PAGED_LOOKASIDE_LIST {
- GENERAL_LOOKASIDE_S
- FAST_MUTEX Obsoleted;
-} PAGED_LOOKASIDE_LIST, *PPAGED_LOOKASIDE_LIST;
-
-typedef struct _CALLBACK_OBJECT *PCALLBACK_OBJECT;
-
-typedef VOID DDKAPI (*PCALLBACK_FUNCTION)(
- IN PVOID CallbackContext,
- IN PVOID Argument1,
- IN PVOID Argument2);
-
-typedef enum _EVENT_TYPE {
- NotificationEvent,
- SynchronizationEvent
-} EVENT_TYPE;
-
-typedef enum _KWAIT_REASON {
- Executive,
- FreePage,
- PageIn,
- PoolAllocation,
- DelayExecution,
- Suspended,
- UserRequest,
- WrExecutive,
- WrFreePage,
- WrPageIn,
- WrPoolAllocation,
- WrDelayExecution,
- WrSuspended,
- WrUserRequest,
- WrEventPair,
- WrQueue,
- WrLpcReceive,
- WrLpcReply,
- WrVirtualMemory,
- WrPageOut,
- WrRendezvous,
- Spare2,
- Spare3,
- Spare4,
- Spare5,
- Spare6,
- WrKernel,
- MaximumWaitReason
-} KWAIT_REASON;
-
-typedef struct _KWAIT_BLOCK {
- LIST_ENTRY WaitListEntry;
- struct _KTHREAD * RESTRICTED_POINTER Thread;
- PVOID Object;
- struct _KWAIT_BLOCK * RESTRICTED_POINTER NextWaitBlock;
- USHORT WaitKey;
- USHORT WaitType;
-} KWAIT_BLOCK, *PKWAIT_BLOCK, *RESTRICTED_POINTER PRKWAIT_BLOCK;
-
-typedef struct _IO_REMOVE_LOCK_TRACKING_BLOCK * PIO_REMOVE_LOCK_TRACKING_BLOCK;
-
-typedef struct _IO_REMOVE_LOCK_COMMON_BLOCK {
- BOOLEAN Removed;
- BOOLEAN Reserved[3];
- LONG IoCount;
- KEVENT RemoveEvent;
-} IO_REMOVE_LOCK_COMMON_BLOCK;
-
-typedef struct _IO_REMOVE_LOCK_DBG_BLOCK {
- LONG Signature;
- LONG HighWatermark;
- LONGLONG MaxLockedTicks;
- LONG AllocateTag;
- LIST_ENTRY LockList;
- KSPIN_LOCK Spin;
- LONG LowMemoryCount;
- ULONG Reserved1[4];
- PVOID Reserved2;
- PIO_REMOVE_LOCK_TRACKING_BLOCK Blocks;
-} IO_REMOVE_LOCK_DBG_BLOCK;
-
-typedef struct _IO_REMOVE_LOCK {
- IO_REMOVE_LOCK_COMMON_BLOCK Common;
-#ifdef DBG
- IO_REMOVE_LOCK_DBG_BLOCK Dbg;
-#endif
-} IO_REMOVE_LOCK, *PIO_REMOVE_LOCK;
-
-typedef struct _IO_WORKITEM *PIO_WORKITEM;
-
-typedef VOID DDKAPI
-(*PIO_WORKITEM_ROUTINE)(
- IN PDEVICE_OBJECT DeviceObject,
- IN PVOID Context);
-
-typedef struct _SHARE_ACCESS {
- ULONG OpenCount;
- ULONG Readers;
- ULONG Writers;
- ULONG Deleters;
- ULONG SharedRead;
- ULONG SharedWrite;
- ULONG SharedDelete;
-} SHARE_ACCESS, *PSHARE_ACCESS;
-
-typedef enum _KINTERRUPT_MODE {
- LevelSensitive,
- Latched
-} KINTERRUPT_MODE;
-
-typedef VOID DDKAPI
-(*PKINTERRUPT_ROUTINE)(
- VOID);
-
-typedef enum _KPROFILE_SOURCE {
- ProfileTime,
- ProfileAlignmentFixup,
- ProfileTotalIssues,
- ProfilePipelineDry,
- ProfileLoadInstructions,
- ProfilePipelineFrozen,
- ProfileBranchInstructions,
- ProfileTotalNonissues,
- ProfileDcacheMisses,
- ProfileIcacheMisses,
- ProfileCacheMisses,
- ProfileBranchMispredictions,
- ProfileStoreInstructions,
- ProfileFpInstructions,
- ProfileIntegerInstructions,
- Profile2Issue,
- Profile3Issue,
- Profile4Issue,
- ProfileSpecialInstructions,
- ProfileTotalCycles,
- ProfileIcacheIssues,
- ProfileDcacheAccesses,
- ProfileMemoryBarrierCycles,
- ProfileLoadLinkedIssues,
- ProfileMaximum
-} KPROFILE_SOURCE;
-
-typedef enum _CREATE_FILE_TYPE {
- CreateFileTypeNone,
- CreateFileTypeNamedPipe,
- CreateFileTypeMailslot
-} CREATE_FILE_TYPE;
-
-typedef struct _CONFIGURATION_INFORMATION {
- ULONG DiskCount;
- ULONG FloppyCount;
- ULONG CdRomCount;
- ULONG TapeCount;
- ULONG ScsiPortCount;
- ULONG SerialCount;
- ULONG ParallelCount;
- BOOLEAN AtDiskPrimaryAddressClaimed;
- BOOLEAN AtDiskSecondaryAddressClaimed;
- ULONG Version;
- ULONG MediumChangerCount;
-} CONFIGURATION_INFORMATION, *PCONFIGURATION_INFORMATION;
-
-typedef enum _CONFIGURATION_TYPE {
- ArcSystem,
- CentralProcessor,
- FloatingPointProcessor,
- PrimaryIcache,
- PrimaryDcache,
- SecondaryIcache,
- SecondaryDcache,
- SecondaryCache,
- EisaAdapter,
- TcAdapter,
- ScsiAdapter,
- DtiAdapter,
- MultiFunctionAdapter,
- DiskController,
- TapeController,
- CdromController,
- WormController,
- SerialController,
- NetworkController,
- DisplayController,
- ParallelController,
- PointerController,
- KeyboardController,
- AudioController,
- OtherController,
- DiskPeripheral,
- FloppyDiskPeripheral,
- TapePeripheral,
- ModemPeripheral,
- MonitorPeripheral,
- PrinterPeripheral,
- PointerPeripheral,
- KeyboardPeripheral,
- TerminalPeripheral,
- OtherPeripheral,
- LinePeripheral,
- NetworkPeripheral,
- SystemMemory,
- DockingInformation,
- RealModeIrqRoutingTable,
- MaximumType
-} CONFIGURATION_TYPE, *PCONFIGURATION_TYPE;
-
-typedef NTSTATUS (*PIO_QUERY_DEVICE_ROUTINE)(
- IN PVOID Context,
- IN PUNICODE_STRING PathName,
- IN INTERFACE_TYPE BusType,
- IN ULONG BusNumber,
- IN PKEY_VALUE_FULL_INFORMATION *BusInformation,
- IN CONFIGURATION_TYPE ControllerType,
- IN ULONG ControllerNumber,
- IN PKEY_VALUE_FULL_INFORMATION *ControllerInformation,
- IN CONFIGURATION_TYPE PeripheralType,
- IN ULONG PeripheralNumber,
- IN PKEY_VALUE_FULL_INFORMATION *PeripheralInformation);
-
-typedef enum _WORK_QUEUE_TYPE {
- CriticalWorkQueue,
- DelayedWorkQueue,
- HyperCriticalWorkQueue,
- MaximumWorkQueue
-} WORK_QUEUE_TYPE;
-
-typedef VOID DDKAPI
-(*PWORKER_THREAD_ROUTINE)(
- IN PVOID Parameter);
-
-typedef struct _WORK_QUEUE_ITEM {
- LIST_ENTRY List;
- PWORKER_THREAD_ROUTINE WorkerRoutine;
- PVOID Parameter;
-} WORK_QUEUE_ITEM, *PWORK_QUEUE_ITEM;
-
-typedef enum _KBUGCHECK_BUFFER_DUMP_STATE {
- BufferEmpty,
- BufferInserted,
- BufferStarted,
- BufferFinished,
- BufferIncomplete
-} KBUGCHECK_BUFFER_DUMP_STATE;
-
-typedef VOID DDKAPI
-(*PKBUGCHECK_CALLBACK_ROUTINE)(
- IN PVOID Buffer,
- IN ULONG Length);
-
-typedef struct _KBUGCHECK_CALLBACK_RECORD {
- LIST_ENTRY Entry;
- PKBUGCHECK_CALLBACK_ROUTINE CallbackRoutine;
- PVOID Buffer;
- ULONG Length;
- PUCHAR Component;
- ULONG_PTR Checksum;
- UCHAR State;
-} KBUGCHECK_CALLBACK_RECORD, *PKBUGCHECK_CALLBACK_RECORD;
-
-/*
- * VOID
- * KeInitializeCallbackRecord(
- * IN PKBUGCHECK_CALLBACK_RECORD CallbackRecord)
- */
-#define KeInitializeCallbackRecord(CallbackRecord) \
- CallbackRecord->State = BufferEmpty;
-
-typedef enum _KDPC_IMPORTANCE {
- LowImportance,
- MediumImportance,
- HighImportance
-} KDPC_IMPORTANCE;
-
-typedef enum _MEMORY_CACHING_TYPE_ORIG {
- MmFrameBufferCached = 2
-} MEMORY_CACHING_TYPE_ORIG;
-
-typedef enum _MEMORY_CACHING_TYPE {
- MmNonCached = FALSE,
- MmCached = TRUE,
- MmWriteCombined = MmFrameBufferCached,
- MmHardwareCoherentCached,
- MmNonCachedUnordered,
- MmUSWCCached,
- MmMaximumCacheType
-} MEMORY_CACHING_TYPE;
-
-typedef enum _MM_PAGE_PRIORITY {
- LowPagePriority,
- NormalPagePriority = 16,
- HighPagePriority = 32
-} MM_PAGE_PRIORITY;
-
-typedef enum _LOCK_OPERATION {
- IoReadAccess,
- IoWriteAccess,
- IoModifyAccess
-} LOCK_OPERATION;
-
-typedef enum _MM_SYSTEM_SIZE {
- MmSmallSystem,
- MmMediumSystem,
- MmLargeSystem
-} MM_SYSTEM_SIZE;
-
-typedef struct _OBJECT_HANDLE_INFORMATION {
- ULONG HandleAttributes;
- ACCESS_MASK GrantedAccess;
-} OBJECT_HANDLE_INFORMATION, *POBJECT_HANDLE_INFORMATION;
-
-typedef struct _CLIENT_ID {
- HANDLE UniqueProcess;
- HANDLE UniqueThread;
-} CLIENT_ID, *PCLIENT_ID;
-
-typedef VOID DDKAPI
-(*PKSTART_ROUTINE)(
- IN PVOID StartContext);
-
-typedef VOID DDKAPI
-(*PCREATE_PROCESS_NOTIFY_ROUTINE)(
- IN HANDLE ParentId,
- IN HANDLE ProcessId,
- IN BOOLEAN Create);
-
-typedef VOID DDKAPI
-(*PCREATE_THREAD_NOTIFY_ROUTINE)(
- IN HANDLE ProcessId,
- IN HANDLE ThreadId,
- IN BOOLEAN Create);
-
-typedef struct _IMAGE_INFO {
- _ANONYMOUS_UNION union {
- ULONG Properties;
- _ANONYMOUS_STRUCT struct {
- ULONG ImageAddressingMode : 8;
- ULONG SystemModeImage : 1;
- ULONG ImageMappedToAllPids : 1;
- ULONG Reserved : 22;
- } DUMMYSTRUCTNAME;
- } DUMMYUNIONNAME;
- PVOID ImageBase;
- ULONG ImageSelector;
- SIZE_T ImageSize;
- ULONG ImageSectionNumber;
-} IMAGE_INFO, *PIMAGE_INFO;
-
-#define IMAGE_ADDRESSING_MODE_32BIT 3
-
-typedef VOID DDKAPI
-(*PLOAD_IMAGE_NOTIFY_ROUTINE)(
- IN PUNICODE_STRING FullImageName,
- IN HANDLE ProcessId,
- IN PIMAGE_INFO ImageInfo);
-
-typedef enum _PROCESSINFOCLASS {
- ProcessBasicInformation,
- ProcessQuotaLimits,
- ProcessIoCounters,
- ProcessVmCounters,
- ProcessTimes,
- ProcessBasePriority,
- ProcessRaisePriority,
- ProcessDebugPort,
- ProcessExceptionPort,
- ProcessAccessToken,
- ProcessLdtInformation,
- ProcessLdtSize,
- ProcessDefaultHardErrorMode,
- ProcessIoPortHandlers,
- ProcessPooledUsageAndLimits,
- ProcessWorkingSetWatch,
- ProcessUserModeIOPL,
- ProcessEnableAlignmentFaultFixup,
- ProcessPriorityClass,
- ProcessWx86Information,
- ProcessHandleCount,
- ProcessAffinityMask,
- ProcessPriorityBoost,
- ProcessDeviceMap,
- ProcessSessionInformation,
- ProcessForegroundInformation,
- ProcessWow64Information,
- ProcessImageFileName,
- ProcessLUIDDeviceMapsEnabled,
- ProcessBreakOnTermination,
- ProcessDebugObjectHandle,
- ProcessDebugFlags,
- ProcessHandleTracing,
- MaxProcessInfoClass
-} PROCESSINFOCLASS;
-
-typedef enum _THREADINFOCLASS {
- ThreadBasicInformation,
- ThreadTimes,
- ThreadPriority,
- ThreadBasePriority,
- ThreadAffinityMask,
- ThreadImpersonationToken,
- ThreadDescriptorTableEntry,
- ThreadEnableAlignmentFaultFixup,
- ThreadEventPair_Reusable,
- ThreadQuerySetWin32StartAddress,
- ThreadZeroTlsCell,
- ThreadPerformanceCount,
- ThreadAmILastThread,
- ThreadIdealProcessor,
- ThreadPriorityBoost,
- ThreadSetTlsArrayAddress,
- ThreadIsIoPending,
- ThreadHideFromDebugger,
- ThreadBreakOnTermination,
- MaxThreadInfoClass
-} THREADINFOCLASS;
-
-#define ES_SYSTEM_REQUIRED 0x00000001
-#define ES_DISPLAY_REQUIRED 0x00000002
-#define ES_USER_PRESENT 0x00000004
-#define ES_CONTINUOUS 0x80000000
-
-typedef ULONG EXECUTION_STATE;
-
-typedef VOID DDKAPI
-(*PREQUEST_POWER_COMPLETE)(
- IN PDEVICE_OBJECT DeviceObject,
- IN UCHAR MinorFunction,
- IN POWER_STATE PowerState,
- IN PVOID Context,
- IN PIO_STATUS_BLOCK IoStatus);
-
-typedef enum _TRACE_INFORMATION_CLASS {
- TraceIdClass,
- TraceHandleClass,
- TraceEnableFlagsClass,
- TraceEnableLevelClass,
- GlobalLoggerHandleClass,
- EventLoggerHandleClass,
- AllLoggerHandlesClass,
- TraceHandleByNameClass
-} TRACE_INFORMATION_CLASS;
-
-typedef NTSTATUS DDKAPI
-(*PEX_CALLBACK_FUNCTION)(
- IN PVOID CallbackContext,
- IN PVOID Argument1,
- IN PVOID Argument2);
-
-
-
-/*
-** Storage structures
-*/
-typedef enum _PARTITION_STYLE {
- PARTITION_STYLE_MBR,
- PARTITION_STYLE_GPT
-} PARTITION_STYLE;
-
-typedef struct _CREATE_DISK_MBR {
- ULONG Signature;
-} CREATE_DISK_MBR, *PCREATE_DISK_MBR;
-
-typedef struct _CREATE_DISK_GPT {
- GUID DiskId;
- ULONG MaxPartitionCount;
-} CREATE_DISK_GPT, *PCREATE_DISK_GPT;
-
-typedef struct _CREATE_DISK {
- PARTITION_STYLE PartitionStyle;
- _ANONYMOUS_UNION union {
- CREATE_DISK_MBR Mbr;
- CREATE_DISK_GPT Gpt;
- } DUMMYUNIONNAME;
-} CREATE_DISK, *PCREATE_DISK;
-
-typedef struct _DISK_SIGNATURE {
- ULONG PartitionStyle;
- _ANONYMOUS_UNION union {
- struct {
- ULONG Signature;
- ULONG CheckSum;
- } Mbr;
- struct {
- GUID DiskId;
- } Gpt;
- } DUMMYUNIONNAME;
-} DISK_SIGNATURE, *PDISK_SIGNATURE;
-
-typedef VOID DDKFASTAPI
-(*PTIME_UPDATE_NOTIFY_ROUTINE)(
- IN HANDLE ThreadId,
- IN KPROCESSOR_MODE Mode);
-
-#define DBG_STATUS_CONTROL_C 1
-#define DBG_STATUS_SYSRQ 2
-#define DBG_STATUS_BUGCHECK_FIRST 3
-#define DBG_STATUS_BUGCHECK_SECOND 4
-#define DBG_STATUS_FATAL 5
-#define DBG_STATUS_DEBUG_CONTROL 6
-#define DBG_STATUS_WORKER 7
-
-typedef struct _PHYSICAL_MEMORY_RANGE {
- PHYSICAL_ADDRESS BaseAddress;
- LARGE_INTEGER NumberOfBytes;
-} PHYSICAL_MEMORY_RANGE, *PPHYSICAL_MEMORY_RANGE;
-
-typedef ULONG_PTR
-(*PDRIVER_VERIFIER_THUNK_ROUTINE)(
- IN PVOID Context);
-
-typedef struct _DRIVER_VERIFIER_THUNK_PAIRS {
- PDRIVER_VERIFIER_THUNK_ROUTINE PristineRoutine;
- PDRIVER_VERIFIER_THUNK_ROUTINE NewRoutine;
-} DRIVER_VERIFIER_THUNK_PAIRS, *PDRIVER_VERIFIER_THUNK_PAIRS;
-
-#define DRIVER_VERIFIER_SPECIAL_POOLING 0x0001
-#define DRIVER_VERIFIER_FORCE_IRQL_CHECKING 0x0002
-#define DRIVER_VERIFIER_INJECT_ALLOCATION_FAILURES 0x0004
-#define DRIVER_VERIFIER_TRACK_POOL_ALLOCATIONS 0x0008
-#define DRIVER_VERIFIER_IO_CHECKING 0x0010
-
-#define RTL_RANGE_LIST_ADD_IF_CONFLICT 0x00000001
-#define RTL_RANGE_LIST_ADD_SHARED 0x00000002
-
-#define RTL_RANGE_LIST_SHARED_OK 0x00000001
-#define RTL_RANGE_LIST_NULL_CONFLICT_OK 0x00000002
-
-#define RTL_RANGE_LIST_SHARED_OK 0x00000001
-#define RTL_RANGE_LIST_NULL_CONFLICT_OK 0x00000002
-
-#define RTL_RANGE_LIST_MERGE_IF_CONFLICT RTL_RANGE_LIST_ADD_IF_CONFLICT
-
-typedef struct _RTL_RANGE {
- ULONGLONG Start;
- ULONGLONG End;
- PVOID UserData;
- PVOID Owner;
- UCHAR Attributes;
- UCHAR Flags;
-} RTL_RANGE, *PRTL_RANGE;
-
-#define RTL_RANGE_SHARED 0x01
-#define RTL_RANGE_CONFLICT 0x02
-
-typedef struct _RTL_RANGE_LIST {
- LIST_ENTRY ListHead;
- ULONG Flags;
- ULONG Count;
- ULONG Stamp;
-} RTL_RANGE_LIST, *PRTL_RANGE_LIST;
-
-typedef struct _RANGE_LIST_ITERATOR {
- PLIST_ENTRY RangeListHead;
- PLIST_ENTRY MergedHead;
- PVOID Current;
- ULONG Stamp;
-} RTL_RANGE_LIST_ITERATOR, *PRTL_RANGE_LIST_ITERATOR;
-
-typedef BOOLEAN
-(*PRTL_CONFLICT_RANGE_CALLBACK)(
- IN PVOID Context,
- IN PRTL_RANGE Range);
-
-#define HASH_STRING_ALGORITHM_DEFAULT 0
-#define HASH_STRING_ALGORITHM_X65599 1
-#define HASH_STRING_ALGORITHM_INVALID 0xffffffff
-
-typedef enum _SUITE_TYPE {
- SmallBusiness,
- Enterprise,
- BackOffice,
- CommunicationServer,
- TerminalServer,
- SmallBusinessRestricted,
- EmbeddedNT,
- DataCenter,
- SingleUserTS,
- Personal,
- Blade,
- MaxSuiteType
-} SUITE_TYPE;
-
-typedef VOID DDKAPI
-(*PTIMER_APC_ROUTINE)(
- IN PVOID TimerContext,
- IN ULONG TimerLowValue,
- IN LONG TimerHighValue);
-
-
-
-/*
-** WMI structures
-*/
-
-typedef VOID DDKAPI
-(*WMI_NOTIFICATION_CALLBACK)(
- PVOID Wnode,
- PVOID Context);
-
-
-/*
-** Architecture specific structures
-*/
-
-#ifdef _X86_
-
-typedef ULONG PFN_NUMBER, *PPFN_NUMBER;
-
-#define PASSIVE_LEVEL 0
-#define LOW_LEVEL 0
-#define APC_LEVEL 1
-#define DISPATCH_LEVEL 2
-#define SYNCH_LEVEL 27
-#define PROFILE_LEVEL 27
-#define CLOCK1_LEVEL 28
-#define CLOCK2_LEVEL 28
-#define IPI_LEVEL 29
-#define POWER_LEVEL 30
-#define HIGH_LEVEL 31
-
-typedef struct _KPCR_TIB {
- PVOID ExceptionList; /* 00 */
- PVOID StackBase; /* 04 */
- PVOID StackLimit; /* 08 */
- PVOID SubSystemTib; /* 0C */
- _ANONYMOUS_UNION union {
- PVOID FiberData; /* 10 */
- DWORD Version; /* 10 */
- } DUMMYUNIONNAME;
- PVOID ArbitraryUserPointer; /* 14 */
- struct _NT_TIB *Self; /* 18 */
-} KPCR_TIB, *PKPCR_TIB; /* 1C */
-
-#define PCR_MINOR_VERSION 1
-#define PCR_MAJOR_VERSION 1
-
-typedef struct _KPCR {
- KPCR_TIB Tib; /* 00 */
- struct _KPCR *Self; /* 1C */
- struct _KPRCB *PCRCB; /* 20 */
- KIRQL Irql; /* 24 */
- ULONG IRR; /* 28 */
- ULONG IrrActive; /* 2C */
- ULONG IDR; /* 30 */
- PVOID KdVersionBlock; /* 34 */
- PUSHORT IDT; /* 38 */
- PUSHORT GDT; /* 3C */
- struct _KTSS *TSS; /* 40 */
- USHORT MajorVersion; /* 44 */
- USHORT MinorVersion; /* 46 */
- KAFFINITY SetMember; /* 48 */
- ULONG StallScaleFactor; /* 4C */
- UCHAR SpareUnused; /* 50 */
- UCHAR Number; /* 51 */
-} KPCR, *PKPCR; /* 54 */
-
-typedef struct _KFLOATING_SAVE {
- ULONG ControlWord;
- ULONG StatusWord;
- ULONG ErrorOffset;
- ULONG ErrorSelector;
- ULONG DataOffset;
- ULONG DataSelector;
- ULONG Cr0NpxState;
- ULONG Spare1;
-} KFLOATING_SAVE, *PKFLOATING_SAVE;
-
-#define PAGE_SIZE 0x1000
-#define PAGE_SHIFT 12L
-
-extern NTOSAPI PVOID *MmHighestUserAddress;
-extern NTOSAPI PVOID *MmSystemRangeStart;
-extern NTOSAPI ULONG *MmUserProbeAddress;
-
-#define MM_HIGHEST_USER_ADDRESS *MmHighestUserAddress
-#define MM_SYSTEM_RANGE_START *MmSystemRangeStart
-#define MM_USER_PROBE_ADDRESS *MmUserProbeAddress
-#define MM_LOWEST_USER_ADDRESS (PVOID)0x10000
-#define MM_LOWEST_SYSTEM_ADDRESS (PVOID)0xC0C00000
-
-#define KI_USER_SHARED_DATA 0xffdf0000
-#define SharedUserData ((KUSER_SHARED_DATA * CONST) KI_USER_SHARED_DATA)
-
-#define EFLAG_SIGN 0x8000
-#define EFLAG_ZERO 0x4000
-#define EFLAG_SELECT (EFLAG_SIGN | EFLAG_ZERO)
-
-#define RESULT_NEGATIVE ((EFLAG_SIGN & ~EFLAG_ZERO) & EFLAG_SELECT)
-#define RESULT_ZERO ((~EFLAG_SIGN & EFLAG_ZERO) & EFLAG_SELECT)
-#define RESULT_POSITIVE ((~EFLAG_SIGN & ~EFLAG_ZERO) & EFLAG_SELECT)
-
-typedef enum _INTERLOCKED_RESULT {
- ResultNegative = RESULT_NEGATIVE,
- ResultZero = RESULT_ZERO,
- ResultPositive = RESULT_POSITIVE
-} INTERLOCKED_RESULT;
-
-NTOSAPI
-KIRQL
-DDKAPI
-KeGetCurrentIrql(
- VOID);
-
-/*
- * ULONG
- * KeGetCurrentProcessorNumber(
- * VOID)
- */
-#define KeGetCurrentProcessorNumber() \
- ((ULONG)KeGetCurrentKPCR()->ProcessorNumber)
-
-
-#if __USE_NTOSKRNL__
-/* CAREFUL: These are exported from ntoskrnl.exe as __fastcall functions,
- but are also exported from kernel32.dll and declared in winbase.h as
- __stdcall */
-#if !defined(__INTERLOCKED_DECLARED)
-#define __INTERLOCKED_DECLARED
-
-NTOSAPI
-LONG
-DDKFASTAPI
-InterlockedIncrement(
- IN PLONG VOLATILE Addend);
-
-NTOSAPI
-LONG
-DDKFASTAPI
-InterlockedDecrement(
- IN PLONG VOLATILE Addend);
-
-NTOSAPI
-LONG
-DDKFASTAPI
-InterlockedCompareExchange(
- IN OUT PLONG VOLATILE Destination,
- IN LONG Exchange,
- IN LONG Comparand);
-
-NTOSAPI
-LONG
-DDKFASTAPI
-InterlockedExchange(
- IN OUT PLONG VOLATILE Target,
- IN LONG Value);
-
-NTOSAPI
-LONG
-DDKFASTAPI
-InterlockedExchangeAdd(
- IN OUT PLONG VOLATILE Addend,
- IN LONG Value);
-
-/*
- * PVOID
- * InterlockedExchangePointer(
- * IN OUT PVOID VOLATILE *Target,
- * IN PVOID Value)
- */
-#define InterlockedExchangePointer(Target, Value) \
- ((PVOID) InterlockedExchange((PLONG) Target, (LONG) Value))
-
-/*
- * PVOID
- * InterlockedCompareExchangePointer(
- * IN OUT PVOID *Destination,
- * IN PVOID Exchange,
- * IN PVOID Comparand)
- */
-#define InterlockedCompareExchangePointer(Destination, Exchange, Comparand) \
- ((PVOID) InterlockedCompareExchange((PLONG) Destination, (LONG) Exchange, (LONG) Comparand))
-
-#if (_WIN32_WINNT >= 0x0501)
-PSLIST_ENTRY
-DDKFASTAPI
-InterlockedPopEntrySList(
- IN PSLIST_HEADER ListHead);
-
-NTOSAPI
-PSLIST_ENTRY
-DDKFASTAPI
-InterlockedPushEntrySList(
- IN PSLIST_HEADER ListHead,
- IN PSLIST_ENTRY ListEntry);
-#endif /* _WIN32_WINNT >= 0x0501 */
-
-#endif /* !__INTERLOCKED_DECLARED */
-#endif /* __USE_NTOSKRNL__ */
-
-NTOSAPI
-VOID
-DDKFASTAPI
-KefAcquireSpinLockAtDpcLevel(
- IN PKSPIN_LOCK SpinLock);
-
-NTOSAPI
-VOID
-DDKFASTAPI
-KefReleaseSpinLockFromDpcLevel(
- IN PKSPIN_LOCK SpinLock);
-
-#define KeAcquireSpinLockAtDpcLevel(SpinLock) KefAcquireSpinLockAtDpcLevel(SpinLock)
-#define KeReleaseSpinLockFromDpcLevel(SpinLock) KefReleaseSpinLockFromDpcLevel(SpinLock)
-
-#define RtlCopyMemoryNonTemporal RtlCopyMemory
-
-#define KeGetDcacheFillSize() 1L
-
-#endif /* _X86_ */
-
-
-
-/*
-** Utillity functions
-*/
-
-#define ARGUMENT_PRESENT(ArgumentPointer) \
- ((BOOLEAN) ((PVOID)ArgumentPointer != (PVOID)NULL))
-
-/*
- * ULONG
- * BYTE_OFFSET(
- * IN PVOID Va)
- */
-#define BYTE_OFFSET(Va) \
- ((ULONG) ((ULONG_PTR) (Va) & (PAGE_SIZE - 1)))
-
-/*
- * ULONG
- * BYTES_TO_PAGES(
- * IN ULONG Size)
- */
-#define BYTES_TO_PAGES(Size) \
- ((ULONG) ((ULONG_PTR) (Size) >> PAGE_SHIFT) + (((ULONG) (Size) & (PAGE_SIZE - 1)) != 0))
-
-/*
- * PCHAR
- * CONTAINING_RECORD(
- * IN PCHAR Address,
- * IN TYPE Type,
- * IN PCHAR Field);
- */
-#ifndef CONTAINING_RECORD
-#define CONTAINING_RECORD(Address, Type, Field) \
- ((Type *) (((ULONG_PTR) Address) - FIELD_OFFSET(Type, Field)))
-#endif
-
-/* LONG
- * FIELD_OFFSET(
- * IN TYPE Type,
- * IN PCHAR Field);
- */
-#ifndef FIELD_OFFSET
-#define FIELD_OFFSET(Type, Field) \
- ((LONG) (&(((Type *) 0)->Field)))
-#endif
-
-/*
- * PVOID
- * PAGE_ALIGN(
- * IN PVOID Va)
- */
-#define PAGE_ALIGN(Va) \
- ((PVOID) ((ULONG_PTR)(Va) & ~(PAGE_SIZE - 1)))
-
-/*
- * ULONG_PTR
- * ROUND_TO_PAGES(
- * IN ULONG_PTR Size)
- */
-#define ROUND_TO_PAGES(Size) \
- ((ULONG_PTR) (((ULONG_PTR) Size + PAGE_SIZE - 1) & ~(PAGE_SIZE - 1)))
-
-NTOSAPI
-VOID
-DDKAPI
-RtlAssert(
- IN PVOID FailedAssertion,
- IN PVOID FileName,
- IN ULONG LineNumber,
- IN PCHAR Message);
-
-#ifdef DBG
-
-#define ASSERT(exp) \
- ((!(exp)) ? \
- (RtlAssert( #exp, __FILE__, __LINE__, NULL ), FALSE) : TRUE)
-
-#define ASSERTMSG(msg, exp) \
- ((!(exp)) ? \
- (RtlAssert( #exp, __FILE__, __LINE__, msg ), FALSE) : TRUE)
-
-#define RTL_SOFT_ASSERT(exp) \
- ((!(_exp)) ? \
- (DbgPrint("%s(%d): Soft assertion failed\n Expression: %s\n", __FILE__, __LINE__, #exp), FALSE) : TRUE)
-
-#define RTL_SOFT_ASSERTMSG(msg, exp) \
- ((!(exp)) ? \
- (DbgPrint("%s(%d): Soft assertion failed\n Expression: %s\n Message: %s\n", __FILE__, __LINE__, #exp, (msg)), FALSE) : TRUE)
-
-#define RTL_VERIFY(exp) ASSERT(exp)
-#define RTL_VERIFYMSG(msg, exp) ASSERT(msg, exp)
-
-#define RTL_SOFT_VERIFY(exp) RTL_SOFT_ASSERT(exp)
-#define RTL_SOFT_VERIFYMSG(msg, exp) RTL_SOFT_ASSERTMSG(msg, exp)
-
-#else /* !DBG */
-
-#define ASSERT(exp) ((VOID) 0)
-#define ASSERTMSG(msg, exp) ((VOID) 0)
-
-#define RTL_SOFT_ASSERT(exp) ((VOID) 0)
-#define RTL_SOFT_ASSERTMSG(msg, exp) ((VOID) 0)
-
-#define RTL_VERIFY(exp) ((exp) ? TRUE : FALSE)
-#define RTL_VERIFYMSG(msg, exp) ((exp) ? TRUE : FALSE)
-
-#define RTL_SOFT_VERIFY(exp) ((exp) ? TRUE : FALSE)
-#define RTL_SOFT_VERIFYMSG(msg, exp) ((exp) ? TRUE : FALSE)
-
-#endif /* DBG */
-
-
-/*
-** Driver support routines
-*/
-
-/** Runtime library routines **/
-
-/*
- * VOID
- * InitializeListHead(
- * IN PLIST_ENTRY ListHead)
- */
-#define InitializeListHead(_ListHead) \
-{ \
- (_ListHead)->Flink = (_ListHead); \
- (_ListHead)->Blink = (_ListHead); \
-}
-
-/*
- * VOID
- * InsertHeadList(
- * IN PLIST_ENTRY ListHead,
- * IN PLIST_ENTRY Entry)
- */
-#define InsertHeadList(_ListHead, \
- _Entry) \
-{ \
- PLIST_ENTRY _OldFlink; \
- _OldFlink = (_ListHead)->Flink; \
- (_Entry)->Flink = _OldFlink; \
- (_Entry)->Blink = (_ListHead); \
- _OldFlink->Blink = (_Entry); \
- (_ListHead)->Flink = (_Entry); \
-}
-
-/*
- * VOID
- * InsertTailList(
- * IN PLIST_ENTRY ListHead,
- * IN PLIST_ENTRY Entry)
- */
-#define InsertTailList(_ListHead, \
- _Entry) \
-{ \
- PLIST_ENTRY _OldBlink; \
- _OldBlink = (_ListHead)->Blink; \
- (_Entry)->Flink = (_ListHead); \
- (_Entry)->Blink = _OldBlink; \
- _OldBlink->Flink = (_Entry); \
- (_ListHead)->Blink = (_Entry); \
-}
-
-/*
- * BOOLEAN
- * IsListEmpty(
- * IN PLIST_ENTRY ListHead)
- */
-#define IsListEmpty(_ListHead) \
- ((_ListHead)->Flink == (_ListHead))
-
-static __inline PSINGLE_LIST_ENTRY
-PopEntryList(
- IN PSINGLE_LIST_ENTRY ListHead)
-{
- PSINGLE_LIST_ENTRY Entry;
-
- Entry = ListHead->Next;
- if (Entry != NULL)
- {
- ListHead->Next = Entry->Next;
- }
- return Entry;
-}
-
-/*
- * VOID
- * PushEntryList(
- * IN PSINGLE_LIST_ENTRY ListHead,
- * IN PSINGLE_LIST_ENTRY Entry)
- */
-#define PushEntryList(_ListHead, \
- _Entry) \
-{ \
- (_Entry)->Next = (_ListHead)->Next; \
- (_ListHead)->Next = (_Entry); \
-}
-
-/*
- * VOID
- * RemoveEntryList(
- * IN PLIST_ENTRY Entry)
- */
-#define RemoveEntryList(_Entry) \
-{ \
- PLIST_ENTRY _OldFlink; \
- PLIST_ENTRY _OldBlink; \
- _OldFlink = (_Entry)->Flink; \
- _OldBlink = (_Entry)->Blink; \
- _OldFlink->Blink = _OldBlink; \
- _OldBlink->Flink = _OldFlink; \
- (_Entry)->Flink = NULL; \
- (_Entry)->Blink = NULL; \
-}
-
-static __inline PLIST_ENTRY
-RemoveHeadList(
- IN PLIST_ENTRY ListHead)
-{
- PLIST_ENTRY OldFlink;
- PLIST_ENTRY OldBlink;
- PLIST_ENTRY Entry;
-
- Entry = ListHead->Flink;
- OldFlink = ListHead->Flink->Flink;
- OldBlink = ListHead->Flink->Blink;
- OldFlink->Blink = OldBlink;
- OldBlink->Flink = OldFlink;
-
- if (Entry != ListHead)
- {
- Entry->Flink = NULL;
- Entry->Blink = NULL;
- }
-
- return Entry;
-}
-
-static __inline PLIST_ENTRY
-RemoveTailList(
- IN PLIST_ENTRY ListHead)
-{
- PLIST_ENTRY OldFlink;
- PLIST_ENTRY OldBlink;
- PLIST_ENTRY Entry;
-
- Entry = ListHead->Blink;
- OldFlink = ListHead->Blink->Flink;
- OldBlink = ListHead->Blink->Blink;
- OldFlink->Blink = OldBlink;
- OldBlink->Flink = OldFlink;
-
- if (Entry != ListHead)
- {
- Entry->Flink = NULL;
- Entry->Blink = NULL;
- }
-
- return Entry;
-}
-
-/*
- * USHORT
- * QueryDepthSList(
- * IN PSLIST_HEADER SListHead)
- */
-#define QueryDepthSList(_SListHead) \
- ((USHORT) ((_SListHead)->Alignment & 0xffff))
-
-#define InterlockedFlushSList(ListHead) ExInterlockedFlushSList(ListHead)
-
-NTOSAPI
-ULONG
-DDKAPI
-RtlAnsiStringToUnicodeSize(
- IN PANSI_STRING AnsiString);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-RtlAddRange(
- IN OUT PRTL_RANGE_LIST RangeList,
- IN ULONGLONG Start,
- IN ULONGLONG End,
- IN UCHAR Attributes,
- IN ULONG Flags,
- IN PVOID UserData OPTIONAL,
- IN PVOID Owner OPTIONAL);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-RtlAnsiStringToUnicodeString(
- IN OUT PUNICODE_STRING DestinationString,
- IN PANSI_STRING SourceString,
- IN BOOLEAN AllocateDestinationString);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-RtlAppendUnicodeStringToString(
- IN OUT PUNICODE_STRING Destination,
- IN PUNICODE_STRING Source);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-RtlAppendUnicodeToString(
- IN OUT PUNICODE_STRING Destination,
- IN PCWSTR Source);
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-RtlAreBitsClear(
- IN PRTL_BITMAP BitMapHeader,
- IN ULONG StartingIndex,
- IN ULONG Length);
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-RtlAreBitsSet(
- IN PRTL_BITMAP BitMapHeader,
- IN ULONG StartingIndex,
- IN ULONG Length);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-RtlCharToInteger(
- IN PCSZ String,
- IN ULONG Base OPTIONAL,
- IN OUT PULONG Value);
-
-NTOSAPI
-ULONG
-DDKAPI
-RtlCheckBit(
- IN PRTL_BITMAP BitMapHeader,
- IN ULONG BitPosition);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-RtlCheckRegistryKey(
- IN ULONG RelativeTo,
- IN PWSTR Path);
-
-NTOSAPI
-VOID
-DDKAPI
-RtlClearAllBits(
- IN PRTL_BITMAP BitMapHeader);
-
-NTOSAPI
-VOID
-DDKAPI
-RtlClearBit(
- PRTL_BITMAP BitMapHeader,
- ULONG BitNumber);
-
-NTOSAPI
-VOID
-DDKAPI
-RtlClearBits(
- IN PRTL_BITMAP BitMapHeader,
- IN ULONG StartingIndex,
- IN ULONG NumberToClear);
-
-NTOSAPI
-SIZE_T
-DDKAPI
-RtlCompareMemory(
- IN CONST VOID *Source1,
- IN CONST VOID *Source2,
- IN SIZE_T Length);
-
-NTOSAPI
-LONG
-DDKAPI
-RtlCompareString(
- IN PSTRING String1,
- IN PSTRING String2,
- BOOLEAN CaseInSensitive);
-
-NTOSAPI
-LONG
-DDKAPI
-RtlCompareUnicodeString(
- IN PUNICODE_STRING String1,
- IN PUNICODE_STRING String2,
- IN BOOLEAN CaseInSensitive);
-
-NTOSAPI
-LARGE_INTEGER
-DDKAPI
-RtlConvertLongToLargeInteger(
- IN LONG SignedInteger);
-
-NTOSAPI
-LUID
-DDKAPI
-RtlConvertLongToLuid(
- IN LONG Long);
-
-NTOSAPI
-LARGE_INTEGER
-DDKAPI
-RtlConvertUlongToLargeInteger(
- IN ULONG UnsignedInteger);
-
-NTOSAPI
-LUID
-DDKAPI
-RtlConvertUlongToLuid(
- ULONG Ulong);
-
-/*
- * VOID
- * RtlCopyMemory(
- * IN VOID UNALIGNED *Destination,
- * IN CONST VOID UNALIGNED *Source,
- * IN SIZE_T Length)
- */
-#ifndef RtlCopyMemory
-#define RtlCopyMemory(Destination, Source, Length) \
- memcpy(Destination, Source, Length);
-#endif
-
-#ifndef RtlCopyBytes
-#define RtlCopyBytes RtlCopyMemory
-#endif
-
-NTOSAPI
-VOID
-DDKAPI
-RtlCopyMemory32(
- IN VOID UNALIGNED *Destination,
- IN CONST VOID UNALIGNED *Source,
- IN ULONG Length);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-RtlCopyRangeList(
- OUT PRTL_RANGE_LIST CopyRangeList,
- IN PRTL_RANGE_LIST RangeList);
-
-NTOSAPI
-VOID
-DDKAPI
-RtlCopyString(
- IN OUT PSTRING DestinationString,
- IN PSTRING SourceString OPTIONAL);
-
-NTOSAPI
-VOID
-DDKAPI
-RtlCopyUnicodeString(
- IN OUT PUNICODE_STRING DestinationString,
- IN PUNICODE_STRING SourceString);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-RtlCreateRegistryKey(
- IN ULONG RelativeTo,
- IN PWSTR Path);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-RtlCreateSecurityDescriptor(
- IN OUT PSECURITY_DESCRIPTOR SecurityDescriptor,
- IN ULONG Revision);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-RtlDeleteOwnersRanges(
- IN OUT PRTL_RANGE_LIST RangeList,
- IN PVOID Owner);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-RtlDeleteRange(
- IN OUT PRTL_RANGE_LIST RangeList,
- IN ULONGLONG Start,
- IN ULONGLONG End,
- IN PVOID Owner);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-RtlDeleteRegistryValue(
- IN ULONG RelativeTo,
- IN PCWSTR Path,
- IN PCWSTR ValueName);
-
-NTOSAPI
-BOOL
-DDKAPI
-RtlDosPathNameToNtPathName_U(
- IN PCWSTR DosPathName,
- OUT PUNICODE_STRING NtPathName,
- OUT PCWSTR *NtFileNamePart,
- OUT VOID *DirectoryInfo);
-
-/*
- * BOOLEAN
- * RtlEqualLuid(
- * IN LUID Luid1,
- * IN LUID Luid2)
- */
-#define RtlEqualLuid(_Luid1, \
- _Luid2) \
- ((Luid1.LowPart == Luid2.LowPart) && (Luid1.HighPart == Luid2.HighPart))
-
-/*
- * ULONG
- * RtlEqualMemory(
- * IN VOID UNALIGNED *Destination,
- * IN CONST VOID UNALIGNED *Source,
- * IN SIZE_T Length)
- */
-#define RtlEqualMemory(Destination, Source, Length) (!memcmp(Destination, Source, Length))
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-RtlEqualString(
- IN PSTRING String1,
- IN PSTRING String2,
- IN BOOLEAN CaseInSensitive);
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-RtlEqualUnicodeString(
- IN CONST UNICODE_STRING *String1,
- IN CONST UNICODE_STRING *String2,
- IN BOOLEAN CaseInSensitive);
-
-/*
- * VOID
- * RtlFillMemory(
- * IN VOID UNALIGNED *Destination,
- * IN SIZE_T Length,
- * IN UCHAR Fill)
- */
-#ifndef RtlFillMemory
-#define RtlFillMemory(Destination, Length, Fill) \
- memset(Destination, Fill, Length)
-#endif
-
-#ifndef RtlFillBytes
-#define RtlFillBytes RtlFillMemory
-#endif
-
-NTOSAPI
-ULONG
-DDKAPI
-RtlFindClearBits(
- IN PRTL_BITMAP BitMapHeader,
- IN ULONG NumberToFind,
- IN ULONG HintIndex);
-
-NTOSAPI
-ULONG
-DDKAPI
-RtlFindClearBitsAndSet(
- IN PRTL_BITMAP BitMapHeader,
- IN ULONG NumberToFind,
- IN ULONG HintIndex);
-
-NTOSAPI
-ULONG
-DDKAPI
-RtlFindClearRuns(
- IN PRTL_BITMAP BitMapHeader,
- OUT PRTL_BITMAP_RUN RunArray,
- IN ULONG SizeOfRunArray,
- IN BOOLEAN LocateLongestRuns);
-
-NTOSAPI
-ULONG
-DDKAPI
-RtlFindFirstRunClear(
- IN PRTL_BITMAP BitMapHeader,
- OUT PULONG StartingIndex);
-
-NTOSAPI
-ULONG
-DDKAPI
-RtlFindLastBackwardRunClear(
- IN PRTL_BITMAP BitMapHeader,
- IN ULONG FromIndex,
- OUT PULONG StartingRunIndex);
-
-NTOSAPI
-CCHAR
-DDKAPI
-RtlFindLeastSignificantBit(
- IN ULONGLONG Set);
-
-NTOSAPI
-ULONG
-DDKAPI
-RtlFindLongestRunClear(
- IN PRTL_BITMAP BitMapHeader,
- OUT PULONG StartingIndex);
-
-NTOSAPI
-CCHAR
-DDKAPI
-RtlFindMostSignificantBit(
- IN ULONGLONG Set);
-
-NTOSAPI
-ULONG
-DDKAPI
-RtlFindNextForwardRunClear(
- IN PRTL_BITMAP BitMapHeader,
- IN ULONG FromIndex,
- OUT PULONG StartingRunIndex);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-RtlFindRange(
- IN PRTL_RANGE_LIST RangeList,
- IN ULONGLONG Minimum,
- IN ULONGLONG Maximum,
- IN ULONG Length,
- IN ULONG Alignment,
- IN ULONG Flags,
- IN UCHAR AttributeAvailableMask,
- IN PVOID Context OPTIONAL,
- IN PRTL_CONFLICT_RANGE_CALLBACK Callback OPTIONAL,
- OUT PULONGLONG Start);
-
-NTOSAPI
-ULONG
-DDKAPI
-RtlFindSetBits(
- IN PRTL_BITMAP BitMapHeader,
- IN ULONG NumberToFind,
- IN ULONG HintIndex);
-
-NTOSAPI
-ULONG
-DDKAPI
-RtlFindSetBitsAndClear(
- IN PRTL_BITMAP BitMapHeader,
- IN ULONG NumberToFind,
- IN ULONG HintIndex);
-
-NTOSAPI
-VOID
-DDKAPI
-RtlFreeAnsiString(
- IN PANSI_STRING AnsiString);
-
-NTOSAPI
-VOID
-DDKAPI
-RtlFreeRangeList(
- IN PRTL_RANGE_LIST RangeList);
-
-NTOSAPI
-VOID
-DDKAPI
-RtlFreeUnicodeString(
- IN PUNICODE_STRING UnicodeString);
-
-NTOSAPI
-VOID
-DDKAPI
-RtlGetCallersAddress(
- OUT PVOID *CallersAddress,
- OUT PVOID *CallersCaller);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-RtlGetVersion(
- IN OUT PRTL_OSVERSIONINFOW lpVersionInformation);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-RtlGetFirstRange(
- IN PRTL_RANGE_LIST RangeList,
- OUT PRTL_RANGE_LIST_ITERATOR Iterator,
- OUT PRTL_RANGE *Range);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-RtlGetNextRange(
- IN OUT PRTL_RANGE_LIST_ITERATOR Iterator,
- OUT PRTL_RANGE *Range,
- IN BOOLEAN MoveForwards);
-
-#define FOR_ALL_RANGES(RangeList, Iterator, Current) \
- for (RtlGetFirstRange((RangeList), (Iterator), &(Current)); \
- (Current) != NULL; \
- RtlGetNextRange((Iterator), &(Current), TRUE))
-
-#define FOR_ALL_RANGES_BACKWARDS(RangeList, Iterator, Current) \
- for (RtlGetLastRange((RangeList), (Iterator), &(Current)); \
- (Current) != NULL; \
- RtlGetNextRange((Iterator), &(Current), FALSE))
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-RtlGUIDFromString(
- IN PUNICODE_STRING GuidString,
- OUT GUID *Guid);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-RtlHashUnicodeString(
- IN CONST UNICODE_STRING *String,
- IN BOOLEAN CaseInSensitive,
- IN ULONG HashAlgorithm,
- OUT PULONG HashValue);
-
-NTOSAPI
-VOID
-DDKAPI
-RtlInitAnsiString(
- IN OUT PANSI_STRING DestinationString,
- IN PCSZ SourceString);
-
-NTOSAPI
-VOID
-DDKAPI
-RtlInitializeBitMap(
- IN PRTL_BITMAP BitMapHeader,
- IN PULONG BitMapBuffer,
- IN ULONG SizeOfBitMap);
-
-NTOSAPI
-VOID
-DDKAPI
-RtlInitializeRangeList(
- IN OUT PRTL_RANGE_LIST RangeList);
-
-NTOSAPI
-VOID
-DDKAPI
-RtlInitString(
- IN OUT PSTRING DestinationString,
- IN PCSZ SourceString);
-
-NTOSAPI
-VOID
-DDKAPI
-RtlInitUnicodeString(
- IN OUT PUNICODE_STRING DestinationString,
- IN PCWSTR SourceString);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-RtlInt64ToUnicodeString(
- IN ULONGLONG Value,
- IN ULONG Base OPTIONAL,
- IN OUT PUNICODE_STRING String);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-RtlIntegerToUnicodeString(
- IN ULONG Value,
- IN ULONG Base OPTIONAL,
- IN OUT PUNICODE_STRING String);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-RtlIntPtrToUnicodeString(
- PLONG Value,
- ULONG Base OPTIONAL,
- PUNICODE_STRING String);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-RtlInvertRangeList(
- OUT PRTL_RANGE_LIST InvertedRangeList,
- IN PRTL_RANGE_LIST RangeList);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-RtlIsRangeAvailable(
- IN PRTL_RANGE_LIST RangeList,
- IN ULONGLONG Start,
- IN ULONGLONG End,
- IN ULONG Flags,
- IN UCHAR AttributeAvailableMask,
- IN PVOID Context OPTIONAL,
- IN PRTL_CONFLICT_RANGE_CALLBACK Callback OPTIONAL,
- OUT PBOOLEAN Available);
-
-/*
- * BOOLEAN
- * RtlIsZeroLuid(
- * IN PLUID L1)
- */
-#define RtlIsZeroLuid(_L1) \
- ((BOOLEAN) ((!(_L1)->LowPart) && (!(_L1)->HighPart)))
-
-NTOSAPI
-ULONG
-DDKAPI
-RtlLengthSecurityDescriptor(
- IN PSECURITY_DESCRIPTOR SecurityDescriptor);
-
-NTOSAPI
-VOID
-DDKAPI
-RtlMapGenericMask(
- IN OUT PACCESS_MASK AccessMask,
- IN PGENERIC_MAPPING GenericMapping);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-RtlMergeRangeLists(
- OUT PRTL_RANGE_LIST MergedRangeList,
- IN PRTL_RANGE_LIST RangeList1,
- IN PRTL_RANGE_LIST RangeList2,
- IN ULONG Flags);
-
-/*
- * VOID
- * RtlMoveMemory(
- * IN VOID UNALIGNED *Destination,
- * IN CONST VOID UNALIGNED *Source,
- * IN SIZE_T Length)
- */
-#define RtlMoveMemory memmove
-
-NTOSAPI
-ULONG
-DDKAPI
-RtlNumberOfClearBits(
- IN PRTL_BITMAP BitMapHeader);
-
-NTOSAPI
-ULONG
-DDKAPI
-RtlNumberOfSetBits(
- IN PRTL_BITMAP BitMapHeader);
-
-NTOSAPI
-VOID
-DDKFASTAPI
-RtlPrefetchMemoryNonTemporal(
- IN PVOID Source,
- IN SIZE_T Length);
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-RtlPrefixUnicodeString(
- IN PUNICODE_STRING String1,
- IN PUNICODE_STRING String2,
- IN BOOLEAN CaseInSensitive);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-RtlQueryRegistryValues(
- IN ULONG RelativeTo,
- IN PCWSTR Path,
- IN PRTL_QUERY_REGISTRY_TABLE QueryTable,
- IN PVOID Context,
- IN PVOID Environment OPTIONAL);
-
-NTOSAPI
-VOID
-DDKAPI
-RtlRetrieveUlong(
- IN OUT PULONG DestinationAddress,
- IN PULONG SourceAddress);
-
-NTOSAPI
-VOID
-DDKAPI
-RtlRetrieveUshort(
- IN OUT PUSHORT DestinationAddress,
- IN PUSHORT SourceAddress);
-
-NTOSAPI
-VOID
-DDKAPI
-RtlSetAllBits(
- IN PRTL_BITMAP BitMapHeader);
-
-NTOSAPI
-VOID
-DDKAPI
-RtlSetBit(
- PRTL_BITMAP BitMapHeader,
- ULONG BitNumber);
-
-NTOSAPI
-VOID
-DDKAPI
-RtlSetBits(
- IN PRTL_BITMAP BitMapHeader,
- IN ULONG StartingIndex,
- IN ULONG NumberToSet);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-RtlSetDaclSecurityDescriptor(
- IN OUT PSECURITY_DESCRIPTOR SecurityDescriptor,
- IN BOOLEAN DaclPresent,
- IN PACL Dacl OPTIONAL,
- IN BOOLEAN DaclDefaulted OPTIONAL);
-
-NTOSAPI
-VOID
-DDKAPI
-RtlStoreUlong(
- IN PULONG Address,
- IN ULONG Value);
-
-NTOSAPI
-VOID
-DDKAPI
-RtlStoreUlonglong(
- IN OUT PULONGLONG Address,
- ULONGLONG Value);
-
-NTOSAPI
-VOID
-DDKAPI
-RtlStoreUlongPtr(
- IN OUT PULONG_PTR Address,
- IN ULONG_PTR Value);
-
-NTOSAPI
-VOID
-DDKAPI
-RtlStoreUshort(
- IN PUSHORT Address,
- IN USHORT Value);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-RtlStringFromGUID(
- IN REFGUID Guid,
- OUT PUNICODE_STRING GuidString);
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-RtlTestBit(
- IN PRTL_BITMAP BitMapHeader,
- IN ULONG BitNumber);
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-RtlTimeFieldsToTime(
- IN PTIME_FIELDS TimeFields,
- IN PLARGE_INTEGER Time);
-
-NTOSAPI
-VOID
-DDKAPI
-RtlTimeToTimeFields(
- IN PLARGE_INTEGER Time,
- IN PTIME_FIELDS TimeFields);
-
-NTOSAPI
-ULONG
-DDKFASTAPI
-RtlUlongByteSwap(
- IN ULONG Source);
-
-NTOSAPI
-ULONGLONG
-DDKFASTAPI
-RtlUlonglongByteSwap(
- IN ULONGLONG Source);
-
-NTOSAPI
-ULONG
-DDKAPI
-RtlUnicodeStringToAnsiSize(
- IN PUNICODE_STRING UnicodeString);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-RtlUnicodeStringToAnsiString(
- IN OUT PANSI_STRING DestinationString,
- IN PUNICODE_STRING SourceString,
- IN BOOLEAN AllocateDestinationString);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-RtlUnicodeStringToInteger(
- IN PUNICODE_STRING String,
- IN ULONG Base OPTIONAL,
- OUT PULONG Value);
-
-NTOSAPI
-WCHAR
-DDKAPI
-RtlUpcaseUnicodeChar(
- IN WCHAR SourceCharacter);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-RtlUpcaseUnicodeString(
- IN OUT PUNICODE_STRING DestinationString OPTIONAL,
- IN PCUNICODE_STRING SourceString,
- IN BOOLEAN AllocateDestinationString);
-
-NTOSAPI
-CHAR
-DDKAPI
-RtlUpperChar(
- IN CHAR Character);
-
-NTOSAPI
-VOID
-DDKAPI
-RtlUpperString(
- IN OUT PSTRING DestinationString,
- IN PSTRING SourceString);
-
-NTOSAPI
-USHORT
-DDKFASTAPI
-RtlUshortByteSwap(
- IN USHORT Source);
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-RtlValidRelativeSecurityDescriptor(
- IN PSECURITY_DESCRIPTOR SecurityDescriptorInput,
- IN ULONG SecurityDescriptorLength,
- IN SECURITY_INFORMATION RequiredInformation);
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-RtlValidSecurityDescriptor(
- IN PSECURITY_DESCRIPTOR SecurityDescriptor);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-RtlVerifyVersionInfo(
- IN PRTL_OSVERSIONINFOEXW VersionInfo,
- IN ULONG TypeMask,
- IN ULONGLONG ConditionMask);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-RtlVolumeDeviceToDosName(
- IN PVOID VolumeDeviceObject,
- OUT PUNICODE_STRING DosName);
-
-NTOSAPI
-ULONG
-DDKAPI
-RtlWalkFrameChain(
- OUT PVOID *Callers,
- IN ULONG Count,
- IN ULONG Flags);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-RtlWriteRegistryValue(
- IN ULONG RelativeTo,
- IN PCWSTR Path,
- IN PCWSTR ValueName,
- IN ULONG ValueType,
- IN PVOID ValueData,
- IN ULONG ValueLength);
-
-NTOSAPI
-ULONG
-DDKAPI
-RtlxUnicodeStringToAnsiSize(
- IN PUNICODE_STRING UnicodeString);
-
-/*
- * VOID
- * RtlZeroMemory(
- * IN VOID UNALIGNED *Destination,
- * IN SIZE_T Length)
- */
-#ifndef RtlZeroMemory
-#define RtlZeroMemory(Destination, Length) \
- memset(Destination, 0, Length)
-#endif
-
-#ifndef RtlZeroBytes
-#define RtlZeroBytes RtlZeroMemory
-#endif
-
-
-/** Executive support routines **/
-
-NTOSAPI
-VOID
-DDKFASTAPI
-ExAcquireFastMutex(
- IN PFAST_MUTEX FastMutex);
-
-NTOSAPI
-VOID
-DDKFASTAPI
-ExAcquireFastMutexUnsafe(
- IN PFAST_MUTEX FastMutex);
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-ExAcquireResourceExclusiveLite(
- IN PERESOURCE Resource,
- IN BOOLEAN Wait);
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-ExAcquireResourceSharedLite(
- IN PERESOURCE Resource,
- IN BOOLEAN Wait);
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-ExAcquireSharedStarveExclusive(
- IN PERESOURCE Resource,
- IN BOOLEAN Wait);
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-ExAcquireSharedWaitForExclusive(
- IN PERESOURCE Resource,
- IN BOOLEAN Wait);
-
-
-NTOSAPI
-PSINGLE_LIST_ENTRY
-DDKFASTAPI
-ExInterlockedPopEntrySList(
- IN PSLIST_HEADER ListHead,
- IN PKSPIN_LOCK Lock);
-
-
-NTOSAPI
-PSINGLE_LIST_ENTRY
-DDKFASTAPI
-ExInterlockedPushEntrySList(
- IN PSLIST_HEADER ListHead,
- IN PSINGLE_LIST_ENTRY ListEntry,
- IN PKSPIN_LOCK Lock);
-
-
-#if (__USE_NTOSKRNL__) && (_WIN32_WINNT >= 0x0501)
-#define ExInterlockedPopEntrySList(_ListHead, \
- _Lock) \
- InterlockedPopEntrySList(_ListHead)
-
-#define ExInterlockedPushEntrySList(_ListHead, \
- _ListEntry, \
- _Lock) \
- InterlockedPushEntrySList(_ListHead, _ListEntry)
-#endif /* __USE_NTOSKRNL__ */
-
-#define ExQueryDepthSList(ListHead) QueryDepthSList(ListHead)
-
-static __inline PVOID
-ExAllocateFromNPagedLookasideList(
- IN PNPAGED_LOOKASIDE_LIST Lookaside)
-{
- PVOID Entry;
-
- Lookaside->TotalAllocates++;
- Entry = ExInterlockedPopEntrySList(&Lookaside->ListHead,
- &Lookaside->Obsoleted);
- if (Entry == NULL) {
- Lookaside->_DDK_DUMMYUNION_MEMBER(AllocateMisses)++;
- Entry = (Lookaside->Allocate)(Lookaside->Type,
- Lookaside->Size,
- Lookaside->Tag);
- }
- return Entry;
-}
-
-static __inline VOID
-ExFreeToNPagedLookasideList(
- IN PNPAGED_LOOKASIDE_LIST Lookaside,
- IN PVOID Entry)
-{
- Lookaside->TotalFrees++;
- if (ExQueryDepthSList(&Lookaside->ListHead) >= Lookaside->Depth) {
- Lookaside->_DDK_DUMMYUNION_N_MEMBER(2,FreeMisses)++;
- (Lookaside->Free)(Entry);
- } else {
- ExInterlockedPushEntrySList(&Lookaside->ListHead,
- (PSLIST_ENTRY)Entry,
- &Lookaside->Obsoleted);
- }
-}
-
-#if (__USE_NTOSKRNL__) && (_WIN32_WINNT >= 0x0501)
-
-static __inline PVOID
-ExAllocateFromPagedLookasideList(
- IN PPAGED_LOOKASIDE_LIST Lookaside)
-{
- PVOID Entry;
-
- Lookaside->TotalAllocates++;
- Entry = InterlockedPopEntrySList(&Lookaside->ListHead);
- if (Entry == NULL) {
- Lookaside->_DDK_DUMMYUNION_MEMBER(AllocateMisses)++;
- Entry = (Lookaside->Allocate)(Lookaside->Type,
- Lookaside->Size,
- Lookaside->Tag);
- }
- return Entry;
-}
-
-static __inline VOID
-ExFreeToPagedLookasideList(
- IN PPAGED_LOOKASIDE_LIST Lookaside,
- IN PVOID Entry)
-{
- Lookaside->TotalFrees++;
- if (ExQueryDepthSList(&Lookaside->ListHead) >= Lookaside->Depth) {
- Lookaside->_DDK_DUMMYUNION_N_MEMBER(2,FreeMisses)++;
- (Lookaside->Free)(Entry);
- } else {
- InterlockedPushEntrySList(&Lookaside->ListHead,
- (PSLIST_ENTRY)Entry);
- }
-}
-
-#else /* (__USE_NTOSKRNL__) && (_WIN32_WINNT >= 0x0501) */
-
-NTOSAPI
-PVOID
-DDKAPI
-ExAllocateFromPagedLookasideList(
- IN PPAGED_LOOKASIDE_LIST Lookaside);
-
-NTOSAPI
-VOID
-DDKAPI
-ExFreeToPagedLookasideList(
- IN PPAGED_LOOKASIDE_LIST Lookaside,
- IN PVOID Entry);
-
-#endif /* (__USE_NTOSKRNL__) && (_WIN32_WINNT >= 0x0501) */
-
-NTOSAPI
-PVOID
-DDKAPI
-ExAllocatePoolWithQuotaTag(
- IN POOL_TYPE PoolType,
- IN SIZE_T NumberOfBytes,
- IN ULONG Tag);
-
-NTOSAPI
-PVOID
-DDKAPI
-ExAllocatePoolWithTag(
- IN POOL_TYPE PoolType,
- IN SIZE_T NumberOfBytes,
- IN ULONG Tag);
-
-#ifdef POOL_TAGGING
-
-#define ExAllocatePoolWithQuota(p,n) ExAllocatePoolWithQuotaTag(p,n,' kdD')
-#define ExAllocatePool(p,n) ExAllocatePoolWithTag(p,n,' kdD')
-
-#else /* !POOL_TAGGING */
-
-NTOSAPI
-PVOID
-DDKAPI
-ExAllocatePool(
- IN POOL_TYPE PoolType,
- IN SIZE_T NumberOfBytes);
-
-NTOSAPI
-PVOID
-DDKAPI
-ExAllocatePoolWithQuota(
- IN POOL_TYPE PoolType,
- IN SIZE_T NumberOfBytes);
-
-#endif /* POOL_TAGGING */
-
-NTOSAPI
-PVOID
-DDKAPI
-ExAllocatePoolWithTagPriority(
- IN POOL_TYPE PoolType,
- IN SIZE_T NumberOfBytes,
- IN ULONG Tag,
- IN EX_POOL_PRIORITY Priority);
-
-NTOSAPI
-VOID
-DDKAPI
-ExConvertExclusiveToSharedLite(
- IN PERESOURCE Resource);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-ExCreateCallback(
- OUT PCALLBACK_OBJECT *CallbackObject,
- IN POBJECT_ATTRIBUTES ObjectAttributes,
- IN BOOLEAN Create,
- IN BOOLEAN AllowMultipleCallbacks);
-
-NTOSAPI
-VOID
-DDKAPI
-ExDeleteNPagedLookasideList(
- IN PNPAGED_LOOKASIDE_LIST Lookaside);
-
-NTOSAPI
-VOID
-DDKAPI
-ExDeletePagedLookasideList(
- IN PPAGED_LOOKASIDE_LIST Lookaside);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-ExDeleteResourceLite(
- IN PERESOURCE Resource);
-
-NTOSAPI
-VOID
-DDKAPI
-ExFreePool(
- IN PVOID P);
-
-#define PROTECTED_POOL 0x80000000
-
-#ifdef POOL_TAGGING
-#define ExFreePool(P) ExFreePoolWithTag(P, 0)
-#endif
-
-NTOSAPI
-VOID
-DDKAPI
-ExFreePoolWithTag(
- IN PVOID P,
- IN ULONG Tag);
-
-/*
- * ERESOURCE_THREAD
- * ExGetCurrentResourceThread(
- * VOID);
- */
-#define ExGetCurrentResourceThread() ((ERESOURCE_THREAD) PsGetCurrentThread())
-
-NTOSAPI
-ULONG
-DDKAPI
-ExGetExclusiveWaiterCount(
- IN PERESOURCE Resource);
-
-NTOSAPI
-KPROCESSOR_MODE
-DDKAPI
-ExGetPreviousMode(
- VOID);
-
-NTOSAPI
-ULONG
-DDKAPI
-ExGetSharedWaiterCount(
- IN PERESOURCE Resource);
-
-NTOSAPI
-VOID
-DDKAPI
-KeInitializeEvent(
- IN PRKEVENT Event,
- IN EVENT_TYPE Type,
- IN BOOLEAN State);
-
-/*
- * VOID DDKAPI
- * ExInitializeFastMutex(
- * IN PFAST_MUTEX FastMutex)
- */
-#define ExInitializeFastMutex(_FastMutex) \
-{ \
- (_FastMutex)->Count = 1; \
- (_FastMutex)->Owner = NULL; \
- (_FastMutex)->Contention = 0; \
- KeInitializeEvent(&(_FastMutex)->Event, SynchronizationEvent, FALSE); \
-}
-
-NTOSAPI
-VOID
-DDKAPI
-ExInitializeNPagedLookasideList(
- IN PNPAGED_LOOKASIDE_LIST Lookaside,
- IN PALLOCATE_FUNCTION Allocate OPTIONAL,
- IN PFREE_FUNCTION Free OPTIONAL,
- IN ULONG Flags,
- IN SIZE_T Size,
- IN ULONG Tag,
- IN USHORT Depth);
-
-NTOSAPI
-VOID
-DDKAPI
-ExInitializePagedLookasideList(
- IN PPAGED_LOOKASIDE_LIST Lookaside,
- IN PALLOCATE_FUNCTION Allocate OPTIONAL,
- IN PFREE_FUNCTION Free OPTIONAL,
- IN ULONG Flags,
- IN SIZE_T Size,
- IN ULONG Tag,
- IN USHORT Depth);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-ExInitializeResourceLite(
- IN PERESOURCE Resource);
-
-/*
- * VOID
- * InitializeSListHead(
- * IN PSLIST_HEADER SListHead)
- */
-#define InitializeSListHead(_SListHead) \
- (_SListHead)->Alignment = 0
-
-#define ExInitializeSListHead InitializeSListHead
-
-NTOSAPI
-LARGE_INTEGER
-DDKAPI
-ExInterlockedAddLargeInteger(
- IN PLARGE_INTEGER Addend,
- IN LARGE_INTEGER Increment,
- IN PKSPIN_LOCK Lock);
-
-NTOSAPI
-VOID
-DDKFASTAPI
-ExInterlockedAddLargeStatistic(
- IN PLARGE_INTEGER Addend,
- IN ULONG Increment);
-
-NTOSAPI
-ULONG
-DDKAPI
-ExInterlockedAddUlong(
- IN PULONG Addend,
- IN ULONG Increment,
- PKSPIN_LOCK Lock);
-
-NTOSAPI
-ULONG
-DDKFASTAPI
-ExfInterlockedAddUlong(
- IN PULONG Addend,
- IN ULONG Increment,
- PKSPIN_LOCK Lock);
-
-
-NTOSAPI
-LONGLONG
-DDKFASTAPI
-ExInterlockedCompareExchange64(
- IN OUT PLONGLONG Destination,
- IN PLONGLONG Exchange,
- IN PLONGLONG Comparand,
- IN PKSPIN_LOCK Lock);
-
-NTOSAPI
-PSINGLE_LIST_ENTRY
-DDKFASTAPI
-ExInterlockedFlushSList(
- IN PSLIST_HEADER ListHead);
-
-NTOSAPI
-PLIST_ENTRY
-DDKAPI
-ExInterlockedInsertHeadList(
- IN PLIST_ENTRY ListHead,
- IN PLIST_ENTRY ListEntry,
- IN PKSPIN_LOCK Lock);
-
-NTOSAPI
-PLIST_ENTRY
-DDKFASTAPI
-ExfInterlockedInsertHeadList(
- IN PLIST_ENTRY ListHead,
- IN PLIST_ENTRY ListEntry,
- IN PKSPIN_LOCK Lock);
-
-NTOSAPI
-PLIST_ENTRY
-DDKAPI
-ExInterlockedInsertTailList(
- IN PLIST_ENTRY ListHead,
- IN PLIST_ENTRY ListEntry,
- IN PKSPIN_LOCK Lock);
-
-NTOSAPI
-PLIST_ENTRY
-DDKFASTAPI
-ExfInterlockedInsertTailList(
- IN PLIST_ENTRY ListHead,
- IN PLIST_ENTRY ListEntry,
- IN PKSPIN_LOCK Lock);
-
-NTOSAPI
-PSINGLE_LIST_ENTRY
-DDKAPI
-ExInterlockedPopEntryList(
- IN PSINGLE_LIST_ENTRY ListHead,
- IN PKSPIN_LOCK Lock);
-
-NTOSAPI
-PSINGLE_LIST_ENTRY
-DDKFASTAPI
-ExfInterlockedPopEntryList(
- IN PSINGLE_LIST_ENTRY ListHead,
- IN PKSPIN_LOCK Lock);
-
-
-NTOSAPI
-PSINGLE_LIST_ENTRY
-DDKAPI
-ExInterlockedPushEntryList(
- IN PSINGLE_LIST_ENTRY ListHead,
- IN PSINGLE_LIST_ENTRY ListEntry,
- IN PKSPIN_LOCK Lock);
-
-NTOSAPI
-PSINGLE_LIST_ENTRY
-DDKFASTAPI
-ExfInterlockedPushEntryList(
- IN PSINGLE_LIST_ENTRY ListHead,
- IN PSINGLE_LIST_ENTRY ListEntry,
- IN PKSPIN_LOCK Lock);
-
-
-NTOSAPI
-PLIST_ENTRY
-DDKAPI
-ExInterlockedRemoveHeadList(
- IN PLIST_ENTRY ListHead,
- IN PKSPIN_LOCK Lock);
-
-NTOSAPI
-PLIST_ENTRY
-DDKFASTAPI
-ExfInterlockedRemoveHeadList(
- IN PLIST_ENTRY ListHead,
- IN PKSPIN_LOCK Lock);
-
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-ExIsProcessorFeaturePresent(
- IN ULONG ProcessorFeature);
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-ExIsResourceAcquiredExclusiveLite(
- IN PERESOURCE Resource);
-
-NTOSAPI
-USHORT
-DDKAPI
-ExIsResourceAcquiredLite(
- IN PERESOURCE Resource);
-
-NTOSAPI
-USHORT
-DDKAPI
-ExIsResourceAcquiredSharedLite(
- IN PERESOURCE Resource);
-
-NTOSAPI
-VOID
-DDKAPI
-ExLocalTimeToSystemTime(
- IN PLARGE_INTEGER LocalTime,
- OUT PLARGE_INTEGER SystemTime);
-
-NTOSAPI
-VOID
-DDKAPI
-ExNotifyCallback(
- IN PCALLBACK_OBJECT CallbackObject,
- IN PVOID Argument1,
- IN PVOID Argument2);
-
-NTOSAPI
-VOID
-DDKAPI
-ExRaiseAccessViolation(
- VOID);
-
-NTOSAPI
-VOID
-DDKAPI
-ExRaiseDatatypeMisalignment(
- VOID);
-
-NTOSAPI
-VOID
-DDKAPI
-ExRaiseStatus(
- IN NTSTATUS Status);
-
-NTOSAPI
-PVOID
-DDKAPI
-ExRegisterCallback(
- IN PCALLBACK_OBJECT CallbackObject,
- IN PCALLBACK_FUNCTION CallbackFunction,
- IN PVOID CallbackContext);
-
-NTOSAPI
-VOID
-DDKAPI
-ExReinitializeResourceLite(
- IN PERESOURCE Resource);
-
-NTOSAPI
-VOID
-DDKFASTAPI
-ExReleaseFastMutex(
- IN PFAST_MUTEX FastMutex);
-
-NTOSAPI
-VOID
-DDKFASTAPI
-ExReleaseFastMutexUnsafe(
- IN PFAST_MUTEX FastMutex);
-
-NTOSAPI
-VOID
-DDKAPI
-ExReleaseResourceForThreadLite(
- IN PERESOURCE Resource,
- IN ERESOURCE_THREAD ResourceThreadId);
-
-NTOSAPI
-VOID
-DDKFASTAPI
-ExReleaseResourceLite(
- IN PERESOURCE Resource);
-
-NTOSAPI
-VOID
-DDKAPI
-ExSetResourceOwnerPointer(
- IN PERESOURCE Resource,
- IN PVOID OwnerPointer);
-
-NTOSAPI
-ULONG
-DDKAPI
-ExSetTimerResolution(
- IN ULONG DesiredTime,
- IN BOOLEAN SetResolution);
-
-NTOSAPI
-VOID
-DDKAPI
-ExSystemTimeToLocalTime(
- IN PLARGE_INTEGER SystemTime,
- OUT PLARGE_INTEGER LocalTime);
-
-NTOSAPI
-BOOLEAN
-DDKFASTAPI
-ExTryToAcquireFastMutex(
- IN PFAST_MUTEX FastMutex);
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-ExTryToAcquireResourceExclusiveLite(
- IN PERESOURCE Resource);
-
-NTOSAPI
-VOID
-DDKAPI
-ExUnregisterCallback(
- IN PVOID CbRegistration);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-ExUuidCreate(
- OUT UUID *Uuid);
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-ExVerifySuite(
- IN SUITE_TYPE SuiteType);
-
-#ifdef DBG
-
-#define PAGED_CODE() { \
- if (KeGetCurrentIrql() > APC_LEVEL) { \
- KdPrint( ("NTDDK: Pageable code called at IRQL > APC_LEVEL (%d)\n", KeGetCurrentIrql() )); \
- ASSERT(FALSE); \
- } \
-}
-
-#else
-
-#define PAGED_CODE()
-
-#endif
-
-NTOSAPI
-VOID
-DDKAPI
-ProbeForRead(
- IN CONST VOID *Address,
- IN ULONG Length,
- IN ULONG Alignment);
-
-NTOSAPI
-VOID
-DDKAPI
-ProbeForWrite(
- IN CONST VOID *Address,
- IN ULONG Length,
- IN ULONG Alignment);
-
-
-
-/** Configuration manager routines **/
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-CmRegisterCallback(
- IN PEX_CALLBACK_FUNCTION Function,
- IN PVOID Context,
- IN OUT PLARGE_INTEGER Cookie);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-CmUnRegisterCallback(
- IN LARGE_INTEGER Cookie);
-
-
-
-/** Filesystem runtime library routines **/
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-FsRtlIsTotalDeviceFailure(
- IN NTSTATUS Status);
-
-
-
-/** Hardware abstraction layer routines **/
-
-NTOSAPI
-VOID
-DDKFASTAPI
-HalExamineMBR(
- IN PDEVICE_OBJECT DeviceObject,
- IN ULONG SectorSize,
- IN ULONG MBRTypeIdentifier,
- OUT PVOID Buffer);
-
-NTOSAPI
-VOID
-DDKAPI
-READ_PORT_BUFFER_UCHAR(
- IN PUCHAR Port,
- IN PUCHAR Buffer,
- IN ULONG Count);
-
-NTOSAPI
-VOID
-DDKAPI
-READ_PORT_BUFFER_ULONG(
- IN PULONG Port,
- IN PULONG Buffer,
- IN ULONG Count);
-
-NTOSAPI
-VOID
-DDKAPI
-READ_PORT_BUFFER_USHORT(
- IN PUSHORT Port,
- IN PUSHORT Buffer,
- IN ULONG Count);
-
-NTOSAPI
-UCHAR
-DDKAPI
-READ_PORT_UCHAR(
- IN PUCHAR Port);
-
-NTOSAPI
-ULONG
-DDKAPI
-READ_PORT_ULONG(
- IN PULONG Port);
-
-NTOSAPI
-USHORT
-DDKAPI
-READ_PORT_USHORT(
- IN PUSHORT Port);
-
-NTOSAPI
-VOID
-DDKAPI
-READ_REGISTER_BUFFER_UCHAR(
- IN PUCHAR Register,
- IN PUCHAR Buffer,
- IN ULONG Count);
-
-NTOSAPI
-VOID
-DDKAPI
-READ_REGISTER_BUFFER_ULONG(
- IN PULONG Register,
- IN PULONG Buffer,
- IN ULONG Count);
-
-NTOSAPI
-VOID
-DDKAPI
-READ_REGISTER_BUFFER_USHORT(
- IN PUSHORT Register,
- IN PUSHORT Buffer,
- IN ULONG Count);
-
-NTOSAPI
-UCHAR
-DDKAPI
-READ_REGISTER_UCHAR(
- IN PUCHAR Register);
-
-NTOSAPI
-ULONG
-DDKAPI
-READ_REGISTER_ULONG(
- IN PULONG Register);
-
-NTOSAPI
-USHORT
-DDKAPI
-READ_REGISTER_USHORT(
- IN PUSHORT Register);
-
-NTOSAPI
-VOID
-DDKAPI
-WRITE_PORT_BUFFER_UCHAR(
- IN PUCHAR Port,
- IN PUCHAR Buffer,
- IN ULONG Count);
-
-NTOSAPI
-VOID
-DDKAPI
-WRITE_PORT_BUFFER_ULONG(
- IN PULONG Port,
- IN PULONG Buffer,
- IN ULONG Count);
-
-NTOSAPI
-VOID
-DDKAPI
-WRITE_PORT_BUFFER_USHORT(
- IN PUSHORT Port,
- IN PUSHORT Buffer,
- IN ULONG Count);
-
-NTOSAPI
-VOID
-DDKAPI
-WRITE_PORT_UCHAR(
- IN PUCHAR Port,
- IN UCHAR Value);
-
-NTOSAPI
-VOID
-DDKAPI
-WRITE_PORT_ULONG(
- IN PULONG Port,
- IN ULONG Value);
-
-NTOSAPI
-VOID
-DDKAPI
-WRITE_PORT_USHORT(
- IN PUSHORT Port,
- IN USHORT Value);
-
-NTOSAPI
-VOID
-DDKAPI
-WRITE_REGISTER_BUFFER_UCHAR(
- IN PUCHAR Register,
- IN PUCHAR Buffer,
- IN ULONG Count);
-
-NTOSAPI
-VOID
-DDKAPI
-WRITE_REGISTER_BUFFER_ULONG(
- IN PULONG Register,
- IN PULONG Buffer,
- IN ULONG Count);
-
-NTOSAPI
-VOID
-DDKAPI
-WRITE_REGISTER_BUFFER_USHORT(
- IN PUSHORT Register,
- IN PUSHORT Buffer,
- IN ULONG Count);
-
-NTOSAPI
-VOID
-DDKAPI
-WRITE_REGISTER_UCHAR(
- IN PUCHAR Register,
- IN UCHAR Value);
-
-NTOSAPI
-VOID
-DDKAPI
-WRITE_REGISTER_ULONG(
- IN PULONG Register,
- IN ULONG Value);
-
-NTOSAPI
-VOID
-DDKAPI
-WRITE_REGISTER_USHORT(
- IN PUSHORT Register,
- IN USHORT Value);
-
-/** I/O manager routines **/
-
-NTOSAPI
-VOID
-DDKAPI
-IoAcquireCancelSpinLock(
- OUT PKIRQL Irql);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-IoAcquireRemoveLockEx(
- IN PIO_REMOVE_LOCK RemoveLock,
- IN OPTIONAL PVOID Tag OPTIONAL,
- IN PCSTR File,
- IN ULONG Line,
- IN ULONG RemlockSize);
-
-/*
- * NTSTATUS
- * IoAcquireRemoveLock(
- * IN PIO_REMOVE_LOCK RemoveLock,
- * IN OPTIONAL PVOID Tag)
- */
-#define IoAcquireRemoveLock(_RemoveLock, \
- _Tag) \
- IoAcquireRemoveLockEx(_RemoveLock, _Tag, __FILE__, __LINE__, sizeof(IO_REMOVE_LOCK))
-
-/*
- * VOID
- * IoAdjustPagingPathCount(
- * IN PLONG Count,
- * IN BOOLEAN Increment)
- */
-#define IoAdjustPagingPathCount(_Count, \
- _Increment) \
-{ \
- if (_Increment) \
- { \
- InterlockedIncrement(_Count); \
- } \
- else \
- { \
- InterlockedDecrement(_Count); \
- } \
-}
-
-NTOSAPI
-VOID
-DDKAPI
-IoAllocateController(
- IN PCONTROLLER_OBJECT ControllerObject,
- IN PDEVICE_OBJECT DeviceObject,
- IN PDRIVER_CONTROL ExecutionRoutine,
- IN PVOID Context);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-IoAllocateDriverObjectExtension(
- IN PDRIVER_OBJECT DriverObject,
- IN PVOID ClientIdentificationAddress,
- IN ULONG DriverObjectExtensionSize,
- OUT PVOID *DriverObjectExtension);
-
-typedef struct _IO_ERROR_LOG_PACKET {
- UCHAR MajorFunctionCode;
- UCHAR RetryCount;
- USHORT DumpDataSize;
- USHORT NumberOfStrings;
- USHORT StringOffset;
- USHORT EventCategory;
- NTSTATUS ErrorCode;
- ULONG UniqueErrorValue;
- NTSTATUS FinalStatus;
- ULONG SequenceNumber;
- ULONG IoControlCode;
- LARGE_INTEGER DeviceOffset;
- ULONG DumpData[1];
-} IO_ERROR_LOG_PACKET, *PIO_ERROR_LOG_PACKET;
-
-NTOSAPI
-PVOID
-DDKAPI
-IoAllocateErrorLogEntry(
- IN PVOID IoObject,
- IN UCHAR EntrySize);
-
-NTOSAPI
-PIRP
-DDKAPI
-IoAllocateIrp(
- IN CCHAR StackSize,
- IN BOOLEAN ChargeQuota);
-
-NTOSAPI
-PMDL
-DDKAPI
-IoAllocateMdl(
- IN PVOID VirtualAddress,
- IN ULONG Length,
- IN BOOLEAN SecondaryBuffer,
- IN BOOLEAN ChargeQuota,
- IN OUT PIRP Irp OPTIONAL);
-
-NTOSAPI
-PIO_WORKITEM
-DDKAPI
-IoAllocateWorkItem(
- IN PDEVICE_OBJECT DeviceObject);
-
-/*
- * VOID IoAssignArcName(
- * IN PUNICODE_STRING ArcName,
- * IN PUNICODE_STRING DeviceName);
- */
-#define IoAssignArcName(_ArcName, _DeviceName) ( \
- IoCreateSymbolicLink((_ArcName), (_DeviceName)))
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-IoAttachDevice(
- IN PDEVICE_OBJECT SourceDevice,
- IN PUNICODE_STRING TargetDevice,
- OUT PDEVICE_OBJECT *AttachedDevice);
-
-NTOSAPI
-PDEVICE_OBJECT
-DDKAPI
-IoAttachDeviceToDeviceStack(
- IN PDEVICE_OBJECT SourceDevice,
- IN PDEVICE_OBJECT TargetDevice);
-
-NTOSAPI
-PIRP
-DDKAPI
-IoBuildAsynchronousFsdRequest(
- IN ULONG MajorFunction,
- IN PDEVICE_OBJECT DeviceObject,
- IN OUT PVOID Buffer OPTIONAL,
- IN ULONG Length OPTIONAL,
- IN PLARGE_INTEGER StartingOffset OPTIONAL,
- IN PIO_STATUS_BLOCK IoStatusBlock OPTIONAL);
-
-NTOSAPI
-PIRP
-DDKAPI
-IoBuildDeviceIoControlRequest(
- IN ULONG IoControlCode,
- IN PDEVICE_OBJECT DeviceObject,
- IN PVOID InputBuffer OPTIONAL,
- IN ULONG InputBufferLength,
- OUT PVOID OutputBuffer OPTIONAL,
- IN ULONG OutputBufferLength,
- IN BOOLEAN InternalDeviceIoControl,
- IN PKEVENT Event,
- OUT PIO_STATUS_BLOCK IoStatusBlock);
-
-NTOSAPI
-VOID
-DDKAPI
-IoBuildPartialMdl(
- IN PMDL SourceMdl,
- IN OUT PMDL TargetMdl,
- IN PVOID VirtualAddress,
- IN ULONG Length);
-
-NTOSAPI
-PIRP
-DDKAPI
-IoBuildSynchronousFsdRequest(
- IN ULONG MajorFunction,
- IN PDEVICE_OBJECT DeviceObject,
- IN OUT PVOID Buffer OPTIONAL,
- IN ULONG Length OPTIONAL,
- IN PLARGE_INTEGER StartingOffset OPTIONAL,
- IN PKEVENT Event,
- OUT PIO_STATUS_BLOCK IoStatusBlock);
-
-NTOSAPI
-NTSTATUS
-DDKFASTAPI
-IofCallDriver(
- IN PDEVICE_OBJECT DeviceObject,
- IN OUT PIRP Irp);
-
-/*
- * NTSTATUS
- * IoCallDriver(
- * IN PDEVICE_OBJECT DeviceObject,
- * IN OUT PIRP Irp)
- */
-#define IoCallDriver IofCallDriver
-
-NTOSAPI
-VOID
-DDKAPI
-IoCancelFileOpen(
- IN PDEVICE_OBJECT DeviceObject,
- IN PFILE_OBJECT FileObject);
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-IoCancelIrp(
- IN PIRP Irp);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-IoCheckShareAccess(
- IN ACCESS_MASK DesiredAccess,
- IN ULONG DesiredShareAccess,
- IN OUT PFILE_OBJECT FileObject,
- IN OUT PSHARE_ACCESS ShareAccess,
- IN BOOLEAN Update);
-
-NTOSAPI
-VOID
-DDKFASTAPI
-IofCompleteRequest(
- IN PIRP Irp,
- IN CCHAR PriorityBoost);
-
-/*
- * VOID
- * IoCompleteRequest(
- * IN PIRP Irp,
- * IN CCHAR PriorityBoost)
- */
-#define IoCompleteRequest IofCompleteRequest
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-IoConnectInterrupt(
- OUT PKINTERRUPT *InterruptObject,
- IN PKSERVICE_ROUTINE ServiceRoutine,
- IN PVOID ServiceContext,
- IN PKSPIN_LOCK SpinLock OPTIONAL,
- IN ULONG Vector,
- IN KIRQL Irql,
- IN KIRQL SynchronizeIrql,
- IN KINTERRUPT_MODE InterruptMode,
- IN BOOLEAN ShareVector,
- IN KAFFINITY ProcessorEnableMask,
- IN BOOLEAN FloatingSave);
-
-/*
- * PIO_STACK_LOCATION
- * IoGetCurrentIrpStackLocation(
- * IN PIRP Irp)
- */
-#define IoGetCurrentIrpStackLocation(_Irp) \
- ((_Irp)->Tail.Overlay.CurrentStackLocation)
-
-/*
- * PIO_STACK_LOCATION
- * IoGetNextIrpStackLocation(
- * IN PIRP Irp)
- */
-#define IoGetNextIrpStackLocation(_Irp) \
- ((_Irp)->Tail.Overlay.CurrentStackLocation - 1)
-
-/*
- * VOID
- * IoCopyCurrentIrpStackLocationToNext(
- * IN PIRP Irp)
- */
-#define IoCopyCurrentIrpStackLocationToNext(_Irp) \
-{ \
- PIO_STACK_LOCATION _IrpSp; \
- PIO_STACK_LOCATION _NextIrpSp; \
- _IrpSp = IoGetCurrentIrpStackLocation(_Irp); \
- _NextIrpSp = IoGetNextIrpStackLocation(_Irp); \
- RtlCopyMemory(_NextIrpSp, _IrpSp, \
- FIELD_OFFSET(IO_STACK_LOCATION, CompletionRoutine)); \
- _NextIrpSp->Control = 0; \
-}
-
-NTOSAPI
-PCONTROLLER_OBJECT
-DDKAPI
-IoCreateController(
- IN ULONG Size);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-IoCreateDevice(
- IN PDRIVER_OBJECT DriverObject,
- IN ULONG DeviceExtensionSize,
- IN PUNICODE_STRING DeviceName OPTIONAL,
- IN DEVICE_TYPE DeviceType,
- IN ULONG DeviceCharacteristics,
- IN BOOLEAN Exclusive,
- OUT PDEVICE_OBJECT *DeviceObject);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-IoCreateDisk(
- IN PDEVICE_OBJECT DeviceObject,
- IN PCREATE_DISK Disk);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-IoCreateFile(
- OUT PHANDLE FileHandle,
- IN ACCESS_MASK DesiredAccess,
- IN POBJECT_ATTRIBUTES ObjectAttributes,
- OUT PIO_STATUS_BLOCK IoStatusBlock,
- IN PLARGE_INTEGER AllocationSize OPTIONAL,
- IN ULONG FileAttributes,
- IN ULONG ShareAccess,
- IN ULONG Disposition,
- IN ULONG CreateOptions,
- IN PVOID EaBuffer OPTIONAL,
- IN ULONG EaLength,
- IN CREATE_FILE_TYPE CreateFileType,
- IN PVOID ExtraCreateParameters OPTIONAL,
- IN ULONG Options);
-
-NTOSAPI
-PKEVENT
-DDKAPI
-IoCreateNotificationEvent(
- IN PUNICODE_STRING EventName,
- OUT PHANDLE EventHandle);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-IoCreateSymbolicLink(
- IN PUNICODE_STRING SymbolicLinkName,
- IN PUNICODE_STRING DeviceName);
-
-NTOSAPI
-PKEVENT
-DDKAPI
-IoCreateSynchronizationEvent(
- IN PUNICODE_STRING EventName,
- OUT PHANDLE EventHandle);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-IoCreateUnprotectedSymbolicLink(
- IN PUNICODE_STRING SymbolicLinkName,
- IN PUNICODE_STRING DeviceName);
-
-NTOSAPI
-VOID
-DDKAPI
-IoCsqInitialize(
- PIO_CSQ Csq,
- IN PIO_CSQ_INSERT_IRP CsqInsertIrp,
- IN PIO_CSQ_REMOVE_IRP CsqRemoveIrp,
- IN PIO_CSQ_PEEK_NEXT_IRP CsqPeekNextIrp,
- IN PIO_CSQ_ACQUIRE_LOCK CsqAcquireLock,
- IN PIO_CSQ_RELEASE_LOCK CsqReleaseLock,
- IN PIO_CSQ_COMPLETE_CANCELED_IRP CsqCompleteCanceledIrp);
-
-NTOSAPI
-VOID
-DDKAPI
-IoCsqInsertIrp(
- IN PIO_CSQ Csq,
- IN PIRP Irp,
- IN PIO_CSQ_IRP_CONTEXT Context);
-
-NTOSAPI
-PIRP
-DDKAPI
-IoCsqRemoveIrp(
- IN PIO_CSQ Csq,
- IN PIO_CSQ_IRP_CONTEXT Context);
-
-NTOSAPI
-PIRP
-DDKAPI
-IoCsqRemoveNextIrp(
- IN PIO_CSQ Csq,
- IN PVOID PeekContext);
-
-NTOSAPI
-VOID
-DDKAPI
-IoDeleteController(
- IN PCONTROLLER_OBJECT ControllerObject);
-
-NTOSAPI
-VOID
-DDKAPI
-IoDeleteDevice(
- IN PDEVICE_OBJECT DeviceObject);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-IoDeleteSymbolicLink(
- IN PUNICODE_STRING SymbolicLinkName);
-
-/*
- * VOID
- * IoDeassignArcName(
- * IN PUNICODE_STRING ArcName)
- */
-#define IoDeassignArcName IoDeleteSymbolicLink
-
-NTOSAPI
-VOID
-DDKAPI
-IoDetachDevice(
- IN OUT PDEVICE_OBJECT TargetDevice);
-
-NTOSAPI
-VOID
-DDKAPI
-IoDisconnectInterrupt(
- IN PKINTERRUPT InterruptObject);
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-IoForwardIrpSynchronously(
- IN PDEVICE_OBJECT DeviceObject,
- IN PIRP Irp);
-
-#define IoForwardAndCatchIrp IoForwardIrpSynchronously
-
-NTOSAPI
-VOID
-DDKAPI
-IoFreeController(
- IN PCONTROLLER_OBJECT ControllerObject);
-
-NTOSAPI
-VOID
-DDKAPI
-IoFreeErrorLogEntry(
- PVOID ElEntry);
-
-NTOSAPI
-VOID
-DDKAPI
-IoFreeIrp(
- IN PIRP Irp);
-
-NTOSAPI
-VOID
-DDKAPI
-IoFreeMdl(
- IN PMDL Mdl);
-
-NTOSAPI
-VOID
-DDKAPI
-IoFreeWorkItem(
- IN PIO_WORKITEM pIOWorkItem);
-
-NTOSAPI
-PDEVICE_OBJECT
-DDKAPI
-IoGetAttachedDevice(
- IN PDEVICE_OBJECT DeviceObject);
-
-NTOSAPI
-PDEVICE_OBJECT
-DDKAPI
-IoGetAttachedDeviceReference(
- IN PDEVICE_OBJECT DeviceObject);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-IoGetBootDiskInformation(
- IN OUT PBOOTDISK_INFORMATION BootDiskInformation,
- IN ULONG Size);
-
-NTOSAPI
-PCONFIGURATION_INFORMATION
-DDKAPI
-IoGetConfigurationInformation(
- VOID);
-
-NTOSAPI
-PEPROCESS
-DDKAPI
-IoGetCurrentProcess(
- VOID);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-IoGetDeviceInterfaceAlias(
- IN PUNICODE_STRING SymbolicLinkName,
- IN CONST GUID *AliasInterfaceClassGuid,
- OUT PUNICODE_STRING AliasSymbolicLinkName);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-IoGetDeviceInterfaces(
- IN CONST GUID *InterfaceClassGuid,
- IN PDEVICE_OBJECT PhysicalDeviceObject OPTIONAL,
- IN ULONG Flags,
- OUT PWSTR *SymbolicLinkList);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-IoGetDeviceObjectPointer(
- IN PUNICODE_STRING ObjectName,
- IN ACCESS_MASK DesiredAccess,
- OUT PFILE_OBJECT *FileObject,
- OUT PDEVICE_OBJECT *DeviceObject);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-IoGetDeviceProperty(
- IN PDEVICE_OBJECT DeviceObject,
- IN DEVICE_REGISTRY_PROPERTY DeviceProperty,
- IN ULONG BufferLength,
- OUT PVOID PropertyBuffer,
- OUT PULONG ResultLength);
-
-NTOSAPI
-PDEVICE_OBJECT
-DDKAPI
-IoGetDeviceToVerify(
- IN PETHREAD Thread);
-
-NTOSAPI
-PDMA_ADAPTER
-DDKAPI
-IoGetDmaAdapter(
- IN PDEVICE_OBJECT PhysicalDeviceObject,
- IN PDEVICE_DESCRIPTION DeviceDescription,
- IN OUT PULONG NumberOfMapRegisters);
-
-NTOSAPI
-PVOID
-DDKAPI
-IoGetDriverObjectExtension(
- IN PDRIVER_OBJECT DriverObject,
- IN PVOID ClientIdentificationAddress);
-
-NTOSAPI
-PGENERIC_MAPPING
-DDKAPI
-IoGetFileObjectGenericMapping(
- VOID);
-
-/*
- * ULONG
- * IoGetFunctionCodeFromCtlCode(
- * IN ULONG ControlCode)
- */
-#define IoGetFunctionCodeFromCtlCode(_ControlCode) \
- (((_ControlCode) >> 2) & 0x00000FFF)
-
-NTOSAPI
-PVOID
-DDKAPI
-IoGetInitialStack(
- VOID);
-
-NTOSAPI
-PDEVICE_OBJECT
-DDKAPI
-IoGetRelatedDeviceObject(
- IN PFILE_OBJECT FileObject);
-
-NTOSAPI
-ULONG
-DDKAPI
-IoGetRemainingStackSize(
- VOID);
-
-NTOSAPI
-VOID
-DDKAPI
-IoGetStackLimits(
- OUT PULONG_PTR LowLimit,
- OUT PULONG_PTR HighLimit);
-
-NTOSAPI
-VOID
-DDKAPI
-KeInitializeDpc(
- IN PRKDPC Dpc,
- IN PKDEFERRED_ROUTINE DeferredRoutine,
- IN PVOID DeferredContext);
-
-/*
- * VOID
- * IoInitializeDpcRequest(
- * IN PDEVICE_OBJECT DeviceObject,
- * IN PIO_DPC_ROUTINE DpcRoutine)
- */
-#define IoInitializeDpcRequest(_DeviceObject, \
- _DpcRoutine) \
- KeInitializeDpc(&(_DeviceObject)->Dpc, \
- (PKDEFERRED_ROUTINE) (_DpcRoutine), \
- _DeviceObject)
-
-NTOSAPI
-VOID
-DDKAPI
-IoInitializeIrp(
- IN OUT PIRP Irp,
- IN USHORT PacketSize,
- IN CCHAR StackSize);
-
-NTOSAPI
-VOID
-DDKAPI
-IoInitializeRemoveLockEx(
- IN PIO_REMOVE_LOCK Lock,
- IN ULONG AllocateTag,
- IN ULONG MaxLockedMinutes,
- IN ULONG HighWatermark,
- IN ULONG RemlockSize);
-
-/* VOID
- * IoInitializeRemoveLock(
- * IN PIO_REMOVE_LOCK Lock,
- * IN ULONG AllocateTag,
- * IN ULONG MaxLockedMinutes,
- * IN ULONG HighWatermark)
- */
-#define IoInitializeRemoveLock( \
- Lock, AllocateTag, MaxLockedMinutes, HighWatermark) \
- IoInitializeRemoveLockEx(Lock, AllocateTag, MaxLockedMinutes, \
- HighWatermark, sizeof(IO_REMOVE_LOCK))
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-IoInitializeTimer(
- IN PDEVICE_OBJECT DeviceObject,
- IN PIO_TIMER_ROUTINE TimerRoutine,
- IN PVOID Context);
-
-NTOSAPI
-VOID
-DDKAPI
-IoInvalidateDeviceRelations(
- IN PDEVICE_OBJECT DeviceObject,
- IN DEVICE_RELATION_TYPE Type);
-
-NTOSAPI
-VOID
-DDKAPI
-IoInvalidateDeviceState(
- IN PDEVICE_OBJECT PhysicalDeviceObject);
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-IoIs32bitProcess(
- IN PIRP Irp OPTIONAL);
-
-/*
- * BOOLEAN
- * IoIsErrorUserInduced(
- * IN NTSTATUS Status);
- */
-#define IoIsErrorUserInduced(Status) \
- ((BOOLEAN)(((Status) == STATUS_DEVICE_NOT_READY) || \
- ((Status) == STATUS_IO_TIMEOUT) || \
- ((Status) == STATUS_MEDIA_WRITE_PROTECTED) || \
- ((Status) == STATUS_NO_MEDIA_IN_DEVICE) || \
- ((Status) == STATUS_VERIFY_REQUIRED) || \
- ((Status) == STATUS_UNRECOGNIZED_MEDIA) || \
- ((Status) == STATUS_WRONG_VOLUME)))
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-IoIsWdmVersionAvailable(
- IN UCHAR MajorVersion,
- IN UCHAR MinorVersion);
-
-NTOSAPI
-PIRP
-DDKAPI
-IoMakeAssociatedIrp(
- IN PIRP Irp,
- IN CCHAR StackSize);
-
-/*
- * VOID
- * IoMarkIrpPending(
- * IN OUT PIRP Irp)
- */
-#define IoMarkIrpPending(_Irp) \
- (IoGetCurrentIrpStackLocation(_Irp)->Control |= SL_PENDING_RETURNED)
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-IoOpenDeviceInterfaceRegistryKey(
- IN PUNICODE_STRING SymbolicLinkName,
- IN ACCESS_MASK DesiredAccess,
- OUT PHANDLE DeviceInterfaceKey);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-IoOpenDeviceRegistryKey(
- IN PDEVICE_OBJECT DeviceObject,
- IN ULONG DevInstKeyType,
- IN ACCESS_MASK DesiredAccess,
- OUT PHANDLE DevInstRegKey);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-IoQueryDeviceDescription(
- IN PINTERFACE_TYPE BusType OPTIONAL,
- IN PULONG BusNumber OPTIONAL,
- IN PCONFIGURATION_TYPE ControllerType OPTIONAL,
- IN PULONG ControllerNumber OPTIONAL,
- IN PCONFIGURATION_TYPE PeripheralType OPTIONAL,
- IN PULONG PeripheralNumber OPTIONAL,
- IN PIO_QUERY_DEVICE_ROUTINE CalloutRoutine,
- IN PVOID Context);
-
-NTOSAPI
-VOID
-DDKAPI
-IoQueueWorkItem(
- IN PIO_WORKITEM pIOWorkItem,
- IN PIO_WORKITEM_ROUTINE Routine,
- IN WORK_QUEUE_TYPE QueueType,
- IN PVOID Context);
-
-NTOSAPI
-VOID
-DDKAPI
-IoRaiseHardError(
- IN PIRP Irp,
- IN PVPB Vpb OPTIONAL,
- IN PDEVICE_OBJECT RealDeviceObject);
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-IoRaiseInformationalHardError(
- IN NTSTATUS ErrorStatus,
- IN PUNICODE_STRING String OPTIONAL,
- IN PKTHREAD Thread OPTIONAL);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-IoReadDiskSignature(
- IN PDEVICE_OBJECT DeviceObject,
- IN ULONG BytesPerSector,
- OUT PDISK_SIGNATURE Signature);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-IoReadPartitionTableEx(
- IN PDEVICE_OBJECT DeviceObject,
- IN struct _DRIVE_LAYOUT_INFORMATION_EX **PartitionBuffer);
-
-NTOSAPI
-VOID
-DDKAPI
-IoRegisterBootDriverReinitialization(
- IN PDRIVER_OBJECT DriverObject,
- IN PDRIVER_REINITIALIZE DriverReinitializationRoutine,
- IN PVOID Context);
-
-NTOSAPI
-VOID
-DDKAPI
-IoRegisterBootDriverReinitialization(
- IN PDRIVER_OBJECT DriverObject,
- IN PDRIVER_REINITIALIZE DriverReinitializationRoutine,
- IN PVOID Context);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-IoRegisterDeviceInterface(
- IN PDEVICE_OBJECT PhysicalDeviceObject,
- IN CONST GUID *InterfaceClassGuid,
- IN PUNICODE_STRING ReferenceString OPTIONAL,
- OUT PUNICODE_STRING SymbolicLinkName);
-
-NTOSAPI
-VOID
-DDKAPI
-IoRegisterDriverReinitialization(
- IN PDRIVER_OBJECT DriverObject,
- IN PDRIVER_REINITIALIZE DriverReinitializationRoutine,
- IN PVOID Context);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-IoRegisterPlugPlayNotification(
- IN IO_NOTIFICATION_EVENT_CATEGORY EventCategory,
- IN ULONG EventCategoryFlags,
- IN PVOID EventCategoryData OPTIONAL,
- IN PDRIVER_OBJECT DriverObject,
- IN PDRIVER_NOTIFICATION_CALLBACK_ROUTINE CallbackRoutine,
- IN PVOID Context,
- OUT PVOID *NotificationEntry);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-IoRegisterShutdownNotification(
- IN PDEVICE_OBJECT DeviceObject);
-
-NTOSAPI
-VOID
-DDKAPI
-IoReleaseCancelSpinLock(
- IN KIRQL Irql);
-
-NTOSAPI
-VOID
-DDKAPI
-IoReleaseRemoveLockAndWaitEx(
- IN PIO_REMOVE_LOCK RemoveLock,
- IN PVOID Tag,
- IN ULONG RemlockSize);
-
-/*
- * VOID
- * IoReleaseRemoveLockAndWait(
- * IN PIO_REMOVE_LOCK RemoveLock,
- * IN PVOID Tag)
- */
-#define IoReleaseRemoveLockAndWait(_RemoveLock, \
- _Tag) \
- IoReleaseRemoveLockAndWaitEx(_RemoveLock, _Tag, sizeof(IO_REMOVE_LOCK))
-
-NTOSAPI
-VOID
-DDKAPI
-IoReleaseRemoveLockEx(
- IN PIO_REMOVE_LOCK RemoveLock,
- IN PVOID Tag,
- IN ULONG RemlockSize);
-
-/*
- * VOID
- * IoReleaseRemoveLock(
- * IN PIO_REMOVE_LOCK RemoveLock,
- * IN PVOID Tag)
- */
-#define IoReleaseRemoveLock(_RemoveLock, \
- _Tag) \
- IoReleaseRemoveLockEx(_RemoveLock, _Tag, sizeof(IO_REMOVE_LOCK))
-
-NTOSAPI
-VOID
-DDKAPI
-IoRemoveShareAccess(
- IN PFILE_OBJECT FileObject,
- IN OUT PSHARE_ACCESS ShareAccess);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-IoReportDetectedDevice(
- IN PDRIVER_OBJECT DriverObject,
- IN INTERFACE_TYPE LegacyBusType,
- IN ULONG BusNumber,
- IN ULONG SlotNumber,
- IN PCM_RESOURCE_LIST ResourceList,
- IN PIO_RESOURCE_REQUIREMENTS_LIST ResourceRequirements OPTIONAL,
- IN BOOLEAN ResourceAssigned,
- IN OUT PDEVICE_OBJECT *DeviceObject);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-IoReportResourceForDetection(
- IN PDRIVER_OBJECT DriverObject,
- IN PCM_RESOURCE_LIST DriverList OPTIONAL,
- IN ULONG DriverListSize OPTIONAL,
- IN PDEVICE_OBJECT DeviceObject OPTIONAL,
- IN PCM_RESOURCE_LIST DeviceList OPTIONAL,
- IN ULONG DeviceListSize OPTIONAL,
- OUT PBOOLEAN ConflictDetected);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-IoReportResourceUsage(
- IN PUNICODE_STRING DriverClassName OPTIONAL,
- IN PDRIVER_OBJECT DriverObject,
- IN PCM_RESOURCE_LIST DriverList OPTIONAL,
- IN ULONG DriverListSize OPTIONAL,
- IN PDEVICE_OBJECT DeviceObject,
- IN PCM_RESOURCE_LIST DeviceList OPTIONAL,
- IN ULONG DeviceListSize OPTIONAL,
- IN BOOLEAN OverrideConflict,
- OUT PBOOLEAN ConflictDetected);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-IoReportTargetDeviceChange(
- IN PDEVICE_OBJECT PhysicalDeviceObject,
- IN PVOID NotificationStructure);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-IoReportTargetDeviceChangeAsynchronous(
- IN PDEVICE_OBJECT PhysicalDeviceObject,
- IN PVOID NotificationStructure,
- IN PDEVICE_CHANGE_COMPLETE_CALLBACK Callback OPTIONAL,
- IN PVOID Context OPTIONAL);
-
-NTOSAPI
-VOID
-DDKAPI
-IoRequestDeviceEject(
- IN PDEVICE_OBJECT PhysicalDeviceObject);
-
-/*
- * VOID
- * IoRequestDpc(
- * IN PDEVICE_OBJECT DeviceObject,
- * IN PIRP Irp,
- * IN PVOID Context);
- */
-#define IoRequestDpc(DeviceObject, Irp, Context)( \
- KeInsertQueueDpc(&(DeviceObject)->Dpc, (Irp), (Context)))
-
-NTOSAPI
-VOID
-DDKAPI
-IoReuseIrp(
- IN OUT PIRP Irp,
- IN NTSTATUS Status);
-
-/*
- * PDRIVER_CANCEL
- * IoSetCancelRoutine(
- * IN PIRP Irp,
- * IN PDRIVER_CANCEL CancelRoutine)
- */
-#define IoSetCancelRoutine(_Irp, \
- _CancelRoutine) \
- ((PDRIVER_CANCEL) InterlockedExchangePointer( \
- (PVOID *) &(_Irp)->CancelRoutine, (PVOID) (_CancelRoutine)))
-
-/*
- * VOID
- * IoSetCompletionRoutine(
- * IN PIRP Irp,
- * IN PIO_COMPLETION_ROUTINE CompletionRoutine,
- * IN PVOID Context,
- * IN BOOLEAN InvokeOnSuccess,
- * IN BOOLEAN InvokeOnError,
- * IN BOOLEAN InvokeOnCancel)
- */
-#define IoSetCompletionRoutine(_Irp, \
- _CompletionRoutine, \
- _Context, \
- _InvokeOnSuccess, \
- _InvokeOnError, \
- _InvokeOnCancel) \
-{ \
- PIO_STACK_LOCATION _IrpSp; \
- ASSERT(_InvokeOnSuccess || _InvokeOnError || _InvokeOnCancel ? \
- _CompletionRoutine != NULL : TRUE); \
- _IrpSp = IoGetNextIrpStackLocation(_Irp); \
- _IrpSp->CompletionRoutine = (PIO_COMPLETION_ROUTINE)(_CompletionRoutine); \
- _IrpSp->Context = (_Context); \
- _IrpSp->Control = 0; \
- if (_InvokeOnSuccess) _IrpSp->Control = SL_INVOKE_ON_SUCCESS; \
- if (_InvokeOnError) _IrpSp->Control |= SL_INVOKE_ON_ERROR; \
- if (_InvokeOnCancel) _IrpSp->Control |= SL_INVOKE_ON_CANCEL; \
-}
-
-NTOSAPI
-VOID
-DDKAPI
-IoSetCompletionRoutineEx(
- IN PDEVICE_OBJECT DeviceObject,
- IN PIRP Irp,
- IN PIO_COMPLETION_ROUTINE CompletionRoutine,
- IN PVOID Context,
- IN BOOLEAN InvokeOnSuccess,
- IN BOOLEAN InvokeOnError,
- IN BOOLEAN InvokeOnCancel);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-IoSetDeviceInterfaceState(
- IN PUNICODE_STRING SymbolicLinkName,
- IN BOOLEAN Enable);
-
-NTOSAPI
-VOID
-DDKAPI
-IoSetHardErrorOrVerifyDevice(
- IN PIRP Irp,
- IN PDEVICE_OBJECT DeviceObject);
-
-/*
- * VOID
- * IoSetNextIrpStackLocation(
- * IN OUT PIRP Irp)
- */
-#define IoSetNextIrpStackLocation(_Irp) \
-{ \
- (_Irp)->CurrentLocation--; \
- (_Irp)->Tail.Overlay.CurrentStackLocation--; \
-}
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-IoSetPartitionInformationEx(
- IN PDEVICE_OBJECT DeviceObject,
- IN ULONG PartitionNumber,
- IN struct _SET_PARTITION_INFORMATION_EX *PartitionInfo);
-
-NTOSAPI
-VOID
-DDKAPI
-IoSetShareAccess(
- IN ACCESS_MASK DesiredAccess,
- IN ULONG DesiredShareAccess,
- IN OUT PFILE_OBJECT FileObject,
- OUT PSHARE_ACCESS ShareAccess);
-
-NTOSAPI
-VOID
-DDKAPI
-IoSetStartIoAttributes(
- IN PDEVICE_OBJECT DeviceObject,
- IN BOOLEAN DeferredStartIo,
- IN BOOLEAN NonCancelable);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-IoSetSystemPartition(
- IN PUNICODE_STRING VolumeNameString);
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-IoSetThreadHardErrorMode(
- IN BOOLEAN EnableHardErrors);
-
-/*
- * USHORT
- * IoSizeOfIrp(
- * IN CCHAR StackSize)
- */
-#define IoSizeOfIrp(_StackSize) \
- ((USHORT) (sizeof(IRP) + ((_StackSize) * (sizeof(IO_STACK_LOCATION)))))
-
-/*
- * VOID
- * IoSkipCurrentIrpStackLocation(
- * IN PIRP Irp)
- */
-#define IoSkipCurrentIrpStackLocation(_Irp) \
-{ \
- (_Irp)->CurrentLocation++; \
- (_Irp)->Tail.Overlay.CurrentStackLocation++; \
-}
-
-NTOSAPI
-VOID
-DDKAPI
-IoStartNextPacket(
- IN PDEVICE_OBJECT DeviceObject,
- IN BOOLEAN Cancelable);
-
-NTOSAPI
-VOID
-DDKAPI
-IoStartNextPacketByKey(
- IN PDEVICE_OBJECT DeviceObject,
- IN BOOLEAN Cancelable,
- IN ULONG Key);
-
-NTOSAPI
-VOID
-DDKAPI
-IoStartPacket(
- IN PDEVICE_OBJECT DeviceObject,
- IN PIRP Irp,
- IN PULONG Key OPTIONAL,
- IN PDRIVER_CANCEL CancelFunction OPTIONAL);
-
-NTOSAPI
-VOID
-DDKAPI
-IoStartTimer(
- IN PDEVICE_OBJECT DeviceObject);
-
-NTOSAPI
-VOID
-DDKAPI
-IoStopTimer(
- IN PDEVICE_OBJECT DeviceObject);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-IoUnregisterPlugPlayNotification(
- IN PVOID NotificationEntry);
-
-NTOSAPI
-VOID
-DDKAPI
-IoUnregisterShutdownNotification(
- IN PDEVICE_OBJECT DeviceObject);
-
-NTOSAPI
-VOID
-DDKAPI
-IoUpdateShareAccess(
- IN PFILE_OBJECT FileObject,
- IN OUT PSHARE_ACCESS ShareAccess);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-IoVerifyPartitionTable(
- IN PDEVICE_OBJECT DeviceObject,
- IN BOOLEAN FixErrors);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-IoVolumeDeviceToDosName(
- IN PVOID VolumeDeviceObject,
- OUT PUNICODE_STRING DosName);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-IoWMIAllocateInstanceIds(
- IN GUID *Guid,
- IN ULONG InstanceCount,
- OUT ULONG *FirstInstanceId);
-
-NTOSAPI
-ULONG
-DDKAPI
-IoWMIDeviceObjectToProviderId(
- IN PDEVICE_OBJECT DeviceObject);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-IoWMIDeviceObjectToInstanceName(
- IN PVOID DataBlockObject,
- IN PDEVICE_OBJECT DeviceObject,
- OUT PUNICODE_STRING InstanceName);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-IoWMIExecuteMethod(
- IN PVOID DataBlockObject,
- IN PUNICODE_STRING InstanceName,
- IN ULONG MethodId,
- IN ULONG InBufferSize,
- IN OUT PULONG OutBufferSize,
- IN OUT PUCHAR InOutBuffer);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-IoWMIHandleToInstanceName(
- IN PVOID DataBlockObject,
- IN HANDLE FileHandle,
- OUT PUNICODE_STRING InstanceName);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-IoWMIOpenBlock(
- IN GUID *DataBlockGuid,
- IN ULONG DesiredAccess,
- OUT PVOID *DataBlockObject);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-IoWMIQueryAllData(
- IN PVOID DataBlockObject,
- IN OUT ULONG *InOutBufferSize,
- OUT PVOID OutBuffer);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-IoWMIQueryAllDataMultiple(
- IN PVOID *DataBlockObjectList,
- IN ULONG ObjectCount,
- IN OUT ULONG *InOutBufferSize,
- OUT PVOID OutBuffer);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-IoWMIQuerySingleInstance(
- IN PVOID DataBlockObject,
- IN PUNICODE_STRING InstanceName,
- IN OUT ULONG *InOutBufferSize,
- OUT PVOID OutBuffer);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-IoWMIQuerySingleInstanceMultiple(
- IN PVOID *DataBlockObjectList,
- IN PUNICODE_STRING InstanceNames,
- IN ULONG ObjectCount,
- IN OUT ULONG *InOutBufferSize,
- OUT PVOID OutBuffer);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-IoWMIRegistrationControl(
- IN PDEVICE_OBJECT DeviceObject,
- IN ULONG Action);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-IoWMISetNotificationCallback(
- IN PVOID Object,
- IN WMI_NOTIFICATION_CALLBACK Callback,
- IN PVOID Context);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-IoWMISetSingleInstance(
- IN PVOID DataBlockObject,
- IN PUNICODE_STRING InstanceName,
- IN ULONG Version,
- IN ULONG ValueBufferSize,
- IN PVOID ValueBuffer);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-IoWMISetSingleItem(
- IN PVOID DataBlockObject,
- IN PUNICODE_STRING InstanceName,
- IN ULONG DataItemId,
- IN ULONG Version,
- IN ULONG ValueBufferSize,
- IN PVOID ValueBuffer);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-IoWMISuggestInstanceName(
- IN PDEVICE_OBJECT PhysicalDeviceObject OPTIONAL,
- IN PUNICODE_STRING SymbolicLinkName OPTIONAL,
- IN BOOLEAN CombineNames,
- OUT PUNICODE_STRING SuggestedInstanceName);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-IoWMIWriteEvent(
- IN PVOID WnodeEventItem);
-
-NTOSAPI
-VOID
-DDKAPI
-IoWriteErrorLogEntry(
- IN PVOID ElEntry);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-IoWritePartitionTableEx(
- IN PDEVICE_OBJECT DeviceObject,
- IN struct _DRIVE_LAYOUT_INFORMATION_EX *PartitionBuffer);
-
-
-
-/** Kernel routines **/
-
-NTOSAPI
-VOID
-DDKFASTAPI
-KeAcquireInStackQueuedSpinLock(
- IN PKSPIN_LOCK SpinLock,
- IN PKLOCK_QUEUE_HANDLE LockHandle);
-
-NTOSAPI
-VOID
-DDKFASTAPI
-KeAcquireInStackQueuedSpinLockAtDpcLevel(
- IN PKSPIN_LOCK SpinLock,
- IN PKLOCK_QUEUE_HANDLE LockHandle);
-
-NTOSAPI
-KIRQL
-DDKAPI
-KeAcquireInterruptSpinLock(
- IN PKINTERRUPT Interrupt);
-
-NTOSAPI
-VOID
-DDKAPI
-KeAcquireSpinLock(
- IN PKSPIN_LOCK SpinLock,
- OUT PKIRQL OldIrql);
-
-/* System Service Dispatch Table */
-typedef PVOID (NTAPI * SSDT)(VOID);
-typedef SSDT * PSSDT;
-
-/* System Service Parameters Table */
-typedef UCHAR SSPT, * PSSPT;
-
-typedef struct _SSDT_ENTRY {
- PSSDT SSDT;
- PULONG ServiceCounterTable;
- ULONG NumberOfServices;
- PSSPT SSPT;
-} SSDT_ENTRY, *PSSDT_ENTRY;
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-KeAddSystemServiceTable(
- IN PSSDT SSDT,
- IN PULONG ServiceCounterTable,
- IN ULONG NumberOfServices,
- IN PSSPT SSPT,
- IN ULONG TableIndex);
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-KeAreApcsDisabled(
- VOID);
-
-NTOSAPI
-VOID
-DDKAPI
-KeAttachProcess(
- IN PEPROCESS Process);
-
-NTOSAPI
-VOID
-DDKAPI
-KeBugCheck(
- IN ULONG BugCheckCode);
-
-NTOSAPI
-VOID
-DDKAPI
-KeBugCheckEx(
- IN ULONG BugCheckCode,
- IN ULONG_PTR BugCheckParameter1,
- IN ULONG_PTR BugCheckParameter2,
- IN ULONG_PTR BugCheckParameter3,
- IN ULONG_PTR BugCheckParameter4);
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-KeCancelTimer(
- IN PKTIMER Timer);
-
-NTOSAPI
-VOID
-DDKAPI
-KeClearEvent(
- IN PRKEVENT Event);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-KeDelayExecutionThread(
- IN KPROCESSOR_MODE WaitMode,
- IN BOOLEAN Alertable,
- IN PLARGE_INTEGER Interval);
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-KeDeregisterBugCheckCallback(
- IN PKBUGCHECK_CALLBACK_RECORD CallbackRecord);
-
-NTOSAPI
-VOID
-DDKAPI
-KeDetachProcess(
- VOID);
-
-NTOSAPI
-VOID
-DDKAPI
-KeEnterCriticalRegion(
- VOID);
-
-/*
- * VOID
- * KeFlushIoBuffers(
- * IN PMDL Mdl,
- * IN BOOLEAN ReadOperation,
- * IN BOOLEAN DmaOperation)
- */
-#define KeFlushIoBuffers(_Mdl, _ReadOperation, _DmaOperation)
-
-NTOSAPI
-PRKTHREAD
-DDKAPI
-KeGetCurrentThread(
- VOID);
-
-NTOSAPI
-KPROCESSOR_MODE
-DDKAPI
-KeGetPreviousMode(
- VOID);
-
-NTOSAPI
-ULONG
-DDKAPI
-KeGetRecommendedSharedDataAlignment(
- VOID);
-
-NTOSAPI
-VOID
-DDKAPI
-KeInitializeApc(
- IN PKAPC Apc,
- IN PKTHREAD Thread,
- IN UCHAR StateIndex,
- IN PKKERNEL_ROUTINE KernelRoutine,
- IN PKRUNDOWN_ROUTINE RundownRoutine,
- IN PKNORMAL_ROUTINE NormalRoutine,
- IN UCHAR Mode,
- IN PVOID Context);
-
-NTOSAPI
-VOID
-DDKAPI
-KeInitializeDeviceQueue(
- IN PKDEVICE_QUEUE DeviceQueue);
-
-NTOSAPI
-VOID
-DDKAPI
-KeInitializeMutex(
- IN PRKMUTEX Mutex,
- IN ULONG Level);
-
-NTOSAPI
-VOID
-DDKAPI
-KeInitializeSemaphore(
- IN PRKSEMAPHORE Semaphore,
- IN LONG Count,
- IN LONG Limit);
-
-NTOSAPI
-VOID
-DDKAPI
-KeInitializeSpinLock(
- IN PKSPIN_LOCK SpinLock);
-
-NTOSAPI
-VOID
-DDKAPI
-KeInitializeTimer(
- IN PKTIMER Timer);
-
-NTOSAPI
-VOID
-DDKAPI
-KeInitializeTimerEx(
- IN PKTIMER Timer,
- IN TIMER_TYPE Type);
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-KeInsertByKeyDeviceQueue(
- IN PKDEVICE_QUEUE DeviceQueue,
- IN PKDEVICE_QUEUE_ENTRY DeviceQueueEntry,
- IN ULONG SortKey);
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-KeInsertDeviceQueue(
- IN PKDEVICE_QUEUE DeviceQueue,
- IN PKDEVICE_QUEUE_ENTRY DeviceQueueEntry);
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-KeInsertQueueDpc(
- IN PRKDPC Dpc,
- IN PVOID SystemArgument1,
- IN PVOID SystemArgument2);
-
-NTOSAPI
-VOID
-DDKAPI
-KeLeaveCriticalRegion(
- VOID);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-KePulseEvent(
- IN PRKEVENT Event,
- IN KPRIORITY Increment,
- IN BOOLEAN Wait);
-
-NTOSAPI
-ULONGLONG
-DDKAPI
-KeQueryInterruptTime(
- VOID);
-
-NTOSAPI
-LARGE_INTEGER
-DDKAPI
-KeQueryPerformanceCounter(
- OUT PLARGE_INTEGER PerformanceFrequency OPTIONAL);
-
-NTOSAPI
-KPRIORITY
-DDKAPI
-KeQueryPriorityThread(
- IN PRKTHREAD Thread);
-
-NTOSAPI
-VOID
-DDKAPI
-KeQuerySystemTime(
- OUT PLARGE_INTEGER CurrentTime);
-
-NTOSAPI
-VOID
-DDKAPI
-KeQueryTickCount(
- OUT PLARGE_INTEGER TickCount);
-
-NTOSAPI
-ULONG
-DDKAPI
-KeQueryTimeIncrement(
- VOID);
-
-NTOSAPI
-LONG
-DDKAPI
-KeReadStateEvent(
- IN PRKEVENT Event);
-
-NTOSAPI
-LONG
-DDKAPI
-KeReadStateMutex(
- IN PRKMUTEX Mutex);
-
-NTOSAPI
-LONG
-DDKAPI
-KeReadStateSemaphore(
- IN PRKSEMAPHORE Semaphore);
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-KeReadStateTimer(
- IN PKTIMER Timer);
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-KeRegisterBugCheckCallback(
- IN PKBUGCHECK_CALLBACK_RECORD CallbackRecord,
- IN PKBUGCHECK_CALLBACK_ROUTINE CallbackRoutine,
- IN PVOID Buffer,
- IN ULONG Length,
- IN PUCHAR Component);
-
-NTOSAPI
-VOID
-DDKFASTAPI
-KeReleaseInStackQueuedSpinLock(
- IN PKLOCK_QUEUE_HANDLE LockHandle);
-
-NTOSAPI
-VOID
-DDKFASTAPI
-KeReleaseInStackQueuedSpinLockFromDpcLevel(
- IN PKLOCK_QUEUE_HANDLE LockHandle);
-
-NTOSAPI
-VOID
-DDKAPI
-KeReleaseInterruptSpinLock(
- IN PKINTERRUPT Interrupt,
- IN KIRQL OldIrql);
-
-NTOSAPI
-LONG
-DDKAPI
-KeReleaseMutex(
- IN PRKMUTEX Mutex,
- IN BOOLEAN Wait);
-
-NTOSAPI
-LONG
-DDKAPI
-KeReleaseSemaphore(
- IN PRKSEMAPHORE Semaphore,
- IN KPRIORITY Increment,
- IN LONG Adjustment,
- IN BOOLEAN Wait);
-
-NTOSAPI
-VOID
-DDKAPI
-KeReleaseSpinLock(
- IN PKSPIN_LOCK SpinLock,
- IN KIRQL NewIrql);
-
-NTOSAPI
-PKDEVICE_QUEUE_ENTRY
-DDKAPI
-KeRemoveByKeyDeviceQueue(
- IN PKDEVICE_QUEUE DeviceQueue,
- IN ULONG SortKey);
-
-NTOSAPI
-PKDEVICE_QUEUE_ENTRY
-DDKAPI
-KeRemoveDeviceQueue(
- IN PKDEVICE_QUEUE DeviceQueue);
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-KeRemoveEntryDeviceQueue(
- IN PKDEVICE_QUEUE DeviceQueue,
- IN PKDEVICE_QUEUE_ENTRY DeviceQueueEntry);
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-KeRemoveQueueDpc(
- IN PRKDPC Dpc);
-
-NTOSAPI
-LONG
-DDKAPI
-KeResetEvent(
- IN PRKEVENT Event);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-KeRestoreFloatingPointState(
- IN PKFLOATING_SAVE FloatSave);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-KeSaveFloatingPointState(
- OUT PKFLOATING_SAVE FloatSave);
-
-NTOSAPI
-LONG
-DDKAPI
-KeSetBasePriorityThread(
- IN PRKTHREAD Thread,
- IN LONG Increment);
-
-NTOSAPI
-LONG
-DDKAPI
-KeSetEvent(
- IN PRKEVENT Event,
- IN KPRIORITY Increment,
- IN BOOLEAN Wait);
-
-NTOSAPI
-VOID
-DDKAPI
-KeSetImportanceDpc(
- IN PRKDPC Dpc,
- IN KDPC_IMPORTANCE Importance);
-
-NTOSAPI
-KPRIORITY
-DDKAPI
-KeSetPriorityThread(
- IN PKTHREAD Thread,
- IN KPRIORITY Priority);
-
-NTOSAPI
-VOID
-DDKAPI
-KeSetTargetProcessorDpc(
- IN PRKDPC Dpc,
- IN CCHAR Number);
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-KeSetTimer(
- IN PKTIMER Timer,
- IN LARGE_INTEGER DueTime,
- IN PKDPC Dpc OPTIONAL);
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-KeSetTimerEx(
- IN PKTIMER Timer,
- IN LARGE_INTEGER DueTime,
- IN LONG Period OPTIONAL,
- IN PKDPC Dpc OPTIONAL);
-
-NTOSAPI
-VOID
-DDKFASTAPI
-KeSetTimeUpdateNotifyRoutine(
- IN PTIME_UPDATE_NOTIFY_ROUTINE NotifyRoutine);
-
-NTOSAPI
-VOID
-DDKAPI
-KeStallExecutionProcessor(
- IN ULONG MicroSeconds);
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-KeSynchronizeExecution(
- IN PKINTERRUPT Interrupt,
- IN PKSYNCHRONIZE_ROUTINE SynchronizeRoutine,
- IN PVOID SynchronizeContext);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-KeWaitForMultipleObjects(
- IN ULONG Count,
- IN PVOID Object[],
- IN WAIT_TYPE WaitType,
- IN KWAIT_REASON WaitReason,
- IN KPROCESSOR_MODE WaitMode,
- IN BOOLEAN Alertable,
- IN PLARGE_INTEGER Timeout OPTIONAL,
- IN PKWAIT_BLOCK WaitBlockArray OPTIONAL);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-KeWaitForMutexObject(
- IN PRKMUTEX Mutex,
- IN KWAIT_REASON WaitReason,
- IN KPROCESSOR_MODE WaitMode,
- IN BOOLEAN Alertable,
- IN PLARGE_INTEGER Timeout OPTIONAL);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-KeWaitForSingleObject(
- IN PVOID Object,
- IN KWAIT_REASON WaitReason,
- IN KPROCESSOR_MODE WaitMode,
- IN BOOLEAN Alertable,
- IN PLARGE_INTEGER Timeout OPTIONAL);
-
-#if defined(_X86_)
-
-NTOSAPI
-VOID
-FASTCALL
-KfLowerIrql(
- IN KIRQL NewIrql);
-
-NTOSAPI
-KIRQL
-FASTCALL
-KfRaiseIrql(
- IN KIRQL NewIrql);
-
-#define KeLowerIrql(a) KfLowerIrql(a)
-#define KeRaiseIrql(a,b) *(b) = KfRaiseIrql(a)
-
-#else
-
-NTOSAPI
-VOID
-DDKAPI
-KeLowerIrql(
- IN KIRQL NewIrql);
-
-NTOSAPI
-KIRQL
-DDKAPI
-KeRaiseIrql(
- IN KIRQL NewIrql);
-
-#endif
-
-NTOSAPI
-KIRQL
-DDKAPI
-KeRaiseIrqlToDpcLevel(
- VOID);
-
-/** Memory manager routines **/
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-MmAdvanceMdl(
- IN PMDL Mdl,
- IN ULONG NumberOfBytes);
-
-NTOSAPI
-PVOID
-DDKAPI
-MmAllocateContiguousMemory(
- IN ULONG NumberOfBytes,
- IN PHYSICAL_ADDRESS HighestAcceptableAddress);
-
-NTOSAPI
-PVOID
-DDKAPI
-MmAllocateContiguousMemorySpecifyCache(
- IN SIZE_T NumberOfBytes,
- IN PHYSICAL_ADDRESS LowestAcceptableAddress,
- IN PHYSICAL_ADDRESS HighestAcceptableAddress,
- IN PHYSICAL_ADDRESS BoundaryAddressMultiple OPTIONAL,
- IN MEMORY_CACHING_TYPE CacheType);
-
-NTOSAPI
-PVOID
-DDKAPI
-MmAllocateMappingAddress(
- IN SIZE_T NumberOfBytes,
- IN ULONG PoolTag);
-
-NTOSAPI
-PVOID
-DDKAPI
-MmAllocateNonCachedMemory(
- IN ULONG NumberOfBytes);
-
-NTOSAPI
-PMDL
-DDKAPI
-MmAllocatePagesForMdl(
- IN PHYSICAL_ADDRESS LowAddress,
- IN PHYSICAL_ADDRESS HighAddress,
- IN PHYSICAL_ADDRESS SkipBytes,
- IN SIZE_T TotalBytes);
-
-NTOSAPI
-VOID
-DDKAPI
-MmBuildMdlForNonPagedPool(
- IN OUT PMDL MemoryDescriptorList);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-MmCreateSection(
- OUT PSECTION_OBJECT *SectionObject,
- IN ACCESS_MASK DesiredAccess,
- IN POBJECT_ATTRIBUTES ObjectAttributes OPTIONAL,
- IN PLARGE_INTEGER MaximumSize,
- IN ULONG SectionPageProtection,
- IN ULONG AllocationAttributes,
- IN HANDLE FileHandle OPTIONAL,
- IN PFILE_OBJECT File OPTIONAL);
-
-typedef enum _MMFLUSH_TYPE {
- MmFlushForDelete,
- MmFlushForWrite
-} MMFLUSH_TYPE;
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-MmFlushImageSection(
- IN PSECTION_OBJECT_POINTERS SectionObjectPointer,
- IN MMFLUSH_TYPE FlushType);
-
-NTOSAPI
-VOID
-DDKAPI
-MmFreeContiguousMemory(
- IN PVOID BaseAddress);
-
-NTOSAPI
-VOID
-DDKAPI
-MmFreeContiguousMemorySpecifyCache(
- IN PVOID BaseAddress,
- IN SIZE_T NumberOfBytes,
- IN MEMORY_CACHING_TYPE CacheType);
-
-NTOSAPI
-VOID
-DDKAPI
-MmFreeMappingAddress(
- IN PVOID BaseAddress,
- IN ULONG PoolTag);
-
-NTOSAPI
-VOID
-DDKAPI
-MmFreeNonCachedMemory(
- IN PVOID BaseAddress,
- IN SIZE_T NumberOfBytes);
-
-NTOSAPI
-VOID
-DDKAPI
-MmFreePagesFromMdl(
- IN PMDL MemoryDescriptorList);
-
-/*
- * ULONG
- * MmGetMdlByteCount(
- * IN PMDL Mdl)
- */
-#define MmGetMdlByteCount(_Mdl) \
- ((_Mdl)->ByteCount)
-
-/*
- * ULONG
- * MmGetMdlByteOffset(
- * IN PMDL Mdl)
- */
-#define MmGetMdlByteOffset(_Mdl) \
- ((_Mdl)->ByteOffset)
-
-/*
- * PPFN_NUMBER
- * MmGetMdlPfnArray(
- * IN PMDL Mdl)
- */
-#define MmGetMdlPfnArray(_Mdl) \
- ((PPFN_NUMBER) ((_Mdl) + 1))
-
-/*
- * PVOID
- * MmGetMdlVirtualAddress(
- * IN PMDL Mdl)
- */
-#define MmGetMdlVirtualAddress(_Mdl) \
- ((PVOID) ((PCHAR) ((_Mdl)->StartVa) + (_Mdl)->ByteOffset))
-
-NTOSAPI
-PHYSICAL_ADDRESS
-DDKAPI
-MmGetPhysicalAddress(
- IN PVOID BaseAddress);
-
-NTOSAPI
-PPHYSICAL_MEMORY_RANGE
-DDKAPI
-MmGetPhysicalMemoryRanges(
- VOID);
-
-NTOSAPI
-PVOID
-DDKAPI
-MmGetVirtualForPhysical(
- IN PHYSICAL_ADDRESS PhysicalAddress);
-
-NTOSAPI
-PVOID
-DDKAPI
-MmMapLockedPagesSpecifyCache(
- IN PMDL MemoryDescriptorList,
- IN KPROCESSOR_MODE AccessMode,
- IN MEMORY_CACHING_TYPE CacheType,
- IN PVOID BaseAddress,
- IN ULONG BugCheckOnFailure,
- IN MM_PAGE_PRIORITY Priority);
-
-NTOSAPI
-PVOID
-DDKAPI
-MmMapLockedPagesWithReservedMapping(
- IN PVOID MappingAddress,
- IN ULONG PoolTag,
- IN PMDL MemoryDescriptorList,
- IN MEMORY_CACHING_TYPE CacheType);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-MmMapUserAddressesToPage(
- IN PVOID BaseAddress,
- IN SIZE_T NumberOfBytes,
- IN PVOID PageAddress);
-
-NTOSAPI
-PVOID
-DDKAPI
-MmMapVideoDisplay(
- IN PHYSICAL_ADDRESS PhysicalAddress,
- IN SIZE_T NumberOfBytes,
- IN MEMORY_CACHING_TYPE CacheType);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-MmMapViewInSessionSpace(
- IN PVOID Section,
- OUT PVOID *MappedBase,
- IN OUT PSIZE_T ViewSize);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-MmMapViewInSystemSpace(
- IN PVOID Section,
- OUT PVOID *MappedBase,
- IN PSIZE_T ViewSize);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-MmMarkPhysicalMemoryAsBad(
- IN PPHYSICAL_ADDRESS StartAddress,
- IN OUT PLARGE_INTEGER NumberOfBytes);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-MmMarkPhysicalMemoryAsGood(
- IN PPHYSICAL_ADDRESS StartAddress,
- IN OUT PLARGE_INTEGER NumberOfBytes);
-
-/*
- * PVOID
- * MmGetSystemAddressForMdlSafe(
- * IN PMDL Mdl,
- * IN MM_PAGE_PRIORITY Priority)
- */
-#define MmGetSystemAddressForMdlSafe(_Mdl, _Priority) \
- ((_Mdl)->MdlFlags & (MDL_MAPPED_TO_SYSTEM_VA \
- | MDL_SOURCE_IS_NONPAGED_POOL)) ? \
- (_Mdl)->MappedSystemVa : \
- (PVOID) MmMapLockedPagesSpecifyCache((_Mdl), \
- KernelMode, MmCached, NULL, FALSE, _Priority)
-
-NTOSAPI
-PVOID
-DDKAPI
-MmGetSystemRoutineAddress(
- IN PUNICODE_STRING SystemRoutineName);
-
-/*
- * ULONG
- * ADDRESS_AND_SIZE_TO_SPAN_PAGES(
- * IN PVOID Va,
- * IN ULONG Size)
- */
-#define ADDRESS_AND_SIZE_TO_SPAN_PAGES(_Va, \
- _Size) \
- ((ULONG) ((((ULONG_PTR) (_Va) & (PAGE_SIZE - 1)) \
- + (_Size) + (PAGE_SIZE - 1)) >> PAGE_SHIFT))
-
-/*
- * VOID
- * MmInitializeMdl(
- * IN PMDL MemoryDescriptorList,
- * IN PVOID BaseVa,
- * IN SIZE_T Length)
- */
-#define MmInitializeMdl(_MemoryDescriptorList, \
- _BaseVa, \
- _Length) \
-{ \
- (_MemoryDescriptorList)->Next = (PMDL) NULL; \
- (_MemoryDescriptorList)->Size = (CSHORT) (sizeof(MDL) + \
- (sizeof(PFN_NUMBER) * ADDRESS_AND_SIZE_TO_SPAN_PAGES(_BaseVa, _Length))); \
- (_MemoryDescriptorList)->MdlFlags = 0; \
- (_MemoryDescriptorList)->StartVa = (PVOID) PAGE_ALIGN(_BaseVa); \
- (_MemoryDescriptorList)->ByteOffset = BYTE_OFFSET(_BaseVa); \
- (_MemoryDescriptorList)->ByteCount = (ULONG) _Length; \
-}
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-MmIsAddressValid(
- IN PVOID VirtualAddress);
-
-NTOSAPI
-LOGICAL
-DDKAPI
-MmIsDriverVerifying(
- IN PDRIVER_OBJECT DriverObject);
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-MmIsThisAnNtAsSystem(
- VOID);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-MmIsVerifierEnabled(
- OUT PULONG VerifierFlags);
-
-NTOSAPI
-PVOID
-DDKAPI
-MmLockPagableDataSection(
- IN PVOID AddressWithinSection);
-
-NTOSAPI
-PVOID
-DDKAPI
-MmLockPagableImageSection(
- IN PVOID AddressWithinSection);
-
-/*
- * PVOID
- * MmLockPagableCodeSection(
- * IN PVOID AddressWithinSection)
- */
-#define MmLockPagableCodeSection MmLockPagableDataSection
-
-NTOSAPI
-VOID
-DDKAPI
-MmLockPagableSectionByHandle(
- IN PVOID ImageSectionHandle);
-
-NTOSAPI
-PVOID
-DDKAPI
-MmMapIoSpace(
- IN PHYSICAL_ADDRESS PhysicalAddress,
- IN ULONG NumberOfBytes,
- IN MEMORY_CACHING_TYPE CacheEnable);
-
-NTOSAPI
-PVOID
-DDKAPI
-MmMapLockedPages(
- IN PMDL MemoryDescriptorList,
- IN KPROCESSOR_MODE AccessMode);
-
-NTOSAPI
-VOID
-DDKAPI
-MmPageEntireDriver(
- IN PVOID AddressWithinSection);
-
-NTOSAPI
-VOID
-DDKAPI
-MmProbeAndLockProcessPages(
- IN OUT PMDL MemoryDescriptorList,
- IN PEPROCESS Process,
- IN KPROCESSOR_MODE AccessMode,
- IN LOCK_OPERATION Operation);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-MmProtectMdlSystemAddress(
- IN PMDL MemoryDescriptorList,
- IN ULONG NewProtect);
-
-NTOSAPI
-VOID
-DDKAPI
-MmUnmapLockedPages(
- IN PVOID BaseAddress,
- IN PMDL MemoryDescriptorList);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-MmUnmapViewInSessionSpace(
- IN PVOID MappedBase);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-MmUnmapViewInSystemSpace(
- IN PVOID MappedBase);
-
-NTOSAPI
-VOID
-DDKAPI
-MmUnsecureVirtualMemory(
- IN HANDLE SecureHandle);
-
-/*
- * VOID
- * MmPrepareMdlForReuse(
- * IN PMDL Mdl)
- */
-#define MmPrepareMdlForReuse(_Mdl) \
-{ \
- if (((_Mdl)->MdlFlags & MDL_PARTIAL_HAS_BEEN_MAPPED) != 0) { \
- ASSERT(((_Mdl)->MdlFlags & MDL_PARTIAL) != 0); \
- MmUnmapLockedPages((_Mdl)->MappedSystemVa, (_Mdl)); \
- } else if (((_Mdl)->MdlFlags & MDL_PARTIAL) == 0) { \
- ASSERT(((_Mdl)->MdlFlags & MDL_MAPPED_TO_SYSTEM_VA) == 0); \
- } \
-}
-
-NTOSAPI
-VOID
-DDKAPI
-MmProbeAndLockPages(
- IN OUT PMDL MemoryDescriptorList,
- IN KPROCESSOR_MODE AccessMode,
- IN LOCK_OPERATION Operation);
-
-NTOSAPI
-MM_SYSTEM_SIZE
-DDKAPI
-MmQuerySystemSize(
- VOID);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-MmRemovePhysicalMemory(
- IN PPHYSICAL_ADDRESS StartAddress,
- IN OUT PLARGE_INTEGER NumberOfBytes);
-
-NTOSAPI
-VOID
-DDKAPI
-MmResetDriverPaging(
- IN PVOID AddressWithinSection);
-
-NTOSAPI
-HANDLE
-DDKAPI
-MmSecureVirtualMemory(
- IN PVOID Address,
- IN SIZE_T Size,
- IN ULONG ProbeMode);
-
-NTOSAPI
-ULONG
-DDKAPI
-MmSizeOfMdl(
- IN PVOID Base,
- IN SIZE_T Length);
-
-NTOSAPI
-VOID
-DDKAPI
-MmUnlockPagableImageSection(
- IN PVOID ImageSectionHandle);
-
-NTOSAPI
-VOID
-DDKAPI
-MmUnlockPages(
- IN PMDL MemoryDescriptorList);
-
-NTOSAPI
-VOID
-DDKAPI
-MmUnmapIoSpace(
- IN PVOID BaseAddress,
- IN SIZE_T NumberOfBytes);
-
-NTOSAPI
-VOID
-DDKAPI
-MmUnmapReservedMapping(
- IN PVOID BaseAddress,
- IN ULONG PoolTag,
- IN PMDL MemoryDescriptorList);
-
-NTOSAPI
-VOID
-DDKAPI
-MmUnmapVideoDisplay(
- IN PVOID BaseAddress,
- IN SIZE_T NumberOfBytes);
-
-
-
-/** Object manager routines **/
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-ObAssignSecurity(
- IN PACCESS_STATE AccessState,
- IN PSECURITY_DESCRIPTOR SecurityDescriptor,
- IN PVOID Object,
- IN POBJECT_TYPE Type);
-
-NTOSAPI
-VOID
-DDKAPI
-ObDereferenceSecurityDescriptor(
- PSECURITY_DESCRIPTOR SecurityDescriptor,
- ULONG Count);
-
-NTOSAPI
-VOID
-DDKFASTAPI
-ObfDereferenceObject(
- IN PVOID Object);
-
-/*
- * VOID
- * ObDereferenceObject(
- * IN PVOID Object)
- */
-#define ObDereferenceObject ObfDereferenceObject
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-ObGetObjectSecurity(
- IN PVOID Object,
- OUT PSECURITY_DESCRIPTOR *SecurityDescriptor,
- OUT PBOOLEAN MemoryAllocated);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-ObInsertObject(
- IN PVOID Object,
- IN PACCESS_STATE PassedAccessState OPTIONAL,
- IN ACCESS_MASK DesiredAccess,
- IN ULONG AdditionalReferences,
- OUT PVOID* ReferencedObject OPTIONAL,
- OUT PHANDLE Handle);
-
-NTOSAPI
-VOID
-DDKFASTAPI
-ObfReferenceObject(
- IN PVOID Object);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-ObLogSecurityDescriptor(
- IN PSECURITY_DESCRIPTOR InputSecurityDescriptor,
- OUT PSECURITY_DESCRIPTOR *OutputSecurityDescriptor,
- IN ULONG RefBias);
-/*
- * VOID
- * ObReferenceObject(
- * IN PVOID Object)
- */
-#define ObReferenceObject ObfReferenceObject
-
-NTOSAPI
-VOID
-DDKAPI
-ObMakeTemporaryObject(
- IN PVOID Object);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-ObOpenObjectByName(
- IN POBJECT_ATTRIBUTES ObjectAttributes,
- IN POBJECT_TYPE ObjectType,
- IN OUT PVOID ParseContext OPTIONAL,
- IN KPROCESSOR_MODE AccessMode,
- IN ACCESS_MASK DesiredAccess,
- IN PACCESS_STATE PassedAccessState,
- OUT PHANDLE Handle);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-ObOpenObjectByPointer(
- IN PVOID Object,
- IN ULONG HandleAttributes,
- IN PACCESS_STATE PassedAccessState OPTIONAL,
- IN ACCESS_MASK DesiredAccess OPTIONAL,
- IN POBJECT_TYPE ObjectType OPTIONAL,
- IN KPROCESSOR_MODE AccessMode,
- OUT PHANDLE Handle);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-ObQueryObjectAuditingByHandle(
- IN HANDLE Handle,
- OUT PBOOLEAN GenerateOnClose);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-ObReferenceObjectByHandle(
- IN HANDLE Handle,
- IN ACCESS_MASK DesiredAccess,
- IN POBJECT_TYPE ObjectType OPTIONAL,
- IN KPROCESSOR_MODE AccessMode,
- OUT PVOID *Object,
- OUT POBJECT_HANDLE_INFORMATION HandleInformation OPTIONAL);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-ObReferenceObjectByName(
- IN PUNICODE_STRING ObjectPath,
- IN ULONG Attributes,
- IN PACCESS_STATE PassedAccessState OPTIONAL,
- IN ACCESS_MASK DesiredAccess OPTIONAL,
- IN POBJECT_TYPE ObjectType,
- IN KPROCESSOR_MODE AccessMode,
- IN OUT PVOID ParseContext OPTIONAL,
- OUT PVOID *Object);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-ObReferenceObjectByPointer(
- IN PVOID Object,
- IN ACCESS_MASK DesiredAccess,
- IN POBJECT_TYPE ObjectType,
- IN KPROCESSOR_MODE AccessMode);
-
-NTOSAPI
-VOID
-DDKAPI
-ObReferenceSecurityDescriptor(
- IN PSECURITY_DESCRIPTOR SecurityDescriptor,
- IN ULONG Count);
-
-NTOSAPI
-VOID
-DDKAPI
-ObReleaseObjectSecurity(
- IN PSECURITY_DESCRIPTOR SecurityDescriptor,
- IN BOOLEAN MemoryAllocated);
-
-
-
-/** Process manager routines **/
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-PsCreateSystemProcess(
- IN PHANDLE ProcessHandle,
- IN ACCESS_MASK DesiredAccess,
- IN POBJECT_ATTRIBUTES ObjectAttributes);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-PsCreateSystemThread(
- OUT PHANDLE ThreadHandle,
- IN ULONG DesiredAccess,
- IN POBJECT_ATTRIBUTES ObjectAttributes OPTIONAL,
- IN HANDLE ProcessHandle OPTIONAL,
- OUT PCLIENT_ID ClientId OPTIONAL,
- IN PKSTART_ROUTINE StartRoutine,
- IN PVOID StartContext);
-
-/*
- * PEPROCESS
- * PsGetCurrentProcess(VOID)
- */
-#define PsGetCurrentProcess IoGetCurrentProcess
-
-NTOSAPI
-HANDLE
-DDKAPI
-PsGetCurrentProcessId(
- VOID);
-
-/*
- * PETHREAD
- * PsGetCurrentThread(VOID)
- */
-#define PsGetCurrentThread() \
- ((PETHREAD) KeGetCurrentThread())
-
-NTOSAPI
-HANDLE
-DDKAPI
-PsGetCurrentThreadId(
- VOID);
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-PsGetVersion(
- PULONG MajorVersion OPTIONAL,
- PULONG MinorVersion OPTIONAL,
- PULONG BuildNumber OPTIONAL,
- PUNICODE_STRING CSDVersion OPTIONAL);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-PsRemoveCreateThreadNotifyRoutine(
- IN PCREATE_THREAD_NOTIFY_ROUTINE NotifyRoutine);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-PsRemoveLoadImageNotifyRoutine(
- IN PLOAD_IMAGE_NOTIFY_ROUTINE NotifyRoutine);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-PsSetCreateProcessNotifyRoutine(
- IN PCREATE_PROCESS_NOTIFY_ROUTINE NotifyRoutine,
- IN BOOLEAN Remove);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-PsSetCreateThreadNotifyRoutine(
- IN PCREATE_THREAD_NOTIFY_ROUTINE NotifyRoutine);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-PsSetLoadImageNotifyRoutine(
- IN PLOAD_IMAGE_NOTIFY_ROUTINE NotifyRoutine);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-PsTerminateSystemThread(
- IN NTSTATUS ExitStatus);
-
-
-
-/** Security reference monitor routines **/
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-SeAccessCheck(
- IN PSECURITY_DESCRIPTOR SecurityDescriptor,
- IN PSECURITY_SUBJECT_CONTEXT SubjectSecurityContext,
- IN BOOLEAN SubjectContextLocked,
- IN ACCESS_MASK DesiredAccess,
- IN ACCESS_MASK PreviouslyGrantedAccess,
- OUT PPRIVILEGE_SET *Privileges OPTIONAL,
- IN PGENERIC_MAPPING GenericMapping,
- IN KPROCESSOR_MODE AccessMode,
- OUT PACCESS_MASK GrantedAccess,
- OUT PNTSTATUS AccessStatus);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-SeAssignSecurity(
- IN PSECURITY_DESCRIPTOR ParentDescriptor OPTIONAL,
- IN PSECURITY_DESCRIPTOR ExplicitDescriptor OPTIONAL,
- OUT PSECURITY_DESCRIPTOR *NewDescriptor,
- IN BOOLEAN IsDirectoryObject,
- IN PSECURITY_SUBJECT_CONTEXT SubjectContext,
- IN PGENERIC_MAPPING GenericMapping,
- IN POOL_TYPE PoolType);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-SeAssignSecurityEx(
- IN PSECURITY_DESCRIPTOR ParentDescriptor OPTIONAL,
- IN PSECURITY_DESCRIPTOR ExplicitDescriptor OPTIONAL,
- OUT PSECURITY_DESCRIPTOR *NewDescriptor,
- IN GUID *ObjectType OPTIONAL,
- IN BOOLEAN IsDirectoryObject,
- IN ULONG AutoInheritFlags,
- IN PSECURITY_SUBJECT_CONTEXT SubjectContext,
- IN PGENERIC_MAPPING GenericMapping,
- IN POOL_TYPE PoolType);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-SeDeassignSecurity(
- IN OUT PSECURITY_DESCRIPTOR *SecurityDescriptor);
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-SeSinglePrivilegeCheck(
- LUID PrivilegeValue,
- KPROCESSOR_MODE PreviousMode);
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-SeValidSecurityDescriptor(
- IN ULONG Length,
- IN PSECURITY_DESCRIPTOR SecurityDescriptor);
-
-
-
-/** NtXxx routines **/
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-NtOpenProcess(
- OUT PHANDLE ProcessHandle,
- IN ACCESS_MASK DesiredAccess,
- IN POBJECT_ATTRIBUTES ObjectAttributes,
- IN PCLIENT_ID ClientId OPTIONAL);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-NtQueryInformationProcess(
- IN HANDLE ProcessHandle,
- IN PROCESSINFOCLASS ProcessInformationClass,
- OUT PVOID ProcessInformation,
- IN ULONG ProcessInformationLength,
- OUT PULONG ReturnLength OPTIONAL);
-
-
-
-/** NtXxx and ZwXxx routines **/
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-ZwCancelTimer(
- IN HANDLE TimerHandle,
- OUT PBOOLEAN CurrentState OPTIONAL);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-NtClose(
- IN HANDLE Handle);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-ZwClose(
- IN HANDLE Handle);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-ZwCreateDirectoryObject(
- OUT PHANDLE DirectoryHandle,
- IN ACCESS_MASK DesiredAccess,
- IN POBJECT_ATTRIBUTES ObjectAttributes);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-NtCreateEvent(
- OUT PHANDLE EventHandle,
- IN ACCESS_MASK DesiredAccess,
- IN POBJECT_ATTRIBUTES ObjectAttributes,
- IN BOOLEAN ManualReset,
- IN BOOLEAN InitialState);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-ZwCreateEvent(
- OUT PHANDLE EventHandle,
- IN ACCESS_MASK DesiredAccess,
- IN POBJECT_ATTRIBUTES ObjectAttributes,
- IN BOOLEAN ManualReset,
- IN BOOLEAN InitialState);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-ZwCreateFile(
- OUT PHANDLE FileHandle,
- IN ACCESS_MASK DesiredAccess,
- IN POBJECT_ATTRIBUTES ObjectAttributes,
- OUT PIO_STATUS_BLOCK IoStatusBlock,
- IN PLARGE_INTEGER AllocationSize OPTIONAL,
- IN ULONG FileAttributes,
- IN ULONG ShareAccess,
- IN ULONG CreateDisposition,
- IN ULONG CreateOptions,
- IN PVOID EaBuffer OPTIONAL,
- IN ULONG EaLength);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-ZwCreateKey(
- OUT PHANDLE KeyHandle,
- IN ACCESS_MASK DesiredAccess,
- IN POBJECT_ATTRIBUTES ObjectAttributes,
- IN ULONG TitleIndex,
- IN PUNICODE_STRING Class OPTIONAL,
- IN ULONG CreateOptions,
- OUT PULONG Disposition OPTIONAL);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-ZwCreateTimer(
- OUT PHANDLE TimerHandle,
- IN ACCESS_MASK DesiredAccess,
- IN POBJECT_ATTRIBUTES ObjectAttributes OPTIONAL,
- IN TIMER_TYPE TimerType);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-ZwDeleteKey(
- IN HANDLE KeyHandle);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-ZwDeleteValueKey(
- IN HANDLE KeyHandle,
- IN PUNICODE_STRING ValueName);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-NtDeviceIoControlFile(
- IN HANDLE DeviceHandle,
- IN HANDLE Event OPTIONAL,
- IN PIO_APC_ROUTINE UserApcRoutine OPTIONAL,
- IN PVOID UserApcContext OPTIONAL,
- OUT PIO_STATUS_BLOCK IoStatusBlock,
- IN ULONG IoControlCode,
- IN PVOID InputBuffer,
- IN ULONG InputBufferSize,
- OUT PVOID OutputBuffer,
- IN ULONG OutputBufferSize);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-ZwDeviceIoControlFile(
- IN HANDLE DeviceHandle,
- IN HANDLE Event OPTIONAL,
- IN PIO_APC_ROUTINE UserApcRoutine OPTIONAL,
- IN PVOID UserApcContext OPTIONAL,
- OUT PIO_STATUS_BLOCK IoStatusBlock,
- IN ULONG IoControlCode,
- IN PVOID InputBuffer,
- IN ULONG InputBufferSize,
- OUT PVOID OutputBuffer,
- IN ULONG OutputBufferSize);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-ZwEnumerateKey(
- IN HANDLE KeyHandle,
- IN ULONG Index,
- IN KEY_INFORMATION_CLASS KeyInformationClass,
- OUT PVOID KeyInformation,
- IN ULONG Length,
- OUT PULONG ResultLength);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-ZwEnumerateValueKey(
- IN HANDLE KeyHandle,
- IN ULONG Index,
- IN KEY_VALUE_INFORMATION_CLASS KeyValueInformationClass,
- OUT PVOID KeyValueInformation,
- IN ULONG Length,
- OUT PULONG ResultLength);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-ZwFlushKey(
- IN HANDLE KeyHandle);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-ZwMakeTemporaryObject(
- IN HANDLE Handle);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-NtMapViewOfSection(
- IN HANDLE SectionHandle,
- IN HANDLE ProcessHandle,
- IN OUT PVOID *BaseAddress,
- IN ULONG ZeroBits,
- IN ULONG CommitSize,
- IN OUT PLARGE_INTEGER SectionOffset OPTIONAL,
- IN OUT PSIZE_T ViewSize,
- IN SECTION_INHERIT InheritDisposition,
- IN ULONG AllocationType,
- IN ULONG Protect);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-ZwMapViewOfSection(
- IN HANDLE SectionHandle,
- IN HANDLE ProcessHandle,
- IN OUT PVOID *BaseAddress,
- IN ULONG ZeroBits,
- IN ULONG CommitSize,
- IN OUT PLARGE_INTEGER SectionOffset OPTIONAL,
- IN OUT PSIZE_T ViewSize,
- IN SECTION_INHERIT InheritDisposition,
- IN ULONG AllocationType,
- IN ULONG Protect);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-NtOpenFile(
- OUT PHANDLE FileHandle,
- IN ACCESS_MASK DesiredAccess,
- IN POBJECT_ATTRIBUTES ObjectAttributes,
- OUT PIO_STATUS_BLOCK IoStatusBlock,
- IN ULONG ShareAccess,
- IN ULONG OpenOptions);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-ZwOpenFile(
- OUT PHANDLE FileHandle,
- IN ACCESS_MASK DesiredAccess,
- IN POBJECT_ATTRIBUTES ObjectAttributes,
- OUT PIO_STATUS_BLOCK IoStatusBlock,
- IN ULONG ShareAccess,
- IN ULONG OpenOptions);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-ZwOpenKey(
- OUT PHANDLE KeyHandle,
- IN ACCESS_MASK DesiredAccess,
- IN POBJECT_ATTRIBUTES ObjectAttributes);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-ZwOpenSection(
- OUT PHANDLE SectionHandle,
- IN ACCESS_MASK DesiredAccess,
- IN POBJECT_ATTRIBUTES ObjectAttributes);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-ZwOpenSymbolicLinkObject(
- OUT PHANDLE LinkHandle,
- IN ACCESS_MASK DesiredAccess,
- IN POBJECT_ATTRIBUTES ObjectAttributes);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-ZwOpenTimer(
- OUT PHANDLE TimerHandle,
- IN ACCESS_MASK DesiredAccess,
- IN POBJECT_ATTRIBUTES ObjectAttributes);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-ZwQueryInformationFile(
- IN HANDLE FileHandle,
- OUT PIO_STATUS_BLOCK IoStatusBlock,
- OUT PVOID FileInformation,
- IN ULONG Length,
- IN FILE_INFORMATION_CLASS FileInformationClass);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-ZwQueryKey(
- IN HANDLE KeyHandle,
- IN KEY_INFORMATION_CLASS KeyInformationClass,
- OUT PVOID KeyInformation,
- IN ULONG Length,
- OUT PULONG ResultLength);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-ZwQuerySymbolicLinkObject(
- IN HANDLE LinkHandle,
- IN OUT PUNICODE_STRING LinkTarget,
- OUT PULONG ReturnedLength OPTIONAL);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-ZwQueryValueKey(
- IN HANDLE KeyHandle,
- IN PUNICODE_STRING ValueName,
- IN KEY_VALUE_INFORMATION_CLASS KeyValueInformationClass,
- OUT PVOID KeyValueInformation,
- IN ULONG Length,
- OUT PULONG ResultLength);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-NtReadFile(
- IN HANDLE FileHandle,
- IN HANDLE Event OPTIONAL,
- IN PIO_APC_ROUTINE ApcRoutine OPTIONAL,
- IN PVOID ApcContext OPTIONAL,
- OUT PIO_STATUS_BLOCK IoStatusBlock,
- OUT PVOID Buffer,
- IN ULONG Length,
- IN PLARGE_INTEGER ByteOffset OPTIONAL,
- IN PULONG Key OPTIONAL);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-ZwReadFile(
- IN HANDLE FileHandle,
- IN HANDLE Event OPTIONAL,
- IN PIO_APC_ROUTINE ApcRoutine OPTIONAL,
- IN PVOID ApcContext OPTIONAL,
- OUT PIO_STATUS_BLOCK IoStatusBlock,
- OUT PVOID Buffer,
- IN ULONG Length,
- IN PLARGE_INTEGER ByteOffset OPTIONAL,
- IN PULONG Key OPTIONAL);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-NtSetEvent(
- IN HANDLE EventHandle,
- IN PULONG NumberOfThreadsReleased);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-ZwSetEvent(
- IN HANDLE EventHandle,
- IN PULONG NumberOfThreadsReleased);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-ZwSetInformationFile(
- IN HANDLE FileHandle,
- OUT PIO_STATUS_BLOCK IoStatusBlock,
- IN PVOID FileInformation,
- IN ULONG Length,
- IN FILE_INFORMATION_CLASS FileInformationClass);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-ZwSetInformationThread(
- IN HANDLE ThreadHandle,
- IN THREADINFOCLASS ThreadInformationClass,
- IN PVOID ThreadInformation,
- IN ULONG ThreadInformationLength);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-ZwSetTimer(
- IN HANDLE TimerHandle,
- IN PLARGE_INTEGER DueTime,
- IN PTIMER_APC_ROUTINE TimerApcRoutine OPTIONAL,
- IN PVOID TimerContext OPTIONAL,
- IN BOOLEAN WakeTimer,
- IN LONG Period OPTIONAL,
- OUT PBOOLEAN PreviousState OPTIONAL);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-ZwSetValueKey(
- IN HANDLE KeyHandle,
- IN PUNICODE_STRING ValueName,
- IN ULONG TitleIndex OPTIONAL,
- IN ULONG Type,
- IN PVOID Data,
- IN ULONG DataSize);
-
-/* [Nt|Zw]MapViewOfSection.InheritDisposition constants */
-#define AT_EXTENDABLE_FILE 0x00002000
-#define SEC_NO_CHANGE 0x00400000
-#define AT_RESERVED 0x20000000
-#define AT_ROUND_TO_PAGE 0x40000000
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-NtUnmapViewOfSection(
- IN HANDLE ProcessHandle,
- IN PVOID BaseAddress);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-ZwUnmapViewOfSection(
- IN HANDLE ProcessHandle,
- IN PVOID BaseAddress);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-NtWaitForSingleObject(
- IN HANDLE Object,
- IN BOOLEAN Alertable,
- IN PLARGE_INTEGER Time);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-ZwWaitForSingleObject(
- IN HANDLE Object,
- IN BOOLEAN Alertable,
- IN PLARGE_INTEGER Time);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-NtWriteFile(
- IN HANDLE FileHandle,
- IN HANDLE Event OPTIONAL,
- IN PIO_APC_ROUTINE ApcRoutine OPTIONAL,
- IN PVOID ApcContext OPTIONAL,
- OUT PIO_STATUS_BLOCK IoStatusBlock,
- IN PVOID Buffer,
- IN ULONG Length,
- IN PLARGE_INTEGER ByteOffset OPTIONAL,
- IN PULONG Key OPTIONAL);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-ZwWriteFile(
- IN HANDLE FileHandle,
- IN HANDLE Event OPTIONAL,
- IN PIO_APC_ROUTINE ApcRoutine OPTIONAL,
- IN PVOID ApcContext OPTIONAL,
- OUT PIO_STATUS_BLOCK IoStatusBlock,
- IN PVOID Buffer,
- IN ULONG Length,
- IN PLARGE_INTEGER ByteOffset OPTIONAL,
- IN PULONG Key OPTIONAL);
-
-
-
-/** Power management support routines **/
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-PoCallDriver(
- IN PDEVICE_OBJECT DeviceObject,
- IN OUT PIRP Irp);
-
-NTOSAPI
-PULONG
-DDKAPI
-PoRegisterDeviceForIdleDetection(
- IN PDEVICE_OBJECT DeviceObject,
- IN ULONG ConservationIdleTime,
- IN ULONG PerformanceIdleTime,
- IN DEVICE_POWER_STATE State);
-
-NTOSAPI
-PVOID
-DDKAPI
-PoRegisterSystemState(
- IN PVOID StateHandle,
- IN EXECUTION_STATE Flags);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-PoRequestPowerIrp(
- IN PDEVICE_OBJECT DeviceObject,
- IN UCHAR MinorFunction,
- IN POWER_STATE PowerState,
- IN PREQUEST_POWER_COMPLETE CompletionFunction,
- IN PVOID Context,
- OUT PIRP *Irp OPTIONAL);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-PoRequestShutdownEvent(
- OUT PVOID *Event);
-
-NTOSAPI
-VOID
-DDKAPI
-PoSetDeviceBusy(
- PULONG IdlePointer);
-
-NTOSAPI
-POWER_STATE
-DDKAPI
-PoSetPowerState(
- IN PDEVICE_OBJECT DeviceObject,
- IN POWER_STATE_TYPE Type,
- IN POWER_STATE State);
-
-NTOSAPI
-VOID
-DDKAPI
-PoSetSystemState(
- IN EXECUTION_STATE Flags);
-
-NTOSAPI
-VOID
-DDKAPI
-PoStartNextPowerIrp(
- IN PIRP Irp);
-
-NTOSAPI
-VOID
-DDKAPI
-PoUnregisterSystemState(
- IN PVOID StateHandle);
-
-
-
-/** WMI library support routines **/
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-WmiCompleteRequest(
- IN PDEVICE_OBJECT DeviceObject,
- IN PIRP Irp,
- IN NTSTATUS Status,
- IN ULONG BufferUsed,
- IN CCHAR PriorityBoost);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-WmiFireEvent(
- IN PDEVICE_OBJECT DeviceObject,
- IN LPGUID Guid,
- IN ULONG InstanceIndex,
- IN ULONG EventDataSize,
- IN PVOID EventData);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-WmiQueryTraceInformation(
- IN TRACE_INFORMATION_CLASS TraceInformationClass,
- OUT PVOID TraceInformation,
- IN ULONG TraceInformationLength,
- OUT PULONG RequiredLength OPTIONAL,
- IN PVOID Buffer OPTIONAL);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-WmiSystemControl(
- IN PWMILIB_CONTEXT WmiLibInfo,
- IN PDEVICE_OBJECT DeviceObject,
- IN PIRP Irp,
- OUT PSYSCTL_IRP_DISPOSITION IrpDisposition);
-
-NTOSAPI
-NTSTATUS
-DDKCDECLAPI
-WmiTraceMessage(
- IN TRACEHANDLE LoggerHandle,
- IN ULONG MessageFlags,
- IN LPGUID MessageGuid,
- IN USHORT MessageNumber,
- IN ...);
-
-#if 0
-/* FIXME: Get va_list from where? */
-NTOSAPI
-NTSTATUS
-DDKCDECLAPI
-WmiTraceMessageVa(
- IN TRACEHANDLE LoggerHandle,
- IN ULONG MessageFlags,
- IN LPGUID MessageGuid,
- IN USHORT MessageNumber,
- IN va_list MessageArgList);
-#endif
-
-
-/** Kernel debugger routines **/
-
-NTOSAPI
-VOID
-DDKAPI
-KdDisableDebugger(
- VOID);
-
-NTOSAPI
-VOID
-DDKAPI
-KdEnableDebugger(
- VOID);
-
-NTOSAPI
-VOID
-DDKAPI
-DbgBreakPoint(
- VOID);
-
-NTOSAPI
-VOID
-DDKAPI
-DbgBreakPointWithStatus(
- IN ULONG Status);
-
-NTOSAPI
-ULONG
-DDKCDECLAPI
-DbgPrint(
- IN PCH Format,
- IN ...);
-
-NTOSAPI
-ULONG
-DDKCDECLAPI
-DbgPrintEx(
- IN ULONG ComponentId,
- IN ULONG Level,
- IN PCH Format,
- IN ...);
-
-NTOSAPI
-ULONG
-DDKCDECLAPI
-DbgPrintReturnControlC(
- IN PCH Format,
- IN ...);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-DbgQueryDebugFilterState(
- IN ULONG ComponentId,
- IN ULONG Level);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-DbgSetDebugFilterState(
- IN ULONG ComponentId,
- IN ULONG Level,
- IN BOOLEAN State);
-
-#ifdef DBG
-
-#define KdPrint(_x_) DbgPrint _x_
-#define KdPrintEx(_x_) DbgPrintEx _x_
-#define KdBreakPoint() DbgBreakPoint()
-#define KdBreakPointWithStatus(s) DbgBreakPointWithStatus(s)
-
-#else /* !DBG */
-
-#define KdPrint(_x_)
-#define KdPrintEx(_x_)
-#define KdBreakPoint()
-#define KdBreakPointWithStatus(s)
-
-#endif /* !DBG */
-
-extern NTOSAPI PBOOLEAN KdDebuggerNotPresent;
-extern NTOSAPI PBOOLEAN KdDebuggerEnabled;
-#define KD_DEBUGGER_ENABLED *KdDebuggerEnabled
-#define KD_DEBUGGER_NOT_PRESENT *KdDebuggerNotPresent
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __WINDDK_H */
diff --git a/winsup/w32api/include/ddk/winnt4.h b/winsup/w32api/include/ddk/winnt4.h
deleted file mode 100644
index 503d44ca7..000000000
--- a/winsup/w32api/include/ddk/winnt4.h
+++ /dev/null
@@ -1,623 +0,0 @@
-/*
- * winnt4.h
- *
- * Definitions only used in Windows NT 4.0 and earlier versions
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- * Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __WINNT4_H
-#define __WINNT4_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-typedef struct _ZONE_SEGMENT_HEADER {
- SINGLE_LIST_ENTRY SegmentList;
- PVOID Reserved;
-} ZONE_SEGMENT_HEADER, *PZONE_SEGMENT_HEADER;
-
-typedef struct _ZONE_HEADER {
- SINGLE_LIST_ENTRY FreeList;
- SINGLE_LIST_ENTRY SegmentList;
- ULONG BlockSize;
- ULONG TotalSegmentSize;
-} ZONE_HEADER, *PZONE_HEADER;
-
-static __inline PVOID
-ExAllocateFromZone(
- IN PZONE_HEADER Zone)
-{
- if (Zone->FreeList.Next)
- Zone->FreeList.Next = Zone->FreeList.Next->Next;
- return (PVOID) Zone->FreeList.Next;
-}
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-ExExtendZone(
- IN PZONE_HEADER Zone,
- IN PVOID Segment,
- IN ULONG SegmentSize);
-
-static __inline PVOID
-ExFreeToZone(
- IN PZONE_HEADER Zone,
- IN PVOID Block)
-{
- ((PSINGLE_LIST_ENTRY) Block)->Next = Zone->FreeList.Next;
- Zone->FreeList.Next = ((PSINGLE_LIST_ENTRY) Block);
- return ((PSINGLE_LIST_ENTRY) Block)->Next;
-}
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-ExInitializeZone(
- IN PZONE_HEADER Zone,
- IN ULONG BlockSize,
- IN PVOID InitialSegment,
- IN ULONG InitialSegmentSize);
-
-/*
- * PVOID
- * ExInterlockedAllocateFromZone(
- * IN PZONE_HEADER Zone,
- * IN PKSPIN_LOCK Lock)
- */
-#define ExInterlockedAllocateFromZone(Zone, \
- Lock) \
- ((PVOID) ExInterlockedPopEntryList(&Zone->FreeList, Lock))
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-ExInterlockedExtendZone(
- IN PZONE_HEADER Zone,
- IN PVOID Segment,
- IN ULONG SegmentSize,
- IN PKSPIN_LOCK Lock);
-
-NTOSAPI
-PVOID
-DDKAPI
-ExInterlockedFreeToZone(
- IN PZONE_HEADER Zone,
- IN PVOID Block,
- IN PKSPIN_LOCK Lock);
-
-/*
- * VOID
- * ExInitializeWorkItem(
- * IN PWORK_QUEUE_ITEM Item,
- * IN PWORKER_THREAD_ROUTINE Routine,
- * IN PVOID Context)
- */
-#define ExInitializeWorkItem(Item, \
- Routine, \
- Context) \
-{ \
- (Item)->WorkerRoutine = Routine; \
- (Item)->Parameter = Context; \
- (Item)->List.Flink = NULL; \
-}
-
-/*
- * BOOLEAN
- * ExIsFullZone(
- * IN PZONE_HEADER Zone)
- */
-#define ExIsFullZone(Zone) \
- ((Zone)->FreeList.Next == (PSINGLE_LIST_ENTRY) NULL)
-
-NTOSAPI
-VOID
-DDKAPI
-ExQueueWorkItem(
- IN PWORK_QUEUE_ITEM WorkItem,
- IN WORK_QUEUE_TYPE QueueType);
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-ExIsObjectInFirstZoneSegment(
- IN PZONE_HEADER Zone,
- IN PVOID Object);
-
-NTOSAPI
-VOID
-DDKAPI
-ExReleaseResource(
- IN PERESOURCE Resource);
-
-#define ExAcquireResourceExclusive ExAcquireResourceExclusiveLite
-#define ExAcquireResourceShared ExAcquireResourceSharedLite
-#define ExConvertExclusiveToShared ExConvertExclusiveToSharedLite
-#define ExDeleteResource ExDeleteResourceLite
-#define ExInitializeResource ExInitializeResourceLite
-#define ExIsResourceAcquiredExclusive ExIsResourceAcquiredExclusiveLite
-#define ExIsResourceAcquiredShared ExIsResourceAcquiredSharedLite
-#define ExIsResourceAcquired ExIsResourceAcquiredSharedLite
-#define ExReleaseResourceForThread ExReleaseResourceForThreadLite
-
-NTOSAPI
-INTERLOCKED_RESULT
-DDKAPI
-ExInterlockedDecrementLong(
- IN PLONG Addend,
- IN PKSPIN_LOCK Lock);
-
-NTOSAPI
-ULONG
-DDKAPI
-ExInterlockedExchangeUlong(
- IN PULONG Target,
- IN ULONG Value,
- IN PKSPIN_LOCK Lock);
-
-NTOSAPI
-INTERLOCKED_RESULT
-DDKAPI
-ExInterlockedIncrementLong(
- IN PLONG Addend,
- IN PKSPIN_LOCK Lock);
-
-NTOSAPI
-PVOID
-DDKAPI
-HalAllocateCommonBuffer(
- IN PADAPTER_OBJECT AdapterObject,
- IN ULONG Length,
- OUT PPHYSICAL_ADDRESS LogicalAddress,
- IN BOOLEAN CacheEnabled);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-HalAssignSlotResources(
- IN PUNICODE_STRING RegistryPath,
- IN PUNICODE_STRING DriverClassName,
- IN PDRIVER_OBJECT DriverObject,
- IN PDEVICE_OBJECT DeviceObject,
- IN INTERFACE_TYPE BusType,
- IN ULONG BusNumber,
- IN ULONG SlotNumber,
- IN OUT PCM_RESOURCE_LIST *AllocatedResources);
-
-NTOSAPI
-VOID
-DDKAPI
-HalFreeCommonBuffer(
- IN PADAPTER_OBJECT AdapterObject,
- IN ULONG Length,
- IN PHYSICAL_ADDRESS LogicalAddress,
- IN PVOID VirtualAddress,
- IN BOOLEAN CacheEnabled);
-
-NTOSAPI
-PADAPTER_OBJECT
-DDKAPI
-HalGetAdapter(
- IN PDEVICE_DESCRIPTION DeviceDescription,
- IN OUT PULONG NumberOfMapRegisters);
-
-NTOSAPI
-ULONG
-DDKAPI
-HalGetBusData(
- IN BUS_DATA_TYPE BusDataType,
- IN ULONG BusNumber,
- IN ULONG SlotNumber,
- IN PVOID Buffer,
- IN ULONG Length);
-
-NTOSAPI
-ULONG
-DDKAPI
-HalGetBusDataByOffset(
- IN BUS_DATA_TYPE BusDataType,
- IN ULONG BusNumber,
- IN ULONG SlotNumber,
- IN PVOID Buffer,
- IN ULONG Offset,
- IN ULONG Length);
-
-NTOSAPI
-ULONG
-DDKAPI
-HalGetDmaAlignmentRequirement(
- VOID);
-
-NTOSAPI
-ULONG
-DDKAPI
-HalGetInterruptVector(
- IN INTERFACE_TYPE InterfaceType,
- IN ULONG BusNumber,
- IN ULONG BusInterruptLevel,
- IN ULONG BusInterruptVector,
- OUT PKIRQL Irql,
- OUT PKAFFINITY Affinity);
-
-NTOSAPI
-ULONG
-DDKAPI
-HalReadDmaCounter(
- IN PADAPTER_OBJECT AdapterObject);
-
-NTOSAPI
-ULONG
-DDKAPI
-HalSetBusData(
- IN BUS_DATA_TYPE BusDataType,
- IN ULONG BusNumber,
- IN ULONG SlotNumber,
- IN PVOID Buffer,
- IN ULONG Length);
-
-NTOSAPI
-ULONG
-DDKAPI
-HalSetBusDataByOffset(
- IN BUS_DATA_TYPE BusDataType,
- IN ULONG BusNumber,
- IN ULONG SlotNumber,
- IN PVOID Buffer,
- IN ULONG Offset,
- IN ULONG Length);
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-HalTranslateBusAddress(
- IN INTERFACE_TYPE InterfaceType,
- IN ULONG BusNumber,
- IN PHYSICAL_ADDRESS BusAddress,
- IN OUT PULONG AddressSpace,
- OUT PPHYSICAL_ADDRESS TranslatedAddress);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-IoAllocateAdapterChannel(
- IN PADAPTER_OBJECT AdapterObject,
- IN PDEVICE_OBJECT DeviceObject,
- IN ULONG NumberOfMapRegisters,
- IN PDRIVER_CONTROL ExecutionRoutine,
- IN PVOID Context);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-IoAssignResources(
- IN PUNICODE_STRING RegistryPath,
- IN PUNICODE_STRING DriverClassName OPTIONAL,
- IN PDRIVER_OBJECT DriverObject,
- IN PDEVICE_OBJECT DeviceObject OPTIONAL,
- IN PIO_RESOURCE_REQUIREMENTS_LIST RequestedResources,
- IN OUT PCM_RESOURCE_LIST *AllocatedResources);
-
-NTOSAPI
-NTSTATUS
-DDKAPI
-IoAttachDeviceByPointer(
- IN PDEVICE_OBJECT SourceDevice,
- IN PDEVICE_OBJECT TargetDevice);
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-IoFlushAdapterBuffers(
- IN PADAPTER_OBJECT AdapterObject,
- IN PMDL Mdl,
- IN PVOID MapRegisterBase,
- IN PVOID CurrentVa,
- IN ULONG Length,
- IN BOOLEAN WriteToDevice);
-
-NTOSAPI
-VOID
-DDKAPI
-IoFreeAdapterChannel(
- IN PADAPTER_OBJECT AdapterObject);
-
-NTOSAPI
-VOID
-DDKAPI
-IoFreeMapRegisters(
- IN PADAPTER_OBJECT AdapterObject,
- IN PVOID MapRegisterBase,
- IN ULONG NumberOfMapRegisters);
-
-NTOSAPI
-PHYSICAL_ADDRESS
-DDKAPI
-IoMapTransfer(
- IN PADAPTER_OBJECT AdapterObject,
- IN PMDL Mdl,
- IN PVOID MapRegisterBase,
- IN PVOID CurrentVa,
- IN OUT PULONG Length,
- IN BOOLEAN WriteToDevice);
-
-NTOSAPI
-PMDL
-DDKAPI
-MmCreateMdl(
- IN PMDL MemoryDescriptorList OPTIONAL,
- IN PVOID Base,
- IN SIZE_T Length);
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-MmIsNonPagedSystemAddressValid(
- IN PVOID VirtualAddress);
-
-NTOSAPI
-LARGE_INTEGER
-DDKAPI
-RtlEnlargedIntegerMultiply(
- IN LONG Multiplicand,
- IN LONG Multiplier);
-
-NTOSAPI
-ULONG
-DDKAPI
-RtlEnlargedUnsignedDivide(
- IN ULARGE_INTEGER Dividend,
- IN ULONG Divisor,
- IN OUT PULONG Remainder);
-
-NTOSAPI
-LARGE_INTEGER
-DDKAPI
-RtlEnlargedUnsignedMultiply(
- IN ULONG Multiplicand,
- IN ULONG Multiplier);
-
-NTOSAPI
-LARGE_INTEGER
-DDKAPI
-RtlExtendedIntegerMultiply(
- IN LARGE_INTEGER Multiplicand,
- IN LONG Multiplier);
-
-NTOSAPI
-LARGE_INTEGER
-DDKAPI
-RtlExtendedLargeIntegerDivide(
- IN LARGE_INTEGER Dividend,
- IN ULONG Divisor,
- IN OUT PULONG Remainder);
-
-NTOSAPI
-LARGE_INTEGER
-DDKAPI
-RtlExtendedMagicDivide(
- IN LARGE_INTEGER Dividend,
- IN LARGE_INTEGER MagicDivisor,
- IN CCHAR ShiftCount);
-
-NTOSAPI
-LARGE_INTEGER
-DDKAPI
-RtlLargeIntegerAdd(
- IN LARGE_INTEGER Addend1,
- IN LARGE_INTEGER Addend2);
-
-NTOSAPI
-VOID
-DDKAPI
-RtlLargeIntegerAnd(
- IN OUT LARGE_INTEGER Result,
- IN LARGE_INTEGER Source,
- IN LARGE_INTEGER Mask);
-
-NTOSAPI
-LARGE_INTEGER
-DDKAPI
-RtlLargeIntegerArithmeticShift(
- IN LARGE_INTEGER LargeInteger,
- IN CCHAR ShiftCount);
-
-NTOSAPI
-LARGE_INTEGER
-DDKAPI
-RtlLargeIntegerDivide(
- IN LARGE_INTEGER Dividend,
- IN LARGE_INTEGER Divisor,
- IN OUT PLARGE_INTEGER Remainder);
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-RtlLargeIntegerEqualTo(
- IN LARGE_INTEGER Operand1,
- IN LARGE_INTEGER Operand2);
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-RtlLargeIntegerEqualToZero(
- IN LARGE_INTEGER Operand);
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-RtlLargeIntegerGreaterOrEqualToZero(
- IN LARGE_INTEGER Operand);
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-RtlLargeIntegerGreaterThan(
- IN LARGE_INTEGER Operand1,
- IN LARGE_INTEGER Operand2);
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-RtlLargeIntegerGreaterThanOrEqualTo(
- IN LARGE_INTEGER Operand1,
- IN LARGE_INTEGER Operand2);
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-RtlLargeIntegerGreaterThanZero(
- IN LARGE_INTEGER Operand);
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-RtlLargeIntegerLessOrEqualToZero(
- IN LARGE_INTEGER Operand);
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-RtlLargeIntegerLessThan(
- IN LARGE_INTEGER Operand1,
- IN LARGE_INTEGER Operand2);
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-RtlLargeIntegerLessThanOrEqualTo(
- IN LARGE_INTEGER Operand1,
- IN LARGE_INTEGER Operand2);
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-RtlLargeIntegerLessThanZero(
- IN LARGE_INTEGER Operand);
-
-NTOSAPI
-LARGE_INTEGER
-DDKAPI
-RtlLargeIntegerNegate(
- IN LARGE_INTEGER Subtrahend);
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-RtlLargeIntegerNotEqualTo(
- IN LARGE_INTEGER Operand1,
- IN LARGE_INTEGER Operand2);
-
-NTOSAPI
-BOOLEAN
-DDKAPI
-RtlLargeIntegerNotEqualToZero(
- IN LARGE_INTEGER Operand);
-
-NTOSAPI
-LARGE_INTEGER
-DDKAPI
-RtlLargeIntegerShiftLeft(
- IN LARGE_INTEGER LargeInteger,
- IN CCHAR ShiftCount);
-
-NTOSAPI
-LARGE_INTEGER
-DDKAPI
-RtlLargeIntegerShiftRight(
- IN LARGE_INTEGER LargeInteger,
- IN CCHAR ShiftCount);
-
-NTOSAPI
-LARGE_INTEGER
-DDKAPI
-RtlLargeIntegerSubtract(
- IN LARGE_INTEGER Minuend,
- IN LARGE_INTEGER Subtrahend);
-
-
-/*
- * ULONG
- * COMPUTE_PAGES_SPANNED(
- * IN PVOID Va,
- * IN ULONG Size)
- */
-#define COMPUTE_PAGES_SPANNED(Va, \
- Size) \
- (ADDRESS_AND_SIZE_TO_SPAN_PAGES(Va, Size))
-
-
-/*
-** Architecture specific functions
-*/
-
-#ifdef _X86_
-
-NTOSAPI
-INTERLOCKED_RESULT
-DDKAPI
-Exi386InterlockedIncrementLong(
- IN PLONG Addend);
-
-NTOSAPI
-INTERLOCKED_RESULT
-DDKFASTAPI
-Exfi386InterlockedIncrementLong(
- IN PLONG Addend);
-
-NTOSAPI
-INTERLOCKED_RESULT
-DDKAPI
-Exi386InterlockedDecrementLong(
- IN PLONG Addend);
-
-NTOSAPI
-INTERLOCKED_RESULT
-DDKFASTAPI
-Exfi386InterlockedDecrementLong(
- IN PLONG Addend);
-
-NTOSAPI
-ULONG
-DDKAPI
-Exi386InterlockedExchangeUlong(
- IN PULONG Target,
- IN ULONG Value);
-
-NTOSAPI
-ULONG
-DDKFASTAPI
-Exfi386InterlockedExchangeUlong(
- IN PULONG Target,
- IN ULONG Value);
-
-#define ExInterlockedIncrementLong(Addend,Lock) Exfi386InterlockedIncrementLong(Addend)
-#define ExInterlockedDecrementLong(Addend,Lock) Exfi386InterlockedDecrementLong(Addend)
-#define ExInterlockedExchangeUlong(Target, Value, Lock) Exfi386InterlockedExchangeUlong(Target, Value)
-
-#endif /* _X86_ */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __WINNT4_H */
diff --git a/winsup/w32api/include/ddk/winxp.h b/winsup/w32api/include/ddk/winxp.h
deleted file mode 100644
index 28e34a89c..000000000
--- a/winsup/w32api/include/ddk/winxp.h
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * winxp.h
- *
- * Definitions only used in Windows XP and earlier versions
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- * Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __WINXP_H
-#define __WINXP_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __WINXP_H */
diff --git a/winsup/w32api/include/ddk/ws2san.h b/winsup/w32api/include/ddk/ws2san.h
deleted file mode 100644
index de392c0fa..000000000
--- a/winsup/w32api/include/ddk/ws2san.h
+++ /dev/null
@@ -1,248 +0,0 @@
-/*
- * ws2san.h
- *
- * WinSock Direct (SAN) support
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- * Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __WS2SAN_H
-#define __WS2SAN_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <winsock2.h>
-#include "ntddk.h"
-
-
-#define WSPAPI STDCALL
-
-/* FIXME: Unknown definitions */
-typedef PVOID LPWSPDATA;
-typedef PDWORD LPWSATHREADID;
-typedef PVOID LPWSPPROC_TABLE;
-typedef struct _WSPUPCALLTABLEEX WSPUPCALLTABLEEX;
-typedef WSPUPCALLTABLEEX *LPWSPUPCALLTABLEEX;
-
-#define SO_MAX_RDMA_SIZE 0x700D
-#define SO_RDMA_THRESHOLD_SIZE 0x700E
-
-#define WSAID_REGISTERMEMORY \
- {0xC0B422F5, 0xF58C, 0x11d1, {0xAD, 0x6C, 0x00, 0xC0, 0x4F, 0xA3, 0x4A, 0x2D}}
-
-#define WSAID_DEREGISTERMEMORY \
- {0xC0B422F6, 0xF58C, 0x11d1, {0xAD, 0x6C, 0x00, 0xC0, 0x4F, 0xA3, 0x4A, 0x2D}}
-
-#define WSAID_REGISTERRDMAMEMORY \
- {0xC0B422F7, 0xF58C, 0x11d1, {0xAD, 0x6C, 0x00, 0xC0, 0x4F, 0xA3, 0x4A, 0x2D}}
-
-#define WSAID_DEREGISTERRDMAMEMORY \
- {0xC0B422F8, 0xF58C, 0x11d1, {0xAD, 0x6C, 0x00, 0xC0, 0x4F, 0xA3, 0x4A, 0x2D}}
-
-#define WSAID_RDMAWRITE \
- {0xC0B422F9, 0xF58C, 0x11d1, {0xAD, 0x6C, 0x00, 0xC0, 0x4F, 0xA3, 0x4A, 0x2D}}
-
-#define WSAID_RDMAREAD \
- {0xC0B422FA, 0xF58C, 0x11d1, {0xAD, 0x6C, 0x00, 0xC0, 0x4F, 0xA3, 0x4A, 0x2D}}
-
-#define WSAID_MEMORYREGISTRATIONCACHECALLBACK \
- {0xE5DA4AF8, 0xD824, 0x48CD, {0xA7, 0x99, 0x63, 0x37, 0xA9, 0x8E, 0xD2, 0xAF}}
-
-typedef struct _WSABUFEX {
- u_long len;
- char FAR *buf;
- HANDLE handle;
-} WSABUFEX, FAR * LPWSABUFEX;
-
-#if 0
-typedef struct _WSPUPCALLTABLEEX {
- LPWPUCLOSEEVENT lpWPUCloseEvent;
- LPWPUCLOSESOCKETHANDLE lpWPUCloseSocketHandle;
- LPWPUCREATEEVENT lpWPUCreateEvent;
- LPWPUCREATESOCKETHANDLE lpWPUCreateSocketHandle;
- LPWPUFDISSET lpWPUFDIsSet;
- LPWPUGETPROVIDERPATH lpWPUGetProviderPath;
- LPWPUMODIFYIFSHANDLE lpWPUModifyIFSHandle;
- LPWPUPOSTMESSAGE lpWPUPostMessage;
- LPWPUQUERYBLOCKINGCALLBACK lpWPUQueryBlockingCallback;
- LPWPUQUERYSOCKETHANDLECONTEXT lpWPUQuerySocketHandleContext;
- LPWPUQUEUEAPC lpWPUQueueApc;
- LPWPURESETEVENT lpWPUResetEvent;
- LPWPUSETEVENT lpWPUSetEvent;
- LPWPUOPENCURRENTTHREAD lpWPUOpenCurrentThread;
- LPWPUCLOSETHREAD lpWPUCloseThread;
- LPWPUCOMPLETEOVERLAPPEDREQUEST lpWPUCompleteOverlappedRequest;
-} WSPUPCALLTABLEEX, FAR * LPWSPUPCALLTABLEEX;
-#endif
-
-int WSPAPI
-WSPStartupEx(
- IN WORD wVersionRequested,
- OUT LPWSPDATA lpWSPData,
- IN LPWSAPROTOCOL_INFOW lpProtocolInfo,
- IN LPWSPUPCALLTABLEEX lpUpcallTable,
- OUT LPWSPPROC_TABLE lpProcTable);
-
-typedef int WSPAPI
-(*LPWSPSTARTUPEX)(
- IN WORD wVersionRequested,
- OUT LPWSPDATA lpWSPData,
- IN LPWSAPROTOCOL_INFOW lpProtocolInfo,
- IN LPWSPUPCALLTABLEEX lpUpcallTable,
- OUT LPWSPPROC_TABLE lpProcTable);
-
-#define MEM_READ 1
-#define MEM_WRITE 2
-#define MEM_READWRITE 3
-
-int WSPAPI
-WSPDeregisterMemory(
- IN SOCKET s,
- IN HANDLE Handle,
- OUT LPINT lpErrno);
-
-typedef int WSPAPI
-(*LPFN_WSPDEREGISTERMEMORY)(
- IN SOCKET s,
- IN HANDLE Handle,
- OUT LPINT lpErrno);
-
-int WSPAPI
-WSPDeregisterRdmaMemory(
- IN SOCKET s,
- IN LPVOID lpRdmaBufferDescriptor,
- IN DWORD dwDescriptorLength,
- OUT LPINT lpErrno);
-
-typedef int WSPAPI
-(*LPFN_WSPDEREGISTERRDMAMEMORY)(
- IN SOCKET s,
- IN LPVOID lpRdmaBufferDescriptor,
- IN DWORD dwDescriptorLength,
- OUT LPINT lpErrno);
-
-int WSPAPI
-WSPMemoryRegistrationCacheCallback(
- IN PVOID lpvAddress,
- IN SIZE_T Size,
- OUT LPINT lpErrno);
-
-typedef int WSPAPI
-(*LPFN_WSPMEMORYREGISTRATIONCACHECALLBACK)(
- IN PVOID lpvAddress,
- IN SIZE_T Size,
- OUT LPINT lpErrno);
-
-int WSPAPI
-WSPRdmaRead(
- IN SOCKET s,
- IN LPWSABUFEX lpBuffers,
- IN DWORD dwBufferCount,
- IN LPVOID lpTargetBufferDescriptor,
- IN DWORD dwTargetDescriptorLength,
- IN DWORD dwTargetBufferOffset,
- OUT LPDWORD lpdwNumberOfBytesRead,
- IN DWORD dwFlags,
- IN LPWSAOVERLAPPED lpOverlapped,
- IN LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine,
- IN LPWSATHREADID lpThreadId,
- OUT LPINT lpErrno);
-
-typedef int WSPAPI
-(*LPFN_WSPRDMAREAD)(
- IN SOCKET s,
- IN LPWSABUFEX lpBuffers,
- IN DWORD dwBufferCount,
- IN LPVOID lpTargetBufferDescriptor,
- IN DWORD dwTargetDescriptorLength,
- IN DWORD dwTargetBufferOffset,
- OUT LPDWORD lpdwNumberOfBytesRead,
- IN DWORD dwFlags,
- IN LPWSAOVERLAPPED lpOverlapped,
- IN LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine,
- IN LPWSATHREADID lpThreadId,
- OUT LPINT lpErrno);
-
-int WSPAPI
-WSPRdmaWrite(
- IN SOCKET s,
- IN LPWSABUFEX lpBuffers,
- IN DWORD dwBufferCount,
- IN LPVOID lpTargetBufferDescriptor,
- IN DWORD dwTargetDescriptorLength,
- IN DWORD dwTargetBufferOffset,
- OUT LPDWORD lpdwNumberOfBytesWritten,
- IN DWORD dwFlags,
- IN LPWSAOVERLAPPED lpOverlapped,
- IN LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine,
- IN LPWSATHREADID lpThreadId,
- OUT LPINT lpErrno);
-
-typedef int WSPAPI
-(*LPFN_WSPRDMAWRITE)(
- IN SOCKET s,
- IN LPWSABUFEX lpBuffers,
- IN DWORD dwBufferCount,
- IN LPVOID lpTargetBufferDescriptor,
- IN DWORD dwTargetDescriptorLength,
- IN DWORD dwTargetBufferOffset,
- OUT LPDWORD lpdwNumberOfBytesWritten,
- IN DWORD dwFlags,
- IN LPWSAOVERLAPPED lpOverlapped,
- IN LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine,
- IN LPWSATHREADID lpThreadId,
- OUT LPINT lpErrno);
-
-HANDLE WSPAPI
-WSPRegisterMemory(
- IN SOCKET s,
- IN PVOID lpBuffer,
- IN DWORD dwBufferLength,
- IN DWORD dwFlags,
- OUT LPINT lpErrno);
-
-int WSPAPI
-WSPRegisterRdmaMemory(
- IN SOCKET s,
- IN PVOID lpBuffer,
- IN DWORD dwBufferLength,
- IN DWORD dwFlags,
- OUT LPVOID lpRdmaBufferDescriptor,
- IN OUT LPDWORD lpdwDescriptorLength,
- OUT LPINT lpErrno);
-
-typedef int WSPAPI
-(*LPFN_WSPREGISTERRDMAMEMORY)(
- IN SOCKET s,
- IN PVOID lpBuffer,
- IN DWORD dwBufferLength,
- IN DWORD dwFlags,
- OUT LPVOID lpRdmaBufferDescriptor,
- IN OUT LPDWORD lpdwDescriptorLength,
- OUT LPINT lpErrno);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __WS2SAN_H */
diff --git a/winsup/w32api/include/ddk/xfilter.h b/winsup/w32api/include/ddk/xfilter.h
deleted file mode 100644
index 3940b44f2..000000000
--- a/winsup/w32api/include/ddk/xfilter.h
+++ /dev/null
@@ -1,239 +0,0 @@
-/*
- * xfilter.h
- *
- * Address filtering for NDIS MACs
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- * Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __XFILTER_H
-#define __XFILTER_H
-
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "ntddk.h"
-
-
-#define ETH_LENGTH_OF_ADDRESS 6
-
-#define ETH_IS_BROADCAST(Address) \
- ((((PUCHAR)(Address))[0] == ((UCHAR)0xff)) && (((PUCHAR)(Address))[1] == ((UCHAR)0xff)))
-
-#define ETH_IS_MULTICAST(Address) \
- (BOOLEAN)(((PUCHAR)(Address))[0] & ((UCHAR)0x01))
-
-#define ETH_COMPARE_NETWORK_ADDRESSES(_A, _B, _Result) \
-{ \
- if (*(ULONG UNALIGNED *)&(_A)[2] > *(ULONG UNALIGNED *)&(_B)[2]) \
- { \
- *(_Result) = 1; \
- } \
- else if (*(ULONG UNALIGNED *)&(_A)[2] < *(ULONG UNALIGNED *)&(_B)[2]) \
- { \
- *(_Result) = (UINT)-1; \
- } \
- else if (*(USHORT UNALIGNED *)(_A) > *(USHORT UNALIGNED *)(_B)) \
- { \
- *(_Result) = 1; \
- } \
- else if (*(USHORT UNALIGNED *)(_A) < *(USHORT UNALIGNED *)(_B)) \
- { \
- *(_Result) = (UINT)-1; \
- } \
- else \
- { \
- *(_Result) = 0; \
- } \
-}
-
-#define ETH_COMPARE_NETWORK_ADDRESSES_EQ(_A,_B, _Result) \
-{ \
- if ((*(ULONG UNALIGNED *)&(_A)[2] == *(ULONG UNALIGNED *)&(_B)[2]) && \
- (*(USHORT UNALIGNED *)(_A) == *(USHORT UNALIGNED *)(_B))) \
- { \
- *(_Result) = 0; \
- } \
- else \
- { \
- *(_Result) = 1; \
- } \
-}
-
-#define ETH_COPY_NETWORK_ADDRESS(_D, _S) \
-{ \
- *((ULONG UNALIGNED *)(_D)) = *((ULONG UNALIGNED *)(_S)); \
- *((USHORT UNALIGNED *)((UCHAR *)(_D) + 4)) = *((USHORT UNALIGNED *)((UCHAR *)(_S) + 4)); \
-}
-
-#define FDDI_LENGTH_OF_LONG_ADDRESS 6
-#define FDDI_LENGTH_OF_SHORT_ADDRESS 2
-
-#define FDDI_IS_BROADCAST(Address, AddressLength, Result) \
- *Result = ((*(PUCHAR)(Address) == (UCHAR)0xFF) && \
- (*((PUCHAR)(Address) + 1) == (UCHAR)0xFF))
-
-#define FDDI_IS_MULTICAST(Address, AddressLength, Result) \
- *Result = (BOOLEAN)(*(UCHAR *)(Address) & (UCHAR)0x01)
-
-#define FDDI_IS_SMT(FcByte, Result) \
-{ \
- *Result = ((FcByte & ((UCHAR)0xf0)) == 0x40); \
-}
-
-
-#define FDDI_COMPARE_NETWORK_ADDRESSES(_A, _B, _Length, _Result) \
-{ \
- if (*(USHORT UNALIGNED *)(_A) > *(USHORT UNALIGNED *)(_B)) \
- { \
- *(_Result) = 1; \
- } \
- else if (*(USHORT UNALIGNED *)(_A) < *(USHORT UNALIGNED *)(_B)) \
- { \
- *(_Result) = (UINT)-1; \
- } \
- else if (_Length == 2) \
- { \
- *(_Result) = 0; \
- } \
- else if (*(ULONG UNALIGNED *)((PUCHAR)(_A) + 2) > *(ULONG UNALIGNED *)((PUCHAR)(_B) + 2)) \
- { \
- *(_Result) = 1; \
- } \
- else if (*(ULONG UNALIGNED *)((PUCHAR)(_A) + 2) < *(ULONG UNALIGNED *)((PUCHAR)(_B) + 2)) \
- { \
- *(_Result) = (UINT)-1; \
- } \
- else \
- { \
- *(_Result) = 0; \
- } \
-}
-
-#define FDDI_COMPARE_NETWORK_ADDRESSES_EQ(_A, _B, _Length, _Result) \
-{ \
- if ((*(USHORT UNALIGNED *)(_A) == *(USHORT UNALIGNED *)(_B)) && \
- (((_Length) == 2) || \
- (*(ULONG UNALIGNED *)((PUCHAR)(_A) + 2) == *(ULONG UNALIGNED *)((PUCHAR)(_B) + 2)))) \
- { \
- *(_Result) = 0; \
- } \
- else \
- { \
- *(_Result) = 1; \
- } \
-}
-
-#define FDDI_COPY_NETWORK_ADDRESS(D, S, AddressLength) \
-{ \
- PCHAR _D = (D); \
- PCHAR _S = (S); \
- UINT _C = (AddressLength); \
- for ( ; _C > 0 ; _D++, _S++, _C--) \
- { \
- *_D = *_S; \
- } \
-}
-
-#define TR_LENGTH_OF_FUNCTIONAL 4
-#define TR_LENGTH_OF_ADDRESS 6
-
-typedef ULONG TR_FUNCTIONAL_ADDRESS;
-typedef ULONG TR_GROUP_ADDRESS;
-
-#define TR_IS_NOT_DIRECTED(_Address, _Result) \
-{ \
- *(_Result) = (BOOLEAN)((_Address)[0] & 0x80); \
-}
-
-#define TR_IS_FUNCTIONAL(_Address, _Result) \
-{ \
- *(_Result) = (BOOLEAN)(((_Address)[0] & 0x80) && !((_Address)[2] & 0x80)); \
-}
-
-#define TR_IS_GROUP(_Address, _Result) \
-{ \
- *(_Result) = (BOOLEAN)((_Address)[0] & (_Address)[2] & 0x80); \
-}
-
-#define TR_IS_SOURCE_ROUTING(_Address, _Result) \
-{ \
- *(_Result) = (BOOLEAN)((_Address)[0] & 0x80); \
-}
-
-#define TR_IS_MAC_FRAME(_PacketHeader) ((((PUCHAR)_PacketHeader)[1] & 0xFC) == 0)
-
-#define TR_IS_BROADCAST(_Address, _Result) \
-{ \
- *(_Result) = (BOOLEAN)(((*(UNALIGNED USHORT *)&(_Address)[0] == 0xFFFF) || \
- (*(UNALIGNED USHORT *)&(_Address)[0] == 0x00C0)) && \
- (*(UNALIGNED ULONG *)&(_Address)[2] == 0xFFFFFFFF)); \
-}
-
-#define TR_COMPARE_NETWORK_ADDRESSES(_A, _B, _Result) \
-{ \
- if (*(ULONG UNALIGNED *)&(_A)[2] > *(ULONG UNALIGNED *)&(_B)[2]) \
- { \
- *(_Result) = 1; \
- } \
- else if (*(ULONG UNALIGNED *)&(_A)[2] < *(ULONG UNALIGNED *)&(_B)[2]) \
- { \
- *(_Result) = (UINT)-1; \
- } \
- else if (*(USHORT UNALIGNED *)(_A) > *(USHORT UNALIGNED *)(_B)) \
- { \
- *(_Result) = 1; \
- } \
- else if (*(USHORT UNALIGNED *)(_A) < *(USHORT UNALIGNED *)(_B)) \
- { \
- *(_Result) = (UINT)-1; \
- } \
- else \
- { \
- *(_Result) = 0; \
- } \
-}
-
-#define TR_COPY_NETWORK_ADDRESS(_D, _S) \
-{ \
- *((ULONG UNALIGNED *)(_D)) = *((ULONG UNALIGNED *)(_S)); \
- *((USHORT UNALIGNED *)((UCHAR *)(_D)+4)) = *((USHORT UNALIGNED *)((UCHAR *)(_S) + 4)); \
-}
-
-#define TR_COMPARE_NETWORK_ADDRESSES_EQ(_A, _B, _Result) \
-{ \
- if ((*(ULONG UNALIGNED *)&(_A)[2] == *(ULONG UNALIGNED *)&(_B)[2]) && \
- (*(USHORT UNALIGNED *)&(_A)[0] == *(USHORT UNALIGNED *)&(_B)[0])) \
- { \
- *(_Result) = 0; \
- } \
- else \
- { \
- *(_Result) = 1; \
- } \
-}
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __XFILTER_H */
diff --git a/winsup/w32api/include/dhcpcsdk.h b/winsup/w32api/include/dhcpcsdk.h
deleted file mode 100644
index 1d27df766..000000000
--- a/winsup/w32api/include/dhcpcsdk.h
+++ /dev/null
@@ -1,42 +0,0 @@
-#ifndef _DHCPCDSK_H
-#define _DHCPCDSK_H
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#if (_WIN32_WINNT >= 0x0500)
-#define DHCPCAPI_REGISTER_HANDLE_EVENT 0x00000001
-#define DHCPCAPI_REQUEST_PERSISTENT 0x00000001
-#define DHCPCAPI_REQUEST_SYNCHRONOUS 0x00000002
-typedef struct _DHCPAPI_CLASSID {
- ULONG Flags;
- LPBYTE Data;
- ULONG nBytesData;
-} DHCPCAPI_CLASSID,*PDHCPCAPI_CLASSID,*LPDHCPCAPI_CLASSID;
-typedef struct _DHCPAPI_PARAMS {
- ULONG Flags;
- ULONG OptionId;
- BOOL IsVendor;
- LPBYTE Data;
- DWORD nBytesData;
-} DHCPAPI_PARAMS,*PDHCPAPI_PARAMS,*LPDHCPAPI_PARAMS;
-typedef struct _DHCPAPI_PARAMS_ARRAY {
- ULONG nParams;
- LPDHCPAPI_PARAMS Params;
-} DHCPCAPI_PARAMS_ARRAY,*PDHCPCAPI_PARAMS_ARRAY,*LPDHCPCAPI_PARAMS_ARRAY;
-VOID WINAPI DhcpCApiCleanup(void);
-DWORD WINAPI DhcpCApiInitialize(LPDWORD);
-DWORD WINAPI DhcpDeRegisterParamChange(DWORD,LPVOID,LPVOID);
-DWORD WINAPI DhcpRegisterParamChange(DWORD,LPVOID,PWSTR,LPDHCPCAPI_CLASSID,DHCPCAPI_PARAMS_ARRAY,LPVOID);
-DWORD WINAPI DhcpRemoveDNSRegistrations(void);
-DWORD WINAPI DhcpUndoRequestParams(DWORD,LPVOID,LPWSTR,LPWSTR);
-#endif /* (_WIN32_WINNT >= 0x0500) */
-
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/winsup/w32api/include/directx/d3d9.h b/winsup/w32api/include/directx/d3d9.h
deleted file mode 100644
index 0a9a0a5f7..000000000
--- a/winsup/w32api/include/directx/d3d9.h
+++ /dev/null
@@ -1,1288 +0,0 @@
-/*
-
- d3d9.h - Header file for the Direct3D9 API
-
- Written by Filip Navara <xnavara@volny.cz>
-
- This library 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.
-
-*/
-
-#ifndef _D3D9_H
-#define _D3D9_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifndef DIRECT3D_VERSION
-#define DIRECT3D_VERSION 0x0900
-#endif
-
-#if (DIRECT3D_VERSION >= 0x0900)
-
-#include <objbase.h>
-#include "d3d9types.h"
-#include "d3d9caps.h"
-
-#define D3D_SDK_VERSION 31
-#define D3DCREATE_FPU_PRESERVE 0x02
-#define D3DCREATE_MULTITHREADED 0x04
-#define D3DCREATE_PUREDEVICE 0x10
-#define D3DCREATE_SOFTWARE_VERTEXPROCESSING 0x20
-#define D3DCREATE_HARDWARE_VERTEXPROCESSING 0x40
-#define D3DCREATE_MIXED_VERTEXPROCESSING 0x80
-#define D3DSPD_IUNKNOWN 1
-#define D3DSGR_NO_CALIBRATION 0
-#define D3DSGR_CALIBRATE 1
-#define MAKE_D3DHRESULT(code) MAKE_HRESULT(1,0x876,code)
-#define MAKE_D3DSTATUS(code) MAKE_HRESULT(0,0x876,code)
-#define D3D_OK 0
-#define D3DOK_NOAUTOGEN MAKE_D3DSTATUS(2159)
-#define D3DERR_WRONGTEXTUREFORMAT MAKE_D3DHRESULT(2072)
-#define D3DERR_UNSUPPORTEDCOLOROPERATION MAKE_D3DHRESULT(2073)
-#define D3DERR_UNSUPPORTEDCOLORARG MAKE_D3DHRESULT(2074)
-#define D3DERR_UNSUPPORTEDALPHAOPERATION MAKE_D3DHRESULT(2075)
-#define D3DERR_UNSUPPORTEDALPHAARG MAKE_D3DHRESULT(2076)
-#define D3DERR_TOOMANYOPERATIONS MAKE_D3DHRESULT(2077)
-#define D3DERR_CONFLICTINGTEXTUREFILTER MAKE_D3DHRESULT(2078)
-#define D3DERR_UNSUPPORTEDFACTORVALUE MAKE_D3DHRESULT(2079)
-#define D3DERR_CONFLICTINGRENDERSTATE MAKE_D3DHRESULT(2081)
-#define D3DERR_UNSUPPORTEDTEXTUREFILTER MAKE_D3DHRESULT(2082)
-#define D3DERR_CONFLICTINGTEXTUREPALETTE MAKE_D3DHRESULT(2086)
-#define D3DERR_DRIVERINTERNALERROR MAKE_D3DHRESULT(2087)
-#define D3DERR_NOTFOUND MAKE_D3DHRESULT(2150)
-#define D3DERR_MOREDATA MAKE_D3DHRESULT(2151)
-#define D3DERR_DEVICELOST MAKE_D3DHRESULT(2152)
-#define D3DERR_DEVICENOTRESET MAKE_D3DHRESULT(2153)
-#define D3DERR_NOTAVAILABLE MAKE_D3DHRESULT(2154)
-#define D3DERR_OUTOFVIDEOMEMORY MAKE_D3DHRESULT(380)
-#define D3DERR_INVALIDDEVICE MAKE_D3DHRESULT(2155)
-#define D3DERR_INVALIDCALL MAKE_D3DHRESULT(2156)
-#define D3DERR_DRIVERINVALIDCALL MAKE_D3DHRESULT(2157)
-#define D3DERR_WASSTILLDRAWING MAKE_D3DHRESULT(540)
-#define D3DADAPTER_DEFAULT 0
-#define D3DCURSOR_IMMEDIATE_UPDATE 1
-#define D3DENUM_HOST_ADAPTER 1
-#define D3DPRESENTFLAG_LOCKABLE_BACKBUFFER 1
-#define D3DPV_DONOTCOPYDATA 1
-#define D3DENUM_NO_WHQL_LEVEL 2
-#define D3DPRESENT_BACK_BUFFERS_MAX 3
-#define VALID_D3DENUM_FLAGS 3
-#define D3DMAXNUMPRIMITIVES 0xFFFF
-#define D3DMAXNUMVERTICES 0xFFFF
-#define D3DCURRENT_DISPLAY_MODE 0xEFFFFF
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-extern const GUID IID_IDirect3D9;
-extern const GUID IID_IDirect3DDevice9;
-extern const GUID IID_IDirect3DVolume9;
-extern const GUID IID_IDirect3DSwapChain9;
-extern const GUID IID_IDirect3DResource9;
-extern const GUID IID_IDirect3DSurface9;
-extern const GUID IID_IDirect3DVertexBuffer9;
-extern const GUID IID_IDirect3DIndexBuffer9;
-extern const GUID IID_IDirect3DBaseTexture9;
-extern const GUID IID_IDirect3DCubeTexture9;
-extern const GUID IID_IDirect3DTexture9;
-extern const GUID IID_IDirect3DVolumeTexture9;
-extern const GUID IID_IDirect3DVertexDeclaration9;
-extern const GUID IID_IDirect3DVertexShader9;
-extern const GUID IID_IDirect3DPixelShader9;
-extern const GUID IID_IDirect3DStateBlock9;
-extern const GUID IID_IDirect3DQuery9;
-#ifdef __cplusplus
-};
-#endif
-
-typedef interface IDirect3D9 IDirect3D9;
-typedef interface IDirect3DDevice9 IDirect3DDevice9;
-typedef interface IDirect3DVolume9 IDirect3DVolume9;
-typedef interface IDirect3DSwapChain9 IDirect3DSwapChain9;
-typedef interface IDirect3DResource9 IDirect3DResource9;
-typedef interface IDirect3DSurface9 IDirect3DSurface9;
-typedef interface IDirect3DVertexBuffer9 IDirect3DVertexBuffer9;
-typedef interface IDirect3DIndexBuffer9 IDirect3DIndexBuffer9;
-typedef interface IDirect3DBaseTexture9 IDirect3DBaseTexture9;
-typedef interface IDirect3DCubeTexture9 IDirect3DCubeTexture9;
-typedef interface IDirect3DTexture9 IDirect3DTexture9;
-typedef interface IDirect3DVolumeTexture9 IDirect3DVolumeTexture9;
-typedef interface IDirect3DVertexDeclaration9 IDirect3DVertexDeclaration9;
-typedef interface IDirect3DVertexShader9 IDirect3DVertexShader9;
-typedef interface IDirect3DPixelShader9 IDirect3DPixelShader9;
-typedef interface IDirect3DStateBlock9 IDirect3DStateBlock9;
-typedef interface IDirect3DQuery9 IDirect3DQuery9;
-
-#undef INTERFACE
-#define INTERFACE IDirect3D9
-DECLARE_INTERFACE_(IDirect3D9,IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(RegisterSoftwareDevice)(THIS_ void* pInitializeFunction) PURE;
- STDMETHOD_(UINT,GetAdapterCount)(THIS) PURE;
- STDMETHOD(GetAdapterIdentifier)(THIS_ UINT,DWORD,D3DADAPTER_IDENTIFIER9*) PURE;
- STDMETHOD_(UINT,GetAdapterModeCount)(THIS_ UINT,D3DFORMAT) PURE;
- STDMETHOD(EnumAdapterModes)(THIS_ UINT,D3DFORMAT,UINT,D3DDISPLAYMODE*) PURE;
- STDMETHOD(GetAdapterDisplayMode)(THIS_ UINT,D3DDISPLAYMODE*) PURE;
- STDMETHOD(CheckDeviceType)(THIS_ UINT,D3DDEVTYPE,D3DFORMAT,D3DFORMAT,BOOL) PURE;
- STDMETHOD(CheckDeviceFormat)(THIS_ UINT,D3DDEVTYPE,D3DFORMAT,DWORD,D3DRESOURCETYPE,D3DFORMAT) PURE;
- STDMETHOD(CheckDeviceMultiSampleType)(THIS_ UINT,D3DDEVTYPE,D3DFORMAT,BOOL,D3DMULTISAMPLE_TYPE,DWORD*) PURE;
- STDMETHOD(CheckDepthStencilMatch)(THIS_ UINT,D3DDEVTYPE,D3DFORMAT,D3DFORMAT,D3DFORMAT) PURE;
- STDMETHOD(CheckDeviceFormatConversion)(THIS_ UINT,D3DDEVTYPE,D3DFORMAT,D3DFORMAT) PURE;
- STDMETHOD(GetDeviceCaps)(THIS_ UINT,D3DDEVTYPE,D3DCAPS9*) PURE;
- STDMETHOD_(HMONITOR,GetAdapterMonitor)(THIS_ UINT) PURE;
- STDMETHOD(CreateDevice)(THIS_ UINT,D3DDEVTYPE,HWND,DWORD,D3DPRESENT_PARAMETERS*,IDirect3DDevice9**) PURE;
-};
-typedef struct IDirect3D9 *LPDIRECT3D9, *PDIRECT3D9;
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-#define IDirect3D9_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3D9_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3D9_Release(p) (p)->lpVtbl->Release(p)
-#define IDirect3D9_RegisterSoftwareDevice(p,a) (p)->lpVtbl->RegisterSoftwareDevice(p,a)
-#define IDirect3D9_GetAdapterCount(p) (p)->lpVtbl->GetAdapterCount(p)
-#define IDirect3D9_GetAdapterIdentifier(p,a,b,c) (p)->lpVtbl->GetAdapterIdentifier(p,a,b,c)
-#define IDirect3D9_GetAdapterModeCount(p,a,b) (p)->lpVtbl->GetAdapterModeCount(p,a,b)
-#define IDirect3D9_EnumAdapterModes(p,a,b,c,d) (p)->lpVtbl->EnumAdapterModes(p,a,b,c,d)
-#define IDirect3D9_GetAdapterDisplayMode(p,a,b) (p)->lpVtbl->GetAdapterDisplayMode(p,a,b)
-#define IDirect3D9_CheckDeviceType(p,a,b,c,d,e) (p)->lpVtbl->CheckDeviceType(p,a,b,c,d,e)
-#define IDirect3D9_CheckDeviceFormat(p,a,b,c,d,e,f) (p)->lpVtbl->CheckDeviceFormat(p,a,b,c,d,e,f)
-#define IDirect3D9_CheckDeviceMultiSampleType(p,a,b,c,d,e,f) (p)->lpVtbl->CheckDeviceMultiSampleType(p,a,b,c,d,e,f)
-#define IDirect3D9_CheckDepthStencilMatch(p,a,b,c,d,e) (p)->lpVtbl->CheckDepthStencilMatch(p,a,b,c,d,e)
-#define IDirect3D9_CheckDeviceFormatConversion(p,a,b,c,d) (p)->lpVtbl->CheckDeviceFormatConversion(p,a,b,c,d)
-#define IDirect3D9_GetDeviceCaps(p,a,b,c) (p)->lpVtbl->GetDeviceCaps(p,a,b,c)
-#define IDirect3D9_GetAdapterMonitor(p,a) (p)->lpVtbl->GetAdapterMonitor(p,a)
-#define IDirect3D9_CreateDevice(p,a,b,c,d,e,f) (p)->lpVtbl->CreateDevice(p,a,b,c,d,e,f)
-#else
-#define IDirect3D9_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3D9_AddRef(p) (p)->AddRef()
-#define IDirect3D9_Release(p) (p)->Release()
-#define IDirect3D9_RegisterSoftwareDevice(p,a) (p)->RegisterSoftwareDevice(a)
-#define IDirect3D9_GetAdapterCount(p) (p)->GetAdapterCount()
-#define IDirect3D9_GetAdapterIdentifier(p,a,b,c) (p)->GetAdapterIdentifier(a,b,c)
-#define IDirect3D9_GetAdapterModeCount(p,a,b) (p)->GetAdapterModeCount(a,b)
-#define IDirect3D9_EnumAdapterModes(p,a,b,c,d) (p)->EnumAdapterModes(a,b,c,d)
-#define IDirect3D9_GetAdapterDisplayMode(p,a,b) (p)->GetAdapterDisplayMode(a,b)
-#define IDirect3D9_CheckDeviceType(p,a,b,c,d,e) (p)->CheckDeviceType(a,b,c,d,e)
-#define IDirect3D9_CheckDeviceFormat(p,a,b,c,d,e,f) (p)->CheckDeviceFormat(a,b,c,d,e,f)
-#define IDirect3D9_CheckDeviceMultiSampleType(p,a,b,c,d,e,f) (p)->CheckDeviceMultiSampleType(a,b,c,d,e,f)
-#define IDirect3D9_CheckDepthStencilMatch(p,a,b,c,d,e) (p)->CheckDepthStencilMatch(a,b,c,d,e)
-#define IDirect3D9_CheckDeviceFormatConversion(p,a,b,c,d) (p)->CheckDeviceFormatConversion(a,b,c,d)
-#define IDirect3D9_GetDeviceCaps(p,a,b,c) (p)->GetDeviceCaps(a,b,c)
-#define IDirect3D9_GetAdapterMonitor(p,a) (p)->GetAdapterMonitor(a)
-#define IDirect3D9_CreateDevice(p,a,b,c,d,e,f) (p)->CreateDevice(a,b,c,d,e,f)
-#endif
-
-#undef INTERFACE
-#define INTERFACE IDirect3DDevice9
-DECLARE_INTERFACE_(IDirect3DDevice9,IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(TestCooperativeLevel)(THIS) PURE;
- STDMETHOD_(UINT,GetAvailableTextureMem)(THIS) PURE;
- STDMETHOD(EvictManagedResources)(THIS) PURE;
- STDMETHOD(GetDirect3D)(THIS_ IDirect3D9**) PURE;
- STDMETHOD(GetDeviceCaps)(THIS_ D3DCAPS9*) PURE;
- STDMETHOD(GetDisplayMode)(THIS_ UINT,D3DDISPLAYMODE*) PURE;
- STDMETHOD(GetCreationParameters)(THIS_ D3DDEVICE_CREATION_PARAMETERS*) PURE;
- STDMETHOD(SetCursorProperties)(THIS_ UINT,UINT,IDirect3DSurface9*) PURE;
- STDMETHOD_(void,SetCursorPosition)(THIS_ int,int,DWORD) PURE;
- STDMETHOD_(BOOL,ShowCursor)(THIS_ BOOL) PURE;
- STDMETHOD(CreateAdditionalSwapChain)(THIS_ D3DPRESENT_PARAMETERS*,IDirect3DSwapChain9**) PURE;
- STDMETHOD(GetSwapChain)(THIS_ UINT,IDirect3DSwapChain9**) PURE;
- STDMETHOD_(UINT,GetNumberOfSwapChains)(THIS) PURE;
- STDMETHOD(Reset)(THIS_ D3DPRESENT_PARAMETERS*) PURE;
- STDMETHOD(Present)(THIS_ CONST RECT*,CONST RECT*,HWND,CONST RGNDATA*) PURE;
- STDMETHOD(GetBackBuffer)(THIS_ UINT,UINT,D3DBACKBUFFER_TYPE,IDirect3DSurface9**) PURE;
- STDMETHOD(GetRasterStatus)(THIS_ UINT,D3DRASTER_STATUS*) PURE;
- STDMETHOD(SetDialogBoxMode)(THIS_ BOOL) PURE;
- STDMETHOD_(void,SetGammaRamp)(THIS_ UINT,DWORD,CONST D3DGAMMARAMP*) PURE;
- STDMETHOD_(void,GetGammaRamp)(THIS_ UINT,D3DGAMMARAMP*) PURE;
- STDMETHOD(CreateTexture)(THIS_ UINT,UINT,UINT,DWORD,D3DFORMAT,D3DPOOL,IDirect3DTexture9**,HANDLE*) PURE;
- STDMETHOD(CreateVolumeTexture)(THIS_ UINT,UINT,UINT,UINT,DWORD,D3DFORMAT,D3DPOOL,IDirect3DVolumeTexture9**,HANDLE*) PURE;
- STDMETHOD(CreateCubeTexture)(THIS_ UINT,UINT,DWORD,D3DFORMAT,D3DPOOL,IDirect3DCubeTexture9**, HANDLE*) PURE;
- STDMETHOD(CreateVertexBuffer)(THIS_ UINT,DWORD,DWORD,D3DPOOL,IDirect3DVertexBuffer9**, HANDLE*) PURE;
- STDMETHOD(CreateIndexBuffer)(THIS_ UINT,DWORD,D3DFORMAT,D3DPOOL,IDirect3DIndexBuffer9**,HANDLE*) PURE;
- STDMETHOD(CreateRenderTarget)(THIS_ UINT,UINT,D3DFORMAT,D3DMULTISAMPLE_TYPE,DWORD,BOOL,IDirect3DSurface9**,HANDLE*) PURE;
- STDMETHOD(CreateDepthStencilSurface)(THIS_ UINT,UINT,D3DFORMAT,D3DMULTISAMPLE_TYPE,DWORD,BOOL,IDirect3DSurface9**,HANDLE*) PURE;
- STDMETHOD(UpdateSurface)(THIS_ IDirect3DSurface9*,CONST RECT*,IDirect3DSurface9*,CONST POINT*) PURE;
- STDMETHOD(UpdateTexture)(THIS_ IDirect3DBaseTexture9*,IDirect3DBaseTexture9*) PURE;
- STDMETHOD(GetRenderTargetData)(THIS_ IDirect3DSurface9*,IDirect3DSurface9*) PURE;
- STDMETHOD(GetFrontBufferData)(THIS_ UINT,IDirect3DSurface9*) PURE;
- STDMETHOD(StretchRect)(THIS_ IDirect3DSurface9*,CONST RECT*,IDirect3DSurface9*,CONST RECT*,D3DTEXTUREFILTERTYPE) PURE;
- STDMETHOD(ColorFill)(THIS_ IDirect3DSurface9*,CONST RECT*,D3DCOLOR) PURE;
- STDMETHOD(CreateOffscreenPlainSurface)(THIS_ UINT,UINT,D3DFORMAT,D3DPOOL,IDirect3DSurface9**,HANDLE*) PURE;
- STDMETHOD(SetRenderTarget)(THIS_ DWORD,IDirect3DSurface9*) PURE;
- STDMETHOD(GetRenderTarget)(THIS_ DWORD,IDirect3DSurface9**) PURE;
- STDMETHOD(SetDepthStencilSurface)(THIS_ IDirect3DSurface9*) PURE;
- STDMETHOD(GetDepthStencilSurface)(THIS_ IDirect3DSurface9**) PURE;
- STDMETHOD(BeginScene)(THIS) PURE;
- STDMETHOD(EndScene)(THIS) PURE;
- STDMETHOD(Clear)(THIS_ DWORD,CONST D3DRECT*,DWORD,D3DCOLOR,float,DWORD) PURE;
- STDMETHOD(SetTransform)(THIS_ D3DTRANSFORMSTATETYPE,CONST D3DMATRIX*) PURE;
- STDMETHOD(GetTransform)(THIS_ D3DTRANSFORMSTATETYPE,D3DMATRIX*) PURE;
- STDMETHOD(MultiplyTransform)(THIS_ D3DTRANSFORMSTATETYPE,CONST D3DMATRIX*) PURE;
- STDMETHOD(SetViewport)(THIS_ CONST D3DVIEWPORT9*) PURE;
- STDMETHOD(GetViewport)(THIS_ D3DVIEWPORT9*) PURE;
- STDMETHOD(SetMaterial)(THIS_ CONST D3DMATERIAL9*) PURE;
- STDMETHOD(GetMaterial)(THIS_ D3DMATERIAL9*) PURE;
- STDMETHOD(SetLight)(THIS_ DWORD,CONST D3DLIGHT9*) PURE;
- STDMETHOD(GetLight)(THIS_ DWORD,D3DLIGHT9*) PURE;
- STDMETHOD(LightEnable)(THIS_ DWORD,BOOL) PURE;
- STDMETHOD(GetLightEnable)(THIS_ DWORD,BOOL*) PURE;
- STDMETHOD(SetClipPlane)(THIS_ DWORD,CONST float*) PURE;
- STDMETHOD(GetClipPlane)(THIS_ DWORD,float*) PURE;
- STDMETHOD(SetRenderState)(THIS_ D3DRENDERSTATETYPE,DWORD) PURE;
- STDMETHOD(GetRenderState)(THIS_ D3DRENDERSTATETYPE,DWORD*) PURE;
- STDMETHOD(CreateStateBlock)(THIS_ D3DSTATEBLOCKTYPE,IDirect3DStateBlock9**) PURE;
- STDMETHOD(BeginStateBlock)(THIS) PURE;
- STDMETHOD(EndStateBlock)(THIS_ IDirect3DStateBlock9**) PURE;
- STDMETHOD(SetClipStatus)(THIS_ CONST D3DCLIPSTATUS9*) PURE;
- STDMETHOD(GetClipStatus)(THIS_ D3DCLIPSTATUS9*) PURE;
- STDMETHOD(GetTexture)(THIS_ DWORD,IDirect3DBaseTexture9**) PURE;
- STDMETHOD(SetTexture)(THIS_ DWORD,IDirect3DBaseTexture9*) PURE;
- STDMETHOD(GetTextureStageState)(THIS_ DWORD,D3DTEXTURESTAGESTATETYPE,DWORD*) PURE;
- STDMETHOD(SetTextureStageState)(THIS_ DWORD,D3DTEXTURESTAGESTATETYPE,DWORD) PURE;
- STDMETHOD(GetSamplerState)(THIS_ DWORD,D3DSAMPLERSTATETYPE,DWORD*) PURE;
- STDMETHOD(SetSamplerState)(THIS_ DWORD,D3DSAMPLERSTATETYPE,DWORD) PURE;
- STDMETHOD(ValidateDevice)(THIS_ DWORD*) PURE;
- STDMETHOD(SetPaletteEntries)(THIS_ UINT,CONST PALETTEENTRY*) PURE;
- STDMETHOD(GetPaletteEntries)(THIS_ UINT,PALETTEENTRY*) PURE;
- STDMETHOD(SetCurrentTexturePalette)(THIS_ UINT) PURE;
- STDMETHOD(GetCurrentTexturePalette)(THIS_ UINT*) PURE;
- STDMETHOD(SetScissorRect)(THIS_ CONST RECT*) PURE;
- STDMETHOD(GetScissorRect)(THIS_ RECT*) PURE;
- STDMETHOD(SetSoftwareVertexProcessing)(THIS_ BOOL) PURE;
- STDMETHOD_(BOOL,GetSoftwareVertexProcessing)(THIS) PURE;
- STDMETHOD(SetNPatchMode)(THIS_ float) PURE;
- STDMETHOD_(float,GetNPatchMode)(THIS) PURE;
- STDMETHOD(DrawPrimitive)(THIS_ D3DPRIMITIVETYPE,UINT,UINT) PURE;
- STDMETHOD(DrawIndexedPrimitive)(THIS_ D3DPRIMITIVETYPE,INT,UINT,UINT,UINT,UINT) PURE;
- STDMETHOD(DrawPrimitiveUP)(THIS_ D3DPRIMITIVETYPE,UINT,CONST void*,UINT) PURE;
- STDMETHOD(DrawIndexedPrimitiveUP)(THIS_ D3DPRIMITIVETYPE,UINT,UINT,UINT,CONST void*,D3DFORMAT,CONST void*,UINT) PURE;
- STDMETHOD(ProcessVertices)(THIS_ UINT,UINT,UINT,IDirect3DVertexBuffer9*,IDirect3DVertexDeclaration9*,DWORD) PURE;
- STDMETHOD(CreateVertexDeclaration)(THIS_ CONST D3DVERTEXELEMENT9*,IDirect3DVertexDeclaration9**) PURE;
- STDMETHOD(SetVertexDeclaration)(THIS_ IDirect3DVertexDeclaration9*) PURE;
- STDMETHOD(GetVertexDeclaration)(THIS_ IDirect3DVertexDeclaration9**) PURE;
- STDMETHOD(SetFVF)(THIS_ DWORD) PURE;
- STDMETHOD(GetFVF)(THIS_ DWORD*) PURE;
- STDMETHOD(CreateVertexShader)(THIS_ CONST DWORD*,IDirect3DVertexShader9**) PURE;
- STDMETHOD(SetVertexShader)(THIS_ IDirect3DVertexShader9*) PURE;
- STDMETHOD(GetVertexShader)(THIS_ IDirect3DVertexShader9**) PURE;
- STDMETHOD(SetVertexShaderConstantF)(THIS_ UINT,CONST float*,UINT) PURE;
- STDMETHOD(GetVertexShaderConstantF)(THIS_ UINT,float*,UINT) PURE;
- STDMETHOD(SetVertexShaderConstantI)(THIS_ UINT,CONST int*,UINT) PURE;
- STDMETHOD(GetVertexShaderConstantI)(THIS_ UINT,int*,UINT) PURE;
- STDMETHOD(SetVertexShaderConstantB)(THIS_ UINT,CONST BOOL*,UINT) PURE;
- STDMETHOD(GetVertexShaderConstantB)(THIS_ UINT,BOOL*,UINT) PURE;
- STDMETHOD(SetStreamSource)(THIS_ UINT,IDirect3DVertexBuffer9*,UINT,UINT) PURE;
- STDMETHOD(GetStreamSource)(THIS_ UINT,IDirect3DVertexBuffer9**,UINT*,UINT*) PURE;
- STDMETHOD(SetStreamSourceFreq)(THIS_ UINT,UINT) PURE;
- STDMETHOD(GetStreamSourceFreq)(THIS_ UINT,UINT*) PURE;
- STDMETHOD(SetIndices)(THIS_ IDirect3DIndexBuffer9*) PURE;
- STDMETHOD(GetIndices)(THIS_ IDirect3DIndexBuffer9**) PURE;
- STDMETHOD(CreatePixelShader)(THIS_ CONST DWORD*,IDirect3DPixelShader9**) PURE;
- STDMETHOD(SetPixelShader)(THIS_ IDirect3DPixelShader9*) PURE;
- STDMETHOD(GetPixelShader)(THIS_ IDirect3DPixelShader9**) PURE;
- STDMETHOD(SetPixelShaderConstantF)(THIS_ UINT,CONST float*,UINT) PURE;
- STDMETHOD(GetPixelShaderConstantF)(THIS_ UINT,float*,UINT) PURE;
- STDMETHOD(SetPixelShaderConstantI)(THIS_ UINT,CONST int*,UINT) PURE;
- STDMETHOD(GetPixelShaderConstantI)(THIS_ UINT,int*,UINT) PURE;
- STDMETHOD(SetPixelShaderConstantB)(THIS_ UINT,CONST BOOL*,UINT) PURE;
- STDMETHOD(GetPixelShaderConstantB)(THIS_ UINT,BOOL*,UINT) PURE;
- STDMETHOD(DrawRectPatch)(THIS_ UINT,CONST float*,CONST D3DRECTPATCH_INFO*) PURE;
- STDMETHOD(DrawTriPatch)(THIS_ UINT,CONST float*,CONST D3DTRIPATCH_INFO*) PURE;
- STDMETHOD(DeletePatch)(THIS_ UINT) PURE;
- STDMETHOD(CreateQuery)(THIS_ D3DQUERYTYPE,IDirect3DQuery9**) PURE;
-};
-typedef struct IDirect3DDevice9 *LPDIRECT3DDEVICE9, *PDIRECT3DDEVICE9;
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-#define IDirect3DDevice9_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DDevice9_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DDevice9_Release(p) (p)->lpVtbl->Release(p)
-#define IDirect3DDevice9_TestCooperativeLevel(p) (p)->lpVtbl->TestCooperativeLevel(p)
-#define IDirect3DDevice9_GetAvailableTextureMem(p) (p)->lpVtbl->GetAvailableTextureMem(p)
-#define IDirect3DDevice9_EvictManagedResources(p) (p)->lpVtbl->EvictManagedResources(p)
-#define IDirect3DDevice9_GetDirect3D(p,a) (p)->lpVtbl->GetDirect3D(p,a)
-#define IDirect3DDevice9_GetDeviceCaps(p,a) (p)->lpVtbl->GetDeviceCaps(p,a)
-#define IDirect3DDevice9_GetDisplayMode(p,a,b) (p)->lpVtbl->GetDisplayMode(p,a,b)
-#define IDirect3DDevice9_GetCreationParameters(p,a) (p)->lpVtbl->GetCreationParameters(p,a)
-#define IDirect3DDevice9_SetCursorProperties(p,a,b,c) (p)->lpVtbl->SetCursorProperties(p,a,b,c)
-#define IDirect3DDevice9_SetCursorPosition(p,a,b,c) (p)->lpVtbl->SetCursorPosition(p,a,b,c)
-#define IDirect3DDevice9_ShowCursor(p,a) (p)->lpVtbl->ShowCursor(p,a)
-#define IDirect3DDevice9_CreateAdditionalSwapChain(p,a,b) (p)->lpVtbl->CreateAdditionalSwapChain(p,a,b)
-#define IDirect3DDevice9_GetSwapChain(p,a,b) (p)->lpVtbl->GetSwapChain(p,a,b)
-#define IDirect3DDevice9_GetNumberOfSwapChains(p) (p)->lpVtbl->GetNumberOfSwapChains(p)
-#define IDirect3DDevice9_Reset(p,a) (p)->lpVtbl->Reset(p,a)
-#define IDirect3DDevice9_Present(p,a,b,c,d) (p)->lpVtbl->Present(p,a,b,c,d)
-#define IDirect3DDevice9_GetBackBuffer(p,a,b,c,d) (p)->lpVtbl->GetBackBuffer(p,a,b,c,d)
-#define IDirect3DDevice9_GetRasterStatus(p,a,b) (p)->lpVtbl->GetRasterStatus(p,a,b)
-#define IDirect3DDevice9_SetDialogBoxMode(p,a) (p)->lpVtbl->SetDialogBoxMode(p,a)
-#define IDirect3DDevice9_SetGammaRamp(p,a,b,c) (p)->lpVtbl->SetGammaRamp(p,a,b,c)
-#define IDirect3DDevice9_GetGammaRamp(p,a,b) (p)->lpVtbl->GetGammaRamp(p,a,b)
-#define IDirect3DDevice9_CreateTexture(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->CreateTexture(p,a,b,c,d,e,f,g,h)
-#define IDirect3DDevice9_CreateVolumeTexture(p,a,b,c,d,e,f,g,h,i) (p)->lpVtbl->CreateVolumeTexture(p,a,b,c,d,e,f,g,h,i)
-#define IDirect3DDevice9_CreateCubeTexture(p,a,b,c,d,e,f,g) (p)->lpVtbl->CreateCubeTexture(p,a,b,c,d,e,f,g)
-#define IDirect3DDevice9_CreateVertexBuffer(p,a,b,c,d,e,f) (p)->lpVtbl->CreateVertexBuffer(p,a,b,c,d,e,f)
-#define IDirect3DDevice9_CreateIndexBuffer(p,a,b,c,d,e,f) (p)->lpVtbl->CreateIndexBuffer(p,a,b,c,d,e,f)
-#define IDirect3DDevice9_CreateRenderTarget(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->CreateRenderTarget(p,a,b,c,d,e,f,g,h)
-#define IDirect3DDevice9_CreateDepthStencilSurface(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->CreateDepthStencilSurface(p,a,b,c,d,e,f,g,h)
-#define IDirect3DDevice9_UpdateSurface(p,a,b,c,d) (p)->lpVtbl->UpdateSurface(p,a,b,c,d)
-#define IDirect3DDevice9_UpdateTexture(p,a,b) (p)->lpVtbl->UpdateTexture(p,a,b)
-#define IDirect3DDevice9_GetRenderTargetData(p,a,b) (p)->lpVtbl->GetRenderTargetData(p,a,b)
-#define IDirect3DDevice9_GetFrontBufferData(p,a,b) (p)->lpVtbl->GetFrontBufferData(p,a,b)
-#define IDirect3DDevice9_StretchRect(p,a,b,c,d,e) (p)->lpVtbl->StretchRect(p,a,b,c,d,e)
-#define IDirect3DDevice9_ColorFill(p,a,b,c) (p)->lpVtbl->ColorFill(p,a,b,c)
-#define IDirect3DDevice9_CreateOffscreenPlainSurface(p,a,b,c,d,e,f) (p)->lpVtbl->CreateOffscreenPlainSurface(p,a,b,c,d,e,f)
-#define IDirect3DDevice9_SetRenderTarget(p,a,b) (p)->lpVtbl->SetRenderTarget(p,a,b)
-#define IDirect3DDevice9_GetRenderTarget(p,a,b) (p)->lpVtbl->GetRenderTarget(p,a,b)
-#define IDirect3DDevice9_SetDepthStencilSurface(p,a) (p)->lpVtbl->SetDepthStencilSurface(p,a)
-#define IDirect3DDevice9_GetDepthStencilSurface(p,a) (p)->lpVtbl->GetDepthStencilSurface(p,a)
-#define IDirect3DDevice9_BeginScene(p) (p)->lpVtbl->BeginScene(p)
-#define IDirect3DDevice9_EndScene(p) (p)->lpVtbl->EndScene(p)
-#define IDirect3DDevice9_Clear(p,a,b,c,d,e,f) (p)->lpVtbl->Clear(p,a,b,c,d,e,f)
-#define IDirect3DDevice9_SetTransform(p,a,b) (p)->lpVtbl->SetTransform(p,a,b)
-#define IDirect3DDevice9_GetTransform(p,a,b) (p)->lpVtbl->GetTransform(p,a,b)
-#define IDirect3DDevice9_MultiplyTransform(p,a,b) (p)->lpVtbl->MultiplyTransform(p,a,b)
-#define IDirect3DDevice9_SetViewport(p,a) (p)->lpVtbl->SetViewport(p,a)
-#define IDirect3DDevice9_GetViewport(p,a) (p)->lpVtbl->GetViewport(p,a)
-#define IDirect3DDevice9_SetMaterial(p,a) (p)->lpVtbl->SetMaterial(p,a)
-#define IDirect3DDevice9_GetMaterial(p,a) (p)->lpVtbl->GetMaterial(p,a)
-#define IDirect3DDevice9_SetLight(p,a,b) (p)->lpVtbl->SetLight(p,a,b)
-#define IDirect3DDevice9_GetLight(p,a,b) (p)->lpVtbl->GetLight(p,a,b)
-#define IDirect3DDevice9_LightEnable(p,a,b) (p)->lpVtbl->LightEnable(p,a,b)
-#define IDirect3DDevice9_GetLightEnable(p,a,b) (p)->lpVtbl->GetLightEnable(p,a,b)
-#define IDirect3DDevice9_SetClipPlane(p,a,b) (p)->lpVtbl->SetClipPlane(p,a,b)
-#define IDirect3DDevice9_GetClipPlane(p,a,b) (p)->lpVtbl->GetClipPlane(p,a,b)
-#define IDirect3DDevice9_SetRenderState(p,a,b) (p)->lpVtbl->SetRenderState(p,a,b)
-#define IDirect3DDevice9_GetRenderState(p,a,b) (p)->lpVtbl->GetRenderState(p,a,b)
-#define IDirect3DDevice9_CreateStateBlock(p,a,b) (p)->lpVtbl->CreateStateBlock(p,a,b)
-#define IDirect3DDevice9_BeginStateBlock(p) (p)->lpVtbl->BeginStateBlock(p)
-#define IDirect3DDevice9_EndStateBlock(p,a) (p)->lpVtbl->EndStateBlock(p,a)
-#define IDirect3DDevice9_SetClipStatus(p,a) (p)->lpVtbl->SetClipStatus(p,a)
-#define IDirect3DDevice9_GetClipStatus(p,a) (p)->lpVtbl->GetClipStatus(p,a)
-#define IDirect3DDevice9_GetTexture(p,a,b) (p)->lpVtbl->GetTexture(p,a,b)
-#define IDirect3DDevice9_SetTexture(p,a,b) (p)->lpVtbl->SetTexture(p,a,b)
-#define IDirect3DDevice9_GetTextureStageState(p,a,b,c) (p)->lpVtbl->GetTextureStageState(p,a,b,c)
-#define IDirect3DDevice9_SetTextureStageState(p,a,b,c) (p)->lpVtbl->SetTextureStageState(p,a,b,c)
-#define IDirect3DDevice9_GetSamplerState(p,a,b,c) (p)->lpVtbl->GetSamplerState(p,a,b,c)
-#define IDirect3DDevice9_SetSamplerState(p,a,b,c) (p)->lpVtbl->SetSamplerState(p,a,b,c)
-#define IDirect3DDevice9_ValidateDevice(p,a) (p)->lpVtbl->ValidateDevice(p,a)
-#define IDirect3DDevice9_SetPaletteEntries(p,a,b) (p)->lpVtbl->SetPaletteEntries(p,a,b)
-#define IDirect3DDevice9_GetPaletteEntries(p,a,b) (p)->lpVtbl->GetPaletteEntries(p,a,b)
-#define IDirect3DDevice9_SetCurrentTexturePalette(p,a) (p)->lpVtbl->SetCurrentTexturePalette(p,a)
-#define IDirect3DDevice9_GetCurrentTexturePalette(p,a) (p)->lpVtbl->GetCurrentTexturePalette(p,a)
-#define IDirect3DDevice9_SetScissorRect(p,a) (p)->lpVtbl->SetScissorRect(p,a)
-#define IDirect3DDevice9_GetScissorRect(p,a) (p)->lpVtbl->GetScissorRect(p,a)
-#define IDirect3DDevice9_SetSoftwareVertexProcessing(p,a) (p)->lpVtbl->SetSoftwareVertexProcessing(p,a)
-#define IDirect3DDevice9_GetSoftwareVertexProcessing(p) (p)->lpVtbl->GetSoftwareVertexProcessing(p)
-#define IDirect3DDevice9_SetNPatchMode(p,a) (p)->lpVtbl->SetNPatchMode(p,a)
-#define IDirect3DDevice9_GetNPatchMode(p) (p)->lpVtbl->GetNPatchMode(p)
-#define IDirect3DDevice9_DrawPrimitive(p,a,b,c) (p)->lpVtbl->DrawPrimitive(p,a,b,c)
-#define IDirect3DDevice9_DrawIndexedPrimitive(p,a,b,c,d,e,f) (p)->lpVtbl->DrawIndexedPrimitive(p,a,b,c,d,e,f)
-#define IDirect3DDevice9_DrawPrimitiveUP(p,a,b,c,d) (p)->lpVtbl->DrawPrimitiveUP(p,a,b,c,d)
-#define IDirect3DDevice9_DrawIndexedPrimitiveUP(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->DrawIndexedPrimitiveUP(p,a,b,c,d,e,f,g,h)
-#define IDirect3DDevice9_ProcessVertices(p,a,b,c,d,e,f) (p)->lpVtbl->ProcessVertices(p,a,b,c,d,e,f)
-#define IDirect3DDevice9_CreateVertexDeclaration(p,a,b) (p)->lpVtbl->CreateVertexDeclaration(p,a,b)
-#define IDirect3DDevice9_SetVertexDeclaration(p,a) (p)->lpVtbl->SetVertexDeclaration(p,a)
-#define IDirect3DDevice9_GetVertexDeclaration(p,a) (p)->lpVtbl->GetVertexDeclaration(p,a)
-#define IDirect3DDevice9_SetFVF(p,a) (p)->lpVtbl->SetFVF(p,a)
-#define IDirect3DDevice9_GetFVF(p,a) (p)->lpVtbl->GetFVF(p,a)
-#define IDirect3DDevice9_CreateVertexShader(p,a,b) (p)->lpVtbl->CreateVertexShader(p,a,b)
-#define IDirect3DDevice9_SetVertexShader(p,a) (p)->lpVtbl->SetVertexShader(p,a)
-#define IDirect3DDevice9_GetVertexShader(p,a) (p)->lpVtbl->GetVertexShader(p,a)
-#define IDirect3DDevice9_SetVertexShaderConstantF(p,a,b,c) (p)->lpVtbl->SetVertexShaderConstantF(p,a,b,c)
-#define IDirect3DDevice9_GetVertexShaderConstantF(p,a,b,c) (p)->lpVtbl->GetVertexShaderConstantF(p,a,b,c)
-#define IDirect3DDevice9_SetVertexShaderConstantI(p,a,b,c) (p)->lpVtbl->SetVertexShaderConstantI(p,a,b,c)
-#define IDirect3DDevice9_GetVertexShaderConstantI(p,a,b,c) (p)->lpVtbl->GetVertexShaderConstantI(p,a,b,c)
-#define IDirect3DDevice9_SetVertexShaderConstantB(p,a,b,c) (p)->lpVtbl->SetVertexShaderConstantB(p,a,b,c)
-#define IDirect3DDevice9_GetVertexShaderConstantB(p,a,b,c) (p)->lpVtbl->GetVertexShaderConstantB(p,a,b,c)
-#define IDirect3DDevice9_SetStreamSource(p,a,b,c,d) (p)->lpVtbl->SetStreamSource(p,a,b,c,d)
-#define IDirect3DDevice9_GetStreamSource(p,a,b,c,d) (p)->lpVtbl->GetStreamSource(p,a,b,c,d)
-#define IDirect3DDevice9_SetStreamSourceFreq(p,a,b) (p)->lpVtbl->SetStreamSourceFreq(p,a,b)
-#define IDirect3DDevice9_GetStreamSourceFreq(p,a,b) (p)->lpVtbl->GetStreamSourceFreq(p,a,b)
-#define IDirect3DDevice9_SetIndices(p,a) (p)->lpVtbl->SetIndices(p,a)
-#define IDirect3DDevice9_GetIndices(p,a) (p)->lpVtbl->GetIndices(p,a)
-#define IDirect3DDevice9_CreatePixelShader(p,a,b) (p)->lpVtbl->CreatePixelShader(p,a,b)
-#define IDirect3DDevice9_SetPixelShader(p,a) (p)->lpVtbl->SetPixelShader(p,a)
-#define IDirect3DDevice9_GetPixelShader(p,a) (p)->lpVtbl->GetPixelShader(p,a)
-#define IDirect3DDevice9_SetPixelShaderConstantF(p,a,b,c) (p)->lpVtbl->SetPixelShaderConstantF(p,a,b,c)
-#define IDirect3DDevice9_GetPixelShaderConstantF(p,a,b,c) (p)->lpVtbl->GetPixelShaderConstantF(p,a,b,c)
-#define IDirect3DDevice9_SetPixelShaderConstantI(p,a,b,c) (p)->lpVtbl->SetPixelShaderConstantI(p,a,b,c)
-#define IDirect3DDevice9_GetPixelShaderConstantI(p,a,b,c) (p)->lpVtbl->GetPixelShaderConstantI(p,a,b,c)
-#define IDirect3DDevice9_SetPixelShaderConstantB(p,a,b,c) (p)->lpVtbl->SetPixelShaderConstantB(p,a,b,c)
-#define IDirect3DDevice9_GetPixelShaderConstantB(p,a,b,c) (p)->lpVtbl->GetPixelShaderConstantB(p,a,b,c)
-#define IDirect3DDevice9_DrawRectPatch(p,a,b,c) (p)->lpVtbl->DrawRectPatch(p,a,b,c)
-#define IDirect3DDevice9_DrawTriPatch(p,a,b,c) (p)->lpVtbl->DrawTriPatch(p,a,b,c)
-#define IDirect3DDevice9_DeletePatch(p,a) (p)->lpVtbl->DeletePatch(p,a)
-#define IDirect3DDevice9_CreateQuery(p,a,b) (p)->lpVtbl->CreateQuery(p,a,b)
-#else
-#define IDirect3DDevice9_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DDevice9_AddRef(p) (p)->AddRef()
-#define IDirect3DDevice9_Release(p) (p)->Release()
-#define IDirect3DDevice9_TestCooperativeLevel(p) (p)->TestCooperativeLevel()
-#define IDirect3DDevice9_GetAvailableTextureMem(p) (p)->GetAvailableTextureMem()
-#define IDirect3DDevice9_EvictManagedResources(p) (p)->EvictManagedResources()
-#define IDirect3DDevice9_GetDirect3D(p,a) (p)->GetDirect3D(a)
-#define IDirect3DDevice9_GetDeviceCaps(p,a) (p)->GetDeviceCaps(a)
-#define IDirect3DDevice9_GetDisplayMode(p,a,b) (p)->GetDisplayMode(a,b)
-#define IDirect3DDevice9_GetCreationParameters(p,a) (p)->GetCreationParameters(a)
-#define IDirect3DDevice9_SetCursorProperties(p,a,b,c) (p)->SetCursorProperties(a,b,c)
-#define IDirect3DDevice9_SetCursorPosition(p,a,b,c) (p)->SetCursorPosition(a,b,c)
-#define IDirect3DDevice9_ShowCursor(p,a) (p)->ShowCursor(a)
-#define IDirect3DDevice9_CreateAdditionalSwapChain(p,a,b) (p)->CreateAdditionalSwapChain(a,b)
-#define IDirect3DDevice9_GetSwapChain(p,a,b) (p)->GetSwapChain(a,b)
-#define IDirect3DDevice9_GetNumberOfSwapChains(p) (p)->GetNumberOfSwapChains()
-#define IDirect3DDevice9_Reset(p,a) (p)->Reset(a)
-#define IDirect3DDevice9_Present(p,a,b,c,d) (p)->Present(a,b,c,d)
-#define IDirect3DDevice9_GetBackBuffer(p,a,b,c,d) (p)->GetBackBuffer(a,b,c,d)
-#define IDirect3DDevice9_GetRasterStatus(p,a,b) (p)->GetRasterStatus(a,b)
-#define IDirect3DDevice9_SetDialogBoxMode(p,a) (p)->SetDialogBoxMode(a)
-#define IDirect3DDevice9_SetGammaRamp(p,a,b,c) (p)->SetGammaRamp(a,b,c)
-#define IDirect3DDevice9_GetGammaRamp(p,a,b) (p)->GetGammaRamp(a,b)
-#define IDirect3DDevice9_CreateTexture(p,a,b,c,d,e,f,g,h) (p)->CreateTexture(a,b,c,d,e,f,g,h)
-#define IDirect3DDevice9_CreateVolumeTexture(p,a,b,c,d,e,f,g,h,i) (p)->CreateVolumeTexture(a,b,c,d,e,f,g,h,i)
-#define IDirect3DDevice9_CreateCubeTexture(p,a,b,c,d,e,f,g) (p)->CreateCubeTexture(a,b,c,d,e,f,g)
-#define IDirect3DDevice9_CreateVertexBuffer(p,a,b,c,d,e,f) (p)->CreateVertexBuffer(a,b,c,d,e,f)
-#define IDirect3DDevice9_CreateIndexBuffer(p,a,b,c,d,e,f) (p)->CreateIndexBuffer(a,b,c,d,e,f)
-#define IDirect3DDevice9_CreateRenderTarget(p,a,b,c,d,e,f,g,h) (p)->CreateRenderTarget(a,b,c,d,e,f,g,h)
-#define IDirect3DDevice9_CreateDepthStencilSurface(p,a,b,c,d,e,f,g,h) (p)->CreateDepthStencilSurface(a,b,c,d,e,f,g,h)
-#define IDirect3DDevice9_UpdateSurface(p,a,b,c,d) (p)->UpdateSurface(a,b,c,d)
-#define IDirect3DDevice9_UpdateTexture(p,a,b) (p)->UpdateTexture(a,b)
-#define IDirect3DDevice9_GetRenderTargetData(p,a,b) (p)->GetRenderTargetData(a,b)
-#define IDirect3DDevice9_GetFrontBufferData(p,a,b) (p)->GetFrontBufferData(a,b)
-#define IDirect3DDevice9_StretchRect(p,a,b,c,d,e) (p)->StretchRect(a,b,c,d,e)
-#define IDirect3DDevice9_ColorFill(p,a,b,c) (p)->ColorFill(a,b,c)
-#define IDirect3DDevice9_CreateOffscreenPlainSurface(p,a,b,c,d,e,f) (p)->CreateOffscreenPlainSurface(a,b,c,d,e,f)
-#define IDirect3DDevice9_SetRenderTarget(p,a,b) (p)->SetRenderTarget(a,b)
-#define IDirect3DDevice9_GetRenderTarget(p,a,b) (p)->GetRenderTarget(a,b)
-#define IDirect3DDevice9_SetDepthStencilSurface(p,a) (p)->SetDepthStencilSurface(a)
-#define IDirect3DDevice9_GetDepthStencilSurface(p,a) (p)->GetDepthStencilSurface(a)
-#define IDirect3DDevice9_BeginScene(p) (p)->BeginScene()
-#define IDirect3DDevice9_EndScene(p) (p)->EndScene()
-#define IDirect3DDevice9_Clear(p,a,b,c,d,e,f) (p)->Clear(a,b,c,d,e,f)
-#define IDirect3DDevice9_SetTransform(p,a,b) (p)->SetTransform(a,b)
-#define IDirect3DDevice9_GetTransform(p,a,b) (p)->GetTransform(a,b)
-#define IDirect3DDevice9_MultiplyTransform(p,a,b) (p)->MultiplyTransform(a,b)
-#define IDirect3DDevice9_SetViewport(p,a) (p)->SetViewport(a)
-#define IDirect3DDevice9_GetViewport(p,a) (p)->GetViewport(a)
-#define IDirect3DDevice9_SetMaterial(p,a) (p)->SetMaterial(a)
-#define IDirect3DDevice9_GetMaterial(p,a) (p)->GetMaterial(a)
-#define IDirect3DDevice9_SetLight(p,a,b) (p)->SetLight(a,b)
-#define IDirect3DDevice9_GetLight(p,a,b) (p)->GetLight(a,b)
-#define IDirect3DDevice9_LightEnable(p,a,b) (p)->LightEnable(a,b)
-#define IDirect3DDevice9_GetLightEnable(p,a,b) (p)->GetLightEnable(a,b)
-#define IDirect3DDevice9_SetClipPlane(p,a,b) (p)->SetClipPlane(a,b)
-#define IDirect3DDevice9_GetClipPlane(p,a,b) (p)->GetClipPlane(a,b)
-#define IDirect3DDevice9_SetRenderState(p,a,b) (p)->SetRenderState(a,b)
-#define IDirect3DDevice9_GetRenderState(p,a,b) (p)->GetRenderState(a,b)
-#define IDirect3DDevice9_CreateStateBlock(p,a,b) (p)->CreateStateBlock(a,b)
-#define IDirect3DDevice9_BeginStateBlock(p) (p)->BeginStateBlock()
-#define IDirect3DDevice9_EndStateBlock(p,a) (p)->EndStateBlock(a)
-#define IDirect3DDevice9_SetClipStatus(p,a) (p)->SetClipStatus(a)
-#define IDirect3DDevice9_GetClipStatus(p,a) (p)->GetClipStatus(a)
-#define IDirect3DDevice9_GetTexture(p,a,b) (p)->GetTexture(a,b)
-#define IDirect3DDevice9_SetTexture(p,a,b) (p)->SetTexture(a,b)
-#define IDirect3DDevice9_GetTextureStageState(p,a,b,c) (p)->GetTextureStageState(a,b,c)
-#define IDirect3DDevice9_SetTextureStageState(p,a,b,c) (p)->SetTextureStageState(a,b,c)
-#define IDirect3DDevice9_GetSamplerState(p,a,b,c) (p)->GetSamplerState(a,b,c)
-#define IDirect3DDevice9_SetSamplerState(p,a,b,c) (p)->SetSamplerState(a,b,c)
-#define IDirect3DDevice9_ValidateDevice(p,a) (p)->ValidateDevice(a)
-#define IDirect3DDevice9_SetPaletteEntries(p,a,b) (p)->SetPaletteEntries(a,b)
-#define IDirect3DDevice9_GetPaletteEntries(p,a,b) (p)->GetPaletteEntries(a,b)
-#define IDirect3DDevice9_SetCurrentTexturePalette(p,a) (p)->SetCurrentTexturePalette(a)
-#define IDirect3DDevice9_GetCurrentTexturePalette(p,a) (p)->GetCurrentTexturePalette(a)
-#define IDirect3DDevice9_SetScissorRect(p,a) (p)->SetScissorRect(a)
-#define IDirect3DDevice9_GetScissorRect(p,a) (p)->GetScissorRect(a)
-#define IDirect3DDevice9_SetSoftwareVertexProcessing(p,a) (p)->SetSoftwareVertexProcessing(a)
-#define IDirect3DDevice9_GetSoftwareVertexProcessing(p) (p)->GetSoftwareVertexProcessing()
-#define IDirect3DDevice9_SetNPatchMode(p,a) (p)->SetNPatchMode(a)
-#define IDirect3DDevice9_GetNPatchMode(p) (p)->GetNPatchMode()
-#define IDirect3DDevice9_DrawPrimitive(p,a,b,c) (p)->DrawPrimitive(a,b,c)
-#define IDirect3DDevice9_DrawIndexedPrimitive(p,a,b,c,d,e,f) (p)->DrawIndexedPrimitive(a,b,c,d,e,f)
-#define IDirect3DDevice9_DrawPrimitiveUP(p,a,b,c,d) (p)->DrawPrimitiveUP(a,b,c,d)
-#define IDirect3DDevice9_DrawIndexedPrimitiveUP(p,a,b,c,d,e,f,g,h) (p)->DrawIndexedPrimitiveUP(a,b,c,d,e,f,g,h)
-#define IDirect3DDevice9_ProcessVertices(p,a,b,c,d,e,f) (p)->ProcessVertices(a,b,c,d,e,f)
-#define IDirect3DDevice9_CreateVertexDeclaration(p,a,b) (p)->CreateVertexDeclaration(a,b)
-#define IDirect3DDevice9_SetVertexDeclaration(p,a) (p)->SetVertexDeclaration(a)
-#define IDirect3DDevice9_GetVertexDeclaration(p,a) (p)->GetVertexDeclaration(a)
-#define IDirect3DDevice9_SetFVF(p,a) (p)->SetFVF(a)
-#define IDirect3DDevice9_GetFVF(p,a) (p)->GetFVF(a)
-#define IDirect3DDevice9_CreateVertexShader(p,a,b) (p)->CreateVertexShader(a,b)
-#define IDirect3DDevice9_SetVertexShader(p,a) (p)->SetVertexShader(a)
-#define IDirect3DDevice9_GetVertexShader(p,a) (p)->GetVertexShader(a)
-#define IDirect3DDevice9_SetVertexShaderConstantF(p,a,b,c) (p)->SetVertexShaderConstantF(a,b,c)
-#define IDirect3DDevice9_GetVertexShaderConstantF(p,a,b,c) (p)->GetVertexShaderConstantF(a,b,c)
-#define IDirect3DDevice9_SetVertexShaderConstantI(p,a,b,c) (p)->SetVertexShaderConstantI(a,b,c)
-#define IDirect3DDevice9_GetVertexShaderConstantI(p,a,b,c) (p)->GetVertexShaderConstantI(a,b,c)
-#define IDirect3DDevice9_SetVertexShaderConstantB(p,a,b,c) (p)->SetVertexShaderConstantB(a,b,c)
-#define IDirect3DDevice9_GetVertexShaderConstantB(p,a,b,c) (p)->GetVertexShaderConstantB(a,b,c)
-#define IDirect3DDevice9_SetStreamSource(p,a,b,c,d) (p)->SetStreamSource(a,b,c,d)
-#define IDirect3DDevice9_GetStreamSource(p,a,b,c,d) (p)->GetStreamSource(a,b,c,d)
-#define IDirect3DDevice9_SetStreamSourceFreq(p,a,b) (p)->SetStreamSourceFreq(a,b)
-#define IDirect3DDevice9_GetStreamSourceFreq(p,a,b) (p)->GetStreamSourceFreq(a,b)
-#define IDirect3DDevice9_SetIndices(p,a) (p)->SetIndices(a)
-#define IDirect3DDevice9_GetIndices(p,a) (p)->GetIndices(a)
-#define IDirect3DDevice9_CreatePixelShader(p,a,b) (p)->CreatePixelShader(a,b)
-#define IDirect3DDevice9_SetPixelShader(p,a) (p)->SetPixelShader(a)
-#define IDirect3DDevice9_GetPixelShader(p,a) (p)->GetPixelShader(a)
-#define IDirect3DDevice9_SetPixelShaderConstantF(p,a,b,c) (p)->SetPixelShaderConstantF(a,b,c)
-#define IDirect3DDevice9_GetPixelShaderConstantF(p,a,b,c) (p)->GetPixelShaderConstantF(a,b,c)
-#define IDirect3DDevice9_SetPixelShaderConstantI(p,a,b,c) (p)->SetPixelShaderConstantI(a,b,c)
-#define IDirect3DDevice9_GetPixelShaderConstantI(p,a,b,c) (p)->GetPixelShaderConstantI(a,b,c)
-#define IDirect3DDevice9_SetPixelShaderConstantB(p,a,b,c) (p)->SetPixelShaderConstantB(a,b,c)
-#define IDirect3DDevice9_GetPixelShaderConstantB(p,a,b,c) (p)->GetPixelShaderConstantB(a,b,c)
-#define IDirect3DDevice9_DrawRectPatch(p,a,b,c) (p)->DrawRectPatch(a,b,c)
-#define IDirect3DDevice9_DrawTriPatch(p,a,b,c) (p)->DrawTriPatch(a,b,c)
-#define IDirect3DDevice9_DeletePatch(p,a) (p)->DeletePatch(a)
-#define IDirect3DDevice9_CreateQuery(p,a,b) (p)->CreateQuery(a,b)
-#endif
-
-#undef INTERFACE
-#define INTERFACE IDirect3DVolume9
-DECLARE_INTERFACE_(IDirect3DVolume9,IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(GetDevice)(THIS_ IDirect3DDevice9**) PURE;
- STDMETHOD(SetPrivateData)(THIS_ REFGUID,CONST void*,DWORD,DWORD) PURE;
- STDMETHOD(GetPrivateData)(THIS_ REFGUID,void*,DWORD*) PURE;
- STDMETHOD(FreePrivateData)(THIS_ REFGUID) PURE;
- STDMETHOD(GetContainer)(THIS_ REFIID,void**) PURE;
- STDMETHOD(GetDesc)(THIS_ D3DVOLUME_DESC*) PURE;
- STDMETHOD(LockBox)(THIS_ D3DLOCKED_BOX*,CONST D3DBOX*,DWORD) PURE;
- STDMETHOD(UnlockBox)(THIS) PURE;
-};
-typedef struct IDirect3DVolume9 *LPDIRECT3DVOLUME9, *PDIRECT3DVOLUME9;
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-#define IDirect3DVolume9_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DVolume9_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DVolume9_Release(p) (p)->lpVtbl->Release(p)
-#define IDirect3DVolume9_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
-#define IDirect3DVolume9_SetPrivateData(p,a,b,c,d) (p)->lpVtbl->SetPrivateData(p,a,b,c,d)
-#define IDirect3DVolume9_GetPrivateData(p,a,b,c) (p)->lpVtbl->GetPrivateData(p,a,b,c)
-#define IDirect3DVolume9_FreePrivateData(p,a) (p)->lpVtbl->FreePrivateData(p,a)
-#define IDirect3DVolume9_GetContainer(p,a,b) (p)->lpVtbl->GetContainer(p,a,b)
-#define IDirect3DVolume9_GetDesc(p,a) (p)->lpVtbl->GetDesc(p,a)
-#define IDirect3DVolume9_LockBox(p,a,b,c) (p)->lpVtbl->LockBox(p,a,b,c)
-#define IDirect3DVolume9_UnlockBox(p) (p)->lpVtbl->UnlockBox(p)
-#else
-#define IDirect3DVolume9_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DVolume9_AddRef(p) (p)->AddRef()
-#define IDirect3DVolume9_Release(p) (p)->Release()
-#define IDirect3DVolume9_GetDevice(p,a) (p)->GetDevice(a)
-#define IDirect3DVolume9_SetPrivateData(p,a,b,c,d) (p)->SetPrivateData(a,b,c,d)
-#define IDirect3DVolume9_GetPrivateData(p,a,b,c) (p)->GetPrivateData(a,b,c)
-#define IDirect3DVolume9_FreePrivateData(p,a) (p)->FreePrivateData(a)
-#define IDirect3DVolume9_GetContainer(p,a,b) (p)->GetContainer(a,b)
-#define IDirect3DVolume9_GetDesc(p,a) (p)->GetDesc(a)
-#define IDirect3DVolume9_LockBox(p,a,b,c) (p)->LockBox(a,b,c)
-#define IDirect3DVolume9_UnlockBox(p) (p)->UnlockBox()
-#endif
-
-#undef INTERFACE
-#define INTERFACE IDirect3DSwapChain9
-DECLARE_INTERFACE_(IDirect3DSwapChain9,IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(Present)(THIS_ CONST RECT*,CONST RECT*,HWND,CONST RGNDATA*,DWORD) PURE;
- STDMETHOD(GetFrontBufferData)(THIS_ IDirect3DSurface9*) PURE;
- STDMETHOD(GetBackBuffer)(THIS_ UINT,D3DBACKBUFFER_TYPE,IDirect3DSurface9**) PURE;
- STDMETHOD(GetRasterStatus)(THIS_ D3DRASTER_STATUS*) PURE;
- STDMETHOD(GetDisplayMode)(THIS_ D3DDISPLAYMODE*) PURE;
- STDMETHOD(GetDevice)(THIS_ IDirect3DDevice9**) PURE;
- STDMETHOD(GetPresentParameters)(THIS_ D3DPRESENT_PARAMETERS*) PURE;
-};
-typedef struct IDirect3DSwapChain9 *LPDIRECT3DSWAPCHAIN9, *PDIRECT3DSWAPCHAIN9;
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-#define IDirect3DSwapChain9_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DSwapChain9_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DSwapChain9_Release(p) (p)->lpVtbl->Release(p)
-#define IDirect3DSwapChain9_Present(p,a,b,c,d,e) (p)->lpVtbl->Present(p,a,b,c,d,e)
-#define IDirect3DSwapChain9_GetFrontBufferData(p,a) (p)->lpVtbl->GetFrontBufferData(p,a)
-#define IDirect3DSwapChain9_GetBackBuffer(p,a,b,c) (p)->lpVtbl->GetBackBuffer(p,a,b,c)
-#define IDirect3DSwapChain9_GetRasterStatus(p,a) (p)->lpVtbl->GetRasterStatus(p,a)
-#define IDirect3DSwapChain9_GetDisplayMode(p,a) (p)->lpVtbl->GetDisplayMode(p,a)
-#define IDirect3DSwapChain9_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
-#define IDirect3DSwapChain9_GetPresentParameters(p,a) (p)->lpVtbl->GetPresentParameters(p,a)
-#else
-#define IDirect3DSwapChain9_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DSwapChain9_AddRef(p) (p)->AddRef()
-#define IDirect3DSwapChain9_Release(p) (p)->Release()
-#define IDirect3DSwapChain9_Present(p,a,b,c,d,e) (p)->Present(a,b,c,d,e)
-#define IDirect3DSwapChain9_GetFrontBufferData(p,a) (p)->GetFrontBufferData(a)
-#define IDirect3DSwapChain9_GetBackBuffer(p,a,b,c) (p)->GetBackBuffer(a,b,c)
-#define IDirect3DSwapChain9_GetRasterStatus(p,a) (p)->GetRasterStatus(a)
-#define IDirect3DSwapChain9_GetDisplayMode(p,a) (p)->GetDisplayMode(a)
-#define IDirect3DSwapChain9_GetDevice(p,a) (p)->GetDevice(a)
-#define IDirect3DSwapChain9_GetPresentParameters(p,a) (p)->GetPresentParameters(a)
-#endif
-
-#undef INTERFACE
-#define INTERFACE IDirect3DResource9
-DECLARE_INTERFACE_(IDirect3DResource9,IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(GetDevice)(THIS_ IDirect3DDevice9**) PURE;
- STDMETHOD(SetPrivateData)(THIS_ REFGUID,CONST void*,DWORD,DWORD) PURE;
- STDMETHOD(GetPrivateData)(THIS_ REFGUID,void*,DWORD*) PURE;
- STDMETHOD(FreePrivateData)(THIS_ REFGUID) PURE;
- STDMETHOD_(DWORD,SetPriority)(THIS_ DWORD) PURE;
- STDMETHOD_(DWORD,GetPriority)(THIS) PURE;
- STDMETHOD_(void,PreLoad)(THIS) PURE;
- STDMETHOD_(D3DRESOURCETYPE,GetType)(THIS) PURE;
-};
-typedef struct IDirect3DResource9 *LPDIRECT3DRESOURCE9, *PDIRECT3DRESOURCE9;
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-#define IDirect3DResource9_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DResource9_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DResource9_Release(p) (p)->lpVtbl->Release(p)
-#define IDirect3DResource9_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
-#define IDirect3DResource9_SetPrivateData(p,a,b,c,d) (p)->lpVtbl->SetPrivateData(p,a,b,c,d)
-#define IDirect3DResource9_GetPrivateData(p,a,b,c) (p)->lpVtbl->GetPrivateData(p,a,b,c)
-#define IDirect3DResource9_FreePrivateData(p,a) (p)->lpVtbl->FreePrivateData(p,a)
-#define IDirect3DResource9_SetPriority(p,a) (p)->lpVtbl->SetPriority(p,a)
-#define IDirect3DResource9_GetPriority(p) (p)->lpVtbl->GetPriority(p)
-#define IDirect3DResource9_PreLoad(p) (p)->lpVtbl->PreLoad(p)
-#define IDirect3DResource9_GetType(p) (p)->lpVtbl->GetType(p)
-#else
-#define IDirect3DResource9_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DResource9_AddRef(p) (p)->AddRef()
-#define IDirect3DResource9_Release(p) (p)->Release()
-#define IDirect3DResource9_GetDevice(p,a) (p)->GetDevice(a)
-#define IDirect3DResource9_SetPrivateData(p,a,b,c,d) (p)->SetPrivateData(a,b,c,d)
-#define IDirect3DResource9_GetPrivateData(p,a,b,c) (p)->GetPrivateData(a,b,c)
-#define IDirect3DResource9_FreePrivateData(p,a) (p)->FreePrivateData(a)
-#define IDirect3DResource9_SetPriority(p,a) (p)->SetPriority(a)
-#define IDirect3DResource9_GetPriority(p) (p)->GetPriority()
-#define IDirect3DResource9_PreLoad(p) (p)->PreLoad()
-#define IDirect3DResource9_GetType(p) (p)->GetType()
-#endif
-
-#undef INTERFACE
-#define INTERFACE IDirect3DSurface9
-DECLARE_INTERFACE_(IDirect3DSurface9,IDirect3DResource9)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(GetDevice)(THIS_ IDirect3DDevice9**) PURE;
- STDMETHOD(SetPrivateData)(THIS_ REFGUID,CONST void*,DWORD,DWORD) PURE;
- STDMETHOD(GetPrivateData)(THIS_ REFGUID,void*,DWORD*) PURE;
- STDMETHOD(FreePrivateData)(THIS_ REFGUID) PURE;
- STDMETHOD_(DWORD,SetPriority)(THIS_ DWORD) PURE;
- STDMETHOD_(DWORD,GetPriority)(THIS) PURE;
- STDMETHOD_(void,PreLoad)(THIS) PURE;
- STDMETHOD_(D3DRESOURCETYPE,GetType)(THIS) PURE;
- STDMETHOD(GetContainer)(THIS_ REFIID,void**) PURE;
- STDMETHOD(GetDesc)(THIS_ D3DSURFACE_DESC*) PURE;
- STDMETHOD(LockRect)(THIS_ D3DLOCKED_RECT*,CONST RECT*,DWORD) PURE;
- STDMETHOD(UnlockRect)(THIS) PURE;
- STDMETHOD(GetDC)(THIS_ HDC*) PURE;
- STDMETHOD(ReleaseDC)(THIS_ HDC) PURE;
-};
-typedef struct IDirect3DSurface9 *LPDIRECT3DSURFACE9, *PDIRECT3DSURFACE9;
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-#define IDirect3DSurface9_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DSurface9_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DSurface9_Release(p) (p)->lpVtbl->Release(p)
-#define IDirect3DSurface9_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
-#define IDirect3DSurface9_SetPrivateData(p,a,b,c,d) (p)->lpVtbl->SetPrivateData(p,a,b,c,d)
-#define IDirect3DSurface9_GetPrivateData(p,a,b,c) (p)->lpVtbl->GetPrivateData(p,a,b,c)
-#define IDirect3DSurface9_FreePrivateData(p,a) (p)->lpVtbl->FreePrivateData(p,a)
-#define IDirect3DSurface9_SetPriority(p,a) (p)->lpVtbl->SetPriority(p,a)
-#define IDirect3DSurface9_GetPriority(p) (p)->lpVtbl->GetPriority(p)
-#define IDirect3DSurface9_PreLoad(p) (p)->lpVtbl->PreLoad(p)
-#define IDirect3DSurface9_GetType(p) (p)->lpVtbl->GetType(p)
-#define IDirect3DSurface9_GetContainer(p,a,b) (p)->lpVtbl->GetContainer(p,a,b)
-#define IDirect3DSurface9_GetDesc(p,a) (p)->lpVtbl->GetDesc(p,a)
-#define IDirect3DSurface9_LockRect(p,a,b,c) (p)->lpVtbl->LockRect(p,a,b,c)
-#define IDirect3DSurface9_UnlockRect(p) (p)->lpVtbl->UnlockRect(p)
-#define IDirect3DSurface9_GetDC(p,a) (p)->lpVtbl->GetDC(p,a)
-#define IDirect3DSurface9_ReleaseDC(p,a) (p)->lpVtbl->ReleaseDC(p,a)
-#else
-#define IDirect3DSurface9_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DSurface9_AddRef(p) (p)->AddRef()
-#define IDirect3DSurface9_Release(p) (p)->Release()
-#define IDirect3DSurface9_GetDevice(p,a) (p)->GetDevice(a)
-#define IDirect3DSurface9_SetPrivateData(p,a,b,c,d) (p)->SetPrivateData(a,b,c,d)
-#define IDirect3DSurface9_GetPrivateData(p,a,b,c) (p)->GetPrivateData(a,b,c)
-#define IDirect3DSurface9_FreePrivateData(p,a) (p)->FreePrivateData(a)
-#define IDirect3DSurface9_SetPriority(p,a) (p)->SetPriority(a)
-#define IDirect3DSurface9_GetPriority(p) (p)->GetPriority()
-#define IDirect3DSurface9_PreLoad(p) (p)->PreLoad()
-#define IDirect3DSurface9_GetType(p) (p)->GetType()
-#define IDirect3DSurface9_GetContainer(p,a,b) (p)->GetContainer(a,b)
-#define IDirect3DSurface9_GetDesc(p,a) (p)->GetDesc(a)
-#define IDirect3DSurface9_LockRect(p,a,b,c) (p)->LockRect(a,b,c)
-#define IDirect3DSurface9_UnlockRect(p) (p)->UnlockRect()
-#define IDirect3DSurface9_GetDC(p,a) (p)->GetDC(a)
-#define IDirect3DSurface9_ReleaseDC(p,a) (p)->ReleaseDC(a)
-#endif
-
-#undef INTERFACE
-#define INTERFACE IDirect3DVertexBuffer9
-DECLARE_INTERFACE_(IDirect3DVertexBuffer9,IDirect3DResource9)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(GetDevice)(THIS_ IDirect3DDevice9**) PURE;
- STDMETHOD(SetPrivateData)(THIS_ REFGUID,CONST void*,DWORD,DWORD) PURE;
- STDMETHOD(GetPrivateData)(THIS_ REFGUID,void*,DWORD*) PURE;
- STDMETHOD(FreePrivateData)(THIS_ REFGUID) PURE;
- STDMETHOD_(DWORD,SetPriority)(THIS_ DWORD) PURE;
- STDMETHOD_(DWORD,GetPriority)(THIS) PURE;
- STDMETHOD_(void,PreLoad)(THIS) PURE;
- STDMETHOD_(D3DRESOURCETYPE,GetType)(THIS) PURE;
- STDMETHOD(Lock)(THIS_ UINT,UINT,void**,DWORD) PURE;
- STDMETHOD(Unlock)(THIS) PURE;
- STDMETHOD(GetDesc)(THIS_ D3DVERTEXBUFFER_DESC*) PURE;
-};
-typedef struct IDirect3DVertexBuffer9 *LPDIRECT3DVERTEXBUFFER9, *PDIRECT3DVERTEXBUFFER9;
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-#define IDirect3DVertexBuffer9_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DVertexBuffer9_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DVertexBuffer9_Release(p) (p)->lpVtbl->Release(p)
-#define IDirect3DVertexBuffer9_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
-#define IDirect3DVertexBuffer9_SetPrivateData(p,a,b,c,d) (p)->lpVtbl->SetPrivateData(p,a,b,c,d)
-#define IDirect3DVertexBuffer9_GetPrivateData(p,a,b,c) (p)->lpVtbl->GetPrivateData(p,a,b,c)
-#define IDirect3DVertexBuffer9_FreePrivateData(p,a) (p)->lpVtbl->FreePrivateData(p,a)
-#define IDirect3DVertexBuffer9_SetPriority(p,a) (p)->lpVtbl->SetPriority(p,a)
-#define IDirect3DVertexBuffer9_GetPriority(p) (p)->lpVtbl->GetPriority(p)
-#define IDirect3DVertexBuffer9_PreLoad(p) (p)->lpVtbl->PreLoad(p)
-#define IDirect3DVertexBuffer9_GetType(p) (p)->lpVtbl->GetType(p)
-#define IDirect3DVertexBuffer9_Lock(p,a,b,c,d) (p)->lpVtbl->Lock(p,a,b,c,d)
-#define IDirect3DVertexBuffer9_Unlock(p) (p)->lpVtbl->Unlock(p)
-#define IDirect3DVertexBuffer9_GetDesc(p,a) (p)->lpVtbl->GetDesc(p,a)
-#else
-#define IDirect3DVertexBuffer9_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DVertexBuffer9_AddRef(p) (p)->AddRef()
-#define IDirect3DVertexBuffer9_Release(p) (p)->Release()
-#define IDirect3DVertexBuffer9_GetDevice(p,a) (p)->GetDevice(a)
-#define IDirect3DVertexBuffer9_SetPrivateData(p,a,b,c,d) (p)->SetPrivateData(a,b,c,d)
-#define IDirect3DVertexBuffer9_GetPrivateData(p,a,b,c) (p)->GetPrivateData(a,b,c)
-#define IDirect3DVertexBuffer9_FreePrivateData(p,a) (p)->FreePrivateData(a)
-#define IDirect3DVertexBuffer9_SetPriority(p,a) (p)->SetPriority(a)
-#define IDirect3DVertexBuffer9_GetPriority(p) (p)->GetPriority()
-#define IDirect3DVertexBuffer9_PreLoad(p) (p)->PreLoad()
-#define IDirect3DVertexBuffer9_GetType(p) (p)->GetType()
-#define IDirect3DVertexBuffer9_Lock(p,a,b,c,d) (p)->Lock(a,b,c,d)
-#define IDirect3DVertexBuffer9_Unlock(p) (p)->Unlock()
-#define IDirect3DVertexBuffer9_GetDesc(p,a) (p)->GetDesc(a)
-#endif
-
-#undef INTERFACE
-#define INTERFACE IDirect3DIndexBuffer9
-DECLARE_INTERFACE_(IDirect3DIndexBuffer9,IDirect3DResource9)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(GetDevice)(THIS_ IDirect3DDevice9**) PURE;
- STDMETHOD(SetPrivateData)(THIS_ REFGUID,CONST void*,DWORD,DWORD) PURE;
- STDMETHOD(GetPrivateData)(THIS_ REFGUID,void*,DWORD*) PURE;
- STDMETHOD(FreePrivateData)(THIS_ REFGUID) PURE;
- STDMETHOD_(DWORD,SetPriority)(THIS_ DWORD) PURE;
- STDMETHOD_(DWORD,GetPriority)(THIS) PURE;
- STDMETHOD_(void,PreLoad)(THIS) PURE;
- STDMETHOD_(D3DRESOURCETYPE,GetType)(THIS) PURE;
- STDMETHOD(Lock)(THIS_ UINT,UINT,void**,DWORD) PURE;
- STDMETHOD(Unlock)(THIS) PURE;
- STDMETHOD(GetDesc)(THIS_ D3DINDEXBUFFER_DESC*) PURE;
-};
-typedef struct IDirect3DIndexBuffer9 *LPDIRECT3DINDEXBUFFER9, *PDIRECT3DINDEXBUFFER9;
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-#define IDirect3DIndexBuffer9_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DIndexBuffer9_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DIndexBuffer9_Release(p) (p)->lpVtbl->Release(p)
-#define IDirect3DIndexBuffer9_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
-#define IDirect3DIndexBuffer9_SetPrivateData(p,a,b,c,d) (p)->lpVtbl->SetPrivateData(p,a,b,c,d)
-#define IDirect3DIndexBuffer9_GetPrivateData(p,a,b,c) (p)->lpVtbl->GetPrivateData(p,a,b,c)
-#define IDirect3DIndexBuffer9_FreePrivateData(p,a) (p)->lpVtbl->FreePrivateData(p,a)
-#define IDirect3DIndexBuffer9_SetPriority(p,a) (p)->lpVtbl->SetPriority(p,a)
-#define IDirect3DIndexBuffer9_GetPriority(p) (p)->lpVtbl->GetPriority(p)
-#define IDirect3DIndexBuffer9_PreLoad(p) (p)->lpVtbl->PreLoad(p)
-#define IDirect3DIndexBuffer9_GetType(p) (p)->lpVtbl->GetType(p)
-#define IDirect3DIndexBuffer9_Lock(p,a,b,c,d) (p)->lpVtbl->Lock(p,a,b,c,d)
-#define IDirect3DIndexBuffer9_Unlock(p) (p)->lpVtbl->Unlock(p)
-#define IDirect3DIndexBuffer9_GetDesc(p,a) (p)->lpVtbl->GetDesc(p,a)
-#else
-#define IDirect3DIndexBuffer9_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DIndexBuffer9_AddRef(p) (p)->AddRef()
-#define IDirect3DIndexBuffer9_Release(p) (p)->Release()
-#define IDirect3DIndexBuffer9_GetDevice(p,a) (p)->GetDevice(a)
-#define IDirect3DIndexBuffer9_SetPrivateData(p,a,b,c,d) (p)->SetPrivateData(a,b,c,d)
-#define IDirect3DIndexBuffer9_GetPrivateData(p,a,b,c) (p)->GetPrivateData(a,b,c)
-#define IDirect3DIndexBuffer9_FreePrivateData(p,a) (p)->FreePrivateData(a)
-#define IDirect3DIndexBuffer9_SetPriority(p,a) (p)->SetPriority(a)
-#define IDirect3DIndexBuffer9_GetPriority(p) (p)->GetPriority()
-#define IDirect3DIndexBuffer9_PreLoad(p) (p)->PreLoad()
-#define IDirect3DIndexBuffer9_GetType(p) (p)->GetType()
-#define IDirect3DIndexBuffer9_Lock(p,a,b,c,d) (p)->Lock(a,b,c,d)
-#define IDirect3DIndexBuffer9_Unlock(p) (p)->Unlock()
-#define IDirect3DIndexBuffer9_GetDesc(p,a) (p)->GetDesc(a)
-#endif
-
-#undef INTERFACE
-#define INTERFACE IDirect3DBaseTexture9
-DECLARE_INTERFACE_(IDirect3DBaseTexture9,IDirect3DResource9)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(GetDevice)(THIS_ IDirect3DDevice9**) PURE;
- STDMETHOD(SetPrivateData)(THIS_ REFGUID,CONST void*,DWORD,DWORD) PURE;
- STDMETHOD(GetPrivateData)(THIS_ REFGUID,void*,DWORD*) PURE;
- STDMETHOD(FreePrivateData)(THIS_ REFGUID) PURE;
- STDMETHOD_(DWORD,SetPriority)(THIS_ DWORD) PURE;
- STDMETHOD_(DWORD,GetPriority)(THIS) PURE;
- STDMETHOD_(void,PreLoad)(THIS) PURE;
- STDMETHOD_(D3DRESOURCETYPE,GetType)(THIS) PURE;
- STDMETHOD_(DWORD,SetLOD)(THIS_ DWORD) PURE;
- STDMETHOD_(DWORD,GetLOD)(THIS) PURE;
- STDMETHOD_(DWORD,GetLevelCount)(THIS) PURE;
- STDMETHOD(SetAutoGenFilterType)(THIS_ D3DTEXTUREFILTERTYPE) PURE;
- STDMETHOD_(D3DTEXTUREFILTERTYPE,GetAutoGenFilterType)(THIS) PURE;
- STDMETHOD_(void,GenerateMipSubLevels)(THIS) PURE;
-};
-typedef struct IDirect3DBaseTexture9 *LPDIRECT3DBASETEXTURE9, *PDIRECT3DBASETEXTURE9;
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-#define IDirect3DBaseTexture9_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DBaseTexture9_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DBaseTexture9_Release(p) (p)->lpVtbl->Release(p)
-#define IDirect3DBaseTexture9_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
-#define IDirect3DBaseTexture9_SetPrivateData(p,a,b,c,d) (p)->lpVtbl->SetPrivateData(p,a,b,c,d)
-#define IDirect3DBaseTexture9_GetPrivateData(p,a,b,c) (p)->lpVtbl->GetPrivateData(p,a,b,c)
-#define IDirect3DBaseTexture9_FreePrivateData(p,a) (p)->lpVtbl->FreePrivateData(p,a)
-#define IDirect3DBaseTexture9_SetPriority(p,a) (p)->lpVtbl->SetPriority(p,a)
-#define IDirect3DBaseTexture9_GetPriority(p) (p)->lpVtbl->GetPriority(p)
-#define IDirect3DBaseTexture9_PreLoad(p) (p)->lpVtbl->PreLoad(p)
-#define IDirect3DBaseTexture9_GetType(p) (p)->lpVtbl->GetType(p)
-#define IDirect3DBaseTexture9_SetLOD(p,a) (p)->lpVtbl->SetLOD(p,a)
-#define IDirect3DBaseTexture9_GetLOD(p) (p)->lpVtbl->GetLOD(p)
-#define IDirect3DBaseTexture9_GetLevelCount(p) (p)->lpVtbl->GetLevelCount(p)
-#define IDirect3DBaseTexture9_SetAutoGenFilterType(p,a) (p)->lpVtbl->SetAutoGenFilterType(p,a)
-#define IDirect3DBaseTexture9_GetAutoGenFilterType(p) (p)->lpVtbl->GetAutoGenFilterType(p)
-#define IDirect3DBaseTexture9_GenerateMipSubLevels(p) (p)->lpVtbl->GenerateMipSubLevels(p)
-#else
-#define IDirect3DBaseTexture9_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DBaseTexture9_AddRef(p) (p)->AddRef()
-#define IDirect3DBaseTexture9_Release(p) (p)->Release()
-#define IDirect3DBaseTexture9_GetDevice(p,a) (p)->GetDevice(a)
-#define IDirect3DBaseTexture9_SetPrivateData(p,a,b,c,d) (p)->SetPrivateData(a,b,c,d)
-#define IDirect3DBaseTexture9_GetPrivateData(p,a,b,c) (p)->GetPrivateData(a,b,c)
-#define IDirect3DBaseTexture9_FreePrivateData(p,a) (p)->FreePrivateData(a)
-#define IDirect3DBaseTexture9_SetPriority(p,a) (p)->SetPriority(a)
-#define IDirect3DBaseTexture9_GetPriority(p) (p)->GetPriority()
-#define IDirect3DBaseTexture9_PreLoad(p) (p)->PreLoad()
-#define IDirect3DBaseTexture9_GetType(p) (p)->GetType()
-#define IDirect3DBaseTexture9_SetLOD(p,a) (p)->SetLOD(a)
-#define IDirect3DBaseTexture9_GetLOD(p) (p)->GetLOD()
-#define IDirect3DBaseTexture9_GetLevelCount(p) (p)->GetLevelCount()
-#define IDirect3DBaseTexture9_SetAutoGenFilterType(p,a) (p)->SetAutoGenFilterType(a)
-#define IDirect3DBaseTexture9_GetAutoGenFilterType(p) (p)->GetAutoGenFilterType()
-#define IDirect3DBaseTexture9_GenerateMipSubLevels(p) (p)->GenerateMipSubLevels()
-#endif
-
-#undef INTERFACE
-#define INTERFACE IDirect3DCubeTexture9
-DECLARE_INTERFACE_(IDirect3DCubeTexture9,IDirect3DBaseTexture9)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(GetDevice)(THIS_ IDirect3DDevice9**) PURE;
- STDMETHOD(SetPrivateData)(THIS_ REFGUID,CONST void*,DWORD,DWORD) PURE;
- STDMETHOD(GetPrivateData)(THIS_ REFGUID,void*,DWORD*) PURE;
- STDMETHOD(FreePrivateData)(THIS_ REFGUID) PURE;
- STDMETHOD_(DWORD,SetPriority)(THIS_ DWORD) PURE;
- STDMETHOD_(DWORD,GetPriority)(THIS) PURE;
- STDMETHOD_(void,PreLoad)(THIS) PURE;
- STDMETHOD_(D3DRESOURCETYPE,GetType)(THIS) PURE;
- STDMETHOD_(DWORD,SetLOD)(THIS_ DWORD) PURE;
- STDMETHOD_(DWORD,GetLOD)(THIS) PURE;
- STDMETHOD_(DWORD,GetLevelCount)(THIS) PURE;
- STDMETHOD(SetAutoGenFilterType)(THIS_ D3DTEXTUREFILTERTYPE) PURE;
- STDMETHOD_(D3DTEXTUREFILTERTYPE,GetAutoGenFilterType)(THIS) PURE;
- STDMETHOD_(void,GenerateMipSubLevels)(THIS) PURE;
- STDMETHOD(GetLevelDesc)(THIS_ UINT,D3DSURFACE_DESC*) PURE; \
- STDMETHOD(GetCubeMapSurface)(THIS_ D3DCUBEMAP_FACES,UINT,IDirect3DSurface9**) PURE; \
- STDMETHOD(LockRect)(THIS_ D3DCUBEMAP_FACES,UINT,D3DLOCKED_RECT*,CONST RECT*,DWORD) PURE; \
- STDMETHOD(UnlockRect)(THIS_ D3DCUBEMAP_FACES,UINT) PURE; \
- STDMETHOD(AddDirtyRect)(THIS_ D3DCUBEMAP_FACES,CONST RECT*) PURE;
-};
-typedef struct IDirect3DCubeTexture9 *LPDIRECT3DCUBETEXTURE9, *PDIRECT3DCUBETEXTURE9;
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-#define IDirect3DCubeTexture9_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DCubeTexture9_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DCubeTexture9_Release(p) (p)->lpVtbl->Release(p)
-#define IDirect3DCubeTexture9_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
-#define IDirect3DCubeTexture9_SetPrivateData(p,a,b,c,d) (p)->lpVtbl->SetPrivateData(p,a,b,c,d)
-#define IDirect3DCubeTexture9_GetPrivateData(p,a,b,c) (p)->lpVtbl->GetPrivateData(p,a,b,c)
-#define IDirect3DCubeTexture9_FreePrivateData(p,a) (p)->lpVtbl->FreePrivateData(p,a)
-#define IDirect3DCubeTexture9_SetPriority(p,a) (p)->lpVtbl->SetPriority(p,a)
-#define IDirect3DCubeTexture9_GetPriority(p) (p)->lpVtbl->GetPriority(p)
-#define IDirect3DCubeTexture9_PreLoad(p) (p)->lpVtbl->PreLoad(p)
-#define IDirect3DCubeTexture9_GetType(p) (p)->lpVtbl->GetType(p)
-#define IDirect3DCubeTexture9_SetLOD(p,a) (p)->lpVtbl->SetLOD(p,a)
-#define IDirect3DCubeTexture9_GetLOD(p) (p)->lpVtbl->GetLOD(p)
-#define IDirect3DCubeTexture9_GetLevelCount(p) (p)->lpVtbl->GetLevelCount(p)
-#define IDirect3DCubeTexture9_SetAutoGenFilterType(p,a) (p)->lpVtbl->SetAutoGenFilterType(p,a)
-#define IDirect3DCubeTexture9_GetAutoGenFilterType(p) (p)->lpVtbl->GetAutoGenFilterType(p)
-#define IDirect3DCubeTexture9_GenerateMipSubLevels(p) (p)->lpVtbl->GenerateMipSubLevels(p)
-#define IDirect3DCubeTexture9_GetLevelDesc(p,a,b) (p)->lpVtbl->GetLevelDesc(p,a,b)
-#define IDirect3DCubeTexture9_GetCubeMapSurface(p,a,b,c) (p)->lpVtbl->GetCubeMapSurface(p,a,b,c)
-#define IDirect3DCubeTexture9_LockRect(p,a,b,c,d,e) (p)->lpVtbl->LockRect(p,a,b,c,d,e)
-#define IDirect3DCubeTexture9_UnlockRect(p,a,b) (p)->lpVtbl->UnlockRect(p,a,b)
-#define IDirect3DCubeTexture9_AddDirtyRect(p,a,b) (p)->lpVtbl->AddDirtyRect(p,a,b)
-#else
-#define IDirect3DCubeTexture9_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DCubeTexture9_AddRef(p) (p)->AddRef()
-#define IDirect3DCubeTexture9_Release(p) (p)->Release()
-#define IDirect3DCubeTexture9_GetDevice(p,a) (p)->GetDevice(a)
-#define IDirect3DCubeTexture9_SetPrivateData(p,a,b,c,d) (p)->SetPrivateData(a,b,c,d)
-#define IDirect3DCubeTexture9_GetPrivateData(p,a,b,c) (p)->GetPrivateData(a,b,c)
-#define IDirect3DCubeTexture9_FreePrivateData(p,a) (p)->FreePrivateData(a)
-#define IDirect3DCubeTexture9_SetPriority(p,a) (p)->SetPriority(a)
-#define IDirect3DCubeTexture9_GetPriority(p) (p)->GetPriority()
-#define IDirect3DCubeTexture9_PreLoad(p) (p)->PreLoad()
-#define IDirect3DCubeTexture9_GetType(p) (p)->GetType()
-#define IDirect3DCubeTexture9_SetLOD(p,a) (p)->SetLOD(a)
-#define IDirect3DCubeTexture9_GetLOD(p) (p)->GetLOD()
-#define IDirect3DCubeTexture9_GetLevelCount(p) (p)->GetLevelCount()
-#define IDirect3DCubeTexture9_SetAutoGenFilterType(p,a) (p)->SetAutoGenFilterType(a)
-#define IDirect3DCubeTexture9_GetAutoGenFilterType(p) (p)->GetAutoGenFilterType()
-#define IDirect3DCubeTexture9_GenerateMipSubLevels(p) (p)->GenerateMipSubLevels()
-#define IDirect3DCubeTexture9_GetLevelDesc(p,a,b) (p)->GetLevelDesc(a,b)
-#define IDirect3DCubeTexture9_GetCubeMapSurface(p,a,b,c) (p)->GetCubeMapSurface(a,b,c)
-#define IDirect3DCubeTexture9_LockRect(p,a,b,c,d,e) (p)->LockRect(a,b,c,d,e)
-#define IDirect3DCubeTexture9_UnlockRect(p,a,b) (p)->UnlockRect(a,b)
-#define IDirect3DCubeTexture9_AddDirtyRect(p,a,b) (p)->AddDirtyRect(a,b)
-#endif
-
-#undef INTERFACE
-#define INTERFACE IDirect3DTexture9
-DECLARE_INTERFACE_(IDirect3DTexture9,IDirect3DBaseTexture9)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(GetDevice)(THIS_ IDirect3DDevice9**) PURE;
- STDMETHOD(SetPrivateData)(THIS_ REFGUID,CONST void*,DWORD,DWORD) PURE;
- STDMETHOD(GetPrivateData)(THIS_ REFGUID,void*,DWORD*) PURE;
- STDMETHOD(FreePrivateData)(THIS_ REFGUID) PURE;
- STDMETHOD_(DWORD,SetPriority)(THIS_ DWORD) PURE;
- STDMETHOD_(DWORD,GetPriority)(THIS) PURE;
- STDMETHOD_(void,PreLoad)(THIS) PURE;
- STDMETHOD_(D3DRESOURCETYPE,GetType)(THIS) PURE;
- STDMETHOD_(DWORD,SetLOD)(THIS_ DWORD) PURE;
- STDMETHOD_(DWORD,GetLOD)(THIS) PURE;
- STDMETHOD_(DWORD,GetLevelCount)(THIS) PURE;
- STDMETHOD(SetAutoGenFilterType)(THIS_ D3DTEXTUREFILTERTYPE) PURE;
- STDMETHOD_(D3DTEXTUREFILTERTYPE,GetAutoGenFilterType)(THIS) PURE;
- STDMETHOD_(void,GenerateMipSubLevels)(THIS) PURE;
- STDMETHOD(GetLevelDesc)(THIS_ UINT,D3DSURFACE_DESC*) PURE;
- STDMETHOD(GetSurfaceLevel)(THIS_ UINT,IDirect3DSurface9**) PURE;
- STDMETHOD(LockRect)(THIS_ UINT,D3DLOCKED_RECT*,CONST RECT*,DWORD) PURE;
- STDMETHOD(UnlockRect)(THIS_ UINT) PURE;
- STDMETHOD(AddDirtyRect)(THIS_ CONST RECT*) PURE;
-};
-typedef struct IDirect3DTexture9 *LPDIRECT3DTEXTURE9, *PDIRECT3DTEXTURE9;
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-#define IDirect3DTexture9_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DTexture9_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DTexture9_Release(p) (p)->lpVtbl->Release(p)
-#define IDirect3DTexture9_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
-#define IDirect3DTexture9_SetPrivateData(p,a,b,c,d) (p)->lpVtbl->SetPrivateData(p,a,b,c,d)
-#define IDirect3DTexture9_GetPrivateData(p,a,b,c) (p)->lpVtbl->GetPrivateData(p,a,b,c)
-#define IDirect3DTexture9_FreePrivateData(p,a) (p)->lpVtbl->FreePrivateData(p,a)
-#define IDirect3DTexture9_SetPriority(p,a) (p)->lpVtbl->SetPriority(p,a)
-#define IDirect3DTexture9_GetPriority(p) (p)->lpVtbl->GetPriority(p)
-#define IDirect3DTexture9_PreLoad(p) (p)->lpVtbl->PreLoad(p)
-#define IDirect3DTexture9_GetType(p) (p)->lpVtbl->GetType(p)
-#define IDirect3DTexture9_SetLOD(p,a) (p)->lpVtbl->SetLOD(p,a)
-#define IDirect3DTexture9_GetLOD(p) (p)->lpVtbl->GetLOD(p)
-#define IDirect3DTexture9_GetLevelCount(p) (p)->lpVtbl->GetLevelCount(p)
-#define IDirect3DTexture9_SetAutoGenFilterType(p,a) (p)->lpVtbl->SetAutoGenFilterType(p,a)
-#define IDirect3DTexture9_GetAutoGenFilterType(p) (p)->lpVtbl->GetAutoGenFilterType(p)
-#define IDirect3DTexture9_GenerateMipSubLevels(p) (p)->lpVtbl->GenerateMipSubLevels(p)
-#define IDirect3DTexture9_GetLevelDesc(p,a,b) (p)->lpVtbl->GetLevelDesc(p,a,b)
-#define IDirect3DTexture9_GetSurfaceLevel(p,a,b) (p)->lpVtbl->GetSurfaceLevel(p,a,b)
-#define IDirect3DTexture9_LockRect(p,a,b,c,d) (p)->lpVtbl->LockRect(p,a,b,c,d)
-#define IDirect3DTexture9_UnlockRect(p,a) (p)->lpVtbl->UnlockRect(p,a)
-#define IDirect3DTexture9_AddDirtyRect(p,a) (p)->lpVtbl->AddDirtyRect(p,a)
-#else
-#define IDirect3DTexture9_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DTexture9_AddRef(p) (p)->AddRef()
-#define IDirect3DTexture9_Release(p) (p)->Release()
-#define IDirect3DTexture9_GetDevice(p,a) (p)->GetDevice(a)
-#define IDirect3DTexture9_SetPrivateData(p,a,b,c,d) (p)->SetPrivateData(a,b,c,d)
-#define IDirect3DTexture9_GetPrivateData(p,a,b,c) (p)->GetPrivateData(a,b,c)
-#define IDirect3DTexture9_FreePrivateData(p,a) (p)->FreePrivateData(a)
-#define IDirect3DTexture9_SetPriority(p,a) (p)->SetPriority(a)
-#define IDirect3DTexture9_GetPriority(p) (p)->GetPriority()
-#define IDirect3DTexture9_PreLoad(p) (p)->PreLoad()
-#define IDirect3DTexture9_GetType(p) (p)->GetType()
-#define IDirect3DTexture9_SetLOD(p,a) (p)->SetLOD(a)
-#define IDirect3DTexture9_GetLOD(p) (p)->GetLOD()
-#define IDirect3DTexture9_GetLevelCount(p) (p)->GetLevelCount()
-#define IDirect3DTexture9_SetAutoGenFilterType(p,a) (p)->SetAutoGenFilterType(a)
-#define IDirect3DTexture9_GetAutoGenFilterType(p) (p)->GetAutoGenFilterType()
-#define IDirect3DTexture9_GenerateMipSubLevels(p) (p)->GenerateMipSubLevels()
-#define IDirect3DTexture9_GetLevelDesc(p,a,b) (p)->GetLevelDesc(a,b)
-#define IDirect3DTexture9_GetSurfaceLevel(p,a,b) (p)->GetSurfaceLevel(a,b)
-#define IDirect3DTexture9_LockRect(p,a,b,c,d) (p)->LockRect(a,b,c,d)
-#define IDirect3DTexture9_UnlockRect(p,a) (p)->UnlockRect(a)
-#define IDirect3DTexture9_AddDirtyRect(p,a) (p)->AddDirtyRect(a)
-#endif
-
-#undef INTERFACE
-#define INTERFACE IDirect3DVolumeTexture9
-DECLARE_INTERFACE_(IDirect3DVolumeTexture9,IDirect3DBaseTexture9)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(GetDevice)(THIS_ IDirect3DDevice9**) PURE;
- STDMETHOD(SetPrivateData)(THIS_ REFGUID,CONST void*,DWORD,DWORD) PURE;
- STDMETHOD(GetPrivateData)(THIS_ REFGUID,void*,DWORD*) PURE;
- STDMETHOD(FreePrivateData)(THIS_ REFGUID) PURE;
- STDMETHOD_(DWORD,SetPriority)(THIS_ DWORD) PURE;
- STDMETHOD_(DWORD,GetPriority)(THIS) PURE;
- STDMETHOD_(void,PreLoad)(THIS) PURE;
- STDMETHOD_(D3DRESOURCETYPE,GetType)(THIS) PURE;
- STDMETHOD_(DWORD,SetLOD)(THIS_ DWORD) PURE;
- STDMETHOD_(DWORD,GetLOD)(THIS) PURE;
- STDMETHOD_(DWORD,GetLevelCount)(THIS) PURE;
- STDMETHOD(SetAutoGenFilterType)(THIS_ D3DTEXTUREFILTERTYPE) PURE;
- STDMETHOD_(D3DTEXTUREFILTERTYPE,GetAutoGenFilterType)(THIS) PURE;
- STDMETHOD_(void,GenerateMipSubLevels)(THIS) PURE;
- STDMETHOD(GetLevelDesc)(THIS_ UINT,D3DVOLUME_DESC*) PURE;
- STDMETHOD(GetVolumeLevel)(THIS_ UINT,IDirect3DVolume9**) PURE;
- STDMETHOD(LockBox)(THIS_ UINT,D3DLOCKED_BOX*,CONST D3DBOX*,DWORD) PURE;
- STDMETHOD(UnlockBox)(THIS_ UINT) PURE;
- STDMETHOD(AddDirtyBox)(THIS_ CONST D3DBOX*) PURE;
-};
-typedef struct IDirect3DVolumeTexture9 *LPDIRECT3DVOLUMETEXTURE9, *PDIRECT3DVOLUMETEXTURE9;
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-#define IDirect3DVolumeTexture9_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DVolumeTexture9_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DVolumeTexture9_Release(p) (p)->lpVtbl->Release(p)
-#define IDirect3DVolumeTexture9_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
-#define IDirect3DVolumeTexture9_SetPrivateData(p,a,b,c,d) (p)->lpVtbl->SetPrivateData(p,a,b,c,d)
-#define IDirect3DVolumeTexture9_GetPrivateData(p,a,b,c) (p)->lpVtbl->GetPrivateData(p,a,b,c)
-#define IDirect3DVolumeTexture9_FreePrivateData(p,a) (p)->lpVtbl->FreePrivateData(p,a)
-#define IDirect3DVolumeTexture9_SetPriority(p,a) (p)->lpVtbl->SetPriority(p,a)
-#define IDirect3DVolumeTexture9_GetPriority(p) (p)->lpVtbl->GetPriority(p)
-#define IDirect3DVolumeTexture9_PreLoad(p) (p)->lpVtbl->PreLoad(p)
-#define IDirect3DVolumeTexture9_GetType(p) (p)->lpVtbl->GetType(p)
-#define IDirect3DVolumeTexture9_SetLOD(p,a) (p)->lpVtbl->SetLOD(p,a)
-#define IDirect3DVolumeTexture9_GetLOD(p) (p)->lpVtbl->GetLOD(p)
-#define IDirect3DVolumeTexture9_GetLevelCount(p) (p)->lpVtbl->GetLevelCount(p)
-#define IDirect3DVolumeTexture9_SetAutoGenFilterType(p,a) (p)->lpVtbl->SetAutoGenFilterType(p,a)
-#define IDirect3DVolumeTexture9_GetAutoGenFilterType(p) (p)->lpVtbl->GetAutoGenFilterType(p)
-#define IDirect3DVolumeTexture9_GenerateMipSubLevels(p) (p)->lpVtbl->GenerateMipSubLevels(p)
-#define IDirect3DVolumeTexture9_GetLevelDesc(p,a,b) (p)->lpVtbl->GetLevelDesc(p,a,b)
-#define IDirect3DVolumeTexture9_GetVolumeLevel(p,a,b) (p)->lpVtbl->GetVolumeLevel(p,a,b)
-#define IDirect3DVolumeTexture9_LockBox(p,a,b,c,d) (p)->lpVtbl->LockBox(p,a,b,c,d)
-#define IDirect3DVolumeTexture9_UnlockBox(p,a) (p)->lpVtbl->UnlockBox(p,a)
-#define IDirect3DVolumeTexture9_AddDirtyBox(p,a) (p)->lpVtbl->AddDirtyBox(p,a)
-#else
-#define IDirect3DVolumeTexture9_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DVolumeTexture9_AddRef(p) (p)->AddRef()
-#define IDirect3DVolumeTexture9_Release(p) (p)->Release()
-#define IDirect3DVolumeTexture9_GetDevice(p,a) (p)->GetDevice(a)
-#define IDirect3DVolumeTexture9_SetPrivateData(p,a,b,c,d) (p)->SetPrivateData(a,b,c,d)
-#define IDirect3DVolumeTexture9_GetPrivateData(p,a,b,c) (p)->GetPrivateData(a,b,c)
-#define IDirect3DVolumeTexture9_FreePrivateData(p,a) (p)->FreePrivateData(a)
-#define IDirect3DVolumeTexture9_SetPriority(p,a) (p)->SetPriority(a)
-#define IDirect3DVolumeTexture9_GetPriority(p) (p)->GetPriority()
-#define IDirect3DVolumeTexture9_PreLoad(p) (p)->PreLoad()
-#define IDirect3DVolumeTexture9_GetType(p) (p)->GetType()
-#define IDirect3DVolumeTexture9_SetLOD(p,a) (p)->SetLOD(a)
-#define IDirect3DVolumeTexture9_GetLOD(p) (p)->GetLOD()
-#define IDirect3DVolumeTexture9_GetLevelCount(p) (p)->GetLevelCount()
-#define IDirect3DVolumeTexture9_SetAutoGenFilterType(p,a) (p)->SetAutoGenFilterType(a)
-#define IDirect3DVolumeTexture9_GetAutoGenFilterType(p) (p)->GetAutoGenFilterType()
-#define IDirect3DVolumeTexture9_GenerateMipSubLevels(p) (p)->GenerateMipSubLevels()
-#define IDirect3DVolumeTexture9_GetLevelDesc(p,a,b) (p)->GetLevelDesc(a,b)
-#define IDirect3DVolumeTexture9_GetVolumeLevel(p,a,b) (p)->GetVolumeLevel(a,b)
-#define IDirect3DVolumeTexture9_LockBox(p,a,b,c,d) (p)->LockBox(a,b,c,d)
-#define IDirect3DVolumeTexture9_UnlockBox(p,a) (p)->UnlockBox(a)
-#define IDirect3DVolumeTexture9_AddDirtyBox(p,a) (p)->AddDirtyBox(a)
-#endif
-
-#undef INTERFACE
-#define INTERFACE IDirect3DVertexDeclaration9
-DECLARE_INTERFACE_(IDirect3DVertexDeclaration9,IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(GetDevice)(THIS_ IDirect3DDevice9**) PURE;
- STDMETHOD(GetDeclaration)(THIS_ D3DVERTEXELEMENT9*,UINT*) PURE;
-};
-typedef struct IDirect3DVertexDeclaration9 *LPDIRECT3DVERTEXDECLARATION9, *PDIRECT3DVERTEXDECLARATION9;
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-#define IDirect3DVertexDeclaration9_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DVertexDeclaration9_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DVertexDeclaration9_Release(p) (p)->lpVtbl->Release(p)
-#define IDirect3DVertexDeclaration9_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
-#define IDirect3DVertexDeclaration9_GetDeclaration(p,a,b) (p)->lpVtbl->GetDeclaration(p,a,b)
-#else
-#define IDirect3DVertexDeclaration9_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DVertexDeclaration9_AddRef(p) (p)->AddRef()
-#define IDirect3DVertexDeclaration9_Release(p) (p)->Release()
-#define IDirect3DVertexDeclaration9_GetDevice(p,a) (p)->GetDevice(a)
-#define IDirect3DVertexDeclaration9_GetDeclaration(p,a,b) (p)->GetDeclaration(a,b)
-#endif
-
-#undef INTERFACE
-#define INTERFACE IDirect3DVertexShader9
-DECLARE_INTERFACE_(IDirect3DVertexShader9,IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(GetDevice)(THIS_ IDirect3DDevice9**) PURE;
- STDMETHOD(GetFunction)(THIS_ void*,UINT*) PURE;
-};
-typedef struct IDirect3DVertexShader9 *LPDIRECT3DVERTEXSHADER9, *PDIRECT3DVERTEXSHADER9;
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-#define IDirect3DVertexShader9_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DVertexShader9_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DVertexShader9_Release(p) (p)->lpVtbl->Release(p)
-#define IDirect3DVertexShader9_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
-#define IDirect3DVertexShader9_GetFunction(p,a,b) (p)->lpVtbl->GetFunction(p,a,b)
-#else
-#define IDirect3DVertexShader9_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DVertexShader9_AddRef(p) (p)->AddRef()
-#define IDirect3DVertexShader9_Release(p) (p)->Release()
-#define IDirect3DVertexShader9_GetDevice(p,a) (p)->GetDevice(a)
-#define IDirect3DVertexShader9_GetFunction(p,a,b) (p)->GetFunction(a,b)
-#endif
-
-#undef INTERFACE
-#define INTERFACE IDirect3DPixelShader9
-DECLARE_INTERFACE_(IDirect3DPixelShader9,IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(GetDevice)(THIS_ IDirect3DDevice9**) PURE;
- STDMETHOD(GetFunction)(THIS_ void*,UINT*) PURE;
-};
-typedef struct IDirect3DPixelShader9 *LPDIRECT3DPIXELSHADER9, *PDIRECT3DPIXELSHADER9;
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-#define IDirect3DPixelShader9_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DPixelShader9_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DPixelShader9_Release(p) (p)->lpVtbl->Release(p)
-#define IDirect3DPixelShader9_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
-#define IDirect3DPixelShader9_GetFunction(p,a,b) (p)->lpVtbl->GetFunction(p,a,b)
-#else
-#define IDirect3DPixelShader9_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DPixelShader9_AddRef(p) (p)->AddRef()
-#define IDirect3DPixelShader9_Release(p) (p)->Release()
-#define IDirect3DPixelShader9_GetDevice(p,a) (p)->GetDevice(a)
-#define IDirect3DPixelShader9_GetFunction(p,a,b) (p)->GetFunction(a,b)
-#endif
-
-#undef INTERFACE
-#define INTERFACE IDirect3DStateBlock9
-DECLARE_INTERFACE_(IDirect3DStateBlock9,IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(GetDevice)(THIS_ IDirect3DDevice9**) PURE;
- STDMETHOD(Capture)(THIS) PURE;
- STDMETHOD(Apply)(THIS) PURE;
-};
-typedef struct IDirect3DStateBlock9 *LPDIRECT3DSTATEBLOCK9, *PDIRECT3DSTATEBLOCK9;
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-#define IDirect3DStateBlock9_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DStateBlock9_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DStateBlock9_Release(p) (p)->lpVtbl->Release(p)
-#define IDirect3DStateBlock9_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
-#define IDirect3DStateBlock9_Capture(p) (p)->lpVtbl->Capture(p)
-#define IDirect3DStateBlock9_Apply(p) (p)->lpVtbl->Apply(p)
-#else
-#define IDirect3DStateBlock9_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DStateBlock9_AddRef(p) (p)->AddRef()
-#define IDirect3DStateBlock9_Release(p) (p)->Release()
-#define IDirect3DStateBlock9_GetDevice(p,a) (p)->GetDevice(a)
-#define IDirect3DStateBlock9_Capture(p) (p)->Capture()
-#define IDirect3DStateBlock9_Apply(p) (p)->Apply()
-#endif
-
-#undef INTERFACE
-#define INTERFACE IDirect3DQuery9
-DECLARE_INTERFACE_(IDirect3DQuery9,IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(GetDevice)(THIS_ IDirect3DDevice9**) PURE;
- STDMETHOD_(D3DQUERYTYPE, GetType)(THIS) PURE;
- STDMETHOD_(DWORD, GetDataSize)(THIS) PURE;
- STDMETHOD(Issue)(THIS_ DWORD) PURE;
- STDMETHOD(GetData)(THIS_ void*,DWORD,DWORD) PURE;
-};
-typedef struct IDirect3DQuery9 *LPDIRECT3DQUERY9, *PDIRECT3DQUERY9;
-
-#if !defined(__cplusplus) || defined(CINTERFACE)
-#define IDirect3DQuery9_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDirect3DQuery9_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDirect3DQuery9_Release(p) (p)->lpVtbl->Release(p)
-#define IDirect3DQuery9_GetDevice(p,a) (p)->lpVtbl->GetDevice(p,a)
-#define IDirect3DQuery9_GetType(p) (p)->lpVtbl->GetType(p)
-#define IDirect3DQuery9_GetDataSize(p) (p)->lpVtbl->GetDataSize(p)
-#define IDirect3DQuery9_Issue(p,a) (p)->lpVtbl->Issue(p,a)
-#define IDirect3DQuery9_GetData(p,a,b,c) (p)->lpVtbl->GetData(p,a,b,c)
-#else
-#define IDirect3DQuery9_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
-#define IDirect3DQuery9_AddRef(p) (p)->AddRef()
-#define IDirect3DQuery9_Release(p) (p)->Release()
-#define IDirect3DQuery9_GetDevice(p,a) (p)->GetDevice(a)
-#define IDirect3DQuery9_GetType(p) (p)->GetType()
-#define IDirect3DQuery9_GetDataSize(p) (p)->GetDataSize()
-#define IDirect3DQuery9_Issue(p,a) (p)->Issue(a)
-#define IDirect3DQuery9_GetData(p,a,b,c) (p)->GetData(a,b,c)
-#endif
-
-#ifdef __cplusplus
-extern "C" IDirect3D9* WINAPI Direct3DCreate9(UINT SDKVersion);
-#else
-extern IDirect3D9* WINAPI Direct3DCreate9(UINT SDKVersion);
-#endif
-
-#endif
-#endif
diff --git a/winsup/w32api/include/directx/d3d9caps.h b/winsup/w32api/include/directx/d3d9caps.h
deleted file mode 100644
index 9858cf20f..000000000
--- a/winsup/w32api/include/directx/d3d9caps.h
+++ /dev/null
@@ -1,338 +0,0 @@
-/*
-
- d3d9caps.h - Header file for the Direct3D9 API
-
- Written by Filip Navara <xnavara@volny.cz>
-
- This library 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.
-
-*/
-
-#ifndef _D3D9_CAPS_H
-#define _D3D9_CAPS_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifndef DIRECT3D_VERSION
-#define DIRECT3D_VERSION 0x0900
-#endif
-
-#if (DIRECT3D_VERSION >= 0x0900)
-
-#define D3DCURSORCAPS_COLOR 1
-#define D3DCURSORCAPS_LOWRES 2
-#define D3DDEVCAPS_EXECUTESYSTEMMEMORY 0x10
-#define D3DDEVCAPS_EXECUTEVIDEOMEMORY 0x20
-#define D3DDEVCAPS_TLVERTEXSYSTEMMEMORY 0x40
-#define D3DDEVCAPS_TLVERTEXVIDEOMEMORY 0x80
-#define D3DDEVCAPS_TEXTURESYSTEMMEMORY 0x100
-#define D3DDEVCAPS_TEXTUREVIDEOMEMORY 0x200
-#define D3DDEVCAPS_DRAWPRIMTLVERTEX 0x400
-#define D3DDEVCAPS_CANRENDERAFTERFLIP 0x800
-#define D3DDEVCAPS_TEXTURENONLOCALVIDMEM 0x1000
-#define D3DDEVCAPS_DRAWPRIMITIVES2 0x2000
-#define D3DDEVCAPS_SEPARATETEXTUREMEMORIES 0x4000
-#define D3DDEVCAPS_DRAWPRIMITIVES2EX 0x8000
-#define D3DDEVCAPS_HWTRANSFORMANDLIGHT 0x10000
-#define D3DDEVCAPS_CANBLTSYSTONONLOCAL 0x20000
-#define D3DDEVCAPS_HWRASTERIZATION 0x80000
-#define D3DDEVCAPS_PUREDEVICE 0x100000
-#define D3DDEVCAPS_QUINTICRTPATCHES 0x200000
-#define D3DDEVCAPS_RTPATCHES 0x400000
-#define D3DDEVCAPS_RTPATCHHANDLEZERO 0x800000
-#define D3DDEVCAPS_NPATCHES 0x1000000
-#define D3DDEVCAPS2_STREAMOFFSET 0x01
-#define D3DDEVCAPS2_DMAPNPATCH 0x02
-#define D3DDEVCAPS2_ADAPTIVETESSRTPATCH 0x04
-#define D3DDEVCAPS2_ADAPTIVETESSNPATCH 0x08
-#define D3DDEVCAPS2_CAN_STRETCHRECT_FROM_TEXTURES 0x10
-#define D3DDEVCAPS2_PRESAMPLEDDMAPNPATCH 0x20
-#define D3DDEVCAPS2_VERTEXELEMENTSCANSHARESTREAMOFFSET 0x40
-#define D3DFVFCAPS_TEXCOORDCOUNTMASK 0xFFFF
-#define D3DFVFCAPS_DONOTSTRIPELEMENTS 0x80000
-#define D3DFVFCAPS_PSIZE 0x100000
-#define D3DLINECAPS_TEXTURE 0x01
-#define D3DLINECAPS_ZTEST 0x02
-#define D3DLINECAPS_BLEND 0x04
-#define D3DLINECAPS_ALPHACMP 0x08
-#define D3DLINECAPS_FOG 0x10
-#define D3DLINECAPS_ANTIALIAS 0x20
-#define D3DPBLENDCAPS_ZERO 0x01
-#define D3DPBLENDCAPS_ONE 0x02
-#define D3DPBLENDCAPS_SRCCOLOR 0x04
-#define D3DPBLENDCAPS_INVSRCCOLOR 0x08
-#define D3DPBLENDCAPS_SRCALPHA 0x10
-#define D3DPBLENDCAPS_INVSRCALPHA 0x20
-#define D3DPBLENDCAPS_DESTALPHA 0x40
-#define D3DPBLENDCAPS_INVDESTALPHA 0x80
-#define D3DPBLENDCAPS_DESTCOLOR 0x100
-#define D3DPBLENDCAPS_INVDESTCOLOR 0x200
-#define D3DPBLENDCAPS_SRCALPHASAT 0x400
-#define D3DPBLENDCAPS_BOTHSRCALPHA 0x800
-#define D3DPBLENDCAPS_BOTHINVSRCALPHA 0x1000
-#define D3DPBLENDCAPS_BLENDFACTOR 0x2000
-#define D3DPCMPCAPS_NEVER 0x01
-#define D3DPCMPCAPS_LESS 0x02
-#define D3DPCMPCAPS_EQUAL 0x04
-#define D3DPCMPCAPS_LESSEQUAL 0x08
-#define D3DPCMPCAPS_GREATER 0x10
-#define D3DPCMPCAPS_NOTEQUAL 0x20
-#define D3DPCMPCAPS_GREATEREQUAL 0x40
-#define D3DPCMPCAPS_ALWAYS 0x80
-#define D3DPMISCCAPS_MASKZ 0x02
-#define D3DPMISCCAPS_CULLNONE 0x10
-#define D3DPMISCCAPS_CULLCW 0x20
-#define D3DPMISCCAPS_CULLCCW 0x40
-#define D3DPMISCCAPS_COLORWRITEENABLE 0x80
-#define D3DPMISCCAPS_CLIPPLANESCALEDPOINTS 0x100
-#define D3DPMISCCAPS_CLIPTLVERTS 0x200
-#define D3DPMISCCAPS_TSSARGTEMP 0x400
-#define D3DPMISCCAPS_BLENDOP 0x800
-#define D3DPMISCCAPS_NULLREFERENCE 0x1000
-#define D3DPMISCCAPS_INDEPENDENTWRITEMASKS 0x4000
-#define D3DPMISCCAPS_PERSTAGECONSTANT 0x8000
-#define D3DPMISCCAPS_FOGANDSPECULARALPHA 0x10000
-#define D3DPMISCCAPS_SEPARATEALPHABLEND 0x20000
-#define D3DPMISCCAPS_MRTINDEPENDENTBITDEPTHS 0x40000
-#define D3DPMISCCAPS_MRTPOSTPIXELSHADERBLENDING 0x80000
-#define D3DPMISCCAPS_FOGVERTEXCLAMPED 0x100000
-#define D3DPRASTERCAPS_DITHER 0x01
-#define D3DPRASTERCAPS_ZTEST 0x10
-#define D3DPRASTERCAPS_FOGVERTEX 0x80
-#define D3DPRASTERCAPS_FOGTABLE 0x100
-#define D3DPRASTERCAPS_MIPMAPLODBIAS 0x2000
-#define D3DPRASTERCAPS_ZBUFFERLESSHSR 0x8000
-#define D3DPRASTERCAPS_FOGRANGE 0x10000
-#define D3DPRASTERCAPS_ANISOTROPY 0x20000
-#define D3DPRASTERCAPS_WBUFFER 0x40000
-#define D3DPRASTERCAPS_WFOG 0x100000
-#define D3DPRASTERCAPS_ZFOG 0x200000
-#define D3DPRASTERCAPS_COLORPERSPECTIVE 0x400000
-#define D3DPRASTERCAPS_SCISSORTEST 0x1000000
-#define D3DPRASTERCAPS_SLOPESCALEDEPTHBIAS 0x2000000
-#define D3DPRASTERCAPS_DEPTHBIAS 0x4000000
-#define D3DPRASTERCAPS_MULTISAMPLE_TOGGLE 0x8000000
-#define D3DPRESENT_INTERVAL_DEFAULT 0x00
-#define D3DPRESENT_INTERVAL_ONE 0x01
-#define D3DPRESENT_INTERVAL_TWO 0x02
-#define D3DPRESENT_INTERVAL_THREE 0x04
-#define D3DPRESENT_INTERVAL_FOUR 0x08
-#define D3DPRESENT_INTERVAL_IMMEDIATE 0x80000000L
-#define D3DPSHADECAPS_COLORGOURAUDRGB 0x08
-#define D3DPSHADECAPS_SPECULARGOURAUDRGB 0x200
-#define D3DPSHADECAPS_ALPHAGOURAUDBLEND 0x4000
-#define D3DPSHADECAPS_FOGGOURAUD 0x80000
-#define D3DPTADDRESSCAPS_WRAP 0x01
-#define D3DPTADDRESSCAPS_MIRROR 0x02
-#define D3DPTADDRESSCAPS_CLAMP 0x04
-#define D3DPTADDRESSCAPS_BORDER 0x08
-#define D3DPTADDRESSCAPS_INDEPENDENTUV 0x10
-#define D3DPTADDRESSCAPS_MIRRORONCE 0x20
-#define D3DPTEXTURECAPS_PERSPECTIVE 0x01
-#define D3DPTEXTURECAPS_POW2 0x02
-#define D3DPTEXTURECAPS_ALPHA 0x04
-#define D3DPTEXTURECAPS_SQUAREONLY 0x20
-#define D3DPTEXTURECAPS_TEXREPEATNOTSCALEDBYSIZE 0x40
-#define D3DPTEXTURECAPS_ALPHAPALETTE 0x80
-#define D3DPTEXTURECAPS_NONPOW2CONDITIONAL 0x100
-#define D3DPTEXTURECAPS_PROJECTED 0x400
-#define D3DPTEXTURECAPS_CUBEMAP 0x800
-#define D3DPTEXTURECAPS_VOLUMEMAP 0x2000
-#define D3DPTEXTURECAPS_MIPMAP 0x4000
-#define D3DPTEXTURECAPS_MIPVOLUMEMAP 0x8000
-#define D3DPTEXTURECAPS_MIPCUBEMAP 0x10000
-#define D3DPTEXTURECAPS_CUBEMAP_POW2 0x20000
-#define D3DPTEXTURECAPS_VOLUMEMAP_POW2 0x40000
-#define D3DPTEXTURECAPS_NOPROJECTEDBUMPENV 0x200000
-#define D3DPTFILTERCAPS_MINFPOINT 0x100
-#define D3DPTFILTERCAPS_MINFLINEAR 0x200
-#define D3DPTFILTERCAPS_MINFANISOTROPIC 0x400
-#define D3DPTFILTERCAPS_MINFPYRAMIDALQUAD 0x800
-#define D3DPTFILTERCAPS_MINFGAUSSIANQUAD 0x1000
-#define D3DPTFILTERCAPS_MIPFPOINT 0x10000
-#define D3DPTFILTERCAPS_MIPFLINEAR 0x20000
-#define D3DPTFILTERCAPS_MAGFPOINT 0x1000000
-#define D3DPTFILTERCAPS_MAGFLINEAR 0x2000000
-#define D3DPTFILTERCAPS_MAGFANISOTROPIC 0x4000000
-#define D3DPTFILTERCAPS_MAGFPYRAMIDALQUAD 0x8000000
-#define D3DPTFILTERCAPS_MAGFGAUSSIANQUAD 0x10000000
-#define D3DSTENCILCAPS_KEEP 0x01
-#define D3DSTENCILCAPS_ZERO 0x02
-#define D3DSTENCILCAPS_REPLACE 0x04
-#define D3DSTENCILCAPS_INCRSAT 0x08
-#define D3DSTENCILCAPS_DECRSAT 0x10
-#define D3DSTENCILCAPS_INVERT 0x20
-#define D3DSTENCILCAPS_INCR 0x40
-#define D3DSTENCILCAPS_DECR 0x80
-#define D3DSTENCILCAPS_TWOSIDED 0x100
-#define D3DTEXOPCAPS_DISABLE 0x01
-#define D3DTEXOPCAPS_SELECTARG1 0x02
-#define D3DTEXOPCAPS_SELECTARG2 0x04
-#define D3DTEXOPCAPS_MODULATE 0x08
-#define D3DTEXOPCAPS_MODULATE2X 0x10
-#define D3DTEXOPCAPS_MODULATE4X 0x20
-#define D3DTEXOPCAPS_ADD 0x40
-#define D3DTEXOPCAPS_ADDSIGNED 0x80
-#define D3DTEXOPCAPS_ADDSIGNED2X 0x100
-#define D3DTEXOPCAPS_SUBTRACT 0x200
-#define D3DTEXOPCAPS_ADDSMOOTH 0x400
-#define D3DTEXOPCAPS_BLENDDIFFUSEALPHA 0x800
-#define D3DTEXOPCAPS_BLENDTEXTUREALPHA 0x1000
-#define D3DTEXOPCAPS_BLENDFACTORALPHA 0x2000
-#define D3DTEXOPCAPS_BLENDTEXTUREALPHAPM 0x4000
-#define D3DTEXOPCAPS_BLENDCURRENTALPHA 0x8000
-#define D3DTEXOPCAPS_PREMODULATE 0x10000
-#define D3DTEXOPCAPS_MODULATEALPHA_ADDCOLOR 0x20000
-#define D3DTEXOPCAPS_MODULATECOLOR_ADDALPHA 0x40000
-#define D3DTEXOPCAPS_MODULATEINVALPHA_ADDCOLOR 0x80000
-#define D3DTEXOPCAPS_MODULATEINVCOLOR_ADDALPHA 0x100000
-#define D3DTEXOPCAPS_BUMPENVMAP 0x200000
-#define D3DTEXOPCAPS_BUMPENVMAPLUMINANCE 0x400000
-#define D3DTEXOPCAPS_DOTPRODUCT3 0x800000
-#define D3DTEXOPCAPS_MULTIPLYADD 0x1000000
-#define D3DTEXOPCAPS_LERP 0x2000000
-#define D3DVTXPCAPS_TEXGEN 0x01
-#define D3DVTXPCAPS_MATERIALSOURCE7 0x02
-#define D3DVTXPCAPS_DIRECTIONALLIGHTS 0x08
-#define D3DVTXPCAPS_POSITIONALLIGHTS 0x10
-#define D3DVTXPCAPS_LOCALVIEWER 0x20
-#define D3DVTXPCAPS_TWEENING 0x40
-#define D3DVTXPCAPS_TEXGEN_SPHEREMAP 0x100
-#define D3DVTXPCAPS_NO_TEXGEN_NONLOCALVIEWER 0x200
-#define D3DCAPS_READ_SCANLINE 0x20000
-#define D3DCAPS2_FULLSCREENGAMMA 0x20000L
-#define D3DCAPS2_CANCALIBRATEGAMMA 0x100000L
-#define D3DCAPS2_RESERVED 0x2000000L
-#define D3DCAPS2_CANMANAGERESOURCE 0x10000000L
-#define D3DCAPS2_DYNAMICTEXTURES 0x20000000L
-#define D3DCAPS2_CANAUTOGENMIPMAP 0x40000000L
-#define D3DCAPS3_ALPHA_FULLSCREEN_FLIP_OR_DISCARD 0x20
-#define D3DCAPS3_LINEAR_TO_SRGB_PRESENTATION 0x80
-#define D3DCAPS3_COPY_TO_VIDMEM 0x100
-#define D3DCAPS3_COPY_TO_SYSTEMMEM 0x200
-#define D3DCAPS3_RESERVED 0x8000001fL
-#define D3DDTCAPS_UBYTE4 0x01
-#define D3DDTCAPS_UBYTE4N 0x02
-#define D3DDTCAPS_SHORT2N 0x04
-#define D3DDTCAPS_SHORT4N 0x08
-#define D3DDTCAPS_USHORT2N 0x10
-#define D3DDTCAPS_USHORT4N 0x20
-#define D3DDTCAPS_UDEC3 0x40
-#define D3DDTCAPS_DEC3N 0x80
-#define D3DDTCAPS_FLOAT16_2 0x100
-#define D3DDTCAPS_FLOAT16_4 0x200
-#define D3DMIN30SHADERINSTRUCTIONS 512
-#define D3DMAX30SHADERINSTRUCTIONS 32768
-#define D3DPS20_MAX_DYNAMICFLOWCONTROLDEPTH 24
-#define D3DPS20_MIN_DYNAMICFLOWCONTROLDEPTH 0
-#define D3DPS20_MAX_NUMTEMPS 32
-#define D3DPS20_MIN_NUMTEMPS 12
-#define D3DPS20_MAX_STATICFLOWCONTROLDEPTH 4
-#define D3DPS20_MIN_STATICFLOWCONTROLDEPTH 0
-#define D3DPS20_MAX_NUMINSTRUCTIONSLOTS 512
-#define D3DPS20_MIN_NUMINSTRUCTIONSLOTS 96
-#define D3DPS20CAPS_ARBITRARYSWIZZLE 0x1
-#define D3DPS20CAPS_GRADIENTINSTRUCTIONS 0x2
-#define D3DPS20CAPS_PREDICATION 0x4
-#define D3DPS20CAPS_NODEPENDENTREADLIMIT 0x8
-#define D3DPS20CAPS_NOTEXINSTRUCTIONLIMIT 0x10
-#define D3DVS20_MAX_DYNAMICFLOWCONTROLDEPTH 24
-#define D3DVS20_MIN_DYNAMICFLOWCONTROLDEPTH 0
-#define D3DVS20_MAX_NUMTEMPS 32
-#define D3DVS20_MIN_NUMTEMPS 12
-#define D3DVS20_MAX_STATICFLOWCONTROLDEPTH 4
-#define D3DVS20_MIN_STATICFLOWCONTROLDEPTH 1
-#define D3DVS20CAPS_PREDICATION 1
-
-typedef struct _D3DVSHADERCAPS2_0 {
- DWORD Caps;
- INT DynamicFlowControlDepth;
- INT NumTemps;
- INT StaticFlowControlDepth;
-} D3DVSHADERCAPS2_0;
-
-typedef struct _D3DPSHADERCAPS2_0 {
- DWORD Caps;
- INT DynamicFlowControlDepth;
- INT NumTemps;
- INT StaticFlowControlDepth;
- INT NumInstructionSlots;
-} D3DPSHADERCAPS2_0;
-
-typedef struct _D3DCAPS9 {
- D3DDEVTYPE DeviceType;
- UINT AdapterOrdinal;
- DWORD Caps;
- DWORD Caps2;
- DWORD Caps3;
- DWORD PresentationIntervals;
- DWORD CursorCaps;
- DWORD DevCaps;
- DWORD PrimitiveMiscCaps;
- DWORD RasterCaps;
- DWORD ZCmpCaps;
- DWORD SrcBlendCaps;
- DWORD DestBlendCaps;
- DWORD AlphaCmpCaps;
- DWORD ShadeCaps;
- DWORD TextureCaps;
- DWORD TextureFilterCaps;
- DWORD CubeTextureFilterCaps;
- DWORD VolumeTextureFilterCaps;
- DWORD TextureAddressCaps;
- DWORD VolumeTextureAddressCaps;
- DWORD LineCaps;
- DWORD MaxTextureWidth;
- DWORD MaxTextureHeight;
- DWORD MaxVolumeExtent;
- DWORD MaxTextureRepeat;
- DWORD MaxTextureAspectRatio;
- DWORD MaxAnisotropy;
- float MaxVertexW;
- float GuardBandLeft;
- float GuardBandTop;
- float GuardBandRight;
- float GuardBandBottom;
- float ExtentsAdjust;
- DWORD StencilCaps;
- DWORD FVFCaps;
- DWORD TextureOpCaps;
- DWORD MaxTextureBlendStages;
- DWORD MaxSimultaneousTextures;
- DWORD VertexProcessingCaps;
- DWORD MaxActiveLights;
- DWORD MaxUserClipPlanes;
- DWORD MaxVertexBlendMatrices;
- DWORD MaxVertexBlendMatrixIndex;
- float MaxPointSize;
- DWORD MaxPrimitiveCount;
- DWORD MaxVertexIndex;
- DWORD MaxStreams;
- DWORD MaxStreamStride;
- DWORD VertexShaderVersion;
- DWORD MaxVertexShaderConst;
- DWORD PixelShaderVersion;
- float PixelShader1xMaxValue;
- DWORD DevCaps2;
- float MaxNpatchTessellationLevel;
- DWORD Reserved5;
- UINT MasterAdapterOrdinal;
- UINT AdapterOrdinalInGroup;
- UINT NumberOfAdaptersInGroup;
- DWORD DeclTypes;
- DWORD NumSimultaneousRTs;
- DWORD StretchRectFilterCaps;
- D3DVSHADERCAPS2_0 VS20Caps;
- D3DPSHADERCAPS2_0 PS20Caps;
- DWORD VertexTextureFilterCaps;
- DWORD MaxVShaderInstructionsExecuted;
- DWORD MaxPShaderInstructionsExecuted;
- DWORD MaxVertexShader30InstructionSlots;
- DWORD MaxPixelShader30InstructionSlots;
-} D3DCAPS9;
-
-#endif
-#endif
diff --git a/winsup/w32api/include/directx/d3d9types.h b/winsup/w32api/include/directx/d3d9types.h
deleted file mode 100644
index 6b74f63eb..000000000
--- a/winsup/w32api/include/directx/d3d9types.h
+++ /dev/null
@@ -1,1272 +0,0 @@
-/*
-
- d3d9types.h - Header file for the Direct3D9 API
-
- Written by Filip Navara <xnavara@volny.cz>
-
- This library 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.
-
-*/
-
-#ifndef _D3D9_TYPES_H
-#define _D3D9_TYPES_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifndef DIRECT3D_VERSION
-#define DIRECT3D_VERSION 0x0900
-#endif
-
-#if (DIRECT3D_VERSION >= 0x0900)
-
-#include <pshpack4.h>
-
-#define D3DCLEAR_TARGET 0x01
-#define D3DCLEAR_ZBUFFER 0x02
-#define D3DCLEAR_STENCIL 0x04
-#define D3DCLIPPLANE0 0x01
-#define D3DCLIPPLANE1 0x02
-#define D3DCLIPPLANE2 0x04
-#define D3DCLIPPLANE3 0x08
-#define D3DCLIPPLANE4 0x10
-#define D3DCLIPPLANE5 0x20
-#define D3DCOLOR_ARGB(a,r,g,b) ((D3DCOLOR)((((a)&0xff)<<24)|(((r)&0xff)<<16)|(((g)&0xff)<<8)|((b)&0xff)))
-#define D3DCOLOR_COLORVALUE(r,g,b,a) D3DCOLOR_RGBA((DWORD)((r)*255.f),(DWORD)((g)*255.f),(DWORD)((b)*255.f),(DWORD)((a)*255.f))
-#define D3DCOLOR_RGBA(r,g,b,a) D3DCOLOR_ARGB(a,r,g,b)
-#define D3DCOLOR_XRGB(r,g,b) D3DCOLOR_ARGB(0xff,r,g,b)
-#define D3DCOLOR_XYUV(y,u,v) D3DCOLOR_ARGB(0xff,y,u,v)
-#define D3DCOLOR_AYUV(a,y,u,v) D3DCOLOR_ARGB(a,y,u,v)
-#define D3DCOLORWRITEENABLE_RED 0x01
-#define D3DCOLORWRITEENABLE_GREEN 0x02
-#define D3DCOLORWRITEENABLE_BLUE 0x04
-#define D3DCOLORWRITEENABLE_ALPHA 0x08
-#define D3DCS_LEFT 0x01
-#define D3DCS_RIGHT 0x02
-#define D3DCS_TOP 0x04
-#define D3DCS_BOTTOM 0x08
-#define D3DCS_FRONT 0x10
-#define D3DCS_BACK 0x20
-#define D3DCS_PLANE0 0x40
-#define D3DCS_PLANE1 0x80
-#define D3DCS_PLANE2 0x100
-#define D3DCS_PLANE3 0x200
-#define D3DCS_PLANE4 0x400
-#define D3DCS_PLANE5 0x800
-#define D3DCS_ALL (D3DCS_LEFT|D3DCS_RIGHT|D3DCS_TOP|D3DCS_BOTTOM|D3DCS_FRONT|D3DCS_BACK|D3DCS_PLANE0|D3DCS_PLANE1|D3DCS_PLANE2|D3DCS_PLANE3|D3DCS_PLANE4|D3DCS_PLANE5)
-#define D3DDECL_END() {0xff,0,D3DDECLTYPE_UNUSED,0,0,0}
-#define D3DDP_MAXTEXCOORD 8
-#define D3DPV_DONOTCOPYDATA 0x01
-#define D3DTA_SELECTMASK 0x0f
-#define D3DTA_DIFFUSE 0x00
-#define D3DTA_CURRENT 0x01
-#define D3DTA_TEXTURE 0x02
-#define D3DTA_TFACTOR 0x03
-#define D3DTA_SPECULAR 0x04
-#define D3DTA_TEMP 0x05
-#define D3DTA_CONSTANT 0x06
-#define D3DTA_COMPLEMENT 0x10
-#define D3DTA_ALPHAREPLICATE 0x20
-#define D3DFVF_RESERVED0 0x01
-#define D3DFVF_POSITION_MASK 0x4000E
-#define D3DFVF_XYZ 0x02
-#define D3DFVF_XYZRHW 0x04
-#define D3DFVF_XYZB1 0x06
-#define D3DFVF_XYZB2 0x08
-#define D3DFVF_XYZB3 0x0a
-#define D3DFVF_XYZB4 0x0c
-#define D3DFVF_XYZB5 0x0e
-#define D3DFVF_XYZW 0x4002
-#define D3DFVF_NORMAL 0x10
-#define D3DFVF_PSIZE 0x20
-#define D3DFVF_DIFFUSE 0x40
-#define D3DFVF_SPECULAR 0x80
-#define D3DFVF_TEXCOUNT_MASK 0xf00
-#define D3DFVF_TEXCOUNT_SHIFT 8
-#define D3DFVF_TEX0 0x0000
-#define D3DFVF_TEX1 0x0100
-#define D3DFVF_TEX2 0x0200
-#define D3DFVF_TEX3 0x0300
-#define D3DFVF_TEX4 0x0400
-#define D3DFVF_TEX5 0x0500
-#define D3DFVF_TEX6 0x0600
-#define D3DFVF_TEX7 0x0700
-#define D3DFVF_TEX8 0x0800
-#define D3DFVF_TEXCOORDSIZE1(i) (D3DFVF_TEXTUREFORMAT1 << (i * 2 + 16))
-#define D3DFVF_TEXCOORDSIZE2(i) (D3DFVF_TEXTUREFORMAT2)
-#define D3DFVF_TEXCOORDSIZE3(i) (D3DFVF_TEXTUREFORMAT3 << (i * 2 + 16))
-#define D3DFVF_TEXCOORDSIZE4(i) (D3DFVF_TEXTUREFORMAT4 << (i * 2 + 16))
-#define D3DFVF_TEXTUREFORMAT1 3
-#define D3DFVF_TEXTUREFORMAT2 0
-#define D3DFVF_TEXTUREFORMAT3 1
-#define D3DFVF_TEXTUREFORMAT4 2
-#define D3DFVF_LASTBETA_UBYTE4 0x1000
-#define D3DFVF_LASTBETA_D3DCOLOR 0x8000
-#define D3DFVF_RESERVED2 0x6000
-#define D3DDMAPSAMPLER 256
-#define D3DVERTEXTEXTURESAMPLER0 (D3DDMAPSAMPLER+1)
-#define D3DVERTEXTEXTURESAMPLER1 (D3DDMAPSAMPLER+2)
-#define D3DVERTEXTEXTURESAMPLER2 (D3DDMAPSAMPLER+3)
-#define D3DVERTEXTEXTURESAMPLER3 (D3DDMAPSAMPLER+4)
-#define D3DVS_ADDRESSMODE_SHIFT 13
-#define D3DVS_ADDRESSMODE_MASK (1 << D3DVS_ADDRESSMODE_SHIFT)
-#define D3DVS_SWIZZLE_SHIFT 16
-#define D3DVS_SWIZZLE_MASK 0x00FF0000
-#define D3DVS_X_X (0 << D3DVS_SWIZZLE_SHIFT)
-#define D3DVS_X_Y (1 << D3DVS_SWIZZLE_SHIFT)
-#define D3DVS_X_Z (2 << D3DVS_SWIZZLE_SHIFT)
-#define D3DVS_X_W (3 << D3DVS_SWIZZLE_SHIFT)
-#define D3DVS_Y_X (0 << (D3DVS_SWIZZLE_SHIFT + 2))
-#define D3DVS_Y_Y (1 << (D3DVS_SWIZZLE_SHIFT + 2))
-#define D3DVS_Y_Z (2 << (D3DVS_SWIZZLE_SHIFT + 2))
-#define D3DVS_Y_W (3 << (D3DVS_SWIZZLE_SHIFT + 2))
-#define D3DVS_Z_X (0 << (D3DVS_SWIZZLE_SHIFT + 4))
-#define D3DVS_Z_Y (1 << (D3DVS_SWIZZLE_SHIFT + 4))
-#define D3DVS_Z_Z (2 << (D3DVS_SWIZZLE_SHIFT + 4))
-#define D3DVS_Z_W (3 << (D3DVS_SWIZZLE_SHIFT + 4))
-#define D3DVS_W_X (0 << (D3DVS_SWIZZLE_SHIFT + 6))
-#define D3DVS_W_Y (1 << (D3DVS_SWIZZLE_SHIFT + 6))
-#define D3DVS_W_Z (2 << (D3DVS_SWIZZLE_SHIFT + 6))
-#define D3DVS_W_W (3 << (D3DVS_SWIZZLE_SHIFT + 6))
-#define D3DVS_NOSWIZZLE (D3DVS_X_X|D3DVS_Y_Y|D3DVS_Z_Z|D3DVS_W_W)
-#define D3DPRESENT_RATE_DEFAULT 0
-#define D3DRENDERSTATE_WRAPBIAS 128UL
-#define D3DSHADER_ADDRESSMODE_SHIFT 13
-#define D3DSHADER_ADDRESSMODE_MASK (1 << D3DSHADER_ADDRESSMODE_SHIFT)
-#define D3DSHADER_COMPARISON_SHIFT D3DSP_OPCODESPECIFICCONTROL_SHIFT
-#define D3DSHADER_COMPARISON_MASK (0x07 << D3DSHADER_COMPARISON_SHIFT)
-#define D3DSHADER_INSTRUCTION_PREDICATED 0x10000000
-#define D3DSI_COISSUE 0x40000000
-#define D3DSI_COMMENTSIZE_SHIFT 16
-#define D3DSI_COMMENTSIZE_MASK 0x7fff0000
-#define D3DSI_OPCODE_MASK 0xffff
-#define D3DSI_INSTLENGTH_MASK 0xf000000
-#define D3DSI_INSTLENGTH_SHIFT 24
-#define D3DSI_TEXLD_PROJECT (0x01 << D3DSP_OPCODESPECIFICCONTROL_SHIFT)
-#define D3DSI_TEXLD_BIAS (0x02 << D3DSP_OPCODESPECIFICCONTROL_SHIFT)
-#define D3DSINCOSCONST1 -1.5500992e-006f, -2.1701389e-005f, 0.0026041667f, 0.00026041668f
-#define D3DSINCOSCONST2 -0.020833334f, -0.12500000f, 1.0f, 0.50000000f
-#define D3DSP_OPCODESPECIFICCONTROL_MASK 0xff0000
-#define D3DSP_OPCODESPECIFICCONTROL_SHIFT 16
-#define D3DSP_DCL_USAGE_SHIFT 0
-#define D3DSP_DCL_USAGE_MASK 0x0000000f
-#define D3DSP_DCL_USAGEINDEX_SHIFT 16
-#define D3DSP_DCL_USAGEINDEX_MASK 0x000f0000
-#define D3DSP_TEXTURETYPE_SHIFT 27
-#define D3DSP_TEXTURETYPE_MASK 0x78000000
-#define D3DSP_REGNUM_MASK 0x7ff
-#define D3DSP_WRITEMASK_0 0x10000
-#define D3DSP_WRITEMASK_1 0x20000
-#define D3DSP_WRITEMASK_2 0x40000
-#define D3DSP_WRITEMASK_3 0x80000
-#define D3DSP_WRITEMASK_ALL 0xf0000
-#define D3DSP_DSTMOD_SHIFT 20
-#define D3DSP_DSTMOD_MASK 0xf00000
-#define D3DSPDM_NONE 0
-#define D3DSPDM_SATURATE (1 << D3DSP_DSTMOD_SHIFT)
-#define D3DSPDM_PARTIALPRECISION (2 << D3DSP_DSTMOD_SHIFT)
-#define D3DSPDM_MSAMPCENTROID (4 << D3DSP_DSTMOD_SHIFT)
-#define D3DSP_DSTSHIFT_SHIFT 24
-#define D3DSP_DSTSHIFT_MASK 0xf000000
-#define D3DSP_NOSWIZZLE ((0 << (D3DSP_SWIZZLE_SHIFT + 0)) | (1 << (D3DSP_SWIZZLE_SHIFT + 2)) | (2 << (D3DSP_SWIZZLE_SHIFT + 4)) | (3 << (D3DSP_SWIZZLE_SHIFT + 6)))
-#define D3DSP_REPLICATERED 0
-#define D3DSP_REPLICATEGREEN ((1 << (D3DSP_SWIZZLE_SHIFT + 0)) | (1 << (D3DSP_SWIZZLE_SHIFT + 2)) | (1 << (D3DSP_SWIZZLE_SHIFT + 4)) | (1 << (D3DSP_SWIZZLE_SHIFT + 6)))
-#define D3DSP_REPLICATEBLUE ((2 << (D3DSP_SWIZZLE_SHIFT + 0)) | (2 << (D3DSP_SWIZZLE_SHIFT + 2)) | (2 << (D3DSP_SWIZZLE_SHIFT + 4)) | (2 << (D3DSP_SWIZZLE_SHIFT + 6)))
-#define D3DSP_REPLICATEALPHA ((3 << (D3DSP_SWIZZLE_SHIFT + 0)) | (3 << (D3DSP_SWIZZLE_SHIFT + 2)) | (3 << (D3DSP_SWIZZLE_SHIFT + 4)) | (3 << (D3DSP_SWIZZLE_SHIFT + 6)))
-#define D3DSP_REGTYPE_SHIFT 28
-#define D3DSP_REGTYPE_SHIFT2 8
-#define D3DSP_REGTYPE_MASK 0x70000000
-#define D3DSP_REGTYPE_MASK2 0x1800
-#define D3DSP_SRCMOD_SHIFT 24
-#define D3DSP_SRCMOD_MASK 0xf000000
-#define D3DSP_SWIZZLE_SHIFT 16
-#define D3DSP_SWIZZLE_MASK 0xff0000
-#define D3DTS_WORLDMATRIX(index) (D3DTRANSFORMSTATETYPE)(index + 256)
-#define D3DTS_WORLD D3DTS_WORLDMATRIX(0)
-#define D3DTS_WORLD1 D3DTS_WORLDMATRIX(1)
-#define D3DTS_WORLD2 D3DTS_WORLDMATRIX(2)
-#define D3DTS_WORLD3 D3DTS_WORLDMATRIX(3)
-#define D3DTSS_TCI_PASSTHRU 0x00
-#define D3DTSS_TCI_CAMERASPACENORMAL 0x10000
-#define D3DTSS_TCI_CAMERASPACEPOSITION 0x20000
-#define D3DTSS_TCI_CAMERASPACEREFLECTIONVECTOR 0x30000
-#define D3DTSS_TCI_SPHEREMAP 0x40000
-#define D3DUSAGE_RENDERTARGET 0x01
-#define D3DUSAGE_DEPTHSTENCIL 0x02
-#define D3DUSAGE_WRITEONLY 0x08
-#define D3DUSAGE_SOFTWAREPROCESSING 0x10
-#define D3DUSAGE_DONOTCLIP 0x20
-#define D3DUSAGE_POINTS 0x40
-#define D3DUSAGE_RTPATCHES 0x80
-#define D3DUSAGE_NPATCHES 0x100
-#define D3DUSAGE_DYNAMIC 0x200
-#define D3DUSAGE_AUTOGENMIPMAP 0x400
-#define D3DUSAGE_DMAP 0x4000
-#define D3DUSAGE_QUERY_LEGACYBUMPMAP 0x8000
-#define D3DUSAGE_QUERY_SRGBREAD 0x10000
-#define D3DUSAGE_QUERY_FILTER 0x20000
-#define D3DUSAGE_QUERY_SRGBWRITE 0x40000
-#define D3DUSAGE_QUERY_POSTPIXELSHADER_BLENDING 0x80000
-#define D3DUSAGE_QUERY_VERTEXTEXTURE 0x100000
-#define D3DWRAP_U 0x01
-#define D3DWRAP_V 0x02
-#define D3DWRAP_W 0x04
-#define D3DWRAPCOORD_0 0x01
-#define D3DWRAPCOORD_1 0x02
-#define D3DWRAPCOORD_2 0x04
-#define D3DWRAPCOORD_3 0x08
-#define MAX_DEVICE_IDENTIFIER_STRING 512
-#define MAXD3DDECLLENGTH 64
-#define MAXD3DDECLMETHOD D3DDECLMETHOD_LOOKUPPRESAMPLED
-#define MAXD3DDECLTYPE D3DDECLTYPE_UNUSED
-#define MAXD3DDECLUSAGE D3DDECLUSAGE_SAMPLE
-#define MAXD3DDECLUSAGEINDEX 15
-#define D3DMAXUSERCLIPPLANES 32
-#define D3D_MAX_SIMULTANEOUS_RENDERTARGETS 4
-#define D3DPS_VERSION(major,minor) (0xffff0000 | ((major) << 8) | (minor))
-#define D3DVS_VERSION(major,minor) (0xfffe0000 | ((major) << 8) | (minor))
-#define D3DSHADER_VERSION_MAJOR(version) (((version) >> 8) & 0xff)
-#define D3DSHADER_VERSION_MINOR(version) (((version) >> 0) & 0xff)
-#define D3DSHADER_COMMENT(s) ((((s) << D3DSI_COMMENTSIZE_SHIFT) & D3DSI_COMMENTSIZE_MASK) | D3DSIO_COMMENT)
-#define D3DPS_END() 0xffff
-#define D3DVS_END() 0xffff
-#define D3DPRESENTFLAG_LOCKABLE_BACKBUFFER 0x01
-#define D3DPRESENTFLAG_DISCARD_DEPTHSTENCIL 0x02
-#define D3DPRESENTFLAG_DEVICECLIP 0x04
-#define D3DPRESENTFLAG_VIDEO 0x10
-#define D3DLOCK_READONLY 0x10
-#define D3DLOCK_NOSYSLOCK 0x800
-#define D3DLOCK_NOOVERWRITE 0x1000
-#define D3DLOCK_DISCARD 0x2000
-#define D3DLOCK_DONOTWAIT 0x4000
-#define D3DLOCK_NO_DIRTY_UPDATE 0x8000
-#define D3DISSUE_END 0x01
-#define D3DISSUE_BEGIN 0x02
-#define D3DGETDATA_FLUSH 0x01
-#define D3DRTYPECOUNT (D3DRTYPE_INDEXBUFFER+1)
-
-#define MAKEFOURCC(a,b,c,d) \
- ((DWORD)(BYTE)(a) | ((DWORD)(BYTE)(b) << 8) | \
- ((DWORD)(BYTE)(c) << 16) | ((DWORD)(BYTE)(d) << 24 ))
-
-typedef DWORD D3DCOLOR;
-
-typedef enum _D3DBACKBUFFER_TYPE {
- D3DBACKBUFFER_TYPE_MONO = 0,
- D3DBACKBUFFER_TYPE_LEFT = 1,
- D3DBACKBUFFER_TYPE_RIGHT = 2,
- D3DBACKBUFFER_TYPE_FORCE_DWORD = 0xffffffff
-} D3DBACKBUFFER_TYPE;
-
-typedef enum _D3DBASISTYPE {
- D3DBASIS_BEZIER = 0,
- D3DBASIS_BSPLINE = 1,
- D3DBASIS_INTERPOLATE = 2,
- D3DBASIS_FORCE_DWORD = 0xffffffff
-} D3DBASISTYPE;
-
-typedef enum _D3DBLEND {
- D3DBLEND_ZERO = 1,
- D3DBLEND_ONE = 2,
- D3DBLEND_SRCCOLOR = 3,
- D3DBLEND_INVSRCCOLOR = 4,
- D3DBLEND_SRCALPHA = 5,
- D3DBLEND_INVSRCALPHA = 6,
- D3DBLEND_DESTALPHA = 7,
- D3DBLEND_INVDESTALPHA = 8,
- D3DBLEND_DESTCOLOR = 9,
- D3DBLEND_INVDESTCOLOR = 10,
- D3DBLEND_SRCALPHASAT = 11,
- D3DBLEND_BOTHSRCALPHA = 12,
- D3DBLEND_BOTHINVSRCALPHA = 13,
- D3DBLEND_BLENDFACTOR = 14,
- D3DBLEND_INVBLENDFACTOR = 15,
- D3DBLEND_FORCE_DWORD = 0xffffffff
-} D3DBLEND;
-
-typedef enum _D3DBLENDOP {
- D3DBLENDOP_ADD = 1,
- D3DBLENDOP_SUBTRACT = 2,
- D3DBLENDOP_REVSUBTRACT = 3,
- D3DBLENDOP_MIN = 4,
- D3DBLENDOP_MAX = 5,
- D3DBLENDOP_FORCE_DWORD = 0x7fffffff
-} D3DBLENDOP;
-
-typedef enum _D3DCMPFUNC {
- D3DCMP_NEVER = 1,
- D3DCMP_LESS = 2,
- D3DCMP_EQUAL = 3,
- D3DCMP_LESSEQUAL = 4,
- D3DCMP_GREATER = 5,
- D3DCMP_NOTEQUAL = 6,
- D3DCMP_GREATEREQUAL = 7,
- D3DCMP_ALWAYS = 8,
- D3DCMP_FORCE_DWORD = 0xffffffff
-} D3DCMPFUNC;
-
-typedef enum _D3DCUBEMAP_FACES {
- D3DCUBEMAP_FACE_POSITIVE_X = 0,
- D3DCUBEMAP_FACE_NEGATIVE_X = 1,
- D3DCUBEMAP_FACE_POSITIVE_Y = 2,
- D3DCUBEMAP_FACE_NEGATIVE_Y = 3,
- D3DCUBEMAP_FACE_POSITIVE_Z = 4,
- D3DCUBEMAP_FACE_NEGATIVE_Z = 5,
- D3DCUBEMAP_FACE_FORCE_DWORD = 0xffffffff
-} D3DCUBEMAP_FACES;
-
-typedef enum _D3DCULL {
- D3DCULL_NONE = 1,
- D3DCULL_CW = 2,
- D3DCULL_CCW = 3,
- D3DCULL_FORCE_DWORD = 0xffffffff
-} D3DCULL;
-
-typedef enum _D3DDEBUGMONITORTOKENS {
- D3DDMT_ENABLE = 0,
- D3DDMT_DISABLE = 1,
- D3DDMT_FORCE_DWORD = 0xffffffff
-} D3DDEBUGMONITORTOKENS;
-
-typedef enum _D3DDECLMETHOD
-{
- D3DDECLMETHOD_DEFAULT = 0,
- D3DDECLMETHOD_PARTIALU = 1,
- D3DDECLMETHOD_PARTIALV = 2,
- D3DDECLMETHOD_CROSSUV = 3,
- D3DDECLMETHOD_UV = 4,
- D3DDECLMETHOD_LOOKUP = 5,
- D3DDECLMETHOD_LOOKUPPRESAMPLED = 6
-} D3DDECLMETHOD;
-
-typedef enum _D3DDECLTYPE
-{
- D3DDECLTYPE_FLOAT1 = 0,
- D3DDECLTYPE_FLOAT2 = 1,
- D3DDECLTYPE_FLOAT3 = 2,
- D3DDECLTYPE_FLOAT4 = 3,
- D3DDECLTYPE_D3DCOLOR = 4,
- D3DDECLTYPE_UBYTE4 = 5,
- D3DDECLTYPE_SHORT2 = 6,
- D3DDECLTYPE_SHORT4 = 7,
- D3DDECLTYPE_UBYTE4N = 8,
- D3DDECLTYPE_SHORT2N = 9,
- D3DDECLTYPE_SHORT4N = 10,
- D3DDECLTYPE_USHORT2N = 11,
- D3DDECLTYPE_USHORT4N = 12,
- D3DDECLTYPE_UDEC3 = 13,
- D3DDECLTYPE_DEC3N = 14,
- D3DDECLTYPE_FLOAT16_2 = 15,
- D3DDECLTYPE_FLOAT16_4 = 16,
- D3DDECLTYPE_UNUSED = 17,
-} D3DDECLTYPE;
-
-typedef enum _D3DDECLUSAGE
-{
- D3DDECLUSAGE_POSITION = 0,
- D3DDECLUSAGE_BLENDWEIGHT = 1,
- D3DDECLUSAGE_BLENDINDICES = 2,
- D3DDECLUSAGE_NORMAL = 3,
- D3DDECLUSAGE_PSIZE = 4,
- D3DDECLUSAGE_TEXCOORD = 5,
- D3DDECLUSAGE_TANGENT = 6,
- D3DDECLUSAGE_BINORMAL = 7,
- D3DDECLUSAGE_TESSFACTOR = 8,
- D3DDECLUSAGE_POSITIONT = 9,
- D3DDECLUSAGE_COLOR = 10,
- D3DDECLUSAGE_FOG = 11,
- D3DDECLUSAGE_DEPTH = 12,
- D3DDECLUSAGE_SAMPLE = 13
-} D3DDECLUSAGE;
-
-typedef enum _D3DDEGREETYPE {
- D3DDEGREE_LINEAR = 1,
- D3DDEGREE_QUADRATIC = 2,
- D3DDEGREE_CUBIC = 3,
- D3DDEGREE_QUINTIC = 5,
- D3DDEGREE_FORCE_DWORD = 0xffffffff,
-} D3DDEGREETYPE;
-
-typedef enum _D3DDEVTYPE {
- D3DDEVTYPE_HAL = 1,
- D3DDEVTYPE_REF = 2,
- D3DDEVTYPE_SW = 3,
- D3DDEVTYPE_FORCE_DWORD = 0xffffffff
-} D3DDEVTYPE;
-
-typedef enum _D3DFILLMODE {
- D3DFILL_POINT = 1,
- D3DFILL_WIREFRAME = 2,
- D3DFILL_SOLID = 3,
- D3DFILL_FORCE_DWORD = 0xffffffff
-} D3DFILLMODE;
-
-typedef enum _D3DFOGMODE {
- D3DFOG_NONE = 0,
- D3DFOG_EXP = 1,
- D3DFOG_EXP2 = 2,
- D3DFOG_LINEAR = 3,
- D3DFOG_FORCE_DWORD = 0xffffffff
-} D3DFOGMODE;
-
-typedef enum _D3DFORMAT {
- D3DFMT_UNKNOWN = 0,
- D3DFMT_R8G8B8 = 20,
- D3DFMT_A8R8G8B8 = 21,
- D3DFMT_X8R8G8B8 = 22,
- D3DFMT_R5G6B5 = 23,
- D3DFMT_X1R5G5B5 = 24,
- D3DFMT_A1R5G5B5 = 25,
- D3DFMT_A4R4G4B4 = 26,
- D3DFMT_R3G3B2 = 27,
- D3DFMT_A8 = 28,
- D3DFMT_A8R3G3B2 = 29,
- D3DFMT_X4R4G4B4 = 30,
- D3DFMT_A2B10G10R10 = 31,
- D3DFMT_A8B8G8R8 = 32,
- D3DFMT_X8B8G8R8 = 33,
- D3DFMT_G16R16 = 34,
- D3DFMT_A2R10G10B10 = 35,
- D3DFMT_A16B16G16R16 = 36,
- D3DFMT_A8P8 = 40,
- D3DFMT_P8 = 41,
- D3DFMT_L8 = 50,
- D3DFMT_A8L8 = 51,
- D3DFMT_A4L4 = 52,
- D3DFMT_V8U8 = 60,
- D3DFMT_L6V5U5 = 61,
- D3DFMT_X8L8V8U8 = 62,
- D3DFMT_Q8W8V8U8 = 63,
- D3DFMT_V16U16 = 64,
- D3DFMT_A2W10V10U10 = 67,
- D3DFMT_UYVY = MAKEFOURCC('U','Y','V','Y'),
- D3DFMT_R8G8_B8G8 = MAKEFOURCC('R','G','B','G'),
- D3DFMT_YUY2 = MAKEFOURCC('Y','U','Y','2'),
- D3DFMT_G8R8_G8B8 = MAKEFOURCC('G','R','G','B'),
- D3DFMT_DXT1 = MAKEFOURCC('D','X','T','1'),
- D3DFMT_DXT2 = MAKEFOURCC('D','X','T','2'),
- D3DFMT_DXT3 = MAKEFOURCC('D','X','T','3'),
- D3DFMT_DXT4 = MAKEFOURCC('D','X','T','4'),
- D3DFMT_DXT5 = MAKEFOURCC('D','X','T','5'),
- D3DFMT_D16_LOCKABLE = 70,
- D3DFMT_D32 = 71,
- D3DFMT_D15S1 = 73,
- D3DFMT_D24S8 = 75,
- D3DFMT_D24X8 = 77,
- D3DFMT_D24X4S4 = 79,
- D3DFMT_D16 = 80,
- D3DFMT_L16 = 81,
- D3DFMT_D32F_LOCKABLE = 82,
- D3DFMT_D24FS8 = 83,
- D3DFMT_VERTEXDATA = 100,
- D3DFMT_INDEX16 = 101,
- D3DFMT_INDEX32 = 102,
- D3DFMT_Q16W16V16U16 = 110,
- D3DFMT_MULTI2_ARGB8 = MAKEFOURCC('M','E','T','1'),
- D3DFMT_R16F = 111,
- D3DFMT_G16R16F = 112,
- D3DFMT_A16B16G16R16F = 113,
- D3DFMT_R32F = 114,
- D3DFMT_G32R32F = 115,
- D3DFMT_A32B32G32R32F = 116,
- D3DFMT_CxV8U8 = 117,
- D3DFMT_FORCE_DWORD = 0xffffffff
-} D3DFORMAT;
-
-typedef enum _D3DLIGHTTYPE {
- D3DLIGHT_POINT = 1,
- D3DLIGHT_SPOT = 2,
- D3DLIGHT_DIRECTIONAL = 3,
- D3DLIGHT_FORCE_DWORD = 0xffffffff
-} D3DLIGHTTYPE;
-
-typedef enum _D3DMATERIALCOLORSOURCE
-{
- D3DMCS_MATERIAL = 0,
- D3DMCS_COLOR1 = 1,
- D3DMCS_COLOR2 = 2,
- D3DMCS_FORCE_DWORD = 0xffffffff
-} D3DMATERIALCOLORSOURCE;
-
-typedef enum _D3DMULTISAMPLE_TYPE {
- D3DMULTISAMPLE_NONE = 0,
- D3DMULTISAMPLE_NONMASKABLE = 1,
- D3DMULTISAMPLE_2_SAMPLES = 2,
- D3DMULTISAMPLE_3_SAMPLES = 3,
- D3DMULTISAMPLE_4_SAMPLES = 4,
- D3DMULTISAMPLE_5_SAMPLES = 5,
- D3DMULTISAMPLE_6_SAMPLES = 6,
- D3DMULTISAMPLE_7_SAMPLES = 7,
- D3DMULTISAMPLE_8_SAMPLES = 8,
- D3DMULTISAMPLE_9_SAMPLES = 9,
- D3DMULTISAMPLE_10_SAMPLES = 10,
- D3DMULTISAMPLE_11_SAMPLES = 11,
- D3DMULTISAMPLE_12_SAMPLES = 12,
- D3DMULTISAMPLE_13_SAMPLES = 13,
- D3DMULTISAMPLE_14_SAMPLES = 14,
- D3DMULTISAMPLE_15_SAMPLES = 15,
- D3DMULTISAMPLE_16_SAMPLES = 16,
- D3DMULTISAMPLE_FORCE_DWORD = 0xffffffff
-} D3DMULTISAMPLE_TYPE;
-
-typedef enum _D3DORDERTYPE {
- D3DORDER_LINEAR = 1,
- D3DORDER_QUADRATIC = 2,
- D3DORDER_CUBIC = 3,
- D3DORDER_QUINTIC = 5,
- D3DORDER_FORCE_DWORD = 0xffffffff
-} D3DORDERTYPE;
-
-typedef enum _D3DPATCHEDGESTYLE
-{
- D3DPATCHEDGE_DISCRETE = 0,
- D3DPATCHEDGE_CONTINUOUS = 1,
- D3DPATCHEDGE_FORCE_DWORD = 0xffffffff
-} D3DPATCHEDGESTYLE;
-
-typedef enum _D3DPOOL {
- D3DPOOL_DEFAULT = 0,
- D3DPOOL_MANAGED = 1,
- D3DPOOL_SYSTEMMEM = 2,
- D3DPOOL_SCRATCH = 3,
- D3DPOOL_FORCE_DWORD = 0xffffffff
-} D3DPOOL;
-
-typedef enum _D3DPRIMITIVETYPE {
- D3DPT_POINTLIST = 1,
- D3DPT_LINELIST = 2,
- D3DPT_LINESTRIP = 3,
- D3DPT_TRIANGLELIST = 4,
- D3DPT_TRIANGLESTRIP = 5,
- D3DPT_TRIANGLEFAN = 6,
- D3DPT_FORCE_DWORD = 0xffffffff
-} D3DPRIMITIVETYPE;
-
-typedef enum _D3DQUERYTYPE {
- D3DQUERYTYPE_VCACHE = 4,
- D3DQUERYTYPE_RESOURCEMANAGER = 5,
- D3DQUERYTYPE_VERTEXSTATS = 6,
- D3DQUERYTYPE_EVENT = 8,
- D3DQUERYTYPE_OCCLUSION = 9
-} D3DQUERYTYPE;
-
-typedef enum _D3DRENDERSTATETYPE {
- D3DRS_ZENABLE = 7,
- D3DRS_FILLMODE = 8,
- D3DRS_SHADEMODE = 9,
- D3DRS_ZWRITEENABLE = 14,
- D3DRS_ALPHATESTENABLE = 15,
- D3DRS_LASTPIXEL = 16,
- D3DRS_SRCBLEND = 19,
- D3DRS_DESTBLEND = 20,
- D3DRS_CULLMODE = 22,
- D3DRS_ZFUNC = 23,
- D3DRS_ALPHAREF = 24,
- D3DRS_ALPHAFUNC = 25,
- D3DRS_DITHERENABLE = 26,
- D3DRS_ALPHABLENDENABLE = 27,
- D3DRS_FOGENABLE = 28,
- D3DRS_SPECULARENABLE = 29,
- D3DRS_FOGCOLOR = 34,
- D3DRS_FOGTABLEMODE = 35,
- D3DRS_FOGSTART = 36,
- D3DRS_FOGEND = 37,
- D3DRS_FOGDENSITY = 38,
- D3DRS_RANGEFOGENABLE = 48,
- D3DRS_STENCILENABLE = 52,
- D3DRS_STENCILFAIL = 53,
- D3DRS_STENCILZFAIL = 54,
- D3DRS_STENCILPASS = 55,
- D3DRS_STENCILFUNC = 56,
- D3DRS_STENCILREF = 57,
- D3DRS_STENCILMASK = 58,
- D3DRS_STENCILWRITEMASK = 59,
- D3DRS_TEXTUREFACTOR = 60,
- D3DRS_WRAP0 = 128,
- D3DRS_WRAP1 = 129,
- D3DRS_WRAP2 = 130,
- D3DRS_WRAP3 = 131,
- D3DRS_WRAP4 = 132,
- D3DRS_WRAP5 = 133,
- D3DRS_WRAP6 = 134,
- D3DRS_WRAP7 = 135,
- D3DRS_CLIPPING = 136,
- D3DRS_LIGHTING = 137,
- D3DRS_AMBIENT = 139,
- D3DRS_FOGVERTEXMODE = 140,
- D3DRS_COLORVERTEX = 141,
- D3DRS_LOCALVIEWER = 142,
- D3DRS_NORMALIZENORMALS = 143,
- D3DRS_DIFFUSEMATERIALSOURCE = 145,
- D3DRS_SPECULARMATERIALSOURCE = 146,
- D3DRS_AMBIENTMATERIALSOURCE = 147,
- D3DRS_EMISSIVEMATERIALSOURCE = 148,
- D3DRS_VERTEXBLEND = 151,
- D3DRS_CLIPPLANEENABLE = 152,
- D3DRS_POINTSIZE = 154,
- D3DRS_POINTSIZE_MIN = 155,
- D3DRS_POINTSPRITEENABLE = 156,
- D3DRS_POINTSCALEENABLE = 157,
- D3DRS_POINTSCALE_A = 158,
- D3DRS_POINTSCALE_B = 159,
- D3DRS_POINTSCALE_C = 160,
- D3DRS_MULTISAMPLEANTIALIAS = 161,
- D3DRS_MULTISAMPLEMASK = 162,
- D3DRS_PATCHEDGESTYLE = 163,
- D3DRS_DEBUGMONITORTOKEN = 165,
- D3DRS_POINTSIZE_MAX = 166,
- D3DRS_INDEXEDVERTEXBLENDENABLE = 167,
- D3DRS_COLORWRITEENABLE = 168,
- D3DRS_TWEENFACTOR = 170,
- D3DRS_BLENDOP = 171,
- D3DRS_POSITIONDEGREE = 172,
- D3DRS_NORMALDEGREE = 173,
- D3DRS_SCISSORTESTENABLE = 174,
- D3DRS_SLOPESCALEDEPTHBIAS = 175,
- D3DRS_ANTIALIASEDLINEENABLE = 176,
- D3DRS_MINTESSELLATIONLEVEL = 178,
- D3DRS_MAXTESSELLATIONLEVEL = 179,
- D3DRS_ADAPTIVETESS_X = 180,
- D3DRS_ADAPTIVETESS_Y = 181,
- D3DRS_ADAPTIVETESS_Z = 182,
- D3DRS_ADAPTIVETESS_W = 183,
- D3DRS_ENABLEADAPTIVETESSELLATION = 184,
- D3DRS_TWOSIDEDSTENCILMODE = 185,
- D3DRS_CCW_STENCILFAIL = 186,
- D3DRS_CCW_STENCILZFAIL = 187,
- D3DRS_CCW_STENCILPASS = 188,
- D3DRS_CCW_STENCILFUNC = 189,
- D3DRS_COLORWRITEENABLE1 = 190,
- D3DRS_COLORWRITEENABLE2 = 191,
- D3DRS_COLORWRITEENABLE3 = 192,
- D3DRS_BLENDFACTOR = 193,
- D3DRS_SRGBWRITEENABLE = 194,
- D3DRS_DEPTHBIAS = 195,
- D3DRS_WRAP8 = 198,
- D3DRS_WRAP9 = 199,
- D3DRS_WRAP10 = 200,
- D3DRS_WRAP11 = 201,
- D3DRS_WRAP12 = 202,
- D3DRS_WRAP13 = 203,
- D3DRS_WRAP14 = 204,
- D3DRS_WRAP15 = 205,
- D3DRS_SEPARATEALPHABLENDENABLE = 206,
- D3DRS_SRCBLENDALPHA = 207,
- D3DRS_DESTBLENDALPHA = 208,
- D3DRS_BLENDOPALPHA = 209,
- D3DRS_FORCE_DWORD = 0xffffffff
-} D3DRENDERSTATETYPE;
-
-typedef enum _D3DRESOURCETYPE {
- D3DRTYPE_SURFACE = 1,
- D3DRTYPE_VOLUME = 2,
- D3DRTYPE_TEXTURE = 3,
- D3DRTYPE_VOLUMETEXTURE = 4,
- D3DRTYPE_CUBETEXTURE = 5,
- D3DRTYPE_VERTEXBUFFER = 6,
- D3DRTYPE_INDEXBUFFER = 7,
- D3DRTYPE_FORCE_DWORD = 0xffffffff
-} D3DRESOURCETYPE;
-
-typedef enum _D3DSAMPLER_TEXTURE_TYPE
-{
- D3DSTT_UNKNOWN = 0 << D3DSP_TEXTURETYPE_SHIFT,
- D3DSTT_2D = 2 << D3DSP_TEXTURETYPE_SHIFT,
- D3DSTT_CUBE = 3 << D3DSP_TEXTURETYPE_SHIFT,
- D3DSTT_VOLUME = 4 << D3DSP_TEXTURETYPE_SHIFT,
- D3DSTT_FORCE_DWORD = 0xffffffff
-} D3DSAMPLER_TEXTURE_TYPE;
-
-typedef enum _D3DSAMPLERSTATETYPE {
- D3DSAMP_ADDRESSU = 1,
- D3DSAMP_ADDRESSV = 2,
- D3DSAMP_ADDRESSW = 3,
- D3DSAMP_BORDERCOLOR = 4,
- D3DSAMP_MAGFILTER = 5,
- D3DSAMP_MINFILTER = 6,
- D3DSAMP_MIPFILTER = 7,
- D3DSAMP_MIPMAPLODBIAS = 8,
- D3DSAMP_MAXMIPLEVEL = 9,
- D3DSAMP_MAXANISOTROPY = 10,
- D3DSAMP_SRGBTEXTURE = 11,
- D3DSAMP_ELEMENTINDEX = 12,
- D3DSAMP_DMAPOFFSET = 13,
- D3DSAMP_FORCE_DWORD = 0xffffffff,
-} D3DSAMPLERSTATETYPE;
-
-typedef enum _D3DSHADEMODE {
- D3DSHADE_FLAT = 1,
- D3DSHADE_GOURAUD = 2,
- D3DSHADE_PHONG = 3,
- D3DSHADE_FORCE_DWORD = 0xffffffff
-} D3DSHADEMODE;
-
-typedef enum _D3DSHADER_ADDRESSMODE_TYPE
-{
- D3DSHADER_ADDRMODE_ABSOLUTE = (0 << D3DSHADER_ADDRESSMODE_SHIFT),
- D3DSHADER_ADDRMODE_RELATIVE = (1 << D3DSHADER_ADDRESSMODE_SHIFT),
- D3DSHADER_ADDRMODE_FORCE_DWORD = 0xffffffff
-} D3DSHADER_ADDRESSMODE_TYPE;
-
-typedef enum _D3DSHADER_COMPARISON
-{
- D3DSPC_RESERVED0 = 0,
- D3DSPC_GT = 1,
- D3DSPC_EQ = 2,
- D3DSPC_GE = 3,
- D3DSPC_LT = 4,
- D3DSPC_NE = 5,
- D3DSPC_LE = 6,
- D3DSPC_RESERVED1 = 7
-} D3DSHADER_COMPARISON;
-
-typedef enum _D3DSHADER_INSTRUCTION_OPCODE_TYPE
-{
- D3DSIO_NOP = 0,
- D3DSIO_MOV = 1,
- D3DSIO_ADD = 2,
- D3DSIO_SUB = 3,
- D3DSIO_MAD = 4,
- D3DSIO_MUL = 5,
- D3DSIO_RCP = 6,
- D3DSIO_RSQ = 7,
- D3DSIO_DP3 = 8,
- D3DSIO_DP4 = 9,
- D3DSIO_MIN = 10,
- D3DSIO_MAX = 11,
- D3DSIO_SLT = 12,
- D3DSIO_SGE = 13,
- D3DSIO_EXP = 14,
- D3DSIO_LOG = 15,
- D3DSIO_LIT = 16,
- D3DSIO_DST = 17,
- D3DSIO_LRP = 18,
- D3DSIO_FRC = 19,
- D3DSIO_M4x4 = 20,
- D3DSIO_M4x3 = 21,
- D3DSIO_M3x4 = 22,
- D3DSIO_M3x3 = 23,
- D3DSIO_M3x2 = 24,
- D3DSIO_CALL = 25,
- D3DSIO_CALLNZ = 26,
- D3DSIO_LOOP = 27,
- D3DSIO_RET = 28,
- D3DSIO_ENDLOOP = 29,
- D3DSIO_LABEL = 30,
- D3DSIO_DCL = 31,
- D3DSIO_POW = 32,
- D3DSIO_CRS = 33,
- D3DSIO_SGN = 34,
- D3DSIO_ABS = 35,
- D3DSIO_NRM = 36,
- D3DSIO_SINCOS = 37,
- D3DSIO_REP = 38,
- D3DSIO_ENDREP = 39,
- D3DSIO_IF = 40,
- D3DSIO_IFC = 41,
- D3DSIO_ELSE = 42,
- D3DSIO_ENDIF = 43,
- D3DSIO_BREAK = 44,
- D3DSIO_BREAKC = 45,
- D3DSIO_MOVA = 46,
- D3DSIO_DEFB = 47,
- D3DSIO_DEFI = 48,
- D3DSIO_TEXCOORD = 64,
- D3DSIO_TEXKILL = 65,
- D3DSIO_TEX = 66,
- D3DSIO_TEXBEM = 67,
- D3DSIO_TEXBEML = 68,
- D3DSIO_TEXREG2AR = 69,
- D3DSIO_TEXREG2GB = 70,
- D3DSIO_TEXM3x2PAD = 71,
- D3DSIO_TEXM3x2TEX = 72,
- D3DSIO_TEXM3x3PAD = 73,
- D3DSIO_TEXM3x3TEX = 74,
- D3DSIO_RESERVED0 = 75,
- D3DSIO_TEXM3x3SPEC = 76,
- D3DSIO_TEXM3x3VSPEC = 77,
- D3DSIO_EXPP = 78,
- D3DSIO_LOGP = 79,
- D3DSIO_CND = 80,
- D3DSIO_DEF = 81,
- D3DSIO_TEXREG2RGB = 82,
- D3DSIO_TEXDP3TEX = 83,
- D3DSIO_TEXM3x2DEPTH = 84,
- D3DSIO_TEXDP3 = 85,
- D3DSIO_TEXM3x3 = 86,
- D3DSIO_TEXDEPTH = 87,
- D3DSIO_CMP = 88,
- D3DSIO_BEM = 89,
- D3DSIO_DP2ADD = 90,
- D3DSIO_DSX = 91,
- D3DSIO_DSY = 92,
- D3DSIO_TEXLDD = 93,
- D3DSIO_SETP = 94,
- D3DSIO_TEXLDL = 95,
- D3DSIO_BREAKP = 96,
- D3DSIO_PHASE = 0xfffd,
- D3DSIO_COMMENT = 0xfffe,
- D3DSIO_END = 0xffff,
- D3DSIO_FORCE_DWORD = 0xffffffff
-} D3DSHADER_INSTRUCTION_OPCODE_TYPE;
-
-typedef enum _D3DSHADER_MISCTYPE_OFFSETS
-{
- D3DSMO_POSITION = 0,
- D3DSMO_FACE = 1
-} D3DSHADER_MISCTYPE_OFFSETS;
-
-typedef enum _D3DSHADER_PARAM_REGISTER_TYPE
-{
- D3DSPR_TEMP = 0,
- D3DSPR_INPUT = 1,
- D3DSPR_CONST = 2,
- D3DSPR_ADDR = 3,
- D3DSPR_TEXTURE = 3,
- D3DSPR_RASTOUT = 4,
- D3DSPR_ATTROUT = 5,
- D3DSPR_TEXCRDOUT = 6,
- D3DSPR_OUTPUT = 6,
- D3DSPR_CONSTINT = 7,
- D3DSPR_COLOROUT = 8,
- D3DSPR_DEPTHOUT = 9,
- D3DSPR_SAMPLER = 10,
- D3DSPR_CONST2 = 11,
- D3DSPR_CONST3 = 12,
- D3DSPR_CONST4 = 13,
- D3DSPR_CONSTBOOL = 14,
- D3DSPR_LOOP = 15,
- D3DSPR_TEMPFLOAT16 = 16,
- D3DSPR_MISCTYPE = 17,
- D3DSPR_LABEL = 18,
- D3DSPR_PREDICATE = 19,
- D3DSPR_FORCE_DWORD = 0xffffffff
-} D3DSHADER_PARAM_REGISTER_TYPE;
-
-typedef enum _D3DSHADER_PARAM_SRCMOD_TYPE
-{
- D3DSPSM_NONE = 0 << D3DSP_SRCMOD_SHIFT,
- D3DSPSM_NEG = 1 << D3DSP_SRCMOD_SHIFT,
- D3DSPSM_BIAS = 2 << D3DSP_SRCMOD_SHIFT,
- D3DSPSM_BIASNEG = 3 << D3DSP_SRCMOD_SHIFT,
- D3DSPSM_SIGN = 4 << D3DSP_SRCMOD_SHIFT,
- D3DSPSM_SIGNNEG = 5 << D3DSP_SRCMOD_SHIFT,
- D3DSPSM_COMP = 6 << D3DSP_SRCMOD_SHIFT,
- D3DSPSM_X2 = 7 << D3DSP_SRCMOD_SHIFT,
- D3DSPSM_X2NEG = 8 << D3DSP_SRCMOD_SHIFT,
- D3DSPSM_DZ = 9 << D3DSP_SRCMOD_SHIFT,
- D3DSPSM_DW = 10 << D3DSP_SRCMOD_SHIFT,
- D3DSPSM_ABS = 11 << D3DSP_SRCMOD_SHIFT,
- D3DSPSM_ABSNEG = 12 << D3DSP_SRCMOD_SHIFT,
- D3DSPSM_NOT = 13 << D3DSP_SRCMOD_SHIFT,
- D3DSPSM_FORCE_DWORD = 0xffffffff
-} D3DSHADER_PARAM_SRCMOD_TYPE;
-
-typedef enum _D3DVS_ADDRESSMODE_TYPE
-{
- D3DVS_ADDRMODE_ABSOLUTE = (0 << D3DVS_ADDRESSMODE_SHIFT),
- D3DVS_ADDRMODE_RELATIVE = (1 << D3DVS_ADDRESSMODE_SHIFT),
- D3DVS_ADDRMODE_FORCE_DWORD = 0xffffffff
-} D3DVS_ADDRESSMODE_TYPE;
-
-typedef enum _D3DVS_RASTOUT_OFFSETS
-{
- D3DSRO_POSITION = 0,
- D3DSRO_FOG = 1,
- D3DSRO_POINT_SIZE = 2,
- D3DSRO_FORCE_DWORD = 0xffffffff
-} D3DVS_RASTOUT_OFFSETS;
-
-typedef enum _D3DSTENCILOP {
- D3DSTENCILOP_KEEP = 1,
- D3DSTENCILOP_ZERO = 2,
- D3DSTENCILOP_REPLACE = 3,
- D3DSTENCILOP_INCRSAT = 4,
- D3DSTENCILOP_DECRSAT = 5,
- D3DSTENCILOP_INVERT = 6,
- D3DSTENCILOP_INCR = 7,
- D3DSTENCILOP_DECR = 8,
- D3DSTENCILOP_FORCE_DWORD = 0x7fffffff
-} D3DSTENCILOP;
-
-typedef enum _D3DSTATEBLOCKTYPE {
- D3DSBT_ALL = 1,
- D3DSBT_PIXELSTATE = 2,
- D3DSBT_VERTEXSTATE = 3,
- D3DSBT_FORCE_DWORD = 0xffffffff
-} D3DSTATEBLOCKTYPE;
-
-typedef enum _D3DSWAPEFFECT {
- D3DSWAPEFFECT_DISCARD = 1,
- D3DSWAPEFFECT_FLIP = 2,
- D3DSWAPEFFECT_COPY = 3,
- D3DSWAPEFFECT_COPY_VSYNC = 4,
- D3DSWAPEFFECT_FORCE_DWORD = 0xffffffff
-} D3DSWAPEFFECT;
-
-typedef enum _D3DTEXTUREADDRESS {
- D3DTADDRESS_WRAP = 1,
- D3DTADDRESS_MIRROR = 2,
- D3DTADDRESS_CLAMP = 3,
- D3DTADDRESS_BORDER = 4,
- D3DTADDRESS_MIRRORONCE = 5,
- D3DTADDRESS_FORCE_DWORD = 0xffffffff
-} D3DTEXTUREADDRESS;
-
-typedef enum _D3DTEXTUREFILTERTYPE {
- D3DTEXF_NONE = 0,
- D3DTEXF_POINT = 1,
- D3DTEXF_LINEAR = 2,
- D3DTEXF_ANISOTROPIC = 3,
- D3DTEXF_PYRAMIDALQUAD = 6,
- D3DTEXF_GAUSSIANQUAD = 7,
- D3DTEXF_FORCE_DWORD = 0xffffffff
-} D3DTEXTUREFILTERTYPE;
-
-typedef enum _D3DTEXTURESTAGESTATETYPE {
- D3DTSS_COLOROP = 1,
- D3DTSS_COLORARG1 = 2,
- D3DTSS_COLORARG2 = 3,
- D3DTSS_ALPHAOP = 4,
- D3DTSS_ALPHAARG1 = 5,
- D3DTSS_ALPHAARG2 = 6,
- D3DTSS_BUMPENVMAT00 = 7,
- D3DTSS_BUMPENVMAT01 = 8,
- D3DTSS_BUMPENVMAT10 = 9,
- D3DTSS_BUMPENVMAT11 = 10,
- D3DTSS_TEXCOORDINDEX = 11,
- D3DTSS_BUMPENVLSCALE = 22,
- D3DTSS_BUMPENVLOFFSET = 23,
- D3DTSS_TEXTURETRANSFORMFLAGS = 24,
- D3DTSS_ADDRESSW = 25,
- D3DTSS_COLORARG0 = 26,
- D3DTSS_ALPHAARG0 = 27,
- D3DTSS_RESULTARG = 28,
- D3DTSS_CONSTANT = 32,
- D3DTSS_FORCE_DWORD = 0xffffffff
-} D3DTEXTURESTAGESTATETYPE;
-
-typedef enum _D3DTEXTUREOP {
- D3DTOP_DISABLE = 1,
- D3DTOP_SELECTARG1 = 2,
- D3DTOP_SELECTARG2 = 3,
- D3DTOP_MODULATE = 4,
- D3DTOP_MODULATE2X = 5,
- D3DTOP_MODULATE4X = 6,
- D3DTOP_ADD = 7,
- D3DTOP_ADDSIGNED = 8,
- D3DTOP_ADDSIGNED2X = 9,
- D3DTOP_SUBTRACT = 10,
- D3DTOP_ADDSMOOTH = 11,
- D3DTOP_BLENDDIFFUSEALPHA = 12,
- D3DTOP_BLENDTEXTUREALPHA = 13,
- D3DTOP_BLENDFACTORALPHA = 14,
- D3DTOP_BLENDTEXTUREALPHAPM = 15,
- D3DTOP_BLENDCURRENTALPHA = 16,
- D3DTOP_PREMODULATE = 17,
- D3DTOP_MODULATEALPHA_ADDCOLOR = 18,
- D3DTOP_MODULATECOLOR_ADDALPHA = 19,
- D3DTOP_MODULATEINVALPHA_ADDCOLOR = 20,
- D3DTOP_MODULATEINVCOLOR_ADDALPHA = 21,
- D3DTOP_BUMPENVMAP = 22,
- D3DTOP_BUMPENVMAPLUMINANCE = 23,
- D3DTOP_DOTPRODUCT3 = 24,
- D3DTOP_MULTIPLYADD = 25,
- D3DTOP_LERP = 26,
- D3DTOP_FORCE_DWORD = 0xffffffff,
-} D3DTEXTUREOP;
-
-typedef enum _D3DTEXTURETRANSFORMFLAGS {
- D3DTTFF_DISABLE = 0,
- D3DTTFF_COUNT1 = 1,
- D3DTTFF_COUNT2 = 2,
- D3DTTFF_COUNT3 = 3,
- D3DTTFF_COUNT4 = 4,
- D3DTTFF_PROJECTED = 256,
- D3DTTFF_FORCE_DWORD = 0xffffffff,
-} D3DTEXTURETRANSFORMFLAGS;
-
-typedef enum _D3DTRANSFORMSTATETYPE {
- D3DTS_VIEW = 2,
- D3DTS_PROJECTION = 3,
- D3DTS_TEXTURE0 = 16,
- D3DTS_TEXTURE1 = 17,
- D3DTS_TEXTURE2 = 18,
- D3DTS_TEXTURE3 = 19,
- D3DTS_TEXTURE4 = 20,
- D3DTS_TEXTURE5 = 21,
- D3DTS_TEXTURE6 = 22,
- D3DTS_TEXTURE7 = 23,
- D3DTS_FORCE_DWORD = 0xffffffff
-} D3DTRANSFORMSTATETYPE;
-
-typedef enum _D3DVERTEXBLENDFLAGS
-{
- D3DVBF_DISABLE = 0,
- D3DVBF_1WEIGHTS = 1,
- D3DVBF_2WEIGHTS = 2,
- D3DVBF_3WEIGHTS = 3,
- D3DVBF_TWEENING = 255,
- D3DVBF_0WEIGHTS = 256,
- D3DVBF_FORCE_DWORD = 0xffffffff
-} D3DVERTEXBLENDFLAGS;
-
-typedef enum _D3DZBUFFERTYPE {
- D3DZB_FALSE = 0,
- D3DZB_TRUE = 1,
- D3DZB_USEW = 2,
- D3DZB_FORCE_DWORD = 0xffffffff
-} D3DZBUFFERTYPE;
-
-typedef struct _D3DADAPTER_IDENTIFIER9 {
- char Driver[MAX_DEVICE_IDENTIFIER_STRING];
- char Description[MAX_DEVICE_IDENTIFIER_STRING];
- char DeviceName[32];
- LARGE_INTEGER DriverVersion;
- DWORD VendorId;
- DWORD DeviceId;
- DWORD SubSysId;
- DWORD Revision;
- GUID DeviceIdentifier;
- DWORD WHQLLevel;
-} D3DADAPTER_IDENTIFIER9;
-
-typedef struct _D3DBOX {
- UINT Left;
- UINT Top;
- UINT Right;
- UINT Bottom;
- UINT Front;
- UINT Back;
-} D3DBOX;
-
-typedef struct _D3DCLIPSTATUS9 {
- DWORD ClipUnion;
- DWORD ClipIntersection;
-} D3DCLIPSTATUS9;
-
-typedef struct _D3DCOLORVALUE {
- float r;
- float g;
- float b;
- float a;
-} D3DCOLORVALUE;
-
-typedef struct _D3DRESOURCESTATS
-{
- BOOL bThrashing;
- DWORD ApproxBytesDownloaded;
- DWORD NumEvicts;
- DWORD NumVidCreates;
- DWORD LastPri;
- DWORD NumUsed;
- DWORD NumUsedInVidMem;
- DWORD WorkingSet;
- DWORD WorkingSetBytes;
- DWORD TotalManaged;
- DWORD TotalBytes;
-} D3DRESOURCESTATS;
-
-typedef struct _D3DDEVICE_CREATION_PARAMETERS {
- UINT AdapterOrdinal;
- D3DDEVTYPE DeviceType;
- HWND hFocusWindow;
- DWORD BehaviorFlags;
-} D3DDEVICE_CREATION_PARAMETERS;
-
-typedef struct _D3DDEVINFO_RESOURCEMANAGER {
- D3DRESOURCESTATS stats[D3DRTYPECOUNT];
-} D3DDEVINFO_RESOURCEMANAGER, *LPD3DDEVINFO_RESOURCEMANAGER;
-
-typedef struct _D3DDEVINFO_D3DVERTEXSTATS {
- DWORD NumRenderedTriangles;
- DWORD NumExtraClippingTriangles;
-} D3DDEVINFO_D3DVERTEXSTATS, *LPD3DDEVINFO_D3DVERTEXSTATS;
-
-typedef struct _D3DDEVINFO_VCACHE {
- DWORD Pattern;
- DWORD OptMethod;
- DWORD CacheSize;
- DWORD MagicNumber;
-} D3DDEVINFO_VCACHE, *LPD3DDEVINFO_VCACHE;
-
-typedef struct _D3DDISPLAYMODE {
- UINT Width;
- UINT Height;
- UINT RefreshRate;
- D3DFORMAT Format;
-} D3DDISPLAYMODE;
-
-typedef struct _D3DGAMMARAMP {
- WORD red[256];
- WORD green[256];
- WORD blue[256];
-} D3DGAMMARAMP;
-
-typedef struct _D3DINDEXBUFFER_DESC {
- D3DFORMAT Format;
- D3DRESOURCETYPE Type;
- DWORD Usage;
- D3DPOOL Pool;
- UINT Size;
-} D3DINDEXBUFFER_DESC;
-
-typedef struct _D3DVECTOR {
- float x;
- float y;
- float z;
-} D3DVECTOR;
-
-typedef struct _D3DLIGHT9 {
- D3DLIGHTTYPE Type;
- D3DCOLORVALUE Diffuse;
- D3DCOLORVALUE Specular;
- D3DCOLORVALUE Ambient;
- D3DVECTOR Position;
- D3DVECTOR Direction;
- float Range;
- float Falloff;
- float Attenuation0;
- float Attenuation1;
- float Attenuation2;
- float Theta;
- float Phi;
-} D3DLIGHT9;
-
-typedef struct _D3DLOCKED_BOX {
- INT RowPitch;
- INT SlicePitch;
- void *pBits;
-} D3DLOCKED_BOX;
-
-typedef struct _D3DLOCKED_RECT {
- INT Pitch;
- void *pBits;
-} D3DLOCKED_RECT;
-
-typedef struct _D3DMATERIAL9 {
- D3DCOLORVALUE Diffuse;
- D3DCOLORVALUE Ambient;
- D3DCOLORVALUE Specular;
- D3DCOLORVALUE Emissive;
- float Power;
-} D3DMATERIAL9;
-
-typedef struct _D3DMATRIX {
- union {
- struct {
- float _11, _12, _13, _14;
- float _21, _22, _23, _24;
- float _31, _32, _33, _34;
- float _41, _42, _43, _44;
- };
- float m[4][4];
- };
-} D3DMATRIX;
-
-typedef struct _D3DPRESENT_PARAMETERS {
- UINT BackBufferWidth;
- UINT BackBufferHeight;
- D3DFORMAT BackBufferFormat;
- UINT BackBufferCount;
- D3DMULTISAMPLE_TYPE MultiSampleType;
- DWORD MultiSampleQuality;
- D3DSWAPEFFECT SwapEffect;
- HWND hDeviceWindow;
- BOOL Windowed;
- BOOL EnableAutoDepthStencil;
- D3DFORMAT AutoDepthStencilFormat;
- DWORD Flags;
- UINT FullScreen_RefreshRateInHz;
- UINT PresentationInterval;
-} D3DPRESENT_PARAMETERS;
-
-typedef struct _D3DRANGE
-{
- UINT Offset;
- UINT Size;
-} D3DRANGE;
-
-typedef struct _D3DRASTER_STATUS {
- BOOL InVBlank;
- UINT ScanLine;
-} D3DRASTER_STATUS;
-
-typedef struct _D3DRECT {
- LONG x1;
- LONG y1;
- LONG x2;
- LONG y2;
-} D3DRECT;
-
-typedef struct _D3DRECTPATCH_INFO {
- UINT StartVertexOffsetWidth;
- UINT StartVertexOffsetHeight;
- UINT Width;
- UINT Height;
- UINT Stride;
- D3DBASISTYPE Basis;
- D3DORDERTYPE Order;
-} D3DRECTPATCH_INFO;
-
-typedef struct _D3DSURFACE_DESC {
- D3DFORMAT Format;
- D3DRESOURCETYPE Type;
- DWORD Usage;
- D3DPOOL Pool;
- UINT Size;
- D3DMULTISAMPLE_TYPE MultiSampleType;
- UINT Width;
- UINT Height;
-} D3DSURFACE_DESC;
-
-typedef struct _D3DTRIPATCH_INFO {
- UINT StartVertexOffset;
- UINT NumVertices;
- D3DBASISTYPE Basis;
- D3DORDERTYPE Order;
-} D3DTRIPATCH_INFO;
-
-typedef struct _D3DVERTEXBUFFER_DESC {
- D3DFORMAT Format;
- D3DRESOURCETYPE Type;
- DWORD Usage;
- D3DPOOL Pool;
- UINT Size;
- DWORD FVF;
-} D3DVERTEXBUFFER_DESC;
-
-typedef struct _D3DVERTEXELEMENT9 {
- WORD Stream;
- WORD Offset;
- BYTE Type;
- BYTE Method;
- BYTE Usage;
- BYTE UsageIndex;
-} D3DVERTEXELEMENT9, *LPD3DVERTEXELEMENT9;
-
-typedef struct _D3DVIEWPORT9 {
- DWORD X;
- DWORD Y;
- DWORD Width;
- DWORD Height;
- float MinZ;
- float MaxZ;
-} D3DVIEWPORT9;
-
-typedef struct _D3DVOLUME_DESC {
- D3DFORMAT Format;
- D3DRESOURCETYPE Type;
- DWORD Usage;
- D3DPOOL Pool;
- UINT Width;
- UINT Height;
- UINT Depth;
-} D3DVOLUME_DESC;
-
-#include <poppack.h>
-
-#endif
-#endif
diff --git a/winsup/w32api/include/directx/dxerr8.h b/winsup/w32api/include/directx/dxerr8.h
deleted file mode 100644
index 9bf21ea18..000000000
--- a/winsup/w32api/include/directx/dxerr8.h
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
-
- dxerr8.h - Header file for the DirectX 8 Error API
-
- Written by Filip Navara <xnavara@volny.cz>
-
- This library 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.
-
-*/
-
-#ifndef _DXERR8_H
-#define _DXERR8_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-const char *WINAPI DXGetErrorString8A(HRESULT);
-const WCHAR *WINAPI DXGetErrorString8W(HRESULT);
-const char* WINAPI DXGetErrorDescription8A(HRESULT);
-const WCHAR* WINAPI DXGetErrorDescription8W(HRESULT);
-HRESULT WINAPI DXTraceA(const char*,DWORD,HRESULT,const char*,BOOL);
-HRESULT WINAPI DXTraceW(const char*,DWORD,HRESULT,const WCHAR*,BOOL);
-
-#ifdef UNICODE
-#define DXGetErrorString8 DXGetErrorString8W
-#define DXGetErrorDescription8 DXGetErrorDescription8W
-#define DXTrace DXTraceW
-#else
-#define DXGetErrorString8 DXGetErrorString8A
-#define DXGetErrorDescription8 DXGetErrorDescription8A
-#define DXTrace DXTraceA
-#endif
-
-#if defined(DEBUG) || defined(_DEBUG)
-#define DXTRACE_MSG(str) DXTrace(__FILE__,(DWORD)__LINE__,0,str,FALSE)
-#define DXTRACE_ERR(str,hr) DXTrace(__FILE__,(DWORD)__LINE__,hr,str,TRUE)
-#define DXTRACE_ERR_NOMSGBOX(str,hr) DXTrace(__FILE__,(DWORD)__LINE__,hr,str,FALSE)
-#else
-#define DXTRACE_MSG(str) (0L)
-#define DXTRACE_ERR(str,hr) (hr)
-#define DXTRACE_ERR_NOMSGBOX(str,hr) (hr)
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/winsup/w32api/include/directx/dxerr9.h b/winsup/w32api/include/directx/dxerr9.h
deleted file mode 100644
index 36605c92c..000000000
--- a/winsup/w32api/include/directx/dxerr9.h
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
-
- dxerr9.h - Header file for the DirectX 9 Error API
-
- Written by Filip Navara <xnavara@volny.cz>
-
- This library 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.
-
-*/
-
-#ifndef _DXERR9_H
-#define _DXERR9_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-const char *WINAPI DXGetErrorString9A(HRESULT);
-const WCHAR *WINAPI DXGetErrorString9W(HRESULT);
-const char* WINAPI DXGetErrorDescription9A(HRESULT);
-const WCHAR* WINAPI DXGetErrorDescription9W(HRESULT);
-HRESULT WINAPI DXTraceA(const char*,DWORD,HRESULT,const char*,BOOL);
-HRESULT WINAPI DXTraceW(const char*,DWORD,HRESULT,const WCHAR*,BOOL);
-
-#ifdef UNICODE
-#define DXGetErrorString9 DXGetErrorString9W
-#define DXGetErrorDescription9 DXGetErrorDescription9W
-#define DXTrace DXTraceW
-#else
-#define DXGetErrorString9 DXGetErrorString9A
-#define DXGetErrorDescription9 DXGetErrorDescription9A
-#define DXTrace DXTraceA
-#endif
-
-#if defined(DEBUG) || defined(_DEBUG)
-#define DXTRACE_MSG(str) DXTrace(__FILE__,(DWORD)__LINE__,0,str,FALSE)
-#define DXTRACE_ERR(str,hr) DXTrace(__FILE__,(DWORD)__LINE__,hr,str,FALSE)
-#define DXTRACE_ERR_MSGBOX(str,hr) DXTrace(__FILE__,(DWORD)__LINE__,hr,str,TRUE)
-#else
-#define DXTRACE_MSG(str) (0L)
-#define DXTRACE_ERR(str,hr) (hr)
-#define DXTRACE_ERR_MSGBOX(str,hr) (hr)
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/winsup/w32api/include/dlgs.h b/winsup/w32api/include/dlgs.h
deleted file mode 100644
index 82525ab5c..000000000
--- a/winsup/w32api/include/dlgs.h
+++ /dev/null
@@ -1,186 +0,0 @@
-#ifndef _DLGS_H
-#define _DLGS_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-#define FILEOPENORD 1536
-#define MULTIFILEOPENORD 1537
-#define PRINTDLGORD 1538
-#define PRNSETUPDLGORD 1539
-#define FINDDLGORD 1540
-#define REPLACEDLGORD 1541
-#define FONTDLGORD 1542
-#define FORMATDLGORD31 1543
-#define FORMATDLGORD30 1544
-#define PAGESETUPDLGORD 1546
-#define ctlFirst 0x400
-#define ctlLast 0x4ff
-#define chx1 0x410
-#define chx2 0x411
-#define chx3 0x412
-#define chx4 0x413
-#define chx5 0x414
-#define chx6 0x415
-#define chx7 0x416
-#define chx8 0x417
-#define chx9 0x418
-#define chx10 0x419
-#define chx11 0x41a
-#define chx12 0x41b
-#define chx13 0x41c
-#define chx14 0x41d
-#define chx15 0x41e
-#define chx16 0x41f
-#define cmb1 0x470
-#define cmb2 0x471
-#define cmb3 0x472
-#define cmb4 0x473
-#define cmb5 0x474
-#define cmb6 0x475
-#define cmb7 0x476
-#define cmb8 0x477
-#define cmb9 0x478
-#define cmb10 0x479
-#define cmb11 0x47a
-#define cmb12 0x47b
-#define cmb13 0x47c
-#define cmb14 0x47d
-#define cmb15 0x47e
-#define cmb16 0x47f
-#define edt1 0x480
-#define edt2 0x481
-#define edt3 0x482
-#define edt4 0x483
-#define edt5 0x484
-#define edt6 0x485
-#define edt7 0x486
-#define edt8 0x487
-#define edt9 0x488
-#define edt10 0x489
-#define edt11 0x48a
-#define edt12 0x48b
-#define edt13 0x48c
-#define edt14 0x48d
-#define edt15 0x48e
-#define edt16 0x48f
-#define frm1 0x434
-#define frm2 0x435
-#define frm3 0x436
-#define frm4 0x437
-#define grp1 0x430
-#define grp2 0x431
-#define grp3 0x432
-#define grp4 0x433
-#define ico1 0x43c
-#define ico2 0x43d
-#define ico3 0x43e
-#define ico4 0x43f
-#define lst1 0x460
-#define lst2 0x461
-#define lst3 0x462
-#define lst4 0x463
-#define lst5 0x464
-#define lst6 0x465
-#define lst7 0x466
-#define lst8 0x467
-#define lst9 0x468
-#define lst10 0x469
-#define lst11 0x46a
-#define lst12 0x46b
-#define lst13 0x46c
-#define lst14 0x46d
-#define lst15 0x46e
-#define lst16 0x46f
-#define psh1 0x400
-#define psh2 0x401
-#define psh3 0x402
-#define psh4 0x403
-#define psh5 0x404
-#define psh6 0x405
-#define psh7 0x406
-#define psh8 0x407
-#define psh9 0x408
-#define psh10 0x409
-#define psh11 0x40a
-#define psh12 0x40b
-#define psh13 0x40c
-#define psh14 0x40d
-#define psh15 0x40e
-#define pshHelp 0x40e
-#define psh16 0x40f
-#define rad1 0x420
-#define rad2 0x421
-#define rad3 0x422
-#define rad4 0x423
-#define rad5 0x424
-#define rad6 0x425
-#define rad7 0x426
-#define rad8 0x427
-#define rad9 0x428
-#define rad10 0x429
-#define rad11 0x42a
-#define rad12 0x42b
-#define rad13 0x42c
-#define rad14 0x42d
-#define rad15 0x42e
-#define rad16 0x42f
-#define rct1 0x438
-#define rct2 0x439
-#define rct3 0x43a
-#define rct4 0x43b
-#define scr1 0x490
-#define scr2 0x491
-#define scr3 0x492
-#define scr4 0x493
-#define scr5 0x494
-#define scr6 0x495
-#define scr7 0x496
-#define scr8 0x497
-#define stc1 0x440
-#define stc2 0x441
-#define stc3 0x442
-#define stc4 0x443
-#define stc5 0x444
-#define stc6 0x445
-#define stc7 0x446
-#define stc8 0x447
-#define stc9 0x448
-#define stc10 0x449
-#define stc11 0x44a
-#define stc12 0x44b
-#define stc13 0x44c
-#define stc14 0x44d
-#define stc15 0x44e
-#define stc16 0x44f
-#define stc17 0x450
-#define stc18 0x451
-#define stc19 0x452
-#define stc20 0x453
-#define stc21 0x454
-#define stc22 0x455
-#define stc23 0x456
-#define stc24 0x457
-#define stc25 0x458
-#define stc26 0x459
-#define stc27 0x45a
-#define stc28 0x45b
-#define stc29 0x45c
-#define stc30 0x45d
-#define stc31 0x45e
-#define stc32 0x45f
-#ifndef RC_INVOKED
-typedef struct tagCRGB {
- BYTE bRed;
- BYTE bGreen;
- BYTE bBlue;
- BYTE bExtra;
-} CRGB;
-#endif
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/winsup/w32api/include/docobj.h b/winsup/w32api/include/docobj.h
deleted file mode 100644
index 4772c2e1a..000000000
--- a/winsup/w32api/include/docobj.h
+++ /dev/null
@@ -1,148 +0,0 @@
-#ifndef _DOCOBJ_H
-#define _DOCOBJ_H
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define OLECMDERR_E_UNKNOWNGROUP (-2147221244)
-#define OLECMDERR_E_DISABLED (-2147221247)
-#define OLECMDERR_E_NOHELP (-2147221246)
-#define OLECMDERR_E_CANCELED (-2147221245)
-#define OLECMDERR_E_NOTSUPPORTED (-2147221248)
-
-typedef enum {
- OLECMDID_OPEN = 1,
- OLECMDID_NEW = 2,
- OLECMDID_SAVE = 3,
- OLECMDID_SAVEAS = 4,
- OLECMDID_SAVECOPYAS = 5,
- OLECMDID_PRINT = 6,
- OLECMDID_PRINTPREVIEW = 7,
- OLECMDID_PAGESETUP = 8,
- OLECMDID_SPELL = 9,
- OLECMDID_PROPERTIES = 10,
- OLECMDID_CUT = 11,
- OLECMDID_COPY = 12,
- OLECMDID_PASTE = 13,
- OLECMDID_PASTESPECIAL = 14,
- OLECMDID_UNDO = 15,
- OLECMDID_REDO = 16,
- OLECMDID_SELECTALL = 17,
- OLECMDID_CLEARSELECTION = 18,
- OLECMDID_ZOOM = 19,
- OLECMDID_GETZOOMRANGE = 20,
- OLECMDID_UPDATECOMMANDS = 21,
- OLECMDID_REFRESH = 22,
- OLECMDID_STOP = 23,
- OLECMDID_HIDETOOLBARS = 24,
- OLECMDID_SETPROGRESSMAX = 25,
- OLECMDID_SETPROGRESSPOS = 26,
- OLECMDID_SETPROGRESSTEXT = 27,
- OLECMDID_SETTITLE = 28,
- OLECMDID_SETDOWNLOADSTATE = 29,
- OLECMDID_STOPDOWNLOAD = 30
-} OLECMDID;
-typedef enum {
- OLECMDF_SUPPORTED = 1,
- OLECMDF_ENABLED = 2,
- OLECMDF_LATCHED = 4,
- OLECMDF_NINCHED = 8
-} OLECMDF;
-typedef enum {
- OLECMDEXECOPT_DODEFAULT = 0,
- OLECMDEXECOPT_PROMPTUSER = 1,
- OLECMDEXECOPT_DONTPROMPTUSER = 2,
- OLECMDEXECOPT_SHOWHELP = 3
-} OLECMDEXECOPT;
-
-typedef struct _tagOLECMDTEXT {
- DWORD cmdtextf;
- ULONG cwActual;
- ULONG cwBuf;
- wchar_t rgwz[1];
-} OLECMDTEXT;
-typedef struct _tagOLECMD {
- ULONG cmdID;
- DWORD cmdf;
-} OLECMD;
-
-typedef interface IOleInPlaceSite *LPOLEINPLACESITE;
-typedef interface IEnumOleDocumentViews *LPENUMOLEDOCUMENTVIEWS;
-
-EXTERN_C const IID IID_IContinueCallback;
-EXTERN_C const IID IID_IEnumOleDocumentViews;
-EXTERN_C const IID IID_IPrint;
-
-EXTERN_C const IID IID_IOleDocumentView;
-#undef INTERFACE
-#define INTERFACE IOleDocumentView
-DECLARE_INTERFACE_(IOleDocumentView,IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
-
- STDMETHOD(SetInPlaceSite)(THIS_ LPOLEINPLACESITE) PURE;
- STDMETHOD(GetInPlaceSite)(THIS_ LPOLEINPLACESITE*) PURE;
- STDMETHOD(GetDocument)(THIS_ IUnknown**) PURE;
- STDMETHOD(SetRect)(THIS_ LPRECT) PURE;
- STDMETHOD(GetRect)(THIS_ LPRECT) PURE;
- STDMETHOD(SetRectComplex)(THIS_ LPRECT,LPRECT,LPRECT,LPRECT) PURE;
- STDMETHOD(Show)(THIS_ BOOL) PURE;
- STDMETHOD(UIActivate)(THIS_ BOOL) PURE;
- STDMETHOD(Open)(THIS) PURE;
- STDMETHOD(Close)(THIS_ DWORD) PURE;
- STDMETHOD(SaveViewState)(THIS_ IStream*) PURE;
- STDMETHOD(ApplyViewState)(THIS_ IStream*) PURE;
- STDMETHOD(Clone)(THIS_ LPOLEINPLACESITE,IOleDocumentView**) PURE;
-};
-
-DECLARE_ENUMERATOR_(IEnumOleDocumentViews,IOleDocumentView);
-
-EXTERN_C const IID IID_IOleDocument;
-#undef INTERFACE
-#define INTERFACE IOleDocument
-DECLARE_INTERFACE_(IOleDocument,IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
-
- STDMETHOD(CreateView)(THIS_ LPOLEINPLACESITE,IStream*,DWORD,IOleDocumentView**) PURE;
- STDMETHOD(GetDocMiscStatus)(THIS_ DWORD*) PURE;
- STDMETHOD(EnumViews)(THIS_ LPENUMOLEDOCUMENTVIEWS*,IOleDocumentView**) PURE;
-};
-
-EXTERN_C const IID IID_IOleCommandTarget;
-#undef INTERFACE
-#define INTERFACE IOleCommandTarget
-DECLARE_INTERFACE_(IOleCommandTarget,IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
-
- STDMETHOD(QueryStatus)(THIS_ const GUID*,ULONG,OLECMD*,OLECMDTEXT*) PURE;
- STDMETHOD(Exec)(THIS_ const GUID*,DWORD,DWORD,VARIANTARG*,VARIANTARG*) PURE;
-};
-
-EXTERN_C const IID IID_IOleDocumentSite;
-#undef INTERFACE
-#define INTERFACE IOleDocumentSite
-DECLARE_INTERFACE_(IOleDocumentSite,IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
-
- STDMETHOD(ActivateMe)(THIS_ IOleDocumentView*) PURE;
-};
-
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/winsup/w32api/include/errorrep.h b/winsup/w32api/include/errorrep.h
deleted file mode 100644
index 1361855e3..000000000
--- a/winsup/w32api/include/errorrep.h
+++ /dev/null
@@ -1,40 +0,0 @@
-#ifndef _ERRORREP_H
-#define _ERRORREP_H
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#if (_WIN32_WINNT >= 0x0501)
-typedef enum {
- frrvErr = 3,
- frrvErrNoDW = 4,
- frrvErrTimeout = 5,
- frrvLaunchDebugger = 6,
- frrvOk = 0,
- frrvOkHeadless = 7,
- frrvOkManifest = 1,
- frrvOkQueued = 2
-} EFaultRepRetVal;
-BOOL WINAPI AddERExcludedApplicationA(LPCSTR);
-BOOL WINAPI AddERExcludedApplicationW(LPCWSTR);
-EFaultRepRetVal WINAPI ReportFault(LPEXCEPTION_POINTERS,DWORD);
-#endif
-
-#ifdef UNICODE
-#if (_WIN32_WINNT >= 0x0501)
-#define AddERExcludedApplication AddERExcludedApplicationW
-#endif
-#else
-#if (_WIN32_WINNT >= 0x0501)
-#define AddERExcludedApplication AddERExcludedApplicationA
-#endif
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/winsup/w32api/include/exdisp.h b/winsup/w32api/include/exdisp.h
deleted file mode 100644
index 9e747df11..000000000
--- a/winsup/w32api/include/exdisp.h
+++ /dev/null
@@ -1,257 +0,0 @@
-#ifndef _EXDISP_H
-#define _EXDISP_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-#ifdef __cplusplus
-extern "C" {
-#endif
-#include <oaidl.h>
-#include <ocidl.h>
-#include <docobj.h>
-
-EXTERN_C const CLSID CLSID_WebBrowser;
-EXTERN_C const IID DIID_DWebBrowserEvents;
-
-typedef enum {
- navOpenInNewWindow = 0x1,
- navNoHistory = 0x2,
- navNoReadFromCache = 0x4,
- navNoWriteTocache = 0x8,
- navAllowAutosearch = 0x10,
- navBrowserBar = 0x20,
- navHyperLink = 0x40
-} BrowserNavConstants;
-
-EXTERN_C const IID IID_IWebBrowser;
-#undef INTERFACE
-#define INTERFACE IWebBrowser
-DECLARE_INTERFACE_(IWebBrowser,IDispatch)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(GetTypeInfoCount)(THIS_ UINT*) PURE;
- STDMETHOD(GetTypeInfo)(THIS_ UINT,LCID,LPTYPEINFO*) PURE;
- STDMETHOD(GetIDsOfNames)(THIS_ REFIID,LPOLESTR*,UINT,LCID,DISPID*) PURE;
- STDMETHOD(Invoke)(THIS_ DISPID,REFIID,LCID,WORD,DISPPARAMS*,VARIANT*,EXCEPINFO*,UINT*) PURE;
-
- STDMETHOD(GoBack)(THIS) PURE;
- STDMETHOD(GoForward)(THIS) PURE;
- STDMETHOD(GoHome)(THIS) PURE;
- STDMETHOD(GoSearch)(THIS) PURE;
- STDMETHOD(Navigate)(THIS_ BSTR,VARIANT*,VARIANT*,VARIANT*,VARIANT*) PURE;
- STDMETHOD(Refresh)(THIS) PURE;
- STDMETHOD(Refresh2)(THIS_ VARIANT*) PURE;
- STDMETHOD(Stop)(THIS) PURE;
- STDMETHOD(get_Application)(THIS_ IDispatch**) PURE;
- STDMETHOD(get_Parent)(THIS_ IDispatch**) PURE;
- STDMETHOD(get_Container)(THIS_ IDispatch**) PURE;
- STDMETHOD(get_Document)(THIS_ IDispatch**) PURE;
- STDMETHOD(get_TopLevelContainer)(THIS_ VARIANT_BOOL*) PURE;
- STDMETHOD(get_Type)(THIS_ BSTR*) PURE;
- STDMETHOD(get_Left)(THIS_ long*) PURE;
- STDMETHOD(put_Left)(THIS_ long) PURE;
- STDMETHOD(get_Top)(THIS_ long*) PURE;
- STDMETHOD(put_Top)(THIS_ long) PURE;
- STDMETHOD(get_Width)(THIS_ long*) PURE;
- STDMETHOD(put_Width)(THIS_ long) PURE;
- STDMETHOD(get_Height)(THIS_ long*) PURE;
- STDMETHOD(put_Height)(THIS_ long) PURE;
- STDMETHOD(get_LocationName)(THIS_ BSTR*) PURE;
- STDMETHOD(get_LocationURL)(THIS_ BSTR*) PURE;
- STDMETHOD(get_Busy)(THIS_ VARIANT_BOOL*) PURE;
-};
-
-EXTERN_C const IID IID_IWebBrowserApp;
-#undef INTERFACE
-#define INTERFACE IWebBrowserApp
-DECLARE_INTERFACE_(IWebBrowserApp,IWebBrowser)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(GetTypeInfoCount)(THIS_ UINT*) PURE;
- STDMETHOD(GetTypeInfo)(THIS_ UINT,LCID,LPTYPEINFO*) PURE;
- STDMETHOD(GetIDsOfNames)(THIS_ REFIID,LPOLESTR*,UINT,LCID,DISPID*) PURE;
- STDMETHOD(Invoke)(THIS_ DISPID,REFIID,LCID,WORD,DISPPARAMS*,VARIANT*,EXCEPINFO*,UINT*) PURE;
-
- STDMETHOD(GoBack)(THIS) PURE;
- STDMETHOD(GoForward)(THIS) PURE;
- STDMETHOD(GoHome)(THIS) PURE;
- STDMETHOD(GoSearch)(THIS) PURE;
- STDMETHOD(Navigate)(THIS_ BSTR,VARIANT*,VARIANT*,VARIANT*,VARIANT*) PURE;
- STDMETHOD(Refresh)(THIS) PURE;
- STDMETHOD(Refresh2)(THIS_ VARIANT*) PURE;
- STDMETHOD(Stop)(THIS) PURE;
- STDMETHOD(get_Application)(THIS_ IDispatch**) PURE;
- STDMETHOD(get_Parent)(THIS_ IDispatch**) PURE;
- STDMETHOD(get_Container)(THIS_ IDispatch**) PURE;
- STDMETHOD(get_Document)(THIS_ IDispatch**) PURE;
- STDMETHOD(get_TopLevelContainer)(THIS_ VARIANT_BOOL*) PURE;
- STDMETHOD(get_Type)(THIS_ BSTR*) PURE;
- STDMETHOD(get_Left)(THIS_ long*) PURE;
- STDMETHOD(put_Left)(THIS_ long) PURE;
- STDMETHOD(get_Top)(THIS_ long*) PURE;
- STDMETHOD(put_Top)(THIS_ long) PURE;
- STDMETHOD(get_Width)(THIS_ long*) PURE;
- STDMETHOD(put_Width)(THIS_ long) PURE;
- STDMETHOD(get_Height)(THIS_ long*) PURE;
- STDMETHOD(put_Height)(THIS_ long) PURE;
- STDMETHOD(get_LocationName)(THIS_ BSTR*) PURE;
- STDMETHOD(get_LocationURL)(THIS_ BSTR*) PURE;
- STDMETHOD(get_Busy)(THIS_ VARIANT_BOOL*) PURE;
-
- STDMETHOD(Quit)(THIS) PURE;
- STDMETHOD(ClientToWindow)(THIS_ int*,int*) PURE;
- STDMETHOD(PutProperty)(THIS_ BSTR,VARIANT) PURE;
- STDMETHOD(GetProperty)(THIS_ BSTR,VARIANT*) PURE;
- STDMETHOD(get_Name)(THIS_ BSTR*) PURE;
- STDMETHOD(get_HWND)(THIS_ long*) PURE;
- STDMETHOD(get_FullName)(THIS_ BSTR*) PURE;
- STDMETHOD(get_Path)(THIS_ BSTR*) PURE;
- STDMETHOD(get_Visible)(THIS_ VARIANT_BOOL*) PURE;
- STDMETHOD(put_Visible)(THIS_ VARIANT_BOOL) PURE;
- STDMETHOD(get_StatusBar)(THIS_ VARIANT_BOOL*) PURE;
- STDMETHOD(put_StatusBar)(THIS_ VARIANT_BOOL) PURE;
- STDMETHOD(get_StatusText)(THIS_ BSTR*) PURE;
- STDMETHOD(put_StatusText)(THIS_ BSTR) PURE;
- STDMETHOD(get_ToolBar)(THIS_ int*) PURE;
- STDMETHOD(put_ToolBar)(THIS_ int) PURE;
- STDMETHOD(get_MenuBar)(THIS_ VARIANT_BOOL*) PURE;
- STDMETHOD(put_MenuBar)(THIS_ VARIANT_BOOL) PURE;
- STDMETHOD(get_FullScreen)(THIS_ VARIANT_BOOL*) PURE;
- STDMETHOD(put_FullScreen)(THIS_ VARIANT_BOOL) PURE;
-};
-
-EXTERN_C const IID IID_IWebBrowser2;
-#undef INTERFACE
-#define INTERFACE IWebBrowser2
-DECLARE_INTERFACE_(IWebBrowser2,IWebBrowserApp)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(GetTypeInfoCount)(THIS_ UINT*) PURE;
- STDMETHOD(GetTypeInfo)(THIS_ UINT,LCID,LPTYPEINFO*) PURE;
- STDMETHOD(GetIDsOfNames)(THIS_ REFIID,LPOLESTR*,UINT,LCID,DISPID*) PURE;
- STDMETHOD(Invoke)(THIS_ DISPID,REFIID,LCID,WORD,DISPPARAMS*,VARIANT*,EXCEPINFO*,UINT*) PURE;
-
- STDMETHOD(GoBack)(THIS) PURE;
- STDMETHOD(GoForward)(THIS) PURE;
- STDMETHOD(GoHome)(THIS) PURE;
- STDMETHOD(GoSearch)(THIS) PURE;
- STDMETHOD(Navigate)(THIS_ BSTR,VARIANT*,VARIANT*,VARIANT*,VARIANT*) PURE;
- STDMETHOD(Refresh)(THIS) PURE;
- STDMETHOD(Refresh2)(THIS_ VARIANT*) PURE;
- STDMETHOD(Stop)(THIS) PURE;
- STDMETHOD(get_Application)(THIS_ IDispatch**) PURE;
- STDMETHOD(get_Parent)(THIS_ IDispatch**) PURE;
- STDMETHOD(get_Container)(THIS_ IDispatch**) PURE;
- STDMETHOD(get_Document)(THIS_ IDispatch**) PURE;
- STDMETHOD(get_TopLevelContainer)(THIS_ VARIANT_BOOL*) PURE;
- STDMETHOD(get_Type)(THIS_ BSTR*) PURE;
- STDMETHOD(get_Left)(THIS_ long*) PURE;
- STDMETHOD(put_Left)(THIS_ long) PURE;
- STDMETHOD(get_Top)(THIS_ long*) PURE;
- STDMETHOD(put_Top)(THIS_ long) PURE;
- STDMETHOD(get_Width)(THIS_ long*) PURE;
- STDMETHOD(put_Width)(THIS_ long) PURE;
- STDMETHOD(get_Height)(THIS_ long*) PURE;
- STDMETHOD(put_Height)(THIS_ long) PURE;
- STDMETHOD(get_LocationName)(THIS_ BSTR*) PURE;
- STDMETHOD(get_LocationURL)(THIS_ BSTR*) PURE;
- STDMETHOD(get_Busy)(THIS_ VARIANT_BOOL*) PURE;
-
- STDMETHOD(Quit)(THIS) PURE;
- STDMETHOD(ClientToWindow)(THIS_ int*,int*) PURE;
- STDMETHOD(PutProperty)(THIS_ BSTR,VARIANT) PURE;
- STDMETHOD(GetProperty)(THIS_ BSTR,VARIANT*) PURE;
- STDMETHOD(get_Name)(THIS_ BSTR*) PURE;
- STDMETHOD(get_HWND)(THIS_ long*) PURE;
- STDMETHOD(get_FullName)(THIS_ BSTR*) PURE;
- STDMETHOD(get_Path)(THIS_ BSTR*) PURE;
- STDMETHOD(get_Visible)(THIS_ VARIANT_BOOL*) PURE;
- STDMETHOD(put_Visible)(THIS_ VARIANT_BOOL) PURE;
- STDMETHOD(get_StatusBar)(THIS_ VARIANT_BOOL*) PURE;
- STDMETHOD(put_StatusBar)(THIS_ VARIANT_BOOL) PURE;
- STDMETHOD(get_StatusText)(THIS_ BSTR*) PURE;
- STDMETHOD(put_StatusText)(THIS_ BSTR) PURE;
- STDMETHOD(get_ToolBar)(THIS_ int*) PURE;
- STDMETHOD(put_ToolBar)(THIS_ int) PURE;
- STDMETHOD(get_MenuBar)(THIS_ VARIANT_BOOL*) PURE;
- STDMETHOD(put_MenuBar)(THIS_ VARIANT_BOOL) PURE;
- STDMETHOD(get_FullScreen)(THIS_ VARIANT_BOOL*) PURE;
- STDMETHOD(put_FullScreen)(THIS_ VARIANT_BOOL) PURE;
-
- STDMETHOD(Navigate2)(THIS_ VARIANT*,VARIANT*,VARIANT*,VARIANT*,VARIANT*) PURE;
- STDMETHOD(QueryStatusWB)(THIS_ OLECMDID,OLECMDF*) PURE;
- STDMETHOD(ExecWB)(THIS_ OLECMDID,OLECMDEXECOPT,VARIANT*,VARIANT*) PURE;
- STDMETHOD(ShowBrowserBar)(THIS_ VARIANT*,VARIANT*,VARIANT*) PURE;
- STDMETHOD(get_ReadyState)(THIS_ READYSTATE*) PURE;
- STDMETHOD(get_Offline)(THIS_ VARIANT_BOOL*) PURE;
- STDMETHOD(put_Offline)(THIS_ VARIANT_BOOL) PURE;
- STDMETHOD(get_Silent)(THIS_ VARIANT_BOOL*) PURE;
- STDMETHOD(put_Silent)(THIS_ VARIANT_BOOL) PURE;
- STDMETHOD(get_RegistaerAsBrowser)(THIS_ VARIANT_BOOL*) PURE;
- STDMETHOD(put_RegisterAsBrowser)(THIS_ VARIANT_BOOL) PURE;
- STDMETHOD(get_RegistaerAsDropTarget)(THIS_ VARIANT_BOOL*) PURE;
- STDMETHOD(put_RegisterAsDropTarget)(THIS_ VARIANT_BOOL) PURE;
- STDMETHOD(get_TheaterMode)(THIS_ VARIANT_BOOL*) PURE;
- STDMETHOD(put_TheaterMode)(THIS_ VARIANT_BOOL) PURE;
- STDMETHOD(get_AddressBar)(THIS_ VARIANT_BOOL*) PURE;
- STDMETHOD(put_AddressBar)(THIS_ VARIANT_BOOL) PURE;
- STDMETHOD(get_Resizable)(THIS_ VARIANT_BOOL*) PURE;
- STDMETHOD(put_Resizable)(THIS_ VARIANT_BOOL) PURE;
-};
-
-#define STDDISP(m) STDMETHOD_(void,m)
-
-EXTERN_C const IID DIID_DWebBrowserEvents2;
-#undef INTERFACE
-#define INTERFACE DWebBrowserEvents2
-DECLARE_INTERFACE_(DWebBrowserEvents2,IDispatch)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(GetTypeInfoCount)(THIS_ UINT*) PURE;
- STDMETHOD(GetTypeInfo)(THIS_ UINT,LCID,LPTYPEINFO*) PURE;
- STDMETHOD(GetIDsOfNames)(THIS_ REFIID,LPOLESTR*,UINT,LCID,DISPID*) PURE;
- STDMETHOD(Invoke)(THIS_ DISPID,REFIID,LCID,WORD,DISPPARAMS*,VARIANT*,EXCEPINFO*,UINT*) PURE;
-
- STDDISP(StatusTextChange)(THIS_ BSTR) PURE;
- STDDISP(ProgressChange)(THIS_ long,long) PURE;
- STDDISP(CommandStateChange)(THIS_ long,VARIANT_BOOL) PURE;
- STDDISP(DownloadBegin)(THIS) PURE;
- STDDISP(DownloadComplete)(THIS) PURE;
- STDDISP(TitleChange)(THIS_ BSTR) PURE;
- STDDISP(PropertyChange)(THIS_ BSTR) PURE;
- STDDISP(BeforeNavigate2)(THIS_ IDispatch*,VARIANT*,VARIANT*,VARIANT*,VARIANT*,VARIANT*,VARIANT_BOOL*) PURE;
- STDDISP(NewWindow2)(THIS_ IDispatch**,VARIANT_BOOL*) PURE;
- STDDISP(NavigateComplete)(THIS_ IDispatch*,VARIANT*) PURE;
- STDDISP(DocumentComplete)(THIS_ IDispatch*,VARIANT*) PURE;
- STDDISP(OnQuit)(THIS) PURE;
- STDDISP(OnVisible)(THIS_ VARIANT_BOOL) PURE;
- STDDISP(OnToolBar)(THIS_ VARIANT_BOOL) PURE;
- STDDISP(OnMenuBar)(THIS_ VARIANT_BOOL) PURE;
- STDDISP(OnStatusBar)(THIS_ VARIANT_BOOL) PURE;
- STDDISP(OnFullScreen)(THIS_ VARIANT_BOOL) PURE;
- STDDISP(OnTheaterMode)(THIS_ VARIANT_BOOL) PURE;
- STDDISP(WindowSetResizable)(THIS_ VARIANT_BOOL) PURE;
- STDDISP(WindowSetLeft)(THIS_ long) PURE;
- STDDISP(WindowSetTop)(THIS_ long) PURE;
- STDDISP(WindowSetWidth)(THIS_ long) PURE;
- STDDISP(WindowSetHeight)(THIS_ long) PURE;
- STDDISP(WindowClosing)(THIS_ VARIANT_BOOL,VARIANT_BOOL*) PURE;
- STDDISP(ClientToHostWindow)(THIS_ long*,long*) PURE;
- STDDISP(SetSecureLockIcon)(THIS_ long) PURE;
- STDDISP(FileDownload)(THIS_ VARIANT_BOOL*) PURE;
-};
-
-#undef STDDISP
-
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/winsup/w32api/include/exdispid.h b/winsup/w32api/include/exdispid.h
deleted file mode 100644
index da2b0a4f0..000000000
--- a/winsup/w32api/include/exdispid.h
+++ /dev/null
@@ -1,14 +0,0 @@
-#ifndef _EXDISPID_H
-#define _EXDISPID_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#define DISPID_BEFORENAVIGATE2 250
-#define DISPID_NEWWINDOW2 251
-#define DISPID_PROGRESSCHANGE 108
-#define DISPID_DOCUMENTCOMPLETE 259
-#define DISPID_STATUSTEXTCHANGE 102
-#define DISPID_TITLECHANGE 113
-
-#endif
diff --git a/winsup/w32api/include/httpext.h b/winsup/w32api/include/httpext.h
deleted file mode 100644
index b1be90852..000000000
--- a/winsup/w32api/include/httpext.h
+++ /dev/null
@@ -1,98 +0,0 @@
-/*
- httpext.h - Header for ISAPI extensions.
-
- This file is part of a free library for the Win32 API.
-
- This library 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.
-*/
-
-#ifndef _HTTPEXT_H
-#define _HTTPEXT_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#include <windows.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define HSE_VERSION_MAJOR 2
-#define HSE_VERSION_MINOR 0
-#define HSE_LOG_BUFFER_LEN 80
-#define HSE_MAX_EXT_DLL_NAME_LEN 256
-#define HSE_STATUS_SUCCESS 1
-#define HSE_STATUS_SUCCESS_AND_KEEP_CONN 2
-#define HSE_STATUS_PENDING 3
-#define HSE_STATUS_ERROR 4
-#define HSE_REQ_BASE 0
-#define HSE_REQ_SEND_URL_REDIRECT_RESP 1
-#define HSE_REQ_SEND_URL 2
-#define HSE_REQ_SEND_RESPONSE_HEADER 3
-#define HSE_REQ_DONE_WITH_SESSION 4
-#define HSE_REQ_SEND_RESPONSE_HEADER_EX 1016
-#define HSE_REQ_END_RESERVED 1000
-#define HSE_TERM_ADVISORY_UNLOAD 0x00000001
-#define HSE_TERM_MUST_UNLOAD 0x00000002
-#define HSE_IO_SYNC 0x00000001
-#define HSE_IO_ASYNC 0x00000002
-#define HSE_IO_DISCONNECT_AFTER_SEND 0x00000004
-#define HSE_IO_SEND_HEADERS 0x00000008
-typedef LPVOID HCONN;
-typedef struct _HSE_VERSION_INFO {
- DWORD dwExtensionVersion;
- CHAR lpszExtensionDesc[HSE_MAX_EXT_DLL_NAME_LEN];
-} HSE_VERSION_INFO, *LPHSE_VERSION_INFO;
-typedef struct _EXTENSION_CONTROL_BLOCK {
- DWORD cbSize;
- DWORD dwVersion;
- HCONN ConnID;
- DWORD dwHttpStatusCode;
- CHAR lpszLogData[HSE_LOG_BUFFER_LEN];
- LPSTR lpszMethod;
- LPSTR lpszQueryString;
- LPSTR lpszPathInfo;
- LPSTR lpszPathTranslated;
- DWORD cbTotalBytes;
- DWORD cbAvailable;
- LPBYTE lpbData;
- LPSTR lpszContentType;
- BOOL (PASCAL *GetServerVariable)(HCONN,LPSTR,LPVOID,LPDWORD);
- BOOL (PASCAL *WriteClient)(HCONN,LPVOID,LPDWORD,DWORD);
- BOOL (PASCAL *ReadClient)(HCONN,LPVOID,LPDWORD);
- BOOL (PASCAL *ServerSupportFunction)(HCONN,DWORD,LPVOID,LPDWORD,LPDWORD);
-} EXTENSION_CONTROL_BLOCK, *LPEXTENSION_CONTROL_BLOCK;
-typedef BOOL (PASCAL *PFN_GETEXTENSIONVERSION)(HSE_VERSION_INFO*);
-typedef DWORD (PASCAL *PFN_HTTPEXTENSIONPROC)(EXTENSION_CONTROL_BLOCK*);
-typedef BOOL (PASCAL *PFN_TERMINATEEXTENSION)(DWORD);
-typedef VOID (PASCAL *PFN_HSE_IO_COMPLETION)(EXTENSION_CONTROL_BLOCK*,PVOID,DWORD,DWORD);
-typedef struct _HSE_TF_INFO {
- PFN_HSE_IO_COMPLETION pfnHseIO;
- PVOID pContext;
- HANDLE hFile;
- LPCSTR pszStatusCode;
- DWORD BytesToWrite;
- DWORD Offset;
- PVOID pHead;
- DWORD HeadLength;
- PVOID pTail;
- DWORD TailLength;
- DWORD dwFlags;
-} HSE_TF_INFO, *LPHSE_TF_INFO;
-typedef struct _HSE_SEND_HEADER_EX_INFO {
- LPCSTR pszStatus;
- LPCSTR pszHeader;
- DWORD cchStatus;
- DWORD cchHeader;
- BOOL fKeepConn;
-} HSE_SEND_HEADER_EX_INFO, * LPHSE_SEND_HEADER_EX_INF;
-BOOL PASCAL GetExtensionVersion(HSE_VERSION_INFO*);
-DWORD PASCAL HttpExtensionProc(EXTENSION_CONTROL_BLOCK*);
-BOOL PASCAL TerminateExtension(DWORD);
-#ifdef __cplusplus
-}
-#endif
-#endif /* _HTTPEXT_H */
diff --git a/winsup/w32api/include/idispids.h b/winsup/w32api/include/idispids.h
deleted file mode 100644
index 66585b4d0..000000000
--- a/winsup/w32api/include/idispids.h
+++ /dev/null
@@ -1,10 +0,0 @@
-#ifndef _IDISPIDS_H
-#define _IDISPIDS_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#define DISPID_AMBIENT_OFFLINEIFNOTCONNECTED (-5501)
-#define DISPID_AMBIENT_SILENT (-5502)
-
-#endif
diff --git a/winsup/w32api/include/imagehlp.h b/winsup/w32api/include/imagehlp.h
deleted file mode 100644
index 1f94533c1..000000000
--- a/winsup/w32api/include/imagehlp.h
+++ /dev/null
@@ -1,329 +0,0 @@
-/*
- imagehlp.h - Include file for IMAGEHLP.DLL APIs
-
- Written by Mumit Khan <khan@nanotech.wisc.edu>
-
- This file is part of a free library for the Win32 API.
-
- NOTE: This strictly does not belong in the Win32 API since it's
- really part of Platform SDK. However,GDB needs it and we might
- as well provide it here.
-
- This library 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.
-
-*/
-
-#ifndef _IMAGEHLP_H
-#define _IMAGEHLP_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define API_VERSION_NUMBER 7
-#define BIND_NO_BOUND_IMPORTS 0x00000001
-#define BIND_NO_UPDATE 0x00000002
-#define BIND_ALL_IMAGES 0x00000004
-#define BIND_CACHE_IMPORT_DLLS 0x00000008
-#define CBA_DEFERRED_SYMBOL_LOAD_START 1
-#define CBA_DEFERRED_SYMBOL_LOAD_COMPLETE 2
-#define CBA_DEFERRED_SYMBOL_LOAD_FAILURE 3
-#define CBA_SYMBOLS_UNLOADED 4
-#define CBA_DUPLICATE_SYMBOL 5
-#define CERT_PE_IMAGE_DIGEST_DEBUG_INFO 1
-#define CERT_PE_IMAGE_DIGEST_RESOURCES 2
-#define CERT_PE_IMAGE_DIGEST_ALL_IMPORT_INFO 4
-#define CERT_PE_IMAGE_DIGEST_NON_PE_INFO 8
-#define CERT_SECTION_TYPE_ANY 255
-#define CHECKSUM_SUCCESS 0
-#define CHECKSUM_OPEN_FAILURE 1
-#define CHECKSUM_MAP_FAILURE 2
-#define CHECKSUM_MAPVIEW_FAILURE 3
-#define CHECKSUM_UNICODE_FAILURE 4
-#define IMAGE_SEPARATION 65536
-#define SPLITSYM_REMOVE_PRIVATE 1
-#define SPLITSYM_EXTRACT_ALL 2
-#define SPLITSYM_SYMBOLPATH_IS_SRC 4
-#define SYMF_OMAP_GENERATED 1
-#define SYMF_OMAP_MODIFIED 2
-#define SYMOPT_CASE_INSENSITIVE 1
-#define SYMOPT_UNDNAME 2
-#define SYMOPT_DEFERRED_LOADS 4
-#define SYMOPT_NO_CPP 8
-#define SYMOPT_LOAD_LINES 16
-#define SYMOPT_OMAP_FIND_NEAREST 32
-#define UNDNAME_COMPLETE 0
-#define UNDNAME_NO_LEADING_UNDERSCORES 1
-#define UNDNAME_NO_MS_KEYWORDS 2
-#define UNDNAME_NO_FUNCTION_RETURNS 4
-#define UNDNAME_NO_ALLOCATION_MODEL 8
-#define UNDNAME_NO_ALLOCATION_LANGUAGE 16
-#define UNDNAME_NO_MS_THISTYPE 32
-#define UNDNAME_NO_CV_THISTYPE 64
-#define UNDNAME_NO_THISTYPE 96
-#define UNDNAME_NO_ACCESS_SPECIFIERS 128
-#define UNDNAME_NO_THROW_SIGNATURES 256
-#define UNDNAME_NO_MEMBER_TYPE 512
-#define UNDNAME_NO_RETURN_UDT_MODEL 1024
-#define UNDNAME_32_BIT_DECODE 2048
-#define UNDNAME_NAME_ONLY 4096
-#define UNDNAME_NO_ARGUMENTS 8192
-#define UNDNAME_NO_SPECIAL_SYMS 16384
-
-#define _IMAGEHLPAPI DECLSPEC_IMPORT WINAPI
-
-#ifndef RC_INVOKED
-
-typedef enum _IMAGEHLP_STATUS_REASON {
- BindOutOfMemory,
- BindRvaToVaFailed,
- BindNoRoomInImage,
- BindImportModuleFailed,
- BindImportProcedureFailed,
- BindImportModule,
- BindImportProcedure,
- BindForwarder,
- BindForwarderNOT,
- BindImageModified,
- BindExpandFileHeaders,
- BindImageComplete,
- BindMismatchedSymbols,
- BindSymbolsNotUpdated
-} IMAGEHLP_STATUS_REASON;
-typedef BOOL(STDCALL*PIMAGEHLP_STATUS_ROUTINE)(IMAGEHLP_STATUS_REASON,LPSTR,LPSTR,ULONG,ULONG);
-typedef struct _LOADED_IMAGE {
- LPSTR ModuleName;
- HANDLE hFile;
- PUCHAR MappedAddress;
- PIMAGE_NT_HEADERS FileHeader;
- PIMAGE_SECTION_HEADER LastRvaSection;
- ULONG NumberOfSections;
- PIMAGE_SECTION_HEADER Sections;
- ULONG Characteristics;
- BOOLEAN fSystemImage;
- BOOLEAN fDOSImage;
- LIST_ENTRY Links;
- ULONG SizeOfImage;
-} LOADED_IMAGE,*PLOADED_IMAGE;
-typedef struct _IMAGE_DEBUG_INFORMATION {
- LIST_ENTRY List;
- DWORD Size;
- PVOID MappedBase;
- USHORT Machine;
- USHORT Characteristics;
- DWORD CheckSum;
- DWORD ImageBase;
- DWORD SizeOfImage;
- DWORD NumberOfSections;
- PIMAGE_SECTION_HEADER Sections;
- DWORD ExportedNamesSize;
- LPSTR ExportedNames;
- DWORD NumberOfFunctionTableEntries;
- PIMAGE_FUNCTION_ENTRY FunctionTableEntries;
- DWORD LowestFunctionStartingAddress;
- DWORD HighestFunctionEndingAddress;
- DWORD NumberOfFpoTableEntries;
- PFPO_DATA FpoTableEntries;
- DWORD SizeOfCoffSymbols;
- PIMAGE_COFF_SYMBOLS_HEADER CoffSymbols;
- DWORD SizeOfCodeViewSymbols;
- PVOID CodeViewSymbols;
- LPSTR ImageFilePath;
- LPSTR ImageFileName;
- LPSTR DebugFilePath;
- DWORD TimeDateStamp;
- BOOL RomImage;
- PIMAGE_DEBUG_DIRECTORY DebugDirectory;
- DWORD NumberOfDebugDirectories;
- DWORD Reserved[3];
-} IMAGE_DEBUG_INFORMATION,*PIMAGE_DEBUG_INFORMATION;
-typedef enum {
- AddrMode1616,
- AddrMode1632,
- AddrModeReal,
- AddrModeFlat
-} ADDRESS_MODE;
-typedef struct _tagADDRESS {
- DWORD Offset;
- WORD Segment;
- ADDRESS_MODE Mode;
-} ADDRESS,*LPADDRESS;
-typedef struct _KDHELP {
- DWORD Thread;
- DWORD ThCallbackStack;
- DWORD NextCallback;
- DWORD FramePointer;
- DWORD KiCallUserMode;
- DWORD KeUserCallbackDispatcher;
- DWORD SystemRangeStart;
-} KDHELP,*PKDHELP;
-typedef struct _tagSTACKFRAME {
- ADDRESS AddrPC;
- ADDRESS AddrReturn;
- ADDRESS AddrFrame;
- ADDRESS AddrStack;
- LPVOID FuncTableEntry;
- DWORD Params[4];
- BOOL Far;
- BOOL Virtual;
- DWORD Reserved[3];
- KDHELP KdHelp;
-} STACKFRAME,*LPSTACKFRAME;
-typedef BOOL(STDCALL*PREAD_PROCESS_MEMORY_ROUTINE)(HANDLE ,LPCVOID,LPVOID,DWORD,LPDWORD);
-typedef LPVOID(STDCALL*PFUNCTION_TABLE_ACCESS_ROUTINE)(HANDLE,DWORD);
-typedef DWORD(STDCALL*PGET_MODULE_BASE_ROUTINE)(HANDLE,DWORD);
-typedef DWORD(STDCALL*PTRANSLATE_ADDRESS_ROUTINE)(HANDLE,HANDLE,LPADDRESS);
-typedef struct API_VERSION {
- USHORT MajorVersion;
- USHORT MinorVersion;
- USHORT Revision;
- USHORT Reserved;
-} API_VERSION,*LPAPI_VERSION;
-typedef BOOL(CALLBACK*PSYM_ENUMMODULES_CALLBACK)(LPSTR,ULONG,PVOID);
-typedef BOOL(CALLBACK*PSYM_ENUMSYMBOLS_CALLBACK)(LPSTR,ULONG,ULONG,PVOID);
-typedef BOOL(CALLBACK*PENUMLOADED_MODULES_CALLBACK)(LPSTR,ULONG,ULONG,PVOID);
-typedef BOOL(CALLBACK*PSYMBOL_REGISTERED_CALLBACK)(HANDLE,ULONG,PVOID,PVOID);
-typedef enum {
- SymNone,
- SymCoff,
- SymCv,
- SymPdb,
- SymExport,
- SymDeferred,
- SymSym
-} SYM_TYPE;
-typedef struct _IMAGEHLP_SYMBOL {
- DWORD SizeOfStruct;
- DWORD Address;
- DWORD Size;
- DWORD Flags;
- DWORD MaxNameLength;
- CHAR Name[1];
-} IMAGEHLP_SYMBOL,*PIMAGEHLP_SYMBOL;
-typedef struct _IMAGEHLP_MODULE {
- DWORD SizeOfStruct;
- DWORD BaseOfImage;
- DWORD ImageSize;
- DWORD TimeDateStamp;
- DWORD CheckSum;
- DWORD NumSyms;
- SYM_TYPE SymType;
- CHAR ModuleName[32];
- CHAR ImageName[256];
- CHAR LoadedImageName[256];
-} IMAGEHLP_MODULE,*PIMAGEHLP_MODULE;
-typedef struct _IMAGEHLP_LINE {
- DWORD SizeOfStruct;
- DWORD Key;
- DWORD LineNumber;
- PCHAR FileName;
- DWORD Address;
-} IMAGEHLP_LINE,*PIMAGEHLP_LINE;
-typedef struct _IMAGEHLP_DEFERRED_SYMBOL_LOAD {
- DWORD SizeOfStruct;
- DWORD BaseOfImage;
- DWORD CheckSum;
- DWORD TimeDateStamp;
- CHAR FileName[MAX_PATH];
- BOOLEAN Reparse;
-} IMAGEHLP_DEFERRED_SYMBOL_LOAD,*PIMAGEHLP_DEFERRED_SYMBOL_LOAD;
-typedef struct _IMAGEHLP_DUPLICATE_SYMBOL {
- DWORD SizeOfStruct;
- DWORD NumberOfDups;
- PIMAGEHLP_SYMBOL Symbol;
- ULONG SelectedSymbol;
-} IMAGEHLP_DUPLICATE_SYMBOL,*PIMAGEHLP_DUPLICATE_SYMBOL;
-typedef PVOID DIGEST_HANDLE;
-typedef BOOL(WINAPI*DIGEST_FUNCTION)(DIGEST_HANDLE refdata,PBYTE pData,DWORD dwLength);
-
-PIMAGE_NT_HEADERS _IMAGEHLPAPI CheckSumMappedFile(LPVOID,DWORD,LPDWORD,LPDWORD);
-DWORD _IMAGEHLPAPI MapFileAndCheckSumA(LPSTR,LPDWORD,LPDWORD);
-DWORD _IMAGEHLPAPI MapFileAndCheckSumW(PWSTR,LPDWORD,LPDWORD);
-BOOL _IMAGEHLPAPI TouchFileTimes(HANDLE,LPSYSTEMTIME);
-BOOL _IMAGEHLPAPI SplitSymbols(LPSTR,LPSTR,LPSTR,DWORD);
-HANDLE _IMAGEHLPAPI FindDebugInfoFile(LPSTR,LPSTR,LPSTR);
-HANDLE _IMAGEHLPAPI FindExecutableImage(LPSTR,LPSTR,LPSTR);
-BOOL _IMAGEHLPAPI UpdateDebugInfoFile(LPSTR,LPSTR,LPSTR,PIMAGE_NT_HEADERS);
-BOOL _IMAGEHLPAPI UpdateDebugInfoFileEx(LPSTR,LPSTR,LPSTR,PIMAGE_NT_HEADERS,DWORD);
-BOOL _IMAGEHLPAPI BindImage(IN LPSTR,IN LPSTR,IN LPSTR);
-BOOL _IMAGEHLPAPI BindImageEx(IN DWORD,IN LPSTR,IN LPSTR,IN LPSTR,IN PIMAGEHLP_STATUS_ROUTINE);
-BOOL _IMAGEHLPAPI ReBaseImage(IN LPSTR,IN LPSTR,IN BOOL, IN BOOL,IN BOOL, IN ULONG, OUT ULONG*, OUT ULONG*, OUT ULONG*, IN OUT ULONG*, IN ULONG);
-
-PLOADED_IMAGE _IMAGEHLPAPI ImageLoad(LPSTR,LPSTR);
-BOOL _IMAGEHLPAPI ImageUnload(PLOADED_IMAGE);
-PIMAGE_NT_HEADERS _IMAGEHLPAPI ImageNtHeader(IN PVOID);
-PVOID _IMAGEHLPAPI ImageDirectoryEntryToData(IN PVOID,IN BOOLEAN,IN USHORT,OUT PULONG);
-PIMAGE_SECTION_HEADER _IMAGEHLPAPI ImageRvaToSection(IN PIMAGE_NT_HEADERS,IN PVOID,IN ULONG);
-PVOID _IMAGEHLPAPI ImageRvaToVa(IN PIMAGE_NT_HEADERS,IN PVOID,IN ULONG,IN OUT PIMAGE_SECTION_HEADER*);
-BOOL _IMAGEHLPAPI MapAndLoad(LPSTR,LPSTR,PLOADED_IMAGE,BOOL,BOOL);
-BOOL _IMAGEHLPAPI GetImageConfigInformation(PLOADED_IMAGE,PIMAGE_LOAD_CONFIG_DIRECTORY);
-DWORD _IMAGEHLPAPI GetImageUnusedHeaderBytes(PLOADED_IMAGE,LPDWORD);
-BOOL _IMAGEHLPAPI SetImageConfigInformation(PLOADED_IMAGE,PIMAGE_LOAD_CONFIG_DIRECTORY);
-BOOL _IMAGEHLPAPI UnMapAndLoad(PLOADED_IMAGE);
-PIMAGE_DEBUG_INFORMATION _IMAGEHLPAPI MapDebugInformation(HANDLE,LPSTR,LPSTR,DWORD);
-BOOL _IMAGEHLPAPI UnmapDebugInformation(PIMAGE_DEBUG_INFORMATION);
-HANDLE _IMAGEHLPAPI FindExecutableImage(LPSTR,LPSTR,LPSTR);
-BOOL _IMAGEHLPAPI SearchTreeForFile(LPSTR,LPSTR,LPSTR);
-BOOL _IMAGEHLPAPI MakeSureDirectoryPathExists(LPCSTR);
-DWORD _IMAGEHLPAPI WINAPI UnDecorateSymbolName(LPCSTR,LPSTR,DWORD, DWORD);
-BOOL
-_IMAGEHLPAPI
-StackWalk(DWORD,HANDLE,HANDLE,LPSTACKFRAME,LPVOID,PREAD_PROCESS_MEMORY_ROUTINE,PFUNCTION_TABLE_ACCESS_ROUTINE,PGET_MODULE_BASE_ROUTINE,PTRANSLATE_ADDRESS_ROUTINE);
-LPAPI_VERSION _IMAGEHLPAPI ImagehlpApiVersion(VOID);
-LPAPI_VERSION _IMAGEHLPAPI ImagehlpApiVersionEx(LPAPI_VERSION);
-DWORD _IMAGEHLPAPI GetTimestampForLoadedLibrary(HMODULE);
-BOOL _IMAGEHLPAPI RemovePrivateCvSymbolic(PCHAR,PCHAR*,ULONG*);
-VOID _IMAGEHLPAPI RemoveRelocations(PCHAR);
-DWORD _IMAGEHLPAPI SymSetOptions(IN DWORD);
-DWORD _IMAGEHLPAPI SymGetOptions(VOID);
-BOOL _IMAGEHLPAPI SymCleanup(IN HANDLE);
-BOOL _IMAGEHLPAPI SymEnumerateModules(IN HANDLE,IN PSYM_ENUMMODULES_CALLBACK,IN PVOID);
-BOOL _IMAGEHLPAPI SymEnumerateSymbols(IN HANDLE,IN DWORD,IN PSYM_ENUMSYMBOLS_CALLBACK,IN PVOID);
-BOOL _IMAGEHLPAPI EnumerateLoadedModules(IN HANDLE,IN PENUMLOADED_MODULES_CALLBACK,IN PVOID);
-LPVOID _IMAGEHLPAPI SymFunctionTableAccess(HANDLE,DWORD);
-BOOL _IMAGEHLPAPI SymGetModuleInfo(IN HANDLE,IN DWORD,OUT PIMAGEHLP_MODULE);
-DWORD _IMAGEHLPAPI SymGetModuleBase(IN HANDLE,IN DWORD);
-BOOL _IMAGEHLPAPI SymGetSymFromAddr(IN HANDLE,IN DWORD,OUT PDWORD,OUT PIMAGEHLP_SYMBOL);
-BOOL _IMAGEHLPAPI SymGetSymFromName(IN HANDLE,IN LPSTR,OUT PIMAGEHLP_SYMBOL);
-BOOL _IMAGEHLPAPI SymGetSymNext(IN HANDLE,IN OUT PIMAGEHLP_SYMBOL);
-BOOL _IMAGEHLPAPI SymGetSymPrev(IN HANDLE,IN OUT PIMAGEHLP_SYMBOL);
-BOOL _IMAGEHLPAPI SymGetLineFromAddr(IN HANDLE,IN DWORD,OUT PDWORD,OUT PIMAGEHLP_LINE);
-BOOL _IMAGEHLPAPI SymGetLineFromName(IN HANDLE,IN LPSTR,IN LPSTR,IN DWORD,OUT PLONG,IN OUT PIMAGEHLP_LINE);
-BOOL _IMAGEHLPAPI SymGetLineNext(IN HANDLE,IN OUT PIMAGEHLP_LINE);
-BOOL _IMAGEHLPAPI SymGetLinePrev(IN HANDLE,IN OUT PIMAGEHLP_LINE);
-BOOL _IMAGEHLPAPI SymMatchFileName(IN LPSTR,IN LPSTR,OUT LPSTR*,OUT LPSTR*);
-BOOL _IMAGEHLPAPI SymInitialize(IN HANDLE,IN LPSTR,IN BOOL);
-BOOL _IMAGEHLPAPI SymGetSearchPath(IN HANDLE,OUT LPSTR,IN DWORD);
-BOOL _IMAGEHLPAPI SymSetSearchPath(IN HANDLE,IN LPSTR);
-BOOL _IMAGEHLPAPI SymLoadModule(IN HANDLE,IN HANDLE,IN PSTR,IN PSTR,IN DWORD,IN DWORD);
-BOOL _IMAGEHLPAPI SymUnloadModule(IN HANDLE,IN DWORD);
-BOOL _IMAGEHLPAPI SymUnDName(IN PIMAGEHLP_SYMBOL,OUT LPSTR,IN DWORD);
-BOOL _IMAGEHLPAPI SymRegisterCallback(IN HANDLE,IN PSYMBOL_REGISTERED_CALLBACK,IN PVOID);
-BOOL _IMAGEHLPAPI ImageGetDigestStream(IN HANDLE,IN DWORD,IN DIGEST_FUNCTION,IN DIGEST_HANDLE);
-BOOL _IMAGEHLPAPI ImageAddCertificate(IN HANDLE,IN LPWIN_CERTIFICATE,OUT PDWORD);
-BOOL _IMAGEHLPAPI ImageRemoveCertificate(IN HANDLE,IN DWORD);
-BOOL _IMAGEHLPAPI ImageEnumerateCertificates(IN HANDLE,IN WORD,OUT PDWORD,IN OUT PDWORD OPTIONAL,IN OUT DWORD OPTIONAL);
-BOOL _IMAGEHLPAPI ImageGetCertificateData(IN HANDLE,IN DWORD,OUT LPWIN_CERTIFICATE,IN OUT PDWORD);
-BOOL _IMAGEHLPAPI ImageGetCertificateHeader(IN HANDLE,IN DWORD,IN OUT LPWIN_CERTIFICATE);
-BOOL _IMAGEHLPAPI CopyPdb(CHAR const*,CHAR const*,BOOL);
-BOOL _IMAGEHLPAPI RemovePrivateCvSymbolicEx(PCHAR,ULONG,PCHAR*,ULONG*);
-
-#endif /* RC_INVOKED */
-
-#ifdef UNICODE
-#define MapFileAndCheckSum MapFileAndCheckSumW
-#else
-#define MapFileAndCheckSum MapFileAndCheckSumA
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _IMAGEHLP_H */
-
diff --git a/winsup/w32api/include/imm.h b/winsup/w32api/include/imm.h
deleted file mode 100644
index e3cc0d156..000000000
--- a/winsup/w32api/include/imm.h
+++ /dev/null
@@ -1,433 +0,0 @@
-#ifndef _IMM_H
-#define _IMM_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-#define WM_CONVERTREQUESTEX 0x108
-#define WM_IME_STARTCOMPOSITION 0x10D
-#define WM_IME_ENDCOMPOSITION 0x10E
-#define WM_IME_COMPOSITION 0x10F
-#define WM_IME_KEYLAST 0x10F
-#define WM_IME_SETCONTEXT 0x281
-#define WM_IME_NOTIFY 0x282
-#define WM_IME_CONTROL 0x283
-#define WM_IME_COMPOSITIONFULL 0x284
-#define WM_IME_SELECT 0x285
-#define WM_IME_CHAR 0x286
-#define WM_IME_KEYDOWN 0x290
-#define WM_IME_KEYUP 0x291
-#if (WINVER >= 0x0500)
-#define WM_IME_REQUEST 0x0288
-#endif
-#define IMC_GETCANDIDATEPOS 7
-#define IMC_SETCANDIDATEPOS 8
-#define IMC_GETCOMPOSITIONFONT 9
-#define IMC_SETCOMPOSITIONFONT 10
-#define IMC_GETCOMPOSITIONWINDOW 11
-#define IMC_SETCOMPOSITIONWINDOW 12
-#define IMC_GETSTATUSWINDOWPOS 15
-#define IMC_SETSTATUSWINDOWPOS 16
-#define IMC_CLOSESTATUSWINDOW 0x21
-#define IMC_OPENSTATUSWINDOW 0x22
-#define IMN_CLOSESTATUSWINDOW 1
-#define IMN_OPENSTATUSWINDOW 2
-#define IMN_CHANGECANDIDATE 3
-#define IMN_CLOSECANDIDATE 4
-#define IMN_OPENCANDIDATE 5
-#define IMN_SETCONVERSIONMODE 6
-#define IMN_SETSENTENCEMODE 7
-#define IMN_SETOPENSTATUS 8
-#define IMN_SETCANDIDATEPOS 9
-#define IMN_SETCOMPOSITIONFONT 10
-#define IMN_SETCOMPOSITIONWINDOW 11
-#define IMN_SETSTATUSWINDOWPOS 12
-#define IMN_GUIDELINE 13
-#define IMN_PRIVATE 14
-#define NI_OPENCANDIDATE 16
-#define NI_CLOSECANDIDATE 17
-#define NI_SELECTCANDIDATESTR 18
-#define NI_CHANGECANDIDATELIST 19
-#define NI_FINALIZECONVERSIONRESULT 20
-#define NI_COMPOSITIONSTR 21
-#define NI_SETCANDIDATE_PAGESTART 22
-#define NI_SETCANDIDATE_PAGESIZE 23
-#define NI_IMEMENUSELECTED 24
-#define ISC_SHOWUICANDIDATEWINDOW 1
-#define ISC_SHOWUICOMPOSITIONWINDOW 0x80000000
-#define ISC_SHOWUIGUIDELINE 0x40000000
-#define ISC_SHOWUIALLCANDIDATEWINDOW 15
-#define ISC_SHOWUIALL 0xC000000F
-#define CPS_COMPLETE 1
-#define CPS_CONVERT 2
-#define CPS_REVERT 3
-#define CPS_CANCEL 4
-#define IME_CHOTKEY_IME_NONIME_TOGGLE 16
-#define IME_CHOTKEY_SHAPE_TOGGLE 17
-#define IME_CHOTKEY_SYMBOL_TOGGLE 18
-#define IME_JHOTKEY_CLOSE_OPEN 0x30
-#define IME_KHOTKEY_SHAPE_TOGGLE 0x50
-#define IME_KHOTKEY_HANJACONVERT 0x51
-#define IME_KHOTKEY_ENGLISH 0x52
-#define IME_THOTKEY_IME_NONIME_TOGGLE 0x70
-#define IME_THOTKEY_SHAPE_TOGGLE 0x71
-#define IME_THOTKEY_SYMBOL_TOGGLE 0x72
-#define IME_HOTKEY_DSWITCH_FIRST 256
-#define IME_HOTKEY_DSWITCH_LAST 0x11F
-#define IME_ITHOTKEY_RESEND_RESULTSTR 512
-#define IME_ITHOTKEY_PREVIOUS_COMPOSITION 513
-#define IME_ITHOTKEY_UISTYLE_TOGGLE 514
-#define GCS_COMPREADSTR 1
-#define GCS_COMPREADATTR 2
-#define GCS_COMPREADCLAUSE 4
-#define GCS_COMPSTR 8
-#define GCS_COMPATTR 16
-#define GCS_COMPCLAUSE 32
-#define GCS_CURSORPOS 128
-#define GCS_DELTASTART 256
-#define GCS_RESULTREADSTR 512
-#define GCS_RESULTREADCLAUSE 1024
-#define GCS_RESULTSTR 2048
-#define GCS_RESULTCLAUSE 4096
-#define CS_INSERTCHAR 0x2000
-#define CS_NOMOVECARET 0x4000
-#define IMEVER_0310 0x3000A
-#define IMEVER_0400 0x40000
-#define IME_PROP_AT_CARET 0x10000
-#define IME_PROP_SPECIAL_UI 0x20000
-#define IME_PROP_CANDLIST_START_FROM_1 0x40000
-#define IME_PROP_UNICODE 0x80000
-#define UI_CAP_2700 1
-#define UI_CAP_ROT90 2
-#define UI_CAP_ROTANY 4
-#define SCS_CAP_COMPSTR 1
-#define SCS_CAP_MAKEREAD 2
-#define SELECT_CAP_CONVERSION 1
-#define SELECT_CAP_SENTENCE 2
-#define GGL_LEVEL 1
-#define GGL_INDEX 2
-#define GGL_STRING 3
-#define GGL_PRIVATE 4
-#define GL_LEVEL_NOGUIDELINE 0
-#define GL_LEVEL_FATAL 1
-#define GL_LEVEL_ERROR 2
-#define GL_LEVEL_WARNING 3
-#define GL_LEVEL_INFORMATION 4
-#define GL_ID_UNKNOWN 0
-#define GL_ID_NOMODULE 1
-#define GL_ID_NODICTIONARY 16
-#define GL_ID_CANNOTSAVE 17
-#define GL_ID_NOCONVERT 32
-#define GL_ID_TYPINGERROR 33
-#define GL_ID_TOOMANYSTROKE 34
-#define GL_ID_READINGCONFLICT 35
-#define GL_ID_INPUTREADING 36
-#define GL_ID_INPUTRADICAL 37
-#define GL_ID_INPUTCODE 38
-#define GL_ID_INPUTSYMBOL 39
-#define GL_ID_CHOOSECANDIDATE 40
-#define GL_ID_REVERSECONVERSION 41
-#define GL_ID_PRIVATE_FIRST 0x8000
-#define GL_ID_PRIVATE_LAST 0xFFFF
-#define IGP_GETIMEVERSION (DWORD)(-4)
-#define IGP_PROPERTY 4
-#define IGP_CONVERSION 8
-#define IGP_SENTENCE 12
-#define IGP_UI 16
-#define IGP_SETCOMPSTR 0x14
-#define IGP_SELECT 0x18
-#define SCS_SETSTR (GCS_COMPREADSTR|GCS_COMPSTR)
-#define SCS_CHANGEATTR (GCS_COMPREADATTR|GCS_COMPATTR)
-#define SCS_CHANGECLAUSE (GCS_COMPREADCLAUSE|GCS_COMPCLAUSE)
-#define ATTR_INPUT 0
-#define ATTR_TARGET_CONVERTED 1
-#define ATTR_CONVERTED 2
-#define ATTR_TARGET_NOTCONVERTED 3
-#define ATTR_INPUT_ERROR 4
-#define ATTR_FIXEDCONVERTED 5
-#define CFS_DEFAULT 0
-#define CFS_RECT 1
-#define CFS_POINT 2
-#define CFS_SCREEN 4
-#define CFS_FORCE_POSITION 32
-#define CFS_CANDIDATEPOS 64
-#define CFS_EXCLUDE 128
-#define GCL_CONVERSION 1
-#define GCL_REVERSECONVERSION 2
-#define GCL_REVERSE_LENGTH 3
-#define IME_CMODE_ALPHANUMERIC 0
-#define IME_CMODE_NATIVE 1
-#define IME_CMODE_CHINESE IME_CMODE_NATIVE
-#define IME_CMODE_HANGEUL IME_CMODE_NATIVE
-#define IME_CMODE_HANGUL IME_CMODE_NATIVE
-#define IME_CMODE_JAPANESE IME_CMODE_NATIVE
-#define IME_CMODE_KATAKANA 2
-#define IME_CMODE_LANGUAGE 3
-#define IME_CMODE_FULLSHAPE 8
-#define IME_CMODE_ROMAN 16
-#define IME_CMODE_CHARCODE 32
-#define IME_CMODE_HANJACONVERT 64
-#define IME_CMODE_SOFTKBD 128
-#define IME_CMODE_NOCONVERSION 256
-#define IME_CMODE_EUDC 512
-#define IME_CMODE_SYMBOL 1024
-#define IME_CMODE_FIXED 2048
-#define IME_SMODE_NONE 0
-#define IME_SMODE_PLAURALCLAUSE 1
-#define IME_SMODE_SINGLECONVERT 2
-#define IME_SMODE_AUTOMATIC 4
-#define IME_SMODE_PHRASEPREDICT 8
-#define IME_CAND_UNKNOWN 0
-#define IME_CAND_READ 1
-#define IME_CAND_CODE 2
-#define IME_CAND_MEANING 3
-#define IME_CAND_RADICAL 4
-#define IME_CAND_STROKE 5
-#define IMM_ERROR_NODATA (-1)
-#define IMM_ERROR_GENERAL (-2)
-#define IME_CONFIG_GENERAL 1
-#define IME_CONFIG_REGISTERWORD 2
-#define IME_CONFIG_SELECTDICTIONARY 3
-#define IME_ESC_QUERY_SUPPORT 3
-#define IME_ESC_RESERVED_FIRST 4
-#define IME_ESC_RESERVED_LAST 0x7FF
-#define IME_ESC_PRIVATE_FIRST 0x800
-#define IME_ESC_PRIVATE_LAST 0xFFF
-#define IME_ESC_SEQUENCE_TO_INTERNAL 0x1001
-#define IME_ESC_GET_EUDC_DICTIONARY 0x1003
-#define IME_ESC_SET_EUDC_DICTIONARY 0x1004
-#define IME_ESC_MAX_KEY 0x1005
-#define IME_ESC_IME_NAME 0x1006
-#define IME_ESC_SYNC_HOTKEY 0x1007
-#define IME_ESC_HANJA_MODE 0x1008
-#define IME_ESC_AUTOMATA 0x1009
-#define IME_REGWORD_STYLE_EUDC 1
-#define IME_REGWORD_STYLE_USER_FIRST 0x80000000
-#define IME_REGWORD_STYLE_USER_LAST 0xFFFFFFFF
-#define SOFTKEYBOARD_TYPE_T1 1
-#define SOFTKEYBOARD_TYPE_C1 2
-#define IMEMENUITEM_STRING_SIZE 80
-#define MOD_ALT 1
-#define MOD_CONTROL 2
-#define MOD_SHIFT 4
-#define MOD_WIN 8
-#define MOD_IGNORE_ALL_MODIFIER 1024
-#define MOD_ON_KEYUP 2048
-#define MOD_RIGHT 16384
-#define MOD_LEFT 32768
-#define IACE_CHILDREN 1
-#define IACE_DEFAULT 16
-#define IACE_IGNORENOCONTEXT 32
-#define IGIMIF_RIGHTMENU 1
-#define IGIMII_CMODE 1
-#define IGIMII_SMODE 2
-#define IGIMII_CONFIGURE 4
-#define IGIMII_TOOLS 8
-#define IGIMII_HELP 16
-#define IGIMII_OTHER 32
-#define IGIMII_INPUTTOOLS 64
-#define IMFT_RADIOCHECK 1
-#define IMFT_SEPARATOR 2
-#define IMFT_SUBMENU 4
-#define IMFS_GRAYED MFS_GRAYED
-#define IMFS_DISABLED MFS_DISABLED
-#define IMFS_CHECKED MFS_CHECKED
-#define IMFS_HILITE MFS_HILITE
-#define IMFS_ENABLED MFS_ENABLED
-#define IMFS_UNCHECKED MFS_UNCHECKED
-#define IMFS_UNHILITE MFS_UNHILITE
-#define IMFS_DEFAULT MFS_DEFAULT
-#ifndef VK_PROCESSKEY
-#define VK_PROCESSKEY 0x0E5
-#endif
-#define STYLE_DESCRIPTION_SIZE 32
-typedef DWORD HIMC;
-typedef DWORD HIMCC;
-typedef HKL *LPHKL;
-typedef struct tagCOMPOSITIONFORM {
- DWORD dwStyle;
- POINT ptCurrentPos;
- RECT rcArea;
-} COMPOSITIONFORM,*PCOMPOSITIONFORM,*LPCOMPOSITIONFORM;
-typedef struct tagCANDIDATEFORM {
- DWORD dwIndex;
- DWORD dwStyle;
- POINT ptCurrentPos;
- RECT rcArea;
-} CANDIDATEFORM,*PCANDIDATEFORM,*LPCANDIDATEFORM;
-typedef struct tagCANDIDATELIST {
- DWORD dwSize;
- DWORD dwStyle;
- DWORD dwCount;
- DWORD dwSelection;
- DWORD dwPageStart;
- DWORD dwPageSize;
- DWORD dwOffset[1];
-} CANDIDATELIST,*PCANDIDATELIST,*LPCANDIDATELIST;
-typedef struct tagREGISTERWORDA {
- LPSTR lpReading;
- LPSTR lpWord;
-} REGISTERWORDA,*PREGISTERWORDA,*LPREGISTERWORDA;
-typedef struct tagREGISTERWORDW {
- LPWSTR lpReading;
- LPWSTR lpWord;
-} REGISTERWORDW,*PREGISTERWORDW,*LPREGISTERWORDW;
-typedef struct tagSTYLEBUFA {
- DWORD dwStyle;
- CHAR szDescription[STYLE_DESCRIPTION_SIZE];
-} STYLEBUFA,*PSTYLEBUFA,*LPSTYLEBUFA;
-typedef struct tagSTYLEBUFW {
- DWORD dwStyle;
- WCHAR szDescription[STYLE_DESCRIPTION_SIZE];
-} STYLEBUFW,*PSTYLEBUFW,*LPSTYLEBUFW;
-typedef struct tagIMEMENUITEMINFOA {
- UINT cbSize;
- UINT fType;
- UINT fState;
- UINT wID;
- HBITMAP hbmpChecked;
- HBITMAP hbmpUnchecked;
- DWORD dwItemData;
- CHAR szString[IMEMENUITEM_STRING_SIZE];
- HBITMAP hbmpItem;
-} IMEMENUITEMINFOA,*PIMEMENUITEMINFOA,*LPIMEMENUITEMINFOA;
-typedef struct tagIMEMENUITEMINFOW {
- UINT cbSize;
- UINT fType;
- UINT fState;
- UINT wID;
- HBITMAP hbmpChecked;
- HBITMAP hbmpUnchecked;
- DWORD dwItemData;
- WCHAR szString[IMEMENUITEM_STRING_SIZE];
- HBITMAP hbmpItem;
-} IMEMENUITEMINFOW,*PIMEMENUITEMINFOW,*LPIMEMENUITEMINFOW;
-typedef int (CALLBACK *REGISTERWORDENUMPROCA)(LPCSTR, DWORD, LPCSTR, LPVOID);
-typedef int (CALLBACK *REGISTERWORDENUMPROCW)(LPCWSTR, DWORD, LPCWSTR, LPVOID);
-#ifdef UNICODE
-#define REGISTERWORDENUMPROC REGISTERWORDENUMPROCW
-typedef REGISTERWORDW REGISTERWORD,*PREGISTERWORD,*LPREGISTERWORD;
-typedef STYLEBUFW STYLEBUF,*PSTYLEBUF,*LPSTYLEBUF;
-typedef IMEMENUITEMINFOW IMEMENUITEMINFO,*PIMEMENUITEMINFO,*LPIMEMENUITEMINFO;
-#else
-#define REGISTERWORDENUMPROC REGISTERWORDENUMPROCA
-typedef REGISTERWORDA REGISTERWORD,*PREGISTERWORD,*LPREGISTERWORD;
-typedef STYLEBUFA STYLEBUF,*PSTYLEBUF,*LPSTYLEBUF;
-typedef IMEMENUITEMINFOA IMEMENUITEMINFO,*PIMEMENUITEMINFO,*LPIMEMENUITEMINFO;
-#endif
-HKL WINAPI ImmInstallIMEA(LPCSTR,LPCSTR);
-HKL WINAPI ImmInstallIMEW(LPCWSTR,LPCWSTR);
-HWND WINAPI ImmGetDefaultIMEWnd(HWND);
-UINT WINAPI ImmGetDescriptionA(HKL,LPSTR,UINT);
-UINT WINAPI ImmGetDescriptionW(HKL,LPWSTR,UINT);
-UINT WINAPI ImmGetIMEFileNameA(HKL,LPSTR,UINT);
-UINT WINAPI ImmGetIMEFileNameW(HKL,LPWSTR,UINT);
-DWORD WINAPI ImmGetProperty(HKL,DWORD);
-BOOL WINAPI ImmIsIME(HKL);
-BOOL WINAPI ImmSimulateHotKey(HWND,DWORD);
-HIMC WINAPI ImmCreateContext(void);
-BOOL WINAPI ImmDestroyContext(HIMC);
-HIMC WINAPI ImmGetContext(HWND);
-BOOL WINAPI ImmReleaseContext(HWND,HIMC);
-HIMC WINAPI ImmAssociateContext(HWND,HIMC);
-LONG WINAPI ImmGetCompositionStringA(HIMC,DWORD,PVOID,DWORD);
-LONG WINAPI ImmGetCompositionStringW(HIMC,DWORD,PVOID,DWORD);
-BOOL WINAPI ImmSetCompositionStringA(HIMC,DWORD,PCVOID,DWORD,PCVOID,DWORD);
-BOOL WINAPI ImmSetCompositionStringW(HIMC,DWORD,PCVOID,DWORD,PCVOID,DWORD);
-DWORD WINAPI ImmGetCandidateListCountA(HIMC,PDWORD);
-DWORD WINAPI ImmGetCandidateListCountW(HIMC,PDWORD);
-DWORD WINAPI ImmGetCandidateListA(HIMC,DWORD,PCANDIDATELIST,DWORD);
-DWORD WINAPI ImmGetCandidateListW(HIMC,DWORD,PCANDIDATELIST,DWORD);
-DWORD WINAPI ImmGetGuideLineA(HIMC,DWORD,LPSTR,DWORD);
-DWORD WINAPI ImmGetGuideLineW(HIMC,DWORD,LPWSTR,DWORD);
-BOOL WINAPI ImmGetConversionStatus(HIMC,LPDWORD,PDWORD);
-BOOL WINAPI ImmSetConversionStatus(HIMC,DWORD,DWORD);
-BOOL WINAPI ImmGetOpenStatus(HIMC);
-BOOL WINAPI ImmSetOpenStatus(HIMC,BOOL);
-#ifndef NOGDI
-BOOL WINAPI ImmGetCompositionFontA(HIMC,LPLOGFONTA);
-BOOL WINAPI ImmGetCompositionFontW(HIMC,LPLOGFONTW);
-BOOL WINAPI ImmSetCompositionFontA(HIMC,LPLOGFONTA);
-BOOL WINAPI ImmSetCompositionFontW(HIMC,LPLOGFONTW);
-#endif
-BOOL WINAPI ImmConfigureIMEA(HKL,HWND,DWORD,PVOID);
-BOOL WINAPI ImmConfigureIMEW(HKL,HWND,DWORD,PVOID);
-LRESULT WINAPI ImmEscapeA(HKL,HIMC,UINT,PVOID);
-LRESULT WINAPI ImmEscapeW(HKL,HIMC,UINT,PVOID);
-DWORD WINAPI ImmGetConversionListA(HKL,HIMC,LPCSTR,PCANDIDATELIST,DWORD,UINT);
-DWORD WINAPI ImmGetConversionListW(HKL,HIMC,LPCWSTR,PCANDIDATELIST,DWORD,UINT);
-BOOL WINAPI ImmNotifyIME(HIMC,DWORD,DWORD,DWORD);
-BOOL WINAPI ImmGetStatusWindowPos(HIMC,LPPOINT);
-BOOL WINAPI ImmSetStatusWindowPos(HIMC,LPPOINT);
-BOOL WINAPI ImmGetCompositionWindow(HIMC,PCOMPOSITIONFORM);
-BOOL WINAPI ImmSetCompositionWindow(HIMC,PCOMPOSITIONFORM);
-BOOL WINAPI ImmGetCandidateWindow(HIMC,DWORD,PCANDIDATEFORM);
-BOOL WINAPI ImmSetCandidateWindow(HIMC,PCANDIDATEFORM);
-BOOL WINAPI ImmIsUIMessageA(HWND,UINT,WPARAM,LPARAM);
-BOOL WINAPI ImmIsUIMessageW(HWND,UINT,WPARAM,LPARAM);
-UINT WINAPI ImmGetVirtualKey(HWND);
-BOOL WINAPI ImmRegisterWordA(HKL,LPCSTR,DWORD,LPCSTR);
-BOOL WINAPI ImmRegisterWordW(HKL,LPCWSTR,DWORD,LPCWSTR);
-BOOL WINAPI ImmUnregisterWordA(HKL,LPCSTR,DWORD,LPCSTR);
-BOOL WINAPI ImmUnregisterWordW(HKL,LPCWSTR,DWORD,LPCWSTR);
-UINT WINAPI ImmGetRegisterWordStyleA(HKL,UINT,PSTYLEBUFA);
-UINT WINAPI ImmGetRegisterWordStyleW(HKL,UINT,PSTYLEBUFW);
-UINT WINAPI ImmEnumRegisterWordA(HKL,REGISTERWORDENUMPROCA,LPCSTR,DWORD,LPCSTR,PVOID);
-UINT WINAPI ImmEnumRegisterWordW(HKL,REGISTERWORDENUMPROCW,LPCWSTR,DWORD,LPCWSTR,PVOID);
-BOOL WINAPI EnableEUDC(BOOL);
-BOOL WINAPI ImmDisableIME(DWORD);
-DWORD WINAPI ImmGetImeMenuItemsA(HIMC,DWORD,DWORD,LPIMEMENUITEMINFOA,LPIMEMENUITEMINFOA,DWORD);
-DWORD WINAPI ImmGetImeMenuItemsW(HIMC,DWORD,DWORD,LPIMEMENUITEMINFOW,LPIMEMENUITEMINFOW,DWORD);
-
-#ifdef UNICODE
-#define ImmEnumRegisterWord ImmEnumRegisterWordW
-#define ImmGetRegisterWordStyle ImmGetRegisterWordStyleW
-#define ImmUnregisterWord ImmUnregisterWordW
-#define ImmRegisterWord ImmRegisterWordW
-#define ImmInstallIME ImmInstallIMEW
-#define ImmIsUIMessage ImmIsUIMessageW
-#define ImmGetConversionList ImmGetConversionListW
-#define ImmEscape ImmEscapeW
-#define ImmConfigureIME ImmConfigureIMEW
-#ifndef NOGDI
-#define ImmSetCompositionFont ImmSetCompositionFontW
-#define ImmGetCompositionFont ImmGetCompositionFontW
-#endif
-#define ImmGetGuideLine ImmGetGuideLineW
-#define ImmGetCandidateList ImmGetCandidateListW
-#define ImmGetCandidateListCount ImmGetCandidateListCountW
-#define ImmSetCompositionString ImmSetCompositionStringW
-#define ImmGetCompositionString ImmGetCompositionStringW
-#define ImmGetDescription ImmGetDescriptionW
-#define ImmGetIMEFileName ImmGetIMEFileNameW
-#define ImmGetImeMenuItems ImmGetImeMenuItemsW
-#else
-#define ImmEnumRegisterWord ImmEnumRegisterWordA
-#define ImmGetRegisterWordStyle ImmGetRegisterWordStyleA
-#define ImmUnregisterWord ImmUnregisterWordA
-#define ImmRegisterWord ImmRegisterWordA
-#define ImmInstallIME ImmInstallIMEA
-#define ImmIsUIMessage ImmIsUIMessageA
-#define ImmGetConversionList ImmGetConversionListA
-#define ImmEscape ImmEscapeA
-#define ImmConfigureIME ImmConfigureIMEA
-#ifndef NOGDI
-#define ImmSetCompositionFont ImmSetCompositionFontA
-#define ImmGetCompositionFont ImmGetCompositionFontA
-#endif
-#define ImmGetGuideLine ImmGetGuideLineA
-#define ImmGetCandidateList ImmGetCandidateListA
-#define ImmGetCandidateListCount ImmGetCandidateListCountA
-#define ImmSetCompositionString ImmSetCompositionStringA
-#define ImmGetCompositionString ImmGetCompositionStringA
-#define ImmGetDescription ImmGetDescriptionA
-#define ImmGetIMEFileName ImmGetIMEFileNameA
-#define ImmGetImeMenuItems ImmGetImeMenuItemsW
-#endif
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/winsup/w32api/include/initguid.h b/winsup/w32api/include/initguid.h
deleted file mode 100644
index b024c7075..000000000
--- a/winsup/w32api/include/initguid.h
+++ /dev/null
@@ -1,12 +0,0 @@
-#ifndef _INITGUID_H
-#define _INITGUID_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifndef DEFINE_GUID
-#include <basetyps.h>
-#endif
-#undef DEFINE_GUID
-#define DEFINE_GUID(n,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) GUID_EXT const GUID n GUID_SECT = {l,w1,w2,{b1,b2,b3,b4,b5,b6,b7,b8}}
-#endif
diff --git a/winsup/w32api/include/intshcut.h b/winsup/w32api/include/intshcut.h
deleted file mode 100644
index e4c87cd10..000000000
--- a/winsup/w32api/include/intshcut.h
+++ /dev/null
@@ -1,82 +0,0 @@
-#ifndef _INTSHCUT_H
-#define _INTSHCUT_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#include <isguids.h>
-#ifdef __cplusplus
-extern "C" {
-#endif
-#define INTSHCUTAPI DECLSPEC_IMPORT
-#define E_FLAGS MAKE_SCODE(SEVERITY_ERROR,FACILITY_ITF,0x1000)
-#define IS_E_EXEC_FAILED MAKE_SCODE(SEVERITY_ERROR,FACILITY_ITF,0x2002)
-#define URL_E_INVALID_SYNTAX MAKE_SCODE(SEVERITY_ERROR,FACILITY_ITF,0x1001)
-#define URL_E_UNREGISTERED_PROTOCOL MAKE_SCODE(SEVERITY_ERROR,FACILITY_ITF,0x1002)
-typedef enum iurl_seturl_flags {
- IURL_SETURL_FL_GUESS_PROTOCOL=1,
- IURL_SETURL_FL_USE_DEFAULT_PROTOCOL,
- ALL_IURL_SETURL_FLAGS=(IURL_SETURL_FL_GUESS_PROTOCOL|IURL_SETURL_FL_USE_DEFAULT_PROTOCOL)
-} IURL_SETURL_FLAGS;
-typedef enum iurl_invokecommand_flags {
- IURL_INVOKECOMMAND_FL_ALLOW_UI=1,
- IURL_INVOKECOMMAND_FL_USE_DEFAULT_VERB,
- ALL_IURL_INVOKECOMMAND_FLAGS=(IURL_INVOKECOMMAND_FL_ALLOW_UI|IURL_INVOKECOMMAND_FL_USE_DEFAULT_VERB)
-} IURL_INVOKECOMMAND_FLAGS;
-typedef enum translateurl_in_flags {
- TRANSLATEURL_FL_GUESS_PROTOCOL=1,
- TRANSLATEURL_FL_USE_DEFAULT_PROTOCOL,
- ALL_TRANSLATEURL_FLAGS=(TRANSLATEURL_FL_GUESS_PROTOCOL|TRANSLATEURL_FL_USE_DEFAULT_PROTOCOL)
-} TRANSLATEURL_IN_FLAGS;
-typedef enum urlassociationdialog_in_flags {
- URLASSOCDLG_FL_USE_DEFAULT_NAME=1,
- URLASSOCDLG_FL_REGISTER_ASSOC,
- ALL_URLASSOCDLG_FLAGS=(URLASSOCDLG_FL_USE_DEFAULT_NAME|URLASSOCDLG_FL_REGISTER_ASSOC)
-} URLASSOCIATIONDIALOG_IN_FLAGS;
-typedef enum mimeassociationdialog_in_flags {
- MIMEASSOCDLG_FL_REGISTER_ASSOC=1,
- ALL_MIMEASSOCDLG_FLAGS=MIMEASSOCDLG_FL_REGISTER_ASSOC
-} MIMEASSOCIATIONDIALOG_IN_FLAGS;
-typedef struct urlinvokecommandinfo {
- DWORD dwcbSize;
- DWORD dwFlags;
- HWND hwndParent;
- PCSTR pcszVerb;
-} URLINVOKECOMMANDINFO,*PURLINVOKECOMMANDINFO;
-typedef const URLINVOKECOMMANDINFO CURLINVOKECOMMANDINFO;
-typedef const URLINVOKECOMMANDINFO *PCURLINVOKECOMMANDINFO;
-#undef INTERFACE
-#define INTERFACE IUniformResourceLocator
-DECLARE_INTERFACE_(IUniformResourceLocator,IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(SetURL)(THIS_ PCSTR,DWORD) PURE;
- STDMETHOD(GetURL)(THIS_ PSTR*) PURE;
- STDMETHOD(InvokeCommand)(THIS_ PURLINVOKECOMMANDINFO) PURE;
-};
-typedef IUniformResourceLocator *PIUniformResourceLocator;
-typedef const IUniformResourceLocator CIUniformResourceLocator;
-typedef const IUniformResourceLocator *PCIUniformResourceLocator;
-
-BOOL WINAPI InetIsOffline(DWORD);
-HRESULT WINAPI MIMEAssociationDialogA(HWND,DWORD,PCSTR,PCSTR,PSTR,UINT);
-HRESULT WINAPI MIMEAssociationDialogW(HWND,DWORD,PCWSTR,PCWSTR,PWSTR,UINT);
-HRESULT WINAPI TranslateURLA(PCSTR,DWORD,PSTR*);
-HRESULT WINAPI TranslateURLW(PCWSTR,DWORD,PWSTR*);
-HRESULT WINAPI URLAssociationDialogA(HWND,DWORD,PCSTR,PCSTR,PSTR,UINT);
-HRESULT WINAPI URLAssociationDialogW(HWND,DWORD,PCWSTR,PCWSTR,PWSTR,UINT);
-#ifdef UNICODE
-#define TranslateURL TranslateURLW
-#define MIMEAssociationDialog MIMEAssociationDialogW
-#define URLAssociationDialog URLAssociationDialogW
-#else
-#define TranslateURL TranslateURLA
-#define MIMEAssociationDialog MIMEAssociationDialogA
-#define URLAssociationDialog URLAssociationDialogA
-#endif
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/winsup/w32api/include/ipexport.h b/winsup/w32api/include/ipexport.h
deleted file mode 100644
index 3fbf4eec9..000000000
--- a/winsup/w32api/include/ipexport.h
+++ /dev/null
@@ -1,88 +0,0 @@
-#ifndef _IPEXPORT_H
-#define _IPEXPORT_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-#ifndef ANY_SIZE
-#define ANY_SIZE 1
-#endif
-#define MAX_ADAPTER_NAME 128
-/* IP STATUS flags */
-#define IP_STATUS_BASE 11000
-#define IP_SUCCESS 0
-#define IP_BUF_TOO_SMALL (IP_STATUS_BASE + 1)
-#define IP_DEST_NET_UNREACHABLE (IP_STATUS_BASE + 2)
-#define IP_DEST_HOST_UNREACHABLE (IP_STATUS_BASE + 3)
-#define IP_DEST_PROT_UNREACHABLE (IP_STATUS_BASE + 4)
-#define IP_DEST_PORT_UNREACHABLE (IP_STATUS_BASE + 5)
-#define IP_NO_RESOURCES (IP_STATUS_BASE + 6)
-#define IP_BAD_OPTION (IP_STATUS_BASE + 7)
-#define IP_HW_ERROR (IP_STATUS_BASE + 8)
-#define IP_PACKET_TOO_BIG (IP_STATUS_BASE + 9)
-#define IP_REQ_TIMED_OUT (IP_STATUS_BASE + 10)
-#define IP_BAD_REQ (IP_STATUS_BASE + 11)
-#define IP_BAD_ROUTE (IP_STATUS_BASE + 12)
-#define IP_TTL_EXPIRED_TRANSIT (IP_STATUS_BASE + 13)
-#define IP_TTL_EXPIRED_REASSEM (IP_STATUS_BASE + 14)
-#define IP_PARAM_PROBLEM (IP_STATUS_BASE + 15)
-#define IP_SOURCE_QUENCH (IP_STATUS_BASE + 16)
-#define IP_OPTION_TOO_BIG (IP_STATUS_BASE + 17)
-#define IP_BAD_DESTINATION (IP_STATUS_BASE + 18)
-#define IP_ADDR_DELETED (IP_STATUS_BASE + 19)
-#define IP_SPEC_MTU_CHANGE (IP_STATUS_BASE + 20)
-#define IP_MTU_CHANGE (IP_STATUS_BASE + 21)
-#define IP_UNLOAD (IP_STATUS_BASE + 22)
-#define IP_GENERAL_FAILURE (IP_STATUS_BASE + 50)
-#define MAX_IP_STATUS IP_GENERAL_FAILURE
-#define IP_PENDING (IP_STATUS_BASE + 255)
-/* IP header Flags values */
-#define IP_FLAG_DF 0x2
-/* IP Option types */
-#define IP_OPT_EOL 0
-#define IP_OPT_NOP 1
-#define IP_OPT_SECURITY 0x82
-#define IP_OPT_LSRR 0x83
-#define IP_OPT_SSRR 0x89
-#define IP_OPT_RR 0x7
-#define IP_OPT_TS 0x44
-#define IP_OPT_SID 0x88
-#define IP_OPT_ROUTER_ALERT 0x94
-#define MAX_OPT_SIZE 40
-
-typedef unsigned long IPAddr, IPMask, IP_STATUS;
-typedef struct ip_option_information {
- unsigned char Ttl;
- unsigned char Tos;
- unsigned char Flags;
- unsigned char OptionsSize;
- unsigned char* OptionsData;
-}IP_OPTION_INFORMATION, *PIP_OPTION_INFORMATION;
-typedef struct icmp_echo_reply {
- IPAddr Address;
- unsigned long Status;
- unsigned long RoundTripTime;
- unsigned short DataSize;
- unsigned short Reserved;
- void* Data;
- struct ip_option_information Options;
-} ICMP_ECHO_REPLY, *PICMP_ECHO_REPLY;
-typedef struct {
- ULONG Index;
- WCHAR Name[MAX_ADAPTER_NAME];
-} IP_ADAPTER_INDEX_MAP, *PIP_ADAPTER_INDEX_MAP;
-typedef struct {
- LONG NumAdapters;
- IP_ADAPTER_INDEX_MAP Adapter[ANY_SIZE];
-} IP_INTERFACE_INFO, *PIP_INTERFACE_INFO;
-typedef struct _IP_UNIDIRECTIONAL_ADAPTER_ADDRESS {
- ULONG NumAdapters;
- IPAddr Address[1];
-} IP_UNIDIRECTIONAL_ADAPTER_ADDRESS, *PIP_UNIDIRECTIONAL_ADAPTER_ADDRESS;
-#ifdef __cplusplus
-}
-#endif
-#endif /* _IPEXPORT_H */
diff --git a/winsup/w32api/include/iphlpapi.h b/winsup/w32api/include/iphlpapi.h
deleted file mode 100644
index 214c53ef7..000000000
--- a/winsup/w32api/include/iphlpapi.h
+++ /dev/null
@@ -1,60 +0,0 @@
-#ifndef _IPHLPAPI_H
-#define _IPHLPAPI_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#include <iprtrmib.h>
-#include <ipexport.h>
-#include <iptypes.h>
-#ifdef __cplusplus
-extern "C" {
-#endif
-DWORD WINAPI AddIPAddress(IPAddr,IPMask,DWORD,PULONG,PULONG);
-DWORD WINAPI CreateIpForwardEntry(PMIB_IPFORWARDROW);
-DWORD WINAPI CreateIpNetEntry(PMIB_IPNETROW);
-DWORD WINAPI CreateProxyArpEntry(DWORD,DWORD,DWORD);
-DWORD WINAPI DeleteIPAddress(ULONG);
-DWORD WINAPI DeleteIpForwardEntry(PMIB_IPFORWARDROW);
-DWORD WINAPI DeleteIpNetEntry(PMIB_IPNETROW);
-DWORD WINAPI DeleteProxyArpEntry(DWORD,DWORD,DWORD);
-DWORD WINAPI EnableRouter(HANDLE*,OVERLAPPED*);
-DWORD WINAPI FlushIpNetTable(DWORD);
-DWORD WINAPI GetAdapterIndex(LPWSTR,PULONG);
-DWORD WINAPI GetAdaptersInfo(PIP_ADAPTER_INFO,PULONG);
-DWORD WINAPI GetBestInterface(IPAddr,PDWORD);
-DWORD WINAPI GetBestRoute(DWORD,DWORD,PMIB_IPFORWARDROW);
-DWORD WINAPI GetFriendlyIfIndex(DWORD);
-DWORD WINAPI GetIcmpStatistics(PMIB_ICMP);
-DWORD WINAPI GetIfEntry(PMIB_IFROW);
-DWORD WINAPI GetIfTable(PMIB_IFTABLE,PULONG,BOOL);
-DWORD WINAPI GetInterfaceInfo(PIP_INTERFACE_INFO,PULONG);
-DWORD WINAPI GetIpAddrTable(PMIB_IPADDRTABLE,PULONG,BOOL);
-DWORD WINAPI GetIpForwardTable(PMIB_IPFORWARDTABLE,PULONG,BOOL);
-DWORD WINAPI GetIpNetTable(PMIB_IPNETTABLE,PULONG,BOOL);
-DWORD WINAPI GetIpStatistics(PMIB_IPSTATS);
-DWORD WINAPI GetNetworkParams(PFIXED_INFO,PULONG);
-DWORD WINAPI GetNumberOfInterfaces(PDWORD);
-DWORD WINAPI GetPerAdapterInfo(ULONG,PIP_PER_ADAPTER_INFO, PULONG);
-BOOL WINAPI GetRTTAndHopCount(IPAddr,PULONG,ULONG,PULONG);
-DWORD WINAPI GetTcpStatistics(PMIB_TCPSTATS);
-DWORD WINAPI GetTcpTable(PMIB_TCPTABLE,PDWORD,BOOL);
-DWORD WINAPI GetUniDirectionalAdapterInfo(PIP_UNIDIRECTIONAL_ADAPTER_ADDRESS,PULONG);
-DWORD WINAPI GetUdpStatistics(PMIB_UDPSTATS);
-DWORD WINAPI GetUdpTable(PMIB_UDPTABLE,PDWORD,BOOL);
-DWORD WINAPI IpReleaseAddress(PIP_ADAPTER_INDEX_MAP);
-DWORD WINAPI IpRenewAddress(PIP_ADAPTER_INDEX_MAP);
-DWORD WINAPI NotifyAddrChange(PHANDLE,LPOVERLAPPED);
-DWORD WINAPI NotifyRouteChange(PHANDLE,LPOVERLAPPED);
-DWORD WINAPI SendARP(IPAddr,IPAddr,PULONG,PULONG);
-DWORD WINAPI SetIfEntry(PMIB_IFROW);
-DWORD WINAPI SetIpForwardEntry(PMIB_IPFORWARDROW);
-DWORD WINAPI SetIpNetEntry(PMIB_IPNETROW);
-DWORD WINAPI SetIpStatistics(PMIB_IPSTATS);
-DWORD WINAPI SetIpTTL(UINT);
-DWORD WINAPI SetTcpEntry(PMIB_TCPROW);
-DWORD WINAPI UnenableRouter(OVERLAPPED*, LPDWORD);
-#ifdef __cplusplus
-}
-#endif
-#endif /* _IPHLPAPI_H */
diff --git a/winsup/w32api/include/ipifcons.h b/winsup/w32api/include/ipifcons.h
deleted file mode 100644
index eecf53264..000000000
--- a/winsup/w32api/include/ipifcons.h
+++ /dev/null
@@ -1,23 +0,0 @@
-#ifndef _IPIFCONS_H
-#define _IPIFCONS_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#define MIB_IF_ADMIN_STATUS_UP 1
-#define MIB_IF_ADMIN_STATUS_DOWN 2
-#define MIB_IF_ADMIN_STATUS_TESTING 3
-#define MIB_IF_OPER_STATUS_NON_OPERATIONAL 0
-#define MIB_IF_OPER_STATUS_UNREACHABLE 1
-#define MIB_IF_OPER_STATUS_DISCONNECTED 2
-#define MIB_IF_OPER_STATUS_CONNECTING 3
-#define MIB_IF_OPER_STATUS_CONNECTED 4
-#define MIB_IF_OPER_STATUS_OPERATIONAL 5
-#define MIB_IF_TYPE_OTHER 1
-#define MIB_IF_TYPE_ETHERNET 6
-#define MIB_IF_TYPE_TOKENRING 9
-#define MIB_IF_TYPE_FDDI 15
-#define MIB_IF_TYPE_PPP 23
-#define MIB_IF_TYPE_LOOPBACK 24
-#define MIB_IF_TYPE_SLIP 28
-#endif /* _IPIFCONS_H */
diff --git a/winsup/w32api/include/iprtrmib.h b/winsup/w32api/include/iprtrmib.h
deleted file mode 100644
index f897ecbfa..000000000
--- a/winsup/w32api/include/iprtrmib.h
+++ /dev/null
@@ -1,209 +0,0 @@
-#ifndef _IPRTRMIB_H
-#define _IPRTRMIB_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#include <ipifcons.h>
-#ifdef __cplusplus
-extern "C" {
-#endif
-#ifndef ANY_SIZE
-#define ANY_SIZE 1
-#endif
-#define MAXLEN_PHYSADDR 8
-#define MAXLEN_IFDESCR 256
-#ifndef MAX_INTERFACE_NAME_LEN
-#define MAX_INTERFACE_NAME_LEN 256
-#endif
-#define MIB_IPNET_TYPE_OTHER 1
-#define MIB_IPNET_TYPE_INVALID 2
-#define MIB_IPNET_TYPE_DYNAMIC 3
-#define MIB_IPNET_TYPE_STATIC 4
-#define MIB_TCP_RTO_OTHER 1
-#define MIB_TCP_RTO_CONSTANT 2
-#define MIB_TCP_RTO_RSRE 3
-#define MIB_TCP_RTO_VANJ 4
-#define MIB_TCP_STATE_CLOSED 1
-#define MIB_TCP_STATE_LISTEN 2
-#define MIB_TCP_STATE_SYN_SENT 3
-#define MIB_TCP_STATE_SYN_RCVD 4
-#define MIB_TCP_STATE_ESTAB 5
-#define MIB_TCP_STATE_FIN_WAIT1 6
-#define MIB_TCP_STATE_FIN_WAIT2 7
-#define MIB_TCP_STATE_CLOSE_WAIT 8
-#define MIB_TCP_STATE_CLOSING 9
-#define MIB_TCP_STATE_LAST_ACK 10
-#define MIB_TCP_STATE_TIME_WAIT 11
-#define MIB_TCP_STATE_DELETE_TCB 12
-#define MIB_USE_CURRENT_TTL ((DWORD)-1)
-#define MIB_USE_CURRENT_FORWARDING ((DWORD)-1)
-#define MIB_TCP_MAXCONN_DYNAMIC ((DWORD)-1)
-typedef struct {
- DWORD dwAddr;
- DWORD dwIndex;
- DWORD dwMask;
- DWORD dwBCastAddr;
- DWORD dwReasmSize;
- unsigned short unused1;
- unsigned short unused2;
-} MIB_IPADDRROW, *PMIB_IPADDRROW;
-typedef struct {
- DWORD dwNumEntries;
- MIB_IPADDRROW table[ANY_SIZE];
-} MIB_IPADDRTABLE, *PMIB_IPADDRTABLE;
-typedef struct {
- DWORD dwForwardDest;
- DWORD dwForwardMask;
- DWORD dwForwardPolicy;
- DWORD dwForwardNextHop;
- DWORD dwForwardIfIndex;
- DWORD dwForwardType;
- DWORD dwForwardProto;
- DWORD dwForwardAge;
- DWORD dwForwardNextHopAS;
- DWORD dwForwardMetric1;
- DWORD dwForwardMetric2;
- DWORD dwForwardMetric3;
- DWORD dwForwardMetric4;
- DWORD dwForwardMetric5;
-} MIB_IPFORWARDROW, *PMIB_IPFORWARDROW;
-typedef struct {
- DWORD dwNumEntries;
- MIB_IPFORWARDROW table[ANY_SIZE];
-} MIB_IPFORWARDTABLE, *PMIB_IPFORWARDTABLE;
-typedef struct {
- DWORD dwIndex;
- DWORD dwPhysAddrLen;
- BYTE bPhysAddr[MAXLEN_PHYSADDR];
- DWORD dwAddr;
- DWORD dwType;
-} MIB_IPNETROW, *PMIB_IPNETROW;
-typedef struct {
- DWORD dwNumEntries;
- MIB_IPNETROW table[ANY_SIZE];
-} MIB_IPNETTABLE, *PMIB_IPNETTABLE;
-typedef struct {
- DWORD dwMsgs;
- DWORD dwErrors;
- DWORD dwDestUnreachs;
- DWORD dwTimeExcds;
- DWORD dwParmProbs;
- DWORD dwSrcQuenchs;
- DWORD dwRedirects;
- DWORD dwEchos;
- DWORD dwEchoReps;
- DWORD dwTimestamps;
- DWORD dwTimestampReps;
- DWORD dwAddrMasks;
- DWORD dwAddrMaskReps;
-} MIBICMPSTATS, *PMIBICMPSTATS;
-typedef struct {
- MIBICMPSTATS icmpInStats;
- MIBICMPSTATS icmpOutStats;
-} MIBICMPINFO, *PMIBICMPINFO;
-typedef struct {
- MIBICMPINFO stats;
-} MIB_ICMP, *PMIB_ICMP;
-typedef struct {
- WCHAR wszName[MAX_INTERFACE_NAME_LEN];
- DWORD dwIndex;
- DWORD dwType;
- DWORD dwMtu;
- DWORD dwSpeed;
- DWORD dwPhysAddrLen;
- BYTE bPhysAddr[MAXLEN_PHYSADDR];
- DWORD dwAdminStatus;
- DWORD dwOperStatus;
- DWORD dwLastChange;
- DWORD dwInOctets;
- DWORD dwInUcastPkts;
- DWORD dwInNUcastPkts;
- DWORD dwInDiscards;
- DWORD dwInErrors;
- DWORD dwInUnknownProtos;
- DWORD dwOutOctets;
- DWORD dwOutUcastPkts;
- DWORD dwOutNUcastPkts;
- DWORD dwOutDiscards;
- DWORD dwOutErrors;
- DWORD dwOutQLen;
- DWORD dwDescrLen;
- BYTE bDescr[MAXLEN_IFDESCR];
-} MIB_IFROW, *PMIB_IFROW;
-typedef struct {
- DWORD dwNumEntries;
- MIB_IFROW table[ANY_SIZE];
-} MIB_IFTABLE, *PMIB_IFTABLE;
-typedef struct {
- DWORD dwForwarding;
- DWORD dwDefaultTTL;
- DWORD dwInReceives;
- DWORD dwInHdrErrors;
- DWORD dwInAddrErrors;
- DWORD dwForwDatagrams;
- DWORD dwInUnknownProtos;
- DWORD dwInDiscards;
- DWORD dwInDelivers;
- DWORD dwOutRequests;
- DWORD dwRoutingDiscards;
- DWORD dwOutDiscards;
- DWORD dwOutNoRoutes;
- DWORD dwReasmTimeout;
- DWORD dwReasmReqds;
- DWORD dwReasmOks;
- DWORD dwReasmFails;
- DWORD dwFragOks;
- DWORD dwFragFails;
- DWORD dwFragCreates;
- DWORD dwNumIf;
- DWORD dwNumAddr;
- DWORD dwNumRoutes;
-} MIB_IPSTATS, *PMIB_IPSTATS;
-typedef struct {
- DWORD dwRtoAlgorithm;
- DWORD dwRtoMin;
- DWORD dwRtoMax;
- DWORD dwMaxConn;
- DWORD dwActiveOpens;
- DWORD dwPassiveOpens;
- DWORD dwAttemptFails;
- DWORD dwEstabResets;
- DWORD dwCurrEstab;
- DWORD dwInSegs;
- DWORD dwOutSegs;
- DWORD dwRetransSegs;
- DWORD dwInErrs;
- DWORD dwOutRsts;
- DWORD dwNumConns;
-} MIB_TCPSTATS, *PMIB_TCPSTATS;
-typedef struct {
- DWORD dwState;
- DWORD dwLocalAddr;
- DWORD dwLocalPort;
- DWORD dwRemoteAddr;
- DWORD dwRemotePort;
-} MIB_TCPROW, *PMIB_TCPROW;
-typedef struct {
- DWORD dwNumEntries;
- MIB_TCPROW table[ANY_SIZE];
-} MIB_TCPTABLE, *PMIB_TCPTABLE;
-typedef struct {
- DWORD dwInDatagrams;
- DWORD dwNoPorts;
- DWORD dwInErrors;
- DWORD dwOutDatagrams;
- DWORD dwNumAddrs;
-} MIB_UDPSTATS, *PMIB_UDPSTATS;
-typedef struct {
- DWORD dwLocalAddr;
- DWORD dwLocalPort;
-} MIB_UDPROW, *PMIB_UDPROW;
-typedef struct {
- DWORD dwNumEntries;
- MIB_UDPROW table[ANY_SIZE];
-} MIB_UDPTABLE, *PMIB_UDPTABLE;
-#ifdef __cplusplus
-}
-#endif
-#endif /* _IPRTRMIB_H */
diff --git a/winsup/w32api/include/iptypes.h b/winsup/w32api/include/iptypes.h
deleted file mode 100644
index 6ddded00a..000000000
--- a/winsup/w32api/include/iptypes.h
+++ /dev/null
@@ -1,78 +0,0 @@
-#ifndef _IPTYPES_H
-#define _IPTYPES_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#include <sys/types.h>
-#ifdef __cplusplus
-extern "C" {
-#endif
-#define DEFAULT_MINIMUM_ENTITIES 32
-#define MAX_ADAPTER_ADDRESS_LENGTH 8
-#define MAX_ADAPTER_DESCRIPTION_LENGTH 128
-#define MAX_ADAPTER_NAME_LENGTH 256
-#define MAX_DOMAIN_NAME_LEN 128
-#define MAX_HOSTNAME_LEN 128
-#define MAX_SCOPE_ID_LEN 256
-#define BROADCAST_NODETYPE 1
-#define PEER_TO_PEER_NODETYPE 2
-#define MIXED_NODETYPE 4
-#define HYBRID_NODETYPE 8
-#define IF_OTHER_ADAPTERTYPE 0
-#define IF_ETHERNET_ADAPTERTYPE 1
-#define IF_TOKEN_RING_ADAPTERTYPE 2
-#define IF_FDDI_ADAPTERTYPE 3
-#define IF_PPP_ADAPTERTYPE 4
-#define IF_LOOPBACK_ADAPTERTYPE 5
-typedef struct {
- char String[16];
-} IP_ADDRESS_STRING, *PIP_ADDRESS_STRING, IP_MASK_STRING, *PIP_MASK_STRING;
-typedef struct _IP_ADDR_STRING {
- struct _IP_ADDR_STRING* Next;
- IP_ADDRESS_STRING IpAddress;
- IP_MASK_STRING IpMask;
- DWORD Context;
-} IP_ADDR_STRING, *PIP_ADDR_STRING;
-typedef struct _IP_ADAPTER_INFO {
- struct _IP_ADAPTER_INFO* Next;
- DWORD ComboIndex;
- char AdapterName[MAX_ADAPTER_NAME_LENGTH+4];
- char Description[MAX_ADAPTER_DESCRIPTION_LENGTH+4];
- UINT AddressLength;
- BYTE Address[MAX_ADAPTER_ADDRESS_LENGTH];
- DWORD Index;
- UINT Type;
- UINT DhcpEnabled;
- PIP_ADDR_STRING CurrentIpAddress;
- IP_ADDR_STRING IpAddressList;
- IP_ADDR_STRING GatewayList;
- IP_ADDR_STRING DhcpServer;
- BOOL HaveWins;
- IP_ADDR_STRING PrimaryWinsServer;
- IP_ADDR_STRING SecondaryWinsServer;
- time_t LeaseObtained;
- time_t LeaseExpires;
-} IP_ADAPTER_INFO, *PIP_ADAPTER_INFO;
-typedef struct _IP_PER_ADAPTER_INFO {
- UINT AutoconfigEnabled;
- UINT AutoconfigActive;
- PIP_ADDR_STRING CurrentDnsServer;
- IP_ADDR_STRING DnsServerList;
-} IP_PER_ADAPTER_INFO, *PIP_PER_ADAPTER_INFO;
-typedef struct _FIXED_INFO {
- char HostName[MAX_HOSTNAME_LEN+4] ;
- char DomainName[MAX_DOMAIN_NAME_LEN+4];
- PIP_ADDR_STRING CurrentDnsServer;
- IP_ADDR_STRING DnsServerList;
- UINT NodeType;
- char ScopeId[MAX_SCOPE_ID_LEN+4];
- UINT EnableRouting;
- UINT EnableProxy;
- UINT EnableDns;
-} FIXED_INFO, *PFIXED_INFO;
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* _IPTYPES_H */
diff --git a/winsup/w32api/include/isguids.h b/winsup/w32api/include/isguids.h
deleted file mode 100644
index d5655d262..000000000
--- a/winsup/w32api/include/isguids.h
+++ /dev/null
@@ -1,15 +0,0 @@
-#ifndef _ISGUID_H
-#define _ISGUID_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-extern const GUID CLSID_InternetShortcut;
-extern const GUID IID_IUniformResourceLocator;
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/winsup/w32api/include/largeint.h b/winsup/w32api/include/largeint.h
deleted file mode 100644
index b2222a97f..000000000
--- a/winsup/w32api/include/largeint.h
+++ /dev/null
@@ -1,112 +0,0 @@
-/*
- largeint.h
-
- Header for 64 bit integer arithmetics library
-
- */
-#ifndef _LARGEINT_H
-#define _LARGEINT_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#include <windows.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#ifdef _HAVE_INT64
-#define _toi (__int64)
-#define _toui (unsigned __int64)
-#else
-#error "64 bit integers not supported"
-#endif
-
-/*
- We don't let the compiler see the prototypes if we are compiling the
- library because if it does it will choke on conflicting types in the
- prototypes.
-*/
-
-#if defined(LARGEINT_PROTOS) || defined(__COMPILING_LARGEINT)
-
-#ifndef __COMPILING_LARGEINT
-/* addition/subtraction */
-LARGE_INTEGER WINAPI LargeIntegerAdd (LARGE_INTEGER, LARGE_INTEGER);
-LARGE_INTEGER WINAPI LargeIntegerSubtract (LARGE_INTEGER, LARGE_INTEGER);
-
-/* bit operations */
-LARGE_INTEGER WINAPI LargeIntegerArithmeticShift (LARGE_INTEGER, int);
-LARGE_INTEGER WINAPI LargeIntegerShiftLeft (LARGE_INTEGER, int);
-LARGE_INTEGER WINAPI LargeIntegerShiftRight (LARGE_INTEGER, int);
-LARGE_INTEGER WINAPI LargeIntegerNegate (LARGE_INTEGER);
-
-/* conversion */
-LARGE_INTEGER WINAPI ConvertLongToLargeInteger (LONG);
-LARGE_INTEGER WINAPI ConvertUlongToLargeInteger (ULONG);
-
-/* multiplication */
-LARGE_INTEGER WINAPI EnlargedIntegerMultiply (LONG, LONG);
-LARGE_INTEGER WINAPI EnlargedUnsignedMultiply (ULONG, ULONG);
-LARGE_INTEGER WINAPI ExtendedIntegerMultiply (LARGE_INTEGER, LONG);
-/* FIXME: is this not part of largeint? */
-LARGE_INTEGER WINAPI LargeIntegerMultiply (LARGE_INTEGER, LARGE_INTEGER);
-#endif /* __COMPILING_LARGEINT */
-
-#else
-
-#define LargeIntegerAdd(a,b) (LARGE_INTEGER)(_toi(a) + _toi(b))
-#define LargeIntegerSubtract(a,b) (LARGE_INTEGER)(_toi(a) - _toi(b))
-#define LargeIntegerRightShift(i,n) (LARGE_INTEGER)(_toi(i) >> (n))
-#define LargeIntegerArithmeticShift LargeIntegerRightShift
-#define LargeIntegerLeftShift(i,n) (LARGE_INTEGER)(_toi(i) << (n))
-#define LargeIntegerNegate(i) (LARGE_INTEGER)(- _toi(i))
-#define EnlargedIntegerMultiply(a,b) (LARGE_INTEGER)(_toi(a) * _toi(b))
-#define EnlargedUnsignedMultiply(a,b) (LARGE_INTEGER)(_toui(a) * _toui(b))
-#define ExtendedIntegerMultiply(a,b) (LARGE_INTEGER)(_toi(a) * _toi(b))
-/* FIXME: should this exist */
-#define LargeIntegerMultiply(a,b) (LARGE_INTEGER)(_toi(a) * _toi(b))
-#define ConvertLongToLargeInteger(l) (LARGE_INTEGER)(_toi(l))
-#define ConvertUlongToLargeInteger(ul) (LARGE_INTEGER)(_toui(ul))
-
-#endif /* LARGEINT_PROTOS || __COMPILING_LARGEINT */
-
-#ifndef __COMPILING_LARGEINT
-/* division; no macros of these because of multiple expansion */
-LARGE_INTEGER WINAPI LargeIntegerDivide (LARGE_INTEGER, LARGE_INTEGER, PLARGE_INTEGER);
-ULONG WINAPI EnlargedUnsignedDivide (ULARGE_INTEGER, ULONG, PULONG);
-LARGE_INTEGER WINAPI ExtendedLargeIntegerDivide (LARGE_INTEGER, ULONG, PULONG);
-LARGE_INTEGER WINAPI ExtendedMagicDivide (LARGE_INTEGER, LARGE_INTEGER, int);
-#endif /* __COMPILING_LARGEINT */
-
-#define LargeIntegerAnd(dest, src, m) \
-{ \
- dest._STRUCT_NAME(u.)LowPart = s._STRUCT_NAME(u.)LowPart & m._STRUCT_NAME(u.)LowPart; \
- dest._STRUCT_NAME(u.)HighPart = s._STRUCT_NAME(u.)HighPart & m._STRUCT_NAME(u.)HighPart; \
-}
-
-/* comparision */
-#define LargeIntegerGreaterThan(a,b) (_toi(a) > _toi(b))
-#define LargeIntegerGreaterThanOrEqual(a,b) (_toi(a) >= _toi(b))
-#define LargeIntegerEqualTo(a,b) (_toi(a) == _toi(b))
-#define LargeIntegerNotEqualTo(a,b) (_toi(a) != _toi(b))
-#define LargeIntegerLessThan(a,b) (_toi(a) < _toi(b))
-#define LargeIntegerLessThanOrEqualTo(a,b) (_toi(a) <= _toi(b))
-#define LargeIntegerGreaterThanZero(a) (_toi(a) > 0)
-#define LargeIntegerGreaterOrEqualToZero(a) ((a)._STRUCT_NAME(u.)HighPart > 0)
-#define LargeIntegerEqualToZero(a) !((a)._STRUCT_NAME(u.)LowPart | (a)._STRUCT_NAME(u.)HighPart)
-#define LargeIntegerNotEqualToZero(a) ((a)._STRUCT_NAME(u.)LowPart | (a)._STRUCT_NAME(u.)HighPart)
-#define LargeIntegerLessThanZero(a) ((a)._STRUCT_NAME(u.)HighPart < 0)
-#define LargeIntegerLessOrEqualToZero(a) (_toi(a) <= 0)
-
-#ifndef __COMPILING_LARGEINT
-#undef _toi
-#undef _toui
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _LARGEINT_H */
diff --git a/winsup/w32api/include/lm.h b/winsup/w32api/include/lm.h
deleted file mode 100644
index db1779db6..000000000
--- a/winsup/w32api/include/lm.h
+++ /dev/null
@@ -1,27 +0,0 @@
-#ifndef _LM_H
-#define _LM_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#include <lmcons.h>
-#include <lmaccess.h>
-#include <lmalert.h>
-#include <lmat.h>
-#include <lmaudit.h>
-#include <lmchdev.h>
-#include <lmconfig.h>
-#include <lmerr.h>
-#include <lmmsg.h>
-#include <lmshare.h>
-#include <lmapibuf.h>
-#include <lmremutl.h>
-#include <lmrepl.h>
-#include <lmuse.h>
-#include <lmerrlog.h>
-#include <lmsvc.h>
-#include <lmwksta.h>
-#include <lmserver.h>
-#include <lmstats.h>
-
-#endif
diff --git a/winsup/w32api/include/lmaccess.h b/winsup/w32api/include/lmaccess.h
deleted file mode 100644
index 044a7a607..000000000
--- a/winsup/w32api/include/lmaccess.h
+++ /dev/null
@@ -1,610 +0,0 @@
-#ifndef _LMACCESS_H
-#define _LMACCESS_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-#include <lmcons.h>
-#define GROUP_SPECIALGRP_USERS L"USERS"
-#define GROUP_SPECIALGRP_ADMINS L"ADMINS"
-#define GROUP_SPECIALGRP_GUESTS L"GUESTS"
-#define GROUP_SPECIALGRP_LOCAL L"LOCAL"
-#define ACCESS_LETTERS "RWCXDAP "
-#define NETLOGON_CONTROL_QUERY 1
-#define NETLOGON_CONTROL_REPLICATE 2
-#define NETLOGON_CONTROL_SYNCHRONIZE 3
-#define NETLOGON_CONTROL_PDC_REPLICATE 4
-#define NETLOGON_CONTROL_REDISCOVER 5
-#define NETLOGON_CONTROL_TC_QUERY 6
-#define NETLOGON_CONTROL_BACKUP_CHANGE_LOG 65532
-#define NETLOGON_CONTROL_TRUNCATE_LOG 65533
-#define NETLOGON_CONTROL_SET_DBFLAG 65534
-#define NETLOGON_CONTROL_BREAKPOINT 65535
-#define UF_SCRIPT 1
-#define UF_ACCOUNTDISABLE 2
-#define UF_HOMEDIR_REQUIRED 8
-#define UF_LOCKOUT 16
-#define UF_PASSWD_NOTREQD 32
-#define UF_PASSWD_CANT_CHANGE 64
-#define UF_TEMP_DUPLICATE_ACCOUNT 256
-#define UF_NORMAL_ACCOUNT 512
-#define UF_INTERDOMAIN_TRUST_ACCOUNT 2048
-#define UF_WORKSTATION_TRUST_ACCOUNT 4096
-#define UF_SERVER_TRUST_ACCOUNT 8192
-#define UF_MNS_LOGON_ACCOUNT 131072
-#define UF_MACHINE_ACCOUNT_MASK (UF_INTERDOMAIN_TRUST_ACCOUNT|UF_WORKSTATION_TRUST_ACCOUNT|UF_SERVER_TRUST_ACCOUNT)
-#define UF_ACCOUNT_TYPE_MASK (UF_TEMP_DUPLICATE_ACCOUNT|UF_NORMAL_ACCOUNT|UF_INTERDOMAIN_TRUST_ACCOUNT|UF_WORKSTATION_TRUST_ACCOUNT|UF_SERVER_TRUST_ACCOUNT)
-#define UF_DONT_EXPIRE_PASSWD 65536
-#define UF_SETTABLE_BITS (UF_SCRIPT|UF_ACCOUNTDISABLE|UF_LOCKOUT|UF_HOMEDIR_REQUIRED|UF_PASSWD_NOTREQD|UF_PASSWD_CANT_CHANGE|UF_ACCOUNT_TYPE_MASK|UF_DONT_EXPIRE_PASSWD)
-#define FILTER_TEMP_DUPLICATE_ACCOUNT 1
-#define FILTER_NORMAL_ACCOUNT 2
-#define FILTER_INTERDOMAIN_TRUST_ACCOUNT 8
-#define FILTER_WORKSTATION_TRUST_ACCOUNT 16
-#define FILTER_SERVER_TRUST_ACCOUNT 32
-#define LG_INCLUDE_INDIRECT 1
-#define AF_OP_PRINT 1
-#define AF_OP_COMM 2
-#define AF_OP_SERVER 4
-#define AF_OP_ACCOUNTS 8
-#define AF_SETTABLE_BITS (AF_OP_PRINT|AF_OP_COMM|AF_OP_SERVER|AF_OP_ACCOUNTS)
-#define UAS_ROLE_STANDALONE 0
-#define UAS_ROLE_MEMBER 1
-#define UAS_ROLE_BACKUP 2
-#define UAS_ROLE_PRIMARY 3
-#define USER_NAME_PARMNUM 1
-#define USER_PASSWORD_PARMNUM 3
-#define USER_PASSWORD_AGE_PARMNUM 4
-#define USER_PRIV_PARMNUM 5
-#define USER_HOME_DIR_PARMNUM 6
-#define USER_COMMENT_PARMNUM 7
-#define USER_FLAGS_PARMNUM 8
-#define USER_SCRIPT_PATH_PARMNUM 9
-#define USER_AUTH_FLAGS_PARMNUM 10
-#define USER_FULL_NAME_PARMNUM 11
-#define USER_USR_COMMENT_PARMNUM 12
-#define USER_PARMS_PARMNUM 13
-#define USER_WORKSTATIONS_PARMNUM 14
-#define USER_LAST_LOGON_PARMNUM 15
-#define USER_LAST_LOGOFF_PARMNUM 16
-#define USER_ACCT_EXPIRES_PARMNUM 17
-#define USER_MAX_STORAGE_PARMNUM 18
-#define USER_UNITS_PER_WEEK_PARMNUM 19
-#define USER_LOGON_HOURS_PARMNUM 20
-#define USER_PAD_PW_COUNT_PARMNUM 21
-#define USER_NUM_LOGONS_PARMNUM 22
-#define USER_LOGON_SERVER_PARMNUM 23
-#define USER_COUNTRY_CODE_PARMNUM 24
-#define USER_CODE_PAGE_PARMNUM 25
-#define USER_PRIMARY_GROUP_PARMNUM 51
-#define USER_PROFILE 52
-#define USER_PROFILE_PARMNUM 52
-#define USER_HOME_DIR_DRIVE_PARMNUM 53
-#define USER_NAME_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+USER_NAME_PARMNUM)
-#define USER_PASSWORD_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+USER_PASSWORD_PARMNUM)
-#define USER_PASSWORD_AGE_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+USER_PASSWORD_AGE_PARMNUM)
-#define USER_PRIV_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+USER_PRIV_PARMNUM)
-#define USER_HOME_DIR_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+USER_HOME_DIR_PARMNUM)
-#define USER_COMMENT_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+USER_COMMENT_PARMNUM)
-#define USER_FLAGS_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+USER_FLAGS_PARMNUM)
-#define USER_SCRIPT_PATH_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+USER_SCRIPT_PATH_PARMNUM)
-#define USER_AUTH_FLAGS_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+USER_AUTH_FLAGS_PARMNUM)
-#define USER_FULL_NAME_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+USER_FULL_NAME_PARMNUM)
-#define USER_USR_COMMENT_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+USER_USR_COMMENT_PARMNUM)
-#define USER_PARMS_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+USER_PARMS_PARMNUM)
-#define USER_WORKSTATIONS_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+USER_WORKSTATIONS_PARMNUM)
-#define USER_LAST_LOGON_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+USER_LAST_LOGON_PARMNUM)
-#define USER_LAST_LOGOFF_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+USER_LAST_LOGOFF_PARMNUM)
-#define USER_ACCT_EXPIRES_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+USER_ACCT_EXPIRES_PARMNUM)
-#define USER_MAX_STORAGE_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+USER_MAX_STORAGE_PARMNUM)
-#define USER_UNITS_PER_WEEK_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+USER_UNITS_PER_WEEK_PARMNUM)
-#define USER_LOGON_HOURS_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+USER_LOGON_HOURS_PARMNUM)
-#define USER_PAD_PW_COUNT_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+USER_PAD_PW_COUNT_PARMNUM)
-#define USER_NUM_LOGONS_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+USER_NUM_LOGONS_PARMNUM)
-#define USER_LOGON_SERVER_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+USER_LOGON_SERVER_PARMNUM)
-#define USER_COUNTRY_CODE_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+USER_COUNTRY_CODE_PARMNUM)
-#define USER_CODE_PAGE_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+USER_CODE_PAGE_PARMNUM)
-#define USER_PRIMARY_GROUP_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+USER_PRIMARY_GROUP_PARMNUM)
-#define USER_POSIX_ID_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+USER_POSIX_ID_PARMNUM)
-#define USER_HOME_DIR_DRIVE_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+USER_HOME_DIR_DRIVE_PARMNUM)
-#define NULL_USERSETINFO_PASSWD " "
-#define TIMEQ_FOREVER ((ULONG)-1)
-#define USER_MAXSTORAGE_UNLIMITED ((ULONG)-1)
-#define USER_NO_LOGOFF ((ULONG)-1L)
-#define UNITS_PER_DAY 24
-#define UNITS_PER_WEEK 168
-#define USER_PRIV_MASK 3
-#define USER_PRIV_GUEST 0
-#define USER_PRIV_USER 1
-#define USER_PRIV_ADMIN 2
-#define MAX_PASSWD_LEN PWLEN
-#define DEF_MIN_PWLEN 6
-#define DEF_PWUNIQUENESS 5
-#define DEF_MAX_PWHIST 8
-#define DEF_MAX_PWAGE TIMEQ_FOREVER
-#define DEF_MIN_PWAGE 0
-#define DEF_FORCE_LOGOFF (ULONG)0xffffffff
-#define DEF_MAX_BADPW 0
-#define ONE_DAY 86400
-#define VALIDATED_LOGON 0
-#define PASSWORD_EXPIRED 2
-#define NON_VALIDATED_LOGON 3
-#define VALID_LOGOFF 1
-#define MODALS_MIN_PASSWD_LEN_PARMNUM 1
-#define MODALS_MAX_PASSWD_AGE_PARMNUM 2
-#define MODALS_MIN_PASSWD_AGE_PARMNUM 3
-#define MODALS_FORCE_LOGOFF_PARMNUM 4
-#define MODALS_PASSWD_HIST_LEN_PARMNUM 5
-#define MODALS_ROLE_PARMNUM 6
-#define MODALS_PRIMARY_PARMNUM 7
-#define MODALS_DOMAIN_NAME_PARMNUM 8
-#define MODALS_DOMAIN_ID_PARMNUM 9
-#define MODALS_LOCKOUT_DURATION_PARMNUM 10
-#define MODALS_LOCKOUT_OBSERVATION_WINDOW_PARMNUM 11
-#define MODALS_LOCKOUT_THRESHOLD_PARMNUM 12
-#define MODALS_MIN_PASSWD_LEN_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+MODALS_MIN_PASSWD_LEN_PARMNUM)
-#define MODALS_MAX_PASSWD_AGE_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+MODALS_MAX_PASSWD_AGE_PARMNUM)
-#define MODALS_MIN_PASSWD_AGE_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+MODALS_MIN_PASSWD_AGE_PARMNUM)
-#define MODALS_FORCE_LOGOFF_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+MODALS_FORCE_LOGOFF_PARMNUM)
-#define MODALS_PASSWD_HIST_LEN_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+MODALS_PASSWD_HIST_LEN_PARMNUM)
-#define MODALS_ROLE_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+MODALS_ROLE_PARMNUM)
-#define MODALS_PRIMARY_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+MODALS_PRIMARY_PARMNUM)
-#define MODALS_DOMAIN_NAME_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+MODALS_DOMAIN_NAME_PARMNUM)
-#define MODALS_DOMAIN_ID_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+MODALS_DOMAIN_ID_PARMNUM)
-#define GROUPIDMASK 0x8000
-#define GROUP_ALL_PARMNUM 0
-#define GROUP_NAME_PARMNUM 1
-#define GROUP_COMMENT_PARMNUM 2
-#define GROUP_ATTRIBUTES_PARMNUM 3
-#define GROUP_ALL_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+GROUP_ALL_PARMNUM)
-#define GROUP_NAME_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+GROUP_NAME_PARMNUM)
-#define GROUP_COMMENT_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+GROUP_COMMENT_PARMNUM)
-#define GROUP_ATTRIBUTES_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+GROUP_ATTRIBUTES_PARMNUM)
-#define GROUP_POSIX_ID_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+GROUP_POSIX_ID_PARMNUM)
-#define LOCALGROUP_NAME_PARMNUM 1
-#define LOCALGROUP_COMMENT_PARMNUM 2
-#define MAXPERMENTRIES 64
-#define ACCESS_NONE 0
-#define ACCESS_ALL (ACCESS_READ|ACCESS_WRITE|ACCESS_CREATE|ACCESS_EXEC|ACCESS_DELETE|ACCESS_ATRIB|ACCESS_PERM)
-#define ACCESS_READ 1
-#define ACCESS_WRITE 2
-#define ACCESS_CREATE 4
-#define ACCESS_EXEC 8
-#define ACCESS_DELETE 16
-#define ACCESS_ATRIB 32
-#define ACCESS_PERM 64
-#define ACCESS_GROUP 0x8000
-#define ACCESS_AUDIT 1
-#define ACCESS_SUCCESS_OPEN 16
-#define ACCESS_SUCCESS_WRITE 32
-#define ACCESS_SUCCESS_DELETE 64
-#define ACCESS_SUCCESS_ACL 128
-#define ACCESS_SUCCESS_MASK 240
-#define ACCESS_FAIL_OPEN 256
-#define ACCESS_FAIL_WRITE 512
-#define ACCESS_FAIL_DELETE 1024
-#define ACCESS_FAIL_ACL 2048
-#define ACCESS_FAIL_MASK 3840
-#define ACCESS_FAIL_SHIFT 4
-#define ACCESS_RESOURCE_NAME_PARMNUM 1
-#define ACCESS_ATTR_PARMNUM 2
-#define ACCESS_COUNT_PARMNUM 3
-#define ACCESS_ACCESS_LIST_PARMNUM 4
-#define ACCESS_RESOURCE_NAME_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+ACCESS_RESOURCE_NAME_PARMNUM)
-#define ACCESS_ATTR_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+ACCESS_ATTR_PARMNUM)
-#define ACCESS_COUNT_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+ACCESS_COUNT_PARMNUM)
-#define ACCESS_ACCESS_LIST_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+ACCESS_ACCESS_LIST_PARMNUM)
-#define NETLOGON_REPLICATION_NEEDED 1
-#define NETLOGON_REPLICATION_IN_PROGRESS 2
-#define NETLOGON_FULL_SYNC_REPLICATION 4
-#define NETLOGON_REDO_NEEDED 8
-
-typedef struct _USER_INFO_0 { LPWSTR usri0_name; }USER_INFO_0,*PUSER_INFO_0,*LPUSER_INFO_0;
-typedef struct _USER_INFO_1 {
- LPWSTR usri1_name;
- LPWSTR usri1_password;
- DWORD usri1_password_age;
- DWORD usri1_priv;
- LPWSTR usri1_home_dir;
- LPWSTR usri1_comment;
- DWORD usri1_flags;
- LPWSTR usri1_script_path;
-}USER_INFO_1,*PUSER_INFO_1,*LPUSER_INFO_1;
-typedef struct _USER_INFO_2 {
- LPWSTR usri2_name;
- LPWSTR usri2_password;
- DWORD usri2_password_age;
- DWORD usri2_priv;
- LPWSTR usri2_home_dir;
- LPWSTR usri2_comment;
- DWORD usri2_flags;
- LPWSTR usri2_script_path;
- DWORD usri2_auth_flags;
- LPWSTR usri2_full_name;
- LPWSTR usri2_usr_comment;
- LPWSTR usri2_parms;
- LPWSTR usri2_workstations;
- DWORD usri2_last_logon;
- DWORD usri2_last_logoff;
- DWORD usri2_acct_expires;
- DWORD usri2_max_storage;
- DWORD usri2_units_per_week;
- PBYTE usri2_logon_hours;
- DWORD usri2_bad_pw_count;
- DWORD usri2_num_logons;
- LPWSTR usri2_logon_server;
- DWORD usri2_country_code;
- DWORD usri2_code_page;
-}USER_INFO_2,*PUSER_INFO_2,*LPUSER_INFO_2;
-typedef struct _USER_INFO_3 {
- LPWSTR usri3_name;
- LPWSTR usri3_password;
- DWORD usri3_password_age;
- DWORD usri3_priv;
- LPWSTR usri3_home_dir;
- LPWSTR usri3_comment;
- DWORD usri3_flags;
- LPWSTR usri3_script_path;
- DWORD usri3_auth_flags;
- LPWSTR usri3_full_name;
- LPWSTR usri3_usr_comment;
- LPWSTR usri3_parms;
- LPWSTR usri3_workstations;
- DWORD usri3_last_logon;
- DWORD usri3_last_logoff;
- DWORD usri3_acct_expires;
- DWORD usri3_max_storage;
- DWORD usri3_units_per_week;
- PBYTE usri3_logon_hours;
- DWORD usri3_bad_pw_count;
- DWORD usri3_num_logons;
- LPWSTR usri3_logon_server;
- DWORD usri3_country_code;
- DWORD usri3_code_page;
- DWORD usri3_user_id;
- DWORD usri3_primary_group_id;
- LPWSTR usri3_profile;
- LPWSTR usri3_home_dir_drive;
- DWORD usri3_password_expired;
-}USER_INFO_3,*PUSER_INFO_3,*LPUSER_INFO_3;
-typedef struct _USER_INFO_10 {
- LPWSTR usri10_name;
- LPWSTR usri10_comment;
- LPWSTR usri10_usr_comment;
- LPWSTR usri10_full_name;
-}USER_INFO_10,*PUSER_INFO_10,*LPUSER_INFO_10;
-typedef struct _USER_INFO_11 {
- LPWSTR usri11_name;
- LPWSTR usri11_comment;
- LPWSTR usri11_usr_comment;
- LPWSTR usri11_full_name;
- DWORD usri11_priv;
- DWORD usri11_auth_flags;
- DWORD usri11_password_age;
- LPWSTR usri11_home_dir;
- LPWSTR usri11_parms;
- DWORD usri11_last_logon;
- DWORD usri11_last_logoff;
- DWORD usri11_bad_pw_count;
- DWORD usri11_num_logons;
- LPWSTR usri11_logon_server;
- DWORD usri11_country_code;
- LPWSTR usri11_workstations;
- DWORD usri11_max_storage;
- DWORD usri11_units_per_week;
- PBYTE usri11_logon_hours;
- DWORD usri11_code_page;
-}USER_INFO_11,*PUSER_INFO_11,*LPUSER_INFO_11;
-typedef struct _USER_INFO_20 {
- LPWSTR usri20_name;
- LPWSTR usri20_full_name;
- LPWSTR usri20_comment;
- DWORD usri20_flags;
- DWORD usri20_user_id;
-}USER_INFO_20,*PUSER_INFO_20,*LPUSER_INFO_20;
-typedef struct _USER_INFO_21 {
- BYTE usri21_password[ENCRYPTED_PWLEN];
-}USER_INFO_21,*PUSER_INFO_21,*LPUSER_INFO_21;
-typedef struct _USER_INFO_22 {
- LPWSTR usri22_name;
- BYTE usri22_password[ENCRYPTED_PWLEN];
- DWORD usri22_password_age;
- DWORD usri22_priv;
- LPWSTR usri22_home_dir;
- LPWSTR usri22_comment;
- DWORD usri22_flags;
- LPWSTR usri22_script_path;
- DWORD usri22_auth_flags;
- LPWSTR usri22_full_name;
- LPWSTR usri22_usr_comment;
- LPWSTR usri22_parms;
- LPWSTR usri22_workstations;
- DWORD usri22_last_logon;
- DWORD usri22_last_logoff;
- DWORD usri22_acct_expires;
- DWORD usri22_max_storage;
- DWORD usri22_units_per_week;
- PBYTE usri22_logon_hours;
- DWORD usri22_bad_pw_count;
- DWORD usri22_num_logons;
- LPWSTR usri22_logon_server;
- DWORD usri22_country_code;
- DWORD usri22_code_page;
- }USER_INFO_22,*PUSER_INFO_22,*LPUSER_INFO_22;
-typedef struct _USER_INFO_1003 {
- LPWSTR usri1003_password;
-} USER_INFO_1003,*PUSER_INFO_1003,*LPUSER_INFO_1003;
-typedef struct _USER_INFO_1005 {
- DWORD usri1005_priv;
-} USER_INFO_1005,*PUSER_INFO_1005,*LPUSER_INFO_1005;
-typedef struct _USER_INFO_1006 {
- LPWSTR usri1006_home_dir;
-} USER_INFO_1006,*PUSER_INFO_1006,*LPUSER_INFO_1006;
-typedef struct _USER_INFO_1007 {
- LPWSTR usri1007_comment;
-} USER_INFO_1007,*PUSER_INFO_1007,*LPUSER_INFO_1007;
-typedef struct _USER_INFO_1008 {
- DWORD usri1008_flags;
-} USER_INFO_1008,*PUSER_INFO_1008,*LPUSER_INFO_1008;
-typedef struct _USER_INFO_1009 {
- LPWSTR usri1009_script_path;
-} USER_INFO_1009,*PUSER_INFO_1009,*LPUSER_INFO_1009;
-typedef struct _USER_INFO_1010 {
- DWORD usri1010_auth_flags;
-} USER_INFO_1010,*PUSER_INFO_1010,*LPUSER_INFO_1010;
-typedef struct _USER_INFO_1011 {
- LPWSTR usri1011_full_name;
-} USER_INFO_1011,*PUSER_INFO_1011,*LPUSER_INFO_1011;
-typedef struct _USER_INFO_1012 {
- LPWSTR usri1012_usr_comment;
-} USER_INFO_1012,*PUSER_INFO_1012,*LPUSER_INFO_1012;
-typedef struct _USER_INFO_1013 {
- LPWSTR usri1013_parms;
-} USER_INFO_1013,*PUSER_INFO_1013,*LPUSER_INFO_1013;
-typedef struct _USER_INFO_1014 {
- LPWSTR usri1014_workstations;
-} USER_INFO_1014,*PUSER_INFO_1014,*LPUSER_INFO_1014;
-typedef struct _USER_INFO_1017 {
- DWORD usri1017_acct_expires;
-} USER_INFO_1017,*PUSER_INFO_1017,*LPUSER_INFO_1017;
-typedef struct _USER_INFO_1018 {
- DWORD usri1018_max_storage;
-} USER_INFO_1018,*PUSER_INFO_1018,*LPUSER_INFO_1018;
-typedef struct _USER_INFO_1020 {
- DWORD usri1020_units_per_week;
- PBYTE usri1020_logon_hours;
-} USER_INFO_1020,*PUSER_INFO_1020,*LPUSER_INFO_1020;
-typedef struct _USER_INFO_1023 {
- LPWSTR usri1023_logon_server;
-} USER_INFO_1023,*PUSER_INFO_1023,*LPUSER_INFO_1023;
-typedef struct _USER_INFO_1024 {
- DWORD usri1024_country_code;
-} USER_INFO_1024,*PUSER_INFO_1024,*LPUSER_INFO_1024;
-typedef struct _USER_INFO_1025 {
- DWORD usri1025_code_page;
-} USER_INFO_1025,*PUSER_INFO_1025,*LPUSER_INFO_1025;
-typedef struct _USER_INFO_1051 {
- DWORD usri1051_primary_group_id;
-} USER_INFO_1051,*PUSER_INFO_1051,*LPUSER_INFO_1051;
-typedef struct _USER_INFO_1052 {
- LPWSTR usri1052_profile;
-} USER_INFO_1052,*PUSER_INFO_1052,*LPUSER_INFO_1052;
-typedef struct _USER_INFO_1053 {
- LPWSTR usri1053_home_dir_drive;
-} USER_INFO_1053,*PUSER_INFO_1053,*LPUSER_INFO_1053;
-typedef struct _USER_MODALS_INFO_0 {
- DWORD usrmod0_min_passwd_len;
- DWORD usrmod0_max_passwd_age;
- DWORD usrmod0_min_passwd_age;
- DWORD usrmod0_force_logoff;
- DWORD usrmod0_password_hist_len;
-}USER_MODALS_INFO_0,*PUSER_MODALS_INFO_0,*LPUSER_MODALS_INFO_0;
-typedef struct _USER_MODALS_INFO_1 {
- DWORD usrmod1_role;
- LPWSTR usrmod1_primary;
-}USER_MODALS_INFO_1,*PUSER_MODALS_INFO_1,*LPUSER_MODALS_INFO_1;
-typedef struct _USER_MODALS_INFO_2 {
- LPWSTR usrmod2_domain_name;
- PSID usrmod2_domain_id;
-}USER_MODALS_INFO_2,*PUSER_MODALS_INFO_2,*LPUSER_MODALS_INFO_2;
-typedef struct _USER_MODALS_INFO_3 {
- DWORD usrmod3_lockout_duration;
- DWORD usrmod3_lockout_observation_window;
- DWORD usrmod3_lockout_threshold;
-}USER_MODALS_INFO_3,*PUSER_MODALS_INFO_3,*LPUSER_MODALS_INFO_3;
-typedef struct _USER_MODALS_INFO_1001 {
- DWORD usrmod1001_min_passwd_len;
-} USER_MODALS_INFO_1001,*PUSER_MODALS_INFO_1001,*LPUSER_MODALS_INFO_1001;
-typedef struct _USER_MODALS_INFO_1002 {
- DWORD usrmod1002_max_passwd_age;
-} USER_MODALS_INFO_1002,*PUSER_MODALS_INFO_1002,*LPUSER_MODALS_INFO_1002;
-typedef struct _USER_MODALS_INFO_1003 {
- DWORD usrmod1003_min_passwd_age;
-} USER_MODALS_INFO_1003,*PUSER_MODALS_INFO_1003,*LPUSER_MODALS_INFO_1003;
-typedef struct _USER_MODALS_INFO_1004 {
- DWORD usrmod1004_force_logoff;
-} USER_MODALS_INFO_1004,*PUSER_MODALS_INFO_1004,*LPUSER_MODALS_INFO_1004;
-typedef struct _USER_MODALS_INFO_1005 {
- DWORD usrmod1005_password_hist_len;
-} USER_MODALS_INFO_1005,*PUSER_MODALS_INFO_1005,*LPUSER_MODALS_INFO_1005;
-typedef struct _USER_MODALS_INFO_1006 {
- DWORD usrmod1006_role;
-} USER_MODALS_INFO_1006,*PUSER_MODALS_INFO_1006,*LPUSER_MODALS_INFO_1006;
-typedef struct _USER_MODALS_INFO_1007 {
- LPWSTR usrmod1007_primary;
-} USER_MODALS_INFO_1007,*PUSER_MODALS_INFO_1007,*LPUSER_MODALS_INFO_1007;
-typedef struct _GROUP_INFO_0 {
- LPWSTR grpi0_name;
-}GROUP_INFO_0,*PGROUP_INFO_0,*LPGROUP_INFO_0;
-typedef struct _GROUP_INFO_1 {
- LPWSTR grpi1_name;
- LPWSTR grpi1_comment;
-}GROUP_INFO_1,*PGROUP_INFO_1,*LPGROUP_INFO_1;
-typedef struct _GROUP_INFO_2 {
- LPWSTR grpi2_name;
- LPWSTR grpi2_comment;
- DWORD grpi2_group_id;
- DWORD grpi2_attributes;
-}GROUP_INFO_2,*PGROUP_INFO_2;
-typedef struct _GROUP_INFO_1002 {
- LPWSTR grpi1002_comment;
-} GROUP_INFO_1002,*PGROUP_INFO_1002,*LPGROUP_INFO_1002;
-typedef struct _GROUP_INFO_1005 {
- DWORD grpi1005_attributes;
-} GROUP_INFO_1005,*PGROUP_INFO_1005,*LPGROUP_INFO_1005;
-typedef struct _GROUP_USERS_INFO_0 {
- LPWSTR grui0_name;
-} GROUP_USERS_INFO_0,*PGROUP_USERS_INFO_0,*LPGROUP_USERS_INFO_0;
-typedef struct _GROUP_USERS_INFO_1 {
- LPWSTR grui1_name;
- DWORD grui1_attributes;
-} GROUP_USERS_INFO_1,*PGROUP_USERS_INFO_1,*LPGROUP_USERS_INFO_1;
-typedef struct _LOCALGROUP_INFO_0 {
- LPWSTR lgrpi0_name;
-}LOCALGROUP_INFO_0,*PLOCALGROUP_INFO_0,*LPLOCALGROUP_INFO_0;
-typedef struct _LOCALGROUP_INFO_1 {
- LPWSTR lgrpi1_name;
- LPWSTR lgrpi1_comment;
-}LOCALGROUP_INFO_1,*PLOCALGROUP_INFO_1,*LPLOCALGROUP_INFO_1;
-typedef struct _LOCALGROUP_INFO_1002 {
- LPWSTR lgrpi1002_comment;
-}LOCALGROUP_INFO_1002,*PLOCALGROUP_INFO_1002,*LPLOCALGROUP_INFO_1002;
-typedef struct _LOCALGROUP_MEMBERS_INFO_0 {
- PSID lgrmi0_sid;
-} LOCALGROUP_MEMBERS_INFO_0,*PLOCALGROUP_MEMBERS_INFO_0,*LPLOCALGROUP_MEMBERS_INFO_0;
-typedef struct _LOCALGROUP_MEMBERS_INFO_1 {
- PSID lgrmi1_sid;
- SID_NAME_USE lgrmi1_sidusage;
- LPWSTR lgrmi1_name;
-} LOCALGROUP_MEMBERS_INFO_1,*PLOCALGROUP_MEMBERS_INFO_1,*LPLOCALGROUP_MEMBERS_INFO_1;
-typedef struct _LOCALGROUP_MEMBERS_INFO_2 {
- PSID lgrmi2_sid;
- SID_NAME_USE lgrmi2_sidusage;
- LPWSTR lgrmi2_domainandname;
-} LOCALGROUP_MEMBERS_INFO_2,*PLOCALGROUP_MEMBERS_INFO_2,*LPLOCALGROUP_MEMBERS_INFO_2;
-typedef struct _LOCALGROUP_MEMBERS_INFO_3 {
- LPWSTR lgrmi3_domainandname;
-} LOCALGROUP_MEMBERS_INFO_3,*PLOCALGROUP_MEMBERS_INFO_3,
-*LPLOCALGROUP_MEMBERS_INFO_3;
-typedef struct _LOCALGROUP_USERS_INFO_0 {
- LPWSTR lgrui0_name;
-} LOCALGROUP_USERS_INFO_0,*PLOCALGROUP_USERS_INFO_0,*LPLOCALGROUP_USERS_INFO_0;
-typedef struct _NET_DISPLAY_USER {
- LPWSTR usri1_name;
- LPWSTR usri1_comment;
- DWORD usri1_flags;
- LPWSTR usri1_full_name;
- DWORD usri1_user_id;
- DWORD usri1_next_index;
-} NET_DISPLAY_USER,*PNET_DISPLAY_USER;
-typedef struct _NET_DISPLAY_MACHINE {
- LPWSTR usri2_name;
- LPWSTR usri2_comment;
- DWORD usri2_flags;
- DWORD usri2_user_id;
- DWORD usri2_next_index;
-} NET_DISPLAY_MACHINE,*PNET_DISPLAY_MACHINE;
-typedef struct _NET_DISPLAY_GROUP {
- LPWSTR grpi3_name;
- LPWSTR grpi3_comment;
- DWORD grpi3_group_id;
- DWORD grpi3_attributes;
- DWORD grpi3_next_index;
-} NET_DISPLAY_GROUP,*PNET_DISPLAY_GROUP;
-typedef struct _ACCESS_INFO_0 {
- LPTSTR acc0_resource_name;
-}ACCESS_INFO_0,*PACCESS_INFO_0,*LPACCESS_INFO_0;
-typedef struct _ACCESS_INFO_1 {
- LPTSTR acc1_resource_name;
- DWORD acc1_attr;
- DWORD acc1_count;
-}ACCESS_INFO_1,*PACCESS_INFO_1,*LPACCESS_INFO_1;
-typedef struct _ACCESS_INFO_1002 {
- DWORD acc1002_attr;
-} ACCESS_INFO_1002,*PACCESS_INFO_1002,*LPACCESS_INFO_1002;
-typedef struct _ACCESS_LIST {
- LPTSTR acl_ugname;
- DWORD acl_access;
-}ACCESS_LIST,*PACCESS_LIST,*LPACCESS_LIST;
-typedef struct _NETLOGON_INFO_1 {
- DWORD netlog1_flags;
- NET_API_STATUS netlog1_pdc_connection_status;
-} NETLOGON_INFO_1,*PNETLOGON_INFO_1;
-typedef struct _NETLOGON_INFO_2 {
- DWORD netlog2_flags;
- NET_API_STATUS netlog2_pdc_connection_status;
- LPWSTR netlog2_trusted_dc_name;
- NET_API_STATUS netlog2_tc_connection_status;
-} NETLOGON_INFO_2,*PNETLOGON_INFO_2;
-typedef struct _NETLOGON_INFO_3 {
- DWORD netlog3_flags;
- DWORD netlog3_logon_attempts;
- DWORD netlog3_reserved1;
- DWORD netlog3_reserved2;
- DWORD netlog3_reserved3;
- DWORD netlog3_reserved4;
- DWORD netlog3_reserved5;
-} NETLOGON_INFO_3,*PNETLOGON_INFO_3;
-
-#if 0
-/* MS has these defined, but the RxNetAccessXX functions aren't documented nor do
- they exist in any headers */
-#define NetAccessAdd RxNetAccessAdd
-#define NetAccessEnum RxNetAccessEnum
-#define NetAccessGetInfo RxNetAccessGetInfo
-#define NetAccessSetInfo RxNetAccessSetInfo
-#define NetAccessDel RxNetAccessDel
-#define NetAccessGetUserPerms RxNetAccessGetUserPerms
-/* These are obsolete */
-NET_API_STATUS WINAPI NetAccessAdd(LPCWSTR,DWORD,PBYTE,PDWORD);
-NET_API_STATUS WINAPI NetAccessEnum(LPCWSTR,LPCWSTR,DWORD,DWORD,PBYTE*,DWORD,PDWORD,PDWORD,PDWORD);
-NET_API_STATUS WINAPI NetAccessGetInfo(LPCWSTR,LPCWSTR,DWORD,PBYTE*);
-NET_API_STATUS WINAPI NetAccessSetInfo(LPCWSTR,LPCWSTR,DWORD,PBYTE,PDWORD);
-NET_API_STATUS WINAPI NetAccessDel(LPCWSTR,LPCWSTR);
-NET_API_STATUS WINAPI NetAccessGetUserPerms(LPCWSTR,LPCWSTR,LPCWSTR,PDWORD);
-#endif
-
-NET_API_STATUS WINAPI NetUserAdd(LPCWSTR,DWORD,PBYTE,PDWORD);
-NET_API_STATUS WINAPI NetUserEnum(LPCWSTR,DWORD,DWORD,PBYTE*,DWORD,PDWORD,PDWORD,PDWORD);
-NET_API_STATUS WINAPI NetUserGetInfo(LPCWSTR,LPCWSTR,DWORD,PBYTE*);
-NET_API_STATUS WINAPI NetUserSetInfo(LPCWSTR,LPCWSTR,DWORD,PBYTE,PDWORD);
-NET_API_STATUS WINAPI NetUserDel(LPCWSTR,LPCWSTR);
-NET_API_STATUS WINAPI NetUserGetGroups(LPCWSTR,LPCWSTR,DWORD,PBYTE*,DWORD,PDWORD,PDWORD);
-NET_API_STATUS WINAPI NetUserSetGroups(LPCWSTR,LPCWSTR,DWORD,PBYTE,DWORD);
-NET_API_STATUS WINAPI NetUserGetLocalGroups(LPCWSTR,LPCWSTR,DWORD,DWORD,PBYTE*,DWORD,PDWORD,PDWORD);
-NET_API_STATUS WINAPI NetUserModalsGet(LPCWSTR,DWORD,PBYTE*);
-NET_API_STATUS WINAPI NetUserModalsSet(LPCWSTR,DWORD,PBYTE,PDWORD);
-NET_API_STATUS WINAPI NetUserChangePassword(LPCWSTR,LPCWSTR,LPCWSTR,LPCWSTR);
-NET_API_STATUS WINAPI NetGroupAdd(LPCWSTR,DWORD,PBYTE,PDWORD);
-NET_API_STATUS WINAPI NetGroupAddUser(LPCWSTR,LPCWSTR,LPCWSTR);
-NET_API_STATUS WINAPI NetGroupEnum(LPCWSTR,DWORD,PBYTE*,DWORD,PDWORD,PDWORD,PDWORD);
-NET_API_STATUS WINAPI NetGroupGetInfo(LPCWSTR,LPCWSTR,DWORD,PBYTE*);
-NET_API_STATUS WINAPI NetGroupSetInfo(LPCWSTR,LPCWSTR,DWORD,PBYTE,PDWORD);
-NET_API_STATUS WINAPI NetGroupDel(LPCWSTR,LPCWSTR);
-NET_API_STATUS WINAPI NetGroupDelUser(LPCWSTR,LPCWSTR,LPCWSTR);
-NET_API_STATUS WINAPI NetGroupGetUsers(LPCWSTR,LPCWSTR,DWORD,PBYTE*,DWORD,PDWORD,PDWORD,PDWORD);
-NET_API_STATUS WINAPI NetGroupSetUsers(LPCWSTR,LPCWSTR,DWORD,PBYTE,DWORD);
-NET_API_STATUS WINAPI NetLocalGroupAdd(LPCWSTR,DWORD,PBYTE,PDWORD);
-NET_API_STATUS WINAPI NetLocalGroupAddMember(LPCWSTR,LPCWSTR,PSID);
-NET_API_STATUS WINAPI NetLocalGroupEnum(LPCWSTR,DWORD,PBYTE*,DWORD,PDWORD,PDWORD,PDWORD);
-NET_API_STATUS WINAPI NetLocalGroupGetInfo(LPCWSTR,LPCWSTR,DWORD,PBYTE*);
-NET_API_STATUS WINAPI NetLocalGroupSetInfo(LPCWSTR,LPCWSTR,DWORD,PBYTE,PDWORD);
-NET_API_STATUS WINAPI NetLocalGroupDel(LPCWSTR,LPCWSTR);
-NET_API_STATUS WINAPI NetLocalGroupDelMember(LPCWSTR,LPCWSTR,PSID);
-NET_API_STATUS WINAPI NetLocalGroupGetMembers(LPCWSTR,LPCWSTR,DWORD,PBYTE*,DWORD,
-PDWORD,PDWORD,PDWORD);
-NET_API_STATUS WINAPI NetLocalGroupSetMembers(LPCWSTR,LPCWSTR,DWORD,PBYTE,DWORD);
-NET_API_STATUS WINAPI NetLocalGroupAddMembers(LPCWSTR,LPCWSTR,DWORD,PBYTE,DWORD);
-NET_API_STATUS WINAPI NetLocalGroupDelMembers(LPCWSTR,LPCWSTR,DWORD,PBYTE,DWORD);
-NET_API_STATUS WINAPI NetQueryDisplayInformation(LPCWSTR,DWORD,DWORD,DWORD,DWORD,PDWORD,PVOID*);
-NET_API_STATUS WINAPI NetGetDisplayInformationIndex(LPCWSTR,DWORD,LPCWSTR,PDWORD);
-NET_API_STATUS WINAPI NetGetDCName(LPCWSTR,LPCWSTR,PBYTE*);
-NET_API_STATUS WINAPI NetGetAnyDCName(LPCWSTR,LPCWSTR,PBYTE*);
-NET_API_STATUS WINAPI I_NetLogonControl(LPCWSTR,DWORD,DWORD,PBYTE*);
-NET_API_STATUS WINAPI I_NetLogonControl2(LPCWSTR,DWORD,DWORD,PBYTE,PBYTE*);
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/winsup/w32api/include/lmalert.h b/winsup/w32api/include/lmalert.h
deleted file mode 100644
index 4f59edc8b..000000000
--- a/winsup/w32api/include/lmalert.h
+++ /dev/null
@@ -1,60 +0,0 @@
-#ifndef _LMALERT_H
-#define _LMALERT_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#define ALERTER_MAILSLOT TEXT("\\\\.\\MAILSLOT\\Alerter")
-#define ALERT_PRINT_EVENT TEXT("PRINTING")
-#define ALERT_MESSAGE_EVENT TEXT("MESSAGE")
-#define ALERT_ERRORLOG_EVENT TEXT("ERRORLOG")
-#define ALERT_ADMIN_EVENT TEXT("ADMIN")
-#define ALERT_USER_EVENT TEXT("USER")
-#define ALERT_OTHER_INFO(x) ((PBYTE)(x)+sizeof(STD_ALERT))
-#define ALERT_VAR_DATA(p) ((PBYTE)(p)+sizeof(*p))
-#define PRJOB_QSTATUS 3
-#define PRJOB_DEVSTATUS 508
-#define PRJOB_COMPLETE 4
-#define PRJOB_INTERV 8
-#define PRJOB_ 16
-#define PRJOB_DESTOFFLINE 32
-#define PRJOB_DESTPAUSED 64
-#define PRJOB_NOTIFY 128
-#define PRJOB_DESTNOPAPER 256
-#define PRJOB_DELETED 32768
-#define PRJOB_QS_QUEUED 0
-#define PRJOB_QS_PAUSED 1
-#define PRJOB_QS_SPOOLING 2
-#define PRJOB_QS_PRINTING 3
-#ifdef __cplusplus
-extern "C" {
-#endif
-typedef struct _ADMIN_OTHER_INFO {
- DWORD alrtad_errcode;
- DWORD alrtad_numstrings;
-}ADMIN_OTHER_INFO,*PADMIN_OTHER_INFO,*LPADMIN_OTHER_INFO;
-typedef struct _STD_ALERT {
- DWORD alrt_timestamp;
- TCHAR alrt_eventname[EVLEN+1];
- TCHAR alrt_servicename[SNLEN+1];
-}STD_ALERT,*PSTD_ALERT,*LPSTD_ALERT;
-typedef struct _ERRLOG_OTHER_INFO {
- DWORD alrter_errcode;
- DWORD alrter_offset;
-}ERRLOG_OTHER_INFO,*PERRLOG_OTHER_INFO,*LPERRLOG_OTHER_INFO;
-typedef struct _PRINT_OTHER_INFO {
- DWORD alrtpr_jobid;
- DWORD alrtpr_status;
- DWORD alrtpr_submitted;
- DWORD alrtpr_size;
-}PRINT_OTHER_INFO,*PPRINT_OTHER_INFO,*LPPRINT_OTHER_INFO;
-typedef struct _USER_OTHER_INFO {
- DWORD alrtus_errcode;
- DWORD alrtus_numstrings;
-}USER_OTHER_INFO,*PUSER_OTHER_INFO,*LPUSER_OTHER_INFO;
-NET_API_STATUS WINAPI NetAlertRaise(LPCWSTR,PVOID,DWORD);
-NET_API_STATUS WINAPI NetAlertRaiseEx(LPCWSTR,PVOID,DWORD,LPCWSTR);
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/winsup/w32api/include/lmapibuf.h b/winsup/w32api/include/lmapibuf.h
deleted file mode 100644
index 54de81106..000000000
--- a/winsup/w32api/include/lmapibuf.h
+++ /dev/null
@@ -1,18 +0,0 @@
-#ifndef _LMAPIBUF_H
-#define _LMAPIBUF_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-NET_API_STATUS WINAPI NetApiBufferAllocate(DWORD,PVOID*);
-NET_API_STATUS WINAPI NetApiBufferFree(PVOID);
-NET_API_STATUS WINAPI NetApiBufferReallocate(PVOID,DWORD,PVOID*);
-NET_API_STATUS WINAPI NetApiBufferSize(PVOID,PDWORD);
-NET_API_STATUS WINAPI NetapipBufferAllocate(DWORD,PVOID*);
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/winsup/w32api/include/lmat.h b/winsup/w32api/include/lmat.h
deleted file mode 100644
index 95999a802..000000000
--- a/winsup/w32api/include/lmat.h
+++ /dev/null
@@ -1,39 +0,0 @@
-#ifndef _LMAT_H
-#define _LMAT_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-#define JOB_RUN_PERIODICALLY 1
-#define JOB_EXEC_ERROR 2
-#define JOB_RUNS_TODAY 4
-#define JOB_ADD_CURRENT_DATE 8
-#define JOB_NONINTERACTIVE 16
-#define JOB_INPUT_FLAGS (JOB_RUN_PERIODICALLY|JOB_ADD_CURRENT_DATE|JOB_NONINTERACTIVE)
-#define JOB_OUTPUT_FLAGS (JOB_RUN_PERIODICALLY|JOB_EXEC_ERROR|JOB_RUNS_TODAY|JOB_NONINTERACTIVE)
-typedef struct _AT_ENUM {
- DWORD JobId;
- DWORD JobTime;
- DWORD DaysOfMonth;
- UCHAR DaysOfWeek;
- UCHAR Flags;
- LPWSTR Command;
-} AT_ENUM,*PAT_ENUM,*LPAT_ENUM;
-typedef struct _AT_INFO {
- DWORD JobTime;
- DWORD DaysOfMonth;
- UCHAR DaysOfWeek;
- UCHAR Flags;
- LPWSTR Command;
-} AT_INFO,*PAT_INFO,*LPAT_INFO;
-NET_API_STATUS WINAPI NetScheduleJobAdd(LPWSTR,PBYTE,LPDWORD);
-NET_API_STATUS WINAPI NetScheduleJobDel(LPWSTR,DWORD,DWORD);
-NET_API_STATUS WINAPI NetScheduleJobEnum(LPWSTR,PBYTE*,DWORD,PDWORD,PDWORD,PDWORD);
-NET_API_STATUS WINAPI NetScheduleJobGetInfo(LPWSTR,DWORD,PBYTE*);
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/winsup/w32api/include/lmaudit.h b/winsup/w32api/include/lmaudit.h
deleted file mode 100644
index 4a97baaa5..000000000
--- a/winsup/w32api/include/lmaudit.h
+++ /dev/null
@@ -1,250 +0,0 @@
-#ifndef _LMAUDIT_H
-#define _LMAUDIT_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-#define REVISED_AUDIT_ENTRY_STRUCT
-#define LOGFLAGS_FORWARD 0
-#define LOGFLAGS_BACKWARD 1
-#define LOGFLAGS_SEEK 2
-#define ACTION_LOCKOUT 0
-#define ACTION_ADMINUNLOCK 1
-#define AE_GUEST 0
-#define AE_USER 1
-#define AE_ADMIN 2
-#define AE_NORMAL 0
-#define AE_USERLIMIT 0
-#define AE_GENERAL 0
-#define AE_ERROR 1
-#define AE_SESSDIS 1
-#define AE_BADPW 1
-#define AE_AUTODIS 2
-#define AE_UNSHARE 2
-#define AE_ADMINPRIVREQD 2
-#define AE_ADMINDIS 3
-#define AE_NOACCESSPERM 3
-#define AE_ACCRESTRICT 4
-#define AE_NORMAL_CLOSE 0
-#define AE_SES_CLOSE 1
-#define AE_ADMIN_CLOSE 2
-#define AE_LIM_UNKNOWN 0
-#define AE_LIM_LOGONHOURS 1
-#define AE_LIM_EXPIRED 2
-#define AE_LIM_INVAL_WKSTA 3
-#define AE_LIM_DISABLED 4
-#define AE_LIM_DELETED 5
-#define AE_MOD 0
-#define AE_DELETE 1
-#define AE_ADD 2
-#define AE_UAS_USER 0
-#define AE_UAS_GROUP 1
-#define AE_UAS_MODALS 2
-#define SVAUD_SERVICE 1
-#define SVAUD_GOODSESSLOGON 6
-#define SVAUD_BADSESSLOGON 24
-#define SVAUD_SESSLOGON (SVAUD_GOODSESSLOGON|SVAUD_BADSESSLOGON)
-#define SVAUD_GOODNETLOGON 96
-#define SVAUD_BADNETLOGON 384
-#define SVAUD_NETLOGON (SVAUD_GOODNETLOGON|SVAUD_BADNETLOGON)
-#define SVAUD_LOGON (SVAUD_NETLOGON|SVAUD_SESSLOGON)
-#define SVAUD_GOODUSE 0x600
-#define SVAUD_BADUSE 0x1800
-#define SVAUD_USE (SVAUD_GOODUSE|SVAUD_BADUSE)
-#define SVAUD_USERLIST 8192
-#define SVAUD_PERMISSIONS 16384
-#define SVAUD_RESOURCE 32768
-#define SVAUD_LOGONLIM 65536
-#define AA_AUDIT_ALL 1
-#define AA_A_OWNER 4
-#define AA_CLOSE 8
-#define AA_S_OPEN 16
-#define AA_S_WRITE 32
-#define AA_S_CREATE 32
-#define AA_S_DELETE 64
-#define AA_S_ACL 128
-#define AA_S_ALL 253
-#define AA_F_OPEN 256
-#define AA_F_WRITE 512
-#define AA_F_CREATE 512
-#define AA_F_DELETE 1024
-#define AA_F_ACL 2048
-#define AA_F_ALL (AA_F_OPEN|AA_F_WRITE|AA_F_DELETE|AA_F_ACL)
-#define AA_A_OPEN 2048
-#define AA_A_WRITE 4096
-#define AA_A_CREATE 8192
-#define AA_A_DELETE 16384
-#define AA_A_ACL 32768
-#define AA_A_ALL (AA_F_OPEN|AA_F_WRITE|AA_F_DELETE|AA_F_ACL)
-typedef struct _AUDIT_ENTRY {
- DWORD ae_len;
- DWORD ae_reserved;
- DWORD ae_time;
- DWORD ae_type;
- DWORD ae_data_offset;
- DWORD ae_data_size;
-} AUDIT_ENTRY,*PAUDIT_ENTRY,*LPAUDIT_ENTRY;
-typedef struct _HLOG {
- DWORD time;
- DWORD last_flags;
- DWORD offset;
- DWORD rec_offset;
-} HLOG,*PHLOG,*LPHLOG;
-typedef struct _AE_SRVSTATUS {
- DWORD ae_sv_status;
-} AE_SRVSTATUS,*PAE_SRVSTATUS,*LPAE_SRVSTATUS;
-typedef struct _AE_SESSLOGON {
- DWORD ae_so_compname;
- DWORD ae_so_username;
- DWORD ae_so_privilege;
-} AE_SESSLOGON,*PAE_SESSLOGON,*LPAE_SESSLOGON;
-typedef struct _AE_SESSLOGOFF {
- DWORD ae_sf_compname;
- DWORD ae_sf_username;
- DWORD ae_sf_reason;
-} AE_SESSLOGOFF,*PAE_SESSLOGOFF,*LPAE_SESSLOGOFF;
-typedef struct _AE_SESSPWERR {
- DWORD ae_sp_compname;
- DWORD ae_sp_username;
-} AE_SESSPWERR,*PAE_SESSPWERR,*LPAE_SESSPWERR;
-typedef struct _AE_CONNSTART {
- DWORD ae_ct_compname;
- DWORD ae_ct_username;
- DWORD ae_ct_netname;
- DWORD ae_ct_connid;
-} AE_CONNSTART,*PAE_CONNSTART,*LPAE_CONNSTART;
-typedef struct _AE_CONNSTOP {
- DWORD ae_cp_compname;
- DWORD ae_cp_username;
- DWORD ae_cp_netname;
- DWORD ae_cp_connid;
- DWORD ae_cp_reason;
-} AE_CONNSTOP,*PAE_CONNSTOP,*LPAE_CONNSTOP;
-typedef struct _AE_CONNREJ {
- DWORD ae_cr_compname;
- DWORD ae_cr_username;
- DWORD ae_cr_netname;
- DWORD ae_cr_reason;
-} AE_CONNREJ,*PAE_CONNREJ,*LPAE_CONNREJ;
-typedef struct _AE_RESACCESS {
- DWORD ae_ra_compname;
- DWORD ae_ra_username;
- DWORD ae_ra_resname;
- DWORD ae_ra_operation;
- DWORD ae_ra_returncode;
- DWORD ae_ra_restype;
- DWORD ae_ra_fileid;
-} AE_RESACCESS,*PAE_RESACCESS,*LPAE_RESACCESS;
-typedef struct _AE_RESACCESSREJ {
- DWORD ae_rr_compname;
- DWORD ae_rr_username;
- DWORD ae_rr_resname;
- DWORD ae_rr_operation;
-} AE_RESACCESSREJ,*PAE_RESACCESSREJ,*LPAE_RESACCESSREJ;
-typedef struct _AE_CLOSEFILE {
- DWORD ae_cf_compname;
- DWORD ae_cf_username;
- DWORD ae_cf_resname;
- DWORD ae_cf_fileid;
- DWORD ae_cf_duration;
- DWORD ae_cf_reason;
-} AE_CLOSEFILE,*PAE_CLOSEFILE,*LPAE_CLOSEFILE;
-typedef struct _AE_SERVICESTAT {
- DWORD ae_ss_compname;
- DWORD ae_ss_username;
- DWORD ae_ss_svcname;
- DWORD ae_ss_status;
- DWORD ae_ss_code;
- DWORD ae_ss_text;
- DWORD ae_ss_returnval;
-} AE_SERVICESTAT,*PAE_SERVICESTAT,*LPAE_SERVICESTAT;
-typedef struct _AE_ACLMOD {
- DWORD ae_am_compname;
- DWORD ae_am_username;
- DWORD ae_am_resname;
- DWORD ae_am_action;
- DWORD ae_am_datalen;
-} AE_ACLMOD,*PAE_ACLMOD,*LPAE_ACLMOD;
-typedef struct _AE_UASMOD {
- DWORD ae_um_compname;
- DWORD ae_um_username;
- DWORD ae_um_resname;
- DWORD ae_um_rectype;
- DWORD ae_um_action;
- DWORD ae_um_datalen;
-} AE_UASMOD,*PAE_UASMOD,*LPAE_UASMOD;
-typedef struct _AE_NETLOGON {
- DWORD ae_no_compname;
- DWORD ae_no_username;
- DWORD ae_no_privilege;
- DWORD ae_no_authflags;
-} AE_NETLOGON,*PAE_NETLOGON,*LPAE_NETLOGON;
-typedef struct _AE_NETLOGOFF {
- DWORD ae_nf_compname;
- DWORD ae_nf_username;
- DWORD ae_nf_reserved1;
- DWORD ae_nf_reserved2;
-} AE_NETLOGOFF,*PAE_NETLOGOFF,*LPAE_NETLOGOFF;
-typedef struct _AE_ACCLIM {
- DWORD ae_al_compname;
- DWORD ae_al_username;
- DWORD ae_al_resname;
- DWORD ae_al_limit;
-} AE_ACCLIM,*PAE_ACCLIM,*LPAE_ACCLIM;
-typedef struct _AE_LOCKOUT {
- DWORD ae_lk_compname;
- DWORD ae_lk_username;
- DWORD ae_lk_action;
- DWORD ae_lk_bad_pw_count;
-} AE_LOCKOUT,*PAE_LOCKOUT,*LPAE_LOCKOUT;
-typedef struct _AE_GENERIC {
- DWORD ae_ge_msgfile;
- DWORD ae_ge_msgnum;
- DWORD ae_ge_params;
- DWORD ae_ge_param1;
- DWORD ae_ge_param2;
- DWORD ae_ge_param3;
- DWORD ae_ge_param4;
- DWORD ae_ge_param5;
- DWORD ae_ge_param6;
- DWORD ae_ge_param7;
- DWORD ae_ge_param8;
- DWORD ae_ge_param9;
-} AE_GENERIC,*PAE_GENERIC,*LPAE_GENERIC;
-NET_API_STATUS WINAPI NetAuditClear(LPCWSTR,LPCWSTR,LPCWSTR);
-NET_API_STATUS WINAPI NetAuditRead(LPTSTR,LPTSTR,LPHLOG,DWORD,PDWORD,DWORD,DWORD,PBYTE*,DWORD,PDWORD,PDWORD);
-NET_API_STATUS WINAPI NetAuditWrite(DWORD,PBYTE,DWORD,LPTSTR,PBYTE);
-
-/* These conflict with struct typedefs, why? */
-#define AE_SRVSTATUS 0
-#define AE_SESSLOGON 1
-#define AE_SESSLOGOFF 2
-#define AE_SESSPWERR 3
-#define AE_CONNSTART 4
-#define AE_CONNSTOP 5
-#define AE_CONNREJ 6
-#define AE_RESACCESS 7
-#define AE_RESACCESSREJ 8
-#define AE_CLOSEFILE 9
-#define AE_SERVICESTAT 11
-#define AE_ACLMOD 12
-#define AE_UASMOD 13
-#define AE_NETLOGON 14
-#define AE_NETLOGOFF 15
-#define AE_NETLOGDENIED 16
-#define AE_ACCLIMITEXCD 17
-#define AE_RESACCESS2 18
-#define AE_ACLMODFAIL 19
-#define AE_LOCKOUT 20
-#define AE_GENERIC_TYPE 21
-#define AE_SRVSTART 0
-#define AE_SRVPAUSED 1
-#define AE_SRVCONT 2
-#define AE_SRVSTOP 3
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/winsup/w32api/include/lmbrowsr.h b/winsup/w32api/include/lmbrowsr.h
deleted file mode 100644
index 4aee4646c..000000000
--- a/winsup/w32api/include/lmbrowsr.h
+++ /dev/null
@@ -1,74 +0,0 @@
-#ifndef _LMBROWSR_H
-#define _LMBROWSR_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-#define BROWSER_ROLE_PDC 1
-#define BROWSER_ROLE_BDC 2
-typedef struct _BROWSER_STATISTICS {
- LARGE_INTEGER StatisticsStartTime;
- LARGE_INTEGER NumberOfServerAnnouncements;
- LARGE_INTEGER NumberOfDomainAnnouncements;
- ULONG NumberOfElectionPackets;
- ULONG NumberOfMailslotWrites;
- ULONG NumberOfGetBrowserServerListRequests;
- ULONG NumberOfServerEnumerations;
- ULONG NumberOfDomainEnumerations;
- ULONG NumberOfOtherEnumerations;
- ULONG NumberOfMissedServerAnnouncements;
- ULONG NumberOfMissedMailslotDatagrams;
- ULONG NumberOfMissedGetBrowserServerListRequests;
- ULONG NumberOfFailedServerAnnounceAllocations;
- ULONG NumberOfFailedMailslotAllocations;
- ULONG NumberOfFailedMailslotReceives;
- ULONG NumberOfFailedMailslotWrites;
- ULONG NumberOfFailedMailslotOpens;
- ULONG NumberOfDuplicateMasterAnnouncements;
-LARGE_INTEGER NumberOfIllegalDatagrams;
-} BROWSER_STATISTICS,*PBROWSER_STATISTICS,*LPBROWSER_STATISTICS;
-typedef struct _BROWSER_STATISTICS_100 {
- LARGE_INTEGER StartTime;
- LARGE_INTEGER NumberOfServerAnnouncements;
- LARGE_INTEGER NumberOfDomainAnnouncements;
- ULONG NumberOfElectionPackets;
- ULONG NumberOfMailslotWrites;
- ULONG NumberOfGetBrowserServerListRequests;
- LARGE_INTEGER NumberOfIllegalDatagrams;
-} BROWSER_STATISTICS_100,*PBROWSER_STATISTICS_100;
-typedef struct _BROWSER_STATISTICS_101 {
- LARGE_INTEGER StartTime;
- LARGE_INTEGER NumberOfServerAnnouncements;
- LARGE_INTEGER NumberOfDomainAnnouncements;
- ULONG NumberOfElectionPackets;
- ULONG NumberOfMailslotWrites;
- ULONG NumberOfGetBrowserServerListRequests;
- LARGE_INTEGER NumberOfIllegalDatagrams;
- ULONG NumberOfMissedServerAnnouncements;
- ULONG NumberOfMissedMailslotDatagrams;
- ULONG NumberOfMissedGetBrowserServerListRequests;
- ULONG NumberOfFailedServerAnnounceAllocations;
- ULONG NumberOfFailedMailslotAllocations;
- ULONG NumberOfFailedMailslotReceives;
- ULONG NumberOfFailedMailslotWrites;
- ULONG NumberOfFailedMailslotOpens;
- ULONG NumberOfDuplicateMasterAnnouncements;
-} BROWSER_STATISTICS_101,*PBROWSER_STATISTICS_101;
-
-NET_API_STATUS WINAPI I_BrowserServerEnum(LPCWSTR,LPCWSTR,LPCWSTR,DWORD,PBYTE*,DWORD,PDWORD,PDWORD,DWORD,LPCWSTR,PDWORD);
-NET_API_STATUS WINAPI I_BrowserServerEnumEx(LPCWSTR,LPCWSTR,LPCWSTR,DWORD,PBYTE*,DWORD,PDWORD,PDWORD,DWORD,LPCWSTR,LPCWSTR);
-NET_API_STATUS I_BrowserQueryEmulatedDomains(LPWSTR,PBYTE*,PDWORD);
-NET_API_STATUS I_BrowserQueryOtherDomains(LPCWSTR,PBYTE*,PDWORD,PDWORD);
-NET_API_STATUS I_BrowserResetNetlogonState(LPCWSTR);
-NET_API_STATUS I_BrowserSetNetlogonState(LPWSTR,LPWSTR,LPWSTR,DWORD);
-NET_API_STATUS I_BrowserQueryStatistics(LPCWSTR,LPBROWSER_STATISTICS*);
-NET_API_STATUS I_BrowserResetStatistics(LPCWSTR);
-WORD I_BrowserServerEnumForXactsrv(LPCWSTR,LPCWSTR,ULONG,USHORT,PVOID,WORD,DWORD,PDWORD,PDWORD,DWORD,LPCWSTR,LPCWSTR,PWORD);
-NET_API_STATUS I_BrowserDebugTrace(PWCHAR,PCHAR);
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/winsup/w32api/include/lmchdev.h b/winsup/w32api/include/lmchdev.h
deleted file mode 100644
index 3a4096881..000000000
--- a/winsup/w32api/include/lmchdev.h
+++ /dev/null
@@ -1,61 +0,0 @@
-#ifndef _LMCHDEV_H
-#define _LMCHDEV_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-#define CHARDEVQ_NO_REQUESTS (-1)
-#define CHARDEV_CLOSE 0
-#define CHARDEVQ_MAX_PRIORITY 1
-#define CHARDEVQ_DEV_PARMNUM 1
-#define HANDLE_INFO_LEVEL_1 1
-#define HANDLE_CHARTIME_PARMNUM 1
-#define HANDLE_CHARCOUNT_PARMNUM 2
-#define CHARDEV_STAT_OPENED 2
-#define CHARDEVQ_PRIORITY_PARMNUM 2
-#define CHARDEVQ_DEVS_PARMNUM 3
-#define CHARDEV_STAT_ERROR 4
-#define CHARDEVQ_NUMUSERS_PARMNUM 4
-#define CHARDEVQ_NUMAHEAD_PARMNUM 5
-#define CHARDEVQ_DEF_PRIORITY 5
-#define CHARDEVQ_PRIORITY_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+CHARDEVQ_PRIORITY_PARMNUM)
-#define CHARDEVQ_DEVS_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+CHARDEVQ_DEVS_PARMNUM)
-#define CHARDEVQ_MIN_PRIORITY 9
-typedef struct _CHARDEV_INFO_0 { LPWSTR ch0_dev; } CHARDEV_INFO_0,*PCHARDEV_INFO_0,*LPCHARDEV_INFO_0;
-typedef struct _CHARDEV_INFO_1 {
- LPWSTR ch1_dev;
- DWORD ch1_status;
- LPWSTR ch1_username;
- DWORD ch1_time;
-} CHARDEV_INFO_1,*PCHARDEV_INFO_1,*LPCHARDEV_INFO_1;
-typedef struct _CHARDEVQ_INFO_0 { LPWSTR cq0_dev; } CHARDEVQ_INFO_0,*PCHARDEVQ_INFO_0,*LPCHARDEVQ_INFO_0;
-typedef struct _CHARDEVQ_INFO_1 {
- LPWSTR cq1_dev;
- DWORD cq1_priority;
- LPWSTR cq1_devs;
- DWORD cq1_numusers;
- DWORD cq1_numahead;
-} CHARDEVQ_INFO_1,*PCHARDEVQ_INFO_1,*LPCHARDEVQ_INFO_1;
-typedef struct _CHARDEVQ_INFO_1002 { DWORD cq1002_priority; } CHARDEVQ_INFO_1002,*PCHARDEVQ_INFO_1002,*LPCHARDEVQ_INFO_1002;
-typedef struct _CHARDEVQ_INFO_1003 { LPWSTR cq1003_devs; } CHARDEVQ_INFO_1003,*PCHARDEVQ_INFO_1003,*LPCHARDEVQ_INFO_1003;
-typedef struct _HANDLE_INFO_1 {
- DWORD hdli1_chartime;
- DWORD hdli1_charcount;
-}HANDLE_INFO_1,*PHANDLE_INFO_1,*LPHANDLE_INFO_1;
-NET_API_STATUS WINAPI NetCharDevEnum(LPCWSTR,DWORD,PBYTE*,DWORD,PDWORD,PDWORD,PDWORD);
-NET_API_STATUS WINAPI NetCharDevGetInfo(LPCWSTR,LPCWSTR,DWORD,PBYTE*);
-NET_API_STATUS WINAPI NetCharDevControl(LPCWSTR,LPCWSTR,DWORD);
-NET_API_STATUS WINAPI NetCharDevQEnum(LPCWSTR,LPCWSTR,DWORD,PBYTE*,DWORD,PDWORD,PDWORD,PDWORD);
-NET_API_STATUS WINAPI NetCharDevQGetInfo(LPCWSTR,LPCWSTR,LPCWSTR,DWORD,PBYTE*);
-NET_API_STATUS WINAPI NetCharDevQSetInfo(LPCWSTR,LPCWSTR,DWORD,PBYTE,PDWORD);
-NET_API_STATUS WINAPI NetCharDevQPurge(LPCWSTR,LPCWSTR);
-NET_API_STATUS WINAPI NetCharDevQPurgeSelf(LPCWSTR,LPCWSTR,LPCWSTR);
-NET_API_STATUS WINAPI NetHandleGetInfo(HANDLE,DWORD,PBYTE*);
-NET_API_STATUS WINAPI NetHandleSetInfo(HANDLE,DWORD,PBYTE,DWORD,PDWORD);
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/winsup/w32api/include/lmconfig.h b/winsup/w32api/include/lmconfig.h
deleted file mode 100644
index b75c6ab9c..000000000
--- a/winsup/w32api/include/lmconfig.h
+++ /dev/null
@@ -1,21 +0,0 @@
-#ifndef _LMCONFIG_H
-#define _LMCONFIG_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-#define REVISED_CONFIG_APIS
-typedef struct _CONFIG_INFO_0 {
- LPWSTR cfgi0_key;
- LPWSTR cfgi0_data;
-} CONFIG_INFO_0,*PCONFIG_INFO_0,*LPCONFIG_INFO_0;
-NET_API_STATUS WINAPI NetConfigGet(LPCWSTR,LPCWSTR,LPCWSTR,PBYTE*);
-NET_API_STATUS WINAPI NetConfigGetAll(LPCWSTR,LPCWSTR,PBYTE*);
-NET_API_STATUS WINAPI NetConfigSet(LPCWSTR,LPCWSTR,LPCWSTR,DWORD,DWORD,PBYTE,DWORD);
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/winsup/w32api/include/lmcons.h b/winsup/w32api/include/lmcons.h
deleted file mode 100644
index 27566b365..000000000
--- a/winsup/w32api/include/lmcons.h
+++ /dev/null
@@ -1,75 +0,0 @@
-#ifndef _LMCONS_H
-#define _LMCONS_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#define MESSAGE_FILENAME TEXT("NETMSG")
-#define OS2MSG_FILENAME TEXT("BASE")
-#define HELP_MSG_FILENAME TEXT("NETH")
-#define NET_API_FUNCTION __stdcall
-#define NET_API_STATUS DWORD
-#define API_RET_TYPE NET_API_STATUS
-#define MIN_LANMAN_MESSAGE_ID NERR_BASE
-#define MAX_LANMAN_MESSAGE_ID 5799
-#ifndef CNLEN /* also in nddeapi.h */
-#define CNLEN 15
-#define UNCLEN (CNLEN + 2)
-#endif
-#define DNLEN 15
-#define LM20_CNLEN 15
-#define LM20_DNLEN 15
-#define LM20_SNLEN 15
-#define LM20_STXTLEN 63
-#define LM20_UNCLEN (LM20_CNLEN+2)
-#define LM20_NNLEN 12
-#define LM20_RMLEN (LM20_UNCLEN+1+LM20_NNLEN)
-#define NNLEN 80
-#define RMLEN (UNCLEN+1+NNLEN)
-#define SNLEN 80
-#define STXTLEN 256
-#define PATHLEN 256
-#define LM20_PATHLEN 256
-#define DEVLEN 80
-#define LM20_DEVLEN 8
-#define EVLEN 16
-#define UNLEN 256
-#define LM20_UNLEN 20
-#define GNLEN UNLEN
-#define LM20_GNLEN LM20_UNLEN
-#define PWLEN 256
-#define LM20_PWLEN 14
-#define SHPWLEN 8
-#define CLTYPE_LEN 12
-#define MAXCOMMENTSZ 256
-#define LM20_MAXCOMMENTSZ 48
-#define QNLEN NNLEN
-#define LM20_QNLEN LM20_NNLEN
-#define ALERTSZ 128
-#define MAXDEVENTRIES (sizeof(int)*8)
-#define NETBIOS_NAME_LEN 16
-#define MAX_PREFERRED_LENGTH ((DWORD)-1)
-#define CRYPT_KEY_LEN 7
-#define CRYPT_TXT_LEN 8
-#define ENCRYPTED_PWLEN 16
-#define SESSION_PWLEN 24
-#define SESSION_CRYPT_KLEN 21
-#define PARMNUM_ALL 0
-#define PARM_ERROR_UNKNOWN ((DWORD)-1)
-#define PARM_ERROR_NONE 0
-#define PARMNUM_BASE_INFOLEVEL 1000
-#define PLATFORM_ID_DOS 300
-#define PLATFORM_ID_OS2 400
-#define PLATFORM_ID_NT 500
-#define PLATFORM_ID_OSF 600
-#define PLATFORM_ID_VMS 700
-/* new typedef in W2K */
-#if defined( _WIN32_WINNT ) || defined( WINNT ) || defined( FORCE_UNICODE )
-#define LMSTR LPWSTR
-#define LMCSTR LPCWSTR
-#else
-#define LMSTR LPSTR
-#define LMCSTR LPCSTR
-#endif
-
-#endif
diff --git a/winsup/w32api/include/lmerr.h b/winsup/w32api/include/lmerr.h
deleted file mode 100644
index 58b148492..000000000
--- a/winsup/w32api/include/lmerr.h
+++ /dev/null
@@ -1,306 +0,0 @@
-#ifndef _LMERR_H
-#define _LMERR_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#include <winerror.h>
-#define NERR_Success 0
-#define NERR_BASE 2100
-#define NERR_NetNotStarted (NERR_BASE+2)
-#define NERR_UnknownServer (NERR_BASE+3)
-#define NERR_ShareMem (NERR_BASE+4)
-#define NERR_NoNetworkResource (NERR_BASE+5)
-#define NERR_RemoteOnly (NERR_BASE+6)
-#define NERR_DevNotRedirected (NERR_BASE+7)
-#define NERR_ServerNotStarted (NERR_BASE+14)
-#define NERR_ItemNotFound (NERR_BASE+15)
-#define NERR_UnknownDevDir (NERR_BASE+16)
-#define NERR_RedirectedPath (NERR_BASE+17)
-#define NERR_DuplicateShare (NERR_BASE+18)
-#define NERR_NoRoom (NERR_BASE+19)
-#define NERR_TooManyItems (NERR_BASE+21)
-#define NERR_InvalidMaxUsers (NERR_BASE+22)
-#define NERR_BufTooSmall (NERR_BASE+23)
-#define NERR_RemoteErr (NERR_BASE+27)
-#define NERR_LanmanIniError (NERR_BASE+31)
-#define NERR_NetworkError (NERR_BASE+36)
-#define NERR_WkstaInconsistentState (NERR_BASE+37)
-#define NERR_WkstaNotStarted (NERR_BASE+38)
-#define NERR_BrowserNotStarted (NERR_BASE+39)
-#define NERR_InternalError (NERR_BASE+40)
-#define NERR_BadTransactConfig (NERR_BASE+41)
-#define NERR_InvalidAPI (NERR_BASE+42)
-#define NERR_BadEventName (NERR_BASE+43)
-#define NERR_DupNameReboot (NERR_BASE+44)
-#define NERR_CfgCompNotFound (NERR_BASE+46)
-#define NERR_CfgParamNotFound (NERR_BASE+47)
-#define NERR_LineTooLong (NERR_BASE+49)
-#define NERR_QNotFound (NERR_BASE+50)
-#define NERR_JobNotFound (NERR_BASE+51)
-#define NERR_DestNotFound (NERR_BASE+52)
-#define NERR_DestExists (NERR_BASE+53)
-#define NERR_QExists (NERR_BASE+54)
-#define NERR_QNoRoom (NERR_BASE+55)
-#define NERR_JobNoRoom (NERR_BASE+56)
-#define NERR_DestNoRoom (NERR_BASE+57)
-#define NERR_DestIdle (NERR_BASE+58)
-#define NERR_DestInvalidOp (NERR_BASE+59)
-#define NERR_ProcNoRespond (NERR_BASE+60)
-#define NERR_SpoolerNotLoaded (NERR_BASE+61)
-#define NERR_DestInvalidState (NERR_BASE+62)
-#define NERR_QInvalidState (NERR_BASE+63)
-#define NERR_JobInvalidState (NERR_BASE+64)
-#define NERR_SpoolNoMemory (NERR_BASE+65)
-#define NERR_DriverNotFound (NERR_BASE+66)
-#define NERR_DataTypeInvalid (NERR_BASE+67)
-#define NERR_ProcNotFound (NERR_BASE+68)
-#define NERR_ServiceTableLocked (NERR_BASE+80)
-#define NERR_ServiceTableFull (NERR_BASE+81)
-#define NERR_ServiceInstalled (NERR_BASE+82)
-#define NERR_ServiceEntryLocked (NERR_BASE+83)
-#define NERR_ServiceNotInstalled (NERR_BASE+84)
-#define NERR_BadServiceName (NERR_BASE+85)
-#define NERR_ServiceCtlTimeout (NERR_BASE+86)
-#define NERR_ServiceCtlBusy (NERR_BASE+87)
-#define NERR_BadServiceProgName (NERR_BASE+88)
-#define NERR_ServiceNotCtrl (NERR_BASE+89)
-#define NERR_ServiceKillProc (NERR_BASE+90)
-#define NERR_ServiceCtlNotValid (NERR_BASE+91)
-#define NERR_NotInDispatchTbl (NERR_BASE+92)
-#define NERR_BadControlRecv (NERR_BASE+93)
-#define NERR_ServiceNotStarting (NERR_BASE+94)
-#define NERR_AlreadyLoggedOn (NERR_BASE+100)
-#define NERR_NotLoggedOn (NERR_BASE+101)
-#define NERR_BadUsername (NERR_BASE+102)
-#define NERR_BadPassword (NERR_BASE+103)
-#define NERR_UnableToAddName_W (NERR_BASE+104)
-#define NERR_UnableToAddName_F (NERR_BASE+105)
-#define NERR_UnableToDelName_W (NERR_BASE+106)
-#define NERR_UnableToDelName_F (NERR_BASE+107)
-#define NERR_LogonsPaused (NERR_BASE+109)
-#define NERR_LogonServerConflict (NERR_BASE+110)
-#define NERR_LogonNoUserPath (NERR_BASE+111)
-#define NERR_LogonScriptError (NERR_BASE+112)
-#define NERR_StandaloneLogon (NERR_BASE+114)
-#define NERR_LogonServerNotFound (NERR_BASE+115)
-#define NERR_LogonDomainExists (NERR_BASE+116)
-#define NERR_NonValidatedLogon (NERR_BASE+117)
-#define NERR_ACFNotFound (NERR_BASE+119)
-#define NERR_GroupNotFound (NERR_BASE+120)
-#define NERR_UserNotFound (NERR_BASE+121)
-#define NERR_ResourceNotFound (NERR_BASE+122)
-#define NERR_GroupExists (NERR_BASE+123)
-#define NERR_UserExists (NERR_BASE+124)
-#define NERR_ResourceExists (NERR_BASE+125)
-#define NERR_NotPrimary (NERR_BASE+126)
-#define NERR_ACFNotLoaded (NERR_BASE+127)
-#define NERR_ACFNoRoom (NERR_BASE+128)
-#define NERR_ACFFileIOFail (NERR_BASE+129)
-#define NERR_ACFTooManyLists (NERR_BASE+130)
-#define NERR_UserLogon (NERR_BASE+131)
-#define NERR_ACFNoParent (NERR_BASE+132)
-#define NERR_CanNotGrowSegment (NERR_BASE+133)
-#define NERR_SpeGroupOp (NERR_BASE+134)
-#define NERR_NotInCache (NERR_BASE+135)
-#define NERR_UserInGroup (NERR_BASE+136)
-#define NERR_UserNotInGroup (NERR_BASE+137)
-#define NERR_AccountUndefined (NERR_BASE+138)
-#define NERR_AccountExpired (NERR_BASE+139)
-#define NERR_InvalidWorkstation (NERR_BASE+140)
-#define NERR_InvalidLogonHours (NERR_BASE+141)
-#define NERR_PasswordExpired (NERR_BASE+142)
-#define NERR_PasswordCantChange (NERR_BASE+143)
-#define NERR_PasswordHistConflict (NERR_BASE+144)
-#define NERR_PasswordTooShort (NERR_BASE+145)
-#define NERR_PasswordTooRecent (NERR_BASE+146)
-#define NERR_InvalidDatabase (NERR_BASE+147)
-#define NERR_DatabaseUpToDate (NERR_BASE+148)
-#define NERR_SyncRequired (NERR_BASE+149)
-#define NERR_UseNotFound (NERR_BASE+150)
-#define NERR_BadAsgType (NERR_BASE+151)
-#define NERR_DeviceIsShared (NERR_BASE+152)
-#define NERR_NoComputerName (NERR_BASE+170)
-#define NERR_MsgAlreadyStarted (NERR_BASE+171)
-#define NERR_MsgInitFailed (NERR_BASE+172)
-#define NERR_NameNotFound (NERR_BASE+173)
-#define NERR_AlreadyForwarded (NERR_BASE+174)
-#define NERR_AddForwarded (NERR_BASE+175)
-#define NERR_AlreadyExists (NERR_BASE+176)
-#define NERR_TooManyNames (NERR_BASE+177)
-#define NERR_DelComputerName (NERR_BASE+178)
-#define NERR_LocalForward (NERR_BASE+179)
-#define NERR_GrpMsgProcessor (NERR_BASE+180)
-#define NERR_PausedRemote (NERR_BASE+181)
-#define NERR_BadReceive (NERR_BASE+182)
-#define NERR_NameInUse (NERR_BASE+183)
-#define NERR_MsgNotStarted (NERR_BASE+184)
-#define NERR_NotLocalName (NERR_BASE+185)
-#define NERR_NoForwardName (NERR_BASE+186)
-#define NERR_RemoteFull (NERR_BASE+187)
-#define NERR_NameNotForwarded (NERR_BASE+188)
-#define NERR_TruncatedBroadcast (NERR_BASE+189)
-#define NERR_InvalidDevice (NERR_BASE+194)
-#define NERR_WriteFault (NERR_BASE+195)
-#define NERR_DuplicateName (NERR_BASE+197)
-#define NERR_DeleteLater (NERR_BASE+198)
-#define NERR_IncompleteDel (NERR_BASE+199)
-#define NERR_MultipleNets (NERR_BASE+200)
-#define NERR_NetNameNotFound (NERR_BASE+210)
-#define NERR_DeviceNotShared (NERR_BASE+211)
-#define NERR_ClientNameNotFound (NERR_BASE+212)
-#define NERR_FileIdNotFound (NERR_BASE+214)
-#define NERR_ExecFailure (NERR_BASE+215)
-#define NERR_TmpFile (NERR_BASE+216)
-#define NERR_TooMuchData (NERR_BASE+217)
-#define NERR_DeviceShareConflict (NERR_BASE+218)
-#define NERR_BrowserTableIncomplete (NERR_BASE+219)
-#define NERR_NotLocalDomain (NERR_BASE+220)
-#define NERR_DevInvalidOpCode (NERR_BASE+231)
-#define NERR_DevNotFound (NERR_BASE+232)
-#define NERR_DevNotOpen (NERR_BASE+233)
-#define NERR_BadQueueDevString (NERR_BASE+234)
-#define NERR_BadQueuePriority (NERR_BASE+235)
-#define NERR_NoCommDevs (NERR_BASE+237)
-#define NERR_QueueNotFound (NERR_BASE+238)
-#define NERR_BadDevString (NERR_BASE+240)
-#define NERR_BadDev (NERR_BASE+241)
-#define NERR_InUseBySpooler (NERR_BASE+242)
-#define NERR_CommDevInUse (NERR_BASE+243)
-#define NERR_InvalidComputer (NERR_BASE+251)
-#define NERR_MaxLenExceeded (NERR_BASE+254)
-#define NERR_BadComponent (NERR_BASE+256)
-#define NERR_CantType (NERR_BASE+257)
-#define NERR_TooManyEntries (NERR_BASE+262)
-#define NERR_ProfileFileTooBig (NERR_BASE+270)
-#define NERR_ProfileOffset (NERR_BASE+271)
-#define NERR_ProfileCleanup (NERR_BASE+272)
-#define NERR_ProfileUnknownCmd (NERR_BASE+273)
-#define NERR_ProfileLoadErr (NERR_BASE+274)
-#define NERR_ProfileSaveErr (NERR_BASE+275)
-#define NERR_LogOverflow (NERR_BASE+277)
-#define NERR_LogFileChanged (NERR_BASE+278)
-#define NERR_LogFileCorrupt (NERR_BASE+279)
-#define NERR_SourceIsDir (NERR_BASE+280)
-#define NERR_BadSource (NERR_BASE+281)
-#define NERR_BadDest (NERR_BASE+282)
-#define NERR_DifferentServers (NERR_BASE+283)
-#define NERR_RunSrvPaused (NERR_BASE+285)
-#define NERR_ErrCommRunSrv (NERR_BASE+289)
-#define NERR_ErrorExecingGhost (NERR_BASE+291)
-#define NERR_ShareNotFound (NERR_BASE+292)
-#define NERR_InvalidLana (NERR_BASE+300)
-#define NERR_OpenFiles (NERR_BASE+301)
-#define NERR_ActiveConns (NERR_BASE+302)
-#define NERR_BadPasswordCore (NERR_BASE+303)
-#define NERR_DevInUse (NERR_BASE+304)
-#define NERR_LocalDrive (NERR_BASE+305)
-#define NERR_AlertExists (NERR_BASE+330)
-#define NERR_TooManyAlerts (NERR_BASE+331)
-#define NERR_NoSuchAlert (NERR_BASE+332)
-#define NERR_BadRecipient (NERR_BASE+333)
-#define NERR_AcctLimitExceeded (NERR_BASE+334)
-#define NERR_InvalidLogSeek (NERR_BASE+340)
-#define NERR_BadUasConfig (NERR_BASE+350)
-#define NERR_InvalidUASOp (NERR_BASE+351)
-#define NERR_LastAdmin (NERR_BASE+352)
-#define NERR_DCNotFound (NERR_BASE+353)
-#define NERR_LogonTrackingError (NERR_BASE+354)
-#define NERR_NetlogonNotStarted (NERR_BASE+355)
-#define NERR_CanNotGrowUASFile (NERR_BASE+356)
-#define NERR_TimeDiffAtDC (NERR_BASE+357)
-#define NERR_PasswordMismatch (NERR_BASE+358)
-#define NERR_NoSuchServer (NERR_BASE+360)
-#define NERR_NoSuchSession (NERR_BASE+361)
-#define NERR_NoSuchConnection (NERR_BASE+362)
-#define NERR_TooManyServers (NERR_BASE+363)
-#define NERR_TooManySessions (NERR_BASE+364)
-#define NERR_TooManyConnections (NERR_BASE+365)
-#define NERR_TooManyFiles (NERR_BASE+366)
-#define NERR_NoAlternateServers (NERR_BASE+367)
-#define NERR_TryDownLevel (NERR_BASE+370)
-#define NERR_UPSDriverNotStarted (NERR_BASE+380)
-#define NERR_UPSInvalidConfig (NERR_BASE+381)
-#define NERR_UPSInvalidCommPort (NERR_BASE+382)
-#define NERR_UPSSignalAsserted (NERR_BASE+383)
-#define NERR_UPSShutdownFailed (NERR_BASE+384)
-#define NERR_BadDosRetCode (NERR_BASE+400)
-#define NERR_ProgNeedsExtraMem (NERR_BASE+401)
-#define NERR_BadDosFunction (NERR_BASE+402)
-#define NERR_RemoteBootFailed (NERR_BASE+403)
-#define NERR_BadFileCheckSum (NERR_BASE+404)
-#define NERR_NoRplBootSystem (NERR_BASE+405)
-#define NERR_RplLoadrNetBiosErr (NERR_BASE+406)
-#define NERR_RplLoadrDiskErr (NERR_BASE+407)
-#define NERR_ImageParamErr (NERR_BASE+408)
-#define NERR_TooManyImageParams (NERR_BASE+409)
-#define NERR_NonDosFloppyUsed (NERR_BASE+410)
-#define NERR_RplBootRestart (NERR_BASE+411)
-#define NERR_RplSrvrCallFailed (NERR_BASE+412)
-#define NERR_CantConnectRplSrvr (NERR_BASE+413)
-#define NERR_CantOpenImageFile (NERR_BASE+414)
-#define NERR_CallingRplSrvr (NERR_BASE+415)
-#define NERR_StartingRplBoot (NERR_BASE+416)
-#define NERR_RplBootServiceTerm (NERR_BASE+417)
-#define NERR_RplBootStartFailed (NERR_BASE+418)
-#define NERR_RPL_CONNECTED (NERR_BASE+419)
-#define NERR_BrowserConfiguredToNotRun (NERR_BASE+450)
-#define NERR_RplNoAdaptersStarted (NERR_BASE+510)
-#define NERR_RplBadRegistry (NERR_BASE+511)
-#define NERR_RplBadDatabase (NERR_BASE+512)
-#define NERR_RplRplfilesShare (NERR_BASE+513)
-#define NERR_RplNotRplServer (NERR_BASE+514)
-#define NERR_RplCannotEnum (NERR_BASE+515)
-#define NERR_RplWkstaInfoCorrupted (NERR_BASE+516)
-#define NERR_RplWkstaNotFound (NERR_BASE+517)
-#define NERR_RplWkstaNameUnavailable (NERR_BASE+518)
-#define NERR_RplProfileInfoCorrupted (NERR_BASE+519)
-#define NERR_RplProfileNotFound (NERR_BASE+520)
-#define NERR_RplProfileNameUnavailable (NERR_BASE+521)
-#define NERR_RplProfileNotEmpty (NERR_BASE+522)
-#define NERR_RplConfigInfoCorrupted (NERR_BASE+523)
-#define NERR_RplConfigNotFound (NERR_BASE+524)
-#define NERR_RplAdapterInfoCorrupted (NERR_BASE+525)
-#define NERR_RplInternal (NERR_BASE+526)
-#define NERR_RplVendorInfoCorrupted (NERR_BASE+527)
-#define NERR_RplBootInfoCorrupted (NERR_BASE+528)
-#define NERR_RplWkstaNeedsUserAcct (NERR_BASE+529)
-#define NERR_RplNeedsRPLUSERAcct (NERR_BASE+530)
-#define NERR_RplBootNotFound (NERR_BASE+531)
-#define NERR_RplIncompatibleProfile (NERR_BASE+532)
-#define NERR_RplAdapterNameUnavailable (NERR_BASE+533)
-#define NERR_RplConfigNotEmpty (NERR_BASE+534)
-#define NERR_RplBootInUse (NERR_BASE+535)
-#define NERR_RplBackupDatabase (NERR_BASE+536)
-#define NERR_RplAdapterNotFound (NERR_BASE+537)
-#define NERR_RplVendorNotFound (NERR_BASE+538)
-#define NERR_RplVendorNameUnavailable (NERR_BASE+539)
-#define NERR_RplBootNameUnavailable (NERR_BASE+540)
-#define NERR_RplConfigNameUnavailable (NERR_BASE+541)
-#define NERR_DfsInternalCorruption (NERR_BASE+560)
-#define NERR_DfsVolumeDataCorrupt (NERR_BASE+561)
-#define NERR_DfsNoSuchVolume (NERR_BASE+562)
-#define NERR_DfsVolumeAlreadyExists (NERR_BASE+563)
-#define NERR_DfsAlreadyShared (NERR_BASE+564)
-#define NERR_DfsNoSuchShare (NERR_BASE+565)
-#define NERR_DfsNotALeafVolume (NERR_BASE+566)
-#define NERR_DfsLeafVolume (NERR_BASE+567)
-#define NERR_DfsVolumeHasMultipleServers (NERR_BASE+568)
-#define NERR_DfsCantCreateJunctionPoint (NERR_BASE+569)
-#define NERR_DfsServerNotDfsAware (NERR_BASE+570)
-#define NERR_DfsBadRenamePath (NERR_BASE+571)
-#define NERR_DfsVolumeIsOffline (NERR_BASE+572)
-#define NERR_DfsNoSuchServer (NERR_BASE+573)
-#define NERR_DfsCyclicalName (NERR_BASE+574)
-#define NERR_DfsNotSupportedInServerDfs (NERR_BASE+575)
-#define NERR_DfsDuplicateService (NERR_BASE+576)
-#define NERR_DfsCantRemoveLastServerShare (NERR_BASE+577)
-#define NERR_DfsVolumeIsInterDfs (NERR_BASE+578)
-#define NERR_DfsInconsistent (NERR_BASE+579)
-#define NERR_DfsServerUpgraded (NERR_BASE+580)
-#define NERR_DfsDataIsIdentical (NERR_BASE+581)
-#define NERR_DfsCantRemoveDfsRoot (NERR_BASE+582)
-#define NERR_DfsChildOrParentInDfs (NERR_BASE+583)
-#define NERR_DfsInternalError (NERR_BASE+590)
-#define MAX_NERR (NERR_BASE+899)
-#endif
diff --git a/winsup/w32api/include/lmerrlog.h b/winsup/w32api/include/lmerrlog.h
deleted file mode 100644
index 2f4160369..000000000
--- a/winsup/w32api/include/lmerrlog.h
+++ /dev/null
@@ -1,211 +0,0 @@
-#ifndef _LMERRLOG_H
-#define _LMERRLOG_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-#define ERRLOG_BASE 3100
-#define ERRLOG2_BASE 5700
-#define LOGFLAGS_FORWARD 0
-#define LOGFLAGS_BACKWARD 1
-#define LOGFLAGS_SEEK 2
-#define NELOG_Internal_Error ERRLOG_BASE
-#define NELOG_Resource_Shortage (ERRLOG_BASE+1)
-#define NELOG_Unable_To_Lock_Segment (ERRLOG_BASE+2)
-#define NELOG_Unable_To_Unlock_Segment (ERRLOG_BASE+3)
-#define NELOG_Uninstall_Service (ERRLOG_BASE+4)
-#define NELOG_Init_Exec_Fail (ERRLOG_BASE+5)
-#define NELOG_Ncb_Error (ERRLOG_BASE+6)
-#define NELOG_Net_Not_Started (ERRLOG_BASE+7)
-#define NELOG_Ioctl_Error (ERRLOG_BASE+8)
-#define NELOG_System_Semaphore (ERRLOG_BASE+9)
-#define NELOG_Init_OpenCreate_Err (ERRLOG_BASE+10)
-#define NELOG_NetBios (ERRLOG_BASE+11)
-#define NELOG_SMB_Illegal (ERRLOG_BASE+12)
-#define NELOG_Service_Fail (ERRLOG_BASE+13)
-#define NELOG_Entries_Lost (ERRLOG_BASE+14)
-#define NELOG_Init_Seg_Overflow (ERRLOG_BASE+20)
-#define NELOG_Srv_No_Mem_Grow (ERRLOG_BASE+21)
-#define NELOG_Access_File_Bad (ERRLOG_BASE+22)
-#define NELOG_Srvnet_Not_Started (ERRLOG_BASE+23)
-#define NELOG_Init_Chardev_Err (ERRLOG_BASE+24)
-#define NELOG_Remote_API (ERRLOG_BASE+25)
-#define NELOG_Ncb_TooManyErr (ERRLOG_BASE+26)
-#define NELOG_Mailslot_err (ERRLOG_BASE+27)
-#define NELOG_ReleaseMem_Alert (ERRLOG_BASE+28)
-#define NELOG_AT_cannot_write (ERRLOG_BASE+29)
-#define NELOG_Cant_Make_Msg_File (ERRLOG_BASE+30)
-#define NELOG_Exec_Netservr_NoMem (ERRLOG_BASE+31)
-#define NELOG_Server_Lock_Failure (ERRLOG_BASE+32)
-#define NELOG_Msg_Shutdown (ERRLOG_BASE+40)
-#define NELOG_Msg_Sem_Shutdown (ERRLOG_BASE+41)
-#define NELOG_Msg_Log_Err (ERRLOG_BASE+50)
-#define NELOG_VIO_POPUP_ERR (ERRLOG_BASE+51)
-#define NELOG_Msg_Unexpected_SMB_Type (ERRLOG_BASE+52)
-#define NELOG_Wksta_Infoseg (ERRLOG_BASE+60)
-#define NELOG_Wksta_Compname (ERRLOG_BASE+61)
-#define NELOG_Wksta_BiosThreadFailure (ERRLOG_BASE+62)
-#define NELOG_Wksta_IniSeg (ERRLOG_BASE+63)
-#define NELOG_Wksta_HostTab_Full (ERRLOG_BASE+64)
-#define NELOG_Wksta_Bad_Mailslot_SMB (ERRLOG_BASE+65)
-#define NELOG_Wksta_UASInit (ERRLOG_BASE+66)
-#define NELOG_Wksta_SSIRelogon (ERRLOG_BASE+67)
-#define NELOG_Build_Name (ERRLOG_BASE+70)
-#define NELOG_Name_Expansion (ERRLOG_BASE+71)
-#define NELOG_Message_Send (ERRLOG_BASE+72)
-#define NELOG_Mail_Slt_Err (ERRLOG_BASE+73)
-#define NELOG_AT_cannot_read (ERRLOG_BASE+74)
-#define NELOG_AT_sched_err (ERRLOG_BASE+75)
-#define NELOG_AT_schedule_file_created (ERRLOG_BASE+76)
-#define NELOG_Srvnet_NB_Open (ERRLOG_BASE+77)
-#define NELOG_AT_Exec_Err (ERRLOG_BASE+78)
-#define NELOG_Lazy_Write_Err (ERRLOG_BASE+80)
-#define NELOG_HotFix (ERRLOG_BASE+81)
-#define NELOG_HardErr_From_Server (ERRLOG_BASE+82)
-#define NELOG_LocalSecFail1 (ERRLOG_BASE+83)
-#define NELOG_LocalSecFail2 (ERRLOG_BASE+84)
-#define NELOG_LocalSecFail3 (ERRLOG_BASE+85)
-#define NELOG_LocalSecGeneralFail (ERRLOG_BASE+86)
-#define NELOG_NetWkSta_Internal_Error (ERRLOG_BASE+90)
-#define NELOG_NetWkSta_No_Resource (ERRLOG_BASE+91)
-#define NELOG_NetWkSta_SMB_Err (ERRLOG_BASE+92)
-#define NELOG_NetWkSta_VC_Err (ERRLOG_BASE+93)
-#define NELOG_NetWkSta_Stuck_VC_Err (ERRLOG_BASE+94)
-#define NELOG_NetWkSta_NCB_Err (ERRLOG_BASE+95)
-#define NELOG_NetWkSta_Write_Behind_Err (ERRLOG_BASE+96)
-#define NELOG_NetWkSta_Reset_Err (ERRLOG_BASE+97)
-#define NELOG_NetWkSta_Too_Many (ERRLOG_BASE+98)
-#define NELOG_Srv_Thread_Failure (ERRLOG_BASE+104)
-#define NELOG_Srv_Close_Failure (ERRLOG_BASE+105)
-#define NELOG_ReplUserCurDir (ERRLOG_BASE+106)
-#define NELOG_ReplCannotMasterDir (ERRLOG_BASE+107)
-#define NELOG_ReplUpdateError (ERRLOG_BASE+108)
-#define NELOG_ReplLostMaster (ERRLOG_BASE+109)
-#define NELOG_NetlogonAuthDCFail (ERRLOG_BASE+110)
-#define NELOG_ReplLogonFailed (ERRLOG_BASE+111)
-#define NELOG_ReplNetErr (ERRLOG_BASE+112)
-#define NELOG_ReplMaxFiles (ERRLOG_BASE+113)
-#define NELOG_ReplMaxTreeDepth (ERRLOG_BASE+114)
-#define NELOG_ReplBadMsg (ERRLOG_BASE+115)
-#define NELOG_ReplSysErr (ERRLOG_BASE+116)
-#define NELOG_ReplUserLoged (ERRLOG_BASE+117)
-#define NELOG_ReplBadImport (ERRLOG_BASE+118)
-#define NELOG_ReplBadExport (ERRLOG_BASE+119)
-#define NELOG_ReplSignalFileErr (ERRLOG_BASE+120)
-#define NELOG_DiskFT (ERRLOG_BASE+121)
-#define NELOG_ReplAccessDenied (ERRLOG_BASE+122)
-#define NELOG_NetlogonFailedPrimary (ERRLOG_BASE+123)
-#define NELOG_NetlogonPasswdSetFailed (ERRLOG_BASE+124)
-#define NELOG_NetlogonTrackingError (ERRLOG_BASE+125)
-#define NELOG_NetlogonSyncError (ERRLOG_BASE+126)
-#define NELOG_UPS_PowerOut (ERRLOG_BASE+130)
-#define NELOG_UPS_Shutdown (ERRLOG_BASE+131)
-#define NELOG_UPS_CmdFileError (ERRLOG_BASE+132)
-#define NELOG_UPS_CannotOpenDriver (ERRLOG_BASE+133)
-#define NELOG_UPS_PowerBack (ERRLOG_BASE+134)
-#define NELOG_UPS_CmdFileConfig (ERRLOG_BASE+135)
-#define NELOG_UPS_CmdFileExec (ERRLOG_BASE+136)
-#define NELOG_Missing_Parameter (ERRLOG_BASE+150)
-#define NELOG_Invalid_Config_Line (ERRLOG_BASE+151)
-#define NELOG_Invalid_Config_File (ERRLOG_BASE+152)
-#define NELOG_File_Changed (ERRLOG_BASE+153)
-#define NELOG_Files_Dont_Fit (ERRLOG_BASE+154)
-#define NELOG_Wrong_DLL_Version (ERRLOG_BASE+155)
-#define NELOG_Error_in_DLL (ERRLOG_BASE+156)
-#define NELOG_System_Error (ERRLOG_BASE+157)
-#define NELOG_FT_ErrLog_Too_Large (ERRLOG_BASE+158)
-#define NELOG_FT_Update_In_Progress (ERRLOG_BASE+159)
-#define NELOG_OEM_Code (ERRLOG_BASE+199)
-#define NELOG_NetlogonSSIInitError ERRLOG2_BASE
-#define NELOG_NetlogonFailedToUpdateTrustList (ERRLOG2_BASE+1)
-#define NELOG_NetlogonFailedToAddRpcInterface (ERRLOG2_BASE+2)
-#define NELOG_NetlogonFailedToReadMailslot (ERRLOG2_BASE+3)
-#define NELOG_NetlogonFailedToRegisterSC (ERRLOG2_BASE+4)
-#define NELOG_NetlogonChangeLogCorrupt (ERRLOG2_BASE+5)
-#define NELOG_NetlogonFailedToCreateShare (ERRLOG2_BASE+6)
-#define NELOG_NetlogonDownLevelLogonFailed (ERRLOG2_BASE+7)
-#define NELOG_NetlogonDownLevelLogoffFailed (ERRLOG2_BASE+8)
-#define NELOG_NetlogonNTLogonFailed (ERRLOG2_BASE+9)
-#define NELOG_NetlogonNTLogoffFailed (ERRLOG2_BASE+10)
-#define NELOG_NetlogonPartialSyncCallSuccess (ERRLOG2_BASE+11)
-#define NELOG_NetlogonPartialSyncCallFailed (ERRLOG2_BASE+12)
-#define NELOG_NetlogonFullSyncCallSuccess (ERRLOG2_BASE+13)
-#define NELOG_NetlogonFullSyncCallFailed (ERRLOG2_BASE+14)
-#define NELOG_NetlogonPartialSyncSuccess (ERRLOG2_BASE+15)
-#define NELOG_NetlogonPartialSyncFailed (ERRLOG2_BASE+16)
-#define NELOG_NetlogonFullSyncSuccess (ERRLOG2_BASE+17)
-#define NELOG_NetlogonFullSyncFailed (ERRLOG2_BASE+18)
-#define NELOG_NetlogonAuthNoDomainController (ERRLOG2_BASE+19)
-#define NELOG_NetlogonAuthNoTrustLsaSecret (ERRLOG2_BASE+20)
-#define NELOG_NetlogonAuthNoTrustSamAccount (ERRLOG2_BASE+21)
-#define NELOG_NetlogonServerAuthFailed (ERRLOG2_BASE+22)
-#define NELOG_NetlogonServerAuthNoTrustSamAccount (ERRLOG2_BASE+23)
-#define NELOG_FailedToRegisterSC (ERRLOG2_BASE+24)
-#define NELOG_FailedToSetServiceStatus (ERRLOG2_BASE+25)
-#define NELOG_FailedToGetComputerName (ERRLOG2_BASE+26)
-#define NELOG_DriverNotLoaded (ERRLOG2_BASE+27)
-#define NELOG_NoTranportLoaded (ERRLOG2_BASE+28)
-#define NELOG_NetlogonFailedDomainDelta (ERRLOG2_BASE+29)
-#define NELOG_NetlogonFailedGlobalGroupDelta (ERRLOG2_BASE+30)
-#define NELOG_NetlogonFailedLocalGroupDelta (ERRLOG2_BASE+31)
-#define NELOG_NetlogonFailedUserDelta (ERRLOG2_BASE+32)
-#define NELOG_NetlogonFailedPolicyDelta (ERRLOG2_BASE+33)
-#define NELOG_NetlogonFailedTrustedDomainDelta (ERRLOG2_BASE+34)
-#define NELOG_NetlogonFailedAccountDelta (ERRLOG2_BASE+35)
-#define NELOG_NetlogonFailedSecretDelta (ERRLOG2_BASE+36)
-#define NELOG_NetlogonSystemError (ERRLOG2_BASE+37)
-#define NELOG_NetlogonDuplicateMachineAccounts (ERRLOG2_BASE+38)
-#define NELOG_NetlogonTooManyGlobalGroups (ERRLOG2_BASE+39)
-#define NELOG_NetlogonBrowserDriver (ERRLOG2_BASE+40)
-#define NELOG_NetlogonAddNameFailure (ERRLOG2_BASE+41)
-#define NELOG_RplMessages (ERRLOG2_BASE+42)
-#define NELOG_RplXnsBoot (ERRLOG2_BASE+43)
-#define NELOG_RplSystem (ERRLOG2_BASE+44)
-#define NELOG_RplWkstaTimeout (ERRLOG2_BASE+45)
-#define NELOG_RplWkstaFileOpen (ERRLOG2_BASE+46)
-#define NELOG_RplWkstaFileRead (ERRLOG2_BASE+47)
-#define NELOG_RplWkstaMemory (ERRLOG2_BASE+48)
-#define NELOG_RplWkstaFileChecksum (ERRLOG2_BASE+49)
-#define NELOG_RplWkstaFileLineCount (ERRLOG2_BASE+50)
-#define NELOG_RplWkstaBbcFile (ERRLOG2_BASE+51)
-#define NELOG_RplWkstaFileSize (ERRLOG2_BASE+52)
-#define NELOG_RplWkstaInternal (ERRLOG2_BASE+53)
-#define NELOG_RplWkstaWrongVersion (ERRLOG2_BASE+54)
-#define NELOG_RplWkstaNetwork (ERRLOG2_BASE+55)
-#define NELOG_RplAdapterResource (ERRLOG2_BASE+56)
-#define NELOG_RplFileCopy (ERRLOG2_BASE+57)
-#define NELOG_RplFileDelete (ERRLOG2_BASE+58)
-#define NELOG_RplFilePerms (ERRLOG2_BASE+59)
-#define NELOG_RplCheckConfigs (ERRLOG2_BASE+60)
-#define NELOG_RplCreateProfiles (ERRLOG2_BASE+61)
-#define NELOG_RplRegistry (ERRLOG2_BASE+62)
-#define NELOG_RplReplaceRPLDISK (ERRLOG2_BASE+63)
-#define NELOG_RplCheckSecurity (ERRLOG2_BASE+64)
-#define NELOG_RplBackupDatabase (ERRLOG2_BASE+65)
-#define NELOG_RplInitDatabase (ERRLOG2_BASE+66)
-#define NELOG_RplRestoreDatabaseFailure (ERRLOG2_BASE+67)
-#define NELOG_RplRestoreDatabaseSuccess (ERRLOG2_BASE+68)
-#define NELOG_RplInitRestoredDatabase (ERRLOG2_BASE+69)
-#define NELOG_NetlogonSessionTypeWrong (ERRLOG2_BASE+70)
-#define REVISED_ERROR_LOG_STRUCT
-typedef struct _ERROR_LOG {
- DWORD el_len;
- DWORD el_reserved;
- DWORD el_time;
- DWORD el_error;
- LPWSTR el_name;
- LPWSTR el_text;
- LPBYTE el_data;
- DWORD el_data_size;
- DWORD el_nstrings;
-} ERROR_LOG,*PERROR_LOG,*LPERROR_LOG;
-NET_API_STATUS WINAPI NetErrorLogClear(LPCWSTR,LPCWSTR,LPBYTE);
-NET_API_STATUS WINAPI NetErrorLogRead(LPCWSTR,LPWSTR,LPHLOG,DWORD,LPDWORD,DWORD,DWORD,LPBYTE*,DWORD,LPDWORD,LPDWORD);
-NET_API_STATUS WINAPI NetErrorLogWrite(LPBYTE,DWORD,LPCWSTR,LPBYTE,DWORD,LPBYTE,DWORD,LPBYTE);
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/winsup/w32api/include/lmmsg.h b/winsup/w32api/include/lmmsg.h
deleted file mode 100644
index 9a4ea6434..000000000
--- a/winsup/w32api/include/lmmsg.h
+++ /dev/null
@@ -1,27 +0,0 @@
-#ifndef _LMMSG_H
-#define _LMMSG_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-#define MSGNAME_NOT_FORWARDED 0
-#define MSGNAME_FORWARDED_TO 4
-#define MSGNAME_FORWARDED_FROM 16
-typedef struct _MSG_INFO_0 { LPWSTR msgi0_name; }MSG_INFO_0,*PMSG_INFO_0,*LPMSG_INFO_0;
-typedef struct _MSG_INFO_1 {
- LPWSTR msgi1_name;
- DWORD msgi1_forward_flag;
- LPWSTR msgi1_forward;
-}MSG_INFO_1,*PMSG_INFO_1,*LPMSG_INFO_1;
-NET_API_STATUS WINAPI NetMessageBufferSend(LPCWSTR,LPCWSTR,LPCWSTR,PBYTE,DWORD);
-NET_API_STATUS WINAPI NetMessageNameAdd(LPCWSTR,LPCWSTR);
-NET_API_STATUS WINAPI NetMessageNameDel(LPCWSTR,LPCWSTR);
-NET_API_STATUS WINAPI NetMessageNameEnum(LPCWSTR,DWORD,PBYTE*,DWORD,PDWORD,PDWORD,PDWORD);
-NET_API_STATUS WINAPI NetMessageNameGetInfo(LPCWSTR,LPCWSTR,DWORD,PBYTE*);
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/winsup/w32api/include/lmremutl.h b/winsup/w32api/include/lmremutl.h
deleted file mode 100644
index 0609240af..000000000
--- a/winsup/w32api/include/lmremutl.h
+++ /dev/null
@@ -1,45 +0,0 @@
-#ifndef _LMREMUTL_H
-#define _LMREMUTL_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-#define SUPPORTS_REMOTE_ADMIN_PROTOCOL 2
-#define SUPPORTS_RPC 4
-#define SUPPORTS_SAM_PROTOCOL 8
-#define SUPPORTS_UNICODE 16
-#define SUPPORTS_LOCAL 32
-#define SUPPORTS_ANY 0xFFFFFFFF
-#define NO_PERMISSION_REQUIRED 1
-#define ALLOCATE_RESPONSE 2
-#define USE_SPECIFIC_TRANSPORT 0x80000000
-#ifndef DESC_CHAR_UNICODE
-typedef CHAR DESC_CHAR;
-#else
-typedef WCHAR DESC_CHAR;
-#endif
-typedef DESC_CHAR *LPDESC;
-typedef struct _TIME_OF_DAY_INFO {
- DWORD tod_elapsedt;
- DWORD tod_msecs;
- DWORD tod_hours;
- DWORD tod_mins;
- DWORD tod_secs;
- DWORD tod_hunds;
- LONG tod_timezone;
- DWORD tod_tinterval;
- DWORD tod_day;
- DWORD tod_month;
- DWORD tod_year;
- DWORD tod_weekday;
-} TIME_OF_DAY_INFO,*PTIME_OF_DAY_INFO,*LPTIME_OF_DAY_INFO;
-NET_API_STATUS WINAPI NetRemoteTOD(LPCWSTR,PBYTE*);
-NET_API_STATUS WINAPI NetRemoteComputerSupports(LPCWSTR,DWORD,PDWORD);
-NET_API_STATUS RxRemoteApi(DWORD,LPCWSTR,LPDESC,LPDESC,LPDESC,LPDESC,LPDESC,LPDESC,LPDESC,DWORD,... );
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/winsup/w32api/include/lmrepl.h b/winsup/w32api/include/lmrepl.h
deleted file mode 100644
index 0cef98ce9..000000000
--- a/winsup/w32api/include/lmrepl.h
+++ /dev/null
@@ -1,94 +0,0 @@
-#ifndef _LMREPL_H
-#define _LMREPL_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-#define REPL_ROLE_EXPORT 1
-#define REPL_ROLE_IMPORT 2
-#define REPL_ROLE_BOTH 3
-#define REPL_INTERVAL_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+0)
-#define REPL_PULSE_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+1)
-#define REPL_GUARDTIME_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+2)
-#define REPL_RANDOM_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+3)
-#define REPL_UNLOCK_NOFORCE 0
-#define REPL_UNLOCK_FORCE 1
-#define REPL_STATE_OK 0
-#define REPL_STATE_NO_MASTER 1
-#define REPL_STATE_NO_SYNC 2
-#define REPL_STATE_NEVER_REPLICATED 3
-#define REPL_INTEGRITY_FILE 1
-#define REPL_INTEGRITY_TREE 2
-#define REPL_EXTENT_FILE 1
-#define REPL_EXTENT_TREE 2
-#define REPL_EXPORT_INTEGRITY_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+0)
-#define REPL_EXPORT_EXTENT_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+1)
-typedef struct _REPL_INFO_0 {
- DWORD rp0_role;
- LPWSTR rp0_exportpath;
- LPWSTR rp0_exportlist;
- LPWSTR rp0_importpath;
- LPWSTR rp0_importlist;
- LPWSTR rp0_logonusername;
- DWORD rp0_interval;
- DWORD rp0_pulse;
- DWORD rp0_guardtime;
- DWORD rp0_random;
-} REPL_INFO_0,*PREPL_INFO_0,*LPREPL_INFO_0;
-typedef struct _REPL_INFO_1000 { DWORD rp1000_interval; } REPL_INFO_1000,*PREPL_INFO_1000,*LPREPL_INFO_1000;
-typedef struct _REPL_INFO_1001 { DWORD rp1001_pulse; } REPL_INFO_1001,*PREPL_INFO_1001,*LPREPL_INFO_1001;
-typedef struct _REPL_INFO_1002 { DWORD rp1002_guardtime; } REPL_INFO_1002,*PREPL_INFO_1002,*LPREPL_INFO_1002;
-typedef struct _REPL_INFO_1003 { DWORD rp1003_random; } REPL_INFO_1003,*PREPL_INFO_1003,*LPREPL_INFO_1003;
-
-NET_API_STATUS WINAPI NetReplGetInfo(LPCWSTR,DWORD,PBYTE*);
-NET_API_STATUS WINAPI NetReplSetInfo(LPCWSTR,DWORD,PBYTE,PDWORD);
-typedef struct _REPL_EDIR_INFO_0 {
- LPWSTR rped0_dirname;
-} REPL_EDIR_INFO_0,*PREPL_EDIR_INFO_0,*LPREPL_EDIR_INFO_0;
-typedef struct _REPL_EDIR_INFO_1 {
- LPWSTR rped1_dirname;
- DWORD rped1_integrity;
- DWORD rped1_extent;
-} REPL_EDIR_INFO_1,*PREPL_EDIR_INFO_1,*LPREPL_EDIR_INFO_1;
-typedef struct _REPL_EDIR_INFO_2 {
- LPWSTR rped2_dirname;
- DWORD rped2_integrity;
- DWORD rped2_extent;
- DWORD rped2_lockcount;
- DWORD rped2_locktime;
-} REPL_EDIR_INFO_2,*PREPL_EDIR_INFO_2,*LPREPL_EDIR_INFO_2;
-typedef struct _REPL_EDIR_INFO_1000 {
- DWORD rped1000_integrity;
-} REPL_EDIR_INFO_1000,*PREPL_EDIR_INFO_1000,*LPREPL_EDIR_INFO_1000;
-typedef struct _REPL_EDIR_INFO_1001 {
- DWORD rped1001_extent;
-} REPL_EDIR_INFO_1001,*PREPL_EDIR_INFO_1001,*LPREPL_EDIR_INFO_1001;
-typedef struct _REPL_IDIR_INFO_0 { LPWSTR rpid0_dirname; } REPL_IDIR_INFO_0,*PREPL_IDIR_INFO_0,*LPREPL_IDIR_INFO_0;
-typedef struct _REPL_IDIR_INFO_1 {
- LPWSTR rpid1_dirname;
- DWORD rpid1_state;
- LPWSTR rpid1_mastername;
- DWORD rpid1_last_update_time;
- DWORD rpid1_lockcount;
- DWORD rpid1_locktime;
-} REPL_IDIR_INFO_1,*PREPL_IDIR_INFO_1,*LPREPL_IDIR_INFO_1;
-NET_API_STATUS WINAPI NetReplExportDirAdd(LPCWSTR,DWORD,PBYTE,PDWORD);
-NET_API_STATUS WINAPI NetReplExportDirDel(LPCWSTR,LPCWSTR);
-NET_API_STATUS WINAPI NetReplExportDirEnum(LPCWSTR,DWORD,PBYTE*,DWORD,PDWORD,PDWORD,PDWORD);
-NET_API_STATUS WINAPI NetReplExportDirGetInfo(LPCWSTR,LPCWSTR,DWORD,PBYTE*);
-NET_API_STATUS WINAPI NetReplExportDirSetInfo(LPCWSTR,LPCWSTR,DWORD,PBYTE,PDWORD);
-NET_API_STATUS WINAPI NetReplExportDirLock(LPCWSTR,LPCWSTR);
-NET_API_STATUS WINAPI NetReplExportDirUnlock(LPCWSTR,LPCWSTR,DWORD);
-NET_API_STATUS WINAPI NetReplImportDirAdd(LPCWSTR,DWORD,PBYTE,PDWORD);
-NET_API_STATUS WINAPI NetReplImportDirDel(LPCWSTR,LPCWSTR);
-NET_API_STATUS WINAPI NetReplImportDirEnum(LPCWSTR,DWORD,PBYTE*,DWORD,PDWORD,PDWORD,PDWORD);
-NET_API_STATUS WINAPI NetReplImportDirGetInfo(LPCWSTR,LPCWSTR,DWORD,PBYTE*);
-NET_API_STATUS WINAPI NetReplImportDirLock(LPCWSTR,LPCWSTR);
-NET_API_STATUS WINAPI NetReplImportDirUnlock(LPCWSTR,LPCWSTR,DWORD);
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/winsup/w32api/include/lmserver.h b/winsup/w32api/include/lmserver.h
deleted file mode 100644
index 711971430..000000000
--- a/winsup/w32api/include/lmserver.h
+++ /dev/null
@@ -1,606 +0,0 @@
-#ifndef _LMSERVER_H
-#define _LMSERVER_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-#include <winsvc.h>
-#include <lmcons.h>
-typedef struct _SERVER_INFO_100 {
-DWORD sv100_platform_id;
-LPWSTR sv100_name;
-} SERVER_INFO_100,*PSERVER_INFO_100,*LPSERVER_INFO_100;
-typedef struct _SERVER_INFO_101 {
-DWORD sv101_platform_id;
-LPWSTR sv101_name;
-DWORD sv101_version_major;
-DWORD sv101_version_minor;
-DWORD sv101_type;
-LPWSTR sv101_comment;
-} SERVER_INFO_101,*PSERVER_INFO_101,*LPSERVER_INFO_101;
-typedef struct _SERVER_INFO_102 {
-DWORD sv102_platform_id;
-LPWSTR sv102_name;
-DWORD sv102_version_major;
-DWORD sv102_version_minor;
-DWORD sv102_type;
-LPWSTR sv102_comment;
-DWORD sv102_users;
-LONG sv102_disc;
-BOOL sv102_hidden;
-DWORD sv102_announce;
-DWORD sv102_anndelta;
-DWORD sv102_licenses;
-LPWSTR sv102_userpath;
-} SERVER_INFO_102,*PSERVER_INFO_102,*LPSERVER_INFO_102;
-typedef struct _SERVER_INFO_402 {
-DWORD sv402_ulist_mtime;
-DWORD sv402_glist_mtime;
-DWORD sv402_alist_mtime;
-LPWSTR sv402_alerts;
-DWORD sv402_security;
-DWORD sv402_numadmin;
-DWORD sv402_lanmask;
-LPWSTR sv402_guestacct;
-DWORD sv402_chdevs;
-DWORD sv402_chdevq;
-DWORD sv402_chdevjobs;
-DWORD sv402_connections;
-DWORD sv402_shares;
-DWORD sv402_openfiles;
-DWORD sv402_sessopens;
-DWORD sv402_sessvcs;
-DWORD sv402_sessreqs;
-DWORD sv402_opensearch;
-DWORD sv402_activelocks;
-DWORD sv402_numreqbuf;
-DWORD sv402_sizreqbuf;
-DWORD sv402_numbigbuf;
-DWORD sv402_numfiletasks;
-DWORD sv402_alertsched;
-DWORD sv402_erroralert;
-DWORD sv402_logonalert;
-DWORD sv402_accessalert;
-DWORD sv402_diskalert;
-DWORD sv402_netioalert;
-DWORD sv402_maxauditsz;
-LPWSTR sv402_srvheuristics;
-} SERVER_INFO_402,*PSERVER_INFO_402,*LPSERVER_INFO_402;
-typedef struct _SERVER_INFO_403 {
-DWORD sv403_ulist_mtime;
-DWORD sv403_glist_mtime;
-DWORD sv403_alist_mtime;
-LPWSTR sv403_alerts;
-DWORD sv403_security;
-DWORD sv403_numadmin;
-DWORD sv403_lanmask;
-LPWSTR sv403_guestacct;
-DWORD sv403_chdevs;
-DWORD sv403_chdevq;
-DWORD sv403_chdevjobs;
-DWORD sv403_connections;
-DWORD sv403_shares;
-DWORD sv403_openfiles;
-DWORD sv403_sessopens;
-DWORD sv403_sessvcs;
-DWORD sv403_sessreqs;
-DWORD sv403_opensearch;
-DWORD sv403_activelocks;
-DWORD sv403_numreqbuf;
-DWORD sv403_sizreqbuf;
-DWORD sv403_numbigbuf;
-DWORD sv403_numfiletasks;
-DWORD sv403_alertsched;
-DWORD sv403_erroralert;
-DWORD sv403_logonalert;
-DWORD sv403_accessalert;
-DWORD sv403_diskalert;
-DWORD sv403_netioalert;
-DWORD sv403_maxauditsz;
-LPWSTR sv403_srvheuristics;
-DWORD sv403_auditedevents;
-DWORD sv403_autoprofile;
-LPWSTR sv403_autopath;
-} SERVER_INFO_403,*PSERVER_INFO_403,*LPSERVER_INFO_403;
-typedef struct _SERVER_INFO_502 {
-DWORD sv502_sessopens;
-DWORD sv502_sessvcs;
-DWORD sv502_opensearch;
-DWORD sv502_sizreqbuf;
-DWORD sv502_initworkitems;
-DWORD sv502_maxworkitems;
-DWORD sv502_rawworkitems;
-DWORD sv502_irpstacksize;
-DWORD sv502_maxrawbuflen;
-DWORD sv502_sessusers;
-DWORD sv502_sessconns;
-DWORD sv502_maxpagedmemoryusage;
-DWORD sv502_maxnonpagedmemoryusage;
-BOOL sv502_enablesoftcompat;
-BOOL sv502_enableforcedlogoff;
-BOOL sv502_timesource;
-BOOL sv502_acceptdownlevelapis;
-BOOL sv502_lmannounce;
-} SERVER_INFO_502,*PSERVER_INFO_502,*LPSERVER_INFO_502;
-typedef struct _SERVER_INFO_503 {
-DWORD sv503_sessopens;
-DWORD sv503_sessvcs;
-DWORD sv503_opensearch;
-DWORD sv503_sizreqbuf;
-DWORD sv503_initworkitems;
-DWORD sv503_maxworkitems;
-DWORD sv503_rawworkitems;
-DWORD sv503_irpstacksize;
-DWORD sv503_maxrawbuflen;
-DWORD sv503_sessusers;
-DWORD sv503_sessconns;
-DWORD sv503_maxpagedmemoryusage;
-DWORD sv503_maxnonpagedmemoryusage;
-BOOL sv503_enablesoftcompat;
-BOOL sv503_enableforcedlogoff;
-BOOL sv503_timesource;
-BOOL sv503_acceptdownlevelapis;
-BOOL sv503_lmannounce;
-LPWSTR sv503_domain;
-DWORD sv503_maxcopyreadlen;
-DWORD sv503_maxcopywritelen;
-DWORD sv503_minkeepsearch;
-DWORD sv503_maxkeepsearch;
-DWORD sv503_minkeepcomplsearch;
-DWORD sv503_maxkeepcomplsearch;
-DWORD sv503_threadcountadd;
-DWORD sv503_numblockthreads;
-DWORD sv503_scavtimeout;
-DWORD sv503_minrcvqueue;
-DWORD sv503_minfreeworkitems;
-DWORD sv503_xactmemsize;
-DWORD sv503_threadpriority;
-DWORD sv503_maxmpxct;
-DWORD sv503_oplockbreakwait;
-DWORD sv503_oplockbreakresponsewait;
-BOOL sv503_enableoplocks;
-BOOL sv503_enableoplockforceclose;
-BOOL sv503_enablefcbopens;
-BOOL sv503_enableraw;
-BOOL sv503_enablesharednetdrives;
-DWORD sv503_minfreeconnections;
-DWORD sv503_maxfreeconnections;
-} SERVER_INFO_503,*PSERVER_INFO_503,*LPSERVER_INFO_503;
-typedef struct _SERVER_INFO_599 {
-DWORD sv599_sessopens;
-DWORD sv599_sessvcs;
-DWORD sv599_opensearch;
-DWORD sv599_sizreqbuf;
-DWORD sv599_initworkitems;
-DWORD sv599_maxworkitems;
-DWORD sv599_rawworkitems;
-DWORD sv599_irpstacksize;
-DWORD sv599_maxrawbuflen;
-DWORD sv599_sessusers;
-DWORD sv599_sessconns;
-DWORD sv599_maxpagedmemoryusage;
-DWORD sv599_maxnonpagedmemoryusage;
-BOOL sv599_enablesoftcompat;
-BOOL sv599_enableforcedlogoff;
-BOOL sv599_timesource;
-BOOL sv599_acceptdownlevelapis;
-BOOL sv599_lmannounce;
-LPWSTR sv599_domain;
-DWORD sv599_maxcopyreadlen;
-DWORD sv599_maxcopywritelen;
-DWORD sv599_minkeepsearch;
-DWORD sv599_maxkeepsearch;
-DWORD sv599_minkeepcomplsearch;
-DWORD sv599_maxkeepcomplsearch;
-DWORD sv599_threadcountadd;
-DWORD sv599_numblockthreads;
-DWORD sv599_scavtimeout;
-DWORD sv599_minrcvqueue;
-DWORD sv599_minfreeworkitems;
-DWORD sv599_xactmemsize;
-DWORD sv599_threadpriority;
-DWORD sv599_maxmpxct;
-DWORD sv599_oplockbreakwait;
-DWORD sv599_oplockbreakresponsewait;
-BOOL sv599_enableoplocks;
-BOOL sv599_enableoplockforceclose;
-BOOL sv599_enablefcbopens;
-BOOL sv599_enableraw;
-BOOL sv599_enablesharednetdrives;
-DWORD sv599_minfreeconnections;
-DWORD sv599_maxfreeconnections;
-DWORD sv599_initsesstable;
-DWORD sv599_initconntable;
-DWORD sv599_initfiletable;
-DWORD sv599_initsearchtable;
-DWORD sv599_alertschedule;
-DWORD sv599_errorthreshold;
-DWORD sv599_networkerrorthreshold;
-DWORD sv599_diskspacethreshold;
-DWORD sv599_reserved;
-DWORD sv599_maxlinkdelay;
-DWORD sv599_minlinkthroughput;
-DWORD sv599_linkinfovalidtime;
-DWORD sv599_scavqosinfoupdatetime;
-DWORD sv599_maxworkitemidletime;
-} SERVER_INFO_599,*PSERVER_INFO_599,*LPSERVER_INFO_599;
-typedef struct _SERVER_INFO_598 {
-DWORD sv598_maxrawworkitems;
-DWORD sv598_maxthreadsperqueue;
-DWORD sv598_producttype;
-DWORD sv598_serversize;
-DWORD sv598_connectionlessautodisc;
-DWORD sv598_sharingviolationretries;
-DWORD sv598_sharingviolationdelay;
-DWORD sv598_maxglobalopensearch;
-DWORD sv598_removeduplicatesearches;
-DWORD sv598_lockviolationoffset;
-DWORD sv598_lockviolationdelay;
-DWORD sv598_mdlreadswitchover;
-DWORD sv598_cachedopenlimit;
-DWORD sv598_otherqueueaffinity;
-BOOL sv598_restrictnullsessaccess;
-BOOL sv598_enablewfw311directipx;
-DWORD sv598_queuesamplesecs;
-DWORD sv598_balancecount;
-DWORD sv598_preferredaffinity;
-DWORD sv598_maxfreerfcbs;
-DWORD sv598_maxfreemfcbs;
-DWORD sv598_maxfreelfcbs;
-DWORD sv598_maxfreepagedpoolchunks;
-DWORD sv598_minpagedpoolchunksize;
-DWORD sv598_maxpagedpoolchunksize;
-BOOL sv598_sendsfrompreferredprocessor;
-} SERVER_INFO_598,*PSERVER_INFO_598,*LPSERVER_INFO_598;
-typedef struct _SERVER_INFO_1005 {LPWSTR sv1005_comment; } SERVER_INFO_1005,*PSERVER_INFO_1005,*LPSERVER_INFO_1005;
-typedef struct _SERVER_INFO_1107 { DWORD sv1107_users; } SERVER_INFO_1107,*PSERVER_INFO_1107,*LPSERVER_INFO_1107;
-typedef struct _SERVER_INFO_1010 { LONG sv1010_disc; } SERVER_INFO_1010,*PSERVER_INFO_1010,*LPSERVER_INFO_1010;
-typedef struct _SERVER_INFO_1016 { BOOL sv1016_hidden; } SERVER_INFO_1016,*PSERVER_INFO_1016,*LPSERVER_INFO_1016;
-typedef struct _SERVER_INFO_1017 { DWORD sv1017_announce; } SERVER_INFO_1017,*PSERVER_INFO_1017,*LPSERVER_INFO_1017;
-typedef struct _SERVER_INFO_1018 { DWORD sv1018_anndelta; } SERVER_INFO_1018,*PSERVER_INFO_1018,*LPSERVER_INFO_1018;
-typedef struct _SERVER_INFO_1501 { DWORD sv1501_sessopens; } SERVER_INFO_1501,*PSERVER_INFO_1501,*LPSERVER_INFO_1501;
-typedef struct _SERVER_INFO_1502 { DWORD sv1502_sessvcs; } SERVER_INFO_1502,*PSERVER_INFO_1502,*LPSERVER_INFO_1502;
-typedef struct _SERVER_INFO_1503 { DWORD sv1503_opensearch; } SERVER_INFO_1503,*PSERVER_INFO_1503,*LPSERVER_INFO_1503;
-typedef struct _SERVER_INFO_1506 { DWORD sv1506_maxworkitems; } SERVER_INFO_1506,*PSERVER_INFO_1506,*LPSERVER_INFO_1506;
-typedef struct _SERVER_INFO_1509 { DWORD sv1509_maxrawbuflen; } SERVER_INFO_1509,*PSERVER_INFO_1509,*LPSERVER_INFO_1509;
-typedef struct _SERVER_INFO_1510 { DWORD sv1510_sessusers; } SERVER_INFO_1510,*PSERVER_INFO_1510,*LPSERVER_INFO_1510;
-typedef struct _SERVER_INFO_1511 { DWORD sv1511_sessconns; } SERVER_INFO_1511,*PSERVER_INFO_1511,*LPSERVER_INFO_1511;
-typedef struct _SERVER_INFO_1512 { DWORD sv1512_maxnonpagedmemoryusage; } SERVER_INFO_1512,*PSERVER_INFO_1512,*LPSERVER_INFO_1512;
-typedef struct _SERVER_INFO_1513 { DWORD sv1513_maxpagedmemoryusage; } SERVER_INFO_1513,*PSERVER_INFO_1513,*LPSERVER_INFO_1513;
-typedef struct _SERVER_INFO_1514 { BOOL sv1514_enablesoftcompat; } SERVER_INFO_1514,*PSERVER_INFO_1514,*LPSERVER_INFO_1514;
-typedef struct _SERVER_INFO_1515 { BOOL sv1515_enableforcedlogoff; } SERVER_INFO_1515,*PSERVER_INFO_1515,*LPSERVER_INFO_1515;
-typedef struct _SERVER_INFO_1516 { BOOL sv1516_timesource; } SERVER_INFO_1516,*PSERVER_INFO_1516,*LPSERVER_INFO_1516;
-typedef struct _SERVER_INFO_1518 { BOOL sv1518_lmannounce; } SERVER_INFO_1518,*PSERVER_INFO_1518,*LPSERVER_INFO_1518;
-typedef struct _SERVER_INFO_1520 { DWORD sv1520_maxcopyreadlen; } SERVER_INFO_1520,*PSERVER_INFO_1520,*LPSERVER_INFO_1520;
-typedef struct _SERVER_INFO_1521 { DWORD sv1521_maxcopywritelen; } SERVER_INFO_1521,*PSERVER_INFO_1521,*LPSERVER_INFO_1521;
-typedef struct _SERVER_INFO_1522 { DWORD sv1522_minkeepsearch; } SERVER_INFO_1522,*PSERVER_INFO_1522,*LPSERVER_INFO_1522;
-typedef struct _SERVER_INFO_1523 { DWORD sv1523_maxkeepsearch; } SERVER_INFO_1523,*PSERVER_INFO_1523,*LPSERVER_INFO_1523;
-typedef struct _SERVER_INFO_1524 { DWORD sv1524_minkeepcomplsearch; } SERVER_INFO_1524,*PSERVER_INFO_1524,*LPSERVER_INFO_1524;
-typedef struct _SERVER_INFO_1525 { DWORD sv1525_maxkeepcomplsearch; } SERVER_INFO_1525,*PSERVER_INFO_1525,*LPSERVER_INFO_1525;
-typedef struct _SERVER_INFO_1528 { DWORD sv1528_scavtimeout; } SERVER_INFO_1528,*PSERVER_INFO_1528,*LPSERVER_INFO_1528;
-typedef struct _SERVER_INFO_1529 { DWORD sv1529_minrcvqueue; } SERVER_INFO_1529,*PSERVER_INFO_1529,*LPSERVER_INFO_1529;
-typedef struct _SERVER_INFO_1530 { DWORD sv1530_minfreeworkitems; } SERVER_INFO_1530,*PSERVER_INFO_1530,*LPSERVER_INFO_1530;
-typedef struct _SERVER_INFO_1533 { DWORD sv1533_maxmpxct; } SERVER_INFO_1533,*PSERVER_INFO_1533,*LPSERVER_INFO_1533;
-typedef struct _SERVER_INFO_1534 { DWORD sv1534_oplockbreakwait; } SERVER_INFO_1534,*PSERVER_INFO_1534,*LPSERVER_INFO_1534;
-typedef struct _SERVER_INFO_1535 { DWORD sv1535_oplockbreakresponsewait; } SERVER_INFO_1535,*PSERVER_INFO_1535,*LPSERVER_INFO_1535;
-typedef struct _SERVER_INFO_1536 { BOOL sv1536_enableoplocks; } SERVER_INFO_1536,*PSERVER_INFO_1536,*LPSERVER_INFO_1536;
-typedef struct _SERVER_INFO_1537 { BOOL sv1537_enableoplockforceclose; } SERVER_INFO_1537,*PSERVER_INFO_1537,*LPSERVER_INFO_1537;
-typedef struct _SERVER_INFO_1538 { BOOL sv1538_enablefcbopens; } SERVER_INFO_1538,*PSERVER_INFO_1538,*LPSERVER_INFO_1538;
-typedef struct _SERVER_INFO_1539 { BOOL sv1539_enableraw; } SERVER_INFO_1539,*PSERVER_INFO_1539,*LPSERVER_INFO_1539;
-typedef struct _SERVER_INFO_1540 { BOOL sv1540_enablesharednetdrives; } SERVER_INFO_1540,*PSERVER_INFO_1540,*LPSERVER_INFO_1540;
-typedef struct _SERVER_INFO_1541 { BOOL sv1541_minfreeconnections; } SERVER_INFO_1541,*PSERVER_INFO_1541,*LPSERVER_INFO_1541;
-typedef struct _SERVER_INFO_1542 { BOOL sv1542_maxfreeconnections; } SERVER_INFO_1542,*PSERVER_INFO_1542,*LPSERVER_INFO_1542;
-typedef struct _SERVER_INFO_1543 { DWORD sv1543_initsesstable; } SERVER_INFO_1543,*PSERVER_INFO_1543,*LPSERVER_INFO_1543;
-typedef struct _SERVER_INFO_1544 { DWORD sv1544_initconntable; } SERVER_INFO_1544,*PSERVER_INFO_1544,*LPSERVER_INFO_1544;
-typedef struct _SERVER_INFO_1545 { DWORD sv1545_initfiletable; } SERVER_INFO_1545,*PSERVER_INFO_1545,*LPSERVER_INFO_1545;
-typedef struct _SERVER_INFO_1546 { DWORD sv1546_initsearchtable; } SERVER_INFO_1546,*PSERVER_INFO_1546,*LPSERVER_INFO_1546;
-typedef struct _SERVER_INFO_1547 { DWORD sv1547_alertschedule; } SERVER_INFO_1547,*PSERVER_INFO_1547,*LPSERVER_INFO_1547;
-typedef struct _SERVER_INFO_1548 { DWORD sv1548_errorthreshold; } SERVER_INFO_1548,*PSERVER_INFO_1548,*LPSERVER_INFO_1548;
-typedef struct _SERVER_INFO_1549 { DWORD sv1549_networkerrorthreshold; } SERVER_INFO_1549,*PSERVER_INFO_1549,*LPSERVER_INFO_1549;
-typedef struct _SERVER_INFO_1550 { DWORD sv1550_diskspacethreshold; } SERVER_INFO_1550,*PSERVER_INFO_1550,*LPSERVER_INFO_1550;
-typedef struct _SERVER_INFO_1552 { DWORD sv1552_maxlinkdelay; } SERVER_INFO_1552,*PSERVER_INFO_1552,*LPSERVER_INFO_1552;
-typedef struct _SERVER_INFO_1553 { DWORD sv1553_minlinkthroughput; } SERVER_INFO_1553,*PSERVER_INFO_1553,*LPSERVER_INFO_1553;
-typedef struct _SERVER_INFO_1554 { DWORD sv1554_linkinfovalidtime; } SERVER_INFO_1554,*PSERVER_INFO_1554,*LPSERVER_INFO_1554;
-typedef struct _SERVER_INFO_1555 { DWORD sv1555_scavqosinfoupdatetime; } SERVER_INFO_1555,*PSERVER_INFO_1555,*LPSERVER_INFO_1555;
-typedef struct _SERVER_INFO_1556 { DWORD sv1556_maxworkitemidletime; } SERVER_INFO_1556,*PSERVER_INFO_1556,*LPSERVER_INFO_1556;
-typedef struct _SERVER_INFO_1557 { DWORD sv1557_maxrawworkitems; } SERVER_INFO_1557,*PSERVER_INFO_1557,*LPSERVER_INFO_1557;
-typedef struct _SERVER_INFO_1560 { DWORD sv1560_producttype; } SERVER_INFO_1560,*PSERVER_INFO_1560,*LPSERVER_INFO_1560;
-typedef struct _SERVER_INFO_1561 { DWORD sv1561_serversize; } SERVER_INFO_1561,*PSERVER_INFO_1561,*LPSERVER_INFO_1561;
-typedef struct _SERVER_INFO_1562 { DWORD sv1562_connectionlessautodisc; } SERVER_INFO_1562,*PSERVER_INFO_1562,*LPSERVER_INFO_1562;
-typedef struct _SERVER_INFO_1563 { DWORD sv1563_sharingviolationretries; } SERVER_INFO_1563,*PSERVER_INFO_1563,*LPSERVER_INFO_1563;
-typedef struct _SERVER_INFO_1564 { DWORD sv1564_sharingviolationdelay; } SERVER_INFO_1564,*PSERVER_INFO_1564,*LPSERVER_INFO_1564;
-typedef struct _SERVER_INFO_1565 { DWORD sv1565_maxglobalopensearch; } SERVER_INFO_1565,*PSERVER_INFO_1565,*LPSERVER_INFO_1565;
-typedef struct _SERVER_INFO_1566 { BOOL sv1566_removeduplicatesearches; } SERVER_INFO_1566,*PSERVER_INFO_1566,*LPSERVER_INFO_1566;
-typedef struct _SERVER_INFO_1567 { DWORD sv1567_lockviolationretries; } SERVER_INFO_1567,*PSERVER_INFO_1567,*LPSERVER_INFO_1567;
-typedef struct _SERVER_INFO_1568 { DWORD sv1568_lockviolationoffset; } SERVER_INFO_1568,*PSERVER_INFO_1568,*LPSERVER_INFO_1568;
-typedef struct _SERVER_INFO_1569 { DWORD sv1569_lockviolationdelay; } SERVER_INFO_1569,*PSERVER_INFO_1569,*LPSERVER_INFO_1569;
-typedef struct _SERVER_INFO_1570 { DWORD sv1570_mdlreadswitchover; } SERVER_INFO_1570,*PSERVER_INFO_1570,*LPSERVER_INFO_1570;
-typedef struct _SERVER_INFO_1571 { DWORD sv1571_cachedopenlimit; } SERVER_INFO_1571,*PSERVER_INFO_1571,*LPSERVER_INFO_1571;
-typedef struct _SERVER_INFO_1572 { DWORD sv1572_criticalthreads; } SERVER_INFO_1572,*PSERVER_INFO_1572,*LPSERVER_INFO_1572;
-typedef struct _SERVER_INFO_1573 { DWORD sv1573_restrictnullsessaccess; } SERVER_INFO_1573,*PSERVER_INFO_1573,*LPSERVER_INFO_1573;
-typedef struct _SERVER_INFO_1574 { DWORD sv1574_enablewfw311directipx;} SERVER_INFO_1574,*PSERVER_INFO_1574,*LPSERVER_INFO_1574;
-typedef struct _SERVER_INFO_1575 { DWORD sv1575_otherqueueaffinity; } SERVER_INFO_1575,*PSERVER_INFO_1575,*LPSERVER_INFO_1575;
-typedef struct _SERVER_INFO_1576 { DWORD sv1576_queuesamplesecs; } SERVER_INFO_1576,*PSERVER_INFO_1576,*LPSERVER_INFO_1576;
-typedef struct _SERVER_INFO_1577 { DWORD sv1577_balancecount; } SERVER_INFO_1577,*PSERVER_INFO_1577,*LPSERVER_INFO_1577;
-typedef struct _SERVER_INFO_1578 { DWORD sv1578_preferredaffinity; } SERVER_INFO_1578,*PSERVER_INFO_1578,*LPSERVER_INFO_1578;
-typedef struct _SERVER_INFO_1579 { DWORD sv1579_maxfreerfcbs; } SERVER_INFO_1579,*PSERVER_INFO_1579,*LPSERVER_INFO_1579;
-typedef struct _SERVER_INFO_1580 { DWORD sv1580_maxfreemfcbs; } SERVER_INFO_1580,*PSERVER_INFO_1580,*LPSERVER_INFO_1580;
-typedef struct _SERVER_INFO_1581 { DWORD sv1581_maxfreemlcbs; } SERVER_INFO_1581,*PSERVER_INFO_1581,*LPSERVER_INFO_1581;
-typedef struct _SERVER_INFO_1582 { DWORD sv1582_maxfreepagedpoolchunks; } SERVER_INFO_1582,*PSERVER_INFO_1582,*LPSERVER_INFO_1582;
-typedef struct _SERVER_INFO_1583 { DWORD sv1583_minpagedpoolchunksize; } SERVER_INFO_1583,*PSERVER_INFO_1583,*LPSERVER_INFO_1583;
-typedef struct _SERVER_INFO_1584 { DWORD sv1584_maxpagedpoolchunksize; } SERVER_INFO_1584,*PSERVER_INFO_1584,*LPSERVER_INFO_1584;
-typedef struct _SERVER_INFO_1585 { BOOL sv1585_sendsfrompreferredprocessor; } SERVER_INFO_1585,*PSERVER_INFO_1585,*LPSERVER_INFO_1585;
-typedef struct _SERVER_INFO_1586 { BOOL sv1586_maxthreadsperqueue; } SERVER_INFO_1586,*PSERVER_INFO_1586,*LPSERVER_INFO_1586;
-typedef struct _SERVER_TRANSPORT_INFO_0 {
-DWORD svti0_numberofvcs;
-LPWSTR svti0_transportname;
-PBYTE svti0_transportaddress;
-DWORD svti0_transportaddresslength;
-LPWSTR svti0_networkaddress;
-} SERVER_TRANSPORT_INFO_0,*PSERVER_TRANSPORT_INFO_0,*LPSERVER_TRANSPORT_INFO_0;
-
-NET_API_STATUS WINAPI NetServerEnum(LPCWSTR,DWORD,PBYTE*,DWORD,PDWORD,PDWORD,DWORD,LPCWSTR,PDWORD);
-NET_API_STATUS WINAPI NetServerEnumEx(LPCWSTR,DWORD,PBYTE*,DWORD,PDWORD,PDWORD,DWORD,LPCWSTR,LPCWSTR);
-NET_API_STATUS WINAPI NetServerGetInfo(LPWSTR,DWORD,PBYTE*);
-NET_API_STATUS WINAPI NetServerSetInfo(LPWSTR,DWORD,PBYTE,PDWORD);
-NET_API_STATUS NetServerSetInfoCommandLine(WORD,LPWSTR*);
-NET_API_STATUS WINAPI NetServerDiskEnum(LPWSTR,DWORD,PBYTE*,DWORD,PDWORD,PDWORD,PDWORD);
-NET_API_STATUS WINAPI NetServerComputerNameAdd(LPWSTR,LPWSTR,LPWSTR);
-NET_API_STATUS WINAPI NetServerComputerNameDel(LPWSTR,LPWSTR);
-NET_API_STATUS WINAPI NetServerTransportAdd(LPWSTR,DWORD,PBYTE);
-NET_API_STATUS WINAPI NetServerTransportAddEx(LPWSTR,DWORD,PBYTE);
-NET_API_STATUS WINAPI NetServerTransportDel(LPWSTR,DWORD,PBYTE);
-NET_API_STATUS WINAPI NetServerTransportEnum(LPWSTR,DWORD,PBYTE*,DWORD,PDWORD,PDWORD,PDWORD);
-BOOL SetServiceBits(SERVICE_STATUS_HANDLE,DWORD,BOOL,BOOL);
-
-#define SVI1_NUM_ELEMENTS 5
-#define SVI2_NUM_ELEMENTS 40
-#define SVI3_NUM_ELEMENTS 44
-#define SV_MAX_CMD_LEN PATHLEN
-#define SW_AUTOPROF_LOAD_MASK 1
-#define SW_AUTOPROF_SAVE_MASK 2
-#define SV_MAX_SRV_HEUR_LEN 32
-#define SV_USERS_PER_LICENSE 5
-#define SV_PLATFORM_ID_OS2 400
-#define SV_PLATFORM_ID_NT 500
-#define MAJOR_VERSION_MASK 15
-#define SV_TYPE_WORKSTATION 1
-#define SV_TYPE_SERVER 2
-#define SV_TYPE_SQLSERVER 4
-#define SV_TYPE_DOMAIN_CTRL 8
-#define SV_TYPE_DOMAIN_BAKCTRL 16
-#define SV_TYPE_TIME_SOURCE 32
-#define SV_TYPE_AFP 64
-#define SV_TYPE_NOVELL 128
-#define SV_TYPE_DOMAIN_MEMBER 256
-#define SV_TYPE_PRINTQ_SERVER 512
-#define SV_TYPE_DIALIN_SERVER 1024
-#define SV_TYPE_XENIX_SERVER 2048
-#define SV_TYPE_SERVER_UNIX SV_TYPE_XENIX_SERVER
-#define SV_TYPE_NT 4096
-#define SV_TYPE_WFW 8192
-#define SV_TYPE_SERVER_MFPN 16384
-#define SV_TYPE_SERVER_NT 32768
-#define SV_TYPE_POTENTIAL_BROWSER 65536
-#define SV_TYPE_BACKUP_BROWSER 0x20000
-#define SV_TYPE_MASTER_BROWSER 0x40000
-#define SV_TYPE_DOMAIN_MASTER 0x80000
-#define SV_TYPE_SERVER_OSF 0x100000
-#define SV_TYPE_SERVER_VMS 0x200000
-#define SV_TYPE_WINDOWS 0x400000
-#define SV_TYPE_ALTERNATE_XPORT 0x20000000
-#define SV_TYPE_LOCAL_LIST_ONLY 0x40000000
-#define SV_TYPE_DOMAIN_ENUM 0x80000000
-#define SV_TYPE_ALL 0xFFFFFFFF
-#define SV_NODISC (-1)
-#define SV_USERSECURITY 1
-#define SV_SHARESECURITY 0
-#define SV_HIDDEN 1
-#define SV_VISIBLE 0
-#define SV_PLATFORM_ID_PARMNUM 101
-#define SV_NAME_PARMNUM 102
-#define SV_VERSION_MAJOR_PARMNUM 103
-#define SV_VERSION_MINOR_PARMNUM 104
-#define SV_TYPE_PARMNUM 105
-#define SV_COMMENT_PARMNUM 5
-#define SV_USERS_PARMNUM 107
-#define SV_DISC_PARMNUM 10
-#define SV_HIDDEN_PARMNUM 16
-#define SV_ANNOUNCE_PARMNUM 17
-#define SV_ANNDELTA_PARMNUM 18
-#define SV_USERPATH_PARMNUM 112
-#define SV_ULIST_MTIME_PARMNUM 401
-#define SV_GLIST_MTIME_PARMNUM 402
-#define SV_ALIST_MTIME_PARMNUM 403
-#define SV_ALERTS_PARMNUM 11
-#define SV_SECURITY_PARMNUM 405
-#define SV_NUMADMIN_PARMNUM 406
-#define SV_LANMASK_PARMNUM 407
-#define SV_GUESTACC_PARMNUM 408
-#define SV_CHDEVQ_PARMNUM 410
-#define SV_CHDEVJOBS_PARMNUM 411
-#define SV_CONNECTIONS_PARMNUM 412
-#define SV_SHARES_PARMNUM 413
-#define SV_OPENFILES_PARMNUM 414
-#define SV_SESSREQS_PARMNUM 417
-#define SV_ACTIVELOCKS_PARMNUM 419
-#define SV_NUMREQBUF_PARMNUM 420
-#define SV_NUMBIGBUF_PARMNUM 422
-#define SV_NUMFILETASKS_PARMNUM 423
-#define SV_ALERTSCHED_PARMNUM 37
-#define SV_ERRORALERT_PARMNUM 38
-#define SV_LOGONALERT_PARMNUM 39
-#define SV_ACCESSALERT_PARMNUM 40
-#define SV_DISKALERT_PARMNUM 41
-#define SV_NETIOALERT_PARMNUM 42
-#define SV_MAXAUDITSZ_PARMNUM 43
-#define SV_SRVHEURISTICS_PARMNUM 431
-#define SV_SESSOPENS_PARMNUM 501
-#define SV_SESSVCS_PARMNUM 502
-#define SV_OPENSEARCH_PARMNUM 503
-#define SV_SIZREQBUF_PARMNUM 504
-#define SV_INITWORKITEMS_PARMNUM 505
-#define SV_MAXWORKITEMS_PARMNUM 506
-#define SV_RAWWORKITEMS_PARMNUM 507
-#define SV_IRPSTACKSIZE_PARMNUM 508
-#define SV_MAXRAWBUFLEN_PARMNUM 509
-#define SV_SESSUSERS_PARMNUM 510
-#define SV_SESSCONNS_PARMNUM 511
-#define SV_MAXNONPAGEDMEMORYUSAGE_PARMNUM 512
-#define SV_MAXPAGEDMEMORYUSAGE_PARMNUM 513
-#define SV_ENABLESOFTCOMPAT_PARMNUM 514
-#define SV_ENABLEFORCEDLOGOFF_PARMNUM 515
-#define SV_TIMESOURCE_PARMNUM 516
-#define SV_ACCEPTDOWNLEVELAPIS_PARMNUM 517
-#define SV_LMANNOUNCE_PARMNUM 518
-#define SV_DOMAIN_PARMNUM 519
-#define SV_MAXCOPYREADLEN_PARMNUM 520
-#define SV_MAXCOPYWRITELEN_PARMNUM 521
-#define SV_MINKEEPSEARCH_PARMNUM 522
-#define SV_MAXKEEPSEARCH_PARMNUM 523
-#define SV_MINKEEPCOMPLSEARCH_PARMNUM 524
-#define SV_MAXKEEPCOMPLSEARCH_PARMNUM 525
-#define SV_THREADCOUNTADD_PARMNUM 526
-#define SV_NUMBLOCKTHREADS_PARMNUM 527
-#define SV_SCAVTIMEOUT_PARMNUM 528
-#define SV_MINRCVQUEUE_PARMNUM 529
-#define SV_MINFREEWORKITEMS_PARMNUM 530
-#define SV_XACTMEMSIZE_PARMNUM 531
-#define SV_THREADPRIORITY_PARMNUM 532
-#define SV_MAXMPXCT_PARMNUM 533
-#define SV_OPLOCKBREAKWAIT_PARMNUM 534
-#define SV_OPLOCKBREAKRESPONSEWAIT_PARMNUM 535
-#define SV_ENABLEOPLOCKS_PARMNUM 536
-#define SV_ENABLEOPLOCKFORCECLOSE_PARMNUM 537
-#define SV_ENABLEFCBOPENS_PARMNUM 538
-#define SV_ENABLERAW_PARMNUM 539
-#define SV_ENABLESHAREDNETDRIVES_PARMNUM 540
-#define SV_MINFREECONNECTIONS_PARMNUM 541
-#define SV_MAXFREECONNECTIONS_PARMNUM 542
-#define SV_INITSESSTABLE_PARMNUM 543
-#define SV_INITCONNTABLE_PARMNUM 544
-#define SV_INITFILETABLE_PARMNUM 545
-#define SV_INITSEARCHTABLE_PARMNUM 546
-#define SV_ALERTSCHEDULE_PARMNUM 547
-#define SV_ERRORTHRESHOLD_PARMNUM 548
-#define SV_NETWORKERRORTHRESHOLD_PARMNUM 549
-#define SV_DISKSPACETHRESHOLD_PARMNUM 550
-#define SV_MAXLINKDELAY_PARMNUM 552
-#define SV_MINLINKTHROUGHPUT_PARMNUM 553
-#define SV_LINKINFOVALIDTIME_PARMNUM 554
-#define SV_SCAVQOSINFOUPDATETIME_PARMNUM 555
-#define SV_MAXWORKITEMIDLETIME_PARMNUM 556
-#define SV_MAXRAWWORKITEMS_PARMNUM 557
-#define SV_PRODUCTTYPE_PARMNUM 560
-#define SV_SERVERSIZE_PARMNUM 561
-#define SV_CONNECTIONLESSAUTODISC_PARMNUM 562
-#define SV_SHARINGVIOLATIONRETRIES_PARMNUM 563
-#define SV_SHARINGVIOLATIONDELAY_PARMNUM 564
-#define SV_MAXGLOBALOPENSEARCH_PARMNUM 565
-#define SV_REMOVEDUPLICATESEARCHES_PARMNUM 566
-#define SV_LOCKVIOLATIONRETRIES_PARMNUM 567
-#define SV_LOCKVIOLATIONOFFSET_PARMNUM 568
-#define SV_LOCKVIOLATIONDELAY_PARMNUM 569
-#define SV_MDLREADSWITCHOVER_PARMNUM 570
-#define SV_CACHEDOPENLIMIT_PARMNUM 571
-#define SV_CRITICALTHREADS_PARMNUM 572
-#define SV_RESTRICTNULLSESSACCESS_PARMNUM 573
-#define SV_ENABLEWFW311DIRECTIPX_PARMNUM 574
-#define SV_OTHERQUEUEAFFINITY_PARMNUM 575
-#define SV_QUEUESAMPLESECS_PARMNUM 576
-#define SV_BALANCECOUNT_PARMNUM 577
-#define SV_PREFERREDAFFINITY_PARMNUM 578
-#define SV_MAXFREERFCBS_PARMNUM 579
-#define SV_MAXFREEMFCBS_PARMNUM 580
-#define SV_MAXFREELFCBS_PARMNUM 581
-#define SV_MAXFREEPAGEDPOOLCHUNKS_PARMNUM 582
-#define SV_MINPAGEDPOOLCHUNKSIZE_PARMNUM 583
-#define SV_MAXPAGEDPOOLCHUNKSIZE_PARMNUM 584
-#define SV_SENDSFROMPREFERREDPROCESSOR_PARMNUM 585
-#define SV_MAXTHREADSPERQUEUE_PARMNUM 586
-#define SV_COMMENT_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_COMMENT_PARMNUM)
-#define SV_USERS_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_USERS_PARMNUM)
-#define SV_DISC_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_DISC_PARMNUM)
-#define SV_HIDDEN_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_HIDDEN_PARMNUM)
-#define SV_ANNOUNCE_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_ANNOUNCE_PARMNUM)
-#define SV_ANNDELTA_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_ANNDELTA_PARMNUM)
-#define SV_SESSOPENS_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_SESSOPENS_PARMNUM)
-#define SV_SESSVCS_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_SESSVCS_PARMNUM)
-#define SV_OPENSEARCH_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_OPENSEARCH_PARMNUM)
-#define SV_MAXWORKITEMS_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_MAXWORKITEMS_PARMNUM)
-#define SV_MAXRAWBUFLEN_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_MAXRAWBUFLEN_PARMNUM)
-#define SV_SESSUSERS_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_SESSUSERS_PARMNUM)
-#define SV_SESSCONNS_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_SESSCONNS_PARMNUM)
-#define SV_MAXNONPAGEDMEMORYUSAGE_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_MAXNONPAGEDMEMORYUSAGE_PARMNUM)
-#define SV_MAXPAGEDMEMORYUSAGE_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_MAXPAGEDMEMORYUSAGE_PARMNUM)
-#define SV_ENABLESOFTCOMPAT_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_ENABLESOFTCOMPAT_PARMNUM)
-#define SV_ENABLEFORCEDLOGOFF_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_ENABLEFORCEDLOGOFF_PARMNUM)
-#define SV_TIMESOURCE_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_TIMESOURCE_PARMNUM)
-#define SV_LMANNOUNCE_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_LMANNOUNCE_PARMNUM)
-#define SV_MAXCOPYREADLEN_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_MAXCOPYREADLEN_PARMNUM)
-#define SV_MAXCOPYWRITELEN_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_MAXCOPYWRITELEN_PARMNUM)
-#define SV_MINKEEPSEARCH_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_MINKEEPSEARCH_PARMNUM)
-#define SV_MAXKEEPSEARCH_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_MAXKEEPSEARCH_PARMNUM)
-#define SV_MINKEEPCOMPLSEARCH_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_MINKEEPCOMPLSEARCH_PARMNUM)
-#define SV_MAXKEEPCOMPLSEARCH_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_MAXKEEPCOMPLSEARCH_PARMNUM)
-#define SV_SCAVTIMEOUT_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_SCAVTIMEOUT_PARMNUM)
-#define SV_MINRCVQUEUE_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_MINRCVQUEUE_PARMNUM)
-#define SV_MINFREEWORKITEMS_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_MINFREEWORKITEMS_PARMNUM)
-#define SV_MAXMPXCT_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_MAXMPXCT_PARMNUM)
-#define SV_OPLOCKBREAKWAIT_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_OPLOCKBREAKWAIT_PARMNUM)
-#define SV_OPLOCKBREAKRESPONSEWAIT_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_OPLOCKBREAKRESPONSEWAIT_PARMNUM)
-#define SV_ENABLEOPLOCKS_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_ENABLEOPLOCKS_PARMNUM)
-#define SV_ENABLEOPLOCKFORCECLOSE_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_ENABLEOPLOCKFORCECLOSE_PARMNUM)
-#define SV_ENABLEFCBOPENS_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_ENABLEFCBOPENS_PARMNUM)
-#define SV_ENABLERAW_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_ENABLERAW_PARMNUM)
-#define SV_ENABLESHAREDNETDRIVES_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_ENABLESHAREDNETDRIVES_PARMNUM)
-#define SV_MINFREECONNECTIONS_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_MINFREECONNECTIONS_PARMNUM)
-#define SV_MAXFREECONNECTIONS_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_MAXFREECONNECTIONS_PARMNUM)
-#define SV_INITSESSTABLE_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_INITSESSTABLE_PARMNUM)
-#define SV_INITCONNTABLE_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_INITCONNTABLE_PARMNUM)
-#define SV_INITFILETABLE_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_INITFILETABLE_PARMNUM)
-#define SV_INITSEARCHTABLE_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_INITSEARCHTABLE_PARMNUM)
-#define SV_ALERTSCHEDULE_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_ALERTSCHEDULE_PARMNUM)
-#define SV_ERRORTHRESHOLD_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_ERRORTHRESHOLD_PARMNUM)
-#define SV_NETWORKERRORTHRESHOLD_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_NETWORKERRORTHRESHOLD_PARMNUM)
-#define SV_DISKSPACETHRESHOLD_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_DISKSPACETHRESHOLD_PARMNUM)
-#define SV_MAXLINKDELAY_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_MAXLINKDELAY_PARMNUM)
-#define SV_MINLINKTHROUGHPUT_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_MINLINKTHROUGHPUT_PARMNUM)
-#define SV_LINKINFOVALIDTIME_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_LINKINFOVALIDTIME_PARMNUM)
-#define SV_SCAVQOSINFOUPDATETIME_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_SCAVQOSINFOUPDATETIME_PARMNUM)
-#define SV_MAXWORKITEMIDLETIME_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_MAXWORKITEMIDLETIME_PARMNUM)
-#define SV_MAXRAWWORKITEMS_INFOLOEVEL (PARMNUM_BASE_INFOLEVEL+SV_MAXRAWWORKITEMS_PARMNUM)
-#define SV_PRODUCTTYPE_INFOLOEVEL (PARMNUM_BASE_INFOLEVEL+SV_PRODUCTTYPE_PARMNUM)
-#define SV_SERVERSIZE_INFOLOEVEL (PARMNUM_BASE_INFOLEVEL+SV_SERVERSIZE_PARMNUM)
-#define SV_CONNECTIONLESSAUTODISC_INFOLOEVEL (PARMNUM_BASE_INFOLEVEL+SV_CONNECTIONLESSAUTODISC_PARMNUM)
-#define SV_SHARINGVIOLATIONRETRIES_INFOLOEVEL (PARMNUM_BASE_INFOLEVEL+SV_SHARINGVIOLATIONRETRIES_PARMNUM)
-#define SV_SHARINGVIOLATIONDELAY_INFOLOEVEL (PARMNUM_BASE_INFOLEVEL+SV_SHARINGVIOLATIONDELAY_PARMNUM)
-#define SV_MAXGLOBALOPENSEARCH_INFOLOEVEL (PARMNUM_BASE_INFOLEVEL+SV_MAXGLOBALOPENSEARCH_PARMNUM)
-#define SV_REMOVEDUPLICATESEARCHES_INFOLOEVEL (PARMNUM_BASE_INFOLEVEL+SV_REMOVEDUPLICATESEARCHES_PARMNUM)
-#define SV_LOCKVIOLATIONRETRIES_INFOLOEVEL (PARMNUM_BASE_INFOLEVEL+SV_LOCKVIOLATIONRETRIES_PARMNUM)
-#define SV_LOCKVIOLATIONOFFSET_INFOLOEVEL (PARMNUM_BASE_INFOLEVEL+SV_LOCKVIOLATIONOFFSET_PARMNUM)
-#define SV_LOCKVIOLATIONDELAY_INFOLOEVEL (PARMNUM_BASE_INFOLEVEL+SV_LOCKVIOLATIONDELAY_PARMNUM)
-#define SV_MDLREADSWITCHOVER_INFOLOEVEL (PARMNUM_BASE_INFOLEVEL+SV_MDLREADSWITCHOVER_PARMNUM)
-#define SV_CACHEDOPENLIMIT_INFOLOEVEL (PARMNUM_BASE_INFOLEVEL+SV_CACHEDOPENLIMIT_PARMNUM)
-#define SV_CRITICALTHREADS_INFOLOEVEL (PARMNUM_BASE_INFOLEVEL+SV_CRITICALTHREADS_PARMNUM)
-#define SV_RESTRICTNULLSESSACCESS_INFOLOEVEL (PARMNUM_BASE_INFOLEVEL+SV_RESTRICTNULLSESSACCESS_PARMNUM)
-#define SV_ENABLEWFW311DIRECTIPX_INFOLOEVEL (PARMNUM_BASE_INFOLEVEL+SV_ENABLEWFW311DIRECTIPX_PARMNUM)
-#define SV_OTHERQUEUEAFFINITY_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_OTHERQUEUEAFFINITY_PARMNUM)
-#define SV_QUEUESAMPLESECS_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_QUEUESAMPLESECS_PARMNUM)
-#define SV_BALANCECOUNT_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_BALANCECOUNT_PARMNUM)
-#define SV_PREFERREDAFFINITY_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_PREFERREDAFFINITY_PARMNUM)
-#define SV_MAXFREERFCBS_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_MAXFREERFCBS_PARMNUM)
-#define SV_MAXFREEMFCBS_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_MAXFREEMFCBS_PARMNUM)
-#define SV_MAXFREELFCBS_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_MAXFREELFCBS_PARMNUM)
-#define SV_MAXFREEPAGEDPOOLCHUNKS_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_MAXFREEPAGEDPOOLCHUNKS_PARMNUM)
-#define SV_MINPAGEDPOOLCHUNKSIZE_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_MINPAGEDPOOLCHUNKSIZE_PARMNUM)
-#define SV_MAXPAGEDPOOLCHUNKSIZE_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_MAXPAGEDPOOLCHUNKSIZE_PARMNUM)
-#define SV_SENDSFROMPREFERREDPROCESSOR_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_SENDSFROMPREFERREDPROCESSOR_PARMNUM)
-#define SV_MAXTHREADSPERQUEUE_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SV_MAXTHREADSPERQUEUE_PARMNUM)
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/winsup/w32api/include/lmshare.h b/winsup/w32api/include/lmshare.h
deleted file mode 100644
index 07fe9270b..000000000
--- a/winsup/w32api/include/lmshare.h
+++ /dev/null
@@ -1,147 +0,0 @@
-#ifndef _LMSHARE_H
-#define _LMSHARE_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-#include <lmcons.h>
-#define SHARE_NETNAME_PARMNUM 1
-#define SHARE_TYPE_PARMNUM 3
-#define SHARE_REMARK_PARMNUM 4
-#define SHARE_PERMISSIONS_PARMNUM 5
-#define SHARE_MAX_USES_PARMNUM 6
-#define SHARE_CURRENT_USES_PARMNUM 7
-#define SHARE_PATH_PARMNUM 8
-#define SHARE_PASSWD_PARMNUM 9
-#define SHARE_FILE_SD_PARMNUM 501
-#define SHARE_REMARK_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SHARE_REMARK_PARMNUM)
-#define SHARE_MAX_USES_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SHARE_MAX_USES_PARMNUM)
-#define SHARE_FILE_SD_INFOLEVEL (PARMNUM_BASE_INFOLEVEL+SHARE_FILE_SD_PARMNUM)
-#define SHI1_NUM_ELEMENTS 4
-#define SHI2_NUM_ELEMENTS 10
-#define STYPE_DISKTREE 0
-#define STYPE_PRINTQ 1
-#define STYPE_DEVICE 2
-#define STYPE_IPC 3
-#define STYPE_DFS 100
-#define STYPE_SPECIAL 0x80000000
-#define SHI_USES_UNLIMITED (DWORD)(-1)
-#define SESS_GUEST 1
-#define SESS_NOENCRYPTION 2
-#define SESI1_NUM_ELEMENTS 8
-#define SESI2_NUM_ELEMENTS 9
-#define PERM_FILE_READ 1
-#define PERM_FILE_WRITE 2
-#define PERM_FILE_CREATE 4
-typedef struct _FILE_INFO_2 { DWORD fi2_id;} FILE_INFO_2,*PFILE_INFO_2,*LPFILE_INFO_2;
-typedef struct _FILE_INFO_3 {
- DWORD fi3_id;
- DWORD fi3_permissions;
- DWORD fi3_num_locks;
- LPTSTR fi3_pathname;
- LPTSTR fi3_username;
-} FILE_INFO_3,*PFILE_INFO_3,*LPFILE_INFO_3;
-typedef struct _SHARE_INFO_0 { LPTSTR shi0_netname; } SHARE_INFO_0,*PSHARE_INFO_0,*LPSHARE_INFO_0;
-typedef struct _SHARE_INFO_1 {
- LPTSTR shi1_netname;
- DWORD shi1_type;
- LPTSTR shi1_remark;
-} SHARE_INFO_1,*PSHARE_INFO_1,*LPSHARE_INFO_1;
-typedef struct _SHARE_INFO_2 {
- LPTSTR shi2_netname;
- DWORD shi2_type;
- LPTSTR shi2_remark;
- DWORD shi2_permissions;
- DWORD shi2_max_uses;
- DWORD shi2_current_uses;
- LPTSTR shi2_path;
- LPTSTR shi2_passwd;
-} SHARE_INFO_2,*PSHARE_INFO_2,*LPSHARE_INFO_2;
-typedef struct _SHARE_INFO_502 {
- LPTSTR shi502_netname;
- DWORD shi502_type;
- LPTSTR shi502_remark;
- DWORD shi502_permissions;
- DWORD shi502_max_uses;
- DWORD shi502_current_uses;
- LPTSTR shi502_path;
- LPTSTR shi502_passwd;
- DWORD shi502_reserved;
- PSECURITY_DESCRIPTOR shi502_security_descriptor;
-} SHARE_INFO_502,*PSHARE_INFO_502,*LPSHARE_INFO_502;
-typedef struct _SHARE_INFO_1004 {
- LPTSTR shi1004_remark;
-} SHARE_INFO_1004,*PSHARE_INFO_1004,*LPSHARE_INFO_1004;
-typedef struct _SHARE_INFO_1006 {
- DWORD shi1006_max_uses;
-} SHARE_INFO_1006,*PSHARE_INFO_1006,*LPSHARE_INFO_1006;
-typedef struct _SHARE_INFO_1501 {
- DWORD shi1501_reserved;
- PSECURITY_DESCRIPTOR shi1501_security_descriptor;
-} SHARE_INFO_1501,*PSHARE_INFO_1501,*LPSHARE_INFO_1501;
-typedef struct _SESSION_INFO_0 { LPWSTR sesi0_cname; } SESSION_INFO_0,*PSESSION_INFO_0,*LPSESSION_INFO_0;
-typedef struct _SESSION_INFO_1 {
- LPTSTR sesi1_cname;
- LPTSTR sesi1_username;
- DWORD sesi1_num_opens;
- DWORD sesi1_time;
- DWORD sesi1_idle_time;
- DWORD sesi1_user_flags;
-} SESSION_INFO_1,*PSESSION_INFO_1,*LPSESSION_INFO_1;
-typedef struct _SESSION_INFO_2 {
- LPTSTR sesi2_cname;
- LPTSTR sesi2_username;
- DWORD sesi2_num_opens;
- DWORD sesi2_time;
- DWORD sesi2_idle_time;
- DWORD sesi2_user_flags;
- LPWSTR sesi2_cltype_name;
-} SESSION_INFO_2,*PSESSION_INFO_2,*LPSESSION_INFO_2;
-typedef struct _SESSION_INFO_10 {
- LPWSTR sesi10_cname;
- LPWSTR sesi10_username;
- DWORD sesi10_time;
- DWORD sesi10_idle_time;
-} SESSION_INFO_10,*PSESSION_INFO_10,*LPSESSION_INFO_10;
-typedef struct _SESSION_INFO_502 {
- LPWSTR sesi502_cname;
- LPWSTR sesi502_username;
- DWORD sesi502_num_opens;
- DWORD sesi502_time;
- DWORD sesi502_idle_time;
- DWORD sesi502_user_flags;
- LPWSTR sesi502_cltype_name;
- LPWSTR sesi502_transport;
-} SESSION_INFO_502,*PSESSION_INFO_502,*LPSESSION_INFO_502;
-typedef struct _CONNECTION_INFO_0 { DWORD coni0_id; } CONNECTION_INFO_0,*PCONNECTION_INFO_0,*LPCONNECTION_INFO_0;
-typedef struct _CONNECTION_INFO_1 {
- DWORD coni1_id;
- DWORD coni1_type;
- DWORD coni1_num_opens;
- DWORD coni1_num_users;
- DWORD coni1_time;
- LPWSTR coni1_username;
- LPWSTR coni1_netname;
-} CONNECTION_INFO_1,*PCONNECTION_INFO_1,*LPCONNECTION_INFO_1;
-NET_API_STATUS WINAPI NetShareAdd(LPWSTR,DWORD,PBYTE,PDWORD);
-NET_API_STATUS WINAPI NetShareEnum(LPWSTR,DWORD,PBYTE*,DWORD,PDWORD,PDWORD,PDWORD);
-NET_API_STATUS WINAPI NetShareEnumSticky(LPWSTR,DWORD,PBYTE*,DWORD,PDWORD,PDWORD,PDWORD resume_handle);
-NET_API_STATUS WINAPI NetShareGetInfo(LPWSTR,LPWSTR,DWORD,PBYTE*);
-NET_API_STATUS WINAPI NetShareSetInfo(LPWSTR,LPWSTR,DWORD,PBYTE,PDWORD);
-NET_API_STATUS WINAPI NetShareDel(LPWSTR,LPWSTR,DWORD);
-NET_API_STATUS WINAPI NetShareDelSticky(LPWSTR,LPWSTR,DWORD);
-NET_API_STATUS WINAPI NetShareCheck(LPWSTR,LPWSTR,PDWORD);
-NET_API_STATUS WINAPI NetSessionEnum(LPWSTR,LPWSTR,LPWSTR,DWORD,PBYTE*,DWORD,PDWORD,PDWORD,PDWORD);
-NET_API_STATUS WINAPI NetSessionDel(LPWSTR,LPWSTR,LPWSTR);
-NET_API_STATUS WINAPI NetSessionGetInfo(LPWSTR,LPWSTR,LPWSTR,DWORD,PBYTE*);
-NET_API_STATUS WINAPI NetConnectionEnum(LPWSTR,LPWSTR,DWORD,PBYTE*,DWORD,PDWORD,PDWORD,PDWORD);
-NET_API_STATUS WINAPI NetFileClose(LPWSTR,DWORD);
-NET_API_STATUS WINAPI NetFileEnum(LPWSTR,LPWSTR,LPWSTR,DWORD,PBYTE*,DWORD,PDWORD,PDWORD,PDWORD);
-NET_API_STATUS WINAPI NetFileGetInfo(LPWSTR,DWORD,DWORD,PBYTE*);
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/winsup/w32api/include/lmsname.h b/winsup/w32api/include/lmsname.h
deleted file mode 100644
index a840cb21f..000000000
--- a/winsup/w32api/include/lmsname.h
+++ /dev/null
@@ -1,58 +0,0 @@
-#ifndef _LMSNAME_H
-#define _LMSNAME_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#define SERVICE_WORKSTATION TEXT("LanmanWorkstation")
-#define SERVICE_LM20_WORKSTATION TEXT("WORKSTATION")
-#define WORKSTATION_DISPLAY_NAME TEXT("Workstation")
-#define SERVICE_SERVER TEXT("LanmanServer")
-#define SERVICE_LM20_SERVER TEXT("SERVER")
-#define SERVER_DISPLAY_NAME TEXT("Server")
-#define SERVICE_BROWSER TEXT("BROWSER")
-#define SERVICE_LM20_BROWSER SERVICE_BROWSER
-#define SERVICE_MESSENGER TEXT("MESSENGER")
-#define SERVICE_LM20_MESSENGER SERVICE_MESSENGER
-#define SERVICE_NETRUN TEXT("NETRUN")
-#define SERVICE_LM20_NETRUN SERVICE_NETRUN
-#define SERVICE_SPOOLER TEXT("SPOOLER")
-#define SERVICE_LM20_SPOOLER SERVICE_SPOOLER
-#define SERVICE_ALERTER TEXT("ALERTER")
-#define SERVICE_LM20_ALERTER SERVICE_ALERTER
-#define SERVICE_NETLOGON TEXT("NETLOGON")
-#define SERVICE_LM20_NETLOGON SERVICE_NETLOGON
-#define SERVICE_NETPOPUP TEXT("NETPOPUP")
-#define SERVICE_LM20_NETPOPUP SERVICE_NETPOPUP
-#define SERVICE_SQLSERVER TEXT("SQLSERVER")
-#define SERVICE_LM20_SQLSERVER SERVICE_SQLSERVER
-#define SERVICE_REPL TEXT("REPLICATOR")
-#define SERVICE_LM20_REPL SERVICE_REPL
-#define SERVICE_RIPL TEXT("REMOTEBOOT")
-#define SERVICE_LM20_RIPL SERVICE_RIPL
-#define SERVICE_TIMESOURCE TEXT("TIMESOURCE")
-#define SERVICE_LM20_TIMESOURCE SERVICE_TIMESOURCE
-#define SERVICE_AFP TEXT("AFP")
-#define SERVICE_LM20_AFP SERVICE_AFP
-#define SERVICE_UPS TEXT("UPS")
-#define SERVICE_LM20_UPS SERVICE_UPS
-#define SERVICE_XACTSRV TEXT("XACTSRV")
-#define SERVICE_LM20_XACTSRV SERVICE_XACTSRV
-#define SERVICE_TCPIP TEXT("TCPIP")
-#define SERVICE_LM20_TCPIP SERVICE_TCPIP
-#define SERVICE_NBT TEXT("NBT")
-#define SERVICE_LM20_NBT SERVICE_NBT
-#define SERVICE_LMHOSTS TEXT("LMHOSTS")
-#define SERVICE_LM20_LMHOSTS SERVICE_LMHOSTS
-#define SERVICE_TELNET TEXT("Telnet")
-#define SERVICE_LM20_TELNET SERVICE_TELNET
-#define SERVICE_SCHEDULE TEXT("Schedule")
-#define SERVICE_LM20_SCHEDULE SERVICE_SCHEDULE
-#define SERVICE_NTLMSSP TEXT("NtLmSsp")
-#define SERVICE_DHCP TEXT("DHCP")
-#define SERVICE_LM20_DHCP SERVICE_DHCP
-#define SERVICE_NWSAP TEXT("NwSapAgent")
-#define SERVICE_LM20_NWSAP SERVICE_NWSAP
-#define NWSAP_DISPLAY_NAME TEXT("NW Sap Agent")
-#define SERVICE_NWCS TEXT("NWCWorkstation")
-#endif
diff --git a/winsup/w32api/include/lmstats.h b/winsup/w32api/include/lmstats.h
deleted file mode 100644
index 2a4a2c2e3..000000000
--- a/winsup/w32api/include/lmstats.h
+++ /dev/null
@@ -1,114 +0,0 @@
-#ifndef _LMSTATS_H
-#define _LMSTATS_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-#define STATSOPT_CLR 1
-#define STATS_NO_VALUE ((ULONG)-1)
-#define STATS_OVERFLOW ((ULONG)-2)
-typedef struct _STAT_SERVER_0 {
- DWORD sts0_start;
- DWORD sts0_fopens;
- DWORD sts0_devopens;
- DWORD sts0_jobsqueued;
- DWORD sts0_sopens;
- DWORD sts0_stimedout;
- DWORD sts0_serrorout;
- DWORD sts0_pwerrors;
- DWORD sts0_permerrors;
- DWORD sts0_syserrors;
- DWORD sts0_bytessent_low;
- DWORD sts0_bytessent_high;
- DWORD sts0_bytesrcvd_low;
- DWORD sts0_bytesrcvd_high;
- DWORD sts0_avresponse;
- DWORD sts0_reqbufneed;
- DWORD sts0_bigbufneed;
-} STAT_SERVER_0,*PSTAT_SERVER_0,*LPSTAT_SERVER_0;
-#ifdef LM20_WORKSTATION_STATISTICS
-typedef struct _STAT_WORKSTATION_0 {
- DWORD stw0_start;
- DWORD stw0_numNCB_r;
- DWORD stw0_numNCB_s;
- DWORD stw0_numNCB_a;
- DWORD stw0_fiNCB_r;
- DWORD stw0_fiNCB_s;
- DWORD stw0_fiNCB_a;
- DWORD stw0_fcNCB_r;
- DWORD stw0_fcNCB_s;
- DWORD stw0_fcNCB_a;
- DWORD stw0_sesstart;
- DWORD stw0_sessfailcon;
- DWORD stw0_sessbroke;
- DWORD stw0_uses;
- DWORD stw0_usefail;
- DWORD stw0_autorec;
- DWORD stw0_bytessent_r_lo;
- DWORD stw0_bytessent_r_hi;
- DWORD stw0_bytesrcvd_r_lo;
- DWORD stw0_bytesrcvd_r_hi;
- DWORD stw0_bytessent_s_lo;
- DWORD stw0_bytessent_s_hi;
- DWORD stw0_bytesrcvd_s_lo;
- DWORD stw0_bytesrcvd_s_hi;
- DWORD stw0_bytessent_a_lo;
- DWORD stw0_bytessent_a_hi;
- DWORD stw0_bytesrcvd_a_lo;
- DWORD stw0_bytesrcvd_a_hi;
- DWORD stw0_reqbufneed;
- DWORD stw0_bigbufneed;
-} STAT_WORKSTATION_0,*PSTAT_WORKSTATION_0,*LPSTAT_WORKSTATION_0;
-#else
-typedef struct _STAT_WORKSTATION_0 {
- LARGE_INTEGER StatisticsStartTime;
- LARGE_INTEGER BytesReceived;
- LARGE_INTEGER SmbsReceived;
- LARGE_INTEGER PagingReadBytesRequested;
- LARGE_INTEGER NonPagingReadBytesRequested;
- LARGE_INTEGER CacheReadBytesRequested;
- LARGE_INTEGER NetworkReadBytesRequested;
- LARGE_INTEGER BytesTransmitted;
- LARGE_INTEGER SmbsTransmitted;
- LARGE_INTEGER PagingWriteBytesRequested;
- LARGE_INTEGER NonPagingWriteBytesRequested;
- LARGE_INTEGER CacheWriteBytesRequested;
- LARGE_INTEGER NetworkWriteBytesRequested;
- DWORD InitiallyFailedOperations;
- DWORD FailedCompletionOperations;
- DWORD ReadOperations;
- DWORD RandomReadOperations;
- DWORD ReadSmbs;
- DWORD LargeReadSmbs;
- DWORD SmallReadSmbs;
- DWORD WriteOperations;
- DWORD RandomWriteOperations;
- DWORD WriteSmbs;
- DWORD LargeWriteSmbs;
- DWORD SmallWriteSmbs;
- DWORD RawReadsDenied;
- DWORD RawWritesDenied;
- DWORD NetworkErrors;
- DWORD Sessions;
- DWORD FailedSessions;
- DWORD Reconnects;
- DWORD CoreConnects;
- DWORD Lanman20Connects;
- DWORD Lanman21Connects;
- DWORD LanmanNtConnects;
- DWORD ServerDisconnects;
- DWORD HungSessions;
- DWORD UseCount;
- DWORD FailedUseCount;
- DWORD CurrentCommands;
-} STAT_WORKSTATION_0,*PSTAT_WORKSTATION_0,*LPSTAT_WORKSTATION_0;
-#endif
-
-NET_API_STATUS WINAPI NetStatisticsGet(LPWSTR,LPWSTR,DWORD,DWORD,PBYTE*);
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/winsup/w32api/include/lmsvc.h b/winsup/w32api/include/lmsvc.h
deleted file mode 100644
index bb19ee058..000000000
--- a/winsup/w32api/include/lmsvc.h
+++ /dev/null
@@ -1,134 +0,0 @@
-#ifndef _LMSVC_H
-#define _LMSVC_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-#include <lmsname.h>
-#define SERVICE_DOS_ENCRYPTION TEXT("ENCRYPT")
-#define SERVICE_UNINSTALLED 0
-#define SERVICE_INSTALL_PENDING 1
-#define SERVICE_UNINSTALL_PENDING 2
-#define SERVICE_INSTALLED 3
-#define SERVICE_INSTALL_STATE 3
-#define SERVICE_PAUSE_STATE 18
-#define LM20_SERVICE_ACTIVE 0
-#define LM20_SERVICE_CONTINUE_PENDING 4
-#define LM20_SERVICE_PAUSE_PENDING 8
-#define LM20_SERVICE_PAUSED 18
-#define SERVICE_NOT_UNINSTALLABLE 0
-#define SERVICE_UNINSTALLABLE 16
-#define SERVICE_NOT_PAUSABLE 0
-#define SERVICE_PAUSABLE 32
-#define SERVICE_REDIR_PAUSED 0x700
-#define SERVICE_REDIR_DISK_PAUSED 256
-#define SERVICE_REDIR_PRINT_PAUSED 512
-#define SERVICE_REDIR_COMM_PAUSED 1024
-#define SERVICE_CTRL_INTERROGATE 0
-#define SERVICE_CTRL_PAUSE 1
-#define SERVICE_CTRL_CONTINUE 2
-#define SERVICE_CTRL_UNINSTALL 3
-#define SERVICE_CTRL_REDIR_DISK 1
-#define SERVICE_CTRL_REDIR_PRINT 2
-#define SERVICE_CTRL_REDIR_COMM 4
-#define SERVICE_IP_NO_HINT 0
-#define SERVICE_CCP_NO_HINT 0
-#define SERVICE_IP_QUERY_HINT 0x10000
-#define SERVICE_CCP_QUERY_HINT 0x10000
-#define SERVICE_IP_CHKPT_NUM 255
-#define SERVICE_CCP_CHKPT_NUM 255
-#define SERVICE_IP_WAIT_TIME 0xFF00
-#define SERVICE_CCP_WAIT_TIME 0xFF00
-#define SERVICE_IP_WAITTIME_SHIFT 8
-#define SERVICE_NTIP_WAITTIME_SHIFT 12
-#define UPPER_HINT_MASK 0xFF00
-#define LOWER_HINT_MASK 255
-#define UPPER_GET_HINT_MASK 0xFF00000
-#define LOWER_GET_HINT_MASK 0xFF00
-#define SERVICE_NT_MAXTIME 0xFFFF
-#define SERVICE_RESRV_MASK 0x1FFFF
-#define SERVICE_MAXTIME 255
-#define SERVICE_BASE 3050
-#define SERVICE_UIC_NORMAL 0
-#define SERVICE_UIC_BADPARMVAL (SERVICE_BASE+1)
-#define SERVICE_UIC_MISSPARM (SERVICE_BASE+2)
-#define SERVICE_UIC_UNKPARM (SERVICE_BASE+3)
-#define SERVICE_UIC_RESOURCE (SERVICE_BASE+4)
-#define SERVICE_UIC_CONFIG (SERVICE_BASE+5)
-#define SERVICE_UIC_SYSTEM (SERVICE_BASE+6)
-#define SERVICE_UIC_INTERNAL (SERVICE_BASE+7)
-#define SERVICE_UIC_AMBIGPARM (SERVICE_BASE+8)
-#define SERVICE_UIC_DUPPARM (SERVICE_BASE+9)
-#define SERVICE_UIC_KILL (SERVICE_BASE+10)
-#define SERVICE_UIC_EXEC (SERVICE_BASE+11)
-#define SERVICE_UIC_SUBSERV (SERVICE_BASE+12)
-#define SERVICE_UIC_CONFLPARM (SERVICE_BASE+13)
-#define SERVICE_UIC_FILE (SERVICE_BASE+14)
-#define SERVICE_UIC_M_NULL 0
-#define SERVICE_UIC_M_MEMORY (SERVICE_BASE+20)
-#define SERVICE_UIC_M_DISK (SERVICE_BASE+21)
-#define SERVICE_UIC_M_THREADS (SERVICE_BASE+22)
-#define SERVICE_UIC_M_PROCESSES (SERVICE_BASE+23)
-#define SERVICE_UIC_M_SECURITY (SERVICE_BASE+24)
-#define SERVICE_UIC_M_LANROOT (SERVICE_BASE+25)
-#define SERVICE_UIC_M_REDIR (SERVICE_BASE+26)
-#define SERVICE_UIC_M_SERVER (SERVICE_BASE+27)
-#define SERVICE_UIC_M_SEC_FILE_ERR (SERVICE_BASE+28)
-#define SERVICE_UIC_M_FILES (SERVICE_BASE+29)
-#define SERVICE_UIC_M_LOGS (SERVICE_BASE+30)
-#define SERVICE_UIC_M_LANGROUP (SERVICE_BASE+31)
-#define SERVICE_UIC_M_MSGNAME (SERVICE_BASE+32)
-#define SERVICE_UIC_M_ANNOUNCE (SERVICE_BASE+33)
-#define SERVICE_UIC_M_UAS (SERVICE_BASE+34)
-#define SERVICE_UIC_M_SERVER_SEC_ERR (SERVICE_BASE+35)
-#define SERVICE_UIC_M_WKSTA (SERVICE_BASE+37)
-#define SERVICE_UIC_M_ERRLOG (SERVICE_BASE+38)
-#define SERVICE_UIC_M_FILE_UW (SERVICE_BASE+39)
-#define SERVICE_UIC_M_ADDPAK (SERVICE_BASE+40)
-#define SERVICE_UIC_M_LAZY (SERVICE_BASE+41)
-#define SERVICE_UIC_M_UAS_MACHINE_ACCT (SERVICE_BASE+42)
-#define SERVICE_UIC_M_UAS_SERVERS_NMEMB (SERVICE_BASE+43)
-#define SERVICE_UIC_M_UAS_SERVERS_NOGRP (SERVICE_BASE+44)
-#define SERVICE_UIC_M_UAS_INVALID_ROLE (SERVICE_BASE+45)
-#define SERVICE_UIC_M_NETLOGON_NO_DC (SERVICE_BASE+46)
-#define SERVICE_UIC_M_NETLOGON_DC_CFLCT (SERVICE_BASE+47)
-#define SERVICE_UIC_M_NETLOGON_AUTH (SERVICE_BASE+48)
-#define SERVICE_UIC_M_UAS_PROLOG (SERVICE_BASE+49)
-#define SERVICE2_BASE 5600
-#define SERVICE_UIC_M_NETLOGON_MPATH (SERVICE2_BASE+0)
-#define SERVICE_UIC_M_LSA_MACHINE_ACCT (SERVICE2_BASE+1)
-#define SERVICE_UIC_M_DATABASE_ERROR (SERVICE2_BASE+2)
-
-typedef struct _SERVICE_INFO_0 { LPWSTR svci0_name;} SERVICE_INFO_0,*PSERVICE_INFO_0,* LPSERVICE_INFO_0;
-typedef struct _SERVICE_INFO_1 {
- LPWSTR svci1_name;
- DWORD svci1_status;
- DWORD svci1_code;
- DWORD svci1_pid;
-} SERVICE_INFO_1,*PSERVICE_INFO_1,* LPSERVICE_INFO_1;
-typedef struct _SERVICE_INFO_2 {
- LPWSTR svci2_name;
- DWORD svci2_status;
- DWORD svci2_code;
- DWORD svci2_pid;
- LPWSTR svci2_text;
- DWORD svci2_specific_error;
- LPWSTR svci2_display_name;
-} SERVICE_INFO_2,*PSERVICE_INFO_2,* LPSERVICE_INFO_2;
-
-NET_API_STATUS WINAPI NetServiceControl(LPCWSTR,LPCWSTR,DWORD,DWORD,PBYTE*);
-NET_API_STATUS WINAPI NetServiceEnum(LPCWSTR,DWORD,PBYTE*,DWORD,PDWORD,PDWORD,PDWORD);
-NET_API_STATUS WINAPI NetServiceGetInfo(LPCWSTR,LPCWSTR,DWORD,PBYTE*);
-NET_API_STATUS WINAPI NetServiceInstall(LPCWSTR,LPCWSTR,DWORD,LPCWSTR*,PBYTE*);
-#define SERVICE_IP_CODE(t,n) ((long)SERVICE_IP_QUERY_HINT|(long)(n|(t<<SERVICE_IP_WAITTIME_SHIFT)))
-#define SERVICE_CCP_CODE(t,n) ((long)SERVICE_CCP_QUERY_HINT|(long)(n|(t<<SERVICE_IP_WAITTIME_SHIFT)))
-#define SERVICE_UIC_CODE(c,m) ((long)(((long)c<<16)|(long)(USHORT)m))
-#define SERVICE_NT_CCP_CODE(t,n) (((long)SERVICE_CCP_QUERY_HINT)|((long)(n))|(((t)&LOWER_HINT_MASK)<<SERVICE_IP_WAITTIME_SHIFT)|(((t)&UPPER_HINT_MASK)<<SERVICE_NTIP_WAITTIME_SHIFT))
-#define SERVICE_NT_WAIT_GET(c) ((((c)&UPPER_GET_HINT_MASK)>>SERVICE_NTIP_WAITTIME_SHIFT)|(((c)&LOWER_GET_HINT_MASK)>>SERVICE_IP_WAITTIME_SHIFT))
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/winsup/w32api/include/lmuse.h b/winsup/w32api/include/lmuse.h
deleted file mode 100644
index a63a71f3c..000000000
--- a/winsup/w32api/include/lmuse.h
+++ /dev/null
@@ -1,60 +0,0 @@
-#ifndef _LMUSE_H
-#define _LMUSE_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-#include <lmuseflg.h>
-#define USE_LOCAL_PARMNUM 1
-#define USE_REMOTE_PARMNUM 2
-#define USE_PASSWORD_PARMNUM 3
-#define USE_ASGTYPE_PARMNUM 4
-#define USE_USERNAME_PARMNUM 5
-#define USE_DOMAINNAME_PARMNUM 6
-#define USE_OK 0
-#define USE_PAUSED 1
-#define USE_SESSLOST 2
-#define USE_DISCONN 2
-#define USE_NETERR 3
-#define USE_CONN 4
-#define USE_RECONN 5
-#define USE_WILDCARD ((DWORD)-1)
-#define USE_DISKDEV 0
-#define USE_SPOOLDEV 1
-#define USE_CHARDEV 2
-#define USE_IPC 3
-typedef struct _USE_INFO_0 {
- LPWSTR ui0_local;
- LPWSTR ui0_remote;
-}USE_INFO_0,*PUSE_INFO_0,*LPUSE_INFO_0;
-typedef struct _USE_INFO_1 {
- LPWSTR ui1_local;
- LPWSTR ui1_remote;
- LPWSTR ui1_password;
- DWORD ui1_status;
- DWORD ui1_asg_type;
- DWORD ui1_refcount;
- DWORD ui1_usecount;
-}USE_INFO_1,*PUSE_INFO_1,*LPUSE_INFO_1;
-typedef struct _USE_INFO_2 {
- LPWSTR ui2_local;
- LPWSTR ui2_remote;
- LPWSTR ui2_password;
- DWORD ui2_status;
- DWORD ui2_asg_type;
- DWORD ui2_refcount;
- DWORD ui2_usecount;
- LPWSTR ui2_username;
- LPWSTR ui2_domainname;
-}USE_INFO_2,*PUSE_INFO_2,*LPUSE_INFO_2;
-NET_API_STATUS WINAPI NetUseAdd(LPWSTR,DWORD,PBYTE,PDWORD);
-NET_API_STATUS WINAPI NetUseDel(LPWSTR,LPWSTR,DWORD);
-NET_API_STATUS WINAPI NetUseEnum(LPWSTR,DWORD,PBYTE*,DWORD,PDWORD,PDWORD,PDWORD);
-NET_API_STATUS WINAPI NetUseGetInfo(LPWSTR,LPWSTR,DWORD,PBYTE*);
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/winsup/w32api/include/lmuseflg.h b/winsup/w32api/include/lmuseflg.h
deleted file mode 100644
index 34162e4e5..000000000
--- a/winsup/w32api/include/lmuseflg.h
+++ /dev/null
@@ -1,10 +0,0 @@
-#ifndef _LMUSEFLG_H
-#define _LMUSEFLG_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#define USE_NOFORCE 0
-#define USE_FORCE 1
-#define USE_LOTS_OF_FORCE 2
-#endif
diff --git a/winsup/w32api/include/lmwksta.h b/winsup/w32api/include/lmwksta.h
deleted file mode 100644
index a8c6ccbcd..000000000
--- a/winsup/w32api/include/lmwksta.h
+++ /dev/null
@@ -1,233 +0,0 @@
-#ifndef _LMWKSTA_H
-#define _LMWKSTA_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-#include <lmuseflg.h>
-#define WKSTA_PLATFORM_ID_PARMNUM 100
-#define WKSTA_COMPUTERNAME_PARMNUM 1
-#define WKSTA_LANGROUP_PARMNUM 2
-#define WKSTA_VER_MAJOR_PARMNUM 4
-#define WKSTA_VER_MINOR_PARMNUM 5
-#define WKSTA_LOGGED_ON_USERS_PARMNUM 6
-#define WKSTA_LANROOT_PARMNUM 7
-#define WKSTA_LOGON_DOMAIN_PARMNUM 8
-#define WKSTA_LOGON_SERVER_PARMNUM 9
-#define WKSTA_CHARWAIT_PARMNUM 10
-#define WKSTA_CHARTIME_PARMNUM 11
-#define WKSTA_CHARCOUNT_PARMNUM 12
-#define WKSTA_KEEPCONN_PARMNUM 13
-#define WKSTA_KEEPSEARCH_PARMNUM 14
-#define WKSTA_MAXCMDS_PARMNUM 15
-#define WKSTA_NUMWORKBUF_PARMNUM 16
-#define WKSTA_MAXWRKCACHE_PARMNUM 17
-#define WKSTA_SESSTIMEOUT_PARMNUM 18
-#define WKSTA_SIZERROR_PARMNUM 19
-#define WKSTA_NUMALERTS_PARMNUM 20
-#define WKSTA_NUMSERVICES_PARMNUM 21
-#define WKSTA_NUMCHARBUF_PARMNUM 22
-#define WKSTA_SIZCHARBUF_PARMNUM 23
-#define WKSTA_ERRLOGSZ_PARMNUM 27
-#define WKSTA_PRINTBUFTIME_PARMNUM 28
-#define WKSTA_SIZWORKBUF_PARMNUM 29
-#define WKSTA_MAILSLOTS_PARMNUM 30
-#define WKSTA_NUMDGRAMBUF_PARMNUM 31
-#define WKSTA_WRKHEURISTICS_PARMNUM 32
-#define WKSTA_MAXTHREADS_PARMNUM 33
-#define WKSTA_LOCKQUOTA_PARMNUM 41
-#define WKSTA_LOCKINCREMENT_PARMNUM 42
-#define WKSTA_LOCKMAXIMUM_PARMNUM 43
-#define WKSTA_PIPEINCREMENT_PARMNUM 44
-#define WKSTA_PIPEMAXIMUM_PARMNUM 45
-#define WKSTA_DORMANTFILELIMIT_PARMNUM 46
-#define WKSTA_CACHEFILETIMEOUT_PARMNUM 47
-#define WKSTA_USEOPPORTUNISTICLOCKING_PARMNUM 48
-#define WKSTA_USEUNLOCKBEHIND_PARMNUM 49
-#define WKSTA_USECLOSEBEHIND_PARMNUM 50
-#define WKSTA_BUFFERNAMEDPIPES_PARMNUM 51
-#define WKSTA_USELOCKANDREADANDUNLOCK_PARMNUM 52
-#define WKSTA_UTILIZENTCACHING_PARMNUM 53
-#define WKSTA_USERAWREAD_PARMNUM 54
-#define WKSTA_USERAWWRITE_PARMNUM 55
-#define WKSTA_USEWRITERAWWITHDATA_PARMNUM 56
-#define WKSTA_USEENCRYPTION_PARMNUM 57
-#define WKSTA_BUFFILESWITHDENYWRITE_PARMNUM 58
-#define WKSTA_BUFFERREADONLYFILES_PARMNUM 59
-#define WKSTA_FORCECORECREATEMODE_PARMNUM 60
-#define WKSTA_USE512BYTESMAXTRANSFER_PARMNUM 61
-#define WKSTA_READAHEADTHRUPUT_PARMNUM 62
-#define WKSTA_OTH_DOMAINS_PARMNUM 101
-#define TRANSPORT_QUALITYOFSERVICE_PARMNUM 201
-#define TRANSPORT_NAME_PARMNUM 202
-
-typedef struct _WKSTA_INFO_100 {
- DWORD wki100_platform_id;
- LPWSTR wki100_computername;
- LPWSTR wki100_langroup;
- DWORD wki100_ver_major;
- DWORD wki100_ver_minor;
-}WKSTA_INFO_100,*PWKSTA_INFO_100,*LPWKSTA_INFO_100;
-typedef struct _WKSTA_INFO_101 {
- DWORD wki101_platform_id;
- LPWSTR wki101_computername;
- LPWSTR wki101_langroup;
- DWORD wki101_ver_major;
- DWORD wki101_ver_minor;
- LPWSTR wki101_lanroot;
-}WKSTA_INFO_101,*PWKSTA_INFO_101,*LPWKSTA_INFO_101;
-typedef struct _WKSTA_INFO_102 {
- DWORD wki102_platform_id;
- LPWSTR wki102_computername;
- LPWSTR wki102_langroup;
- DWORD wki102_ver_major;
- DWORD wki102_ver_minor;
- LPWSTR wki102_lanroot;
- DWORD wki102_logged_on_users;
-}WKSTA_INFO_102,*PWKSTA_INFO_102,*LPWKSTA_INFO_102;
-typedef struct _WKSTA_INFO_302{
- DWORD wki302_char_wait;
- DWORD wki302_collection_time;
- DWORD wki302_maximum_collection_count;
- DWORD wki302_keep_conn;
- DWORD wki302_keep_search;
- DWORD wki302_max_cmds;
- DWORD wki302_num_work_buf;
- DWORD wki302_siz_work_buf;
- DWORD wki302_max_wrk_cache;
- DWORD wki302_sess_timeout;
- DWORD wki302_siz_error;
- DWORD wki302_num_alerts;
- DWORD wki302_num_services;
- DWORD wki302_errlog_sz;
- DWORD wki302_print_buf_time;
- DWORD wki302_num_char_buf;
- DWORD wki302_siz_char_buf;
- LPWSTR wki302_wrk_heuristics;
- DWORD wki302_mailslots;
- DWORD wki302_num_dgram_buf;
-}WKSTA_INFO_302,*PWKSTA_INFO_302,*LPWKSTA_INFO_302;
-typedef struct _WKSTA_INFO_402{
- DWORD wki402_char_wait;
- DWORD wki402_collection_time;
- DWORD wki402_maximum_collection_count;
- DWORD wki402_keep_conn;
- DWORD wki402_keep_search;
- DWORD wki402_max_cmds;
- DWORD wki402_num_work_buf;
- DWORD wki402_siz_work_buf;
- DWORD wki402_max_wrk_cache;
- DWORD wki402_sess_timeout;
- DWORD wki402_siz_error;
- DWORD wki402_num_alerts;
- DWORD wki402_num_services;
- DWORD wki402_errlog_sz;
- DWORD wki402_print_buf_time;
- DWORD wki402_num_char_buf;
- DWORD wki402_siz_char_buf;
- LPWSTR wki402_wrk_heuristics;
- DWORD wki402_mailslots;
- DWORD wki402_num_dgram_buf;
- DWORD wki402_max_threads;
-}WKSTA_INFO_402,*PWKSTA_INFO_402,*LPWKSTA_INFO_402;
-typedef struct _WKSTA_INFO_502{
- DWORD wki502_char_wait;
- DWORD wki502_collection_time;
- DWORD wki502_maximum_collection_count;
- DWORD wki502_keep_conn;
- DWORD wki502_max_cmds;
- DWORD wki502_sess_timeout;
- DWORD wki502_siz_char_buf;
- DWORD wki502_max_threads;
- DWORD wki502_lock_quota;
- DWORD wki502_lock_increment;
- DWORD wki502_lock_maximum;
- DWORD wki502_pipe_increment;
- DWORD wki502_pipe_maximum;
- DWORD wki502_cache_file_timeout;
- DWORD wki502_dormant_file_limit;
- DWORD wki502_read_ahead_throughput;
- DWORD wki502_num_mailslot_buffers;
- DWORD wki502_num_srv_announce_buffers;
- DWORD wki502_max_illegal_datagram_events;
- DWORD wki502_illegal_datagram_event_reset_frequency;
- BOOL wki502_log_election_packets;
- BOOL wki502_use_opportunistic_locking;
- BOOL wki502_use_unlock_behind;
- BOOL wki502_use_close_behind;
- BOOL wki502_buf_named_pipes;
- BOOL wki502_use_lock_read_unlock;
- BOOL wki502_utilize_nt_caching;
- BOOL wki502_use_raw_read;
- BOOL wki502_use_raw_write;
- BOOL wki502_use_write_raw_data;
- BOOL wki502_use_encryption;
- BOOL wki502_buf_files_deny_write;
- BOOL wki502_buf_read_only_files;
- BOOL wki502_force_core_create_mode;
- BOOL wki502_use_512_byte_max_transfer;
-}WKSTA_INFO_502,*PWKSTA_INFO_502,*LPWKSTA_INFO_502;
-typedef struct _WKSTA_INFO_1010 { DWORD wki1010_char_wait;} WKSTA_INFO_1010,*PWKSTA_INFO_1010,*LPWKSTA_INFO_1010;
-typedef struct _WKSTA_INFO_1011 { DWORD wki1011_collection_time;} WKSTA_INFO_1011,*PWKSTA_INFO_1011,*LPWKSTA_INFO_1011;
-typedef struct _WKSTA_INFO_1012 { DWORD wki1012_maximum_collection_count;} WKSTA_INFO_1012,*PWKSTA_INFO_1012,*LPWKSTA_INFO_1012;
-typedef struct _WKSTA_INFO_1027 { DWORD wki1027_errlog_sz;} WKSTA_INFO_1027,*PWKSTA_INFO_1027,*LPWKSTA_INFO_1027;
-typedef struct _WKSTA_INFO_1028 { DWORD wki1028_print_buf_time;} WKSTA_INFO_1028,*PWKSTA_INFO_1028,*LPWKSTA_INFO_1028;
-typedef struct _WKSTA_INFO_1032 { DWORD wki1032_wrk_heuristics;} WKSTA_INFO_1032,*PWKSTA_INFO_1032,*LPWKSTA_INFO_1032;
-typedef struct _WKSTA_INFO_1013 { DWORD wki1013_keep_conn;} WKSTA_INFO_1013,*PWKSTA_INFO_1013,*LPWKSTA_INFO_1013;
-typedef struct _WKSTA_INFO_1018 { DWORD wki1018_sess_timeout;} WKSTA_INFO_1018,*PWKSTA_INFO_1018,*LPWKSTA_INFO_1018;
-typedef struct _WKSTA_INFO_1023 { DWORD wki1023_siz_char_buf;} WKSTA_INFO_1023,*PWKSTA_INFO_1023,*LPWKSTA_INFO_1023;
-typedef struct _WKSTA_INFO_1033 { DWORD wki1033_max_threads;} WKSTA_INFO_1033,*PWKSTA_INFO_1033,*LPWKSTA_INFO_1033;
-typedef struct _WKSTA_INFO_1041 { DWORD wki1041_lock_quota;} WKSTA_INFO_1041,*PWKSTA_INFO_1041,*LPWKSTA_INFO_1041;
-typedef struct _WKSTA_INFO_1042 { DWORD wki1042_lock_increment;} WKSTA_INFO_1042,*PWKSTA_INFO_1042,*LPWKSTA_INFO_1042;
-typedef struct _WKSTA_INFO_1043 { DWORD wki1043_lock_maximum;} WKSTA_INFO_1043,*PWKSTA_INFO_1043,*LPWKSTA_INFO_1043;
-typedef struct _WKSTA_INFO_1044 { DWORD wki1044_pipe_increment;} WKSTA_INFO_1044,*PWKSTA_INFO_1044,*LPWKSTA_INFO_1044;
-typedef struct _WKSTA_INFO_1045 { DWORD wki1045_pipe_maximum;} WKSTA_INFO_1045,*PWKSTA_INFO_1045,*LPWKSTA_INFO_1045;
-typedef struct _WKSTA_INFO_1046 { DWORD wki1046_dormant_file_limit;} WKSTA_INFO_1046,*PWKSTA_INFO_1046,*LPWKSTA_INFO_1046;
-typedef struct _WKSTA_INFO_1047 { DWORD wki1047_cache_file_timeout;} WKSTA_INFO_1047,*PWKSTA_INFO_1047,*LPWKSTA_INFO_1047;
-typedef struct _WKSTA_INFO_1048 { BOOL wki1048_use_opportunistic_locking;} WKSTA_INFO_1048,*PWKSTA_INFO_1048,*LPWKSTA_INFO_1048;
-typedef struct _WKSTA_INFO_1049 { BOOL wki1049_use_unlock_behind;} WKSTA_INFO_1049,*PWKSTA_INFO_1049,*LPWKSTA_INFO_1049;
-typedef struct _WKSTA_INFO_1050 { BOOL wki1050_use_close_behind;} WKSTA_INFO_1050,*PWKSTA_INFO_1050,*LPWKSTA_INFO_1050;
-typedef struct _WKSTA_INFO_1051 { BOOL wki1051_buf_named_pipes;} WKSTA_INFO_1051,*PWKSTA_INFO_1051,*LPWKSTA_INFO_1051;
-typedef struct _WKSTA_INFO_1052 { BOOL wki1052_use_lock_read_unlock;} WKSTA_INFO_1052,*PWKSTA_INFO_1052,*LPWKSTA_INFO_1052;
-typedef struct _WKSTA_INFO_1053 { BOOL wki1053_utilize_nt_caching;} WKSTA_INFO_1053,*PWKSTA_INFO_1053,*LPWKSTA_INFO_1053;
-typedef struct _WKSTA_INFO_1054 { BOOL wki1054_use_raw_read;} WKSTA_INFO_1054,*PWKSTA_INFO_1054,*LPWKSTA_INFO_1054;
-typedef struct _WKSTA_INFO_1055 { BOOL wki1055_use_raw_write;} WKSTA_INFO_1055,*PWKSTA_INFO_1055,*LPWKSTA_INFO_1055;
-typedef struct _WKSTA_INFO_1056 { BOOL wki1056_use_write_raw_data;} WKSTA_INFO_1056,*PWKSTA_INFO_1056,*LPWKSTA_INFO_1056;
-typedef struct _WKSTA_INFO_1057 { BOOL wki1057_use_encryption;} WKSTA_INFO_1057,*PWKSTA_INFO_1057,*LPWKSTA_INFO_1057;
-typedef struct _WKSTA_INFO_1058 { BOOL wki1058_buf_files_deny_write;} WKSTA_INFO_1058,*PWKSTA_INFO_1058,*LPWKSTA_INFO_1058;
-typedef struct _WKSTA_INFO_1059 { BOOL wki1059_buf_read_only_files;} WKSTA_INFO_1059,*PWKSTA_INFO_1059,*LPWKSTA_INFO_1059;
-typedef struct _WKSTA_INFO_1060 { BOOL wki1060_force_core_create_mode;} WKSTA_INFO_1060,*PWKSTA_INFO_1060,*LPWKSTA_INFO_1060;
-typedef struct _WKSTA_INFO_1061 { BOOL wki1061_use_512_byte_max_transfer;} WKSTA_INFO_1061,*PWKSTA_INFO_1061,*LPWKSTA_INFO_1061;
-typedef struct _WKSTA_INFO_1062 { DWORD wki1062_read_ahead_throughput;} WKSTA_INFO_1062,*PWKSTA_INFO_1062,*LPWKSTA_INFO_1062;
-typedef struct _WKSTA_USER_INFO_0 { LPWSTR wkui0_username;}WKSTA_USER_INFO_0,*PWKSTA_USER_INFO_0,*LPWKSTA_USER_INFO_0;
-typedef struct _WKSTA_USER_INFO_1 {
- LPWSTR wkui1_username;
- LPWSTR wkui1_logon_domain;
- LPWSTR wkui1_oth_domains;
- LPWSTR wkui1_logon_server;
-}WKSTA_USER_INFO_1,*PWKSTA_USER_INFO_1,*LPWKSTA_USER_INFO_1;
-typedef struct _WKSTA_USER_INFO_1101 { LPWSTR wkui1101_oth_domains;} WKSTA_USER_INFO_1101,*PWKSTA_USER_INFO_1101,*LPWKSTA_USER_INFO_1101;
-typedef struct _WKSTA_TRANSPORT_INFO_0 {
- DWORD wkti0_quality_of_service;
- DWORD wkti0_number_of_vcs;
- LPWSTR wkti0_transport_name;
- LPWSTR wkti0_transport_address;
- BOOL wkti0_wan_ish;
-}WKSTA_TRANSPORT_INFO_0,*PWKSTA_TRANSPORT_INFO_0,*LPWKSTA_TRANSPORT_INFO_0;
-
-NET_API_STATUS WINAPI NetWkstaGetInfo(LPWSTR,DWORD,PBYTE*);
-NET_API_STATUS WINAPI NetWkstaSetInfo(LPWSTR,DWORD,PBYTE,PDWORD);
-NET_API_STATUS WINAPI NetWkstaUserGetInfo(LPWSTR,DWORD,PBYTE*);
-NET_API_STATUS WINAPI NetWkstaUserSetInfo(LPWSTR,DWORD,PBYTE,PDWORD);
-NET_API_STATUS WINAPI NetWkstaUserEnum(LPWSTR,DWORD,PBYTE*,DWORD,PDWORD,PDWORD,PDWORD);
-NET_API_STATUS WINAPI NetWkstaTransportAdd(LPWSTR,DWORD,PBYTE,PDWORD);
-NET_API_STATUS WINAPI NetWkstaTransportDel(LPWSTR,LPWSTR,DWORD);
-NET_API_STATUS WINAPI NetWkstaTransportEnum(LPWSTR,DWORD,PBYTE*,DWORD,PDWORD,PDWORD,PDWORD);
-
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/winsup/w32api/include/lzexpand.h b/winsup/w32api/include/lzexpand.h
deleted file mode 100644
index 68d4807a8..000000000
--- a/winsup/w32api/include/lzexpand.h
+++ /dev/null
@@ -1,40 +0,0 @@
-#ifndef _LZEXPAND_H
-#define _LZEXPAND_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-#define LZERROR_BADINHANDLE (-1)
-#define LZERROR_BADOUTHANDLE (-2)
-#define LZERROR_READ (-3)
-#define LZERROR_WRITE (-4)
-#define LZERROR_GLOBALLOC (-5)
-#define LZERROR_GLOBLOCK (-6)
-#define LZERROR_BADVALUE (-7)
-#define LZERROR_UNKNOWNALG (-8)
-LONG WINAPI CopyLZFile(INT,INT);
-INT WINAPI GetExpandedNameA(LPSTR,LPSTR);
-INT WINAPI GetExpandedNameW(LPWSTR,LPWSTR);
-VOID APIENTRY LZClose(INT);
-LONG APIENTRY LZCopy(INT,INT);
-VOID WINAPI LZDone(VOID);
-INT WINAPI LZInit(INT);
-INT WINAPI LZOpenFileA(LPSTR,LPOFSTRUCT,WORD);
-INT WINAPI LZOpenFileW(LPWSTR,LPOFSTRUCT,WORD);
-INT WINAPI LZRead(INT,LPSTR,INT);
-LONG WINAPI LZSeek(INT,LONG,INT);
-INT WINAPI LZStart(VOID);
-#ifdef UNICODE
-#define GetExpandedName GetExpandedNameW
-#define LZOpenFile LZOpenFileW
-#else
-#define GetExpandedName GetExpandedNameA
-#define LZOpenFile LZOpenFileA
-#endif
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/winsup/w32api/include/mapi.h b/winsup/w32api/include/mapi.h
deleted file mode 100644
index 8474f8923..000000000
--- a/winsup/w32api/include/mapi.h
+++ /dev/null
@@ -1,163 +0,0 @@
-#ifndef _MAPI_H
-#define _MAPI_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define SUCCESS_SUCCESS 0
-#define MAPI_USER_ABORT 1
-#define MAPI_E_USER_ABORT 1
-#define MAPI_E_FAILURE 2
-#define MAPI_E_LOGIN_FAILURE 3
-#define MAPI_E_LOGON_FAILURE 3
-#define MAPI_E_DISK_FULL 4
-#define MAPI_E_INSUFFICIENT_MEMORY 5
-#define MAPI_E_ACCESS_DENIED 6
-#define MAPI_E_BLK_TOO_SMALL 6
-#define MAPI_E_TOO_MANY_SESSIONS 8
-#define MAPI_E_TOO_MANY_FILES 9
-#define MAPI_E_TOO_MANY_RECIPIENTS 10
-#define MAPI_E_ATTACHMENT_NOT_FOUND 11
-#define MAPI_E_ATTACHMENT_OPEN_FAILURE 12
-#define MAPI_E_ATTACHMENT_WRITE_FAILURE 13
-#define MAPI_E_UNKNOWN_RECIPIENT 14
-#define MAPI_E_BAD_RECIPTYPE 15
-#define MAPI_E_NO_MESSAGES 16
-#define MAPI_E_INVALID_MESSAGE 17
-#define MAPI_E_TEXT_TOO_LARGE 18
-#define MAPI_E_INVALID_SESSION 19
-#define MAPI_E_TYPE_NOT_SUPPORTED 20
-#define MAPI_E_AMBIGUOUS_RECIPIENT 21
-#define MAPI_E_AMBIGUOUS_RECIP 21
-#define MAPI_E_MESSAGE_IN_USE 22
-#define MAPI_E_NETWORK_FAILURE 23
-#define MAPI_E_INVALID_EDITFIELDS 24
-#define MAPI_E_INVALID_RECIPS 25
-#define MAPI_E_NOT_SUPPORTED 26
-
-#define MAPI_ORIG 0
-#define MAPI_TO 1
-#define MAPI_CC 2
-#define MAPI_BCC 3
-
-#define MAPI_LOGON_UI 0x0001
-#define MAPI_NEW_SESSION 0x0002
-#define MAPI_FORCE_DOWNLOAD 0x1000
-#define MAPI_LOGOFF_SHARED 0x0001
-#define MAPI_LOGOFF_UI 0x0002
-#define MAPI_DIALOG 0x0008
-#define MAPI_UNREAD_ONLY 0x0020
-#define MAPI_LONG_MSGID 0x4000
-#define MAPI_GUARANTEE_FIFO 0x0100
-#define MAPI_ENVELOPE_ONLY 0x0040
-#define MAPI_PEEK 0x0080
-#define MAPI_BODY_AS_FILE 0x0200
-#define MAPI_SUPPRESS_ATTACH 0x0800
-#define MAPI_AB_NOMODIFY 0x0400
-#define MAPI_OLE 0x0001
-#define MAPI_OLE_STATIC 0x0002
-#define MAPI_UNREAD 0x0001
-#define MAPI_RECEIPT_REQUESTED 0x0002
-#define MAPI_SENT 0x0004
-
-#ifndef RC_INVOKED
-typedef unsigned long FLAGS;
-typedef unsigned long LHANDLE;
-typedef unsigned long FAR *LPLHANDLE, FAR *LPULONG;
-
-typedef struct {
- ULONG ulReserved;
- ULONG ulRecipClass;
- LPSTR lpszName;
- LPSTR lpszAddress;
- ULONG ulEIDSize;
- LPVOID lpEntryID;
-} MapiRecipDesc, *lpMapiRecipDesc;
-typedef struct {
- ULONG ulReserved;
- ULONG flFlags;
- ULONG nPosition;
- LPSTR lpszPathName;
- LPSTR lpszFileName;
- LPVOID lpFileType;
-} MapiFileDesc, *lpMapiFileDesc;
-typedef struct {
- ULONG ulReserved;
- ULONG cbTag;
- LPBYTE lpTag;
- ULONG cbEncoding;
- LPBYTE lpEncoding;
-} MapiFileTagExt, *lpMapiFileTagExt;
-typedef struct {
- ULONG ulReserved;
- LPSTR lpszSubject;
- LPSTR lpszNoteText;
- LPSTR lpszMessageType;
- LPSTR lpszDateReceived;
- LPSTR lpszConversationID;
- FLAGS flFlags;
- lpMapiRecipDesc lpOriginator;
- ULONG nRecipCount;
- lpMapiRecipDesc lpRecips;
- ULONG nFileCount;
- lpMapiFileDesc lpFiles;
-} MapiMessage, *lpMapiMessage;
-
-ULONG PASCAL MAPILogon (ULONG,LPSTR,LPSTR,FLAGS,ULONG,LPLHANDLE);
-ULONG PASCAL MAPISendMail (LHANDLE,ULONG,lpMapiMessage,FLAGS,ULONG);
-ULONG PASCAL MAPISendDocuments (ULONG,LPSTR,LPSTR,LPSTR,ULONG);
-ULONG PASCAL MAPIReadMail (LHANDLE,ULONG,LPSTR,FLAGS,ULONG,
- lpMapiMessage*);
-ULONG PASCAL MAPIFindNext (LHANDLE,ULONG,LPSTR,LPSTR,FLAGS,ULONG,LPSTR);
-ULONG PASCAL MAPIResolveName (LHANDLE,ULONG,LPSTR,FLAGS,ULONG,
- lpMapiRecipDesc*);
-ULONG PASCAL MAPIAddress (LHANDLE,ULONG,LPSTR,ULONG,LPSTR,ULONG,
- lpMapiRecipDesc,FLAGS,ULONG,LPULONG,
- lpMapiRecipDesc*);
-ULONG PASCAL MAPIFreeBuffer (LPVOID);
-ULONG PASCAL MAPIDetails (LHANDLE,ULONG,lpMapiRecipDesc,FLAGS,ULONG);
-ULONG PASCAL MAPISaveMail (LHANDLE,ULONG,lpMapiMessage lpszMessage,
- FLAGS,ULONG,LPSTR);
-ULONG PASCAL MAPIDeleteMail (LHANDLE lpSession,ULONG,LPSTR,FLAGS,ULONG);
-ULONG PASCAL MAPILogoff (LHANDLE,ULONG,FLAGS,ULONG);
-/* Netscape extensions. */
-ULONG PASCAL MAPIGetNetscapeVersion (void);
-ULONG PASCAL MAPI_NSCP_SynchronizeClient (LHANDLE,ULONG);
-
-/* Handles for use with GetProcAddress */
-typedef ULONG (PASCAL * LPMAPILOGON) (ULONG,LPSTR,LPSTR,FLAGS,ULONG,
- LPLHANDLE);
-typedef ULONG (PASCAL * LPMAPISENDMAIL) (LHANDLE,ULONG,lpMapiMessage,
- FLAGS,ULONG);
-typedef ULONG (PASCAL * LPMAPISENDDOCUMENTS) (ULONG,LPSTR,LPSTR,
- LPSTR,ULONG);
-typedef ULONG (PASCAL * LPMAPIREADMAIL) (LHANDLE,ULONG,LPSTR,FLAGS,
- ULONG,lpMapiMessage*);
-typedef ULONG (PASCAL * LPMAPIFINDNEXT) (LHANDLE,ULONG,LPSTR,LPSTR,
- FLAGS,ULONG,LPSTR);
-typedef ULONG (PASCAL * LPMAPIRESOLVENAME) (LHANDLE,ULONG,LPSTR,FLAGS,
- ULONG,lpMapiRecipDesc*);
-typedef ULONG (PASCAL * LPMAPIADDRESS) (LHANDLE,ULONG,LPSTR,ULONG,LPSTR,
- ULONG,lpMapiRecipDesc,FLAGS,ULONG,
- LPULONG,lpMapiRecipDesc*);
-typedef ULONG (PASCAL * LPMAPIFREEBUFFER) (LPVOID lpv);
-typedef ULONG (PASCAL * LPMAPIDETAILS) (LHANDLE,ULONG,lpMapiRecipDesc,
- FLAGS,ULONG);
-typedef ULONG (PASCAL * LPMAPISAVEMAIL) (LHANDLE,ULONG,lpMapiMessage,
- FLAGS,ULONG,LPSTR);
-typedef ULONG (PASCAL * LPMAPIDELETEMAIL) (LHANDLE lpSession,ULONG,
- LPSTR, FLAGS,ULONG);
-typedef ULONG (PASCAL * LPMAPILOGOFF)(LHANDLE,ULONG,FLAGS,ULONG);
-
-#endif /* RC_INVOKED */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* Not _MAPI_H */
-
diff --git a/winsup/w32api/include/mciavi.h b/winsup/w32api/include/mciavi.h
deleted file mode 100644
index 8535a7f09..000000000
--- a/winsup/w32api/include/mciavi.h
+++ /dev/null
@@ -1,25 +0,0 @@
-#ifndef _MCIAVI_H
-#define _MCIAVI_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#define MCI_MCIAVI_PLAY_WINDOW 0x1000000
-#define MCI_MCIAVI_PLAY_FULLSCREEN 0x2000000
-#define MCI_MCIAVI_PLAY_FULLBY2 0x4000000
-#define MCI_AVI_STATUS_FRAMES_SKIPPED 0x8001
-#define MCI_AVI_STATUS_LAST_PLAY_SPEED 0x8002
-#define MCI_AVI_STATUS_AUDIO_BREAKS 0x8003
-#define MCI_AVI_SETVIDEO_DRAW_PROCEDURE 0x8000
-#define MCI_AVI_SETVIDEO_PALETTE_COLOR 0x8100
-#define MCI_AVI_SETVIDEO_PALETTE_HALFTONE 0x0000FFFF
-#define MCIERR_AVI_OLDAVIFORMAT (MCIERR_CUSTOM_DRIVER_BASE+100)
-#define MCIERR_AVI_NOTINTERLEAVED (MCIERR_CUSTOM_DRIVER_BASE+101)
-#define MCIERR_AVI_NODISPDIB (MCIERR_CUSTOM_DRIVER_BASE+102)
-#define MCIERR_AVI_CANTPLAYFULLSCREEN (MCIERR_CUSTOM_DRIVER_BASE+103)
-#define MCIERR_AVI_TOOBIGFORVGA (MCIERR_CUSTOM_DRIVER_BASE+104)
-#define MCIERR_AVI_NOCOMPRESSOR (MCIERR_CUSTOM_DRIVER_BASE+105)
-#define MCIERR_AVI_DISPLAYERROR (MCIERR_CUSTOM_DRIVER_BASE+106)
-#define MCIERR_AVI_AUDIOERROR (MCIERR_CUSTOM_DRIVER_BASE+107)
-#define MCIERR_AVI_BADPALETTE (MCIERR_CUSTOM_DRIVER_BASE+108)
-#endif
diff --git a/winsup/w32api/include/mcx.h b/winsup/w32api/include/mcx.h
deleted file mode 100644
index c7173b77b..000000000
--- a/winsup/w32api/include/mcx.h
+++ /dev/null
@@ -1,77 +0,0 @@
-#ifndef _MCX_H
-#define _MCX_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-#define DIALOPTION_BILLING 64
-#define DIALOPTION_QUIET 128
-#define DIALOPTION_DIALTONE 256
-#define MDMVOLFLAG_LOW 1
-#define MDMVOLFLAG_MEDIUM 2
-#define MDMVOLFLAG_HIGH 4
-#define MDMVOL_LOW 0
-#define MDMVOL_MEDIUM 1
-#define MDMVOL_HIGH 2
-#define MDMSPKRFLAG_OFF 1
-#define MDMSPKRFLAG_DIAL 2
-#define MDMSPKRFLAG_ON 4
-#define MDMSPKRFLAG_CALLSETUP 8
-#define MDMSPKR_OFF 0
-#define MDMSPKR_DIAL 1
-#define MDMSPKR_ON 2
-#define MDMSPKR_CALLSETUP 3
-#define MDM_COMPRESSION 1
-#define MDM_ERROR_CONTROL 2
-#define MDM_FORCED_EC 4
-#define MDM_CELLULAR 8
-#define MDM_FLOWCONTROL_HARD 16
-#define MDM_FLOWCONTROL_SOFT 32
-#define MDM_CCITT_OVERRIDE 64
-#define MDM_SPEED_ADJUST 128
-#define MDM_TONE_DIAL 256
-#define MDM_BLIND_DIAL 512
-#define MDM_V23_OVERRIDE 1024
-typedef struct _MODEMDEVCAPS {
- DWORD dwActualSize;
- DWORD dwRequiredSize;
- DWORD dwDevSpecificOffset;
- DWORD dwDevSpecificSize;
- DWORD dwModemProviderVersion;
- DWORD dwModemManufacturerOffset;
- DWORD dwModemManufacturerSize;
- DWORD dwModemModelOffset;
- DWORD dwModemModelSize;
- DWORD dwModemVersionOffset;
- DWORD dwModemVersionSize;
- DWORD dwDialOptions;
- DWORD dwCallSetupFailTimer;
- DWORD dwInactivityTimeout;
- DWORD dwSpeakerVolume;
- DWORD dwSpeakerMode;
- DWORD dwModemOptions;
- DWORD dwMaxDTERate;
- DWORD dwMaxDCERate;
- BYTE abVariablePortion[1];
-} MODEMDEVCAPS,*PMODEMDEVCAPS,*LPMODEMDEVCAPS;
-typedef struct _MODEMSETTINGS {
- DWORD dwActualSize;
- DWORD dwRequiredSize;
- DWORD dwDevSpecificOffset;
- DWORD dwDevSpecificSize;
- DWORD dwCallSetupFailTimer;
- DWORD dwInactivityTimeout;
- DWORD dwSpeakerVolume;
- DWORD dwSpeakerMode;
- DWORD dwPreferredModemOptions;
- DWORD dwNegotiatedModemOptions;
- DWORD dwNegotiatedDCERate;
- BYTE abVariablePortion[1];
-} MODEMSETTINGS,*PMODEMSETTINGS,*LPMODEMSETTINGS;
-#ifdef __cplusplus
-}
-#endif
-#endif /* _MCX_H */
diff --git a/winsup/w32api/include/mgmtapi.h b/winsup/w32api/include/mgmtapi.h
deleted file mode 100644
index 89e68e3e2..000000000
--- a/winsup/w32api/include/mgmtapi.h
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- mgmtapi.h - Header file for the SNMP Management API
-
- Written by Filip Navara <xnavara@volny.cz>
-
- References (2003-08-25):
- http://msdn.microsoft.com/library/en-us/snmp/snmp/snmp_reference.asp
-
- This library 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.
-*/
-
-#ifndef _MGMTAPI_H
-#define _MGMTAPI_H
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-#ifndef _SNMP_H
-#include <snmp.h>
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define SNMP_MGMTAPI_TIMEOUT 40
-#define SNMP_MGMTAPI_SELECT_FDERRORS 41
-#define SNMP_MGMTAPI_TRAP_ERRORS 42
-#define SNMP_MGMTAPI_TRAP_DUPINIT 43
-#define SNMP_MGMTAPI_NOTRAPS 44
-#define SNMP_MGMTAPI_AGAIN 45
-#define SNMP_MGMTAPI_INVALID_CTL 46
-#define SNMP_MGMTAPI_INVALID_SESSION 47
-#define SNMP_MGMTAPI_INVALID_BUFFER 48
-#define MGMCTL_SETAGENTPORT 1
-
-#ifndef RC_INVOKED
-
-typedef PVOID LPSNMP_MGR_SESSION;
-
-BOOL WINSNMPAPI SnmpMgrClose(LPSNMP_MGR_SESSION);
-BOOL WINSNMPAPI SnmpMgrCtl(LPSNMP_MGR_SESSION,DWORD,LPVOID,DWORD,LPVOID,DWORD,LPDWORD);
-BOOL WINSNMPAPI SnmpMgrGetTrap(AsnObjectIdentifier*,AsnNetworkAddress*,AsnInteger*,AsnInteger*,AsnTimeticks*,SnmpVarBindList*);
-BOOL WINSNMPAPI SnmpMgrGetTrapEx(AsnObjectIdentifier*,AsnNetworkAddress*,AsnNetworkAddress*,AsnInteger*,AsnInteger*,AsnOctetString*,AsnTimeticks*,SnmpVarBindList*);
-BOOL WINSNMPAPI SnmpMgrOidToStr(AsnObjectIdentifier*,LPSTR*);
-LPSNMP_MGR_SESSION WINSNMPAPI SnmpMgrOpen(LPSTR,LPSTR,INT,INT);
-INT WINSNMPAPI SnmpMgrRequest(LPSNMP_MGR_SESSION,BYTE,SnmpVarBindList*,AsnInteger*,AsnInteger*);
-BOOL WINSNMPAPI SnmpMgrStrToOid(LPSTR,AsnObjectIdentifier*);
-BOOL WINSNMPAPI SnmpMgrTrapListen(HANDLE*);
-
-#endif /* RC_INVOKED */
-
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/winsup/w32api/include/mmsystem.h b/winsup/w32api/include/mmsystem.h
deleted file mode 100644
index 95da48c0b..000000000
--- a/winsup/w32api/include/mmsystem.h
+++ /dev/null
@@ -1,1941 +0,0 @@
-
-#ifndef _MMSYSTEM_H
-#define _MMSYSTEM_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-#pragma pack(push,1)
-#ifdef __cplusplus
-extern "C" {
-#endif
-#define WINMMAPI DECLSPEC_IMPORT
-#define _loadds
-#define _huge
-#define MAXPNAMELEN 32
-#define MAXERRORLENGTH 256
-#define MAX_JOYSTICKOEMVXDNAME 260
-#define _MMRESULT_
-#define TIME_MS 1
-#define TIME_SAMPLES 2
-#define TIME_BYTES 4
-#define TIME_SMPTE 8
-#define TIME_MIDI 16
-#define TIME_TICKS 32
-#define MAKEFOURCC(c0,c1,c2,c3) ((DWORD)(BYTE)(c0)|((DWORD)(BYTE)(c1)<<8)|((DWORD)(BYTE)(c2)<<16)|((DWORD)(BYTE)(c3)<<24))
-#ifndef mmioFOURCC
-#define mmioFOURCC(c0,c1,c2,c3) MAKEFOURCC(c0,c1,c2,c3)
-#endif
-#define MM_JOY1MOVE 0x3A0
-#define MM_JOY2MOVE 0x3A1
-#define MM_JOY1ZMOVE 0x3A2
-#define MM_JOY2ZMOVE 0x3A3
-#define MM_JOY1BUTTONDOWN 0x3B5
-#define MM_JOY2BUTTONDOWN 0x3B6
-#define MM_JOY1BUTTONUP 0x3B7
-#define MM_JOY2BUTTONUP 0x3B8
-#define MM_MCINOTIFY 0x3B9
-#define MM_WOM_OPEN 0x3BB
-#define MM_WOM_CLOSE 0x3BC
-#define MM_WOM_DONE 0x3BD
-#define MM_WIM_OPEN 0x3BE
-#define MM_WIM_CLOSE 0x3BF
-#define MM_WIM_DATA 0x3C0
-#define MM_MIM_OPEN 0x3C1
-#define MM_MIM_CLOSE 0x3C2
-#define MM_MIM_DATA 0x3C3
-#define MM_MIM_LONGDATA 0x3C4
-#define MM_MIM_ERROR 0x3C5
-#define MM_MIM_LONGERROR 0x3C6
-#define MM_MOM_OPEN 0x3C7
-#define MM_MOM_CLOSE 0x3C8
-#define MM_MOM_DONE 0x3C9
-#define MM_DRVM_OPEN 0x3D0
-#define MM_DRVM_CLOSE 0x3D1
-#define MM_DRVM_DATA 0x3D2
-#define MM_DRVM_ERROR 0x3D3
-#define MM_STREAM_OPEN 0x3D4
-#define MM_STREAM_CLOSE 0x3D5
-#define MM_STREAM_DONE 0x3D6
-#define MM_STREAM_ERROR 0x3D7
-#define MM_MOM_POSITIONCB 0x3CA
-#define MM_MCISIGNAL 0x3CB
-#define MM_MIM_MOREDATA 0x3CC
-#define MM_MIXM_LINE_CHANGE 0x3D0
-#define MM_MIXM_CONTROL_CHANGE 0x3D1
-#define MMSYSERR_BASE 0
-#define WAVERR_BASE 32
-#define MIDIERR_BASE 64
-#define TIMERR_BASE 96
-#define JOYERR_BASE 160
-#define MCIERR_BASE 256
-#define MIXERR_BASE 1024
-#define MCI_STRING_OFFSET 512
-#define MCI_VD_OFFSET 1024
-#define MCI_CD_OFFSET 1088
-#define MCI_WAVE_OFFSET 1152
-#define MCI_SEQ_OFFSET 1216
-#define MMSYSERR_NOERROR 0
-#define MMSYSERR_ERROR (MMSYSERR_BASE+1)
-#define MMSYSERR_BADDEVICEID (MMSYSERR_BASE+2)
-#define MMSYSERR_NOTENABLED (MMSYSERR_BASE+3)
-#define MMSYSERR_ALLOCATED (MMSYSERR_BASE+4)
-#define MMSYSERR_INVALHANDLE (MMSYSERR_BASE+5)
-#define MMSYSERR_NODRIVER (MMSYSERR_BASE+6)
-#define MMSYSERR_NOMEM (MMSYSERR_BASE+7)
-#define MMSYSERR_NOTSUPPORTED (MMSYSERR_BASE+8)
-#define MMSYSERR_BADERRNUM (MMSYSERR_BASE+9)
-#define MMSYSERR_INVALFLAG (MMSYSERR_BASE+10)
-#define MMSYSERR_INVALPARAM (MMSYSERR_BASE+11)
-#define MMSYSERR_HANDLEBUSY (MMSYSERR_BASE+12)
-#define MMSYSERR_INVALIDALIAS (MMSYSERR_BASE+13)
-#define MMSYSERR_BADDB (MMSYSERR_BASE+14)
-#define MMSYSERR_KEYNOTFOUND (MMSYSERR_BASE+15)
-#define MMSYSERR_READERROR (MMSYSERR_BASE+16)
-#define MMSYSERR_WRITEERROR (MMSYSERR_BASE+17)
-#define MMSYSERR_DELETEERROR (MMSYSERR_BASE+18)
-#define MMSYSERR_VALNOTFOUND (MMSYSERR_BASE+19)
-#define MMSYSERR_NODRIVERCB (MMSYSERR_BASE+20)
-#define MMSYSERR_LASTERROR (MMSYSERR_BASE+20)
-#define DRV_LOAD 1
-#define DRV_ENABLE 2
-#define DRV_OPEN 3
-#define DRV_CLOSE 4
-#define DRV_DISABLE 5
-#define DRV_FREE 6
-#define DRV_CONFIGURE 7
-#define DRV_QUERYCONFIGURE 8
-#define DRV_INSTALL 9
-#define DRV_REMOVE 10
-#define DRV_EXITSESSION 11
-#define DRV_POWER 15
-#define DRV_RESERVED 0x800
-#define DRV_USER 0x4000
-#define DRVCNF_CANCEL 0
-#define DRVCNF_OK 1
-#define DRVCNF_RESTART 2
-#define DRV_CANCEL DRVCNF_CANCEL
-#define DRV_OK DRVCNF_OK
-#define DRV_RESTART DRVCNF_RESTART
-#define DRV_MCI_FIRST DRV_RESERVED
-#define DRV_MCI_LAST (DRV_RESERVED+0xFFF)
-#define CALLBACK_TYPEMASK 0x70000
-#define CALLBACK_NULL 0
-#define CALLBACK_WINDOW 0x10000
-#define CALLBACK_TASK 0x20000
-#define CALLBACK_FUNCTION 0x30000
-#define CALLBACK_THREAD CALLBACK_TASK
-#define CALLBACK_EVENT 0x50000
-#define SND_SYNC 0
-#define SND_ASYNC 1
-#define SND_NODEFAULT 2
-#define SND_MEMORY 4
-#define SND_LOOP 8
-#define SND_NOSTOP 16
-#define SND_NOWAIT 0x2000
-#define SND_ALIAS 0x10000
-#define SND_ALIAS_ID 0x110000
-#define SND_FILENAME 0x20000
-#define SND_RESOURCE 0x40004
-#define SND_PURGE 0x40
-#define SND_APPLICATION 0x80
-#define SND_ALIAS_START 0
-#define sndAlias(c0,c1) (SND_ALIAS_START+(DWORD)(BYTE)(c0)|((DWORD)(BYTE)(c1)<<8))
-#define SND_ALIAS_SYSTEMASTERISK sndAlias('S','*')
-#define SND_ALIAS_SYSTEMQUESTION sndAlias('S','?')
-#define SND_ALIAS_SYSTEMHAND sndAlias('S','H')
-#define SND_ALIAS_SYSTEMEXIT sndAlias('S','E')
-#define SND_ALIAS_SYSTEMSTART sndAlias('S','S')
-#define SND_ALIAS_SYSTEMWELCOME sndAlias('S','W')
-#define SND_ALIAS_SYSTEMEXCLAMATION sndAlias('S','!')
-#define SND_ALIAS_SYSTEMDEFAULT sndAlias('S','D')
-#define WAVERR_BADFORMAT (WAVERR_BASE + 0)
-#define WAVERR_STILLPLAYING (WAVERR_BASE + 1)
-#define WAVERR_UNPREPARED (WAVERR_BASE + 2)
-#define WAVERR_SYNC (WAVERR_BASE + 3)
-#define WAVERR_LASTERROR (WAVERR_BASE + 3)
-#define WOM_OPEN MM_WOM_OPEN
-#define WOM_CLOSE MM_WOM_CLOSE
-#define WOM_DONE MM_WOM_DONE
-#define WIM_OPEN MM_WIM_OPEN
-#define WIM_CLOSE MM_WIM_CLOSE
-#define WIM_DATA MM_WIM_DATA
-#define WAVE_MAPPER ((UINT)-1)
-#define WAVE_FORMAT_QUERY 1
-#define WAVE_ALLOWSYNC 2
-#define WAVE_MAPPED 4
-#define WAVE_FORMAT_DIRECT 8
-#define WAVE_FORMAT_DIRECT_QUERY (WAVE_FORMAT_QUERY|WAVE_FORMAT_DIRECT)
-#define WHDR_DONE 1
-#define WHDR_PREPARED 2
-#define WHDR_BEGINLOOP 4
-#define WHDR_ENDLOOP 8
-#define WHDR_INQUEUE 16
-#define WAVECAPS_PITCH 1
-#define WAVECAPS_PLAYBACKRATE 2
-#define WAVECAPS_VOLUME 4
-#define WAVECAPS_LRVOLUME 8
-#define WAVECAPS_SYNC 16
-#define WAVECAPS_SAMPLEACCURATE 32
-#define WAVECAPS_DIRECTSOUND 64
-#define WAVE_INVALIDFORMAT 0
-#define WAVE_FORMAT_1M08 1
-#define WAVE_FORMAT_1S08 2
-#define WAVE_FORMAT_1M16 4
-#define WAVE_FORMAT_1S16 8
-#define WAVE_FORMAT_2M08 16
-#define WAVE_FORMAT_2S08 32
-#define WAVE_FORMAT_2M16 64
-#define WAVE_FORMAT_2S16 128
-#define WAVE_FORMAT_4M08 256
-#define WAVE_FORMAT_4S08 512
-#define WAVE_FORMAT_4M16 1024
-#define WAVE_FORMAT_4S16 2048
-#define WAVE_FORMAT_PCM 1
-#define MIDIERR_UNPREPARED MIDIERR_BASE
-#define MIDIERR_STILLPLAYING (MIDIERR_BASE+1)
-#define MIDIERR_NOMAP (MIDIERR_BASE+2)
-#define MIDIERR_NOTREADY (MIDIERR_BASE+3)
-#define MIDIERR_NODEVICE (MIDIERR_BASE+4)
-#define MIDIERR_INVALIDSETUP (MIDIERR_BASE+5)
-#define MIDIERR_BADOPENMODE (MIDIERR_BASE+6)
-#define MIDIERR_DONT_CONTINUE (MIDIERR_BASE+7)
-#define MIDIERR_LASTERROR (MIDIERR_BASE+7)
-#define MIDIPATCHSIZE 128
-#define MIM_OPEN MM_MIM_OPEN
-#define MIM_CLOSE MM_MIM_CLOSE
-#define MIM_DATA MM_MIM_DATA
-#define MIM_LONGDATA MM_MIM_LONGDATA
-#define MIM_ERROR MM_MIM_ERROR
-#define MIM_LONGERROR MM_MIM_LONGERROR
-#define MOM_OPEN MM_MOM_OPEN
-#define MOM_CLOSE MM_MOM_CLOSE
-#define MOM_DONE MM_MOM_DONE
-#define MIM_MOREDATA MM_MIM_MOREDATA
-#define MOM_POSITIONCB MM_MOM_POSITIONCB
-#define MIDIMAPPER ((UINT)-1)
-#define MIDI_MAPPER ((UINT)-1)
-#define MIDI_IO_STATUS 32
-#define MIDI_CACHE_ALL 1
-#define MIDI_CACHE_BESTFIT 2
-#define MIDI_CACHE_QUERY 3
-#define MIDI_UNCACHE 4
-#define MOD_MIDIPORT 1
-#define MOD_SYNTH 2
-#define MOD_SQSYNTH 3
-#define MOD_FMSYNTH 4
-#define MOD_MAPPER 5
-#define MIDICAPS_VOLUME 1
-#define MIDICAPS_LRVOLUME 2
-#define MIDICAPS_CACHE 4
-#define MIDICAPS_STREAM 8
-#define MHDR_DONE 1
-#define MHDR_PREPARED 2
-#define MHDR_INQUEUE 4
-#define MHDR_ISSTRM 8
-#define MEVT_F_SHORT 0
-#define MEVT_F_LONG 0x80000000
-#define MEVT_F_CALLBACK 0x40000000
-#define MEVT_EVENTTYPE(x) ((BYTE)(((x)>>24)&0xFF))
-#define MEVT_EVENTPARM(x) ((DWORD)((x)&0xFFFFFFL))
-#define MEVT_SHORTMSG 0
-#define MEVT_TEMPO 1
-#define MEVT_NOP 2
-#define MEVT_LONGMSG ((BYTE)0x80)
-#define MEVT_COMMENT ((BYTE)0x82)
-#define MEVT_VERSION ((BYTE)0x84)
-#define MIDISTRM_ERROR (-2)
-#define MIDIPROP_SET 0x80000000
-#define MIDIPROP_GET 0x40000000
-#define MIDIPROP_TIMEDIV 1
-#define MIDIPROP_TEMPO 2
-#define AUX_MAPPER ((UINT)-1)
-#define AUXCAPS_CDAUDIO 1
-#define AUXCAPS_AUXIN 2
-#define AUXCAPS_VOLUME 1
-#define AUXCAPS_LRVOLUME 2
-#define MIXER_SHORT_NAME_CHARS 16
-#define MIXER_LONG_NAME_CHARS 64
-#define MIXERR_INVALLINE MIXERR_BASE
-#define MIXERR_INVALCONTROL (MIXERR_BASE+1)
-#define MIXERR_INVALVALUE (MIXERR_BASE+2)
-#define MIXERR_LASTERROR (MIXERR_BASE+2)
-#define MIXER_OBJECTF_HANDLE 0x80000000
-#define MIXER_OBJECTF_MIXER 0
-#define MIXER_OBJECTF_HMIXER (MIXER_OBJECTF_HANDLE|MIXER_OBJECTF_MIXER)
-#define MIXER_OBJECTF_WAVEOUT 0x10000000
-#define MIXER_OBJECTF_HWAVEOUT (MIXER_OBJECTF_HANDLE|MIXER_OBJECTF_WAVEOUT)
-#define MIXER_OBJECTF_WAVEIN 0x20000000
-#define MIXER_OBJECTF_HWAVEIN (MIXER_OBJECTF_HANDLE|MIXER_OBJECTF_WAVEIN)
-#define MIXER_OBJECTF_MIDIOUT 0x30000000
-#define MIXER_OBJECTF_HMIDIOUT (MIXER_OBJECTF_HANDLE|MIXER_OBJECTF_MIDIOUT)
-#define MIXER_OBJECTF_MIDIIN 0x40000000
-#define MIXER_OBJECTF_HMIDIIN (MIXER_OBJECTF_HANDLE|MIXER_OBJECTF_MIDIIN)
-#define MIXER_OBJECTF_AUX 0x50000000
-#define MIXERLINE_LINEF_ACTIVE 1
-#define MIXERLINE_LINEF_DISCONNECTED 0x8000
-#define MIXERLINE_LINEF_SOURCE 0x80000000
-#define MIXERLINE_COMPONENTTYPE_DST_FIRST 0
-#define MIXERLINE_COMPONENTTYPE_DST_UNDEFINED MIXERLINE_COMPONENTTYPE_DST_FIRST
-#define MIXERLINE_COMPONENTTYPE_DST_DIGITAL (MIXERLINE_COMPONENTTYPE_DST_FIRST+1)
-#define MIXERLINE_COMPONENTTYPE_DST_LINE (MIXERLINE_COMPONENTTYPE_DST_FIRST+2)
-#define MIXERLINE_COMPONENTTYPE_DST_MONITOR (MIXERLINE_COMPONENTTYPE_DST_FIRST+3)
-#define MIXERLINE_COMPONENTTYPE_DST_SPEAKERS (MIXERLINE_COMPONENTTYPE_DST_FIRST+4)
-#define MIXERLINE_COMPONENTTYPE_DST_HEADPHONES (MIXERLINE_COMPONENTTYPE_DST_FIRST+5)
-#define MIXERLINE_COMPONENTTYPE_DST_TELEPHONE (MIXERLINE_COMPONENTTYPE_DST_FIRST+6)
-#define MIXERLINE_COMPONENTTYPE_DST_WAVEIN (MIXERLINE_COMPONENTTYPE_DST_FIRST+7)
-#define MIXERLINE_COMPONENTTYPE_DST_VOICEIN (MIXERLINE_COMPONENTTYPE_DST_FIRST+8)
-#define MIXERLINE_COMPONENTTYPE_DST_LAST (MIXERLINE_COMPONENTTYPE_DST_FIRST+8)
-#define MIXERLINE_COMPONENTTYPE_SRC_FIRST 0x1000
-#define MIXERLINE_COMPONENTTYPE_SRC_UNDEFINED MIXERLINE_COMPONENTTYPE_SRC_FIRST
-#define MIXERLINE_COMPONENTTYPE_SRC_DIGITAL (MIXERLINE_COMPONENTTYPE_SRC_FIRST+1)
-#define MIXERLINE_COMPONENTTYPE_SRC_LINE (MIXERLINE_COMPONENTTYPE_SRC_FIRST+2)
-#define MIXERLINE_COMPONENTTYPE_SRC_MICROPHONE (MIXERLINE_COMPONENTTYPE_SRC_FIRST+3)
-#define MIXERLINE_COMPONENTTYPE_SRC_SYNTHESIZER (MIXERLINE_COMPONENTTYPE_SRC_FIRST+4)
-#define MIXERLINE_COMPONENTTYPE_SRC_COMPACTDISC (MIXERLINE_COMPONENTTYPE_SRC_FIRST+5)
-#define MIXERLINE_COMPONENTTYPE_SRC_TELEPHONE (MIXERLINE_COMPONENTTYPE_SRC_FIRST+6)
-#define MIXERLINE_COMPONENTTYPE_SRC_PCSPEAKER (MIXERLINE_COMPONENTTYPE_SRC_FIRST+7)
-#define MIXERLINE_COMPONENTTYPE_SRC_WAVEOUT (MIXERLINE_COMPONENTTYPE_SRC_FIRST+8)
-#define MIXERLINE_COMPONENTTYPE_SRC_AUXILIARY (MIXERLINE_COMPONENTTYPE_SRC_FIRST+9)
-#define MIXERLINE_COMPONENTTYPE_SRC_ANALOG (MIXERLINE_COMPONENTTYPE_SRC_FIRST+10)
-#define MIXERLINE_COMPONENTTYPE_SRC_LAST (MIXERLINE_COMPONENTTYPE_SRC_FIRST+10)
-#define MIXERLINE_TARGETTYPE_UNDEFINED 0
-#define MIXERLINE_TARGETTYPE_WAVEOUT 1
-#define MIXERLINE_TARGETTYPE_WAVEIN 2
-#define MIXERLINE_TARGETTYPE_MIDIOUT 3
-#define MIXERLINE_TARGETTYPE_MIDIIN 4
-#define MIXERLINE_TARGETTYPE_AUX 5
-#define MIXER_GETLINEINFOF_DESTINATION 0
-#define MIXER_GETLINEINFOF_SOURCE 1
-#define MIXER_GETLINEINFOF_LINEID 2
-#define MIXER_GETLINEINFOF_COMPONENTTYPE 3
-#define MIXER_GETLINEINFOF_TARGETTYPE 4
-#define MIXER_GETLINEINFOF_QUERYMASK 15
-#define MIXERCONTROL_CONTROLF_UNIFORM 1
-#define MIXERCONTROL_CONTROLF_MULTIPLE 2
-#define MIXERCONTROL_CONTROLF_DISABLED 0x80000000
-#define MIXERCONTROL_CT_CLASS_MASK 0xF0000000
-#define MIXERCONTROL_CT_CLASS_CUSTOM 0
-#define MIXERCONTROL_CT_CLASS_METER 0x10000000
-#define MIXERCONTROL_CT_CLASS_SWITCH 0x20000000
-#define MIXERCONTROL_CT_CLASS_NUMBER 0x30000000
-#define MIXERCONTROL_CT_CLASS_SLIDER 0x40000000
-#define MIXERCONTROL_CT_CLASS_FADER 0x50000000
-#define MIXERCONTROL_CT_CLASS_TIME 0x60000000
-#define MIXERCONTROL_CT_CLASS_LIST 0x70000000
-#define MIXERCONTROL_CT_SUBCLASS_MASK 0xF000000
-#define MIXERCONTROL_CT_SC_SWITCH_BOOLEAN 0
-#define MIXERCONTROL_CT_SC_SWITCH_BUTTON 0x1000000
-#define MIXERCONTROL_CT_SC_METER_POLLED 0
-#define MIXERCONTROL_CT_SC_TIME_MICROSECS 0
-#define MIXERCONTROL_CT_SC_TIME_MILLISECS 0x1000000
-#define MIXERCONTROL_CT_SC_LIST_SINGLE 0
-#define MIXERCONTROL_CT_SC_LIST_MULTIPLE 0x1000000
-#define MIXERCONTROL_CT_UNITS_MASK 0xFF0000
-#define MIXERCONTROL_CT_UNITS_CUSTOM 0
-#define MIXERCONTROL_CT_UNITS_BOOLEAN 0x10000
-#define MIXERCONTROL_CT_UNITS_SIGNED 0x20000
-#define MIXERCONTROL_CT_UNITS_UNSIGNED 0x30000
-#define MIXERCONTROL_CT_UNITS_DECIBELS 0x40000
-#define MIXERCONTROL_CT_UNITS_PERCENT 0x50000
-#define MIXERCONTROL_CONTROLTYPE_CUSTOM (MIXERCONTROL_CT_CLASS_CUSTOM|MIXERCONTROL_CT_UNITS_CUSTOM)
-#define MIXERCONTROL_CONTROLTYPE_BOOLEANMETER (MIXERCONTROL_CT_CLASS_METER|MIXERCONTROL_CT_SC_METER_POLLED|MIXERCONTROL_CT_UNITS_BOOLEAN)
-#define MIXERCONTROL_CONTROLTYPE_SIGNEDMETER (MIXERCONTROL_CT_CLASS_METER|MIXERCONTROL_CT_SC_METER_POLLED|MIXERCONTROL_CT_UNITS_SIGNED)
-#define MIXERCONTROL_CONTROLTYPE_PEAKMETER (MIXERCONTROL_CONTROLTYPE_SIGNEDMETER+1)
-#define MIXERCONTROL_CONTROLTYPE_UNSIGNEDMETER (MIXERCONTROL_CT_CLASS_METER|MIXERCONTROL_CT_SC_METER_POLLED|MIXERCONTROL_CT_UNITS_UNSIGNED)
-#define MIXERCONTROL_CONTROLTYPE_BOOLEAN (MIXERCONTROL_CT_CLASS_SWITCH|MIXERCONTROL_CT_SC_SWITCH_BOOLEAN|MIXERCONTROL_CT_UNITS_BOOLEAN)
-#define MIXERCONTROL_CONTROLTYPE_ONOFF (MIXERCONTROL_CONTROLTYPE_BOOLEAN+1)
-#define MIXERCONTROL_CONTROLTYPE_MUTE (MIXERCONTROL_CONTROLTYPE_BOOLEAN+2)
-#define MIXERCONTROL_CONTROLTYPE_MONO (MIXERCONTROL_CONTROLTYPE_BOOLEAN+3)
-#define MIXERCONTROL_CONTROLTYPE_LOUDNESS (MIXERCONTROL_CONTROLTYPE_BOOLEAN+4)
-#define MIXERCONTROL_CONTROLTYPE_STEREOENH (MIXERCONTROL_CONTROLTYPE_BOOLEAN+5)
-#define MIXERCONTROL_CONTROLTYPE_BUTTON (MIXERCONTROL_CT_CLASS_SWITCH|MIXERCONTROL_CT_SC_SWITCH_BUTTON|MIXERCONTROL_CT_UNITS_BOOLEAN)
-#define MIXERCONTROL_CONTROLTYPE_DECIBELS (MIXERCONTROL_CT_CLASS_NUMBER|MIXERCONTROL_CT_UNITS_DECIBELS)
-#define MIXERCONTROL_CONTROLTYPE_SIGNED (MIXERCONTROL_CT_CLASS_NUMBER|MIXERCONTROL_CT_UNITS_SIGNED)
-#define MIXERCONTROL_CONTROLTYPE_UNSIGNED (MIXERCONTROL_CT_CLASS_NUMBER|MIXERCONTROL_CT_UNITS_UNSIGNED)
-#define MIXERCONTROL_CONTROLTYPE_PERCENT (MIXERCONTROL_CT_CLASS_NUMBER|MIXERCONTROL_CT_UNITS_PERCENT)
-#define MIXERCONTROL_CONTROLTYPE_SLIDER (MIXERCONTROL_CT_CLASS_SLIDER|MIXERCONTROL_CT_UNITS_SIGNED)
-#define MIXERCONTROL_CONTROLTYPE_PAN (MIXERCONTROL_CONTROLTYPE_SLIDER+1)
-#define MIXERCONTROL_CONTROLTYPE_QSOUNDPAN (MIXERCONTROL_CONTROLTYPE_SLIDER+2)
-#define MIXERCONTROL_CONTROLTYPE_FADER (MIXERCONTROL_CT_CLASS_FADER|MIXERCONTROL_CT_UNITS_UNSIGNED)
-#define MIXERCONTROL_CONTROLTYPE_VOLUME (MIXERCONTROL_CONTROLTYPE_FADER+1)
-#define MIXERCONTROL_CONTROLTYPE_BASS (MIXERCONTROL_CONTROLTYPE_FADER+2)
-#define MIXERCONTROL_CONTROLTYPE_TREBLE (MIXERCONTROL_CONTROLTYPE_FADER+3)
-#define MIXERCONTROL_CONTROLTYPE_EQUALIZER (MIXERCONTROL_CONTROLTYPE_FADER+4)
-#define MIXERCONTROL_CONTROLTYPE_SINGLESELECT (MIXERCONTROL_CT_CLASS_LIST|MIXERCONTROL_CT_SC_LIST_SINGLE|MIXERCONTROL_CT_UNITS_BOOLEAN)
-#define MIXERCONTROL_CONTROLTYPE_MUX (MIXERCONTROL_CONTROLTYPE_SINGLESELECT+1)
-#define MIXERCONTROL_CONTROLTYPE_MULTIPLESELECT (MIXERCONTROL_CT_CLASS_LIST|MIXERCONTROL_CT_SC_LIST_MULTIPLE|MIXERCONTROL_CT_UNITS_BOOLEAN)
-#define MIXERCONTROL_CONTROLTYPE_MIXER (MIXERCONTROL_CONTROLTYPE_MULTIPLESELECT+1)
-#define MIXERCONTROL_CONTROLTYPE_MICROTIME (MIXERCONTROL_CT_CLASS_TIME|MIXERCONTROL_CT_SC_TIME_MICROSECS|MIXERCONTROL_CT_UNITS_UNSIGNED)
-#define MIXERCONTROL_CONTROLTYPE_MILLITIME (MIXERCONTROL_CT_CLASS_TIME|MIXERCONTROL_CT_SC_TIME_MILLISECS|MIXERCONTROL_CT_UNITS_UNSIGNED)
-#define MIXER_GETLINECONTROLSF_ALL 0
-#define MIXER_GETLINECONTROLSF_ONEBYID 1
-#define MIXER_GETLINECONTROLSF_ONEBYTYPE 2
-#define MIXER_GETLINECONTROLSF_QUERYMASK 15
-#define MIXER_GETCONTROLDETAILSF_VALUE 0
-#define MIXER_GETCONTROLDETAILSF_LISTTEXT 1
-#define MIXER_GETCONTROLDETAILSF_QUERYMASK 15
-#define MIXER_SETCONTROLDETAILSF_VALUE 0
-#define MIXER_SETCONTROLDETAILSF_CUSTOM 1
-#define MIXER_SETCONTROLDETAILSF_QUERYMASK 15
-#define TIMERR_NOERROR 0
-#define TIMERR_NOCANDO (TIMERR_BASE+1)
-#define TIMERR_STRUCT (TIMERR_BASE+33)
-#define TIME_ONESHOT 0
-#define TIME_PERIODIC 1
-#define TIME_CALLBACK_FUNCTION 0
-#define TIME_CALLBACK_EVENT_SET 16
-#define TIME_CALLBACK_EVENT_PULSE 32
-#if (WINVER >= 0x0501)
-#define TIME_KILL_SYNCHRONOUS 0x0100
-#endif
-#define JOYERR_NOERROR (0)
-#define JOYERR_PARMS (JOYERR_BASE+5)
-#define JOYERR_NOCANDO (JOYERR_BASE+6)
-#define JOYERR_UNPLUGGED (JOYERR_BASE+7)
-#define JOY_BUTTON1 1
-#define JOY_BUTTON2 2
-#define JOY_BUTTON3 4
-#define JOY_BUTTON4 8
-#define JOY_BUTTON1CHG 256
-#define JOY_BUTTON2CHG 512
-#define JOY_BUTTON3CHG 1024
-#define JOY_BUTTON4CHG 2048
-#define JOY_BUTTON5 257
-#define JOY_BUTTON6 513
-#define JOY_BUTTON7 1025
-#define JOY_BUTTON8 2049
-#define JOY_BUTTON9 256
-#define JOY_BUTTON10 512
-#define JOY_BUTTON11 1024
-#define JOY_BUTTON12 2048
-#define JOY_BUTTON13 4096
-#define JOY_BUTTON14 8192
-#define JOY_BUTTON15 16384
-#define JOY_BUTTON16 32768
-#define JOY_BUTTON17 65536
-#define JOY_BUTTON18 0x20000
-#define JOY_BUTTON19 0x40000
-#define JOY_BUTTON20 0x80000
-#define JOY_BUTTON21 0x100000
-#define JOY_BUTTON22 0x200000
-#define JOY_BUTTON23 0x400000
-#define JOY_BUTTON24 0x800000
-#define JOY_BUTTON25 0x1000000
-#define JOY_BUTTON26 0x2000000
-#define JOY_BUTTON27 0x4000000
-#define JOY_BUTTON28 0x8000000
-#define JOY_BUTTON29 0x10000000
-#define JOY_BUTTON30 0x20000000
-#define JOY_BUTTON31 0x40000000
-#define JOY_BUTTON32 0x80000000
-#define JOY_POVCENTERED ((WORD)-1)
-#define JOY_POVFORWARD 0
-#define JOY_POVRIGHT 9000
-#define JOY_POVBACKWARD 18000
-#define JOY_POVLEFT 27000
-#define JOY_RETURNX 1
-#define JOY_RETURNY 2
-#define JOY_RETURNZ 4l
-#define JOY_RETURNR 8
-#define JOY_RETURNU 16
-#define JOY_RETURNV 32
-#define JOY_RETURNPOV 64
-#define JOY_RETURNBUTTONS 128
-#define JOY_RETURNRAWDATA 256
-#define JOY_RETURNPOVCTS 512
-#define JOY_RETURNCENTERED 1024
-#define JOY_USEDEADZONE 2048
-#define JOY_RETURNALL (JOY_RETURNX|JOY_RETURNY|JOY_RETURNZ|JOY_RETURNR|JOY_RETURNU|JOY_RETURNV|JOY_RETURNPOV|JOY_RETURNBUTTONS)
-#define JOY_CAL_READALWAYS 0x10000
-#define JOY_CAL_READXYONLY 0x20000
-#define JOY_CAL_READ3 0x40000
-#define JOY_CAL_READ4 0x80000
-#define JOY_CAL_READXONLY 0x100000
-#define JOY_CAL_READYONLY 0x200000
-#define JOY_CAL_READ5 0x400000
-#define JOY_CAL_READ6 0x800000
-#define JOY_CAL_READZONLY 0x1000000
-#define JOY_CAL_READRONLY 0x2000000
-#define JOY_CAL_READUONLY 0x4000000
-#define JOY_CAL_READVONLY 0x8000000
-#define JOYSTICKID1 0
-#define JOYSTICKID2 1
-#define JOYCAPS_HASZ 1
-#define JOYCAPS_HASR 2
-#define JOYCAPS_HASU 4
-#define JOYCAPS_HASV 8
-#define JOYCAPS_HASPOV 16
-#define JOYCAPS_POV4DIR 32
-#define JOYCAPS_POVCTS 64
-#define MMIOERR_BASE 256
-#define MMIOERR_FILENOTFOUND (MMIOERR_BASE+1)
-#define MMIOERR_OUTOFMEMORY (MMIOERR_BASE+2)
-#define MMIOERR_CANNOTOPEN (MMIOERR_BASE+3)
-#define MMIOERR_CANNOTCLOSE (MMIOERR_BASE+4)
-#define MMIOERR_CANNOTREAD (MMIOERR_BASE+5)
-#define MMIOERR_CANNOTWRITE (MMIOERR_BASE+6)
-#define MMIOERR_CANNOTSEEK (MMIOERR_BASE+7)
-#define MMIOERR_CANNOTEXPAND (MMIOERR_BASE+8)
-#define MMIOERR_CHUNKNOTFOUND (MMIOERR_BASE+9)
-#define MMIOERR_UNBUFFERED (MMIOERR_BASE+10)
-#define MMIOERR_PATHNOTFOUND (MMIOERR_BASE+11)
-#define MMIOERR_ACCESSDENIED (MMIOERR_BASE+12)
-#define MMIOERR_SHARINGVIOLATION (MMIOERR_BASE+13)
-#define MMIOERR_NETWORKERROR (MMIOERR_BASE+14)
-#define MMIOERR_TOOMANYOPENFILES (MMIOERR_BASE+15)
-#define MMIOERR_INVALIDFILE (MMIOERR_BASE+16)
-#define CFSEPCHAR '+'
-#define MMIO_RWMODE 3
-#define MMIO_SHAREMODE 0x70
-#define MMIO_CREATE 0x1000
-#define MMIO_PARSE 256
-#define MMIO_DELETE 512
-#define MMIO_EXIST 0x4000
-#define MMIO_ALLOCBUF 0x10000
-#define MMIO_GETTEMP 0x20000
-#define MMIO_DIRTY 0x10000000
-#define MMIO_READ 0
-#define MMIO_WRITE 1
-#define MMIO_READWRITE 2
-#define MMIO_COMPAT 0
-#define MMIO_EXCLUSIVE 16
-#define MMIO_DENYWRITE 32
-#define MMIO_DENYREAD 0x30
-#define MMIO_DENYNONE 64
-#define MMIO_FHOPEN 16
-#define MMIO_EMPTYBUF 16
-#define MMIO_TOUPPER 16
-#define MMIO_INSTALLPROC 0x10000
-#define MMIO_GLOBALPROC 0x10000000
-#define MMIO_REMOVEPROC 0x20000
-#define MMIO_UNICODEPROC 0x1000000
-#define MMIO_FINDPROC 0x40000
-#define MMIO_FINDCHUNK 16
-#define MMIO_FINDRIFF 32
-#define MMIO_FINDLIST 64
-#define MMIO_CREATERIFF 32
-#define MMIO_CREATELIST 64
-#define MMIOM_READ MMIO_READ
-#define MMIOM_WRITE MMIO_WRITE
-#define MMIOM_SEEK 2
-#define MMIOM_OPEN 3
-#define MMIOM_CLOSE 4
-#define MMIOM_WRITEFLUSH 5
-#define MMIOM_RENAME 6
-#define MMIOM_USER 0x8000
-#define FOURCC_RIFF mmioFOURCC('R', 'I', 'F', 'F')
-#define FOURCC_LIST mmioFOURCC('L', 'I', 'S', 'T')
-#define FOURCC_DOS mmioFOURCC('D', 'O', 'S', ' ')
-#define FOURCC_MEM mmioFOURCC('M', 'E', 'M', ' ')
-#define MMIO_DEFAULTBUFFER 8192
-#define MCIERR_INVALID_DEVICE_ID (MCIERR_BASE+1)
-#define MCIERR_UNRECOGNIZED_KEYWORD (MCIERR_BASE+3)
-#define MCIERR_UNRECOGNIZED_COMMAND (MCIERR_BASE+5)
-#define MCIERR_HARDWARE (MCIERR_BASE+6)
-#define MCIERR_INVALID_DEVICE_NAME (MCIERR_BASE+7)
-#define MCIERR_OUT_OF_MEMORY (MCIERR_BASE+8)
-#define MCIERR_DEVICE_OPEN (MCIERR_BASE+9)
-#define MCIERR_CANNOT_LOAD_DRIVER (MCIERR_BASE+10)
-#define MCIERR_MISSING_COMMAND_STRING (MCIERR_BASE+11)
-#define MCIERR_PARAM_OVERFLOW (MCIERR_BASE+12)
-#define MCIERR_MISSING_STRING_ARGUMENT (MCIERR_BASE+13)
-#define MCIERR_BAD_INTEGER (MCIERR_BASE+14)
-#define MCIERR_PARSER_INTERNAL (MCIERR_BASE+15)
-#define MCIERR_DRIVER_INTERNAL (MCIERR_BASE+16)
-#define MCIERR_MISSING_PARAMETER (MCIERR_BASE+17)
-#define MCIERR_UNSUPPORTED_FUNCTION (MCIERR_BASE+18)
-#define MCIERR_FILE_NOT_FOUND (MCIERR_BASE+19)
-#define MCIERR_DEVICE_NOT_READY (MCIERR_BASE+20)
-#define MCIERR_INTERNAL (MCIERR_BASE+21)
-#define MCIERR_DRIVER (MCIERR_BASE+22)
-#define MCIERR_CANNOT_USE_ALL (MCIERR_BASE+23)
-#define MCIERR_MULTIPLE (MCIERR_BASE+24)
-#define MCIERR_EXTENSION_NOT_FOUND (MCIERR_BASE+25)
-#define MCIERR_OUTOFRANGE (MCIERR_BASE+26)
-#define MCIERR_FLAGS_NOT_COMPATIBLE (MCIERR_BASE+28)
-#define MCIERR_FILE_NOT_SAVED (MCIERR_BASE+30)
-#define MCIERR_DEVICE_TYPE_REQUIRED (MCIERR_BASE+31)
-#define MCIERR_DEVICE_LOCKED (MCIERR_BASE+32)
-#define MCIERR_DUPLICATE_ALIAS (MCIERR_BASE+33)
-#define MCIERR_BAD_CONSTANT (MCIERR_BASE+34)
-#define MCIERR_MUST_USE_SHAREABLE (MCIERR_BASE+35)
-#define MCIERR_MISSING_DEVICE_NAME (MCIERR_BASE+36)
-#define MCIERR_BAD_TIME_FORMAT (MCIERR_BASE+37)
-#define MCIERR_NO_CLOSING_QUOTE (MCIERR_BASE+38)
-#define MCIERR_DUPLICATE_FLAGS (MCIERR_BASE+39)
-#define MCIERR_INVALID_FILE (MCIERR_BASE+40)
-#define MCIERR_NULL_PARAMETER_BLOCK (MCIERR_BASE+41)
-#define MCIERR_UNNAMED_RESOURCE (MCIERR_BASE+42)
-#define MCIERR_NEW_REQUIRES_ALIAS (MCIERR_BASE+43)
-#define MCIERR_NOTIFY_ON_AUTO_OPEN (MCIERR_BASE+44)
-#define MCIERR_NO_ELEMENT_ALLOWED (MCIERR_BASE+45)
-#define MCIERR_NONAPPLICABLE_FUNCTION (MCIERR_BASE+46)
-#define MCIERR_ILLEGAL_FOR_AUTO_OPEN (MCIERR_BASE+47)
-#define MCIERR_FILENAME_REQUIRED (MCIERR_BASE+48)
-#define MCIERR_EXTRA_CHARACTERS (MCIERR_BASE+49)
-#define MCIERR_DEVICE_NOT_INSTALLED (MCIERR_BASE+50)
-#define MCIERR_GET_CD (MCIERR_BASE+51)
-#define MCIERR_SET_CD (MCIERR_BASE+52)
-#define MCIERR_SET_DRIVE (MCIERR_BASE+53)
-#define MCIERR_DEVICE_LENGTH (MCIERR_BASE+54)
-#define MCIERR_DEVICE_ORD_LENGTH (MCIERR_BASE+55)
-#define MCIERR_NO_INTEGER (MCIERR_BASE+56)
-#define MCIERR_WAVE_OUTPUTSINUSE (MCIERR_BASE+64)
-#define MCIERR_WAVE_SETOUTPUTINUSE (MCIERR_BASE+65)
-#define MCIERR_WAVE_INPUTSINUSE (MCIERR_BASE+66)
-#define MCIERR_WAVE_SETINPUTINUSE (MCIERR_BASE+67)
-#define MCIERR_WAVE_OUTPUTUNSPECIFIED (MCIERR_BASE+68)
-#define MCIERR_WAVE_INPUTUNSPECIFIED (MCIERR_BASE+69)
-#define MCIERR_WAVE_OUTPUTSUNSUITABLE (MCIERR_BASE+70)
-#define MCIERR_WAVE_SETOUTPUTUNSUITABLE (MCIERR_BASE+71)
-#define MCIERR_WAVE_INPUTSUNSUITABLE (MCIERR_BASE+72)
-#define MCIERR_WAVE_SETINPUTUNSUITABLE (MCIERR_BASE+73)
-#define MCIERR_SEQ_DIV_INCOMPATIBLE (MCIERR_BASE+80)
-#define MCIERR_SEQ_PORT_INUSE (MCIERR_BASE+81)
-#define MCIERR_SEQ_PORT_NONEXISTENT (MCIERR_BASE+82)
-#define MCIERR_SEQ_PORT_MAPNODEVICE (MCIERR_BASE+83)
-#define MCIERR_SEQ_PORT_MISCERROR (MCIERR_BASE+84)
-#define MCIERR_SEQ_TIMER (MCIERR_BASE+85)
-#define MCIERR_SEQ_PORTUNSPECIFIED (MCIERR_BASE+86)
-#define MCIERR_SEQ_NOMIDIPRESENT (MCIERR_BASE+87)
-#define MCIERR_NO_WINDOW (MCIERR_BASE+90)
-#define MCIERR_CREATEWINDOW (MCIERR_BASE+91)
-#define MCIERR_FILE_READ (MCIERR_BASE+92)
-#define MCIERR_FILE_WRITE (MCIERR_BASE+93)
-#define MCIERR_NO_IDENTITY (MCIERR_BASE+94)
-#define MCIERR_CUSTOM_DRIVER_BASE (MCIERR_BASE+256)
-#define MCI_FIRST DRV_MCI_FIRST
-#define MCI_OPEN 0x803
-#define MCI_CLOSE 0x804
-#define MCI_ESCAPE 0x805
-#define MCI_PLAY 0x806
-#define MCI_SEEK 0x807
-#define MCI_STOP 0x808
-#define MCI_PAUSE 0x809
-#define MCI_INFO 0x80A
-#define MCI_GETDEVCAPS 0x80B
-#define MCI_SPIN 0x80C
-#define MCI_SET 0x80D
-#define MCI_STEP 0x80E
-#define MCI_RECORD 0x80F
-#define MCI_SYSINFO 0x810
-#define MCI_BREAK 0x811
-#define MCI_SAVE 0x813
-#define MCI_STATUS 0x814
-#define MCI_CUE 0x830
-#define MCI_REALIZE 0x840
-#define MCI_WINDOW 0x841
-#define MCI_PUT 0x842
-#define MCI_WHERE 0x843
-#define MCI_FREEZE 0x844
-#define MCI_UNFREEZE 0x845
-#define MCI_LOAD 0x850
-#define MCI_CUT 0x851
-#define MCI_COPY 0x852
-#define MCI_PASTE 0x853
-#define MCI_UPDATE 0x854
-#define MCI_RESUME 0x855
-#define MCI_DELETE 0x856
-#define MCI_USER_MESSAGES (DRV_MCI_FIRST+0x400)
-#define MCI_LAST 0xFFF
-#define MCI_ALL_DEVICE_ID ((MCIDEVICEID)-1)
-#define MCI_DEVTYPE_VCR 513
-#define MCI_DEVTYPE_VIDEODISC 514
-#define MCI_DEVTYPE_OVERLAY 515
-#define MCI_DEVTYPE_CD_AUDIO 516
-#define MCI_DEVTYPE_DAT 517
-#define MCI_DEVTYPE_SCANNER 518
-#define MCI_DEVTYPE_ANIMATION 519
-#define MCI_DEVTYPE_DIGITAL_VIDEO 520
-#define MCI_DEVTYPE_OTHER 521
-#define MCI_DEVTYPE_WAVEFORM_AUDIO 522
-#define MCI_DEVTYPE_SEQUENCER 523
-#define MCI_DEVTYPE_FIRST MCI_DEVTYPE_VCR
-#define MCI_DEVTYPE_LAST MCI_DEVTYPE_SEQUENCER
-#define MCI_DEVTYPE_FIRST_USER 0x1000
-#define MCI_MODE_NOT_READY (MCI_STRING_OFFSET+12)
-#define MCI_MODE_STOP (MCI_STRING_OFFSET+13)
-#define MCI_MODE_PLAY (MCI_STRING_OFFSET+14)
-#define MCI_MODE_RECORD (MCI_STRING_OFFSET+15)
-#define MCI_MODE_SEEK (MCI_STRING_OFFSET+16)
-#define MCI_MODE_PAUSE (MCI_STRING_OFFSET+17)
-#define MCI_MODE_OPEN (MCI_STRING_OFFSET+18)
-#define MCI_FORMAT_MILLISECONDS 0
-#define MCI_FORMAT_HMS 1
-#define MCI_FORMAT_MSF 2
-#define MCI_FORMAT_FRAMES 3
-#define MCI_FORMAT_SMPTE_24 4
-#define MCI_FORMAT_SMPTE_25 5
-#define MCI_FORMAT_SMPTE_30 6
-#define MCI_FORMAT_SMPTE_30DROP 7
-#define MCI_FORMAT_BYTES 8
-#define MCI_FORMAT_SAMPLES 9
-#define MCI_FORMAT_TMSF 10
-#define MCI_MSF_MINUTE(t) ((BYTE)(t))
-#define MCI_MSF_SECOND(t) ((BYTE)(((WORD)(t))>>8))
-#define MCI_MSF_FRAME(t) ((BYTE)((t)>>16))
-#define MCI_MAKE_MSF(m,s,f) ((DWORD)(((BYTE)(m)|((WORD)(s)<<8))|(((DWORD)(BYTE)(f))<<16)))
-#define MCI_TMSF_TRACK(t) ((BYTE)(t))
-#define MCI_TMSF_MINUTE(t) ((BYTE)(((WORD)(t))>>8))
-#define MCI_TMSF_SECOND(t) ((BYTE)((t)>>16))
-#define MCI_TMSF_FRAME(t) ((BYTE)((t)>>24))
-#define MCI_MAKE_TMSF(t,m,s,f) ((DWORD)(((BYTE)(t)|((WORD)(m)<<8))|(((DWORD)(BYTE)(s)|((WORD)(f)<<8))<<16)))
-#define MCI_HMS_HOUR(t) ((BYTE)(t))
-#define MCI_HMS_MINUTE(t) ((BYTE)(((WORD)(t))>>8))
-#define MCI_HMS_SECOND(t) ((BYTE)((t)>>16))
-#define MCI_MAKE_HMS(h,m,s) ((DWORD)(((BYTE)(h)|((WORD)(m)<<8))|(((DWORD)(BYTE)(s))<<16)))
-#define MCI_NOTIFY_SUCCESSFUL 1
-#define MCI_NOTIFY_SUPERSEDED 2
-#define MCI_NOTIFY_ABORTED 4
-#define MCI_NOTIFY_FAILURE 8
-#define MCI_NOTIFY 1
-#define MCI_WAIT 2
-#define MCI_FROM 4
-#define MCI_TO 8
-#define MCI_TRACK 16
-#define MCI_OPEN_SHAREABLE 256
-#define MCI_OPEN_ELEMENT 512
-#define MCI_OPEN_ALIAS 1024
-#define MCI_OPEN_ELEMENT_ID 2048
-#define MCI_OPEN_TYPE_ID 0x1000
-#define MCI_OPEN_TYPE 0x2000
-#define MCI_SEEK_TO_START 256
-#define MCI_SEEK_TO_END 512
-#define MCI_STATUS_ITEM 256
-#define MCI_STATUS_START 512
-#define MCI_STATUS_LENGTH 1
-#define MCI_STATUS_POSITION 2
-#define MCI_STATUS_NUMBER_OF_TRACKS 3
-#define MCI_STATUS_MODE 4
-#define MCI_STATUS_MEDIA_PRESENT 5
-#define MCI_STATUS_TIME_FORMAT 6
-#define MCI_STATUS_READY 7
-#define MCI_STATUS_CURRENT_TRACK 8
-#define MCI_INFO_PRODUCT 256
-#define MCI_INFO_FILE 512
-#define MCI_INFO_MEDIA_UPC 1024
-#define MCI_INFO_MEDIA_IDENTITY 2048
-#define MCI_INFO_NAME 0x1000
-#define MCI_INFO_COPYRIGHT 0x2000
-#define MCI_GETDEVCAPS_ITEM 256
-#define MCI_GETDEVCAPS_CAN_RECORD 1
-#define MCI_GETDEVCAPS_HAS_AUDIO 2
-#define MCI_GETDEVCAPS_HAS_VIDEO 3
-#define MCI_GETDEVCAPS_DEVICE_TYPE 4
-#define MCI_GETDEVCAPS_USES_FILES 5
-#define MCI_GETDEVCAPS_COMPOUND_DEVICE 6
-#define MCI_GETDEVCAPS_CAN_EJECT 7
-#define MCI_GETDEVCAPS_CAN_PLAY 8
-#define MCI_GETDEVCAPS_CAN_SAVE 9
-#define MCI_SYSINFO_QUANTITY 256
-#define MCI_SYSINFO_OPEN 512
-#define MCI_SYSINFO_NAME 1024
-#define MCI_SYSINFO_INSTALLNAME 2048
-#define MCI_SET_DOOR_OPEN 256
-#define MCI_SET_DOOR_CLOSED 512
-#define MCI_SET_TIME_FORMAT 1024
-#define MCI_SET_AUDIO 2048
-#define MCI_SET_VIDEO 0x1000
-#define MCI_SET_ON 0x2000
-#define MCI_SET_OFF 0x4000
-#define MCI_SET_AUDIO_ALL 0
-#define MCI_SET_AUDIO_LEFT 1
-#define MCI_SET_AUDIO_RIGHT 2
-#define MCI_BREAK_KEY 256
-#define MCI_BREAK_HWND 512
-#define MCI_BREAK_OFF 1024
-#define MCI_RECORD_INSERT 256
-#define MCI_RECORD_OVERWRITE 512
-#define MCI_SAVE_FILE 256
-#define MCI_LOAD_FILE 256
-#define MCI_VD_MODE_PARK (MCI_VD_OFFSET+1)
-#define MCI_VD_MEDIA_CLV (MCI_VD_OFFSET+2)
-#define MCI_VD_MEDIA_CAV (MCI_VD_OFFSET+3)
-#define MCI_VD_MEDIA_OTHER (MCI_VD_OFFSET+4)
-#define MCI_VD_FORMAT_TRACK 0x4001
-#define MCI_VD_PLAY_REVERSE 0x10000
-#define MCI_VD_PLAY_FAST 0x20000
-#define MCI_VD_PLAY_SPEED 0x40000
-#define MCI_VD_PLAY_SCAN 0x80000
-#define MCI_VD_PLAY_SLOW 0x100000
-#define MCI_VD_SEEK_REVERSE 0x10000
-#define MCI_VD_STATUS_SPEED 0x4002
-#define MCI_VD_STATUS_FORWARD 0x4003
-#define MCI_VD_STATUS_MEDIA_TYPE 0x4004
-#define MCI_VD_STATUS_SIDE 0x4005
-#define MCI_VD_STATUS_DISC_SIZE 0x4006
-#define MCI_VD_GETDEVCAPS_CLV 0x10000
-#define MCI_VD_GETDEVCAPS_CAV 0x20000
-#define MCI_VD_SPIN_UP 0x10000
-#define MCI_VD_SPIN_DOWN 0x20000
-#define MCI_VD_GETDEVCAPS_CAN_REVERSE 0x4002
-#define MCI_VD_GETDEVCAPS_FAST_RATE 0x4003
-#define MCI_VD_GETDEVCAPS_SLOW_RATE 0x4004
-#define MCI_VD_GETDEVCAPS_NORMAL_RATE 0x4005
-#define MCI_VD_STEP_FRAMES 0x10000
-#define MCI_VD_STEP_REVERSE 0x20000
-#define MCI_VD_ESCAPE_STRING 256
-#define MCI_CDA_STATUS_TYPE_TRACK 0x4001
-#define MCI_CDA_TRACK_AUDIO MCI_CD_OFFSET
-#define MCI_CDA_TRACK_OTHER (MCI_CD_OFFSET+1)
-#define MCI_WAVE_PCM MCI_WAVE_OFFSET
-#define MCI_WAVE_MAPPER (MCI_WAVE_OFFSET+1)
-#define MCI_WAVE_OPEN_BUFFER 0x10000
-#define MCI_WAVE_SET_FORMATTAG 0x10000
-#define MCI_WAVE_SET_CHANNELS 0x20000
-#define MCI_WAVE_SET_SAMPLESPERSEC 0x40000
-#define MCI_WAVE_SET_AVGBYTESPERSEC 0x80000
-#define MCI_WAVE_SET_BLOCKALIGN 0x100000
-#define MCI_WAVE_SET_BITSPERSAMPLE 0x200000
-#define MCI_WAVE_INPUT 0x400000
-#define MCI_WAVE_OUTPUT 0x800000
-#define MCI_WAVE_STATUS_FORMATTAG 0x4001
-#define MCI_WAVE_STATUS_CHANNELS 0x4002
-#define MCI_WAVE_STATUS_SAMPLESPERSEC 0x4003
-#define MCI_WAVE_STATUS_AVGBYTESPERSEC 0x4004
-#define MCI_WAVE_STATUS_BLOCKALIGN 0x4005
-#define MCI_WAVE_STATUS_BITSPERSAMPLE 0x4006
-#define MCI_WAVE_STATUS_LEVEL 0x4007
-#define MCI_WAVE_SET_ANYINPUT 0x4000000
-#define MCI_WAVE_SET_ANYOUTPUT 0x8000000
-#define MCI_WAVE_GETDEVCAPS_INPUTS 0x4001
-#define MCI_WAVE_GETDEVCAPS_OUTPUTS 0x4002
-#define MCI_SEQ_DIV_PPQN MCI_SEQ_OFFSET
-#define MCI_SEQ_DIV_SMPTE_24 (MCI_SEQ_OFFSET+1)
-#define MCI_SEQ_DIV_SMPTE_25 (MCI_SEQ_OFFSET+2)
-#define MCI_SEQ_DIV_SMPTE_30DROP (MCI_SEQ_OFFSET+3)
-#define MCI_SEQ_DIV_SMPTE_30 (MCI_SEQ_OFFSET+4)
-#define MCI_SEQ_FORMAT_SONGPTR 0x4001
-#define MCI_SEQ_FILE 0x4002
-#define MCI_SEQ_MIDI 0x4003
-#define MCI_SEQ_SMPTE 0x4004
-#define MCI_SEQ_NONE 65533
-#define MCI_SEQ_MAPPER 65535
-#define MCI_SEQ_STATUS_TEMPO 0x4002
-#define MCI_SEQ_STATUS_PORT 0x4003
-#define MCI_SEQ_STATUS_SLAVE 0x4007
-#define MCI_SEQ_STATUS_MASTER 0x4008
-#define MCI_SEQ_STATUS_OFFSET 0x4009
-#define MCI_SEQ_STATUS_DIVTYPE 0x400A
-#define MCI_SEQ_STATUS_NAME 0x400B
-#define MCI_SEQ_STATUS_COPYRIGHT 0x400C
-#define MCI_SEQ_SET_TEMPO 0x10000
-#define MCI_SEQ_SET_PORT 0x20000
-#define MCI_SEQ_SET_SLAVE 0x40000
-#define MCI_SEQ_SET_MASTER 0x80000
-#define MCI_SEQ_SET_OFFSET 0x1000000
-#define MCI_ANIM_OPEN_WS 0x10000
-#define MCI_ANIM_OPEN_PARENT 0x20000
-#define MCI_ANIM_OPEN_NOSTATIC 0x40000
-#define MCI_ANIM_PLAY_SPEED 0x10000
-#define MCI_ANIM_PLAY_REVERSE 0x20000
-#define MCI_ANIM_PLAY_FAST 0x40000
-#define MCI_ANIM_PLAY_SLOW 0x80000
-#define MCI_ANIM_PLAY_SCAN 0x100000
-#define MCI_ANIM_STEP_REVERSE 0x10000
-#define MCI_ANIM_STEP_FRAMES 0x20000
-#define MCI_ANIM_STATUS_SPEED 0x4001
-#define MCI_ANIM_STATUS_FORWARD 0x4002
-#define MCI_ANIM_STATUS_HWND 0x4003
-#define MCI_ANIM_STATUS_HPAL 0x4004
-#define MCI_ANIM_STATUS_STRETCH 0x4005
-#define MCI_ANIM_INFO_TEXT 0x10000
-#define MCI_ANIM_GETDEVCAPS_CAN_REVERSE 0x4001
-#define MCI_ANIM_GETDEVCAPS_FAST_RATE 0x4002
-#define MCI_ANIM_GETDEVCAPS_SLOW_RATE 0x4003
-#define MCI_ANIM_GETDEVCAPS_NORMAL_RATE 0x4004
-#define MCI_ANIM_GETDEVCAPS_PALETTES 0x4006
-#define MCI_ANIM_GETDEVCAPS_CAN_STRETCH 0x4007
-#define MCI_ANIM_GETDEVCAPS_MAX_WINDOWS 0x4008
-#define MCI_ANIM_REALIZE_NORM 0x10000
-#define MCI_ANIM_REALIZE_BKGD 0x20000
-#define MCI_ANIM_WINDOW_HWND 0x10000
-#define MCI_ANIM_WINDOW_STATE 0x40000
-#define MCI_ANIM_WINDOW_TEXT 0x80000
-#define MCI_ANIM_WINDOW_ENABLE_STRETCH 0x100000
-#define MCI_ANIM_WINDOW_DISABLE_STRETCH 0x200000
-#define MCI_ANIM_WINDOW_DEFAULT 0xL
-#define MCI_ANIM_RECT 0x10000
-#define MCI_ANIM_PUT_SOURCE 0x20000
-#define MCI_ANIM_PUT_DESTINATION 0x40000
-#define MCI_ANIM_WHERE_SOURCE 0x20000
-#define MCI_ANIM_WHERE_DESTINATION 0x40000
-#define MCI_ANIM_UPDATE_HDC 0x20000
-#define MCI_OVLY_OPEN_WS 0x10000
-#define MCI_OVLY_OPEN_PARENT 0x20000
-#define MCI_OVLY_STATUS_HWND 0x4001
-#define MCI_OVLY_STATUS_STRETCH 0x4002
-#define MCI_OVLY_INFO_TEXT 0x10000
-#define MCI_OVLY_GETDEVCAPS_CAN_STRETCH 0x4001
-#define MCI_OVLY_GETDEVCAPS_CAN_FREEZE 0x4002
-#define MCI_OVLY_GETDEVCAPS_MAX_WINDOWS 0x4003
-#define MCI_OVLY_WINDOW_HWND 0x10000
-#define MCI_OVLY_WINDOW_STATE 0x40000
-#define MCI_OVLY_WINDOW_TEXT 0x80000
-#define MCI_OVLY_WINDOW_ENABLE_STRETCH 0x100000
-#define MCI_OVLY_WINDOW_DISABLE_STRETCH 0x200000
-#define MCI_OVLY_WINDOW_DEFAULT 0xL
-#define MCI_OVLY_RECT 0x10000
-#define MCI_OVLY_PUT_SOURCE 0x20000
-#define MCI_OVLY_PUT_DESTINATION 0x40000
-#define MCI_OVLY_PUT_FRAME 0x80000
-#define MCI_OVLY_PUT_VIDEO 0x100000
-#define MCI_OVLY_WHERE_SOURCE 0x20000
-#define MCI_OVLY_WHERE_DESTINATION 0x40000
-#define MCI_OVLY_WHERE_FRAME 0x80000
-#define MCI_OVLY_WHERE_VIDEO 0x100000
-#define NEWTRANSPARENT 3
-#define QUERYROPSUPPORT 40
-#define SELECTDIB 41
-#define DIBINDEX(n) MAKELONG((n),0x10FF)
-#define SC_SCREENSAVE 0xF140
-#define CAPS1 94
-#define C1_TRANSPARENT 1
-#ifndef SEEK_SET
-#define SEEK_SET 0
-#endif
-#ifndef SEEK_CUR
-#define SEEK_CUR 1
-#endif
-#ifndef SEEK_END
-#define SEEK_END 2
-#endif
-
-typedef DWORD MCIERROR;
-typedef UINT MCIDEVICEID;
-typedef UINT(CALLBACK *YIELDPROC)(MCIDEVICEID,DWORD);
-typedef UINT MMVERSION;
-typedef UINT MMRESULT;
-typedef struct mmtime_tag {
- UINT wType;
- union {
- DWORD ms;
- DWORD sample;
- DWORD cb;
- DWORD ticks;
- struct {
- BYTE hour;
- BYTE min;
- BYTE sec;
- BYTE frame;
- BYTE fps;
- BYTE dummy;
- BYTE pad[2];
- } smpte;
- struct {
- DWORD songptrpos;
- } midi;
- } u;
-} MMTIME,*PMMTIME,*LPMMTIME;
-DECLARE_HANDLE(HDRVR);
-typedef struct tagDRVCONFIGINFO {
- DWORD dwDCISize;
- LPCWSTR lpszDCISectionName;
- LPCWSTR lpszDCIAliasName;
-} DRVCONFIGINFO,*PDRVCONFIGINFO,*LPDRVCONFIGINFO;
-typedef struct DRVCONFIGINFOEX {
- DWORD dwDCISize;
- LPCWSTR lpszDCISectionName;
- LPCWSTR lpszDCIAliasName;
- DWORD dnDevNode;
-} DRVCONFIGINFOEX,*PDRVCONFIGINFOEX,*LPDRVCONFIGINFOEX;
-typedef LRESULT(CALLBACK* DRIVERPROC)(DWORD,HDRVR,UINT,LPARAM,LPARAM);
-typedef void (CALLBACK DRVCALLBACK)(HDRVR,UINT,DWORD,DWORD,DWORD);
-typedef DRVCALLBACK *LPDRVCALLBACK;
-typedef DRVCALLBACK *PDRVCALLBACK;
-DECLARE_HANDLE(HWAVE);
-DECLARE_HANDLE(HWAVEIN);
-DECLARE_HANDLE(HWAVEOUT);
-typedef HWAVEIN *LPHWAVEIN;
-typedef HWAVEOUT *LPHWAVEOUT;
-typedef DRVCALLBACK WAVECALLBACK;
-typedef WAVECALLBACK *LPWAVECALLBACK;
-typedef struct wavehdr_tag {
- LPSTR lpData;
- DWORD dwBufferLength;
- DWORD dwBytesRecorded;
- DWORD dwUser;
- DWORD dwFlags;
- DWORD dwLoops;
- struct wavehdr_tag *lpNext;
- DWORD reserved;
-} WAVEHDR,*PWAVEHDR,*LPWAVEHDR;
-typedef struct tagWAVEOUTCAPSA {
- WORD wMid;
- WORD wPid;
- MMVERSION vDriverVersion;
- CHAR szPname[MAXPNAMELEN];
- DWORD dwFormats;
- WORD wChannels;
- WORD wReserved1;
- DWORD dwSupport;
-} WAVEOUTCAPSA,*PWAVEOUTCAPSA,*LPWAVEOUTCAPSA;
-typedef struct tagWAVEOUTCAPSW {
- WORD wMid;
- WORD wPid;
- MMVERSION vDriverVersion;
- WCHAR szPname[MAXPNAMELEN];
- DWORD dwFormats;
- WORD wChannels;
- WORD wReserved1;
- DWORD dwSupport;
-} WAVEOUTCAPSW,*PWAVEOUTCAPSW,*LPWAVEOUTCAPSW;
-typedef struct tagWAVEINCAPSA {
- WORD wMid;
- WORD wPid;
- MMVERSION vDriverVersion;
- CHAR szPname[MAXPNAMELEN];
- DWORD dwFormats;
- WORD wChannels;
- WORD wReserved1;
-} WAVEINCAPSA,*PWAVEINCAPSA,*LPWAVEINCAPSA;
-typedef struct tagWAVEINCAPSW {
- WORD wMid;
- WORD wPid;
- MMVERSION vDriverVersion;
- WCHAR szPname[MAXPNAMELEN];
- DWORD dwFormats;
- WORD wChannels;
- WORD wReserved1;
-} WAVEINCAPSW,*PWAVEINCAPSW,*LPWAVEINCAPSW;
-typedef struct waveformat_tag {
- WORD wFormatTag;
- WORD nChannels;
- DWORD nSamplesPerSec;
- DWORD nAvgBytesPerSec;
- WORD nBlockAlign;
-} WAVEFORMAT,*PWAVEFORMAT,*LPWAVEFORMAT;
-typedef struct pcmwaveformat_tag {
- WAVEFORMAT wf;
- WORD wBitsPerSample;
-} PCMWAVEFORMAT, *PPCMWAVEFORMAT,*LPPCMWAVEFORMAT;
-#ifndef _WAVEFORMATEX_
-#define _WAVEFORMATEX_
-typedef struct tWAVEFORMATEX {
- WORD wFormatTag;
- WORD nChannels;
- DWORD nSamplesPerSec;
- DWORD nAvgBytesPerSec;
- WORD nBlockAlign;
- WORD wBitsPerSample;
- WORD cbSize;
-} WAVEFORMATEX,*PWAVEFORMATEX,*LPWAVEFORMATEX;
-typedef const WAVEFORMATEX *LPCWAVEFORMATEX;
-#endif
-DECLARE_HANDLE(HMIDI);
-DECLARE_HANDLE(HMIDIIN);
-DECLARE_HANDLE(HMIDIOUT);
-DECLARE_HANDLE(HMIDISTRM);
-typedef HMIDI *LPHMIDI;
-typedef HMIDIIN *LPHMIDIIN;
-typedef HMIDIOUT *LPHMIDIOUT;
-typedef HMIDISTRM *LPHMIDISTRM;
-typedef DRVCALLBACK MIDICALLBACK;
-typedef MIDICALLBACK *LPMIDICALLBACK;
-typedef WORD PATCHARRAY[MIDIPATCHSIZE];
-typedef WORD *LPPATCHARRAY;
-typedef WORD KEYARRAY[MIDIPATCHSIZE];
-typedef WORD *LPKEYARRAY;
-typedef struct tagMIDIOUTCAPSA {
- WORD wMid;
- WORD wPid;
- MMVERSION vDriverVersion;
- CHAR szPname[MAXPNAMELEN];
- WORD wTechnology;
- WORD wVoices;
- WORD wNotes;
- WORD wChannelMask;
- DWORD dwSupport;
-} MIDIOUTCAPSA,*PMIDIOUTCAPSA,*LPMIDIOUTCAPSA;
-typedef struct tagMIDIOUTCAPSW {
- WORD wMid;
- WORD wPid;
- MMVERSION vDriverVersion;
- WCHAR szPname[MAXPNAMELEN];
- WORD wTechnology;
- WORD wVoices;
- WORD wNotes;
- WORD wChannelMask;
- DWORD dwSupport;
-} MIDIOUTCAPSW,*PMIDIOUTCAPSW,*LPMIDIOUTCAPSW;
-typedef struct tagMIDIINCAPSA {
- WORD wMid;
- WORD wPid;
- MMVERSION vDriverVersion;
- CHAR szPname[MAXPNAMELEN];
- DWORD dwSupport;
-} MIDIINCAPSA,*PMIDIINCAPSA,*LPMIDIINCAPSA;
-typedef struct tagMIDIINCAPSW {
- WORD wMid;
- WORD wPid;
- MMVERSION vDriverVersion;
- WCHAR szPname[MAXPNAMELEN];
- DWORD dwSupport;
-} MIDIINCAPSW,*PMIDIINCAPSW,*NPMIDIINCAPSW,*LPMIDIINCAPSW;
-typedef struct midihdr_tag {
- LPSTR lpData;
- DWORD dwBufferLength;
- DWORD dwBytesRecorded;
- DWORD dwUser;
- DWORD dwFlags;
- struct midihdr_tag *lpNext;
- DWORD reserved;
- DWORD dwOffset;
- DWORD dwReserved[8];
-} MIDIHDR,*PMIDIHDR,*LPMIDIHDR;
-typedef struct midievent_tag {
- DWORD dwDeltaTime;
- DWORD dwStreamID;
- DWORD dwEvent;
- DWORD dwParms[1];
-} MIDIEVENT;
-typedef struct midistrmbuffver_tag {
- DWORD dwVersion;
- DWORD dwMid;
- DWORD dwOEMVersion;
-} MIDISTRMBUFFVER;
-typedef struct midiproptimediv_tag {
- DWORD cbStruct;
- DWORD dwTimeDiv;
-} MIDIPROPTIMEDIV,*LPMIDIPROPTIMEDIV;
-typedef struct midiproptempo_tag {
- DWORD cbStruct;
- DWORD dwTempo;
-} MIDIPROPTEMPO,*LPMIDIPROPTEMPO;
-typedef struct tagAUXCAPSA {
- WORD wMid;
- WORD wPid;
- MMVERSION vDriverVersion;
- CHAR szPname[MAXPNAMELEN];
- WORD wTechnology;
- WORD wReserved1;
- DWORD dwSupport;
-} AUXCAPSA,*PAUXCAPSA,*LPAUXCAPSA;
-typedef struct tagAUXCAPSW {
- WORD wMid;
- WORD wPid;
- MMVERSION vDriverVersion;
- WCHAR szPname[MAXPNAMELEN];
- WORD wTechnology;
- WORD wReserved1;
- DWORD dwSupport;
-} AUXCAPSW,*PAUXCAPSW,*LPAUXCAPSW;
-DECLARE_HANDLE(HMIXEROBJ);
-typedef HMIXEROBJ *LPHMIXEROBJ;
-DECLARE_HANDLE(HMIXER);
-typedef HMIXER *LPHMIXER;
-typedef struct tagMIXERCAPSA {
- WORD wMid;
- WORD wPid;
- MMVERSION vDriverVersion;
- CHAR szPname[MAXPNAMELEN];
- DWORD fdwSupport;
- DWORD cDestinations;
-} MIXERCAPSA,*PMIXERCAPSA,*LPMIXERCAPSA;
-typedef struct tagMIXERCAPSW {
- WORD wMid;
- WORD wPid;
- MMVERSION vDriverVersion;
- WCHAR szPname[MAXPNAMELEN];
- DWORD fdwSupport;
- DWORD cDestinations;
-} MIXERCAPSW,*PMIXERCAPSW,*LPMIXERCAPSW;
-typedef struct tagMIXERLINEA {
- DWORD cbStruct;
- DWORD dwDestination;
- DWORD dwSource;
- DWORD dwLineID;
- DWORD fdwLine;
- DWORD dwUser;
- DWORD dwComponentType;
- DWORD cChannels;
- DWORD cConnections;
- DWORD cControls;
- CHAR szShortName[MIXER_SHORT_NAME_CHARS];
- CHAR szName[MIXER_LONG_NAME_CHARS];
- struct {
- DWORD dwType;
- DWORD dwDeviceID;
- WORD wMid;
- WORD wPid;
- MMVERSION vDriverVersion;
- CHAR szPname[MAXPNAMELEN];
- } Target;
-} MIXERLINEA,*PMIXERLINEA,*LPMIXERLINEA;
-typedef struct tagMIXERLINEW {
- DWORD cbStruct;
- DWORD dwDestination;
- DWORD dwSource;
- DWORD dwLineID;
- DWORD fdwLine;
- DWORD dwUser;
- DWORD dwComponentType;
- DWORD cChannels;
- DWORD cConnections;
- DWORD cControls;
- WCHAR szShortName[MIXER_SHORT_NAME_CHARS];
- WCHAR szName[MIXER_LONG_NAME_CHARS];
- struct {
- DWORD dwType;
- DWORD dwDeviceID;
- WORD wMid;
- WORD wPid;
- MMVERSION vDriverVersion;
- WCHAR szPname[MAXPNAMELEN];
- } Target;
-} MIXERLINEW,*PMIXERLINEW,*LPMIXERLINEW;
-typedef struct tagMIXERCONTROLA {
- DWORD cbStruct;
- DWORD dwControlID;
- DWORD dwControlType;
- DWORD fdwControl;
- DWORD cMultipleItems;
- CHAR szShortName[MIXER_SHORT_NAME_CHARS];
- CHAR szName[MIXER_LONG_NAME_CHARS];
- union {
- _ANONYMOUS_STRUCT struct {
- LONG lMinimum;
- LONG lMaximum;
- }_STRUCT_NAME(s);
- _ANONYMOUS_STRUCT struct {
- DWORD dwMinimum;
- DWORD dwMaximum;
- }_STRUCT_NAME(s1);
- DWORD dwReserved[6];
- } Bounds;
- union {
- DWORD cSteps;
- DWORD cbCustomData;
- DWORD dwReserved[6];
- } Metrics;
-} MIXERCONTROLA,*PMIXERCONTROLA,*LPMIXERCONTROLA;
-typedef struct tagMIXERCONTROLW {
- DWORD cbStruct;
- DWORD dwControlID;
- DWORD dwControlType;
- DWORD fdwControl;
- DWORD cMultipleItems;
- WCHAR szShortName[MIXER_SHORT_NAME_CHARS];
- WCHAR szName[MIXER_LONG_NAME_CHARS];
- union {
- _ANONYMOUS_STRUCT struct {
- LONG lMinimum;
- LONG lMaximum;
- }_STRUCT_NAME(s);
- _ANONYMOUS_STRUCT struct {
- DWORD dwMinimum;
- DWORD dwMaximum;
- }_STRUCT_NAME(s1);
- DWORD dwReserved[6];
- } Bounds;
- union {
- DWORD cSteps;
- DWORD cbCustomData;
- DWORD dwReserved[6];
- } Metrics;
-} MIXERCONTROLW,*PMIXERCONTROLW,*LPMIXERCONTROLW;
-typedef struct tagMIXERLINECONTROLSA {
- DWORD cbStruct;
- DWORD dwLineID;
- _ANONYMOUS_UNION union {
- DWORD dwControlID;
- DWORD dwControlType;
- } DUMMYUNIONNAME;
- DWORD cControls;
- DWORD cbmxctrl;
- LPMIXERCONTROLA pamxctrl;
-} MIXERLINECONTROLSA,*PMIXERLINECONTROLSA,*LPMIXERLINECONTROLSA;
-typedef struct tagMIXERLINECONTROLSW {
- DWORD cbStruct;
- DWORD dwLineID;
- _ANONYMOUS_UNION union {
- DWORD dwControlID;
- DWORD dwControlType;
- } DUMMYUNIONNAME;
- DWORD cControls;
- DWORD cbmxctrl;
- LPMIXERCONTROLW pamxctrl;
-} MIXERLINECONTROLSW,*PMIXERLINECONTROLSW,*LPMIXERLINECONTROLSW;
-typedef struct tMIXERCONTROLDETAILS {
- DWORD cbStruct;
- DWORD dwControlID;
- DWORD cChannels;
- _ANONYMOUS_UNION union {
- HWND hwndOwner;
- DWORD cMultipleItems;
- } DUMMYUNIONNAME;
- DWORD cbDetails;
- PVOID paDetails;
-} MIXERCONTROLDETAILS,*PMIXERCONTROLDETAILS,*LPMIXERCONTROLDETAILS;
-typedef struct tagMIXERCONTROLDETAILS_LISTTEXTA {
- DWORD dwParam1;
- DWORD dwParam2;
- CHAR szName[MIXER_LONG_NAME_CHARS];
-} MIXERCONTROLDETAILS_LISTTEXTA,*PMIXERCONTROLDETAILS_LISTTEXTA,*LPMIXERCONTROLDETAILS_LISTTEXTA;
-typedef struct tagMIXERCONTROLDETAILS_LISTTEXTW {
- DWORD dwParam1;
- DWORD dwParam2;
- WCHAR szName[MIXER_LONG_NAME_CHARS];
-} MIXERCONTROLDETAILS_LISTTEXTW,*PMIXERCONTROLDETAILS_LISTTEXTW,*LPMIXERCONTROLDETAILS_LISTTEXTW;
-typedef struct tMIXERCONTROLDETAILS_BOOLEAN {
- LONG fValue;
-} MIXERCONTROLDETAILS_BOOLEAN,*PMIXERCONTROLDETAILS_BOOLEAN,*LPMIXERCONTROLDETAILS_BOOLEAN;
-typedef struct tMIXERCONTROLDETAILS_SIGNED {
- LONG lValue;
-} MIXERCONTROLDETAILS_SIGNED,*PMIXERCONTROLDETAILS_SIGNED,*LPMIXERCONTROLDETAILS_SIGNED;
-typedef struct tMIXERCONTROLDETAILS_UNSIGNED {
- DWORD dwValue;
-} MIXERCONTROLDETAILS_UNSIGNED,*PMIXERCONTROLDETAILS_UNSIGNED,*LPMIXERCONTROLDETAILS_UNSIGNED;
-typedef void(CALLBACK TIMECALLBACK)(UINT,UINT,DWORD,DWORD,DWORD);
-typedef TIMECALLBACK *LPTIMECALLBACK;
-typedef struct timecaps_tag {
- UINT wPeriodMin;
- UINT wPeriodMax;
-} TIMECAPS,*PTIMECAPS,*LPTIMECAPS;
-typedef struct tagJOYCAPSA {
- WORD wMid;
- WORD wPid;
- CHAR szPname[MAXPNAMELEN];
- UINT wXmin;
- UINT wXmax;
- UINT wYmin;
- UINT wYmax;
- UINT wZmin;
- UINT wZmax;
- UINT wNumButtons;
- UINT wPeriodMin;
- UINT wPeriodMax;
- UINT wRmin;
- UINT wRmax;
- UINT wUmin;
- UINT wUmax;
- UINT wVmin;
- UINT wVmax;
- UINT wCaps;
- UINT wMaxAxes;
- UINT wNumAxes;
- UINT wMaxButtons;
- CHAR szRegKey[MAXPNAMELEN];
- CHAR szOEMVxD[MAX_JOYSTICKOEMVXDNAME];
-} JOYCAPSA,*PJOYCAPSA,*LPJOYCAPSA;
-typedef struct tagJOYCAPSW {
- WORD wMid;
- WORD wPid;
- WCHAR szPname[MAXPNAMELEN];
- UINT wXmin;
- UINT wXmax;
- UINT wYmin;
- UINT wYmax;
- UINT wZmin;
- UINT wZmax;
- UINT wNumButtons;
- UINT wPeriodMin;
- UINT wPeriodMax;
- UINT wRmin;
- UINT wRmax;
- UINT wUmin;
- UINT wUmax;
- UINT wVmin;
- UINT wVmax;
- UINT wCaps;
- UINT wMaxAxes;
- UINT wNumAxes;
- UINT wMaxButtons;
- WCHAR szRegKey[MAXPNAMELEN];
- WCHAR szOEMVxD[MAX_JOYSTICKOEMVXDNAME];
-} JOYCAPSW,*PJOYCAPSW,*LPJOYCAPSW;
-typedef struct joyinfo_tag {
- UINT wXpos;
- UINT wYpos;
- UINT wZpos;
- UINT wButtons;
-} JOYINFO,*PJOYINFO,*LPJOYINFO;
-typedef struct joyinfoex_tag {
- DWORD dwSize;
- DWORD dwFlags;
- DWORD dwXpos;
- DWORD dwYpos;
- DWORD dwZpos;
- DWORD dwRpos;
- DWORD dwUpos;
- DWORD dwVpos;
- DWORD dwButtons;
- DWORD dwButtonNumber;
- DWORD dwPOV;
- DWORD dwReserved1;
- DWORD dwReserved2;
-} JOYINFOEX,*PJOYINFOEX,*LPJOYINFOEX;
-typedef DWORD FOURCC;
-typedef char *HPSTR;
-DECLARE_HANDLE(HMMIO);
-typedef LRESULT (CALLBACK MMIOPROC)(LPSTR,UINT,LPARAM,LPARAM);
-typedef MMIOPROC *LPMMIOPROC;
-typedef struct _MMIOINFO {
- DWORD dwFlags;
- FOURCC fccIOProc;
- LPMMIOPROC pIOProc;
- UINT wErrorRet;
- HTASK htask;
- LONG cchBuffer;
- HPSTR pchBuffer;
- HPSTR pchNext;
- HPSTR pchEndRead;
- HPSTR pchEndWrite;
- LONG lBufOffset;
- LONG lDiskOffset;
- DWORD adwInfo[3];
- DWORD dwReserved1;
- DWORD dwReserved2;
- HMMIO hmmio;
-} MMIOINFO,*PMMIOINFO,*LPMMIOINFO;
-typedef const MMIOINFO *LPCMMIOINFO;
-typedef struct _MMCKINFO {
- FOURCC ckid;
- DWORD cksize;
- FOURCC fccType;
- DWORD dwDataOffset;
- DWORD dwFlags;
-} MMCKINFO,*PMMCKINFO,*LPMMCKINFO;
-typedef const MMCKINFO *LPCMMCKINFO;
-typedef struct tagMCI_GENERIC_PARMS {
- DWORD dwCallback;
-} MCI_GENERIC_PARMS,*PMCI_GENERIC_PARMS,*LPMCI_GENERIC_PARMS;
-typedef struct tagMCI_OPEN_PARMSA {
- DWORD dwCallback;
- MCIDEVICEID wDeviceID;
- LPCSTR lpstrDeviceType;
- LPCSTR lpstrElementName;
- LPCSTR lpstrAlias;
-} MCI_OPEN_PARMSA,*PMCI_OPEN_PARMSA,*LPMCI_OPEN_PARMSA;
-typedef struct tagMCI_OPEN_PARMSW {
- DWORD dwCallback;
- MCIDEVICEID wDeviceID;
- LPCWSTR lpstrDeviceType;
- LPCWSTR lpstrElementName;
- LPCWSTR lpstrAlias;
-} MCI_OPEN_PARMSW,*PMCI_OPEN_PARMSW,*LPMCI_OPEN_PARMSW;
-typedef struct tagMCI_PLAY_PARMS {
- DWORD dwCallback;
- DWORD dwFrom;
- DWORD dwTo;
-} MCI_PLAY_PARMS,*PMCI_PLAY_PARMS,*LPMCI_PLAY_PARMS;
-typedef struct tagMCI_SEEK_PARMS {
- DWORD dwCallback;
- DWORD dwTo;
-} MCI_SEEK_PARMS, *PMCI_SEEK_PARMS,*LPMCI_SEEK_PARMS;
-typedef struct tagMCI_STATUS_PARMS {
- DWORD dwCallback;
- DWORD dwReturn;
- DWORD dwItem;
- DWORD dwTrack;
-} MCI_STATUS_PARMS,*PMCI_STATUS_PARMS,*LPMCI_STATUS_PARMS;
-typedef struct tagMCI_INFO_PARMSA {
- DWORD dwCallback;
- LPSTR lpstrReturn;
- DWORD dwRetSize;
-} MCI_INFO_PARMSA,*LPMCI_INFO_PARMSA;
-typedef struct tagMCI_INFO_PARMSW {
- DWORD dwCallback;
- LPWSTR lpstrReturn;
- DWORD dwRetSize;
-} MCI_INFO_PARMSW,*LPMCI_INFO_PARMSW;
-typedef struct tagMCI_GETDEVCAPS_PARMS {
- DWORD dwCallback;
- DWORD dwReturn;
- DWORD dwItem;
-} MCI_GETDEVCAPS_PARMS,*PMCI_GETDEVCAPS_PARMS,*LPMCI_GETDEVCAPS_PARMS;
-typedef struct tagMCI_SYSINFO_PARMSA {
- DWORD dwCallback;
- LPSTR lpstrReturn;
- DWORD dwRetSize;
- DWORD dwNumber;
- UINT wDeviceType;
-} MCI_SYSINFO_PARMSA,*PMCI_SYSINFO_PARMSA,*LPMCI_SYSINFO_PARMSA;
-typedef struct tagMCI_SYSINFO_PARMSW {
- DWORD dwCallback;
- LPWSTR lpstrReturn;
- DWORD dwRetSize;
- DWORD dwNumber;
- UINT wDeviceType;
-} MCI_SYSINFO_PARMSW,*PMCI_SYSINFO_PARMSW,*LPMCI_SYSINFO_PARMSW;
-typedef struct tagMCI_SET_PARMS {
- DWORD dwCallback;
- DWORD dwTimeFormat;
- DWORD dwAudio;
-} MCI_SET_PARMS,*PMCI_SET_PARMS,*LPMCI_SET_PARMS;
-typedef struct tagMCI_BREAK_PARMS {
- DWORD dwCallback;
- int nVirtKey;
- HWND hwndBreak;
-} MCI_BREAK_PARMS,*PMCI_BREAK_PARMS,*LPMCI_BREAK_PARMS;
-typedef struct tagMCI_SAVE_PARMSA {
- DWORD dwCallback;
- LPCSTR lpfilename;
-} MCI_SAVE_PARMSA,*PMCI_SAVE_PARMSA,*LPMCI_SAVE_PARMSA;
-typedef struct tagMCI_SAVE_PARMSW {
- DWORD dwCallback;
- LPCWSTR lpfilename;
-} MCI_SAVE_PARMSW,*PMCI_SAVE_PARMSW,*LPMCI_SAVE_PARMSW;
-typedef struct tagMCI_LOAD_PARMSA {
- DWORD dwCallback;
- LPCSTR lpfilename;
-} MCI_LOAD_PARMSA,*PMCI_LOAD_PARMSA,*LPMCI_LOAD_PARMSA;
-typedef struct tagMCI_LOAD_PARMSW {
- DWORD dwCallback;
- LPCWSTR lpfilename;
-} MCI_LOAD_PARMSW,*PMCI_LOAD_PARMSW,*LPMCI_LOAD_PARMSW;
-typedef struct tagMCI_RECORD_PARMS {
- DWORD dwCallback;
- DWORD dwFrom;
- DWORD dwTo;
-} MCI_RECORD_PARMS,*LPMCI_RECORD_PARMS;
-typedef struct tagMCI_VD_PLAY_PARMS {
- DWORD dwCallback;
- DWORD dwFrom;
- DWORD dwTo;
- DWORD dwSpeed;
-} MCI_VD_PLAY_PARMS,*PMCI_VD_PLAY_PARMS,*LPMCI_VD_PLAY_PARMS;
-typedef struct tagMCI_VD_STEP_PARMS {
- DWORD dwCallback;
- DWORD dwFrames;
-} MCI_VD_STEP_PARMS,*PMCI_VD_STEP_PARMS,*LPMCI_VD_STEP_PARMS;
-typedef struct tagMCI_VD_ESCAPE_PARMSA {
- DWORD dwCallback;
- LPCSTR lpstrCommand;
-} MCI_VD_ESCAPE_PARMSA,*PMCI_VD_ESCAPE_PARMSA,*LPMCI_VD_ESCAPE_PARMSA;
-typedef struct tagMCI_VD_ESCAPE_PARMSW {
- DWORD dwCallback;
- LPCWSTR lpstrCommand;
-} MCI_VD_ESCAPE_PARMSW,*PMCI_VD_ESCAPE_PARMSW,*LPMCI_VD_ESCAPE_PARMSW;
-typedef struct tagMCI_WAVE_OPEN_PARMSA {
- DWORD dwCallback;
- MCIDEVICEID wDeviceID;
- LPCSTR lpstrDeviceType;
- LPCSTR lpstrElementName;
- LPCSTR lpstrAlias;
- DWORD dwBufferSeconds;
-} MCI_WAVE_OPEN_PARMSA,*PMCI_WAVE_OPEN_PARMSA,*LPMCI_WAVE_OPEN_PARMSA;
-typedef struct tagMCI_WAVE_OPEN_PARMSW {
- DWORD dwCallback;
- MCIDEVICEID wDeviceID;
- LPCWSTR lpstrDeviceType;
- LPCWSTR lpstrElementName;
- LPCWSTR lpstrAlias;
- DWORD dwBufferSeconds;
-} MCI_WAVE_OPEN_PARMSW,*PMCI_WAVE_OPEN_PARMSW,*LPMCI_WAVE_OPEN_PARMSW;
-typedef struct tagMCI_WAVE_DELETE_PARMS {
- DWORD dwCallback;
- DWORD dwFrom;
- DWORD dwTo;
-} MCI_WAVE_DELETE_PARMS, *PMCI_WAVE_DELETE_PARMS,*LPMCI_WAVE_DELETE_PARMS;
-typedef struct tagMCI_WAVE_SET_PARMS {
- DWORD dwCallback;
- DWORD dwTimeFormat;
- DWORD dwAudio;
- UINT wInput;
- UINT wOutput;
- WORD wFormatTag;
- WORD wReserved2;
- WORD nChannels;
- WORD wReserved3;
- DWORD nSamplesPerSec;
- DWORD nAvgBytesPerSec;
- WORD nBlockAlign;
- WORD wReserved4;
- WORD wBitsPerSample;
- WORD wReserved5;
-} MCI_WAVE_SET_PARMS,*PMCI_WAVE_SET_PARMS,*LPMCI_WAVE_SET_PARMS;
-
-LRESULT WINAPI CloseDriver(HDRVR,LONG,LONG);
-HDRVR WINAPI OpenDriver(LPCWSTR,LPCWSTR,LONG);
-LRESULT WINAPI SendDriverMessage(HDRVR,UINT,LONG,LONG);
-HMODULE WINAPI DrvGetModuleHandle(HDRVR);
-HMODULE WINAPI GetDriverModuleHandle(HDRVR);
-LRESULT WINAPI DefDriverProc(DWORD,HDRVR,UINT,LPARAM,LPARAM);
-UINT WINAPI mmsystemGetVersion(void);
-#define OutputDebugStr OutputDebugString
-BOOL WINAPI sndPlaySoundA(LPCSTR,UINT);
-BOOL WINAPI sndPlaySoundW(LPCWSTR,UINT);
-BOOL WINAPI PlaySoundA(LPCSTR,HMODULE,DWORD);
-BOOL WINAPI PlaySoundW(LPCWSTR,HMODULE,DWORD);
-UINT WINAPI waveOutGetNumDevs(void);
-MMRESULT WINAPI waveOutGetDevCapsA(UINT,LPWAVEOUTCAPSA,UINT);
-MMRESULT WINAPI waveOutGetDevCapsW(UINT,LPWAVEOUTCAPSW,UINT);
-MMRESULT WINAPI waveOutGetVolume(HWAVEOUT,PDWORD);
-MMRESULT WINAPI waveOutSetVolume(HWAVEOUT,DWORD);
-MMRESULT WINAPI waveOutGetErrorTextA(MMRESULT,LPSTR,UINT);
-MMRESULT WINAPI waveOutGetErrorTextW(MMRESULT,LPWSTR,UINT);
-MMRESULT WINAPI waveOutOpen(LPHWAVEOUT,UINT,LPCWAVEFORMATEX,DWORD,DWORD,DWORD);
-MMRESULT WINAPI waveOutClose(HWAVEOUT);
-MMRESULT WINAPI waveOutPrepareHeader(HWAVEOUT,LPWAVEHDR,UINT);
-MMRESULT WINAPI waveOutUnprepareHeader(HWAVEOUT,LPWAVEHDR,UINT);
-MMRESULT WINAPI waveOutWrite(HWAVEOUT,LPWAVEHDR,UINT);
-MMRESULT WINAPI waveOutPause(HWAVEOUT);
-MMRESULT WINAPI waveOutRestart(HWAVEOUT);
-MMRESULT WINAPI waveOutReset(HWAVEOUT);
-MMRESULT WINAPI waveOutBreakLoop(HWAVEOUT);
-MMRESULT WINAPI waveOutGetPosition(HWAVEOUT,LPMMTIME,UINT);
-MMRESULT WINAPI waveOutGetPitch(HWAVEOUT,PDWORD);
-MMRESULT WINAPI waveOutSetPitch(HWAVEOUT,DWORD);
-MMRESULT WINAPI waveOutGetPlaybackRate(HWAVEOUT,PDWORD);
-MMRESULT WINAPI waveOutSetPlaybackRate(HWAVEOUT,DWORD);
-MMRESULT WINAPI waveOutGetID(HWAVEOUT,LPUINT);
-MMRESULT WINAPI waveOutMessage(HWAVEOUT,UINT,DWORD,DWORD);
-UINT WINAPI waveInGetNumDevs(void);
-MMRESULT WINAPI waveInGetDevCapsA(UINT,LPWAVEINCAPSA,UINT);
-MMRESULT WINAPI waveInGetDevCapsW(UINT,LPWAVEINCAPSW,UINT);
-MMRESULT WINAPI waveInGetErrorTextA(MMRESULT,LPSTR,UINT);
-MMRESULT WINAPI waveInGetErrorTextW(MMRESULT,LPWSTR,UINT);
-MMRESULT WINAPI waveInOpen(LPHWAVEIN,UINT,LPCWAVEFORMATEX,DWORD,DWORD,DWORD);
-MMRESULT WINAPI waveInClose(HWAVEIN);
-MMRESULT WINAPI waveInPrepareHeader(HWAVEIN,LPWAVEHDR,UINT);
-MMRESULT WINAPI waveInUnprepareHeader(HWAVEIN,LPWAVEHDR,UINT);
-MMRESULT WINAPI waveInAddBuffer(HWAVEIN,LPWAVEHDR,UINT);
-MMRESULT WINAPI waveInStart(HWAVEIN);
-MMRESULT WINAPI waveInStop(HWAVEIN);
-MMRESULT WINAPI waveInReset(HWAVEIN);
-MMRESULT WINAPI waveInGetPosition(HWAVEIN,LPMMTIME,UINT);
-MMRESULT WINAPI waveInGetID(HWAVEIN,LPUINT);
-MMRESULT WINAPI waveInMessage(HWAVEIN,UINT,DWORD,DWORD);
-UINT WINAPI midiOutGetNumDevs(void);
-MMRESULT WINAPI midiStreamOpen(LPHMIDISTRM,LPUINT,DWORD,DWORD,DWORD,DWORD);
-MMRESULT WINAPI midiStreamClose(HMIDISTRM);
-MMRESULT WINAPI midiStreamProperty(HMIDISTRM,LPBYTE,DWORD);
-MMRESULT WINAPI midiStreamPosition(HMIDISTRM,LPMMTIME,UINT);
-MMRESULT WINAPI midiStreamOut(HMIDISTRM,LPMIDIHDR,UINT);
-MMRESULT WINAPI midiStreamPause(HMIDISTRM);
-MMRESULT WINAPI midiStreamRestart(HMIDISTRM);
-MMRESULT WINAPI midiStreamStop(HMIDISTRM);
-MMRESULT WINAPI midiConnect(HMIDI,HMIDIOUT,PVOID);
-MMRESULT WINAPI midiDisconnect(HMIDI,HMIDIOUT,PVOID);
-MMRESULT WINAPI midiOutGetDevCapsA(UINT,LPMIDIOUTCAPSA,UINT);
-MMRESULT WINAPI midiOutGetDevCapsW(UINT,LPMIDIOUTCAPSW,UINT);
-MMRESULT WINAPI midiOutGetVolume(HMIDIOUT,PDWORD);
-MMRESULT WINAPI midiOutSetVolume(HMIDIOUT,DWORD);
-MMRESULT WINAPI midiOutGetErrorTextA(MMRESULT,LPSTR,UINT);
-MMRESULT WINAPI midiOutGetErrorTextW(MMRESULT,LPWSTR,UINT);
-MMRESULT WINAPI midiOutOpen(LPHMIDIOUT,UINT,DWORD,DWORD,DWORD);
-MMRESULT WINAPI midiOutClose(HMIDIOUT);
-MMRESULT WINAPI midiOutPrepareHeader(HMIDIOUT,LPMIDIHDR,UINT);
-MMRESULT WINAPI midiOutUnprepareHeader(HMIDIOUT,LPMIDIHDR,UINT);
-MMRESULT WINAPI midiOutShortMsg(HMIDIOUT,DWORD);
-MMRESULT WINAPI midiOutLongMsg(HMIDIOUT,LPMIDIHDR,UINT);
-MMRESULT WINAPI midiOutReset(HMIDIOUT);
-MMRESULT WINAPI midiOutCachePatches(HMIDIOUT,UINT,LPWORD,UINT);
-MMRESULT WINAPI midiOutCacheDrumPatches(HMIDIOUT,UINT,LPWORD,UINT);
-MMRESULT WINAPI midiOutGetID(HMIDIOUT,LPUINT);
-MMRESULT WINAPI midiOutMessage(HMIDIOUT,UINT,DWORD,DWORD);
-UINT WINAPI midiInGetNumDevs(void);
-MMRESULT WINAPI midiInGetDevCapsA(UINT,LPMIDIINCAPSA,UINT);
-MMRESULT WINAPI midiInGetDevCapsW(UINT,LPMIDIINCAPSW,UINT);
-MMRESULT WINAPI midiInGetErrorTextA(MMRESULT,LPSTR,UINT);
-MMRESULT WINAPI midiInGetErrorTextW(MMRESULT,LPWSTR,UINT);
-MMRESULT WINAPI midiInOpen(LPHMIDIIN,UINT,DWORD,DWORD,DWORD);
-MMRESULT WINAPI midiInClose(HMIDIIN);
-MMRESULT WINAPI midiInPrepareHeader(HMIDIIN,LPMIDIHDR,UINT);
-MMRESULT WINAPI midiInUnprepareHeader(HMIDIIN,LPMIDIHDR,UINT);
-MMRESULT WINAPI midiInAddBuffer(HMIDIIN,LPMIDIHDR,UINT);
-MMRESULT WINAPI midiInStart(HMIDIIN);
-MMRESULT WINAPI midiInStop(HMIDIIN);
-MMRESULT WINAPI midiInReset(HMIDIIN);
-MMRESULT WINAPI midiInGetID(HMIDIIN,LPUINT);
-MMRESULT WINAPI midiInMessage(HMIDIIN,UINT,DWORD,DWORD);
-UINT WINAPI auxGetNumDevs(void);
-MMRESULT WINAPI auxGetDevCapsA(UINT,LPAUXCAPSA,UINT);
-MMRESULT WINAPI auxGetDevCapsW(UINT,LPAUXCAPSW,UINT);
-MMRESULT WINAPI auxSetVolume(UINT,DWORD);
-MMRESULT WINAPI auxGetVolume(UINT,PDWORD);
-MMRESULT WINAPI auxOutMessage(UINT,UINT,DWORD,DWORD);
-UINT WINAPI mixerGetNumDevs(void);
-MMRESULT WINAPI mixerGetDevCapsA(UINT,LPMIXERCAPSA,UINT);
-MMRESULT WINAPI mixerGetDevCapsW(UINT,LPMIXERCAPSW,UINT);
-MMRESULT WINAPI mixerOpen(LPHMIXER,UINT,DWORD,DWORD,DWORD);
-MMRESULT WINAPI mixerClose(HMIXER);
-DWORD WINAPI mixerMessage(HMIXER,UINT,DWORD,DWORD);
-MMRESULT WINAPI mixerGetLineInfoA(HMIXEROBJ,LPMIXERLINEA,DWORD);
-MMRESULT WINAPI mixerGetLineInfoW(HMIXEROBJ,LPMIXERLINEW,DWORD);
-MMRESULT WINAPI mixerGetID(HMIXEROBJ,PUINT,DWORD);
-MMRESULT WINAPI mixerGetLineControlsA(HMIXEROBJ,LPMIXERLINECONTROLSA,DWORD);
-MMRESULT WINAPI mixerGetLineControlsW(HMIXEROBJ,LPMIXERLINECONTROLSW,DWORD);
-MMRESULT WINAPI mixerGetControlDetailsA(HMIXEROBJ,LPMIXERCONTROLDETAILS,DWORD);
-MMRESULT WINAPI mixerGetControlDetailsW(HMIXEROBJ,LPMIXERCONTROLDETAILS,DWORD);
-MMRESULT WINAPI mixerSetControlDetails(HMIXEROBJ,LPMIXERCONTROLDETAILS,DWORD);
-MMRESULT WINAPI timeGetSystemTime(LPMMTIME,UINT);
-DWORD WINAPI timeGetTime(void);
-MMRESULT WINAPI timeSetEvent(UINT,UINT,LPTIMECALLBACK,DWORD,UINT);
-MMRESULT WINAPI timeKillEvent(UINT);
-MMRESULT WINAPI timeGetDevCaps(LPTIMECAPS,UINT);
-MMRESULT WINAPI timeBeginPeriod(UINT);
-MMRESULT WINAPI timeEndPeriod(UINT);
-UINT WINAPI joyGetNumDevs(void);
-MMRESULT WINAPI joyGetDevCapsA(UINT,LPJOYCAPSA,UINT);
-MMRESULT WINAPI joyGetDevCapsW(UINT,LPJOYCAPSW,UINT);
-MMRESULT WINAPI joyGetPos(UINT,LPJOYINFO);
-MMRESULT WINAPI joyGetPosEx(UINT,LPJOYINFOEX);
-MMRESULT WINAPI joyGetThreshold(UINT,LPUINT);
-MMRESULT WINAPI joyReleaseCapture(UINT);
-MMRESULT WINAPI joySetCapture(HWND,UINT,UINT,BOOL);
-MMRESULT WINAPI joySetThreshold(UINT,UINT);
-FOURCC WINAPI mmioStringToFOURCCA(LPCSTR,UINT);
-FOURCC WINAPI mmioStringToFOURCCW(LPCWSTR,UINT);
-LPMMIOPROC WINAPI mmioInstallIOProcA(FOURCC,LPMMIOPROC,DWORD);
-LPMMIOPROC WINAPI mmioInstallIOProcW(FOURCC,LPMMIOPROC,DWORD);
-HMMIO WINAPI mmioOpenA(LPSTR,LPMMIOINFO,DWORD);
-HMMIO WINAPI mmioOpenW(LPWSTR,LPMMIOINFO,DWORD);
-MMRESULT WINAPI mmioRenameA(LPCSTR,LPCSTR,LPCMMIOINFO,DWORD);
-MMRESULT WINAPI mmioRenameW(LPCWSTR,LPCWSTR,LPCMMIOINFO,DWORD);
-MMRESULT WINAPI mmioClose(HMMIO,UINT);
-LONG WINAPI mmioRead(HMMIO,HPSTR,LONG);
-LONG WINAPI mmioWrite(HMMIO,LPCSTR,LONG);
-LONG WINAPI mmioSeek(HMMIO,LONG,int);
-MMRESULT WINAPI mmioGetInfo(HMMIO,LPMMIOINFO,UINT);
-MMRESULT WINAPI mmioSetInfo(HMMIO,LPCMMIOINFO,UINT);
-MMRESULT WINAPI mmioSetBuffer(HMMIO,LPSTR,LONG,UINT);
-MMRESULT WINAPI mmioFlush(HMMIO,UINT);
-MMRESULT WINAPI mmioAdvance(HMMIO,LPMMIOINFO,UINT);
-LRESULT WINAPI mmioSendMessage(HMMIO,UINT,LPARAM,LPARAM);
-MMRESULT WINAPI mmioDescend(HMMIO,LPMMCKINFO,const MMCKINFO*,UINT);
-MMRESULT WINAPI mmioAscend(HMMIO,LPMMCKINFO,UINT);
-MMRESULT WINAPI mmioCreateChunk(HMMIO,LPMMCKINFO,UINT);
-MCIERROR WINAPI mciSendCommandA(MCIDEVICEID,UINT,DWORD,DWORD);
-MCIERROR WINAPI mciSendCommandW(MCIDEVICEID,UINT,DWORD,DWORD);
-MCIERROR WINAPI mciSendStringA(LPCSTR,LPSTR,UINT,HWND);
-MCIERROR WINAPI mciSendStringW(LPCWSTR,LPWSTR,UINT,HWND);
-MCIDEVICEID WINAPI mciGetDeviceIDA(LPCSTR);
-MCIDEVICEID WINAPI mciGetDeviceIDW(LPCWSTR);
-MCIDEVICEID WINAPI mciGetDeviceIDFromElementIDA(DWORD,LPCSTR);
-MCIDEVICEID WINAPI mciGetDeviceIDFromElementIDW(DWORD,LPCWSTR);
-BOOL WINAPI mciGetErrorStringA(MCIERROR,LPSTR,UINT);
-BOOL WINAPI mciGetErrorStringW(MCIERROR,LPWSTR,UINT);
-BOOL WINAPI mciSetYieldProc(MCIDEVICEID,YIELDPROC,DWORD);
-HTASK WINAPI mciGetCreatorTask(MCIDEVICEID);
-YIELDPROC WINAPI mciGetYieldProc(MCIDEVICEID,PDWORD);
-
-typedef struct tagMCI_SEQ_SET_PARMS {
- DWORD dwCallback;
- DWORD dwTimeFormat;
- DWORD dwAudio;
- DWORD dwTempo;
- DWORD dwPort;
- DWORD dwSlave;
- DWORD dwMaster;
- DWORD dwOffset;
-} MCI_SEQ_SET_PARMS,*PMCI_SEQ_SET_PARMS,*LPMCI_SEQ_SET_PARMS;
-typedef struct tagMCI_ANIM_OPEN_PARMSA {
- DWORD dwCallback;
- MCIDEVICEID wDeviceID;
- LPCSTR lpstrDeviceType;
- LPCSTR lpstrElementName;
- LPCSTR lpstrAlias;
- DWORD dwStyle;
- HWND hWndParent;
-} MCI_ANIM_OPEN_PARMSA,*PMCI_ANIM_OPEN_PARMSA,*LPMCI_ANIM_OPEN_PARMSA;
-typedef struct tagMCI_ANIM_OPEN_PARMSW {
- DWORD dwCallback;
- MCIDEVICEID wDeviceID;
- LPCWSTR lpstrDeviceType;
- LPCWSTR lpstrElementName;
- LPCWSTR lpstrAlias;
- DWORD dwStyle;
- HWND hWndParent;
-} MCI_ANIM_OPEN_PARMSW,*PMCI_ANIM_OPEN_PARMSW,*LPMCI_ANIM_OPEN_PARMSW;
-typedef struct tagMCI_ANIM_PLAY_PARMS {
- DWORD dwCallback;
- DWORD dwFrom;
- DWORD dwTo;
- DWORD dwSpeed;
-} MCI_ANIM_PLAY_PARMS,*PMCI_ANIM_PLAY_PARMS,*LPMCI_ANIM_PLAY_PARMS;
-typedef struct tagMCI_ANIM_STEP_PARMS {
- DWORD dwCallback;
- DWORD dwFrames;
-} MCI_ANIM_STEP_PARMS,*PMCI_ANIM_STEP_PARMS,*LPMCI_ANIM_STEP_PARMS;
-typedef struct tagMCI_ANIM_WINDOW_PARMSA {
- DWORD dwCallback;
- HWND hWnd;
- UINT nCmdShow;
- LPCSTR lpstrText;
-} MCI_ANIM_WINDOW_PARMSA,*PMCI_ANIM_WINDOW_PARMSA,*LPMCI_ANIM_WINDOW_PARMSA;
-typedef struct tagMCI_ANIM_WINDOW_PARMSW {
- DWORD dwCallback;
- HWND hWnd;
- UINT nCmdShow;
- LPCWSTR lpstrText;
-} MCI_ANIM_WINDOW_PARMSW,*PMCI_ANIM_WINDOW_PARMSW,*LPMCI_ANIM_WINDOW_PARMSW;
-typedef struct tagMCI_ANIM_RECT_PARMS {
- DWORD dwCallback;
-#ifdef MCI_USE_OFFEXT
- POINT ptOffset;
- POINT ptExtent;
-#else
- RECT rc;
-#endif
-} MCI_ANIM_RECT_PARMS,*PMCI_ANIM_RECT_PARMS,*LPMCI_ANIM_RECT_PARMS;
-typedef struct tagMCI_ANIM_UPDATE_PARMS {
- DWORD dwCallback;
- RECT rc;
- HDC hDC;
-} MCI_ANIM_UPDATE_PARMS,*PMCI_ANIM_UPDATE_PARMS,*LPMCI_ANIM_UPDATE_PARMS;
-typedef struct tagMCI_OVLY_OPEN_PARMSA {
- DWORD dwCallback;
- MCIDEVICEID wDeviceID;
- LPCSTR lpstrDeviceType;
- LPCSTR lpstrElementName;
- LPCSTR lpstrAlias;
- DWORD dwStyle;
- HWND hWndParent;
-} MCI_OVLY_OPEN_PARMSA,*PMCI_OVLY_OPEN_PARMSA,*LPMCI_OVLY_OPEN_PARMSA;
-typedef struct tagMCI_OVLY_OPEN_PARMSW {
- DWORD dwCallback;
- MCIDEVICEID wDeviceID;
- LPCWSTR lpstrDeviceType;
- LPCWSTR lpstrElementName;
- LPCWSTR lpstrAlias;
- DWORD dwStyle;
- HWND hWndParent;
-} MCI_OVLY_OPEN_PARMSW,*PMCI_OVLY_OPEN_PARMSW,*LPMCI_OVLY_OPEN_PARMSW;
-typedef struct tagMCI_OVLY_WINDOW_PARMSA {
- DWORD dwCallback;
- HWND hWnd;
- UINT nCmdShow;
- LPCSTR lpstrText;
-} MCI_OVLY_WINDOW_PARMSA,*PMCI_OVLY_WINDOW_PARMSA,*LPMCI_OVLY_WINDOW_PARMSA;
-typedef struct tagMCI_OVLY_WINDOW_PARMSW {
- DWORD dwCallback;
- HWND hWnd;
- UINT nCmdShow;
- LPCWSTR lpstrText;
-} MCI_OVLY_WINDOW_PARMSW,*PMCI_OVLY_WINDOW_PARMSW,*LPMCI_OVLY_WINDOW_PARMSW;
-typedef struct tagMCI_OVLY_RECT_PARMS {
- DWORD dwCallback;
-#ifdef MCI_USE_OFFEXT
- POINT ptOffset;
- POINT ptExtent;
-#else
- RECT rc;
-#endif
-} MCI_OVLY_RECT_PARMS,*PMCI_OVLY_RECT_PARMS,*LPMCI_OVLY_RECT_PARMS;
-typedef struct tagMCI_OVLY_SAVE_PARMSA {
- DWORD dwCallback;
- LPCSTR lpfilename;
- RECT rc;
-} MCI_OVLY_SAVE_PARMSA,*PMCI_OVLY_SAVE_PARMSA,*LPMCI_OVLY_SAVE_PARMSA;
-typedef struct tagMCI_OVLY_SAVE_PARMSW {
- DWORD dwCallback;
- LPCWSTR lpfilename;
- RECT rc;
-} MCI_OVLY_SAVE_PARMSW,*PMCI_OVLY_SAVE_PARMSW,*LPMCI_OVLY_SAVE_PARMSW;
-typedef struct tagMCI_OVLY_LOAD_PARMSA {
- DWORD dwCallback;
- LPCSTR lpfilename;
- RECT rc;
-} MCI_OVLY_LOAD_PARMSA,*PMCI_OVLY_LOAD_PARMSA,*LPMCI_OVLY_LOAD_PARMSA;
-typedef struct tagMCI_OVLY_LOAD_PARMSW {
- DWORD dwCallback;
- LPCWSTR lpfilename;
- RECT rc;
-} MCI_OVLY_LOAD_PARMSW,*PMCI_OVLY_LOAD_PARMSW,*LPMCI_OVLY_LOAD_PARMSW;
-
-#ifdef UNICODE
-typedef WAVEOUTCAPSW WAVEOUTCAPS,*PWAVEOUTCAPS,*LPWAVEOUTCAPS;
-typedef WAVEINCAPSW WAVEINCAPS,*PWAVEINCAPS,*LPWAVEINCAPS;
-typedef MIDIOUTCAPSW MIDIOUTCAPS,*PMIDIOUTCAPS,*LPMIDIOUTCAPS;
-typedef MIDIINCAPSW MIDIINCAPS,*PMIDIINCAPS,*LPMIDIINCAPS;
-typedef AUXCAPSW AUXCAPS,*PAUXCAPS,*LPAUXCAPS;
-typedef MIXERCAPSW MIXERCAPS,*PMIXERCAPS,*LPMIXERCAPS;
-typedef MIXERLINEW MIXERLINE,*PMIXERLINE,*LPMIXERLINE;
-typedef MIXERCONTROLA MIXERCONTROL,*PMIXERCONTROL,*LPMIXERCONTROL;
-typedef MIXERLINECONTROLSW MIXERLINECONTROLS,*PMIXERLINECONTROLS,*LPMIXERLINECONTROLS;
-typedef MIXERCONTROLDETAILS_LISTTEXTW MIXERCONTROLDETAILS_LISTTEXT,*PMIXERCONTROLDETAILS_LISTTEXT,*LPMIXERCONTROLDETAILS_LISTTEXT;
-typedef JOYCAPSW JOYCAPS,*PJOYCAPS,*LPJOYCAPS;
-typedef MCI_OPEN_PARMSW MCI_OPEN_PARMS,*PMCI_OPEN_PARMS,*LPMCI_OPEN_PARMS;
-typedef MCI_INFO_PARMSW MCI_INFO_PARMS,*LPMCI_INFO_PARMS;
-typedef MCI_SYSINFO_PARMSW MCI_SYSINFO_PARMS,*PMCI_SYSINFO_PARMS,*LPMCI_SYSINFO_PARMS;
-typedef MCI_SAVE_PARMSW MCI_SAVE_PARMS,*PMCI_SAVE_PARMS,*LPMCI_SAVE_PARMS;
-typedef MCI_LOAD_PARMSW MCI_LOAD_PARMS,*PMCI_LOAD_PARMS,*LPMCI_LOAD_PARMS;
-typedef MCI_VD_ESCAPE_PARMSW MCI_VD_ESCAPE_PARMS,*PMCI_VD_ESCAPE_PARMS,*LPMCI_VD_ESCAPE_PARMS;
-typedef MCI_WAVE_OPEN_PARMSW MCI_WAVE_OPEN_PARMS,*PMCI_WAVE_OPEN_PARMS,*LPMCI_WAVE_OPEN_PARMS;
-typedef MCI_ANIM_OPEN_PARMSW MCI_ANIM_OPEN_PARMS,*PMCI_ANIM_OPEN_PARMS,*LPMCI_ANIM_OPEN_PARMS;
-typedef MCI_ANIM_WINDOW_PARMSW MCI_ANIM_WINDOW_PARMS,*PMCI_ANIM_WINDOW_PARMS,*LPMCI_ANIM_WINDOW_PARMS;
-typedef MCI_OVLY_OPEN_PARMSW MCI_OVLY_OPEN_PARMS,*PMCI_OVLY_OPEN_PARMS,*LPMCI_OVLY_OPEN_PARMS;
-typedef MCI_OVLY_WINDOW_PARMSW MCI_OVLY_WINDOW_PARMS,*PMCI_OVLY_WINDOW_PARMS,*LPMCI_OVLY_WINDOW_PARMS;
-typedef MCI_OVLY_SAVE_PARMSW MCI_OVLY_SAVE_PARMS,*PMCI_OVLY_SAVE_PARMS,*LPMCI_OVLY_SAVE_PARMS;
-#define sndPlaySound sndPlaySoundW
-#define PlaySound PlaySoundW
-#define waveOutGetDevCaps waveOutGetDevCapsW
-#define waveOutGetErrorText waveOutGetErrorTextW
-#define waveInGetDevCaps waveInGetDevCapsW
-#define waveInGetErrorText waveInGetErrorTextW
-#define midiOutGetDevCaps midiOutGetDevCapsW
-#define midiOutGetErrorText midiOutGetErrorTextW
-#define midiInGetDevCaps midiInGetDevCapsW
-#define midiInGetErrorText midiInGetErrorTextW
-#define auxGetDevCaps auxGetDevCapsW
-#define mixerGetDevCaps mixerGetDevCapsW
-#define mixerGetLineInfo mixerGetLineInfoW
-#define mixerGetLineControls mixerGetLineControlsW
-#define mixerGetControlDetails mixerGetControlDetailsW
-#define joyGetDevCaps joyGetDevCapsW
-#define mmioInstallIOProc mmioInstallIOProcW
-#define mmioStringToFOURCC mmioStringToFOURCCW
-#define mmioOpen mmioOpenW
-#define mmioRename mmioRenameW
-#define mciSendCommand mciSendCommandW
-#define mciSendString mciSendStringW
-#define mciGetDeviceID mciGetDeviceIDW
-#define mciGetDeviceIDFromElementID mciGetDeviceIDFromElementIDW
-#define mciGetErrorString mciGetErrorStringW
-#else
-typedef WAVEOUTCAPSA WAVEOUTCAPS,*PWAVEOUTCAPS,*LPWAVEOUTCAPS;
-typedef WAVEINCAPSA WAVEINCAPS,*PWAVEINCAPS,*LPWAVEINCAPS;
-typedef MIDIOUTCAPSA MIDIOUTCAPS,*PMIDIOUTCAPS,*LPMIDIOUTCAPS;
-typedef MIDIINCAPSA MIDIINCAPS,*PMIDIINCAPS,*LPMIDIINCAPS;
-typedef AUXCAPSA AUXCAPS,*PAUXCAPS,*LPAUXCAPS;
-typedef MIXERCAPSA MIXERCAPS,*PMIXERCAPS,*LPMIXERCAPS;
-typedef MIXERLINEA MIXERLINE,*PMIXERLINE,*LPMIXERLINE;
-typedef MIXERCONTROLA MIXERCONTROL,*PMIXERCONTROL,*LPMIXERCONTROL;
-typedef MIXERLINECONTROLSA MIXERLINECONTROLS,*PMIXERLINECONTROLS,*LPMIXERLINECONTROLS;
-typedef MIXERCONTROLDETAILS_LISTTEXTA MIXERCONTROLDETAILS_LISTTEXT,*PMIXERCONTROLDETAILS_LISTTEXT,*LPMIXERCONTROLDETAILS_LISTTEXT;
-typedef JOYCAPSA JOYCAPS,*PJOYCAPS,*LPJOYCAPS;
-typedef MCI_OPEN_PARMSA MCI_OPEN_PARMS,*PMCI_OPEN_PARMS,*LPMCI_OPEN_PARMS;
-typedef MCI_INFO_PARMSA MCI_INFO_PARMS,*LPMCI_INFO_PARMS;
-typedef MCI_SYSINFO_PARMSA MCI_SYSINFO_PARMS,*PMCI_SYSINFO_PARMS,*LPMCI_SYSINFO_PARMS;
-typedef MCI_SAVE_PARMSA MCI_SAVE_PARMS,*PMCI_SAVE_PARMS,*LPMCI_SAVE_PARMS;
-typedef MCI_LOAD_PARMSA MCI_LOAD_PARMS,*PMCI_LOAD_PARMS,*LPMCI_LOAD_PARMS;
-typedef MCI_VD_ESCAPE_PARMSA MCI_VD_ESCAPE_PARMS,*PMCI_VD_ESCAPE_PARMS,*LPMCI_VD_ESCAPE_PARMS;
-typedef MCI_WAVE_OPEN_PARMSA MCI_WAVE_OPEN_PARMS,*PMCI_WAVE_OPEN_PARMS,*LPMCI_WAVE_OPEN_PARMS;
-typedef MCI_ANIM_OPEN_PARMSA MCI_ANIM_OPEN_PARMS,*PMCI_ANIM_OPEN_PARMS,*LPMCI_ANIM_OPEN_PARMS;
-typedef MCI_ANIM_WINDOW_PARMSA MCI_ANIM_WINDOW_PARMS,*PMCI_ANIM_WINDOW_PARMS,*LPMCI_ANIM_WINDOW_PARMS;
-typedef MCI_OVLY_OPEN_PARMSA MCI_OVLY_OPEN_PARMS,*PMCI_OVLY_OPEN_PARMS,*LPMCI_OVLY_OPEN_PARMS;
-typedef MCI_OVLY_WINDOW_PARMSA MCI_OVLY_WINDOW_PARMS,*PMCI_OVLY_WINDOW_PARMS,*LPMCI_OVLY_WINDOW_PARMS;
-typedef MCI_OVLY_SAVE_PARMSA MCI_OVLY_SAVE_PARMS,*PMCI_OVLY_SAVE_PARMS,*LPMCI_OVLY_SAVE_PARMS;
-#define sndPlaySound sndPlaySoundA
-#define PlaySound PlaySoundA
-#define waveOutGetDevCaps waveOutGetDevCapsA
-#define waveOutGetErrorText waveOutGetErrorTextA
-#define waveInGetDevCaps waveInGetDevCapsA
-#define waveInGetErrorText waveInGetErrorTextA
-#define midiOutGetDevCaps midiOutGetDevCapsA
-#define midiOutGetErrorText midiOutGetErrorTextA
-#define midiInGetDevCaps midiInGetDevCapsA
-#define midiInGetErrorText midiInGetErrorTextA
-#define auxGetDevCaps auxGetDevCapsA
-#define mixerGetDevCaps mixerGetDevCapsA
-#define mixerGetLineInfo mixerGetLineInfoA
-#define mixerGetLineControls mixerGetLineControlsA
-#define mixerGetControlDetails mixerGetControlDetailsA
-#define joyGetDevCaps joyGetDevCapsA
-#define mmioInstallIOProc mmioInstallIOProcA
-#define mmioStringToFOURCC mmioStringToFOURCCA
-#define mmioOpen mmioOpenA
-#define mmioRename mmioRenameA
-#define mciSendCommand mciSendCommandA
-#define mciSendString mciSendStringA
-#define mciGetDeviceID mciGetDeviceIDA
-#define mciGetDeviceIDFromElementID mciGetDeviceIDFromElementIDA
-#define mciGetErrorString mciGetErrorStringA
-#endif
-#ifdef __cplusplus
-}
-#endif
-#pragma pack(pop)
-#endif
diff --git a/winsup/w32api/include/msacm.h b/winsup/w32api/include/msacm.h
deleted file mode 100644
index 4f215367e..000000000
--- a/winsup/w32api/include/msacm.h
+++ /dev/null
@@ -1,186 +0,0 @@
-/*author: Adrian Sandor
- written for MinGW*/
-#ifndef _MSACM_H
-#define _MSACM_H
-
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-typedef HANDLE HACMDRIVERID, HACMDRIVER, *LPHACMDRIVER; /*they're handles, right?*/
-
-/*found through experimentation*/
-#define ACMDRIVERDETAILS_SHORTNAME_CHARS 32
-#define ACMDRIVERDETAILS_LONGNAME_CHARS 128
-#define ACMDRIVERDETAILS_COPYRIGHT_CHARS 80
-#define ACMDRIVERDETAILS_LICENSING_CHARS 128
-
-/*I don't know the right values for these macros*/
-#define ACMFORMATDETAILS_FORMAT_CHARS 256
-#define ACMFORMATTAGDETAILS_FORMATTAG_CHARS 256
-#define ACMDRIVERDETAILS_FEATURES_CHARS 256
-
-/*msdn.microsoft.com/library/default.asp?url=/library/en-us/multimed/htm/_win32_acmformatdetails_str.asp*/
-typedef struct {
- DWORD cbStruct;
- DWORD dwFormatIndex;
- DWORD dwFormatTag;
- DWORD fdwSupport;
- LPWAVEFORMATEX pwfx;
- DWORD cbwfx;
- char szFormat[ACMFORMATDETAILS_FORMAT_CHARS];
-} ACMFORMATDETAILSA, *LPACMFORMATDETAILSA;
-typedef struct {
- DWORD cbStruct;
- DWORD dwFormatIndex;
- DWORD dwFormatTag;
- DWORD fdwSupport;
- LPWAVEFORMATEX pwfx;
- DWORD cbwfx;
- WCHAR szFormat[ACMFORMATDETAILS_FORMAT_CHARS];
-} ACMFORMATDETAILSW, *LPACMFORMATDETAILSW;
-
-/*msdn.microsoft.com/library/default.asp?url=/library/en-us/multimed/htm/_win32_acmformattagdetails_str.asp*/
-typedef struct {
- DWORD cbStruct;
- DWORD dwFormatTagIndex;
- DWORD dwFormatTag;
- DWORD cbFormatSize;
- DWORD fdwSupport;
- DWORD cStandardFormats;
- char szFormatTag[ACMFORMATTAGDETAILS_FORMATTAG_CHARS];
-} ACMFORMATTAGDETAILSA, *LPACMFORMATTAGDETAILSA;
-typedef struct {
- DWORD cbStruct;
- DWORD dwFormatTagIndex;
- DWORD dwFormatTag;
- DWORD cbFormatSize;
- DWORD fdwSupport;
- DWORD cStandardFormats;
- WCHAR szFormatTag[ACMFORMATTAGDETAILS_FORMATTAG_CHARS];
-} ACMFORMATTAGDETAILSW, *LPACMFORMATTAGDETAILSW;
-
-/*msdn.microsoft.com/library/default.asp?url=/library/en-us/multimed/htm/_win32_acmdriverdetails_str.asp*/
-typedef struct {
- DWORD cbStruct;
- FOURCC fccType;
- FOURCC fccComp;
- WORD wMid;
- WORD wPid;
- DWORD vdwACM;
- DWORD vdwDriver;
- DWORD fdwSupport;
- DWORD cFormatTags;
- DWORD cFilterTags;
- HICON hicon;
- char szShortName[ACMDRIVERDETAILS_SHORTNAME_CHARS];
- char szLongName[ACMDRIVERDETAILS_LONGNAME_CHARS];
- char szCopyright[ACMDRIVERDETAILS_COPYRIGHT_CHARS];
- char szLicensing[ACMDRIVERDETAILS_LICENSING_CHARS];
- char szFeatures[ACMDRIVERDETAILS_FEATURES_CHARS];
-} ACMDRIVERDETAILSA, *LPACMDRIVERDETAILSA;
-typedef struct {
- DWORD cbStruct;
- FOURCC fccType;
- FOURCC fccComp;
- WORD wMid;
- WORD wPid;
- DWORD vdwACM;
- DWORD vdwDriver;
- DWORD fdwSupport;
- DWORD cFormatTags;
- DWORD cFilterTags;
- HICON hicon;
- WCHAR szShortName[ACMDRIVERDETAILS_SHORTNAME_CHARS];
- WCHAR szLongName[ACMDRIVERDETAILS_LONGNAME_CHARS];
- WCHAR szCopyright[ACMDRIVERDETAILS_COPYRIGHT_CHARS];
- WCHAR szLicensing[ACMDRIVERDETAILS_LICENSING_CHARS];
- WCHAR szFeatures[ACMDRIVERDETAILS_FEATURES_CHARS];
-} ACMDRIVERDETAILSW, *LPACMDRIVERDETAILSW;
-
-/*msdn.microsoft.com/library/default.asp?url=/library/en-us/multimed/htm/_win32_acmformatenumcallback.asp*/
-typedef BOOL (CALLBACK *ACMFORMATENUMCBA) (
- HACMDRIVERID hadid,
- LPACMFORMATDETAILSA pafd,
- DWORD_PTR dwInstance,
- DWORD fdwSupport
-);
-typedef BOOL (CALLBACK *ACMFORMATENUMCBW) (
- HACMDRIVERID hadid,
- LPACMFORMATDETAILSW pafd,
- DWORD_PTR dwInstance,
- DWORD fdwSupport
-);
-
-/*msdn.microsoft.com/library/default.asp?url=/library/en-us/multimed/htm/_win32_acmformattagenumcallback.asp*/
-typedef BOOL (CALLBACK *ACMFORMATTAGENUMCBA) (
- HACMDRIVERID hadid,
- LPACMFORMATTAGDETAILSA paftd,
- DWORD_PTR dwInstance,
- DWORD fdwSupport
-);
-typedef BOOL (CALLBACK *ACMFORMATTAGENUMCBW) (
- HACMDRIVERID hadid,
- LPACMFORMATTAGDETAILSW paftd,
- DWORD_PTR dwInstance,
- DWORD fdwSupport
-);
-
-/*msdn.microsoft.com/library/default.asp?url=/library/en-us/multimed/htm/_win32_acmdriverenumcallback.asp*/
-typedef BOOL (CALLBACK *ACMDRIVERENUMCB) (
- HACMDRIVERID hadid,
- DWORD_PTR dwInstance,
- DWORD fdwSupport
-);
-
-/*and now the functions...*/
-
-/*msdn.microsoft.com/library/default.asp?url=/library/en-us/multimed/htm/_win32_acmdriveropen.asp*/
-MMRESULT WINAPI acmDriverOpen(LPHACMDRIVER phad, HACMDRIVERID hadid, DWORD fdwOpen);
-/*msdn.microsoft.com/library/default.asp?url=/library/en-us/multimed/htm/_win32_acmdriverenum.asp*/
-MMRESULT WINAPI acmDriverEnum(ACMDRIVERENUMCB fnCallback, DWORD_PTR dwInstance, DWORD fdwEnum);
-/*msdn.microsoft.com/library/default.asp?url=/library/en-us/multimed/htm/_win32_acmformatenum.asp*/
-MMRESULT WINAPI acmFormatEnumA(HACMDRIVER had, LPACMFORMATDETAILSA pafd, ACMFORMATENUMCBA fnCallback, DWORD_PTR dwInstance, DWORD fdwEnum);
-MMRESULT WINAPI acmFormatEnumW(HACMDRIVER had, LPACMFORMATDETAILSW pafd, ACMFORMATENUMCBW fnCallback, DWORD_PTR dwInstance, DWORD fdwEnum);
-/*msdn.microsoft.com/library/default.asp?url=/library/en-us/multimed/htm/_win32_acmdriverclose.asp*/
-MMRESULT WINAPI acmDriverClose(HACMDRIVER had, DWORD fdwClose);
-/*msdn.microsoft.com/library/default.asp?url=/library/en-us/multimed/htm/_win32_acmdriverdetails.asp*/
-MMRESULT WINAPI acmDriverDetailsA(HACMDRIVERID hadid, LPACMDRIVERDETAILSA padd, DWORD fdwDetails);
-MMRESULT WINAPI acmDriverDetailsW(HACMDRIVERID hadid, LPACMDRIVERDETAILSW padd, DWORD fdwDetails);
-/*msdn.microsoft.com/library/default.asp?url=/library/en-us/multimed/htm/_win32_acmformattagenum.asp*/
-MMRESULT WINAPI acmFormatTagEnumA(HACMDRIVER had, LPACMFORMATTAGDETAILSA paftd, ACMFORMATTAGENUMCBA fnCallback, DWORD_PTR dwInstance, DWORD fdwEnum);
-MMRESULT WINAPI acmFormatTagEnumW(HACMDRIVER had, LPACMFORMATTAGDETAILSW paftd, ACMFORMATTAGENUMCBW fnCallback, DWORD_PTR dwInstance, DWORD fdwEnum);
-
-#ifdef UNICODE
-
-typedef ACMFORMATDETAILSW ACMFORMATDETAILS, *LPACMFORMATDETAILS;
-typedef ACMFORMATTAGDETAILSW ACMFORMATTAGDETAILS, *LPACMFORMATTAGDETAILS;
-typedef ACMDRIVERDETAILSW ACMDRIVERDETAILS, *LPACMDRIVERDETAILS;
-typedef ACMFORMATENUMCBW ACMFORMATENUMCB;
-typedef ACMFORMATTAGENUMCBW ACMFORMATTAGENUMCB;
-#define acmFormatEnum acmFormatEnumW
-#define acmDriverDetails acmDriverDetailsW
-#define acmFormatTagEnum acmFormatTagEnumW
-
-#else /*ifdef UNICODE*/
-
-typedef ACMFORMATDETAILSA ACMFORMATDETAILS, *LPACMFORMATDETAILS;
-typedef ACMFORMATTAGDETAILSA ACMFORMATTAGDETAILS, *LPACMFORMATTAGDETAILS;
-typedef ACMDRIVERDETAILSA ACMDRIVERDETAILS, *LPACMDRIVERDETAILS;
-typedef ACMFORMATENUMCBA ACMFORMATENUMCB;
-typedef ACMFORMATTAGENUMCBA ACMFORMATTAGENUMCB;
-#define acmFormatEnum acmFormatEnumA
-#define acmDriverDetails acmDriverDetailsA
-#define acmFormatTagEnum acmFormatTagEnumA
-
-#endif /*ifdef UNICODE*/
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
diff --git a/winsup/w32api/include/mshtml.h b/winsup/w32api/include/mshtml.h
deleted file mode 100644
index 72af736a0..000000000
--- a/winsup/w32api/include/mshtml.h
+++ /dev/null
@@ -1,704 +0,0 @@
-#ifndef _MSHTML_H
-#define _MSHTML_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-typedef interface IHTMLElementCollection *LPHTMLELEMENTCOLLECTION;
-typedef interface IHTMLElement *LPHTMLELEMENT;
-typedef interface IHTMLSelectionObject *LPHTMLSELECTIONOBJECT;
-typedef interface IHTMLFramesCollection *LPHTMLFRAMESCOLLECTION;
-typedef interface IHTMLLocation *LPHTMLLOCATION;
-typedef interface IHTMLWindow2 *LPHTMLWINDOW2;
-typedef interface IHTMLStyleSheetsCollection *LPHTMLSTYLESHEETSCOLLECTION;
-typedef interface IHTMLStyleSheet *LPHTMLSTYLESHEET;
-typedef interface IHTMLStyle *LPHTMLSTYLE;
-typedef interface IHTMLFiltersCollection *LPHTMLFILTERSCOLLECTION;
-typedef interface IHTMLLinkElement *LPHTMLLINKELEMENT;
-typedef interface IHTMLImgElement *LPHTMLIMGELEMENT;
-typedef interface IHTMLImageElementFactory *LPHTMLIMAGEELEMENTFACTORY;
-typedef interface IHTMLEventObj *LPHTMLEVENTOBJ;
-typedef interface IHTMLScreen *LPHTMLSCREEN;
-typedef interface IHTMLOptionElementFactory *LPHTMLOPTIONELEMENTFACTORY;
-typedef interface IOmHistory *LPOMHISTORY;
-typedef interface IOmNavigator *LPOMNAVIGATOR;
-
-EXTERN_C const IID IID_IHTMLLinkElement;
-#undef INTERFACE
-#define INTERFACE IHTMLLinkElement
-DECLARE_INTERFACE_(IHTMLLinkElement,IDispatch)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(GetTypeInfoCount)(THIS_ UINT*) PURE;
- STDMETHOD(GetTypeInfo)(THIS_ UINT,LCID,LPTYPEINFO*) PURE;
- STDMETHOD(GetIDsOfNames)(THIS_ REFIID,LPOLESTR*,UINT,LCID,DISPID*) PURE;
- STDMETHOD(Invoke)(THIS_ DISPID,REFIID,LCID,WORD,DISPPARAMS*,VARIANT*,EXCEPINFO*,UINT*) PURE;
-
- STDMETHOD(put_href)(THIS_ BSTR) PURE;
- STDMETHOD(get_href)(THIS_ BSTR*) PURE;
- STDMETHOD(put_rel)(THIS_ BSTR) PURE;
- STDMETHOD(get_rel)(THIS_ BSTR*) PURE;
- STDMETHOD(put_rev)(THIS_ BSTR) PURE;
- STDMETHOD(get_rev)(THIS_ BSTR*) PURE;
- STDMETHOD(put_type)(THIS_ BSTR) PURE;
- STDMETHOD(get_type)(THIS_ BSTR*) PURE;
- STDMETHOD(get_readyState)(THIS_ BSTR*) PURE;
- STDMETHOD(put_onreadystatechange)(THIS_ VARIANT) PURE;
- STDMETHOD(get_onreadystatechange)(THIS_ VARIANT*) PURE;
- STDMETHOD(put_onload)(THIS_ VARIANT) PURE;
- STDMETHOD(get_onload)(THIS_ VARIANT*) PURE;
- STDMETHOD(put_onerror)(THIS_ VARIANT) PURE;
- STDMETHOD(get_onerror)(THIS_ VARIANT*) PURE;
- STDMETHOD(get_styleSheet)(THIS_ LPHTMLSTYLESHEET*) PURE;
- STDMETHOD(put_disabled)(THIS_ VARIANT_BOOL) PURE;
- STDMETHOD(get_disabled)(THIS_ VARIANT_BOOL*) PURE;
- STDMETHOD(put_media)(THIS_ BSTR) PURE;
- STDMETHOD(get_media)(THIS_ BSTR*) PURE;
-};
-
-EXTERN_C const IID IID_IHTMLImgElement;
-#undef INTERFACE
-#define INTERFACE IHTMLImgElement
-DECLARE_INTERFACE_(IHTMLImgElement,IDispatch)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(GetTypeInfoCount)(THIS_ UINT*) PURE;
- STDMETHOD(GetTypeInfo)(THIS_ UINT,LCID,LPTYPEINFO*) PURE;
- STDMETHOD(GetIDsOfNames)(THIS_ REFIID,LPOLESTR*,UINT,LCID,DISPID*) PURE;
- STDMETHOD(Invoke)(THIS_ DISPID,REFIID,LCID,WORD,DISPPARAMS*,VARIANT*,EXCEPINFO*,UINT*) PURE;
-
- STDMETHOD(put_isMap)(THIS_ VARIANT_BOOL) PURE;
- STDMETHOD(get_isMap)(THIS_ VARIANT_BOOL*) PURE;
- STDMETHOD(put_useMap)(THIS_ BSTR) PURE;
- STDMETHOD(get_useMap)(THIS_ BSTR*) PURE;
- STDMETHOD(get_mimeType)(THIS_ BSTR*) PURE;
- STDMETHOD(get_fileSize)(THIS_ BSTR*) PURE;
- STDMETHOD(get_fileCreatedDate)(THIS_ BSTR*) PURE;
- STDMETHOD(get_fileModifiedDate)(THIS_ BSTR*) PURE;
- STDMETHOD(get_fileUpdatedDate)(THIS_ BSTR*) PURE;
- STDMETHOD(get_protocol)(THIS_ BSTR*) PURE;
- STDMETHOD(get_href)(THIS_ BSTR*) PURE;
- STDMETHOD(get_nameProp)(THIS_ BSTR*) PURE;
- STDMETHOD(put_border)(THIS_ VARIANT) PURE;
- STDMETHOD(get_border)(THIS_ VARIANT*) PURE;
- STDMETHOD(put_vspace)(THIS_ long) PURE;
- STDMETHOD(get_vspace)(THIS_ long*) PURE;
- STDMETHOD(put_hspace)(THIS_ long) PURE;
- STDMETHOD(get_hspace)(THIS_ long*) PURE;
- STDMETHOD(put_alt)(THIS_ BSTR) PURE;
- STDMETHOD(get_alt)(THIS_ BSTR*) PURE;
- STDMETHOD(put_src)(THIS_ BSTR) PURE;
- STDMETHOD(get_src)(THIS_ BSTR*) PURE;
- STDMETHOD(put_lowsrc)(THIS_ BSTR) PURE;
- STDMETHOD(get_lowsrc)(THIS_ BSTR*) PURE;
- STDMETHOD(put_vrml)(THIS_ BSTR) PURE;
- STDMETHOD(get_vrml)(THIS_ BSTR*) PURE;
- STDMETHOD(put_dynsrc)(THIS_ BSTR) PURE;
- STDMETHOD(get_dynsrc)(THIS_ BSTR*) PURE;
- STDMETHOD(get_readyState)(THIS_ BSTR*) PURE;
- STDMETHOD(get_complete)(THIS_ VARIANT_BOOL*) PURE;
- STDMETHOD(put_loop)(THIS_ VARIANT) PURE;
- STDMETHOD(get_loop)(THIS_ VARIANT*) PURE;
- STDMETHOD(put_align)(THIS_ BSTR) PURE;
- STDMETHOD(get_align)(THIS_ BSTR*) PURE;
- STDMETHOD(put_onload)(THIS_ VARIANT) PURE;
- STDMETHOD(get_onload)(THIS_ VARIANT*) PURE;
- STDMETHOD(put_onerror)(THIS_ VARIANT) PURE;
- STDMETHOD(get_onerror)(THIS_ VARIANT*) PURE;
- STDMETHOD(put_onabort)(THIS_ VARIANT) PURE;
- STDMETHOD(get_onabort)(THIS_ VARIANT*) PURE;
- STDMETHOD(put_name)(THIS_ BSTR) PURE;
- STDMETHOD(get_name)(THIS_ BSTR*) PURE;
- STDMETHOD(put_width)(THIS_ long) PURE;
- STDMETHOD(get_width)(THIS_ long*) PURE;
- STDMETHOD(put_height)(THIS_ long) PURE;
- STDMETHOD(get_height)(THIS_ long*) PURE;
- STDMETHOD(put_start)(THIS_ BSTR) PURE;
- STDMETHOD(get_start)(THIS_ BSTR*) PURE;
-};
-
-EXTERN_C const IID IID_IHTMLElementCollection;
-#undef INTERFACE
-#define INTERFACE IHTMLElementCollection
-DECLARE_INTERFACE_(IHTMLElementCollection,IDispatch)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(GetTypeInfoCount)(THIS_ UINT*) PURE;
- STDMETHOD(GetTypeInfo)(THIS_ UINT,LCID,LPTYPEINFO*) PURE;
- STDMETHOD(GetIDsOfNames)(THIS_ REFIID,LPOLESTR*,UINT,LCID,DISPID*) PURE;
- STDMETHOD(Invoke)(THIS_ DISPID,REFIID,LCID,WORD,DISPPARAMS*,VARIANT*,EXCEPINFO*,UINT*) PURE;
-
- STDMETHOD(toString)(THIS_ BSTR*) PURE;
- STDMETHOD(put_length)(THIS_ long) PURE;
- STDMETHOD(get_length)(THIS_ long*) PURE;
- STDMETHOD(get__newEnum)(THIS_ IUnknown**) PURE;
- STDMETHOD(item)(THIS_ VARIANT,VARIANT,IDispatch**) PURE;
- STDMETHOD(tags)(THIS_ VARIANT,IDispatch**) PURE;
-};
-
-
-EXTERN_C const IID IID_IHTMLDocument;
-#undef INTERFACE
-#define INTERFACE IHTMLDocument
-DECLARE_INTERFACE_(IHTMLDocument,IDispatch)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(GetTypeInfoCount)(THIS_ UINT*) PURE;
- STDMETHOD(GetTypeInfo)(THIS_ UINT,LCID,LPTYPEINFO*) PURE;
- STDMETHOD(GetIDsOfNames)(THIS_ REFIID,LPOLESTR*,UINT,LCID,DISPID*) PURE;
- STDMETHOD(Invoke)(THIS_ DISPID,REFIID,LCID,WORD,DISPPARAMS*,VARIANT*,EXCEPINFO*,UINT*) PURE;
-
- STDMETHOD(get_Script)(THIS_ IDispatch**) PURE;
-};
-
-EXTERN_C const IID IID_IHTMLDocument2;
-#undef INTERFACE
-#define INTERFACE IHTMLDocument2
-DECLARE_INTERFACE_(IHTMLDocument2,IHTMLDocument)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(GetTypeInfoCount)(THIS_ UINT*) PURE;
- STDMETHOD(GetTypeInfo)(THIS_ UINT,LCID,LPTYPEINFO*) PURE;
- STDMETHOD(GetIDsOfNames)(THIS_ REFIID,LPOLESTR*,UINT,LCID,DISPID*) PURE;
- STDMETHOD(Invoke)(THIS_ DISPID,REFIID,LCID,WORD,DISPPARAMS*,VARIANT*,EXCEPINFO*,UINT*) PURE;
-
- STDMETHOD(get_Script)(THIS_ IDispatch**) PURE;
-
- STDMETHOD(get_all)(THIS_ LPHTMLELEMENTCOLLECTION*) PURE;
- STDMETHOD(get_body)(THIS_ LPHTMLELEMENT*) PURE;
- STDMETHOD(get_activeElement)(THIS_ LPHTMLELEMENT*) PURE;
- STDMETHOD(get_images)(THIS_ LPHTMLELEMENTCOLLECTION*) PURE;
- STDMETHOD(get_applets)(THIS_ LPHTMLELEMENTCOLLECTION*) PURE;
- STDMETHOD(get_links)(THIS_ LPHTMLELEMENTCOLLECTION*) PURE;
- STDMETHOD(get_forms)(THIS_ LPHTMLELEMENTCOLLECTION*) PURE;
- STDMETHOD(get_anchors)(THIS_ LPHTMLELEMENTCOLLECTION*) PURE;
- STDMETHOD(put_title)(THIS_ BSTR) PURE;
- STDMETHOD(get_title)(THIS_ BSTR*) PURE;
- STDMETHOD(get_scripts)(THIS_ LPHTMLELEMENTCOLLECTION*) PURE;
- STDMETHOD(put_designMode)(THIS_ BSTR) PURE;
- STDMETHOD(get_designMode)(THIS_ BSTR*) PURE;
- STDMETHOD(get_selection)(THIS_ LPHTMLSELECTIONOBJECT*) PURE;
- STDMETHOD(get_readyState)(THIS_ BSTR*) PURE;
- STDMETHOD(get_frames)(THIS_ LPHTMLFRAMESCOLLECTION*) PURE;
- STDMETHOD(get_embeds)(THIS_ LPHTMLELEMENTCOLLECTION*) PURE;
- STDMETHOD(get_plugins)(THIS_ LPHTMLELEMENTCOLLECTION*) PURE;
- STDMETHOD(put_alinkColor)(THIS_ VARIANT) PURE;
- STDMETHOD(get_alinkColor)(THIS_ VARIANT*) PURE;
- STDMETHOD(put_bgColor)(THIS_ VARIANT) PURE;
- STDMETHOD(get_bgColor)(THIS_ VARIANT*) PURE;
- STDMETHOD(put_fgColor)(THIS_ VARIANT) PURE;
- STDMETHOD(get_fgColor)(THIS_ VARIANT*) PURE;
- STDMETHOD(put_linkColor)(THIS_ VARIANT) PURE;
- STDMETHOD(get_linkColor)(THIS_ VARIANT*) PURE;
- STDMETHOD(put_vlinkColor)(THIS_ VARIANT) PURE;
- STDMETHOD(get_vlinkColor)(THIS_ VARIANT*) PURE;
- STDMETHOD(get_referrer)(THIS_ BSTR*) PURE;
- STDMETHOD(get_location)(THIS_ LPHTMLLOCATION*) PURE;
- STDMETHOD(get_lastModified)(THIS_ BSTR*) PURE;
- STDMETHOD(put_url)(THIS_ BSTR) PURE;
- STDMETHOD(get_url)(THIS_ BSTR*) PURE;
- STDMETHOD(put_domain)(THIS_ BSTR) PURE;
- STDMETHOD(get_domain)(THIS_ BSTR*) PURE;
- STDMETHOD(put_cookie)(THIS_ BSTR) PURE;
- STDMETHOD(get_cookie)(THIS_ BSTR*) PURE;
- STDMETHOD(put_expands)(THIS_ VARIANT_BOOL) PURE;
- STDMETHOD(get_expands)(THIS_ VARIANT_BOOL*) PURE;
- STDMETHOD(put_charset)(THIS_ BSTR) PURE;
- STDMETHOD(get_charset)(THIS_ BSTR*) PURE;
- STDMETHOD(put_defaultCharset)(THIS_ BSTR) PURE;
- STDMETHOD(get_defaultCharset)(THIS_ BSTR*) PURE;
- STDMETHOD(get_mimeType)(THIS_ BSTR*) PURE;
- STDMETHOD(get_fileSize)(THIS_ BSTR*) PURE;
- STDMETHOD(get_fileCreatedDate)(THIS_ BSTR*) PURE;
- STDMETHOD(get_fileModifiedDate)(THIS_ BSTR*) PURE;
- STDMETHOD(get_fileUpdatedDate)(THIS_ BSTR*) PURE;
- STDMETHOD(get_security)(THIS_ BSTR*) PURE;
- STDMETHOD(get_protocol)(THIS_ BSTR*) PURE;
- STDMETHOD(get_nameProp)(THIS_ BSTR*) PURE;
- STDMETHOD(write)(THIS_ SAFEARRAY*) PURE;
- STDMETHOD(writeln)(THIS_ SAFEARRAY*) PURE;
- STDMETHOD(open)(THIS_ BSTR,VARIANT,VARIANT,VARIANT,IDispatch**) PURE;
- STDMETHOD(close)(THIS) PURE;
- STDMETHOD(clear)(THIS) PURE;
- STDMETHOD(queryCommandSupported)(THIS_ BSTR,VARIANT_BOOL*) PURE;
- STDMETHOD(queryCommandEnabled)(THIS_ BSTR,VARIANT_BOOL*) PURE;
- STDMETHOD(queryCommandState)(THIS_ BSTR,VARIANT_BOOL*) PURE;
- STDMETHOD(queryCommandIndeterm)(THIS_ BSTR,VARIANT_BOOL*) PURE;
- STDMETHOD(queryCommandText)(THIS_ BSTR,BSTR*) PURE;
- STDMETHOD(queryCommandValue)(THIS_ BSTR,VARIANT*) PURE;
- STDMETHOD(execCommand)(THIS_ BSTR,VARIANT_BOOL,VARIANT,VARIANT_BOOL*) PURE;
- STDMETHOD(execCommandShowHelp)(THIS_ BSTR,VARIANT_BOOL*) PURE;
- STDMETHOD(createElement)(THIS_ BSTR,LPHTMLELEMENT*) PURE;
- STDMETHOD(put_onhelp)(THIS_ VARIANT) PURE;
- STDMETHOD(get_onhelp)(THIS_ VARIANT*) PURE;
- STDMETHOD(put_onclick)(THIS_ VARIANT) PURE;
- STDMETHOD(get_onclick)(THIS_ VARIANT*) PURE;
- STDMETHOD(put_ondblclick)(THIS_ VARIANT) PURE;
- STDMETHOD(get_ondblclick)(THIS_ VARIANT*) PURE;
- STDMETHOD(put_onkeyup)(THIS_ VARIANT) PURE;
- STDMETHOD(get_onkeyup)(THIS_ VARIANT*) PURE;
- STDMETHOD(put_onkeydown)(THIS_ VARIANT) PURE;
- STDMETHOD(get_onkeydown)(THIS_ VARIANT*) PURE;
- STDMETHOD(put_onkeypress)(THIS_ VARIANT) PURE;
- STDMETHOD(get_onkeypress)(THIS_ VARIANT*) PURE;
- STDMETHOD(put_onmouseup)(THIS_ VARIANT) PURE;
- STDMETHOD(get_onmouseup)(THIS_ VARIANT*) PURE;
- STDMETHOD(put_onmousedown)(THIS_ VARIANT) PURE;
- STDMETHOD(get_onmousedown)(THIS_ VARIANT*) PURE;
- STDMETHOD(put_onmousemove)(THIS_ VARIANT) PURE;
- STDMETHOD(get_onmousemove)(THIS_ VARIANT*) PURE;
- STDMETHOD(put_onmouseout)(THIS_ VARIANT) PURE;
- STDMETHOD(get_onmouseout)(THIS_ VARIANT*) PURE;
- STDMETHOD(put_onmouseover)(THIS_ VARIANT) PURE;
- STDMETHOD(get_onmouseover)(THIS_ VARIANT*) PURE;
- STDMETHOD(put_onreadystatechange)(THIS_ VARIANT) PURE;
- STDMETHOD(get_onreadystatechange)(THIS_ VARIANT*) PURE;
- STDMETHOD(put_onafterupdate)(THIS_ VARIANT) PURE;
- STDMETHOD(get_onafterupdate)(THIS_ VARIANT*) PURE;
- STDMETHOD(put_onrowexit)(THIS_ VARIANT) PURE;
- STDMETHOD(get_onrowexit)(THIS_ VARIANT*) PURE;
- STDMETHOD(put_onrowenter)(THIS_ VARIANT) PURE;
- STDMETHOD(get_onrowenter)(THIS_ VARIANT*) PURE;
- STDMETHOD(put_ondragstart)(THIS_ VARIANT) PURE;
- STDMETHOD(get_ondragstart)(THIS_ VARIANT*) PURE;
- STDMETHOD(put_onselectstart)(THIS_ VARIANT) PURE;
- STDMETHOD(get_onselectstart)(THIS_ VARIANT*) PURE;
- STDMETHOD(elementFromPoint)(THIS_ long,long,LPHTMLELEMENT*) PURE;
- STDMETHOD(get_parentWindow)(THIS_ LPHTMLWINDOW2*) PURE;
- STDMETHOD(get_styleSheets)(THIS_ LPHTMLSTYLESHEETSCOLLECTION*) PURE;
- STDMETHOD(put_onbeforeupdate)(THIS_ VARIANT) PURE;
- STDMETHOD(get_onbeforeupdate)(THIS_ VARIANT*) PURE;
- STDMETHOD(put_onerrorupdate)(THIS_ VARIANT) PURE;
- STDMETHOD(get_onerrorupdate)(THIS_ VARIANT*) PURE;
- STDMETHOD(toString)(THIS_ BSTR*) PURE;
- STDMETHOD(createStyleSheet)(THIS_ BSTR,long,LPHTMLSTYLESHEET*) PURE;
-};
-
-EXTERN_C const IID IID_IHTMLSelectionObject;
-#undef INTERFACE
-#define INTERFACE IHTMLSelectionObject
-DECLARE_INTERFACE_(IHTMLSelectionObject,IDispatch)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(GetTypeInfoCount)(THIS_ UINT*) PURE;
- STDMETHOD(GetTypeInfo)(THIS_ UINT,LCID,LPTYPEINFO*) PURE;
- STDMETHOD(GetIDsOfNames)(THIS_ REFIID,LPOLESTR*,UINT,LCID,DISPID*) PURE;
- STDMETHOD(Invoke)(THIS_ DISPID,REFIID,LCID,WORD,DISPPARAMS*,VARIANT*,EXCEPINFO*,UINT*) PURE;
-
- STDMETHOD(createRange)(THIS_ IDispatch**) PURE;
- STDMETHOD(empty)(THIS) PURE;
- STDMETHOD(clear)(THIS) PURE;
- STDMETHOD(get_type)(THIS_ BSTR*) PURE;
-};
-
-EXTERN_C const IID IID_IHTMLTxtRange;
-#undef INTERFACE
-#define INTERFACE IHTMLTxtRange
-DECLARE_INTERFACE_(IHTMLTxtRange,IDispatch)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(GetTypeInfoCount)(THIS_ UINT*) PURE;
- STDMETHOD(GetTypeInfo)(THIS_ UINT,LCID,LPTYPEINFO*) PURE;
- STDMETHOD(GetIDsOfNames)(THIS_ REFIID,LPOLESTR*,UINT,LCID,DISPID*) PURE;
- STDMETHOD(Invoke)(THIS_ DISPID,REFIID,LCID,WORD,DISPPARAMS*,VARIANT*,EXCEPINFO*,UINT*) PURE;
-
- STDMETHOD(get_htmlText)(THIS_ BSTR*) PURE;
- STDMETHOD(put_text)(THIS_ BSTR) PURE;
- STDMETHOD(get_text)(THIS_ BSTR*) PURE;
- STDMETHOD(parentElement)(THIS_ LPHTMLELEMENT*) PURE;
- STDMETHOD(duplicate)(THIS_ IHTMLTxtRange**) PURE;
- STDMETHOD(inRange)(THIS_ IHTMLTxtRange*,VARIANT_BOOL*) PURE;
- STDMETHOD(isEqual)(THIS_ IHTMLTxtRange*,VARIANT_BOOL*) PURE;
- STDMETHOD(scrollIntoView)(THIS_ VARIANT_BOOL) PURE;
- STDMETHOD(collapse)(THIS_ VARIANT_BOOL) PURE;
- STDMETHOD(expand)(THIS_ BSTR,VARIANT_BOOL*) PURE;
- STDMETHOD(move)(THIS_ BSTR,long,long*) PURE;
- STDMETHOD(moveStart)(THIS_ BSTR,long,long*) PURE;
- STDMETHOD(moveEnd)(THIS_ BSTR,long,long*) PURE;
- STDMETHOD(select)(THIS) PURE;
- STDMETHOD(pasteHTML)(THIS_ BSTR) PURE;
- STDMETHOD(moveToElementText)(THIS_ LPHTMLELEMENT) PURE;
- STDMETHOD(setEndPoint)(THIS_ BSTR,IHTMLTxtRange*) PURE;
- STDMETHOD(compareEndPoints)(THIS_ BSTR,IHTMLTxtRange*,long*) PURE;
- STDMETHOD(findText)(THIS_ BSTR,long,long,VARIANT_BOOL*) PURE;
- STDMETHOD(moveToPoint)(THIS_ long,long) PURE;
- STDMETHOD(getBookmark)(THIS_ BSTR*) PURE;
- STDMETHOD(moveToBookbark)(THIS_ BSTR,VARIANT_BOOL*) PURE;
- STDMETHOD(queryCommandSupported)(THIS_ BSTR,VARIANT_BOOL*) PURE;
- STDMETHOD(queryCommandEnabled)(THIS_ BSTR,VARIANT_BOOL*) PURE;
- STDMETHOD(queryCommandState)(THIS_ BSTR,VARIANT_BOOL*) PURE;
- STDMETHOD(queryCommandIndeterm)(THIS_ BSTR,VARIANT_BOOL*) PURE;
- STDMETHOD(queryCommandText)(THIS_ BSTR,BSTR*) PURE;
- STDMETHOD(queryCommandValue)(THIS_ BSTR,VARIANT*) PURE;
- STDMETHOD(execCommand)(THIS_ BSTR,VARIANT_BOOL,VARIANT,VARIANT_BOOL*) PURE;
- STDMETHOD(execCommandShowHelp)(THIS_ BSTR,VARIANT_BOOL*) PURE;
-};
-
-EXTERN_C const IID IID_IHTMLElement;
-#undef INTERFACE
-#define INTERFACE IHTMLElement
-DECLARE_INTERFACE_(IHTMLElement,IDispatch)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(GetTypeInfoCount)(THIS_ UINT*) PURE;
- STDMETHOD(GetTypeInfo)(THIS_ UINT,LCID,LPTYPEINFO*) PURE;
- STDMETHOD(GetIDsOfNames)(THIS_ REFIID,LPOLESTR*,UINT,LCID,DISPID*) PURE;
- STDMETHOD(Invoke)(THIS_ DISPID,REFIID,LCID,WORD,DISPPARAMS*,VARIANT*,EXCEPINFO*,UINT*) PURE;
-
- STDMETHOD(setAttribute)(THIS_ BSTR,VARIANT,long) PURE;
- STDMETHOD(getAttribute)(THIS_ BSTR,long,VARIANT*) PURE;
- STDMETHOD(removeAttribute)(THIS_ BSTR,long,VARIANT_BOOL*) PURE;
- STDMETHOD(put_className)(THIS_ BSTR) PURE;
- STDMETHOD(get_className)(THIS_ BSTR*) PURE;
- STDMETHOD(put_id)(THIS_ BSTR) PURE;
- STDMETHOD(get_id)(THIS_ BSTR*) PURE;
- STDMETHOD(get_tagName)(THIS_ BSTR*) PURE;
- STDMETHOD(get_parentElement)(THIS_ LPHTMLELEMENT*) PURE;
- STDMETHOD(get_style)(THIS_ LPHTMLSTYLE*) PURE;
- STDMETHOD(put_onhelp)(THIS_ VARIANT) PURE;
- STDMETHOD(get_onhelp)(THIS_ VARIANT*) PURE;
- STDMETHOD(put_onclick)(THIS_ VARIANT) PURE;
- STDMETHOD(get_onclick)(THIS_ VARIANT*) PURE;
- STDMETHOD(put_ondblclick)(THIS_ VARIANT) PURE;
- STDMETHOD(get_ondblclick)(THIS_ VARIANT*) PURE;
- STDMETHOD(put_onkeydown)(THIS_ VARIANT) PURE;
- STDMETHOD(get_onkeydown)(THIS_ VARIANT*) PURE;
- STDMETHOD(put_onkeyup)(THIS_ VARIANT) PURE;
- STDMETHOD(get_onkeyup)(THIS_ VARIANT*) PURE;
- STDMETHOD(put_onkeypress)(THIS_ VARIANT) PURE;
- STDMETHOD(get_onkeypress)(THIS_ VARIANT*) PURE;
- STDMETHOD(put_onmouseout)(THIS_ VARIANT) PURE;
- STDMETHOD(get_onmouseout)(THIS_ VARIANT*) PURE;
- STDMETHOD(put_onmouseover)(THIS_ VARIANT) PURE;
- STDMETHOD(get_onmouseover)(THIS_ VARIANT*) PURE;
- STDMETHOD(put_onmousemove)(THIS_ VARIANT) PURE;
- STDMETHOD(get_onmousemove)(THIS_ VARIANT*) PURE;
- STDMETHOD(put_onmousedown)(THIS_ VARIANT) PURE;
- STDMETHOD(get_onmousedown)(THIS_ VARIANT*) PURE;
- STDMETHOD(put_onmouseup)(THIS_ VARIANT) PURE;
- STDMETHOD(get_onmouseup)(THIS_ VARIANT*) PURE;
- STDMETHOD(get_document)(THIS_ IDispatch**) PURE;
- STDMETHOD(put_title)(THIS_ BSTR) PURE;
- STDMETHOD(get_title)(THIS_ BSTR*) PURE;
- STDMETHOD(put_language)(THIS_ BSTR) PURE;
- STDMETHOD(get_language)(THIS_ BSTR*) PURE;
- STDMETHOD(put_onselectstart)(THIS_ VARIANT) PURE;
- STDMETHOD(get_onselectstart)(THIS_ VARIANT*) PURE;
- STDMETHOD(scrollIntoView)(THIS_ VARIANT) PURE;
- STDMETHOD(contains)(THIS_ LPHTMLELEMENT,VARIANT_BOOL*) PURE;
- STDMETHOD(get_source3Index)(THIS_ long*) PURE;
- STDMETHOD(get_recordNumber)(THIS_ VARIANT*) PURE;
- STDMETHOD(put_lang)(THIS_ BSTR) PURE;
- STDMETHOD(get_lang)(THIS_ BSTR*) PURE;
- STDMETHOD(get_offsetLeft)(THIS_ long*) PURE;
- STDMETHOD(get_offsetTop)(THIS_ long*) PURE;
- STDMETHOD(get_offsetWidth)(THIS_ long*) PURE;
- STDMETHOD(get_offsetHeight)(THIS_ long*) PURE;
- STDMETHOD(get_offsetParent)(THIS_ LPHTMLELEMENT*) PURE;
- STDMETHOD(put_innerHTML)(THIS_ BSTR) PURE;
- STDMETHOD(get_innerHTML)(THIS_ BSTR*) PURE;
- STDMETHOD(put_innerText)(THIS_ BSTR) PURE;
- STDMETHOD(get_innerText)(THIS_ BSTR*) PURE;
- STDMETHOD(put_outerHTML)(THIS_ BSTR) PURE;
- STDMETHOD(get_outerHTML)(THIS_ BSTR*) PURE;
- STDMETHOD(put_outerText)(THIS_ BSTR) PURE;
- STDMETHOD(get_outerText)(THIS_ BSTR*) PURE;
- STDMETHOD(insertAdjacentHTML)(THIS_ BSTR,BSTR) PURE;
- STDMETHOD(insertAdjacentText)(THIS_ BSTR,BSTR) PURE;
- STDMETHOD(get_parentTextEdit)(THIS_ LPHTMLELEMENT*) PURE;
- STDMETHOD(isTextEdit)(THIS_ VARIANT_BOOL*) PURE;
- STDMETHOD(click)(THIS) PURE;
- STDMETHOD(get_filters)(THIS_ LPHTMLFILTERSCOLLECTION*) PURE;
- STDMETHOD(put_ondragstart)(THIS_ VARIANT) PURE;
- STDMETHOD(get_ondragstart)(THIS_ VARIANT*) PURE;
- STDMETHOD(toString)(THIS_ BSTR*) PURE;
- STDMETHOD(put_onbeforeupdate)(THIS_ VARIANT) PURE;
- STDMETHOD(get_onbeforeupdate)(THIS_ VARIANT*) PURE;
- STDMETHOD(put_onafterupdate)(THIS_ VARIANT) PURE;
- STDMETHOD(get_onafterupdate)(THIS_ VARIANT*) PURE;
- STDMETHOD(put_onerrorupdate)(THIS_ VARIANT) PURE;
- STDMETHOD(get_onerrorupdate)(THIS_ VARIANT*) PURE;
- STDMETHOD(put_onrowexit)(THIS_ VARIANT) PURE;
- STDMETHOD(get_onrowexit)(THIS_ VARIANT*) PURE;
- STDMETHOD(put_onrowenter)(THIS_ VARIANT) PURE;
- STDMETHOD(get_onrowenter)(THIS_ VARIANT*) PURE;
- STDMETHOD(put_ondatasetchanged)(THIS_ VARIANT) PURE;
- STDMETHOD(get_ondatasetchanged)(THIS_ VARIANT*) PURE;
- STDMETHOD(put_ondataavailable)(THIS_ VARIANT) PURE;
- STDMETHOD(get_ondataavailable)(THIS_ VARIANT*) PURE;
- STDMETHOD(put_ondatasetcomplete)(THIS_ VARIANT) PURE;
- STDMETHOD(get_ondatasetcomplete)(THIS_ VARIANT*) PURE;
- STDMETHOD(put_onfilterchange)(THIS_ VARIANT) PURE;
- STDMETHOD(get_onfilterchange)(THIS_ VARIANT*) PURE;
- STDMETHOD(get_children)(THIS_ IDispatch**) PURE;
- STDMETHOD(get_all)(THIS_ IDispatch**) PURE;
-};
-
-EXTERN_C const IID IID_IHTMLFramesCollection2;
-#undef INTERFACE
-#define INTERFACE IHTMLFramesCollection2
-DECLARE_INTERFACE_(IHTMLFramesCollection2,IDispatch)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(GetTypeInfoCount)(THIS_ UINT*) PURE;
- STDMETHOD(GetTypeInfo)(THIS_ UINT,LCID,LPTYPEINFO*) PURE;
- STDMETHOD(GetIDsOfNames)(THIS_ REFIID,LPOLESTR*,UINT,LCID,DISPID*) PURE;
- STDMETHOD(Invoke)(THIS_ DISPID,REFIID,LCID,WORD,DISPPARAMS*,VARIANT*,EXCEPINFO*,UINT*) PURE;
-
- STDMETHOD(item)(THIS_ VARIANT*,VARIANT*) PURE;
- STDMETHOD(get_length)(THIS_ long*) PURE;
-};
-
-EXTERN_C const IID IID_IHTMLWindow2;
-#undef INTERFACE
-#define INTERFACE IHTMLWindow2
-DECLARE_INTERFACE_(IHTMLWindow2,IHTMLFramesCollection2)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(GetTypeInfoCount)(THIS_ UINT*) PURE;
- STDMETHOD(GetTypeInfo)(THIS_ UINT,LCID,LPTYPEINFO*) PURE;
- STDMETHOD(GetIDsOfNames)(THIS_ REFIID,LPOLESTR*,UINT,LCID,DISPID*) PURE;
- STDMETHOD(Invoke)(THIS_ DISPID,REFIID,LCID,WORD,DISPPARAMS*,VARIANT*,EXCEPINFO*,UINT*) PURE;
- STDMETHOD(item)(THIS_ VARIANT*,VARIANT*) PURE;
- STDMETHOD(get_length)(THIS_ long*) PURE;
-
- STDMETHOD(get_frames)(THIS_ IHTMLFramesCollection2**) PURE;
- STDMETHOD(put_defaultStatus)(THIS_ BSTR) PURE;
- STDMETHOD(get_defaultStatus)(THIS_ BSTR*) PURE;
- STDMETHOD(put_status)(THIS_ BSTR) PURE;
- STDMETHOD(get_status)(THIS_ BSTR*) PURE;
- STDMETHOD(setTimeout)(THIS_ BSTR,long,VARIANT*,long*) PURE;
- STDMETHOD(clearTimeout)(THIS_ long) PURE;
- STDMETHOD(alert)(THIS_ BSTR) PURE;
- STDMETHOD(confirm)(THIS_ BSTR,VARIANT_BOOL*) PURE;
- STDMETHOD(prompt)(THIS_ BSTR,BSTR,VARIANT*) PURE;
- STDMETHOD(get_Image)(THIS_ LPHTMLIMAGEELEMENTFACTORY*) PURE;
- STDMETHOD(get_location)(THIS_ LPHTMLLOCATION*) PURE;
- STDMETHOD(get_history)(THIS_ LPOMHISTORY*) PURE;
- STDMETHOD(close)(THIS) PURE;
- STDMETHOD(put_opener)(THIS_ VARIANT) PURE;
- STDMETHOD(get_opener)(THIS_ VARIANT*) PURE;
- STDMETHOD(get_navigator)(THIS_ LPOMNAVIGATOR*) PURE;
- STDMETHOD(put_name)(THIS_ BSTR) PURE;
- STDMETHOD(get_name)(THIS_ BSTR*) PURE;
- STDMETHOD(get_parent)(THIS_ LPHTMLWINDOW2*) PURE;
- STDMETHOD(open)(THIS_ BSTR,BSTR,BSTR,VARIANT_BOOL,LPHTMLWINDOW2*) PURE;
- STDMETHOD(get_self)(THIS_ LPHTMLWINDOW2*) PURE;
- STDMETHOD(get_top)(THIS_ LPHTMLWINDOW2*) PURE;
- STDMETHOD(get_window)(THIS_ LPHTMLWINDOW2*) PURE;
- STDMETHOD(navigate)(THIS_ BSTR) PURE;
- STDMETHOD(put_onfocus)(THIS_ VARIANT) PURE;
- STDMETHOD(get_onfocus)(THIS_ VARIANT*) PURE;
- STDMETHOD(put_onblur)(THIS_ VARIANT) PURE;
- STDMETHOD(get_onblur)(THIS_ VARIANT*) PURE;
- STDMETHOD(put_onload)(THIS_ VARIANT) PURE;
- STDMETHOD(get_onload)(THIS_ VARIANT*) PURE;
- STDMETHOD(put_onbeforeunload)(THIS_ VARIANT) PURE;
- STDMETHOD(get_onbeforeunload)(THIS_ VARIANT*) PURE;
- STDMETHOD(put_onunload)(THIS_ VARIANT) PURE;
- STDMETHOD(get_onunload)(THIS_ VARIANT*) PURE;
- STDMETHOD(put_onhelp)(THIS_ VARIANT) PURE;
- STDMETHOD(get_onhelp)(THIS_ VARIANT*) PURE;
- STDMETHOD(put_onerror)(THIS_ VARIANT) PURE;
- STDMETHOD(get_onerror)(THIS_ VARIANT*) PURE;
- STDMETHOD(put_onresize)(THIS_ VARIANT) PURE;
- STDMETHOD(get_onresize)(THIS_ VARIANT*) PURE;
- STDMETHOD(put_onscroll)(THIS_ VARIANT) PURE;
- STDMETHOD(get_onscroll)(THIS_ VARIANT*) PURE;
- STDMETHOD(get_document)(THIS_ IHTMLDocument2**) PURE;
- STDMETHOD(get_event)(THIS_ LPHTMLEVENTOBJ*) PURE;
- STDMETHOD(get__newEnum)(THIS_ IUnknown**) PURE;
- STDMETHOD(showModalDialog)(THIS_ BSTR,VARIANT*,VARIANT*,VARIANT*) PURE;
- STDMETHOD(showHelp)(THIS_ BSTR,VARIANT,BSTR) PURE;
- STDMETHOD(get_screen)(THIS_ LPHTMLSCREEN*) PURE;
- STDMETHOD(get_Option)(THIS_ LPHTMLOPTIONELEMENTFACTORY*) PURE;
- STDMETHOD(focus)(THIS) PURE;
- STDMETHOD(get_closed)(THIS_ VARIANT_BOOL*) PURE;
- STDMETHOD(blur)(THIS) PURE;
- STDMETHOD(scroll)(THIS_ long,long) PURE;
- STDMETHOD(get_clientInformation)(THIS_ LPOMNAVIGATOR*) PURE;
- STDMETHOD(setInterval)(THIS_ BSTR,long,VARIANT*,long*) PURE;
- STDMETHOD(clearInterval)(THIS_ long) PURE;
- STDMETHOD(put_offscreenBuffering)(THIS_ VARIANT) PURE;
- STDMETHOD(get_offscreenBuffering)(THIS_ VARIANT*) PURE;
- STDMETHOD(execScript)(THIS_ BSTR,BSTR,VARIANT*) PURE;
- STDMETHOD(toString)(THIS_ BSTR*) PURE;
- STDMETHOD(scrollBy)(THIS_ long,long) PURE;
- STDMETHOD(scrollTo)(THIS_ long,long) PURE;
- STDMETHOD(moveTo)(THIS_ long,long) PURE;
- STDMETHOD(moveBy)(THIS_ long,long) PURE;
- STDMETHOD(resizeTo)(THIS_ long,long) PURE;
- STDMETHOD(resizeBy)(THIS_ long,long) PURE;
- STDMETHOD(get_external)(THIS_ IDispatch**) PURE;
-};
-
-EXTERN_C const IID IID_IHTMLFrameBase;
-#undef INTERFACE
-#define INTERFACE IHTMLFrameBase
-DECLARE_INTERFACE_(IHTMLFrameBase,IDispatch)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(GetTypeInfoCount)(THIS_ UINT*) PURE;
- STDMETHOD(GetTypeInfo)(THIS_ UINT,LCID,LPTYPEINFO*) PURE;
- STDMETHOD(GetIDsOfNames)(THIS_ REFIID,LPOLESTR*,UINT,LCID,DISPID*) PURE;
- STDMETHOD(Invoke)(THIS_ DISPID,REFIID,LCID,WORD,DISPPARAMS*,VARIANT*,EXCEPINFO*,UINT*) PURE;
-
- STDMETHOD(put_src)(THIS_ BSTR) PURE;
- STDMETHOD(get_src)(THIS_ BSTR*) PURE;
- STDMETHOD(put_name)(THIS_ BSTR) PURE;
- STDMETHOD(get_name)(THIS_ BSTR*) PURE;
- STDMETHOD(put_border)(THIS_ VARIANT) PURE;
- STDMETHOD(get_border)(THIS_ VARIANT*) PURE;
- STDMETHOD(put_frameBorder)(THIS_ BSTR) PURE;
- STDMETHOD(get_frameBorder)(THIS_ BSTR*) PURE;
- STDMETHOD(put_frameSpacing)(THIS_ VARIANT) PURE;
- STDMETHOD(get_frameSpacing)(THIS_ VARIANT*) PURE;
- STDMETHOD(put_marginWidth)(THIS_ VARIANT) PURE;
- STDMETHOD(get_marginWidth)(THIS_ VARIANT*) PURE;
- STDMETHOD(put_marginHeight)(THIS_ VARIANT) PURE;
- STDMETHOD(get_marginHeight)(THIS_ VARIANT*) PURE;
- STDMETHOD(put_noResize)(THIS_ VARIANT_BOOL) PURE;
- STDMETHOD(get_noResize)(THIS_ VARIANT_BOOL*) PURE;
- STDMETHOD(put_scrolling)(THIS_ BSTR) PURE;
- STDMETHOD(get_scrolling)(THIS_ BSTR*) PURE;
-};
-
-EXTERN_C const IID IID_IHTMLFrameBase2;
-#undef INTERFACE
-#define INTERFACE IHTMLFrameBase2
-DECLARE_INTERFACE_(IHTMLFrameBase2,IDispatch)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(GetTypeInfoCount)(THIS_ UINT*) PURE;
- STDMETHOD(GetTypeInfo)(THIS_ UINT,LCID,LPTYPEINFO*) PURE;
- STDMETHOD(GetIDsOfNames)(THIS_ REFIID,LPOLESTR*,UINT,LCID,DISPID*) PURE;
- STDMETHOD(Invoke)(THIS_ DISPID,REFIID,LCID,WORD,DISPPARAMS*,VARIANT*,EXCEPINFO*,UINT*) PURE;
-
- STDMETHOD(get_contentWindow)(THIS_ IHTMLWindow2 **) PURE;
- STDMETHOD(put_onload)(THIS_ VARIANT) PURE;
- STDMETHOD(get_onload)(THIS_ VARIANT*) PURE;
- STDMETHOD(put_onreadystatechange)(THIS_ VARIANT) PURE;
- STDMETHOD(get_onreadystatechange)(THIS_ VARIANT*) PURE;
- STDMETHOD(get_readyState)(THIS_ BSTR*) PURE;
- STDMETHOD(put_allowTransparency)(THIS_ VARIANT_BOOL) PURE;
- STDMETHOD(get_allowTransparency)(THIS_ VARIANT_BOOL*) PURE;
-};
-
-EXTERN_C const IID IID_IHTMLFrameBase3;
-#undef INTERFACE
-#define INTERFACE IHTMLFrameBase3
-DECLARE_INTERFACE_(IHTMLFrameBase3,IDispatch)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(GetTypeInfoCount)(THIS_ UINT*) PURE;
- STDMETHOD(GetTypeInfo)(THIS_ UINT,LCID,LPTYPEINFO*) PURE;
- STDMETHOD(GetIDsOfNames)(THIS_ REFIID,LPOLESTR*,UINT,LCID,DISPID*) PURE;
- STDMETHOD(Invoke)(THIS_ DISPID,REFIID,LCID,WORD,DISPPARAMS*,VARIANT*,EXCEPINFO*,UINT*) PURE;
-
- STDMETHOD(put_longDesc)(THIS_ BSTR) PURE;
- STDMETHOD(get_longDesc)(THIS_ BSTR*) PURE;
-};
-
-EXTERN_C const IID IID_IHTMLBodyElement;
-#undef INTERFACE
-#define INTERFACE IHTMLBodyElement
-DECLARE_INTERFACE_(IHTMLBodyElement,IDispatch)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(GetTypeInfoCount)(THIS_ UINT*) PURE;
- STDMETHOD(GetTypeInfo)(THIS_ UINT,LCID,LPTYPEINFO*) PURE;
- STDMETHOD(GetIDsOfNames)(THIS_ REFIID,LPOLESTR*,UINT,LCID,DISPID*) PURE;
- STDMETHOD(Invoke)(THIS_ DISPID,REFIID,LCID,WORD,DISPPARAMS*,VARIANT*,EXCEPINFO*,UINT*) PURE;
-
- STDMETHOD(put_background)(THIS_ BSTR) PURE;
- STDMETHOD(get_background)(THIS_ BSTR*) PURE;
- STDMETHOD(put_bgProperties)(THIS_ BSTR) PURE;
- STDMETHOD(get_bgProperties)(THIS_ BSTR*) PURE;
- STDMETHOD(put_leftMargin)(THIS_ VARIANT) PURE;
- STDMETHOD(get_leftMargin)(THIS_ VARIANT*) PURE;
- STDMETHOD(put_topMargin)(THIS_ VARIANT) PURE;
- STDMETHOD(get_topMargin)(THIS_ VARIANT*) PURE;
- STDMETHOD(put_rightMargin)(THIS_ VARIANT) PURE;
- STDMETHOD(get_rightMargin)(THIS_ VARIANT*) PURE;
- STDMETHOD(put_bottomMargin)(THIS_ VARIANT) PURE;
- STDMETHOD(get_bottomMargin)(THIS_ VARIANT*) PURE;
- STDMETHOD(put_noWrap)(THIS_ VARIANT_BOOL) PURE;
- STDMETHOD(get_noWrap)(THIS_ VARIANT_BOOL*) PURE;
- STDMETHOD(put_bgColor)(THIS_ VARIANT) PURE;
- STDMETHOD(get_bgColor)(THIS_ VARIANT*) PURE;
- STDMETHOD(put_text)(THIS_ VARIANT) PURE;
- STDMETHOD(get_text)(THIS_ VARIANT*) PURE;
- STDMETHOD(put_link)(THIS_ VARIANT) PURE;
- STDMETHOD(get_link)(THIS_ VARIANT*) PURE;
- STDMETHOD(put_vLink)(THIS_ VARIANT) PURE;
- STDMETHOD(get_vLink)(THIS_ VARIANT*) PURE;
- STDMETHOD(put_aLink)(THIS_ VARIANT) PURE;
- STDMETHOD(get_aLink)(THIS_ VARIANT*) PURE;
- STDMETHOD(put_onload)(THIS_ VARIANT) PURE;
- STDMETHOD(get_onload)(THIS_ VARIANT*) PURE;
- STDMETHOD(put_onunload)(THIS_ VARIANT) PURE;
- STDMETHOD(get_onunload)(THIS_ VARIANT*) PURE;
- STDMETHOD(put_scroll)(THIS_ BSTR) PURE;
- STDMETHOD(get_scroll)(THIS_ BSTR*) PURE;
- STDMETHOD(put_onselect)(THIS_ VARIANT) PURE;
- STDMETHOD(get_onselect)(THIS_ VARIANT*) PURE;
- STDMETHOD(put_onbeforeunload)(THIS_ VARIANT) PURE;
- STDMETHOD(get_onbeforeunload)(THIS_ VARIANT*) PURE;
- STDMETHOD(createTextRange)(THIS_ IHTMLTxtRange**) PURE;
-};
-
-EXTERN_C const IID IID_IHTMLBodyElement2;
-#undef INTERFACE
-#define INTERFACE IHTMLBodyElement2
-DECLARE_INTERFACE_(IHTMLBodyElement2,IDispatch)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(GetTypeInfoCount)(THIS_ UINT*) PURE;
- STDMETHOD(GetTypeInfo)(THIS_ UINT,LCID,LPTYPEINFO*) PURE;
- STDMETHOD(GetIDsOfNames)(THIS_ REFIID,LPOLESTR*,UINT,LCID,DISPID*) PURE;
- STDMETHOD(Invoke)(THIS_ DISPID,REFIID,LCID,WORD,DISPPARAMS*,VARIANT*,EXCEPINFO*,UINT*) PURE;
-
- STDMETHOD(put_onbeforeprint)(THIS_ VARIANT) PURE;
- STDMETHOD(get_onbeforeprint)(THIS_ VARIANT*) PURE;
- STDMETHOD(put_onafterprint)(THIS_ VARIANT) PURE;
- STDMETHOD(get_onafterprint)(THIS_ VARIANT*) PURE;
-};
-
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/winsup/w32api/include/mswsock.h b/winsup/w32api/include/mswsock.h
deleted file mode 100644
index 0cea0b840..000000000
--- a/winsup/w32api/include/mswsock.h
+++ /dev/null
@@ -1,113 +0,0 @@
-/*
- * mswsock.h
- * MS-specific extensions to Windows Sockets, exported from mswsock.dll.
- * These functions are N/A on Windows9x.
- *
- * This file is part of a free library for the Win32 API.
- * This library 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.
- */
-
-#ifndef _MSWSOCK_H
-#define _MSWSOCK_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define SO_CONNDATA 0x7000
-#define SO_CONNOPT 0x7001
-#define SO_DISCDATA 0x7002
-#define SO_DISCOPT 0x7003
-#define SO_CONNDATALEN 0x7004
-#define SO_CONNOPTLEN 0x7005
-#define SO_DISCDATALEN 0x7006
-#define SO_DISCOPTLEN 0x7007
-#define SO_OPENTYPE 0x7008
-#define SO_SYNCHRONOUS_ALERT 0x10
-#define SO_SYNCHRONOUS_NONALERT 0x20
-#define SO_MAXDG 0x7009
-#define SO_MAXPATHDG 0x700A
-#define SO_UPDATE_ACCEPT_CONTEXT 0x700B
-#define SO_CONNECT_TIME 0x700C
-#define TCP_BSDURGENT 0x7000
-
-#define TF_DISCONNECT 1
-#define TF_REUSE_SOCKET 2
-#define TF_WRITE_BEHIND 4
-#define TF_USE_DEFAULT_WORKER 0
-#define TF_USE_SYSTEM_THREAD 16
-#define TF_USE_KERNEL_APC 32
-
-typedef struct _TRANSMIT_FILE_BUFFERS {
- PVOID Head;
- DWORD HeadLength;
- PVOID Tail;
- DWORD TailLength;
-} TRANSMIT_FILE_BUFFERS, *PTRANSMIT_FILE_BUFFERS, *LPTRANSMIT_FILE_BUFFERS;
-
-int PASCAL WSARecvEx(SOCKET,char*,int,int*);
-BOOL PASCAL TransmitFile(SOCKET,HANDLE,DWORD,DWORD,LPOVERLAPPED,LPTRANSMIT_FILE_BUFFERS,DWORD);
-BOOL PASCAL AcceptEx(SOCKET,SOCKET,PVOID,DWORD,DWORD,DWORD,LPDWORD,LPOVERLAPPED);
-VOID PASCAL GetAcceptExSockaddrs(PVOID,DWORD,DWORD,DWORD,struct sockaddr**, LPINT, struct sockaddr**, LPINT);
-
-#ifdef _WINSOCK2_H /* These require the winsock2 interface. */
-
-#define TP_ELEMENT_FILE 1
-#define TP_ELEMENT_MEMORY 2
-#define TP_ELEMENT_EOP 4
-
-typedef struct _TRANSMIT_PACKETS_ELEMENT {
- ULONG dwElFlags;
- ULONG cLength;
- _ANONYMOUS_UNION
- union {
- struct {
- LARGE_INTEGER nFileOffset;
- HANDLE hFile;
- };
- PVOID pBuffer;
- };
-} TRANSMIT_PACKETS_ELEMENT;
-
-typedef struct _WSAMSG {
- LPSOCKADDR name;
- INT namelen;
- LPWSABUF lpBuffers;
- DWORD dwBufferCount;
- WSABUF Control;
- DWORD dwFlags;
-} WSAMSG, *PWSAMSG, *LPWSAMSG;
-
-
-/* According to MSDN docs, the WSAMSG.Control buffer starts with a
- cmsghdr header of the following form. See also RFC 2292. */
-
-typedef struct wsacmsghdr {
- UINT cmsg_len;
- INT cmsg_level;
- INT cmsg_type;
- /* followed by UCHAR cmsg_data[]; */
-} WSACMSGHDR;
-
-/* TODO: Standard Posix.1g macros as per RFC 2292, with WSA_uglification. */
-#if 0
-#define WSA_CMSG_FIRSTHDR(mhdr)
-#define WSA_CMSG_NXTHDR(mhdr, cmsg)
-#define WSA_CMSG_SPACE(length)
-#define WSA_CMSG_LEN(length)
-#endif
-
-BOOL PASCAL DisconnectEx(SOCKET,LPOVERLAPPED,DWORD,DWORD);
-int PASCAL WSARecvMsg(SOCKET,LPWSAMSG,LPDWORD,LPWSAOVERLAPPED,LPWSAOVERLAPPED_COMPLETION_ROUTINE);
-
-#endif /* _WINSOCK2_H */
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* _MSWSOCK_H */
-
diff --git a/winsup/w32api/include/nb30.h b/winsup/w32api/include/nb30.h
deleted file mode 100644
index c0ef0e53b..000000000
--- a/winsup/w32api/include/nb30.h
+++ /dev/null
@@ -1,186 +0,0 @@
-#ifndef _NB30_H
-#define _NB30_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-#define NCBNAMSZ 16
-#define MAX_LANA 254
-#define NAME_FLAGS_MASK 0x87
-#define GROUP_NAME 0x80
-#define UNIQUE_NAME 0x00
-#define REGISTERING 0x00
-#define REGISTERED 0x04
-#define DEREGISTERED 0x05
-#define DUPLICATE 0x06
-#define DUPLICATE_DEREG 0x07
-#define LISTEN_OUTSTANDING 0x01
-#define CALL_PENDING 0x02
-#define SESSION_ESTABLISHED 0x03
-#define HANGUP_PENDING 0x04
-#define HANGUP_COMPLETE 0x05
-#define SESSION_ABORTED 0x06
-#define ALL_TRANSPORTS "M\0\0\0"
-#define MS_NBF "MNBF"
-#define NCBCALL 0x10
-#define NCBLISTEN 0x11
-#define NCBHANGUP 0x12
-#define NCBSEND 0x14
-#define NCBRECV 0x15
-#define NCBRECVANY 0x16
-#define NCBCHAINSEND 0x17
-#define NCBDGSEND 0x20
-#define NCBDGRECV 0x21
-#define NCBDGSENDBC 0x22
-#define NCBDGRECVBC 0x23
-#define NCBADDNAME 0x30
-#define NCBDELNAME 0x31
-#define NCBRESET 0x32
-#define NCBASTAT 0x33
-#define NCBSSTAT 0x34
-#define NCBCANCEL 0x35
-#define NCBADDGRNAME 0x36
-#define NCBENUM 0x37
-#define NCBUNLINK 0x70
-#define NCBSENDNA 0x71
-#define NCBCHAINSENDNA 0x72
-#define NCBLANSTALERT 0x73
-#define NCBACTION 0x77
-#define NCBFINDNAME 0x78
-#define NCBTRACE 0x79
-#define ASYNCH 0x80
-#define NRC_GOODRET 0x00
-#define NRC_BUFLEN 0x01
-#define NRC_ILLCMD 0x03
-#define NRC_CMDTMO 0x05
-#define NRC_INCOMP 0x06
-#define NRC_BADDR 0x07
-#define NRC_SNUMOUT 0x08
-#define NRC_NORES 0x09
-#define NRC_SCLOSED 0x0a
-#define NRC_CMDCAN 0x0b
-#define NRC_DUPNAME 0x0d
-#define NRC_NAMTFUL 0x0e
-#define NRC_ACTSES 0x0f
-#define NRC_LOCTFUL 0x11
-#define NRC_REMTFUL 0x12
-#define NRC_ILLNN 0x13
-#define NRC_NOCALL 0x14
-#define NRC_NOWILD 0x15
-#define NRC_INUSE 0x16
-#define NRC_NAMERR 0x17
-#define NRC_SABORT 0x18
-#define NRC_NAMCONF 0x19
-#define NRC_IFBUSY 0x21
-#define NRC_TOOMANY 0x22
-#define NRC_BRIDGE 0x23
-#define NRC_CANOCCR 0x24
-#define NRC_CANCEL 0x26
-#define NRC_DUPENV 0x30
-#define NRC_ENVNOTDEF 0x34
-#define NRC_OSRESNOTAV 0x35
-#define NRC_MAXAPPS 0x36
-#define NRC_NOSAPS 0x37
-#define NRC_NORESOURCES 0x38
-#define NRC_INVADDRESS 0x39
-#define NRC_INVDDID 0x3B
-#define NRC_LOCKFAIL 0x3C
-#define NRC_OPENERR 0x3f
-#define NRC_SYSTEM 0x40
-#define NRC_PENDING 0xff
-#define NCB_POST void CALLBACK
-typedef struct _ACTION_HEADER {
- ULONG transport_id;
- USHORT action_code;
- USHORT reserved;
-} ACTION_HEADER,*PACTION_HEADER;
-typedef struct _ADAPTER_STATUS {
- UCHAR adapter_address[6];
- UCHAR rev_major;
- UCHAR reserved0;
- UCHAR adapter_type;
- UCHAR rev_minor;
- WORD duration;
- WORD frmr_recv;
- WORD frmr_xmit;
- WORD iframe_recv_err;
- WORD xmit_aborts;
- DWORD xmit_success;
- DWORD recv_success;
- WORD iframe_xmit_err;
- WORD recv_buff_unavail;
- WORD t1_timeouts;
- WORD ti_timeouts;
- DWORD reserved1;
- WORD free_ncbs;
- WORD max_cfg_ncbs;
- WORD max_ncbs;
- WORD xmit_buf_unavail;
- WORD max_dgram_size;
- WORD pending_sess;
- WORD max_cfg_sess;
- WORD max_sess;
- WORD max_sess_pkt_size;
- WORD name_count;
-} ADAPTER_STATUS,*PADAPTER_STATUS;
-typedef struct _FIND_NAME_BUFFER {
- UCHAR length;
- UCHAR access_control;
- UCHAR frame_control;
- UCHAR destination_addr[6];
- UCHAR source_addr[6];
- UCHAR routing_info[18];
-} FIND_NAME_BUFFER,*PFIND_NAME_BUFFER;
-typedef struct _FIND_NAME_HEADER {
- WORD node_count;
- UCHAR reserved;
- UCHAR unique_group;
-} FIND_NAME_HEADER,*PFIND_NAME_HEADER;
-typedef struct _LANA_ENUM {
- UCHAR length;
- UCHAR lana[MAX_LANA+1];
-} LANA_ENUM,*PLANA_ENUM;
-typedef struct _NAME_BUFFER {
- UCHAR name[NCBNAMSZ];
- UCHAR name_num;
- UCHAR name_flags;
-} NAME_BUFFER,*PNAME_BUFFER;
-typedef struct _NCB {
- UCHAR ncb_command;
- UCHAR ncb_retcode;
- UCHAR ncb_lsn;
- UCHAR ncb_num;
- PUCHAR ncb_buffer;
- WORD ncb_length;
- UCHAR ncb_callname[NCBNAMSZ];
- UCHAR ncb_name[NCBNAMSZ];
- UCHAR ncb_rto;
- UCHAR ncb_sto;
- void (CALLBACK *ncb_post)(struct _NCB*);
- UCHAR ncb_lana_num;
- UCHAR ncb_cmd_cplt;
- UCHAR ncb_reserve[10];
- HANDLE ncb_event;
-} NCB,*PNCB;
-typedef struct _SESSION_BUFFER {
- UCHAR lsn;
- UCHAR state;
- UCHAR local_name[NCBNAMSZ];
- UCHAR remote_name[NCBNAMSZ];
- UCHAR rcvs_outstanding;
- UCHAR sends_outstanding;
-} SESSION_BUFFER,*PSESSION_BUFFER;
-typedef struct _SESSION_HEADER {
- UCHAR sess_name;
- UCHAR num_sess;
- UCHAR rcv_dg_outstanding;
- UCHAR rcv_any_outstanding;
-} SESSION_HEADER,*PSESSION_HEADER;
-UCHAR WINAPI Netbios(PNCB);
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/winsup/w32api/include/nddeapi.h b/winsup/w32api/include/nddeapi.h
deleted file mode 100644
index a6ea207e0..000000000
--- a/winsup/w32api/include/nddeapi.h
+++ /dev/null
@@ -1,133 +0,0 @@
-#ifndef _NDDEAPI_H
-#define _NDDEAPI_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-#ifndef CNLEN /* also in lmcons.h */
-#define CNLEN 15
-#define UNCLEN (CNLEN + 2)
-#endif
-#define SEP_CHAR ','
-#define BAR_CHAR "|"
-#define SEP_WCHAR L','
-#define BAR_WCHAR L"|"
-#define NDDE_NO_ERROR 0
-#define NDDE_ACCESS_DENIED 1
-#define NDDE_BUF_TOO_SMALL 2
-#define NDDE_ERROR_MORE_DATA 3
-#define NDDE_INVALID_SERVER 4
-#define NDDE_INVALID_SHARE 5
-#define NDDE_INVALID_PARAMETER 6
-#define NDDE_INVALID_LEVEL 7
-#define NDDE_INVALID_PASSWORD 8
-#define NDDE_INVALID_ITEMNAME 9
-#define NDDE_INVALID_TOPIC 10
-#define NDDE_INTERNAL_ERROR 11
-#define NDDE_OUT_OF_MEMORY 12
-#define NDDE_INVALID_APPNAME 13
-#define NDDE_NOT_IMPLEMENTED 14
-#define NDDE_SHARE_ALREADY_EXIST 15
-#define NDDE_SHARE_NOT_EXIST 16
-#define NDDE_INVALID_FILENAME 17
-#define NDDE_NOT_RUNNING 18
-#define NDDE_INVALID_WINDOW 19
-#define NDDE_INVALID_SESSION 20
-#define NDDE_INVALID_ITEM_LIST 21
-#define NDDE_SHARE_DATA_CORRUPTED 22
-#define NDDE_REGISTRY_ERROR 23
-#define NDDE_CANT_ACCESS_SERVER 24
-#define NDDE_INVALID_SPECIAL_COMMAND 25
-#define NDDE_INVALID_SECURITY_DESC 26
-#define NDDE_TRUST_SHARE_FAIL 27
-#define MAX_NDDESHARENAME 256
-#define MAX_DOMAINNAME 15
-#define MAX_USERNAME 15
-#define MAX_APPNAME 255
-#define MAX_TOPICNAME 255
-#define MAX_ITEMNAME 255
-#define NDDEF_NOPASSWORDPROMPT 0x0001
-#define NDDEF_NOCACHELOOKUP 0x0002
-#define NDDEF_STRIP_NDDE 0x0004
-#define SHARE_TYPE_OLD 0x01
-#define SHARE_TYPE_NEW 0x02
-#define SHARE_TYPE_STATIC 0x04
-#define NDDE_TRUST_SHARE_START 0x80000000L
-#define NDDE_TRUST_SHARE_INIT 0x40000000L
-#define NDDE_TRUST_SHARE_DEL 0x20000000L
-#define NDDE_TRUST_CMD_SHOW 0x10000000L
-#define NDDE_CMD_SHOW_MASK 0x0000FFFFL
-struct NDdeShareInfo_tag {
- LONG lRevision;
- LPTSTR lpszShareName;
- LONG lShareType;
- LPTSTR lpszAppTopicList;
- LONG fSharedFlag;
- LONG fService;
- LONG fStartAppFlag;
- LONG nCmdShow;
- LONG qModifyId[2];
- LONG cNumItems;
- LPTSTR lpszItemList;
-} NDDESHAREINFO,*PNDDESHAREINFO;
-
-UINT WINAPI NDdeGetErrorStringA(UINT,LPSTR,DWORD);
-UINT WINAPI NDdeGetErrorStringW(UINT,LPWSTR,DWORD);
-UINT WINAPI NDdeGetShareSecurityA(LPSTR,LPSTR,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR,DWORD,PDWORD);
-UINT WINAPI NDdeGetShareSecurityW(LPWSTR,LPWSTR,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR,DWORD,PDWORD);
-UINT WINAPI NDdeGetTrustedShareA(LPSTR,LPSTR,PDWORD,PDWORD,PDWORD);
-UINT WINAPI NDdeGetTrustedShareW(LPWSTR,LPWSTR,PDWORD,PDWORD,PDWORD);
-BOOL WINAPI NDdeIsValidShareNameA(LPSTR);
-BOOL WINAPI NDdeIsValidShareNameW(LPWSTR);
-BOOL WINAPI NDdeIsValidAppTopicListA(LPSTR);
-BOOL WINAPI NDdeIsValidAppTopicListW(LPWSTR);
-UINT WINAPI NDdeSetShareSecurityA(LPSTR,LPSTR,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR);
-UINT WINAPI NDdeSetShareSecurityW(LPWSTR,LPWSTR,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR);
-UINT WINAPI NDdeSetTrustedShareA(LPSTR,LPSTR,DWORD);
-UINT WINAPI NDdeSetTrustedShareW(LPWSTR,LPWSTR,DWORD);
-UINT WINAPI NDdeShareAddA(LPSTR,UINT,PSECURITY_DESCRIPTOR,PBYTE,DWORD);
-UINT WINAPI NDdeShareAddW(LPWSTR,UINT,PSECURITY_DESCRIPTOR,PBYTE,DWORD);
-UINT WINAPI NDdeShareDelA(LPSTR,LPSTR,UINT);
-UINT WINAPI NDdeShareDelW(LPWSTR,LPWSTR,UINT);
-UINT WINAPI NDdeShareEnumA(LPSTR,UINT,PBYTE,DWORD,PDWORD,PDWORD);
-UINT WINAPI NDdeShareEnumW(LPWSTR,UINT,PBYTE,DWORD,PDWORD,PDWORD);
-UINT WINAPI NDdeShareGetInfoA(LPSTR,LPSTR,UINT,PBYTE,DWORD,PDWORD,PWORD);
-UINT WINAPI NDdeShareGetInfoW(LPWSTR,LPWSTR,UINT,PBYTE,DWORD,PDWORD,PWORD);
-UINT WINAPI NDdeShareSetInfoA(LPSTR,LPSTR,UINT,PBYTE,DWORD,WORD);
-UINT WINAPI NDdeShareSetInfoW(LPWSTR,LPWSTR,UINT,PBYTE,DWORD,WORD);
-UINT WINAPI NDdeTrustedShareEnumA(LPSTR,UINT,PBYTE,DWORD,PDWORD,PDWORD);
-UINT WINAPI NDdeTrustedShareEnumW(LPWSTR,UINT,PBYTE,DWORD,PDWORD,PDWORD);
-#ifdef UNICODE
-#define NDdeShareAdd NDdeShareAddW
-#define NDdeShareDel NDdeShareDelW
-#define NDdeSetShareSecurity NDdeSetShareSecurityW
-#define NDdeGetShareSecurity NDdeGetShareSecurityW
-#define NDdeShareEnum NDdeShareEnumW
-#define NDdeShareGetInfo NDdeShareGetInfoW
-#define NDdeShareSetInfo NDdeShareSetInfoW
-#define NDdeGetErrorString NDdeGetErrorStringW
-#define NDdeSetTrustedShare NDdeSetTrustedShareW
-#define NDdeGetTrustedShare NDdeGetTrustedShareW
-#define NDdeTrustedShareEnum NDdeTrustedShareEnumW
-#else
-#define NDdeShareAdd NDdeShareAddA
-#define NDdeShareDel NDdeShareDelA
-#define NDdeSetShareSecurity NDdeSetShareSecurityA
-#define NDdeGetShareSecurity NDdeGetShareSecurityA
-#define NDdeShareEnum NDdeShareEnumA
-#define NDdeShareGetInfo NDdeShareGetInfoA
-#define NDdeShareSetInfo NDdeShareSetInfoA
-#define NDdeGetErrorString NDdeGetErrorStringA
-#define NDdeIsValidShareName NDdeIsValidShareNameA
-#define NDdeIsValidAppTopicList NDdeIsValidAppTopicListA
-#define NDdeSetTrustedShare NDdeSetTrustedShareA
-#define NDdeGetTrustedShare NDdeGetTrustedShareA
-#define NDdeTrustedShareEnum NDdeTrustedShareEnumA
-#endif
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/winsup/w32api/include/nspapi.h b/winsup/w32api/include/nspapi.h
deleted file mode 100644
index 463b13902..000000000
--- a/winsup/w32api/include/nspapi.h
+++ /dev/null
@@ -1,126 +0,0 @@
-#ifndef _NSPAPI_H
-#define _NSPAPI_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define NS_ALL 0
-
-#define NS_SAP 1
-#define NS_NDS 2
-#define NS_PEER_BROWSE 3
-
-#define NS_TCPIP_LOCAL 10
-#define NS_TCPIP_HOSTS 11
-#define NS_DNS 12
-#define NS_NETBT 13
-#define NS_WINS 14
-
-#define NS_NBP 20
-
-#define NS_MS 30
-#define NS_STDA 31
-#define NS_NTDS 32
-
-#define NS_X500 40
-#define NS_NIS 41
-#define NS_NISPLUS 42
-
-#define NS_WRQ 50
-
-#define SERVICE_REGISTER 1
-#define SERVICE_DEREGISTER 2
-#define SERVICE_FLUSH 3
-#define SERVICE_FLAG_HARD 0x00000002
-
-#ifndef RC_INVOKED
-
-#if defined (_WINSOCK_H) || defined (_WINSOCK2_H) /* needed for LPSOCKADDR */
-#ifndef __CSADDR_T_DEFINED /* also in winsock2.h, but not in winsock.h */
-#define __CSADDR_T_DEFINED
-typedef struct _SOCKET_ADDRESS {
- LPSOCKADDR lpSockaddr;
- INT iSockaddrLength;
-} SOCKET_ADDRESS,*PSOCKET_ADDRESS,*LPSOCKET_ADDRESS;
-typedef struct _CSADDR_INFO {
- SOCKET_ADDRESS LocalAddr;
- SOCKET_ADDRESS RemoteAddr;
- INT iSocketType;
- INT iProtocol;
-} CSADDR_INFO,*PCSADDR_INFO,*LPCSADDR_INFO;
-#endif
-#endif
-
-#ifndef __BLOB_T_DEFINED /* also in wtypes.h and winsock2.h */
-#define __BLOB_T_DEFINED
-typedef struct _BLOB {
- ULONG cbSize;
- BYTE *pBlobData;
-} BLOB,*PBLOB,*LPBLOB;
-#endif
-
-typedef struct _SERVICE_ADDRESS {
- DWORD dwAddressType;
- DWORD dwAddressFlags;
- DWORD dwAddressLength;
- DWORD dwPrincipalLength;
- BYTE *lpAddress;
- BYTE *lpPrincipal;
-} SERVICE_ADDRESS;
-typedef struct _SERVICE_ADDRESSES {
- DWORD dwAddressCount;
- SERVICE_ADDRESS Addresses[1];
-} SERVICE_ADDRESSES, *PSERVICE_ADDRESSES, *LPSERVICE_ADDRESSES;
-typedef struct _SERVICE_INFOA {
- LPGUID lpServiceType;
- LPSTR lpServiceName;
- LPSTR lpComment;
- LPSTR lpLocale;
- DWORD dwDisplayHint;
- DWORD dwVersion;
- DWORD dwTime;
- LPSTR lpMachineName;
- LPSERVICE_ADDRESSES lpServiceAddress;
- BLOB ServiceSpecificInfo;
-} SERVICE_INFOA, *LPSERVICE_INFOA;
-typedef struct _SERVICE_INFOW {
- LPGUID lpServiceType;
- LPWSTR lpServiceName;
- LPWSTR lpComment;
- LPWSTR lpLocale;
- DWORD dwDisplayHint;
- DWORD dwVersion;
- DWORD dwTime;
- LPWSTR lpMachineName;
- LPSERVICE_ADDRESSES lpServiceAddress;
- BLOB ServiceSpecificInfo;
-} SERVICE_INFOW, *LPSERVICE_INFOW;
-
-typedef void *LPSERVICE_ASYNC_INFO;
-INT WINAPI SetServiceA(DWORD,DWORD,DWORD,LPSERVICE_INFOA,LPSERVICE_ASYNC_INFO,LPDWORD);
-INT WINAPI SetServiceW(DWORD,DWORD,DWORD,LPSERVICE_INFOW,LPSERVICE_ASYNC_INFO,LPDWORD);
-INT WINAPI GetAddressByNameA(DWORD,LPGUID,LPSTR,LPINT,DWORD,LPSERVICE_ASYNC_INFO,LPVOID,LPDWORD,LPSTR,LPDWORD);
-INT WINAPI GetAddressByNameW(DWORD,LPGUID,LPWSTR,LPINT,DWORD,LPSERVICE_ASYNC_INFO,LPVOID,LPDWORD,LPWSTR,LPDWORD);
-
-#ifdef UNICODE
-typedef SERVICE_INFOW SERVICE_INFO, *LPSERVICE_INFO;
-#define _SERVICE_INFO SERVICE_INFOW
-#define SetService SetServiceW
-#define GetAddressByName GetAddressByNameW
-#else
-typedef SERVICE_INFOA SERVICE_INFO, *LPSERVICE_INFO;
-#define _SERVICE_INFO SERVICE_INFOA
-#define SetService SetServiceA
-#define GetAddressByName GetAddressByNameA
-#endif
-
-#endif /* RC_INVOKED */
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* _NSPAPI_H */
diff --git a/winsup/w32api/include/ntdef.h b/winsup/w32api/include/ntdef.h
deleted file mode 100644
index 83f4fa356..000000000
--- a/winsup/w32api/include/ntdef.h
+++ /dev/null
@@ -1,60 +0,0 @@
-#ifndef _NTDEF_H
-#define _NTDEF_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#define NTAPI __stdcall
-#define OBJ_INHERIT 2L
-#define OBJ_PERMANENT 16L
-#define OBJ_EXCLUSIVE 32L
-#define OBJ_CASE_INSENSITIVE 64L
-#define OBJ_OPENIF 128L
-#define OBJ_OPENLINK 256L
-#define OBJ_VALID_ATTRIBUTES 498L
-#define InitializeObjectAttributes(p,n,a,r,s) { \
- (p)->Length = sizeof(OBJECT_ATTRIBUTES); \
- (p)->RootDirectory = (r); \
- (p)->Attributes = (a); \
- (p)->ObjectName = (n); \
- (p)->SecurityDescriptor = (s); \
- (p)->SecurityQualityOfService = NULL; \
-}
-#ifndef NT_SUCCESS
-#define NT_SUCCESS(x) ((x)>=0)
-#define STATUS_SUCCESS ((NTSTATUS)0)
-#endif
-#if !defined(_NTSECAPI_H) && !defined(_SUBAUTH_H)
-typedef LONG NTSTATUS, *PNTSTATUS;
-typedef struct _UNICODE_STRING {
- USHORT Length;
- USHORT MaximumLength;
- PWSTR Buffer;
-} UNICODE_STRING, *PUNICODE_STRING;
-typedef const UNICODE_STRING* PCUNICODE_STRING;
-typedef struct _STRING {
- USHORT Length;
- USHORT MaximumLength;
- PCHAR Buffer;
-} STRING, *PSTRING;
-#endif
-typedef STRING ANSI_STRING;
-typedef PSTRING PANSI_STRING;
-typedef STRING OEM_STRING;
-typedef PSTRING POEM_STRING;
-typedef LARGE_INTEGER PHYSICAL_ADDRESS, *PPHYSICAL_ADDRESS;
-typedef enum _SECTION_INHERIT {
- ViewShare = 1,
- ViewUnmap = 2
-} SECTION_INHERIT;
-#if !defined(_NTSECAPI_H)
-typedef struct _OBJECT_ATTRIBUTES {
- ULONG Length;
- HANDLE RootDirectory;
- PUNICODE_STRING ObjectName;
- ULONG Attributes;
- PVOID SecurityDescriptor;
- PVOID SecurityQualityOfService;
-} OBJECT_ATTRIBUTES, *POBJECT_ATTRIBUTES;
-#endif
-#endif /* _NTDEF_H */
diff --git a/winsup/w32api/include/ntdll.h b/winsup/w32api/include/ntdll.h
deleted file mode 100644
index b66661399..000000000
--- a/winsup/w32api/include/ntdll.h
+++ /dev/null
@@ -1,15 +0,0 @@
-#ifndef _NTDLL_H
-#define _NTDLL_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-typedef enum _SHUTDOWN_ACTION {
- ShutdownNoReboot,
- ShutdownReboot,
- ShutdownPowerOff
- } SHUTDOWN_ACTION;
-
-DWORD WINAPI NtShutdownSystem (SHUTDOWN_ACTION Action);
-
-#endif /* _NTDLL_H */
diff --git a/winsup/w32api/include/ntldap.h b/winsup/w32api/include/ntldap.h
deleted file mode 100644
index 29236a047..000000000
--- a/winsup/w32api/include/ntldap.h
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- ntldap.h - Header file for the Windows LDAP API Extensions
-
- Written by Filip Navara <xnavara@volny.cz>
-
- References:
- Lightweight Directory Access Protocol Reference
- http://msdn.microsoft.com/library/en-us/netdir/ldap/ldap_reference.asp
-
- This library 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.
-*/
-
-#ifndef _NTLDAP_H
-#define _NTLDAP_H
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-#define LDAP_SERVER_ASQ_OID "1.2.840.113556.1.4.1504"
-#define LDAP_SERVER_ASQ_OID_W L"1.2.840.113556.1.4.1504"
-#define LDAP_SERVER_DIRSYNC_OID "1.2.840.113556.1.4.841"
-#define LDAP_SERVER_DIRSYNC_OID_W L"1.2.840.113556.1.4.841"
-#define LDAP_SERVER_SD_FLAGS_OID "1.2.840.113556.1.4.801"
-#define LDAP_SERVER_SD_FLAGS_OID_W L"1.2.840.113556.1.4.801"
-#define LDAP_SERVER_FAST_BIND_OID "1.2.840.113556.1.4.1781"
-#define LDAP_SERVER_FAST_BIND_OID_W L"1.2.840.113556.1.4.1781"
-#define LDAP_MATCHING_RULE_BIT_OR "1.2.840.113556.1.4.804"
-#define LDAP_MATCHING_RULE_BIT_OR_W L"1.2.840.113556.1.4.804"
-#define LDAP_MATCHING_RULE_BIT_AND "1.2.840.113556.1.4.803"
-#define LDAP_MATCHING_RULE_BIT_AND_W L"1.2.840.113556.1.4.803"
-#define LDAP_SERVER_EXTENDED_DN_OID "1.2.840.113556.1.4.529"
-#define LDAP_SERVER_EXTENDED_DN_OID_W L"1.2.840.113556.1.4.529"
-#define LDAP_SERVER_LAZY_COMMIT_OID "1.2.840.113556.1.4.619"
-#define LDAP_SERVER_LAZY_COMMIT_OID_W L"1.2.840.113556.1.4.619"
-#define LDAP_SERVER_TREE_DELETE_OID "1.2.840.113556.1.4.805"
-#define LDAP_SERVER_TREE_DELETE_OID_W L"1.2.840.113556.1.4.805"
-#define LDAP_SERVER_VERIFY_NAME_OID "1.2.840.113556.1.4.1338"
-#define LDAP_SERVER_VERIFY_NAME_OID_W L"1.2.840.113556.1.4.1338"
-#define LDAP_SERVER_SHOW_DELETED_OID "1.2.840.113556.1.4.417"
-#define LDAP_SERVER_SHOW_DELETED_OID_W L"1.2.840.113556.1.4.417"
-#define LDAP_SERVER_NOTIFICATION_OID "1.2.840.113556.1.4.528"
-#define LDAP_SERVER_NOTIFICATION_OID_W L"1.2.840.113556.1.4.528"
-#define LDAP_SERVER_DOMAIN_SCOPE_OID "1.2.840.113556.1.4.1339"
-#define LDAP_SERVER_DOMAIN_SCOPE_OID_W L"1.2.840.113556.1.4.1339"
-#define LDAP_CAP_ACTIVE_DIRECTORY_OID "1.2.840.113556.1.4.800"
-#define LDAP_CAP_ACTIVE_DIRECTORY_OID_W L"1.2.840.113556.1.4.800"
-#define LDAP_SERVER_SEARCH_OPTIONS_OID "1.2.840.113556.1.4.1340"
-#define LDAP_SERVER_SEARCH_OPTIONS_OID_W L"1.2.840.113556.1.4.1340"
-#define LDAP_CAP_ACTIVE_DIRECTORY_V51_OID "1.2.840.113556.1.4.1670"
-#define LDAP_CAP_ACTIVE_DIRECTORY_V51_OID_W L"1.2.840.113556.1.4.1670"
-#define LDAP_SERVER_PERMISSIVE_MODIFY_OID "1.2.840.113556.1.4.1413"
-#define LDAP_SERVER_PERMISSIVE_MODIFY_OID_W L"1.2.840.113556.1.4.1413"
-#define LDAP_SERVER_CROSSDOM_MOVE_TARGET_OID "1.2.840.113556.1.4.521"
-#define LDAP_SERVER_CROSSDOM_MOVE_TARGET_OID_W L"1.2.840.113556.1.4.521"
-#define SERVER_SEARCH_FLAG_DOMAIN_SCOPE 1
-#define SERVER_SEARCH_FLAG_PHANTOM_ROOT 2
-
-#endif /* _NTLDAP_H */
diff --git a/winsup/w32api/include/ntsecapi.h b/winsup/w32api/include/ntsecapi.h
deleted file mode 100644
index 559087292..000000000
--- a/winsup/w32api/include/ntsecapi.h
+++ /dev/null
@@ -1,612 +0,0 @@
-#ifndef _NTSECAPI_H
-#define _NTSECAPI_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-#define KERB_WRAP_NO_ENCRYPT 0x80000001
-#define LOGON_GUEST 1
-#define LOGON_NOENCRYPTION 2
-#define LOGON_CACHED_ACCOUNT 4
-#define LOGON_USED_LM_PASSWORD 8
-#define LOGON_EXTRA_SIDS 32
-#define LOGON_SUBAUTH_SESSION_KEY 64
-#define LOGON_SERVER_TRUST_ACCOUNT 128
-#define LOGON_NTLMV2_ENABLED 256
-#define LOGON_RESOURCE_GROUPS 512
-#define LOGON_PROFILE_PATH_RETURNED 1024
-#define LOGON_GRACE_LOGON 16777216
-#define LSA_MODE_PASSWORD_PROTECTED 1
-#define LSA_MODE_INDIVIDUAL_ACCOUNTS 2
-#define LSA_MODE_MANDATORY_ACCESS 3
-#define LSA_MODE_LOG_FULL 4
-#define LSA_SUCCESS(x) ((LONG)(x)>=0)
-#define MICROSOFT_KERBEROS_NAME_A "Kerberos"
-#define MICROSOFT_KERBEROS_NAME_W L"Kerberos"
-#define MSV1_0_ALLOW_SERVER_TRUST_ACCOUNT 32
-#define MSV1_0_ALLOW_WORKSTATION_TRUST_ACCOUNT 2048
-#define MSV1_0_CHALLENGE_LENGTH 8
-#define MSV1_0_CLEARTEXT_PASSWORD_ALLOWED 2
-#define MSV1_0_CRED_LM_PRESENT 1
-#define MSV1_0_CRED_NT_PRESENT 2
-#define MSV1_0_CRED_VERSION 0
-#define MSV1_0_DONT_TRY_GUEST_ACCOUNT 16
-#define MSV1_0_LANMAN_SESSION_KEY_LENGTH 8
-#define MSV1_0_MAX_NTLM3_LIFE 1800
-#define MSV1_0_MAX_AVL_SIZE 64000
-#define MSV1_0_MNS_LOGON 16777216
-#define MSV1_0_NTLM3_RESPONSE_LENGTH 16
-#define MSV1_0_NTLM3_OWF_LENGTH 16
-#define MSV1_0_NTLM3_INPUT_LENGTH (sizeof(MSV1_0_NTLM3_RESPONSE)-MSV1_0_NTLM3_RESPONSE_LENGTH)
-#define MSV1_0_OWF_PASSWORD_LENGTH 16
-#define MSV1_0_PACKAGE_NAME "MICROSOFT_AUTHENTICATION_PACKAGE_V1_0"
-#define MSV1_0_PACKAGE_NAMEW L"MICROSOFT_AUTHENTICATION_PACKAGE_V1_0"
-#define MSV1_0_PACKAGE_NAMEW_LENGTH sizeof(MSV1_0_PACKAGE_NAMEW)-sizeof(WCHAR)
-#define MSV1_0_RETURN_USER_PARAMETERS 8
-#define MSV1_0_RETURN_PASSWORD_EXPIRY 64
-#define MSV1_0_RETURN_PROFILE_PATH 512
-#define MSV1_0_SUBAUTHENTICATION_DLL_EX 1048576
-#define MSV1_0_SUBAUTHENTICATION_DLL 0xff000000
-#define MSV1_0_SUBAUTHENTICATION_DLL_SHIFT 24
-#define MSV1_0_SUBAUTHENTICATION_DLL_RAS 2
-#define MSV1_0_SUBAUTHENTICATION_DLL_IIS 132
-#define MSV1_0_SUBAUTHENTICATION_FLAGS 0xff000000
-#define MSV1_0_SUBAUTHENTICATION_KEY "System\\CurrentControlSet\\Control\\Lsa\\MSV1_0"
-#define MSV1_0_SUBAUTHENTICATION_VALUE "Auth"
-#define MSV1_0_TRY_GUEST_ACCOUNT_ONLY 256
-#define MSV1_0_TRY_SPECIFIED_DOMAIN_ONLY 1024
-#define MSV1_0_UPDATE_LOGON_STATISTICS 4
-#define MSV1_0_USE_CLIENT_CHALLENGE 128
-#define MSV1_0_USER_SESSION_KEY_LENGTH 16
-#define POLICY_VIEW_LOCAL_INFORMATION 1
-#define POLICY_VIEW_AUDIT_INFORMATION 2
-#define POLICY_GET_PRIVATE_INFORMATION 4
-#define POLICY_TRUST_ADMIN 8
-#define POLICY_CREATE_ACCOUNT 16
-#define POLICY_CREATE_SECRET 32
-#define POLICY_CREATE_PRIVILEGE 64
-#define POLICY_SET_DEFAULT_QUOTA_LIMITS 128
-#define POLICY_SET_AUDIT_REQUIREMENTS 256
-#define POLICY_AUDIT_LOG_ADMIN 512
-#define POLICY_SERVER_ADMIN 1024
-#define POLICY_LOOKUP_NAMES 2048
-#define POLICY_READ (STANDARD_RIGHTS_READ|6)
-#define POLICY_WRITE (STANDARD_RIGHTS_WRITE|2040)
-#define POLICY_EXECUTE (STANDARD_RIGHTS_EXECUTE|2049)
-#define POLICY_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED|4095)
-#define POLICY_AUDIT_EVENT_UNCHANGED 0
-#define POLICY_AUDIT_EVENT_SUCCESS 1
-#define POLICY_AUDIT_EVENT_FAILURE 2
-#define POLICY_AUDIT_EVENT_NONE 4
-#define POLICY_AUDIT_EVENT_MASK 7
-#define POLICY_LOCATION_LOCAL 1
-#define POLICY_LOCATION_DS 2
-#define POLICY_MACHINE_POLICY_LOCAL 0
-#define POLICY_MACHINE_POLICY_DEFAULTED 1
-#define POLICY_MACHINE_POLICY_EXPLICIT 2
-#define POLICY_MACHINE_POLICY_UNKNOWN 0xFFFFFFFF
-#define POLICY_QOS_SCHANEL_REQUIRED 1
-#define POLICY_QOS_OUTBOUND_INTEGRITY 2
-#define POLICY_QOS_OUTBOUND_CONFIDENTIALITY 4
-#define POLICY_QOS_INBOUND_INTEGREITY 8
-#define POLICY_QOS_INBOUND_CONFIDENTIALITY 16
-#define POLICY_QOS_ALLOW_LOCAL_ROOT_CERT_STORE 32
-#define POLICY_QOS_RAS_SERVER_ALLOWED 64
-#define POLICY_QOS_DHCP_SERVER_ALLOWD 128
-#define POLICY_KERBEROS_FORWARDABLE 1
-#define POLICY_KERBEROS_PROXYABLE 2
-#define POLICY_KERBEROS_RENEWABLE 4
-#define POLICY_KERBEROS_POSTDATEABLE 8
-#define SAM_PASSWORD_CHANGE_NOTIFY_ROUTINE "PasswordChangeNotify"
-#define SAM_INIT_NOTIFICATION_ROUTINE "InitializeChangeNotify"
-#define SAM_PASSWORD_FILTER_ROUTINE "PasswordFilter"
-#define SE_INTERACTIVE_LOGON_NAME TEXT("SeInteractiveLogonRight")
-#define SE_NETWORK_LOGON_NAME TEXT("SeNetworkLogonRight")
-#define SE_BATCH_LOGON_NAME TEXT("SeBatchLogonRight")
-#define SE_SERVICE_LOGON_NAME TEXT("SeServiceLogonRight")
-#define TRUST_ATTRIBUTE_NON_TRANSITIVE 1
-#define TRUST_ATTRIBUTE_UPLEVEL_ONLY 2
-#define TRUST_ATTRIBUTE_TREE_PARENT 4194304
-#define TRUST_ATTRIBUTES_VALID -16580609
-#define TRUST_AUTH_TYPE_NONE 0
-#define TRUST_AUTH_TYPE_NT4OWF 1
-#define TRUST_AUTH_TYPE_CLEAR 2
-#define TRUST_DIRECTION_DISABLED 0
-#define TRUST_DIRECTION_INBOUND 1
-#define TRUST_DIRECTION_OUTBOUND 2
-#define TRUST_DIRECTION_BIDIRECTIONAL 3
-#define TRUST_TYPE_DOWNLEVEL 1
-#define TRUST_TYPE_UPLEVEL 2
-#define TRUST_TYPE_MIT 3
-#define TRUST_TYPE_DCE 4
-#if !defined(_NTDEF_H) && !defined(_SUBAUTH_H)
-typedef LONG NTSTATUS, *PNTSTATUS;
-typedef struct _UNICODE_STRING {
- USHORT Length;
- USHORT MaximumLength;
- PWSTR Buffer;
-} UNICODE_STRING, *PUNICODE_STRING;
-typedef const UNICODE_STRING* PCUNICODE_STRING;
-typedef struct _STRING {
- USHORT Length;
- USHORT MaximumLength;
- PCHAR Buffer;
-} STRING, *PSTRING;
-#endif
-typedef UNICODE_STRING LSA_UNICODE_STRING, *PLSA_UNICODE_STRING;
-typedef STRING LSA_STRING, *PLSA_STRING;
-typedef enum _MSV1_0_LOGON_SUBMIT_TYPE {
- MsV1_0InteractiveLogon = 2,
- MsV1_0Lm20Logon,
- MsV1_0NetworkLogon,
- MsV1_0SubAuthLogon,
- MsV1_0WorkstationUnlockLogon = 7
-} MSV1_0_LOGON_SUBMIT_TYPE, *PMSV1_0_LOGON_SUBMIT_TYPE;
-typedef enum _MSV1_0_PROFILE_BUFFER_TYPE {
- MsV1_0InteractiveProfile = 2,
- MsV1_0Lm20LogonProfile,
- MsV1_0SmartCardProfile
-} MSV1_0_PROFILE_BUFFER_TYPE, *PMSV1_0_PROFILE_BUFFER_TYPE;
-typedef enum {
- MsvAvEOL,
- MsvAvNbComputerName,
- MsvAvNbDomainName,
- MsvAvDnsComputerName,
- MsvAvDnsDomainName
-} MSV1_0_AVID;
-typedef enum _MSV1_0_PROTOCOL_MESSAGE_TYPE {
- MsV1_0Lm20ChallengeRequest = 0,
- MsV1_0Lm20GetChallengeResponse,
- MsV1_0EnumerateUsers,
- MsV1_0GetUserInfo,
- MsV1_0ReLogonUsers,
- MsV1_0ChangePassword,
- MsV1_0ChangeCachedPassword,
- MsV1_0GenericPassthrough,
- MsV1_0CacheLogon,
- MsV1_0SubAuth,
- MsV1_0DeriveCredential,
- MsV1_0CacheLookup
-} MSV1_0_PROTOCOL_MESSAGE_TYPE, *PMSV1_0_PROTOCOL_MESSAGE_TYPE;
-typedef enum _POLICY_LSA_SERVER_ROLE {
- PolicyServerRoleBackup = 2,
- PolicyServerRolePrimary
-} POLICY_LSA_SERVER_ROLE, *PPOLICY_LSA_SERVER_ROLE;
-typedef enum _POLICY_SERVER_ENABLE_STATE {
- PolicyServerEnabled = 2,
- PolicyServerDisabled
-} POLICY_SERVER_ENABLE_STATE, *PPOLICY_SERVER_ENABLE_STATE;
-typedef enum _POLICY_INFORMATION_CLASS {
- PolicyAuditLogInformation = 1,
- PolicyAuditEventsInformation,
- PolicyPrimaryDomainInformation,
- PolicyPdAccountInformation,
- PolicyAccountDomainInformation,
- PolicyLsaServerRoleInformation,
- PolicyReplicaSourceInformation,
- PolicyDefaultQuotaInformation,
- PolicyModificationInformation,
- PolicyAuditFullSetInformation,
- PolicyAuditFullQueryInformation,
- PolicyDnsDomainInformation,
- PolicyEfsInformation
-} POLICY_INFORMATION_CLASS, *PPOLICY_INFORMATION_CLASS;
-typedef enum _POLICY_AUDIT_EVENT_TYPE {
- AuditCategorySystem,
- AuditCategoryLogon,
- AuditCategoryObjectAccess,
- AuditCategoryPrivilegeUse,
- AuditCategoryDetailedTracking,
- AuditCategoryPolicyChange,
- AuditCategoryAccountManagement,
- AuditCategoryDirectoryServiceAccess,
- AuditCategoryAccountLogon
-} POLICY_AUDIT_EVENT_TYPE, *PPOLICY_AUDIT_EVENT_TYPE;
-typedef enum _POLICY_LOCAL_INFORMATION_CLASS {
- PolicyLocalAuditEventsInformation = 1,
- PolicyLocalPdAccountInformation,
- PolicyLocalAccountDomainInformation,
- PolicyLocalLsaServerRoleInformation,
- PolicyLocalReplicaSourceInformation,
- PolicyLocalModificationInformation,
- PolicyLocalAuditFullSetInformation,
- PolicyLocalAuditFullQueryInformation,
- PolicyLocalDnsDomainInformation,
- PolicyLocalIPSecReferenceInformation,
- PolicyLocalMachinePasswordInformation,
- PolicyLocalQualityOfServiceInformation,
- PolicyLocalPolicyLocationInformation
-} POLICY_LOCAL_INFORMATION_CLASS, *PPOLICY_LOCAL_INFORMATION_CLASS;
-typedef enum _POLICY_DOMAIN_INFORMATION_CLASS {
- PolicyDomainIPSecReferenceInformation = 1,
- PolicyDomainQualityOfServiceInformation,
- PolicyDomainEfsInformation,
- PolicyDomainPublicKeyInformation,
- PolicyDomainPasswordPolicyInformation,
- PolicyDomainLockoutInformation,
- PolicyDomainKerberosTicketInformation
-} POLICY_DOMAIN_INFORMATION_CLASS, *PPOLICY_DOMAIN_INFORMATION_CLASS;
-typedef enum _SECURITY_LOGON_TYPE {
- Interactive = 2,
- Network,
- Batch,
- Service,
- Proxy,
- Unlock
-} SECURITY_LOGON_TYPE, *PSECURITY_LOGON_TYPE;
-typedef enum _TRUSTED_INFORMATION_CLASS {
- TrustedDomainNameInformation = 1,
- TrustedControllersInformation,
- TrustedPosixOffsetInformation,
- TrustedPasswordInformation,
- TrustedDomainInformationBasic,
- TrustedDomainInformationEx,
- TrustedDomainAuthInformation,
- TrustedDomainFullInformation
-} TRUSTED_INFORMATION_CLASS, *PTRUSTED_INFORMATION_CLASS;
-typedef struct _DOMAIN_PASSWORD_INFORMATION {
- USHORT MinPasswordLength;
- USHORT PasswordHistoryLength;
- ULONG PasswordProperties;
- LARGE_INTEGER MaxPasswordAge;
- LARGE_INTEGER MinPasswordAge;
-} DOMAIN_PASSWORD_INFORMATION, *PDOMAIN_PASSWORD_INFORMATION;
-typedef ULONG LSA_ENUMERATION_HANDLE, *PLSA_ENUMERATION_HANDLE;
-typedef struct _LSA_ENUMERATION_INFORMATION {
- PSID Sid;
-} LSA_ENUMERATION_INFORMATION, *PLSA_ENUMERATION_INFORMATION;
-typedef ULONG LSA_OPERATIONAL_MODE, *PLSA_OPERATIONAL_MODE;
-#if !defined(_NTDEF_H)
-typedef struct _LSA_OBJECT_ATTRIBUTES {
- ULONG Length;
- HANDLE RootDirectory;
- PLSA_UNICODE_STRING ObjectName;
- ULONG Attributes;
- PVOID SecurityDescriptor;
- PVOID SecurityQualityOfService;
-} OBJECT_ATTRIBUTES, *POBJECT_ATTRIBUTES;
-#endif
-typedef OBJECT_ATTRIBUTES LSA_OBJECT_ATTRIBUTES, *PLSA_OBJECT_ATTRIBUTES;
-typedef struct _LSA_TRUST_INFORMATION {
- LSA_UNICODE_STRING Name;
- PSID Sid;
-} LSA_TRUST_INFORMATION, *PLSA_TRUST_INFORMATION;
-typedef struct _LSA_REFERENCED_DOMAIN_LIST {
- ULONG Entries;
- PLSA_TRUST_INFORMATION Domains;
-} LSA_REFERENCED_DOMAIN_LIST, *PLSA_REFERENCED_DOMAIN_LIST;
-typedef struct _LSA_TRANSLATED_SID {
- SID_NAME_USE Use;
- ULONG RelativeId;
- LONG DomainIndex;
-} LSA_TRANSLATED_SID, *PLSA_TRANSLATED_SID;
-typedef struct _LSA_TRANSLATED_NAME {
- SID_NAME_USE Use;
- LSA_UNICODE_STRING Name;
- LONG DomainIndex;
-} LSA_TRANSLATED_NAME, *PLSA_TRANSLATED_NAME;
-typedef struct _MSV1_0_INTERACTIVE_LOGON {
- MSV1_0_LOGON_SUBMIT_TYPE MessageType;
- UNICODE_STRING LogonDomainName;
- UNICODE_STRING UserName;
- UNICODE_STRING Password;
-} MSV1_0_INTERACTIVE_LOGON, *PMSV1_0_INTERACTIVE_LOGON;
-typedef struct _MSV1_0_INTERACTIVE_PROFILE {
- MSV1_0_PROFILE_BUFFER_TYPE MessageType;
- USHORT LogonCount;
- USHORT BadPasswordCount;
- LARGE_INTEGER LogonTime;
- LARGE_INTEGER LogoffTime;
- LARGE_INTEGER KickOffTime;
- LARGE_INTEGER PasswordLastSet;
- LARGE_INTEGER PasswordCanChange;
- LARGE_INTEGER PasswordMustChange;
- UNICODE_STRING LogonScript;
- UNICODE_STRING HomeDirectory;
- UNICODE_STRING FullName;
- UNICODE_STRING ProfilePath;
- UNICODE_STRING HomeDirectoryDrive;
- UNICODE_STRING LogonServer;
- ULONG UserFlags;
-} MSV1_0_INTERACTIVE_PROFILE, *PMSV1_0_INTERACTIVE_PROFILE;
-typedef struct _MSV1_0_LM20_LOGON {
- MSV1_0_LOGON_SUBMIT_TYPE MessageType;
- UNICODE_STRING LogonDomainName;
- UNICODE_STRING UserName;
- UNICODE_STRING Workstation;
- UCHAR ChallengeToClient[MSV1_0_CHALLENGE_LENGTH];
- STRING CaseSensitiveChallengeResponse;
- STRING CaseInsensitiveChallengeResponse;
- ULONG ParameterControl;
-} MSV1_0_LM20_LOGON, * PMSV1_0_LM20_LOGON;
-typedef struct _MSV1_0_SUBAUTH_LOGON{ /* W2K only */
- MSV1_0_LOGON_SUBMIT_TYPE MessageType;
- UNICODE_STRING LogonDomainName;
- UNICODE_STRING UserName;
- UNICODE_STRING Workstation;
- UCHAR ChallengeToClient[MSV1_0_CHALLENGE_LENGTH];
- STRING AuthenticationInfo1;
- STRING AuthenticationInfo2;
- ULONG ParameterControl;
- ULONG SubAuthPackageId;
-} MSV1_0_SUBAUTH_LOGON, * PMSV1_0_SUBAUTH_LOGON;
-typedef struct _MSV1_0_LM20_LOGON_PROFILE {
- MSV1_0_PROFILE_BUFFER_TYPE MessageType;
- LARGE_INTEGER KickOffTime;
- LARGE_INTEGER LogoffTime;
- ULONG UserFlags;
- UCHAR UserSessionKey[MSV1_0_USER_SESSION_KEY_LENGTH];
- UNICODE_STRING LogonDomainName;
- UCHAR LanmanSessionKey[MSV1_0_LANMAN_SESSION_KEY_LENGTH];
- UNICODE_STRING LogonServer;
- UNICODE_STRING UserParameters;
-} MSV1_0_LM20_LOGON_PROFILE, * PMSV1_0_LM20_LOGON_PROFILE;
-typedef struct _MSV1_0_SUPPLEMENTAL_CREDENTIAL {
- ULONG Version;
- ULONG Flags;
- UCHAR LmPassword[MSV1_0_OWF_PASSWORD_LENGTH];
- UCHAR NtPassword[MSV1_0_OWF_PASSWORD_LENGTH];
-} MSV1_0_SUPPLEMENTAL_CREDENTIAL, *PMSV1_0_SUPPLEMENTAL_CREDENTIAL;
-typedef struct _MSV1_0_NTLM3_RESPONSE {
- UCHAR Response[MSV1_0_NTLM3_RESPONSE_LENGTH];
- UCHAR RespType;
- UCHAR HiRespType;
- USHORT Flags;
- ULONG MsgWord;
- ULONGLONG TimeStamp;
- UCHAR ChallengeFromClient[MSV1_0_CHALLENGE_LENGTH];
- ULONG AvPairsOff;
- UCHAR Buffer[1];
-} MSV1_0_NTLM3_RESPONSE, *PMSV1_0_NTLM3_RESPONSE;
-typedef struct _MSV1_0_AV_PAIR {
- USHORT AvId;
- USHORT AvLen;
-} MSV1_0_AV_PAIR, *PMSV1_0_AV_PAIR;
-typedef struct _MSV1_0_CHANGEPASSWORD_REQUEST {
- MSV1_0_PROTOCOL_MESSAGE_TYPE MessageType;
- UNICODE_STRING DomainName;
- UNICODE_STRING AccountName;
- UNICODE_STRING OldPassword;
- UNICODE_STRING NewPassword;
- BOOLEAN Impersonating;
-} MSV1_0_CHANGEPASSWORD_REQUEST, *PMSV1_0_CHANGEPASSWORD_REQUEST;
-typedef struct _MSV1_0_CHANGEPASSWORD_RESPONSE {
- MSV1_0_PROTOCOL_MESSAGE_TYPE MessageType;
- BOOLEAN PasswordInfoValid;
- DOMAIN_PASSWORD_INFORMATION DomainPasswordInfo;
-} MSV1_0_CHANGEPASSWORD_RESPONSE, *PMSV1_0_CHANGEPASSWORD_RESPONSE;
-typedef struct _MSV1_0_SUBAUTH_REQUEST{
- MSV1_0_PROTOCOL_MESSAGE_TYPE MessageType;
- ULONG SubAuthPackageId;
- ULONG SubAuthInfoLength;
- PUCHAR SubAuthSubmitBuffer;
-} MSV1_0_SUBAUTH_REQUEST, *PMSV1_0_SUBAUTH_REQUEST;
-typedef struct _MSV1_0_SUBAUTH_RESPONSE{
- MSV1_0_PROTOCOL_MESSAGE_TYPE MessageType;
- ULONG SubAuthInfoLength;
- PUCHAR SubAuthReturnBuffer;
-} MSV1_0_SUBAUTH_RESPONSE, *PMSV1_0_SUBAUTH_RESPONSE;
-#define MSV1_0_DERIVECRED_TYPE_SHA1 0
-typedef struct _MSV1_0_DERIVECRED_REQUEST {
- MSV1_0_PROTOCOL_MESSAGE_TYPE MessageType;
- LUID LogonId;
- ULONG DeriveCredType;
- ULONG DeriveCredInfoLength;
- UCHAR DeriveCredSubmitBuffer[1];
-} MSV1_0_DERIVECRED_REQUEST, *PMSV1_0_DERIVECRED_REQUEST;
-typedef struct _MSV1_0_DERIVECRED_RESPONSE {
- MSV1_0_PROTOCOL_MESSAGE_TYPE MessageType;
- ULONG DeriveCredInfoLength;
- UCHAR DeriveCredReturnBuffer[1];
-} MSV1_0_DERIVECRED_RESPONSE, *PMSV1_0_DERIVECRED_RESPONSE;
-typedef ULONG POLICY_AUDIT_EVENT_OPTIONS, *PPOLICY_AUDIT_EVENT_OPTIONS;
-typedef struct _POLICY_PRIVILEGE_DEFINITION {
- LSA_UNICODE_STRING Name;
- LUID LocalValue;
-} POLICY_PRIVILEGE_DEFINITION, *PPOLICY_PRIVILEGE_DEFINITION;
-typedef struct _POLICY_AUDIT_LOG_INFO {
- ULONG AuditLogPercentFull;
- ULONG MaximumLogSize;
- LARGE_INTEGER AuditRetentionPeriod;
- BOOLEAN AuditLogFullShutdownInProgress;
- LARGE_INTEGER TimeToShutdown;
- ULONG NextAuditRecordId;
-} POLICY_AUDIT_LOG_INFO, *PPOLICY_AUDIT_LOG_INFO;
-typedef struct _POLICY_AUDIT_EVENTS_INFO {
- BOOLEAN AuditingMode;
- PPOLICY_AUDIT_EVENT_OPTIONS EventAuditingOptions;
- ULONG MaximumAuditEventCount;
-} POLICY_AUDIT_EVENTS_INFO, *PPOLICY_AUDIT_EVENTS_INFO;
-typedef struct _POLICY_ACCOUNT_DOMAIN_INFO {
- LSA_UNICODE_STRING DomainName;
- PSID DomainSid;
-} POLICY_ACCOUNT_DOMAIN_INFO, *PPOLICY_ACCOUNT_DOMAIN_INFO;
-typedef struct _POLICY_PRIMARY_DOMAIN_INFO {
- LSA_UNICODE_STRING Name;
- PSID Sid;
-} POLICY_PRIMARY_DOMAIN_INFO, *PPOLICY_PRIMARY_DOMAIN_INFO;
-typedef struct _POLICY_DNS_DOMAIN_INFO {
- LSA_UNICODE_STRING Name;
- LSA_UNICODE_STRING DnsDomainName;
- LSA_UNICODE_STRING DnsTreeName;
- GUID DomainGuid;
- PSID Sid;
-} POLICY_DNS_DOMAIN_INFO, *PPOLICY_DNS_DOMAIN_INFO;
-typedef struct _POLICY_PD_ACCOUNT_INFO {
- LSA_UNICODE_STRING Name;
-} POLICY_PD_ACCOUNT_INFO, *PPOLICY_PD_ACCOUNT_INFO;
-typedef struct _POLICY_LSA_SERVER_ROLE_INFO {
- POLICY_LSA_SERVER_ROLE LsaServerRole;
-} POLICY_LSA_SERVER_ROLE_INFO, *PPOLICY_LSA_SERVER_ROLE_INFO;
-typedef struct _POLICY_REPLICA_SOURCE_INFO {
- LSA_UNICODE_STRING ReplicaSource;
- LSA_UNICODE_STRING ReplicaAccountName;
-} POLICY_REPLICA_SOURCE_INFO, *PPOLICY_REPLICA_SOURCE_INFO;
-typedef struct _POLICY_DEFAULT_QUOTA_INFO {
- QUOTA_LIMITS QuotaLimits;
-} POLICY_DEFAULT_QUOTA_INFO, *PPOLICY_DEFAULT_QUOTA_INFO;
-typedef struct _POLICY_MODIFICATION_INFO {
- LARGE_INTEGER ModifiedId;
- LARGE_INTEGER DatabaseCreationTime;
-} POLICY_MODIFICATION_INFO, *PPOLICY_MODIFICATION_INFO;
-typedef struct _POLICY_AUDIT_FULL_SET_INFO {
- BOOLEAN ShutDownOnFull;
-} POLICY_AUDIT_FULL_SET_INFO, *PPOLICY_AUDIT_FULL_SET_INFO;
-typedef struct _POLICY_AUDIT_FULL_QUERY_INFO {
- BOOLEAN ShutDownOnFull;
- BOOLEAN LogIsFull;
-} POLICY_AUDIT_FULL_QUERY_INFO, *PPOLICY_AUDIT_FULL_QUERY_INFO;
-typedef struct _POLICY_EFS_INFO {
- ULONG InfoLength;
- PUCHAR EfsBlob;
-} POLICY_EFS_INFO, *PPOLICY_EFS_INFO;
-typedef struct _POLICY_LOCAL_IPSEC_REFERENCE_INFO {
- LSA_UNICODE_STRING ObjectPath;
-} POLICY_LOCAL_IPSEC_REFERENCE_INFO, *PPOLICY_LOCAL_IPSEC_REFERENCE_INFO;
-typedef struct _POLICY_LOCAL_MACHINE_PASSWORD_INFO {
- LARGE_INTEGER PasswordChangeInterval;
-} POLICY_LOCAL_MACHINE_PASSWORD_INFO, *PPOLICY_LOCAL_MACHINE_PASSWORD_INFO;
-typedef struct _POLICY_LOCAL_POLICY_LOCATION_INFO {
- ULONG PolicyLocation;
-} POLICY_LOCAL_POLICY_LOCATION_INFO, *PPOLICY_LOCAL_POLICY_LOCATION_INFO;
-typedef struct _POLICY_LOCAL_QUALITY_OF_SERVICE_INFO {
- ULONG QualityOfService;
-} POLICY_LOCAL_QUALITY_OF_SERVICE_INFO, *PPOLICY_LOCAL_QUALITY_OF_SERVICE_INFO;
-typedef struct _POLICY_LOCAL_QUALITY_OF_SERVICE_INFO POLICY_DOMAIN_QUALITY_OF_SERVICE_INFO;
-typedef struct _POLICY_LOCAL_QUALITY_OF_SERVICE_INFO *PPOLICY_DOMAIN_QUALITY_OF_SERVICE_INFO;
-typedef struct _POLICY_DOMAIN_PUBLIC_KEY_INFO {
- ULONG InfoLength;
- PUCHAR PublicKeyInfo;
-} POLICY_DOMAIN_PUBLIC_KEY_INFO, *PPOLICY_DOMAIN_PUBLIC_KEY_INFO;
-typedef struct _POLICY_DOMAIN_LOCKOUT_INFO {
- LARGE_INTEGER LockoutDuration;
- LARGE_INTEGER LockoutObservationWindow;
- USHORT LockoutThreshold;
-} POLICY_DOMAIN_LOCKOUT_INFO, *PPOLICY_DOMAIN_LOCKOUT_INFO;
-typedef struct _POLICY_DOMAIN_PASSWORD_INFO {
- USHORT MinPasswordLength;
- USHORT PasswordHistoryLength;
- ULONG PasswordProperties;
- LARGE_INTEGER MaxPasswordAge;
- LARGE_INTEGER MinPasswordAge;
-} POLICY_DOMAIN_PASSWORD_INFO, *PPOLICY_DOMAIN_PASSWORD_INFO;
-typedef struct _POLICY_DOMAIN_KERBEROS_TICKET_INFO {
- ULONG AuthenticationOptions;
- LARGE_INTEGER MinTicketAge;
- LARGE_INTEGER MaxTicketAge;
- LARGE_INTEGER MaxRenewAge;
- LARGE_INTEGER ProxyLifetime;
- LARGE_INTEGER ForceLogoff;
-} POLICY_DOMAIN_KERBEROS_TICKET_INFO, *PPOLICY_DOMAIN_KERBEROS_TICKET_INFO;
-typedef PVOID LSA_HANDLE, *PLSA_HANDLE;
-typedef struct _TRUSTED_DOMAIN_NAME_INFO {
- LSA_UNICODE_STRING Name;
-} TRUSTED_DOMAIN_NAME_INFO, *PTRUSTED_DOMAIN_NAME_INFO;
-typedef struct _TRUSTED_CONTROLLERS_INFO {
- ULONG Entries;
- PLSA_UNICODE_STRING Names;
-} TRUSTED_CONTROLLERS_INFO, *PTRUSTED_CONTROLLERS_INFO;
-typedef struct _TRUSTED_POSIX_OFFSET_INFO {
- ULONG Offset;
-} TRUSTED_POSIX_OFFSET_INFO, *PTRUSTED_POSIX_OFFSET_INFO;
-typedef struct _TRUSTED_PASSWORD_INFO {
- LSA_UNICODE_STRING Password;
- LSA_UNICODE_STRING OldPassword;
-} TRUSTED_PASSWORD_INFO, *PTRUSTED_PASSWORD_INFO;
-typedef LSA_TRUST_INFORMATION TRUSTED_DOMAIN_INFORMATION_BASIC;
-typedef PLSA_TRUST_INFORMATION *PTRUSTED_DOMAIN_INFORMATION_BASIC;
-typedef struct _TRUSTED_DOMAIN_INFORMATION_EX {
- LSA_UNICODE_STRING Name;
- LSA_UNICODE_STRING FlatName;
- PSID Sid;
- ULONG TrustDirection;
- ULONG TrustType;
- ULONG TrustAttributes;
-} TRUSTED_DOMAIN_INFORMATION_EX, *PTRUSTED_DOMAIN_INFORMATION_EX;
-typedef struct _LSA_AUTH_INFORMATION {
- LARGE_INTEGER LastUpdateTime;
- ULONG AuthType;
- ULONG AuthInfoLength;
- PUCHAR AuthInfo;
-} LSA_AUTH_INFORMATION, *PLSA_AUTH_INFORMATION;
-typedef struct _TRUSTED_DOMAIN_AUTH_INFORMATION {
- ULONG IncomingAuthInfos;
- PLSA_AUTH_INFORMATION IncomingAuthenticationInformation;
- PLSA_AUTH_INFORMATION IncomingPreviousAuthenticationInformation;
- ULONG OutgoingAuthInfos;
- PLSA_AUTH_INFORMATION OutgoingAuthenticationInformation;
- PLSA_AUTH_INFORMATION OutgoingPreviousAuthenticationInformation;
-} TRUSTED_DOMAIN_AUTH_INFORMATION, *PTRUSTED_DOMAIN_AUTH_INFORMATION;
-typedef struct _TRUSTED_DOMAIN_FULL_INFORMATION {
- TRUSTED_DOMAIN_INFORMATION_EX Information;
- TRUSTED_POSIX_OFFSET_INFO PosixOffset;
- TRUSTED_DOMAIN_AUTH_INFORMATION AuthInformation;
-} TRUSTED_DOMAIN_FULL_INFORMATION, *PTRUSTED_DOMAIN_FULL_INFORMATION;
-NTSTATUS NTAPI LsaAddAccountRights(LSA_HANDLE,PSID,PLSA_UNICODE_STRING,ULONG);
-NTSTATUS NTAPI LsaCallAuthenticationPackage(HANDLE,ULONG,PVOID,ULONG,PVOID*,
- PULONG,PNTSTATUS);
-NTSTATUS NTAPI LsaClose(LSA_HANDLE);
-NTSTATUS NTAPI LsaConnectUntrusted(PHANDLE);
-NTSTATUS NTAPI LsaCreateTrustedDomainEx(LSA_HANDLE,
- PTRUSTED_DOMAIN_INFORMATION_EX,
- PTRUSTED_DOMAIN_AUTH_INFORMATION,ACCESS_MASK,
- PLSA_HANDLE);
-NTSTATUS NTAPI LsaDeleteTrustedDomain(LSA_HANDLE,PSID);
-NTSTATUS NTAPI LsaDeregisterLogonProcess(HANDLE);
-NTSTATUS NTAPI LsaEnumerateAccountRights(LSA_HANDLE,PSID,PLSA_UNICODE_STRING*,PULONG);
-NTSTATUS NTAPI LsaEnumerateAccountsWithUserRight(LSA_HANDLE,PLSA_UNICODE_STRING,
- PVOID*,PULONG);
-NTSTATUS NTAPI LsaEnumerateTrustedDomains(LSA_HANDLE,PLSA_ENUMERATION_HANDLE,
- PVOID*,ULONG,PULONG);
-NTSTATUS NTAPI LsaEnumerateTrustedDomainsEx(LSA_HANDLE,PLSA_ENUMERATION_HANDLE,
- TRUSTED_INFORMATION_CLASS,PVOID*,ULONG,PULONG);
-NTSTATUS NTAPI LsaFreeMemory(PVOID);
-NTSTATUS NTAPI LsaFreeReturnBuffer(PVOID);
-NTSTATUS NTAPI LsaLogonUser(HANDLE,PLSA_STRING,SECURITY_LOGON_TYPE,ULONG,PVOID,
- ULONG,PTOKEN_GROUPS,PTOKEN_SOURCE,PVOID*,PULONG,
- PLUID,PHANDLE,PQUOTA_LIMITS,PNTSTATUS);
-NTSTATUS NTAPI LsaLookupAuthenticationPackage(HANDLE,PLSA_STRING,PULONG);
-NTSTATUS NTAPI LsaLookupNames(LSA_HANDLE,ULONG,PLSA_UNICODE_STRING,
- PLSA_REFERENCED_DOMAIN_LIST*,PLSA_TRANSLATED_SID*);
-NTSTATUS NTAPI LsaLookupSids(LSA_HANDLE,ULONG,PSID*,
- PLSA_REFERENCED_DOMAIN_LIST*,PLSA_TRANSLATED_NAME*);
-ULONG NTAPI LsaNtStatusToWinError(NTSTATUS);
-NTSTATUS NTAPI LsaOpenPolicy(PLSA_UNICODE_STRING,PLSA_OBJECT_ATTRIBUTES,
- ACCESS_MASK,PLSA_HANDLE);
-NTSTATUS NTAPI LsaQueryDomainInformationPolicy(LSA_HANDLE,
- POLICY_DOMAIN_INFORMATION_CLASS,PVOID*);
-NTSTATUS NTAPI LsaQueryInformationPolicy(LSA_HANDLE,POLICY_INFORMATION_CLASS,PVOID*);
-NTSTATUS NTAPI LsaQueryLocalInformationPolicy(LSA_HANDLE,
- POLICY_LOCAL_INFORMATION_CLASS,PVOID*);
-NTSTATUS NTAPI LsaQueryTrustedDomainInfo(LSA_HANDLE,PSID,
- TRUSTED_INFORMATION_CLASS,PVOID*);
-NTSTATUS NTAPI LsaQueryTrustedDomainInfoByName(LSA_HANDLE,PLSA_UNICODE_STRING,
- TRUSTED_INFORMATION_CLASS,PVOID*);
-NTSTATUS NTAPI LsaRegisterLogonProcess(PLSA_STRING,PHANDLE,PLSA_OPERATIONAL_MODE);
-NTSTATUS NTAPI LsaRemoveAccountRights(LSA_HANDLE,PSID,BOOLEAN,
- PLSA_UNICODE_STRING,ULONG);
-NTSTATUS NTAPI LsaRetrievePrivateData(LSA_HANDLE,PLSA_UNICODE_STRING,
- PLSA_UNICODE_STRING*);
-NTSTATUS NTAPI LsaSetDomainInformationPolicy(LSA_HANDLE,
- POLICY_DOMAIN_INFORMATION_CLASS,PVOID);
-NTSTATUS NTAPI LsaSetInformationPolicy(LSA_HANDLE,POLICY_INFORMATION_CLASS, PVOID);
-NTSTATUS NTAPI LsaSetLocalInformationPolicy(LSA_HANDLE,
- POLICY_LOCAL_INFORMATION_CLASS,PVOID);
-NTSTATUS NTAPI LsaSetTrustedDomainInformation(LSA_HANDLE,PSID,
- TRUSTED_INFORMATION_CLASS,PVOID);
-NTSTATUS NTAPI LsaSetTrustedDomainInfoByName(LSA_HANDLE,PLSA_UNICODE_STRING,
- TRUSTED_INFORMATION_CLASS,PVOID);
-NTSTATUS NTAPI LsaStorePrivateData(LSA_HANDLE,PLSA_UNICODE_STRING,
- PLSA_UNICODE_STRING);
-typedef NTSTATUS (*PSAM_PASSWORD_NOTIFICATION_ROUTINE)(PUNICODE_STRING,
- ULONG,PUNICODE_STRING);
-typedef BOOLEAN (*PSAM_INIT_NOTIFICATION_ROUTINE)(void);
-typedef BOOLEAN (*PSAM_PASSWORD_FILTER_ROUTINE)(PUNICODE_STRING,PUNICODE_STRING,
- PUNICODE_STRING,BOOLEAN);
-#ifdef __cplusplus
-}
-#endif
-#endif /* _NTSECAPI_H */
diff --git a/winsup/w32api/include/ntsecpkg.h b/winsup/w32api/include/ntsecpkg.h
deleted file mode 100644
index 1b6076a86..000000000
--- a/winsup/w32api/include/ntsecpkg.h
+++ /dev/null
@@ -1,44 +0,0 @@
-#ifndef _NTSECPKG_H
-#define _NTSECPKG_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#define ISC_REQ_DELEGATE 1
-#define ISC_REQ_MUTUAL_AUTH 2
-#define ISC_REQ_REPLAY_DETECT 4
-#define ISC_REQ_SEQUENCE_DETECT 8
-#define ISC_REQ_CONFIDENTIALITY 16
-#define ISC_REQ_USE_SESSION_KEY 32
-#define ISC_REQ_PROMPT_FOR_CREDS 64
-#define ISC_REQ_USE_SUPPLIED_CREDS 128
-#define ISC_REQ_ALLOCATE_MEMORY 256
-#define ISC_REQ_USE_DCE_STYLE 512
-#define ISC_REQ_DATAGRAM 1024
-#define ISC_REQ_CONNECTION 2048
-#define ISC_REQ_EXTENDED_ERROR 16384
-#define ISC_REQ_STREAM 32768
-#define ISC_REQ_INTEGRITY 65536
-#define ISC_REQ_MANUAL_CRED_VALIDATION 524288
-#define ISC_REQ_HTTP 268435456
-
-#define ISC_RET_EXTENDED_ERROR 16384
-
-#define ASC_REQ_DELEGATE 1
-#define ASC_REQ_MUTUAL_AUTH 2
-#define ASC_REQ_REPLAY_DETECT 4
-#define ASC_REQ_SEQUENCE_DETECT 8
-#define ASC_REQ_CONFIDENTIALITY 16
-#define ASC_REQ_USE_SESSION_KEY 32
-#define ASC_REQ_ALLOCATE_MEMORY 256
-#define ASC_REQ_USE_DCE_STYLE 512
-#define ASC_REQ_DATAGRAM 1024
-#define ASC_REQ_CONNECTION 2048
-#define ASC_REQ_EXTENDED_ERROR 32768
-#define ASC_REQ_STREAM 65536
-#define ASC_REQ_INTEGRITY 131072
-
-#define SECURITY_NATIVE_DREP 16
-#define SECURITY_NETWORK_DREP 0
-
-#endif /* _NTSECPKG_H */
diff --git a/winsup/w32api/include/oaidl.h b/winsup/w32api/include/oaidl.h
deleted file mode 100644
index 6fb11a632..000000000
--- a/winsup/w32api/include/oaidl.h
+++ /dev/null
@@ -1,771 +0,0 @@
-#ifndef _OAIDL_H
-#define _OAIDL_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-#ifdef NONAMELESSUNION
-#define __VARIANT_NAME_1 n1
-#define __VARIANT_NAME_2 n2
-#define __VARIANT_NAME_3 n3
-#define __VARIANT_NAME_4 n4
-#else
-#define __tagVARIANT
-#define __VARIANT_NAME_1
-#define __VARIANT_NAME_2
-#define __VARIANT_NAME_3
-#define __VARIANT_NAME_4
-#endif
-#define DISPID_UNKNOWN (-1)
-#define DISPID_VALUE (0)
-#define DISPID_PROPERTYPUT (-3)
-#define DISPID_NEWENUM (-4)
-#define DISPID_EVALUATE (-5)
-#define DISPID_CONSTRUCTOR (-6)
-#define DISPID_DESTRUCTOR (-7)
-#define DISPID_COLLECT (-8)
-#define FADF_AUTO (1)
-#define FADF_STATIC (2)
-#define FADF_EMBEDDED (4)
-#define FADF_FIXEDSIZE (16)
-#define FADF_RECORD (32)
-#define FADF_HAVEIID (64)
-#define FADF_HAVEVARTYPE (128)
-#define FADF_BSTR (256)
-#define FADF_UNKNOWN (512)
-#define FADF_DISPATCH (1024)
-#define FADF_VARIANT (2048)
-#define FADF_RESERVED (0xf0e8)
-#define FADF_DATADELETED (0x1000)
-#define FADF_CREATEVECTOR (0x2000)
-#define PARAMFLAG_NONE (0)
-#define PARAMFLAG_FIN (1)
-#define PARAMFLAG_FOUT (2)
-#define PARAMFLAG_FLCID (4)
-#define PARAMFLAG_FRETVAL (8)
-#define PARAMFLAG_FOPT (16)
-#define PARAMFLAG_FHASDEFAULT (32)
-#define IDLFLAG_NONE PARAMFLAG_NONE
-#define IDLFLAG_FIN PARAMFLAG_FIN
-#define IDLFLAG_FOUT PARAMFLAG_FOUT
-#define IDLFLAG_FLCID PARAMFLAG_FLCID
-#define IDLFLAG_FRETVAL PARAMFLAG_FRETVAL
-#define IMPLTYPEFLAG_FDEFAULT 1
-#define IMPLTYPEFLAG_FSOURCE 2
-#define IMPLTYPEFLAG_FRESTRICTED 4
-#define IMPLTYPEFLAG_FDEFAULTVTABLE 8
-
-typedef interface ITypeLib *LPTYPELIB;
-typedef interface ITypeLib2 *LPTYPELIB2;
-typedef interface ICreateTypeInfo *LPCREATETYPEINFO;
-typedef interface ICreateTypeInfo2 *LPCREATETYPEINFO2;
-typedef interface ICreateTypeLib *LPCREATETYPELIB;
-typedef interface ICreateTypeLib2 *LPCREATETYPELIB2;
-typedef interface ITypeComp *LPTYPECOMP;
-typedef interface ITypeInfo *LPTYPEINFO;
-typedef interface ITypeInfo2 *LPTYPEINFO2;
-typedef interface IErrorInfo *LPERRORINFO;
-typedef interface IDispatch *LPDISPATCH;
-typedef interface IEnumVARIANT *LPENUMVARIANT;
-typedef interface ICreateErrorInfo *LPCREATEERRORINFO;
-typedef interface ISupportErrorInfo *LPSUPPORTERRORINFO;
-typedef interface IRecordInfo *LPRECORDINFO;
-
-extern const IID IID_ITypeLib;
-extern const IID IID_ITypeLib2;
-extern const IID IID_ICreateTypeInfo;
-extern const IID IID_ICreateTypeInfo2;
-extern const IID IID_ICreateTypeLib;
-extern const IID IID_ICreateTypeLib2;
-extern const IID IID_ITypeInfo;
-extern const IID IID_ITypeInfo2;
-extern const IID IID_IErrorInfo;
-extern const IID IID_IDispatch;
-extern const IID IID_IEnumVARIANT;
-extern const IID IID_ICreateErrorInfo;
-extern const IID IID_ISupportErrorInfo;
-extern const IID IID_IRecordInfo;
-extern const IID IID_ITypeMarshal;
-
-typedef enum tagSYSKIND {
- SYS_WIN16,SYS_WIN32,SYS_MAC
-} SYSKIND;
-typedef enum tagLIBFLAGS {
- LIBFLAG_FRESTRICTED=1,LIBFLAG_FCONTROL=2,LIBFLAG_FHIDDEN=4,
- LIBFLAG_FHASDISKIMAGE=8
-} LIBFLAGS;
-typedef struct tagTLIBATTR {
- GUID guid;
- LCID lcid;
- SYSKIND syskind;
- WORD wMajorVerNum;
- WORD wMinorVerNum;
- WORD wLibFlags;
-} TLIBATTR,*LPTLIBATTR;
-typedef CY CURRENCY;
-typedef struct tagSAFEARRAYBOUND {
- ULONG cElements;
- LONG lLbound;
-}SAFEARRAYBOUND,*LPSAFEARRAYBOUND;
-typedef struct _wireSAFEARR_BSTR
-{
- ULONG Size;
- wireBSTR *aBstr;
-}SAFEARR_BSTR;
-typedef struct _wireSAFEARR_UNKNOWN {
- ULONG Size;
- IUnknown **apUnknown;
-}SAFEARR_UNKNOWN;
-typedef struct _wireSAFEARR_DISPATCH {
- ULONG Size;
- LPDISPATCH *apDispatch;
-}SAFEARR_DISPATCH;
-typedef struct _wireSAFEARR_VARIANT {
- ULONG Size;
- struct _wireVARIANT *aVariant;
-}SAFEARR_VARIANT;
-typedef enum tagSF_TYPE {
- SF_ERROR=VT_ERROR,
- SF_I1=VT_I1,
- SF_I2=VT_I2,
- SF_I4=VT_I4,
- SF_I8=VT_I8,
- SF_BSTR=VT_BSTR,
- SF_UNKNOWN=VT_UNKNOWN,
- SF_DISPATCH=VT_DISPATCH,
- SF_VARIANT=VT_VARIANT
-}SF_TYPE;
-typedef struct _wireBRECORD {
- ULONG fFlags;
- ULONG clSize;
- LPRECORDINFO* pRecInfo;
- byte* pRecord;
-} *wireBRECORD;
-typedef struct _wireSAFEARR_BRECORD {
- ULONG Size;
- wireBRECORD* aRecord;
- } SAFEARR_BRECORD;
-typedef struct _wireSAFEARR_HAVEIID {
- ULONG Size;
- IUnknown** apUnknown;
- IID iid;
- } SAFEARR_HAVEIID;
-typedef struct _wireSAFEARRAY_UNION {
- ULONG sfType;
- union {
- SAFEARR_BSTR BstrStr;
- SAFEARR_UNKNOWN UnknownStr;
- SAFEARR_DISPATCH DispatchStr;
- SAFEARR_VARIANT VariantStr;
- SAFEARR_BRECORD RecordStr;
- SAFEARR_HAVEIID HaveIidStr;
- BYTE_SIZEDARR ByteStr;
- WORD_SIZEDARR WordStr;
- DWORD_SIZEDARR LongStr;
- HYPER_SIZEDARR HyperStr;
- }u;
-}SAFEARRAYUNION;
-typedef struct _wireSAFEARRAY {
- USHORT cDims;
- USHORT fFeatures;
- ULONG cbElements;
- ULONG cLocks;
- SAFEARRAYUNION uArrayStructs;
- SAFEARRAYBOUND rgsabound[1];
-}*wireSAFEARRAY;
-typedef wireSAFEARRAY *wirePSAFEARRAY;
-typedef struct tagSAFEARRAY {
- USHORT cDims;
- USHORT fFeatures;
- ULONG cbElements;
- ULONG cLocks;
- PVOID pvData;
- SAFEARRAYBOUND rgsabound[1];
-}SAFEARRAY,*LPSAFEARRAY;
-#if defined (__GNUC__) && !defined (NONAMELESSUNION)
-__extension__ /* no named members */
-#endif
-typedef struct tagVARIANT {
- _ANONYMOUS_UNION union {
- struct __tagVARIANT {
- VARTYPE vt;
- WORD wReserved1;
- WORD wReserved2;
- WORD wReserved3;
- _ANONYMOUS_UNION union {
- long lVal;
- LONGLONG llVal;
- unsigned char bVal;
- short iVal;
- float fltVal;
- double dblVal;
- VARIANT_BOOL boolVal;
- SCODE scode;
- CY cyVal;
- DATE date;
- BSTR bstrVal;
- IUnknown *punkVal;
- LPDISPATCH pdispVal;
- SAFEARRAY *parray;
- unsigned char *pbVal;
- short *piVal;
- long *plVal;
- float *pfltVal;
- double *pdblVal;
- VARIANT_BOOL *pboolVal;
- _VARIANT_BOOL *pbool;
- SCODE *pscode;
- CY *pcyVal;
- DATE *pdate;
- BSTR *pbstrVal;
- IUnknown **ppunkVal;
- LPDISPATCH *ppdispVal;
- SAFEARRAY **pparray;
- struct tagVARIANT *pvarVal;
- void *byref;
- CHAR cVal;
- USHORT uiVal;
- ULONG ulVal;
- ULONGLONG ullVal;
- INT intVal;
- UINT uintVal;
- DECIMAL *pdecVal;
- CHAR *pcVal;
- USHORT *puiVal;
- ULONG *pulVal;
- INT *pintVal;
- UINT *puintVal;
- _ANONYMOUS_STRUCT struct {
- PVOID pvRecord;
- struct IRecordInfo *pRecInfo;
- } __VARIANT_NAME_4;
- } __VARIANT_NAME_3;
- } __VARIANT_NAME_2;
- DECIMAL decVal;
- } __VARIANT_NAME_1;
-} VARIANT,*LPVARIANT;
-typedef VARIANT VARIANTARG;
-typedef VARIANT *LPVARIANTARG;
-typedef struct _wireVARIANT {
- DWORD clSize;
- DWORD rpcReserved;
- USHORT vt;
- USHORT wReserved1;
- USHORT wReserved2;
- USHORT wReserved3;
- _ANONYMOUS_UNION union {
- LONG lVal;
- LONGLONG llVal;
- BYTE bVal;
- SHORT iVal;
- FLOAT fltVal;
- DOUBLE dblVal;
- VARIANT_BOOL boolVal;
- SCODE scode;
- CY cyVal;
- DATE date;
- wireBSTR bstrVal;
- IUnknown *punkVal;
- LPDISPATCH pdispVal;
- wirePSAFEARRAY parray;
- wireBRECORD brecVal;
- BYTE *pbVal;
- SHORT *piVal;
- LONG *plVal;
- FLOAT *pfltVal;
- DOUBLE *pdblVal;
- VARIANT_BOOL *pboolVal;
- SCODE *pscode;
- CY *pcyVal;
- DATE *pdate;
- wireBSTR *pbstrVal;
- IUnknown **ppunkVal;
- LPDISPATCH *ppdispVal;
- wirePSAFEARRAY *pparray;
- struct _wireVARIANT *pvarVal;
- CHAR cVal;
- USHORT uiVal;
- ULONG ulVal;
- ULONGLONG ullVal;
- INT intVal;
- UINT uintVal;
- DECIMAL decVal;
- DECIMAL *pdecVal;
- CHAR *pcVal;
- USHORT *puiVal;
- ULONG *pulVal;
- INT *pintVal;
- UINT *puintVal;
- } DUMMYUNIONNAME;
-} *wireVARIANT;
-typedef LONG DISPID;
-typedef DISPID MEMBERID;
-typedef DWORD HREFTYPE;
-typedef enum tagTYPEKIND {
- TKIND_ENUM,TKIND_RECORD,TKIND_MODULE,TKIND_INTERFACE,TKIND_DISPATCH,
- TKIND_COCLASS,TKIND_ALIAS,TKIND_UNION,TKIND_MAX
-}TYPEKIND;
-typedef struct tagTYPEDESC {
- _ANONYMOUS_UNION union {
- struct tagTYPEDESC *lptdesc;
- struct tagARRAYDESC *lpadesc;
- HREFTYPE hreftype;
- } DUMMYUNIONNAME;
- VARTYPE vt;
-}TYPEDESC;
-typedef struct tagARRAYDESC {
- TYPEDESC tdescElem;
- USHORT cDims;
- SAFEARRAYBOUND rgbounds[1];
-}ARRAYDESC;
-typedef struct tagPARAMDESCEX {
- ULONG cBytes;
- VARIANTARG varDefaultValue;
-}PARAMDESCEX,*LPPARAMDESCEX;
-typedef struct tagPARAMDESC {
- LPPARAMDESCEX pparamdescex;
- USHORT wParamFlags;
-}PARAMDESC,*LPPARAMDESC;
-typedef struct tagIDLDESC {
- ULONG dwReserved;
- USHORT wIDLFlags;
-}IDLDESC,*LPIDLDESC;
-typedef struct tagELEMDESC {
- TYPEDESC tdesc;
- _ANONYMOUS_UNION union {
- IDLDESC idldesc;
- PARAMDESC paramdesc;
- } DUMMYUNIONNAME;
-} ELEMDESC,*LPELEMDESC;
-typedef struct tagTYPEATTR {
- GUID guid;
- LCID lcid;
- DWORD dwReserved;
- MEMBERID memidConstructor;
- MEMBERID memidDestructor;
- LPOLESTR lpstrSchema;
- ULONG cbSizeInstance;
- TYPEKIND typekind;
- WORD cFuncs;
- WORD cVars;
- WORD cImplTypes;
- WORD cbSizeVft;
- WORD cbAlignment;
- WORD wTypeFlags;
- WORD wMajorVerNum;
- WORD wMinorVerNum;
- TYPEDESC tdescAlias;
- IDLDESC idldescType;
-}TYPEATTR,*LPTYPEATTR;
-typedef struct tagDISPPARAMS {
- VARIANTARG *rgvarg;
- DISPID *rgdispidNamedArgs;
- UINT cArgs;
- UINT cNamedArgs;
-}DISPPARAMS;
-typedef struct tagEXCEPINFO {
- WORD wCode;
- WORD wReserved;
- BSTR bstrSource;
- BSTR bstrDescription;
- BSTR bstrHelpFile;
- DWORD dwHelpContext;
- PVOID pvReserved;
- HRESULT(__stdcall * pfnDeferredFillIn)(struct tagEXCEPINFO*);
- SCODE scode;
-} EXCEPINFO,*LPEXCEPINFO;
-typedef enum tagCALLCONV {
- CC_FASTCALL,CC_CDECL,CC_MSCPASCAL,CC_PASCAL=CC_MSCPASCAL,
- CC_MACPASCAL,CC_STDCALL,CC_FPFASTCALL,CC_SYSCALL,CC_MPWCDECL,
- CC_MPWPASCAL,CC_MAX=CC_MPWPASCAL
-}CALLCONV;
-typedef enum tagFUNCKIND {
- FUNC_VIRTUAL,FUNC_PUREVIRTUAL,FUNC_NONVIRTUAL,
- FUNC_STATIC,FUNC_DISPATCH
-}FUNCKIND;
-typedef enum tagINVOKEKIND {
- INVOKE_FUNC=1,INVOKE_PROPERTYGET,INVOKE_PROPERTYPUT=4,
- INVOKE_PROPERTYPUTREF=8
-}INVOKEKIND;
-typedef struct tagFUNCDESC {
- MEMBERID memid;
- SCODE *lprgscode;
- ELEMDESC *lprgelemdescParam;
- FUNCKIND funckind;
- INVOKEKIND invkind;
- CALLCONV callconv;
- SHORT cParams;
- SHORT cParamsOpt;
- SHORT oVft;
- SHORT cScodes;
- ELEMDESC elemdescFunc;
- WORD wFuncFlags;
-}FUNCDESC,*LPFUNCDESC;
-typedef enum tagVARKIND {
- VAR_PERINSTANCE,VAR_STATIC,VAR_CONST,VAR_DISPATCH
-} VARKIND;
-typedef struct tagVARDESC {
- MEMBERID memid;
- LPOLESTR lpstrSchema;
- _ANONYMOUS_UNION union {
- ULONG oInst;
- VARIANT *lpvarValue;
- } DUMMYUNIONNAME;
- ELEMDESC elemdescVar;
- WORD wVarFlags;
- VARKIND varkind;
-} VARDESC,*LPVARDESC;
-typedef enum tagTYPEFLAGS {
- TYPEFLAG_FAPPOBJECT=1,TYPEFLAG_FCANCREATE=2,TYPEFLAG_FLICENSED=4,
- TYPEFLAG_FPREDECLID=8,TYPEFLAG_FHIDDEN=16,TYPEFLAG_FCONTROL=32,
- TYPEFLAG_FDUAL=64,TYPEFLAG_FNONEXTENSIBLE=128,
- TYPEFLAG_FOLEAUTOMATION=256,TYPEFLAG_FRESTRICTED=512,
- TYPEFLAG_FAGGREGATABLE=1024,TYPEFLAG_FREPLACEABLE=2048,
- TYPEFLAG_FDISPATCHABLE=4096,TYPEFLAG_FREVERSEBIND=8192
-} TYPEFLAGS;
-typedef enum tagFUNCFLAGS {
- FUNCFLAG_FRESTRICTED=1,FUNCFLAG_FSOURCE=2,FUNCFLAG_FBINDABLE=4,
- FUNCFLAG_FREQUESTEDIT=8,FUNCFLAG_FDISPLAYBIND=16,FUNCFLAG_FDEFAULTBIND=32,
- FUNCFLAG_FHIDDEN=64,FUNCFLAG_FUSESGETLASTERROR=128,FUNCFLAG_FDEFAULTCOLLELEM=256,
- FUNCFLAG_FUIDEFAULT=512,FUNCFLAG_FNONBROWSABLE=1024,FUNCFLAG_FREPLACEABLE=2048,
- FUNCFLAG_FIMMEDIATEBIND=4096
-} FUNCFLAGS;
-typedef enum tagVARFLAGS {
- VARFLAG_FREADONLY=1,VARFLAG_FSOURCE=2,VARFLAG_FBINDABLE=4,VARFLAG_FREQUESTEDIT=8,
- VARFLAG_FDISPLAYBIND=16,VARFLAG_FDEFAULTBIND=32,VARFLAG_FHIDDEN=64,VARFLAG_FRESTRICTED=128,
- VARFLAG_FDEFAULTCOLLELEM=256,VARFLAG_FUIDEFAULT=512,VARFLAG_FNONBROWSABLE=1024,
- VARFLAG_FREPLACEABLE=2048,VARFLAG_FIMMEDIATEBIND=4096
-} VARFLAGS;
-typedef struct tagCLEANLOCALSTORAGE {
- IUnknown *pInterface;
- PVOID pStorage;
- DWORD flags;
-} CLEANLOCALSTORAGE;
-typedef struct tagCUSTDATAITEM {
- GUID guid;
- VARIANTARG varValue;
-} CUSTDATAITEM,*LPCUSTDATAITEM;
-typedef struct tagCUSTDATA {
- DWORD cCustData;
- LPCUSTDATAITEM prgCustData;
-} CUSTDATA,*LPCUSTDATA;
-
-typedef enum tagDESCKIND {
- DESCKIND_NONE=0,DESCKIND_FUNCDESC=DESCKIND_NONE+1,
- DESCKIND_VARDESC=DESCKIND_FUNCDESC+1,DESCKIND_TYPECOMP=DESCKIND_VARDESC+1,
- DESCKIND_IMPLICITAPPOBJ=DESCKIND_TYPECOMP+1,
- DESCKIND_MAX=DESCKIND_IMPLICITAPPOBJ+1
-} DESCKIND;
-
-typedef union tagBINDPTR {
- LPFUNCDESC lpfuncdesc;
- LPVARDESC lpvardesc;
- LPTYPECOMP lptcomp;
-} BINDPTR,*LPBINDPTR;
-
-#undef INTERFACE
-#define INTERFACE IDispatch
-DECLARE_INTERFACE_(IDispatch,IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(GetTypeInfoCount)(THIS_ UINT*) PURE;
- STDMETHOD(GetTypeInfo)(THIS_ UINT,LCID,LPTYPEINFO*) PURE;
- STDMETHOD(GetIDsOfNames)(THIS_ REFIID,LPOLESTR*,UINT,LCID,DISPID*) PURE;
- STDMETHOD(Invoke)(THIS_ DISPID,REFIID,LCID,WORD,DISPPARAMS*,VARIANT*,EXCEPINFO*,UINT*) PURE;
-};
-
-#ifdef COBJMACROS
-#define IDispatch_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IDispatch_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IDispatch_Release(p) (p)->lpVtbl->Release(p)
-#define IDispatch_GetTypeInfoCount(p,a) (p)->lpVtbl->GetTypeInfoCount(p,a)
-#define IDispatch_GetTypeInfo(p,a,b,c) (p)->lpVtbl->GetTypeInfo(p,a,b,c)
-#define IDispatch_GetIDsOfNames(p,a,b,c,d,e) (p)->lpVtbl->GetIDsOfNames(p,a,b,c,d,e)
-#define IDispatch_Invoke(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->Invoke(p,a,b,c,d,e,f,g,h)
-#endif
-
-#undef INTERFACE
-#define INTERFACE IEnumVARIANT
-DECLARE_INTERFACE_(IEnumVARIANT,IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(Next)(THIS_ ULONG,VARIANT*,ULONG*) PURE;
- STDMETHOD(Skip)(THIS_ ULONG) PURE;
- STDMETHOD(Reset)(THIS) PURE;
- STDMETHOD(Clone)(THIS_ IEnumVARIANT**) PURE;
-};
-
-#undef INTERFACE
-#define INTERFACE ITypeComp
-DECLARE_INTERFACE_(ITypeComp,IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(Bind)(THIS_ LPOLESTR,ULONG,WORD,LPTYPEINFO*,DESCKIND*,LPBINDPTR) PURE;
- STDMETHOD(BindType)(THIS_ LPOLESTR,ULONG,LPTYPEINFO*,LPTYPECOMP*) PURE;
-};
-
-#undef INTERFACE
-#define INTERFACE ITypeInfo
-DECLARE_INTERFACE_(ITypeInfo,IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(GetTypeAttr)(THIS_ LPTYPEATTR*) PURE;
- STDMETHOD(GetTypeComp)(THIS_ LPTYPECOMP*) PURE;
- STDMETHOD(GetFuncDesc)(THIS_ UINT,LPFUNCDESC*) PURE;
- STDMETHOD(GetVarDesc)(THIS_ UINT,LPVARDESC*) PURE;
- STDMETHOD(GetNames)(THIS_ MEMBERID,BSTR*,UINT,UINT*) PURE;
- STDMETHOD(GetRefTypeOfImplType)(THIS_ UINT,HREFTYPE*) PURE;
- STDMETHOD(GetImplTypeFlags)(THIS_ UINT,INT*) PURE;
- STDMETHOD(GetIDsOfNames)(THIS_ LPOLESTR*,UINT,MEMBERID*) PURE;
- STDMETHOD(Invoke)(THIS_ PVOID,MEMBERID,WORD,DISPPARAMS*,VARIANT*,EXCEPINFO*,UINT*) PURE;
- STDMETHOD(GetDocumentation)(THIS_ MEMBERID,BSTR*,BSTR*,DWORD*,BSTR*) PURE;
- STDMETHOD(GetDllEntry)(THIS_ MEMBERID,INVOKEKIND,BSTR*,BSTR*,WORD*) PURE;
- STDMETHOD(GetRefTypeInfo)(THIS_ HREFTYPE,LPTYPEINFO*) PURE;
- STDMETHOD(AddressOfMember)(THIS_ MEMBERID,INVOKEKIND,PVOID*) PURE;
- STDMETHOD(CreateInstance)(THIS_ LPUNKNOWN,REFIID,PVOID*) PURE;
- STDMETHOD(GetMops)(THIS_ MEMBERID,BSTR*) PURE;
- STDMETHOD(GetContainingTypeLib)(THIS_ LPTYPELIB*,UINT*) PURE;
- STDMETHOD_(void,ReleaseTypeAttr)(THIS_ LPTYPEATTR) PURE;
- STDMETHOD_(void,ReleaseFuncDesc)(THIS_ LPFUNCDESC) PURE;
- STDMETHOD_(void,ReleaseVarDesc)(THIS_ LPVARDESC) PURE;
-};
-
-#ifdef COBJMACROS
-#define ITypeInfo_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define ITypeInfo_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define ITypeInfo_Release(p) (p)->lpVtbl->Release(p)
-#define ITypeInfo_GetTypeAttr(p,a) (p)->lpVtbl->GetTypeAttr(p,a)
-#define ITypeInfo_GetTypeComp(p,a) (p)->lpVtbl->GetTypeComp(p,a)
-#define ITypeInfo_GetFuncDesc(p,a,b) (p)->lpVtbl->GetFuncDesc(p,a,b)
-#define ITypeInfo_GetVarDesc(p,a,b) (p)->lpVtbl->GetVarDesc(p,a,b)
-#define ITypeInfo_GetNames(p,a,b,c,d) (p)->lpVtbl->GetNames(p,a,b,c,d)
-#define ITypeInfo_GetRefTypeOfImplType(p,a,b) (p)->lpVtbl->GetRefTypeOfImplType(p,a,b)
-#define ITypeInfo_GetImplTypeFlags(p,a,b) (p)->lpVtbl->GetImplTypeFlags(p,a,b)
-#define ITypeInfo_GetIDsOfNames(p,a,b,c) (p)->lpVtbl->GetIDsOfNames(p,a,b,c)
-#define ITypeInfo_Invoke(p,a,b,c,d,e,f,g) (p)->lpVtbl->Invoke(p,a,b,c,d,e,f,g)
-#define ITypeInfo_GetDocumentation(p,a,b,c,d,e) (p)->lpVtbl->GetDocumentation(p,a,b,c,d,e)
-#define ITypeInfo_GetDllEntry(p,a,b,c,d,e) (p)->lpVtbl->GetDllEntry(p,a,b,c,d,e)
-#define ITypeInfo_GetRefTypeInfo(p,a,b) (p)->lpVtbl->GetRefTypeInfo(p,a,b)
-#define ITypeInfo_AddressOfMember(p,a,b,c) (p)->lpVtbl->AddressOfMember(p,a,b,c)
-#define ITypeInfo_CreateInstance(p,a,b,c) (p)->lpVtbl->CreateInstance(p,a,b,c)
-#define ITypeInfo_GetMops(p,a,b) (p)->lpVtbl->GetMops(p,a,b)
-#define ITypeInfo_GetContainingTypeLib(p,a,b) (p)->lpVtbl->GetContainingTypeLib(p,a,b)
-#define ITypeInfo_ReleaseTypeAttr(p,a) (p)->lpVtbl->ReleaseTypeAttr(p,a)
-#define ITypeInfo_ReleaseFuncDesc(p,a) (p)->lpVtbl->ReleaseFuncDesc(p,a)
-#define ITypeInfo_ReleaseVarDesc(p,a) (p)->lpVtbl->ReleaseVarDesc(p,a)
-#endif
-
-#undef INTERFACE
-#define INTERFACE ITypeInfo2
-DECLARE_INTERFACE_(ITypeInfo2,ITypeInfo)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(GetTypeAttr)(THIS_ LPTYPEATTR*) PURE;
- STDMETHOD(GetTypeComp)(THIS_ LPTYPECOMP*) PURE;
- STDMETHOD(GetFuncDesc)(THIS_ UINT,LPFUNCDESC*) PURE;
- STDMETHOD(GetVarDesc)(THIS_ UINT,LPVARDESC*) PURE;
- STDMETHOD(GetNames)(THIS_ MEMBERID,BSTR*,UINT,UINT*) PURE;
- STDMETHOD(GetRefTypeOfImplType)(THIS_ UINT,HREFTYPE*) PURE;
- STDMETHOD(GetImplTypeFlags)(THIS_ UINT,INT*) PURE;
- STDMETHOD(GetIDsOfNames)(THIS_ LPOLESTR*,UINT,MEMBERID*) PURE;
- STDMETHOD(Invoke)(THIS_ PVOID,MEMBERID,WORD,DISPPARAMS*,VARIANT*,EXCEPINFO*,UINT*) PURE;
- STDMETHOD(GetDocumentation)(THIS_ MEMBERID,BSTR*,BSTR*,DWORD*,BSTR*) PURE;
- STDMETHOD(GetDllEntry)(THIS_ MEMBERID,INVOKEKIND,BSTR*,BSTR*,WORD*) PURE;
- STDMETHOD(GetRefTypeInfo)(THIS_ HREFTYPE,LPTYPEINFO*) PURE;
- STDMETHOD(AddressOfMember)(THIS_ MEMBERID,INVOKEKIND,PVOID*) PURE;
- STDMETHOD(CreateInstance)(THIS_ LPUNKNOWN,REFIID,PVOID*) PURE;
- STDMETHOD(GetMops)(THIS_ MEMBERID,BSTR*) PURE;
- STDMETHOD(GetContainingTypeLib)(THIS_ LPTYPELIB*,UINT*) PURE;
- STDMETHOD_(void,ReleaseTypeAttr)(THIS_ LPTYPEATTR) PURE;
- STDMETHOD_(void,ReleaseFuncDesc)(THIS_ LPFUNCDESC) PURE;
- STDMETHOD_(void,ReleaseVarDesc)(THIS_ LPVARDESC) PURE;
- STDMETHOD(GetTypeKind)(THIS_ TYPEKIND*) PURE;
- STDMETHOD(GetTypeFlags)(THIS_ ULONG*) PURE;
- STDMETHOD(GetFuncIndexOfMemId)(THIS_ MEMBERID,INVOKEKIND,UINT*) PURE;
- STDMETHOD(GetVarIndexOfMemId)(THIS_ MEMBERID,UINT*) PURE;
- STDMETHOD(GetCustData)(THIS_ REFGUID,VARIANT*) PURE;
- STDMETHOD(GetFuncCustData)(THIS_ UINT,REFGUID,VARIANT*) PURE;
- STDMETHOD(GetParamCustData)(THIS_ UINT,UINT,REFGUID,VARIANT*) PURE;
- STDMETHOD(GetVarCustData)(THIS_ UINT,REFGUID,VARIANT*) PURE;
- STDMETHOD(GetImplTypeCustData)(THIS_ UINT,REFGUID,VARIANT*) PURE;
- STDMETHOD(GetDocumentation2)(THIS_ MEMBERID,LCID,BSTR*,DWORD*,BSTR*) PURE;
- STDMETHOD(GetAllCustData)(THIS_ CUSTDATA*) PURE;
- STDMETHOD(GetAllFuncCustData)(THIS_ UINT,CUSTDATA*) PURE;
- STDMETHOD(GetAllParamCustData)(THIS_ UINT,UINT,CUSTDATA*) PURE;
- STDMETHOD(GetAllVarCustData)(THIS_ UINT,CUSTDATA*) PURE;
- STDMETHOD(GetAllImplTypeCustData)(THIS_ UINT,CUSTDATA*) PURE;
-};
-
-#undef INTERFACE
-#define INTERFACE ITypeLib
-DECLARE_INTERFACE_(ITypeLib,IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD_(UINT,GetTypeInfoCount)(THIS) PURE;
- STDMETHOD(GetTypeInfo)(THIS_ UINT,ITypeInfo**) PURE;
- STDMETHOD(GetTypeInfoType)(THIS_ UINT,TYPEKIND*) PURE;
- STDMETHOD(GetTypeInfoOfGuid)(THIS_ REFGUID,ITypeInfo**) PURE;
- STDMETHOD(GetLibAttr)(THIS_ TLIBATTR**) PURE;
- STDMETHOD(GetTypeComp)(THIS_ ITypeComp*) PURE;
- STDMETHOD(GetDocumentation)(THIS_ INT,BSTR*,BSTR*,DWORD*,BSTR*) PURE;
- STDMETHOD(IsName)(THIS_ LPOLESTR,ULONG,BOOL*) PURE;
- STDMETHOD(FindName)(THIS_ LPOLESTR,ULONG,ITypeInfo**,MEMBERID*,USHORT*) PURE;
- STDMETHOD_(void,ReleaseTLibAttr)(THIS_ TLIBATTR*) PURE;
-};
-
-#undef INTERFACE
-#define INTERFACE ITypeLib2
-DECLARE_INTERFACE_(ITypeLib2,ITypeLib)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD_(UINT,GetTypeInfoCount)(THIS) PURE;
- STDMETHOD(GetTypeInfo)(THIS_ UINT,ITypeInfo**) PURE;
- STDMETHOD(GetTypeInfoType)(THIS_ UINT,TYPEKIND*) PURE;
- STDMETHOD(GetTypeInfoOfGuid)(THIS_ REFGUID,ITypeInfo**) PURE;
- STDMETHOD(GetLibAttr)(THIS_ TLIBATTR**) PURE;
- STDMETHOD(GetTypeComp)(THIS_ ITypeComp*) PURE;
- STDMETHOD(GetDocumentation)(THIS_ INT,BSTR*,BSTR*,DWORD*,BSTR*) PURE;
- STDMETHOD(IsName)(THIS_ LPOLESTR,ULONG,BOOL*) PURE;
- STDMETHOD(FindName)(THIS_ LPOLESTR,ULONG,ITypeInfo**,MEMBERID*,USHORT*) PURE;
- STDMETHOD_(void,ReleaseTLibAttr)(THIS_ TLIBATTR*) PURE;
- STDMETHOD(GetCustData)(THIS_ REFGUID,VARIANT*) PURE;
- STDMETHOD(GetLibStatistics)(THIS_ ULONG*,ULONG*) PURE;
- STDMETHOD(GetDocumentation2)(THIS_ INT,LCID,BSTR*,DWORD*,BSTR*) PURE;
- STDMETHOD(GetAllCustData)(THIS_ CUSTDATA*) PURE;
-};
-
-EXTERN_C const IID IID_IErrorInfo;
-#undef INTERFACE
-#define INTERFACE IErrorInfo
-DECLARE_INTERFACE_(IErrorInfo, IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(GetGUID)(THIS_ GUID*) PURE;
- STDMETHOD(GetSource)(THIS_ BSTR*) PURE;
- STDMETHOD(GetDescription)(THIS_ BSTR*) PURE;
- STDMETHOD(GetHelpFile)(THIS_ BSTR*) PURE;
- STDMETHOD(GetHelpContext)(THIS_ DWORD*) PURE;
-};
-
-#ifdef COBJMACROS
-#define IErrorInfo_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
-#define IErrorInfo_AddRef(T) (T)->lpVtbl->AddRef(T)
-#define IErrorInfo_Release(T) (T)->lpVtbl->Release(T)
-#define IErrorInfo_GetGUID(T,a) (T)->lpVtbl->GetGUID(T,a)
-#define IErrorInfo_GetSource(T,a) (T)->lpVtbl->GetSource(T,a)
-#define IErrorInfo_GetDescription(T,a) (T)->lpVtbl->GetDescription(T,a)
-#define IErrorInfo_GetHelpFile(T,a) (T)->lpVtbl->GetHelpFile(T,a)
-#define IErrorInfo_GetHelpContext(T,a) (T)->lpVtbl->GetHelpContext(T,a)
-#endif
-
-EXTERN_C const IID IID_ICreateErrorInfo;
-#undef INTERFACE
-#define INTERFACE ICreateErrorInfo
-DECLARE_INTERFACE_(ICreateErrorInfo, IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*)PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(SetGUID)(THIS_ REFGUID) PURE;
- STDMETHOD(SetSource)(THIS_ LPOLESTR) PURE;
- STDMETHOD(SetDescription)(THIS_ LPOLESTR) PURE;
- STDMETHOD(SetHelpFile)(THIS_ LPOLESTR) PURE;
- STDMETHOD(SetHelpContext)(THIS_ DWORD) PURE;
-};
-
-EXTERN_C const IID IID_ISupportErrorInfo;
-#undef INTERFACE
-#define INTERFACE ISupportErrorInfo
-DECLARE_INTERFACE_(ISupportErrorInfo, IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(InterfaceSupportsErrorInfo)(THIS_ REFIID) PURE;
-};
-
-EXTERN_C const IID IID_IRecordInfo;
-#undef INTERFACE
-#define INTERFACE IRecordInfo
-DECLARE_INTERFACE_(IRecordInfo, IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(RecordInit)(THIS_ PVOID) PURE;
- STDMETHOD(RecordClear)(THIS_ PVOID) PURE;
- STDMETHOD(RecordCopy)(THIS_ PVOID, PVOID) PURE;
- STDMETHOD(GetGuid)(THIS_ GUID*) PURE;
- STDMETHOD(GetName)(THIS_ BSTR*) PURE;
- STDMETHOD(GetSize)(THIS_ ULONG*) PURE;
- STDMETHOD(GetTypeInfo)(THIS_ ITypeInfo**) PURE;
- STDMETHOD(GetField)(THIS_ PVOID,LPCOLESTR,VARIANT*) PURE;
- STDMETHOD(GetFieldNoCopy)(THIS_ PVOID,LPCOLESTR,VARIANT*,PVOID*) PURE;
- STDMETHOD(PutField )(THIS_ ULONG,PVOID,LPCOLESTR, VARIANT*) PURE;
- STDMETHOD(PutFieldNoCopy)(THIS_ ULONG,PVOID,LPCOLESTR,VARIANT*) PURE;
- STDMETHOD(GetFieldNames)(THIS_ ULONG*,BSTR*) PURE;
- STDMETHOD_(BOOL,IsMatchingType)(THIS_ THIS) PURE;
- STDMETHOD_(PVOID,RecordCreate)(THIS) PURE;
- STDMETHOD(RecordCreateCopy)(THIS_ PVOID,PVOID*) PURE;
- STDMETHOD(RecordDestroy )(THIS_ PVOID) PURE;
-};
-
-#ifdef COBJMACROS
-#define IRecordInfo_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IRecordInfo_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IRecordInfo_Release(p) (p)->lpVtbl->Release(p)
-#define IRecordInfo_RecordInit(p,a) (p)->lpVtbl->RecordInit(p,a)
-#define IRecordInfo_RecordClear(p,a) (p)->lpVtbl->RecordClear(p,a)
-#define IRecordInfo_RecordCopy(p,a,b) (p)->lpVtbl->RecordCopy(p,a,b)
-#define IRecordInfo_GetGuid(p,a) (p)->lpVtbl->GetGuid(p,a)
-#define IRecordInfo_GetName(p,a) (p)->lpVtbl->GetName(p,a)
-#define IRecordInfo_GetSize(p,a) (p)->lpVtbl->GetSize(p,a)
-#define IRecordInfo_GetTypeInfo(p,a) (p)->lpVtbl->GetTypeInfo(p,a)
-#define IRecordInfo_GetField(p,a,b,c) (p)->lpVtbl->GetField(p,a,b,c)
-#define IRecordInfo_GetFieldNoCopy(p,a,b,c,d) (p)->lpVtbl->GetFieldNoCopy(p,a,b,c,d)
-#define IRecordInfo_PutField(p,a,b,c,d) (p)->lpVtbl->PutField(p,a,b,c,d)
-#define IRecordInfo_PutFieldNoCopy(p,a,b,c,d) (p)->lpVtbl->PutFieldNoCopy(p,a,b,c,d)
-#define IRecordInfo_GetFieldNames(p,a,b) (p)->lpVtbl->GetFieldNames(p,a,b)
-#define IRecordInfo_IsMatchingType(p,a) (p)->lpVtbl->IsMatchingType(p,a)
-#define IRecordInfo_RecordCreate(p) (p)->lpVtbl->RecordCreate(p)
-#define IRecordInfo_RecordCreateCopy(p,a,b) (p)->lpVtbl->RecordCreateCopy(p,a,b)
-#define IRecordInfo_RecordDestroy(p,a) (p)->lpVtbl->RecordDestroy(p,a)
-#endif
-
-EXTERN_C const IID IID_ITypeMarshal;
-#undef INTERFACE
-#define INTERFACE ITypeMarshal
-DECLARE_INTERFACE_(ITypeMarshal, IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(Size)(THIS_ PVOID,DWORD,PVOID,ULONG*) PURE;
- STDMETHOD(Marshal)(THIS_ PVOID,DWORD,PVOID,ULONG,BYTE*,ULONG*) PURE;
- STDMETHOD(Unmarshal)(THIS_ PVOID,DWORD,ULONG,BYTE*,ULONG*) PURE;
- STDMETHOD(Free)(THIS_ PVOID) PURE;
-};
-
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/winsup/w32api/include/objbase.h b/winsup/w32api/include/objbase.h
deleted file mode 100644
index 71d10977d..000000000
--- a/winsup/w32api/include/objbase.h
+++ /dev/null
@@ -1,203 +0,0 @@
-/* Include here to prevent circular dependencies if windows.h
- not already included */
-#include <rpc.h>
-#include <rpcndr.h>
-
-#ifndef _OBJBASE_H
-#define _OBJBASE_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#include <stdlib.h>
-#pragma pack(push,8)
-#include <basetyps.h>
-
-#define WINOLEAPI STDAPI
-#define WINOLEAPI_(type) STDAPI_(type)
-#define FARSTRUCT
-#define HUGEP
-#define LISet32(li,v) ((li).HighPart=(v)<0?-1:0,(li).LowPart=(v))
-#define ULISet32(li,v) ((li).HighPart=0,(li).LowPart=(v))
-#define CLSCTX_ALL (CLSCTX_INPROC_SERVER|CLSCTX_INPROC_HANDLER|CLSCTX_LOCAL_SERVER)
-#define CLSCTX_INPROC (CLSCTX_INPROC_SERVER|CLSCTX_INPROC_HANDLER)
-#define CLSCTX_SERVER (CLSCTX_INPROC_SERVER|CLSCTX_LOCAL_SERVER|CLSCTX_REMOTE_SERVER)
-#define MARSHALINTERFACE_MIN 500
-#define CWCSTORAGENAME 32
-#define STGM_DIRECT 0
-#define STGM_TRANSACTED 0x10000L
-#define STGM_SIMPLE 0x8000000L
-#define STGM_READ 0
-#define STGM_WRITE 1
-#define STGM_READWRITE 2
-#define STGM_SHARE_DENY_NONE 0x40
-#define STGM_SHARE_DENY_READ 0x30
-#define STGM_SHARE_DENY_WRITE 0x20
-#define STGM_SHARE_EXCLUSIVE 0x10
-#define STGM_PRIORITY 0x40000L
-#define STGM_DELETEONRELEASE 0x4000000
-#define STGM_NOSCRATCH 0x100000
-#define STGM_CREATE 0x1000
-#define STGM_CONVERT 0x20000
-#define STGM_NOSNAPSHOT 0x200000
-#define STGM_FAILIFTHERE 0
-#define CWCSTORAGENAME 32
-#define ASYNC_MODE_COMPATIBILITY 1
-#define ASYNC_MODE_DEFAULT 0
-#define STGTY_REPEAT 256
-#define STG_TOEND 0xFFFFFFFF
-#define STG_LAYOUT_SEQUENTIAL 0
-#define STG_LAYOUT_INTERLEAVED 1
-#define COM_RIGHTS_EXECUTE 1
-#define COM_RIGHTS_SAFE_FOR_SCRIPTING 2
-#define STGOPTIONS_VERSION 2
-typedef enum tagSTGFMT {
- STGFMT_STORAGE = 0,
- STGFMT_FILE = 3,
- STGFMT_ANY = 4,
- STGFMT_DOCFILE = 5
-} STGFMT;
-typedef struct tagSTGOPTIONS {
- USHORT usVersion;
- USHORT reserved;
- ULONG ulSectorSize;
- const WCHAR *pwcsTemplateFile;
-} STGOPTIONS;
-typedef enum tagREGCLS {
- REGCLS_SINGLEUSE = 0,
- REGCLS_MULTIPLEUSE = 1,
- REGCLS_MULTI_SEPARATE = 2
-} REGCLS;
-#include <wtypes.h>
-#include <unknwn.h>
-#include <objidl.h>
-
-#ifdef __cplusplus
-inline BOOL IsEqualGUID(REFGUID rguid1, REFGUID rguid2)
- { return !memcmp(&rguid1, &rguid2, sizeof(GUID)); }
-inline BOOL operator==(const GUID& guidOne, const GUID& guidOther)
- { return !memcmp(&guidOne,&guidOther,sizeof(GUID)); }
-inline BOOL operator!=(const GUID& g1, const GUID& g2)
- { return !(g1 == g2); }
-#else
-#define IsEqualGUID(rguid1, rguid2) (!memcmp(rguid1, rguid2, sizeof(GUID)))
-#endif
-#define IsEqualIID(id1,id2) IsEqualGUID(id1,id2)
-#define IsEqualCLSID(id1,id2) IsEqualGUID(id1,id2)
-#include <cguid.h>
-
-typedef enum tagCOINIT {
- COINIT_APARTMENTTHREADED = 0x2,
- COINIT_MULTITHREADED = 0x0,
- COINIT_DISABLE_OLE1DDE = 0x4,
- COINIT_SPEED_OVER_MEMORY = 0x8
-} COINIT;
-typedef enum tagSTDMSHLFLAGS {
- SMEXF_SERVER = 0x01,
- SMEXF_HANDLER = 0x02
-} STDMSHLFLAGS;
-
-WINOLEAPI_(DWORD) CoBuildVersion(void);
-WINOLEAPI CoInitialize(PVOID);
-WINOLEAPI CoInitializeEx(LPVOID,DWORD);
-WINOLEAPI_(void) CoUninitialize(void);
-WINOLEAPI CoGetMalloc(DWORD,LPMALLOC*);
-WINOLEAPI_(DWORD) CoGetCurrentProcess(void);
-WINOLEAPI CoRegisterMallocSpy(LPMALLOCSPY);
-WINOLEAPI CoRevokeMallocSpy(void);
-WINOLEAPI CoCreateStandardMalloc(DWORD,IMalloc**);
-#ifdef DBG
-WINOLEAPI_(ULONG) DebugCoGetRpcFault(void);
-WINOLEAPI_(void) DebugCoSetRpcFault(ULONG);
-#endif
-WINOLEAPI CoGetClassObject(REFCLSID,DWORD,COSERVERINFO*,REFIID,PVOID*);
-WINOLEAPI CoRegisterClassObject(REFCLSID,LPUNKNOWN,DWORD,DWORD,PDWORD);
-WINOLEAPI CoRevokeClassObject(DWORD);
-WINOLEAPI CoGetMarshalSizeMax(ULONG*,REFIID,LPUNKNOWN,DWORD,PVOID,DWORD);
-WINOLEAPI CoMarshalInterface(LPSTREAM,REFIID,LPUNKNOWN,DWORD,PVOID,DWORD);
-WINOLEAPI CoUnmarshalInterface(LPSTREAM,REFIID,PVOID*);
-WINOLEAPI CoMarshalHresult(LPSTREAM,HRESULT);
-WINOLEAPI CoUnmarshalHresult(LPSTREAM,HRESULT*);
-WINOLEAPI CoReleaseMarshalData(LPSTREAM);
-WINOLEAPI CoDisconnectObject(LPUNKNOWN,DWORD);
-WINOLEAPI CoLockObjectExternal(LPUNKNOWN,BOOL,BOOL);
-WINOLEAPI CoGetStandardMarshal(REFIID,LPUNKNOWN,DWORD,PVOID,DWORD,LPMARSHAL*);
-WINOLEAPI CoGetStdMarshalEx(LPUNKNOWN,DWORD,LPUNKNOWN*);
-WINOLEAPI_(BOOL) CoIsHandlerConnected(LPUNKNOWN);
-WINOLEAPI_(BOOL) CoHasStrongExternalConnections(LPUNKNOWN);
-WINOLEAPI CoMarshalInterThreadInterfaceInStream(REFIID,LPUNKNOWN,LPSTREAM*);
-WINOLEAPI CoGetInterfaceAndReleaseStream(LPSTREAM,REFIID,PVOID*);
-WINOLEAPI CoCreateFreeThreadedMarshaler(LPUNKNOWN,LPUNKNOWN*);
-WINOLEAPI_(HINSTANCE) CoLoadLibrary(LPOLESTR,BOOL);
-WINOLEAPI_(void) CoFreeLibrary(HINSTANCE);
-WINOLEAPI_(void) CoFreeAllLibraries(void);
-WINOLEAPI_(void) CoFreeUnusedLibraries(void);
-WINOLEAPI CoCreateInstance(REFCLSID,LPUNKNOWN,DWORD,REFIID,PVOID*);
-WINOLEAPI CoCreateInstanceEx(REFCLSID,IUnknown*,DWORD,COSERVERINFO*,DWORD,MULTI_QI*);
-WINOLEAPI StringFromCLSID(REFCLSID,LPOLESTR*);
-WINOLEAPI CLSIDFromString(LPOLESTR,LPCLSID);
-WINOLEAPI StringFromIID(REFIID,LPOLESTR*);
-WINOLEAPI IIDFromString(LPOLESTR,LPIID);
-WINOLEAPI_(BOOL) CoIsOle1Class(REFCLSID);
-WINOLEAPI ProgIDFromCLSID(REFCLSID,LPOLESTR*);
-WINOLEAPI CLSIDFromProgID(LPCOLESTR,LPCLSID);
-WINOLEAPI_(int) StringFromGUID2(REFGUID,LPOLESTR,int);
-WINOLEAPI CoCreateGuid(GUID*);
-WINOLEAPI_(BOOL) CoFileTimeToDosDateTime(FILETIME*,LPWORD,LPWORD);
-WINOLEAPI_(BOOL) CoDosDateTimeToFileTime(WORD,WORD,FILETIME*);
-WINOLEAPI CoFileTimeNow(FILETIME*);
-WINOLEAPI CoRegisterMessageFilter(LPMESSAGEFILTER,LPMESSAGEFILTER*);
-WINOLEAPI CoGetTreatAsClass(REFCLSID,LPCLSID);
-WINOLEAPI CoTreatAsClass(REFCLSID,REFCLSID);
-typedef HRESULT (STDAPICALLTYPE *LPFNGETCLASSOBJECT)(REFCLSID,REFIID,PVOID*);
-typedef HRESULT (STDAPICALLTYPE *LPFNCANUNLOADNOW)(void);
-STDAPI DllGetClassObject(REFCLSID,REFIID,PVOID*);
-STDAPI DllCanUnloadNow(void);
-WINOLEAPI_(PVOID) CoTaskMemAlloc(ULONG);
-WINOLEAPI_(PVOID) CoTaskMemRealloc(PVOID,ULONG);
-WINOLEAPI_(void) CoTaskMemFree(PVOID);
-WINOLEAPI CreateDataAdviseHolder(LPDATAADVISEHOLDER*);
-WINOLEAPI CreateDataCache(LPUNKNOWN,REFCLSID,REFIID,PVOID*);
-WINOLEAPI StgCreateDocfile(const OLECHAR*,DWORD,DWORD,IStorage**);
-WINOLEAPI StgCreateDocfileOnILockBytes(ILockBytes*,DWORD,DWORD,IStorage**);
-WINOLEAPI StgOpenStorage(const OLECHAR*,IStorage*,DWORD,SNB,DWORD,IStorage**);
-WINOLEAPI StgOpenStorageOnILockBytes(ILockBytes*,IStorage*,DWORD,SNB,DWORD,IStorage**);
-WINOLEAPI StgIsStorageFile(const OLECHAR*);
-WINOLEAPI StgIsStorageILockBytes(ILockBytes*);
-WINOLEAPI StgSetTimes(OLECHAR const*,FILETIME const*,FILETIME const*,FILETIME const*);
-WINOLEAPI StgCreateStorageEx(const WCHAR*,DWORD,DWORD,DWORD,STGOPTIONS*,void*,REFIID,void**);
-WINOLEAPI StgOpenStorageEx(const WCHAR*,DWORD,DWORD,DWORD,STGOPTIONS*,void*,REFIID,void**);
-WINOLEAPI BindMoniker(LPMONIKER,DWORD,REFIID,PVOID*);
-WINOLEAPI CoGetObject(LPCWSTR,BIND_OPTS*,REFIID,void**);
-WINOLEAPI MkParseDisplayName(LPBC,LPCOLESTR,ULONG*,LPMONIKER*);
-WINOLEAPI MonikerRelativePathTo(LPMONIKER,LPMONIKER,LPMONIKER*,BOOL);
-WINOLEAPI MonikerCommonPrefixWith(LPMONIKER,LPMONIKER,LPMONIKER*);
-WINOLEAPI CreateBindCtx(DWORD,LPBC*);
-WINOLEAPI CreateGenericComposite(LPMONIKER,LPMONIKER,LPMONIKER*);
-WINOLEAPI GetClassFile (LPCOLESTR,CLSID*);
-WINOLEAPI CreateFileMoniker(LPCOLESTR,LPMONIKER*);
-WINOLEAPI CreateItemMoniker(LPCOLESTR,LPCOLESTR,LPMONIKER*);
-WINOLEAPI CreateAntiMoniker(LPMONIKER*);
-WINOLEAPI CreatePointerMoniker(LPUNKNOWN,LPMONIKER*);
-WINOLEAPI GetRunningObjectTable(DWORD,LPRUNNINGOBJECTTABLE*);
-WINOLEAPI CoInitializeSecurity(PSECURITY_DESCRIPTOR,LONG,SOLE_AUTHENTICATION_SERVICE*, void*,DWORD,DWORD,void*,DWORD,void*);
-WINOLEAPI CoGetCallContext(REFIID,void**);
-WINOLEAPI CoQueryProxyBlanket(IUnknown*, DWORD*,DWORD*,OLECHAR**,DWORD*,DWORD*,RPC_AUTH_IDENTITY_HANDLE*,DWORD*);
-WINOLEAPI CoSetProxyBlanket(IUnknown*,DWORD,DWORD,OLECHAR*,DWORD,DWORD,RPC_AUTH_IDENTITY_HANDLE, DWORD);
-WINOLEAPI CoCopyProxy(IUnknown*,IUnknown**);
-WINOLEAPI CoQueryClientBlanket(DWORD*,DWORD*,OLECHAR**, DWORD*,DWORD*,RPC_AUTHZ_HANDLE*,DWORD*);
-WINOLEAPI CoImpersonateClient(void);
-WINOLEAPI CoRevertToSelf(void);
-WINOLEAPI CoQueryAuthenticationServices(DWORD*, SOLE_AUTHENTICATION_SERVICE**);
-WINOLEAPI CoSwitchCallContext(IUnknown*,IUnknown**);
-WINOLEAPI CoGetInstanceFromFile(COSERVERINFO*, CLSID*,IUnknown*,DWORD,DWORD,OLECHAR*,DWORD,MULTI_QI*);
-WINOLEAPI CoGetInstanceFromIStorage(COSERVERINFO*,CLSID*, IUnknown*,DWORD,struct IStorage*, DWORD,MULTI_QI*);
-WINOLEAPI_(ULONG) CoAddRefServerProcess(void);
-WINOLEAPI_(ULONG) CoReleaseServerProcess(void);
-WINOLEAPI CoResumeClassObjects(void);
-WINOLEAPI CoSuspendClassObjects(void);
-WINOLEAPI CoGetPSClsid(REFIID,CLSID*);
-WINOLEAPI CoRegisterPSClsid(REFIID,REFCLSID);
-
-#pragma pack(pop)
-#endif
diff --git a/winsup/w32api/include/objfwd.h b/winsup/w32api/include/objfwd.h
deleted file mode 100644
index 8fede73aa..000000000
--- a/winsup/w32api/include/objfwd.h
+++ /dev/null
@@ -1,57 +0,0 @@
-#ifndef _OBJFWD_H
-#define _OBJFWD_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#include <basetyps.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-typedef interface IMoniker *LPMONIKER;
-typedef interface IStream *LPSTREAM;
-typedef interface IMarshal *LPMARSHAL;
-typedef interface IMalloc *LPMALLOC;
-typedef interface IMallocSpy *LPMALLOCSPY;
-typedef interface IMessageFilter *LPMESSAGEFILTER;
-typedef interface IPersist *LPPERSIST;
-typedef interface IPersistStream *LPPERSISTSTREAM;
-typedef interface IRunningObjectTable *LPRUNNINGOBJECTTABLE;
-typedef interface IBindCtx *LPBINDCTX,*LPBC;
-typedef interface IAdviseSink *LPADVISESINK;
-typedef interface IAdviseSink2 *LPADVISESINK2;
-typedef interface IDataObject *LPDATAOBJECT;
-typedef interface IDataAdviseHolder *LPDATAADVISEHOLDER;
-typedef interface IEnumMoniker *LPENUMMONIKER;
-typedef interface IEnumFORMATETC *LPENUMFORMATETC;
-typedef interface IEnumSTATDATA *LPENUMSTATDATA;
-typedef interface IEnumSTATSTG *LPENUMSTATSTG;
-typedef interface IEnumSTATPROPSTG LPENUMSTATPROPSTG;
-typedef interface IEnumString *LPENUMSTRING;
-typedef interface IEnumUnknown *LPENUMUNKNOWN;
-typedef interface IStorage *LPSTORAGE;
-typedef interface IPersistStorage *LPPERSISTSTORAGE;
-typedef interface ILockBytes *LPLOCKBYTES;
-typedef interface IStdMarshalInfo *LPSTDMARSHALINFO;
-typedef interface IExternalConnection *LPEXTERNALCONNECTION;
-typedef interface IRunnableObject *LPRUNNABLEOBJECT;
-typedef interface IROTData *LPROTDATA;
-typedef interface IPersistFile *LPPERSISTFILE;
-typedef interface IRootStorage *LPROOTSTORAGE;
-typedef interface IRpcChannelBuffer *LPRPCCHANNELBUFFER;
-typedef interface IRpcProxyBuffer *LPRPCPROXYBUFFER;
-typedef interface IRpcStubBuffer *LPRPCSTUBBUFFER;
-typedef interface IPropertyStorage *LPPROPERTYSTORAGE;
-typedef interface IEnumSTATPROPSETSTG *LPENUMSTATPROPSETSTG;
-typedef interface IPropertySetStorage *LPPROPERTYSETSTORAGE;
-typedef interface IClientSecurity *LPCLIENTSECURITY;
-typedef interface IServerSecurity *LPSERVERSECURITY;
-typedef interface IClassActivator *LPCLASSACTIVATOR;
-typedef interface IFillLockBytes *LPFILLLOCKBYTES;
-typedef interface IProgressNotify *LPPROGRESSNOTIFY;
-typedef interface ILayoutStorage *LPLAYOUTSTORAGE;
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/winsup/w32api/include/objidl.h b/winsup/w32api/include/objidl.h
deleted file mode 100644
index 409e3ee54..000000000
--- a/winsup/w32api/include/objidl.h
+++ /dev/null
@@ -1,1734 +0,0 @@
-#ifndef _OBJIDL_H
-#define _OBJIDL_H
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-#include <objfwd.h>
-
-typedef struct tagSTATSTG {
- LPOLESTR pwcsName;
- DWORD type;
- ULARGE_INTEGER cbSize;
- FILETIME mtime;
- FILETIME ctime;
- FILETIME atime;
- DWORD grfMode;
- DWORD grfLocksSupported;
- CLSID clsid;
- DWORD grfStateBits;
- DWORD reserved;
-} STATSTG;
-typedef enum tagSTGTY {
- STGTY_STORAGE=1,
- STGTY_STREAM,
- STGTY_LOCKBYTES,
- STGTY_PROPERTY
-} STGTY;
-typedef enum tagSTREAM_SEEK {
- STREAM_SEEK_SET,
- STREAM_SEEK_CUR,
- STREAM_SEEK_END
-} STREAM_SEEK;
-typedef struct tagINTERFACEINFO {
- LPUNKNOWN pUnk;
- IID iid;
- WORD wMethod;
-} INTERFACEINFO,*LPINTERFACEINFO;
-typedef enum tagCALLTYPE {
- CALLTYPE_TOPLEVEL=1,
- CALLTYPE_NESTED,
- CALLTYPE_ASYNC,
- CALLTYPE_TOPLEVEL_CALLPENDING,
- CALLTYPE_ASYNC_CALLPENDING
-} CALLTYPE;
-typedef enum tagPENDINGTYPE {
- PENDINGTYPE_TOPLEVEL=1,
- PENDINGTYPE_NESTED
-} PENDINGTYPE;
-typedef enum tagPENDINGMSG {
- PENDINGMSG_CANCELCALL=0,
- PENDINGMSG_WAITNOPROCESS,
- PENDINGMSG_WAITDEFPROCESS
-} PENDINGMSG;
-typedef OLECHAR **SNB;
-typedef enum tagDATADIR {
- DATADIR_GET=1,
- DATADIR_SET
-} DATADIR;
-typedef WORD CLIPFORMAT,*LPCLIPFORMAT;
-typedef struct tagDVTARGETDEVICE {
- DWORD tdSize;
- WORD tdDriverNameOffset;
- WORD tdDeviceNameOffset;
- WORD tdPortNameOffset;
- WORD tdExtDevmodeOffset;
- BYTE tdData[1];
-} DVTARGETDEVICE;
-typedef struct tagFORMATETC {
- CLIPFORMAT cfFormat;
- DVTARGETDEVICE*ptd;
- DWORD dwAspect;
- LONG lindex;
- DWORD tymed;
-} FORMATETC,*LPFORMATETC;
-typedef struct tagRemSTGMEDIUM {
- DWORD tymed;
- DWORD dwHandleType;
- ULONG pData;
- unsigned long pUnkForRelease;
- unsigned long cbData;
- BYTE data[1];
-} RemSTGMEDIUM;
-typedef struct tagHLITEM {
- ULONG uHLID;
- LPWSTR pwzFriendlyName;
-} HLITEM;
-typedef struct tagSTATDATA {
- FORMATETC formatetc;
- DWORD grfAdvf;
- struct IAdviseSink *pAdvSink;
- DWORD dwConnection;
-} STATDATA;
-typedef struct tagSTATPROPSETSTG {
- FMTID fmtid;
- CLSID clsid;
- DWORD grfFlags;
- FILETIME mtime;
- FILETIME ctime;
- FILETIME atime;
-} STATPROPSETSTG;
-typedef enum tagEXTCONN {
- EXTCONN_STRONG=1,
- EXTCONN_WEAK=2,
- EXTCONN_CALLABLE=4
-} EXTCONN;
-typedef struct tagMULTI_QI {
- const IID *pIID;
- IUnknown *pItf;
- HRESULT hr;
-} MULTI_QI;
-typedef struct _AUTH_IDENTITY {
- USHORT *User;
- ULONG UserLength;
- USHORT *Domain;
- ULONG DomainLength;
- USHORT *Password;
- ULONG PasswordLength;
- ULONG Flags;
-} AUTH_IDENTITY;
-typedef struct _COAUTHINFO{
- DWORD dwAuthnSvc;
- DWORD dwAuthzSvc;
- LPWSTR pwszServerPrincName;
- DWORD dwAuthnLevel;
- DWORD dwImpersonationLevel;
- AUTH_IDENTITY *pAuthIdentityData;
- DWORD dwCapabilities;
-} COAUTHINFO;
-typedef struct _COSERVERINFO {
- DWORD dwReserved1;
- LPWSTR pwszName;
- COAUTHINFO *pAuthInfo;
- DWORD dwReserved2;
-} COSERVERINFO;
-typedef struct tagBIND_OPTS {
- DWORD cbStruct;
- DWORD grfFlags;
- DWORD grfMode;
- DWORD dwTickCountDeadline;
-} BIND_OPTS,*LPBIND_OPTS;
-typedef struct tagBIND_OPTS2 {
- DWORD cbStruct;
- DWORD grfFlags;
- DWORD grfMode;
- DWORD dwTickCountDeadline;
- DWORD dwTrackFlags;
- DWORD dwClassContext;
- LCID locale;
- COSERVERINFO *pServerInfo;
-} BIND_OPTS2,*LPBIND_OPTS2;
-typedef enum tagBIND_FLAGS {
- BIND_MAYBOTHERUSER=1,
- BIND_JUSTTESTEXISTENCE
-} BIND_FLAGS;
-typedef struct tagSTGMEDIUM {
- DWORD tymed;
- _ANONYMOUS_UNION union {
- HBITMAP hBitmap;
- PVOID hMetaFilePict;
- HENHMETAFILE hEnhMetaFile;
- HGLOBAL hGlobal;
- LPWSTR lpszFileName;
- LPSTREAM pstm;
- LPSTORAGE pstg;
- } DUMMYUNIONNAME;
- LPUNKNOWN pUnkForRelease;
-} STGMEDIUM,*LPSTGMEDIUM;
-typedef enum tagLOCKTYPE {
- LOCK_WRITE=1,
- LOCK_EXCLUSIVE=2,
- LOCK_ONLYONCE=4
-} LOCKTYPE;
-typedef unsigned long RPCOLEDATAREP;
-typedef struct tagRPCOLEMESSAGE {
- PVOID reserved1;
- RPCOLEDATAREP dataRepresentation;
- PVOID Buffer;
- ULONG cbBuffer;
- ULONG iMethod;
- PVOID reserved2[5];
- ULONG rpcFlags;
-} RPCOLEMESSAGE, *PRPCOLEMESSAGE;
-typedef enum tagMKSYS {
- MKSYS_NONE,
- MKSYS_GENERICCOMPOSITE,
- MKSYS_FILEMONIKER,
- MKSYS_ANTIMONIKER,
- MKSYS_ITEMMONIKER,
- MKSYS_POINTERMONIKER
-} MKSYS;
-typedef enum tagMKREDUCE {
- MKRREDUCE_ALL,
- MKRREDUCE_ONE=196608,
- MKRREDUCE_TOUSER=131072,
- MKRREDUCE_THROUGHUSER=65536
-} MKRREDUCE;
-typedef struct tagRemSNB {
- unsigned long ulCntStr;
- unsigned long ulCntChar;
- OLECHAR rgString[1];
-} RemSNB;
-typedef enum tagADVF {
- ADVF_NODATA=1,ADVF_PRIMEFIRST=2,ADVF_ONLYONCE=4,ADVF_DATAONSTOP=64,
- ADVFCACHE_NOHANDLER=8,ADVFCACHE_FORCEBUILTIN=16,ADVFCACHE_ONSAVE=32
-} ADVF;
-typedef enum tagTYMED {
- TYMED_HGLOBAL=1,TYMED_FILE=2,TYMED_ISTREAM=4,TYMED_ISTORAGE=8,
- TYMED_GDI=16,TYMED_MFPICT=32,TYMED_ENHMF=64,TYMED_NULL=0
-} TYMED;
-typedef enum tagSERVERCALL {
- SERVERCALL_ISHANDLED,SERVERCALL_REJECTED,SERVERCALL_RETRYLATER
-} SERVERCALL;
-typedef struct tagCAUB {
- ULONG cElems;
- unsigned char *pElems;
-}CAUB;
-typedef struct tagCAI {
- ULONG cElems;
- short *pElems;
-}CAI;
-typedef struct tagCAUI {
- ULONG cElems;
- USHORT *pElems;
-}CAUI;
-typedef struct tagCAL {
- ULONG cElems;
- long *pElems;
-}CAL;
-typedef struct tagCAUL {
- ULONG cElems;
- ULONG *pElems;
-}CAUL;
-typedef struct tagCAFLT {
- ULONG cElems;
- float *pElems;
-}CAFLT;
-typedef struct tagCADBL {
- ULONG cElems;
- double *pElems;
-}CADBL;
-typedef struct tagCACY {
- ULONG cElems;
- CY *pElems;
-}CACY;
-typedef struct tagCADATE {
- ULONG cElems;
- DATE *pElems;
-}CADATE;
-typedef struct tagCABSTR {
- ULONG cElems;
- BSTR *pElems;
-}CABSTR;
-typedef struct tagCABSTRBLOB {
- ULONG cElems;
- BSTRBLOB *pElems;
-}CABSTRBLOB;
-typedef struct tagCABOOL {
- ULONG cElems;
- VARIANT_BOOL *pElems;
-}CABOOL;
-typedef struct tagCASCODE {
- ULONG cElems;
- SCODE *pElems;
-}CASCODE;
-typedef struct tagCAH {
- ULONG cElems;
- LARGE_INTEGER *pElems;
-}CAH;
-typedef struct tagCAUH {
- ULONG cElems;
- ULARGE_INTEGER *pElems;
-}CAUH;
-typedef struct tagCALPSTR {
- ULONG cElems;
- LPSTR *pElems;
-}CALPSTR;
-typedef struct tagCALPWSTR {
- ULONG cElems;
- LPWSTR *pElems;
-}CALPWSTR;
-typedef struct tagCAFILETIME {
- ULONG cElems;
- FILETIME *pElems;
-}CAFILETIME;
-typedef struct tagCACLIPDATA {
- ULONG cElems;
- CLIPDATA *pElems;
-}CACLIPDATA;
-typedef struct tagCACLSID {
- ULONG cElems;
- CLSID *pElems;
-}CACLSID;
-typedef struct tagPROPVARIANT *LPPROPVARIANT;
-typedef struct tagCAPROPVARIANT {
- ULONG cElems;
- LPPROPVARIANT pElems;
-}CAPROPVARIANT;
-typedef struct tagPROPVARIANT {
- VARTYPE vt;
- WORD wReserved1;
- WORD wReserved2;
- WORD wReserved3;
- _ANONYMOUS_UNION union {
- CHAR cVal;
- UCHAR bVal;
- short iVal;
- USHORT uiVal;
- VARIANT_BOOL boolVal;
-#if 0
-/* bool is a standard type in C++, and a standard macro expanding
- to the _Bool type in C99 (see stdbool.h) */
- _VARIANT_BOOL bool;
-#endif
- long lVal;
- ULONG ulVal;
- float fltVal;
- SCODE scode;
- LARGE_INTEGER hVal;
- ULARGE_INTEGER uhVal;
- double dblVal;
- CY cyVal;
- DATE date;
- FILETIME filetime;
- CLSID *puuid;
- BLOB blob;
- CLIPDATA *pclipdata;
- LPSTREAM pStream;
- LPSTORAGE pStorage;
- BSTR bstrVal;
- BSTRBLOB bstrblobVal;
- LPSTR pszVal;
- LPWSTR pwszVal;
- CAUB caub;
- CAI cai;
- CAUI caui;
- CABOOL cabool;
- CAL cal;
- CAUL caul;
- CAFLT caflt;
- CASCODE cascode;
- CAH cah;
- CAUH cauh;
- CADBL cadbl;
- CACY cacy;
- CADATE cadate;
- CAFILETIME cafiletime;
- CACLSID cauuid;
- CACLIPDATA caclipdata;
- CABSTR cabstr;
- CABSTRBLOB cabstrblob;
- CALPSTR calpstr;
- CALPWSTR calpwstr;
- CAPROPVARIANT capropvar;
- } DUMMYUNIONNAME;
-} PROPVARIANT;
-typedef struct tagPROPSPEC {
- ULONG ulKind;
- _ANONYMOUS_UNION union {
- PROPID propid;
- LPOLESTR lpwstr;
- } DUMMYUNIONNAME;
-}PROPSPEC;
-typedef struct tagSTATPROPSTG {
- LPOLESTR lpwstrName;
- PROPID propid;
- VARTYPE vt;
-} STATPROPSTG;
-typedef enum PROPSETFLAG {
- PROPSETFLAG_DEFAULT,PROPSETFLAG_NONSIMPLE,PROPSETFLAG_ANSI,
- PROPSETFLAG_UNBUFFERED=4
-} PROPSETFLAG;
-typedef struct tagSTORAGELAYOUT {
- DWORD LayoutType;
- OLECHAR* pwcsElementName;
- LARGE_INTEGER cOffset;
- LARGE_INTEGER cBytes;
-} STORAGELAYOUT;
-typedef struct tagSOLE_AUTHENTICATION_SERVICE {
- DWORD dwAuthnSvc;
- DWORD dwAuthzSvc;
- OLECHAR *pPrincipalName;
- HRESULT hr;
-} SOLE_AUTHENTICATION_SERVICE;
-#define COLE_DEFAULT_PRINCIPAL ( ( OLECHAR* )-1 )
-typedef enum tagEOLE_AUTHENTICATION_CAPABILITIES {
- EOAC_NONE = 0,
- EOAC_MUTUAL_AUTH = 0x1,
- EOAC_STATIC_CLOAKING = 0x20,
- EOAC_DYNAMIC_CLOAKING = 0x40,
- EOAC_ANY_AUTHORITY = 0x80,
- EOAC_MAKE_FULLSIC = 0x100,
- EOAC_DEFAULT = 0x800,
- EOAC_SECURE_REFS = 0x2,
- EOAC_ACCESS_CONTROL = 0x4,
- EOAC_APPID = 0x8,
- EOAC_DYNAMIC = 0x10,
- EOAC_REQUIRE_FULLSIC = 0x200,
- EOAC_AUTO_IMPERSONATE = 0x400,
- EOAC_NO_CUSTOM_MARSHAL = 0x2000,
- EOAC_DISABLE_AAA = 0x1000
-} EOLE_AUTHENTICATION_CAPABILITIES;
-typedef struct tagSOLE_AUTHENTICATION_INFO {
- DWORD dwAuthnSvc;
- DWORD dwAuthzSvc;
- void* pAuthInfo;
-} SOLE_AUTHENTICATION_INFO;
-#define COLE_DEFAULT_AUTHINFO ( ( void* )-1 )
-typedef struct tagSOLE_AUTHENTICATION_LIST {
- DWORD cAuthInfo;
- SOLE_AUTHENTICATION_INFO* aAuthInfo;
-} SOLE_AUTHENTICATION_LIST;
-
-EXTERN_C const FMTID FMTID_SummaryInformation;
-EXTERN_C const FMTID FMTID_DocSummaryInformation;
-EXTERN_C const FMTID FMTID_UserDefinedProperties;
-
-DECLARE_ENUMERATOR(FORMATETC);
-DECLARE_ENUMERATOR(HLITEM);
-DECLARE_ENUMERATOR(STATDATA);
-DECLARE_ENUMERATOR(STATPROPSETSTG);
-DECLARE_ENUMERATOR(STATPROPSTG);
-DECLARE_ENUMERATOR(STATSTG);
-DECLARE_ENUMERATOR_(IEnumString,LPOLESTR);
-DECLARE_ENUMERATOR_(IEnumMoniker,interface IMoniker*);
-DECLARE_ENUMERATOR_(IEnumUnknown,IUnknown*);
-
-EXTERN_C const IID IID_ISequentialStream;
-#undef INTERFACE
-#define INTERFACE ISequentialStream
-DECLARE_INTERFACE_(ISequentialStream,IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(Read)(THIS_ void*,ULONG,ULONG*) PURE;
- STDMETHOD(Write)(THIS_ void const*,ULONG,ULONG*) PURE;
-};
-
-EXTERN_C const IID IID_IStream;
-#undef INTERFACE
-#define INTERFACE IStream
-DECLARE_INTERFACE_(IStream,ISequentialStream)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(Read)(THIS_ void*,ULONG,ULONG*) PURE;
- STDMETHOD(Write)(THIS_ void const*,ULONG,ULONG*) PURE;
- STDMETHOD(Seek)(THIS_ LARGE_INTEGER,DWORD,ULARGE_INTEGER*) PURE;
- STDMETHOD(SetSize)(THIS_ ULARGE_INTEGER) PURE;
- STDMETHOD(CopyTo)(THIS_ IStream*,ULARGE_INTEGER,ULARGE_INTEGER*,ULARGE_INTEGER*) PURE;
- STDMETHOD(Commit)(THIS_ DWORD) PURE;
- STDMETHOD(Revert)(THIS) PURE;
- STDMETHOD(LockRegion)(THIS_ ULARGE_INTEGER,ULARGE_INTEGER,DWORD) PURE;
- STDMETHOD(UnlockRegion)(THIS_ ULARGE_INTEGER,ULARGE_INTEGER,DWORD) PURE;
- STDMETHOD(Stat)(THIS_ STATSTG*,DWORD) PURE;
- STDMETHOD(Clone)(THIS_ LPSTREAM*) PURE;
-};
-
-EXTERN_C const IID IID_IMarshal;
-#undef INTERFACE
-#define INTERFACE IMarshal
-DECLARE_INTERFACE_(IMarshal,IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(GetUnmarshalClass) (THIS_ REFIID,PVOID,DWORD,PVOID,DWORD,CLSID*) PURE;
- STDMETHOD(GetMarshalSizeMax) (THIS_ REFIID,PVOID,DWORD,PVOID,PDWORD,ULONG*) PURE;
- STDMETHOD(MarshalInterface) (THIS_ IStream*,REFIID,PVOID,DWORD,PVOID,DWORD) PURE;
- STDMETHOD(UnmarshalInterface) (THIS_ IStream*,REFIID,void**) PURE;
- STDMETHOD(ReleaseMarshalData) (THIS_ IStream*) PURE;
- STDMETHOD(DisconnectObject) (THIS_ DWORD) PURE;
-};
-
-EXTERN_C const IID IID_IStdMarshalInfo;
-#undef INTERFACE
-#define INTERFACE IStdMarshalInfo
-DECLARE_INTERFACE_(IStdMarshalInfo,IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(GetClassForHandler)(THIS_ DWORD,PVOID,CLSID*) PURE;
-};
-
-EXTERN_C const IID IID_IMalloc;
-#undef INTERFACE
-#define INTERFACE IMalloc
-DECLARE_INTERFACE_(IMalloc,IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD_(void*,Alloc)(THIS_ ULONG) PURE;
- STDMETHOD_(void*,Realloc)(THIS_ void*,ULONG) PURE;
- STDMETHOD_(void,Free)(THIS_ void*) PURE;
- STDMETHOD_(ULONG,GetSize)(THIS_ void*) PURE;
- STDMETHOD_(int,DidAlloc)(THIS_ void*) PURE;
- STDMETHOD_(void,HeapMinimize)(THIS) PURE;
-};
-
-EXTERN_C const IID IID_IMallocSpy;
-#undef INTERFACE
-#define INTERFACE IMallocSpy
-DECLARE_INTERFACE_(IMallocSpy,IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD_(ULONG,PreAlloc)(THIS_ ULONG) PURE;
- STDMETHOD_(void*,PostAlloc)(THIS_ void*) PURE;
- STDMETHOD_(void*,PreFree)(THIS_ void*,BOOL) PURE;
- STDMETHOD_(void,PostFree)(THIS_ BOOL) PURE;
- STDMETHOD_(ULONG,PreRealloc)(THIS_ void*,ULONG,void**,BOOL) PURE;
- STDMETHOD_(void*,PostRealloc)(THIS_ void*,BOOL) PURE;
- STDMETHOD_(void*,PreGetSize)(THIS_ void*,BOOL) PURE;
- STDMETHOD_(ULONG,PostGetSize)(THIS_ ULONG,BOOL) PURE;
- STDMETHOD_(void*,PreDidAlloc)(THIS_ void*,BOOL) PURE;
- STDMETHOD_(int,PostDidAlloc)(THIS_ void*,BOOL,int) PURE;
- STDMETHOD_(void,PreHeapMinimize)(THIS) PURE;
- STDMETHOD_(void,PostHeapMinimize)(THIS) PURE;
-};
-
-EXTERN_C const IID IID_IMessageFilter;
-#undef INTERFACE
-#define INTERFACE IMessageFilter
-DECLARE_INTERFACE_(IMessageFilter,IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD_(DWORD,HandleInComingCall)(THIS_ DWORD,HTASK,DWORD,LPINTERFACEINFO) PURE;
- STDMETHOD_(DWORD,RetryRejectedCall)(THIS_ HTASK,DWORD,DWORD) PURE;
- STDMETHOD_(DWORD,MessagePending)(THIS_ HTASK,DWORD,DWORD) PURE;
-};
-
-EXTERN_C const IID IID_IPersist;
-#undef INTERFACE
-#define INTERFACE IPersist
-DECLARE_INTERFACE_(IPersist,IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(GetClassID)(THIS_ CLSID*) PURE;
-};
-
-EXTERN_C const IID IID_IPersistStream;
-#undef INTERFACE
-#define INTERFACE IPersistStream
-DECLARE_INTERFACE_(IPersistStream,IPersist)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(GetClassID)(THIS_ LPCLSID) PURE;
- STDMETHOD(IsDirty)(THIS) PURE;
- STDMETHOD(Load)(THIS_ IStream*) PURE;
- STDMETHOD(Save)(THIS_ IStream*,BOOL) PURE;
- STDMETHOD(GetSizeMax)(THIS_ PULARGE_INTEGER) PURE;
-};
-
-EXTERN_C const IID IID_IRunningObjectTable;
-#undef INTERFACE
-#define INTERFACE IRunningObjectTable
-DECLARE_INTERFACE_(IRunningObjectTable,IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(Register)(THIS_ DWORD,LPUNKNOWN,LPMONIKER,PDWORD) PURE;
- STDMETHOD(Revoke)(THIS_ DWORD) PURE;
- STDMETHOD(IsRunning)(THIS_ LPMONIKER) PURE;
- STDMETHOD(GetObject)(THIS_ LPMONIKER,LPUNKNOWN*) PURE;
- STDMETHOD(NoteChangeTime)(THIS_ DWORD,LPFILETIME) PURE;
- STDMETHOD(GetTimeOfLastChange)(THIS_ LPMONIKER,LPFILETIME) PURE;
- STDMETHOD(EnumRunning)(THIS_ IEnumMoniker**) PURE;
-};
-
-EXTERN_C const IID IID_IBindCtx;
-#undef INTERFACE
-#define INTERFACE IBindCtx
-DECLARE_INTERFACE_(IBindCtx,IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(RegisterObjectBound)(THIS_ LPUNKNOWN) PURE;
- STDMETHOD(RevokeObjectBound)(THIS_ LPUNKNOWN) PURE;
- STDMETHOD(ReleaseBoundObjects)(THIS) PURE;
- STDMETHOD(SetBindOptions)(THIS_ LPBIND_OPTS) PURE;
- STDMETHOD(GetBindOptions)(THIS_ LPBIND_OPTS) PURE;
- STDMETHOD(GetRunningObjectTable)(THIS_ IRunningObjectTable**) PURE;
- STDMETHOD(RegisterObjectParam)(THIS_ LPOLESTR,IUnknown*) PURE;
- STDMETHOD(GetObjectParam)(THIS_ LPOLESTR,IUnknown**) PURE;
- STDMETHOD(EnumObjectParam)(THIS_ IEnumString**) PURE;
- STDMETHOD(RevokeObjectParam)(THIS_ LPOLESTR) PURE;
-};
-
-EXTERN_C const IID IID_IMoniker;
-#undef INTERFACE
-#define INTERFACE IMoniker
-DECLARE_INTERFACE_(IMoniker,IPersistStream)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(GetClassID)(THIS_ LPCLSID) PURE;
- STDMETHOD(IsDirty)(THIS) PURE;
- STDMETHOD(Load)(THIS_ IStream*) PURE;
- STDMETHOD(Save)(THIS_ IStream*,BOOL) PURE;
- STDMETHOD(GetSizeMax)(THIS_ PULARGE_INTEGER) PURE;
- STDMETHOD(BindToObject)(THIS_ IBindCtx*,IMoniker*,REFIID,PVOID*) PURE;
- STDMETHOD(BindToStorage)(THIS_ IBindCtx*,IMoniker*,REFIID,PVOID*) PURE;
- STDMETHOD(Reduce)(THIS_ IBindCtx*,DWORD,IMoniker**,IMoniker**) PURE;
- STDMETHOD(ComposeWith)(THIS_ IMoniker*,BOOL,IMoniker**) PURE;
- STDMETHOD(Enum)(THIS_ BOOL,IEnumMoniker**) PURE;
- STDMETHOD(IsEqual)(THIS_ IMoniker*) PURE;
- STDMETHOD(Hash)(THIS_ PDWORD) PURE;
- STDMETHOD(IsRunning)(THIS_ IBindCtx*,IMoniker*,IMoniker*) PURE;
- STDMETHOD(GetTimeOfLastChange)(THIS_ IBindCtx*,IMoniker*,LPFILETIME) PURE;
- STDMETHOD(Inverse)(THIS_ IMoniker**) PURE;
- STDMETHOD(CommonPrefixWith)(THIS_ IMoniker*,IMoniker**) PURE;
- STDMETHOD(RelativePathTo)(THIS_ IMoniker*,IMoniker**) PURE;
- STDMETHOD(GetDisplayName)(THIS_ IBindCtx*,IMoniker*,LPOLESTR*) PURE;
- STDMETHOD(ParseDisplayName)(THIS_ IBindCtx*,IMoniker*,LPOLESTR,ULONG*,IMoniker**) PURE;
- STDMETHOD(IsSystemMoniker)(THIS_ PDWORD) PURE;
-};
-
-EXTERN_C const IID IID_IPersistStorage;
-#undef INTERFACE
-#define INTERFACE IPersistStorage
-DECLARE_INTERFACE_(IPersistStorage,IPersist)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(GetClassID)(THIS_ CLSID*) PURE;
- STDMETHOD(IsDirty)(THIS) PURE;
- STDMETHOD(InitNew)(THIS_ LPSTORAGE) PURE;
- STDMETHOD(Load)(THIS_ LPSTORAGE) PURE;
- STDMETHOD(Save)(THIS_ LPSTORAGE,BOOL) PURE;
- STDMETHOD(SaveCompleted)(THIS_ LPSTORAGE) PURE;
- STDMETHOD(HandsOffStorage)(THIS) PURE;
-};
-
-EXTERN_C const IID IID_IPersistFile;
-#undef INTERFACE
-#define INTERFACE IPersistFile
-DECLARE_INTERFACE_(IPersistFile,IPersist)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(GetClassID)(THIS_ CLSID*) PURE;
- STDMETHOD(IsDirty)(THIS) PURE;
- STDMETHOD(Load)(THIS_ LPCOLESTR,DWORD) PURE;
- STDMETHOD(Save)(THIS_ LPCOLESTR,BOOL) PURE;
- STDMETHOD(SaveCompleted)(THIS_ LPCOLESTR) PURE;
- STDMETHOD(GetCurFile)(THIS_ LPOLESTR*) PURE;
-};
-
-EXTERN_C const IID IID_IAdviseSink;
-#undef INTERFACE
-#define INTERFACE IAdviseSink
-DECLARE_INTERFACE_(IAdviseSink,IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD_(void,OnDataChange)(THIS_ FORMATETC*,STGMEDIUM*) PURE;
- STDMETHOD_(void,OnViewChange)(THIS_ DWORD,LONG) PURE;
- STDMETHOD_(void,OnRename)(THIS_ IMoniker*) PURE;
- STDMETHOD_(void,OnSave)(THIS) PURE;
- STDMETHOD_(void,OnClose)(THIS) PURE;
-};
-
-EXTERN_C const IID IID_IAdviseSink2;
-#undef INTERFACE
-#define INTERFACE IAdviseSink2
-DECLARE_INTERFACE_(IAdviseSink2,IAdviseSink)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD_(void,OnDataChange)(THIS_ FORMATETC*,STGMEDIUM*) PURE;
- STDMETHOD_(void,OnViewChange)(THIS_ DWORD,LONG) PURE;
- STDMETHOD_(void,OnRename)(THIS_ IMoniker*) PURE;
- STDMETHOD_(void,OnSave)(THIS) PURE;
- STDMETHOD_(void,OnClose)(THIS) PURE;
- STDMETHOD_(void,OnLinkSrcChange)(THIS_ IMoniker*);
-};
-
-EXTERN_C const IID IID_IDataObject;
-#undef INTERFACE
-#define INTERFACE IDataObject
-DECLARE_INTERFACE_(IDataObject,IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(GetData)(THIS_ FORMATETC*,STGMEDIUM*) PURE;
- STDMETHOD(GetDataHere)(THIS_ FORMATETC*,STGMEDIUM*) PURE;
- STDMETHOD(QueryGetData)(THIS_ FORMATETC*) PURE;
- STDMETHOD(GetCanonicalFormatEtc)(THIS_ FORMATETC*,FORMATETC*) PURE;
- STDMETHOD(SetData)(THIS_ FORMATETC*,STGMEDIUM*,BOOL) PURE;
- STDMETHOD(EnumFormatEtc)(THIS_ DWORD,IEnumFORMATETC**) PURE;
- STDMETHOD(DAdvise)(THIS_ FORMATETC*,DWORD,IAdviseSink*,PDWORD) PURE;
- STDMETHOD(DUnadvise)(THIS_ DWORD) PURE;
- STDMETHOD(EnumDAdvise)(THIS_ IEnumSTATDATA**) PURE;
-};
-
-EXTERN_C const IID IID_IDataAdviseHolder;
-#undef INTERFACE
-#define INTERFACE IDataAdviseHolder
-DECLARE_INTERFACE_(IDataAdviseHolder,IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(Advise)(THIS_ IDataObject*,FORMATETC*,DWORD,IAdviseSink*,PDWORD) PURE;
- STDMETHOD(Unadvise)(THIS_ DWORD) PURE;
- STDMETHOD(EnumAdvise)(THIS_ IEnumSTATDATA**) PURE;
- STDMETHOD(SendOnDataChange)(THIS_ IDataObject*,DWORD,DWORD) PURE;
-};
-
-EXTERN_C const IID IID_IStorage;
-#undef INTERFACE
-#define INTERFACE IStorage
-DECLARE_INTERFACE_(IStorage,IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(CreateStream)(THIS_ LPCWSTR,DWORD,DWORD,DWORD,IStream**) PURE;
- STDMETHOD(OpenStream)(THIS_ LPCWSTR,PVOID,DWORD,DWORD,IStream**) PURE;
- STDMETHOD(CreateStorage)(THIS_ LPCWSTR,DWORD,DWORD,DWORD,IStorage**) PURE;
- STDMETHOD(OpenStorage)(THIS_ LPCWSTR,IStorage*,DWORD,SNB,DWORD,IStorage**) PURE;
- STDMETHOD(CopyTo)(THIS_ DWORD,IID const*,SNB,IStorage*) PURE;
- STDMETHOD(MoveElementTo)(THIS_ LPCWSTR,IStorage*,LPCWSTR,DWORD) PURE;
- STDMETHOD(Commit)(THIS_ DWORD) PURE;
- STDMETHOD(Revert)(THIS) PURE;
- STDMETHOD(EnumElements)(THIS_ DWORD,PVOID,DWORD,IEnumSTATSTG**) PURE;
- STDMETHOD(DestroyElement)(THIS_ LPCWSTR) PURE;
- STDMETHOD(RenameElement)(THIS_ LPCWSTR,LPCWSTR) PURE;
- STDMETHOD(SetElementTimes)(THIS_ LPCWSTR,FILETIME const*,FILETIME const*,FILETIME const*) PURE;
- STDMETHOD(SetClass)(THIS_ REFCLSID) PURE;
- STDMETHOD(SetStateBits)(THIS_ DWORD,DWORD) PURE;
- STDMETHOD(Stat)(THIS_ STATSTG*,DWORD) PURE;
-};
-
-EXTERN_C const IID IID_IRootStorage;
-#undef INTERFACE
-#define INTERFACE IRootStorage
-DECLARE_INTERFACE_(IRootStorage,IPersist)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(SwitchToFile)(THIS_ LPOLESTR) PURE;
-};
-
-EXTERN_C const IID IID_IRpcChannelBuffer;
-#undef INTERFACE
-#define INTERFACE IRpcChannelBuffer
-DECLARE_INTERFACE_(IRpcChannelBuffer,IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(GetBuffer)(THIS_ RPCOLEMESSAGE*,REFIID) PURE;
- STDMETHOD(SendReceive)(THIS_ RPCOLEMESSAGE*,PULONG) PURE;
- STDMETHOD(FreeBuffer)(THIS_ RPCOLEMESSAGE*) PURE;
- STDMETHOD(GetDestCtx)(THIS_ PDWORD,PVOID*) PURE;
- STDMETHOD(IsConnected)(THIS) PURE;
-};
-
-EXTERN_C const IID IID_IRpcProxyBuffer;
-#undef INTERFACE
-#define INTERFACE IRpcProxyBuffer
-DECLARE_INTERFACE_(IRpcProxyBuffer,IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(Connect)(THIS_ IRpcChannelBuffer*) PURE;
- STDMETHOD_(void,Disconnect)(THIS) PURE;
-
-};
-
-EXTERN_C const IID IID_IRpcStubBuffer;
-#undef INTERFACE
-#define INTERFACE IRpcStubBuffer
-DECLARE_INTERFACE_(IRpcStubBuffer,IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(Connect)(THIS_ LPUNKNOWN) PURE;
- STDMETHOD_(void,Disconnect)(THIS) PURE;
- STDMETHOD(Invoke)(THIS_ RPCOLEMESSAGE*,LPRPCSTUBBUFFER) PURE;
- STDMETHOD_(LPRPCSTUBBUFFER,IsIIDSupported)(THIS_ REFIID) PURE;
- STDMETHOD_(ULONG,CountRefs)(THIS) PURE;
- STDMETHOD(DebugServerQueryInterface)(THIS_ PVOID*) PURE;
- STDMETHOD(DebugServerRelease)(THIS_ PVOID) PURE;
-};
-
-EXTERN_C const IID IID_IPSFactoryBuffer;
-#undef INTERFACE
-#define INTERFACE IPSFactoryBuffer
-DECLARE_INTERFACE_(IPSFactoryBuffer,IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(CreateProxy)(THIS_ LPUNKNOWN,REFIID,LPRPCPROXYBUFFER*,PVOID*) PURE;
- STDMETHOD(CreateStub)(THIS_ REFIID,LPUNKNOWN,LPRPCSTUBBUFFER*) PURE;
-};
-typedef interface IPSFactoryBuffer *LPPSFACTORYBUFFER;
-
-EXTERN_C const IID IID_ILockBytes;
-#undef INTERFACE
-#define INTERFACE ILockBytes
-DECLARE_INTERFACE_(ILockBytes,IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(ReadAt)(THIS_ ULARGE_INTEGER,PVOID,ULONG,ULONG*) PURE;
- STDMETHOD(WriteAt)(THIS_ ULARGE_INTEGER,PCVOID,ULONG,ULONG*) PURE;
- STDMETHOD(Flush)(THIS) PURE;
- STDMETHOD(SetSize)(THIS_ ULARGE_INTEGER) PURE;
- STDMETHOD(LockRegion)(THIS_ ULARGE_INTEGER,ULARGE_INTEGER,DWORD) PURE;
- STDMETHOD(UnlockRegion)(THIS_ ULARGE_INTEGER,ULARGE_INTEGER,DWORD) PURE;
- STDMETHOD(Stat)(THIS_ STATSTG*,DWORD) PURE;
-};
-
-EXTERN_C const IID IID_IExternalConnection;
-#undef INTERFACE
-#define INTERFACE IExternalConnection
-DECLARE_INTERFACE_(IExternalConnection,IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(AddConnection)(THIS_ DWORD,DWORD) PURE;
- STDMETHOD(ReleaseConnection)(THIS_ DWORD,DWORD,BOOL) PURE;
-};
-
-EXTERN_C const IID IID_IRunnableObject;
-#undef INTERFACE
-#define INTERFACE IRunnableObject
-DECLARE_INTERFACE_(IRunnableObject,IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(GetRunningClass)(THIS_ LPCLSID) PURE;
- STDMETHOD(Run)(THIS_ LPBC) PURE;
- STDMETHOD_(BOOL,IsRunning)(THIS) PURE;
- STDMETHOD(LockRunning)(THIS_ BOOL,BOOL) PURE;
- STDMETHOD(SetContainedObject)(THIS_ BOOL) PURE;
-};
-
-EXTERN_C const IID IID_IROTData;
-#undef INTERFACE
-#define INTERFACE IROTData
-DECLARE_INTERFACE_(IROTData,IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(GetComparisonData)(THIS_ PVOID,ULONG,PULONG) PURE;
-};
-
-EXTERN_C const IID IID_IChannelHook;
-#undef INTERFACE
-#define INTERFACE IChannelHook
-DECLARE_INTERFACE_(IChannelHook,IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD_(void,ClientGetSize)(THIS_ REFGUID,REFIID,PULONG) PURE;
- STDMETHOD_(void,ClientFillBuffer)(THIS_ REFGUID,REFIID,PULONG,PVOID) PURE;
- STDMETHOD_(void,ClientNotify)(THIS_ REFGUID,REFIID,ULONG,PVOID,DWORD,HRESULT) PURE;
- STDMETHOD_(void,ServerNotify)(THIS_ REFGUID,REFIID,ULONG,PVOID,DWORD) PURE;
- STDMETHOD_(void,ServerGetSize)(THIS_ REFGUID,REFIID,HRESULT,PULONG) PURE;
- STDMETHOD_(void,ServerFillBuffer)(THIS_ REFGUID,REFIID,PULONG,PVOID,HRESULT) PURE;
-};
-
-EXTERN_C const IID IID_IPropertyStorage;
-#undef INTERFACE
-#define INTERFACE IPropertyStorage
-DECLARE_INTERFACE_(IPropertyStorage,IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(ReadMultiple)(THIS_ ULONG,PROPSPEC const*,PROPVARIANT*) PURE;
- STDMETHOD(WriteMultiple)(THIS_ ULONG,PROPSPEC const*,PROPVARIANT*,PROPID) PURE;
- STDMETHOD(DeleteMultiple)(THIS_ ULONG,PROPSPEC const*) PURE;
- STDMETHOD(ReadPropertyNames)(THIS_ ULONG,PROPID const*,LPWSTR*) PURE;
- STDMETHOD(WritePropertyNames)(THIS_ ULONG,PROPID const*,LPWSTR const*) PURE;
- STDMETHOD(DeletePropertyNames)(THIS_ ULONG,PROPID const*) PURE;
- STDMETHOD(SetClass)(THIS_ REFCLSID) PURE;
- STDMETHOD(Commit)(THIS_ DWORD) PURE;
- STDMETHOD(Revert)(THIS) PURE;
- STDMETHOD(Enum)(THIS_ IEnumSTATPROPSTG**) PURE;
- STDMETHOD(Stat)(THIS_ STATPROPSTG*) PURE;
- STDMETHOD(SetTimes)(THIS_ FILETIME const*,FILETIME const*,FILETIME const*) PURE;
-};
-
-EXTERN_C const IID IID_IPropertySetStorage;
-#undef INTERFACE
-#define INTERFACE IPropertySetStorage
-DECLARE_INTERFACE_(IPropertySetStorage,IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(Create)(THIS_ REFFMTID,CLSID*,DWORD,DWORD,LPPROPERTYSTORAGE*) PURE;
- STDMETHOD(Open)(THIS_ REFFMTID,DWORD,LPPROPERTYSTORAGE*) PURE;
- STDMETHOD(Delete)(THIS_ REFFMTID) PURE;
- STDMETHOD(Enum)(THIS_ IEnumSTATPROPSETSTG**) PURE;
-};
-
-EXTERN_C const IID IID_IClientSecurity;
-#undef INTERFACE
-#define INTERFACE IClientSecurity
-DECLARE_INTERFACE_(IClientSecurity,IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(QueryBlanket)(THIS_ PVOID,PDWORD,PDWORD,OLECHAR**,PDWORD,PDWORD,RPC_AUTH_IDENTITY_HANDLE**,PDWORD*) PURE;
- STDMETHOD(SetBlanket)(THIS_ PVOID,DWORD,DWORD,LPWSTR,DWORD,DWORD,RPC_AUTH_IDENTITY_HANDLE*,DWORD) PURE;
- STDMETHOD(CopyProxy)(THIS_ LPUNKNOWN,LPUNKNOWN*) PURE;
-};
-
-EXTERN_C const IID IID_IServerSecurity;
-#undef INTERFACE
-#define INTERFACE IServerSecurity
-DECLARE_INTERFACE_(IServerSecurity,IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(QueryBlanket)(THIS_ PDWORD,PDWORD,OLECHAR**,PDWORD,PDWORD,RPC_AUTHZ_HANDLE*,PDWORD*) PURE;
- STDMETHOD(ImpersonateClient)(THIS) PURE;
- STDMETHOD(RevertToSelf)(THIS) PURE;
- STDMETHOD(IsImpersonating)(THIS) PURE;
-};
-
-EXTERN_C const IID IID_IClassActivator;
-#undef INTERFACE
-#define INTERFACE IClassActivator
-DECLARE_INTERFACE_(IClassActivator,IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(GetClassObject)(THIS_ REFCLSID,DWORD,LCID,REFIID,PVOID*) PURE;
-};
-
-EXTERN_C const IID IID_IFillLockBytes;
-#undef INTERFACE
-#define INTERFACE IFillLockBytes
-DECLARE_INTERFACE_(IFillLockBytes,IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(FillAppend)(THIS_ void const*,ULONG,PULONG) PURE;
- STDMETHOD(FillAt)(THIS_ ULARGE_INTEGER,void const*,ULONG,PULONG) PURE;
- STDMETHOD(SetFillSize)(THIS_ ULARGE_INTEGER) PURE;
- STDMETHOD(Terminate)(THIS_ BOOL) PURE;
-};
-
-EXTERN_C const IID IID_IProgressNotify;
-#undef INTERFACE
-#define INTERFACE IProgressNotify
-DECLARE_INTERFACE_(IProgressNotify,IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(OnProgress)(THIS_ DWORD,DWORD,BOOL,BOOL) PURE;
-};
-
-EXTERN_C const IID IID_ILayoutStorage;
-#undef INTERFACE
-#define INTERFACE ILayoutStorage
-DECLARE_INTERFACE_(ILayoutStorage,IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(LayoutScript)(THIS_ STORAGELAYOUT*,DWORD,DWORD) PURE;
- STDMETHOD(BeginMonitor)(THIS) PURE;
- STDMETHOD(EndMonitor)(THIS) PURE;
- STDMETHOD(ReLayoutDocfile)(THIS_ OLECHAR*) PURE;
-};
-
-EXTERN_C const IID IID_IGlobalInterfaceTable;
-#undef INTERFACE
-#define INTERFACE IGlobalInterfaceTable
-DECLARE_INTERFACE_(IGlobalInterfaceTable,IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(RegisterInterfaceInGlobal)(THIS_ IUnknown*,REFIID,DWORD*) PURE;
- STDMETHOD(RevokeInterfaceFromGlobal)(THIS_ DWORD) PURE;
- STDMETHOD(GetInterfaceFromGlobal)(THIS_ DWORD,REFIID,void**) PURE;
-};
-
-#ifdef COBJMACROS
-#define IGlobalInterfaceTable_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
-#define IGlobalInterfaceTable_AddRef(T) (T)->lpVtbl->AddRef(T)
-#define IGlobalInterfaceTable_Release(T) (T)->lpVtbl->Release(T)
-#define IGlobalInterfaceTable_RegisterInterfaceInGlobal(T,a,b,c) (T)->lpVtbl->RegisterInterfaceInGlobal(T,a,b,c)
-#define IGlobalInterfaceTable_RevokeInterfaceFromGlobal(T,a) (T)->lpVtbl->RevokeInterfaceFromGlobal(T,a)
-#define IGlobalInterfaceTable_GetInterfaceFromGlobal(T,a,b,c) (T)->lpVtbl->GetInterfaceFromGlobal(T,a,b,c)
-#endif
-
-HRESULT STDMETHODCALLTYPE IMarshal_GetUnmarshalClass_Proxy(IMarshal*,REFIID,void*,DWORD,void*,DWORD,CLSID*);
-void STDMETHODCALLTYPE IMarshal_GetUnmarshalClass_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IMarshal_GetMarshalSizeMax_Proxy(IMarshal*,REFIID,void*,DWORD,void*,DWORD,DWORD*);
-void STDMETHODCALLTYPE IMarshal_GetMarshalSizeMax_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IMarshal_MarshalInterface_Proxy(IMarshal*,IStream*,REFIID,void*,DWORD,void*,DWORD);
-void STDMETHODCALLTYPE IMarshal_MarshalInterface_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IMarshal_UnmarshalInterface_Proxy(IMarshal*,IStream*,REFIID,void**);
-void STDMETHODCALLTYPE IMarshal_UnmarshalInterface_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IMarshal_ReleaseMarshalData_Proxy(IMarshal*,IStream*);
-void STDMETHODCALLTYPE IMarshal_ReleaseMarshalData_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IMarshal_DisconnectObject_Proxy(IMarshal*,DWORD);
-void STDMETHODCALLTYPE IMarshal_DisconnectObject_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-void* STDMETHODCALLTYPE IMalloc_Alloc_Proxy(IMalloc*,ULONG);
-void STDMETHODCALLTYPE IMalloc_Alloc_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-void* STDMETHODCALLTYPE IMalloc_Realloc_Proxy(IMalloc*,void*,ULONG);
-void STDMETHODCALLTYPE IMalloc_Realloc_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-void STDMETHODCALLTYPE IMalloc_Free_Proxy(IMalloc*,void*);
-void STDMETHODCALLTYPE IMalloc_Free_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-ULONG STDMETHODCALLTYPE IMalloc_GetSize_Proxy(IMalloc*,void*);
-void STDMETHODCALLTYPE IMalloc_GetSize_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-int STDMETHODCALLTYPE IMalloc_DidAlloc_Proxy(IMalloc*,void*);
-void STDMETHODCALLTYPE IMalloc_DidAlloc_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-void STDMETHODCALLTYPE IMalloc_HeapMinimize_Proxy(IMalloc*);
-void STDMETHODCALLTYPE IMalloc_HeapMinimize_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-ULONG STDMETHODCALLTYPE IMallocSpy_PreAlloc_Proxy(IMallocSpy*,ULONG cbRequest);
-void STDMETHODCALLTYPE IMallocSpy_PreAlloc_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-void* STDMETHODCALLTYPE IMallocSpy_PostAlloc_Proxy(IMallocSpy*,void*);
-void STDMETHODCALLTYPE IMallocSpy_PostAlloc_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-void* STDMETHODCALLTYPE IMallocSpy_PreFree_Proxy(IMallocSpy*,void*,BOOL);
-void STDMETHODCALLTYPE IMallocSpy_PreFree_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-void STDMETHODCALLTYPE IMallocSpy_PostFree_Proxy(IMallocSpy*,BOOL);
-void STDMETHODCALLTYPE IMallocSpy_PostFree_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-ULONG STDMETHODCALLTYPE IMallocSpy_PreRealloc_Proxy(IMallocSpy*,void*,ULONG,void**,BOOL);
-void STDMETHODCALLTYPE IMallocSpy_PreRealloc_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-void* STDMETHODCALLTYPE IMallocSpy_PostRealloc_Proxy(IMallocSpy*,void*,BOOL);
-void STDMETHODCALLTYPE IMallocSpy_PostRealloc_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-void* STDMETHODCALLTYPE IMallocSpy_PreGetSize_Proxy(IMallocSpy*,void*,BOOL);
-void STDMETHODCALLTYPE IMallocSpy_PreGetSize_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-ULONG STDMETHODCALLTYPE IMallocSpy_PostGetSize_Proxy(IMallocSpy*,ULONG,BOOL);
-void STDMETHODCALLTYPE IMallocSpy_PostGetSize_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-void* STDMETHODCALLTYPE IMallocSpy_PreDidAlloc_Proxy(IMallocSpy*,void*,BOOL);
-void STDMETHODCALLTYPE IMallocSpy_PreDidAlloc_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-int STDMETHODCALLTYPE IMallocSpy_PostDidAlloc_Proxy(IMallocSpy*,void*,BOOL,int);
-void STDMETHODCALLTYPE IMallocSpy_PostDidAlloc_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-void STDMETHODCALLTYPE IMallocSpy_PreHeapMinimize_Proxy(IMallocSpy* );
-void STDMETHODCALLTYPE IMallocSpy_PreHeapMinimize_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-void STDMETHODCALLTYPE IMallocSpy_PostHeapMinimize_Proxy(IMallocSpy*);
-void STDMETHODCALLTYPE IMallocSpy_PostHeapMinimize_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IStdMarshalInfo_GetClassForHandler_Proxy(IStdMarshalInfo*,DWORD,void*,CLSID*);
-void STDMETHODCALLTYPE IStdMarshalInfo_GetClassForHandler_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-DWORD STDMETHODCALLTYPE IExternalConnection_AddConnection_Proxy(IExternalConnection*,DWORD,DWORD);
-void STDMETHODCALLTYPE IExternalConnection_AddConnection_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-DWORD STDMETHODCALLTYPE IExternalConnection_ReleaseConnection_Proxy(IExternalConnection*,DWORD,DWORD,BOOL);
-void STDMETHODCALLTYPE IExternalConnection_ReleaseConnection_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IEnumUnknown_RemoteNext_Proxy(IEnumUnknown*,ULONG,IUnknown**,ULONG*);
-void STDMETHODCALLTYPE IEnumUnknown_RemoteNext_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IEnumUnknown_Skip_Proxy(IEnumUnknown*,ULONG);
-void STDMETHODCALLTYPE IEnumUnknown_Skip_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IEnumUnknown_Reset_Proxy(IEnumUnknown* );
-void STDMETHODCALLTYPE IEnumUnknown_Reset_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IEnumUnknown_Clone_Proxy(IEnumUnknown*,IEnumUnknown**);
-void STDMETHODCALLTYPE IEnumUnknown_Clone_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IBindCtx_RegisterObjectBound_Proxy(IBindCtx*,IUnknown*punk);
-void STDMETHODCALLTYPE IBindCtx_RegisterObjectBound_Stub(IRpcStubBuffer*,IRpcChannelBuffer*_pRpcChannelBuffer,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IBindCtx_RevokeObjectBound_Proxy(IBindCtx*,IUnknown*punk);
-void STDMETHODCALLTYPE IBindCtx_RevokeObjectBound_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IBindCtx_ReleaseBoundObjects_Proxy(IBindCtx*);
-void STDMETHODCALLTYPE IBindCtx_ReleaseBoundObjects_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IBindCtx_SetBindOptions_Proxy(IBindCtx*,BIND_OPTS*);
-void STDMETHODCALLTYPE IBindCtx_SetBindOptions_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IBindCtx_GetBindOptions_Proxy(IBindCtx*,BIND_OPTS*pbindopts);
-void STDMETHODCALLTYPE IBindCtx_GetBindOptions_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IBindCtx_GetRunningObjectTable_Proxy(IBindCtx*,IRunningObjectTable**);
-void STDMETHODCALLTYPE IBindCtx_GetRunningObjectTable_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IBindCtx_RegisterObjectParam_Proxy(IBindCtx*,LPCSTR,IUnknown*);
-void STDMETHODCALLTYPE IBindCtx_RegisterObjectParam_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IBindCtx_GetObjectParam_Proxy(IBindCtx*,LPCSTR,IUnknown**);
-void STDMETHODCALLTYPE IBindCtx_GetObjectParam_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IBindCtx_EnumObjectParam_Proxy(IBindCtx*,IEnumString**);
-void STDMETHODCALLTYPE IBindCtx_EnumObjectParam_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IBindCtx_RevokeObjectParam_Proxy(IBindCtx*,LPCSTR);
-void STDMETHODCALLTYPE IBindCtx_RevokeObjectParam_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IEnumMoniker_RemoteNext_Proxy(IEnumMoniker*,ULONG,IMoniker**,ULONG*);
-void STDMETHODCALLTYPE IEnumMoniker_RemoteNext_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IEnumMoniker_Skip_Proxy(IEnumMoniker*,ULONG);
-void STDMETHODCALLTYPE IEnumMoniker_Skip_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IEnumMoniker_Reset_Proxy(IEnumMoniker*);
-void STDMETHODCALLTYPE IEnumMoniker_Reset_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IEnumMoniker_Clone_Proxy(IEnumMoniker*,IEnumMoniker**);
-void STDMETHODCALLTYPE IEnumMoniker_Clone_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IRunnableObject_GetRunningClass_Proxy(IRunnableObject*,LPCLSID);
-void STDMETHODCALLTYPE IRunnableObject_GetRunningClass_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IRunnableObject_Run_Proxy(IRunnableObject*,LPBINDCTX);
-void STDMETHODCALLTYPE IRunnableObject_Run_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-BOOL STDMETHODCALLTYPE IRunnableObject_IsRunning_Proxy(IRunnableObject*);
-void STDMETHODCALLTYPE IRunnableObject_IsRunning_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IRunnableObject_LockRunning_Proxy(IRunnableObject*,BOOL,BOOL);
-void STDMETHODCALLTYPE IRunnableObject_LockRunning_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IRunnableObject_SetContainedObject_Proxy(IRunnableObject*,BOOL);
-void STDMETHODCALLTYPE IRunnableObject_SetContainedObject_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IRunningObjectTable_Register_Proxy(IRunningObjectTable*,DWORD,IUnknown*,IMoniker*,DWORD*);
-void STDMETHODCALLTYPE IRunningObjectTable_Register_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IRunningObjectTable_Revoke_Proxy(IRunningObjectTable*,DWORD);
-void STDMETHODCALLTYPE IRunningObjectTable_Revoke_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IRunningObjectTable_IsRunning_Proxy(IRunningObjectTable*,IMoniker*);
-void STDMETHODCALLTYPE IRunningObjectTable_IsRunning_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IRunningObjectTable_GetObject_Proxy(IRunningObjectTable*,IMoniker*,IUnknown**);
-void STDMETHODCALLTYPE IRunningObjectTable_GetObject_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IRunningObjectTable_NoteChangeTime_Proxy(IRunningObjectTable*,DWORD,FILETIME*);
-void STDMETHODCALLTYPE IRunningObjectTable_NoteChangeTime_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IRunningObjectTable_GetTimeOfLastChange_Proxy(IRunningObjectTable*,IMoniker*,FILETIME*);
-void STDMETHODCALLTYPE IRunningObjectTable_GetTimeOfLastChange_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IRunningObjectTable_EnumRunning_Proxy(IRunningObjectTable*,IEnumMoniker**);
-void STDMETHODCALLTYPE IRunningObjectTable_EnumRunning_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IPersist_GetClassID_Proxy(IPersist*,CLSID*);
-void STDMETHODCALLTYPE IPersist_GetClassID_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IPersistStream_IsDirty_Proxy(IPersistStream*);
-void STDMETHODCALLTYPE IPersistStream_IsDirty_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IPersistStream_Load_Proxy(IPersistStream*,IStream*);
-void STDMETHODCALLTYPE IPersistStream_Load_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IPersistStream_Save_Proxy(IPersistStream*,IStream*,BOOL);
-void STDMETHODCALLTYPE IPersistStream_Save_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IPersistStream_GetSizeMax_Proxy(IPersistStream*,ULARGE_INTEGER*);
-void STDMETHODCALLTYPE IPersistStream_GetSizeMax_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IMoniker_RemoteBindToObject_Proxy(IMoniker*,IBindCtx*,IMoniker*,REFIID,IUnknown**);
-void STDMETHODCALLTYPE IMoniker_RemoteBindToObject_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IMoniker_RemoteBindToStorage_Proxy(IMoniker*,IBindCtx*,IMoniker*,REFIID,IUnknown**);
-void STDMETHODCALLTYPE IMoniker_RemoteBindToStorage_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IMoniker_Reduce_Proxy(IMoniker*,IBindCtx*,DWORD,IMoniker**,IMoniker**);
-void STDMETHODCALLTYPE IMoniker_Reduce_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IMoniker_ComposeWith_Proxy(IMoniker*,IMoniker*,BOOL,IMoniker**);
-void STDMETHODCALLTYPE IMoniker_ComposeWith_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IMoniker_Enum_Proxy(IMoniker*,BOOL,IEnumMoniker**);
-void STDMETHODCALLTYPE IMoniker_Enum_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IMoniker_IsEqual_Proxy(IMoniker*,IMoniker*);
-void STDMETHODCALLTYPE IMoniker_IsEqual_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IMoniker_Hash_Proxy(IMoniker*,DWORD*);
-void STDMETHODCALLTYPE IMoniker_Hash_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IMoniker_IsRunning_Proxy(IMoniker*,IBindCtx*,IMoniker*,IMoniker*);
-void STDMETHODCALLTYPE IMoniker_IsRunning_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IMoniker_GetTimeOfLastChange_Proxy(IMoniker*,IBindCtx*,IMoniker*,FILETIME*);
-void STDMETHODCALLTYPE IMoniker_GetTimeOfLastChange_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IMoniker_Inverse_Proxy(IMoniker*,IMoniker**);
-void STDMETHODCALLTYPE IMoniker_Inverse_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IMoniker_CommonPrefixWith_Proxy(IMoniker*,IMoniker*,IMoniker**);
-void STDMETHODCALLTYPE IMoniker_CommonPrefixWith_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IMoniker_RelativePathTo_Proxy(IMoniker*,IMoniker*,IMoniker**);
-void STDMETHODCALLTYPE IMoniker_RelativePathTo_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IMoniker_GetDisplayName_Proxy(IMoniker*,IBindCtx*,IMoniker*,LPCSTR*);
-void STDMETHODCALLTYPE IMoniker_GetDisplayName_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IMoniker_ParseDisplayName_Proxy(IMoniker*,IBindCtx*,IMoniker*,LPCSTR,ULONG*,IMoniker**);
-void STDMETHODCALLTYPE IMoniker_ParseDisplayName_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IMoniker_IsSystemMoniker_Proxy(IMoniker*,DWORD*);
-void STDMETHODCALLTYPE IMoniker_IsSystemMoniker_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IROTData_GetComparisonData_Proxy(IROTData*,BYTE*,ULONG cbMax,ULONG*);
-void STDMETHODCALLTYPE IROTData_GetComparisonData_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IEnumString_RemoteNext_Proxy(IEnumString*,ULONG,LPCSTR*rgelt,ULONG*);
-void STDMETHODCALLTYPE IEnumString_RemoteNext_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IEnumString_Skip_Proxy(IEnumString*,ULONG);
-void STDMETHODCALLTYPE IEnumString_Skip_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IEnumString_Reset_Proxy(IEnumString*);
-void STDMETHODCALLTYPE IEnumString_Reset_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IEnumString_Clone_Proxy(IEnumString*,IEnumString**);
-void STDMETHODCALLTYPE IEnumString_Clone_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IStream_RemoteRead_Proxy(IStream*,BYTE*,ULONG,ULONG*);
-void STDMETHODCALLTYPE IStream_RemoteRead_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IStream_RemoteWrite_Proxy(IStream*,BYTE*pv,ULONG,ULONG*);
-void STDMETHODCALLTYPE IStream_RemoteWrite_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IStream_RemoteSeek_Proxy(IStream*,LARGE_INTEGER,DWORD,ULARGE_INTEGER*);
-void STDMETHODCALLTYPE IStream_RemoteSeek_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IStream_SetSize_Proxy(IStream*,ULARGE_INTEGER);
-void STDMETHODCALLTYPE IStream_SetSize_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IStream_RemoteCopyTo_Proxy(IStream*,IStream*,ULARGE_INTEGER,ULARGE_INTEGER*,ULARGE_INTEGER*);
-void STDMETHODCALLTYPE IStream_RemoteCopyTo_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IStream_Commit_Proxy(IStream*,DWORD);
-void STDMETHODCALLTYPE IStream_Commit_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IStream_Revert_Proxy(IStream*);
-void STDMETHODCALLTYPE IStream_Revert_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IStream_LockRegion_Proxy(IStream*,ULARGE_INTEGER,ULARGE_INTEGER,DWORD);
-void STDMETHODCALLTYPE IStream_LockRegion_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IStream_UnlockRegion_Proxy(IStream*,ULARGE_INTEGER,ULARGE_INTEGER,DWORD);
-void STDMETHODCALLTYPE IStream_UnlockRegion_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IStream_Stat_Proxy(IStream*,STATSTG*,DWORD);
-void STDMETHODCALLTYPE IStream_Stat_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IStream_Clone_Proxy(IStream*,IStream**);
-void STDMETHODCALLTYPE IStream_Clone_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IEnumSTATSTG_RemoteNext_Proxy(IEnumSTATSTG*,ULONG,STATSTG*,ULONG*);
-void STDMETHODCALLTYPE IEnumSTATSTG_RemoteNext_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IEnumSTATSTG_Skip_Proxy(IEnumSTATSTG*,ULONG celt);
-void STDMETHODCALLTYPE IEnumSTATSTG_Skip_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IEnumSTATSTG_Reset_Proxy(IEnumSTATSTG*);
-void STDMETHODCALLTYPE IEnumSTATSTG_Reset_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IEnumSTATSTG_Clone_Proxy(IEnumSTATSTG*,IEnumSTATSTG**);
-void STDMETHODCALLTYPE IEnumSTATSTG_Clone_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IStorage_CreateStream_Proxy(IStorage*,OLECHAR*,DWORD,DWORD,DWORD,IStream**);
-void STDMETHODCALLTYPE IStorage_CreateStream_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IStorage_RemoteOpenStream_Proxy(IStorage*,const OLECHAR*,unsigned long,BYTE*,DWORD,DWORD,IStream**);
-void STDMETHODCALLTYPE IStorage_RemoteOpenStream_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IStorage_CreateStorage_Proxy(IStorage*,OLECHAR*,DWORD,DWORD,DWORD,IStorage**);
-void STDMETHODCALLTYPE IStorage_CreateStorage_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IStorage_OpenStorage_Proxy(IStorage*,OLECHAR*,IStorage*,DWORD,SNB,DWORD,IStorage**);
-void STDMETHODCALLTYPE IStorage_OpenStorage_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IStorage_CopyTo_Proxy(IStorage*,DWORD,const IID*,SNB,IStorage*);
-void STDMETHODCALLTYPE IStorage_CopyTo_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IStorage_MoveElementTo_Proxy(IStorage*,const OLECHAR*,IStorage*,const OLECHAR*,DWORD);
-void STDMETHODCALLTYPE IStorage_MoveElementTo_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IStorage_Commit_Proxy(IStorage*,DWORD);
-void STDMETHODCALLTYPE IStorage_Commit_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IStorage_Revert_Proxy(IStorage*);
-void STDMETHODCALLTYPE IStorage_Revert_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IStorage_RemoteEnumElements_Proxy(IStorage*,DWORD,unsigned long,BYTE*,DWORD,IEnumSTATSTG**);
-void STDMETHODCALLTYPE IStorage_RemoteEnumElements_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IStorage_DestroyElement_Proxy(IStorage*,OLECHAR*);
-void STDMETHODCALLTYPE IStorage_DestroyElement_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IStorage_RenameElement_Proxy(IStorage*,const OLECHAR*,const OLECHAR*);
-void STDMETHODCALLTYPE IStorage_RenameElement_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IStorage_SetElementTimes_Proxy(IStorage*,const OLECHAR*,const FILETIME*,const FILETIME*,const FILETIME*);
-void STDMETHODCALLTYPE IStorage_SetElementTimes_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IStorage_SetClass_Proxy(IStorage*,REFCLSID);
-void STDMETHODCALLTYPE IStorage_SetClass_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IStorage_SetStateBits_Proxy(IStorage*,DWORD,DWORD);
-void STDMETHODCALLTYPE IStorage_SetStateBits_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IStorage_Stat_Proxy(IStorage*,STATSTG*,DWORD);
-void STDMETHODCALLTYPE IStorage_Stat_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IPersistFile_IsDirty_Proxy(IPersistFile*);
-void STDMETHODCALLTYPE IPersistFile_IsDirty_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IPersistFile_Load_Proxy(IPersistFile*,LPCOLESTR,DWORD);
-void STDMETHODCALLTYPE IPersistFile_Load_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IPersistFile_Save_Proxy(IPersistFile*,LPCOLESTR pszFileName,BOOL);
-void STDMETHODCALLTYPE IPersistFile_Save_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IPersistFile_SaveCompleted_Proxy(IPersistFile*,LPCOLESTR);
-void STDMETHODCALLTYPE IPersistFile_SaveCompleted_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IPersistFile_GetCurFile_Proxy(IPersistFile*,LPCSTR*);
-void STDMETHODCALLTYPE IPersistFile_GetCurFile_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IPersistStorage_IsDirty_Proxy(IPersistStorage*);
-void STDMETHODCALLTYPE IPersistStorage_IsDirty_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IPersistStorage_InitNew_Proxy(IPersistStorage*,IStorage*);
-void STDMETHODCALLTYPE IPersistStorage_InitNew_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IPersistStorage_Load_Proxy(IPersistStorage*,IStorage*);
-void STDMETHODCALLTYPE IPersistStorage_Load_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IPersistStorage_Save_Proxy(IPersistStorage*,IStorage*,BOOL);
-void STDMETHODCALLTYPE IPersistStorage_Save_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IPersistStorage_SaveCompleted_Proxy(IPersistStorage*,IStorage*);
-void STDMETHODCALLTYPE IPersistStorage_SaveCompleted_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IPersistStorage_HandsOffStorage_Proxy(IPersistStorage*);
-void STDMETHODCALLTYPE IPersistStorage_HandsOffStorage_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE ILockBytes_RemoteReadAt_Proxy(ILockBytes*,ULARGE_INTEGER,BYTE*,ULONG,ULONG*);
-void STDMETHODCALLTYPE ILockBytes_RemoteReadAt_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE ILockBytes_RemoteWriteAt_Proxy(ILockBytes*,ULARGE_INTEGER,BYTE*pv,ULONG,ULONG*);
-void STDMETHODCALLTYPE ILockBytes_RemoteWriteAt_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE ILockBytes_Flush_Proxy(ILockBytes*);
-void STDMETHODCALLTYPE ILockBytes_Flush_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE ILockBytes_SetSize_Proxy(ILockBytes*,ULARGE_INTEGER);
-void STDMETHODCALLTYPE ILockBytes_SetSize_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE ILockBytes_LockRegion_Proxy(ILockBytes*,ULARGE_INTEGER,ULARGE_INTEGER,DWORD);
-void STDMETHODCALLTYPE ILockBytes_LockRegion_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE ILockBytes_UnlockRegion_Proxy(ILockBytes*,ULARGE_INTEGER,ULARGE_INTEGER,DWORD);
-void STDMETHODCALLTYPE ILockBytes_UnlockRegion_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE ILockBytes_Stat_Proxy(ILockBytes*,STATSTG*,DWORD);
-void STDMETHODCALLTYPE ILockBytes_Stat_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IEnumFORMATETC_RemoteNext_Proxy(IEnumFORMATETC*,ULONG,FORMATETC*,ULONG*);
-void STDMETHODCALLTYPE IEnumFORMATETC_RemoteNext_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IEnumFORMATETC_Skip_Proxy(IEnumFORMATETC*,ULONG);
-void STDMETHODCALLTYPE IEnumFORMATETC_Skip_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IEnumFORMATETC_Reset_Proxy(IEnumFORMATETC*);
-void STDMETHODCALLTYPE IEnumFORMATETC_Reset_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IEnumFORMATETC_Clone_Proxy(IEnumFORMATETC*,IEnumFORMATETC**);
-void STDMETHODCALLTYPE IEnumFORMATETC_Clone_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IEnumFORMATETC_Next_Proxy(IEnumFORMATETC*,ULONG,FORMATETC*,ULONG*);
-HRESULT STDMETHODCALLTYPE IEnumFORMATETC_Next_Stub(IEnumFORMATETC*,ULONG,FORMATETC*,ULONG*);
-HRESULT STDMETHODCALLTYPE IEnumSTATDATA_RemoteNext_Proxy(IEnumSTATDATA*,ULONG,STATDATA*,ULONG*);
-void STDMETHODCALLTYPE IEnumSTATDATA_RemoteNext_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IEnumSTATDATA_Skip_Proxy(IEnumSTATDATA*,ULONG);
-void STDMETHODCALLTYPE IEnumSTATDATA_Skip_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IEnumSTATDATA_Reset_Proxy(IEnumSTATDATA*);
-void STDMETHODCALLTYPE IEnumSTATDATA_Reset_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IEnumSTATDATA_Clone_Proxy(IEnumSTATDATA*,IEnumSTATDATA**);
-void STDMETHODCALLTYPE IEnumSTATDATA_Clone_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IEnumSTATDATA_Next_Proxy(IEnumSTATDATA*,ULONG,STATDATA*,ULONG*);
-HRESULT STDMETHODCALLTYPE IEnumSTATDATA_Next_Stub(IEnumSTATDATA*,ULONG,STATDATA*,ULONG*);
-HRESULT STDMETHODCALLTYPE IRootStorage_SwitchToFile_Proxy(IRootStorage*,LPCSTR);
-void STDMETHODCALLTYPE IRootStorage_SwitchToFile_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-void STDMETHODCALLTYPE IAdviseSink_RemoteOnDataChange_Proxy(IAdviseSink*,FORMATETC*,RemSTGMEDIUM*);
-void STDMETHODCALLTYPE IAdviseSink_RemoteOnDataChange_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-void STDMETHODCALLTYPE IAdviseSink_RemoteOnViewChange_Proxy(IAdviseSink*,DWORD,LONG);
-void STDMETHODCALLTYPE IAdviseSink_RemoteOnViewChange_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-void STDMETHODCALLTYPE IAdviseSink_RemoteOnRename_Proxy(IAdviseSink*,IMoniker*);
-void STDMETHODCALLTYPE IAdviseSink_RemoteOnRename_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-void STDMETHODCALLTYPE IAdviseSink_RemoteOnSave_Proxy(IAdviseSink*);
-void STDMETHODCALLTYPE IAdviseSink_RemoteOnSave_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IAdviseSink_RemoteOnClose_Proxy(IAdviseSink*);
-void STDMETHODCALLTYPE IAdviseSink_RemoteOnClose_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-void STDMETHODCALLTYPE IAdviseSink_OnDataChange_Proxy(IAdviseSink*,FORMATETC*,STGMEDIUM*);
-void STDMETHODCALLTYPE IAdviseSink_OnDataChange_Stub(IAdviseSink*,FORMATETC*,RemSTGMEDIUM*);
-void STDMETHODCALLTYPE IAdviseSink_OnViewChange_Proxy(IAdviseSink*,DWORD,LONG);
-void STDMETHODCALLTYPE IAdviseSink_OnViewChange_Stub(IAdviseSink*,DWORD,LONG);
-void STDMETHODCALLTYPE IAdviseSink_OnRename_Proxy(IAdviseSink*,IMoniker*);
-void STDMETHODCALLTYPE IAdviseSink_OnRename_Stub(IAdviseSink*,IMoniker*);
-void STDMETHODCALLTYPE IAdviseSink_OnSave_Proxy(IAdviseSink*);
-void STDMETHODCALLTYPE IAdviseSink_OnSave_Stub(IAdviseSink*);
-void STDMETHODCALLTYPE IAdviseSink_OnClose_Proxy(IAdviseSink*);
-HRESULT STDMETHODCALLTYPE IAdviseSink_OnClose_Stub(IAdviseSink*);
-void STDMETHODCALLTYPE IAdviseSink2_RemoteOnLinkSrcChange_Proxy(IAdviseSink2*,IMoniker*);
-void STDMETHODCALLTYPE IAdviseSink2_RemoteOnLinkSrcChange_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-void STDMETHODCALLTYPE IAdviseSink2_OnLinkSrcChange_Proxy(IAdviseSink2*,IMoniker*);
-void STDMETHODCALLTYPE IAdviseSink2_OnLinkSrcChange_Stub(IAdviseSink2*,IMoniker*);
-HRESULT STDMETHODCALLTYPE IDataObject_RemoteGetData_Proxy(IDataObject*,FORMATETC*,RemSTGMEDIUM**);
-void STDMETHODCALLTYPE IDataObject_RemoteGetData_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IDataObject_RemoteGetDataHere_Proxy(IDataObject*,FORMATETC*,RemSTGMEDIUM**);
-void STDMETHODCALLTYPE IDataObject_RemoteGetDataHere_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IDataObject_QueryGetData_Proxy(IDataObject*,FORMATETC*);
-void STDMETHODCALLTYPE IDataObject_QueryGetData_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IDataObject_GetCanonicalFormatEtc_Proxy(IDataObject*,FORMATETC*,FORMATETC*);
-void STDMETHODCALLTYPE IDataObject_GetCanonicalFormatEtc_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IDataObject_RemoteSetData_Proxy(IDataObject*,FORMATETC*,RemSTGMEDIUM*,BOOL);
-void STDMETHODCALLTYPE IDataObject_RemoteSetData_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IDataObject_EnumFormatEtc_Proxy(IDataObject*,DWORD,IEnumFORMATETC**);
-void STDMETHODCALLTYPE IDataObject_EnumFormatEtc_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IDataObject_DAdvise_Proxy(IDataObject*,FORMATETC*,DWORD,IAdviseSink*,DWORD*);
-void STDMETHODCALLTYPE IDataObject_DAdvise_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IDataObject_DUnadvise_Proxy(IDataObject*,DWORD);
-void STDMETHODCALLTYPE IDataObject_DUnadvise_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IDataObject_EnumDAdvise_Proxy(IDataObject*,IEnumSTATDATA**);
-void STDMETHODCALLTYPE IDataObject_EnumDAdvise_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IDataObject_GetData_Proxy(IDataObject*,FORMATETC*,STGMEDIUM*);
-HRESULT STDMETHODCALLTYPE IDataObject_GetData_Stub(IDataObject*,FORMATETC*,RemSTGMEDIUM**);
-HRESULT STDMETHODCALLTYPE IDataObject_GetDataHere_Proxy(IDataObject*,FORMATETC*,STGMEDIUM*);
-HRESULT STDMETHODCALLTYPE IDataObject_GetDataHere_Stub(IDataObject*,FORMATETC*,RemSTGMEDIUM**);
-HRESULT STDMETHODCALLTYPE IDataObject_SetData_Proxy(IDataObject*,FORMATETC*,STGMEDIUM*,BOOL);
-HRESULT STDMETHODCALLTYPE IDataObject_SetData_Stub(IDataObject*,FORMATETC*,RemSTGMEDIUM*,BOOL);
-HRESULT STDMETHODCALLTYPE IDataAdviseHolder_Advise_Proxy(IDataAdviseHolder*,IDataObject*,FORMATETC*,DWORD,IAdviseSink*,DWORD*);
-void STDMETHODCALLTYPE IDataAdviseHolder_Advise_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IDataAdviseHolder_Unadvise_Proxy(IDataAdviseHolder*,DWORD);
-void STDMETHODCALLTYPE IDataAdviseHolder_Unadvise_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IDataAdviseHolder_EnumAdvise_Proxy(IDataAdviseHolder*,IEnumSTATDATA**);
-void STDMETHODCALLTYPE IDataAdviseHolder_EnumAdvise_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IDataAdviseHolder_SendOnDataChange_Proxy(IDataAdviseHolder*,IDataObject*,DWORD,DWORD);
-void STDMETHODCALLTYPE IDataAdviseHolder_SendOnDataChange_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-DWORD STDMETHODCALLTYPE IMessageFilter_HandleInComingCall_Proxy(IMessageFilter*,DWORD,HTASK,DWORD,LPINTERFACEINFO);
-void STDMETHODCALLTYPE IMessageFilter_HandleInComingCall_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-DWORD STDMETHODCALLTYPE IMessageFilter_RetryRejectedCall_Proxy(IMessageFilter*,HTASK,DWORD,DWORD);
-void STDMETHODCALLTYPE IMessageFilter_RetryRejectedCall_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-DWORD STDMETHODCALLTYPE IMessageFilter_MessagePending_Proxy(IMessageFilter*,HTASK,DWORD,DWORD);
-void STDMETHODCALLTYPE IMessageFilter_MessagePending_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IRpcChannelBuffer_GetBuffer_Proxy(IRpcChannelBuffer*,RPCOLEMESSAGE*,REFIID);
-void STDMETHODCALLTYPE IRpcChannelBuffer_GetBuffer_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IRpcChannelBuffer_SendReceive_Proxy(IRpcChannelBuffer*,RPCOLEMESSAGE*,ULONG*);
-void STDMETHODCALLTYPE IRpcChannelBuffer_SendReceive_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IRpcChannelBuffer_FreeBuffer_Proxy(IRpcChannelBuffer*,RPCOLEMESSAGE*);
-void STDMETHODCALLTYPE IRpcChannelBuffer_FreeBuffer_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IRpcChannelBuffer_GetDestCtx_Proxy(IRpcChannelBuffer*,DWORD*,void**);
-void STDMETHODCALLTYPE IRpcChannelBuffer_GetDestCtx_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IRpcChannelBuffer_IsConnected_Proxy(IRpcChannelBuffer*);
-void STDMETHODCALLTYPE IRpcChannelBuffer_IsConnected_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IRpcProxyBuffer_Connect_Proxy(IRpcProxyBuffer*,IRpcChannelBuffer*pRpcChannelBuffer);
-void STDMETHODCALLTYPE IRpcProxyBuffer_Connect_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-void STDMETHODCALLTYPE IRpcProxyBuffer_Disconnect_Proxy(IRpcProxyBuffer*);
-void STDMETHODCALLTYPE IRpcProxyBuffer_Disconnect_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IRpcStubBuffer_Connect_Proxy(IRpcStubBuffer*,IUnknown*);
-void STDMETHODCALLTYPE IRpcStubBuffer_Connect_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-void STDMETHODCALLTYPE IRpcStubBuffer_Disconnect_Proxy(IRpcStubBuffer*);
-void STDMETHODCALLTYPE IRpcStubBuffer_Disconnect_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IRpcStubBuffer_Invoke_Proxy(IRpcStubBuffer*,RPCOLEMESSAGE*,IRpcChannelBuffer*);
-void STDMETHODCALLTYPE IRpcStubBuffer_Invoke_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-IRpcStubBuffer*STDMETHODCALLTYPE IRpcStubBuffer_IsIIDSupported_Proxy(IRpcStubBuffer*,REFIID);
-void STDMETHODCALLTYPE IRpcStubBuffer_IsIIDSupported_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-ULONG STDMETHODCALLTYPE IRpcStubBuffer_CountRefs_Proxy(IRpcStubBuffer*);
-void STDMETHODCALLTYPE IRpcStubBuffer_CountRefs_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IRpcStubBuffer_DebugServerQueryInterface_Proxy(IRpcStubBuffer*,void**);
-void STDMETHODCALLTYPE IRpcStubBuffer_DebugServerQueryInterface_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-void STDMETHODCALLTYPE IRpcStubBuffer_DebugServerRelease_Proxy(IRpcStubBuffer*,void*);
-void STDMETHODCALLTYPE IRpcStubBuffer_DebugServerRelease_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IPSFactoryBuffer_CreateProxy_Proxy(IPSFactoryBuffer*,IUnknown*,REFIID,IRpcProxyBuffer**,void**);
-void STDMETHODCALLTYPE IPSFactoryBuffer_CreateProxy_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IPSFactoryBuffer_CreateStub_Proxy(IPSFactoryBuffer*,REFIID,IUnknown*,IRpcStubBuffer**);
-void STDMETHODCALLTYPE IPSFactoryBuffer_CreateStub_Stub(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,PDWORD);
-void STDMETHODCALLTYPE SNB_to_xmit(SNB*,RemSNB**);
-void STDMETHODCALLTYPE SNB_from_xmit(RemSNB*,SNB*);
-void STDMETHODCALLTYPE SNB_free_inst(SNB*);
-void STDMETHODCALLTYPE SNB_free_xmit(RemSNB*);
-HRESULT STDMETHODCALLTYPE IEnumUnknown_Next_Proxy(IEnumUnknown*,ULONG,IUnknown**,ULONG*);
-HRESULT STDMETHODCALLTYPE IEnumUnknown_Next_Stub(IEnumUnknown*,ULONG,IUnknown**,ULONG*);
-HRESULT STDMETHODCALLTYPE IEnumMoniker_Next_Proxy(IEnumMoniker*,ULONG,IMoniker**,ULONG*);
-HRESULT STDMETHODCALLTYPE IEnumMoniker_Next_Stub(IEnumMoniker*,ULONG,IMoniker**,ULONG*);
-HRESULT STDMETHODCALLTYPE IMoniker_BindToObject_Proxy(IMoniker*,IBindCtx*,IMoniker*,REFIID,void**);
-HRESULT STDMETHODCALLTYPE IMoniker_BindToObject_Stub(IMoniker*,IBindCtx*,IMoniker*,REFIID,IUnknown**);
-HRESULT STDMETHODCALLTYPE IMoniker_BindToStorage_Proxy(IMoniker*,IBindCtx*,IMoniker*,REFIID,void**);
-HRESULT STDMETHODCALLTYPE IMoniker_BindToStorage_Stub(IMoniker*,IBindCtx*,IMoniker*,REFIID,IUnknown**);
-HRESULT STDMETHODCALLTYPE IEnumString_Next_Proxy(IEnumString*,ULONG,LPCSTR*,ULONG*);
-HRESULT STDMETHODCALLTYPE IEnumString_Next_Stub(IEnumString*,ULONG,LPCSTR*,ULONG*);
-HRESULT STDMETHODCALLTYPE IStream_Read_Proxy(IStream*,void*,ULONG,ULONG*);
-HRESULT STDMETHODCALLTYPE IStream_Read_Stub(IStream*,BYTE*,ULONG,ULONG*);
-HRESULT STDMETHODCALLTYPE IStream_Write_Proxy(IStream*,void*,ULONG,ULONG*);
-HRESULT STDMETHODCALLTYPE IStream_Write_Stub(IStream*,BYTE*,ULONG,ULONG*);
-HRESULT STDMETHODCALLTYPE IStream_Seek_Proxy(IStream*,LARGE_INTEGER,DWORD,ULARGE_INTEGER*);
-HRESULT STDMETHODCALLTYPE IStream_Seek_Stub(IStream*,LARGE_INTEGER,DWORD,ULARGE_INTEGER*);
-HRESULT STDMETHODCALLTYPE IStream_CopyTo_Proxy(IStream*,IStream*,ULARGE_INTEGER,ULARGE_INTEGER*,ULARGE_INTEGER*);
-HRESULT STDMETHODCALLTYPE IStream_CopyTo_Stub(IStream*,IStream*,ULARGE_INTEGER,ULARGE_INTEGER*,ULARGE_INTEGER*);
-HRESULT STDMETHODCALLTYPE IEnumSTATSTG_Next_Proxy(IEnumSTATSTG*,ULONG,STATSTG*,ULONG*);
-HRESULT STDMETHODCALLTYPE IEnumSTATSTG_Next_Stub(IEnumSTATSTG*,ULONG,STATSTG*,ULONG*);
-HRESULT STDMETHODCALLTYPE IStorage_OpenStream_Proxy(IStorage*,OLECHAR*,void*,DWORD,DWORD,IStream**);
-HRESULT STDMETHODCALLTYPE IStorage_OpenStream_Stub(IStorage*,OLECHAR*,unsigned long,BYTE*,DWORD,DWORD,IStream** );
-HRESULT STDMETHODCALLTYPE IStorage_EnumElements_Proxy(IStorage*,DWORD,void*,DWORD,IEnumSTATSTG**);
-HRESULT STDMETHODCALLTYPE IStorage_EnumElements_Stub(IStorage*,DWORD,unsigned long,BYTE*,DWORD,IEnumSTATSTG**);
-HRESULT STDMETHODCALLTYPE ILockBytes_ReadAt_Proxy(ILockBytes*,ULARGE_INTEGER,void*,ULONG,ULONG*);
-HRESULT STDMETHODCALLTYPE ILockBytes_ReadAt_Stub(ILockBytes*,ULARGE_INTEGER,BYTE*,ULONG,ULONG*);
-HRESULT STDMETHODCALLTYPE ILockBytes_WriteAt_Proxy(ILockBytes*,ULARGE_INTEGER,const void*,ULONG,ULONG*);
-HRESULT STDMETHODCALLTYPE ILockBytes_WriteAt_Stub(ILockBytes*,ULARGE_INTEGER,BYTE*,ULONG,ULONG*);
-
-#if (!defined (__cplusplus) || defined (CINTERFACE)) \
- && defined (COBJMACROS)
-#define IMarshal_QueryInterface(T,r,p) (T)->lpVtbl->QueryInterface(T,r,p)
-#define IMarshal_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define IMarshal_Release(This) (This)->lpVtbl->Release(This)
-#define IMarshal_GetUnmarshalClass(T,r,pv,dw,pvD,m,pC) (T)->lpVtbl->GetUnmarshalClass(T,r,pv,dw,pvD,m,pC)
-#define IMarshal_GetMarshalSizeMax(T,r,pv,dw,pD,m,p) (T)->lpVtbl->GetMarshalSizeMax(T,r,pv,dw,pD,m,p)
-#define IMarshal_MarshalInterface(T,p,r,pv,dw,pvD,m) (T)->lpVtbl->MarshalInterface(T,p,r,pv,dw,pv,m)
-#define IMarshal_UnmarshalInterface(T,p,r,pp) (T)->lpVtbl->UnmarshalInterface(T,p,r,pp)
-#define IMarshal_ReleaseMarshalData(T,p) (T)->lpVtbl->ReleaseMarshalData(T,p)
-#define IMarshal_DisconnectObject(T,d) (T)->lpVtbl->DisconnectObject(T,d)
-#define IMalloc_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define IMalloc_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define IMalloc_Release(This) (This)->lpVtbl->Release(This)
-#define IMalloc_Alloc(This,cb) (This)->lpVtbl->Alloc(This,cb)
-#define IMalloc_Realloc(This,pv,cb) (This)->lpVtbl->Realloc(This,pv,cb)
-#define IMalloc_Free(This,pv) (This)->lpVtbl->Free(This,pv)
-#define IMalloc_GetSize(This,pv) (This)->lpVtbl->GetSize(This,pv)
-#define IMalloc_DidAlloc(This,pv) (This)->lpVtbl->DidAlloc(This,pv)
-#define IMalloc_HeapMinimize(This) (This)->lpVtbl->HeapMinimize(This)
-#define IMallocSpy_QueryInterface(T,r,p) (T)->lpVtbl->QueryInterface(T,r,p)
-#define IMallocSpy_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define IMallocSpy_Release(This) (This)->lpVtbl->Release(This)
-#define IMallocSpy_PreAlloc(T,c) (T)->lpVtbl->PreAlloc(T,c)
-#define IMallocSpy_PostAlloc(This,p) (This)->lpVtbl->PostAlloc(This,p)
-#define IMallocSpy_PreFree(This,p,f) (This)->lpVtbl->PreFree(This,p,f)
-#define IMallocSpy_PostFree(This,fSpyed) (This)->lpVtbl->PostFree(This,fSpyed)
-#define IMallocSpy_PreRealloc(T,p,c,pp,f) (T)->lpVtbl->PreRealloc(T,p,c,pp,f)
-#define IMallocSpy_PostRealloc(T,p,f) (T)->lpVtbl->PostRealloc(T,p,f)
-#define IMallocSpy_PreGetSize(This,p,f) (This)->lpVtbl->PreGetSize(This,p,f)
-#define IMallocSpy_PostGetSize(This,cbActual,fSpyed) (This)->lpVtbl->PostGetSize(This,cbActual,fSpyed)
-#define IMallocSpy_PreDidAlloc(This,pRequest,fSpyed) (This)->lpVtbl->PreDidAlloc(This,pRequest,fSpyed)
-#define IMallocSpy_PostDidAlloc(This,pRequest,fSpyed,fActual) (This)->lpVtbl->PostDidAlloc(This,pRequest,fSpyed,fActual)
-#define IMallocSpy_PreHeapMinimize(T) (T)->lpVtbl->PreHeapMinimize(T)
-#define IMallocSpy_PostHeapMinimize(T) (T)->lpVtbl->PostHeapMinimize(T)
-#define IStdMarshalInfo_QueryInterface(T,r,p) (This)->lpVtbl->QueryInterface(T,r,p)
-#define IStdMarshalInfo_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define IStdMarshalInfo_Release(This) (This)->lpVtbl->Release(This)
-#define IStdMarshalInfo_GetClassForHandler(This,D,p,C) (This)->lpVtbl->GetClassForHandler(This,D,p,C)
-#define IExternalConnection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define IExternalConnection_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define IExternalConnection_Release(This) (This)->lpVtbl->Release(This)
-#define IExternalConnection_AddConnection(T,e,r) (T)->lpVtbl->AddConnection(T,e,r)
-#define IExternalConnection_ReleaseConnection(This,e,r,f) (This)->lpVtbl->ReleaseConnection(This,e,r,f)
-#define IEnumUnknown_QueryInterface(T,r,p) (This)->lpVtbl->QueryInterface(T,r,p)
-#define IEnumUnknown_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define IEnumUnknown_Release(This) (This)->lpVtbl->Release(This)
-#define IEnumUnknown_Next(This,celt,rgelt,p) (This)->lpVtbl->Next(This,celt,rgelt,p)
-#define IEnumUnknown_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)
-#define IEnumUnknown_Reset(This) (This)->lpVtbl->Reset(This)
-#define IEnumUnknown_Clone(This,ppenum) (This)->lpVtbl->Clone(This,ppenum)
-#define IBindCtx_QueryInterface(T,r,p) (T)->lpVtbl->QueryInterface(T,r,p)
-#define IBindCtx_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define IBindCtx_Release(This) (This)->lpVtbl->Release(This)
-#define IBindCtx_RegisterObjectBound(T,p) (T)->lpVtbl->RegisterObjectBound(T,p)
-#define IBindCtx_RevokeObjectBound(T,p) (T)->lpVtbl->RevokeObjectBound(T,p)
-#define IBindCtx_ReleaseBoundObjects(T) (T)->lpVtbl->ReleaseBoundObjects(T)
-#define IBindCtx_SetBindOptions(T,p) (T)->lpVtbl->SetBindOptions(T,p)
-#define IBindCtx_GetBindOptions(This,pbindopts) (This)->lpVtbl->GetBindOptions(This,pbindopts)
-#define IBindCtx_GetRunningObjectTable(This,pprot) (This)->lpVtbl->GetRunningObjectTable(This,pprot)
-#define IBindCtx_RegisterObjectParam(This,pszKey,punk) (This)->lpVtbl->RegisterObjectParam(This,pszKey,punk)
-#define IBindCtx_GetObjectParam(This,pszKey,ppunk) (This)->lpVtbl->GetObjectParam(This,pszKey,ppunk)
-#define IBindCtx_EnumObjectParam(This,ppenum) (This)->lpVtbl->EnumObjectParam(This,ppenum)
-#define IBindCtx_RevokeObjectParam(This,pszKey) (This)->lpVtbl->RevokeObjectParam(This,pszKey)
-#define IEnumMoniker_QueryInterface(T,r,p) (T)->lpVtbl->QueryInterface(T,r,p)
-#define IEnumMoniker_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define IEnumMoniker_Release(This) (This)->lpVtbl->Release(This)
-#define IEnumMoniker_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched)
-#define IEnumMoniker_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)
-#define IEnumMoniker_Reset(This) (This)->lpVtbl->Reset(This)
-#define IEnumMoniker_Clone(This,ppenum) (This)->lpVtbl->Clone(This,ppenum)
-#define IRunnableObject_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define IRunnableObject_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define IRunnableObject_Release(This) (This)->lpVtbl->Release(This)
-#define IRunnableObject_GetRunningClass(This,lpClsid) (This)->lpVtbl->GetRunningClass(This,lpClsid)
-#define IRunnableObject_Run(This,pbc) (This)->lpVtbl->Run(This,pbc)
-#define IRunnableObject_IsRunning(This) (This)->lpVtbl->IsRunning(This)
-#define IRunnableObject_LockRunning(This,fLock,fLastUnlockCloses) (This)->lpVtbl->LockRunning(This,fLock,fLastUnlockCloses)
-#define IRunnableObject_SetContainedObject(This,fContained) (This)->lpVtbl->SetContainedObject(This,fContained)
-#define IRunningObjectTable_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define IRunningObjectTable_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define IRunningObjectTable_Release(This) (This)->lpVtbl->Release(This)
-#define IRunningObjectTable_Register(This,grfFlags,punkObject,pmkObjectName,pdwRegister) (This)->lpVtbl->Register(This,grfFlags,punkObject,pmkObjectName,pdwRegister)
-#define IRunningObjectTable_Revoke(This,dwRegister) (This)->lpVtbl->Revoke(This,dwRegister)
-#define IRunningObjectTable_IsRunning(This,pmkObjectName) (This)->lpVtbl->IsRunning(This,pmkObjectName)
-#define IRunningObjectTable_GetObject(This,pmkObjectName,ppunkObject) (This)->lpVtbl->GetObject(This,pmkObjectName,ppunkObject)
-#define IRunningObjectTable_NoteChangeTime(This,dwRegister,pfiletime) (This)->lpVtbl->NoteChangeTime(This,dwRegister,pfiletime)
-#define IRunningObjectTable_GetTimeOfLastChange(This,pmkObjectName,pfiletime) (This)->lpVtbl->GetTimeOfLastChange(This,pmkObjectName,pfiletime)
-#define IRunningObjectTable_EnumRunning(This,ppenumMoniker) (This)->lpVtbl->EnumRunning(This,ppenumMoniker)
-#define IPersist_QueryInterface(T,r,p) (T)->lpVtbl->QueryInterface(T,r,p)
-#define IPersist_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define IPersist_Release(This) (This)->lpVtbl->Release(This)
-#define IPersist_GetClassID(This,pClassID) (This)->lpVtbl->GetClassID(This,pClassID)
-#define IPersistStream_QueryInterface(T,r,p) (T)->lpVtbl->QueryInterface(T,r,p)
-#define IPersistStream_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define IPersistStream_Release(This) (This)->lpVtbl->Release(This)
-#define IPersistStream_GetClassID(T,p) (T)->lpVtbl->GetClassID(T,p)
-#define IPersistStream_IsDirty(This) (This)->lpVtbl->IsDirty(This)
-#define IPersistStream_Load(This,pStm) (This)->lpVtbl->Load(This,pStm)
-#define IPersistStream_Save(T,p,f) (T)->lpVtbl->Save(T,p,f)
-#define IPersistStream_GetSizeMax(T,p) (T)->lpVtbl->GetSizeMax(T,p)
-#define IMoniker_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define IMoniker_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define IMoniker_Release(This) (This)->lpVtbl->Release(This)
-#define IMoniker_GetClassID(This,pClassID) (This)->lpVtbl->GetClassID(This,pClassID)
-#define IMoniker_IsDirty(This) (This)->lpVtbl->IsDirty(This)
-#define IMoniker_Load(This,pStm) (This)->lpVtbl->Load(This,pStm)
-#define IMoniker_Save(This,pStm,fClearDirty) (This)->lpVtbl->Save(This,pStm,fClearDirty)
-#define IMoniker_GetSizeMax(This,pcbSize) (This)->lpVtbl->GetSizeMax(This,pcbSize)
-#define IMoniker_BindToObject(T,p,pm,r,pp) (T)->lpVtbl->BindToObject(T,p,pm,r,pp)
-#define IMoniker_BindToStorage(This,pbc,pmkToLeft,riid,ppvObj) (This)->lpVtbl->BindToStorage(This,pbc,pmkToLeft,riid,ppvObj)
-#define IMoniker_Reduce(This,pbc,dwReduceHowFar,ppmkToLeft,ppmkReduced) (This)->lpVtbl->Reduce(This,pbc,dwReduceHowFar,ppmkToLeft,ppmkReduced)
-#define IMoniker_ComposeWith(This,pmkRight,fOnlyIfNotGeneric,ppmkComposite) (This)->lpVtbl->ComposeWith(This,pmkRight,fOnlyIfNotGeneric,ppmkComposite)
-#define IMoniker_Enum(T,f,pp) (T)->lpVtbl->Enum(T,f,pp)
-#define IMoniker_IsEqual(This,p) (This)->lpVtbl->IsEqual(This,p)
-#define IMoniker_Hash(This,pdwHash) (This)->lpVtbl->Hash(This,pdwHash)
-#define IMoniker_IsRunning(T,pbc,Left,N) (T)->lpVtbl->IsRunning(T,pbc,Left,N)
-#define IMoniker_GetTimeOfLastChange(This,pbc,pmkToLeft,pFileTime) (This)->lpVtbl->GetTimeOfLastChange(This,pbc,pmkToLeft,pFileTime)
-#define IMoniker_Inverse(This,ppmk) (This)->lpVtbl->Inverse(This,ppmk)
-#define IMoniker_CommonPrefixWith(This,pmkOther,ppmkPrefix) (This)->lpVtbl->CommonPrefixWith(This,pmkOther,ppmkPrefix)
-#define IMoniker_RelativePathTo(This,pmkOther,ppmkRelPath) (This)->lpVtbl->RelativePathTo(This,pmkOther,ppmkRelPath)
-#define IMoniker_GetDisplayName(This,pbc,pmkToLeft,ppszDisplayName) (This)->lpVtbl->GetDisplayName(This,pbc,pmkToLeft,ppszDisplayName)
-#define IMoniker_ParseDisplayName(This,pbc,pmkToLeft,pszDisplayName,pchEaten,ppmkOut) (This)->lpVtbl->ParseDisplayName(This,pbc,pmkToLeft,pszDisplayName,pchEaten,ppmkOut)
-#define IMoniker_IsSystemMoniker(This,pdwMksys) (This)->lpVtbl->IsSystemMoniker(This,pdwMksys)
-#define IROTData_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define IROTData_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define IROTData_Release(This) (This)->lpVtbl->Release(This)
-#define IROTData_GetComparisonData(This,pbData,cbMax,pcbData) (This)->lpVtbl->GetComparisonData(This,pbData,cbMax,pcbData)
-#define IEnumString_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define IEnumString_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define IEnumString_Release(This) (This)->lpVtbl->Release(This)
-#define IEnumString_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched)
-#define IEnumString_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)
-#define IEnumString_Reset(This) (This)->lpVtbl->Reset(This)
-#define IEnumString_Clone(This,ppenum) (This)->lpVtbl->Clone(This,ppenum)
-#define IStream_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define IStream_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define IStream_Release(This) (This)->lpVtbl->Release(This)
-#define IStream_Read(This,pv,cb,pcbRead) (This)->lpVtbl->Read(This,pv,cb,pcbRead)
-#define IStream_Write(This,pv,cb,pcbWritten) (This)->lpVtbl->Write(This,pv,cb,pcbWritten)
-#define IStream_Seek(This,dlibMove,dwOrigin,plibNewPosition) (This)->lpVtbl->Seek(This,dlibMove,dwOrigin,plibNewPosition)
-#define IStream_SetSize(This,libNewSize) (This)->lpVtbl->SetSize(This,libNewSize)
-#define IStream_CopyTo(This,pstm,cb,pcbRead,pcbWritten) (This)->lpVtbl->CopyTo(This,pstm,cb,pcbRead,pcbWritten)
-#define IStream_Commit(This,grfCommitFlags) (This)->lpVtbl->Commit(This,grfCommitFlags)
-#define IStream_Revert(This) (This)->lpVtbl->Revert(This)
-#define IStream_LockRegion(This,libOffset,cb,dwLockType) (This)->lpVtbl->LockRegion(This,libOffset,cb,dwLockType)
-#define IStream_UnlockRegion(This,libOffset,cb,dwLockType) (This)->lpVtbl->UnlockRegion(This,libOffset,cb,dwLockType)
-#define IStream_Stat(This,pstatstg,grfStatFlag) (This)->lpVtbl->Stat(This,pstatstg,grfStatFlag)
-#define IStream_Clone(This,ppstm) (This)->lpVtbl->Clone(This,ppstm)
-#define IEnumSTATSTG_QueryInterface(T,r,p) (T)->lpVtbl->QueryInterface(T,r,p)
-#define IEnumSTATSTG_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define IEnumSTATSTG_Release(This) (This)->lpVtbl->Release(This)
-#define IEnumSTATSTG_Next(T,c,r,p) (T)->lpVtbl->Next(T,c,r,p)
-#define IEnumSTATSTG_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)
-#define IEnumSTATSTG_Reset(This) (This)->lpVtbl->Reset(This)
-#define IEnumSTATSTG_Clone(This,ppenum) (This)->lpVtbl->Clone(This,ppenum)
-#define IStorage_QueryInterface(T,r,p) (T)->lpVtbl->QueryInterface(T,r,p)
-#define IStorage_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define IStorage_Release(This) (This)->lpVtbl->Release(This)
-#define IStorage_CreateStream(T,p,g,r1,r2,pp) (T)->lpVtbl->CreateStream(T,p,g,r1,r2,pp)
-#define IStorage_OpenStream(T,p,r1,g,r2,pp) (T)->lpVtbl->OpenStream(T,p,r1,g,r2,pp)
-#define IStorage_CreateStorage(T,p,g,d,r2,pp) (T)->lpVtbl->CreateStorage(T,p,g,d,r2,pp)
-#define IStorage_OpenStorage(This,pwcsName,pstgPriority,grfMode,snbExclude,reserved,ppstg) (This)->lpVtbl->OpenStorage(This,pwcsName,pstgPriority,grfMode,snbExclude,reserved,ppstg)
-#define IStorage_CopyTo(This,ciidExclude,rgiidExclude,snbExclude,pstgDest) (This)->lpVtbl->CopyTo(This,ciidExclude,rgiidExclude,snbExclude,pstgDest)
-#define IStorage_MoveElementTo(This,pwcsName,pstgDest,pwcsNewName,grfFlags) (This)->lpVtbl->MoveElementTo(This,pwcsName,pstgDest,pwcsNewName,grfFlags)
-#define IStorage_Commit(This,g) (This)->lpVtbl->Commit(This,g)
-#define IStorage_Revert(This) (This)->lpVtbl->Revert(This)
-#define IStorage_EnumElements(This,reserved1,reserved2,reserved3,ppenum) (This)->lpVtbl->EnumElements(This,reserved1,reserved2,reserved3,ppenum)
-#define IStorage_DestroyElement(This,pwcsName) (This)->lpVtbl->DestroyElement(This,pwcsName)
-#define IStorage_RenameElement(This,pwcsOldName,pwcsNewName) (This)->lpVtbl->RenameElement(This,pwcsOldName,pwcsNewName)
-#define IStorage_SetElementTimes(This,pwcsName,pctime,patime,pmtime) (This)->lpVtbl->SetElementTimes(This,pwcsName,pctime,patime,pmtime)
-#define IStorage_SetClass(This,clsid) (This)->lpVtbl->SetClass(This,clsid)
-#define IStorage_SetStateBits(This,grfStateBits,grfMask) (This)->lpVtbl->SetStateBits(This,grfStateBits,grfMask)
-#define IStorage_Stat(This,p,g) (This)->lpVtbl->Stat(This,p,g)
-#define IPersistFile_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define IPersistFile_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define IPersistFile_Release(This) (This)->lpVtbl->Release(This)
-#define IPersistFile_GetClassID(This,pClassID) (This)->lpVtbl->GetClassID(This,pClassID)
-#define IPersistFile_IsDirty(This) (This)->lpVtbl->IsDirty(This)
-#define IPersistFile_Load(This,pszFileName,dwMode) (This)->lpVtbl->Load(This,pszFileName,dwMode)
-#define IPersistFile_Save(This,pszFileName,fRemember) (This)->lpVtbl->Save(This,pszFileName,fRemember)
-#define IPersistFile_SaveCompleted(This,pszFileName) (This)->lpVtbl->SaveCompleted(This,pszFileName)
-#define IPersistFile_GetCurFile(This,ppszFileName) (This)->lpVtbl->GetCurFile(This,ppszFileName)
-#define IPersistStorage_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define IPersistStorage_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define IPersistStorage_Release(This) (This)->lpVtbl->Release(This)
-#define IPersistStorage_GetClassID(This,pClassID) (This)->lpVtbl->GetClassID(This,pClassID)
-#define IPersistStorage_IsDirty(This) (This)->lpVtbl->IsDirty(This)
-#define IPersistStorage_InitNew(This,pStg) (This)->lpVtbl->InitNew(This,pStg)
-#define IPersistStorage_Load(This,pStg) (This)->lpVtbl->Load(This,pStg)
-#define IPersistStorage_Save(This,pStgSave,fSameAsLoad) (This)->lpVtbl->Save(This,pStgSave,fSameAsLoad)
-#define IPersistStorage_SaveCompleted(This,pStgNew) (This)->lpVtbl->SaveCompleted(This,pStgNew)
-#define IPersistStorage_HandsOffStorage(This) (This)->lpVtbl->HandsOffStorage(This)
-#define ILockBytes_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define ILockBytes_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define ILockBytes_Release(This) (This)->lpVtbl->Release(This)
-#define ILockBytes_ReadAt(This,ulOffset,pv,cb,pcbRead) (This)->lpVtbl->ReadAt(This,ulOffset,pv,cb,pcbRead)
-#define ILockBytes_WriteAt(This,ulOffset,pv,cb,pcbWritten) (This)->lpVtbl->WriteAt(This,ulOffset,pv,cb,pcbWritten)
-#define ILockBytes_Flush(This) (This)->lpVtbl->Flush(This)
-#define ILockBytes_SetSize(This,cb) (This)->lpVtbl->SetSize(This,cb)
-#define ILockBytes_LockRegion(This,libOffset,cb,dwLockType) (This)->lpVtbl->LockRegion(This,libOffset,cb,dwLockType)
-#define ILockBytes_UnlockRegion(This,libOffset,cb,dwLockType) (This)->lpVtbl->UnlockRegion(This,libOffset,cb,dwLockType)
-#define ILockBytes_Stat(This,pstatstg,grfStatFlag) (This)->lpVtbl->Stat(This,pstatstg,grfStatFlag)
-#define IEnumFORMATETC_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define IEnumFORMATETC_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define IEnumFORMATETC_Release(This) (This)->lpVtbl->Release(This)
-#define IEnumFORMATETC_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched)
-#define IEnumFORMATETC_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)
-#define IEnumFORMATETC_Reset(This) (This)->lpVtbl->Reset(This)
-#define IEnumFORMATETC_Clone(This,ppenum) (This)->lpVtbl->Clone(This,ppenum)
-#define IEnumSTATDATA_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define IEnumSTATDATA_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define IEnumSTATDATA_Release(This) (This)->lpVtbl->Release(This)
-#define IEnumSTATDATA_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched)
-#define IEnumSTATDATA_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)
-#define IEnumSTATDATA_Reset(This) (This)->lpVtbl->Reset(This)
-#define IEnumSTATDATA_Clone(This,ppenum) (This)->lpVtbl->Clone(This,ppenum)
-#define IRootStorage_QueryInterface(T,r,O) (T)->lpVtbl->QueryInterface(T,r,O)
-#define IRootStorage_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define IRootStorage_Release(This) (This)->lpVtbl->Release(This)
-#define IRootStorage_SwitchToFile(This,pszFile) (This)->lpVtbl->SwitchToFile(This,pszFile)
-#define IAdviseSink_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define IAdviseSink_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define IAdviseSink_Release(This) (This)->lpVtbl->Release(This)
-#define IAdviseSink_OnDataChange(This,pFormatetc,pStgmed) (This)->lpVtbl->OnDataChange(This,pFormatetc,pStgmed)
-#define IAdviseSink_OnViewChange(This,dwAspect,lindex) (This)->lpVtbl->OnViewChange(This,dwAspect,lindex)
-#define IAdviseSink_OnRename(This,pmk) (This)->lpVtbl->OnRename(This,pmk)
-#define IAdviseSink_OnSave(This) (This)->lpVtbl->OnSave(This)
-#define IAdviseSink_OnClose(This) (This)->lpVtbl->OnClose(This)
-#define IAdviseSink2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define IAdviseSink2_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define IAdviseSink2_Release(This) (This)->lpVtbl->Release(This)
-#define IAdviseSink2_OnDataChange(This,pFormatetc,pStgmed) (This)->lpVtbl->OnDataChange(This,pFormatetc,pStgmed)
-#define IAdviseSink2_OnViewChange(This,dwAspect,lindex) (This)->lpVtbl->OnViewChange(This,dwAspect,lindex)
-#define IAdviseSink2_OnRename(This,pmk) (This)->lpVtbl->OnRename(This,pmk)
-#define IAdviseSink2_OnSave(This) (This)->lpVtbl->OnSave(This)
-#define IAdviseSink2_OnClose(This) (This)->lpVtbl->OnClose(This)
-#define IAdviseSink2_OnLinkSrcChange(This,pmk) (This)->lpVtbl->OnLinkSrcChange(This,pmk)
-#define IDataObject_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define IDataObject_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define IDataObject_Release(This) (This)->lpVtbl->Release(This)
-#define IDataObject_GetData(This,pformatetcIn,pmedium) (This)->lpVtbl->GetData(This,pformatetcIn,pmedium)
-#define IDataObject_GetDataHere(This,pformatetc,pmedium) (This)->lpVtbl->GetDataHere(This,pformatetc,pmedium)
-#define IDataObject_QueryGetData(This,pformatetc) (This)->lpVtbl->QueryGetData(This,pformatetc)
-#define IDataObject_GetCanonicalFormatEtc(This,pformatectIn,pformatetcOut) (This)->lpVtbl->GetCanonicalFormatEtc(This,pformatectIn,pformatetcOut)
-#define IDataObject_SetData(This,pformatetc,pmedium,fRelease) (This)->lpVtbl->SetData(This,pformatetc,pmedium,fRelease)
-#define IDataObject_EnumFormatEtc(This,dwDirection,ppenumFormatEtc) (This)->lpVtbl->EnumFormatEtc(This,dwDirection,ppenumFormatEtc)
-#define IDataObject_DAdvise(This,pformatetc,advf,pAdvSink,pdwConnection) (This)->lpVtbl->DAdvise(This,pformatetc,advf,pAdvSink,pdwConnection)
-#define IDataObject_DUnadvise(This,dwConnection) (This)->lpVtbl->DUnadvise(This,dwConnection)
-#define IDataObject_EnumDAdvise(This,ppenumAdvise) (This)->lpVtbl->EnumDAdvise(This,ppenumAdvise)
-#define IDataAdviseHolder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define IDataAdviseHolder_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define IDataAdviseHolder_Release(This) (This)->lpVtbl->Release(This)
-#define IDataAdviseHolder_Advise(This,pDataObject,pFetc,advf,pAdvise,pdwConnection) (This)->lpVtbl->Advise(This,pDataObject,pFetc,advf,pAdvise,pdwConnection)
-#define IDataAdviseHolder_Unadvise(This,dwConnection) (This)->lpVtbl->Unadvise(This,dwConnection)
-#define IDataAdviseHolder_EnumAdvise(This,ppenumAdvise) (This)->lpVtbl->EnumAdvise(This,ppenumAdvise)
-#define IDataAdviseHolder_SendOnDataChange(This,pDataObject,dwReserved,advf) (This)->lpVtbl->SendOnDataChange(This,pDataObject,dwReserved,advf)
-#define IMessageFilter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define IMessageFilter_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define IMessageFilter_Release(This) (This)->lpVtbl->Release(This)
-#define IMessageFilter_HandleInComingCall(T,d,h,dw,lp) (T)->lpVtbl->HandleInComingCall(T,d,h,dw,lp)
-#define IMessageFilter_RetryRejectedCall(s,C,T,R) (s)->lpVtbl->RetryRejectedCall(s,C,T,R)
-#define IMessageFilter_MessagePending(s,C,T,P) (s)->lpVtbl->MessagePending(This,C,T,P)
-#define IRpcChannelBuffer_QueryInterface(T,r,p) (T)->lpVtbl->QueryInterface(T,r,p)
-#define IRpcChannelBuffer_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define IRpcChannelBuffer_Release(This) (This)->lpVtbl->Release(This)
-#define IRpcChannelBuffer_GetBuffer(This,pMessage,riid) (This)->lpVtbl->GetBuffer(This,pMessage,riid)
-#define IRpcChannelBuffer_SendReceive(T,p,pS) (T)->lpVtbl->SendReceive(T,p,pS)
-#define IRpcChannelBuffer_FreeBuffer(T,p) (T)->lpVtbl->FreeBuffer(T,p)
-#define IRpcChannelBuffer_GetDestCtx(This,pdwDestContext,ppvDestContext) (This)->lpVtbl->GetDestCtx(This,pdwDestContext,ppvDestContext)
-#define IRpcChannelBuffer_IsConnected(This) (This)->lpVtbl->IsConnected(This)
-#define IRpcProxyBuffer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define IRpcProxyBuffer_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define IRpcProxyBuffer_Release(This) (This)->lpVtbl->Release(This)
-#define IRpcProxyBuffer_Connect(This,pRpcChannelBuffer) (This)->lpVtbl->Connect(This,pRpcChannelBuffer)
-#define IRpcProxyBuffer_Disconnect(This) (This)->lpVtbl->Disconnect(This)
-#define IRpcStubBuffer_QueryInterface(T,r,pp) (T)->lpVtbl->QueryInterface(T,r,pp)
-#define IRpcStubBuffer_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define IRpcStubBuffer_Release(This) (This)->lpVtbl->Release(This)
-#define IRpcStubBuffer_Connect(This,p) (This)->lpVtbl->Connect(This,p)
-#define IRpcStubBuffer_Disconnect(This) (This)->lpVtbl->Disconnect(This)
-#define IRpcStubBuffer_Invoke(T,_prpcmsg,_p) (T)->lpVtbl->Invoke(T,_prpcmsg,_p)
-#define IRpcStubBuffer_IsIIDSupported(T,d) (T)->lpVtbl->IsIIDSupported(T,d)
-#define IRpcStubBuffer_CountRefs(This) (This)->lpVtbl->CountRefs(This)
-#define IRpcStubBuffer_DebugServerQueryInterface(T,p) (T)->lpVtbl->DebugServerQueryInterface(T,p)
-#define IRpcStubBuffer_DebugServerRelease(T,p) (T)->lpVtbl->DebugServerRelease(T,p)
-#define IPSFactoryBuffer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
-#define IPSFactoryBuffer_AddRef(This) (This)->lpVtbl->AddRef(This)
-#define IPSFactoryBuffer_Release(This) (This)->lpVtbl->Release(This)
-#define IPSFactoryBuffer_CreateProxy(T,U,r,P,p) (T)->lpVtbl->CreateProxy(T,U,r,P,p)
-#define IPSFactoryBuffer_CreateStub(T,r,U,p) (T)->lpVtbl->CreateStub(T,r,U,p)
-#define IClassActivator_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
-#define IClassActivator_AddRef(T) (T)->lpVtbl->AddRef(T)
-#define IClassActivator_Release(T) (T)->lpVtbl->Release(T)
-#define IClassActivator_GetClassObject(T,a,b,c,d,e) (T)->lpVtbl->GetClassObject(T,a,b,c,d,e)
-#endif /* COBJMACROS */
-
-#endif
diff --git a/winsup/w32api/include/objsafe.h b/winsup/w32api/include/objsafe.h
deleted file mode 100644
index 5b77b0690..000000000
--- a/winsup/w32api/include/objsafe.h
+++ /dev/null
@@ -1,26 +0,0 @@
-#ifndef _OBJSAFE_H
-#define _OBJSAFE_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define INTERFACESAFE_FOR_UNTRUSTED_CALLER 0x00000001
-#define INTERFACESAFE_FOR_UNTRUSTED_DATA 0x00000002
-
-EXTERN_C const IID IID_IObjectSafety;
-#undef INTERFACE
-#define INTERFACE IObjectSafety
-DECLARE_INTERFACE_(IObjectSafety,IUnknown)
-{
- STDMETHOD(GetInterfaceSafetyOptions)(THIS_ REFIID,DWORD*,DWORD*) PURE;
- STDMETHOD(SetInterfaceSafetyOptions)(THIS_ REFIID,DWORD,DWORD) PURE;
-};
-
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/winsup/w32api/include/ocidl.h b/winsup/w32api/include/ocidl.h
deleted file mode 100644
index f5c91ade6..000000000
--- a/winsup/w32api/include/ocidl.h
+++ /dev/null
@@ -1,837 +0,0 @@
-#ifndef _OCIDL_H
-#define _OCIDL_H
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <ole2.h>
-
-typedef interface IErrorLog *LPERRORLOG;
-typedef interface IPropertyBag *LPPROPERTYBAG;
-typedef interface IPropertyBag2 *LPPROPERTYBAG2;
-typedef interface IEnumConnections *LPENUMCONNECTIONS;
-typedef interface IConnectionPoint *LPCONNECTIONPOINT;
-typedef interface IEnumConnectionPoints *LPENUMCONNECTIONPOINTS;
-typedef interface IPropertyPageSite *LPPROPERTYPAGESITE;
-typedef interface IFont *LPFONT;
-typedef interface IFontDisp *LPFONTDISP;
-typedef interface IOleUndoManager *LPOLEUNDOMANAGER;
-
-#ifndef OLE2ANSI
-typedef TEXTMETRICW TEXTMETRICOLE;
-#else
-typedef TEXTMETRIC TEXTMETRICOLE;
-#endif
-typedef TEXTMETRICOLE *LPTEXTMETRICOLE;
-typedef DWORD OLE_COLOR;
-typedef UINT OLE_HANDLE;
-typedef long OLE_XPOS_HIMETRIC;
-typedef long OLE_YPOS_HIMETRIC;
-typedef long OLE_XSIZE_HIMETRIC;
-typedef long OLE_YSIZE_HIMETRIC;
-
-typedef enum tagREADYSTATE {
- READYSTATE_UNINITIALIZED = 0,
- READYSTATE_LOADING = 1,
- READYSTATE_LOADED = 2,
- READYSTATE_INTERACTIVE = 3,
- READYSTATE_COMPLETE = 4
-} READYSTATE;
-typedef enum tagPROPBAG2_TYPE {
- PROPBAG2_TYPE_UNDEFINED = 0,
- PROPBAG2_TYPE_DATA = 1,
- PROPBAG2_TYPE_URL = 2,
- PROPBAG2_TYPE_OBJECT = 3,
- PROPBAG2_TYPE_STREAM = 4,
- PROPBAG2_TYPE_STORAGE = 5,
- PROPBAG2_TYPE_MONIKER = 6
-} PROPBAG2_TYPE;
-typedef struct tagPROPBAG2
-{
- DWORD dwType;
- VARTYPE vt;
- CLIPFORMAT cfType;
- DWORD dwHint;
- LPOLESTR pstrName;
- CLSID clsid;
-} PROPBAG2;
-typedef enum tagQACONTAINERFLAGS
-{
- QACONTAINER_SHOWHATCHING = 1,
- QACONTAINER_SHOWGRABHANDLES = 2,
- QACONTAINER_USERMODE = 4,
- QACONTAINER_DISPLAYASDEFAULT = 8,
- QACONTAINER_UIDEAD = 16,
- QACONTAINER_AUTOCLIP = 32,
- QACONTAINER_MESSAGEREFLECT = 64,
- QACONTAINER_SUPPORTSMNEMONICS = 128
-} QACONTAINERFLAGS;
-typedef struct tagQACONTAINER
-{
- ULONG cbSize;
- interface IOleClientSite *pClientSite;
- interface IAdviseSinkEx *pAdviseSink;
- interface IPropertyNotifySink *pPropertyNotifySink;
- IUnknown *pUnkEventSink;
- DWORD dwAmbientFlags;
- OLE_COLOR colorFore;
- OLE_COLOR colorBack;
- interface IFont *pFont;
- interface IOleUndoManager *pUndoMgr;
- DWORD dwAppearance;
- LONG lcid;
- HPALETTE hpal;
- interface IBindHost *pBindHost;
- interface IOleControlSite *pOleControlSite;
- interface IServiceProvider *pServiceProvider;
-} QACONTAINER;
-typedef struct tagQACONTROL
-{
- ULONG cbSize;
- DWORD dwMiscStatus;
- DWORD dwViewStatus;
- DWORD dwEventCookie;
- DWORD dwPropNotifyCookie;
- DWORD dwPointerActivationPolicy;
-} QACONTROL;
-typedef struct tagPOINTF {
- float x;
- float y;
-} POINTF,*LPPOINTF;
-typedef struct tagCONTROLINFO {
- ULONG cb;
- HACCEL hAccel;
- USHORT cAccel;
- DWORD dwFlags;
-} CONTROLINFO,*LPCONTROLINFO;
-typedef struct tagCONNECTDATA {
- LPUNKNOWN pUnk;
- DWORD dwCookie;
-} CONNECTDATA,*LPCONNECTDATA;
-typedef struct tagLICINFO {
- long cbLicInfo;
- BOOL fRuntimeKeyAvail;
- BOOL fLicVerified;
-} LICINFO,*LPLICINFO;
-typedef struct tagCAUUID {
- ULONG cElems;
- GUID *pElems;
-} CAUUID,*LPCAUUID;
-typedef struct tagCALPOLESTR {
- ULONG cElems;
- LPOLESTR *pElems;
-} CALPOLESTR,*LPCALPOLESTR;
-typedef struct tagCADWORD {
- ULONG cElems;
- DWORD *pElems;
-} CADWORD,*LPCADWORD;
-typedef struct tagPROPPAGEINFO {
- ULONG cb;
- LPOLESTR pszTitle;
- SIZE size;
- LPOLESTR pszDocString;
- LPOLESTR pszHelpFile;
- DWORD dwHelpContext;
-} PROPPAGEINFO,*LPPROPPAGEINFO;
-
-EXTERN_C const IID IID_IOleControl;
-#undef INTERFACE
-#define INTERFACE IOleControl
-DECLARE_INTERFACE_(IOleControl,IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(GetControlInfo)(THIS_ LPCONTROLINFO) PURE;
- STDMETHOD(OnMnemonic)(THIS_ LPMSG) PURE;
- STDMETHOD(OnAmbientPropertyChange)(THIS_ DISPID) PURE;
- STDMETHOD(FreezeEvents)(THIS_ BOOL) PURE;
-};
-
-EXTERN_C const IID IID_IOleControlSite;
-#undef INTERFACE
-#define INTERFACE IOleControlSite
-DECLARE_INTERFACE_(IOleControlSite,IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(OnControlInfoChanged)(THIS) PURE;
- STDMETHOD(LockInPlaceActive)(THIS_ BOOL) PURE;
- STDMETHOD(GetExtendedControl)(THIS_ LPDISPATCH*) PURE;
- STDMETHOD(TransformCoords)(THIS_ POINTL*,POINTF*,DWORD) PURE;
- STDMETHOD(TranslateAccelerator)(THIS_ LPMSG,DWORD) PURE;
- STDMETHOD(OnFocus)(THIS_ BOOL) PURE;
- STDMETHOD(ShowPropertyFrame)(THIS) PURE;
-};
-
-#ifdef COBJMACROS
-#define IOleControlSite_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
-#define IOleControlSite_AddRef(T) (T)->lpVtbl->AddRef(T)
-#define IOleControlSite_Release(T) (T)->lpVtbl->Release(T)
-#define IOleControlSite_OnControlInfoChanged(T) (T)->lpVtbl->OnControlInfoChanged(T)
-#define IOleControlSite_LockInPlaceActive(T,a) (T)->lpVtbl->LockInPlaceActive(T,a)
-#define IOleControlSite_GetExtendedControl(T,a) (T)->lpVtbl->GetExtendedControl(T,a)
-#define IOleControlSite_TransformCoords(T,a,b,c) (T)->lpVtbl->TransformCoords(T,a,b,c)
-#define IOleControlSite_TranslateAccelerator(T,a,b) (T)->lpVtbl->TranslateAccelerator(T,a,b)
-#define IOleControlSite_OnFocus(T,a) (T)->lpVtbl->OnFocus(T,a)
-#define IOleControlSite_ShowPropertyFrame(T) (T)->lpVtbl->ShowPropertyFrame(T)
-#endif
-
-EXTERN_C const IID IID_ISimpleFrameSite;
-#undef INTERFACE
-#define INTERFACE ISimpleFrameSite
-DECLARE_INTERFACE_(ISimpleFrameSite,IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(PreMessageFilter)(THIS_ HWND,UINT,WPARAM,LPARAM,LRESULT*,PDWORD) PURE;
- STDMETHOD(PostMessageFilter)(THIS_ HWND,UINT,WPARAM,LPARAM,LRESULT*,DWORD) PURE;
-};
-
-EXTERN_C const IID IID_IErrorLog;
-#undef INTERFACE
-#define INTERFACE IErrorLog
-DECLARE_INTERFACE_(IErrorLog,IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(AddError)(THIS_ LPCOLESTR,LPEXCEPINFO) PURE;
-};
-
-EXTERN_C const IID IID_IPropertyBag;
-#undef INTERFACE
-#define INTERFACE IPropertyBag
-DECLARE_INTERFACE_(IPropertyBag,IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(Read)(THIS_ LPCOLESTR,LPVARIANT,LPERRORLOG) PURE;
- STDMETHOD(Write)(THIS_ LPCOLESTR,LPVARIANT) PURE;
-};
-
-EXTERN_C const IID IID_IPropertyBag2;
-#undef INTERFACE
-#define INTERFACE IPropertyBag2
-DECLARE_INTERFACE_(IPropertyBag2,IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(Read)(THIS_ ULONG,PROPBAG2*,LPERRORLOG,VARIANT*,HRESULT*) PURE;
- STDMETHOD(Write)(THIS_ ULONG,PROPBAG2*,VARIANT*) PURE;
- STDMETHOD(CountProperties)(THIS_ ULONG*) PURE;
- STDMETHOD(GetPropertyInfo)(THIS_ ULONG,ULONG,PROPBAG2*,ULONG*) PURE;
- STDMETHOD(LoadObject)(THIS_ LPCOLESTR,DWORD,IUnknown*,LPERRORLOG) PURE;
-};
-
-EXTERN_C const IID IID_IPersistPropertyBag;
-#undef INTERFACE
-#define INTERFACE IPersistPropertyBag
-DECLARE_INTERFACE_(IPersistPropertyBag,IPersist)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(GetClassID)(THIS_ LPCLSID) PURE;
- STDMETHOD(InitNew)(THIS) PURE;
- STDMETHOD(Load)(THIS_ LPPROPERTYBAG,LPERRORLOG) PURE;
- STDMETHOD(Save)(THIS_ LPPROPERTYBAG,BOOL,BOOL) PURE;
-};
-
-#ifdef COBJMACROS
-#define IPersistPropertyBag_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
-#define IPersistPropertyBag_AddRef(T) (T)->lpVtbl->AddRef(T)
-#define IPersistPropertyBag_Release(T) (T)->lpVtbl->Release(T)
-#define IPersistPropertyBag_GetClassID(T,a) (T)->lpVtbl->GetClassID(T,a)
-#define IPersistPropertyBag_InitNew(T) (T)->lpVtbl->InitNew(T)
-#define IPersistPropertyBag_Load(T,a,b) (T)->lpVtbl->Load(T,a,b)
-#define IPersistPropertyBag_Save(T,a,b,c) (T)->lpVtbl->Save(T,a,b,c)
-#endif
-
-EXTERN_C const IID IID_IPersistPropertyBag2;
-#undef INTERFACE
-#define INTERFACE IPersistPropertyBag2
-DECLARE_INTERFACE_(IPersistPropertyBag2,IPersist)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(GetClassID)(THIS_ LPCLSID) PURE;
- STDMETHOD(InitNew)(THIS) PURE;
- STDMETHOD(Load)(THIS_ LPPROPERTYBAG2,LPERRORLOG) PURE;
- STDMETHOD(Save)(THIS_ LPPROPERTYBAG2,BOOL,BOOL) PURE;
- STDMETHOD(IsDirty)(THIS) PURE;
-};
-
-#ifdef COBJMACROS
-#define IPersistPropertyBag2_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
-#define IPersistPropertyBag2_AddRef(T) (T)->lpVtbl->AddRef(T)
-#define IPersistPropertyBag2_Release(T) (T)->lpVtbl->Release(T)
-#define IPersistPropertyBag2_GetClassID(T,a) (T)->lpVtbl->GetClassID(T,a)
-#define IPersistPropertyBag2_InitNew(T) (T)->lpVtbl->InitNew(T)
-#define IPersistPropertyBag2_Load(T,a,b) (T)->lpVtbl->Load(T,a,b)
-#define IPersistPropertyBag2_Save(T,a,b,c) (T)->lpVtbl->Save(T,a,b,c)
-#define IPersistPropertyBag2_IsDirty(T) (T)->lpVtbl->IsDirty(T)
-#endif
-
-EXTERN_C const IID IID_IPersistStreamInit;
-#undef INTERFACE
-#define INTERFACE IPersistStreamInit
-DECLARE_INTERFACE_(IPersistStreamInit,IPersist)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(GetClassID)(THIS_ LPCLSID) PURE;
- STDMETHOD(IsDirty)(THIS) PURE;
- STDMETHOD(Load)(THIS_ LPSTREAM) PURE;
- STDMETHOD(Save)(THIS_ LPSTREAM,BOOL) PURE;
- STDMETHOD(GetSizeMax)(THIS_ PULARGE_INTEGER) PURE;
- STDMETHOD(InitNew)(THIS) PURE;
-};
-
-EXTERN_C const IID IID_IPersistMemory;
-#undef INTERFACE
-#define INTERFACE IPersistMemory
-DECLARE_INTERFACE_(IPersistMemory,IPersist)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(GetClassID)(THIS_ LPCLSID) PURE;
- STDMETHOD(IsDirty)(THIS) PURE;
- STDMETHOD(Load)(THIS_ PVOID,ULONG) PURE;
- STDMETHOD(Save)(THIS_ PVOID,BOOL,ULONG) PURE;
- STDMETHOD(GetSizeMax)(THIS_ PULONG) PURE;
- STDMETHOD(InitNew)(THIS) PURE;
-};
-
-EXTERN_C const IID IID_IPropertyNotifySink;
-#undef INTERFACE
-#define INTERFACE IPropertyNotifySink
-DECLARE_INTERFACE_(IPropertyNotifySink,IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(OnChanged)(THIS_ DISPID) PURE;
- STDMETHOD(OnRequestEdit)(THIS_ DISPID) PURE;
-};
-
-#ifdef COBJMACROS
-#define IPropertyNotifySink_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
-#define IPropertyNotifySink_AddRef(T) (T)->lpVtbl->AddRef(T)
-#define IPropertyNotifySink_Release(T) (T)->lpVtbl->Release(T)
-#define IPropertyNotifySink_OnChanged(T,a) (T)->lpVtbl->OnChanged(T,a)
-#define IPropertyNotifySink_OnRequestEdit(T,a) (T)->lpVtbl->OnRequestEdit(T,a)
-#endif
-
-EXTERN_C const IID IID_IProvideClassInfo;
-#undef INTERFACE
-#define INTERFACE IProvideClassInfo
-DECLARE_INTERFACE_(IProvideClassInfo,IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(GetClassInfo)(THIS_ LPTYPEINFO*) PURE;
-};
-
-EXTERN_C const IID IID_IProvideClassInfo2;
-#undef INTERFACE
-#define INTERFACE IProvideClassInfo2
-DECLARE_INTERFACE_(IProvideClassInfo2,IProvideClassInfo)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(GetClassInfo)(THIS_ LPTYPEINFO*) PURE;
- STDMETHOD(GetGUID)(THIS_ DWORD,GUID*) PURE;
-};
-
-EXTERN_C const IID IID_IConnectionPointContainer;
-#undef INTERFACE
-#define INTERFACE IConnectionPointContainer
-DECLARE_INTERFACE_(IConnectionPointContainer,IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(EnumConnectionPoints)(THIS_ LPENUMCONNECTIONPOINTS*) PURE;
- STDMETHOD(FindConnectionPoint)(THIS_ REFIID,LPCONNECTIONPOINT*) PURE;
-};
-
-#ifdef COBJMACROS
-#define IConnectionPointContainer_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
-#define IConnectionPointContainer_AddRef(T) (T)->lpVtbl->AddRef(T)
-#define IConnectionPointContainer_Release(T) (T)->lpVtbl->Release(T)
-#define IConnectionPointContainer_EnumConnectionPoints(T,a) (T)->lpVtbl->EnumConnectionPoints(T,a)
-#define IConnectionPointContainer_FindConnectionPoint(T,a,b) (T)->lpVtbl->FindConnectionPoint(T,a,b)
-#endif
-
-EXTERN_C const IID IID_IEnumConnectionPoints;
-#undef INTERFACE
-#define INTERFACE IEnumConnectionPoints
-DECLARE_INTERFACE_(IEnumConnectionPoints,IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(Next)(THIS_ ULONG,LPCONNECTIONPOINT*,ULONG*) PURE;
- STDMETHOD(Skip)(THIS_ ULONG) PURE;
- STDMETHOD(Reset)(THIS) PURE;
- STDMETHOD(Clone)(THIS_ LPENUMCONNECTIONPOINTS*) PURE;
-};
-
-EXTERN_C const IID IID_IConnectionPoint;
-#undef INTERFACE
-#define INTERFACE IConnectionPoint
-DECLARE_INTERFACE_(IConnectionPoint,IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(GetConnectionInterface)(THIS_ IID*) PURE;
- STDMETHOD(GetConnectionPointContainer)(THIS_ IConnectionPointContainer**) PURE;
- STDMETHOD(Advise)(THIS_ LPUNKNOWN,PDWORD) PURE;
- STDMETHOD(Unadvise)(THIS_ DWORD) PURE;
- STDMETHOD(EnumConnections)(THIS_ LPENUMCONNECTIONS*) PURE;
-};
-
-#ifdef COBJMACROS
-#define IConnectionPoint_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
-#define IConnectionPoint_AddRef(T) (T)->lpVtbl->AddRef(T)
-#define IConnectionPoint_Release(T) (T)->lpVtbl->Release(T)
-#define IConnectionPoint_GetConnectionInterface(T,a) (T)->lpVtbl->GetConnectionInterface(T,a)
-#define IConnectionPoint_GetConnectionPointContainer(T,a) (T)->lpVtbl->GetConnectionPointContainer(T,a)
-#define IConnectionPoint_Advise(T,a,b) (T)->lpVtbl->Advise(T,a,b)
-#define IConnectionPoint_Unadvise(T,a) (T)->lpVtbl->Unadvise(T,a)
-#define IConnectionPoint_EnumConnections(T,a) (T)->lpVtbl->EnumConnections(T,a)
-#endif
-
-EXTERN_C const IID IID_IEnumConnections;
-#undef INTERFACE
-#define INTERFACE IEnumConnections
-DECLARE_INTERFACE_(IEnumConnections,IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(Next)(THIS_ ULONG,LPCONNECTDATA,PULONG) PURE;
- STDMETHOD(Skip)(THIS_ ULONG) PURE;
- STDMETHOD(Reset)(THIS) PURE;
- STDMETHOD(Clone)(THIS_ LPENUMCONNECTIONS*) PURE;
-};
-
-#ifdef COBJMACROS
-#define IEnumConnections_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
-#define IEnumConnections_AddRef(T) (T)->lpVtbl->AddRef(T)
-#define IEnumConnections_Release(T) (T)->lpVtbl->Release(T)
-#define IEnumConnections_Next(T,a,b,c) (T)->lpVtbl->Next(T,a,b,c)
-#define IEnumConnections_Skip(T,a) (T)->lpVtbl->Skip(T,a)
-#define IEnumConnections_Reset(T) (T)->lpVtbl->Reset(T)
-#define IEnumConnections_Clone(T,a) (T)->lpVtbl->Clone(T,a)
-#endif
-
-EXTERN_C const IID IID_IClassFactory2;
-#undef INTERFACE
-#define INTERFACE IClassFactory2
-DECLARE_INTERFACE_(IClassFactory2,IClassFactory)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(CreateInstance)(THIS_ LPUNKNOWN,REFIID,PVOID*) PURE;
- STDMETHOD(LockServer)(THIS_ BOOL) PURE;
- STDMETHOD(GetLicInfo)(THIS_ LPLICINFO) PURE;
- STDMETHOD(RequestLicKey)(THIS_ DWORD,BSTR*) PURE;
- STDMETHOD(CreateInstanceLic)(THIS_ LPUNKNOWN,LPUNKNOWN,REFIID,BSTR,PVOID*) PURE;
-};
-
-EXTERN_C const IID IID_ISpecifyPropertyPages;
-#undef INTERFACE
-#define INTERFACE ISpecifyPropertyPages
-DECLARE_INTERFACE_(ISpecifyPropertyPages,IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(GetPages)(THIS_ CAUUID*) PURE;
-};
-
-EXTERN_C const IID IID_IPerPropertyBrowsing;
-#undef INTERFACE
-#define INTERFACE IPerPropertyBrowsing
-DECLARE_INTERFACE_(IPerPropertyBrowsing,IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(GetDisplayString)(THIS_ DISPID,BSTR*) PURE;
- STDMETHOD(MapPropertyToPage)(THIS_ DISPID,LPCLSID) PURE;
- STDMETHOD(GetPredefinedStrings)(THIS_ DISPID,CALPOLESTR*,CADWORD*) PURE;
- STDMETHOD(GetPredefinedValue)(THIS_ DISPID,DWORD,VARIANT*) PURE;
-};
-
-EXTERN_C const IID IID_IPropertyPageSite;
-#undef INTERFACE
-#define INTERFACE IPropertyPageSite
-DECLARE_INTERFACE_(IPropertyPageSite,IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(OnStatusChange)(THIS_ DWORD) PURE;
- STDMETHOD(GetLocaleID)(THIS_ LCID*) PURE;
- STDMETHOD(GetPageContainer)(THIS_ LPUNKNOWN*) PURE;
- STDMETHOD(TranslateAccelerator)(THIS_ LPMSG) PURE;
-};
-
-EXTERN_C const IID IID_IPropertyPage;
-#undef INTERFACE
-#define INTERFACE IPropertyPage
-DECLARE_INTERFACE_(IPropertyPage,IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(SetPageSite)(THIS_ LPPROPERTYPAGESITE) PURE;
- STDMETHOD(Activate)(THIS_ HWND,LPCRECT,BOOL) PURE;
- STDMETHOD(Deactivate)(THIS) PURE;
- STDMETHOD(GetPageInfo)(THIS_ LPPROPPAGEINFO) PURE;
- STDMETHOD(SetObjects)(THIS_ ULONG,LPUNKNOWN*) PURE;
- STDMETHOD(Show)(THIS_ UINT) PURE;
- STDMETHOD(Move)(THIS_ LPCRECT) PURE;
- STDMETHOD(IsPageDirty)(THIS) PURE;
- STDMETHOD(Apply)(THIS) PURE;
- STDMETHOD(Help)(THIS_ LPCOLESTR) PURE;
- STDMETHOD(TranslateAccelerator)(THIS_ LPMSG) PURE;
-};
-
-EXTERN_C const IID IID_IPropertyPage2;
-#undef INTERFACE
-#define INTERFACE IPropertyPage2
-DECLARE_INTERFACE_(IPropertyPage2,IPropertyPage)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(SetPageSite)(THIS_ LPPROPERTYPAGESITE) PURE;
- STDMETHOD(Activate)(THIS_ HWND,LPCRECT,BOOL) PURE;
- STDMETHOD(Deactivate)(THIS) PURE;
- STDMETHOD(GetPageInfo)(THIS_ LPPROPPAGEINFO) PURE;
- STDMETHOD(SetObjects)(THIS_ ULONG,LPUNKNOWN*) PURE;
- STDMETHOD(Show)(THIS_ UINT) PURE;
- STDMETHOD(Move)(THIS_ LPCRECT) PURE;
- STDMETHOD(IsPageDirty)(THIS) PURE;
- STDMETHOD(Apply)(THIS) PURE;
- STDMETHOD(Help)(THIS_ LPCOLESTR) PURE;
- STDMETHOD(TranslateAccelerator)(THIS_ LPMSG) PURE;
- STDMETHOD(EditProperty)(THIS_ DISPID) PURE;
-};
-
-EXTERN_C const IID IID_IFont;
-#undef INTERFACE
-#define INTERFACE IFont
-DECLARE_INTERFACE_(IFont,IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(get_Name)(THIS_ BSTR*) PURE;
- STDMETHOD(put_Name)(THIS_ BSTR) PURE;
- STDMETHOD(get_Size)(THIS_ CY*) PURE;
- STDMETHOD(put_Size)(THIS_ CY) PURE;
- STDMETHOD(get_Bold)(THIS_ BOOL*) PURE;
- STDMETHOD(put_Bold)(THIS_ BOOL) PURE;
- STDMETHOD(get_Italic)(THIS_ BOOL*) PURE;
- STDMETHOD(put_Italic)(THIS_ BOOL) PURE;
- STDMETHOD(get_Underline)(THIS_ BOOL*) PURE;
- STDMETHOD(put_Underline)(THIS_ BOOL) PURE;
- STDMETHOD(get_Strikethrough)(THIS_ BOOL*) PURE;
- STDMETHOD(put_Strikethrough)(THIS_ BOOL) PURE;
- STDMETHOD(get_Weight)(THIS_ short*) PURE;
- STDMETHOD(put_Weight)(THIS_ short) PURE;
- STDMETHOD(get_Charset)(THIS_ short*) PURE;
- STDMETHOD(put_Charset)(THIS_ short) PURE;
- STDMETHOD(get_hFont)(THIS_ HFONT*) PURE;
- STDMETHOD(Clone)(THIS_ IFont**) PURE;
- STDMETHOD(IsEqual)(THIS_ IFont*) PURE;
- STDMETHOD(SetRatio)(THIS_ long,long) PURE;
- STDMETHOD(QueryTextMetrics)(THIS_ LPTEXTMETRICOLE) PURE;
- STDMETHOD(AddRefHfont)(THIS_ HFONT) PURE;
- STDMETHOD(ReleaseHfont)(THIS_ HFONT) PURE;
- STDMETHOD(SetHdc)(THIS_ HDC) PURE;
-};
-
-EXTERN_C const IID IID_IFontDisp;
-#undef INTERFACE
-#define INTERFACE IFontDisp
-DECLARE_INTERFACE_(IFontDisp,IDispatch)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(GetTypeInfoCount)(THIS_ UINT*) PURE;
- STDMETHOD(GetTypeInfo)(THIS_ UINT,LCID,LPTYPEINFO*) PURE;
- STDMETHOD(GetIDsOfNames)(THIS_ REFIID,LPOLESTR*,UINT,LCID,DISPID*) PURE;
- STDMETHOD(Invoke)(THIS_ DISPID,REFIID,LCID,WORD,DISPPARAMS*,VARIANT*,EXCEPINFO*,UINT*) PURE;
-};
-
-EXTERN_C const IID IID_IPicture;
-#undef INTERFACE
-#define INTERFACE IPicture
-DECLARE_INTERFACE_(IPicture,IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(get_Handle)(THIS_ OLE_HANDLE*) PURE;
- STDMETHOD(get_hPal)(THIS_ OLE_HANDLE*) PURE;
- STDMETHOD(get_Type)(THIS_ short*) PURE;
- STDMETHOD(get_Width)(THIS_ OLE_XSIZE_HIMETRIC*) PURE;
- STDMETHOD(get_Height)(THIS_ OLE_YSIZE_HIMETRIC*) PURE;
- STDMETHOD(Render)(THIS_ HDC,long,long,long,long,OLE_XPOS_HIMETRIC,OLE_YPOS_HIMETRIC,OLE_XSIZE_HIMETRIC,OLE_YSIZE_HIMETRIC,LPCRECT) PURE;
- STDMETHOD(set_hPal)(THIS_ OLE_HANDLE) PURE;
- STDMETHOD(get_CurDC)(THIS_ HDC*) PURE;
- STDMETHOD(SelectPicture)(THIS_ HDC,HDC*,OLE_HANDLE*) PURE;
- STDMETHOD(get_KeepOriginalFormat)(THIS_ BOOL*) PURE;
- STDMETHOD(put_KeepOriginalFormat)(THIS_ BOOL) PURE;
- STDMETHOD(PictureChanged)(THIS) PURE;
- STDMETHOD(SaveAsFile)(THIS_ LPSTREAM,BOOL,LONG*) PURE;
- STDMETHOD(get_Attributes)(THIS_ PDWORD) PURE;
-};
-
-#ifdef COBJMACROS
-#define IPicture_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IPicture_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IPicture_Release(p) (p)->lpVtbl->Release(p)
-#define IPicture_get_Handle(p,a) (p)->lpVtbl->get_Handle(p,a)
-#define IPicture_get_hPal(p,a) (p)->lpVtbl->get_hPal(p,a)
-#define IPicture_get_Type(p,a) (p)->lpVtbl->get_Type(p,a)
-#define IPicture_get_Width(p,a) (p)->lpVtbl->get_Width(p,a)
-#define IPicture_get_Height(p,a) (p)->lpVtbl->get_Height(p,a)
-#define IPicture_Render(p,a,b,c,d,e,f,g,h,i,j) (p)->lpVtbl->Render(p,a,b,c,d,e,f,g,h,i,j)
-#define IPicture_set_hPal(p,a) (p)->lpVtbl->set_hPal(p,a)
-#define IPicture_get_CurDC(p,a) (p)->lpVtbl->get_CurDC(p,a)
-#define IPicture_SelectPicture(p,a,b,c) (p)->lpVtbl->SelectPicture(p,a,b,c)
-#define IPicture_get_KeepOriginalFormat(p,a) (p)->lpVtbl->get_KeepOriginalFormat(p,a)
-#define IPicture_put_KeepOriginalFormat(p,a) (p)->lpVtbl->put_KeepOriginalFormat(p,a)
-#define IPicture_PictureChanged(p) (p)->lpVtbl->PictureChanged(p)
-#define IPicture_SaveAsFile(p,a,b,c) (p)->lpVtbl->SaveAsFile(p,a,b,c)
-#define IPicture_get_Attributes(p,a) (p)->lpVtbl->get_Attributes(p,a)
-#endif
-
-EXTERN_C const IID IID_IPictureDisp;
-#undef INTERFACE
-#define INTERFACE IPictureDisp
-DECLARE_INTERFACE_(IPictureDisp,IDispatch)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(GetTypeInfoCount)(THIS_ UINT*) PURE;
- STDMETHOD(GetTypeInfo)(THIS_ UINT,LCID,LPTYPEINFO*) PURE;
- STDMETHOD(GetIDsOfNames)(THIS_ REFIID,LPOLESTR*,UINT,LCID,DISPID*) PURE;
- STDMETHOD(Invoke)(THIS_ DISPID,REFIID,LCID,WORD,DISPPARAMS*,VARIANT*,EXCEPINFO*,UINT*) PURE;
-};
-
-EXTERN_C const IID IID_IOleInPlaceSiteEx;
-#undef INTERFACE
-#define INTERFACE IOleInPlaceSiteEx
-DECLARE_INTERFACE_(IOleInPlaceSiteEx,IOleInPlaceSite)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(GetWindow)(THIS_ HWND*) PURE;
- STDMETHOD(ContextSensitiveHelp)(THIS_ BOOL) PURE;
- STDMETHOD(CanInPlaceActivate)(THIS) PURE;
- STDMETHOD(OnInPlaceActivate)(THIS) PURE;
- STDMETHOD(OnUIActivate)(THIS) PURE;
- STDMETHOD(GetWindowContext)(THIS_ IOleInPlaceFrame**,IOleInPlaceUIWindow**,LPRECT,LPRECT,LPOLEINPLACEFRAMEINFO) PURE;
- STDMETHOD(Scroll)(THIS_ SIZE) PURE;
- STDMETHOD(OnUIDeactivate)(THIS_ BOOL) PURE;
- STDMETHOD(OnInPlaceDeactivate)(THIS) PURE;
- STDMETHOD(DiscardUndoState)(THIS) PURE;
- STDMETHOD(DeactivateAndUndo)(THIS) PURE;
- STDMETHOD(OnPosRectChange)(THIS_ LPCRECT) PURE;
- STDMETHOD(OnInPlaceActivateEx)(THIS_ BOOL*,DWORD) PURE;
- STDMETHOD(OnInPlaceDeactivateEx)(THIS_ BOOL) PURE;
- STDMETHOD(RequestUIActivate)(THIS) PURE;
-};
-
-EXTERN_C const IID IID_IObjectWithSite;
-#undef INTERFACE
-#define INTERFACE IObjectWithSite
-DECLARE_INTERFACE_(IObjectWithSite,IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(SetSite)(THIS_ IUnknown*) PURE;
- STDMETHOD(GetSite)(THIS_ REFIID, void**) PURE;
-};
-
-EXTERN_C const IID IID_IOleInPlaceSiteWindowless;
-#undef INTERFACE
-#define INTERFACE IOleInPlaceSiteWindowless
-DECLARE_INTERFACE_(IOleInPlaceSiteWindowless,IOleInPlaceSiteEx)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(GetWindow)(THIS_ HWND*) PURE;
- STDMETHOD(ContextSensitiveHelp)(THIS_ BOOL) PURE;
- STDMETHOD(CanInPlaceActivate)(THIS) PURE;
- STDMETHOD(OnInPlaceActivate)(THIS) PURE;
- STDMETHOD(OnUIActivate)(THIS) PURE;
- STDMETHOD(GetWindowContext)(THIS_ IOleInPlaceFrame**,IOleInPlaceUIWindow**,LPRECT,LPRECT,LPOLEINPLACEFRAMEINFO) PURE;
- STDMETHOD(Scroll)(THIS_ SIZE) PURE;
- STDMETHOD(OnUIDeactivate)(THIS_ BOOL) PURE;
- STDMETHOD(OnInPlaceDeactivate)(THIS) PURE;
- STDMETHOD(DiscardUndoState)(THIS) PURE;
- STDMETHOD(DeactivateAndUndo)(THIS) PURE;
- STDMETHOD(OnPosRectChange)(THIS_ LPCRECT) PURE;
-
- STDMETHOD(OnInPlaceActivateEx)(THIS_ BOOL*,DWORD) PURE;
- STDMETHOD(OnInPlaceDeactivateEx)(THIS_ BOOL) PURE;
- STDMETHOD(RequestUIActivate)(THIS) PURE;
-
- STDMETHOD(CanWindowlessActivate)(THIS) PURE;
- STDMETHOD(GetCapture)(THIS) PURE;
- STDMETHOD(SetCapture)(THIS_ BOOL) PURE;
- STDMETHOD(GetFocus)(THIS) PURE;
- STDMETHOD(SetFocus)(THIS_ BOOL) PURE;
- STDMETHOD(GetDC)(THIS_ LPCRECT,DWORD,HDC*) PURE;
- STDMETHOD(ReleaseDC)(THIS_ HDC) PURE;
- STDMETHOD(InvalidateRect)(THIS_ LPCRECT,BOOL) PURE;
- STDMETHOD(InvalidateRgn)(THIS_ HRGN,BOOL) PURE;
- STDMETHOD(ScrollRect)(THIS_ INT,INT,LPCRECT,LPCRECT) PURE;
- STDMETHOD(AdjustRect)(THIS_ LPCRECT) PURE;
- STDMETHOD(OnDefWindowMessage)(THIS_ UINT,WPARAM,LPARAM,LRESULT*) PURE;
-};
-
-EXTERN_C const IID IID_IAdviseSinkEx;
-#undef INTERFACE
-#define INTERFACE IAdviseSinkEx
-DECLARE_INTERFACE_(IAdviseSinkEx,IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD_(void,OnDataChange)(THIS_ FORMATETC*,STGMEDIUM*) PURE;
- STDMETHOD_(void,OnViewChange)(THIS_ DWORD,LONG) PURE;
- STDMETHOD_(void,OnRename)(THIS_ IMoniker*) PURE;
- STDMETHOD_(void,OnSave)(THIS) PURE;
- STDMETHOD_(void,OnClose)(THIS) PURE;
- STDMETHOD(OnViewStatusChange)(THIS_ DWORD) PURE;
-};
-
-EXTERN_C const IID IID_IPointerInactive;
-#undef INTERFACE
-#define INTERFACE IPointerInactive
-DECLARE_INTERFACE_(IPointerInactive,IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(GetActivationPolicy)(THIS_ DWORD*) PURE;
- STDMETHOD(OnInactiveMouseMove)(THIS_ LPCRECT,LONG,LONG,DWORD) PURE;
- STDMETHOD(OnInactiveSetCursor)(THIS_ LPCRECT,LONG,LONG,DWORD,BOOL) PURE;
-};
-
-EXTERN_C const IID IID_IOleUndoUnit;
-#undef INTERFACE
-#define INTERFACE IOleUndoUnit
-DECLARE_INTERFACE_(IOleUndoUnit,IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(Do)(THIS_ LPOLEUNDOMANAGER) PURE;
- STDMETHOD(GetDescription)(THIS_ BSTR*) PURE;
- STDMETHOD(GetUnitType)(THIS_ CLSID*,LONG*) PURE;
- STDMETHOD(OnNextAdd)(THIS) PURE;
-};
-
-EXTERN_C const IID IID_IOleParentUndoUnit;
-#undef INTERFACE
-#define INTERFACE IOleParentUndoUnit
-DECLARE_INTERFACE_(IOleParentUndoUnit,IOleUndoUnit)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(Do)(THIS_ LPOLEUNDOMANAGER) PURE;
- STDMETHOD(GetDescription)(THIS_ BSTR*) PURE;
- STDMETHOD(GetUnitType)(THIS_ CLSID*,LONG*) PURE;
- STDMETHOD(OnNextAdd)(THIS) PURE;
- STDMETHOD(Open)(THIS_ IOleParentUndoUnit*) PURE;
- STDMETHOD(Close)(THIS_ IOleParentUndoUnit*,BOOL) PURE;
- STDMETHOD(Add)(THIS_ IOleUndoUnit*) PURE;
- STDMETHOD(FindUnit)(THIS_ IOleUndoUnit*) PURE;
- STDMETHOD(GetParentState)(THIS_ DWORD*) PURE;
-};
-
-EXTERN_C const IID IID_IEnumOleUndoUnits;
-#undef INTERFACE
-#define INTERFACE IEnumOleUndoUnits
-DECLARE_INTERFACE_(IEnumOleUndoUnits,IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(Next)(THIS_ ULONG,IOleUndoUnit**,ULONG*) PURE;
- STDMETHOD(Skip)(THIS_ ULONG) PURE;
- STDMETHOD(Reset)(THIS) PURE;
- STDMETHOD(Clone)(THIS_ IEnumOleUndoUnits**) PURE;
-};
-
-EXTERN_C const IID IID_IOleUndoManager;
-#undef INTERFACE
-#define INTERFACE IOleUndoManager
-DECLARE_INTERFACE_(IOleUndoManager,IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(Open)(THIS_ IOleParentUndoUnit*) PURE;
- STDMETHOD(Close)(THIS_ IOleParentUndoUnit*,BOOL) PURE;
- STDMETHOD(Add)(THIS_ IOleUndoUnit*) PURE;
- STDMETHOD(GetOpenParentState)(THIS_ DWORD*) PURE;
- STDMETHOD(DiscardFrom)(THIS_ IOleUndoUnit*) PURE;
- STDMETHOD(UndoTo)(THIS_ IOleUndoUnit*) PURE;
- STDMETHOD(RedoTo)(THIS_ IOleUndoUnit*) PURE;
- STDMETHOD(EnumUndoable)(THIS_ IEnumOleUndoUnits**) PURE;
- STDMETHOD(EnumRedoable)(THIS_ IEnumOleUndoUnits**) PURE;
- STDMETHOD(GetLastUndoDescription)(THIS_ BSTR*) PURE;
- STDMETHOD(GetLastRedoDescription)(THIS_ BSTR*) PURE;
- STDMETHOD(Enable)(THIS_ BOOL) PURE;
-};
-
-EXTERN_C const IID IID_IQuickActivate;
-#undef INTERFACE
-#define INTERFACE IQuickActivate
-DECLARE_INTERFACE_(IQuickActivate,IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(QuickActivate)(THIS_ QACONTAINER*,QACONTROL*) PURE;
- STDMETHOD(SetContentExtent)(THIS_ LPSIZEL) PURE;
- STDMETHOD(GetContentExtent)(THIS_ LPSIZEL) PURE;
-};
-
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/winsup/w32api/include/odbcinst.h b/winsup/w32api/include/odbcinst.h
deleted file mode 100644
index b90464f27..000000000
--- a/winsup/w32api/include/odbcinst.h
+++ /dev/null
@@ -1,148 +0,0 @@
-#ifndef _ODBCINST_H
-#define _ODBCINST_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-#include <sql.h>
-#ifdef __cplusplus
-extern "C" {
-#endif
-#ifndef ODBCVER
-#define ODBCVER 0x0351
-#endif
-#define INSTAPI __stdcall
-#define ODBC_ADD_DSN 1
-#define ODBC_CONFIG_DSN 2
-#define ODBC_REMOVE_DSN 3
-#if (ODBCVER >= 0x0250)
-#define ODBC_ADD_SYS_DSN 4
-#define ODBC_CONFIG_SYS_DSN 5
-#define ODBC_REMOVE_SYS_DSN 6
-#define ODBC_INSTALL_INQUIRY 1
-#define ODBC_INSTALL_COMPLETE 2
-#define ODBC_INSTALL_DRIVER 1
-#define ODBC_REMOVE_DRIVER 2
-#define ODBC_CONFIG_DRIVER 3
-#define ODBC_CONFIG_DRIVER_MAX 100
-#endif /* (ODBCVER >= 0x0250) */
-#if (ODBCVER >= 0x0300)
-#define ODBC_REMOVE_DEFAULT_DSN 7
-#define ODBC_BOTH_DSN 0
-#define ODBC_USER_DSN 1
-#define ODBC_SYSTEM_DSN 2
-#define ODBC_ERROR_GENERAL_ERR 1
-#define ODBC_ERROR_INVALID_BUFF_LEN 2
-#define ODBC_ERROR_INVALID_HWND 3
-#define ODBC_ERROR_INVALID_STR 4
-#define ODBC_ERROR_INVALID_REQUEST_TYPE 5
-#define ODBC_ERROR_COMPONENT_NOT_FOUND 6
-#define ODBC_ERROR_INVALID_NAME 7
-#define ODBC_ERROR_INVALID_KEYWORD_VALUE 8
-#define ODBC_ERROR_INVALID_DSN 9
-#define ODBC_ERROR_INVALID_INF 10
-#define ODBC_ERROR_REQUEST_FAILED 11
-#define ODBC_ERROR_INVALID_PATH 12
-#define ODBC_ERROR_LOAD_LIB_FAILED 13
-#define ODBC_ERROR_INVALID_PARAM_SEQUENCE 14
-#define ODBC_ERROR_INVALID_LOG_FILE 15
-#define ODBC_ERROR_USER_CANCELED 16
-#define ODBC_ERROR_USAGE_UPDATE_FAILED 17
-#define ODBC_ERROR_CREATE_DSN_FAILED 18
-#define ODBC_ERROR_WRITING_SYSINFO_FAILED 19
-#define ODBC_ERROR_REMOVE_DSN_FAILED 20
-#define ODBC_ERROR_OUT_OF_MEM 21
-#define ODBC_ERROR_OUTPUT_STRING_TRUNCATED 22
-#endif /* ODBCVER >= 0x0300 */
-
-#ifndef RC_INVOKED
-BOOL INSTAPI ConfigDSN(HWND,WORD,LPCSTR,LPCSTR);
-BOOL INSTAPI ConfigDSNW(HWND,WORD,LPCWSTR,LPCWSTR);
-BOOL INSTAPI ConfigTranslator(HWND,DWORD*);
-BOOL INSTAPI SQLConfigDataSource(HWND,WORD,LPCSTR,LPCSTR);
-BOOL INSTAPI SQLConfigDataSourceW(HWND,WORD,LPCWSTR,LPCWSTR);
-BOOL INSTAPI SQLCreateDataSource(HWND,LPCSTR);
-BOOL INSTAPI SQLCreateDataSourceW(HWND,LPCWSTR);
-BOOL INSTAPI SQLGetAvailableDrivers(LPCSTR,LPSTR,WORD,WORD*);
-BOOL INSTAPI SQLGetAvailableDriversW(LPCWSTR,LPWSTR,WORD,WORD*);
-BOOL INSTAPI SQLGetInstalledDrivers(LPSTR,WORD,WORD*);
-BOOL INSTAPI SQLGetInstalledDriversW(LPWSTR,WORD,WORD*);
-int INSTAPI SQLGetPrivateProfileString(LPCSTR,LPCSTR,LPCSTR,LPSTR,int,LPCSTR);
-int INSTAPI SQLGetPrivateProfileStringW(LPCWSTR,LPCWSTR,LPCWSTR,LPWSTR,int,LPCWSTR);
-BOOL INSTAPI SQLGetTranslator(HWND,LPSTR,WORD,WORD*,LPSTR,WORD,WORD*,DWORD*);
-BOOL INSTAPI SQLGetTranslatorW(HWND,LPWSTR,WORD,WORD*,LPWSTR,WORD,WORD*,DWORD*);
-BOOL INSTAPI SQLInstallDriver(LPCSTR,LPCSTR,LPSTR,WORD,WORD*);
-BOOL INSTAPI SQLInstallDriverManager(LPSTR,WORD,WORD*);
-BOOL INSTAPI SQLInstallDriverManagerW(LPWSTR,WORD,WORD*);
-BOOL INSTAPI SQLInstallDriverW(LPCWSTR,LPCWSTR,LPWSTR,WORD,WORD*);
-BOOL INSTAPI SQLInstallODBC(HWND,LPCSTR,LPCSTR,LPCSTR);
-BOOL INSTAPI SQLInstallODBCW(HWND,LPCWSTR,LPCWSTR,LPCWSTR);
-BOOL INSTAPI SQLManageDataSources(HWND);
-BOOL INSTAPI SQLRemoveDefaultDataSource(void);
-BOOL INSTAPI SQLRemoveDSNFromIni(LPCSTR);
-BOOL INSTAPI SQLRemoveDSNFromIniW(LPCWSTR);
-BOOL INSTAPI SQLValidDSN(LPCSTR);
-BOOL INSTAPI SQLValidDSNW(LPCWSTR);
-BOOL INSTAPI SQLWriteDSNToIni(LPCSTR,LPCSTR);
-BOOL INSTAPI SQLWriteDSNToIniW(LPCWSTR,LPCWSTR);
-BOOL INSTAPI SQLWritePrivateProfileString(LPCSTR,LPCSTR,LPCSTR,LPCSTR);
-BOOL INSTAPI SQLWritePrivateProfileStringW(LPCWSTR,LPCWSTR,LPCWSTR,LPCWSTR);
-#if(ODBCVER >= 0x0250)
-BOOL INSTAPI ConfigDriver(HWND,WORD,LPCSTR,LPCSTR,LPSTR,WORD,WORD*);
-BOOL INSTAPI ConfigDriverW(HWND,WORD,LPCWSTR,LPCWSTR,LPWSTR,WORD,WORD*);
-BOOL INSTAPI SQLConfigDriver(HWND,WORD,LPCSTR,LPCSTR,LPSTR,WORD,WORD*);
-BOOL INSTAPI SQLConfigDriverW(HWND,WORD,LPCWSTR,LPCWSTR,LPWSTR,WORD,WORD*);
-BOOL INSTAPI SQLInstallTranslator(LPCSTR,LPCSTR,LPCSTR,LPSTR,WORD,WORD*,WORD,LPDWORD);
-BOOL INSTAPI SQLInstallTranslatorW(LPCWSTR,LPCWSTR,LPCWSTR,LPWSTR,WORD,WORD*,WORD,LPDWORD);
-BOOL INSTAPI SQLRemoveDriver(LPCSTR,BOOL,LPDWORD);
-BOOL INSTAPI SQLRemoveDriverManager(LPDWORD);
-BOOL INSTAPI SQLRemoveDriverW(LPCWSTR,BOOL,LPDWORD);
-BOOL INSTAPI SQLRemoveTranslator(LPCSTR,LPDWORD);
-BOOL INSTAPI SQLRemoveTranslatorW(LPCWSTR,LPDWORD);
-#endif /* ODBCVER >= 0x0250 */
-#if (ODBCVER >= 0x0300)
-BOOL INSTAPI SQLGetConfigMode(UWORD*);
-BOOL INSTAPI SQLInstallDriverEx(LPCSTR,LPCSTR,LPSTR,WORD,WORD*,WORD,LPDWORD);
-BOOL INSTAPI SQLInstallDriverExW(LPCWSTR,LPCWSTR,LPWSTR,WORD,WORD*,WORD,LPDWORD);
-SQLRETURN INSTAPI SQLInstallerError(WORD,DWORD*,LPSTR,WORD,WORD*);
-SQLRETURN INSTAPI SQLInstallerErrorW(WORD,DWORD*,LPWSTR,WORD,WORD*);
-BOOL INSTAPI SQLInstallTranslatorEx(LPCSTR,LPCSTR,LPSTR,WORD,WORD*,WORD,LPDWORD);
-BOOL INSTAPI SQLInstallTranslatorExW(LPCWSTR,LPCWSTR,LPWSTR,WORD,WORD*,WORD,LPDWORD);
-SQLRETURN INSTAPI SQLPostInstallerError(DWORD,LPCSTR);
-SQLRETURN INSTAPI SQLPostInstallerErrorW(DWORD,LPCWSTR);
-BOOL INSTAPI SQLReadFileDSN(LPCSTR,LPCSTR,LPCSTR,LPSTR,WORD,WORD*);
-BOOL INSTAPI SQLReadFileDSNW(LPCWSTR,LPCWSTR,LPCWSTR,LPWSTR,WORD,WORD*);
-BOOL INSTAPI SQLSetConfigMode(UWORD);
-BOOL INSTAPI SQLWriteFileDSN(LPCSTR,LPCSTR,LPCSTR,LPCSTR);
-BOOL INSTAPI SQLWriteFileDSNW(LPCWSTR,LPCWSTR,LPCWSTR,LPCWSTR);
-#endif /* ODBCVER >= 0x0300 */
-
-#if defined (UNICODE) && !defined (SQL_NOUNICODEMAP)
-#define SQLConfigDataSource SQLConfigDataSourceW
-#define SQLConfigDriver SQLConfigDriverW
-#define SQLCreateDataSource SQLCreateDataSourceW
-#define SQLGetAvailableDrivers SQLGetAvailableDriversW
-#define SQLGetInstalledDrivers SQLGetInstalledDriversW
-#define SQLGetPrivateProfileString SQLGetPrivateProfileStringW
-#define SQLGetTranslator SQLGetTranslatorW
-#define SQLInstallDriver SQLInstallDriverW
-#define SQLInstallDriverEx SQLInstallDriverExW
-#define SQLInstallDriverManager SQLInstallDriverManagerW
-#define SQLInstallerError SQLInstallerErrorW
-#define SQLInstallODBC SQLInstallODBCW
-#define SQLInstallTranslator SQLInstallTranslatorW
-#define SQLInstallTranslatorEx SQLInstallTranslatorExW
-#define SQLPostInstallerError SQLPostInstallerErrorW
-#define SQLReadFileDSN SQLReadFileDSNW
-#define SQLRemoveDriver SQLRemoveDriverW
-#define SQLRemoveDSNFromIni SQLRemoveDSNFromIniW
-#define SQLRemoveTranslator SQLRemoveTranslatorW
-#define SQLValidDSN SQLValidDSNW
-#define SQLWriteDSNToIni SQLWriteDSNToIniW
-#define SQLWriteFileDSN SQLWriteFileDSNW
-#define SQLWritePrivateProfileString SQLWritePrivateProfileStringW
-#endif /* UNICODE && !SQL_NOUNICODEMAP */
-#endif /* RC_INVOKED */
-#ifdef __cplusplus
-}
-#endif
-#endif /* _ODBCINST_H */
diff --git a/winsup/w32api/include/ole.h b/winsup/w32api/include/ole.h
deleted file mode 100644
index d2dd2020a..000000000
--- a/winsup/w32api/include/ole.h
+++ /dev/null
@@ -1,308 +0,0 @@
-#ifndef _OLE_H
-#define _OLE_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-#ifdef STRICT
-#define OLE_LPCSTR LPCSTR
-#define OLE_CONST const
-#else
-#define OLE_LPCSTR LPSTR
-#define OLE_CONST
-#endif
-#define LRESULT LONG
-#define HGLOBAL HANDLE
-#define OT_LINK 1L
-#define OT_EMBEDDED 2L
-#define OT_STATIC 3L
-#define OLEVERB_PRIMARY 0
-#define OF_SET 1
-#define OF_GET 2
-#define OF_HANDLER 4
-
-typedef struct _OLETARGETDEVICE {
- USHORT otdDeviceNameOffset;
- USHORT otdDriverNameOffset;
- USHORT otdPortNameOffset;
- USHORT otdExtDevmodeOffset;
- USHORT otdExtDevmodeSize;
- USHORT otdEnvironmentOffset;
- USHORT otdEnvironmentSize;
- BYTE otdData[1];
-} OLETARGETDEVICE;
-typedef OLETARGETDEVICE *LPOLETARGETDEVICE;
-typedef enum {
-OLE_OK,
-OLE_WAIT_FOR_RELEASE,
-OLE_BUSY,
-OLE_ERROR_PROTECT_ONLY,
-OLE_ERROR_MEMORY,
-OLE_ERROR_STREAM,
-OLE_ERROR_STATIC,
-OLE_ERROR_BLANK,
-OLE_ERROR_DRAW,
-OLE_ERROR_METAFILE,
-OLE_ERROR_ABORT,
-OLE_ERROR_CLIPBOARD,
-OLE_ERROR_FORMAT,
-OLE_ERROR_OBJECT,
-OLE_ERROR_OPTION,
-OLE_ERROR_PROTOCOL,
-OLE_ERROR_ADDRESS,
-OLE_ERROR_NOT_EQUAL,
-OLE_ERROR_HANDLE,
-OLE_ERROR_GENERIC,
-OLE_ERROR_CLASS,
-OLE_ERROR_SYNTAX,
-OLE_ERROR_DATATYPE,
-OLE_ERROR_PALETTE,
-OLE_ERROR_NOT_LINK,
-OLE_ERROR_NOT_EMPTY,
-OLE_ERROR_SIZE,
-OLE_ERROR_DRIVE,
-OLE_ERROR_NETWORK,
-OLE_ERROR_NAME,
-OLE_ERROR_TEMPLATE,
-OLE_ERROR_NEW,
-OLE_ERROR_EDIT,
-OLE_ERROR_OPEN,
-OLE_ERROR_NOT_OPEN,
-OLE_ERROR_LAUNCH,
-OLE_ERROR_COMM,
-OLE_ERROR_TERMINATE,
-OLE_ERROR_COMMAND,
-OLE_ERROR_SHOW,
-OLE_ERROR_DOVERB,
-OLE_ERROR_ADVISE_NATIVE,
-OLE_ERROR_ADVISE_PICT,
-OLE_ERROR_ADVISE_RENAME,
-OLE_ERROR_POKE_NATIVE,
-OLE_ERROR_REQUEST_NATIVE,
-OLE_ERROR_REQUEST_PICT,
-OLE_ERROR_SERVER_BLOCKED,
-OLE_ERROR_REGISTRATION,
-OLE_ERROR_ALREADY_REGISTERED,
-OLE_ERROR_TASK,
-OLE_ERROR_OUTOFDATE,
-OLE_ERROR_CANT_UPDATE_CLIENT,
-OLE_ERROR_UPDATE,
-OLE_ERROR_SETDATA_FORMAT,
-OLE_ERROR_STATIC_FROM_OTHER_OS,
-OLE_ERROR_FILE_VER,
-OLE_WARN_DELETE_DATA = 1000
-} OLESTATUS;
-typedef enum {
- OLE_CHANGED,
- OLE_SAVED,
- OLE_CLOSED,
- OLE_RENAMED,
- OLE_QUERY_PAINT,
- OLE_RELEASE,
- OLE_QUERY_RETRY
-} OLE_NOTIFICATION;
-typedef enum {
- OLE_NONE,
- OLE_DELETE,
- OLE_LNKPASTE,
- OLE_EMBPASTE,
- OLE_SHOW,
- OLE_RUN,
- OLE_ACTIVATE,
- OLE_UPDATE,
- OLE_CLOSE,
- OLE_RECONNECT,
- OLE_SETUPDATEOPTIONS,
- OLE_SERVERUNLAUNCH,
- OLE_LOADFROMSTREAM,
- OLE_SETDATA,
- OLE_REQUESTDATA,
- OLE_OTHER,
- OLE_CREATE,
- OLE_CREATEFROMTEMPLATE,
- OLE_CREATELINKFROMFILE,
- OLE_COPYFROMLNK,
- OLE_CREATEFROMFILE,
- OLE_CREATEINVISIBLE
-} OLE_RELEASE_METHOD;
-typedef enum {
- olerender_none,
- olerender_draw,
- olerender_format
- } OLEOPT_RENDER;
-typedef WORD OLECLIPFORMAT;
-typedef enum {
- oleupdate_always,
- oleupdate_onsave,
-#ifdef OLE_INTERNAL
- oleupdate_oncall,
- oleupdate_onclose
-#else
- oleupdate_oncall
-#endif
-} OLEOPT_UPDATE;
-typedef HANDLE HOBJECT;
-typedef LONG LHSERVER;
-typedef LONG LHCLIENTDOC;
-typedef LONG LHSERVERDOC;
-typedef struct _OLEOBJECT *LPOLEOBJECT;
-typedef struct _OLESTREAM *LPOLESTREAM;
-typedef struct _OLECLIENT *LPOLECLIENT;
-typedef struct _OLEOBJECTVTBL {
- void *(CALLBACK* QueryProtocol)(LPOLEOBJECT,OLE_LPCSTR);
- OLESTATUS (CALLBACK* Release)(LPOLEOBJECT);
- OLESTATUS (CALLBACK* Show)(LPOLEOBJECT,BOOL);
- OLESTATUS (CALLBACK* DoVerb)(LPOLEOBJECT,UINT,BOOL,BOOL);
- OLESTATUS (CALLBACK* GetData)(LPOLEOBJECT,OLECLIPFORMAT,HANDLE*);
- OLESTATUS (CALLBACK* SetData)(LPOLEOBJECT,OLECLIPFORMAT,HANDLE);
- OLESTATUS (CALLBACK* SetTargetDevice)(LPOLEOBJECT,HGLOBAL);
- OLESTATUS (CALLBACK* SetBounds)(LPOLEOBJECT,OLE_CONST RECT*);
- OLECLIPFORMAT (CALLBACK* EnumFormats)(LPOLEOBJECT,OLECLIPFORMAT);
- OLESTATUS (CALLBACK* SetColorScheme)(LPOLEOBJECT,OLE_CONST LOGPALETTE*);
-#ifndef SERVERONLY
- OLESTATUS (CALLBACK* Delete)(LPOLEOBJECT);
- OLESTATUS (CALLBACK* SetHostNames)(LPOLEOBJECT,OLE_LPCSTR,OLE_LPCSTR);
- OLESTATUS (CALLBACK* SaveToStream)(LPOLEOBJECT,LPOLESTREAM);
- OLESTATUS (CALLBACK* Clone)(LPOLEOBJECT,LPOLECLIENT,LHCLIENTDOC,OLE_LPCSTR,LPOLEOBJECT*);
- OLESTATUS (CALLBACK* CopyFromLink)(LPOLEOBJECT,LPOLECLIENT,LHCLIENTDOC,OLE_LPCSTR,LPOLEOBJECT*);
- OLESTATUS (CALLBACK* Equal)(LPOLEOBJECT,LPOLEOBJECT);
- OLESTATUS (CALLBACK* CopyToClipboard)(LPOLEOBJECT);
- OLESTATUS (CALLBACK* Draw)(LPOLEOBJECT,HDC,OLE_CONST RECT*,OLE_CONST RECT*,HDC);
- OLESTATUS (CALLBACK* Activate)(LPOLEOBJECT,UINT,BOOL,BOOL,HWND,OLE_CONST RECT*);
- OLESTATUS (CALLBACK* Execute)(LPOLEOBJECT,HGLOBAL,UINT);
- OLESTATUS (CALLBACK* Close)(LPOLEOBJECT);
- OLESTATUS (CALLBACK* Update)(LPOLEOBJECT);
- OLESTATUS (CALLBACK* Reconnect)(LPOLEOBJECT);
- OLESTATUS (CALLBACK* ObjectConvert)(LPOLEOBJECT,OLE_LPCSTR,LPOLECLIENT,LHCLIENTDOC,OLE_LPCSTR,LPOLEOBJECT*);
- OLESTATUS (CALLBACK* GetLinkUpdateOptions)(LPOLEOBJECT,OLEOPT_UPDATE*);
- OLESTATUS (CALLBACK* SetLinkUpdateOptions)(LPOLEOBJECT,OLEOPT_UPDATE);
- OLESTATUS (CALLBACK* Rename)(LPOLEOBJECT,OLE_LPCSTR);
- OLESTATUS (CALLBACK* QueryName)(LPOLEOBJECT,LPSTR,UINT*);
- OLESTATUS (CALLBACK* QueryType)(LPOLEOBJECT,LONG*);
- OLESTATUS (CALLBACK* QueryBounds)(LPOLEOBJECT,RECT*);
- OLESTATUS (CALLBACK* QuerySize)(LPOLEOBJECT,DWORD*);
- OLESTATUS (CALLBACK* QueryOpen)(LPOLEOBJECT);
- OLESTATUS (CALLBACK* QueryOutOfDate)(LPOLEOBJECT);
- OLESTATUS (CALLBACK* QueryReleaseStatus)(LPOLEOBJECT);
- OLESTATUS (CALLBACK* QueryReleaseError)(LPOLEOBJECT);
- OLE_RELEASE_METHOD (CALLBACK* QueryReleaseMethod)(LPOLEOBJECT);
- OLESTATUS (CALLBACK* RequestData)(LPOLEOBJECT,OLECLIPFORMAT);
- OLESTATUS (CALLBACK* ObjectLong)(LPOLEOBJECT,UINT,LONG*);
- OLESTATUS (CALLBACK* ChangeData)(LPOLEOBJECT,HANDLE,LPOLECLIENT,BOOL);
-#endif
-} OLEOBJECTVTBL;
-typedef OLEOBJECTVTBL*LPOLEOBJECTVTBL;
-#ifndef OLE_INTERNAL
-typedef struct _OLEOBJECT { LPOLEOBJECTVTBL lpvtbl; } OLEOBJECT;
-#endif
-typedef struct _OLECLIENTVTBL { int (CALLBACK* CallBack)(LPOLECLIENT,OLE_NOTIFICATION,LPOLEOBJECT); } OLECLIENTVTBL;
-typedef OLECLIENTVTBL *LPOLECLIENTVTBL;
-typedef struct _OLECLIENT { LPOLECLIENTVTBL lpvtbl; } OLECLIENT;
-typedef struct _OLESTREAMVTBL {
- DWORD (CALLBACK* Get)(LPOLESTREAM,void*,DWORD);
- DWORD (CALLBACK* Put)(LPOLESTREAM,OLE_CONST void*,DWORD);
-} OLESTREAMVTBL;
-typedef OLESTREAMVTBL *LPOLESTREAMVTBL;
-typedef struct _OLESTREAM { LPOLESTREAMVTBL lpstbl; } OLESTREAM;
-typedef enum {
- OLE_SERVER_MULTI,
- OLE_SERVER_SINGLE
-} OLE_SERVER_USE;
-typedef struct _OLESERVER *LPOLESERVER;
-typedef struct _OLESERVERDOC *LPOLESERVERDOC;
-typedef struct _OLESERVERVTBL {
- OLESTATUS (CALLBACK* Open)(LPOLESERVER,LHSERVERDOC,OLE_LPCSTR,LPOLESERVERDOC*);
- OLESTATUS (CALLBACK* Create)(LPOLESERVER,LHSERVERDOC,OLE_LPCSTR,OLE_LPCSTR,LPOLESERVERDOC*);
- OLESTATUS (CALLBACK* CreateFromTemplate)(LPOLESERVER,LHSERVERDOC,OLE_LPCSTR,OLE_LPCSTR,OLE_LPCSTR,LPOLESERVERDOC*);
- OLESTATUS (CALLBACK* Edit)(LPOLESERVER,LHSERVERDOC,OLE_LPCSTR,OLE_LPCSTR,LPOLESERVERDOC*);
- OLESTATUS (CALLBACK* Exit)(LPOLESERVER);
- OLESTATUS (CALLBACK* Release)(LPOLESERVER);
- OLESTATUS (CALLBACK* Execute)(LPOLESERVER,HGLOBAL);
-} OLESERVERVTBL;
-typedef OLESERVERVTBL *LPOLESERVERVTBL;
-typedef struct _OLESERVER { LPOLESERVERVTBL lpvtbl; } OLESERVER;
-typedef struct _OLESERVERDOCVTBL {
- OLESTATUS (CALLBACK* Save)(LPOLESERVERDOC);
- OLESTATUS (CALLBACK* Close)(LPOLESERVERDOC);
- OLESTATUS (CALLBACK* SetHostNames)(LPOLESERVERDOC,OLE_LPCSTR,OLE_LPCSTR);
- OLESTATUS (CALLBACK* SetDocDimensions)(LPOLESERVERDOC,OLE_CONST RECT*);
- OLESTATUS (CALLBACK* GetObject)(LPOLESERVERDOC,OLE_LPCSTR,LPOLEOBJECT*,LPOLECLIENT);
- OLESTATUS (CALLBACK* Release)(LPOLESERVERDOC);
- OLESTATUS (CALLBACK* SetColorScheme)(LPOLESERVERDOC,OLE_CONST LOGPALETTE*);
- OLESTATUS (CALLBACK* Execute)(LPOLESERVERDOC,HGLOBAL);
-} OLESERVERDOCVTBL;
-typedef OLESERVERDOCVTBL *LPOLESERVERDOCVTBL;
-typedef struct _OLESERVERDOC { LPOLESERVERDOCVTBL lpvtbl; } OLESERVERDOC;
-OLESTATUS WINAPI OleDelete(LPOLEOBJECT);
-OLESTATUS WINAPI OleRelease(LPOLEOBJECT);
-OLESTATUS WINAPI OleSaveToStream(LPOLEOBJECT,LPOLESTREAM);
-OLESTATUS WINAPI OleEqual(LPOLEOBJECT,LPOLEOBJECT );
-OLESTATUS WINAPI OleCopyToClipboard(LPOLEOBJECT);
-OLESTATUS WINAPI OleSetHostNames(LPOLEOBJECT,LPCSTR,LPCSTR);
-OLESTATUS WINAPI OleSetTargetDevice(LPOLEOBJECT,HGLOBAL);
-OLESTATUS WINAPI OleSetBounds(LPOLEOBJECT,LPCRECT);
-OLESTATUS WINAPI OleSetColorScheme(LPOLEOBJECT,const LOGPALETTE*);
-OLESTATUS WINAPI OleQueryBounds(LPOLEOBJECT,RECT*);
-OLESTATUS WINAPI OleQuerySize(LPOLEOBJECT,DWORD*);
-OLESTATUS WINAPI OleDraw(LPOLEOBJECT,HDC,LPCRECT,LPCRECT,HDC);
-OLESTATUS WINAPI OleQueryOpen(LPOLEOBJECT);
-OLESTATUS WINAPI OleActivate(LPOLEOBJECT,UINT,BOOL,BOOL,HWND,LPCRECT);
-OLESTATUS WINAPI OleExecute(LPOLEOBJECT,HGLOBAL,UINT);
-OLESTATUS WINAPI OleClose(LPOLEOBJECT);
-OLESTATUS WINAPI OleUpdate(LPOLEOBJECT);
-OLESTATUS WINAPI OleReconnect(LPOLEOBJECT);
-OLESTATUS WINAPI OleGetLinkUpdateOptions(LPOLEOBJECT,OLEOPT_UPDATE*);
-OLESTATUS WINAPI OleSetLinkUpdateOptions(LPOLEOBJECT,OLEOPT_UPDATE);
-WINAPI void *OleQueryProtocol(LPOLEOBJECT,LPCSTR);
-OLESTATUS WINAPI OleQueryReleaseStatus(LPOLEOBJECT);
-OLESTATUS WINAPI OleQueryReleaseError(LPOLEOBJECT);
-OLE_RELEASE_METHOD WINAPI OleQueryReleaseMethod(LPOLEOBJECT);
-OLESTATUS WINAPI OleQueryType(LPOLEOBJECT,LONG*);
-DWORD WINAPI OleQueryClientVersion(void);
-DWORD WINAPI OleQueryServerVersion(void);
-OLECLIPFORMAT WINAPI OleEnumFormats(LPOLEOBJECT,OLECLIPFORMAT);
-OLESTATUS WINAPI OleGetData(LPOLEOBJECT,OLECLIPFORMAT,HANDLE*);
-OLESTATUS WINAPI OleSetData(LPOLEOBJECT,OLECLIPFORMAT,HANDLE);
-OLESTATUS WINAPI OleQueryOutOfDate(LPOLEOBJECT);
-OLESTATUS WINAPI OleRequestData(LPOLEOBJECT,OLECLIPFORMAT);
-OLESTATUS WINAPI OleQueryLinkFromClip(LPCSTR,OLEOPT_RENDER,OLECLIPFORMAT);
-OLESTATUS WINAPI OleQueryCreateFromClip(LPCSTR,OLEOPT_RENDER,OLECLIPFORMAT);
-OLESTATUS WINAPI OleCreateFromClip(LPCSTR,LPOLECLIENT,LHCLIENTDOC,LPCSTR,LPOLEOBJECT*,OLEOPT_RENDER,OLECLIPFORMAT);
-OLESTATUS WINAPI OleCreateLinkFromClip(LPCSTR,LPOLECLIENT,LHCLIENTDOC,LPCSTR,LPOLEOBJECT*,OLEOPT_RENDER,OLECLIPFORMAT);
-OLESTATUS WINAPI OleCreateFromFile(LPCSTR,LPOLECLIENT,LPCSTR,LPCSTR,LHCLIENTDOC,LPCSTR,LPOLEOBJECT*,OLEOPT_RENDER,OLECLIPFORMAT);
-OLESTATUS WINAPI OleCreateLinkFromFile(LPCSTR,LPOLECLIENT,LPCSTR,LPCSTR,LPCSTR,LHCLIENTDOC,LPCSTR,LPOLEOBJECT*,OLEOPT_RENDER,OLECLIPFORMAT);
-OLESTATUS WINAPI OleLoadFromStream(LPOLESTREAM,LPCSTR,LPOLECLIENT,LHCLIENTDOC,LPCSTR,LPOLEOBJECT*);
-OLESTATUS WINAPI OleCreate(LPCSTR,LPOLECLIENT,LPCSTR,LHCLIENTDOC,LPCSTR,LPOLEOBJECT*,OLEOPT_RENDER,OLECLIPFORMAT);
-OLESTATUS WINAPI OleCreateInvisible(LPCSTR,LPOLECLIENT,LPCSTR,LHCLIENTDOC,LPCSTR,LPOLEOBJECT*,OLEOPT_RENDER,OLECLIPFORMAT,BOOL);
-OLESTATUS WINAPI OleCreateFromTemplate(LPCSTR,LPOLECLIENT,LPCSTR,LHCLIENTDOC,LPCSTR,LPOLEOBJECT*,OLEOPT_RENDER,OLECLIPFORMAT);
-OLESTATUS WINAPI OleClone(LPOLEOBJECT,LPOLECLIENT,LHCLIENTDOC,LPCSTR,LPOLEOBJECT*);
-OLESTATUS WINAPI OleCopyFromLink(LPOLEOBJECT,LPCSTR,LPOLECLIENT,LHCLIENTDOC,LPCSTR,LPOLEOBJECT*);
-OLESTATUS WINAPI OleObjectConvert(LPOLEOBJECT,LPCSTR,LPOLECLIENT,LHCLIENTDOC,LPCSTR,LPOLEOBJECT*);
-OLESTATUS WINAPI OleRename(LPOLEOBJECT,LPCSTR);
-OLESTATUS WINAPI OleQueryName(LPOLEOBJECT,LPSTR,UINT*);
-OLESTATUS WINAPI OleRevokeObject(LPOLECLIENT);
-BOOL WINAPI OleIsDcMeta(HDC);
-OLESTATUS WINAPI OleRegisterClientDoc(LPCSTR,LPCSTR,LONG,LHCLIENTDOC*);
-OLESTATUS WINAPI OleRevokeClientDoc(LHCLIENTDOC);
-OLESTATUS WINAPI OleRenameClientDoc(LHCLIENTDOC,LPCSTR);
-OLESTATUS WINAPI OleRevertClientDoc(LHCLIENTDOC);
-OLESTATUS WINAPI OleSavedClientDoc(LHCLIENTDOC);
-OLESTATUS WINAPI OleEnumObjects(LHCLIENTDOC,LPOLEOBJECT*);
-OLESTATUS WINAPI OleRegisterServer(LPCSTR,LPOLESERVER,LHSERVER*,HINSTANCE,OLE_SERVER_USE);
-OLESTATUS WINAPI OleRevokeServer(LHSERVER);
-OLESTATUS WINAPI OleBlockServer(LHSERVER);
-OLESTATUS WINAPI OleUnblockServer(LHSERVER,BOOL*);
-OLESTATUS WINAPI OleLockServer(LPOLEOBJECT,LHSERVER*);
-OLESTATUS WINAPI OleUnlockServer(LHSERVER);
-OLESTATUS WINAPI OleRegisterServerDoc(LHSERVER,LPCSTR,LPOLESERVERDOC,LHSERVERDOC*);
-OLESTATUS WINAPI OleRevokeServerDoc(LHSERVERDOC);
-OLESTATUS WINAPI OleRenameServerDoc(LHSERVERDOC,LPCSTR);
-OLESTATUS WINAPI OleRevertServerDoc(LHSERVERDOC);
-OLESTATUS WINAPI OleSavedServerDoc(LHSERVERDOC);
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/winsup/w32api/include/ole2.h b/winsup/w32api/include/ole2.h
deleted file mode 100644
index c80a9a958..000000000
--- a/winsup/w32api/include/ole2.h
+++ /dev/null
@@ -1,110 +0,0 @@
-#ifndef _OLE2_H
-#define _OLE2_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#pragma pack(push,8)
-#include <winerror.h>
-#include <objbase.h>
-#include <olectlid.h>
-#include <oleauto.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-#define E_DRAW VIEW_E_DRAW
-#define DATA_E_FORMATETC DV_E_FORMATETC
-#define OLEIVERB_PRIMARY (0L)
-#define OLEIVERB_SHOW (-1L)
-#define OLEIVERB_OPEN (-2L)
-#define OLEIVERB_HIDE (-3L)
-#define OLEIVERB_UIACTIVATE (-4L)
-#define OLEIVERB_INPLACEACTIVATE (-5L)
-#define OLEIVERB_DISCARDUNDOSTATE (-6L)
-#define EMBDHLP_INPROC_HANDLER 0x0000L
-#define EMBDHLP_INPROC_SERVER 0x0001L
-#define EMBDHLP_CREATENOW 0x00000000L
-#define EMBDHLP_DELAYCREATE 0x00010000L
-#include <oleidl.h>
-
-typedef struct _OLESTREAMVTBL *LPOLESTREAMVTBL;
-typedef struct _OLESTREAM {
- LPOLESTREAMVTBL lpstbl;
-} OLESTREAM,*LPOLESTREAM;
-typedef struct _OLESTREAMVTBL {
- DWORD (CALLBACK* Get)(LPOLESTREAM,void*,DWORD);
- DWORD (CALLBACK* Put)(LPOLESTREAM,const void*,DWORD);
-} OLESTREAMVTBL;
-
-WINOLEAPI CreateDataAdviseHolder(LPDATAADVISEHOLDER*);
-WINOLEAPI_(DWORD) OleBuildVersion(void);
-WINOLEAPI ReadClassStg(LPSTORAGE,CLSID*);
-WINOLEAPI WriteClassStg(LPSTORAGE,REFCLSID);
-WINOLEAPI ReadClassStm(LPSTREAM,CLSID*);
-WINOLEAPI WriteClassStm(LPSTREAM,REFCLSID);
-WINOLEAPI WriteFmtUserTypeStg(LPSTORAGE,CLIPFORMAT,LPOLESTR);
-WINOLEAPI ReadFmtUserTypeStg(LPSTORAGE,CLIPFORMAT*,LPOLESTR*);
-WINOLEAPI OleInitialize(PVOID);
-WINOLEAPI_(void) OleUninitialize(void);
-WINOLEAPI OleQueryLinkFromData(LPDATAOBJECT);
-WINOLEAPI OleQueryCreateFromData(LPDATAOBJECT);
-WINOLEAPI OleCreate(REFCLSID,REFIID,DWORD,LPFORMATETC,LPOLECLIENTSITE,LPSTORAGE,PVOID*);
-WINOLEAPI OleCreateFromData(LPDATAOBJECT,REFIID,DWORD,LPFORMATETC,LPOLECLIENTSITE,LPSTORAGE,PVOID*);
-WINOLEAPI OleCreateLinkFromData(LPDATAOBJECT,REFIID,DWORD,LPFORMATETC,LPOLECLIENTSITE,LPSTORAGE,PVOID*);
-WINOLEAPI OleCreateStaticFromData(LPDATAOBJECT,REFIID,DWORD,LPFORMATETC,LPOLECLIENTSITE,LPSTORAGE,PVOID*);
-WINOLEAPI OleCreateLink(LPMONIKER,REFIID,DWORD,LPFORMATETC,LPOLECLIENTSITE,LPSTORAGE,PVOID*);
-WINOLEAPI OleCreateLinkToFile(LPCOLESTR,REFIID,DWORD,LPFORMATETC,LPOLECLIENTSITE,LPSTORAGE,PVOID*);
-WINOLEAPI OleCreateFromFile(REFCLSID,LPCOLESTR,REFIID,DWORD,LPFORMATETC,LPOLECLIENTSITE,LPSTORAGE,PVOID*);
-WINOLEAPI OleLoad(LPSTORAGE,REFIID,LPOLECLIENTSITE,PVOID*);
-WINOLEAPI OleSave(LPPERSISTSTORAGE,LPSTORAGE,BOOL);
-WINOLEAPI OleLoadFromStream(LPSTREAM,REFIID,PVOID*);
-WINOLEAPI OleSaveToStream(LPPERSISTSTREAM,LPSTREAM);
-WINOLEAPI OleSetContainedObject(LPUNKNOWN,BOOL);
-WINOLEAPI OleNoteObjectVisible(LPUNKNOWN,BOOL);
-WINOLEAPI RegisterDragDrop(HWND,LPDROPTARGET);
-WINOLEAPI RevokeDragDrop(HWND);
-WINOLEAPI DoDragDrop(LPDATAOBJECT,LPDROPSOURCE,DWORD,PDWORD);
-WINOLEAPI OleSetClipboard(LPDATAOBJECT);
-WINOLEAPI OleGetClipboard(LPDATAOBJECT*);
-WINOLEAPI OleFlushClipboard(void);
-WINOLEAPI OleIsCurrentClipboard(LPDATAOBJECT);
-WINOLEAPI_(HOLEMENU) OleCreateMenuDescriptor(HMENU,LPOLEMENUGROUPWIDTHS);
-WINOLEAPI OleSetMenuDescriptor(HOLEMENU,HWND,HWND,LPOLEINPLACEFRAME,LPOLEINPLACEACTIVEOBJECT);
-WINOLEAPI OleDestroyMenuDescriptor(HOLEMENU);
-WINOLEAPI OleTranslateAccelerator(LPOLEINPLACEFRAME,LPOLEINPLACEFRAMEINFO,LPMSG);
-WINOLEAPI_(HANDLE) OleDuplicateData(HANDLE,CLIPFORMAT,UINT);
-WINOLEAPI OleDraw(LPUNKNOWN,DWORD,HDC,LPCRECT);
-WINOLEAPI OleRun(LPUNKNOWN);
-WINOLEAPI_(BOOL) OleIsRunning(LPOLEOBJECT);
-WINOLEAPI OleLockRunning(LPUNKNOWN,BOOL,BOOL);
-WINOLEAPI_(void) ReleaseStgMedium(LPSTGMEDIUM);
-WINOLEAPI CreateOleAdviseHolder(LPOLEADVISEHOLDER*);
-WINOLEAPI OleCreateDefaultHandler(REFCLSID,LPUNKNOWN,REFIID,PVOID*);
-WINOLEAPI OleCreateEmbeddingHelper(REFCLSID,LPUNKNOWN,DWORD,LPCLASSFACTORY,REFIID,PVOID*);
-WINOLEAPI_(BOOL) IsAccelerator(HACCEL,int,LPMSG,WORD*);
-WINOLEAPI_(HGLOBAL) OleGetIconOfFile(LPOLESTR,BOOL);
-WINOLEAPI_(HGLOBAL) OleGetIconOfClass(REFCLSID,LPOLESTR,BOOL);
-WINOLEAPI_(HGLOBAL) OleMetafilePictFromIconAndLabel(HICON,LPOLESTR,LPOLESTR,UINT);
-WINOLEAPI OleRegGetUserType(REFCLSID,DWORD,LPOLESTR*);
-WINOLEAPI OleRegGetMiscStatus(REFCLSID,DWORD,DWORD*);
-WINOLEAPI OleRegEnumFormatEtc (REFCLSID,DWORD,LPENUMFORMATETC*);
-WINOLEAPI OleRegEnumVerbs (REFCLSID,LPENUMOLEVERB*);
-WINOLEAPI OleConvertOLESTREAMToIStorage(LPOLESTREAM,LPSTORAGE,const DVTARGETDEVICE*);
-WINOLEAPI OleConvertIStorageToOLESTREAM(LPSTORAGE,LPOLESTREAM);
-WINOLEAPI GetHGlobalFromILockBytes(LPLOCKBYTES,HGLOBAL*);
-WINOLEAPI CreateILockBytesOnHGlobal(HGLOBAL,BOOL,LPLOCKBYTES*);
-WINOLEAPI GetHGlobalFromStream(LPSTREAM,HGLOBAL*);
-WINOLEAPI CreateStreamOnHGlobal(HGLOBAL,BOOL,LPSTREAM*);
-WINOLEAPI OleDoAutoConvert(LPSTORAGE,LPCLSID);
-WINOLEAPI OleGetAutoConvert(REFCLSID,LPCLSID);
-WINOLEAPI OleSetAutoConvert(REFCLSID,REFCLSID);
-WINOLEAPI GetConvertStg(LPSTORAGE);
-WINOLEAPI SetConvertStg(LPSTORAGE,BOOL);
-WINOLEAPI OleConvertIStorageToOLESTREAMEx(LPSTORAGE,CLIPFORMAT,LONG,LONG,DWORD,LPSTGMEDIUM,LPOLESTREAM);
-WINOLEAPI OleConvertOLESTREAMToIStorageEx(LPOLESTREAM,LPSTORAGE,CLIPFORMAT*,LONG*,LONG*,DWORD*,LPSTGMEDIUM);
-#ifdef __cplusplus
-}
-#endif
-#pragma pack(pop)
-#endif
diff --git a/winsup/w32api/include/ole2ver.h b/winsup/w32api/include/ole2ver.h
deleted file mode 100644
index 667003a82..000000000
--- a/winsup/w32api/include/ole2ver.h
+++ /dev/null
@@ -1,8 +0,0 @@
-#ifndef _OLE2VER_H
-#define _OLE2VER_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-#define rmm 23
-#define rup 639
-#endif
diff --git a/winsup/w32api/include/oleacc.h b/winsup/w32api/include/oleacc.h
deleted file mode 100644
index e78949820..000000000
--- a/winsup/w32api/include/oleacc.h
+++ /dev/null
@@ -1,219 +0,0 @@
-#ifndef _OLEACC_H
-#define _OLEACC_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define DISPID_ACC_PARENT (-5000)
-#define DISPID_ACC_CHILDCOUNT (-5001)
-#define DISPID_ACC_CHILD (-5002)
-
-#define DISPID_ACC_NAME (-5003)
-#define DISPID_ACC_VALUE (-5004)
-#define DISPID_ACC_DESCRIPTION (-5005)
-#define DISPID_ACC_ROLE (-5006)
-#define DISPID_ACC_STATE (-5007)
-#define DISPID_ACC_HELP (-5008)
-#define DISPID_ACC_HELPTOPIC (-5009)
-#define DISPID_ACC_KEYBOARDSHORTCUT (-5010)
-#define DISPID_ACC_FOCUS (-5011)
-#define DISPID_ACC_SELECTION (-5012)
-#define DISPID_ACC_DEFAULTACTION (-5013)
-
-#define DISPID_ACC_SELECT (-5014)
-#define DISPID_ACC_LOCATION (-5015)
-#define DISPID_ACC_NAVIGATE (-5016)
-#define DISPID_ACC_HITTEST (-5017)
-#define DISPID_ACC_DODEFAULTACTION (-5018)
-
-#define NAVDIR_DOWN 2
-#define NAVDIR_FIRSTCHILD 7
-#define NAVDIR_LASTCHILD 8
-#define NAVDIR_LEFT 3
-#define NAVDIR_NEXT 5
-#define NAVDIR_PREVIOUS 6
-#define NAVDIR_RIGHT 4
-#define NAVDIR_UP 1
-
-#define ROLE_SYSTEM_ALERT 8
-#define ROLE_SYSTEM_ANIMATION 54
-#define ROLE_SYSTEM_APPLICATION 14
-#define ROLE_SYSTEM_BORDER 19
-#define ROLE_SYSTEM_BUTTONDROPDOWN 56
-#define ROLE_SYSTEM_BUTTONDROPDOWNGRID 58
-#define ROLE_SYSTEM_BUTTONMENU 57
-#define ROLE_SYSTEM_CARET 7
-#define ROLE_SYSTEM_CELL 29
-#define ROLE_SYSTEM_CHARACTER 32
-#define ROLE_SYSTEM_CHART 17
-#define ROLE_SYSTEM_CHECKBUTTON 44
-#define ROLE_SYSTEM_CLIENT 10
-#define ROLE_SYSTEM_CLOCK 61
-#define ROLE_SYSTEM_COLUMN 27
-#define ROLE_SYSTEM_COLUMNHEADER 25
-#define ROLE_SYSTEM_COMBOBOX 46
-#define ROLE_SYSTEM_CURSOR 6
-#define ROLE_SYSTEM_DIAGRAM 53
-#define ROLE_SYSTEM_DIAL 49
-#define ROLE_SYSTEM_DIALOG 18
-#define ROLE_SYSTEM_DOCUMENT 15
-#define ROLE_SYSTEM_DROPLIST 47
-#define ROLE_SYSTEM_EQUATION 55
-#define ROLE_SYSTEM_GRAPHIC 40
-#define ROLE_SYSTEM_GRIP 4
-#define ROLE_SYSTEM_GROUPING 20
-#define ROLE_SYSTEM_HELPBALLOON 31
-#define ROLE_SYSTEM_HOTKEYFIELD 50
-#define ROLE_SYSTEM_INDICATOR 39
-#define ROLE_SYSTEM_LINK 30
-#define ROLE_SYSTEM_LIST 33
-#define ROLE_SYSTEM_LISTITEM 34
-#define ROLE_SYSTEM_MENUBAR 2
-#define ROLE_SYSTEM_MENUITEM 12
-#define ROLE_SYSTEM_MENUPOPUP 11
-#define ROLE_SYSTEM_OUTLINE 35
-#define ROLE_SYSTEM_OUTLINEITEM 36
-#define ROLE_SYSTEM_PAGETAB 37
-#define ROLE_SYSTEM_PAGETABLIST 60
-#define ROLE_SYSTEM_PANE 16
-#define ROLE_SYSTEM_PROGRESSBAR 48
-#define ROLE_SYSTEM_PROPERTYPAGE 38
-#define ROLE_SYSTEM_PUSHBUTTON 43
-#define ROLE_SYSTEM_RADIOBUTTON 45
-#define ROLE_SYSTEM_ROW 28
-#define ROLE_SYSTEM_ROWHEADER 26
-#define ROLE_SYSTEM_SCROLLBAR 3
-#define ROLE_SYSTEM_SEPARATOR 21
-#define ROLE_SYSTEM_SLIDER 51
-#define ROLE_SYSTEM_SOUND 5
-#define ROLE_SYSTEM_SPINBUTTON 52
-#define ROLE_SYSTEM_STATICTEXT 41
-#define ROLE_SYSTEM_STATUSBAR 23
-#define ROLE_SYSTEM_TABLE 24
-#define ROLE_SYSTEM_TEXT 42
-#define ROLE_SYSTEM_TITLEBAR 1
-#define ROLE_SYSTEM_TOOLBAR 22
-#define ROLE_SYSTEM_TOOLTIP 13
-#define ROLE_SYSTEM_WHITESPACE 59
-#define ROLE_SYSTEM_WINDOW 9
-
-#define STATE_SYSTEM_UNAVAILABLE 0x00000001
-#define STATE_SYSTEM_SELECTED 0x00000002
-#define STATE_SYSTEM_FOCUSED 0x00000004
-#define STATE_SYSTEM_PRESSED 0x00000008
-#define STATE_SYSTEM_CHECKED 0x00000010
-#define STATE_SYSTEM_MIXED 0x00000020
-#define STATE_SYSTEM_READONLY 0x00000040
-#define STATE_SYSTEM_HOTTRACKED 0x00000080
-#define STATE_SYSTEM_DEFAULT 0x00000100
-#define STATE_SYSTEM_EXPANDED 0x00000200
-#define STATE_SYSTEM_COLLAPSED 0x00000400
-#define STATE_SYSTEM_BUSY 0x00000800
-#define STATE_SYSTEM_FLOATING 0x00001000
-#define STATE_SYSTEM_MARQUEED 0x00002000
-#define STATE_SYSTEM_ANIMATED 0x00004000
-#define STATE_SYSTEM_INVISIBLE 0x00008000
-#define STATE_SYSTEM_OFFSCREEN 0x00010000
-#define STATE_SYSTEM_SIZEABLE 0x00020000
-#define STATE_SYSTEM_MOVEABLE 0x00040000
-#define STATE_SYSTEM_SELFVOICING 0x00080000
-#define STATE_SYSTEM_FOCUSABLE 0x00100000
-#define STATE_SYSTEM_SELECTABLE 0x00200000
-#define STATE_SYSTEM_LINKED 0x00400000
-#define STATE_SYSTEM_TRAVERSED 0x00800000
-#define STATE_SYSTEM_MULTISELECTABLE 0x01000000
-#define STATE_SYSTEM_EXTSELECTABLE 0x02000000
-#define STATE_SYSTEM_ALERT_LOW 0x04000000
-#define STATE_SYSTEM_ALERT_MEDIUM 0x08000000
-#define STATE_SYSTEM_ALERT_HIGH 0x10000000
-#define STATE_SYSTEM_VALID 0x1fffffff
-
-typedef enum tagSELFLAG
-{
- SELFLAG_NONE = 0,
- SELFLAG_TAKEFOCUS = 1,
- SELFLAG_TAKESELECTION = 2,
- SELFLAG_EXTENDSELECTION = 4,
- SELFLAG_ADDSELECTION = 8,
- SELFLAG_REMOVESELECTION = 16
-} SELFLAG;
-
-#define SELFLAG_VALID 0x0000001F
-
-/* DEFINE_GUID(LIBID_Accessibility, 0x1ea4dbf0, 0x3c3b,0x11cf, 0x81, 0x0c, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71); */
-/* DEFINE_GUID(IID_IAccessible, 0x618736e0, 0x3c3d,0x11cf, 0x81, 0x0c, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71); */
-EXTERN_C const IID LIBID_Accessibility;
-EXTERN_C const IID IID_IAccessible;
-
-#undef INTERFACE
-#define INTERFACE IAccessible
-DECLARE_INTERFACE_(IAccessible, IDispatch)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(GetTypeInfoCount)(THIS_ UINT*) PURE;
- STDMETHOD(GetTypeInfo)(THIS_ UINT,LCID,LPTYPEINFO*) PURE;
- STDMETHOD(GetIDsOfNames)(THIS_ REFIID,LPOLESTR*,UINT,LCID,DISPID*) PURE;
- STDMETHOD(Invoke)(THIS_ DISPID,REFIID,LCID,WORD,DISPPARAMS*,VARIANT*,EXCEPINFO*,UINT*) PURE;
-
- STDMETHOD(get_accParent)(THIS_ IDispatch**) PURE;
- STDMETHOD(get_accChildCount)(THIS_ long*) PURE;
- STDMETHOD(get_accChild)(THIS_ VARIANT, IDispatch **) PURE;
- STDMETHOD(get_accName)(THIS_ VARIANT, BSTR*) PURE;
- STDMETHOD(get_accValue)(THIS_ VARIANT, BSTR*) PURE;
- STDMETHOD(get_accDescription)(THIS_ VARIANT, BSTR*) PURE;
- STDMETHOD(get_accRole)(THIS_ VARIANT, VARIANT*) PURE;
- STDMETHOD(get_accState)(THIS_ VARIANT, VARIANT*) PURE;
- STDMETHOD(get_accHelp)(THIS_ VARIANT, BSTR*) PURE;
- STDMETHOD(get_accHelpTopic)(THIS_ BSTR*, VARIANT, long*) PURE;
- STDMETHOD(get_accKeyboardShortcut)(THIS_ VARIANT, BSTR*) PURE;
- STDMETHOD(get_accFocus)(THIS_ VARIANT*) PURE;
- STDMETHOD(get_accSelection)(THIS_ VARIANT*) PURE;
- STDMETHOD(get_accDefaultAction)(THIS_ VARIANT, BSTR*) PURE;
-
- STDMETHOD(accSelect)(THIS_ long, VARIANT) PURE;
- STDMETHOD(accLocation)(THIS_ long*, long*, long*, long*, VARIANT) PURE;
- STDMETHOD(accNavigate)(THIS_ long, VARIANT, VARIANT*) PURE;
- STDMETHOD(accHitTest)(THIS_ long, long, VARIANT*) PURE;
- STDMETHOD(accDoDefaultAction)(THIS_ VARIANT) PURE;
-
- STDMETHOD(put_accName)(THIS_ VARIANT, BSTR) PURE;
- STDMETHOD(put_accValue)(THIS_ VARIANT, BSTR) PURE;
-};
-typedef IAccessible* LPACCESSIBLE;
-
-STDAPI AccessibleChildren(IAccessible*,LONG,LONG,VARIANT*,LONG*);
-STDAPI AccessibleObjectFromEvent(HWND,DWORD,DWORD,IAccessible*,VARIANT*);
-STDAPI AccessibleObjectFromPoint(POINT,IAccessible**,VARIANT*);
-STDAPI AccessibleObjectFromWindow(HWND,DWORD,REFIID,void**);
-STDAPI CreateStdAccessibleObject(HWND,LONG,REFIID,void**);
-STDAPI CreateStdAccessibleProxyA(HWND,LPCSTR,LONG,REFIID,void**);
-STDAPI CreateStdAccessibleProxyW(HWND,LPCWSTR,LONG,REFIID,void**);
-void WINAPI GetOleaccVersionInfo(DWORD*,DWORD*);
-UINT WINAPI GetRoleTextA(DWORD,LPSTR,UINT);
-UINT WINAPI GetRoleTextW(DWORD,LPWSTR,UINT);
-UINT WINAPI GetStateTextA(DWORD,LPSTR,UINT);
-UINT WINAPI GetStateTextW(DWORD,LPWSTR,UINT);
-LRESULT WINAPI LresultFromObject(REFIID,WPARAM,LPUNKNOWN);
-STDAPI ObjectFromLresult(LRESULT,REFIID,WPARAM,void**);
-STDAPI WindowFromAccessibleObject(IAccessible*,HWND*);
-
-#ifdef UNICODE
-#define CreateStdAccessibleProxy CreateStdAccessibleProxyW
-#define GetRoleText GetRoleTextW
-#define GetStateText GetStateTextW
-#else
-#define CreateStdAccessibleProxy CreateStdAccessibleProxyA
-#define GetRoleText GetRoleTextA
-#define GetStateText GetStateTextA
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* _OLEACC_H */
diff --git a/winsup/w32api/include/oleauto.h b/winsup/w32api/include/oleauto.h
deleted file mode 100644
index 7c9405a18..000000000
--- a/winsup/w32api/include/oleauto.h
+++ /dev/null
@@ -1,654 +0,0 @@
-#ifndef _OLEAUTO_H
-#define _OLEAUTO_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#pragma pack(push,8)
-#define WINOLEAUTAPI STDAPI
-#define WINOLEAUTAPI_(type) STDAPI_(type)
-#define STDOLE_MAJORVERNUM 1
-#define STDOLE_MINORVERNUM 0
-#define STDOLE_LCID 0
-
-#define VARIANT_NOVALUEPROP 0x01
-#define VARIANT_ALPHABOOL 0x02
-#define VARIANT_NOUSEOVERRIDE 0x04
-#define VARIANT_LOCALBOOL 0x08
-
-#define VAR_TIMEVALUEONLY 0x0001
-#define VAR_DATEVALUEONLY 0x0002
-#define VAR_VALIDDATE 0x0004
-#define VAR_CALENDAR_HIJRI 0x0008
-#define VAR_LOCALBOOL 0x0010
-#define VAR_FORMAT_NOSUBSTITUTE 0x0020
-#define VAR_FOURDIGITYEARS 0x0040
-#define VAR_CALENDAR_THAI 0x0080
-#define VAR_CALENDAR_GREGORIAN 0x0100
-
-#define MEMBERID_NIL DISPID_UNKNOWN
-#define ID_DEFAULTINST (-2)
-#define DISPATCH_METHOD 1
-#define DISPATCH_PROPERTYGET 2
-#define DISPATCH_PROPERTYPUT 4
-#define DISPATCH_PROPERTYPUTREF 8
-#define LHashValOfName(l,n) LHashValOfNameSys(SYS_WIN32,l,n)
-#define WHashValOfLHashVal(h) ((unsigned short)(0x0000ffff&(h)))
-#define IsHashValCompatible(h1,h2) ((BOOL)((0x00ff0000&(h1))==(0x00ff0000&(h2))))
-#define ACTIVEOBJECT_STRONG 0
-#define ACTIVEOBJECT_WEAK 1
-#ifdef NONAMELESSUNION
-#define V_UNION(X,Y) ((X)->__VARIANT_NAME_1.__VARIANT_NAME_2.__VARIANT_NAME_3.Y)
-#define V_VT(X) ((X)->__VARIANT_NAME_1.__VARIANT_NAME_2.vt)
-#else
-#define V_UNION(X,Y) ((X)->Y)
-#define V_VT(X) ((X)->vt)
-#endif
-#define V_BOOL(X) V_UNION(X,boolVal)
-#define V_ISBYREF(X) (V_VT(X)&VT_BYREF)
-#define V_ISARRAY(X) (V_VT(X)&VT_ARRAY)
-#define V_ISVECTOR(X) (V_VT(X)&VT_VECTOR)
-#define V_NONE(X) V_I2(X)
-#define V_UI1(X) V_UNION(X,bVal)
-#define V_UI1REF(X) V_UNION(X,pbVal)
-#define V_I2(X) V_UNION(X,iVal)
-#define V_UI2(X) V_UNION(X,uiVal)
-#define V_I2REF(X) V_UNION(X,piVal)
-#define V_I4(X) V_UNION(X,lVal)
-#define V_UI4(X) V_UNION(X,ulVal)
-#define V_I4REF(X) V_UNION(X,plVal)
-#define V_UI4REF(X) V_UNION(X,pulVal)
-#define V_I8(X) V_UNION(X,llVal)
-#define V_UI8(X) V_UNION(X,ullVal)
-#define V_I8REF(X) V_UNION(X,pllVal)
-#define V_UI8REF(X) V_UNION(X,pullVal)
-#define V_R4(X) V_UNION(X,fltVal)
-#define V_R4REF(X) V_UNION(X,pfltVal)
-#define V_R8(X) V_UNION(X,dblVal)
-#define V_R8REF(X) V_UNION(X,pdblVal)
-#define V_CY(X) V_UNION(X,cyVal)
-#define V_CYREF(X) V_UNION(X,pcyVal)
-#define V_DATE(X) V_UNION(X,date)
-#define V_DATEREF(X) V_UNION(X,pdate)
-#define V_BSTR(X) V_UNION(X,bstrVal)
-#define V_BSTRREF(X) V_UNION(X,pbstrVal)
-#define V_DISPATCH(X) V_UNION(X,pdispVal)
-#define V_DISPATCHREF(X) V_UNION(X,ppdispVal)
-#define V_ERROR(X) V_UNION(X,scode)
-#define V_ERRORREF(X) V_UNION(X,pscode)
-#define V_BOOLREF(X) V_UNION(X,pboolVal)
-#define V_UNKNOWN(X) V_UNION(X,punkVal)
-#define V_UNKNOWNREF(X) V_UNION(X,ppunkVal)
-#define V_VARIANTREF(X) V_UNION(X,pvarVal)
-#define V_LPSTR(X) V_UNION(X,pszVal)
-#define V_LPSTRREF(X) V_UNION(X,ppszVal)
-#define V_LPWSTR(X) V_UNION(X,pwszVal)
-#define V_LPWSTRREF(X) V_UNION(X,ppwszVal)
-#define V_FILETIME(X) V_UNION(X,filetime)
-#define V_FILETIMEREF(X) V_UNION(X,pfiletime)
-#define V_BLOB(X) V_UNION(X,blob)
-#define V_UUID(X) V_UNION(X,puuid)
-#define V_CLSID(X) V_UNION(X,puuid)
-#define V_ARRAY(X) V_UNION(X,parray)
-#define V_ARRAYREF(X) V_UNION(X,pparray)
-#define V_BYREF(X) V_UNION(X,byref)
-#if defined(NONAMELESSUNION)
-#define V_DECIMAL(X) ((X)->__VARIANT_NAME_1.decVal)
-#else
-#define V_DECIMAL(X) ((X)->decVal)
-#endif
-#define V_DECIMALREF(X) V_UNION(X,pdecVal)
-#define V_I1(X) V_UNION(X,cVal)
-
-#ifdef _WIN64
-#define V_INT_PTR(X) V_I8(X)
-#define V_UINT_PTR(X) V_UI8(X)
-#define V_INT_PTRREF(X) V_I8REF(X)
-#define V_UINT_PTRREF(X) V_UI8REF(X)
-#else
-#define V_INT_PTR(X) V_I4(X)
-#define V_UINT_PTR(X) V_UI4(X)
-#define V_INT_PTRREF(X) V_I4REF(X)
-#define V_UINT_PTRREF(X) V_UI4REF(X)
-#endif
-
-#define VARCMP_LT 0
-#define VARCMP_EQ 1
-#define VARCMP_GT 2
-#define VARCMP_NULL 3
-
-#define LOCALE_USE_NLS 0x10000000
-
-#define VARIANT_NOUSEROVERRIDE 0x04
-#define VARIANT_CALENDAR_HIJRI 0x08
-#define VARIANT_CALENDAR_THAI 0x20
-#define VARIANT_CALENDAR_GREGORIAN 0x40
-#define VARIANT_USE_NLS 0x80
-
-#define NUMPRS_LEADING_WHITE 0x00001
-#define NUMPRS_TRAILING_WHITE 0x00002
-#define NUMPRS_LEADING_PLUS 0x00004
-#define NUMPRS_TRAILING_PLUS 0x00008
-#define NUMPRS_LEADING_MINUS 0x00010
-#define NUMPRS_TRAILING_MINUS 0x00020
-#define NUMPRS_HEX_OCT 0x00040
-#define NUMPRS_PARENS 0x00080
-#define NUMPRS_DECIMAL 0x00100
-#define NUMPRS_THOUSANDS 0x00200
-#define NUMPRS_CURRENCY 0x00400
-#define NUMPRS_EXPONENT 0x00800
-#define NUMPRS_USE_ALL 0x01000
-#define NUMPRS_STD 0x01FFF
-#define NUMPRS_NEG 0x10000
-#define NUMPRS_INEXACT 0x20000
-
-#define VTBIT_I1 (1<<VT_I1)
-#define VTBIT_UI1 (1<<VT_UI1)
-#define VTBIT_I2 (1<<VT_I2)
-#define VTBIT_UI2 (1<<VT_UI2)
-#define VTBIT_I4 (1<<VT_I4)
-#define VTBIT_UI4 (1<<VT_UI4)
-#define VTBIT_I8 (1<<VT_I8)
-#define VTBIT_UI8 (1<<VT_UI8)
-#define VTBIT_R4 (1<<VT_R4)
-#define VTBIT_R8 (1<<VT_R8)
-#define VTBIT_CY (1<<VT_CY)
-#define VTBIT_DECIMAL (1<<VT_DECIMAL)
-
-#include <oaidl.h>
-
-typedef enum tagREGKIND {
- REGKIND_DEFAULT,
- REGKIND_REGISTER,
- REGKIND_NONE
-} REGKIND;
-typedef struct tagPARAMDATA {
- OLECHAR *szName;
- VARTYPE vt;
-} PARAMDATA,*LPPARAMDATA;
-typedef struct tagMETHODDATA {
- OLECHAR *szName;
- PARAMDATA *ppdata;
- DISPID dispid;
- UINT iMeth;
- CALLCONV cc;
- UINT cArgs;
- WORD wFlags;
- VARTYPE vtReturn;
-} METHODDATA,*LPMETHODDATA;
-typedef struct tagINTERFACEDATA {
- METHODDATA *pmethdata;
- UINT cMembers;
-} INTERFACEDATA,*LPINTERFACEDATA;
-
-typedef struct {
- SYSTEMTIME st;
- USHORT wDayOfYear;
-} UDATE;
-
-typedef struct {
- int cDig;
- unsigned long dwInFlags;
- unsigned long dwOutFlags;
- int cchUsed;
- int nBaseShift;
- int nPwr10;
-} NUMPARSE;
-
-WINOLEAUTAPI_(BSTR) SysAllocString(const OLECHAR*);
-WINOLEAUTAPI_(int) SysReAllocString(BSTR*,const OLECHAR*);
-WINOLEAUTAPI_(BSTR) SysAllocStringLen(const OLECHAR*,unsigned int);
-WINOLEAUTAPI_(int) SysReAllocStringLen(BSTR*,const OLECHAR*,unsigned int);
-WINOLEAUTAPI_(void) SysFreeString(BSTR);
-WINOLEAUTAPI_(unsigned int) SysStringLen(BSTR);
-WINOLEAUTAPI_(unsigned int) SysStringByteLen(BSTR);
-WINOLEAUTAPI_(BSTR) SysAllocStringByteLen(const char*,unsigned int);
-WINOLEAUTAPI_(int) DosDateTimeToVariantTime(unsigned short,unsigned short,double*);
-WINOLEAUTAPI_(int) VariantTimeToDosDateTime(double,unsigned short*,unsigned short*);
-WINOLEAUTAPI_(int) VariantTimeToSystemTime(double,LPSYSTEMTIME);
-WINOLEAUTAPI_(int) SystemTimeToVariantTime(LPSYSTEMTIME, double*);
-WINOLEAUTAPI VarDateFromUdate(UDATE*,ULONG,DATE*);
-WINOLEAUTAPI VarDateFromUdateEx(UDATE*,LCID,ULONG,DATE*);
-WINOLEAUTAPI VarUdateFromDate(DATE,ULONG,UDATE*);
-WINOLEAUTAPI SafeArrayAllocDescriptor(unsigned int,SAFEARRAY**);
-WINOLEAUTAPI SafeArrayAllocData(SAFEARRAY*);
-WINOLEAUTAPI_(SAFEARRAY*) SafeArrayCreate(VARTYPE,unsigned int,SAFEARRAYBOUND*);
-WINOLEAUTAPI SafeArrayDestroyDescriptor(SAFEARRAY*);
-WINOLEAUTAPI SafeArrayDestroyData(SAFEARRAY*);
-WINOLEAUTAPI SafeArrayDestroy(SAFEARRAY*);
-WINOLEAUTAPI SafeArrayRedim(SAFEARRAY*,SAFEARRAYBOUND*);
-WINOLEAUTAPI_(unsigned int) SafeArrayGetDim(SAFEARRAY*);
-WINOLEAUTAPI_(unsigned int) SafeArrayGetElemsize(SAFEARRAY*);
-WINOLEAUTAPI SafeArrayGetUBound(SAFEARRAY*,unsigned int,long*);
-WINOLEAUTAPI SafeArrayGetLBound(SAFEARRAY*,unsigned int,long*);
-WINOLEAUTAPI SafeArrayLock(SAFEARRAY*);
-WINOLEAUTAPI SafeArrayUnlock(SAFEARRAY*);
-WINOLEAUTAPI SafeArrayAccessData(SAFEARRAY*,void**);
-WINOLEAUTAPI SafeArrayUnaccessData(SAFEARRAY*);
-WINOLEAUTAPI SafeArrayGetElement(SAFEARRAY*,long*,void*);
-WINOLEAUTAPI SafeArrayPutElement(SAFEARRAY*,long*,void*);
-WINOLEAUTAPI SafeArrayCopy(SAFEARRAY*,SAFEARRAY**);
-WINOLEAUTAPI SafeArrayPtrOfIndex(SAFEARRAY*,long*,void**);
-WINOLEAUTAPI_(SAFEARRAY*) SafeArrayCreateVector(VARTYPE,LONG,ULONG);
-WINOLEAUTAPI_(SAFEARRAY*) SafeArrayCreateVectorEx(VARTYPE,LONG,ULONG,LPVOID);
-WINOLEAUTAPI SafeArrayAllocDescriptorEx(VARTYPE,UINT,SAFEARRAY**);
-WINOLEAUTAPI SafeArrayGetVartype(SAFEARRAY*,VARTYPE*);
-WINOLEAUTAPI SafeArraySetRecordInfo(SAFEARRAY*,IRecordInfo*);
-WINOLEAUTAPI SafeArrayGetRecordInfo(SAFEARRAY*,IRecordInfo**);
-WINOLEAUTAPI SafeArraySetIID(SAFEARRAY*,REFGUID);
-WINOLEAUTAPI SafeArrayGetIID(SAFEARRAY*,GUID*);
-WINOLEAUTAPI_(void) VariantInit(VARIANTARG*);
-WINOLEAUTAPI VariantClear(VARIANTARG*);
-WINOLEAUTAPI VariantCopy(VARIANTARG*,VARIANTARG*);
-WINOLEAUTAPI VariantCopyInd(VARIANT*,VARIANTARG*);
-WINOLEAUTAPI VariantChangeType(VARIANTARG*,VARIANTARG*,unsigned short,VARTYPE);
-WINOLEAUTAPI VariantChangeTypeEx(VARIANTARG*,VARIANTARG*,LCID,unsigned short,VARTYPE);
-WINOLEAUTAPI VarUI1FromI2(short,unsigned char*);
-WINOLEAUTAPI VarUI1FromI4(long,unsigned char*);
-WINOLEAUTAPI VarUI1FromR4(float,unsigned char*);
-WINOLEAUTAPI VarUI1FromR8(double,unsigned char*);
-WINOLEAUTAPI VarUI1FromCy(CY,unsigned char*);
-WINOLEAUTAPI VarUI1FromDate(DATE,unsigned char*);
-WINOLEAUTAPI VarUI1FromStr(OLECHAR*,LCID,unsigned long,unsigned char*);
-WINOLEAUTAPI VarUI1FromDisp(LPDISPATCH,LCID,unsigned char*);
-WINOLEAUTAPI VarUI1FromBool(VARIANT_BOOL,unsigned char*);
-WINOLEAUTAPI VarI2FromUI1(unsigned char,short*);
-WINOLEAUTAPI VarI2FromI4(long,short*);
-WINOLEAUTAPI VarI2FromR4(float,short*);
-WINOLEAUTAPI VarI2FromR8(double,short*);
-WINOLEAUTAPI VarI2FromCy(CY cyIn,short*);
-WINOLEAUTAPI VarI2FromDate(DATE,short*);
-WINOLEAUTAPI VarI2FromStr(OLECHAR*,LCID,unsigned long,short*);
-WINOLEAUTAPI VarI2FromDisp(LPDISPATCH,LCID,short*);
-WINOLEAUTAPI VarI2FromBool(VARIANT_BOOL,short*);
-WINOLEAUTAPI VarI4FromUI1(unsigned char,long*);
-WINOLEAUTAPI VarI4FromI2(short,long*);
-WINOLEAUTAPI VarI4FromR4(float,long*);
-WINOLEAUTAPI VarI4FromR8(double,long*);
-WINOLEAUTAPI VarI4FromCy(CY,long*);
-WINOLEAUTAPI VarI4FromDate(DATE,long*);
-WINOLEAUTAPI VarI4FromStr(OLECHAR*,LCID,unsigned long,long*);
-WINOLEAUTAPI VarI4FromDisp(LPDISPATCH,LCID,long*);
-WINOLEAUTAPI VarI4FromBool(VARIANT_BOOL,long*);
-WINOLEAUTAPI VarR4FromUI1(unsigned char,float*);
-WINOLEAUTAPI VarR4FromI2(short,float*);
-WINOLEAUTAPI VarR4FromI4(long,float*);
-WINOLEAUTAPI VarR4FromR8(double,float*);
-WINOLEAUTAPI VarR4FromCy(CY,float*);
-WINOLEAUTAPI VarR4FromDate(DATE,float*);
-WINOLEAUTAPI VarR4FromStr(OLECHAR*,LCID,unsigned long,float*);
-WINOLEAUTAPI VarR4FromDisp(LPDISPATCH,LCID,float*);
-WINOLEAUTAPI VarR4FromBool(VARIANT_BOOL,float*);
-WINOLEAUTAPI VarR8FromUI1(unsigned char,double*);
-WINOLEAUTAPI VarR8FromI2(short,double*);
-WINOLEAUTAPI VarR8FromI4(long,double*);
-WINOLEAUTAPI VarR8FromR4(float,double*);
-WINOLEAUTAPI VarR8FromCy(CY,double*);
-WINOLEAUTAPI VarR8FromDate(DATE,double*);
-WINOLEAUTAPI VarR8FromStr(OLECHAR*,LCID,unsigned long,double*);
-WINOLEAUTAPI VarR8FromDisp(LPDISPATCH,LCID,double*);
-WINOLEAUTAPI VarR8FromBool(VARIANT_BOOL,double*);
-WINOLEAUTAPI VarR8FromDec(DECIMAL*,double*);
-WINOLEAUTAPI VarDateFromUI1(unsigned char,DATE*);
-WINOLEAUTAPI VarDateFromI2(short,DATE*);
-WINOLEAUTAPI VarDateFromI4(long,DATE*);
-WINOLEAUTAPI VarDateFromR4(float,DATE*);
-WINOLEAUTAPI VarDateFromR8(double,DATE*);
-WINOLEAUTAPI VarDateFromCy(CY,DATE*);
-WINOLEAUTAPI VarDateFromStr(OLECHAR*,LCID,unsigned long,DATE*);
-WINOLEAUTAPI VarDateFromDisp(LPDISPATCH,LCID,DATE*);
-WINOLEAUTAPI VarDateFromBool(VARIANT_BOOL,DATE*);
-WINOLEAUTAPI VarCyFromUI1(unsigned char,CY*);
-WINOLEAUTAPI VarCyFromI2(short,CY*);
-WINOLEAUTAPI VarCyFromI4(long,CY*);
-WINOLEAUTAPI VarCyFromR4(float,CY*);
-WINOLEAUTAPI VarCyFromR8(double,CY*);
-WINOLEAUTAPI VarCyFromDate(DATE,CY*);
-WINOLEAUTAPI VarCyFromStr(OLECHAR*,LCID,unsigned long,CY*);
-WINOLEAUTAPI VarCyFromDisp(LPDISPATCH,LCID,CY*);
-WINOLEAUTAPI VarCyFromBool(VARIANT_BOOL,CY*);
-WINOLEAUTAPI VarBstrFromUI1(unsigned char,LCID,unsigned long,BSTR*);
-WINOLEAUTAPI VarBstrFromI2(short,LCID,unsigned long,BSTR*);
-WINOLEAUTAPI VarBstrFromI4(long,LCID,unsigned long,BSTR*);
-WINOLEAUTAPI VarBstrFromR4(float,LCID,unsigned long,BSTR*);
-WINOLEAUTAPI VarBstrFromR8(double,LCID,unsigned long,BSTR*);
-WINOLEAUTAPI VarBstrFromCy(CY,LCID,unsigned long,BSTR*);
-WINOLEAUTAPI VarBstrFromDate(DATE,LCID,unsigned long,BSTR*);
-WINOLEAUTAPI VarBstrFromDisp(LPDISPATCH,LCID,unsigned long,BSTR*);
-WINOLEAUTAPI VarBstrFromBool(VARIANT_BOOL,LCID,unsigned long,BSTR*);
-WINOLEAUTAPI VarBoolFromUI1(unsigned char,VARIANT_BOOL*);
-WINOLEAUTAPI VarBoolFromI2(short,VARIANT_BOOL*);
-WINOLEAUTAPI VarBoolFromI4(long,VARIANT_BOOL*);
-WINOLEAUTAPI VarBoolFromR4(float,VARIANT_BOOL*);
-WINOLEAUTAPI VarBoolFromR8(double,VARIANT_BOOL*);
-WINOLEAUTAPI VarBoolFromDate(DATE,VARIANT_BOOL*);
-WINOLEAUTAPI VarBoolFromCy(CY,VARIANT_BOOL*);
-WINOLEAUTAPI VarBoolFromStr(OLECHAR*,LCID,unsigned long,VARIANT_BOOL*);
-WINOLEAUTAPI VarBoolFromDisp(LPDISPATCH,LCID,VARIANT_BOOL*);
-WINOLEAUTAPI VarDecFromR8(double,DECIMAL*);
-WINOLEAUTAPI_(ULONG) LHashValOfNameSysA(SYSKIND,LCID,const char*);
-WINOLEAUTAPI_(ULONG) LHashValOfNameSys(SYSKIND,LCID,const OLECHAR*);
-WINOLEAUTAPI LoadTypeLib(const OLECHAR*,LPTYPELIB*);
-WINOLEAUTAPI LoadTypeLibEx(LPCOLESTR,REGKIND,LPTYPELIB*);
-WINOLEAUTAPI LoadRegTypeLib(REFGUID,WORD,WORD,LCID,LPTYPELIB*);
-WINOLEAUTAPI QueryPathOfRegTypeLib(REFGUID,unsigned short,unsigned short,LCID,LPBSTR);
-WINOLEAUTAPI RegisterTypeLib(LPTYPELIB,OLECHAR*,OLECHAR*);
-WINOLEAUTAPI UnRegisterTypeLib(REFGUID,WORD,WORD,LCID,SYSKIND);
-WINOLEAUTAPI CreateTypeLib(SYSKIND,const OLECHAR*,LPCREATETYPELIB*);
-WINOLEAUTAPI DispGetParam(DISPPARAMS*,UINT,VARTYPE,VARIANT*,UINT*);
-WINOLEAUTAPI DispGetIDsOfNames(LPTYPEINFO,OLECHAR**,UINT,DISPID*);
-WINOLEAUTAPI DispInvoke(void*,LPTYPEINFO,DISPID,WORD,DISPPARAMS*,VARIANT*,EXCEPINFO*,UINT*);
-WINOLEAUTAPI CreateDispTypeInfo(INTERFACEDATA*,LCID,LPTYPEINFO*);
-WINOLEAUTAPI CreateStdDispatch(IUnknown*,void*,LPTYPEINFO,IUnknown**);
-WINOLEAUTAPI RegisterActiveObject(IUnknown*,REFCLSID,DWORD,DWORD*);
-WINOLEAUTAPI RevokeActiveObject(DWORD,void*);
-WINOLEAUTAPI GetActiveObject(REFCLSID,void*,IUnknown**);
-WINOLEAUTAPI SetErrorInfo(unsigned long,LPERRORINFO);
-WINOLEAUTAPI GetErrorInfo(unsigned long,LPERRORINFO*);
-WINOLEAUTAPI CreateErrorInfo(LPCREATEERRORINFO*);
-WINOLEAUTAPI_(unsigned long) OaBuildVersion(void);
-WINOLEAUTAPI VectorFromBstr (BSTR, SAFEARRAY **);
-WINOLEAUTAPI BstrFromVector (SAFEARRAY *, BSTR *);
-WINOLEAUTAPI VarParseNumFromStr(OLECHAR*,LCID,ULONG,NUMPARSE*,BYTE*);
-WINOLEAUTAPI VarNumFromParseNum(NUMPARSE*,BYTE*,ULONG,VARIANT*);
-
-WINOLEAUTAPI VarAdd(LPVARIANT, LPVARIANT, LPVARIANT);
-WINOLEAUTAPI VarSub(LPVARIANT, LPVARIANT, LPVARIANT);
-WINOLEAUTAPI VarMul(LPVARIANT, LPVARIANT, LPVARIANT);
-WINOLEAUTAPI VarDiv(LPVARIANT, LPVARIANT, LPVARIANT);
-
-WINOLEAUTAPI VarUI1FromI2(SHORT,BYTE*);
-WINOLEAUTAPI VarUI1FromI4(LONG,BYTE*);
-WINOLEAUTAPI VarUI1FromI8(LONG64,BYTE*);
-WINOLEAUTAPI VarUI1FromR4(FLOAT,BYTE*);
-WINOLEAUTAPI VarUI1FromR8(DOUBLE,BYTE*);
-WINOLEAUTAPI VarUI1FromDate(DATE,BYTE*);
-WINOLEAUTAPI VarUI1FromBool(VARIANT_BOOL,BYTE*);
-WINOLEAUTAPI VarUI1FromI1(signed char,BYTE*);
-WINOLEAUTAPI VarUI1FromUI2(USHORT,BYTE*);
-WINOLEAUTAPI VarUI1FromUI4(ULONG,BYTE*);
-WINOLEAUTAPI VarUI1FromUI8(ULONG64,BYTE*);
-WINOLEAUTAPI VarUI1FromStr(OLECHAR*,LCID,ULONG,BYTE*);
-WINOLEAUTAPI VarUI1FromCy(CY,BYTE*);
-WINOLEAUTAPI VarUI1FromDec(DECIMAL*,BYTE*);
-WINOLEAUTAPI VarUI1FromDisp(IDispatch*,LCID,BYTE*);
-
-WINOLEAUTAPI VarI2FromUI1(BYTE,SHORT*);
-WINOLEAUTAPI VarI2FromI4(LONG,SHORT*);
-WINOLEAUTAPI VarI2FromI8(LONG64,SHORT*);
-WINOLEAUTAPI VarI2FromR4(FLOAT,SHORT*);
-WINOLEAUTAPI VarI2FromR8(DOUBLE,SHORT*);
-WINOLEAUTAPI VarI2FromDate(DATE,SHORT*);
-WINOLEAUTAPI VarI2FromBool(VARIANT_BOOL,SHORT*);
-WINOLEAUTAPI VarI2FromI1(signed char,SHORT*);
-WINOLEAUTAPI VarI2FromUI2(USHORT,SHORT*);
-WINOLEAUTAPI VarI2FromUI4(ULONG,SHORT*);
-WINOLEAUTAPI VarI2FromUI8(ULONG64,SHORT*);
-WINOLEAUTAPI VarI2FromStr(OLECHAR*,LCID,ULONG,SHORT*);
-WINOLEAUTAPI VarI2FromCy(CY,SHORT*);
-WINOLEAUTAPI VarI2FromDec(DECIMAL*,SHORT*);
-WINOLEAUTAPI VarI2FromDisp(IDispatch*,LCID,SHORT*);
-
-WINOLEAUTAPI VarI4FromUI1(BYTE,LONG*);
-WINOLEAUTAPI VarI4FromI2(SHORT,LONG*);
-WINOLEAUTAPI VarI4FromI8(LONG64,LONG*);
-WINOLEAUTAPI VarI4FromR4(FLOAT,LONG*);
-WINOLEAUTAPI VarI4FromR8(DOUBLE,LONG*);
-WINOLEAUTAPI VarI4FromDate(DATE,LONG*);
-WINOLEAUTAPI VarI4FromBool(VARIANT_BOOL,LONG*);
-WINOLEAUTAPI VarI4FromI1(signed char,LONG*);
-WINOLEAUTAPI VarI4FromUI2(USHORT,LONG*);
-WINOLEAUTAPI VarI4FromUI4(ULONG,LONG*);
-WINOLEAUTAPI VarI4FromUI8(ULONG64,LONG*);
-WINOLEAUTAPI VarI4FromStr(OLECHAR*,LCID,ULONG,LONG*);
-WINOLEAUTAPI VarI4FromCy(CY,LONG*);
-WINOLEAUTAPI VarI4FromDec(DECIMAL*,LONG*);
-WINOLEAUTAPI VarI4FromDisp(IDispatch*,LCID,LONG*);
-
-WINOLEAUTAPI VarI8FromUI1(BYTE,LONG64*);
-WINOLEAUTAPI VarI8FromI2(SHORT,LONG64*);
-WINOLEAUTAPI VarI8FromI4(LONG,LONG64*);
-WINOLEAUTAPI VarI8FromR4(FLOAT,LONG64*);
-WINOLEAUTAPI VarI8FromR8(DOUBLE,LONG64*);
-WINOLEAUTAPI VarI8FromDate(DATE,LONG64*);
-WINOLEAUTAPI VarI8FromStr(OLECHAR*,LCID,ULONG,LONG64*);
-WINOLEAUTAPI VarI8FromBool(VARIANT_BOOL,LONG64*);
-WINOLEAUTAPI VarI8FromI1(signed char,LONG64*);
-WINOLEAUTAPI VarI8FromUI2(USHORT,LONG64*);
-WINOLEAUTAPI VarI8FromUI4(ULONG,LONG64*);
-WINOLEAUTAPI VarI8FromUI8(ULONG64,LONG64*);
-WINOLEAUTAPI VarI8FromDec(DECIMAL *pdecIn,LONG64*);
-WINOLEAUTAPI VarI8FromInt(INT intIn,LONG64*);
-WINOLEAUTAPI VarI8FromCy(CY,LONG64*);
-WINOLEAUTAPI VarI8FromDisp(IDispatch*,LCID,LONG64*);
-
-WINOLEAUTAPI VarR4FromUI1(BYTE,FLOAT*);
-WINOLEAUTAPI VarR4FromI2(SHORT,FLOAT*);
-WINOLEAUTAPI VarR4FromI4(LONG,FLOAT*);
-WINOLEAUTAPI VarR4FromI8(LONG64,FLOAT*);
-WINOLEAUTAPI VarR4FromR8(DOUBLE,FLOAT*);
-WINOLEAUTAPI VarR4FromDate(DATE,FLOAT*);
-WINOLEAUTAPI VarR4FromBool(VARIANT_BOOL,FLOAT*);
-WINOLEAUTAPI VarR4FromI1(signed char,FLOAT*);
-WINOLEAUTAPI VarR4FromUI2(USHORT,FLOAT*);
-WINOLEAUTAPI VarR4FromUI4(ULONG,FLOAT*);
-WINOLEAUTAPI VarR4FromUI8(ULONG64,FLOAT*);
-WINOLEAUTAPI VarR4FromStr(OLECHAR*,LCID,ULONG,FLOAT*);
-WINOLEAUTAPI VarR4FromCy(CY,FLOAT*);
-WINOLEAUTAPI VarR4FromDec(DECIMAL*,FLOAT*);
-WINOLEAUTAPI VarR4FromDisp(IDispatch*,LCID,FLOAT*);
-
-WINOLEAUTAPI VarR8FromUI1(BYTE,double*);
-WINOLEAUTAPI VarR8FromI2(SHORT,double*);
-WINOLEAUTAPI VarR8FromI4(LONG,double*);
-WINOLEAUTAPI VarR8FromI8(LONG64,double*);
-WINOLEAUTAPI VarR8FromR4(FLOAT,double*);
-WINOLEAUTAPI VarR8FromDate(DATE,double*);
-WINOLEAUTAPI VarR8FromBool(VARIANT_BOOL,double*);
-WINOLEAUTAPI VarR8FromI1(signed char,double*);
-WINOLEAUTAPI VarR8FromUI2(USHORT,double*);
-WINOLEAUTAPI VarR8FromUI4(ULONG,double*);
-WINOLEAUTAPI VarR8FromUI8(ULONG64,double*);
-WINOLEAUTAPI VarR8FromStr(OLECHAR*,LCID,ULONG,double*);
-WINOLEAUTAPI VarR8FromCy(CY,double*);
-WINOLEAUTAPI VarR8FromDec(DECIMAL*,double*);
-WINOLEAUTAPI VarR8FromDisp(IDispatch*,LCID,double*);
-
-WINOLEAUTAPI VarDateFromUI1(BYTE,DATE*);
-WINOLEAUTAPI VarDateFromI2(SHORT,DATE*);
-WINOLEAUTAPI VarDateFromI4(LONG,DATE*);
-WINOLEAUTAPI VarDateFromI8(LONG64,DATE*);
-WINOLEAUTAPI VarDateFromR4(FLOAT,DATE*);
-WINOLEAUTAPI VarDateFromR8(DOUBLE,DATE*);
-WINOLEAUTAPI VarDateFromStr(OLECHAR*,LCID,ULONG,DATE*);
-WINOLEAUTAPI VarDateFromI1(signed char,DATE*);
-WINOLEAUTAPI VarDateFromUI2(USHORT,DATE*);
-WINOLEAUTAPI VarDateFromUI4(ULONG,DATE*);
-WINOLEAUTAPI VarDateFromUI8(ULONG64,DATE*);
-WINOLEAUTAPI VarDateFromBool(VARIANT_BOOL,DATE*);
-WINOLEAUTAPI VarDateFromCy(CY,DATE*);
-WINOLEAUTAPI VarDateFromDec(DECIMAL*,DATE*);
-WINOLEAUTAPI VarDateFromDisp(IDispatch*,LCID,DATE*);
-
-WINOLEAUTAPI VarCyFromUI1(BYTE,CY*);
-WINOLEAUTAPI VarCyFromI2(SHORT sIn,CY*);
-WINOLEAUTAPI VarCyFromI4(LONG,CY*);
-WINOLEAUTAPI VarCyFromI8(LONG64,CY*);
-WINOLEAUTAPI VarCyFromR4(FLOAT,CY*);
-WINOLEAUTAPI VarCyFromR8(DOUBLE,CY*);
-WINOLEAUTAPI VarCyFromDate(DATE,CY*);
-WINOLEAUTAPI VarCyFromStr(OLECHAR*,LCID,ULONG,CY*);
-WINOLEAUTAPI VarCyFromBool(VARIANT_BOOL,CY*);
-WINOLEAUTAPI VarCyFromI1(signed char,CY*);
-WINOLEAUTAPI VarCyFromUI2(USHORT,CY*);
-WINOLEAUTAPI VarCyFromUI4(ULONG,CY*);
-WINOLEAUTAPI VarCyFromUI8(ULONG64,CY*);
-WINOLEAUTAPI VarCyFromDec(DECIMAL*,CY*);
-WINOLEAUTAPI VarCyFromStr(OLECHAR*,LCID,ULONG,CY*);
-WINOLEAUTAPI VarCyFromDisp(IDispatch*,LCID,CY*);
-
-WINOLEAUTAPI VarBstrFromUI1(BYTE,LCID,ULONG,BSTR*);
-WINOLEAUTAPI VarBstrFromI2(SHORT,LCID,ULONG,BSTR*);
-WINOLEAUTAPI VarBstrFromI4(LONG,LCID,ULONG,BSTR*);
-WINOLEAUTAPI VarBstrFromI8(LONG64,LCID,ULONG,BSTR*);
-WINOLEAUTAPI VarBstrFromR4(FLOAT,LCID,ULONG,BSTR*);
-WINOLEAUTAPI VarBstrFromR8(DOUBLE,LCID,ULONG,BSTR*);
-WINOLEAUTAPI VarBstrFromDate(DATE,LCID,ULONG,BSTR*);
-WINOLEAUTAPI VarBstrFromBool(VARIANT_BOOL,LCID,ULONG,BSTR*);
-WINOLEAUTAPI VarBstrFromI1(signed char,LCID,ULONG,BSTR*);
-WINOLEAUTAPI VarBstrFromUI2(USHORT,LCID,ULONG,BSTR*);
-WINOLEAUTAPI VarBstrFromUI8(ULONG64,LCID,ULONG,BSTR*);
-WINOLEAUTAPI VarBstrFromUI4(ULONG,LCID,ULONG,BSTR*);
-WINOLEAUTAPI VarBstrFromCy(CY,LCID,ULONG,BSTR*);
-WINOLEAUTAPI VarBstrFromDec(DECIMAL*,LCID,ULONG,BSTR*);
-WINOLEAUTAPI VarBstrFromDisp(IDispatch*,LCID,ULONG,BSTR*);
-
-WINOLEAUTAPI VarBoolFromUI1(BYTE,VARIANT_BOOL*);
-WINOLEAUTAPI VarBoolFromI2(SHORT,VARIANT_BOOL*);
-WINOLEAUTAPI VarBoolFromI4(LONG,VARIANT_BOOL*);
-WINOLEAUTAPI VarBoolFromI8(LONG64,VARIANT_BOOL*);
-WINOLEAUTAPI VarBoolFromR4(FLOAT,VARIANT_BOOL*);
-WINOLEAUTAPI VarBoolFromR8(DOUBLE,VARIANT_BOOL*);
-WINOLEAUTAPI VarBoolFromDate(DATE,VARIANT_BOOL*);
-WINOLEAUTAPI VarBoolFromStr(OLECHAR*,LCID,ULONG,VARIANT_BOOL*);
-WINOLEAUTAPI VarBoolFromI1(signed char,VARIANT_BOOL*);
-WINOLEAUTAPI VarBoolFromUI2(USHORT,VARIANT_BOOL*);
-WINOLEAUTAPI VarBoolFromUI4(ULONG,VARIANT_BOOL*);
-WINOLEAUTAPI VarBoolFromUI8(ULONG64,VARIANT_BOOL*);
-WINOLEAUTAPI VarBoolFromCy(CY,VARIANT_BOOL*);
-WINOLEAUTAPI VarBoolFromDec(DECIMAL*,VARIANT_BOOL*);
-WINOLEAUTAPI VarBoolFromDisp(IDispatch*,LCID,VARIANT_BOOL*);
-
-WINOLEAUTAPI VarI1FromUI1(BYTE,signed char*);
-WINOLEAUTAPI VarI1FromI2(SHORT,signed char*);
-WINOLEAUTAPI VarI1FromI4(LONG,signed char*);
-WINOLEAUTAPI VarI1FromI8(LONG64,signed char*);
-WINOLEAUTAPI VarI1FromR4(FLOAT,signed char*);
-WINOLEAUTAPI VarI1FromR8(DOUBLE,signed char*);
-WINOLEAUTAPI VarI1FromDate(DATE,signed char*);
-WINOLEAUTAPI VarI1FromStr(OLECHAR*,LCID,ULONG,signed char*);
-WINOLEAUTAPI VarI1FromBool(VARIANT_BOOL,signed char*);
-WINOLEAUTAPI VarI1FromUI2(USHORT,signed char*);
-WINOLEAUTAPI VarI1FromUI4(ULONG,signed char*);
-WINOLEAUTAPI VarI1FromUI8(ULONG64,signed char*);
-WINOLEAUTAPI VarI1FromCy(CY,signed char*);
-WINOLEAUTAPI VarI1FromDec(DECIMAL*,signed char*);
-WINOLEAUTAPI VarI1FromDisp(IDispatch*,LCID,signed char*);
-
-WINOLEAUTAPI VarUI2FromUI1(BYTE,USHORT*);
-WINOLEAUTAPI VarUI2FromI2(SHORT,USHORT*);
-WINOLEAUTAPI VarUI2FromI4(LONG,USHORT*);
-WINOLEAUTAPI VarUI2FromI8(LONG64,USHORT*);
-WINOLEAUTAPI VarUI2FromR4(FLOAT,USHORT*);
-WINOLEAUTAPI VarUI2FromR8(DOUBLE,USHORT*);
-WINOLEAUTAPI VarUI2FromDate(DATE,USHORT*);
-WINOLEAUTAPI VarUI2FromStr(OLECHAR*,LCID,ULONG,USHORT*);
-WINOLEAUTAPI VarUI2FromBool(VARIANT_BOOL,USHORT*);
-WINOLEAUTAPI VarUI2FromI1(signed char,USHORT*);
-WINOLEAUTAPI VarUI2FromUI4(ULONG,USHORT*);
-WINOLEAUTAPI VarUI2FromUI8(ULONG64,USHORT*);
-WINOLEAUTAPI VarUI2FromCy(CY,USHORT*);
-WINOLEAUTAPI VarUI2FromDec(DECIMAL*,USHORT*);
-WINOLEAUTAPI VarUI2FromDisp(IDispatch*,LCID,USHORT*);
-
-WINOLEAUTAPI VarUI4FromStr(OLECHAR*,LCID,ULONG,ULONG*);
-WINOLEAUTAPI VarUI4FromUI1(BYTE,ULONG*);
-WINOLEAUTAPI VarUI4FromI2(SHORT,ULONG*);
-WINOLEAUTAPI VarUI4FromI4(LONG,ULONG*);
-WINOLEAUTAPI VarUI4FromI8(LONG64,ULONG*);
-WINOLEAUTAPI VarUI4FromR4(FLOAT,ULONG*);
-WINOLEAUTAPI VarUI4FromR8(DOUBLE,ULONG*);
-WINOLEAUTAPI VarUI4FromDate(DATE,ULONG*);
-WINOLEAUTAPI VarUI4FromBool(VARIANT_BOOL,ULONG*);
-WINOLEAUTAPI VarUI4FromI1(signed char,ULONG*);
-WINOLEAUTAPI VarUI4FromUI2(USHORT,ULONG*);
-WINOLEAUTAPI VarUI4FromUI8(ULONG64,ULONG*);
-WINOLEAUTAPI VarUI4FromCy(CY,ULONG*);
-WINOLEAUTAPI VarUI4FromDec(DECIMAL*,ULONG*);
-WINOLEAUTAPI VarUI4FromDisp(IDispatch*,LCID,ULONG*);
-
-WINOLEAUTAPI VarUI8FromUI1(BYTE,ULONG64*);
-WINOLEAUTAPI VarUI8FromI2(SHORT,ULONG64*);
-WINOLEAUTAPI VarUI8FromI4(LONG,ULONG64*);
-WINOLEAUTAPI VarUI8FromI8(LONG64,ULONG64*);
-WINOLEAUTAPI VarUI8FromR4(FLOAT,ULONG64*);
-WINOLEAUTAPI VarUI8FromR8(DOUBLE,ULONG64*);
-WINOLEAUTAPI VarUI8FromDate(DATE,ULONG64*);
-WINOLEAUTAPI VarUI8FromStr(OLECHAR*,LCID,ULONG,ULONG64*);
-WINOLEAUTAPI VarUI8FromBool(VARIANT_BOOL,ULONG64*);
-WINOLEAUTAPI VarUI8FromI1(signed char,ULONG64*);
-WINOLEAUTAPI VarUI8FromUI2(USHORT,ULONG64*);
-WINOLEAUTAPI VarUI8FromUI4(ULONG,ULONG64*);
-WINOLEAUTAPI VarUI8FromDec(DECIMAL*,ULONG64*);
-WINOLEAUTAPI VarUI8FromInt(INT,ULONG64*);
-WINOLEAUTAPI VarUI8FromCy(CY,ULONG64*);
-WINOLEAUTAPI VarUI8FromDisp(IDispatch*,LCID,ULONG64*);
-
-WINOLEAUTAPI VarDecFromUI1(BYTE,DECIMAL*);
-WINOLEAUTAPI VarDecFromI2(SHORT,DECIMAL*);
-WINOLEAUTAPI VarDecFromI4(LONG,DECIMAL*);
-WINOLEAUTAPI VarDecFromI8(LONG64,DECIMAL*);
-WINOLEAUTAPI VarDecFromR4(FLOAT,DECIMAL*);
-WINOLEAUTAPI VarDecFromR8(DOUBLE,DECIMAL*);
-WINOLEAUTAPI VarDecFromDate(DATE,DECIMAL*);
-WINOLEAUTAPI VarDecFromStr(OLECHAR*,LCID,ULONG,DECIMAL*);
-WINOLEAUTAPI VarDecFromBool(VARIANT_BOOL,DECIMAL*);
-WINOLEAUTAPI VarDecFromI1(signed char,DECIMAL*);
-WINOLEAUTAPI VarDecFromUI2(USHORT,DECIMAL*);
-WINOLEAUTAPI VarDecFromUI4(ULONG,DECIMAL*);
-WINOLEAUTAPI VarDecFromUI8(ULONG64,DECIMAL*);
-WINOLEAUTAPI VarDecFromCy(CY,DECIMAL*);
-WINOLEAUTAPI VarDecFromDisp(IDispatch*,LCID,DECIMAL*);
-
-WINOLEAUTAPI VarDecNeg(const DECIMAL*,DECIMAL*);
-WINOLEAUTAPI VarR4CmpR8(float,double);
-WINOLEAUTAPI VarR8Pow(double,double,double*);
-WINOLEAUTAPI VarR8Round(double,int,double*);
-WINOLEAUTAPI VarDecAbs(const DECIMAL*,DECIMAL*);
-WINOLEAUTAPI VarDecAdd(const DECIMAL*,const DECIMAL*,DECIMAL*);
-WINOLEAUTAPI VarDecCmp(const DECIMAL*,const DECIMAL*);
-WINOLEAUTAPI VarDecCmpR8(const DECIMAL*,DOUBLE);
-WINOLEAUTAPI VarDecDiv(const DECIMAL*,const DECIMAL*,DECIMAL*);
-WINOLEAUTAPI VarDecFix(const DECIMAL*,DECIMAL*);
-WINOLEAUTAPI VarDecInt(const DECIMAL*,DECIMAL*);
-WINOLEAUTAPI VarDecMul(const DECIMAL*,const DECIMAL*,DECIMAL*);
-WINOLEAUTAPI VarDecRound(const DECIMAL*,int,DECIMAL*);
-WINOLEAUTAPI VarDecSub(const DECIMAL*,const DECIMAL*,DECIMAL*);
-WINOLEAUTAPI VarCyAbs(const CY,CY*);
-WINOLEAUTAPI VarCyAdd(const CY,const CY,CY*);
-WINOLEAUTAPI VarCyCmp(const CY,const CY);
-WINOLEAUTAPI VarCyCmpR8(const CY,DOUBLE);
-WINOLEAUTAPI VarCyFix(const CY,CY*);
-WINOLEAUTAPI VarCyInt(const CY,CY*);
-WINOLEAUTAPI VarCyMul(const CY,CY,CY*);
-WINOLEAUTAPI VarCyMulI4(const CY,LONG,CY*);
-WINOLEAUTAPI VarCyMulI8(const CY,LONG64,CY*);
-WINOLEAUTAPI VarCyNeg(const CY,CY*);
-WINOLEAUTAPI VarCyRound(const CY,INT,CY*);
-WINOLEAUTAPI VarCySub(const CY,const CY,CY*);
-WINOLEAUTAPI VarAdd(LPVARIANT,LPVARIANT,LPVARIANT);
-WINOLEAUTAPI VarAnd(LPVARIANT,LPVARIANT,LPVARIANT);
-WINOLEAUTAPI VarCat(LPVARIANT,LPVARIANT,LPVARIANT);
-WINOLEAUTAPI VarDiv(LPVARIANT,LPVARIANT,LPVARIANT);
-WINOLEAUTAPI VarEqv(LPVARIANT,LPVARIANT,LPVARIANT);
-WINOLEAUTAPI VarIdiv(LPVARIANT,LPVARIANT,LPVARIANT);
-WINOLEAUTAPI VarImp(LPVARIANT,LPVARIANT,LPVARIANT);
-WINOLEAUTAPI VarMod(LPVARIANT,LPVARIANT,LPVARIANT);
-WINOLEAUTAPI VarMul(LPVARIANT,LPVARIANT,LPVARIANT);
-WINOLEAUTAPI VarOr(LPVARIANT,LPVARIANT,LPVARIANT);
-WINOLEAUTAPI VarPow(LPVARIANT,LPVARIANT,LPVARIANT);
-WINOLEAUTAPI VarSub(LPVARIANT,LPVARIANT,LPVARIANT);
-WINOLEAUTAPI VarXor(LPVARIANT,LPVARIANT,LPVARIANT);
-WINOLEAUTAPI VarAbs(LPVARIANT,LPVARIANT);
-WINOLEAUTAPI VarFix(LPVARIANT,LPVARIANT);
-WINOLEAUTAPI VarInt(LPVARIANT,LPVARIANT);
-WINOLEAUTAPI VarNeg(LPVARIANT,LPVARIANT);
-WINOLEAUTAPI VarNot(LPVARIANT,LPVARIANT);
-WINOLEAUTAPI VarRound(LPVARIANT,int,LPVARIANT);
-WINOLEAUTAPI VarCmp(LPVARIANT,LPVARIANT,LCID,ULONG);
-WINOLEAUTAPI VarBstrCmp(BSTR,BSTR,LCID,ULONG);
-WINOLEAUTAPI VarBstrCat(BSTR,BSTR,BSTR*);
-
-#pragma pack(pop)
-
-#endif
diff --git a/winsup/w32api/include/olectl.h b/winsup/w32api/include/olectl.h
deleted file mode 100644
index f0b86bc32..000000000
--- a/winsup/w32api/include/olectl.h
+++ /dev/null
@@ -1,323 +0,0 @@
-#ifndef _OLECTL_H
-#define _OLECTL_H
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <ocidl.h>
-#include <olectlid.h>
-
-#define STD_CTL_SCODE(n) MAKE_SCODE(SEVERITY_ERROR,FACILITY_CONTROL,n)
-#define CTL_E_ILLEGALFUNCTIONCALL STD_CTL_SCODE(5)
-#define CTL_E_OVERFLOW STD_CTL_SCODE(6)
-#define CTL_E_OUTOFMEMORY STD_CTL_SCODE(7)
-#define CTL_E_DIVISIONBYZERO STD_CTL_SCODE(11)
-#define CTL_E_OUTOFSTRINGSPACE STD_CTL_SCODE(14)
-#define CTL_E_OUTOFSTACKSPACE STD_CTL_SCODE(28)
-#define CTL_E_BADFILENAMEORNUMBER STD_CTL_SCODE(52)
-#define CTL_E_FILENOTFOUND STD_CTL_SCODE(53)
-#define CTL_E_BADFILEMODE STD_CTL_SCODE(54)
-#define CTL_E_FILEALREADYOPEN STD_CTL_SCODE(55)
-#define CTL_E_DEVICEIOERROR STD_CTL_SCODE(57)
-#define CTL_E_FILEALREADYEXISTS STD_CTL_SCODE(58)
-#define CTL_E_BADRECORDLENGTH STD_CTL_SCODE(59)
-#define CTL_E_DISKFULL STD_CTL_SCODE(61)
-#define CTL_E_BADRECORDNUMBER STD_CTL_SCODE(63)
-#define CTL_E_BADFILENAME STD_CTL_SCODE(64)
-#define CTL_E_TOOMANYFILES STD_CTL_SCODE(67)
-#define CTL_E_DEVICEUNAVAILABLE STD_CTL_SCODE(68)
-#define CTL_E_PERMISSIONDENIED STD_CTL_SCODE(70)
-#define CTL_E_DISKNOTREADY STD_CTL_SCODE(71)
-#define CTL_E_PATHFILEACCESSERROR STD_CTL_SCODE(75)
-#define CTL_E_PATHNOTFOUND STD_CTL_SCODE(76)
-#define CTL_E_INVALIDPATTERNSTRING STD_CTL_SCODE(93)
-#define CTL_E_INVALIDUSEOFNULL STD_CTL_SCODE(94)
-#define CTL_E_INVALIDFILEFORMAT STD_CTL_SCODE(321)
-#define CTL_E_INVALIDPROPERTYVALUE STD_CTL_SCODE(380)
-#define CTL_E_INVALIDPROPERTYARRAYINDEX STD_CTL_SCODE(381)
-#define CTL_E_SETNOTSUPPORTEDATRUNTIME STD_CTL_SCODE(382)
-#define CTL_E_SETNOTSUPPORTED STD_CTL_SCODE(383)
-#define CTL_E_NEEDPROPERTYARRAYINDEX STD_CTL_SCODE(385)
-#define CTL_E_SETNOTPERMITTED STD_CTL_SCODE(387)
-#define CTL_E_GETNOTSUPPORTEDATRUNTIME STD_CTL_SCODE(393)
-#define CTL_E_GETNOTSUPPORTED STD_CTL_SCODE(394)
-#define CTL_E_PROPERTYNOTFOUND STD_CTL_SCODE(422)
-#define CTL_E_INVALIDCLIPBOARDFORMAT STD_CTL_SCODE(460)
-#define CTL_E_INVALIDPICTURE STD_CTL_SCODE(481)
-#define CTL_E_PRINTERERROR STD_CTL_SCODE(482)
-#define CTL_E_CANTSAVEFILETOTEMP STD_CTL_SCODE(735)
-#define CTL_E_SEARCHTEXTNOTFOUND STD_CTL_SCODE(744)
-#define CTL_E_REPLACEMENTSTOOLONG STD_CTL_SCODE(746)
-#define CUSTOM_CTL_SCODE(n) MAKE_SCODE(SEVERITY_ERROR,FACILITY_CONTROL,n)
-#define CTL_E_CUSTOM_FIRST CUSTOM_CTL_SCODE(600)
-#define CLASS_E_NOTLICENSED (CLASSFACTORY_E_FIRST+2)
-#define CONNECT_E_FIRST MAKE_SCODE(SEVERITY_ERROR,FACILITY_ITF,0x200)
-#define CONNECT_E_LAST MAKE_SCODE(SEVERITY_ERROR,FACILITY_ITF,0x20F)
-#define CONNECT_S_FIRST MAKE_SCODE(SEVERITY_SUCCESS,FACILITY_ITF,0x200)
-#define CONNECT_S_LAST MAKE_SCODE(SEVERITY_SUCCESS,FACILITY_ITF,0x20F)
-#define CONNECT_E_NOCONNECTION (CONNECT_E_FIRST+0)
-#define CONNECT_E_ADVISELIMIT (CONNECT_E_FIRST+1)
-#define CONNECT_E_CANNOTCONNECT (CONNECT_E_FIRST+2)
-#define CONNECT_E_OVERRIDDEN (CONNECT_E_FIRST+3)
-#define SELFREG_E_FIRST MAKE_SCODE(SEVERITY_ERROR,FACILITY_ITF,0x200)
-#define SELFREG_E_LAST MAKE_SCODE(SEVERITY_ERROR,FACILITY_ITF,0x20F)
-#define SELFREG_S_FIRST MAKE_SCODE(SEVERITY_SUCCESS,FACILITY_ITF,0x200)
-#define SELFREG_S_LAST MAKE_SCODE(SEVERITY_SUCCESS,FACILITY_ITF,0x20F)
-#define SELFREG_E_TYPELIB (SELFREG_E_FIRST+0)
-#define SELFREG_E_CLASS (SELFREG_E_FIRST+1)
-#define PERPROP_E_FIRST MAKE_SCODE(SEVERITY_ERROR,FACILITY_ITF,0x200)
-#define PERPROP_E_LAST MAKE_SCODE(SEVERITY_ERROR,FACILITY_ITF,0x20F)
-#define PERPROP_S_FIRST MAKE_SCODE(SEVERITY_SUCCESS,FACILITY_ITF,0x200)
-#define PERPROP_S_LAST MAKE_SCODE(SEVERITY_SUCCESS,FACILITY_ITF,0x20F)
-#define PERPROP_E_NOPAGEAVAILABLE PERPROP_E_FIRST
-#define OLEMISC_RECOMPOSEONRESIZE 0x1
-#define OLEMISC_ONLYICONIC 0x2
-#define OLEMISC_INSERTNOTREPLACE 0x4
-#define OLEMISC_STATIC 0x8
-#define OLEMISC_CANTLINKINSIDE 0x10
-#define OLEMISC_CANLINKBYOLE1 0x20
-#define OLEMISC_ISLINKOBJECT 0x40
-#define OLEMISC_INSIDEOUT 0x80
-#define OLEMISC_ACTIVATEWHENVISIBLE 0x100
-#define OLEMISC_RENDERINGISDEVICEINDEPENDENT 0x200
-#define OLEMISC_INVISIBLEATRUNTIME 0x400
-#define OLEMISC_ALWAYSRUN 0x800
-#define OLEMISC_ACTSLIKEBUTTON 0x1000
-#define OLEMISC_ACTSLIKELABEL 0x2000
-#define OLEMISC_NOUIACTIVATE 0x4000
-#define OLEMISC_ALIGNABLE 0x8000
-#define OLEMISC_SIMPLEFRAME 0x10000
-#define OLEMISC_SETCLIENTSITEFIRST 0x20000
-#define OLEMISC_IMEMODE 0x40000
-#define OLEMISC_IGNOREACTIVATEWHENVISIBLE 0x80000
-#define OLEMISC_WANTSTOMENUMERGE 0x100000
-#define OLEMISC_SUPPORTSMULTILEVELUNDO 0x200000
-#define OLEIVERB_PROPERTIES (-7)
-#define VT_STREAMED_PROPSET 73
-#define VT_STORED_PROPSET 74
-#define VT_BLOB_PROPSET 75
-#define VT_VERBOSE_ENUM 76
-#define VT_COLOR VT_I4
-#define VT_XPOS_PIXELS VT_I4
-#define VT_YPOS_PIXELS VT_I4
-#define VT_XSIZE_PIXELS VT_I4
-#define VT_YSIZE_PIXELS VT_I4
-#define VT_XPOS_HIMETRIC VT_I4
-#define VT_YPOS_HIMETRIC VT_I4
-#define VT_XSIZE_HIMETRIC VT_I4
-#define VT_YSIZE_HIMETRIC VT_I4
-#define VT_TRISTATE VT_I2
-#define VT_OPTEXCLUSIVE VT_BOOL
-#define VT_FONT VT_DISPATCH
-#define VT_PICTURE VT_DISPATCH
-#define VT_HANDLE VT_I4
-#define OCM__BASE (WM_USER+0x1c00)
-#define OCM_COMMAND (OCM__BASE+WM_COMMAND)
-#define OCM_CTLCOLORBTN (OCM__BASE+WM_CTLCOLORBTN)
-#define OCM_CTLCOLOREDIT (OCM__BASE+WM_CTLCOLOREDIT)
-#define OCM_CTLCOLORDLG (OCM__BASE+WM_CTLCOLORDLG)
-#define OCM_CTLCOLORLISTBOX (OCM__BASE+WM_CTLCOLORLISTBOX)
-#define OCM_CTLCOLORMSGBOX (OCM__BASE+WM_CTLCOLORMSGBOX)
-#define OCM_CTLCOLORSCROLLBAR (OCM__BASE+WM_CTLCOLORSCROLLBAR)
-#define OCM_CTLCOLORSTATIC (OCM__BASE+WM_CTLCOLORSTATIC)
-#define OCM_DRAWITEM (OCM__BASE+WM_DRAWITEM)
-#define OCM_MEASUREITEM (OCM__BASE+WM_MEASUREITEM)
-#define OCM_DELETEITEM (OCM__BASE+WM_DELETEITEM)
-#define OCM_VKEYTOITEM (OCM__BASE+WM_VKEYTOITEM)
-#define OCM_CHARTOITEM (OCM__BASE+WM_CHARTOITEM)
-#define OCM_COMPAREITEM (OCM__BASE+WM_COMPAREITEM)
-#define OCM_HSCROLL (OCM__BASE+WM_HSCROLL)
-#define OCM_VSCROLL (OCM__BASE+WM_VSCROLL)
-#define OCM_PARENTNOTIFY (OCM__BASE+WM_PARENTNOTIFY)
-#define OCM_NOTIFY (OCM__BASE+WM_NOTIFY)
-#define CTRLINFO_EATS_RETURN 1
-#define CTRLINFO_EATS_ESCAPE 2
-#define XFORMCOORDS_POSITION 1
-#define XFORMCOORDS_SIZE 2
-#define XFORMCOORDS_HIMETRICTOCONTAINER 4
-#define XFORMCOORDS_CONTAINERTOHIMETRIC 8
-#define GUIDKIND_DEFAULT_SOURCE_DISP_IID 1
-#define PROPPAGESTATUS_DIRTY 1
-#define PROPPAGESTATUS_VALIDATE 2
-#define FONTSIZE(n) {n##0000,0}
-#define PICTURE_SCALABLE 1
-#define PICTURE_TRANSPARENT 2
-#define PICTYPE_UNINITIALIZED (-1)
-#define PICTYPE_NONE 0
-#define PICTYPE_BITMAP 1
-#define PICTYPE_METAFILE 2
-#define PICTYPE_ICON 3
-#define PICTYPE_ENHMETAFILE 4
-#define DISPID_AUTOSIZE (-500)
-#define DISPID_BACKCOLOR (-501)
-#define DISPID_BACKSTYLE (-502)
-#define DISPID_BORDERCOLOR (-503)
-#define DISPID_BORDERSTYLE (-504)
-#define DISPID_BORDERWIDTH (-505)
-#define DISPID_DRAWMODE (-507)
-#define DISPID_DRAWSTYLE (-508)
-#define DISPID_DRAWWIDTH (-509)
-#define DISPID_FILLCOLOR (-510)
-#define DISPID_FILLSTYLE (-511)
-#define DISPID_FONT (-512)
-#define DISPID_FORECOLOR (-513)
-#define DISPID_ENABLED (-514)
-#define DISPID_HWND (-515)
-#define DISPID_TABSTOP (-516)
-#define DISPID_TEXT (-517)
-#define DISPID_CAPTION (-518)
-#define DISPID_BORDERVISIBLE (-519)
-#define DISPID_APPEARANCE (-520)
-#define DISPID_MOUSEPOINTER (-521)
-#define DISPID_MOUSEICON (-522)
-#define DISPID_PICTURE (-523)
-#define DISPID_VALID (-524)
-#define DISPID_REFRESH (-550)
-#define DISPID_DOCLICK (-551)
-#define DISPID_ABOUTBOX (-552)
-#define DISPID_CLICK (-600)
-#define DISPID_DBLCLICK (-601)
-#define DISPID_KEYDOWN (-602)
-#define DISPID_KEYPRESS (-603)
-#define DISPID_KEYUP (-604)
-#define DISPID_MOUSEDOWN (-605)
-#define DISPID_MOUSEMOVE (-606)
-#define DISPID_MOUSEUP (-607)
-#define DISPID_ERROREVENT (-608)
-#define DISPID_AMBIENT_BACKCOLOR (-701)
-#define DISPID_AMBIENT_DISPLAYNAME (-702)
-#define DISPID_AMBIENT_FONT (-703)
-#define DISPID_AMBIENT_FORECOLOR (-704)
-#define DISPID_AMBIENT_LOCALEID (-705)
-#define DISPID_AMBIENT_MESSAGEREFLECT (-706)
-#define DISPID_AMBIENT_SCALEUNITS (-707)
-#define DISPID_AMBIENT_TEXTALIGN (-708)
-#define DISPID_AMBIENT_USERMODE (-709)
-#define DISPID_AMBIENT_UIDEAD (-710)
-#define DISPID_AMBIENT_SHOWGRABHANDLES (-711)
-#define DISPID_AMBIENT_SHOWHATCHING (-712)
-#define DISPID_AMBIENT_DISPLAYASDEFAULT (-713)
-#define DISPID_AMBIENT_SUPPORTSMNEMONICS (-714)
-#define DISPID_AMBIENT_AUTOCLIP (-715)
-#define DISPID_AMBIENT_APPEARANCE (-716)
-#define DISPID_AMBIENT_CODEPAGE (-725)
-#define DISPID_AMBIENT_PALETTE (-726)
-#define DISPID_AMBIENT_CHARSET (-727)
-#define DISPID_AMBIENT_RIGHTTOLEFT (-732)
-#define DISPID_AMBIENT_TOPTOBOTTOM (-733)
-
-#define DISPID_FONT_NAME 0
-#define DISPID_FONT_SIZE 2
-#define DISPID_FONT_BOLD 3
-#define DISPID_FONT_ITALIC 4
-#define DISPID_FONT_UNDER 5
-#define DISPID_FONT_STRIKE 6
-#define DISPID_FONT_WEIGHT 7
-#define DISPID_FONT_CHARSET 8
-#define DISPID_PICT_HANDLE 0
-#define DISPID_PICT_HPAL 2
-#define DISPID_PICT_TYPE 3
-#define DISPID_PICT_WIDTH 4
-#define DISPID_PICT_HEIGHT 5
-#define DISPID_PICT_RENDER 6
-
-typedef interface IOleControl *LPOLECONTROL;
-typedef interface IOleControlSite *LPOLECONTROLSITE;
-typedef interface ISimpleFrameSite *LPSIMPLEFRAMESITE;
-typedef interface IPersistPropertyBag *LPPERSISTPROPERTYBAG;
-typedef interface IPersistStreamInit *LPPERSISTSTREAMINIT;
-typedef interface IPersistMemory *LPPERSISTMEMORY;
-typedef interface IPropertyNotifySink* LPPROPERTYNOTIFYSINK;
-typedef interface IProvideClassInfo *LPPROVIDECLASSINFO;
-typedef interface IProvideClassInfo2 *LPPROVIDECLASSINFO2;
-typedef interface IConnectionPointContainer *LPCONNECTIONPOINTCONTAINER;
-typedef interface IClassFactory2 *LPCLASSFACTORY2;
-typedef interface ISpecifyPropertyPages *LPSPECIFYPROPERTYPAGES;
-typedef interface IPerPropertyBrowsing *LPPERPROPERTYBROWSING;
-typedef interface IPropertyPage *LPPROPERTYPAGE;
-typedef interface IPropertyPage2 *LPPROPERTYPAGE2;
-
-typedef interface IPicture *LPPICTURE;
-typedef interface IPictureDisp *LPPICTUREDISP;
-typedef long OLE_XPOS_PIXELS;
-typedef long OLE_YPOS_PIXELS;
-typedef long OLE_XSIZE_PIXELS;
-typedef long OLE_YSIZE_PIXELS;
-typedef float OLE_XPOS_CONTAINER;
-typedef float OLE_YPOS_CONTAINER;
-typedef float OLE_XSIZE_CONTAINER;
-
-typedef VARIANT_BOOL OLE_OPTEXCLUSIVE;
-typedef VARIANT_BOOL OLE_CANCELBOOL;
-typedef VARIANT_BOOL OLE_ENABLEDEFAULTBOOL;
-
-#pragma pack(push,8)
-typedef enum { triUnchecked,triChecked1,triGray } OLE_TRISTATE;
-typedef struct tagOCPFIPARAMS {
- ULONG cbStructSize;
- HWND hWndOwner;
- int x;
- int y;
- LPCOLESTR lpszCaption;
- ULONG cObjects;
- LPUNKNOWN *lplpUnk;
- ULONG cPages;
- CLSID *lpPages;
- LCID lcid;
- DISPID dispidInitialProperty;
-} OCPFIPARAMS,*LPOCPFIPARAMS;
-typedef struct tagFONTDESC {
- UINT cbSizeofstruct;
- LPOLESTR lpstrName;
- CY cySize;
- SHORT sWeight;
- SHORT sCharset;
- BOOL fItalic;
- BOOL fUnderline;
- BOOL fStrikethrough;
-} FONTDESC,*LPFONTDESC;
-typedef struct tagPICTDESC {
- UINT cbSizeofstruct;
- UINT picType;
- _ANONYMOUS_UNION union {
- struct {
- HBITMAP hbitmap;
- HPALETTE hpal;
- } bmp;
- struct {
- HMETAFILE hmeta;
- int xExt;
- int yExt;
- } wmf;
- struct {
- HICON hicon;
- } icon;
- struct {
- HENHMETAFILE hemf;
- } emf;
- } DUMMYUNIONNAME;
-} PICTDESC,*LPPICTDESC;
-#pragma pack(pop)
-
-STDAPI DllRegisterServer(void);
-STDAPI DllUnregisterServer(void);
-STDAPI OleCreateFontIndirect(LPFONTDESC,REFIID,PVOID*);
-STDAPI OleCreatePictureIndirect(LPPICTDESC,REFIID,BOOL,PVOID*);
-STDAPI OleCreatePropertyFrame(HWND,UINT,UINT,LPCOLESTR,ULONG,LPUNKNOWN*,ULONG,LPCLSID,LCID,DWORD,PVOID);
-STDAPI OleCreatePropertyFrameIndirect(LPOCPFIPARAMS);
-STDAPI_(HCURSOR) OleIconToCursor(HINSTANCE,HICON);
-STDAPI OleLoadPicture(LPSTREAM,LONG,BOOL,REFIID,PVOID*);
-STDAPI OleLoadPictureEx(LPSTREAM,LONG,BOOL,REFIID,DWORD,DWORD,DWORD,LPVOID*);
-STDAPI OleLoadPicturePath(LPOLESTR,LPUNKNOWN,DWORD,OLE_COLOR,REFIID,LPVOID*);
-STDAPI OleLoadPictureFile(VARIANT,LPDISPATCH*);
-STDAPI OleLoadPictureFileEx(VARIANT,DWORD,DWORD,DWORD,LPDISPATCH*);
-STDAPI OleSavePictureFile(LPDISPATCH,BSTR);
-STDAPI OleTranslateColor(OLE_COLOR,HPALETTE,COLORREF*);
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/winsup/w32api/include/olectlid.h b/winsup/w32api/include/olectlid.h
deleted file mode 100644
index 73e935cca..000000000
--- a/winsup/w32api/include/olectlid.h
+++ /dev/null
@@ -1,114 +0,0 @@
-#ifndef _OLECTLID_H
-#define _OLECTLID_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-extern const GUID IID_IDispatch;
-extern const GUID IID_IPropertyNotifySink;
-extern const GUID IID_IClassFactory2;
-extern const GUID IID_IProvideClassInfo;
-extern const GUID IID_IProvideClassInfo2;
-extern const GUID IID_IConnectionPointContainer;
-extern const GUID IID_IEnumConnectionPoints;
-extern const GUID IID_IConnectionPoint;
-extern const GUID IID_IEnumConnections;
-extern const GUID IID_IOleControl;
-extern const GUID IID_IOleControlSite;
-extern const GUID IID_ISimpleFrameSite;
-extern const GUID IID_IPersistStreamInit;
-extern const GUID IID_IPersistMemory;
-extern const GUID IID_IPersistPropertyBag;
-extern const GUID IID_IPropertyBag;
-extern const GUID IID_IErrorLog;
-extern const GUID IID_IPropertyFrame;
-extern const GUID IID_ISpecifyPropertyPages;
-extern const GUID IID_IPerPropertyBrowsing;
-extern const GUID IID_IPropertyPageSite;
-extern const GUID IID_IPropertyPage;
-extern const GUID IID_IPropertyPage2;
-extern const GUID CLSID_CFontPropPage;
-extern const GUID CLSID_CColorPropPage;
-extern const GUID CLSID_CPicturePropPage;
-extern const GUID CLSID_PersistPropset;
-extern const GUID CLSID_ConvertVBX;
-extern const GUID CLSID_StdFont;
-extern const GUID CLSID_StdPicture;
-extern const GUID IID_IFont;
-extern const GUID IID_IFontDisp;
-extern const GUID IID_IPicture;
-extern const GUID IID_IPictureDisp;
-extern const GUID GUID_HIMETRIC;
-extern const GUID GUID_COLOR;
-extern const GUID GUID_XPOSPIXEL;
-extern const GUID GUID_YPOSPIXEL;
-extern const GUID GUID_XSIZEPIXEL;
-extern const GUID GUID_YSIZEPIXEL;
-extern const GUID GUID_XPOS;
-extern const GUID GUID_YPOS;
-extern const GUID GUID_XSIZE;
-extern const GUID GUID_YSIZE;
-extern const GUID GUID_TRISTATE;
-extern const GUID GUID_OPTIONVALUEEXCLUSIVE;
-extern const GUID GUID_CHECKVALUEEXCLUSIVE;
-extern const GUID GUID_FONTNAME;
-extern const GUID GUID_FONTSIZE;
-extern const GUID GUID_FONTBOLD;
-extern const GUID GUID_FONTITALIC;
-extern const GUID GUID_FONTUNDERSCORE;
-extern const GUID GUID_FONTSTRIKETHROUGH;
-extern const GUID GUID_HANDLE;
-extern const GUID IID_IEnumUnknown;
-extern const GUID IID_IEnumString;
-extern const GUID IID_IEnumMoniker;
-extern const GUID IID_IEnumFORMATETC;
-extern const GUID IID_IEnumOLEVERB;
-extern const GUID IID_IEnumSTATDATA;
-extern const GUID IID_IEnumSTATSTG;
-extern const GUID IID_IEnumGeneric;
-extern const GUID IID_IEnumHolder;
-extern const GUID IID_IEnumCallback;
-extern const GUID IID_IPersistStream;
-extern const GUID IID_IPersistStorage;
-extern const GUID IID_IPersistFile;
-extern const GUID IID_IPersist;
-extern const GUID IID_IViewObject;
-extern const GUID IID_IDataObject;
-extern const GUID IID_IAdviseSink;
-extern const GUID IID_IDataAdviseHolder;
-extern const GUID IID_IOleAdviseHolder;
-extern const GUID IID_IOleObject;
-extern const GUID IID_IOleInPlaceObject;
-extern const GUID IID_IOleWindow;
-extern const GUID IID_IOleInPlaceUIWindow;
-extern const GUID IID_IOleInPlaceFrame;
-extern const GUID IID_IOleInPlaceActiveObject;
-extern const GUID IID_IOleClientSite;
-extern const GUID IID_IOleInPlaceSite;
-extern const GUID IID_IParseDisplayName;
-extern const GUID IID_IOleContainer;
-extern const GUID IID_IOleItemContainer;
-extern const GUID IID_IOleLink;
-extern const GUID IID_IOleCache;
-extern const GUID IID_IOleManager;
-extern const GUID IID_IOlePresObj;
-extern const GUID IID_IDropSource;
-extern const GUID IID_IDropTarget;
-extern const GUID IID_IDebug;
-extern const GUID IID_IDebugStream;
-extern const GUID IID_IAdviseSink2;
-extern const GUID IID_IRunnableObject;
-extern const GUID IID_IViewObject2;
-extern const GUID IID_IOleCache2;
-extern const GUID IID_IOleCacheControl;
-extern const GUID CLSID_Picture_Metafile;
-extern const GUID CLSID_Picture_Dib;
-
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/winsup/w32api/include/oledlg.h b/winsup/w32api/include/oledlg.h
deleted file mode 100644
index 11dd88b9f..000000000
--- a/winsup/w32api/include/oledlg.h
+++ /dev/null
@@ -1,935 +0,0 @@
-#ifndef _OLEDLG_H
-#define _OLEDLG_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-#include <windows.h>
-#include <shellapi.h>
-#include <commdlg.h>
-#include <ole2.h>
-#include <string.h>
-/* #include <tchar.h> */
-#include <dlgs.h>
-#include <prsht.h>
-#define PS_MAXLINKTYPES 8
-#define OLESTDDELIM TEXT("\\")
-#define SZOLEUI_MSG_HELP TEXT("OLEUI_MSG_HELP")
-#define SZOLEUI_MSG_ENDDIALOG TEXT("OLEUI_MSG_ENDDIALOG")
-#define SZOLEUI_MSG_BROWSE TEXT("OLEUI_MSG_BROWSE")
-#define SZOLEUI_MSG_CHANGEICON TEXT("OLEUI_MSG_CHANGEICON")
-#define SZOLEUI_MSG_CLOSEBUSYDIALOG TEXT("OLEUI_MSG_CLOSEBUSYDIALOG")
-#define SZOLEUI_MSG_CONVERT TEXT("OLEUI_MSG_CONVERT")
-#define SZOLEUI_MSG_CHANGESOURCE TEXT("OLEUI_MSG_CHANGESOURCE")
-#define SZOLEUI_MSG_ADDCONTROL TEXT("OLEUI_MSG_ADDCONTROL")
-#define SZOLEUI_MSG_BROWSE_OFN TEXT("OLEUI_MSG_BROWSE_OFN")
-#define PROP_HWND_CHGICONDLG TEXT("HWND_CIDLG")
-#define IDC_OLEUIHELP 99
-#define IDC_IO_CREATENEW 2100
-#define IDC_IO_CREATEFROMFILE 2101
-#define IDC_IO_LINKFILE 2102
-#define IDC_IO_OBJECTTYPELIST 2103
-#define IDC_IO_DISPLAYASICON 2104
-#define IDC_IO_CHANGEICON 2105
-#define IDC_IO_FILE 2106
-#define IDC_IO_FILEDISPLAY 2107
-#define IDC_IO_RESULTIMAGE 2108
-#define IDC_IO_RESULTTEXT 2109
-#define IDC_IO_ICONDISPLAY 2110
-#define IDC_IO_OBJECTTYPETEXT 2111
-#define IDC_IO_FILETEXT 2112
-#define IDC_IO_FILETYPE 2113
-#define IDC_IO_INSERTCONTROL 2114
-#define IDC_IO_ADDCONTROL 2115
-#define IDC_IO_CONTROLTYPELIST 2116
-#define IDC_PS_PASTE 500
-#define IDC_PS_PASTELINK 501
-#define IDC_PS_SOURCETEXT 502
-#define IDC_PS_PASTELIST 503
-#define IDC_PS_PASTELINKLIST 504
-#define IDC_PS_DISPLAYLIST 505
-#define IDC_PS_DISPLAYASICON 506
-#define IDC_PS_ICONDISPLAY 507
-#define IDC_PS_CHANGEICON 508
-#define IDC_PS_RESULTIMAGE 509
-#define IDC_PS_RESULTTEXT 510
-#define IDC_CI_GROUP 120
-#define IDC_CI_CURRENT 121
-#define IDC_CI_CURRENTICON 122
-#define IDC_CI_DEFAULT 123
-#define IDC_CI_DEFAULTICON 124
-#define IDC_CI_FROMFILE 125
-#define IDC_CI_FROMFILEEDIT 126
-#define IDC_CI_ICONLIST 127
-#define IDC_CI_LABEL 128
-#define IDC_CI_LABELEDIT 129
-#define IDC_CI_BROWSE 130
-#define IDC_CI_ICONDISPLAY 131
-#define IDC_CV_OBJECTTYPE 150
-#define IDC_CV_DISPLAYASICON 152
-#define IDC_CV_CHANGEICON 153
-#define IDC_CV_ACTIVATELIST 154
-#define IDC_CV_CONVERTTO 155
-#define IDC_CV_ACTIVATEAS 156
-#define IDC_CV_RESULTTEXT 157
-#define IDC_CV_CONVERTLIST 158
-#define IDC_CV_ICONDISPLAY 165
-#define IDC_EL_CHANGESOURCE 201
-#define IDC_EL_AUTOMATIC 202
-#define IDC_EL_CANCELLINK 209
-#define IDC_EL_UPDATENOW 210
-#define IDC_EL_OPENSOURCE 211
-#define IDC_EL_MANUAL 212
-#define IDC_EL_LINKSOURCE 216
-#define IDC_EL_LINKTYPE 217
-#define IDC_EL_LINKSLISTBOX 206
-#define IDC_EL_COL1 220
-#define IDC_EL_COL2 221
-#define IDC_EL_COL3 222
-#define IDC_BZ_RETRY 600
-#define IDC_BZ_ICON 601
-#define IDC_BZ_MESSAGE1 602
-#define IDC_BZ_SWITCHTO 604
-#define IDC_UL_METER 1029
-#define IDC_UL_STOP 1030
-#define IDC_UL_PERCENT 1031
-#define IDC_UL_PROGRESS 1032
-#define IDC_PU_LINKS 900
-#define IDC_PU_TEXT 901
-#define IDC_PU_CONVERT 902
-#define IDC_PU_ICON 908
-#define IDC_GP_OBJECTNAME 1009
-#define IDC_GP_OBJECTTYPE 1010
-#define IDC_GP_OBJECTSIZE 1011
-#define IDC_GP_CONVERT 1013
-#define IDC_GP_OBJECTICON 1014
-#define IDC_GP_OBJECTLOCATION 1022
-#define IDC_VP_PERCENT 1000
-#define IDC_VP_CHANGEICON 1001
-#define IDC_VP_EDITABLE 1002
-#define IDC_VP_ASICON 1003
-#define IDC_VP_RELATIVE 1005
-#define IDC_VP_SPIN 1006
-#define IDC_VP_SCALETXT 1034
-#define IDC_VP_ICONDISPLAY 1021
-#define IDC_VP_RESULTIMAGE 1033
-#define IDC_LP_OPENSOURCE 1006
-#define IDC_LP_UPDATENOW 1007
-#define IDC_LP_BREAKLINK 1008
-#define IDC_LP_LINKSOURCE 1012
-#define IDC_LP_CHANGESOURCE 1015
-#define IDC_LP_AUTOMATIC 1016
-#define IDC_LP_MANUAL 1017
-#define IDC_LP_DATE 1018
-#define IDC_LP_TIME 1019
-#define IDD_INSERTOBJECT 1000
-#define IDD_CHANGEICON 1001
-#define IDD_CONVERT 1002
-#define IDD_PASTESPECIAL 1003
-#define IDD_EDITLINKS 1004
-#define IDD_BUSY 1006
-#define IDD_UPDATELINKS 1007
-#define IDD_CHANGESOURCE 1009
-#define IDD_INSERTFILEBROWSE 1010
-#define IDD_CHANGEICONBROWSE 1011
-#define IDD_CONVERTONLY 1012
-#define IDD_CHANGESOURCE4 1013
-#define IDD_GNRLPROPS 1100
-#define IDD_VIEWPROPS 1101
-#define IDD_LINKPROPS 1102
-#define IDD_CANNOTUPDATELINK 1008
-#define IDD_LINKSOURCEUNAVAILABLE 1020
-#define IDD_SERVERNOTFOUND 1023
-#define IDD_OUTOFMEMORY 1024
-#define IDD_SERVERNOTREGW 1021
-#define IDD_LINKTYPECHANGEDW 1022
-#define IDD_SERVERNOTREGA 1025
-#define IDD_LINKTYPECHANGEDA 1026
-#define ID_BROWSE_CHANGEICON 1
-#define ID_BROWSE_INSERTFILE 2
-#define ID_BROWSE_ADDCONTROL 3
-#define ID_BROWSE_CHANGESOURCE 4
-#define OLEUI_FALSE 0
-#define OLEUI_SUCCESS 1
-#define OLEUI_OK 1
-#define OLEUI_CANCEL 2
-#define OLEUI_ERR_STANDARDMIN 100
-#define OLEUI_ERR_STRUCTURENULL 101
-#define OLEUI_ERR_STRUCTUREINVALID 102
-#define OLEUI_ERR_CBSTRUCTINCORRECT 103
-#define OLEUI_ERR_HWNDOWNERINVALID 104
-#define OLEUI_ERR_LPSZCAPTIONINVALID 105
-#define OLEUI_ERR_LPFNHOOKINVALID 106
-#define OLEUI_ERR_HINSTANCEINVALID 107
-#define OLEUI_ERR_LPSZTEMPLATEINVALID 108
-#define OLEUI_ERR_HRESOURCEINVALID 109
-#define OLEUI_ERR_FINDTEMPLATEFAILURE 110
-#define OLEUI_ERR_LOADTEMPLATEFAILURE 111
-#define OLEUI_ERR_DIALOGFAILURE 112
-#define OLEUI_ERR_LOCALMEMALLOC 113
-#define OLEUI_ERR_GLOBALMEMALLOC 114
-#define OLEUI_ERR_LOADSTRING 115
-#define OLEUI_ERR_OLEMEMALLOC 116
-#define OLEUI_ERR_STANDARDMAX 116
-#define OPF_OBJECTISLINK 1
-#define OPF_NOFILLDEFAULT 2
-#define OPF_SHOWHELP 4
-#define OPF_DISABLECONVERT 8
-#define OLEUI_OPERR_SUBPROPNULL OLEUI_ERR_STANDARDMAX
-#define OLEUI_OPERR_SUBPROPINVALID (OLEUI_ERR_STANDARDMAX+1)
-#define OLEUI_OPERR_PROPSHEETNULL (OLEUI_ERR_STANDARDMAX+2)
-#define OLEUI_OPERR_PROPSHEETINVALID (OLEUI_ERR_STANDARDMAX+3)
-#define OLEUI_OPERR_SUPPROP (OLEUI_ERR_STANDARDMAX+4)
-#define OLEUI_OPERR_PROPSINVALID (OLEUI_ERR_STANDARDMAX+5)
-#define OLEUI_OPERR_PAGESINCORRECT (OLEUI_ERR_STANDARDMAX+6)
-#define OLEUI_OPERR_INVALIDPAGES (OLEUI_ERR_STANDARDMAX+7)
-#define OLEUI_OPERR_NOTSUPPORTED (OLEUI_ERR_STANDARDMAX+8)
-#define OLEUI_OPERR_DLGPROCNOTNULL (OLEUI_ERR_STANDARDMAX+9)
-#define OLEUI_OPERR_LPARAMNOTZERO (OLEUI_ERR_STANDARDMAX+10)
-#define OLEUI_GPERR_STRINGINVALID (OLEUI_ERR_STANDARDMAX+11)
-#define OLEUI_GPERR_CLASSIDINVALID (OLEUI_ERR_STANDARDMAX+12)
-#define OLEUI_GPERR_LPCLSIDEXCLUDEINVALID (OLEUI_ERR_STANDARDMAX+13)
-#define OLEUI_GPERR_CBFORMATINVALID (OLEUI_ERR_STANDARDMAX+14)
-#define OLEUI_VPERR_METAPICTINVALID (OLEUI_ERR_STANDARDMAX+15)
-#define OLEUI_VPERR_DVASPECTINVALID (OLEUI_ERR_STANDARDMAX+16)
-#define OLEUI_LPERR_LINKCNTRNULL (OLEUI_ERR_STANDARDMAX+17)
-#define OLEUI_LPERR_LINKCNTRINVALID (OLEUI_ERR_STANDARDMAX+18)
-#define OLEUI_OPERR_PROPERTYSHEET (OLEUI_ERR_STANDARDMAX+19)
-#define OLEUI_OPERR_OBJINFOINVALID (OLEUI_ERR_STANDARDMAX+20)
-#define OLEUI_OPERR_LINKINFOINVALID (OLEUI_ERR_STANDARDMAX+21)
-#define OLEUI_QUERY_GETCLASSID 65280
-#define OLEUI_QUERY_LINKBROKEN 65281
-#define IOF_SHOWHELP 1
-#define IOF_SELECTCREATENEW 2
-#define IOF_SELECTCREATEFROMFILE 4
-#define IOF_CHECKLINK 8
-#define IOF_CHECKDISPLAYASICON 16
-#define IOF_CREATENEWOBJECT 32
-#define IOF_CREATEFILEOBJECT 64
-#define IOF_CREATELINKOBJECT 128
-#define IOF_DISABLELINK 256
-#define IOF_VERIFYSERVERSEXIST 512
-#define IOF_DISABLEDISPLAYASICON 1024
-#define IOF_HIDECHANGEICON 2048
-#define IOF_SHOWINSERTCONTROL 4096
-#define IOF_SELECTCREATECONTROL 8192
-#define OLEUI_IOERR_LPSZFILEINVALID OLEUI_ERR_STANDARDMAX
-#define OLEUI_IOERR_LPSZLABELINVALID (OLEUI_ERR_STANDARDMAX+1)
-#define OLEUI_IOERR_HICONINVALID (OLEUI_ERR_STANDARDMAX+2)
-#define OLEUI_IOERR_LPFORMATETCINVALID (OLEUI_ERR_STANDARDMAX+3)
-#define OLEUI_IOERR_PPVOBJINVALID (OLEUI_ERR_STANDARDMAX+4)
-#define OLEUI_IOERR_LPIOLECLIENTSITEINVALID (OLEUI_ERR_STANDARDMAX+5)
-#define OLEUI_IOERR_LPISTORAGEINVALID (OLEUI_ERR_STANDARDMAX+6)
-#define OLEUI_IOERR_SCODEHASERROR (OLEUI_ERR_STANDARDMAX+7)
-#define OLEUI_IOERR_LPCLSIDEXCLUDEINVALID (OLEUI_ERR_STANDARDMAX+8)
-#define OLEUI_IOERR_CCHFILEINVALID (OLEUI_ERR_STANDARDMAX+9)
-#define PSF_SHOWHELP 1
-#define PSF_SELECTPASTE 2
-#define PSF_SELECTPASTELINK 4
-#define PSF_CHECKDISPLAYASICON 8
-#define PSF_DISABLEDISPLAYASICON 16
-#define PSF_HIDECHANGEICON 32
-#define PSF_STAYONCLIPBOARDCHANGE 64
-#define PSF_NOREFRESHDATAOBJECT 128
-#define OLEUI_IOERR_SRCDATAOBJECTINVALID OLEUI_ERR_STANDARDMAX
-#define OLEUI_IOERR_ARRPASTEENTRIESINVALID (OLEUI_ERR_STANDARDMAX+1)
-#define OLEUI_IOERR_ARRLINKTYPESINVALID (OLEUI_ERR_STANDARDMAX+2)
-#define OLEUI_PSERR_CLIPBOARDCHANGED (OLEUI_ERR_STANDARDMAX+3)
-#define OLEUI_PSERR_GETCLIPBOARDFAILED (OLEUI_ERR_STANDARDMAX+4)
-#define OLEUI_ELERR_LINKCNTRNULL OLEUI_ERR_STANDARDMAX
-#define OLEUI_ELERR_LINKCNTRINVALID (OLEUI_ERR_STANDARDMAX+1)
-#define ELF_SHOWHELP 1
-#define ELF_DISABLEUPDATENOW 2
-#define ELF_DISABLEOPENSOURCE 4
-#define ELF_DISABLECHANGESOURCE 8
-#define ELF_DISABLECANCELLINK 16
-#define CIF_SHOWHELP 1
-#define CIF_SELECTCURRENT 2
-#define CIF_SELECTDEFAULT 4
-#define CIF_SELECTFROMFILE 8
-#define CIF_USEICONEXE 16
-#define OLEUI_CIERR_MUSTHAVECLSID OLEUI_ERR_STANDARDMAX
-#define OLEUI_CIERR_MUSTHAVECURRENTMETAFILE (OLEUI_ERR_STANDARDMAX+1)
-#define OLEUI_CIERR_SZICONEXEINVALID (OLEUI_ERR_STANDARDMAX+2)
-#define CF_SHOWHELPBUTTON 1
-#define CF_SETCONVERTDEFAULT 2
-#define CF_SETACTIVATEDEFAULT 4
-#define CF_SELECTCONVERTTO 8
-#define CF_SELECTACTIVATEAS 16
-#define CF_DISABLEDISPLAYASICON 32
-#define CF_DISABLEACTIVATEAS 64
-#define CF_HIDECHANGEICON 128
-#define CF_CONVERTONLY 256
-#define OLEUI_CTERR_CLASSIDINVALID (OLEUI_ERR_STANDARDMAX+1)
-#define OLEUI_CTERR_DVASPECTINVALID (OLEUI_ERR_STANDARDMAX+2)
-#define OLEUI_CTERR_CBFORMATINVALID (OLEUI_ERR_STANDARDMAX+3)
-#define OLEUI_CTERR_HMETAPICTINVALID (OLEUI_ERR_STANDARDMAX+4)
-#define OLEUI_CTERR_STRINGINVALID (OLEUI_ERR_STANDARDMAX+5)
-#define BZ_DISABLECANCELBUTTON 1
-#define BZ_DISABLESWITCHTOBUTTON 2
-#define BZ_DISABLERETRYBUTTON 4
-#define BZ_NOTRESPONDINGDIALOG 8
-#define OLEUI_BZERR_HTASKINVALID OLEUI_ERR_STANDARDMAX
-#define OLEUI_BZ_SWITCHTOSELECTED (OLEUI_ERR_STANDARDMAX+1)
-#define OLEUI_BZ_RETRYSELECTED (OLEUI_ERR_STANDARDMAX+2)
-#define OLEUI_BZ_CALLUNBLOCKED (OLEUI_ERR_STANDARDMAX+3)
-#define CSF_SHOWHELP 1
-#define CSF_VALIDSOURCE 2
-#define CSF_ONLYGETSOURCE 4
-#define CSF_EXPLORER 8
-#define OLEUI_CSERR_LINKCNTRNULL OLEUI_ERR_STANDARDMAX
-#define OLEUI_CSERR_LINKCNTRINVALID (OLEUI_ERR_STANDARDMAX+1)
-#define OLEUI_CSERR_FROMNOTNULL (OLEUI_ERR_STANDARDMAX+2)
-#define OLEUI_CSERR_TONOTNULL (OLEUI_ERR_STANDARDMAX+3)
-#define OLEUI_CSERR_SOURCENULL (OLEUI_ERR_STANDARDMAX+4)
-#define OLEUI_CSERR_SOURCEINVALID (OLEUI_ERR_STANDARDMAX+5)
-#define OLEUI_CSERR_SOURCEPARSERROR (OLEUI_ERR_STANDARDMAX+6)
-#define OLEUI_CSERR_SOURCEPARSEERROR (OLEUI_ERR_STANDARDMAX+7)
-#define VPF_SELECTRELATIVE 1
-#define VPF_DISABLERELATIVE 2
-#define VPF_DISABLESCALE 4
-
-#ifndef RC_INVOKED
-#pragma pack(push, 8)
-typedef UINT (CALLBACK *LPFNOLEUIHOOK)(HWND, UINT, WPARAM, LPARAM);
-typedef struct tagOLEUIINSERTOBJECTW {
- DWORD cbStruct;
- DWORD dwFlags;
- HWND hWndOwner;
- LPCWSTR lpszCaption;
- LPFNOLEUIHOOK lpfnHook;
- LPARAM lCustData;
- HINSTANCE hInstance;
- LPCWSTR lpszTemplate;
- HRSRC hResource;
- CLSID clsid;
- LPWSTR lpszFile;
- UINT cchFile;
- UINT cClsidExclude;
- LPCLSID lpClsidExclude;
- IID iid;
- DWORD oleRender;
- LPFORMATETC lpFormatEtc;
- LPOLECLIENTSITE lpIOleClientSite;
- LPSTORAGE lpIStorage;
- PVOID *ppvObj;
- SCODE sc;
- HGLOBAL hMetaPict;
-} OLEUIINSERTOBJECTW,*POLEUIINSERTOBJECTW,*LPOLEUIINSERTOBJECTW;
-typedef struct tagOLEUIINSERTOBJECTA {
- DWORD cbStruct;
- DWORD dwFlags;
- HWND hWndOwner;
- LPCSTR lpszCaption;
- LPFNOLEUIHOOK lpfnHook;
- LPARAM lCustData;
- HINSTANCE hInstance;
- LPCSTR lpszTemplate;
- HRSRC hResource;
- CLSID clsid;
- LPSTR lpszFile;
- UINT cchFile;
- UINT cClsidExclude;
- LPCLSID lpClsidExclude;
- IID iid;
- DWORD oleRender;
- LPFORMATETC lpFormatEtc;
- LPOLECLIENTSITE lpIOleClientSite;
- LPSTORAGE lpIStorage;
- PVOID *ppvObj;
- SCODE sc;
- HGLOBAL hMetaPict;
-} OLEUIINSERTOBJECTA,*POLEUIINSERTOBJECTA,*LPOLEUIINSERTOBJECTA;
-STDAPI_(UINT) OleUIInsertObjectW(LPOLEUIINSERTOBJECTW);
-STDAPI_(UINT) OleUIInsertObjectA(LPOLEUIINSERTOBJECTA);
-typedef enum tagOLEUIPASTEFLAG {
- OLEUIPASTE_PASTEONLY,
- OLEUIPASTE_LINKTYPE1,
- OLEUIPASTE_LINKTYPE2,
- OLEUIPASTE_LINKTYPE3=4,
- OLEUIPASTE_LINKTYPE4=8,
- OLEUIPASTE_LINKTYPE5=16,
- OLEUIPASTE_LINKTYPE6=32,
- OLEUIPASTE_LINKTYPE7=64,
- OLEUIPASTE_LINKTYPE8=128,
- OLEUIPASTE_PASTE=512,
- OLEUIPASTE_LINKANYTYPE=1024,
- OLEUIPASTE_ENABLEICON=2048
-} OLEUIPASTEFLAG;
-typedef struct tagOLEUIPASTEENTRYW {
- FORMATETC fmtetc;
- LPCWSTR lpstrFormatName;
- LPCWSTR lpstrResultText;
- DWORD dwFlags;
- DWORD dwScratchSpace;
-} OLEUIPASTEENTRYW,*POLEUIPASTEENTRYW,*LPOLEUIPASTEENTRYW;
-typedef struct tagOLEUIPASTEENTRYA {
- FORMATETC fmtetc;
- LPCSTR lpstrFormatName;
- LPCSTR lpstrResultText;
- DWORD dwFlags;
- DWORD dwScratchSpace;
-} OLEUIPASTEENTRYA,*POLEUIPASTEENTRYA,*LPOLEUIPASTEENTRYA;
-typedef struct tagOLEUIPASTESPECIALW {
- DWORD cbStruct;
- DWORD dwFlags;
- HWND hWndOwner;
- LPCWSTR lpszCaption;
- LPFNOLEUIHOOK lpfnHook;
- LPARAM lCustData;
- HINSTANCE hInstance;
- LPCWSTR lpszTemplate;
- HRSRC hResource;
- LPDATAOBJECT lpSrcDataObj;
- LPOLEUIPASTEENTRYW arrPasteEntries;
- int cPasteEntries;
- UINT *arrLinkTypes;
- int cLinkTypes;
- UINT cClsidExclude;
- LPCLSID lpClsidExclude;
- int nSelectedIndex;
- BOOL fLink;
- HGLOBAL hMetaPict;
- SIZEL sizel;
-} OLEUIPASTESPECIALW,*POLEUIPASTESPECIALW,*LPOLEUIPASTESPECIALW;
-typedef struct tagOLEUIPASTESPECIALA {
- DWORD cbStruct;
- DWORD dwFlags;
- HWND hWndOwner;
- LPCSTR lpszCaption;
- LPFNOLEUIHOOK lpfnHook;
- LPARAM lCustData;
- HINSTANCE hInstance;
- LPCSTR lpszTemplate;
- HRSRC hResource;
- LPDATAOBJECT lpSrcDataObj;
- LPOLEUIPASTEENTRYA arrPasteEntries;
- int cPasteEntries;
- UINT *arrLinkTypes;
- int cLinkTypes;
- UINT cClsidExclude;
- LPCLSID lpClsidExclude;
- int nSelectedIndex;
- BOOL fLink;
- HGLOBAL hMetaPict;
- SIZEL sizel;
-} OLEUIPASTESPECIALA,*POLEUIPASTESPECIALA,*LPOLEUIPASTESPECIALA;
-#undef INTERFACE
-#define INTERFACE IOleUILinkContainerW
-DECLARE_INTERFACE_(IOleUILinkContainerW, IUnknown)
-{
- STDMETHOD(QueryInterface) (THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef) (THIS) PURE;
- STDMETHOD_(ULONG,Release) (THIS) PURE;
- STDMETHOD_(DWORD,GetNextLink) (THIS_ DWORD dwLink) PURE;
- STDMETHOD(SetLinkUpdateOptions) (THIS_ DWORD,DWORD) PURE;
- STDMETHOD(GetLinkUpdateOptions) (THIS_ DWORD,PDWORD) PURE;
- STDMETHOD(SetLinkSource) (THIS_ DWORD, LPWSTR,ULONG,PULONG,BOOL) PURE;
- STDMETHOD(GetLinkSource) (THIS_ DWORD,LPWSTR*,PULONG,LPWSTR*,LPWSTR*,BOOL*,BOOL*) PURE;
- STDMETHOD(OpenLinkSource) (THIS_ DWORD) PURE;
- STDMETHOD(UpdateLink) (THIS_ DWORD,BOOL,BOOL) PURE;
- STDMETHOD(CancelLink) (THIS_ DWORD) PURE;
-};
-typedef IOleUILinkContainerW *LPOLEUILINKCONTAINERW;
-#undef INTERFACE
-#define INTERFACE IOleUILinkContainerA
-DECLARE_INTERFACE_(IOleUILinkContainerA, IUnknown)
-{
- STDMETHOD(QueryInterface) (THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef) (THIS) PURE;
- STDMETHOD_(ULONG,Release) (THIS) PURE;
- STDMETHOD_(DWORD,GetNextLink) (THIS_ DWORD) PURE;
- STDMETHOD(SetLinkUpdateOptions) (THIS_ DWORD,DWORD) PURE;
- STDMETHOD(GetLinkUpdateOptions) (THIS_ DWORD,PDWORD) PURE;
- STDMETHOD(SetLinkSource) (THIS_ DWORD, LPSTR,ULONG,PULONG,BOOL) PURE;
- STDMETHOD(GetLinkSource) (THIS_ DWORD,LPSTR*,PULONG,LPSTR*,LPSTR*,BOOL*,BOOL*) PURE;
- STDMETHOD(OpenLinkSource) (THIS_ DWORD) PURE;
- STDMETHOD(UpdateLink) (THIS_ DWORD,BOOL,BOOL) PURE;
- STDMETHOD(CancelLink) (THIS_ DWORD) PURE;
-};
-typedef IOleUILinkContainerA *LPOLEUILINKCONTAINERA;
-typedef struct tagOLEUIEDITLINKSW {
- DWORD cbStruct;
- DWORD dwFlags;
- HWND hWndOwner;
- LPCWSTR lpszCaption;
- LPFNOLEUIHOOK lpfnHook;
- LPARAM lCustData;
- HINSTANCE hInstance;
- LPCWSTR lpszTemplate;
- HRSRC hResource;
- LPOLEUILINKCONTAINERW lpOleUILinkContainer;
-} OLEUIEDITLINKSW,*POLEUIEDITLINKSW,*LPOLEUIEDITLINKSW;
-typedef struct tagOLEUIEDITLINKSA {
- DWORD cbStruct;
- DWORD dwFlags;
- HWND hWndOwner;
- LPCSTR lpszCaption;
- LPFNOLEUIHOOK lpfnHook;
- LPARAM lCustData;
- HINSTANCE hInstance;
- LPCSTR lpszTemplate;
- HRSRC hResource;
- LPOLEUILINKCONTAINERA lpOleUILinkContainer;
-} OLEUIEDITLINKSA,*POLEUIEDITLINKSA,*LPOLEUIEDITLINKSA;
-typedef struct tagOLEUICHANGEICONW {
- DWORD cbStruct;
- DWORD dwFlags;
- HWND hWndOwner;
- LPCWSTR lpszCaption;
- LPFNOLEUIHOOK lpfnHook;
- LPARAM lCustData;
- HINSTANCE hInstance;
- LPCWSTR lpszTemplate;
- HRSRC hResource;
- HGLOBAL hMetaPict;
- CLSID clsid;
- WCHAR szIconExe[MAX_PATH];
- int cchIconExe;
-} OLEUICHANGEICONW,*POLEUICHANGEICONW,*LPOLEUICHANGEICONW;
-typedef struct tagOLEUICHANGEICONA {
- DWORD cbStruct;
- DWORD dwFlags;
- HWND hWndOwner;
- LPCSTR lpszCaption;
- LPFNOLEUIHOOK lpfnHook;
- LPARAM lCustData;
- HINSTANCE hInstance;
- LPCSTR lpszTemplate;
- HRSRC hResource;
- HGLOBAL hMetaPict;
- CLSID clsid;
- CHAR szIconExe[MAX_PATH];
- int cchIconExe;
-} OLEUICHANGEICONA,*POLEUICHANGEICONA,*LPOLEUICHANGEICONA;
-typedef struct tagOLEUICONVERTW {
- DWORD cbStruct;
- DWORD dwFlags;
- HWND hWndOwner;
- LPCWSTR lpszCaption;
- LPFNOLEUIHOOK lpfnHook;
- LPARAM lCustData;
- HINSTANCE hInstance;
- LPCWSTR lpszTemplate;
- HRSRC hResource;
- CLSID clsid;
- CLSID clsidConvertDefault;
- CLSID clsidActivateDefault;
- CLSID clsidNew;
- DWORD dvAspect;
- WORD wFormat;
- BOOL fIsLinkedObject;
- HGLOBAL hMetaPict;
- LPWSTR lpszUserType;
- BOOL fObjectsIconChanged;
- LPWSTR lpszDefLabel;
- UINT cClsidExclude;
- LPCLSID lpClsidExclude;
-} OLEUICONVERTW,*POLEUICONVERTW,*LPOLEUICONVERTW;
-typedef struct tagOLEUICONVERTA {
- DWORD cbStruct;
- DWORD dwFlags;
- HWND hWndOwner;
- LPCSTR lpszCaption;
- LPFNOLEUIHOOK lpfnHook;
- LPARAM lCustData;
- HINSTANCE hInstance;
- LPCSTR lpszTemplate;
- HRSRC hResource;
- CLSID clsid;
- CLSID clsidConvertDefault;
- CLSID clsidActivateDefault;
- CLSID clsidNew;
- DWORD dvAspect;
- WORD wFormat;
- BOOL fIsLinkedObject;
- HGLOBAL hMetaPict;
- LPSTR lpszUserType;
- BOOL fObjectsIconChanged;
- LPSTR lpszDefLabel;
- UINT cClsidExclude;
- LPCLSID lpClsidExclude;
-} OLEUICONVERTA,*POLEUICONVERTA,*LPOLEUICONVERTA;
-typedef struct tagOLEUIBUSYW {
- DWORD cbStruct;
- DWORD dwFlags;
- HWND hWndOwner;
- LPCWSTR lpszCaption;
- LPFNOLEUIHOOK lpfnHook;
- LPARAM lCustData;
- HINSTANCE hInstance;
- LPCWSTR lpszTemplate;
- HRSRC hResource;
- HTASK hTask;
- HWND *lphWndDialog;
-} OLEUIBUSYW,*POLEUIBUSYW,*LPOLEUIBUSYW;
-typedef struct tagOLEUIBUSYA {
- DWORD cbStruct;
- DWORD dwFlags;
- HWND hWndOwner;
- LPCSTR lpszCaption;
- LPFNOLEUIHOOK lpfnHook;
- LPARAM lCustData;
- HINSTANCE hInstance;
- LPCSTR lpszTemplate;
- HRSRC hResource;
- HTASK hTask;
- HWND *lphWndDialog;
-} OLEUIBUSYA,*POLEUIBUSYA,*LPOLEUIBUSYA;
-typedef struct tagOLEUICHANGESOURCEW {
- DWORD cbStruct;
- DWORD dwFlags;
- HWND hWndOwner;
- LPCWSTR lpszCaption;
- LPFNOLEUIHOOK lpfnHook;
- LPARAM lCustData;
- HINSTANCE hInstance;
- LPCWSTR lpszTemplate;
- HRSRC hResource;
- OPENFILENAMEW* lpOFN;
- DWORD dwReserved1[4];
- LPOLEUILINKCONTAINERW lpOleUILinkContainer;
- DWORD dwLink;
- LPWSTR lpszDisplayName;
- ULONG nFileLength;
- LPWSTR lpszFrom;
- LPWSTR lpszTo;
-} OLEUICHANGESOURCEW,*POLEUICHANGESOURCEW,*LPOLEUICHANGESOURCEW;
-typedef struct tagOLEUICHANGESOURCEA {
- DWORD cbStruct;
- DWORD dwFlags;
- HWND hWndOwner;
- LPCSTR lpszCaption;
- LPFNOLEUIHOOK lpfnHook;
- LPARAM lCustData;
- HINSTANCE hInstance;
- LPCSTR lpszTemplate;
- HRSRC hResource;
- OPENFILENAMEA *lpOFN;
- DWORD dwReserved1[4];
- LPOLEUILINKCONTAINERA lpOleUILinkContainer;
- DWORD dwLink;
- LPSTR lpszDisplayName;
- ULONG nFileLength;
- LPSTR lpszFrom;
- LPSTR lpszTo;
-} OLEUICHANGESOURCEA,*POLEUICHANGESOURCEA,*LPOLEUICHANGESOURCEA;
-#undef INTERFACE
-#define INTERFACE IOleUIObjInfoW
-DECLARE_INTERFACE_(IOleUIObjInfoW, IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(GetObjectInfo)(THIS_ DWORD,PDWORD,LPWSTR*,LPWSTR*,LPWSTR*,LPWSTR*) PURE;
- STDMETHOD(GetConvertInfo)(THIS_ DWORD,CLSID*,PWORD,CLSID*,LPCLSID*,UINT*) PURE;
- STDMETHOD(ConvertObject)(THIS_ DWORD,REFCLSID) PURE;
- STDMETHOD(GetViewInfo)(THIS_ DWORD,HGLOBAL*,PDWORD,int*) PURE;
- STDMETHOD(SetViewInfo)(THIS_ DWORD,HGLOBAL,DWORD,int,BOOL) PURE;
-};
-typedef IOleUIObjInfoW *LPOLEUIOBJINFOW;
-#undef INTERFACE
-#define INTERFACE IOleUIObjInfoA
-DECLARE_INTERFACE_(IOleUIObjInfoA, IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(GetObjectInfo)(THIS_ DWORD,PDWORD,LPSTR*,LPSTR*,LPSTR*,LPSTR*) PURE;
- STDMETHOD(GetConvertInfo)(THIS_ DWORD,CLSID*,PWORD,CLSID*,LPCLSID*,UINT*) PURE;
- STDMETHOD(ConvertObject)(THIS_ DWORD,REFCLSID) PURE;
- STDMETHOD(GetViewInfo)(THIS_ DWORD,HGLOBAL*,PDWORD,int*) PURE;
- STDMETHOD(SetViewInfo)(THIS_ DWORD,HGLOBAL,DWORD,int,BOOL) PURE;
-};
-typedef IOleUIObjInfoA *LPOLEUIOBJINFOA;
-#undef INTERFACE
-#define INTERFACE IOleUILinkInfoW
-DECLARE_INTERFACE_(IOleUILinkInfoW, IOleUILinkContainerW)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD_(DWORD,GetNextLink)(THIS_ DWORD) PURE;
- STDMETHOD(SetLinkUpdateOptions)(THIS_ DWORD,DWORD) PURE;
- STDMETHOD(GetLinkUpdateOptions)(THIS_ DWORD,DWORD*) PURE;
- STDMETHOD(SetLinkSource)(THIS_ DWORD,LPWSTR,ULONG,PULONG,BOOL) PURE;
- STDMETHOD(GetLinkSource)(THIS_ DWORD,LPWSTR*,PULONG,LPWSTR*,LPWSTR*,BOOL*,BOOL*) PURE;
- STDMETHOD(OpenLinkSource)(THIS_ DWORD) PURE;
- STDMETHOD(UpdateLink)(THIS_ DWORD,BOOL,BOOL) PURE;
- STDMETHOD(CancelLink)(THIS_ DWORD) PURE;
- STDMETHOD(GetLastUpdate)(THIS_ DWORD,FILETIME*) PURE;
-};
-typedef IOleUILinkInfoW *LPOLEUILINKINFOW;
-#undef INTERFACE
-#define INTERFACE IOleUILinkInfoA
-DECLARE_INTERFACE_(IOleUILinkInfoA, IOleUILinkContainerA)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD_(DWORD,GetNextLink)(THIS_ DWORD) PURE;
- STDMETHOD(SetLinkUpdateOptions)(THIS_ DWORD,DWORD) PURE;
- STDMETHOD(GetLinkUpdateOptions)(THIS_ DWORD,DWORD*) PURE;
- STDMETHOD(SetLinkSource)(THIS_ DWORD,LPSTR,ULONG,PULONG,BOOL) PURE;
- STDMETHOD(GetLinkSource)(THIS_ DWORD,LPSTR*,PULONG,LPSTR*,LPSTR*,BOOL*,BOOL*) PURE;
- STDMETHOD(OpenLinkSource)(THIS_ DWORD) PURE;
- STDMETHOD(UpdateLink)(THIS_ DWORD,BOOL,BOOL) PURE;
- STDMETHOD(CancelLink)(THIS_ DWORD) PURE;
- STDMETHOD(GetLastUpdate)(THIS_ DWORD,FILETIME*) PURE;
-};
-typedef IOleUILinkInfoA* LPOLEUILINKINFOA;
-struct tagOLEUIOBJECTPROPSW;
-struct tagOLEUIOBJECTPROPSA;
-typedef struct tagOLEUIGNRLPROPSW {
- DWORD cbStruct;
- DWORD dwFlags;
- DWORD dwReserved1[2];
- LPFNOLEUIHOOK lpfnHook;
- LPARAM lCustData;
- DWORD dwReserved2[3];
- struct tagOLEUIOBJECTPROPSW* lpOP;
-} OLEUIGNRLPROPSW,*POLEUIGNRLPROPSW,*LPOLEUIGNRLPROPSW;
-typedef struct tagOLEUIGNRLPROPSA {
- DWORD cbStruct;
- DWORD dwFlags;
- DWORD dwReserved1[2];
- LPFNOLEUIHOOK lpfnHook;
- LPARAM lCustData;
- DWORD dwReserved2[3];
- struct tagOLEUIOBJECTPROPSA* lpOP;
-} OLEUIGNRLPROPSA,*POLEUIGNRLPROPSA,*LPOLEUIGNRLPROPSA;
-typedef struct tagOLEUIVIEWPROPSW {
- DWORD cbStruct;
- DWORD dwFlags;
- DWORD dwReserved1[2];
- LPFNOLEUIHOOK lpfnHook;
- LPARAM lCustData;
- DWORD dwReserved2[3];
- struct tagOLEUIOBJECTPROPSW* lpOP;
- int nScaleMin;
- int nScaleMax;
-} OLEUIVIEWPROPSW,*POLEUIVIEWPROPSW,*LPOLEUIVIEWPROPSW;
-typedef struct tagOLEUIVIEWPROPSA {
- DWORD cbStruct;
- DWORD dwFlags;
- DWORD dwReserved1[2];
- LPFNOLEUIHOOK lpfnHook;
- LPARAM lCustData;
- DWORD dwReserved2[3];
- struct tagOLEUIOBJECTPROPSA *lpOP;
- int nScaleMin;
- int nScaleMax;
-} OLEUIVIEWPROPSA,*POLEUIVIEWPROPSA,*LPOLEUIVIEWPROPSA;
-typedef struct tagOLEUILINKPROPSW {
- DWORD cbStruct;
- DWORD dwFlags;
- DWORD dwReserved1[2];
- LPFNOLEUIHOOK lpfnHook;
- LPARAM lCustData;
- DWORD dwReserved2[3];
- struct tagOLEUIOBJECTPROPSW *lpOP;
-} OLEUILINKPROPSW, *POLEUILINKPROPSW,* LPOLEUILINKPROPSW;
-typedef struct tagOLEUILINKPROPSA {
- DWORD cbStruct;
- DWORD dwFlags;
- DWORD dwReserved1[2];
- LPFNOLEUIHOOK lpfnHook;
- LPARAM lCustData;
- DWORD dwReserved2[3];
- struct tagOLEUIOBJECTPROPSA* lpOP;
-} OLEUILINKPROPSA,*POLEUILINKPROPSA,*LPOLEUILINKPROPSA;
-typedef struct tagOLEUIOBJECTPROPSW {
- DWORD cbStruct;
- DWORD dwFlags;
- LPPROPSHEETHEADERW lpPS;
- DWORD dwObject;
- LPOLEUIOBJINFOW lpObjInfo;
- DWORD dwLink;
- LPOLEUILINKINFOW lpLinkInfo;
- LPOLEUIGNRLPROPSW lpGP;
- LPOLEUIVIEWPROPSW lpVP;
- LPOLEUILINKPROPSW lpLP;
-} OLEUIOBJECTPROPSW,*POLEUIOBJECTPROPSW,*LPOLEUIOBJECTPROPSW;
-typedef struct tagOLEUIOBJECTPROPSA {
- DWORD cbStruct;
- DWORD dwFlags;
- LPPROPSHEETHEADERA lpPS;
- DWORD dwObject;
- LPOLEUIOBJINFOA lpObjInfo;
- DWORD dwLink;
- LPOLEUILINKINFOA lpLinkInfo;
- LPOLEUIGNRLPROPSA lpGP;
- LPOLEUIVIEWPROPSA lpVP;
- LPOLEUILINKPROPSA lpLP;
-} OLEUIOBJECTPROPSA,*POLEUIOBJECTPROPSA,*LPOLEUIOBJECTPROPSA;
-
-STDAPI_(BOOL) OleUIAddVerbMenuW(LPOLEOBJECT,LPCWSTR,HMENU,UINT,UINT,UINT,BOOL,UINT,HMENU*);
-STDAPI_(BOOL) OleUIAddVerbMenuA(LPOLEOBJECT,LPCSTR,HMENU,UINT,UINT,UINT,BOOL,UINT,HMENU*);
-STDAPI_(UINT) OleUIBusyW(LPOLEUIBUSYW);
-STDAPI_(UINT) OleUIBusyA(LPOLEUIBUSYA);
-STDAPI_(BOOL) OleUICanConvertOrActivateAs(REFCLSID,BOOL,WORD);
-STDAPI_(UINT) OleUIChangeIconW(LPOLEUICHANGEICONW);
-STDAPI_(UINT) OleUIChangeIconA(LPOLEUICHANGEICONA);
-STDAPI_(UINT) OleUIChangeSourceW(LPOLEUICHANGESOURCEW);
-STDAPI_(UINT) OleUIChangeSourceA(LPOLEUICHANGESOURCEA);
-STDAPI_(UINT) OleUIConvertW(LPOLEUICONVERTW);
-STDAPI_(UINT) OleUIConvertA(LPOLEUICONVERTA);
-STDAPI_(UINT) OleUIEditLinksW(LPOLEUIEDITLINKSW);
-STDAPI_(UINT) OleUIEditLinksA(LPOLEUIEDITLINKSA);
-STDAPI_(UINT) OleUIObjectPropertiesW(LPOLEUIOBJECTPROPSW);
-STDAPI_(UINT) OleUIObjectPropertiesA(LPOLEUIOBJECTPROPSA);
-STDAPI_(UINT) OleUIPasteSpecialW(LPOLEUIPASTESPECIALW);
-STDAPI_(UINT) OleUIPasteSpecialA(LPOLEUIPASTESPECIALA);
-int OleUIPromptUserW(int,HWND,...);
-int OleUIPromptUserA(int,HWND,...);
-STDAPI_(BOOL) OleUIUpdateLinksW(LPOLEUILINKCONTAINERW,HWND,LPWSTR,int);
-STDAPI_(BOOL) OleUIUpdateLinksA(LPOLEUILINKCONTAINERA,HWND,LPSTR,int);
-
-#ifdef UNICODE
-#define IDD_SERVERNOTREG IDD_SERVERNOTREGW
-#define IDD_LINKTYPECHANGED IDD_LINKTYPECHANGEDW
-#define OleUIUpdateLinks OleUIUpdateLinksW
-#define OleUIAddVerbMenu OleUIAddVerbMenuW
-#define tagOLEUIOBJECTPROPS tagOLEUIOBJECTPROPSW
-#define OLEUIOBJECTPROPS OLEUIOBJECTPROPSW
-#define POLEUIOBJECTPROPS POLEUIOBJECTPROPSW
-#define LPOLEUIOBJECTPROPS LPOLEUIOBJECTPROPSW
-#define OleUIObjectProperties OleUIObjectPropertiesW
-#define tagOLEUIINSERTOBJECT tagOLEUIINSERTOBJECTW
-#define OLEUIINSERTOBJECT OLEUIINSERTOBJECTW
-#define POLEUIINSERTOBJECT POLEUIINSERTOBJECTW
-#define LPOLEUIINSERTOBJECT LPOLEUIINSERTOBJECTW
-#define OleUIInsertObject OleUIInsertObjectW
-#define OleUIPromptUser OleUIPromptUserW
-#define tagOLEUIPASTEENTRY tagOLEUIPASTEENTRYW
-#define OLEUIPASTEENTRY OLEUIPASTEENTRYW
-#define POLEUIPASTEENTRY POLEUIPASTEENTRYW
-#define LPOLEUIPASTEENTRY LPOLEUIPASTEENTRYW
-#define tagOLEUIPASTESPECIAL tagOLEUIPASTESPECIALW
-#define OLEUIPASTESPECIAL OLEUIPASTESPECIALW
-#define POLEUIPASTESPECIAL POLEUIPASTESPECIALW
-#define LPOLEUIPASTESPECIAL LPOLEUIPASTESPECIALW
-#define OleUIPasteSpecial OleUIPasteSpecialW
-#define IOleUILinkContainer IOleUILinkContainerW
-#define LPOLEUILINKCONTAINER LPOLEUILINKCONTAINERW
-#define tagOLEUIEDITLINKS tagOLEUIEDITLINKSW
-#define OLEUIEDITLINKS OLEUIEDITLINKSW
-#define POLEUIEDITLINKS POLEUIEDITLINKSW
-#define LPOLEUIEDITLINKS LPOLEUIEDITLINKSW
-#define OleUIEditLinks OleUIEditLinksW
-#define tagOLEUICHANGEICON tagOLEUICHANGEICONW
-#define OLEUICHANGEICON OLEUICHANGEICONW
-#define POLEUICHANGEICON POLEUICHANGEICONW
-#define LPOLEUICHANGEICON LPOLEUICHANGEICONW
-#define OleUIChangeIcon OleUIChangeIconW
-#define tagOLEUICONVERT tagOLEUICONVERTW
-#define OLEUICONVERT OLEUICONVERTW
-#define POLEUICONVERT POLEUICONVERTW
-#define LPOLEUICONVERT LPOLEUICONVERTW
-#define OleUIConvert OleUIConvertW
-#define tagOLEUIBUSY tagOLEUIBUSYW
-#define OLEUIBUSY OLEUIBUSYW
-#define POLEUIBUSY POLEUIBUSYW
-#define LPOLEUIBUSY LPOLEUIBUSYW
-#define OleUIBusy OleUIBusyW
-#define tagOLEUICHANGESOURCE tagOLEUICHANGESOURCEW
-#define OLEUICHANGESOURCE OLEUICHANGESOURCEW
-#define POLEUICHANGESOURCE POLEUICHANGESOURCEW
-#define LPOLEUICHANGESOURCE LPOLEUICHANGESOURCEW
-#define OleUIChangeSource OleUIChangeSourceW
-#define IOleUIObjInfo IOleUIObjInfoW
-#define LPOLEUIOBJINFO LPOLEUIOBJINFOW
-#define IOleUILinkInfo IOleUILinkInfoW
-#define IOleUILinkInfoVtbl IOleUILinkInfoWVtbl
-#define LPOLEUILINKINFO LPOLEUILINKINFOW
-#define tagOLEUIGNRLPROPS tagOLEUIGNRLPROPSW
-#define OLEUIGNRLPROPS OLEUIGNRLPROPSW
-#define POLEUIGNRLPROPS POLEUIGNRLPROPSW
-#define LPOLEUIGNRLPROPS LPOLEUIGNRLPROPSW
-#define tagOLEUIVIEWPROPS tagOLEUIVIEWPROPSW
-#define OLEUIVIEWPROPS OLEUIVIEWPROPSW
-#define POLEUIVIEWPROPS POLEUIVIEWPROPSW
-#define LPOLEUIVIEWPROPS LPOLEUIVIEWPROPSW
-#define tagOLEUILINKPROPS tagOLEUILINKPROPSW
-#define OLEUILINKPROPS OLEUILINKPROPSW
-#define POLEUILINKPROPS POLEUILINKPROPSW
-#define LPOLEUILINKPROPS LPOLEUILINKPROPSW
-#else
-#define IDD_SERVERNOTREG IDD_SERVERNOTREGA
-#define IDD_LINKTYPECHANGED IDD_LINKTYPECHANGEDA
-#define OleUIUpdateLinks OleUIUpdateLinksA
-#define OleUIAddVerbMenu OleUIAddVerbMenuA
-#define tagOLEUIOBJECTPROPS tagOLEUIOBJECTPROPSA
-#define OLEUIOBJECTPROPS OLEUIOBJECTPROPSA
-#define POLEUIOBJECTPROPS POLEUIOBJECTPROPSA
-#define LPOLEUIOBJECTPROPS LPOLEUIOBJECTPROPSA
-#define OleUIObjectProperties OleUIObjectPropertiesA
-#define tagOLEUIINSERTOBJECT tagOLEUIINSERTOBJECTA
-#define OLEUIINSERTOBJECT OLEUIINSERTOBJECTA
-#define POLEUIINSERTOBJECT POLEUIINSERTOBJECTA
-#define LPOLEUIINSERTOBJECT LPOLEUIINSERTOBJECTA
-#define OleUIInsertObject OleUIInsertObjectA
-#define OleUIPromptUser OleUIPromptUserA
-#define tagOLEUIPASTEENTRY tagOLEUIPASTEENTRYA
-#define OLEUIPASTEENTRY OLEUIPASTEENTRYA
-#define POLEUIPASTEENTRY POLEUIPASTEENTRYA
-#define LPOLEUIPASTEENTRY LPOLEUIPASTEENTRYA
-#define tagOLEUIPASTESPECIAL tagOLEUIPASTESPECIALA
-#define OLEUIPASTESPECIAL OLEUIPASTESPECIALA
-#define POLEUIPASTESPECIAL POLEUIPASTESPECIALA
-#define LPOLEUIPASTESPECIAL LPOLEUIPASTESPECIALA
-#define OleUIPasteSpecial OleUIPasteSpecialA
-#define IOleUILinkContainer IOleUILinkContainerA
-#define LPOLEUILINKCONTAINER LPOLEUILINKCONTAINERA
-#define tagOLEUIEDITLINKS tagOLEUIEDITLINKSA
-#define OLEUIEDITLINKS OLEUIEDITLINKSA
-#define POLEUIEDITLINKS POLEUIEDITLINKSA
-#define LPOLEUIEDITLINKS LPOLEUIEDITLINKSA
-#define OleUIEditLinks OleUIEditLinksA
-#define tagOLEUICHANGEICON tagOLEUICHANGEICONA
-#define OLEUICHANGEICON OLEUICHANGEICONA
-#define POLEUICHANGEICON POLEUICHANGEICONA
-#define LPOLEUICHANGEICON LPOLEUICHANGEICONA
-#define OleUIChangeIcon OleUIChangeIconA
-#define tagOLEUICONVERT tagOLEUICONVERTA
-#define OLEUICONVERT OLEUICONVERTA
-#define POLEUICONVERT POLEUICONVERTA
-#define LPOLEUICONVERT LPOLEUICONVERTA
-#define OleUIConvert OleUIConvertA
-#define tagOLEUIBUSY tagOLEUIBUSYA
-#define OLEUIBUSY OLEUIBUSYA
-#define POLEUIBUSY POLEUIBUSYA
-#define LPOLEUIBUSY LPOLEUIBUSYA
-#define OleUIBusy OleUIBusyA
-#define tagOLEUICHANGESOURCE tagOLEUICHANGESOURCEA
-#define OLEUICHANGESOURCE OLEUICHANGESOURCEA
-#define POLEUICHANGESOURCE POLEUICHANGESOURCEA
-#define LPOLEUICHANGESOURCE LPOLEUICHANGESOURCEA
-#define OleUIChangeSource OleUIChangeSourceA
-#define IOleUIObjInfo IOleUIObjInfoA
-#define LPOLEUIOBJINFO LPOLEUIOBJINFOA
-#define IOleUILinkInfo IOleUILinkInfoA
-#define IOleUILinkInfoVtbl IOleUILinkInfoAVtbl
-#define LPOLEUILINKINFO LPOLEUILINKINFOA
-#define tagOLEUIGNRLPROPS tagOLEUIGNRLPROPSA
-#define OLEUIGNRLPROPS OLEUIGNRLPROPSA
-#define POLEUIGNRLPROPS POLEUIGNRLPROPSA
-#define LPOLEUIGNRLPROPS LPOLEUIGNRLPROPSA
-#define tagOLEUIVIEWPROPS tagOLEUIVIEWPROPSA
-#define OLEUIVIEWPROPS OLEUIVIEWPROPSA
-#define POLEUIVIEWPROPS POLEUIVIEWPROPSA
-#define LPOLEUIVIEWPROPS LPOLEUIVIEWPROPSA
-#define tagOLEUILINKPROPS tagOLEUILINKPROPSA
-#define OLEUILINKPROPS OLEUILINKPROPSA
-#define POLEUILINKPROPS POLEUILINKPROPSA
-#define LPOLEUILINKPROPS LPOLEUILINKPROPSA
-#endif
-#pragma pack(pop)
-#endif
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/winsup/w32api/include/oleidl.h b/winsup/w32api/include/oleidl.h
deleted file mode 100644
index 0043c878f..000000000
--- a/winsup/w32api/include/oleidl.h
+++ /dev/null
@@ -1,575 +0,0 @@
-#ifndef _OLEIDL_H
-#define _OLEIDL_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <objfwd.h>
-
-#define MK_ALT 32
-
-typedef interface IParseDisplayName *LPPARSEDISPLAYNAME;
-typedef interface IOleContainer *LPOLECONTAINER;
-typedef interface IOleClientSite *LPOLECLIENTSITE;
-typedef interface IOleObject *LPOLEOBJECT;
-typedef interface IDropTarget *LPDROPTARGET;
-typedef interface IDropSource *LPDROPSOURCE;
-typedef interface IEnumOleUndoUnits *LPENUMOLEUNDOUNITS;
-typedef interface IEnumOLEVERB *LPENUMOLEVERB;
-typedef interface IOleWindow *LPOLEWINDOW;
-typedef interface IOleInPlaceUIWindow *LPOLEINPLACEUIWINDOW;
-typedef interface IOleInPlaceActiveObject *LPOLEINPLACEACTIVEOBJECT;
-typedef interface IOleInPlaceFrame *LPOLEINPLACEFRAME;
-typedef interface IOleAdviseHolder *LPOLEADVISEHOLDER;
-typedef interface IViewObject *LPVIEWOBJECT;
-typedef interface IViewObject2 *LPVIEWOBJECT2;
-typedef interface IOleCache *LPOLECACHE;
-typedef interface IOleCache2 *LPOLECACHE2;
-typedef interface IOleCacheControl *LPOLECACHECONTROL;
-
-typedef enum tagBINDSPEED
-{
- BINDSPEED_INDEFINITE=1,
- BINDSPEED_MODERATE,
- BINDSPEED_IMMEDIATE
-} BINDSPEED;
-typedef enum tagOLEWHICHMK {
- OLEWHICHMK_CONTAINER=1,
- OLEWHICHMK_OBJREL,
- OLEWHICHMK_OBJFULL
-} OLEWHICHMK;
-typedef enum tagOLEGETMONIKER {
- OLEGETMONIKER_ONLYIFTHERE=1,
- OLEGETMONIKER_FORCEASSIGN,
- OLEGETMONIKER_UNASSIGN,
- OLEGETMONIKER_TEMPFORUSER
-} OLEGETMONIKER;
-typedef enum tagUSERCLASSTYPE {
- USERCLASSTYPE_FULL=1,
- USERCLASSTYPE_SHORT,
- USERCLASSTYPE_APPNAME
-} USERCLASSTYPE;
-
-#ifdef __GNUC__
-__extension__ /* IS0 C says enums limited to range of int */
-#endif
-typedef enum tagDROPEFFECT {
- DROPEFFECT_NONE=0,
- DROPEFFECT_COPY=1,
- DROPEFFECT_MOVE=2,
- DROPEFFECT_LINK=4,
- DROPEFFECT_SCROLL=0x80000000
-} DROPEFFECT;
-typedef struct tagOleMenuGroupWidths {
- LONG width[6];
-} OLEMENUGROUPWIDTHS,*LPOLEMENUGROUPWIDTHS;
-typedef HGLOBAL HOLEMENU;
-typedef enum tagOLECLOSE {
- OLECLOSE_SAVEIFDIRTY,
- OLECLOSE_NOSAVE,
- OLECLOSE_PROMPTSAVE
-} OLECLOSE;
-typedef struct tagOLEVERB {
- LONG lVerb;
- LPWSTR lpszVerbName;
- DWORD fuFlags;
- DWORD grfAttribs;
-} OLEVERB,*LPOLEVERB;
-typedef RECT BORDERWIDTHS;
-typedef LPRECT LPBORDERWIDTHS;
-typedef LPCRECT LPCBORDERWIDTHS;
-typedef struct tagOIFI {
- UINT cb;
- BOOL fMDIApp;
- HWND hwndFrame;
- HACCEL haccel;
- UINT cAccelEntries;
-}OLEINPLACEFRAMEINFO,*LPOLEINPLACEFRAMEINFO;
-
-DECLARE_ENUMERATOR(OLEVERB);
-typedef IEnumOLEVERB IEnumOleVerb;
-
-EXTERN_C const IID IID_IParseDisplayName;
-#undef INTERFACE
-#define INTERFACE IParseDisplayName
-DECLARE_INTERFACE_(IParseDisplayName,IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(ParseDisplayName)(THIS_ IBindCtx*,LPOLESTR,ULONG*,IMoniker**) PURE;
-};
-
-#ifdef COBJMACROS
-#define IParseDisplayName_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
-#define IParseDisplayName_AddRef(T) (T)->lpVtbl->AddRef(T)
-#define IParseDisplayName_Release(T) (T)->lpVtbl->Release(T)
-#define IParseDisplayName_ParseDisplayName(T,a,b,c,d) (T)->lpVtbl->ParseDisplayName(T,a,b,c,d)
-#endif
-
-EXTERN_C const IID IID_IOleContainer;
-#undef INTERFACE
-#define INTERFACE IOleContainer
-DECLARE_INTERFACE_(IOleContainer,IParseDisplayName)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(ParseDisplayName)(THIS_ IBindCtx*,LPOLESTR,ULONG*,IMoniker**) PURE;
- STDMETHOD(EnumObjects)(THIS_ DWORD,IEnumUnknown**) PURE;
- STDMETHOD(LockContainer)(THIS_ BOOL) PURE;
-};
-
-EXTERN_C const IID IID_IOleItemContainer;
-#undef INTERFACE
-#define INTERFACE IOleItemContainer
-DECLARE_INTERFACE_(IOleItemContainer,IOleContainer)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(ParseDisplayName)(THIS_ IBindCtx*,LPOLESTR,ULONG*,IMoniker**) PURE;
- STDMETHOD(EnumObjects)(THIS_ DWORD,IEnumUnknown**) PURE;
- STDMETHOD(LockContainer)(THIS_ BOOL) PURE;
- STDMETHOD(GetObject)(THIS_ LPOLESTR,DWORD,IBindCtx*,REFIID,void**) PURE;
- STDMETHOD(GetObjectStorage)(THIS_ LPOLESTR,IBindCtx*,REFIID,void**) PURE;
- STDMETHOD(IsRunning)(THIS_ LPOLESTR) PURE;
-};
-
-#ifdef COBJMACROS
-#define IOleItemContainer_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
-#define IOleItemContainer_AddRef(T) (T)->lpVtbl->AddRef(T)
-#define IOleItemContainer_Release(T) (T)->lpVtbl->Release(T)
-#define IOleItemContainer_ParseDisplayName(T,a,b,c,d) (T)->lpVtbl->ParseDisplayName(T,a,b,c,d)
-#define IOleItemContainer_EnumObjects(T,a,b) (T)->lpVtbl->EnumObjects(T,a,b)
-#define IOleItemContainer_LockContainer(T,a) (T)->lpVtbl->LockContainer(T,a)
-#define IOleItemContainer_GetObject(T,a,b,c,d,e) (T)->lpVtbl->GetObject(T,a,b,c,d,e)
-#define IOleItemContainer_GetObjectStorage(T,a,b,c,d) (T)->lpVtbl->GetObjectStorage(T,a,b,c,d)
-#define IOleItemContainer_IsRunning(T,a) (T)->lpVtbl->IsRunning(T,a)
-#endif
-
-EXTERN_C const IID IID_IOleClientSite;
-#undef INTERFACE
-#define INTERFACE IOleClientSite
-DECLARE_INTERFACE_(IOleClientSite,IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(SaveObject)(THIS) PURE;
- STDMETHOD(GetMoniker)(THIS_ DWORD,DWORD,LPMONIKER*) PURE;
- STDMETHOD(GetContainer)(THIS_ LPOLECONTAINER*) PURE;
- STDMETHOD(ShowObject)(THIS) PURE;
- STDMETHOD(OnShowWindow)(THIS_ BOOL) PURE;
- STDMETHOD(RequestNewObjectLayout)(THIS) PURE;
-};
-
-#ifdef COBJMACROS
-#define IOleClientSite_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
-#define IOleClientSite_AddRef(T) (T)->lpVtbl->AddRef(T)
-#define IOleClientSite_Release(T) (T)->lpVtbl->Release(T)
-#define IOleClientSite_SaveObject(T) (T)->lpVtbl->SaveObject(T)
-#define IOleClientSite_GetMoniker(T,a,b,c) (T)->lpVtbl->GetMoniker(T,a,b,c)
-#define IOleClientSite_GetContainer(T,a) (T)->lpVtbl->GetContainer(T,a)
-#define IOleClientSite_ShowObject(T) (T)->lpVtbl->ShowObject(T)
-#define IOleClientSite_OnShowWindow(T,a) (T)->lpVtbl->OnShowWindow(T,a)
-#define IOleClientSite_RequestNewObjectLayout(T) (T)->lpVtbl->RequestNewObjectLayout(T)
-#endif
-
-EXTERN_C const IID IID_IOleObject;
-#undef INTERFACE
-#define INTERFACE IOleObject
-DECLARE_INTERFACE_(IOleObject,IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(SetClientSite)(THIS_ LPOLECLIENTSITE) PURE;
- STDMETHOD(GetClientSite)(THIS_ LPOLECLIENTSITE*) PURE;
- STDMETHOD(SetHostNames)(THIS_ LPCOLESTR,LPCOLESTR) PURE;
- STDMETHOD(Close)(THIS_ DWORD) PURE;
- STDMETHOD(SetMoniker)(THIS_ DWORD,LPMONIKER) PURE;
- STDMETHOD(GetMoniker)(THIS_ DWORD,DWORD,LPMONIKER*) PURE;
- STDMETHOD(InitFromData)(THIS_ LPDATAOBJECT,BOOL,DWORD) PURE;
- STDMETHOD(GetClipboardData)(THIS_ DWORD,LPDATAOBJECT*) PURE;
- STDMETHOD(DoVerb)(THIS_ LONG,LPMSG,LPOLECLIENTSITE,LONG,HWND,LPCRECT) PURE;
- STDMETHOD(EnumVerbs)(THIS_ LPENUMOLEVERB*) PURE;
- STDMETHOD(Update)(THIS) PURE;
- STDMETHOD(IsUpToDate)(THIS) PURE;
- STDMETHOD(GetUserClassID)(THIS_ LPCLSID) PURE;
- STDMETHOD(GetUserType)(THIS_ DWORD,LPOLESTR*) PURE;
- STDMETHOD(SetExtent)(THIS_ DWORD,SIZEL*) PURE;
- STDMETHOD(GetExtent)(THIS_ DWORD,SIZEL*) PURE;
- STDMETHOD(Advise)(THIS_ LPADVISESINK,PDWORD) PURE;
- STDMETHOD(Unadvise)(THIS_ DWORD) PURE;
- STDMETHOD(EnumAdvise)(THIS_ LPENUMSTATDATA*) PURE;
- STDMETHOD(GetMiscStatus)(THIS_ DWORD,PDWORD) PURE;
- STDMETHOD(SetColorScheme)(THIS_ LPLOGPALETTE) PURE;
-};
-
-#ifdef COBJMACROS
-#define IOleObject_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
-#define IOleObject_AddRef(T) (T)->lpVtbl->AddRef(T)
-#define IOleObject_Release(T) (T)->lpVtbl->Release(T)
-#define IOleObject_SetClientSite(T,a) (T)->lpVtbl->SetClientSite(T,a)
-#define IOleObject_GetClientSite(T,a) (T)->lpVtbl->GetClientSite(T,a)
-#define IOleObject_SetHostNames(T,a,b) (T)->lpVtbl->SetHostNames(T,a,b)
-#define IOleObject_Close(T,a) (T)->lpVtbl->Close(T,a)
-#define IOleObject_SetMoniker(T,a,b) (T)->lpVtbl->SetMoniker(T,a,b)
-#define IOleObject_GetMoniker(T,a,b,c) (T)->lpVtbl->GetMoniker(T,a,b,c)
-#define IOleObject_InitFromData(T,a,b,c) (T)->lpVtbl->InitFromData(T,a,b,c)
-#define IOleObject_GetClipboardData(T,a,b) (T)->lpVtbl->GetClipboardData(T,a,b)
-#define IOleObject_DoVerb(T,a,b,c,d,e,f) (T)->lpVtbl->DoVerb(T,a,b,c,d,e,f)
-#define IOleObject_EnumVerbs(T,a) (T)->lpVtbl->EnumVerbs(T,a)
-#define IOleObject_Update(T) (T)->lpVtbl->Update(T)
-#define IOleObject_IsUpToDate(T) (T)->lpVtbl->IsUpToDate(T)
-#define IOleObject_GetUserClassID(T,a) (T)->lpVtbl->GetUserClassID(T,a)
-#define IOleObject_GetUserType(T,a,b) (T)->lpVtbl->GetUserType(T,a,b)
-#define IOleObject_SetExtent(T,a,b) (T)->lpVtbl->SetExtent(T,a,b)
-#define IOleObject_GetExtent(T,a,b) (T)->lpVtbl->GetExtent(T,a,b)
-#define IOleObject_Advise(T,a,b) (T)->lpVtbl->Advise(T,a,b)
-#define IOleObject_Unadvise(T,a) (T)->lpVtbl->Unadvise(T,a)
-#define IOleObject_EnumAdvise(T,a) (T)->lpVtbl->EnumAdvise(T,a)
-#define IOleObject_GetMiscStatus(T,a,b) (T)->lpVtbl->GetMiscStatus(T,a,b)
-#define IOleObject_SetColorScheme(T,a) (T)->lpVtbl->SetColorScheme(T,a)
-#endif
-
-EXTERN_C const IID IID_IOleWindow;
-#undef INTERFACE
-#define INTERFACE IOleWindow
-DECLARE_INTERFACE_(IOleWindow,IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(GetWindow)(THIS_ HWND*) PURE;
- STDMETHOD(ContextSensitiveHelp)(THIS_ BOOL) PURE;
-};
-
-#ifdef COBJMACROS
-#define IOleWindow_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
-#define IOleWindow_AddRef(T) (T)->lpVtbl->AddRef(T)
-#define IOleWindow_Release(T) (T)->lpVtbl->Release(T)
-#define IOleWindow_GetWindow(T,a) (T)->lpVtbl->GetWindow(T,a)
-#define IOleWindow_ContextSensitiveHelp(T,a) (T)->lpVtbl->ContextSensitiveHelp(T,a)
-#endif
-
-EXTERN_C const IID IID_IOleInPlaceUIWindow;
-#undef INTERFACE
-#define INTERFACE IOleInPlaceUIWindow
-DECLARE_INTERFACE_(IOleInPlaceUIWindow,IOleWindow)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(GetWindow)(THIS_ HWND*) PURE;
- STDMETHOD(ContextSensitiveHelp)(THIS_ BOOL) PURE;
- STDMETHOD(GetBorder)(THIS_ LPRECT) PURE;
- STDMETHOD(RequestBorderSpace)(THIS_ LPCBORDERWIDTHS) PURE;
- STDMETHOD(SetBorderSpace)(THIS_ LPCBORDERWIDTHS) PURE;
- STDMETHOD(SetActiveObject)(THIS_ LPOLEINPLACEACTIVEOBJECT,LPCOLESTR) PURE;
-};
-
-EXTERN_C const IID IID_IOleInPlaceObject;
-#undef INTERFACE
-#define INTERFACE IOleInPlaceObject
-DECLARE_INTERFACE_(IOleInPlaceObject,IOleWindow)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(GetWindow)(THIS_ HWND*) PURE;
- STDMETHOD(ContextSensitiveHelp)(THIS_ BOOL) PURE;
- STDMETHOD(InPlaceDeactivate)(THIS) PURE;
- STDMETHOD(UIDeactivate)(THIS) PURE;
- STDMETHOD(SetObjectRects)(THIS_ LPCRECT,LPCRECT) PURE;
- STDMETHOD(ReactivateAndUndo)(THIS) PURE;
-};
-
-EXTERN_C const IID IID_IOleInPlaceActiveObject;
-#undef INTERFACE
-#define INTERFACE IOleInPlaceActiveObject
-DECLARE_INTERFACE_(IOleInPlaceActiveObject,IOleWindow)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(GetWindow)(THIS_ HWND*) PURE;
- STDMETHOD(ContextSensitiveHelp)(THIS_ BOOL) PURE;
- STDMETHOD(TranslateAccelerator)(THIS_ LPMSG) PURE;
- STDMETHOD(OnFrameWindowActivate)(THIS_ BOOL) PURE;
- STDMETHOD(OnDocWindowActivate)(THIS_ BOOL) PURE;
- STDMETHOD(ResizeBorder)(THIS_ LPCRECT,LPOLEINPLACEUIWINDOW,BOOL) PURE;
- STDMETHOD(EnableModeless)(THIS_ BOOL) PURE;
-};
-
-EXTERN_C const IID IID_IOleInPlaceFrame;
-#undef INTERFACE
-#define INTERFACE IOleInPlaceFrame
-DECLARE_INTERFACE_(IOleInPlaceFrame,IOleInPlaceUIWindow)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(GetWindow)(THIS_ HWND*) PURE;
- STDMETHOD(ContextSensitiveHelp)(THIS_ BOOL) PURE;
- STDMETHOD(GetBorder)(THIS_ LPRECT) PURE;
- STDMETHOD(RequestBorderSpace)(THIS_ LPCBORDERWIDTHS) PURE;
- STDMETHOD(SetBorderSpace)(THIS_ LPCBORDERWIDTHS) PURE;
- STDMETHOD(SetActiveObject)(THIS_ LPOLEINPLACEACTIVEOBJECT,LPCOLESTR) PURE;
- STDMETHOD(InsertMenus)(THIS_ HMENU,LPOLEMENUGROUPWIDTHS) PURE;
- STDMETHOD(SetMenu)(THIS_ HMENU,HOLEMENU,HWND) PURE;
- STDMETHOD(RemoveMenus)(THIS_ HMENU) PURE;
- STDMETHOD(SetStatusText)(THIS_ LPCOLESTR) PURE;
- STDMETHOD(EnableModeless)(THIS_ BOOL) PURE;
- STDMETHOD(TranslateAccelerator)(THIS_ LPMSG,WORD) PURE;
-};
-
-#ifdef COBJMACROS
-#define IOleInPlaceFrame_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
-#define IOleInPlaceFrame_AddRef(T) (T)->lpVtbl->AddRef(T)
-#define IOleInPlaceFrame_Release(T) (T)->lpVtbl->Release(T)
-#define IOleInPlaceFrame_GetWindow(T,a) (T)->lpVtbl->GetWindow(T,a)
-#define IOleInPlaceFrame_ContextSensitiveHelp(T,a) (T)->lpVtbl->ContextSensitiveHelp(T,a)
-#define IOleInPlaceFrame_GetBorder(T,a) (T)->lpVtbl->GetBorder(T,a)
-#define IOleInPlaceFrame_RequestBorderSpace(T,a) (T)->lpVtbl->RequestBorderSpace(T,a)
-#define IOleInPlaceFrame_SetBorderSpace(T,a) (T)->lpVtbl->SetBorderSpace(T,a)
-#define IOleInPlaceFrame_SetActiveObject(T,a,b) (T)->lpVtbl->SetActiveObject(T,a,b)
-#define IOleInPlaceFrame_InsertMenus(T,a,b) (T)->lpVtbl->InsertMenus(T,a,b)
-#define IOleInPlaceFrame_SetMenu(T,a,b,c) (T)->lpVtbl->SetMenu(T,a,b,c)
-#define IOleInPlaceFrame_RemoveMenus(T,a) (T)->lpVtbl->RemoveMenus(T,a)
-#define IOleInPlaceFrame_SetStatusText(T,a) (T)->lpVtbl->SetStatusText(T,a)
-#define IOleInPlaceFrame_EnableModeless(T,a) (T)->lpVtbl->EnableModeless(T,a)
-#define IOleInPlaceFrame_TranslateAccelerator(T,a,b) (T)->lpVtbl->TranslateAccelerator(T,a,b)
-#endif
-
-EXTERN_C const IID IID_IOleInPlaceSite;
-#undef INTERFACE
-#define INTERFACE IOleInPlaceSite
-DECLARE_INTERFACE_(IOleInPlaceSite,IOleWindow)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(GetWindow)(THIS_ HWND*) PURE;
- STDMETHOD(ContextSensitiveHelp)(THIS_ BOOL) PURE;
- STDMETHOD(CanInPlaceActivate)(THIS) PURE;
- STDMETHOD(OnInPlaceActivate)(THIS) PURE;
- STDMETHOD(OnUIActivate)(THIS) PURE;
- STDMETHOD(GetWindowContext)(THIS_ IOleInPlaceFrame**,IOleInPlaceUIWindow**,LPRECT,LPRECT,LPOLEINPLACEFRAMEINFO) PURE;
- STDMETHOD(Scroll)(THIS_ SIZE) PURE;
- STDMETHOD(OnUIDeactivate)(THIS_ BOOL) PURE;
- STDMETHOD(OnInPlaceDeactivate)(THIS) PURE;
- STDMETHOD(DiscardUndoState)(THIS) PURE;
- STDMETHOD(DeactivateAndUndo)(THIS) PURE;
- STDMETHOD(OnPosRectChange)(THIS_ LPCRECT) PURE;
-};
-
-EXTERN_C const IID IID_IOleAdviseHolder;
-#undef INTERFACE
-#define INTERFACE IOleAdviseHolder
-DECLARE_INTERFACE_(IOleAdviseHolder,IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(Advise)(THIS_ LPADVISESINK,PDWORD) PURE;
- STDMETHOD(Unadvise)(THIS_ DWORD) PURE;
- STDMETHOD(EnumAdvise)(THIS_ LPENUMSTATDATA*) PURE;
- STDMETHOD(SendOnRename)(THIS_ LPMONIKER) PURE;
- STDMETHOD(SendOnSave)(THIS) PURE;
- STDMETHOD(SendOnClose)(THIS) PURE;
-};
-
-#ifdef COBJMACROS
-#define IOleAdviseHolder_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
-#define IOleAdviseHolder_AddRef(T) (T)->lpVtbl->AddRef(T)
-#define IOleAdviseHolder_Release(T) (T)->lpVtbl->Release(T)
-#define IOleAdviseHolder_Advise(T,a,b) (T)->lpVtbl->Advise(T,a,b)
-#define IOleAdviseHolder_Unadvise(T,a) (T)->lpVtbl->Unadvise(T,a)
-#define IOleAdviseHolder_EnumAdvise(T,a) (T)->lpVtbl->EnumAdvise(T,a)
-#define IOleAdviseHolder_SendOnRename(T,a) (T)->lpVtbl->SendOnRename(T,a)
-#define IOleAdviseHolder_SendOnSave(T) (T)->lpVtbl->SendOnSave(T)
-#define IOleAdviseHolder_SendOnClose(T) (T)->lpVtbl->SendOnClose(T)
-#endif
-
-EXTERN_C const IID IID_IDropSource;
-#undef INTERFACE
-#define INTERFACE IDropSource
-DECLARE_INTERFACE_(IDropSource,IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(QueryContinueDrag)(THIS_ BOOL,DWORD) PURE;
- STDMETHOD(GiveFeedback)(THIS_ DWORD) PURE;
-};
-
-#ifdef COBJMACROS
-#define IDropSource_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
-#define IDropSource_AddRef(T) (T)->lpVtbl->AddRef(T)
-#define IDropSource_Release(T) (T)->lpVtbl->Release(T)
-#define IDropSource_QueryContinueDrag(T,a,b) (T)->lpVtbl->QueryContinueDrag(T,a,b)
-#define IDropSource_GiveFeedback(T,a) (T)->lpVtbl->GiveFeedback(T,a)
-#endif
-
-EXTERN_C const IID IID_IDropTarget;
-#undef INTERFACE
-#define INTERFACE IDropTarget
-DECLARE_INTERFACE_(IDropTarget,IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(DragEnter)(THIS_ LPDATAOBJECT,DWORD,POINTL,PDWORD) PURE;
- STDMETHOD(DragOver)(THIS_ DWORD,POINTL,PDWORD) PURE;
- STDMETHOD(DragLeave)(THIS) PURE;
- STDMETHOD(Drop)(THIS_ LPDATAOBJECT,DWORD,POINTL,PDWORD) PURE;
-};
-
-#ifdef COBJMACROS
-#define IDropTarget_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
-#define IDropTarget_AddRef(T) (T)->lpVtbl->AddRef(T)
-#define IDropTarget_Release(T) (T)->lpVtbl->Release(T)
-#define IDropTarget_DragEnter(T,a,b,c,d) (T)->lpVtbl->DragEnter(T,a,b,c,d)
-#define IDropTarget_DragOver(T,a,b,c) (T)->lpVtbl->DragOver(T,a,b,c)
-#define IDropTarget_DragLeave(T) (T)->lpVtbl->DragLeave(T)
-#define IDropTarget_Drop(T,a,b,c,d) (T)->lpVtbl->Drop(T,a,b,c,d)
-#endif
-
-typedef BOOL(CALLBACK *__IView_pfncont)(DWORD);
-EXTERN_C const IID IID_IViewObject;
-#undef INTERFACE
-#define INTERFACE IViewObject
-DECLARE_INTERFACE_(IViewObject,IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(Draw)(THIS_ DWORD,LONG,PVOID,DVTARGETDEVICE*,HDC,HDC,LPCRECTL,LPCRECTL,__IView_pfncont pfnContinue,DWORD) PURE;
- STDMETHOD(GetColorSet)(THIS_ DWORD,LONG,PVOID,DVTARGETDEVICE*,HDC,LPLOGPALETTE*) PURE;
- STDMETHOD(Freeze)(THIS_ DWORD,LONG,PVOID,PDWORD) PURE;
- STDMETHOD(Unfreeze)(THIS_ DWORD) PURE;
- STDMETHOD(SetAdvise)(THIS_ DWORD,DWORD,IAdviseSink*) PURE;
- STDMETHOD(GetAdvise)(THIS_ PDWORD,PDWORD,IAdviseSink**) PURE;
-};
-
-#ifdef COBJMACROS
-#define IViewObject_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
-#define IViewObject_AddRef(T) (T)->lpVtbl->AddRef(T)
-#define IViewObject_Release(T) (T)->lpVtbl->Release(T)
-#define IViewObject_Draw(T,a,b,c,d,e,f,g,h,i,j) (T)->lpVtbl->Draw(T,a,b,c,d,e,f,g,h,i,j)
-#define IViewObject_GetColorSet(T,a,b,c,d,e,f) (T)->lpVtbl->GetColorSet(T,a,b,c,d,e,f)
-#define IViewObject_Freeze(T,a,b,c,d) (T)->lpVtbl->Freeze(T,a,b,c,d)
-#define IViewObject_Unfreeze(T,a) (T)->lpVtbl->Unfreeze(T,a)
-#define IViewObject_SetAdvise(T,a,b,c) (T)->lpVtbl->SetAdvise(T,a,b,c)
-#define IViewObject_GetAdvise(T,a,b,c) (T)->lpVtbl->GetAdvise(T,a,b,c)
-#endif
-
-EXTERN_C const IID IID_IViewObject2;
-#undef INTERFACE
-#define INTERFACE IViewObject2
-DECLARE_INTERFACE_(IViewObject2,IViewObject)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(Draw)(THIS_ DWORD,LONG,PVOID,DVTARGETDEVICE*,HDC,HDC,LPCRECTL,LPCRECTL,__IView_pfncont pfnContinue,DWORD) PURE;
- STDMETHOD(GetColorSet)(THIS_ DWORD,LONG,PVOID,DVTARGETDEVICE*,HDC,LPLOGPALETTE*) PURE;
- STDMETHOD(Freeze)(THIS_ DWORD,LONG,PVOID,PDWORD) PURE;
- STDMETHOD(Unfreeze)(THIS_ DWORD) PURE;
- STDMETHOD(SetAdvise)(THIS_ DWORD,DWORD,IAdviseSink*) PURE;
- STDMETHOD(GetAdvise)(THIS_ PDWORD,PDWORD,IAdviseSink**) PURE;
- STDMETHOD(GetExtent)(THIS_ DWORD,LONG,DVTARGETDEVICE*,LPSIZEL) PURE;
-};
-
-#ifdef COBJMACROS
-#define IViewObject2_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
-#define IViewObject2_AddRef(T) (T)->lpVtbl->AddRef(T)
-#define IViewObject2_Release(T) (T)->lpVtbl->Release(T)
-#define IViewObject2_Draw(T,a,b,c,d,e,f,g,h,i,j) (T)->lpVtbl->Draw(T,a,b,c,d,e,f,g,h,i,j)
-#define IViewObject2_GetColorSet(T,a,b,c,d,e,f) (T)->lpVtbl->GetColorSet(T,a,b,c,d,e,f)
-#define IViewObject2_Freeze(T,a,b,c,d) (T)->lpVtbl->Freeze(T,a,b,c,d)
-#define IViewObject2_Unfreeze(T,a) (T)->lpVtbl->Unfreeze(T,a)
-#define IViewObject2_SetAdvise(T,a,b,c) (T)->lpVtbl->SetAdvise(T,a,b,c)
-#define IViewObject2_GetAdvise(T,a,b,c) (T)->lpVtbl->GetAdvise(T,a,b,c)
-#define IViewObject2_GetExtent(T,a,b,c,d) (T)->lpVtbl->GetExtent(T,a,b,c,d)
-#endif
-
-EXTERN_C const IID IID_IOleCache;
-#undef INTERFACE
-#define INTERFACE IOleCache
-DECLARE_INTERFACE_(IOleCache,IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(Cache)(THIS_ FORMATETC*,DWORD,DWORD*) PURE;
- STDMETHOD(Uncache)(THIS_ DWORD) PURE;
- STDMETHOD(EnumCache)(THIS_ IEnumSTATDATA**);
- STDMETHOD(InitCache)(THIS_ LPDATAOBJECT);
- STDMETHOD(SetData)(THIS_ FORMATETC*,STGMEDIUM*,BOOL);
-};
-
-#ifdef COBJMACROS
-#define IOleCache_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
-#define IOleCache_AddRef(T) (T)->lpVtbl->AddRef(T)
-#define IOleCache_Release(T) (T)->lpVtbl->Release(T)
-#define IOleCache_Cache(T,a,b,c) (T)->lpVtbl->Cache(T,a,b,c)
-#define IOleCache_Uncache(T,a) (T)->lpVtbl->Uncache(T,a)
-#define IOleCache_EnumCache(T,a) (T)->lpVtbl->EnumCache(T,a)
-#define IOleCache_InitCache(T,a) (T)->lpVtbl->InitCache(T,a)
-#define IOleCache_SetData(T,a,b,c) (T)->lpVtbl->SetData(T,a,b,c)
-#endif
-
-EXTERN_C const IID IID_IOleCache2;
-#undef INTERFACE
-#define INTERFACE IOleCache2
-DECLARE_INTERFACE_(IOleCache2,IOleCache)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(Cache)(THIS_ FORMATETC*,DWORD,DWORD*) PURE;
- STDMETHOD(Uncache)(THIS_ DWORD) PURE;
- STDMETHOD(EnumCache)(THIS_ IEnumSTATDATA**) PURE;
- STDMETHOD(InitCache)(THIS_ LPDATAOBJECT) PURE;
- STDMETHOD(SetData)(THIS_ FORMATETC*,STGMEDIUM*,BOOL) PURE;
- STDMETHOD(UpdateCache)(THIS_ LPDATAOBJECT,DWORD,LPVOID) PURE;
- STDMETHOD(DiscardCache)(THIS_ DWORD) PURE;
-};
-
-#ifdef COBJMACROS
-#define IOleCache2_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
-#define IOleCache2_AddRef(T) (T)->lpVtbl->AddRef(T)
-#define IOleCache2_Release(T) (T)->lpVtbl->Release(T)
-#define IOleCache2_Cache(T,a,b,c) (T)->lpVtbl->Cache(T,a,b,c)
-#define IOleCache2_Uncache(T,a) (T)->lpVtbl->Uncache(T,a)
-#define IOleCache2_EnumCache(T,a) (T)->lpVtbl->EnumCache(T,a)
-#define IOleCache2_InitCache(T,a) (T)->lpVtbl->InitCache(T,a)
-#define IOleCache2_SetData(T,a,b,c) (T)->lpVtbl->SetData(T,a,b,c)
-#define IOleCache2_UpdateCache(T,a,b,c) (T)->lpVtbl->UpdateCache(T,a,b,c)
-#define IOleCache2_DiscardCache(T,a) (T)->lpVtbl->DiscardCache(T,a)
-#endif
-
-EXTERN_C const IID IID_IOleCacheControl;
-#undef INTERFACE
-#define INTERFACE IOleCacheControl
-DECLARE_INTERFACE_(IOleCacheControl,IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(OnRun)(THIS_ LPDATAOBJECT) PURE;
- STDMETHOD(OnStop)(THIS) PURE;
-};
-
-#ifdef __cplusplus
-}
-#endif
-#endif
-
diff --git a/winsup/w32api/include/pbt.h b/winsup/w32api/include/pbt.h
deleted file mode 100644
index 2001e1b29..000000000
--- a/winsup/w32api/include/pbt.h
+++ /dev/null
@@ -1,20 +0,0 @@
-#ifndef _PBT_H
-#define _PBT_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#define PBT_APMQUERYSUSPEND 0
-#define PBT_APMQUERYSTANDBY 1
-#define PBT_APMQUERYSUSPENDFAILED 2
-#define PBT_APMQUERYSTANDBYFAILED 3
-#define PBT_APMSUSPEND 4
-#define PBT_APMSTANDBY 5
-#define PBT_APMRESUMECRITICAL 6
-#define PBT_APMRESUMESUSPEND 7
-#define PBT_APMRESUMESTANDBY 8
-#define PBTF_APMRESUMEFROMFAILURE 1
-#define PBT_APMBATTERYLOW 9
-#define PBT_APMPOWERSTATUSCHANGE 10
-#define PBT_APMOEMEVENT 11
-#endif
diff --git a/winsup/w32api/include/poppack.h b/winsup/w32api/include/poppack.h
deleted file mode 100644
index bb04d4524..000000000
--- a/winsup/w32api/include/poppack.h
+++ /dev/null
@@ -1,3 +0,0 @@
-#ifndef RC_INVOKED
-#pragma pack(pop)
-#endif
diff --git a/winsup/w32api/include/powrprof.h b/winsup/w32api/include/powrprof.h
deleted file mode 100644
index dc7d1f356..000000000
--- a/winsup/w32api/include/powrprof.h
+++ /dev/null
@@ -1,120 +0,0 @@
-#ifndef _POWRPROF_H
-#define _POWRPROF_H
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define EnableMultiBatteryDisplay 2
-#define EnablePasswordLogon 4
-#define EnableSysTrayBatteryMeter 1
-#define EnableWakeOnRing 8
-#define EnableVideoDimDisplay 16
-#define NEWSCHEME (UINT)-1
-
-#ifndef RC_INVOKED
-#include <ntdef.h> /* for NTSTATUS */
-typedef struct _GLOBAL_MACHINE_POWER_POLICY{
- ULONG Revision;
- SYSTEM_POWER_STATE LidOpenWakeAc;
- SYSTEM_POWER_STATE LidOpenWakeDc;
- ULONG BroadcastCapacityResolution;
-} GLOBAL_MACHINE_POWER_POLICY, *PGLOBAL_MACHINE_POWER_POLICY;
-typedef struct _GLOBAL_USER_POWER_POLICY{
- ULONG Revision;
- POWER_ACTION_POLICY PowerButtonAc;
- POWER_ACTION_POLICY PowerButtonDc;
- POWER_ACTION_POLICY SleepButtonAc;
- POWER_ACTION_POLICY SleepButtonDc;
- POWER_ACTION_POLICY LidCloseAc;
- POWER_ACTION_POLICY LidCloseDc;
- SYSTEM_POWER_LEVEL DischargePolicy[NUM_DISCHARGE_POLICIES];
- ULONG GlobalFlags;
-} GLOBAL_USER_POWER_POLICY, *PGLOBAL_USER_POWER_POLICY;
-typedef struct _GLOBAL_POWER_POLICY{
- GLOBAL_USER_POWER_POLICY user;
- GLOBAL_MACHINE_POWER_POLICY mach;
-} GLOBAL_POWER_POLICY, *PGLOBAL_POWER_POLICY;
-typedef struct _MACHINE_POWER_POLICY{
- ULONG Revision;
- SYSTEM_POWER_STATE MinSleepAc;
- SYSTEM_POWER_STATE MinSleepDc;
- SYSTEM_POWER_STATE ReducedLatencySleepAc;
- SYSTEM_POWER_STATE ReducedLatencySleepDc;
- ULONG DozeTimeoutAc;
- ULONG DozeTimeoutDc;
- ULONG DozeS4TimeoutAc;
- ULONG DozeS4TimeoutDc;
- UCHAR MinThrottleAc;
- UCHAR MinThrottleDc;
- UCHAR pad1[2];
- POWER_ACTION_POLICY OverThrottledAc;
- POWER_ACTION_POLICY OverThrottledDc;
-} MACHINE_POWER_POLICY, *PMACHINE_POWER_POLICY;
-typedef struct _MACHINE_PROCESSOR_POWER_POLICY {
- ULONG Revision;
- PROCESSOR_POWER_POLICY ProcessorPolicyAc;
- PROCESSOR_POWER_POLICY ProcessorPolicyDc;
-} MACHINE_PROCESSOR_POWER_POLICY, *PMACHINE_PROCESSOR_POWER_POLICY;
-typedef struct _USER_POWER_POLICY{
- ULONG Revision;
- POWER_ACTION_POLICY IdleAc;
- POWER_ACTION_POLICY IdleDc;
- ULONG IdleTimeoutAc;
- ULONG IdleTimeoutDc;
- UCHAR IdleSensitivityAc;
- UCHAR IdleSensitivityDc;
- UCHAR ThrottlePolicyAc;
- UCHAR ThrottlePolicyDc;
- SYSTEM_POWER_STATE MaxSleepAc;
- SYSTEM_POWER_STATE MaxSleepDc;
- ULONG Reserved[2];
- ULONG VideoTimeoutAc;
- ULONG VideoTimeoutDc;
- ULONG SpindownTimeoutAc;
- ULONG SpindownTimeoutDc;
- BOOLEAN OptimizeForPowerAc;
- BOOLEAN OptimizeForPowerDc;
- UCHAR FanThrottleToleranceAc;
- UCHAR FanThrottleToleranceDc;
- UCHAR ForcedThrottleAc;
- UCHAR ForcedThrottleDc;
-} USER_POWER_POLICY, *PUSER_POWER_POLICY;
-typedef struct _POWER_POLICY{
- USER_POWER_POLICY user;
- MACHINE_POWER_POLICY mach;
-} POWER_POLICY, *PPOWER_POLICY;
-typedef BOOLEAN (CALLBACK* PWRSCHEMESENUMPROC)(UINT, DWORD, LPTSTR, DWORD, LPTSTR, PPOWER_POLICY, LPARAM);
-typedef BOOLEAN (CALLBACK* PFNNTINITIATEPWRACTION)(POWER_ACTION, SYSTEM_POWER_STATE, ULONG, BOOLEAN);
-NTSTATUS WINAPI CallNtPowerInformation(POWER_INFORMATION_LEVEL, PVOID, ULONG, PVOID, ULONG);
-BOOLEAN WINAPI CanUserWritePwrScheme(VOID);
-BOOLEAN WINAPI DeletePwrScheme(UINT);
-BOOLEAN WINAPI EnumPwrSchemes(PWRSCHEMESENUMPROC, LPARAM);
-BOOLEAN WINAPI GetActivePwrScheme(PUINT);
-BOOLEAN WINAPI GetCurrentPowerPolicies(PGLOBAL_POWER_POLICY, PPOWER_POLICY);
-BOOLEAN WINAPI GetPwrCapabilities(PSYSTEM_POWER_CAPABILITIES);
-BOOLEAN WINAPI GetPwrDiskSpindownRange(PUINT, PUINT);
-BOOLEAN WINAPI IsAdminOverrideActive(PADMINISTRATOR_POWER_POLICY);
-BOOLEAN WINAPI IsPwrHibernateAllowed(VOID);
-BOOLEAN WINAPI IsPwrShutdownAllowed(VOID);
-BOOLEAN WINAPI IsPwrSuspendAllowed(VOID);
-BOOLEAN WINAPI ReadGlobalPwrPolicy(PGLOBAL_POWER_POLICY);
-BOOLEAN WINAPI ReadProcessorPwrScheme(UINT, PMACHINE_PROCESSOR_POWER_POLICY);
-BOOLEAN WINAPI ReadPwrScheme(UINT, PPOWER_POLICY);
-BOOLEAN WINAPI SetActivePwrScheme(UINT, PGLOBAL_POWER_POLICY, PPOWER_POLICY);
-BOOLEAN WINAPI SetSuspendState(BOOLEAN, BOOLEAN, BOOLEAN);
-BOOLEAN WINAPI WriteGlobalPwrPolicy(PGLOBAL_POWER_POLICY);
-BOOLEAN WINAPI WriteProcessorPwrScheme(UINT, PMACHINE_PROCESSOR_POWER_POLICY);
-BOOLEAN WINAPI ValidatePowerPolicies(PGLOBAL_POWER_POLICY, PPOWER_POLICY);
-BOOLEAN WINAPI WritePwrScheme(PUINT, LPTSTR, LPTSTR, PPOWER_POLICY);
-
-#endif /* RC_INVOKED */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _POWRPROF_H */
diff --git a/winsup/w32api/include/prsht.h b/winsup/w32api/include/prsht.h
deleted file mode 100644
index 299834b68..000000000
--- a/winsup/w32api/include/prsht.h
+++ /dev/null
@@ -1,304 +0,0 @@
-#ifndef _PRSHT_H
-#define _PRSHT_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define MAXPROPPAGES 100
-#define PSP_DEFAULT 0
-#define PSP_DLGINDIRECT 1
-#define PSP_USEHICON 2
-#define PSP_USEICONID 4
-#define PSP_USETITLE 8
-#define PSP_RTLREADING 16
-#define PSP_HASHELP 32
-#define PSP_USEREFPARENT 64
-#define PSP_USECALLBACK 128
-#define PSP_PREMATURE 1024
-#if (_WIN32_IE >= 0x0400)
-#define PSP_HIDEHEADER 2048
-#define PSP_USEHEADERTITLE 4096
-#define PSP_USEHEADERSUBTITLE 8192
-#endif
-#define PSPCB_RELEASE 1
-#define PSPCB_CREATE 2
-#define PSH_DEFAULT 0
-#define PSH_PROPTITLE 1
-#define PSH_USEHICON 2
-#define PSH_USEICONID 4
-#define PSH_PROPSHEETPAGE 8
-#define PSH_WIZARDHASFINISH 16
-#define PSH_WIZARD 32
-#define PSH_USEPSTARTPAGE 64
-#define PSH_NOAPPLYNOW 128
-#define PSH_USECALLBACK 256
-#define PSH_HASHELP 512
-#define PSH_MODELESS 1024
-#define PSH_RTLREADING 2048
-#define PSH_WIZARDCONTEXTHELP 4096
-#if (_WIN32_IE >= 0x0400)
-#define PSH_WATERMARK 32768
-#define PSH_USEHBMWATERMARK 65536
-#define PSH_USEHPLWATERMARK 131072
-#define PSH_STRETCHWATERMARK 262144
-#define PSH_HEADER 524288
-#define PSH_USEHBMHEADER 1048576
-#define PSH_USEPAGELANG 2097152
-#if (_WIN32_IE < 0x0500)
-#define PSH_WIZARD97 0x00002000
-#else
-#define PSH_WIZARD97 0x01000000
-#endif
-#endif /* _WIN32_IE >= 0x0400 */
-#if (_WIN32_IE >= 0x0500)
-#define PSH_WIZARD_LITE 0x400000
-#define PSH_NOCONTEXTHELP 0x2000000
-#endif
-#define PSCB_INITIALIZED 1
-#define PSCB_PRECREATE 2
-#define PSM_GETTABCONTROL 1140
-#define PSM_GETCURRENTPAGEHWND 1142
-#define PSM_ISDIALOGMESSAGE 1141
-#define PSM_PRESSBUTTON 1137
-#define PSM_SETCURSELID 1138
-#define PSM_SETFINISHTEXTW 1145
-#define PSM_SETFINISHTEXTA 1139
-#define PSN_FIRST (-200)
-#define PSN_LAST (-299)
-#define PSN_APPLY (-202)
-#define PSN_HELP (-205)
-#define PSN_KILLACTIVE (-201)
-#define PSN_QUERYCANCEL (-209)
-#define PSN_RESET (-203)
-#define PSN_SETACTIVE (-200)
-#define PSN_WIZBACK (-206)
-#define PSN_WIZFINISH (-208)
-#define PSN_WIZNEXT (-207)
-#define PSNRET_NOERROR 0
-#define PSNRET_INVALID 1
-#define PSNRET_INVALID_NOCHANGEPAGE 2
-#define ID_PSRESTARTWINDOWS 2
-#define ID_PSREBOOTSYSTEM 3
-#define WIZ_CXDLG 276
-#define WIZ_CYDLG 140
-#define WIZ_CXBMP 80
-#define WIZ_BODYX 92
-#define WIZ_BODYCX 184
-#define PROP_SM_CXDLG 212
-#define PROP_SM_CYDLG 188
-#define PROP_MED_CXDLG 227
-#define PROP_MED_CYDLG 215
-#define PROP_LG_CXDLG 252
-#define PROP_LG_CYDLG 218
-#define PSBTN_MAX 6
-#define PSBTN_BACK 0
-#define PSBTN_NEXT 1
-#define PSBTN_FINISH 2
-#define PSBTN_OK 3
-#define PSBTN_APPLYNOW 4
-#define PSBTN_CANCEL 5
-#define PSBTN_HELP 6
-#define PSWIZB_BACK 1
-#define PSWIZB_NEXT 2
-#define PSWIZB_FINISH 4
-#define PSWIZB_DISABLEDFINISH 8
-#define PSM_SETWIZBUTTONS (WM_USER+112)
-#define PSM_APPLY (WM_USER+110)
-#define PSM_UNCHANGED (WM_USER+109)
-#define PSM_QUERYSIBLINGS (WM_USER+108)
-#define PSM_CANCELTOCLOSE (WM_USER+107)
-#define PSM_REBOOTSYSTEM (WM_USER+106)
-#define PSM_RESTARTWINDOWS (WM_USER+105)
-#define PSM_CHANGED (WM_USER+104)
-#define PSM_ADDPAGE (WM_USER+103)
-#define PSM_REMOVEPAGE (WM_USER+102)
-#define PSM_SETCURSEL (WM_USER+101)
-#define PSM_SETTITLEA (WM_USER+111)
-#define PSM_SETTITLEW (WM_USER+120)
-
-#ifndef RC_INVOKED
-
-#pragma pack(push,8)
-typedef struct _PROPSHEETPAGEA {
- DWORD dwSize;
- DWORD dwFlags;
- HINSTANCE hInstance;
- _ANONYMOUS_UNION union {
- LPCSTR pszTemplate;
- LPCDLGTEMPLATE pResource;
- } DUMMYUNIONNAME;
- _ANONYMOUS_UNION union {
- HICON hIcon;
- LPCSTR pszIcon;
- } DUMMYUNIONNAME2;
- LPCSTR pszTitle;
- DLGPROC pfnDlgProc;
- LPARAM lParam;
- UINT(CALLBACK *pfnCallback)(HWND,UINT,struct _PROPSHEETPAGEA*);
- UINT *pcRefParent;
-#if (_WIN32_IE >= 0x0400)
- LPCSTR pszHeaderTitle;
- LPCSTR pszHeaderSubTitle;
-#endif
-} PROPSHEETPAGEA,*LPPROPSHEETPAGEA;
-typedef const PROPSHEETPAGEA *LPCPROPSHEETPAGEA;
-typedef struct _PROPSHEETPAGEW {
- DWORD dwSize;
- DWORD dwFlags;
- HINSTANCE hInstance;
- _ANONYMOUS_UNION union {
- LPCWSTR pszTemplate;
- LPCDLGTEMPLATE pResource;
- } DUMMYUNIONNAME;
- _ANONYMOUS_UNION union {
- HICON hIcon;
- LPCWSTR pszIcon;
- } DUMMYUNIONNAME2;
- LPCWSTR pszTitle;
- DLGPROC pfnDlgProc;
- LPARAM lParam;
- UINT(CALLBACK *pfnCallback)(HWND,UINT,struct _PROPSHEETPAGEW*);
- UINT *pcRefParent;
-#if (_WIN32_IE >= 0x0400)
- LPCWSTR pszHeaderTitle;
- LPCWSTR pszHeaderSubTitle;
-#endif
-} PROPSHEETPAGEW,*LPPROPSHEETPAGEW;
-typedef const PROPSHEETPAGEW *LPCPROPSHEETPAGEW;
-typedef UINT(CALLBACK *LPFNPSPCALLBACKA)(HWND,UINT,LPPROPSHEETPAGEA);
-typedef UINT(CALLBACK *LPFNPSPCALLBACKW)(HWND,UINT,LPPROPSHEETPAGEW);
-typedef int(CALLBACK *PFNPROPSHEETCALLBACK)(HWND,UINT,LPARAM);
-DECLARE_HANDLE(HPROPSHEETPAGE);
-typedef struct _PROPSHEETHEADERA {
- DWORD dwSize;
- DWORD dwFlags;
- HWND hwndParent;
- HINSTANCE hInstance;
- _ANONYMOUS_UNION union {
- HICON hIcon;
- LPCSTR pszIcon;
- }DUMMYUNIONNAME;
- LPCSTR pszCaption;
- UINT nPages;
- _ANONYMOUS_UNION union {
- UINT nStartPage;
- LPCSTR pStartPage;
- }DUMMYUNIONNAME2;
- _ANONYMOUS_UNION union {
- LPCPROPSHEETPAGEA ppsp;
- HPROPSHEETPAGE *phpage;
- }DUMMYUNIONNAME3;
- PFNPROPSHEETCALLBACK pfnCallback;
-#if (_WIN32_IE >= 0x0400)
- _ANONYMOUS_UNION union {
- HBITMAP hbmWatermark;
- LPCSTR pszbmWatermark;
- } DUMMYUNIONNAME4;
- HPALETTE hplWatermark;
- _ANONYMOUS_UNION union {
- HBITMAP hbmHeader;
- LPCSTR pszbmHeader;
- } DUMMYUNIONNAME5;
-#endif
-} PROPSHEETHEADERA,*LPPROPSHEETHEADERA;
-typedef const PROPSHEETHEADERA *LPCPROPSHEETHEADERA;
-typedef struct _PROPSHEETHEADERW {
- DWORD dwSize;
- DWORD dwFlags;
- HWND hwndParent;
- HINSTANCE hInstance;
- _ANONYMOUS_UNION union {
- HICON hIcon;
- LPCWSTR pszIcon;
- }DUMMYUNIONNAME;
- LPCWSTR pszCaption;
- UINT nPages;
- _ANONYMOUS_UNION union {
- UINT nStartPage;
- LPCWSTR pStartPage;
- }DUMMYUNIONNAME2;
- _ANONYMOUS_UNION union {
- LPCPROPSHEETPAGEW ppsp;
- HPROPSHEETPAGE *phpage;
- }DUMMYUNIONNAME3;
- PFNPROPSHEETCALLBACK pfnCallback;
-#if (_WIN32_IE >= 0x0400)
- _ANONYMOUS_UNION union {
- HBITMAP hbmWatermark;
- LPCWSTR pszbmWatermark;
- } DUMMYUNIONNAME4;
- HPALETTE hplWatermark;
- _ANONYMOUS_UNION union {
- HBITMAP hbmHeader;
- LPCWSTR pszbmHeader;
- } DUMMYUNIONNAME5;
-#endif
-} PROPSHEETHEADERW,*LPPROPSHEETHEADERW;
-typedef const PROPSHEETHEADERW *LPCPROPSHEETHEADERW;
-typedef BOOL(CALLBACK *LPFNADDPROPSHEETPAGE)(HPROPSHEETPAGE,LPARAM);
-typedef BOOL(CALLBACK *LPFNADDPROPSHEETPAGES)(LPVOID,LPFNADDPROPSHEETPAGE,LPARAM);
-typedef struct _PSHNOTIFY {
- NMHDR hdr;
- LPARAM lParam;
-} PSHNOTIFY,*LPPSHNOTIFY;
-
-#pragma pack(pop)
-
-HPROPSHEETPAGE WINAPI CreatePropertySheetPageA(LPCPROPSHEETPAGEA);
-HPROPSHEETPAGE WINAPI CreatePropertySheetPageW(LPCPROPSHEETPAGEW);
-BOOL WINAPI DestroyPropertySheetPage(HPROPSHEETPAGE);
-int WINAPI PropertySheetA(LPCPROPSHEETHEADERA);
-int WINAPI PropertySheetW(LPCPROPSHEETHEADERW);
-#define PropSheet_AddPage(d,p) SendMessage(d,PSM_ADDPAGE,0,(LPARAM)p)
-#define PropSheet_Apply(d) SendMessage(d,PSM_APPLY,0,0)
-#define PropSheet_CancelToClose(d) SendMessage(d,PSM_CANCELTOCLOSE,0,0)
-#define PropSheet_Changed(d,w) SendMessage(d,PSM_CHANGED,(WPARAM)w,0)
-#define PropSheet_GetCurrentPageHwnd(d) (HWND)SendMessage(d,PSM_GETCURRENTPAGEHWND,0,0)
-#define PropSheet_GetTabControl(d) (HWND)SendMessage(d,PSM_GETTABCONTROL,0,0)
-#define PropSheet_IsDialogMessage(d,m) (BOOL)SendMessage(d,PSM_ISDIALOGMESSAGE,0,(LPARAM)m)
-#define PropSheet_PressButton(d,i) SendMessage(d,PSM_PRESSBUTTON,i,0)
-#define PropSheet_QuerySiblings(d,w,l) SendMessage(d,PSM_QUERYSIBLINGS,w,l)
-#define PropSheet_RebootSystem(d) SendMessage(d,PSM_REBOOTSYSTEM,0,0)
-#define PropSheet_RemovePage(d,i,p) SendMessage(d,PSM_REMOVEPAGE,i,(LPARAM)p)
-#define PropSheet_RestartWindows(d) SendMessage(d,PSM_RESTARTWINDOWS,0,0)
-#define PropSheet_SetCurSel(d,p,i) SendMessage(d,PSM_SETCURSEL,i,(LPARAM)p)
-#define PropSheet_SetCurSelByID(d,i) SendMessage(d,PSM_SETCURSELID,0,i)
-#define PropSheet_SetFinishText(d,s) SendMessage(d,PSM_SETFINISHTEXT,0,(LPARAM)s)
-#define PropSheet_SetTitle(d,w,s) SendMessage(d,PSM_SETTITLE,w,(LPARAM)s)
-#define PropSheet_SetWizButtons(d,f) PostMessage(d,PSM_SETWIZBUTTONS,0,(LPARAM)f)
-#define PropSheet_UnChanged(d,w) SendMessage(d,PSM_UNCHANGED,(WPARAM)w,0)
-#endif
-
-#ifdef UNICODE
-#define LPFNPSPCALLBACK LPFNPSPCALLBACKW
-#define PROPSHEETPAGE PROPSHEETPAGEW
-#define LPPROPSHEETPAGE LPPROPSHEETPAGEW
-#define LPCPROPSHEETPAGE LPCPROPSHEETPAGEW
-#define PROPSHEETHEADER PROPSHEETHEADERW
-#define LPPROPSHEETHEADER LPPROPSHEETHEADERW
-#define LPCPROPSHEETHEADER LPCPROPSHEETHEADERW
-#define PSM_SETTITLE PSM_SETTITLEW
-#define PSM_SETFINISHTEXT PSM_SETFINISHTEXTW
-#define CreatePropertySheetPage CreatePropertySheetPageW
-#define PropertySheet PropertySheetW
-#else
-#define LPFNPSPCALLBACK LPFNPSPCALLBACKA
-#define PROPSHEETPAGE PROPSHEETPAGEA
-#define LPPROPSHEETPAGE LPPROPSHEETPAGEA
-#define LPCPROPSHEETPAGE LPCPROPSHEETPAGEA
-#define PROPSHEETHEADER PROPSHEETHEADERA
-#define LPPROPSHEETHEADER LPPROPSHEETHEADERA
-#define LPCPROPSHEETHEADER LPCPROPSHEETHEADERA
-#define PSM_SETTITLE PSM_SETTITLEA
-#define PSM_SETFINISHTEXT PSM_SETFINISHTEXTA
-#define CreatePropertySheetPage CreatePropertySheetPageA
-#define PropertySheet PropertySheetA
-#endif
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/winsup/w32api/include/psapi.h b/winsup/w32api/include/psapi.h
deleted file mode 100644
index af72931ef..000000000
--- a/winsup/w32api/include/psapi.h
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- psapi.h - Include file for PSAPI.DLL APIs
-
- Written by Mumit Khan <khan@nanotech.wisc.edu>
-
- This file is part of a free library for the Win32 API.
-
- NOTE: This strictly does not belong in the Win32 API since it's
- really part of Platform SDK. However,GDB needs it and we might
- as well provide it here.
-
- This library 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.
-
-*/
-#ifndef _PSAPI_H
-#define _PSAPI_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#ifndef RC_INVOKED
-
-typedef struct _MODULEINFO {
- LPVOID lpBaseOfDll;
- DWORD SizeOfImage;
- LPVOID EntryPoint;
-} MODULEINFO,*LPMODULEINFO;
-
-typedef struct _PSAPI_WS_WATCH_INFORMATION {
- LPVOID FaultingPc;
- LPVOID FaultingVa;
-} PSAPI_WS_WATCH_INFORMATION,*PPSAPI_WS_WATCH_INFORMATION;
-
-typedef struct _PROCESS_MEMORY_COUNTERS {
- DWORD cb;
- DWORD PageFaultCount;
- DWORD PeakWorkingSetSize;
- DWORD WorkingSetSize;
- DWORD QuotaPeakPagedPoolUsage;
- DWORD QuotaPagedPoolUsage;
- DWORD QuotaPeakNonPagedPoolUsage;
- DWORD QuotaNonPagedPoolUsage;
- DWORD PagefileUsage;
- DWORD PeakPagefileUsage;
-} PROCESS_MEMORY_COUNTERS,*PPROCESS_MEMORY_COUNTERS;
-
-/* Grouped by application,not in alphabetical order. */
-BOOL WINAPI EnumProcesses(DWORD *,DWORD,DWORD *);
-BOOL WINAPI EnumProcessModules(HANDLE,HMODULE *,DWORD,LPDWORD);
-DWORD WINAPI GetModuleBaseNameA(HANDLE,HMODULE,LPSTR,DWORD);
-DWORD WINAPI GetModuleBaseNameW(HANDLE,HMODULE,LPWSTR,DWORD);
-DWORD WINAPI GetModuleFileNameExA(HANDLE,HMODULE,LPSTR,DWORD);
-DWORD WINAPI GetModuleFileNameExW(HANDLE,HMODULE,LPWSTR,DWORD);
-BOOL WINAPI GetModuleInformation(HANDLE,HMODULE,LPMODULEINFO,DWORD);
-BOOL WINAPI EmptyWorkingSet(HANDLE);
-BOOL WINAPI QueryWorkingSet(HANDLE,PVOID,DWORD);
-BOOL WINAPI InitializeProcessForWsWatch(HANDLE);
-BOOL WINAPI GetWsChanges(HANDLE,PPSAPI_WS_WATCH_INFORMATION,DWORD);
-DWORD WINAPI GetMappedFileNameW(HANDLE,LPVOID,LPWSTR,DWORD);
-DWORD WINAPI GetMappedFileNameA(HANDLE,LPVOID,LPSTR,DWORD);
-BOOL WINAPI EnumDeviceDrivers(LPVOID *,DWORD,LPDWORD);
-DWORD WINAPI GetDeviceDriverBaseNameA(LPVOID,LPSTR,DWORD);
-DWORD WINAPI GetDeviceDriverBaseNameW(LPVOID,LPWSTR,DWORD);
-DWORD WINAPI GetDeviceDriverFileNameA(LPVOID,LPSTR,DWORD);
-DWORD WINAPI GetDeviceDriverFileNameW(LPVOID,LPWSTR,DWORD);
-BOOL WINAPI GetProcessMemoryInfo(HANDLE,PPROCESS_MEMORY_COUNTERS,DWORD);
-
-#endif /* not RC_INVOKED */
-
-#ifdef UNICODE
-#define GetModuleBaseName GetModuleBaseNameW
-#define GetModuleFileNameEx GetModuleFileNameExW
-#define GetMappedFilenameEx GetMappedFilenameExW
-#define GetDeviceDriverBaseName GetDeviceDriverBaseNameW
-#define GetDeviceDriverFileName GetDeviceDriverFileNameW
-#else
-#define GetModuleBaseName GetModuleBaseNameA
-#define GetModuleFileNameEx GetModuleFileNameExA
-#define GetMappedFilenameEx GetMappedFilenameExA
-#define GetDeviceDriverBaseName GetDeviceDriverBaseNameA
-#define GetDeviceDriverFileName GetDeviceDriverFileNameA
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _PSAPI_H */
-
diff --git a/winsup/w32api/include/pshpack1.h b/winsup/w32api/include/pshpack1.h
deleted file mode 100644
index 3cbcf238b..000000000
--- a/winsup/w32api/include/pshpack1.h
+++ /dev/null
@@ -1,3 +0,0 @@
-#ifndef RC_INVOKED
-#pragma pack(push,1)
-#endif
diff --git a/winsup/w32api/include/pshpack2.h b/winsup/w32api/include/pshpack2.h
deleted file mode 100644
index 4d88e004e..000000000
--- a/winsup/w32api/include/pshpack2.h
+++ /dev/null
@@ -1,3 +0,0 @@
-#ifndef RC_INVOKED
-#pragma pack(push,2)
-#endif
diff --git a/winsup/w32api/include/pshpack4.h b/winsup/w32api/include/pshpack4.h
deleted file mode 100644
index c1c3cf959..000000000
--- a/winsup/w32api/include/pshpack4.h
+++ /dev/null
@@ -1,3 +0,0 @@
-#ifndef RC_INVOKED
-#pragma pack(push,4)
-#endif
diff --git a/winsup/w32api/include/pshpack8.h b/winsup/w32api/include/pshpack8.h
deleted file mode 100644
index f0c4539b9..000000000
--- a/winsup/w32api/include/pshpack8.h
+++ /dev/null
@@ -1,3 +0,0 @@
-#ifndef RC_INVOKED
-#pragma pack(push,8)
-#endif
diff --git a/winsup/w32api/include/rapi.h b/winsup/w32api/include/rapi.h
deleted file mode 100644
index 4cf6515b4..000000000
--- a/winsup/w32api/include/rapi.h
+++ /dev/null
@@ -1,54 +0,0 @@
-/* rapi.h - main header file for the RAPI API
-
- NOTE: This strictly does not belong in the Win32 API since it's
- really part of Platform SDK.
-
-*/
-
-#ifndef _RAPI_H
-#define _RAPI_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-typedef struct IRAPIStream
-{
- struct IRAPIStreamVtbl * lpVtbl;
-} IRAPIStream;
-
-typedef struct IRAPIStreamVtbl IRAPIStreamVtbl;
-
-typedef enum tagRAPISTREAMFLAG
-{
- STREAM_TIMEOUT_READ
-} RAPISTREAMFLAG;
-
-struct IRAPIStreamVtbl
-{
- HRESULT (__stdcall * SetRapiStat)( IRAPIStream *, RAPISTREAMFLAG, DWORD);
- HRESULT (__stdcall * GetRapiStat)( IRAPIStream *, RAPISTREAMFLAG, DWORD *);
-};
-
-typedef HRESULT (STDAPICALLTYPE RAPIEXT)(DWORD, BYTE, DWORD, BYTE, IRAPIStream *);
-
-typedef struct _RAPIINIT
-{
- DWORD cbSize;
- HANDLE heRapiInit;
- HRESULT hrRapiInit;
-} RAPIINIT;
-
-STDAPI CeRapiInit (void);
-STDAPI CeRapiInitEx (RAPIINIT*);
-STDAPI_(BOOL) CeCreateProcess (LPCWSTR, LPCWSTR, LPSECURITY_ATTRIBUTES, LPSECURITY_ATTRIBUTES,
- BOOL, DWORD, LPVOID, LPWSTR, LPSTARTUPINFO, LPPROCESS_INFORMATION);
-STDAPI CeRapiUninit (void);
-
-STDAPI_(BOOL) CeWriteFile (HANDLE, LPCVOID, DWORD, LPDWORD, LPOVERLAPPED);
-STDAPI_(HANDLE) CeCreateFile (LPCWSTR, DWORD, DWORD, LPSECURITY_ATTRIBUTES, DWORD, DWORD, HANDLE);
-STDAPI_(BOOL) CeCreateDirectory (LPCWSTR, LPSECURITY_ATTRIBUTES);
-STDAPI_(DWORD) CeGetLastError (void);
-STDAPI_(BOOL) CeGetFileTime (HANDLE, LPFILETIME, LPFILETIME, LPFILETIME);
-STDAPI_(BOOL) CeCloseHandle (HANDLE);
-
-#endif /* _RAPI_H */
diff --git a/winsup/w32api/include/ras.h b/winsup/w32api/include/ras.h
deleted file mode 100644
index db7c3c3db..000000000
--- a/winsup/w32api/include/ras.h
+++ /dev/null
@@ -1,964 +0,0 @@
-#ifndef _RAS_H
-#define _RAS_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-
-#ifndef _LMCONS_H
-#include <lmcons.h>
-#endif
-
-/* TODO
-include <basetsd.h> from winnt.h so that this typedef is not necessary
-*/
-#ifndef _BASETSD_H
-typedef unsigned long ULONG_PTR, *PULONG_PTR;
-#endif
-
-#include <pshpack4.h>
-
-#define RAS_MaxDeviceType 16
-#define RAS_MaxPhoneNumber 128
-#define RAS_MaxIpAddress 15
-#define RAS_MaxIpxAddress 21
-#define RAS_MaxEntryName 256
-#define RAS_MaxDeviceName 128
-#define RAS_MaxCallbackNumber RAS_MaxPhoneNumber
-#define RAS_MaxAreaCode 10
-#define RAS_MaxPadType 32
-#define RAS_MaxX25Address 200
-#define RAS_MaxFacilities 200
-#define RAS_MaxUserData 200
-#define RAS_MaxReplyMessage 1024
-#define RDEOPT_UsePrefixSuffix 0x00000001
-#define RDEOPT_PausedStates 0x00000002
-#define RDEOPT_IgnoreModemSpeaker 0x00000004
-#define RDEOPT_SetModemSpeaker 0x00000008
-#define RDEOPT_IgnoreSoftwareCompression 0x00000010
-#define RDEOPT_SetSoftwareCompression 0x00000020
-#define RDEOPT_DisableConnectedUI 0x00000040
-#define RDEOPT_DisableReconnectUI 0x00000080
-#define RDEOPT_DisableReconnect 0x00000100
-#define RDEOPT_NoUser 0x00000200
-#define RDEOPT_PauseOnScript 0x00000400
-#define RDEOPT_Router 0x00000800
-#define REN_User 0x00000000
-#define REN_AllUsers 0x00000001
-#define VS_Default 0
-#define VS_PptpOnly 1
-#define VS_PptpFirst 2
-#define VS_L2tpOnly 3
-#define VS_L2tpFirst 4
-#define RASDIALEVENT "RasDialEvent"
-#define WM_RASDIALEVENT 0xCCCD
-#define RASEO_UseCountryAndAreaCodes 0x00000001
-#define RASEO_SpecificIpAddr 0x00000002
-#define RASEO_SpecificNameServers 0x00000004
-#define RASEO_IpHeaderCompression 0x00000008
-#define RASEO_RemoteDefaultGateway 0x00000010
-#define RASEO_DisableLcpExtensions 0x00000020
-#define RASEO_TerminalBeforeDial 0x00000040
-#define RASEO_TerminalAfterDial 0x00000080
-#define RASEO_ModemLights 0x00000100
-#define RASEO_SwCompression 0x00000200
-#define RASEO_RequireEncryptedPw 0x00000400
-#define RASEO_RequireMsEncryptedPw 0x00000800
-#define RASEO_RequireDataEncryption 0x00001000
-#define RASEO_NetworkLogon 0x00002000
-#define RASEO_UseLogonCredentials 0x00004000
-#define RASEO_PromoteAlternates 0x00008000
-#define RASNP_NetBEUI 0x00000001
-#define RASNP_Ipx 0x00000002
-#define RASNP_Ip 0x00000004
-#define RASFP_Ppp 0x00000001
-#define RASFP_Slip 0x00000002
-#define RASFP_Ras 0x00000004
-#define RASDT_Modem TEXT("modem")
-#define RASDT_Isdn TEXT("isdn")
-#define RASDT_X25 TEXT("x25")
-#define RASDT_Vpn TEXT("vpn")
-#define RASDT_Pad TEXT("pad")
-#define RASDT_Generic TEXT("GENERIC")
-#define RASDT_Serial TEXT("SERIAL")
-#define RASDT_FrameRelay TEXT("FRAMERELAY")
-#define RASDT_Atm TEXT("ATM")
-#define RASDT_Sonet TEXT("SONET")
-#define RASDT_SW56 TEXT("SW56")
-#define RASDT_Irda TEXT("IRDA")
-#define RASDT_Parallel TEXT("PARALLEL")
-#define RASET_Phone 1
-#define RASET_Vpn 2
-#define RASET_Direct 3
-#define RASET_Internet 4
-#if (WINVER >= 0x401)
-#define RASEO_SecureLocalFiles 0x00010000
-#define RASCN_Connection 0x00000001
-#define RASCN_Disconnection 0x00000002
-#define RASCN_BandwidthAdded 0x00000004
-#define RASCN_BandwidthRemoved 0x00000008
-#define RASEDM_DialAll 1
-#define RASEDM_DialAsNeeded 2
-#define RASIDS_Disabled 0xffffffff
-#define RASIDS_UseGlobalValue 0
-#define RASADFLG_PositionDlg 0x00000001
-#define RASCM_UserName 0x00000001
-#define RASCM_Password 0x00000002
-#define RASCM_Domain 0x00000004
-#define RASADP_DisableConnectionQuery 0
-#define RASADP_LoginSessionDisable 1
-#define RASADP_SavedAddressesLimit 2
-#define RASADP_FailedConnectionTimeout 3
-#define RASADP_ConnectionQueryTimeout 4
-#endif /* (WINVER >= 0x401) */
-#if (WINVER >= 0x500)
-#define RDEOPT_CustomDial 0x00001000
-#define RASLCPAP_PAP 0xC023
-#define RASLCPAP_SPAP 0xC027
-#define RASLCPAP_CHAP 0xC223
-#define RASLCPAP_EAP 0xC227
-#define RASLCPAD_CHAP_MD5 0x05
-#define RASLCPAD_CHAP_MS 0x80
-#define RASLCPAD_CHAP_MSV2 0x81
-#define RASLCPO_PFC 0x00000001
-#define RASLCPO_ACFC 0x00000002
-#define RASLCPO_SSHF 0x00000004
-#define RASLCPO_DES_56 0x00000008
-#define RASLCPO_3_DES 0x00000010
-#define RASCCPCA_MPPC 0x00000006
-#define RASCCPCA_STAC 0x00000005
-#define RASCCPO_Compression 0x00000001
-#define RASCCPO_HistoryLess 0x00000002
-#define RASCCPO_Encryption56bit 0x00000010
-#define RASCCPO_Encryption40bit 0x00000020
-#define RASCCPO_Encryption128bit 0x00000040
-#define RASEO_RequireEAP 0x00020000
-#define RASEO_RequirePAP 0x00040000
-#define RASEO_RequireSPAP 0x00080000
-#define RASEO_Custom 0x00100000
-#define RASEO_PreviewPhoneNumber 0x00200000
-#define RASEO_SharedPhoneNumbers 0x00800000
-#define RASEO_PreviewUserPw 0x01000000
-#define RASEO_PreviewDomain 0x02000000
-#define RASEO_ShowDialingProgress 0x04000000
-#define RASEO_RequireCHAP 0x08000000
-#define RASEO_RequireMsCHAP 0x10000000
-#define RASEO_RequireMsCHAP2 0x20000000
-#define RASEO_RequireW95MSCHAP 0x40000000
-#define RASEO_CustomScript 0x80000000
-#define RASIPO_VJ 0x00000001
-#define RCD_SingleUser 0
-#define RCD_AllUsers 0x00000001
-#define RCD_Eap 0x00000002
-#define RASEAPF_NonInteractive 0x00000002
-#define RASEAPF_Logon 0x00000004
-#define RASEAPF_Preview 0x00000008
-#define ET_40Bit 1
-#define ET_128Bit 2
-#define ET_None 0
-#define ET_Require 1
-#define ET_RequireMax 2
-#define ET_Optional 3
-#endif /* (WINVER >= 0x500) */
-
-#define RASCS_PAUSED 0x1000
-#define RASCS_DONE 0x2000
-typedef enum tagRASCONNSTATE {
- RASCS_OpenPort = 0,
- RASCS_PortOpened,
- RASCS_ConnectDevice,
- RASCS_DeviceConnected,
- RASCS_AllDevicesConnected,
- RASCS_Authenticate,
- RASCS_AuthNotify,
- RASCS_AuthRetry,
- RASCS_AuthCallback,
- RASCS_AuthChangePassword,
- RASCS_AuthProject,
- RASCS_AuthLinkSpeed,
- RASCS_AuthAck,
- RASCS_ReAuthenticate,
- RASCS_Authenticated,
- RASCS_PrepareForCallback,
- RASCS_WaitForModemReset,
- RASCS_WaitForCallback,
- RASCS_Projected,
- RASCS_StartAuthentication,
- RASCS_CallbackComplete,
- RASCS_LogonNetwork,
- RASCS_SubEntryConnected,
- RASCS_SubEntryDisconnected,
- RASCS_Interactive = RASCS_PAUSED,
- RASCS_RetryAuthentication,
- RASCS_CallbackSetByCaller,
- RASCS_PasswordExpired,
-#if (WINVER >= 0x500)
- RASCS_InvokeEapUI,
-#endif
- RASCS_Connected = RASCS_DONE,
- RASCS_Disconnected
-} RASCONNSTATE, *LPRASCONNSTATE;
-
-typedef enum tagRASPROJECTION {
- RASP_Amb = 0x10000,
- RASP_PppNbf = 0x803F,
- RASP_PppIpx = 0x802B,
- RASP_PppIp = 0x8021,
-#if (WINVER >= 0x500)
- RASP_PppCcp = 0x80FD,
-#endif
- RASP_PppLcp = 0xC021,
- RASP_Slip = 0x20000
-} RASPROJECTION, *LPRASPROJECTION;
-
-DECLARE_HANDLE (HRASCONN);
-typedef HRASCONN* LPHRASCONN;
-
-typedef struct tagRASCONNW {
- DWORD dwSize;
- HRASCONN hrasconn;
- WCHAR szEntryName[RAS_MaxEntryName + 1];
-#if (WINVER >= 0x400)
- WCHAR szDeviceType[RAS_MaxDeviceType + 1];
- WCHAR szDeviceName[RAS_MaxDeviceName + 1];
-#endif
-#if (WINVER >= 0x401)
- WCHAR szPhonebook[MAX_PATH];
- DWORD dwSubEntry;
-#endif
-#if (WINVER >= 0x500)
- GUID guidEntry;
-#endif
-#if (WINVER >= 0x501)
- DWORD dwFlags;
- LUID luid;
-#endif
-} RASCONNW, *LPRASCONNW;
-
-typedef struct tagRASCONNA {
- DWORD dwSize;
- HRASCONN hrasconn;
- CHAR szEntryName[RAS_MaxEntryName + 1];
-#if (WINVER >= 0x400)
- CHAR szDeviceType[RAS_MaxDeviceType + 1];
- CHAR szDeviceName[RAS_MaxDeviceName + 1];
-#endif
-#if (WINVER >= 0x401)
- CHAR szPhonebook[MAX_PATH];
- DWORD dwSubEntry;
-#endif
-#if (WINVER >= 0x500)
- GUID guidEntry;
-#endif
-#if (WINVER >= 0x501)
- DWORD dwFlags;
- LUID luid;
-#endif
-} RASCONNA, *LPRASCONNA;
-
-typedef struct tagRASCONNSTATUSW {
- DWORD dwSize;
- RASCONNSTATE rasconnstate;
- DWORD dwError;
- WCHAR szDeviceType[RAS_MaxDeviceType + 1];
- WCHAR szDeviceName[RAS_MaxDeviceName + 1];
-#if (WINVER >= 0x401)
- WCHAR szPhoneNumber[RAS_MaxPhoneNumber + 1];
-#endif
-} RASCONNSTATUSW, *LPRASCONNSTATUSW;
-
-typedef struct tagRASCONNSTATUSA {
- DWORD dwSize;
- RASCONNSTATE rasconnstate;
- DWORD dwError;
- CHAR szDeviceType[RAS_MaxDeviceType + 1];
- CHAR szDeviceName[RAS_MaxDeviceName + 1];
-#if (WINVER >= 0x401)
- CHAR szPhoneNumber[RAS_MaxPhoneNumber + 1];
-#endif
-} RASCONNSTATUSA, *LPRASCONNSTATUSA;
-
-typedef struct tagRASDIALPARAMSW {
- DWORD dwSize;
- WCHAR szEntryName[RAS_MaxEntryName + 1];
- WCHAR szPhoneNumber[RAS_MaxPhoneNumber + 1];
- WCHAR szCallbackNumber[RAS_MaxCallbackNumber + 1];
- WCHAR szUserName[UNLEN + 1];
- WCHAR szPassword[PWLEN + 1];
- WCHAR szDomain[DNLEN + 1];
-#if (WINVER >= 0x401)
- DWORD dwSubEntry;
- ULONG_PTR dwCallbackId;
-#endif
-} RASDIALPARAMSW, *LPRASDIALPARAMSW;
-
-typedef struct tagRASDIALPARAMSA {
- DWORD dwSize;
- CHAR szEntryName[RAS_MaxEntryName + 1];
- CHAR szPhoneNumber[RAS_MaxPhoneNumber + 1];
- CHAR szCallbackNumber[RAS_MaxCallbackNumber + 1];
- CHAR szUserName[UNLEN + 1];
- CHAR szPassword[PWLEN + 1];
- CHAR szDomain[DNLEN + 1];
-#if (WINVER >= 0x401)
- DWORD dwSubEntry;
- ULONG_PTR dwCallbackId;
-#endif
-} RASDIALPARAMSA, *LPRASDIALPARAMSA;
-
-#if (WINVER >= 0x500)
-typedef struct tagRASEAPINFO {
- DWORD dwSizeofEapInfo;
- BYTE *pbEapInfo;
-} RASEAPINFO;
-#endif
-
-typedef struct tagRASDIALEXTENSIONS {
- DWORD dwSize;
- DWORD dwfOptions;
- HWND hwndParent;
- ULONG_PTR reserved;
-#if (WINVER >= 0x500)
- ULONG_PTR reserved1;
- RASEAPINFO RasEapInfo;
-#endif
-} RASDIALEXTENSIONS, *LPRASDIALEXTENSIONS;
-
-typedef struct tagRASENTRYNAMEW {
- DWORD dwSize;
- WCHAR szEntryName[RAS_MaxEntryName + 1];
-#if (WINVER >= 0x500)
- DWORD dwFlags;
- WCHAR szPhonebookPath[MAX_PATH + 1];
-#endif
-} RASENTRYNAMEW, *LPRASENTRYNAMEW;
-
-typedef struct tagRASENTRYNAMEA {
- DWORD dwSize;
- CHAR szEntryName[RAS_MaxEntryName + 1];
-#if (WINVER >= 0x500)
- DWORD dwFlags;
- CHAR szPhonebookPath[MAX_PATH + 1];
-#endif
-} RASENTRYNAMEA, *LPRASENTRYNAMEA;
-
-typedef struct tagRASAMBW {
- DWORD dwSize;
- DWORD dwError;
- WCHAR szNetBiosError[NETBIOS_NAME_LEN + 1];
- BYTE bLana;
-} RASAMBW, *LPRASAMBW;
-
-typedef struct tagRASAMBA {
- DWORD dwSize;
- DWORD dwError;
- CHAR szNetBiosError[NETBIOS_NAME_LEN + 1];
- BYTE bLana;
-} RASAMBA, *LPRASAMBA;
-
-typedef struct tagRASPPPNBFW {
- DWORD dwSize;
- DWORD dwError;
- DWORD dwNetBiosError;
- WCHAR szNetBiosError[NETBIOS_NAME_LEN + 1];
- WCHAR szWorkstationName[NETBIOS_NAME_LEN + 1];
- BYTE bLana;
-} RASPPPNBFW, *LPRASPPPNBFW;
-
-typedef struct tagRASPPPNBFA {
- DWORD dwSize;
- DWORD dwError;
- DWORD dwNetBiosError;
- CHAR szNetBiosError[NETBIOS_NAME_LEN + 1];
- CHAR szWorkstationName[NETBIOS_NAME_LEN + 1];
- BYTE bLana;
-} RASPPPNBFA, *LPRASPPPNBFA;
-
-typedef struct tagRASIPXW {
- DWORD dwSize;
- DWORD dwError;
- WCHAR szIpxAddress[RAS_MaxIpxAddress + 1];
-} RASPPPIPXW, *LPRASPPPIPXW;
-
-typedef struct tagRASIPXA {
- DWORD dwSize;
- DWORD dwError;
- CHAR szIpxAddress[RAS_MaxIpxAddress + 1];
-} RASPPPIPXA, *LPRASPPPIPXA;
-
-typedef struct tagRASPPPIPW {
- DWORD dwSize;
- DWORD dwError;
- WCHAR szIpAddress[RAS_MaxIpAddress + 1];
-#ifndef WINNT35COMPATIBLE
- WCHAR szServerIpAddress[RAS_MaxIpAddress + 1];
-#endif
-#if (WINVER >= 0x500)
- DWORD dwOptions;
- DWORD dwServerOptions;
-#endif
-} RASPPPIPW, *LPRASPPPIPW;
-
-typedef struct tagRASPPPIPA {
- DWORD dwSize;
- DWORD dwError;
- CHAR szIpAddress[RAS_MaxIpAddress + 1];
-#ifndef WINNT35COMPATIBLE
- CHAR szServerIpAddress[RAS_MaxIpAddress + 1];
-#endif
-#if (WINVER >= 0x500)
- DWORD dwOptions;
- DWORD dwServerOptions;
-#endif
-} RASPPPIPA, *LPRASPPPIPA;
-
-typedef struct tagRASPPPLCPW {
- DWORD dwSize;
- BOOL fBundled;
-#if (WINVER >= 0x500)
- DWORD dwError;
- DWORD dwAuthenticationProtocol;
- DWORD dwAuthenticationData;
- DWORD dwEapTypeId;
- DWORD dwServerAuthenticationProtocol;
- DWORD dwServerAuthenticationData;
- DWORD dwServerEapTypeId;
- BOOL fMultilink;
- DWORD dwTerminateReason;
- DWORD dwServerTerminateReason;
- WCHAR szReplyMessage[RAS_MaxReplyMessage];
- DWORD dwOptions;
- DWORD dwServerOptions;
-#endif
-} RASPPPLCPW, *LPRASPPPLCPW;
-
-typedef struct tagRASPPPLCPA {
- DWORD dwSize;
- BOOL fBundled;
-#if (WINVER >= 0x500)
- DWORD dwError;
- DWORD dwAuthenticationProtocol;
- DWORD dwAuthenticationData;
- DWORD dwEapTypeId;
- DWORD dwServerAuthenticationProtocol;
- DWORD dwServerAuthenticationData;
- DWORD dwServerEapTypeId;
- BOOL fMultilink;
- DWORD dwTerminateReason;
- DWORD dwServerTerminateReason;
- CHAR szReplyMessage[RAS_MaxReplyMessage];
- DWORD dwOptions;
- DWORD dwServerOptions;
-#endif
-} RASPPPLCPA, *LPRASPPPLCPA;
-
-typedef struct tagRASSLIPW {
- DWORD dwSize;
- DWORD dwError;
- WCHAR szIpAddress[RAS_MaxIpAddress + 1];
-} RASSLIPW, *LPRASSLIPW;
-
-
-typedef struct tagRASSLIPA {
- DWORD dwSize;
- DWORD dwError;
- CHAR szIpAddress[RAS_MaxIpAddress + 1];
-} RASSLIPA, *LPRASSLIPA;
-
-typedef struct tagRASDEVINFOW {
- DWORD dwSize;
- WCHAR szDeviceType[RAS_MaxDeviceType + 1];
- WCHAR szDeviceName[RAS_MaxDeviceName + 1];
-} RASDEVINFOW, *LPRASDEVINFOW;
-
-typedef struct tagRASDEVINFOA {
- DWORD dwSize;
- CHAR szDeviceType[RAS_MaxDeviceType + 1];
- CHAR szDeviceName[RAS_MaxDeviceName + 1];
-} RASDEVINFOA, *LPRASDEVINFOA;
-
-typedef struct tagRASCTRYINFO {
- DWORD dwSize;
- DWORD dwCountryID;
- DWORD dwNextCountryID;
- DWORD dwCountryCode;
- DWORD dwCountryNameOffset;
-} RASCTRYINFO, *LPRASCTRYINFO;
-
-typedef RASCTRYINFO RASCTRYINFOW, *LPRASCTRYINFOW;
-typedef RASCTRYINFO RASCTRYINFOA, *LPRASCTRYINFOA;
-
-typedef struct tagRASIPADDR {
- BYTE a;
- BYTE b;
- BYTE c;
- BYTE d;
-} RASIPADDR;
-
-typedef struct tagRASENTRYW {
- DWORD dwSize;
- DWORD dwfOptions;
- DWORD dwCountryID;
- DWORD dwCountryCode;
- WCHAR szAreaCode[RAS_MaxAreaCode + 1];
- WCHAR szLocalPhoneNumber[RAS_MaxPhoneNumber + 1];
- DWORD dwAlternateOffset;
- RASIPADDR ipaddr;
- RASIPADDR ipaddrDns;
- RASIPADDR ipaddrDnsAlt;
- RASIPADDR ipaddrWins;
- RASIPADDR ipaddrWinsAlt;
- DWORD dwFrameSize;
- DWORD dwfNetProtocols;
- DWORD dwFramingProtocol;
- WCHAR szScript[MAX_PATH];
- WCHAR szAutodialDll[MAX_PATH];
- WCHAR szAutodialFunc[MAX_PATH];
- WCHAR szDeviceType[RAS_MaxDeviceType + 1];
- WCHAR szDeviceName[RAS_MaxDeviceName + 1];
- WCHAR szX25PadType[RAS_MaxPadType + 1];
- WCHAR szX25Address[RAS_MaxX25Address + 1];
- WCHAR szX25Facilities[RAS_MaxFacilities + 1];
- WCHAR szX25UserData[RAS_MaxUserData + 1];
- DWORD dwChannels;
- DWORD dwReserved1;
- DWORD dwReserved2;
-#if (WINVER >= 0x401)
- DWORD dwSubEntries;
- DWORD dwDialMode;
- DWORD dwDialExtraPercent;
- DWORD dwDialExtraSampleSeconds;
- DWORD dwHangUpExtraPercent;
- DWORD dwHangUpExtraSampleSeconds;
- DWORD dwIdleDisconnectSeconds;
-#endif
-#if (WINVER >= 0x500)
- DWORD dwType;
- DWORD dwEncryptionType;
- DWORD dwCustomAuthKey;
- GUID guidId;
- WCHAR szCustomDialDll[MAX_PATH];
- DWORD dwVpnStrategy;
-#endif
-} RASENTRYW, *LPRASENTRYW;
-
-typedef struct tagRASENTRYA {
- DWORD dwSize;
- DWORD dwfOptions;
- DWORD dwCountryID;
- DWORD dwCountryCode;
- CHAR szAreaCode[RAS_MaxAreaCode + 1];
- CHAR szLocalPhoneNumber[RAS_MaxPhoneNumber + 1];
- DWORD dwAlternateOffset;
- RASIPADDR ipaddr;
- RASIPADDR ipaddrDns;
- RASIPADDR ipaddrDnsAlt;
- RASIPADDR ipaddrWins;
- RASIPADDR ipaddrWinsAlt;
- DWORD dwFrameSize;
- DWORD dwfNetProtocols;
- DWORD dwFramingProtocol;
- CHAR szScript[MAX_PATH];
- CHAR szAutodialDll[MAX_PATH];
- CHAR szAutodialFunc[MAX_PATH];
- CHAR szDeviceType[RAS_MaxDeviceType + 1];
- CHAR szDeviceName[RAS_MaxDeviceName + 1];
- CHAR szX25PadType[RAS_MaxPadType + 1];
- CHAR szX25Address[RAS_MaxX25Address + 1];
- CHAR szX25Facilities[RAS_MaxFacilities + 1];
- CHAR szX25UserData[RAS_MaxUserData + 1];
- DWORD dwChannels;
- DWORD dwReserved1;
- DWORD dwReserved2;
-#if (WINVER >= 0x401)
- DWORD dwSubEntries;
- DWORD dwDialMode;
- DWORD dwDialExtraPercent;
- DWORD dwDialExtraSampleSeconds;
- DWORD dwHangUpExtraPercent;
- DWORD dwHangUpExtraSampleSeconds;
- DWORD dwIdleDisconnectSeconds;
-#endif
-#if (WINVER >= 0x500)
- DWORD dwType;
- DWORD dwEncryptionType;
- DWORD dwCustomAuthKey;
- GUID guidId;
- CHAR szCustomDialDll[MAX_PATH];
- DWORD dwVpnStrategy;
-#endif
-} RASENTRYA, *LPRASENTRYA;
-
-
-#if (WINVER >= 0x401)
-typedef struct tagRASADPARAMS {
- DWORD dwSize;
- HWND hwndOwner;
- DWORD dwFlags;
- LONG xDlg;
- LONG yDlg;
-} RASADPARAMS, *LPRASADPARAMS;
-
-typedef struct tagRASSUBENTRYW {
- DWORD dwSize;
- DWORD dwfFlags;
- WCHAR szDeviceType[RAS_MaxDeviceType + 1];
- WCHAR szDeviceName[RAS_MaxDeviceName + 1];
- WCHAR szLocalPhoneNumber[RAS_MaxPhoneNumber + 1];
- DWORD dwAlternateOffset;
-} RASSUBENTRYW, *LPRASSUBENTRYW;
-
-typedef struct tagRASSUBENTRYA {
- DWORD dwSize;
- DWORD dwfFlags;
- CHAR szDeviceType[RAS_MaxDeviceType + 1];
- CHAR szDeviceName[RAS_MaxDeviceName + 1];
- CHAR szLocalPhoneNumber[RAS_MaxPhoneNumber + 1];
- DWORD dwAlternateOffset;
-} RASSUBENTRYA, *LPRASSUBENTRYA;
-
-typedef struct tagRASCREDENTIALSW {
- DWORD dwSize;
- DWORD dwMask;
- WCHAR szUserName[UNLEN + 1];
- WCHAR szPassword[PWLEN + 1];
- WCHAR szDomain[DNLEN + 1];
-} RASCREDENTIALSW, *LPRASCREDENTIALSW;
-
-typedef struct tagRASCREDENTIALSA {
- DWORD dwSize;
- DWORD dwMask;
- CHAR szUserName[UNLEN + 1];
- CHAR szPassword[PWLEN + 1];
- CHAR szDomain[DNLEN + 1];
-} RASCREDENTIALSA, *LPRASCREDENTIALSA;
-
-typedef struct tagRASAUTODIALENTRYW {
- DWORD dwSize;
- DWORD dwFlags;
- DWORD dwDialingLocation;
- WCHAR szEntry[RAS_MaxEntryName + 1];
-} RASAUTODIALENTRYW, *LPRASAUTODIALENTRYW;
-
-typedef struct tagRASAUTODIALENTRYA {
- DWORD dwSize;
- DWORD dwFlags;
- DWORD dwDialingLocation;
- CHAR szEntry[RAS_MaxEntryName + 1];
-} RASAUTODIALENTRYA, *LPRASAUTODIALENTRYA;
-#endif /* (WINVER >= 0x401) */
-
-#if (WINVER >= 0x500)
-typedef struct tagRASPPPCCP {
- DWORD dwSize;
- DWORD dwError;
- DWORD dwCompressionAlgorithm;
- DWORD dwOptions;
- DWORD dwServerCompressionAlgorithm;
- DWORD dwServerOptions;
-} RASPPPCCP, *LPRASPPPCCP;
-
-typedef struct tagRASEAPUSERIDENTITYW {
- WCHAR szUserName[UNLEN + 1];
- DWORD dwSizeofEapInfo;
- BYTE pbEapInfo[1];
-} RASEAPUSERIDENTITYW, *LPRASEAPUSERIDENTITYW;
-
-typedef struct tagRASEAPUSERIDENTITYA {
- CHAR szUserName[UNLEN + 1];
- DWORD dwSizeofEapInfo;
- BYTE pbEapInfo[1];
-} RASEAPUSERIDENTITYA, *LPRASEAPUSERIDENTITYA;
-
-typedef struct tagRAS_STATS {
- DWORD dwSize;
- DWORD dwBytesXmited;
- DWORD dwBytesRcved;
- DWORD dwFramesXmited;
- DWORD dwFramesRcved;
- DWORD dwCrcErr;
- DWORD dwTimeoutErr;
- DWORD dwAlignmentErr;
- DWORD dwHardwareOverrunErr;
- DWORD dwFramingErr;
- DWORD dwBufferOverrunErr;
- DWORD dwCompressionRatioIn;
- DWORD dwCompressionRatioOut;
- DWORD dwBps;
- DWORD dwConnectDuration;
-} RAS_STATS, *PRAS_STATS;
-#endif /* (WINVER >= 0x500) */
-
-
-/* UNICODE typedefs for structures*/
-#ifdef UNICODE
-typedef RASCONNW RASCONN, *LPRASCONN;
-typedef RASENTRYW RASENTRY, *LPRASENTRY;
-typedef RASCONNSTATUSW RASCONNSTATUS, *LPRASCONNSTATUS;
-typedef RASDIALPARAMSW RASDIALPARAMS, *LPRASDIALPARAMS;
-typedef RASAMBW RASAMB, *LPRASAM;
-typedef RASPPPNBFW RASPPPNBF, *LPRASPPPNBF;
-typedef RASPPPIPXW RASPPPIPX, *LPRASPPPIPX;
-typedef RASPPPIPW RASPPPIP, *LPRASPPPIP;
-typedef RASPPPLCPW RASPPPLCP, *LPRASPPPLCP;
-typedef RASSLIPW RASSLIP, *LPRASSLIP;
-typedef RASDEVINFOW RASDEVINFO, *LPRASDEVINFO;
-typedef RASENTRYNAMEW RASENTRYNAME, *LPRASENTRYNAME;
-
-#if (WINVER >= 0x401)
-typedef RASSUBENTRYW RASSUBENTRY, *LPRASSUBENTRY;
-typedef RASCREDENTIALSW RASCREDENTIALS, *LPRASCREDENTIALS;
-typedef RASAUTODIALENTRYW RASAUTODIALENTRY, *LPRASAUTODIALENTRY;
-#endif /* (WINVER >= 0x401) */
-
-#if (WINVER >= 0x500)
-typedef RASEAPUSERIDENTITYW RASEAPUSERIDENTITY, *LPRASEAPUSERIDENTITY;
-#endif /* (WINVER >= 0x500) */
-
-#else /* ! defined UNICODE */
-typedef RASCONNA RASCONN, *LPRASCONN;
-typedef RASENTRYA RASENTRY, *LPRASENTRY;
-typedef RASCONNSTATUSA RASCONNSTATUS, *LPRASCONNSTATUS;
-typedef RASDIALPARAMSA RASDIALPARAMS, *LPRASDIALPARAMS;
-typedef RASAMBA RASAMB, *LPRASAM;
-typedef RASPPPNBFA RASPPPNBF, *LPRASPPPNBF;
-typedef RASPPPIPXA RASPPPIPX, *LPRASPPPIPX;
-typedef RASPPPIPA RASPPPIP, *LPRASPPPIP;
-typedef RASPPPLCPA RASPPPLCP, *LPRASPPPLCP;
-typedef RASSLIPA RASSLIP, *LPRASSLIP;
-typedef RASDEVINFOA RASDEVINFO, *LPRASDEVINFO;
-typedef RASENTRYNAMEA RASENTRYNAME, *LPRASENTRYNAME;
-
-#if (WINVER >= 0x401)
-typedef RASSUBENTRYA RASSUBENTRY, *LPRASSUBENTRY;
-typedef RASCREDENTIALSA RASCREDENTIALS, *LPRASCREDENTIALS;
-typedef RASAUTODIALENTRYA RASAUTODIALENTRY, *LPRASAUTODIALENTRY;
-#endif /*(WINVER >= 0x401)*/
-#if (WINVER >= 0x500)
-typedef RASEAPUSERIDENTITYA RASEAPUSERIDENTITY, *LPRASEAPUSERIDENTITY;
-#endif /* (WINVER >= 0x500) */
-#endif /* ! UNICODE */
-
-/* Callback prototypes */
-typedef BOOL (WINAPI * ORASADFUNC) (HWND, LPSTR, DWORD, LPDWORD); /* deprecated */
-typedef VOID (WINAPI * RASDIALFUNC) (UINT, RASCONNSTATE, DWORD);
-typedef VOID (WINAPI * RASDIALFUNC1) (HRASCONN, UINT, RASCONNSTATE, DWORD,
- DWORD);
-typedef DWORD (WINAPI * RASDIALFUNC2) (ULONG_PTR, DWORD, HRASCONN, UINT,
- RASCONNSTATE, DWORD, DWORD);
-
-/* External functions */
-DWORD APIENTRY RasDialA (LPRASDIALEXTENSIONS, LPCSTR, LPRASDIALPARAMSA,
- DWORD, LPVOID, LPHRASCONN);
-DWORD APIENTRY RasDialW (LPRASDIALEXTENSIONS, LPCWSTR, LPRASDIALPARAMSW,
- DWORD, LPVOID, LPHRASCONN);
-DWORD APIENTRY RasEnumConnectionsA (LPRASCONNA, LPDWORD, LPDWORD);
-DWORD APIENTRY RasEnumConnectionsW (LPRASCONNW, LPDWORD, LPDWORD);
-DWORD APIENTRY RasEnumEntriesA (LPCSTR, LPCSTR, LPRASENTRYNAMEA, LPDWORD,
- LPDWORD);
-DWORD APIENTRY RasEnumEntriesW (LPCWSTR, LPCWSTR, LPRASENTRYNAMEW, LPDWORD,
- LPDWORD);
-DWORD APIENTRY RasGetConnectStatusA (HRASCONN, LPRASCONNSTATUSA);
-DWORD APIENTRY RasGetConnectStatusW (HRASCONN, LPRASCONNSTATUSW);
-DWORD APIENTRY RasGetErrorStringA (UINT, LPSTR, DWORD);
-DWORD APIENTRY RasGetErrorStringW (UINT, LPWSTR, DWORD);
-DWORD APIENTRY RasHangUpA (HRASCONN);
-DWORD APIENTRY RasHangUpW (HRASCONN);
-DWORD APIENTRY RasGetProjectionInfoA (HRASCONN, RASPROJECTION, LPVOID,
- LPDWORD);
-DWORD APIENTRY RasGetProjectionInfoW (HRASCONN, RASPROJECTION, LPVOID,
- LPDWORD);
-DWORD APIENTRY RasCreatePhonebookEntryA (HWND, LPCSTR);
-DWORD APIENTRY RasCreatePhonebookEntryW (HWND, LPCWSTR);
-DWORD APIENTRY RasEditPhonebookEntryA (HWND, LPCSTR, LPCSTR);
-DWORD APIENTRY RasEditPhonebookEntryW (HWND, LPCWSTR, LPCWSTR);
-DWORD APIENTRY RasSetEntryDialParamsA (LPCSTR, LPRASDIALPARAMSA, BOOL);
-DWORD APIENTRY RasSetEntryDialParamsW (LPCWSTR, LPRASDIALPARAMSW, BOOL);
-DWORD APIENTRY RasGetEntryDialParamsA (LPCSTR, LPRASDIALPARAMSA, LPBOOL);
-DWORD APIENTRY RasGetEntryDialParamsW (LPCWSTR, LPRASDIALPARAMSW, LPBOOL);
-DWORD APIENTRY RasEnumDevicesA (LPRASDEVINFOA, LPDWORD, LPDWORD);
-DWORD APIENTRY RasEnumDevicesW (LPRASDEVINFOW, LPDWORD, LPDWORD);
-DWORD APIENTRY RasGetCountryInfoA (LPRASCTRYINFOA, LPDWORD);
-DWORD APIENTRY RasGetCountryInfoW (LPRASCTRYINFOW, LPDWORD);
-DWORD APIENTRY RasGetEntryPropertiesA (LPCSTR, LPCSTR, LPRASENTRYA, LPDWORD,
- LPBYTE, LPDWORD);
-DWORD APIENTRY RasGetEntryPropertiesW (LPCWSTR, LPCWSTR, LPRASENTRYW,
- LPDWORD, LPBYTE, LPDWORD);
-DWORD APIENTRY RasSetEntryPropertiesA (LPCSTR, LPCSTR, LPRASENTRYA, DWORD,
- LPBYTE, DWORD);
-DWORD APIENTRY RasSetEntryPropertiesW (LPCWSTR, LPCWSTR, LPRASENTRYW, DWORD,
- LPBYTE, DWORD);
-DWORD APIENTRY RasRenameEntryA (LPCSTR, LPCSTR, LPCSTR);
-DWORD APIENTRY RasRenameEntryW (LPCWSTR, LPCWSTR, LPCWSTR);
-DWORD APIENTRY RasDeleteEntryA (LPCSTR, LPCSTR);
-DWORD APIENTRY RasDeleteEntryW (LPCWSTR, LPCWSTR);
-DWORD APIENTRY RasValidateEntryNameA (LPCSTR, LPCSTR);
-DWORD APIENTRY RasValidateEntryNameW (LPCWSTR, LPCWSTR);
-
-#if (WINVER >= 0x401)
-typedef BOOL (WINAPI * RASADFUNCA) (LPSTR, LPSTR, LPRASADPARAMS, LPDWORD);
-typedef BOOL (WINAPI * RASADFUNCW) (LPWSTR, LPWSTR, LPRASADPARAMS, LPDWORD);
-
-DWORD APIENTRY RasGetSubEntryHandleA (HRASCONN, DWORD, LPHRASCONN);
-DWORD APIENTRY RasGetSubEntryHandleW (HRASCONN, DWORD, LPHRASCONN);
-DWORD APIENTRY RasGetCredentialsA (LPCSTR, LPCSTR, LPRASCREDENTIALSA);
-DWORD APIENTRY RasGetCredentialsW (LPCWSTR, LPCWSTR, LPRASCREDENTIALSW);
-DWORD APIENTRY RasSetCredentialsA (LPCSTR, LPCSTR, LPRASCREDENTIALSA, BOOL);
-DWORD APIENTRY RasSetCredentialsW (LPCWSTR, LPCWSTR, LPRASCREDENTIALSW, BOOL);
-DWORD APIENTRY RasConnectionNotificationA (HRASCONN, HANDLE, DWORD);
-DWORD APIENTRY RasConnectionNotificationW (HRASCONN, HANDLE, DWORD);
-DWORD APIENTRY RasGetSubEntryPropertiesA (LPCSTR, LPCSTR, DWORD,
- LPRASSUBENTRYA, LPDWORD, LPBYTE, LPDWORD);
-DWORD APIENTRY RasGetSubEntryPropertiesW (LPCWSTR, LPCWSTR, DWORD,
- LPRASSUBENTRYW, LPDWORD, LPBYTE, LPDWORD);
-DWORD APIENTRY RasSetSubEntryPropertiesA (LPCSTR, LPCSTR, DWORD,
- LPRASSUBENTRYA, DWORD, LPBYTE, DWORD);
-DWORD APIENTRY RasSetSubEntryPropertiesW (LPCWSTR, LPCWSTR, DWORD,
- LPRASSUBENTRYW, DWORD, LPBYTE, DWORD);
-DWORD APIENTRY RasGetAutodialAddressA (LPCSTR, LPDWORD, LPRASAUTODIALENTRYA,
- LPDWORD, LPDWORD);
-DWORD APIENTRY RasGetAutodialAddressW (LPCWSTR, LPDWORD,
- LPRASAUTODIALENTRYW, LPDWORD, LPDWORD);
-DWORD APIENTRY RasSetAutodialAddressA (LPCSTR, DWORD, LPRASAUTODIALENTRYA,
- DWORD, DWORD);
-DWORD APIENTRY RasSetAutodialAddressW (LPCWSTR, DWORD, LPRASAUTODIALENTRYW,
- DWORD, DWORD);
-DWORD APIENTRY RasEnumAutodialAddressesA (LPSTR *, LPDWORD, LPDWORD);
-DWORD APIENTRY RasEnumAutodialAddressesW (LPWSTR *, LPDWORD, LPDWORD);
-DWORD APIENTRY RasGetAutodialEnableA (DWORD, LPBOOL);
-DWORD APIENTRY RasGetAutodialEnableW (DWORD, LPBOOL);
-DWORD APIENTRY RasSetAutodialEnableA (DWORD, BOOL);
-DWORD APIENTRY RasSetAutodialEnableW (DWORD, BOOL);
-DWORD APIENTRY RasGetAutodialParamA (DWORD, LPVOID, LPDWORD);
-DWORD APIENTRY RasGetAutodialParamW (DWORD, LPVOID, LPDWORD);
-DWORD APIENTRY RasSetAutodialParamA (DWORD, LPVOID, DWORD);
-DWORD APIENTRY RasSetAutodialParamW (DWORD, LPVOID, DWORD);
-#endif
-
-#if (WINVER >= 0x500)
-typedef DWORD (WINAPI * RasCustomHangUpFn) (HRASCONN);
-typedef DWORD (WINAPI * RasCustomDeleteEntryNotifyFn) (LPCTSTR, LPCTSTR, DWORD);
-typedef DWORD (WINAPI * RasCustomDialFn) (HINSTANCE, LPRASDIALEXTENSIONS,
- LPCTSTR, LPRASDIALPARAMS, DWORD, LPVOID, LPHRASCONN, DWORD);
-
-DWORD APIENTRY RasInvokeEapUI (HRASCONN, DWORD, LPRASDIALEXTENSIONS, HWND);
-DWORD APIENTRY RasGetLinkStatistics (HRASCONN, DWORD, RAS_STATS*);
-DWORD APIENTRY RasGetConnectionStatistics (HRASCONN, RAS_STATS*);
-DWORD APIENTRY RasClearLinkStatistics (HRASCONN, DWORD);
-DWORD APIENTRY RasClearConnectionStatistics (HRASCONN);
-DWORD APIENTRY RasGetEapUserDataA (HANDLE, LPCSTR, LPCSTR, BYTE*, DWORD*);
-DWORD APIENTRY RasGetEapUserDataW (HANDLE, LPCWSTR, LPCWSTR, BYTE*, DWORD*);
-DWORD APIENTRY RasSetEapUserDataA (HANDLE, LPCSTR, LPCSTR, BYTE*, DWORD);
-DWORD APIENTRY RasSetEapUserDataW (HANDLE, LPCWSTR, LPCWSTR, BYTE*, DWORD);
-DWORD APIENTRY RasGetCustomAuthDataA (LPCSTR, LPCSTR, BYTE*, DWORD*);
-DWORD APIENTRY RasGetCustomAuthDataW (LPCWSTR, LPCWSTR, BYTE*, DWORD*);
-DWORD APIENTRY RasSetCustomAuthDataA (LPCSTR, LPCSTR, BYTE*, DWORD);
-DWORD APIENTRY RasSetCustomAuthDataW (LPCWSTR, LPCWSTR, BYTE*, DWORD);
-DWORD APIENTRY RasGetEapUserIdentityW (LPCWSTR, LPCWSTR, DWORD, HWND, LPRASEAPUSERIDENTITYW*);
-DWORD APIENTRY RasGetEapUserIdentityA (LPCSTR, LPCSTR, DWORD, HWND, LPRASEAPUSERIDENTITYA*);
-VOID APIENTRY RasFreeEapUserIdentityW (LPRASEAPUSERIDENTITYW);
-VOID APIENTRY RasFreeEapUserIdentityA (LPRASEAPUSERIDENTITYA);
-#endif /* (WINVER >= 0x500) */
-
-
-/* UNICODE defines for functions */
-#ifdef UNICODE
-#define RasDial RasDialW
-#define RasEnumConnections RasEnumConnectionsW
-#define RasEnumEntries RasEnumEntriesW
-#define RasGetConnectStatus RasGetConnectStatusW
-#define RasGetErrorString RasGetErrorStringW
-#define RasHangUp RasHangUpW
-#define RasGetProjectionInfo RasGetProjectionInfoW
-#define RasCreatePhonebookEntry RasCreatePhonebookEntryW
-#define RasEditPhonebookEntry RasEditPhonebookEntryW
-#define RasSetEntryDialParams RasSetEntryDialParamsW
-#define RasGetEntryDialParams RasGetEntryDialParamsW
-#define RasEnumDevices RasEnumDevicesW
-#define RasGetCountryInfo RasGetCountryInfoW
-#define RasGetEntryProperties RasGetEntryPropertiesW
-#define RasSetEntryProperties RasSetEntryPropertiesW
-#define RasRenameEntry RasRenameEntryW
-#define RasDeleteEntry RasDeleteEntryW
-#define RasValidateEntryName RasValidateEntryNameW
-#if (WINVER >= 0x401)
-#define RASADFUNC RASADFUNCW
-#define RasGetSubEntryHandle RasGetSubEntryHandleW
-#define RasConnectionNotification RasConnectionNotificationW
-#define RasGetSubEntryProperties RasGetSubEntryPropertiesW
-#define RasSetSubEntryProperties RasSetSubEntryPropertiesW
-#define RasGetCredentials RasGetCredentialsW
-#define RasSetCredentials RasSetCredentialsW
-#define RasGetAutodialAddress RasGetAutodialAddressW
-#define RasSetAutodialAddress RasSetAutodialAddressW
-#define RasEnumAutodialAddresses RasEnumAutodialAddressesW
-#define RasGetAutodialEnable RasGetAutodialEnableW
-#define RasSetAutodialEnable RasSetAutodialEnableW
-#define RasGetAutodialParam RasGetAutodialParamW
-#define RasSetAutodialParam RasSetAutodialParamW
-#endif /* (WINVER >= 0x401) */
-#if (WINVER >= 0x500)
-#define RasGetEapUserData RasGetEapUserDataW
-#define RasSetEapUserData RasSetEapUserDataW
-#define RasGetCustomAuthData RasGetCustomAuthDataW
-#define RasSetCustomAuthData RasSetCustomAuthDataW
-#define RasGetEapUserIdentity RasGetEapUserIdentityW
-#define RasFreeEapUserIdentity RasFreeEapUserIdentityW
-#endif /* (WINVER >= 0x500) */
-
-#else /* ! defined UNICODE */
-#define RasDial RasDialA
-#define RasEnumConnections RasEnumConnectionsA
-#define RasEnumEntries RasEnumEntriesA
-#define RasGetConnectStatus RasGetConnectStatusA
-#define RasGetErrorString RasGetErrorStringA
-#define RasHangUp RasHangUpA
-#define RasGetProjectionInfo RasGetProjectionInfoA
-#define RasCreatePhonebookEntry RasCreatePhonebookEntryA
-#define RasEditPhonebookEntry RasEditPhonebookEntryA
-#define RasSetEntryDialParams RasSetEntryDialParamsA
-#define RasGetEntryDialParams RasGetEntryDialParamsA
-#define RasEnumDevices RasEnumDevicesA
-#define RasGetCountryInfo RasGetCountryInfoA
-#define RasGetEntryProperties RasGetEntryPropertiesA
-#define RasSetEntryProperties RasSetEntryPropertiesA
-#define RasRenameEntry RasRenameEntryA
-#define RasDeleteEntry RasDeleteEntryA
-#define RasValidateEntryName RasValidateEntryNameA
-
-#if (WINVER >= 0x401)
-#define RASADFUNC RASADFUNCA
-#define RasGetSubEntryHandle RasGetSubEntryHandleA
-#define RasConnectionNotification RasConnectionNotificationA
-#define RasGetSubEntryProperties RasGetSubEntryPropertiesA
-#define RasSetSubEntryProperties RasSetSubEntryPropertiesA
-#define RasGetCredentials RasGetCredentialsA
-#define RasSetCredentials RasSetCredentialsA
-#define RasGetAutodialAddress RasGetAutodialAddressA
-#define RasSetAutodialAddress RasSetAutodialAddressA
-#define RasEnumAutodialAddressesRasEnumAutodialAddressesA
-#define RasGetAutodialEnable RasGetAutodialEnableA
-#define RasSetAutodialEnable RasSetAutodialEnableA
-#define RasGetAutodialParam RasGetAutodialParamA
-#define RasSetAutodialParam RasSetAutodialParamA
-#endif /*(WINVER >= 0x401)*/
-
-#if (WINVER >= 0x500)
-#define RasGetEapUserData RasGetEapUserDataA
-#define RasSetEapUserData RasSetEapUserDataA
-#define RasGetCustomAuthData RasGetCustomAuthDataA
-#define RasSetCustomAuthData RasSetCustomAuthDataA
-#define RasGetEapUserIdentity RasGetEapUserIdentityA
-#define RasFreeEapUserIdentity RasFreeEapUserIdentityA
-#endif /* (WINVER >= 0x500) */
-#endif /* ! UNICODE */
-
-#ifdef __cplusplus
-}
-#endif
-#include <poppack.h>
-#endif /* _RAS_H */
diff --git a/winsup/w32api/include/rasdlg.h b/winsup/w32api/include/rasdlg.h
deleted file mode 100644
index b0f4c1417..000000000
--- a/winsup/w32api/include/rasdlg.h
+++ /dev/null
@@ -1,148 +0,0 @@
-#ifndef _RASDLG_H_
-#define _RASDLG_H_
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <ras.h>
-
-#define RASPBDEVENT_AddEntry 1
-#define RASPBDEVENT_EditEntry 2
-#define RASPBDEVENT_RemoveEntry 3
-#define RASPBDEVENT_DialEntry 4
-#define RASPBDEVENT_EditGlobals 5
-#define RASPBDEVENT_NoUser 6
-#define RASPBDEVENT_NoUserEdit 7
-
-#define RASPBDFLAG_PositionDlg 1
-#define RASPBDFLAG_ForceCloseOnDial 2
-#define RASPBDFLAG_NoUser 16
-
-#define RASEDFLAG_PositionDlg 1
-#define RASEDFLAG_NewEntry 2
-#define RASEDFLAG_CloneEntry 4
-
-#define RASDDFLAG_PositionDlg 1
-
-#ifndef RC_INVOKED
-#include <pshpack4.h>
-
-typedef struct tagRASENTRYDLGA
-{
- DWORD dwSize;
- HWND hwndOwner;
- DWORD dwFlags;
- LONG xDlg;
- LONG yDlg;
- CHAR szEntry[RAS_MaxEntryName + 1];
- DWORD dwError;
- ULONG_PTR reserved;
- ULONG_PTR reserved2;
-} RASENTRYDLGA, *LPRASENTRYDLGA;
-typedef struct tagRASENTRYDLGW
-{
- DWORD dwSize;
- HWND hwndOwner;
- DWORD dwFlags;
- LONG xDlg;
- LONG yDlg;
- WCHAR szEntry[RAS_MaxEntryName + 1];
- DWORD dwError;
- ULONG_PTR reserved;
- ULONG_PTR reserved2;
-} RASENTRYDLGW, *LPRASENTRYDLGW;
-
-typedef struct tagRASDIALDLG
-{
- DWORD dwSize;
- HWND hwndOwner;
- DWORD dwFlags;
- LONG xDlg;
- LONG yDlg;
- DWORD dwSubEntry;
- DWORD dwError;
- ULONG_PTR reserved;
- ULONG_PTR reserved2;
-} RASDIALDLG, *LPRASDIALDLG;
-
-/* Application-defined callback functions */
-typedef VOID (WINAPI* RASPBDLGFUNCW)(DWORD, DWORD, LPWSTR, LPVOID);
-typedef VOID (WINAPI* RASPBDLGFUNCA)(DWORD, DWORD, LPSTR, LPVOID);
-
-typedef struct tagRASPBDLGA
-{
- DWORD dwSize;
- HWND hwndOwner;
- DWORD dwFlags;
- LONG xDlg;
- LONG yDlg;
- ULONG_PTR dwCallbackId;
- RASPBDLGFUNCA pCallback;
- DWORD dwError;
- ULONG_PTR reserved;
- ULONG_PTR reserved2;
-} RASPBDLGA, *LPRASPBDLGA;
-typedef struct tagRASPBDLGW
-{
- DWORD dwSize;
- HWND hwndOwner;
- DWORD dwFlags;
- LONG xDlg;
- LONG yDlg;
- ULONG_PTR dwCallbackId;
- RASPBDLGFUNCW pCallback;
- DWORD dwError;
- ULONG_PTR reserved;
- ULONG_PTR reserved2;
-} RASPBDLGW, *LPRASPBDLGW;
-
-typedef struct tagRASNOUSERA
-{
- DWORD dwSize;
- DWORD dwFlags;
- DWORD dwTimeoutMs;
- CHAR szUserName[UNLEN + 1];
- CHAR szPassword[PWLEN + 1];
- CHAR szDomain[DNLEN + 1];
-} RASNOUSERA, *LPRASNOUSERA;
-typedef struct tagRASNOUSERW
-{
- DWORD dwSize;
- DWORD dwFlags;
- DWORD dwTimeoutMs;
- WCHAR szUserName[UNLEN + 1];
- WCHAR szPassword[PWLEN + 1];
- WCHAR szDomain[DNLEN + 1];
-} RASNOUSERW, *LPRASNOUSERW ;
-
-#include <poppack.h>
-
-BOOL APIENTRY RasDialDlgA(LPSTR,LPSTR,LPSTR,LPRASDIALDLG);
-BOOL APIENTRY RasDialDlgW(LPWSTR,LPWSTR,LPWSTR,LPRASDIALDLG);
-BOOL APIENTRY RasEntryDlgA(LPSTR,LPSTR,LPRASENTRYDLGA);
-BOOL APIENTRY RasEntryDlgW(LPWSTR,LPWSTR,LPRASENTRYDLGW);
-BOOL APIENTRY RasPhonebookDlgA(LPSTR,LPSTR,LPRASPBDLGA);
-BOOL APIENTRY RasPhonebookDlgW(LPWSTR,LPWSTR,LPRASPBDLGW);
-
-#ifdef UNICODE
-typedef RASENTRYDLGW RASENTRYDLG, *LPRASENTRYDLG;
-typedef RASPBDLGW RASPBDLG, *LPRASPBDLG;
-typedef RASNOUSERW RASNOUSER, *LPRASNOUSER;
-#define RasDialDlg RasDialDlgW
-#define RasEntryDlg RasEntryDlgW
-#define RasPhonebookDlg RasPhonebookDlgW
-#else
-typedef RASENTRYDLGA RASENTRYDLG, *LPRASENTRYDLG;
-typedef RASPBDLGA RASPBDLG, *LPRASPBDLG;
-typedef RASNOUSERA RASNOUSER, *LPRASNOUSER;
-#define RasDialDlg RasDialDlgA
-#define RasEntryDlg RasEntryDlgA
-#define RasPhonebookDlg RasPhonebookDlgA
-#endif /* UNICODE */
-
-#endif /* RC_INVOKED */
-
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/winsup/w32api/include/raserror.h b/winsup/w32api/include/raserror.h
deleted file mode 100644
index 97498b059..000000000
--- a/winsup/w32api/include/raserror.h
+++ /dev/null
@@ -1,210 +0,0 @@
-#ifndef _RASERROR_H
-#define _RASERROR_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#define RASBASE 600
-#define SUCCESS 0
-#define PENDING (RASBASE+0)
-#define ERROR_INVALID_PORT_HANDLE (RASBASE+1)
-#define ERROR_PORT_ALREADY_OPEN (RASBASE+2)
-#define ERROR_BUFFER_TOO_SMALL (RASBASE+3)
-#define ERROR_WRONG_INFO_SPECIFIED (RASBASE+4)
-#define ERROR_CANNOT_SET_PORT_INFO (RASBASE+5)
-#define ERROR_PORT_NOT_CONNECTED (RASBASE+6)
-#define ERROR_EVENT_INVALID (RASBASE+7)
-#define ERROR_DEVICE_DOES_NOT_EXIST (RASBASE+8)
-#define ERROR_DEVICETYPE_DOES_NOT_EXIST (RASBASE+9)
-#define ERROR_BUFFER_INVALID (RASBASE+10)
-#define ERROR_ROUTE_NOT_AVAILABLE (RASBASE+11)
-#define ERROR_ROUTE_NOT_ALLOCATED (RASBASE+12)
-#define ERROR_INVALID_COMPRESSION_SPECIFIED (RASBASE+13)
-#define ERROR_OUT_OF_BUFFERS (RASBASE+14)
-#define ERROR_PORT_NOT_FOUND (RASBASE+15)
-#define ERROR_ASYNC_REQUEST_PENDING (RASBASE+16)
-#define ERROR_ALREADY_DISCONNECTING (RASBASE+17)
-#define ERROR_PORT_NOT_OPEN (RASBASE+18)
-#define ERROR_PORT_DISCONNECTED (RASBASE+19)
-#define ERROR_NO_ENDPOINTS (RASBASE+20)
-#define ERROR_CANNOT_OPEN_PHONEBOOK (RASBASE+21)
-#define ERROR_CANNOT_LOAD_PHONEBOOK (RASBASE+22)
-#define ERROR_CANNOT_FIND_PHONEBOOK_ENTRY (RASBASE+23)
-#define ERROR_CANNOT_WRITE_PHONEBOOK (RASBASE+24)
-#define ERROR_CORRUPT_PHONEBOOK (RASBASE+25)
-#define ERROR_CANNOT_LOAD_STRING (RASBASE+26)
-#define ERROR_KEY_NOT_FOUND (RASBASE+27)
-#define ERROR_DISCONNECTION (RASBASE+28)
-#define ERROR_REMOTE_DISCONNECTION (RASBASE+29)
-#define ERROR_HARDWARE_FAILURE (RASBASE+30)
-#define ERROR_USER_DISCONNECTION (RASBASE+31)
-#define ERROR_INVALID_SIZE (RASBASE+32)
-#define ERROR_PORT_NOT_AVAILABLE (RASBASE+33)
-#define ERROR_CANNOT_PROJECT_CLIENT (RASBASE+34)
-#define ERROR_UNKNOWN (RASBASE+35)
-#define ERROR_WRONG_DEVICE_ATTACHED (RASBASE+36)
-#define ERROR_BAD_STRING (RASBASE+37)
-#define ERROR_REQUEST_TIMEOUT (RASBASE+38)
-#define ERROR_CANNOT_GET_LANA (RASBASE+39)
-#define ERROR_NETBIOS_ERROR (RASBASE+40)
-#define ERROR_SERVER_OUT_OF_RESOURCES (RASBASE+41)
-#define ERROR_NAME_EXISTS_ON_NET (RASBASE+42)
-#define ERROR_SERVER_GENERAL_NET_FAILURE (RASBASE+43)
-#define WARNING_MSG_ALIAS_NOT_ADDED (RASBASE+44)
-#define ERROR_AUTH_INTERNAL (RASBASE+45)
-#define ERROR_RESTRICTED_LOGON_HOURS (RASBASE+46)
-#define ERROR_ACCT_DISABLED (RASBASE+47)
-#define ERROR_PASSWD_EXPIRED (RASBASE+48)
-#define ERROR_NO_DIALIN_PERMISSION (RASBASE+49)
-#define ERROR_SERVER_NOT_RESPONDING (RASBASE+50)
-#define ERROR_FROM_DEVICE (RASBASE+51)
-#define ERROR_UNRECOGNIZED_RESPONSE (RASBASE+52)
-#define ERROR_MACRO_NOT_FOUND (RASBASE+53)
-#define ERROR_MACRO_NOT_DEFINED (RASBASE+54)
-#define ERROR_MESSAGE_MACRO_NOT_FOUND (RASBASE+55)
-#define ERROR_DEFAULTOFF_MACRO_NOT_FOUND (RASBASE+56)
-#define ERROR_FILE_COULD_NOT_BE_OPENED (RASBASE+57)
-#define ERROR_DEVICENAME_TOO_LONG (RASBASE+58)
-#define ERROR_DEVICENAME_NOT_FOUND (RASBASE+59)
-#define ERROR_NO_RESPONSES (RASBASE+60)
-#define ERROR_NO_COMMAND_FOUND (RASBASE+61)
-#define ERROR_WRONG_KEY_SPECIFIED (RASBASE+62)
-#define ERROR_UNKNOWN_DEVICE_TYPE (RASBASE+63)
-#define ERROR_ALLOCATING_MEMORY (RASBASE+64)
-#define ERROR_PORT_NOT_CONFIGURED (RASBASE+65)
-#define ERROR_DEVICE_NOT_READY (RASBASE+66)
-#define ERROR_READING_INI_FILE (RASBASE+67)
-#define ERROR_NO_CONNECTION (RASBASE+68)
-#define ERROR_BAD_USAGE_IN_INI_FILE (RASBASE+69)
-#define ERROR_READING_SECTIONNAME (RASBASE+70)
-#define ERROR_READING_DEVICETYPE (RASBASE+71)
-#define ERROR_READING_DEVICENAME (RASBASE+72)
-#define ERROR_READING_USAGE (RASBASE+73)
-#define ERROR_READING_MAXCONNECTBPS (RASBASE+74)
-#define ERROR_READING_MAXCARRIERBPS (RASBASE+75)
-#define ERROR_LINE_BUSY (RASBASE+76)
-#define ERROR_VOICE_ANSWER (RASBASE+77)
-#define ERROR_NO_ANSWER (RASBASE+78)
-#define ERROR_NO_CARRIER (RASBASE+79)
-#define ERROR_NO_DIALTONE (RASBASE+80)
-#define ERROR_IN_COMMAND (RASBASE+81)
-#define ERROR_WRITING_SECTIONNAME (RASBASE+82)
-#define ERROR_WRITING_DEVICETYPE (RASBASE+83)
-#define ERROR_WRITING_DEVICENAME (RASBASE+84)
-#define ERROR_WRITING_MAXCONNECTBPS (RASBASE+85)
-#define ERROR_WRITING_MAXCARRIERBPS (RASBASE+86)
-#define ERROR_WRITING_USAGE (RASBASE+87)
-#define ERROR_WRITING_DEFAULTOFF (RASBASE+88)
-#define ERROR_READING_DEFAULTOFF (RASBASE+89)
-#define ERROR_EMPTY_INI_FILE (RASBASE+90)
-#define ERROR_AUTHENTICATION_FAILURE (RASBASE+91)
-#define ERROR_PORT_OR_DEVICE (RASBASE+92)
-#define ERROR_NOT_BINARY_MACRO (RASBASE+93)
-#define ERROR_DCB_NOT_FOUND (RASBASE+94)
-#define ERROR_STATE_MACHINES_NOT_STARTED (RASBASE+95)
-#define ERROR_STATE_MACHINES_ALREADY_STARTED (RASBASE+96)
-#define ERROR_PARTIAL_RESPONSE_LOOPING (RASBASE+97)
-#define ERROR_UNKNOWN_RESPONSE_KEY (RASBASE+98)
-#define ERROR_RECV_BUF_FULL (RASBASE+99)
-#define ERROR_CMD_TOO_LONG (RASBASE+100)
-#define ERROR_UNSUPPORTED_BPS (RASBASE+101)
-#define ERROR_UNEXPECTED_RESPONSE (RASBASE+102)
-#define ERROR_INTERACTIVE_MODE (RASBASE+103)
-#define ERROR_BAD_CALLBACK_NUMBER (RASBASE+104)
-#define ERROR_INVALID_AUTH_STATE (RASBASE+105)
-#define ERROR_WRITING_INITBPS (RASBASE+106)
-#define ERROR_X25_DIAGNOSTIC (RASBASE+107)
-#define ERROR_ACCT_EXPIRED (RASBASE+108)
-#define ERROR_CHANGING_PASSWORD (RASBASE+109)
-#define ERROR_OVERRUN (RASBASE+110)
-#define ERROR_RASMAN_CANNOT_INITIALIZE (RASBASE+111)
-#define ERROR_BIPLEX_PORT_NOT_AVAILABLE (RASBASE+112)
-#define ERROR_NO_ACTIVE_ISDN_LINES (RASBASE+113)
-#define ERROR_NO_ISDN_CHANNELS_AVAILABLE (RASBASE+114)
-#define ERROR_TOO_MANY_LINE_ERRORS (RASBASE+115)
-#define ERROR_IP_CONFIGURATION (RASBASE+116)
-#define ERROR_NO_IP_ADDRESSES (RASBASE+117)
-#define ERROR_PPP_TIMEOUT (RASBASE+118)
-#define ERROR_PPP_REMOTE_TERMINATED (RASBASE+119)
-#define ERROR_PPP_NO_PROTOCOLS_CONFIGURED (RASBASE+120)
-#define ERROR_PPP_NO_RESPONSE (RASBASE+121)
-#define ERROR_PPP_INVALID_PACKET (RASBASE+122)
-#define ERROR_PHONE_NUMBER_TOO_LONG (RASBASE+123)
-#define ERROR_IPXCP_NO_DIALOUT_CONFIGURED (RASBASE+124)
-#define ERROR_IPXCP_NO_DIALIN_CONFIGURED (RASBASE+125)
-#define ERROR_IPXCP_DIALOUT_ALREADY_ACTIVE (RASBASE+126)
-#define ERROR_ACCESSING_TCPCFGDLL (RASBASE+127)
-#define ERROR_NO_IP_RAS_ADAPTER (RASBASE+128)
-#define ERROR_SLIP_REQUIRES_IP (RASBASE+129)
-#define ERROR_PROJECTION_NOT_COMPLETE (RASBASE+130)
-#define ERROR_PROTOCOL_NOT_CONFIGURED (RASBASE+131)
-#define ERROR_PPP_NOT_CONVERGING (RASBASE+132)
-#define ERROR_PPP_CP_REJECTED (RASBASE+133)
-#define ERROR_PPP_LCP_TERMINATED (RASBASE+134)
-#define ERROR_PPP_REQUIRED_ADDRESS_REJECTED (RASBASE+135)
-#define ERROR_PPP_NCP_TERMINATED (RASBASE+136)
-#define ERROR_PPP_LOOPBACK_DETECTED (RASBASE+137)
-#define ERROR_PPP_NO_ADDRESS_ASSIGNED (RASBASE+138)
-#define ERROR_CANNOT_USE_LOGON_CREDENTIALS (RASBASE+139)
-#define ERROR_TAPI_CONFIGURATION (RASBASE+140)
-#define ERROR_NO_LOCAL_ENCRYPTION (RASBASE+141)
-#define ERROR_NO_REMOTE_ENCRYPTION (RASBASE+142)
-#define ERROR_REMOTE_REQUIRES_ENCRYPTION (RASBASE+143)
-#define ERROR_IPXCP_NET_NUMBER_CONFLICT (RASBASE+144)
-#define ERROR_INVALID_SMM (RASBASE+145)
-#define ERROR_SMM_UNINITIALIZED (RASBASE+146)
-#define ERROR_NO_MAC_FOR_PORT (RASBASE+147)
-#define ERROR_SMM_TIMEOUT (RASBASE+148)
-#define ERROR_BAD_PHONE_NUMBER (RASBASE+149)
-#define ERROR_WRONG_MODULE (RASBASE+150)
-#define ERROR_INVALID_CALLBACK_NUMBER (RASBASE+151)
-
-#define ERROR_SCRIPT_SYNTAX (RASBASE+152)
-#define ERROR_HANGUP_FAILED (RASBASE+153)
-#define ERROR_BUNDLE_NOT_FOUND (RASBASE+154)
-#define ERROR_CANNOT_DO_CUSTOMDIAL (RASBASE+155)
-#define ERROR_DIAL_ALREADY_IN_PROGRESS (RASBASE+156)
-#define ERROR_RASAUTO_CANNOT_INITIALIZE (RASBASE+157)
-#define ERROR_CONNECTION_ALREADY_SHARED (RASBASE+158)
-#define ERROR_SHARING_CHANGE_FAILED (RASBASE+159)
-#define ERROR_SHARING_ROUTER_INSTALL (RASBASE+160)
-#define ERROR_SHARE_CONNECTION_FAILED (RASBASE+161)
-#define ERROR_SHARING_PRIVATE_INSTALL (RASBASE+162)
-#define ERROR_CANNOT_SHARE_CONNECTION (RASBASE+163)
-#define ERROR_NO_SMART_CARD_READER (RASBASE+164)
-#define ERROR_SHARING_ADDRESS_EXISTS (RASBASE+165)
-#define ERROR_NO_CERTIFICATE (RASBASE+166)
-#define ERROR_SHARING_MULTIPLE_ADDRESSES (RASBASE+167)
-#define ERROR_FAILED_TO_ENCRYPT (RASBASE+168)
-#define ERROR_BAD_ADDRESS_SPECIFIED (RASBASE+169)
-#define ERROR_CONNECTION_REJECT (RASBASE+170)
-#define ERROR_CONGESTION (RASBASE+171)
-#define ERROR_INCOMPATIBLE (RASBASE+172)
-#define ERROR_NUMBERCHANGED (RASBASE+173)
-#define ERROR_TEMPFAILURE (RASBASE+174)
-#define ERROR_BLOCKED (RASBASE+175)
-#define ERROR_DONOTDISTURB (RASBASE+176)
-#define ERROR_OUTOFORDER (RASBASE+177)
-#define ERROR_UNABLE_TO_AUTHENTICATE_SERVER (RASBASE+178)
-#define ERROR_SMART_CARD_REQUIRED (RASBASE+179)
-#define ERROR_INVALID_FUNCTION_FOR_ENTRY (RASBASE+180)
-#define ERROR_CERT_FOR_ENCRYPTION_NOT_FOUND (RASBASE+181)
-#define ERROR_SHARING_RRAS_CONFLICT (RASBASE+182)
-#define ERROR_SHARING_NO_PRIVATE_LAN (RASBASE+183)
-#define ERROR_NO_DIFF_USER_AT_LOGON (RASBASE+184)
-#define ERROR_NO_REG_CERT_AT_LOGON (RASBASE+185)
-#define ERROR_OAKLEY_NO_CERT (RASBASE+186)
-#define ERROR_OAKLEY_AUTH_FAIL (RASBASE+187)
-#define ERROR_OAKLEY_ATTRIB_FAIL (RASBASE+188)
-#define ERROR_OAKLEY_GENERAL_PROCESSING (RASBASE+189)
-#define ERROR_OAKLEY_NO_PEER_CERT (RASBASE+190)
-#define ERROR_OAKLEY_NO_POLICY (RASBASE+191)
-#define ERROR_OAKLEY_TIMED_OUT (RASBASE+192)
-#define ERROR_OAKLEY_ERROR (RASBASE+193)
-#define ERROR_UNKNOWN_FRAMED_PROTOCOL (RASBASE+194)
-#define ERROR_WRONG_TUNNEL_TYPE (RASBASE+195)
-#define ERROR_UNKNOWN_SERVICE_TYPE (RASBASE+196)
-#define ERROR_CONNECTING_DEVICE_NOT_FOUND (RASBASE+197)
-#define ERROR_NO_EAPTLS_CERTIFICATE (RASBASE+198)
-#define RASBASEEND (RASBASE+198)
-#endif /* _RASERROR_H */
diff --git a/winsup/w32api/include/rassapi.h b/winsup/w32api/include/rassapi.h
deleted file mode 100644
index 9ba4afb41..000000000
--- a/winsup/w32api/include/rassapi.h
+++ /dev/null
@@ -1,182 +0,0 @@
-#ifndef _RASSAPI_H
-#define _RASSAPI_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-#ifndef UNLEN
-#include <lmcons.h>
-#endif
-#define RASSAPI_MAX_PHONENUMBER_SIZE 128
-#define RASSAPI_MAX_MEDIA_NAME 16
-#define RASSAPI_MAX_PORT_NAME 16
-#define RASSAPI_MAX_DEVICE_NAME 128
-#define RASSAPI_MAX_DEVICETYPE_NAME 16
-#define RASSAPI_MAX_PARAM_KEY_SIZE 32
-#define RASPRIV_NoCallback 0x01
-#define RASPRIV_AdminSetCallback 0x02
-#define RASPRIV_CallerSetCallback 0x04
-#define RASPRIV_DialinPrivilege 0x08
-#define RASPRIV_CallbackType (RASPRIV_AdminSetCallback \
- | RASPRIV_CallerSetCallback \
- | RASPRIV_NoCallback)
-#define RAS_MODEM_OPERATIONAL 1
-#define RAS_MODEM_NOT_RESPONDING 2
-#define RAS_MODEM_HARDWARE_FAILURE 3
-#define RAS_MODEM_INCORRECT_RESPONSE 4
-#define RAS_MODEM_UNKNOWN 5
-#define RAS_PORT_NON_OPERATIONAL 1
-#define RAS_PORT_DISCONNECTED 2
-#define RAS_PORT_CALLING_BACK 3
-#define RAS_PORT_LISTENING 4
-#define RAS_PORT_AUTHENTICATING 5
-#define RAS_PORT_AUTHENTICATED 6
-#define RAS_PORT_INITIALIZING 7
-#define MEDIA_UNKNOWN 0
-#define MEDIA_SERIAL 1
-#define MEDIA_RAS10_SERIAL 2
-#define MEDIA_X25 3
-#define MEDIA_ISDN 4
-#define USER_AUTHENTICATED 0x0001
-#define MESSENGER_PRESENT 0x0002
-#define PPP_CLIENT 0x0004
-#define GATEWAY_ACTIVE 0x0008
-#define REMOTE_LISTEN 0x0010
-#define PORT_MULTILINKED 0x0020
-#define RAS_IPADDRESSLEN 15
-#define RAS_IPXADDRESSLEN 22
-#define RAS_ATADDRESSLEN 32
-#define RASDOWNLEVEL 10
-#define RASADMIN_35 35
-#define RASADMIN_CURRENT 40
-
-typedef ULONG IPADDR;
-typedef enum _RAS_PARAMS_FORMAT {
- ParamNumber = 0,
- ParamString = 1
-} RAS_PARAMS_FORMAT;
-typedef union RAS_PARAMS_VALUE {
- DWORD Number;
- struct {
- DWORD Length;
- PCHAR Data;
- } String;
-} RAS_PARAMS_VALUE;
-typedef struct RAS_PARAMETERS {
- CHAR P_Key [RASSAPI_MAX_PARAM_KEY_SIZE];
- RAS_PARAMS_FORMAT P_Type;
- BYTE P_Attributes;
- RAS_PARAMS_VALUE P_Value;
-} RAS_PARAMETERS;
-typedef struct _RAS_USER_0 {
- BYTE bfPrivilege;
- WCHAR szPhoneNumber[RASSAPI_MAX_PHONENUMBER_SIZE + 1];
-} RAS_USER_0, *PRAS_USER_0;
-typedef struct _RAS_PORT_0 {
- WCHAR wszPortName[RASSAPI_MAX_PORT_NAME];
- WCHAR wszDeviceType[RASSAPI_MAX_DEVICETYPE_NAME];
- WCHAR wszDeviceName[RASSAPI_MAX_DEVICE_NAME];
- WCHAR wszMediaName[RASSAPI_MAX_MEDIA_NAME];
- DWORD reserved;
- DWORD Flags;
- WCHAR wszUserName[UNLEN + 1];
- WCHAR wszComputer[NETBIOS_NAME_LEN];
- DWORD dwStartSessionTime; /* seconds from 1/1/1970 */
- WCHAR wszLogonDomain[DNLEN + 1];
- BOOL fAdvancedServer;
-} RAS_PORT_0, *PRAS_PORT_0;
-typedef struct _RAS_PPP_NBFCP_RESULT {
- DWORD dwError;
- DWORD dwNetBiosError;
- CHAR szName[ NETBIOS_NAME_LEN + 1 ];
- WCHAR wszWksta[ NETBIOS_NAME_LEN + 1 ];
-} RAS_PPP_NBFCP_RESULT;
-typedef struct _RAS_PPP_IPCP_RESULT{
- DWORD dwError;
- WCHAR wszAddress[ RAS_IPADDRESSLEN + 1 ];
-} RAS_PPP_IPCP_RESULT;
-typedef struct _RAS_PPP_IPXCP_RESULT {
- DWORD dwError;
- WCHAR wszAddress[ RAS_IPXADDRESSLEN + 1 ];
-} RAS_PPP_IPXCP_RESULT;
-typedef struct _RAS_PPP_ATCP_RESULT {
- DWORD dwError;
- WCHAR wszAddress[ RAS_ATADDRESSLEN + 1 ];
-} RAS_PPP_ATCP_RESULT;
-typedef struct _RAS_PPP_PROJECTION_RESULT {
- RAS_PPP_NBFCP_RESULT nbf;
- RAS_PPP_IPCP_RESULT ip;
- RAS_PPP_IPXCP_RESULT ipx;
- RAS_PPP_ATCP_RESULT at;
-} RAS_PPP_PROJECTION_RESULT;
-typedef struct _RAS_PORT_1{
- RAS_PORT_0 rasport0;
- DWORD LineCondition;
- DWORD HardwareCondition;
- DWORD LineSpeed;
- WORD NumStatistics;
- WORD NumMediaParms;
- DWORD SizeMediaParms;
- RAS_PPP_PROJECTION_RESULT ProjResult;
-} RAS_PORT_1, *PRAS_PORT_1;
-typedef struct _RAS_PORT_STATISTICS {
- DWORD dwBytesXmited;
- DWORD dwBytesRcved;
- DWORD dwFramesXmited;
- DWORD dwFramesRcved;
- DWORD dwCrcErr;
- DWORD dwTimeoutErr;
- DWORD dwAlignmentErr;
- DWORD dwHardwareOverrunErr;
- DWORD dwFramingErr;
- DWORD dwBufferOverrunErr;
- DWORD dwBytesXmitedUncompressed;
- DWORD dwBytesRcvedUncompressed;
- DWORD dwBytesXmitedCompressed;
- DWORD dwBytesRcvedCompressed;
- DWORD dwPortBytesXmited;
- DWORD dwPortBytesRcved;
- DWORD dwPortFramesXmited;
- DWORD dwPortFramesRcved;
- DWORD dwPortCrcErr;
- DWORD dwPortTimeoutErr;
- DWORD dwPortAlignmentErr;
- DWORD dwPortHardwareOverrunErr;
- DWORD dwPortFramingErr;
- DWORD dwPortBufferOverrunErr;
- DWORD dwPortBytesXmitedUncompressed;
- DWORD dwPortBytesRcvedUncompressed;
- DWORD dwPortBytesXmitedCompressed;
- DWORD dwPortBytesRcvedCompressed;
-} RAS_PORT_STATISTICS, *PRAS_PORT_STATISTICS;
-typedef struct _RAS_SERVER_0 {
- WORD TotalPorts;
- WORD PortsInUse;
- DWORD RasVersion;
-} RAS_SERVER_0, *PRAS_SERVER_0;
-
-DWORD APIENTRY RasAdminServerGetInfo( const WCHAR*, PRAS_SERVER_0 );
-DWORD APIENTRY RasAdminGetUserAccountServer( const WCHAR*, const WCHAR*, LPWSTR );
-DWORD APIENTRY RasAdminUserGetInfo( const WCHAR*, const WCHAR*, PRAS_USER_0 );
-DWORD APIENTRY RasAdminUserSetInfo( const WCHAR*, const WCHAR*, const PRAS_USER_0 );
-DWORD APIENTRY RasAdminPortEnum( const WCHAR*, PRAS_PORT_0*, WORD*);
-DWORD APIENTRY RasAdminPortGetInfo( const WCHAR*, const WCHAR*, RAS_PORT_1*, RAS_PORT_STATISTICS*, RAS_PARAMETERS** );
-DWORD APIENTRY RasAdminPortClearStatistics( const WCHAR*, const WCHAR* );
-DWORD APIENTRY RasAdminPortDisconnect( const WCHAR*, const WCHAR* );
-DWORD APIENTRY RasAdminFreeBuffer(PVOID);
-DWORD APIENTRY RasAdminGetErrorString( UINT, WCHAR*, DWORD );
-BOOL APIENTRY RasAdminAcceptNewConnection( RAS_PORT_1*, RAS_PORT_STATISTICS*, RAS_PARAMETERS* );
-VOID APIENTRY RasAdminConnectionHangupNotification ( RAS_PORT_1*, RAS_PORT_STATISTICS*, RAS_PARAMETERS* );
-DWORD APIENTRY RasAdminGetIpAddressForUser ( WCHAR*, WCHAR*, IPADDR*, BOOL*);
-VOID APIENTRY RasAdminReleaseIpAddress ( WCHAR*, WCHAR*,IPADDR* );
-DWORD APIENTRY RasAdminGetUserParms( WCHAR*, PRAS_USER_0 );
-DWORD APIENTRY RasAdminSetUserParms( WCHAR*, DWORD, PRAS_USER_0 );
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _RASSAPI_H */
diff --git a/winsup/w32api/include/reason.h b/winsup/w32api/include/reason.h
deleted file mode 100644
index fb73451a3..000000000
--- a/winsup/w32api/include/reason.h
+++ /dev/null
@@ -1,47 +0,0 @@
-#ifndef _REASON_H
-#define _REASON_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#if (_WIN32_WINNT >= 0x0501)
-#define SHTDN_REASON_MAJOR_APPLICATION 0x00040000
-#define SHTDN_REASON_MAJOR_HARDWARE 0x00010000
-#define SHTDN_REASON_MAJOR_LEGACY_API 0x00070000
-#define SHTDN_REASON_MAJOR_OPERATINGSYSTEM 0x00020000
-#define SHTDN_REASON_MAJOR_OTHER 0x00000000
-#define SHTDN_REASON_MAJOR_POWER 0x00060000
-#define SHTDN_REASON_MAJOR_SOFTWARE 0x00030000
-#define SHTDN_REASON_MAJOR_SYSTEM 0x00050000
-#define SHTDN_REASON_MINOR_BLUESCREEN 0x0000000F
-#define SHTDN_REASON_MINOR_CORDUNPLUGGED 0x0000000b
-#define SHTDN_REASON_MINOR_DISK 0x00000007
-#define SHTDN_REASON_MINOR_ENVIRONMENT 0x0000000c
-#define SHTDN_REASON_MINOR_HARDWARE_DRIVER 0x0000000d
-#define SHTDN_REASON_MINOR_HOTFIX 0x00000011
-#define SHTDN_REASON_MINOR_HOTFIX_UNINSTALL 0x00000017
-#define SHTDN_REASON_MINOR_HUNG 0x00000005
-#define SHTDN_REASON_MINOR_INSTALLATION 0x00000002
-#define SHTDN_REASON_MINOR_MAINTENANCE 0x00000001
-#define SHTDN_REASON_MINOR_MMC 0x00000019
-#define SHTDN_REASON_MINOR_NETWORK_CONNECTIVITY 0x00000014
-#define SHTDN_REASON_MINOR_NETWORKCARD 0x00000009
-#define SHTDN_REASON_MINOR_OTHER 0x00000000
-#define SHTDN_REASON_MINOR_OTHERDRIVER 0x0000000e
-#define SHTDN_REASON_MINOR_POWER_SUPPLY 0x0000000a
-#define SHTDN_REASON_MINOR_PROCESSOR 0x00000008
-#define SHTDN_REASON_MINOR_RECONFIG 0x00000004
-#define SHTDN_REASON_MINOR_SECURITY 0x00000013
-#define SHTDN_REASON_MINOR_SECURITYFIX 0x00000012
-#define SHTDN_REASON_MINOR_SECURITYFIX_UNINSTALL 0x00000018
-#define SHTDN_REASON_MINOR_SERVICEPACK 0x00000010
-#define SHTDN_REASON_MINOR_SERVICEPACK_UNINSTALL 0x00000016
-#define SHTDN_REASON_MINOR_TERMSRV 0x00000020
-#define SHTDN_REASON_MINOR_UNSTABLE 0x00000006
-#define SHTDN_REASON_MINOR_UPGRADE 0x00000003
-#define SHTDN_REASON_MINOR_WMI 0x00000015
-#define SHTDN_REASON_FLAG_USER_DEFINED 0x40000000
-#define SHTDN_REASON_FLAG_PLANNED 0x80000000
-#endif /* (WIN32_WINNT >= 0x0501) */
-
-#endif
diff --git a/winsup/w32api/include/regstr.h b/winsup/w32api/include/regstr.h
deleted file mode 100644
index ccf80ea40..000000000
--- a/winsup/w32api/include/regstr.h
+++ /dev/null
@@ -1,769 +0,0 @@
-#ifndef _REGSTR_H
-#define _REGSTR_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-#define REGSTR_KEY_CLASS TEXT("Class")
-#define REGSTR_KEY_CONFIG TEXT("Config")
-#define REGSTR_KEY_ENUM TEXT("Enum")
-#define REGSTR_KEY_ROOTENUM TEXT("Root")
-#define REGSTR_KEY_BIOSENUM TEXT("BIOS")
-#define REGSTR_KEY_PCMCIAENUM TEXT("PCMCIA")
-#define REGSTR_KEY_PCIENUM TEXT("PCI")
-#define REGSTR_KEY_LOGCONFIG TEXT("LogConfig")
-#define REGSTR_KEY_SYSTEMBOARD TEXT("*PNP0C01")
-#define REGSTR_KEY_APM TEXT("*PNP0C05")
-#define REGSTR_KEY_INIUPDATE TEXT("IniUpdate")
-#define REG_KEY_INSTDEV TEXT("Installed")
-#define REGSTR_KEY_DOSOPTCDROM TEXT("CD-ROM")
-#define REGSTR_KEY_DOSOPTMOUSE TEXT("MOUSE")
-#define REGSTR_DEFAULT_INSTANCE TEXT("0000")
-#define REGSTR_PATH_MOTHERBOARD REGSTR_KEY_SYSTEMBOARD TEXT("\\" REGSTR_DEFAULT_INSTANCE
-#define REGSTR_PATH_SETUP TEXT("Software\\Microsoft\\Windows\\CurrentVersion")
-#define REGSTR_PATH_PIFCONVERT TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\PIFConvert")
-#define REGSTR_PATH_MSDOSOPTS TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\MS-DOSOptions")
-#define REGSTR_PATH_MSDOSEMU TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\MS-DOS Emulation")
-#define REGSTR_PATH_NEWDOSBOX TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\MS-DOS Emulation\\AppCompat")
-#define REGSTR_PATH_RUNONCE TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\RunOnce")
-#define REGSTR_PATH_RUN TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Run")
-#define REGSTR_PATH_RUNSERVICESONCE TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\RunServicesOnce")
-#define REGSTR_PATH_RUNSERVICES TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\RunServices")
-#ifndef REGSTR_PATH_EXPLORER /* also in shlobj.h */
-#define REGSTR_PATH_EXPLORER TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Explorer")
-#endif
-#define REGSTR_PATH_DETECT TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Detect")
-#define REGSTR_PATH_APPPATHS TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\App Paths")
-#define REGSTR_PATH_UNINSTALL TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall")
-#define REGSTR_PATH_REALMODENET TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Network\\Real Mode Net")
-#define REGSTR_PATH_NETEQUIV TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Network\\Equivalent")
-#define REGSTR_PATH_CVNETWORK TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Network")
-#define REGSTR_PATH_IDCONFIGDB TEXT("System\\CurrentControlSet\\Control\\IDConfigDB")
-#define REGSTR_PATH_CLASS TEXT("System\\CurrentControlSet\\Services\\Class")
-#define REGSTR_PATH_DISPLAYSETTINGS TEXT("Display\\Settings")
-#define REGSTR_PATH_FONTS TEXT("Display\\Fonts")
-#define REGSTR_PATH_ENUM TEXT("Enum")
-#define REGSTR_PATH_ROOT TEXT("Enum\\Root")
-#define REGSTR_PATH_SERVICES TEXT("System\\CurrentControlSet\\Services")
-#define REGSTR_PATH_VXD TEXT("System\\CurrentControlSet\\Services\\VxD")
-#define REGSTR_PATH_IOS TEXT("System\\CurrentControlSet\\Services\\VxD\\IOS")
-#define REGSTR_PATH_VMM TEXT("System\\CurrentControlSet\\Services\\VxD\\VMM")
-#define REGSTR_PATH_VPOWERD TEXT("System\\CurrentControlSet\\Services\\VxD\\VPOWERD")
-#define REGSTR_PATH_VNETSUP TEXT("System\\CurrentControlSet\\Services\\VxD\\VNETSUP")
-#define REGSTR_PATH_NWREDIR TEXT("System\\CurrentControlSet\\Services\\VxD\\NWREDIR")
-#define REGSTR_PATH_NCPSERVER TEXT("System\\CurrentControlSet\\Services\\NcpServer\\Parameters")
-#define REGSTR_PATH_IOARB TEXT("System\\CurrentControlSet\\Services\\Arbitrators\\IOArb")
-#define REGSTR_PATH_ADDRARB TEXT("System\\CurrentControlSet\\Services\\Arbitrators\\AddrArb")
-#define REGSTR_PATH_DMAARB TEXT("System\\CurrentControlSet\\Services\\Arbitrators\\DMAArb")
-#define REGSTR_PATH_IRQARB TEXT("System\\CurrentControlSet\\Services\\Arbitrators\\IRQArb")
-#define REGSTR_PATH_CODEPAGE TEXT("System\\CurrentControlSet\\Control\\Nls\\Codepage")
-#define REGSTR_PATH_FILESYSTEM TEXT("System\\CurrentControlSet\\Control\\FileSystem")
-#define REGSTR_PATH_FILESYSTEM_NOVOLTRACK TEXT("System\\CurrentControlSet\\Control\\FileSystem\\NoVolTrack")
-#define REGSTR_PATH_CDFS TEXT("System\\CurrentControlSet\\Control\\FileSystem\\CDFS")
-#define REGSTR_PATH_WINBOOT TEXT("System\\CurrentControlSet\\Control\\WinBoot")
-#define REGSTR_PATH_INSTALLEDFILES TEXT("System\\CurrentControlSet\\Control\\InstalledFiles")
-#define REGSTR_PATH_VMM32FILES TEXT("System\\CurrentControlSet\\Control\\VMM32Files")
-#define REGSTR_MAX_VALUE_LENGTH 256
-#define REGSTR_VAL_BITSPERPIXEL TEXT("BitsPerPixel")
-#define REGSTR_VAL_RESOLUTION TEXT("Resolution")
-#define REGSTR_VAL_DPILOGICALX TEXT("DPILogicalX")
-#define REGSTR_VAL_DPILOGICALY TEXT("DPILogicalY")
-#define REGSTR_VAL_DPIPHYSICALX TEXT("DPIPhysicalX")
-#define REGSTR_VAL_DPIPHYSICALY TEXT("DPIPhysicalY")
-#define REGSTR_VAL_REFRESHRATE TEXT("RefreshRate")
-#define REGSTR_VAL_DISPLAYFLAGS TEXT("DisplayFlags")
-#define REGSTR_PATH_CONTROLPANEL TEXT("Control Panel")
-#define REGSTR_PATH_CONTROLSFOLDER TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Controls Folder")
-#define REGSTR_VAL_DOSCP TEXT("OEMCP")
-#define REGSTR_VAL_WINCP TEXT("ACP")
-#define REGSTR_PATH_DYNA_ENUM TEXT("Config Manager\\Enum")
-#define REGSTR_VAL_HARDWARE_KEY TEXT("HardWareKey")
-#define REGSTR_VAL_ALLOCATION TEXT("Allocation")
-#define REGSTR_VAL_PROBLEM TEXT("Problem")
-#define REGSTR_VAL_STATUS TEXT("Status")
-#define REGSTR_VAL_DONTUSEMEM TEXT("DontAllocLastMem")
-#define REGSTR_VAL_SYSTEMROOT TEXT("SystemRoot")
-#define REGSTR_VAL_BOOTCOUNT TEXT("BootCount")
-#define REGSTR_VAL_REALNETSTART TEXT("RealNetStart")
-#define REGSTR_VAL_MEDIA TEXT("MediaPath")
-#define REGSTR_VAL_CONFIG TEXT("ConfigPath")
-#define REGSTR_VAL_DEVICEPATH TEXT("DevicePath")
-#define REGSTR_VAL_SRCPATH TEXT("SourcePath")
-#define REGSTR_VAL_OLDWINDIR TEXT("OldWinDir")
-#define REGSTR_VAL_SETUPFLAGS TEXT("SetupFlags")
-#define REGSTR_VAL_REGOWNER TEXT("RegisteredOwner")
-#define REGSTR_VAL_REGORGANIZATION TEXT("RegisteredOrganization")
-#define REGSTR_VAL_LICENSINGINFO TEXT("LicensingInfo")
-#define REGSTR_VAL_OLDMSDOSVER TEXT("OldMSDOSVer")
-#define REGSTR_VAL_FIRSTINSTALLDATETIME TEXT("FirstInstallDateTime")
-#define REGSTR_VAL_INSTALLTYPE TEXT("InstallType")
-#define REGSTR_VAL_WRAPPER TEXT("Wrapper")
-#define IT_COMPACT 0
-#define IT_TYPICAL 1
-#define IT_PORTABLE 2
-#define IT_CUSTOM 3
-#define REGSTR_KEY_SETUP TEXT("\\Setup")
-#define REGSTR_VAL_BOOTDIR TEXT("BootDir")
-#define REGSTR_VAL_WINBOOTDIR TEXT("WinbootDir")
-#define REGSTR_VAL_WINDIR TEXT("WinDir")
-#define REGSTR_VAL_APPINSTPATH TEXT("AppInstallPath")
-#define REGSTR_PATH_EBD REGSTR_PATH_SETUP REGSTR_KEY_SETUP TEXT("\\EBD")
-#define REGSTR_KEY_EBDFILESLOCAL TEXT("EBDFilesLocale")
-#define REGSTR_KEY_EBDFILESKEYBOARD TEXT("EBDFilesKeyboard")
-#define REGSTR_KEY_EBDAUTOEXECBATLOCAL TEXT("EBDAutoexecBatLocale")
-#define REGSTR_KEY_EBDAUTOEXECBATKEYBOARD TEXT("EBDAutoexecBatKeyboard")
-#define REGSTR_KEY_EBDCONFIGSYSLOCAL TEXT("EBDConfigSysLocale")
-#define REGSTR_KEY_EBDCONFIGSYSKEYBOARD TEXT("EBDConfigSysKeyboard")
-#define REGSTR_VAL_MSDOSMODE TEXT("MSDOSMode")
-#define REGSTR_VAL_MSDOSMODEDISCARD TEXT("Discard")
-#define REGSTR_VAL_DOSOPTGLOBALFLAGS TEXT("GlobalFlags")
-#define DOSOPTGF_DEFCLEAN 1
-#define REGSTR_VAL_DOSOPTFLAGS TEXT("Flags")
-#define REGSTR_VAL_OPTORDER TEXT("Order")
-#define REGSTR_VAL_CONFIGSYS TEXT("Config.Sys")
-#define REGSTR_VAL_AUTOEXEC TEXT("Autoexec.Bat")
-#define REGSTR_VAL_STDDOSOPTION TEXT("StdOption")
-#define REGSTR_VAL_DOSOPTTIP TEXT("TipText")
-#define DOSOPTF_DEFAULT 1
-#define DOSOPTF_SUPPORTED 2
-#define DOSOPTF_ALWAYSUSE 4
-#define DOSOPTF_USESPMODE 8
-#define DOSOPTF_PROVIDESUMB 16
-#define DOSOPTF_NEEDSETUP 32
-#define DOSOPTF_INDOSSTART 64
-#define DOSOPTF_MULTIPLE 128
-#define SUF_FIRSTTIME 1
-#define SUF_EXPRESS 2
-#define SUF_BATCHINF 4
-#define SUF_CLEAN 8
-#define SUF_INSETUP 16
-#define SUF_NETSETUP 32
-#define SUF_NETHDBOOT 64
-#define SUF_NETRPLBOOT 128
-#define SUF_SBSCOPYOK 256
-#define REGSTR_VAL_DOSPAGER TEXT("DOSPager")
-#define REGSTR_VAL_VXDGROUPS TEXT("VXDGroups")
-#define REGSTR_VAL_VPOWERDFLAGS TEXT("Flags")
-#define VPDF_DISABLEPWRMGMT 1
-#define VPDF_FORCEAPM10MODE 2
-#define VPDF_SKIPINTELSLCHECK 4
-#define VPDF_DISABLEPWRSTATUSPOLL 8
-#define REGSTR_VAL_WORKGROUP TEXT("Workgroup")
-#define REGSTR_VAL_DIRECTHOST TEXT("DirectHost")
-#define REGSTR_VAL_FILESHARING TEXT("FileSharing")
-#define REGSTR_VAL_PRINTSHARING TEXT("PrintSharing")
-#define REGSTR_VAL_FIRSTNETDRIVE TEXT("FirstNetworkDrive")
-#define REGSTR_VAL_MAXCONNECTIONS TEXT("MaxConnections")
-#define REGSTR_VAL_APISUPPORT TEXT("APISupport")
-#define REGSTR_VAL_MAXRETRY TEXT("MaxRetry")
-#define REGSTR_VAL_MINRETRY TEXT("MinRetry")
-#define REGSTR_VAL_SUPPORTLFN TEXT("SupportLFN")
-#define REGSTR_VAL_SUPPORTBURST TEXT("SupportBurst")
-#define REGSTR_VAL_SUPPORTTUNNELLING TEXT("SupportTunnelling")
-#define REGSTR_VAL_FULLTRACE TEXT("FullTrace")
-#define REGSTR_VAL_READCACHING TEXT("ReadCaching")
-#define REGSTR_VAL_SHOWDOTS TEXT("ShowDots")
-#define REGSTR_VAL_GAPTIME TEXT("GapTime")
-#define REGSTR_VAL_SEARCHMODE TEXT("SearchMode")
-#define REGSTR_VAL_SHELLVERSION TEXT("ShellVersion")
-#define REGSTR_VAL_MAXLIP TEXT("MaxLIP")
-#define REGSTR_VAL_PRESERVECASE TEXT("PreserveCase")
-#define REGSTR_VAL_OPTIMIZESFN TEXT("OptimizeSFN")
-#define REGSTR_VAL_NCP_BROWSEMASTER TEXT("BrowseMaster")
-#define REGSTR_VAL_NCP_USEPEERBROWSING TEXT("Use_PeerBrowsing")
-#define REGSTR_VAL_NCP_USESAP TEXT("Use_Sap")
-#define REGSTR_VAL_WIN31FILESYSTEM TEXT("Win31FileSystem")
-#define REGSTR_VAL_PRESERVELONGNAMES TEXT("PreserveLongNames")
-#define REGSTR_VAL_DRIVEWRITEBEHIND TEXT("DriveWriteBehind")
-#define REGSTR_VAL_ASYNCFILECOMMIT TEXT("AsyncFileCommit")
-#define REGSTR_VAL_PATHCACHECOUNT TEXT("PathCache")
-#define REGSTR_VAL_NAMECACHECOUNT TEXT("NameCache")
-#define REGSTR_VAL_CONTIGFILEALLOC TEXT("ContigFileAllocSize")
-#define REGSTR_VAL_VOLIDLETIMEOUT TEXT("VolumeIdleTimeout")
-#define REGSTR_VAL_BUFFIDLETIMEOUT TEXT("BufferIdleTimeout")
-#define REGSTR_VAL_BUFFAGETIMEOUT TEXT("BufferAgeTimeout")
-#define REGSTR_VAL_NAMENUMERICTAIL TEXT("NameNumericTail")
-#define REGSTR_VAL_READAHEADTHRESHOLD TEXT("ReadAheadThreshold")
-#define REGSTR_VAL_DOUBLEBUFFER TEXT("DoubleBuffer")
-#define REGSTR_VAL_SOFTCOMPATMODE TEXT("SoftCompatMode")
-#define REGSTR_VAL_DRIVESPINDOWN TEXT("DriveSpinDown")
-#define REGSTR_VAL_FORCEPMIO TEXT("ForcePMIO")
-#define REGSTR_VAL_FORCERMIO TEXT("ForceRMIO")
-#define REGSTR_VAL_LASTBOOTPMDRVS TEXT("LastBootPMDrvs")
-#define REGSTR_VAL_VIRTUALHDIRQ TEXT("VirtualHDIRQ")
-#define REGSTR_VAL_SRVNAMECACHECOUNT TEXT("ServerNameCacheMax")
-#define REGSTR_VAL_SRVNAMECACHE TEXT("ServerNameCache")
-#define REGSTR_VAL_SRVNAMECACHENETPROV TEXT("ServerNameCacheNumNets")
-#define REGSTR_VAL_AUTOMOUNT TEXT("AutoMountDrives")
-#define REGSTR_VAL_COMPRESSIONMETHOD TEXT("CompressionAlgorithm")
-#define REGSTR_VAL_COMPRESSIONTHRESHOLD TEXT("CompressionThreshold")
-#define REGSTR_VAL_CDCACHESIZE TEXT("CacheSize")
-#define REGSTR_VAL_CDPREFETCH TEXT("Prefetch")
-#define REGSTR_VAL_CDPREFETCHTAIL TEXT("PrefetchTail")
-#define REGSTR_VAL_CDRAWCACHE TEXT("RawCache")
-#define REGSTR_VAL_CDEXTERRORS TEXT("ExtendedErrors")
-#define REGSTR_VAL_CDSVDSENSE TEXT("SVDSense")
-#define REGSTR_VAL_CDSHOWVERSIONS TEXT("ShowVersions")
-#define REGSTR_VAL_CDCOMPATNAMES TEXT("MSCDEXCompatNames")
-#define REGSTR_VAL_CDNOREADAHEAD TEXT("NoReadAhead")
-#define REGSTR_VAL_SCSI TEXT("SCSI\\")
-#define REGSTR_VAL_ESDI TEXT("ESDI\\")
-#define REGSTR_VAL_FLOP TEXT("FLOP\\")
-#define REGSTR_VAL_DISK TEXT("GenDisk")
-#define REGSTR_VAL_CDROM TEXT("GenCD")
-#define REGSTR_VAL_TAPE TEXT("TAPE")
-#define REGSTR_VAL_SCANNER TEXT("SCANNER")
-#define REGSTR_VAL_FLOPPY TEXT("FLOPPY")
-#define REGSTR_VAL_SCSITID TEXT("SCSITargetID")
-#define REGSTR_VAL_SCSILUN TEXT("SCSILUN")
-#define REGSTR_VAL_REVLEVEL TEXT("RevisionLevel")
-#define REGSTR_VAL_PRODUCTID TEXT("ProductId")
-#define REGSTR_VAL_PRODUCTTYPE TEXT("ProductType")
-#define REGSTR_VAL_DEVTYPE TEXT("DeviceType")
-#define REGSTR_VAL_REMOVABLE TEXT("Removable")
-#define REGSTR_VAL_CURDRVLET TEXT("CurrentDriveLetterAssignment")
-#define REGSTR_VAL_USRDRVLET TEXT("UserDriveLetterAssignment")
-#define REGSTR_VAL_SYNCDATAXFER TEXT("SyncDataXfer")
-#define REGSTR_VAL_AUTOINSNOTE TEXT("AutoInsertNotification")
-#define REGSTR_VAL_DISCONNECT TEXT("Disconnect")
-#define REGSTR_VAL_INT13 TEXT("Int13")
-#define REGSTR_VAL_PMODE_INT13 TEXT("PModeInt13")
-#define REGSTR_VAL_USERSETTINGS TEXT("AdapterSettings")
-#define REGSTR_VAL_NOIDE TEXT("NoIDE")
-#define REGSTR_VAL_DISKCLASSNAME TEXT("DiskDrive")
-#define REGSTR_VAL_CDROMCLASSNAME TEXT("CDROM")
-#define REGSTR_VAL_FORCELOAD TEXT("ForceLoadPD")
-#define REGSTR_VAL_FORCEFIFO TEXT("ForceFIFO")
-#define REGSTR_VAL_FORCECL TEXT("ForceChangeLine")
-#define REGSTR_VAL_NOUSECLASS TEXT("NoUseClass")
-#define REGSTR_VAL_NOINSTALLCLASS TEXT("NoInstallClass")
-#define REGSTR_VAL_NODISPLAYCLASS TEXT("NoDisplayClass")
-#define REGSTR_VAL_SILENTINSTALL TEXT("SilentInstall")
-#define REGSTR_KEY_PCMCIA_CLASS TEXT("PCMCIA")
-#define REGSTR_KEY_SCSI_CLASS TEXT("SCSIAdapter")
-#define REGSTR_KEY_PORTS_CLASS TEXT("ports")
-#define REGSTR_KEY_MEDIA_CLASS TEXT("MEDIA")
-#define REGSTR_KEY_DISPLAY_CLASS TEXT("Display")
-#define REGSTR_KEY_KEYBOARD_CLASS TEXT("Keyboard")
-#define REGSTR_KEY_MOUSE_CLASS TEXT("Mouse")
-#define REGSTR_KEY_MONITOR_CLASS TEXT("Monitor")
-#define REGSTR_VAL_PCMCIA_OPT TEXT("Options")
-#define PCMCIA_OPT_HAVE_SOCKET 1
-#define PCMCIA_OPT_AUTOMEM 4
-#define PCMCIA_OPT_NO_SOUND 8
-#define PCMCIA_OPT_NO_AUDIO 16
-#define PCMCIA_OPT_NO_APMREMOVE 32
-#define REGSTR_VAL_PCMCIA_MEM TEXT("Memory")
-#define PCMCIA_DEF_MEMBEGIN 0xC0000
-#define PCMCIA_DEF_MEMEND 0xFFFFFF
-#define PCMCIA_DEF_MEMLEN 0x1000
-#define REGSTR_VAL_PCMCIA_ALLOC TEXT("AllocMemWin")
-#define REGSTR_VAL_PCMCIA_ATAD TEXT("ATADelay")
-#define REGSTR_VAL_PCMCIA_SIZ TEXT("MinRegionSize")
-#define PCMCIA_DEF_MIN_REGION 0x10000
-#define REGSTR_VAL_P1284MDL TEXT("Model")
-#define REGSTR_VAL_P1284MFG TEXT("Manufacturer")
-#define REGSTR_VAL_ISAPNP TEXT("ISAPNP")
-#define REGSTR_VAL_ISAPNP_RDP_OVERRIDE TEXT("RDPOverRide")
-#define REGSTR_VAL_PCI TEXT("PCI")
-#define REGSTR_PCI_OPTIONS TEXT("Options")
-#define REGSTR_PCI_DUAL_IDE TEXT("PCIDualIDE")
-#define PCI_OPTIONS_USE_BIOS 1
-#define PCI_OPTIONS_USE_IRQ_STEERING 2
-#define PCI_FLAG_NO_VIDEO_IRQ 1
-#define PCI_FLAG_PCMCIA_WANT_IRQ 2
-#define PCI_FLAG_DUAL_IDE 4
-#define PCI_FLAG_NO_ENUM_AT_ALL 8
-#define PCI_FLAG_ENUM_NO_RESOURCE 16
-#define PCI_FLAG_NEED_DWORD_ACCESS 32
-#define PCI_FLAG_SINGLE_FUNCTION 64
-#define PCI_FLAG_ALWAYS_ENABLED 128
-#define PCI_FLAG_IS_IDE 256
-#define PCI_FLAG_IS_VIDEO 512
-#define PCI_FLAG_FAIL_START 1024
-#define REGSTR_KEY_CRASHES TEXT("Crashes")
-#define REGSTR_KEY_DANGERS TEXT("Dangers")
-#define REGSTR_KEY_DETMODVARS TEXT("DetModVars")
-#define REGSTR_KEY_NDISINFO TEXT("NDISInfo")
-#define REGSTR_VAL_PROTINIPATH TEXT("ProtIniPath")
-#define REGSTR_VAL_RESOURCES TEXT("Resources")
-#define REGSTR_VAL_CRASHFUNCS TEXT("CrashFuncs")
-#define REGSTR_VAL_CLASS TEXT("Class")
-#define REGSTR_VAL_DEVDESC TEXT("DeviceDesc")
-#define REGSTR_VAL_BOOTCONFIG TEXT("BootConfig")
-#define REGSTR_VAL_DETFUNC TEXT("DetFunc")
-#define REGSTR_VAL_DETFLAGS TEXT("DetFlags")
-#define REGSTR_VAL_COMPATIBLEIDS TEXT("CompatibleIDs")
-#define REGSTR_VAL_DETCONFIG TEXT("DetConfig")
-#define REGSTR_VAL_VERIFYKEY TEXT("VerifyKey")
-#define REGSTR_VAL_COMINFO TEXT("ComInfo")
-#define REGSTR_VAL_INFNAME TEXT("InfName")
-#define REGSTR_VAL_CARDSPECIFIC TEXT("CardSpecific")
-#define REGSTR_VAL_NETOSTYPE TEXT("NetOSType")
-#define REGSTR_DATA_NETOS_NDIS TEXT("NDIS")
-#define REGSTR_DATA_NETOS_ODI TEXT("ODI")
-#define REGSTR_DATA_NETOS_IPX TEXT("IPX")
-#define REGSTR_VAL_MFG TEXT("Mfg")
-#define REGSTR_VAL_SCAN_ONLY_FIRST TEXT("ScanOnlyFirstDrive")
-#define REGSTR_VAL_SHARE_IRQ TEXT("ForceIRQSharing")
-#define REGSTR_VAL_NONSTANDARD_ATAPI TEXT("NonStandardATAPI")
-#define REGSTR_VAL_IDE_FORCE_SERIALIZE TEXT("ForceSerialization")
-#define REGSTR_VAL_MAX_HCID_LEN 1024
-#define REGSTR_VAL_HWREV TEXT("HWRevision")
-#define REGSTR_VAL_ENABLEINTS TEXT("EnableInts")
-#define REGDF_NOTDETIO 1
-#define REGDF_NOTDETMEM 2
-#define REGDF_NOTDETIRQ 4
-#define REGDF_NOTDETDMA 8
-#define REGDF_NOTDETALL (REGDF_NOTDETIO | REGDF_NOTDETMEM | REGDF_NOTDETIRQ | REGDF_NOTDETDMA)
-#define REGDF_NEEDFULLCONFIG 16
-#define REGDF_GENFORCEDCONFIG 32
-#define REGDF_NODETCONFIG 0x8000
-#define REGDF_CONFLICTIO 0x10000
-#define REGDF_CONFLICTMEM 0x20000
-#define REGDF_CONFLICTIRQ 0x40000
-#define REGDF_CONFLICTDMA 0x80000
-#define REGDF_CONFLICTALL (REGDF_CONFLICTIO | REGDF_CONFLICTMEM | REGDF_CONFLICTIRQ | REGDF_CONFLICTDMA)
-#define REGDF_MAPIRQ2TO9 0x100000
-#define REGDF_NOTVERIFIED 0x80000000
-#define REGSTR_VAL_APMBIOSVER TEXT("APMBiosVer")
-#define REGSTR_VAL_APMFLAGS TEXT("APMFlags")
-#define REGSTR_VAL_SLSUPPORT TEXT("SLSupport")
-#define REGSTR_VAL_MACHINETYPE TEXT("MachineType")
-#define REGSTR_VAL_SETUPMACHINETYPE TEXT("SetupMachineType")
-#define REGSTR_MACHTYPE_UNKNOWN TEXT("Unknown")
-#define REGSTR_MACHTYPE_IBMPC TEXT("IBM PC")
-#define REGSTR_MACHTYPE_IBMPCJR TEXT("IBM PCjr")
-#define REGSTR_MACHTYPE_IBMPCCONV TEXT("IBM PC Convertible")
-#define REGSTR_MACHTYPE_IBMPCXT TEXT("IBM PC/XT")
-#define REGSTR_MACHTYPE_IBMPCXT_286 TEXT("IBM PC/XT 286")
-#define REGSTR_MACHTYPE_IBMPCAT TEXT("IBM PC/AT")
-#define REGSTR_MACHTYPE_IBMPS2_25 TEXT("IBM PS/2-25")
-#define REGSTR_MACHTYPE_IBMPS2_30_286 TEXT("IBM PS/2-30 286")
-#define REGSTR_MACHTYPE_IBMPS2_30 TEXT("IBM PS/2-30")
-#define REGSTR_MACHTYPE_IBMPS2_50 TEXT("IBM PS/2-50")
-#define REGSTR_MACHTYPE_IBMPS2_50Z TEXT("IBM PS/2-50Z")
-#define REGSTR_MACHTYPE_IBMPS2_55SX TEXT("IBM PS/2-55SX")
-#define REGSTR_MACHTYPE_IBMPS2_60 TEXT("IBM PS/2-60")
-#define REGSTR_MACHTYPE_IBMPS2_65SX TEXT("IBM PS/2-65SX")
-#define REGSTR_MACHTYPE_IBMPS2_70 TEXT("IBM PS/2-70")
-#define REGSTR_MACHTYPE_IBMPS2_P70 TEXT("IBM PS/2-P70")
-#define REGSTR_MACHTYPE_IBMPS2_70_80 TEXT("IBM PS/2-70/80")
-#define REGSTR_MACHTYPE_IBMPS2_80 TEXT("IBM PS/2-80")
-#define REGSTR_MACHTYPE_IBMPS2_90 TEXT("IBM PS/2-90")
-#define REGSTR_MACHTYPE_IBMPS1 TEXT("IBM PS/1")
-#define REGSTR_MACHTYPE_PHOENIX_PCAT TEXT("Phoenix PC/AT Compatible")
-#define REGSTR_MACHTYPE_HP_VECTRA TEXT("HP Vectra")
-#define REGSTR_MACHTYPE_ATT_PC TEXT("AT&T PC")
-#define REGSTR_MACHTYPE_ZENITH_PC TEXT("Zenith PC")
-#define REGSTR_VAL_APMMENUSUSPEND TEXT("APMMenuSuspend")
-#define APMMENUSUSPEND_DISABLED 0
-#define APMMENUSUSPEND_ENABLED 1
-#define APMMENUSUSPEND_UNDOCKED 2
-#define APMMENUSUSPEND_NOCHANGE 128
-#define REGSTR_VAL_BUSTYPE TEXT("BusType")
-#define REGSTR_VAL_CPU TEXT("CPU")
-#define REGSTR_VAL_NDP TEXT("NDP")
-#define REGSTR_VAL_PNPBIOSVER TEXT("PnPBIOSVer")
-#define REGSTR_VAL_PNPSTRUCOFFSET TEXT("PnPStrucOffset")
-#define REGSTR_VAL_PCIBIOSVER TEXT("PCIBIOSVer")
-#define REGSTR_VAL_HWMECHANISM TEXT("HWMechanism")
-#define REGSTR_VAL_LASTPCIBUSNUM TEXT("LastPCIBusNum")
-#define REGSTR_VAL_CONVMEM TEXT("ConvMem")
-#define REGSTR_VAL_EXTMEM TEXT("ExtMem")
-#define REGSTR_VAL_COMPUTERNAME TEXT("ComputerName")
-#define REGSTR_VAL_BIOSNAME TEXT("BIOSName")
-#define REGSTR_VAL_BIOSVERSION TEXT("BIOSVersion")
-#define REGSTR_VAL_BIOSDATE TEXT("BIOSDate")
-#define REGSTR_VAL_MODEL TEXT("Model")
-#define REGSTR_VAL_SUBMODEL TEXT("Submodel")
-#define REGSTR_VAL_REVISION TEXT("Revision")
-#define REGSTR_VAL_FIFODEPTH TEXT("FIFODepth")
-#define REGSTR_VAL_RDINTTHRESHOLD TEXT("RDIntThreshold")
-#define REGSTR_VAL_WRINTTHRESHOLD TEXT("WRIntThreshold")
-#define REGSTR_VAL_PRIORITY TEXT("Priority")
-#define REGSTR_VAL_DRIVER TEXT("Driver")
-#define REGSTR_VAL_FUNCDESC TEXT("FunctionDesc")
-#define REGSTR_VAL_FORCEDCONFIG TEXT("ForcedConfig")
-#define REGSTR_VAL_CONFIGFLAGS TEXT("ConfigFlags")
-#define REGSTR_VAL_CSCONFIGFLAGS TEXT("CSConfigFlags")
-#define CONFIGFLAG_DISABLED 1
-#define CONFIGFLAG_REMOVED 2
-#define CONFIGFLAG_MANUAL_INSTALL 4
-#define CONFIGFLAG_IGNORE_BOOT_LC 8
-#define CONFIGFLAG_NET_BOOT 16
-#define CONFIGFLAG_REINSTALL 32
-#define CONFIGFLAG_FAILEDINSTALL 64
-#define CONFIGFLAG_CANTSTOPACHILD 128
-#define CONFIGFLAG_OKREMOVEROM 256
-#define CONFIGFLAG_NOREMOVEEXIT 512
-#define CSCONFIGFLAG_BITS 7
-#define CSCONFIGFLAG_DISABLED 1
-#define CSCONFIGFLAG_DO_NOT_CREATE 2
-#define CSCONFIGFLAG_DO_NOT_START 4
-#define DMSTATEFLAG_APPLYTOALL 1
-#define REGSTR_VAL_ROOT_DEVNODE TEXT("HTREE\\ROOT\\0")
-#define REGSTR_VAL_RESERVED_DEVNODE TEXT("HTREE\\RESERVED\\0")
-#define REGSTR_PATH_READDATAPORT REGSTR_KEY_ISAENUM TEXT("\\ReadDataPort\\0")
-#define REGSTR_PATH_MULTI_FUNCTION TEXT("MF")
-#define REGSTR_VAL_RESOURCE_MAP TEXT("ResourceMap")
-#define REGSTR_PATH_CHILD_PREFIX TEXT("Child")
-#define NUM_RESOURCE_MAP 256
-#define REGSTR_VAL_MF_FLAGS TEXT("MFFlags")
-#define MF_FLAGS_EVEN_IF_NO_RESOURCE 1
-#define MF_FLAGS_NO_CREATE_IF_NO_RESOURCE 2
-#define MF_FLAGS_FILL_IN_UNKNOWN_RESOURCE 4
-#define MF_FLAGS_CREATE_BUT_NO_SHOW_DISABLED 8
-#define EISAFLAG_NO_IO_MERGE 1
-#define EISAFLAG_SLOT_IO_FIRST 2
-#define EISA_NO_MAX_FUNCTION 0xFF
-#define NUM_EISA_RANGES 4
-#define REGSTR_VAL_DRVDESC TEXT("DriverDesc")
-#define REGSTR_VAL_DEVLOADER TEXT("DevLoader")
-#define REGSTR_VAL_STATICVXD TEXT("StaticVxD")
-#define REGSTR_VAL_PROPERTIES TEXT("Properties")
-#define REGSTR_VAL_MANUFACTURER TEXT("Manufacturer")
-#define REGSTR_VAL_EXISTS TEXT("Exists")
-#define REGSTR_VAL_CMENUMFLAGS TEXT("CMEnumFlags")
-#define REGSTR_VAL_CMDRIVFLAGS TEXT("CMDrivFlags")
-#define REGSTR_VAL_ENUMERATOR TEXT("Enumerator")
-#define REGSTR_VAL_DEVICEDRIVER TEXT("DeviceDriver")
-#define REGSTR_VAL_PORTNAME TEXT("PortName")
-#define REGSTR_VAL_INFPATH TEXT("InfPath")
-#define REGSTR_VAL_INFSECTION TEXT("InfSection")
-#define REGSTR_VAL_POLLING TEXT("Polling")
-#define REGSTR_VAL_DONTLOADIFCONFLICT TEXT("DontLoadIfConflict")
-#define REGSTR_VAL_PORTSUBCLASS TEXT("PortSubClass")
-#define REGSTR_VAL_NETCLEAN TEXT("NetClean")
-#define REGSTR_VAL_IDE_NO_SERIALIZE TEXT("IDENoSerialize")
-#define REGSTR_VAL_NOCMOSORFDPT TEXT("NoCMOSorFDPT")
-#define REGSTR_VAL_COMVERIFYBASE TEXT("COMVerifyBase")
-#define REGSTR_KEY_OVERRIDE TEXT("Override")
-#define REGSTR_VAL_CONFIGMG TEXT("CONFIGMG")
-#define REGSTR_VAL_SYSDM TEXT("SysDM")
-#define REGSTR_VAL_SYSDMFUNC TEXT("SysDMFunc")
-#define REGSTR_VAL_PRIVATE TEXT("Private")
-#define REGSTR_VAL_PRIVATEFUNC TEXT("PrivateFunc")
-#define REGSTR_VAL_DETECT TEXT("Detect")
-#define REGSTR_VAL_DETECTFUNC TEXT("DetectFunc")
-#define REGSTR_VAL_ASKFORCONFIG TEXT("AskForConfig")
-#define REGSTR_VAL_ASKFORCONFIGFUNC TEXT("AskForConfigFunc")
-#define REGSTR_VAL_WAITFORUNDOCK TEXT("WaitForUndock")
-#define REGSTR_VAL_WAITFORUNDOCKFUNC TEXT("WaitForUndockFunc")
-#define REGSTR_VAL_REMOVEROMOKAY TEXT("RemoveRomOkay")
-#define REGSTR_VAL_REMOVEROMOKAYFUNC TEXT("RemoveRomOkayFunc")
-#define REGSTR_VAL_CURCONFIG TEXT("CurrentConfig")
-#define REGSTR_VAL_FRIENDLYNAME TEXT("FriendlyName")
-#define REGSTR_VAL_CURRENTCONFIG TEXT("CurrentConfig")
-#define REGSTR_VAL_MAP TEXT("Map")
-#define REGSTR_VAL_ID TEXT("CurrentID")
-#define REGSTR_VAL_DOCKED TEXT("CurrentDockedState")
-#define REGSTR_VAL_CHECKSUM TEXT("CurrentChecksum")
-#define REGSTR_VAL_HWDETECT TEXT("HardwareDetect")
-#define REGSTR_VAL_INHIBITRESULTS TEXT("InhibitResults")
-#define REGSTR_VAL_PROFILEFLAGS TEXT("ProfileFlags")
-#define REGSTR_KEY_PCMCIA TEXT("PCMCIA\\")
-#define REGSTR_KEY_PCUNKNOWN TEXT("UNKNOWN_MANUFACTURER")
-#define REGSTR_VAL_PCSSDRIVER TEXT("Driver")
-#define REGSTR_KEY_PCMTD TEXT("MTD-")
-#define REGSTR_VAL_PCMTDRIVER TEXT("MTD")
-#define REGSTR_VAL_HARDWAREID TEXT("HardwareID")
-#define REGSTR_VAL_INSTALLER TEXT("Installer")
-#define REGSTR_VAL_INSICON TEXT("Icon")
-#define REGSTR_VAL_ENUMPROPPAGES TEXT("EnumPropPages")
-#define REGSTR_VAL_BASICPROPERTIES TEXT("BasicProperties")
-#define REGSTR_VAL_PRIVATEPROBLEM TEXT("PrivateProblem")
-#define REGSTR_KEY_CURRENT TEXT("Current")
-#define REGSTR_KEY_DEFAULT TEXT("Default")
-#define REGSTR_KEY_MODES TEXT("Modes")
-#define REGSTR_VAL_MODE TEXT("Mode")
-#define REGSTR_VAL_BPP TEXT("BPP")
-#define REGSTR_VAL_HRES TEXT("HRes")
-#define REGSTR_VAL_VRES TEXT("VRes")
-#define REGSTR_VAL_FONTSIZE TEXT("FontSize")
-#define REGSTR_VAL_DRV TEXT("drv")
-#define REGSTR_VAL_GRB TEXT("grb")
-#define REGSTR_VAL_VDD TEXT("vdd")
-#define REGSTR_VAL_VER TEXT("Ver")
-#define REGSTR_VAL_MAXRES TEXT("MaxResolution")
-#define REGSTR_VAL_DPMS TEXT("DPMS")
-#define REGSTR_VAL_RESUMERESET TEXT("ResumeReset")
-#define REGSTR_VAL_DESCRIPTION TEXT("Description")
-#define REGSTR_KEY_SYSTEM TEXT("System")
-#define REGSTR_KEY_USER TEXT("User")
-#define REGSTR_VAL_DPI TEXT("dpi")
-#define REGSTR_VAL_PCICOPTIONS TEXT("PCICOptions")
-#ifndef NEC_98
-#define PCIC_DEFAULT_IRQMASK 0x4EB8
-#else
-#define PCIC_DEFAULT_IRQMASK 0x1468
-#endif
-#define PCIC_DEFAULT_NUMSOCKETS 0
-#define REGSTR_VAL_PCICIRQMAP TEXT("PCICIRQMap")
-#define REGSTR_PATH_APPEARANCE TEXT("Control Panel\\Appearance")
-#define REGSTR_PATH_LOOKSCHEMES TEXT("Control Panel\\Appearance\\Schemes")
-#define REGSTR_VAL_CUSTOMCOLORS TEXT("CustomColors")
-#define REGSTR_PATH_SCREENSAVE TEXT("Control Panel\\Desktop")
-#define REGSTR_VALUE_USESCRPASSWORD TEXT("ScreenSaveUsePassword")
-#define REGSTR_VALUE_SCRPASSWORD TEXT("ScreenSave_Data")
-#define REGSTR_VALUE_LOWPOWERTIMEOUT TEXT("ScreenSaveLowPowerTimeout")
-#define REGSTR_VALUE_POWEROFFTIMEOUT TEXT("ScreenSavePowerOffTimeout")
-#define REGSTR_VALUE_LOWPOWERACTIVE TEXT("ScreenSaveLowPowerActive")
-#define REGSTR_VALUE_POWEROFFACTIVE TEXT("ScreenSavePowerOffActive")
-#define REGSTR_PATH_WINDOWSAPPLETS TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Applets")
-#define REGSTR_PATH_SYSTRAY TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Applets\\SysTray")
-#define REGSTR_VAL_SYSTRAYSVCS TEXT("Services")
-#define REGSTR_VAL_SYSTRAYBATFLAGS TEXT("PowerFlags")
-#define REGSTR_VAL_SYSTRAYPCCARDFLAGS TEXT("PCMCIAFlags")
-#define REGSTR_PATH_NETWORK_USERSETTINGS TEXT("Network")
-#define REGSTR_KEY_NETWORK_PERSISTENT TEXT("\\Persistent")
-#define REGSTR_KEY_NETWORK_RECENT TEXT("\\Recent")
-#define REGSTR_VAL_REMOTE_PATH TEXT("RemotePath")
-#define REGSTR_VAL_USER_NAME TEXT("UserName")
-#define REGSTR_VAL_PROVIDER_NAME TEXT("ProviderName")
-#define REGSTR_VAL_CONNECTION_TYPE TEXT("ConnectionType")
-#define REGSTR_VAL_UPGRADE TEXT("Upgrade")
-#define REGSTR_KEY_LOGON TEXT("\\Logon")
-#define REGSTR_VAL_MUSTBEVALIDATED TEXT("MustBeValidated")
-#define REGSTR_VAL_RUNLOGINSCRIPT TEXT("ProcessLoginScript")
-#define REGSTR_KEY_NETWORKPROVIDER TEXT("\\NetworkProvider")
-#define REGSTR_PATH_NW32NETPROVIDER REGSTR_PATH_SERVICES TEXT("\\NWNP32" REGSTR_KEY_NETWORKPROVIDER
-#define REGSTR_PATH_MS32NETPROVIDER REGSTR_PATH_SERVICES TEXT("\\MSNP32" REGSTR_KEY_NETWORKPROVIDER
-#define REGSTR_VAL_AUTHENT_AGENT TEXT("AuthenticatingAgent")
-#define REGSTR_VAL_PREFREDIR TEXT("PreferredRedir")
-#define REGSTR_VAL_AUTOSTART TEXT("AutoStart")
-#define REGSTR_VAL_AUTOLOGON TEXT("AutoLogon")
-#define REGSTR_VAL_NETCARD TEXT("Netcard")
-#define REGSTR_VAL_TRANSPORT TEXT("Transport")
-#define REGSTR_VAL_DYNAMIC TEXT("Dynamic")
-#define REGSTR_VAL_TRANSITION TEXT("Transition")
-#define REGSTR_VAL_STATICDRIVE TEXT("StaticDrive")
-#define REGSTR_VAL_LOADHI TEXT("LoadHi")
-#define REGSTR_VAL_LOADRMDRIVERS TEXT("LoadRMDrivers")
-#define REGSTR_VAL_SETUPN TEXT("SetupN")
-#define REGSTR_VAL_SETUPNPATH TEXT("SetupNPath")
-#define REGSTR_VAL_WRKGRP_FORCEMAPPING TEXT("WrkgrpForceMapping")
-#define REGSTR_VAL_WRKGRP_REQUIRED TEXT("WrkgrpRequired")
-#define REGSTR_PATH_CURRENT_CONTROL_SET TEXT("System\\CurrentControlSet\\Control")
-#define REGSTR_VAL_CURRENT_USER TEXT("Current User")
-#define REGSTR_PATH_PWDPROVIDER TEXT("System\\CurrentControlSet\\Control\\PwdProvider")
-#define REGSTR_VAL_PWDPROVIDER_PATH TEXT("ProviderPath")
-#define REGSTR_VAL_PWDPROVIDER_DESC TEXT("Description")
-#define REGSTR_VAL_PWDPROVIDER_CHANGEPWD TEXT("ChangePassword")
-#define REGSTR_VAL_PWDPROVIDER_CHANGEPWDHWND TEXT("ChangePasswordHwnd")
-#define REGSTR_VAL_PWDPROVIDER_GETPWDSTATUS TEXT("GetPasswordStatus")
-#define REGSTR_VAL_PWDPROVIDER_ISNP TEXT("NetworkProvider")
-#define REGSTR_VAL_PWDPROVIDER_CHANGEORDER TEXT("ChangeOrder")
-#define REGSTR_PATH_POLICIES TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Policies")
-#define REGSTR_PATH_UPDATE TEXT("System\\CurrentControlSet\\Control\\Update")
-#define REGSTR_VALUE_ENABLE TEXT("Enable")
-#define REGSTR_VALUE_VERBOSE TEXT("Verbose")
-#define REGSTR_VALUE_NETPATH TEXT("NetworkPath")
-#define REGSTR_VALUE_DEFAULTLOC TEXT("UseDefaultNetLocation")
-#define REGSTR_KEY_NETWORK TEXT("Network")
-#define REGSTR_KEY_SYSTEM TEXT("System")
-#define REGSTR_KEY_PRINTERS TEXT("Printers")
-#define REGSTR_KEY_WINOLDAPP TEXT("WinOldApp")
-#define REGSTR_VAL_NOFILESHARING TEXT("NoFileSharing")
-#define REGSTR_VAL_NOPRINTSHARING TEXT("NoPrintSharing")
-#define REGSTR_VAL_NOFILESHARINGCTRL TEXT("NoFileSharingControl")
-#define REGSTR_VAL_NOPRINTSHARINGCTRL TEXT("NoPrintSharingControl")
-#define REGSTR_VAL_HIDESHAREPWDS TEXT("HideSharePwds")
-#define REGSTR_VAL_DISABLEPWDCACHING TEXT("DisablePwdCaching")
-#define REGSTR_VAL_ALPHANUMPWDS TEXT("AlphanumPwds")
-#define REGSTR_VAL_NETSETUP_DISABLE TEXT("NoNetSetup")
-#define REGSTR_VAL_NETSETUP_NOCONFIGPAGE TEXT("NoNetSetupConfigPage")
-#define REGSTR_VAL_NETSETUP_NOIDPAGE TEXT("NoNetSetupIDPage")
-#define REGSTR_VAL_NETSETUP_NOSECURITYPAGE TEXT("NoNetSetupSecurityPage")
-#define REGSTR_VAL_SYSTEMCPL_NOVIRTMEMPAGE TEXT("NoVirtMemPage")
-#define REGSTR_VAL_SYSTEMCPL_NODEVMGRPAGE TEXT("NoDevMgrPage")
-#define REGSTR_VAL_SYSTEMCPL_NOCONFIGPAGE TEXT("NoConfigPage")
-#define REGSTR_VAL_SYSTEMCPL_NOFILESYSPAGE TEXT("NoFileSysPage")
-#define REGSTR_VAL_DISPCPL_NODISPCPL TEXT("NoDispCPL")
-#define REGSTR_VAL_DISPCPL_NOBACKGROUNDPAGE TEXT("NoDispBackgroundPage")
-#define REGSTR_VAL_DISPCPL_NOSCRSAVPAGE TEXT("NoDispScrSavPage")
-#define REGSTR_VAL_DISPCPL_NOAPPEARANCEPAGE TEXT("NoDispAppearancePage")
-#define REGSTR_VAL_DISPCPL_NOSETTINGSPAGE TEXT("NoDispSettingsPage")
-#define REGSTR_VAL_SECCPL_NOSECCPL TEXT("NoSecCPL")
-#define REGSTR_VAL_SECCPL_NOPWDPAGE TEXT("NoPwdPage")
-#define REGSTR_VAL_SECCPL_NOADMINPAGE TEXT("NoAdminPage")
-#define REGSTR_VAL_SECCPL_NOPROFILEPAGE TEXT("NoProfilePage")
-#define REGSTR_VAL_PRINTERS_HIDETABS TEXT("NoPrinterTabs")
-#define REGSTR_VAL_PRINTERS_NODELETE TEXT("NoDeletePrinter")
-#define REGSTR_VAL_PRINTERS_NOADD TEXT("NoAddPrinter")
-#define REGSTR_VAL_WINOLDAPP_DISABLED TEXT("Disabled")
-#define REGSTR_VAL_WINOLDAPP_NOREALMODE TEXT("NoRealMode")
-#define REGSTR_VAL_NOENTIRENETWORK TEXT("NoEntireNetwork")
-#define REGSTR_VAL_NOWORKGROUPCONTENTS TEXT("NoWorkgroupContents")
-#define REGSTR_VAL_MINPWDLEN TEXT("MinPwdLen")
-#define REGSTR_VAL_PWDEXPIRATION TEXT("PwdExpiration")
-#define REGSTR_VAL_WIN31PROVIDER TEXT("Win31Provider")
-#define REGSTR_VAL_DISABLEREGTOOLS TEXT("DisableRegistryTools")
-#define REGSTR_PATH_WINLOGON TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Winlogon")
-#define REGSTR_VAL_LEGALNOTICECAPTION TEXT("LegalNoticeCaption")
-#define REGSTR_VAL_LEGALNOTICETEXT TEXT("LegalNoticeText")
-#define REGSTR_VAL_RESTRICTRUN TEXT("RestrictRun")
-#define REGSTR_KEY_POL_USERS TEXT("Users")
-#define REGSTR_KEY_POL_COMPUTERS TEXT("Computers")
-#define REGSTR_KEY_POL_USERGROUPS TEXT("UserGroups")
-#define REGSTR_KEY_POL_DEFAULT TEXT(".default")
-#define REGSTR_KEY_POL_USERGROUPDATA TEXT("GroupData\\UserGroups\\Priority")
-#define REGSTR_PATH_TIMEZONE TEXT("System\\CurrentControlSet\\Control\\TimeZoneInformation")
-#define REGSTR_VAL_TZBIAS TEXT("Bias")
-#define REGSTR_VAL_TZDLTBIAS TEXT("DaylightBias")
-#define REGSTR_VAL_TZSTDBIAS TEXT("StandardBias")
-#define REGSTR_VAL_TZACTBIAS TEXT("ActiveTimeBias")
-#define REGSTR_VAL_TZDLTFLAG TEXT("DaylightFlag")
-#define REGSTR_VAL_TZSTDSTART TEXT("StandardStart")
-#define REGSTR_VAL_TZDLTSTART TEXT("DaylightStart")
-#define REGSTR_VAL_TZDLTNAME TEXT("DaylightName")
-#define REGSTR_VAL_TZSTDNAME TEXT("StandardName")
-#define REGSTR_VAL_TZNOCHANGESTART TEXT("NoChangeStart")
-#define REGSTR_VAL_TZNOCHANGEEND TEXT("NoChangeEnd")
-#define REGSTR_VAL_TZNOAUTOTIME TEXT("DisableAutoDaylightTimeSet")
-#define REGSTR_PATH_FLOATINGPOINTPROCESSOR TEXT("HARDWARE\\DESCRIPTION\\System\\FloatingPointProcessor")
-#define REGSTR_PATH_FLOATINGPOINTPROCESSOR0 TEXT("HARDWARE\\DESCRIPTION\\System\\FloatingPointProcessor\\0")
-#define REGSTR_PATH_COMPUTRNAME TEXT("System\\CurrentControlSet\\Control\\ComputerName\\ComputerName")
-#define REGSTR_VAL_COMPUTRNAME TEXT("ComputerName")
-#define REGSTR_PATH_SHUTDOWN TEXT("System\\CurrentControlSet\\Control\\Shutdown")
-#define REGSTR_VAL_FORCEREBOOT TEXT("ForceReboot")
-#define REGSTR_VAL_SETUPPROGRAMRAN TEXT("SetupProgramRan")
-#define REGSTR_VAL_DOES_POLLING TEXT("PollingSupportNeeded")
-#define REGSTR_PATH_KNOWNDLLS TEXT("System\\CurrentControlSet\\Control\\SessionManager\\KnownDLLs")
-#define REGSTR_PATH_KNOWN16DLLS TEXT("System\\CurrentControlSet\\Control\\SessionManager\\Known16DLLs")
-#define REGSTR_PATH_CHECKVERDLLS TEXT("System\\CurrentControlSet\\Control\\SessionManager\\CheckVerDLLs")
-#define REGSTR_PATH_WARNVERDLLS TEXT("System\\CurrentControlSet\\Control\\SessionManager\\WarnVerDLLs")
-#define REGSTR_PATH_HACKINIFILE TEXT("System\\CurrentControlSet\\Control\\SessionManager\\HackIniFiles")
-#define REGSTR_PATH_CHECKBADAPPS TEXT("System\\CurrentControlSet\\Control\\SessionManager\\CheckBadApps")
-#define REGSTR_PATH_APPPATCH TEXT("System\\CurrentControlSet\\Control\\SessionManager\\AppPatches")
-#define REGSTR_PATH_KNOWNVXDS TEXT("System\\CurrentControlSet\\Control\\SessionManager\\KnownVxDs")
-#define REGSTR_VAL_UNINSTALLER_DISPLAYNAME TEXT("DisplayName")
-#define REGSTR_VAL_UNINSTALLER_COMMANDLINE TEXT("UninstallString")
-#define REGSTR_PATH_DESKTOP REGSTR_PATH_SCREENSAVE
-#define REGSTR_PATH_MOUSE TEXT("Control Panel\\Mouse")
-#define REGSTR_PATH_KEYBOARD TEXT("Control Panel\\Keyboard")
-#define REGSTR_PATH_COLORS TEXT("Control Panel\\Colors")
-#define REGSTR_PATH_SOUND TEXT("Control Panel\\Sound")
-#define REGSTR_PATH_METRICS TEXT("Control Panel\\Desktop\\WindowMetrics")
-#define REGSTR_PATH_ICONS TEXT("Control Panel\\Icons")
-#define REGSTR_PATH_CURSORS TEXT("Control Panel\\Cursors")
-#define REGSTR_PATH_CHECKDISK TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Applets\\Check Drive")
-#define REGSTR_PATH_CHECKDISKSET TEXT("Settings")
-#define REGSTR_PATH_CHECKDISKUDRVS TEXT("NoUnknownDDErrDrvs")
-#define REGSTR_PATH_FAULT TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Fault")
-#define REGSTR_VAL_FAULT_LOGFILE TEXT("LogFile")
-#define REGSTR_PATH_AEDEBUG TEXT("Software\\Microsoft\\Windows NT\\CurrentVersion\\AeDebug")
-#define REGSTR_VAL_AEDEBUG_DEBUGGER TEXT("Debugger")
-#define REGSTR_VAL_AEDEBUG_AUTO TEXT("Auto")
-#define REGSTR_PATH_GRPCONV TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\GrpConv")
-#define REGSTR_VAL_REGITEMDELETEMESSAGE TEXT("Removal Message")
-#define REGSTR_PATH_LASTCHECK TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\LastCheck")
-#define REGSTR_PATH_LASTOPTIMIZE TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\LastOptimize")
-#define REGSTR_PATH_LASTBACKUP TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\LastBackup")
-#define REGSTR_PATH_CHKLASTCHECK TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Applets\\Check Drive\\LastCheck")
-#define REGSTR_PATH_CHKLASTSURFAN TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Applets\\Check Drive\\LastSurfaceAnalysis")
-#define DTRESULTOK 0
-#define DTRESULTFIX 1
-#define DTRESULTPROB 2
-#define DTRESULTPART 3
-#define REGSTR_KEY_SHARES TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Network\\LanMan")
-#define REGSTR_VAL_SHARES_FLAGS TEXT("Flags")
-#define REGSTR_VAL_SHARES_TYPE TEXT("Type")
-#define REGSTR_VAL_SHARES_PATH TEXT("Path")
-#define REGSTR_VAL_SHARES_REMARK TEXT("Remark")
-#define REGSTR_VAL_SHARES_RW_PASS TEXT("Parm1")
-#define REGSTR_VAL_SHARES_RO_PASS TEXT("Parm2")
-#define REGSTR_PATH_PRINT TEXT("System\\CurrentControlSet\\Control\\Print")
-#define REGSTR_PATH_PRINTERS TEXT("System\\CurrentControlSet\\Control\\Print\\Printers")
-#define REGSTR_PATH_PROVIDERS TEXT("System\\CurrentControlSet\\Control\\Print\\Providers")
-#define REGSTR_PATH_MONITORS TEXT("System\\CurrentControlSet\\Control\\Print\\Monitors")
-#define REGSTR_PATH_ENVIRONMENTS TEXT("System\\CurrentControlSet\\Control\\Print\\Environments")
-#define REGSTR_VAL_START_ON_BOOT TEXT("StartOnBoot")
-#define REGSTR_VAL_PRINTERS_MASK TEXT("PrintersMask")
-#define REGSTR_VAL_DOS_SPOOL_MASK TEXT("DOSSpoolMask")
-#define REGSTR_KEY_CURRENT_ENV TEXT("\\Windows 4.0")
-#define REGSTR_KEY_DRIVERS TEXT("\\Drivers")
-#define REGSTR_KEY_PRINT_PROC TEXT("\\Print Processors")
-#define REGSTR_PATH_EVENTLABELS TEXT("AppEvents\\EventLabels")
-#define REGSTR_PATH_SCHEMES TEXT("AppEvents\\Schemes")
-#define REGSTR_PATH_APPS REGSTR_PATH_SCHEMES TEXT("\\Apps")
-#define REGSTR_PATH_APPS_DEFAULT REGSTR_PATH_SCHEMES TEXT("\\Apps\\.Default")
-#define REGSTR_PATH_NAMES REGSTR_PATH_SCHEMES TEXT("\\Names")
-#define REGSTR_PATH_MULTIMEDIA REGSTR_PATH_SETUP TEXT("\\Multimedia")
-#define REGSTR_PATH_MULTIMEDIA_AUDIO TEXT("Software\\Microsoft\\Multimedia\\Audio")
-#define REGSTR_PATH_MEDIARESOURCES REGSTR_PATH_CURRENT_CONTROL_SET TEXT("\\MediaResources")
-#define REGSTR_PATH_MEDIAPROPERTIES REGSTR_PATH_CURRENT_CONTROL_SET TEXT("\\MediaProperties")
-#define REGSTR_PATH_PRIVATEPROPERTIES REGSTR_PATH_MEDIAPROPERTIES TEXT("\\PrivateProperties")
-#define REGSTR_PATH_PUBLICPROPERTIES REGSTR_PATH_MEDIAPROPERTIES TEXT("\\PublicProperties")
-#define REGSTR_PATH_JOYOEM REGSTR_PATH_PRIVATEPROPERTIES TEXT("\\Joystick\\OEM")
-#define REGSTR_PATH_JOYCONFIG REGSTR_PATH_MEDIARESOURCES TEXT("\\Joystick")
-#define REGSTR_KEY_JOYCURR TEXT("CurrentJoystickSettings")
-#define REGSTR_KEY_JOYSETTINGS TEXT("JoystickSettings")
-#define REGSTR_VAL_JOYUSERVALUES TEXT("JoystickUserValues")
-#define REGSTR_VAL_JOYCALLOUT TEXT("JoystickCallout")
-#define REGSTR_VAL_JOYNCONFIG TEXT("Joystick%dConfiguration")
-#define REGSTR_VAL_JOYNOEMNAME TEXT("Joystick%dOEMName")
-#define REGSTR_VAL_JOYNOEMCALLOUT TEXT("Joystick%dOEMCallout")
-#define REGSTR_VAL_JOYOEMCALLOUT TEXT("OEMCallout")
-#define REGSTR_VAL_JOYOEMNAME TEXT("OEMName")
-#define REGSTR_VAL_JOYOEMDATA TEXT("OEMData")
-#define REGSTR_VAL_JOYOEMXYLABEL TEXT("OEMXYLabel")
-#define REGSTR_VAL_JOYOEMZLABEL TEXT("OEMZLabel")
-#define REGSTR_VAL_JOYOEMRLABEL TEXT("OEMRLabel")
-#define REGSTR_VAL_JOYOEMPOVLABEL TEXT("OEMPOVLabel")
-#define REGSTR_VAL_JOYOEMULABEL TEXT("OEMULabel")
-#define REGSTR_VAL_JOYOEMVLABEL TEXT("OEMVLabel")
-#define REGSTR_VAL_JOYOEMTESTMOVEDESC TEXT("OEMTestMoveDesc")
-#define REGSTR_VAL_JOYOEMTESTBUTTONDESC TEXT("OEMTestButtonDesc")
-#define REGSTR_VAL_JOYOEMTESTMOVECAP TEXT("OEMTestMoveCap")
-#define REGSTR_VAL_JOYOEMTESTBUTTONCAP TEXT("OEMTestButtonCap")
-#define REGSTR_VAL_JOYOEMTESTWINCAP TEXT("OEMTestWinCap")
-#define REGSTR_VAL_JOYOEMCALCAP TEXT("OEMCalCap")
-#define REGSTR_VAL_JOYOEMCALWINCAP TEXT("OEMCalWinCap")
-#define REGSTR_VAL_JOYOEMCAL1 TEXT("OEMCal1")
-#define REGSTR_VAL_JOYOEMCAL2 TEXT("OEMCal2")
-#define REGSTR_VAL_JOYOEMCAL3 TEXT("OEMCal3")
-#define REGSTR_VAL_JOYOEMCAL4 TEXT("OEMCal4")
-#define REGSTR_VAL_JOYOEMCAL5 TEXT("OEMCal5")
-#define REGSTR_VAL_JOYOEMCAL6 TEXT("OEMCal6")
-#define REGSTR_VAL_JOYOEMCAL7 TEXT("OEMCal7")
-#define REGSTR_VAL_JOYOEMCAL8 TEXT("OEMCal8")
-#define REGSTR_VAL_JOYOEMCAL9 TEXT("OEMCal9")
-#define REGSTR_VAL_JOYOEMCAL10 TEXT("OEMCal10")
-#define REGSTR_VAL_JOYOEMCAL11 TEXT("OEMCal11")
-#define REGSTR_VAL_JOYOEMCAL12 TEXT("OEMCal12")
-#ifndef NEC_98
-#define REGSTR_KEY_ISAENUM TEXT("ISAPnP")
-#define REGSTR_KEY_EISAENUM TEXT("EISA")
-#define REGSTR_VAL_EISA_RANGES TEXT("EISARanges")
-#define REGSTR_VAL_EISA_FUNCTIONS TEXT("EISAFunctions")
-#define REGSTR_VAL_EISA_FUNCTIONS_MASK TEXT("EISAFunctionsMask")
-#define REGSTR_VAL_EISA_FLAGS TEXT("EISAFlags")
-#define REGSTR_VAL_EISA_SIMULATE_INT15 TEXT("EISASimulateInt15")
-#else
-#define REGSTR_KEY_ISAENUM TEXT("C98PnP")
-#define REGSTR_KEY_EISAENUM TEXT("NESA")
-#define REGSTR_VAL_EISA_RANGES TEXT("NESARanges")
-#define REGSTR_VAL_EISA_FUNCTIONS TEXT("NESAFunctions")
-#define REGSTR_VAL_EISA_FUNCTIONS_MASK TEXT("NESAFunctionsMask")
-#define REGSTR_VAL_EISA_FLAGS TEXT("NESAFlags")
-#define REGSTR_VAL_EISA_SIMULATE_INT15 TEXT("NESASimulateInt15")
-#endif
-typedef struct _DSKTLSYSTEMTIME {
- WORD wYear;
- WORD wMonth;
- WORD wDayOfWeek;
- WORD wDay;
- WORD wHour;
- WORD wMinute;
- WORD wSecond;
- WORD wMilliseconds;
- WORD wResult;
-} DSKTLSYSTEMTIME,*PDSKTLSYSTEMTIME,*LPDSKTLSYSTEMTIME;
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/winsup/w32api/include/richedit.h b/winsup/w32api/include/richedit.h
deleted file mode 100644
index 8cb57e88e..000000000
--- a/winsup/w32api/include/richedit.h
+++ /dev/null
@@ -1,523 +0,0 @@
-#ifndef _RICHEDIT_H
-#define _RICHEDIT_H
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-#pragma pack(push,4)
-
-#ifdef UNICODE
-#define RICHEDIT_CLASS L"RichEdit20W"
-#else
-#define RICHEDIT_CLASS "RichEdit20A"
-#endif
-#define RICHEDIT_CLASS10A "RICHEDIT"
-#define CF_RTF TEXT("Rich Text Format")
-#define CF_RTFNOOBJS TEXT("Rich Text Format Without Objects")
-#define CF_RETEXTOBJ TEXT("RichEdit Text and Objects")
-#define CFM_BOLD 1
-#define CFM_ITALIC 2
-#define CFM_UNDERLINE 4
-#define CFM_STRIKEOUT 8
-#define CFM_PROTECTED 16
-#define CFM_LINK 32
-#define CFM_SIZE 0x80000000
-#define CFM_COLOR 0x40000000
-#define CFM_FACE 0x20000000
-#define CFM_OFFSET 0x10000000
-#define CFM_CHARSET 0x08000000
-#define CFM_SUBSCRIPT 0x00030000
-#define CFM_SUPERSCRIPT 0x00030000
-#define CFM_EFFECTS (CFM_BOLD | CFM_ITALIC | CFM_UNDERLINE | CFM_COLOR | CFM_STRIKEOUT | CFE_PROTECTED | CFM_LINK)
-#define CFE_BOLD 1
-#define CFE_ITALIC 2
-#define CFE_UNDERLINE 4
-#define CFE_STRIKEOUT 8
-#define CFE_PROTECTED 16
-#define CFE_AUTOCOLOR 0x40000000
-#define CFE_SUBSCRIPT 0x00010000
-#define CFE_SUPERSCRIPT 0x00020000
-#define IMF_FORCENONE 1
-#define IMF_FORCEENABLE 2
-#define IMF_FORCEDISABLE 4
-#define IMF_CLOSESTATUSWINDOW 8
-#define IMF_VERTICAL 32
-#define IMF_FORCEACTIVE 64
-#define IMF_FORCEINACTIVE 128
-#define IMF_FORCEREMEMBER 256
-#define SEL_EMPTY 0
-#define SEL_TEXT 1
-#define SEL_OBJECT 2
-#define SEL_MULTICHAR 4
-#define SEL_MULTIOBJECT 8
-#define MAX_TAB_STOPS 32
-#define PFM_ALIGNMENT 8
-#define PFM_NUMBERING 32
-#define PFM_OFFSET 4
-#define PFM_OFFSETINDENT 0x80000000
-#define PFM_RIGHTINDENT 2
-#define PFM_STARTINDENT 1
-#define PFM_TABSTOPS 16
-#define PFM_BORDER 2048
-#define PFM_LINESPACING 256
-#define PFM_NUMBERINGSTART 32768
-#define PFM_NUMBERINGSTYLE 8192
-#define PFM_NUMBERINGTAB 16384
-#define PFM_SHADING 4096
-#define PFM_SPACEAFTER 128
-#define PFM_SPACEBEFORE 64
-#define PFM_STYLE 1024
-#define PFM_DONOTHYPHEN 4194304
-#define PFM_KEEP 131072
-#define PFM_KEEPNEXT 262144
-#define PFM_NOLINENUMBER 1048576
-#define PFM_NOWIDOWCONTROL 2097152
-#define PFM_PAGEBREAKBEFORE 524288
-#define PFM_RTLPARA 65536
-#define PFM_SIDEBYSIDE 8388608
-#define PFM_TABLE 1073741824
-#define PFN_BULLET 1
-#define PFE_DONOTHYPHEN 64
-#define PFE_KEEP 2
-#define PFE_KEEPNEXT 4
-#define PFE_NOLINENUMBER 16
-#define PFE_NOWIDOWCONTROL 32
-#define PFE_PAGEBREAKBEFORE 8
-#define PFE_RTLPARA 1
-#define PFE_SIDEBYSIDE 128
-#define PFE_TABLE 16384
-#define PFA_LEFT 1
-#define PFA_RIGHT 2
-#define PFA_CENTER 3
-#define PFA_JUSTIFY 4
-#define PFA_FULL_INTERWORD 4
-#define SF_TEXT 1
-#define SF_RTF 2
-#define SF_RTFNOOBJS 3
-#define SF_TEXTIZED 4
-#define SF_UNICODE 16
-#define SF_USECODEPAGE 32
-#define SF_NCRFORNONASCII 64
-#define SF_RTFVAL 0x0700
-#define SFF_PWD 0x0800
-#define SFF_KEEPDOCINFO 0x1000
-#define SFF_PERSISTVIEWSCALE 0x2000
-#define SFF_PLAINRTF 0x4000
-#define SFF_SELECTION 0x8000
-#define WB_CLASSIFY 3
-#define WB_MOVEWORDLEFT 4
-#define WB_MOVEWORDRIGHT 5
-#define WB_LEFTBREAK 6
-#define WB_RIGHTBREAK 7
-#define WB_MOVEWORDPREV 4
-#define WB_MOVEWORDNEXT 5
-#define WB_PREVBREAK 6
-#define WB_NEXTBREAK 7
-#define WBF_WORDWRAP 16
-#define WBF_WORDBREAK 32
-#define WBF_OVERFLOW 64
-#define WBF_LEVEL1 128
-#define WBF_LEVEL2 256
-#define WBF_CUSTOM 512
-#define ES_DISABLENOSCROLL 8192
-#define ES_EX_NOCALLOLEINIT 16777216
-#define ES_NOIME 524288
-#define ES_NOOLEDRAGDROP 8
-#define ES_SAVESEL 32768
-#define ES_SELECTIONBAR 16777216
-#define ES_SELFIME 262144
-#define ES_SUNKEN 16384
-#define ES_VERTICAL 4194304
-#define EM_CANPASTE (WM_USER+50)
-#define EM_DISPLAYBAND (WM_USER+51)
-#define EM_EXGETSEL (WM_USER+52)
-#define EM_EXLIMITTEXT (WM_USER+53)
-#define EM_EXLINEFROMCHAR (WM_USER+54)
-#define EM_EXSETSEL (WM_USER+55)
-#define EM_FINDTEXT (WM_USER+56)
-#define EM_FORMATRANGE (WM_USER+57)
-#define EM_GETCHARFORMAT (WM_USER+58)
-#define EM_GETEVENTMASK (WM_USER+59)
-#define EM_GETOLEINTERFACE (WM_USER+60)
-#define EM_GETPARAFORMAT (WM_USER+61)
-#define EM_GETSELTEXT (WM_USER+62)
-#define EM_HIDESELECTION (WM_USER+63)
-#define EM_PASTESPECIAL (WM_USER+64)
-#define EM_REQUESTRESIZE (WM_USER+65)
-#define EM_SELECTIONTYPE (WM_USER+66)
-#define EM_SETBKGNDCOLOR (WM_USER+67)
-#define EM_SETCHARFORMAT (WM_USER+68)
-#define EM_SETEVENTMASK (WM_USER+69)
-#define EM_SETOLECALLBACK (WM_USER+70)
-#define EM_SETPARAFORMAT (WM_USER+71)
-#define EM_SETTARGETDEVICE (WM_USER+72)
-#define EM_STREAMIN (WM_USER+73)
-#define EM_STREAMOUT (WM_USER+74)
-#define EM_GETTEXTRANGE (WM_USER+75)
-#define EM_FINDWORDBREAK (WM_USER+76)
-#define EM_SETOPTIONS (WM_USER+77)
-#define EM_GETOPTIONS (WM_USER+78)
-#define EM_FINDTEXTEX (WM_USER+79)
-#define EM_GETWORDBREAKPROCEX (WM_USER+80)
-#define EM_SETWORDBREAKPROCEX (WM_USER+81)
-/* RichEdit 2.0 messages */
-#define EM_SETUNDOLIMIT (WM_USER+82)
-#define EM_REDO (WM_USER+84)
-#define EM_CANREDO (WM_USER+85)
-#define EM_GETUNDONAME (WM_USER+86)
-#define EM_GETREDONAME (WM_USER+87)
-#define EM_STOPGROUPTYPING (WM_USER+88)
-#define EM_SETTEXTMODE (WM_USER+89)
-#define EM_GETTEXTMODE (WM_USER+90)
-#define EM_AUTOURLDETECT (WM_USER+91)
-#define EM_GETAUTOURLDETECT (WM_USER + 92)
-#define EM_SETPALETTE (WM_USER + 93)
-#define EM_GETTEXTEX (WM_USER+94)
-#define EM_GETTEXTLENGTHEX (WM_USER+95)
-#define EM_SHOWSCROLLBAR (WM_USER+96)
-#define EM_SETTEXTEX (WM_USER + 97)
-#define EM_SETPUNCTUATION (WM_USER + 100)
-#define EM_GETPUNCTUATION (WM_USER + 101)
-#define EM_SETWORDWRAPMODE (WM_USER + 102)
-#define EM_GETWORDWRAPMODE (WM_USER + 103)
-#define EM_SETIMECOLOR (WM_USER + 104)
-#define EM_GETIMECOLOR (WM_USER + 105)
-#define EM_SETIMEOPTIONS (WM_USER + 106)
-#define EM_GETIMEOPTIONS (WM_USER + 107)
-#define EM_SETLANGOPTIONS (WM_USER+120)
-#define EM_GETLANGOPTIONS (WM_USER+121)
-#define EM_GETIMECOMPMODE (WM_USER+122)
-#define EM_FINDTEXTW (WM_USER + 123)
-#define EM_FINDTEXTEXW (WM_USER + 124)
-#define EM_RECONVERSION (WM_USER + 125)
-#define EM_SETBIDIOPTIONS (WM_USER + 200)
-#define EM_GETBIDIOPTIONS (WM_USER + 201)
-#define EM_SETTYPOGRAPHYOPTIONS (WM_USER+202)
-#define EM_GETTYPOGRAPHYOPTIONS (WM_USER+203)
-#define EM_SETEDITSTYLE (WM_USER + 204)
-#define EM_GETEDITSTYLE (WM_USER + 205)
-#define EM_GETSCROLLPOS (WM_USER+221)
-#define EM_SETSCROLLPOS (WM_USER+222)
-#define EM_SETFONTSIZE (WM_USER+223)
-#define EM_GETZOOM (WM_USER+224)
-#define EM_SETZOOM (WM_USER+225)
-
-#define EN_CORRECTTEXT 1797
-#define EN_DROPFILES 1795
-#define EN_IMECHANGE 1799
-#define EN_LINK 1803
-#define EN_MSGFILTER 1792
-#define EN_OLEOPFAILED 1801
-#define EN_PROTECTED 1796
-#define EN_REQUESTRESIZE 1793
-#define EN_SAVECLIPBOARD 1800
-#define EN_SELCHANGE 1794
-#define EN_STOPNOUNDO 1798
-#define ENM_NONE 0
-#define ENM_CHANGE 1
-#define ENM_CORRECTTEXT 4194304
-#define ENM_DRAGDROPDONE 16
-#define ENM_DROPFILES 1048576
-#define ENM_IMECHANGE 8388608
-#define ENM_KEYEVENTS 65536
-#define ENM_LANGCHANGE 16777216
-#define ENM_LINK 67108864
-#define ENM_MOUSEEVENTS 131072
-#define ENM_OBJECTPOSITIONS 33554432
-#define ENM_PROTECTED 2097152
-#define ENM_REQUESTRESIZE 262144
-#define ENM_SCROLL 4
-#define ENM_SCROLLEVENTS 8
-#define ENM_SELCHANGE 524288
-#define ENM_UPDATE 2
-#define ECO_AUTOWORDSELECTION 1
-#define ECO_AUTOVSCROLL 64
-#define ECO_AUTOHSCROLL 128
-#define ECO_NOHIDESEL 256
-#define ECO_READONLY 2048
-#define ECO_WANTRETURN 4096
-#define ECO_SAVESEL 0x8000
-#define ECO_SELECTIONBAR 0x1000000
-#define ECO_VERTICAL 0x400000
-#define ECOOP_SET 1
-#define ECOOP_OR 2
-#define ECOOP_AND 3
-#define ECOOP_XOR 4
-#define SCF_DEFAULT 0
-#define SCF_SELECTION 1
-#define SCF_WORD 2
-#define SCF_ALL 4
-#define SCF_USEUIRULES 8
-#define TM_PLAINTEXT 1
-#define TM_RICHTEXT 2
-#define TM_SINGLELEVELUNDO 4
-#define TM_MULTILEVELUNDO 8
-#define TM_SINGLECODEPAGE 16
-#define TM_MULTICODEPAGE 32
-#define yHeightCharPtsMost 1638
-#define lDefaultTab 720
-
-typedef struct _charformat {
- UINT cbSize;
- DWORD dwMask;
- DWORD dwEffects;
- LONG yHeight;
- LONG yOffset;
- COLORREF crTextColor;
- BYTE bCharSet;
- BYTE bPitchAndFamily;
- char szFaceName[LF_FACESIZE];
-} CHARFORMATA;
-typedef struct _charformatw {
- UINT cbSize;
- DWORD dwMask;
- DWORD dwEffects;
- LONG yHeight;
- LONG yOffset;
- COLORREF crTextColor;
- BYTE bCharSet;
- BYTE bPitchAndFamily;
- WCHAR szFaceName[LF_FACESIZE];
-} CHARFORMATW;
-typedef struct _charformat2a {
- UINT cbSize;
- DWORD dwMask;
- DWORD dwEffects;
- LONG yHeight;
- LONG yOffset;
- COLORREF crTextColor;
- BYTE bCharSet;
- BYTE bPitchAndFamily;
- char szFaceName[LF_FACESIZE];
- WORD wWeight;
- SHORT sSpacing;
- COLORREF crBackColor;
- LCID lcid;
- DWORD dwReserved;
- SHORT sStyle;
- WORD wKerning;
- BYTE bUnderlineType;
- BYTE bAnimation;
- BYTE bRevAuthor;
-} CHARFORMAT2A;
-typedef struct _charformat2w {
- UINT cbSize;
- DWORD dwMask;
- DWORD dwEffects;
- LONG yHeight;
- LONG yOffset;
- COLORREF crTextColor;
- BYTE bCharSet;
- BYTE bPitchAndFamily;
- WCHAR szFaceName[LF_FACESIZE];
- WORD wWeight;
- SHORT sSpacing;
- COLORREF crBackColor;
- LCID lcid;
- DWORD dwReserved;
- SHORT sStyle;
- WORD wKerning;
- BYTE bUnderlineType;
- BYTE bAnimation;
- BYTE bRevAuthor;
-} CHARFORMAT2W;
-typedef struct _charrange {
- LONG cpMin;
- LONG cpMax;
-} CHARRANGE;
-typedef struct _compcolor {
- COLORREF crText;
- COLORREF crBackground;
- DWORD dwEffects;
-} COMPCOLOR;
-typedef DWORD(CALLBACK *EDITSTREAMCALLBACK)(DWORD,PBYTE,LONG,LONG*);
-typedef struct _editstream {
- DWORD dwCookie;
- DWORD dwError;
- EDITSTREAMCALLBACK pfnCallback;
-} EDITSTREAM;
-typedef struct _encorrecttext {
- NMHDR nmhdr;
- CHARRANGE chrg;
- WORD seltyp;
-} ENCORRECTTEXT;
-typedef struct _endropfiles {
- NMHDR nmhdr;
- HANDLE hDrop;
- LONG cp;
- BOOL fProtected;
-} ENDROPFILES;
-typedef struct _enlink {
- NMHDR nmhdr;
- UINT msg;
- WPARAM wParam;
- LPARAM lParam;
- CHARRANGE chrg;
-} ENLINK;
-typedef struct {
- NMHDR nmhdr;
- LONG iob;
- LONG lOper;
- HRESULT hr;
-} ENOLEOPFAILED;
-typedef struct _enprotected {
- NMHDR nmhdr;
- UINT msg;
- WPARAM wParam;
- LPARAM lParam;
- CHARRANGE chrg;
-} ENPROTECTED,*LPENPROTECTED;
-typedef struct _ensaveclipboard {
- NMHDR nmhdr;
- LONG cObjectCount;
- LONG cch;
-} ENSAVECLIPBOARD;
-typedef struct _findtextA {
- CHARRANGE chrg;
- LPSTR lpstrText;
-} FINDTEXTA;
-typedef struct _findtextW {
- CHARRANGE chrg;
- LPWSTR lpstrText;
-} FINDTEXTW;
-typedef struct _findtextexA {
- CHARRANGE chrg;
- LPSTR lpstrText;
- CHARRANGE chrgText;
-} FINDTEXTEXA;
-typedef struct _findtextexW {
- CHARRANGE chrg;
- LPWSTR lpstrText;
- CHARRANGE chrgText;
-} FINDTEXTEXW;
-typedef struct _formatrange {
- HDC hdc;
- HDC hdcTarget;
- RECT rc;
- RECT rcPage;
- CHARRANGE chrg;
-} FORMATRANGE;
-typedef struct _msgfilter {
- NMHDR nmhdr;
- UINT msg;
- WPARAM wParam;
- LPARAM lParam;
-} MSGFILTER;
-typedef struct _paraformat {
- UINT cbSize;
- DWORD dwMask;
- WORD wNumbering;
- WORD wReserved;
- LONG dxStartIndent;
- LONG dxRightIndent;
- LONG dxOffset;
- WORD wAlignment;
- SHORT cTabCount;
- LONG rgxTabs[MAX_TAB_STOPS];
-} PARAFORMAT;
-typedef struct _paraformat2 {
- UINT cbSize;
- DWORD dwMask;
- WORD wNumbering;
- WORD wEffects;
- LONG dxStartIndent;
- LONG dxRightIndent;
- LONG dxOffset;
- WORD wAlignment;
- SHORT cTabCount;
- LONG rgxTabs[MAX_TAB_STOPS];
- LONG dySpaceBefore;
- LONG dySpaceAfter;
- LONG dyLineSpacing;
- SHORT sStype;
- BYTE bLineSpacingRule;
- BYTE bOutlineLevel;
- WORD wShadingWeight;
- WORD wShadingStyle;
- WORD wNumberingStart;
- WORD wNumberingStyle;
- WORD wNumberingTab;
- WORD wBorderSpace;
- WORD wBorderWidth;
- WORD wBorders;
-} PARAFORMAT2;
-typedef struct _selchange {
- NMHDR nmhdr;
- CHARRANGE chrg;
- WORD seltyp;
-} SELCHANGE;
-typedef struct _textrange {
- CHARRANGE chrg;
- LPSTR lpstrText;
-} TEXTRANGEA;
-typedef struct _textrangew {
- CHARRANGE chrg;
- LPWSTR lpstrText;
-} TEXTRANGEW;
-typedef struct _reqresize {
- NMHDR nmhdr;
- RECT rc;
-} REQRESIZE;
-typedef struct _repastespecial {
- DWORD dwAspect;
- DWORD dwParam;
-} REPASTESPECIAL;
-typedef struct _punctuation {
- UINT iSize;
- LPSTR szPunctuation;
-} PUNCTUATION;
-typedef struct _gettextex {
- DWORD cb;
- DWORD flags;
- UINT codepage;
- LPCSTR lpDefaultChar;
- LPBOOL lpUsedDefChar;
-} GETTEXTEX;
-/* GETTEXTEX flags */
-#define GT_DEFAULT 0
-#define GT_USECRLF 1
-#define GT_SELECTION 2
-typedef struct _settextex {
- DWORD flags;
- UINT codepage;
-} SETTEXTEX;
-/* SETTEXTEX flags */
-#define ST_DEFAULT 0
-#define ST_KEEPUNDO 1
-#define ST_SELECTION 2
-typedef LONG (*EDITWORDBREAKPROCEX)(char*,LONG,BYTE,INT);
-/* Defines for EM_SETTYPOGRAPHYOPTIONS */
-#define TO_ADVANCEDTYPOGRAPHY 1
-#define TO_SIMPLELINEBREAK 2
-/* Defines for GETTEXTLENGTHEX */
-#define GTL_DEFAULT 0
-#define GTL_USECRLF 1
-#define GTL_PRECISE 2
-#define GTL_CLOSE 4
-#define GTL_NUMCHARS 8
-#define GTL_NUMBYTES 16
-typedef struct _gettextlengthex {
- DWORD flags;
- UINT codepage;
-} GETTEXTLENGTHEX;
-#ifdef UNICODE
-typedef CHARFORMATW CHARFORMAT;
-typedef CHARFORMAT2W CHARFORMAT2;
-typedef FINDTEXTW FINDTEXT;
-typedef FINDTEXTEXW FINDTEXTEX;
-typedef TEXTRANGEW TEXTRANGE;
-#else
-typedef CHARFORMATA CHARFORMAT;
-typedef CHARFORMAT2A CHARFORMAT2;
-typedef FINDTEXTA FINDTEXT;
-typedef FINDTEXTEXA FINDTEXTEX;
-typedef TEXTRANGEA TEXTRANGE;
-#endif
-#pragma pack(pop)
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/winsup/w32api/include/richole.h b/winsup/w32api/include/richole.h
deleted file mode 100644
index da2e336f8..000000000
--- a/winsup/w32api/include/richole.h
+++ /dev/null
@@ -1,107 +0,0 @@
-#ifndef _RICHOLE_H
-#define _RICHOLE_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-#pragma pack(push,4)
-#define REO_GETOBJ_NO_INTERFACES 0
-#define REO_GETOBJ_POLEOBJ 1
-#define REO_GETOBJ_PSTG 2
-#define REO_GETOBJ_POLESITE 4
-#define REO_GETOBJ_ALL_INTERFACES 7
-#define REO_CP_SELECTION ((ULONG)-1)
-#define REO_IOB_SELECTION ((ULONG)-1)
-#define REO_IOB_USE_CP ((ULONG)-2)
-#define REO_NULL 0
-#define REO_READWRITEMASK 0x3FL
-#define REO_DONTNEEDPALETTE 32
-#define REO_BLANK 16
-#define REO_DYNAMICSIZE 8
-#define REO_INVERTEDSELECT 4
-#define REO_BELOWBASELINE 2
-#define REO_RESIZABLE 1
-#define REO_LINK 0x80000000
-#define REO_STATIC 0x40000000
-#define REO_SELECTED 0x08000000
-#define REO_OPEN 0x4000000
-#define REO_INPLACEACTIVE 0x2000000
-#define REO_HILITED 0x1000000
-#define REO_LINKAVAILABLE 0x800000
-#define REO_GETMETAFILE 0x400000
-#define RECO_PASTE 0
-#define RECO_DROP 1
-#define RECO_COPY 2
-#define RECO_CUT 3
-#define RECO_DRAG 4
-
-extern const GUID IID_IRichEditOle;
-extern const GUID IID_IRichEditOleCallback;
-#ifndef INITGUID
-typedef struct _reobject {
- DWORD cbStruct;
- LONG cp;
- CLSID clsid;
- LPOLEOBJECT poleobj;
- LPSTORAGE pstg;
- LPOLECLIENTSITE polesite;
- SIZEL sizel;
- DWORD dvaspect;
- DWORD dwFlags;
- DWORD dwUser;
-} REOBJECT;
-
-#undef INTERFACE
-#define INTERFACE IRichEditOle
-DECLARE_INTERFACE_(IRichEditOle, IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(GetClientSite)(THIS_ LPOLECLIENTSITE*) PURE;
- STDMETHOD_(LONG,GetObjectCount)(THIS) PURE;
- STDMETHOD_(LONG,GetLinkCount)(THIS) PURE;
- STDMETHOD(GetObject)(THIS_ LONG, REOBJECT*,DWORD) PURE;
- STDMETHOD(InsertObject)(THIS_ REOBJECT*) PURE;
- STDMETHOD(ConvertObject)(THIS_ LONG,REFCLSID,LPCSTR) PURE;
- STDMETHOD(ActivateAs)(THIS_ REFCLSID,REFCLSID) PURE;
- STDMETHOD(SetHostNames)(THIS_ LPCSTR,LPCSTR) PURE;
- STDMETHOD(SetLinkAvailable)(THIS_ LONG,BOOL) PURE;
- STDMETHOD(SetDvaspect)(THIS_ LONG,DWORD) PURE;
- STDMETHOD(HandsOffStorage)(THIS_ LONG) PURE;
- STDMETHOD(SaveCompleted)(THIS_ LONG,LPSTORAGE) PURE;
- STDMETHOD(InPlaceDeactivate)(THIS) PURE;
- STDMETHOD(ContextSensitiveHelp)(THIS_ BOOL) PURE;
- STDMETHOD(GetClipboardData)(THIS_ CHARRANGE*,DWORD,LPDATAOBJECT*) PURE;
- STDMETHOD(ImportDataObject)(THIS_ LPDATAOBJECT,CLIPFORMAT,HGLOBAL) PURE;
-};
-typedef IRichEditOle *LPRICHEDITOLE;
-
-#undef INTERFACE
-#define INTERFACE IRichEditOleCallback
-DECLARE_INTERFACE_(IRichEditOleCallback, IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(GetNewStorage)(THIS_ LPSTORAGE*) PURE;
- STDMETHOD(GetInPlaceContext)(THIS_ LPOLEINPLACEFRAME*,LPOLEINPLACEUIWINDOW*,LPOLEINPLACEFRAMEINFO) PURE;
- STDMETHOD(ShowContainerUI)(THIS_ BOOL) PURE;
- STDMETHOD(QueryInsertObject)(THIS_ LPCLSID,LPSTORAGE,LONG) PURE;
- STDMETHOD(DeleteObject)(THIS_ LPOLEOBJECT) PURE;
- STDMETHOD(QueryAcceptData) (THIS_ LPDATAOBJECT,CLIPFORMAT*,DWORD,BOOL,HGLOBAL) PURE;
- STDMETHOD(ContextSensitiveHelp) (THIS_ BOOL) PURE;
- STDMETHOD(GetClipboardData) (THIS_ CHARRANGE*,DWORD,LPDATAOBJECT*) PURE;
- STDMETHOD(GetDragDropEffect) (THIS_ BOOL,DWORD,PDWORD) PURE;
- STDMETHOD(GetContextMenu) (THIS_ WORD,LPOLEOBJECT,CHARRANGE*,HMENU*) PURE;
-};
-typedef IRichEditOleCallback FAR * LPRICHEDITOLECALLBACK;
-#endif
-#pragma pack(pop)
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/winsup/w32api/include/rpc.h b/winsup/w32api/include/rpc.h
deleted file mode 100644
index 3ca74e9cd..000000000
--- a/winsup/w32api/include/rpc.h
+++ /dev/null
@@ -1,65 +0,0 @@
-#ifndef RPC_NO_WINDOWS_H
-#include <windows.h>
-#endif
-
-#ifndef _RPC_H
-#define _RPC_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-#define __RPC_WIN32__
-#ifndef _WIN95
-#define __RPC_NT__
-#define RPC_UNICODE_SUPPORTED
-#endif
-
-#ifdef _RPCRT4_
-#define RPCRTAPI DECLSPEC_EXPORT
-#else
-#define RPCRTAPI DECLSPEC_IMPORT
-#endif
-
-#ifndef __MIDL_USER_DEFINED
-#define midl_user_allocate MIDL_user_allocate
-#define midl_user_free MIDL_user_free
-#define __MIDL_USER_DEFINED
-#endif
-#define RPC_UNICODE_SUPPORTED
-#define __RPC_FAR
-#define __RPC_API __stdcall
-#define __RPC_USER __stdcall
-#define __RPC_STUB __stdcall
-#define RPC_ENTRY __stdcall
-typedef void *I_RPC_HANDLE;
-typedef long RPC_STATUS;
-
-#include <rpcdce.h>
-#include <rpcnsi.h>
-#include <rpcnterr.h>
-
-#include <winerror.h>
-
-/* SEH is not supported */
-#if 0
-#include <excpt.h>
-#define RpcTryExcept __try {
-#define RpcExcept(x) } __except (x) {
-#define RpcEndExcept }
-#define RpcTryFinally __try {
-#define RpcFinally } __finally {
-#define RpcEndFinally }
-#define RpcExceptionCode() GetExceptionCode()
-#define RpcAbnormalTermination() AbnormalTermination()
-#endif /* 0 */
-
-RPC_STATUS RPC_ENTRY RpcImpersonateClient(RPC_BINDING_HANDLE);
-RPC_STATUS RPC_ENTRY RpcRevertToSelf(void);
-long RPC_ENTRY I_RpcMapWin32Status(RPC_STATUS);
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/winsup/w32api/include/rpcdce.h b/winsup/w32api/include/rpcdce.h
deleted file mode 100644
index 59599d784..000000000
--- a/winsup/w32api/include/rpcdce.h
+++ /dev/null
@@ -1,393 +0,0 @@
-#ifndef _RPCDCE_H
-#define _RPCDCE_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-#include <basetyps.h>
-
-#define IN
-#define OUT
-#ifndef OPTIONAL
-#define OPTIONAL
-#endif
-#define uuid_t UUID
-#define rpc_binding_handle_t RPC_BINDING_HANDLE
-#define rpc_binding_vector_t RPC_BINDING_VECTOR
-#define uuid_vector_t UUID_VECTOR
-#define RPC_C_BINDING_INFINITE_TIMEOUT 10
-#define RPC_C_BINDING_MIN_TIMEOUT 0
-#define RPC_C_BINDING_DEFAULT_TIMEOUT 5
-#define RPC_C_BINDING_MAX_TIMEOUT 9
-#define RPC_C_CANCEL_INFINITE_TIMEOUT (-1)
-#define RPC_C_LISTEN_MAX_CALLS_DEFAULT 1234
-#define RPC_C_PROTSEQ_MAX_REQS_DEFAULT 10
-#define RPC_C_BIND_TO_ALL_NICS 1
-#define RPC_C_USE_INTERNET_PORT 1
-#define RPC_C_USE_INTRANET_PORT 2
-#define RPC_MGR_EPV void
-#define RPC_C_STATS_CALLS_IN 0
-#define RPC_C_STATS_CALLS_OUT 1
-#define RPC_C_STATS_PKTS_IN 2
-#define RPC_C_STATS_PKTS_OUT 3
-#define RPC_IF_AUTOLISTEN 0x0001
-#define RPC_IF_OLE 2
-#define RPC_C_MGMT_INQ_IF_IDS 0
-#define RPC_C_MGMT_INQ_PRINC_NAME 1
-#define RPC_C_MGMT_INQ_STATS 2
-#define RPC_C_MGMT_IS_SERVER_LISTEN 3
-#define RPC_C_MGMT_STOP_SERVER_LISTEN 4
-#define RPC_C_EP_ALL_ELTS 0
-#define RPC_C_EP_MATCH_BY_IF 1
-#define RPC_C_EP_MATCH_BY_OBJ 2
-#define RPC_C_EP_MATCH_BY_BOTH 3
-#define RPC_C_VERS_ALL 1
-#define RPC_C_VERS_COMPATIBLE 2
-#define RPC_C_VERS_EXACT 3
-#define RPC_C_VERS_MAJOR_ONLY 4
-#define RPC_C_VERS_UPTO 5
-#define DCE_C_ERROR_STRING_LEN 256
-#define RPC_C_PARM_MAX_PACKET_LENGTH 1
-#define RPC_C_PARM_BUFFER_LENGTH 2
-#define RPC_C_AUTHN_LEVEL_DEFAULT 0
-#define RPC_C_AUTHN_LEVEL_NONE 1
-#define RPC_C_AUTHN_LEVEL_CONNECT 2
-#define RPC_C_AUTHN_LEVEL_CALL 3
-#define RPC_C_AUTHN_LEVEL_PKT 4
-#define RPC_C_AUTHN_LEVEL_PKT_INTEGRITY 5
-#define RPC_C_AUTHN_LEVEL_PKT_PRIVACY 6
-#define RPC_C_IMP_LEVEL_ANONYMOUS 1
-#define RPC_C_IMP_LEVEL_IDENTIFY 2
-#define RPC_C_IMP_LEVEL_IMPERSONATE 3
-#define RPC_C_IMP_LEVEL_DELEGATE 4
-#define RPC_C_QOS_IDENTITY_STATIC 0
-#define RPC_C_QOS_IDENTITY_DYNAMIC 1
-#define RPC_C_QOS_CAPABILITIES_DEFAULT 0
-#define RPC_C_QOS_CAPABILITIES_MUTUAL_AUTH 1
-#define RPC_C_PROTECT_LEVEL_DEFAULT(RPC_C_AUTHN_LEVEL_DEFAULT)
-#define RPC_C_PROTECT_LEVEL_NONE(RPC_C_AUTHN_LEVEL_NONE)
-#define RPC_C_PROTECT_LEVEL_CONNECT(RPC_C_AUTHN_LEVEL_CONNECT)
-#define RPC_C_PROTECT_LEVEL_CALL(RPC_C_AUTHN_LEVEL_CALL)
-#define RPC_C_PROTECT_LEVEL_PKT(RPC_C_AUTHN_LEVEL_PKT)
-#define RPC_C_PROTECT_LEVEL_PKT_INTEGRITY(RPC_C_AUTHN_LEVEL_PKT_INTEGRITY)
-#define RPC_C_PROTECT_LEVEL_PKT_PRIVACY(RPC_C_AUTHN_LEVEL_PKT_PRIVACY)
-#define RPC_C_AUTHN_NONE 0
-#define RPC_C_AUTHN_DCE_PRIVATE 1
-#define RPC_C_AUTHN_DCE_PUBLIC 2
-#define RPC_C_AUTHN_DEC_PUBLIC 4
-#define RPC_C_AUTHN_WINNT 10
-#define RPC_C_AUTHN_DEFAULT 0xFFFFFFFF
-#define RPC_C_SECURITY_QOS_VERSION L
-#define SEC_WINNT_AUTH_IDENTITY_ANSI 0x1
-#define SEC_WINNT_AUTH_IDENTITY_UNICODE 0x2
-#define RPC_C_AUTHZ_NONE 0
-#define RPC_C_AUTHZ_NAME 1
-#define RPC_C_AUTHZ_DCE 2
-#define RPC_C_AUTHZ_DEFAULT 0xFFFFFFFF
-
-typedef I_RPC_HANDLE RPC_BINDING_HANDLE;
-typedef RPC_BINDING_HANDLE handle_t;
-typedef struct _RPC_BINDING_VECTOR {
- unsigned long Count;
- RPC_BINDING_HANDLE BindingH[1];
-} RPC_BINDING_VECTOR;
-typedef struct _UUID_VECTOR {
- unsigned long Count;
- UUID *Uuid[1];
-} UUID_VECTOR;
-typedef void *RPC_IF_HANDLE;
-typedef struct _RPC_IF_ID {
- UUID Uuid;
- unsigned short VersMajor;
- unsigned short VersMinor;
-} RPC_IF_ID;
-typedef struct _RPC_POLICY {
- unsigned int Length ;
- unsigned long EndpointFlags ;
- unsigned long NICFlags ;
-} RPC_POLICY,*PRPC_POLICY ;
-typedef void __RPC_USER RPC_OBJECT_INQ_FN(UUID*,UUID*,RPC_STATUS*);
-typedef RPC_STATUS RPC_IF_CALLBACK_FN(RPC_IF_HANDLE,void*);
-typedef struct {
- unsigned int Count;
- unsigned long Stats[1];
-} RPC_STATS_VECTOR;
-typedef struct {
- unsigned long Count;
- RPC_IF_ID*IfId[1];
-} RPC_IF_ID_VECTOR;
-typedef void *RPC_AUTH_IDENTITY_HANDLE;
-typedef void *RPC_AUTHZ_HANDLE;
-typedef struct _RPC_SECURITY_QOS {
- unsigned long Version;
- unsigned long Capabilities;
- unsigned long IdentityTracking;
- unsigned long ImpersonationType;
-} RPC_SECURITY_QOS,*PRPC_SECURITY_QOS;
-typedef struct _SEC_WINNT_AUTH_IDENTITY_W {
- unsigned short *User;
- unsigned long UserLength;
- unsigned short *Domain;
- unsigned long DomainLength;
- unsigned short *Password;
- unsigned long PasswordLength;
- unsigned long Flags;
-} SEC_WINNT_AUTH_IDENTITY_W,*PSEC_WINNT_AUTH_IDENTITY_W;
-typedef struct _SEC_WINNT_AUTH_IDENTITY_A {
- unsigned char *User;
- unsigned long UserLength;
- unsigned char *Domain;
- unsigned long DomainLength;
- unsigned char *Password;
- unsigned long PasswordLength;
- unsigned long Flags;
-} SEC_WINNT_AUTH_IDENTITY_A,*PSEC_WINNT_AUTH_IDENTITY_A;
-typedef struct {
- unsigned char *UserName;
- unsigned char *ComputerName;
- unsigned short Privilege;
- unsigned long AuthFlags;
-} RPC_CLIENT_INFORMATION1,* PRPC_CLIENT_INFORMATION1;
-typedef I_RPC_HANDLE *RPC_EP_INQ_HANDLE;
-typedef int(__RPC_API *RPC_MGMT_AUTHORIZATION_FN)(RPC_BINDING_HANDLE,unsigned long,RPC_STATUS*);
-
-#ifdef RPC_UNICODE_SUPPORTED
-typedef struct _RPC_PROTSEQ_VECTORA {
- unsigned int Count;
- unsigned char*Protseq[1];
-} RPC_PROTSEQ_VECTORA;
-typedef struct _RPC_PROTSEQ_VECTORW {
- unsigned int Count;
- unsigned short*Protseq[1];
-} RPC_PROTSEQ_VECTORW;
-RPC_STATUS RPC_ENTRY RpcBindingFromStringBindingA(unsigned char *,RPC_BINDING_HANDLE *);
-RPC_STATUS RPC_ENTRY RpcBindingFromStringBindingW(unsigned short *,RPC_BINDING_HANDLE *);
-RPC_STATUS RPC_ENTRY RpcBindingToStringBindingA(RPC_BINDING_HANDLE,unsigned char**);
-RPC_STATUS RPC_ENTRY RpcBindingToStringBindingW(RPC_BINDING_HANDLE,unsigned short**);
-RPC_STATUS RPC_ENTRY RpcStringBindingComposeA(unsigned char *,unsigned char *,unsigned char *,unsigned char *,unsigned char *,unsigned char **);
-RPC_STATUS RPC_ENTRY RpcStringBindingComposeW(unsigned short *,unsigned short *,unsigned short *,unsigned short *,unsigned short *,unsigned short **);
-RPC_STATUS RPC_ENTRY RpcStringBindingParseA(unsigned char *,unsigned char **,unsigned char **,unsigned char **,unsigned char **,unsigned char **);
-RPC_STATUS RPC_ENTRY RpcStringBindingParseW(unsigned short *,unsigned short **,unsigned short **,unsigned short **,unsigned short **,unsigned short **);
-RPC_STATUS RPC_ENTRY RpcStringFreeA(unsigned char**);
-RPC_STATUS RPC_ENTRY RpcStringFreeW(unsigned short**);
-RPC_STATUS RPC_ENTRY RpcNetworkIsProtseqValidA(unsigned char*);
-RPC_STATUS RPC_ENTRY RpcNetworkIsProtseqValidW(unsigned short*);
-RPC_STATUS RPC_ENTRY RpcNetworkInqProtseqsA(RPC_PROTSEQ_VECTORA**);
-RPC_STATUS RPC_ENTRY RpcNetworkInqProtseqsW(RPC_PROTSEQ_VECTORW**);
-RPC_STATUS RPC_ENTRY RpcProtseqVectorFreeA(RPC_PROTSEQ_VECTORA**);
-RPC_STATUS RPC_ENTRY RpcProtseqVectorFreeW(RPC_PROTSEQ_VECTORW**);
-RPC_STATUS RPC_ENTRY RpcServerUseProtseqA(unsigned char*,unsigned int,void*);
-RPC_STATUS RPC_ENTRY RpcServerUseProtseqW(unsigned short*,unsigned int,void*);
-RPC_STATUS RPC_ENTRY RpcServerUseProtseqExA(unsigned char*,unsigned int MaxCalls,void*,PRPC_POLICY);
-RPC_STATUS RPC_ENTRY RpcServerUseProtseqExW(unsigned short*,unsigned int,void*,PRPC_POLICY);
-RPC_STATUS RPC_ENTRY RpcServerUseProtseqEpA(unsigned char*,unsigned int,unsigned char*,void*);
-RPC_STATUS RPC_ENTRY RpcServerUseProtseqEpExA(unsigned char*,unsigned int,unsigned char*,void*,PRPC_POLICY);
-RPC_STATUS RPC_ENTRY RpcServerUseProtseqEpW(unsigned short*,unsigned int,unsigned short*,void*);
-RPC_STATUS RPC_ENTRY RpcServerUseProtseqEpExW(unsigned short*,unsigned int,unsigned short*,void*,PRPC_POLICY);
-RPC_STATUS RPC_ENTRY RpcServerUseProtseqIfA(unsigned char*,unsigned int,RPC_IF_HANDLE,void*);
-RPC_STATUS RPC_ENTRY RpcServerUseProtseqIfExA(unsigned char*,unsigned int,RPC_IF_HANDLE,void*,PRPC_POLICY);
-RPC_STATUS RPC_ENTRY RpcServerUseProtseqIfW(unsigned short*,unsigned int,RPC_IF_HANDLE,void*);
-RPC_STATUS RPC_ENTRY RpcServerUseProtseqIfExW(unsigned short*,unsigned int,RPC_IF_HANDLE,void*,PRPC_POLICY);
-RPC_STATUS RPC_ENTRY RpcMgmtInqServerPrincNameA(RPC_BINDING_HANDLE,unsigned long,unsigned char**);
-RPC_STATUS RPC_ENTRY RpcMgmtInqServerPrincNameW(RPC_BINDING_HANDLE,unsigned long,unsigned short**);
-RPC_STATUS RPC_ENTRY RpcServerInqDefaultPrincNameA(unsigned long,unsigned char**);
-RPC_STATUS RPC_ENTRY RpcServerInqDefaultPrincNameW(unsigned long,unsigned short**);
-RPC_STATUS RPC_ENTRY RpcNsBindingInqEntryNameA(RPC_BINDING_HANDLE,unsigned long,unsigned char**);
-RPC_STATUS RPC_ENTRY RpcNsBindingInqEntryNameW(RPC_BINDING_HANDLE,unsigned long,unsigned short**);
-RPC_STATUS RPC_ENTRY RpcBindingInqAuthClientA(RPC_BINDING_HANDLE,RPC_AUTHZ_HANDLE *,unsigned char**,unsigned long*,unsigned long*,unsigned long*);
-RPC_STATUS RPC_ENTRY RpcBindingInqAuthClientW(RPC_BINDING_HANDLE,RPC_AUTHZ_HANDLE *,unsigned short**,unsigned long*,unsigned long*,unsigned long*);
-RPC_STATUS RPC_ENTRY RpcBindingInqAuthInfoA(RPC_BINDING_HANDLE,unsigned char**,unsigned long*,unsigned long*,RPC_AUTH_IDENTITY_HANDLE*,unsigned long*);
-RPC_STATUS RPC_ENTRY RpcBindingInqAuthInfoW(RPC_BINDING_HANDLE,unsigned short**,unsigned long*,unsigned long*,RPC_AUTH_IDENTITY_HANDLE*,unsigned long*);
-RPC_STATUS RPC_ENTRY RpcBindingSetAuthInfoA(RPC_BINDING_HANDLE,unsigned char*,unsigned long,unsigned long,RPC_AUTH_IDENTITY_HANDLE,unsigned long);
-RPC_STATUS RPC_ENTRY RpcBindingSetAuthInfoExA(RPC_BINDING_HANDLE,unsigned char*,unsigned long,unsigned long,RPC_AUTH_IDENTITY_HANDLE,unsigned long,RPC_SECURITY_QOS*);
-RPC_STATUS RPC_ENTRY RpcBindingSetAuthInfoW(RPC_BINDING_HANDLE,unsigned short*,unsigned long,unsigned long,RPC_AUTH_IDENTITY_HANDLE,unsigned long);
-RPC_STATUS RPC_ENTRY RpcBindingSetAuthInfoExW(RPC_BINDING_HANDLE,unsigned short*,unsigned long,unsigned long,RPC_AUTH_IDENTITY_HANDLE,unsigned long,RPC_SECURITY_QOS*);
-RPC_STATUS RPC_ENTRY RpcBindingInqAuthInfoExA(RPC_BINDING_HANDLE,unsigned char**,unsigned long*,unsigned long*,RPC_AUTH_IDENTITY_HANDLE*,unsigned long*,unsigned long,RPC_SECURITY_QOS*);
-RPC_STATUS RPC_ENTRY RpcBindingInqAuthInfoExW(RPC_BINDING_HANDLE,unsigned short ** , unsigned long *, unsigned long *, RPC_AUTH_IDENTITY_HANDLE *, unsigned long *, unsigned long , RPC_SECURITY_QOS *);
-typedef void(__RPC_USER *RPC_AUTH_KEY_RETRIEVAL_FN)(void*,unsigned short*,unsigned long,void**,RPC_STATUS*);
-RPC_STATUS RPC_ENTRY RpcServerRegisterAuthInfoA(unsigned char*,unsigned long,RPC_AUTH_KEY_RETRIEVAL_FN,void*);
-RPC_STATUS RPC_ENTRY RpcServerRegisterAuthInfoW(unsigned short*,unsigned long,RPC_AUTH_KEY_RETRIEVAL_FN,void*);
-RPC_STATUS RPC_ENTRY UuidToStringA(UUID*,unsigned char**);
-RPC_STATUS RPC_ENTRY UuidFromStringA(unsigned char*,UUID*);
-RPC_STATUS RPC_ENTRY UuidToStringW(UUID*,unsigned short**);
-RPC_STATUS RPC_ENTRY UuidFromStringW(unsigned short*,UUID*);
-RPC_STATUS RPC_ENTRY RpcEpRegisterNoReplaceA(RPC_IF_HANDLE,RPC_BINDING_VECTOR*,UUID_VECTOR*,unsigned char*);
-RPC_STATUS RPC_ENTRY RpcEpRegisterNoReplaceW(RPC_IF_HANDLE,RPC_BINDING_VECTOR*, UUID_VECTOR*,unsigned short*);
-RPC_STATUS RPC_ENTRY RpcEpRegisterA(RPC_IF_HANDLE,RPC_BINDING_VECTOR*,UUID_VECTOR*,unsigned char*);
-RPC_STATUS RPC_ENTRY RpcEpRegisterW(RPC_IF_HANDLE,RPC_BINDING_VECTOR*,UUID_VECTOR*,unsigned short*);
-RPC_STATUS RPC_ENTRY DceErrorInqTextA(RPC_STATUS,unsigned char*);
-RPC_STATUS RPC_ENTRY DceErrorInqTextW(RPC_STATUS,unsigned short*);
-RPC_STATUS RPC_ENTRY RpcMgmtEpEltInqNextA(RPC_EP_INQ_HANDLE,RPC_IF_ID*,RPC_BINDING_HANDLE*,UUID*,unsigned char**);
-RPC_STATUS RPC_ENTRY RpcMgmtEpEltInqNextW(RPC_EP_INQ_HANDLE,RPC_IF_ID*,RPC_BINDING_HANDLE*,UUID*,unsigned short**);
-#ifdef UNICODE
-#define RPC_PROTSEQ_VECTOR RPC_PROTSEQ_VECTORW
-#define SEC_WINNT_AUTH_IDENTITY SEC_WINNT_AUTH_IDENTITY_W
-#define PSEC_WINNT_AUTH_IDENTITY PSEC_WINNT_AUTH_IDENTITY_W
-#define _SEC_WINNT_AUTH_IDENTITY _SEC_WINNT_AUTH_IDENTITY_W
-#define RpcMgmtEpEltInqNext RpcMgmtEpEltInqNextW
-#define RpcBindingFromStringBinding RpcBindingFromStringBindingW
-#define RpcBindingToStringBinding RpcBindingToStringBindingW
-#define RpcStringBindingCompose RpcStringBindingComposeW
-#define RpcStringBindingParse RpcStringBindingParseW
-#define RpcStringFree RpcStringFreeW
-#define RpcNetworkIsProtseqValid RpcNetworkIsProtseqValidW
-#define RpcNetworkInqProtseqs RpcNetworkInqProtseqsW
-#define RpcProtseqVectorFree RpcProtseqVectorFreeW
-#define RpcServerUseProtseq RpcServerUseProtseqW
-#define RpcServerUseProtseqEx RpcServerUseProtseqExW
-#define RpcServerUseProtseqEp RpcServerUseProtseqEpW
-#define RpcServerUseProtseqEpEx RpcServerUseProtseqEpExW
-#define RpcServerUseProtseqIf RpcServerUseProtseqIfW
-#define RpcServerUseProtseqIfEx RpcServerUseProtseqIfExW
-#define RpcMgmtInqServerPrincName RpcMgmtInqServerPrincNameW
-#define RpcServerInqDefaultPrincName RpcServerInqDefaultPrincNameW
-#define RpcNsBindingInqEntryName RpcNsBindingInqEntryNameW
-#define RpcBindingInqAuthClient RpcBindingInqAuthClientW
-#define RpcBindingInqAuthInfo RpcBindingInqAuthInfoW
-#define RpcBindingSetAuthInfo RpcBindingSetAuthInfoW
-#define RpcServerRegisterAuthInfo RpcServerRegisterAuthInfoW
-#define RpcBindingInqAuthInfoEx RpcBindingInqAuthInfoExW
-#define RpcBindingSetAuthInfoEx RpcBindingSetAuthInfoExW
-#define UuidFromString UuidFromStringW
-#define UuidToString UuidToStringW
-#define RpcEpRegisterNoReplace RpcEpRegisterNoReplaceW
-#define RpcEpRegister RpcEpRegisterW
-#define DceErrorInqText DceErrorInqTextW
-#else /* UNICODE */
-#define RPC_PROTSEQ_VECTOR RPC_PROTSEQ_VECTORA
-#define SEC_WINNT_AUTH_IDENTITY SEC_WINNT_AUTH_IDENTITY_A
-#define PSEC_WINNT_AUTH_IDENTITY PSEC_WINNT_AUTH_IDENTITY_A
-#define _SEC_WINNT_AUTH_IDENTITY _SEC_WINNT_AUTH_IDENTITY_A
-#define RpcMgmtEpEltInqNext RpcMgmtEpEltInqNextA
-#define RpcBindingFromStringBinding RpcBindingFromStringBindingA
-#define RpcBindingToStringBinding RpcBindingToStringBindingA
-#define RpcStringBindingCompose RpcStringBindingComposeA
-#define RpcStringBindingParse RpcStringBindingParseA
-#define RpcStringFree RpcStringFreeA
-#define RpcNetworkIsProtseqValid RpcNetworkIsProtseqValidA
-#define RpcNetworkInqProtseqs RpcNetworkInqProtseqsA
-#define RpcProtseqVectorFree RpcProtseqVectorFreeA
-#define RpcServerUseProtseq RpcServerUseProtseqA
-#define RpcServerUseProtseqEx RpcServerUseProtseqExA
-#define RpcServerUseProtseqEp RpcServerUseProtseqEpA
-#define RpcServerUseProtseqEpEx RpcServerUseProtseqEpExA
-#define RpcServerUseProtseqIf RpcServerUseProtseqIfA
-#define RpcServerUseProtseqIfEx RpcServerUseProtseqIfExA
-#define RpcMgmtInqServerPrincName RpcMgmtInqServerPrincNameA
-#define RpcServerInqDefaultPrincName RpcServerInqDefaultPrincNameA
-#define RpcNsBindingInqEntryName RpcNsBindingInqEntryNameA
-#define RpcBindingInqAuthClient RpcBindingInqAuthClientA
-#define RpcBindingInqAuthInfo RpcBindingInqAuthInfoA
-#define RpcBindingSetAuthInfo RpcBindingSetAuthInfoA
-#define RpcServerRegisterAuthInfo RpcServerRegisterAuthInfoA
-#define RpcBindingInqAuthInfoEx RpcBindingInqAuthInfoExA
-#define RpcBindingSetAuthInfoEx RpcBindingSetAuthInfoExA
-#define UuidFromString UuidFromStringA
-#define UuidToString UuidToStringA
-#define RpcEpRegisterNoReplace RpcEpRegisterNoReplaceA
-#define RpcEpRegister RpcEpRegisterA
-#define DceErrorInqText DceErrorInqTextA
-#endif /* UNICODE */
-#else /* RPC_UNICODE_SUPPORTED */
-typedef struct _RPC_PROTSEQ_VECTOR {
- unsigned int Count;
- unsigned char* Protseq[1];
-} RPC_PROTSEQ_VECTOR;
-RPC_STATUS RPC_ENTRY RpcBindingFromStringBinding(unsigned char *,RPC_BINDING_HANDLE *);
-RPC_STATUS RPC_ENTRY RpcBindingToStringBinding(RPC_BINDING_HANDLE,unsigned char **);
-RPC_STATUS RPC_ENTRY RpcStringBindingCompose(unsigned char *,unsigned char *,unsigned char *,unsigned char *,unsigned char *,unsigned char **);
-RPC_STATUS RPC_ENTRY RpcStringBindingParse(unsigned char *,unsigned char **,unsigned char **,unsigned char **,unsigned char **,unsigned char **);
-RPC_STATUS RPC_ENTRY RpcStringFree(unsigned char**);
-RPC_STATUS RPC_ENTRY RpcNetworkIsProtseqValid(unsigned char*);
-RPC_STATUS RPC_ENTRY RpcNetworkInqProtseqs(RPC_PROTSEQ_VECTOR **);
-RPC_STATUS RPC_ENTRY RpcServerInqBindings(RPC_BINDING_VECTOR **);
-RPC_STATUS RPC_ENTRY RpcServerUseProtseq(unsigned char*,unsigned int,void*);
-RPC_STATUS RPC_ENTRY RpcServerUseProtseqEx(unsigned char*,unsigned int,void*,PRPC_POLICY);
-RPC_STATUS RPC_ENTRY RpcServerUseProtseqEp(unsigned char*,unsigned int,unsigned char*,void*);
-RPC_STATUS RPC_ENTRY RpcServerUseProtseqEpEx(unsigned char*,unsigned int,unsigned char*,void*,PRPC_POLICY);
-RPC_STATUS RPC_ENTRY RpcServerUseProtseqIf(unsigned char*,unsigned int,RPC_IF_HANDLE,void*);
-RPC_STATUS RPC_ENTRY RpcServerUseProtseqIfEx(unsigned char*,unsigned int,RPC_IF_HANDLE,void*,PRPC_POLICY);
-RPC_STATUS RPC_ENTRY RpcMgmtInqServerPrincName(RPC_BINDING_HANDLE,unsigned long,unsigned char**);
-RPC_STATUS RPC_ENTRY RpcServerInqDefaultPrincName(unsigned long,unsigned char**);
-RPC_STATUS RPC_ENTRY RpcNsBindingInqEntryName(RPC_BINDING_HANDLE,unsigned long,unsigned char**);
-RPC_STATUS RPC_ENTRY RpcBindingInqAuthClient(RPC_BINDING_HANDLE,RPC_AUTHZ_HANDLE*,unsigned char**,unsigned long*,unsigned long*,unsigned long*);
-RPC_STATUS RPC_ENTRY RpcBindingInqAuthInfo(RPC_BINDING_HANDLE,unsigned char **,unsigned long *,unsigned long *,RPC_AUTH_IDENTITY_HANDLE *,unsigned long *);
-RPC_STATUS RPC_ENTRY RpcBindingSetAuthInfo(RPC_BINDING_HANDLE,unsigned char *,unsigned long,unsigned long,RPC_AUTH_IDENTITY_HANDLE,unsigned long);
-typedef void(__RPC_USER *RPC_AUTH_KEY_RETRIEVAL_FN)(void*,unsigned char*,unsigned long,void**,RPC_STATUS*);
-RPC_STATUS RPC_ENTRY RpcServerRegisterAuthInfo(unsigned char*,unsigned long,RPC_AUTH_KEY_RETRIEVAL_FN,void*);
-RPC_STATUS RPC_ENTRY UuidToString(UUID*,unsigned char**);
-RPC_STATUS RPC_ENTRY UuidFromString(unsigned char*,UUID*);
-RPC_STATUS RPC_ENTRY RpcEpRegisterNoReplace(RPC_IF_HANDLE,RPC_BINDING_VECTOR*,UUID_VECTOR*,unsigned char*);
-RPC_STATUS RPC_ENTRY RpcEpRegister(RPC_IF_HANDLE,RPC_BINDING_VECTOR*,UUID_VECTOR*,unsigned char*);
-RPC_STATUS RPC_ENTRY DceErrorInqText(RPC_STATUS,unsigned char*);
-RPC_STATUS RPC_ENTRY RpcMgmtEpEltInqNext(RPC_EP_INQ_HANDLE,RPC_IF_ID *,RPC_BINDING_HANDLE *,unsigned char **);
-#endif /* RPC_UNICODE_SUPPORTED */
-
-RPC_STATUS RPC_ENTRY RpcBindingCopy(RPC_BINDING_HANDLE,RPC_BINDING_HANDLE*);
-RPC_STATUS RPC_ENTRY RpcBindingFree(RPC_BINDING_HANDLE*);
-RPC_STATUS RPC_ENTRY RpcBindingInqObject(RPC_BINDING_HANDLE,UUID *);
-RPC_STATUS RPC_ENTRY RpcBindingReset(RPC_BINDING_HANDLE);
-RPC_STATUS RPC_ENTRY RpcBindingSetObject(RPC_BINDING_HANDLE,UUID *);
-RPC_STATUS RPC_ENTRY RpcMgmtInqDefaultProtectLevel(unsigned long,unsigned long *);
-RPC_STATUS RPC_ENTRY RpcBindingVectorFree(RPC_BINDING_VECTOR **);
-RPC_STATUS RPC_ENTRY RpcIfInqId(RPC_IF_HANDLE,RPC_IF_ID *);
-RPC_STATUS RPC_ENTRY RpcMgmtInqComTimeout(RPC_BINDING_HANDLE,unsigned int*);
-RPC_STATUS RPC_ENTRY RpcMgmtSetComTimeout(RPC_BINDING_HANDLE,unsigned int);
-RPC_STATUS RPC_ENTRY RpcMgmtSetCancelTimeout(long Timeout);
-RPC_STATUS RPC_ENTRY RpcObjectInqType(UUID *,UUID *);
-RPC_STATUS RPC_ENTRY RpcObjectSetInqFn(RPC_OBJECT_INQ_FN *);
-RPC_STATUS RPC_ENTRY RpcObjectSetType(UUID *,UUID *);
-RPC_STATUS RPC_ENTRY RpcProtseqVectorFree(RPC_PROTSEQ_VECTOR **);
-RPC_STATUS RPC_ENTRY RpcServerInqIf(RPC_IF_HANDLE,UUID*,RPC_MGR_EPV**);
-RPC_STATUS RPC_ENTRY RpcServerListen(unsigned int,unsigned int,unsigned int);
-RPC_STATUS RPC_ENTRY RpcServerRegisterIf(RPC_IF_HANDLE,UUID*,RPC_MGR_EPV*);
-RPC_STATUS RPC_ENTRY RpcServerRegisterIfEx(RPC_IF_HANDLE,UUID*,RPC_MGR_EPV*,unsigned int,unsigned int,RPC_IF_CALLBACK_FN*);
-RPC_STATUS RPC_ENTRY RpcServerRegisterIf2(RPC_IF_HANDLE,UUID*,RPC_MGR_EPV*,unsigned int,unsigned int,unsigned int,RPC_IF_CALLBACK_FN*);
-RPC_STATUS RPC_ENTRY RpcServerUnregisterIf(RPC_IF_HANDLE,UUID*,unsigned int);
-RPC_STATUS RPC_ENTRY RpcServerUseAllProtseqs(unsigned int,void*);
-RPC_STATUS RPC_ENTRY RpcServerUseAllProtseqsEx(unsigned int,void*,PRPC_POLICY);
-RPC_STATUS RPC_ENTRY RpcServerUseAllProtseqsIf(unsigned int,RPC_IF_HANDLE,void*);
-RPC_STATUS RPC_ENTRY RpcServerUseAllProtseqsIfEx(unsigned int,RPC_IF_HANDLE,void*,PRPC_POLICY);
-RPC_STATUS RPC_ENTRY RpcMgmtStatsVectorFree(RPC_STATS_VECTOR**);
-RPC_STATUS RPC_ENTRY RpcMgmtInqStats(RPC_BINDING_HANDLE,RPC_STATS_VECTOR**);
-RPC_STATUS RPC_ENTRY RpcMgmtIsServerListening(RPC_BINDING_HANDLE);
-RPC_STATUS RPC_ENTRY RpcMgmtStopServerListening(RPC_BINDING_HANDLE);
-RPC_STATUS RPC_ENTRY RpcMgmtWaitServerListen(void);
-RPC_STATUS RPC_ENTRY RpcMgmtSetServerStackSize(unsigned long);
-void RPC_ENTRY RpcSsDontSerializeContext(void);
-RPC_STATUS RPC_ENTRY RpcMgmtEnableIdleCleanup(void);
-RPC_STATUS RPC_ENTRY RpcMgmtInqIfIds(RPC_BINDING_HANDLE,RPC_IF_ID_VECTOR**);
-RPC_STATUS RPC_ENTRY RpcIfIdVectorFree(RPC_IF_ID_VECTOR**);
-RPC_STATUS RPC_ENTRY RpcEpResolveBinding(RPC_BINDING_HANDLE,RPC_IF_HANDLE);
-RPC_STATUS RPC_ENTRY RpcBindingServerFromClient(RPC_BINDING_HANDLE,RPC_BINDING_HANDLE*);
-DECLSPEC_NORETURN void RPC_ENTRY RpcRaiseException(RPC_STATUS);
-RPC_STATUS RPC_ENTRY RpcTestCancel(void);
-RPC_STATUS RPC_ENTRY RpcCancelThread(void*);
-RPC_STATUS RPC_ENTRY UuidCreate(UUID*);
-signed int RPC_ENTRY UuidCompare(UUID*,UUID*, RPC_STATUS*);
-RPC_STATUS RPC_ENTRY UuidCreateNil(UUID*);
-int RPC_ENTRY UuidEqual(UUID*,UUID*, RPC_STATUS*);
-unsigned short RPC_ENTRY UuidHash(UUID*,RPC_STATUS*);
-int RPC_ENTRY UuidIsNil(UUID*,RPC_STATUS*);
-RPC_STATUS RPC_ENTRY RpcEpUnregister(RPC_IF_HANDLE,RPC_BINDING_VECTOR*,UUID_VECTOR*);
-RPC_STATUS RPC_ENTRY RpcMgmtEpEltInqBegin(RPC_BINDING_HANDLE,unsigned long,RPC_IF_ID*,unsigned long,UUID*,RPC_EP_INQ_HANDLE*);
-RPC_STATUS RPC_ENTRY RpcMgmtEpEltInqDone(RPC_EP_INQ_HANDLE*);
-RPC_STATUS RPC_ENTRY RpcMgmtEpUnregister(RPC_BINDING_HANDLE,RPC_IF_ID*,RPC_BINDING_HANDLE,UUID*);
-RPC_STATUS RPC_ENTRY RpcMgmtSetAuthorizationFn(RPC_MGMT_AUTHORIZATION_FN);
-RPC_STATUS RPC_ENTRY RpcMgmtInqParameter(unsigned int,unsigned long*);
-RPC_STATUS RPC_ENTRY RpcMgmtSetParameter(unsigned int,unsigned long);
-RPC_STATUS RPC_ENTRY RpcMgmtBindingInqParameter(RPC_BINDING_HANDLE,unsigned int,unsigned long*);
-RPC_STATUS RPC_ENTRY RpcMgmtBindingSetParameter(RPC_BINDING_HANDLE,unsigned int,unsigned long);
-
-#if _WIN32_WINNT >= 0x0500
-RPC_STATUS RPC_ENTRY UuidCreateSequential(UUID*);
-#endif
-
-#include <rpcdcep.h>
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/winsup/w32api/include/rpcdce2.h b/winsup/w32api/include/rpcdce2.h
deleted file mode 100644
index 4d065f189..000000000
--- a/winsup/w32api/include/rpcdce2.h
+++ /dev/null
@@ -1,56 +0,0 @@
-#ifndef _RPCDCE2_H
-#define _RPCDCE2_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-#include <rpcdce.h>
-
-#define RPC_C_EP_ALL_ELTS 0
-#define RPC_C_EP_MATCH_BY_IF 1
-#define RPC_C_EP_MATCH_BY_OBJ 2
-#define RPC_C_EP_MATCH_BY_BOTH 3
-#define RPC_C_VERS_ALL 1
-#define RPC_C_VERS_COMPATIBLE 2
-#define RPC_C_VERS_EXACT 3
-#define RPC_C_VERS_MAJOR_ONLY 4
-#define RPC_C_VERS_UPTO 5
-#define DCE_C_ERROR_STRING_LEN 256
-#define RPC_C_MGMT_INQ_IF_IDS 0
-#define RPC_C_MGMT_INQ_PRINC_NAME 1
-#define RPC_C_MGMT_INQ_STATS 2
-#define RPC_C_MGMT_IS_SERVER_LISTEN 3
-#define RPC_C_MGMT_STOP_SERVER_LISTEN 4
-
-int RPC_ENTRY UuidCompare(UUID*,UUID*,RPC_STATUS*);
-RPC_STATUS RPC_ENTRY UuidCreateNil(UUID*);
-int RPC_ENTRY UuidEqual(UUID*,UUID*,RPC_STATUS*);
-unsigned short RPC_ENTRY UuidHash(UUID*,RPC_STATUS*);
-int RPC_ENTRY UuidIsNil(UUID*,RPC_STATUS*);
-#ifdef RPC_UNICODE_SUPPORTED
-RPC_STATUS RPC_ENTRY DceErrorInqTextA(RPC_STATUS,unsigned char*);
-RPC_STATUS RPC_ENTRY DceErrorInqTextW(RPC_STATUS,unsigned short*);
-RPC_STATUS RPC_ENTRY RpcMgmtEpEltInqNextA(RPC_EP_INQ_HANDLE,RPC_IF_ID*,RPC_BINDING_HANDLE*,UUID*,unsigned char**);
-RPC_STATUS RPC_ENTRY RpcMgmtEpEltInqNextW(RPC_EP_INQ_HANDLE,RPC_IF_ID*,RPC_BINDING_HANDLE*,UUID*,unsigned short**);
-#ifdef UNICODE
-#define RpcMgmtEpEltInqNext RpcMgmtEpEltInqNextW
-#define DceErrorInqText DceErrorInqTextW
-#else
-#define RpcMgmtEpEltInqNext RpcMgmtEpEltInqNextA
-#define DceErrorInqText DceErrorInqTextA
-#endif /* UNICODE */
-#else /* RPC_UNICODE_SUPPORTED */
-RPC_STATUS RPC_ENTRY DceErrorInqText(RPC_STATUS,unsigned char*);
-RPC_STATUS RPC_ENTRY RpcMgmtEpEltInqNext(RPC_EP_INQ_HANDLE,RPC_IF_ID*,RPC_BINDING_HANDLE*,UUID*,unsigned char**);
-#endif
-RPC_STATUS RPC_ENTRY RpcMgmtEpEltInqBegin(RPC_BINDING_HANDLE,unsigned long,RPC_IF_ID*,unsigned long,UUID*,RPC_EP_INQ_HANDLE*);
-RPC_STATUS RPC_ENTRY RpcMgmtEpEltInqDone(RPC_EP_INQ_HANDLE*);
-RPC_STATUS RPC_ENTRY RpcMgmtEpUnregister(RPC_BINDING_HANDLE,RPC_IF_ID*,RPC_BINDING_HANDLE,UUID*);
-RPC_STATUS RPC_ENTRY RpcMgmtSetAuthorizationFn(RPC_MGMT_AUTHORIZATION_FN);
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/winsup/w32api/include/rpcdcep.h b/winsup/w32api/include/rpcdcep.h
deleted file mode 100644
index 399d4acc4..000000000
--- a/winsup/w32api/include/rpcdcep.h
+++ /dev/null
@@ -1,129 +0,0 @@
-#ifndef _RPCDCEP_H
-#define _RPCDCEP_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-#define RPC_NCA_FLAGS_DEFAULT 0
-#define RPC_NCA_FLAGS_IDEMPOTENT 1
-#define RPC_NCA_FLAGS_BROADCAST 2
-#define RPC_NCA_FLAGS_MAYBE 4
-#define RPCFLG_ASYNCHRONOUS 0x40000000
-#define RPCFLG_INPUT_SYNCHRONOUS 0x20000000
-#define RPC_FLAGS_VALID_BIT 0x8000
-#define TRANSPORT_TYPE_CN 1
-#define TRANSPORT_TYPE_DG 2
-#define TRANSPORT_TYPE_LPC 4
-#define TRANSPORT_TYPE_WMSG 8
-
-typedef struct _RPC_VERSION {
- unsigned short MajorVersion;
- unsigned short MinorVersion;
-} RPC_VERSION;
-typedef struct _RPC_SYNTAX_IDENTIFIER {
- GUID SyntaxGUID;
- RPC_VERSION SyntaxVersion;
-} RPC_SYNTAX_IDENTIFIER, *PRPC_SYNTAX_IDENTIFIER;
-typedef struct _RPC_MESSAGE {
- HANDLE Handle;
- unsigned long DataRepresentation;
- void *Buffer;
- unsigned int BufferLength;
- unsigned int ProcNum;
- PRPC_SYNTAX_IDENTIFIER TransferSyntax;
- void *RpcInterfaceInformation;
- void *ReservedForRuntime;
- void *ManagerEpv;
- void *ImportContext;
- unsigned long RpcFlags;
-} RPC_MESSAGE,*PRPC_MESSAGE;
-typedef long __stdcall RPC_FORWARD_FUNCTION(GUID*,RPC_VERSION*,GUID*,unsigned char*,void**);
-typedef void(__stdcall *RPC_DISPATCH_FUNCTION) ( PRPC_MESSAGE Message);
-typedef struct {
- unsigned int DispatchTableCount;
- RPC_DISPATCH_FUNCTION *DispatchTable;
- int Reserved;
-} RPC_DISPATCH_TABLE,*PRPC_DISPATCH_TABLE;
-typedef struct _RPC_PROTSEQ_ENDPOINT {
- unsigned char *RpcProtocolSequence;
- unsigned char *Endpoint;
-} RPC_PROTSEQ_ENDPOINT,*PRPC_PROTSEQ_ENDPOINT;
-typedef struct _RPC_SERVER_INTERFACE {
- unsigned int Length;
- RPC_SYNTAX_IDENTIFIER InterfaceId;
- RPC_SYNTAX_IDENTIFIER TransferSyntax;
- PRPC_DISPATCH_TABLE DispatchTable;
- unsigned int RpcProtseqEndpointCount;
- PRPC_PROTSEQ_ENDPOINT RpcProtseqEndpoint;
- void *DefaultManagerEpv;
- void const *InterpreterInfo;
-} RPC_SERVER_INTERFACE,*PRPC_SERVER_INTERFACE;
-typedef struct _RPC_CLIENT_INTERFACE {
- unsigned int Length;
- RPC_SYNTAX_IDENTIFIER InterfaceId;
- RPC_SYNTAX_IDENTIFIER TransferSyntax;
- PRPC_DISPATCH_TABLE DispatchTable;
- unsigned int RpcProtseqEndpointCount;
- PRPC_PROTSEQ_ENDPOINT RpcProtseqEndpoint;
- unsigned long Reserved;
- void const *InterpreterInfo;
-} RPC_CLIENT_INTERFACE,*PRPC_CLIENT_INTERFACE;
-typedef void *I_RPC_MUTEX;
-typedef struct _RPC_TRANSFER_SYNTAX {
- GUID Uuid;
- unsigned short VersMajor;
- unsigned short VersMinor;
-} RPC_TRANSFER_SYNTAX;
-typedef RPC_STATUS (*RPC_BLOCKING_FN)(void*,void*,void*);
-
-long __stdcall I_RpcGetBuffer(RPC_MESSAGE*);
-long __stdcall I_RpcSendReceive(RPC_MESSAGE*);
-long __stdcall I_RpcSend(RPC_MESSAGE*);
-long __stdcall I_RpcFreeBuffer(RPC_MESSAGE*);
-void __stdcall I_RpcRequestMutex(I_RPC_MUTEX*);
-void __stdcall I_RpcClearMutex(I_RPC_MUTEX);
-void __stdcall I_RpcDeleteMutex(I_RPC_MUTEX);
-DECLARE_STDCALL_P(void *) I_RpcAllocate(unsigned int);
-void __stdcall I_RpcFree(void*);
-void __stdcall I_RpcPauseExecution(unsigned long);
-typedef void(__stdcall *PRPC_RUNDOWN) (void*);
-long __stdcall I_RpcMonitorAssociation(HANDLE,PRPC_RUNDOWN,void*);
-long __stdcall I_RpcStopMonitorAssociation(HANDLE);
-HANDLE __stdcall I_RpcGetCurrentCallHandle(void);
-long __stdcall I_RpcGetAssociationContext(void**);
-long __stdcall I_RpcSetAssociationContext(void*);
-#ifdef __RPC_NT__
-long __stdcall I_RpcNsBindingSetEntryName(HANDLE,unsigned long,unsigned short*);
-long __stdcall I_RpcBindingInqDynamicEndpoint(HANDLE, unsigned short**);
-#else
-long __stdcall I_RpcNsBindingSetEntryName(HANDLE,unsigned long,unsigned char*);
-long __stdcall I_RpcBindingInqDynamicEndpoint(HANDLE,unsigned char**);
-#endif
-long __stdcall I_RpcBindingInqTransportType(HANDLE,unsigned int*);
-long __stdcall I_RpcIfInqTransferSyntaxes(HANDLE,RPC_TRANSFER_SYNTAX*,unsigned int,unsigned int*);
-long __stdcall I_UuidCreate(GUID*);
-long __stdcall I_RpcBindingCopy(HANDLE,HANDLE*);
-long __stdcall I_RpcBindingIsClientLocal(HANDLE,unsigned int*);
-void __stdcall I_RpcSsDontSerializeContext(void);
-long __stdcall I_RpcServerRegisterForwardFunction(RPC_FORWARD_FUNCTION*);
-long __stdcall I_RpcConnectionInqSockBuffSize(unsigned long*,unsigned long*);
-long __stdcall I_RpcConnectionSetSockBuffSize(unsigned long,unsigned long);
-long __stdcall I_RpcBindingSetAsync(HANDLE,RPC_BLOCKING_FN);
-long __stdcall I_RpcAsyncSendReceive(RPC_MESSAGE*,void*);
-long __stdcall I_RpcGetThreadWindowHandle(void**);
-long __stdcall I_RpcServerThreadPauseListening(void);
-long __stdcall I_RpcServerThreadContinueListening(void);
-long __stdcall I_RpcServerUnregisterEndpointA(unsigned char*,unsigned char*);
-long __stdcall I_RpcServerUnregisterEndpointW(unsigned short*,unsigned short*);
-#ifdef UNICODE
-#define I_RpcServerUnregisterEndpoint I_RpcServerUnregisterEndpointW
-#else
-#define I_RpcServerUnregisterEndpoint I_RpcServerUnregisterEndpointA
-#endif
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/winsup/w32api/include/rpcndr.h b/winsup/w32api/include/rpcndr.h
deleted file mode 100644
index d1c4eec72..000000000
--- a/winsup/w32api/include/rpcndr.h
+++ /dev/null
@@ -1,515 +0,0 @@
-#ifndef __RPCNDR_H__
-#define __RPCNDR_H__
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifndef __RPCNDR_H_VERSION__
-#define __RPCNDR_H_VERSION__ ( 450 )
-#endif /* __RPCNDR_H_VERSION__ */
-#include <rpcnsip.h>
-#ifdef __cplusplus
-extern "C" {
-#endif
-#include <objfwd.h>
-#define DECLSPEC_UUID(x)
-#define MIDL_INTERFACE(x) struct
-#define NDR_CHAR_REP_MASK (unsigned long)0xFL
-#define NDR_INT_REP_MASK (unsigned long)0xF0L
-#define NDR_FLOAT_REP_MASK (unsigned long)0xFF00L
-#define NDR_LITTLE_ENDIAN (unsigned long)0x10L
-#define NDR_BIG_ENDIAN (unsigned long)0
-#define NDR_IEEE_FLOAT (unsigned long)0
-#define NDR_VAX_FLOAT (unsigned long)0x100L
-#define NDR_ASCII_CHAR (unsigned long)0
-#define NDR_EBCDIC_CHAR (unsigned long)1
-#define NDR_LOCAL_DATA_REPRESENTATION (unsigned long)0x10L
-#define NDR_LOCAL_ENDIAN NDR_LITTLE_ENDIAN
-#define __RPC_CALLEE __stdcall
-#ifndef __MIDL_USER_DEFINED
-#define midl_user_allocate MIDL_user_allocate
-#define midl_user_free MIDL_user_free
-#define __MIDL_USER_DEFINED
-#endif
-#define RPC_VAR_ENTRY __cdecl
-#ifdef _M_IX86
-#define __MIDL_DECLSPEC_DLLIMPORT __declspec(dllimport)
-#define __MIDL_DECLSPEC_DLLEXPORT __declspec(dllexport)
-#else
-#define __MIDL_DECLSPEC_DLLIMPORT
-#define __MIDL_DECLSPEC_DLLEXPORT
-#endif
-#if defined(_HAVE_INT64) || (defined(_INTEGRAL_MAX_BITS) && _INTEGRAL_MAX_BITS >= 64)
-#define hyper __int64
-#define MIDL_uhyper unsigned __int64
-#else
-#define hyper double
-#define MIDL_uhyper double
-#endif
-#define small char
-typedef unsigned char byte;
-#define NDRSContextValue(hContext) (&(hContext)->userContext)
-#define cbNDRContext 20
-#define byte_from_ndr(source, target) { *(target) = *(*(char**)&(source)->Buffer)++; }
-#define byte_array_from_ndr(Source, LowerIndex, UpperIndex, Target) { NDRcopy ((((char *)(Target))+(LowerIndex)), (Source)->Buffer, (unsigned int)((UpperIndex)-(LowerIndex))); *(unsigned long *)&(Source)->Buffer += ((UpperIndex)-(LowerIndex)); }
-#define boolean_from_ndr(source, target) { *(target) = *(*(char**)&(source)->Buffer)++; }
-#define boolean_array_from_ndr(Source, LowerIndex, UpperIndex, Target) { NDRcopy ((((char *)(Target))+(LowerIndex)), (Source)->Buffer, (unsigned int)((UpperIndex)-(LowerIndex))); *(unsigned long *)&(Source)->Buffer += ((UpperIndex)-(LowerIndex)); }
-#define small_from_ndr(source, target) { *(target) = *(*(char**)&(source)->Buffer)++; }
-#define small_from_ndr_temp(source, target, format) { *(target) = *(*(char**)(source))++; }
-#define small_array_from_ndr(Source, LowerIndex, UpperIndex, Target) { NDRcopy ((((char *)(Target))+(LowerIndex)), (Source)->Buffer, (unsigned int)((UpperIndex)-(LowerIndex))); *(unsigned long *)&(Source)->Buffer += ((UpperIndex)-(LowerIndex)); }
-#define MIDL_ascii_strlen(string) strlen(string)
-#define MIDL_ascii_strcpy(target,source) strcpy(target,source)
-#define MIDL_memset(s,c,n) memset(s,c,n)
-#define _midl_ma1( p, cast ) *(*( cast **)&p)++
-#define _midl_ma2( p, cast ) *(*( cast **)&p)++
-#define _midl_ma4( p, cast ) *(*( cast **)&p)++
-#define _midl_ma8( p, cast ) *(*( cast **)&p)++
-#define _midl_unma1( p, cast ) *(( cast *)p)++
-#define _midl_unma2( p, cast ) *(( cast *)p)++
-#define _midl_unma3( p, cast ) *(( cast *)p)++
-#define _midl_unma4( p, cast ) *(( cast *)p)++
-#define _midl_fa2( p ) (p = (RPC_BUFPTR )((unsigned long)(p+1) & 0xfffffffe))
-#define _midl_fa4( p ) (p = (RPC_BUFPTR )((unsigned long)(p+3) & 0xfffffffc))
-#define _midl_fa8( p ) (p = (RPC_BUFPTR )((unsigned long)(p+7) & 0xfffffff8))
-#define _midl_addp( p, n ) (p += n)
-#define _midl_marsh_lhs( p, cast ) *(*( cast **)&p)++
-#define _midl_marsh_up( mp, p ) *(*(unsigned long **)&mp)++ = (unsigned long)p
-#define _midl_advmp( mp ) *(*(unsigned long **)&mp)++
-#define _midl_unmarsh_up( p ) (*(*(unsigned long **)&p)++)
-#define NdrMarshConfStringHdr( p, s, l ) (_midl_ma4( p, unsigned long) = s, _midl_ma4( p, unsigned long) = 0, _midl_ma4( p, unsigned long) = l)
-#define NdrUnMarshConfStringHdr(p, s, l) ((s=_midl_unma4(p,unsigned long), (_midl_addp(p,4)), (l=_midl_unma4(p,unsigned long))
-#define NdrMarshCCtxtHdl(pc,p) (NDRCContextMarshall( (NDR_CCONTEXT)pc, p ),p+20)
-#define NdrUnMarshCCtxtHdl(pc,p,h,drep) (NDRCContextUnmarshall((NDR_CONTEXT)pc,h,p,drep), p+20)
-#define NdrUnMarshSCtxtHdl(pc, p,drep) (pc = NdrSContextUnMarshall(p,drep ))
-#define NdrMarshSCtxtHdl(pc,p,rd) (NdrSContextMarshall((NDR_SCONTEXT)pc,p, (NDR_RUNDOWN)rd)
-#define NdrFieldOffset(s,f) (long)(& (((s *)0)->f))
-#define NdrFieldPad(s,f,p,t) (NdrFieldOffset(s,f) - NdrFieldOffset(s,p) - sizeof(t))
-#define NdrFcShort(s) (unsigned char)(s & 0xff), (unsigned char)(s >> 8)
-#define NdrFcLong(s) (unsigned char)(s & 0xff), (unsigned char)((s & 0x0000ff00) >> 8), (unsigned char)((s & 0x00ff0000) >> 16), (unsigned char)(s >> 24)
-#ifdef CONST_VTABLE
-#define CONST_VTBL const
-#else
-#define CONST_VTBL
-#endif
-typedef void *NDR_CCONTEXT;
-typedef struct {
- void *pad[2];
- void *userContext;
-} *NDR_SCONTEXT;
-typedef void (__RPC_USER *NDR_RUNDOWN)(void*);
-typedef struct _SCONTEXT_QUEUE {
- unsigned long NumberOfObjects;
- NDR_SCONTEXT *ArrayOfObjects;
-} SCONTEXT_QUEUE,*PSCONTEXT_QUEUE;
-struct _MIDL_STUB_MESSAGE;
-struct _MIDL_STUB_DESC;
-struct _FULL_PTR_XLAT_TABLES;
-typedef unsigned char *RPC_BUFPTR;
-typedef unsigned long RPC_LENGTH;
-typedef void(__RPC_USER *EXPR_EVAL)(struct _MIDL_STUB_MESSAGE*);
-typedef const unsigned char *PFORMAT_STRING;
-typedef struct {
- long Dimension;
- unsigned long *BufferConformanceMark;
- unsigned long *BufferVarianceMark;
- unsigned long *MaxCountArray;
- unsigned long *OffsetArray;
- unsigned long *ActualCountArray;
-} ARRAY_INFO,*PARRAY_INFO;
-
-RPC_BINDING_HANDLE RPC_ENTRY NDRCContextBinding(NDR_CCONTEXT);
-void RPC_ENTRY NDRCContextMarshall(NDR_CCONTEXT,void*);
-void RPC_ENTRY NDRCContextUnmarshall(NDR_CCONTEXT*,RPC_BINDING_HANDLE,void*,unsigned long);
-void RPC_ENTRY NDRSContextMarshall(NDR_SCONTEXT,void*,NDR_RUNDOWN);
-NDR_SCONTEXT RPC_ENTRY NDRSContextUnmarshall(void*pBuff,unsigned long);
-void RPC_ENTRY RpcSsDestroyClientContext(void**);
-void RPC_ENTRY NDRcopy(void*,void*,unsigned int);
-unsigned int RPC_ENTRY MIDL_wchar_strlen(wchar_t*);
-void RPC_ENTRY MIDL_wchar_strcpy(void*,wchar_t*);
-void RPC_ENTRY char_from_ndr(PRPC_MESSAGE,unsigned char*);
-void RPC_ENTRY char_array_from_ndr(PRPC_MESSAGE,unsigned long,unsigned long,unsigned char*);
-void RPC_ENTRY short_from_ndr(PRPC_MESSAGE,unsigned short*);
-void RPC_ENTRY short_array_from_ndr(PRPC_MESSAGE,unsigned long,unsigned long,unsigned short*);
-void RPC_ENTRY short_from_ndr_temp(unsigned char**,unsigned short*,unsigned long);
-void RPC_ENTRY long_from_ndr(PRPC_MESSAGE,unsigned long*);
-void RPC_ENTRY long_array_from_ndr(PRPC_MESSAGE,unsigned long,unsigned long,unsigned long*);
-void RPC_ENTRY long_from_ndr_temp(unsigned char**,unsigned long*,unsigned long);
-void RPC_ENTRY enum_from_ndr(PRPC_MESSAGE,unsigned int*);
-void RPC_ENTRY float_from_ndr(PRPC_MESSAGE,void*);
-void RPC_ENTRY float_array_from_ndr(PRPC_MESSAGE,unsigned long,unsigned long,void*);
-void RPC_ENTRY double_from_ndr(PRPC_MESSAGE,void*);
-void RPC_ENTRY double_array_from_ndr(PRPC_MESSAGE,unsigned long,unsigned long,void*);
-void RPC_ENTRY hyper_from_ndr(PRPC_MESSAGE,hyper*);
-void RPC_ENTRY hyper_array_from_ndr(PRPC_MESSAGE,unsigned long,unsigned long,hyper*);
-void RPC_ENTRY hyper_from_ndr_temp(unsigned char**,hyper*,unsigned long);
-void RPC_ENTRY data_from_ndr(PRPC_MESSAGE,void*,char*,unsigned char);
-void RPC_ENTRY data_into_ndr(void*,PRPC_MESSAGE,char*,unsigned char);
-void RPC_ENTRY tree_into_ndr(void*,PRPC_MESSAGE,char*,unsigned char);
-void RPC_ENTRY data_size_ndr(void*,PRPC_MESSAGE,char*,unsigned char);
-void RPC_ENTRY tree_size_ndr(void*,PRPC_MESSAGE,char*,unsigned char);
-void RPC_ENTRY tree_peek_ndr(PRPC_MESSAGE,unsigned char**,char*,unsigned char);
-void *RPC_ENTRY midl_allocate(int);
-
-#pragma pack(push,4)
-typedef struct _MIDL_STUB_MESSAGE {
- PRPC_MESSAGE RpcMsg;
- unsigned char *Buffer;
- unsigned char *BufferStart;
- unsigned char *BufferEnd;
- unsigned char *BufferMark;
- unsigned long BufferLength;
- unsigned long MemorySize;
- unsigned char *Memory;
- int IsClient;
- int ReuseBuffer;
- unsigned char *AllocAllNodesMemory;
- unsigned char *AllocAllNodesMemoryEnd;
- int IgnoreEmbeddedPointers;
- unsigned char *PointerBufferMark;
- unsigned char fBufferValid;
- unsigned char Unused;
- unsigned long MaxCount;
- unsigned long Offset;
- unsigned long ActualCount;
- void*(__RPC_API *pfnAllocate)(unsigned int);
- void(__RPC_API *pfnFree)(void*);
- unsigned char *StackTop;
- unsigned char *pPresentedType;
- unsigned char *pTransmitType;
- handle_t SavedHandle;
- const struct _MIDL_STUB_DESC *StubDesc;
- struct _FULL_PTR_XLAT_TABLES *FullPtrXlatTables;
- unsigned long FullPtrRefId;
- int fCheckBounds;
- int fInDontFree :1;
- int fDontCallFreeInst :1;
- int fInOnlyParam :1;
- int fHasReturn :1;
- unsigned long dwDestContext;
- void*pvDestContext;
- NDR_SCONTEXT *SavedContextHandles;
- long ParamNumber;
- struct IRpcChannelBuffer *pRpcChannelBuffer;
- PARRAY_INFO pArrayInfo;
- unsigned long *SizePtrCountArray;
- unsigned long *SizePtrOffsetArray;
- unsigned long *SizePtrLengthArray;
- void*pArgQueue;
- unsigned long dwStubPhase;
- unsigned long w2kReserved[5];
-} MIDL_STUB_MESSAGE,*PMIDL_STUB_MESSAGE;
-#pragma pack(pop)
-typedef void*(__RPC_API *GENERIC_BINDING_ROUTINE)(void*);
-typedef void (__RPC_API *GENERIC_UNBIND_ROUTINE)(void*,unsigned char*);
-typedef struct _GENERIC_BINDING_ROUTINE_PAIR {
- GENERIC_BINDING_ROUTINE pfnBind;
- GENERIC_UNBIND_ROUTINE pfnUnbind;
-} GENERIC_BINDING_ROUTINE_PAIR,*PGENERIC_BINDING_ROUTINE_PAIR;
-typedef struct __GENERIC_BINDING_INFO {
- void *pObj;
- unsigned int Size;
- GENERIC_BINDING_ROUTINE pfnBind;
- GENERIC_UNBIND_ROUTINE pfnUnbind;
-} GENERIC_BINDING_INFO,*PGENERIC_BINDING_INFO;
-typedef void(__RPC_USER *XMIT_HELPER_ROUTINE)(PMIDL_STUB_MESSAGE);
-typedef struct _XMIT_ROUTINE_QUINTUPLE {
- XMIT_HELPER_ROUTINE pfnTranslateToXmit;
- XMIT_HELPER_ROUTINE pfnTranslateFromXmit;
- XMIT_HELPER_ROUTINE pfnFreeXmit;
- XMIT_HELPER_ROUTINE pfnFreeInst;
-} XMIT_ROUTINE_QUINTUPLE,*PXMIT_ROUTINE_QUINTUPLE;
-typedef struct _MALLOC_FREE_STRUCT {
-void*(__RPC_USER *pfnAllocate)(unsigned int);
-void(__RPC_USER *pfnFree)(void*);
-} MALLOC_FREE_STRUCT;
-typedef struct _COMM_FAULT_OFFSETS {
- short CommOffset;
- short FaultOffset;
-} COMM_FAULT_OFFSETS;
-typedef unsigned long (__RPC_USER *USER_MARSHAL_SIZING_ROUTINE)(unsigned long *,unsigned long,void *);
-typedef unsigned char *(__RPC_USER *USER_MARSHAL_MARSHALLING_ROUTINE)(unsigned long *,unsigned char *,void *);
-typedef unsigned char *(__RPC_USER *USER_MARSHAL_UNMARSHALLING_ROUTINE)(unsigned long *,unsigned char *,void *);
-typedef void (__RPC_USER *USER_MARSHAL_FREEING_ROUTINE)(unsigned long *,void *);
-typedef struct _USER_MARSHAL_ROUTINE_QUADRUPLE {
- USER_MARSHAL_SIZING_ROUTINE pfnBufferSize;
- USER_MARSHAL_MARSHALLING_ROUTINE pfnMarshall;
- USER_MARSHAL_UNMARSHALLING_ROUTINE pfnUnmarshall;
- USER_MARSHAL_FREEING_ROUTINE pfnFree;
-} USER_MARSHAL_ROUTINE_QUADRUPLE;
-typedef void (__RPC_USER *NDR_NOTIFY_ROUTINE)(void);
-typedef enum _IDL_CS_CONVERT {
- IDL_CS_NO_CONVERT,
- IDL_CS_IN_PLACE_CONVERT,
- IDL_CS_NEW_BUFFER_CONVERT
-} IDL_CS_CONVERT;
-typedef void (__RPC_USER *CS_TYPE_NET_SIZE_ROUTINE)(RPC_BINDING_HANDLE,unsigned long,unsigned long,IDL_CS_CONVERT*,unsigned long*,error_status_t*);
-typedef void (__RPC_USER *CS_TYPE_LOCAL_SIZE_ROUTINE)(RPC_BINDING_HANDLE,unsigned long,unsigned long,IDL_CS_CONVERT*,unsigned long*,error_status_t*);
-typedef void (__RPC_USER *CS_TYPE_TO_NETCS_ROUTINE)(RPC_BINDING_HANDLE,unsigned long,void*,unsigned long,byte*,unsigned long*,error_status_t*);
-typedef void (__RPC_USER *CS_TYPE_FROM_NETCS_ROUTINE)(RPC_BINDING_HANDLE,unsigned long,byte*,unsigned long,unsigned long,void*,unsigned long*,error_status_t*);
-typedef void (__RPC_USER *CS_TAG_GETTING_ROUTINE)(RPC_BINDING_HANDLE,int,unsigned long*,unsigned long*,unsigned long*,error_status_t*);
-typedef struct _NDR_CS_SIZE_CONVERT_ROUTINES {
- CS_TYPE_NET_SIZE_ROUTINE pfnNetSize;
- CS_TYPE_TO_NETCS_ROUTINE pfnToNetCs;
- CS_TYPE_LOCAL_SIZE_ROUTINE pfnLocalSize;
- CS_TYPE_FROM_NETCS_ROUTINE pfnFromNetCs;
-} NDR_CS_SIZE_CONVERT_ROUTINES;
-typedef struct _NDR_CS_ROUTINES {
- NDR_CS_SIZE_CONVERT_ROUTINES *pSizeConvertRoutines;
- CS_TAG_GETTING_ROUTINE *pTagGettingRoutines;
-} NDR_CS_ROUTINES;
-typedef struct _MIDL_STUB_DESC {
- void*RpcInterfaceInformation;
- void*(__RPC_API *pfnAllocate)(unsigned int);
- void(__RPC_API *pfnFree)(void*);
- union {
- handle_t *pAutoHandle;
- handle_t *pPrimitiveHandle;
- PGENERIC_BINDING_INFO pGenericBindingInfo;
- } IMPLICIT_HANDLE_INFO;
- const NDR_RUNDOWN *apfnNdrRundownRoutines;
- const GENERIC_BINDING_ROUTINE_PAIR *aGenericBindingRoutinePairs;
- const EXPR_EVAL *apfnExprEval;
- const XMIT_ROUTINE_QUINTUPLE *aXmitQuintuple;
- const unsigned char *pFormatTypes;
- int fCheckBounds;
- unsigned long Version;
- MALLOC_FREE_STRUCT *pMallocFreeStruct;
- long MIDLVersion;
- const COMM_FAULT_OFFSETS *CommFaultOffsets;
- const USER_MARSHAL_ROUTINE_QUADRUPLE *aUserMarshalQuadruple;
- const NDR_NOTIFY_ROUTINE *NotifyRoutineTable;
- ULONG_PTR mFlags;
- const NDR_CS_ROUTINES *CsRoutineTables;
- void *Reserved4;
- ULONG_PTR Reserved5;
-} MIDL_STUB_DESC;
-typedef const MIDL_STUB_DESC *PMIDL_STUB_DESC;
-typedef void*PMIDL_XMIT_TYPE;
-typedef struct _MIDL_FORMAT_STRING {
- short Pad;
- unsigned char Format[1];
-} MIDL_FORMAT_STRING;
-typedef void(__RPC_API *STUB_THUNK)(PMIDL_STUB_MESSAGE);
-typedef long(__RPC_API *SERVER_ROUTINE)(void);
-typedef struct _MIDL_SERVER_INFO_ {
- PMIDL_STUB_DESC pStubDesc;
- const SERVER_ROUTINE *DispatchTable;
- PFORMAT_STRING ProcString;
- const unsigned short *FmtStringOffset;
- const STUB_THUNK *ThunkTable;
-} MIDL_SERVER_INFO,*PMIDL_SERVER_INFO;
-typedef struct _MIDL_STUBLESS_PROXY_INFO {
- PMIDL_STUB_DESC pStubDesc;
- PFORMAT_STRING ProcFormatString;
- const unsigned short *FormatStringOffset;
-} MIDL_STUBLESS_PROXY_INFO;
-typedef MIDL_STUBLESS_PROXY_INFO *PMIDL_STUBLESS_PROXY_INFO;
-typedef union _CLIENT_CALL_RETURN {
- void *Pointer;
- long Simple;
-} CLIENT_CALL_RETURN;
-typedef enum { XLAT_SERVER = 1,XLAT_CLIENT } XLAT_SIDE;
-typedef struct _FULL_PTR_TO_REFID_ELEMENT {
- struct _FULL_PTR_TO_REFID_ELEMENT *Next;
- void*Pointer;
- unsigned long RefId;
- unsigned char State;
-} FULL_PTR_TO_REFID_ELEMENT,*PFULL_PTR_TO_REFID_ELEMENT;
-typedef struct _FULL_PTR_XLAT_TABLES {
- struct {
- void **XlatTable;
- unsigned char *StateTable;
- unsigned long NumberOfEntries;
- } RefIdToPointer;
- struct {
- PFULL_PTR_TO_REFID_ELEMENT *XlatTable;
- unsigned long NumberOfBuckets;
- unsigned long HashMask;
- } PointerToRefId;
- unsigned long NextRefId;
- XLAT_SIDE XlatSide;
-} FULL_PTR_XLAT_TABLES,*PFULL_PTR_XLAT_TABLES;
-void RPC_ENTRY NdrSimpleTypeMarshall(PMIDL_STUB_MESSAGE,unsigned char*,unsigned char);
-unsigned char *RPC_ENTRY NdrPointerMarshall(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING pFormat);
-unsigned char *RPC_ENTRY NdrSimpleStructMarshall(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
-unsigned char *RPC_ENTRY NdrConformantStructMarshall(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
-unsigned char *RPC_ENTRY NdrConformantVaryingStructMarshall(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
-unsigned char *RPC_ENTRY NdrHardStructMarshall(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
-unsigned char *RPC_ENTRY NdrComplexStructMarshall(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
-unsigned char *RPC_ENTRY NdrFixedArrayMarshall(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
-unsigned char *RPC_ENTRY NdrConformantArrayMarshall(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
-unsigned char *RPC_ENTRY NdrConformantVaryingArrayMarshall(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
-unsigned char *RPC_ENTRY NdrVaryingArrayMarshall(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
-unsigned char *RPC_ENTRY NdrComplexArrayMarshall(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
-unsigned char *RPC_ENTRY NdrNonConformantStringMarshall(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
-unsigned char *RPC_ENTRY NdrConformantStringMarshall(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
-unsigned char *RPC_ENTRY NdrEncapsulatedUnionMarshall(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
-unsigned char *RPC_ENTRY NdrNonEncapsulatedUnionMarshall(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
-unsigned char *RPC_ENTRY NdrByteCountPointerMarshall(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
-unsigned char *RPC_ENTRY NdrXmitOrRepAsMarshall(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
-unsigned char *RPC_ENTRY NdrInterfacePointerMarshall(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
-void RPC_ENTRY NdrClientContextMarshall(PMIDL_STUB_MESSAGE,NDR_CCONTEXT,int);
-void RPC_ENTRY NdrServerContextMarshall(PMIDL_STUB_MESSAGE,NDR_SCONTEXT,NDR_RUNDOWN);
-void RPC_ENTRY NdrSimpleTypeUnmarshall(PMIDL_STUB_MESSAGE,unsigned char*,unsigned char);
-unsigned char *RPC_ENTRY NdrPointerUnmarshall(PMIDL_STUB_MESSAGE,unsigned char**,PFORMAT_STRING,unsigned char);
-unsigned char *RPC_ENTRY NdrSimpleStructUnmarshall(PMIDL_STUB_MESSAGE,unsigned char**,PFORMAT_STRING,unsigned char);
-unsigned char *RPC_ENTRY NdrConformantStructUnmarshall(PMIDL_STUB_MESSAGE,unsigned char**,PFORMAT_STRING,unsigned char);
-unsigned char *RPC_ENTRY NdrConformantVaryingStructUnmarshall(PMIDL_STUB_MESSAGE,unsigned char**,PFORMAT_STRING,unsigned char);
-unsigned char *RPC_ENTRY NdrHardStructUnmarshall(PMIDL_STUB_MESSAGE,unsigned char**,PFORMAT_STRING,unsigned char);
-unsigned char *RPC_ENTRY NdrComplexStructUnmarshall(PMIDL_STUB_MESSAGE,unsigned char**,PFORMAT_STRING,unsigned char);
-unsigned char *RPC_ENTRY NdrFixedArrayUnmarshall(PMIDL_STUB_MESSAGE,unsigned char**,PFORMAT_STRING,unsigned char);
-unsigned char *RPC_ENTRY NdrConformantArrayUnmarshall(PMIDL_STUB_MESSAGE,unsigned char**,PFORMAT_STRING,unsigned char);
-unsigned char *RPC_ENTRY NdrConformantVaryingArrayUnmarshall(PMIDL_STUB_MESSAGE,unsigned char**,PFORMAT_STRING,unsigned char);
-unsigned char *RPC_ENTRY NdrVaryingArrayUnmarshall(PMIDL_STUB_MESSAGE,unsigned char**,PFORMAT_STRING,unsigned char);
-unsigned char *RPC_ENTRY NdrComplexArrayUnmarshall(PMIDL_STUB_MESSAGE,unsigned char**,PFORMAT_STRING,unsigned char);
-unsigned char *RPC_ENTRY NdrNonConformantStringUnmarshall(PMIDL_STUB_MESSAGE,unsigned char**,PFORMAT_STRING,unsigned char);
-unsigned char *RPC_ENTRY NdrConformantStringUnmarshall(PMIDL_STUB_MESSAGE,unsigned char**,PFORMAT_STRING,unsigned char);
-unsigned char *RPC_ENTRY NdrEncapsulatedUnionUnmarshall(PMIDL_STUB_MESSAGE,unsigned char**,PFORMAT_STRING,unsigned char);
-unsigned char *RPC_ENTRY NdrNonEncapsulatedUnionUnmarshall(PMIDL_STUB_MESSAGE,unsigned char**,PFORMAT_STRING,unsigned char);
-unsigned char *RPC_ENTRY NdrByteCountPointerUnmarshall(PMIDL_STUB_MESSAGE,unsigned char**,PFORMAT_STRING,unsigned char);
-unsigned char *RPC_ENTRY NdrXmitOrRepAsUnmarshall(PMIDL_STUB_MESSAGE,unsigned char**,PFORMAT_STRING,unsigned char);
-unsigned char *RPC_ENTRY NdrInterfacePointerUnmarshall(PMIDL_STUB_MESSAGE,unsigned char**,PFORMAT_STRING,unsigned char);
-void RPC_ENTRY NdrClientContextUnmarshall(PMIDL_STUB_MESSAGE,NDR_CCONTEXT*,RPC_BINDING_HANDLE);
-NDR_SCONTEXT RPC_ENTRY NdrServerContextUnmarshall(PMIDL_STUB_MESSAGE);
-void RPC_ENTRY NdrPointerBufferSize(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
-void RPC_ENTRY NdrSimpleStructBufferSize(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
-void RPC_ENTRY NdrConformantStructBufferSize(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
-void RPC_ENTRY NdrConformantVaryingStructBufferSize(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
-void RPC_ENTRY NdrHardStructBufferSize(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
-void RPC_ENTRY NdrComplexStructBufferSize(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
-void RPC_ENTRY NdrFixedArrayBufferSize(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
-void RPC_ENTRY NdrConformantArrayBufferSize(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
-void RPC_ENTRY NdrConformantVaryingArrayBufferSize(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
-void RPC_ENTRY NdrVaryingArrayBufferSize(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
-void RPC_ENTRY NdrComplexArrayBufferSize(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
-void RPC_ENTRY NdrConformantStringBufferSize(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
-void RPC_ENTRY NdrNonConformantStringBufferSize(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
-void RPC_ENTRY NdrEncapsulatedUnionBufferSize(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
-void RPC_ENTRY NdrNonEncapsulatedUnionBufferSize(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
-void RPC_ENTRY NdrByteCountPointerBufferSize(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
-void RPC_ENTRY NdrXmitOrRepAsBufferSize(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
-void RPC_ENTRY NdrInterfacePointerBufferSize(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
-void RPC_ENTRY NdrContextHandleSize(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
-unsigned long RPC_ENTRY NdrPointerMemorySize(PMIDL_STUB_MESSAGE,PFORMAT_STRING);
-unsigned long RPC_ENTRY NdrSimpleStructMemorySize(PMIDL_STUB_MESSAGE,PFORMAT_STRING);
-unsigned long RPC_ENTRY NdrConformantStructMemorySize(PMIDL_STUB_MESSAGE,PFORMAT_STRING);
-unsigned long RPC_ENTRY NdrConformantVaryingStructMemorySize(PMIDL_STUB_MESSAGE,PFORMAT_STRING);
-unsigned long RPC_ENTRY NdrHardStructMemorySize(PMIDL_STUB_MESSAGE,PFORMAT_STRING);
-unsigned long RPC_ENTRY NdrComplexStructMemorySize(PMIDL_STUB_MESSAGE,PFORMAT_STRING);
-unsigned long RPC_ENTRY NdrFixedArrayMemorySize(PMIDL_STUB_MESSAGE,PFORMAT_STRING);
-unsigned long RPC_ENTRY NdrConformantArrayMemorySize(PMIDL_STUB_MESSAGE,PFORMAT_STRING);
-unsigned long RPC_ENTRY NdrConformantVaryingArrayMemorySize(PMIDL_STUB_MESSAGE,PFORMAT_STRING);
-unsigned long RPC_ENTRY NdrVaryingArrayMemorySize(PMIDL_STUB_MESSAGE,PFORMAT_STRING);
-unsigned long RPC_ENTRY NdrComplexArrayMemorySize(PMIDL_STUB_MESSAGE,PFORMAT_STRING);
-unsigned long RPC_ENTRY NdrConformantStringMemorySize(PMIDL_STUB_MESSAGE,PFORMAT_STRING);
-unsigned long RPC_ENTRY NdrNonConformantStringMemorySize(PMIDL_STUB_MESSAGE,PFORMAT_STRING);
-unsigned long RPC_ENTRY NdrEncapsulatedUnionMemorySize(PMIDL_STUB_MESSAGE,PFORMAT_STRING);
-unsigned long RPC_ENTRY NdrNonEncapsulatedUnionMemorySize(PMIDL_STUB_MESSAGE,PFORMAT_STRING);
-unsigned long RPC_ENTRY NdrXmitOrRepAsMemorySize(PMIDL_STUB_MESSAGE,PFORMAT_STRING);
-unsigned long RPC_ENTRY NdrInterfacePointerMemorySize(PMIDL_STUB_MESSAGE,PFORMAT_STRING);
-void RPC_ENTRY NdrPointerFree(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
-void RPC_ENTRY NdrSimpleStructFree(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
-void RPC_ENTRY NdrConformantStructFree(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
-void RPC_ENTRY NdrConformantVaryingStructFree(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
-void RPC_ENTRY NdrHardStructFree(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
-void RPC_ENTRY NdrComplexStructFree(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
-void RPC_ENTRY NdrFixedArrayFree(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
-void RPC_ENTRY NdrConformantArrayFree(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
-void RPC_ENTRY NdrConformantVaryingArrayFree(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
-void RPC_ENTRY NdrVaryingArrayFree(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
-void RPC_ENTRY NdrComplexArrayFree(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
-void RPC_ENTRY NdrEncapsulatedUnionFree(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
-void RPC_ENTRY NdrNonEncapsulatedUnionFree(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
-void RPC_ENTRY NdrByteCountPointerFree(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
-void RPC_ENTRY NdrXmitOrRepAsFree(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
-void RPC_ENTRY NdrInterfacePointerFree(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
-void RPC_ENTRY NdrConvert(PMIDL_STUB_MESSAGE,PFORMAT_STRING);
-void RPC_ENTRY NdrClientInitializeNew(PRPC_MESSAGE,PMIDL_STUB_MESSAGE,PMIDL_STUB_DESC,unsigned int);
-unsigned char *RPC_ENTRY NdrServerInitializeNew(PRPC_MESSAGE,PMIDL_STUB_MESSAGE,PMIDL_STUB_DESC);
-void RPC_ENTRY NdrClientInitialize(PRPC_MESSAGE,PMIDL_STUB_MESSAGE,PMIDL_STUB_DESC,unsigned int);
-unsigned char *RPC_ENTRY NdrServerInitialize(PRPC_MESSAGE,PMIDL_STUB_MESSAGE,PMIDL_STUB_DESC);
-unsigned char *RPC_ENTRY NdrServerInitializeUnmarshall(PMIDL_STUB_MESSAGE,PMIDL_STUB_DESC,PRPC_MESSAGE);
-void RPC_ENTRY NdrServerInitializeMarshall(PRPC_MESSAGE,PMIDL_STUB_MESSAGE);
-unsigned char *RPC_ENTRY NdrGetBuffer(PMIDL_STUB_MESSAGE,unsigned long,RPC_BINDING_HANDLE);
-unsigned char *RPC_ENTRY NdrNsGetBuffer(PMIDL_STUB_MESSAGE,unsigned long,RPC_BINDING_HANDLE);
-unsigned char *RPC_ENTRY NdrSendReceive(PMIDL_STUB_MESSAGE,unsigned char*);
-unsigned char *RPC_ENTRY NdrNsSendReceive(PMIDL_STUB_MESSAGE,unsigned char*,RPC_BINDING_HANDLE*);
-void RPC_ENTRY NdrFreeBuffer(PMIDL_STUB_MESSAGE);
-CLIENT_CALL_RETURN RPC_VAR_ENTRY NdrClientCall(PMIDL_STUB_DESC,PFORMAT_STRING,...);
-typedef enum {
- STUB_UNMARSHAL,
- STUB_CALL_SERVER,
- STUB_MARSHAL,
- STUB_CALL_SERVER_NO_HRESULT
-} STUB_PHASE;
-typedef enum {
- PROXY_CALCSIZE,
- PROXY_GETBUFFER,
- PROXY_MARSHAL,
- PROXY_SENDRECEIVE,
- PROXY_UNMARSHAL
-} PROXY_PHASE;
-long RPC_ENTRY NdrStubCall(struct IRpcStubBuffer*,struct IRpcChannelBuffer*,PRPC_MESSAGE,unsigned long*);
-void RPC_ENTRY NdrServerCall(PRPC_MESSAGE);
-int RPC_ENTRY NdrServerUnmarshall(struct IRpcChannelBuffer*,PRPC_MESSAGE,PMIDL_STUB_MESSAGE,PMIDL_STUB_DESC,PFORMAT_STRING,void*);
-void RPC_ENTRY NdrServerMarshall(struct IRpcStubBuffer*,struct IRpcChannelBuffer*,PMIDL_STUB_MESSAGE,PFORMAT_STRING);
-RPC_STATUS RPC_ENTRY NdrMapCommAndFaultStatus(PMIDL_STUB_MESSAGE,unsigned long*,unsigned long*,RPC_STATUS);
-int RPC_ENTRY NdrSH_UPDecision(PMIDL_STUB_MESSAGE,unsigned char**,RPC_BUFPTR);
-int RPC_ENTRY NdrSH_TLUPDecision(PMIDL_STUB_MESSAGE,unsigned char**);
-int RPC_ENTRY NdrSH_TLUPDecisionBuffer(PMIDL_STUB_MESSAGE,unsigned char**);
-int RPC_ENTRY NdrSH_IfAlloc(PMIDL_STUB_MESSAGE,unsigned char**,unsigned long);
-int RPC_ENTRY NdrSH_IfAllocRef(PMIDL_STUB_MESSAGE,unsigned char**,unsigned long);
-int RPC_ENTRY NdrSH_IfAllocSet(PMIDL_STUB_MESSAGE,unsigned char**,unsigned long);
-RPC_BUFPTR RPC_ENTRY NdrSH_IfCopy(PMIDL_STUB_MESSAGE,unsigned char**,unsigned long);
-RPC_BUFPTR RPC_ENTRY NdrSH_IfAllocCopy(PMIDL_STUB_MESSAGE,unsigned char**,unsigned long);
-unsigned long RPC_ENTRY NdrSH_Copy(unsigned char*,unsigned char*,unsigned long);
-void RPC_ENTRY NdrSH_IfFree(PMIDL_STUB_MESSAGE,unsigned char*);
-RPC_BUFPTR RPC_ENTRY NdrSH_StringMarshall(PMIDL_STUB_MESSAGE,unsigned char*,unsigned long,int);
-RPC_BUFPTR RPC_ENTRY NdrSH_StringUnMarshall(PMIDL_STUB_MESSAGE,unsigned char**,int);
-typedef void *RPC_SS_THREAD_HANDLE;
-typedef void* __RPC_API RPC_CLIENT_ALLOC(unsigned int);
-typedef void __RPC_API RPC_CLIENT_FREE(void*);
-void*RPC_ENTRY RpcSsAllocate(unsigned int);
-void RPC_ENTRY RpcSsDisableAllocate(void);
-void RPC_ENTRY RpcSsEnableAllocate(void);
-void RPC_ENTRY RpcSsFree(void*);
-RPC_SS_THREAD_HANDLE RPC_ENTRY RpcSsGetThreadHandle(void);
-void RPC_ENTRY RpcSsSetClientAllocFree(RPC_CLIENT_ALLOC*,RPC_CLIENT_FREE*);
-void RPC_ENTRY RpcSsSetThreadHandle(RPC_SS_THREAD_HANDLE);
-void RPC_ENTRY RpcSsSwapClientAllocFree(RPC_CLIENT_ALLOC*,RPC_CLIENT_FREE*,RPC_CLIENT_ALLOC**,RPC_CLIENT_FREE**);
-void*RPC_ENTRY RpcSmAllocate(unsigned int,RPC_STATUS*);
-RPC_STATUS RPC_ENTRY RpcSmClientFree(void*);
-RPC_STATUS RPC_ENTRY RpcSmDestroyClientContext(void**);
-RPC_STATUS RPC_ENTRY RpcSmDisableAllocate(void);
-RPC_STATUS RPC_ENTRY RpcSmEnableAllocate(void);
-RPC_STATUS RPC_ENTRY RpcSmFree(void*);
-RPC_SS_THREAD_HANDLE RPC_ENTRY RpcSmGetThreadHandle(RPC_STATUS*);
-RPC_STATUS RPC_ENTRY RpcSmSetClientAllocFree(RPC_CLIENT_ALLOC*,RPC_CLIENT_FREE*);
-RPC_STATUS RPC_ENTRY RpcSmSetThreadHandle(RPC_SS_THREAD_HANDLE);
-RPC_STATUS RPC_ENTRY RpcSmSwapClientAllocFree(RPC_CLIENT_ALLOC*,RPC_CLIENT_FREE*,RPC_CLIENT_ALLOC**,RPC_CLIENT_FREE**);
-void RPC_ENTRY NdrRpcSsEnableAllocate(PMIDL_STUB_MESSAGE);
-void RPC_ENTRY NdrRpcSsDisableAllocate(PMIDL_STUB_MESSAGE);
-void RPC_ENTRY NdrRpcSmSetClientToOsf(PMIDL_STUB_MESSAGE);
-void*RPC_ENTRY NdrRpcSmClientAllocate(unsigned int);
-void RPC_ENTRY NdrRpcSmClientFree(void*);
-void*RPC_ENTRY NdrRpcSsDefaultAllocate(unsigned int);
-void RPC_ENTRY NdrRpcSsDefaultFree(void*);
-PFULL_PTR_XLAT_TABLES RPC_ENTRY NdrFullPointerXlatInit(unsigned long,XLAT_SIDE);
-void RPC_ENTRY NdrFullPointerXlatFree(PFULL_PTR_XLAT_TABLES);
-int RPC_ENTRY NdrFullPointerQueryPointer(PFULL_PTR_XLAT_TABLES,void*,unsigned char,unsigned long*);
-int RPC_ENTRY NdrFullPointerQueryRefId(PFULL_PTR_XLAT_TABLES,unsigned long,unsigned char,void**);
-void RPC_ENTRY NdrFullPointerInsertRefId(PFULL_PTR_XLAT_TABLES,unsigned long,void*);
-int RPC_ENTRY NdrFullPointerFree(PFULL_PTR_XLAT_TABLES,void*);
-void*RPC_ENTRY NdrAllocate(PMIDL_STUB_MESSAGE,unsigned int);
-void RPC_ENTRY NdrClearOutParameters(PMIDL_STUB_MESSAGE,PFORMAT_STRING,void*);
-void*RPC_ENTRY NdrOleAllocate(unsigned int);
-void RPC_ENTRY NdrOleFree(void*);
-unsigned char*RPC_ENTRY NdrUserMarshalMarshall(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
-unsigned char*RPC_ENTRY NdrUserMarshalUnmarshall(PMIDL_STUB_MESSAGE,unsigned char**,PFORMAT_STRING,unsigned char);
-void RPC_ENTRY NdrUserMarshalBufferSize(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
-unsigned long RPC_ENTRY NdrUserMarshalMemorySize(PMIDL_STUB_MESSAGE,PFORMAT_STRING);
-void RPC_ENTRY NdrUserMarshalFree(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/winsup/w32api/include/rpcnsi.h b/winsup/w32api/include/rpcnsi.h
deleted file mode 100644
index 079d7b2a2..000000000
--- a/winsup/w32api/include/rpcnsi.h
+++ /dev/null
@@ -1,122 +0,0 @@
-#ifndef _RPCNSI_H
-#define _RPCNSI_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-typedef void *RPC_NS_HANDLE;
-#define RPC_C_NS_SYNTAX_DEFAULT 0
-#define RPC_C_NS_SYNTAX_DCE 3
-#define RPC_C_PROFILE_DEFAULT_ELT 0
-#define RPC_C_PROFILE_ALL_ELT 1
-#define RPC_C_PROFILE_MATCH_BY_IF 2
-#define RPC_C_PROFILE_MATCH_BY_MBR 3
-#define RPC_C_PROFILE_MATCH_BY_BOTH 4
-#define RPC_C_NS_DEFAULT_EXP_AGE -1
-
-RPC_STATUS RPC_ENTRY RpcNsBindingExportA(unsigned long,unsigned char*,RPC_IF_HANDLE,RPC_BINDING_VECTOR*,UUID_VECTOR*);
-RPC_STATUS RPC_ENTRY RpcNsBindingUnexportA(unsigned long,unsigned char*,RPC_IF_HANDLE,UUID_VECTOR*);
-RPC_STATUS RPC_ENTRY RpcNsBindingLookupBeginA(unsigned long,unsigned char*,RPC_IF_HANDLE,UUID*,unsigned long,RPC_NS_HANDLE*);
-RPC_STATUS RPC_ENTRY RpcNsBindingLookupNext(RPC_NS_HANDLE,RPC_BINDING_VECTOR**);
-RPC_STATUS RPC_ENTRY RpcNsBindingLookupDone(RPC_NS_HANDLE*);
-RPC_STATUS RPC_ENTRY RpcNsGroupDeleteA(unsigned long,unsigned char*);
-RPC_STATUS RPC_ENTRY RpcNsGroupMbrAddA(unsigned long,unsigned char*,unsigned long,unsigned char*);
-RPC_STATUS RPC_ENTRY RpcNsGroupMbrRemoveA(unsigned long,unsigned char*,unsigned long,unsigned char*);
-RPC_STATUS RPC_ENTRY RpcNsGroupMbrInqBeginA(unsigned long,unsigned char*,unsigned long,RPC_NS_HANDLE*);
-RPC_STATUS RPC_ENTRY RpcNsGroupMbrInqNextA(RPC_NS_HANDLE,unsigned char**);
-RPC_STATUS RPC_ENTRY RpcNsGroupMbrInqDone(RPC_NS_HANDLE*);
-RPC_STATUS RPC_ENTRY RpcNsProfileDeleteA(unsigned long,unsigned char*);
-RPC_STATUS RPC_ENTRY RpcNsProfileEltAddA(unsigned long,unsigned char*,RPC_IF_ID*,unsigned long,unsigned char*,unsigned long,unsigned char*);
-RPC_STATUS RPC_ENTRY RpcNsProfileEltRemoveA(unsigned long,unsigned char*,RPC_IF_ID*,unsigned long,unsigned char*);
-RPC_STATUS RPC_ENTRY RpcNsProfileEltInqBeginA(unsigned long,unsigned char*,unsigned long,RPC_IF_ID*,unsigned long,unsigned long,unsigned char*,RPC_NS_HANDLE*);
-RPC_STATUS RPC_ENTRY RpcNsProfileEltInqNextA(RPC_NS_HANDLE,RPC_IF_ID*,unsigned char**,unsigned long*,unsigned char**);
-RPC_STATUS RPC_ENTRY RpcNsProfileEltInqDone(RPC_NS_HANDLE*);
-RPC_STATUS RPC_ENTRY RpcNsEntryObjectInqNext(IN RPC_NS_HANDLE,OUT UUID*);
-RPC_STATUS RPC_ENTRY RpcNsEntryObjectInqDone(IN OUT RPC_NS_HANDLE*);
-RPC_STATUS RPC_ENTRY RpcNsEntryExpandNameA(unsigned long,unsigned char*,unsigned char**);
-RPC_STATUS RPC_ENTRY RpcNsMgmtBindingUnexportA(unsigned long,unsigned char*,RPC_IF_ID*,unsigned long,UUID_VECTOR*);
-RPC_STATUS RPC_ENTRY RpcNsMgmtEntryCreateA(unsigned long,unsigned char*);
-RPC_STATUS RPC_ENTRY RpcNsMgmtEntryDeleteA(unsigned long,unsigned char*);
-RPC_STATUS RPC_ENTRY RpcNsMgmtEntryInqIfIdsA(unsigned long,unsigned char*,RPC_IF_ID_VECTOR**);
-RPC_STATUS RPC_ENTRY RpcNsMgmtHandleSetExpAge(RPC_NS_HANDLE,unsigned long);
-RPC_STATUS RPC_ENTRY RpcNsMgmtInqExpAge(unsigned long*);
-RPC_STATUS RPC_ENTRY RpcNsMgmtSetExpAge(unsigned long);
-RPC_STATUS RPC_ENTRY RpcNsBindingImportNext(RPC_NS_HANDLE,RPC_BINDING_HANDLE*);
-RPC_STATUS RPC_ENTRY RpcNsBindingImportDone(RPC_NS_HANDLE*);
-RPC_STATUS RPC_ENTRY RpcNsBindingSelect(RPC_BINDING_VECTOR*,RPC_BINDING_HANDLE*);
-#ifndef UNICODE_ONLY
-RPC_STATUS RPC_ENTRY RpcNsEntryObjectInqBeginA(unsigned long,unsigned char*,RPC_NS_HANDLE*);
-RPC_STATUS RPC_ENTRY RpcNsBindingImportBeginA(unsigned long,unsigned char*,RPC_IF_HANDLE,UUID*,RPC_NS_HANDLE*);
-#endif
-#ifdef RPC_UNICODE_SUPPORTED
-RPC_STATUS RPC_ENTRY RpcNsBindingExportW(unsigned long,unsigned short*,RPC_IF_HANDLE,RPC_BINDING_VECTOR*,UUID_VECTOR*);
-RPC_STATUS RPC_ENTRY RpcNsBindingUnexportW(unsigned long,unsigned short*,RPC_IF_HANDLE,UUID_VECTOR*);
-RPC_STATUS RPC_ENTRY RpcNsBindingLookupBeginW(unsigned long,unsigned short*,RPC_IF_HANDLE,UUID*,unsigned long,RPC_NS_HANDLE*);
-RPC_STATUS RPC_ENTRY RpcNsGroupDeleteW(unsigned long,unsigned short*);
-RPC_STATUS RPC_ENTRY RpcNsGroupMbrAddW(unsigned long,unsigned short*,unsigned long,unsigned short*);
-RPC_STATUS RPC_ENTRY RpcNsGroupMbrRemoveW(unsigned long,unsigned short*,unsigned long,unsigned short*);
-RPC_STATUS RPC_ENTRY RpcNsGroupMbrInqBeginW(unsigned long,unsigned short*,unsigned long,RPC_NS_HANDLE*);
-RPC_STATUS RPC_ENTRY RpcNsGroupMbrInqNextW(RPC_NS_HANDLE,unsigned short**);
-RPC_STATUS RPC_ENTRY RpcNsProfileDeleteW(unsigned long,unsigned short*);
-RPC_STATUS RPC_ENTRY RpcNsProfileEltAddW(unsigned long,unsigned short*, RPC_IF_ID*,unsigned long,unsigned short*,unsigned long,unsigned short*);
-RPC_STATUS RPC_ENTRY RpcNsProfileEltRemoveW(unsigned long,unsigned short*, RPC_IF_ID*,unsigned long,unsigned short*);
-RPC_STATUS RPC_ENTRY RpcNsProfileEltInqBeginW(unsigned long,unsigned short*, unsigned long,RPC_IF_ID*,unsigned long,unsigned long,unsigned short*, RPC_NS_HANDLE*);
-RPC_STATUS RPC_ENTRY RpcNsProfileEltInqNextW(RPC_NS_HANDLE,RPC_IF_ID*, unsigned short**,unsigned long*,unsigned short**);
-RPC_STATUS RPC_ENTRY RpcNsEntryObjectInqBeginW(unsigned long,unsigned short*,RPC_NS_HANDLE*);
-RPC_STATUS RPC_ENTRY RpcNsEntryExpandNameW(unsigned long,unsigned short*,unsigned short**);
-RPC_STATUS RPC_ENTRY RpcNsMgmtBindingUnexportW(unsigned long,unsigned short*,RPC_IF_ID*,unsigned long,UUID_VECTOR*);
-RPC_STATUS RPC_ENTRY RpcNsMgmtEntryCreateW(unsigned long,unsigned short*);
-RPC_STATUS RPC_ENTRY RpcNsMgmtEntryDeleteW(unsigned long,unsigned short*);
-RPC_STATUS RPC_ENTRY RpcNsMgmtEntryInqIfIdsW(unsigned long,unsigned short , RPC_IF_ID_VECTOR**);
-RPC_STATUS RPC_ENTRY RpcNsBindingImportBeginW(unsigned long,unsigned short*,RPC_IF_HANDLE,UUID*,RPC_NS_HANDLE*);
-#endif /* RPC_UNICODE_SUPPORTED */
-#ifdef UNICODE
-#define RpcNsBindingLookupBegin RpcNsBindingLookupBeginW
-#define RpcNsBindingImportBegin RpcNsBindingImportBeginW
-#define RpcNsBindingExport RpcNsBindingExportW
-#define RpcNsBindingUnexport RpcNsBindingUnexportW
-#define RpcNsGroupDelete RpcNsGroupDeleteW
-#define RpcNsGroupMbrAdd RpcNsGroupMbrAddW
-#define RpcNsGroupMbrRemove RpcNsGroupMbrRemoveW
-#define RpcNsGroupMbrInqBegin RpcNsGroupMbrInqBeginW
-#define RpcNsGroupMbrInqNext RpcNsGroupMbrInqNextW
-#define RpcNsEntryExpandName RpcNsEntryExpandNameW
-#define RpcNsEntryObjectInqBegin RpcNsEntryObjectInqBeginW
-#define RpcNsMgmtBindingUnexport RpcNsMgmtBindingUnexportW
-#define RpcNsMgmtEntryCreate RpcNsMgmtEntryCreateW
-#define RpcNsMgmtEntryDelete RpcNsMgmtEntryDeleteW
-#define RpcNsMgmtEntryInqIfIds RpcNsMgmtEntryInqIfIdsW
-#define RpcNsProfileDelete RpcNsProfileDeleteW
-#define RpcNsProfileEltAdd RpcNsProfileEltAddW
-#define RpcNsProfileEltRemove RpcNsProfileEltRemoveW
-#define RpcNsProfileEltInqBegin RpcNsProfileEltInqBeginW
-#define RpcNsProfileEltInqNext RpcNsProfileEltInqNextW
-#else
-#define RpcNsBindingLookupBegin RpcNsBindingLookupBeginA
-#define RpcNsBindingImportBegin RpcNsBindingImportBeginA
-#define RpcNsBindingExport RpcNsBindingExportA
-#define RpcNsBindingUnexport RpcNsBindingUnexportA
-#define RpcNsGroupDelete RpcNsGroupDeleteA
-#define RpcNsGroupMbrAdd RpcNsGroupMbrAddA
-#define RpcNsGroupMbrRemove RpcNsGroupMbrRemoveA
-#define RpcNsGroupMbrInqBegin RpcNsGroupMbrInqBeginA
-#define RpcNsGroupMbrInqNext RpcNsGroupMbrInqNextA
-#define RpcNsEntryExpandName RpcNsEntryExpandNameA
-#define RpcNsEntryObjectInqBegin RpcNsEntryObjectInqBeginA
-#define RpcNsMgmtBindingUnexport RpcNsMgmtBindingUnexportA
-#define RpcNsMgmtEntryCreate RpcNsMgmtEntryCreateA
-#define RpcNsMgmtEntryDelete RpcNsMgmtEntryDeleteA
-#define RpcNsMgmtEntryInqIfIds RpcNsMgmtEntryInqIfIdsA
-#define RpcNsProfileDelete RpcNsProfileDeleteA
-#define RpcNsProfileEltAdd RpcNsProfileEltAddA
-#define RpcNsProfileEltRemove RpcNsProfileEltRemoveA
-#define RpcNsProfileEltInqBegin RpcNsProfileEltInqBeginA
-#define RpcNsProfileEltInqNext RpcNsProfileEltInqNextA
-#endif
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/winsup/w32api/include/rpcnsip.h b/winsup/w32api/include/rpcnsip.h
deleted file mode 100644
index 15ed76104..000000000
--- a/winsup/w32api/include/rpcnsip.h
+++ /dev/null
@@ -1,25 +0,0 @@
-#ifndef _RPCNSIP_H
-#define _RPCNSIP_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-typedef struct {
- RPC_NS_HANDLE LookupContext;
- RPC_BINDING_HANDLE ProposedHandle;
- RPC_BINDING_VECTOR *Bindings;
-} RPC_IMPORT_CONTEXT_P,*PRPC_IMPORT_CONTEXT_P;
-RPC_STATUS RPC_ENTRY I_RpcNsGetBuffer(IN PRPC_MESSAGE);
-RPC_STATUS RPC_ENTRY I_RpcNsSendReceive(IN PRPC_MESSAGE,OUT RPC_BINDING_HANDLE*);
-void RPC_ENTRY I_RpcNsRaiseException(IN PRPC_MESSAGE,IN RPC_STATUS);
-RPC_STATUS RPC_ENTRY I_RpcReBindBuffer(IN PRPC_MESSAGE);
-RPC_STATUS RPC_ENTRY I_NsServerBindSearch(void);
-RPC_STATUS RPC_ENTRY I_NsClientBindSearch(void);
-void RPC_ENTRY I_NsClientBindDone(void);
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/winsup/w32api/include/rpcnterr.h b/winsup/w32api/include/rpcnterr.h
deleted file mode 100644
index b23c429c6..000000000
--- a/winsup/w32api/include/rpcnterr.h
+++ /dev/null
@@ -1,23 +0,0 @@
-#ifndef _RPCNTERR_H
-#define _RPCNTERR_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#define RPC_S_OK ERROR_SUCCESS
-#define RPC_S_INVALID_ARG ERROR_INVALID_PARAMETER
-#define RPC_S_OUT_OF_MEMORY ERROR_OUTOFMEMORY
-#define RPC_S_OUT_OF_THREADS ERROR_MAX_THRDS_REACHED
-#define RPC_S_INVALID_LEVEL ERROR_INVALID_PARAMETER
-#define RPC_S_BUFFER_TOO_SMALL ERROR_INSUFFICIENT_BUFFER
-#define RPC_S_INVALID_SECURITY_DESC ERROR_INVALID_SECURITY_DESCR
-#define RPC_S_ACCESS_DENIED ERROR_ACCESS_DENIED
-#define RPC_S_SERVER_OUT_OF_MEMORY ERROR_NOT_ENOUGH_SERVER_MEMORY
-#define RPC_X_NO_MEMORY RPC_S_OUT_OF_MEMORY
-#define RPC_X_INVALID_BOUND RPC_S_INVALID_BOUND
-#define RPC_X_INVALID_TAG RPC_S_INVALID_TAG
-#define RPC_X_ENUM_VALUE_TOO_LARGE RPC_X_ENUM_VALUE_OUT_OF_RANGE
-#define RPC_X_SS_CONTEXT_MISMATCH ERROR_INVALID_HANDLE
-#define RPC_X_INVALID_BUFFER ERROR_INVALID_USER_BUFFER
-#define RPC_X_INVALID_PIPE_OPERATION RPC_X_WRONG_PIPE_ORDER
-#endif
diff --git a/winsup/w32api/include/rpcproxy.h b/winsup/w32api/include/rpcproxy.h
deleted file mode 100644
index d4fcce533..000000000
--- a/winsup/w32api/include/rpcproxy.h
+++ /dev/null
@@ -1,204 +0,0 @@
-/*
- -DREGISTER_PROXY_DLL Generates DllMain, DllRegisterServer, and DllUnregisterServer
- -DPROXY_CLSID=clsid Specifies a class ID to be used by the proxy DLL.
- -DPROXY_CLSID_IS={..} Specifies the class ID to be used by the proxy DLL.
- -DNT35_STRICT No new features
-*/
-#ifndef _RPCPROXY_H
-#define _RPCPROXY_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#if defined __cplusplus && !defined CINTERFACE
-#warning "rpcproxy type definitions require CINTERFACE"
-#else
-#ifdef __cplusplus
-extern "C" {
-#endif
-#include <rpc.h>
-#include <rpcndr.h>
-#include <string.h>
-
-#define CStdStubBuffer_METHODS CStdStubBuffer_QueryInterface,CStdStubBuffer_AddRef,\
-CStdStubBuffer_Release,CStdStubBuffer_Connect,CStdStubBuffer_Disconnect,CStdStubBuffer_Invoke,\
-CStdStubBuffer_IsIIDSupported,CStdStubBuffer_CountRefs,CStdStubBuffer_DebugServerQueryInterface,\
-CStdStubBuffer_DebugServerRelease
-#define IID_GENERIC_CHECK_IID(name,pIID,index) memcmp(pIID,name##_ProxyVtblList[index]->header.piid,16)
-#define IID_BS_LOOKUP_SETUP int result, low=-1;
-#define IID_BS_LOOKUP_INITIAL_TEST(name,sz,split) if ((result = name##_CHECK_IID(split))>0) { low=sz-split;} else if (!result) { low = split; goto found_label; }
-#define IID_BS_LOOKUP_NEXT_TEST(name,split) if ((result = name##_CHECK_IID(low+split))>=0) { low=low+split; if (!result) goto found_label; }
-#define IID_BS_LOOKUP_RETURN_RESULT(name,sz,index) low+=1; if ((low>=sz )||(result=name##_CHECK_IID(low))) goto not_found_label; found_label: (index)=low; return 1; not_found_label: return 0;
-#define REGISTER_PROXY_DLL_ROUTINES(pProxyFileList, pClsID) \
-HINSTANCE hProxyDll = 0; \
-BOOL WINAPI DllMain(HINSTANCE hinstDLL,DWORD fdwReason,LPVOID lpvReserved) \
-{ \
-if(fdwReason == DLL_PROCESS_ATTACH) hProxyDll = hinstDLL; \
-return TRUE; \
-} \
-HRESULT STDAPICALLTYPE DllRegisterServer(void) \
-{\
-return NdrDllRegisterProxy(hProxyDll, pProxyFileList, pClsID); \
-}\
-HRESULT STDAPICALLTYPE DllUnregisterServer(void)\
-{\
-return NdrDllUnregisterProxy(hProxyDll, pProxyFileList, pClsID);\
-}
-#ifdef PROXY_CLSID
-#define CLSID_PSFACTORYBUFFER extern CLSID PROXY_CLSID;
-#else
-#ifdef PROXY_CLSID_IS
-#define CLSID_PSFACTORYBUFFER const CLSID CLSID_PSFactoryBuffer = PROXY_CLSID_IS;
-#define PROXY_CLSID CLSID_PSFactoryBuffer
-#else
-#define CLSID_PSFACTORYBUFFER
-#endif
-#endif
-#ifndef PROXY_CLSID
-#define GET_DLL_CLSID (aProxyFileList[0]->pStubVtblList[0] != 0 ? aProxyFileList[0]->pStubVtblList[0]->header.piid : 0)
-#else
-#define GET_DLL_CLSID &PROXY_CLSID
-#endif
-#define EXTERN_PROXY_FILE(name) EXTERN_C const ProxyFileInfo name##_ProxyFileInfo;
-#define PROXYFILE_LIST_START const ProxyFileInfo * aProxyFileList[] = {
-#define REFERENCE_PROXY_FILE(name) & name##_ProxyFileInfo
-#define PROXYFILE_LIST_END 0 };
-#define DLLDATA_GETPROXYDLLINFO(pPFList,pClsid) \
-void RPC_ENTRY GetProxyDllInfo( const ProxyFileInfo*** pInfo, const CLSID ** pId ) \
-{ *pInfo = pPFList; *pId = pClsid; };
-#define DLLGETCLASSOBJECTROUTINE(pPFlist, pClsid,pFactory) HRESULT STDAPICALLTYPE DllGetClassObject(REFCLSID rclsid,REFIID riid,void **ppv) \
-{ return NdrDllGetClassObject(rclsid,riid,ppv,pPFlist,pClsid,pFactory ); }
-#define DLLCANUNLOADNOW(pFactory) HRESULT STDAPICALLTYPE DllCanUnloadNow(void) \
-{ return NdrDllCanUnloadNow( pFactory ); }
-#define DLLDUMMYPURECALL void __cdecl _purecall(void) { }
-#define CSTDSTUBBUFFERRELEASE(pFactory) ULONG STDMETHODCALLTYPE CStdStubBuffer_Release(IRpcStubBuffer *This) \
-{ return NdrCStdStubBuffer_Release(This,(IPSFactoryBuffer *)pFactory); }
-#ifdef PROXY_DELEGATION
-#define CSTDSTUBBUFFER2RELEASE(pFactory) ULONG STDMETHODCALLTYPE CStdStubBuffer2_Release(IRpcStubBuffer *This) \
-{ return NdrCStdStubBuffer2_Release(This,(IPSFactoryBuffer *)pFactory); }
-#else
-#define CSTDSTUBBUFFER2RELEASE(pFactory)
-#endif
-
-#ifdef REGISTER_PROXY_DLL
-#define DLLREGISTRY_ROUTINES(pProxyFileList,pClsID ) REGISTER_PROXY_DLL_ROUTINES(pProxyFileList,pClsID)
-#else
-#define DLLREGISTRY_ROUTINES(pProxyFileList,pClsID)
-#endif
-#define DLLDATA_ROUTINES(pProxyFileList,pClsID) \
-CLSID_PSFACTORYBUFFER \
-CStdPSFactoryBuffer gPFactory = {0,0,0,0}; \
-DLLDATA_GETPROXYDLLINFO(pProxyFileList,pClsID) \
-DLLGETCLASSOBJECTROUTINE(pProxyFileList,pClsID,&gPFactory) \
-DLLCANUNLOADNOW(&gPFactory) \
-CSTDSTUBBUFFERRELEASE(&gPFactory) \
-CSTDSTUBBUFFER2RELEASE(&gPFactory) \
-DLLDUMMYPURECALL \
-DLLREGISTRY_ROUTINES(pProxyFileList, pClsID)
-
-#define DLLDATA_STANDARD_ROUTINES DLLDATA_ROUTINES( (const ProxyFileInfo**) pProxyFileList, &CLSID_PSFactoryBuffer)
-
-struct tagCInterfaceStubVtbl;
-struct tagCInterfaceProxyVtbl;
-typedef struct tagCInterfaceStubVtbl *PCInterfaceStubVtblList;
-typedef struct tagCInterfaceProxyVtbl *PCInterfaceProxyVtblList;
-typedef const char *PCInterfaceName;
-typedef int __stdcall IIDLookupRtn(const IID*,int*);
-typedef IIDLookupRtn *PIIDLookup;
-typedef struct tagProxyFileInfo {
- const PCInterfaceProxyVtblList *pProxyVtblList;
- const PCInterfaceStubVtblList *pStubVtblList;
- const PCInterfaceName * pNamesArray;
- const IID ** pDelegatedIIDs;
- const PIIDLookup pIIDLookupRtn;
- unsigned short TableSize;
- unsigned short TableVersion;
- unsigned long Filler1;
- unsigned long Filler2;
- unsigned long Filler3;
- unsigned long Filler4;
-}ProxyFileInfo;
-typedef ProxyFileInfo ExtendedProxyFileInfo;
-
-typedef struct tagCInterfaceProxyHeader {
-#ifdef USE_STUBLESS_PROXY
- const void *pStublessProxyInfo;
-#endif
- const IID *piid;
-} CInterfaceProxyHeader;
-typedef struct tagCInterfaceProxyVtbl {
- CInterfaceProxyHeader header;
-#if defined(__WATCOMC__)
- void *Vtbl[1];
-#else
-#ifdef __GNUC__
-__extension__
-#endif
- void *Vtbl[0];
-#endif
-} CInterfaceProxyVtbl;
-typedef void (__RPC_STUB *PRPC_STUB_FUNCTION)(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
-typedef struct tagCInterfaceStubHeader {
- const IID *piid;
- const MIDL_SERVER_INFO *pServerInfo;
- unsigned long DispatchTableCount;
- const PRPC_STUB_FUNCTION *pDispatchTable;
-} CInterfaceStubHeader;
-typedef struct tagCInterfaceStubVtbl {
- CInterfaceStubHeader header;
- IRpcStubBufferVtbl Vtbl;
-} CInterfaceStubVtbl;
-typedef struct tagCStdStubBuffer {
- const struct IRpcStubBufferVtbl * lpVtbl;
- long RefCount;
- struct IUnknown *pvServerObject;
- const struct ICallFactoryVtbl * pCallFactoryVtbl;
- const IID * pAsyncIID;
- struct IPSFactoryBuffer * pPSFactory;
- const struct IReleaseMarshalBuffersVtbl * pRMBVtbl;
-} CStdStubBuffer;
-typedef struct tagCStdPSFactoryBuffer {
- const IPSFactoryBufferVtbl *lpVtbl;
- long RefCount;
- const ProxyFileInfo ** pProxyFileList;
- long Filler1;
-} CStdPSFactoryBuffer;
-void RPC_ENTRY NdrProxyInitialize(void*,PRPC_MESSAGE,PMIDL_STUB_MESSAGE,PMIDL_STUB_DESC,unsigned int);
-void RPC_ENTRY NdrProxyGetBuffer(void*,PMIDL_STUB_MESSAGE);
-void RPC_ENTRY NdrProxySendReceive(void*,MIDL_STUB_MESSAGE*);
-void RPC_ENTRY NdrProxyFreeBuffer(void*,MIDL_STUB_MESSAGE*);
-HRESULT RPC_ENTRY NdrProxyErrorHandler(DWORD);
-void RPC_ENTRY NdrStubInitialize(PRPC_MESSAGE,PMIDL_STUB_MESSAGE,PMIDL_STUB_DESC,IRpcChannelBuffer*);
-void __RPC_STUB NdrStubForwardingFunction(IRpcStubBuffer*,IRpcChannelBuffer*,PRPC_MESSAGE,DWORD*);
-void RPC_ENTRY NdrStubGetBuffer(IRpcStubBuffer*,IRpcChannelBuffer*,PMIDL_STUB_MESSAGE);
-HRESULT RPC_ENTRY NdrStubErrorHandler(DWORD);
-HRESULT STDMETHODCALLTYPE CStdStubBuffer_QueryInterface(IRpcStubBuffer*,REFIID,void**);
-ULONG STDMETHODCALLTYPE CStdStubBuffer_AddRef(IRpcStubBuffer*);
-ULONG STDMETHODCALLTYPE CStdStubBuffer_Release(IRpcStubBuffer*);
-ULONG STDMETHODCALLTYPE NdrCStdStubBuffer_Release(IRpcStubBuffer*,IPSFactoryBuffer*);
-HRESULT STDMETHODCALLTYPE CStdStubBuffer_Connect(IRpcStubBuffer*,IUnknown*);
-void STDMETHODCALLTYPE CStdStubBuffer_Disconnect(IRpcStubBuffer*);
-HRESULT STDMETHODCALLTYPE CStdStubBuffer_Invoke(IRpcStubBuffer*,RPCOLEMESSAGE*,IRpcChannelBuffer*);
-IRpcStubBuffer* STDMETHODCALLTYPE CStdStubBuffer_IsIIDSupported(IRpcStubBuffer*,REFIID);
-ULONG STDMETHODCALLTYPE CStdStubBuffer_CountRefs(IRpcStubBuffer*);
-HRESULT STDMETHODCALLTYPE CStdStubBuffer_DebugServerQueryInterface(IRpcStubBuffer*,void**);
-void STDMETHODCALLTYPE CStdStubBuffer_DebugServerRelease(IRpcStubBuffer*,void*);
-HRESULT RPC_ENTRY NdrDllGetClassObject(REFCLSID,REFIID,void**,const ProxyFileInfo**,const CLSID*,CStdPSFactoryBuffer*);
-HRESULT RPC_ENTRY NdrDllCanUnloadNow(CStdPSFactoryBuffer*);
-#ifndef NT35_STRICT
-HRESULT RPC_ENTRY NdrDllRegisterProxy(HMODULE,const ProxyFileInfo**,const CLSID*);
-HRESULT RPC_ENTRY NdrDllUnregisterProxy(HMODULE,const ProxyFileInfo**,const CLSID*);
-#define STUB_FORWARDING_FUNCTION NdrStubForwardingFunction
-ULONG STDMETHODCALLTYPE
-CStdStubBuffer2_Release(IRpcStubBuffer*);
-ULONG STDMETHODCALLTYPE
-NdrCStdStubBuffer2_Release(IRpcStubBuffer*,IPSFactoryBuffer*);
-#define CStdStubBuffer_DELEGATING_METHODS 0, 0, CStdStubBuffer2_Release, 0, 0, 0, 0, 0, 0, 0
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* defined __cplusplus && !defined CINTERFACE */
-#endif /* ndef _RPCPROXY_H */
-
diff --git a/winsup/w32api/include/schannel.h b/winsup/w32api/include/schannel.h
deleted file mode 100644
index e01055517..000000000
--- a/winsup/w32api/include/schannel.h
+++ /dev/null
@@ -1,90 +0,0 @@
-#ifndef _SCHANNEL_H
-#define _SCHANNEL_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#include <wincrypt.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define SCHANNEL_CRED_VERSION 4
-#define SCHANNEL_SHUTDOWN 1
-/* ? Do these belong here or in wincrypt.h */
-#define AUTHTYPE_CLIENT 1
-#define AUTHTYPE_SERVER 2
-
-#define SP_PROT_TLS1_CLIENT 128
-#define SP_PROT_TLS1_SERVER 64
-#define SP_PROT_SSL3_CLIENT 32
-#define SP_PROT_SSL3_SERVER 16
-#define SP_PROT_SSL2_CLIENT 8
-#define SP_PROT_SSL2_SERVER 4
-#define SP_PROT_PCT1_SERVER 1
-#define SP_PROT_PCT1_CLIENT 2
-
-#define SP_PROT_PCT1 (SP_PROT_PCT1_CLIENT|SP_PROT_PCT1_SERVER)
-#define SP_PROT_TLS1 (SP_PROT_TLS1_CLIENT|SP_PROT_TLS1_SERVER)
-#define SP_PROT_SSL2 (SP_PROT_SSL2_CLIENT|SP_PROT_SSL2_SERVER)
-#define SP_PROT_SSL3 (SP_PROT_SSL3_CLIENT|SP_PROT_SSL3_SERVER)
-
-#define SCH_CRED_NO_SYSTEM_MAPPER 2
-#define SCH_CRED_NO_SERVERNAME_CHECK 4
-#define SCH_CRED_MANUAL_CRED_VALIDATION 8
-#define SCH_CRED_NO_DEFAULT_CREDS 16
-#define SCH_CRED_AUTO_CRED_VALIDATION 32
-#define SCH_CRED_REVOCATION_CHECK_CHAIN 512
-#define SCH_CRED_REVOCATION_CHECK_END_CERT 256
-#define SCH_CRED_REVOCATION_CHECK_CHAIN_EXCLUDE_ROOT 1024
-#define SCH_CRED_IGNORE_NO_REVOCATION_CHECK 2048
-#define SCH_CRED_IGNORE_REVOCATION_OFFLINE 4096
-#define SCH_CRED_USE_DEFAULT_CREDS 64
-
-typedef struct _SCHANNEL_CRED {
- DWORD dwVersion;
- DWORD cCreds;
- PCCERT_CONTEXT* paCred;
- HCERTSTORE hRootStore;
- DWORD cMappers;
- struct _HMAPPER** aphMappers;
- DWORD cSupportedAlgs;
- ALG_ID* palgSupportedAlgs;
- DWORD grbitEnabledProtocols;
- DWORD dwMinimumCypherStrength;
- DWORD dwMaximumCypherStrength;
- DWORD dwSessionLifespan;
- DWORD dwFlags;
- DWORD reserved;
-} SCHANNEL_CRED, *PSCHANNEL_CRED;
-typedef struct _SecPkgCred_SupportedAlgs {
- DWORD cSupportedAlgs;
- ALG_ID* palgSupportedAlgs;
-} SecPkgCred_SupportedAlgs, *PSecPkgCred_SupportedAlgs;
-typedef struct _SecPkgCred_CypherStrengths {
- DWORD dwMinimumCypherStrength;
- DWORD dwMaximumCypherStrength;
-} SecPkgCred_CypherStrengths, *PSecPkgCred_CypherStrengths;
-typedef struct _SecPkgCred_SupportedProtocols {
- DWORD grbitProtocol;
-} SecPkgCred_SupportedProtocols, *PSecPkgCred_SupportedProtocols;
-typedef struct _SecPkgContext_IssuerListInfoEx {
- PCERT_NAME_BLOB aIssuers;
- DWORD cIssuers;
-} SecPkgContext_IssuerListInfoEx, *PSecPkgContext_IssuerListInfoEx;
-typedef struct _SecPkgContext_ConnectionInfo {
- DWORD dwProtocol;
- ALG_ID aiCipher;
- DWORD dwCipherStrength;
- ALG_ID aiHash;
- DWORD dwHashStrength;
- ALG_ID aiExch;
- DWORD dwExchStrength;
-} SecPkgContext_ConnectionInfo, *PSecPkgContext_ConnectionInfo;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _SCHANNEL_H */
diff --git a/winsup/w32api/include/schnlsp.h b/winsup/w32api/include/schnlsp.h
deleted file mode 100644
index 8e9e09574..000000000
--- a/winsup/w32api/include/schnlsp.h
+++ /dev/null
@@ -1,14 +0,0 @@
-#ifndef _SCHNLSP_H
-#define _SCHNLSP_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-
-#define SECPKG_ATTR_SUPPORTED_ALGS 86
-#define SECPKG_ATTR_CIPHER_STRENGTHS 87
-#define SECPKG_ATTR_SUPPORTED_PROTOCOLS 88
-
-#include <schannel.h>
-
-#endif /* _SCHNLSP_H */
diff --git a/winsup/w32api/include/scrnsave.h b/winsup/w32api/include/scrnsave.h
deleted file mode 100644
index 5cee4b66e..000000000
--- a/winsup/w32api/include/scrnsave.h
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- Screen saver library by Anders Norlander <anorland@hem2.passagen.se>
-
- This library is (hopefully) compatible with Microsoft's
- screen saver library.
-
- This is public domain software.
-
- */
-#ifndef _SCRNSAVE_H
-#define _SCRNSAVE_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* configure dialog identifier */
-#define DLG_SCRNSAVECONFIGURE 2003
-
-#define idsIsPassword 1000
-#define idsIniFile 1001
-#define idsScreenSaver 1002
-#define idsPassword 1003
-#define idsDifferentPW 1004
-#define idsChangePW 1005
-#define idsBadOldPW 1006
-#define idsAppName 1007
-#define idsNoHelpMemory 1008
-#define idsHelpFile 1009
-#define idsDefKeyword 1010
-
-#define IDS_DESCRIPTION 1
-#define ID_APP 100
-
-#define WS_GT (WS_GROUP | WS_TABSTOP)
-#define SCRM_VERIFYPW WM_APP
-#define MAXFILELEN 13
-#define TITLEBARNAMELEN 40
-#define APPNAMEBUFFERLEN 40
-#define BUFFLEN 255
-
-#ifndef RC_INVOKED
-
-/* functions provided by the aothor of the screen saver */
-BOOL WINAPI ScreenSaverConfigureDialog(HWND,UINT,WPARAM,LPARAM);
-BOOL WINAPI RegisterDialogClasses(HANDLE);
-LONG WINAPI ScreenSaverProc(HWND,UINT,WPARAM,LPARAM);
-
-/* Change name of function if we are using UNICODE */
-#ifdef UNICODE
-#define DefScreenSaverProc DefScreenSaverProcW
-#endif
-
-/* default screen saver proc; call instead of DefWindowProc */
-LONG WINAPI DefScreenSaverProc(HWND,UINT,WPARAM,LPARAM);
-
-/* change password */
-void WINAPI ScreenSaverChangePassword(HWND);
-
-/* globals that may be used by screen saver */
-extern HINSTANCE hMainInstance;
-extern HWND hMainWindow;
-extern BOOL fChildPreview;
-extern TCHAR szName[];
-extern TCHAR szAppName[];
-extern TCHAR szIniFile[];
-extern TCHAR szScreenSaver[];
-extern TCHAR szHelpFile[];
-extern TCHAR szNoHelpMemory[];
-extern UINT MyHelpMessage;
-
-#endif /* RC_INVOKED */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _SCRNSAVE_H */
diff --git a/winsup/w32api/include/secext.h b/winsup/w32api/include/secext.h
deleted file mode 100644
index 1919f4fef..000000000
--- a/winsup/w32api/include/secext.h
+++ /dev/null
@@ -1,43 +0,0 @@
-#ifndef _SECEXT_H
-#define _SECEXT_H
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-#ifndef RC_INVOKED
-#if (_WIN32_WINNT >= 0x0500)
-typedef enum
-{
- NameUnknown = 0,
- NameFullyQualifiedDN = 1,
- NameSamCompatible = 2,
- NameDisplay = 3,
- NameUniqueId = 6,
- NameCanonical = 7,
- NameUserPrincipal = 8,
- NameCanonicalEx = 9,
- NameServicePrincipal = 10,
- NameDnsDomain = 12
-} EXTENDED_NAME_FORMAT, *PEXTENDED_NAME_FORMAT;
-
-BOOLEAN WINAPI GetComputerObjectNameA(EXTENDED_NAME_FORMAT,LPSTR,PULONG);
-BOOLEAN WINAPI GetComputerObjectNameW(EXTENDED_NAME_FORMAT,LPWSTR,PULONG);
-BOOLEAN WINAPI GetUserNameExA(EXTENDED_NAME_FORMAT,LPSTR,PULONG);
-BOOLEAN WINAPI GetUserNameExW(EXTENDED_NAME_FORMAT,LPWSTR,PULONG);
-BOOLEAN WINAPI TranslateNameA(LPCSTR,EXTENDED_NAME_FORMAT,EXTENDED_NAME_FORMAT,LPSTR,PULONG);
-BOOLEAN WINAPI TranslateNameW(LPCWSTR,EXTENDED_NAME_FORMAT,EXTENDED_NAME_FORMAT,LPWSTR,PULONG);
-
-#ifdef UNICODE
-#define GetComputerObjectName GetComputerObjectNameW
-#define GetUserNameEx GetUserNameExW
-#define TranslateName TranslateNameW
-#else
-#define GetComputerObjectName GetComputerObjectNameA
-#define GetUserNameEx GetUserNameExA
-#define TranslateName TranslateNameA
-#endif
-
-
-#endif /* ! RC_INVOKED */
-#endif /* _WIN32_WINNT >= 0x0500 */
-#endif /* ! _SECEXT_H */
diff --git a/winsup/w32api/include/security.h b/winsup/w32api/include/security.h
deleted file mode 100644
index 9685cf051..000000000
--- a/winsup/w32api/include/security.h
+++ /dev/null
@@ -1,42 +0,0 @@
-#ifndef _SECURITY_H
-#define _SECURITY_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-
-#define SEC_E_OK 0
-#define SEC_E_CERT_EXPIRED (-2146893016)
-#define SEC_E_INCOMPLETE_MESSAGE (-2146893032)
-#define SEC_E_INSUFFICIENT_MEMORY (-2146893056)
-#define SEC_E_INTERNAL_ERROR (-2146893052)
-#define SEC_E_INVALID_HANDLE (-2146893055)
-#define SEC_E_INVALID_TOKEN (-2146893048)
-#define SEC_E_LOGON_DENIED (-2146893044)
-#define SEC_E_NO_AUTHENTICATING_AUTHORITY (-2146893039)
-#define SEC_E_NO_CREDENTIALS (-2146893042)
-#define SEC_E_TARGET_UNKNOWN (-2146893053)
-#define SEC_E_UNSUPPORTED_FUNCTION (-2146893054)
-#define SEC_E_UNTRUSTED_ROOT (-2146893019)
-#define SEC_E_WRONG_PRINCIPAL (-2146893022)
-#define SEC_E_SECPKG_NOT_FOUND (-2146893051)
-#define SEC_E_QOP_NOT_SUPPORTED (-2146893046)
-#define SEC_E_UNKNOWN_CREDENTIALS (-2146893043)
-#define SEC_E_NOT_OWNER (-2146893050)
-#define SEC_I_RENEGOTIATE 590625
-#define SEC_I_COMPLETE_AND_CONTINUE 590612
-#define SEC_I_COMPLETE_NEEDED 590611
-#define SEC_I_CONTINUE_NEEDED 590610
-#define SEC_I_INCOMPLETE_CREDENTIALS 590624
-
-/* always a char */
-typedef char SEC_CHAR;
-typedef wchar_t SEC_WCHAR;
-typedef long SECURITY_STATUS;
-#define SEC_FAR
-
-#include <sspi.h>
-#include <ntsecpkg.h>
-#include <secext.h>
-
-#endif /* _SECURITY_H */
diff --git a/winsup/w32api/include/servprov.h b/winsup/w32api/include/servprov.h
deleted file mode 100644
index 4905d69e4..000000000
--- a/winsup/w32api/include/servprov.h
+++ /dev/null
@@ -1,33 +0,0 @@
-#ifndef _SERVPROV_H
-#define _SERVPROV_H
-#define _OLEIDL_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-EXTERN_C const IID IID_IServiceProvider;
-#undef INTERFACE
-#define INTERFACE IServiceProvider
-DECLARE_INTERFACE_(IServiceProvider,IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(QueryService)(THIS_ REFGUID,REFIID,void**) PURE;
-};
-
-#ifdef COBJMACROS
-#define IServiceProvider_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
-#define IServiceProvider_AddRef(T) (T)->lpVtbl->AddRef(T)
-#define IServiceProvider_Release(T) (T)->lpVtbl->Release(T)
-#define IServiceProvider_QueryService(T,a,b,c) (T)->lpVtbl->QueryService(T,a,b,c)
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/winsup/w32api/include/setupapi.h b/winsup/w32api/include/setupapi.h
deleted file mode 100644
index 2202141f0..000000000
--- a/winsup/w32api/include/setupapi.h
+++ /dev/null
@@ -1,1579 +0,0 @@
-#ifndef _SETUPAPI_H_
-#define _SETUPAPI_H_
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#include <commctrl.h>
-#include <pshpack1.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define WINSETUPAPI DECLSPEC_IMPORT
-
-#define LINE_LEN 256
-#define MAX_INF_STRING_LENGTH 4096
-#define MAX_TITLE_LEN 60
-#define MAX_INSTRUCTION_LEN 256
-#define MAX_LABEL_LEN 30
-#define MAX_SERVICE_NAME_LEN 256
-#define MAX_SUBTITLE_LEN 256
-#define SP_MAX_MACHINENAME_LENGTH (MAX_PATH + 3)
-
-#define COPYFLG_WARN_IF_SKIP 0x00000001
-#define COPYFLG_NOSKIP 0x00000002
-#define COPYFLG_NOVERSIONCHECK 0x00000004
-#define COPYFLG_FORCE_FILE_IN_USE 0x00000008
-#define COPYFLG_NO_OVERWRITE 0x00000010
-#define COPYFLG_NO_VERSION_DIALOG 0x00000020
-#define COPYFLG_OVERWRITE_OLDER_ONLY 0x00000040
-#define COPYFLG_REPLACEONLY 0x00000400
-#define COPYFLG_NODECOMP 0x00000800
-#define COPYFLG_REPLACE_BOOT_FILE 0x00001000
-#define COPYFLG_NOPRUNE 0x00002000
-#define DELFLG_IN_USE 0x00000001
-#define DELFLG_IN_USE1 0x00010000
-#define DI_REMOVEDEVICE_GLOBAL 0x00000001
-#define DI_REMOVEDEVICE_CONFIGSPECIFIC 0x00000002
-#define DI_UNREMOVEDEVICE_CONFIGSPECIFIC 0x00000002
-#define DI_SHOWOEM 0x00000001
-#define DI_SHOWCOMPAT 0x00000002
-#define DI_SHOWCLASS 0x00000004
-#define DI_SHOWALL 0x00000007
-#define DI_NOVCP 0x00000008
-#define DI_DIDCOMPAT 0x00000010
-#define DI_DIDCLASS 0x00000020
-#define DI_AUTOASSIGNRES 0x00000040
-#define DI_NEEDRESTART 0x00000080
-#define DI_NEEDREBOOT 0x00000100
-#define DI_NOBROWSE 0x00000200
-#define DI_MULTMFGS 0x00000400
-#define DI_DISABLED 0x00000800
-#define DI_GENERALPAGE_ADDED 0x00001000
-#define DI_RESOURCEPAGE_ADDED 0x00002000
-#define DI_PROPERTIES_CHANGE 0x00004000
-#define DI_INF_IS_SORTED 0x00008000
-#define DI_ENUMSINGLEINF 0x00010000
-#define DI_DONOTCALLCONFIGMG 0x00020000
-#define DI_INSTALLDISABLED 0x00040000
-#define DI_COMPAT_FROM_CLASS 0x00080000
-#define DI_CLASSINSTALLPARAMS 0x00100000
-#define DI_NODI_DEFAULTACTION 0x00200000
-#define DI_QUIETINSTALL 0x00800000
-#define DI_NOFILECOPY 0x01000000
-#define DI_FORCECOPY 0x02000000
-#define DI_DRIVERPAGE_ADDED 0x04000000
-#define DI_USECI_SELECTSTRINGS 0x08000000
-#define DI_OVERRIDE_INFFLAGS 0x10000000
-#define DI_PROPS_NOCHANGEUSAGE 0x20000000
-#define DI_NOSELECTICONS 0x40000000
-#define DI_NOWRITE_IDS 0x80000000
-#define DI_FLAGSEX_USEOLDINFSEARCH 0x00000001
-#define DI_FLAGSEX_AUTOSELECTRANK0 0x00000002
-#define DI_FLAGSEX_CI_FAILED 0x00000004
-#define DI_FLAGSEX_DIDINFOLIST 0x00000010
-#define DI_FLAGSEX_DIDCOMPATINFO 0x00000020
-#define DI_FLAGSEX_FILTERCLASSES 0x00000040
-#define DI_FLAGSEX_SETFAILEDINSTALL 0x00000080
-#define DI_FLAGSEX_DEVICECHANGE 0x00000100
-#define DI_FLAGSEX_ALWAYSWRITEIDS 0x00000200
-#define DI_FLAGSEX_PROPCHANGE_PENDING 0x00000400
-#define DI_FLAGSEX_ALLOWEXCLUDEDDRVS 0x00000800
-#define DI_FLAGSEX_NOUIONQUERYREMOVE 0x00001000
-#define DI_FLAGSEX_USECLASSFORCOMPAT 0x00002000
-#define DI_FLAGSEX_OLDINF_IN_CLASSLIST 0x00004000
-#define DI_FLAGSEX_NO_DRVREG_MODIFY 0x00008000
-#define DI_FLAGSEX_IN_SYSTEM_SETUP 0x00010000
-#define DI_FLAGSEX_INET_DRIVER 0x00020000
-#define DI_FLAGSEX_APPENDDRIVERLIST 0x00040000
-#define DI_FLAGSEX_PREINSTALLBACKUP 0x00080000
-#define DI_FLAGSEX_BACKUPONREPLACE 0x00100000
-#define DI_FLAGSEX_DRIVERLIST_FROM_URL 0x00200000
-#define DI_FLAGSEX_RESERVED1 0x00400000
-#define DI_FLAGSEX_EXCLUDE_OLD_INET_DRIVERS 0x00800000
-#define DI_FLAGSEX_POWERPAGE_ADDED 0x01000000
-#define DIBCI_NOINSTALLCLASS 0x00000001
-#define DIBCI_NODISPLAYCLASS 0x00000002
-#define DICD_GENERATE_ID 0x00000001
-#define DICD_INHERIT_CLASSDRVS 0x00000002
-#define DICS_ENABLE 1
-#define DICS_FLAG_GLOBAL 1
-#define DICS_DISABLE 2
-#define DICS_FLAG_CONFIGSPECIFIC 2
-#define DICS_PROPCHANGE 3
-#define DICS_START 4
-#define DICS_FLAG_CONFIGGENERAL 4
-#define DICS_STOP 5
-#define DIF_SELECTDEVICE 1
-#define DIF_INSTALLDEVICE 2
-#define DIF_ASSIGNRESOURCES 3
-#define DIF_PROPERTIES 4
-#define DIF_REMOVE 5
-#define DIF_FIRSTTIMESETUP 6
-#define DIF_FOUNDDEVICE 7
-#define DIF_SELECTCLASSDRIVERS 8
-#define DIF_VALIDATECLASSDRIVERS 9
-#define DIF_INSTALLCLASSDRIVERS 10
-#define DIF_CALCDISKSPACE 11
-#define DIF_DESTROYPRIVATEDATA 12
-#define DIF_VALIDATEDRIVER 13
-#define DIF_MOVEDEVICE 14
-#define DIF_DETECT 15
-#define DIF_INSTALLWIZARD 16
-#define DIF_DESTROYWIZARDDATA 17
-#define DIF_PROPERTYCHANGE 18
-#define DIF_ENABLECLASS 19
-#define DIF_DETECTVERIFY 20
-#define DIF_INSTALLDEVICEFILES 21
-#define DIF_UNREMOVE 22
-#define DIF_SELECTBESTCOMPATDRV 23
-#define DIF_ALLOW_INSTALL 24
-#define DIF_REGISTERDEVICE 25
-#define DIF_NEWDEVICEWIZARD_PRESELECT 26
-#define DIF_NEWDEVICEWIZARD_SELECT 27
-#define DIF_NEWDEVICEWIZARD_PREANALYZE 28
-#define DIF_NEWDEVICEWIZARD_POSTANALYZE 29
-#define DIF_NEWDEVICEWIZARD_FINISHINSTALL 30
-#define DIF_UNUSED1 31
-#define DIF_INSTALLINTERFACES 32
-#define DIF_DETECTCANCEL 33
-#define DIF_REGISTER_COINSTALLERS 34
-#define DIF_ADDPROPERTYPAGE_ADVANCED 35
-#define DIF_ADDPROPERTYPAGE_BASIC 36
-#define DIF_RESERVED1 37
-#define DIF_TROUBLESHOOTER 38
-#define DIF_POWERMESSAGEWAKE 39
-#define DIGCF_DEFAULT 0x00000001
-#define DIGCDP_FLAG_BASIC 0x00000001
-#define DIGCF_PRESENT 0x00000002
-#define DIGCDP_FLAG_ADVANCED 0x00000002
-#define DIGCF_ALLCLASSES 0x00000004
-#define DIGCF_PROFILE 0x00000008
-#define DIGCF_DEVICEINTERFACE 0x00000010
-#define DIGCF_INTERFACEDEVICE 0x00000010
-#define DIOCR_INSTALLER 0x00000001
-#define DIOCR_INTERFACE 0x00000002
-#define DIODI_NO_ADD 0x00000001
-#define DIOD_INHERIT_CLASSDRVS 0x00000002
-#define DIOD_CANCEL_REMOVE 0x00000004
-#define DIREG_DEV 0x00000001
-#define DIREG_DRV 0x00000002
-#define DIREG_BOTH 0x00000004
-#define DIRID_ABSOLUTE -1
-#define DIRID_NULL 0
-#define DIRID_SRCPATH 1
-#define DIRID_WINDOWS 10
-#define DIRID_SYSTEM 11
-#define DIRID_DRIVERS 12
-#define DIRID_INF 17
-#define DIRID_HELP 18
-#define DIRID_FONTS 20
-#define DIRID_VIEWERS 21
-#define DIRID_COLOR 23
-#define DIRID_APPS 24
-#define DIRID_SHARED 25
-#define DIRID_BOOT 30
-#define DIRID_SYSTEM16 50
-#define DIRID_SPOOL 51
-#define DIRID_SPOOLDRIVERS 52
-#define DIRID_USERPROFILE 53
-#define DIRID_LOADER 54
-#define DIRID_PRINTPROCESSOR 55
-#define DIRID_COMMON_STARTMENU 16406
-#define DIRID_COMMON_PROGRAMS 16407
-#define DIRID_COMMON_STARTUP 16408
-#define DIRID_COMMON_DESKTOPDIRECTORY 16409
-#define DIRID_COMMON_FAVORITES 16415
-#define DIRID_COMMON_APPDATA 16419
-#define DIRID_PROGRAM_FILES 16422
-#define DIRID_SYSTEM_X86 16425
-#define DIRID_PROGRAM_FILES_X86 16426
-#define DIRID_PROGRAM_FILES_COMMON 16427
-#define DIRID_PROGRAM_FILES_COMMONX86 16428
-#define DIRID_COMMON_TEMPLATES 16429
-#define DIRID_COMMON_DOCUMENTS 16430
-#define DIRID_USER 0x8000
-#define DIRID_ABSOLUTE_16BIT 0xffff
-#define DIRID_IOSUBSYS DIRID_DRIVERS
-#define DIRID_DEFAULT DIRID_SYSTEM
-#define DMI_MASK 0x00000001
-#define DMI_BKCOLOR 0x00000002
-#define DMI_USERECT 0x00000004
-#define DNF_DUPDESC 0x00000001
-#define DNF_OLDDRIVER 0x00000002
-#define DNF_EXCLUDEFROMLIST 0x00000004
-#define DNF_NODRIVER 0x00000008
-#define DNF_LEGACYINF 0x00000010
-#define DNF_CLASS_DRIVER 0x00000020
-#define DNF_COMPATIBLE_DRIVER 0x00000040
-#define DNF_INET_DRIVER 0x00000080
-#define DNF_UNUSED1 0x00000100
-#define DNF_INDEXED_DRIVER 0x00000200
-#define DNF_OLD_INET_DRIVER 0x00000400
-#define DNF_BAD_DRIVER 0x00000800
-#define DNF_DUPPROVIDER 0x00001000
-#define DPROMPT_SUCCESS 0
-#define DPROMPT_CANCEL 1
-#define DPROMPT_SKIPFILE 2
-#define DPROMPT_BUFFERTOOSMALL 3
-#define DPROMPT_OUTOFMEMORY 4
-#define DRIVER_HARDWAREID_RANK 0x00000FFF
-#define DYNAWIZ_FLAG_PAGESADDED 0x00000001
-#define DYNAWIZ_FLAG_INSTALLDET_NEXT 0x00000002
-#define DYNAWIZ_FLAG_INSTALLDET_PREV 0x00000004
-#define DYNAWIZ_FLAG_ANALYZE_HANDLECONFLICT 0x00000008
-#define ENABLECLASS_QUERY 0
-#define ENABLECLASS_SUCCESS 1
-#define ENABLECLASS_FAILURE 2
-#define ERROR_EXPECTED_SECTION_NAME (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0)
-#define ERROR_BAD_SECTION_NAME_LINE (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|1)
-#define ERROR_SECTION_NAME_TOO_LONG (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|2)
-#define ERROR_GENERAL_SYNTAX (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|3)
-#define ERROR_WRONG_INF_STYLE (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x100)
-#define ERROR_NOT_INSTALLED (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x1000)
-#define ERROR_SECTION_NOT_FOUND (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x101)
-#define ERROR_LINE_NOT_FOUND (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x102)
-#define ERROR_NO_BACKUP (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x103)
-#define ERROR_NO_ASSOCIATED_CLASS (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x200)
-#define ERROR_CLASS_MISMATCH (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x201)
-#define ERROR_DUPLICATE_FOUND (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x202)
-#define ERROR_NO_DRIVER_SELECTED (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x203)
-#define ERROR_KEY_DOES_NOT_EXIST (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x204)
-#define ERROR_INVALID_DEVINST_NAME (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x205)
-#define ERROR_INVALID_CLASS (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x206)
-#define ERROR_DEVINST_ALREADY_EXISTS (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x207)
-#define ERROR_DEVINFO_NOT_REGISTERED (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x208)
-#define ERROR_INVALID_REG_PROPERTY (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x209)
-#define ERROR_NO_INF (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x20A)
-#define ERROR_NO_SUCH_DEVINST (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x20B)
-#define ERROR_CANT_LOAD_CLASS_ICON (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x20C)
-#define ERROR_INVALID_CLASS_INSTALLER (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x20D)
-#define ERROR_DI_DO_DEFAULT (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x20E)
-#define ERROR_DI_NOFILECOPY (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x20F)
-#define ERROR_INVALID_HWPROFILE (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x210)
-#define ERROR_NO_DEVICE_SELECTED (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x211)
-#define ERROR_DEVINFO_LIST_LOCKED (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x212)
-#define ERROR_DEVINFO_DATA_LOCKED (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x213)
-#define ERROR_DI_BAD_PATH (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x214)
-#define ERROR_NO_CLASSINSTALL_PARAMS (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x215)
-#define ERROR_FILEQUEUE_LOCKED (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x216)
-#define ERROR_BAD_SERVICE_INSTALLSECT (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x217)
-#define ERROR_NO_CLASS_DRIVER_LIST (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x218)
-#define ERROR_NO_ASSOCIATED_SERVICE (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x219)
-#define ERROR_NO_DEFAULT_DEVICE_INTERFACE (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x21A)
-#define ERROR_DEVICE_INTERFACE_ACTIVE (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x21B)
-#define ERROR_DEVICE_INTERFACE_REMOVED (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x21C)
-#define ERROR_BAD_INTERFACE_INSTALLSECT (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x21D)
-#define ERROR_NO_SUCH_INTERFACE_CLASS (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x21E)
-#define ERROR_INVALID_REFERENCE_STRING (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x21F)
-#define ERROR_INVALID_MACHINENAME (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x220)
-#define ERROR_REMOTE_COMM_FAILURE (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x221)
-#define ERROR_MACHINE_UNAVAILABLE (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x222)
-#define ERROR_NO_CONFIGMGR_SERVICES (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x223)
-#define ERROR_INVALID_PROPPAGE_PROVIDER (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x224)
-#define ERROR_NO_SUCH_DEVICE_INTERFACE (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x225)
-#define ERROR_DI_POSTPROCESSING_REQUIRED (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x226)
-#define ERROR_INVALID_COINSTALLER (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x227)
-#define ERROR_NO_COMPAT_DRIVERS (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x228)
-#define ERROR_NO_DEVICE_ICON (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x229)
-#define ERROR_INVALID_INF_LOGCONFIG (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x22A)
-#define ERROR_DI_DONT_INSTALL (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x22B)
-#define ERROR_INVALID_FILTER_DRIVER (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x22C)
-#define ERROR_NON_WINDOWS_NT_DRIVER (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x22D)
-#define ERROR_NON_WINDOWS_DRIVER (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x22E)
-#define ERROR_NO_CATALOG_FOR_OEM_INF (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x22F)
-#define ERROR_DEVINSTALL_QUEUE_NONNATIVE (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x230)
-#define ERROR_NOT_DISABLEABLE (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x231)
-#define ERROR_CANT_REMOVE_DEVINST (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR|0x232)
-#define ERROR_INTERFACE_DEVICE_ACTIVE ERROR_DEVICE_INTERFACE_ACTIVE
-#define ERROR_INTERFACE_DEVICE_REMOVED ERROR_DEVICE_INTERFACE_REMOVED
-#define ERROR_NO_DEFAULT_INTERFACE_DEVICE ERROR_NO_DEFAULT_DEVICE_INTERFACE
-#define ERROR_NO_SUCH_INTERFACE_DEVICE ERROR_NO_SUCH_DEVICE_INTERFACE
-
-#define FILEOP_COPY 0
-#define FILEOP_ABORT 0
-#define FILE_COMPRESSION_NONE 0
-#define FILEOP_RENAME 1
-#define FILEOP_DOIT 1
-#define FILE_COMPRESSION_WINLZA 1
-#define FILEOP_DELETE 2
-#define FILEOP_SKIP 2
-#define FILE_COMPRESSION_MSZIP 2
-#define FILEOP_BACKUP 3
-#define FILE_COMPRESSION_NTCAB 3
-#define FILEOP_NEWPATH 4
-#define FILEOP_RETRY FILEOP_DOIT
-#define FLG_ADDREG_TYPE_SZ 0x00000000
-#define FLG_ADDREG_BINVALUETYPE 0x00000001
-#define FLG_ADDREG_NOCLOBBER 0x00000002
-#define FLG_ADDREG_DELVAL 0x00000004
-#define FLG_ADDREG_APPEND 0x00000008
-#define FLG_ADDREG_KEYONLY 0x00000010
-#define FLG_ADDREG_OVERWRITEONLY 0x00000020
-#if (_SETUPAPI_VER >= 0x0501)
-#define FLG_ADDREG_64BITKEY 0x00001000
-#define FLG_ADDREG_KEYONLY_COMMON 0x00002000
-#define FLG_ADDREG_32BITKEY 0x00004000
-#define FLG_ADDREG_DELREG_BIT 0x00008000
-#endif
-#define FLG_ADDREG_TYPE_MULTI_SZ 0x00010000
-#define FLG_ADDREG_TYPE_EXPAND_SZ 0x00020000
-#define FLG_ADDREG_TYPE_BINARY (0x00000000|FLG_ADDREG_BINVALUETYPE)
-#define FLG_ADDREG_TYPE_DWORD (0x00010000|FLG_ADDREG_BINVALUETYPE)
-#define FLG_ADDREG_TYPE_NONE (0x00020000|FLG_ADDREG_BINVALUETYPE)
-#define FLG_ADDREG_TYPE_MASK (0xFFFF0000|FLG_ADDREG_BINVALUETYPE)
-#define FLG_DELREG_VALUE 0x00000000
-#if (_SETUPAPI_VER >= 0x0501)
-#define FLG_DELREG_TYPE_MASK FLG_ADDREG_TYPE_MASK
-#define FLG_DELREG_TYPE_SZ FLG_ADDREG_TYPE_SZ
-#define FLG_DELREG_TYPE_MULTI_SZ FLG_ADDREG_TYPE_MULTI_SZ
-#define FLG_DELREG_TYPE_EXPAND_SZ FLG_ADDREG_TYPE_EXPAND_SZ
-#define FLG_DELREG_TYPE_BINARY FLG_ADDREG_TYPE_BINARY
-#define FLG_DELREG_TYPE_DWORD FLG_ADDREG_TYPE_DWORD
-#define FLG_DELREG_TYPE_NONE FLG_ADDREG_TYPE_NONE
-#define FLG_DELREG_64BITKEY FLG_ADDREG_64BITKEY
-#define FLG_DELREG_KEYONLY_COMMON FLG_ADDREG_KEYONLY_COMMON
-#define FLG_DELREG_32BITKEY FLG_ADDREG_32BITKEY
-#define FLG_DELREG_OPERATION_MASK 0x000000FE
-#define FLG_DELREG_MULTI_SZ_DELSTRING (0x00000002|FLG_DELREG_TYPE_MULTI_SZ|FLG_ADDREG_DELREG_BIT)
-#endif
-#define FLG_BITREG_CLEARBITS 0x00000000
-#define FLG_BITREG_SETBITS 0x00000001
-#define FLG_PROFITEM_CURRENTUSER 0x00000001
-#define FLG_PROFITEM_DELETE 0x00000002
-#define FLG_PROFITEM_GROUP 0x00000004
-#define FLG_PROFITEM_CSIDL 0x00000008
-#define FLG_REGSVR_DLLREGISTER 0x00000001
-#define FLG_REGSVR_DLLINSTALL 0x00000002
-#define MIN_IDD_DYNAWIZ_RESOURCE_ID 10000
-#define MAX_IDD_DYNAWIZ_RESOURCE_ID 11000
-#define IDD_DYNAWIZ_FIRSTPAGE 10000
-#define IDD_DYNAWIZ_SELECT_PREVPAGE 10001
-#define IDD_DYNAWIZ_SELECT_NEXTPAGE 10002
-#define IDD_DYNAWIZ_ANALYZE_PREVPAGE 10003
-#define IDD_DYNAWIZ_ANALYZE_NEXTPAGE 10004
-#define IDD_DYNAWIZ_INSTALLDETECTED_PREVPAGE 10006
-#define IDD_DYNAWIZ_INSTALLDETECTED_NEXTPAGE 10007
-#define IDD_DYNAWIZ_INSTALLDETECTED_NODEVS 10008
-#define IDD_DYNAWIZ_SELECTDEV_PAGE 10009
-#define IDD_DYNAWIZ_ANALYZEDEV_PAGE 10010
-#define IDD_DYNAWIZ_INSTALLDETECTEDDEVS_PAGE 10011
-#define IDD_DYNAWIZ_SELECTCLASS_PAGE 10012
-#define IDF_NOBROWSE 0x00000001
-#define IDF_NOSKIP 0x00000002
-#define IDF_NODETAILS 0x00000004
-#define IDF_NOCOMPRESSED 0x00000008
-#define IDF_CHECKFIRST 0x00000100
-#define IDF_NOBEEP 0x00000200
-#define IDF_NOFOREGROUND 0x00000400
-#define IDF_WARNIFSKIP 0x00000800
-#define IDF_OEMDISK 0x80000000
-#define IDI_RESOURCEFIRST 159
-#define IDI_RESOURCE 159
-#define IDI_RESOURCELAST 161
-#define IDI_RESOURCEOVERLAYFIRST 161
-#define IDI_RESOURCEOVERLAYLAST 161
-#define IDI_CONFLICT 161
-#define IDI_PROBLEM_OVL 500
-#define IDI_DISABLED_OVL 501
-#define IDI_FORCED_OVL 502
-#define IDI_CLASSICON_OVERLAYFIRST 500
-#define IDI_CLASSICON_OVERLAYLAST 502
-#define INF_STYLE_NONE 0x00000000
-#define INF_STYLE_OLDNT 0x00000001
-#define INF_STYLE_WIN4 0x00000002
-#define INF_STYLE_CACHE_ENABLE 0x00000010
-#define INF_STYLE_CACHE_DISABLE 0x00000020
-#define INFINFO_INF_SPEC_IS_HINF 1
-#define INFINFO_INF_NAME_IS_ABSOLUTE 2
-#define INFINFO_DEFAULT_SEARCH 3
-#define INFINFO_REVERSE_DEFAULT_SEARCH 4
-#define INFINFO_INF_PATH_LIST_SEARCH 5
-#define LogSevInformation 0
-#define LogSevWarning 1
-#define LogSevError 2
-#define LogSevFatalError 3
-#define LogSevMaximum 4
-#define LogSeverity DWORD
-#define MAX_INSTALLWIZARD_DYNAPAGES 20
-#define NDW_INSTALLFLAG_DIDFACTDEFS 0x00000001
-#define NDW_INSTALLFLAG_HARDWAREALLREADYIN 0x00000002
-#define NDW_INSTALLFLAG_NEEDSHUTDOWN 0x00000200
-#define NDW_INSTALLFLAG_EXPRESSINTRO 0x00000400
-#define NDW_INSTALLFLAG_SKIPISDEVINSTALLED 0x00000800
-#define NDW_INSTALLFLAG_NODETECTEDDEVS 0x00001000
-#define NDW_INSTALLFLAG_INSTALLSPECIFIC 0x00002000
-#define NDW_INSTALLFLAG_SKIPCLASSLIST 0x00004000
-#define NDW_INSTALLFLAG_CI_PICKED_OEM 0x00008000
-#define NDW_INSTALLFLAG_PCMCIAMODE 0x00010000
-#define NDW_INSTALLFLAG_PCMCIADEVICE 0x00020000
-#define NDW_INSTALLFLAG_USERCANCEL 0x00040000
-#define NDW_INSTALLFLAG_KNOWNCLASS 0x00080000
-#define NDW_INSTALLFLAG_NEEDRESTART 0x00000080
-#define NDW_INSTALLFLAG_NEEDREBOOT 0x00000100
-#define SETDIRID_NOT_FULL_PATH 0x00000001
-#define SP_COPY_DELETESOURCE 0x0000001
-#define SP_COPY_REPLACEONLY 0x0000002
-#define SP_COPY_NEWER 0x0000004
-#define SP_COPY_NEWER_OR_SAME 0x0000004
-#define SP_COPY_NOOVERWRITE 0x0000008
-#define SP_COPY_NODECOMP 0x0000010
-#define SP_COPY_LANGUAGEAWARE 0x0000020
-#define SP_COPY_SOURCE_ABSOLUTE 0x0000040
-#define SP_COPY_SOURCEPATH_ABSOLUTE 0x0000080
-#define SP_COPY_IN_USE_NEEDS_REBOOT 0x0000100
-#define SP_COPY_FORCE_IN_USE 0x0000200
-#define SP_COPY_NOSKIP 0x0000400
-#define SP_COPY_FORCE_NOOVERWRITE 0x0001000
-#define SP_COPY_FORCE_NEWER 0x0002000
-#define SP_COPY_WARNIFSKIP 0x0004000
-#define SP_COPY_NOBROWSE 0x0008000
-#define SP_COPY_NEWER_ONLY 0x0010000
-#define SP_COPY_SOURCE_SIS_MASTER 0x0020000
-#define SP_COPY_OEMINF_CATALOG_ONLY 0x0040000
-#define SP_COPY_REPLACE_BOOT_FILE 0x0080000
-#define SP_COPY_NOPRUNE 0x0100000
-#define SP_FLAG_CABINETCONTINUATION 0x0000800
-#define SPCRP_SECURITY 23
-#define SPCRP_SECURITY_SDS 24
-#define SPCRP_DEVTYPE 25
-#define SPCRP_EXCLUSIVE 26
-#define SPCRP_CHARACTERISTICS 27
-#define SPCRP_MAXIMUM_PROPERTY 28
-#define SPDIT_NODRIVER 0
-#define SPDIT_CLASSDRIVER 1
-#define SPDIT_COMPATDRIVER 2
-#define SPDRP_DEVICEDESC 0
-#define SPDRP_HARDWAREID 1
-#define SPDRP_COMPATIBLEIDS 2
-#define SPDRP_UNUSED0 3
-#define SPDRP_SERVICE 4
-#define SPDRP_UNUSED1 5
-#define SPDRP_UNUSED2 6
-#define SPDRP_CLASS 7
-#define SPDRP_CLASSGUID 8
-#define SPDRP_DRIVER 9
-#define SPDRP_CONFIGFLAGS 10
-#define SPDRP_MFG 11
-#define SPDRP_FRIENDLYNAME 12
-#define SPDRP_LOCATION_INFORMATION 13
-#define SPDRP_PHYSICAL_DEVICE_OBJECT_NAME 14
-#define SPDRP_CAPABILITIES 15
-#define SPDRP_UI_NUMBER 16
-#define SPDRP_UPPERFILTERS 17
-#define SPDRP_LOWERFILTERS 18
-#define SPDRP_BUSTYPEGUID 19
-#define SPDRP_LEGACYBUSTYPE 20
-#define SPDRP_BUSNUMBER 21
-#define SPDRP_ENUMERATOR_NAME 22
-#define SPDRP_SECURITY 23
-#define SPDRP_SECURITY_SDS 24
-#define SPDRP_DEVTYPE 25
-#define SPDRP_EXCLUSIVE 26
-#define SPDRP_CHARACTERISTICS 27
-#define SPDRP_ADDRESS 28
-#define SPDRP_UI_NUMBER_DESC_FORMAT 30
-#define SPDRP_MAXIMUM_PROPERTY 31
-#define SPDSL_IGNORE_DISK 1
-#define SPDSL_DISALLOW_NEGATIVE_ADJUST 2
-
-#define SPFILENOTIFY_STARTQUEUE 1
-#define SPFILENOTIFY_ENDQUEUE 2
-#define SPFILENOTIFY_STARTSUBQUEUE 3
-#define SPFILENOTIFY_ENDSUBQUEUE 4
-#define SPFILENOTIFY_STARTDELETE 5
-#define SPFILENOTIFY_ENDDELETE 6
-#define SPFILENOTIFY_DELETEERROR 7
-#define SPFILENOTIFY_STARTRENAME 8
-#define SPFILENOTIFY_ENDRENAME 9
-#define SPFILENOTIFY_RENAMEERROR 10
-#define SPFILENOTIFY_STARTCOPY 11
-#define SPFILENOTIFY_ENDCOPY 12
-#define SPFILENOTIFY_COPYERROR 13
-#define SPFILENOTIFY_NEEDMEDIA 14
-#define SPFILENOTIFY_QUEUESCAN 15
-#define SPFILENOTIFY_CABINETINFO 16
-#define SPFILENOTIFY_FILEINCABINET 17
-#define SPFILENOTIFY_NEEDNEWCABINET 18
-#define SPFILENOTIFY_FILEEXTRACTED 19
-#define SPFILENOTIFY_FILEOPDELAYED 20
-#define SPFILENOTIFY_STARTBACKUP 21
-#define SPFILENOTIFY_BACKUPERROR 22
-#define SPFILENOTIFY_ENDBACKUP 23
-#define SPFILENOTIFY_QUEUESCAN_EX 24
-#define SPFILENOTIFY_LANGMISMATCH 0x00010000
-#define SPFILENOTIFY_TARGETEXISTS 0x00020000
-#define SPFILENOTIFY_TARGETNEWER 0x00040000
-#define SPFILELOG_SYSTEMLOG 0x00000001
-#define SPFILELOG_OEMFILE 0x00000001
-#define SPFILELOG_FORCENEW 0x00000002
-#define SPFILELOG_QUERYONLY 0x00000004
-#define SPFILEQ_FILE_IN_USE 0x00000001
-#define SPFILEQ_REBOOT_RECOMMENDED 0x00000002
-#define SPFILEQ_REBOOT_IN_PROGRESS 0x00000004
-#define SPINT_ACTIVE 0x00000001
-#define SPINT_DEFAULT 0x00000002
-#define SPINT_REMOVED 0x00000004
-#define SPID_ACTIVE 0x00000001
-#define SPID_DEFAULT 0x00000002
-#define SPID_REMOVED 0x00000004
-#define SPINST_LOGCONFIG 0x00000001
-#define SPINST_INIFILES 0x00000002
-#define SPINST_REGISTRY 0x00000004
-#define SPINST_INI2REG 0x00000008
-#define SPINST_FILES 0x00000010
-#define SPINST_BITREG 0x00000020
-#define SPINST_REGSVR 0x00000040
-#define SPINST_UNREGSVR 0x00000080
-#define SPINST_PROFILEITEMS 0x00000100
-#if (_SETUPAPI_VER >= 0x0501)
-#define SPINST_COPYINF 0x00000200
-#define SPINST_ALL 0x000003ff
-#else
-#define SPINST_ALL 0x000001ff
-#endif
-#define SPINST_SINGLESECTION 0x00010000
-#define SPINST_LOGCONFIG_IS_FORCED 0x00020000
-#define SPINST_LOGCONFIGS_ARE_OVERRIDES 0x00040000
-#define SPOST_NONE 0
-#define SPOST_PATH 1
-#define SPOST_URL 2
-#define SPOST_MAX 3
-#define SPPSR_SELECT_DEVICE_RESOURCES 1
-#define SPPSR_ENUM_BASIC_DEVICE_PROPERTIES 2
-#define SPPSR_ENUM_ADV_DEVICE_PROPERTIES 3
-#define SPQ_SCAN_FILE_PRESENCE 0x00000001
-#define SPQ_DELAYED_COPY 0x00000001
-#define SPQ_SCAN_FILE_VALIDITY 0x00000002
-#define SPQ_SCAN_USE_CALLBACK 0x00000004
-#define SPQ_SCAN_USE_CALLBACKEX 0x00000008
-#define SPQ_SCAN_INFORM_USER 0x00000010
-#define SPQ_SCAN_PRUNE_COPY_QUEUE 0x00000020
-#define SPRDI_FIND_DUPS 0x00000001
-#define SPSVCINST_TAGTOFRONT 0x00000001
-#define SPSVCINST_ASSOCSERVICE 0x00000002
-#define SPSVCINST_DELETEEVENTLOGENTRY 0x00000004
-#define SPSVCINST_NOCLOBBER_DISPLAYNAME 0x00000008
-#define SPSVCINST_NOCLOBBER_STARTTYPE 0x00000010
-#define SPSVCINST_NOCLOBBER_ERRORCONTROL 0x00000020
-#define SPSVCINST_NOCLOBBER_LOADORDERGROUP 0x00000040
-#define SPSVCINST_NOCLOBBER_DEPENDENCIES 0x00000080
-#define SPSVCINST_NOCLOBBER_DESCRIPTION 0x00000100
-#define SPSVCINST_STOPSERVICE 0x00000200
-#define SPWPT_SELECTDEVICE 0x00000001
-#define SPWP_USE_DEVINFO_DATA 0x00000001
-#define SRCINFO_PATH 1
-#define SRCINFO_TAGFILE 2
-#define SRCINFO_DESCRIPTION 3
-#define SRCINFO_FLAGS 4
-#define SRCLIST_TEMPORARY 0x00000001
-#define SRCLIST_NOBROWSE 0x00000002
-#define SRCLIST_SYSTEM 0x00000010
-#define SRCLIST_USER 0x00000020
-#define SRCLIST_SYSIFADMIN 0x00000040
-#define SRCLIST_SUBDIRS 0x00000100
-#define SRCLIST_APPEND 0x00000200
-#define SRCLIST_NOSTRIPPLATFORM 0x00000400
-
-#ifndef RC_INVOKED
-typedef PVOID HINF;
-typedef PVOID HDSKSPC;
-typedef PVOID HDEVINFO;
-typedef PVOID HSPFILEQ;
-typedef PVOID HSPFILELOG;
-typedef UINT DI_FUNCTION;
-
-typedef enum {
- SetupFileLogSourceFilename,
- SetupFileLogChecksum,
- SetupFileLogDiskTagfile,
- SetupFileLogDiskDescription,
- SetupFileLogOtherInfo,
- SetupFileLogMax
-} SetupFileLogInfo;
-typedef struct _INFCONTEXT {
- PVOID Inf;
- PVOID CurrentInf;
- UINT Section;
- UINT Line;
-} INFCONTEXT, *PINFCONTEXT;
-typedef struct _SP_INF_INFORMATION {
- DWORD InfStyle;
- DWORD InfCount;
- BYTE VersionData[ANYSIZE_ARRAY];
-} SP_INF_INFORMATION, *PSP_INF_INFORMATION;
-typedef struct _SP_ALTPLATFORM_INFO {
- DWORD cbSize;
- DWORD Platform;
- DWORD MajorVersion;
- DWORD MinorVersion;
- WORD ProcessorArchitecture;
- WORD Reserved;
-} SP_ALTPLATFORM_INFO, *PSP_ALTPLATFORM_INFO;
-typedef struct _SP_ORIGINAL_FILE_INFO_A {
- DWORD cbSize;
- CHAR OriginalInfName[MAX_PATH];
- CHAR OriginalCatalogName[MAX_PATH];
-} SP_ORIGINAL_FILE_INFO_A, *PSP_ORIGINAL_FILE_INFO_A;
-typedef struct _SP_ORIGINAL_FILE_INFO_W {
- DWORD cbSize;
- WCHAR OriginalInfName[MAX_PATH];
- WCHAR OriginalCatalogName[MAX_PATH];
-} SP_ORIGINAL_FILE_INFO_W, *PSP_ORIGINAL_FILE_INFO_W;
-typedef struct _FILEPATHS_A {
- PCSTR Target;
- PCSTR Source;
- UINT Win32Error;
- DWORD Flags;
-} FILEPATHS_A, *PFILEPATHS_A;
-typedef struct _FILEPATHS_W {
- PCWSTR Target;
- PCWSTR Source;
- UINT Win32Error;
- DWORD Flags;
-} FILEPATHS_W, *PFILEPATHS_W;
-typedef struct _SOURCE_MEDIA_A {
- PCSTR Reserved;
- PCSTR Tagfile;
- PCSTR Description;
- PCSTR SourcePath;
- PCSTR SourceFile;
- DWORD Flags;
-} SOURCE_MEDIA_A, *PSOURCE_MEDIA_A;
-typedef struct _SOURCE_MEDIA_W {
- PCWSTR Reserved;
- PCWSTR Tagfile;
- PCWSTR Description;
- PCWSTR SourcePath;
- PCWSTR SourceFile;
- DWORD Flags;
-} SOURCE_MEDIA_W, *PSOURCE_MEDIA_W;
-typedef struct _CABINET_INFO_A {
- PCSTR CabinetPath;
- PCSTR CabinetFile;
- PCSTR DiskName;
- USHORT SetId;
- USHORT CabinetNumber;
-} CABINET_INFO_A, *PCABINET_INFO_A;
-typedef struct _CABINET_INFO_W {
- PCWSTR CabinetPath;
- PCWSTR CabinetFile;
- PCWSTR DiskName;
- USHORT SetId;
- USHORT CabinetNumber;
-} CABINET_INFO_W, *PCABINET_INFO_W;
-typedef struct _FILE_IN_CABINET_INFO_A {
- PCSTR NameInCabinet;
- DWORD FileSize;
- DWORD Win32Error;
- WORD DosDate;
- WORD DosTime;
- WORD DosAttribs;
- CHAR FullTargetName[MAX_PATH];
-} FILE_IN_CABINET_INFO_A, *PFILE_IN_CABINET_INFO_A;
-typedef struct _FILE_IN_CABINET_INFO_W {
- PCWSTR NameInCabinet;
- DWORD FileSize;
- DWORD Win32Error;
- WORD DosDate;
- WORD DosTime;
- WORD DosAttribs;
- WCHAR FullTargetName[MAX_PATH];
-} FILE_IN_CABINET_INFO_W, *PFILE_IN_CABINET_INFO_W;
-typedef struct _SP_FILE_COPY_PARAMS_A {
- DWORD cbSize;
- HSPFILEQ QueueHandle;
- PCSTR SourceRootPath;
- PCSTR SourcePath;
- PCSTR SourceFilename;
- PCSTR SourceDescription;
- PCSTR SourceTagfile;
- PCSTR TargetDirectory;
- PCSTR TargetFilename;
- DWORD CopyStyle;
- HINF LayoutInf;
- PCSTR SecurityDescriptor;
-} SP_FILE_COPY_PARAMS_A, *PSP_FILE_COPY_PARAMS_A;
-typedef struct _SP_FILE_COPY_PARAMS_W {
- DWORD cbSize;
- HSPFILEQ QueueHandle;
- PCWSTR SourceRootPath;
- PCWSTR SourcePath;
- PCWSTR SourceFilename;
- PCWSTR SourceDescription;
- PCWSTR SourceTagfile;
- PCWSTR TargetDirectory;
- PCWSTR TargetFilename;
- DWORD CopyStyle;
- HINF LayoutInf;
- PCWSTR SecurityDescriptor;
-} SP_FILE_COPY_PARAMS_W, *PSP_FILE_COPY_PARAMS_W;
-typedef struct _SP_DEVINFO_DATA {
- DWORD cbSize;
- GUID ClassGuid;
- DWORD DevInst;
- ULONG_PTR Reserved;
-} SP_DEVINFO_DATA, *PSP_DEVINFO_DATA;
-typedef struct _SP_DEVICE_INTERFACE_DATA {
- DWORD cbSize;
- GUID InterfaceClassGuid;
- DWORD Flags;
- ULONG_PTR Reserved;
-} SP_DEVICE_INTERFACE_DATA, *PSP_DEVICE_INTERFACE_DATA;
-/* For backward compatability */
-typedef SP_DEVICE_INTERFACE_DATA SP_INTERFACE_DEVICE_DATA, *PSP_INTERFACE_DEVICE_DATA;
-
-typedef struct _SP_DEVICE_INTERFACE_DETAIL_DATA_A {
- DWORD cbSize;
- CHAR DevicePath[ANYSIZE_ARRAY];
-} SP_DEVICE_INTERFACE_DETAIL_DATA_A, *PSP_DEVICE_INTERFACE_DETAIL_DATA_A;
-typedef struct _SP_DEVICE_INTERFACE_DETAIL_DATA_W {
- DWORD cbSize;
- WCHAR DevicePath[ANYSIZE_ARRAY];
-} SP_DEVICE_INTERFACE_DETAIL_DATA_W, *PSP_DEVICE_INTERFACE_DETAIL_DATA_W;
-/* For backward compatability */
-typedef SP_DEVICE_INTERFACE_DETAIL_DATA_A SP_INTERFACE_DEVICE_DETAIL_DATA_A,
- *PSP_INTERFACE_DEVICE_DETAIL_DATA_A;
-typedef SP_DEVICE_INTERFACE_DETAIL_DATA_W SP_INTERFACE_DEVICE_DETAIL_DATA_W,
- *PSP_INTERFACE_DEVICE_DETAIL_DATA_W;
-
-typedef struct _SP_DEVINFO_LIST_DETAIL_DATA_A {
- DWORD cbSize;
- GUID ClassGuid;
- HANDLE RemoteMachineHandle;
- CHAR RemoteMachineName[SP_MAX_MACHINENAME_LENGTH];
-} SP_DEVINFO_LIST_DETAIL_DATA_A, *PSP_DEVINFO_LIST_DETAIL_DATA_A;
-typedef struct _SP_DEVINFO_LIST_DETAIL_DATA_W {
- DWORD cbSize;
- GUID ClassGuid;
- HANDLE RemoteMachineHandle;
- WCHAR RemoteMachineName[SP_MAX_MACHINENAME_LENGTH];
-} SP_DEVINFO_LIST_DETAIL_DATA_W, *PSP_DEVINFO_LIST_DETAIL_DATA_W;
-
-typedef UINT (CALLBACK* PSP_FILE_CALLBACK_A)(PVOID,UINT,UINT_PTR,UINT_PTR);
-typedef UINT (CALLBACK* PSP_FILE_CALLBACK_W)(PVOID,UINT,UINT_PTR,UINT_PTR);
-typedef struct _SP_DEVINSTALL_PARAMS_A {
- DWORD cbSize;
- DWORD Flags;
- DWORD FlagsEx;
- HWND hwndParent;
- PSP_FILE_CALLBACK_A InstallMsgHandler;
- PVOID InstallMsgHandlerContext;
- HSPFILEQ FileQueue;
- ULONG_PTR ClassInstallReserved;
- DWORD Reserved;
- CHAR DriverPath[MAX_PATH];
-} SP_DEVINSTALL_PARAMS_A, *PSP_DEVINSTALL_PARAMS_A;
-typedef struct _SP_DEVINSTALL_PARAMS_W {
- DWORD cbSize;
- DWORD Flags;
- DWORD FlagsEx;
- HWND hwndParent;
- PSP_FILE_CALLBACK_W InstallMsgHandler;
- PVOID InstallMsgHandlerContext;
- HSPFILEQ FileQueue;
- ULONG_PTR ClassInstallReserved;
- DWORD Reserved;
- WCHAR DriverPath[MAX_PATH];
-} SP_DEVINSTALL_PARAMS_W, *PSP_DEVINSTALL_PARAMS_W;
-typedef struct _SP_CLASSINSTALL_HEADER {
- DWORD cbSize;
- DI_FUNCTION InstallFunction;
-} SP_CLASSINSTALL_HEADER, *PSP_CLASSINSTALL_HEADER;
-typedef struct _SP_ENABLECLASS_PARAMS {
- SP_CLASSINSTALL_HEADER ClassInstallHeader;
- GUID ClassGuid;
- DWORD EnableMessage;
-} SP_ENABLECLASS_PARAMS, *PSP_ENABLECLASS_PARAMS;
-typedef struct _SP_MOVEDEV_PARAMS {
- SP_CLASSINSTALL_HEADER ClassInstallHeader;
- SP_DEVINFO_DATA SourceDeviceInfoData;
-} SP_MOVEDEV_PARAMS, *PSP_MOVEDEV_PARAMS;
-typedef struct _SP_PROPCHANGE_PARAMS {
- SP_CLASSINSTALL_HEADER ClassInstallHeader;
- DWORD StateChange;
- DWORD Scope;
- DWORD HwProfile;
-} SP_PROPCHANGE_PARAMS, *PSP_PROPCHANGE_PARAMS;
-typedef struct _SP_REMOVEDEVICE_PARAMS {
- SP_CLASSINSTALL_HEADER ClassInstallHeader;
- DWORD Scope;
- DWORD HwProfile;
-} SP_REMOVEDEVICE_PARAMS, *PSP_REMOVEDEVICE_PARAMS;
-typedef struct _SP_UNREMOVEDEVICE_PARAMS {
- SP_CLASSINSTALL_HEADER ClassInstallHeader;
- DWORD Scope;
- DWORD HwProfile;
-} SP_UNREMOVEDEVICE_PARAMS, *PSP_UNREMOVEDEVICE_PARAMS;
-typedef struct _SP_SELECTDEVICE_PARAMS_A {
- SP_CLASSINSTALL_HEADER ClassInstallHeader;
- CHAR Title[MAX_TITLE_LEN];
- CHAR Instructions[MAX_INSTRUCTION_LEN];
- CHAR ListLabel[MAX_LABEL_LEN];
- CHAR SubTitle[MAX_SUBTITLE_LEN];
- BYTE Reserved[2];
-} SP_SELECTDEVICE_PARAMS_A, *PSP_SELECTDEVICE_PARAMS_A;
-typedef struct _SP_SELECTDEVICE_PARAMS_W {
- SP_CLASSINSTALL_HEADER ClassInstallHeader;
- WCHAR Title[MAX_TITLE_LEN];
- WCHAR Instructions[MAX_INSTRUCTION_LEN];
- WCHAR ListLabel[MAX_LABEL_LEN];
- WCHAR SubTitle[MAX_SUBTITLE_LEN];
-} SP_SELECTDEVICE_PARAMS_W, *PSP_SELECTDEVICE_PARAMS_W;
-
-typedef BOOL (CALLBACK* PDETECT_PROGRESS_NOTIFY)(PVOID,DWORD);
-typedef struct _SP_DETECTDEVICE_PARAMS {
- SP_CLASSINSTALL_HEADER ClassInstallHeader;
- PDETECT_PROGRESS_NOTIFY DetectProgressNotify;
- PVOID ProgressNotifyParam;
-} SP_DETECTDEVICE_PARAMS, *PSP_DETECTDEVICE_PARAMS;
-typedef struct _SP_INSTALLWIZARD_DATA {
- SP_CLASSINSTALL_HEADER ClassInstallHeader;
- DWORD Flags;
- HPROPSHEETPAGE DynamicPages[MAX_INSTALLWIZARD_DYNAPAGES];
- DWORD NumDynamicPages;
- DWORD DynamicPageFlags;
- DWORD PrivateFlags;
- LPARAM PrivateData;
- HWND hwndWizardDlg;
-} SP_INSTALLWIZARD_DATA, *PSP_INSTALLWIZARD_DATA;
-typedef struct _SP_NEWDEVICEWIZARD_DATA {
- SP_CLASSINSTALL_HEADER ClassInstallHeader;
- DWORD Flags;
- HPROPSHEETPAGE DynamicPages[MAX_INSTALLWIZARD_DYNAPAGES];
- DWORD NumDynamicPages;
- HWND hwndWizardDlg;
-} SP_NEWDEVICEWIZARD_DATA, *PSP_NEWDEVICEWIZARD_DATA;
-typedef SP_NEWDEVICEWIZARD_DATA SP_ADDPROPERTYPAGE_DATA,
- *PSP_ADDPROPERTYPAGE_DATA;
-typedef struct _SP_TROUBLESHOOTER_PARAMS_A {
- SP_CLASSINSTALL_HEADER ClassInstallHeader;
- CHAR ChmFile[MAX_PATH];
- CHAR HtmlTroubleShooter[MAX_PATH];
-} SP_TROUBLESHOOTER_PARAMS_A, *PSP_TROUBLESHOOTER_PARAMS_A;
-typedef struct _SP_TROUBLESHOOTER_PARAMS_W {
- SP_CLASSINSTALL_HEADER ClassInstallHeader;
- WCHAR ChmFile[MAX_PATH];
- WCHAR HtmlTroubleShooter[MAX_PATH];
-} SP_TROUBLESHOOTER_PARAMS_W, *PSP_TROUBLESHOOTER_PARAMS_W;
-typedef struct _SP_POWERMESSAGEWAKE_PARAMS_A {
- SP_CLASSINSTALL_HEADER ClassInstallHeader;
- CHAR PowerMessageWake[LINE_LEN*2];
-} SP_POWERMESSAGEWAKE_PARAMS_A, *PSP_POWERMESSAGEWAKE_PARAMS_A;
-typedef struct _SP_POWERMESSAGEWAKE_PARAMS_W {
- SP_CLASSINSTALL_HEADER ClassInstallHeader;
- WCHAR PowerMessageWake[LINE_LEN*2];
-} SP_POWERMESSAGEWAKE_PARAMS_W, *PSP_POWERMESSAGEWAKE_PARAMS_W;
-typedef struct _SP_DRVINFO_DATA_V2_A {
- DWORD cbSize;
- DWORD DriverType;
- ULONG_PTR Reserved;
- CHAR Description[LINE_LEN];
- CHAR MfgName[LINE_LEN];
- CHAR ProviderName[LINE_LEN];
- FILETIME DriverDate;
- DWORDLONG DriverVersion;
-} SP_DRVINFO_DATA_V2_A, *PSP_DRVINFO_DATA_V2_A;
-typedef struct _SP_DRVINFO_DATA_V2_W {
- DWORD cbSize;
- DWORD DriverType;
- ULONG_PTR Reserved;
- WCHAR Description[LINE_LEN];
- WCHAR MfgName[LINE_LEN];
- WCHAR ProviderName[LINE_LEN];
- FILETIME DriverDate;
- DWORDLONG DriverVersion;
-} SP_DRVINFO_DATA_V2_W, *PSP_DRVINFO_DATA_V2_W;
-typedef struct _SP_DRVINFO_DATA_V1_A {
- DWORD cbSize;
- DWORD DriverType;
- ULONG_PTR Reserved;
- CHAR Description[LINE_LEN];
- CHAR MfgName[LINE_LEN];
- CHAR ProviderName[LINE_LEN];
-} SP_DRVINFO_DATA_V1_A, *PSP_DRVINFO_DATA_V1_A;
-typedef struct _SP_DRVINFO_DATA_V1_W {
- DWORD cbSize;
- DWORD DriverType;
- ULONG_PTR Reserved;
- WCHAR Description[LINE_LEN];
- WCHAR MfgName[LINE_LEN];
- WCHAR ProviderName[LINE_LEN];
-} SP_DRVINFO_DATA_V1_W, *PSP_DRVINFO_DATA_V1_W;
-
-#ifdef UNICODE
-typedef SP_DRVINFO_DATA_V1_W SP_DRVINFO_DATA_V1, *PSP_DRVINFO_DATA_V1;
-typedef SP_DRVINFO_DATA_V2_W SP_DRVINFO_DATA_V2, *PSP_DRVINFO_DATA_V2;
-#else
-typedef SP_DRVINFO_DATA_V1_A SP_DRVINFO_DATA_V1, *PSP_DRVINFO_DATA_V1;
-typedef SP_DRVINFO_DATA_V2_A SP_DRVINFO_DATA_V2, *PSP_DRVINFO_DATA_V2;
-#endif
-
-#if USE_SP_DRVINFO_DATA_V1
-typedef SP_DRVINFO_DATA_V1_A SP_DRVINFO_DATA_A, *PSP_DRVINFO_DATA_A;
-typedef SP_DRVINFO_DATA_V1_W SP_DRVINFO_DATA_W, *PSP_DRVINFO_DATA_W;
-typedef SP_DRVINFO_DATA_V1 SP_DRVINFO_DATA, *PSP_DRVINFO_DATA;
-#else
-typedef SP_DRVINFO_DATA_V2_A SP_DRVINFO_DATA_A, *PSP_DRVINFO_DATA_A;
-typedef SP_DRVINFO_DATA_V2_W SP_DRVINFO_DATA_W, *PSP_DRVINFO_DATA_W;
-typedef SP_DRVINFO_DATA_V2 SP_DRVINFO_DATA, *PSP_DRVINFO_DATA;
-#endif
-
-typedef DWORD (CALLBACK* PSP_DETSIG_CMPPROC)(HDEVINFO,PSP_DEVINFO_DATA,PSP_DEVINFO_DATA,PVOID);
-
-typedef struct _SP_DRVINFO_DETAIL_DATA_A {
- DWORD cbSize;
- FILETIME InfDate;
- DWORD CompatIDsOffset;
- DWORD CompatIDsLength;
- ULONG_PTR Reserved;
- CHAR SectionName[LINE_LEN];
- CHAR InfFileName[MAX_PATH];
- CHAR DrvDescription[LINE_LEN];
- CHAR HardwareID[ANYSIZE_ARRAY];
-} SP_DRVINFO_DETAIL_DATA_A, *PSP_DRVINFO_DETAIL_DATA_A;
-typedef struct _SP_DRVINFO_DETAIL_DATA_W {
- DWORD cbSize;
- FILETIME InfDate;
- DWORD CompatIDsOffset;
- DWORD CompatIDsLength;
- ULONG_PTR Reserved;
- WCHAR SectionName[LINE_LEN];
- WCHAR InfFileName[MAX_PATH];
- WCHAR DrvDescription[LINE_LEN];
- WCHAR HardwareID[ANYSIZE_ARRAY];
-} SP_DRVINFO_DETAIL_DATA_W, *PSP_DRVINFO_DETAIL_DATA_W;
-typedef struct _SP_DRVINSTALL_PARAMS {
- DWORD cbSize;
- DWORD Rank;
- DWORD Flags;
- DWORD_PTR PrivateData;
- DWORD Reserved;
-} SP_DRVINSTALL_PARAMS, *PSP_DRVINSTALL_PARAMS;
-
-
-typedef struct _COINSTALLER_CONTEXT_DATA {
- BOOL PostProcessing;
- DWORD InstallResult;
- PVOID PrivateData;
-} COINSTALLER_CONTEXT_DATA, *PCOINSTALLER_CONTEXT_DATA;
-typedef struct _SP_CLASSIMAGELIST_DATA {
- DWORD cbSize;
- HIMAGELIST ImageList;
- ULONG_PTR Reserved;
-} SP_CLASSIMAGELIST_DATA, *PSP_CLASSIMAGELIST_DATA;
-typedef struct _SP_PROPSHEETPAGE_REQUEST {
- DWORD cbSize;
- DWORD PageRequested;
- HDEVINFO DeviceInfoSet;
- PSP_DEVINFO_DATA DeviceInfoData;
-} SP_PROPSHEETPAGE_REQUEST, *PSP_PROPSHEETPAGE_REQUEST;
-typedef struct _SP_BACKUP_QUEUE_PARAMS_A {
- DWORD cbSize;
- CHAR FullInfPath[MAX_PATH];
- INT FilenameOffset;
-} SP_BACKUP_QUEUE_PARAMS_A, *PSP_BACKUP_QUEUE_PARAMS_A;
-typedef struct _SP_BACKUP_QUEUE_PARAMS_W {
- DWORD cbSize;
- WCHAR FullInfPath[MAX_PATH];
- INT FilenameOffset;
-} SP_BACKUP_QUEUE_PARAMS_W, *PSP_BACKUP_QUEUE_PARAMS_W;
-
-
-#ifdef UNICODE
-typedef SP_ORIGINAL_FILE_INFO_W SP_ORIGINAL_FILE_INFO, *PSP_ORIGINAL_FILE_INFO;
-typedef FILEPATHS_W FILEPATHS, *PFILEPATHS;
-typedef SOURCE_MEDIA_W SOURCE_MEDIA, *PSOURCE_MEDIA;
-typedef CABINET_INFO_W CABINET_INFO, *PCABINET_INFO;
-typedef FILE_IN_CABINET_INFO_W FILE_IN_CABINET_INFO, *PFILE_IN_CABINET_INFO;
-typedef SP_FILE_COPY_PARAMS_W SP_FILE_COPY_PARAMS, PSP_FILE_COPY_PARAMS;
-typedef SP_DEVICE_INTERFACE_DETAIL_DATA_W SP_DEVICE_INTERFACE_DETAIL_DATA,
- *PSP_DEVICE_INTERFACE_DETAIL_DATA;
-typedef SP_INTERFACE_DEVICE_DETAIL_DATA_W SP_INTERFACE_DEVICE_DETAIL_DATA,
- *PSP_INTERFACE_DEVICE_DETAIL_DATA; /* deprecated */
-typedef SP_DEVINFO_LIST_DETAIL_DATA_W SP_DEVINFO_LIST_DETAIL_DATA,
- *PSP_DEVINFO_LIST_DETAIL_DATA;
-typedef SP_DEVINSTALL_PARAMS_W SP_DEVINSTALL_PARAMS, *PSP_DEVINSTALL_PARAMS;
-typedef SP_SELECTDEVICE_PARAMS_W SP_SELECTDEVICE_PARAMS, *PSP_SELECTDEVICE_PARAMS;
-typedef SP_TROUBLESHOOTER_PARAMS_W SP_TROUBLESHOOTER_PARAMS,
- *PSP_TROUBLESHOOTER_PARAMS;
-typedef SP_POWERMESSAGEWAKE_PARAMS_W SP_POWERMESSAGEWAKE_PARAMS,
- *PSP_POWERMESSAGEWAKE_PARAMS;
-typedef SP_DRVINFO_DETAIL_DATA_W SP_DRVINFO_DETAIL_DATA,
- *PSP_DRVINFO_DETAIL_DATA;
-typedef SP_BACKUP_QUEUE_PARAMS_W SP_BACKUP_QUEUE_PARAMS,
- *PSP_BACKUP_QUEUE_PARAMS;
-#else
-typedef SP_ORIGINAL_FILE_INFO_A SP_ORIGINAL_FILE_INFO, *PSP_ORIGINAL_FILE_INFO;
-typedef FILEPATHS_A FILEPATHS, *PFILEPATHS;
-typedef SOURCE_MEDIA_A SOURCE_MEDIA, *PSOURCE_MEDIA;
-typedef CABINET_INFO_A CABINET_INFO, *PCABINET_INFO;
-typedef FILE_IN_CABINET_INFO_A FILE_IN_CABINET_INFO, *PFILE_IN_CABINET_INFO;
-typedef SP_FILE_COPY_PARAMS_A SP_FILE_COPY_PARAMS, *PSP_FILE_COPY_PARAMS;
-typedef SP_DEVICE_INTERFACE_DETAIL_DATA_A SP_DEVICE_INTERFACE_DETAIL_DATA,
- *PSP_DEVICE_INTERFACE_DETAIL_DATA;
-typedef SP_INTERFACE_DEVICE_DETAIL_DATA_A SP_INTERFACE_DEVICE_DETAIL_DATA,
- *PSP_INTERFACE_DEVICE_DETAIL_DATA; /* deprecated */
-typedef SP_DEVINFO_LIST_DETAIL_DATA_A SP_DEVINFO_LIST_DETAIL_DATA,
- *PSP_DEVINFO_LIST_DETAIL_DATA;
-typedef SP_DEVINSTALL_PARAMS_A SP_DEVINSTALL_PARAMS, *PSP_DEVINSTALL_PARAMS;
-typedef SP_SELECTDEVICE_PARAMS_A SP_SELECTDEVICE_PARAMS,
- *PSP_SELECTDEVICE_PARAMS;
-typedef SP_TROUBLESHOOTER_PARAMS_A SP_TROUBLESHOOTER_PARAMS,
- *PSP_TROUBLESHOOTER_PARAMS;
-typedef SP_POWERMESSAGEWAKE_PARAMS_A SP_POWERMESSAGEWAKE_PARAMS,
- *PSP_POWERMESSAGEWAKE_PARAMS;
-typedef SP_DRVINFO_DETAIL_DATA_A SP_DRVINFO_DETAIL_DATA,
- *PSP_DRVINFO_DETAIL_DATA;
-typedef SP_BACKUP_QUEUE_PARAMS_A SP_BACKUP_QUEUE_PARAMS,
- *PSP_BACKUP_QUEUE_PARAMS;
-#endif /* UNICODE */
-
-WINSETUPAPI BOOL WINAPI SetupAddInstallSectionToDiskSpaceListA(HDSKSPC,HINF,HINF,PCSTR,PVOID,UINT);
-WINSETUPAPI BOOL WINAPI SetupAddInstallSectionToDiskSpaceListW(HDSKSPC,HINF,HINF,PCWSTR,PVOID,UINT);
-WINSETUPAPI BOOL WINAPI SetupAddSectionToDiskSpaceListA(HDSKSPC,HINF,HINF,PCSTR,UINT,PVOID,UINT);
-WINSETUPAPI BOOL WINAPI SetupAddSectionToDiskSpaceListW(HDSKSPC,HINF,HINF,PCWSTR,UINT,PVOID,UINT);
-WINSETUPAPI BOOL WINAPI SetupAddToDiskSpaceListA(HDSKSPC,PCSTR,LONGLONG,UINT,PVOID,UINT);
-WINSETUPAPI BOOL WINAPI SetupAddToDiskSpaceListW(HDSKSPC,PCWSTR,LONGLONG,UINT,PVOID,UINT);
-WINSETUPAPI BOOL WINAPI SetupAddToSourceListA(DWORD,PCSTR);
-WINSETUPAPI BOOL WINAPI SetupAddToSourceListW(DWORD,PCWSTR);
-WINSETUPAPI BOOL WINAPI SetupAdjustDiskSpaceListA(HDSKSPC,LPCSTR,LONGLONG,PVOID,UINT);
-WINSETUPAPI BOOL WINAPI SetupAdjustDiskSpaceListW(HDSKSPC,LPCWSTR,LONGLONG,PVOID,UINT);
-WINSETUPAPI UINT WINAPI SetupBackupErrorA(HWND,PCSTR,PCSTR,PCSTR,UINT,DWORD);
-WINSETUPAPI UINT WINAPI SetupBackupErrorW(HWND,PCWSTR,PCWSTR,PCWSTR,UINT,DWORD);
-WINSETUPAPI BOOL WINAPI SetupCancelTemporary(VOID);
-WINSETUPAPI BOOL WINAPI SetupCloseFileQueue(HSPFILEQ);
-WINSETUPAPI VOID WINAPI SetupCloseInfFile(HINF);
-WINSETUPAPI VOID WINAPI SetupCloseLog(VOID);
-WINSETUPAPI BOOL WINAPI SetupCommitFileQueueA(HWND,HSPFILEQ,PSP_FILE_CALLBACK_A,PVOID);
-WINSETUPAPI BOOL WINAPI SetupCommitFileQueueW(HWND,HSPFILEQ,PSP_FILE_CALLBACK_W,PVOID);
-WINSETUPAPI UINT WINAPI SetupCopyErrorA(HWND,PCSTR,PCSTR,PCSTR,PCSTR,PCSTR,UINT,DWORD,PSTR,DWORD,PDWORD);
-WINSETUPAPI UINT WINAPI SetupCopyErrorW(HWND,PCWSTR,PCWSTR,PCWSTR,PCWSTR,PCWSTR,UINT,DWORD,PWSTR,DWORD,PDWORD);
-WINSETUPAPI BOOL WINAPI SetupCopyOEMInfA(PCSTR,PCSTR,DWORD,DWORD,PSTR,DWORD,PDWORD,PSTR*);
-WINSETUPAPI BOOL WINAPI SetupCopyOEMInfW(PCWSTR,PCWSTR,DWORD,DWORD,PWSTR,DWORD,PDWORD,PWSTR*);
-WINSETUPAPI HDSKSPC WINAPI SetupCreateDiskSpaceListA(PVOID,DWORD,UINT);
-WINSETUPAPI HDSKSPC WINAPI SetupCreateDiskSpaceListW(PVOID,DWORD,UINT);
-WINSETUPAPI DWORD WINAPI SetupDecompressOrCopyFileA(PCSTR,PCSTR,PUINT);
-WINSETUPAPI DWORD WINAPI SetupDecompressOrCopyFileW(PCWSTR,PCWSTR,PUINT);
-WINSETUPAPI UINT WINAPI SetupDefaultQueueCallbackA(PVOID,UINT,UINT_PTR,UINT_PTR);
-WINSETUPAPI UINT WINAPI SetupDefaultQueueCallbackW(PVOID,UINT,UINT_PTR,UINT_PTR);
-WINSETUPAPI UINT WINAPI SetupDeleteErrorA(HWND,PCSTR,PCSTR,UINT,DWORD);
-WINSETUPAPI UINT WINAPI SetupDeleteErrorW(HWND,PCWSTR,PCWSTR,UINT,DWORD);
-WINSETUPAPI BOOL WINAPI SetupDestroyDiskSpaceList(HDSKSPC);
-WINSETUPAPI BOOL WINAPI SetupDiAskForOEMDisk(HDEVINFO,PSP_DEVINFO_DATA);
-WINSETUPAPI BOOL WINAPI SetupDiBuildClassInfoList(DWORD,LPGUID,DWORD,PDWORD);
-WINSETUPAPI BOOL WINAPI SetupDiBuildClassInfoListExA(DWORD,LPGUID,DWORD,PDWORD,PCSTR,PVOID);
-WINSETUPAPI BOOL WINAPI SetupDiBuildClassInfoListExW(DWORD,LPGUID,DWORD,PDWORD,PCWSTR,PVOID);
-WINSETUPAPI BOOL WINAPI SetupDiBuildDriverInfoList(HDEVINFO,PSP_DEVINFO_DATA,DWORD);
-WINSETUPAPI BOOL WINAPI SetupDiCallClassInstaller(DI_FUNCTION,HDEVINFO,PSP_DEVINFO_DATA);
-WINSETUPAPI BOOL WINAPI SetupDiCancelDriverInfoSearch(HDEVINFO);
-WINSETUPAPI BOOL WINAPI SetupDiChangeState(HDEVINFO,PSP_DEVINFO_DATA);
-WINSETUPAPI BOOL WINAPI SetupDiClassGuidsFromNameA(PCSTR,LPGUID,DWORD,PDWORD);
-WINSETUPAPI BOOL WINAPI SetupDiClassGuidsFromNameW(PCWSTR,LPGUID,DWORD,PDWORD);
-WINSETUPAPI BOOL WINAPI SetupDiClassGuidsFromNameExA(PCSTR,LPGUID,DWORD,PDWORD,PCSTR,PVOID);
-WINSETUPAPI BOOL WINAPI SetupDiClassGuidsFromNameExW(PCWSTR,LPGUID,DWORD,PDWORD,PCWSTR,PVOID);
-WINSETUPAPI BOOL WINAPI SetupDiClassNameFromGuidA(CONST GUID*,PSTR,DWORD,PDWORD);
-WINSETUPAPI BOOL WINAPI SetupDiClassNameFromGuidW(CONST GUID*,PWSTR,DWORD,PDWORD);
-WINSETUPAPI BOOL WINAPI SetupDiClassNameFromGuidExA(CONST GUID*,PSTR,DWORD,PDWORD,PCSTR,PVOID);
-WINSETUPAPI BOOL WINAPI SetupDiClassNameFromGuidExW(CONST GUID*,PWSTR,DWORD,PDWORD,PCWSTR,PVOID);
-WINSETUPAPI BOOL WINAPI SetupDiCreateDeviceInfoA(HDEVINFO,PCSTR,CONST GUID*,PCSTR,HWND,DWORD,PSP_DEVINFO_DATA);
-WINSETUPAPI BOOL WINAPI SetupDiCreateDeviceInfoW(HDEVINFO,PCWSTR,CONST GUID*,PCWSTR,HWND,DWORD,PSP_DEVINFO_DATA);
-WINSETUPAPI HDEVINFO WINAPI SetupDiCreateDeviceInfoList(CONST GUID*,HWND);
-WINSETUPAPI HDEVINFO WINAPI SetupDiCreateDeviceInfoListExA(CONST GUID*,HWND,PCSTR,PVOID);
-WINSETUPAPI HDEVINFO WINAPI SetupDiCreateDeviceInfoListExW(CONST GUID*,HWND,PCWSTR,PVOID);
-WINSETUPAPI BOOL WINAPI SetupDiCreateDeviceInterfaceA(HDEVINFO,PSP_DEVINFO_DATA,CONST GUID*,PCSTR,DWORD,PSP_DEVICE_INTERFACE_DATA);
-WINSETUPAPI BOOL WINAPI SetupDiCreateDeviceInterfaceW(HDEVINFO,PSP_DEVINFO_DATA,CONST GUID*,PCWSTR,DWORD,PSP_DEVICE_INTERFACE_DATA);
-WINSETUPAPI HKEY WINAPI SetupDiCreateDeviceInterfaceRegKeyA(HDEVINFO,PSP_DEVICE_INTERFACE_DATA,DWORD,REGSAM,HINF,PCSTR);
-WINSETUPAPI HKEY WINAPI SetupDiCreateDeviceInterfaceRegKeyW(HDEVINFO,PSP_DEVICE_INTERFACE_DATA,DWORD,REGSAM,HINF,PCWSTR);
-WINSETUPAPI HKEY WINAPI SetupDiCreateDevRegKeyA(HDEVINFO,PSP_DEVINFO_DATA,DWORD,DWORD,DWORD,HINF,PCSTR);
-WINSETUPAPI HKEY WINAPI SetupDiCreateDevRegKeyW(HDEVINFO,PSP_DEVINFO_DATA,DWORD,DWORD,DWORD,HINF,PCWSTR);
-WINSETUPAPI BOOL WINAPI SetupDiDeleteDeviceInfo(HDEVINFO,PSP_DEVINFO_DATA);
-WINSETUPAPI BOOL WINAPI SetupDiDeleteDeviceInterfaceData(HDEVINFO,PSP_DEVICE_INTERFACE_DATA);
-WINSETUPAPI BOOL WINAPI SetupDiDeleteDeviceInterfaceRegKey(HDEVINFO,PSP_DEVICE_INTERFACE_DATA,DWORD);
-WINSETUPAPI BOOL WINAPI SetupDiDeleteDevRegKey(HDEVINFO,PSP_DEVINFO_DATA,DWORD,DWORD,DWORD);
-WINSETUPAPI BOOL WINAPI SetupDiDestroyClassImageList(PSP_CLASSIMAGELIST_DATA);
-WINSETUPAPI BOOL WINAPI SetupDiDestroyDeviceInfoList(HDEVINFO);
-WINSETUPAPI BOOL WINAPI SetupDiDestroyDriverInfoList(HDEVINFO,PSP_DEVINFO_DATA,DWORD);
-WINSETUPAPI INT WINAPI SetupDiDrawMiniIcon(HDC,RECT,INT,DWORD);
-WINSETUPAPI BOOL WINAPI SetupDiEnumDeviceInfo(HDEVINFO,DWORD,PSP_DEVINFO_DATA);
-WINSETUPAPI BOOL WINAPI SetupDiEnumDeviceInterfaces(HDEVINFO,PSP_DEVINFO_DATA,CONST GUID*,DWORD,PSP_DEVICE_INTERFACE_DATA);
-WINSETUPAPI BOOL WINAPI SetupDiEnumDriverInfoA(HDEVINFO,PSP_DEVINFO_DATA,DWORD,DWORD,PSP_DRVINFO_DATA_A);
-WINSETUPAPI BOOL WINAPI SetupDiEnumDriverInfoW(HDEVINFO,PSP_DEVINFO_DATA,DWORD,DWORD,PSP_DRVINFO_DATA_W);
-WINSETUPAPI BOOL WINAPI SetupDiGetActualSectionToInstallA(HINF,PCSTR,PSTR,DWORD,PDWORD,PSTR*);
-WINSETUPAPI BOOL WINAPI SetupDiGetActualSectionToInstallW(HINF,PCWSTR,PWSTR,DWORD,PDWORD,PWSTR*);
-WINSETUPAPI BOOL WINAPI SetupDiGetClassBitmapIndex(CONST GUID*,PINT);
-WINSETUPAPI BOOL WINAPI SetupDiGetClassDescriptionA(CONST GUID*,PSTR,DWORD,PDWORD);
-WINSETUPAPI BOOL WINAPI SetupDiGetClassDescriptionW(CONST GUID*,PWSTR,DWORD,PDWORD);
-WINSETUPAPI BOOL WINAPI SetupDiGetClassDescriptionExA(CONST GUID*,PSTR,DWORD,PDWORD,PCSTR,PVOID);
-WINSETUPAPI BOOL WINAPI SetupDiGetClassDescriptionExW(CONST GUID*,PWSTR,DWORD,PDWORD,PCWSTR,PVOID);
-WINSETUPAPI BOOL WINAPI SetupDiGetClassDevPropertySheetsA(HDEVINFO,PSP_DEVINFO_DATA,LPPROPSHEETHEADERA,DWORD,PDWORD,DWORD);
-WINSETUPAPI BOOL WINAPI SetupDiGetClassDevPropertySheetsW(HDEVINFO,PSP_DEVINFO_DATA,LPPROPSHEETHEADERW,DWORD,PDWORD,DWORD);
-WINSETUPAPI HDEVINFO WINAPI SetupDiGetClassDevsA(CONST GUID*,PCSTR,HWND,DWORD);
-WINSETUPAPI HDEVINFO WINAPI SetupDiGetClassDevsW(CONST GUID*,PCWSTR,HWND,DWORD);
-WINSETUPAPI HDEVINFO WINAPI SetupDiGetClassDevsExA(CONST GUID*,PCSTR,HWND,DWORD,HDEVINFO,PCSTR,PVOID);
-WINSETUPAPI HDEVINFO WINAPI SetupDiGetClassDevsExW(CONST GUID*,PCWSTR,HWND,DWORD,HDEVINFO,PCWSTR,PVOID);
-WINSETUPAPI BOOL WINAPI SetupDiGetClassImageIndex(PSP_CLASSIMAGELIST_DATA,CONST GUID*,PINT);
-WINSETUPAPI BOOL WINAPI SetupDiGetClassImageList(PSP_CLASSIMAGELIST_DATA);
-WINSETUPAPI BOOL WINAPI SetupDiGetClassImageListExA(PSP_CLASSIMAGELIST_DATA,PCSTR,PVOID);
-WINSETUPAPI BOOL WINAPI SetupDiGetClassImageListExW(PSP_CLASSIMAGELIST_DATA,PCWSTR,PVOID);
-WINSETUPAPI BOOL WINAPI SetupDiGetClassInstallParamsA(HDEVINFO,PSP_DEVINFO_DATA,PSP_CLASSINSTALL_HEADER,DWORD,PDWORD);
-WINSETUPAPI BOOL WINAPI SetupDiGetClassInstallParamsW(HDEVINFO,PSP_DEVINFO_DATA,PSP_CLASSINSTALL_HEADER,DWORD,PDWORD);
-WINSETUPAPI BOOL WINAPI SetupDiGetClassRegistryPropertyA(LPGUID,DWORD,PDWORD,PBYTE,DWORD,PDWORD,PCSTR,PVOID);
-WINSETUPAPI BOOL WINAPI SetupDiGetClassRegistryPropertyW(LPGUID,DWORD,PDWORD,PBYTE,DWORD,PDWORD,PCWSTR,PVOID);
-WINSETUPAPI BOOL WINAPI SetupDiGetDeviceInfoListClass(HDEVINFO,LPGUID);
-WINSETUPAPI BOOL WINAPI SetupDiGetDeviceInfoListDetailA(HDEVINFO,PSP_DEVINFO_LIST_DETAIL_DATA_A);
-WINSETUPAPI BOOL WINAPI SetupDiGetDeviceInfoListDetailW(HDEVINFO,PSP_DEVINFO_LIST_DETAIL_DATA_W);
-WINSETUPAPI BOOL WINAPI SetupDiGetDeviceInstallParamsA(HDEVINFO,PSP_DEVINFO_DATA,PSP_DEVINSTALL_PARAMS_A);
-WINSETUPAPI BOOL WINAPI SetupDiGetDeviceInstallParamsW(HDEVINFO,PSP_DEVINFO_DATA,PSP_DEVINSTALL_PARAMS_W);
-WINSETUPAPI BOOL WINAPI SetupDiGetDeviceInstanceIdA(HDEVINFO,PSP_DEVINFO_DATA,PSTR,DWORD,PDWORD);
-WINSETUPAPI BOOL WINAPI SetupDiGetDeviceInstanceIdW(HDEVINFO,PSP_DEVINFO_DATA,PWSTR,DWORD,PDWORD);
-WINSETUPAPI BOOL WINAPI SetupDiGetDeviceInterfaceAlias(HDEVINFO,PSP_DEVICE_INTERFACE_DATA,CONST GUID*,PSP_DEVICE_INTERFACE_DATA);
-WINSETUPAPI BOOL WINAPI SetupDiGetDeviceInterfaceDetailA(HDEVINFO,PSP_DEVICE_INTERFACE_DATA,PSP_DEVICE_INTERFACE_DETAIL_DATA_A,DWORD,PDWORD,PSP_DEVINFO_DATA);
-WINSETUPAPI BOOL WINAPI SetupDiGetDeviceInterfaceDetailW(HDEVINFO,PSP_DEVICE_INTERFACE_DATA,PSP_DEVICE_INTERFACE_DETAIL_DATA_W,DWORD,PDWORD,PSP_DEVINFO_DATA);
-WINSETUPAPI BOOL WINAPI SetupDiGetDeviceRegistryPropertyA(HDEVINFO,PSP_DEVINFO_DATA,DWORD,PDWORD,PBYTE,DWORD,PDWORD);
-WINSETUPAPI BOOL WINAPI SetupDiGetDeviceRegistryPropertyW(HDEVINFO,PSP_DEVINFO_DATA,DWORD,PDWORD,PBYTE,DWORD,PDWORD);
-WINSETUPAPI BOOL WINAPI SetupDiGetDriverInfoDetailA(HDEVINFO,PSP_DEVINFO_DATA,PSP_DRVINFO_DATA_A,PSP_DRVINFO_DETAIL_DATA_A,DWORD,PDWORD);
-WINSETUPAPI BOOL WINAPI SetupDiGetDriverInfoDetailW(HDEVINFO,PSP_DEVINFO_DATA,PSP_DRVINFO_DATA_W,PSP_DRVINFO_DETAIL_DATA_W,DWORD,PDWORD);
-WINSETUPAPI BOOL WINAPI SetupDiGetDriverInstallParamsA(HDEVINFO,PSP_DEVINFO_DATA,PSP_DRVINFO_DATA_A,PSP_DRVINSTALL_PARAMS);
-WINSETUPAPI BOOL WINAPI SetupDiGetDriverInstallParamsW(HDEVINFO,PSP_DEVINFO_DATA,PSP_DRVINFO_DATA_W,PSP_DRVINSTALL_PARAMS);
-WINSETUPAPI BOOL WINAPI SetupDiGetHwProfileFriendlyNameA(DWORD,PSTR,DWORD,PDWORD);
-WINSETUPAPI BOOL WINAPI SetupDiGetHwProfileFriendlyNameExA(DWORD,PSTR,DWORD,PDWORD,PCSTR,PVOID);
-WINSETUPAPI BOOL WINAPI SetupDiGetHwProfileFriendlyNameExW(DWORD,PWSTR,DWORD,PDWORD,PCWSTR,PVOID);
-WINSETUPAPI BOOL WINAPI SetupDiGetHwProfileFriendlyNameW(DWORD,PWSTR,DWORD,PDWORD);
-WINSETUPAPI BOOL WINAPI SetupDiGetHwProfileList(PDWORD,DWORD,PDWORD,PDWORD);
-WINSETUPAPI BOOL WINAPI SetupDiGetHwProfileListExA(PDWORD,DWORD,PDWORD,PDWORD,PCSTR,PVOID);
-WINSETUPAPI BOOL WINAPI SetupDiGetHwProfileListExW(PDWORD,DWORD,PDWORD,PDWORD,PCWSTR,PVOID);
-WINSETUPAPI BOOL WINAPI SetupDiGetINFClassA(PCSTR,LPGUID,PSTR,DWORD,PDWORD);
-WINSETUPAPI BOOL WINAPI SetupDiGetINFClassW(PCWSTR,LPGUID,PWSTR,DWORD,PDWORD);
-WINSETUPAPI BOOL WINAPI SetupDiGetSelectedDevice(HDEVINFO,PSP_DEVINFO_DATA);
-WINSETUPAPI BOOL WINAPI SetupDiGetSelectedDriverA(HDEVINFO,PSP_DEVINFO_DATA,PSP_DRVINFO_DATA_A);
-WINSETUPAPI BOOL WINAPI SetupDiGetSelectedDriverW(HDEVINFO,PSP_DEVINFO_DATA,PSP_DRVINFO_DATA_W);
-WINSETUPAPI HPROPSHEETPAGE WINAPI SetupDiGetWizardage(HDEVINFO,PSP_DEVINFO_DATA,PSP_INSTALLWIZARD_DATA,DWORD,DWORD);
-WINSETUPAPI BOOL WINAPI SetupDiInstallClassA(HWND,PCSTR,DWORD,HSPFILEQ);
-WINSETUPAPI BOOL WINAPI SetupDiInstallClassW(HWND,PCWSTR,DWORD,HSPFILEQ);
-WINSETUPAPI BOOL WINAPI SetupDiInstallClassExA(HWND,PCSTR,DWORD,HSPFILEQ,CONST GUID*,PVOID,PVOID);
-WINSETUPAPI BOOL WINAPI SetupDiInstallClassExW(HWND,PCWSTR,DWORD,HSPFILEQ,CONST GUID*,PVOID,PVOID);
-WINSETUPAPI BOOL WINAPI SetupDiInstallDevice(HDEVINFO,PSP_DEVINFO_DATA);
-WINSETUPAPI BOOL WINAPI SetupDiInstallDeviceInterfaces(HDEVINFO,PSP_DEVINFO_DATA);
-WINSETUPAPI BOOL WINAPI SetupDiInstallDriverFiles(HDEVINFO,PSP_DEVINFO_DATA);
-WINSETUPAPI BOOL WINAPI SetupDiLoadClassIcon(CONST GUID*,HICON*,PINT);
-WINSETUPAPI BOOL WINAPI SetupDiMoveDuplicateDevice(HDEVINFO,PSP_DEVINFO_DATA);
-WINSETUPAPI HKEY WINAPI SetupDiOpenClassRegKey(CONST GUID*,REGSAM);
-WINSETUPAPI HKEY WINAPI SetupDiOpenClassRegKeyExA(CONST GUID*,REGSAM,DWORD,PCSTR,PVOID);
-WINSETUPAPI HKEY WINAPI SetupDiOpenClassRegKeyExW(CONST GUID*,REGSAM,DWORD,PCWSTR,PVOID);
-WINSETUPAPI BOOL WINAPI SetupDiOpenDeviceInfoA(HDEVINFO,PCSTR,HWND,DWORD,PSP_DEVINFO_DATA);
-WINSETUPAPI BOOL WINAPI SetupDiOpenDeviceInfoW(HDEVINFO,PCWSTR,HWND,DWORD,PSP_DEVINFO_DATA);
-WINSETUPAPI BOOL WINAPI SetupDiOpenDeviceInterfaceA(HDEVINFO,PCSTR,DWORD,PSP_DEVICE_INTERFACE_DATA);
-WINSETUPAPI BOOL WINAPI SetupDiOpenDeviceInterfaceW(HDEVINFO,PCWSTR,DWORD,PSP_DEVICE_INTERFACE_DATA);
-WINSETUPAPI HKEY WINAPI SetupDiOpenDeviceInterfaceRegKey(HDEVINFO,PSP_DEVICE_INTERFACE_DATA,DWORD,REGSAM);
-WINSETUPAPI HKEY WINAPI SetupDiOpenDevRegKey(HDEVINFO,PSP_DEVINFO_DATA,DWORD,DWORD,DWORD,REGSAM);
-WINSETUPAPI BOOL WINAPI SetupDiRegisterCoDeviceInstallers(HDEVINFO,PSP_DEVINFO_DATA);
-WINSETUPAPI BOOL WINAPI SetupDiRegisterDeviceInfo(HDEVINFO,PSP_DEVINFO_DATA,DWORD,PSP_DETSIG_CMPPROC,PVOID,PSP_DEVINFO_DATA);
-WINSETUPAPI BOOL WINAPI SetupDiRemoveDevice(HDEVINFO,PSP_DEVINFO_DATA);
-WINSETUPAPI BOOL WINAPI SetupDiRemoveDeviceInterface(HDEVINFO,PSP_DEVICE_INTERFACE_DATA);
-WINSETUPAPI BOOL WINAPI SetupDiSelectBestCompatDrv(HDEVINFO,PSP_DEVINFO_DATA);
-WINSETUPAPI BOOL WINAPI SetupDiSelectDevice(HDEVINFO,PSP_DEVINFO_DATA);
-WINSETUPAPI BOOL WINAPI SetupDiSelectOEMDrv(HWND,HDEVINFO,PSP_DEVINFO_DATA);
-WINSETUPAPI BOOL WINAPI SetupDiSetClassInstallParamsA(HDEVINFO,PSP_DEVINFO_DATA,PSP_CLASSINSTALL_HEADER,DWORD);
-WINSETUPAPI BOOL WINAPI SetupDiSetClassInstallParamsW(HDEVINFO,PSP_DEVINFO_DATA,PSP_CLASSINSTALL_HEADER,DWORD);
-WINSETUPAPI BOOL WINAPI SetupDiSetClassRegistryPropertyA(LPGUID,DWORD,CONST BYTE*,DWORD,PCSTR,PVOID);
-WINSETUPAPI BOOL WINAPI SetupDiSetClassRegistryPropertyW(LPGUID,DWORD,CONST BYTE*,DWORD,PCWSTR,PVOID);
-WINSETUPAPI BOOL WINAPI SetupDiSetDeviceInstallParamsA(HDEVINFO,PSP_DEVINFO_DATA,PSP_DEVINSTALL_PARAMS_A);
-WINSETUPAPI BOOL WINAPI SetupDiSetDeviceInstallParamsW(HDEVINFO,PSP_DEVINFO_DATA,PSP_DEVINSTALL_PARAMS_W);
-WINSETUPAPI BOOL WINAPI SetupDiSetDeviceRegistryPropertyA(HDEVINFO,PSP_DEVINFO_DATA,DWORD,CONST BYTE*,DWORD);
-WINSETUPAPI BOOL WINAPI SetupDiSetDeviceRegistryPropertyW(HDEVINFO,PSP_DEVINFO_DATA,DWORD,CONST BYTE*,DWORD);
-WINSETUPAPI BOOL WINAPI SetupDiSetDriverInstallParamsA(HDEVINFO,PSP_DEVINFO_DATA,PSP_DRVINFO_DATA_A,PSP_DRVINSTALL_PARAMS);
-WINSETUPAPI BOOL WINAPI SetupDiSetDriverInstallParamsW(HDEVINFO,PSP_DEVINFO_DATA,PSP_DRVINFO_DATA_W,PSP_DRVINSTALL_PARAMS);
-WINSETUPAPI BOOL WINAPI SetupDiSetSelectedDevice(HDEVINFO,PSP_DEVINFO_DATA);
-WINSETUPAPI BOOL WINAPI SetupDiSetSelectedDriverA(HDEVINFO,PSP_DEVINFO_DATA,PSP_DRVINFO_DATA_A);
-WINSETUPAPI BOOL WINAPI SetupDiSetSelectedDriverW(HDEVINFO,PSP_DEVINFO_DATA,PSP_DRVINFO_DATA_W);
-WINSETUPAPI BOOL WINAPI SetupDiUnremoveDevice(HDEVINFO,PSP_DEVINFO_DATA);
-WINSETUPAPI HDSKSPC WINAPI SetupDuplicateDiskSpaceListA(HDSKSPC,PVOID,DWORD,UINT);
-WINSETUPAPI HDSKSPC WINAPI SetupDuplicateDiskSpaceListW(HDSKSPC,PVOID,DWORD,UINT);
-WINSETUPAPI BOOL WINAPI SetupFindFirstLineA(HINF,PCSTR,PCSTR,PINFCONTEXT);
-WINSETUPAPI BOOL WINAPI SetupFindFirstLineW(HINF,PCWSTR,PCWSTR,PINFCONTEXT);
-WINSETUPAPI BOOL WINAPI SetupFindNextLine(PINFCONTEXT,PINFCONTEXT);
-WINSETUPAPI BOOL WINAPI SetupFindNextMatchLineA(PINFCONTEXT,PCSTR,PINFCONTEXT);
-WINSETUPAPI BOOL WINAPI SetupFindNextMatchLineW(PINFCONTEXT,PCWSTR,PINFCONTEXT);
-WINSETUPAPI BOOL WINAPI SetupFreeA(PCSTR**,UINT);
-WINSETUPAPI BOOL WINAPI SetupFreeW(PCWSTR**,UINT);
-WINSETUPAPI BOOL WINAPI SetupGetBackupInformationA(HSPFILEQ,PSP_BACKUP_QUEUE_PARAMS_A);
-WINSETUPAPI BOOL WINAPI SetupGetBackupInformationW(HSPFILEQ,PSP_BACKUP_QUEUE_PARAMS_W);
-WINSETUPAPI BOOL WINAPI SetupGetBinaryField(PINFCONTEXT,DWORD,PBYTE,DWORD,LPDWORD);
-WINSETUPAPI DWORD WINAPI SetupGetFieldCount(PINFCONTEXT);
-WINSETUPAPI DWORD WINAPI SetupGetFileCompressionInfoA(PCSTR,PSTR*,PDWORD,PDWORD,PUINT);
-WINSETUPAPI DWORD WINAPI SetupGetFileCompressionInfoW(PCWSTR,PWSTR*,PDWORD,PDWORD,PUINT);
-WINSETUPAPI BOOL WINAPI SetupGetInfFileListA(PCSTR,DWORD,PSTR,DWORD,PDWORD);
-WINSETUPAPI BOOL WINAPI SetupGetInfFileListW(PCWSTR,DWORD,PWSTR,DWORD,PDWORD);
-WINSETUPAPI BOOL WINAPI SetupGetInfInformationA(LPCVOID,DWORD,PSP_INF_INFORMATION,DWORD,PDWORD);
-WINSETUPAPI BOOL WINAPI SetupGetInfInformationW(LPCVOID,DWORD,PSP_INF_INFORMATION,DWORD,PDWORD);
-WINSETUPAPI BOOL WINAPI SetupGetIntField(PINFCONTEXT,DWORD,PINT);
-WINSETUPAPI BOOL WINAPI SetupGetLineByIndexA(HINF,PCSTR,DWORD,PINFCONTEXT);
-WINSETUPAPI BOOL WINAPI SetupGetLineByIndexW(HINF,PCWSTR,DWORD,PINFCONTEXT);
-WINSETUPAPI LONG WINAPI SetupGetLineCountA(HINF,PCSTR);
-WINSETUPAPI LONG WINAPI SetupGetLineCountW(HINF,PCWSTR);
-WINSETUPAPI BOOL WINAPI SetupGetLineTextA(PINFCONTEXT,HINF,PCSTR,PCSTR,PSTR,DWORD,PDWORD);
-WINSETUPAPI BOOL WINAPI SetupGetLineTextW(PINFCONTEXT,HINF,PCWSTR,PCWSTR,PWSTR,DWORD,PDWORD);
-WINSETUPAPI BOOL WINAPI SetupGetMultiSzFieldA(PINFCONTEXT,DWORD,PSTR,DWORD,LPDWORD);
-WINSETUPAPI BOOL WINAPI SetupGetMultiSzFieldW(PINFCONTEXT,DWORD,PWSTR,DWORD,LPDWORD);
-WINSETUPAPI BOOL WINAPI SetupGetSourceFileLocationA(HINF,PINFCONTEXT,PCSTR,PUINT,PSTR,DWORD,PDWORD);
-WINSETUPAPI BOOL WINAPI SetupGetSourceFileLocationW(HINF,PINFCONTEXT,PCWSTR,PUINT,PWSTR,DWORD,PDWORD);
-WINSETUPAPI BOOL WINAPI SetupGetSourceFileSizeA(HINF,PINFCONTEXT,PCSTR,PCSTR,PDWORD,UINT);
-WINSETUPAPI BOOL WINAPI SetupGetSourceFileSizeW(HINF,PINFCONTEXT,PCWSTR,PCWSTR,PDWORD,UINT);
-WINSETUPAPI BOOL WINAPI SetupGetSourceInfoA(HINF,UINT,UINT,PSTR,DWORD,PDWORD);
-WINSETUPAPI BOOL WINAPI SetupGetSourceInfoW(HINF,UINT,UINT,PWSTR,DWORD,PDWORD);
-WINSETUPAPI BOOL WINAPI SetupGetStringFieldA(PINFCONTEXT,DWORD,PSTR,DWORD,PDWORD);
-WINSETUPAPI BOOL WINAPI SetupGetStringFieldW(PINFCONTEXT,DWORD,PWSTR,DWORD,PDWORD);
-WINSETUPAPI BOOL WINAPI SetupGetTargetPathA(HINF,PINFCONTEXT,PCSTR,PSTR,DWORD,PDWORD);
-WINSETUPAPI BOOL WINAPI SetupGetTargetPathW(HINF,PINFCONTEXT,PCWSTR,PWSTR,DWORD,PDWORD);
-WINSETUPAPI PVOID WINAPI SetupInitDefaultQueueCallback(HWND);
-WINSETUPAPI PVOID WINAPI SetupInitDefaultQueueCallbackEx(HWND,HWND,UINT,DWORD,PVOID);
-WINSETUPAPI HSPFILELOG WINAPI SetupInitializeFileLogA(PCSTR,DWORD);
-WINSETUPAPI HSPFILELOG WINAPI SetupInitializeFileLogW(PCWSTR,DWORD);
-WINSETUPAPI BOOL WINAPI SetupInstallFileA(HINF,PINFCONTEXT,PCSTR,PCSTR,PCSTR,DWORD,PSP_FILE_CALLBACK_A,PVOID);
-WINSETUPAPI BOOL WINAPI SetupInstallFileW(HINF,PINFCONTEXT,PCWSTR,PCWSTR,PCWSTR,DWORD,PSP_FILE_CALLBACK_W,PVOID);
-WINSETUPAPI BOOL WINAPI SetupInstallFileExA(HINF,PINFCONTEXT,PCSTR,PCSTR,PCSTR,DWORD,PSP_FILE_CALLBACK_A,PVOID,PBOOL);
-WINSETUPAPI BOOL WINAPI SetupInstallFileExW(HINF,PINFCONTEXT,PCWSTR,PCWSTR,PCWSTR,DWORD,PSP_FILE_CALLBACK_W,PVOID,PBOOL);
-WINSETUPAPI BOOL WINAPI SetupInstallFilesFromInfSectionA(HINF,HINF,HSPFILEQ,PCSTR,PCSTR,UINT);
-WINSETUPAPI BOOL WINAPI SetupInstallFilesFromInfSectionW(HINF,HINF,HSPFILEQ,PCWSTR,PCWSTR,UINT);
-WINSETUPAPI BOOL WINAPI SetupInstallFromInfSectionA(HWND,HINF,PCSTR,UINT,HKEY,PCSTR,UINT,PSP_FILE_CALLBACK_A,PVOID,HDEVINFO,PSP_DEVINFO_DATA);
-WINSETUPAPI BOOL WINAPI SetupInstallFromInfSectionW(HWND,HINF,PCWSTR,UINT,HKEY,PCWSTR,UINT,PSP_FILE_CALLBACK_W,PVOID,HDEVINFO,PSP_DEVINFO_DATA);
-WINSETUPAPI BOOL WINAPI SetupInstallServicesFromInfSectionA(HINF,PCSTR,DWORD);
-WINSETUPAPI BOOL WINAPI SetupInstallServicesFromInfSectionW(HINF,PCWSTR,DWORD);
-WINSETUPAPI BOOL WINAPI SetupInstallServicesFromInfSectionExA(HINF,PCSTR,DWORD,HDEVINFO,PSP_DEVINFO_DATA,PVOID,PVOID);
-WINSETUPAPI BOOL WINAPI SetupInstallServicesFromInfSectionExW(HINF,PCWSTR,DWORD,HDEVINFO,PSP_DEVINFO_DATA,PVOID,PVOID);
-WINSETUPAPI BOOL WINAPI SetupIterateCabinetA(PCSTR,DWORD,PSP_FILE_CALLBACK_A,PVOID);
-WINSETUPAPI BOOL WINAPI SetupIterateCabinetW(PCWSTR,DWORD,PSP_FILE_CALLBACK_W,PVOID);
-WINSETUPAPI BOOL WINAPI SetupLogErrorA(LPCSTR,LogSeverity);
-WINSETUPAPI BOOL WINAPI SetupLogErrorW(LPCWSTR,LogSeverity);
-WINSETUPAPI BOOL WINAPI SetupLogFileA(HSPFILELOG,PCSTR,PCSTR,PCSTR,DWORD,PCSTR,PCSTR,PCSTR,DWORD);
-WINSETUPAPI BOOL WINAPI SetupLogFileW(HSPFILELOG,PCWSTR,PCWSTR,PCWSTR,DWORD,PCWSTR,PCWSTR,PCWSTR,DWORD);
-WINSETUPAPI BOOL WINAPI SetupOpenAppendInfFileA(PCSTR,HINF,PUINT);
-WINSETUPAPI BOOL WINAPI SetupOpenAppendInfFileW(PCWSTR,HINF,PUINT);
-WINSETUPAPI HSPFILEQ WINAPI SetupOpenFileQueue(VOID);
-WINSETUPAPI HINF WINAPI SetupOpenInfFileA(PCSTR,PCSTR,DWORD,PUINT);
-WINSETUPAPI HINF WINAPI SetupOpenInfFileW(PCWSTR,PCWSTR,DWORD,PUINT);
-WINSETUPAPI BOOL WINAPI SetupOpenLog(BOOL);
-WINSETUPAPI HINF WINAPI SetupOpenMasterInf(VOID);
-WINSETUPAPI UINT WINAPI SetupPromptForDiskA(HWND,PCSTR,PCSTR,PCSTR,PCSTR,PCSTR,DWORD,PSTR,DWORD,PDWORD);
-WINSETUPAPI UINT WINAPI SetupPromptForDiskW(HWND,PCWSTR,PCWSTR,PCWSTR,PCWSTR,PCWSTR,DWORD,PWSTR,DWORD,PDWORD);
-WINSETUPAPI INT WINAPI SetupPromptReboot(HSPFILEQ,HWND,BOOL);
-WINSETUPAPI BOOL WINAPI SetupQueryA(DWORD,PCSTR**,PUINT);
-WINSETUPAPI BOOL WINAPI SetupQueryW(DWORD,PCWSTR**,PUINT);
-WINSETUPAPI BOOL WINAPI SetupQueryDrivesInDiskSpaceListA(HDSKSPC,PSTR,DWORD,PDWORD);
-WINSETUPAPI BOOL WINAPI SetupQueryDrivesInDiskSpaceListW(HDSKSPC,PWSTR,DWORD,PDWORD);
-WINSETUPAPI BOOL WINAPI SetupQueryFileLogA(HSPFILELOG,PCSTR,PCSTR,SetupFileLogInfo,PSTR,DWORD,PDWORD);
-WINSETUPAPI BOOL WINAPI SetupQueryFileLogW(HSPFILELOG,PCWSTR,PCWSTR,SetupFileLogInfo,PWSTR,DWORD,PDWORD);
-WINSETUPAPI BOOL WINAPI SetupQueryInfFileInformationA(PSP_INF_INFORMATION,UINT,PSTR,DWORD,PDWORD);
-WINSETUPAPI BOOL WINAPI SetupQueryInfFileInformationW(PSP_INF_INFORMATION,UINT,PWSTR,DWORD,PDWORD);
-WINSETUPAPI BOOL WINAPI SetupQueryInfOriginalFileInformationA(PSP_INF_INFORMATION,UINT,PSP_ALTPLATFORM_INFO,PSP_ORIGINAL_FILE_INFO_A);
-WINSETUPAPI BOOL WINAPI SetupQueryInfOriginalFileInformationW(PSP_INF_INFORMATION,UINT,PSP_ALTPLATFORM_INFO,PSP_ORIGINAL_FILE_INFO_W);
-WINSETUPAPI BOOL WINAPI SetupQueryInfVersionInformationA(PSP_INF_INFORMATION,UINT,PSTR,PSTR,DWORD,PDWORD);
-WINSETUPAPI BOOL WINAPI SetupQueryInfVersionInformationW(PSP_INF_INFORMATION,UINT,PCWSTR,PWSTR,DWORD,PDWORD);
-WINSETUPAPI BOOL WINAPI SetupQuerySpaceRequiredOnDriveA(HDSKSPC,PCSTR,LONGLONG*,PVOID,UINT);
-WINSETUPAPI BOOL WINAPI SetupQuerySpaceRequiredOnDriveW(HDSKSPC,PCWSTR,LONGLONG*,PVOID,UINT);
-WINSETUPAPI BOOL WINAPI SetupQueueCopyA(HSPFILEQ,PCSTR,PCSTR,PCSTR,PCSTR,PCSTR,PCSTR,PCSTR,DWORD);
-WINSETUPAPI BOOL WINAPI SetupQueueCopyW(HSPFILEQ,PCWSTR,PCWSTR,PCWSTR,PCWSTR,PCWSTR,PCWSTR,PCWSTR,DWORD);
-WINSETUPAPI BOOL WINAPI SetupQueueCopyIndirectA(PSP_FILE_COPY_PARAMS_A);
-WINSETUPAPI BOOL WINAPI SetupQueueCopyIndirectW(PSP_FILE_COPY_PARAMS_W);
-WINSETUPAPI BOOL WINAPI SetupQueueCopySectionA(HSPFILEQ,PCSTR,HINF,HINF,PCSTR,DWORD);
-WINSETUPAPI BOOL WINAPI SetupQueueCopySectionW(HSPFILEQ,PCWSTR,HINF,HINF,PCWSTR,DWORD);
-WINSETUPAPI BOOL WINAPI SetupQueueDefaultCopyA(HSPFILEQ,HINF,PCSTR,PCSTR,PCSTR,DWORD);
-WINSETUPAPI BOOL WINAPI SetupQueueDefaultCopyW(HSPFILEQ,HINF,PCWSTR,PCWSTR,PCWSTR,DWORD);
-WINSETUPAPI BOOL WINAPI SetupQueueDeleteA(HSPFILEQ,PCSTR,PCSTR);
-WINSETUPAPI BOOL WINAPI SetupQueueDeleteW(HSPFILEQ,PCWSTR,PCWSTR);
-WINSETUPAPI BOOL WINAPI SetupQueueDeleteSectionA(HSPFILEQ,HINF,HINF,PCSTR);
-WINSETUPAPI BOOL WINAPI SetupQueueDeleteSectionW(HSPFILEQ,HINF,HINF,PCWSTR);
-WINSETUPAPI BOOL WINAPI SetupQueueRenameA(HSPFILEQ,PCSTR,PCSTR,PCSTR,PCSTR);
-WINSETUPAPI BOOL WINAPI SetupQueueRenameW(HSPFILEQ,PCWSTR,PCWSTR,PCWSTR,PCWSTR);
-WINSETUPAPI BOOL WINAPI SetupQueueRenameSectionA(HSPFILEQ,HINF,HINF,PCSTR);
-WINSETUPAPI BOOL WINAPI SetupQueueRenameSectionW(HSPFILEQ,HINF,HINF,PCWSTR);
-WINSETUPAPI BOOL WINAPI SetupRemoveFileLogEntryA(HSPFILELOG,PCSTR,PCSTR);
-WINSETUPAPI BOOL WINAPI SetupRemoveFileLogEntryW(HSPFILELOG,PCWSTR,PCWSTR);
-WINSETUPAPI BOOL WINAPI SetupRemoveFromDiskSpaceListA(HDSKSPC,PCSTR,UINT,PVOID,UINT);
-WINSETUPAPI BOOL WINAPI SetupRemoveFromDiskSpaceListW(HDSKSPC,PCWSTR,UINT,PVOID,UINT);
-WINSETUPAPI BOOL WINAPI SetupRemoveFromSourceListA(DWORD,PCSTR);
-WINSETUPAPI BOOL WINAPI SetupRemoveFromSourceListW(DWORD,PCWSTR);
-WINSETUPAPI BOOL WINAPI SetupRemoveInstallSectionFromDiskSpaceListA(HDSKSPC,HINF,HINF,PCSTR,PVOID,UINT);
-WINSETUPAPI BOOL WINAPI SetupRemoveInstallSectionFromDiskSpaceListW(HDSKSPC,HINF,HINF,PCWSTR,PVOID,UINT);
-WINSETUPAPI BOOL WINAPI SetupRemoveSectionFromDiskSpaceListA(HDSKSPC,HINF,HINF,PCSTR,UINT,PVOID,UINT);
-WINSETUPAPI BOOL WINAPI SetupRemoveSectionFromDiskSpaceListW(HDSKSPC,HINF,HINF,PCWSTR,UINT,PVOID,UINT);
-WINSETUPAPI UINT WINAPI SetupRenameErrorA(HWND,PCSTR,PCSTR,PCSTR,UINT,DWORD);
-WINSETUPAPI UINT WINAPI SetupRenameErrorW(HWND,PCWSTR,PCWSTR,PCWSTR,UINT,DWORD);
-WINSETUPAPI BOOL WINAPI SetupScanFileQueueA(HSPFILEQ,DWORD,HWND,PSP_FILE_CALLBACK_A,PVOID,PDWORD);
-WINSETUPAPI BOOL WINAPI SetupScanFileQueueW(HSPFILEQ,DWORD,HWND,PSP_FILE_CALLBACK_W,PVOID,PDWORD);
-WINSETUPAPI BOOL WINAPI SetupSetDirectoryIdA(HINF,DWORD,PCSTR);
-WINSETUPAPI BOOL WINAPI SetupSetDirectoryIdW(HINF,DWORD,PCWSTR);
-WINSETUPAPI BOOL WINAPI SetupSetDirectoryIdExA(HINF,DWORD,PCSTR,DWORD,DWORD,PVOID);
-WINSETUPAPI BOOL WINAPI SetupSetDirectoryIdExW(HINF,DWORD,PCWSTR,DWORD,DWORD,PVOID);
-WINSETUPAPI BOOL WINAPI SetupSetFileQueueAlternatePlatformA(HSPFILEQ,PSP_ALTPLATFORM_INFO,PCSTR);
-WINSETUPAPI BOOL WINAPI SetupSetFileQueueAlternatePlatformW(HSPFILEQ,PSP_ALTPLATFORM_INFO,PCWSTR);
-WINSETUPAPI BOOL WINAPI SetupSetPlatformPathOverrideA(PCSTR);
-WINSETUPAPI BOOL WINAPI SetupSetPlatformPathOverrideW(PCWSTR);
-WINSETUPAPI BOOL WINAPI SetupSetSourceListA(DWORD,PCSTR*,UINT);
-WINSETUPAPI BOOL WINAPI SetupSetSourceListW(DWORD,PCWSTR*,UINT);
-WINSETUPAPI VOID WINAPI SetupTermDefaultQueueCallback(PVOID);
-WINSETUPAPI BOOL WINAPI SetupTerminateFileLog(HSPFILELOG);
-
-/* for backward compatability */
-#define SetupDiCreateInterfaceDeviceW SetupDiCreateDeviceInterfaceW
-#define SetupDiCreateInterfaceDeviceRegKeyW SetupDiCreateDeviceInterfaceRegKeyW
-#define SetupDiOpenInterfaceDeviceW SetupDiOpenDeviceInterfaceW
-#define SetupDiGetInterfaceDeviceDetailW SetupDiGetDeviceInterfaceDetailW
-#define SetupDiCreateInterfaceDeviceA SetupDiCreateDeviceInterfaceA
-#define SetupDiCreateInterfaceDeviceRegKeyA SetupDiCreateDeviceInterfaceRegKeyA
-#define SetupDiOpenInterfaceDeviceA SetupDiOpenDeviceInterfaceA
-#define SetupDiGetInterfaceDeviceDetailA SetupDiGetDeviceInterfaceDetailA
-
-#ifdef UNICODE
-#define PSP_FILE_CALLBACK PSP_FILE_CALLBACK_W
-#define SetupAddInstallSectionToDiskSpaceList SetupAddInstallSectionToDiskSpaceListW
-#define SetupAddSectionToDiskSpaceList SetupAddSectionToDiskSpaceListW
-#define SetupAddToDiskSpaceList SetupAddToDiskSpaceListW
-#define SetupAddToSourceList SetupAddToSourceListW
-#define SetupAdjustDiskSpaceList SetupAdjustDiskSpaceListW
-#define SetupBackupError SetupBackupErrorW
-#define SetupCommitFileQueue SetupCommitFileQueueW
-#define SetupCopyError SetupCopyErrorW
-#define SetupCopyOEMInf SetupCopyOEMInfW
-#define SetupCreateDiskSpaceList SetupCreateDiskSpaceListW
-#define SetupDecompressOrCopyFile SetupDecompressOrCopyFileW
-#define SetupDefaultQueueCallback SetupDefaultQueueCallbackW
-#define SetupDeleteError SetupDeleteErrorW
-#define SetupDiBuildClassInfoListEx SetupDiBuildClassInfoListExW
-#define SetupDiClassGuidsFromNameEx SetupDiClassGuidsFromNameExW
-#define SetupDiClassGuidsFromName SetupDiClassGuidsFromNameW
-#define SetupDiClassNameFromGuidEx SetupDiClassNameFromGuidExW
-#define SetupDiClassNameFromGuid SetupDiClassNameFromGuidW
-#define SetupDiCreateDeviceInfoListEx SetupDiCreateDeviceInfoListExW
-#define SetupDiCreateDeviceInfo SetupDiCreateDeviceInfoW
-#define SetupDiCreateDeviceInterfaceRegKey SetupDiCreateDeviceInterfaceRegKeyW
-#define SetupDiCreateInterfaceDeviceRegKey SetupDiCreateDeviceInterfaceRegKeyW
-#define SetupDiCreateDeviceInterface SetupDiCreateDeviceInterfaceW
-#define SetupDiCreateInterfaceDevice SetupDiCreateDeviceInterfaceW
-#define SetupDiCreateDevRegKey SetupDiCreateDevRegKeyW
-#define SetupDiEnumDriverInfo SetupDiEnumDriverInfoW
-#define SetupDiGetActualSectionToInstall SetupDiGetActualSectionToInstallW
-#define SetupDiGetClassDescriptionEx SetupDiGetClassDescriptionExW
-#define SetupDiGetClassDescription SetupDiGetClassDescriptionW
-#define SetupDiGetClassDevPropertySheets SetupDiGetClassDevPropertySheetsW
-#define SetupDiGetClassDevsEx SetupDiGetClassDevsExW
-#define SetupDiGetClassDevs SetupDiGetClassDevsW
-#define SetupDiGetClassImageListEx SetupDiGetClassImageListExW
-#define SetupDiGetClassInstallParams SetupDiGetClassInstallParamsW
-#define SetupDiGetClassRegistryProperty SetupDiGetClassRegistryPropertyW
-#define SetupDiGetDeviceInfoListDetail SetupDiGetDeviceInfoListDetailW
-#define SetupDiGetDeviceInstallParams SetupDiGetDeviceInstallParamsW
-#define SetupDiGetDeviceInstanceId SetupDiGetDeviceInstanceIdW
-#define SetupDiGetDeviceInterfaceDetail SetupDiGetDeviceInterfaceDetailW
-#define SetupDiGetInterfaceDeviceDetail SetupDiGetDeviceInterfaceDetailW
-#define SetupDiGetDeviceRegistryProperty SetupDiGetDeviceRegistryPropertyW
-#define SetupDiGetDriverInfoDetail SetupDiGetDriverInfoDetailW
-#define SetupDiGetDriverInstallParams SetupDiGetDriverInstallParamsW
-#define SetupDiGetHwProfileFriendlyNameEx SetupDiGetHwProfileFriendlyNameExW
-#define SetupDiGetHwProfileFriendlyName SetupDiGetHwProfileFriendlyNameW
-#define SetupDiGetHwProfileListEx SetupDiGetHwProfileListExW
-#define SetupDiGetINFClass SetupDiGetINFClassW
-#define SetupDiGetSelectedDriver SetupDiGetSelectedDriverW
-#define SetupDiInstallClassEx SetupDiInstallClassExW
-#define SetupDiInstallClass SetupDiInstallClassW
-#define SetupDiOpenClassRegKeyEx SetupDiOpenClassRegKeyExW
-#define SetupDiOpenDeviceInfo SetupDiOpenDeviceInfoW
-#define SetupDiOpenDeviceInterface SetupDiOpenDeviceInterfaceW
-#define SetupDiOpenInterfaceDevice SetupDiOpenDeviceInterfaceW
-#define SetupDiSetClassInstallParams SetupDiSetClassInstallParamsW
-#define SetupDiSetClassRegistryProperty SetupDiSetClassRegistryPropertyW
-#define SetupDiSetDeviceInstallParams SetupDiSetDeviceInstallParamsW
-#define SetupDiSetDeviceRegistryProperty SetupDiSetDeviceRegistryPropertyW
-#define SetupDiSetDriverInstallParams SetupDiSetDriverInstallParamsW
-#define SetupDiSetSelectedDriver SetupDiSetSelectedDriverW
-#define SetupDuplicateDiskSpaceList SetupDuplicateDiskSpaceListW
-#define SetupFindFirstLine SetupFindFirstLineW
-#define SetupFindNextMatchLine SetupFindNextMatchLineW
-#define SetupFreeSourceList SetupFreeSourceListW
-#define SetupGetBackupInformation SetupGetBackupInformationW
-#define SetupGetFileCompressionInfo SetupGetFileCompressionInfoW
-#define SetupGetInfFileList SetupGetInfFileListW
-#define SetupGetInfInformation SetupGetInfInformationW
-#define SetupGetLineByIndex SetupGetLineByIndexW
-#define SetupGetLineCount SetupGetLineCountW
-#define SetupGetLineText SetupGetLineTextW
-#define SetupGetMultiSzField SetupGetMultiSzFieldW
-#define SetupGetSourceFileLocation SetupGetSourceFileLocationW
-#define SetupGetSourceFileSize SetupGetSourceFileSizeW
-#define SetupGetSourceInfo SetupGetSourceInfoW
-#define SetupGetStringField SetupGetStringFieldW
-#define SetupGetTargetPath SetupGetTargetPathW
-#define SetupInitializeFileLog SetupInitializeFileLogW
-#define SetupInstallFileEx SetupInstallFileExW
-#define SetupInstallFilesFromInfSection SetupInstallFilesFromInfSectionW
-#define SetupInstallFile SetupInstallFileW
-#define SetupInstallFromInfSection SetupInstallFromInfSectionW
-#define SetupInstallServicesFromInfSectionEx SetupInstallServicesFromInfSectionExW
-#define SetupInstallServicesFromInfSection SetupInstallServicesFromInfSectionW
-#define SetupIterateCabinet SetupIterateCabinetW
-#define SetupLogError SetupLogErrorW
-#define SetupLogFile SetupLogFileW
-#define SetupOpenAppendInfFile SetupOpenAppendInfFileW
-#define SetupOpenInfFile SetupOpenInfFileW
-#define SetupPromptForDisk SetupPromptForDiskW
-#define SetupQueryDrivesInDiskSpaceList SetupQueryDrivesInDiskSpaceListW
-#define SetupQueryFileLog SetupQueryFileLogW
-#define SetupQueryInfFileInformation SetupQueryInfFileInformationW
-#define SetupQueryInfOriginalFileInformation SetupQueryInfOriginalFileInformationW
-#define SetupQueryInfVersionInformation SetupQueryInfVersionInformationW
-#define SetupQuerySourceList SetupQuerySourceListW
-#define SetupQuerySpaceRequiredOnDrive SetupQuerySpaceRequiredOnDriveW
-#define SetupQueueCopyIndirect SetupQueueCopyIndirectW
-#define SetupQueueCopySection SetupQueueCopySectionW
-#define SetupQueueCopy SetupQueueCopyW
-#define SetupQueueDefaultCopy SetupQueueDefaultCopyW
-#define SetupQueueDeleteSection SetupQueueDeleteSectionW
-#define SetupQueueDelete SetupQueueDeleteW
-#define SetupQueueRenameSection SetupQueueRenameSectionW
-#define SetupQueueRename SetupQueueRenameW
-#define SetupRemoveFileLogEntry SetupRemoveFileLogEntryW
-#define SetupRemoveFromDiskSpaceList SetupRemoveFromDiskSpaceListW
-#define SetupRemoveFromSourceList SetupRemoveFromSourceListW
-#define SetupRemoveInstallSectionFromDiskSpaceList SetupRemoveInstallSectionFromDiskSpaceListW
-#define SetupRemoveSectionFromDiskSpaceList SetupRemoveSectionFromDiskSpaceListW
-#define SetupRenameError SetupRenameErrorW
-#define SetupScanFileQueue SetupScanFileQueueW
-#define SetupSetDirectoryIdEx SetupSetDirectoryIdExW
-#define SetupSetDirectoryId SetupSetDirectoryIdW
-#define SetupSetFileQueueAlternatePlatform SetupSetFileQueueAlternatePlatformW
-#define SetupSetPlatformPathOverride SetupSetPlatformPathOverrideW
-#define SetupSetSourceList SetupSetSourceListW
-#else
-#define PSP_FILE_CALLBACK PSP_FILE_CALLBACK_A
-#define SetupAddInstallSectionToDiskSpaceList SetupAddInstallSectionToDiskSpaceListA
-#define SetupAddSectionToDiskSpaceList SetupAddSectionToDiskSpaceListA
-#define SetupAddToDiskSpaceList SetupAddToDiskSpaceListA
-#define SetupAddToSourceList SetupAddToSourceListA
-#define SetupAdjustDiskSpaceList SetupAdjustDiskSpaceListA
-#define SetupBackupError SetupBackupErrorA
-#define SetupCommitFileQueue SetupCommitFileQueueA
-#define SetupCopyError SetupCopyErrorA
-#define SetupCopyOEMInf SetupCopyOEMInfA
-#define SetupCreateDiskSpaceList SetupCreateDiskSpaceListA
-#define SetupDecompressOrCopyFile SetupDecompressOrCopyFileA
-#define SetupDefaultQueueCallback SetupDefaultQueueCallbackA
-#define SetupDeleteError SetupDeleteErrorA
-#define SetupDiBuildClassInfoListEx SetupDiBuildClassInfoListExA
-#define SetupDiClassGuidsFromName SetupDiClassGuidsFromNameA
-#define SetupDiClassGuidsFromNameEx SetupDiClassGuidsFromNameExA
-#define SetupDiClassNameFromGuid SetupDiClassNameFromGuidA
-#define SetupDiClassNameFromGuidEx SetupDiClassNameFromGuidExA
-#define SetupDiCreateDeviceInfo SetupDiCreateDeviceInfoA
-#define SetupDiCreateDeviceInfoListEx SetupDiCreateDeviceInfoListExA
-#define SetupDiCreateDeviceInterface SetupDiCreateDeviceInterfaceA
-#define SetupDiCreateInterfaceDevice SetupDiCreateDeviceInterfaceA
-#define SetupDiCreateDeviceInterfaceRegKey SetupDiCreateDeviceInterfaceRegKeyA
-#define SetupDiCreateInterfaceDeviceRegKey SetupDiCreateDeviceInterfaceRegKeyA
-#define SetupDiCreateDevRegKey SetupDiCreateDevRegKeyA
-#define SetupDiDeleteInterfaceDeviceData SetupDiDeleteDeviceInterfaceData
-#define SetupDiEnumDriverInfo SetupDiEnumDriverInfoA
-#define SetupDiGetActualSectionToInstall SetupDiGetActualSectionToInstallA
-#define SetupDiGetClassDescription SetupDiGetClassDescriptionA
-#define SetupDiGetClassDescriptionEx SetupDiGetClassDescriptionExA
-#define SetupDiGetClassDevPropertySheets SetupDiGetClassDevPropertySheetsA
-#define SetupDiGetClassDevs SetupDiGetClassDevsA
-#define SetupDiGetClassDevsEx SetupDiGetClassDevsExA
-#define SetupDiGetClassImageListEx SetupDiGetClassImageListExA
-#define SetupDiGetClassInstallParams SetupDiGetClassInstallParamsA
-#define SetupDiGetClassRegistryProperty SetupDiGetClassRegistryPropertyA
-#define SetupDiGetDeviceInfoListDetail SetupDiGetDeviceInfoListDetailA
-#define SetupDiGetDeviceInstallParams SetupDiGetDeviceInstallParamsA
-#define SetupDiGetDeviceInstanceId SetupDiGetDeviceInstanceIdA
-#define SetupDiGetDeviceInterfaceDetail SetupDiGetDeviceInterfaceDetailA
-#define SetupDiGetInterfaceDeviceDetail SetupDiGetDeviceInterfaceDetailA
-#define SetupDiGetDeviceRegistryProperty SetupDiGetDeviceRegistryPropertyA
-#define SetupDiGetDriverInfoDetail SetupDiGetDriverInfoDetailA
-#define SetupDiGetDriverInstallParams SetupDiGetDriverInstallParamsA
-#define SetupDiGetHwProfileFriendlyName SetupDiGetHwProfileFriendlyNameA
-#define SetupDiGetHwProfileFriendlyNameEx SetupDiGetHwProfileFriendlyNameExA
-#define SetupDiGetHwProfileListEx SetupDiGetHwProfileListExA
-#define SetupDiGetINFClass SetupDiGetINFClassA
-#define SetupDiGetSelectedDriver SetupDiGetSelectedDriverA
-#define SetupDiInstallClass SetupDiInstallClassA
-#define SetupDiInstallClassEx SetupDiInstallClassExA
-#define SetupDiOpenClassRegKeyEx SetupDiOpenClassRegKeyExA
-#define SetupDiOpenDeviceInfo SetupDiOpenDeviceInfoA
-#define SetupDiOpenDeviceInterface SetupDiOpenDeviceInterfaceA
-#define SetupDiOpenInterfaceDevice SetupDiOpenDeviceInterfaceA
-#define SetupDiSetClassInstallParams SetupDiSetClassInstallParamsA
-#define SetupDiSetClassRegistryProperty SetupDiSetClassRegistryPropertyA
-#define SetupDiSetDeviceInstallParams SetupDiSetDeviceInstallParamsA
-#define SetupDiSetDeviceRegistryProperty SetupDiSetDeviceRegistryPropertyA
-#define SetupDiSetDriverInstallParams SetupDiSetDriverInstallParamsA
-#define SetupDiSetSelectedDriver SetupDiSetSelectedDriverA
-#define SetupDuplicateDiskSpaceList SetupDuplicateDiskSpaceListA
-#define SetupFindFirstLine SetupFindFirstLineA
-#define SetupFindNextMatchLine SetupFindNextMatchLineA
-#define SetupFreeSourceList SetupFreeSourceListA
-#define SetupGetBackupInformation SetupGetBackupInformationA
-#define SetupGetFileCompressionInfo SetupGetFileCompressionInfoA
-#define SetupGetInfFileList SetupGetInfFileListA
-#define SetupGetInfInformation SetupGetInfInformationA
-#define SetupGetLineByIndex SetupGetLineByIndexA
-#define SetupGetLineCount SetupGetLineCountA
-#define SetupGetLineText SetupGetLineTextA
-#define SetupGetMultiSzField SetupGetMultiSzFieldA
-#define SetupGetSourceFileLocation SetupGetSourceFileLocationA
-#define SetupGetSourceFileSize SetupGetSourceFileSizeA
-#define SetupGetSourceInfo SetupGetSourceInfoA
-#define SetupGetStringField SetupGetStringFieldA
-#define SetupGetTargetPath SetupGetTargetPathA
-#define SetupInitializeFileLog SetupInitializeFileLogA
-#define SetupInstallFile SetupInstallFileA
-#define SetupInstallFileEx SetupInstallFileExA
-#define SetupInstallFilesFromInfSection SetupInstallFilesFromInfSectionA
-#define SetupInstallFromInfSection SetupInstallFromInfSectionA
-#define SetupInstallServicesFromInfSection SetupInstallServicesFromInfSectionA
-#define SetupInstallServicesFromInfSectionEx SetupInstallServicesFromInfSectionExA
-#define SetupIterateCabinet SetupIterateCabinetA
-#define SetupLogError SetupLogErrorA
-#define SetupLogFile SetupLogFileA
-#define SetupOpenAppendInfFile SetupOpenAppendInfFileA
-#define SetupOpenInfFile SetupOpenInfFileA
-#define SetupPromptForDisk SetupPromptForDiskA
-#define SetupQueryDrivesInDiskSpaceList SetupQueryDrivesInDiskSpaceListA
-#define SetupQueryFileLog SetupQueryFileLogA
-#define SetupQueryInfFileInformation SetupQueryInfFileInformationA
-#define SetupQueryInfOriginalFileInformation SetupQueryInfOriginalFileInformationA
-#define SetupQueryInfVersionInformation SetupQueryInfVersionInformationA
-#define SetupQuerySourceList SetupQuerySourceListA
-#define SetupQuerySpaceRequiredOnDrive SetupQuerySpaceRequiredOnDriveA
-#define SetupQueueCopy SetupQueueCopyA
-#define SetupQueueCopyIndirect SetupQueueCopyIndirectA
-#define SetupQueueCopySection SetupQueueCopySectionA
-#define SetupQueueDefaultCopy SetupQueueDefaultCopyA
-#define SetupQueueDelete SetupQueueDeleteA
-#define SetupQueueDeleteSection SetupQueueDeleteSectionA
-#define SetupQueueRename SetupQueueRenameA
-#define SetupQueueRenameSection SetupQueueRenameSectionA
-#define SetupRemoveFileLogEntry SetupRemoveFileLogEntryA
-#define SetupRemoveFromDiskSpaceList SetupRemoveFromDiskSpaceListA
-#define SetupRemoveFromSourceList SetupRemoveFromSourceListA
-#define SetupRemoveInstallSectionFromDiskSpaceList SetupRemoveInstallSectionFromDiskSpaceListA
-#define SetupRemoveSectionFromDiskSpaceList SetupRemoveSectionFromDiskSpaceListA
-#define SetupRenameError SetupRenameErrorA
-#define SetupScanFileQueue SetupScanFileQueueA
-#define SetupSetDirectoryId SetupSetDirectoryIdA
-#define SetupSetDirectoryIdEx SetupSetDirectoryIdExA
-#define SetupSetFileQueueAlternatePlatform SetupSetFileQueueAlternatePlatformA
-#define SetupSetPlatformPathOverride SetupSetPlatformPathOverrideA
-#define SetupSetSourceList SetupSetSourceListA
-#endif /* UNICODE */
-
-#endif /* RC_INVOKED */
-
-#ifdef __cplusplus
-}
-#endif
-
-#include <poppack.h>
-#endif /* _SETUPAPI_H_ */
-
diff --git a/winsup/w32api/include/shellapi.h b/winsup/w32api/include/shellapi.h
deleted file mode 100644
index 9abdf99b4..000000000
--- a/winsup/w32api/include/shellapi.h
+++ /dev/null
@@ -1,342 +0,0 @@
-#ifndef _SHELLAPI_H
-#define _SHELLAPI_H
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-#define WINSHELLAPI DECLSPEC_IMPORT
-#define ABE_LEFT 0
-#define ABE_TOP 1
-#define ABE_RIGHT 2
-#define ABE_BOTTOM 3
-#define ABS_AUTOHIDE 1
-#define ABS_ALWAYSONTOP 2
-#define SEE_MASK_CLASSNAME 1
-#define SEE_MASK_CLASSKEY 3
-#define SEE_MASK_IDLIST 4
-#define SEE_MASK_INVOKEIDLIST 12
-#define SEE_MASK_ICON 0x10
-#define SEE_MASK_HOTKEY 0x20
-#define SEE_MASK_NOCLOSEPROCESS 0x40
-#define SEE_MASK_CONNECTNETDRV 0x80
-#define SEE_MASK_FLAG_DDEWAIT 0x100
-#define SEE_MASK_DOENVSUBST 0x200
-#define SEE_MASK_FLAG_NO_UI 0x400
-#define SEE_MASK_NO_CONSOLE 0x8000
-#define SEE_MASK_UNICODE 0x10000
-#define SEE_MASK_ASYNCOK 0x100000
-#define SEE_MASK_HMONITOR 0x200000
-#define ABM_NEW 0
-#define ABM_REMOVE 1
-#define ABM_QUERYPOS 2
-#define ABM_SETPOS 3
-#define ABM_GETSTATE 4
-#define ABM_GETTASKBARPOS 5
-#define ABM_ACTIVATE 6
-#define ABM_GETAUTOHIDEBAR 7
-#define ABM_SETAUTOHIDEBAR 8
-#define ABM_WINDOWPOSCHANGED 9
-#define ABN_STATECHANGE 0
-#define ABN_POSCHANGED 1
-#define ABN_FULLSCREENAPP 2
-#define ABN_WINDOWARRANGE 3
-#define NIM_ADD 0
-#define NIM_MODIFY 1
-#define NIM_DELETE 2
-#if _WIN32_IE >= 0x0500
-#define NOTIFYICON_VERSION 3
-#define NIM_SETFOCUS 3
-#define NIM_SETVERSION 4
-#endif
-#define NIF_MESSAGE 0x00000001
-#define NIF_ICON 0x00000002
-#define NIF_TIP 0x00000004
-#define NIF_STATE 0x00000008
-#if (_WIN32_IE >= 0x0500)
-#define NIF_INFO 0x00000010
-#endif
-#if (_WIN32_IE >= 0x0600)
-#define NIF_GUID 0x00000020
-#endif
-#if (_WIN32_IE >= 0x0500)
-#define NIIF_NONE 0x00000000
-#define NIIF_INFO 0x00000001
-#define NIIF_WARNING 0x00000002
-#define NIIF_ERROR 0x00000003
-#endif
-#if (_WIN32_IE >= 0x0600)
-#define NIIF_ICON_MASK 0x0000000F
-#define NIIF_NOSOUND 0x00000010
-#endif
-#define NIS_HIDDEN 1
-#define NIS_SHAREDICON 2
-#define SE_ERR_FNF 2
-#define SE_ERR_PNF 3
-#define SE_ERR_ACCESSDENIED 5
-#define SE_ERR_OOM 8
-#define SE_ERR_DLLNOTFOUND 32
-#define SE_ERR_SHARE 26
-#define SE_ERR_ASSOCINCOMPLETE 27
-#define SE_ERR_DDETIMEOUT 28
-#define SE_ERR_DDEFAIL 29
-#define SE_ERR_DDEBUSY 30
-#define SE_ERR_NOASSOC 31
-#define FO_MOVE 1
-#define FO_COPY 2
-#define FO_DELETE 3
-#define FO_RENAME 4
-#define FOF_MULTIDESTFILES 1
-#define FOF_CONFIRMMOUSE 2
-#define FOF_SILENT 4
-#define FOF_RENAMEONCOLLISION 8
-#define FOF_NOCONFIRMATION 16
-#define FOF_WANTMAPPINGHANDLE 32
-#define FOF_ALLOWUNDO 64
-#define FOF_FILESONLY 128
-#define FOF_SIMPLEPROGRESS 256
-#define FOF_NOCONFIRMMKDIR 512
-#define FOF_NOERRORUI 1024
-#define FOF_NOCOPYSECURITYATTRIBS 2048
-#define PO_DELETE 19
-#define PO_RENAME 20
-#define PO_PORTCHANGE 32
-#define PO_REN_PORT 52
-#define SHGFI_ICON 256
-#define SHGFI_DISPLAYNAME 512
-#define SHGFI_TYPENAME 1024
-#define SHGFI_ATTRIBUTES 2048
-#define SHGFI_ICONLOCATION 4096
-#define SHGFI_EXETYPE 8192
-#define SHGFI_SYSICONINDEX 16384
-#define SHGFI_LINKOVERLAY 32768
-#define SHGFI_SELECTED 65536
-#define SHGFI_ATTR_SPECIFIED 131072
-#define SHGFI_LARGEICON 0
-#define SHGFI_SMALLICON 1
-#define SHGFI_OPENICON 2
-#define SHGFI_SHELLICONSIZE 4
-#define SHGFI_PIDL 8
-#define SHGFI_USEFILEATTRIBUTES 16
-#define SHERB_NOCONFIRMATION 1
-#define SHERB_NOPROGRESSUI 2
-#define SHERB_NOSOUND 4
-
-typedef WORD FILEOP_FLAGS;
-typedef WORD PRINTEROP_FLAGS;
-#include <pshpack2.h>
-typedef struct _AppBarData {
- DWORD cbSize;
- HWND hWnd;
- UINT uCallbackMessage;
- UINT uEdge;
- RECT rc;
- LPARAM lParam;
-} APPBARDATA,*PAPPBARDATA;
-DECLARE_HANDLE(HDROP);
-
-typedef struct _NOTIFYICONDATAA {
- DWORD cbSize;
- HWND hWnd;
- UINT uID;
- UINT uFlags;
- UINT uCallbackMessage;
- HICON hIcon;
-#if _WIN32_IE >= 0x0500
- CHAR szTip[128];
- DWORD dwState;
- DWORD dwStateMask;
- CHAR szInfo[256];
- _ANONYMOUS_UNION union {
- UINT uTimeout;
- UINT uVersion;
- } DUMMYUNIONNAME;
- CHAR szInfoTitle[64];
- DWORD dwInfoFlags;
-#else
- CHAR szTip[64];
-#endif
-#if _WIN32_IE >= 0x600
- GUID guidItem;
-#endif
-} NOTIFYICONDATAA,*PNOTIFYICONDATAA;
-
-typedef struct _NOTIFYICONDATAW {
- DWORD cbSize;
- HWND hWnd;
- UINT uID;
- UINT uFlags;
- UINT uCallbackMessage;
- HICON hIcon;
-#if _WIN32_IE >= 0x0500
- WCHAR szTip[128];
- DWORD dwState;
- DWORD dwStateMask;
- WCHAR szInfo[256];
- _ANONYMOUS_UNION union {
- UINT uTimeout;
- UINT uVersion;
- } DUMMYUNIONNAME;
- WCHAR szInfoTitle[64];
- DWORD dwInfoFlags;
-#else
- WCHAR szTip[64];
-#endif
-#if _WIN32_IE >= 0x600
- GUID guidItem;
-#endif
-} NOTIFYICONDATAW,*PNOTIFYICONDATAW;
-
-typedef struct _SHELLEXECUTEINFOA {
- DWORD cbSize;
- ULONG fMask;
- HWND hwnd;
- LPCSTR lpVerb;
- LPCSTR lpFile;
- LPCSTR lpParameters;
- LPCSTR lpDirectory;
- int nShow;
- HINSTANCE hInstApp;
- PVOID lpIDList;
- LPCSTR lpClass;
- HKEY hkeyClass;
- DWORD dwHotKey;
- HANDLE hIcon;
- HANDLE hProcess;
-} SHELLEXECUTEINFOA,*LPSHELLEXECUTEINFOA;
-typedef struct _SHELLEXECUTEINFOW {
- DWORD cbSize;
- ULONG fMask;
- HWND hwnd;
- LPCWSTR lpVerb;
- LPCWSTR lpFile;
- LPCWSTR lpParameters;
- LPCWSTR lpDirectory;
- int nShow;
- HINSTANCE hInstApp;
- PVOID lpIDList;
- LPCWSTR lpClass;
- HKEY hkeyClass;
- DWORD dwHotKey;
- HANDLE hIcon;
- HANDLE hProcess;
-} SHELLEXECUTEINFOW,*LPSHELLEXECUTEINFOW;
-typedef struct _SHFILEOPSTRUCTA {
- HWND hwnd;
- UINT wFunc;
- LPCSTR pFrom;
- LPCSTR pTo;
- FILEOP_FLAGS fFlags;
- BOOL fAnyOperationsAborted;
- PVOID hNameMappings;
- LPCSTR lpszProgressTitle;
-} SHFILEOPSTRUCTA,*LPSHFILEOPSTRUCTA;
-typedef struct _SHFILEOPSTRUCTW {
- HWND hwnd;
- UINT wFunc;
- LPCWSTR pFrom;
- LPCWSTR pTo;
- FILEOP_FLAGS fFlags;
- BOOL fAnyOperationsAborted;
- PVOID hNameMappings;
- LPCWSTR lpszProgressTitle;
-} SHFILEOPSTRUCTW,*LPSHFILEOPSTRUCTW;
-typedef struct _SHFILEINFOA {
- HICON hIcon;
- int iIcon;
- DWORD dwAttributes;
- CHAR szDisplayName[MAX_PATH];
- CHAR szTypeName[80];
-} SHFILEINFOA;
-typedef struct _SHFILEINFOW {
- HICON hIcon;
- int iIcon;
- DWORD dwAttributes;
- WCHAR szDisplayName[MAX_PATH];
- WCHAR szTypeName[80];
-} SHFILEINFOW;
-typedef struct _SHQUERYRBINFO {
- DWORD cbSize;
- __int64 i64Size;
- __int64 i64NumItems;
-} SHQUERYRBINFO, *LPSHQUERYRBINFO;
-#include <poppack.h>
-
-LPWSTR * WINAPI CommandLineToArgvW(LPCWSTR,int*);
-void WINAPI DragAcceptFiles(HWND,BOOL);
-void WINAPI DragFinish(HDROP);
-UINT WINAPI DragQueryFileA(HDROP,UINT,LPSTR,UINT);
-UINT WINAPI DragQueryFileW(HDROP,UINT,LPWSTR,UINT);
-BOOL WINAPI DragQueryPoint(HDROP,LPPOINT);
-HICON WINAPI DuplicateIcon(HINSTANCE,HICON);
-HICON WINAPI ExtractAssociatedIconA(HINSTANCE,LPCSTR,PWORD);
-HICON WINAPI ExtractAssociatedIconW(HINSTANCE,LPCWSTR,PWORD);
-HICON WINAPI ExtractIconA(HINSTANCE,LPCSTR,UINT);
-HICON WINAPI ExtractIconW(HINSTANCE,LPCWSTR,UINT);
-UINT WINAPI ExtractIconExA(LPCSTR,int,HICON*,HICON*,UINT);
-UINT WINAPI ExtractIconExW(LPCWSTR,int,HICON*,HICON*,UINT);
-HINSTANCE WINAPI FindExecutableA(LPCSTR,LPCSTR,LPSTR);
-HINSTANCE WINAPI FindExecutableW(LPCWSTR,LPCWSTR,LPWSTR);
-UINT WINAPI SHAppBarMessage(DWORD,PAPPBARDATA);
-BOOL WINAPI Shell_NotifyIconA(DWORD,PNOTIFYICONDATAA);
-BOOL WINAPI Shell_NotifyIconW(DWORD,PNOTIFYICONDATAW);
-int WINAPI ShellAboutA(HWND,LPCSTR,LPCSTR,HICON);
-int WINAPI ShellAboutW(HWND,LPCWSTR,LPCWSTR,HICON);
-HINSTANCE WINAPI ShellExecuteA(HWND,LPCSTR,LPCSTR,LPCSTR,LPCSTR,INT);
-HINSTANCE WINAPI ShellExecuteW(HWND,LPCWSTR,LPCWSTR,LPCWSTR,LPCWSTR,INT);
-BOOL WINAPI ShellExecuteExA(LPSHELLEXECUTEINFOA);
-BOOL WINAPI ShellExecuteExW(LPSHELLEXECUTEINFOW);
-int WINAPI SHFileOperationA(LPSHFILEOPSTRUCTA);
-int WINAPI SHFileOperationW(LPSHFILEOPSTRUCTW);
-void WINAPI SHFreeNameMappings(HANDLE);
-DWORD WINAPI SHGetFileInfoA(LPCSTR,DWORD,SHFILEINFOA*,UINT,UINT);
-DWORD WINAPI SHGetFileInfoW(LPCWSTR,DWORD,SHFILEINFOW*,UINT,UINT);
-HRESULT WINAPI SHQueryRecycleBinA(LPCSTR, LPSHQUERYRBINFO);
-HRESULT WINAPI SHQueryRecycleBinW(LPCWSTR, LPSHQUERYRBINFO);
-HRESULT WINAPI SHEmptyRecycleBinA(HWND,LPCSTR,DWORD);
-HRESULT WINAPI SHEmptyRecycleBinW(HWND,LPCWSTR,DWORD);
-
-#ifdef UNICODE
-typedef NOTIFYICONDATAW NOTIFYICONDATA,*PNOTIFYICONDATA;
-typedef SHELLEXECUTEINFOW SHELLEXECUTEINFO,*LPSHELLEXECUTEINFO;
-typedef SHFILEOPSTRUCTW SHFILEOPSTRUCT,*LPSHFILEOPSTRUCT;
-typedef SHFILEINFOW SHFILEINFO;
-#define DragQueryFile DragQueryFileW
-#define ExtractAssociatedIcon ExtractAssociatedIconW
-#define ExtractIcon ExtractIconW
-#define ExtractIconEx ExtractIconExW
-#define FindExecutable FindExecutableW
-#define Shell_NotifyIcon Shell_NotifyIconW
-#define ShellAbout ShellAboutW
-#define ShellExecute ShellExecuteW
-#define ShellExecuteEx ShellExecuteExW
-#define SHFileOperation SHFileOperationW
-#define SHGetFileInfo SHGetFileInfoW
-#define SHQueryRecycleBin SHQueryRecycleBinW
-#define SHEmptyRecycleBin SHEmptyRecycleBinW
-
-#else
-typedef NOTIFYICONDATAA NOTIFYICONDATA,*PNOTIFYICONDATA;
-typedef SHELLEXECUTEINFOA SHELLEXECUTEINFO,*LPSHELLEXECUTEINFO;
-typedef SHFILEOPSTRUCTA SHFILEOPSTRUCT,*LPSHFILEOPSTRUCT;
-typedef SHFILEINFOA SHFILEINFO;
-#define DragQueryFile DragQueryFileA
-#define ExtractAssociatedIcon ExtractAssociatedIconA
-#define ExtractIcon ExtractIconA
-#define ExtractIconEx ExtractIconExA
-#define FindExecutable FindExecutableA
-#define Shell_NotifyIcon Shell_NotifyIconA
-#define ShellAbout ShellAboutA
-#define ShellExecute ShellExecuteA
-#define ShellExecuteEx ShellExecuteExA
-#define SHFileOperation SHFileOperationA
-#define SHGetFileInfo SHGetFileInfoA
-#define SHQueryRecycleBin SHQueryRecycleBinA
-#define SHEmptyRecycleBin SHEmptyRecycleBinA
-#endif
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/winsup/w32api/include/shldisp.h b/winsup/w32api/include/shldisp.h
deleted file mode 100755
index 5bf489491..000000000
--- a/winsup/w32api/include/shldisp.h
+++ /dev/null
@@ -1,61 +0,0 @@
-#ifndef _SHLDISP_H
-#define _SHLDISP_H
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define ACO_AUTOSUGGEST 0x01
-
-#undef INTERFACE
-#define INTERFACE IAutoComplete
-DECLARE_INTERFACE_(IAutoComplete, IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(Init)(THIS_ HWND,IUnknown*,LPCOLESTR,LPCOLESTR) PURE;
- STDMETHOD(Enable)(THIS_ BOOL) PURE;
-};
-typedef IAutoComplete *LPAUTOCOMPLETE;
-
-#ifdef COBJMACROS
-#define IAutoComplete_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
-#define IAutoComplete_AddRef(T) (T)->lpVtbl->AddRef(T)
-#define IAutoComplete_Release(T) (T)->lpVtbl->Release(T)
-#define IAutoComplete_Init(T,a,b,c,d) (T)->lpVtbl->Init(T,a,b,c,d)
-#define IAutoComplete_Enable(T,a) (T)->lpVtbl->Enable(T,a)
-#endif
-
-#undef INTERFACE
-#define INTERFACE IAutoComplete2
-DECLARE_INTERFACE_(IAutoComplete2, IAutoComplete)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(Init)(THIS_ HWND,IUnknown*,LPCOLESTR,LPCOLESTR) PURE;
- STDMETHOD(Enable)(THIS_ BOOL) PURE;
- STDMETHOD(SetOptions)(THIS_ DWORD) PURE;
- STDMETHOD(GetOptions)(THIS_ DWORD*) PURE;
-};
-typedef IAutoComplete2 *LPAUTOCOMPLETE2;
-
-#ifdef COBJMACROS
-#define IAutoComplete2_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
-#define IAutoComplete2_AddRef(T) (T)->lpVtbl->AddRef(T)
-#define IAutoComplete2_Release(T) (T)->lpVtbl->Release(T)
-#define IAutoComplete2_Init(T,a,b,c,d) (T)->lpVtbl->Init(T,a,b,c,d)
-#define IAutoComplete2_Enable(T,a) (T)->lpVtbl->Enable(T,a)
-#define IAutoComplete2_SetOptions(T,a) (T)->lpVtbl->Enable(T,a)
-#define IAutoComplete2_GetOptions(T,a) (T)->lpVtbl->Enable(T,a)
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _SHLDISP_H */
diff --git a/winsup/w32api/include/shlguid.h b/winsup/w32api/include/shlguid.h
deleted file mode 100644
index 3583e324b..000000000
--- a/winsup/w32api/include/shlguid.h
+++ /dev/null
@@ -1,102 +0,0 @@
-#ifndef _SHLGUID_H
-#define _SHLGUID_H
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-#define DEFINE_SHLGUID(n,l,w1,w2) DEFINE_GUID(n,l,w1,w2,0xC0,0,0,0,0,0,0,0x46)
-#define SID_SShellBrowser IID_IShellBrowser
-extern const GUID CLSID_ShellDesktop;
-extern const GUID CLSID_ShellLink;
-extern const GUID FMTID_Intshcut;
-extern const GUID FMTID_InternetSite;
-extern const GUID CGID_Explorer;
-extern const GUID CGID_ShellDocView;
-extern const GUID CGID_ShellServiceObject;
-extern const GUID IID_INewShortcutHookA;
-extern const GUID IID_IShellBrowser;
-extern const GUID IID_IShellView;
-extern const GUID IID_IContextMenu;
-extern const GUID IID_IColumnProvider;
-extern const GUID IID_IQueryInfo;
-extern const GUID IID_IShellIcon;
-extern const GUID IID_IShellIconOverlayIdentifier;
-extern const GUID IID_IShellFolder;
-extern const GUID IID_IShellExtInit;
-extern const GUID IID_IShellPropSheetExt;
-extern const GUID IID_IPersistFolder;
-extern const GUID IID_IExtractIconA;
-extern const GUID IID_IShellLinkA;
-extern const GUID IID_IShellCopyHookA;
-extern const GUID IID_IFileViewerA;
-extern const GUID IID_ICommDlgBrowser;
-extern const GUID IID_IEnumIDList;
-extern const GUID IID_IFileViewerSite;
-extern const GUID IID_IContextMenu2;
-extern const GUID IID_IContextMenu3;
-extern const GUID IID_IShellExecuteHookA;
-extern const GUID IID_IPropSheetPage;
-extern const GUID IID_INewShortcutHookW;
-extern const GUID IID_IFileViewerW;
-extern const GUID IID_IShellLinkW;
-extern const GUID IID_IExtractIconW;
-extern const GUID IID_IShellExecuteHookW;
-extern const GUID IID_IShellCopyHookW;
-extern const GUID IID_IShellView2;
-extern const GUID LIBID_SHDocVw;
-extern const GUID IID_IShellExplorer;
-extern const GUID DIID_DShellExplorerEvents;
-extern const GUID CLSID_ShellExplorer;
-extern const GUID IID_ISHItemOC;
-extern const GUID DIID_DSHItemOCEvents;
-extern const GUID CLSID_SHItemOC;
-extern const GUID IID_DHyperLink;
-extern const GUID IID_DIExplorer;
-extern const GUID DIID_DExplorerEvents;
-extern const GUID CLSID_InternetExplorer;
-extern const GUID CLSID_StdHyperLink;
-extern const GUID CLSID_FileTypes;
-extern const GUID CLSID_InternetShortcut;
-extern const GUID IID_IUniformResourceLocator;
-extern const GUID CLSID_DragDropHelper;
-extern const GUID IID_IDropTargetHelper;
-extern const GUID IID_IDragSourceHelper;
-extern const GUID CLSID_AutoComplete;
-extern const GUID IID_IAutoComplete;
-extern const GUID IID_IAutoComplete2;
-extern const GUID CLSID_ACLMulti;
-extern const GUID IID_IObjMgr;
-extern const GUID CLSID_ACListISF;
-extern const GUID IID_IACList;
-#if (_WIN32_IE >= 0x400 || _WIN32_WINNT >= 0x500)
-extern const GUID IID_IPersistFolder2;
-#endif
-#if (_WIN32_WINNT >= 0x500)
-extern const GUID IID_IPersistFolder3;
-extern const GUID IID_IShellFolder2;
-extern const GUID IID_IFileSystemBindData;
-#endif
-#ifdef UNICODE
-#define IID_IFileViewer IID_IFileViewerW
-#define IID_IShellLink IID_IShellLinkW
-#define IID_IExtractIcon IID_IExtractIconW
-#define IID_IShellCopyHook IID_IShellCopyHookW
-#define IID_IShellExecuteHook IID_IShellExecuteHookW
-#define IID_INewShortcutHook IID_INewShortcutHookW
-#else
-#define IID_IFileViewer IID_IFileViewerA
-#define IID_IShellLink IID_IShellLinkA
-#define IID_IExtractIcon IID_IExtractIconA
-#define IID_IShellCopyHook IID_IShellCopyHookA
-#define IID_IShellExecuteHook IID_IShellExecuteHookA
-#define IID_INewShortcutHook IID_INewShortcutHookA
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
diff --git a/winsup/w32api/include/shlobj.h b/winsup/w32api/include/shlobj.h
deleted file mode 100644
index 138d08d6f..000000000
--- a/winsup/w32api/include/shlobj.h
+++ /dev/null
@@ -1,1518 +0,0 @@
-#ifndef _SHLOBJ_H
-#define _SHLOBJ_H
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <ole2.h>
-#include <shlguid.h>
-#include <shellapi.h>
-#pragma pack(push,1)
-#include <commctrl.h>
-
-#define BIF_RETURNONLYFSDIRS 1
-#define BIF_DONTGOBELOWDOMAIN 2
-#define BIF_STATUSTEXT 4
-#define BIF_RETURNFSANCESTORS 8
-#define BIF_EDITBOX 16
-#define BIF_VALIDATE 32
-#define BIF_NEWDIALOGSTYLE 64
-#define BIF_BROWSEINCLUDEURLS 128
-#define BIF_USENEWUI ( BIF_EDITBOX | BIF_NEWDIALOGSTYLE )
-#define BIF_BROWSEFORCOMPUTER 0x1000
-#define BIF_BROWSEFORPRINTER 0x2000
-#define BIF_BROWSEINCLUDEFILES 0x4000
-#define BIF_SHAREABLE 0x8000
-#define BFFM_INITIALIZED 1
-#define BFFM_SELCHANGED 2
-#define BFFM_VALIDATEFAILEDA 3
-#define BFFM_VALIDATEFAILEDW 4
-#define BFFM_SETSTATUSTEXTA (WM_USER + 100)
-#define BFFM_SETSTATUSTEXTW (WM_USER + 104)
-#define BFFM_ENABLEOK (WM_USER + 101)
-#define BFFM_SETSELECTIONA (WM_USER + 102)
-#define BFFM_SETSELECTIONW (WM_USER + 103)
-#define BFFM_SETOKTEXT (WM_USER + 105)
-#define BFFM_SETEXPANDED (WM_USER + 106)
-#ifdef UNICODE
-#define BFFM_SETSTATUSTEXT BFFM_SETSTATUSTEXTW
-#define BFFM_SETSELECTION BFFM_SETSELECTIONW
-#define BFFM_VALIDATEFAILED BFFM_VALIDATEFAILEDW
-#else
-#define BFFM_SETSTATUSTEXT BFFM_SETSTATUSTEXTA
-#define BFFM_SETSELECTION BFFM_SETSELECTIONA
-#define BFFM_VALIDATEFAILED BFFM_VALIDATEFAILEDA
-#endif
-#define DVASPECT_SHORTNAME 2
-#define SHARD_PIDL 1
-#define SHARD_PATH 2
-#define SHCNE_RENAMEITEM 1
-#define SHCNE_CREATE 2
-#define SHCNE_DELETE 4
-#define SHCNE_MKDIR 8
-#define SHCNE_RMDIR 16
-#define SHCNE_MEDIAINSERTED 32
-#define SHCNE_MEDIAREMOVED 64
-#define SHCNE_DRIVEREMOVED 128
-#define SHCNE_DRIVEADD 256
-#define SHCNE_NETSHARE 512
-#define SHCNE_NETUNSHARE 1024
-#define SHCNE_ATTRIBUTES 2048
-#define SHCNE_UPDATEDIR 4096
-#define SHCNE_UPDATEITEM 8192
-#define SHCNE_SERVERDISCONNECT 16384
-#define SHCNE_UPDATEIMAGE 32768
-#define SHCNE_DRIVEADDGUI 65536
-#define SHCNE_RENAMEFOLDER 0x20000
-#define SHCNE_FREESPACE 0x40000
-#define SHCNE_ASSOCCHANGED 0x8000000
-#define SHCNE_DISKEVENTS 0x2381F
-#define SHCNE_GLOBALEVENTS 0xC0581E0
-#define SHCNE_ALLEVENTS 0x7FFFFFFF
-#define SHCNE_INTERRUPT 0x80000000
-#define SHCNF_IDLIST 0
-#define SHCNF_PATHA 1
-#define SHCNF_PRINTERA 2
-#define SHCNF_DWORD 3
-#define SHCNF_PATHW 5
-#define SHCNF_PRINTERW 6
-#define SHCNF_TYPE 0xFF
-#define SHCNF_FLUSH 0x1000
-#define SHCNF_FLUSHNOWAIT 0x2000
-#ifdef UNICODE
-#define SHCNF_PATH SHCNF_PATHW
-#define SHCNF_PRINTER SHCNF_PRINTERW
-#else
-#define SHCNF_PATH SHCNF_PATHA
-#define SHCNF_PRINTER SHCNF_PRINTERA
-#endif
-#define SFGAO_CANCOPY DROPEFFECT_COPY
-#define SFGAO_CANMOVE DROPEFFECT_MOVE
-#define SFGAO_CANLINK DROPEFFECT_LINK
-#define SFGAO_CANRENAME 0x00000010L
-#define SFGAO_CANDELETE 0x00000020L
-#define SFGAO_HASPROPSHEET 0x00000040L
-#define SFGAO_DROPTARGET 0x00000100L
-#define SFGAO_CAPABILITYMASK 0x00000177L
-#define SFGAO_GHOSTED 0x00008000L
-#define SFGAO_LINK 0x00010000L
-#define SFGAO_SHARE 0x00020000L
-#define SFGAO_READONLY 0x00040000L
-#define SFGAO_HIDDEN 0x00080000L
-#define SFGAO_DISPLAYATTRMASK 0x000F0000L
-#define SFGAO_FILESYSANCESTOR 0x10000000L
-#define SFGAO_FOLDER 0x20000000L
-#define SFGAO_FILESYSTEM 0x40000000L
-#define SFGAO_HASSUBFOLDER 0x80000000L
-#define SFGAO_CONTENTSMASK 0x80000000L
-#define SFGAO_VALIDATE 0x01000000L
-#define SFGAO_REMOVABLE 0x02000000L
-#define SFGAO_COMPRESSED 0x04000000L
-#define STRRET_WSTR 0
-#define STRRET_OFFSET 1
-#define STRRET_CSTR 2
-#define SHGDFIL_FINDDATA 1
-#define SHGDFIL_NETRESOURCE 2
-#define SHGDFIL_DESCRIPTIONID 3
-#define SHDID_ROOT_REGITEM 1
-#define SHDID_FS_FILE 2
-#define SHDID_FS_DIRECTORY 3
-#define SHDID_FS_OTHER 4
-#define SHDID_COMPUTER_DRIVE35 5
-#define SHDID_COMPUTER_DRIVE525 6
-#define SHDID_COMPUTER_REMOVABLE 7
-#define SHDID_COMPUTER_FIXED 8
-#define SHDID_COMPUTER_NETDRIVE 9
-#define SHDID_COMPUTER_CDROM 10
-#define SHDID_COMPUTER_RAMDISK 11
-#define SHDID_COMPUTER_OTHER 12
-#define SHDID_NET_DOMAIN 13
-#define SHDID_NET_SERVER 14
-#define SHDID_NET_SHARE 15
-#define SHDID_NET_RESTOFNET 16
-#define SHDID_NET_OTHER 17
-#ifndef REGSTR_PATH_EXPLORER
-#define REGSTR_PATH_EXPLORER TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Explorer")
-#endif
-#define REGSTR_PATH_SPECIAL_FOLDERS REGSTR_PATH_EXPLORER TEXT("\\Shell Folders")
-#define CSIDL_DESKTOP 0
-#define CSIDL_INTERNET 1
-#define CSIDL_PROGRAMS 2
-#define CSIDL_CONTROLS 3
-#define CSIDL_PRINTERS 4
-#define CSIDL_PERSONAL 5
-#define CSIDL_FAVORITES 6
-#define CSIDL_STARTUP 7
-#define CSIDL_RECENT 8
-#define CSIDL_SENDTO 9
-#define CSIDL_BITBUCKET 10
-#define CSIDL_STARTMENU 11
-#define CSIDL_DESKTOPDIRECTORY 16
-#define CSIDL_DRIVES 17
-#define CSIDL_NETWORK 18
-#define CSIDL_NETHOOD 19
-#define CSIDL_FONTS 20
-#define CSIDL_TEMPLATES 21
-#define CSIDL_COMMON_STARTMENU 22
-#define CSIDL_COMMON_PROGRAMS 23
-#define CSIDL_COMMON_STARTUP 24
-#define CSIDL_COMMON_DESKTOPDIRECTORY 25
-#define CSIDL_APPDATA 26
-#define CSIDL_PRINTHOOD 27
-#define CSIDL_LOCAL_APPDATA 28
-#define CSIDL_ALTSTARTUP 29
-#define CSIDL_COMMON_ALTSTARTUP 30
-#define CSIDL_COMMON_FAVORITES 31
-#define CSIDL_INTERNET_CACHE 32
-#define CSIDL_COOKIES 33
-#define CSIDL_HISTORY 34
-#define CSIDL_COMMON_APPDATA 35
-#define CSIDL_WINDOWS 36
-#define CSIDL_SYSTEM 37
-#define CSIDL_PROGRAM_FILES 38
-#define CSIDL_MYPICTURES 39
-#define CSIDL_PROFILE 40
-#define CSIDL_SYSTEMX86 41
-#define CSIDL_PROGRAM_FILESX86 42
-#define CSIDL_PROGRAM_FILES_COMMON 43
-#define CSIDL_PROGRAM_FILES_COMMONX86 44
-#define CSIDL_COMMON_TEMPLATES 45
-#define CSIDL_COMMON_DOCUMENTS 46
-#define CSIDL_COMMON_ADMINTOOLS 47
-#define CSIDL_ADMINTOOLS 48
-#define CSIDL_CONNECTIONS 49
-#define CSIDL_COMMON_MUSIC 53
-#define CSIDL_COMMON_PICTURES 54
-#define CSIDL_COMMON_VIDEO 55
-#define CSIDL_RESOURCES 56
-#define CSIDL_RESOURCES_LOCALIZED 57
-#define CSIDL_COMMON_OEM_LINKS 58
-#define CSIDL_CDBURN_AREA 59
-#define CSIDL_COMPUTERSNEARME 61
-#define CSIDL_FLAG_DONT_VERIFY 0x4000
-#define CSIDL_FLAG_CREATE 0x8000
-#define CSIDL_FLAG_MASK 0xFF00
-#define CFSTR_SHELLIDLIST TEXT("Shell IDList Array")
-#define CFSTR_SHELLIDLISTOFFSET TEXT("Shell Object Offsets")
-#define CFSTR_NETRESOURCES TEXT("Net Resource")
-#define CFSTR_FILECONTENTS TEXT("FileContents")
-#define CFSTR_FILENAMEA TEXT("FileName")
-#define CFSTR_FILENAMEMAPA TEXT("FileNameMap")
-#define CFSTR_FILEDESCRIPTORA TEXT("FileGroupDescriptor")
-#define CFSTR_INETURLA TEXT("UniformResourceLocator")
-#define CFSTR_SHELLURL CFSTR_INETURLA
-#define CFSTR_FILENAMEW TEXT("FileNameW")
-#define CFSTR_FILENAMEMAPW TEXT("FileNameMapW")
-#define CFSTR_FILEDESCRIPTORW TEXT("FileGroupDescriptorW")
-#define CFSTR_INETURLW TEXT("UniformResourceLocatorW")
-#ifdef UNICODE
-#define CFSTR_FILENAME CFSTR_FILENAMEW
-#define CFSTR_FILENAMEMAP CFSTR_FILENAMEMAPW
-#define CFSTR_FILEDESCRIPTOR CFSTR_FILEDESCRIPTORW
-#define CFSTR_INETURL CFSTR_INETURLW
-#else
-#define CFSTR_FILENAME CFSTR_FILENAMEA
-#define CFSTR_FILENAMEMAP CFSTR_FILENAMEMAPA
-#define CFSTR_FILEDESCRIPTOR CFSTR_FILEDESCRIPTORA
-#define CFSTR_INETURL CFSTR_INETURLA
-#endif
-#define CFSTR_PRINTERGROUP TEXT("PrinterFriendlyName")
-#define CFSTR_INDRAGLOOP TEXT("InShellDragLoop")
-#define CFSTR_PASTESUCCEEDED TEXT("Paste Succeeded")
-#define CFSTR_PERFORMEDDROPEFFECT TEXT("Performed DropEffect")
-#define CFSTR_PREFERREDDROPEFFECT TEXT("Preferred DropEffect")
-#define CMF_NORMAL 0
-#define CMF_DEFAULTONLY 1
-#define CMF_VERBSONLY 2
-#define CMF_EXPLORE 4
-#define CMF_NOVERBS 8
-#define CMF_CANRENAME 16
-#define CMF_NODEFAULT 32
-#define CMF_INCLUDESTATIC 64
-#define CMF_RESERVED 0xffff0000
-#define GCS_VERBA 0
-#define GCS_HELPTEXTA 1
-#define GCS_VALIDATEA 2
-#define GCS_VERBW 4
-#define GCS_HELPTEXTW 5
-#define GCS_VALIDATEW 6
-#define GCS_UNICODE 4
-#ifdef UNICODE
-#define GCS_VERB GCS_VERBW
-#define GCS_HELPTEXT GCS_HELPTEXTW
-#define GCS_VALIDATE GCS_VALIDATEW
-#else
-#define GCS_VERB GCS_VERBA
-#define GCS_HELPTEXT GCS_HELPTEXTA
-#define GCS_VALIDATE GCS_VALIDATEA
-#endif
-#define CMDSTR_NEWFOLDERA "NewFolder"
-#define CMDSTR_VIEWLISTA "ViewList"
-#define CMDSTR_VIEWDETAILSA "ViewDetails"
-#define CMDSTR_NEWFOLDERW L"NewFolder"
-#define CMDSTR_VIEWLISTW L"ViewList"
-#define CMDSTR_VIEWDETAILSW L"ViewDetails"
-#ifdef UNICODE
-#define CMDSTR_NEWFOLDER CMDSTR_NEWFOLDERW
-#define CMDSTR_VIEWLIST CMDSTR_VIEWLISTW
-#define CMDSTR_VIEWDETAILS CMDSTR_VIEWDETAILSW
-#else
-#define CMDSTR_NEWFOLDER CMDSTR_NEWFOLDER
-#define CMDSTR_VIEWLIST CMDSTR_VIEWLIST
-#define CMDSTR_VIEWDETAILS CMDSTR_VIEWDETAILS
-#endif
-#define CMIC_MASK_HOTKEY SEE_MASK_HOTKEY
-#define CMIC_MASK_ICON SEE_MASK_ICON
-#define CMIC_MASK_FLAG_NO_UI SEE_MASK_FLAG_NO_UI
-#define CMIC_MASK_MODAL 0x80000000
-#define CMIC_VALID_SEE_FLAGS SEE_VALID_CMIC_FLAGS
-#define GIL_OPENICON 1
-#define GIL_FORSHELL 2
-#define GIL_SIMULATEDOC 1
-#define GIL_PERINSTANCE 2
-#define GIL_PERCLASS 4
-#define GIL_NOTFILENAME 8
-#define GIL_DONTCACHE 16
-#define FVSIF_RECT 1
-#define FVSIF_PINNED 2
-#define FVSIF_NEWFAILED 0x8000000
-#define FVSIF_NEWFILE 0x80000000
-#define FVSIF_CANVIEWIT 0x40000000
-#define CDBOSC_SETFOCUS 0
-#define CDBOSC_KILLFOCUS 1
-#define CDBOSC_SELCHANGE 2
-#define CDBOSC_RENAME 3
-#define FCIDM_SHVIEWFIRST 0
-#define FCIDM_SHVIEWLAST 0x7fff
-#define FCIDM_BROWSERFIRST 0xa000
-#define FCIDM_BROWSERLAST 0xbf00
-#define FCIDM_GLOBALFIRST 0x8000
-#define FCIDM_GLOBALLAST 0x9fff
-#define FCIDM_MENU_FILE FCIDM_GLOBALFIRST
-#define FCIDM_MENU_EDIT (FCIDM_GLOBALFIRST+0x0040)
-#define FCIDM_MENU_VIEW (FCIDM_GLOBALFIRST+0x0080)
-#define FCIDM_MENU_VIEW_SEP_OPTIONS (FCIDM_GLOBALFIRST+0x0081)
-#define FCIDM_MENU_TOOLS (FCIDM_GLOBALFIRST+0x00c0)
-#define FCIDM_MENU_TOOLS_SEP_GOTO (FCIDM_GLOBALFIRST+0x00c1)
-#define FCIDM_MENU_HELP (FCIDM_GLOBALFIRST+0x0100)
-#define FCIDM_MENU_FIND (FCIDM_GLOBALFIRST+0x0140)
-#define FCIDM_MENU_EXPLORE (FCIDM_GLOBALFIRST+0x0150)
-#define FCIDM_MENU_FAVORITES (FCIDM_GLOBALFIRST+0x0170)
-#define FCIDM_TOOLBAR FCIDM_BROWSERFIRST
-#define FCIDM_STATUS (FCIDM_BROWSERFIRST+1)
-#define SBSP_DEFBROWSER 0
-#define SBSP_SAMEBROWSER 1
-#define SBSP_NEWBROWSER 2
-#define SBSP_DEFMODE 0
-#define SBSP_OPENMODE 16
-#define SBSP_EXPLOREMODE 32
-#define SBSP_ABSOLUTE 0
-#define SBSP_RELATIVE 0x1000
-#define SBSP_PARENT 0x2000
-#define SBSP_INITIATEDBYHLINKFRAME 0x80000000
-#define SBSP_REDIRECT 0x40000000
-#define FCW_STATUS 1
-#define FCW_TOOLBAR 2
-#define FCW_TREE 3
-#define FCT_MERGE 1
-#define FCT_CONFIGABLE 2
-#define FCT_ADDTOEND 4
-#define SVSI_DESELECT 0
-#define SVSI_SELECT 1
-#define SVSI_EDIT 3
-#define SVSI_DESELECTOTHERS 4
-#define SVSI_ENSUREVISIBLE 8
-#define SVSI_FOCUSED 16
-#define SVGIO_BACKGROUND 0
-#define SVGIO_SELECTION 1
-#define SVGIO_ALLVIEW 2
-#define SV2GV_CURRENTVIEW ((UINT)-1)
-#define SV2GV_DEFAULTVIEW ((UINT)-2)
-
-typedef ULONG SFGAOF;
-typedef DWORD SHGDNF;
-
-typedef struct _IDA {
- UINT cidl;
- UINT aoffset[1];
-} CIDA,*LPIDA;
-typedef struct _SHITEMID {
- USHORT cb;
- BYTE abID[1];
-} SHITEMID, * LPSHITEMID;
-typedef const SHITEMID *LPCSHITEMID;
-typedef struct _ITEMIDLIST {
- SHITEMID mkid;
-} ITEMIDLIST,*LPITEMIDLIST;
-typedef const ITEMIDLIST *LPCITEMIDLIST;
-typedef int (CALLBACK* BFFCALLBACK)(HWND,UINT,LPARAM,LPARAM);
-typedef struct _browseinfoA {
- HWND hwndOwner;
- LPCITEMIDLIST pidlRoot;
- LPSTR pszDisplayName;
- LPCSTR lpszTitle;
- UINT ulFlags;
- BFFCALLBACK lpfn;
- LPARAM lParam;
- int iImage;
-} BROWSEINFOA,*PBROWSEINFOA,*LPBROWSEINFOA;
-typedef struct _browseinfoW {
- HWND hwndOwner;
- LPCITEMIDLIST pidlRoot;
- LPWSTR pszDisplayName;
- LPCWSTR lpszTitle;
- UINT ulFlags;
- BFFCALLBACK lpfn;
- LPARAM lParam;
- int iImage;
-} BROWSEINFOW,*PBROWSEINFOW,*LPBROWSEINFOW;
-typedef struct _CMInvokeCommandInfo {
- DWORD cbSize;
- DWORD fMask;
- HWND hwnd;
- LPCSTR lpVerb;
- LPCSTR lpParameters;
- LPCSTR lpDirectory;
- int nShow;
- DWORD dwHotKey;
- HANDLE hIcon;
-} CMINVOKECOMMANDINFO,*LPCMINVOKECOMMANDINFO;
-typedef struct _DROPFILES {
- DWORD pFiles;
- POINT pt;
- BOOL fNC;
- BOOL fWide;
-} DROPFILES,*LPDROPFILES;
-typedef enum tagSHGDN {
- SHGDN_NORMAL=0,
- SHGDN_INFOLDER,
- SHGDN_FOREDITING=0x1000,
- SHGDN_INCLUDE_NONFILESYS=0x2000,
- SHGDN_FORADDRESSBAR=0x4000,
- SHGDN_FORPARSING=0x8000
-} SHGNO;
-typedef enum tagSHCONTF {
- SHCONTF_FOLDERS = 32,
- SHCONTF_NONFOLDERS = 64,
- SHCONTF_INCLUDEHIDDEN = 128,
- SHCONTF_INIT_ON_FIRST_NEXT = 256,
- SHCONTF_NETPRINTERSRCH = 512,
- SHCONTF_SHAREABLE = 1024,
- SHCONTF_STORAGE = 2048
-} SHCONTF;
-typedef struct _STRRET {
- UINT uType;
- _ANONYMOUS_UNION union {
- LPWSTR pOleStr;
- UINT uOffset;
- char cStr[MAX_PATH];
- } DUMMYUNIONNAME;
-} STRRET,*LPSTRRET;
-typedef enum {
- FD_CLSID=1,FD_SIZEPOINT=2,FD_ATTRIBUTES=4,FD_CREATETIME=8,FD_ACCESSTIME=16,
- FD_WRITESTIME=32,FD_FILESIZE=64,FD_LINKUI=0x8000
-} FD_FLAGS;
-typedef struct _FILEDESCRIPTORA {
- DWORD dwFlags;
- CLSID clsid;
- SIZEL sizel;
- POINTL pointl;
- DWORD dwFileAttributes;
- FILETIME ftCreationTime;
- FILETIME ftLastAccessTime;
- FILETIME ftLastWriteTime;
- DWORD nFileSizeHigh;
- DWORD nFileSizeLow;
- CHAR cFileName[MAX_PATH];
-} FILEDESCRIPTORA,*LPFILEDESCRIPTORA;
-typedef struct _FILEDESCRIPTORW {
- DWORD dwFlags;
- CLSID clsid;
- SIZEL sizel;
- POINTL pointl;
- DWORD dwFileAttributes;
- FILETIME ftCreationTime;
- FILETIME ftLastAccessTime;
- FILETIME ftLastWriteTime;
- DWORD nFileSizeHigh;
- DWORD nFileSizeLow;
- WCHAR cFileName[MAX_PATH];
-} FILEDESCRIPTORW,*LPFILEDESCRIPTORW;
-typedef struct _FILEGROUPDESCRIPTORA {
- UINT cItems;
- FILEDESCRIPTORA fgd[1];
-} FILEGROUPDESCRIPTORA,*LPFILEGROUPDESCRIPTORA;
-typedef struct _FILEGROUPDESCRIPTORW {
- UINT cItems;
- FILEDESCRIPTORW fgd[1];
-} FILEGROUPDESCRIPTORW,*LPFILEGROUPDESCRIPTORW;
-typedef enum {
- SLR_NO_UI=1,
- SLR_ANY_MATCH=2,
- SLR_UPDATE=4,
- SLR_NOUPDATE=8,
- SLR_NOSEARCH=16,
- SLR_NOTRACK=32,
- SLR_NOLINKINFO=64,
- SLR_INVOKE_MSI=128
-} SLR_FLAGS;
-typedef enum {
- SLGP_SHORTPATH=1,
- SLGP_UNCPRIORITY=2,
- SLGP_RAWPATH=4
-} SLGP_FLAGS;
-typedef PBYTE LPVIEWSETTINGS;
-typedef enum {
- FWF_AUTOARRANGE=1,FWF_ABBREVIATEDNAMES=2,FWF_SNAPTOGRID=4,FWF_OWNERDATA=8,
- FWF_BESTFITWINDOW=16,FWF_DESKTOP=32,FWF_SINGLESEL=64,FWF_NOSUBFOLDERS=128,
- FWF_TRANSPARENT=256,FWF_NOCLIENTEDGE=512,FWF_NOSCROLL=0x400,FWF_ALIGNLEFT=0x800,
- FWF_SINGLECLICKACTIVATE=0x8000
-} FOLDERFLAGS;
-typedef enum {
- FVM_ICON=1,
- FVM_SMALLICON,
- FVM_LIST,
- FVM_DETAILS
-} FOLDERVIEWMODE;
-typedef struct {
- UINT ViewMode;
- UINT fFlags;
-} FOLDERSETTINGS,*LPFOLDERSETTINGS;
-typedef const FOLDERSETTINGS *LPCFOLDERSETTINGS;
-typedef struct {
- DWORD cbSize;
- HWND hwndOwner;
- int iShow;
- DWORD dwFlags;
- RECT rect;
- LPUNKNOWN punkRel;
- OLECHAR strNewFile[MAX_PATH];
-} FVSHOWINFO,*LPFVSHOWINFO;
-typedef struct _NRESARRAY {
- UINT cItems;
- NETRESOURCE nr[1];
-} NRESARRAY, *LPNRESARRAY;
-enum { SBSC_HIDE,SBSC_SHOW,SBSC_TOGGLE,SBSC_QUERY };
-enum {
- SBCMDID_ENABLESHOWTREE,SBCMDID_SHOWCONTROL,SBCMDID_CANCELNAVIGATION,
- SBCMDID_MAYSAVECHANGES,SBCMDID_SETHLINKFRAME,SBCMDID_ENABLESTOP,SBCMDID_OPTIONS
-};
-typedef enum {
- SVUIA_DEACTIVATE,SVUIA_ACTIVATE_NOFOCUS,SVUIA_ACTIVATE_FOCUS,
- SVUIA_INPLACEACTIVATE
-} SVUIA_STATUS;
-#if (_WIN32_IE >= 0x0500)
-typedef struct tagEXTRASEARCH
-{
- GUID guidSearch;
- WCHAR wszFriendlyName[80];
- WCHAR wszUrl[2084];
-} EXTRASEARCH, *LPEXTRASEARCH;
-typedef DWORD SHCOLSTATEF;
-typedef struct
-{
- GUID fmtid;
- DWORD pid;
-} SHCOLUMNID, *LPSHCOLUMNID;
-typedef const SHCOLUMNID *LPCSHCOLUMNID;
-typedef struct _SHELLDETAILS
-{
- int fmt;
- int cxChar;
- STRRET str;
-} SHELLDETAILS, *LPSHELLDETAILS;
-typedef struct
-{
- LPITEMIDLIST pidlTargetFolder;
- WCHAR szTargetParsingName[MAX_PATH];
- WCHAR szNetworkProvider[MAX_PATH];
- DWORD dwAttributes;
- int csidl;
-} PERSIST_FOLDER_TARGET_INFO;
-
-typedef enum {
- SHGFP_TYPE_CURRENT = 0,
- SHGFP_TYPE_DEFAULT = 1,
-} SHGFP_TYPE;
-#endif
-
-
-DECLARE_ENUMERATOR_(IEnumIDList,LPITEMIDLIST);
-typedef IEnumIDList *LPENUMIDLIST;
-
-#ifdef COBJMACROS
-#define IEnumIDList_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
-#define IEnumIDList_Release(T) (T)->lpVtbl->AddRef(T)
-#define IEnumIDList_AddRef(T) (T)->lpVtbl->Release(T)
-#define IEnumIDList_Next(T,a,b,c) (T)->lpVtbl->Next(T,a,b,c)
-#define IEnumIDList_Skip(T,a) (T)->lpVtbl->Skip(T,a)
-#define IEnumIDList_Reset(T) (T)->lpVtbl->Reset(T)
-#define IEnumIDList_Clone(T,a) (T)->lpVtbl->Clone(T,a)
-#endif
-
-#undef INTERFACE
-#define INTERFACE IObjMgr
-DECLARE_INTERFACE_(IObjMgr, IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(Append)(THIS_ IUnknown*) PURE;
- STDMETHOD(Remove)(THIS_ IUnknown*) PURE;
-};
-
-#undef INTERFACE
-#define INTERFACE IContextMenu
-DECLARE_INTERFACE_(IContextMenu,IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(QueryContextMenu)(THIS_ HMENU,UINT,UINT,UINT,UINT) PURE;
- STDMETHOD(InvokeCommand)(THIS_ LPCMINVOKECOMMANDINFO) PURE;
- STDMETHOD(GetCommandString)(THIS_ UINT,UINT,PUINT,LPSTR,UINT) PURE;
-};
-typedef IContextMenu *LPCONTEXTMENU;
-
-#ifdef COBJMACROS
-#define IContextMenu_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
-#define IContextMenu_AddRef(T) (T)->lpVtbl->AddRef(T)
-#define IContextMenu_Release(T) (T)->lpVtbl->Release(T)
-#define IContextMenu_QueryContextMenu(T,a,b,c,d,e) (T)->lpVtbl->QueryContextMenu(T,a,b,c,d,e)
-#define IContextMenu_InvokeCommand(T,a) (T)->lpVtbl->InvokeCommand(T,a)
-#define IContextMenu_GetCommandString(T,a,b,c,d,e) (T)->lpVtbl->GetCommandString(T,a,b,c,d,e)
-#endif
-
-#undef INTERFACE
-#define INTERFACE IContextMenu2
-DECLARE_INTERFACE_(IContextMenu2,IContextMenu)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(QueryContextMenu)(THIS_ HMENU,UINT,UINT,UINT,UINT) PURE;
- STDMETHOD(InvokeCommand)(THIS_ LPCMINVOKECOMMANDINFO) PURE;
- STDMETHOD(GetCommandString)(THIS_ UINT,UINT,PUINT,LPSTR,UINT) PURE;
- STDMETHOD(HandleMenuMsg)(THIS_ UINT,WPARAM,LPARAM) PURE;
-};
-typedef IContextMenu2 *LPCONTEXTMENU2;
-
-#undef INTERFACE
-#define INTERFACE IContextMenu3
-DECLARE_INTERFACE_(IContextMenu3,IContextMenu2)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(QueryContextMenu)(THIS_ HMENU,UINT,UINT,UINT,UINT) PURE;
- STDMETHOD(InvokeCommand)(THIS_ LPCMINVOKECOMMANDINFO) PURE;
- STDMETHOD(GetCommandString)(THIS_ UINT,UINT,PUINT,LPSTR,UINT) PURE;
- STDMETHOD(HandleMenuMsg)(THIS_ UINT,WPARAM,LPARAM) PURE;
- STDMETHOD(HandleMenuMsg2)(THIS_ UINT,WPARAM,LPARAM,LRESULT*) PURE;
-};
-typedef IContextMenu3 *LPCONTEXTMENU3;
-
-#if (_WIN32_IE >= 0x0500)
-#pragma pack(push,8)
-typedef struct {
- ULONG dwFlags;
- ULONG dwReserved;
- WCHAR wszFolder[MAX_PATH];
-} SHCOLUMNINIT,*LPSHCOLUMNINIT;
-typedef const SHCOLUMNINIT* LPCSHCOLUMNINIT;
-typedef struct {
- ULONG dwFlags;
- DWORD dwFileAttributes;
- ULONG dwReserved;
- WCHAR *pwszExt;
- WCHAR wszFile[MAX_PATH];
-} SHCOLUMNDATA,*LPSHCOLUMNDATA;
-typedef const SHCOLUMNDATA* LPCSHCOLUMNDATA;
-#pragma pack(pop)
-
-#define MAX_COLUMN_NAME_LEN 80
-#define MAX_COLUMN_DESC_LEN 128
-
-#pragma pack(push,1)
-typedef struct {
- SHCOLUMNID scid;
- VARTYPE vt;
- DWORD fmt;
- UINT cChars;
- DWORD csFlags;
- WCHAR wszTitle[MAX_COLUMN_NAME_LEN];
- WCHAR wszDescription[MAX_COLUMN_DESC_LEN];
-} SHCOLUMNINFO,*LPSHCOLUMNINFO;
-typedef const SHCOLUMNINFO* LPCSHCOLUMNINFO;
-#pragma pack(pop)
-
-typedef enum {
- SHCOLSTATE_TYPE_STR = 0x00000001,
- SHCOLSTATE_TYPE_INT = 0x00000002,
- SHCOLSTATE_TYPE_DATE = 0x00000003,
- SHCOLSTATE_TYPEMASK = 0x0000000f,
- SHCOLSTATE_ONBYDEFAULT = 0x00000010,
- SHCOLSTATE_SLOW = 0x00000020,
- SHCOLSTATE_EXTENDED = 0x00000040,
- SHCOLSTATE_SECONDARYUI = 0x00000080,
- SHCOLSTATE_HIDDEN = 0x00000100,
- SHCOLSTATE_PREFER_VARCMP = 0x00000200
-} SHCOLSTATE;
-
-#ifdef COBJMACROS
-#define IContextMenu2_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
-#define IContextMenu2_AddRef(T) (T)->lpVtbl->AddRef(T)
-#define IContextMenu2_Release(T) (T)->lpVtbl->Release(T)
-#define IContextMenu2_QueryContextMenu(T,a,b,c,d,e) (T)->lpVtbl->QueryContextMenu(T,a,b,c,d,e)
-#define IContextMenu2_InvokeCommand(T,a) (T)->lpVtbl->InvokeCommand(T,a)
-#define IContextMenu2_GetCommandString(T,a,b,c,d,e) (T)->lpVtbl->GetCommandString(T,a,b,c,d,e)
-#define IContextMenu2_HandleMenuMsg(T,a,b,c) (T)->lpVtbl->HandleMenuMsg(T,a,b,c)
-#endif
-
-#ifdef COBJMACROS
-#define IContextMenu3_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
-#define IContextMenu3_AddRef(T) (T)->lpVtbl->AddRef(T)
-#define IContextMenu3_Release(T) (T)->lpVtbl->Release(T)
-#define IContextMenu3_QueryContextMenu(T,a,b,c,d,e) (T)->lpVtbl->QueryContextMenu(T,a,b,c,d,e)
-#define IContextMenu3_InvokeCommand(T,a) (T)->lpVtbl->InvokeCommand(T,a)
-#define IContextMenu3_GetCommandString(T,a,b,c,d,e) (T)->lpVtbl->GetCommandString(T,a,b,c,d,e)
-#define IContextMenu3_HandleMenuMsg(T,a,b,c) (T)->lpVtbl->HandleMenuMsg(T,a,b,c)
-#define IContextMenu3_HandleMenuMsg2(T,a,b,c,d) (T)->lpVtbl->HandleMenuMsg(T,a,b,c,d)
-#endif
-
-#undef INTERFACE
-#define INTERFACE IColumnProvider
-DECLARE_INTERFACE_(IColumnProvider,IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(Initialize)(THIS_ LPCSHCOLUMNINIT) PURE;
- STDMETHOD(GetColumnInfo)(THIS_ DWORD,SHCOLUMNINFO*) PURE;
- STDMETHOD(GetItemData)(THIS_ LPCSHCOLUMNID,LPCSHCOLUMNDATA,VARIANT*) PURE;
-};
-#endif /* _WIN32_IE >= 0x0500 */
-
-#undef INTERFACE
-#define INTERFACE IQueryInfo
-DECLARE_INTERFACE_(IQueryInfo,IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(GetInfoTip)(THIS_ DWORD,WCHAR**) PURE;
- STDMETHOD(GetInfoFlags)(THIS_ DWORD*) PURE;
-};
-
-#undef INTERFACE
-#define INTERFACE IShellExtInit
-DECLARE_INTERFACE_(IShellExtInit, IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(Initialize)(THIS_ LPCITEMIDLIST,LPDATAOBJECT,HKEY) PURE;
-};
-typedef IShellExtInit *LPSHELLEXTINIT;
-
-#undef INTERFACE
-#define INTERFACE IShellPropSheetExt
-DECLARE_INTERFACE_(IShellPropSheetExt, IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(AddPages)(THIS_ LPFNADDPROPSHEETPAGE,LPARAM) PURE;
- STDMETHOD(ReplacePage)(THIS_ UINT,LPFNADDPROPSHEETPAGE,LPARAM) PURE;
-};
-typedef IShellPropSheetExt *LPSHELLPROPSHEETEXT;
-
-#undef INTERFACE
-#define INTERFACE IExtractIconA
-DECLARE_INTERFACE_(IExtractIconA, IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(GetIconLocation)(THIS_ UINT,LPSTR,UINT,int*,PUINT) PURE;
- STDMETHOD(Extract)(THIS_ LPCSTR,UINT,HICON*,HICON*,UINT) PURE;
-};
-typedef IExtractIconA *LPEXTRACTICONA;
-
-#ifdef COBJMACROS
-#define IExtractIconA_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
-#define IExtractIconA_AddRef(T) (T)->lpVtbl->AddRef(T)
-#define IExtractIconA_Release(T) (T)->lpVtbl->Release(T)
-#define IExtractIconA_GetIconLocation(T,a,b,c,d,e) (T)->lpVtbl->GetIconLocation(T,a,b,c,d,e)
-#define IExtractIconA_Extract(T,a,b,c,d,e) (T)->lpVtbl->Extract(T,a,b,c,d,e)
-#endif
-
-#undef INTERFACE
-#define INTERFACE IExtractIconW
-DECLARE_INTERFACE_(IExtractIconW, IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(GetIconLocation)(THIS_ UINT,LPWSTR,UINT,int*,PUINT) PURE;
- STDMETHOD(Extract)(THIS_ LPCWSTR,UINT,HICON*,HICON*,UINT) PURE;
-};
-typedef IExtractIconW *LPEXTRACTICONW;
-
-#ifdef COBJMACROS
-#define IExtractIconW_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
-#define IExtractIconW_AddRef(T) (T)->lpVtbl->AddRef(T)
-#define IExtractIconW_Release(T) (T)->lpVtbl->Release(T)
-#define IExtractIconW_GetIconLocation(T,a,b,c,d,e) (T)->lpVtbl->GetIconLocation(T,a,b,c,d,e)
-#define IExtractIconW_Extract(T,a,b,c,d,e) (T)->lpVtbl->Extract(T,a,b,c,d,e)
-#endif
-
-#ifdef UNICODE
-#define IExtractIcon IExtractIconW
-#define LPEXTRACTICON LPEXTRACTICONW
-#else
-#define IExtractIcon IExtractIconA
-#define LPEXTRACTICON LPEXTRACTICONA
-#endif
-
-#undef INTERFACE
-#define INTERFACE IShellLinkA
-DECLARE_INTERFACE_(IShellLinkA, IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(GetPath)(THIS_ LPSTR,int,WIN32_FIND_DATAA*,DWORD) PURE;
- STDMETHOD(GetIDList)(THIS_ LPITEMIDLIST*) PURE;
- STDMETHOD(SetIDList)(THIS_ LPCITEMIDLIST) PURE;
- STDMETHOD(GetDescription)(THIS_ LPSTR,int) PURE;
- STDMETHOD(SetDescription)(THIS_ LPCSTR) PURE;
- STDMETHOD(GetWorkingDirectory)(THIS_ LPSTR,int) PURE;
- STDMETHOD(SetWorkingDirectory)(THIS_ LPCSTR) PURE;
- STDMETHOD(GetArguments)(THIS_ LPSTR,int) PURE;
- STDMETHOD(SetArguments)(THIS_ LPCSTR) PURE;
- STDMETHOD(GetHotkey)(THIS_ PWORD) PURE;
- STDMETHOD(SetHotkey)(THIS_ WORD) PURE;
- STDMETHOD(GetShowCmd)(THIS_ int*) PURE;
- STDMETHOD(SetShowCmd)(THIS_ int) PURE;
- STDMETHOD(GetIconLocation)(THIS_ LPSTR,int,int*) PURE;
- STDMETHOD(SetIconLocation)(THIS_ LPCSTR,int) PURE;
- STDMETHOD(SetRelativePath)(THIS_ LPCSTR ,DWORD) PURE;
- STDMETHOD(Resolve)(THIS_ HWND,DWORD) PURE;
- STDMETHOD(SetPath)(THIS_ LPCSTR) PURE;
-};
-
-#ifdef COBJMACROS
-#define IShellLinkA_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
-#define IShellLinkA_AddRef(T) (T)->lpVtbl->AddRef(T)
-#define IShellLinkA_Release(T) (T)->lpVtbl->Release(T)
-#define IShellLinkA_GetPath(T,a,b,c,d) (T)->lpVtbl->GetPath(T,a,b,c,d)
-#define IShellLinkA_GetIDList(T,a) (T)->lpVtbl->GetIDList(T,a)
-#define IShellLinkA_SetIDList(T,a) (T)->lpVtbl->SetIDList(T,a)
-#define IShellLinkA_GetDescription(T,a,b) (T)->lpVtbl->GetDescription(T,a,b)
-#define IShellLinkA_SetDescription(T,a) (T)->lpVtbl->SetDescription(T,a)
-#define IShellLinkA_GetWorkingDirectory(T,a,b) (T)->lpVtbl->GetWorkingDirectory(T,a,b)
-#define IShellLinkA_SetWorkingDirectory(T,a) (T)->lpVtbl->SetWorkingDirectory(T,a)
-#define IShellLinkA_GetArguments(T,a,b) (T)->lpVtbl->GetArguments(T,a,b)
-#define IShellLinkA_SetArguments(T,a) (T)->lpVtbl->SetArguments(T,a)
-#define IShellLinkA_GetHotkey(T,a) (T)->lpVtbl->GetHotkey(T,a)
-#define IShellLinkA_SetHotkey(T,a) (T)->lpVtbl->SetHotkey(T,a)
-#define IShellLinkA_GetShowCmd(T,a) (T)->lpVtbl->GetShowCmd(T,a)
-#define IShellLinkA_SetShowCmd(T,a) (T)->lpVtbl->SetShowCmd(T,a)
-#define IShellLinkA_GetIconLocation(T,a,b,c) (T)->lpVtbl->GetIconLocation(T,a,b,c)
-#define IShellLinkA_SetIconLocation(T,a,b) (T)->lpVtbl->SetIconLocation(T,a,b)
-#define IShellLinkA_SetRelativePath(T,a,b) (T)->lpVtbl->SetRelativePath(T,a,b)
-#define IShellLinkA_Resolve(T,a,b) (T)->lpVtbl->Resolve(T,a,b)
-#define IShellLinkA_SetPath(T,a) (T)->lpVtbl->SetPath(T,a)
-#endif
-
-#undef INTERFACE
-#define INTERFACE IShellLinkW
-DECLARE_INTERFACE_(IShellLinkW, IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(GetPath)(THIS_ LPWSTR,int,WIN32_FIND_DATAW*,DWORD) PURE;
- STDMETHOD(GetIDList)(THIS_ LPITEMIDLIST*) PURE;
- STDMETHOD(SetIDList)(THIS_ LPCITEMIDLIST) PURE;
- STDMETHOD(GetDescription)(THIS_ LPWSTR,int) PURE;
- STDMETHOD(SetDescription)(THIS_ LPCWSTR) PURE;
- STDMETHOD(GetWorkingDirectory)(THIS_ LPWSTR,int) PURE;
- STDMETHOD(SetWorkingDirectory)(THIS_ LPCWSTR) PURE;
- STDMETHOD(GetArguments)(THIS_ LPWSTR,int) PURE;
- STDMETHOD(SetArguments)(THIS_ LPCWSTR) PURE;
- STDMETHOD(GetHotkey)(THIS_ PWORD) PURE;
- STDMETHOD(SetHotkey)(THIS_ WORD) PURE;
- STDMETHOD(GetShowCmd)(THIS_ int*) PURE;
- STDMETHOD(SetShowCmd)(THIS_ int) PURE;
- STDMETHOD(GetIconLocation)(THIS_ LPWSTR,int,int*) PURE;
- STDMETHOD(SetIconLocation)(THIS_ LPCWSTR,int) PURE;
- STDMETHOD(SetRelativePath)(THIS_ LPCWSTR ,DWORD) PURE;
- STDMETHOD(Resolve)(THIS_ HWND,DWORD) PURE;
- STDMETHOD(SetPath)(THIS_ LPCWSTR) PURE;
-};
-
-#ifdef COBJMACROS
-#define IShellLinkW_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
-#define IShellLinkW_AddRef(T) (T)->lpVtbl->AddRef(T)
-#define IShellLinkW_Release(T) (T)->lpVtbl->Release(T)
-#define IShellLinkW_GetPath(T,a,b,c,d) (T)->lpVtbl->GetPath(T,a,b,c,d)
-#define IShellLinkW_GetIDList(T,a) (T)->lpVtbl->GetIDList(T,a)
-#define IShellLinkW_SetIDList(T,a) (T)->lpVtbl->SetIDList(T,a)
-#define IShellLinkW_GetDescription(T,a,b) (T)->lpVtbl->GetDescription(T,a,b)
-#define IShellLinkW_SetDescription(T,a) (T)->lpVtbl->SetDescription(T,a)
-#define IShellLinkW_GetWorkingDirectory(T,a,b) (T)->lpVtbl->GetWorkingDirectory(T,a,b)
-#define IShellLinkW_SetWorkingDirectory(T,a) (T)->lpVtbl->SetWorkingDirectory(T,a)
-#define IShellLinkW_GetArguments(T,a,b) (T)->lpVtbl->GetArguments(T,a,b)
-#define IShellLinkW_SetArguments(T,a) (T)->lpVtbl->SetArguments(T,a)
-#define IShellLinkW_GetHotkey(T,a) (T)->lpVtbl->GetHotkey(T,a)
-#define IShellLinkW_SetHotkey(T,a) (T)->lpVtbl->SetHotkey(T,a)
-#define IShellLinkW_GetShowCmd(T,a) (T)->lpVtbl->GetShowCmd(T,a)
-#define IShellLinkW_SetShowCmd(T,a) (T)->lpVtbl->SetShowCmd(T,a)
-#define IShellLinkW_GetIconLocation(T,a,b,c) (T)->lpVtbl->GetIconLocation(T,a,b,c)
-#define IShellLinkW_SetIconLocation(T,a,b) (T)->lpVtbl->SetIconLocation(T,a,b)
-#define IShellLinkW_SetRelativePath(T,a,b) (T)->lpVtbl->SetRelativePath(T,a,b)
-#define IShellLinkW_Resolve(T,a,b) (T)->lpVtbl->Resolve(T,a,b)
-#define IShellLinkW_SetPath(T,a) (T)->lpVtbl->SetPath(T,a)
-#endif
-
-#undef INTERFACE
-#define INTERFACE IShellFolder
-DECLARE_INTERFACE_(IShellFolder, IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(ParseDisplayName)(THIS_ HWND,LPBC,LPOLESTR,PULONG,LPITEMIDLIST*,PULONG) PURE;
- STDMETHOD(EnumObjects)(THIS_ HWND,DWORD,LPENUMIDLIST*) PURE;
- STDMETHOD(BindToObject)(THIS_ LPCITEMIDLIST,LPBC,REFIID,PVOID*) PURE;
- STDMETHOD(BindToStorage)(THIS_ LPCITEMIDLIST,LPBC,REFIID,PVOID*) PURE;
- STDMETHOD(CompareIDs)(THIS_ LPARAM,LPCITEMIDLIST,LPCITEMIDLIST) PURE;
- STDMETHOD(CreateViewObject)(THIS_ HWND,REFIID,PVOID*) PURE;
- STDMETHOD(GetAttributesOf)(THIS_ UINT,LPCITEMIDLIST*,PULONG) PURE;
- STDMETHOD(GetUIObjectOf)(THIS_ HWND,UINT,LPCITEMIDLIST*,REFIID,PUINT,PVOID*) PURE;
- STDMETHOD(GetDisplayNameOf)(THIS_ LPCITEMIDLIST,DWORD,LPSTRRET) PURE;
- STDMETHOD(SetNameOf)(THIS_ HWND,LPCITEMIDLIST,LPCOLESTR,DWORD,LPITEMIDLIST*) PURE;
-};
-typedef IShellFolder *LPSHELLFOLDER;
-
-#ifdef COBJMACROS
-#define IShellFolder_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
-#define IShellFolder_AddRef(T) (T)->lpVtbl->AddRef(T)
-#define IShellFolder_Release(T) (T)->lpVtbl->Release(T)
-#define IShellFolder_ParseDisplayName(T,a,b,c,d,e,f) (T)->lpVtbl->ParseDisplayName(T,a,b,c,d,e,f)
-#define IShellFolder_EnumObjects(T,a,b,c) (T)->lpVtbl->EnumObjects(T,a,b,c)
-#define IShellFolder_BindToObject(T,a,b,c,d) (T)->lpVtbl->BindToObject(T,a,b,c,d)
-#define IShellFolder_BindToStorage(T,a,b,c,d) (T)->lpVtbl->BindToStorage(T,a,b,c,d)
-#define IShellFolder_CompareIDs(T,a,b,c) (T)->lpVtbl->CompareIDs(T,a,b,c)
-#define IShellFolder_CreateViewObject(T,a,b) (T)->lpVtbl->CreateViewObject(T,a,b)
-#define IShellFolder_GetAttributesOf(T,a,b,c) (T)->lpVtbl->GetAttributesOf(T,a,b,c)
-#define IShellFolder_GetUIObjectOf(T,a,b,c,d,e,f) (T)->lpVtbl->GetUIObjectOf(T,a,b,c,d,e,f)
-#define IShellFolder_GetDisplayNameOf(T,a,b,c) (T)->lpVtbl->GetDisplayNameOf(T,a,b,c)
-#define IShellFolder_SetNameOf(T,a,b,c,d,e) (T)->lpVtbl->SetNameOf(T,a,b,c,d,e)
-#endif
-
-#if (_WIN32_IE >= 0x0500)
-
-DECLARE_ENUMERATOR_(IEnumExtraSearch,LPEXTRASEARCH);
-typedef IEnumExtraSearch *LPENUMEXTRASEARCH;
-
-#undef INTERFACE
-#define INTERFACE IShellFolder2
-DECLARE_INTERFACE_(IShellFolder2, IShellFolder)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(ParseDisplayName)(THIS_ HWND,LPBC,LPOLESTR,PULONG,LPITEMIDLIST*,PULONG) PURE;
- STDMETHOD(EnumObjects)(THIS_ HWND,DWORD,LPENUMIDLIST*) PURE;
- STDMETHOD(BindToObject)(THIS_ LPCITEMIDLIST,LPBC,REFIID,PVOID*) PURE;
- STDMETHOD(BindToStorage)(THIS_ LPCITEMIDLIST,LPBC,REFIID,PVOID*) PURE;
- STDMETHOD(CompareIDs)(THIS_ LPARAM,LPCITEMIDLIST,LPCITEMIDLIST) PURE;
- STDMETHOD(CreateViewObject)(THIS_ HWND,REFIID,PVOID*) PURE;
- STDMETHOD(GetAttributesOf)(THIS_ UINT,LPCITEMIDLIST*,PULONG) PURE;
- STDMETHOD(GetUIObjectOf)(THIS_ HWND,UINT,LPCITEMIDLIST*,REFIID,PUINT,PVOID*) PURE;
- STDMETHOD(GetDisplayNameOf)(THIS_ LPCITEMIDLIST,DWORD,LPSTRRET) PURE;
- STDMETHOD(SetNameOf)(THIS_ HWND,LPCITEMIDLIST,LPCOLESTR,DWORD,LPITEMIDLIST*) PURE;
- STDMETHOD(GetDefaultSearchGUID)(THIS_ GUID*) PURE;
- STDMETHOD(EnumSearches)(THIS_ IEnumExtraSearch**) PURE;
- STDMETHOD(GetDefaultColumn)(THIS_ DWORD,ULONG*,ULONG*) PURE;
- STDMETHOD(GetDefaultColumnState)(THIS_ UINT,SHCOLSTATEF*) PURE;
- STDMETHOD(GetDetailsEx)(THIS_ LPCITEMIDLIST,const SHCOLUMNID*,VARIANT*) PURE;
- STDMETHOD(GetDetailsOf)(THIS_ LPCITEMIDLIST,UINT,SHELLDETAILS*) PURE;
- STDMETHOD(MapColumnToSCID)(THIS_ UINT,SHCOLUMNID*) PURE;
-};
-typedef IShellFolder2 *LPSHELLFOLDER2;
-
-#ifdef COBJMACROS
-#define IShellFolder2_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
-#define IShellFolder2_AddRef(T) (T)->lpVtbl->AddRef(T)
-#define IShellFolder2_Release(T) (T)->lpVtbl->Release(T)
-#define IShellFolder2_ParseDisplayName(T,a,b,c,d,e,f) (T)->lpVtbl->ParseDisplayName(T,a,b,c,d,e,f)
-#define IShellFolder2_EnumObjects(T,a,b,c) (T)->lpVtbl->EnumObjects(T,a,b,c)
-#define IShellFolder2_BindToObject(T,a,b,c,d) (T)->lpVtbl->BindToObject(T,a,b,c,d)
-#define IShellFolder2_BindToStorage(T,a,b,c,d) (T)->lpVtbl->BindToStorage(T,a,b,c,d)
-#define IShellFolder2_CompareIDs(T,a,b,c) (T)->lpVtbl->CompareIDs(T,a,b,c)
-#define IShellFolder2_CreateViewObject(T,a,b) (T)->lpVtbl->CreateViewObject(T,a,b)
-#define IShellFolder2_GetAttributesOf(T,a,b,c) (T)->lpVtbl->GetAttributesOf(T,a,b,c)
-#define IShellFolder2_GetUIObjectOf(T,a,b,c,d,e,f) (T)->lpVtbl->GetUIObjectOf(T,a,b,c,d,e,f)
-#define IShellFolder2_GetDisplayNameOf(T,a,b,c) (T)->lpVtbl->GetDisplayNameOf(T,a,b,c)
-#define IShellFolder2_SetNameOf(T,a,b,c,d,e) (T)->lpVtbl->SetNameOf(T,a,b,c,d,e)
-#define IShellFolder2_GetDefaultSearchGUID(T,a) (T)->lpVtbl->GetDefaultSearchGUID(T,a)
-#define IShellFolder2_EnumSearches(T,a) (T)->lpVtbl->EnumSearches(T,a)
-#define IShellFolder2_GetDefaultColumn(T,a,b,c) (T)->lpVtbl->GetDefaultColumn(T,a,b,c)
-#define IShellFolder2_GetDefaultColumnState(T,a,b) (T)->lpVtbl->GetDefaultColumnState(T,a,b)
-#define IShellFolder2_GetDetailsEx(T,a,b,c) (T)->lpVtbl->GetDetailsEx(T,a,b,c)
-#define IShellFolder2_GetDetailsOf(T,a,b,c) (T)->lpVtbl->GetDetailsOf(T,a,b,c)
-#define IShellFolder2_MapColumnToSCID(T,a,b) (T)->lpVtbl->MapColumnToSCID(T,a,b)
-#endif
-
-#endif /* _WIN32_IE >= 0x0500 */
-#undef INTERFACE
-#define INTERFACE ICopyHook
-DECLARE_INTERFACE_(ICopyHook, IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD_(UINT,CopyCallback)(THIS_ HWND,UINT,UINT,LPCSTR,DWORD,LPCSTR,DWORD) PURE;
-};
-typedef ICopyHook *LPCOPYHOOK;
-
-#undef INTERFACE
-#define INTERFACE IFileViewerSite
-DECLARE_INTERFACE(IFileViewerSite)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(SetPinnedWindow)(THIS_ HWND) PURE;
- STDMETHOD(GetPinnedWindow)(THIS_ HWND*) PURE;
-};
-typedef IFileViewerSite *LPFILEVIEWERSITE;
-
-#undef INTERFACE
-#define INTERFACE IFileViewer
-DECLARE_INTERFACE(IFileViewer)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(ShowInitialize)(THIS_ LPFILEVIEWERSITE) PURE;
- STDMETHOD(Show)(THIS_ LPFVSHOWINFO) PURE;
- STDMETHOD(PrintTo)(THIS_ LPSTR,BOOL) PURE;
-};
-typedef IFileViewer *LPFILEVIEWER;
-
-#undef INTERFACE
-#define INTERFACE IFileSystemBindData
-DECLARE_INTERFACE_(IFileSystemBindData, IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(SetFindData)(THIS_ const WIN32_FIND_DATAW*) PURE;
- STDMETHOD(GetFindData)(THIS_ WIN32_FIND_DATAW*) PURE;
-};
-
-#undef INTERFACE
-#define INTERFACE IPersistFolder
-DECLARE_INTERFACE_(IPersistFolder,IPersist)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(GetClassID)(THIS_ CLSID*) PURE;
- STDMETHOD(Initialize)(THIS_ LPCITEMIDLIST) PURE;
-};
-typedef IPersistFolder *LPPERSISTFOLDER;
-
-#ifdef COBJMACROS
-#define IPersistFolder_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
-#define IPersistFolder_AddRef(T) (T)->lpVtbl->AddRef(T)
-#define IPersistFolder_Release(T) (T)->lpVtbl->Release(T)
-#define IPersistFolder_GetClassID(T,a) (T)->lpVtbl->GetClassID(T,a)
-#define IPersistFolder_Initialize(T,a) (T)->lpVtbl->Initialize(T,a)
-#endif
-
-#if (_WIN32_IE >= 0x0400 || _WIN32_WINNT >= 0x0500)
-
-#undef INTERFACE
-#define INTERFACE IPersistFolder2
-DECLARE_INTERFACE_(IPersistFolder2,IPersistFolder)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(GetClassID)(THIS_ CLSID*) PURE;
- STDMETHOD(Initialize)(THIS_ LPCITEMIDLIST) PURE;
- STDMETHOD(GetCurFolder)(THIS_ LPITEMIDLIST*) PURE;
-};
-typedef IPersistFolder2 *LPPERSISTFOLDER2;
-
-#ifdef COBJMACROS
-#define IPersistFolder2_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
-#define IPersistFolder2_AddRef(T) (T)->lpVtbl->AddRef(T)
-#define IPersistFolder2_Release(T) (T)->lpVtbl->Release(T)
-#define IPersistFolder2_GetClassID(T,a) (T)->lpVtbl->GetClassID(T,a)
-#define IPersistFolder2_Initialize(T,a) (T)->lpVtbl->Initialize(T,a)
-#define IPersistFolder2_GetCurFolder(T,a) (T)->lpVtbl->GetCurFolder(T,a)
-#endif
-
-#endif /* _WIN32_IE >= 0x0400 || _WIN32_WINNT >= 0x0500 */
-
-#if (_WIN32_IE >= 0x0500)
-
-#undef INTERFACE
-#define INTERFACE IPersistFolder3
-DECLARE_INTERFACE_(IPersistFolder3,IPersistFolder2)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(GetClassID)(THIS_ CLSID*) PURE;
- STDMETHOD(Initialize)(THIS_ LPCITEMIDLIST) PURE;
- STDMETHOD(GetCurFolder)(THIS_ LPITEMIDLIST*) PURE;
- STDMETHOD(InitializeEx)(THIS_ IBindCtx*,LPCITEMIDLIST,const PERSIST_FOLDER_TARGET_INFO*) PURE;
- STDMETHOD(GetFolderTargetInfo)(THIS_ PERSIST_FOLDER_TARGET_INFO*) PURE;
-};
-typedef IPersistFolder3 *LPPERSISTFOLDER3;
-
-#ifdef COBJMACROS
-#define IPersistFolder3_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
-#define IPersistFolder3_AddRef(T) (T)->lpVtbl->AddRef(T)
-#define IPersistFolder3_Release(T) (T)->lpVtbl->Release(T)
-#define IPersistFolder3_GetClassID(T,a) (T)->lpVtbl->GetClassID(T,a)
-#define IPersistFolder3_Initialize(T,a) (T)->lpVtbl->Initialize(T,a)
-#define IPersistFolder3_GetCurFolder(T,a) (T)->lpVtbl->GetCurFolder(T,a)
-#define IPersistFolder3_InitializeEx(T,a,b,c) (T)->lpVtbl->InitializeEx(T,a,b,c)
-#define IPersistFolder3_GetFolderTargetInfo(T,a) (T)->lpVtbl->GetFolderTargetInfo(T,a)
-#endif
-
-#endif /* _WIN32_IE >= 0x0500 */
-
-typedef interface IShellBrowser *LPSHELLBROWSER;
-typedef interface IShellView *LPSHELLVIEW;
-
-#undef INTERFACE
-#define INTERFACE IShellBrowser
-DECLARE_INTERFACE_(IShellBrowser,IOleWindow)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(GetWindow)(THIS_ HWND*) PURE;
- STDMETHOD(ContextSensitiveHelp)(THIS_ BOOL) PURE;
- STDMETHOD(InsertMenusSB)(THIS_ HMENU,LPOLEMENUGROUPWIDTHS) PURE;
- STDMETHOD(SetMenuSB)(THIS_ HMENU,HOLEMENU,HWND) PURE;
- STDMETHOD(RemoveMenusSB)(THIS_ HMENU) PURE;
- STDMETHOD(SetStatusTextSB)(THIS_ LPCOLESTR) PURE;
- STDMETHOD(EnableModelessSB)(THIS_ BOOL) PURE;
- STDMETHOD(TranslateAcceleratorSB) (THIS_ LPMSG,WORD) PURE;
- STDMETHOD(BrowseObject)(THIS_ LPCITEMIDLIST,UINT) PURE;
- STDMETHOD(GetViewStateStream)(THIS_ DWORD,LPSTREAM*) PURE;
- STDMETHOD(GetControlWindow)(THIS_ UINT,HWND*) PURE;
- STDMETHOD(SendControlMsg)(THIS_ UINT,UINT,WPARAM,LPARAM,LRESULT*) PURE;
- STDMETHOD(QueryActiveShellView)(THIS_ LPSHELLVIEW*) PURE;
- STDMETHOD(OnViewWindowActive)(THIS_ LPSHELLVIEW) PURE;
- STDMETHOD(SetToolbarItems)(THIS_ LPTBBUTTON,UINT,UINT) PURE;
-};
-
-#ifdef COBJMACROS
-#define IShellBrowser_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
-#define IShellBrowser_AddRef(T) (T)->lpVtbl->AddRef(T)
-#define IShellBrowser_Release(T) (T)->lpVtbl->Release(T)
-#define IShellBrowser_GetWindow(T,a) (T)->lpVtbl->GetWindow(T,a)
-#define IShellBrowser_ContextSensitiveHelp(T,a) (T)->lpVtbl->ContextSensitiveHelp(T,a)
-#define IShellBrowser_InsertMenusSB(T,a,b) (T)->lpVtbl->InsertMenusSB(T,a,b)
-#define IShellBrowser_SetMenuSB(T,a,b,c) (T)->lpVtbl->SetMenuSB(T,a,b,c)
-#define IShellBrowser_RemoveMenusSB(T,a) (T)->lpVtbl->RemoveMenusSB(T,a)
-#define IShellBrowser_SetStatusTextSB(T,a) (T)->lpVtbl->SetStatusTextSB(T,a)
-#define IShellBrowser_EnableModelessSB(T,a) (T)->lpVtbl->EnableModelessSB(T,a)
-#define IShellBrowser_TranslateAcceleratorSB(T,a,b) (T)->lpVtbl->TranslateAcceleratorSB(T,a,b)
-#define IShellBrowser_BrowseObject(T,a,b) (T)->lpVtbl->BrowseObject(T,a,b)
-#define IShellBrowser_GetViewStateStream(T,a,b) (T)->lpVtbl->GetViewStateStream(T,a,b)
-#define IShellBrowser_GetControlWindow(T,a,b) (T)->lpVtbl->GetControlWindow(T,a,b)
-#define IShellBrowser_SendControlMsg(T,a,b,c,d,e) (T)->lpVtbl->SendControlMsg(T,a,b,c,d,e)
-#define IShellBrowser_QueryActiveShellView(T,a) (T)->lpVtbl->QueryActiveShellView(T,a)
-#define IShellBrowser_OnViewWindowActive(T,a) (T)->lpVtbl->OnViewWindowActive(T,a)
-#define IShellBrowser_SetToolbarItems(T,a,b,c) (T)->lpVtbl->SetToolbarItems(T,a,b,c)
-#endif
-
-#undef INTERFACE
-#define INTERFACE IShellView
-DECLARE_INTERFACE_(IShellView,IOleWindow)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(GetWindow)(THIS_ HWND*) PURE;
- STDMETHOD(ContextSensitiveHelp)(THIS_ BOOL) PURE;
- STDMETHOD(TranslateAccelerator) (THIS_ LPMSG) PURE;
-#ifdef _FIX_ENABLEMODELESS_CONFLICT
- STDMETHOD(EnableModelessSV)(THIS_ BOOL) PURE;
-#else
- STDMETHOD(EnableModeless)(THIS_ BOOL) PURE;
-#endif
- STDMETHOD(UIActivate)(THIS_ UINT) PURE;
- STDMETHOD(Refresh) (THIS) PURE;
- STDMETHOD(CreateViewWindow)(THIS_ IShellView*,LPCFOLDERSETTINGS,LPSHELLBROWSER,RECT*,HWND*) PURE;
- STDMETHOD(DestroyViewWindow)(THIS) PURE;
- STDMETHOD(GetCurrentInfo)(THIS_ LPFOLDERSETTINGS) PURE;
- STDMETHOD(AddPropertySheetPages)(THIS_ DWORD,LPFNADDPROPSHEETPAGE,LPARAM) PURE;
- STDMETHOD(SaveViewState)(THIS) PURE;
- STDMETHOD(SelectItem)(THIS_ LPCITEMIDLIST,UINT) PURE;
- STDMETHOD(GetItemObject)(THIS_ UINT,REFIID,PVOID*) PURE;
-};
-
-#ifdef COBJMACROS
-#define IShellView_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
-#define IShellView_AddRef(T) (T)->lpVtbl->AddRef(T)
-#define IShellView_Release(T) (T)->lpVtbl->Release(T)
-#define IShellView_GetWindow(T,a) (T)->lpVtbl->GetWindow(T,a)
-#define IShellView_ContextSensitiveHelp(T,a) (T)->lpVtbl->ContextSensitiveHelp(T,a)
-#define IShellView_TranslateAccelerator(T,a) (T)->lpVtbl->TranslateAccelerator(T,a)
-#ifdef _FIX_ENABLEMODELESS_CONFLICT
-#define IShellView_EnableModeless(T,a) (T)->lpVtbl->EnableModelessSV(T,a)
-#else
-#define IShellView_EnableModeless(T,a) (T)->lpVtbl->EnableModeless(T,a)
-#endif
-#define IShellView_UIActivate(T,a) (T)->lpVtbl->UIActivate(T,a)
-#define IShellView_Refresh(T) (T)->lpVtbl->Refresh(T)
-#define IShellView_CreateViewWindow(T,a,b,c,d,e) (T)->lpVtbl->CreateViewWindow(T,a,b,c,d,e)
-#define IShellView_DestroyViewWindow(T) (T)->lpVtbl->DestroyViewWindow(T)
-#define IShellView_GetCurrentInfo(T,a) (T)->lpVtbl->GetCurrentInfo(T,a)
-#define IShellView_AddPropertySheetPages(T,a,b,c) (T)->lpVtbl->AddPropertySheetPages(T,a,b,c)
-#define IShellView_SaveViewState(T) (T)->lpVtbl->SaveViewState(T)
-#define IShellView_SelectItem(T,a,b) (T)->lpVtbl->SelectItem(T,a,b)
-#define IShellView_GetItemObject(T,a,b,c) (T)->lpVtbl->GetItemObject(T,a,b,c)
-#endif
-
-#undef INTERFACE
-#define INTERFACE ICommDlgBrowser
-DECLARE_INTERFACE_(ICommDlgBrowser,IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(OnDefaultCommand)(THIS_ IShellView*) PURE;
- STDMETHOD(OnStateChange)(THIS_ IShellView*,ULONG) PURE;
- STDMETHOD(IncludeObject)(THIS_ IShellView*,LPCITEMIDLIST) PURE;
-};
-typedef ICommDlgBrowser *LPCOMMDLGBROWSER;
-
-#ifdef COBJMACROS
-#define ICommDlgBrowser_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
-#define ICommDlgBrowser_AddRef(T) (T)->lpVtbl->AddRef(T)
-#define ICommDlgBrowser_Release(T) (T)->lpVtbl->Release(T)
-#define ICommDlgBrowser_OnDefaultCommand(T,a) (T)->lpVtbl->OnDefaultCommand(T,a)
-#define ICommDlgBrowser_OnStateChange(T,a,b) (T)->lpVtbl->OnStateChange(T,a,b)
-#define ICommDlgBrowser_IncludeObject(T,a,b) (T)->lpVtbl->IncludeObject(T,a,b)
-#endif
-
-typedef GUID SHELLVIEWID;
-typedef struct _SV2CVW2_PARAMS {
- DWORD cbSize;
- IShellView *psvPrev;
- FOLDERSETTINGS const *pfs;
- IShellBrowser *psbOwner;
- RECT *prcView;
- SHELLVIEWID const *pvid;
- HWND hwndView;
-} SV2CVW2_PARAMS,*LPSV2CVW2_PARAMS;
-#undef INTERFACE
-#define INTERFACE IShellView2
-DECLARE_INTERFACE_(IShellView2,IShellView)
-{
-
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(GetWindow)(THIS_ HWND*) PURE;
- STDMETHOD(ContextSensitiveHelp)(THIS_ BOOL) PURE;
- STDMETHOD(TranslateAccelerator) (THIS_ LPMSG) PURE;
-#ifdef _FIX_ENABLEMODELESS_CONFLICT
- STDMETHOD(EnableModelessSV)(THIS_ BOOL) PURE;
-#else
- STDMETHOD(EnableModeless)(THIS_ BOOL) PURE;
-#endif
- STDMETHOD(UIActivate)(THIS_ UINT) PURE;
- STDMETHOD(Refresh) (THIS) PURE;
- STDMETHOD(CreateViewWindow)(THIS_ IShellView*,LPCFOLDERSETTINGS,LPSHELLBROWSER,RECT*,HWND*) PURE;
- STDMETHOD(DestroyViewWindow)(THIS) PURE;
- STDMETHOD(GetCurrentInfo)(THIS_ LPFOLDERSETTINGS) PURE;
- STDMETHOD(AddPropertySheetPages)(THIS_ DWORD,LPFNADDPROPSHEETPAGE,LPARAM) PURE;
- STDMETHOD(SaveViewState)(THIS) PURE;
- STDMETHOD(SelectItem)(THIS_ LPCITEMIDLIST,UINT) PURE;
- STDMETHOD(GetItemObject)(THIS_ UINT,REFIID,PVOID*) PURE;
- STDMETHOD(GetView)(THIS_ SHELLVIEWID*,ULONG) PURE;
- STDMETHOD(CreateViewWindow2)(THIS_ LPSV2CVW2_PARAMS) PURE;
-};
-
-#undef INTERFACE
-#define INTERFACE IShellExecuteHookA
-DECLARE_INTERFACE_(IShellExecuteHookA,IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(Execute)(THIS_ LPSHELLEXECUTEINFOA) PURE;
-};
-#undef INTERFACE
-#define INTERFACE IShellExecuteHookW
-DECLARE_INTERFACE_(IShellExecuteHookW,IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(Execute)(THIS_ LPSHELLEXECUTEINFOW) PURE;
-};
-
-#undef INTERFACE
-#define INTERFACE IShellIcon
-DECLARE_INTERFACE_(IShellIcon,IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(GetIconOf)(THIS_ LPCITEMIDLIST,UINT,PINT) PURE;
-};
-typedef IShellIcon *LPSHELLICON;
-
-typedef struct {
- BOOL fShowAllObjects : 1;
- BOOL fShowExtensions : 1;
- BOOL fNoConfirmRecycle : 1;
- BOOL fShowSysFiles : 1;
- BOOL fShowCompColor : 1;
- BOOL fDoubleClickInWebView : 1;
- BOOL fDesktopHTML : 1;
- BOOL fWin95Classic : 1;
- BOOL fDontPrettyPath : 1;
- BOOL fShowAttribCol : 1;
- BOOL fMapNetDrvBtn : 1;
- BOOL fShowInfoTip : 1;
- BOOL fHideIcons : 1;
- UINT fRestFlags : 3;
-} SHELLFLAGSTATE, * LPSHELLFLAGSTATE;
-
-#define SSF_SHOWALLOBJECTS 0x1
-#define SSF_SHOWEXTENSIONS 0x2
-#define SSF_SHOWCOMPCOLOR 0x8
-#define SSF_SHOWSYSFILES 0x20
-#define SSF_DOUBLECLICKINWEBVIEW 0x80
-#define SSF_SHOWATTRIBCOL 0x100
-#define SSF_DESKTOPHTML 0x200
-#define SSF_WIN95CLASSIC 0x400
-#define SSF_DONTPRETTYPATH 0x800
-#define SSF_MAPNETDRVBUTTON 0x1000
-#define SSF_SHOWINFOTIP 0x2000
-#define SSF_HIDEICONS 0x4000
-#define SSF_NOCONFIRMRECYCLE 0x8000
-
-#undef INTERFACE
-#define INTERFACE IShellIconOverlayIdentifier
-DECLARE_INTERFACE_(IShellIconOverlayIdentifier,IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(IsMemberOf)(THIS_ LPCWSTR,DWORD) PURE;
- STDMETHOD(GetOverlayInfo)(THIS_ LPWSTR,int,int*,DWORD*) PURE;
- STDMETHOD(GetPriority)(THIS_ int*) PURE;
-};
-
-#define ISIOI_ICONFILE 0x00000001
-#define ISIOI_ICONINDEX 0x00000002
-
-#if (_WIN32_WINNT >= 0x0500) /* W2K */
-typedef struct {
- BOOL fShowAllObjects : 1;
- BOOL fShowExtensions : 1;
- BOOL fNoConfirmRecycle : 1;
- BOOL fShowSysFiles : 1;
- BOOL fShowCompColor : 1;
- BOOL fDoubleClickInWebView : 1;
- BOOL fDesktopHTML : 1;
- BOOL fWin95Classic : 1;
- BOOL fDontPrettyPath : 1;
- BOOL fShowAttribCol : 1;
- BOOL fMapNetDrvBtn : 1;
- BOOL fShowInfoTip : 1;
- BOOL fHideIcons : 1;
- BOOL fWebView : 1;
- BOOL fFilter : 1;
- BOOL fShowSuperHidden : 1;
- BOOL fNoNetCrawling : 1;
- DWORD dwWin95Unused;
- UINT uWin95Unused;
- LONG lParamSort;
- int iSortDirection;
- UINT version;
- UINT uNotUsed;
- BOOL fSepProcess : 1;
- BOOL fStartPanelOn : 1;
- BOOL fShowStartPage : 1;
- UINT fSpareFlags : 13;
-} SHELLSTATE, *LPSHELLSTATE;
-#endif /* _WIN32_WINNT >= 0x0500 */
-
-#if (_WIN32_IE >= 0x0500)
-#pragma pack(push,8)
-typedef struct
-{
- SIZE sizeDragImage;
- POINT ptOffset;
- HBITMAP hbmpDragImage;
- COLORREF crColorKey;
-} SHDRAGIMAGE, *LPSHDRAGIMAGE;
-#pragma pack(pop)
-
-#undef INTERFACE
-#define INTERFACE IDragSourceHelper
-DECLARE_INTERFACE_(IDragSourceHelper, IUnknown)
-{
- STDMETHOD (QueryInterface)(THIS_ REFIID riid, void **ppv) PURE;
- STDMETHOD_(ULONG, AddRef) (THIS) PURE;
- STDMETHOD_(ULONG, Release) (THIS) PURE;
- STDMETHOD (InitializeFromBitmap)(THIS_ LPSHDRAGIMAGE pshdi, IDataObject* pDataObject) PURE;
- STDMETHOD (InitializeFromWindow)(THIS_ HWND hwnd, POINT* ppt, IDataObject* pDataObject) PURE;
-};
-
-#undef INTERFACE
-#define INTERFACE IDropTargetHelper
-DECLARE_INTERFACE_(IDropTargetHelper, IUnknown)
-{
- STDMETHOD (QueryInterface)(THIS_ REFIID riid, void** ppv) PURE;
- STDMETHOD_(ULONG, AddRef) (THIS) PURE;
- STDMETHOD_(ULONG, Release) (THIS) PURE;
- STDMETHOD (DragEnter)(THIS_ HWND hwndTarget, IDataObject* pDataObject, POINT* ppt, DWORD dwEffect) PURE;
- STDMETHOD (DragLeave)(THIS) PURE;
- STDMETHOD (DragOver)(THIS_ POINT* ppt, DWORD dwEffect) PURE;
- STDMETHOD (Drop)(THIS_ IDataObject* pDataObject, POINT* ppt, DWORD dwEffect) PURE;
- STDMETHOD (Show)(THIS_ BOOL fShow) PURE;
-};
-#endif /* _WIN32_IE >= 0x0500 */
-
-void WINAPI SHAddToRecentDocs(UINT,PCVOID);
-LPITEMIDLIST WINAPI SHBrowseForFolderA(PBROWSEINFOA);
-LPITEMIDLIST WINAPI SHBrowseForFolderW(PBROWSEINFOW);
-void WINAPI SHChangeNotify(LONG,UINT,PCVOID,PCVOID);
-HRESULT WINAPI SHGetDataFromIDListA(LPSHELLFOLDER,LPCITEMIDLIST,int,PVOID,int);
-HRESULT WINAPI SHGetDataFromIDListW(LPSHELLFOLDER,LPCITEMIDLIST,int,PVOID,int);
-HRESULT WINAPI SHGetDesktopFolder(LPSHELLFOLDER*);
-HRESULT WINAPI SHGetInstanceExplorer(IUnknown **);
-HRESULT WINAPI SHGetMalloc(LPMALLOC*);
-BOOL WINAPI SHGetPathFromIDListA(LPCITEMIDLIST,LPSTR);
-BOOL WINAPI SHGetPathFromIDListW(LPCITEMIDLIST,LPWSTR);
-HRESULT WINAPI SHGetSpecialFolderLocation(HWND,int,LPITEMIDLIST*);
-HRESULT WINAPI SHLoadInProc(REFCLSID);
-#if (_WIN32_IE >= 0x0400)
-BOOL WINAPI SHGetSpecialFolderPathA(HWND,LPSTR,int,BOOL);
-BOOL WINAPI SHGetSpecialFolderPathW(HWND,LPWSTR,int,BOOL);
-#endif
-/* SHGetFolderPath in shfolder.dll on W9x, NT4, also in shell32.dll on W2K */
-HRESULT WINAPI SHGetFolderPathA(HWND,int,HANDLE,DWORD,LPSTR);
-HRESULT WINAPI SHGetFolderPathW(HWND,int,HANDLE,DWORD,LPWSTR);
-#if (_WIN32_WINDOWS >= 0x0490) || (_WIN32_WINNT >= 0x0500) /* ME or W2K */
-HRESULT WINAPI SHGetFolderLocation(HWND,int,HANDLE,DWORD,LPITEMIDLIST*);
-#endif
-#if (_WIN32_WINNT >= 0x0500)
-INT WINAPI SHCreateDirectoryExA(HWND,LPCSTR,LPSECURITY_ATTRIBUTES);
-INT WINAPI SHCreateDirectoryExW(HWND,LPCWSTR,LPSECURITY_ATTRIBUTES);
-HRESULT WINAPI SHBindToParent(LPCITEMIDLIST,REFIID,VOID**,LPCITEMIDLIST*);
-#endif
-#if (_WIN32_WINNT >= 0x0501) /* XP */
-HRESULT WINAPI SHGetFolderPathAndSubDirA(HWND,int,HANDLE,DWORD,LPCSTR,LPSTR);
-HRESULT WINAPI SHGetFolderPathAndSubDirW(HWND,int,HANDLE,DWORD,LPCWSTR,LPWSTR);
-#endif
-void WINAPI SHGetSettings(LPSHELLFLAGSTATE,DWORD);
-#if (_WIN32_WINNT >= 0x0500) /* W2K */
-void WINAPI SHGetSetSettings(LPSHELLSTATE,DWORD,BOOL);
-#endif
-
-#if (_WIN32_WINNT >= 0x0500) /* W2K */
-BOOL WINAPI ILIsEqual(LPCITEMIDLIST, LPCITEMIDLIST);
-BOOL WINAPI ILIsParent(LPCITEMIDLIST, LPCITEMIDLIST, BOOL);
-BOOL WINAPI ILRemoveLastID(LPITEMIDLIST);
-HRESULT WINAPI ILLoadFromStream(IStream*, LPITEMIDLIST*);
-HRESULT WINAPI ILSaveToStream(IStream*, LPCITEMIDLIST);
-LPITEMIDLIST WINAPI ILAppendID(LPITEMIDLIST, LPCSHITEMID, BOOL);
-LPITEMIDLIST WINAPI ILClone(LPCITEMIDLIST);
-LPITEMIDLIST WINAPI ILCloneFirst(LPCITEMIDLIST);
-LPITEMIDLIST WINAPI ILCombine(LPCITEMIDLIST, LPCITEMIDLIST);
-LPITEMIDLIST WINAPI ILFindChild(LPCITEMIDLIST, LPCITEMIDLIST);
-LPITEMIDLIST WINAPI ILFindLastID(LPCITEMIDLIST);
-LPITEMIDLIST WINAPI ILGetNext(LPCITEMIDLIST);
-UINT WINAPI ILGetSize(LPCITEMIDLIST);
-void WINAPI ILFree(LPITEMIDLIST);
-
-HRESULT WINAPI SHCoCreateInstance(LPCWSTR,REFCLSID,IUnknown*,REFIID,void**);
-#endif
-
-#ifdef UNICODE
-typedef IShellExecuteHookW IShellExecuteHook;
-typedef IShellLinkW IShellLink;
-typedef BROWSEINFOW BROWSEINFO,*PBROWSEINFO,*LPBROWSEINFO;
-#define SHBrowseForFolder SHBrowseForFolderW
-#define SHGetDataFromIDList SHGetDataFromIDListW
-#define SHGetPathFromIDList SHGetPathFromIDListW
-#if (_WIN32_IE >= 0x0400)
-#define SHGetSpecialFolderPath SHGetSpecialFolderPathW
-#endif
-#define SHGetFolderPath SHGetFolderPathW
-#if (_WIN32_WINNT >= 0x0500)
-#define SHCreateDirectoryEx SHCreateDirectoryExW
-#endif
-#if (_WIN32_WINNT >= 0x0501)
-#define SHGetFolderPathAndSubDir SHGetFolderPathAndSubDirW
-#endif
-#define FILEDESCRIPTOR FILEDESCRIPTORW
-#define LPFILEDESCRIPTOR LPFILEDESCRIPTORW
-#define FILEGROUPDESCRIPTOR FILEGROUPDESCRIPTORW
-#define LPFILEGROUPDESCRIPTOR LPFILEGROUPDESCRIPTORW
-
-#else
-typedef IShellExecuteHookA IShellExecuteHook;
-typedef IShellLinkA IShellLink;
-typedef BROWSEINFOA BROWSEINFO,*PBROWSEINFO,*LPBROWSEINFO;
-#define SHBrowseForFolder SHBrowseForFolderA
-#define SHGetDataFromIDList SHGetDataFromIDListA
-#define SHGetPathFromIDList SHGetPathFromIDListA
-#if (_WIN32_IE >= 0x0400)
-#define SHGetSpecialFolderPath SHGetSpecialFolderPathA
-#endif
-#define SHGetFolderPath SHGetFolderPathA
-#if (_WIN32_WINNT >= 0x0500)
-#define SHCreateDirectoryEx SHCreateDirectoryExA
-#endif
-#if (_WIN32_WINNT >= 0x0501)
-#define SHGetFolderPathAndSubDir SHGetFolderPathAndSubDirA
-#endif
-#define FILEDESCRIPTOR FILEDESCRIPTORA
-#define LPFILEDESCRIPTOR LPFILEDESCRIPTORA
-#define FILEGROUPDESCRIPTOR FILEGROUPDESCRIPTORA
-#define LPFILEGROUPDESCRIPTOR LPFILEGROUPDESCRIPTORA
-#endif /* UNICODE */
-
-DWORD WINAPI SHFormatDrive(HWND,UINT,UINT,UINT);
-
-#define SHFMT_ID_DEFAULT 0xFFFF
-#define SHFMT_OPT_FULL 1
-#define SHFMT_OPT_SYSONLY 2
-#define SHFMT_ERROR 0xFFFFFFFF
-#define SHFMT_CANCEL 0xFFFFFFFE
-#define SHFMT_NOFORMAT 0xFFFFFFFD
-
-#pragma pack(pop)
-#ifdef __cplusplus
-}
-#endif
-
-
-#endif /* _SHLOBJ_H */
diff --git a/winsup/w32api/include/shlwapi.h b/winsup/w32api/include/shlwapi.h
deleted file mode 100644
index 764af9517..000000000
--- a/winsup/w32api/include/shlwapi.h
+++ /dev/null
@@ -1,712 +0,0 @@
-#ifndef _SHLWAPI_H
-#define _SHLWAPI_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#ifndef __OBJC__
-#include <objbase.h>
-#include <shlobj.h>
-#endif
-
-#ifndef WINSHLWAPI
-#define WINSHLWAPI DECLSPEC_IMPORT
-#endif
-
-#define DLLVER_PLATFORM_WINDOWS 0x00000001
-#define DLLVER_PLATFORM_NT 0x00000002
-
-#define URL_DONT_ESCAPE_EXTRA_INFO 0x02000000
-#define URL_DONT_SIMPLIFY 0x08000000
-#define URL_ESCAPE_PERCENT 0x00001000
-#define URL_ESCAPE_SEGMENT_ONLY 0x00002000
-#define URL_ESCAPE_SPACES_ONLY 0x04000000
-#define URL_ESCAPE_UNSAFE 0x20000000
-#define URL_INTERNAL_PATH 0x00800000
-#define URL_PARTFLAG_KEEPSCHEME 0x00000001
-#define URL_PLUGGABLE_PROTOCOL 0x40000000
-#define URL_UNESCAPE 0x10000000
-#define URL_UNESCAPE_HIGH_ANSI_ONLY 0x00400000
-#define URL_UNESCAPE_INPLACE 0x00100000
-
-#ifndef RC_INVOKED
-#include <pshpack1.h>
-typedef struct _DllVersionInfo
-{
- DWORD cbSize;
- DWORD dwMajorVersion;
- DWORD dwMinorVersion;
- DWORD dwBuildNumber;
- DWORD dwPlatformID;
-} DLLVERSIONINFO;
-typedef struct _DLLVERSIONINFO2
-{
- DLLVERSIONINFO info1;
- DWORD dwFlags;
- ULONGLONG ullVersion;
-} DLLVERSIONINFO2;
-#include <poppack.h>
-
-#define MAKEDLLVERULL(major, minor, build, qfe) \
- (((ULONGLONG)(major) << 48) | \
- ((ULONGLONG)(minor) << 32) | \
- ((ULONGLONG)(build) << 16) | \
- ((ULONGLONG)( qfe) << 0))
-
-typedef enum {
- ASSOCSTR_COMMAND,
- ASSOCSTR_EXECUTABLE,
- ASSOCSTR_FRIENDLYDOCNAME,
- ASSOCSTR_FRIENDLYAPPNAME,
- ASSOCSTR_NOOPEN,
- ASSOCSTR_SHELLNEWVALUE,
- ASSOCSTR_DDECOMMAND,
- ASSOCSTR_DDEIFEXEC,
- ASSOCSTR_DDEAPPLICATION,
- ASSOCSTR_DDETOPIC
-} ASSOCSTR;
-typedef enum
-{
- ASSOCKEY_SHELLEXECCLASS = 1,
- ASSOCKEY_APP,
- ASSOCKEY_CLASS,
- ASSOCKEY_BASECLASS
-} ASSOCKEY;
-typedef enum
-{
- ASSOCDATA_MSIDESCRIPTOR = 1,
- ASSOCDATA_NOACTIVATEHANDLER,
- ASSOCDATA_QUERYCLASSSTORE
-} ASSOCDATA;
-typedef DWORD ASSOCF;
-typedef enum
-{
- SHREGDEL_DEFAULT = 0x00000000,
- SHREGDEL_HKCU = 0x00000001,
- SHREGDEL_HKLM = 0x00000010,
- SHREGDEL_BOTH = 0x00000011
-} SHREGDEL_FLAGS;
-typedef enum
-{
- SHREGENUM_DEFAULT = 0x00000000,
- SHREGENUM_HKCU = 0x00000001,
- SHREGENUM_HKLM = 0x00000010,
- SHREGENUM_BOTH = 0x00000011
-} SHREGENUM_FLAGS;
-typedef enum
-{
- URLIS_URL,
- URLIS_OPAQUE,
- URLIS_NOHISTORY,
- URLIS_FILEURL,
- URLIS_APPLIABLE,
- URLIS_DIRECTORY,
- URLIS_HASQUERY
-} URLIS;
-
-typedef HANDLE HUSKEY, *PHUSKEY;
-
-typedef HRESULT (WINAPI* DLLGETVERSIONPROC)(DLLVERSIONINFO *);
-
-WINSHLWAPI BOOL WINAPI ChrCmpIA(WORD,WORD);
-WINSHLWAPI BOOL WINAPI ChrCmpIW(WCHAR,WCHAR);
-#define IntlStrEqNA(pStr1, pStr2, nChar) IntlStrEqWorkerA(TRUE, pStr1, pStr2, nChar);
-#define IntlStrEqNW(pStr1, pStr2, nChar) IntlStrEqWorkerW(TRUE, pStr1, pStr2, nChar);
-#define IntlStrEqNIA(pStr1, pStr2, nChar) IntlStrEqWorkerA(FALSE, pStr1, pStr2, nChar);
-#define IntlStrEqNIW(pStr1, pStr2, nChar) IntlStrEqWorkerW(FALSE, pStr1, pStr2, nChar);
-WINSHLWAPI BOOL WINAPI IntlStrEqWorkerA(BOOL,LPCSTR,LPCSTR,int);
-WINSHLWAPI BOOL WINAPI IntlStrEqWorkerW(BOOL,LPCWSTR,LPCWSTR,int);
-WINSHLWAPI HRESULT WINAPI SHStrDupA(LPCSTR,LPWSTR*);
-WINSHLWAPI HRESULT WINAPI SHStrDupW(LPCWSTR,LPWSTR*);
-WINSHLWAPI LPSTR WINAPI StrCatA(LPSTR,LPCSTR);
-WINSHLWAPI LPWSTR WINAPI StrCatW(LPWSTR,LPCWSTR);
-WINSHLWAPI LPSTR WINAPI StrCatBuffA(LPSTR,LPCSTR,int);
-WINSHLWAPI LPWSTR WINAPI StrCatBuffW(LPWSTR,LPCWSTR,int);
-WINSHLWAPI DWORD WINAPI StrCatChainW(LPWSTR,DWORD,DWORD,LPCWSTR);
-WINSHLWAPI LPSTR WINAPI StrChrA(LPCSTR,WORD);
-WINSHLWAPI LPWSTR WINAPI StrChrW(LPCWSTR,WCHAR);
-WINSHLWAPI LPSTR WINAPI StrChrIA(LPCSTR,WORD);
-WINSHLWAPI LPWSTR WINAPI StrChrIW(LPCWSTR,WCHAR);
-#define StrCmpIA lstrcmpiA
-#define StrCmpA lstrcmpA
-#define StrCpyA lstrcpyA
-#define StrCpyNA lstrcpynA
-WINSHLWAPI int WINAPI StrCmpIW(LPCWSTR,LPCWSTR);
-WINSHLWAPI int WINAPI StrCmpW(LPCWSTR,LPCWSTR);
-WINSHLWAPI LPWSTR WINAPI StrCpyW(LPWSTR,LPCWSTR);
-WINSHLWAPI LPWSTR WINAPI StrCpyNW(LPWSTR,LPCWSTR,int);
-WINSHLWAPI int WINAPI StrCmpNA(LPCSTR,LPCSTR,int);
-WINSHLWAPI int WINAPI StrCmpNW(LPCWSTR,LPCWSTR,int);
-WINSHLWAPI int WINAPI StrCmpNIA(LPCSTR,LPCSTR,int);
-WINSHLWAPI int WINAPI StrCmpNIW(LPCWSTR,LPCWSTR,int);
-WINSHLWAPI int WINAPI StrCSpnA(LPCSTR,LPCSTR);
-WINSHLWAPI int WINAPI StrCSpnW(LPCWSTR,LPCWSTR);
-WINSHLWAPI int WINAPI StrCSpnIA(LPCSTR,LPCSTR);
-WINSHLWAPI int WINAPI StrCSpnIW(LPCWSTR,LPCWSTR);
-WINSHLWAPI LPSTR WINAPI StrDupA(LPCSTR);
-WINSHLWAPI LPWSTR WINAPI StrDupW(LPCWSTR);
-WINSHLWAPI LPSTR WINAPI StrFormatByteSize64A(LONGLONG,LPSTR,UINT);
-WINSHLWAPI LPSTR WINAPI StrFormatByteSizeA(DWORD,LPSTR,UINT);
-WINSHLWAPI LPWSTR WINAPI StrFormatByteSizeW(LONGLONG,LPWSTR,UINT);
-WINSHLWAPI LPSTR WINAPI StrFormatKBSizeA(LONGLONG,LPSTR,UINT);
-WINSHLWAPI LPWSTR WINAPI StrFormatKBSizeW(LONGLONG,LPWSTR,UINT);
-WINSHLWAPI int WINAPI StrFromTimeIntervalA(LPSTR,UINT,DWORD,int);
-WINSHLWAPI int WINAPI StrFromTimeIntervalW(LPWSTR,UINT,DWORD,int);
-WINSHLWAPI BOOL WINAPI StrIsIntlEqualA(BOOL,LPCSTR,LPCSTR,int);
-WINSHLWAPI BOOL WINAPI StrIsIntlEqualW(BOOL,LPCWSTR,LPCWSTR,int);
-WINSHLWAPI LPSTR WINAPI StrNCatA(LPSTR,LPCSTR,int);
-WINSHLWAPI LPWSTR WINAPI StrNCatW(LPWSTR,LPCWSTR,int);
-WINSHLWAPI LPSTR WINAPI StrPBrkA(LPCSTR,LPCSTR);
-WINSHLWAPI LPWSTR WINAPI StrPBrkW(LPCWSTR,LPCWSTR);
-WINSHLWAPI LPSTR WINAPI StrRChrA(LPCSTR,LPCSTR,WORD);
-WINSHLWAPI LPWSTR WINAPI StrRChrW(LPCWSTR,LPCWSTR,WCHAR);
-WINSHLWAPI LPSTR WINAPI StrRChrIA(LPCSTR,LPCSTR,WORD);
-WINSHLWAPI LPWSTR WINAPI StrRChrIW(LPCWSTR,LPCWSTR,WCHAR);
-#ifndef __OBJC__
-WINSHLWAPI HRESULT WINAPI StrRetToBufA(LPSTRRET,LPCITEMIDLIST,LPSTR,UINT);
-WINSHLWAPI HRESULT WINAPI StrRetToBufW(LPSTRRET,LPCITEMIDLIST,LPWSTR,UINT);
-WINSHLWAPI HRESULT WINAPI StrRetToStrA(LPSTRRET,LPCITEMIDLIST,LPSTR*);
-WINSHLWAPI HRESULT WINAPI StrRetToStrW(LPSTRRET,LPCITEMIDLIST,LPWSTR*);
-#endif
-WINSHLWAPI LPSTR WINAPI StrRStrIA(LPCSTR,LPCSTR,LPCSTR);
-WINSHLWAPI LPWSTR WINAPI StrRStrIW(LPCWSTR,LPCWSTR,LPCWSTR);
-WINSHLWAPI int WINAPI StrSpnA(LPCSTR,LPCSTR);
-WINSHLWAPI int WINAPI StrSpnW(LPCWSTR,LPCWSTR);
-WINSHLWAPI LPSTR WINAPI StrStrA(LPCSTR, LPCSTR);
-WINSHLWAPI LPSTR WINAPI StrStrIA(LPCSTR,LPCSTR);
-WINSHLWAPI LPWSTR WINAPI StrStrIW(LPCWSTR,LPCWSTR);
-WINSHLWAPI LPWSTR WINAPI StrStrW(LPCWSTR,LPCWSTR);
-WINSHLWAPI int WINAPI StrToIntA(LPCSTR);
-WINSHLWAPI int WINAPI StrToIntW(LPCWSTR);
-WINSHLWAPI BOOL WINAPI StrToIntExA(LPCSTR,DWORD,int*);
-WINSHLWAPI BOOL WINAPI StrToIntExW(LPCWSTR,DWORD,int*);
-WINSHLWAPI BOOL WINAPI StrTrimA(LPSTR,LPCSTR);
-WINSHLWAPI BOOL WINAPI StrTrimW(LPWSTR,LPCWSTR);
-WINSHLWAPI LPSTR WINAPI PathAddBackslashA(LPSTR);
-WINSHLWAPI LPWSTR WINAPI PathAddBackslashW(LPWSTR);
-WINSHLWAPI BOOL WINAPI PathAddExtensionA(LPSTR,LPCSTR);
-WINSHLWAPI BOOL WINAPI PathAddExtensionW(LPWSTR,LPCWSTR);
-WINSHLWAPI BOOL WINAPI PathAppendA(LPSTR,LPCSTR);
-WINSHLWAPI BOOL WINAPI PathAppendW(LPWSTR,LPCWSTR);
-WINSHLWAPI LPSTR WINAPI PathBuildRootA(LPSTR,int);
-WINSHLWAPI LPWSTR WINAPI PathBuildRootW(LPWSTR,int);
-WINSHLWAPI BOOL WINAPI PathCanonicalizeA(LPSTR,LPCSTR);
-WINSHLWAPI BOOL WINAPI PathCanonicalizeW(LPWSTR,LPCWSTR);
-WINSHLWAPI LPSTR WINAPI PathCombineA(LPSTR,LPCSTR,LPCSTR);
-WINSHLWAPI LPWSTR WINAPI PathCombineW(LPWSTR,LPCWSTR,LPCWSTR);
-WINSHLWAPI int WINAPI PathCommonPrefixA(LPCSTR,LPCSTR,LPSTR);
-WINSHLWAPI int WINAPI PathCommonPrefixW(LPCWSTR,LPCWSTR,LPWSTR);
-WINSHLWAPI BOOL WINAPI PathCompactPathA(HDC,LPSTR,UINT);
-WINSHLWAPI BOOL WINAPI PathCompactPathW(HDC,LPWSTR,UINT);
-WINSHLWAPI BOOL WINAPI PathCompactPathExA(LPSTR,LPCSTR,UINT,DWORD);
-WINSHLWAPI BOOL WINAPI PathCompactPathExW(LPWSTR,LPCWSTR,UINT,DWORD);
-WINSHLWAPI HRESULT WINAPI PathCreateFromUrlA(LPCSTR,LPSTR,LPDWORD,DWORD);
-WINSHLWAPI HRESULT WINAPI PathCreateFromUrlW(LPCWSTR,LPWSTR,LPDWORD,DWORD);
-WINSHLWAPI BOOL WINAPI PathFileExistsA(LPCSTR);
-WINSHLWAPI BOOL WINAPI PathFileExistsW(LPCWSTR);
-WINSHLWAPI LPSTR WINAPI PathFindExtensionA(LPCSTR);
-WINSHLWAPI LPWSTR WINAPI PathFindExtensionW(LPCWSTR);
-WINSHLWAPI LPSTR WINAPI PathFindFileNameA(LPCSTR);
-WINSHLWAPI LPWSTR WINAPI PathFindFileNameW(LPCWSTR);
-WINSHLWAPI LPSTR WINAPI PathFindNextComponentA(LPCSTR);
-WINSHLWAPI LPWSTR WINAPI PathFindNextComponentW(LPCWSTR);
-WINSHLWAPI BOOL WINAPI PathFindOnPathA(LPSTR,LPCSTR*);
-WINSHLWAPI BOOL WINAPI PathFindOnPathW(LPWSTR,LPCWSTR*);
-WINSHLWAPI LPCSTR WINAPI PathFindSuffixArrayA(LPCSTR,LPCSTR*,int);
-WINSHLWAPI LPCWSTR WINAPI PathFindSuffixArrayW(LPCWSTR,LPCWSTR*,int);
-WINSHLWAPI LPSTR WINAPI PathGetArgsA(LPCSTR);
-WINSHLWAPI LPWSTR WINAPI PathGetArgsW(LPCWSTR);
-WINSHLWAPI UINT WINAPI PathGetCharTypeA(UCHAR);
-WINSHLWAPI UINT WINAPI PathGetCharTypeW(WCHAR);
-WINSHLWAPI int WINAPI PathGetDriveNumberA(LPCSTR);
-WINSHLWAPI int WINAPI PathGetDriveNumberW(LPCWSTR);
-WINSHLWAPI BOOL WINAPI PathIsContentTypeA(LPCSTR,LPCSTR);
-WINSHLWAPI BOOL WINAPI PathIsContentTypeW(LPCWSTR,LPCWSTR);
-WINSHLWAPI BOOL WINAPI PathIsDirectoryA(LPCSTR);
-WINSHLWAPI BOOL WINAPI PathIsDirectoryEmptyA(LPCSTR);
-WINSHLWAPI BOOL WINAPI PathIsDirectoryEmptyW(LPCWSTR);
-WINSHLWAPI BOOL WINAPI PathIsDirectoryW(LPCWSTR);
-WINSHLWAPI BOOL WINAPI PathIsFileSpecA(LPCSTR);
-WINSHLWAPI BOOL WINAPI PathIsFileSpecW(LPCWSTR);
-WINSHLWAPI BOOL WINAPI PathIsLFNFileSpecA(LPCSTR);
-WINSHLWAPI BOOL WINAPI PathIsLFNFileSpecW(LPCWSTR);
-WINSHLWAPI BOOL WINAPI PathIsNetworkPathA(LPCSTR);
-WINSHLWAPI BOOL WINAPI PathIsNetworkPathW(LPCWSTR);
-WINSHLWAPI BOOL WINAPI PathIsPrefixA(LPCSTR,LPCSTR);
-WINSHLWAPI BOOL WINAPI PathIsPrefixW(LPCWSTR,LPCWSTR);
-WINSHLWAPI BOOL WINAPI PathIsRelativeA(LPCSTR);
-WINSHLWAPI BOOL WINAPI PathIsRelativeW(LPCWSTR);
-WINSHLWAPI BOOL WINAPI PathIsRootA(LPCSTR);
-WINSHLWAPI BOOL WINAPI PathIsRootW(LPCWSTR);
-WINSHLWAPI BOOL WINAPI PathIsSameRootA(LPCSTR,LPCSTR);
-WINSHLWAPI BOOL WINAPI PathIsSameRootW(LPCWSTR,LPCWSTR);
-WINSHLWAPI BOOL WINAPI PathIsSystemFolderA(LPCSTR,DWORD);
-WINSHLWAPI BOOL WINAPI PathIsSystemFolderW(LPCWSTR,DWORD);
-WINSHLWAPI BOOL WINAPI PathIsUNCA(LPCSTR);
-WINSHLWAPI BOOL WINAPI PathIsUNCServerA(LPCSTR);
-WINSHLWAPI BOOL WINAPI PathIsUNCServerShareA(LPCSTR);
-WINSHLWAPI BOOL WINAPI PathIsUNCServerShareW(LPCWSTR);
-WINSHLWAPI BOOL WINAPI PathIsUNCServerW(LPCWSTR);
-WINSHLWAPI BOOL WINAPI PathIsUNCW(LPCWSTR);
-WINSHLWAPI BOOL WINAPI PathIsURLA(LPCSTR);
-WINSHLWAPI BOOL WINAPI PathIsURLW(LPCWSTR);
-WINSHLWAPI BOOL WINAPI PathMakePrettyA(LPSTR);
-WINSHLWAPI BOOL WINAPI PathMakePrettyW(LPWSTR);
-WINSHLWAPI BOOL WINAPI PathMakeSystemFolderA(LPSTR);
-WINSHLWAPI BOOL WINAPI PathMakeSystemFolderW(LPWSTR);
-WINSHLWAPI BOOL WINAPI PathMatchSpecA(LPCSTR,LPCSTR);
-WINSHLWAPI BOOL WINAPI PathMatchSpecW(LPCWSTR,LPCWSTR);
-WINSHLWAPI int WINAPI PathParseIconLocationA(LPSTR);
-WINSHLWAPI int WINAPI PathParseIconLocationW(LPWSTR);
-WINSHLWAPI void WINAPI PathQuoteSpacesA(LPSTR);
-WINSHLWAPI void WINAPI PathQuoteSpacesW(LPWSTR);
-WINSHLWAPI BOOL WINAPI PathRelativePathToA(LPSTR,LPCSTR,DWORD,LPCSTR,DWORD);
-WINSHLWAPI BOOL WINAPI PathRelativePathToW(LPWSTR,LPCWSTR,DWORD,LPCWSTR,DWORD);
-WINSHLWAPI void WINAPI PathRemoveArgsA(LPSTR);
-WINSHLWAPI void WINAPI PathRemoveArgsW(LPWSTR);
-WINSHLWAPI LPSTR WINAPI PathRemoveBackslashA(LPSTR);
-WINSHLWAPI LPWSTR WINAPI PathRemoveBackslashW(LPWSTR);
-WINSHLWAPI void WINAPI PathRemoveBlanksA(LPSTR);
-WINSHLWAPI void WINAPI PathRemoveBlanksW(LPWSTR);
-WINSHLWAPI void WINAPI PathRemoveExtensionA(LPSTR);
-WINSHLWAPI void WINAPI PathRemoveExtensionW(LPWSTR);
-WINSHLWAPI BOOL WINAPI PathRemoveFileSpecA(LPSTR);
-WINSHLWAPI BOOL WINAPI PathRemoveFileSpecW(LPWSTR);
-WINSHLWAPI BOOL WINAPI PathRenameExtensionA(LPSTR,LPCSTR);
-WINSHLWAPI BOOL WINAPI PathRenameExtensionW(LPWSTR,LPCWSTR);
-WINSHLWAPI BOOL WINAPI PathSearchAndQualifyA(LPCSTR,LPSTR,UINT);
-WINSHLWAPI BOOL WINAPI PathSearchAndQualifyW(LPCWSTR,LPWSTR,UINT);
-WINSHLWAPI void WINAPI PathSetDlgItemPathA(HWND,int,LPCSTR);
-WINSHLWAPI void WINAPI PathSetDlgItemPathW(HWND,int,LPCWSTR);
-WINSHLWAPI LPSTR WINAPI PathSkipRootA(LPCSTR);
-WINSHLWAPI LPWSTR WINAPI PathSkipRootW(LPCWSTR);
-WINSHLWAPI void WINAPI PathStripPathA(LPSTR);
-WINSHLWAPI void WINAPI PathStripPathW(LPWSTR);
-WINSHLWAPI BOOL WINAPI PathStripToRootA(LPSTR);
-WINSHLWAPI BOOL WINAPI PathStripToRootW(LPWSTR);
-WINSHLWAPI void WINAPI PathUndecorateA(LPSTR);
-WINSHLWAPI void WINAPI PathUndecorateW(LPWSTR);
-WINSHLWAPI BOOL WINAPI PathUnExpandEnvStringsA(LPCSTR,LPSTR,UINT);
-WINSHLWAPI BOOL WINAPI PathUnExpandEnvStringsW(LPCWSTR,LPWSTR,UINT);
-WINSHLWAPI BOOL WINAPI PathUnmakeSystemFolderA(LPSTR);
-WINSHLWAPI BOOL WINAPI PathUnmakeSystemFolderW(LPWSTR);
-WINSHLWAPI void WINAPI PathUnquoteSpacesA(LPSTR);
-WINSHLWAPI void WINAPI PathUnquoteSpacesW(LPWSTR);
-WINSHLWAPI HRESULT WINAPI SHAutoComplete(HWND,DWORD);
-#ifndef __OBJC__
-WINSHLWAPI HRESULT WINAPI SHCreateStreamOnFileA(LPCSTR,DWORD,struct IStream**);
-WINSHLWAPI HRESULT WINAPI SHCreateStreamOnFileW(LPCWSTR,DWORD,struct IStream**);
-WINSHLWAPI struct IStream* WINAPI SHOpenRegStream2A(HKEY,LPCSTR,LPCSTR,DWORD);
-WINSHLWAPI struct IStream* WINAPI SHOpenRegStream2W(HKEY,LPCWSTR,LPCWSTR,DWORD);
-WINSHLWAPI struct IStream* WINAPI SHOpenRegStreamA(HKEY,LPCSTR,LPCSTR,DWORD);
-WINSHLWAPI struct IStream* WINAPI SHOpenRegStreamW(HKEY,LPCWSTR,LPCWSTR,DWORD);
-#endif
-WINSHLWAPI BOOL WINAPI SHCreateThread(LPTHREAD_START_ROUTINE,void*,DWORD,LPTHREAD_START_ROUTINE);
-WINSHLWAPI DWORD WINAPI SHCopyKeyA(HKEY,LPCSTR,HKEY,DWORD);
-WINSHLWAPI DWORD WINAPI SHCopyKeyW(HKEY,LPCWSTR,HKEY,DWORD);
-WINSHLWAPI DWORD WINAPI SHDeleteEmptyKeyA(HKEY,LPCSTR);
-WINSHLWAPI DWORD WINAPI SHDeleteEmptyKeyW(HKEY,LPCWSTR);
-WINSHLWAPI DWORD WINAPI SHDeleteKeyA(HKEY,LPCSTR);
-WINSHLWAPI DWORD WINAPI SHDeleteKeyW(HKEY,LPCWSTR);
-WINSHLWAPI DWORD WINAPI SHEnumKeyExA(HKEY,DWORD,LPSTR,LPDWORD);
-WINSHLWAPI DWORD WINAPI SHEnumKeyExW(HKEY,DWORD,LPWSTR,LPDWORD);
-WINSHLWAPI DWORD WINAPI SHQueryInfoKeyA(HKEY,LPDWORD,LPDWORD,LPDWORD,LPDWORD);
-WINSHLWAPI DWORD WINAPI SHQueryInfoKeyW(HKEY,LPDWORD,LPDWORD,LPDWORD,LPDWORD);
-WINSHLWAPI DWORD WINAPI SHQueryValueExA(HKEY,LPCSTR,LPDWORD,LPDWORD,LPVOID,LPDWORD);
-WINSHLWAPI DWORD WINAPI SHQueryValueExW(HKEY,LPCWSTR,LPDWORD,LPDWORD,LPVOID,LPDWORD);
-#ifndef __OBJC__
-WINSHLWAPI HRESULT WINAPI SHGetThreadRef(IUnknown**);
-WINSHLWAPI HRESULT WINAPI SHSetThreadRef(IUnknown*);
-WINSHLWAPI BOOL WINAPI SHSkipJunction(IBindCtx*,const CLSID*);
-#endif
-WINSHLWAPI DWORD WINAPI SHEnumValueA(HKEY,DWORD,LPSTR,LPDWORD,LPDWORD,LPVOID,LPDWORD);
-WINSHLWAPI DWORD WINAPI SHEnumValueW(HKEY,DWORD,LPWSTR,LPDWORD,LPDWORD,LPVOID,LPDWORD);
-WINSHLWAPI DWORD WINAPI SHGetValueA(HKEY,LPCSTR,LPCSTR,LPDWORD,LPVOID,LPDWORD);
-WINSHLWAPI DWORD WINAPI SHGetValueW(HKEY,LPCWSTR,LPCWSTR,LPDWORD,LPVOID,LPDWORD);
-WINSHLWAPI DWORD WINAPI SHSetValueA(HKEY,LPCSTR,LPCSTR,DWORD,LPCVOID,DWORD);
-WINSHLWAPI DWORD WINAPI SHSetValueW(HKEY,LPCWSTR,LPCWSTR,DWORD,LPCVOID,DWORD);
-WINSHLWAPI DWORD WINAPI SHDeleteValueA(HKEY,LPCSTR,LPCSTR);
-WINSHLWAPI DWORD WINAPI SHDeleteValueW(HKEY,LPCWSTR,LPCWSTR);
-WINSHLWAPI HRESULT WINAPI AssocCreate(CLSID,const IID* const,LPVOID*);
-WINSHLWAPI HRESULT WINAPI AssocQueryKeyA(ASSOCF,ASSOCKEY,LPCSTR,LPCSTR,HKEY*);
-WINSHLWAPI HRESULT WINAPI AssocQueryKeyW(ASSOCF,ASSOCKEY,LPCWSTR,LPCWSTR,HKEY*);
-WINSHLWAPI HRESULT WINAPI AssocQueryStringA(ASSOCF,ASSOCSTR,LPCSTR,LPCSTR,LPSTR,DWORD*);
-WINSHLWAPI HRESULT WINAPI AssocQueryStringByKeyA(ASSOCF,ASSOCSTR,HKEY,LPCSTR,LPSTR,DWORD*);
-WINSHLWAPI HRESULT WINAPI AssocQueryStringByKeyW(ASSOCF,ASSOCSTR,HKEY,LPCWSTR,LPWSTR,DWORD*);
-WINSHLWAPI HRESULT WINAPI AssocQueryStringW(ASSOCF,ASSOCSTR,LPCWSTR,LPCWSTR,LPWSTR,DWORD*);
-
-WINSHLWAPI HRESULT WINAPI UrlApplySchemeA(LPCSTR,LPSTR,LPDWORD,DWORD);
-WINSHLWAPI HRESULT WINAPI UrlApplySchemeW(LPCWSTR,LPWSTR,LPDWORD,DWORD);
-WINSHLWAPI HRESULT WINAPI UrlCanonicalizeA(LPCSTR,LPSTR,LPDWORD,DWORD);
-WINSHLWAPI HRESULT WINAPI UrlCanonicalizeW(LPCWSTR,LPWSTR,LPDWORD,DWORD);
-WINSHLWAPI HRESULT WINAPI UrlCombineA(LPCSTR,LPCSTR,LPSTR,LPDWORD,DWORD);
-WINSHLWAPI HRESULT WINAPI UrlCombineW(LPCWSTR,LPCWSTR,LPWSTR,LPDWORD,DWORD);
-WINSHLWAPI int WINAPI UrlCompareA(LPCSTR,LPCSTR,BOOL);
-WINSHLWAPI int WINAPI UrlCompareW(LPCWSTR,LPCWSTR,BOOL);
-WINSHLWAPI HRESULT WINAPI UrlCreateFromPathA(LPCSTR,LPSTR,LPDWORD,DWORD);
-WINSHLWAPI HRESULT WINAPI UrlCreateFromPathW(LPCWSTR,LPWSTR,LPDWORD,DWORD);
-WINSHLWAPI HRESULT WINAPI UrlEscapeA(LPCSTR,LPSTR,LPDWORD,DWORD);
-WINSHLWAPI HRESULT WINAPI UrlEscapeW(LPCWSTR,LPWSTR,LPDWORD,DWORD);
-WINSHLWAPI LPCSTR WINAPI UrlGetLocationA(LPCSTR);
-WINSHLWAPI LPCWSTR WINAPI UrlGetLocationW(LPCWSTR);
-WINSHLWAPI HRESULT WINAPI UrlGetPartA(LPCSTR,LPSTR,LPDWORD,DWORD,DWORD);
-WINSHLWAPI HRESULT WINAPI UrlGetPartW(LPCWSTR,LPWSTR,LPDWORD,DWORD,DWORD);
-WINSHLWAPI HRESULT WINAPI UrlHashA(LPCSTR,LPBYTE,DWORD);
-WINSHLWAPI HRESULT WINAPI UrlHashW(LPCWSTR,LPBYTE,DWORD);
-WINSHLWAPI BOOL WINAPI UrlIsA(LPCSTR,URLIS);
-WINSHLWAPI BOOL WINAPI UrlIsW(LPCWSTR,URLIS);
-#define UrlIsFileUrlA(pszURL) UrlIsA(pzURL, URLIS_FILEURL)
-#define UrlIsFileUrlW(pszURL) UrlIsW(pszURL, URLIS_FILEURL)
-WINSHLWAPI BOOL WINAPI UrlIsNoHistoryA(LPCSTR);
-WINSHLWAPI BOOL WINAPI UrlIsNoHistoryW(LPCWSTR);
-WINSHLWAPI BOOL WINAPI UrlIsOpaqueA(LPCSTR);
-WINSHLWAPI BOOL WINAPI UrlIsOpaqueW(LPCWSTR);
-WINSHLWAPI HRESULT WINAPI UrlUnescapeA(LPSTR,LPSTR,LPDWORD,DWORD);
-WINSHLWAPI HRESULT WINAPI UrlUnescapeW(LPWSTR,LPWSTR,LPDWORD,DWORD);
-#define UrlUnescapeInPlaceA(pszUrl,dwFlags )\
- UrlUnescapeA(pszUrl, NULL, NULL, dwFlags | URL_UNESCAPE_INPLACE)
-#define UrlUnescapeInPlaceW(pszUrl,dwFlags )\
- UrlUnescapeW(pszUrl, NULL, NULL, dwFlags | URL_UNESCAPE_INPLACE)
-WINSHLWAPI DWORD WINAPI SHRegCloseUSKey(HUSKEY);
-WINSHLWAPI LONG WINAPI SHRegCreateUSKeyA(LPCSTR,REGSAM,HUSKEY,PHUSKEY,DWORD);
-WINSHLWAPI LONG WINAPI SHRegCreateUSKeyW(LPCWSTR,REGSAM,HUSKEY,PHUSKEY,DWORD);
-WINSHLWAPI LONG WINAPI SHRegDeleteEmptyUSKeyA(HUSKEY,LPCSTR,SHREGDEL_FLAGS);
-WINSHLWAPI LONG WINAPI SHRegDeleteEmptyUSKeyW(HUSKEY,LPCWSTR,SHREGDEL_FLAGS);
-WINSHLWAPI LONG WINAPI SHRegDeleteUSValueA(HUSKEY,LPCSTR,SHREGDEL_FLAGS);
-WINSHLWAPI LONG WINAPI SHRegDeleteUSValueW(HUSKEY,LPCWSTR,SHREGDEL_FLAGS);
-WINSHLWAPI HKEY WINAPI SHRegDuplicateHKey(HKEY);
-WINSHLWAPI DWORD WINAPI SHRegEnumUSKeyA(HUSKEY,DWORD,LPSTR,LPDWORD,SHREGENUM_FLAGS);
-WINSHLWAPI DWORD WINAPI SHRegEnumUSKeyW(HUSKEY,DWORD,LPWSTR,LPDWORD,SHREGENUM_FLAGS);
-WINSHLWAPI DWORD WINAPI SHRegEnumUSValueA(HUSKEY,DWORD,LPSTR,LPDWORD,LPDWORD,LPVOID,LPDWORD,SHREGENUM_FLAGS);
-WINSHLWAPI DWORD WINAPI SHRegEnumUSValueW(HUSKEY,DWORD,LPWSTR,LPDWORD,LPDWORD,LPVOID,LPDWORD,SHREGENUM_FLAGS);
-WINSHLWAPI BOOL WINAPI SHRegGetBoolUSValueA(LPCSTR,LPCSTR,BOOL,BOOL);
-WINSHLWAPI BOOL WINAPI SHRegGetBoolUSValueW(LPCWSTR,LPCWSTR,BOOL,BOOL);
-WINSHLWAPI DWORD WINAPI SHRegGetPathA(HKEY,LPCSTR,LPCSTR,LPSTR,DWORD);
-WINSHLWAPI DWORD WINAPI SHRegGetPathW(HKEY,LPCWSTR,LPCWSTR,LPWSTR,DWORD);
-WINSHLWAPI LONG WINAPI SHRegGetUSValueA(LPCSTR,LPCSTR,LPDWORD,LPVOID,LPDWORD,BOOL,LPVOID,DWORD);
-WINSHLWAPI LONG WINAPI SHRegGetUSValueW(LPCWSTR,LPCWSTR,LPDWORD,LPVOID,LPDWORD,BOOL,LPVOID,DWORD);
-WINSHLWAPI LONG WINAPI SHRegOpenUSKeyA(LPCSTR,REGSAM,HUSKEY,PHUSKEY,BOOL);
-WINSHLWAPI LONG WINAPI SHRegOpenUSKeyW(LPCWSTR,REGSAM,HUSKEY,PHUSKEY,BOOL);
-WINSHLWAPI DWORD WINAPI SHRegQueryInfoUSKeyA(HUSKEY,LPDWORD,LPDWORD,LPDWORD,LPDWORD,SHREGENUM_FLAGS);
-WINSHLWAPI DWORD WINAPI SHRegQueryInfoUSKeyW(HUSKEY,LPDWORD,LPDWORD,LPDWORD,LPDWORD,SHREGENUM_FLAGS);
-WINSHLWAPI LONG WINAPI SHRegQueryUSValueA(HUSKEY,LPCSTR,LPDWORD,LPVOID,LPDWORD,BOOL,LPVOID,DWORD);
-WINSHLWAPI LONG WINAPI SHRegQueryUSValueW(HUSKEY,LPCWSTR,LPDWORD,LPVOID,LPDWORD,BOOL,LPVOID,DWORD);
-WINSHLWAPI DWORD WINAPI SHRegSetPathA(HKEY,LPCSTR,LPCSTR,LPCSTR,DWORD);
-WINSHLWAPI DWORD WINAPI SHRegSetPathW(HKEY,LPCWSTR,LPCWSTR,LPCWSTR,DWORD);
-WINSHLWAPI LONG WINAPI SHRegSetUSValueA(LPCSTR,LPCSTR,DWORD,LPVOID,DWORD,DWORD);
-WINSHLWAPI LONG WINAPI SHRegSetUSValueW(LPCWSTR,LPCWSTR,DWORD,LPVOID,DWORD,DWORD);
-WINSHLWAPI LONG WINAPI SHRegWriteUSValueA(HUSKEY,LPCSTR,DWORD,LPVOID,DWORD,DWORD);
-WINSHLWAPI LONG WINAPI SHRegWriteUSValueW(HUSKEY,LPCWSTR,DWORD,LPVOID,DWORD,DWORD);
-WINSHLWAPI HRESULT WINAPI HashData(LPBYTE,DWORD,LPBYTE,DWORD);
-WINSHLWAPI HPALETTE WINAPI SHCreateShellPalette(HDC);
-WINSHLWAPI COLORREF WINAPI ColorHLSToRGB(WORD,WORD,WORD);
-WINSHLWAPI COLORREF WINAPI ColorAdjustLuma(COLORREF,int,BOOL);
-WINSHLWAPI void WINAPI ColorRGBToHLS(COLORREF,WORD*,WORD*,WORD*);
-WINSHLWAPI int __cdecl wnsprintfA(LPSTR,int,LPCSTR,...);
-WINSHLWAPI int __cdecl wnsprintfW(LPWSTR,int,LPCWSTR,...);
-WINSHLWAPI int WINAPI wvnsprintfA(LPSTR,int,LPCSTR,va_list);
-WINSHLWAPI int WINAPI wvnsprintfW(LPWSTR,int,LPCWSTR,va_list);
-
-HINSTANCE WINAPI MLLoadLibraryA(LPCSTR,HANDLE,DWORD,LPCSTR,BOOL);
-HINSTANCE WINAPI MLLoadLibraryW(LPCWSTR,HANDLE,DWORD,LPCWSTR,BOOL);
-
-HRESULT WINAPI DllInstall(BOOL,LPCWSTR);
-
-#ifdef UNICODE
-#define ChrCmpI ChrCmpIW
-#define IntlStrEqN IntlStrEqNW
-#define IntlStrEqNI IntlStrEqNIW
-#define IntlStrEqWorker IntlStrEqWorkerW
-#define SHStrDup SHStrDupW
-#define StrCat StrCatW
-#define StrCatBuff StrCatBuffW
-#define StrChr StrChrW
-#define StrChrI StrChrIW
-#define StrCmp StrCmpW
-#define StrCmpI StrCmpIW
-#define StrCmpNI StrCmpNIW
-#define StrCmpN StrCmpNW
-#define StrCpyN StrCpyNW
-#define StrCpy StrCpyW
-#define StrCSpnI StrCSpnIW
-#define StrCSpn StrCSpnW
-#define StrDup StrDupW
-#define StrFormatByteSize StrFormatByteSizeW
-#define StrFormatKBSize StrFormatKBSizeW
-#define StrFromTimeInterval StrFromTimeIntervalW
-#define StrIsIntlEqual StrIsIntlEqualW
-#define StrNCat StrNCatW
-#define StrPBrk StrPBrkW
-#define StrRChr StrRChrW
-#define StrRChrI StrRChrIW
-#ifndef __OBJC__
-#define StrRetToBuf StrRetToBufW
-#define StrRetToStr StrRetToStrW
-#endif
-#define StrRStrI StrRStrIW
-#define StrSpn StrSpnW
-#define StrStrI StrStrIW
-#define StrStr StrStrW
-#define StrToInt StrToIntW
-#define StrToIntEx StrToIntExW
-#define StrTrim StrTrimW
-#define PathAddBackslash PathAddBackslashW
-#define PathAddExtension PathAddExtensionW
-#define PathAppend PathAppendW
-#define PathBuildRoot PathBuildRootW
-#define PathCanonicalize PathCanonicalizeW
-#define PathCombine PathCombineW
-#define PathCommonPrefix PathCommonPrefixW
-#define PathCompactPath PathCompactPathW
-#define PathCompactPathEx PathCompactPathExW
-#define PathCreateFromUrl PathCreateFromUrlW
-#define PathFileExists PathFileExistsW
-#define PathFindExtension PathFindExtensionW
-#define PathFindFileName PathFindFileNameW
-#define PathFindNextComponent PathFindNextComponentW
-#define PathFindOnPath PathFindOnPathW
-#define PathFindSuffixArray PathFindSuffixArrayW
-#define PathGetArgs PathGetArgsW
-#define PathGetCharType PathGetCharTypeW
-#define PathGetDriveNumber PathGetDriveNumberW
-#define PathIsContentType PathIsContentTypeW
-#define PathIsDirectoryEmpty PathIsDirectoryEmptyW
-#define PathIsDirectory PathIsDirectoryW
-#define PathIsFileSpec PathIsFileSpecW
-#define PathIsLFNFileSpec PathIsLFNFileSpecW
-#define PathIsNetworkPath PathIsNetworkPathW
-#define PathIsPrefix PathIsPrefixW
-#define PathIsRelative PathIsRelativeW
-#define PathIsRoot PathIsRootW
-#define PathIsSameRoot PathIsSameRootW
-#define PathIsSystemFolder PathIsSystemFolderW
-#define PathIsUNCServerShare PathIsUNCServerShareW
-#define PathIsUNCServer PathIsUNCServerW
-#define PathIsUNC PathIsUNCW
-#define PathIsURL PathIsURLW
-#define PathMakePretty PathMakePrettyW
-#define PathMakeSystemFolder PathMakeSystemFolderW
-#define PathMatchSpec PathMatchSpecW
-#define PathParseIconLocation PathParseIconLocationW
-#define PathQuoteSpaces PathQuoteSpacesW
-#define PathRelativePathTo PathRelativePathToW
-#define PathRemoveArgs PathRemoveArgsW
-#define PathRemoveBackslash PathRemoveBackslashW
-#define PathRemoveBlanks PathRemoveBlanksW
-#define PathRemoveExtension PathRemoveExtensionW
-#define PathRemoveFileSpec PathRemoveFileSpecW
-#define PathRenameExtension PathRenameExtensionW
-#define PathSearchAndQualify PathSearchAndQualifyW
-#define PathSetDlgItemPath PathSetDlgItemPathW
-#define PathSkipRoot PathSkipRootW
-#define PathStripPath PathStripPathW
-#define PathStripToRoot PathStripToRootW
-#define PathUndecorate PathUndecorateW
-#define PathUnExpandEnvStrings PathUnExpandEnvStringsW
-#define PathUnmakeSystemFolder PathUnmakeSystemFolderW
-#define PathUnquoteSpaces PathUnquoteSpacesW
-#ifndef __OBJC__
-#define SHCreateStreamOnFile SHCreateStreamOnFileW
-#define SHOpenRegStream SHOpenRegStreamW
-#define SHOpenRegStream2 SHOpenRegStream2W
-#endif
-#define SHCopyKey SHCopyKeyW
-#define SHDeleteEmptyKey SHDeleteEmptyKeyW
-#define SHDeleteKey SHDeleteKeyW
-#define SHEnumKeyEx SHEnumKeyExW
-#define SHQueryInfoKey SHRegQueryInfoKeyW
-#define SHQueryValueEx SHQueryValueExW
-#define SHEnumValue SHEnumValueW
-#define SHGetValue SHGetValueW
-#define SHSetValue SHSetValueW
-#define SHDeleteValue SHDeleteValueW
-#define AssocQueryKey AssocQueryKeyW
-#define AssocQueryStringByKey AssocQueryStringByKeyW
-#define AssocQueryString AssocQueryStringW
-#define UrlApplyScheme UrlApplySchemeW
-#define UrlCanonicalize UrlCanonicalizeW
-#define UrlCombine UrlCombineW
-#define UrlCompare UrlCompareW
-#define UrlCreateFromPath UrlCreateFromPathW
-#define UrlEscape UrlEscapeW
-#define UrlGetLocation UrlGetLocationW
-#define UrlGetPart UrlGetPartW
-#define UrlHash UrlHashW
-#define UrlIs UrlIsW
-#define UrlIsFileUrl UrlIsFileUrlW
-#define UrlIsNoHistory UrlIsNoHistoryW
-#define UrlIsOpaque UrlIsOpaqueW
-#define UrlUnescape UrlUnescapeW
-#define UrlUnescapeInPlace UrlUnescapeInPlaceW
-#define SHRegCreateUSKey SHRegCreateUSKeyW
-#define SHRegDeleteEmptyUSKey SHRegDeleteEmptyUSKeyW
-#define SHRegDeleteUSValue SHRegDeleteUSValueW
-#define SHRegEnumUSKey SHRegEnumUSKeyW
-#define SHRegEnumUSValue SHRegEnumUSValueW
-#define SHRegGetBoolUSValue SHRegGetBoolUSValueW
-#define SHRegGetPath SHRegGetPathW
-#define SHRegGetUSValue SHRegGetUSValueW
-#define SHRegOpenUSKey SHRegOpenUSKeyW
-#define SHRegQueryInfoUSKey SHRegQueryInfoUSKeyW
-#define SHRegQueryUSValue SHRegQueryUSValueW
-#define SHRegSetPath SHRegSetPathW
-#define SHRegSetUSValue SHRegSetUSValueW
-#define SHRegWriteUSValue SHRegWriteUSValueW
-#define wnsprintf wnsprintfW
-#define wvnsprintf wvnsprintfW
-#else /* UNICODE */
-#define ChrCmpI ChrCmpIA
-#define IntlStrEqN IntlStrEqNA
-#define IntlStrEqNI IntlStrEqNIA
-#define IntlStrEqWorker IntlStrEqWorkerA
-#define SHStrDup SHStrDupA
-#define StrCat lstrcatA
-#define StrCatBuff StrCatBuffA
-#define StrChr StrChrA
-#define StrChrI StrChrIA
-#define StrCmp lstrcmpA
-#define StrCmpI lstrcmpiA
-#define StrCmpNI StrCmpNIA
-#define StrCmpN StrCmpNA
-#define StrCpyN lstrcpynA
-#define StrCpy lstrcpyA
-#define StrCSpnI StrCSpnIA
-#define StrCSpn StrCSpnA
-#define StrDup StrDupA
-#define StrFormatByteSize StrFormatByteSizeA
-#define StrFormatKBSize StrFormatKBSizeA
-#define StrFromTimeInterval StrFromTimeIntervalA
-#define StrIsIntlEqual StrIsIntlEqualA
-#define StrNCat StrNCatA
-#define StrPBrk StrPBrkA
-#define StrRChr StrRChrA
-#define StrRChrI StrRChrIA
-#ifndef __OBJC__
-#define StrRetToBuf StrRetToBufA
-#define StrRetToStr StrRetToStrA
-#endif
-#define StrRStrI StrRStrIA
-#define StrSpn StrSpnA
-#define StrStrI StrStrIA
-#define StrStr StrStrA
-#define StrToInt StrToIntA
-#define StrToIntEx StrToIntExA
-#define StrTrim StrTrimA
-#define PathAddBackslash PathAddBackslashA
-#define PathAddExtension PathAddExtensionA
-#define PathAppend PathAppendA
-#define PathBuildRoot PathBuildRootA
-#define PathCanonicalize PathCanonicalizeA
-#define PathCombine PathCombineA
-#define PathCommonPrefix PathCommonPrefixA
-#define PathCompactPath PathCompactPathA
-#define PathCompactPathEx PathCompactPathExA
-#define PathCreateFromUrl PathCreateFromUrlA
-#define PathFileExists PathFileExistsA
-#define PathFindExtension PathFindExtensionA
-#define PathFindFileName PathFindFileNameA
-#define PathFindNextComponent PathFindNextComponentA
-#define PathFindOnPath PathFindOnPathA
-#define PathFindSuffixArray PathFindSuffixArrayA
-#define PathGetArgs PathGetArgsA
-#define PathGetCharType PathGetCharTypeA
-#define PathGetDriveNumber PathGetDriveNumberA
-#define PathIsContentType PathIsContentTypeA
-#define PathIsDirectoryEmpty PathIsDirectoryEmptyA
-#define PathIsDirectory PathIsDirectoryA
-#define PathIsFileSpec PathIsFileSpecA
-#define PathIsLFNFileSpec PathIsLFNFileSpecA
-#define PathIsNetworkPath PathIsNetworkPathA
-#define PathIsPrefix PathIsPrefixA
-#define PathIsRelative PathIsRelativeA
-#define PathIsRoot PathIsRootA
-#define PathIsSameRoot PathIsSameRootA
-#define PathIsSystemFolder PathIsSystemFolderA
-#define PathIsUNCServerShare PathIsUNCServerShareA
-#define PathIsUNCServer PathIsUNCServerA
-#define PathIsUNC PathIsUNCA
-#define PathIsURL PathIsURLA
-#define PathMakePretty PathMakePrettyA
-#define PathMakeSystemFolder PathMakeSystemFolderA
-#define PathMatchSpec PathMatchSpecA
-#define PathParseIconLocation PathParseIconLocationA
-#define PathQuoteSpaces PathQuoteSpacesA
-#define PathRelativePathTo PathRelativePathToA
-#define PathRemoveArgs PathRemoveArgsA
-#define PathRemoveBackslash PathRemoveBackslashA
-#define PathRemoveBlanks PathRemoveBlanksA
-#define PathRemoveExtension PathRemoveExtensionA
-#define PathRemoveFileSpec PathRemoveFileSpecA
-#define PathRenameExtension PathRenameExtensionA
-#define PathSearchAndQualify PathSearchAndQualifyA
-#define PathSetDlgItemPath PathSetDlgItemPathA
-#define PathSkipRoot PathSkipRootA
-#define PathStripPath PathStripPathA
-#define PathStripToRoot PathStripToRootA
-#define PathUndecorate PathUndecorateA
-#define PathUnExpandEnvStrings PathUnExpandEnvStringsA
-#define PathUnmakeSystemFolder PathUnmakeSystemFolderA
-#define PathUnquoteSpaces PathUnquoteSpacesA
-#ifndef __OBJC__
-#define SHCreateStreamOnFile SHCreateStreamOnFileA
-#define SHOpenRegStream SHOpenRegStreamA
-#define SHOpenRegStream2 SHOpenRegStream2A
-#endif
-#define SHCopyKey SHCopyKeyA
-#define SHDeleteEmptyKey SHDeleteEmptyKeyA
-#define SHDeleteKey SHDeleteKeyA
-#define SHEnumKeyEx SHEnumKeyExA
-#define SHQueryInfoKey SHRegQueryInfoKeyA
-#define SHQueryValueEx SHQueryValueExA
-#define SHEnumValue SHEnumValueA
-#define SHGetValue SHGetValueA
-#define SHSetValue SHSetValueA
-#define SHDeleteValue SHDeleteValueA
-#define AssocQueryKey AssocQueryKeyA
-#define AssocQueryStringByKey AssocQueryStringByKeyA
-#define AssocQueryString AssocQueryStringA
-#define UrlApplyScheme UrlApplySchemeA
-#define UrlCanonicalize UrlCanonicalizeA
-#define UrlCombine UrlCombineA
-#define UrlCompare UrlCompareA
-#define UrlCreateFromPath UrlCreateFromPathA
-#define UrlEscape UrlEscapeA
-#define UrlGetLocation UrlGetLocationA
-#define UrlGetPart UrlGetPartA
-#define UrlHash UrlHashA
-#define UrlIs UrlIsA
-#define UrlIsFileUrl UrlIsFileUrl
-#define UrlIsNoHistory UrlIsNoHistoryA
-#define UrlIsOpaque UrlIsOpaqueA
-#define UrlUnescape UrlUnescapeA
-#define UrlUnescapeInPlace UrlUnescapeInPlaceA
-#define SHRegCreateUSKey SHRegCreateUSKeyA
-#define SHRegDeleteEmptyUSKey SHRegDeleteEmptyUSKeyA
-#define SHRegDeleteUSValue SHRegDeleteUSValueA
-#define SHRegEnumUSKey SHRegEnumUSKeyA
-#define SHRegEnumUSValue SHRegEnumUSValueA
-#define SHRegGetBoolUSValue SHRegGetBoolUSValueA
-#define SHRegGetPath SHRegGetPathA
-#define SHRegGetUSValue SHRegGetUSValueA
-#define SHRegOpenUSKey SHRegOpenUSKeyA
-#define SHRegQueryInfoUSKey SHRegQueryInfoUSKeyA
-#define SHRegQueryUSValue SHRegQueryUSValueA
-#define SHRegSetPath SHRegSetPathA
-#define SHRegSetUSValue SHRegSetUSValueA
-#define SHRegWriteUSValue SHRegWriteUSValueA
-#define wnsprintf wnsprintfA
-#define wvnsprintf wvnsprintfA
-#endif /* UNICODE */
-
-#define StrToLong StrToInt
-
-#endif /* !RC_INVOKED */
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* ! defined _SHLWAPI_H */
diff --git a/winsup/w32api/include/snmp.h b/winsup/w32api/include/snmp.h
deleted file mode 100644
index f35a2be08..000000000
--- a/winsup/w32api/include/snmp.h
+++ /dev/null
@@ -1,259 +0,0 @@
-/*
- snmp.h - Header file for the Windows SNMP API
-
- Written by Filip Navara <xnavara@volny.cz>
-
- References (2003-08-25):
- http://msdn.microsoft.com/library/en-us/snmp/snmp/snmp_reference.asp
-
- This library 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.
-*/
-
-#ifndef _SNMP_H
-#define _SNMP_H
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-#ifndef _WINDOWS_H
-#include <windows.h>
-#endif
-
-#include <pshpack4.h>
-
-#ifndef WINSNMPAPI
-#define WINSNMPAPI WINAPI
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define DEFAULT_SNMP_PORT_UDP 161
-#define DEFAULT_SNMP_PORT_IPX 36879
-#define DEFAULT_SNMPTRAP_PORT_UDP 162
-#define DEFAULT_SNMPTRAP_PORT_IPX 36880
-#ifndef _SNMP_ASN_DEFINED
-#define _SNMP_ASN_DEFINED
-#define ASN_UNIVERSAL 0x00
-#define ASN_PRIMITIVE 0x00
-#define ASN_CONSTRUCTOR 0x20
-#define ASN_APPLICATION 0x40
-#define ASN_CONTEXT 0x80
-#define ASN_PRIVATE 0xC0
-#define SNMP_PDU_GET (ASN_CONTEXT | ASN_CONSTRUCTOR | 0)
-#define SNMP_PDU_GETNEXT (ASN_CONTEXT | ASN_CONSTRUCTOR | 1)
-#define SNMP_PDU_RESPONSE (ASN_CONTEXT | ASN_CONSTRUCTOR | 2)
-#define SNMP_PDU_SET (ASN_CONTEXT | ASN_CONSTRUCTOR | 3)
-#define SNMP_PDU_GETBULK (ASN_CONTEXT | ASN_CONSTRUCTOR | 4)
-#define SNMP_PDU_V1TRAP (ASN_CONTEXT | ASN_CONSTRUCTOR | 4)
-#define SNMP_PDU_INFORM (ASN_CONTEXT | ASN_CONSTRUCTOR | 6)
-#define SNMP_PDU_TRAP (ASN_CONTEXT | ASN_CONSTRUCTOR | 7)
-#define SNMP_PDU_REPORT (ASN_CONTEXT | ASN_CONSTRUCTOR | 8)
-#endif /* _SNMP_ASN_DEFINED */
-#define ASN_INTEGER (ASN_UNIVERSAL | ASN_PRIMITIVE | 2)
-#define ASN_BITS (ASN_UNIVERSAL | ASN_PRIMITIVE | 3)
-#define ASN_OCTETSTRING (ASN_UNIVERSAL | ASN_PRIMITIVE | 4)
-#define ASN_NULL (ASN_UNIVERSAL | ASN_PRIMITIVE | 5)
-#define ASN_OBJECTIDENTIFIER (ASN_UNIVERSAL | ASN_PRIMITIVE | 6)
-#define ASN_INTEGER32 ASN_INTEGER
-#define ASN_SEQUENCE (ASN_UNIVERSAL | ASN_CONSTRUCTOR | 0x10)
-#define ASN_SEQUENCEOF ASN_SEQUENCE
-#define ASN_IPADDRESS (ASN_APPLICATION | ASN_PRIMITIVE | 0x00)
-#define ASN_COUNTER32 (ASN_APPLICATION | ASN_PRIMITIVE | 0x01)
-#define ASN_GAUGE32 (ASN_APPLICATION | ASN_PRIMITIVE | 0x02)
-#define ASN_TIMETICKS (ASN_APPLICATION | ASN_PRIMITIVE | 0x03)
-#define ASN_OPAQUE (ASN_APPLICATION | ASN_PRIMITIVE | 0x04)
-#define ASN_COUNTER64 (ASN_APPLICATION | ASN_PRIMITIVE | 0x06)
-#define ASN_UNSIGNED32 (ASN_APPLICATION | ASN_PRIMITIVE | 0x07)
-#define SNMP_EXCEPTION_NOSUCHOBJECT (ASN_CONTEXT | ASN_PRIMITIVE | 0x00)
-#define SNMP_EXCEPTION_NOSUCHINSTANCE (ASN_CONTEXT | ASN_PRIMITIVE | 0x01)
-#define SNMP_EXCEPTION_ENDOFMIBVIEW (ASN_CONTEXT | ASN_PRIMITIVE | 0x02)
-#define SNMP_EXTENSION_GET SNMP_PDU_GET
-#define SNMP_EXTENSION_GET_NEXT SNMP_PDU_GETNEXT
-#define SNMP_EXTENSION_GET_BULK SNMP_PDU_GETBULK
-#define SNMP_EXTENSION_SET_TEST (ASN_PRIVATE | ASN_CONSTRUCTOR | 0x0)
-#define SNMP_EXTENSION_SET_COMMIT SNMP_PDU_SET
-#define SNMP_EXTENSION_SET_UNDO (ASN_PRIVATE | ASN_CONSTRUCTOR | 0x1)
-#define SNMP_EXTENSION_SET_CLEANUP (ASN_PRIVATE | ASN_CONSTRUCTOR | 0x2)
-#define SNMP_ERRORSTATUS_NOERROR 0
-#define SNMP_ERRORSTATUS_TOOBIG 1
-#define SNMP_ERRORSTATUS_NOSUCHNAME 2
-#define SNMP_ERRORSTATUS_BADVALUE 3
-#define SNMP_ERRORSTATUS_READONLY 4
-#define SNMP_ERRORSTATUS_GENERR 5
-#define SNMP_ERRORSTATUS_NOACCESS 6
-#define SNMP_ERRORSTATUS_WRONGTYPE 7
-#define SNMP_ERRORSTATUS_WRONGLENGTH 8
-#define SNMP_ERRORSTATUS_WRONGENCODING 9
-#define SNMP_ERRORSTATUS_WRONGVALUE 10
-#define SNMP_ERRORSTATUS_NOCREATION 11
-#define SNMP_ERRORSTATUS_INCONSISTENTVALUE 12
-#define SNMP_ERRORSTATUS_RESOURCEUNAVAILABLE 13
-#define SNMP_ERRORSTATUS_COMMITFAILED 14
-#define SNMP_ERRORSTATUS_UNDOFAILED 15
-#define SNMP_ERRORSTATUS_AUTHORIZATIONERROR 16
-#define SNMP_ERRORSTATUS_NOTWRITABLE 17
-#define SNMP_ERRORSTATUS_INCONSISTENTNAME 18
-#define SNMP_GENERICTRAP_COLDSTART 0
-#define SNMP_GENERICTRAP_WARMSTART 1
-#define SNMP_GENERICTRAP_LINKDOWN 2
-#define SNMP_GENERICTRAP_LINKUP 3
-#define SNMP_GENERICTRAP_AUTHFAILURE 4
-#define SNMP_GENERICTRAP_EGPNEIGHLOSS 5
-#define SNMP_GENERICTRAP_ENTERSPECIFIC 6
-#define SNMP_ACCESS_NONE 0
-#define SNMP_ACCESS_NOTIFY 1
-#define SNMP_ACCESS_READ_ONLY 2
-#define SNMP_ACCESS_READ_WRITE 3
-#define SNMP_ACCESS_READ_CREATE 4
-#define SNMPAPI_ERROR FALSE
-#define SNMPAPI_NOERROR TRUE
-#define SNMP_LOG_SILENT 0
-#define SNMP_LOG_FATAL 1
-#define SNMP_LOG_ERROR 2
-#define SNMP_LOG_WARNING 3
-#define SNMP_LOG_TRACE 4
-#define SNMP_LOG_VERBOSE 5
-#define SNMP_OUTPUT_TO_CONSOLE 1
-#define SNMP_OUTPUT_TO_LOGFILE 2
-#define SNMP_OUTPUT_TO_EVENTLOG 4
-#define SNMP_OUTPUT_TO_DEBUGGER 8
-#define SNMP_MAX_OID_LEN 128
-#define SNMP_MEM_ALLOC_ERROR 1
-#define SNMP_BERAPI_INVALID_LENGTH 10
-#define SNMP_BERAPI_INVALID_TAG 11
-#define SNMP_BERAPI_OVERFLOW 12
-#define SNMP_BERAPI_SHORT_BUFFER 13
-#define SNMP_BERAPI_INVALID_OBJELEM 14
-#define SNMP_PDUAPI_UNRECOGNIZED_PDU 20
-#define SNMP_PDUAPI_INVALID_ES 21
-#define SNMP_PDUAPI_INVALID_GT 22
-#define SNMP_AUTHAPI_INVALID_VERSION 30
-#define SNMP_AUTHAPI_INVALID_MSG_TYPE 31
-#define SNMP_AUTHAPI_TRIV_AUTH_FAILED 32
-
-#ifndef RC_INVOKED
-
-typedef INT SNMPAPI;
-typedef LONG AsnInteger32;
-typedef ULONG AsnUnsigned32;
-typedef ULARGE_INTEGER AsnCounter64;
-typedef AsnUnsigned32 AsnCounter32;
-typedef AsnUnsigned32 AsnGauge32;
-typedef AsnUnsigned32 AsnTimeticks;
-typedef struct {
- BYTE *stream;
- UINT length;
- BOOL dynamic;
-} AsnOctetString, AsnBits, AsnSequence, AsnImplicitSequence, AsnIPAddress, AsnNetworkAddress, AsnDisplayString, AsnOpaque;
-typedef struct {
- UINT idLength;
- UINT *ids;
-} AsnObjectIdentifier, AsnObjectName;
-typedef struct {
- BYTE asnType;
- union {
- AsnInteger32 number;
- AsnUnsigned32 unsigned32;
- AsnCounter64 counter64;
- AsnOctetString string;
- AsnBits bits;
- AsnObjectIdentifier object;
- AsnSequence sequence;
- AsnIPAddress address;
- AsnCounter32 counter;
- AsnGauge32 gauge;
- AsnTimeticks ticks;
- AsnOpaque arbitrary;
- } asnValue;
-} AsnAny, AsnObjectSyntax;
-typedef struct {
- AsnObjectName name;
- AsnObjectSyntax value;
-} SnmpVarBind;
-typedef struct {
- SnmpVarBind *list;
- UINT len;
-} SnmpVarBindList;
-
-VOID WINSNMPAPI SnmpExtensionClose(void);
-BOOL WINSNMPAPI SnmpExtensionInit(DWORD,HANDLE*,AsnObjectIdentifier*);
-BOOL WINSNMPAPI SnmpExtensionInitEx(AsnObjectIdentifier*);
-BOOL WINSNMPAPI SnmpExtensionMonitor(LPVOID);
-BOOL WINSNMPAPI SnmpExtensionQuery(BYTE,SnmpVarBindList*,AsnInteger32*,AsnInteger32*);
-BOOL WINSNMPAPI SnmpExtensionQueryEx(DWORD,DWORD,SnmpVarBindList*,AsnOctetString*,AsnInteger32*,AsnInteger32*);
-BOOL WINSNMPAPI SnmpExtensionTrap(AsnObjectIdentifier*,AsnInteger32*,AsnInteger32*,AsnTimeticks*,SnmpVarBindList*);
-DWORD WINSNMPAPI SnmpSvcGetUptime(void);
-VOID WINSNMPAPI SnmpSvcSetLogLevel(INT);
-VOID WINSNMPAPI SnmpSvcSetLogType(INT);
-SNMPAPI WINSNMPAPI SnmpUtilAsnAnyCpy(AsnAny*,AsnAny*);
-VOID WINSNMPAPI SnmpUtilAsnAnyFree(AsnAny*);
-VOID WINSNMPAPI SnmpUtilDbgPrint(INT,LPSTR,...);
-LPSTR WINSNMPAPI SnmpUtilIdsToA(UINT*,UINT);
-LPVOID WINSNMPAPI SnmpUtilMemAlloc(UINT);
-VOID WINSNMPAPI SnmpUtilMemFree(LPVOID);
-LPVOID WINSNMPAPI SnmpUtilMemReAlloc(LPVOID,UINT);
-SNMPAPI WINSNMPAPI SnmpUtilOctetsCmp(AsnOctetString*,AsnOctetString*);
-SNMPAPI WINSNMPAPI SnmpUtilOctetsCpy(AsnOctetString*,AsnOctetString*);
-VOID WINSNMPAPI SnmpUtilOctetsFree(AsnOctetString*);
-SNMPAPI WINSNMPAPI SnmpUtilOctetsNCmp(AsnOctetString*,AsnOctetString*,UINT);
-SNMPAPI WINSNMPAPI SnmpUtilOidAppend(AsnObjectIdentifier*,AsnObjectIdentifier*);
-SNMPAPI WINSNMPAPI SnmpUtilOidCmp(AsnObjectIdentifier*,AsnObjectIdentifier*);
-SNMPAPI WINSNMPAPI SnmpUtilOidCpy(AsnObjectIdentifier*,AsnObjectIdentifier*);
-VOID WINSNMPAPI SnmpUtilOidFree(AsnObjectIdentifier*);
-SNMPAPI WINSNMPAPI SnmpUtilOidNCmp(AsnObjectIdentifier*,AsnObjectIdentifier*,UINT);
-LPSTR WINSNMPAPI SnmpUtilOidToA(AsnObjectIdentifier*);
-VOID WINSNMPAPI SnmpUtilPrintAsnAny(AsnAny*);
-VOID WINSNMPAPI SnmpUtilPrintOid(AsnObjectIdentifier*);
-SNMPAPI WINSNMPAPI SnmpUtilVarBindCpy( SnmpVarBind*,SnmpVarBind*);
-SNMPAPI WINSNMPAPI SnmpUtilVarBindListCpy(SnmpVarBindList*,SnmpVarBindList*);
-VOID WINSNMPAPI SnmpUtilVarBindFree(SnmpVarBind*);
-VOID WINSNMPAPI SnmpUtilVarBindListFree(SnmpVarBindList*);
-
-#ifndef SNMPSTRICT
-#define SNMP_malloc SnmpUtilMemAlloc
-#define SNMP_free SnmpUtilMemFree
-#define SNMP_realloc SnmpUtilMemReAlloc
-#define SNMP_DBG_malloc SnmpUtilMemAlloc
-#define SNMP_DBG_free SnmpUtilMemFree
-#define SNMP_DBG_realloc SnmpUtilMemReAlloc
-#define SNMP_oidappend SnmpUtilOidAppend
-#define SNMP_oidcmp SnmpUtilOidCmp
-#define SNMP_oidcpy SnmpUtilOidCpy
-#define SNMP_oidfree SnmpUtilOidFree
-#define SNMP_oidncmp SnmpUtilOidNCmp
-#define SNMP_printany SnmpUtilPrintAsnAny
-#define SNMP_CopyVarBind SnmpUtilVarBindCpy
-#define SNMP_CopyVarBindList SnmpUtilVarBindListCpy
-#define SNMP_FreeVarBind SnmpUtilVarBindFree
-#define SNMP_FreeVarBindList SnmpUtilVarBindListFree
-#define ASN_RFC1155_IPADDRESS ASN_IPADDRESS
-#define ASN_RFC1155_COUNTER ASN_COUNTER32
-#define ASN_RFC1155_GAUGE ASN_GAUGE32
-#define ASN_RFC1155_TIMETICKS ASN_TIMETICKS
-#define ASN_RFC1155_OPAQUE ASN_OPAQUE
-#define ASN_RFC1213_DISPSTRING ASN_OCTETSTRING
-#define ASN_RFC1157_GETREQUEST SNMP_PDU_GET
-#define ASN_RFC1157_GETNEXTREQUEST SNMP_PDU_GETNEXT
-#define ASN_RFC1157_GETRESPONSE SNMP_PDU_RESPONSE
-#define ASN_RFC1157_SETREQUEST SNMP_PDU_SET
-#define ASN_RFC1157_TRAP SNMP_PDU_V1TRAP
-#define ASN_CONTEXTSPECIFIC ASN_CONTEXT
-#define ASN_PRIMATIVE ASN_PRIMITIVE
-#define RFC1157VarBindList SnmpVarBindList
-#define RFC1157VarBind SnmpVarBind
-#define AsnInteger AsnInteger32
-#define AsnCounter AsnCounter32
-#define AsnGauge AsnGauge32
-#endif /* SNMPSTRICT */
-
-#endif /* RC_INVOKED */
-
-#ifdef __cplusplus
-}
-#endif
-#include <poppack.h>
-#endif
diff --git a/winsup/w32api/include/sql.h b/winsup/w32api/include/sql.h
deleted file mode 100644
index 2f0391b75..000000000
--- a/winsup/w32api/include/sql.h
+++ /dev/null
@@ -1,408 +0,0 @@
-#ifndef _SQL_H
-#define _SQL_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-#ifndef ODBCVER
-#define ODBCVER 0x0351
-#endif
-#include <sqltypes.h>
-#define SQL_ACCESSIBLE_PROCEDURES 20
-#define SQL_ACCESSIBLE_TABLES 19
-#define SQL_ALL_TYPES 0
-#define SQL_ALTER_TABLE 86
-#define SQL_API_SQLALLOCCONNECT 1
-#define SQL_API_SQLALLOCENV 2
-#define SQL_API_SQLALLOCSTMT 3
-#define SQL_API_SQLBINDCOL 4
-#define SQL_API_SQLCANCEL 5
-#define SQL_API_SQLCOLUMNS 40
-#define SQL_API_SQLCONNECT 7
-#define SQL_API_SQLDATASOURCES 57
-#define SQL_API_SQLDESCRIBECOL 8
-#define SQL_API_SQLDISCONNECT 9
-#define SQL_API_SQLERROR 10
-#define SQL_API_SQLEXECDIRECT 11
-#define SQL_API_SQLEXECUTE 12
-#define SQL_API_SQLFETCH 13
-#define SQL_API_SQLFREECONNECT 14
-#define SQL_API_SQLFREEENV 15
-#define SQL_API_SQLFREESTMT 16
-#define SQL_API_SQLGETCONNECTOPTION 42
-#define SQL_API_SQLGETCURSORNAME 17
-#define SQL_API_SQLGETDATA 43
-#define SQL_API_SQLGETFUNCTIONS 44
-#define SQL_API_SQLGETINFO 45
-#define SQL_API_SQLGETSTMTOPTION 46
-#define SQL_API_SQLGETTYPEINFO 47
-#define SQL_API_SQLNUMRESULTCOLS 18
-#define SQL_API_SQLPARAMDATA 48
-#define SQL_API_SQLPREPARE 19
-#define SQL_API_SQLPUTDATA 49
-#define SQL_API_SQLROWCOUNT 20
-#define SQL_API_SQLSETCONNECTOPTION 50
-#define SQL_API_SQLSETCURSORNAME 21
-#define SQL_API_SQLSETPARAM 22
-#define SQL_API_SQLSETSTMTOPTION 51
-#define SQL_API_SQLSPECIALCOLUMNS 52
-#define SQL_API_SQLSTATISTICS 53
-#define SQL_API_SQLTABLES 54
-#define SQL_API_SQLTRANSACT 23
-#define SQL_CB_CLOSE 1
-#define SQL_CB_DELETE 0
-#define SQL_CB_PRESERVE 2
-#define SQL_CHAR 1
-#define SQL_CLOSE 0
-#define SQL_COMMIT 0
-#define SQL_CURSOR_COMMIT_BEHAVIOR 23
-#define SQL_DATA_AT_EXEC (-2)
-#define SQL_DATA_SOURCE_NAME 2
-#define SQL_DATA_SOURCE_READ_ONLY 25
-#define SQL_DBMS_NAME 17
-#define SQL_DBMS_VER 18
-#define SQL_DECIMAL 3
-#define SQL_DEFAULT_TXN_ISOLATION 26
-#define SQL_DOUBLE 8
-#define SQL_DROP 1
-#define SQL_ERROR (-1)
-#define SQL_FD_FETCH_ABSOLUTE 16
-#define SQL_FD_FETCH_FIRST 2
-#define SQL_FD_FETCH_LAST 4
-#define SQL_FD_FETCH_NEXT 1
-#define SQL_FD_FETCH_PRIOR 8
-#define SQL_FD_FETCH_RELATIVE 32
-#define SQL_FETCH_ABSOLUTE 5
-#define SQL_FETCH_DIRECTION 8
-#define SQL_FETCH_FIRST 2
-#define SQL_FETCH_LAST 3
-#define SQL_FETCH_NEXT 1
-#define SQL_FETCH_PRIOR 4
-#define SQL_FETCH_RELATIVE 6
-#define SQL_FLOAT 6
-#define SQL_GD_ANY_COLUMN 1
-#define SQL_GD_ANY_ORDER 2
-#define SQL_GETDATA_EXTENSIONS 81
-#define SQL_IC_LOWER 2
-#define SQL_IC_MIXED 4
-#define SQL_IC_SENSITIVE 3
-#define SQL_IC_UPPER 1
-#define SQL_IDENTIFIER_CASE 28
-#define SQL_IDENTIFIER_QUOTE_CHAR 29
-#define SQL_INDEX_ALL 1
-#define SQL_INDEX_CLUSTERED 1
-#define SQL_INDEX_HASHED 2
-#define SQL_INDEX_OTHER 3
-#define SQL_INDEX_UNIQUE 0
-#define SQL_INTEGER 4
-#define SQL_INTEGRITY 73
-#define SQL_INVALID_HANDLE (-2)
-#define SQL_MAX_CATALOG_NAME_LEN 34
-#define SQL_MAX_COLUMN_NAME_LEN 30
-#define SQL_MAX_COLUMNS_IN_GROUP_BY 97
-#define SQL_MAX_COLUMNS_IN_INDEX 98
-#define SQL_MAX_COLUMNS_IN_ORDER_BY 99
-#define SQL_MAX_COLUMNS_IN_SELECT 100
-#define SQL_MAX_COLUMNS_IN_TABLE 101
-#define SQL_MAX_CURSOR_NAME_LEN 31
-#define SQL_MAX_INDEX_SIZE 102
-#define SQL_MAX_MESSAGE_LENGTH 512
-#define SQL_MAX_ROW_SIZE 104
-#define SQL_MAX_SCHEMA_NAME_LEN 32
-#define SQL_MAX_STATEMENT_LEN 105
-#define SQL_MAX_TABLE_NAME_LEN 35
-#define SQL_MAX_TABLES_IN_SELECT 106
-#define SQL_MAX_USER_NAME_LEN 107
-#define SQL_MAXIMUM_CATALOG_NAME_LENGTH SQL_MAX_CATALOG_NAME_LEN
-#define SQL_MAXIMUM_COLUMN_NAME_LENGTH SQL_MAX_COLUMN_NAME_LEN
-#define SQL_MAXIMUM_COLUMNS_IN_GROUP_BY SQL_MAX_COLUMNS_IN_GROUP_BY
-#define SQL_MAXIMUM_COLUMNS_IN_INDEX SQL_MAX_COLUMNS_IN_INDEX
-#define SQL_MAXIMUM_COLUMNS_IN_ORDER_BY SQL_MAX_COLUMNS_IN_ORDER_BY
-#define SQL_MAXIMUM_COLUMNS_IN_SELECT SQL_MAX_COLUMNS_IN_SELECT
-#define SQL_MAXIMUM_CURSOR_NAME_LENGTH SQL_MAX_CURSOR_NAME_LEN
-#define SQL_MAXIMUM_INDEX_SIZE SQL_MAX_INDEX_SIZE
-#define SQL_MAXIMUM_ROW_SIZE SQL_MAX_ROW_SIZE
-#define SQL_MAXIMUM_SCHEMA_NAME_LENGTH SQL_MAX_SCHEMA_NAME_LEN
-#define SQL_MAXIMUM_STATEMENT_LENGTH SQL_MAX_STATEMENT_LEN
-#define SQL_MAXIMUM_TABLES_IN_SELECT SQL_MAX_TABLES_IN_SELECT
-#define SQL_MAXIMUM_USER_NAME_LENGTH SQL_MAX_USER_NAME_LEN
-#define SQL_NC_HIGH 0
-#define SQL_NC_LOW 1
-#define SQL_NEED_DATA 99
-#define SQL_NO_NULLS 0
-#define SQL_NTS (-3)
-#define SQL_NTSL (-3L)
-#define SQL_NULL_COLLATION 85
-#define SQL_NULL_DATA (-1)
-#define SQL_NULL_HDBC 0
-#define SQL_NULL_HENV 0
-#define SQL_NULL_HSTMT 0
-#define SQL_NULLABLE 1
-#define SQL_NULLABLE_UNKNOWN 2
-#define SQL_NUMERIC 2
-#define SQL_ORDER_BY_COLUMNS_IN_SELECT 90
-#define SQL_PC_PSEUDO 2
-#define SQL_PC_UNKNOWN 0
-#define SQL_REAL 7
-#define SQL_RESET_PARAMS 3
-#define SQL_ROLLBACK 1
-#define SQL_SCCO_LOCK 2
-#define SQL_SCCO_OPT_ROWVER 4
-#define SQL_SCCO_OPT_VALUES 8
-#define SQL_SCCO_READ_ONLY 1
-#define SQL_SCOPE_CURROW 0
-#define SQL_SCOPE_SESSION 2
-#define SQL_SCOPE_TRANSACTION 1
-#define SQL_SCROLL_CONCURRENCY 43
-#define SQL_SEARCH_PATTERN_ESCAPE 14
-#define SQL_SERVER_NAME 13
-#define SQL_SMALLINT 5
-#define SQL_SPECIAL_CHARACTERS 94
-#define SQL_STILL_EXECUTING 2
-#define SQL_SUCCEEDED(rc) (((rc)&(~1))==0)
-#define SQL_SUCCESS 0
-#define SQL_SUCCESS_WITH_INFO 1
-#define SQL_TC_ALL 2
-#define SQL_TC_DDL_COMMIT 3
-#define SQL_TC_DDL_IGNORE 4
-#define SQL_TC_DML 1
-#define SQL_TC_NONE 0
-#define SQL_TRANSACTION_CAPABLE SQL_TXN_CAPABLE
-#define SQL_TRANSACTION_ISOLATION_OPTION SQL_TXN_ISOLATION_OPTION
-#define SQL_TRANSACTION_READ_COMMITTED SQL_TXN_READ_COMMITTED
-#define SQL_TRANSACTION_READ_UNCOMMITTED SQL_TXN_READ_UNCOMMITTED
-#define SQL_TRANSACTION_REPEATABLE_READ SQL_TXN_REPEATABLE_READ
-#define SQL_TRANSACTION_SERIALIZABLE SQL_TXN_SERIALIZABLE
-#define SQL_TXN_CAPABLE 46
-#define SQL_TXN_ISOLATION_OPTION 72
-#define SQL_TXN_READ_COMMITTED 2
-#define SQL_TXN_READ_UNCOMMITTED 1
-#define SQL_TXN_REPEATABLE_READ 4
-#define SQL_TXN_SERIALIZABLE 8
-#define SQL_UNBIND 2
-#define SQL_UNKNOWN_TYPE 0
-#define SQL_USER_NAME 47
-#define SQL_VARCHAR 12
-#if (ODBCVER >= 0x0200)
-#define SQL_AT_ADD_COLUMN 1
-#define SQL_AT_DROP_COLUMN 2
-#endif /* ODBCVER >= 0x0200 */
-#if (ODBCVER >= 0x0201)
-#define SQL_OJ_LEFT 1
-#define SQL_OJ_RIGHT 2
-#define SQL_OJ_FULL 4
-#define SQL_OJ_NESTED 8
-#define SQL_OJ_NOT_ORDERED 16
-#define SQL_OJ_INNER 32
-#define SQL_OJ_ALL_COMPARISON_OPS 64
-#endif /* ODBCVER >= 0x0201 */
-#if (ODBCVER >= 0x0300)
-#define SQL_AM_CONNECTION 1
-#define SQL_AM_NONE 0
-#define SQL_AM_STATEMENT 2
-#define SQL_API_SQLALLOCHANDLE 1001
-#define SQL_API_SQLBINDPARAM 1002
-#define SQL_API_SQLCLOSECURSOR 1003
-#define SQL_API_SQLCOLATTRIBUTE 6
-#define SQL_API_SQLCOPYDESC 1004
-#define SQL_API_SQLENDTRAN 1005
-#define SQL_API_SQLFETCHSCROLL 1021
-#define SQL_API_SQLFREEHANDLE 1006
-#define SQL_API_SQLGETCONNECTATTR 1007
-#define SQL_API_SQLGETDESCFIELD 1008
-#define SQL_API_SQLGETDESCREC 1009
-#define SQL_API_SQLGETDIAGFIELD 1010
-#define SQL_API_SQLGETDIAGREC 1011
-#define SQL_API_SQLGETENVATTR 1012
-#define SQL_API_SQLGETSTMTATTR 1014
-#define SQL_API_SQLSETCONNECTATTR 1016
-#define SQL_API_SQLSETDESCFIELD 1017
-#define SQL_API_SQLSETDESCREC 1018
-#define SQL_API_SQLSETENVATTR 1019
-#define SQL_API_SQLSETSTMTATTR 1020
-#define SQL_ARD_TYPE (-99)
-#define SQL_AT_ADD_CONSTRAINT 8
-#define SQL_ATTR_APP_PARAM_DESC 10011
-#define SQL_ATTR_APP_ROW_DESC 10010
-#define SQL_ATTR_AUTO_IPD 10001
-#define SQL_ATTR_CURSOR_SCROLLABLE (-1)
-#define SQL_ATTR_CURSOR_SENSITIVITY (-2)
-#define SQL_ATTR_IMP_PARAM_DESC 10013
-#define SQL_ATTR_IMP_ROW_DESC 10012
-#define SQL_ATTR_METADATA_ID 10014
-#define SQL_ATTR_OUTPUT_NTS 10001
-#define SQL_CATALOG_NAME 10003
-#define SQL_CODE_DATE 1
-#define SQL_CODE_TIME 2
-#define SQL_CODE_TIMESTAMP 3
-#define SQL_COLLATION_SEQ 10004
-#define SQL_CURSOR_SENSITIVITY 10001
-#define SQL_DATE_LEN 10
-#define SQL_DATETIME 9
-#define SQL_DEFAULT 99
-#define SQL_DESC_ALLOC_AUTO 1
-#define SQL_DESC_ALLOC_TYPE 1099
-#define SQL_DESC_ALLOC_USER 2
-#define SQL_DESC_COUNT 1001
-#define SQL_DESC_DATA_PTR 1010
-#define SQL_DESC_DATETIME_INTERVAL_CODE 1007
-#define SQL_DESC_INDICATOR_PTR 1009
-#define SQL_DESC_LENGTH 1003
-#define SQL_DESC_NAME 1011
-#define SQL_DESC_NULLABLE 1008
-#define SQL_DESC_OCTET_LENGTH 1013
-#define SQL_DESC_OCTET_LENGTH_PTR 1004
-#define SQL_DESC_PRECISION 1005
-#define SQL_DESC_SCALE 1006
-#define SQL_DESC_TYPE 1002
-#define SQL_DESC_UNNAMED 1012
-#define SQL_DESCRIBE_PARAMETER 10002
-#define SQL_DIAG_ALTER_DOMAIN 3
-#define SQL_DIAG_ALTER_TABLE 4
-#define SQL_DIAG_CALL 7
-#define SQL_DIAG_CLASS_ORIGIN 8
-#define SQL_DIAG_CONNECTION_NAME 10
-#define SQL_DIAG_CREATE_ASSERTION 6
-#define SQL_DIAG_CREATE_CHARACTER_SET 8
-#define SQL_DIAG_CREATE_COLLATION 10
-#define SQL_DIAG_CREATE_DOMAIN 23
-#define SQL_DIAG_CREATE_INDEX (-1)
-#define SQL_DIAG_CREATE_SCHEMA 64
-#define SQL_DIAG_CREATE_TABLE 77
-#define SQL_DIAG_CREATE_TRANSLATION 79
-#define SQL_DIAG_CREATE_VIEW 84
-#define SQL_DIAG_DELETE_WHERE 19
-#define SQL_DIAG_DROP_ASSERTION 24
-#define SQL_DIAG_DROP_CHARACTER_SET 25
-#define SQL_DIAG_DROP_COLLATION 26
-#define SQL_DIAG_DROP_DOMAIN 27
-#define SQL_DIAG_DROP_INDEX (-2)
-#define SQL_DIAG_DROP_SCHEMA 31
-#define SQL_DIAG_DROP_TABLE 32
-#define SQL_DIAG_DROP_TRANSLATION 33
-#define SQL_DIAG_DROP_VIEW 36
-#define SQL_DIAG_DYNAMIC_DELETE_CURSOR 38
-#define SQL_DIAG_DYNAMIC_FUNCTION 7
-#define SQL_DIAG_DYNAMIC_FUNCTION_CODE 12
-#define SQL_DIAG_DYNAMIC_UPDATE_CURSOR 81
-#define SQL_DIAG_GRANT 48
-#define SQL_DIAG_INSERT 50
-#define SQL_DIAG_MESSAGE_TEXT 6
-#define SQL_DIAG_NATIVE 5
-#define SQL_DIAG_NUMBER 2
-#define SQL_DIAG_RETURNCODE 1
-#define SQL_DIAG_REVOKE 59
-#define SQL_DIAG_ROW_COUNT 3
-#define SQL_DIAG_SELECT_CURSOR 85
-#define SQL_DIAG_SERVER_NAME 11
-#define SQL_DIAG_SQLSTATE 4
-#define SQL_DIAG_SUBCLASS_ORIGIN 9
-#define SQL_DIAG_UNKNOWN_STATEMENT 0
-#define SQL_DIAG_UPDATE_WHERE 82
-#define SQL_FALSE 0
-#define SQL_HANDLE_DBC 2
-#define SQL_HANDLE_DESC 4
-#define SQL_HANDLE_ENV 1
-#define SQL_HANDLE_STMT 3
-#define SQL_INSENSITIVE 1
-#define SQL_MAX_CONCURRENT_ACTIVITIES 1
-#define SQL_MAX_DRIVER_CONNECTIONS 0
-#define SQL_MAX_IDENTIFIER_LEN 10005
-#define SQL_MAXIMUM_CONCURRENT_ACTIVITIES SQL_MAX_CONCURRENT_ACTIVITIES
-#define SQL_MAXIMUM_DRIVER_CONNECTIONS SQL_MAX_DRIVER_CONNECTIONS
-#define SQL_MAXIMUM_IDENTIFIER_LENGTH SQL_MAX_IDENTIFIER_LEN
-#define SQL_NAMED 0
-#define SQL_NO_DATA 100
-#define SQL_NONSCROLLABLE 0
-#define SQL_NULL_HANDLE 0L
-#define SQL_NULL_HDESC 0
-#define SQL_OJ_CAPABILITIES 115
-#define SQL_OUTER_JOIN_CAPABILITIES SQL_OJ_CAPABILITIES
-#define SQL_PC_NON_PSEUDO 1
-#define SQL_PRED_BASIC 2
-#define SQL_PRED_CHAR 1
-#define SQL_PRED_NONE 0
-#define SQL_ROW_IDENTIFIER 1
-#define SQL_SCROLLABLE 1
-#define SQL_SENSITIVE 2
-#define SQL_TIME_LEN 8
-#define SQL_TIMESTAMP_LEN 19
-#define SQL_TRUE 1
-#define SQL_TYPE_DATE 91
-#define SQL_TYPE_TIME 92
-#define SQL_TYPE_TIMESTAMP 93
-#define SQL_UNNAMED 1
-#define SQL_UNSPECIFIED 0
-#define SQL_XOPEN_CLI_YEAR 10000
-#endif /* ODBCVER >= 0x0300 */
-
-#ifndef RC_INVOKED
-SQLRETURN SQL_API SQLAllocConnect(SQLHENV,SQLHDBC*); /* deprecated */
-SQLRETURN SQL_API SQLAllocEnv(SQLHENV*); /* deprecated */
-SQLRETURN SQL_API SQLAllocStmt(SQLHDBC,SQLHSTMT*); /* deprecated */
-SQLRETURN SQL_API SQLBindCol(SQLHSTMT,SQLUSMALLINT,SQLSMALLINT,SQLPOINTER,SQLLEN,SQLLEN*);
-SQLRETURN SQL_API SQLCancel(SQLHSTMT);
-SQLRETURN SQL_API SQLConnect(SQLHDBC,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT);
-SQLRETURN SQL_API SQLDescribeCol(SQLHSTMT,SQLUSMALLINT,SQLCHAR*,SQLSMALLINT,SQLSMALLINT*,SQLSMALLINT*,SQLULEN*,SQLSMALLINT*,SQLSMALLINT*);
-SQLRETURN SQL_API SQLDisconnect(SQLHDBC);
-SQLRETURN SQL_API SQLError(SQLHENV,SQLHDBC,SQLHSTMT,SQLCHAR*,SQLINTEGER*,SQLCHAR*,SQLSMALLINT,SQLSMALLINT*); /* deprecated */
-SQLRETURN SQL_API SQLExecDirect(SQLHSTMT,SQLCHAR*,SQLINTEGER);
-SQLRETURN SQL_API SQLExecute(SQLHSTMT);
-SQLRETURN SQL_API SQLFetch(SQLHSTMT);
-SQLRETURN SQL_API SQLFreeConnect(SQLHDBC); /* deprecated */
-SQLRETURN SQL_API SQLFreeEnv(SQLHENV); /* deprecated */
-SQLRETURN SQL_API SQLFreeStmt(SQLHSTMT,SQLUSMALLINT);
-SQLRETURN SQL_API SQLGetCursorName(SQLHSTMT,SQLCHAR*,SQLSMALLINT,SQLSMALLINT*);
-SQLRETURN SQL_API SQLNumResultCols(SQLHSTMT,SQLSMALLINT*);
-SQLRETURN SQL_API SQLPrepare(SQLHSTMT,SQLCHAR*,SQLINTEGER);
-SQLRETURN SQL_API SQLRowCount(SQLHSTMT,SQLLEN*);
-SQLRETURN SQL_API SQLSetCursorName(SQLHSTMT,SQLCHAR*,SQLSMALLINT);
-SQLRETURN SQL_API SQLTransact(SQLHENV,SQLHDBC,SQLUSMALLINT);
-SQLRETURN SQL_API SQLSetParam(SQLHSTMT,SQLUSMALLINT,SQLSMALLINT,SQLSMALLINT,SQLULEN,SQLSMALLINT,SQLPOINTER,SQLLEN*); /* deprecated */
-SQLRETURN SQL_API SQLColumns(SQLHSTMT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT);
-SQLRETURN SQL_API SQLGetConnectOption(SQLHDBC,SQLUSMALLINT,SQLPOINTER); /* deprecated */
-SQLRETURN SQL_API SQLGetData(SQLHSTMT,SQLUSMALLINT,SQLSMALLINT,SQLPOINTER,SQLLEN,SQLLEN*);
-SQLRETURN SQL_API SQLGetFunctions(SQLHDBC,SQLUSMALLINT,SQLUSMALLINT*);
-SQLRETURN SQL_API SQLGetInfo(SQLHDBC,SQLUSMALLINT,SQLPOINTER,SQLSMALLINT,SQLSMALLINT*);
-SQLRETURN SQL_API SQLGetStmtOption(SQLHSTMT,SQLUSMALLINT,SQLPOINTER); /* deprecated */
-SQLRETURN SQL_API SQLGetTypeInfo(SQLHSTMT,SQLSMALLINT);
-SQLRETURN SQL_API SQLParamData(SQLHSTMT,SQLPOINTER*);
-SQLRETURN SQL_API SQLPutData(SQLHSTMT,SQLPOINTER,SQLLEN);
-SQLRETURN SQL_API SQLSetConnectOption(SQLHDBC,SQLUSMALLINT,SQLULEN); /* deprecated */
-SQLRETURN SQL_API SQLSetStmtOption(SQLHSTMT,SQLUSMALLINT,SQLROWCOUNT); /* deprecated */
-SQLRETURN SQL_API SQLSpecialColumns(SQLHSTMT,SQLUSMALLINT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT,SQLUSMALLINT,SQLUSMALLINT);
-SQLRETURN SQL_API SQLStatistics(SQLHSTMT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT,SQLUSMALLINT,SQLUSMALLINT);
-SQLRETURN SQL_API SQLTables(SQLHSTMT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT);
-SQLRETURN SQL_API SQLDataSources(SQLHENV,SQLUSMALLINT,SQLCHAR*,SQLSMALLINT,SQLSMALLINT*,SQLCHAR*,SQLSMALLINT,SQLSMALLINT*);
-#if (ODBCVER >= 0x0300)
-SQLRETURN SQL_API SQLAllocHandle(SQLSMALLINT,SQLHANDLE,SQLHANDLE*);
-SQLRETURN SQL_API SQLBindParam(SQLHSTMT,SQLUSMALLINT,SQLSMALLINT,SQLSMALLINT,SQLULEN,SQLSMALLINT,SQLPOINTER,SQLLEN*);
-SQLRETURN SQL_API SQLCloseCursor(SQLHSTMT);
-SQLRETURN SQL_API SQLColAttribute(SQLHSTMT,SQLUSMALLINT,SQLUSMALLINT,SQLPOINTER,SQLSMALLINT,SQLSMALLINT*,SQLPOINTER);
-SQLRETURN SQL_API SQLCopyDesc(SQLHDESC,SQLHDESC);
-SQLRETURN SQL_API SQLEndTran(SQLSMALLINT,SQLHANDLE,SQLSMALLINT);
-SQLRETURN SQL_API SQLFetchScroll(SQLHSTMT,SQLSMALLINT,SQLROWOFFSET);
-SQLRETURN SQL_API SQLFreeHandle(SQLSMALLINT,SQLHANDLE);
-SQLRETURN SQL_API SQLGetConnectAttr(SQLHDBC,SQLINTEGER,SQLPOINTER,SQLINTEGER,SQLINTEGER*);
-SQLRETURN SQL_API SQLGetDescField(SQLHDESC,SQLSMALLINT,SQLSMALLINT,SQLPOINTER,SQLINTEGER,SQLINTEGER*);
-SQLRETURN SQL_API SQLGetDescRec(SQLHDESC,SQLSMALLINT,SQLCHAR*,SQLSMALLINT,SQLSMALLINT*,
- SQLSMALLINT*,SQLSMALLINT*,SQLLEN*,SQLSMALLINT*,SQLSMALLINT*,SQLSMALLINT*);
-SQLRETURN SQL_API SQLGetDiagField(SQLSMALLINT,SQLHANDLE,SQLSMALLINT,SQLSMALLINT,SQLPOINTER,SQLSMALLINT,SQLSMALLINT*);
-SQLRETURN SQL_API SQLGetDiagRec(SQLSMALLINT,SQLHANDLE,SQLSMALLINT,SQLCHAR*,SQLINTEGER*,SQLCHAR*,SQLSMALLINT,SQLSMALLINT*);
-SQLRETURN SQL_API SQLGetEnvAttr(SQLHENV,SQLINTEGER,SQLPOINTER,SQLINTEGER,SQLINTEGER*);
-SQLRETURN SQL_API SQLGetStmtAttr(SQLHSTMT,SQLINTEGER,SQLPOINTER,SQLINTEGER,SQLINTEGER*);
-SQLRETURN SQL_API SQLSetConnectAttr(SQLHDBC,SQLINTEGER,SQLPOINTER,SQLINTEGER);
-SQLRETURN SQL_API SQLSetDescField(SQLHDESC,SQLSMALLINT,SQLSMALLINT,SQLPOINTER,SQLINTEGER);
-SQLRETURN SQL_API SQLSetDescRec(SQLHDESC,SQLSMALLINT,SQLSMALLINT,SQLSMALLINT,SQLLEN,SQLSMALLINT,
- SQLSMALLINT,SQLPOINTER,SQLLEN*,SQLLEN*);
-SQLRETURN SQL_API SQLSetEnvAttr(SQLHENV,SQLINTEGER,SQLPOINTER,SQLINTEGER);
-SQLRETURN SQL_API SQLSetStmtAttr(SQLHSTMT,SQLINTEGER,SQLPOINTER,SQLINTEGER);
-#endif /* (ODBCVER >= 0x0300) */
-#endif /* ndef RC_INVOKED */
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/winsup/w32api/include/sqlext.h b/winsup/w32api/include/sqlext.h
deleted file mode 100644
index 9702b1bc3..000000000
--- a/winsup/w32api/include/sqlext.h
+++ /dev/null
@@ -1,1218 +0,0 @@
-#ifndef _SQLEXT_H
-#define _SQLEXT_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#include <sql.h>
-#ifdef __cplusplus
-extern "C" {
-#endif
-#define SQL_SPEC_MAJOR 3
-#define SQL_SPEC_MINOR 51
-#define SQL_SPEC_STRING "03.51"
-#define SQL_ACCESS_MODE 101
-#define SQL_ACTIVE_CONNECTIONS 0
-#define SQL_ACTIVE_STATEMENTS 1
-#define SQL_ADD 4
-#define SQL_ALL_EXCEPT_LIKE 2
-#define SQL_API_ALL_FUNCTIONS 0
-#define SQL_API_LOADBYORDINAL 199
-#define SQL_API_SQLBINDPARAMETER 72
-#define SQL_API_SQLBROWSECONNECT 55
-#define SQL_API_SQLCOLATTRIBUTES 6
-#define SQL_API_SQLCOLUMNPRIVILEGES 56
-#define SQL_API_SQLDESCRIBEPARAM 58
-#define SQL_API_SQLDRIVERCONNECT 41
-#define SQL_API_SQLDRIVERS 71
-#define SQL_API_SQLEXTENDEDFETCH 59
-#define SQL_API_SQLFOREIGNKEYS 60
-#define SQL_API_SQLMORERESULTS 61
-#define SQL_API_SQLNATIVESQL 62
-#define SQL_API_SQLNUMPARAMS 63
-#define SQL_API_SQLPARAMOPTIONS 64
-#define SQL_API_SQLPRIMARYKEYS 65
-#define SQL_API_SQLPROCEDURECOLUMNS 66
-#define SQL_API_SQLPROCEDURES 67
-#define SQL_API_SQLSETPOS 68
-#define SQL_API_SQLSETSCROLLOPTIONS 69
-#define SQL_API_SQLTABLEPRIVILEGES 70
-#define SQL_ASYNC_ENABLE 4
-#define SQL_ASYNC_ENABLE_DEFAULT SQL_ASYNC_ENABLE_OFF
-#define SQL_ASYNC_ENABLE_OFF 0UL
-#define SQL_ASYNC_ENABLE_ON 1UL
-#define SQL_ATTR_CONNECTION_DEAD 1209
-#define SQL_ATTR_READONLY 0
-#define SQL_ATTR_READWRITE_UNKNOWN 2
-#define SQL_ATTR_WRITE 1
-#define SQL_AUTOCOMMIT 102
-#define SQL_AUTOCOMMIT_DEFAULT SQL_AUTOCOMMIT_ON
-#define SQL_AUTOCOMMIT_OFF 0UL
-#define SQL_AUTOCOMMIT_ON 1UL
-#define SQL_BEST_ROWID 1
-#define SQL_BIGINT (-5)
-#define SQL_BINARY (-2)
-#define SQL_BIND_BY_COLUMN 0UL
-#define SQL_BIND_TYPE 5
-#define SQL_BIND_TYPE_DEFAULT SQL_BIND_BY_COLUMN
-#define SQL_BIT (-7)
-#define SQL_BOOKMARK_PERSISTENCE 82
-#define SQL_BP_CLOSE 1
-#define SQL_BP_DELETE 2
-#define SQL_BP_DROP 4
-#define SQL_BP_OTHER_HSTMT 32
-#define SQL_BP_SCROLL 64
-#define SQL_BP_TRANSACTION 8
-#define SQL_BP_UPDATE 16
-#define SQL_C_BINARY SQL_BINARY
-#define SQL_C_BIT SQL_BIT
-#define SQL_C_BOOKMARK SQL_C_ULONG
-#define SQL_C_CHAR SQL_CHAR
-#define SQL_C_DATE SQL_DATE
-#define SQL_C_DEFAULT 99
-#define SQL_C_DOUBLE SQL_DOUBLE
-#define SQL_C_FLOAT SQL_REAL
-#define SQL_C_LONG SQL_INTEGER
-#define SQL_C_SHORT SQL_SMALLINT
-#define SQL_C_SLONG (SQL_C_LONG+SQL_SIGNED_OFFSET)
-#define SQL_C_SSHORT (SQL_C_SHORT+SQL_SIGNED_OFFSET)
-#define SQL_C_STINYINT (SQL_TINYINT+SQL_SIGNED_OFFSET)
-#define SQL_C_TIME SQL_TIME
-#define SQL_C_TIMESTAMP SQL_TIMESTAMP
-#define SQL_C_TINYINT SQL_TINYINT
-#define SQL_C_ULONG (SQL_C_LONG+SQL_UNSIGNED_OFFSET)
-#define SQL_C_USHORT (SQL_C_SHORT+SQL_UNSIGNED_OFFSET)
-#define SQL_C_UTINYINT (SQL_TINYINT+SQL_UNSIGNED_OFFSET)
-#define SQL_CASCADE 0
-#define SQL_CB_NON_NULL 1
-#define SQL_CB_NULL 0
-#define SQL_CC_CLOSE SQL_CB_CLOSE /* deprecated */
-#define SQL_CC_DELETE SQL_CB_DELETE /* deprecated */
-#define SQL_CC_PRESERVE SQL_CB_PRESERVE /* deprecated */
-#define SQL_CD_FALSE 0L
-#define SQL_CD_TRUE 1L
-#define SQL_CN_ANY 2
-#define SQL_CN_DIFFERENT 1
-#define SQL_CN_NONE 0
-#define SQL_COLATT_OPT_MAX SQL_COLUMN_LABEL
-#define SQL_COLATT_OPT_MIN SQL_COLUMN_COUNT
-#define SQL_COLUMN_ALIAS 87
-#define SQL_COLUMN_AUTO_INCREMENT 11
-#define SQL_COLUMN_CASE_SENSITIVE 12
-#define SQL_COLUMN_COUNT 0
-#define SQL_COLUMN_DISPLAY_SIZE 6
-#define SQL_COLUMN_LABEL 18
-#define SQL_COLUMN_LENGTH 3
-#define SQL_COLUMN_MONEY 9
-#define SQL_COLUMN_NAME 1
-#define SQL_COLUMN_NULLABLE 7
-#define SQL_COLUMN_OWNER_NAME 16
-#define SQL_COLUMN_PRECISION 4
-#define SQL_COLUMN_QUALIFIER_NAME 17
-#define SQL_COLUMN_SCALE 5
-#define SQL_COLUMN_SEARCHABLE 13
-#define SQL_COLUMN_TABLE_NAME 15
-#define SQL_COLUMN_TYPE 2
-#define SQL_COLUMN_TYPE_NAME 14
-#define SQL_COLUMN_UNSIGNED 8
-#define SQL_COLUMN_UPDATABLE 10
-#define SQL_CONCAT_NULL_BEHAVIOR 22
-#define SQL_CONCUR_DEFAULT SQL_CONCUR_READ_ONLY
-#define SQL_CONCUR_LOCK 2
-#define SQL_CONCUR_READ_ONLY 1
-#define SQL_CONCUR_ROWVER 3
-#define SQL_CONCUR_TIMESTAMP SQL_CONCUR_ROWVER /* deprecated */
-#define SQL_CONCUR_VALUES 4
-#define SQL_CONCURRENCY 7
-#define SQL_CONVERT_BIGINT 53
-#define SQL_CONVERT_BINARY 54
-#define SQL_CONVERT_BIT 55
-#define SQL_CONVERT_CHAR 56
-#define SQL_CONVERT_DATE 57
-#define SQL_CONVERT_DECIMAL 58
-#define SQL_CONVERT_DOUBLE 59
-#define SQL_CONVERT_FLOAT 60
-#define SQL_CONVERT_FUNCTIONS 48
-#define SQL_CONVERT_INTEGER 61
-#define SQL_CONVERT_LONGVARBINARY 71
-#define SQL_CONVERT_LONGVARCHAR 62
-#define SQL_CONVERT_NUMERIC 63
-#define SQL_CONVERT_REAL 64
-#define SQL_CONVERT_SMALLINT 65
-#define SQL_CONVERT_TIME 66
-#define SQL_CONVERT_TIMESTAMP 67
-#define SQL_CONVERT_TINYINT 68
-#define SQL_CONVERT_VARBINARY 69
-#define SQL_CONVERT_VARCHAR 70
-#define SQL_CORRELATION_NAME 74
-#define SQL_CR_CLOSE SQL_CB_CLOSE /* deprecated */
-#define SQL_CR_DELETE SQL_CB_DELETE /* deprecated */
-#define SQL_CR_PRESERVE SQL_CB_PRESERVE /* deprecated */
-#define SQL_CUR_DEFAULT SQL_CUR_USE_DRIVER
-#define SQL_CUR_USE_DRIVER 2UL
-#define SQL_CUR_USE_IF_NEEDED 0UL
-#define SQL_CUR_USE_ODBC 1UL
-#define SQL_CURRENT_QUALIFIER 109
-#define SQL_CURSOR_DYNAMIC 2UL
-#define SQL_CURSOR_FORWARD_ONLY 0UL
-#define SQL_CURSOR_KEYSET_DRIVEN 1UL
-#define SQL_CURSOR_ROLLBACK_BEHAVIOR 24
-#define SQL_CURSOR_STATIC 3UL
-#define SQL_CURSOR_TYPE 6
-#define SQL_CURSOR_TYPE_DEFAULT SQL_CURSOR_FORWARD_ONLY
-#define SQL_CV_CASCADED 0x00000004L
-#define SQL_CV_CHECK_OPTION 0x00000002L
-#define SQL_CV_CREATE_VIEW 0x00000001L
-#define SQL_CV_LOCAL 0x00000008L
-#define SQL_CVT_BIGINT 0x00004000L
-#define SQL_CVT_BINARY 0x00000400L
-#define SQL_CVT_BIT 0x00001000L
-#define SQL_CVT_CHAR 0x00000001L
-#define SQL_CVT_DATE 0x00008000L
-#define SQL_CVT_DECIMAL 0x00000004L
-#define SQL_CVT_DOUBLE 0x00000080L
-#define SQL_CVT_FLOAT 0x00000020L
-#define SQL_CVT_INTEGER 0x00000008L
-#define SQL_CVT_LONGVARBINARY 0x00040000L
-#define SQL_CVT_LONGVARCHAR 0x00000200L
-#define SQL_CVT_NUMERIC 0x00000002L
-#define SQL_CVT_REAL 0x00000040L
-#define SQL_CVT_SMALLINT 0x00000010L
-#define SQL_CVT_TIME 0x00010000L
-#define SQL_CVT_TIMESTAMP 0x00020000L
-#define SQL_CVT_TINYINT 0x00002000L
-#define SQL_CVT_VARBINARY 0x00000800L
-#define SQL_CVT_VARCHAR 0x00000100L
-#define SQL_DATABASE_NAME 16 /* deprecated */
-#define SQL_DATE 9
-#define SQL_DEFAULT_PARAM (-5)
-#define SQL_DELETE 3
-#define SQL_DRIVER_COMPLETE 1
-#define SQL_DRIVER_COMPLETE_REQUIRED 3
-#define SQL_DRIVER_HDBC 3
-#define SQL_DRIVER_HENV 4
-#define SQL_DRIVER_HLIB 76
-#define SQL_DRIVER_HSTMT 5
-#define SQL_DRIVER_NAME 6
-#define SQL_DRIVER_NOPROMPT 0
-#define SQL_DRIVER_ODBC_VER 77
-#define SQL_DRIVER_PROMPT 2
-#define SQL_DRIVER_VER 7
-#define SQL_DTC_ENLIST_EXPENSIVE 1
-#define SQL_DTC_TRANSITION_COST 1750
-#define SQL_DTC_UNENLIST_EXPENSIVE 2
-#define SQL_ENSURE 1
-#define SQL_ENTIRE_ROWSET 0
-#define SQL_EXPRESSIONS_IN_ORDERBY 27
-#define SQL_FD_FETCH_BOOKMARK 128
-#define SQL_FD_FETCH_PREV SQL_FD_FETCH_PRIOR /* deprecated */
-#define SQL_FD_FETCH_RESUME 64
-#define SQL_FETCH_BOOKMARK 8
-#define SQL_FETCH_PREV SQL_FETCH_PRIOR /* deprecated */
-#define SQL_FETCH_RESUME 7 /* deprecated */
-#define SQL_FILE_CATALOG SQL_FILE_QUALIFIER
-#define SQL_FILE_NOT_SUPPORTED 0x0000
-#define SQL_FILE_QUALIFIER 0x0002
-#define SQL_FILE_TABLE 0x0001
-#define SQL_FILE_USAGE 84
-#define SQL_FN_CVT_CONVERT 0x00000001L
-#define SQL_FN_NUM_ABS 0x00000001L
-#define SQL_FN_NUM_ACOS 0x00000002L
-#define SQL_FN_NUM_ASIN 0x00000004L
-#define SQL_FN_NUM_ATAN 0x00000008L
-#define SQL_FN_NUM_ATAN2 0x00000010L
-#define SQL_FN_NUM_CEILING 0x00000020L
-#define SQL_FN_NUM_COS 0x00000040L
-#define SQL_FN_NUM_COT 0x00000080L
-#define SQL_FN_NUM_DEGREES 0x00040000L
-#define SQL_FN_NUM_EXP 0x00000100L
-#define SQL_FN_NUM_FLOOR 0x00000200L
-#define SQL_FN_NUM_LOG 0x00000400L
-#define SQL_FN_NUM_LOG10 0x00080000L
-#define SQL_FN_NUM_MOD 0x00000800L
-#define SQL_FN_NUM_PI 0x00010000L
-#define SQL_FN_NUM_POWER 0x00100000L
-#define SQL_FN_NUM_RADIANS 0x00200000L
-#define SQL_FN_NUM_RAND 0x00020000L
-#define SQL_FN_NUM_ROUND 0x00400000L
-#define SQL_FN_NUM_SIGN 0x00001000L
-#define SQL_FN_NUM_SIN 0x00002000L
-#define SQL_FN_NUM_SQRT 0x00004000L
-#define SQL_FN_NUM_TAN 0x00008000L
-#define SQL_FN_NUM_TRUNCATE 0x00800000L
-#define SQL_FN_STR_ASCII 0x00002000L
-#define SQL_FN_STR_CHAR 0x00004000L
-#define SQL_FN_STR_CONCAT 0x00000001L
-#define SQL_FN_STR_DIFFERENCE 0x00008000L
-#define SQL_FN_STR_INSERT 0x00000002L
-#define SQL_FN_STR_LCASE 0x00000040L
-#define SQL_FN_STR_LEFT 0x00000004L
-#define SQL_FN_STR_LENGTH 0x00000010L
-#define SQL_FN_STR_LOCATE 0x00000020L
-#define SQL_FN_STR_LOCATE_2 0x00010000L
-#define SQL_FN_STR_LTRIM 0x00000008L
-#define SQL_FN_STR_REPEAT 0x00000080L
-#define SQL_FN_STR_REPLACE 0x00000100L
-#define SQL_FN_STR_RIGHT 0x00000200L
-#define SQL_FN_STR_RTRIM 0x00000400L
-#define SQL_FN_STR_SOUNDEX 0x00020000L
-#define SQL_FN_STR_SPACE 0x00040000L
-#define SQL_FN_STR_SUBSTRING 0x00000800L
-#define SQL_FN_STR_UCASE 0x00001000L
-#define SQL_FN_SYS_DBNAME 0x00000002L
-#define SQL_FN_SYS_IFNULL 0x00000004L
-#define SQL_FN_SYS_USERNAME 0x00000001L
-#define SQL_FN_TD_CURDATE 0x00000002L
-#define SQL_FN_TD_CURTIME 0x00000200L
-#define SQL_FN_TD_DAYNAME 0x00008000L
-#define SQL_FN_TD_DAYOFMONTH 0x00000004L
-#define SQL_FN_TD_DAYOFWEEK 0x00000008L
-#define SQL_FN_TD_DAYOFYEAR 0x00000010L
-#define SQL_FN_TD_HOUR 0x00000400L
-#define SQL_FN_TD_MINUTE 0x00000800L
-#define SQL_FN_TD_MONTH 0x00000020L
-#define SQL_FN_TD_MONTHNAME 0x00010000L
-#define SQL_FN_TD_NOW 0x00000001L
-#define SQL_FN_TD_QUARTER 0x00000040L
-#define SQL_FN_TD_SECOND 0x00001000L
-#define SQL_FN_TD_TIMESTAMPADD 0x00002000L
-#define SQL_FN_TD_TIMESTAMPDIFF 0x00004000L
-#define SQL_FN_TD_WEEK 0x00000080L
-#define SQL_FN_TD_YEAR 0x00000100L
-#define SQL_FN_TSI_DAY 0x00000010L
-#define SQL_FN_TSI_FRAC_SECOND 0x00000001L
-#define SQL_FN_TSI_HOUR 0x00000008L
-#define SQL_FN_TSI_MINUTE 0x00000004L
-#define SQL_FN_TSI_MONTH 0x00000040L
-#define SQL_FN_TSI_QUARTER 0x00000080L
-#define SQL_FN_TSI_SECOND 0x00000002L
-#define SQL_FN_TSI_WEEK 0x00000020L
-#define SQL_FN_TSI_YEAR 0x00000100L
-#define SQL_GB_GROUP_BY_CONTAINS_SELECT 2
-#define SQL_GB_GROUP_BY_EQUALS_SELECT 1
-#define SQL_GB_NO_RELATION 3
-#define SQL_GB_NOT_SUPPORTED 0
-#define SQL_GD_BLOCK 4
-#define SQL_GD_BOUND 8
-#define SQL_GET_BOOKMARK 13
-#define SQL_GROUP_BY 88
-#define SQL_IGNORE (-6)
-#define SQL_INFO_FIRST 0
-#define SQL_KEYSET_SIZE 8
-#define SQL_KEYSET_SIZE_DEFAULT 0UL
-#define SQL_KEYWORDS 89
-#define SQL_LCK_EXCLUSIVE 2
-#define SQL_LCK_NO_CHANGE 1
-#define SQL_LCK_UNLOCK 4
-#define SQL_LEN_BINARY_ATTR(length) (-(length)+SQL_LEN_BINARY_ATTR_OFFSET)
-#define SQL_LEN_BINARY_ATTR_OFFSET (-100)
-#define SQL_LEN_DATA_AT_EXEC(length) (-(length)+SQL_LEN_DATA_AT_EXEC_OFFSET)
-#define SQL_LEN_DATA_AT_EXEC_OFFSET (-100)
-#define SQL_LIKE_ESCAPE_CLAUSE 113
-#define SQL_LIKE_ONLY 1
-#define SQL_LOCK_EXCLUSIVE 1
-#define SQL_LOCK_NO_CHANGE 0
-#define SQL_LOCK_TYPES 78
-#define SQL_LOCK_UNLOCK 2
-#define SQL_LOGIN_TIMEOUT 103
-#define SQL_LOGIN_TIMEOUT_DEFAULT 15UL
-#define SQL_LONGVARBINARY (-4)
-#define SQL_LONGVARCHAR (-1)
-#define SQL_MAX_BINARY_LITERAL_LEN 112
-#define SQL_MAX_CHAR_LITERAL_LEN 108
-#define SQL_MAX_DSN_LENGTH 32
-#define SQL_MAX_LENGTH 3
-#define SQL_MAX_LENGTH_DEFAULT 0UL
-#define SQL_MAX_OPTION_STRING_LENGTH 256
-#define SQL_MAX_OWNER_NAME_LEN 32
-#define SQL_MAX_PROCEDURE_NAME_LEN 33
-#define SQL_MAX_QUALIFIER_NAME_LEN 34
-#define SQL_MAX_ROW_SIZE_INCLUDES_LONG 103
-#define SQL_MAX_ROWS 1
-#define SQL_MAX_ROWS_DEFAULT 0UL
-#define SQL_MODE_DEFAULT SQL_MODE_READ_WRITE
-#define SQL_MODE_READ_ONLY 1UL
-#define SQL_MODE_READ_WRITE 0UL
-#define SQL_MULT_RESULT_SETS 36
-#define SQL_MULTIPLE_ACTIVE_TXN 37
-#define SQL_NC_END 0x0004
-#define SQL_NC_START 0x0002
-#define SQL_NEED_LONG_DATA_LEN 111
-#define SQL_NNC_NON_NULL 0x0001
-#define SQL_NNC_NULL 0x0000
-#define SQL_NO_TOTAL (-4)
-#define SQL_NON_NULLABLE_COLUMNS 75
-#define SQL_NOSCAN 2
-#define SQL_NOSCAN_DEFAULT SQL_NOSCAN_OFF
-#define SQL_NOSCAN_OFF 0UL
-#define SQL_NOSCAN_ON 1UL
-#define SQL_NUMERIC_FUNCTIONS 49
-#define SQL_OAC_LEVEL1 0x0001
-#define SQL_OAC_LEVEL2 0x0002
-#define SQL_OAC_NONE 0x0000
-#define SQL_ODBC_API_CONFORMANCE 9
-#define SQL_ODBC_CURSORS 110
-#define SQL_ODBC_SAG_CLI_CONFORMANCE 12
-#define SQL_ODBC_SQL_CONFORMANCE 15
-#define SQL_ODBC_SQL_OPT_IEF 73
-#define SQL_ODBC_VER 10
-#define SQL_OPT_TRACE 104
-#define SQL_OPT_TRACE_DEFAULT SQL_OPT_TRACE_OFF
-#define SQL_OPT_TRACE_FILE_DEFAULT "\\SQL.LOG"
-#define SQL_OPT_TRACE_OFF 0UL
-#define SQL_OPT_TRACE_ON 1UL
-#define SQL_OPT_TRACEFILE 105
-#define SQL_OSC_CORE 1
-#define SQL_OSC_EXTENDED 2
-#define SQL_OSC_MINIMUM 0
-#define SQL_OSCC_COMPLIANT 1
-#define SQL_OSCC_NOT_COMPLIANT 0
-#define SQL_OU_DML_STATEMENTS 1
-#define SQL_OU_INDEX_DEFINITION 8
-#define SQL_OU_PRIVILEGE_DEFINITION 16
-#define SQL_OU_PROCEDURE_INVOCATION 2
-#define SQL_OU_TABLE_DEFINITION 4
-#define SQL_OUTER_JOINS 38
-#define SQL_OWNER_TERM 39
-#define SQL_OWNER_USAGE 91
-#define SQL_PACKET_SIZE 112
-#define SQL_PARAM_INPUT 1
-#define SQL_PARAM_INPUT_OUTPUT 2
-#define SQL_PARAM_OUTPUT 4
-#define SQL_PARAM_TYPE_DEFAULT SQL_PARAM_INPUT_OUTPUT
-#define SQL_PARAM_TYPE_UNKNOWN 0
-#define SQL_PC_NOT_PSEUDO 1
-#define SQL_POS_ADD 16
-#define SQL_POS_DELETE 8
-#define SQL_POS_OPERATIONS 79
-#define SQL_POS_POSITION 1
-#define SQL_POS_REFRESH 2
-#define SQL_POS_UPDATE 4
-#define SQL_POSITION 0
-#define SQL_POSITIONED_STATEMENTS 80
-#define SQL_PRED_SEARCHABLE SQL_SEARCHABLE
-#define SQL_PROCEDURE_TERM 40
-#define SQL_PROCEDURES 21
-#define SQL_PS_POSITIONED_DELETE 1
-#define SQL_PS_POSITIONED_UPDATE 2
-#define SQL_PS_SELECT_FOR_UPDATE 4
-#define SQL_PT_FUNCTION 2
-#define SQL_PT_PROCEDURE 1
-#define SQL_PT_UNKNOWN 0
-#define SQL_QL_END 0x0002
-#define SQL_QL_START 0x0001
-#define SQL_QU_DML_STATEMENTS 1
-#define SQL_QU_INDEX_DEFINITION 8
-#define SQL_QU_PRIVILEGE_DEFINITION 16
-#define SQL_QU_PROCEDURE_INVOCATION 2
-#define SQL_QU_TABLE_DEFINITION 4
-#define SQL_QUALIFIER_LOCATION 114
-#define SQL_QUALIFIER_NAME_SEPARATOR 41
-#define SQL_QUALIFIER_TERM 42
-#define SQL_QUALIFIER_USAGE 92
-#define SQL_QUERY_TIMEOUT 0
-#define SQL_QUERY_TIMEOUT_DEFAULT 0UL
-#define SQL_QUICK 0
-#define SQL_QUIET_MODE 111
-#define SQL_QUOTED_IDENTIFIER_CASE 93
-#define SQL_RD_DEFAULT SQL_RD_ON
-#define SQL_RD_OFF 0UL
-#define SQL_RD_ON 1UL
-#define SQL_REFRESH 1
-#define SQL_RESTRICT 1
-#define SQL_RESULT_COL 3
-#define SQL_RETRIEVE_DATA 11
-#define SQL_RETURN_VALUE 5
-#define SQL_ROW_ADDED 4
-#define SQL_ROW_DELETED 1
-#define SQL_ROW_ERROR 5
-#define SQL_ROW_NOROW 3
-#define SQL_ROW_NUMBER 14
-#define SQL_ROW_SUCCESS 0
-#define SQL_ROW_UPDATED 2
-#define SQL_ROW_UPDATES 11
-#define SQL_ROWSET_SIZE 9
-#define SQL_ROWSET_SIZE_DEFAULT 1UL
-#define SQL_ROWVER 2
-#define SQL_SC_NON_UNIQUE 0UL
-#define SQL_SC_TRY_UNIQUE 1UL
-#define SQL_SC_UNIQUE 2UL
-#define SQL_SCCO_OPT_TIMESTAMP SQL_SCCO_OPT_ROWVER /* deprecated */
-#define SQL_SCROLL_DYNAMIC (-2L) /* deprecated */
-#define SQL_SCROLL_FORWARD_ONLY 0L /* deprecated */
-#define SQL_SCROLL_KEYSET_DRIVEN (-1L) /* deprecated */
-#define SQL_SCROLL_OPTIONS 44
-#define SQL_SCROLL_STATIC (-3L) /* deprecated */
-#define SQL_SEARCHABLE 3
-#define SQL_SET_NULL 2
-#define SQL_SETPARAM_VALUE_MAX (-1L)
-#define SQL_SETPOS_MAX_LOCK_VALUE SQL_LOCK_UNLOCK
-#define SQL_SETPOS_MAX_OPTION_VALUE SQL_ADD
-#define SQL_SIGNED_OFFSET (-20)
-#define SQL_SIMULATE_CURSOR 10
-#define SQL_SO_DYNAMIC 4
-#define SQL_SO_FORWARD_ONLY 1
-#define SQL_SO_KEYSET_DRIVEN 2
-#define SQL_SO_MIXED 8
-#define SQL_SO_STATIC 16
-#define SQL_SQ_COMPARISON 1
-#define SQL_SQ_CORRELATED_SUBQUERIES 16
-#define SQL_SQ_EXISTS 2
-#define SQL_SQ_IN 4
-#define SQL_SQ_QUANTIFIED 8
-#define SQL_SQLSTATE_SIZE 5
-#define SQL_SS_ADDITIONS 1
-#define SQL_SS_DELETIONS 2
-#define SQL_SS_UPDATES 4
-#define SQL_STATIC_SENSITIVITY 83
-#define SQL_STRING_FUNCTIONS 50
-#define SQL_SUBQUERIES 95
-#define SQL_SYSTEM_FUNCTIONS 51
-#define SQL_TABLE_STAT 0
-#define SQL_TABLE_TERM 45
-#define SQL_TIME 10
-#define SQL_TIMEDATE_ADD_INTERVALS 109
-#define SQL_TIMEDATE_DIFF_INTERVALS 110
-#define SQL_TIMEDATE_FUNCTIONS 52
-#define SQL_TIMESTAMP 11
-#define SQL_TINYINT (-6)
-#define SQL_TRANSLATE_DLL 106
-#define SQL_TRANSLATE_OPTION 107
-#define SQL_TXN_ISOLATION 108
-#define SQL_TXN_VERSIONING 16
-#define SQL_TYPE_NULL 0
-#define SQL_U_UNION 1
-#define SQL_U_UNION_ALL 2
-#define SQL_UB_DEFAULT SQL_UB_OFF
-#define SQL_UB_OFF 0UL
-#define SQL_UB_ON 01UL
-#define SQL_UNION 96
-#define SQL_UNSEARCHABLE 0
-#define SQL_UNSIGNED_OFFSET (-22)
-#define SQL_UPDATE 2
-#define SQL_USE_BOOKMARKS 12
-#define SQL_VARBINARY (-3)
-#define SQL_POSITION_TO(s,r) SQLSetPos(s,r,SQL_POSITION,SQL_LOCK_NO_CHANGE)
-#define SQL_LOCK_RECORD(s,r,l) SQLSetPos(s,r,SQL_POSITION,l)
-#define SQL_REFRESH_RECORD(s,r,l) SQLSetPos(s,r,SQL_REFRESH,l)
-#define SQL_UPDATE_RECORD(s,r) SQLSetPos(s,r,SQL_UPDATE,SQL_LOCK_NO_CHANGE)
-#define SQL_DELETE_RECORD(s,r) SQLSetPos(s,r,SQL_DELETE,SQL_LOCK_NO_CHANGE)
-#define SQL_ADD_RECORD(s,r) SQLSetPos(s,r,SQL_ADD,SQL_LOCK_NO_CHANGE)
-
-#if (ODBCVER < 0x0300)
-#define SQL_CONNECT_OPT_DRVR_START 1000
-#define SQL_CONN_OPT_MAX SQL_PACKET_SIZE
-#define SQL_CONN_OPT_MIN SQL_ACCESS_MODE
-#define SQL_STMT_OPT_MAX SQL_ROW_NUMBER
-#define SQL_STMT_OPT_MIN SQL_QUERY_TIMEOUT
-#define SQL_TYPE_DRIVER_START SQL_INTERVAL_YEAR
-#define SQL_TYPE_DRIVER_END SQL_UNICODE_LONGVARCHAR
-#define SQL_TYPE_MIN SQL_BIT
-#define SQL_TYPE_MAX SQL_VARCHAR
-#endif
-
-#if (ODBCVER < 0x0300)
-#define SQL_NO_DATA_FOUND 100
-#define SQL_INTERVAL_YEAR (-80)
-#define SQL_INTERVAL_MONTH (-81)
-#define SQL_INTERVAL_YEAR_TO_MONTH (-82)
-#define SQL_INTERVAL_DAY (-83)
-#define SQL_INTERVAL_HOUR (-84)
-#define SQL_INTERVAL_MINUTE (-85)
-#define SQL_INTERVAL_SECOND (-86)
-#define SQL_INTERVAL_DAY_TO_HOUR (-87)
-#define SQL_INTERVAL_DAY_TO_MINUTE (-88)
-#define SQL_INTERVAL_DAY_TO_SECOND (-89)
-#define SQL_INTERVAL_HOUR_TO_MINUTE (-90)
-#define SQL_INTERVAL_HOUR_TO_SECOND (-91)
-#define SQL_INTERVAL_MINUTE_TO_SECOND (-92)
-#else
-#define SQL_NO_DATA_FOUND SQL_NO_DATA
-#define SQL_CODE_YEAR 1
-#define SQL_CODE_MONTH 2
-#define SQL_CODE_DAY 3
-#define SQL_CODE_HOUR 4
-#define SQL_CODE_MINUTE 5
-#define SQL_CODE_SECOND 6
-#define SQL_CODE_YEAR_TO_MONTH 7
-#define SQL_CODE_DAY_TO_HOUR 8
-#define SQL_CODE_DAY_TO_MINUTE 9
-#define SQL_CODE_DAY_TO_SECOND 10
-#define SQL_CODE_HOUR_TO_MINUTE 11
-#define SQL_CODE_HOUR_TO_SECOND 12
-#define SQL_CODE_MINUTE_TO_SECOND 13
-#define SQL_INTERVAL_YEAR (100 + SQL_CODE_YEAR)
-#define SQL_INTERVAL_MONTH (100 + SQL_CODE_MONTH)
-#define SQL_INTERVAL_DAY (100 + SQL_CODE_DAY)
-#define SQL_INTERVAL_HOUR (100 + SQL_CODE_HOUR)
-#define SQL_INTERVAL_MINUTE (100 + SQL_CODE_MINUTE)
-#define SQL_INTERVAL_SECOND (100 + SQL_CODE_SECOND)
-#define SQL_INTERVAL_YEAR_TO_MONTH (100 + SQL_CODE_YEAR_TO_MONTH)
-#define SQL_INTERVAL_DAY_TO_HOUR (100 + SQL_CODE_DAY_TO_HOUR)
-#define SQL_INTERVAL_DAY_TO_MINUTE (100 + SQL_CODE_DAY_TO_MINUTE)
-#define SQL_INTERVAL_DAY_TO_SECOND (100 + SQL_CODE_DAY_TO_SECOND)
-#define SQL_INTERVAL_HOUR_TO_MINUTE (100 + SQL_CODE_HOUR_TO_MINUTE)
-#define SQL_INTERVAL_HOUR_TO_SECOND (100 + SQL_CODE_HOUR_TO_SECOND)
-#define SQL_INTERVAL_MINUTE_TO_SECOND (100 + SQL_CODE_MINUTE_TO_SECOND)
-#endif
-
-#if (ODBCVER <= 0x0300)
-#define SQL_UNICODE (-95)
-#define SQL_UNICODE_VARCHAR (-96)
-#define SQL_UNICODE_LONGVARCHAR (-97)
-#define SQL_UNICODE_CHAR SQL_UNICODE
-#else
-#define SQL_UNICODE SQL_WCHAR
-#define SQL_UNICODE_VARCHAR SQL_WVARCHAR
-#define SQL_UNICODE_LONGVARCHAR SQL_WLONGVARCHAR
-#define SQL_UNICODE_CHAR SQL_WCHAR
-#endif
-
-#if (ODBCVER >= 0x0201) && (ODBCVER < 0x0300)
-#define SQL_OJ_CAPABILITIES 65003
-#endif /* ODBCVER < 0x0300 */
-
-#if (ODBCVER >= 0x0250)
-#define SQL_NO_ACTION 3
-#define SQL_SET_DEFAULT 4
-#endif /* ODBCVER >= 0x0250 */
-
-#if (ODBCVER >= 0x0300)
-#define SQL_ACTIVE_ENVIRONMENTS 116
-#define SQL_AD_ADD_CONSTRAINT_DEFERRABLE 0x00000080L
-#define SQL_AD_ADD_CONSTRAINT_INITIALLY_DEFERRED 0x00000020L
-#define SQL_AD_ADD_CONSTRAINT_INITIALLY_IMMEDIATE 0x00000040L
-#define SQL_AD_ADD_CONSTRAINT_NON_DEFERRABLE 0x00000100L
-#define SQL_AD_ADD_DOMAIN_CONSTRAINT 0x00000002L
-#define SQL_AD_ADD_DOMAIN_DEFAULT 0x00000008L
-#define SQL_AD_CONSTRAINT_NAME_DEFINITION 0x00000001L
-#define SQL_AD_DROP_DOMAIN_CONSTRAINT 0x00000004L
-#define SQL_AD_DROP_DOMAIN_DEFAULT 0x00000010L
-#define SQL_AF_ALL 0x00000040L
-#define SQL_AF_AVG 0x00000001L
-#define SQL_AF_COUNT 0x00000002L
-#define SQL_AF_DISTINCT 0x00000020L
-#define SQL_AF_MAX 0x00000004L
-#define SQL_AF_MIN 0x00000008L
-#define SQL_AF_SUM 0x00000010L
-#define SQL_AGGREGATE_FUNCTIONS 169
-#define SQL_ALL_CATALOGS "%"
-#define SQL_ALL_SCHEMAS "%"
-#define SQL_ALL_TABLE_TYPES "%"
-#define SQL_ALTER_DOMAIN 117
-#define SQL_AM_CONNECTION 1
-#define SQL_AM_NONE 0
-#define SQL_AM_STATEMENT 2
-#define SQL_API_ODBC3_ALL_FUNCTIONS 999
-#define SQL_API_ODBC3_ALL_FUNCTIONS_SIZE 250
-#define SQL_API_SQLALLOCHANDLESTD 73
-#define SQL_API_SQLBULKOPERATIONS 24
-#define SQL_ASYNC_MODE 10021
-#define SQL_AT_ADD_COLUMN_COLLATION 0x00000080L
-#define SQL_AT_ADD_COLUMN_DEFAULT 0x00000040L
-#define SQL_AT_ADD_COLUMN_SINGLE 0x00000020L
-#define SQL_AT_ADD_TABLE_CONSTRAINT 0x00001000L
-#define SQL_AT_CONSTRAINT_DEFERRABLE 0x00040000L
-#define SQL_AT_CONSTRAINT_INITIALLY_DEFERRED 0x00010000L
-#define SQL_AT_CONSTRAINT_INITIALLY_IMMEDIATE 0x00020000L
-#define SQL_AT_CONSTRAINT_NAME_DEFINITION 0x00008000L
-#define SQL_AT_CONSTRAINT_NON_DEFERRABLE 0x00080000L
-#define SQL_AT_DROP_COLUMN_CASCADE 0x00000400L
-#define SQL_AT_DROP_COLUMN_DEFAULT 0x00000200L
-#define SQL_AT_DROP_COLUMN_RESTRICT 0x00000800L
-#define SQL_AT_DROP_TABLE_CONSTRAINT_CASCADE 0x00002000L
-#define SQL_AT_DROP_TABLE_CONSTRAINT_RESTRICT 0x00004000L
-#define SQL_AT_SET_COLUMN_DEFAULT 0x00000100L
-#define SQL_ATTR_ACCESS_MODE SQL_ACCESS_MODE
-#define SQL_ATTR_ASYNC_ENABLE 4
-#define SQL_ATTR_AUTOCOMMIT SQL_AUTOCOMMIT
-#define SQL_ATTR_CONCURRENCY SQL_CONCURRENCY
-#define SQL_ATTR_CONNECTION_POOLING 201
-#define SQL_ATTR_CONNECTION_TIMEOUT 113
-#define SQL_ATTR_CP_MATCH 202
-#define SQL_ATTR_CURRENT_CATALOG SQL_CURRENT_QUALIFIER
-#define SQL_ATTR_CURSOR_TYPE SQL_CURSOR_TYPE
-#define SQL_ATTR_DISCONNECT_BEHAVIOR 114
-#define SQL_ATTR_ENABLE_AUTO_IPD 15
-#define SQL_ATTR_ENLIST_IN_DTC 1207
-#define SQL_ATTR_ENLIST_IN_XA 1208
-#define SQL_ATTR_FETCH_BOOKMARK_PTR 16
-#define SQL_ATTR_KEYSET_SIZE SQL_KEYSET_SIZE
-#define SQL_ATTR_LOGIN_TIMEOUT SQL_LOGIN_TIMEOUT
-#define SQL_ATTR_MAX_LENGTH SQL_MAX_LENGTH
-#define SQL_ATTR_MAX_ROWS SQL_MAX_ROWS
-#define SQL_ATTR_NOSCAN SQL_NOSCAN
-#define SQL_ATTR_ODBC_CURSORS SQL_ODBC_CURSORS
-#define SQL_ATTR_ODBC_VERSION 200
-#define SQL_ATTR_PACKET_SIZE SQL_PACKET_SIZE
-#define SQL_ATTR_PARAM_BIND_OFFSET_PTR 17
-#define SQL_ATTR_PARAM_BIND_TYPE 18
-#define SQL_ATTR_PARAM_OPERATION_PTR 19
-#define SQL_ATTR_PARAM_STATUS_PTR 20
-#define SQL_ATTR_PARAMS_PROCESSED_PTR 21
-#define SQL_ATTR_PARAMSET_SIZE 22
-#define SQL_ATTR_QUERY_TIMEOUT SQL_QUERY_TIMEOUT
-#define SQL_ATTR_QUIET_MODE SQL_QUIET_MODE
-#define SQL_ATTR_RETRIEVE_DATA SQL_RETRIEVE_DATA
-#define SQL_ATTR_ROW_ARRAY_SIZE 27
-#define SQL_ATTR_ROW_BIND_OFFSET_PTR 23
-#define SQL_ATTR_ROW_BIND_TYPE SQL_BIND_TYPE
-#define SQL_ATTR_ROW_NUMBER SQL_ROW_NUMBER
-#define SQL_ATTR_ROW_OPERATION_PTR 24
-#define SQL_ATTR_ROW_STATUS_PTR 25
-#define SQL_ATTR_ROWS_FETCHED_PTR 26
-#define SQL_ATTR_SIMULATE_CURSOR SQL_SIMULATE_CURSOR
-#define SQL_ATTR_TRACE SQL_OPT_TRACE
-#define SQL_ATTR_TRACEFILE SQL_OPT_TRACEFILE
-#define SQL_ATTR_TRANSLATE_LIB SQL_TRANSLATE_DLL
-#define SQL_ATTR_TRANSLATE_OPTION SQL_TRANSLATE_OPTION
-#define SQL_ATTR_TXN_ISOLATION SQL_TXN_ISOLATION
-#define SQL_ATTR_USE_BOOKMARKS SQL_USE_BOOKMARKS
-#define SQL_BATCH_ROW_COUNT 120
-#define SQL_BATCH_SUPPORT 121
-#define SQL_BRC_EXPLICIT 0x0000002
-#define SQL_BRC_PROCEDURES 0x0000001
-#define SQL_BRC_ROLLED_UP 0x0000004
-#define SQL_BS_ROW_COUNT_EXPLICIT 0x00000002L
-#define SQL_BS_ROW_COUNT_PROC 0x00000008L
-#define SQL_BS_SELECT_EXPLICIT 0x00000001L
-#define SQL_BS_SELECT_PROC 0x00000004L
-#define SQL_C_INTERVAL_DAY SQL_INTERVAL_DAY
-#define SQL_C_INTERVAL_DAY_TO_HOUR SQL_INTERVAL_DAY_TO_HOUR
-#define SQL_C_INTERVAL_DAY_TO_MINUTE SQL_INTERVAL_DAY_TO_MINUTE
-#define SQL_C_INTERVAL_DAY_TO_SECOND SQL_INTERVAL_DAY_TO_SECOND
-#define SQL_C_INTERVAL_HOUR SQL_INTERVAL_HOUR
-#define SQL_C_INTERVAL_HOUR_TO_MINUTE SQL_INTERVAL_HOUR_TO_MINUTE
-#define SQL_C_INTERVAL_HOUR_TO_SECOND SQL_INTERVAL_HOUR_TO_SECOND
-#define SQL_C_INTERVAL_MINUTE SQL_INTERVAL_MINUTE
-#define SQL_C_INTERVAL_MINUTE_TO_SECOND SQL_INTERVAL_MINUTE_TO_SECOND
-#define SQL_C_INTERVAL_MONTH SQL_INTERVAL_MONTH
-#define SQL_C_INTERVAL_SECOND SQL_INTERVAL_SECOND
-#define SQL_C_INTERVAL_YEAR SQL_INTERVAL_YEAR
-#define SQL_C_INTERVAL_YEAR_TO_MONTH SQL_INTERVAL_YEAR_TO_MONTH
-#define SQL_C_NUMERIC SQL_NUMERIC
-#define SQL_C_SBIGINT (SQL_BIGINT+SQL_SIGNED_OFFSET)
-#define SQL_C_TYPE_DATE SQL_TYPE_DATE
-#define SQL_C_TYPE_TIME SQL_TYPE_TIME
-#define SQL_C_TYPE_TIMESTAMP SQL_TYPE_TIMESTAMP
-#define SQL_C_UBIGINT (SQL_BIGINT+SQL_UNSIGNED_OFFSET)
-#define SQL_C_VARBOOKMARK SQL_C_BINARY
-#define SQL_CA_CONSTRAINT_DEFERRABLE 0x00000040L
-#define SQL_CA_CONSTRAINT_INITIALLY_DEFERRED 0x00000010L
-#define SQL_CA_CONSTRAINT_INITIALLY_IMMEDIATE 0x00000020L
-#define SQL_CA_CONSTRAINT_NON_DEFERRABLE 0x00000080L
-#define SQL_CA_CREATE_ASSERTION 0x00000001L
-#define SQL_CA1_ABSOLUTE 0x00000002L
-#define SQL_CA1_BOOKMARK 0x00000008L
-#define SQL_CA1_BULK_ADD 0x00010000L
-#define SQL_CA1_BULK_DELETE_BY_BOOKMARK 0x00040000L
-#define SQL_CA1_BULK_FETCH_BY_BOOKMARK 0x00080000L
-#define SQL_CA1_BULK_UPDATE_BY_BOOKMARK 0x00020000L
-#define SQL_CA1_LOCK_EXCLUSIVE 0x00000080L
-#define SQL_CA1_LOCK_NO_CHANGE 0x00000040L
-#define SQL_CA1_LOCK_UNLOCK 0x00000100L
-#define SQL_CA1_NEXT 0x00000001L
-#define SQL_CA1_POS_DELETE 0x00000800L
-#define SQL_CA1_POS_POSITION 0x00000200L
-#define SQL_CA1_POS_REFRESH 0x00001000L
-#define SQL_CA1_POS_UPDATE 0x00000400L
-#define SQL_CA1_POSITIONED_DELETE 0x00004000L
-#define SQL_CA1_POSITIONED_UPDATE 0x00002000L
-#define SQL_CA1_RELATIVE 0x00000004L
-#define SQL_CA1_SELECT_FOR_UPDATE 0x00008000L
-#define SQL_CA2_CRC_APPROXIMATE 0x00002000L
-#define SQL_CA2_CRC_EXACT 0x00001000L
-#define SQL_CA2_LOCK_CONCURRENCY 0x00000002L
-#define SQL_CA2_MAX_ROWS_AFFECTS_ALL (SQL_CA2_MAX_ROWS_SELECT | SQL_CA2_MAX_ROWS_INSERT | \
- SQL_CA2_MAX_ROWS_DELETE | SQL_CA2_MAX_ROWS_UPDATE | SQL_CA2_MAX_ROWS_CATALOG)
-#define SQL_CA2_MAX_ROWS_CATALOG 0x00000800L
-#define SQL_CA2_MAX_ROWS_DELETE 0x00000200L
-#define SQL_CA2_MAX_ROWS_INSERT 0x00000100L
-#define SQL_CA2_MAX_ROWS_SELECT 0x00000080L
-#define SQL_CA2_MAX_ROWS_UPDATE 0x00000400L
-#define SQL_CA2_OPT_ROWVER_CONCURRENCY 0x00000004L
-#define SQL_CA2_OPT_VALUES_CONCURRENCY 0x00000008L
-#define SQL_CA2_READ_ONLY_CONCURRENCY 0x00000001L
-#define SQL_CA2_SENSITIVITY_ADDITIONS 0x00000010L
-#define SQL_CA2_SENSITIVITY_DELETIONS 0x00000020L
-#define SQL_CA2_SENSITIVITY_UPDATES 0x00000040L
-#define SQL_CA2_SIMULATE_NON_UNIQUE 0x00004000L
-#define SQL_CA2_SIMULATE_TRY_UNIQUE 0x00008000L
-#define SQL_CA2_SIMULATE_UNIQUE 0x00010000L
-#define SQL_CATALOG_LOCATION SQL_QUALIFIER_LOCATION
-#define SQL_CATALOG_NAME_SEPARATOR SQL_QUALIFIER_NAME_SEPARATOR
-#define SQL_CATALOG_TERM SQL_QUALIFIER_TERM
-#define SQL_CATALOG_USAGE SQL_QUALIFIER_USAGE
-#define SQL_CCOL_CREATE_COLLATION 0x00000001L
-#define SQL_CCS_COLLATE_CLAUSE 0x00000002L
-#define SQL_CCS_CREATE_CHARACTER_SET 0x00000001L
-#define SQL_CCS_LIMITED_COLLATION 0x00000004L
-#define SQL_CDO_COLLATION 0x00000008L
-#define SQL_CDO_CONSTRAINT 0x00000004L
-#define SQL_CDO_CONSTRAINT_DEFERRABLE 0x00000080L
-#define SQL_CDO_CONSTRAINT_INITIALLY_DEFERRED 0x00000020L
-#define SQL_CDO_CONSTRAINT_INITIALLY_IMMEDIATE 0x00000040L
-#define SQL_CDO_CONSTRAINT_NAME_DEFINITION 0x00000010L
-#define SQL_CDO_CONSTRAINT_NON_DEFERRABLE 0x00000100L
-#define SQL_CDO_CREATE_DOMAIN 0x00000001L
-#define SQL_CDO_DEFAULT 0x00000002L
-#define SQL_CL_END SQL_QL_END
-#define SQL_CL_START SQL_QL_START
-#define SQL_COL_PRED_BASIC SQL_ALL_EXCEPT_LIKE
-#define SQL_COL_PRED_CHAR SQL_LIKE_ONLY
-#define SQL_COLUMN_DRIVER_START 1000
-#define SQL_COLUMN_IGNORE SQL_IGNORE
-#define SQL_COLUMN_NUMBER_UNKNOWN (-2)
-#define SQL_CONVERT_GUID 173
-#define SQL_CONVERT_INTERVAL_DAY_TIME 123
-#define SQL_CONVERT_INTERVAL_YEAR_MONTH 124
-#define SQL_CONVERT_WCHAR 122
-#define SQL_CONVERT_WLONGVARCHAR 125
-#define SQL_CONVERT_WVARCHAR 126
-#define SQL_CP_DEFAULT SQL_CP_OFF
-#define SQL_CP_MATCH_DEFAULT SQL_CP_STRICT_MATCH
-#define SQL_CP_OFF 0UL
-#define SQL_CP_ONE_PER_DRIVER 1UL
-#define SQL_CP_ONE_PER_HENV 2UL
-#define SQL_CP_RELAXED_MATCH 1UL
-#define SQL_CP_STRICT_MATCH 0UL
-#define SQL_CREATE_ASSERTION 127
-#define SQL_CREATE_CHARACTER_SET 128
-#define SQL_CREATE_COLLATION 129
-#define SQL_CREATE_DOMAIN 130
-#define SQL_CREATE_SCHEMA 131
-#define SQL_CREATE_TABLE 132
-#define SQL_CREATE_TRANSLATION 133
-#define SQL_CREATE_VIEW 134
-#define SQL_CS_AUTHORIZATION 0x00000002L
-#define SQL_CS_CREATE_SCHEMA 0x00000001L
-#define SQL_CS_DEFAULT_CHARACTER_SET 0x00000004L
-#define SQL_CT_COLUMN_COLLATION 0x00000800L
-#define SQL_CT_COLUMN_CONSTRAINT 0x00000200L
-#define SQL_CT_COLUMN_DEFAULT 0x00000400L
-#define SQL_CT_COMMIT_DELETE 0x00000004L
-#define SQL_CT_COMMIT_PRESERVE 0x00000002L
-#define SQL_CT_CONSTRAINT_DEFERRABLE 0x00000080L
-#define SQL_CT_CONSTRAINT_INITIALLY_DEFERRED 0x00000020L
-#define SQL_CT_CONSTRAINT_INITIALLY_IMMEDIATE 0x00000040L
-#define SQL_CT_CONSTRAINT_NAME_DEFINITION 0x00002000L
-#define SQL_CT_CONSTRAINT_NON_DEFERRABLE 0x00000100L
-#define SQL_CT_CREATE_TABLE 0x00000001L
-#define SQL_CT_GLOBAL_TEMPORARY 0x00000008L
-#define SQL_CT_LOCAL_TEMPORARY 0x00000010L
-#define SQL_CT_TABLE_CONSTRAINT 0x00001000L
-#define SQL_CTR_CREATE_TRANSLATION 0x00000001L
-#define SQL_CU_DML_STATEMENTS SQL_QU_DML_STATEMENTS
-#define SQL_CU_INDEX_DEFINITION SQL_QU_INDEX_DEFINITION
-#define SQL_CU_PRIVILEGE_DEFINITION SQL_QU_PRIVILEGE_DEFINITION
-#define SQL_CU_PROCEDURE_INVOCATION SQL_QU_PROCEDURE_INVOCATION
-#define SQL_CU_TABLE_DEFINITION SQL_QU_TABLE_DEFINITION
-#define SQL_CVT_GUID 0x1000000L
-#define SQL_CVT_INTERVAL_DAY_TIME 0x00100000L
-#define SQL_CVT_INTERVAL_YEAR_MONTH 0x00080000L
-#define SQL_CVT_WCHAR 0x00200000L
-#define SQL_CVT_WLONGVARCHAR 0x00400000L
-#define SQL_CVT_WVARCHAR 0x00800000L
-#define SQL_DA_DROP_ASSERTION 0x00000001L
-#define SQL_DATETIME_LITERALS 119
-#define SQL_DB_DEFAULT SQL_DB_RETURN_TO_POOL
-#define SQL_DB_DISCONNECT 1UL
-#define SQL_DB_RETURN_TO_POOL 0UL
-#define SQL_DC_DROP_COLLATION 0x00000001L
-#define SQL_DCS_DROP_CHARACTER_SET 0x00000001L
-#define SQL_DD_CASCADE 0x00000004L
-#define SQL_DD_DROP_DOMAIN 0x00000001L
-#define SQL_DD_RESTRICT 0x00000002L
-#define SQL_DDL_INDEX 170
-#define SQL_DELETE_BY_BOOKMARK 6
-#define SQL_DESC_ARRAY_SIZE 20
-#define SQL_DESC_ARRAY_STATUS_PTR 21
-#define SQL_DESC_AUTO_UNIQUE_VALUE SQL_COLUMN_AUTO_INCREMENT
-#define SQL_DESC_BASE_COLUMN_NAME 22
-#define SQL_DESC_BASE_TABLE_NAME 23
-#define SQL_DESC_BIND_OFFSET_PTR 24
-#define SQL_DESC_BIND_TYPE 25
-#define SQL_DESC_CASE_SENSITIVE SQL_COLUMN_CASE_SENSITIVE
-#define SQL_DESC_CATALOG_NAME SQL_COLUMN_QUALIFIER_NAME
-#define SQL_DESC_CONCISE_TYPE SQL_COLUMN_TYPE
-#define SQL_DESC_DATETIME_INTERVAL_PRECISION 26
-#define SQL_DESC_DISPLAY_SIZE SQL_COLUMN_DISPLAY_SIZE
-#define SQL_DESC_FIXED_PREC_SCALE SQL_COLUMN_MONEY
-#define SQL_DESC_LABEL SQL_COLUMN_LABEL
-#define SQL_DESC_LITERAL_PREFIX 27
-#define SQL_DESC_LITERAL_SUFFIX 28
-#define SQL_DESC_LOCAL_TYPE_NAME 29
-#define SQL_DESC_MAXIMUM_SCALE 30
-#define SQL_DESC_MINIMUM_SCALE 31
-#define SQL_DESC_NUM_PREC_RADIX 32
-#define SQL_DESC_PARAMETER_TYPE 33
-#define SQL_DESC_ROWS_PROCESSED_PTR 34
-#define SQL_DESC_SCHEMA_NAME SQL_COLUMN_OWNER_NAME
-#define SQL_DESC_SEARCHABLE SQL_COLUMN_SEARCHABLE
-#define SQL_DESC_TABLE_NAME SQL_COLUMN_TABLE_NAME
-#define SQL_DESC_TYPE_NAME SQL_COLUMN_TYPE_NAME
-#define SQL_DESC_UNSIGNED SQL_COLUMN_UNSIGNED
-#define SQL_DESC_UPDATABLE SQL_COLUMN_UPDATABLE
-#define SQL_DI_CREATE_INDEX 0x00000001L
-#define SQL_DI_DROP_INDEX 0x00000002L
-#define SQL_DIAG_COLUMN_NUMBER (-1247)
-#define SQL_DIAG_CURSOR_ROW_COUNT (-1249)
-#define SQL_DIAG_ROW_NUMBER (-1248)
-#define SQL_DL_SQL92_DATE 0x00000001L
-#define SQL_DL_SQL92_INTERVAL_DAY 0x00000020L
-#define SQL_DL_SQL92_INTERVAL_DAY_TO_HOUR 0x00000400L
-#define SQL_DL_SQL92_INTERVAL_DAY_TO_MINUTE 0x00000800L
-#define SQL_DL_SQL92_INTERVAL_DAY_TO_SECOND 0x00001000L
-#define SQL_DL_SQL92_INTERVAL_HOUR 0x00000040L
-#define SQL_DL_SQL92_INTERVAL_HOUR_TO_MINUTE 0x00002000L
-#define SQL_DL_SQL92_INTERVAL_HOUR_TO_SECOND 0x00004000L
-#define SQL_DL_SQL92_INTERVAL_MINUTE 0x00000080L
-#define SQL_DL_SQL92_INTERVAL_MINUTE_TO_SECOND 0x00008000L
-#define SQL_DL_SQL92_INTERVAL_MONTH 0x00000010L
-#define SQL_DL_SQL92_INTERVAL_SECOND 0x00000100L
-#define SQL_DL_SQL92_INTERVAL_YEAR 0x00000008L
-#define SQL_DL_SQL92_INTERVAL_YEAR_TO_MONTH 0x00000200L
-#define SQL_DL_SQL92_TIME 0x00000002L
-#define SQL_DL_SQL92_TIMESTAMP 0x00000004L
-#define SQL_DM_VER 171
-#define SQL_DRIVER_HDESC 135
-#define SQL_DROP_ASSERTION 136
-#define SQL_DROP_CHARACTER_SET 137
-#define SQL_DROP_COLLATION 138
-#define SQL_DROP_DOMAIN 139
-#define SQL_DROP_SCHEMA 140
-#define SQL_DROP_TABLE 141
-#define SQL_DROP_TRANSLATION 142
-#define SQL_DROP_VIEW 143
-#define SQL_DS_CASCADE 0x00000004L
-#define SQL_DS_DROP_SCHEMA 0x00000001L
-#define SQL_DS_RESTRICT 0x00000002L
-#define SQL_DT_CASCADE 0x00000004L
-#define SQL_DT_DROP_TABLE 0x00000001L
-#define SQL_DT_RESTRICT 0x00000002L
-#define SQL_DTC_DONE 0L
-#define SQL_DTR_DROP_TRANSLATION 0x00000001L
-#define SQL_DV_CASCADE 0x00000004L
-#define SQL_DV_DROP_VIEW 0x00000001L
-#define SQL_DV_RESTRICT 0x00000002L
-#define SQL_DYNAMIC_CURSOR_ATTRIBUTES1 144
-#define SQL_DYNAMIC_CURSOR_ATTRIBUTES2 145
-#define SQL_EXT_API_LAST SQL_API_SQLBINDPARAMETER
-#define SQL_EXT_API_START 40
-#define SQL_FETCH_BY_BOOKMARK 7
-#define SQL_FETCH_FIRST_SYSTEM 32
-#define SQL_FETCH_FIRST_USER 31
-#define SQL_FN_CVT_CAST 0x00000002L
-#define SQL_FN_STR_BIT_LENGTH 0x00080000L
-#define SQL_FN_STR_CHAR_LENGTH 0x00100000L
-#define SQL_FN_STR_CHARACTER_LENGTH 0x00200000L
-#define SQL_FN_STR_OCTET_LENGTH 0x00400000L
-#define SQL_FN_STR_POSITION 0x00800000L
-#define SQL_FN_TD_CURRENT_DATE 0x00020000L
-#define SQL_FN_TD_CURRENT_TIME 0x00040000L
-#define SQL_FN_TD_CURRENT_TIMESTAMP 0x00080000L
-#define SQL_FN_TD_EXTRACT 0x00100000L
-#define SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES1 146
-#define SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES2 147
-#define SQL_FUNC_EXISTS(exists, api) \
- ((*(((UWORD*) (exists)) + ((api) >> 4)) & (1 << ((api) & 15)) ) ? \
- SQL_TRUE : SQL_FALSE )
-#define SQL_GB_COLLATE 0x0004
-#define SQL_HANDLE_SENV 5
-#define SQL_IK_ALL (SQL_IK_ASC | SQL_IK_DESC)
-#define SQL_IK_ASC 1
-#define SQL_IK_DESC 2
-#define SQL_IK_NONE 0
-#define SQL_INDEX_KEYWORDS 148
-#define SQL_INFO_DRIVER_START 1000
-#define SQL_INFO_LAST SQL_QUALIFIER_LOCATION
-#define SQL_INFO_SCHEMA_VIEWS 149
-#define SQL_INITIALLY_DEFERRED 5
-#define SQL_INITIALLY_IMMEDIATE 6
-#define SQL_INSERT_STATEMENT 172
-#define SQL_INTERVAL 10
-#define SQL_IS_INSERT_LITERALS 0x00000001L
-#define SQL_IS_INSERT_SEARCHED 0x00000002L
-#define SQL_IS_INTEGER (-6)
-#define SQL_IS_POINTER (-4)
-#define SQL_IS_SELECT_INTO 0x00000004L
-#define SQL_IS_SMALLINT (-8)
-#define SQL_IS_UINTEGER (-5)
-#define SQL_IS_USMALLINT (-7)
-#define SQL_ISV_ASSERTIONS 0x00000001L
-#define SQL_ISV_CHARACTER_SETS 0x00000002L
-#define SQL_ISV_CHECK_CONSTRAINTS 0x00000004L
-#define SQL_ISV_COLLATIONS 0x00000008L
-#define SQL_ISV_COLUMN_DOMAIN_USAGE 0x00000010L
-#define SQL_ISV_COLUMN_PRIVILEGES 0x00000020L
-#define SQL_ISV_COLUMNS 0x00000040L
-#define SQL_ISV_CONSTRAINT_COLUMN_USAGE 0x00000080L
-#define SQL_ISV_CONSTRAINT_TABLE_USAGE 0x00000100L
-#define SQL_ISV_DOMAIN_CONSTRAINTS 0x00000200L
-#define SQL_ISV_DOMAINS 0x00000400L
-#define SQL_ISV_KEY_COLUMN_USAGE 0x00000800L
-#define SQL_ISV_REFERENTIAL_CONSTRAINTS 0x00001000L
-#define SQL_ISV_SCHEMATA 0x00002000L
-#define SQL_ISV_SQL_LANGUAGES 0x00004000L
-#define SQL_ISV_TABLE_CONSTRAINTS 0x00008000L
-#define SQL_ISV_TABLE_PRIVILEGES 0x00010000L
-#define SQL_ISV_TABLES 0x00020000L
-#define SQL_ISV_TRANSLATIONS 0x00040000L
-#define SQL_ISV_USAGE_PRIVILEGES 0x00080000L
-#define SQL_ISV_VIEW_COLUMN_USAGE 0x00100000L
-#define SQL_ISV_VIEW_TABLE_USAGE 0x00200000L
-#define SQL_ISV_VIEWS 0x00400000L
-#define SQL_KEYSET_CURSOR_ATTRIBUTES1 150
-#define SQL_KEYSET_CURSOR_ATTRIBUTES2 151
-#define SQL_MAX_ASYNC_CONCURRENT_STATEMENTS 10022
-#define SQL_NO_COLUMN_NUMBER (-1)
-#define SQL_NO_ROW_NUMBER (-1)
-#define SQL_NOT_DEFERRABLE 7
-#define SQL_NUM_EXTENSIONS (SQL_EXT_API_LAST-SQL_EXT_API_START+1)
-#define SQL_NUM_FUNCTIONS 23
-#define SQL_ODBC_INTERFACE_CONFORMANCE 152
-#define SQL_OIC_CORE 1UL
-#define SQL_OIC_LEVEL1 2UL
-#define SQL_OIC_LEVEL2 3UL
-#define SQL_OV_ODBC2 2UL
-#define SQL_OV_ODBC3 3UL
-#define SQL_PARAM_ARRAY_ROW_COUNTS 153
-#define SQL_PARAM_ARRAY_SELECTS 154
-#define SQL_PARAM_BIND_BY_COLUMN 0UL
-#define SQL_PARAM_BIND_TYPE_DEFAULT SQL_PARAM_BIND_BY_COLUMN
-#define SQL_PARAM_DIAG_UNAVAILABLE 1
-#define SQL_PARAM_ERROR 5
-#define SQL_PARAM_IGNORE 1
-#define SQL_PARAM_PROCEED 0
-#define SQL_PARAM_SUCCESS 0
-#define SQL_PARAM_SUCCESS_WITH_INFO 6
-#define SQL_PARAM_UNUSED 7
-#define SQL_PARC_BATCH 1
-#define SQL_PARC_NO_BATCH 2
-#define SQL_PAS_BATCH 1
-#define SQL_PAS_NO_BATCH 2
-#define SQL_PAS_NO_SELECT 3
-#define SQL_ROW_IGNORE 1
-#define SQL_ROW_NUMBER_UNKNOWN (-2)
-#define SQL_ROW_PROCEED 0
-#define SQL_ROW_SUCCESS_WITH_INFO 6
-#define SQL_SC_FIPS127_2_TRANSITIONAL 0x00000002L
-#define SQL_SC_SQL92_ENTRY 0x00000001L
-#define SQL_SC_SQL92_FULL 0x00000008L
-#define SQL_SC_SQL92_INTERMEDIATE 0x00000004L
-#define SQL_SCC_ISO92_CLI 0x00000002L
-#define SQL_SCC_XOPEN_CLI_VERSION1 0x00000001L
-#define SQL_SCHEMA_TERM SQL_OWNER_TERM
-#define SQL_SCHEMA_USAGE SQL_OWNER_USAGE
-#define SQL_SDF_CURRENT_DATE 0x00000001L
-#define SQL_SDF_CURRENT_TIME 0x00000002L
-#define SQL_SDF_CURRENT_TIMESTAMP 0x00000004L
-#define SQL_SFKD_CASCADE 0x00000001L
-#define SQL_SFKD_NO_ACTION 0x00000002L
-#define SQL_SFKD_SET_DEFAULT 0x00000004L
-#define SQL_SFKD_SET_NULL 0x00000008L
-#define SQL_SFKU_CASCADE 0x00000001L
-#define SQL_SFKU_NO_ACTION 0x00000002L
-#define SQL_SFKU_SET_DEFAULT 0x00000004L
-#define SQL_SFKU_SET_NULL 0x00000008L
-#define SQL_SG_DELETE_TABLE 0x00000020L
-#define SQL_SG_INSERT_COLUMN 0x00000080L
-#define SQL_SG_INSERT_TABLE 0x00000040L
-#define SQL_SG_REFERENCES_COLUMN 0x00000200L
-#define SQL_SG_REFERENCES_TABLE 0x00000100L
-#define SQL_SG_SELECT_TABLE 0x00000400L
-#define SQL_SG_UPDATE_COLUMN 0x00001000L
-#define SQL_SG_UPDATE_TABLE 0x00000800L
-#define SQL_SG_USAGE_ON_CHARACTER_SET 0x00000002L
-#define SQL_SG_USAGE_ON_COLLATION 0x00000004L
-#define SQL_SG_USAGE_ON_DOMAIN 0x00000001L
-#define SQL_SG_USAGE_ON_TRANSLATION 0x00000008L
-#define SQL_SG_WITH_GRANT_OPTION 0x00000010L
-#define SQL_SNVF_BIT_LENGTH 0x00000001L
-#define SQL_SNVF_CHAR_LENGTH 0x00000002L
-#define SQL_SNVF_CHARACTER_LENGTH 0x00000004L
-#define SQL_SNVF_EXTRACT 0x00000008L
-#define SQL_SNVF_OCTET_LENGTH 0x00000010L
-#define SQL_SNVF_POSITION 0x00000020L
-#define SQL_SP_BETWEEN 0x00000800L
-#define SQL_SP_COMPARISON 0x00001000L
-#define SQL_SP_EXISTS 0x00000001L
-#define SQL_SP_IN 0x00000400L
-#define SQL_SP_ISNOTNULL 0x00000002L
-#define SQL_SP_ISNULL 0x00000004L
-#define SQL_SP_LIKE 0x00000200L
-#define SQL_SP_MATCH_FULL 0x00000008L
-#define SQL_SP_MATCH_PARTIAL 0x00000010L
-#define SQL_SP_MATCH_UNIQUE_FULL 0x00000020L
-#define SQL_SP_MATCH_UNIQUE_PARTIAL 0x00000040L
-#define SQL_SP_OVERLAPS 0x00000080L
-#define SQL_SP_QUANTIFIED_COMPARISON 0x00002000L
-#define SQL_SP_UNIQUE 0x00000100L
-#define SQL_SQL_CONFORMANCE 118
-#define SQL_SQL92_DATETIME_FUNCTIONS 155
-#define SQL_SQL92_FOREIGN_KEY_DELETE_RULE 156
-#define SQL_SQL92_FOREIGN_KEY_UPDATE_RULE 157
-#define SQL_SQL92_GRANT 158
-#define SQL_SQL92_NUMERIC_VALUE_FUNCTIONS 159
-#define SQL_SQL92_PREDICATES 160
-#define SQL_SQL92_RELATIONAL_JOIN_OPERATORS 161
-#define SQL_SQL92_REVOKE 162
-#define SQL_SQL92_ROW_VALUE_CONSTRUCTOR 163
-#define SQL_SQL92_STRING_FUNCTIONS 164
-#define SQL_SQL92_VALUE_EXPRESSIONS 165
-#define SQL_SR_CASCADE 0x00000020L
-#define SQL_SR_DELETE_TABLE 0x00000080L
-#define SQL_SR_GRANT_OPTION_FOR 0x00000010L
-#define SQL_SR_INSERT_COLUMN 0x00000200L
-#define SQL_SR_INSERT_TABLE 0x00000100L
-#define SQL_SR_REFERENCES_COLUMN 0x00000800L
-#define SQL_SR_REFERENCES_TABLE 0x00000400L
-#define SQL_SR_RESTRICT 0x00000040L
-#define SQL_SR_SELECT_TABLE 0x00001000L
-#define SQL_SR_UPDATE_COLUMN 0x00004000L
-#define SQL_SR_UPDATE_TABLE 0x00002000L
-#define SQL_SR_USAGE_ON_CHARACTER_SET 0x00000002L
-#define SQL_SR_USAGE_ON_COLLATION 0x00000004L
-#define SQL_SR_USAGE_ON_DOMAIN 0x00000001L
-#define SQL_SR_USAGE_ON_TRANSLATION 0x00000008L
-#define SQL_SRJO_CORRESPONDING_CLAUSE 0x00000001L
-#define SQL_SRJO_CROSS_JOIN 0x00000002L
-#define SQL_SRJO_EXCEPT_JOIN 0x00000004L
-#define SQL_SRJO_FULL_OUTER_JOIN 0x00000008L
-#define SQL_SRJO_INNER_JOIN 0x00000010L
-#define SQL_SRJO_INTERSECT_JOIN 0x00000020L
-#define SQL_SRJO_LEFT_OUTER_JOIN 0x00000040L
-#define SQL_SRJO_NATURAL_JOIN 0x00000080L
-#define SQL_SRJO_RIGHT_OUTER_JOIN 0x00000100L
-#define SQL_SRJO_UNION_JOIN 0x00000200L
-#define SQL_SRVC_DEFAULT 0x00000004L
-#define SQL_SRVC_NULL 0x00000002L
-#define SQL_SRVC_ROW_SUBQUERY 0x00000008L
-#define SQL_SRVC_VALUE_EXPRESSION 0x00000001L
-#define SQL_SSF_CONVERT 0x00000001L
-#define SQL_SSF_LOWER 0x00000002L
-#define SQL_SSF_SUBSTRING 0x00000008L
-#define SQL_SSF_TRANSLATE 0x00000010L
-#define SQL_SSF_TRIM_BOTH 0x00000020L
-#define SQL_SSF_TRIM_LEADING 0x00000040L
-#define SQL_SSF_TRIM_TRAILING 0x00000080L
-#define SQL_SSF_UPPER 0x00000004L
-#define SQL_STANDARD_CLI_CONFORMANCE 166
-#define SQL_STATIC_CURSOR_ATTRIBUTES1 167
-#define SQL_STATIC_CURSOR_ATTRIBUTES2 168
-#define SQL_SU_DML_STATEMENTS SQL_OU_DML_STATEMENTS
-#define SQL_SU_INDEX_DEFINITION SQL_OU_INDEX_DEFINITION
-#define SQL_SU_PRIVILEGE_DEFINITION SQL_OU_PRIVILEGE_DEFINITION
-#define SQL_SU_PROCEDURE_INVOCATION SQL_OU_PROCEDURE_INVOCATION
-#define SQL_SU_TABLE_DEFINITION SQL_OU_TABLE_DEFINITION
-#define SQL_SVE_CASE 0x00000001L
-#define SQL_SVE_CAST 0x00000002L
-#define SQL_SVE_COALESCE 0x00000004L
-#define SQL_SVE_NULLIF 0x00000008L
-#define SQL_UB_FIXED SQL_UB_ON
-#define SQL_UB_VARIABLE 2UL
-#define SQL_UNION_STATEMENT SQL_UNION
-#define SQL_UPDATE_BY_BOOKMARK 5
-#define SQL_US_UNION SQL_U_UNION
-#define SQL_US_UNION_ALL SQL_U_UNION_ALL
-#endif /* ODBCVER >= 0x300 */
-#if (ODBCVER >= 0x0350)
-#define SQL_DESC_ROWVER 35
-#define SQL_GUID (-11)
-#define SQL_C_GUID SQL_GUID
-#ifdef ODBC_STD
-#define SQLAllocHandle SQLAllocHandleStd
-#define SQLAllocEnv(p) SQLAllocHandleStd(SQL_HANDLE_ENV,SQL_NULL_HANDLE,p)
-#define SQL_YEAR SQL_CODE_YEAR
-#define SQL_MONTH SQL_CODE_MONTH
-#define SQL_DAY SQL_CODE_DAY
-#define SQL_HOUR SQL_CODE_HOUR
-#define SQL_MINUTE SQL_CODE_MINUTE
-#define SQL_SECOND SQL_CODE_SECOND
-#define SQL_YEAR_TO_MONTH SQL_CODE_YEAR_TO_MONTH
-#define SQL_DAY_TO_HOUR SQL_CODE_DAY_TO_HOUR
-#define SQL_DAY_TO_MINUTE SQL_CODE_DAY_TO_MINUTE
-#define SQL_DAY_TO_SECOND SQL_CODE_DAY_TO_SECOND
-#define SQL_HOUR_TO_MINUTE SQL_CODE_HOUR_TO_MINUTE
-#define SQL_HOUR_TO_SECOND SQL_CODE_HOUR_TO_SECOND
-#define SQL_MINUTE_TO_SECOND SQL_CODE_MINUTE_TO_SECOND
-#endif /* ODBC_STD */
-#endif /* ODBCVER >= 0x0350 */
-#if (ODBCVER >= 0x0351)
-#define SQL_ATTR_ANSI_APP 115
-#define SQL_AA_TRUE 1L
-#define SQL_AA_FALSE 0L
-#endif
-
-#define TRACE_VERSION 1000
-#define TRACE_ON 1
-
-#ifndef RC_INVOKED
-#define SQL_ODBC_KEYWORDS \
-"ABSOLUTE,ACTION,ADA,ADD,ALL,ALLOCATE,ALTER,AND,ANY,ARE,AS,"\
-"ASC,ASSERTION,AT,AUTHORIZATION,AVG,"\
-"BEGIN,BETWEEN,BIT,BIT_LENGTH,BOTH,BY,CASCADE,CASCADED,CASE,CAST,CATALOG,"\
-"CHAR,CHAR_LENGTH,CHARACTER,CHARACTER_LENGTH,CHECK,CLOSE,COALESCE,"\
-"COLLATE,COLLATION,COLUMN,COMMIT,CONNECT,CONNECTION,CONSTRAINT,"\
-"CONSTRAINTS,CONTINUE,CONVERT,CORRESPONDING,COUNT,CREATE,CROSS,CURRENT,"\
-"CURRENT_DATE,CURRENT_TIME,CURRENT_TIMESTAMP,CURRENT_USER,CURSOR,"\
-"DATE,DAY,DEALLOCATE,DEC,DECIMAL,DECLARE,DEFAULT,DEFERRABLE,"\
-"DEFERRED,DELETE,DESC,DESCRIBE,DESCRIPTOR,DIAGNOSTICS,DISCONNECT,"\
-"DISTINCT,DOMAIN,DOUBLE,DROP,"\
-"ELSE,END,END-EXEC,ESCAPE,EXCEPT,EXCEPTION,EXEC,EXECUTE,"\
-"EXISTS,EXTERNAL,EXTRACT,"\
-"FALSE,FETCH,FIRST,FLOAT,FOR,FOREIGN,FORTRAN,FOUND,FROM,FULL,"\
-"GET,GLOBAL,GO,GOTO,GRANT,GROUP,HAVING,HOUR,"\
-"IDENTITY,IMMEDIATE,IN,INCLUDE,INDEX,INDICATOR,INITIALLY,INNER,"\
-"INPUT,INSENSITIVE,INSERT,INT,INTEGER,INTERSECT,INTERVAL,INTO,IS,ISOLATION,"\
-"JOIN,KEY,LANGUAGE,LAST,LEADING,LEFT,LEVEL,LIKE,LOCAL,LOWER,"\
-"MATCH,MAX,MIN,MINUTE,MODULE,MONTH,"\
-"NAMES,NATIONAL,NATURAL,NCHAR,NEXT,NO,NONE,NOT,NULL,NULLIF,NUMERIC,"\
-"OCTET_LENGTH,OF,ON,ONLY,OPEN,OPTION,OR,ORDER,OUTER,OUTPUT,OVERLAPS,"\
-"PAD,PARTIAL,PASCAL,PLI,POSITION,PRECISION,PREPARE,PRESERVE,"\
-"PRIMARY,PRIOR,PRIVILEGES,PROCEDURE,PUBLIC,"\
-"READ,REAL,REFERENCES,RELATIVE,RESTRICT,REVOKE,RIGHT,ROLLBACK,ROWS"\
-"SCHEMA,SCROLL,SECOND,SECTION,SELECT,SESSION,SESSION_USER,SET,SIZE,"\
-"SMALLINT,SOME,SPACE,SQL,SQLCA,SQLCODE,SQLERROR,SQLSTATE,SQLWARNING,"\
-"SUBSTRING,SUM,SYSTEM_USER,"\
-"TABLE,TEMPORARY,THEN,TIME,TIMESTAMP,TIMEZONE_HOUR,TIMEZONE_MINUTE,"\
-"TO,TRAILING,TRANSACTION,TRANSLATE,TRANSLATION,TRIM,TRUE,"\
-"UNION,UNIQUE,UNKNOWN,UPDATE,UPPER,USAGE,USER,USING,"\
-"VALUE,VALUES,VARCHAR,VARYING,VIEW,WHEN,WHENEVER,WHERE,WITH,WORK,WRITE,"\
-"YEAR,ZONE"
-
-SQLRETURN SQL_API SQLDriverConnect(SQLHDBC,SQLHWND,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT,SQLSMALLINT*,SQLUSMALLINT);
-SQLRETURN SQL_API SQLBrowseConnect(SQLHDBC,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT,SQLSMALLINT*);
-SQLRETURN SQL_API SQLColumnPrivileges(SQLHSTMT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT);
-SQLRETURN SQL_API SQLColAttributes(SQLHSTMT,SQLUSMALLINT, SQLUSMALLINT, SQLPOINTER, SQLSMALLINT, SQLSMALLINT*, SQLLEN*);
-SQLRETURN SQL_API SQLDescribeParam(SQLHSTMT,SQLUSMALLINT,SQLSMALLINT*,SQLULEN*,SQLSMALLINT*,SQLSMALLINT*);
-SQLRETURN SQL_API SQLExtendedFetch(SQLHSTMT,SQLUSMALLINT,SQLINTEGER,SQLUINTEGER*,SQLUSMALLINT*);
-SQLRETURN SQL_API SQLForeignKeys(SQLHSTMT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT);
-SQLRETURN SQL_API SQLMoreResults(SQLHSTMT);
-SQLRETURN SQL_API SQLNativeSql(SQLHDBC,SQLCHAR*,SQLINTEGER,SQLCHAR*,SQLINTEGER,SQLINTEGER*);
-SQLRETURN SQL_API SQLNumParams(SQLHSTMT,SQLSMALLINT*);
-SQLRETURN SQL_API SQLParamOptions(SQLHSTMT,SQLUINTEGER,SQLUINTEGER*);
-SQLRETURN SQL_API SQLPrimaryKeys(SQLHSTMT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT);
-SQLRETURN SQL_API SQLProcedureColumns(SQLHSTMT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT);
-SQLRETURN SQL_API SQLProcedures(SQLHSTMT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT);
-SQLRETURN SQL_API SQLSetPos(SQLHSTMT,SQLUSMALLINT,SQLUSMALLINT,SQLUSMALLINT);
-SQLRETURN SQL_API SQLTablePrivileges(SQLHSTMT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT);
-SQLRETURN SQL_API SQLDrivers(SQLHENV,SQLUSMALLINT,SQLCHAR*,SQLSMALLINT,SQLSMALLINT*,SQLCHAR*,SQLSMALLINT,SQLSMALLINT*);
-SQLRETURN SQL_API SQLBindParameter(SQLHSTMT,SQLUSMALLINT,SQLSMALLINT,SQLSMALLINT,SQLSMALLINT,SQLULEN,SQLSMALLINT,SQLPOINTER,SQLLEN,SQLLEN*);
-SQLRETURN SQL_API SQLSetScrollOptions(SQLHSTMT,SQLUSMALLINT,SQLLEN,SQLUSMALLINT); /* deprecated */
-DWORD SQL_API ODBCGetTryWaitValue(void);
-BOOL SQL_API ODBCSetTryWaitValue(DWORD);
-RETCODE SQL_API TraceOpenLogFile(LPWSTR,LPWSTR,DWORD);
-RETCODE SQL_API TraceCloseLogFile(void);
-VOID SQL_API TraceReturn(RETCODE,RETCODE);
-DWORD SQL_API TraceVersion(void);
-#if (ODBCVER >= 0x0300)
-SQLRETURN SQL_API SQLBulkOperations(SQLHSTMT,SQLSMALLINT);
-SQLRETURN SQL_API SQLAllocHandleStd( SQLSMALLINT,SQLHANDLE,SQLHANDLE*);
-#endif
-#endif /* ndef RC_INVOKED */
-#include <sqlucode.h>
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/winsup/w32api/include/sqltypes.h b/winsup/w32api/include/sqltypes.h
deleted file mode 100644
index fcc713550..000000000
--- a/winsup/w32api/include/sqltypes.h
+++ /dev/null
@@ -1,165 +0,0 @@
-#ifndef _SQLTYPES_H
-#define _SQLTYPES_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-#define SQL_API __stdcall
-#ifndef RC_INVOKED
-#define __need_wchar_t
-#include <stddef.h>
-typedef signed char SCHAR;
-typedef long SDWORD;
-typedef short SWORD;
-typedef ULONG UDWORD;
-typedef USHORT UWORD;
-typedef signed long SLONG;
-typedef signed short SSHORT;
-typedef double SDOUBLE;
-typedef double LDOUBLE;
-typedef float SFLOAT;
-typedef PVOID PTR;
-typedef PVOID HENV;
-typedef PVOID HDBC;
-typedef PVOID HSTMT;
-typedef short RETCODE;
-typedef UCHAR SQLCHAR;
-typedef SCHAR SQLSCHAR;
-typedef SDWORD SQLINTEGER;
-typedef SWORD SQLSMALLINT;
-#ifndef __WIN64
-typedef UDWORD SQLUINTEGER;
-#endif
-typedef UWORD SQLUSMALLINT;
-typedef PVOID SQLPOINTER;
-#if (ODBCVER >= 0x0300)
-typedef void* SQLHANDLE;
-typedef SQLHANDLE SQLHENV;
-typedef SQLHANDLE SQLHDBC;
-typedef SQLHANDLE SQLHSTMT;
-typedef SQLHANDLE SQLHDESC;
-#else
-typedef void* SQLHENV;
-typedef void* SQLHDBC;
-typedef void* SQLHSTMT;
-#endif
-typedef SQLSMALLINT SQLRETURN;
-typedef HWND SQLHWND;
-typedef ULONG BOOKMARK;
-#ifdef _WIN64
-typedef INT64 SQLLEN;
-typedef INT64 SQLROWOFFSET;
-typedef UINT64 SQLROWCOUNT;
-typedef UINT64 SQLULEN;
-typedef UINT64 SQLTRANSID;
-typedef unsigned long SQLSETPOSIROW;
-#else
-#define SQLLEN SQLINTEGER
-#define SQLROWOFFSET SQLINTEGER
-#define SQLROWCOUNT SQLUINTEGER
-#define SQLULEN SQLUINTEGER
-#define SQLTRANSID DWORD
-#define SQLSETPOSIROW SQLUSMALLINT
-#endif
-typedef wchar_t SQLWCHAR;
-#ifdef UNICODE
-typedef SQLWCHAR SQLTCHAR;
-#else
-typedef SQLCHAR SQLTCHAR;
-#endif /* UNICODE */
-#if (ODBCVER >= 0x0300)
-typedef unsigned char SQLDATE;
-typedef unsigned char SQLDECIMAL;
-typedef double SQLDOUBLE;
-typedef double SQLFLOAT;
-typedef unsigned char SQLNUMERIC;
-typedef float SQLREAL;
-typedef unsigned char SQLTIME;
-typedef unsigned char SQLTIMESTAMP;
-typedef unsigned char SQLVARCHAR;
-#define ODBCINT64 __int64
-typedef __int64 SQLBIGINT;
-typedef unsigned __int64 SQLUBIGINT;
-#endif
-
-typedef struct tagDATE_STRUCT {
- SQLSMALLINT year;
- SQLUSMALLINT month;
- SQLUSMALLINT day;
-} DATE_STRUCT;
-typedef struct tagTIME_STRUCT {
- SQLUSMALLINT hour;
- SQLUSMALLINT minute;
- SQLUSMALLINT second;
-} TIME_STRUCT;
-typedef struct tagTIMESTAMP_STRUCT {
- SQLSMALLINT year;
- SQLUSMALLINT month;
- SQLUSMALLINT day;
- SQLUSMALLINT hour;
- SQLUSMALLINT minute;
- SQLUSMALLINT second;
- SQLUINTEGER fraction;
-} TIMESTAMP_STRUCT;
-#if (ODBCVER >= 0x0300)
-typedef DATE_STRUCT SQL_DATE_STRUCT;
-typedef TIME_STRUCT SQL_TIME_STRUCT;
-typedef TIMESTAMP_STRUCT SQL_TIMESTAMP_STRUCT;
-typedef enum {
- SQL_IS_YEAR = 1,SQL_IS_MONTH,SQL_IS_DAY,SQL_IS_HOUR,
- SQL_IS_MINUTE,SQL_IS_SECOND,SQL_IS_YEAR_TO_MONTH,SQL_IS_DAY_TO_HOUR,
- SQL_IS_DAY_TO_MINUTE,SQL_IS_DAY_TO_SECOND,SQL_IS_HOUR_TO_MINUTE,
- SQL_IS_HOUR_TO_SECOND,SQL_IS_MINUTE_TO_SECOND
-} SQLINTERVAL;
-typedef struct tagSQL_YEAR_MONTH {
- SQLUINTEGER year;
- SQLUINTEGER month;
-} SQL_YEAR_MONTH_STRUCT;
-typedef struct tagSQL_DAY_SECOND {
- SQLUINTEGER day;
- SQLUINTEGER hour;
- SQLUINTEGER minute;
- SQLUINTEGER second;
- SQLUINTEGER fraction;
-} SQL_DAY_SECOND_STRUCT;
-typedef struct tagSQL_INTERVAL_STRUCT {
- SQLINTERVAL interval_type;
- SQLSMALLINT interval_sign;
- union {
- SQL_YEAR_MONTH_STRUCT year_month;
- SQL_DAY_SECOND_STRUCT day_second;
- } intval;
-} SQL_INTERVAL_STRUCT;
-#define SQL_MAX_NUMERIC_LEN 16
-typedef struct tagSQL_NUMERIC_STRUCT {
- SQLCHAR precision;
- SQLSCHAR scale;
- SQLCHAR sign;
- SQLCHAR val[SQL_MAX_NUMERIC_LEN];
-} SQL_NUMERIC_STRUCT;
-#endif /* ODBCVER >= 0x0300 */
-#if (ODBCVER >= 0x0350)
-
-#ifdef _GUID_DEFINED
-# warning _GUID_DEFINED is deprecated, use GUID_DEFINED instead
-#endif
-
-#if defined _GUID_DEFINED || defined GUID_DEFINED
-typedef GUID SQLGUID;
-#else
-typedef struct tagSQLGUID{
- DWORD Data1;
- WORD Data2;
- WORD Data3;
- BYTE Data4[ 8 ];
-} SQLGUID;
-#endif /* GUID_DEFINED */
-#endif /* ODBCVER >= 0x0350 */
-#endif /* RC_INVOKED */
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/winsup/w32api/include/sqlucode.h b/winsup/w32api/include/sqlucode.h
deleted file mode 100644
index 688ced2c7..000000000
--- a/winsup/w32api/include/sqlucode.h
+++ /dev/null
@@ -1,142 +0,0 @@
-#ifndef _SQLUCODE_H
-#define _SQLUCODE_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#include <sqlext.h>
-#ifdef __cplusplus
-extern "C" {
-#endif
-#define SQL_WCHAR (-8)
-#define SQL_WVARCHAR (-9)
-#define SQL_WLONGVARCHAR (-10)
-#define SQL_C_WCHAR SQL_WCHAR
-#define SQL_SQLSTATE_SIZEW 10
-#ifdef UNICODE
-#define SQL_C_TCHAR SQL_C_WCHAR
-#else
-#define SQL_C_TCHAR SQL_C_CHAR
-#endif
-#ifndef RC_INVOKED
-SQLRETURN SQL_API SQLBrowseConnectA(SQLHDBC,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT,SQLSMALLINT*);
-SQLRETURN SQL_API SQLBrowseConnectW(SQLHDBC,SQLWCHAR*,SQLSMALLINT,SQLWCHAR*,SQLSMALLINT,SQLSMALLINT*);
-SQLRETURN SQL_API SQLColAttributeA(SQLHSTMT,SQLSMALLINT,SQLSMALLINT,SQLPOINTER,SQLSMALLINT,SQLSMALLINT*,SQLPOINTER);
-SQLRETURN SQL_API SQLColAttributeW(SQLHSTMT,SQLUSMALLINT,SQLUSMALLINT,SQLPOINTER,SQLSMALLINT,SQLSMALLINT*,SQLPOINTER);
-SQLRETURN SQL_API SQLColAttributesA(SQLHSTMT,SQLUSMALLINT,SQLUSMALLINT,SQLPOINTER,SQLSMALLINT,SQLSMALLINT*,SQLLEN*);
-SQLRETURN SQL_API SQLColAttributesW(SQLHSTMT,SQLUSMALLINT,SQLUSMALLINT,SQLPOINTER,SQLSMALLINT,SQLSMALLINT*,SQLLEN*);
-SQLRETURN SQL_API SQLColumnPrivilegesA( SQLHSTMT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT ,SQLCHAR*,SQLSMALLINT );
-SQLRETURN SQL_API SQLColumnPrivilegesW( SQLHSTMT,SQLWCHAR*,SQLSMALLINT,SQLWCHAR*,SQLSMALLINT,SQLWCHAR*,SQLSMALLINT,SQLWCHAR*,SQLSMALLINT );
-SQLRETURN SQL_API SQLColumnsA(SQLHSTMT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT ,SQLCHAR*,SQLSMALLINT );
-SQLRETURN SQL_API SQLColumnsW(SQLHSTMT,SQLWCHAR*,SQLSMALLINT,SQLWCHAR*,SQLSMALLINT,SQLWCHAR*,SQLSMALLINT ,SQLWCHAR*,SQLSMALLINT );
-SQLRETURN SQL_API SQLConnectA(SQLHDBC,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT);
-SQLRETURN SQL_API SQLConnectW(SQLHDBC,SQLWCHAR*,SQLSMALLINT,SQLWCHAR*,SQLSMALLINT,SQLWCHAR*,SQLSMALLINT);
-SQLRETURN SQL_API SQLDataSourcesA(SQLHENV,SQLUSMALLINT,SQLCHAR*,SQLSMALLINT,SQLSMALLINT*,SQLCHAR*,SQLSMALLINT,SQLSMALLINT*);
-SQLRETURN SQL_API SQLDataSourcesW(SQLHENV,SQLUSMALLINT,SQLWCHAR*,SQLSMALLINT,SQLSMALLINT*,SQLWCHAR*,SQLSMALLINT,SQLSMALLINT*);
-SQLRETURN SQL_API SQLDescribeColA(SQLHSTMT,SQLUSMALLINT,SQLCHAR*,SQLSMALLINT,SQLSMALLINT*,SQLSMALLINT*,SQLULEN*,SQLSMALLINT*,SQLSMALLINT*);
-SQLRETURN SQL_API SQLDescribeColW(SQLHSTMT,SQLUSMALLINT,SQLWCHAR*,SQLSMALLINT,SQLSMALLINT*,SQLSMALLINT*,SQLULEN*,SQLSMALLINT*,SQLSMALLINT*);
-SQLRETURN SQL_API SQLDriverConnectA(SQLHDBC,SQLHWND,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT,SQLSMALLINT*,SQLUSMALLINT);
-SQLRETURN SQL_API SQLDriverConnectW(SQLHDBC,SQLHWND,SQLWCHAR*,SQLSMALLINT,SQLWCHAR*,SQLSMALLINT,SQLSMALLINT*,SQLUSMALLINT);
-SQLRETURN SQL_API SQLDriversA(SQLHENV,SQLUSMALLINT,SQLCHAR*,SQLSMALLINT,SQLSMALLINT*,SQLCHAR*,SQLSMALLINT,SQLSMALLINT*);
-SQLRETURN SQL_API SQLDriversW(SQLHENV,SQLUSMALLINT,SQLWCHAR*,SQLSMALLINT,SQLSMALLINT*,SQLWCHAR*,SQLSMALLINT,SQLSMALLINT*);
-SQLRETURN SQL_API SQLErrorA(SQLHENV,SQLHDBC,SQLHSTMT,SQLCHAR*,SQLINTEGER*,SQLCHAR*,SQLSMALLINT,SQLSMALLINT*);
-SQLRETURN SQL_API SQLErrorW(SQLHENV,SQLHDBC,SQLHSTMT,SQLWCHAR*,SQLINTEGER*,SQLWCHAR*,SQLSMALLINT,SQLSMALLINT*);
-SQLRETURN SQL_API SQLExecDirectA(SQLHSTMT,SQLCHAR*,SQLINTEGER);
-SQLRETURN SQL_API SQLExecDirectW(SQLHSTMT,SQLWCHAR*,SQLINTEGER);
-SQLRETURN SQL_API SQLForeignKeysA(SQLHSTMT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT);
-SQLRETURN SQL_API SQLForeignKeysW(SQLHSTMT,SQLWCHAR*,SQLSMALLINT,SQLWCHAR*,SQLSMALLINT,SQLWCHAR*,SQLSMALLINT,SQLWCHAR*,SQLSMALLINT,SQLWCHAR*,SQLSMALLINT,SQLWCHAR*,SQLSMALLINT);
-SQLRETURN SQL_API SQLGetConnectAttrA(SQLHDBC,SQLINTEGER,SQLPOINTER,SQLINTEGER,SQLINTEGER*);
-SQLRETURN SQL_API SQLGetConnectAttrW(SQLHDBC,SQLINTEGER,SQLPOINTER,SQLINTEGER,SQLINTEGER*);
-SQLRETURN SQL_API SQLGetConnectOptionA(SQLHDBC,SQLUSMALLINT,SQLPOINTER);
-SQLRETURN SQL_API SQLGetConnectOptionW(SQLHDBC,SQLUSMALLINT,SQLPOINTER);
-SQLRETURN SQL_API SQLGetCursorNameA(SQLHSTMT,SQLCHAR*,SQLSMALLINT,SQLSMALLINT*);
-SQLRETURN SQL_API SQLGetCursorNameW(SQLHSTMT,SQLWCHAR*,SQLSMALLINT,SQLSMALLINT*);
-SQLRETURN SQL_API SQLGetInfoA(SQLHDBC,SQLUSMALLINT,SQLPOINTER,SQLSMALLINT,SQLSMALLINT*);
-SQLRETURN SQL_API SQLGetInfoW(SQLHDBC,SQLUSMALLINT,SQLPOINTER,SQLSMALLINT,SQLSMALLINT*);
-SQLRETURN SQL_API SQLGetTypeInfoA(SQLHSTMT,SQLSMALLINT);
-SQLRETURN SQL_API SQLGetTypeInfoW(SQLHSTMT,SQLSMALLINT);
-SQLRETURN SQL_API SQLNativeSqlA(SQLHDBC,SQLCHAR*,SQLINTEGER,SQLCHAR*,SQLINTEGER,SQLINTEGER*);
-SQLRETURN SQL_API SQLNativeSqlW(SQLHDBC,SQLWCHAR*,SQLINTEGER,SQLWCHAR*,SQLINTEGER,SQLINTEGER*);
-SQLRETURN SQL_API SQLPrepareA(SQLHSTMT,SQLCHAR*,SQLINTEGER);
-SQLRETURN SQL_API SQLPrepareW(SQLHSTMT,SQLWCHAR*,SQLINTEGER);
-SQLRETURN SQL_API SQLPrimaryKeysA(SQLHSTMT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT );
-SQLRETURN SQL_API SQLPrimaryKeysW(SQLHSTMT,SQLWCHAR*,SQLSMALLINT,SQLWCHAR*,SQLSMALLINT,SQLWCHAR*,SQLSMALLINT);
-SQLRETURN SQL_API SQLProcedureColumnsA(SQLHSTMT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT);
-SQLRETURN SQL_API SQLProcedureColumnsW(SQLHSTMT,SQLWCHAR*,SQLSMALLINT,SQLWCHAR*,SQLSMALLINT,SQLWCHAR*,SQLSMALLINT,SQLWCHAR*,SQLSMALLINT);
-SQLRETURN SQL_API SQLProceduresA(SQLHSTMT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT);
-SQLRETURN SQL_API SQLProceduresW(SQLHSTMT,SQLWCHAR*,SQLSMALLINT,SQLWCHAR*,SQLSMALLINT,SQLWCHAR*,SQLSMALLINT);
-SQLRETURN SQL_API SQLSetConnectAttrA(SQLHDBC,SQLINTEGER,SQLPOINTER,SQLINTEGER);
-SQLRETURN SQL_API SQLSetConnectAttrW(SQLHDBC,SQLINTEGER,SQLPOINTER,SQLINTEGER);
-SQLRETURN SQL_API SQLSetConnectOptionA(SQLHDBC,SQLUSMALLINT,SQLULEN);
-SQLRETURN SQL_API SQLSetConnectOptionW(SQLHDBC,SQLUSMALLINT,SQLULEN);
-SQLRETURN SQL_API SQLSetCursorNameA(SQLHSTMT,SQLCHAR*,SQLSMALLINT);
-SQLRETURN SQL_API SQLSetCursorNameW(SQLHSTMT,SQLWCHAR*,SQLSMALLINT);
-SQLRETURN SQL_API SQLSpecialColumnsA(SQLHSTMT,SQLUSMALLINT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT ,SQLUSMALLINT,SQLUSMALLINT);
-SQLRETURN SQL_API SQLSpecialColumnsW(SQLHSTMT,SQLUSMALLINT,SQLWCHAR*,SQLSMALLINT,SQLWCHAR*,SQLSMALLINT,SQLWCHAR*,SQLSMALLINT ,SQLUSMALLINT,SQLUSMALLINT);
-SQLRETURN SQL_API SQLStatisticsA(SQLHSTMT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT ,SQLUSMALLINT,SQLUSMALLINT);
-SQLRETURN SQL_API SQLStatisticsW(SQLHSTMT,SQLWCHAR*,SQLSMALLINT,SQLWCHAR*,SQLSMALLINT,SQLWCHAR*,SQLSMALLINT ,SQLUSMALLINT,SQLUSMALLINT);
-SQLRETURN SQL_API SQLTablePrivilegesA(SQLHSTMT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT);
-SQLRETURN SQL_API SQLTablePrivilegesW(SQLHSTMT,SQLWCHAR*,SQLSMALLINT,SQLWCHAR*,SQLSMALLINT,SQLWCHAR*,SQLSMALLINT );
-SQLRETURN SQL_API SQLTablesA(SQLHSTMT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT,SQLCHAR*,SQLSMALLINT);
-SQLRETURN SQL_API SQLTablesW(SQLHSTMT,SQLWCHAR*,SQLSMALLINT,SQLWCHAR*,SQLSMALLINT,SQLWCHAR*,SQLSMALLINT,SQLWCHAR*,SQLSMALLINT);
-#if (ODBCVER >= 0x0300)
-SQLRETURN SQL_API SQLGetDescFieldA(SQLHDESC,SQLSMALLINT,SQLSMALLINT,SQLPOINTER,SQLINTEGER,SQLINTEGER*);
-SQLRETURN SQL_API SQLGetDescFieldW(SQLHDESC,SQLSMALLINT,SQLSMALLINT,SQLPOINTER,SQLINTEGER,SQLINTEGER*);
-SQLRETURN SQL_API SQLSetDescFieldA(SQLHDESC,SQLSMALLINT,SQLSMALLINT,SQLPOINTER,SQLINTEGER);
-SQLRETURN SQL_API SQLSetDescFieldW(SQLHDESC,SQLSMALLINT,SQLSMALLINT,SQLPOINTER,SQLINTEGER);
-SQLRETURN SQL_API SQLGetDescRecA(SQLHDESC,SQLSMALLINT,SQLCHAR*,SQLSMALLINT,SQLSMALLINT*,SQLSMALLINT*,SQLSMALLINT*,SQLLEN*,SQLSMALLINT*,SQLSMALLINT*,SQLSMALLINT*);
-SQLRETURN SQL_API SQLGetDescRecW(SQLHDESC,SQLSMALLINT,SQLWCHAR*,SQLSMALLINT,SQLSMALLINT*,SQLSMALLINT*,SQLSMALLINT*,SQLLEN*,SQLSMALLINT*,SQLSMALLINT*,SQLSMALLINT*);
-SQLRETURN SQL_API SQLGetDiagFieldA(SQLSMALLINT,SQLHANDLE,SQLSMALLINT,SQLSMALLINT,SQLPOINTER,SQLSMALLINT,SQLSMALLINT*);
-SQLRETURN SQL_API SQLGetDiagFieldW(SQLSMALLINT,SQLHANDLE,SQLSMALLINT,SQLSMALLINT,SQLPOINTER,SQLSMALLINT,SQLSMALLINT*);
-SQLRETURN SQL_API SQLGetDiagRecA(SQLSMALLINT,SQLHANDLE,SQLSMALLINT,SQLCHAR*,SQLINTEGER*,SQLCHAR*,SQLSMALLINT,SQLSMALLINT*);
-SQLRETURN SQL_API SQLGetDiagRecW(SQLSMALLINT,SQLHANDLE,SQLSMALLINT,SQLWCHAR*,SQLINTEGER*,SQLWCHAR*,SQLSMALLINT,SQLSMALLINT*);
-SQLRETURN SQL_API SQLGetStmtAttrA(SQLHSTMT,SQLINTEGER,SQLPOINTER,SQLINTEGER,SQLINTEGER*);
-SQLRETURN SQL_API SQLGetStmtAttrW(SQLHSTMT,SQLINTEGER,SQLPOINTER,SQLINTEGER,SQLINTEGER*);
-SQLRETURN SQL_API SQLSetStmtAttrA(SQLHSTMT,SQLINTEGER,SQLPOINTER,SQLINTEGER);
-SQLRETURN SQL_API SQLSetStmtAttrW(SQLHSTMT,SQLINTEGER,SQLPOINTER,SQLINTEGER);
-#endif /* (ODBCVER >= 0x0300) */
-
-#if defined (UNICODE) && !defined (SQL_NOUNICODEMAP)
-#define SQLBrowseConnect SQLBrowseConnectW
-#define SQLColAttribute SQLColAttributeW
-#define SQLColAttributes SQLColAttributesW
-#define SQLColumnPrivileges SQLColumnPrivilegesW
-#define SQLColumns SQLColumnsW
-#define SQLConnect SQLConnectW
-#define SQLDataSources SQLDataSourcesW
-#define SQLDescribeCol SQLDescribeColW
-#define SQLDriverConnect SQLDriverConnectW
-#define SQLDrivers SQLDriversW
-#define SQLError SQLErrorW
-#define SQLExecDirect SQLExecDirectW
-#define SQLForeignKeys SQLForeignKeysW
-#define SQLGetConnectAttr SQLGetConnectAttrW
-#define SQLGetConnectOption SQLGetConnectOptionW
-#define SQLGetCursorName SQLGetCursorNameW
-#define SQLGetDescField SQLGetDescFieldW
-#define SQLGetDescRec SQLGetDescRecW
-#define SQLGetDiagField SQLGetDiagFieldW
-#define SQLGetDiagRec SQLGetDiagRecW
-#define SQLGetInfo SQLGetInfoW
-#define SQLGetStmtAttr SQLGetStmtAttrW
-#define SQLGetTypeInfo SQLGetTypeInfoW
-#define SQLNativeSql SQLNativeSqlW
-#define SQLPrepare SQLPrepareW
-#define SQLPrimaryKeys SQLPrimaryKeysW
-#define SQLProcedureColumns SQLProcedureColumnsW
-#define SQLProcedures SQLProceduresW
-#define SQLSetConnectAttr SQLSetConnectAttrW
-#define SQLSetConnectOption SQLSetConnectOptionW
-#define SQLSetCursorName SQLSetCursorNameW
-#define SQLSetDescField SQLSetDescFieldW
-#define SQLSetStmtAttr SQLSetStmtAttrW
-#define SQLSpecialColumns SQLSpecialColumnsW
-#define SQLStatistics SQLStatisticsW
-#define SQLTablePrivileges SQLTablePrivilegesW
-#define SQLTables SQLTablesW
-#endif /* UNICODE && ! SQL_NOUNICODEMAP */
-#endif /* RC_INVOKED */
-#ifdef __cplusplus
-}
-#endif /* __cplusplus*/
-#endif /* ndef _SQLUCODE_H */
diff --git a/winsup/w32api/include/sspi.h b/winsup/w32api/include/sspi.h
deleted file mode 100644
index fb2c9ae33..000000000
--- a/winsup/w32api/include/sspi.h
+++ /dev/null
@@ -1,338 +0,0 @@
-#ifndef _SSPI_H
-#define _SSPI_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define SECPKG_CRED_INBOUND 1
-#define SECPKG_CRED_OUTBOUND 2
-#define SECPKG_CRED_BOTH (SECPKG_CRED_OUTBOUND|SECPKG_CRED_INBOUND)
-#define SECPKG_CRED_ATTR_NAMES 1
-
-#define SECPKG_FLAG_INTEGRITY 1
-#define SECPKG_FLAG_PRIVACY 2
-#define SECPKG_FLAG_TOKEN_ONLY 4
-#define SECPKG_FLAG_DATAGRAM 8
-#define SECPKG_FLAG_CONNECTION 16
-#define SECPKG_FLAG_MULTI_REQUIRED 32
-#define SECPKG_FLAG_CLIENT_ONLY 64
-#define SECPKG_FLAG_EXTENDED_ERROR 128
-#define SECPKG_FLAG_IMPERSONATION 256
-#define SECPKG_FLAG_ACCEPT_WIN32_NAME 512
-#define SECPKG_FLAG_STREAM 1024
-
-#define SECPKG_ATTR_AUTHORITY 6
-#define SECPKG_ATTR_CONNECTION_INFO 90
-#define SECPKG_ATTR_ISSUER_LIST 80
-#define SECPKG_ATTR_ISSUER_LIST_EX 89
-#define SECPKG_ATTR_KEY_INFO 5
-#define SECPKG_ATTR_LIFESPAN 2
-#define SECPKG_ATTR_LOCAL_CERT_CONTEXT 84
-#define SECPKG_ATTR_LOCAL_CRED 82
-#define SECPKG_ATTR_NAMES 1
-#define SECPKG_ATTR_PROTO_INFO 7
-#define SECPKG_ATTR_REMOTE_CERT_CONTEXT 83
-#define SECPKG_ATTR_REMOTE_CRED 81
-#define SECPKG_ATTR_SIZES 0
-#define SECPKG_ATTR_STREAM_SIZES 4
-
-#define SECBUFFER_EMPTY 0
-#define SECBUFFER_DATA 1
-#define SECBUFFER_TOKEN 2
-#define SECBUFFER_PKG_PARAMS 3
-#define SECBUFFER_MISSING 4
-#define SECBUFFER_EXTRA 5
-#define SECBUFFER_STREAM_TRAILER 6
-#define SECBUFFER_STREAM_HEADER 7
-#define SECBUFFER_PADDING 9
-#define SECBUFFER_STREAM 10
-#define SECBUFFER_READONLY 0x80000000
-#define SECBUFFER_ATTRMASK 0xf0000000
-
-#define UNISP_NAME_A "Microsoft Unified Security Protocol Provider"
-#define UNISP_NAME_W L"Microsoft Unified Security Protocol Provider"
-#define SECBUFFER_VERSION 0
-
-typedef struct _SecHandle {
- ULONG_PTR dwLower;
- ULONG_PTR dwUpper;
-} SecHandle, *PSecHandle;
-typedef struct _SecBuffer {
- ULONG cbBuffer;
- ULONG BufferType;
- PVOID pvBuffer;
-} SecBuffer, *PSecBuffer;
-typedef SecHandle CredHandle;
-typedef PSecHandle PCredHandle;
-typedef SecHandle CtxtHandle;
-typedef PSecHandle PCtxtHandle;
-typedef struct _SECURITY_INTEGER {
- unsigned long LowPart;
- long HighPart;
-} SECURITY_INTEGER;
-typedef SECURITY_INTEGER TimeStamp, *PTimeStamp;
-typedef struct _SecBufferDesc {
- ULONG ulVersion;
- ULONG cBuffers;
- PSecBuffer pBuffers;
-} SecBufferDesc, *PSecBufferDesc;
-typedef struct _SecPkgContext_StreamSizes {
- ULONG cbHeader;
- ULONG cbTrailer;
- ULONG cbMaximumMessage;
- ULONG cBuffers;
- ULONG cbBlockSize;
-} SecPkgContext_StreamSizes, *PSecPkgContext_StreamSizes;
-typedef struct _SecPkgContext_Sizes {
- ULONG cbMaxToken;
- ULONG cbMaxSignature;
- ULONG cbBlockSize;
- ULONG cbSecurityTrailer;
-} SecPkgContext_Sizes, *PSecPkgContext_Sizes;
-typedef struct _SecPkgContext_AuthorityW {
- SEC_WCHAR* sAuthorityName;
-} SecPkgContext_AuthorityW, *PSecPkgContext_AuthorityW;
-typedef struct _SecPkgContext_AuthorityA {
- SEC_CHAR* sAuthorityName;
-} SecPkgContext_AuthorityA, *PSecPkgContext_AuthorityA;
-typedef struct _SecPkgContext_KeyInfoW {
- SEC_WCHAR* sSignatureAlgorithmName;
- SEC_WCHAR* sEncryptAlgorithmName;
- ULONG KeySize;
- ULONG SignatureAlgorithm;
- ULONG EncryptAlgorithm;
-} SecPkgContext_KeyInfoW, *PSecPkgContext_KeyInfoW;
-typedef struct _SecPkgContext_KeyInfoA {
- SEC_CHAR* sSignatureAlgorithmName;
- SEC_CHAR* sEncryptAlgorithmName;
- ULONG KeySize;
- ULONG SignatureAlgorithm;
- ULONG EncryptAlgorithm;
-} SecPkgContext_KeyInfoA, *PSecPkgContext_KeyInfoA;
-typedef struct _SecPkgContext_LifeSpan {
- TimeStamp tsStart;
- TimeStamp tsExpiry;
-} SecPkgContext_LifeSpan, *PSecPkgContext_LifeSpan;
-typedef struct _SecPkgContext_NamesW {
- SEC_WCHAR* sUserName;
-} SecPkgContext_NamesW, *PSecPkgContext_NamesW;
-typedef struct _SecPkgContext_NamesA {
- SEC_CHAR* sUserName;
-} SecPkgContext_NamesA, *PSecPkgContext_NamesA;
-typedef struct _SecPkgInfoW {
- ULONG fCapabilities;
- USHORT wVersion;
- USHORT wRPCID;
- ULONG cbMaxToken;
- SEC_WCHAR* Name;
- SEC_WCHAR* Comment;
-} SecPkgInfoW, *PSecPkgInfoW;
-typedef struct _SecPkgInfoA {
- ULONG fCapabilities;
- USHORT wVersion;
- USHORT wRPCID;
- ULONG cbMaxToken;
- SEC_CHAR* Name;
- SEC_CHAR* Comment;
-} SecPkgInfoA, *PSecPkgInfoA;
-/* supported only in win2k+, so it should be a PSecPkgInfoW */
-/* PSDK does not say it has ANSI/Unicode versions */
-typedef struct _SecPkgContext_PackageInfo {
- PSecPkgInfoW PackageInfo;
-} SecPkgContext_PackageInfo, *PSecPkgContext_PackageInfo;
-typedef struct _SecPkgCredentials_NamesW {
- SEC_WCHAR* sUserName;
-} SecPkgCredentials_NamesW, *PSecPkgCredentials_NamesW;
-typedef struct _SecPkgCredentials_NamesA {
- SEC_CHAR* sUserName;
-} SecPkgCredentials_NamesA, *PSecPkgCredentials_NamesA;
-
-/* TODO: missing type in SDK */
-typedef void (*SEC_GET_KEY_FN)();
-
-typedef SECURITY_STATUS (WINAPI *ENUMERATE_SECURITY_PACKAGES_FN_W)(PULONG,PSecPkgInfoW*);
-typedef SECURITY_STATUS (WINAPI *ENUMERATE_SECURITY_PACKAGES_FN_A)(PULONG,PSecPkgInfoA*);
-typedef SECURITY_STATUS (WINAPI *QUERY_CREDENTIALS_ATTRIBUTES_FN_W)(PCredHandle,ULONG,PVOID);
-typedef SECURITY_STATUS (WINAPI *QUERY_CREDENTIALS_ATTRIBUTES_FN_A)(PCredHandle,ULONG,PVOID);
-typedef SECURITY_STATUS (WINAPI *ACQUIRE_CREDENTIALS_HANDLE_FN_W)(SEC_WCHAR*,SEC_WCHAR*,ULONG,PLUID,PVOID,SEC_GET_KEY_FN,PVOID,PCredHandle,PTimeStamp);
-typedef SECURITY_STATUS (WINAPI *ACQUIRE_CREDENTIALS_HANDLE_FN_A)(SEC_CHAR*,SEC_CHAR*,ULONG,PLUID,PVOID,SEC_GET_KEY_FN,PVOID,PCredHandle,PTimeStamp);
-typedef SECURITY_STATUS (WINAPI *FREE_CREDENTIALS_HANDLE_FN)(PCredHandle);
-typedef SECURITY_STATUS (WINAPI *INITIALIZE_SECURITY_CONTEXT_FN_W)(PCredHandle,PCtxtHandle,SEC_WCHAR*,ULONG,ULONG,ULONG,PSecBufferDesc,ULONG,PCtxtHandle,PSecBufferDesc,PULONG,PTimeStamp);
-typedef SECURITY_STATUS (WINAPI *INITIALIZE_SECURITY_CONTEXT_FN_A)(PCredHandle,PCtxtHandle,SEC_CHAR*,ULONG,ULONG,ULONG,PSecBufferDesc,ULONG,PCtxtHandle,PSecBufferDesc,PULONG,PTimeStamp);
-typedef SECURITY_STATUS (WINAPI *ACCEPT_SECURITY_CONTEXT_FN)(PCredHandle,PCtxtHandle,PSecBufferDesc,ULONG,ULONG,PCtxtHandle,PSecBufferDesc,PULONG,PTimeStamp);
-typedef SECURITY_STATUS (WINAPI *COMPLETE_AUTH_TOKEN_FN)(PCtxtHandle,PSecBufferDesc);
-typedef SECURITY_STATUS (WINAPI *DELETE_SECURITY_CONTEXT_FN)(PCtxtHandle);
-typedef SECURITY_STATUS (WINAPI *APPLY_CONTROL_TOKEN_FN_W)(PCtxtHandle,PSecBufferDesc);
-typedef SECURITY_STATUS (WINAPI *APPLY_CONTROL_TOKEN_FN_A)(PCtxtHandle,PSecBufferDesc);
-typedef SECURITY_STATUS (WINAPI *QUERY_CONTEXT_ATTRIBUTES_FN_A)(PCtxtHandle,ULONG,PVOID);
-typedef SECURITY_STATUS (WINAPI *QUERY_CONTEXT_ATTRIBUTES_FN_W)(PCtxtHandle,ULONG,PVOID);
-typedef SECURITY_STATUS (WINAPI *IMPERSONATE_SECURITY_CONTEXT_FN)(PCtxtHandle);
-typedef SECURITY_STATUS (WINAPI *REVERT_SECURITY_CONTEXT_FN)(PCtxtHandle);
-typedef SECURITY_STATUS (WINAPI *MAKE_SIGNATURE_FN)(PCtxtHandle,ULONG,PSecBufferDesc,ULONG);
-typedef SECURITY_STATUS (WINAPI *VERIFY_SIGNATURE_FN)(PCtxtHandle,PSecBufferDesc,ULONG,PULONG);
-typedef SECURITY_STATUS (WINAPI *FREE_CONTEXT_BUFFER_FN)(PVOID);
-typedef SECURITY_STATUS (WINAPI *QUERY_SECURITY_PACKAGE_INFO_FN_A)(SEC_CHAR*,PSecPkgInfoA*);
-typedef SECURITY_STATUS (WINAPI *QUERY_SECURITY_PACKAGE_INFO_FN_W)(SEC_WCHAR*,PSecPkgInfoW*);
-typedef SECURITY_STATUS (WINAPI *ENCRYPT_MESSAGE_FN)(PCtxtHandle,ULONG,PSecBufferDesc,ULONG);
-typedef SECURITY_STATUS (WINAPI *DECRYPT_MESSAGE_FN)(PCtxtHandle,PSecBufferDesc,ULONG,PULONG);
-
-/* No, it really is FreeCredentialsHandle, see the thread beginning
- * http://sourceforge.net/mailarchive/message.php?msg_id=4321080 for a
- * discovery discussion. */
-typedef struct _SECURITY_FUNCTION_TABLEW {
- unsigned long dwVersion;
- ENUMERATE_SECURITY_PACKAGES_FN_W EnumerateSecurityPackagesW;
- QUERY_CREDENTIALS_ATTRIBUTES_FN_W QueryCredentialsAttributesW;
- ACQUIRE_CREDENTIALS_HANDLE_FN_W AcquireCredentialsHandleW;
- FREE_CREDENTIALS_HANDLE_FN FreeCredentialsHandle;
- void SEC_FAR* Reserved2;
- INITIALIZE_SECURITY_CONTEXT_FN_A InitializeSecurityContextA;
- ACCEPT_SECURITY_CONTEXT_FN AcceptSecurityContext;
- COMPLETE_AUTH_TOKEN_FN CompleteAuthToken;
- DELETE_SECURITY_CONTEXT_FN DeleteSecurityContext;
- APPLY_CONTROL_TOKEN_FN_W ApplyControlTokenW;
- QUERY_CONTEXT_ATTRIBUTES_FN_W QueryContextAttributesW;
- IMPERSONATE_SECURITY_CONTEXT_FN ImpersonateSecurityContext;
- REVERT_SECURITY_CONTEXT_FN RevertSecurityContext;
- MAKE_SIGNATURE_FN MakeSignature;
- VERIFY_SIGNATURE_FN VerifySignature;
- FREE_CONTEXT_BUFFER_FN FreeContextBuffer;
- QUERY_SECURITY_PACKAGE_INFO_FN_A QuerySecurityPackageInfoA;
- void SEC_FAR* Reserved3;
- void SEC_FAR* Reserved4;
- void SEC_FAR* Unknown1;
- void SEC_FAR* Unknown2;
- void SEC_FAR* Unknown3;
- void SEC_FAR* Unknown4;
- void SEC_FAR* Unknown5;
- ENCRYPT_MESSAGE_FN EncryptMessage;
- DECRYPT_MESSAGE_FN DecryptMessage;
-} SecurityFunctionTableW, *PSecurityFunctionTableW;
-typedef struct _SECURITY_FUNCTION_TABLEA {
- unsigned long dwVersion;
- ENUMERATE_SECURITY_PACKAGES_FN_A EnumerateSecurityPackagesA;
- QUERY_CREDENTIALS_ATTRIBUTES_FN_A QueryCredentialsAttributesA;
- ACQUIRE_CREDENTIALS_HANDLE_FN_A AcquireCredentialsHandleA;
- FREE_CREDENTIALS_HANDLE_FN FreeCredentialsHandle;
- void SEC_FAR* Reserved2;
- INITIALIZE_SECURITY_CONTEXT_FN_A InitializeSecurityContextA;
- ACCEPT_SECURITY_CONTEXT_FN AcceptSecurityContext;
- COMPLETE_AUTH_TOKEN_FN CompleteAuthToken;
- DELETE_SECURITY_CONTEXT_FN DeleteSecurityContext;
- APPLY_CONTROL_TOKEN_FN_A ApplyControlTokenA;
- QUERY_CONTEXT_ATTRIBUTES_FN_A QueryContextAttributesA;
- IMPERSONATE_SECURITY_CONTEXT_FN ImpersonateSecurityContext;
- REVERT_SECURITY_CONTEXT_FN RevertSecurityContext;
- MAKE_SIGNATURE_FN MakeSignature;
- VERIFY_SIGNATURE_FN VerifySignature;
- FREE_CONTEXT_BUFFER_FN FreeContextBuffer;
- QUERY_SECURITY_PACKAGE_INFO_FN_A QuerySecurityPackageInfoA;
- void SEC_FAR* Reserved3;
- void SEC_FAR* Reserved4;
- void SEC_FAR* Unknown1;
- void SEC_FAR* Unknown2;
- void SEC_FAR* Unknown3;
- void SEC_FAR* Unknown4;
- void SEC_FAR* Unknown5;
- ENCRYPT_MESSAGE_FN EncryptMessage;
- DECRYPT_MESSAGE_FN DecryptMessage;
-} SecurityFunctionTableA, *PSecurityFunctionTableA;
-typedef PSecurityFunctionTableA (WINAPI *INIT_SECURITY_INTERFACE_A)(VOID);
-typedef PSecurityFunctionTableW (WINAPI *INIT_SECURITY_INTERFACE_W)(VOID);
-
-SECURITY_STATUS WINAPI FreeCredentialsHandle(PCredHandle);
-SECURITY_STATUS WINAPI EnumerateSecurityPackagesA(PULONG,PSecPkgInfoA*);
-SECURITY_STATUS WINAPI EnumerateSecurityPackagesW(PULONG,PSecPkgInfoW*);
-SECURITY_STATUS WINAPI AcquireCredentialsHandleA(SEC_CHAR*,SEC_CHAR*,ULONG,PLUID,PVOID,SEC_GET_KEY_FN,PVOID,PCredHandle,PTimeStamp);
-SECURITY_STATUS WINAPI AcquireCredentialsHandleW(SEC_WCHAR*,SEC_WCHAR*,ULONG,PLUID,PVOID,SEC_GET_KEY_FN,PVOID,PCredHandle,PTimeStamp);
-SECURITY_STATUS WINAPI AcceptSecurityContext(PCredHandle,PCtxtHandle,PSecBufferDesc,ULONG,ULONG,PCtxtHandle,PSecBufferDesc,PULONG,PTimeStamp);
-SECURITY_STATUS WINAPI InitializeSecurityContextA(PCredHandle,PCtxtHandle,SEC_CHAR*,ULONG,ULONG,ULONG,PSecBufferDesc,ULONG,PCtxtHandle,PSecBufferDesc,PULONG,PTimeStamp);
-SECURITY_STATUS WINAPI InitializeSecurityContextW(PCredHandle,PCtxtHandle,SEC_WCHAR*,ULONG,ULONG,ULONG,PSecBufferDesc,ULONG,PCtxtHandle,PSecBufferDesc,PULONG,PTimeStamp);
-SECURITY_STATUS WINAPI FreeContextBuffer(PVOID);
-SECURITY_STATUS WINAPI QueryContextAttributesA(PCtxtHandle,ULONG,PVOID);
-SECURITY_STATUS WINAPI QueryContextAttributesW(PCtxtHandle,ULONG,PVOID);
-SECURITY_STATUS WINAPI QueryCredentialsAttributesA(PCredHandle,ULONG,PVOID);
-SECURITY_STATUS WINAPI QueryCredentialsAttributesW(PCredHandle,ULONG,PVOID);
-SECURITY_STATUS WINAPI DecryptMessage(PCtxtHandle,PSecBufferDesc,ULONG,PULONG);
-SECURITY_STATUS WINAPI EncryptMessage(PCtxtHandle,ULONG,PSecBufferDesc,ULONG);
-SECURITY_STATUS WINAPI DeleteSecurityContext(PCtxtHandle);
-SECURITY_STATUS WINAPI CompleteAuthToken(PCtxtHandle,PSecBufferDesc);
-SECURITY_STATUS WINAPI ApplyControlTokenA(PCtxtHandle,PSecBufferDesc);
-SECURITY_STATUS WINAPI ApplyControlTokenW(PCtxtHandle,PSecBufferDesc);
-SECURITY_STATUS WINAPI ImpersonateSecurityContext(PCtxtHandle);
-SECURITY_STATUS WINAPI RevertSecurityContext(PCtxtHandle);
-SECURITY_STATUS WINAPI MakeSignature(PCtxtHandle,ULONG,PSecBufferDesc,ULONG);
-SECURITY_STATUS WINAPI VerifySignature(PCtxtHandle,PSecBufferDesc,ULONG,PULONG);
-SECURITY_STATUS WINAPI QuerySecurityPackageInfoA(SEC_CHAR*,PSecPkgInfoA*);
-SECURITY_STATUS WINAPI QuerySecurityPackageInfoW(SEC_WCHAR*,PSecPkgInfoW*);
-PSecurityFunctionTableA WINAPI InitSecurityInterfaceA(VOID);
-PSecurityFunctionTableW WINAPI InitSecurityInterfaceW(VOID);
-
-#ifdef UNICODE
-#define UNISP_NAME UNISP_NAME_W
-#define SecPkgInfo SecPkgInfoW
-#define PSecPkgInfo PSecPkgInfoW
-#define SecPkgCredentials_Names SecPkgCredentials_NamesW
-#define PSecPkgCredentials_Names PSecPkgCredentials_NamesW
-#define SecPkgContext_Authority SecPkgContext_AuthorityW
-#define PSecPkgContext_Authority PSecPkgContext_AuthorityW
-#define SecPkgContext_KeyInfo SecPkgContext_KeyInfoW
-#define PSecPkgContext_KeyInfo PSecPkgContext_KeyInfoW
-#define SecPkgContext_Names SecPkgContext_NamesW
-#define PSecPkgContext_Names PSecPkgContext_NamesW
-#define SecurityFunctionTable SecurityFunctionTableW
-#define PSecurityFunctionTable PSecurityFunctionTableW
-#define AcquireCredentialsHandle AcquireCredentialsHandleW
-#define EnumerateSecurityPackages EnumerateSecurityPackagesW
-#define InitializeSecurityContext InitializeSecurityContextW
-#define QueryContextAttributes QueryContextAttributesW
-#define QueryCredentialsAttributes QueryCredentialsAttributesW
-#define QuerySecurityPackageInfo QuerySecurityPackageInfoW
-#define ApplyControlToken ApplyControlTokenW
-#define ENUMERATE_SECURITY_PACKAGES_FN ENUMERATE_SECURITY_PACKAGES_FN_W
-#define QUERY_CREDENTIALS_ATTRIBUTES_FN QUERY_CREDENTIALS_ATTRIBUTES_FN_W
-#define ACQUIRE_CREDENTIALS_HANDLE_FN ACQUIRE_CREDENTIALS_HANDLE_FN_W
-#define INITIALIZE_SECURITY_CONTEXT_FN INITIALIZE_SECURITY_CONTEXT_FN_W
-#define APPLY_CONTROL_TOKEN_FN APPLY_CONTROL_TOKEN_FN_W
-#define QUERY_CONTEXT_ATTRIBUTES_FN QUERY_CONTEXT_ATTRIBUTES_FN_W
-#define QUERY_SECURITY_PACKAGE_INFO_FN QUERY_SECURITY_PACKAGE_INFO_FN_W
-#define INIT_SECURITY_INTERFACE INIT_SECURITY_INTERFACE_W
-#else
-#define UNISP_NAME UNISP_NAME_A
-#define SecPkgInfo SecPkgInfoA
-#define PSecPkgInfo PSecPkgInfoA
-#define SecPkgCredentials_Names SecPkgCredentials_NamesA
-#define PSecPkgCredentials_Names PSecPkgCredentials_NamesA
-#define SecPkgContext_Authority SecPkgContext_AuthorityA
-#define PSecPkgContext_Authority PSecPkgContext_AuthorityA
-#define SecPkgContext_KeyInfo SecPkgContext_KeyInfoA
-#define PSecPkgContext_KeyInfo PSecPkgContext_KeyInfoA
-#define SecPkgContext_Names SecPkgContext_NamesA
-#define PSecPkgContext_Names PSecPkgContext_NamesA
-#define SecurityFunctionTable SecurityFunctionTableA
-#define PSecurityFunctionTable PSecurityFunctionTableA
-#define AcquireCredentialsHandle AcquireCredentialsHandleA
-#define EnumerateSecurityPackages EnumerateSecurityPackagesA
-#define InitializeSecurityContext InitializeSecurityContextA
-#define QueryContextAttributes QueryContextAttributesA
-#define QueryCredentialsAttributes QueryCredentialsAttributesA
-#define QuerySecurityPackageInfo QuerySecurityPackageInfoA
-#define ApplyControlToken ApplyControlTokenA
-#define ENUMERATE_SECURITY_PACKAGES_FN ENUMERATE_SECURITY_PACKAGES_FN_A
-#define QUERY_CREDENTIALS_ATTRIBUTES_FN QUERY_CREDENTIALS_ATTRIBUTES_FN_A
-#define ACQUIRE_CREDENTIALS_HANDLE_FN ACQUIRE_CREDENTIALS_HANDLE_FN_A
-#define INITIALIZE_SECURITY_CONTEXT_FN INITIALIZE_SECURITY_CONTEXT_FN_A
-#define APPLY_CONTROL_TOKEN_FN APPLY_CONTROL_TOKEN_FN_A
-#define QUERY_CONTEXT_ATTRIBUTES_FN QUERY_CONTEXT_ATTRIBUTES_FN_A
-#define QUERY_SECURITY_PACKAGE_INFO_FN QUERY_SECURITY_PACKAGE_INFO_FN_A
-#define INIT_SECURITY_INTERFACE INIT_SECURITY_INTERFACE_A
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/winsup/w32api/include/subauth.h b/winsup/w32api/include/subauth.h
deleted file mode 100644
index 2c87f288f..000000000
--- a/winsup/w32api/include/subauth.h
+++ /dev/null
@@ -1,209 +0,0 @@
-#ifndef _SUBAUTH_H
-#define _SUBAUTH_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-#ifndef NT_SUCCESS
-#define NT_SUCCESS(x) ((x)>=0)
-#define STATUS_SUCCESS 0
-#endif
-#define CYPHER_BLOCK_LENGTH 8
-#define USER_SESSION_KEY_LENGTH (CYPHER_BLOCK_LENGTH*2)
-#define CLEAR_BLOCK_LENGTH 8
-#define MSV1_0_PASSTHRU 1
-#define MSV1_0_GUEST_LOGON 2
-#define MSV1_0_VALIDATION_LOGOFF_TIME 1
-#define MSV1_0_VALIDATION_KICKOFF_TIME 2
-#define MSV1_0_VALIDATION_LOGON_SERVER 4
-#define MSV1_0_VALIDATION_LOGON_DOMAIN 8
-#define MSV1_0_VALIDATION_SESSION_KEY 16
-#define MSV1_0_VALIDATION_USER_FLAGS 32
-#define MSV1_0_VALIDATION_USER_ID 64
-#define MSV1_0_SUBAUTH_ACCOUNT_DISABLED 1
-#define MSV1_0_SUBAUTH_PASSWORD 2
-#define MSV1_0_SUBAUTH_WORKSTATIONS 4
-#define MSV1_0_SUBAUTH_LOGON_HOURS 8
-#define MSV1_0_SUBAUTH_ACCOUNT_EXPIRY 16
-#define MSV1_0_SUBAUTH_PASSWORD_EXPIRY 32
-#define MSV1_0_SUBAUTH_ACCOUNT_TYPE 64
-#define MSV1_0_SUBAUTH_LOCKOUT 128
-#define NEXT_FREE_ACCOUNT_CONTROL_BIT 131072
-#define SAM_DAYS_PER_WEEK 7
-#define SAM_HOURS_PER_WEEK 168
-#define SAM_MINUTES_PER_WEEK 10080
-#define STATUS_INVALID_INFO_CLASS 0xC0000003L
-#define STATUS_NO_SUCH_USER 0xC0000064L
-#define STATUS_WRONG_PASSWORD 0xC000006AL
-#define STATUS_PASSWORD_RESTRICTION 0xC000006CL
-#define STATUS_LOGON_FAILURE 0xC000006DL
-#define STATUS_ACCOUNT_RESTRICTION 0xC000006EL
-#define STATUS_INVALID_LOGON_HOURS 0xC000006FL
-#define STATUS_INVALID_WORKSTATION 0xC0000070L
-#define STATUS_PASSWORD_EXPIRED 0xC0000071L
-#define STATUS_ACCOUNT_DISABLED 0xC0000072L
-#define STATUS_INSUFFICIENT_RESOURCES 0xC000009AL
-#define STATUS_ACCOUNT_EXPIRED 0xC0000193L
-#define STATUS_PASSWORD_MUST_CHANGE 0xC0000224L
-#define STATUS_ACCOUNT_LOCKED_OUT 0xC0000234L
-#define USER_ACCOUNT_DISABLED 1
-#define USER_HOME_DIRECTORY_REQUIRED 2
-#define USER_PASSWORD_NOT_REQUIRED 4
-#define USER_TEMP_DUPLICATE_ACCOUNT 8
-#define USER_NORMAL_ACCOUNT 16
-#define USER_MNS_LOGON_ACCOUNT 32
-#define USER_INTERDOMAIN_TRUST_ACCOUNT 64
-#define USER_WORKSTATION_TRUST_ACCOUNT 128
-#define USER_SERVER_TRUST_ACCOUNT 256
-#define USER_DONT_EXPIRE_PASSWORD 512
-#define USER_ACCOUNT_AUTO_LOCKED 1024
-#define USER_ENCRYPTED_TEXT_PASSWORD_ALLOWED 2048
-#define USER_SMARTCARD_REQUIRED 4096
-#define USER_TRUSTED_FOR_DELEGATION 8192
-#define USER_NOT_DELEGATED 16384
-#define USER_USE_DES_KEY_ONLY 32768
-#define USER_DONT_REQUIRE_PREAUTH 65536
-#define USER_MACHINE_ACCOUNT_MASK 448
-#define USER_ACCOUNT_TYPE_MASK 472
-#define USER_ALL_PARAMETERS 2097152
-#if !defined(_NTDEF_H) && !defined(_NTSECAPI_H)
-typedef LONG NTSTATUS, *PNTSTATUS;
-typedef struct _UNICODE_STRING {
- USHORT Length;
- USHORT MaximumLength;
- PWSTR Buffer;
-} UNICODE_STRING, *PUNICODE_STRING;
-typedef struct _STRING {
- USHORT Length;
- USHORT MaximumLength;
- PCHAR Buffer;
-} STRING, *PSTRING;
-#endif
-typedef PVOID SAM_HANDLE, *PSAM_HANDLE;
-typedef struct _OLD_LARGE_INTEGER {
- ULONG LowPart;
- LONG HighPart;
-} OLD_LARGE_INTEGER, *POLD_LARGE_INTEGER;
-typedef enum _NETLOGON_LOGON_INFO_CLASS {
- NetlogonInteractiveInformation = 1,NetlogonNetworkInformation,
- NetlogonServiceInformation,NetlogonGenericInformation,
- NetlogonInteractiveTransitiveInformation,NetlogonNetworkTransitiveInformation,
- NetlogonServiceTransitiveInformation
-} NETLOGON_LOGON_INFO_CLASS;
-typedef struct _CYPHER_BLOCK {
- CHAR data[CYPHER_BLOCK_LENGTH];
-} CYPHER_BLOCK, *PCYPHER_BLOCK;
-typedef struct _CLEAR_BLOCK {
- CHAR data[CLEAR_BLOCK_LENGTH];
-} CLEAR_BLOCK, *PCLEAR_BLOCK;
-typedef struct _LM_OWF_PASSWORD {
- CYPHER_BLOCK data[2];
-} LM_OWF_PASSWORD, *PLM_OWF_PASSWORD;
-typedef struct _USER_SESSION_KEY {
- CYPHER_BLOCK data[2];
-} USER_SESSION_KEY, *PUSER_SESSION_KEY;
-typedef CLEAR_BLOCK LM_CHALLENGE, *PLM_CHALLENGE;
-typedef LM_OWF_PASSWORD NT_OWF_PASSWORD, *PNT_OWF_PASSWORD;
-typedef LM_CHALLENGE NT_CHALLENGE, *PNT_CHALLENGE;
-typedef struct _LOGON_HOURS {
- USHORT UnitsPerWeek;
- PUCHAR LogonHours;
-} LOGON_HOURS, *PLOGON_HOURS;
-typedef struct _SR_SECURITY_DESCRIPTOR {
- ULONG Length;
- PUCHAR SecurityDescriptor;
-} SR_SECURITY_DESCRIPTOR, *PSR_SECURITY_DESCRIPTOR;
-#pragma pack(push,4)
-typedef struct _USER_ALL_INFORMATION {
- LARGE_INTEGER LastLogon;
- LARGE_INTEGER LastLogoff;
- LARGE_INTEGER PasswordLastSet;
- LARGE_INTEGER AccountExpires;
- LARGE_INTEGER PasswordCanChange;
- LARGE_INTEGER PasswordMustChange;
- UNICODE_STRING UserName;
- UNICODE_STRING FullName;
- UNICODE_STRING HomeDirectory;
- UNICODE_STRING HomeDirectoryDrive;
- UNICODE_STRING ScriptPath;
- UNICODE_STRING ProfilePath;
- UNICODE_STRING AdminComment;
- UNICODE_STRING WorkStations;
- UNICODE_STRING UserComment;
- UNICODE_STRING Parameters;
- UNICODE_STRING LmPassword;
- UNICODE_STRING NtPassword;
- UNICODE_STRING PrivateData;
- SR_SECURITY_DESCRIPTOR SecurityDescriptor;
- ULONG UserId;
- ULONG PrimaryGroupId;
- ULONG UserAccountControl;
- ULONG WhichFields;
- LOGON_HOURS LogonHours;
- USHORT BadPasswordCount;
- USHORT LogonCount;
- USHORT CountryCode;
- USHORT CodePage;
- BOOLEAN LmPasswordPresent;
- BOOLEAN NtPasswordPresent;
- BOOLEAN PasswordExpired;
- BOOLEAN PrivateDataSensitive;
-} USER_ALL_INFORMATION, *PUSER_ALL_INFORMATION;
-#pragma pack(pop)
-typedef struct _MSV1_0_VALIDATION_INFO {
- LARGE_INTEGER LogoffTime;
- LARGE_INTEGER KickoffTime;
- UNICODE_STRING LogonServer;
- UNICODE_STRING LogonDomainName;
- USER_SESSION_KEY SessionKey;
- BOOLEAN Authoritative;
- ULONG UserFlags;
- ULONG WhichFields;
- ULONG UserId;
-} MSV1_0_VALIDATION_INFO, *PMSV1_0_VALIDATION_INFO;
-typedef struct _NETLOGON_LOGON_IDENTITY_INFO {
- UNICODE_STRING LogonDomainName;
- ULONG ParameterControl;
- OLD_LARGE_INTEGER LogonId;
- UNICODE_STRING UserName;
- UNICODE_STRING Workstation;
-} NETLOGON_LOGON_IDENTITY_INFO, *PNETLOGON_LOGON_IDENTITY_INFO;
-typedef struct _NETLOGON_INTERACTIVE_INFO {
- NETLOGON_LOGON_IDENTITY_INFO Identity;
- LM_OWF_PASSWORD LmOwfPassword;
- NT_OWF_PASSWORD NtOwfPassword;
-} NETLOGON_INTERACTIVE_INFO, *PNETLOGON_INTERACTIVE_INFO;
-typedef struct _NETLOGON_GENERIC_INFO {
- NETLOGON_LOGON_IDENTITY_INFO Identity;
- UNICODE_STRING PackageName;
- ULONG DataLength;
- PUCHAR LogonData;
-} NETLOGON_GENERIC_INFO, *PNETLOGON_GENERIC_INFO;
-typedef struct _NETLOGON_NETWORK_INFO {
- NETLOGON_LOGON_IDENTITY_INFO Identity;
- LM_CHALLENGE LmChallenge;
- STRING NtChallengeResponse;
- STRING LmChallengeResponse;
-} NETLOGON_NETWORK_INFO, *PNETLOGON_NETWORK_INFO;
-typedef struct _NETLOGON_SERVICE_INFO {
- NETLOGON_LOGON_IDENTITY_INFO Identity;
- LM_OWF_PASSWORD LmOwfPassword;
- NT_OWF_PASSWORD NtOwfPassword;
-} NETLOGON_SERVICE_INFO, *PNETLOGON_SERVICE_INFO;
-NTSTATUS NTAPI Msv1_0SubAuthenticationRoutine(NETLOGON_LOGON_INFO_CLASS,PVOID,
- ULONG,PUSER_ALL_INFORMATION,PULONG,PULONG,
- PBOOLEAN,PLARGE_INTEGER,PLARGE_INTEGER);
-NTSTATUS NTAPI Msv1_0SubAuthenticationFilter(NETLOGON_LOGON_INFO_CLASS,PVOID,
- ULONG,PUSER_ALL_INFORMATION,PULONG,PULONG,
- PBOOLEAN,PLARGE_INTEGER,PLARGE_INTEGER);
-NTSTATUS NTAPI Msv1_0SubAuthenticationRoutineGeneric(PVOID,ULONG,PULONG,PVOID*);
-NTSTATUS NTAPI Msv1_0SubAuthenticationRoutineEx(NETLOGON_LOGON_INFO_CLASS,PVOID,
- ULONG,PUSER_ALL_INFORMATION,SAM_HANDLE,
- PMSV1_0_VALIDATION_INFO,PULONG);
-#ifdef __cplusplus
-}
-#endif
-#endif /* _SUBAUTH_H */
diff --git a/winsup/w32api/include/svcguid.h b/winsup/w32api/include/svcguid.h
deleted file mode 100644
index 65072808c..000000000
--- a/winsup/w32api/include/svcguid.h
+++ /dev/null
@@ -1,33 +0,0 @@
-#ifndef _SVCGUID_H
-#define _SVCGUID_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define SVCID_NETWARE(_SapId) \
- { (0x000B << 16) | (_SapId), 0, 0, { 0xC0,0,0,0,0,0,0,0x46 } }
-
-#define SAPID_FROM_SVCID_NETWARE(_g) \
- ((WORD)(_g->Data1 & 0xFFFF))
-
-#define SET_NETWARE_SVCID(_g,_SapId) { \
- (_g)->Data1 = (0x000B << 16 ) | (_SapId); \
- (_g)->Data2 = 0; \
- (_g)->Data3 = 0; \
- (_g)->Data4[0] = 0xC0; \
- (_g)->Data4[1] = 0x0; \
- (_g)->Data4[2] = 0x0; \
- (_g)->Data4[3] = 0x0; \
- (_g)->Data4[4] = 0x0; \
- (_g)->Data4[5] = 0x0; \
- (_g)->Data4[6] = 0x0; \
- (_g)->Data4[7] = 0x46; }
-
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/winsup/w32api/include/tlhelp32.h b/winsup/w32api/include/tlhelp32.h
deleted file mode 100644
index e92838006..000000000
--- a/winsup/w32api/include/tlhelp32.h
+++ /dev/null
@@ -1,140 +0,0 @@
-/*
- tlhelp32.h - Include file for Tool help functions.
-
- Written by Mumit Khan <khan@nanotech.wisc.edu>
-
- This file is part of a free library for the Win32 API.
-
- This library 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.
-
-*/
-#ifndef _TLHELP32_H
-#define _TLHELP32_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-#define HF32_DEFAULT 1
-#define HF32_SHARED 2
-#define LF32_FIXED 0x1
-#define LF32_FREE 0x2
-#define LF32_MOVEABLE 0x4
-#define MAX_MODULE_NAME32 255
-#define TH32CS_SNAPHEAPLIST 0x1
-#define TH32CS_SNAPPROCESS 0x2
-#define TH32CS_SNAPTHREAD 0x4
-#define TH32CS_SNAPMODULE 0x8
-#define TH32CS_SNAPALL (TH32CS_SNAPHEAPLIST|TH32CS_SNAPPROCESS|TH32CS_SNAPTHREAD|TH32CS_SNAPMODULE)
-#define TH32CS_INHERIT 0x80000000
-typedef struct tagHEAPLIST32 {
- DWORD dwSize;
- DWORD th32ProcessID;
- DWORD th32HeapID;
- DWORD dwFlags;
-} HEAPLIST32,*PHEAPLIST32,*LPHEAPLIST32;
-typedef struct tagHEAPENTRY32 {
- DWORD dwSize;
- HANDLE hHandle;
- DWORD dwAddress;
- DWORD dwBlockSize;
- DWORD dwFlags;
- DWORD dwLockCount;
- DWORD dwResvd;
- DWORD th32ProcessID;
- DWORD th32HeapID;
-} HEAPENTRY32,*PHEAPENTRY32,*LPHEAPENTRY32;
-typedef struct tagPROCESSENTRY32W {
- DWORD dwSize;
- DWORD cntUsage;
- DWORD th32ProcessID;
- DWORD th32DefaultHeapID;
- DWORD th32ModuleID;
- DWORD cntThreads;
- DWORD th32ParentProcessID;
- LONG pcPriClassBase;
- DWORD dwFlags;
- WCHAR szExeFile[MAX_PATH];
-} PROCESSENTRY32W,*PPROCESSENTRY32W,*LPPROCESSENTRY32W;
-typedef struct tagPROCESSENTRY32 {
- DWORD dwSize;
- DWORD cntUsage;
- DWORD th32ProcessID;
- DWORD th32DefaultHeapID;
- DWORD th32ModuleID;
- DWORD cntThreads;
- DWORD th32ParentProcessID;
- LONG pcPriClassBase;
- DWORD dwFlags;
- CHAR szExeFile[MAX_PATH];
-} PROCESSENTRY32,*PPROCESSENTRY32,*LPPROCESSENTRY32;
-typedef struct tagTHREADENTRY32 {
- DWORD dwSize;
- DWORD cntUsage;
- DWORD th32ThreadID;
- DWORD th32OwnerProcessID;
- LONG tpBasePri;
- LONG tpDeltaPri;
- DWORD dwFlags;
-} THREADENTRY32,*PTHREADENTRY32,*LPTHREADENTRY32;
-typedef struct tagMODULEENTRY32W {
- DWORD dwSize;
- DWORD th32ModuleID;
- DWORD th32ProcessID;
- DWORD GlblcntUsage;
- DWORD ProccntUsage;
- BYTE *modBaseAddr;
- DWORD modBaseSize;
- HMODULE hModule;
- WCHAR szModule[MAX_MODULE_NAME32 + 1];
- WCHAR szExePath[MAX_PATH];
-} MODULEENTRY32W,*PMODULEENTRY32W,*LPMODULEENTRY32W;
-typedef struct tagMODULEENTRY32 {
- DWORD dwSize;
- DWORD th32ModuleID;
- DWORD th32ProcessID;
- DWORD GlblcntUsage;
- DWORD ProccntUsage;
- BYTE *modBaseAddr;
- DWORD modBaseSize;
- HMODULE hModule;
- char szModule[MAX_MODULE_NAME32 + 1];
- char szExePath[MAX_PATH];
-} MODULEENTRY32,*PMODULEENTRY32,*LPMODULEENTRY32;
-BOOL WINAPI Heap32First(LPHEAPENTRY32,DWORD,DWORD);
-BOOL WINAPI Heap32ListFirst(HANDLE,LPHEAPLIST32);
-BOOL WINAPI Heap32ListNext(HANDLE,LPHEAPLIST32);
-BOOL WINAPI Heap32Next(LPHEAPENTRY32);
-BOOL WINAPI Module32First(HANDLE,LPMODULEENTRY32);
-BOOL WINAPI Module32FirstW(HANDLE,LPMODULEENTRY32W);
-BOOL WINAPI Module32Next(HANDLE,LPMODULEENTRY32);
-BOOL WINAPI Module32NextW(HANDLE,LPMODULEENTRY32W);
-BOOL WINAPI Process32First(HANDLE,LPPROCESSENTRY32);
-BOOL WINAPI Process32FirstW(HANDLE,LPPROCESSENTRY32W);
-BOOL WINAPI Process32Next(HANDLE,LPPROCESSENTRY32);
-BOOL WINAPI Process32NextW(HANDLE,LPPROCESSENTRY32W);
-BOOL WINAPI Thread32First(HANDLE,LPTHREADENTRY32);
-BOOL WINAPI Thread32Next(HANDLE,LPTHREADENTRY32);
-BOOL WINAPI Toolhelp32ReadProcessMemory(DWORD,LPCVOID,LPVOID,DWORD,LPDWORD);
-HANDLE WINAPI CreateToolhelp32Snapshot(DWORD,DWORD);
-#ifdef UNICODE
-#define LPMODULEENTRY32 LPMODULEENTRY32W
-#define LPPROCESSENTRY32 LPPROCESSENTRY32W
-#define MODULEENTRY32 MODULEENTRY32W
-#define Module32First Module32FirstW
-#define Module32Next Module32NextW
-#define PMODULEENTRY32 PMODULEENTRY32W
-#define PPROCESSENTRY32 PPROCESSENTRY32W
-#define PROCESSENTRY32 PROCESSENTRY32W
-#define Process32First Process32FirstW
-#define Process32Next Process32NextW
-#endif /* UNICODE */
-#ifdef __cplusplus
-}
-#endif
-#endif /* _TLHELP32_H */
-
diff --git a/winsup/w32api/include/tmschema.h b/winsup/w32api/include/tmschema.h
deleted file mode 100644
index 6ab03b431..000000000
--- a/winsup/w32api/include/tmschema.h
+++ /dev/null
@@ -1,664 +0,0 @@
-#ifndef _TMSCHEMA_H
-#define _TMSCHEMA_H
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-/* BUTTON parts */
-enum {
- BP_PUSHBUTTON = 1,
- BP_RADIOBUTTON = 2,
- BP_CHECKBOX = 3,
- BP_GROUPBOX = 4,
- BP_USERBUTTON = 5
-};
-enum {
- CBS_UNCHECKEDNORMAL = 1,
- CBS_UNCHECKEDHOT = 2,
- CBS_UNCHECKEDPRESSED = 3,
- CBS_UNCHECKEDDISABLED = 4,
- CBS_CHECKEDNORMAL = 5,
- CBS_CHECKEDHOT = 6,
- CBS_CHECKEDPRESSED = 7,
- CBS_CHECKEDDISABLED = 8,
- CBS_MIXEDNORMAL = 9,
- CBS_MIXEDHOT = 10,
- CBS_MIXEDPRESSED = 11,
- CBS_MIXEDDISABLED = 12
-};
-enum {
- GBS_NORMAL = 1,
- GBS_DISABLED = 2
-};
-enum {
- PBS_NORMAL = 1,
- PBS_HOT = 2,
- PBS_PRESSED = 3,
- PBS_DISABLED = 4,
- PBS_DEFAULTED = 5
-};
-enum {
- RBS_UNCHECKEDNORMAL = 1,
- RBS_UNCHECKEDHOT = 2,
- RBS_UNCHECKEDPRESSED = 3,
- RBS_UNCHECKEDDISABLED = 4,
- RBS_CHECKEDNORMAL = 5,
- RBS_CHECKEDHOT = 6,
- RBS_CHECKEDPRESSED = 7,
- RBS_CHECKEDDISABLED = 8
-};
-/* CLOCK parts */
-enum {
- CLP_TIME = 1
-};
-enum {
- CLS_NORMAL = 1
-};
-/* COMBOBOX parts */
-enum {
- CP_DROPDOWNBUTTON = 1
-};
-enum {
- CBXS_NORMAL = 1,
- CBXS_HOT = 2,
- CBXS_PRESSED = 3,
- CBXS_DISABLED = 4
-};
-/* EDIT parts */
-enum {
- EP_EDITTEXT = 1,
- EP_CARET = 2
-};
-enum {
- ETS_NORMAL = 1,
- ETS_HOT = 2,
- ETS_SELECTED = 3,
- ETS_DISABLED = 4,
- ETS_FOCUSED = 5,
- ETS_READONLY = 6,
- ETS_ASSIST = 7
-};
-/* EXPLORERBAR parts */
-enum {
- EBP_HEADERBACKGROUND = 1,
- EBP_HEADERCLOSE = 2,
- EBP_HEADERPIN = 3,
- EBP_IEBARMENU = 4,
- EBP_NORMALGROUPBACKGROUND = 5,
- EBP_NORMALGROUPCOLLAPSE = 6,
- EBP_NORMALGROUPEXPAND = 7,
- EBP_NORMALGROUPHEAD = 8,
- EBP_SPECIALGROUPBACKGROUND = 9,
- EBP_SPECIALGROUPCOLLAPSE = 10,
- EBP_SPECIALGROUPEXPAND = 11,
- EBP_SPECIALGROUPHEAD = 12
-};
-enum {
- EBHC_NORMAL = 1,
- EBHC_HOT = 2,
- EBHC_PRESSED = 3
-};
-enum {
- EBHP_NORMAL = 1,
- EBHP_HOT = 2,
- EBHP_PRESSED = 3,
- EBHP_SELECTEDNORMAL = 4,
- EBHP_SELECTEDHOT = 5,
- EBHP_SELECTEDPRESSED = 6
-};
-enum {
- EBM_NORMAL = 1,
- EBM_HOT = 2,
- EBM_PRESSED = 3
-};
-enum {
- EBNGC_NORMAL = 1,
- EBNGC_HOT = 2,
- EBNGC_PRESSED = 3
-};
-enum {
- EBNGE_NORMAL = 1,
- EBNGE_HOT = 2,
- EBNGE_PRESSED = 3
-};
-enum {
- EBSGC_NORMAL = 1,
- EBSGC_HOT = 2,
- EBSGC_PRESSED = 3
-};
-enum {
- EBSGE_NORMAL = 1,
- EBSGE_HOT = 2,
- EBSGE_PRESSED = 3
-};
-/* HEADER parts */
-enum {
- HP_HEADERITEM = 1,
- HP_HEADERITEMLEFT = 2,
- HP_HEADERITEMRIGHT = 3,
- HP_HEADERSORTARROW = 4
-};
-enum {
- HIS_NORMAL = 1,
- HIS_HOT = 2,
- HIS_PRESSED = 3
-};
-enum {
- HILS_NORMAL = 1,
- HILS_HOT = 2,
- HILS_PRESSED = 3
-};
-enum {
- HIRS_NORMAL = 1,
- HIRS_HOT = 2,
- HIRS_PRESSED = 3
-};
-enum {
- HSAS_SORTEDUP = 1,
- HSAS_SORTEDDOWN = 2
-};
-/* LISTVIEW parts */
-enum {
- LVP_LISTITEM = 1,
- LVP_LISTGROUP = 2,
- LVP_LISTDETAIL = 3,
- LVP_LISTSORTEDDETAIL = 4,
- LVP_EMPTYTEXT = 5
-};
-enum {
- LIS_NORMAL = 1,
- LIS_HOT = 2,
- LIS_SELECTED = 3,
- LIS_DISABLED = 4,
- LIS_SELECTEDNOTFOCUS = 5
-};
-/* MENU parts */
-enum {
- MP_MENUITEM = 1,
- MP_MENUDROPDOWN = 2,
- MP_MENUBARITEM = 3,
- MP_MENUBARDROPDOWN = 4,
- MP_CHEVRON = 5,
- MP_SEPARATOR = 6
-};
-enum {
- MS_NORMAL = 1,
- MS_SELECTED = 2,
- MS_DEMOTED = 3
-};
-/* MENUBAND parts */
-enum {
- MDP_NEWAPPBUTTON = 1,
- MDP_SEPERATOR = 2
-};
-enum {
- MDS_NORMAL = 1,
- MDS_HOT = 2,
- MDS_PRESSED = 3,
- MDS_DISABLED = 4,
- MDS_CHECKED = 5,
- MDS_HOTCHECKED = 6
-};
-/* PAGE parts */
-enum {
- PGRP_UP = 1,
- PGRP_DOWN = 2,
- PGRP_UPHORZ = 3,
- PGRP_DOWNHORZ = 4
-};
-enum {
- DNS_NORMAL = 1,
- DNS_HOT = 2,
- DNS_PRESSED = 3,
- DNS_DISABLED = 4
-};
-enum {
- DNHZS_NORMAL = 1,
- DNHZS_HOT = 2,
- DNHZS_PRESSED = 3,
- DNHZS_DISABLED = 4
-};
-enum {
- UPS_NORMAL = 1,
- UPS_HOT = 2,
- UPS_PRESSED = 3,
- UPS_DISABLED = 4
-};
-enum {
- UPHZS_NORMAL = 1,
- UPHZS_HOT = 2,
- UPHZS_PRESSED = 3,
- UPHZS_DISABLED = 4
-};
-/* PROGRESS parts */
-enum {
- PP_BAR = 1,
- PP_BARVERT = 2,
- PP_CHUNK = 3,
- PP_CHUNKVERT = 4
-};
-/* REBAR parts */
-enum {
- RP_GRIPPER = 1,
- RP_GRIPPERVERT = 2,
- RP_BAND = 3,
- RP_CHEVRON = 4,
- RP_CHEVRONVERT = 5
-};
-enum {
- CHEVS_NORMAL = 1,
- CHEVS_HOT = 2,
- CHEVS_PRESSED = 3
-};
-/* SCROLLBAR parts */
-enum {
- SBP_ARROWBTN = 1,
- SBP_THUMBBTNHORZ = 2,
- SBP_THUMBBTNVERT = 3,
- SBP_LOWERTRACKHORZ = 4,
- SBP_UPPERTRACKHORZ = 5,
- SBP_LOWERTRACKVERT = 6,
- SBP_UPPERTRACKVERT = 7,
- SBP_GRIPPERHORZ = 8,
- SBP_GRIPPERVERT = 9,
- SBP_SIZEBOX = 10
-};
-enum {
- ABS_UPNORMAL = 1,
- ABS_UPHOT = 2,
- ABS_UPPRESSED = 3,
- ABS_UPDISABLED = 4,
- ABS_DOWNNORMAL = 5,
- ABS_DOWNHOT = 6,
- ABS_DOWNPRESSED = 7,
- ABS_DOWNDISABLED = 8,
- ABS_LEFTNORMAL = 9,
- ABS_LEFTHOT = 10,
- ABS_LEFTPRESSED = 11,
- ABS_LEFTDISABLED = 12,
- ABS_RIGHTNORMAL = 13,
- ABS_RIGHTHOT = 14,
- ABS_RIGHTPRESSED = 15,
- ABS_RIGHTDISABLED = 16
-};
-enum {
- SCRBS_NORMAL = 1,
- SCRBS_HOT = 2,
- SCRBS_PRESSED = 3,
- SCRBS_DISABLED = 4
-};
-enum {
- SZB_RIGHTALIGN = 1,
- SZB_LEFTALIGN = 2
-};
-/* SPIN parts */
-enum {
- SPNP_UP = 1,
- SPNP_DOWN = 2,
- SPNP_UPHORZ = 3,
- SPNP_DOWNHORZ = 4
-};
-/* STARTPANEL parts */
-enum {
- SPP_USERPANE = 1,
- SPP_MOREPROGRAMS = 2,
- SPP_MOREPROGRAMSARROW = 3,
- SPP_PROGLIST = 4,
- SPP_PROGLISTSEPARATOR = 5,
- SPP_PLACESLIST = 6,
- SPP_PLACESLISTSEPARATOR = 7,
- SPP_LOGOFF = 8,
- SPP_LOGOFFBUTTONS = 9,
- SPP_USERPICTURE = 10,
- SPP_PREVIEW = 11
-};
-enum {
- SPLS_NORMAL = 1,
- SPLS_HOT = 2,
- SPLS_PRESSED = 3
-};
-enum {
- SPS_NORMAL = 1,
- SPS_HOT = 2,
- SPS_PRESSED = 3
-};
-/* STATUS parts */
-enum {
- SP_PANE = 1,
- SP_GRIPPERPANE = 2,
- SP_GRIPPER = 3
-};
-/* TAB parts */
-enum {
- TABP_TABITEM = 1,
- TABP_TABITEMLEFTEDGE = 2,
- TABP_TABITEMRIGHTEDGE = 3,
- TABP_TABITEMBOTHEDGE = 4,
- TABP_TOPTABITEM = 5,
- TABP_TOPTABITEMLEFTEDGE = 6,
- TABP_TOPTABITEMRIGHTEDGE = 7,
- TABP_TOPTABITEMBOTHEDGE = 8,
- TABP_PANE = 9,
- TABP_BODY = 10
-};
-enum {
- TIS_NORMAL = 1,
- TIS_HOT = 2,
- TIS_SELECTED = 3,
- TIS_DISABLED = 4,
- TIS_FOCUSED = 5
-};
-enum {
- TIBES_NORMAL = 1,
- TIBES_HOT = 2,
- TIBES_SELECTED = 3,
- TIBES_DISABLED = 4,
- TIBES_FOCUSED = 5
-};
-enum {
- TILES_NORMAL = 1,
- TILES_HOT = 2,
- TILES_SELECTED = 3,
- TILES_DISABLED = 4,
- TILES_FOCUSED = 5
-};
-enum {
- TIRES_NORMAL = 1,
- TIRES_HOT = 2,
- TIRES_SELECTED = 3,
- TIRES_DISABLED = 4,
- TIRES_FOCUSED = 5
-};
-enum {
- TTIS_NORMAL = 1,
- TTIS_HOT = 2,
- TTIS_SELECTED = 3,
- TTIS_DISABLED = 4,
- TTIS_FOCUSED = 5
-};
-enum {
- TTIBES_NORMAL = 1,
- TTIBES_HOT = 2,
- TTIBES_SELECTED = 3,
- TTIBES_DISABLED = 4,
- TTIBES_FOCUSED = 5
-};
-enum {
- TTILES_NORMAL = 1,
- TTILES_HOT = 2,
- TTILES_SELECTED = 3,
- TTILES_DISABLED = 4,
- TTILES_FOCUSED = 5
-};
-enum {
- TTIRES_NORMAL = 1,
- TTIRES_HOT = 2,
- TTIRES_SELECTED = 3,
- TTIRES_DISABLED = 4,
- TTIRES_FOCUSED = 5
-};
-/* TASKBAND parts */
-enum {
- TDP_GROUPCOUNT = 1,
- TDP_FLASHBUTTON = 2,
- TDP_FLASHBUTTONGROUPMENU = 3
-};
-/* TASKBAR parts */
-enum {
- TBP_BACKGROUNDBOTTOM = 1,
- TBP_BACKGROUNDRIGHT = 2,
- TBP_BACKGROUNDTOP = 3,
- TBP_BACKGROUNDLEFT = 4,
- TBP_SIZINGBARBOTTOM = 5,
- TBP_SIZINGBARRIGHT = 6,
- TBP_SIZINGBARTOP = 7,
- TBP_SIZINGBARLEFT = 8
-};
-/* TOOLBAR parts */
-enum {
- TP_BUTTON = 1,
- TP_DROPDOWNBUTTON = 2,
- TP_SPLITBUTTON = 3,
- TP_SPLITBUTTONDROPDOWN = 4,
- TP_SEPARATOR = 5,
- TP_SEPARATORVERT = 6
-};
-enum {
- TS_NORMAL = 1,
- TS_HOT = 2,
- TS_PRESSED = 3,
- TS_DISABLED = 4,
- TS_CHECKED = 5,
- TS_HOTCHECKED = 6
-};
-/* TOOLTIP parts */
-enum {
- TTP_STANDARD = 1,
- TTP_STANDARDTITLE = 2,
- TTP_BALLOON = 3,
- TTP_BALLOONTITLE = 4,
- TTP_CLOSE = 5
-};
-enum {
- TTBS_NORMAL = 1,
- TTBS_LINK = 2
-};
-enum {
- TTCS_NORMAL = 1,
- TTCS_HOT = 2,
- TTCS_PRESSED = 3
-};
-enum {
- TTSS_NORMAL = 1,
- TTSS_LINK = 2
-};
-/* TRACKBAR parts */
-enum {
- TKP_TRACK = 1,
- TKP_TRACKVERT = 2,
- TKP_THUMB = 3,
- TKP_THUMBBOTTOM = 4,
- TKP_THUMBTOP = 5,
- TKP_THUMBVERT = 6,
- TKP_THUMBLEFT = 7,
- TKP_THUMBRIGHT = 8,
- TKP_TICS = 9,
- TKP_TICSVERT = 10
-};
-enum {
- TUS_NORMAL = 1,
- TUS_HOT = 2,
- TUS_PRESSED = 3,
- TUS_FOCUSED = 4,
- TUS_DISABLED = 5
-};
-enum {
- TUBS_NORMAL = 1,
- TUBS_HOT = 2,
- TUBS_PRESSED = 3,
- TUBS_FOCUSED = 4,
- TUBS_DISABLED = 5
-};
-enum {
- TUVLS_NORMAL = 1,
- TUVLS_HOT = 2,
- TUVLS_PRESSED = 3,
- TUVLS_FOCUSED = 4,
- TUVLS_DISABLED = 5
-};
-enum {
- TUVRS_NORMAL = 1,
- TUVRS_HOT = 2,
- TUVRS_PRESSED = 3,
- TUVRS_FOCUSED = 4,
- TUVRS_DISABLED = 5
-};
-enum {
- TUTS_NORMAL = 1,
- TUTS_HOT = 2,
- TUTS_PRESSED = 3,
- TUTS_FOCUSED = 4,
- TUTS_DISABLED = 5
-};
-enum {
- TUVS_NORMAL = 1,
- TUVS_HOT = 2,
- TUVS_PRESSED = 3,
- TUVS_FOCUSED = 4,
- TUVS_DISABLED = 5
-};
-enum {
- TSS_NORMAL = 1
-};
-enum {
- TSVS_NORMAL = 1
-};
-enum {
- TRS_NORMAL = 1
-};
-enum {
- TRVS_NORMAL = 1
-};
-/* TRAYNOTIFY parts */
-enum {
- TNP_BACKGROUND = 1,
- TNP_ANIMBACKGROUND = 2
-};
-/* TREEVIEW parts */
-enum {
- TVP_TREEITEM = 1,
- TVP_GLYPH = 2,
- TVP_BRANCH = 3
-};
-enum {
- GLPS_CLOSED = 1,
- GLPS_OPENED = 2
-};
-enum {
- TREIS_NORMAL = 1,
- TREIS_HOT = 2,
- TREIS_SELECTED = 3,
- TREIS_DISABLED = 4,
- TREIS_SELECTEDNOTFOCUS = 5
-};
-/* WINDOW parts */
-enum {
- WP_CAPTION = 1,
- WP_SMALLCAPTION = 2,
- WP_MINCAPTION = 3,
- WP_SMALLMINCAPTION = 4,
- WP_MAXCAPTION = 5,
- WP_SMALLMAXCAPTION = 6,
- WP_FRAMELEFT = 7,
- WP_FRAMERIGHT = 8,
- WP_FRAMEBOTTOM = 9,
- WP_SMALLFRAMELEFT = 10,
- WP_SMALLFRAMERIGHT = 11,
- WP_SMALLFRAMEBOTTOM = 12,
- WP_SYSBUTTON = 13,
- WP_MDISYSBUTTON = 14,
- WP_MINBUTTON = 15,
- WP_MDIMINBUTTON = 16,
- WP_MAXBUTTON = 17,
- WP_CLOSEBUTTON = 18,
- WP_SMALLCLOSEBUTTON = 19,
- WP_MDICLOSEBUTTON = 20,
- WP_RESTOREBUTTON = 21,
- WP_MDIRESTOREBUTTON = 22,
- WP_HELPBUTTON = 23,
- WP_MDIHELPBUTTON = 24,
- WP_HORZSCROLL = 25,
- WP_HORZTHUMB = 26,
- WP_VERTSCROLL = 27,
- WP_VERTTHUMB = 28,
- WP_DIALOG = 29,
- WP_CAPTIONSIZINGTEMPLATE = 30,
- WP_SMALLCAPTIONSIZINGTEMPLATE = 31,
- WP_FRAMELEFTSIZINGTEMPLATE = 32,
- WP_SMALLFRAMELEFTSIZINGTEMPLATE = 33,
- WP_FRAMERIGHTSIZINGTEMPLATE = 34,
- WP_SMALLFRAMERIGHTSIZINGTEMPLATE = 35,
- WP_FRAMEBOTTOMSIZINGTEMPLATE = 36,
- WP_SMALLFRAMEBOTTOMSIZINGTEMPLATE = 37
-};
-enum {
- CS_ACTIVE = 1,
- CS_INACTIVE = 2,
- CS_DISABLED = 3
-};
-enum {
- CBS_NORMAL = 1,
- CBS_HOT = 2,
- CBS_PUSHED = 3,
- CBS_DISABLED = 4
-};
-enum {
- FS_ACTIVE = 1,
- FS_INACTIVE = 2
-};
-enum {
- HBS_NORMAL = 1,
- HBS_HOT = 2,
- HBS_PUSHED = 3,
- HBS_DISABLED = 4
-};
-enum {
- HSS_NORMAL = 1,
- HSS_HOT = 2,
- HSS_PUSHED = 3,
- HSS_DISABLED = 4
-};
-enum {
- HTS_NORMAL = 1,
- HTS_HOT = 2,
- HTS_PUSHED = 3,
- HTS_DISABLED = 4
-};
-enum {
- MAXBS_NORMAL = 1,
- MAXBS_HOT = 2,
- MAXBS_PUSHED = 3,
- MAXBS_DISABLED = 4
-};
-enum {
- MXCS_ACTIVE = 1,
- MXCS_INACTIVE = 2,
- MXCS_DISABLED = 3
-};
-enum {
- MINBS_NORMAL = 1,
- MINBS_HOT = 2,
- MINBS_PUSHED = 3,
- MINBS_DISABLED = 4
-};
-enum {
- RBS_NORMAL = 1,
- RBS_HOT = 2,
- RBS_PUSHED = 3,
- RBS_DISABLED = 4
-};
-enum {
- SBS_NORMAL = 1,
- SBS_HOT = 2,
- SBS_PUSHED = 3,
- SBS_DISABLED = 4
-};
-enum {
- MNCS_ACTIVE = 1,
- MNCS_INACTIVE = 2,
- MNCS_DISABLED = 3
-};
-enum {
- VSS_NORMAL = 1,
- VSS_HOT = 2,
- VSS_PUSHED = 3,
- VSS_DISABLED = 4
-};
-enum {
- VTS_NORMAL = 1,
- VTS_HOT = 2,
- VTS_PUSHED = 3,
- VTS_DISABLED = 4
-};
-
-#endif
diff --git a/winsup/w32api/include/unknwn.h b/winsup/w32api/include/unknwn.h
deleted file mode 100644
index 20a75afc5..000000000
--- a/winsup/w32api/include/unknwn.h
+++ /dev/null
@@ -1,76 +0,0 @@
-#ifndef COM_NO_WINDOWS_H
-#include <windows.h>
-#endif
-
-#ifndef _UNKNWN_H
-#define _UNKNWN_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C"{
-#endif
-#include <objfwd.h>
-#include <wtypes.h>
-
-void * __RPC_USER MIDL_user_allocate(size_t);
-void __RPC_USER MIDL_user_free(void*);
-EXTERN_C const IID IID_IUnknown;
-EXTERN_C const IID IID_IClassFactory;
-#ifndef __IUnknown_INTERFACE_DEFINED__
-#define __IUnknown_INTERFACE_DEFINED__
-#undef INTERFACE
-#define INTERFACE IUnknown
-DECLARE_INTERFACE(IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
-};
-typedef IUnknown *LPUNKNOWN;
-#endif
-#ifndef __IClassFactory_INTERFACE_DEFINED__
-#define __IClassFactory_INTERFACE_DEFINED__
-#undef INTERFACE
-#define INTERFACE IClassFactory
-DECLARE_INTERFACE_(IClassFactory,IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(CreateInstance)(THIS_ LPUNKNOWN,REFIID,PVOID*) PURE;
- STDMETHOD(LockServer)(THIS_ BOOL) PURE;
-};
-typedef IClassFactory *LPCLASSFACTORY;
-#endif
-HRESULT STDMETHODCALLTYPE IUnknown_QueryInterface_Proxy(IUnknown*,REFIID,void**);
-void __RPC_STUB IUnknown_QueryInterface_Stub(LPRPCSTUBBUFFER,LPRPCCHANNELBUFFER,PRPC_MESSAGE,PDWORD);
-ULONG STDMETHODCALLTYPE IUnknown_AddRef_Proxy(IUnknown*);
-void __RPC_STUB IUnknown_AddRef_Stub(LPRPCSTUBBUFFER,LPRPCCHANNELBUFFER,PRPC_MESSAGE,PDWORD);
-ULONG STDMETHODCALLTYPE IUnknown_Release_Proxy(IUnknown*);
-void __RPC_STUB IUnknown_Release_Stub(LPRPCSTUBBUFFER,LPRPCCHANNELBUFFER,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IClassFactory_RemoteCreateInstance_Proxy(IClassFactory*,REFIID,IUnknown**);
-void __RPC_STUB IClassFactory_RemoteCreateInstance_Stub(LPRPCSTUBBUFFER,LPRPCCHANNELBUFFER,PRPC_MESSAGE,PDWORD);
-HRESULT __stdcall IClassFactory_RemoteLockServer_Proxy(IClassFactory*,BOOL);
-void __RPC_STUB IClassFactory_RemoteLockServer_Stub(LPRPCSTUBBUFFER,LPRPCCHANNELBUFFER,PRPC_MESSAGE,PDWORD);
-HRESULT STDMETHODCALLTYPE IClassFactory_CreateInstance_Proxy(IClassFactory*,IUnknown*,REFIID,void**);
-HRESULT STDMETHODCALLTYPE IClassFactory_CreateInstance_Stub(IClassFactory*,REFIID,IUnknown**);
-HRESULT STDMETHODCALLTYPE IClassFactory_LockServer_Proxy(IClassFactory*,BOOL);
-HRESULT STDMETHODCALLTYPE IClassFactory_LockServer_Stub(IClassFactory*,BOOL);
-
-#if (!defined (__cplusplus) || defined (CINTERFACE)) \
- && defined (COBJMACROS)
-#define IUnknown_QueryInterface(T,r,O) (T)->lpVtbl->QueryInterface(T,r,O)
-#define IUnknown_AddRef(T) (T)->lpVtbl->AddRef(T)
-#define IUnknown_Release(T) (T)->lpVtbl->Release(T)
-#define IClassFactory_QueryInterface(T,r,O) (T)->lpVtbl->QueryInterface(T,r,O)
-#define IClassFactory_AddRef(T) (T)->lpVtbl->AddRef(T)
-#define IClassFactory_Release(T) (T)->lpVtbl->Release(T)
-#define IClassFactory_CreateInstance(T,p,r,O) (T)->lpVtbl->CreateInstance(T,p,r,O)
-#define IClassFactory_LockServer(T,f) (T)->lpVtbl->LockServer(T,f)
-#endif /* COBJMACROS */
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/winsup/w32api/include/userenv.h b/winsup/w32api/include/userenv.h
deleted file mode 100644
index fad9f813b..000000000
--- a/winsup/w32api/include/userenv.h
+++ /dev/null
@@ -1,57 +0,0 @@
-#ifndef _USERENV_H
-#define _USERENV_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-#define PI_NOUI (1)
-#define PI_APPLYPOLICY (2)
-typedef struct _PROFILEINFOA {
- DWORD dwSize;
- DWORD dwFlags;
- LPSTR lpUserName;
- LPSTR lpProfilePath;
- LPSTR lpDefaultPath;
- LPSTR lpServerName;
- LPSTR lpPolicyPath;
- HANDLE hProfile;
-} PROFILEINFOA, *LPPROFILEINFOA;
-typedef struct _PROFILEINFOW {
- DWORD dwSize;
- DWORD dwFlags;
- LPWSTR lpUserName;
- LPWSTR lpProfilePath;
- LPWSTR lpDefaultPath;
- LPWSTR lpServerName;
- LPWSTR lpPolicyPath;
- HANDLE hProfile;
-} PROFILEINFOW, *LPPROFILEINFOW;
-BOOL WINAPI LoadUserProfileA(HANDLE,LPPROFILEINFOA);
-BOOL WINAPI LoadUserProfileW(HANDLE,LPPROFILEINFOW);
-BOOL WINAPI UnloadUserProfile(HANDLE,HANDLE);
-BOOL WINAPI GetProfilesDirectoryA(LPSTR,LPDWORD);
-BOOL WINAPI GetProfilesDirectoryW(LPWSTR,LPDWORD);
-BOOL WINAPI GetUserProfileDirectoryA(HANDLE,LPSTR,LPDWORD);
-BOOL WINAPI GetUserProfileDirectoryW(HANDLE,LPWSTR,LPDWORD);
-BOOL WINAPI CreateEnvironmentBlock(LPVOID*,HANDLE,BOOL);
-BOOL WINAPI DestroyEnvironmentBlock(LPVOID);
-#ifdef UNICODE
-typedef PROFILEINFOW PROFILEINFO;
-typedef LPPROFILEINFOW LPPROFILEINFO;
-#define LoadUserProfile LoadUserProfileW
-#define GetProfilesDirectory GetProfilesDirectoryW
-#define GetUserProfileDirectory GetUserProfileDirectoryW
-#else
-typedef PROFILEINFOA PROFILEINFO;
-typedef LPPROFILEINFOA LPPROFILEINFO;
-#define LoadUserProfile LoadUserProfileA
-#define GetProfilesDirectory GetProfilesDirectoryA
-#define GetUserProfileDirectory GetUserProfileDirectoryA
-#endif
-#ifdef __cplusplus
-}
-#endif
-#endif /* _USERENV_H */
diff --git a/winsup/w32api/include/uxtheme.h b/winsup/w32api/include/uxtheme.h
deleted file mode 100644
index cc52784f3..000000000
--- a/winsup/w32api/include/uxtheme.h
+++ /dev/null
@@ -1,122 +0,0 @@
-#ifndef _UXTHEME_H
-#define _UXTHEME_H
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-#include <commctrl.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#if (_WIN32_WINNT >= 0x0501)
-#define DTBG_CLIPRECT 0x00000001
-#define DTBG_DRAWSOLID 0x00000002
-#define DTBG_OMITBORDER 0x00000004
-#define DTBG_OMITCONTENT 0x00000008
-#define DTBG_COMPUTINGREGION 0x00000010
-#define DTBG_MIRRORDC 0x00000020
-#define DTT_GRAYED 0x00000001
-#define ETDT_DISABLE 0x00000001
-#define ETDT_ENABLE 0x00000002
-#define ETDT_USETABTEXTURE 0x00000004
-#define ETDT_ENABLETAB (ETDT_ENABLE|ETDT_USETABTEXTURE)
-#define STAP_ALLOW_NONCLIENT 0x00000001
-#define STAP_ALLOW_CONTROLS 0x00000002
-#define STAP_ALLOW_WEBCONTENT 0x00000004
-#define HTTB_BACKGROUNDSEG 0x0000
-#define HTTB_FIXEDBORDER 0x0002
-#define HTTB_CAPTION 0x0004
-#define HTTB_RESIZINGBORDER_LEFT 0x0010
-#define HTTB_RESIZINGBORDER_TOP 0x0020
-#define HTTB_RESIZINGBORDER_RIGHT 0x0040
-#define HTTB_RESIZINGBORDER_BOTTOM 0x0080
-#define HTTB_RESIZINGBORDER (HTTB_RESIZINGBORDER_LEFT|HTTB_RESIZINGBORDER_TOP|HTTB_RESIZINGBORDER_RIGHT|HTTB_RESIZINGBORDER_BOTTOM)
-#define HTTB_SIZINGTEMPLATE 0x0100
-#define HTTB_SYSTEMSIZINGMARGINS 0x0200
-
-typedef enum PROPERTYORIGIN {
- PO_STATE = 0,
- PO_PART = 1,
- PO_CLASS = 2,
- PO_GLOBAL = 3,
- PO_NOTFOUND = 4
-} PROPERTYORIGIN;
-typedef enum THEMESIZE {
- TS_MIN,
- TS_TRUE,
- TS_DRAW
-} THEME_SIZE;
-typedef struct _DTBGOPTS {
- DWORD dwSize;
- DWORD dwFlags;
- RECT rcClip;
-} DTBGOPTS, *PDTBGOPTS;
-#define MAX_INTLIST_COUNT 10
-typedef struct _INTLIST {
- int iValueCount;
- int iValues[MAX_INTLIST_COUNT];
-} INTLIST, *PINTLIST;
-typedef struct _MARGINS {
- int cxLeftWidth;
- int cxRightWidth;
- int cyTopHeight;
- int cyBottomHeight;
-} MARGINS, *PMARGINS;
-typedef HANDLE HTHEME;
-
-HRESULT WINAPI CloseThemeData(HTHEME);
-HRESULT WINAPI DrawThemeBackground(HTHEME,HDC,int,int,const RECT*,const RECT*);
-HRESULT WINAPI DrawThemeBackgroundEx(HTHEME,HDC,int,int,const RECT*,const DTBGOPTS*);
-HRESULT WINAPI DrawThemeEdge(HTHEME,HDC,int,int,const RECT*,UINT,UINT,RECT*);
-HRESULT WINAPI DrawThemeIcon(HTHEME,HDC,int,int,const RECT*,HIMAGELIST,int);
-HRESULT WINAPI DrawThemeParentBackground(HWND,HDC,RECT*);
-HRESULT WINAPI DrawThemeText(HTHEME,HDC,int,int,LPCWSTR,int,DWORD,DWORD,const RECT*);
-HRESULT WINAPI EnableThemeDialogTexture(HWND,DWORD);
-HRESULT WINAPI EnableTheming(BOOL);
-HRESULT WINAPI GetCurrentThemeName(LPWSTR,int,LPWSTR,int,LPWSTR,int);
-DWORD WINAPI GetThemeAppProperties();
-HRESULT WINAPI GetThemeBackgroundContentRect(HTHEME,HDC,int,int,const RECT*,RECT*);
-HRESULT WINAPI GetThemeBackgroundExtent(HTHEME,HDC,int,int,const RECT*,RECT*);
-HRESULT WINAPI GetThemeBackgroundRegion(HTHEME,HDC,int,int,const RECT*,HRGN*);
-HRESULT WINAPI GetThemeBool(HTHEME,int,int,int,BOOL*);
-HRESULT WINAPI GetThemeColor(HTHEME,int,int,int,COLORREF*);
-HRESULT WINAPI GetThemeDocumentationProperty(LPCWSTR,LPCWSTR,LPWSTR,int);
-HRESULT WINAPI GetThemeEnumValue(HTHEME,int,int,int,int*);
-HRESULT WINAPI GetThemeFilename(HTHEME,int,int,int,LPWSTR,int);
-HRESULT WINAPI GetThemeFont(HTHEME,HDC,int,int,int,LOGFONT*);
-HRESULT WINAPI GetThemeInt(HTHEME,int,int,int,int*);
-HRESULT WINAPI GetThemeIntList(HTHEME,int,int,int,INTLIST*);
-HRESULT WINAPI GetThemeMargins(HTHEME,HDC,int,int,int,RECT*,MARGINS*);
-HRESULT WINAPI GetThemeMetric(HTHEME,HDC,int,int,int,int*);
-HRESULT WINAPI GetThemePartSize(HTHEME,HDC,int,int,RECT*,THEME_SIZE,SIZE*);
-HRESULT WINAPI GetThemePosition(HTHEME,int,int,int,POINT*);
-HRESULT WINAPI GetThemePropertyOrigin(HTHEME,int,int,int,PROPERTYORIGIN*);
-HRESULT WINAPI GetThemeRect(HTHEME,int,int,int,RECT*);
-HRESULT WINAPI GetThemeString(HTHEME,int,int,int,LPWSTR,int);
-BOOL WINAPI GetThemeSysBool(HTHEME,int);
-COLORREF WINAPI GetThemeSysColor(HTHEME,int);
-HBRUSH WINAPI GetThemeSysColorBrush(HTHEME,int);
-HRESULT WINAPI GetThemeSysFont(HTHEME,int,LOGFONT*);
-HRESULT WINAPI GetThemeSysInt(HTHEME,int,int*);
-int WINAPI GetThemeSysSize(HTHEME,int);
-HRESULT WINAPI GetThemeSysString(HTHEME,int,LPWSTR,int);
-HRESULT WINAPI GetThemeTextExtent(HTHEME,HDC,int,int,LPCWSTR,int,DWORD,const RECT*,RECT*);
-HRESULT WINAPI GetThemeTextMetrics(HTHEME,HDC,int,int,TEXTMETRIC*);
-HTHEME WINAPI GetWindowTheme(HWND);
-HRESULT WINAPI HitTestThemeBackground(HTHEME,HDC,int,int,DWORD,const RECT*,HRGN,POINT,WORD*);
-BOOL WINAPI IsAppThemed();
-BOOL WINAPI IsThemeActive();
-BOOL WINAPI IsThemeBackgroundPartiallyTransparent(HTHEME,int,int);
-BOOL WINAPI IsThemeDialogTextureEnabled(HWND);
-BOOL WINAPI IsThemePartDefined(HTHEME,int,int);
-HTHEME WINAPI OpenThemeData(HWND,LPCWSTR);
-void WINAPI SetThemeAppProperties(DWORD);
-HRESULT WINAPI SetWindowTheme(HWND,LPCWSTR,LPCWSTR);
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/winsup/w32api/include/vfw.h b/winsup/w32api/include/vfw.h
deleted file mode 100644
index 8759f90a5..000000000
--- a/winsup/w32api/include/vfw.h
+++ /dev/null
@@ -1,1144 +0,0 @@
-#ifndef _VFW_H
-#define _VFW_H
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-#ifndef _WINDOWS_H
-#include <windows.h>
-#endif
-#ifndef _MMSYSTEM_H
-#include <mmsystem.h>
-#endif
-#if !defined (_OLE2_H) && !defined (__OBJC__)
-#include <ole2.h>
-#endif
-
-#define VFWAPI WINAPI
-#define VFWAPIV WINAPIV
-
-#include <pshpack8.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define ICERR_OK 0
-#define ICERR_DONTDRAW 1
-#define ICERR_NEWPALETTE 2
-#define ICERR_GOTOKEYFRAME 3
-#define ICERR_STOPDRAWING 4
-#define ICERR_UNSUPPORTED -1
-#define ICERR_BADFORMAT -2
-#define ICERR_MEMORY -3
-#define ICERR_INTERNAL -4
-#define ICERR_BADFLAGS -5
-#define ICERR_BADPARAM -6
-#define ICERR_BADSIZE -7
-#define ICERR_BADHANDLE -8
-#define ICERR_CANTUPDATE -9
-#define ICERR_ABORT -10
-#define ICERR_ERROR -100
-#define ICERR_BADBITDEPTH -200
-#define ICERR_BADIMAGESIZE -201
-#define ICERR_CUSTOM -400
-#define ICCOMPRESSFRAMES_PADDING 0x01
-#define ICM_USER (DRV_USER+0x0000)
-#define ICM_RESERVED_LOW (DRV_USER+0x1000)
-#define ICM_RESERVED_HIGH (DRV_USER+0x2000)
-#define ICM_RESERVED ICM_RESERVED_LOW
-#define ICM_GETSTATE (ICM_RESERVED+0)
-#define ICM_SETSTATE (ICM_RESERVED+1)
-#define ICM_GETINFO (ICM_RESERVED+2)
-#define ICM_CONFIGURE (ICM_RESERVED+10)
-#define ICM_ABOUT (ICM_RESERVED+11)
-#define ICM_GETDEFAULTQUALITY (ICM_RESERVED+30)
-#define ICM_GETQUALITY (ICM_RESERVED+31)
-#define ICM_SETQUALITY (ICM_RESERVED+32)
-#define ICM_SET (ICM_RESERVED+40)
-#define ICM_GET (ICM_RESERVED+41)
-#define ICM_FRAMERATE mmioFOURCC('F','r','m','R')
-#define ICM_KEYFRAMERATE mmioFOURCC('K','e','y','R')
-#define ICM_COMPRESS_GET_FORMAT (ICM_USER+4)
-#define ICM_COMPRESS_GET_SIZE (ICM_USER+5)
-#define ICM_COMPRESS_QUERY (ICM_USER+6)
-#define ICM_COMPRESS_BEGIN (ICM_USER+7)
-#define ICM_COMPRESS (ICM_USER+8)
-#define ICM_COMPRESS_END (ICM_USER+9)
-#define ICM_DECOMPRESS_GET_FORMAT (ICM_USER+10)
-#define ICM_DECOMPRESS_QUERY (ICM_USER+11)
-#define ICM_DECOMPRESS_BEGIN (ICM_USER+12)
-#define ICM_DECOMPRESS (ICM_USER+13)
-#define ICM_DECOMPRESS_END (ICM_USER+14)
-#define ICM_DECOMPRESS_SET_PALETTE (ICM_USER+29)
-#define ICM_DECOMPRESS_GET_PALETTE (ICM_USER+30)
-#define ICM_DRAW_QUERY (ICM_USER+31)
-#define ICM_DRAW_BEGIN (ICM_USER+15)
-#define ICM_DRAW_GET_PALETTE (ICM_USER+16)
-#define ICM_DRAW_START (ICM_USER+18)
-#define ICM_DRAW_STOP (ICM_USER+19)
-#define ICM_DRAW_END (ICM_USER+21)
-#define ICM_DRAW_GETTIME (ICM_USER+32)
-#define ICM_DRAW (ICM_USER+33)
-#define ICM_DRAW_WINDOW (ICM_USER+34)
-#define ICM_DRAW_SETTIME (ICM_USER+35)
-#define ICM_DRAW_REALIZE (ICM_USER+36)
-#define ICM_DRAW_FLUSH (ICM_USER+37)
-#define ICM_DRAW_RENDERBUFFER (ICM_USER+38)
-#define ICM_DRAW_START_PLAY (ICM_USER+39)
-#define ICM_DRAW_STOP_PLAY (ICM_USER+40)
-#define ICM_DRAW_SUGGESTFORMAT (ICM_USER+50)
-#define ICM_DRAW_CHANGEPALETTE (ICM_USER+51)
-#define ICM_GETBUFFERSWANTED (ICM_USER+41)
-#define ICM_GETDEFAULTKEYFRAMERATE (ICM_USER+42)
-#define ICM_DECOMPRESSEX_BEGIN (ICM_USER+60)
-#define ICM_DECOMPRESSEX_QUERY (ICM_USER+61)
-#define ICM_DECOMPRESSEX (ICM_USER+62)
-#define ICM_DECOMPRESSEX_END (ICM_USER+63)
-#define ICM_COMPRESS_FRAMES_INFO (ICM_USER+70)
-#define ICM_SET_STATUS_PROC (ICM_USER+72)
-#define ICMF_CONFIGURE_QUERY 0x01
-#define ICCOMPRESS_KEYFRAME 0x01
-#define ICSTATUS_START 0
-#define ICSTATUS_STATUS 1
-#define ICSTATUS_END 2
-#define ICSTATUS_ERROR 3
-#define ICSTATUS_YIELD 4
-#define ICMODE_COMPRESS 1
-#define ICMODE_DECOMPRESS 2
-#define ICMODE_FASTDECOMPRESS 3
-#define ICMODE_QUERY 4
-#define ICMODE_FASTCOMPRESS 5
-#define ICMODE_DRAW 8
-#define ICQUALITY_LOW 0
-#define ICQUALITY_HIGH 10000
-#define ICQUALITY_DEFAULT -1
-#define VIDCF_QUALITY 0x01
-#define VIDCF_CRUNCH 0x02
-#define VIDCF_TEMPORAL 0x04
-#define VIDCF_COMPRESSFRAMES 0x08
-#define VIDCF_DRAW 0x10
-#define VIDCF_FASTTEMPORALC 0x20
-#define VIDCF_FASTTEMPORALD 0x80
-#define VIDCF_QUALITYTIME 0x40
-#define VIDCF_FASTTEMPORAL (VIDCF_FASTTEMPORALC|VIDCF_FASTTEMPORALD)
-#define ICMF_ABOUT_QUERY 0x01
-#define ICDECOMPRESS_HURRYUP 0x80000000
-#define ICDECOMPRESS_UPDATE 0x40000000
-#define ICDECOMPRESS_PREROLL 0x20000000
-#define ICDECOMPRESS_NULLFRAME 0x10000000
-#define ICDECOMPRESS_NOTKEYFRAME 0x8000000
-#define ICDRAW_QUERY 0x01L
-#define ICDRAW_FULLSCREEN 0x02L
-#define ICDRAW_HDC 0x04L
-#define ICDRAW_ANIMATE 0x08L
-#define ICDRAW_CONTINUE 0x10L
-#define ICDRAW_MEMORYDC 0x20L
-#define ICDRAW_UPDATING 0x40L
-#define ICDRAW_RENDER 0x80L
-#define ICDRAW_BUFFER 0x100L
-#define ICINSTALL_UNICODE 0x8000
-#define ICINSTALL_FUNCTION 0x01
-#define ICINSTALL_DRIVER 0x02
-#define ICINSTALL_HDRV 0x04
-#define ICINSTALL_DRIVERW 0x8002
-#define ICDRAW_HURRYUP 0x80000000L
-#define ICDRAW_UPDATE 0x40000000L
-#define ICDRAW_PREROLL 0x20000000L
-#define ICDRAW_NULLFRAME 0x10000000L
-#define ICDRAW_NOTKEYFRAME 0x8000000L
-#define ICMF_COMPVARS_VALID 0x01
-#define ICMF_CHOOSE_KEYFRAME 0x01
-#define ICMF_CHOOSE_DATARATE 0x02
-#define ICMF_CHOOSE_PREVIEW 0x04
-#define ICMF_CHOOSE_ALLCOMPRESSORS 0x08
-#define ICTYPE_VIDEO mmioFOURCC('v','i','d','c')
-#define ICTYPE_AUDIO mmioFOURCC('a','u','d','c')
-#define formtypeAVI mmioFOURCC('A','V','I',' ')
-#define listtypeAVIHEADER mmioFOURCC('h','d','r','l')
-#define ckidAVIMAINHDR mmioFOURCC('a','v','i','h')
-#define listtypeSTREAMHEADER mmioFOURCC('s','t','r','l')
-#define ckidSTREAMHEADER mmioFOURCC('s','t','r','h')
-#define ckidSTREAMFORMAT mmioFOURCC('s','t','r','f')
-#define ckidSTREAMHANDLERDATA mmioFOURCC('s','t','r','d')
-#define ckidSTREAMNAME mmioFOURCC('s','t','r','n')
-#define listtypeAVIMOVIE mmioFOURCC('m','o','v','i')
-#define listtypeAVIRECORD mmioFOURCC('r','e','c',' ')
-#define ckidAVINEWINDEX mmioFOURCC('i', 'd', 'x', '1')
-#define streamtypeANY 0UL
-#define streamtypeVIDEO mmioFOURCC('v','i','d','s')
-#define streamtypeAUDIO mmioFOURCC('a','u','d','s')
-#define streamtypeMIDI mmioFOURCC('m','i','d','s')
-#define streamtypeTEXT mmioFOURCC('t','x','t','s')
-#define cktypeDIBbits aviTWOCC('d','b')
-#define cktypeDIBcompressed aviTWOCC('d','c')
-#define cktypePALchange aviTWOCC('p','c')
-#define cktypeWAVEbytes aviTWOCC('w','b')
-#define ckidAVIPADDING mmioFOURCC('J','U','N','K')
-#define FromHex(n) (((n)>='A')?((n)+10-'A'):((n)-'0'))
-#define StreamFromFOURCC(fcc) ((WORD)((FromHex(LOBYTE(LOWORD(fcc)))<<4)+(FromHex(HIBYTE(LOWORD(fcc))))))
-#define TWOCCFromFOURCC(fcc) HIWORD(fcc)
-#define ToHex(n) ((BYTE)(((n)>9)?((n)-10+'A'):((n)+'0')))
-#define MAKEAVICKID(tcc, stream) MAKELONG((ToHex((stream)&0x0f)<<8)|(ToHex(((stream)&0xf0)>>4)),tcc)
-#define AVIF_HASINDEX 0x10
-#define AVIF_MUSTUSEINDEX 0x20
-#define AVIF_ISINTERLEAVED 0x100
-#define AVIF_TRUSTCKTYPE 0x800
-#define AVIF_WASCAPTUREFILE 0x10000
-#define AVIF_COPYRIGHTED 0x20000
-#define AVI_HEADERSIZE 2048
-#define AVISF_DISABLED 0x01
-#define AVISF_VIDEO_PALCHANGES 0x10000
-#define AVIIF_LIST 0x01
-#define AVIIF_TWOCC 0x02
-#define AVIIF_KEYFRAME 0x10
-#define AVIIF_NOTIME 0x100
-#define AVIIF_COMPUSE 0xfff0000
-#define AVIIF_KEYFRAME 0x10
-#define AVIGETFRAMEF_BESTDISPLAYFMT 1
-#define AVISTREAMINFO_DISABLED 0x01
-#define AVISTREAMINFO_FORMATCHANGES 0x10000
-#define AVIFILEINFO_HASINDEX 0x10
-#define AVIFILEINFO_MUSTUSEINDEX 0x20
-#define AVIFILEINFO_ISINTERLEAVED 0x100
-#define AVIFILEINFO_TRUSTCKTYPE 0x800
-#define AVIFILEINFO_WASCAPTUREFILE 0x10000
-#define AVIFILEINFO_COPYRIGHTED 0x20000
-#define AVIFILECAPS_CANREAD 0x01
-#define AVIFILECAPS_CANWRITE 0x02
-#define AVIFILECAPS_ALLKEYFRAMES 0x10
-#define AVIFILECAPS_NOCOMPRESSION 0x20
-#define AVICOMPRESSF_INTERLEAVE 0x01
-#define AVICOMPRESSF_DATARATE 0x02
-#define AVICOMPRESSF_KEYFRAMES 0x04
-#define AVICOMPRESSF_VALID 0x08
-#define FIND_DIR 0x0000000fL
-#define FIND_NEXT 0x00000001L
-#define FIND_PREV 0x00000004L
-#define FIND_FROM_START 0x00000008L
-#define FIND_TYPE 0x000000f0L
-#define FIND_KEY 0x00000010L
-#define FIND_ANY 0x00000020L
-#define FIND_FORMAT 0x00000040L
-#define FIND_RET 0x0000f000L
-#define FIND_POS 0x00000000L
-#define FIND_LENGTH 0x00001000L
-#define FIND_OFFSET 0x00002000L
-#define FIND_SIZE 0x00003000L
-#define FIND_INDEX 0x00004000L
-#define AVIERR_OK 0
-#define MAKE_AVIERR(e) MAKE_SCODE(SEVERITY_ERROR,FACILITY_ITF,0x4000+e)
-#define AVIERR_UNSUPPORTED MAKE_AVIERR(101)
-#define AVIERR_BADFORMAT MAKE_AVIERR(102)
-#define AVIERR_MEMORY MAKE_AVIERR(103)
-#define AVIERR_INTERNAL MAKE_AVIERR(104)
-#define AVIERR_BADFLAGS MAKE_AVIERR(105)
-#define AVIERR_BADPARAM MAKE_AVIERR(106)
-#define AVIERR_BADSIZE MAKE_AVIERR(107)
-#define AVIERR_BADHANDLE MAKE_AVIERR(108)
-#define AVIERR_FILEREAD MAKE_AVIERR(109)
-#define AVIERR_FILEWRITE MAKE_AVIERR(110)
-#define AVIERR_FILEOPEN MAKE_AVIERR(111)
-#define AVIERR_COMPRESSOR MAKE_AVIERR(112)
-#define AVIERR_NOCOMPRESSOR MAKE_AVIERR(113)
-#define AVIERR_READONLY MAKE_AVIERR(114)
-#define AVIERR_NODATA MAKE_AVIERR(115)
-#define AVIERR_BUFFERTOOSMALL MAKE_AVIERR(116)
-#define AVIERR_CANTCOMPRESS MAKE_AVIERR(117)
-#define AVIERR_USERABORT MAKE_AVIERR(198)
-#define AVIERR_ERROR MAKE_AVIERR(199)
-#define MCIWNDOPENF_NEW 0x0001
-#define MCIWNDF_NOAUTOSIZEWINDOW 0x0001
-#define MCIWNDF_NOPLAYBAR 0x0002
-#define MCIWNDF_NOAUTOSIZEMOVIE 0x0004
-#define MCIWNDF_NOMENU 0x0008
-#define MCIWNDF_SHOWNAME 0x0010
-#define MCIWNDF_SHOWPOS 0x0020
-#define MCIWNDF_SHOWMODE 0x0040
-#define MCIWNDF_SHOWALL 0x0070
-#define MCIWNDF_NOTIFYMODE 0x0100
-#define MCIWNDF_NOTIFYPOS 0x0200
-#define MCIWNDF_NOTIFYSIZE 0x0400
-#define MCIWNDF_NOTIFYERROR 0x1000
-#define MCIWNDF_NOTIFYALL 0x1F00
-#define MCIWNDF_NOTIFYANSI 0x0080
-#define MCIWNDF_NOTIFYMEDIAA 0x0880
-#define MCIWNDF_NOTIFYMEDIAW 0x0800
-#define MCIWNDF_RECORD 0x2000
-#define MCIWNDF_NOERRORDLG 0x4000
-#define MCIWNDF_NOOPEN 0x8000
-#define MCIWNDM_GETDEVICEID (WM_USER + 100)
-#define MCIWNDM_GETSTART (WM_USER + 103)
-#define MCIWNDM_GETLENGTH (WM_USER + 104)
-#define MCIWNDM_GETEND (WM_USER + 105)
-#define MCIWNDM_EJECT (WM_USER + 107)
-#define MCIWNDM_SETZOOM (WM_USER + 108)
-#define MCIWNDM_GETZOOM (WM_USER + 109)
-#define MCIWNDM_SETVOLUME (WM_USER + 110)
-#define MCIWNDM_GETVOLUME (WM_USER + 111)
-#define MCIWNDM_SETSPEED (WM_USER + 112)
-#define MCIWNDM_GETSPEED (WM_USER + 113)
-#define MCIWNDM_SETREPEAT (WM_USER + 114)
-#define MCIWNDM_GETREPEAT (WM_USER + 115)
-#define MCIWNDM_REALIZE (WM_USER + 118)
-#define MCIWNDM_VALIDATEMEDIA (WM_USER + 121)
-#define MCIWNDM_PLAYFROM (WM_USER + 122)
-#define MCIWNDM_PLAYTO (WM_USER + 123)
-#define MCIWNDM_GETPALETTE (WM_USER + 126)
-#define MCIWNDM_SETPALETTE (WM_USER + 127)
-#define MCIWNDM_SETTIMERS (WM_USER + 129)
-#define MCIWNDM_SETACTIVETIMER (WM_USER + 130)
-#define MCIWNDM_SETINACTIVETIMER (WM_USER + 131)
-#define MCIWNDM_GETACTIVETIMER (WM_USER + 132)
-#define MCIWNDM_GETINACTIVETIMER (WM_USER + 133)
-#define MCIWNDM_CHANGESTYLES (WM_USER + 135)
-#define MCIWNDM_GETSTYLES (WM_USER + 136)
-#define MCIWNDM_GETALIAS (WM_USER + 137)
-#define MCIWNDM_PLAYREVERSE (WM_USER + 139)
-#define MCIWNDM_GET_SOURCE (WM_USER + 140)
-#define MCIWNDM_PUT_SOURCE (WM_USER + 141)
-#define MCIWNDM_GET_DEST (WM_USER + 142)
-#define MCIWNDM_PUT_DEST (WM_USER + 143)
-#define MCIWNDM_CAN_PLAY (WM_USER + 144)
-#define MCIWNDM_CAN_WINDOW (WM_USER + 145)
-#define MCIWNDM_CAN_RECORD (WM_USER + 146)
-#define MCIWNDM_CAN_SAVE (WM_USER + 147)
-#define MCIWNDM_CAN_EJECT (WM_USER + 148)
-#define MCIWNDM_CAN_CONFIG (WM_USER + 149)
-#define MCIWNDM_PALETTEKICK (WM_USER + 150)
-#define MCIWNDM_OPENINTERFACE (WM_USER + 151)
-#define MCIWNDM_SETOWNER (WM_USER + 152)
-#define MCIWNDM_SENDSTRINGA (WM_USER + 101)
-#define MCIWNDM_GETPOSITIONA (WM_USER + 102)
-#define MCIWNDM_GETMODEA (WM_USER + 106)
-#define MCIWNDM_SETTIMEFORMATA (WM_USER + 119)
-#define MCIWNDM_GETTIMEFORMATA (WM_USER + 120)
-#define MCIWNDM_GETFILENAMEA (WM_USER + 124)
-#define MCIWNDM_GETDEVICEA (WM_USER + 125)
-#define MCIWNDM_GETERRORA (WM_USER + 128)
-#define MCIWNDM_NEWA (WM_USER + 134)
-#define MCIWNDM_RETURNSTRINGA (WM_USER + 138)
-#define MCIWNDM_OPENA (WM_USER + 153)
-#define MCIWNDM_SENDSTRINGW (WM_USER + 201)
-#define MCIWNDM_GETPOSITIONW (WM_USER + 202)
-#define MCIWNDM_GETMODEW (WM_USER + 206)
-#define MCIWNDM_SETTIMEFORMATW (WM_USER + 219)
-#define MCIWNDM_GETTIMEFORMATW (WM_USER + 220)
-#define MCIWNDM_GETFILENAMEW (WM_USER + 224)
-#define MCIWNDM_GETDEVICEW (WM_USER + 225)
-#define MCIWNDM_GETERRORW (WM_USER + 228)
-#define MCIWNDM_NEWW (WM_USER + 234)
-#define MCIWNDM_RETURNSTRINGW (WM_USER + 238)
-#define MCIWNDM_OPENW (WM_USER + 252)
-#define MCIWNDM_NOTIFYMODE (WM_USER + 200)
-#define MCIWNDM_NOTIFYPOS (WM_USER + 201)
-#define MCIWNDM_NOTIFYSIZE (WM_USER + 202)
-#define MCIWNDM_NOTIFYMEDIA (WM_USER + 203)
-#define MCIWNDM_NOTIFYERROR (WM_USER + 205)
-#define MCIWND_START -1
-#define MCIWND_END -2
-#define DDF_UPDATE 0x02
-#define DDF_SAME_HDC 0x04
-#define DDF_SAME_DRAW 0x08
-#define DDF_DONTDRAW 0x10
-#define DDF_ANIMATE 0x20
-#define DDF_BUFFER 0x40
-#define DDF_JUSTDRAWIT 0x80
-#define DDF_FULLSCREEN 0x100
-#define DDF_BACKGROUNDPAL 0x200
-#define DDF_NOTKEYFRAME 0x400
-#define DDF_HURRYUP 0x800
-#define DDF_HALFTONE 0x1000
-#define DDF_PREROLL DDF_DONTDRAW
-#define DDF_SAME_DIB DDF_SAME_DRAW
-#define DDF_SAME_SIZE DDF_SAME_DRAW
-#define PD_CAN_DRAW_DIB 0x01
-#define PD_CAN_STRETCHDIB 0x02
-#define PD_STRETCHDIB_1_1_OK 0x04
-#define PD_STRETCHDIB_1_2_OK 0x08
-#define PD_STRETCHDIB_1_N_OK 0x10
-#ifndef mmioFOURCC
-#define mmioFOURCC(c0,c1,c2,c3) ((DWORD)(BYTE)(c0)|((DWORD)(BYTE)(c1)<<8)|((DWORD)(BYTE)(c2)<<16)|((DWORD)(BYTE)(c3)<<24))
-#endif
-#ifndef aviTWOCC
-#define aviTWOCC(ch0,ch1) ((WORD)(BYTE)(ch0)|((WORD)(BYTE)(ch1)<<8))
-#endif
-
-#ifndef RC_INVOKED
-DECLARE_HANDLE(HIC);
-DECLARE_HANDLE(HDRAWDIB);
-typedef WORD TWOCC;
-typedef BOOL (CALLBACK *AVISAVECALLBACK)(INT);
-typedef struct {
- DWORD dwSize;
- DWORD fccType;
- DWORD fccHandler;
- DWORD dwVersion;
- DWORD dwFlags;
- LRESULT dwError;
- LPVOID pV1Reserved;
- LPVOID pV2Reserved;
- DWORD dnDevNode;
-} ICOPEN,*LPICOPEN;
-typedef struct {
- DWORD dwFlags;
- LPBITMAPINFOHEADER lpbiOutput;
- LPVOID lpOutput;
- LPBITMAPINFOHEADER lpbiInput;
- LPVOID lpInput;
- LPDWORD lpckid;
- LPDWORD lpdwFlags;
- LONG lFrameNum;
- DWORD dwFrameSize;
- DWORD dwQuality;
- LPBITMAPINFOHEADER lpbiPrev;
- LPVOID lpPrev;
-} ICCOMPRESS;
-typedef struct {
- DWORD dwFlags;
- LPBITMAPINFOHEADER lpbiOutput;
- LPARAM lOutput;
- LPBITMAPINFOHEADER lpbiInput;
- LPARAM lInput;
- LONG lStartFrame;
- LONG lFrameCount;
- LONG lQuality;
- LONG lDataRate;
- LONG lKeyRate;
- DWORD dwRate;
- DWORD dwScale;
- DWORD dwOverheadPerFrame;
- DWORD dwReserved2;
- LONG (CALLBACK *GetData)(LPARAM,LONG,LPVOID,LONG);
- LONG (CALLBACK *PutData)(LPARAM,LONG,LPVOID,LONG);
-} ICCOMPRESSFRAMES;
-typedef struct {
- DWORD dwFlags;
- LPARAM lParam;
- LONG (CALLBACK *Status)(LPARAM,UINT,LONG);
-} ICSETSTATUSPROC;
-typedef struct {
- DWORD dwSize;
- DWORD fccType;
- DWORD fccHandler;
- DWORD dwFlags;
- DWORD dwVersion;
- DWORD dwVersionICM;
- WCHAR szName[16];
- WCHAR szDescription[128];
- WCHAR szDriver[128];
-} ICINFO;
-typedef struct {
- DWORD dwFlags;
- LPBITMAPINFOHEADER lpbiInput;
- LPVOID lpInput;
- LPBITMAPINFOHEADER lpbiOutput;
- LPVOID lpOutput;
- DWORD ckid;
-} ICDECOMPRESS;
-typedef struct {
- DWORD dwFlags;
- LPBITMAPINFOHEADER lpbiSrc;
- LPVOID lpSrc;
- LPBITMAPINFOHEADER lpbiDst;
- LPVOID lpDst;
- INT xDst;
- INT yDst;
- INT dxDst;
- INT dyDst;
- INT xSrc;
- INT ySrc;
- INT dxSrc;
- INT dySrc;
-} ICDECOMPRESSEX;
-typedef struct {
- DWORD dwFlags;
- LPBITMAPINFOHEADER lpbiIn;
- LPBITMAPINFOHEADER lpbiSuggest;
- INT dxSrc;
- INT dySrc;
- INT dxDst;
- INT dyDst;
- HIC hicDecompressor;
-} ICDRAWSUGGEST;
-typedef struct {
- DWORD dwFlags;
- INT iStart;
- INT iLen;
- LPPALETTEENTRY lppe;
-} ICPALETTE;
-typedef struct {
- DWORD dwFlags;
- HPALETTE hpal;
- HWND hwnd;
- HDC hdc;
- INT xDst;
- INT yDst;
- INT dxDst;
- INT dyDst;
- LPBITMAPINFOHEADER lpbi;
- INT xSrc;
- INT ySrc;
- INT dxSrc;
- INT dySrc;
- DWORD dwRate;
- DWORD dwScale;
-} ICDRAWBEGIN;
-typedef struct {
- DWORD dwFlags;
- LPVOID lpFormat;
- LPVOID lpData;
- DWORD cbData;
- LONG lTime;
-} ICDRAW;
-typedef struct {
- LONG cbSize;
- DWORD dwFlags;
- HIC hic;
- DWORD fccType;
- DWORD fccHandler;
- LPBITMAPINFO lpbiIn;
- LPBITMAPINFO lpbiOut;
- LPVOID lpBitsOut;
- LPVOID lpBitsPrev;
- LONG lFrame;
- LONG lKey;
- LONG lDataRate;
- LONG lQ;
- LONG lKeyCount;
- LPVOID lpState;
- LONG cbState;
-} COMPVARS, *PCOMPVARS;
-typedef struct _MainAVIHeader
-{
- DWORD dwMicroSecPerFrame;
- DWORD dwMaxBytesPerSec;
- DWORD dwPaddingGranularity;
- DWORD dwFlags;
- DWORD dwTotalFrames;
- DWORD dwInitialFrames;
- DWORD dwStreams;
- DWORD dwSuggestedBufferSize;
- DWORD dwWidth;
- DWORD dwHeight;
- DWORD dwReserved[4];
-} MainAVIHeader;
-typedef struct {
- FOURCC fccType;
- FOURCC fccHandler;
- DWORD dwFlags;
- WORD wPriority;
- WORD wLanguage;
- DWORD dwInitialFrames;
- DWORD dwScale;
- DWORD dwRate;
- DWORD dwStart;
- DWORD dwLength;
- DWORD dwSuggestedBufferSize;
- DWORD dwQuality;
- DWORD dwSampleSize;
- RECT rcFrame;
-} AVIStreamHeader;
-typedef struct _AVIINDEXENTRY {
- DWORD ckid;
- DWORD dwFlags;
- DWORD dwChunkOffset;
- DWORD dwChunkLength;
-} AVIINDEXENTRY;
-typedef struct _AVIPALCHANGE {
- BYTE bFirstEntry;
- BYTE bNumEntries;
- WORD wFlags;
- PALETTEENTRY peNew[1];
-} AVIPALCHANGE;
-typedef struct _AVISTREAMINFOA {
- DWORD fccType;
- DWORD fccHandler;
- DWORD dwFlags;
- DWORD dwCaps;
- WORD wPriority;
- WORD wLanguage;
- DWORD dwScale;
- DWORD dwRate;
- DWORD dwStart;
- DWORD dwLength;
- DWORD dwInitialFrames;
- DWORD dwSuggestedBufferSize;
- DWORD dwQuality;
- DWORD dwSampleSize;
- RECT rcFrame;
- DWORD dwEditCount;
- DWORD dwFormatChangeCount;
- CHAR szName[64];
-} AVISTREAMINFOA, * LPAVISTREAMINFOA, *PAVISTREAMINFOA;
-typedef struct _AVISTREAMINFOW {
- DWORD fccType;
- DWORD fccHandler;
- DWORD dwFlags;
- DWORD dwCaps;
- WORD wPriority;
- WORD wLanguage;
- DWORD dwScale;
- DWORD dwRate;
- DWORD dwStart;
- DWORD dwLength;
- DWORD dwInitialFrames;
- DWORD dwSuggestedBufferSize;
- DWORD dwQuality;
- DWORD dwSampleSize;
- RECT rcFrame;
- DWORD dwEditCount;
- DWORD dwFormatChangeCount;
- WCHAR szName[64];
-} AVISTREAMINFOW, * LPAVISTREAMINFOW, *PAVISTREAMINFOW;
-typedef struct _AVIFILEINFOW {
- DWORD dwMaxBytesPerSec;
- DWORD dwFlags;
- DWORD dwCaps;
- DWORD dwStreams;
- DWORD dwSuggestedBufferSize;
- DWORD dwWidth;
- DWORD dwHeight;
- DWORD dwScale;
- DWORD dwRate;
- DWORD dwLength;
- DWORD dwEditCount;
- WCHAR szFileType[64];
-} AVIFILEINFOW, *LPAVIFILEINFOW, *PAVIFILEINFOW;
-typedef struct _AVIFILEINFOA {
- DWORD dwMaxBytesPerSec;
- DWORD dwFlags;
- DWORD dwCaps;
- DWORD dwStreams;
- DWORD dwSuggestedBufferSize;
- DWORD dwWidth;
- DWORD dwHeight;
- DWORD dwScale;
- DWORD dwRate;
- DWORD dwLength;
- DWORD dwEditCount;
- CHAR szFileType[64];
-} AVIFILEINFOA, *LPAVIFILEINFOA, *PAVIFILEINFOA;
-typedef struct _AVICOMPRESSOPTIONS {
- DWORD fccType;
- DWORD fccHandler;
- DWORD dwKeyFrameEvery;
- DWORD dwQuality;
- DWORD dwBytesPerSecond;
- DWORD dwFlags;
- LPVOID lpFormat;
- DWORD cbFormat;
- LPVOID lpParms;
- DWORD cbParms;
- DWORD dwInterleaveEvery;
-} AVICOMPRESSOPTIONS, *LPAVICOMPRESSOPTIONS,*PAVICOMPRESSOPTIONS;
-
-#if !defined (__OBJC__)
-#define DEFINE_AVIGUID(name,l,w1,w2) DEFINE_GUID(name,l,w1,w2,0xC0,0,0,0,0,0,0,0x46)
-DEFINE_AVIGUID(IID_IAVIFile,0x00020020,0,0);
-DEFINE_AVIGUID(IID_IAVIStream,0x00020021,0,0);
-DEFINE_AVIGUID(IID_IAVIStreaming,0x00020022,0,0);
-DEFINE_AVIGUID(IID_IGetFrame,0x00020023,0,0);
-DEFINE_AVIGUID(IID_IAVIEditStream,0x00020024,0,0);
-DEFINE_AVIGUID(CLSID_AVIFile,0x00020000,0,0);
-
-#undef INTERFACE
-#define INTERFACE IAVIStream
-DECLARE_INTERFACE_(IAVIStream, IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(Create)(THIS_ LPARAM,LPARAM) PURE;
- STDMETHOD(Info)(THIS_ AVISTREAMINFOW*,LONG) PURE;
- STDMETHOD_(LONG,FindSample)(THIS_ LONG,LONG) PURE;
- STDMETHOD(ReadFormat)(THIS_ LONG,LPVOID,LONG*) PURE;
- STDMETHOD(SetFormat)(THIS_ LONG,LPVOID,LONG) PURE;
- STDMETHOD(Read)(THIS_ LONG,LONG,LPVOID,LONG,LONG*,LONG*) PURE;
- STDMETHOD(Write)(THIS_ LONG,LONG,LPVOID,LONG,DWORD,LONG*,LONG*) PURE;
- STDMETHOD(Delete)(THIS_ LONG,LONG) PURE;
- STDMETHOD(ReadData)(THIS_ DWORD,LPVOID,LONG*) PURE;
- STDMETHOD(WriteData)(THIS_ DWORD,LPVOID,LONG) PURE;
- STDMETHOD(SetInfo)(THIS_ AVISTREAMINFOW*,LONG) PURE;
-};
-typedef IAVIStream *PAVISTREAM;
-
-#undef INTERFACE
-#define INTERFACE IAVIStreaming
-DECLARE_INTERFACE_(IAVIStreaming, IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(Begin)(THIS_ LONG,LONG,LONG) PURE;
- STDMETHOD(End)(THIS) PURE;
-};
-typedef IAVIStreaming *PAVISTREAMING;
-
-#undef INTERFACE
-#define INTERFACE IAVIEditStream
-DECLARE_INTERFACE_(IAVIEditStream, IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(Cut)(THIS_ LONG*,LONG*,PAVISTREAM*) PURE;
- STDMETHOD(Copy)(THIS_ LONG*,LONG*,PAVISTREAM*) PURE;
- STDMETHOD(Paste)(THIS_ LONG*,LONG*,PAVISTREAM,LONG,LONG) PURE;
- STDMETHOD(Clone)(THIS_ PAVISTREAM*) PURE;
- STDMETHOD(SetInfo)(THIS_ LPAVISTREAMINFOW,LONG) PURE;
-};
-typedef IAVIEditStream *PAVIEDITSTREAM;
-
-#undef INTERFACE
-#define INTERFACE IAVIFile
-DECLARE_INTERFACE_(IAVIFile, IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD(Info)(THIS_ AVIFILEINFOW*,LONG) PURE;
- STDMETHOD(GetStream)(THIS_ PAVISTREAM*,DWORD,LONG) PURE;
- STDMETHOD(CreateStream)(THIS_ PAVISTREAM*,AVISTREAMINFOW*) PURE;
- STDMETHOD(WriteData)(THIS_ DWORD,LPVOID,LONG) PURE;
- STDMETHOD(ReadData)(THIS_ DWORD,LPVOID,LONG*) PURE;
- STDMETHOD(EndRecord)(THIS) PURE;
- STDMETHOD(DeleteStream)(THIS_ DWORD,LONG) PURE;
-};
-typedef IAVIFile *PAVIFILE;
-
-#undef INTERFACE
-#define INTERFACE IGetFrame
-DECLARE_INTERFACE_(IGetFrame, IUnknown)
-{
- STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
- STDMETHOD_(LPVOID,GetFrame)(THIS_ LONG) PURE;
- STDMETHOD(Begin)(THIS_ LONG,LONG,LONG) PURE;
- STDMETHOD(End)(THIS) PURE;
- STDMETHOD(SetFormat)(THIS_ LPBITMAPINFOHEADER,LPVOID,INT,INT,INT,INT) PURE;
-};
-typedef IGetFrame *PGETFRAME;
-#endif /* !defined (__OBJC__) */
-
-DWORD VFWAPI VideoForWindowsVersion(VOID);
-LONG VFWAPI InitVFW(VOID);
-LONG VFWAPI TermVFW(VOID);
-DWORD VFWAPIV ICCompress(HIC,DWORD,LPBITMAPINFOHEADER,LPVOID,LPBITMAPINFOHEADER,LPVOID,LPDWORD,LPDWORD,LONG,DWORD,DWORD,LPBITMAPINFOHEADER,LPVOID);
-DWORD VFWAPIV ICDecompress(HIC,DWORD,LPBITMAPINFOHEADER,LPVOID,LPBITMAPINFOHEADER,LPVOID);
-LRESULT VFWAPI ICSendMessage(HIC,UINT,DWORD,DWORD);
-HANDLE VFWAPI ICImageCompress(HIC,UINT,LPBITMAPINFO,LPVOID,LPBITMAPINFO,LONG,LONG*);
-HANDLE VFWAPI ICImageDecompress(HIC,UINT,LPBITMAPINFO,LPVOID,LPBITMAPINFO);
-BOOL VFWAPI ICInfo(DWORD,DWORD,ICINFO*);
-BOOL VFWAPI ICInstall(DWORD,DWORD,LPARAM,LPSTR,UINT);
-BOOL VFWAPI ICRemove(DWORD,DWORD,UINT);
-LRESULT VFWAPI ICGetInfo(HIC,ICINFO*,DWORD);
-HIC VFWAPI ICOpen(DWORD,DWORD,UINT);
-HIC VFWAPI ICOpenFunction(DWORD,DWORD,UINT,FARPROC);
-LRESULT VFWAPI ICClose(HIC hic);
-HIC VFWAPI ICLocate(DWORD,DWORD,LPBITMAPINFOHEADER,LPBITMAPINFOHEADER,WORD);
-HIC VFWAPI ICGetDisplayFormat(HIC,LPBITMAPINFOHEADER,LPBITMAPINFOHEADER,INT,INT,INT);
-DWORD VFWAPIV ICDrawBegin(HIC,DWORD,HPALETTE,HWND,HDC,INT,INT,INT,INT,LPBITMAPINFOHEADER,INT,INT,INT,INT,DWORD,DWORD);
-DWORD VFWAPIV ICDraw(HIC,DWORD,LPVOID,LPVOID,DWORD,LONG);
-BOOL VFWAPI ICCompressorChoose(HWND,UINT,LPVOID,LPVOID,PCOMPVARS,LPSTR);
-BOOL VFWAPI ICSeqCompressFrameStart(PCOMPVARS,LPBITMAPINFO);
-void VFWAPI ICSeqCompressFrameEnd(PCOMPVARS);
-LPVOID VFWAPI ICSeqCompressFrame(PCOMPVARS,UINT,LPVOID,BOOL*,LONG*);
-void VFWAPI ICCompressorFree(PCOMPVARS);
-#if !defined (__OBJC__)
-ULONG WINAPI AVIStreamAddRef(PAVISTREAM);
-ULONG WINAPI AVIStreamRelease(PAVISTREAM);
-HRESULT WINAPI AVIStreamCreate(PAVISTREAM*,LONG,LONG,CLSID*);
-HRESULT WINAPI AVIStreamInfoA(PAVISTREAM,AVISTREAMINFOA*,LONG);
-HRESULT WINAPI AVIStreamInfoW(PAVISTREAM,AVISTREAMINFOW*,LONG);
-HRESULT WINAPI AVIStreamFindSample(PAVISTREAM,LONG,DWORD);
-HRESULT WINAPI AVIStreamReadFormat(PAVISTREAM,LONG,LPVOID,LONG*);
-HRESULT WINAPI AVIStreamSetFormat(PAVISTREAM,LONG,LPVOID,LONG);
-HRESULT WINAPI AVIStreamRead(PAVISTREAM,LONG,LONG,LPVOID,LONG,LONG*,LONG*);
-HRESULT WINAPI AVIStreamWrite(PAVISTREAM,LONG,LONG,LPVOID,LONG,DWORD,LONG*,LONG*);
-HRESULT WINAPI AVIStreamReadData(PAVISTREAM,DWORD,LPVOID,LONG*);
-HRESULT WINAPI AVIStreamWriteData(PAVISTREAM,DWORD,LPVOID,LONG);
-PGETFRAME WINAPI AVIStreamGetFrameOpen(PAVISTREAM,LPBITMAPINFOHEADER);
-LPVOID WINAPI AVIStreamGetFrame(PGETFRAME,LONG);
-HRESULT WINAPI AVIStreamGetFrameClose(PGETFRAME);
-HRESULT WINAPI AVIMakeCompressedStream(PAVISTREAM*,PAVISTREAM,AVICOMPRESSOPTIONS*,CLSID*);
-HRESULT WINAPI AVIMakeFileFromStreams(PAVIFILE*,INT,PAVISTREAM*);
-HRESULT WINAPI AVIStreamOpenFromFileA(PAVISTREAM*,LPCSTR,DWORD,LONG,UINT,CLSID*);
-HRESULT WINAPI AVIStreamOpenFromFileW(PAVISTREAM*,LPCWSTR,DWORD,LONG,UINT,CLSID*);
-HRESULT WINAPI AVIBuildFilterA(LPSTR,LONG,BOOL);
-HRESULT WINAPI AVIBuildFilterW(LPWSTR,LONG,BOOL);
-BOOL WINAPI AVISaveOptions(HWND,UINT,INT,PAVISTREAM*,LPAVICOMPRESSOPTIONS*);
-HRESULT WINAPI AVISaveOptionsFree(INT,LPAVICOMPRESSOPTIONS*);
-HRESULT WINAPI AVISaveVA(LPCSTR,CLSID*,AVISAVECALLBACK,INT,PAVISTREAM*,LPAVICOMPRESSOPTIONS*);
-HRESULT WINAPI AVISaveVW(LPCWSTR,CLSID*,AVISAVECALLBACK,INT,PAVISTREAM*,LPAVICOMPRESSOPTIONS*);
-LONG WINAPI AVIStreamStart(PAVISTREAM);
-LONG WINAPI AVIStreamLength(PAVISTREAM);
-LONG WINAPI AVIStreamSampleToTime(PAVISTREAM,LONG);
-LONG WINAPI AVIStreamTimeToSample(PAVISTREAM,LONG);
-HRESULT WINAPI CreateEditableStream(PAVISTREAM*,PAVISTREAM);
-HRESULT WINAPI EditStreamClone(PAVISTREAM,PAVISTREAM*);
-HRESULT WINAPI EditStreamCopy(PAVISTREAM,LONG*,LONG*,PAVISTREAM*);
-HRESULT WINAPI EditStreamCut(PAVISTREAM,LONG*,LONG*,PAVISTREAM*);
-HRESULT WINAPI EditStreamPaste(PAVISTREAM,LONG*,LONG*,PAVISTREAM,LONG,LONG);
-HRESULT WINAPI EditStreamSetInfoA(PAVISTREAM,LPAVISTREAMINFOA,LONG);
-HRESULT WINAPI EditStreamSetInfoW(PAVISTREAM,LPAVISTREAMINFOW,LONG);
-HRESULT WINAPI EditStreamSetNameA(PAVISTREAM,LPCSTR);
-HRESULT WINAPI EditStreamSetNameW(PAVISTREAM,LPCWSTR);
-HRESULT WINAPI CreateEditableStream(PAVISTREAM*,PAVISTREAM);
-HRESULT WINAPI EditStreamClone(PAVISTREAM,PAVISTREAM*);
-HRESULT WINAPI EditStreamCopy(PAVISTREAM,LONG*,LONG*,PAVISTREAM*);
-HRESULT WINAPI EditStreamCut(PAVISTREAM,LONG*,LONG*,PAVISTREAM*);
-HRESULT WINAPI EditStreamPaste(PAVISTREAM,LONG*,LONG*,PAVISTREAM,LONG,LONG);
-HRESULT WINAPI EditStreamSetInfoA(PAVISTREAM,LPAVISTREAMINFOA,LONG);
-HRESULT WINAPI EditStreamSetInfoW(PAVISTREAM,LPAVISTREAMINFOW,LONG);
-HRESULT WINAPI EditStreamSetNameA(PAVISTREAM,LPCSTR);
-HRESULT WINAPI EditStreamSetNameW(PAVISTREAM,LPCWSTR);
-VOID WINAPI AVIFileInit(void);
-VOID WINAPI AVIFileExit(void);
-HRESULT WINAPI AVIFileOpenA(PAVIFILE*,LPCSTR,UINT,LPCLSID);
-HRESULT WINAPI AVIFileOpenW(PAVIFILE*,LPCWSTR,UINT,LPCLSID);
-ULONG WINAPI AVIFileAddRef(PAVIFILE);
-ULONG WINAPI AVIFileRelease(PAVIFILE);
-HRESULT WINAPI AVIFileInfoA(PAVIFILE,PAVIFILEINFOA,LONG);
-HRESULT WINAPI AVIFileInfoW(PAVIFILE,PAVIFILEINFOW,LONG);
-HRESULT WINAPI AVIFileGetStream(PAVIFILE,PAVISTREAM*,DWORD,LONG);
-HRESULT WINAPI AVIFileCreateStreamA(PAVIFILE,PAVISTREAM*,AVISTREAMINFOA*);
-HRESULT WINAPI AVIFileCreateStreamW(PAVIFILE,PAVISTREAM*,AVISTREAMINFOW*);
-HRESULT WINAPI AVIFileWriteData(PAVIFILE,DWORD,LPVOID,LONG);
-HRESULT WINAPI AVIFileReadData(PAVIFILE,DWORD,LPVOID,LPLONG);
-HRESULT WINAPI AVIFileEndRecord(PAVIFILE);
-HRESULT WINAPI AVIClearClipboard(VOID);
-HRESULT WINAPI AVIGetFromClipboard(PAVIFILE*);
-HRESULT WINAPI AVIPutFileOnClipboard(PAVIFILE);
-#endif /* __OBJC__ */
-#ifdef OFN_READONLY
-BOOL WINAPI GetOpenFileNamePreviewA(LPOPENFILENAMEA);
-BOOL WINAPI GetOpenFileNamePreviewW(LPOPENFILENAMEW);
-BOOL WINAPI GetSaveFileNamePreviewA(LPOPENFILENAMEA);
-BOOL WINAPI GetSaveFileNamePreviewW(LPOPENFILENAMEW);
-#endif
-HWND VFWAPIV MCIWndCreateA(HWND,HINSTANCE,DWORD,LPCSTR);
-HWND VFWAPIV MCIWndCreateW(HWND,HINSTANCE,DWORD,LPCWSTR);
-HDRAWDIB VFWAPI DrawDibOpen(VOID);
-UINT VFWAPI DrawDibRealize(HDRAWDIB,HDC,BOOL);
-BOOL VFWAPI DrawDibBegin(HDRAWDIB,HDC,INT,INT,LPBITMAPINFOHEADER,INT,INT,UINT);
-BOOL VFWAPI DrawDibDraw(HDRAWDIB,HDC,INT,INT,INT,INT,LPBITMAPINFOHEADER,LPVOID,INT,INT,INT,INT,UINT);
-BOOL VFWAPI DrawDibSetPalette(HDRAWDIB,HPALETTE);
-HPALETTE VFWAPI DrawDibGetPalette(HDRAWDIB);
-BOOL VFWAPI DrawDibChangePalette(HDRAWDIB,int,int,LPPALETTEENTRY);
-LPVOID VFWAPI DrawDibGetBuffer(HDRAWDIB,LPBITMAPINFOHEADER,DWORD,DWORD);
-BOOL VFWAPI DrawDibStart(HDRAWDIB,DWORD);
-BOOL VFWAPI DrawDibStop(HDRAWDIB);
-BOOL VFWAPI DrawDibEnd(HDRAWDIB);
-BOOL VFWAPI DrawDibClose(HDRAWDIB);
-DWORD VFWAPI DrawDibProfileDisplay(LPBITMAPINFOHEADER);
-
-#define ICCompressGetFormat(hic,lpbiInput,lpbiOutput) ICSendMessage(hic,ICM_COMPRESS_GET_FORMAT,(DWORD)(lpbiInput),(DWORD)(lpbiOutput))
-#define ICCompressGetFormatSize(hic,lpbi) ICCompressGetFormat(hic,lpbi,NULL)
-#define ICCompressBegin(hic,lpbiInput,lpbiOutput) ICSendMessage(hic,ICM_COMPRESS_BEGIN,(DWORD)(lpbiInput),(DWORD)(lpbiOutput))
-#define ICCompressGetSize(hic,lpbiInput,lpbiOutput) ICSendMessage(hic,ICM_COMPRESS_GET_SIZE,(DWORD)(lpbiInput),(DWORD)(lpbiOutput))
-#define ICCompressQuery(hic,lpbiInput,lpbiOutput) ICSendMessage(hic,ICM_COMPRESS_QUERY,(DWORD)(lpbiInput),(DWORD)(lpbiOutput))
-#define ICCompressEnd(hic) ICSendMessage(hic,ICM_COMPRESS_END,0,0)
-#define ICQueryAbout(hic) (ICSendMessage(hic,ICM_ABOUT,(DWORD)-1,ICMF_ABOUT_QUERY)==ICERR_OK)
-#define ICAbout(hic,hwnd) ICSendMessage(hic,ICM_ABOUT,(DWORD)(hwnd),0)
-#define ICQueryConfigure(hic) (ICSendMessage(hic,ICM_CONFIGURE,(DWORD)-1,ICMF_CONFIGURE_QUERY)==ICERR_OK)
-#define ICConfigure(hic,hwnd) ICSendMessage(hic,ICM_CONFIGURE,(DWORD)(hwnd),0)
-#define ICDecompressBegin(hic,lpbiInput,lpbiOutput) ICSendMessage(hic,ICM_DECOMPRESS_BEGIN,(DWORD)(lpbiInput),(DWORD)(lpbiOutput))
-#define ICDecompressQuery(hic,lpbiInput,lpbiOutput) ICSendMessage(hic,ICM_DECOMPRESS_QUERY,(DWORD)(lpbiInput),(DWORD)(lpbiOutput))
-#define ICDecompressGetFormat(hic,lpbiInput,lpbiOutput) (LONG)ICSendMessage(hic,ICM_DECOMPRESS_GET_FORMAT,(DWORD)(lpbiInput),(DWORD)(lpbiOutput))
-#define ICDecompressGetFormatSize(hic,lpbi) ICDecompressGetFormat(hic, lpbi, NULL)
-#define ICDecompressGetPalette(hic,lpbiInput,lpbiOutput) ICSendMessage(hic,ICM_DECOMPRESS_GET_PALETTE,(DWORD)(lpbiInput),(DWORD)(lpbiOutput))
-#define ICDecompressSetPalette(hic,lpbiPalette) ICSendMessage(hic,ICM_DECOMPRESS_SET_PALETTE,(DWORD)(lpbiPalette),0)
-#define ICDecompressEnd(hic) ICSendMessage(hic,ICM_DECOMPRESS_END,0,0)
-#define ICDecompressExEnd(hic) ICSendMessage(hic,ICM_DECOMPRESSEX_END,0,0)
-#define ICDecompressOpen(fccType,fccHandler,lpbiIn,lpbiOut) ICLocate(fccType,fccHandler,lpbiIn,lpbiOut,ICMODE_DECOMPRESS)
-#define ICDrawOpen(fccType,fccHandler,lpbiIn) ICLocate(fccType,fccHandler,lpbiIn,NULL,ICMODE_DRAW)
-#define ICGetState(hic,pv,cb) ICSendMessage(hic,ICM_GETSTATE,(DWORD)(pv),(DWORD)(cb))
-#define ICSetState(hic,pv,cb) ICSendMessage(hic,ICM_SETSTATE,(DWORD)(pv),(DWORD)(cb))
-#define ICGetStateSize(hic) ICGetState(hic,NULL,0)
-#define ICDrawWindow(hic,prc) ICSendMessage(hic,ICM_DRAW_WINDOW,(DWORD)(prc),sizeof(RECT))
-#define ICDrawQuery(hic,lpbiInput) ICSendMessage(hic,ICM_DRAW_QUERY,(DWORD)(lpbiInput),0)
-#define ICDrawChangePalette(hic,lpbiInput) ICSendMessage(hic,ICM_DRAW_CHANGEPALETTE,(DWORD)(lpbiInput),0)
-#define ICGetBuffersWanted(hic,lpdwBuffers) ICSendMessage(hic,ICM_GETBUFFERSWANTED,(DWORD)(lpdwBuffers),0)
-#define ICDrawEnd(hic) ICSendMessage(hic,ICM_DRAW_END,0,0)
-#define ICDrawStart(hic) ICSendMessage(hic,ICM_DRAW_START,0,0)
-#define ICDrawStartPlay(hic,lFrom,lTo) ICSendMessage(hic,ICM_DRAW_START_PLAY,(DWORD)(lFrom),(DWORD)(lTo))
-#define ICDrawStop(hic) ICSendMessage(hic,ICM_DRAW_STOP,0,0)
-#define ICDrawStopPlay(hic) ICSendMessage(hic,ICM_DRAW_STOP_PLAY,0,0)
-#define ICDrawGetTime(hic,lplTime) ICSendMessage(hic,ICM_DRAW_GETTIME,(DWORD)(lplTime),0)
-#define ICDrawSetTime(hic,lTime) ICSendMessage(hic,ICM_DRAW_SETTIME,(DWORD)lTime,0)
-#define ICDrawRealize(hic,hdc,fBackground) ICSendMessage(hic,ICM_DRAW_REALIZE,(DWORD)(hdc),(DWORD)(fBackground))
-#define ICDrawFlush(hic) ICSendMessage(hic,ICM_DRAW_FLUSH,0,0)
-#define ICDrawRenderBuffer(hic) ICSendMessage(hic,ICM_DRAW_RENDERBUFFER,0,0)
-#define AVIFileClose(pavi) AVIFileRelease(pavi)
-#define AVIStreamClose(pavi) AVIStreamRelease(pavi);
-#define AVIStreamEnd(pavi) (AVIStreamStart(pavi)+AVIStreamLength(pavi))
-#define AVIStreamEndTime(pavi) AVIStreamSampleToTime(pavi,AVIStreamEnd(pavi))
-#define AVIStreamFormatSize(pavi,lPos,plSize) AVIStreamReadFormat(pavi,lPos,NULL,plSize)
-#define AVIStreamLengthTime(pavi) AVIStreamSampleToTime(pavi,AVIStreamLength(pavi))
-#define AVIStreamSampleSize(pavi,pos,psize) AVIStreamRead(pavi,pos,1,NULL,0,psize,NULL)
-#define AVIStreamSampleToSample(pavi1,pavi2,samp2) AVIStreamTimeToSample(pavi1,AVIStreamSampleToTime(pavi2,samp2))
-#define AVIStreamStartTime(pavi) AVIStreamSampleToTime(pavi,AVIStreamStart(pavi))
-#define AVIStreamNextSample(pavi,pos) AVIStreamFindSample(pavi,pos+1,FIND_NEXT|FIND_ANY)
-#define AVIStreamPrevSample(pavi,pos) AVIStreamFindSample(pavi,pos-1,FIND_PREV|FIND_ANY)
-#define AVIStreamNearestSample(pavi, pos) AVIStreamFindSample(pavi,pos,FIND_PREV|FIND_ANY)
-#define AVStreamNextKeyFrame(pavi,pos) AVIStreamFindSample(pavi,pos+1,FIND_NEXT|FIND_KEY)
-#define AVStreamPrevKeyFrame(pavi,pos) AVIStreamFindSample(pavi,pos-1,FIND_NEXT|FIND_KEY)
-#define AVIStreamNearestKeyFrame(pavi,pos) AVIStreamFindSample(pavi,pos,FIND_PREV|FIND_KEY)
-#define AVIStreamIsKeyFrame(pavi, pos) (AVIStreamNearestKeyFrame(pavi,pos) == pos)
-#ifdef __cplusplus
-#define MCIWndSM ::SendMessage
-#else
-#define MCIWndSM SendMessage
-#endif
-#define MCIWndCanPlay(hWnd) (BOOL)MCIWndSM(hWnd,MCIWNDM_CAN_PLAY,0,0)
-#define MCIWndCanRecord(hWnd) (BOOL)MCIWndSM(hWnd,MCIWNDM_CAN_RECORD,0,0)
-#define MCIWndCanSave(hWnd) (BOOL)MCIWndSM(hWnd,MCIWNDM_CAN_SAVE,0,0)
-#define MCIWndCanWindow(hWnd) (BOOL)MCIWndSM(hWnd,MCIWNDM_CAN_WINDOW,0,0)
-#define MCIWndCanEject(hWnd) (BOOL)MCIWndSM(hWnd,MCIWNDM_CAN_EJECT,0,0)
-#define MCIWndCanConfig(hWnd) (BOOL)MCIWndSM(hWnd,MCIWNDM_CAN_CONFIG,0,0)
-#define MCIWndPaletteKick(hWnd) (BOOL)MCIWndSM(hWnd,MCIWNDM_PALETTEKICK,0,0)
-#define MCIWndSave(hWnd,szFile) (LONG)MCIWndSM(hWnd,MCI_SAVE,0,(LPARAM)(LPVOID)(szFile))
-#define MCIWndSaveDialog(hWnd) MCIWndSave(hWnd,-1)
-#define MCIWndNew(hWnd,lp) (LONG)MCIWndSM(hWnd,MCIWNDM_NEW,0,(LPARAM)(LPVOID)(lp))
-#define MCIWndRecord(hWnd) (LONG)MCIWndSM(hWnd,MCI_RECORD,0,0)
-#define MCIWndOpen(hWnd,sz,f) (LONG)MCIWndSM(hWnd,MCIWNDM_OPEN,(WPARAM)(UINT)(f),(LPARAM)(LPVOID)(sz))
-#define MCIWndOpenDialog(hWnd) MCIWndOpen(hWnd,-1,0)
-#define MCIWndClose(hWnd) (LONG)MCIWndSM(hWnd,MCI_CLOSE,0,0)
-#define MCIWndPlay(hWnd) (LONG)MCIWndSM(hWnd,MCI_PLAY,0,0)
-#define MCIWndStop(hWnd) (LONG)MCIWndSM(hWnd,MCI_STOP,0,0)
-#define MCIWndPause(hWnd) (LONG)MCIWndSM(hWnd,MCI_PAUSE,0,0)
-#define MCIWndResume(hWnd) (LONG)MCIWndSM(hWnd,MCI_RESUME,0,0)
-#define MCIWndSeek(hWnd,lPos) (LONG)MCIWndSM(hWnd,MCI_SEEK,0,(LPARAM)(LONG)(lPos))
-#define MCIWndEject(hWnd) (LONG)MCIWndSM(hWnd,MCIWNDM_EJECT,0,0)
-#define MCIWndHome(hWnd) MCIWndSeek(hWnd,MCIWND_START)
-#define MCIWndEnd(hWnd) MCIWndSeek(hWnd,MCIWND_END)
-#define MCIWndGetSource(hWnd,prc) (LONG)MCIWndSM(hWnd,MCIWNDM_GET_SOURCE,0,(LPARAM)(LPRECT)(prc))
-#define MCIWndPutSource(hWnd,prc) (LONG)MCIWndSM(hWnd,MCIWNDM_PUT_SOURCE,0,(LPARAM)(LPRECT)(prc))
-#define MCIWndGetDest(hWnd,prc) (LONG)MCIWndSM(hWnd,MCIWNDM_GET_DEST,0,(LPARAM)(LPRECT)(prc))
-#define MCIWndPutDest(hWnd,prc) (LONG)MCIWndSM(hWnd,MCIWNDM_PUT_DEST,0,(LPARAM)(LPRECT)(prc))
-#define MCIWndPlayReverse(hWnd) (LONG)MCIWndSM(hWnd,MCIWNDM_PLAYREVERSE,0,0)
-#define MCIWndPlayFrom(hWnd,lPos) (LONG)MCIWndSM(hWnd,MCIWNDM_PLAYFROM,0,(LPARAM)(LONG)(lPos))
-#define MCIWndPlayTo(hWnd,lPos) (LONG)MCIWndSM(hWnd,MCIWNDM_PLAYTO, 0,(LPARAM)(LONG)(lPos))
-#define MCIWndPlayFromTo(hWnd,lStart,lEnd) (MCIWndSeek(hWnd,lStart),MCIWndPlayTo(hWnd,lEnd))
-#define MCIWndGetDeviceID(hWnd) (UINT)MCIWndSM(hWnd,MCIWNDM_GETDEVICEID,0,0)
-#define MCIWndGetAlias(hWnd) (UINT)MCIWndSM(hWnd,MCIWNDM_GETALIAS,0,0)
-#define MCIWndGetMode(hWnd,lp,len) (LONG)MCIWndSM(hWnd,MCIWNDM_GETMODE,(WPARAM)(UINT)(len),(LPARAM)(LPTSTR)(lp))
-#define MCIWndGetPosition(hWnd) (LONG)MCIWndSM(hWnd,MCIWNDM_GETPOSITION,0,0)
-#define MCIWndGetPositionString(hWnd,lp,len) (LONG)MCIWndSM(hWnd,MCIWNDM_GETPOSITION,(WPARAM)(UINT)(len),(LPARAM)(LPTSTR)(lp))
-#define MCIWndGetStart(hWnd) (LONG)MCIWndSM(hWnd,MCIWNDM_GETSTART,0,0)
-#define MCIWndGetLength(hWnd) (LONG)MCIWndSM(hWnd,MCIWNDM_GETLENGTH,0,0)
-#define MCIWndGetEnd(hWnd) (LONG)MCIWndSM(hWnd,MCIWNDM_GETEND,0,0)
-#define MCIWndStep(hWnd,n) (LONG)MCIWndSM(hWnd,MCI_STEP,0,(LPARAM)(long)(n))
-#define MCIWndDestroy(hWnd) (VOID)MCIWndSM(hWnd,WM_CLOSE,0,0)
-#define MCIWndSetZoom(hWnd,iZoom) (VOID)MCIWndSM(hWnd,MCIWNDM_SETZOOM,0,(LPARAM)(UINT)(iZoom))
-#define MCIWndGetZoom(hWnd) (UINT)MCIWndSM(hWnd,MCIWNDM_GETZOOM,0,0)
-#define MCIWndSetVolume(hWnd,iVol) (LONG)MCIWndSM(hWnd,MCIWNDM_SETVOLUME,0,(LPARAM)(UINT)(iVol))
-#define MCIWndGetVolume(hWnd) (LONG)MCIWndSM(hWnd,MCIWNDM_GETVOLUME,0,0)
-#define MCIWndSetSpeed(hWnd,iSpeed) (LONG)MCIWndSM(hWnd,MCIWNDM_SETSPEED,0,(LPARAM)(UINT)(iSpeed))
-#define MCIWndGetSpeed(hWnd) (LONG)MCIWndSM(hWnd,MCIWNDM_GETSPEED,0,0)
-#define MCIWndSetTimeFormat(hWnd,lp) (LONG)MCIWndSM(hWnd,MCIWNDM_SETTIMEFORMAT,0,(LPARAM)(LPTSTR)(lp))
-#define MCIWndGetTimeFormat(hWnd,lp,len) (LONG)MCIWndSM(hWnd,MCIWNDM_GETTIMEFORMAT,(WPARAM)(UINT)(len),(LPARAM)(LPTSTR)(lp))
-#define MCIWndValidateMedia(hWnd) (VOID)MCIWndSM(hWnd,MCIWNDM_VALIDATEMEDIA,0,0)
-#define MCIWndSetRepeat(hWnd,f) (void)MCIWndSM(hWnd,MCIWNDM_SETREPEAT,0,(LPARAM)(BOOL)(f))
-#define MCIWndGetRepeat(hWnd) (BOOL)MCIWndSM(hWnd,MCIWNDM_GETREPEAT,0,0)
-#define MCIWndUseFrames(hWnd) MCIWndSetTimeFormat(hWnd,TEXT("frames"))
-#define MCIWndUseTime(hWnd) MCIWndSetTimeFormat(hWnd,TEXT("ms"))
-#define MCIWndSetActiveTimer(hWnd,active) (VOID)MCIWndSM(hWnd,MCIWNDM_SETACTIVETIMER,(WPARAM)(UINT)(active),0L)
-#define MCIWndSetInactiveTimer(hWnd,inactive) (VOID)MCIWndSM(hWnd,MCIWNDM_SETINACTIVETIMER,(WPARAM)(UINT)(inactive),0L)
-#define MCIWndSetTimers(hWnd,active,inactive) (VOID)MCIWndSM(hWnd,MCIWNDM_SETTIMERS,(WPARAM)(UINT)(active),(LPARAM)(UINT)(inactive))
-#define MCIWndGetActiveTimer(hWnd) (UINT)MCIWndSM(hWnd,MCIWNDM_GETACTIVETIMER,0,0L);
-#define MCIWndGetInactiveTimer(hWnd) (UINT)MCIWndSM(hWnd,MCIWNDM_GETINACTIVETIMER,0,0L);
-#define MCIWndRealize(hWnd,fBkgnd) (LONG)MCIWndSM(hWnd,MCIWNDM_REALIZE,(WPARAM)(BOOL)(fBkgnd),0)
-#define MCIWndSendString(hWnd,sz) (LONG)MCIWndSM(hWnd,MCIWNDM_SENDSTRING,0,(LPARAM)(LPTSTR)(sz))
-#define MCIWndReturnString(hWnd,lp,len) (LONG)MCIWndSM(hWnd,MCIWNDM_RETURNSTRING,(WPARAM)(UINT)(len),(LPARAM)(LPVOID)(lp))
-#define MCIWndGetError(hWnd,lp,len) (LONG)MCIWndSM(hWnd,MCIWNDM_GETERROR,(WPARAM)(UINT)(len),(LPARAM)(LPVOID)(lp))
-#define MCIWndGetPalette(hWnd) (HPALETTE)MCIWndSM(hWnd,MCIWNDM_GETPALETTE,0,0)
-#define MCIWndSetPalette(hWnd,hpal) (LONG)MCIWndSM(hWnd,MCIWNDM_SETPALETTE,(WPARAM)(HPALETTE)(hpal),0)
-#define MCIWndGetFileName(hWnd,lp,len) (LONG)MCIWndSM(hWnd,MCIWNDM_GETFILENAME,(WPARAM)(UINT)(len),(LPARAM)(LPVOID)(lp))
-#define MCIWndGetDevice(hWnd,lp,len) (LONG)MCIWndSM(hWnd,MCIWNDM_GETDEVICE,(WPARAM)(UINT)(len),(LPARAM)(LPVOID)(lp))
-#define MCIWndGetStyles(hWnd) (UINT)MCIWndSM(hWnd,MCIWNDM_GETSTYLES,0,0L)
-#define MCIWndChangeStyles(hWnd,mask,value) (LONG)MCIWndSM(hWnd,MCIWNDM_CHANGESTYLES,(WPARAM)(UINT)(mask),(LPARAM)(LONG)(value))
-#define MCIWndOpenInterface(hWnd,pUnk) (LONG)MCIWndSM(hWnd,MCIWNDM_OPENINTERFACE,0,(LPARAM)(LPUNKNOWN)(pUnk))
-#define MCIWndSetOwner(hWnd,hWndP) (LONG)MCIWndSM(hWnd,MCIWNDM_SETOWNER,(WPARAM)(hWndP),0)
-#define DrawDibUpdate(hdd,hdc,x,y) DrawDibDraw(hdd,hdc,x,y,0,0,NULL,NULL,0,0,0,0,DDF_UPDATE)
-static __inline DWORD
-ICGetDefaultQuality(HIC hic)
-{
- DWORD dwICValue;
- ICSendMessage(hic, ICM_GETDEFAULTQUALITY, (DWORD)(LPVOID)&dwICValue, sizeof(DWORD));
- return dwICValue;
-}
-static __inline DWORD
-ICGetDefaultKeyFrameRate(HIC hic)
-{
- DWORD dwICValue;
- ICSendMessage(hic, ICM_GETDEFAULTKEYFRAMERATE, (DWORD)(LPVOID)&dwICValue, sizeof(DWORD));
- return dwICValue;
-}
-static __inline LRESULT
-ICDrawSuggestFormat(HIC hic,LPBITMAPINFOHEADER lpbiIn,LPBITMAPINFOHEADER lpbiOut,INT dxSrc,INT dySrc,INT dxDst,INT dyDst,HIC hicDecomp)
-{
- ICDRAWSUGGEST ic;
- ic.lpbiIn = lpbiIn;
- ic.lpbiSuggest = lpbiOut;
- ic.dxSrc = dxSrc;
- ic.dySrc = dySrc;
- ic.dxDst = dxDst;
- ic.dyDst = dyDst;
- ic.hicDecompressor = hicDecomp;
- return ICSendMessage(hic,ICM_DRAW_SUGGESTFORMAT,(DWORD)&ic,sizeof(ic));
-}
-static __inline LRESULT
-ICSetStatusProc(HIC hic,DWORD dwFlags,LRESULT lParam,LONG (CALLBACK *fpfnStatus)(LPARAM,UINT,LONG))
-{
- ICSETSTATUSPROC ic;
- ic.dwFlags = dwFlags;
- ic.lParam = lParam;
- ic.Status = fpfnStatus;
- return ICSendMessage(hic,ICM_SET_STATUS_PROC,(DWORD)&ic,sizeof(ic));
-}
-static __inline LRESULT
-ICDecompressEx(HIC hic,DWORD dwFlags,LPBITMAPINFOHEADER lpbiSrc,LPVOID lpSrc,INT xSrc,INT ySrc,INT dxSrc,INT dySrc,LPBITMAPINFOHEADER lpbiDst,LPVOID lpDst,INT xDst,INT yDst,INT dxDst,INT dyDst)
-{
- ICDECOMPRESSEX ic;
- ic.dwFlags = dwFlags;
- ic.lpbiSrc = lpbiSrc;
- ic.lpSrc = lpSrc;
- ic.xSrc = xSrc;
- ic.ySrc = ySrc;
- ic.dxSrc = dxSrc;
- ic.dySrc = dySrc;
- ic.lpbiDst = lpbiDst;
- ic.lpDst = lpDst;
- ic.xDst = xDst;
- ic.yDst = yDst;
- ic.dxDst = dxDst;
- ic.dyDst = dyDst;
- return ICSendMessage(hic,ICM_DECOMPRESSEX,(DWORD)&ic,sizeof(ic));
-}
-static __inline LRESULT
-ICDecompressExBegin(HIC hic,DWORD dwFlags,LPBITMAPINFOHEADER lpbiSrc,LPVOID lpSrc,INT xSrc,INT ySrc,INT dxSrc,INT dySrc,LPBITMAPINFOHEADER lpbiDst,LPVOID lpDst,INT xDst,INT yDst,INT dxDst,INT dyDst)
-{
- ICDECOMPRESSEX ic;
- ic.dwFlags = dwFlags;
- ic.lpbiSrc = lpbiSrc;
- ic.lpSrc = lpSrc;
- ic.xSrc = xSrc;
- ic.ySrc = ySrc;
- ic.dxSrc = dxSrc;
- ic.dySrc = dySrc;
- ic.lpbiDst = lpbiDst;
- ic.lpDst = lpDst;
- ic.xDst = xDst;
- ic.yDst = yDst;
- ic.dxDst = dxDst;
- ic.dyDst = dyDst;
- return ICSendMessage(hic,ICM_DECOMPRESSEX_BEGIN,(DWORD)&ic,sizeof(ic));
-}
-static __inline LRESULT
-ICDecompressExQuery(HIC hic,DWORD dwFlags,LPBITMAPINFOHEADER lpbiSrc,LPVOID lpSrc,INT xSrc,INT ySrc,INT dxSrc,INT dySrc,LPBITMAPINFOHEADER lpbiDst,LPVOID lpDst,INT xDst,INT yDst,INT dxDst,INT dyDst)
-{
- ICDECOMPRESSEX ic;
- ic.dwFlags = dwFlags;
- ic.lpbiSrc = lpbiSrc;
- ic.lpSrc = lpSrc;
- ic.xSrc = xSrc;
- ic.ySrc = ySrc;
- ic.dxSrc = dxSrc;
- ic.dySrc = dySrc;
- ic.lpbiDst = lpbiDst;
- ic.lpDst = lpDst;
- ic.xDst = xDst;
- ic.yDst = yDst;
- ic.dxDst = dxDst;
- ic.dyDst = dyDst;
- return ICSendMessage(hic,ICM_DECOMPRESSEX_QUERY,(DWORD)&ic,sizeof(ic));
-}
-
-/* AVICAP32 exports */
-HWND VFWAPI capCreateCaptureWindowA (LPCSTR,DWORD,int,int,int,int,HWND,int);
-HWND VFWAPI capCreateCaptureWindowW (LPCWSTR,DWORD,int,int,int,int,HWND,int);
-BOOL VFWAPI capGetDriverDescriptionA (UINT,LPSTR,int,LPSTR,int);
-BOOL VFWAPI capGetDriverDescriptionW (UINT,LPWSTR,int,LPWSTR,int);
-
-#ifdef UNICODE
-#define AVISTREAMINFO AVISTREAMINFOW
-#define LPAVISTREAMINFO LPAVISTREAMINFOW
-#define PAVISTREAMINFO PAVISTREAMINFOW
-#define AVIFILEINFO AVIFILEINFOW
-#define PAVIFILEINFO PAVIFILEINFOW
-#define LPAVIFILEINFO LPAVIFILEINFOW
-#define AVIStreamInfo AVIStreamInfoW
-#define AVIStreamOpenFromFile AVIStreamOpenFromFileW
-#define AVIBuildFilter AVIBuildFilterW
-#define AVISaveV AVISaveVW
-#define EditStreamSetInfo EditStreamSetInfoW
-#define EditStreamSetName EditStreamSetNameW
-#define AVIFileOpen AVIFileOpenW
-#define AVIFileInfo AVIFileInfoW
-#define AVIFileCreateStream AVIFileCreateStreamW
-#define GetOpenFileNamePreview GetOpenFileNamePreviewW
-#define GetSaveFileNamePreview GetSaveFileNamePreviewW
-#define MCIWndCreate MCIWndCreateW
-#define MCIWNDF_NOTIFYMEDIA MCIWNDF_NOTIFYMEDIAW
-#define MCIWNDM_SENDSTRING MCIWNDM_SENDSTRINGW
-#define MCIWNDM_GETPOSITION MCIWNDM_GETPOSITIONW
-#define MCIWNDM_GETMODE MCIWNDM_GETMODEW
-#define MCIWNDM_SETTIMEFORMAT MCIWNDM_SETTIMEFORMATW
-#define MCIWNDM_GETTIMEFORMAT MCIWNDM_GETTIMEFORMATW
-#define MCIWNDM_GETFILENAME MCIWNDM_GETFILENAMEW
-#define MCIWNDM_GETDEVICE MCIWNDM_GETDEVICEW
-#define MCIWNDM_GETERROR MCIWNDM_GETERRORW
-#define MCIWNDM_NEW MCIWNDM_NEWW
-#define MCIWNDM_RETURNSTRING MCIWNDM_RETURNSTRINGW
-#define MCIWNDM_OPEN MCIWNDM_OPENW
-
-#define capCreateCaptureWindow capCreateCaptureWindowW
-#define capGetDriverDescription capGetDriverDescriptionW
-
-#else
-#define AVISTREAMINFO AVISTREAMINFOA
-#define LPAVISTREAMINFO LPAVISTREAMINFOA
-#define PAVISTREAMINFO PAVISTREAMINFOA
-#define AVIFILEINFO AVIFILEINFOA
-#define PAVIFILEINFO PAVIFILEINFOA
-#define LPAVIFILEINFO LPAVIFILEINFOA
-#define AVIStreamInfo AVIStreamInfoA
-#define AVIStreamOpenFromFile AVIStreamOpenFromFileA
-#define AVIBuildFilter AVIBuildFilterA
-#define AVISaveV AVISaveVA
-#define EditStreamSetInfo EditStreamSetInfoA
-#define EditStreamSetName EditStreamSetNameA
-#define AVIFileOpen AVIFileOpenA
-#define AVIFileInfo AVIFileInfoA
-#define AVIFileCreateStream AVIFileCreateStreamA
-#define GetOpenFileNamePreview GetOpenFileNamePreviewA
-#define GetSaveFileNamePreview GetSaveFileNamePreviewA
-#define MCIWndCreate MCIWndCreateA
-#define MCIWNDF_NOTIFYMEDIA MCIWNDF_NOTIFYMEDIAA
-#define MCIWNDM_SENDSTRING MCIWNDM_SENDSTRINGA
-#define MCIWNDM_GETPOSITION MCIWNDM_GETPOSITIONA
-#define MCIWNDM_GETMODE MCIWNDM_GETMODEA
-#define MCIWNDM_SETTIMEFORMAT MCIWNDM_SETTIMEFORMATA
-#define MCIWNDM_GETTIMEFORMAT MCIWNDM_GETTIMEFORMATA
-#define MCIWNDM_GETFILENAME MCIWNDM_GETFILENAMEA
-#define MCIWNDM_GETDEVICE MCIWNDM_GETDEVICEA
-#define MCIWNDM_GETERROR MCIWNDM_GETERRORA
-#define MCIWNDM_NEW MCIWNDM_NEWA
-#define MCIWNDM_RETURNSTRING MCIWNDM_RETURNSTRINGA
-#define MCIWNDM_OPEN MCIWNDM_OPENA
-
-#define capCreateCaptureWindow capCreateCaptureWindowA
-#define capGetDriverDescription capGetDriverDescriptionA
-
-#endif
-
-#endif /* RC_INVOKED */
-
-#ifdef __cplusplus
-}
-#endif
-#include <poppack.h>
-#endif /* _VFW_H */
diff --git a/winsup/w32api/include/w32api.h b/winsup/w32api/include/w32api.h
deleted file mode 100644
index 3856ea5fe..000000000
--- a/winsup/w32api/include/w32api.h
+++ /dev/null
@@ -1,47 +0,0 @@
-#ifndef _W32API_H_
-#define _W32API_H_
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#define __W32API_VERSION 3.5
-#define __W32API_MAJOR_VERSION 3
-#define __W32API_MINOR_VERSION 5
-
-/* The following defines are for documentation purposes. The following defines
- * identify the versions of Windows and Internet Explorer. They are not to be
- * used in the w32api library but may be used by a user to set the _WIN32_WINNT
- * or _WIN32_WINDOWS and the WINVER values to their minimum level of support.
- *
- * Similarly the user can use the Internet Explorer values to set the _WIN32_IE
- * value to their minimum level of support.
- */
-
-/* Use these values to set _WIN32_WINDOWS and WINVER to your minimum support
- * level */
-#define Windows95 0x0400
-#define Windows98 0x0410
-#define WindowsME 0x0500
-
-/* Use these values to set _WIN32_WINNT and WINVER to your mimimum support
- * level. */
-#define WindowsNT4 0x0400
-#define Windows2000 0x0500
-#define WindowsXP 0x0501
-#define Windows2003 0x0502
-
-/* Use these values to set _WIN32_IE to your minimum support level */
-#define IE3 0x0300
-#define IE301 0x0300
-#define IE302 0x0300
-#define IE4 0x0400
-#define IE401 0x0401
-#define IE5 0x0500
-#define IE5a 0x0500
-#define IE5b 0x0500
-#define IE501 0x0501
-#define IE55 0x0501
-#define IE56 0x0560
-#define IE6 0x0600
-
-#endif /* ndef _W32API_H_ */
diff --git a/winsup/w32api/include/winable.h b/winsup/w32api/include/winable.h
deleted file mode 100644
index 022829353..000000000
--- a/winsup/w32api/include/winable.h
+++ /dev/null
@@ -1,99 +0,0 @@
-#ifndef _WINABLE_H
-#define _WINABLE_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#if (_WIN32_WINNT < 0x0403)
-#define INPUT_MOUSE 0x00000000
-#define INPUT_KEYBOARD 0x00000001
-#define INPUT_HARDWARE 0x00000002
-#endif /* (_WIN32_WINNT < 0x04030) */
-#if (WINVER < 0x0500)
-#define CHILDID_SELF 0
-#define OBJID_WINDOW 0x00000000
-#define OBJID_SYSMENU 0xFFFFFFFF
-#define OBJID_TITLEBAR 0xFFFFFFFE
-#define OBJID_MENU 0xFFFFFFFD
-#define OBJID_CLIENT 0xFFFFFFFC
-#define OBJID_VSCROLL 0xFFFFFFFB
-#define OBJID_HSCROLL 0xFFFFFFFA
-#define OBJID_SIZEGRIP 0xFFFFFFF9
-#define OBJID_CARET 0xFFFFFFF8
-#define OBJID_CURSOR 0xFFFFFFF7
-#define OBJID_ALERT 0xFFFFFFF6
-#define OBJID_SOUND 0xFFFFFFF5
-#define GUI_CARETBLINKING 0x00000001
-#define GUI_INMOVESIZE 0x00000002
-#define GUI_INMENUMODE 0x00000004
-#define GUI_SYSTEMMENUMODE 0x00000008
-#define GUI_POPUPMENUMODE 0x00000010
-#define WINEVENT_OUTOFCONTEXT 0x0000
-#define WINEVENT_SKIPOWNTHREAD 0x0001
-#define WINEVENT_SKIPOWNPROCESS 0x0002
-#define WINEVENT_INCONTEXT 0x0004
-#endif /* (WINVER < 0x0500) */
-#if (_WIN32_WINNT < 0x0403)
-typedef struct tagMOUSEINPUT {
- LONG dx;
- LONG dy;
- DWORD mouseData;
- DWORD dwFlags;
- DWORD time;
- ULONG_PTR dwExtraInfo;
-} MOUSEINPUT,*PMOUSEINPUT;
-typedef struct tagKEYBDINPUT {
- WORD wVk;
- WORD wScan;
- DWORD dwFlags;
- DWORD time;
- ULONG_PTR dwExtraInfo;
-} KEYBDINPUT,*PKEYBDINPUT;
-typedef struct tagHARDWAREINPUT {
- DWORD uMsg;
- WORD wParamL;
- WORD wParamH;
-} HARDWAREINPUT,*PHARDWAREINPUT;
-typedef struct tagINPUT {
- DWORD type;
- _ANONYMOUS_UNION union {
- MOUSEINPUT mi;
- KEYBDINPUT ki;
- HARDWAREINPUT hi;
- } DUMMYUNIONNAME;
-} INPUT,*PINPUT,*LPINPUT;
-#endif /* (_WIN32_WINNT < 0x0403) */
-#if (WINVER < 0x0500)
-typedef VOID (*WINEVENTPROC)(HWINEVENTHOOK,DWORD,HWND,LONG,LONG,DWORD,DWORD);
-typedef struct tagGUITHREADINFO {
- DWORD cbSize;
- DWORD flags;
- HWND hwndActive;
- HWND hwndFocus;
- HWND hwndCapture;
- HWND hwndMenuOwner;
- HWND hwndMoveSize;
- HWND hwndCaret;
- RECT rcCaret;
-} GUITHREADINFO,*PGUITHREADINFO,*LPGUITHREADINFO;
-#endif /* (WINVER < 0x0500) */
-
-BOOL WINAPI BlockInput(BOOL);
-#if (_WIN32_WINNT < 0x0403)
-UINT WINAPI SendInput(UINT,LPINPUT,int);
-#endif
-#if (WINVER < 0x0500)
-BOOL WINAPI GetGUIThreadInfo(DWORD,LPGUITHREADINFO);
-void WINAPI NotifyWinEvent(DWORD,HWND,LONG,LONG);
-HWINEVENTHOOK WINAPI SetWinEventHook(UINT,UINT,HMODULE,WINEVENTPROC,DWORD,DWORD,UINT);
-BOOL WINAPI UnhookWinEvent(HWINEVENTHOOK);
-#endif /* (WINVER < 0x0500) */
-
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/winsup/w32api/include/winbase.h b/winsup/w32api/include/winbase.h
deleted file mode 100644
index fdfb2be5f..000000000
--- a/winsup/w32api/include/winbase.h
+++ /dev/null
@@ -1,2353 +0,0 @@
-#ifndef _WINBASE_H
-#define _WINBASE_H
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-#ifndef WINBASEAPI
-#ifdef __W32API_USE_DLLIMPORT__
-#define WINBASEAPI DECLSPEC_IMPORT
-#else
-#define WINBASEAPI
-#endif
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define SP_SERIALCOMM 1
-#define PST_UNSPECIFIED 0
-#define PST_RS232 1
-#define PST_PARALLELPORT 2
-#define PST_RS422 3
-#define PST_RS423 4
-#define PST_RS449 5
-#define PST_MODEM 6
-#define PST_FAX 0x21
-#define PST_SCANNER 0x22
-#define PST_NETWORK_BRIDGE 0x100
-#define PST_LAT 0x101
-#define PST_TCPIP_TELNET 0x102
-#define PST_X25 0x103
-#define BAUD_075 1
-#define BAUD_110 2
-#define BAUD_134_5 4
-#define BAUD_150 8
-#define BAUD_300 16
-#define BAUD_600 32
-#define BAUD_1200 64
-#define BAUD_1800 128
-#define BAUD_2400 256
-#define BAUD_4800 512
-#define BAUD_7200 1024
-#define BAUD_9600 2048
-#define BAUD_14400 4096
-#define BAUD_19200 8192
-#define BAUD_38400 16384
-#define BAUD_56K 32768
-#define BAUD_128K 65536
-#define BAUD_115200 131072
-#define BAUD_57600 262144
-#define BAUD_USER 0x10000000
-#define PCF_DTRDSR 1
-#define PCF_RTSCTS 2
-#define PCF_RLSD 4
-#define PCF_PARITY_CHECK 8
-#define PCF_XONXOFF 16
-#define PCF_SETXCHAR 32
-#define PCF_TOTALTIMEOUTS 64
-#define PCF_INTTIMEOUTS 128
-#define PCF_SPECIALCHARS 256
-#define PCF_16BITMODE 512
-#define SP_PARITY 1
-#define SP_BAUD 2
-#define SP_DATABITS 4
-#define SP_STOPBITS 8
-#define SP_HANDSHAKING 16
-#define SP_PARITY_CHECK 32
-#define SP_RLSD 64
-#define DATABITS_5 1
-#define DATABITS_6 2
-#define DATABITS_7 4
-#define DATABITS_8 8
-#define DATABITS_16 16
-#define DATABITS_16X 32
-#define STOPBITS_10 1
-#define STOPBITS_15 2
-#define STOPBITS_20 4
-#define PARITY_NONE 256
-#define PARITY_ODD 512
-#define PARITY_EVEN 1024
-#define PARITY_MARK 2048
-#define PARITY_SPACE 4096
-#define EXCEPTION_DEBUG_EVENT 1
-#define CREATE_THREAD_DEBUG_EVENT 2
-#define CREATE_PROCESS_DEBUG_EVENT 3
-#define EXIT_THREAD_DEBUG_EVENT 4
-#define EXIT_PROCESS_DEBUG_EVENT 5
-#define LOAD_DLL_DEBUG_EVENT 6
-#define UNLOAD_DLL_DEBUG_EVENT 7
-#define OUTPUT_DEBUG_STRING_EVENT 8
-#define RIP_EVENT 9
-#define HFILE_ERROR ((HFILE)-1)
-#define FILE_BEGIN 0
-#define FILE_CURRENT 1
-#define FILE_END 2
-#define INVALID_SET_FILE_POINTER ((DWORD)-1)
-#define OF_READ 0
-#define OF_READWRITE 2
-#define OF_WRITE 1
-#define OF_SHARE_COMPAT 0
-#define OF_SHARE_DENY_NONE 64
-#define OF_SHARE_DENY_READ 48
-#define OF_SHARE_DENY_WRITE 32
-#define OF_SHARE_EXCLUSIVE 16
-#define OF_CANCEL 2048
-#define OF_CREATE 4096
-#define OF_DELETE 512
-#define OF_EXIST 16384
-#define OF_PARSE 256
-#define OF_PROMPT 8192
-#define OF_REOPEN 32768
-#define OF_VERIFY 1024
-#define NMPWAIT_NOWAIT 1
-#define NMPWAIT_WAIT_FOREVER ((DWORD)-1)
-#define NMPWAIT_USE_DEFAULT_WAIT 0
-#define CE_BREAK 16
-#define CE_DNS 2048
-#define CE_FRAME 8
-#define CE_IOE 1024
-#define CE_MODE 32768
-#define CE_OOP 4096
-#define CE_OVERRUN 2
-#define CE_PTO 512
-#define CE_RXOVER 1
-#define CE_RXPARITY 4
-#define CE_TXFULL 256
-#define PROGRESS_CONTINUE 0
-#define PROGRESS_CANCEL 1
-#define PROGRESS_STOP 2
-#define PROGRESS_QUIET 3
-#define CALLBACK_CHUNK_FINISHED 0
-#define CALLBACK_STREAM_SWITCH 1
-#define COPY_FILE_FAIL_IF_EXISTS 1
-#define COPY_FILE_RESTARTABLE 2
-#define OFS_MAXPATHNAME 128
-#define FILE_MAP_ALL_ACCESS 0xf001f
-#define FILE_MAP_READ 4
-#define FILE_MAP_WRITE 2
-#define FILE_MAP_COPY 1
-#define MUTEX_ALL_ACCESS 0x1f0001
-#define MUTEX_MODIFY_STATE 1
-#define SEMAPHORE_ALL_ACCESS 0x1f0003
-#define SEMAPHORE_MODIFY_STATE 2
-#define EVENT_ALL_ACCESS 0x1f0003
-#define EVENT_MODIFY_STATE 2
-#define PIPE_ACCESS_DUPLEX 3
-#define PIPE_ACCESS_INBOUND 1
-#define PIPE_ACCESS_OUTBOUND 2
-#define PIPE_TYPE_BYTE 0
-#define PIPE_TYPE_MESSAGE 4
-#define PIPE_READMODE_BYTE 0
-#define PIPE_READMODE_MESSAGE 2
-#define PIPE_WAIT 0
-#define PIPE_NOWAIT 1
-#define PIPE_CLIENT_END 0
-#define PIPE_SERVER_END 1
-#define PIPE_UNLIMITED_INSTANCES 255
-#define DEBUG_PROCESS 0x00000001
-#define DEBUG_ONLY_THIS_PROCESS 0x00000002
-#define CREATE_SUSPENDED 0x00000004
-#define DETACHED_PROCESS 0x00000008
-#define CREATE_NEW_CONSOLE 0x00000010
-#define NORMAL_PRIORITY_CLASS 0x00000020
-#define IDLE_PRIORITY_CLASS 0x00000040
-#define HIGH_PRIORITY_CLASS 0x00000080
-#define REALTIME_PRIORITY_CLASS 0x00000100
-#define CREATE_NEW_PROCESS_GROUP 0x00000200
-#define CREATE_UNICODE_ENVIRONMENT 0x00000400
-#define CREATE_SEPARATE_WOW_VDM 0x00000800
-#define CREATE_SHARED_WOW_VDM 0x00001000
-#define CREATE_FORCEDOS 0x00002000
-#define BELOW_NORMAL_PRIORITY_CLASS 0x00004000
-#define ABOVE_NORMAL_PRIORITY_CLASS 0x00008000
-#define CREATE_BREAKAWAY_FROM_JOB 0x01000000
-#define CREATE_WITH_USERPROFILE 0x02000000
-#define CREATE_DEFAULT_ERROR_MODE 0x04000000
-#define CREATE_NO_WINDOW 0x08000000
-#define PROFILE_USER 0x10000000
-#define PROFILE_KERNEL 0x20000000
-#define PROFILE_SERVER 0x40000000
-#define CONSOLE_TEXTMODE_BUFFER 1
-#define CREATE_NEW 1
-#define CREATE_ALWAYS 2
-#define OPEN_EXISTING 3
-#define OPEN_ALWAYS 4
-#define TRUNCATE_EXISTING 5
-#define FILE_FLAG_WRITE_THROUGH 0x80000000
-#define FILE_FLAG_OVERLAPPED 1073741824
-#define FILE_FLAG_NO_BUFFERING 536870912
-#define FILE_FLAG_RANDOM_ACCESS 268435456
-#define FILE_FLAG_SEQUENTIAL_SCAN 134217728
-#define FILE_FLAG_DELETE_ON_CLOSE 67108864
-#define FILE_FLAG_BACKUP_SEMANTICS 33554432
-#define FILE_FLAG_POSIX_SEMANTICS 16777216
-#define FILE_FLAG_OPEN_REPARSE_POINT 2097152
-#define FILE_FLAG_OPEN_NO_RECALL 1048576
-#if (_WIN32_WINNT >= 0x0500)
-#define FILE_FLAG_FIRST_PIPE_INSTANCE 524288
-#endif
-#define CLRDTR 6
-#define CLRRTS 4
-#define SETDTR 5
-#define SETRTS 3
-#define SETXOFF 1
-#define SETXON 2
-#define SETBREAK 8
-#define CLRBREAK 9
-#define STILL_ACTIVE 0x103
-#define FIND_FIRST_EX_CASE_SENSITIVE 1
-#define SCS_32BIT_BINARY 0
-#define SCS_DOS_BINARY 1
-#define SCS_OS216_BINARY 5
-#define SCS_PIF_BINARY 3
-#define SCS_POSIX_BINARY 4
-#define SCS_WOW_BINARY 2
-#define MAX_COMPUTERNAME_LENGTH 15
-#define HW_PROFILE_GUIDLEN 39
-#define MAX_PROFILE_LEN 80
-#define DOCKINFO_UNDOCKED 1
-#define DOCKINFO_DOCKED 2
-#define DOCKINFO_USER_SUPPLIED 4
-#define DOCKINFO_USER_UNDOCKED (DOCKINFO_USER_SUPPLIED|DOCKINFO_UNDOCKED)
-#define DOCKINFO_USER_DOCKED (DOCKINFO_USER_SUPPLIED|DOCKINFO_DOCKED)
-#define DRIVE_REMOVABLE 2
-#define DRIVE_FIXED 3
-#define DRIVE_REMOTE 4
-#define DRIVE_CDROM 5
-#define DRIVE_RAMDISK 6
-#define DRIVE_UNKNOWN 0
-#define DRIVE_NO_ROOT_DIR 1
-#define FILE_TYPE_UNKNOWN 0
-#define FILE_TYPE_DISK 1
-#define FILE_TYPE_CHAR 2
-#define FILE_TYPE_PIPE 3
-#define FILE_TYPE_REMOTE 0x8000
-/* also in ddk/ntapi.h */
-#define HANDLE_FLAG_INHERIT 0x01
-#define HANDLE_FLAG_PROTECT_FROM_CLOSE 0x02
-/* end ntapi.h */
-#define STD_INPUT_HANDLE (DWORD)(0xfffffff6)
-#define STD_OUTPUT_HANDLE (DWORD)(0xfffffff5)
-#define STD_ERROR_HANDLE (DWORD)(0xfffffff4)
-#define INVALID_HANDLE_VALUE (HANDLE)(-1)
-#define GET_TAPE_MEDIA_INFORMATION 0
-#define GET_TAPE_DRIVE_INFORMATION 1
-#define SET_TAPE_MEDIA_INFORMATION 0
-#define SET_TAPE_DRIVE_INFORMATION 1
-#define THREAD_PRIORITY_ABOVE_NORMAL 1
-#define THREAD_PRIORITY_BELOW_NORMAL (-1)
-#define THREAD_PRIORITY_HIGHEST 2
-#define THREAD_PRIORITY_IDLE (-15)
-#define THREAD_PRIORITY_LOWEST (-2)
-#define THREAD_PRIORITY_NORMAL 0
-#define THREAD_PRIORITY_TIME_CRITICAL 15
-#define THREAD_PRIORITY_ERROR_RETURN 2147483647
-#define TIME_ZONE_ID_UNKNOWN 0
-#define TIME_ZONE_ID_STANDARD 1
-#define TIME_ZONE_ID_DAYLIGHT 2
-#define TIME_ZONE_ID_INVALID 0xFFFFFFFF
-#define FS_CASE_IS_PRESERVED 2
-#define FS_CASE_SENSITIVE 1
-#define FS_UNICODE_STORED_ON_DISK 4
-#define FS_PERSISTENT_ACLS 8
-#define FS_FILE_COMPRESSION 16
-#define FS_VOL_IS_COMPRESSED 32768
-#define GMEM_FIXED 0
-#define GMEM_MOVEABLE 2
-#define GMEM_MODIFY 128
-#define GPTR 64
-#define GHND 66
-#define GMEM_DDESHARE 8192
-#define GMEM_DISCARDABLE 256
-#define GMEM_LOWER 4096
-#define GMEM_NOCOMPACT 16
-#define GMEM_NODISCARD 32
-#define GMEM_NOT_BANKED 4096
-#define GMEM_NOTIFY 16384
-#define GMEM_SHARE 8192
-#define GMEM_ZEROINIT 64
-#define GMEM_DISCARDED 16384
-#define GMEM_INVALID_HANDLE 32768
-#define GMEM_LOCKCOUNT 255
-#define GMEM_VALID_FLAGS 32626
-#define STATUS_WAIT_0 0
-#define STATUS_ABANDONED_WAIT_0 0x80
-#define STATUS_USER_APC 0xC0
-#define STATUS_TIMEOUT 0x102
-#define STATUS_PENDING 0x103
-#define STATUS_SEGMENT_NOTIFICATION 0x40000005
-#define STATUS_GUARD_PAGE_VIOLATION 0x80000001
-#define STATUS_DATATYPE_MISALIGNMENT 0x80000002
-#define STATUS_BREAKPOINT 0x80000003
-#define STATUS_SINGLE_STEP 0x80000004
-#define STATUS_ACCESS_VIOLATION 0xC0000005
-#define STATUS_IN_PAGE_ERROR 0xC0000006
-#define STATUS_INVALID_HANDLE 0xC0000008L
-#define STATUS_NO_MEMORY 0xC0000017
-#define STATUS_ILLEGAL_INSTRUCTION 0xC000001D
-#define STATUS_NONCONTINUABLE_EXCEPTION 0xC0000025
-#define STATUS_INVALID_DISPOSITION 0xC0000026
-#define STATUS_ARRAY_BOUNDS_EXCEEDED 0xC000008C
-#define STATUS_FLOAT_DENORMAL_OPERAND 0xC000008D
-#define STATUS_FLOAT_DIVIDE_BY_ZERO 0xC000008E
-#define STATUS_FLOAT_INEXACT_RESULT 0xC000008F
-#define STATUS_FLOAT_INVALID_OPERATION 0xC0000090
-#define STATUS_FLOAT_OVERFLOW 0xC0000091
-#define STATUS_FLOAT_STACK_CHECK 0xC0000092
-#define STATUS_FLOAT_UNDERFLOW 0xC0000093
-#define STATUS_INTEGER_DIVIDE_BY_ZERO 0xC0000094
-#define STATUS_INTEGER_OVERFLOW 0xC0000095
-#define STATUS_PRIVILEGED_INSTRUCTION 0xC0000096
-#define STATUS_STACK_OVERFLOW 0xC00000FD
-#define STATUS_CONTROL_C_EXIT 0xC000013A
-#define EXCEPTION_ACCESS_VIOLATION STATUS_ACCESS_VIOLATION
-#define EXCEPTION_DATATYPE_MISALIGNMENT STATUS_DATATYPE_MISALIGNMENT
-#define EXCEPTION_BREAKPOINT STATUS_BREAKPOINT
-#define EXCEPTION_SINGLE_STEP STATUS_SINGLE_STEP
-#define EXCEPTION_ARRAY_BOUNDS_EXCEEDED STATUS_ARRAY_BOUNDS_EXCEEDED
-#define EXCEPTION_FLT_DENORMAL_OPERAND STATUS_FLOAT_DENORMAL_OPERAND
-#define EXCEPTION_FLT_DIVIDE_BY_ZERO STATUS_FLOAT_DIVIDE_BY_ZERO
-#define EXCEPTION_FLT_INEXACT_RESULT STATUS_FLOAT_INEXACT_RESULT
-#define EXCEPTION_FLT_INVALID_OPERATION STATUS_FLOAT_INVALID_OPERATION
-#define EXCEPTION_FLT_OVERFLOW STATUS_FLOAT_OVERFLOW
-#define EXCEPTION_FLT_STACK_CHECK STATUS_FLOAT_STACK_CHECK
-#define EXCEPTION_FLT_UNDERFLOW STATUS_FLOAT_UNDERFLOW
-#define EXCEPTION_INT_DIVIDE_BY_ZERO STATUS_INTEGER_DIVIDE_BY_ZERO
-#define EXCEPTION_INT_OVERFLOW STATUS_INTEGER_OVERFLOW
-#define EXCEPTION_PRIV_INSTRUCTION STATUS_PRIVILEGED_INSTRUCTION
-#define EXCEPTION_IN_PAGE_ERROR STATUS_IN_PAGE_ERROR
-#define EXCEPTION_ILLEGAL_INSTRUCTION STATUS_ILLEGAL_INSTRUCTION
-#define EXCEPTION_NONCONTINUABLE_EXCEPTION STATUS_NONCONTINUABLE_EXCEPTION
-#define EXCEPTION_STACK_OVERFLOW STATUS_STACK_OVERFLOW
-#define EXCEPTION_INVALID_DISPOSITION STATUS_INVALID_DISPOSITION
-#define EXCEPTION_GUARD_PAGE STATUS_GUARD_PAGE_VIOLATION
-#define EXCEPTION_INVALID_HANDLE STATUS_INVALID_HANDLE
-#define CONTROL_C_EXIT STATUS_CONTROL_C_EXIT
-#define PROCESS_HEAP_REGION 1
-#define PROCESS_HEAP_UNCOMMITTED_RANGE 2
-#define PROCESS_HEAP_ENTRY_BUSY 4
-#define PROCESS_HEAP_ENTRY_MOVEABLE 16
-#define PROCESS_HEAP_ENTRY_DDESHARE 32
-#define DONT_RESOLVE_DLL_REFERENCES 1
-#define LOAD_LIBRARY_AS_DATAFILE 2
-#define LOAD_WITH_ALTERED_SEARCH_PATH 8
-#define LMEM_FIXED 0
-#define LMEM_MOVEABLE 2
-#define LMEM_NONZEROLHND 2
-#define LMEM_NONZEROLPTR 0
-#define LMEM_DISCARDABLE 3840
-#define LMEM_NOCOMPACT 16
-#define LMEM_NODISCARD 32
-#define LMEM_ZEROINIT 64
-#define LMEM_DISCARDED 16384
-#define LMEM_MODIFY 128
-#define LMEM_INVALID_HANDLE 32768
-#define LMEM_LOCKCOUNT 255
-#define LPTR 64
-#define LHND 66
-#define NONZEROLHND 2
-#define NONZEROLPTR 0
-#define LOCKFILE_FAIL_IMMEDIATELY 1
-#define LOCKFILE_EXCLUSIVE_LOCK 2
-#define LOGON32_PROVIDER_DEFAULT 0
-#define LOGON32_PROVIDER_WINNT35 1
-#define LOGON32_LOGON_INTERACTIVE 2
-#define LOGON32_LOGON_BATCH 4
-#define LOGON32_LOGON_SERVICE 5
-#define MOVEFILE_REPLACE_EXISTING 1
-#define MOVEFILE_COPY_ALLOWED 2
-#define MOVEFILE_DELAY_UNTIL_REBOOT 4
-#define MOVEFILE_WRITE_THROUGH 8
-#define MAXIMUM_WAIT_OBJECTS 64
-#define MAXIMUM_SUSPEND_COUNT 0x7F
-#define WAIT_OBJECT_0 0
-#define WAIT_ABANDONED_0 128
-#ifndef WAIT_TIMEOUT /* also in winerror.h */
-#define WAIT_TIMEOUT 258
-#endif
-#define WAIT_IO_COMPLETION 0xC0
-#define WAIT_ABANDONED 128
-#define WAIT_FAILED ((DWORD)0xFFFFFFFF)
-#define PURGE_TXABORT 1
-#define PURGE_RXABORT 2
-#define PURGE_TXCLEAR 4
-#define PURGE_RXCLEAR 8
-#define EVENTLOG_SUCCESS 0
-#define EVENTLOG_FORWARDS_READ 4
-#define EVENTLOG_BACKWARDS_READ 8
-#define EVENTLOG_SEEK_READ 2
-#define EVENTLOG_SEQUENTIAL_READ 1
-#define EVENTLOG_ERROR_TYPE 1
-#define EVENTLOG_WARNING_TYPE 2
-#define EVENTLOG_INFORMATION_TYPE 4
-#define EVENTLOG_AUDIT_SUCCESS 8
-#define EVENTLOG_AUDIT_FAILURE 16
-#define FORMAT_MESSAGE_ALLOCATE_BUFFER 256
-#define FORMAT_MESSAGE_IGNORE_INSERTS 512
-#define FORMAT_MESSAGE_FROM_STRING 1024
-#define FORMAT_MESSAGE_FROM_HMODULE 2048
-#define FORMAT_MESSAGE_FROM_SYSTEM 4096
-#define FORMAT_MESSAGE_ARGUMENT_ARRAY 8192
-#define FORMAT_MESSAGE_MAX_WIDTH_MASK 255
-#define EV_BREAK 64
-#define EV_CTS 8
-#define EV_DSR 16
-#define EV_ERR 128
-#define EV_EVENT1 2048
-#define EV_EVENT2 4096
-#define EV_PERR 512
-#define EV_RING 256
-#define EV_RLSD 32
-#define EV_RX80FULL 1024
-#define EV_RXCHAR 1
-#define EV_RXFLAG 2
-#define EV_TXEMPTY 4
-/* also in ddk/ntapi.h */
-#define SEM_FAILCRITICALERRORS 0x0001
-#define SEM_NOGPFAULTERRORBOX 0x0002
-#define SEM_NOALIGNMENTFAULTEXCEPT 0x0004
-#define SEM_NOOPENFILEERRORBOX 0x8000
-/* end ntapi.h */
-#define SLE_ERROR 1
-#define SLE_MINORERROR 2
-#define SLE_WARNING 3
-#define SHUTDOWN_NORETRY 1
-#define EXCEPTION_EXECUTE_HANDLER 1
-#define EXCEPTION_CONTINUE_EXECUTION (-1)
-#define EXCEPTION_CONTINUE_SEARCH 0
-#define MAXINTATOM 0xC000
-#define INVALID_ATOM ((ATOM)0)
-#define IGNORE 0
-#define INFINITE 0xFFFFFFFF
-#define NOPARITY 0
-#define ODDPARITY 1
-#define EVENPARITY 2
-#define MARKPARITY 3
-#define SPACEPARITY 4
-#define ONESTOPBIT 0
-#define ONE5STOPBITS 1
-#define TWOSTOPBITS 2
-#define CBR_110 110
-#define CBR_300 300
-#define CBR_600 600
-#define CBR_1200 1200
-#define CBR_2400 2400
-#define CBR_4800 4800
-#define CBR_9600 9600
-#define CBR_14400 14400
-#define CBR_19200 19200
-#define CBR_38400 38400
-#define CBR_56000 56000
-#define CBR_57600 57600
-#define CBR_115200 115200
-#define CBR_128000 128000
-#define CBR_256000 256000
-#define BACKUP_INVALID 0
-#define BACKUP_DATA 1
-#define BACKUP_EA_DATA 2
-#define BACKUP_SECURITY_DATA 3
-#define BACKUP_ALTERNATE_DATA 4
-#define BACKUP_LINK 5
-#define BACKUP_PROPERTY_DATA 6
-#define BACKUP_OBJECT_ID 7
-#define BACKUP_REPARSE_DATA 8
-#define BACKUP_SPARSE_BLOCK 9
-#define STREAM_NORMAL_ATTRIBUTE 0
-#define STREAM_MODIFIED_WHEN_READ 1
-#define STREAM_CONTAINS_SECURITY 2
-#define STREAM_CONTAINS_PROPERTIES 4
-#define STARTF_USESHOWWINDOW 1
-#define STARTF_USESIZE 2
-#define STARTF_USEPOSITION 4
-#define STARTF_USECOUNTCHARS 8
-#define STARTF_USEFILLATTRIBUTE 16
-#define STARTF_RUNFULLSCREEN 32
-#define STARTF_FORCEONFEEDBACK 64
-#define STARTF_FORCEOFFFEEDBACK 128
-#define STARTF_USESTDHANDLES 256
-#define STARTF_USEHOTKEY 512
-#define TC_NORMAL 0
-#define TC_HARDERR 1
-#define TC_GP_TRAP 2
-#define TC_SIGNAL 3
-#define AC_LINE_OFFLINE 0
-#define AC_LINE_ONLINE 1
-#define AC_LINE_BACKUP_POWER 2
-#define AC_LINE_UNKNOWN 255
-#define BATTERY_FLAG_HIGH 1
-#define BATTERY_FLAG_LOW 2
-#define BATTERY_FLAG_CRITICAL 4
-#define BATTERY_FLAG_CHARGING 8
-#define BATTERY_FLAG_NO_BATTERY 128
-#define BATTERY_FLAG_UNKNOWN 255
-#define BATTERY_PERCENTAGE_UNKNOWN 255
-#define BATTERY_LIFE_UNKNOWN 0xFFFFFFFF
-#define DDD_RAW_TARGET_PATH 1
-#define DDD_REMOVE_DEFINITION 2
-#define DDD_EXACT_MATCH_ON_REMOVE 4
-#define HINSTANCE_ERROR 32
-#define MS_CTS_ON 16
-#define MS_DSR_ON 32
-#define MS_RING_ON 64
-#define MS_RLSD_ON 128
-#define DTR_CONTROL_DISABLE 0
-#define DTR_CONTROL_ENABLE 1
-#define DTR_CONTROL_HANDSHAKE 2
-#define RTS_CONTROL_DISABLE 0
-#define RTS_CONTROL_ENABLE 1
-#define RTS_CONTROL_HANDSHAKE 2
-#define RTS_CONTROL_TOGGLE 3
-#define SECURITY_ANONYMOUS (SecurityAnonymous<<16)
-#define SECURITY_IDENTIFICATION (SecurityIdentification<<16)
-#define SECURITY_IMPERSONATION (SecurityImpersonation<<16)
-#define SECURITY_DELEGATION (SecurityDelegation<<16)
-#define SECURITY_CONTEXT_TRACKING 0x40000
-#define SECURITY_EFFECTIVE_ONLY 0x80000
-#define SECURITY_SQOS_PRESENT 0x100000
-#define SECURITY_VALID_SQOS_FLAGS 0x1F0000
-#define INVALID_FILE_SIZE 0xFFFFFFFF
-#define TLS_OUT_OF_INDEXES (DWORD)0xFFFFFFFF
-#if (_WIN32_WINNT >= 0x0501)
-#define ACTCTX_FLAG_PROCESSOR_ARCHITECTURE_VALID 0x00000001
-#define ACTCTX_FLAG_LANGID_VALID 0x00000002
-#define ACTCTX_FLAG_ASSEMBLY_DIRECTORY_VALID 0x00000004
-#define ACTCTX_FLAG_RESOURCE_NAME_VALID 0x00000008
-#define ACTCTX_FLAG_SET_PROCESS_DEFAULT 0x00000010
-#define ACTCTX_FLAG_APPLICATION_NAME_VALID 0x00000020
-#define ACTCTX_FLAG_HMODULE_VALID 0x00000080
-#define DEACTIVATE_ACTCTX_FLAG_FORCE_EARLY_DEACTIVATION 0x00000001
-#define FIND_ACTCTX_SECTION_KEY_RETURN_HACTCTX 0x00000001
-#define QUERY_ACTCTX_FLAG_USE_ACTIVE_ACTCTX 0x00000004
-#define QUERY_ACTCTX_FLAG_ACTCTX_IS_HMODULE 0x00000008
-#define QUERY_ACTCTX_FLAG_ACTCTX_IS_ADDRESS 0x00000010
-#endif /* (_WIN32_WINNT >= 0x0501) */
-#if (_WIN32_WINNT >= 0x0500)
-#define REPLACEFILE_WRITE_THROUGH 0x00000001
-#define REPLACEFILE_IGNORE_MERGE_ERRORS 0x00000002
-#endif /* (_WIN32_WINNT >= 0x0500) */
-#define WRITE_WATCH_FLAG_RESET 1
-
-#ifndef RC_INVOKED
-typedef struct _FILETIME {
- DWORD dwLowDateTime;
- DWORD dwHighDateTime;
-} FILETIME,*PFILETIME,*LPFILETIME;
-typedef struct _BY_HANDLE_FILE_INFORMATION {
- DWORD dwFileAttributes;
- FILETIME ftCreationTime;
- FILETIME ftLastAccessTime;
- FILETIME ftLastWriteTime;
- DWORD dwVolumeSerialNumber;
- DWORD nFileSizeHigh;
- DWORD nFileSizeLow;
- DWORD nNumberOfLinks;
- DWORD nFileIndexHigh;
- DWORD nFileIndexLow;
-} BY_HANDLE_FILE_INFORMATION,*LPBY_HANDLE_FILE_INFORMATION;
-typedef struct _DCB {
- DWORD DCBlength;
- DWORD BaudRate;
- DWORD fBinary:1;
- DWORD fParity:1;
- DWORD fOutxCtsFlow:1;
- DWORD fOutxDsrFlow:1;
- DWORD fDtrControl:2;
- DWORD fDsrSensitivity:1;
- DWORD fTXContinueOnXoff:1;
- DWORD fOutX:1;
- DWORD fInX:1;
- DWORD fErrorChar:1;
- DWORD fNull:1;
- DWORD fRtsControl:2;
- DWORD fAbortOnError:1;
- DWORD fDummy2:17;
- WORD wReserved;
- WORD XonLim;
- WORD XoffLim;
- BYTE ByteSize;
- BYTE Parity;
- BYTE StopBits;
- char XonChar;
- char XoffChar;
- char ErrorChar;
- char EofChar;
- char EvtChar;
- WORD wReserved1;
-} DCB,*LPDCB;
-typedef struct _COMM_CONFIG {
- DWORD dwSize;
- WORD wVersion;
- WORD wReserved;
- DCB dcb;
- DWORD dwProviderSubType;
- DWORD dwProviderOffset;
- DWORD dwProviderSize;
- WCHAR wcProviderData[1];
-} COMMCONFIG,*LPCOMMCONFIG;
-typedef struct _COMMPROP {
- WORD wPacketLength;
- WORD wPacketVersion;
- DWORD dwServiceMask;
- DWORD dwReserved1;
- DWORD dwMaxTxQueue;
- DWORD dwMaxRxQueue;
- DWORD dwMaxBaud;
- DWORD dwProvSubType;
- DWORD dwProvCapabilities;
- DWORD dwSettableParams;
- DWORD dwSettableBaud;
- WORD wSettableData;
- WORD wSettableStopParity;
- DWORD dwCurrentTxQueue;
- DWORD dwCurrentRxQueue;
- DWORD dwProvSpec1;
- DWORD dwProvSpec2;
- WCHAR wcProvChar[1];
-} COMMPROP,*LPCOMMPROP;
-typedef struct _COMMTIMEOUTS {
- DWORD ReadIntervalTimeout;
- DWORD ReadTotalTimeoutMultiplier;
- DWORD ReadTotalTimeoutConstant;
- DWORD WriteTotalTimeoutMultiplier;
- DWORD WriteTotalTimeoutConstant;
-} COMMTIMEOUTS,*LPCOMMTIMEOUTS;
-typedef struct _COMSTAT {
- DWORD fCtsHold:1;
- DWORD fDsrHold:1;
- DWORD fRlsdHold:1;
- DWORD fXoffHold:1;
- DWORD fXoffSent:1;
- DWORD fEof:1;
- DWORD fTxim:1;
- DWORD fReserved:25;
- DWORD cbInQue;
- DWORD cbOutQue;
-} COMSTAT,*LPCOMSTAT;
-typedef DWORD (WINAPI *LPTHREAD_START_ROUTINE)(LPVOID);
-typedef struct _CREATE_PROCESS_DEBUG_INFO {
- HANDLE hFile;
- HANDLE hProcess;
- HANDLE hThread;
- LPVOID lpBaseOfImage;
- DWORD dwDebugInfoFileOffset;
- DWORD nDebugInfoSize;
- LPVOID lpThreadLocalBase;
- LPTHREAD_START_ROUTINE lpStartAddress;
- LPVOID lpImageName;
- WORD fUnicode;
-} CREATE_PROCESS_DEBUG_INFO,*LPCREATE_PROCESS_DEBUG_INFO;
-typedef struct _CREATE_THREAD_DEBUG_INFO {
- HANDLE hThread;
- LPVOID lpThreadLocalBase;
- LPTHREAD_START_ROUTINE lpStartAddress;
-} CREATE_THREAD_DEBUG_INFO,*LPCREATE_THREAD_DEBUG_INFO;
-typedef struct _EXCEPTION_DEBUG_INFO {
- EXCEPTION_RECORD ExceptionRecord;
- DWORD dwFirstChance;
-} EXCEPTION_DEBUG_INFO,*LPEXCEPTION_DEBUG_INFO;
-typedef struct _EXIT_THREAD_DEBUG_INFO {
- DWORD dwExitCode;
-} EXIT_THREAD_DEBUG_INFO,*LPEXIT_THREAD_DEBUG_INFO;
-typedef struct _EXIT_PROCESS_DEBUG_INFO {
- DWORD dwExitCode;
-} EXIT_PROCESS_DEBUG_INFO,*LPEXIT_PROCESS_DEBUG_INFO;
-typedef struct _LOAD_DLL_DEBUG_INFO {
- HANDLE hFile;
- LPVOID lpBaseOfDll;
- DWORD dwDebugInfoFileOffset;
- DWORD nDebugInfoSize;
- LPVOID lpImageName;
- WORD fUnicode;
-} LOAD_DLL_DEBUG_INFO,*LPLOAD_DLL_DEBUG_INFO;
-typedef struct _UNLOAD_DLL_DEBUG_INFO {
- LPVOID lpBaseOfDll;
-} UNLOAD_DLL_DEBUG_INFO,*LPUNLOAD_DLL_DEBUG_INFO;
-typedef struct _OUTPUT_DEBUG_STRING_INFO {
- LPSTR lpDebugStringData;
- WORD fUnicode;
- WORD nDebugStringLength;
-} OUTPUT_DEBUG_STRING_INFO,*LPOUTPUT_DEBUG_STRING_INFO;
-typedef struct _RIP_INFO {
- DWORD dwError;
- DWORD dwType;
-} RIP_INFO,*LPRIP_INFO;
-typedef struct _DEBUG_EVENT {
- DWORD dwDebugEventCode;
- DWORD dwProcessId;
- DWORD dwThreadId;
- union {
- EXCEPTION_DEBUG_INFO Exception;
- CREATE_THREAD_DEBUG_INFO CreateThread;
- CREATE_PROCESS_DEBUG_INFO CreateProcessInfo;
- EXIT_THREAD_DEBUG_INFO ExitThread;
- EXIT_PROCESS_DEBUG_INFO ExitProcess;
- LOAD_DLL_DEBUG_INFO LoadDll;
- UNLOAD_DLL_DEBUG_INFO UnloadDll;
- OUTPUT_DEBUG_STRING_INFO DebugString;
- RIP_INFO RipInfo;
- } u;
-} DEBUG_EVENT,*LPDEBUG_EVENT;
-typedef struct _OVERLAPPED {
- DWORD Internal;
- DWORD InternalHigh;
- DWORD Offset;
- DWORD OffsetHigh;
- HANDLE hEvent;
-} OVERLAPPED,*POVERLAPPED,*LPOVERLAPPED;
-typedef struct _STARTUPINFOA {
- DWORD cb;
- LPSTR lpReserved;
- LPSTR lpDesktop;
- LPSTR lpTitle;
- DWORD dwX;
- DWORD dwY;
- DWORD dwXSize;
- DWORD dwYSize;
- DWORD dwXCountChars;
- DWORD dwYCountChars;
- DWORD dwFillAttribute;
- DWORD dwFlags;
- WORD wShowWindow;
- WORD cbReserved2;
- PBYTE lpReserved2;
- HANDLE hStdInput;
- HANDLE hStdOutput;
- HANDLE hStdError;
-} STARTUPINFOA,*LPSTARTUPINFOA;
-typedef struct _STARTUPINFOW {
- DWORD cb;
- LPWSTR lpReserved;
- LPWSTR lpDesktop;
- LPWSTR lpTitle;
- DWORD dwX;
- DWORD dwY;
- DWORD dwXSize;
- DWORD dwYSize;
- DWORD dwXCountChars;
- DWORD dwYCountChars;
- DWORD dwFillAttribute;
- DWORD dwFlags;
- WORD wShowWindow;
- WORD cbReserved2;
- PBYTE lpReserved2;
- HANDLE hStdInput;
- HANDLE hStdOutput;
- HANDLE hStdError;
-} STARTUPINFOW,*LPSTARTUPINFOW;
-typedef struct _PROCESS_INFORMATION {
- HANDLE hProcess;
- HANDLE hThread;
- DWORD dwProcessId;
- DWORD dwThreadId;
-} PROCESS_INFORMATION,*PPROCESS_INFORMATION,*LPPROCESS_INFORMATION;
-typedef struct _CRITICAL_SECTION_DEBUG {
- WORD Type;
- WORD CreatorBackTraceIndex;
- struct _CRITICAL_SECTION *CriticalSection;
- LIST_ENTRY ProcessLocksList;
- DWORD EntryCount;
- DWORD ContentionCount;
- DWORD Spare [2];
-} CRITICAL_SECTION_DEBUG,*PCRITICAL_SECTION_DEBUG;
-typedef struct _CRITICAL_SECTION {
- PCRITICAL_SECTION_DEBUG DebugInfo;
- LONG LockCount;
- LONG RecursionCount;
- HANDLE OwningThread;
- HANDLE LockSemaphore;
- DWORD SpinCount;
-} CRITICAL_SECTION,*PCRITICAL_SECTION,*LPCRITICAL_SECTION;
-typedef struct _SYSTEMTIME {
- WORD wYear;
- WORD wMonth;
- WORD wDayOfWeek;
- WORD wDay;
- WORD wHour;
- WORD wMinute;
- WORD wSecond;
- WORD wMilliseconds;
-} SYSTEMTIME,*LPSYSTEMTIME;
-typedef struct _WIN32_FILE_ATTRIBUTE_DATA {
- DWORD dwFileAttributes;
- FILETIME ftCreationTime;
- FILETIME ftLastAccessTime;
- FILETIME ftLastWriteTime;
- DWORD nFileSizeHigh;
- DWORD nFileSizeLow;
-} WIN32_FILE_ATTRIBUTE_DATA,*LPWIN32_FILE_ATTRIBUTE_DATA;
-typedef struct _WIN32_FIND_DATAA {
- DWORD dwFileAttributes;
- FILETIME ftCreationTime;
- FILETIME ftLastAccessTime;
- FILETIME ftLastWriteTime;
- DWORD nFileSizeHigh;
- DWORD nFileSizeLow;
- DWORD dwReserved0;
- DWORD dwReserved1;
- CHAR cFileName[MAX_PATH];
- CHAR cAlternateFileName[14];
-} WIN32_FIND_DATAA,*PWIN32_FIND_DATAA,*LPWIN32_FIND_DATAA;
-typedef struct _WIN32_FIND_DATAW {
- DWORD dwFileAttributes;
- FILETIME ftCreationTime;
- FILETIME ftLastAccessTime;
- FILETIME ftLastWriteTime;
- DWORD nFileSizeHigh;
- DWORD nFileSizeLow;
- DWORD dwReserved0;
- DWORD dwReserved1;
- WCHAR cFileName[MAX_PATH];
- WCHAR cAlternateFileName[14];
-} WIN32_FIND_DATAW,*PWIN32_FIND_DATAW,*LPWIN32_FIND_DATAW;
-typedef struct _WIN32_STREAM_ID {
- DWORD dwStreamId;
- DWORD dwStreamAttributes;
- LARGE_INTEGER Size;
- DWORD dwStreamNameSize;
- WCHAR cStreamName[ANYSIZE_ARRAY];
-} WIN32_STREAM_ID, *LPWIN32_STREAM_ID;
-typedef enum _FINDEX_INFO_LEVELS {
- FindExInfoStandard,
- FindExInfoMaxInfoLevel
-} FINDEX_INFO_LEVELS;
-typedef enum _FINDEX_SEARCH_OPS {
- FindExSearchNameMatch,
- FindExSearchLimitToDirectories,
- FindExSearchLimitToDevices,
- FindExSearchMaxSearchOp
-} FINDEX_SEARCH_OPS;
-typedef enum _ACL_INFORMATION_CLASS {
- AclRevisionInformation=1,
- AclSizeInformation
-} ACL_INFORMATION_CLASS;
-typedef struct tagHW_PROFILE_INFOA {
- DWORD dwDockInfo;
- CHAR szHwProfileGuid[HW_PROFILE_GUIDLEN];
- CHAR szHwProfileName[MAX_PROFILE_LEN];
-} HW_PROFILE_INFOA,*LPHW_PROFILE_INFOA;
-typedef struct tagHW_PROFILE_INFOW {
- DWORD dwDockInfo;
- WCHAR szHwProfileGuid[HW_PROFILE_GUIDLEN];
- WCHAR szHwProfileName[MAX_PROFILE_LEN];
-} HW_PROFILE_INFOW,*LPHW_PROFILE_INFOW;
-typedef enum _GET_FILEEX_INFO_LEVELS {
- GetFileExInfoStandard,
- GetFileExMaxInfoLevel
-} GET_FILEEX_INFO_LEVELS;
-typedef struct _SYSTEM_INFO {
- _ANONYMOUS_UNION union {
- DWORD dwOemId;
- _ANONYMOUS_STRUCT struct {
- WORD wProcessorArchitecture;
- WORD wReserved;
- } DUMMYSTRUCTNAME;
- } DUMMYUNIONNAME;
- DWORD dwPageSize;
- PVOID lpMinimumApplicationAddress;
- PVOID lpMaximumApplicationAddress;
- DWORD dwActiveProcessorMask;
- DWORD dwNumberOfProcessors;
- DWORD dwProcessorType;
- DWORD dwAllocationGranularity;
- WORD wProcessorLevel;
- WORD wProcessorRevision;
-} SYSTEM_INFO,*LPSYSTEM_INFO;
-typedef struct _SYSTEM_POWER_STATUS {
- BYTE ACLineStatus;
- BYTE BatteryFlag;
- BYTE BatteryLifePercent;
- BYTE Reserved1;
- DWORD BatteryLifeTime;
- DWORD BatteryFullLifeTime;
-} SYSTEM_POWER_STATUS,*LPSYSTEM_POWER_STATUS;
-typedef struct _TIME_ZONE_INFORMATION {
- LONG Bias;
- WCHAR StandardName[32];
- SYSTEMTIME StandardDate;
- LONG StandardBias;
- WCHAR DaylightName[32];
- SYSTEMTIME DaylightDate;
- LONG DaylightBias;
-} TIME_ZONE_INFORMATION,*LPTIME_ZONE_INFORMATION;
-typedef struct _MEMORYSTATUS {
- DWORD dwLength;
- DWORD dwMemoryLoad;
- DWORD dwTotalPhys;
- DWORD dwAvailPhys;
- DWORD dwTotalPageFile;
- DWORD dwAvailPageFile;
- DWORD dwTotalVirtual;
- DWORD dwAvailVirtual;
-} MEMORYSTATUS,*LPMEMORYSTATUS;
-#if (_WIN32_WINNT >= 0x0500)
-typedef struct _MEMORYSTATUSEX {
- DWORD dwLength;
- DWORD dwMemoryLoad;
- DWORDLONG ullTotalPhys;
- DWORDLONG ullAvailPhys;
- DWORDLONG ullTotalPageFile;
- DWORDLONG ullAvailPageFile;
- DWORDLONG ullTotalVirtual;
- DWORDLONG ullAvailVirtual;
- DWORDLONG ullAvailExtendedVirtual;
-} MEMORYSTATUSEX, *LPMEMORYSTATUSEX;
-#endif
-typedef struct _LDT_ENTRY {
- WORD LimitLow;
- WORD BaseLow;
- union {
- struct {
- BYTE BaseMid;
- BYTE Flags1;
- BYTE Flags2;
- BYTE BaseHi;
- } Bytes;
- struct {
- DWORD BaseMid:8;
- DWORD Type:5;
- DWORD Dpl:2;
- DWORD Pres:1;
- DWORD LimitHi:4;
- DWORD Sys:1;
- DWORD Reserved_0:1;
- DWORD Default_Big:1;
- DWORD Granularity:1;
- DWORD BaseHi:8;
- } Bits;
- } HighWord;
-} LDT_ENTRY,*PLDT_ENTRY,*LPLDT_ENTRY;
-typedef struct _PROCESS_HEAP_ENTRY {
- PVOID lpData;
- DWORD cbData;
- BYTE cbOverhead;
- BYTE iRegionIndex;
- WORD wFlags;
- _ANONYMOUS_UNION union {
- struct {
- HANDLE hMem;
- DWORD dwReserved[3];
- } Block;
- struct {
- DWORD dwCommittedSize;
- DWORD dwUnCommittedSize;
- LPVOID lpFirstBlock;
- LPVOID lpLastBlock;
- } Region;
- } DUMMYUNIONNAME;
-} PROCESS_HEAP_ENTRY,*LPPROCESS_HEAP_ENTRY;
-typedef struct _OFSTRUCT {
- BYTE cBytes;
- BYTE fFixedDisk;
- WORD nErrCode;
- WORD Reserved1;
- WORD Reserved2;
- CHAR szPathName[OFS_MAXPATHNAME];
-} OFSTRUCT,*LPOFSTRUCT,*POFSTRUCT;
-typedef struct _WIN_CERTIFICATE {
- DWORD dwLength;
- WORD wRevision;
- WORD wCertificateType;
- BYTE bCertificate[1];
-} WIN_CERTIFICATE, *LPWIN_CERTIFICATE;
-#if (_WIN32_WINNT >= 0x0501)
-typedef struct tagACTCTXA {
- ULONG cbSize;
- DWORD dwFlags;
- LPCSTR lpSource;
- USHORT wProcessorArchitecture;
- LANGID wLangId;
- LPCSTR lpAssemblyDirectory;
- LPCSTR lpResourceName;
- LPCSTR lpApplicationName;
- HMODULE hModule;
-} ACTCTXA,*PACTCTXA;
-typedef const ACTCTXA *PCACTCTXA;
-typedef struct tagACTCTXW {
- ULONG cbSize;
- DWORD dwFlags;
- LPCWSTR lpSource;
- USHORT wProcessorArchitecture;
- LANGID wLangId;
- LPCWSTR lpAssemblyDirectory;
- LPCWSTR lpResourceName;
- LPCWSTR lpApplicationName;
- HMODULE hModule;
-} ACTCTXW,*PACTCTXW;
-typedef const ACTCTXW *PCACTCTXW;
-typedef struct tagACTCTX_SECTION_KEYED_DATA {
- ULONG cbSize;
- ULONG ulDataFormatVersion;
- PVOID lpData;
- ULONG ulLength;
- PVOID lpSectionGlobalData;
- ULONG ulSectionGlobalDataLength;
- PVOID lpSectionBase;
- ULONG ulSectionTotalLength;
- HANDLE hActCtx;
- HANDLE ulAssemblyRosterIndex;
-} ACTCTX_SECTION_KEYED_DATA,*PACTCTX_SECTION_KEYED_DATA;
-typedef const ACTCTX_SECTION_KEYED_DATA *PCACTCTX_SECTION_KEYED_DATA;
-typedef enum {
- LowMemoryResourceNotification ,
- HighMemoryResourceNotification
-} MEMORY_RESOURCE_NOTIFICATION_TYPE;
-#endif /* (_WIN32_WINNT >= 0x0501) */
-#if (_WIN32_WINNT >= 0x0500)
-typedef enum _COMPUTER_NAME_FORMAT {
- ComputerNameNetBIOS,
- ComputerNameDnsHostname,
- ComputerNameDnsDomain,
- ComputerNameDnsFullyQualified,
- ComputerNamePhysicalNetBIOS,
- ComputerNamePhysicalDnsHostname,
- ComputerNamePhysicalDnsDomain,
- ComputerNamePhysicalDnsFullyQualified,
- ComputerNameMax
-} COMPUTER_NAME_FORMAT;
-#endif /* (_WIN32_WINNT >= 0x0500) */
-#if (_WIN32_WINNT >= 0x0500 || _WIN32_WINDOWS >= 0x0410)
-typedef DWORD EXECUTION_STATE;
-#endif
-
-typedef DWORD(WINAPI *LPPROGRESS_ROUTINE)(LARGE_INTEGER,LARGE_INTEGER,LARGE_INTEGER,LARGE_INTEGER,DWORD,DWORD,HANDLE,HANDLE,LPVOID);
-typedef void(WINAPI *LPFIBER_START_ROUTINE)(PVOID);
-typedef BOOL(CALLBACK *ENUMRESLANGPROC)(HMODULE,LPCTSTR,LPCTSTR,WORD,LONG);
-typedef BOOL(CALLBACK *ENUMRESNAMEPROC)(HMODULE,LPCTSTR,LPTSTR,LONG);
-typedef BOOL(CALLBACK *ENUMRESTYPEPROC)(HMODULE,LPTSTR,LONG);
-typedef void(CALLBACK *LPOVERLAPPED_COMPLETION_ROUTINE)(DWORD,DWORD,LPOVERLAPPED);
-typedef LONG(CALLBACK *PTOP_LEVEL_EXCEPTION_FILTER)(LPEXCEPTION_POINTERS);
-typedef PTOP_LEVEL_EXCEPTION_FILTER LPTOP_LEVEL_EXCEPTION_FILTER;
-typedef void(APIENTRY *PAPCFUNC)(DWORD);
-typedef void(CALLBACK *PTIMERAPCROUTINE)(PVOID,DWORD,DWORD);
-#if (_WIN32_WINNT >= 0x0500)
-typedef void(CALLBACK *WAITORTIMERCALLBACK)(PVOID,BOOLEAN);
-#endif
-#define MAKEINTATOM(i) (LPTSTR)((DWORD)((WORD)(i)))
-/* Functions */
-#ifndef UNDER_CE
-int APIENTRY WinMain(HINSTANCE,HINSTANCE,LPSTR,int);
-#else
-int APIENTRY WinMain(HINSTANCE,HINSTANCE,LPWSTR,int);
-#endif
-int APIENTRY wWinMain(HINSTANCE,HINSTANCE,LPWSTR,int);
-WINBASEAPI long WINAPI _hread(HFILE,LPVOID,long);
-WINBASEAPI long WINAPI _hwrite(HFILE,LPCSTR,long);
-WINBASEAPI HFILE WINAPI _lclose(HFILE);
-WINBASEAPI HFILE WINAPI _lcreat(LPCSTR,int);
-WINBASEAPI LONG WINAPI _llseek(HFILE,LONG,int);
-WINBASEAPI HFILE WINAPI _lopen(LPCSTR,int);
-WINBASEAPI UINT WINAPI _lread(HFILE,LPVOID,UINT);
-WINBASEAPI UINT WINAPI _lwrite(HFILE,LPCSTR,UINT);
-#define AbnormalTermination() FALSE
-WINBASEAPI BOOL WINAPI AccessCheck(PSECURITY_DESCRIPTOR,HANDLE,DWORD,PGENERIC_MAPPING,PPRIVILEGE_SET,PDWORD,PDWORD,PBOOL);
-WINBASEAPI BOOL WINAPI AccessCheckAndAuditAlarmA(LPCSTR,LPVOID,LPSTR,LPSTR,PSECURITY_DESCRIPTOR,DWORD,PGENERIC_MAPPING,BOOL,PDWORD,PBOOL,PBOOL);
-WINBASEAPI BOOL WINAPI AccessCheckAndAuditAlarmW(LPCWSTR,LPVOID,LPWSTR,LPWSTR,PSECURITY_DESCRIPTOR,DWORD,PGENERIC_MAPPING,BOOL,PDWORD,PBOOL,PBOOL);
-#if (_WIN32_WINNT >= 0x0501)
-WINBASEAPI BOOL WINAPI ActivateActCtx(HANDLE,ULONG_PTR*);
-#endif
-WINBASEAPI BOOL WINAPI AddAccessAllowedAce(PACL,DWORD,DWORD,PSID);
-WINBASEAPI BOOL WINAPI AddAccessDeniedAce(PACL,DWORD,DWORD,PSID);
-#if (_WIN32_WINNT >= 0x0500)
-WINBASEAPI BOOL WINAPI AddAccessAllowedAceEx(PACL,DWORD,DWORD,DWORD,PSID);
-WINBASEAPI BOOL WINAPI AddAccessDeniedAceEx(PACL,DWORD,DWORD,DWORD,PSID);
-#endif
-WINBASEAPI BOOL WINAPI AddAce(PACL,DWORD,DWORD,PVOID,DWORD);
-WINBASEAPI ATOM WINAPI AddAtomA(LPCSTR);
-WINBASEAPI ATOM WINAPI AddAtomW(LPCWSTR);
-WINBASEAPI BOOL WINAPI AddAuditAccessAce(PACL,DWORD,DWORD,PSID,BOOL,BOOL);
-#if (_WIN32_WINNT >= 0x0501)
-WINBASEAPI void WINAPI AddRefActCtx(HANDLE);
-#endif
-#if (_WIN32_WINNT >= 0x0500)
-WINBASEAPI PVOID WINAPI AddVectoredExceptionHandler(ULONG,PVECTORED_EXCEPTION_HANDLER);
-#endif
-WINBASEAPI BOOL WINAPI AdjustTokenGroups(HANDLE,BOOL,PTOKEN_GROUPS,DWORD,PTOKEN_GROUPS,PDWORD);
-WINBASEAPI BOOL WINAPI AdjustTokenPrivileges(HANDLE,BOOL,PTOKEN_PRIVILEGES,DWORD,PTOKEN_PRIVILEGES,PDWORD);
-WINBASEAPI BOOL WINAPI AllocateAndInitializeSid(PSID_IDENTIFIER_AUTHORITY,BYTE,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,PSID*);
-WINBASEAPI BOOL WINAPI AllocateLocallyUniqueId(PLUID);
-WINBASEAPI BOOL WINAPI AreAllAccessesGranted(DWORD,DWORD);
-WINBASEAPI BOOL WINAPI AreAnyAccessesGranted(DWORD,DWORD);
-WINBASEAPI BOOL WINAPI AreFileApisANSI(void);
-WINBASEAPI BOOL WINAPI BackupEventLogA(HANDLE,LPCSTR);
-WINBASEAPI BOOL WINAPI BackupEventLogW(HANDLE,LPCWSTR);
-WINBASEAPI BOOL WINAPI BackupRead(HANDLE,LPBYTE,DWORD,LPDWORD,BOOL,BOOL,LPVOID*);
-WINBASEAPI BOOL WINAPI BackupSeek(HANDLE,DWORD,DWORD,LPDWORD,LPDWORD,LPVOID*);
-WINBASEAPI BOOL WINAPI BackupWrite(HANDLE,LPBYTE,DWORD,LPDWORD,BOOL,BOOL,LPVOID*);
-WINBASEAPI BOOL WINAPI Beep(DWORD,DWORD);
-WINBASEAPI HANDLE WINAPI BeginUpdateResourceA(LPCSTR,BOOL);
-WINBASEAPI HANDLE WINAPI BeginUpdateResourceW(LPCWSTR,BOOL);
-WINBASEAPI BOOL WINAPI BuildCommDCBA(LPCSTR,LPDCB);
-WINBASEAPI BOOL WINAPI BuildCommDCBW(LPCWSTR,LPDCB);
-WINBASEAPI BOOL WINAPI BuildCommDCBAndTimeoutsA(LPCSTR,LPDCB,LPCOMMTIMEOUTS);
-WINBASEAPI BOOL WINAPI BuildCommDCBAndTimeoutsW(LPCWSTR,LPDCB,LPCOMMTIMEOUTS);
-WINBASEAPI BOOL WINAPI CallNamedPipeA(LPCSTR,PVOID,DWORD,PVOID,DWORD,PDWORD,DWORD);
-WINBASEAPI BOOL WINAPI CallNamedPipeW(LPCWSTR,PVOID,DWORD,PVOID,DWORD,PDWORD,DWORD);
-WINBASEAPI BOOL WINAPI CancelDeviceWakeupRequest(HANDLE);
-WINBASEAPI BOOL WINAPI CancelIo(HANDLE);
-WINBASEAPI BOOL WINAPI CancelWaitableTimer(HANDLE);
-#if (_WIN32_WINNT >= 0x0501)
-WINBASEAPI BOOL WINAPI CheckNameLegalDOS8Dot3A(LPCSTR,LPSTR,DWORD,PBOOL,PBOOL);
-WINBASEAPI BOOL WINAPI CheckNameLegalDOS8Dot3W(LPCWSTR,LPSTR,DWORD,PBOOL,PBOOL);
-WINBASEAPI BOOL WINAPI CheckRemoteDebuggerPresent(HANDLE,PBOOL);
-#endif
-WINBASEAPI BOOL WINAPI ClearCommBreak(HANDLE);
-WINBASEAPI BOOL WINAPI ClearCommError(HANDLE,PDWORD,LPCOMSTAT);
-WINBASEAPI BOOL WINAPI ClearEventLogA(HANDLE,LPCSTR);
-WINBASEAPI BOOL WINAPI ClearEventLogW(HANDLE,LPCWSTR);
-WINBASEAPI BOOL WINAPI CloseEventLog(HANDLE);
-WINBASEAPI BOOL WINAPI CloseHandle(HANDLE);
-WINBASEAPI BOOL WINAPI CommConfigDialogA(LPCSTR,HWND,LPCOMMCONFIG);
-WINBASEAPI BOOL WINAPI CommConfigDialogW(LPCWSTR,HWND,LPCOMMCONFIG);
-WINBASEAPI LONG WINAPI CompareFileTime(CONST FILETIME*,CONST FILETIME*);
-WINBASEAPI BOOL WINAPI ConnectNamedPipe(HANDLE,LPOVERLAPPED);
-WINBASEAPI BOOL WINAPI ContinueDebugEvent(DWORD,DWORD,DWORD);
-#if (_WIN32_WINNT >= 0x0400)
-WINBASEAPI BOOL WINAPI ConvertFiberToThread(void);
-#endif
-WINBASEAPI PVOID WINAPI ConvertThreadToFiber(PVOID);
-WINBASEAPI BOOL WINAPI CopyFileA(LPCSTR,LPCSTR,BOOL);
-WINBASEAPI BOOL WINAPI CopyFileW(LPCWSTR,LPCWSTR,BOOL);
-WINBASEAPI BOOL WINAPI CopyFileExA(LPCSTR,LPCSTR,LPPROGRESS_ROUTINE,LPVOID,LPBOOL,DWORD);
-WINBASEAPI BOOL WINAPI CopyFileExW(LPCWSTR,LPCWSTR,LPPROGRESS_ROUTINE,LPVOID,LPBOOL,DWORD);
-#define RtlMoveMemory memmove
-#define RtlCopyMemory memcpy
-#define RtlFillMemory(d,l,f) memset((d), (f), (l))
-#define RtlZeroMemory(d,l) RtlFillMemory((d),(l),0)
-#define MoveMemory RtlMoveMemory
-#define CopyMemory RtlCopyMemory
-#define FillMemory RtlFillMemory
-#define ZeroMemory RtlZeroMemory
-WINBASEAPI BOOL WINAPI CopySid(DWORD,PSID,PSID);
-#if (_WIN32_WINNT >= 0x0501)
-WINBASEAPI HANDLE WINAPI CreateActCtxA(PCACTCTXA);
-WINBASEAPI HANDLE WINAPI CreateActCtxW(PCACTCTXW);
-#endif
-WINBASEAPI BOOL WINAPI CreateDirectoryA(LPCSTR,LPSECURITY_ATTRIBUTES);
-WINBASEAPI BOOL WINAPI CreateDirectoryW(LPCWSTR,LPSECURITY_ATTRIBUTES);
-WINBASEAPI BOOL WINAPI CreateDirectoryExA(LPCSTR,LPCSTR,LPSECURITY_ATTRIBUTES);
-WINBASEAPI BOOL WINAPI CreateDirectoryExW(LPCWSTR,LPCWSTR,LPSECURITY_ATTRIBUTES);
-WINBASEAPI HANDLE WINAPI CreateEventA(LPSECURITY_ATTRIBUTES,BOOL,BOOL,LPCSTR);
-WINBASEAPI HANDLE WINAPI CreateEventW(LPSECURITY_ATTRIBUTES,BOOL,BOOL,LPCWSTR);
-WINBASEAPI LPVOID WINAPI CreateFiber(SIZE_T,LPFIBER_START_ROUTINE,LPVOID);
-#if (_WIN32_WINNT >= 0x0400)
-WINBASEAPI LPVOID WINAPI CreateFiberEx(SIZE_T,SIZE_T,DWORD,LPFIBER_START_ROUTINE,LPVOID);
-#endif
-WINBASEAPI HANDLE WINAPI CreateFileA(LPCSTR,DWORD,DWORD,LPSECURITY_ATTRIBUTES,DWORD,DWORD,HANDLE);
-WINBASEAPI HANDLE WINAPI CreateFileW(LPCWSTR,DWORD,DWORD,LPSECURITY_ATTRIBUTES,DWORD,DWORD,HANDLE);
-WINBASEAPI HANDLE WINAPI CreateFileMappingA(HANDLE,LPSECURITY_ATTRIBUTES,DWORD,DWORD,DWORD,LPCSTR);
-WINBASEAPI HANDLE WINAPI CreateFileMappingW(HANDLE,LPSECURITY_ATTRIBUTES,DWORD,DWORD,DWORD,LPCWSTR);
-#if (_WIN32_WINNT >= 0x0500)
-WINBASEAPI BOOL WINAPI CreateHardLinkA(LPCSTR,LPCSTR,LPSECURITY_ATTRIBUTES);
-WINBASEAPI BOOL WINAPI CreateHardLinkW(LPCWSTR,LPCWSTR,LPSECURITY_ATTRIBUTES);
-#endif
-WINBASEAPI HANDLE WINAPI CreateIoCompletionPort(HANDLE,HANDLE,DWORD,DWORD);
-#if (_WIN32_WINNT >= 0x0500)
-WINBASEAPI HANDLE WINAPI CreateJobObjectA(LPSECURITY_ATTRIBUTES,LPCSTR);
-WINBASEAPI HANDLE WINAPI CreateJobObjectW(LPSECURITY_ATTRIBUTES,LPCWSTR);
-WINBASEAPI BOOL WINAPI TerminateJobObject(HANDLE,UINT);
-WINBASEAPI BOOL WINAPI AssignProcessToJobObject(HANDLE,HANDLE);
-#endif
-WINBASEAPI HANDLE WINAPI CreateMailslotA(LPCSTR,DWORD,DWORD,LPSECURITY_ATTRIBUTES);
-WINBASEAPI HANDLE WINAPI CreateMailslotW(LPCWSTR,DWORD,DWORD,LPSECURITY_ATTRIBUTES);
-#if (_WIN32_WINNT >= 0x0501)
-WINBASEAPI HANDLE WINAPI CreateMemoryResourceNotification(MEMORY_RESOURCE_NOTIFICATION_TYPE);
-#endif
-WINBASEAPI HANDLE WINAPI CreateMutexA(LPSECURITY_ATTRIBUTES,BOOL,LPCSTR);
-WINBASEAPI HANDLE WINAPI CreateMutexW(LPSECURITY_ATTRIBUTES,BOOL,LPCWSTR);
-WINBASEAPI HANDLE WINAPI CreateNamedPipeA(LPCSTR,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,LPSECURITY_ATTRIBUTES);
-WINBASEAPI HANDLE WINAPI CreateNamedPipeW(LPCWSTR,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,LPSECURITY_ATTRIBUTES);
-WINBASEAPI BOOL WINAPI CreatePipe(PHANDLE,PHANDLE,LPSECURITY_ATTRIBUTES,DWORD);
-WINBASEAPI BOOL WINAPI CreatePrivateObjectSecurity(PSECURITY_DESCRIPTOR,PSECURITY_DESCRIPTOR,PSECURITY_DESCRIPTOR*,BOOL,HANDLE,PGENERIC_MAPPING);
-WINBASEAPI BOOL WINAPI CreateProcessA(LPCSTR,LPSTR,LPSECURITY_ATTRIBUTES,LPSECURITY_ATTRIBUTES,BOOL,DWORD,PVOID,LPCSTR,LPSTARTUPINFOA,LPPROCESS_INFORMATION);
-WINBASEAPI BOOL WINAPI CreateProcessW(LPCWSTR,LPWSTR,LPSECURITY_ATTRIBUTES,LPSECURITY_ATTRIBUTES,BOOL,DWORD,PVOID,LPCWSTR,LPSTARTUPINFOW,LPPROCESS_INFORMATION);
-WINBASEAPI BOOL WINAPI CreateProcessAsUserA(HANDLE,LPCSTR,LPSTR,LPSECURITY_ATTRIBUTES,LPSECURITY_ATTRIBUTES,BOOL,DWORD,PVOID,LPCSTR,LPSTARTUPINFOA,LPPROCESS_INFORMATION);
-WINBASEAPI BOOL WINAPI CreateProcessAsUserW(HANDLE,LPCWSTR,LPWSTR,LPSECURITY_ATTRIBUTES,LPSECURITY_ATTRIBUTES,BOOL,DWORD,PVOID,LPCWSTR,LPSTARTUPINFOW,LPPROCESS_INFORMATION);
-#if (_WIN32_WINNT >= 0x0500)
-WINBASEAPI BOOL WINAPI CreateProcessWithLogonW (LPCWSTR,LPCWSTR,LPCWSTR,DWORD,
- LPCWSTR,LPWSTR,DWORD,LPVOID,
- LPCWSTR,LPSTARTUPINFOW,
- LPPROCESS_INFORMATION);
-#define LOGON_WITH_PROFILE 0x00000001
-#define LOGON_NETCREDENTIALS_ONLY 0x00000002
-#endif
-WINBASEAPI HANDLE WINAPI CreateRemoteThread(HANDLE,LPSECURITY_ATTRIBUTES,DWORD,LPTHREAD_START_ROUTINE,LPVOID,DWORD,LPDWORD);
-WINBASEAPI HANDLE WINAPI CreateSemaphoreA(LPSECURITY_ATTRIBUTES,LONG,LONG,LPCSTR);
-WINBASEAPI HANDLE WINAPI CreateSemaphoreW(LPSECURITY_ATTRIBUTES,LONG,LONG,LPCWSTR);
-WINBASEAPI DWORD WINAPI CreateTapePartition(HANDLE,DWORD,DWORD,DWORD);
-#if (_WIN32_WINNT >= 0x0500)
-WINBASEAPI HANDLE WINAPI CreateTimerQueue(void);
-WINBASEAPI BOOL WINAPI CreateTimerQueueTimer(PHANDLE,HANDLE,WAITORTIMERCALLBACK,PVOID,DWORD,DWORD,ULONG);
-#endif
-WINBASEAPI HANDLE WINAPI CreateThread(LPSECURITY_ATTRIBUTES,DWORD,LPTHREAD_START_ROUTINE,PVOID,DWORD,PDWORD);
-WINBASEAPI HANDLE WINAPI CreateWaitableTimerA(LPSECURITY_ATTRIBUTES,BOOL,LPCSTR);
-WINBASEAPI HANDLE WINAPI CreateWaitableTimerW(LPSECURITY_ATTRIBUTES,BOOL,LPCWSTR);
-#if (_WIN32_WINNT >= 0x0501)
-WINBASEAPI BOOL WINAPI DeactivateActCtx(DWORD,ULONG_PTR);
-#endif
-WINBASEAPI BOOL WINAPI DebugActiveProcess(DWORD);
-#if (_WIN32_WINNT >= 0x0501)
-WINBASEAPI BOOL WINAPI DebugActiveProcessStop(DWORD);
-#endif
-WINBASEAPI void WINAPI DebugBreak(void);
-#if (_WIN32_WINNT >= 0x0501)
-WINBASEAPI BOOL WINAPI DebugBreakProcess(HANDLE);
-WINBASEAPI BOOL WINAPI DebugSetProcessKillOnExit(BOOL);
-#endif
-WINBASEAPI BOOL WINAPI DefineDosDeviceA(DWORD,LPCSTR,LPCSTR);
-WINBASEAPI BOOL WINAPI DefineDosDeviceW(DWORD,LPCWSTR,LPCWSTR);
-#define DefineHandleTable(w) ((w),TRUE)
-WINBASEAPI BOOL WINAPI DeleteAce(PACL,DWORD);
-WINBASEAPI ATOM WINAPI DeleteAtom(ATOM);
-WINBASEAPI void WINAPI DeleteCriticalSection(PCRITICAL_SECTION);
-WINBASEAPI void WINAPI DeleteFiber(PVOID);
-WINBASEAPI BOOL WINAPI DeleteFileA(LPCSTR);
-WINBASEAPI BOOL WINAPI DeleteFileW(LPCWSTR);
-#if (_WIN32_WINNT >= 0x0500)
-WINBASEAPI BOOL WINAPI DeleteTimerQueue(HANDLE);
-WINBASEAPI BOOL WINAPI DeleteTimerQueueEx(HANDLE,HANDLE);
-WINBASEAPI BOOL WINAPI DeleteTimerQueueTimer(HANDLE,HANDLE,HANDLE);
-WINBASEAPI BOOL WINAPI DeleteVolumeMountPointA(LPCSTR);
-WINBASEAPI BOOL WINAPI DeleteVolumeMountPointW(LPCWSTR);
-#endif
-WINBASEAPI BOOL WINAPI DeregisterEventSource(HANDLE);
-WINBASEAPI BOOL WINAPI DestroyPrivateObjectSecurity(PSECURITY_DESCRIPTOR*);
-WINBASEAPI BOOL WINAPI DeviceIoControl(HANDLE,DWORD,PVOID,DWORD,PVOID,DWORD,PDWORD,POVERLAPPED);
-WINBASEAPI BOOL WINAPI DisableThreadLibraryCalls(HMODULE);
-#if (_WIN32_WINNT >= 0x0500)
-WINBASEAPI BOOL WINAPI DnsHostnameToComputerNameA(LPCSTR,LPSTR,LPDWORD);
-WINBASEAPI BOOL WINAPI DnsHostnameToComputerNameW(LPCWSTR,LPWSTR,LPDWORD);
-#endif
-WINBASEAPI BOOL WINAPI DisconnectNamedPipe(HANDLE);
-WINBASEAPI BOOL WINAPI DosDateTimeToFileTime(WORD,WORD,LPFILETIME);
-WINBASEAPI BOOL WINAPI DuplicateHandle(HANDLE,HANDLE,HANDLE,PHANDLE,DWORD,BOOL,DWORD);
-WINBASEAPI BOOL WINAPI DuplicateToken(HANDLE,SECURITY_IMPERSONATION_LEVEL,PHANDLE);
-WINBASEAPI BOOL WINAPI DuplicateTokenEx(HANDLE,DWORD,LPSECURITY_ATTRIBUTES,SECURITY_IMPERSONATION_LEVEL,TOKEN_TYPE,PHANDLE);
-WINBASEAPI BOOL WINAPI EncryptFileA(LPCSTR);
-WINBASEAPI BOOL WINAPI EncryptFileW(LPCWSTR);
-WINBASEAPI BOOL WINAPI EndUpdateResourceA(HANDLE,BOOL);
-WINBASEAPI BOOL WINAPI EndUpdateResourceW(HANDLE,BOOL);
-WINBASEAPI void WINAPI EnterCriticalSection(LPCRITICAL_SECTION);
-WINBASEAPI BOOL WINAPI EnumResourceLanguagesA(HMODULE,LPCSTR,LPCSTR,ENUMRESLANGPROC,LONG_PTR);
-WINBASEAPI BOOL WINAPI EnumResourceLanguagesW(HMODULE,LPCWSTR,LPCWSTR,ENUMRESLANGPROC,LONG_PTR);
-WINBASEAPI BOOL WINAPI EnumResourceNamesA(HMODULE,LPCSTR,ENUMRESNAMEPROC,LONG_PTR);
-WINBASEAPI BOOL WINAPI EnumResourceNamesW(HMODULE,LPCWSTR,ENUMRESNAMEPROC,LONG_PTR);
-WINBASEAPI BOOL WINAPI EnumResourceTypesA(HMODULE,ENUMRESTYPEPROC,LONG_PTR);
-WINBASEAPI BOOL WINAPI EnumResourceTypesW(HMODULE,ENUMRESTYPEPROC,LONG_PTR);
-WINBASEAPI BOOL WINAPI EqualPrefixSid(PSID,PSID);
-WINBASEAPI BOOL WINAPI EqualSid(PSID,PSID);
-WINBASEAPI DWORD WINAPI EraseTape(HANDLE,DWORD,BOOL);
-WINBASEAPI BOOL WINAPI EscapeCommFunction(HANDLE,DWORD);
-DECLSPEC_NORETURN WINBASEAPI void WINAPI ExitProcess(UINT);
-DECLSPEC_NORETURN WINBASEAPI void WINAPI ExitThread(DWORD);
-WINBASEAPI DWORD WINAPI ExpandEnvironmentStringsA(LPCSTR,LPSTR,DWORD);
-WINBASEAPI DWORD WINAPI ExpandEnvironmentStringsW(LPCWSTR,LPWSTR,DWORD);
-WINBASEAPI void WINAPI FatalAppExitA(UINT,LPCSTR);
-WINBASEAPI void WINAPI FatalAppExitW(UINT,LPCWSTR);
-WINBASEAPI void WINAPI FatalExit(int);
-WINBASEAPI BOOL WINAPI FileEncryptionStatusA(LPCSTR,LPDWORD);
-WINBASEAPI BOOL WINAPI FileEncryptionStatusW(LPCWSTR,LPDWORD);
-WINBASEAPI BOOL WINAPI FileTimeToDosDateTime(CONST FILETIME *,LPWORD,LPWORD);
-WINBASEAPI BOOL WINAPI FileTimeToLocalFileTime(CONST FILETIME *,LPFILETIME);
-WINBASEAPI BOOL WINAPI FileTimeToSystemTime(CONST FILETIME *,LPSYSTEMTIME);
-#if (_WIN32_WINNT >= 0x0501)
-WINBASEAPI BOOL WINAPI FindActCtxSectionGuid(DWORD,const GUID*,ULONG,const GUID*,PACTCTX_SECTION_KEYED_DATA);
-WINBASEAPI BOOL WINAPI FindActCtxSectionStringA(DWORD,const GUID*,ULONG,LPCSTR,PACTCTX_SECTION_KEYED_DATA);
-WINBASEAPI BOOL WINAPI FindActCtxSectionStringW(DWORD,const GUID*,ULONG,LPCWSTR,PACTCTX_SECTION_KEYED_DATA);
-#endif
-WINBASEAPI ATOM WINAPI FindAtomA(LPCSTR);
-WINBASEAPI ATOM WINAPI FindAtomW(LPCWSTR);
-WINBASEAPI BOOL WINAPI FindClose(HANDLE);
-WINBASEAPI BOOL WINAPI FindCloseChangeNotification(HANDLE);
-WINBASEAPI HANDLE WINAPI FindFirstChangeNotificationA(LPCSTR,BOOL,DWORD);
-WINBASEAPI HANDLE WINAPI FindFirstChangeNotificationW(LPCWSTR,BOOL,DWORD);
-WINBASEAPI HANDLE WINAPI FindFirstFileA(LPCSTR,LPWIN32_FIND_DATAA);
-WINBASEAPI HANDLE WINAPI FindFirstFileW(LPCWSTR,LPWIN32_FIND_DATAW);
-WINBASEAPI HANDLE WINAPI FindFirstFileExA(LPCSTR,FINDEX_INFO_LEVELS,PVOID,FINDEX_SEARCH_OPS,PVOID,DWORD);
-WINBASEAPI HANDLE WINAPI FindFirstFileExW(LPCWSTR,FINDEX_INFO_LEVELS,PVOID,FINDEX_SEARCH_OPS,PVOID,DWORD);
-WINBASEAPI BOOL WINAPI FindFirstFreeAce(PACL,PVOID*);
-#if (_WIN32_WINNT >= 0x0500)
-WINBASEAPI HANDLE WINAPI FindFirstVolumeA(LPCSTR,DWORD);
-WINBASEAPI HANDLE WINAPI FindFirstVolumeW(LPCWSTR,DWORD);
-WINBASEAPI HANDLE WINAPI FindFirstVolumeMountPointA(LPSTR,LPSTR,DWORD);
-WINBASEAPI HANDLE WINAPI FindFirstVolumeMountPointW(LPWSTR,LPWSTR,DWORD);
-#endif
-WINBASEAPI BOOL WINAPI FindNextChangeNotification(HANDLE);
-WINBASEAPI BOOL WINAPI FindNextFileA(HANDLE,LPWIN32_FIND_DATAA);
-WINBASEAPI BOOL WINAPI FindNextFileW(HANDLE,LPWIN32_FIND_DATAW);
-#if (_WIN32_WINNT >= 0x0500)
-WINBASEAPI BOOL WINAPI FindNextVolumeA(HANDLE,LPCSTR,DWORD);
-WINBASEAPI BOOL WINAPI FindNextVolumeW(HANDLE,LPWSTR,DWORD);
-WINBASEAPI BOOL WINAPI FindNextVolumeMountPointA(HANDLE,LPSTR,DWORD);
-WINBASEAPI BOOL WINAPI FindNextVolumeMountPointW(HANDLE,LPWSTR,DWORD);
-WINBASEAPI BOOL WINAPI FindVolumeClose(HANDLE);
-WINBASEAPI BOOL WINAPI FindVolumeMountPointClose(HANDLE);
-#endif
-WINBASEAPI HRSRC WINAPI FindResourceA(HMODULE,LPCSTR,LPCSTR);
-WINBASEAPI HRSRC WINAPI FindResourceW(HINSTANCE,LPCWSTR,LPCWSTR);
-WINBASEAPI HRSRC WINAPI FindResourceExA(HINSTANCE,LPCSTR,LPCSTR,WORD);
-WINBASEAPI HRSRC WINAPI FindResourceExW(HINSTANCE,LPCWSTR,LPCWSTR,WORD);
-#if (_WIN32_WINNT >= 0x0502)
-WINBASEAPI DWORD WINAPI GetFirmwareEnvironmentVariableA(LPCSTR,LPCSTR,PVOID,DWORD);
-WINBASEAPI DWORD WINAPI GetFirmwareEnvironmentVariableW(LPCWSTR,LPCWSTR,PVOID,DWORD);
-#endif
-WINBASEAPI BOOL WINAPI FlushFileBuffers(HANDLE);
-WINBASEAPI BOOL WINAPI FlushInstructionCache(HANDLE,PCVOID,DWORD);
-WINBASEAPI BOOL WINAPI FlushViewOfFile(PCVOID,DWORD);
-WINBASEAPI DWORD WINAPI FormatMessageA(DWORD,PCVOID,DWORD,DWORD,LPSTR,DWORD,va_list*);
-WINBASEAPI DWORD WINAPI FormatMessageW(DWORD,PCVOID,DWORD,DWORD,LPWSTR,DWORD,va_list*);
-WINBASEAPI BOOL WINAPI FreeEnvironmentStringsA(LPSTR);
-WINBASEAPI BOOL WINAPI FreeEnvironmentStringsW(LPWSTR);
-WINBASEAPI BOOL WINAPI FreeLibrary(HMODULE);
-DECLSPEC_NORETURN WINBASEAPI void WINAPI FreeLibraryAndExitThread(HMODULE,DWORD);
-#define FreeModule(m) FreeLibrary(m)
-#define FreeProcInstance(p) (void)(p)
-#ifndef XFree86Server
-WINBASEAPI BOOL WINAPI FreeResource(HGLOBAL);
-#endif /* ndef XFree86Server */
-WINBASEAPI PVOID WINAPI FreeSid(PSID);
-WINBASEAPI BOOL WINAPI GetAce(PACL,DWORD,LPVOID*);
-WINBASEAPI BOOL WINAPI GetAclInformation(PACL,PVOID,DWORD,ACL_INFORMATION_CLASS);
-WINBASEAPI UINT WINAPI GetAtomNameA(ATOM,LPSTR,int);
-WINBASEAPI UINT WINAPI GetAtomNameW(ATOM,LPWSTR,int);
-WINBASEAPI BOOL WINAPI GetBinaryTypeA(LPCSTR,PDWORD);
-WINBASEAPI BOOL WINAPI GetBinaryTypeW(LPCWSTR,PDWORD);
-WINBASEAPI LPSTR WINAPI GetCommandLineA(VOID);
-WINBASEAPI LPWSTR WINAPI GetCommandLineW(VOID);
-WINBASEAPI BOOL WINAPI GetCommConfig(HANDLE,LPCOMMCONFIG,PDWORD);
-WINBASEAPI BOOL WINAPI GetCommMask(HANDLE,PDWORD);
-WINBASEAPI BOOL WINAPI GetCommModemStatus(HANDLE,PDWORD);
-WINBASEAPI BOOL WINAPI GetCommProperties(HANDLE,LPCOMMPROP);
-WINBASEAPI BOOL WINAPI GetCommState(HANDLE,LPDCB);
-WINBASEAPI BOOL WINAPI GetCommTimeouts(HANDLE,LPCOMMTIMEOUTS);
-WINBASEAPI DWORD WINAPI GetCompressedFileSizeA(LPCSTR,PDWORD);
-WINBASEAPI DWORD WINAPI GetCompressedFileSizeW(LPCWSTR,PDWORD);
-WINBASEAPI BOOL WINAPI GetComputerNameA(LPSTR,PDWORD);
-WINBASEAPI BOOL WINAPI GetComputerNameW(LPWSTR,PDWORD);
-#if (_WIN32_WINNT >= 0x0500)
-WINBASEAPI BOOL WINAPI GetComputerNameExA(COMPUTER_NAME_FORMAT,LPSTR,LPDWORD);
-WINBASEAPI BOOL WINAPI GetComputerNameExW(COMPUTER_NAME_FORMAT,LPWSTR,LPDWORD);
-#endif
-#if (_WIN32_WINNT >= 0x0501)
-WINBASEAPI BOOL WINAPI GetCurrentActCtx(HANDLE*);
-#endif
-WINBASEAPI DWORD WINAPI GetCurrentDirectoryA(DWORD,LPSTR);
-WINBASEAPI DWORD WINAPI GetCurrentDirectoryW(DWORD,LPWSTR);
-WINBASEAPI BOOL WINAPI GetCurrentHwProfileA(LPHW_PROFILE_INFOA);
-WINBASEAPI BOOL WINAPI GetCurrentHwProfileW(LPHW_PROFILE_INFOW);
-WINBASEAPI HANDLE WINAPI GetCurrentProcess(void);
-WINBASEAPI DWORD WINAPI GetCurrentProcessId(void);
-WINBASEAPI HANDLE WINAPI GetCurrentThread(void);
-WINBASEAPI DWORD WINAPI GetCurrentThreadId(void);
-#define GetCurrentTime GetTickCount
-WINBASEAPI BOOL WINAPI GetDefaultCommConfigA(LPCSTR,LPCOMMCONFIG,PDWORD);
-WINBASEAPI BOOL WINAPI GetDefaultCommConfigW(LPCWSTR,LPCOMMCONFIG,PDWORD);
-WINBASEAPI BOOL WINAPI GetDiskFreeSpaceA(LPCSTR,PDWORD,PDWORD,PDWORD,PDWORD);
-WINBASEAPI BOOL WINAPI GetDiskFreeSpaceW(LPCWSTR,PDWORD,PDWORD,PDWORD,PDWORD);
-WINBASEAPI BOOL WINAPI GetDiskFreeSpaceExA(LPCSTR,PULARGE_INTEGER,PULARGE_INTEGER,PULARGE_INTEGER);
-WINBASEAPI BOOL WINAPI GetDiskFreeSpaceExW(LPCWSTR,PULARGE_INTEGER,PULARGE_INTEGER,PULARGE_INTEGER);
-#if (_WIN32_WINNT >= 0x0502)
-WINBASEAPI DWORD WINAPI GetDllDirectoryA(DWORD,LPSTR);
-WINBASEAPI DWORD WINAPI GetDllDirectoryW(DWORD,LPWSTR);
-#endif
-WINBASEAPI UINT WINAPI GetDriveTypeA(LPCSTR);
-WINBASEAPI UINT WINAPI GetDriveTypeW(LPCWSTR);
-WINBASEAPI LPSTR WINAPI GetEnvironmentStrings(void);
-WINBASEAPI LPSTR WINAPI GetEnvironmentStringsA(void);
-WINBASEAPI LPWSTR WINAPI GetEnvironmentStringsW(void);
-WINBASEAPI DWORD WINAPI GetEnvironmentVariableA(LPCSTR,LPSTR,DWORD);
-WINBASEAPI DWORD WINAPI GetEnvironmentVariableW(LPCWSTR,LPWSTR,DWORD);
-WINBASEAPI BOOL WINAPI GetExitCodeProcess(HANDLE,PDWORD);
-WINBASEAPI BOOL WINAPI GetExitCodeThread(HANDLE,PDWORD);
-WINBASEAPI DWORD WINAPI GetFileAttributesA(LPCSTR);
-WINBASEAPI DWORD WINAPI GetFileAttributesW(LPCWSTR);
-WINBASEAPI BOOL WINAPI GetFileAttributesExA(LPCSTR,GET_FILEEX_INFO_LEVELS,PVOID);
-WINBASEAPI BOOL WINAPI GetFileAttributesExW(LPCWSTR,GET_FILEEX_INFO_LEVELS,PVOID);
-WINBASEAPI BOOL WINAPI GetFileInformationByHandle(HANDLE,LPBY_HANDLE_FILE_INFORMATION);
-WINBASEAPI BOOL WINAPI GetFileSecurityA(LPCSTR,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR,DWORD,PDWORD);
-WINBASEAPI BOOL WINAPI GetFileSecurityW(LPCWSTR,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR,DWORD,PDWORD);
-WINBASEAPI DWORD WINAPI GetFileSize(HANDLE,PDWORD);
-#if (_WIN32_WINNT >= 0x0500)
-WINBASEAPI BOOL WINAPI GetFileSizeEx(HANDLE,PLARGE_INTEGER);
-#endif
-WINBASEAPI BOOL WINAPI GetFileTime(HANDLE,LPFILETIME,LPFILETIME,LPFILETIME);
-WINBASEAPI DWORD WINAPI GetFileType(HANDLE);
-#define GetFreeSpace(w) (0x100000L)
-WINBASEAPI DWORD WINAPI GetFullPathNameA(LPCSTR,DWORD,LPSTR,LPSTR*);
-WINBASEAPI DWORD WINAPI GetFullPathNameW(LPCWSTR,DWORD,LPWSTR,LPWSTR*);
-WINBASEAPI BOOL WINAPI GetHandleInformation(HANDLE,PDWORD);
-WINBASEAPI BOOL WINAPI GetKernelObjectSecurity(HANDLE,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR,DWORD,PDWORD);
-WINBASEAPI DWORD WINAPI GetLastError(void);
-WINBASEAPI DWORD WINAPI GetLengthSid(PSID);
-WINBASEAPI void WINAPI GetLocalTime(LPSYSTEMTIME);
-WINBASEAPI DWORD WINAPI GetLogicalDrives(void);
-WINBASEAPI DWORD WINAPI GetLogicalDriveStringsA(DWORD,LPSTR);
-WINBASEAPI DWORD WINAPI GetLogicalDriveStringsW(DWORD,LPWSTR);
-#if (_WIN32_WINNT >= 0x0500 || _WIN32_WINDOWS >= 0x0410)
-WINBASEAPI DWORD WINAPI GetLongPathNameA(LPCSTR,LPSTR,DWORD);
-WINBASEAPI DWORD WINAPI GetLongPathNameW(LPCWSTR,LPWSTR,DWORD);
-#endif
-WINBASEAPI BOOL WINAPI GetMailslotInfo(HANDLE,PDWORD,PDWORD,PDWORD,PDWORD);
-WINBASEAPI DWORD WINAPI GetModuleFileNameA(HINSTANCE,LPSTR,DWORD);
-WINBASEAPI DWORD WINAPI GetModuleFileNameW(HINSTANCE,LPWSTR,DWORD);
-WINBASEAPI HMODULE WINAPI GetModuleHandleA(LPCSTR);
-WINBASEAPI HMODULE WINAPI GetModuleHandleW(LPCWSTR);
-#if (_WIN32_WINNT >= 0x0500)
-WINBASEAPI BOOL WINAPI GetModuleHandleExA(DWORD,LPCSTR,HMODULE*);
-WINBASEAPI BOOL WINAPI GetModuleHandleExW(DWORD,LPCWSTR,HMODULE*);
-#endif
-WINBASEAPI BOOL WINAPI GetNamedPipeHandleStateA(HANDLE,PDWORD,PDWORD,PDWORD,PDWORD,LPSTR,DWORD);
-WINBASEAPI BOOL WINAPI GetNamedPipeHandleStateW(HANDLE,PDWORD,PDWORD,PDWORD,PDWORD,LPWSTR,DWORD);
-WINBASEAPI BOOL WINAPI GetNamedPipeInfo(HANDLE,PDWORD,PDWORD,PDWORD,PDWORD);
-#if (_WIN32_WINNT >= 0x0501)
-WINBASEAPI VOID WINAPI GetNativeSystemInfo(LPSYSTEM_INFO);
-#endif
-WINBASEAPI BOOL WINAPI GetNumberOfEventLogRecords(HANDLE,PDWORD);
-WINBASEAPI BOOL WINAPI GetOldestEventLogRecord(HANDLE,PDWORD);
-WINBASEAPI BOOL WINAPI GetOverlappedResult(HANDLE,LPOVERLAPPED,PDWORD,BOOL);
-WINBASEAPI DWORD WINAPI GetPriorityClass(HANDLE);
-WINBASEAPI BOOL WINAPI GetPrivateObjectSecurity(PSECURITY_DESCRIPTOR,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR,DWORD,PDWORD);
-WINBASEAPI UINT WINAPI GetPrivateProfileIntA(LPCSTR,LPCSTR,INT,LPCSTR);
-WINBASEAPI UINT WINAPI GetPrivateProfileIntW(LPCWSTR,LPCWSTR,INT,LPCWSTR);
-WINBASEAPI DWORD WINAPI GetPrivateProfileSectionA(LPCSTR,LPSTR,DWORD,LPCSTR);
-WINBASEAPI DWORD WINAPI GetPrivateProfileSectionW(LPCWSTR,LPWSTR,DWORD,LPCWSTR);
-WINBASEAPI DWORD WINAPI GetPrivateProfileSectionNamesA(LPSTR,DWORD,LPCSTR);
-WINBASEAPI DWORD WINAPI GetPrivateProfileSectionNamesW(LPWSTR,DWORD,LPCWSTR);
-WINBASEAPI DWORD WINAPI GetPrivateProfileStringA(LPCSTR,LPCSTR,LPCSTR,LPSTR,DWORD,LPCSTR);
-WINBASEAPI DWORD WINAPI GetPrivateProfileStringW(LPCWSTR,LPCWSTR,LPCWSTR,LPWSTR,DWORD,LPCWSTR);
-WINBASEAPI BOOL WINAPI GetPrivateProfileStructA(LPCSTR,LPCSTR,LPVOID,UINT,LPCSTR);
-WINBASEAPI BOOL WINAPI GetPrivateProfileStructW(LPCWSTR,LPCWSTR,LPVOID,UINT,LPCWSTR);
-WINBASEAPI FARPROC WINAPI GetProcAddress(HINSTANCE,LPCSTR);
-WINBASEAPI BOOL WINAPI GetProcessAffinityMask(HANDLE,PDWORD,PDWORD);
-#if (_WIN32_WINNT >= 0x0502)
-WINBASEAPI BOOL WINAPI GetProcessHandleCount(HANDLE,PDWORD);
-#endif
-WINBASEAPI HANDLE WINAPI GetProcessHeap(VOID);
-WINBASEAPI DWORD WINAPI GetProcessHeaps(DWORD,PHANDLE);
-#if (_WIN32_WINNT >= 0x0501)
-WINBASEAPI DWORD WINAPI GetProcessId(HANDLE);
-#endif
-#if (_WIN32_WINNT >= 0x0500)
-WINBASEAPI BOOL WINAPI GetProcessIoCounters(HANDLE,PIO_COUNTERS);
-#endif
-WINBASEAPI BOOL WINAPI GetProcessPriorityBoost(HANDLE,PBOOL);
-WINBASEAPI BOOL WINAPI GetProcessShutdownParameters(PDWORD,PDWORD);
-WINBASEAPI BOOL WINAPI GetProcessTimes(HANDLE,LPFILETIME,LPFILETIME,LPFILETIME,LPFILETIME);
-WINBASEAPI DWORD WINAPI GetProcessVersion(DWORD);
-WINBASEAPI HWINSTA WINAPI GetProcessWindowStation(void);
-WINBASEAPI BOOL WINAPI GetProcessWorkingSetSize(HANDLE,PSIZE_T,PSIZE_T);
-WINBASEAPI UINT WINAPI GetProfileIntA(LPCSTR,LPCSTR,INT);
-WINBASEAPI UINT WINAPI GetProfileIntW(LPCWSTR,LPCWSTR,INT);
-WINBASEAPI DWORD WINAPI GetProfileSectionA(LPCSTR,LPSTR,DWORD);
-WINBASEAPI DWORD WINAPI GetProfileSectionW(LPCWSTR,LPWSTR,DWORD);
-WINBASEAPI DWORD WINAPI GetProfileStringA(LPCSTR,LPCSTR,LPCSTR,LPSTR,DWORD);
-WINBASEAPI DWORD WINAPI GetProfileStringW(LPCWSTR,LPCWSTR,LPCWSTR,LPWSTR,DWORD);
-WINBASEAPI BOOL WINAPI GetQueuedCompletionStatus(HANDLE,PDWORD,PDWORD,LPOVERLAPPED*,DWORD);
-WINBASEAPI BOOL WINAPI GetSecurityDescriptorControl(PSECURITY_DESCRIPTOR,PSECURITY_DESCRIPTOR_CONTROL,PDWORD);
-WINBASEAPI BOOL WINAPI GetSecurityDescriptorDacl(PSECURITY_DESCRIPTOR,LPBOOL,PACL*,LPBOOL);
-WINBASEAPI BOOL WINAPI GetSecurityDescriptorGroup(PSECURITY_DESCRIPTOR,PSID*,LPBOOL);
-WINBASEAPI DWORD WINAPI GetSecurityDescriptorLength(PSECURITY_DESCRIPTOR);
-WINBASEAPI BOOL WINAPI GetSecurityDescriptorOwner(PSECURITY_DESCRIPTOR,PSID*,LPBOOL);
-WINBASEAPI BOOL WINAPI GetSecurityDescriptorSacl(PSECURITY_DESCRIPTOR,LPBOOL,PACL*,LPBOOL);
-WINBASEAPI DWORD WINAPI GetShortPathNameA(LPCSTR,LPSTR,DWORD);
-WINBASEAPI DWORD WINAPI GetShortPathNameW(LPCWSTR,LPWSTR,DWORD);
-WINBASEAPI PSID_IDENTIFIER_AUTHORITY WINAPI GetSidIdentifierAuthority(PSID);
-WINBASEAPI DWORD WINAPI GetSidLengthRequired(UCHAR);
-WINBASEAPI PDWORD WINAPI GetSidSubAuthority(PSID,DWORD);
-WINBASEAPI PUCHAR WINAPI GetSidSubAuthorityCount(PSID);
-WINBASEAPI VOID WINAPI GetStartupInfoA(LPSTARTUPINFOA);
-WINBASEAPI VOID WINAPI GetStartupInfoW(LPSTARTUPINFOW);
-WINBASEAPI HANDLE WINAPI GetStdHandle(DWORD);
-WINBASEAPI UINT WINAPI GetSystemDirectoryA(LPSTR,UINT);
-WINBASEAPI UINT WINAPI GetSystemDirectoryW(LPWSTR,UINT);
-WINBASEAPI VOID WINAPI GetSystemInfo(LPSYSTEM_INFO);
-WINBASEAPI BOOL WINAPI GetSystemPowerStatus(LPSYSTEM_POWER_STATUS);
-#if (_WIN32_WINNT >= 0x0502)
-WINBASEAPI BOOL WINAPI GetSystemRegistryQuota(PDWORD,PDWORD);
-#endif
-WINBASEAPI VOID WINAPI GetSystemTime(LPSYSTEMTIME);
-#if (_WIN32_WINNT >= 0x0501)
-WINBASEAPI BOOL WINAPI GetSystemTimes(LPFILETIME,LPFILETIME,LPFILETIME);
-#endif
-WINBASEAPI BOOL WINAPI GetSystemTimeAdjustment(PDWORD,PDWORD,PBOOL);
-WINBASEAPI void WINAPI GetSystemTimeAsFileTime(LPFILETIME);
-#if (_WIN32_WINNT >= 0x0500)
-WINBASEAPI UINT WINAPI GetSystemWindowsDirectoryA(LPSTR,UINT);
-WINBASEAPI UINT WINAPI GetSystemWindowsDirectoryW(LPWSTR,UINT);
-#endif
-#if (_WIN32_WINNT >= 0x0501)
-WINBASEAPI UINT WINAPI GetSystemWow64DirectoryA(LPSTR,UINT);
-WINBASEAPI UINT WINAPI GetSystemWow64DirectoryW(LPWSTR,UINT);
-#endif
-WINBASEAPI DWORD WINAPI GetTapeParameters(HANDLE,DWORD,PDWORD,PVOID);
-WINBASEAPI DWORD WINAPI GetTapePosition(HANDLE,DWORD,PDWORD,PDWORD,PDWORD);
-WINBASEAPI DWORD WINAPI GetTapeStatus(HANDLE);
-WINBASEAPI UINT WINAPI GetTempFileNameA(LPCSTR,LPCSTR,UINT,LPSTR);
-WINBASEAPI UINT WINAPI GetTempFileNameW(LPCWSTR,LPCWSTR,UINT,LPWSTR);
-WINBASEAPI DWORD WINAPI GetTempPathA(DWORD,LPSTR);
-WINBASEAPI DWORD WINAPI GetTempPathW(DWORD,LPWSTR);
-WINBASEAPI BOOL WINAPI GetThreadContext(HANDLE,LPCONTEXT);
-#if (_WIN32_WINNT >= 0x0502)
-WINBASEAPI BOOL WINAPI GetThreadIOPendingFlag(HANDLE,PBOOL);
-#endif
-WINBASEAPI int WINAPI GetThreadPriority(HANDLE);
-WINBASEAPI BOOL WINAPI GetThreadPriorityBoost(HANDLE,PBOOL);
-WINBASEAPI BOOL WINAPI GetThreadSelectorEntry(HANDLE,DWORD,LPLDT_ENTRY);
-WINBASEAPI BOOL WINAPI GetThreadTimes(HANDLE,LPFILETIME,LPFILETIME,LPFILETIME,LPFILETIME);
-WINBASEAPI DWORD WINAPI GetTickCount(VOID);
-WINBASEAPI DWORD WINAPI GetTimeZoneInformation(LPTIME_ZONE_INFORMATION);
-WINBASEAPI BOOL WINAPI GetTokenInformation(HANDLE,TOKEN_INFORMATION_CLASS,PVOID,DWORD,PDWORD);
-WINBASEAPI BOOL WINAPI GetUserNameA (LPSTR,PDWORD);
-WINBASEAPI BOOL WINAPI GetUserNameW(LPWSTR,PDWORD);
-WINBASEAPI DWORD WINAPI GetVersion(void);
-WINBASEAPI BOOL WINAPI GetVersionExA(LPOSVERSIONINFOA);
-WINBASEAPI BOOL WINAPI GetVersionExW(LPOSVERSIONINFOW);
-WINBASEAPI BOOL WINAPI GetVolumeInformationA(LPCSTR,LPSTR,DWORD,PDWORD,PDWORD,PDWORD,LPSTR,DWORD);
-WINBASEAPI BOOL WINAPI GetVolumeInformationW(LPCWSTR,LPWSTR,DWORD,PDWORD,PDWORD,PDWORD,LPWSTR,DWORD);
-#if (_WIN32_WINNT >= 0x0500)
-WINBASEAPI BOOL WINAPI GetVolumeNameForVolumeMountPointA(LPCSTR,LPSTR,DWORD);
-WINBASEAPI BOOL WINAPI GetVolumeNameForVolumeMountPointW(LPCWSTR,LPWSTR,DWORD);
-WINBASEAPI BOOL WINAPI GetVolumePathNameA(LPCSTR,LPSTR,DWORD);
-WINBASEAPI BOOL WINAPI GetVolumePathNameW(LPCWSTR,LPWSTR,DWORD);
-#endif
-#if (_WIN32_WINNT >= 0x0501)
-WINBASEAPI BOOL WINAPI GetVolumePathNamesForVolumeNameA(LPCSTR,LPSTR,DWORD,PDWORD);
-WINBASEAPI BOOL WINAPI GetVolumePathNamesForVolumeNameW(LPCWSTR,LPWSTR,DWORD,PDWORD);
-#endif
-WINBASEAPI UINT WINAPI GetWindowsDirectoryA(LPSTR,UINT);
-WINBASEAPI UINT WINAPI GetWindowsDirectoryW(LPWSTR,UINT);
-WINBASEAPI DWORD WINAPI GetWindowThreadProcessId(HWND,PDWORD);
-WINBASEAPI UINT WINAPI GetWriteWatch(DWORD,PVOID,SIZE_T,PVOID*,PULONG_PTR,PULONG);
-WINBASEAPI ATOM WINAPI GlobalAddAtomA(LPCSTR);
-WINBASEAPI ATOM WINAPI GlobalAddAtomW( LPCWSTR);
-WINBASEAPI HGLOBAL WINAPI GlobalAlloc(UINT,DWORD);
-WINBASEAPI SIZE_T WINAPI GlobalCompact(DWORD); /* Obsolete: Has no effect. */
-WINBASEAPI ATOM WINAPI GlobalDeleteAtom(ATOM);
-#define GlobalDiscard(hMem) GlobalReAlloc((hMem), 0, GMEM_MOVEABLE)
-WINBASEAPI ATOM WINAPI GlobalFindAtomA(LPCSTR);
-WINBASEAPI ATOM WINAPI GlobalFindAtomW(LPCWSTR);
-WINBASEAPI VOID WINAPI GlobalFix(HGLOBAL); /* Obsolete: Has no effect. */
-WINBASEAPI UINT WINAPI GlobalFlags(HGLOBAL); /* Obsolete: Has no effect. */
-WINBASEAPI HGLOBAL WINAPI GlobalFree(HGLOBAL);
-WINBASEAPI UINT WINAPI GlobalGetAtomNameA(ATOM,LPSTR,int);
-WINBASEAPI UINT WINAPI GlobalGetAtomNameW(ATOM,LPWSTR,int);
-WINBASEAPI HGLOBAL WINAPI GlobalHandle(PCVOID);
-WINBASEAPI LPVOID WINAPI GlobalLock(HGLOBAL);
-WINBASEAPI VOID WINAPI GlobalMemoryStatus(LPMEMORYSTATUS);
-#if (_WIN32_WINNT >= 0x0500)
-WINBASEAPI BOOL WINAPI GlobalMemoryStatusEx(LPMEMORYSTATUSEX);
-#endif
-WINBASEAPI HGLOBAL WINAPI GlobalReAlloc(HGLOBAL,DWORD,UINT);
-WINBASEAPI DWORD WINAPI GlobalSize(HGLOBAL);
-WINBASEAPI VOID WINAPI GlobalUnfix(HGLOBAL); /* Obsolete: Has no effect. */
-WINBASEAPI BOOL WINAPI GlobalUnlock(HGLOBAL);
-WINBASEAPI BOOL WINAPI GlobalUnWire(HGLOBAL); /* Obsolete: Has no effect. */
-WINBASEAPI PVOID WINAPI GlobalWire(HGLOBAL); /* Obsolete: Has no effect. */
-#define HasOverlappedIoCompleted(lpOverlapped) ((lpOverlapped)->Internal != STATUS_PENDING)
-WINBASEAPI PVOID WINAPI HeapAlloc(HANDLE,DWORD,DWORD);
-SIZE_T WINAPI HeapCompact(HANDLE,DWORD);
-WINBASEAPI HANDLE WINAPI HeapCreate(DWORD,DWORD,DWORD);
-WINBASEAPI BOOL WINAPI HeapDestroy(HANDLE);
-WINBASEAPI BOOL WINAPI HeapFree(HANDLE,DWORD,PVOID);
-WINBASEAPI BOOL WINAPI HeapLock(HANDLE);
-#if (_WIN32_WINNT >= 0x0501)
-WINBASEAPI BOOL WINAPI HeapQueryInformation(HANDLE,HEAP_INFORMATION_CLASS,PVOID,SIZE_T,PSIZE_T);
-#endif
-WINBASEAPI PVOID WINAPI HeapReAlloc(HANDLE,DWORD,PVOID,DWORD);
-#if (_WIN32_WINNT >= 0x0501)
-WINBASEAPI BOOL WINAPI HeapSetInformation(HANDLE,HEAP_INFORMATION_CLASS,PVOID,SIZE_T);
-#endif
-WINBASEAPI DWORD WINAPI HeapSize(HANDLE,DWORD,PCVOID);
-WINBASEAPI BOOL WINAPI HeapUnlock(HANDLE);
-WINBASEAPI BOOL WINAPI HeapValidate(HANDLE,DWORD,PCVOID);
-WINBASEAPI BOOL WINAPI HeapWalk(HANDLE,LPPROCESS_HEAP_ENTRY);
-WINBASEAPI BOOL WINAPI ImpersonateLoggedOnUser(HANDLE);
-WINBASEAPI BOOL WINAPI ImpersonateNamedPipeClient(HANDLE);
-WINBASEAPI BOOL WINAPI ImpersonateSelf(SECURITY_IMPERSONATION_LEVEL);
-WINBASEAPI BOOL WINAPI InitAtomTable(DWORD);
-WINBASEAPI BOOL WINAPI InitializeAcl(PACL,DWORD,DWORD);
-WINBASEAPI VOID WINAPI InitializeCriticalSection(LPCRITICAL_SECTION);
-WINBASEAPI BOOL WINAPI InitializeCriticalSectionAndSpinCount(LPCRITICAL_SECTION,DWORD);
-WINBASEAPI DWORD WINAPI SetCriticalSectionSpinCount(LPCRITICAL_SECTION,DWORD);
-WINBASEAPI BOOL WINAPI InitializeSecurityDescriptor(PSECURITY_DESCRIPTOR,DWORD);
-WINBASEAPI BOOL WINAPI InitializeSid (PSID,PSID_IDENTIFIER_AUTHORITY,BYTE);
-
-#if !(__USE_NTOSKRNL__)
-/* CAREFUL: These are exported from ntoskrnl.exe and declared in winddk.h
- as __fastcall functions, but are exported from kernel32.dll as __stdcall */
-#if (_WIN32_WINNT >= 0x0501)
-WINBASEAPI VOID WINAPI InitializeSListHead(PSLIST_HEADER);
-#endif
-#ifndef __INTERLOCKED_DECLARED
-#define __INTERLOCKED_DECLARED
-LONG WINAPI InterlockedCompareExchange(LPLONG,LONG,LONG);
-/* PVOID WINAPI InterlockedCompareExchangePointer(PVOID*,PVOID,PVOID); */
-#define InterlockedCompareExchangePointer(d,e,c) \
- (PVOID)InterlockedCompareExchange((LPLONG)(d),(LONG)(e),(LONG)(c))
-LONG WINAPI InterlockedDecrement(LPLONG);
-LONG WINAPI InterlockedExchange(LPLONG,LONG);
-/* PVOID WINAPI InterlockedExchangePointer(PVOID*,PVOID); */
-#define InterlockedExchangePointer(t,v) \
- (PVOID)InterlockedExchange((LPLONG)(t),(LONG)(v))
-LONG WINAPI InterlockedExchangeAdd(LPLONG,LONG);
-#if (_WIN32_WINNT >= 0x0501)
-PSLIST_ENTRY WINAPI InterlockedFlushSList(PSLIST_HEADER);
-#endif
-LONG WINAPI InterlockedIncrement(LPLONG);
-#if (_WIN32_WINNT >= 0x0501)
-PSLIST_ENTRY WINAPI InterlockedPopEntrySList(PSLIST_HEADER);
-PSLIST_ENTRY WINAPI InterlockedPushEntrySList(PSLIST_HEADER,PSLIST_ENTRY);
-#endif
-#endif /* __INTERLOCKED_DECLARED */
-#endif /* __USE_NTOSKRNL__ */
-
-WINBASEAPI BOOL WINAPI IsBadCodePtr(FARPROC);
-WINBASEAPI BOOL WINAPI IsBadHugeReadPtr(PCVOID,UINT);
-WINBASEAPI BOOL WINAPI IsBadHugeWritePtr(PVOID,UINT);
-WINBASEAPI BOOL WINAPI IsBadReadPtr(PCVOID,UINT);
-WINBASEAPI BOOL WINAPI IsBadStringPtrA(LPCSTR,UINT);
-WINBASEAPI BOOL WINAPI IsBadStringPtrW(LPCWSTR,UINT);
-WINBASEAPI BOOL WINAPI IsBadWritePtr(PVOID,UINT);
-WINBASEAPI BOOL WINAPI IsDebuggerPresent(void);
-#if (_WIN32_WINNT >= 0x0501)
-WINBASEAPI BOOL IsProcessInJob(HANDLE,HANDLE,PBOOL);
-#endif
-WINBASEAPI BOOL WINAPI IsProcessorFeaturePresent(DWORD);
-WINBASEAPI BOOL WINAPI IsSystemResumeAutomatic(void);
-WINBASEAPI BOOL WINAPI IsTextUnicode(PCVOID,int,LPINT);
-WINBASEAPI BOOL WINAPI IsValidAcl(PACL);
-WINBASEAPI BOOL WINAPI IsValidSecurityDescriptor(PSECURITY_DESCRIPTOR);
-WINBASEAPI BOOL WINAPI IsValidSid(PSID);
-#if (_WIN32_WINNT >= 0x0501)
-WINBASEAPI BOOL WINAPI IsWow64Process(HANDLE,PBOOL);
-#endif
-WINBASEAPI void WINAPI LeaveCriticalSection(LPCRITICAL_SECTION);
-#define LimitEmsPages(n)
-WINBASEAPI HINSTANCE WINAPI LoadLibraryA(LPCSTR);
-WINBASEAPI HINSTANCE WINAPI LoadLibraryExA(LPCSTR,HANDLE,DWORD);
-WINBASEAPI HINSTANCE WINAPI LoadLibraryExW(LPCWSTR,HANDLE,DWORD);
-WINBASEAPI HINSTANCE WINAPI LoadLibraryW(LPCWSTR);
-WINBASEAPI DWORD WINAPI LoadModule(LPCSTR,PVOID);
-WINBASEAPI HGLOBAL WINAPI LoadResource(HINSTANCE,HRSRC);
-WINBASEAPI HLOCAL WINAPI LocalAlloc(UINT,SIZE_T);
-WINBASEAPI SIZE_T WINAPI LocalCompact(UINT); /* Obsolete: Has no effect. */
-WINBASEAPI HLOCAL LocalDiscard(HLOCAL);
-WINBASEAPI BOOL WINAPI LocalFileTimeToFileTime(CONST FILETIME *,LPFILETIME);
-WINBASEAPI UINT WINAPI LocalFlags(HLOCAL); /* Obsolete: Has no effect. */
-WINBASEAPI HLOCAL WINAPI LocalFree(HLOCAL);
-WINBASEAPI HLOCAL WINAPI LocalHandle(LPCVOID);
-WINBASEAPI PVOID WINAPI LocalLock(HLOCAL);
-WINBASEAPI HLOCAL WINAPI LocalReAlloc(HLOCAL,SIZE_T,UINT);
-WINBASEAPI SIZE_T WINAPI LocalShrink(HLOCAL,UINT); /* Obsolete: Has no effect. */
-WINBASEAPI UINT WINAPI LocalSize(HLOCAL);
-WINBASEAPI BOOL WINAPI LocalUnlock(HLOCAL);
-WINBASEAPI BOOL WINAPI LockFile(HANDLE,DWORD,DWORD,DWORD,DWORD);
-WINBASEAPI BOOL WINAPI LockFileEx(HANDLE,DWORD,DWORD,DWORD,DWORD,LPOVERLAPPED);
-WINBASEAPI PVOID WINAPI LockResource(HGLOBAL);
-#define LockSegment(w) GlobalFix((HANDLE)(w)) /* Obsolete: Has no effect. */
-WINBASEAPI BOOL WINAPI LogonUserA(LPSTR,LPSTR,LPSTR,DWORD,DWORD,PHANDLE);
-WINBASEAPI BOOL WINAPI LogonUserW(LPWSTR,LPWSTR,LPWSTR,DWORD,DWORD,PHANDLE);
-WINBASEAPI BOOL WINAPI LookupAccountNameA(LPCSTR,LPCSTR,PSID,PDWORD,LPSTR,PDWORD,PSID_NAME_USE);
-WINBASEAPI BOOL WINAPI LookupAccountNameW(LPCWSTR,LPCWSTR,PSID,PDWORD,LPWSTR,PDWORD,PSID_NAME_USE);
-WINBASEAPI BOOL WINAPI LookupAccountSidA(LPCSTR,PSID,LPSTR,PDWORD,LPSTR,PDWORD,PSID_NAME_USE);
-WINBASEAPI BOOL WINAPI LookupAccountSidW(LPCWSTR,PSID,LPWSTR,PDWORD,LPWSTR,PDWORD,PSID_NAME_USE);
-WINBASEAPI BOOL WINAPI LookupPrivilegeDisplayNameA(LPCSTR,LPCSTR,LPSTR,PDWORD,PDWORD);
-WINBASEAPI BOOL WINAPI LookupPrivilegeDisplayNameW(LPCWSTR,LPCWSTR,LPWSTR,PDWORD,PDWORD);
-WINBASEAPI BOOL WINAPI LookupPrivilegeNameA(LPCSTR,PLUID,LPSTR,PDWORD);
-WINBASEAPI BOOL WINAPI LookupPrivilegeNameW(LPCWSTR,PLUID,LPWSTR,PDWORD);
-WINBASEAPI BOOL WINAPI LookupPrivilegeValueA(LPCSTR,LPCSTR,PLUID);
-WINBASEAPI BOOL WINAPI LookupPrivilegeValueW(LPCWSTR,LPCWSTR,PLUID);
-WINBASEAPI LPSTR WINAPI lstrcatA(LPSTR,LPCSTR);
-WINBASEAPI LPWSTR WINAPI lstrcatW(LPWSTR,LPCWSTR);
-WINBASEAPI int WINAPI lstrcmpA(LPCSTR,LPCSTR);
-WINBASEAPI int WINAPI lstrcmpiA(LPCSTR,LPCSTR);
-WINBASEAPI int WINAPI lstrcmpiW( LPCWSTR,LPCWSTR);
-WINBASEAPI int WINAPI lstrcmpW(LPCWSTR,LPCWSTR);
-WINBASEAPI LPSTR WINAPI lstrcpyA(LPSTR,LPCSTR);
-WINBASEAPI LPSTR WINAPI lstrcpynA(LPSTR,LPCSTR,int);
-WINBASEAPI LPWSTR WINAPI lstrcpynW(LPWSTR,LPCWSTR,int);
-WINBASEAPI LPWSTR WINAPI lstrcpyW(LPWSTR,LPCWSTR);
-WINBASEAPI int WINAPI lstrlenA(LPCSTR);
-WINBASEAPI int WINAPI lstrlenW(LPCWSTR);
-WINBASEAPI BOOL WINAPI MakeAbsoluteSD(PSECURITY_DESCRIPTOR,PSECURITY_DESCRIPTOR,PDWORD,PACL,PDWORD,PACL,PDWORD,PSID,PDWORD,PSID,PDWORD);
-#define MakeProcInstance(p,i) (p)
-WINBASEAPI BOOL WINAPI MakeSelfRelativeSD(PSECURITY_DESCRIPTOR,PSECURITY_DESCRIPTOR,PDWORD);
-WINBASEAPI VOID WINAPI MapGenericMask(PDWORD,PGENERIC_MAPPING);
-WINBASEAPI PVOID WINAPI MapViewOfFile(HANDLE,DWORD,DWORD,DWORD,DWORD);
-WINBASEAPI PVOID WINAPI MapViewOfFileEx(HANDLE,DWORD,DWORD,DWORD,DWORD,PVOID);
-WINBASEAPI BOOL WINAPI MoveFileA(LPCSTR,LPCSTR);
-WINBASEAPI BOOL WINAPI MoveFileExA(LPCSTR,LPCSTR,DWORD);
-WINBASEAPI BOOL WINAPI MoveFileExW(LPCWSTR,LPCWSTR,DWORD);
-WINBASEAPI BOOL WINAPI MoveFileW(LPCWSTR,LPCWSTR);
-WINBASEAPI int WINAPI MulDiv(int,int,int);
-WINBASEAPI BOOL WINAPI NotifyChangeEventLog(HANDLE,HANDLE);
-WINBASEAPI BOOL WINAPI ObjectCloseAuditAlarmA(LPCSTR,PVOID,BOOL);
-WINBASEAPI BOOL WINAPI ObjectCloseAuditAlarmW(LPCWSTR,PVOID,BOOL);
-WINBASEAPI BOOL WINAPI ObjectDeleteAuditAlarmA(LPCSTR,PVOID,BOOL);
-WINBASEAPI BOOL WINAPI ObjectDeleteAuditAlarmW(LPCWSTR,PVOID,BOOL);
-WINBASEAPI BOOL WINAPI ObjectOpenAuditAlarmA(LPCSTR,PVOID,LPSTR,LPSTR,PSECURITY_DESCRIPTOR,HANDLE,DWORD,DWORD,PPRIVILEGE_SET,BOOL,BOOL,PBOOL);
-WINBASEAPI BOOL WINAPI ObjectOpenAuditAlarmW(LPCWSTR,PVOID,LPWSTR,LPWSTR,PSECURITY_DESCRIPTOR,HANDLE,DWORD,DWORD,PPRIVILEGE_SET,BOOL,BOOL,PBOOL);
-WINBASEAPI BOOL WINAPI ObjectPrivilegeAuditAlarmA(LPCSTR,PVOID,HANDLE,DWORD,PPRIVILEGE_SET,BOOL);
-WINBASEAPI BOOL WINAPI ObjectPrivilegeAuditAlarmW(LPCWSTR,PVOID,HANDLE,DWORD,PPRIVILEGE_SET,BOOL);
-WINBASEAPI HANDLE WINAPI OpenBackupEventLogA(LPCSTR,LPCSTR);
-WINBASEAPI HANDLE WINAPI OpenBackupEventLogW(LPCWSTR,LPCWSTR);
-WINBASEAPI HANDLE WINAPI OpenEventA(DWORD,BOOL,LPCSTR);
-WINBASEAPI HANDLE WINAPI OpenEventLogA (LPCSTR,LPCSTR);
-WINBASEAPI HANDLE WINAPI OpenEventLogW(LPCWSTR,LPCWSTR);
-WINBASEAPI HANDLE WINAPI OpenEventW(DWORD,BOOL,LPCWSTR);
-WINBASEAPI HFILE WINAPI OpenFile(LPCSTR,LPOFSTRUCT,UINT);
-WINBASEAPI HANDLE WINAPI OpenFileMappingA(DWORD,BOOL,LPCSTR);
-WINBASEAPI HANDLE WINAPI OpenFileMappingW(DWORD,BOOL,LPCWSTR);
-WINBASEAPI HANDLE WINAPI OpenMutexA(DWORD,BOOL,LPCSTR);
-WINBASEAPI HANDLE WINAPI OpenMutexW(DWORD,BOOL,LPCWSTR);
-WINBASEAPI HANDLE WINAPI OpenProcess(DWORD,BOOL,DWORD);
-WINBASEAPI BOOL WINAPI OpenProcessToken(HANDLE,DWORD,PHANDLE);
-WINBASEAPI HANDLE WINAPI OpenSemaphoreA(DWORD,BOOL,LPCSTR);
-WINBASEAPI HANDLE WINAPI OpenSemaphoreW(DWORD,BOOL,LPCWSTR);
-#if (_WIN32_WINNT >= 0x0500) || (_WIN32_WINDOWS >= 0x0490)
-WINBASEAPI HANDLE WINAPI OpenThread(DWORD,BOOL,DWORD);
-#endif
-WINBASEAPI BOOL WINAPI OpenThreadToken(HANDLE,DWORD,BOOL,PHANDLE);
-WINBASEAPI HANDLE WINAPI OpenWaitableTimerA(DWORD,BOOL,LPCSTR);
-WINBASEAPI HANDLE WINAPI OpenWaitableTimerW(DWORD,BOOL,LPCWSTR);
-WINBASEAPI void WINAPI OutputDebugStringA(LPCSTR);
-WINBASEAPI void WINAPI OutputDebugStringW(LPCWSTR);
-WINBASEAPI BOOL WINAPI PeekNamedPipe(HANDLE,PVOID,DWORD,PDWORD,PDWORD,PDWORD);
-WINBASEAPI BOOL WINAPI PostQueuedCompletionStatus(HANDLE,DWORD,DWORD,LPOVERLAPPED);
-WINBASEAPI DWORD WINAPI PrepareTape(HANDLE,DWORD,BOOL);
-WINBASEAPI BOOL WINAPI PrivilegeCheck (HANDLE,PPRIVILEGE_SET,PBOOL);
-WINBASEAPI BOOL WINAPI PrivilegedServiceAuditAlarmA(LPCSTR,LPCSTR,HANDLE,PPRIVILEGE_SET,BOOL);
-WINBASEAPI BOOL WINAPI PrivilegedServiceAuditAlarmW(LPCWSTR,LPCWSTR,HANDLE,PPRIVILEGE_SET,BOOL);
-#if (_WIN32_WINNT >= 0x0500)
-WINBASEAPI BOOL WINAPI ProcessIdToSessionId(DWORD,DWORD*);
-#endif
-WINBASEAPI BOOL WINAPI PulseEvent(HANDLE);
-WINBASEAPI BOOL WINAPI PurgeComm(HANDLE,DWORD);
-#if (_WIN32_WINNT >= 0x0501)
-WINBASEAPI BOOL WINAPI QueryActCtxW(DWORD,HANDLE,PVOID,ULONG,PVOID,SIZE_T,SIZE_T*);
-#endif
-WINBASEAPI DWORD WINAPI QueryDosDeviceA(LPCSTR,LPSTR,DWORD);
-WINBASEAPI DWORD WINAPI QueryDosDeviceW(LPCWSTR,LPWSTR,DWORD);
-#if (_WIN32_WINNT >= 0x0501)
-WINBASEAPI BOOL WINAPI QueryMemoryResourceNotification(HANDLE,PBOOL);
-#endif
-WINBASEAPI BOOL WINAPI QueryPerformanceCounter(PLARGE_INTEGER);
-WINBASEAPI BOOL WINAPI QueryPerformanceFrequency(PLARGE_INTEGER);
-WINBASEAPI DWORD WINAPI QueueUserAPC(PAPCFUNC,HANDLE,DWORD);
-#if (_WIN32_WINNT >= 0x0500)
-WINBASEAPI BOOL WINAPI QueueUserWorkItem(LPTHREAD_START_ROUTINE,PVOID,ULONG);
-#endif
-WINBASEAPI void WINAPI RaiseException(DWORD,DWORD,DWORD,const DWORD*);
-WINBASEAPI BOOL WINAPI ReadDirectoryChangesW(HANDLE,PVOID,DWORD,BOOL,DWORD,PDWORD,LPOVERLAPPED,LPOVERLAPPED_COMPLETION_ROUTINE);
-WINBASEAPI BOOL WINAPI ReadEventLogA(HANDLE,DWORD,DWORD,PVOID,DWORD,DWORD *,DWORD *);
-WINBASEAPI BOOL WINAPI ReadEventLogW(HANDLE,DWORD,DWORD,PVOID,DWORD,DWORD *,DWORD *);
-WINBASEAPI BOOL WINAPI ReadFile(HANDLE,PVOID,DWORD,PDWORD,LPOVERLAPPED);
-WINBASEAPI BOOL WINAPI ReadFileEx(HANDLE,PVOID,DWORD,LPOVERLAPPED,LPOVERLAPPED_COMPLETION_ROUTINE);
-WINBASEAPI BOOL WINAPI ReadFileScatter(HANDLE,FILE_SEGMENT_ELEMENT*,DWORD,LPDWORD,LPOVERLAPPED);
-WINBASEAPI BOOL WINAPI ReadProcessMemory(HANDLE,PCVOID,PVOID,DWORD,PDWORD);
-WINBASEAPI HANDLE WINAPI RegisterEventSourceA (LPCSTR,LPCSTR);
-WINBASEAPI HANDLE WINAPI RegisterEventSourceW(LPCWSTR,LPCWSTR);
-#if (_WIN32_WINNT >= 0x0500)
-WINBASEAPI BOOL WINAPI RegisterWaitForSingleObject(PHANDLE,HANDLE,WAITORTIMERCALLBACK,PVOID,ULONG,ULONG);
-WINBASEAPI HANDLE WINAPI RegisterWaitForSingleObjectEx(HANDLE,WAITORTIMERCALLBACK,PVOID,ULONG,ULONG);
-#endif
-#if (_WIN32_WINNT >= 0x0501)
-WINBASEAPI void WINAPI ReleaseActCtx(HANDLE);
-#endif
-WINBASEAPI BOOL WINAPI ReleaseMutex(HANDLE);
-WINBASEAPI BOOL WINAPI ReleaseSemaphore(HANDLE,LONG,LPLONG);
-WINBASEAPI BOOL WINAPI RemoveDirectoryA(LPCSTR);
-WINBASEAPI BOOL WINAPI RemoveDirectoryW(LPCWSTR);
-#if (_WIN32_WINNT >= 0x0500)
-WINBASEAPI ULONG WINAPI RemoveVectoredExceptionHandler(PVOID);
-#endif
-#if (_WIN32_WINNT >= 0x0500)
-WINBASEAPI BOOL WINAPI ReplaceFileA(LPCSTR,LPCSTR,LPCSTR,DWORD,LPVOID,LPVOID);
-WINBASEAPI BOOL WINAPI ReplaceFileW(LPCWSTR,LPCWSTR,LPCWSTR,DWORD,LPVOID,LPVOID);
-#endif
-WINBASEAPI BOOL WINAPI ReportEventA(HANDLE,WORD,WORD,DWORD,PSID,WORD,DWORD,LPCSTR*,PVOID);
-WINBASEAPI BOOL WINAPI ReportEventW(HANDLE,WORD,WORD,DWORD,PSID,WORD,DWORD,LPCWSTR*,PVOID);
-WINBASEAPI BOOL WINAPI ResetEvent(HANDLE);
-WINBASEAPI UINT WINAPI ResetWriteWatch(LPVOID,SIZE_T);
-#if (_WIN32_WINNT >= 0x0510)
-WINBASEAPI VOID WINAPI RestoreLastError(DWORD);
-#endif
-WINBASEAPI DWORD WINAPI ResumeThread(HANDLE);
-WINBASEAPI BOOL WINAPI RevertToSelf(void);
-WINBASEAPI DWORD WINAPI SearchPathA(LPCSTR,LPCSTR,LPCSTR,DWORD,LPSTR,LPSTR*);
-WINBASEAPI DWORD WINAPI SearchPathW(LPCWSTR,LPCWSTR,LPCWSTR,DWORD,LPWSTR,LPWSTR*);
-WINBASEAPI BOOL WINAPI SetAclInformation(PACL,PVOID,DWORD,ACL_INFORMATION_CLASS);
-WINBASEAPI BOOL WINAPI SetCommBreak(HANDLE);
-WINBASEAPI BOOL WINAPI SetCommConfig(HANDLE,LPCOMMCONFIG,DWORD);
-WINBASEAPI BOOL WINAPI SetCommMask(HANDLE,DWORD);
-WINBASEAPI BOOL WINAPI SetCommState(HANDLE,LPDCB);
-WINBASEAPI BOOL WINAPI SetCommTimeouts(HANDLE,LPCOMMTIMEOUTS);
-WINBASEAPI BOOL WINAPI SetComputerNameA(LPCSTR);
-WINBASEAPI BOOL WINAPI SetComputerNameW(LPCWSTR);
-#if (_WIN32_WINNT >= 0x0500)
-WINBASEAPI BOOL WINAPI SetComputerNameExA(COMPUTER_NAME_FORMAT,LPCSTR);
-WINBASEAPI BOOL WINAPI SetComputerNameExW(COMPUTER_NAME_FORMAT,LPCWSTR);
-#endif
-WINBASEAPI BOOL WINAPI SetCurrentDirectoryA(LPCSTR);
-WINBASEAPI BOOL WINAPI SetCurrentDirectoryW(LPCWSTR);
-WINBASEAPI BOOL WINAPI SetDefaultCommConfigA(LPCSTR,LPCOMMCONFIG,DWORD);
-WINBASEAPI BOOL WINAPI SetDefaultCommConfigW(LPCWSTR,LPCOMMCONFIG,DWORD);
-#if (_WIN32_WINNT >= 0x0502)
-WINBASEAPI BOOL WINAPI SetDllDirectoryA(LPCSTR);
-WINBASEAPI BOOL WINAPI SetDllDirectoryW(LPCWSTR);
-#endif
-WINBASEAPI BOOL WINAPI SetEndOfFile(HANDLE);
-WINBASEAPI BOOL WINAPI SetEnvironmentVariableA(LPCSTR,LPCSTR);
-WINBASEAPI BOOL WINAPI SetEnvironmentVariableW(LPCWSTR,LPCWSTR);
-WINBASEAPI UINT WINAPI SetErrorMode(UINT);
-WINBASEAPI BOOL WINAPI SetEvent(HANDLE);
-WINBASEAPI VOID WINAPI SetFileApisToANSI(void);
-WINBASEAPI VOID WINAPI SetFileApisToOEM(void);
-WINBASEAPI BOOL WINAPI SetFileAttributesA(LPCSTR,DWORD);
-WINBASEAPI BOOL WINAPI SetFileAttributesW(LPCWSTR,DWORD);
-WINBASEAPI DWORD WINAPI SetFilePointer(HANDLE,LONG,PLONG,DWORD);
-WINBASEAPI BOOL WINAPI SetFilePointerEx(HANDLE,LARGE_INTEGER,PLARGE_INTEGER,DWORD);
-WINBASEAPI BOOL WINAPI SetFileSecurityA(LPCSTR,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR);
-WINBASEAPI BOOL WINAPI SetFileSecurityW(LPCWSTR,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR);
-#if (_WIN32_WINNT >= 0x0501)
-WINBASEAPI BOOL WINAPI SetFileShortNameA(HANDLE,LPCSTR);
-WINBASEAPI BOOL WINAPI SetFileShortNameW(HANDLE,LPCWSTR);
-#endif
-WINBASEAPI BOOL WINAPI SetFileTime(HANDLE,const FILETIME*,const FILETIME*,const FILETIME*);
-#if (_WIN32_WINNT >= 0x0501)
-WINBASEAPI BOOL WINAPI SetFileValidData(HANDLE,LONGLONG);
-#endif
-#if (_WIN32_WINNT >= 0x0502)
-WINBASEAPI BOOL WINAPI SetFirmwareEnvironmentVariableA(LPCSTR,LPCSTR,PVOID,DWORD);
-WINBASEAPI BOOL WINAPI SetFirmwareEnvironmentVariableW(LPCWSTR,LPCWSTR,PVOID,DWORD);
-#endif
-WINBASEAPI UINT WINAPI SetHandleCount(UINT);
-WINBASEAPI BOOL WINAPI SetHandleInformation(HANDLE,DWORD,DWORD);
-WINBASEAPI BOOL WINAPI SetKernelObjectSecurity(HANDLE,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR);
-WINBASEAPI void WINAPI SetLastError(DWORD);
-WINBASEAPI void WINAPI SetLastErrorEx(DWORD,DWORD);
-WINBASEAPI BOOL WINAPI SetLocalTime(const SYSTEMTIME*);
-WINBASEAPI BOOL WINAPI SetMailslotInfo(HANDLE,DWORD);
-WINBASEAPI BOOL WINAPI SetNamedPipeHandleState(HANDLE,PDWORD,PDWORD,PDWORD);
-WINBASEAPI BOOL WINAPI SetPriorityClass(HANDLE,DWORD);
-WINBASEAPI BOOL WINAPI SetPrivateObjectSecurity(SECURITY_INFORMATION,PSECURITY_DESCRIPTOR,PSECURITY_DESCRIPTOR *,PGENERIC_MAPPING,HANDLE);
-WINBASEAPI BOOL WINAPI SetProcessAffinityMask(HANDLE,DWORD);
-WINBASEAPI BOOL WINAPI SetProcessPriorityBoost(HANDLE,BOOL);
-WINBASEAPI BOOL WINAPI SetProcessShutdownParameters(DWORD,DWORD);
-WINBASEAPI BOOL WINAPI SetProcessWorkingSetSize(HANDLE,DWORD,DWORD);
-WINBASEAPI BOOL WINAPI SetSecurityDescriptorControl(PSECURITY_DESCRIPTOR,SECURITY_DESCRIPTOR_CONTROL,SECURITY_DESCRIPTOR_CONTROL);
-WINBASEAPI BOOL WINAPI SetSecurityDescriptorDacl(PSECURITY_DESCRIPTOR,BOOL,PACL,BOOL);
-WINBASEAPI BOOL WINAPI SetSecurityDescriptorGroup(PSECURITY_DESCRIPTOR,PSID,BOOL);
-WINBASEAPI BOOL WINAPI SetSecurityDescriptorOwner(PSECURITY_DESCRIPTOR,PSID,BOOL);
-WINBASEAPI BOOL WINAPI SetSecurityDescriptorSacl(PSECURITY_DESCRIPTOR,BOOL,PACL,BOOL);
-WINBASEAPI BOOL WINAPI SetStdHandle(DWORD,HANDLE);
-#define SetSwapAreaSize(w) (w)
-WINBASEAPI BOOL WINAPI SetSystemPowerState(BOOL,BOOL);
-WINBASEAPI BOOL WINAPI SetSystemTime(const SYSTEMTIME*);
-WINBASEAPI BOOL WINAPI SetSystemTimeAdjustment(DWORD,BOOL);
-WINBASEAPI DWORD WINAPI SetTapeParameters(HANDLE,DWORD,PVOID);
-WINBASEAPI DWORD WINAPI SetTapePosition(HANDLE,DWORD,DWORD,DWORD,DWORD,BOOL);
-WINBASEAPI DWORD WINAPI SetThreadAffinityMask(HANDLE,DWORD);
-WINBASEAPI BOOL WINAPI SetThreadContext(HANDLE,const CONTEXT*);
-#if (_WIN32_WINNT >= 0x0500 || _WIN32_WINDOWS >= 0x0410)
-WINBASEAPI EXECUTION_STATE WINAPI SetThreadExecutionState(EXECUTION_STATE);
-#endif
-WINBASEAPI DWORD WINAPI SetThreadIdealProcessor(HANDLE,DWORD);
-WINBASEAPI BOOL WINAPI SetThreadPriority(HANDLE,int);
-WINBASEAPI BOOL WINAPI SetThreadPriorityBoost(HANDLE,BOOL);
-WINBASEAPI BOOL WINAPI SetThreadToken (PHANDLE,HANDLE);
-WINBASEAPI BOOL WINAPI SetTimeZoneInformation(const TIME_ZONE_INFORMATION *);
-WINBASEAPI BOOL WINAPI SetTokenInformation(HANDLE,TOKEN_INFORMATION_CLASS,PVOID,DWORD);
-WINBASEAPI LPTOP_LEVEL_EXCEPTION_FILTER WINAPI SetUnhandledExceptionFilter(LPTOP_LEVEL_EXCEPTION_FILTER);
-WINBASEAPI BOOL WINAPI SetupComm(HANDLE,DWORD,DWORD);
-WINBASEAPI BOOL WINAPI SetVolumeLabelA(LPCSTR,LPCSTR);
-WINBASEAPI BOOL WINAPI SetVolumeLabelW(LPCWSTR,LPCWSTR);
-#if (_WIN32_WINNT >= 0x0500)
-WINBASEAPI BOOL WINAPI SetVolumeMountPointA(LPCSTR,LPCSTR);
-WINBASEAPI BOOL WINAPI SetVolumeMountPointW(LPCWSTR,LPCWSTR);
-#endif
-WINBASEAPI BOOL WINAPI SetWaitableTimer(HANDLE,const LARGE_INTEGER*,LONG,PTIMERAPCROUTINE,PVOID,BOOL);
-WINBASEAPI DWORD WINAPI SignalObjectAndWait(HANDLE,HANDLE,DWORD,BOOL);
-WINBASEAPI DWORD WINAPI SizeofResource(HINSTANCE,HRSRC);
-WINBASEAPI void WINAPI Sleep(DWORD);
-WINBASEAPI DWORD WINAPI SleepEx(DWORD,BOOL);
-WINBASEAPI DWORD WINAPI SuspendThread(HANDLE);
-WINBASEAPI void WINAPI SwitchToFiber(PVOID);
-WINBASEAPI BOOL WINAPI SwitchToThread(void);
-WINBASEAPI BOOL WINAPI SystemTimeToFileTime(const SYSTEMTIME*,LPFILETIME);
-WINBASEAPI BOOL WINAPI SystemTimeToTzSpecificLocalTime(LPTIME_ZONE_INFORMATION,LPSYSTEMTIME,LPSYSTEMTIME);
-WINBASEAPI BOOL WINAPI TerminateProcess(HANDLE,UINT);
-WINBASEAPI BOOL WINAPI TerminateThread(HANDLE,DWORD);
-WINBASEAPI DWORD WINAPI TlsAlloc(VOID);
-WINBASEAPI BOOL WINAPI TlsFree(DWORD);
-WINBASEAPI PVOID WINAPI TlsGetValue(DWORD);
-WINBASEAPI BOOL WINAPI TlsSetValue(DWORD,PVOID);
-WINBASEAPI BOOL WINAPI TransactNamedPipe(HANDLE,PVOID,DWORD,PVOID,DWORD,PDWORD,LPOVERLAPPED);
-WINBASEAPI BOOL WINAPI TransmitCommChar(HANDLE,char);
-WINBASEAPI BOOL WINAPI TryEnterCriticalSection(LPCRITICAL_SECTION);
-WINBASEAPI LONG WINAPI UnhandledExceptionFilter(LPEXCEPTION_POINTERS);
-WINBASEAPI BOOL WINAPI UnlockFile(HANDLE,DWORD,DWORD,DWORD,DWORD);
-WINBASEAPI BOOL WINAPI UnlockFileEx(HANDLE,DWORD,DWORD,DWORD,LPOVERLAPPED);
-#define UnlockResource(h) (h)
-#define UnlockSegment(w) GlobalUnfix((HANDLE)(w)) /* Obsolete: Has no effect. */
-WINBASEAPI BOOL WINAPI UnmapViewOfFile(PVOID);
-#if (_WIN32_WINNT >= 0x0500)
-WINBASEAPI BOOL WINAPI UnregisterWaitEx(HANDLE,HANDLE);
-#endif
-WINBASEAPI BOOL WINAPI UpdateResourceA(HANDLE,LPCSTR,LPCSTR,WORD,PVOID,DWORD);
-WINBASEAPI BOOL WINAPI UpdateResourceW(HANDLE,LPCWSTR,LPCWSTR,WORD,PVOID,DWORD);
-WINBASEAPI BOOL WINAPI VerifyVersionInfoA(LPOSVERSIONINFOEXA,DWORD,DWORDLONG);
-WINBASEAPI BOOL WINAPI VerifyVersionInfoW(LPOSVERSIONINFOEXW,DWORD,DWORDLONG);
-WINBASEAPI PVOID WINAPI VirtualAlloc(PVOID,DWORD,DWORD,DWORD);
-WINBASEAPI PVOID WINAPI VirtualAllocEx(HANDLE,PVOID,DWORD,DWORD,DWORD);
-WINBASEAPI BOOL WINAPI VirtualFree(PVOID,DWORD,DWORD);
-WINBASEAPI BOOL WINAPI VirtualFreeEx(HANDLE,PVOID,DWORD,DWORD);
-WINBASEAPI BOOL WINAPI VirtualLock(PVOID,DWORD);
-WINBASEAPI BOOL WINAPI VirtualProtect(PVOID,DWORD,DWORD,PDWORD);
-WINBASEAPI BOOL WINAPI VirtualProtectEx(HANDLE,PVOID,DWORD,DWORD,PDWORD);
-WINBASEAPI DWORD WINAPI VirtualQuery(LPCVOID,PMEMORY_BASIC_INFORMATION,DWORD);
-WINBASEAPI DWORD WINAPI VirtualQueryEx(HANDLE,LPCVOID,PMEMORY_BASIC_INFORMATION,DWORD);
-WINBASEAPI BOOL WINAPI VirtualUnlock(PVOID,DWORD);
-WINBASEAPI BOOL WINAPI WaitCommEvent(HANDLE,PDWORD,LPOVERLAPPED);
-WINBASEAPI BOOL WINAPI WaitForDebugEvent(LPDEBUG_EVENT,DWORD);
-WINBASEAPI DWORD WINAPI WaitForMultipleObjects(DWORD,const HANDLE*,BOOL,DWORD);
-WINBASEAPI DWORD WINAPI WaitForMultipleObjectsEx(DWORD,const HANDLE*,BOOL,DWORD,BOOL);
-WINBASEAPI DWORD WINAPI WaitForSingleObject(HANDLE,DWORD);
-WINBASEAPI DWORD WINAPI WaitForSingleObjectEx(HANDLE,DWORD,BOOL);
-WINBASEAPI BOOL WINAPI WaitNamedPipeA(LPCSTR,DWORD);
-WINBASEAPI BOOL WINAPI WaitNamedPipeW(LPCWSTR,DWORD);
-WINBASEAPI BOOL WINAPI WinLoadTrustProvider(GUID*);
-WINBASEAPI BOOL WINAPI WriteFile(HANDLE,PCVOID,DWORD,PDWORD,LPOVERLAPPED);
-WINBASEAPI BOOL WINAPI WriteFileEx(HANDLE,PCVOID,DWORD,LPOVERLAPPED,LPOVERLAPPED_COMPLETION_ROUTINE);
-WINBASEAPI BOOL WINAPI WriteFileGather(HANDLE,FILE_SEGMENT_ELEMENT*,DWORD,LPDWORD,LPOVERLAPPED);
-WINBASEAPI BOOL WINAPI WritePrivateProfileSectionA(LPCSTR,LPCSTR,LPCSTR);
-WINBASEAPI BOOL WINAPI WritePrivateProfileSectionW(LPCWSTR,LPCWSTR,LPCWSTR);
-WINBASEAPI BOOL WINAPI WritePrivateProfileStringA(LPCSTR,LPCSTR,LPCSTR,LPCSTR);
-WINBASEAPI BOOL WINAPI WritePrivateProfileStringW(LPCWSTR,LPCWSTR,LPCWSTR,LPCWSTR);
-WINBASEAPI BOOL WINAPI WritePrivateProfileStructA(LPCSTR,LPCSTR,LPVOID,UINT,LPCSTR);
-WINBASEAPI BOOL WINAPI WritePrivateProfileStructW(LPCWSTR,LPCWSTR,LPVOID,UINT,LPCWSTR);
-WINBASEAPI BOOL WINAPI WriteProcessMemory(HANDLE,LPVOID,LPCVOID,SIZE_T,SIZE_T*);
-WINBASEAPI BOOL WINAPI WriteProfileSectionA(LPCSTR,LPCSTR);
-WINBASEAPI BOOL WINAPI WriteProfileSectionW(LPCWSTR,LPCWSTR);
-WINBASEAPI BOOL WINAPI WriteProfileStringA(LPCSTR,LPCSTR,LPCSTR);
-WINBASEAPI BOOL WINAPI WriteProfileStringW(LPCWSTR,LPCWSTR,LPCWSTR);
-WINBASEAPI DWORD WINAPI WriteTapemark(HANDLE,DWORD,DWORD,BOOL);
-#define Yield()
-#if (_WIN32_WINNT >= 0x0501)
-WINBASEAPI BOOL WINAPI ZombifyActCtx(HANDLE);
-#endif
-#if (_WIN32_WINNT >= 0x0500)
-WINBASEAPI BOOL WINAPI AllocateUserPhysicalPages(HANDLE,PULONG_PTR,PULONG_PTR);
-WINBASEAPI BOOL WINAPI FreeUserPhysicalPages(HANDLE,PULONG_PTR,PULONG_PTR);
-WINBASEAPI BOOL WINAPI MapUserPhysicalPages(PVOID,ULONG_PTR,PULONG_PTR);
-WINBASEAPI BOOL WINAPI MapUserPhysicalPagesScatter(PVOID*,ULONG_PTR,PULONG_PTR);
-#endif
-
-#ifdef UNICODE
-typedef STARTUPINFOW STARTUPINFO,*LPSTARTUPINFO;
-typedef WIN32_FIND_DATAW WIN32_FIND_DATA,*PWIN32_FIND_DATA,*LPWIN32_FIND_DATA;
-typedef HW_PROFILE_INFOW HW_PROFILE_INFO,*LPHW_PROFILE_INFO;
-#if (_WIN32_WINNT >= 0x0501)
-typedef ACTCTXW ACTCTX,*PACTCTX;
-typedef PCACTCTXW PCACTCTX;
-#endif
-#define AccessCheckAndAuditAlarm AccessCheckAndAuditAlarmW
-#define AddAtom AddAtomW
-#define BackupEventLog BackupEventLogW
-#define BeginUpdateResource BeginUpdateResourceW
-#define BuildCommDCB BuildCommDCBW
-#define BuildCommDCBAndTimeouts BuildCommDCBAndTimeoutsW
-#define CallNamedPipe CallNamedPipeW
-#if (_WIN32_WINNT >= 0x0501)
-#define CheckNameLegalDOS8Dot3 CheckNameLegalDOS8Dot3W
-#endif
-#define ClearEventLog ClearEventLogW
-#define CommConfigDialog CommConfigDialogW
-#define CopyFile CopyFileW
-#define CopyFileEx CopyFileExW
-#if (_WIN32_WINNT >= 0x0501)
-#define CreateActCtx CreateActCtxW
-#endif
-#define CreateDirectory CreateDirectoryW
-#define CreateDirectoryEx CreateDirectoryExW
-#define CreateEvent CreateEventW
-#define CreateFile CreateFileW
-#define CreateFileMapping CreateFileMappingW
-#if (_WIN32_WINNT >= 0x0500)
-#define CreateHardLink CreateHardLinkW
-#define CreateJobObject CreateJobObjectW
-#endif
-#define CreateMailslot CreateMailslotW
-#define CreateMutex CreateMutexW
-#define CreateNamedPipe CreateNamedPipeW
-#define CreateProcess CreateProcessW
-#define CreateProcessAsUser CreateProcessAsUserW
-#define CreateSemaphore CreateSemaphoreW
-#define CreateWaitableTimer CreateWaitableTimerW
-#define DefineDosDevice DefineDosDeviceW
-#define DeleteFile DeleteFileW
-#if (_WIN32_WINNT >= 0x0500)
-#define DeleteVolumeMountPoint DeleteVolumeMountPointW
-#define DnsHostnameToComputerName DnsHostnameToComputerNameW
-#endif
-#define EncryptFile EncryptFileW
-#define EndUpdateResource EndUpdateResourceW
-#define EnumResourceLanguages EnumResourceLanguagesW
-#define EnumResourceNames EnumResourceNamesW
-#define EnumResourceTypes EnumResourceTypesW
-#define ExpandEnvironmentStrings ExpandEnvironmentStringsW
-#define FatalAppExit FatalAppExitW
-#define FileEncryptionStatus FileEncryptionStatusW
-#if (_WIN32_WINNT >= 0x0501)
-#define FindActCtxSectionString FindActCtxSectionStringW
-#endif
-#define FindAtom FindAtomW
-#define FindFirstChangeNotification FindFirstChangeNotificationW
-#define FindFirstFile FindFirstFileW
-#define FindFirstFileEx FindFirstFileExW
-#if (_WIN32_WINNT >= 0x0500)
-#define FindFirstVolume FindFirstVolumeW
-#define FindFirstVolumeMountPoint FindFirstVolumeMountPointW
-#endif
-#define FindNextFile FindNextFileW
-#if (_WIN32_WINNT >= 0x0500)
-#define FindNextVolume FindNextVolumeW
-#define FindNextVolumeMountPoint FindNextVolumeMountPointW
-#endif
-#define FindResource FindResourceW
-#define FindResourceEx FindResourceExW
-#define FormatMessage FormatMessageW
-#define FreeEnvironmentStrings FreeEnvironmentStringsW
-#define GetAtomName GetAtomNameW
-#define GetBinaryType GetBinaryTypeW
-#define GetCommandLine GetCommandLineW
-#define GetCompressedFileSize GetCompressedFileSizeW
-#define GetComputerName GetComputerNameW
-#define GetCurrentDirectory GetCurrentDirectoryW
-#define GetDefaultCommConfig GetDefaultCommConfigW
-#define GetDiskFreeSpace GetDiskFreeSpaceW
-#define GetDiskFreeSpaceEx GetDiskFreeSpaceExW
-#if (_WIN32_WINNT >= 0x0502)
-#define GetDllDirectory GetDllDirectoryW
-#endif
-#define GetDriveType GetDriveTypeW
-#define GetEnvironmentStrings GetEnvironmentStringsW
-#define GetEnvironmentVariable GetEnvironmentVariableW
-#define GetFileAttributes GetFileAttributesW
-#define GetFileSecurity GetFileSecurityW
-#define GetFileAttributesEx GetFileAttributesExW
-#define GetFullPathName GetFullPathNameW
-#define GetLogicalDriveStrings GetLogicalDriveStringsW
-#if (_WIN32_WINNT >= 0x0500 || _WIN32_WINDOWS >= 0x0410)
-#define GetLongPathName GetLongPathNameW
-#endif
-#define GetModuleFileName GetModuleFileNameW
-#define GetModuleHandle GetModuleHandleW
-#if (_WIN32_WINNT >= 0x0500)
-#define GetModuleHandleEx GetModuleHandleExW
-#endif
-#define GetNamedPipeHandleState GetNamedPipeHandleStateW
-#define GetPrivateProfileInt GetPrivateProfileIntW
-#define GetPrivateProfileSection GetPrivateProfileSectionW
-#define GetPrivateProfileSectionNames GetPrivateProfileSectionNamesW
-#define GetPrivateProfileString GetPrivateProfileStringW
-#define GetPrivateProfileStruct GetPrivateProfileStructW
-#define GetProfileInt GetProfileIntW
-#define GetProfileSection GetProfileSectionW
-#define GetProfileString GetProfileStringW
-#define GetShortPathName GetShortPathNameW
-#define GetStartupInfo GetStartupInfoW
-#define GetSystemDirectory GetSystemDirectoryW
-#if (_WIN32_WINNT >= 0x0500)
-#define GetSystemWindowsDirectory GetSystemWindowsDirectoryW
-#endif
-#if (_WIN32_WINNT >= 0x0501)
-#define GetSystemWow64Directory GetSystemWow64DirectoryW
-#endif
-#define GetTempFileName GetTempFileNameW
-#define GetTempPath GetTempPathW
-#define GetUserName GetUserNameW
-#define GetVersionEx GetVersionExW
-#define GetVolumeInformation GetVolumeInformationW
-#define GetVolumeNameForVolumeMountPoint GetVolumeNameForVolumeMountPointW
-#define GetVolumePathName GetVolumePathNameW
-#define GetVolumePathNamesForVolumeName GetVolumePathNamesForVolumeNameW
-#define GetWindowsDirectory GetWindowsDirectoryW
-#define GlobalAddAtom GlobalAddAtomW
-#define GlobalFindAtom GlobalFindAtomW
-#define GlobalGetAtomName GlobalGetAtomNameW
-#define IsBadStringPtr IsBadStringPtrW
-#define LoadLibrary LoadLibraryW
-#define LoadLibraryEx LoadLibraryExW
-#define LogonUser LogonUserW
-#define LookupAccountName LookupAccountNameW
-#define LookupAccountSid LookupAccountSidW
-#define LookupPrivilegeDisplayName LookupPrivilegeDisplayNameW
-#define LookupPrivilegeName LookupPrivilegeNameW
-#define LookupPrivilegeValue LookupPrivilegeValueW
-#define lstrcat lstrcatW
-#define lstrcmp lstrcmpW
-#define lstrcmpi lstrcmpiW
-#define lstrcpy lstrcpyW
-#define lstrcpyn lstrcpynW
-#define lstrlen lstrlenW
-#define MoveFile MoveFileW
-#define MoveFileEx MoveFileExW
-#define ObjectCloseAuditAlarm ObjectCloseAuditAlarmW
-#define ObjectDeleteAuditAlarm ObjectDeleteAuditAlarmW
-#define ObjectOpenAuditAlarm ObjectOpenAuditAlarmW
-#define ObjectPrivilegeAuditAlarm ObjectPrivilegeAuditAlarmW
-#define OpenBackupEventLog OpenBackupEventLogW
-#define OpenEvent OpenEventW
-#define OpenEventLog OpenEventLogW
-#define OpenFileMapping OpenFileMappingW
-#define OpenMutex OpenMutexW
-#define OpenSemaphore OpenSemaphoreW
-#define OutputDebugString OutputDebugStringW
-#define PrivilegedServiceAuditAlarm PrivilegedServiceAuditAlarmW
-#define QueryDosDevice QueryDosDeviceW
-#define ReadEventLog ReadEventLogW
-#define RegisterEventSource RegisterEventSourceW
-#define RemoveDirectory RemoveDirectoryW
-#if (_WIN32_WINNT >= 0x0500)
-#define ReplaceFile ReplaceFileW
-#endif
-#define ReportEvent ReportEventW
-#define SearchPath SearchPathW
-#define SetComputerName SetComputerNameW
-#define SetCurrentDirectory SetCurrentDirectoryW
-#define SetDefaultCommConfig SetDefaultCommConfigW
-#if (_WIN32_WINNT >= 0x0502)
-#define SetDllDirectory SetDllDirectoryW
-#endif
-#define SetEnvironmentVariable SetEnvironmentVariableW
-#define SetFileAttributes SetFileAttributesW
-#define SetFileSecurity SetFileSecurityW
-#if (_WIN32_WINNT >= 0x0501)
-#define SetFileShortName SetFileShortNameW
-#endif
-#if (_WIN32_WINNT >= 0x0502)
-#define SetFirmwareEnvironmentVariable SetFirmwareEnvironmentVariableW
-#endif
-#define SetVolumeLabel SetVolumeLabelW
-#define SetVolumeMountPoint SetVolumeMountPointW
-#define UpdateResource UpdateResourceW
-#define VerifyVersionInfo VerifyVersionInfoW
-#define WaitNamedPipe WaitNamedPipeW
-#define WritePrivateProfileSection WritePrivateProfileSectionW
-#define WritePrivateProfileString WritePrivateProfileStringW
-#define WritePrivateProfileStruct WritePrivateProfileStructW
-#define WriteProfileSection WriteProfileSectionW
-#define WriteProfileString WriteProfileStringW
-#else
-typedef STARTUPINFOA STARTUPINFO,*LPSTARTUPINFO;
-typedef WIN32_FIND_DATAA WIN32_FIND_DATA,*PWIN32_FIND_DATA,*LPWIN32_FIND_DATA;
-typedef HW_PROFILE_INFOA HW_PROFILE_INFO,*LPHW_PROFILE_INFO;
-#if (_WIN32_WINNT >= 0x0501)
-typedef ACTCTXA ACTCTX,*PACTCTX;
-typedef PCACTCTXA PCACTCTX;
-#endif
-#define AccessCheckAndAuditAlarm AccessCheckAndAuditAlarmA
-#define AddAtom AddAtomA
-#define BackupEventLog BackupEventLogA
-#define BeginUpdateResource BeginUpdateResourceA
-#define BuildCommDCB BuildCommDCBA
-#define BuildCommDCBAndTimeouts BuildCommDCBAndTimeoutsA
-#define CallNamedPipe CallNamedPipeA
-#if (_WIN32_WINNT >= 0x0501)
-#define CheckNameLegalDOS8Dot3 CheckNameLegalDOS8Dot3A
-#endif
-#define ClearEventLog ClearEventLogA
-#define CommConfigDialog CommConfigDialogA
-#define CopyFile CopyFileA
-#define CopyFileEx CopyFileExA
-#if (_WIN32_WINNT >= 0x0501)
-#define CreateActCtx CreateActCtxA
-#endif
-#define CreateDirectory CreateDirectoryA
-#define CreateDirectoryEx CreateDirectoryExA
-#define CreateEvent CreateEventA
-#define CreateFile CreateFileA
-#define CreateFileMapping CreateFileMappingA
-#if (_WIN32_WINNT >= 0x0500)
-#define CreateHardLink CreateHardLinkA
-#define CreateJobObject CreateJobObjectA
-#endif
-#define CreateMailslot CreateMailslotA
-#define CreateMutex CreateMutexA
-#define CreateNamedPipe CreateNamedPipeA
-#define CreateProcess CreateProcessA
-#define CreateProcessAsUser CreateProcessAsUserA
-#define CreateSemaphore CreateSemaphoreA
-#define CreateWaitableTimer CreateWaitableTimerA
-#define DefineDosDevice DefineDosDeviceA
-#define DeleteFile DeleteFileA
-#if (_WIN32_WINNT >= 0x0500)
-#define DeleteVolumeMountPoint DeleteVolumeMountPointA
-#define DnsHostnameToComputerName DnsHostnameToComputerNameA
-#endif
-#define EncryptFile EncryptFileA
-#define EndUpdateResource EndUpdateResourceA
-#define EnumResourceLanguages EnumResourceLanguagesA
-#define EnumResourceNames EnumResourceNamesA
-#define EnumResourceTypes EnumResourceTypesA
-#define ExpandEnvironmentStrings ExpandEnvironmentStringsA
-#define FatalAppExit FatalAppExitA
-#define FileEncryptionStatus FileEncryptionStatusA
-#if (_WIN32_WINNT >= 0x0501)
-#define FindActCtxSectionString FindActCtxSectionStringA
-#endif
-#define FindAtom FindAtomA
-#define FindFirstChangeNotification FindFirstChangeNotificationA
-#define FindFirstFile FindFirstFileA
-#define FindFirstFileEx FindFirstFileExA
-#if (_WIN32_WINNT >= 0x0500)
-#define FindFirstVolume FindFirstVolumeA
-#define FindFirstVolumeMountPoint FindFirstVolumeMountPointA
-#endif
-#define FindNextFile FindNextFileA
-#if (_WIN32_WINNT >= 0x0500)
-#define FindNextVolume FindNextVolumeA
-#define FindNextVolumeMountPoint FindNextVolumeMountPointA
-#endif
-#define FindResource FindResourceA
-#define FindResourceEx FindResourceExA
-#define FormatMessage FormatMessageA
-#define FreeEnvironmentStrings FreeEnvironmentStringsA
-#define GetAtomName GetAtomNameA
-#define GetBinaryType GetBinaryTypeA
-#define GetCommandLine GetCommandLineA
-#define GetComputerName GetComputerNameA
-#define GetCompressedFileSize GetCompressedFileSizeA
-#define GetCurrentDirectory GetCurrentDirectoryA
-#define GetDefaultCommConfig GetDefaultCommConfigA
-#define GetDiskFreeSpace GetDiskFreeSpaceA
-#define GetDiskFreeSpaceEx GetDiskFreeSpaceExA
-#if (_WIN32_WINNT >= 0x0502)
-#define GetDllDirectory GetDllDirectoryA
-#endif
-#define GetDriveType GetDriveTypeA
-#define GetEnvironmentVariable GetEnvironmentVariableA
-#define GetFileAttributes GetFileAttributesA
-#define GetFileSecurity GetFileSecurityA
-#define GetFileAttributesEx GetFileAttributesExA
-#define GetFullPathName GetFullPathNameA
-#define GetLogicalDriveStrings GetLogicalDriveStringsA
-#if (_WIN32_WINNT >= 0x0500 || _WIN32_WINDOWS >= 0x0410)
-#define GetLongPathName GetLongPathNameA
-#endif
-#define GetNamedPipeHandleState GetNamedPipeHandleStateA
-#define GetModuleHandle GetModuleHandleA
-#if (_WIN32_WINNT >= 0x0500)
-#define GetModuleHandleEx GetModuleHandleExA
-#endif
-#define GetModuleFileName GetModuleFileNameA
-#define GetPrivateProfileInt GetPrivateProfileIntA
-#define GetPrivateProfileSection GetPrivateProfileSectionA
-#define GetPrivateProfileSectionNames GetPrivateProfileSectionNamesA
-#define GetPrivateProfileString GetPrivateProfileStringA
-#define GetPrivateProfileStruct GetPrivateProfileStructA
-#define GetProfileInt GetProfileIntA
-#define GetProfileSection GetProfileSectionA
-#define GetProfileString GetProfileStringA
-#define GetShortPathName GetShortPathNameA
-#define GetStartupInfo GetStartupInfoA
-#define GetSystemDirectory GetSystemDirectoryA
-#if (_WIN32_WINNT >= 0x0500)
-#define GetSystemWindowsDirectory GetSystemWindowsDirectoryA
-#endif
-#if (_WIN32_WINNT >= 0x0501)
-#define GetSystemWow64Directory GetSystemWow64DirectoryA
-#endif
-#define GetTempFileName GetTempFileNameA
-#define GetTempPath GetTempPathA
-#define GetUserName GetUserNameA
-#define GetVersionEx GetVersionExA
-#define GetVolumeInformation GetVolumeInformationA
-#define GetVolumeNameForVolumeMountPoint GetVolumeNameForVolumeMountPointA
-#define GetVolumePathName GetVolumePathNameA
-#define GetVolumePathNamesForVolumeName GetVolumePathNamesForVolumeNameA
-#define GetWindowsDirectory GetWindowsDirectoryA
-#define GlobalAddAtom GlobalAddAtomA
-#define GlobalFindAtom GlobalFindAtomA
-#define GlobalGetAtomName GlobalGetAtomNameA
-#define IsBadStringPtr IsBadStringPtrA
-#define LoadLibrary LoadLibraryA
-#define LoadLibraryEx LoadLibraryExA
-#define LogonUser LogonUserA
-#define LookupAccountName LookupAccountNameA
-#define LookupAccountSid LookupAccountSidA
-#define LookupPrivilegeDisplayName LookupPrivilegeDisplayNameA
-#define LookupPrivilegeName LookupPrivilegeNameA
-#define LookupPrivilegeValue LookupPrivilegeValueA
-#define lstrcat lstrcatA
-#define lstrcmp lstrcmpA
-#define lstrcmpi lstrcmpiA
-#define lstrcpy lstrcpyA
-#define lstrcpyn lstrcpynA
-#define lstrlen lstrlenA
-#define MoveFile MoveFileA
-#define MoveFileEx MoveFileExA
-#define ObjectCloseAuditAlarm ObjectCloseAuditAlarmA
-#define ObjectDeleteAuditAlarm ObjectDeleteAuditAlarmA
-#define ObjectOpenAuditAlarm ObjectOpenAuditAlarmA
-#define ObjectPrivilegeAuditAlarm ObjectPrivilegeAuditAlarmA
-#define OpenBackupEventLog OpenBackupEventLogA
-#define OpenEvent OpenEventA
-#define OpenEventLog OpenEventLogA
-#define OpenFileMapping OpenFileMappingA
-#define OpenMutex OpenMutexA
-#define OpenSemaphore OpenSemaphoreA
-#define OutputDebugString OutputDebugStringA
-#define PrivilegedServiceAuditAlarm PrivilegedServiceAuditAlarmA
-#define QueryDosDevice QueryDosDeviceA
-#define ReadEventLog ReadEventLogA
-#define RegisterEventSource RegisterEventSourceA
-#define RemoveDirectory RemoveDirectoryA
-#if (_WIN32_WINNT >= 0x0500)
-#define ReplaceFile ReplaceFileA
-#endif
-#define ReportEvent ReportEventA
-#define SearchPath SearchPathA
-#define SetComputerName SetComputerNameA
-#define SetCurrentDirectory SetCurrentDirectoryA
-#define SetDefaultCommConfig SetDefaultCommConfigA
-#if (_WIN32_WINNT >= 0x0502)
-#define SetDllDirectory SetDllDirectoryA
-#endif
-#define SetEnvironmentVariable SetEnvironmentVariableA
-#define SetFileAttributes SetFileAttributesA
-#define SetFileSecurity SetFileSecurityA
-#if (_WIN32_WINNT >= 0x0501)
-#define SetFileShortName SetFileShortNameA
-#endif
-#if (_WIN32_WINNT >= 0x0502)
-#define SetFirmwareEnvironmentVariable SetFirmwareEnvironmentVariableA
-#endif
-#define SetVolumeLabel SetVolumeLabelA
-#define SetVolumeMountPoint SetVolumeMountPointA
-#define UpdateResource UpdateResourceA
-#define VerifyVersionInfo VerifyVersionInfoA
-#define WaitNamedPipe WaitNamedPipeA
-#define WritePrivateProfileSection WritePrivateProfileSectionA
-#define WritePrivateProfileString WritePrivateProfileStringA
-#define WritePrivateProfileStruct WritePrivateProfileStructA
-#define WriteProfileSection WriteProfileSectionA
-#define WriteProfileString WriteProfileStringA
-#endif
-#endif
-#ifdef __cplusplus
-}
-#endif
-#endif /* _WINBASE_H */
diff --git a/winsup/w32api/include/winber.h b/winsup/w32api/include/winber.h
deleted file mode 100644
index 462a66d53..000000000
--- a/winsup/w32api/include/winber.h
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- winber.h - Header file for the Windows LDAP Basic Encoding Rules API
-
- Written by Filip Navara <xnavara@volny.cz>
-
- References:
- The C LDAP Application Program Interface
- http://www.watersprings.org/pub/id/draft-ietf-ldapext-ldap-c-api-05.txt
-
- Lightweight Directory Access Protocol Reference
- http://msdn.microsoft.com/library/en-us/netdir/ldap/ldap_reference.asp
-
- This library 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.
-*/
-
-#ifndef _WINBER_H
-#define _WINBER_H
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#ifndef WINBERAPI
-#define WINBERAPI DECLSPEC_IMPORT
-#endif
-
-typedef struct berelement BerElement;
-typedef ULONG ber_len_t;
-#include <pshpack4.h>
-typedef struct berval {
- ber_len_t bv_len;
- char *bv_val;
-} BerValue, LDAP_BERVAL, *PLDAP_BERVAL, BERVAL, *PBERVAL;
-#include <poppack.h>
-
-typedef ULONG ber_tag_t;
-typedef INT ber_int_t;
-typedef UINT ber_uint_t;
-typedef INT ber_slen_t;
-
-#define LBER_ERROR ((ber_tag_t)-1)
-#define LBER_DEFAULT ((ber_tag_t)-1)
-#define LBER_USE_DER 0x01
-
-WINBERAPI BerElement *ber_init(const BerValue*);
-WINBERAPI int ber_printf(BerElement*,const char*,...);
-WINBERAPI int ber_flatten(BerElement*,BerValue**);
-WINBERAPI ber_tag_t ber_scanf(BerElement*,const char*,...);
-WINBERAPI ber_tag_t ber_peek_tag(BerElement*,ber_len_t*);
-WINBERAPI ber_tag_t ber_skip_tag(BerElement*,ber_len_t*);
-WINBERAPI ber_tag_t ber_first_element(BerElement*,ber_len_t*,char**);
-WINBERAPI ber_tag_t ber_next_element(BerElement*,ber_len_t*,char*);
-WINBERAPI void ber_bvfree(BerValue*);
-WINBERAPI void ber_bvecfree(BerValue**);
-WINBERAPI void ber_free(BerElement*,int);
-WINBERAPI BerValue *ber_bvdup(BerValue*);
-WINBERAPI BerElement *ber_alloc_t(int);
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* _WINBER_H */
diff --git a/winsup/w32api/include/wincon.h b/winsup/w32api/include/wincon.h
deleted file mode 100644
index a43fe17f9..000000000
--- a/winsup/w32api/include/wincon.h
+++ /dev/null
@@ -1,225 +0,0 @@
-#ifndef _WINCON_H
-#define _WINCON_H
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define FOREGROUND_BLUE 1
-#define FOREGROUND_GREEN 2
-#define FOREGROUND_RED 4
-#define FOREGROUND_INTENSITY 8
-#define BACKGROUND_BLUE 16
-#define BACKGROUND_GREEN 32
-#define BACKGROUND_RED 64
-#define BACKGROUND_INTENSITY 128
-#if (_WIN32_WINNT >= 0x0501)
-#define CONSOLE_FULLSCREEN_MODE 1
-#define CONSOLE_WINDOWED_MODE 2
-#endif
-#define CTRL_C_EVENT 0
-#define CTRL_BREAK_EVENT 1
-#define CTRL_CLOSE_EVENT 2
-#define CTRL_LOGOFF_EVENT 5
-#define CTRL_SHUTDOWN_EVENT 6
-#define ENABLE_LINE_INPUT 2
-#define ENABLE_ECHO_INPUT 4
-#define ENABLE_PROCESSED_INPUT 1
-#define ENABLE_WINDOW_INPUT 8
-#define ENABLE_MOUSE_INPUT 16
-#define ENABLE_PROCESSED_OUTPUT 1
-#define ENABLE_WRAP_AT_EOL_OUTPUT 2
-#define KEY_EVENT 1
-#define MOUSE_EVENT 2
-#define WINDOW_BUFFER_SIZE_EVENT 4
-#define MENU_EVENT 8
-#define FOCUS_EVENT 16
-#define CAPSLOCK_ON 128
-#define ENHANCED_KEY 256
-#define RIGHT_ALT_PRESSED 1
-#define LEFT_ALT_PRESSED 2
-#define RIGHT_CTRL_PRESSED 4
-#define LEFT_CTRL_PRESSED 8
-#define SHIFT_PRESSED 16
-#define NUMLOCK_ON 32
-#define SCROLLLOCK_ON 64
-#define FROM_LEFT_1ST_BUTTON_PRESSED 1
-#define RIGHTMOST_BUTTON_PRESSED 2
-#define FROM_LEFT_2ND_BUTTON_PRESSED 4
-#define FROM_LEFT_3RD_BUTTON_PRESSED 8
-#define FROM_LEFT_4TH_BUTTON_PRESSED 16
-#define MOUSE_MOVED 1
-#define DOUBLE_CLICK 2
-#define MOUSE_WHEELED 4
-
-typedef struct _CHAR_INFO {
- union {
- WCHAR UnicodeChar;
- CHAR AsciiChar;
- } Char;
- WORD Attributes;
-} CHAR_INFO, *PCHAR_INFO;
-typedef struct _SMALL_RECT {
- SHORT Left;
- SHORT Top;
- SHORT Right;
- SHORT Bottom;
-} SMALL_RECT, *PSMALL_RECT;
-typedef struct _CONSOLE_CURSOR_INFO {
- DWORD dwSize;
- BOOL bVisible;
-} CONSOLE_CURSOR_INFO,*PCONSOLE_CURSOR_INFO;
-typedef struct _COORD {
- SHORT X;
- SHORT Y;
-} COORD, *PCOORD;
-typedef struct _CONSOLE_FONT_INFO {
- DWORD nFont;
- COORD dwFontSize;
-} CONSOLE_FONT_INFO, *PCONSOLE_FONT_INFO;
-typedef struct _CONSOLE_SCREEN_BUFFER_INFO {
- COORD dwSize;
- COORD dwCursorPosition;
- WORD wAttributes;
- SMALL_RECT srWindow;
- COORD dwMaximumWindowSize;
-} CONSOLE_SCREEN_BUFFER_INFO,*PCONSOLE_SCREEN_BUFFER_INFO;
-typedef BOOL(CALLBACK *PHANDLER_ROUTINE)(DWORD);
-typedef struct _KEY_EVENT_RECORD {
- BOOL bKeyDown;
- WORD wRepeatCount;
- WORD wVirtualKeyCode;
- WORD wVirtualScanCode;
- union {
- WCHAR UnicodeChar;
- CHAR AsciiChar;
- } uChar;
- DWORD dwControlKeyState;
-}
-#ifdef __GNUC__
-/* gcc's alignment is not what win32 expects */
- PACKED
-#endif
-KEY_EVENT_RECORD;
-
-typedef struct _MOUSE_EVENT_RECORD {
- COORD dwMousePosition;
- DWORD dwButtonState;
- DWORD dwControlKeyState;
- DWORD dwEventFlags;
-} MOUSE_EVENT_RECORD;
-typedef struct _WINDOW_BUFFER_SIZE_RECORD { COORD dwSize; } WINDOW_BUFFER_SIZE_RECORD;
-typedef struct _MENU_EVENT_RECORD { UINT dwCommandId; } MENU_EVENT_RECORD,*PMENU_EVENT_RECORD;
-typedef struct _FOCUS_EVENT_RECORD { BOOL bSetFocus; } FOCUS_EVENT_RECORD;
-typedef struct _INPUT_RECORD {
- WORD EventType;
- union {
- KEY_EVENT_RECORD KeyEvent;
- MOUSE_EVENT_RECORD MouseEvent;
- WINDOW_BUFFER_SIZE_RECORD WindowBufferSizeEvent;
- MENU_EVENT_RECORD MenuEvent;
- FOCUS_EVENT_RECORD FocusEvent;
- } Event;
-} INPUT_RECORD,*PINPUT_RECORD;
-
-BOOL WINAPI AllocConsole(void);
-#if (_WIN32_WINNT >= 0x0500)
-#define ATTACH_PARENT_PROCESS ((DWORD)-1)
-BOOL WINAPI AttachConsole(DWORD);
-#endif
-HANDLE WINAPI CreateConsoleScreenBuffer(DWORD,DWORD,CONST SECURITY_ATTRIBUTES*,DWORD,LPVOID);
-BOOL WINAPI FillConsoleOutputAttribute(HANDLE,WORD,DWORD,COORD,PDWORD);
-BOOL WINAPI FillConsoleOutputCharacterA(HANDLE,CHAR,DWORD,COORD,PDWORD);
-BOOL WINAPI FillConsoleOutputCharacterW(HANDLE,WCHAR,DWORD,COORD,PDWORD);
-BOOL WINAPI FlushConsoleInputBuffer(HANDLE);
-BOOL WINAPI FreeConsole(void);
-BOOL WINAPI GenerateConsoleCtrlEvent(DWORD,DWORD);
-UINT WINAPI GetConsoleCP(void);
-BOOL WINAPI GetConsoleCursorInfo(HANDLE,PCONSOLE_CURSOR_INFO);
-BOOL WINAPI GetConsoleMode(HANDLE,PDWORD);
-UINT WINAPI GetConsoleOutputCP(void);
-BOOL WINAPI GetConsoleScreenBufferInfo(HANDLE,PCONSOLE_SCREEN_BUFFER_INFO);
-DWORD WINAPI GetConsoleTitleA(LPSTR,DWORD);
-DWORD WINAPI GetConsoleTitleW(LPWSTR,DWORD);
-#if (_WIN32_WINNT >= 0x0500)
-BOOL WINAPI GetConsoleDisplayMode(LPDWORD);
-HWND WINAPI GetConsoleWindow(void);
-#endif
-COORD WINAPI GetLargestConsoleWindowSize(HANDLE);
-BOOL WINAPI GetNumberOfConsoleInputEvents(HANDLE,PDWORD);
-BOOL WINAPI GetNumberOfConsoleMouseButtons(PDWORD);
-BOOL WINAPI PeekConsoleInputA(HANDLE,PINPUT_RECORD,DWORD,PDWORD);
-BOOL WINAPI PeekConsoleInputW(HANDLE,PINPUT_RECORD,DWORD,PDWORD);
-BOOL WINAPI ReadConsoleA(HANDLE,PVOID,DWORD,PDWORD,PVOID);
-BOOL WINAPI ReadConsoleW(HANDLE,PVOID,DWORD,PDWORD,PVOID);
-BOOL WINAPI ReadConsoleInputA(HANDLE,PINPUT_RECORD,DWORD,PDWORD);
-BOOL WINAPI ReadConsoleInputW(HANDLE,PINPUT_RECORD,DWORD,PDWORD);
-BOOL WINAPI ReadConsoleOutputAttribute(HANDLE,LPWORD,DWORD,COORD,LPDWORD);
-BOOL WINAPI ReadConsoleOutputCharacterA(HANDLE,LPSTR,DWORD,COORD,PDWORD);
-BOOL WINAPI ReadConsoleOutputCharacterW(HANDLE,LPWSTR,DWORD,COORD,PDWORD);
-BOOL WINAPI ReadConsoleOutputA(HANDLE,PCHAR_INFO,COORD,COORD,PSMALL_RECT);
-BOOL WINAPI ReadConsoleOutputW(HANDLE,PCHAR_INFO,COORD,COORD,PSMALL_RECT);
-BOOL WINAPI ScrollConsoleScreenBufferA(HANDLE,const SMALL_RECT*,const SMALL_RECT*,COORD,const CHAR_INFO*);
-BOOL WINAPI ScrollConsoleScreenBufferW(HANDLE,const SMALL_RECT*,const SMALL_RECT*,COORD,const CHAR_INFO*);
-BOOL WINAPI SetConsoleActiveScreenBuffer(HANDLE);
-BOOL WINAPI SetConsoleCP(UINT);
-BOOL WINAPI SetConsoleCtrlHandler(PHANDLER_ROUTINE,BOOL);
-BOOL WINAPI SetConsoleCursorInfo(HANDLE,const CONSOLE_CURSOR_INFO*);
-BOOL WINAPI SetConsoleCursorPosition(HANDLE,COORD);
-#if (_WIN32_WINNT >= 0x0501)
-BOOL WINAPI SetConsoleDisplayMode(HANDLE,DWORD,PCOORD);
-#endif
-BOOL WINAPI SetConsoleMode(HANDLE,DWORD);
-BOOL WINAPI SetConsoleOutputCP(UINT);
-BOOL WINAPI SetConsoleScreenBufferSize(HANDLE,COORD);
-BOOL WINAPI SetConsoleTextAttribute(HANDLE,WORD);
-BOOL WINAPI SetConsoleTitleA(LPCSTR);
-BOOL WINAPI SetConsoleTitleW(LPCWSTR);
-BOOL WINAPI SetConsoleWindowInfo(HANDLE,BOOL,const SMALL_RECT*);
-BOOL WINAPI WriteConsoleA(HANDLE,PCVOID,DWORD,PDWORD,PVOID);
-BOOL WINAPI WriteConsoleW(HANDLE,PCVOID,DWORD,PDWORD,PVOID);
-BOOL WINAPI WriteConsoleInputA(HANDLE,const INPUT_RECORD*,DWORD,PDWORD);
-BOOL WINAPI WriteConsoleInputW(HANDLE,const INPUT_RECORD*,DWORD,PDWORD);
-BOOL WINAPI WriteConsoleOutputA(HANDLE,const CHAR_INFO*,COORD,COORD,PSMALL_RECT);
-BOOL WINAPI WriteConsoleOutputW(HANDLE,const CHAR_INFO*,COORD,COORD,PSMALL_RECT);
-BOOL WINAPI WriteConsoleOutputAttribute(HANDLE,const WORD*,DWORD,COORD,PDWORD);
-BOOL WINAPI WriteConsoleOutputCharacterA(HANDLE,LPCSTR,DWORD,COORD,PDWORD);
-BOOL WINAPI WriteConsoleOutputCharacterW(HANDLE,LPCWSTR,DWORD,COORD,PDWORD);
-
-#ifdef UNICODE
-#define FillConsoleOutputCharacter FillConsoleOutputCharacterW
-#define GetConsoleTitle GetConsoleTitleW
-#define PeekConsoleInput PeekConsoleInputW
-#define ReadConsole ReadConsoleW
-#define ReadConsoleInput ReadConsoleInputW
-#define ReadConsoleOutput ReadConsoleOutputW
-#define ReadConsoleOutputCharacter ReadConsoleOutputCharacterW
-#define ScrollConsoleScreenBuffer ScrollConsoleScreenBufferW
-#define SetConsoleTitle SetConsoleTitleW
-#define WriteConsole WriteConsoleW
-#define WriteConsoleInput WriteConsoleInputW
-#define WriteConsoleOutput WriteConsoleOutputW
-#define WriteConsoleOutputCharacter WriteConsoleOutputCharacterW
-#else
-#define FillConsoleOutputCharacter FillConsoleOutputCharacterA
-#define GetConsoleTitle GetConsoleTitleA
-#define PeekConsoleInput PeekConsoleInputA
-#define ReadConsole ReadConsoleA
-#define ReadConsoleInput ReadConsoleInputA
-#define ReadConsoleOutput ReadConsoleOutputA
-#define ReadConsoleOutputCharacter ReadConsoleOutputCharacterA
-#define ScrollConsoleScreenBuffer ScrollConsoleScreenBufferA
-#define SetConsoleTitle SetConsoleTitleA
-#define WriteConsole WriteConsoleA
-#define WriteConsoleInput WriteConsoleInputA
-#define WriteConsoleOutput WriteConsoleOutputA
-#define WriteConsoleOutputCharacter WriteConsoleOutputCharacterA
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/winsup/w32api/include/wincrypt.h b/winsup/w32api/include/wincrypt.h
deleted file mode 100644
index 5e893df14..000000000
--- a/winsup/w32api/include/wincrypt.h
+++ /dev/null
@@ -1,728 +0,0 @@
-#ifndef _WINCRYPT_H
-#define _WINCRYPT_H
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-#define MS_DEF_PROV_A "Microsoft Base Cryptographic Provider v1.0"
-#define MS_DEF_PROV_W L"Microsoft Base Cryptographic Provider v1.0"
-#define MS_ENHANCED_PROV_A "Microsoft Enhanced Cryptographic Provider v1.0"
-#define MS_ENHANCED_PROV_W L"Microsoft Enhanced Cryptographic Provider v1.0"
-#define MS_STRONG_PROV_A "Microsoft Strong Cryptographic Provider"
-#define MS_STRONG_PROV_W L"Microsoft Strong Cryptographic Provider"
-#define MS_DEF_RSA_SIG_PROV_A "Microsoft RSA Signature Cryptographic Provider"
-#define MS_DEF_RSA_SIG_PROV_W L"Microsoft RSA Signature Cryptographic Provider"
-#define MS_DEF_RSA_SCHANNEL_PROV_A "Microsoft RSA SChannel Cryptographic Provider"
-#define MS_DEF_RSA_SCHANNEL_PROV_W L"Microsoft RSA SChannel Cryptographic Provider"
-#define MS_DEF_DSS_PROV_A "Microsoft Base DSS Cryptographic Provider"
-#define MS_DEF_DSS_PROV_W L"Microsoft Base DSS Cryptographic Provider"
-#define MS_DEF_DSS_DH_PROV_A "Microsoft Base DSS and Diffie-Hellman Cryptographic Provider"
-#define MS_DEF_DSS_DH_PROV_W L"Microsoft Base DSS and Diffie-Hellman Cryptographic Provider"
-#define MS_ENH_DSS_DH_PROV_A "Microsoft Enhanced DSS and Diffie-Hellman Cryptographic Provider"
-#define MS_ENH_DSS_DH_PROV_W L"Microsoft Enhanced DSS and Diffie-Hellman Cryptographic Provider"
-#define MS_DEF_DH_SCHANNEL_PROV_A "Microsoft DH SChannel Cryptographic Provider"
-#define MS_DEF_DH_SCHANNEL_PROV_W L"Microsoft DH SChannel Cryptographic Provider"
-#define MS_SCARD_PROV_A "Microsoft Base Smart Card Crypto Provider"
-#define MS_SCARD_PROV_W L"Microsoft Base Smart Card Crypto Provider"
-#if (_WIN32_WINNT == 0x0501)
-#define MS_ENH_RSA_AES_PROV_A "Microsoft Enhanced RSA and AES Cryptographic Provider (Prototype)"
-#define MS_ENH_RSA_AES_PROV_W L"Microsoft Enhanced RSA and AES Cryptographic Provider (Prototype)"
-#elif (_WIN32_WINNT > 0x0501)
-#define MS_ENH_RSA_AES_PROV_A "Microsoft Enhanced RSA and AES Cryptographic Provider"
-#define MS_ENH_RSA_AES_PROV_W L"Microsoft Enhanced RSA and AES Cryptographic Provider"
-#endif
-
-#define GET_ALG_CLASS(x) (x&57344)
-#define GET_ALG_TYPE(x) (x&7680)
-#define GET_ALG_SID(x) (x&511)
-#define ALG_CLASS_ANY 0
-#define ALG_CLASS_SIGNATURE 8192
-#define ALG_CLASS_MSG_ENCRYPT 16384
-#define ALG_CLASS_DATA_ENCRYPT 24576
-#define ALG_CLASS_HASH 32768
-#define ALG_CLASS_KEY_EXCHANGE 40960
-#define ALG_CLASS_ALL 57344 /* (7 << 13) */
-#define ALG_TYPE_ANY 0
-#define ALG_TYPE_DSS 512
-#define ALG_TYPE_RSA 1024
-#define ALG_TYPE_BLOCK 1536
-#define ALG_TYPE_STREAM 2048
-#define ALG_TYPE_DH 2560 /* (5 << 9) */
-#define ALG_TYPE_SECURECHANNEL 3072 /* (6 << 9) */
-#define ALG_SID_ANY 0
-#define ALG_SID_RSA_ANY 0
-#define ALG_SID_RSA_PKCS 1
-#define ALG_SID_RSA_MSATWORK 2
-#define ALG_SID_RSA_ENTRUST 3
-#define ALG_SID_RSA_PGP 4
-#define ALG_SID_DSS_ANY 0
-#define ALG_SID_DSS_PKCS 1
-#define ALG_SID_DSS_DMS 2
-#define ALG_SID_DES 1
-#define ALG_SID_3DES 3
-#define ALG_SID_DESX 4
-#define ALG_SID_IDEA 5
-#define ALG_SID_CAST 6
-#define ALG_SID_SAFERSK64 7
-#define ALG_SID_SAFERSK128 8
-#define ALG_SID_3DES_112 9
-#define ALG_SID_SKIPJACK 10
-#define ALG_SID_TEK 11
-#define ALG_SID_CYLINK_MEK 12
-#define ALG_SID_RC5 13
-#define ALG_SID_RC2 2
-#define ALG_SID_RC4 1
-#define ALG_SID_SEAL 2
-#define ALG_SID_MD2 1
-#define ALG_SID_MD4 2
-#define ALG_SID_MD5 3
-#define ALG_SID_SHA 4
-#define ALG_SID_MAC 5
-#define ALG_SID_RIPEMD 6
-#define ALG_SID_RIPEMD160 7
-#define ALG_SID_SSL3SHAMD5 8
-#define ALG_SID_HMAC 9
-#define ALG_SID_TLS1PRF 10
-#define ALG_SID_AES_128 14
-#define ALG_SID_AES_192 15
-#define ALG_SID_AES_256 16
-#define ALG_SID_AES 17
-#define ALG_SID_EXAMPLE 80
-
-#define CALG_MD2 (ALG_CLASS_HASH|ALG_TYPE_ANY|ALG_SID_MD2)
-#define CALG_MD4 (ALG_CLASS_HASH|ALG_TYPE_ANY|ALG_SID_MD4)
-#define CALG_MD5 (ALG_CLASS_HASH|ALG_TYPE_ANY|ALG_SID_MD5)
-#define CALG_SHA (ALG_CLASS_HASH|ALG_TYPE_ANY|ALG_SID_SHA)
-#define CALG_SHA1 CALG_SHA
-#define CALG_MAC (ALG_CLASS_HASH|ALG_TYPE_ANY|ALG_SID_MAC)
-#define CALG_3DES (ALG_CLASS_DATA_ENCRYPT|ALG_TYPE_BLOCK|3)
-#define CALG_CYLINK_MEK (ALG_CLASS_DATA_ENCRYPT|ALG_TYPE_BLOCK|12)
-#define CALG_SKIPJACK (ALG_CLASS_DATA_ENCRYPT|ALG_TYPE_BLOCK|10)
-#define CALG_KEA_KEYX (ALG_CLASS_KEY_EXCHANGE|ALG_TYPE_STREAM|ALG_TYPE_DSS|4)
-#define CALG_RSA_SIGN (ALG_CLASS_SIGNATURE|ALG_TYPE_RSA|ALG_SID_RSA_ANY)
-#define CALG_DSS_SIGN (ALG_CLASS_SIGNATURE|ALG_TYPE_DSS|ALG_SID_DSS_ANY)
-#define CALG_RSA_KEYX (ALG_CLASS_KEY_EXCHANGE|ALG_TYPE_RSA|ALG_SID_RSA_ANY)
-#define CALG_DES (ALG_CLASS_DATA_ENCRYPT|ALG_TYPE_BLOCK|ALG_SID_DES)
-#define CALG_RC2 (ALG_CLASS_DATA_ENCRYPT|ALG_TYPE_BLOCK|ALG_SID_RC2)
-#define CALG_RC4 (ALG_CLASS_DATA_ENCRYPT|ALG_TYPE_STREAM|ALG_SID_RC4)
-#define CALG_SEAL (ALG_CLASS_DATA_ENCRYPT|ALG_TYPE_STREAM|ALG_SID_SEAL)
-#define CALG_DH_EPHEM (ALG_CLASS_KEY_EXCHANGE|ALG_TYPE_STREAM|ALG_TYPE_DSS|ALG_SID_DSS_DMS)
-#define CALG_DESX (ALG_CLASS_DATA_ENCRYPT|ALG_TYPE_BLOCK|ALG_SID_DESX)
-#define CALG_TLS1PRF (ALG_CLASS_DHASH|ALG_TYPE_ANY|ALG_SID_TLS1PRF)
-#define CALG_AES_128 (ALG_CLASS_DATA_ENCRYPT|ALG_TYPE_BLOCK|ALG_SID_AES_128)
-#define CALG_AES_192 (ALG_CLASS_DATA_ENCRYPT|ALG_TYPE_BLOCK|ALG_SID_AES_192)
-#define CALG_AES_256 (ALG_CLASS_DATA_ENCRYPT|ALG_TYPE_BLOCK|ALG_SID_AES_256)
-#define CALG_AES (ALG_CLASS_DATA_ENCRYPT|ALG_TYPE_BLOCK|ALG_SID_AES)
-
-#define CRYPT_VERIFYCONTEXT 0xF0000000
-#define CRYPT_NEWKEYSET 8
-#define CRYPT_DELETEKEYSET 16
-#define CRYPT_MACHINE_KEYSET 32
-#define CRYPT_SILENT 64
-#define CRYPT_EXPORTABLE 1
-#define CRYPT_USER_PROTECTED 2
-#define CRYPT_CREATE_SALT 4
-#define CRYPT_UPDATE_KEY 8
-#define SIMPLEBLOB 1
-#define PUBLICKEYBLOB 6
-#define PRIVATEKEYBLOB 7
-#define PLAINTEXTKEYBLOB 8
-#define OPAQUEKEYBLOB 9
-#define PUBLICKEYBLOBEX 10
-#define SYMMETRICWRAPKEYBLOB 11
-#define AT_KEYEXCHANGE 1
-#define AT_SIGNATURE 2
-#define CRYPT_USERDATA 1
-#define PKCS5_PADDING 1
-#define CRYPT_MODE_CBC 1
-#define CRYPT_MODE_ECB 2
-#define CRYPT_MODE_OFB 3
-#define CRYPT_MODE_CFB 4
-#define CRYPT_MODE_CTS 5
-#define CRYPT_MODE_CBCI 6
-#define CRYPT_MODE_CFBP 7
-#define CRYPT_MODE_OFBP 8
-#define CRYPT_MODE_CBCOFM 9
-#define CRYPT_MODE_CBCOFMI 10
-#define CRYPT_ENCRYPT 1
-#define CRYPT_DECRYPT 2
-#define CRYPT_EXPORT 4
-#define CRYPT_READ 8
-#define CRYPT_WRITE 16
-#define CRYPT_MAC 32
-#define HP_ALGID 1
-#define HP_HASHVAL 2
-#define HP_HASHSIZE 4
-#define HP_HMAC_INFO 5
-#define CRYPT_FAILED FALSE
-#define CRYPT_SUCCEED TRUE
-#define RCRYPT_SUCCEEDED(r) ((r)==CRYPT_SUCCEED)
-#define RCRYPT_FAILED(r) ((r)==CRYPT_FAILED)
-#define PP_ENUMALGS 1
-#define PP_ENUMCONTAINERS 2
-#define PP_IMPTYPE 3
-#define PP_NAME 4
-#define PP_VERSION 5
-#define PP_CONTAINER 6
-#define PP_CHANGE_PASSWORD 7
-#define PP_KEYSET_SEC_DESCR 8
-#define PP_CERTCHAIN 9
-#define PP_KEY_TYPE_SUBTYPE 10
-#define PP_PROVTYPE 16
-#define PP_KEYSTORAGE 17
-#define PP_APPLI_CERT 18
-#define PP_SYM_KEYSIZE 19
-#define PP_SESSION_KEYSIZE 20
-#define PP_UI_PROMPT 21
-#define PP_ENUMALGS_EX 22
-#define PP_ENUMMANDROOTS 25
-#define PP_ENUMELECTROOTS 26
-#define PP_KEYSET_TYPE 27
-#define PP_ADMIN_PIN 31
-#define PP_KEYEXCHANGE_PIN 32
-#define PP_SIGNATURE_PIN 33
-#define PP_SIG_KEYSIZE_INC 34
-#define PP_KEYX_KEYSIZE_INC 35
-#define PP_UNIQUE_CONTAINER 36
-#define PP_SGC_INFO 37
-#define PP_USE_HARDWARE_RNG 38
-#define PP_KEYSPEC 39
-#define PP_ENUMEX_SIGNING_PROT 40
-#define CRYPT_FIRST 1
-#define CRYPT_NEXT 2
-#define CRYPT_IMPL_HARDWARE 1
-#define CRYPT_IMPL_SOFTWARE 2
-#define CRYPT_IMPL_MIXED 3
-#define CRYPT_IMPL_UNKNOWN 4
-#define PROV_RSA_FULL 1
-#define PROV_RSA_SIG 2
-#define PROV_DSS 3
-#define PROV_FORTEZZA 4
-#define PROV_MS_MAIL 5
-#define PROV_SSL 6
-#define PROV_STT_MER 7
-#define PROV_STT_ACQ 8
-#define PROV_STT_BRND 9
-#define PROV_STT_ROOT 10
-#define PROV_STT_ISS 11
-#define PROV_RSA_SCHANNEL 12
-#define PROV_DSS_DH 13
-#define PROV_EC_ECDSA_SIG 14
-#define PROV_EC_ECNRA_SIG 15
-#define PROV_EC_ECDSA_FULL 16
-#define PROV_EC_ECNRA_FULL 17
-#define PROV_DH_SCHANNEL 18
-#define PROV_SPYRUS_LYNKS 20
-#define PROV_RNG 21
-#define PROV_INTEL_SEC 22
-#define PROV_RSA_AES 24
-#define MAXUIDLEN 64
-#define CUR_BLOB_VERSION 2
-#define X509_ASN_ENCODING 1
-#define PKCS_7_ASN_ENCODING 65536
-#define CERT_V1 0
-#define CERT_V2 1
-#define CERT_V3 2
-#define CERT_E_CHAINING (-2146762486)
-#define CERT_E_CN_NO_MATCH (-2146762481)
-#define CERT_E_EXPIRED (-2146762495)
-#define CERT_E_PURPOSE (-2146762490)
-#define CERT_E_REVOCATION_FAILURE (-2146762482)
-#define CERT_E_REVOKED (-2146762484)
-#define CERT_E_ROLE (-2146762493)
-#define CERT_E_UNTRUSTEDROOT (-2146762487)
-#define CERT_E_UNTRUSTEDTESTROOT (-2146762483)
-#define CERT_E_VALIDITYPERIODNESTING (-2146762494)
-#define CERT_E_WRONG_USAGE (-2146762480)
-#define CERT_E_PATHLENCONST (-2146762492)
-#define CERT_E_CRITICAL (-2146762491)
-#define CERT_E_ISSUERCHAINING (-2146762489)
-#define CERT_E_MALFORMED (-2146762488)
-#define CRYPT_E_REVOCATION_OFFLINE (-2146885613)
-#define CRYPT_E_REVOKED (-2146885616)
-#define TRUST_E_BASIC_CONSTRAINTS (-2146869223)
-#define TRUST_E_CERT_SIGNATURE (-2146869244)
-#define TRUST_E_FAIL (-2146762485)
-#define CERT_TRUST_NO_ERROR 0
-#define CERT_TRUST_IS_NOT_TIME_VALID 1
-#define CERT_TRUST_IS_NOT_TIME_NESTED 2
-#define CERT_TRUST_IS_REVOKED 4
-#define CERT_TRUST_IS_NOT_SIGNATURE_VALID 8
-#define CERT_TRUST_IS_NOT_VALID_FOR_USAGE 16
-#define CERT_TRUST_IS_UNTRUSTED_ROOT 32
-#define CERT_TRUST_REVOCATION_STATUS_UNKNOWN 64
-#define CERT_TRUST_IS_CYCLIC 128
-#define CERT_TRUST_IS_PARTIAL_CHAIN 65536
-#define CERT_TRUST_CTL_IS_NOT_TIME_VALID 131072
-#define CERT_TRUST_CTL_IS_NOT_SIGNATURE_VALID 262144
-#define CERT_TRUST_CTL_IS_NOT_VALID_FOR_USAGE 524288
-#define CERT_TRUST_HAS_EXACT_MATCH_ISSUER 1
-#define CERT_TRUST_HAS_KEY_MATCH_ISSUER 2
-#define CERT_TRUST_HAS_NAME_MATCH_ISSUER 4
-#define CERT_TRUST_IS_SELF_SIGNED 8
-#define CERT_TRUST_IS_COMPLEX_CHAIN 65536
-#define CERT_CHAIN_POLICY_BASE ((LPCSTR) 1)
-#define CERT_CHAIN_POLICY_AUTHENTICODE ((LPCSTR) 2)
-#define CERT_CHAIN_POLICY_AUTHENTICODE_TS ((LPCSTR) 3)
-#define CERT_CHAIN_POLICY_SSL ((LPCSTR) 4)
-#define CERT_CHAIN_POLICY_BASIC_CONSTRAINTS ((LPCSTR) 5)
-#define CERT_CHAIN_POLICY_NT_AUTH ((LPCSTR) 6)
-#define USAGE_MATCH_TYPE_AND 0
-#define USAGE_MATCH_TYPE_OR 1
-#define CERT_SIMPLE_NAME_STR 1
-#define CERT_OID_NAME_STR 2
-#define CERT_X500_NAME_STR 3
-#define CERT_NAME_STR_SEMICOLON_FLAG 1073741824
-#define CERT_NAME_STR_CRLF_FLAG 134217728
-#define CERT_NAME_STR_NO_PLUS_FLAG 536870912
-#define CERT_NAME_STR_NO_QUOTING_FLAG 268435456
-#define CERT_NAME_STR_REVERSE_FLAG 33554432
-#define CERT_NAME_STR_ENABLE_T61_UNICODE_FLAG 131072
-#define CERT_FIND_ANY 0
-#define CERT_FIND_CERT_ID 1048576
-#define CERT_FIND_CTL_USAGE 655360
-#define CERT_FIND_ENHKEY_USAGE 655360
-#define CERT_FIND_EXISTING 851968
-#define CERT_FIND_HASH 65536
-#define CERT_FIND_ISSUER_ATTR 196612
-#define CERT_FIND_ISSUER_NAME 131076
-#define CERT_FIND_ISSUER_OF 786432
-#define CERT_FIND_KEY_IDENTIFIER 983040
-#define CERT_FIND_KEY_SPEC 589824
-#define CERT_FIND_MD5_HASH 262144
-#define CERT_FIND_PROPERTY 327680
-#define CERT_FIND_PUBLIC_KEY 393216
-#define CERT_FIND_SHA1_HASH 65536
-#define CERT_FIND_SIGNATURE_HASH 917504
-#define CERT_FIND_SUBJECT_ATTR 196615
-#define CERT_FIND_SUBJECT_CERT 720896
-#define CERT_FIND_SUBJECT_NAME 131079
-#define CERT_FIND_SUBJECT_STR_A 458759
-#define CERT_FIND_SUBJECT_STR_W 524295
-#define CERT_FIND_ISSUER_STR_A 458756
-#define CERT_FIND_ISSUER_STR_W 524292
-#define CERT_FIND_OR_ENHKEY_USAGE_FLAG 16
-#define CERT_FIND_OPTIONAL_ENHKEY_USAGE_FLAG 1
-#define CERT_FIND_NO_ENHKEY_USAGE_FLAG 8
-#define CERT_FIND_VALID_ENHKEY_USAGE_FLAG 32
-#define CERT_FIND_EXT_ONLY_ENHKEY_USAGE_FLAG 2
-#define CERT_CASE_INSENSITIVE_IS_RDN_ATTRS_FLAG 2
-#define CERT_UNICODE_IS_RDN_ATTRS_FLAG 1
-#define CERT_CHAIN_FIND_BY_ISSUER 1
-#define CERT_CHAIN_FIND_BY_ISSUER_COMPARE_KEY_FLAG 1
-#define CERT_CHAIN_FIND_BY_ISSUER_COMPLEX_CHAIN_FLAG 2
-#define CERT_CHAIN_FIND_BY_ISSUER_CACHE_ONLY_FLAG 32768
-#define CERT_CHAIN_FIND_BY_ISSUER_CACHE_ONLY_URL_FLAG 4
-#define CERT_CHAIN_FIND_BY_ISSUER_LOCAL_MACHINE_FLAG 8
-#define CERT_CHAIN_FIND_BY_ISSUER_NO_KEY_FLAG 16384
-#define CERT_STORE_PROV_SYSTEM 10
-#define CERT_SYSTEM_STORE_LOCAL_MACHINE 131072
-#define szOID_PKIX_KP_SERVER_AUTH "4235600"
-#define szOID_SERVER_GATED_CRYPTO "4235658"
-#define szOID_SGC_NETSCAPE "2.16.840.1.113730.4.1"
-#define szOID_PKIX_KP_CLIENT_AUTH "1.3.6.1.5.5.7.3.2"
-#define CRYPT_NOHASHOID 0x00000001
-#define CRYPT_NO_SALT 0x10
-#define CRYPT_PREGEN 0x40
-#define CRYPT_RECIPIENT 0x10
-#define CRYPT_INITIATOR 0x40
-#define CRYPT_ONLINE 0x80
-#define CRYPT_SF 0x100
-#define CRYPT_CREATE_IV 0x200
-#define CRYPT_KEK 0x400
-#define CRYPT_DATA_KEY 0x800
-#define CRYPT_VOLATILE 0x1000
-#define CRYPT_SGCKEY 0x2000
-#define KP_IV 0x00000001
-#define KP_SALT 0x00000002
-#define KP_PADDING 0x00000003
-#define KP_MODE 0x00000004
-#define KP_MODE_BITS 0x00000005
-#define KP_PERMISSIONS 0x00000006
-#define KP_ALGID 0x00000007
-#define KP_BLOCKLEN 0x00000008
-#define KP_KEYLEN 0x00000009
-#define KP_SALT_EX 0x0000000a
-#define KP_P 0x0000000b
-#define KP_G 0x0000000c
-#define KP_Q 0x0000000d
-#define KP_X 0x0000000e
-#define KP_Y 0x0000000f
-#define KP_RA 0x00000010
-#define KP_RB 0x00000011
-#define KP_INFO 0x00000012
-#define KP_EFFECTIVE_KEYLEN 0x00000013
-#define KP_SCHANNEL_ALG 0x00000014
-#define KP_PUB_PARAMS 0x00000027
-#define CRYPT_FLAG_PCT1 0x0001
-#define CRYPT_FLAG_SSL2 0x0002
-#define CRYPT_FLAG_SSL3 0x0004
-#define CRYPT_FLAG_TLS1 0x0008
-#define CRYPT_FLAG_IPSEC 0x0010
-#define CRYPT_FLAG_SIGNING 0x0020
-#define SCHANNEL_MAC_KEY 0x00000000
-#define SCHANNEL_ENC_KEY 0x00000001
-#define INTERNATIONAL_USAGE 0x00000001
-
-typedef UINT ALG_ID;
-typedef struct _VTableProvStruc {FARPROC FuncVerifyImage;} VTableProvStruc,*PVTableProvStruc;
-typedef ULONG HCRYPTPROV;
-typedef ULONG HCRYPTKEY;
-typedef ULONG HCRYPTHASH;
-typedef PVOID HCERTSTORE;
-typedef PVOID HCRYPTMSG;
-typedef PVOID HCERTCHAINENGINE;
-typedef struct _CRYPTOAPI_BLOB {
- DWORD cbData;
- BYTE* pbData;
-} CRYPT_INTEGER_BLOB, *PCRYPT_INTEGER_BLOB,
- CRYPT_UINT_BLOB, *PCRYPT_UINT_BLOB,
- CRYPT_OBJID_BLOB, *PCRYPT_OBJID_BLOB,
- CERT_NAME_BLOB, *PCERT_NAME_BLOB,
- CERT_RDN_VALUE_BLOB,*PCERT_RDN_VALUE_BLOB,
- CERT_BLOB, *PCERT_BLOB,
- CRL_BLOB, *PCRL_BLOB,
- DATA_BLOB, *PDATA_BLOB,
- CRYPT_DATA_BLOB, *PCRYPT_DATA_BLOB,
- CRYPT_HASH_BLOB, *PCRYPT_HASH_BLOB,
- CRYPT_DIGEST_BLOB, *PCRYPT_DIGEST_BLOB,
- CRYPT_DER_BLOB, *PCRYPT_DER_BLOB,
- CRYPT_ATTR_BLOB, *PCRYPT_ATTR_BLOB;
-/* not described in SDK; has the same layout as HTTPSPolicyCallbackData */
-typedef struct _SSL_EXTRA_CERT_CHAIN_POLICY_PARA {
- DWORD cbStruct;
- DWORD dwAuthType;
- DWORD fdwChecks;
- LPWSTR pwszServerName;
-} SSL_EXTRA_CERT_CHAIN_POLICY_PARA, *PSSL_EXTRA_CERT_CHAIN_POLICY_PARA,
- HTTPSPolicyCallbackData, *PHTTPSPolicyCallbackData;
-/* #if (_WIN32_WINNT>=0x500) */
-typedef struct _CERT_CHAIN_POLICY_PARA {
- DWORD cbSize;
- DWORD dwFlags;
- void* pvExtraPolicyPara;
-} CERT_CHAIN_POLICY_PARA, *PCERT_CHAIN_POLICY_PARA;
-typedef struct _CERT_CHAIN_POLICY_STATUS {
- DWORD cbSize;
- DWORD dwError;
- LONG lChainIndex;
- LONG lElementIndex;
- void* pvExtraPolicyStatus;
-} CERT_CHAIN_POLICY_STATUS, *PCERT_CHAIN_POLICY_STATUS;
-/* #endif */
-typedef struct _CRYPT_ALGORITHM_IDENTIFIER {
- LPSTR pszObjId;
- CRYPT_OBJID_BLOB Parameters;
-} CRYPT_ALGORITHM_IDENTIFIER, *PCRYPT_ALGORITHM_IDENTIFIER;
-typedef struct _CRYPT_BIT_BLOB {
- DWORD cbData;
- BYTE* pbData;
- DWORD cUnusedBits;
-} CRYPT_BIT_BLOB, *PCRYPT_BIT_BLOB;
-typedef struct _CERT_PUBLIC_KEY_INFO {
- CRYPT_ALGORITHM_IDENTIFIER Algorithm;
- CRYPT_BIT_BLOB PublicKey;
-} CERT_PUBLIC_KEY_INFO, *PCERT_PUBLIC_KEY_INFO;
-typedef struct _CERT_EXTENSION {
- LPSTR pszObjId;
- BOOL fCritical;
- CRYPT_OBJID_BLOB Value;
-} CERT_EXTENSION, *PCERT_EXTENSION;
-typedef struct _CERT_INFO {
- DWORD dwVersion;
- CRYPT_INTEGER_BLOB SerialNumber;
- CRYPT_ALGORITHM_IDENTIFIER SignatureAlgorithm;
- CERT_NAME_BLOB Issuer;
- FILETIME NotBefore;
- FILETIME NotAfter;
- CERT_NAME_BLOB Subject;
- CERT_PUBLIC_KEY_INFO SubjectPublicKeyInfo;
- CRYPT_BIT_BLOB IssuerUniqueId;
- CRYPT_BIT_BLOB SubjectUniqueId;
- DWORD cExtension;
- PCERT_EXTENSION rgExtension;
-} CERT_INFO, *PCERT_INFO;
-typedef struct _CERT_CONTEXT {
- DWORD dwCertEncodingType;
- BYTE* pbCertEncoded;
- DWORD cbCertEncoded;
- PCERT_INFO pCertInfo;
- HCERTSTORE hCertStore;
-} CERT_CONTEXT, *PCERT_CONTEXT;
-typedef const CERT_CONTEXT *PCCERT_CONTEXT;
-typedef struct _CTL_USAGE {
- DWORD cUsageIdentifier;
- LPSTR *rgpszUsageIdentifier;
-} CTL_USAGE, *PCTRL_USAGE,
- CERT_ENHKEY_USAGE, *PCERT_ENHKEY_USAGE;
-typedef struct _CERT_USAGE_MATCH {
- DWORD dwType;
- CERT_ENHKEY_USAGE Usage;
-} CERT_USAGE_MATCH, *PCERT_USAGE_MATCH;
-/* #if (_WIN32_WINNT>=0x500) */
-typedef struct _CERT_CHAIN_PARA {
- DWORD cbSize;
- CERT_USAGE_MATCH RequestedUsage;
-#if CERT_CHAIN_PARA_HAS_EXTRA_FIELDS
- CERT_USAGE_MATCH RequestedIssuancePolicy;
- DWORD dwUrlRetrievalTimeout;
- BOOL fCheckRevocationFreshnessTime;
- DWORD dwRevocationFreshnessTime;
-#endif
-} CERT_CHAIN_PARA, *PCERT_CHAIN_PARA;
-typedef BOOL (WINAPI *PFN_CERT_CHAIN_FIND_BY_ISSUER_CALLBACK)(PCCERT_CONTEXT,void*);
-typedef struct _CERT_CHAIN_FIND_BY_ISSUER_PARA {
- DWORD cbSize;
- LPCSTR pszUsageIdentifier;
- DWORD dwKeySpec;
- DWORD dwAcquirePrivateKeyFlags;
- DWORD cIssuer;
- CERT_NAME_BLOB* rgIssuer;
- PFN_CERT_CHAIN_FIND_BY_ISSUER_CALLBACK pfnFIndCallback;
- void* pvFindArg;
- DWORD* pdwIssuerChainIndex;
- DWORD* pdwIssuerElementIndex;
-} CERT_CHAIN_FIND_BY_ISSUER_PARA, *PCERT_CHAIN_FIND_BY_ISSUER_PARA;
-/* #endif */
-typedef struct _CERT_TRUST_STATUS {
- DWORD dwErrorStatus;
- DWORD dwInfoStatus;
-} CERT_TRUST_STATUS, *PCERT_TRUST_STATUS;
-typedef struct _CRL_ENTRY {
- CRYPT_INTEGER_BLOB SerialNumber;
- FILETIME RevocationDate;
- DWORD cExtension;
- PCERT_EXTENSION rgExtension;
-} CRL_ENTRY, *PCRL_ENTRY;
-typedef struct _CRL_INFO {
- DWORD dwVersion;
- CRYPT_ALGORITHM_IDENTIFIER SignatureAlgorithm;
- CERT_NAME_BLOB Issuer;
- FILETIME ThisUpdate;
- FILETIME NextUpdate;
- DWORD cCRLEntry;
- PCRL_ENTRY rgCRLEntry;
- DWORD cExtension;
- PCERT_EXTENSION rgExtension;
-} CRL_INFO, *PCRL_INFO;
-typedef struct _CRL_CONTEXT {
- DWORD dwCertEncodingType;
- BYTE* pbCrlEncoded;
- DWORD cbCrlEncoded;
- PCRL_INFO pCrlInfo;
- HCERTSTORE hCertStore;
-} CRL_CONTEXT, *PCRL_CONTEXT;
-typedef const CRL_CONTEXT *PCCRL_CONTEXT;
-typedef struct _CERT_REVOCATION_CRL_INFO {
- DWORD cbSize;
- PCCRL_CONTEXT pBaseCRLContext;
- PCCRL_CONTEXT pDeltaCRLContext;
- PCRL_ENTRY pCrlEntry;
- BOOL fDeltaCrlEntry;
-} CERT_REVOCATION_CRL_INFO, *PCERT_REVOCATION_CRL_INFO;
-typedef struct _CERT_REVOCATION_INFO {
- DWORD cbSize;
- DWORD dwRevocationResult;
- LPCSTR pszRevocationOid;
- LPVOID pvOidSpecificInfo;
- BOOL fHasFreshnessTime;
- DWORD dwFreshnessTime;
- PCERT_REVOCATION_CRL_INFO pCrlInfo;
-} CERT_REVOCATION_INFO, *PCERT_REVOCATION_INFO;
-/* #if (_WIN32_WINNT>=0x500) */
-typedef struct _CERT_CHAIN_ELEMENT {
- DWORD cbSize;
- PCCERT_CONTEXT pCertContext;
- CERT_TRUST_STATUS TrustStatus;
- PCERT_REVOCATION_INFO pRevocationInfo;
- PCERT_ENHKEY_USAGE pIssuanceUsage;
- PCERT_ENHKEY_USAGE pApplicationUsage;
-} CERT_CHAIN_ELEMENT, *PCERT_CHAIN_ELEMENT;
-/* #endif */
-typedef struct _CRYPT_ATTRIBUTE {
- LPSTR pszObjId;
- DWORD cValue;
- PCRYPT_ATTR_BLOB rgValue;
-} CRYPT_ATTRIBUTE, *PCRYPT_ATTRIBUTE;
-typedef struct _CTL_ENTRY {
- CRYPT_DATA_BLOB SubjectIdentifier;
- DWORD cAttribute;
- PCRYPT_ATTRIBUTE rgAttribute;
-} CTL_ENTRY, *PCTL_ENTRY;
-typedef struct _CTL_INFO {
- DWORD dwVersion;
- CTL_USAGE SubjectUsage;
- CRYPT_DATA_BLOB ListIdentifier;
- CRYPT_INTEGER_BLOB SequenceNumber;
- FILETIME ThisUpdate;
- FILETIME NextUpdate;
- CRYPT_ALGORITHM_IDENTIFIER SubjectAlgorithm;
- DWORD cCTLEntry;
- PCTL_ENTRY rgCTLEntry;
- DWORD cExtension;
- PCERT_EXTENSION rgExtension;
-} CTL_INFO, *PCTL_INFO;
-typedef struct _CTL_CONTEXT {
- DWORD dwMsgAndCertEncodingType;
- BYTE* pbCtlEncoded;
- DWORD cbCtlEncoded;
- PCTL_INFO pCtlInfo;
- HCERTSTORE hCertStore;
- HCRYPTMSG hCryptMsg;
- BYTE* pbCtlContent;
- DWORD cbCtlContent;
-} CTL_CONTEXT, *PCTL_CONTEXT;
-typedef const CTL_CONTEXT *PCCTL_CONTEXT;
-typedef struct _CERT_TRUST_LIST_INFO {
- DWORD cbSize;
- PCTL_ENTRY pCtlEntry;
- PCCTL_CONTEXT pCtlContext;
-} CERT_TRUST_LIST_INFO, *PCERT_TRUST_LIST_INFO;
-typedef struct _CERT_SIMPLE_CHAIN {
- DWORD cbSize;
- CERT_TRUST_STATUS TrustStatus;
- DWORD cElement;
- PCERT_CHAIN_ELEMENT* rgpElement;
- PCERT_TRUST_LIST_INFO pTrustListInfo;
- BOOL fHasRevocationFreshnessTime;
- DWORD dwRevocationFreshnessTime;
-} CERT_SIMPLE_CHAIN, *PCERT_SIMPLE_CHAIN;
-/* #if (_WIN32_WINNT>=0x500) */
-typedef const struct _CERT_CHAIN_CONTEXT* PCCERT_CHAIN_CONTEXT;
-typedef struct _CERT_CHAIN_CONTEXT {
- DWORD cbSize;
- CERT_TRUST_STATUS TrustStatus;
- DWORD cChain;
- PCERT_SIMPLE_CHAIN* rgpChain;
- DWORD cLowerQualityChainContext;
- PCCERT_CHAIN_CONTEXT* rgpLowerQualityChainContext;
- BOOL fHasRevocationFreshnessTime;
- DWORD dwRevocationFreshnessTime;
-} CERT_CHAIN_CONTEXT, *PCERT_CHAIN_CONTEXT;
-/* #endif */
-typedef struct _PROV_ENUMALGS {
- ALG_ID aiAlgid;
- DWORD dwBitLen;
- DWORD dwNameLen;
- CHAR szName[20];
-} PROV_ENUMALGS;
-typedef struct _PUBLICKEYSTRUC {
- BYTE bType;
- BYTE bVersion;
- WORD reserved;
- ALG_ID aiKeyAlg;
-} BLOBHEADER, PUBLICKEYSTRUC;
-typedef struct _RSAPUBKEY {
- DWORD magic;
- DWORD bitlen;
- DWORD pubexp;
-} RSAPUBKEY;
-typedef struct _HMAC_Info
-{
- ALG_ID HashAlgid;
- BYTE* pbInnerString;
- DWORD cbInnerString;
- BYTE* pbOuterString;
- DWORD cbOuterString;
-} HMAC_INFO, *PHMAC_INFO;
-
-BOOL WINAPI CertCloseStore(HCERTSTORE,DWORD);
-BOOL WINAPI CertGetCertificateChain(HCERTCHAINENGINE,PCCERT_CONTEXT,LPFILETIME,HCERTSTORE,PCERT_CHAIN_PARA,DWORD,LPVOID,PCCERT_CHAIN_CONTEXT*);
-BOOL WINAPI CertVerifyCertificateChainPolicy(LPCSTR,PCCERT_CHAIN_CONTEXT,PCERT_CHAIN_POLICY_PARA,PCERT_CHAIN_POLICY_STATUS);
-void WINAPI CertFreeCertificateChain(PCCERT_CHAIN_CONTEXT);
-DWORD WINAPI CertNameToStrA(DWORD,PCERT_NAME_BLOB,DWORD,LPSTR,DWORD);
-DWORD WINAPI CertNameToStrW(DWORD,PCERT_NAME_BLOB,DWORD,LPWSTR,DWORD);
-HCERTSTORE WINAPI CertOpenSystemStoreA(HCRYPTPROV,LPCSTR);
-HCERTSTORE WINAPI CertOpenSystemStoreW(HCRYPTPROV,LPCWSTR);
-HCERTSTORE WINAPI CertOpenStore(LPCSTR,DWORD,HCRYPTPROV,DWORD,const void*);
-PCCERT_CONTEXT WINAPI CertFindCertificateInStore(HCERTSTORE,DWORD,DWORD,DWORD,const void*,PCCERT_CONTEXT);
-BOOL WINAPI CertFreeCertificateContext(PCCERT_CONTEXT);
-PCCERT_CONTEXT WINAPI CertGetIssuerCertificateFromStore(HCERTSTORE,PCCERT_CONTEXT,PCCERT_CONTEXT,DWORD*);
-PCCERT_CHAIN_CONTEXT WINAPI CertFindChainInStore(HCERTSTORE,DWORD,DWORD,DWORD,const void*,PCCERT_CHAIN_CONTEXT);
-BOOL WINAPI CryptAcquireContextA(HCRYPTPROV*,LPCSTR,LPCSTR,DWORD,DWORD);
-BOOL WINAPI CryptAcquireContextW(HCRYPTPROV*,LPCWSTR,LPCWSTR,DWORD,DWORD);
-BOOL WINAPI CryptContextAddRef(HCRYPTPROV,DWORD*,DWORD);
-BOOL WINAPI CryptReleaseContext(HCRYPTPROV,DWORD);
-BOOL WINAPI CryptGenKey(HCRYPTPROV,ALG_ID,DWORD,HCRYPTKEY*);
-BOOL WINAPI CryptDeriveKey(HCRYPTPROV,ALG_ID,HCRYPTHASH,DWORD,HCRYPTKEY*);
-BOOL WINAPI CryptDestroyKey(HCRYPTKEY);
-#if (WINVER >= 0x0500)
-BOOL WINAPI CryptDuplicateHash(HCRYPTHASH,DWORD*,DWORD,HCRYPTHASH*);
-BOOL WINAPI CryptDuplicateKey(HCRYPTKEY,DWORD*,DWORD,HCRYPTKEY*);
-#endif
-BOOL WINAPI CryptSetKeyParam(HCRYPTKEY,DWORD,PBYTE,DWORD);
-BOOL WINAPI CryptGetKeyParam(HCRYPTKEY,DWORD,PBYTE,PDWORD,DWORD);
-BOOL WINAPI CryptSetHashParam(HCRYPTHASH,DWORD,PBYTE,DWORD);
-BOOL WINAPI CryptGetHashParam(HCRYPTHASH,DWORD,PBYTE,PDWORD,DWORD);
-BOOL WINAPI CryptSetProvParam(HCRYPTPROV,DWORD,PBYTE,DWORD);
-BOOL WINAPI CryptGetProvParam(HCRYPTPROV,DWORD,PBYTE,PDWORD,DWORD);
-BOOL WINAPI CryptGenRandom(HCRYPTPROV,DWORD,PBYTE);
-BOOL WINAPI CryptGetUserKey(HCRYPTPROV,DWORD,HCRYPTKEY*);
-BOOL WINAPI CryptExportKey(HCRYPTKEY,HCRYPTKEY,DWORD,DWORD,PBYTE,PDWORD);
-BOOL WINAPI CryptImportKey(HCRYPTPROV,PBYTE,DWORD,HCRYPTKEY,DWORD,HCRYPTKEY*);
-BOOL WINAPI CryptEncrypt(HCRYPTKEY,HCRYPTHASH,BOOL,DWORD,PBYTE,PDWORD,DWORD);
-BOOL WINAPI CryptDecrypt(HCRYPTKEY,HCRYPTHASH,BOOL,DWORD,PBYTE,PDWORD);
-BOOL WINAPI CryptCreateHash(HCRYPTPROV,ALG_ID,HCRYPTKEY,DWORD,HCRYPTHASH*);
-BOOL WINAPI CryptHashData(HCRYPTHASH,PBYTE,DWORD,DWORD);
-BOOL WINAPI CryptHashSessionKey(HCRYPTHASH,HCRYPTKEY,DWORD);
-BOOL WINAPI CryptGetHashValue(HCRYPTHASH,DWORD,PBYTE,PDWORD);
-BOOL WINAPI CryptDestroyHash(HCRYPTHASH);
-BOOL WINAPI CryptSignHashA(HCRYPTHASH,DWORD,LPCSTR,DWORD,PBYTE,PDWORD);
-BOOL WINAPI CryptSignHashW(HCRYPTHASH,DWORD,LPCWSTR,DWORD,PBYTE,PDWORD);
-BOOL WINAPI CryptVerifySignatureA(HCRYPTHASH,PBYTE,DWORD,HCRYPTKEY,LPCSTR,DWORD);
-BOOL WINAPI CryptVerifySignatureW(HCRYPTHASH,PBYTE,DWORD,HCRYPTKEY,LPCWSTR,DWORD);
-BOOL WINAPI CryptSetProviderA(LPCSTR,DWORD);
-BOOL WINAPI CryptSetProviderW(LPCWSTR,DWORD);
-
-#ifdef UNICODE
-#define CertNameToStr CertNameToStrW
-#define CryptAcquireContext CryptAcquireContextW
-#define CryptSignHash CryptSignHashW
-#define CryptVerifySignature CryptVerifySignatureW
-#define CryptSetProvider CryptSetProviderW
-#define CertOpenSystemStore CertOpenSystemStoreW
-#define CERT_FIND_SUBJECT_STR CERT_FIND_SUBJECT_STR_W
-#define CERT_FIND_ISSUER_STR CERT_FIND_ISSUER_STR_W
-#define MS_DEF_PROV MS_DEF_PROV_W
-#define MS_ENHANCED_PROV MS_ENHANCED_PROV_W
-#define MS_STRONG_PROV MS_STRONG_PROV_W
-#define MS_DEF_RSA_SIG_PROV MS_DEF_RSA_SIG_PROV_W
-#define MS_DEF_RSA_SCHANNEL_PROV MS_DEF_RSA_SCHANNEL_PROV_W
-#define MS_DEF_DSS_PROV MS_DEF_DSS_PROV_W
-#define MS_DEF_DSS_DH_PROV MS_DEF_DSS_DH_PROV_W
-#define MS_ENH_DSS_DH_PROV MS_ENH_DSS_DH_PROV_W
-#define MS_DEF_DH_SCHANNEL_PROV MS_DEF_DH_SCHANNEL_PROV_W
-#define MS_SCARD_PROV MS_SCARD_PROV_W
-#if (_WIN32_WINNT >= 0x0501)
-#define MS_ENH_RSA_AES_PROV MS_ENH_RSA_AES_PROV_W
-#endif
-#else
-#define CertNameToStr CertNameToStrA
-#define CryptAcquireContext CryptAcquireContextA
-#define CryptSignHash CryptSignHashA
-#define CryptVerifySignature CryptVerifySignatureA
-#define CryptSetProvider CryptSetProviderA
-#define CertOpenSystemStore CertOpenSystemStoreA
-#define CERT_FIND_SUBJECT_STR CERT_FIND_SUBJECT_STR_A
-#define CERT_FIND_ISSUER_STR CERT_FIND_ISSUER_STR_A
-#define MS_DEF_PROV MS_DEF_PROV_A
-#define MS_ENHANCED_PROV MS_ENHANCED_PROV_A
-#define MS_STRONG_PROV MS_STRONG_PROV_A
-#define MS_DEF_RSA_SIG_PROV MS_DEF_RSA_SIG_PROV_A
-#define MS_DEF_RSA_SCHANNEL_PROV MS_DEF_RSA_SCHANNEL_PROV_A
-#define MS_DEF_DSS_PROV MS_DEF_DSS_PROV_A
-#define MS_DEF_DSS_DH_PROV MS_DEF_DSS_DH_PROV_A
-#define MS_ENH_DSS_DH_PROV MS_ENH_DSS_DH_PROV_A
-#define MS_DEF_DH_SCHANNEL_PROV MS_DEF_DH_SCHANNEL_PROV_A
-#define MS_SCARD_PROV MS_SCARD_PROV_A
-#if (_WIN32_WINNT >= 0x0501)
-#define MS_ENH_RSA_AES_PROV MS_ENH_RSA_AES_PROV_A
-#endif
-#endif
-#ifdef __cplusplus
-}
-#endif
-#endif /* _WINCRYPT_H */
diff --git a/winsup/w32api/include/windef.h b/winsup/w32api/include/windef.h
deleted file mode 100644
index ffc09debf..000000000
--- a/winsup/w32api/include/windef.h
+++ /dev/null
@@ -1,331 +0,0 @@
-#ifndef _WINDEF_H
-#define _WINDEF_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#ifndef WINVER
-#define WINVER 0x0400
-/*
- * If you need Win32 API features newer the Win95 and WinNT then you must
- * define WINVER before including windows.h or any other method of including
- * the windef.h header.
- */
-#endif
-#ifndef _WIN32_WINNT
-#define _WIN32_WINNT WINVER
-/*
- * There may be the need to define _WIN32_WINNT to a value different from
- * the value of WINVER. I don't have any example of why you would do that.
- * However, if you must then define _WIN32_WINNT to the value required before
- * including windows.h or any other method of including the windef.h header.
- */
-#endif
-#ifndef WIN32
-#define WIN32
-#endif
-#ifndef _WIN32
-#define _WIN32
-#endif
-#define FAR
-#define far
-#define NEAR
-#define near
-#ifndef CONST
-#define CONST const
-#endif
-#undef MAX_PATH
-#define MAX_PATH 260
-
-#ifndef NULL
-#ifdef __cplusplus
-#define NULL 0
-#else
-#define NULL ((void*)0)
-#endif
-#endif
-#ifndef FALSE
-#define FALSE 0
-#endif
-#ifndef TRUE
-#define TRUE 1
-#endif
-#define IN
-#define OUT
-#ifndef OPTIONAL
-#define OPTIONAL
-#endif
-
-#ifdef __GNUC__
-#define PACKED __attribute__((packed))
-#ifndef _fastcall
-#define _fastcall __attribute__((fastcall))
-#endif
-#ifndef __fastcall
-#define __fastcall __attribute__((fastcall))
-#endif
-#ifndef _stdcall
-#define _stdcall __attribute__((stdcall))
-#endif
-#ifndef __stdcall
-#define __stdcall __attribute__((stdcall))
-#endif
-#ifndef _cdecl
-#define _cdecl __attribute__((cdecl))
-#endif
-#ifndef __cdecl
-#define __cdecl __attribute__((cdecl))
-#endif
-#ifndef __declspec
-#define __declspec(e) __attribute__((e))
-#endif
-#ifndef _declspec
-#define _declspec(e) __attribute__((e))
-#endif
-#elif defined(__WATCOMC__)
-#define PACKED
-#else
-#define PACKED
-#define _cdecl
-#define __cdecl
-#endif
-
-#undef pascal
-#undef _pascal
-#undef __pascal
-#define pascal __stdcall
-#define _pascal __stdcall
-#define __pascal __stdcall
-#define PASCAL _pascal
-#define CDECL _cdecl
-#define STDCALL __stdcall
-#define FASTCALL __fastcall
-#define WINAPI __stdcall
-#define WINAPIV __cdecl
-#define APIENTRY __stdcall
-#define CALLBACK __stdcall
-#define APIPRIVATE __stdcall
-
-#define DECLSPEC_IMPORT __declspec(dllimport)
-#define DECLSPEC_EXPORT __declspec(dllexport)
-#ifdef __GNUC__
-#define DECLSPEC_NORETURN __declspec(noreturn)
-#define DECLARE_STDCALL_P( type ) __stdcall type
-#elif defined(__WATCOMC__)
-#define DECLSPEC_NORETURN
-#define DECLARE_STDCALL_P( type ) type __stdcall
-#endif /* __GNUC__/__WATCOMC__ */
-#define MAKEWORD(a,b) ((WORD)(((BYTE)(a))|(((WORD)((BYTE)(b)))<<8)))
-#define MAKELONG(a,b) ((LONG)(((WORD)(a))|(((DWORD)((WORD)(b)))<<16)))
-#define LOWORD(l) ((WORD)((DWORD)(l)))
-#define HIWORD(l) ((WORD)(((DWORD)(l)>>16)&0xFFFF))
-#define LOBYTE(w) ((BYTE)(w))
-#define HIBYTE(w) ((BYTE)(((WORD)(w)>>8)&0xFF))
-
-#ifndef __WATCOMC__
-#ifndef _export
-#define _export
-#endif
-#ifndef __export
-#define __export
-#endif
-#endif
-
-#ifndef NOMINMAX
-#ifndef max
-#define max(a,b) ((a)>(b)?(a):(b))
-#endif
-#ifndef min
-#define min(a,b) ((a)<(b)?(a):(b))
-#endif
-#endif
-
-#define UNREFERENCED_PARAMETER(P) {(P)=(P);}
-#define UNREFERENCED_LOCAL_VARIABLE(L) {(L)=(L);}
-#define DBG_UNREFERENCED_PARAMETER(P)
-#define DBG_UNREFERENCED_LOCAL_VARIABLE(L)
-
-#ifdef __GNUC__
-#ifndef NONAMELESSUNION
-#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95)
-#define _ANONYMOUS_UNION __extension__
-#define _ANONYMOUS_STRUCT __extension__
-#else
-#if defined(__cplusplus)
-#define _ANONYMOUS_UNION __extension__
-#endif /* __cplusplus */
-#endif /* __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95) */
-#endif /* NONAMELESSUNION */
-#elif defined(__WATCOMC__)
-#define _ANONYMOUS_UNION
-#define _ANONYMOUS_STRUCT
-#endif /* __GNUC__/__WATCOMC__ */
-
-#ifndef _ANONYMOUS_UNION
-#define _ANONYMOUS_UNION
-#define _UNION_NAME(x) x
-#define DUMMYUNIONNAME u
-#define DUMMYUNIONNAME2 u2
-#define DUMMYUNIONNAME3 u3
-#define DUMMYUNIONNAME4 u4
-#define DUMMYUNIONNAME5 u5
-#define DUMMYUNIONNAME6 u6
-#define DUMMYUNIONNAME7 u7
-#define DUMMYUNIONNAME8 u8
-#else
-#define _UNION_NAME(x)
-#define DUMMYUNIONNAME
-#define DUMMYUNIONNAME2
-#define DUMMYUNIONNAME3
-#define DUMMYUNIONNAME4
-#define DUMMYUNIONNAME5
-#define DUMMYUNIONNAME6
-#define DUMMYUNIONNAME7
-#define DUMMYUNIONNAME8
-#endif
-#ifndef _ANONYMOUS_STRUCT
-#define _ANONYMOUS_STRUCT
-#define _STRUCT_NAME(x) x
-#define DUMMYSTRUCTNAME s
-#define DUMMYSTRUCTNAME2 s2
-#define DUMMYSTRUCTNAME3 s3
-#else
-#define _STRUCT_NAME(x)
-#define DUMMYSTRUCTNAME
-#define DUMMYSTRUCTNAME2
-#define DUMMYSTRUCTNAME3
-#endif
-
-#ifndef NO_STRICT
-#ifndef STRICT
-#define STRICT 1
-#endif
-#endif
-
-/* FIXME: This will make some code compile. The programs will most
- likely crash when an exception is raised, but at least they will
- compile. */
-#if defined (__GNUC__) && defined (__SEH_NOOP)
-#define __try
-#define __except(x) if (0) /* don't execute handler */
-#define __finally
-
-#define _try __try
-#define _except __except
-#define _finally __finally
-#endif
-
-typedef unsigned long DWORD;
-typedef int WINBOOL,*PWINBOOL,*LPWINBOOL;
-/* FIXME: Is there a good solution to this? */
-#ifndef XFree86Server
-#ifndef __OBJC__
-typedef WINBOOL BOOL;
-#else
-#define BOOL WINBOOL
-#endif
-typedef unsigned char BYTE;
-#endif /* ndef XFree86Server */
-typedef BOOL *PBOOL,*LPBOOL;
-typedef unsigned short WORD;
-typedef float FLOAT;
-typedef FLOAT *PFLOAT;
-typedef BYTE *PBYTE,*LPBYTE;
-typedef int *PINT,*LPINT;
-typedef WORD *PWORD,*LPWORD;
-typedef long *LPLONG;
-typedef DWORD *PDWORD,*LPDWORD;
-typedef CONST void *PCVOID,*LPCVOID;
-typedef int INT;
-typedef unsigned int UINT,*PUINT,*LPUINT;
-
-#include <winnt.h>
-
-typedef UINT_PTR WPARAM;
-typedef LONG_PTR LPARAM;
-typedef LONG_PTR LRESULT;
-#ifndef _HRESULT_DEFINED
-typedef LONG HRESULT;
-#define _HRESULT_DEFINED
-#endif
-#ifndef XFree86Server
-typedef WORD ATOM;
-#endif /* XFree86Server */
-typedef HANDLE HGLOBAL;
-typedef HANDLE HLOCAL;
-typedef HANDLE GLOBALHANDLE;
-typedef HANDLE LOCALHANDLE;
-typedef void *HGDIOBJ;
-DECLARE_HANDLE(HACCEL);
-DECLARE_HANDLE(HBITMAP);
-DECLARE_HANDLE(HBRUSH);
-DECLARE_HANDLE(HCOLORSPACE);
-DECLARE_HANDLE(HDC);
-DECLARE_HANDLE(HGLRC);
-DECLARE_HANDLE(HDESK);
-DECLARE_HANDLE(HENHMETAFILE);
-DECLARE_HANDLE(HFONT);
-DECLARE_HANDLE(HICON);
-DECLARE_HANDLE(HKEY);
-/* FIXME: How to handle these. SM_CMONITORS etc in winuser.h also. */
-/* #if (WINVER >= 0x0500) */
-DECLARE_HANDLE(HMONITOR);
-#define HMONITOR_DECLARED 1
-DECLARE_HANDLE(HTERMINAL);
-DECLARE_HANDLE(HWINEVENTHOOK);
-/* #endif */
-typedef HKEY *PHKEY;
-DECLARE_HANDLE(HMENU);
-DECLARE_HANDLE(HMETAFILE);
-DECLARE_HANDLE(HINSTANCE);
-typedef HINSTANCE HMODULE;
-DECLARE_HANDLE(HPALETTE);
-DECLARE_HANDLE(HPEN);
-DECLARE_HANDLE(HRGN);
-DECLARE_HANDLE(HRSRC);
-DECLARE_HANDLE(HSTR);
-DECLARE_HANDLE(HTASK);
-DECLARE_HANDLE(HWND);
-DECLARE_HANDLE(HWINSTA);
-DECLARE_HANDLE(HKL);
-typedef int HFILE;
-typedef HICON HCURSOR;
-typedef DWORD COLORREF;
-typedef int (WINAPI *FARPROC)();
-typedef int (WINAPI *NEARPROC)();
-typedef int (WINAPI *PROC)();
-typedef struct tagRECT {
- LONG left;
- LONG top;
- LONG right;
- LONG bottom;
-} RECT,*PRECT,*LPRECT;
-typedef const RECT *LPCRECT;
-typedef struct tagRECTL {
- LONG left;
- LONG top;
- LONG right;
- LONG bottom;
-} RECTL,*PRECTL,*LPRECTL;
-typedef const RECTL *LPCRECTL;
-typedef struct tagPOINT {
- LONG x;
- LONG y;
-} POINT,POINTL,*PPOINT,*LPPOINT,*PPOINTL,*LPPOINTL;
-typedef struct tagSIZE {
- LONG cx;
- LONG cy;
-} SIZE,SIZEL,*PSIZE,*LPSIZE,*PSIZEL,*LPSIZEL;
-typedef struct tagPOINTS {
- SHORT x;
- SHORT y;
-} POINTS,*PPOINTS,*LPPOINTS;
-
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/winsup/w32api/include/windns.h b/winsup/w32api/include/windns.h
deleted file mode 100644
index 69fea3bd4..000000000
--- a/winsup/w32api/include/windns.h
+++ /dev/null
@@ -1,367 +0,0 @@
-#ifndef _WINDNS_H
-#define _WINDNS_H
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define DNS_QUERY_STANDARD 0x0
-#define DNS_QUERY_ACCEPT_TRUNCATED_RESPONSE 0x1
-#define DNS_QUERY_USE_TCP_ONLY 0x2
-#define DNS_QUERY_NO_RECURSION 0x4
-#define DNS_QUERY_BYPASS_CACHE 0x8
-#define DNS_QUERY_NO_WIRE_QUERY 0x10
-#define DNS_QUERY_NO_LOCAL_NAME 0x20
-#define DNS_QUERY_NO_HOSTS_FILE 0x40
-#define DNS_QUERY_NO_NETBT 0x80
-#define DNS_QUERY_TREAT_AS_FQDN 0x1000
-#define DNS_QUERY_WIRE_ONLY 0x100
-#define DNS_QUERY_RETURN_MESSAGE 0x200
-#define DNS_QUERY_DONT_RESET_TTL_VALUES 0x100000
-#define DNS_QUERY_RESERVED 0xff000000
-
-#define DNS_UPDATE_SECURITY_USE_DEFAULT 0x0
-#define DNS_UPDATE_SECURITY_OFF 0x10
-#define DNS_UPDATE_SECURITY_ON 0x20
-#define DNS_UPDATE_SECURITY_ONLY 0x100
-#define DNS_UPDATE_CACHE_SECURITY_CONTEXT 0x200
-#define DNS_UPDATE_TEST_USE_LOCAL_SYS_ACCT 0x400
-#define DNS_UPDATE_FORCE_SECURITY_NEGO 0x800
-#define DNS_UPDATE_RESERVED 0xffff0000
-
-#ifndef RC_INVOKE
-typedef DWORD IP4_ADDRESS;
-typedef DWORD DNS_STATUS;
-enum {
- DNS_TYPE_A=1,
- DNS_TYPE_NS,
- DNS_TYPE_MD,
- DNS_TYPE_MF,
- DNS_TYPE_CNAME,
- DNS_TYPE_SOA,
- DNS_TYPE_MB,
- DNS_TYPE_MG,
- DNS_TYPE_MR,
- DNS_TYPE_NULL,
- DNS_TYPE_WKS,
- DNS_TYPE_PTR,
- DNS_TYPE_HINFO,
- DNS_TYPE_MINFO,
- DNS_TYPE_MX,
- DNS_TYPE_TEXT
-};
-typedef enum _DNS_CHARSET
-{
- DnsCharSetUnknown,
- DnsCharSetUnicode,
- DnsCharSetUtf8,
- DnsCharSetAnsi
-} DNS_CHARSET;
-typedef enum
-{
- DnsConfigPrimaryDomainName_W,
- DnsConfigPrimaryDomainName_A,
- DnsConfigPrimaryDomainName_UTF8,
- DnsConfigAdapterDomainName_W,
- DnsConfigAdapterDomainName_A,
- DnsConfigAdapterDomainName_UTF8,
- DnsConfigDnsServerList,
- DnsConfigSearchList,
- DnsConfigAdapterInfo,
- DnsConfigPrimaryHostNameRegistrationEnabled,
- DnsConfigAdapterHostNameRegistrationEnabled,
- DnsConfigAddressRegistrationMaxCount,
- DnsConfigHostName_W,
- DnsConfigHostName_A,
- DnsConfigHostName_UTF8,
- DnsConfigFullHostName_W,
- DnsConfigFullHostName_A,
- DnsConfigFullHostName_UTF8
-} DNS_CONFIG_TYPE;
-typedef enum
-{
- DnsFreeFlat = 0,
- DnsFreeRecordList,
- DnsFreeParsedMessageFields
-} DNS_FREE_TYPE;
-typedef enum _DNS_NAME_FORMAT
-{
- DnsNameDomain,
- DnsNameDomainLabel,
- DnsNameHostnameFull,
- DnsNameHostnameLabel,
- DnsNameWildcard,
- DnsNameSrvRecord
-} DNS_NAME_FORMAT;
-typedef enum
-{
- DnsSectionQuestion,
- DnsSectionAnswer,
- DnsSectionAuthority,
- DnsSectionAdditional
-} DNS_SECTION;
-typedef struct _IP4_ARRAY {
- DWORD AddrCount;
- IP4_ADDRESS AddrArray[1];
-} IP4_ARRAY, *PIP4_ARRAY;
-typedef struct {
- DWORD IP6Dword[4];
-} IP6_ADDRESS, *PIP6_ADDRESS, DNS_IP6_ADDRESS, *PDNS_IP6_ADDRESS;
-typedef struct _DNS_HEADER {
- WORD Xid;
- BYTE RecursionDesired;
- BYTE Truncation;
- BYTE Authoritative;
- BYTE Opcode;
- BYTE IsResponse;
- BYTE ResponseCode;
- BYTE Reserved;
- BYTE RecursionAvailable;
- WORD QuestionCount;
- WORD AnswerCount;
- WORD NameServerCount;
- WORD AdditionalCount;
-} DNS_HEADER, *PDNS_HEADER;
-typedef struct _DNS_MESSAGE_BUFFER {
- DNS_HEADER MessageHead;
- CHAR MessageBody[1];
-} DNS_MESSAGE_BUFFER, *PDNS_MESSAGE_BUFFER;
-typedef struct _DnsRecordFlags {
- DWORD Section :2;
- DWORD Delete :1;
- DWORD CharSet :2;
- DWORD Unused :3;
- DWORD Reserved :24;
-} DNS_RECORD_FLAGS;
-#define DNSREC_QUESTION 0
-#define DNSREC_ANSWER 1
-#define DNSREC_AUTHORITY 2
-#define DNSREC_ADDITIONAL 3
-typedef struct {
- IP4_ADDRESS IpAddress;
-} DNS_A_DATA, *PDNS_A_DATA;
-typedef struct {
- DNS_IP6_ADDRESS Ip6Address;
-} DNS_AAAA_DATA, *PDNS_AAAA_DATA;
-#define DNS_ATMA_MAX_ADDR_LENGTH 20
-typedef struct {
- BYTE AddressType;
- BYTE Address[DNS_ATMA_MAX_ADDR_LENGTH];
-} DNS_ATMA_DATA, *PDNS_ATMA_DATA;
-typedef struct {
- WORD wFlags;
- BYTE chProtocol;
- BYTE chAlgorithm;
- BYTE Key[1];
-} DNS_KEY_DATA, *PDNS_KEY_DATA;
-typedef struct {
- WORD wVersion;
- WORD wSize;
- WORD wHorPrec;
- WORD wVerPrec;
- DWORD dwLatitude;
- DWORD dwLongitude;
- DWORD dwAltitude;
-} DNS_LOC_DATA, *PDNS_LOC_DATA;
-typedef struct {
- LPTSTR pNameMailbox;
- LPTSTR pNameErrorsMailbox;
-} DNS_MINFO_DATA, *PDNS_MINFO_DATA;
-typedef struct {
- LPTSTR pNameExchange;
- WORD wPreference;
- WORD Pad;
-} DNS_MX_DATA, *PDNS_MX_DATA;
-typedef struct {
- DWORD dwByteCount;
- BYTE Data[1];
-} DNS_NULL_DATA, *PDNS_NULL_DATA;
-typedef struct {
- LPTSTR pNameNext;
- WORD wNumTypes;
- WORD wTypes[1];
-} DNS_NXT_DATA, *PDNS_NXT_DATA;
-typedef struct {
- LPTSTR pNameHost;
-} DNS_PTR_DATA, *PDNS_PTR_DATA;
-typedef struct {
- LPTSTR pNameSigner;
- WORD wTypeCovered;
- BYTE chAlgorithm;
- BYTE chLabelCount;
- DWORD dwOriginalTtl;
- DWORD dwExpiration;
- DWORD dwTimeSigned;
- WORD wKeyTag;
- WORD Pad;
- BYTE Signature[1];
-} DNS_SIG_DATA, *PDNS_SIG_DATA;
-typedef struct {
- LPTSTR pNamePrimaryServer;
- LPTSTR pNameAdministrator;
- DWORD dwSerialNo;
- DWORD dwRefresh;
- DWORD dwRetry;
- DWORD dwExpire;
- DWORD dwDefaultTtl;
-} DNS_SOA_DATA, *PDNS_SOA_DATA;
-typedef struct {
- LPTSTR pNameTarget;
- WORD wPriority;
- WORD wWeight;
- WORD wPort;
- WORD Pad;
-} DNS_SRV_DATA, *PDNS_SRV_DATA;
-typedef struct {
- DWORD dwStringCount;
- LPTSTR pStringArray[1];
-} DNS_TXT_DATA, *PDNS_TXT_DATA;
-typedef struct {
- LPTSTR pNameAlgorithm;
- PBYTE pAlgorithmPacket;
- PBYTE pKey;
- PBYTE pOtherData;
- DWORD dwCreateTime;
- DWORD dwExpireTime;
- WORD wMode;
- WORD wError;
- WORD wKeyLength;
- WORD wOtherLength;
- UCHAR cAlgNameLength;
- BOOL bPacketPointers;
-} DNS_TKEY_DATA, *PDNS_TKEY_DATA;
-typedef struct {
- LPTSTR pNameAlgorithm;
- PBYTE pAlgorithmPacket;
- PBYTE pSignature;
- PBYTE pOtherData;
- LONGLONG i64CreateTime;
- WORD wFudgeTime;
- WORD wOriginalXid;
- WORD wError;
- WORD wSigLength;
- WORD wOtherLength;
- UCHAR cAlgNameLength;
- BOOL bPacketPointers;
-} DNS_TSIG_DATA, *PDNS_TSIG_DATA;
-typedef struct {
- DWORD dwMappingFlag;
- DWORD dwLookupTimeout;
- DWORD dwCacheTimeout;
- DWORD cWinsServerCount;
- IP4_ADDRESS WinsServers[1];
-} DNS_WINS_DATA, *PDNS_WINS_DATA;
-typedef struct {
- DWORD dwMappingFlag;
- DWORD dwLookupTimeout;
- DWORD dwCacheTimeout;
- LPTSTR pNameResultDomain;
-} DNS_WINSR_DATA, *PDNS_WINSR_DATA;
-typedef struct _DNS_WIRE_QUESTION {
- WORD QuestionType;
- WORD QuestionClass;
-} DNS_WIRE_QUESTION, *PDNS_WIRE_QUESTION;
-typedef struct _DNS_WIRE_RECORD {
- WORD RecordType;
- WORD RecordClass;
- DWORD TimeToLive;
- WORD DataLength;
-} DNS_WIRE_RECORD, *PDNS_WIRE_RECORD;
-typedef struct {
- IP4_ADDRESS IpAddress;
- UCHAR chProtocol;
- BYTE BitMask[1];
-} DNS_WKS_DATA, *PDNS_WKS_DATA;
-typedef struct _DnsRecord {
- struct _DnsRecord* pNext;
- LPTSTR pName;
- WORD wType;
- WORD wDataLength;
- union {
- DWORD DW;
- DNS_RECORD_FLAGS S;
- } Flags;
- DWORD dwTtl;
- DWORD dwReserved;
- union {
- DNS_A_DATA A;
- DNS_SOA_DATA SOA, Soa;
- DNS_PTR_DATA PTR, Ptr, NS, Ns, CNAME, Cname, MB, Mb,
- MD, Md, MF, Mf, MG, Mg, MR, Mr;
- DNS_MINFO_DATA MINFO, Minfo, RP, Rp;
- DNS_MX_DATA MX, Mx, AFSDB, Afsdb, RT, Rt;
- DNS_TXT_DATA HINFO, Hinfo, ISDN, Isdn, TXT, Txt, X25;
- DNS_NULL_DATA Null;
- DNS_WKS_DATA WKS, Wks;
- DNS_AAAA_DATA AAAA;
- DNS_KEY_DATA KEY, Key;
- DNS_SIG_DATA SIG, Sig;
- DNS_ATMA_DATA ATMA, Atma;
- DNS_NXT_DATA NXT, Nxt;
- DNS_SRV_DATA SRV, Srv;
- DNS_TKEY_DATA TKEY, Tkey;
- DNS_TSIG_DATA TSIG, Tsig;
- DNS_WINS_DATA WINS, Wins;
- DNS_WINSR_DATA WINSR, WinsR, NBSTAT, Nbstat;
- } Data;
-} DNS_RECORD, *PDNS_RECORD;
-typedef struct _DnsRRSet {
- PDNS_RECORD pFirstRR;
- PDNS_RECORD pLastRR;
-} DNS_RRSET, *PDNS_RRSET;
-
-DNS_STATUS WINAPI DnsAcquireContextHandle_A(DWORD,PVOID,HANDLE*);
-DNS_STATUS WINAPI DnsAcquireContextHandle_W(DWORD,PVOID,HANDLE*);
-DNS_STATUS WINAPI DnsExtractRecordsFromMessage_W(PDNS_MESSAGE_BUFFER,WORD,PDNS_RECORD*);
-DNS_STATUS WINAPI DnsExtractRecordsFromMessage_UTF8(PDNS_MESSAGE_BUFFER,WORD,PDNS_RECORD*);
-DNS_STATUS WINAPI DnsModifyRecordsInSet_A(PDNS_RECORD,PDNS_RECORD,DWORD,HANDLE,PIP4_ARRAY,PVOID);
-DNS_STATUS WINAPI DnsModifyRecordsInSet_W(PDNS_RECORD,PDNS_RECORD,DWORD,HANDLE,PIP4_ARRAY,PVOID);
-DNS_STATUS WINAPI DnsModifyRecordsInSet_UTF8(PDNS_RECORD,PDNS_RECORD,DWORD,HANDLE,PIP4_ARRAY,PVOID);
-BOOL WINAPI DnsNameCompare_A(LPSTR,LPSTR);
-BOOL WINAPI DnsNameCompare_W(LPWSTR,LPWSTR);
-DNS_STATUS WINAPI DnsQuery_A(PCSTR,WORD,DWORD,PIP4_ARRAY,PDNS_RECORD*,PVOID*);
-DNS_STATUS WINAPI DnsQuery_W(PCWSTR,WORD,DWORD,PIP4_ARRAY,PDNS_RECORD*,PVOID*);
-DNS_STATUS WINAPI DnsQuery_UTF8(PCSTR,WORD,DWORD,PIP4_ARRAY,PDNS_RECORD*,PVOID*);
-DNS_STATUS WINAPI DnsQueryConfig(DNS_CONFIG_TYPE,DWORD,PWSTR,PVOID,PVOID,PDWORD);
-BOOL WINAPI DnsRecordCompare(PDNS_RECORD,PDNS_RECORD);
-PDNS_RECORD WINAPI DnsRecordCopyEx(PDNS_RECORD,DNS_CHARSET,DNS_CHARSET);
-void WINAPI DnsRecordListFree(PDNS_RECORD,DNS_FREE_TYPE);
-BOOL WINAPI DnsRecordSetCompare(PDNS_RECORD,PDNS_RECORD,PDNS_RECORD*,PDNS_RECORD*);
-PDNS_RECORD WINAPI DnsRecordSetCopyEx(PDNS_RECORD,DNS_CHARSET,DNS_CHARSET);
-PDNS_RECORD WINAPI DnsRecordSetDetach(PDNS_RECORD);
-void WINAPI DnsReleaseContextHandle(HANDLE);
-DNS_STATUS WINAPI DnsReplaceRecordSetA(PDNS_RECORD,DWORD,HANDLE,PIP4_ARRAY,PVOID);
-DNS_STATUS WINAPI DnsReplaceRecordSetW(PDNS_RECORD,DWORD,HANDLE,PIP4_ARRAY,PVOID);
-DNS_STATUS WINAPI DnsReplaceRecordSetUTF8(PDNS_RECORD,DWORD,HANDLE,PIP4_ARRAY,PVOID);
-DNS_STATUS WINAPI DnsValidateName_A(LPCSTR,DNS_NAME_FORMAT);
-DNS_STATUS WINAPI DnsValidateName_W(LPCWSTR, DNS_NAME_FORMAT);
-DNS_STATUS WINAPI DnsValidateName_UTF8(LPCSTR,DNS_NAME_FORMAT);
-BOOL WINAPI DnsWriteQuestionToBuffer_W(PDNS_MESSAGE_BUFFER,LPDWORD,LPWSTR,WORD,WORD,BOOL);
-BOOL WINAPI DnsWriteQuestionToBuffer_UTF8(PDNS_MESSAGE_BUFFER,LPDWORD,LPSTR,WORD,WORD,BOOL);
-
-#ifdef UNICODE
-#define DnsAcquireContextHandle DnsAcquireContextHandle_W
-#define DnsModifyRecordsInSet DnsModifyRecordsInSet_W
-#define DnsNameCompare DnsNameCompare_W
-#define DnsQuery DnsQuery_W
-#define DnsReplaceRecordSet DnsReplaceRecordSetW
-#define DnsValidateName DnsValidateName_W
-#else
-#define DnsAcquireContextHandle DnsAcquireContextHandle_A
-#define DnsModifyRecordsInSet DnsModifyRecordsInSet_A
-#define DnsNameCompare DnsNameCompare_A
-#define DnsQuery DnsQuery_A
-#define DnsReplaceRecordSet DnsReplaceRecordSetA
-#define DnsValidateName DnsValidateName_A
-#endif
-
-#endif /* RC_INVOKED */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _WINDNS_H */
diff --git a/winsup/w32api/include/windows.h b/winsup/w32api/include/windows.h
deleted file mode 100644
index dde83a316..000000000
--- a/winsup/w32api/include/windows.h
+++ /dev/null
@@ -1,128 +0,0 @@
-/*
- windows.h - main header file for the Win32 API
-
- Written by Anders Norlander <anorland@hem2.passagen.se>
-
- This file is part of a free library for the Win32 API.
-
- This library 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.
-
-*/
-#ifndef _WINDOWS_H
-#define _WINDOWS_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-/* translate GCC target defines to MS equivalents. Keep this synchronized
- with winnt.h. */
-#if defined(__i686__) && !defined(_M_IX86)
-#define _M_IX86 600
-#elif defined(__i586__) && !defined(_M_IX86)
-#define _M_IX86 500
-#elif defined(__i486__) && !defined(_M_IX86)
-#define _M_IX86 400
-#elif defined(__i386__) && !defined(_M_IX86)
-#define _M_IX86 300
-#endif
-#if defined(_M_IX86) && !defined(_X86_)
-#define _X86_
-#elif defined(_M_ALPHA) && !defined(_ALPHA_)
-#define _ALPHA_
-#elif defined(_M_PPC) && !defined(_PPC_)
-#define _PPC_
-#elif defined(_M_MRX000) && !defined(_MIPS_)
-#define _MIPS_
-#elif defined(_M_M68K) && !defined(_68K_)
-#define _68K_
-#endif
-
-#ifdef RC_INVOKED
-/* winresrc.h includes the necessary headers */
-#include <winresrc.h>
-#else
-
-#include <stdarg.h>
-#include <windef.h>
-#include <wincon.h>
-#include <winbase.h>
-#if !(defined NOGDI || defined _WINGDI_H)
-#include <wingdi.h>
-#endif
-#ifndef _WINUSER_H
-#include <winuser.h>
-#endif
-#ifndef _WINNLS_H
-#include <winnls.h>
-#endif
-#ifndef _WINVER_H
-#include <winver.h>
-#endif
-#ifndef _WINNETWK_H
-#include <winnetwk.h>
-#endif
-#ifndef _WINREG_H
-#include <winreg.h>
-#endif
-#ifndef _WINSVC_H
-#include <winsvc.h>
-#endif
-
-#ifndef WIN32_LEAN_AND_MEAN
-#include <cderr.h>
-#include <dde.h>
-#include <ddeml.h>
-#include <dlgs.h>
-#include <imm.h>
-#include <lzexpand.h>
-#include <mmsystem.h>
-#include <nb30.h>
-#include <rpc.h>
-#include <shellapi.h>
-#include <winperf.h>
-#ifndef NOGDI
-#include <commdlg.h>
-#include <winspool.h>
-#endif
-#if defined(Win32_Winsock)
-#warning "The Win32_Winsock macro name is deprecated.\
- Please use __USE_W32_SOCKETS instead"
-#ifndef __USE_W32_SOCKETS
-#define __USE_W32_SOCKETS
-#endif
-#endif
-#if defined(__USE_W32_SOCKETS) || !(defined(__CYGWIN__) || defined(__MSYS__) || defined(_UWIN))
-#if (_WIN32_WINNT >= 0x0400)
-#include <winsock2.h>
-/*
- * MS likes to include mswsock.h here as well,
- * but that can cause undefined symbols if
- * winsock2.h is included before windows.h
- */
-#else
-#include <winsock.h>
-#endif /* (_WIN32_WINNT >= 0x0400) */
-#endif
-#ifndef NOGDI
-#if !defined (__OBJC__)
-#if (__GNUC__ >= 3) || defined (__WATCOMC__)
-#include <ole2.h>
-#endif
-#endif /* __OBJC__ */
-#endif
-
-#endif /* WIN32_LEAN_AND_MEAN */
-
-#endif /* RC_INVOKED */
-
-#ifdef __OBJC__
-/* FIXME: Not undefining BOOL here causes all BOOLs to be WINBOOL (int),
- but undefining it causes trouble as well if a file is included after
- windows.h
-*/
-#undef BOOL
-#endif
-
-#endif
diff --git a/winsup/w32api/include/windowsx.h b/winsup/w32api/include/windowsx.h
deleted file mode 100644
index 460718e64..000000000
--- a/winsup/w32api/include/windowsx.h
+++ /dev/null
@@ -1,544 +0,0 @@
-#ifndef _WINDOWSX_H
-#define _WINDOWSX_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#define WM_CTLCOLOR 25
-#define Button_Enable(hwndCtl,fEnable) EnableWindow((hwndCtl),(fEnable))
-#define Button_GetCheck(hwndCtl) ((int)(DWORD)SendMessage((hwndCtl),BM_GETCHECK,0,0))
-#define Button_GetState(hwndCtl) ((int)(DWORD)SendMessage((hwndCtl),BM_GETSTATE,0,0))
-#define Button_GetText(hwndCtl,lpch,cchMax) GetWindowText((hwndCtl),(lpch),(cchMax))
-#define Button_GetTextLength(hwndCtl) GetWindowTextLength(hwndCtl)
-#define Button_SetCheck(hwndCtl,check) ((void)SendMessage((hwndCtl),BM_SETCHECK,(WPARAM)(int)(check),0))
-#define Button_SetState(hwndCtl,state) ((UINT)(DWORD)SendMessage((hwndCtl),BM_SETSTATE,(WPARAM)(int)(state),0))
-#define Button_SetStyle(hwndCtl,style,fRedraw) ((void)SendMessage((hwndCtl),BM_SETSTYLE,(WPARAM)LOWORD(style),MAKELPARAM(((fRedraw) ? TRUE : FALSE),0)))
-#define Button_SetText(hwndCtl,lpsz) SetWindowText((hwndCtl),(lpsz))
-#define CheckDefDlgRecursion(pfRecursion) if (*(pfRecursion)) {*(pfRecursion) = FALSE; return FALSE; }
-#define ComboBox_AddItemData(hwndCtl,data) ((int)(DWORD)SendMessage((hwndCtl),CB_ADDSTRING,0,(LPARAM)(data)))
-#define ComboBox_AddString(hwndCtl,lpsz) ((int)(DWORD)SendMessage((hwndCtl),CB_ADDSTRING,0,(LPARAM)(LPCTSTR)(lpsz)))
-#define ComboBox_DeleteString(hwndCtl,index) ((int)(DWORD)SendMessage((hwndCtl),CB_DELETESTRING,(WPARAM)(int)(index),0))
-#define ComboBox_Dir(hwndCtl,attrs,lpszFileSpec) ((int)(DWORD)SendMessage((hwndCtl),CB_DIR,(WPARAM)(UINT)(attrs),(LPARAM)(LPCTSTR)(lpszFileSpec)))
-#define ComboBox_Enable(hwndCtl,fEnable) EnableWindow((hwndCtl),(fEnable))
-#define ComboBox_FindItemData(hwndCtl,indexStart,data) ((int)(DWORD)SendMessage((hwndCtl),CB_FINDSTRING,(WPARAM)(int)(indexStart),(LPARAM)(data)))
-#define ComboBox_FindString(hwndCtl,indexStart,lpszFind) ((int)(DWORD)SendMessage((hwndCtl),CB_FINDSTRING,(WPARAM)(int)(indexStart),(LPARAM)(LPCTSTR)(lpszFind)))
-#define ComboBox_FindStringExact(hwndCtl,indexStart,lpszFind) ((int)(DWORD)SendMessage((hwndCtl),CB_FINDSTRINGEXACT,(WPARAM)(int)(indexStart),(LPARAM)(LPCTSTR)(lpszFind)))
-#define ComboBox_GetCount(hwndCtl) ((int)(DWORD)SendMessage((hwndCtl),CB_GETCOUNT,0,0))
-#define ComboBox_GetCurSel(hwndCtl) ((int)(DWORD)SendMessage((hwndCtl),CB_GETCURSEL,0,0))
-#define ComboBox_GetDroppedControlRect(hwndCtl,lprc) ((void)SendMessage((hwndCtl),CB_GETDROPPEDCONTROLRECT,0,(LPARAM)(RECT*)(lprc)))
-#define ComboBox_GetDroppedState(hwndCtl) ((BOOL)(DWORD)SendMessage((hwndCtl),CB_GETDROPPEDSTATE,0,0))
-#define ComboBox_GetEditSel(hwndCtl) ((DWORD)SendMessage((hwndCtl),CB_GETEDITSEL,0,0))
-#define ComboBox_GetExtendedUI(hwndCtl) ((UINT)(DWORD)SendMessage((hwndCtl),CB_GETEXTENDEDUI,0,0))
-#define ComboBox_GetItemData(hwndCtl,index) ((LRESULT)(DWORD)SendMessage((hwndCtl),CB_GETITEMDATA,(WPARAM)(int)(index),0))
-#define ComboBox_GetItemHeight(hwndCtl) ((int)(DWORD)SendMessage((hwndCtl),CB_GETITEMHEIGHT,0,0))
-#define ComboBox_GetLBText(hwndCtl,index,lpszBuffer) ((int)(DWORD)SendMessage((hwndCtl),CB_GETLBTEXT,(WPARAM)(int)(index),(LPARAM)(LPCTSTR)(lpszBuffer)))
-#define ComboBox_GetLBTextLen(hwndCtl,index) ((int)(DWORD)SendMessage((hwndCtl),CB_GETLBTEXTLEN,(WPARAM)(int)(index),0))
-#define ComboBox_GetText(hwndCtl,lpch,cchMax) GetWindowText((hwndCtl),(lpch),(cchMax))
-#define ComboBox_GetTextLength(hwndCtl) GetWindowTextLength(hwndCtl)
-#define ComboBox_InsertItemData(hwndCtl,index,data) ((int)(DWORD)SendMessage((hwndCtl),CB_INSERTSTRING,(WPARAM)(int)(index),(LPARAM)(data)))
-#define ComboBox_InsertString(hwndCtl,index,lpsz) ((int)(DWORD)SendMessage((hwndCtl),CB_INSERTSTRING,(WPARAM)(int)(index),(LPARAM)(LPCTSTR)(lpsz)))
-#define ComboBox_LimitText(hwndCtl,cchLimit) ((int)(DWORD)SendMessage((hwndCtl),CB_LIMITTEXT,(WPARAM)(int)(cchLimit),0))
-#define ComboBox_ResetContent(hwndCtl) ((int)(DWORD)SendMessage((hwndCtl),CB_RESETCONTENT,0,0))
-#define ComboBox_SelectItemData(hwndCtl,indexStart,data) ((int)(DWORD)SendMessage((hwndCtl),CB_SELECTSTRING,(WPARAM)(int)(indexStart),(LPARAM)(data)))
-#define ComboBox_SelectString(hwndCtl,indexStart,lpszSelect) ((int)(DWORD)SendMessage((hwndCtl),CB_SELECTSTRING,(WPARAM)(int)(indexStart),(LPARAM)(LPCTSTR)(lpszSelect)))
-#define ComboBox_SetCurSel(hwndCtl,index) ((int)(DWORD)SendMessage((hwndCtl),CB_SETCURSEL,(WPARAM)(int)(index),0))
-#define ComboBox_SetEditSel(hwndCtl,ichStart,ichEnd) ((int)(DWORD)SendMessage((hwndCtl),CB_SETEDITSEL,0,MAKELPARAM((ichStart),(ichEnd))))
-#define ComboBox_SetExtendedUI(hwndCtl,flags) ((int)(DWORD)SendMessage((hwndCtl),CB_SETEXTENDEDUI,(WPARAM)(UINT)(flags),0))
-#define ComboBox_SetItemData(hwndCtl,index,data) ((int)(DWORD)SendMessage((hwndCtl),CB_SETITEMDATA,(WPARAM)(int)(index),(LPARAM)(data)))
-#define ComboBox_SetItemHeight(hwndCtl,index,cyItem) ((int)(DWORD)SendMessage((hwndCtl),CB_SETITEMHEIGHT,(WPARAM)(int)(index),(LPARAM)(int)cyItem))
-#define ComboBox_SetText(hwndCtl,lpsz) SetWindowText((hwndCtl),(lpsz))
-#define ComboBox_ShowDropdown(hwndCtl,fShow) ((BOOL)(DWORD)SendMessage((hwndCtl),CB_SHOWDROPDOWN,(WPARAM)(BOOL)(fShow),0))
-#define CopyRgn(hrgnDst,hrgnSrc) CombineRgn(hrgnDst,hrgnSrc,0,RGN_COPY)
-#define DECLARE_HANDLE32 DECLARE_HANDLE
-#define DefDlgProcEx(hwnd,msg,wParam,lParam,pfRecursion) (*(pfRecursion) = TRUE,DefDlgProc(hwnd,msg,wParam,lParam))
-#define DeleteBitmap(hbm) DeleteObject((HGDIOBJ)(HBITMAP)(hbm))
-#define DeleteBrush(hbr) DeleteObject((HGDIOBJ)(HBRUSH)(hbr))
-#define DeleteFont(hfont) DeleteObject((HGDIOBJ)(HFONT)(hfont))
-#define DeletePalette(hpal) DeleteObject((HGDIOBJ)(HPALETTE)(hpal))
-#define DeletePen(hpen) DeleteObject((HGDIOBJ)(HPEN)(hpen))
-#define DeleteRgn(hrgn) DeleteObject((HGDIOBJ)(HRGN)(hrgn))
-#define Edit_CanUndo(hwndCtl) ((BOOL)(DWORD)SendMessage((hwndCtl),EM_CANUNDO,0,0))
-#define Edit_EmptyUndoBuffer(hwndCtl) ((void)SendMessage((hwndCtl),EM_EMPTYUNDOBUFFER,0,0))
-#define Edit_Enable(hwndCtl,fEnable) EnableWindow((hwndCtl),(fEnable))
-#define Edit_FmtLines(hwndCtl,fAddEOL) ((BOOL)(DWORD)SendMessage((hwndCtl),EM_FMTLINES,(WPARAM)(BOOL)(fAddEOL),0))
-#define Edit_GetFirstVisibleLine(hwndCtl) ((int)(DWORD)SendMessage((hwndCtl),EM_GETFIRSTVISIBLELINE,0,0))
-#define Edit_GetHandle(hwndCtl) ((HLOCAL)(UINT)(DWORD)SendMessage((hwndCtl),EM_GETHANDLE,0,0))
-#define Edit_GetLine(hwndCtl,line,lpch,cchMax) ((*((int*)(lpch)) = (cchMax)),((int)(DWORD)SendMessage((hwndCtl),EM_GETLINE,(WPARAM)(int)(line),(LPARAM)(LPTSTR)(lpch))))
-#define Edit_GetLineCount(hwndCtl) ((int)(DWORD)SendMessage((hwndCtl),EM_GETLINECOUNT,0,0))
-#define Edit_GetModify(hwndCtl) ((BOOL)(DWORD)SendMessage((hwndCtl),EM_GETMODIFY,0,0))
-#define Edit_GetPasswordChar(hwndCtl) ((TCHAR)(DWORD)SendMessage((hwndCtl),EM_GETPASSWORDCHAR,0,0))
-#define Edit_GetRect(hwndCtl,lprc) ((void)SendMessage((hwndCtl),EM_GETRECT,0,(LPARAM)(RECT*)(lprc)))
-#define Edit_GetSel(hwndCtl) ((DWORD)SendMessage((hwndCtl),EM_GETSEL,0,0))
-#define Edit_GetText(hwndCtl,lpch,cchMax) GetWindowText((hwndCtl),(lpch),(cchMax))
-#define Edit_GetTextLength(hwndCtl) GetWindowTextLength(hwndCtl)
-#define Edit_GetWordBreakProc(hwndCtl) ((EDITWORDBREAKPROC)SendMessage((hwndCtl),EM_GETWORDBREAKPROC,0,0))
-#define Edit_LimitText(hwndCtl,cchMax) ((void)SendMessage((hwndCtl),EM_LIMITTEXT,(WPARAM)(cchMax),0))
-#define Edit_LineFromChar(hwndCtl,ich) ((int)(DWORD)SendMessage((hwndCtl),EM_LINEFROMCHAR,(WPARAM)(int)(ich),0))
-#define Edit_LineIndex(hwndCtl,line) ((int)(DWORD)SendMessage((hwndCtl),EM_LINEINDEX,(WPARAM)(int)(line),0))
-#define Edit_LineLength(hwndCtl,line) ((int)(DWORD)SendMessage((hwndCtl),EM_LINELENGTH,(WPARAM)(int)(line),0))
-#define Edit_ReplaceSel(hwndCtl,lpszReplace) ((void)SendMessage((hwndCtl),EM_REPLACESEL,0,(LPARAM)(LPCTSTR)(lpszReplace)))
-#define Edit_Scroll(hwndCtl,dv,dh) ((void)SendMessage((hwndCtl),EM_LINESCROLL,(WPARAM)(dh),(LPARAM)(dv)))
-#define Edit_ScrollCaret(hwndCtl) ((BOOL)(DWORD)SendMessage((hwndCtl),EM_SCROLLCARET,0,0))
-#define Edit_SetHandle(hwndCtl,h) ((void)SendMessage((hwndCtl),EM_SETHANDLE,(WPARAM)(UINT)(HLOCAL)(h),0))
-#define Edit_SetModify(hwndCtl,fModified) ((void)SendMessage((hwndCtl),EM_SETMODIFY,(WPARAM)(UINT)(fModified),0))
-#define Edit_SetPasswordChar(hwndCtl,ch) ((void)SendMessage((hwndCtl),EM_SETPASSWORDCHAR,(WPARAM)(UINT)(ch),0))
-#define Edit_SetReadOnly(hwndCtl,fReadOnly) ((BOOL)(DWORD)SendMessage((hwndCtl),EM_SETREADONLY,(WPARAM)(BOOL)(fReadOnly),0))
-#define Edit_SetRect(hwndCtl,lprc) ((void)SendMessage((hwndCtl),EM_SETRECT,0,(LPARAM)(const RECT*)(lprc)))
-#define Edit_SetRectNoPaint(hwndCtl,lprc) ((void)SendMessage((hwndCtl),EM_SETRECTNP,0,(LPARAM)(const RECT*)(lprc)))
-#define Edit_SetSel(hwndCtl,ichStart,ichEnd) ((void)SendMessage((hwndCtl),EM_SETSEL,(ichStart),(ichEnd)))
-#define Edit_SetTabStops(hwndCtl,cTabs,lpTabs) ((void)SendMessage((hwndCtl),EM_SETTABSTOPS,(WPARAM)(int)(cTabs),(LPARAM)(const int*)(lpTabs)))
-#define Edit_SetText(hwndCtl,lpsz) SetWindowText((hwndCtl),(lpsz))
-#define Edit_SetWordBreakProc(hwndCtl,lpfnWordBreak) ((void)SendMessage((hwndCtl),EM_SETWORDBREAKPROC,0,(LPARAM)(EDITWORDBREAKPROC)(lpfnWordBreak)))
-#define Edit_Undo(hwndCtl) ((BOOL)(DWORD)SendMessage((hwndCtl),EM_UNDO,0,0))
-#define FORWARD_WM_ACTIVATE(hwnd,state,hwndActDeact,fMinimized,fn) (void)(fn)((hwnd),WM_ACTIVATE,MAKEWPARAM((state),(fMinimized)),(LPARAM)(HWND)(hwndActDeact))
-#define FORWARD_WM_ACTIVATEAPP(hwnd,fActivate,dwThreadId,fn) (void)(fn)((hwnd),WM_ACTIVATEAPP,(WPARAM)(BOOL)(fActivate),(LPARAM)(dwThreadId))
-#define FORWARD_WM_ASKCBFORMATNAME(hwnd,cchMax,rgchName,fn) (void)(fn)((hwnd),WM_ASKCBFORMATNAME,(WPARAM)(int)(cchMax),(LPARAM)(rgchName))
-#define FORWARD_WM_CANCELMODE(hwnd,fn) (void)(fn)((hwnd),WM_CANCELMODE,0,0)
-#define FORWARD_WM_CHANGECBCHAIN(hwnd,hwndRemove,hwndNext,fn) (void)(fn)((hwnd),WM_CHANGECBCHAIN,(WPARAM)(HWND)(hwndRemove),(LPARAM)(HWND)(hwndNext))
-#define FORWARD_WM_CHAR(hwnd,ch,cRepeat,fn) (void)(fn)((hwnd),WM_CHAR,(WPARAM)(TCHAR)(ch),MAKELPARAM((cRepeat),0))
-#define FORWARD_WM_CHARTOITEM(hwnd,ch,hwndListBox,iCaret,fn) (int)(DWORD)(fn)((hwnd),WM_CHARTOITEM,MAKEWPARAM((UINT)(iCaret),(UINT)(ch)),(LPARAM)(hwndListBox))
-#define FORWARD_WM_CHILDACTIVATE(hwnd,fn) (void)(fn)((hwnd),WM_CHILDACTIVATE,0,0)
-#define FORWARD_WM_CLEAR(hwnd,fn) (void)(fn)((hwnd),WM_CLEAR,0,0)
-#define FORWARD_WM_CLOSE(hwnd,fn) (void)(fn)((hwnd),WM_CLOSE,0,0)
-#define FORWARD_WM_COMMAND(hwnd,id,hwndCtl,codeNotify,fn) (void)(fn)((hwnd),WM_COMMAND,MAKEWPARAM((UINT)(id),(UINT)(codeNotify)),(LPARAM)(HWND)(hwndCtl))
-#define FORWARD_WM_COMMNOTIFY(hwnd,cid,flags,fn) (void)(fn)((hwnd),WM_COMMNOTIFY,(WPARAM)(cid),MAKELPARAM((flags),0))
-#define FORWARD_WM_COMPACTING(hwnd,compactRatio,fn) (void)(fn)((hwnd),WM_COMPACTING,(WPARAM)(UINT)(compactRatio),0)
-#define FORWARD_WM_COMPAREITEM(hwnd,lpCompareItem,fn) (int)(DWORD)(fn)((hwnd),WM_COMPAREITEM,(WPARAM)(((const COMPAREITEMSTRUCT*)(lpCompareItem))->CtlID),(LPARAM)(const COMPAREITEMSTRUCT*)(lpCompareItem))
-#define FORWARD_WM_COPY(hwnd,fn) (void)(fn)((hwnd),WM_COPY,0,0)
-#define FORWARD_WM_CREATE(hwnd,lpCreateStruct,fn) (BOOL)(DWORD)(fn)((hwnd),WM_CREATE,0,(LPARAM)(LPCREATESTRUCT)(lpCreateStruct))
-#define FORWARD_WM_CTLCOLORBTN(hwnd,hdc,hwndChild,fn) (HBRUSH)(UINT)(DWORD)(fn)((hwnd),WM_CTLCOLORBTN,(WPARAM)(HDC)(hdc),(LPARAM)(HWND)(hwndChild))
-#define FORWARD_WM_CTLCOLORDLG(hwnd,hdc,hwndChild,fn) (HBRUSH)(UINT)(DWORD)(fn)((hwnd),WM_CTLCOLORDLG,(WPARAM)(HDC)(hdc),(LPARAM)(HWND)(hwndChild))
-#define FORWARD_WM_CTLCOLOREDIT(hwnd,hdc,hwndChild,fn) (HBRUSH)(UINT)(DWORD)(fn)((hwnd),WM_CTLCOLOREDIT,(WPARAM)(HDC)(hdc),(LPARAM)(HWND)(hwndChild))
-#define FORWARD_WM_CTLCOLORLISTBOX(hwnd,hdc,hwndChild,fn) (HBRUSH)(UINT)(DWORD)(fn)((hwnd),WM_CTLCOLORLISTBOX,(WPARAM)(HDC)(hdc),(LPARAM)(HWND)(hwndChild))
-#define FORWARD_WM_CTLCOLORMSGBOX(hwnd,hdc,hwndChild,fn) (HBRUSH)(UINT)(DWORD)(fn)((hwnd),WM_CTLCOLORMSGBOX,(WPARAM)(HDC)(hdc),(LPARAM)(HWND)(hwndChild))
-#define FORWARD_WM_CTLCOLORSCROLLBAR(hwnd,hdc,hwndChild,fn) (HBRUSH)(UINT)(DWORD)(fn)((hwnd),WM_CTLCOLORSCROLLBAR,(WPARAM)(HDC)(hdc),(LPARAM)(HWND)(hwndChild))
-#define FORWARD_WM_CTLCOLORSTATIC(hwnd,hdc,hwndChild,fn) (HBRUSH)(UINT)(DWORD)(fn)((hwnd),WM_CTLCOLORSTATIC,(WPARAM)(HDC)(hdc),(LPARAM)(HWND)(hwndChild))
-#define FORWARD_WM_CUT(hwnd,fn) (void)(fn)((hwnd),WM_CUT,0,0)
-#define FORWARD_WM_DEADCHAR(hwnd,ch,cRepeat,fn) (void)(fn)((hwnd),WM_DEADCHAR,(WPARAM)(TCHAR)(ch),MAKELPARAM((cRepeat),0))
-#define FORWARD_WM_DELETEITEM(hwnd,lpDeleteItem,fn) (void)(fn)((hwnd),WM_DELETEITEM,(WPARAM)(((const DELETEITEMSTRUCT*)(lpDeleteItem))->CtlID),(LPARAM)(const DELETEITEMSTRUCT*)(lpDeleteItem))
-#define FORWARD_WM_DESTROY(hwnd,fn) (void)(fn)((hwnd),WM_DESTROY,0,0)
-#define FORWARD_WM_DESTROYCLIPBOARD(hwnd,fn) (void)(fn)((hwnd),WM_DESTROYCLIPBOARD,0,0)
-#define FORWARD_WM_DEVMODECHANGE(hwnd,lpszDeviceName,fn) (void)(fn)((hwnd),WM_DEVMODECHANGE,0,(LPARAM)(LPCTSTR)(lpszDeviceName))
-#define FORWARD_WM_DRAWCLIPBOARD(hwnd,fn) (void)(fn)((hwnd),WM_DRAWCLIPBOARD,0,0)
-#define FORWARD_WM_DRAWITEM(hwnd,lpDrawItem,fn) (void)(fn)((hwnd),WM_DRAWITEM,(WPARAM)(((const DRAWITEMSTRUCT*)lpDrawItem)->CtlID),(LPARAM)(const DRAWITEMSTRUCT*)(lpDrawItem))
-#define FORWARD_WM_DROPFILES(hwnd,hdrop,fn) (void)(fn)((hwnd),WM_DROPFILES,(WPARAM)(HDROP)(hdrop),0)
-#define FORWARD_WM_ENABLE(hwnd,fEnable,fn) (void)(fn)((hwnd),WM_ENABLE,(WPARAM)(BOOL)(fEnable),0)
-#define FORWARD_WM_ENDSESSION(hwnd,fEnding,fn) (void)(fn)((hwnd),WM_ENDSESSION,(WPARAM)(BOOL)(fEnding),0)
-#define FORWARD_WM_ENTERIDLE(hwnd,source,hwndSource,fn) (void)(fn)((hwnd),WM_ENTERIDLE,(WPARAM)(UINT)(source),(LPARAM)(HWND)(hwndSource))
-#define FORWARD_WM_ERASEBKGND(hwnd,hdc,fn) (BOOL)(DWORD)(fn)((hwnd),WM_ERASEBKGND,(WPARAM)(HDC)(hdc),0)
-#define FORWARD_WM_FONTCHANGE(hwnd,fn) (void)(fn)((hwnd),WM_FONTCHANGE,0,0)
-#define FORWARD_WM_GETDLGCODE(hwnd,lpmsg,fn) (UINT)(DWORD)(fn)((hwnd),WM_GETDLGCODE,(lpmsg ? lpmsg->wParam : 0),(LPARAM)(LPMSG)(lpmsg))
-#define FORWARD_WM_GETFONT(hwnd,fn) (HFONT)(UINT)(DWORD)(fn)((hwnd),WM_GETFONT,0,0)
-#define FORWARD_WM_GETMINMAXINFO(hwnd,lpMinMaxInfo,fn) (void)(fn)((hwnd),WM_GETMINMAXINFO,0,(LPARAM)(LPMINMAXINFO)(lpMinMaxInfo))
-#define FORWARD_WM_GETTEXT(hwnd,cchTextMax,lpszText,fn) (int)(DWORD)(fn)((hwnd),WM_GETTEXT,(WPARAM)(int)(cchTextMax),(LPARAM)(LPTSTR)(lpszText))
-#define FORWARD_WM_GETTEXTLENGTH(hwnd,fn) (int)(DWORD)(fn)((hwnd),WM_GETTEXTLENGTH,0,0)
-#define FORWARD_WM_HSCROLL(hwnd,hwndCtl,code,pos,fn) (void)(fn)((hwnd),WM_HSCROLL,MAKEWPARAM((UINT)(int)(code),(UINT)(int)(pos)),(LPARAM)(UINT)(hwndCtl))
-#define FORWARD_WM_HSCROLLCLIPBOARD(hwnd,hwndCBViewer,code,pos,fn) (void)(fn)((hwnd),WM_HSCROLLCLIPBOARD,(WPARAM)(HWND)(hwndCBViewer),MAKELPARAM((code),(pos)))
-#define FORWARD_WM_ICONERASEBKGND(hwnd,hdc,fn) (BOOL)(DWORD)(fn)((hwnd),WM_ICONERASEBKGND,(WPARAM)(HDC)(hdc),0)
-#define FORWARD_WM_INITDIALOG(hwnd,hwndFocus,lParam,fn) (BOOL)(DWORD)(fn)((hwnd),WM_INITDIALOG,(WPARAM)(HWND)(hwndFocus),(lParam))
-#define FORWARD_WM_INITMENU(hwnd,hMenu,fn) (void)(fn)((hwnd),WM_INITMENU,(WPARAM)(HMENU)(hMenu),0)
-#define FORWARD_WM_INITMENUPOPUP(hwnd,hMenu,item,fSystemMenu,fn) (void)(fn)((hwnd),WM_INITMENUPOPUP,(WPARAM)(HMENU)(hMenu),MAKELPARAM((item),(fSystemMenu)))
-#define FORWARD_WM_KEYDOWN(hwnd,vk,cRepeat,flags,fn) (void)(fn)((hwnd),WM_KEYDOWN,(WPARAM)(UINT)(vk),MAKELPARAM((cRepeat),(flags)))
-#define FORWARD_WM_KEYUP(hwnd,vk,cRepeat,flags,fn) (void)(fn)((hwnd),WM_KEYUP,(WPARAM)(UINT)(vk),MAKELPARAM((cRepeat),(flags)))
-#define FORWARD_WM_KILLFOCUS(hwnd,hwndNewFocus,fn) (void)(fn)((hwnd),WM_KILLFOCUS,(WPARAM)(HWND)(hwndNewFocus),0)
-#define FORWARD_WM_LBUTTONDOWN(hwnd,fDoubleClick,x,y,keyFlags,fn) (void)(fn)((hwnd),(fDoubleClick) ? WM_LBUTTONDBLCLK : WM_LBUTTONDOWN,(WPARAM)(UINT)(keyFlags),MAKELPARAM((x),(y)))
-#define FORWARD_WM_LBUTTONUP(hwnd,x,y,keyFlags,fn) (void)(fn)((hwnd),WM_LBUTTONUP,(WPARAM)(UINT)(keyFlags),MAKELPARAM((x),(y)))
-#define FORWARD_WM_MBUTTONDOWN(hwnd,fDoubleClick,x,y,keyFlags,fn) (void)(fn)((hwnd),(fDoubleClick) ? WM_MBUTTONDBLCLK : WM_MBUTTONDOWN,(WPARAM)(UINT)(keyFlags),MAKELPARAM((x),(y)))
-#define FORWARD_WM_MBUTTONUP(hwnd,x,y,keyFlags,fn) (void)(fn)((hwnd),WM_MBUTTONUP,(WPARAM)(UINT)(keyFlags),MAKELPARAM((x),(y)))
-#define FORWARD_WM_MDIACTIVATE(hwnd,fActive,hwndActivate,hwndDeactivate,fn) (void)(fn)(hwnd,WM_MDIACTIVATE,(WPARAM)(hwndDeactivate),(LPARAM)(hwndActivate))
-#define FORWARD_WM_MDICASCADE(hwnd,cmd,fn) (BOOL)(DWORD)(fn)((hwnd),WM_MDICASCADE,(WPARAM)(cmd),0)
-#define FORWARD_WM_MDICREATE(hwnd,lpmcs,fn) (HWND)(UINT)(DWORD)(fn)((hwnd),WM_MDICREATE,0,(LPARAM)(LPMDICREATESTRUCT)(lpmcs))
-#define FORWARD_WM_MDIDESTROY(hwnd,hwndDestroy,fn) (void)(fn)((hwnd),WM_MDIDESTROY,(WPARAM)(hwndDestroy),0)
-#define FORWARD_WM_MDIGETACTIVE(hwnd,fn) (HWND)(UINT)(DWORD)(fn)((hwnd),WM_MDIGETACTIVE,0,0)
-#define FORWARD_WM_MDIICONARRANGE(hwnd,fn) (void)(fn)((hwnd),WM_MDIICONARRANGE,0,0)
-#define FORWARD_WM_MDIMAXIMIZE(hwnd,hwndMaximize,fn) (void)(fn)((hwnd),WM_MDIMAXIMIZE,(WPARAM)(hwndMaximize),0)
-#define FORWARD_WM_MDINEXT(hwnd,hwndCur,fPrev,fn) (HWND)(UINT)(DWORD)(fn)((hwnd),WM_MDINEXT,(WPARAM)(hwndCur),(LPARAM)(fPrev))
-#define FORWARD_WM_MDIRESTORE(hwnd,hwndRestore,fn) (void)(fn)((hwnd),WM_MDIRESTORE,(WPARAM)(hwndRestore),0)
-#define FORWARD_WM_MDISETMENU(hwnd,fRefresh,hmenuFrame,hmenuWindow,fn) (HMENU)(UINT)(DWORD)(fn)((hwnd),WM_MDISETMENU,(WPARAM)((fRefresh) ? (hmenuFrame) : 0),(LPARAM)(hmenuWindow))
-#define FORWARD_WM_MDITILE(hwnd,cmd,fn) (BOOL)(DWORD)(fn)((hwnd),WM_MDITILE,(WPARAM)(cmd),0)
-#define FORWARD_WM_MEASUREITEM(hwnd,lpMeasureItem,fn) (void)(fn)((hwnd),WM_MEASUREITEM,(WPARAM)(((MEASUREITEMSTRUCT*)lpMeasureItem)->CtlID),(LPARAM)(MEASUREITEMSTRUCT*)(lpMeasureItem))
-#define FORWARD_WM_MENUCHAR(hwnd,ch,flags,hmenu,fn) (DWORD)(fn)((hwnd),WM_MENUCHAR,MAKEWPARAM(flags,(WORD)(ch)),(LPARAM)(HMENU)(hmenu))
-#define FORWARD_WM_MENUSELECT(hwnd,hmenu,item,hmenuPopup,flags,fn) (void)(fn)((hwnd),WM_MENUSELECT,MAKEWPARAM((item),(flags)),(LPARAM)(HMENU)((hmenu) ? (hmenu) : (hmenuPopup)))
-#define FORWARD_WM_MOUSEACTIVATE(hwnd,hwndTopLevel,codeHitTest,msg,fn) (int)(DWORD)(fn)((hwnd),WM_MOUSEACTIVATE,(WPARAM)(HWND)(hwndTopLevel),MAKELPARAM((codeHitTest),(msg)))
-#define FORWARD_WM_MOUSEMOVE(hwnd,x,y,keyFlags,fn) (void)(fn)((hwnd),WM_MOUSEMOVE,(WPARAM)(UINT)(keyFlags),MAKELPARAM((x),(y)))
-#define FORWARD_WM_MOVE(hwnd,x,y,fn) (void)(fn)((hwnd),WM_MOVE,0,MAKELPARAM((x),(y)))
-#define FORWARD_WM_NCACTIVATE(hwnd,fActive,hwndActDeact,fMinimized,fn) (BOOL)(DWORD)(fn)((hwnd),WM_NCACTIVATE,(WPARAM)(BOOL)(fActive),0)
-#define FORWARD_WM_NCCALCSIZE(hwnd,fCalcValidRects,lpcsp,fn) (UINT)(DWORD)(fn)((hwnd),WM_NCCALCSIZE,0,(LPARAM)(NCCALCSIZE_PARAMS*)(lpcsp))
-#define FORWARD_WM_NCCREATE(hwnd,lpCreateStruct,fn) (BOOL)(DWORD)(fn)((hwnd),WM_NCCREATE,0,(LPARAM)(LPCREATESTRUCT)(lpCreateStruct))
-#define FORWARD_WM_NCDESTROY(hwnd,fn) (void)(fn)((hwnd),WM_NCDESTROY,0,0)
-#define FORWARD_WM_NCHITTEST(hwnd,x,y,fn) (UINT)(DWORD)(fn)((hwnd),WM_NCHITTEST,0,MAKELPARAM((x),(y)))
-#define FORWARD_WM_NCLBUTTONDOWN(hwnd,fDoubleClick,x,y,codeHitTest,fn) (void)(fn)((hwnd),(fDoubleClick) ? WM_NCLBUTTONDBLCLK : WM_NCLBUTTONDOWN,(WPARAM)(UINT)(codeHitTest),MAKELPARAM((x),(y)))
-#define FORWARD_WM_NCLBUTTONUP(hwnd,x,y,codeHitTest,fn) (void)(fn)((hwnd),WM_NCLBUTTONUP,(WPARAM)(UINT)(codeHitTest),MAKELPARAM((x),(y)))
-#define FORWARD_WM_NCMBUTTONDOWN(hwnd,fDoubleClick,x,y,codeHitTest,fn) (void)(fn)((hwnd),(fDoubleClick) ? WM_NCMBUTTONDBLCLK : WM_NCMBUTTONDOWN,(WPARAM)(UINT)(codeHitTest),MAKELPARAM((x),(y)) )
-#define FORWARD_WM_NCMBUTTONUP(hwnd,x,y,codeHitTest,fn) (void)(fn)((hwnd),WM_NCMBUTTONUP,(WPARAM)(UINT)(codeHitTest),MAKELPARAM((x),(y)) )
-#define FORWARD_WM_NCMOUSEMOVE(hwnd,x,y,codeHitTest,fn) (void)(fn)((hwnd),WM_NCMOUSEMOVE,(WPARAM)(UINT)(codeHitTest),MAKELPARAM((x),(y)))
-#define FORWARD_WM_NCPAINT(hwnd,hrgn,fn) (void)(fn)((hwnd),WM_NCPAINT,(WPARAM)(HRGN)(hrgn),0)
-#define FORWARD_WM_NCRBUTTONDOWN(hwnd,fDoubleClick,x,y,codeHitTest,fn) (void)(fn)((hwnd),(fDoubleClick) ? WM_NCRBUTTONDBLCLK : WM_NCRBUTTONDOWN,(WPARAM)(UINT)(codeHitTest),MAKELPARAM((x),(y)) )
-#define FORWARD_WM_NCRBUTTONUP(hwnd,x,y,codeHitTest,fn) (void)(fn)((hwnd),WM_NCRBUTTONUP,(WPARAM)(UINT)(codeHitTest),MAKELPARAM((x),(y)) )
-#define FORWARD_WM_NEXTDLGCTL(hwnd,hwndSetFocus,fNext,fn) (HWND)(UINT)(DWORD)(fn)((hwnd),WM_NEXTDLGCTL,(WPARAM)(HWND)(hwndSetFocus),(LPARAM)(fNext))
-#define FORWARD_WM_PAINT(hwnd,fn) (void)(fn)((hwnd),WM_PAINT,0,0)
-#define FORWARD_WM_PAINTCLIPBOARD(hwnd,hwndCBViewer,lpPaintStruct,fn) (void)(fn)((hwnd),WM_PAINTCLIPBOARD,(WPARAM)(HWND)(hwndCBViewer),(LPARAM)(LPPAINTSTRUCT)(lpPaintStruct))
-#define FORWARD_WM_PALETTECHANGED(hwnd,hwndPaletteChange,fn) (void)(fn)((hwnd),WM_PALETTECHANGED,(WPARAM)(HWND)(hwndPaletteChange),0)
-#define FORWARD_WM_PALETTEISCHANGING(hwnd,hwndPaletteChange,fn) (void)(fn)((hwnd),WM_PALETTEISCHANGING,(WPARAM)(HWND)(hwndPaletteChange),0)
-#define FORWARD_WM_PARENTNOTIFY(hwnd,msg,hwndChild,idChild,fn) (void)(fn)((hwnd),WM_PARENTNOTIFY,MAKEWPARAM(msg,idChild),(LPARAM)(hwndChild))
-#define FORWARD_WM_PASTE(hwnd,fn) (void)(fn)((hwnd),WM_PASTE,0,0)
-#define FORWARD_WM_POWER(hwnd,code,fn) (void)(fn)((hwnd),WM_POWER,(WPARAM)(int)(code),0)
-#define FORWARD_WM_QUERYDRAGICON(hwnd,fn) (HICON)(UINT)(DWORD)(fn)((hwnd),WM_QUERYDRAGICON,0,0)
-#define FORWARD_WM_QUERYENDSESSION(hwnd,fn) (BOOL)(DWORD)(fn)((hwnd),WM_QUERYENDSESSION,0,0)
-#define FORWARD_WM_QUERYNEWPALETTE(hwnd,fn) (BOOL)(DWORD)(fn)((hwnd),WM_QUERYNEWPALETTE,0,0)
-#define FORWARD_WM_QUERYOPEN(hwnd,fn) (BOOL)(DWORD)(fn)((hwnd),WM_QUERYOPEN,0,0)
-#define FORWARD_WM_QUEUESYNC(hwnd,fn) (void)(fn)((hwnd),WM_QUEUESYNC,0,0)
-#define FORWARD_WM_QUIT(hwnd,exitCode,fn) (void)(fn)((hwnd),WM_QUIT,(WPARAM)(exitCode),0)
-#define FORWARD_WM_RBUTTONDOWN(hwnd,fDoubleClick,x,y,keyFlags,fn) (void)(fn)((hwnd),(fDoubleClick) ? WM_RBUTTONDBLCLK : WM_RBUTTONDOWN,(WPARAM)(UINT)(keyFlags),MAKELPARAM((x),(y)))
-#define FORWARD_WM_RBUTTONUP(hwnd,x,y,keyFlags,fn) (void)(fn)((hwnd),WM_RBUTTONUP,(WPARAM)(UINT)(keyFlags),MAKELPARAM((x),(y)))
-#define FORWARD_WM_RENDERALLFORMATS(hwnd,fn) (void)(fn)((hwnd),WM_RENDERALLFORMATS,0,0)
-#define FORWARD_WM_RENDERFORMAT(hwnd,fmt,fn) (HANDLE)(UINT)(DWORD)(fn)((hwnd),WM_RENDERFORMAT,(WPARAM)(UINT)(fmt),0)
-#define FORWARD_WM_SETCURSOR(hwnd,hwndCursor,codeHitTest,msg,fn) (BOOL)(DWORD)(fn)((hwnd),WM_SETCURSOR,(WPARAM)(HWND)(hwndCursor),MAKELPARAM((codeHitTest),(msg)))
-#define FORWARD_WM_SETFOCUS(hwnd,hwndOldFocus,fn) (void)(fn)((hwnd),WM_SETFOCUS,(WPARAM)(HWND)(hwndOldFocus),0)
-#define FORWARD_WM_SETFONT(hwnd,hfont,fRedraw,fn) (void)(fn)((hwnd),WM_SETFONT,(WPARAM)(HFONT)(hfont),(LPARAM)(BOOL)(fRedraw))
-#define FORWARD_WM_SETREDRAW(hwnd,fRedraw,fn) (void)(fn)((hwnd),WM_SETREDRAW,(WPARAM)(BOOL)(fRedraw),0)
-#define FORWARD_WM_SETTEXT(hwnd,lpszText,fn) (void)(fn)((hwnd),WM_SETTEXT,0,(LPARAM)(LPCTSTR)(lpszText))
-#define FORWARD_WM_SHOWWINDOW(hwnd,fShow,status,fn) (void)(fn)((hwnd),WM_SHOWWINDOW,(WPARAM)(BOOL)(fShow),(LPARAM)(UINT)(status))
-#define FORWARD_WM_SIZE(hwnd,state,cx,cy,fn) (void)(fn)((hwnd),WM_SIZE,(WPARAM)(UINT)(state),MAKELPARAM((cx),(cy)))
-#define FORWARD_WM_SIZECLIPBOARD(hwnd,hwndCBViewer,lprc,fn) (void)(fn)((hwnd),WM_SIZECLIPBOARD,(WPARAM)(HWND)(hwndCBViewer),(LPARAM)(LPRECT)(lprc))
-#define FORWARD_WM_SPOOLERSTATUS(hwnd,status,cJobInQueue,fn) (void)(fn)((hwnd),WM_SPOOLERSTATUS,(WPARAM)(status),MAKELPARAM((cJobInQueue),0))
-#define FORWARD_WM_SYSCHAR(hwnd,ch,cRepeat,fn) (void)(fn)((hwnd),WM_SYSCHAR,(WPARAM)(TCHAR)(ch),MAKELPARAM((cRepeat),0))
-#define FORWARD_WM_SYSCOLORCHANGE(hwnd,fn) (void)(fn)((hwnd),WM_SYSCOLORCHANGE,0,0)
-#define FORWARD_WM_SYSCOMMAND(hwnd,cmd,x,y,fn) (void)(fn)((hwnd),WM_SYSCOMMAND,(WPARAM)(UINT)(cmd),MAKELPARAM((x),(y)))
-#define FORWARD_WM_SYSDEADCHAR(hwnd,ch,cRepeat,fn) (void)(fn)((hwnd),WM_SYSDEADCHAR,(WPARAM)(TCHAR)(ch),MAKELPARAM((cRepeat),0))
-#define FORWARD_WM_SYSKEYDOWN(hwnd,vk,cRepeat,flags,fn) (void)(fn)((hwnd),WM_SYSKEYDOWN,(WPARAM)(UINT)(vk),MAKELPARAM((cRepeat),(flags)))
-#define FORWARD_WM_SYSKEYUP(hwnd,vk,cRepeat,flags,fn) (void)(fn)((hwnd),WM_SYSKEYUP,(WPARAM)(UINT)(vk),MAKELPARAM((cRepeat),(flags)))
-#define FORWARD_WM_SYSTEMERROR(hwnd,errCode,fn) 0
-#define FORWARD_WM_TIMECHANGE(hwnd,fn) (void)(fn)((hwnd),WM_TIMECHANGE,0,0)
-#define FORWARD_WM_TIMER(hwnd,id,fn) (void)(fn)((hwnd),WM_TIMER,(WPARAM)(UINT)(id),0)
-#define FORWARD_WM_UNDO(hwnd,fn) (void)(fn)((hwnd),WM_UNDO,0,0)
-#define FORWARD_WM_VKEYTOITEM(hwnd,vk,hwndListBox,iCaret,fn) (int)(DWORD)(fn)((hwnd),WM_VKEYTOITEM,MAKEWPARAM((vk),(iCaret)),(LPARAM)(hwndListBox))
-#define FORWARD_WM_VSCROLL(hwnd,hwndCtl,code,pos,fn) (void)(fn)((hwnd),WM_VSCROLL,MAKEWPARAM((UINT)(int)(code),(UINT)(int)(pos)),(LPARAM)(HWND)(hwndCtl))
-#define FORWARD_WM_VSCROLLCLIPBOARD(hwnd,hwndCBViewer,code,pos,fn) (void)(fn)((hwnd),WM_VSCROLLCLIPBOARD,(WPARAM)(HWND)(hwndCBViewer),MAKELPARAM((code),(pos)))
-#define FORWARD_WM_WINDOWPOSCHANGED(hwnd,lpwpos,fn) (void)(fn)((hwnd),WM_WINDOWPOSCHANGED,0,(LPARAM)(const LPWINDOWPOS)(lpwpos))
-#define FORWARD_WM_WINDOWPOSCHANGING(hwnd,lpwpos,fn) (BOOL)(DWORD)(fn)((hwnd),WM_WINDOWPOSCHANGING,0,(LPARAM)(LPWINDOWPOS)(lpwpos))
-#define FORWARD_WM_WININICHANGE(hwnd,lpszSectionName,fn) (void)(fn)((hwnd),WM_WININICHANGE,0,(LPARAM)(LPCTSTR)(lpszSectionName))
-#define GET_EM_LINESCROLL_MPS(vert,horz) (WPARAM)horz,(LONG)vert
-#define GET_EM_SETSEL_END(wp,lp) (lp)
-#define GET_EM_SETSEL_MPS(iStart,iEnd) (WPARAM)(iStart),(LONG)(iEnd)
-#define GET_EM_SETSEL_START(wp,lp) (INT)(wp)
-#define GET_LPARAM(wp,lp) (lp)
-#define GET_WM_ACTIVATE_FMINIMIZED(wp,lp) (BOOL)HIWORD(wp)
-#define GET_WM_ACTIVATE_HWND(wp,lp) (HWND)(lp)
-#define GET_WM_ACTIVATE_MPS(s,fmin,hwnd) (WPARAM)MAKELONG((s),(fmin)),(LONG)(hwnd)
-#define GET_WM_ACTIVATE_STATE(wp,lp) LOWORD(wp)
-#define GET_WM_CHANGECBCHAIN_HWNDNEXT(wp,lp) (HWND)(lp)
-#define GET_WM_CHARTOITEM_CHAR(wp,lp) (TCHAR)LOWORD(wp)
-#define GET_WM_CHARTOITEM_HWND(wp,lp) (HWND)(lp)
-#define GET_WM_CHARTOITEM_MPS(ch,pos,hwnd) (WPARAM)MAKELONG((pos),(ch)),(LONG)(hwnd)
-#define GET_WM_CHARTOITEM_POS(wp,lp) HIWORD(wp)
-#define GET_WM_COMMAND_CMD(wp,lp) HIWORD(wp)
-#define GET_WM_COMMAND_HWND(wp,lp) (HWND)(lp)
-#define GET_WM_COMMAND_ID(wp,lp) LOWORD(wp)
-#define GET_WM_COMMAND_MPS(id,hwnd,cmd) (WPARAM)MAKELONG(id,cmd),(LONG)(hwnd)
-#define GET_WM_CTLCOLOR_HDC(wp,lp,msg) (HDC)(wp)
-#define GET_WM_CTLCOLOR_HWND(wp,lp,msg) (HWND)(lp)
-#define GET_WM_CTLCOLOR_MPS(hdc,hwnd,type) (WPARAM)(hdc),(LONG)(hwnd)
-#define GET_WM_CTLCOLOR_MSG(type) (WORD)(WM_CTLCOLORMSGBOX+(type))
-#define GET_WM_CTLCOLOR_TYPE(wp,lp,msg) (WORD)(msg - WM_CTLCOLORMSGBOX)
-#define GET_WM_HSCROLL_CODE(wp,lp) LOWORD(wp)
-#define GET_WM_HSCROLL_HWND(wp,lp) (HWND)(lp)
-#define GET_WM_HSCROLL_MPS(code,pos,hwnd) (WPARAM)MAKELONG(code,pos),(LONG)(hwnd)
-#define GET_WM_HSCROLL_POS(wp,lp) HIWORD(wp)
-#define GET_WM_MDIACTIVATE_FACTIVATE(hwnd,wp,lp) (lp == (LONG)hwnd)
-#define GET_WM_MDIACTIVATE_HWNDACTIVATE(wp,lp) (HWND)(lp)
-#define GET_WM_MDIACTIVATE_HWNDDEACT(wp,lp) (HWND)(wp)
-#define GET_WM_MDIACTIVATE_MPS(f,hwndD,hwndA) (WPARAM)(hwndA),0
-#define GET_WM_MDISETMENU_MPS(hmenuF,hmenuW) (WPARAM)hmenuF,(LONG)hmenuW
-#define GET_WM_MENUCHAR_CHAR(wp,lp) (TCHAR)LOWORD(wp)
-#define GET_WM_MENUCHAR_FMENU(wp,lp) (BOOL)HIWORD(wp)
-#define GET_WM_MENUCHAR_HMENU(wp,lp) (HMENU)(lp)
-#define GET_WM_MENUCHAR_MPS(ch,hmenu,f) (WPARAM)MAKELONG(ch,f),(LONG)(hmenu)
-#define GET_WM_MENUSELECT_CMD(wp,lp) LOWORD(wp)
-#define GET_WM_MENUSELECT_FLAGS(wp,lp) (UINT)(int)(short)HIWORD(wp)
-#define GET_WM_MENUSELECT_HMENU(wp,lp) (HMENU)(lp)
-#define GET_WM_MENUSELECT_MPS(cmd,f,hmenu) (WPARAM)MAKELONG(cmd,f),(LONG)(hmenu)
-#define GET_WM_PARENTNOTIFY2_MPS(msg,x,y) (WPARAM)MAKELONG(0,msg),MAKELONG(x,y)
-#define GET_WM_PARENTNOTIFY_HWNDCHILD(wp,lp) (HWND)(lp)
-#define GET_WM_PARENTNOTIFY_ID(wp,lp) HIWORD(wp)
-#define GET_WM_PARENTNOTIFY_MPS(msg,id,hwnd) (WPARAM)MAKELONG(id,msg),(LONG)(hwnd)
-#define GET_WM_PARENTNOTIFY_MSG(wp,lp) LOWORD(wp)
-#define GET_WM_PARENTNOTIFY_X(wp,lp) (int)(short)LOWORD(lp)
-#define GET_WM_PARENTNOTIFY_Y(wp,lp) (int)(short)HIWORD(lp)
-#define GET_WM_VKEYTOITEM_CODE(wp,lp) (int)(short)LOWORD(wp)
-#define GET_WM_VKEYTOITEM_HWND(wp,lp) (HWND)(lp)
-#define GET_WM_VKEYTOITEM_ITEM(wp,lp) HIWORD(wp)
-#define GET_WM_VKEYTOITEM_MPS(code,item,hwnd) (WPARAM)MAKELONG(item,code),(LONG)(hwnd)
-#define GET_WM_VSCROLL_CODE(wp,lp) LOWORD(wp)
-#define GET_WM_VSCROLL_HWND(wp,lp) (HWND)(lp)
-#define GET_WM_VSCROLL_MPS(code,pos,hwnd) (WPARAM)MAKELONG(code,pos),(LONG)(hwnd)
-#define GET_WM_VSCROLL_POS(wp,lp) HIWORD(wp)
-#define GET_WPARAM(wp,lp) (wp)
-#define GET_X_LPARAM(lp) ((int)(short)LOWORD(lp))
-#define GET_Y_LPARAM(lp) ((int)(short)HIWORD(lp))
-#define GetFirstChild(hwnd) GetTopWindow(hwnd)
-#define GetFirstSibling(hwnd) GetWindow(hwnd,GW_HWNDFIRST)
-#define GetInstanceModule(hInstance) (HMODULE)(hInstance)
-#define GetLastSibling(hwnd) GetWindow(hwnd,GW_HWNDLAST)
-#define GetNextSibling(hwnd) GetWindow(hwnd,GW_HWNDNEXT)
-#define GetPrevSibling(hwnd) GetWindow(hwnd,GW_HWNDPREV)
-#define GetStockBrush(i) ((HBRUSH)GetStockObject(i))
-#define GetStockFont(i) ((HFONT)GetStockObject(i))
-#define GetStockPen(i) ((HPEN)GetStockObject(i))
-#define GetWindowExStyle(hwnd) ((DWORD)GetWindowLong(hwnd,GWL_EXSTYLE))
-#define GetWindowFont(hwnd) FORWARD_WM_GETFONT((hwnd),SendMessage)
-#define GetWindowID(hwnd) GetDlgCtrlID(hwnd)
-#define GetWindowInstance(hwnd) ((HMODULE)GetWindowLong(hwnd,GWL_HINSTANCE))
-#define GetWindowOwner(hwnd) GetWindow(hwnd,GW_OWNER)
-#define GetWindowStyle(hwnd) ((DWORD)GetWindowLong(hwnd,GWL_STYLE))
-#define GlobalAllocPtr(flags,cb) (GlobalLock(GlobalAlloc((flags),(cb))))
-#define GlobalFreePtr(lp) (GlobalUnlockPtr(lp),(BOOL)GlobalFree(GlobalPtrHandle(lp)))
-#define GlobalLockPtr(lp) ((BOOL)GlobalLock(GlobalPtrHandle(lp)))
-#define GlobalPtrHandle(lp) ((HGLOBAL)GlobalHandle(lp))
-#define GlobalReAllocPtr(lp,cbNew,flags) (GlobalUnlockPtr(lp),GlobalLock(GlobalReAlloc(GlobalPtrHandle(lp) ,(cbNew),(flags))))
-#define GlobalUnlockPtr(lp) GlobalUnlock(GlobalPtrHandle(lp))
-#define HANDLE_MSG(hwnd,message,fn) case (message): return HANDLE_##message((hwnd),(wParam),(lParam),(fn))
-#define HANDLE_WM_ACTIVATE(hwnd,wParam,lParam,fn) ((fn)((hwnd),(UINT)LOWORD(wParam),(HWND)(lParam),(BOOL)HIWORD(wParam)),0)
-#define HANDLE_WM_ACTIVATEAPP(hwnd,wParam,lParam,fn) ((fn)((hwnd),(BOOL)(wParam),(DWORD)(lParam)),0)
-#define HANDLE_WM_ASKCBFORMATNAME(hwnd,wParam,lParam,fn) ((fn)((hwnd),(int)(wParam),(LPTSTR)(lParam)),0)
-#define HANDLE_WM_CANCELMODE(hwnd,wParam,lParam,fn) ((fn)(hwnd),0)
-#define HANDLE_WM_CHANGECBCHAIN(hwnd,wParam,lParam,fn) ((fn)((hwnd),(HWND)(wParam),(HWND)(lParam)),0)
-#define HANDLE_WM_CHAR(hwnd,wParam,lParam,fn) ((fn)((hwnd),(TCHAR)(wParam),(int)(short)LOWORD(lParam)),0)
-#define HANDLE_WM_CHARTOITEM(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(int)(fn)((hwnd),(UINT)LOWORD(wParam),(HWND)(lParam),(int)(short)HIWORD(wParam))
-#define HANDLE_WM_CHILDACTIVATE(hwnd,wParam,lParam,fn) ((fn)(hwnd),0)
-#define HANDLE_WM_CLEAR(hwnd,wParam,lParam,fn) ((fn)(hwnd),0)
-#define HANDLE_WM_CLOSE(hwnd,wParam,lParam,fn) ((fn)(hwnd),0)
-#define HANDLE_WM_COMMAND(hwnd,wParam,lParam,fn) ((fn)((hwnd),(int)(LOWORD(wParam)),(HWND)(lParam),(UINT)HIWORD(wParam)),0)
-#define HANDLE_WM_COMMNOTIFY(hwnd,wParam,lParam,fn) ((fn)((hwnd),(int)(wParam),(UINT)LOWORD(lParam)),0)
-#define HANDLE_WM_COMPACTING(hwnd,wParam,lParam,fn) ((fn)((hwnd),(UINT)(wParam)),0)
-#define HANDLE_WM_COMPAREITEM(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(int)(fn)((hwnd),(const COMPAREITEMSTRUCT*)(lParam))
-#define HANDLE_WM_COPY(hwnd,wParam,lParam,fn) ((fn)(hwnd),0)
-#define HANDLE_WM_CREATE(hwnd,wParam,lParam,fn) ((fn)((hwnd),(LPCREATESTRUCT)(lParam)) ? 0 : (LRESULT)-1L)
-#define HANDLE_WM_CTLCOLORBTN(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(UINT)(HBRUSH)(fn)((hwnd),(HDC)(wParam),(HWND)(lParam),CTLCOLOR_BTN)
-#define HANDLE_WM_CTLCOLORDLG(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(UINT)(HBRUSH)(fn)((hwnd),(HDC)(wParam),(HWND)(lParam),CTLCOLOR_DLG)
-#define HANDLE_WM_CTLCOLOREDIT(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(UINT)(HBRUSH)(fn)((hwnd),(HDC)(wParam),(HWND)(lParam),CTLCOLOR_EDIT)
-#define HANDLE_WM_CTLCOLORLISTBOX(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(UINT)(HBRUSH)(fn)((hwnd),(HDC)(wParam),(HWND)(lParam),CTLCOLOR_LISTBOX)
-#define HANDLE_WM_CTLCOLORMSGBOX(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(UINT)(HBRUSH)(fn)((hwnd),(HDC)(wParam),(HWND)(lParam),CTLCOLOR_MSGBOX)
-#define HANDLE_WM_CTLCOLORSCROLLBAR(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(UINT)(HBRUSH)(fn)((hwnd),(HDC)(wParam),(HWND)(lParam),CTLCOLOR_SCROLLBAR)
-#define HANDLE_WM_CTLCOLORSTATIC(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(UINT)(HBRUSH)(fn)((hwnd),(HDC)(wParam),(HWND)(lParam),CTLCOLOR_STATIC)
-#define HANDLE_WM_CUT(hwnd,wParam,lParam,fn) ((fn)(hwnd),0)
-#define HANDLE_WM_DEADCHAR(hwnd,wParam,lParam,fn) ((fn)((hwnd),(TCHAR)(wParam),(int)(short)LOWORD(lParam)),0)
-#define HANDLE_WM_DELETEITEM(hwnd,wParam,lParam,fn) ((fn)((hwnd),(const DELETEITEMSTRUCT*)(lParam)),0)
-#define HANDLE_WM_DESTROY(hwnd,wParam,lParam,fn) ((fn)(hwnd),0)
-#define HANDLE_WM_DESTROYCLIPBOARD(hwnd,wParam,lParam,fn) ((fn)(hwnd),0)
-#define HANDLE_WM_DEVMODECHANGE(hwnd,wParam,lParam,fn) ((fn)((hwnd),(LPCTSTR)(lParam)),0)
-#define HANDLE_WM_DRAWCLIPBOARD(hwnd,wParam,lParam,fn) ((fn)(hwnd),0)
-#define HANDLE_WM_DRAWITEM(hwnd,wParam,lParam,fn) ((fn)((hwnd),(const DRAWITEMSTRUCT*)(lParam)),0)
-#define HANDLE_WM_DROPFILES(hwnd,wParam,lParam,fn) ((fn)((hwnd),(HDROP)(wParam)),0)
-#define HANDLE_WM_ENABLE(hwnd,wParam,lParam,fn) ((fn)((hwnd),(BOOL)(wParam)),0)
-#define HANDLE_WM_ENDSESSION(hwnd,wParam,lParam,fn) ((fn)((hwnd),(BOOL)(wParam)),0)
-#define HANDLE_WM_ENTERIDLE(hwnd,wParam,lParam,fn) ((fn)((hwnd),(UINT)(wParam),(HWND)(lParam)),0)
-#define HANDLE_WM_ERASEBKGND(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(BOOL)(fn)((hwnd),(HDC)(wParam))
-#define HANDLE_WM_FONTCHANGE(hwnd,wParam,lParam,fn) ((fn)(hwnd),0)
-#define HANDLE_WM_GETDLGCODE(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(UINT)(fn)(hwnd,(LPMSG)(lParam))
-#define HANDLE_WM_GETFONT(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(UINT)(HFONT)(fn)(hwnd)
-#define HANDLE_WM_GETMINMAXINFO(hwnd,wParam,lParam,fn) ((fn)((hwnd),(LPMINMAXINFO)(lParam)),0)
-#define HANDLE_WM_GETTEXT(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(int)(fn)((hwnd),(int)(wParam),(LPTSTR)(lParam))
-#define HANDLE_WM_GETTEXTLENGTH(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(int)(fn)(hwnd)
-#define HANDLE_WM_HSCROLL(hwnd,wParam,lParam,fn) ((fn)((hwnd),(HWND)(lParam),(UINT)(LOWORD(wParam)),(int)(short)HIWORD(wParam)),0)
-#define HANDLE_WM_HSCROLLCLIPBOARD(hwnd,wParam,lParam,fn) ((fn)((hwnd),(HWND)(wParam),(UINT)LOWORD(lParam),(int)(short)HIWORD(lParam)),0)
-#define HANDLE_WM_ICONERASEBKGND(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(BOOL)(fn)((hwnd),(HDC)(wParam))
-#define HANDLE_WM_INITDIALOG(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(UINT)(BOOL)(fn)((hwnd),(HWND)(wParam),lParam)
-#define HANDLE_WM_INITMENU(hwnd,wParam,lParam,fn) ((fn)((hwnd),(HMENU)(wParam)),0)
-#define HANDLE_WM_INITMENUPOPUP(hwnd,wParam,lParam,fn) ((fn)((hwnd),(HMENU)(wParam),(UINT)LOWORD(lParam),(BOOL)HIWORD(lParam)),0)
-#define HANDLE_WM_KEYDOWN(hwnd,wParam,lParam,fn) ((fn)((hwnd),(UINT)(wParam),TRUE,(int)(short)LOWORD(lParam),(UINT)HIWORD(lParam)),0)
-#define HANDLE_WM_KEYUP(hwnd,wParam,lParam,fn) ((fn)((hwnd),(UINT)(wParam),FALSE,(int)(short)LOWORD(lParam),(UINT)HIWORD(lParam)),0)
-#define HANDLE_WM_KILLFOCUS(hwnd,wParam,lParam,fn) ((fn)((hwnd),(HWND)(wParam)),0)
-#define HANDLE_WM_LBUTTONDBLCLK(hwnd,wParam,lParam,fn) ((fn)((hwnd),TRUE,(int)(short)LOWORD(lParam),(int)(short)HIWORD(lParam),(UINT)(wParam)),0)
-#define HANDLE_WM_LBUTTONDOWN(hwnd,wParam,lParam,fn) ((fn)((hwnd),FALSE,(int)(short)LOWORD(lParam),(int)(short)HIWORD(lParam),(UINT)(wParam)),0)
-#define HANDLE_WM_LBUTTONUP(hwnd,wParam,lParam,fn) ((fn)((hwnd),(int)(short)LOWORD(lParam),(int)(short)HIWORD(lParam),(UINT)(wParam)),0)
-#define HANDLE_WM_MBUTTONDBLCLK(hwnd,wParam,lParam,fn) ((fn)((hwnd),TRUE,(int)(short)LOWORD(lParam),(int)(short)HIWORD(lParam),(UINT)(wParam)),0)
-#define HANDLE_WM_MBUTTONDOWN(hwnd,wParam,lParam,fn) ((fn)((hwnd),FALSE,(int)(short)LOWORD(lParam),(int)(short)HIWORD(lParam),(UINT)(wParam)),0)
-#define HANDLE_WM_MBUTTONUP(hwnd,wParam,lParam,fn) ((fn)((hwnd),(int)(short)LOWORD(lParam),(int)(short)HIWORD(lParam),(UINT)(wParam)),0)
-#define HANDLE_WM_MDIACTIVATE(hwnd,wParam,lParam,fn) ((fn)((hwnd),(BOOL)(lParam == (LPARAM)hwnd),(HWND)(lParam),(HWND)(wParam)),0)
-#define HANDLE_WM_MDICASCADE(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(fn)((hwnd),(UINT)(wParam))
-#define HANDLE_WM_MDICREATE(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(UINT)(fn)((hwnd),(LPMDICREATESTRUCT)(lParam))
-#define HANDLE_WM_MDIDESTROY(hwnd,wParam,lParam,fn) ((fn)((hwnd),(HWND)(wParam)),0)
-#define HANDLE_WM_MDIGETACTIVE(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(UINT)(fn)(hwnd)
-#define HANDLE_WM_MDIICONARRANGE(hwnd,wParam,lParam,fn) ((fn)(hwnd),0)
-#define HANDLE_WM_MDIMAXIMIZE(hwnd,wParam,lParam,fn) ((fn)((hwnd),(HWND)(wParam)),0)
-#define HANDLE_WM_MDINEXT(hwnd,wParam,lParam,fn) (LRESULT)(HWND)(fn)((hwnd),(HWND)(wParam),(BOOL)lParam)
-#define HANDLE_WM_MDIRESTORE(hwnd,wParam,lParam,fn) ((fn)((hwnd),(HWND)(wParam)),0)
-#define HANDLE_WM_MDISETMENU(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(UINT)(fn)((hwnd),(BOOL)(wParam),(HMENU)(wParam),(HMENU)(lParam))
-#define HANDLE_WM_MDITILE(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(fn)((hwnd),(UINT)(wParam))
-#define HANDLE_WM_MEASUREITEM(hwnd,wParam,lParam,fn) ((fn)((hwnd),(MEASUREITEMSTRUCT*)(lParam)),0)
-#define HANDLE_WM_MENUCHAR(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(fn)((hwnd),(UINT)(LOWORD(wParam)),(UINT)HIWORD(wParam),(HMENU)(lParam))
-#define HANDLE_WM_MENUSELECT(hwnd,wParam,lParam,fn) ((fn)((hwnd),(HMENU)(lParam),(int)(LOWORD(wParam)),(HIWORD(wParam) & MF_POPUP) ? GetSubMenu((HMENU)lParam,LOWORD(wParam)) : 0,(UINT)(((short)HIWORD(wParam) == -1) ? 0xFFFFFFFF : HIWORD(wParam))),0)
-#define HANDLE_WM_MOUSEACTIVATE(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(int)(fn)((hwnd),(HWND)(wParam),(UINT)LOWORD(lParam),(UINT)HIWORD(lParam))
-#define HANDLE_WM_MOUSEMOVE(hwnd,wParam,lParam,fn) ((fn)((hwnd),(int)(short)LOWORD(lParam),(int)(short)HIWORD(lParam),(UINT)(wParam)),0)
-#define HANDLE_WM_MOVE(hwnd,wParam,lParam,fn) ((fn)((hwnd),(int)(short)LOWORD(lParam),(int)(short)HIWORD(lParam)),0)
-#define HANDLE_WM_NCACTIVATE(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(BOOL)(fn)((hwnd),(BOOL)(wParam),0,0)
-#define HANDLE_WM_NCCALCSIZE(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(UINT)(fn)((hwnd),(BOOL)(0),(NCCALCSIZE_PARAMS*)(lParam))
-#define HANDLE_WM_NCCREATE(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(BOOL)(fn)((hwnd),(LPCREATESTRUCT)(lParam))
-#define HANDLE_WM_NCDESTROY(hwnd,wParam,lParam,fn) ((fn)(hwnd),0)
-#define HANDLE_WM_NCHITTEST(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(UINT)(fn)((hwnd),(int)(short)LOWORD(lParam),(int)(short)HIWORD(lParam))
-#define HANDLE_WM_NCLBUTTONDBLCLK(hwnd,wParam,lParam,fn) ((fn)((hwnd),TRUE,(int)(short)LOWORD(lParam),(int)(short)HIWORD(lParam),(UINT)(wParam)),0)
-#define HANDLE_WM_NCLBUTTONDOWN(hwnd,wParam,lParam,fn) ((fn)((hwnd),FALSE,(int)(short)LOWORD(lParam),(int)(short)HIWORD(lParam),(UINT)(wParam)),0)
-#define HANDLE_WM_NCLBUTTONUP(hwnd,wParam,lParam,fn) ((fn)((hwnd),(int)(short)LOWORD(lParam),(int)(short)HIWORD(lParam),(UINT)(wParam)),0)
-#define HANDLE_WM_NCMBUTTONDBLCLK(hwnd,wParam,lParam,fn) ((fn)((hwnd),TRUE,(int)(short)LOWORD(lParam),(int)(short)HIWORD(lParam),(UINT)(wParam)),0)
-#define HANDLE_WM_NCMBUTTONDOWN(hwnd,wParam,lParam,fn) ((fn)((hwnd),FALSE,(int)(short)LOWORD(lParam),(int)(short)HIWORD(lParam),(UINT)(wParam)),0)
-#define HANDLE_WM_NCMBUTTONUP(hwnd,wParam,lParam,fn) ((fn)((hwnd),(int)(short)LOWORD(lParam),(int)(short)HIWORD(lParam),(UINT)(wParam)),0)
-#define HANDLE_WM_NCMOUSEMOVE(hwnd,wParam,lParam,fn) ((fn)((hwnd),(int)(short)LOWORD(lParam),(int)(short)HIWORD(lParam),(UINT)(wParam)),0)
-#define HANDLE_WM_NCPAINT(hwnd,wParam,lParam,fn) ((fn)((hwnd),(HRGN)(wParam)),0)
-#define HANDLE_WM_NCRBUTTONDBLCLK(hwnd,wParam,lParam,fn) ((fn)((hwnd),TRUE,(int)(short)LOWORD(lParam),(int)(short)HIWORD(lParam),(UINT)(wParam)),0)
-#define HANDLE_WM_NCRBUTTONDOWN(hwnd,wParam,lParam,fn) ((fn)((hwnd),FALSE,(int)(short)LOWORD(lParam),(int)(short)HIWORD(lParam),(UINT)(wParam)),0)
-#define HANDLE_WM_NCRBUTTONUP(hwnd,wParam,lParam,fn) ((fn)((hwnd),(int)(short)LOWORD(lParam),(int)(short)HIWORD(lParam),(UINT)(wParam)),0)
-#define HANDLE_WM_NEXTDLGCTL(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(UINT)(HWND)(fn)((hwnd),(HWND)(wParam),(BOOL)(lParam))
-#define HANDLE_WM_PAINT(hwnd,wParam,lParam,fn) ((fn)(hwnd),0)
-#define HANDLE_WM_PAINTCLIPBOARD(hwnd,wParam,lParam,fn) ((fn)((hwnd),(HWND)(wParam),(const LPPAINTSTRUCT)GlobalLock((HGLOBAL)(lParam))),GlobalUnlock((HGLOBAL)(lParam)),0)
-#define HANDLE_WM_PALETTECHANGED(hwnd,wParam,lParam,fn) ((fn)((hwnd),(HWND)(wParam)),0)
-#define HANDLE_WM_PALETTEISCHANGING(hwnd,wParam,lParam,fn) ((fn)((hwnd),(HWND)(wParam)),0)
-#define HANDLE_WM_PARENTNOTIFY(hwnd,wParam,lParam,fn) ((fn)((hwnd),(UINT)LOWORD(wParam),(HWND)(lParam),(UINT)HIWORD(wParam)),0)
-#define HANDLE_WM_PASTE(hwnd,wParam,lParam,fn) ((fn)(hwnd),0)
-#define HANDLE_WM_POWER(hwnd,wParam,lParam,fn) ((fn)((hwnd),(int)(wParam)),0)
-#define HANDLE_WM_QUERYDRAGICON(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(UINT)(fn)(hwnd)
-#define HANDLE_WM_QUERYENDSESSION(hwnd,wParam,lParam,fn) MAKELRESULT((BOOL)(fn)(hwnd),0)
-#define HANDLE_WM_QUERYNEWPALETTE(hwnd,wParam,lParam,fn) MAKELRESULT((BOOL)(fn)(hwnd),0)
-#define HANDLE_WM_QUERYOPEN(hwnd,wParam,lParam,fn) MAKELRESULT((BOOL)(fn)(hwnd),0)
-#define HANDLE_WM_QUEUESYNC(hwnd,wParam,lParam,fn) ((fn)(hwnd),0)
-#define HANDLE_WM_QUIT(hwnd,wParam,lParam,fn) ((fn)((hwnd),(int)(wParam)),0)
-#define HANDLE_WM_RBUTTONDBLCLK(hwnd,wParam,lParam,fn) ((fn)((hwnd),TRUE,(int)(short)LOWORD(lParam),(int)(short)HIWORD(lParam),(UINT)(wParam)),0)
-#define HANDLE_WM_RBUTTONDOWN(hwnd,wParam,lParam,fn) ((fn)((hwnd),FALSE,(int)(short)LOWORD(lParam),(int)(short)HIWORD(lParam),(UINT)(wParam)),0)
-#define HANDLE_WM_RBUTTONUP(hwnd,wParam,lParam,fn) ((fn)((hwnd),(int)(short)LOWORD(lParam),(int)(short)HIWORD(lParam),(UINT)(wParam)),0)
-#define HANDLE_WM_RENDERALLFORMATS(hwnd,wParam,lParam,fn) ((fn)(hwnd),0)
-#define HANDLE_WM_RENDERFORMAT(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(UINT)(HANDLE)(fn)((hwnd),(UINT)(wParam))
-#define HANDLE_WM_SETCURSOR(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(BOOL)(fn)((hwnd),(HWND)(wParam),(UINT)LOWORD(lParam),(UINT)HIWORD(lParam))
-#define HANDLE_WM_SETFOCUS(hwnd,wParam,lParam,fn) ((fn)((hwnd),(HWND)(wParam)),0)
-#define HANDLE_WM_SETFONT(hwnd,wParam,lParam,fn) ((fn)((hwnd),(HFONT)(wParam),(BOOL)(lParam)),0)
-#define HANDLE_WM_SETREDRAW(hwnd,wParam,lParam,fn) ((fn)((hwnd),(BOOL)(wParam)),0)
-#define HANDLE_WM_SETTEXT(hwnd,wParam,lParam,fn) ((fn)((hwnd),(LPCTSTR)(lParam)),0)
-#define HANDLE_WM_SHOWWINDOW(hwnd,wParam,lParam,fn) ((fn)((hwnd),(BOOL)(wParam),(UINT)(lParam)),0)
-#define HANDLE_WM_SIZE(hwnd,wParam,lParam,fn) ((fn)((hwnd),(UINT)(wParam),(int)(short)LOWORD(lParam),(int)(short)HIWORD(lParam)),0)
-#define HANDLE_WM_SIZECLIPBOARD(hwnd,wParam,lParam,fn) ((fn)((hwnd),(HWND)(wParam),(const LPRECT)GlobalLock((HGLOBAL)(lParam))),GlobalUnlock((HGLOBAL)(lParam)),0)
-#define HANDLE_WM_SPOOLERSTATUS(hwnd,wParam,lParam,fn) ((fn)((hwnd),(UINT)(wParam),(int)(short)LOWORD(lParam)),0)
-#define HANDLE_WM_SYSCHAR(hwnd,wParam,lParam,fn) ((fn)((hwnd),(TCHAR)(wParam),(int)(short)LOWORD(lParam)),0)
-#define HANDLE_WM_SYSCOLORCHANGE(hwnd,wParam,lParam,fn) ((fn)(hwnd),0)
-#define HANDLE_WM_SYSCOMMAND(hwnd,wParam,lParam,fn) ((fn)((hwnd),(UINT)(wParam),(int)(short)LOWORD(lParam),(int)(short)HIWORD(lParam)),0)
-#define HANDLE_WM_SYSDEADCHAR(hwnd,wParam,lParam,fn) ((fn)((hwnd),(TCHAR)(wParam),(int)(short)LOWORD(lParam)),0)
-#define HANDLE_WM_SYSKEYDOWN(hwnd,wParam,lParam,fn) ((fn)((hwnd),(UINT)(wParam),TRUE,(int)(short)LOWORD(lParam),(UINT)HIWORD(lParam)),0)
-#define HANDLE_WM_SYSKEYUP(hwnd,wParam,lParam,fn) ((fn)((hwnd),(UINT)(wParam),FALSE,(int)(short)LOWORD(lParam),(UINT)HIWORD(lParam)),0)
-#define HANDLE_WM_SYSTEMERROR(hwnd,wParam,lParam,fn) 0
-#define HANDLE_WM_TIMECHANGE(hwnd,wParam,lParam,fn) ((fn)(hwnd),0)
-#define HANDLE_WM_TIMER(hwnd,wParam,lParam,fn) ((fn)((hwnd),(UINT)(wParam)),0)
-#define HANDLE_WM_UNDO(hwnd,wParam,lParam,fn) ((fn)(hwnd),0)
-#define HANDLE_WM_VKEYTOITEM(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(int)(fn)((hwnd),(UINT)LOWORD(wParam),(HWND)(lParam),(int)(short)HIWORD(wParam))
-#define HANDLE_WM_VSCROLL(hwnd,wParam,lParam,fn) ((fn)((hwnd),(HWND)(lParam),(UINT)(LOWORD(wParam)),(int)(short)HIWORD(wParam)),0)
-#define HANDLE_WM_VSCROLLCLIPBOARD(hwnd,wParam,lParam,fn) ((fn)((hwnd),(HWND)(wParam),(UINT)LOWORD(lParam),(int)(short)HIWORD(lParam)),0)
-#define HANDLE_WM_WINDOWPOSCHANGED(hwnd,wParam,lParam,fn) ((fn)((hwnd),(const LPWINDOWPOS)(lParam)),0)
-#define HANDLE_WM_WINDOWPOSCHANGING(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(BOOL)(fn)((hwnd),(LPWINDOWPOS)(lParam))
-#define HANDLE_WM_WININICHANGE(hwnd,wParam,lParam,fn) ((fn)((hwnd),(LPCTSTR)(lParam)),0)
-#define InsetRect(lprc,dx,dy) InflateRect((lprc),-(dx),-(dy))
-#define IntersectRgn(hrgnResult,hrgnA,hrgnB) CombineRgn(hrgnResult,hrgnA,hrgnB,RGN_AND)
-#define IsLButtonDown() (GetKeyState(VK_LBUTTON) < 0)
-#define IsMButtonDown() (GetKeyState(VK_MBUTTON) < 0)
-#define IsMaximized(hwnd) IsZoomed(hwnd)
-#define IsMinimized(hwnd) IsIconic(hwnd)
-#define IsRButtonDown() (GetKeyState(VK_RBUTTON) < 0)
-#define IsRestored(hwnd) ((GetWindowStyle(hwnd) & (WS_MINIMIZE | WS_MAXIMIZE)) == 0)
-#define ListBox_AddItemData(hwndCtl,data) ((int)(DWORD)SendMessage((hwndCtl),LB_ADDSTRING,0,(LPARAM)(data)))
-#define ListBox_AddString(hwndCtl,lpsz) ((int)(DWORD)SendMessage((hwndCtl),LB_ADDSTRING,0,(LPARAM)(LPCTSTR)(lpsz)))
-#define ListBox_DeleteString(hwndCtl,index) ((int)(DWORD)SendMessage((hwndCtl),LB_DELETESTRING,(WPARAM)(int)(index),0))
-#define ListBox_Dir(hwndCtl,attrs,lpszFileSpec) ((int)(DWORD)SendMessage((hwndCtl),LB_DIR,(WPARAM)(UINT)(attrs),(LPARAM)(LPCTSTR)(lpszFileSpec)))
-#define ListBox_Enable(hwndCtl,fEnable) EnableWindow((hwndCtl),(fEnable))
-#define ListBox_FindItemData(hwndCtl,indexStart,data) ((int)(DWORD)SendMessage((hwndCtl),LB_FINDSTRING,(WPARAM)(int)(indexStart),(LPARAM)(data)))
-#define ListBox_FindString(hwndCtl,indexStart,lpszFind) ((int)(DWORD)SendMessage((hwndCtl),LB_FINDSTRING,(WPARAM)(int)(indexStart),(LPARAM)(LPCTSTR)(lpszFind)))
-#define ListBox_FindStringExact(hwndCtl,indexStart,lpszFind) ((int)(DWORD)SendMessage((hwndCtl),LB_FINDSTRINGEXACT,(WPARAM)(int)(indexStart),(LPARAM)(LPCTSTR)(lpszFind)))
-#define ListBox_GetCaretIndex(hwndCtl) ((int)(DWORD)SendMessage((hwndCtl),LB_GETCARETINDEX,0,0))
-#define ListBox_GetCount(hwndCtl) ((int)(DWORD)SendMessage((hwndCtl),LB_GETCOUNT,0,0))
-#define ListBox_GetCurSel(hwndCtl) ((int)(DWORD)SendMessage((hwndCtl),LB_GETCURSEL,0,0))
-#define ListBox_GetHorizontalExtent(hwndCtl) ((int)(DWORD)SendMessage((hwndCtl),LB_GETHORIZONTALEXTENT,0,0))
-#define ListBox_GetItemData(hwndCtl,index) ((LRESULT)(DWORD)SendMessage((hwndCtl),LB_GETITEMDATA,(WPARAM)(int)(index),0))
-#define ListBox_GetItemHeight(hwndCtl,index) ((int)(DWORD)SendMessage((hwndCtl),LB_GETITEMHEIGHT,(WPARAM)(int)(index),0))
-#define ListBox_GetItemRect(hwndCtl,index,lprc) ((int)(DWORD)SendMessage((hwndCtl),LB_GETITEMRECT,(WPARAM)(int)(index),(LPARAM)(RECT*)(lprc)))
-#define ListBox_GetSel(hwndCtl,index) ((int)(DWORD)SendMessage((hwndCtl),LB_GETSEL,(WPARAM)(int)(index),0))
-#define ListBox_GetSelCount(hwndCtl) ((int)(DWORD)SendMessage((hwndCtl),LB_GETSELCOUNT,0,0))
-#define ListBox_GetSelItems(hwndCtl,cItems,lpItems) ((int)(DWORD)SendMessage((hwndCtl),LB_GETSELITEMS,(WPARAM)(int)(cItems),(LPARAM)(int*)(lpItems)))
-#define ListBox_GetText(hwndCtl,index,lpszBuffer) ((int)(DWORD)SendMessage((hwndCtl),LB_GETTEXT,(WPARAM)(int)(index),(LPARAM)(LPCTSTR)(lpszBuffer)))
-#define ListBox_GetTextLen(hwndCtl,index) ((int)(DWORD)SendMessage((hwndCtl),LB_GETTEXTLEN,(WPARAM)(int)(index),0))
-#define ListBox_GetTopIndex(hwndCtl) ((int)(DWORD)SendMessage((hwndCtl),LB_GETTOPINDEX,0,0))
-#define ListBox_InsertItemData(hwndCtl,index,data) ((int)(DWORD)SendMessage((hwndCtl),LB_INSERTSTRING,(WPARAM)(int)(index),(LPARAM)(data)))
-#define ListBox_InsertString(hwndCtl,index,lpsz) ((int)(DWORD)SendMessage((hwndCtl),LB_INSERTSTRING,(WPARAM)(int)(index),(LPARAM)(LPCTSTR)(lpsz)))
-#define ListBox_ResetContent(hwndCtl) ((BOOL)(DWORD)SendMessage((hwndCtl),LB_RESETCONTENT,0,0))
-#define ListBox_SelItemRange(hwndCtl,fSelect,first,last) ((int)(DWORD)SendMessage((hwndCtl),LB_SELITEMRANGE,(WPARAM)(BOOL)(fSelect),MAKELPARAM((first),(last))))
-#define ListBox_SelectItemData(hwndCtl,indexStart,data) ((int)(DWORD)SendMessage((hwndCtl),LB_SELECTSTRING,(WPARAM)(int)(indexStart),(LPARAM)(data)))
-#define ListBox_SelectString(hwndCtl,indexStart,lpszFind) ((int)(DWORD)SendMessage((hwndCtl),LB_SELECTSTRING,(WPARAM)(int)(indexStart),(LPARAM)(LPCTSTR)(lpszFind)))
-#define ListBox_SetCaretIndex(hwndCtl,index) ((int)(DWORD)SendMessage((hwndCtl),LB_SETCARETINDEX,(WPARAM)(int)(index),0))
-#define ListBox_SetColumnWidth(hwndCtl,cxColumn) ((void)SendMessage((hwndCtl),LB_SETCOLUMNWIDTH,(WPARAM)(int)(cxColumn),0))
-#define ListBox_SetCurSel(hwndCtl,index) ((int)(DWORD)SendMessage((hwndCtl),LB_SETCURSEL,(WPARAM)(int)(index),0))
-#define ListBox_SetHorizontalExtent(hwndCtl,cxExtent) ((void)SendMessage((hwndCtl),LB_SETHORIZONTALEXTENT,(WPARAM)(int)(cxExtent),0))
-#define ListBox_SetItemData(hwndCtl,index,data) ((int)(DWORD)SendMessage((hwndCtl),LB_SETITEMDATA,(WPARAM)(int)(index),(LPARAM)(data)))
-#define ListBox_SetItemHeight(hwndCtl,index,cy) ((int)(DWORD)SendMessage((hwndCtl),LB_SETITEMHEIGHT,(WPARAM)(int)(index),MAKELPARAM((cy),0)))
-#define ListBox_SetSel(hwndCtl,fSelect,index) ((int)(DWORD)SendMessage((hwndCtl),LB_SETSEL,(WPARAM)(BOOL)(fSelect),(LPARAM)(index)))
-#define ListBox_SetTabStops(hwndCtl,cTabs,lpTabs) ((BOOL)(DWORD)SendMessage((hwndCtl),LB_SETTABSTOPS,(WPARAM)(int)(cTabs),(LPARAM)(int*)(lpTabs)))
-#define ListBox_SetTopIndex(hwndCtl,indexTop) ((int)(DWORD)SendMessage((hwndCtl),LB_SETTOPINDEX,(WPARAM)(int)(indexTop),0))
-#define MapWindowRect(hwndFrom,hwndTo,lprc) MapWindowPoints((hwndFrom),(hwndTo),(POINT*)(lprc),2)
-#define ScrollBar_Enable(hwndCtl,flags) EnableScrollBar((hwndCtl),SB_CTL,(flags))
-#define ScrollBar_GetPos(hwndCtl) GetScrollPos((hwndCtl),SB_CTL)
-#define ScrollBar_GetRange(hwndCtl,lpposMin,lpposMax) GetScrollRange((hwndCtl),SB_CTL,(lpposMin),(lpposMax))
-#define ScrollBar_SetPos(hwndCtl,pos,fRedraw) SetScrollPos((hwndCtl),SB_CTL,(pos),(fRedraw))
-#define ScrollBar_SetRange(hwndCtl,posMin,posMax,fRedraw) SetScrollRange((hwndCtl),SB_CTL,(posMin),(posMax),(fRedraw))
-#define ScrollBar_Show(hwndCtl,fShow) ShowWindow((hwndCtl),(fShow) ? SW_SHOWNORMAL : SW_HIDE)
-#define SelectBitmap(hdc,hbm) ((HBITMAP)SelectObject((hdc),(HGDIOBJ)(HBITMAP)(hbm)))
-#define SelectBrush(hdc,hbr) ((HBRUSH)SelectObject((hdc),(HGDIOBJ)(HBRUSH)(hbr)))
-#define SelectFont(hdc,hfont) ((HFONT)SelectObject((hdc),(HGDIOBJ)(HFONT)(hfont)))
-#define SelectPen(hdc,hpen) ((HPEN)SelectObject((hdc),(HGDIOBJ)(HPEN)(hpen)))
-#define SetDlgMsgResult(hwnd,msg,result) (( (msg) == WM_CTLCOLORMSGBOX || (msg) == WM_CTLCOLOREDIT || (msg) == WM_CTLCOLORLISTBOX || (msg) == WM_CTLCOLORBTN || (msg) == WM_CTLCOLORDLG || (msg) == WM_CTLCOLORSCROLLBAR || (msg) == WM_CTLCOLORSTATIC || (msg) == WM_COMPAREITEM || (msg) == WM_VKEYTOITEM || (msg) == WM_CHARTOITEM || (msg) == WM_QUERYDRAGICON || (msg) == WM_INITDIALOG ) ? (BOOL)(result) : (SetWindowLong((hwnd),DWL_MSGRESULT,(LPARAM)(LRESULT)(result)),TRUE))
-#define SetWindowFont(hwnd,hfont,fRedraw) FORWARD_WM_SETFONT((hwnd),(hfont),(fRedraw),SendMessage)
-#define SetWindowRedraw(hwnd,fRedraw) ((void)SendMessage(hwnd,WM_SETREDRAW,(WPARAM)(BOOL)(fRedraw),0))
-#define Static_Enable(hwndCtl,fEnable) EnableWindow((hwndCtl),(fEnable))
-#define Static_GetIcon(hwndCtl,hIcon) ((HICON)(UINT)(DWORD)SendMessage((hwndCtl),STM_GETICON,0,0))
-#define Static_GetText(hwndCtl,lpch,cchMax) GetWindowText((hwndCtl),(lpch),(cchMax))
-#define Static_GetTextLength(hwndCtl) GetWindowTextLength(hwndCtl)
-#define Static_SetIcon(hwndCtl,hIcon) ((HICON)(UINT)(DWORD)SendMessage((hwndCtl),STM_SETICON,(WPARAM)(HICON)(hIcon),0))
-#define Static_SetText(hwndCtl,lpsz) SetWindowText((hwndCtl),(lpsz))
-#define SubclassDialog(hwndDlg,lpfn) ((DLGPROC)SetWindowLong(hwndDlg,DWL_DLGPROC,(LPARAM)(DLGPROC)(lpfn)))
-#define SubclassWindow(hwnd,lpfn) ((WNDPROC)SetWindowLong((hwnd),GWL_WNDPROC,(LPARAM)(WNDPROC)(lpfn)))
-#define SubtractRgn(hrgnResult,hrgnA,hrgnB) CombineRgn(hrgnResult,hrgnA,hrgnB,RGN_DIFF)
-#define UnionRgn(hrgnResult,hrgnA,hrgnB) CombineRgn(hrgnResult,hrgnA,hrgnB,RGN_OR)
-#define XorRgn(hrgnResult,hrgnA,hrgnB) CombineRgn(hrgnResult,hrgnA,hrgnB,RGN_XOR)
-
-/* FAR versions of mem and string functions for porting from old code*/
-#define _ffree free
-#define _fmalloc malloc
-#define _frealloc realloc
-#define _fmsize _msize
-
-#define _fmemcpy memcpy
-#define _fmemmove memmove
-#define _fmemset memset
-#define _fmemcmp memcmp
-#define _fmemchr memchr
-#define _fmemccpy _memccpy
-#define _fmemicmp _memicmp
-
-#define _fstrcat strcat
-#define _fstrchr strchr
-#define _fstrcmp strcmp
-#define _fstrcpy strcpy
-#define _fstrcspn strcspn
-#define _fstrdup _strdup
-#define _fstricmp _stricmp
-#define _fstrlen strlen
-#define _fstrlwr _strlwr
-#define _fstrncat strncat
-#define _fstrncmp strncmp
-#define _fstrncpy strncpy
-#define _fstrnicmp _strnicmp
-#define _fstrnset _strnset
-#define _fstrpbrk strpbrk
-#define _fstrrchr strrchr
-#define _fstrrev _strrev
-#define _fstrset _strset
-#define _fstrspn strspn
-#define _fstrstr strstr
-#define _fstrtok strtok
-#define _fstrupr _strupr
-
-#define hmemcpy MoveMemory
-
-#endif
diff --git a/winsup/w32api/include/winerror.h b/winsup/w32api/include/winerror.h
deleted file mode 100644
index 56f6700e0..000000000
--- a/winsup/w32api/include/winerror.h
+++ /dev/null
@@ -1,2230 +0,0 @@
-#ifndef _WINERROR_H
-#define _WINERROR_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#define ERROR_SUCCESS 0L
-#define NO_ERROR 0L
-#define ERROR_INVALID_FUNCTION 1L
-#define ERROR_FILE_NOT_FOUND 2L
-#define ERROR_PATH_NOT_FOUND 3L
-#define ERROR_TOO_MANY_OPEN_FILES 4L
-#define ERROR_ACCESS_DENIED 5L
-#define ERROR_INVALID_HANDLE 6L
-#define ERROR_ARENA_TRASHED 7L
-#define ERROR_NOT_ENOUGH_MEMORY 8L
-#define ERROR_INVALID_BLOCK 9L
-#define ERROR_BAD_ENVIRONMENT 10L
-#define ERROR_BAD_FORMAT 11L
-#define ERROR_INVALID_ACCESS 12L
-#define ERROR_INVALID_DATA 13L
-#define ERROR_OUTOFMEMORY 14L
-#define ERROR_INVALID_DRIVE 15L
-#define ERROR_CURRENT_DIRECTORY 16L
-#define ERROR_NOT_SAME_DEVICE 17L
-#define ERROR_NO_MORE_FILES 18L
-#define ERROR_WRITE_PROTECT 19L
-#define ERROR_BAD_UNIT 20L
-#define ERROR_NOT_READY 21L
-#define ERROR_BAD_COMMAND 22L
-#define ERROR_CRC 23L
-#define ERROR_BAD_LENGTH 24L
-#define ERROR_SEEK 25L
-#define ERROR_NOT_DOS_DISK 26L
-#define ERROR_SECTOR_NOT_FOUND 27L
-#define ERROR_OUT_OF_PAPER 28L
-#define ERROR_WRITE_FAULT 29L
-#define ERROR_READ_FAULT 30L
-#define ERROR_GEN_FAILURE 31L
-#define ERROR_SHARING_VIOLATION 32L
-#define ERROR_LOCK_VIOLATION 33L
-#define ERROR_WRONG_DISK 34L
-#define ERROR_SHARING_BUFFER_EXCEEDED 36L
-#define ERROR_HANDLE_EOF 38L
-#define ERROR_HANDLE_DISK_FULL 39L
-#define ERROR_NOT_SUPPORTED 50L
-#define ERROR_REM_NOT_LIST 51L
-#define ERROR_DUP_NAME 52L
-#define ERROR_BAD_NETPATH 53L
-#define ERROR_NETWORK_BUSY 54L
-#define ERROR_DEV_NOT_EXIST 55L
-#define ERROR_TOO_MANY_CMDS 56L
-#define ERROR_ADAP_HDW_ERR 57L
-#define ERROR_BAD_NET_RESP 58L
-#define ERROR_UNEXP_NET_ERR 59L
-#define ERROR_BAD_REM_ADAP 60L
-#define ERROR_PRINTQ_FULL 61L
-#define ERROR_NO_SPOOL_SPACE 62L
-#define ERROR_PRINT_CANCELLED 63L
-#define ERROR_NETNAME_DELETED 64L
-#define ERROR_NETWORK_ACCESS_DENIED 65L
-#define ERROR_BAD_DEV_TYPE 66L
-#define ERROR_BAD_NET_NAME 67L
-#define ERROR_TOO_MANY_NAMES 68L
-#define ERROR_TOO_MANY_SESS 69L
-#define ERROR_SHARING_PAUSED 70L
-#define ERROR_REQ_NOT_ACCEP 71L
-#define ERROR_REDIR_PAUSED 72L
-#define ERROR_FILE_EXISTS 80L
-#define ERROR_CANNOT_MAKE 82L
-#define ERROR_FAIL_I24 83L
-#define ERROR_OUT_OF_STRUCTURES 84L
-#define ERROR_ALREADY_ASSIGNED 85L
-#define ERROR_INVALID_PASSWORD 86L
-#define ERROR_INVALID_PARAMETER 87L
-#define ERROR_NET_WRITE_FAULT 88L
-#define ERROR_NO_PROC_SLOTS 89L
-#define ERROR_TOO_MANY_SEMAPHORES 100L
-#define ERROR_EXCL_SEM_ALREADY_OWNED 101L
-#define ERROR_SEM_IS_SET 102L
-#define ERROR_TOO_MANY_SEM_REQUESTS 103L
-#define ERROR_INVALID_AT_INTERRUPT_TIME 104L
-#define ERROR_SEM_OWNER_DIED 105L
-#define ERROR_SEM_USER_LIMIT 106L
-#define ERROR_DISK_CHANGE 107L
-#define ERROR_DRIVE_LOCKED 108L
-#define ERROR_BROKEN_PIPE 109L
-#define ERROR_OPEN_FAILED 110L
-#define ERROR_BUFFER_OVERFLOW 111L
-#define ERROR_DISK_FULL 112L
-#define ERROR_NO_MORE_SEARCH_HANDLES 113L
-#define ERROR_INVALID_TARGET_HANDLE 114L
-#define ERROR_INVALID_CATEGORY 117L
-#define ERROR_INVALID_VERIFY_SWITCH 118L
-#define ERROR_BAD_DRIVER_LEVEL 119L
-#define ERROR_CALL_NOT_IMPLEMENTED 120L
-#define ERROR_SEM_TIMEOUT 121L
-#define ERROR_INSUFFICIENT_BUFFER 122L
-#define ERROR_INVALID_NAME 123L
-#define ERROR_INVALID_LEVEL 124L
-#define ERROR_NO_VOLUME_LABEL 125L
-#define ERROR_MOD_NOT_FOUND 126L
-#define ERROR_PROC_NOT_FOUND 127L
-#define ERROR_WAIT_NO_CHILDREN 128L
-#define ERROR_CHILD_NOT_COMPLETE 129L
-#define ERROR_DIRECT_ACCESS_HANDLE 130L
-#define ERROR_NEGATIVE_SEEK 131L
-#define ERROR_SEEK_ON_DEVICE 132L
-#define ERROR_IS_JOIN_TARGET 133L
-#define ERROR_IS_JOINED 134L
-#define ERROR_IS_SUBSTED 135L
-#define ERROR_NOT_JOINED 136L
-#define ERROR_NOT_SUBSTED 137L
-#define ERROR_JOIN_TO_JOIN 138L
-#define ERROR_SUBST_TO_SUBST 139L
-#define ERROR_JOIN_TO_SUBST 140L
-#define ERROR_SUBST_TO_JOIN 141L
-#define ERROR_BUSY_DRIVE 142L
-#define ERROR_SAME_DRIVE 143L
-#define ERROR_DIR_NOT_ROOT 144L
-#define ERROR_DIR_NOT_EMPTY 145L
-#define ERROR_IS_SUBST_PATH 146L
-#define ERROR_IS_JOIN_PATH 147L
-#define ERROR_PATH_BUSY 148L
-#define ERROR_IS_SUBST_TARGET 149L
-#define ERROR_SYSTEM_TRACE 150L
-#define ERROR_INVALID_EVENT_COUNT 151L
-#define ERROR_TOO_MANY_MUXWAITERS 152L
-#define ERROR_INVALID_LIST_FORMAT 153L
-#define ERROR_LABEL_TOO_LONG 154L
-#define ERROR_TOO_MANY_TCBS 155L
-#define ERROR_SIGNAL_REFUSED 156L
-#define ERROR_DISCARDED 157L
-#define ERROR_NOT_LOCKED 158L
-#define ERROR_BAD_THREADID_ADDR 159L
-#define ERROR_BAD_ARGUMENTS 160L
-#define ERROR_BAD_PATHNAME 161L
-#define ERROR_SIGNAL_PENDING 162L
-#define ERROR_MAX_THRDS_REACHED 164L
-#define ERROR_LOCK_FAILED 167L
-#define ERROR_BUSY 170L
-#define ERROR_CANCEL_VIOLATION 173L
-#define ERROR_ATOMIC_LOCKS_NOT_SUPPORTED 174L
-#define ERROR_INVALID_SEGMENT_NUMBER 180L
-#define ERROR_INVALID_ORDINAL 182L
-#define ERROR_ALREADY_EXISTS 183L
-#define ERROR_INVALID_FLAG_NUMBER 186L
-#define ERROR_SEM_NOT_FOUND 187L
-#define ERROR_INVALID_STARTING_CODESEG 188L
-#define ERROR_INVALID_STACKSEG 189L
-#define ERROR_INVALID_MODULETYPE 190L
-#define ERROR_INVALID_EXE_SIGNATURE 191L
-#define ERROR_EXE_MARKED_INVALID 192L
-#define ERROR_BAD_EXE_FORMAT 193L
-#define ERROR_ITERATED_DATA_EXCEEDS_64k 194L
-#define ERROR_INVALID_MINALLOCSIZE 195L
-#define ERROR_DYNLINK_FROM_INVALID_RING 196L
-#define ERROR_IOPL_NOT_ENABLED 197L
-#define ERROR_INVALID_SEGDPL 198L
-#define ERROR_AUTODATASEG_EXCEEDS_64k 199L
-#define ERROR_RING2SEG_MUST_BE_MOVABLE 200L
-#define ERROR_RELOC_CHAIN_XEEDS_SEGLIM 201L
-#define ERROR_INFLOOP_IN_RELOC_CHAIN 202L
-#define ERROR_ENVVAR_NOT_FOUND 203L
-#define ERROR_NO_SIGNAL_SENT 205L
-#define ERROR_FILENAME_EXCED_RANGE 206L
-#define ERROR_RING2_STACK_IN_USE 207L
-#define ERROR_META_EXPANSION_TOO_LONG 208L
-#define ERROR_INVALID_SIGNAL_NUMBER 209L
-#define ERROR_THREAD_1_INACTIVE 210L
-#define ERROR_LOCKED 212L
-#define ERROR_TOO_MANY_MODULES 214L
-#define ERROR_NESTING_NOT_ALLOWED 215L
-#define ERROR_EXE_MACHINE_TYPE_MISMATCH 216L
-#define ERROR_EXE_CANNOT_MODIFY_SIGNED_BINARY 217L
-#define ERROR_EXE_CANNOT_MODIFY_STRONG_SIGNED_BINARY 218L
-#define ERROR_BAD_PIPE 230L
-#define ERROR_PIPE_BUSY 231L
-#define ERROR_NO_DATA 232L
-#define ERROR_PIPE_NOT_CONNECTED 233L
-#define ERROR_MORE_DATA 234L
-#define ERROR_VC_DISCONNECTED 240L
-#define ERROR_INVALID_EA_NAME 254L
-#define ERROR_EA_LIST_INCONSISTENT 255L
-#ifndef WAIT_TIMEOUT /* also in winbase.h */
-#define WAIT_TIMEOUT 258L
-#endif
-#define ERROR_NO_MORE_ITEMS 259L
-#define ERROR_CANNOT_COPY 266L
-#define ERROR_DIRECTORY 267L
-#define ERROR_EAS_DIDNT_FIT 275L
-#define ERROR_EA_FILE_CORRUPT 276L
-#define ERROR_EA_TABLE_FULL 277L
-#define ERROR_INVALID_EA_HANDLE 278L
-#define ERROR_EAS_NOT_SUPPORTED 282L
-#define ERROR_NOT_OWNER 288L
-#define ERROR_TOO_MANY_POSTS 298L
-#define ERROR_PARTIAL_COPY 299L
-#define ERROR_OPLOCK_NOT_GRANTED 300L
-#define ERROR_INVALID_OPLOCK_PROTOCOL 301L
-#define ERROR_DISK_TOO_FRAGMENTED 302L
-#define ERROR_DELETE_PENDING 303L
-#define ERROR_MR_MID_NOT_FOUND 317L
-#define ERROR_SCOPE_NOT_FOUND 318L
-#define ERROR_INVALID_ADDRESS 487L
-#define ERROR_ARITHMETIC_OVERFLOW 534L
-#define ERROR_PIPE_CONNECTED 535L
-#define ERROR_PIPE_LISTENING 536L
-#define ERROR_EA_ACCESS_DENIED 994L
-#define ERROR_OPERATION_ABORTED 995L
-#define ERROR_IO_INCOMPLETE 996L
-#define ERROR_IO_PENDING 997L
-#define ERROR_NOACCESS 998L
-#define ERROR_SWAPERROR 999L
-#define ERROR_STACK_OVERFLOW 1001L
-#define ERROR_INVALID_MESSAGE 1002L
-#define ERROR_CAN_NOT_COMPLETE 1003L
-#define ERROR_INVALID_FLAGS 1004L
-#define ERROR_UNRECOGNIZED_VOLUME 1005L
-#define ERROR_FILE_INVALID 1006L
-#define ERROR_FULLSCREEN_MODE 1007L
-#define ERROR_NO_TOKEN 1008L
-#define ERROR_BADDB 1009L
-#define ERROR_BADKEY 1010L
-#define ERROR_CANTOPEN 1011L
-#define ERROR_CANTREAD 1012L
-#define ERROR_CANTWRITE 1013L
-#define ERROR_REGISTRY_RECOVERED 1014L
-#define ERROR_REGISTRY_CORRUPT 1015L
-#define ERROR_REGISTRY_IO_FAILED 1016L
-#define ERROR_NOT_REGISTRY_FILE 1017L
-#define ERROR_KEY_DELETED 1018L
-#define ERROR_NO_LOG_SPACE 1019L
-#define ERROR_KEY_HAS_CHILDREN 1020L
-#define ERROR_CHILD_MUST_BE_VOLATILE 1021L
-#define ERROR_NOTIFY_ENUM_DIR 1022L
-#define ERROR_DEPENDENT_SERVICES_RUNNING 1051L
-#define ERROR_INVALID_SERVICE_CONTROL 1052L
-#define ERROR_SERVICE_REQUEST_TIMEOUT 1053L
-#define ERROR_SERVICE_NO_THREAD 1054L
-#define ERROR_SERVICE_DATABASE_LOCKED 1055L
-#define ERROR_SERVICE_ALREADY_RUNNING 1056L
-#define ERROR_INVALID_SERVICE_ACCOUNT 1057L
-#define ERROR_SERVICE_DISABLED 1058L
-#define ERROR_CIRCULAR_DEPENDENCY 1059L
-#define ERROR_SERVICE_DOES_NOT_EXIST 1060L
-#define ERROR_SERVICE_CANNOT_ACCEPT_CTRL 1061L
-#define ERROR_SERVICE_NOT_ACTIVE 1062L
-#define ERROR_FAILED_SERVICE_CONTROLLER_CONNECT 1063L
-#define ERROR_EXCEPTION_IN_SERVICE 1064L
-#define ERROR_DATABASE_DOES_NOT_EXIST 1065L
-#define ERROR_SERVICE_SPECIFIC_ERROR 1066L
-#define ERROR_PROCESS_ABORTED 1067L
-#define ERROR_SERVICE_DEPENDENCY_FAIL 1068L
-#define ERROR_SERVICE_LOGON_FAILED 1069L
-#define ERROR_SERVICE_START_HANG 1070L
-#define ERROR_INVALID_SERVICE_LOCK 1071L
-#define ERROR_SERVICE_MARKED_FOR_DELETE 1072L
-#define ERROR_SERVICE_EXISTS 1073L
-#define ERROR_ALREADY_RUNNING_LKG 1074L
-#define ERROR_SERVICE_DEPENDENCY_DELETED 1075L
-#define ERROR_BOOT_ALREADY_ACCEPTED 1076L
-#define ERROR_SERVICE_NEVER_STARTED 1077L
-#define ERROR_DUPLICATE_SERVICE_NAME 1078L
-#define ERROR_DIFFERENT_SERVICE_ACCOUNT 1079L
-#define ERROR_CANNOT_DETECT_DRIVER_FAILURE 1080L
-#define ERROR_CANNOT_DETECT_PROCESS_ABORT 1081L
-#define ERROR_NO_RECOVERY_PROGRAM 1082L
-#define ERROR_SERVICE_NOT_IN_EXE 1083L
-#define ERROR_NOT_SAFEBOOT_SERVICE 1084L
-#define ERROR_END_OF_MEDIA 1100L
-#define ERROR_FILEMARK_DETECTED 1101L
-#define ERROR_BEGINNING_OF_MEDIA 1102L
-#define ERROR_SETMARK_DETECTED 1103L
-#define ERROR_NO_DATA_DETECTED 1104L
-#define ERROR_PARTITION_FAILURE 1105L
-#define ERROR_INVALID_BLOCK_LENGTH 1106L
-#define ERROR_DEVICE_NOT_PARTITIONED 1107L
-#define ERROR_UNABLE_TO_LOCK_MEDIA 1108L
-#define ERROR_UNABLE_TO_UNLOAD_MEDIA 1109L
-#define ERROR_MEDIA_CHANGED 1110L
-#define ERROR_BUS_RESET 1111L
-#define ERROR_NO_MEDIA_IN_DRIVE 1112L
-#define ERROR_NO_UNICODE_TRANSLATION 1113L
-#define ERROR_DLL_INIT_FAILED 1114L
-#define ERROR_SHUTDOWN_IN_PROGRESS 1115L
-#define ERROR_NO_SHUTDOWN_IN_PROGRESS 1116L
-#define ERROR_IO_DEVICE 1117L
-#define ERROR_SERIAL_NO_DEVICE 1118L
-#define ERROR_IRQ_BUSY 1119L
-#define ERROR_MORE_WRITES 1120L
-#define ERROR_COUNTER_TIMEOUT 1121L
-#define ERROR_FLOPPY_ID_MARK_NOT_FOUND 1122L
-#define ERROR_FLOPPY_WRONG_CYLINDER 1123L
-#define ERROR_FLOPPY_UNKNOWN_ERROR 1124L
-#define ERROR_FLOPPY_BAD_REGISTERS 1125L
-#define ERROR_DISK_RECALIBRATE_FAILED 1126L
-#define ERROR_DISK_OPERATION_FAILED 1127L
-#define ERROR_DISK_RESET_FAILED 1128L
-#define ERROR_EOM_OVERFLOW 1129L
-#define ERROR_NOT_ENOUGH_SERVER_MEMORY 1130L
-#define ERROR_POSSIBLE_DEADLOCK 1131L
-#define ERROR_MAPPED_ALIGNMENT 1132L
-#define ERROR_SET_POWER_STATE_VETOED 1140L
-#define ERROR_SET_POWER_STATE_FAILED 1141L
-#define ERROR_TOO_MANY_LINKS 1142L
-#define ERROR_OLD_WIN_VERSION 1150L
-#define ERROR_APP_WRONG_OS 1151L
-#define ERROR_SINGLE_INSTANCE_APP 1152L
-#define ERROR_RMODE_APP 1153L
-#define ERROR_INVALID_DLL 1154L
-#define ERROR_NO_ASSOCIATION 1155L
-#define ERROR_DDE_FAIL 1156L
-#define ERROR_DLL_NOT_FOUND 1157L
-#define ERROR_NO_MORE_USER_HANDLES 1158L
-#define ERROR_MESSAGE_SYNC_ONLY 1159L
-#define ERROR_SOURCE_ELEMENT_EMPTY 1160L
-#define ERROR_DESTINATION_ELEMENT_FULL 1161L
-#define ERROR_ILLEGAL_ELEMENT_ADDRESS 1162L
-#define ERROR_MAGAZINE_NOT_PRESENT 1163L
-#define ERROR_DEVICE_REINITIALIZATION_NEEDED 1164L
-#define ERROR_DEVICE_REQUIRES_CLEANING 1165L
-#define ERROR_DEVICE_DOOR_OPEN 1166L
-#define ERROR_DEVICE_NOT_CONNECTED 1167L
-#define ERROR_NOT_FOUND 1168L
-#define ERROR_NO_MATCH 1169L
-#define ERROR_SET_NOT_FOUND 1170L
-#define ERROR_POINT_NOT_FOUND 1171L
-#define ERROR_NO_TRACKING_SERVICE 1172L
-#define ERROR_NO_VOLUME_ID 1173L
-#define ERROR_UNABLE_TO_REMOVE_REPLACED 1175L
-#define ERROR_UNABLE_TO_MOVE_REPLACEMENT 1176L
-#define ERROR_UNABLE_TO_MOVE_REPLACEMENT_2 1177L
-#define ERROR_JOURNAL_DELETE_IN_PROGRESS 1178L
-#define ERROR_JOURNAL_NOT_ACTIVE 1179L
-#define ERROR_POTENTIAL_FILE_FOUND 1180L
-#define ERROR_JOURNAL_ENTRY_DELETED 1181L
-#define ERROR_BAD_DEVICE 1200L
-#define ERROR_CONNECTION_UNAVAIL 1201L
-#define ERROR_DEVICE_ALREADY_REMEMBERED 1202L
-#define ERROR_NO_NET_OR_BAD_PATH 1203L
-#define ERROR_BAD_PROVIDER 1204L
-#define ERROR_CANNOT_OPEN_PROFILE 1205L
-#define ERROR_BAD_PROFILE 1206L
-#define ERROR_NOT_CONTAINER 1207L
-#define ERROR_EXTENDED_ERROR 1208L
-#define ERROR_INVALID_GROUPNAME 1209L
-#define ERROR_INVALID_COMPUTERNAME 1210L
-#define ERROR_INVALID_EVENTNAME 1211L
-#define ERROR_INVALID_DOMAINNAME 1212L
-#define ERROR_INVALID_SERVICENAME 1213L
-#define ERROR_INVALID_NETNAME 1214L
-#define ERROR_INVALID_SHARENAME 1215L
-#define ERROR_INVALID_PASSWORDNAME 1216L
-#define ERROR_INVALID_MESSAGENAME 1217L
-#define ERROR_INVALID_MESSAGEDEST 1218L
-#define ERROR_SESSION_CREDENTIAL_CONFLICT 1219L
-#define ERROR_REMOTE_SESSION_LIMIT_EXCEEDED 1220L
-#define ERROR_DUP_DOMAINNAME 1221L
-#define ERROR_NO_NETWORK 1222L
-#define ERROR_CANCELLED 1223L
-#define ERROR_USER_MAPPED_FILE 1224L
-#define ERROR_CONNECTION_REFUSED 1225L
-#define ERROR_GRACEFUL_DISCONNECT 1226L
-#define ERROR_ADDRESS_ALREADY_ASSOCIATED 1227L
-#define ERROR_ADDRESS_NOT_ASSOCIATED 1228L
-#define ERROR_CONNECTION_INVALID 1229L
-#define ERROR_CONNECTION_ACTIVE 1230L
-#define ERROR_NETWORK_UNREACHABLE 1231L
-#define ERROR_HOST_UNREACHABLE 1232L
-#define ERROR_PROTOCOL_UNREACHABLE 1233L
-#define ERROR_PORT_UNREACHABLE 1234L
-#define ERROR_REQUEST_ABORTED 1235L
-#define ERROR_CONNECTION_ABORTED 1236L
-#define ERROR_RETRY 1237L
-#define ERROR_CONNECTION_COUNT_LIMIT 1238L
-#define ERROR_LOGIN_TIME_RESTRICTION 1239L
-#define ERROR_LOGIN_WKSTA_RESTRICTION 1240L
-#define ERROR_INCORRECT_ADDRESS 1241L
-#define ERROR_ALREADY_REGISTERED 1242L
-#define ERROR_SERVICE_NOT_FOUND 1243L
-#define ERROR_NOT_AUTHENTICATED 1244L
-#define ERROR_NOT_LOGGED_ON 1245L
-#define ERROR_CONTINUE 1246L
-#define ERROR_ALREADY_INITIALIZED 1247L
-#define ERROR_NO_MORE_DEVICES 1248L
-#define ERROR_NO_SUCH_SITE 1249L
-#define ERROR_DOMAIN_CONTROLLER_EXISTS 1250L
-#define ERROR_ONLY_IF_CONNECTED 1251L
-#define ERROR_OVERRIDE_NOCHANGES 1252L
-#define ERROR_BAD_USER_PROFILE 1253L
-#define ERROR_NOT_SUPPORTED_ON_SBS 1254L
-#define ERROR_SERVER_SHUTDOWN_IN_PROGRESS 1255L
-#define ERROR_HOST_DOWN 1256L
-#define ERROR_NON_ACCOUNT_SID 1257L
-#define ERROR_NON_DOMAIN_SID 1258L
-#define ERROR_APPHELP_BLOCK 1259L
-#define ERROR_ACCESS_DISABLED_BY_POLICY 1260L
-#define ERROR_REG_NAT_CONSUMPTION 1261L
-#define ERROR_CSCSHARE_OFFLINE 1262L
-#define ERROR_PKINIT_FAILURE 1263L
-#define ERROR_SMARTCARD_SUBSYSTEM_FAILURE 1264L
-#define ERROR_DOWNGRADE_DETECTED 1265L
-#define SEC_E_SMARTCARD_CERT_REVOKED 1266L
-#define SEC_E_ISSUING_CA_UNTRUSTED 1267L
-#define SEC_E_REVOCATION_OFFLINE_C 1268L
-#define SEC_E_PKINIT_CLIENT_FAILUR 1269L
-#define SEC_E_SMARTCARD_CERT_EXPIRED 1270L
-#define ERROR_MACHINE_LOCKED 1271L
-#define ERROR_CALLBACK_SUPPLIED_INVALID_DATA 1273L
-#define ERROR_SYNC_FOREGROUND_REFRESH_REQUIRED 1274L
-#define ERROR_DRIVER_BLOCKED 1275L
-#define ERROR_INVALID_IMPORT_OF_NON_DLL 1276L
-#define ERROR_ACCESS_DISABLED_WEBBLADE 1277L
-#define ERROR_ACCESS_DISABLED_WEBBLADE_TAMPER 1278L
-#define ERROR_RECOVERY_FAILURE 1279L
-#define ERROR_ALREADY_FIBER 1280L
-#define ERROR_ALREADY_THREAD 1281L
-#define ERROR_STACK_BUFFER_OVERRUN 1282L
-#define ERROR_PARAMETER_QUOTA_EXCEEDED 1283L
-#define ERROR_DEBUGGER_INACTIVE 1284L
-#define ERROR_NOT_ALL_ASSIGNED 1300L
-#define ERROR_SOME_NOT_MAPPED 1301L
-#define ERROR_NO_QUOTAS_FOR_ACCOUNT 1302L
-#define ERROR_LOCAL_USER_SESSION_KEY 1303L
-#define ERROR_NULL_LM_PASSWORD 1304L
-#define ERROR_UNKNOWN_REVISION 1305L
-#define ERROR_REVISION_MISMATCH 1306L
-#define ERROR_INVALID_OWNER 1307L
-#define ERROR_INVALID_PRIMARY_GROUP 1308L
-#define ERROR_NO_IMPERSONATION_TOKEN 1309L
-#define ERROR_CANT_DISABLE_MANDATORY 1310L
-#define ERROR_NO_LOGON_SERVERS 1311L
-#define ERROR_NO_SUCH_LOGON_SESSION 1312L
-#define ERROR_NO_SUCH_PRIVILEGE 1313L
-#define ERROR_PRIVILEGE_NOT_HELD 1314L
-#define ERROR_INVALID_ACCOUNT_NAME 1315L
-#define ERROR_USER_EXISTS 1316L
-#define ERROR_NO_SUCH_USER 1317L
-#define ERROR_GROUP_EXISTS 1318L
-#define ERROR_NO_SUCH_GROUP 1319L
-#define ERROR_MEMBER_IN_GROUP 1320L
-#define ERROR_MEMBER_NOT_IN_GROUP 1321L
-#define ERROR_LAST_ADMIN 1322L
-#define ERROR_WRONG_PASSWORD 1323L
-#define ERROR_ILL_FORMED_PASSWORD 1324L
-#define ERROR_PASSWORD_RESTRICTION 1325L
-#define ERROR_LOGON_FAILURE 1326L
-#define ERROR_ACCOUNT_RESTRICTION 1327L
-#define ERROR_INVALID_LOGON_HOURS 1328L
-#define ERROR_INVALID_WORKSTATION 1329L
-#define ERROR_PASSWORD_EXPIRED 1330L
-#define ERROR_ACCOUNT_DISABLED 1331L
-#define ERROR_NONE_MAPPED 1332L
-#define ERROR_TOO_MANY_LUIDS_REQUESTED 1333L
-#define ERROR_LUIDS_EXHAUSTED 1334L
-#define ERROR_INVALID_SUB_AUTHORITY 1335L
-#define ERROR_INVALID_ACL 1336L
-#define ERROR_INVALID_SID 1337L
-#define ERROR_INVALID_SECURITY_DESCR 1338L
-#define ERROR_BAD_INHERITANCE_ACL 1340L
-#define ERROR_SERVER_DISABLED 1341L
-#define ERROR_SERVER_NOT_DISABLED 1342L
-#define ERROR_INVALID_ID_AUTHORITY 1343L
-#define ERROR_ALLOTTED_SPACE_EXCEEDED 1344L
-#define ERROR_INVALID_GROUP_ATTRIBUTES 1345L
-#define ERROR_BAD_IMPERSONATION_LEVEL 1346L
-#define ERROR_CANT_OPEN_ANONYMOUS 1347L
-#define ERROR_BAD_VALIDATION_CLASS 1348L
-#define ERROR_BAD_TOKEN_TYPE 1349L
-#define ERROR_NO_SECURITY_ON_OBJECT 1350L
-#define ERROR_CANT_ACCESS_DOMAIN_INFO 1351L
-#define ERROR_INVALID_SERVER_STATE 1352L
-#define ERROR_INVALID_DOMAIN_STATE 1353L
-#define ERROR_INVALID_DOMAIN_ROLE 1354L
-#define ERROR_NO_SUCH_DOMAIN 1355L
-#define ERROR_DOMAIN_EXISTS 1356L
-#define ERROR_DOMAIN_LIMIT_EXCEEDED 1357L
-#define ERROR_INTERNAL_DB_CORRUPTION 1358L
-#define ERROR_INTERNAL_ERROR 1359L
-#define ERROR_GENERIC_NOT_MAPPED 1360L
-#define ERROR_BAD_DESCRIPTOR_FORMAT 1361L
-#define ERROR_NOT_LOGON_PROCESS 1362L
-#define ERROR_LOGON_SESSION_EXISTS 1363L
-#define ERROR_NO_SUCH_PACKAGE 1364L
-#define ERROR_BAD_LOGON_SESSION_STATE 1365L
-#define ERROR_LOGON_SESSION_COLLISION 1366L
-#define ERROR_INVALID_LOGON_TYPE 1367L
-#define ERROR_CANNOT_IMPERSONATE 1368L
-#define ERROR_RXACT_INVALID_STATE 1369L
-#define ERROR_RXACT_COMMIT_FAILURE 1370L
-#define ERROR_SPECIAL_ACCOUNT 1371L
-#define ERROR_SPECIAL_GROUP 1372L
-#define ERROR_SPECIAL_USER 1373L
-#define ERROR_MEMBERS_PRIMARY_GROUP 1374L
-#define ERROR_TOKEN_ALREADY_IN_USE 1375L
-#define ERROR_NO_SUCH_ALIAS 1376L
-#define ERROR_MEMBER_NOT_IN_ALIAS 1377L
-#define ERROR_MEMBER_IN_ALIAS 1378L
-#define ERROR_ALIAS_EXISTS 1379L
-#define ERROR_LOGON_NOT_GRANTED 1380L
-#define ERROR_TOO_MANY_SECRETS 1381L
-#define ERROR_SECRET_TOO_LONG 1382L
-#define ERROR_INTERNAL_DB_ERROR 1383L
-#define ERROR_TOO_MANY_CONTEXT_IDS 1384L
-#define ERROR_LOGON_TYPE_NOT_GRANTED 1385L
-#define ERROR_NT_CROSS_ENCRYPTION_REQUIRED 1386L
-#define ERROR_NO_SUCH_MEMBER 1387L
-#define ERROR_INVALID_MEMBER 1388L
-#define ERROR_TOO_MANY_SIDS 1389L
-#define ERROR_LM_CROSS_ENCRYPTION_REQUIRED 1390L
-#define ERROR_NO_INHERITANCE 1391L
-#define ERROR_FILE_CORRUPT 1392L
-#define ERROR_DISK_CORRUPT 1393L
-#define ERROR_NO_USER_SESSION_KEY 1394L
-#define ERROR_LICENSE_QUOTA_EXCEEDED 1395L
-#define ERROR_WRONG_TARGET_NAME 1396L
-#define ERROR_MUTUAL_AUTH_FAILED 1397L
-#define ERROR_TIME_SKEW 1398L
-#define ERROR_CURRENT_DOMAIN_NOT_ALLOWED 1399L
-#define ERROR_INVALID_WINDOW_HANDLE 1400L
-#define ERROR_INVALID_MENU_HANDLE 1401L
-#define ERROR_INVALID_CURSOR_HANDLE 1402L
-#define ERROR_INVALID_ACCEL_HANDLE 1403L
-#define ERROR_INVALID_HOOK_HANDLE 1404L
-#define ERROR_INVALID_DWP_HANDLE 1405L
-#define ERROR_TLW_WITH_WSCHILD 1406L
-#define ERROR_CANNOT_FIND_WND_CLASS 1407L
-#define ERROR_WINDOW_OF_OTHER_THREAD 1408L
-#define ERROR_HOTKEY_ALREADY_REGISTERED 1409L
-#define ERROR_CLASS_ALREADY_EXISTS 1410L
-#define ERROR_CLASS_DOES_NOT_EXIST 1411L
-#define ERROR_CLASS_HAS_WINDOWS 1412L
-#define ERROR_INVALID_INDEX 1413L
-#define ERROR_INVALID_ICON_HANDLE 1414L
-#define ERROR_PRIVATE_DIALOG_INDEX 1415L
-#define ERROR_LISTBOX_ID_NOT_FOUND 1416L
-#define ERROR_NO_WILDCARD_CHARACTERS 1417L
-#define ERROR_CLIPBOARD_NOT_OPEN 1418L
-#define ERROR_HOTKEY_NOT_REGISTERED 1419L
-#define ERROR_WINDOW_NOT_DIALOG 1420L
-#define ERROR_CONTROL_ID_NOT_FOUND 1421L
-#define ERROR_INVALID_COMBOBOX_MESSAGE 1422L
-#define ERROR_WINDOW_NOT_COMBOBOX 1423L
-#define ERROR_INVALID_EDIT_HEIGHT 1424L
-#define ERROR_DC_NOT_FOUND 1425L
-#define ERROR_INVALID_HOOK_FILTER 1426L
-#define ERROR_INVALID_FILTER_PROC 1427L
-#define ERROR_HOOK_NEEDS_HMOD 1428L
-#define ERROR_GLOBAL_ONLY_HOOK 1429L
-#define ERROR_JOURNAL_HOOK_SET 1430L
-#define ERROR_HOOK_NOT_INSTALLED 1431L
-#define ERROR_INVALID_LB_MESSAGE 1432L
-#define ERROR_SETCOUNT_ON_BAD_LB 1433L
-#define ERROR_LB_WITHOUT_TABSTOPS 1434L
-#define ERROR_DESTROY_OBJECT_OF_OTHER_THREAD 1435L
-#define ERROR_CHILD_WINDOW_MENU 1436L
-#define ERROR_NO_SYSTEM_MENU 1437L
-#define ERROR_INVALID_MSGBOX_STYLE 1438L
-#define ERROR_INVALID_SPI_VALUE 1439L
-#define ERROR_SCREEN_ALREADY_LOCKED 1440L
-#define ERROR_HWNDS_HAVE_DIFF_PARENT 1441L
-#define ERROR_NOT_CHILD_WINDOW 1442L
-#define ERROR_INVALID_GW_COMMAND 1443L
-#define ERROR_INVALID_THREAD_ID 1444L
-#define ERROR_NON_MDICHILD_WINDOW 1445L
-#define ERROR_POPUP_ALREADY_ACTIVE 1446L
-#define ERROR_NO_SCROLLBARS 1447L
-#define ERROR_INVALID_SCROLLBAR_RANGE 1448L
-#define ERROR_INVALID_SHOWWIN_COMMAND 1449L
-#define ERROR_NO_SYSTEM_RESOURCES 1450L
-#define ERROR_NONPAGED_SYSTEM_RESOURCES 1451L
-#define ERROR_PAGED_SYSTEM_RESOURCES 1452L
-#define ERROR_WORKING_SET_QUOTA 1453L
-#define ERROR_PAGEFILE_QUOTA 1454L
-#define ERROR_COMMITMENT_LIMIT 1455L
-#define ERROR_MENU_ITEM_NOT_FOUND 1456L
-#define ERROR_INVALID_KEYBOARD_HANDLE 1457L
-#define ERROR_HOOK_TYPE_NOT_ALLOWED 1458L
-#define ERROR_REQUIRES_INTERACTIVE_WINDOWSTATION 1459L
-#define ERROR_TIMEOUT 1460L
-#define ERROR_INVALID_MONITOR_HANDLE 1461L
-#define ERROR_EVENTLOG_FILE_CORRUPT 1500L
-#define ERROR_EVENTLOG_CANT_START 1501L
-#define ERROR_LOG_FILE_FULL 1502L
-#define ERROR_EVENTLOG_FILE_CHANGED 1503L
-#define ERROR_INSTALL_SERVICE_FAILURE 1601L
-#define ERROR_INSTALL_USEREXIT 1602L
-#define ERROR_INSTALL_FAILURE 1603L
-#define ERROR_INSTALL_SUSPEND 1604L
-#define ERROR_UNKNOWN_PRODUCT 1605L
-#define ERROR_UNKNOWN_FEATURE 1606L
-#define ERROR_UNKNOWN_COMPONENT 1607L
-#define ERROR_UNKNOWN_PROPERTY 1608L
-#define ERROR_INVALID_HANDLE_STATE 1609L
-#define ERROR_BAD_CONFIGURATION 1610L
-#define ERROR_INDEX_ABSENT 1611L
-#define ERROR_INSTALL_SOURCE_ABSENT 1612L
-#define ERROR_INSTALL_PACKAGE_VERSION 1613L
-#define ERROR_PRODUCT_UNINSTALLED 1614L
-#define ERROR_BAD_QUERY_SYNTAX 1615L
-#define ERROR_INVALID_FIELD 1616L
-#define ERROR_DEVICE_REMOVED 1617L
-#define ERROR_INSTALL_ALREADY_RUNNING 1618L
-#define ERROR_INSTALL_PACKAGE_OPEN_FAILED 1619L
-#define ERROR_INSTALL_PACKAGE_INVALID 1620L
-#define ERROR_INSTALL_UI_FAILURE 1621L
-#define ERROR_INSTALL_LOG_FAILURE 1622L
-#define ERROR_INSTALL_LANGUAGE_UNSUPPORTED 1623L
-#define ERROR_INSTALL_TRANSFORM_FAILURE 1624L
-#define ERROR_INSTALL_PACKAGE_REJECTED 1625L
-#define ERROR_FUNCTION_NOT_CALLED 1626L
-#define ERROR_FUNCTION_FAILED 1627L
-#define ERROR_INVALID_TABLE 1628L
-#define ERROR_DATATYPE_MISMATCH 1629L
-#define ERROR_UNSUPPORTED_TYPE 1630L
-#define ERROR_CREATE_FAILED 1631L
-#define ERROR_INSTALL_TEMP_UNWRITABLE 1632L
-#define ERROR_INSTALL_PLATFORM_UNSUPPORTED 1633L
-#define ERROR_INSTALL_NOTUSED 1634L
-#define ERROR_PATCH_PACKAGE_OPEN_FAILED 1635L
-#define ERROR_PATCH_PACKAGE_INVALID 1636L
-#define ERROR_PATCH_PACKAGE_UNSUPPORTED 1637L
-#define ERROR_PRODUCT_VERSION 1638L
-#define ERROR_INVALID_COMMAND_LINE 1639L
-#define ERROR_INSTALL_REMOTE_DISALLOWED 1640L
-#define ERROR_SUCCESS_REBOOT_INITIATED 1641L
-#define ERROR_PATCH_TARGET_NOT_FOUND 1642L
-#define ERROR_PATCH_PACKAGE_REJECTED 1643L
-#define ERROR_INSTALL_TRANSFORM_REJECTED 1644L
-#define ERROR_INSTALL_REMOTE_PROHIBITED 1645L
-#define RPC_S_INVALID_STRING_BINDING 1700L
-#define RPC_S_WRONG_KIND_OF_BINDING 1701L
-#define RPC_S_INVALID_BINDING 1702L
-#define RPC_S_PROTSEQ_NOT_SUPPORTED 1703L
-#define RPC_S_INVALID_RPC_PROTSEQ 1704L
-#define RPC_S_INVALID_STRING_UUID 1705L
-#define RPC_S_INVALID_ENDPOINT_FORMAT 1706L
-#define RPC_S_INVALID_NET_ADDR 1707L
-#define RPC_S_NO_ENDPOINT_FOUND 1708L
-#define RPC_S_INVALID_TIMEOUT 1709L
-#define RPC_S_OBJECT_NOT_FOUND 1710L
-#define RPC_S_ALREADY_REGISTERED 1711L
-#define RPC_S_TYPE_ALREADY_REGISTERED 1712L
-#define RPC_S_ALREADY_LISTENING 1713L
-#define RPC_S_NO_PROTSEQS_REGISTERED 1714L
-#define RPC_S_NOT_LISTENING 1715L
-#define RPC_S_UNKNOWN_MGR_TYPE 1716L
-#define RPC_S_UNKNOWN_IF 1717L
-#define RPC_S_NO_BINDINGS 1718L
-#define RPC_S_NO_PROTSEQS 1719L
-#define RPC_S_CANT_CREATE_ENDPOINT 1720L
-#define RPC_S_OUT_OF_RESOURCES 1721L
-#define RPC_S_SERVER_UNAVAILABLE 1722L
-#define RPC_S_SERVER_TOO_BUSY 1723L
-#define RPC_S_INVALID_NETWORK_OPTIONS 1724L
-#define RPC_S_NO_CALL_ACTIVE 1725L
-#define RPC_S_CALL_FAILED 1726L
-#define RPC_S_CALL_FAILED_DNE 1727L
-#define RPC_S_PROTOCOL_ERROR 1728L
-#define RPC_S_UNSUPPORTED_TRANS_SYN 1730L
-#define RPC_S_UNSUPPORTED_TYPE 1732L
-#define RPC_S_INVALID_TAG 1733L
-#define RPC_S_INVALID_BOUND 1734L
-#define RPC_S_NO_ENTRY_NAME 1735L
-#define RPC_S_INVALID_NAME_SYNTAX 1736L
-#define RPC_S_UNSUPPORTED_NAME_SYNTAX 1737L
-#define RPC_S_UUID_NO_ADDRESS 1739L
-#define RPC_S_DUPLICATE_ENDPOINT 1740L
-#define RPC_S_UNKNOWN_AUTHN_TYPE 1741L
-#define RPC_S_MAX_CALLS_TOO_SMALL 1742L
-#define RPC_S_STRING_TOO_LONG 1743L
-#define RPC_S_PROTSEQ_NOT_FOUND 1744L
-#define RPC_S_PROCNUM_OUT_OF_RANGE 1745L
-#define RPC_S_BINDING_HAS_NO_AUTH 1746L
-#define RPC_S_UNKNOWN_AUTHN_SERVICE 1747L
-#define RPC_S_UNKNOWN_AUTHN_LEVEL 1748L
-#define RPC_S_INVALID_AUTH_IDENTITY 1749L
-#define RPC_S_UNKNOWN_AUTHZ_SERVICE 1750L
-#define EPT_S_INVALID_ENTRY 1751L
-#define EPT_S_CANT_PERFORM_OP 1752L
-#define EPT_S_NOT_REGISTERED 1753L
-#define RPC_S_NOTHING_TO_EXPORT 1754L
-#define RPC_S_INCOMPLETE_NAME 1755L
-#define RPC_S_INVALID_VERS_OPTION 1756L
-#define RPC_S_NO_MORE_MEMBERS 1757L
-#define RPC_S_NOT_ALL_OBJS_UNEXPORTED 1758L
-#define RPC_S_INTERFACE_NOT_FOUND 1759L
-#define RPC_S_ENTRY_ALREADY_EXISTS 1760L
-#define RPC_S_ENTRY_NOT_FOUND 1761L
-#define RPC_S_NAME_SERVICE_UNAVAILABLE 1762L
-#define RPC_S_INVALID_NAF_ID 1763L
-#define RPC_S_CANNOT_SUPPORT 1764L
-#define RPC_S_NO_CONTEXT_AVAILABLE 1765L
-#define RPC_S_INTERNAL_ERROR 1766L
-#define RPC_S_ZERO_DIVIDE 1767L
-#define RPC_S_ADDRESS_ERROR 1768L
-#define RPC_S_FP_DIV_ZERO 1769L
-#define RPC_S_FP_UNDERFLOW 1770L
-#define RPC_S_FP_OVERFLOW 1771L
-#define RPC_X_NO_MORE_ENTRIES 1772L
-#define RPC_X_SS_CHAR_TRANS_OPEN_FAIL 1773L
-#define RPC_X_SS_CHAR_TRANS_SHORT_FILE 1774L
-#define RPC_X_SS_IN_NULL_CONTEXT 1775L
-#define RPC_X_SS_CONTEXT_DAMAGED 1777L
-#define RPC_X_SS_HANDLES_MISMATCH 1778L
-#define RPC_X_SS_CANNOT_GET_CALL_HANDLE 1779L
-#define RPC_X_NULL_REF_POINTER 1780L
-#define RPC_X_ENUM_VALUE_OUT_OF_RANGE 1781L
-#define RPC_X_BYTE_COUNT_TOO_SMALL 1782L
-#define RPC_X_BAD_STUB_DATA 1783L
-#define ERROR_INVALID_USER_BUFFER 1784L
-#define ERROR_UNRECOGNIZED_MEDIA 1785L
-#define ERROR_NO_TRUST_LSA_SECRET 1786L
-#define ERROR_NO_TRUST_SAM_ACCOUNT 1787L
-#define ERROR_TRUSTED_DOMAIN_FAILURE 1788L
-#define ERROR_TRUSTED_RELATIONSHIP_FAILURE 1789L
-#define ERROR_TRUST_FAILURE 1790L
-#define RPC_S_CALL_IN_PROGRESS 1791L
-#define ERROR_NETLOGON_NOT_STARTED 1792L
-#define ERROR_ACCOUNT_EXPIRED 1793L
-#define ERROR_REDIRECTOR_HAS_OPEN_HANDLES 1794L
-#define ERROR_PRINTER_DRIVER_ALREADY_INSTALLED 1795L
-#define ERROR_UNKNOWN_PORT 1796L
-#define ERROR_UNKNOWN_PRINTER_DRIVER 1797L
-#define ERROR_UNKNOWN_PRINTPROCESSOR 1798L
-#define ERROR_INVALID_SEPARATOR_FILE 1799L
-#define ERROR_INVALID_PRIORITY 1800L
-#define ERROR_INVALID_PRINTER_NAME 1801L
-#define ERROR_PRINTER_ALREADY_EXISTS 1802L
-#define ERROR_INVALID_PRINTER_COMMAND 1803L
-#define ERROR_INVALID_DATATYPE 1804L
-#define ERROR_INVALID_ENVIRONMENT 1805L
-#define RPC_S_NO_MORE_BINDINGS 1806L
-#define ERROR_NOLOGON_INTERDOMAIN_TRUST_ACCOUNT 1807L
-#define ERROR_NOLOGON_WORKSTATION_TRUST_ACCOUNT 1808L
-#define ERROR_NOLOGON_SERVER_TRUST_ACCOUNT 1809L
-#define ERROR_DOMAIN_TRUST_INCONSISTENT 1810L
-#define ERROR_SERVER_HAS_OPEN_HANDLES 1811L
-#define ERROR_RESOURCE_DATA_NOT_FOUND 1812L
-#define ERROR_RESOURCE_TYPE_NOT_FOUND 1813L
-#define ERROR_RESOURCE_NAME_NOT_FOUND 1814L
-#define ERROR_RESOURCE_LANG_NOT_FOUND 1815L
-#define ERROR_NOT_ENOUGH_QUOTA 1816L
-#define RPC_S_NO_INTERFACES 1817L
-#define RPC_S_CALL_CANCELLED 1818L
-#define RPC_S_BINDING_INCOMPLETE 1819L
-#define RPC_S_COMM_FAILURE 1820L
-#define RPC_S_UNSUPPORTED_AUTHN_LEVEL 1821L
-#define RPC_S_NO_PRINC_NAME 1822L
-#define RPC_S_NOT_RPC_ERROR 1823L
-#define RPC_S_UUID_LOCAL_ONLY 1824L
-#define RPC_S_SEC_PKG_ERROR 1825L
-#define RPC_S_NOT_CANCELLED 1826L
-#define RPC_X_INVALID_ES_ACTION 1827L
-#define RPC_X_WRONG_ES_VERSION 1828L
-#define RPC_X_WRONG_STUB_VERSION 1829L
-#define RPC_X_INVALID_PIPE_OBJECT 1830L
-#define RPC_X_WRONG_PIPE_ORDER 1831L
-#define RPC_X_WRONG_PIPE_VERSION 1832L
-#define RPC_S_GROUP_MEMBER_NOT_FOUND 1898L
-#define EPT_S_CANT_CREATE 1899L
-#define RPC_S_INVALID_OBJECT 1900L
-#define ERROR_INVALID_TIME 1901L
-#define ERROR_INVALID_FORM_NAME 1902L
-#define ERROR_INVALID_FORM_SIZE 1903L
-#define ERROR_ALREADY_WAITING 1904L
-#define ERROR_PRINTER_DELETED 1905L
-#define ERROR_INVALID_PRINTER_STATE 1906L
-#define ERROR_PASSWORD_MUST_CHANGE 1907L
-#define ERROR_DOMAIN_CONTROLLER_NOT_FOUND 1908L
-#define ERROR_ACCOUNT_LOCKED_OUT 1909L
-#define OR_INVALID_OXID 1910L
-#define OR_INVALID_OID 1911L
-#define OR_INVALID_SET 1912L
-#define RPC_S_SEND_INCOMPLETE 1913L
-#define RPC_S_INVALID_ASYNC_HANDLE 1914L
-#define RPC_S_INVALID_ASYNC_CALL 1915L
-#define RPC_X_PIPE_CLOSED 1916L
-#define RPC_X_PIPE_DISCIPLINE_ERROR 1917L
-#define RPC_X_PIPE_EMPTY 1918L
-#define ERROR_NO_SITENAME 1919L
-#define ERROR_CANT_ACCESS_FILE 1920L
-#define ERROR_CANT_RESOLVE_FILENAME 1921L
-#define RPC_S_ENTRY_TYPE_MISMATCH 1922L
-#define RPC_S_NOT_ALL_OBJS_EXPORTED 1923L
-#define RPC_S_INTERFACE_NOT_EXPORTED 1924L
-#define RPC_S_PROFILE_NOT_ADDED 1925L
-#define RPC_S_PRF_ELT_NOT_ADDED 1926L
-#define RPC_S_PRF_ELT_NOT_REMOVED 1927L
-#define RPC_S_GRP_ELT_NOT_ADDED 1928L
-#define RPC_S_GRP_ELT_NOT_REMOVED 1929L
-#define ERROR_KM_DRIVER_BLOCKED 1930L
-#define ERROR_CONTEXT_EXPIRED 1931L
-#define ERROR_PER_USER_TRUST_QUOTA_EXCEEDED 1932L
-#define ERROR_ALL_USER_TRUST_QUOTA_EXCEEDED 1933L
-#define ERROR_USER_DELETE_TRUST_QUOTA_EXCEEDED 1934L
-#define ERROR_INVALID_PIXEL_FORMAT 2000L
-#define ERROR_BAD_DRIVER 2001L
-#define ERROR_INVALID_WINDOW_STYLE 2002L
-#define ERROR_METAFILE_NOT_SUPPORTED 2003L
-#define ERROR_TRANSFORM_NOT_SUPPORTED 2004L
-#define ERROR_CLIPPING_NOT_SUPPORTED 2005L
-#define ERROR_INVALID_CMM 2010L
-#define ERROR_INVALID_PROFILE 2011L
-#define ERROR_TAG_NOT_FOUND 2012L
-#define ERROR_TAG_NOT_PRESENT 2013L
-#define ERROR_DUPLICATE_TAG 2014L
-#define ERROR_PROFILE_NOT_ASSOCIATED_WITH_DEVICE 2015L
-#define ERROR_PROFILE_NOT_FOUND 2016L
-#define ERROR_INVALID_COLORSPACE 2017L
-#define ERROR_ICM_NOT_ENABLED 2018L
-#define ERROR_DELETING_ICM_XFORM 2019L
-#define ERROR_INVALID_TRANSFORM 2020L
-#define ERROR_COLORSPACE_MISMATCH 2021L
-#define ERROR_INVALID_COLORINDEX 2022L
-#define ERROR_CONNECTED_OTHER_PASSWORD 2108L
-#define ERROR_CONNECTED_OTHER_PASSWORD_DEFAULT 2109L
-#define ERROR_BAD_USERNAME 2202L
-#define ERROR_NOT_CONNECTED 2250L
-#define ERROR_OPEN_FILES 2401L
-#define ERROR_ACTIVE_CONNECTIONS 2402L
-#define ERROR_DEVICE_IN_USE 2404L
-#define ERROR_UNKNOWN_PRINT_MONITOR 3000L
-#define ERROR_PRINTER_DRIVER_IN_USE 3001L
-#define ERROR_SPOOL_FILE_NOT_FOUND 3002L
-#define ERROR_SPL_NO_STARTDOC 3003L
-#define ERROR_SPL_NO_ADDJOB 3004L
-#define ERROR_PRINT_PROCESSOR_ALREADY_INSTALLED 3005L
-#define ERROR_PRINT_MONITOR_ALREADY_INSTALLED 3006L
-#define ERROR_INVALID_PRINT_MONITOR 3007L
-#define ERROR_PRINT_MONITOR_IN_USE 3008L
-#define ERROR_PRINTER_HAS_JOBS_QUEUED 3009L
-#define ERROR_SUCCESS_REBOOT_REQUIRED 3010L
-#define ERROR_SUCCESS_RESTART_REQUIRED 3011L
-#define ERROR_PRINTER_NOT_FOUND 3012L
-#define ERROR_PRINTER_DRIVER_WARNED 3013L
-#define ERROR_PRINTER_DRIVER_BLOCKED 3014L
-#define ERROR_WINS_INTERNAL 4000L
-#define ERROR_CAN_NOT_DEL_LOCAL_WINS 4001L
-#define ERROR_STATIC_INIT 4002L
-#define ERROR_INC_BACKUP 4003L
-#define ERROR_FULL_BACKUP 4004L
-#define ERROR_REC_NON_EXISTENT 4005L
-#define ERROR_RPL_NOT_ALLOWED 4006L
-#define ERROR_DHCP_ADDRESS_CONFLICT 4100L
-#define ERROR_WMI_GUID_NOT_FOUND 4200L
-#define ERROR_WMI_INSTANCE_NOT_FOUND 4201L
-#define ERROR_WMI_ITEMID_NOT_FOUND 4202L
-#define ERROR_WMI_TRY_AGAIN 4203L
-#define ERROR_WMI_DP_NOT_FOUND 4204L
-#define ERROR_WMI_UNRESOLVED_INSTANCE_REF 4205L
-#define ERROR_WMI_ALREADY_ENABLED 4206L
-#define ERROR_WMI_GUID_DISCONNECTED 4207L
-#define ERROR_WMI_SERVER_UNAVAILABLE 4208L
-#define ERROR_WMI_DP_FAILED 4209L
-#define ERROR_WMI_INVALID_MOF 4210L
-#define ERROR_WMI_INVALID_REGINFO 4211L
-#define ERROR_WMI_ALREADY_DISABLED 4212L
-#define ERROR_WMI_READ_ONLY 4213L
-#define ERROR_WMI_SET_FAILURE 4214L
-#define ERROR_INVALID_MEDIA 4300L
-#define ERROR_INVALID_LIBRARY 4301L
-#define ERROR_INVALID_MEDIA_POOL 4302L
-#define ERROR_DRIVE_MEDIA_MISMATCH 4303L
-#define ERROR_MEDIA_OFFLINE 4304L
-#define ERROR_LIBRARY_OFFLINE 4305L
-#define ERROR_EMPTY 4306L
-#define ERROR_NOT_EMPTY 4307L
-#define ERROR_MEDIA_UNAVAILABLE 4308L
-#define ERROR_RESOURCE_DISABLED 4309L
-#define ERROR_INVALID_CLEANER 4310L
-#define ERROR_UNABLE_TO_CLEAN 4311L
-#define ERROR_OBJECT_NOT_FOUND 4312L
-#define ERROR_DATABASE_FAILURE 4313L
-#define ERROR_DATABASE_FULL 4314L
-#define ERROR_MEDIA_INCOMPATIBLE 4315L
-#define ERROR_RESOURCE_NOT_PRESENT 4316L
-#define ERROR_INVALID_OPERATION 4317L
-#define ERROR_MEDIA_NOT_AVAILABLE 4318L
-#define ERROR_DEVICE_NOT_AVAILABLE 4319L
-#define ERROR_REQUEST_REFUSED 4320L
-#define ERROR_INVALID_DRIVE_OBJECT 4321L
-#define ERROR_LIBRARY_FULL 4322L
-#define ERROR_MEDIUM_NOT_ACCESSIBLE 4323L
-#define ERROR_UNABLE_TO_LOAD_MEDIUM 4324L
-#define ERROR_UNABLE_TO_INVENTORY_DRIVE 4325L
-#define ERROR_UNABLE_TO_INVENTORY_SLOT 4326L
-#define ERROR_UNABLE_TO_INVENTORY_TRANSPORT 4327L
-#define ERROR_TRANSPORT_FULL 4328L
-#define ERROR_CONTROLLING_IEPORT 4329L
-#define ERROR_UNABLE_TO_EJECT_MOUNTED_MEDIA 4330L
-#define ERROR_CLEANER_SLOT_SET 4331L
-#define ERROR_CLEANER_SLOT_NOT_SET 4332L
-#define ERROR_CLEANER_CARTRIDGE_SPENT 4333L
-#define ERROR_UNEXPECTED_OMID 4334L
-#define ERROR_CANT_DELETE_LAST_ITEM 4335L
-#define ERROR_MESSAGE_EXCEEDS_MAX_SIZE 4336L
-#define ERROR_VOLUME_CONTAINS_SYS_FILES 4337L
-#define ERROR_INDIGENOUS_TYPE 4338L
-#define ERROR_NO_SUPPORTING_DRIVES 4339L
-#define ERROR_CLEANER_CARTRIDGE_INSTALLED 4340L
-#define ERROR_FILE_OFFLINE 4350L
-#define ERROR_REMOTE_STORAGE_NOT_ACTIVE 4351L
-#define ERROR_REMOTE_STORAGE_MEDIA_ERROR 4352L
-#define ERROR_NOT_A_REPARSE_POINT 4390L
-#define ERROR_REPARSE_ATTRIBUTE_CONFLICT 4391L
-#define ERROR_INVALID_REPARSE_DATA 4392L
-#define ERROR_REPARSE_TAG_INVALID 4393L
-#define ERROR_REPARSE_TAG_MISMATCH 4394L
-#define ERROR_VOLUME_NOT_SIS_ENABLED 4500L
-#define ERROR_DEPENDENT_RESOURCE_EXISTS 5001L
-#define ERROR_DEPENDENCY_NOT_FOUND 5002L
-#define ERROR_DEPENDENCY_ALREADY_EXISTS 5003L
-#define ERROR_RESOURCE_NOT_ONLINE 5004L
-#define ERROR_HOST_NODE_NOT_AVAILABLE 5005L
-#define ERROR_RESOURCE_NOT_AVAILABLE 5006L
-#define ERROR_RESOURCE_NOT_FOUND 5007L
-#define ERROR_SHUTDOWN_CLUSTER 5008L
-#define ERROR_CANT_EVICT_ACTIVE_NODE 5009L
-#define ERROR_OBJECT_ALREADY_EXISTS 5010L
-#define ERROR_OBJECT_IN_LIST 5011L
-#define ERROR_GROUP_NOT_AVAILABLE 5012L
-#define ERROR_GROUP_NOT_FOUND 5013L
-#define ERROR_GROUP_NOT_ONLINE 5014L
-#define ERROR_HOST_NODE_NOT_RESOURCE_OWNER 5015L
-#define ERROR_HOST_NODE_NOT_GROUP_OWNER 5016L
-#define ERROR_RESMON_CREATE_FAILED 5017L
-#define ERROR_RESMON_ONLINE_FAILED 5018L
-#define ERROR_RESOURCE_ONLINE 5019L
-#define ERROR_QUORUM_RESOURCE 5020L
-#define ERROR_NOT_QUORUM_CAPABLE 5021L
-#define ERROR_CLUSTER_SHUTTING_DOWN 5022L
-#define ERROR_INVALID_STATE 5023L
-#define ERROR_RESOURCE_PROPERTIES_STORED 5024L
-#define ERROR_NOT_QUORUM_CLASS 5025L
-#define ERROR_CORE_RESOURCE 5026L
-#define ERROR_QUORUM_RESOURCE_ONLINE_FAILED 5027L
-#define ERROR_QUORUMLOG_OPEN_FAILED 5028L
-#define ERROR_CLUSTERLOG_CORRUPT 5029L
-#define ERROR_CLUSTERLOG_RECORD_EXCEEDS_MAXSIZE 5030L
-#define ERROR_CLUSTERLOG_EXCEEDS_MAXSIZE 5031L
-#define ERROR_CLUSTERLOG_CHKPOINT_NOT_FOUND 5032L
-#define ERROR_CLUSTERLOG_NOT_ENOUGH_SPACE 5033L
-#define ERROR_QUORUM_OWNER_ALIVE 5034L
-#define ERROR_NETWORK_NOT_AVAILABLE 5035L
-#define ERROR_NODE_NOT_AVAILABLE 5036L
-#define ERROR_ALL_NODES_NOT_AVAILABLE 5037L
-#define ERROR_RESOURCE_FAILED 5038L
-#define ERROR_CLUSTER_INVALID_NODE 5039L
-#define ERROR_CLUSTER_NODE_EXISTS 5040L
-#define ERROR_CLUSTER_JOIN_IN_PROGRESS 5041L
-#define ERROR_CLUSTER_NODE_NOT_FOUND 5042L
-#define ERROR_CLUSTER_LOCAL_NODE_NOT_FOUND 5043L
-#define ERROR_CLUSTER_NETWORK_EXISTS 5044L
-#define ERROR_CLUSTER_NETWORK_NOT_FOUND 5045L
-#define ERROR_CLUSTER_NETINTERFACE_EXISTS 5046L
-#define ERROR_CLUSTER_NETINTERFACE_NOT_FOUND 5047L
-#define ERROR_CLUSTER_INVALID_REQUEST 5048L
-#define ERROR_CLUSTER_INVALID_NETWORK_PROVIDER 5049L
-#define ERROR_CLUSTER_NODE_DOWN 5050L
-#define ERROR_CLUSTER_NODE_UNREACHABLE 5051L
-#define ERROR_CLUSTER_NODE_NOT_MEMBER 5052L
-#define ERROR_CLUSTER_JOIN_NOT_IN_PROGRESS 5053L
-#define ERROR_CLUSTER_INVALID_NETWORK 5054L
-#define ERROR_CLUSTER_NODE_UP 5056L
-#define ERROR_CLUSTER_IPADDR_IN_USE 5057L
-#define ERROR_CLUSTER_NODE_NOT_PAUSED 5058L
-#define ERROR_CLUSTER_NO_SECURITY_CONTEXT 5059L
-#define ERROR_CLUSTER_NETWORK_NOT_INTERNAL 5060L
-#define ERROR_CLUSTER_NODE_ALREADY_UP 5061L
-#define ERROR_CLUSTER_NODE_ALREADY_DOWN 5062L
-#define ERROR_CLUSTER_NETWORK_ALREADY_ONLINE 5063L
-#define ERROR_CLUSTER_NETWORK_ALREADY_OFFLINE 5064L
-#define ERROR_CLUSTER_NODE_ALREADY_MEMBER 5065L
-#define ERROR_CLUSTER_LAST_INTERNAL_NETWORK 5066L
-#define ERROR_CLUSTER_NETWORK_HAS_DEPENDENTS 5067L
-#define ERROR_INVALID_OPERATION_ON_QUORUM 5068L
-#define ERROR_DEPENDENCY_NOT_ALLOWED 5069L
-#define ERROR_CLUSTER_NODE_PAUSED 5070L
-#define ERROR_NODE_CANT_HOST_RESOURCE 5071L
-#define ERROR_CLUSTER_NODE_NOT_READY 5072L
-#define ERROR_CLUSTER_NODE_SHUTTING_DOWN 5073L
-#define ERROR_CLUSTER_JOIN_ABORTED 5074L
-#define ERROR_CLUSTER_INCOMPATIBLE_VERSIONS 5075L
-#define ERROR_CLUSTER_MAXNUM_OF_RESOURCES_EXCEEDED 5076L
-#define ERROR_CLUSTER_SYSTEM_CONFIG_CHANGED 5077L
-#define ERROR_CLUSTER_RESOURCE_TYPE_NOT_FOUND 5078L
-#define ERROR_CLUSTER_RESTYPE_NOT_SUPPORTED 5079L
-#define ERROR_CLUSTER_RESNAME_NOT_FOUND 5080L
-#define ERROR_CLUSTER_NO_RPC_PACKAGES_REGISTERED 5081L
-#define ERROR_CLUSTER_OWNER_NOT_IN_PREFLIST 5082L
-#define ERROR_CLUSTER_DATABASE_SEQMISMATCH 5083L
-#define ERROR_RESMON_INVALID_STATE 5084L
-#define ERROR_CLUSTER_GUM_NOT_LOCKER 5085L
-#define ERROR_QUORUM_DISK_NOT_FOUND 5086L
-#define ERROR_DATABASE_BACKUP_CORRUPT 5087L
-#define ERROR_CLUSTER_NODE_ALREADY_HAS_DFS_ROOT 5088L
-#define ERROR_RESOURCE_PROPERTY_UNCHANGEABLE 5089L
-#define ERROR_CLUSTER_MEMBERSHIP_INVALID_STATE 5890L
-#define ERROR_CLUSTER_QUORUMLOG_NOT_FOUND 5891L
-#define ERROR_CLUSTER_MEMBERSHIP_HALT 5892L
-#define ERROR_CLUSTER_INSTANCE_ID_MISMATCH 5893L
-#define ERROR_CLUSTER_NETWORK_NOT_FOUND_FOR_IP 5894L
-#define ERROR_CLUSTER_PROPERTY_DATA_TYPE_MISMATCH 5895L
-#define ERROR_CLUSTER_EVICT_WITHOUT_CLEANUP 5896L
-#define ERROR_CLUSTER_PARAMETER_MISMATCH 5897L
-#define ERROR_NODE_CANNOT_BE_CLUSTERED 5898L
-#define ERROR_CLUSTER_WRONG_OS_VERSION 5899L
-#define ERROR_CLUSTER_CANT_CREATE_DUP_CLUSTER_NAME 5900L
-#define ERROR_CLUSCFG_ALREADY_COMMITTED 5901L
-#define ERROR_CLUSCFG_ROLLBACK_FAILED 5902L
-#define ERROR_CLUSCFG_SYSTEM_DISK_DRIVE_LETTER_CONFLICT 5903L
-#define ERROR_CLUSTER_OLD_VERSION 5904L
-#define ERROR_CLUSTER_MISMATCHED_COMPUTER_ACCT_NAME 5905L
-#define ERROR_ENCRYPTION_FAILED 6000L
-#define ERROR_DECRYPTION_FAILED 6001L
-#define ERROR_FILE_ENCRYPTED 6002L
-#define ERROR_NO_RECOVERY_POLICY 6003L
-#define ERROR_NO_EFS 6004L
-#define ERROR_WRONG_EFS 6005L
-#define ERROR_NO_USER_KEYS 6006L
-#define ERROR_FILE_NOT_ENCRYPTED 6007L
-#define ERROR_NOT_EXPORT_FORMAT 6008L
-#define ERROR_FILE_READ_ONLY 6009L
-#define ERROR_DIR_EFS_DISALLOWED 6010L
-#define ERROR_EFS_SERVER_NOT_TRUSTED 6011L
-#define ERROR_BAD_RECOVERY_POLICY 6012L
-#define ERROR_EFS_ALG_BLOB_TOO_BIG 6013L
-#define ERROR_VOLUME_NOT_SUPPORT_EFS 6014L
-#define ERROR_EFS_DISABLED 6015L
-#define ERROR_EFS_VERSION_NOT_SUPPORT 6016L
-#define ERROR_NO_BROWSER_SERVERS_FOUND 6118L
-#define SCHED_E_SERVICE_NOT_LOCALSYSTEM 6200L
-
-#define ERROR_CTX_WINSTATION_NAME_INVALID 7001L
-#define ERROR_CTX_INVALID_PD 7002L
-#define ERROR_CTX_PD_NOT_FOUND 7003L
-#define ERROR_CTX_WD_NOT_FOUND 7004L
-#define ERROR_CTX_CANNOT_MAKE_EVENTLOG_ENTRY 7005L
-#define ERROR_CTX_SERVICE_NAME_COLLISION 7006L
-#define ERROR_CTX_CLOSE_PENDING 7007L
-#define ERROR_CTX_NO_OUTBUF 7008L
-#define ERROR_CTX_MODEM_INF_NOT_FOUND 7009L
-#define ERROR_CTX_INVALID_MODEMNAME 7010L
-#define ERROR_CTX_MODEM_RESPONSE_ERROR 7011L
-#define ERROR_CTX_MODEM_RESPONSE_TIMEOUT 7012L
-#define ERROR_CTX_MODEM_RESPONSE_NO_CARRIER 7013L
-#define ERROR_CTX_MODEM_RESPONSE_NO_DIALTONE 7014L
-#define ERROR_CTX_MODEM_RESPONSE_BUSY 7015L
-#define ERROR_CTX_MODEM_RESPONSE_VOICE 7016L
-#define ERROR_CTX_TD_ERROR 7017L
-#define ERROR_CTX_WINSTATION_NOT_FOUND 7022L
-#define ERROR_CTX_WINSTATION_ALREADY_EXISTS 7023L
-#define ERROR_CTX_WINSTATION_BUSY 7024L
-#define ERROR_CTX_BAD_VIDEO_MODE 7025L
-#define ERROR_CTX_GRAPHICS_INVALID 7035L
-#define ERROR_CTX_LOGON_DISABLED 7037L
-#define ERROR_CTX_NOT_CONSOLE 7038L
-#define ERROR_CTX_CLIENT_QUERY_TIMEOUT 7040L
-#define ERROR_CTX_CONSOLE_DISCONNECT 7041L
-#define ERROR_CTX_CONSOLE_CONNECT 7042L
-#define ERROR_CTX_SHADOW_DENIED 7044L
-#define ERROR_CTX_WINSTATION_ACCESS_DENIED 7045L
-#define ERROR_CTX_INVALID_WD 7049L
-#define ERROR_CTX_SHADOW_INVALID 7050L
-#define ERROR_CTX_SHADOW_DISABLED 7051L
-#define ERROR_CTX_CLIENT_LICENSE_IN_USE 7052L
-#define ERROR_CTX_CLIENT_LICENSE_NOT_SET 7053L
-#define ERROR_CTX_LICENSE_NOT_AVAILABLE 7054L
-#define ERROR_CTX_LICENSE_CLIENT_INVALID 7055L
-#define ERROR_CTX_LICENSE_EXPIRED 7056L
-#define ERROR_CTX_SHADOW_NOT_RUNNING 7057L
-#define ERROR_CTX_SHADOW_ENDED_BY_MODE_CHANGE 7058L
-#define ERROR_ACTIVATION_COUNT_EXCEEDED 7059L
-
-#define FRS_ERR_INVALID_API_SEQUENCE 8001L
-#define FRS_ERR_STARTING_SERVICE 8002L
-#define FRS_ERR_STOPPING_SERVICE 8003L
-#define FRS_ERR_INTERNAL_API 8004L
-#define FRS_ERR_INTERNAL 8005L
-#define FRS_ERR_SERVICE_COMM 8006L
-#define FRS_ERR_INSUFFICIENT_PRIV 8007L
-#define FRS_ERR_AUTHENTICATION 8008L
-#define FRS_ERR_PARENT_INSUFFICIENT_PRIV 8009L
-#define FRS_ERR_PARENT_AUTHENTICATION 8010L
-#define FRS_ERR_CHILD_TO_PARENT_COMM 8011L
-#define FRS_ERR_PARENT_TO_CHILD_COMM 8012L
-#define FRS_ERR_SYSVOL_POPULATE 8013L
-#define FRS_ERR_SYSVOL_POPULATE_TIMEOUT 8014L
-#define FRS_ERR_SYSVOL_IS_BUSY 8015L
-#define FRS_ERR_SYSVOL_DEMOTE 8016L
-#define FRS_ERR_INVALID_SERVICE_PARAMETER 8017L
-#define ERROR_DS_NOT_INSTALLED 8200L
-#define ERROR_DS_MEMBERSHIP_EVALUATED_LOCALLY 8201L
-#define ERROR_DS_NO_ATTRIBUTE_OR_VALUE 8202L
-#define ERROR_DS_INVALID_ATTRIBUTE_SYNTAX 8203L
-#define ERROR_DS_ATTRIBUTE_TYPE_UNDEFINED 8204L
-#define ERROR_DS_ATTRIBUTE_OR_VALUE_EXISTS 8205L
-#define ERROR_DS_BUSY 8206L
-#define ERROR_DS_UNAVAILABLE 8207L
-#define ERROR_DS_NO_RIDS_ALLOCATED 8208L
-#define ERROR_DS_NO_MORE_RIDS 8209L
-#define ERROR_DS_INCORRECT_ROLE_OWNER 8210L
-#define ERROR_DS_RIDMGR_INIT_ERROR 8211L
-#define ERROR_DS_OBJ_CLASS_VIOLATION 8212L
-#define ERROR_DS_CANT_ON_NON_LEAF 8213L
-#define ERROR_DS_CANT_ON_RDN 8214L
-#define ERROR_DS_CANT_MOD_OBJ_CLASS 8215L
-#define ERROR_DS_CROSS_DOM_MOVE_ERROR 8216L
-#define ERROR_DS_GC_NOT_AVAILABLE 8217L
-#define ERROR_SHARED_POLICY 8218L
-#define ERROR_POLICY_OBJECT_NOT_FOUND 8219L
-#define ERROR_POLICY_ONLY_IN_DS 8220L
-#define ERROR_PROMOTION_ACTIVE 8221L
-#define ERROR_NO_PROMOTION_ACTIVE 8222L
-#define ERROR_DS_OPERATIONS_ERROR 8224L
-#define ERROR_DS_PROTOCOL_ERROR 8225L
-#define ERROR_DS_TIMELIMIT_EXCEEDED 8226L
-#define ERROR_DS_SIZELIMIT_EXCEEDED 8227L
-#define ERROR_DS_ADMIN_LIMIT_EXCEEDED 8228L
-#define ERROR_DS_COMPARE_FALSE 8229L
-#define ERROR_DS_COMPARE_TRUE 8230L
-#define ERROR_DS_AUTH_METHOD_NOT_SUPPORTED 8231L
-#define ERROR_DS_STRONG_AUTH_REQUIRED 8232L
-#define ERROR_DS_INAPPROPRIATE_AUTH 8233L
-#define ERROR_DS_AUTH_UNKNOWN 8234L
-#define ERROR_DS_REFERRAL 8235L
-#define ERROR_DS_UNAVAILABLE_CRIT_EXTENSION 8236L
-#define ERROR_DS_CONFIDENTIALITY_REQUIRED 8237L
-#define ERROR_DS_INAPPROPRIATE_MATCHING 8238L
-#define ERROR_DS_CONSTRAINT_VIOLATION 8239L
-#define ERROR_DS_NO_SUCH_OBJECT 8240L
-#define ERROR_DS_ALIAS_PROBLEM 8241L
-#define ERROR_DS_INVALID_DN_SYNTAX 8242L
-#define ERROR_DS_IS_LEAF 8243L
-#define ERROR_DS_ALIAS_DEREF_PROBLEM 8244L
-#define ERROR_DS_UNWILLING_TO_PERFORM 8245L
-#define ERROR_DS_LOOP_DETECT 8246L
-#define ERROR_DS_NAMING_VIOLATION 8247L
-#define ERROR_DS_OBJECT_RESULTS_TOO_LARGE 8248L
-#define ERROR_DS_AFFECTS_MULTIPLE_DSAS 8249L
-#define ERROR_DS_SERVER_DOWN 8250L
-#define ERROR_DS_LOCAL_ERROR 8251L
-#define ERROR_DS_ENCODING_ERROR 8252L
-#define ERROR_DS_DECODING_ERROR 8253L
-#define ERROR_DS_FILTER_UNKNOWN 8254L
-#define ERROR_DS_PARAM_ERROR 8255L
-#define ERROR_DS_NOT_SUPPORTED 8256L
-#define ERROR_DS_NO_RESULTS_RETURNED 8257L
-#define ERROR_DS_CONTROL_NOT_FOUND 8258L
-#define ERROR_DS_CLIENT_LOOP 8259L
-#define ERROR_DS_REFERRAL_LIMIT_EXCEEDED 8260L
-#define ERROR_DS_SORT_CONTROL_MISSING 8261L
-#define ERROR_DS_OFFSET_RANGE_ERROR 8262L
-#define ERROR_DS_ROOT_MUST_BE_NC 8301L
-#define ERROR_DS_ADD_REPLICA_INHIBITED 8302L
-#define ERROR_DS_ATT_NOT_DEF_IN_SCHEMA 8303L
-#define ERROR_DS_MAX_OBJ_SIZE_EXCEEDED 8304L
-#define ERROR_DS_OBJ_STRING_NAME_EXISTS 8305L
-#define ERROR_DS_NO_RDN_DEFINED_IN_SCHEMA 8306L
-#define ERROR_DS_RDN_DOESNT_MATCH_SCHEMA 8307L
-#define ERROR_DS_NO_REQUESTED_ATTS_FOUND 8308L
-#define ERROR_DS_USER_BUFFER_TO_SMALL 8309L
-#define ERROR_DS_ATT_IS_NOT_ON_OBJ 8310L
-#define ERROR_DS_ILLEGAL_MOD_OPERATION 8311L
-#define ERROR_DS_OBJ_TOO_LARGE 8312L
-#define ERROR_DS_BAD_INSTANCE_TYPE 8313L
-#define ERROR_DS_MASTERDSA_REQUIRED 8314L
-#define ERROR_DS_OBJECT_CLASS_REQUIRED 8315L
-#define ERROR_DS_MISSING_REQUIRED_ATT 8316L
-#define ERROR_DS_ATT_NOT_DEF_FOR_CLASS 8317L
-#define ERROR_DS_ATT_ALREADY_EXISTS 8318L
-#define ERROR_DS_CANT_ADD_ATT_VALUES 8320L
-#define ERROR_DS_SINGLE_VALUE_CONSTRAINT 8321L
-#define ERROR_DS_RANGE_CONSTRAINT 8322L
-#define ERROR_DS_ATT_VAL_ALREADY_EXISTS 8323L
-#define ERROR_DS_CANT_REM_MISSING_ATT 8324L
-#define ERROR_DS_CANT_REM_MISSING_ATT_VAL 8325L
-#define ERROR_DS_ROOT_CANT_BE_SUBREF 8326L
-#define ERROR_DS_NO_CHAINING 8327L
-#define ERROR_DS_NO_CHAINED_EVAL 8328L
-#define ERROR_DS_NO_PARENT_OBJECT 8329L
-#define ERROR_DS_PARENT_IS_AN_ALIAS 8330L
-#define ERROR_DS_CANT_MIX_MASTER_AND_REPS 8331L
-#define ERROR_DS_CHILDREN_EXIST 8332L
-#define ERROR_DS_OBJ_NOT_FOUND 8333L
-#define ERROR_DS_ALIASED_OBJ_MISSING 8334L
-#define ERROR_DS_BAD_NAME_SYNTAX 8335L
-#define ERROR_DS_ALIAS_POINTS_TO_ALIAS 8336L
-#define ERROR_DS_CANT_DEREF_ALIAS 8337L
-#define ERROR_DS_OUT_OF_SCOPE 8338L
-#define ERROR_DS_OBJECT_BEING_REMOVED 8339L
-#define ERROR_DS_CANT_DELETE_DSA_OBJ 8340L
-#define ERROR_DS_GENERIC_ERROR 8341L
-#define ERROR_DS_DSA_MUST_BE_INT_MASTER 8342L
-#define ERROR_DS_CLASS_NOT_DSA 8343L
-#define ERROR_DS_INSUFF_ACCESS_RIGHTS 8344L
-#define ERROR_DS_ILLEGAL_SUPERIOR 8345L
-#define ERROR_DS_ATTRIBUTE_OWNED_BY_SAM 8346L
-#define ERROR_DS_NAME_TOO_MANY_PARTS 8347L
-#define ERROR_DS_NAME_TOO_LONG 8348L
-#define ERROR_DS_NAME_VALUE_TOO_LONG 8349L
-#define ERROR_DS_NAME_UNPARSEABLE 8350L
-#define ERROR_DS_NAME_TYPE_UNKNOWN 8351L
-#define ERROR_DS_NOT_AN_OBJECT 8352L
-#define ERROR_DS_SEC_DESC_TOO_SHORT 8353L
-#define ERROR_DS_SEC_DESC_INVALID 8354L
-#define ERROR_DS_NO_DELETED_NAME 8355L
-#define ERROR_DS_SUBREF_MUST_HAVE_PARENT 8356L
-#define ERROR_DS_NCNAME_MUST_BE_NC 8357L
-#define ERROR_DS_CANT_ADD_SYSTEM_ONLY 8358L
-#define ERROR_DS_CLASS_MUST_BE_CONCRETE 8359L
-#define ERROR_DS_INVALID_DMD 8360L
-#define ERROR_DS_OBJ_GUID_EXISTS 8361L
-#define ERROR_DS_NOT_ON_BACKLINK 8362L
-#define ERROR_DS_NO_CROSSREF_FOR_NC 8363L
-#define ERROR_DS_SHUTTING_DOWN 8364L
-#define ERROR_DS_UNKNOWN_OPERATION 8365L
-#define ERROR_DS_INVALID_ROLE_OWNER 8366L
-#define ERROR_DS_COULDNT_CONTACT_FSMO 8367L
-#define ERROR_DS_CROSS_NC_DN_RENAME 8368L
-#define ERROR_DS_CANT_MOD_SYSTEM_ONLY 8369L
-#define ERROR_DS_REPLICATOR_ONLY 8370L
-#define ERROR_DS_OBJ_CLASS_NOT_DEFINED 8371L
-#define ERROR_DS_OBJ_CLASS_NOT_SUBCLASS 8372L
-#define ERROR_DS_NAME_REFERENCE_INVALID 8373L
-#define ERROR_DS_CROSS_REF_EXISTS 8374L
-#define ERROR_DS_CANT_DEL_MASTER_CROSSREF 8375L
-#define ERROR_DS_SUBTREE_NOTIFY_NOT_NC_HEAD 8376L
-#define ERROR_DS_NOTIFY_FILTER_TOO_COMPLEX 8377L
-#define ERROR_DS_DUP_RDN 8378L
-#define ERROR_DS_DUP_OID 8379L
-#define ERROR_DS_DUP_MAPI_ID 8380L
-#define ERROR_DS_DUP_SCHEMA_ID_GUID 8381L
-#define ERROR_DS_DUP_LDAP_DISPLAY_NAME 8382L
-#define ERROR_DS_SEMANTIC_ATT_TEST 8383L
-#define ERROR_DS_SYNTAX_MISMATCH 8384L
-#define ERROR_DS_EXISTS_IN_MUST_HAVE 8385L
-#define ERROR_DS_EXISTS_IN_MAY_HAVE 8386L
-#define ERROR_DS_NONEXISTENT_MAY_HAVE 8387L
-#define ERROR_DS_NONEXISTENT_MUST_HAVE 8388L
-#define ERROR_DS_AUX_CLS_TEST_FAIL 8389L
-#define ERROR_DS_NONEXISTENT_POSS_SUP 8390L
-#define ERROR_DS_SUB_CLS_TEST_FAIL 8391L
-#define ERROR_DS_BAD_RDN_ATT_ID_SYNTAX 8392L
-#define ERROR_DS_EXISTS_IN_AUX_CLS 8393L
-#define ERROR_DS_EXISTS_IN_SUB_CLS 8394L
-#define ERROR_DS_EXISTS_IN_POSS_SUP 8395L
-#define ERROR_DS_RECALCSCHEMA_FAILED 8396L
-#define ERROR_DS_TREE_DELETE_NOT_FINISHED 8397L
-#define ERROR_DS_CANT_DELETE 8398L
-#define ERROR_DS_ATT_SCHEMA_REQ_ID 8399L
-#define ERROR_DS_BAD_ATT_SCHEMA_SYNTAX 8400L
-#define ERROR_DS_CANT_CACHE_ATT 8401L
-#define ERROR_DS_CANT_CACHE_CLASS 8402L
-#define ERROR_DS_CANT_REMOVE_ATT_CACHE 8403L
-#define ERROR_DS_CANT_REMOVE_CLASS_CACHE 8404L
-#define ERROR_DS_CANT_RETRIEVE_DN 8405L
-#define ERROR_DS_MISSING_SUPREF 8406L
-#define ERROR_DS_CANT_RETRIEVE_INSTANCE 8407L
-#define ERROR_DS_CODE_INCONSISTENCY 8408L
-#define ERROR_DS_DATABASE_ERROR 8409L
-#define ERROR_DS_GOVERNSID_MISSING 8410L
-#define ERROR_DS_MISSING_EXPECTED_ATT 8411L
-#define ERROR_DS_NCNAME_MISSING_CR_REF 8412L
-#define ERROR_DS_SECURITY_CHECKING_ERROR 8413L
-#define ERROR_DS_SCHEMA_NOT_LOADED 8414L
-#define ERROR_DS_SCHEMA_ALLOC_FAILED 8415L
-#define ERROR_DS_ATT_SCHEMA_REQ_SYNTAX 8416L
-#define ERROR_DS_GCVERIFY_ERROR 8417L
-#define ERROR_DS_DRA_SCHEMA_MISMATCH 8418L
-#define ERROR_DS_CANT_FIND_DSA_OBJ 8419L
-#define ERROR_DS_CANT_FIND_EXPECTED_NC 8420L
-#define ERROR_DS_CANT_FIND_NC_IN_CACHE 8421L
-#define ERROR_DS_CANT_RETRIEVE_CHILD 8422L
-#define ERROR_DS_SECURITY_ILLEGAL_MODIFY 8423L
-#define ERROR_DS_CANT_REPLACE_HIDDEN_REC 8424L
-#define ERROR_DS_BAD_HIERARCHY_FILE 8425L
-#define ERROR_DS_BUILD_HIERARCHY_TABLE_FAILED 8426L
-#define ERROR_DS_CONFIG_PARAM_MISSING 8427L
-#define ERROR_DS_COUNTING_AB_INDICES_FAILED 8428L
-#define ERROR_DS_HIERARCHY_TABLE_MALLOC_FAILED 8429L
-#define ERROR_DS_INTERNAL_FAILURE 8430L
-#define ERROR_DS_UNKNOWN_ERROR 8431L
-#define ERROR_DS_ROOT_REQUIRES_CLASS_TOP 8432L
-#define ERROR_DS_REFUSING_FSMO_ROLES 8433L
-#define ERROR_DS_MISSING_FSMO_SETTINGS 8434L
-#define ERROR_DS_UNABLE_TO_SURRENDER_ROLES 8435L
-#define ERROR_DS_DRA_GENERIC 8436L
-#define ERROR_DS_DRA_INVALID_PARAMETER 8437L
-#define ERROR_DS_DRA_BUSY 8438L
-#define ERROR_DS_DRA_BAD_DN 8439L
-#define ERROR_DS_DRA_BAD_NC 8440L
-#define ERROR_DS_DRA_DN_EXISTS 8441L
-#define ERROR_DS_DRA_INTERNAL_ERROR 8442L
-#define ERROR_DS_DRA_INCONSISTENT_DIT 8443L
-#define ERROR_DS_DRA_CONNECTION_FAILED 8444L
-#define ERROR_DS_DRA_BAD_INSTANCE_TYPE 8445L
-#define ERROR_DS_DRA_OUT_OF_MEM 8446L
-#define ERROR_DS_DRA_MAIL_PROBLEM 8447L
-#define ERROR_DS_DRA_REF_ALREADY_EXISTS 8448L
-#define ERROR_DS_DRA_REF_NOT_FOUND 8449L
-#define ERROR_DS_DRA_OBJ_IS_REP_SOURCE 8450L
-#define ERROR_DS_DRA_DB_ERROR 8451L
-#define ERROR_DS_DRA_NO_REPLICA 8452L
-#define ERROR_DS_DRA_ACCESS_DENIED 8453L
-#define ERROR_DS_DRA_NOT_SUPPORTED 8454L
-#define ERROR_DS_DRA_RPC_CANCELLED 8455L
-#define ERROR_DS_DRA_SOURCE_DISABLED 8456L
-#define ERROR_DS_DRA_SINK_DISABLED 8457L
-#define ERROR_DS_DRA_NAME_COLLISION 8458L
-#define ERROR_DS_DRA_SOURCE_REINSTALLED 8459L
-#define ERROR_DS_DRA_MISSING_PARENT 8460L
-#define ERROR_DS_DRA_PREEMPTED 8461L
-#define ERROR_DS_DRA_ABANDON_SYNC 8462L
-#define ERROR_DS_DRA_SHUTDOWN 8463L
-#define ERROR_DS_DRA_INCOMPATIBLE_PARTIAL_SET 8464L
-#define ERROR_DS_DRA_SOURCE_IS_PARTIAL_REPLICA 8465L
-#define ERROR_DS_DRA_EXTN_CONNECTION_FAILED 8466L
-#define ERROR_DS_INSTALL_SCHEMA_MISMATCH 8467L
-#define ERROR_DS_DUP_LINK_ID 8468L
-#define ERROR_DS_NAME_ERROR_RESOLVING 8469L
-#define ERROR_DS_NAME_ERROR_NOT_FOUND 8470L
-#define ERROR_DS_NAME_ERROR_NOT_UNIQUE 8471L
-#define ERROR_DS_NAME_ERROR_NO_MAPPING 8472L
-#define ERROR_DS_NAME_ERROR_DOMAIN_ONLY 8473L
-#define ERROR_DS_NAME_ERROR_NO_SYNTACTICAL_MAPPING 8474L
-#define ERROR_DS_CONSTRUCTED_ATT_MOD 8475L
-#define ERROR_DS_WRONG_OM_OBJ_CLASS 8476L
-#define ERROR_DS_DRA_REPL_PENDING 8477L
-#define ERROR_DS_DS_REQUIRED 8478L
-#define ERROR_DS_INVALID_LDAP_DISPLAY_NAME 8479L
-#define ERROR_DS_NON_BASE_SEARCH 8480L
-#define ERROR_DS_CANT_RETRIEVE_ATTS 8481L
-#define ERROR_DS_BACKLINK_WITHOUT_LINK 8482L
-#define ERROR_DS_EPOCH_MISMATCH 8483L
-#define ERROR_DS_SRC_NAME_MISMATCH 8484L
-#define ERROR_DS_SRC_AND_DST_NC_IDENTICAL 8485L
-#define ERROR_DS_DST_NC_MISMATCH 8486L
-#define ERROR_DS_NOT_AUTHORITIVE_FOR_DST_NC 8487L
-#define ERROR_DS_SRC_GUID_MISMATCH 8488L
-#define ERROR_DS_CANT_MOVE_DELETED_OBJECT 8489L
-#define ERROR_DS_PDC_OPERATION_IN_PROGRESS 8490L
-#define ERROR_DS_CROSS_DOMAIN_CLEANUP_REQD 8491L
-#define ERROR_DS_ILLEGAL_XDOM_MOVE_OPERATION 8492L
-#define ERROR_DS_CANT_WITH_ACCT_GROUP_MEMBERSHPS 8493L
-#define ERROR_DS_NC_MUST_HAVE_NC_PARENT 8494L
-#define ERROR_DS_CR_IMPOSSIBLE_TO_VALIDATE 8495L
-#define ERROR_DS_DST_DOMAIN_NOT_NATIVE 8496L
-#define ERROR_DS_MISSING_INFRASTRUCTURE_CONTAINER 8497L
-#define ERROR_DS_CANT_MOVE_ACCOUNT_GROUP 8498L
-#define ERROR_DS_CANT_MOVE_RESOURCE_GROUP 8499L
-#define ERROR_DS_INVALID_SEARCH_FLAG 8500L
-#define ERROR_DS_NO_TREE_DELETE_ABOVE_NC 8501L
-#define ERROR_DS_COULDNT_LOCK_TREE_FOR_DELETE 8502L
-#define ERROR_DS_COULDNT_IDENTIFY_OBJECTS_FOR_TREE_DELETE 8503L
-#define ERROR_DS_SAM_INIT_FAILURE 8504L
-#define ERROR_DS_SENSITIVE_GROUP_VIOLATION 8505L
-#define ERROR_DS_CANT_MOD_PRIMARYGROUPID 8506L
-#define ERROR_DS_ILLEGAL_BASE_SCHEMA_MOD 8507L
-#define ERROR_DS_NONSAFE_SCHEMA_CHANGE 8508L
-#define ERROR_DS_SCHEMA_UPDATE_DISALLOWED 8509L
-#define ERROR_DS_CANT_CREATE_UNDER_SCHEMA 8510L
-#define ERROR_DS_INSTALL_NO_SRC_SCH_VERSION 8511L
-#define ERROR_DS_INSTALL_NO_SCH_VERSION_IN_INIFILE 8512L
-#define ERROR_DS_INVALID_GROUP_TYPE 8513L
-#define ERROR_DS_NO_NEST_GLOBALGROUP_IN_MIXEDDOMAIN 8514L
-#define ERROR_DS_NO_NEST_LOCALGROUP_IN_MIXEDDOMAIN 8515L
-#define ERROR_DS_GLOBAL_CANT_HAVE_LOCAL_MEMBER 8516L
-#define ERROR_DS_GLOBAL_CANT_HAVE_UNIVERSAL_MEMBER 8517L
-#define ERROR_DS_UNIVERSAL_CANT_HAVE_LOCAL_MEMBER 8518L
-#define ERROR_DS_GLOBAL_CANT_HAVE_CROSSDOMAIN_MEMBER 8519L
-#define ERROR_DS_LOCAL_CANT_HAVE_CROSSDOMAIN_LOCAL_MEMBER 8520L
-#define ERROR_DS_HAVE_PRIMARY_MEMBERS 8521L
-#define ERROR_DS_STRING_SD_CONVERSION_FAILED 8522L
-#define ERROR_DS_NAMING_MASTER_GC 8523L
-#define ERROR_DS_LOOKUP_FAILURE 8524L
-#define ERROR_DS_COULDNT_UPDATE_SPNS 8525L
-#define ERROR_DS_CANT_RETRIEVE_SD 8526L
-#define ERROR_DS_KEY_NOT_UNIQUE 8527L
-#define ERROR_DS_WRONG_LINKED_ATT_SYNTAX 8528L
-#define ERROR_DS_SAM_NEED_BOOTKEY_PASSWORD 8529L
-#define ERROR_DS_SAM_NEED_BOOTKEY_FLOPPY 8530L
-#define ERROR_DS_CANT_START 8531L
-#define ERROR_DS_INIT_FAILURE 8532L
-#define ERROR_DS_NO_PKT_PRIVACY_ON_CONNECTION 8533L
-#define ERROR_DS_SOURCE_DOMAIN_IN_FOREST 8534L
-#define ERROR_DS_DESTINATION_DOMAIN_NOT_IN_FOREST 8535L
-#define ERROR_DS_DESTINATION_AUDITING_NOT_ENABLED 8536L
-#define ERROR_DS_CANT_FIND_DC_FOR_SRC_DOMAIN 8537L
-#define ERROR_DS_SRC_OBJ_NOT_GROUP_OR_USER 8538L
-#define ERROR_DS_SRC_SID_EXISTS_IN_FOREST 8539L
-#define ERROR_DS_SRC_AND_DST_OBJECT_CLASS_MISMATCH 8540L
-#define ERROR_SAM_INIT_FAILURE 8541L
-#define ERROR_DS_DRA_SCHEMA_INFO_SHIP 8542L
-#define ERROR_DS_DRA_SCHEMA_CONFLICT 8543L
-#define ERROR_DS_DRA_EARLIER_SCHEMA_CONLICT 8544L
-#define ERROR_DS_DRA_OBJ_NC_MISMATCH 8545L
-#define ERROR_DS_NC_STILL_HAS_DSAS 8546L
-#define ERROR_DS_GC_REQUIRED 8547L
-#define ERROR_DS_LOCAL_MEMBER_OF_LOCAL_ONLY 8548L
-#define ERROR_DS_NO_FPO_IN_UNIVERSAL_GROUPS 8549L
-#define ERROR_DS_CANT_ADD_TO_GC 8550L
-#define ERROR_DS_NO_CHECKPOINT_WITH_PDC 8551L
-#define ERROR_DS_SOURCE_AUDITING_NOT_ENABLED 8552L
-#define ERROR_DS_CANT_CREATE_IN_NONDOMAIN_NC 8553L
-#define ERROR_DS_INVALID_NAME_FOR_SPN 8554L
-#define ERROR_DS_FILTER_USES_CONTRUCTED_ATTRS 8555L
-#define ERROR_DS_UNICODEPWD_NOT_IN_QUOTES 8556L
-#define ERROR_DS_MACHINE_ACCOUNT_QUOTA_EXCEEDED 8557L
-#define ERROR_DS_MUST_BE_RUN_ON_DST_DC 8558L
-#define ERROR_DS_SRC_DC_MUST_BE_SP4_OR_GREATER 8559L
-#define ERROR_DS_CANT_TREE_DELETE_CRITICAL_OBJ 8560L
-#define ERROR_DS_INIT_FAILURE_CONSOLE 8561L
-#define ERROR_DS_SAM_INIT_FAILURE_CONSOLE 8562L
-#define ERROR_DS_FOREST_VERSION_TOO_HIGH 8563L
-#define ERROR_DS_DOMAIN_VERSION_TOO_HIGH 8564L
-#define ERROR_DS_FOREST_VERSION_TOO_LOW 8565L
-#define ERROR_DS_DOMAIN_VERSION_TOO_LOW 8566L
-#define ERROR_DS_INCOMPATIBLE_VERSION 8567L
-#define ERROR_DS_LOW_DSA_VERSION 8568L
-#define ERROR_DS_NO_BEHAVIOR_VERSION_IN_MIXEDDOMAIN 8569L
-#define ERROR_DS_NOT_SUPPORTED_SORT_ORDER 8570L
-#define ERROR_DS_NAME_NOT_UNIQUE 8571L
-#define ERROR_DS_MACHINE_ACCOUNT_CREATED_PRENT4 8572L
-#define ERROR_DS_OUT_OF_VERSION_STORE 8573L
-#define ERROR_DS_INCOMPATIBLE_CONTROLS_USED 8574L
-#define ERROR_DS_NO_REF_DOMAIN 8575L
-#define ERROR_DS_RESERVED_LINK_ID 8576L
-#define ERROR_DS_LINK_ID_NOT_AVAILABLE 8577L
-#define ERROR_DS_AG_CANT_HAVE_UNIVERSAL_MEMBER 8578L
-#define ERROR_DS_MODIFYDN_DISALLOWED_BY_INSTANCE_TYPE 8579L
-#define ERROR_DS_NO_OBJECT_MOVE_IN_SCHEMA_NC 8580L
-#define ERROR_DS_MODIFYDN_DISALLOWED_BY_FLAG 8581L
-#define ERROR_DS_MODIFYDN_WRONG_GRANDPARENT 8582L
-#define ERROR_DS_NAME_ERROR_TRUST_REFERRAL 8583L
-#define ERROR_NOT_SUPPORTED_ON_STANDARD_SERVER 8584L
-#define ERROR_DS_CANT_ACCESS_REMOTE_PART_OF_AD 8585L
-#define ERROR_DS_CR_IMPOSSIBLE_TO_VALIDATE_V2 8586L
-#define ERROR_DS_THREAD_LIMIT_EXCEEDED 8587L
-#define ERROR_DS_NOT_CLOSEST 8588L
-#define ERROR_DS_CANT_DERIVE_SPN_WITHOUT_SERVER_REF 8589L
-#define ERROR_DS_SINGLE_USER_MODE_FAILED 8590L
-#define ERROR_DS_NTDSCRIPT_SYNTAX_ERROR 8591L
-#define ERROR_DS_NTDSCRIPT_PROCESS_ERROR 8592L
-#define ERROR_DS_DIFFERENT_REPL_EPOCHS 8593L
-#define ERROR_DS_DRS_EXTENSIONS_CHANGED 8594L
-#define ERROR_DS_REPLICA_SET_CHANGE_NOT_ALLOWED_ON_DISABLED_CR 8595L
-#define ERROR_DS_NO_MSDS_INTID 8596L
-#define ERROR_DS_DUP_MSDS_INTID 8597L
-#define ERROR_DS_EXISTS_IN_RDNATTID 8598L
-#define ERROR_DS_AUTHORIZATION_FAILED 8599L
-#define ERROR_DS_INVALID_SCRIPT 8600L
-#define ERROR_DS_REMOTE_CROSSREF_OP_FAILED 8601L
-#define ERROR_DS_CROSS_REF_BUSY 8602L
-#define ERROR_DS_CANT_DERIVE_SPN_FOR_DELETED_DOMAIN 8603L
-#define ERROR_DS_CANT_DEMOTE_WITH_WRITEABLE_NC 8604L
-#define ERROR_DS_DUPLICATE_ID_FOUND 8605L
-#define ERROR_DS_INSUFFICIENT_ATTR_TO_CREATE_OBJECT 8606L
-#define ERROR_DS_GROUP_CONVERSION_ERROR 8607L
-#define ERROR_DS_CANT_MOVE_APP_BASIC_GROUP 8608L
-#define ERROR_DS_CANT_MOVE_APP_QUERY_GROUP 8609L
-#define ERROR_DS_ROLE_NOT_VERIFIED 8610L
-#define ERROR_DS_WKO_CONTAINER_CANNOT_BE_SPECIAL 8611L
-#define ERROR_DS_DOMAIN_RENAME_IN_PROGRESS 8612L
-#define ERROR_DS_EXISTING_AD_CHILD_NC 8613L
-#define DNS_ERROR_RCODE_FORMAT_ERROR 9001L
-#define DNS_ERROR_RCODE_SERVER_FAILURE 9002L
-#define DNS_ERROR_RCODE_NAME_ERROR 9003L
-#define DNS_ERROR_RCODE_NOT_IMPLEMENTED 9004L
-#define DNS_ERROR_RCODE_REFUSED 9005L
-#define DNS_ERROR_RCODE_YXDOMAIN 9006L
-#define DNS_ERROR_RCODE_YXRRSET 9007L
-#define DNS_ERROR_RCODE_NXRRSET 9008L
-#define DNS_ERROR_RCODE_NOTAUTH 9009L
-#define DNS_ERROR_RCODE_NOTZONE 9010L
-#define DNS_ERROR_RCODE_BADSIG 9016L
-#define DNS_ERROR_RCODE_BADKEY 9017L
-#define DNS_ERROR_RCODE_BADTIME 9018L
-#define DNS_INFO_NO_RECORDS 9501L
-#define DNS_ERROR_BAD_PACKET 9502L
-#define DNS_ERROR_NO_PACKET 9503L
-#define DNS_ERROR_RCODE 9504L
-#define DNS_ERROR_UNSECURE_PACKET 9505L
-#define DNS_ERROR_INVALID_TYPE 9551L
-#define DNS_ERROR_INVALID_IP_ADDRESS 9552L
-#define DNS_ERROR_INVALID_PROPERTY 9553L
-#define DNS_ERROR_TRY_AGAIN_LATER 9554L
-#define DNS_ERROR_NOT_UNIQUE 9555L
-#define DNS_ERROR_NON_RFC_NAME 9556L
-#define DNS_STATUS_FQDN 9557L
-#define DNS_STATUS_DOTTED_NAME 9558L
-#define DNS_STATUS_SINGLE_PART_NAME 9559L
-#define DNS_ERROR_INVALID_NAME_CHAR 9560L
-#define DNS_ERROR_NUMERIC_NAME 9561L
-#define DNS_ERROR_NOT_ALLOWED_ON_ROOT_SERVER 9562L
-#define DNS_ERROR_NOT_ALLOWED_UNDER_DELEGATION 9563L
-#define DNS_ERROR_CANNOT_FIND_ROOT_HINTS 9564L
-#define DNS_ERROR_INCONSISTENT_ROOT_HINTS 9565L
-#define DNS_ERROR_ZONE_DOES_NOT_EXIST 9601L
-#define DNS_ERROR_NO_ZONE_INFO 9602L
-#define DNS_ERROR_INVALID_ZONE_OPERATION 9603L
-#define DNS_ERROR_ZONE_CONFIGURATION_ERROR 9604L
-#define DNS_ERROR_ZONE_HAS_NO_SOA_RECORD 9605L
-#define DNS_ERROR_ZONE_HAS_NO_NS_RECORDS 9606L
-#define DNS_ERROR_ZONE_LOCKED 9607L
-#define DNS_ERROR_ZONE_CREATION_FAILED 9608L
-#define DNS_ERROR_ZONE_ALREADY_EXISTS 9609L
-#define DNS_ERROR_AUTOZONE_ALREADY_EXISTS 9610L
-#define DNS_ERROR_INVALID_ZONE_TYPE 9611L
-#define DNS_ERROR_SECONDARY_REQUIRES_MASTER_IP 9612L
-#define DNS_ERROR_ZONE_NOT_SECONDARY 9613L
-#define DNS_ERROR_NEED_SECONDARY_ADDRESSES 9614L
-#define DNS_ERROR_WINS_INIT_FAILED 9615L
-#define DNS_ERROR_NEED_WINS_SERVERS 9616L
-#define DNS_ERROR_NBSTAT_INIT_FAILED 9617L
-#define DNS_ERROR_SOA_DELETE_INVALID 9618L
-#define DNS_ERROR_FORWARDER_ALREADY_EXISTS 9619L
-#define DNS_ERROR_ZONE_REQUIRES_MASTER_IP 9620L
-#define DNS_ERROR_ZONE_IS_SHUTDOWN 9621L
-#define DNS_ERROR_PRIMARY_REQUIRES_DATAFILE 9651L
-#define DNS_ERROR_INVALID_DATAFILE_NAME 9652L
-#define DNS_ERROR_DATAFILE_OPEN_FAILURE 9653L
-#define DNS_ERROR_FILE_WRITEBACK_FAILED 9654L
-#define DNS_ERROR_DATAFILE_PARSING 9655L
-#define DNS_ERROR_RECORD_DOES_NOT_EXIST 9701L
-#define DNS_ERROR_RECORD_FORMAT 9702L
-#define DNS_ERROR_NODE_CREATION_FAILED 9703L
-#define DNS_ERROR_UNKNOWN_RECORD_TYPE 9704L
-#define DNS_ERROR_RECORD_TIMED_OUT 9705L
-#define DNS_ERROR_NAME_NOT_IN_ZONE 9706L
-#define DNS_ERROR_CNAME_LOOP 9707L
-#define DNS_ERROR_NODE_IS_CNAME 9708L
-#define DNS_ERROR_CNAME_COLLISION 9709L
-#define DNS_ERROR_RECORD_ONLY_AT_ZONE_ROOT 9710L
-#define DNS_ERROR_RECORD_ALREADY_EXISTS 9711L
-#define DNS_ERROR_SECONDARY_DATA 9712L
-#define DNS_ERROR_NO_CREATE_CACHE_DATA 9713L
-#define DNS_ERROR_NAME_DOES_NOT_EXIST 9714L
-#define DNS_WARNING_PTR_CREATE_FAILED 9715L
-#define DNS_WARNING_DOMAIN_UNDELETED 9716L
-#define DNS_ERROR_DS_UNAVAILABLE 9717L
-#define DNS_ERROR_DS_ZONE_ALREADY_EXISTS 9718L
-#define DNS_ERROR_NO_BOOTFILE_IF_DS_ZONE 9719L
-#define DNS_INFO_AXFR_COMPLETE 9751L
-#define DNS_ERROR_AXFR 9752L
-#define DNS_INFO_ADDED_LOCAL_WINS 9753L
-#define DNS_STATUS_CONTINUE_NEEDED 9801L
-#define DNS_ERROR_NO_TCPIP 9851L
-#define DNS_ERROR_NO_DNS_SERVERS 9852L
-#define DNS_ERROR_DP_DOES_NOT_EXIST 9901L
-#define DNS_ERROR_DP_ALREADY_EXISTS 9902L
-#define DNS_ERROR_DP_NOT_ENLISTED 9903L
-#define DNS_ERROR_DP_ALREADY_ENLISTED 9904L
-#define DNS_ERROR_DP_NOT_AVAILABLE 9905L
-
-#ifndef WSABASEERR
-#define WSABASEERR 10000
-#define WSAEINTR 10004L
-#define WSAEBADF 10009L
-#define WSAEACCES 10013L
-#define WSAEFAULT 10014L
-#define WSAEINVAL 10022L
-#define WSAEMFILE 10024L
-#define WSAEWOULDBLOCK 10035L
-#define WSAEINPROGRESS 10036L
-#define WSAEALREADY 10037L
-#define WSAENOTSOCK 10038L
-#define WSAEDESTADDRREQ 10039L
-#define WSAEMSGSIZE 10040L
-#define WSAEPROTOTYPE 10041L
-#define WSAENOPROTOOPT 10042L
-#define WSAEPROTONOSUPPORT 10043L
-#define WSAESOCKTNOSUPPORT 10044L
-#define WSAEOPNOTSUPP 10045L
-#define WSAEPFNOSUPPORT 10046L
-#define WSAEAFNOSUPPORT 10047L
-#define WSAEADDRINUSE 10048L
-#define WSAEADDRNOTAVAIL 10049L
-#define WSAENETDOWN 10050L
-#define WSAENETUNREACH 10051L
-#define WSAENETRESET 10052L
-#define WSAECONNABORTED 10053L
-#define WSAECONNRESET 10054L
-#define WSAENOBUFS 10055L
-#define WSAEISCONN 10056L
-#define WSAENOTCONN 10057L
-#define WSAESHUTDOWN 10058L
-#define WSAETOOMANYREFS 10059L
-#define WSAETIMEDOUT 10060L
-#define WSAECONNREFUSED 10061L
-#define WSAELOOP 10062L
-#define WSAENAMETOOLONG 10063L
-#define WSAEHOSTDOWN 10064L
-#define WSAEHOSTUNREACH 10065L
-#define WSAENOTEMPTY 10066L
-#define WSAEPROCLIM 10067L
-#define WSAEUSERS 10068L
-#define WSAEDQUOT 10069L
-#define WSAESTALE 10070L
-#define WSAEREMOTE 10071L
-#define WSASYSNOTREADY 10091L
-#define WSAVERNOTSUPPORTED 10092L
-#define WSANOTINITIALISED 10093L
-#define WSAEDISCON 10101L
-#define WSAENOMORE 10102L
-#define WSAECANCELLED 10103L
-#define WSAEINVALIDPROCTABLE 10104L
-#define WSAEINVALIDPROVIDER 10105L
-#define WSAEPROVIDERFAILEDINIT 10106L
-#define WSASYSCALLFAILURE 10107L
-#define WSASERVICE_NOT_FOUND 10108L
-#define WSATYPE_NOT_FOUND 10109L
-#define WSA_E_NO_MORE 10110L
-#define WSA_E_CANCELLED 10111L
-#define WSAEREFUSED 10112L
-#define WSAHOST_NOT_FOUND 11001L
-#define WSATRY_AGAIN 11002L
-#define WSANO_RECOVERY 11003L
-#define WSANO_DATA 11004L
-#define WSA_QOS_RECEIVERS 11005L
-#define WSA_QOS_SENDERS 11006L
-#define WSA_QOS_NO_SENDERS 11007L
-#define WSA_QOS_NO_RECEIVERS 11008L
-#define WSA_QOS_REQUEST_CONFIRMED 11009L
-#define WSA_QOS_ADMISSION_FAILURE 11010L
-#define WSA_QOS_POLICY_FAILURE 11011L
-#define WSA_QOS_BAD_STYLE 11012L
-#define WSA_QOS_BAD_OBJECT 11013L
-#define WSA_QOS_TRAFFIC_CTRL_ERROR 11014L
-#define WSA_QOS_GENERIC_ERROR 11015L
-#define WSA_QOS_ESERVICETYPE 11016L
-#define WSA_QOS_EFLOWSPEC 11017L
-#define WSA_QOS_EPROVSPECBUF 11018L
-#define WSA_QOS_EFILTERSTYLE 11019L
-#define WSA_QOS_EFILTERTYPE 11020L
-#define WSA_QOS_EFILTERCOUNT 11021L
-#define WSA_QOS_EOBJLENGTH 11022L
-#define WSA_QOS_EFLOWCOUNT 11023L
-#define WSA_QOS_EUNKNOWNPSOBJ 11024L
-#define WSA_QOS_EPOLICYOBJ 11025L
-#define WSA_QOS_EFLOWDESC 11026L
-#define WSA_QOS_EPSFLOWSPEC 11027L
-#define WSA_QOS_EPSFILTERSPEC 11028L
-#define WSA_QOS_ESDMODEOBJ 11029L
-#define WSA_QOS_ESHAPERATEOBJ 11030L
-#define WSA_QOS_RESERVED_PETYPE 11031L
-#endif /* !WSABASEERR */
-
-#define ERROR_IPSEC_QM_POLICY_EXISTS 13000L
-#define ERROR_IPSEC_QM_POLICY_NOT_FOUND 13001L
-#define ERROR_IPSEC_QM_POLICY_IN_USE 13002L
-#define ERROR_IPSEC_MM_POLICY_EXISTS 13003L
-#define ERROR_IPSEC_MM_POLICY_NOT_FOUND 13004L
-#define ERROR_IPSEC_MM_POLICY_IN_USE 13005L
-#define ERROR_IPSEC_MM_FILTER_EXISTS 13006L
-#define ERROR_IPSEC_MM_FILTER_NOT_FOUND 13007L
-#define ERROR_IPSEC_TRANSPORT_FILTER_EXISTS 13008L
-#define ERROR_IPSEC_TRANSPORT_FILTER_NOT_FOUND 13009L
-#define ERROR_IPSEC_MM_AUTH_EXISTS 13010L
-#define ERROR_IPSEC_MM_AUTH_NOT_FOUND 13011L
-#define ERROR_IPSEC_MM_AUTH_IN_USE 13012L
-#define ERROR_IPSEC_DEFAULT_MM_POLICY_NOT_FOUND 13013L
-#define ERROR_IPSEC_DEFAULT_MM_AUTH_NOT_FOUND 13014L
-#define ERROR_IPSEC_DEFAULT_QM_POLICY_NOT_FOUND 13015L
-#define ERROR_IPSEC_TUNNEL_FILTER_EXISTS 13016L
-#define ERROR_IPSEC_TUNNEL_FILTER_NOT_FOUND 13017L
-#define ERROR_IPSEC_MM_FILTER_PENDING_DELETION 13018L
-#define ERROR_IPSEC_TRANSPORT_FILTER_PENDING_DELETION 13019L
-#define ERROR_IPSEC_TUNNEL_FILTER_PENDING_DELETION 13020L
-#define ERROR_IPSEC_MM_POLICY_PENDING_DELETION 13021L
-#define ERROR_IPSEC_MM_AUTH_PENDING_DELETION 13022L
-#define ERROR_IPSEC_QM_POLICY_PENDING_DELETION 13023L
-#define WARNING_IPSEC_MM_POLICY_PRUNED 13024L
-#define WARNING_IPSEC_QM_POLICY_PRUNED 13025L
-#define ERROR_IPSEC_IKE_AUTH_FAIL 13801L
-#define ERROR_IPSEC_IKE_ATTRIB_FAIL 13802L
-#define ERROR_IPSEC_IKE_NEGOTIATION_PENDING 13803L
-#define ERROR_IPSEC_IKE_GENERAL_PROCESSING_ERROR 13804L
-#define ERROR_IPSEC_IKE_TIMED_OUT 13805L
-#define ERROR_IPSEC_IKE_NO_CERT 13806L
-#define ERROR_IPSEC_IKE_SA_DELETED 13807L
-#define ERROR_IPSEC_IKE_SA_REAPED 13808L
-#define ERROR_IPSEC_IKE_MM_ACQUIRE_DROP 13809L
-#define ERROR_IPSEC_IKE_QM_ACQUIRE_DROP 13810L
-#define ERROR_IPSEC_IKE_QUEUE_DROP_MM 13811L
-#define ERROR_IPSEC_IKE_QUEUE_DROP_NO_MM 13812L
-#define ERROR_IPSEC_IKE_DROP_NO_RESPONSE 13813L
-#define ERROR_IPSEC_IKE_MM_DELAY_DROP 13814L
-#define ERROR_IPSEC_IKE_QM_DELAY_DROP 13815L
-#define ERROR_IPSEC_IKE_ERROR 13816L
-#define ERROR_IPSEC_IKE_CRL_FAILED 13817L
-#define ERROR_IPSEC_IKE_INVALID_KEY_USAGE 13818L
-#define ERROR_IPSEC_IKE_INVALID_CERT_TYPE 13819L
-#define ERROR_IPSEC_IKE_NO_PRIVATE_KEY 13820L
-#define ERROR_IPSEC_IKE_DH_FAIL 13822L
-#define ERROR_IPSEC_IKE_INVALID_HEADER 13824L
-#define ERROR_IPSEC_IKE_NO_POLICY 13825L
-#define ERROR_IPSEC_IKE_INVALID_SIGNATURE 13826L
-#define ERROR_IPSEC_IKE_KERBEROS_ERROR 13827L
-#define ERROR_IPSEC_IKE_NO_PUBLIC_KEY 13828L
-#define ERROR_IPSEC_IKE_PROCESS_ERR 13829L
-#define ERROR_IPSEC_IKE_PROCESS_ERR_SA 13830L
-#define ERROR_IPSEC_IKE_PROCESS_ERR_PROP 13831L
-#define ERROR_IPSEC_IKE_PROCESS_ERR_TRANS 13832L
-#define ERROR_IPSEC_IKE_PROCESS_ERR_KE 13833L
-#define ERROR_IPSEC_IKE_PROCESS_ERR_ID 13834L
-#define ERROR_IPSEC_IKE_PROCESS_ERR_CERT 13835L
-#define ERROR_IPSEC_IKE_PROCESS_ERR_CERT_REQ 13836L
-#define ERROR_IPSEC_IKE_PROCESS_ERR_HASH 13837L
-#define ERROR_IPSEC_IKE_PROCESS_ERR_SIG 13838L
-#define ERROR_IPSEC_IKE_PROCESS_ERR_NONCE 13839L
-#define ERROR_IPSEC_IKE_PROCESS_ERR_NOTIFY 13840L
-#define ERROR_IPSEC_IKE_PROCESS_ERR_DELETE 13841L
-#define ERROR_IPSEC_IKE_PROCESS_ERR_VENDOR 13842L
-#define ERROR_IPSEC_IKE_INVALID_PAYLOAD 13843L
-#define ERROR_IPSEC_IKE_LOAD_SOFT_SA 13844L
-#define ERROR_IPSEC_IKE_SOFT_SA_TORN_DOWN 13845L
-#define ERROR_IPSEC_IKE_INVALID_COOKIE 13846L
-#define ERROR_IPSEC_IKE_NO_PEER_CERT 13847L
-#define ERROR_IPSEC_IKE_PEER_CRL_FAILED 13848L
-#define ERROR_IPSEC_IKE_POLICY_CHANGE 13849L
-#define ERROR_IPSEC_IKE_NO_MM_POLICY 13850L
-#define ERROR_IPSEC_IKE_NOTCBPRIV 13851L
-#define ERROR_IPSEC_IKE_SECLOADFAIL 13852L
-#define ERROR_IPSEC_IKE_FAILSSPINIT 13853L
-#define ERROR_IPSEC_IKE_FAILQUERYSSP 13854L
-#define ERROR_IPSEC_IKE_SRVACQFAIL 13855L
-#define ERROR_IPSEC_IKE_SRVQUERYCRED 13856L
-#define ERROR_IPSEC_IKE_GETSPIFAIL 13857L
-#define ERROR_IPSEC_IKE_INVALID_FILTER 13858L
-#define ERROR_IPSEC_IKE_OUT_OF_MEMORY 13859L
-#define ERROR_IPSEC_IKE_ADD_UPDATE_KEY_FAILED 13860L
-#define ERROR_IPSEC_IKE_INVALID_POLICY 13861L
-#define ERROR_IPSEC_IKE_UNKNOWN_DOI 13862L
-#define ERROR_IPSEC_IKE_INVALID_SITUATION 13863L
-#define ERROR_IPSEC_IKE_DH_FAILURE 13864L
-#define ERROR_IPSEC_IKE_INVALID_GROUP 13865L
-#define ERROR_IPSEC_IKE_ENCRYPT 13866L
-#define ERROR_IPSEC_IKE_DECRYPT 13867L
-#define ERROR_IPSEC_IKE_POLICY_MATCH 13868L
-#define ERROR_IPSEC_IKE_UNSUPPORTED_ID 13869L
-#define ERROR_IPSEC_IKE_INVALID_HASH 13870L
-#define ERROR_IPSEC_IKE_INVALID_HASH_ALG 13871L
-#define ERROR_IPSEC_IKE_INVALID_HASH_SIZE 13872L
-#define ERROR_IPSEC_IKE_INVALID_ENCRYPT_ALG 13873L
-#define ERROR_IPSEC_IKE_INVALID_AUTH_ALG 13874L
-#define ERROR_IPSEC_IKE_INVALID_SIG 13875L
-#define ERROR_IPSEC_IKE_LOAD_FAILED 13876L
-#define ERROR_IPSEC_IKE_RPC_DELETE 13877L
-#define ERROR_IPSEC_IKE_BENIGN_REINIT 13878L
-#define ERROR_IPSEC_IKE_INVALID_RESPONDER_LIFETIME_NOTIFY 13879L
-#define ERROR_IPSEC_IKE_INVALID_CERT_KEYLEN 13881L
-#define ERROR_IPSEC_IKE_MM_LIMIT 13882L
-#define ERROR_IPSEC_IKE_NEGOTIATION_DISABLED 13883L
-#define ERROR_IPSEC_IKE_NEG_STATUS_END 13884L
-
-#define ERROR_SXS_SECTION_NOT_FOUND 14000L
-#define ERROR_SXS_CANT_GEN_ACTCTX 14001L
-#define ERROR_SXS_INVALID_ACTCTXDATA_FORMAT 14002L
-#define ERROR_SXS_ASSEMBLY_NOT_FOUND 14003L
-#define ERROR_SXS_MANIFEST_FORMAT_ERROR 14004L
-#define ERROR_SXS_MANIFEST_PARSE_ERROR 14005L
-#define ERROR_SXS_ACTIVATION_CONTEXT_DISABLED 14006L
-#define ERROR_SXS_KEY_NOT_FOUND 14007L
-#define ERROR_SXS_VERSION_CONFLICT 14008L
-#define ERROR_SXS_WRONG_SECTION_TYPE 14009L
-#define ERROR_SXS_THREAD_QUERIES_DISABLED 14010L
-#define ERROR_SXS_PROCESS_DEFAULT_ALREADY_SET 14011L
-#define ERROR_SXS_UNKNOWN_ENCODING_GROUP 14012L
-#define ERROR_SXS_UNKNOWN_ENCODING 14013L
-#define ERROR_SXS_INVALID_XML_NAMESPACE_URI 14014L
-#define ERROR_SXS_ROOT_MANIFEST_DEPENDENCY_NOT_INSTALLED 14015L
-#define ERROR_SXS_LEAF_MANIFEST_DEPENDENCY_NOT_INSTALLED 14016L
-#define ERROR_SXS_INVALID_ASSEMBLY_IDENTITY_ATTRIBUTE 14017L
-#define ERROR_SXS_MANIFEST_MISSING_REQUIRED_DEFAULT_NAMESPACE 14018L
-#define ERROR_SXS_MANIFEST_INVALID_REQUIRED_DEFAULT_NAMESPACE 14019L
-#define ERROR_SXS_PRIVATE_MANIFEST_CROSS_PATH_WITH_REPARSE_POINT 14020L
-#define ERROR_SXS_DUPLICATE_DLL_NAME 14021L
-#define ERROR_SXS_DUPLICATE_WINDOWCLASS_NAME 14022L
-#define ERROR_SXS_DUPLICATE_CLSID 14023L
-#define ERROR_SXS_DUPLICATE_IID 14024L
-#define ERROR_SXS_DUPLICATE_TLBID 14025L
-#define ERROR_SXS_DUPLICATE_PROGID 14026L
-#define ERROR_SXS_DUPLICATE_ASSEMBLY_NAME 14027L
-#define ERROR_SXS_FILE_HASH_MISMATCH 14028L
-#define ERROR_SXS_POLICY_PARSE_ERROR 14029L
-#define ERROR_SXS_XML_E_MISSINGQUOTE 14030L
-#define ERROR_SXS_XML_E_COMMENTSYNTAX 14031L
-#define ERROR_SXS_XML_E_BADSTARTNAMECHAR 14032L
-#define ERROR_SXS_XML_E_BADNAMECHAR 14033L
-#define ERROR_SXS_XML_E_BADCHARINSTRING 14034L
-#define ERROR_SXS_XML_E_XMLDECLSYNTAX 14035L
-#define ERROR_SXS_XML_E_BADCHARDATA 14036L
-#define ERROR_SXS_XML_E_MISSINGWHITESPACE 14037L
-#define ERROR_SXS_XML_E_EXPECTINGTAGEND 14038L
-#define ERROR_SXS_XML_E_MISSINGSEMICOLON 14039L
-#define ERROR_SXS_XML_E_UNBALANCEDPAREN 14040L
-#define ERROR_SXS_XML_E_INTERNALERROR 14041L
-#define ERROR_SXS_XML_E_UNEXPECTED_WHITESPACE 14042L
-#define ERROR_SXS_XML_E_INCOMPLETE_ENCODING 14043L
-#define ERROR_SXS_XML_E_MISSING_PAREN 14044L
-#define ERROR_SXS_XML_E_EXPECTINGCLOSEQUOTE 14045L
-#define ERROR_SXS_XML_E_MULTIPLE_COLONS 14046L
-#define ERROR_SXS_XML_E_INVALID_DECIMAL 14047L
-#define ERROR_SXS_XML_E_INVALID_HEXIDECIMAL 14048L
-#define ERROR_SXS_XML_E_INVALID_UNICODE 14049L
-#define ERROR_SXS_XML_E_WHITESPACEORQUESTIONMARK 14050L
-#define ERROR_SXS_XML_E_UNEXPECTEDENDTAG 14051L
-#define ERROR_SXS_XML_E_UNCLOSEDTAG 14052L
-#define ERROR_SXS_XML_E_DUPLICATEATTRIBUTE 14053L
-#define ERROR_SXS_XML_E_MULTIPLEROOTS 14054L
-#define ERROR_SXS_XML_E_INVALIDATROOTLEVEL 14055L
-#define ERROR_SXS_XML_E_BADXMLDECL 14056L
-#define ERROR_SXS_XML_E_MISSINGROOT 14057L
-#define ERROR_SXS_XML_E_UNEXPECTEDEOF 14058L
-#define ERROR_SXS_XML_E_BADPEREFINSUBSET 14059L
-#define ERROR_SXS_XML_E_UNCLOSEDSTARTTAG 14060L
-#define ERROR_SXS_XML_E_UNCLOSEDENDTAG 14061L
-#define ERROR_SXS_XML_E_UNCLOSEDSTRING 14062L
-#define ERROR_SXS_XML_E_UNCLOSEDCOMMENT 14063L
-#define ERROR_SXS_XML_E_UNCLOSEDDECL 14064L
-#define ERROR_SXS_XML_E_UNCLOSEDCDATA 14065L
-#define ERROR_SXS_XML_E_RESERVEDNAMESPACE 14066L
-#define ERROR_SXS_XML_E_INVALIDENCODING 14067L
-#define ERROR_SXS_XML_E_INVALIDSWITCH 14068L
-#define ERROR_SXS_XML_E_BADXMLCASE 14069L
-#define ERROR_SXS_XML_E_INVALID_STANDALONE 14070L
-#define ERROR_SXS_XML_E_UNEXPECTED_STANDALONE 14071L
-#define ERROR_SXS_XML_E_INVALID_VERSION 14072L
-#define ERROR_SXS_XML_E_MISSINGEQUALS 14073L
-#define ERROR_SXS_PROTECTION_RECOVERY_FAILED 14074L
-#define ERROR_SXS_PROTECTION_PUBLIC_KEY_TOO_SHORT 14075L
-#define ERROR_SXS_PROTECTION_CATALOG_NOT_VALID 14076L
-#define ERROR_SXS_UNTRANSLATABLE_HRESULT 14077L
-#define ERROR_SXS_PROTECTION_CATALOG_FILE_MISSING 14078L
-#define ERROR_SXS_MISSING_ASSEMBLY_IDENTITY_ATTRIBUTE 14079L
-#define ERROR_SXS_INVALID_ASSEMBLY_IDENTITY_ATTRIBUTE_NAME 14080L
-
-#define SEVERITY_SUCCESS 0
-#define SEVERITY_ERROR 1
-#define FACILITY_WINDOWS 8
-#define FACILITY_STORAGE 3
-#define FACILITY_RPC 1
-#define FACILITY_WIN32 7
-#define FACILITY_CONTROL 10
-#define FACILITY_NULL 0
-#define FACILITY_ITF 4
-#define FACILITY_DISPATCH 2
-#define SUCCEEDED(Status) ((HRESULT)(Status) >= 0)
-#define FAILED(Status) ((HRESULT)(Status)<0)
-#define IS_ERROR(Status) ((unsigned long)(Status) >> 31 == SEVERITY_ERROR)
-#define HRESULT_CODE(r) ((r)&0xFFFF)
-#define SCODE_CODE(c) ((c)&0xFFFF)
-#define HRESULT_FACILITY(r) (((r)>>16)&0x1fff)
-#define SCODE_FACILITY(c) (((c)>>16)&0x1fff)
-#define HRESULT_SEVERITY(r) (((r)>>31)&0x1)
-#define SCODE_SEVERITY(c) (((c)>>31)&0x1)
-#define MAKE_HRESULT(s,f,c) ((HRESULT)(((unsigned long)(s)<<31)|((unsigned long)(f)<<16)|((unsigned long)(c))))
-#define MAKE_SCODE(s,f,c) ((SCODE)(((unsigned long)(s)<<31)|((unsigned long)(f)<<16)|((unsigned long)(c))) )
-#define FACILITY_NT_BIT 0x10000000
-#define HRESULT_FROM_WIN32(x) (x?((HRESULT)(((x)&0x0000FFFF)|(FACILITY_WIN32<<16)|0x80000000)):0)
-#define HRESULT_FROM_NT(x) ((HRESULT)((x)|FACILITY_NT_BIT))
-#define GetScode(hr) ((SCODE) (hr))
-#define ResultFromScode(sc) ((HRESULT) (sc))
-#define PropagateResult(hrPrevious, scBase) ((HRESULT) scBase)
-
-#define NOERROR S_OK
-#define E_UNEXPECTED ((HRESULT)0x8000FFFFL)
-#define E_NOTIMPL ((HRESULT)0x80004001L)
-#define E_OUTOFMEMORY ((HRESULT)0x8007000EL)
-#define E_INVALIDARG ((HRESULT)0x80070057L)
-#define E_NOINTERFACE ((HRESULT)0x80004002L)
-#define E_POINTER ((HRESULT)0x80004003L)
-#define E_HANDLE ((HRESULT)0x80070006L)
-#define E_ABORT ((HRESULT)0x80004004L)
-#define E_FAIL ((HRESULT)0x80004005L)
-#define E_ACCESSDENIED ((HRESULT)0x80070005L)
-#define E_PENDING ((HRESULT)0x8000000AL)
-#define CO_E_INIT_TLS ((HRESULT)0x80004006L)
-#define CO_E_INIT_SHARED_ALLOCATOR ((HRESULT)0x80004007L)
-#define CO_E_INIT_MEMORY_ALLOCATOR ((HRESULT)0x80004008L)
-#define CO_E_INIT_CLASS_CACHE ((HRESULT)0x80004009L)
-#define CO_E_INIT_RPC_CHANNEL ((HRESULT)0x8000400AL)
-#define CO_E_INIT_TLS_SET_CHANNEL_CONTROL ((HRESULT)0x8000400BL)
-#define CO_E_INIT_TLS_CHANNEL_CONTROL ((HRESULT)0x8000400CL)
-#define CO_E_INIT_UNACCEPTED_USER_ALLOCATOR ((HRESULT)0x8000400DL)
-#define CO_E_INIT_SCM_MUTEX_EXISTS ((HRESULT)0x8000400EL)
-#define CO_E_INIT_SCM_FILE_MAPPING_EXISTS ((HRESULT)0x8000400FL)
-#define CO_E_INIT_SCM_MAP_VIEW_OF_FILE ((HRESULT)0x80004010L)
-#define CO_E_INIT_SCM_EXEC_FAILURE ((HRESULT)0x80004011L)
-#define CO_E_INIT_ONLY_SINGLE_THREADED ((HRESULT)0x80004012L)
-#define S_OK ((HRESULT)0x00000000L)
-#define S_FALSE ((HRESULT)0x00000001L)
-#define OLE_E_FIRST ((HRESULT)0x80040000L)
-#define OLE_E_LAST ((HRESULT)0x800400FFL)
-#define OLE_S_FIRST ((HRESULT)0x00040000L)
-#define OLE_S_LAST ((HRESULT)0x000400FFL)
-#define OLE_E_OLEVERB ((HRESULT)0x80040000L)
-#define OLE_E_ADVF ((HRESULT)0x80040001L)
-#define OLE_E_ENUM_NOMORE ((HRESULT)0x80040002L)
-#define OLE_E_ADVISENOTSUPPORTED ((HRESULT)0x80040003L)
-#define OLE_E_NOCONNECTION ((HRESULT)0x80040004L)
-#define OLE_E_NOTRUNNING ((HRESULT)0x80040005L)
-#define OLE_E_NOCACHE ((HRESULT)0x80040006L)
-#define OLE_E_BLANK ((HRESULT)0x80040007L)
-#define OLE_E_CLASSDIFF ((HRESULT)0x80040008L)
-#define OLE_E_CANT_GETMONIKER ((HRESULT)0x80040009L)
-#define OLE_E_CANT_BINDTOSOURCE ((HRESULT)0x8004000AL)
-#define OLE_E_STATIC ((HRESULT)0x8004000BL)
-#define OLE_E_PROMPTSAVECANCELLED ((HRESULT)0x8004000CL)
-#define OLE_E_INVALIDRECT ((HRESULT)0x8004000DL)
-#define OLE_E_WRONGCOMPOBJ ((HRESULT)0x8004000EL)
-#define OLE_E_INVALIDHWND ((HRESULT)0x8004000FL)
-#define OLE_E_NOT_INPLACEACTIVE ((HRESULT)0x80040010L)
-#define OLE_E_CANTCONVERT ((HRESULT)0x80040011L)
-#define OLE_E_NOSTORAGE ((HRESULT)0x80040012L)
-#define DV_E_FORMATETC ((HRESULT)0x80040064L)
-#define DV_E_DVTARGETDEVICE ((HRESULT)0x80040065L)
-#define DV_E_STGMEDIUM ((HRESULT)0x80040066L)
-#define DV_E_STATDATA ((HRESULT)0x80040067L)
-#define DV_E_LINDEX ((HRESULT)0x80040068L)
-#define DV_E_TYMED ((HRESULT)0x80040069L)
-#define DV_E_CLIPFORMAT ((HRESULT)0x8004006AL)
-#define DV_E_DVASPECT ((HRESULT)0x8004006BL)
-#define DV_E_DVTARGETDEVICE_SIZE ((HRESULT)0x8004006CL)
-#define DV_E_NOIVIEWOBJECT ((HRESULT)0x8004006DL)
-#define DRAGDROP_E_FIRST ((HRESULT)0x80040100L)
-#define DRAGDROP_E_LAST ((HRESULT)0x8004010FL)
-#define DRAGDROP_S_FIRST ((HRESULT)0x00040100L)
-#define DRAGDROP_S_LAST ((HRESULT)0x0004010FL)
-#define DRAGDROP_E_NOTREGISTERED ((HRESULT)0x80040100L)
-#define DRAGDROP_E_ALREADYREGISTERED ((HRESULT)0x80040101L)
-#define DRAGDROP_E_INVALIDHWND ((HRESULT)0x80040102L)
-#define CLASSFACTORY_E_FIRST ((HRESULT)0x80040110L)
-#define CLASSFACTORY_E_LAST ((HRESULT)0x8004011FL)
-#define CLASSFACTORY_S_FIRST ((HRESULT)0x00040110L)
-#define CLASSFACTORY_S_LAST ((HRESULT)0x0004011FL)
-#define CLASS_E_NOAGGREGATION ((HRESULT)0x80040110L)
-#define CLASS_E_CLASSNOTAVAILABLE ((HRESULT)0x80040111L)
-#define MARSHAL_E_FIRST ((HRESULT)0x80040120L)
-#define MARSHAL_E_LAST ((HRESULT)0x8004012FL)
-#define MARSHAL_S_FIRST ((HRESULT)0x00040120L)
-#define MARSHAL_S_LAST ((HRESULT)0x0004012FL)
-#define DATA_E_FIRST ((HRESULT)0x80040130L)
-#define DATA_E_LAST ((HRESULT)0x8004013FL)
-#define DATA_S_FIRST ((HRESULT)0x00040130L)
-#define DATA_S_LAST ((HRESULT)0x0004013FL)
-#define VIEW_E_FIRST ((HRESULT)0x80040140L)
-#define VIEW_E_LAST ((HRESULT)0x8004014FL)
-#define VIEW_S_FIRST ((HRESULT)0x00040140L)
-#define VIEW_S_LAST ((HRESULT)0x0004014FL)
-#define VIEW_E_DRAW ((HRESULT)0x80040140L)
-#define REGDB_E_FIRST ((HRESULT)0x80040150L)
-#define REGDB_E_LAST ((HRESULT)0x8004015FL)
-#define REGDB_S_FIRST ((HRESULT)0x00040150L)
-#define REGDB_S_LAST ((HRESULT)0x0004015FL)
-#define REGDB_E_READREGDB ((HRESULT)0x80040150L)
-#define REGDB_E_WRITEREGDB ((HRESULT)0x80040151L)
-#define REGDB_E_KEYMISSING ((HRESULT)0x80040152L)
-#define REGDB_E_INVALIDVALUE ((HRESULT)0x80040153L)
-#define REGDB_E_CLASSNOTREG ((HRESULT)0x80040154L)
-#define REGDB_E_IIDNOTREG ((HRESULT)0x80040155L)
-#define CACHE_E_FIRST ((HRESULT)0x80040170L)
-#define CACHE_E_LAST ((HRESULT)0x8004017FL)
-#define CACHE_S_FIRST ((HRESULT)0x00040170L)
-#define CACHE_S_LAST ((HRESULT)0x0004017FL)
-#define CACHE_E_NOCACHE_UPDATED ((HRESULT)0x80040170L)
-#define OLEOBJ_E_FIRST ((HRESULT)0x80040180L)
-#define OLEOBJ_E_LAST ((HRESULT)0x8004018FL)
-#define OLEOBJ_S_FIRST ((HRESULT)0x00040180L)
-#define OLEOBJ_S_LAST ((HRESULT)0x0004018FL)
-#define OLEOBJ_E_NOVERBS ((HRESULT)0x80040180L)
-#define OLEOBJ_E_INVALIDVERB ((HRESULT)0x80040181L)
-#define CLIENTSITE_E_FIRST ((HRESULT)0x80040190L)
-#define CLIENTSITE_E_LAST ((HRESULT)0x8004019FL)
-#define CLIENTSITE_S_FIRST ((HRESULT)0x00040190L)
-#define CLIENTSITE_S_LAST ((HRESULT)0x0004019FL)
-#define INPLACE_E_NOTUNDOABLE ((HRESULT)0x800401A0L)
-#define INPLACE_E_NOTOOLSPACE ((HRESULT)0x800401A1L)
-#define INPLACE_E_FIRST ((HRESULT)0x800401A0L)
-#define INPLACE_E_LAST ((HRESULT)0x800401AFL)
-#define INPLACE_S_FIRST ((HRESULT)0x000401A0L)
-#define INPLACE_S_LAST ((HRESULT)0x000401AFL)
-#define ENUM_E_FIRST ((HRESULT)0x800401B0L)
-#define ENUM_E_LAST ((HRESULT)0x800401BFL)
-#define ENUM_S_FIRST ((HRESULT)0x000401B0L)
-#define ENUM_S_LAST ((HRESULT)0x000401BFL)
-#define CONVERT10_E_FIRST ((HRESULT)0x800401C0L)
-#define CONVERT10_E_LAST ((HRESULT)0x800401CFL)
-#define CONVERT10_S_FIRST ((HRESULT)0x000401C0L)
-#define CONVERT10_S_LAST ((HRESULT)0x000401CFL)
-#define CONVERT10_E_OLESTREAM_GET ((HRESULT)0x800401C0L)
-#define CONVERT10_E_OLESTREAM_PUT ((HRESULT)0x800401C1L)
-#define CONVERT10_E_OLESTREAM_FMT ((HRESULT)0x800401C2L)
-#define CONVERT10_E_OLESTREAM_BITMAP_TO_DIB ((HRESULT)0x800401C3L)
-#define CONVERT10_E_STG_FMT ((HRESULT)0x800401C4L)
-#define CONVERT10_E_STG_NO_STD_STREAM ((HRESULT)0x800401C5L)
-#define CONVERT10_E_STG_DIB_TO_BITMAP ((HRESULT)0x800401C6L)
-#define CLIPBRD_E_FIRST ((HRESULT)0x800401D0L)
-#define CLIPBRD_E_LAST ((HRESULT)0x800401DFL)
-#define CLIPBRD_S_FIRST ((HRESULT)0x000401D0L)
-#define CLIPBRD_S_LAST ((HRESULT)0x000401DFL)
-#define CLIPBRD_E_CANT_OPEN ((HRESULT)0x800401D0L)
-#define CLIPBRD_E_CANT_EMPTY ((HRESULT)0x800401D1L)
-#define CLIPBRD_E_CANT_SET ((HRESULT)0x800401D2L)
-#define CLIPBRD_E_BAD_DATA ((HRESULT)0x800401D3L)
-#define CLIPBRD_E_CANT_CLOSE ((HRESULT)0x800401D4L)
-#define MK_E_FIRST ((HRESULT)0x800401E0L)
-#define MK_E_LAST ((HRESULT)0x800401EFL)
-#define MK_S_FIRST ((HRESULT)0x000401E0L)
-#define MK_S_LAST ((HRESULT)0x000401EFL)
-#define MK_E_CONNECTMANUALLY ((HRESULT)0x800401E0L)
-#define MK_E_EXCEEDEDDEADLINE ((HRESULT)0x800401E1L)
-#define MK_E_NEEDGENERIC ((HRESULT)0x800401E2L)
-#define MK_E_UNAVAILABLE ((HRESULT)0x800401E3L)
-#define MK_E_SYNTAX ((HRESULT)0x800401E4L)
-#define MK_E_NOOBJECT ((HRESULT)0x800401E5L)
-#define MK_E_INVALIDEXTENSION ((HRESULT)0x800401E6L)
-#define MK_E_INTERMEDIATEINTERFACENOTSUPPORTED ((HRESULT)0x800401E7L)
-#define MK_E_NOTBINDABLE ((HRESULT)0x800401E8L)
-#define MK_E_NOTBOUND ((HRESULT)0x800401E9L)
-#define MK_E_CANTOPENFILE ((HRESULT)0x800401EAL)
-#define MK_E_MUSTBOTHERUSER ((HRESULT)0x800401EBL)
-#define MK_E_NOINVERSE ((HRESULT)0x800401ECL)
-#define MK_E_NOSTORAGE ((HRESULT)0x800401EDL)
-#define MK_E_NOPREFIX ((HRESULT)0x800401EEL)
-#define MK_E_ENUMERATION_FAILED ((HRESULT)0x800401EFL)
-#define CO_E_FIRST ((HRESULT)0x800401F0L)
-#define CO_E_LAST ((HRESULT)0x800401FFL)
-#define CO_S_FIRST ((HRESULT)0x000401F0L)
-#define CO_S_LAST ((HRESULT)0x000401FFL)
-#define CO_E_NOTINITIALIZED ((HRESULT)0x800401F0L)
-#define CO_E_ALREADYINITIALIZED ((HRESULT)0x800401F1L)
-#define CO_E_CANTDETERMINECLASS ((HRESULT)0x800401F2L)
-#define CO_E_CLASSSTRING ((HRESULT)0x800401F3L)
-#define CO_E_IIDSTRING ((HRESULT)0x800401F4L)
-#define CO_E_APPNOTFOUND ((HRESULT)0x800401F5L)
-#define CO_E_APPSINGLEUSE ((HRESULT)0x800401F6L)
-#define CO_E_ERRORINAPP ((HRESULT)0x800401F7L)
-#define CO_E_DLLNOTFOUND ((HRESULT)0x800401F8L)
-#define CO_E_ERRORINDLL ((HRESULT)0x800401F9L)
-#define CO_E_WRONGOSFORAPP ((HRESULT)0x800401FAL)
-#define CO_E_OBJNOTREG ((HRESULT)0x800401FBL)
-#define CO_E_OBJISREG ((HRESULT)0x800401FCL)
-#define CO_E_OBJNOTCONNECTED ((HRESULT)0x800401FDL)
-#define CO_E_APPDIDNTREG ((HRESULT)0x800401FEL)
-#define CO_E_RELEASED ((HRESULT)0x800401FFL)
-#define OLE_S_USEREG ((HRESULT)0x00040000L)
-#define OLE_S_STATIC ((HRESULT)0x00040001L)
-#define OLE_S_MAC_CLIPFORMAT ((HRESULT)0x00040002L)
-#define DRAGDROP_S_DROP ((HRESULT)0x00040100L)
-#define DRAGDROP_S_CANCEL ((HRESULT)0x00040101L)
-#define DRAGDROP_S_USEDEFAULTCURSORS ((HRESULT)0x00040102L)
-#define DATA_S_SAMEFORMATETC ((HRESULT)0x00040130L)
-#define VIEW_S_ALREADY_FROZEN ((HRESULT)0x00040140L)
-#define CACHE_S_FORMATETC_NOTSUPPORTED ((HRESULT)0x00040170L)
-#define CACHE_S_SAMECACHE ((HRESULT)0x00040171L)
-#define CACHE_S_SOMECACHES_NOTUPDATED ((HRESULT)0x00040172L)
-#define OLEOBJ_S_INVALIDVERB ((HRESULT)0x00040180L)
-#define OLEOBJ_S_CANNOT_DOVERB_NOW ((HRESULT)0x00040181L)
-#define OLEOBJ_S_INVALIDHWND ((HRESULT)0x00040182L)
-#define INPLACE_S_TRUNCATED ((HRESULT)0x000401A0L)
-#define CONVERT10_S_NO_PRESENTATION ((HRESULT)0x000401C0L)
-#define MK_S_REDUCED_TO_SELF ((HRESULT)0x000401E2L)
-#define MK_S_ME ((HRESULT)0x000401E4L)
-#define MK_S_HIM ((HRESULT)0x000401E5L)
-#define MK_S_US ((HRESULT)0x000401E6L)
-#define MK_S_MONIKERALREADYREGISTERED ((HRESULT)0x000401E7L)
-#define CO_E_CLASS_CREATE_FAILED ((HRESULT)0x80080001L)
-#define CO_E_SCM_ERROR ((HRESULT)0x80080002L)
-#define CO_E_SCM_RPC_FAILURE ((HRESULT)0x80080003L)
-#define CO_E_BAD_PATH ((HRESULT)0x80080004L)
-#define CO_E_SERVER_EXEC_FAILURE ((HRESULT)0x80080005L)
-#define CO_E_OBJSRV_RPC_FAILURE ((HRESULT)0x80080006L)
-#define MK_E_NO_NORMALIZED ((HRESULT)0x80080007L)
-#define CO_E_SERVER_STOPPING ((HRESULT)0x80080008L)
-#define MEM_E_INVALID_ROOT ((HRESULT)0x80080009L)
-#define MEM_E_INVALID_LINK ((HRESULT)0x80080010L)
-#define MEM_E_INVALID_SIZE ((HRESULT)0x80080011L)
-#define CO_S_NOTALLINTERFACES ((HRESULT)0x00080012L)
-#define DISP_E_UNKNOWNINTERFACE ((HRESULT)0x80020001L)
-#define DISP_E_MEMBERNOTFOUND ((HRESULT)0x80020003L)
-#define DISP_E_PARAMNOTFOUND ((HRESULT)0x80020004L)
-#define DISP_E_TYPEMISMATCH ((HRESULT)0x80020005L)
-#define DISP_E_UNKNOWNNAME ((HRESULT)0x80020006L)
-#define DISP_E_NONAMEDARGS ((HRESULT)0x80020007L)
-#define DISP_E_BADVARTYPE ((HRESULT)0x80020008L)
-#define DISP_E_EXCEPTION ((HRESULT)0x80020009L)
-#define DISP_E_OVERFLOW ((HRESULT)0x8002000AL)
-#define DISP_E_BADINDEX ((HRESULT)0x8002000BL)
-#define DISP_E_UNKNOWNLCID ((HRESULT)0x8002000CL)
-#define DISP_E_ARRAYISLOCKED ((HRESULT)0x8002000DL)
-#define DISP_E_BADPARAMCOUNT ((HRESULT)0x8002000EL)
-#define DISP_E_PARAMNOTOPTIONAL ((HRESULT)0x8002000FL)
-#define DISP_E_BADCALLEE ((HRESULT)0x80020010L)
-#define DISP_E_NOTACOLLECTION ((HRESULT)0x80020011L)
-#define DISP_E_DIVBYZERO ((HRESULT)0x80020012L)
-#define TYPE_E_BUFFERTOOSMALL ((HRESULT)0x80028016L)
-#define TYPE_E_INVDATAREAD ((HRESULT)0x80028018L)
-#define TYPE_E_UNSUPFORMAT ((HRESULT)0x80028019L)
-#define TYPE_E_REGISTRYACCESS ((HRESULT)0x8002801CL)
-#define TYPE_E_LIBNOTREGISTERED ((HRESULT)0x8002801DL)
-#define TYPE_E_UNDEFINEDTYPE ((HRESULT)0x80028027L)
-#define TYPE_E_QUALIFIEDNAMEDISALLOWED ((HRESULT)0x80028028L)
-#define TYPE_E_INVALIDSTATE ((HRESULT)0x80028029L)
-#define TYPE_E_WRONGTYPEKIND ((HRESULT)0x8002802AL)
-#define TYPE_E_ELEMENTNOTFOUND ((HRESULT)0x8002802BL)
-#define TYPE_E_AMBIGUOUSNAME ((HRESULT)0x8002802CL)
-#define TYPE_E_NAMECONFLICT ((HRESULT)0x8002802DL)
-#define TYPE_E_UNKNOWNLCID ((HRESULT)0x8002802EL)
-#define TYPE_E_DLLFUNCTIONNOTFOUND ((HRESULT)0x8002802FL)
-#define TYPE_E_BADMODULEKIND ((HRESULT)0x800288BDL)
-#define TYPE_E_SIZETOOBIG ((HRESULT)0x800288C5L)
-#define TYPE_E_DUPLICATEID ((HRESULT)0x800288C6L)
-#define TYPE_E_INVALIDID ((HRESULT)0x800288CFL)
-#define TYPE_E_TYPEMISMATCH ((HRESULT)0x80028CA0L)
-#define TYPE_E_OUTOFBOUNDS ((HRESULT)0x80028CA1L)
-#define TYPE_E_IOERROR ((HRESULT)0x80028CA2L)
-#define TYPE_E_CANTCREATETMPFILE ((HRESULT)0x80028CA3L)
-#define TYPE_E_CANTLOADLIBRARY ((HRESULT)0x80029C4AL)
-#define TYPE_E_INCONSISTENTPROPFUNCS ((HRESULT)0x80029C83L)
-#define TYPE_E_CIRCULARTYPE ((HRESULT)0x80029C84L)
-#define STG_E_INVALIDFUNCTION ((HRESULT)0x80030001L)
-#define STG_E_FILENOTFOUND ((HRESULT)0x80030002L)
-#define STG_E_PATHNOTFOUND ((HRESULT)0x80030003L)
-#define STG_E_TOOMANYOPENFILES ((HRESULT)0x80030004L)
-#define STG_E_ACCESSDENIED ((HRESULT)0x80030005L)
-#define STG_E_INVALIDHANDLE ((HRESULT)0x80030006L)
-#define STG_E_INSUFFICIENTMEMORY ((HRESULT)0x80030008L)
-#define STG_E_INVALIDPOINTER ((HRESULT)0x80030009L)
-#define STG_E_NOMOREFILES ((HRESULT)0x80030012L)
-#define STG_E_DISKISWRITEPROTECTED ((HRESULT)0x80030013L)
-#define STG_E_SEEKERROR ((HRESULT)0x80030019L)
-#define STG_E_WRITEFAULT ((HRESULT)0x8003001DL)
-#define STG_E_READFAULT ((HRESULT)0x8003001EL)
-#define STG_E_SHAREVIOLATION ((HRESULT)0x80030020L)
-#define STG_E_LOCKVIOLATION ((HRESULT)0x80030021L)
-#define STG_E_FILEALREADYEXISTS ((HRESULT)0x80030050L)
-#define STG_E_INVALIDPARAMETER ((HRESULT)0x80030057L)
-#define STG_E_MEDIUMFULL ((HRESULT)0x80030070L)
-#define STG_E_ABNORMALAPIEXIT ((HRESULT)0x800300FAL)
-#define STG_E_INVALIDHEADER ((HRESULT)0x800300FBL)
-#define STG_E_INVALIDNAME ((HRESULT)0x800300FCL)
-#define STG_E_UNKNOWN ((HRESULT)0x800300FDL)
-#define STG_E_UNIMPLEMENTEDFUNCTION ((HRESULT)0x800300FEL)
-#define STG_E_INVALIDFLAG ((HRESULT)0x800300FFL)
-#define STG_E_INUSE ((HRESULT)0x80030100L)
-#define STG_E_NOTCURRENT ((HRESULT)0x80030101L)
-#define STG_E_REVERTED ((HRESULT)0x80030102L)
-#define STG_E_CANTSAVE ((HRESULT)0x80030103L)
-#define STG_E_OLDFORMAT ((HRESULT)0x80030104L)
-#define STG_E_OLDDLL ((HRESULT)0x80030105L)
-#define STG_E_SHAREREQUIRED ((HRESULT)0x80030106L)
-#define STG_E_NOTFILEBASEDSTORAGE ((HRESULT)0x80030107L)
-#define STG_E_EXTANTMARSHALLINGS ((HRESULT)0x80030108L)
-#define STG_S_CONVERTED ((HRESULT)0x00030200L)
-#define RPC_E_CALL_REJECTED ((HRESULT)0x80010001L)
-#define RPC_E_CALL_CANCELED ((HRESULT)0x80010002L)
-#define RPC_E_CANTPOST_INSENDCALL ((HRESULT)0x80010003L)
-#define RPC_E_CANTCALLOUT_INASYNCCALL ((HRESULT)0x80010004L)
-#define RPC_E_CANTCALLOUT_INEXTERNALCALL ((HRESULT)0x80010005L)
-#define RPC_E_CONNECTION_TERMINATED ((HRESULT)0x80010006L)
-#define RPC_E_SERVER_DIED ((HRESULT)0x80010007L)
-#define RPC_E_CLIENT_DIED ((HRESULT)0x80010008L)
-#define RPC_E_INVALID_DATAPACKET ((HRESULT)0x80010009L)
-#define RPC_E_CANTTRANSMIT_CALL ((HRESULT)0x8001000AL)
-#define RPC_E_CLIENT_CANTMARSHAL_DATA ((HRESULT)0x8001000BL)
-#define RPC_E_CLIENT_CANTUNMARSHAL_DATA ((HRESULT)0x8001000CL)
-#define RPC_E_SERVER_CANTMARSHAL_DATA ((HRESULT)0x8001000DL)
-#define RPC_E_SERVER_CANTUNMARSHAL_DATA ((HRESULT)0x8001000EL)
-#define RPC_E_INVALID_DATA ((HRESULT)0x8001000FL)
-#define RPC_E_INVALID_PARAMETER ((HRESULT)0x80010010L)
-#define RPC_E_CANTCALLOUT_AGAIN ((HRESULT)0x80010011L)
-#define RPC_E_SERVER_DIED_DNE ((HRESULT)0x80010012L)
-#define RPC_E_SYS_CALL_FAILED ((HRESULT)0x80010100L)
-#define RPC_E_OUT_OF_RESOURCES ((HRESULT)0x80010101L)
-#define RPC_E_ATTEMPTED_MULTITHREAD ((HRESULT)0x80010102L)
-#define RPC_E_NOT_REGISTERED ((HRESULT)0x80010103L)
-#define RPC_E_FAULT ((HRESULT)0x80010104L)
-#define RPC_E_SERVERFAULT ((HRESULT)0x80010105L)
-#define RPC_E_CHANGED_MODE ((HRESULT)0x80010106L)
-#define RPC_E_INVALIDMETHOD ((HRESULT)0x80010107L)
-#define RPC_E_DISCONNECTED ((HRESULT)0x80010108L)
-#define RPC_E_RETRY ((HRESULT)0x80010109L)
-#define RPC_E_SERVERCALL_RETRYLATER ((HRESULT)0x8001010AL)
-#define RPC_E_SERVERCALL_REJECTED ((HRESULT)0x8001010BL)
-#define RPC_E_INVALID_CALLDATA ((HRESULT)0x8001010CL)
-#define RPC_E_CANTCALLOUT_ININPUTSYNCCALL ((HRESULT)0x8001010DL)
-#define RPC_E_WRONG_THREAD ((HRESULT)0x8001010EL)
-#define RPC_E_THREAD_NOT_INIT ((HRESULT)0x8001010FL)
-#define RPC_E_UNEXPECTED ((HRESULT)0x8001FFFFL)
-
-#define NTE_BAD_UID ((HRESULT)0x80090001L)
-#define NTE_BAD_HASH ((HRESULT)0x80090002L)
-#define NTE_BAD_KEY ((HRESULT)0x80090003L)
-#define NTE_BAD_LEN ((HRESULT)0x80090004L)
-#define NTE_BAD_DATA ((HRESULT)0x80090005L)
-#define NTE_BAD_SIGNATURE ((HRESULT)0x80090006L)
-#define NTE_BAD_VER ((HRESULT)0x80090007L)
-#define NTE_BAD_ALGID ((HRESULT)0x80090008L)
-#define NTE_BAD_FLAGS ((HRESULT)0x80090009L)
-#define NTE_BAD_TYPE ((HRESULT)0x8009000AL)
-#define NTE_BAD_KEY_STATE ((HRESULT)0x8009000BL)
-#define NTE_BAD_HASH_STATE ((HRESULT)0x8009000CL)
-#define NTE_NO_KEY ((HRESULT)0x8009000DL)
-#define NTE_NO_MEMORY ((HRESULT)0x8009000EL)
-#define NTE_EXISTS ((HRESULT)0x8009000FL)
-#define NTE_PERM ((HRESULT)0x80090010L)
-#define NTE_NOT_FOUND ((HRESULT)0x80090011L)
-#define NTE_DOUBLE_ENCRYPT ((HRESULT)0x80090012L)
-#define NTE_BAD_PROVIDER ((HRESULT)0x80090013L)
-#define NTE_BAD_PROV_TYPE ((HRESULT)0x80090014L)
-#define NTE_BAD_PUBLIC_KEY ((HRESULT)0x80090015L)
-#define NTE_BAD_KEYSET ((HRESULT)0x80090016L)
-#define NTE_PROV_TYPE_NOT_DEF ((HRESULT)0x80090017L)
-#define NTE_PROV_TYPE_ENTRY_BAD ((HRESULT)0x80090018L)
-#define NTE_KEYSET_NOT_DEF ((HRESULT)0x80090019L)
-#define NTE_KEYSET_ENTRY_BAD ((HRESULT)0x8009001AL)
-#define NTE_PROV_TYPE_NO_MATCH ((HRESULT)0x8009001BL)
-#define NTE_SIGNATURE_FILE_BAD ((HRESULT)0x8009001CL)
-#define NTE_PROVIDER_DLL_FAIL ((HRESULT)0x8009001DL)
-#define NTE_PROV_DLL_NOT_FOUND ((HRESULT)0x8009001EL)
-#define NTE_BAD_KEYSET_PARAM ((HRESULT)0x8009001FL)
-#define NTE_FAIL ((HRESULT)0x80090020L)
-#define NTE_SYS_ERR ((HRESULT)0x80090021L)
-/* #define NTE_TOKEN_KEYSET_STORAGE ??? */
-
-#endif
diff --git a/winsup/w32api/include/wingdi.h b/winsup/w32api/include/wingdi.h
deleted file mode 100644
index 27f5226b2..000000000
--- a/winsup/w32api/include/wingdi.h
+++ /dev/null
@@ -1,3073 +0,0 @@
-#ifndef _WINGDI_H
-#define _WINGDI_H
-#define _WINGDI_
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#ifndef WINGDIAPI
-#ifdef __W32API_USE_DLLIMPORT__
-#define WINGDIAPI DECLSPEC_IMPORT
-#else
-#define WINGDIAPI
-#endif
-#endif
-
-#define BI_RGB 0
-#define BI_RLE8 1
-#define BI_RLE4 2
-#define BI_BITFIELDS 3
-#define BI_JPEG 4
-#define BI_PNG 5
-#define LF_FACESIZE 32
-#define LF_FULLFACESIZE 64
-#define CA_NEGATIVE 1
-#define CA_LOG_FILTER 2
-#define ILLUMINANT_DEVICE_DEFAULT 0
-#define ILLUMINANT_A 1
-#define ILLUMINANT_B 2
-#define ILLUMINANT_C 3
-#define ILLUMINANT_D50 4
-#define ILLUMINANT_D55 5
-#define ILLUMINANT_D65 6
-#define ILLUMINANT_D75 7
-#define ILLUMINANT_F2 8
-#define ILLUMINANT_MAX_INDEX ILLUMINANT_F2
-#define ILLUMINANT_TUNGSTEN ILLUMINANT_A
-#define ILLUMINANT_DAYLIGHT ILLUMINANT_C
-#define ILLUMINANT_FLUORESCENT ILLUMINANT_F2
-#define ILLUMINANT_NTSC ILLUMINANT_C
-#define RGB_GAMMA_MIN 2500
-#define RGB_GAMMA_MAX 65000
-#define REFERENCE_WHITE_MIN 6000
-#define REFERENCE_WHITE_MAX 10000
-#define REFERENCE_BLACK_MIN 0
-#define REFERENCE_BLACK_MAX 4000
-#define COLOR_ADJ_MIN (-100)
-#define COLOR_ADJ_MAX 100
-#define CCHDEVICENAME 32
-#define CCHFORMNAME 32
-#define DI_COMPAT 4
-#define DI_DEFAULTSIZE 8
-#define DI_IMAGE 2
-#define DI_MASK 1
-#define DI_NORMAL 3
-#define DI_APPBANDING 1
-#define EMR_HEADER 1
-#define EMR_POLYBEZIER 2
-#define EMR_POLYGON 3
-#define EMR_POLYLINE 4
-#define EMR_POLYBEZIERTO 5
-#define EMR_POLYLINETO 6
-#define EMR_POLYPOLYLINE 7
-#define EMR_POLYPOLYGON 8
-#define EMR_SETWINDOWEXTEX 9
-#define EMR_SETWINDOWORGEX 10
-#define EMR_SETVIEWPORTEXTEX 11
-#define EMR_SETVIEWPORTORGEX 12
-#define EMR_SETBRUSHORGEX 13
-#define EMR_EOF 14
-#define EMR_SETPIXELV 15
-#define EMR_SETMAPPERFLAGS 16
-#define EMR_SETMAPMODE 17
-#define EMR_SETBKMODE 18
-#define EMR_SETPOLYFILLMODE 19
-#define EMR_SETROP2 20
-#define EMR_SETSTRETCHBLTMODE 21
-#define EMR_SETTEXTALIGN 22
-#define EMR_SETCOLORADJUSTMENT 23
-#define EMR_SETTEXTCOLOR 24
-#define EMR_SETBKCOLOR 25
-#define EMR_OFFSETCLIPRGN 26
-#define EMR_MOVETOEX 27
-#define EMR_SETMETARGN 28
-#define EMR_EXCLUDECLIPRECT 29
-#define EMR_INTERSECTCLIPRECT 30
-#define EMR_SCALEVIEWPORTEXTEX 31
-#define EMR_SCALEWINDOWEXTEX 32
-#define EMR_SAVEDC 33
-#define EMR_RESTOREDC 34
-#define EMR_SETWORLDTRANSFORM 35
-#define EMR_MODIFYWORLDTRANSFORM 36
-#define EMR_SELECTOBJECT 37
-#define EMR_CREATEPEN 38
-#define EMR_CREATEBRUSHINDIRECT 39
-#define EMR_DELETEOBJECT 40
-#define EMR_ANGLEARC 41
-#define EMR_ELLIPSE 42
-#define EMR_RECTANGLE 43
-#define EMR_ROUNDRECT 44
-#define EMR_ARC 45
-#define EMR_CHORD 46
-#define EMR_PIE 47
-#define EMR_SELECTPALETTE 48
-#define EMR_CREATEPALETTE 49
-#define EMR_SETPALETTEENTRIES 50
-#define EMR_RESIZEPALETTE 51
-#define EMR_REALIZEPALETTE 52
-#define EMR_EXTFLOODFILL 53
-#define EMR_LINETO 54
-#define EMR_ARCTO 55
-#define EMR_POLYDRAW 56
-#define EMR_SETARCDIRECTION 57
-#define EMR_SETMITERLIMIT 58
-#define EMR_BEGINPATH 59
-#define EMR_ENDPATH 60
-#define EMR_CLOSEFIGURE 61
-#define EMR_FILLPATH 62
-#define EMR_STROKEANDFILLPATH 63
-#define EMR_STROKEPATH 64
-#define EMR_FLATTENPATH 65
-#define EMR_WIDENPATH 66
-#define EMR_SELECTCLIPPATH 67
-#define EMR_ABORTPATH 68
-#define EMR_GDICOMMENT 70
-#define EMR_FILLRGN 71
-#define EMR_FRAMERGN 72
-#define EMR_INVERTRGN 73
-#define EMR_PAINTRGN 74
-#define EMR_EXTSELECTCLIPRGN 75
-#define EMR_BITBLT 76
-#define EMR_STRETCHBLT 77
-#define EMR_MASKBLT 78
-#define EMR_PLGBLT 79
-#define EMR_SETDIBITSTODEVICE 80
-#define EMR_STRETCHDIBITS 81
-#define EMR_EXTCREATEFONTINDIRECTW 82
-#define EMR_EXTTEXTOUTA 83
-#define EMR_EXTTEXTOUTW 84
-#define EMR_POLYBEZIER16 85
-#define EMR_POLYGON16 86
-#define EMR_POLYLINE16 87
-#define EMR_POLYBEZIERTO16 88
-#define EMR_POLYLINETO16 89
-#define EMR_POLYPOLYLINE16 90
-#define EMR_POLYPOLYGON16 91
-#define EMR_POLYDRAW16 92
-#define EMR_CREATEMONOBRUSH 93
-#define EMR_CREATEDIBPATTERNBRUSHPT 94
-#define EMR_EXTCREATEPEN 95
-#define EMR_POLYTEXTOUTA 96
-#define EMR_POLYTEXTOUTW 97
-#define EMR_SETICMMODE 98
-#define EMR_CREATECOLORSPACE 99
-#define EMR_SETCOLORSPACE 100
-#define EMR_DELETECOLORSPACE 101
-#define EMR_GLSRECORD 102
-#define EMR_GLSBOUNDEDRECORD 103
-#define EMR_PIXELFORMAT 104
-#define ENHMETA_SIGNATURE 1179469088
-#define EPS_SIGNATURE 0x46535045
-#if (_WIN32_WINNT >= 0x0500)
-#define FR_PRIVATE 0x10
-#define FR_NOT_ENUM 0x20
-#endif
-#define META_SETBKCOLOR 0x201
-#define META_SETBKMODE 0x102
-#define META_SETMAPMODE 0x103
-#define META_SETROP2 0x104
-#define META_SETRELABS 0x105
-#define META_SETPOLYFILLMODE 0x106
-#define META_SETSTRETCHBLTMODE 0x107
-#define META_SETTEXTCHAREXTRA 0x108
-#define META_SETTEXTCOLOR 0x209
-#define META_SETTEXTJUSTIFICATION 0x20A
-#define META_SETWINDOWORG 0x20B
-#define META_SETWINDOWEXT 0x20C
-#define META_SETVIEWPORTORG 0x20D
-#define META_SETVIEWPORTEXT 0x20E
-#define META_OFFSETWINDOWORG 0x20F
-#define META_SCALEWINDOWEXT 0x410
-#define META_OFFSETVIEWPORTORG 0x211
-#define META_SCALEVIEWPORTEXT 0x412
-#define META_LINETO 0x213
-#define META_MOVETO 0x214
-#define META_EXCLUDECLIPRECT 0x415
-#define META_INTERSECTCLIPRECT 0x416
-#define META_ARC 0x817
-#define META_ELLIPSE 0x418
-#define META_FLOODFILL 0x419
-#define META_PIE 0x81A
-#define META_RECTANGLE 0x41B
-#define META_ROUNDRECT 0x61C
-#define META_PATBLT 0x61D
-#define META_SAVEDC 0x1E
-#define META_SETPIXEL 0x41F
-#define META_OFFSETCLIPRGN 0x220
-#define META_TEXTOUT 0x521
-#define META_BITBLT 0x922
-#define META_STRETCHBLT 0xB23
-#define META_POLYGON 0x324
-#define META_POLYLINE 0x325
-#define META_ESCAPE 0x626
-#define META_RESTOREDC 0x127
-#define META_FILLREGION 0x228
-#define META_FRAMEREGION 0x429
-#define META_INVERTREGION 0x12A
-#define META_PAINTREGION 0x12B
-#define META_SELECTCLIPREGION 0x12C
-#define META_SELECTOBJECT 0x12D
-#define META_SETTEXTALIGN 0x12E
-#define META_CHORD 0x830
-#define META_SETMAPPERFLAGS 0x231
-#define META_EXTTEXTOUT 0xa32
-#define META_SETDIBTODEV 0xd33
-#define META_SELECTPALETTE 0x234
-#define META_REALIZEPALETTE 0x35
-#define META_ANIMATEPALETTE 0x436
-#define META_SETPALENTRIES 0x37
-#define META_POLYPOLYGON 0x538
-#define META_RESIZEPALETTE 0x139
-#define META_DIBBITBLT 0x940
-#define META_DIBSTRETCHBLT 0xb41
-#define META_DIBCREATEPATTERNBRUSH 0x142
-#define META_STRETCHDIB 0xf43
-#define META_EXTFLOODFILL 0x548
-#define META_DELETEOBJECT 0x1f0
-#define META_CREATEPALETTE 0xf7
-#define META_CREATEPATTERNBRUSH 0x1F9
-#define META_CREATEPENINDIRECT 0x2FA
-#define META_CREATEFONTINDIRECT 0x2FB
-#define META_CREATEBRUSHINDIRECT 0x2FC
-#define META_CREATEREGION 0x6FF
-#define PT_MOVETO 6
-#define PT_LINETO 2
-#define PT_BEZIERTO 4
-#define PT_CLOSEFIGURE 1
-#define ELF_VENDOR_SIZE 4
-#define ELF_VERSION 0
-#define ELF_CULTURE_LATIN 0
-#define PFD_TYPE_RGBA 0
-#define PFD_TYPE_COLORINDEX 1
-#define PFD_MAIN_PLANE 0
-#define PFD_OVERLAY_PLANE 1
-#define PFD_UNDERLAY_PLANE (-1)
-#define PFD_DOUBLEBUFFER 1
-#define PFD_STEREO 2
-#define PFD_DRAW_TO_WINDOW 4
-#define PFD_DRAW_TO_BITMAP 8
-#define PFD_SUPPORT_GDI 16
-#define PFD_SUPPORT_OPENGL 32
-#define PFD_GENERIC_FORMAT 64
-#define PFD_NEED_PALETTE 128
-#define PFD_NEED_SYSTEM_PALETTE 0x00000100
-#define PFD_SWAP_EXCHANGE 0x00000200
-#define PFD_SWAP_COPY 0x00000400
-#define PFD_SWAP_LAYER_BUFFERS 0x00000800
-#define PFD_GENERIC_ACCELERATED 0x00001000
-#define PFD_DEPTH_DONTCARE 0x20000000
-#define PFD_DOUBLEBUFFER_DONTCARE 0x40000000
-#define PFD_STEREO_DONTCARE 0x80000000
-#define SP_ERROR (-1)
-#define SP_OUTOFDISK (-4)
-#define SP_OUTOFMEMORY (-5)
-#define SP_USERABORT (-3)
-#define SP_APPABORT (-2)
-#define BLACKNESS 0x42
-#define NOTSRCERASE 0x1100A6
-#define NOTSRCCOPY 0x330008
-#define SRCERASE 0x440328
-#define DSTINVERT 0x550009
-#define PATINVERT 0x5A0049
-#define SRCINVERT 0x660046
-#define SRCAND 0x8800C6
-#define MERGEPAINT 0xBB0226
-#define MERGECOPY 0xC000CA
-#define SRCCOPY 0xCC0020
-#define SRCPAINT 0xEE0086
-#define PATCOPY 0xF00021
-#define PATPAINT 0xFB0A09
-#define WHITENESS 0xFF0062
-#define R2_BLACK 1
-#define R2_COPYPEN 13
-#define R2_MASKNOTPEN 3
-#define R2_MASKPEN 9
-#define R2_MASKPENNOT 5
-#define R2_MERGENOTPEN 12
-#define R2_MERGEPEN 15
-#define R2_MERGEPENNOT 14
-#define R2_NOP 11
-#define R2_NOT 6
-#define R2_NOTCOPYPEN 4
-#define R2_NOTMASKPEN 8
-#define R2_NOTMERGEPEN 2
-#define R2_NOTXORPEN 10
-#define R2_WHITE 16
-#define R2_XORPEN 7
-#define CM_OUT_OF_GAMUT 255
-#define CM_IN_GAMUT 0
-#define RGN_AND 1
-#define RGN_COPY 5
-#define RGN_DIFF 4
-#define RGN_OR 2
-#define RGN_XOR 3
-#define NULLREGION 1
-#define SIMPLEREGION 2
-#define COMPLEXREGION 3
-#define ERROR 0
-#define CBM_INIT 4
-#define DIB_PAL_COLORS 1
-#define DIB_RGB_COLORS 0
-#define FW_DONTCARE 0
-#define FW_THIN 100
-#define FW_EXTRALIGHT 200
-#define FW_ULTRALIGHT FW_EXTRALIGHT
-#define FW_LIGHT 300
-#define FW_NORMAL 400
-#define FW_REGULAR 400
-#define FW_MEDIUM 500
-#define FW_SEMIBOLD 600
-#define FW_DEMIBOLD FW_SEMIBOLD
-#define FW_BOLD 700
-#define FW_EXTRABOLD 800
-#define FW_ULTRABOLD FW_EXTRABOLD
-#define FW_HEAVY 900
-#define FW_BLACK FW_HEAVY
-#define ANSI_CHARSET 0
-#define DEFAULT_CHARSET 1
-#define SYMBOL_CHARSET 2
-#define SHIFTJIS_CHARSET 128
-#define HANGEUL_CHARSET 129
-#define HANGUL_CHARSET 129
-#define GB2312_CHARSET 134
-#define CHINESEBIG5_CHARSET 136
-#define GREEK_CHARSET 161
-#define TURKISH_CHARSET 162
-#define HEBREW_CHARSET 177
-#define ARABIC_CHARSET 178
-#define BALTIC_CHARSET 186
-#define RUSSIAN_CHARSET 204
-#define THAI_CHARSET 222
-#define EASTEUROPE_CHARSET 238
-#define OEM_CHARSET 255
-#define JOHAB_CHARSET 130
-#define VIETNAMESE_CHARSET 163
-#define MAC_CHARSET 77
-#define OUT_DEFAULT_PRECIS 0
-#define OUT_STRING_PRECIS 1
-#define OUT_CHARACTER_PRECIS 2
-#define OUT_STROKE_PRECIS 3
-#define OUT_TT_PRECIS 4
-#define OUT_DEVICE_PRECIS 5
-#define OUT_RASTER_PRECIS 6
-#define OUT_TT_ONLY_PRECIS 7
-#define OUT_OUTLINE_PRECIS 8
-#define CLIP_DEFAULT_PRECIS 0
-#define CLIP_CHARACTER_PRECIS 1
-#define CLIP_STROKE_PRECIS 2
-#define CLIP_MASK 15
-#define CLIP_LH_ANGLES 16
-#define CLIP_TT_ALWAYS 32
-#define CLIP_EMBEDDED 128
-#define DEFAULT_QUALITY 0
-#define DRAFT_QUALITY 1
-#define PROOF_QUALITY 2
-#define NONANTIALIASED_QUALITY 3
-#define ANTIALIASED_QUALITY 4
-#define DEFAULT_PITCH 0
-#define FIXED_PITCH 1
-#define VARIABLE_PITCH 2
-#define MONO_FONT 8
-#define FF_DECORATIVE 80
-#define FF_DONTCARE 0
-#define FF_MODERN 48
-#define FF_ROMAN 16
-#define FF_SCRIPT 64
-#define FF_SWISS 32
-#define PANOSE_COUNT 10
-#define PAN_FAMILYTYPE_INDEX 0
-#define PAN_SERIFSTYLE_INDEX 1
-#define PAN_WEIGHT_INDEX 2
-#define PAN_PROPORTION_INDEX 3
-#define PAN_CONTRAST_INDEX 4
-#define PAN_STROKEVARIATION_INDEX 5
-#define PAN_ARMSTYLE_INDEX 6
-#define PAN_LETTERFORM_INDEX 7
-#define PAN_MIDLINE_INDEX 8
-#define PAN_XHEIGHT_INDEX 9
-#define PAN_CULTURE_LATIN 0
-#define PAN_ANY 0
-#define PAN_NO_FIT 1
-#define PAN_FAMILY_TEXT_DISPLAY 2
-#define PAN_FAMILY_SCRIPT 3
-#define PAN_FAMILY_DECORATIVE 4
-#define PAN_FAMILY_PICTORIAL 5
-#define PAN_SERIF_COVE 2
-#define PAN_SERIF_OBTUSE_COVE 3
-#define PAN_SERIF_SQUARE_COVE 4
-#define PAN_SERIF_OBTUSE_SQUARE_COVE 5
-#define PAN_SERIF_SQUARE 6
-#define PAN_SERIF_THIN 7
-#define PAN_SERIF_BONE 8
-#define PAN_SERIF_EXAGGERATED 9
-#define PAN_SERIF_TRIANGLE 10
-#define PAN_SERIF_NORMAL_SANS 11
-#define PAN_SERIF_OBTUSE_SANS 12
-#define PAN_SERIF_PERP_SANS 13
-#define PAN_SERIF_FLARED 14
-#define PAN_SERIF_ROUNDED 15
-#define PAN_WEIGHT_VERY_LIGHT 2
-#define PAN_WEIGHT_LIGHT 3
-#define PAN_WEIGHT_THIN 4
-#define PAN_WEIGHT_BOOK 5
-#define PAN_WEIGHT_MEDIUM 6
-#define PAN_WEIGHT_DEMI 7
-#define PAN_WEIGHT_BOLD 8
-#define PAN_WEIGHT_HEAVY 9
-#define PAN_WEIGHT_BLACK 10
-#define PAN_WEIGHT_NORD 11
-#define PAN_PROP_OLD_STYLE 2
-#define PAN_PROP_MODERN 3
-#define PAN_PROP_EVEN_WIDTH 4
-#define PAN_PROP_EXPANDED 5
-#define PAN_PROP_CONDENSED 6
-#define PAN_PROP_VERY_EXPANDED 7
-#define PAN_PROP_VERY_CONDENSED 8
-#define PAN_PROP_MONOSPACED 9
-#define PAN_CONTRAST_NONE 2
-#define PAN_CONTRAST_VERY_LOW 3
-#define PAN_CONTRAST_LOW 4
-#define PAN_CONTRAST_MEDIUM_LOW 5
-#define PAN_CONTRAST_MEDIUM 6
-#define PAN_CONTRAST_MEDIUM_HIGH 7
-#define PAN_CONTRAST_HIGH 8
-#define PAN_CONTRAST_VERY_HIGH 9
-#define PAN_STROKE_GRADUAL_DIAG 2
-#define PAN_STROKE_GRADUAL_TRAN 3
-#define PAN_STROKE_GRADUAL_VERT 4
-#define PAN_STROKE_GRADUAL_HORZ 5
-#define PAN_STROKE_RAPID_VERT 6
-#define PAN_STROKE_RAPID_HORZ 7
-#define PAN_STROKE_INSTANT_VERT 8
-#define PAN_STRAIGHT_ARMS_HORZ 2
-#define PAN_STRAIGHT_ARMS_WEDGE 3
-#define PAN_STRAIGHT_ARMS_VERT 4
-#define PAN_STRAIGHT_ARMS_SINGLE_SERIF 5
-#define PAN_STRAIGHT_ARMS_DOUBLE_SERIF 6
-#define PAN_BENT_ARMS_HORZ 7
-#define PAN_BENT_ARMS_WEDGE 8
-#define PAN_BENT_ARMS_VERT 9
-#define PAN_BENT_ARMS_SINGLE_SERIF 10
-#define PAN_BENT_ARMS_DOUBLE_SERIF 11
-#define PAN_LETT_NORMAL_CONTACT 2
-#define PAN_LETT_NORMAL_WEIGHTED 3
-#define PAN_LETT_NORMAL_BOXED 4
-#define PAN_LETT_NORMAL_FLATTENED 5
-#define PAN_LETT_NORMAL_ROUNDED 6
-#define PAN_LETT_NORMAL_OFF_CENTER 7
-#define PAN_LETT_NORMAL_SQUARE 8
-#define PAN_LETT_OBLIQUE_CONTACT 9
-#define PAN_LETT_OBLIQUE_WEIGHTED 10
-#define PAN_LETT_OBLIQUE_BOXED 11
-#define PAN_LETT_OBLIQUE_FLATTENED 12
-#define PAN_LETT_OBLIQUE_ROUNDED 13
-#define PAN_LETT_OBLIQUE_OFF_CENTER 14
-#define PAN_LETT_OBLIQUE_SQUARE 15
-#define PAN_MIDLINE_STANDARD_TRIMMED 2
-#define PAN_MIDLINE_STANDARD_POINTED 3
-#define PAN_MIDLINE_STANDARD_SERIFED 4
-#define PAN_MIDLINE_HIGH_TRIMMED 5
-#define PAN_MIDLINE_HIGH_POINTED 6
-#define PAN_MIDLINE_HIGH_SERIFED 7
-#define PAN_MIDLINE_CONSTANT_TRIMMED 8
-#define PAN_MIDLINE_CONSTANT_POINTED 9
-#define PAN_MIDLINE_CONSTANT_SERIFED 10
-#define PAN_MIDLINE_LOW_TRIMMED 11
-#define PAN_MIDLINE_LOW_POINTED 12
-#define PAN_MIDLINE_LOW_SERIFED 13
-#define PAN_XHEIGHT_CONSTANT_SMALL 2
-#define PAN_XHEIGHT_CONSTANT_STD 3
-#define PAN_XHEIGHT_CONSTANT_LARGE 4
-#define PAN_XHEIGHT_DUCKING_SMALL 5
-#define PAN_XHEIGHT_DUCKING_STD 6
-#define PAN_XHEIGHT_DUCKING_LARGE 7
-#define FS_LATIN1 1
-#define FS_LATIN2 2
-#define FS_CYRILLIC 4
-#define FS_GREEK 8
-#define FS_TURKISH 16
-#define FS_HEBREW 32
-#define FS_ARABIC 64
-#define FS_BALTIC 128
-#define FS_THAI 0x10000
-#define FS_JISJAPAN 0x20000
-#define FS_CHINESESIMP 0x40000
-#define FS_WANSUNG 0x80000
-#define FS_CHINESETRAD 0x100000
-#define FS_JOHAB 0x200000
-#define FS_SYMBOL 0x80000000
-#define HS_BDIAGONAL 3
-#define HS_CROSS 4
-#define HS_DIAGCROSS 5
-#define HS_FDIAGONAL 2
-#define HS_HORIZONTAL 0
-#define HS_VERTICAL 1
-#define PS_GEOMETRIC 65536
-#define PS_COSMETIC 0
-#define PS_ALTERNATE 8
-#define PS_SOLID 0
-#define PS_DASH 1
-#define PS_DOT 2
-#define PS_DASHDOT 3
-#define PS_DASHDOTDOT 4
-#define PS_NULL 5
-#define PS_USERSTYLE 7
-#define PS_INSIDEFRAME 6
-#define PS_ENDCAP_ROUND 0
-#define PS_ENDCAP_SQUARE 256
-#define PS_ENDCAP_FLAT 512
-#define PS_JOIN_BEVEL 4096
-#define PS_JOIN_MITER 8192
-#define PS_JOIN_ROUND 0
-#define PS_STYLE_MASK 15
-#define PS_ENDCAP_MASK 3840
-#define PS_TYPE_MASK 983040
-#define ALTERNATE 1
-#define WINDING 2
-#define DC_BINNAMES 12
-#define DC_BINS 6
-#define DC_COPIES 18
-#define DC_DRIVER 11
-#define DC_DATATYPE_PRODUCED 21
-#define DC_DUPLEX 7
-#define DC_EMF_COMPLIANT 20
-#define DC_ENUMRESOLUTIONS 13
-#define DC_EXTRA 9
-#define DC_FIELDS 1
-#define DC_FILEDEPENDENCIES 14
-#define DC_MAXEXTENT 5
-#define DC_MINEXTENT 4
-#define DC_ORIENTATION 17
-#define DC_PAPERNAMES 16
-#define DC_PAPERS 2
-#define DC_PAPERSIZE 3
-#define DC_SIZE 8
-#define DC_TRUETYPE 15
-#define DCTT_BITMAP 1
-#define DCTT_DOWNLOAD 2
-#define DCTT_SUBDEV 4
-#define DCTT_DOWNLOAD_OUTLINE 8
-#define DC_VERSION 10
-#define DC_BINADJUST 19
-#define DC_EMF_COMPLIANT 20
-#define DC_DATATYPE_PRODUCED 21
-#define DC_MANUFACTURER 23
-#define DC_MODEL 24
-#define DCBA_FACEUPNONE 0
-#define DCBA_FACEUPCENTER 1
-#define DCBA_FACEUPLEFT 2
-#define DCBA_FACEUPRIGHT 3
-#define DCBA_FACEDOWNNONE 256
-#define DCBA_FACEDOWNCENTER 257
-#define DCBA_FACEDOWNLEFT 258
-#define DCBA_FACEDOWNRIGHT 259
-#define FLOODFILLBORDER 0
-#define FLOODFILLSURFACE 1
-#define ETO_CLIPPED 4
-#define ETO_GLYPH_INDEX 16
-#define ETO_OPAQUE 2
-#define ETO_RTLREADING 128
-#define GDICOMMENT_WINDOWS_METAFILE (-2147483647)
-#define GDICOMMENT_BEGINGROUP 2
-#define GDICOMMENT_ENDGROUP 3
-#define GDICOMMENT_MULTIFORMATS 1073741828
-#define GDICOMMENT_IDENTIFIER 1128875079
-#define AD_COUNTERCLOCKWISE 1
-#define AD_CLOCKWISE 2
-#define RDH_RECTANGLES 1
-#define GCPCLASS_LATIN 1
-#define GCPCLASS_HEBREW 2
-#define GCPCLASS_ARABIC 2
-#define GCPCLASS_NEUTRAL 3
-#define GCPCLASS_LOCALNUMBER 4
-#define GCPCLASS_LATINNUMBER 5
-#define GCPCLASS_LATINNUMERICTERMINATOR 6
-#define GCPCLASS_LATINNUMERICSEPARATOR 7
-#define GCPCLASS_NUMERICSEPARATOR 8
-#define GCPCLASS_PREBOUNDLTR 128
-#define GCPCLASS_PREBOUNDRTL 64
-#define GCPCLASS_POSTBOUNDLTR 32
-#define GCPCLASS_POSTBOUNDRTL 16
-#define GCPGLYPH_LINKBEFORE 0x8000
-#define GCPGLYPH_LINKAFTER 0x4000
-#define DCB_DISABLE 8
-#define DCB_ENABLE 4
-#define DCB_RESET 1
-#define DCB_SET 3
-#define DCB_ACCUMULATE 2
-#define DCB_DIRTY 2
-#define OBJ_BRUSH 2
-#define OBJ_PEN 1
-#define OBJ_PAL 5
-#define OBJ_FONT 6
-#define OBJ_BITMAP 7
-#define OBJ_EXTPEN 11
-#define OBJ_REGION 8
-#define OBJ_DC 3
-#define OBJ_MEMDC 10
-#define OBJ_METAFILE 9
-#define OBJ_METADC 4
-#define OBJ_ENHMETAFILE 13
-#define OBJ_ENHMETADC 12
-#define DRIVERVERSION 0
-#define TECHNOLOGY 2
-#define DT_PLOTTER 0
-#define DT_RASDISPLAY 1
-#define DT_RASPRINTER 2
-#define DT_RASCAMERA 3
-#define DT_CHARSTREAM 4
-#define DT_METAFILE 5
-#define DT_DISPFILE 6
-#define HORZSIZE 4
-#define VERTSIZE 6
-#define HORZRES 8
-#define VERTRES 10
-#define LOGPIXELSX 88
-#define LOGPIXELSY 90
-#define BITSPIXEL 12
-#define PLANES 14
-#define NUMBRUSHES 16
-#define NUMPENS 18
-#define NUMFONTS 22
-#define NUMCOLORS 24
-#define NUMMARKERS 20
-#define ASPECTX 40
-#define ASPECTY 42
-#define ASPECTXY 44
-#define PDEVICESIZE 26
-#define CLIPCAPS 36
-#define SIZEPALETTE 104
-#define NUMRESERVED 106
-#define COLORRES 108
-#define PHYSICALWIDTH 110
-#define PHYSICALHEIGHT 111
-#define PHYSICALOFFSETX 112
-#define PHYSICALOFFSETY 113
-#define SCALINGFACTORX 114
-#define SCALINGFACTORY 115
-#define VREFRESH 116
-#define DESKTOPHORZRES 118
-#define DESKTOPVERTRES 117
-#define BLTALIGNMENT 119
-#if(WINVER >= 0x0500)
-#define SHADEBLENDCAPS 120
-#define SB_NONE 0x00
-#define SB_CONST_ALPHA 0x01
-#define SB_PIXEL_ALPHA 0x02
-#define SB_PREMULT_ALPHA 0x04
-#define SB_GRAD_RECT 0x10
-#define SB_GRAD_TRI 0x20
-#define COLORMGMTCAPS 121
-#define CM_NONE 0x00
-#define CM_DEVICE_ICM 0x01
-#define CM_GAMMA_RAMP 0x02
-#define CM_CMYK_COLOR 0x04
-#endif
-#define RASTERCAPS 38
-#define RC_BANDING 2
-#define RC_BITBLT 1
-#define RC_BITMAP64 8
-#define RC_DI_BITMAP 128
-#define RC_DIBTODEV 512
-#define RC_FLOODFILL 4096
-#define RC_GDI20_OUTPUT 16
-#define RC_PALETTE 256
-#define RC_SCALING 4
-#define RC_STRETCHBLT 2048
-#define RC_STRETCHDIB 8192
-#define RC_DEVBITS 0x8000
-#define RC_OP_DX_OUTPUT 0x4000
-#define CURVECAPS 28
-#define CC_NONE 0
-#define CC_CIRCLES 1
-#define CC_PIE 2
-#define CC_CHORD 4
-#define CC_ELLIPSES 8
-#define CC_WIDE 16
-#define CC_STYLED 32
-#define CC_WIDESTYLED 64
-#define CC_INTERIORS 128
-#define CC_ROUNDRECT 256
-#define LINECAPS 30
-#define LC_NONE 0
-#define LC_POLYLINE 2
-#define LC_MARKER 4
-#define LC_POLYMARKER 8
-#define LC_WIDE 16
-#define LC_STYLED 32
-#define LC_WIDESTYLED 64
-#define LC_INTERIORS 128
-#define POLYGONALCAPS 32
-#define RC_BANDING 2
-#define RC_BIGFONT 1024
-#define RC_BITBLT 1
-#define RC_BITMAP64 8
-#define RC_DEVBITS 0x8000
-#define RC_DI_BITMAP 128
-#define RC_GDI20_OUTPUT 16
-#define RC_GDI20_STATE 32
-#define RC_NONE 0
-#define RC_OP_DX_OUTPUT 0x4000
-#define RC_PALETTE 256
-#define RC_SAVEBITMAP 64
-#define RC_SCALING 4
-#define PC_NONE 0
-#define PC_POLYGON 1
-#define PC_POLYPOLYGON 256
-#define PC_PATHS 512
-#define PC_RECTANGLE 2
-#define PC_WINDPOLYGON 4
-#define PC_SCANLINE 8
-#define PC_TRAPEZOID 4
-#define PC_WIDE 16
-#define PC_STYLED 32
-#define PC_WIDESTYLED 64
-#define PC_INTERIORS 128
-#define PC_PATHS 512
-#define TEXTCAPS 34
-#define TC_OP_CHARACTER 1
-#define TC_OP_STROKE 2
-#define TC_CP_STROKE 4
-#define TC_CR_90 8
-#define TC_CR_ANY 16
-#define TC_SF_X_YINDEP 32
-#define TC_SA_DOUBLE 64
-#define TC_SA_INTEGER 128
-#define TC_SA_CONTIN 256
-#define TC_EA_DOUBLE 512
-#define TC_IA_ABLE 1024
-#define TC_UA_ABLE 2048
-#define TC_SO_ABLE 4096
-#define TC_RA_ABLE 8192
-#define TC_VA_ABLE 16384
-#define TC_RESERVED 32768
-#define TC_SCROLLBLT 65536
-#define GCP_DBCS 1
-#define GCP_ERROR 0x8000
-#define GCP_CLASSIN 0x80000
-#define GCP_DIACRITIC 256
-#define GCP_DISPLAYZWG 0x400000
-#define GCP_GLYPHSHAPE 16
-#define GCP_JUSTIFY 0x10000
-#define GCP_JUSTIFYIN 0x200000
-#define GCP_KASHIDA 1024
-#define GCP_LIGATE 32
-#define GCP_MAXEXTENT 0x100000
-#define GCP_NEUTRALOVERRIDE 0x2000000
-#define GCP_NUMERICOVERRIDE 0x1000000
-#define GCP_NUMERICSLATIN 0x4000000
-#define GCP_NUMERICSLOCAL 0x8000000
-#define GCP_REORDER 2
-#define GCP_SYMSWAPOFF 0x800000
-#define GCP_USEKERNING 8
-#define FLI_GLYPHS 0x40000
-#define FLI_MASK 0x103b
-#define GGO_METRICS 0
-#define GGO_BITMAP 1
-#define GGO_NATIVE 2
-#define GGO_BEZIER 3
-#define GGO_GRAY2_BITMAP 4
-#define GGO_GRAY4_BITMAP 5
-#define GGO_GRAY8_BITMAP 6
-#define GGO_GLYPH_INDEX 128
-#define GGO_UNHINTED 256
-#define GM_COMPATIBLE 1
-#define GM_ADVANCED 2
-#define MM_ANISOTROPIC 8
-#define MM_HIENGLISH 5
-#define MM_HIMETRIC 3
-#define MM_ISOTROPIC 7
-#define MM_LOENGLISH 4
-#define MM_LOMETRIC 2
-#define MM_TEXT 1
-#define MM_TWIPS 6
-#define MM_MAX_FIXEDSCALE MM_TWIPS
-#define ABSOLUTE 1
-#define RELATIVE 2
-#define PC_EXPLICIT 2
-#define PC_NOCOLLAPSE 4
-#define PC_RESERVED 1
-#define CLR_NONE 0xffffffff
-#define CLR_INVALID CLR_NONE
-#define CLR_DEFAULT 0xff000000
-#define PT_MOVETO 6
-#define PT_LINETO 2
-#define PT_BEZIERTO 4
-#define PT_CLOSEFIGURE 1
-#define TT_AVAILABLE 1
-#define TT_ENABLED 2
-#define BLACK_BRUSH 4
-#define DKGRAY_BRUSH 3
-#define GRAY_BRUSH 2
-#define HOLLOW_BRUSH 5
-#define LTGRAY_BRUSH 1
-#define NULL_BRUSH 5
-#define WHITE_BRUSH 0
-#define BLACK_PEN 7
-#define NULL_PEN 8
-#define WHITE_PEN 6
-#define ANSI_FIXED_FONT 11
-#define ANSI_VAR_FONT 12
-#define DEVICE_DEFAULT_FONT 14
-#define DEFAULT_GUI_FONT 17
-#define OEM_FIXED_FONT 10
-#define SYSTEM_FONT 13
-#define SYSTEM_FIXED_FONT 16
-#define DEFAULT_PALETTE 15
-#if (_WIN32_WINNT >= 0x0500)
-#define DC_BRUSH 18
-#define DC_PEN 19
-#endif
-#define SYSPAL_ERROR 0
-#define SYSPAL_STATIC 1
-#define SYSPAL_NOSTATIC 2
-#define SYSPAL_NOSTATIC256 3
-#define TA_BASELINE 24
-#define TA_BOTTOM 8
-#define TA_TOP 0
-#define TA_CENTER 6
-#define TA_LEFT 0
-#define TA_RIGHT 2
-#define TA_RTLREADING 256
-#define TA_NOUPDATECP 0
-#define TA_UPDATECP 1
-#define TA_MASK (TA_BASELINE+TA_CENTER+TA_UPDATECP+TA_RTLREADING)
-#define VTA_BASELINE 24
-#define VTA_CENTER 6
-#define VTA_LEFT TA_BOTTOM
-#define VTA_RIGHT TA_TOP
-#define VTA_BOTTOM TA_RIGHT
-#define VTA_TOP TA_LEFT
-#define MWT_IDENTITY 1
-#define MWT_LEFTMULTIPLY 2
-#define MWT_RIGHTMULTIPLY 3
-#define OPAQUE 2
-#define TRANSPARENT 1
-#define BLACKONWHITE 1
-#define WHITEONBLACK 2
-#define COLORONCOLOR 3
-#define HALFTONE 4
-#define MAXSTRETCHBLTMODE 4
-#define STRETCH_ANDSCANS 1
-#define STRETCH_DELETESCANS 3
-#define STRETCH_HALFTONE 4
-#define STRETCH_ORSCANS 2
-#define TCI_SRCCHARSET 1
-#define TCI_SRCCODEPAGE 2
-#define TCI_SRCFONTSIG 3
-#define ICM_ON 2
-#define ICM_OFF 1
-#define ICM_QUERY 3
-#define NEWFRAME 1
-#define ABORTDOC 2
-#define NEXTBAND 3
-#define SETCOLORTABLE 4
-#define GETCOLORTABLE 5
-#define FLUSHOUTPUT 6
-#define DRAFTMODE 7
-#define QUERYESCSUPPORT 8
-#define SETABORTPROC 9
-#define STARTDOC 10
-#define ENDDOC 11
-#define GETPHYSPAGESIZE 12
-#define GETPRINTINGOFFSET 13
-#define GETSCALINGFACTOR 14
-#define MFCOMMENT 15
-#define GETPENWIDTH 16
-#define SETCOPYCOUNT 17
-#define SELECTPAPERSOURCE 18
-#define DEVICEDATA 19
-#define PASSTHROUGH 19
-#define GETTECHNOLGY 20
-#define GETTECHNOLOGY 20
-#define SETLINECAP 21
-#define SETLINEJOIN 22
-#define SETMITERLIMIT 23
-#define BANDINFO 24
-#define DRAWPATTERNRECT 25
-#define GETVECTORPENSIZE 26
-#define GETVECTORBRUSHSIZE 27
-#define ENABLEDUPLEX 28
-#define GETSETPAPERBINS 29
-#define GETSETPRINTORIENT 30
-#define ENUMPAPERBINS 31
-#define SETDIBSCALING 32
-#define EPSPRINTING 33
-#define ENUMPAPERMETRICS 34
-#define GETSETPAPERMETRICS 35
-#define POSTSCRIPT_DATA 37
-#define POSTSCRIPT_IGNORE 38
-#define MOUSETRAILS 39
-#define GETDEVICEUNITS 42
-#define GETEXTENDEDTEXTMETRICS 256
-#define GETEXTENTTABLE 257
-#define GETPAIRKERNTABLE 258
-#define GETTRACKKERNTABLE 259
-#define EXTTEXTOUT 512
-#define GETFACENAME 513
-#define DOWNLOADFACE 514
-#define ENABLERELATIVEWIDTHS 768
-#define ENABLEPAIRKERNING 769
-#define SETKERNTRACK 770
-#define SETALLJUSTVALUES 771
-#define SETCHARSET 772
-#define STRETCHBLT 2048
-#define GETSETSCREENPARAMS 3072
-#define QUERYDIBSUPPORT 3073
-#define BEGIN_PATH 4096
-#define CLIP_TO_PATH 4097
-#define END_PATH 4098
-#define EXT_DEVICE_CAPS 4099
-#define RESTORE_CTM 4100
-#define SAVE_CTM 4101
-#define SET_ARC_DIRECTION 4102
-#define SET_BACKGROUND_COLOR 4103
-#define SET_POLY_MODE 4104
-#define SET_SCREEN_ANGLE 4105
-#define SET_SPREAD 4106
-#define TRANSFORM_CTM 4107
-#define SET_CLIP_BOX 4108
-#define SET_BOUNDS 4109
-#define SET_MIRROR_MODE 4110
-#define OPENCHANNEL 4110
-#define DOWNLOADHEADER 4111
-#define CLOSECHANNEL 4112
-#define POSTSCRIPT_PASSTHROUGH 4115
-#define ENCAPSULATED_POSTSCRIPT 4116
-#define QDI_SETDIBITS 1
-#define QDI_GETDIBITS 2
-#define QDI_DIBTOSCREEN 4
-#define QDI_STRETCHDIB 8
-#define SP_NOTREPORTED 0x4000
-#define PR_JOBSTATUS 0
-#define ASPECT_FILTERING 1
-#define BS_SOLID 0
-#define BS_NULL 1
-#define BS_HOLLOW 1
-#define BS_HATCHED 2
-#define BS_PATTERN 3
-#define BS_INDEXED 4
-#define BS_DIBPATTERN 5
-#define BS_DIBPATTERNPT 6
-#define BS_PATTERN8X8 7
-#define BS_DIBPATTERN8X8 8
-#define LCS_CALIBRATED_RGB 0
-#define LCS_DEVICE_RGB 1
-#define LCS_DEVICE_CMYK 2
-#define LCS_GM_BUSINESS 1
-#define LCS_GM_GRAPHICS 2
-#define LCS_GM_IMAGES 4
-#define RASTER_FONTTYPE 1
-#define DEVICE_FONTTYPE 2
-#define TRUETYPE_FONTTYPE 4
-#define DMORIENT_PORTRAIT 1
-#define DMORIENT_LANDSCAPE 2
-#define DMPAPER_FIRST 1
-#define DMPAPER_LETTER 1
-#define DMPAPER_LETTERSMALL 2
-#define DMPAPER_TABLOID 3
-#define DMPAPER_LEDGER 4
-#define DMPAPER_LEGAL 5
-#define DMPAPER_STATEMENT 6
-#define DMPAPER_EXECUTIVE 7
-#define DMPAPER_A3 8
-#define DMPAPER_A4 9
-#define DMPAPER_A4SMALL 10
-#define DMPAPER_A5 11
-#define DMPAPER_B4 12
-#define DMPAPER_B5 13
-#define DMPAPER_FOLIO 14
-#define DMPAPER_QUARTO 15
-#define DMPAPER_10X14 16
-#define DMPAPER_11X17 17
-#define DMPAPER_NOTE 18
-#define DMPAPER_ENV_9 19
-#define DMPAPER_ENV_10 20
-#define DMPAPER_ENV_11 21
-#define DMPAPER_ENV_12 22
-#define DMPAPER_ENV_14 23
-#define DMPAPER_CSHEET 24
-#define DMPAPER_DSHEET 25
-#define DMPAPER_ESHEET 26
-#define DMPAPER_ENV_DL 27
-#define DMPAPER_ENV_C5 28
-#define DMPAPER_ENV_C3 29
-#define DMPAPER_ENV_C4 30
-#define DMPAPER_ENV_C6 31
-#define DMPAPER_ENV_C65 32
-#define DMPAPER_ENV_B4 33
-#define DMPAPER_ENV_B5 34
-#define DMPAPER_ENV_B6 35
-#define DMPAPER_ENV_ITALY 36
-#define DMPAPER_ENV_MONARCH 37
-#define DMPAPER_ENV_PERSONAL 38
-#define DMPAPER_FANFOLD_US 39
-#define DMPAPER_FANFOLD_STD_GERMAN 40
-#define DMPAPER_FANFOLD_LGL_GERMAN 41
-#define DMPAPER_ISO_B4 42
-#define DMPAPER_JAPANESE_POSTCARD 43
-#define DMPAPER_9X11 44
-#define DMPAPER_10X11 45
-#define DMPAPER_15X11 46
-#define DMPAPER_ENV_INVITE 47
-#define DMPAPER_RESERVED_48 48
-#define DMPAPER_RESERVED_49 49
-#define DMPAPER_LETTER_EXTRA 50
-#define DMPAPER_LEGAL_EXTRA 51
-#define DMPAPER_TABLOID_EXTRA 52
-#define DMPAPER_A4_EXTRA 53
-#define DMPAPER_LETTER_TRANSVERSE 54
-#define DMPAPER_A4_TRANSVERSE 55
-#define DMPAPER_LETTER_EXTRA_TRANSVERSE 56
-#define DMPAPER_A_PLUS 57
-#define DMPAPER_B_PLUS 58
-#define DMPAPER_LETTER_PLUS 59
-#define DMPAPER_A4_PLUS 60
-#define DMPAPER_A5_TRANSVERSE 61
-#define DMPAPER_B5_TRANSVERSE 62
-#define DMPAPER_A3_EXTRA 63
-#define DMPAPER_A5_EXTRA 64
-#define DMPAPER_B5_EXTRA 65
-#define DMPAPER_A2 66
-#define DMPAPER_A3_TRANSVERSE 67
-#define DMPAPER_A3_EXTRA_TRANSVERSE 68
-#define DMPAPER_LAST 68
-#define DMPAPER_USER 256
-#define DMBIN_FIRST 1
-#define DMBIN_UPPER 1
-#define DMBIN_ONLYONE 1
-#define DMBIN_LOWER 2
-#define DMBIN_MIDDLE 3
-#define DMBIN_MANUAL 4
-#define DMBIN_ENVELOPE 5
-#define DMBIN_ENVMANUAL 6
-#define DMBIN_AUTO 7
-#define DMBIN_TRACTOR 8
-#define DMBIN_SMALLFMT 9
-#define DMBIN_LARGEFMT 10
-#define DMBIN_LARGECAPACITY 11
-#define DMBIN_CASSETTE 14
-#define DMBIN_FORMSOURCE 15
-#define DMBIN_LAST 15
-#define DMBIN_USER 256
-#define DMRES_DRAFT (-1)
-#define DMRES_LOW (-2)
-#define DMRES_MEDIUM (-3)
-#define DMRES_HIGH (-4)
-#define DMCOLOR_MONOCHROME 1
-#define DMCOLOR_COLOR 2
-#define DMDUP_SIMPLEX 1
-#define DMDUP_VERTICAL 2
-#define DMDUP_HORIZONTAL 3
-#define DMTT_BITMAP 1
-#define DMTT_DOWNLOAD 2
-#define DMTT_SUBDEV 3
-#define DMTT_DOWNLOAD_OUTLINE 4
-#define DMCOLLATE_FALSE 0
-#define DMCOLLATE_TRUE 1
-#define DM_SPECVERSION 800
-#define DM_GRAYSCALE 1
-#define DM_INTERLACED 2
-#define DM_UPDATE 1
-#define DM_COPY 2
-#define DM_PROMPT 4
-#define DM_MODIFY 8
-#define DM_IN_BUFFER DM_MODIFY
-#define DM_IN_PROMPT DM_PROMPT
-#define DM_OUT_BUFFER DM_COPY
-#define DM_OUT_DEFAULT DM_UPDATE
-#define DM_ORIENTATION 1
-#define DM_PAPERSIZE 2
-#define DM_PAPERLENGTH 4
-#define DM_PAPERWIDTH 8
-#define DM_SCALE 16
-#define DM_COPIES 256
-#define DM_DEFAULTSOURCE 512
-#define DM_PRINTQUALITY 1024
-#define DM_COLOR 2048
-#define DM_DUPLEX 4096
-#define DM_YRESOLUTION 8192
-#define DM_TTOPTION 16384
-#define DM_COLLATE 32768
-#define DM_FORMNAME 65536
-#define DM_LOGPIXELS 0x20000
-#define DM_BITSPERPEL 0x40000
-#define DM_PELSWIDTH 0x80000
-#define DM_PELSHEIGHT 0x100000
-#define DM_DISPLAYFLAGS 0x200000
-#define DM_DISPLAYFREQUENCY 0x400000
-#define DM_ICMMETHOD 0x800000
-#define DM_ICMINTENT 0x1000000
-#define DM_MEDIATYPE 0x2000000
-#define DM_DITHERTYPE 0x4000000
-#define DMICMMETHOD_NONE 1
-#define DMICMMETHOD_SYSTEM 2
-#define DMICMMETHOD_DRIVER 3
-#define DMICMMETHOD_DEVICE 4
-#define DMICMMETHOD_USER 256
-#define DMICM_SATURATE 1
-#define DMICM_CONTRAST 2
-#define DMICM_COLORMETRIC 3
-#define DMICM_USER 256
-#define DMMEDIA_STANDARD 1
-#define DMMEDIA_TRANSPARENCY 2
-#define DMMEDIA_GLOSSY 3
-#define DMMEDIA_USER 256
-#define DMDITHER_NONE 1
-#define DMDITHER_COARSE 2
-#define DMDITHER_FINE 3
-#define DMDITHER_LINEART 4
-#define DMDITHER_ERRORDIFFUSION 5
-#define DMDITHER_RESERVED6 6
-#define DMDITHER_RESERVED7 7
-#define DMDITHER_RESERVED8 8
-#define DMDITHER_RESERVED9 9
-#define DMDITHER_GRAYSCALE 10
-#define DMDITHER_USER 256
-#define GDI_ERROR 0xFFFFFFFF
-#define HGDI_ERROR ((HANDLE)GDI_ERROR)
-#define TMPF_FIXED_PITCH 1
-#define TMPF_VECTOR 2
-#define TMPF_TRUETYPE 4
-#define TMPF_DEVICE 8
-#define NTM_ITALIC 1
-#define NTM_BOLD 32
-#define NTM_REGULAR 64
-#define TT_POLYGON_TYPE 24
-#define TT_PRIM_LINE 1
-#define TT_PRIM_QSPLINE 2
-#define TT_PRIM_CSPLINE 3
-#define FONTMAPPER_MAX 10
-#define ENHMETA_STOCK_OBJECT 0x80000000
-#define WGL_FONT_LINES 0
-#define WGL_FONT_POLYGONS 1
-#define LPD_DOUBLEBUFFER 1
-#define LPD_STEREO 2
-#define LPD_SUPPORT_GDI 16
-#define LPD_SUPPORT_OPENGL 32
-#define LPD_SHARE_DEPTH 64
-#define LPD_SHARE_STENCIL 128
-#define LPD_SHARE_ACCUM 256
-#define LPD_SWAP_EXCHANGE 512
-#define LPD_SWAP_COPY 1024
-#define LPD_TRANSPARENT 4096
-#define LPD_TYPE_RGBA 0
-#define LPD_TYPE_COLORINDEX 1
-#define WGL_SWAP_MAIN_PLANE 1
-#define WGL_SWAP_OVERLAY1 2
-#define WGL_SWAP_OVERLAY2 4
-#define WGL_SWAP_OVERLAY3 8
-#define WGL_SWAP_OVERLAY4 16
-#define WGL_SWAP_OVERLAY5 32
-#define WGL_SWAP_OVERLAY6 64
-#define WGL_SWAP_OVERLAY7 128
-#define WGL_SWAP_OVERLAY8 256
-#define WGL_SWAP_OVERLAY9 512
-#define WGL_SWAP_OVERLAY10 1024
-#define WGL_SWAP_OVERLAY11 2048
-#define WGL_SWAP_OVERLAY12 4096
-#define WGL_SWAP_OVERLAY13 8192
-#define WGL_SWAP_OVERLAY14 16384
-#define WGL_SWAP_OVERLAY15 32768
-#define WGL_SWAP_UNDERLAY1 65536
-#define WGL_SWAP_UNDERLAY2 0x20000
-#define WGL_SWAP_UNDERLAY3 0x40000
-#define WGL_SWAP_UNDERLAY4 0x80000
-#define WGL_SWAP_UNDERLAY5 0x100000
-#define WGL_SWAP_UNDERLAY6 0x200000
-#define WGL_SWAP_UNDERLAY7 0x400000
-#define WGL_SWAP_UNDERLAY8 0x800000
-#define WGL_SWAP_UNDERLAY9 0x1000000
-#define WGL_SWAP_UNDERLAY10 0x2000000
-#define WGL_SWAP_UNDERLAY11 0x4000000
-#define WGL_SWAP_UNDERLAY12 0x8000000
-#define WGL_SWAP_UNDERLAY13 0x10000000
-#define WGL_SWAP_UNDERLAY14 0x20000000
-#define WGL_SWAP_UNDERLAY15 0x40000000
-#define AC_SRC_OVER 0x00
-#define AC_SRC_ALPHA 0x01
-#define AC_SRC_NO_PREMULT_ALPHA 0x01
-#define AC_SRC_NO_ALPHA 0x02
-#define AC_DST_NO_PREMULT_ALPHA 0x10
-#define AC_DST_NO_ALPHA 0x20
-#define LAYOUT_RTL 1
-#define LAYOUT_BITMAPORIENTATIONPRESERVED 8
-#if (WINVER > 0x400)
-#define CS_ENABLE 0x00000001
-#define CS_DISABLE 0x00000002
-#define CS_DELETE_TRANSFORM 0x00000003
-#endif
-#if (WINVER > 0x500)
-#define GRADIENT_FILL_RECT_H 0x00
-#define GRADIENT_FILL_RECT_V 0x01
-#define GRADIENT_FILL_TRIANGLE 0x02
-#define GRADIENT_FILL_OP_FLAG 0xff
-#define COLORMATCHTOTARGET_EMBEDED 0x00000001
-#define CREATECOLORSPACE_EMBEDED 0x00000001
-#define SETICMPROFILE_EMBEDED 0x00000001
-#endif
-
-#define DISPLAY_DEVICE_ATTACHED_TO_DESKTOP 0x00000001
-#define DISPLAY_DEVICE_MULTI_DRIVER 0x00000002
-#define DISPLAY_DEVICE_PRIMARY_DEVICE 0x00000004
-#define DISPLAY_DEVICE_MIRRORING_DRIVER 0x00000008
-#define DISPLAY_DEVICE_VGA_COMPATIBLE 0x00000010
-#define DISPLAY_DEVICE_REMOVABLE 0x00000020
-#define DISPLAY_DEVICE_MODESPRUNED 0x08000000
-
-#if (_WIN32_WINNT >= 0x0500)
-#define GGI_MARK_NONEXISTING_GLYPHS 1
-#endif
-
-#ifndef RC_INVOKED
-typedef struct _ABC {
- int abcA;
- UINT abcB;
- int abcC;
-} ABC,*LPABC;
-typedef struct _ABCFLOAT {
- FLOAT abcfA;
- FLOAT abcfB;
- FLOAT abcfC;
-} ABCFLOAT,*LPABCFLOAT;
-typedef struct tagBITMAP {
- LONG bmType;
- LONG bmWidth;
- LONG bmHeight;
- LONG bmWidthBytes;
- WORD bmPlanes;
- WORD bmBitsPixel;
- LPVOID bmBits;
-} BITMAP,*PBITMAP,*LPBITMAP;
-typedef struct tagBITMAPCOREHEADER {
- DWORD bcSize;
- WORD bcWidth;
- WORD bcHeight;
- WORD bcPlanes;
- WORD bcBitCount;
-} BITMAPCOREHEADER,*LPBITMAPCOREHEADER,*PBITMAPCOREHEADER;
-#pragma pack(push,1)
-typedef struct tagRGBTRIPLE {
- BYTE rgbtBlue;
- BYTE rgbtGreen;
- BYTE rgbtRed;
-} RGBTRIPLE,*LPRGBTRIPLE;
-#pragma pack(pop)
-#pragma pack(push,2)
-typedef struct tagBITMAPFILEHEADER {
- WORD bfType;
- DWORD bfSize;
- WORD bfReserved1;
- WORD bfReserved2;
- DWORD bfOffBits;
-} BITMAPFILEHEADER,*LPBITMAPFILEHEADER,*PBITMAPFILEHEADER;
-#pragma pack(pop)
-typedef struct _BITMAPCOREINFO {
- BITMAPCOREHEADER bmciHeader;
- RGBTRIPLE bmciColors[1];
-} BITMAPCOREINFO,*LPBITMAPCOREINFO,*PBITMAPCOREINFO;
-typedef struct tagBITMAPINFOHEADER{
- DWORD biSize;
- LONG biWidth;
- LONG biHeight;
- WORD biPlanes;
- WORD biBitCount;
- DWORD biCompression;
- DWORD biSizeImage;
- LONG biXPelsPerMeter;
- LONG biYPelsPerMeter;
- DWORD biClrUsed;
- DWORD biClrImportant;
-} BITMAPINFOHEADER,*LPBITMAPINFOHEADER,*PBITMAPINFOHEADER;
-typedef struct tagRGBQUAD {
- BYTE rgbBlue;
- BYTE rgbGreen;
- BYTE rgbRed;
- BYTE rgbReserved;
-} RGBQUAD,*LPRGBQUAD;
-typedef struct tagBITMAPINFO {
- BITMAPINFOHEADER bmiHeader;
- RGBQUAD bmiColors[1];
-} BITMAPINFO,*LPBITMAPINFO,*PBITMAPINFO;
-typedef long FXPT16DOT16,*LPFXPT16DOT16;
-typedef long FXPT2DOT30,*LPFXPT2DOT30;
-typedef struct tagCIEXYZ {
- FXPT2DOT30 ciexyzX;
- FXPT2DOT30 ciexyzY;
- FXPT2DOT30 ciexyzZ;
-} CIEXYZ,*LPCIEXYZ;
-typedef struct tagCIEXYZTRIPLE {
- CIEXYZ ciexyzRed;
- CIEXYZ ciexyzGreen;
- CIEXYZ ciexyzBlue;
-} CIEXYZTRIPLE,*LPCIEXYZTRIPLE;
-typedef struct {
- DWORD bV4Size;
- LONG bV4Width;
- LONG bV4Height;
- WORD bV4Planes;
- WORD bV4BitCount;
- DWORD bV4V4Compression;
- DWORD bV4SizeImage;
- LONG bV4XPelsPerMeter;
- LONG bV4YPelsPerMeter;
- DWORD bV4ClrUsed;
- DWORD bV4ClrImportant;
- DWORD bV4RedMask;
- DWORD bV4GreenMask;
- DWORD bV4BlueMask;
- DWORD bV4AlphaMask;
- DWORD bV4CSType;
- CIEXYZTRIPLE bV4Endpoints;
- DWORD bV4GammaRed;
- DWORD bV4GammaGreen;
- DWORD bV4GammaBlue;
-} BITMAPV4HEADER,*LPBITMAPV4HEADER,*PBITMAPV4HEADER;
-typedef struct tagFONTSIGNATURE {
- DWORD fsUsb[4];
- DWORD fsCsb[2];
-} FONTSIGNATURE,*LPFONTSIGNATURE;
-typedef struct {
- UINT ciCharset;
- UINT ciACP;
- FONTSIGNATURE fs;
-} CHARSETINFO,*LPCHARSETINFO;
-typedef struct tagCOLORADJUSTMENT {
- WORD caSize;
- WORD caFlags;
- WORD caIlluminantIndex;
- WORD caRedGamma;
- WORD caGreenGamma;
- WORD caBlueGamma;
- WORD caReferenceBlack;
- WORD caReferenceWhite;
- SHORT caContrast;
- SHORT caBrightness;
- SHORT caColorfulness;
- SHORT caRedGreenTint;
-} COLORADJUSTMENT,*LPCOLORADJUSTMENT;
-typedef struct _devicemodeA {
- BYTE dmDeviceName[CCHDEVICENAME];
- WORD dmSpecVersion;
- WORD dmDriverVersion;
- WORD dmSize;
- WORD dmDriverExtra;
- DWORD dmFields;
- _ANONYMOUS_UNION union {
- _ANONYMOUS_STRUCT struct {
- short dmOrientation;
- short dmPaperSize;
- short dmPaperLength;
- short dmPaperWidth;
- short dmScale;
- short dmCopies;
- short dmDefaultSource;
- short dmPrintQuality;
- } DUMMYSTRUCTNAME;
- POINTL dmPosition;
- DWORD dmDisplayOrientation;
- DWORD dmDisplayFixedOutput;
- } DUMMYUNIONNAME;
-
- short dmColor;
- short dmDuplex;
- short dmYResolution;
- short dmTTOption;
- short dmCollate;
- BYTE dmFormName[CCHFORMNAME];
- WORD dmLogPixels;
- DWORD dmBitsPerPel;
- DWORD dmPelsWidth;
- DWORD dmPelsHeight;
- _ANONYMOUS_UNION union {
- DWORD dmDisplayFlags;
- DWORD dmNup;
- } DUMMYUNIONNAME2;
- DWORD dmDisplayFrequency;
-#if(WINVER >= 0x0400)
- DWORD dmICMMethod;
- DWORD dmICMIntent;
- DWORD dmMediaType;
- DWORD dmDitherType;
- DWORD dmReserved1;
- DWORD dmReserved2;
-#if (WINVER >= 0x0500) || (_WIN32_WINNT >= 0x0400)
- DWORD dmPanningWidth;
- DWORD dmPanningHeight;
-#endif
-#endif /* WINVER >= 0x0400 */
-} DEVMODEA,*LPDEVMODEA,*PDEVMODEA;
-typedef struct _devicemodeW {
- WCHAR dmDeviceName[CCHDEVICENAME];
- WORD dmSpecVersion;
- WORD dmDriverVersion;
- WORD dmSize;
- WORD dmDriverExtra;
- DWORD dmFields;
- _ANONYMOUS_UNION union {
- _ANONYMOUS_STRUCT struct {
- short dmOrientation;
- short dmPaperSize;
- short dmPaperLength;
- short dmPaperWidth;
- short dmScale;
- short dmCopies;
- short dmDefaultSource;
- short dmPrintQuality;
- } DUMMYSTRUCTNAME;
- POINTL dmPosition;
- DWORD dmDisplayOrientation;
- DWORD dmDisplayFixedOutput;
- } DUMMYUNIONNAME;
-
- short dmColor;
- short dmDuplex;
- short dmYResolution;
- short dmTTOption;
- short dmCollate;
- WCHAR dmFormName[CCHFORMNAME];
- WORD dmLogPixels;
- DWORD dmBitsPerPel;
- DWORD dmPelsWidth;
- DWORD dmPelsHeight;
- _ANONYMOUS_UNION union {
- DWORD dmDisplayFlags;
- DWORD dmNup;
- } DUMMYUNIONNAME2;
- DWORD dmDisplayFrequency;
-#if(WINVER >= 0x0400)
- DWORD dmICMMethod;
- DWORD dmICMIntent;
- DWORD dmMediaType;
- DWORD dmDitherType;
- DWORD dmReserved1;
- DWORD dmReserved2;
-#if (WINVER >= 0x0500) || (_WIN32_WINNT >= 0x0400)
- DWORD dmPanningWidth;
- DWORD dmPanningHeight;
-#endif
-#endif /* WINVER >= 0x0400 */
-} DEVMODEW,*LPDEVMODEW,*PDEVMODEW;
-typedef struct tagDIBSECTION {
- BITMAP dsBm;
- BITMAPINFOHEADER dsBmih;
- DWORD dsBitfields[3];
- HANDLE dshSection;
- DWORD dsOffset;
-} DIBSECTION;
-typedef struct _DOCINFOA {
- int cbSize;
- LPCSTR lpszDocName;
- LPCSTR lpszOutput;
- LPCSTR lpszDatatype;
- DWORD fwType;
-} DOCINFOA,*LPDOCINFOA;
-typedef struct _DOCINFOW {
- int cbSize;
- LPCWSTR lpszDocName;
- LPCWSTR lpszOutput;
- LPCWSTR lpszDatatype;
- DWORD fwType;
-} DOCINFOW,*LPDOCINFOW;
-typedef struct tagEMR {
- DWORD iType;
- DWORD nSize;
-} EMR,*PEMR;
-typedef struct tagEMRANGLEARC {
- EMR emr;
- POINTL ptlCenter;
- DWORD nRadius;
- FLOAT eStartAngle;
- FLOAT eSweepAngle;
-} EMRANGLEARC,*PEMRANGLEARC;
-typedef struct tagEMRARC {
- EMR emr;
- RECTL rclBox;
- POINTL ptlStart;
- POINTL ptlEnd;
-} EMRARC,*PEMRARC,EMRARCTO,*PEMRARCTO,EMRCHORD,*PEMRCHORD,EMRPIE,*PEMRPIE;
-typedef struct _XFORM {
- FLOAT eM11;
- FLOAT eM12;
- FLOAT eM21;
- FLOAT eM22;
- FLOAT eDx;
- FLOAT eDy;
-} XFORM,*PXFORM,*LPXFORM;
-typedef struct tagEMRBITBLT {
- EMR emr;
- RECTL rclBounds;
- LONG xDest;
- LONG yDest;
- LONG cxDest;
- LONG cyDest;
- DWORD dwRop;
- LONG xSrc;
- LONG ySrc;
- XFORM xformSrc;
- COLORREF crBkColorSrc;
- DWORD iUsageSrc;
- DWORD offBmiSrc;
- DWORD offBitsSrc;
- DWORD cbBitsSrc;
-} EMRBITBLT,*PEMRBITBLT;
-typedef struct tagLOGBRUSH {
- UINT lbStyle;
- COLORREF lbColor;
- LONG lbHatch;
-} LOGBRUSH,*PLOGBRUSH,*LPLOGBRUSH;
-typedef LOGBRUSH PATTERN,*PPATTERN,*LPPATTERN;
-typedef struct tagEMRCREATEBRUSHINDIRECT {
- EMR emr;
- DWORD ihBrush;
- LOGBRUSH lb;
-} EMRCREATEBRUSHINDIRECT,*PEMRCREATEBRUSHINDIRECT;
-typedef LONG LCSCSTYPE;
-typedef LONG LCSGAMUTMATCH;
-typedef struct tagLOGCOLORSPACEA {
- DWORD lcsSignature;
- DWORD lcsVersion;
- DWORD lcsSize;
- LCSCSTYPE lcsCSType;
- LCSGAMUTMATCH lcsIntent;
- CIEXYZTRIPLE lcsEndpoints;
- DWORD lcsGammaRed;
- DWORD lcsGammaGreen;
- DWORD lcsGammaBlue;
- CHAR lcsFilename[MAX_PATH];
-} LOGCOLORSPACEA,*LPLOGCOLORSPACEA;
-typedef struct tagLOGCOLORSPACEW {
- DWORD lcsSignature;
- DWORD lcsVersion;
- DWORD lcsSize;
- LCSCSTYPE lcsCSType;
- LCSGAMUTMATCH lcsIntent;
- CIEXYZTRIPLE lcsEndpoints;
- DWORD lcsGammaRed;
- DWORD lcsGammaGreen;
- DWORD lcsGammaBlue;
- WCHAR lcsFilename[MAX_PATH];
-} LOGCOLORSPACEW,*LPLOGCOLORSPACEW;
-typedef struct tagEMRCREATECOLORSPACE {
- EMR emr;
- DWORD ihCS;
- LOGCOLORSPACEW lcs;
-} EMRCREATECOLORSPACE,*PEMRCREATECOLORSPACE;
-typedef struct tagEMRCREATEDIBPATTERNBRUSHPT {
- EMR emr;
- DWORD ihBrush;
- DWORD iUsage;
- DWORD offBmi;
- DWORD cbBmi;
- DWORD offBits;
- DWORD cbBits;
-} EMRCREATEDIBPATTERNBRUSHPT,*PEMRCREATEDIBPATTERNBRUSHPT;
-typedef struct tagEMRCREATEMONOBRUSH {
- EMR emr;
- DWORD ihBrush;
- DWORD iUsage;
- DWORD offBmi;
- DWORD cbBmi;
- DWORD offBits;
- DWORD cbBits;
-} EMRCREATEMONOBRUSH,*PEMRCREATEMONOBRUSH;
-typedef struct tagPALETTEENTRY {
- BYTE peRed;
- BYTE peGreen;
- BYTE peBlue;
- BYTE peFlags;
-} PALETTEENTRY,*LPPALETTEENTRY,*PPALETTEENTRY;
-typedef struct tagLOGPALETTE {
- WORD palVersion;
- WORD palNumEntries;
- PALETTEENTRY palPalEntry[1];
-} LOGPALETTE,*NPLOGPALETTE,*PLOGPALETTE,*LPLOGPALETTE;
-typedef struct tagEMRCREATEPALETTE {
- EMR emr;
- DWORD ihPal;
- LOGPALETTE lgpl;
-} EMRCREATEPALETTE,*PEMRCREATEPALETTE;
-typedef struct tagLOGPEN {
- UINT lopnStyle;
- POINT lopnWidth;
- COLORREF lopnColor;
-} LOGPEN,*PLOGPEN,*LPLOGPEN;
-typedef struct tagEMRCREATEPEN {
- EMR emr;
- DWORD ihPen;
- LOGPEN lopn;
-} EMRCREATEPEN,*PEMRCREATEPEN;
-typedef struct tagEMRELLIPSE {
- EMR emr;
- RECTL rclBox;
-} EMRELLIPSE,*PEMRELLIPSE,EMRRECTANGLE,*PEMRRECTANGLE;
-typedef struct tagEMREOF {
- EMR emr;
- DWORD nPalEntries;
- DWORD offPalEntries;
- DWORD nSizeLast;
-} EMREOF,*PEMREOF;
-typedef struct tagEMREXCLUDECLIPRECT {
- EMR emr;
- RECTL rclClip;
-} EMREXCLUDECLIPRECT,*PEMREXCLUDECLIPRECT,EMRINTERSECTCLIPRECT,*PEMRINTERSECTCLIPRECT;
-typedef struct tagPANOSE {
- BYTE bFamilyType;
- BYTE bSerifStyle;
- BYTE bWeight;
- BYTE bProportion;
- BYTE bContrast;
- BYTE bStrokeVariation;
- BYTE bArmStyle;
- BYTE bLetterform;
- BYTE bMidline;
- BYTE bXHeight;
-} PANOSE;
-typedef struct tagLOGFONTA {
- LONG lfHeight;
- LONG lfWidth;
- LONG lfEscapement;
- LONG lfOrientation;
- LONG lfWeight;
- BYTE lfItalic;
- BYTE lfUnderline;
- BYTE lfStrikeOut;
- BYTE lfCharSet;
- BYTE lfOutPrecision;
- BYTE lfClipPrecision;
- BYTE lfQuality;
- BYTE lfPitchAndFamily;
- CHAR lfFaceName[LF_FACESIZE];
-} LOGFONTA,*PLOGFONTA,*LPLOGFONTA;
-typedef struct tagLOGFONTW {
- LONG lfHeight;
- LONG lfWidth;
- LONG lfEscapement;
- LONG lfOrientation;
- LONG lfWeight;
- BYTE lfItalic;
- BYTE lfUnderline;
- BYTE lfStrikeOut;
- BYTE lfCharSet;
- BYTE lfOutPrecision;
- BYTE lfClipPrecision;
- BYTE lfQuality;
- BYTE lfPitchAndFamily;
- WCHAR lfFaceName[LF_FACESIZE];
-} LOGFONTW,*PLOGFONTW,*LPLOGFONTW;
-typedef struct tagEXTLOGFONTA {
- LOGFONTA elfLogFont;
- BYTE elfFullName[LF_FULLFACESIZE];
- BYTE elfStyle[LF_FACESIZE];
- DWORD elfVersion;
- DWORD elfStyleSize;
- DWORD elfMatch;
- DWORD elfReserved;
- BYTE elfVendorId[ELF_VENDOR_SIZE];
- DWORD elfCulture;
- PANOSE elfPanose;
-} EXTLOGFONTA,*PEXTLOGFONTA,*LPEXTLOGFONTA;
-typedef struct tagEXTLOGFONTW {
- LOGFONTW elfLogFont;
- WCHAR elfFullName[LF_FULLFACESIZE];
- WCHAR elfStyle[LF_FACESIZE];
- DWORD elfVersion;
- DWORD elfStyleSize;
- DWORD elfMatch;
- DWORD elfReserved;
- BYTE elfVendorId[ELF_VENDOR_SIZE];
- DWORD elfCulture;
- PANOSE elfPanose;
-} EXTLOGFONTW,*PEXTLOGFONTW,*LPEXTLOGFONTW;
-typedef struct tagEMREXTCREATEFONTINDIRECTW {
- EMR emr;
- DWORD ihFont;
- EXTLOGFONTW elfw;
-} EMREXTCREATEFONTINDIRECTW,*PEMREXTCREATEFONTINDIRECTW;
-typedef struct tagEXTLOGPEN {
- UINT elpPenStyle;
- UINT elpWidth;
- UINT elpBrushStyle;
- COLORREF elpColor;
- LONG elpHatch;
- DWORD elpNumEntries;
- DWORD elpStyleEntry[1];
-} EXTLOGPEN,*PEXTLOGPEN,*LPEXTLOGPEN;
-typedef struct tagEMREXTCREATEPEN {
- EMR emr;
- DWORD ihPen;
- DWORD offBmi;
- DWORD cbBmi;
- DWORD offBits;
- DWORD cbBits;
- EXTLOGPEN elp;
-} EMREXTCREATEPEN,*PEMREXTCREATEPEN;
-typedef struct tagEMREXTFLOODFILL {
- EMR emr;
- POINTL ptlStart;
- COLORREF crColor;
- DWORD iMode;
-} EMREXTFLOODFILL,*PEMREXTFLOODFILL;
-typedef struct tagEMREXTSELECTCLIPRGN {
- EMR emr;
- DWORD cbRgnData;
- DWORD iMode;
- BYTE RgnData[1];
-} EMREXTSELECTCLIPRGN,*PEMREXTSELECTCLIPRGN;
-typedef struct tagEMRTEXT {
- POINTL ptlReference;
- DWORD nChars;
- DWORD offString;
- DWORD fOptions;
- RECTL rcl;
- DWORD offDx;
-} EMRTEXT,*PEMRTEXT;
-typedef struct tagEMREXTTEXTOUTA {
- EMR emr;
- RECTL rclBounds;
- DWORD iGraphicsMode;
- FLOAT exScale;
- FLOAT eyScale;
- EMRTEXT emrtext;
-} EMREXTTEXTOUTA,*PEMREXTTEXTOUTA,EMREXTTEXTOUTW,*PEMREXTTEXTOUTW;
-typedef struct tagEMRFILLPATH {
- EMR emr;
- RECTL rclBounds;
-} EMRFILLPATH,*PEMRFILLPATH,EMRSTROKEANDFILLPATH,*PEMRSTROKEANDFILLPATH,EMRSTROKEPATH,*PEMRSTROKEPATH;
-typedef struct tagEMRFILLRGN {
- EMR emr;
- RECTL rclBounds;
- DWORD cbRgnData;
- DWORD ihBrush;
- BYTE RgnData[1];
-} EMRFILLRGN,*PEMRFILLRGN;
-typedef struct tagEMRFORMAT {
- DWORD dSignature;
- DWORD nVersion;
- DWORD cbData;
- DWORD offData;
-} EMRFORMAT;
-typedef struct tagEMRFRAMERGN {
- EMR emr;
- RECTL rclBounds;
- DWORD cbRgnData;
- DWORD ihBrush;
- SIZEL szlStroke;
- BYTE RgnData[1];
-} EMRFRAMERGN,*PEMRFRAMERGN;
-typedef struct tagEMRGDICOMMENT {
- EMR emr;
- DWORD cbData;
- BYTE Data[1];
-} EMRGDICOMMENT,*PEMRGDICOMMENT;
-typedef struct tagEMRINVERTRGN {
- EMR emr;
- RECTL rclBounds;
- DWORD cbRgnData;
- BYTE RgnData[1];
-} EMRINVERTRGN,*PEMRINVERTRGN,EMRPAINTRGN,*PEMRPAINTRGN;
-typedef struct tagEMRLINETO {
- EMR emr;
- POINTL ptl;
-} EMRLINETO,*PEMRLINETO,EMRMOVETOEX,*PEMRMOVETOEX;
-typedef struct tagEMRMASKBLT {
- EMR emr;
- RECTL rclBounds;
- LONG xDest;
- LONG yDest;
- LONG cxDest;
- LONG cyDest;
- DWORD dwRop;
- LONG xSrc;
- LONG ySrc;
- XFORM xformSrc;
- COLORREF crBkColorSrc;
- DWORD iUsageSrc;
- DWORD offBmiSrc;
- DWORD cbBmiSrc;
- DWORD offBitsSrc;
- DWORD cbBitsSrc;
- LONG xMask;
- LONG yMask;
- DWORD iUsageMask;
- DWORD offBmiMask;
- DWORD cbBmiMask;
- DWORD offBitsMask;
- DWORD cbBitsMask;
-} EMRMASKBLT,*PEMRMASKBLT;
-typedef struct tagEMRMODIFYWORLDTRANSFORM {
- EMR emr;
- XFORM xform;
- DWORD iMode;
-} EMRMODIFYWORLDTRANSFORM,*PEMRMODIFYWORLDTRANSFORM;
-typedef struct tagEMROFFSETCLIPRGN {
- EMR emr;
- POINTL ptlOffset;
-} EMROFFSETCLIPRGN,*PEMROFFSETCLIPRGN;
-typedef struct tagEMRPLGBLT {
- EMR emr;
- RECTL rclBounds;
- POINTL aptlDest[3];
- LONG xSrc;
- LONG ySrc;
- LONG cxSrc;
- LONG cySrc;
- XFORM xformSrc;
- COLORREF crBkColorSrc;
- DWORD iUsageSrc;
- DWORD offBmiSrc;
- DWORD cbBmiSrc;
- DWORD offBitsSrc;
- DWORD cbBitsSrc;
- LONG xMask;
- LONG yMask;
- DWORD iUsageMask;
- DWORD offBmiMask;
- DWORD cbBmiMask;
- DWORD offBitsMask;
- DWORD cbBitsMask;
-} EMRPLGBLT,*PEMRPLGBLT;
-typedef struct tagEMRPOLYDRAW {
- EMR emr;
- RECTL rclBounds;
- DWORD cptl;
- POINTL aptl[1];
- BYTE abTypes[1];
-} EMRPOLYDRAW,*PEMRPOLYDRAW;
-typedef struct tagEMRPOLYDRAW16 {
- EMR emr;
- RECTL rclBounds;
- DWORD cpts;
- POINTS apts[1];
- BYTE abTypes[1];
-} EMRPOLYDRAW16,*PEMRPOLYDRAW16;
-typedef struct tagEMRPOLYLINE {
- EMR emr;
- RECTL rclBounds;
- DWORD cptl;
- POINTL aptl[1];
-} EMRPOLYLINE,*PEMRPOLYLINE,EMRPOLYBEZIER,*PEMRPOLYBEZIER,EMRPOLYGON,*PEMRPOLYGON,EMRPOLYBEZIERTO,*PEMRPOLYBEZIERTO,EMRPOLYLINETO,*PEMRPOLYLINETO;
-typedef struct tagEMRPOLYLINE16 {
- EMR emr;
- RECTL rclBounds;
- DWORD cpts;
- POINTL apts[1];
-} EMRPOLYLINE16,*PEMRPOLYLINE16,EMRPOLYBEZIER16,*PEMRPOLYBEZIER16,EMRPOLYGON16,*PEMRPOLYGON16,EMRPOLYBEZIERTO16,*PEMRPOLYBEZIERTO16,EMRPOLYLINETO16,*PEMRPOLYLINETO16;
-typedef struct tagEMRPOLYPOLYLINE {
- EMR emr;
- RECTL rclBounds;
- DWORD nPolys;
- DWORD cptl;
- DWORD aPolyCounts[1];
- POINTL aptl[1];
-} EMRPOLYPOLYLINE,*PEMRPOLYPOLYLINE,EMRPOLYPOLYGON,*PEMRPOLYPOLYGON;
-typedef struct tagEMRPOLYPOLYLINE16 {
- EMR emr;
- RECTL rclBounds;
- DWORD nPolys;
- DWORD cpts;
- DWORD aPolyCounts[1];
- POINTS apts[1];
-} EMRPOLYPOLYLINE16,*PEMRPOLYPOLYLINE16,EMRPOLYPOLYGON16,*PEMRPOLYPOLYGON16;
-typedef struct tagEMRPOLYTEXTOUTA {
- EMR emr;
- RECTL rclBounds;
- DWORD iGraphicsMode;
- FLOAT exScale;
- FLOAT eyScale;
- LONG cStrings;
- EMRTEXT aemrtext[1];
-} EMRPOLYTEXTOUTA,*PEMRPOLYTEXTOUTA,EMRPOLYTEXTOUTW,*PEMRPOLYTEXTOUTW;
-typedef struct tagEMRRESIZEPALETTE {
- EMR emr;
- DWORD ihPal;
- DWORD cEntries;
-} EMRRESIZEPALETTE,*PEMRRESIZEPALETTE;
-typedef struct tagEMRRESTOREDC {
- EMR emr;
- LONG iRelative;
-} EMRRESTOREDC,*PEMRRESTOREDC;
-typedef struct tagEMRROUNDRECT {
- EMR emr;
- RECTL rclBox;
- SIZEL szlCorner;
-} EMRROUNDRECT,*PEMRROUNDRECT;
-typedef struct tagEMRSCALEVIEWPORTEXTEX {
- EMR emr;
- LONG xNum;
- LONG xDenom;
- LONG yNum;
- LONG yDenom;
-} EMRSCALEVIEWPORTEXTEX,*PEMRSCALEVIEWPORTEXTEX,EMRSCALEWINDOWEXTEX,*PEMRSCALEWINDOWEXTEX;
-typedef struct tagEMRSELECTCOLORSPACE {
- EMR emr;
- DWORD ihCS;
-} EMRSELECTCOLORSPACE,*PEMRSELECTCOLORSPACE,EMRDELETECOLORSPACE,*PEMRDELETECOLORSPACE;
-typedef struct tagEMRSELECTOBJECT {
- EMR emr;
- DWORD ihObject;
-} EMRSELECTOBJECT,*PEMRSELECTOBJECT,EMRDELETEOBJECT,*PEMRDELETEOBJECT;
-typedef struct tagEMRSELECTPALETTE {
- EMR emr;
- DWORD ihPal;
-} EMRSELECTPALETTE,*PEMRSELECTPALETTE;
-typedef struct tagEMRSETARCDIRECTION {
- EMR emr;
- DWORD iArcDirection;
-} EMRSETARCDIRECTION,*PEMRSETARCDIRECTION;
-typedef struct tagEMRSETTEXTCOLOR {
- EMR emr;
- COLORREF crColor;
-} EMRSETBKCOLOR,*PEMRSETBKCOLOR,EMRSETTEXTCOLOR,*PEMRSETTEXTCOLOR;
-typedef struct tagEMRSETCOLORADJUSTMENT {
- EMR emr;
- COLORADJUSTMENT ColorAdjustment;
-} EMRSETCOLORADJUSTMENT,*PEMRSETCOLORADJUSTMENT;
-typedef struct tagEMRSETDIBITSTODEVICE {
- EMR emr;
- RECTL rclBounds;
- LONG xDest;
- LONG yDest;
- LONG xSrc;
- LONG ySrc;
- LONG cxSrc;
- LONG cySrc;
- DWORD offBmiSrc;
- DWORD cbBmiSrc;
- DWORD offBitsSrc;
- DWORD cbBitsSrc;
- DWORD iUsageSrc;
- DWORD iStartScan;
- DWORD cScans;
-} EMRSETDIBITSTODEVICE,*PEMRSETDIBITSTODEVICE;
-typedef struct tagEMRSETMAPPERFLAGS {
- EMR emr;
- DWORD dwFlags;
-} EMRSETMAPPERFLAGS,*PEMRSETMAPPERFLAGS;
-typedef struct tagEMRSETMITERLIMIT {
- EMR emr;
- FLOAT eMiterLimit;
-} EMRSETMITERLIMIT,*PEMRSETMITERLIMIT;
-typedef struct tagEMRSETPALETTEENTRIES {
- EMR emr;
- DWORD ihPal;
- DWORD iStart;
- DWORD cEntries;
- PALETTEENTRY aPalEntries[1];
-} EMRSETPALETTEENTRIES,*PEMRSETPALETTEENTRIES;
-typedef struct tagEMRSETPIXELV {
- EMR emr;
- POINTL ptlPixel;
- COLORREF crColor;
-} EMRSETPIXELV,*PEMRSETPIXELV;
-typedef struct tagEMRSETVIEWPORTEXTEX {
- EMR emr;
- SIZEL szlExtent;
-} EMRSETVIEWPORTEXTEX,*PEMRSETVIEWPORTEXTEX,EMRSETWINDOWEXTEX,*PEMRSETWINDOWEXTEX;
-typedef struct tagEMRSETVIEWPORTORGEX {
- EMR emr;
- POINTL ptlOrigin;
-} EMRSETVIEWPORTORGEX,*PEMRSETVIEWPORTORGEX,EMRSETWINDOWORGEX,*PEMRSETWINDOWORGEX,EMRSETBRUSHORGEX,*PEMRSETBRUSHORGEX;
-typedef struct tagEMRSETWORLDTRANSFORM {
- EMR emr;
- XFORM xform;
-} EMRSETWORLDTRANSFORM,*PEMRSETWORLDTRANSFORM;
-typedef struct tagEMRSTRETCHBLT {
- EMR emr;
- RECTL rclBounds;
- LONG xDest;
- LONG yDest;
- LONG cxDest;
- LONG cyDest;
- DWORD dwRop;
- LONG xSrc;
- LONG ySrc;
- XFORM xformSrc;
- COLORREF crBkColorSrc;
- DWORD iUsageSrc;
- DWORD offBmiSrc;
- DWORD cbBmiSrc;
- DWORD offBitsSrc;
- DWORD cbBitsSrc;
- LONG cxSrc;
- LONG cySrc;
-} EMRSTRETCHBLT,*PEMRSTRETCHBLT;
-typedef struct tagEMRSTRETCHDIBITS {
- EMR emr;
- RECTL rclBounds;
- LONG xDest;
- LONG yDest;
- LONG xSrc;
- LONG ySrc;
- LONG cxSrc;
- LONG cySrc;
- DWORD offBmiSrc;
- DWORD cbBmiSrc;
- DWORD offBitsSrc;
- DWORD cbBitsSrc;
- DWORD iUsageSrc;
- DWORD dwRop;
- LONG cxDest;
- LONG cyDest;
-} EMRSTRETCHDIBITS,*PEMRSTRETCHDIBITS;
-typedef struct tagABORTPATH {
- EMR emr;
-} EMRABORTPATH,*PEMRABORTPATH,EMRBEGINPATH,*PEMRBEGINPATH,EMRENDPATH,*PEMRENDPATH,EMRCLOSEFIGURE,*PEMRCLOSEFIGURE,EMRFLATTENPATH,*PEMRFLATTENPATH,EMRWIDENPATH,*PEMRWIDENPATH,EMRSETMETARGN,*PEMRSETMETARGN,EMRSAVEDC,*PEMRSAVEDC,EMRREALIZEPALETTE,*PEMRREALIZEPALETTE;
-typedef struct tagEMRSELECTCLIPPATH {
- EMR emr;
- DWORD iMode;
-} EMRSELECTCLIPPATH,*PEMRSELECTCLIPPATH,EMRSETBKMODE,*PEMRSETBKMODE,EMRSETMAPMODE,*PEMRSETMAPMODE,EMRSETPOLYFILLMODE,*PEMRSETPOLYFILLMODE,EMRSETROP2,*PEMRSETROP2,EMRSETSTRETCHBLTMODE,*PEMRSETSTRETCHBLTMODE,EMRSETTEXTALIGN,*PEMRSETTEXTALIGN,EMRENABLEICM,*PEMRENABLEICM;
-#pragma pack(push,2)
-typedef struct tagMETAHEADER {
- WORD mtType;
- WORD mtHeaderSize;
- WORD mtVersion;
- DWORD mtSize;
- WORD mtNoObjects;
- DWORD mtMaxRecord;
- WORD mtNoParameters;
-} METAHEADER,*PMETAHEADER,*LPMETAHEADER;
-#pragma pack(pop)
-typedef struct tagENHMETAHEADER {
- DWORD iType;
- DWORD nSize;
- RECTL rclBounds;
- RECTL rclFrame;
- DWORD dSignature;
- DWORD nVersion;
- DWORD nBytes;
- DWORD nRecords;
- WORD nHandles;
- WORD sReserved;
- DWORD nDescription;
- DWORD offDescription;
- DWORD nPalEntries;
- SIZEL szlDevice;
- SIZEL szlMillimeters;
-#if (WINVER >= 0x0400)
- DWORD cbPixelFormat;
- DWORD offPixelFormat;
- DWORD bOpenGL;
-#endif
-#if (WINVER >= 0x0500)
- SIZEL szlMicrometers;
-#endif
-} ENHMETAHEADER,*LPENHMETAHEADER;
-typedef struct tagMETARECORD {
- DWORD rdSize;
- WORD rdFunction;
- WORD rdParm[1];
-} METARECORD,*PMETARECORD,*LPMETARECORD;
-typedef struct tagENHMETARECORD {
- DWORD iType;
- DWORD nSize;
- DWORD dParm[1];
-} ENHMETARECORD,*LPENHMETARECORD;
-typedef struct tagHANDLETABLE {
- HGDIOBJ objectHandle[1];
-} HANDLETABLE,*LPHANDLETABLE;
-typedef struct tagTEXTMETRICA {
- LONG tmHeight;
- LONG tmAscent;
- LONG tmDescent;
- LONG tmInternalLeading;
- LONG tmExternalLeading;
- LONG tmAveCharWidth;
- LONG tmMaxCharWidth;
- LONG tmWeight;
- LONG tmOverhang;
- LONG tmDigitizedAspectX;
- LONG tmDigitizedAspectY;
- BYTE tmFirstChar;
- BYTE tmLastChar;
- BYTE tmDefaultChar;
- BYTE tmBreakChar;
- BYTE tmItalic;
- BYTE tmUnderlined;
- BYTE tmStruckOut;
- BYTE tmPitchAndFamily;
- BYTE tmCharSet;
-} TEXTMETRICA,*PTEXTMETRICA,*LPTEXTMETRICA;
-typedef struct tagTEXTMETRICW {
- LONG tmHeight;
- LONG tmAscent;
- LONG tmDescent;
- LONG tmInternalLeading;
- LONG tmExternalLeading;
- LONG tmAveCharWidth;
- LONG tmMaxCharWidth;
- LONG tmWeight;
- LONG tmOverhang;
- LONG tmDigitizedAspectX;
- LONG tmDigitizedAspectY;
- WCHAR tmFirstChar;
- WCHAR tmLastChar;
- WCHAR tmDefaultChar;
- WCHAR tmBreakChar;
- BYTE tmItalic;
- BYTE tmUnderlined;
- BYTE tmStruckOut;
- BYTE tmPitchAndFamily;
- BYTE tmCharSet;
-} TEXTMETRICW,*PTEXTMETRICW,*LPTEXTMETRICW;
-typedef struct _RGNDATAHEADER {
- DWORD dwSize;
- DWORD iType;
- DWORD nCount;
- DWORD nRgnSize;
- RECT rcBound;
-} RGNDATAHEADER;
-typedef struct _RGNDATA {
- RGNDATAHEADER rdh;
- char Buffer[1];
-} RGNDATA,*PRGNDATA, *LPRGNDATA;
-/* for GetRandomRgn */
-#define SYSRGN 4
-typedef struct tagGCP_RESULTSA {
- DWORD lStructSize;
- LPSTR lpOutString;
- UINT *lpOrder;
- INT *lpDx;
- INT *lpCaretPos;
- LPSTR lpClass;
- LPWSTR lpGlyphs;
- UINT nGlyphs;
- UINT nMaxFit;
-} GCP_RESULTSA,*LPGCP_RESULTSA;
-typedef struct tagGCP_RESULTSW {
- DWORD lStructSize;
- LPWSTR lpOutString;
- UINT *lpOrder;
- INT *lpDx;
- INT *lpCaretPos;
- LPWSTR lpClass;
- LPWSTR lpGlyphs;
- UINT nGlyphs;
- UINT nMaxFit;
-} GCP_RESULTSW,*LPGCP_RESULTSW;
-typedef struct _GLYPHMETRICS {
- UINT gmBlackBoxX;
- UINT gmBlackBoxY;
- POINT gmptGlyphOrigin;
- short gmCellIncX;
- short gmCellIncY;
-} GLYPHMETRICS,*LPGLYPHMETRICS;
-#if (_WIN32_WINNT >= 0x0500)
-typedef struct tagWCRANGE
-{
- WCHAR wcLow;
- USHORT cGlyphs;
-} WCRANGE, *PWCRANGE, *LPWCRANGE;
-typedef struct tagGLYPHSET
-{
- DWORD cbThis;
- DWORD flAccel;
- DWORD cGlyphsSupported;
- DWORD cRanges;
- WCRANGE ranges[1];
-} GLYPHSET, *PGLYPHSET, *LPGLYPHSET;
-#endif
-typedef struct tagKERNINGPAIR {
- WORD wFirst;
- WORD wSecond;
- int iKernAmount;
-} KERNINGPAIR,*LPKERNINGPAIR;
-typedef struct _FIXED {
- WORD fract;
- short value;
-} FIXED;
-typedef struct _MAT2 {
- FIXED eM11;
- FIXED eM12;
- FIXED eM21;
- FIXED eM22;
-} MAT2,*LPMAT2;
-typedef struct _OUTLINETEXTMETRICA {
- UINT otmSize;
- TEXTMETRICA otmTextMetrics;
- BYTE otmFiller;
- PANOSE otmPanoseNumber;
- UINT otmfsSelection;
- UINT otmfsType;
- int otmsCharSlopeRise;
- int otmsCharSlopeRun;
- int otmItalicAngle;
- UINT otmEMSquare;
- int otmAscent;
- int otmDescent;
- UINT otmLineGap;
- UINT otmsCapEmHeight;
- UINT otmsXHeight;
- RECT otmrcFontBox;
- int otmMacAscent;
- int otmMacDescent;
- UINT otmMacLineGap;
- UINT otmusMinimumPPEM;
- POINT otmptSubscriptSize;
- POINT otmptSubscriptOffset;
- POINT otmptSuperscriptSize;
- POINT otmptSuperscriptOffset;
- UINT otmsStrikeoutSize;
- int otmsStrikeoutPosition;
- int otmsUnderscoreSize;
- int otmsUnderscorePosition;
- PSTR otmpFamilyName;
- PSTR otmpFaceName;
- PSTR otmpStyleName;
- PSTR otmpFullName;
-} OUTLINETEXTMETRICA,*POUTLINETEXTMETRICA,*LPOUTLINETEXTMETRICA;
-typedef struct _OUTLINETEXTMETRICW {
- UINT otmSize;
- TEXTMETRICW otmTextMetrics;
- BYTE otmFiller;
- PANOSE otmPanoseNumber;
- UINT otmfsSelection;
- UINT otmfsType;
- int otmsCharSlopeRise;
- int otmsCharSlopeRun;
- int otmItalicAngle;
- UINT otmEMSquare;
- int otmAscent;
- int otmDescent;
- UINT otmLineGap;
- UINT otmsCapEmHeight;
- UINT otmsXHeight;
- RECT otmrcFontBox;
- int otmMacAscent;
- int otmMacDescent;
- UINT otmMacLineGap;
- UINT otmusMinimumPPEM;
- POINT otmptSubscriptSize;
- POINT otmptSubscriptOffset;
- POINT otmptSuperscriptSize;
- POINT otmptSuperscriptOffset;
- UINT otmsStrikeoutSize;
- int otmsStrikeoutPosition;
- int otmsUnderscoreSize;
- int otmsUnderscorePosition;
- PSTR otmpFamilyName;
- PSTR otmpFaceName;
- PSTR otmpStyleName;
- PSTR otmpFullName;
-} OUTLINETEXTMETRICW,*POUTLINETEXTMETRICW,*LPOUTLINETEXTMETRICW;
-typedef struct _RASTERIZER_STATUS {
- short nSize;
- short wFlags;
- short nLanguageID;
-} RASTERIZER_STATUS,*LPRASTERIZER_STATUS;
-typedef struct _POLYTEXTA {
- int x;
- int y;
- UINT n;
- LPCSTR lpstr;
- UINT uiFlags;
- RECT rcl;
- int *pdx;
-} POLYTEXTA, *PPOLYTEXTA, *LPPOLYTEXTA;
-typedef struct _POLYTEXTW {
- int x;
- int y;
- UINT n;
- LPCWSTR lpstr;
- UINT uiFlags;
- RECT rcl;
- int *pdx;
-} POLYTEXTW, *PPOLYTEXTW, *LPPOLYTEXTW;
-typedef struct tagPIXELFORMATDESCRIPTOR {
- WORD nSize;
- WORD nVersion;
- DWORD dwFlags;
- BYTE iPixelType;
- BYTE cColorBits;
- BYTE cRedBits;
- BYTE cRedShift;
- BYTE cGreenBits;
- BYTE cGreenShift;
- BYTE cBlueBits;
- BYTE cBlueShift;
- BYTE cAlphaBits;
- BYTE cAlphaShift;
- BYTE cAccumBits;
- BYTE cAccumRedBits;
- BYTE cAccumGreenBits;
- BYTE cAccumBlueBits;
- BYTE cAccumAlphaBits;
- BYTE cDepthBits;
- BYTE cStencilBits;
- BYTE cAuxBuffers;
- BYTE iLayerType;
- BYTE bReserved;
- DWORD dwLayerMask;
- DWORD dwVisibleMask;
- DWORD dwDamageMask;
-} PIXELFORMATDESCRIPTOR,*PPIXELFORMATDESCRIPTOR,*LPPIXELFORMATDESCRIPTOR;
-typedef struct tagMETAFILEPICT {
- LONG mm;
- LONG xExt;
- LONG yExt;
- HMETAFILE hMF;
-} METAFILEPICT,*LPMETAFILEPICT;
-typedef struct tagLOCALESIGNATURE {
- DWORD lsUsb[4];
- DWORD lsCsbDefault[2];
- DWORD lsCsbSupported[2];
-} LOCALESIGNATURE,*PLOCALESIGNATURE,*LPLOCALESIGNATURE;
-typedef LONG LCSTYPE;
-#pragma pack(push,4)
-typedef struct tagNEWTEXTMETRICA {
- LONG tmHeight;
- LONG tmAscent;
- LONG tmDescent;
- LONG tmInternalLeading;
- LONG tmExternalLeading;
- LONG tmAveCharWidth;
- LONG tmMaxCharWidth;
- LONG tmWeight;
- LONG tmOverhang;
- LONG tmDigitizedAspectX;
- LONG tmDigitizedAspectY;
- BYTE tmFirstChar;
- BYTE tmLastChar;
- BYTE tmDefaultChar;
- BYTE tmBreakChar;
- BYTE tmItalic;
- BYTE tmUnderlined;
- BYTE tmStruckOut;
- BYTE tmPitchAndFamily;
- BYTE tmCharSet;
- DWORD ntmFlags;
- UINT ntmSizeEM;
- UINT ntmCellHeight;
- UINT ntmAvgWidth;
-} NEWTEXTMETRICA,*PNEWTEXTMETRICA,*LPNEWTEXTMETRICA;
-typedef struct tagNEWTEXTMETRICW {
- LONG tmHeight;
- LONG tmAscent;
- LONG tmDescent;
- LONG tmInternalLeading;
- LONG tmExternalLeading;
- LONG tmAveCharWidth;
- LONG tmMaxCharWidth;
- LONG tmWeight;
- LONG tmOverhang;
- LONG tmDigitizedAspectX;
- LONG tmDigitizedAspectY;
- WCHAR tmFirstChar;
- WCHAR tmLastChar;
- WCHAR tmDefaultChar;
- WCHAR tmBreakChar;
- BYTE tmItalic;
- BYTE tmUnderlined;
- BYTE tmStruckOut;
- BYTE tmPitchAndFamily;
- BYTE tmCharSet;
- DWORD ntmFlags;
- UINT ntmSizeEM;
- UINT ntmCellHeight;
- UINT ntmAvgWidth;
-} NEWTEXTMETRICW,*PNEWTEXTMETRICW,*LPNEWTEXTMETRICW;
-#pragma pack(pop)
-typedef struct tagNEWTEXTMETRICEXA {
- NEWTEXTMETRICA ntmTm;
- FONTSIGNATURE ntmFontSig;
-} NEWTEXTMETRICEXA;
-typedef struct tagNEWTEXTMETRICEXW {
- NEWTEXTMETRICW ntmTm;
- FONTSIGNATURE ntmFontSig;
-} NEWTEXTMETRICEXW;
-typedef struct tagPELARRAY {
- LONG paXCount;
- LONG paYCount;
- LONG paXExt;
- LONG paYExt;
- BYTE paRGBs;
-} PELARRAY,*PPELARRAY,*LPPELARRAY;
-typedef struct tagENUMLOGFONTA {
- LOGFONTA elfLogFont;
- BYTE elfFullName[LF_FULLFACESIZE];
- BYTE elfStyle[LF_FACESIZE];
-} ENUMLOGFONTA,*LPENUMLOGFONTA;
-typedef struct tagENUMLOGFONTW {
- LOGFONTW elfLogFont;
- WCHAR elfFullName[LF_FULLFACESIZE];
- WCHAR elfStyle[LF_FACESIZE];
-} ENUMLOGFONTW,*LPENUMLOGFONTW;
-typedef struct tagENUMLOGFONTEXA {
- LOGFONTA elfLogFont;
- BYTE elfFullName[LF_FULLFACESIZE];
- BYTE elfStyle[LF_FACESIZE];
- BYTE elfScript[LF_FACESIZE];
-} ENUMLOGFONTEXA,*LPENUMLOGFONTEXA;
-typedef struct tagENUMLOGFONTEXW {
- LOGFONTW elfLogFont;
- WCHAR elfFullName[LF_FULLFACESIZE];
- WCHAR elfStyle[LF_FACESIZE];
- WCHAR elfScript[LF_FACESIZE];
-} ENUMLOGFONTEXW,*LPENUMLOGFONTEXW;
-typedef struct tagPOINTFX {
- FIXED x;
- FIXED y;
-} POINTFX,*LPPOINTFX;
-typedef struct tagTTPOLYCURVE {
- WORD wType;
- WORD cpfx;
- POINTFX apfx[1];
-} TTPOLYCURVE,*LPTTPOLYCURVE;
-typedef struct tagTTPOLYGONHEADER {
- DWORD cb;
- DWORD dwType;
- POINTFX pfxStart;
-} TTPOLYGONHEADER,*LPTTPOLYGONHEADER;
-typedef struct _POINTFLOAT {
- FLOAT x;
- FLOAT y;
-} POINTFLOAT,*PPOINTFLOAT;
-typedef struct _GLYPHMETRICSFLOAT {
- FLOAT gmfBlackBoxX;
- FLOAT gmfBlackBoxY;
- POINTFLOAT gmfptGlyphOrigin;
- FLOAT gmfCellIncX;
- FLOAT gmfCellIncY;
-} GLYPHMETRICSFLOAT,*PGLYPHMETRICSFLOAT,*LPGLYPHMETRICSFLOAT;
-typedef struct tagLAYERPLANEDESCRIPTOR {
- WORD nSize;
- WORD nVersion;
- DWORD dwFlags;
- BYTE iPixelType;
- BYTE cColorBits;
- BYTE cRedBits;
- BYTE cRedShift;
- BYTE cGreenBits;
- BYTE cGreenShift;
- BYTE cBlueBits;
- BYTE cBlueShift;
- BYTE cAlphaBits;
- BYTE cAlphaShift;
- BYTE cAccumBits;
- BYTE cAccumRedBits;
- BYTE cAccumGreenBits;
- BYTE cAccumBlueBits;
- BYTE cAccumAlphaBits;
- BYTE cDepthBits;
- BYTE cStencilBits;
- BYTE cAuxBuffers;
- BYTE iLayerPlane;
- BYTE bReserved;
- COLORREF crTransparent;
-} LAYERPLANEDESCRIPTOR,*PLAYERPLANEDESCRIPTOR,*LPLAYERPLANEDESCRIPTOR;
-typedef struct _BLENDFUNCTION {
- BYTE BlendOp;
- BYTE BlendFlags;
- BYTE SourceConstantAlpha;
- BYTE AlphaFormat;
-} BLENDFUNCTION,*PBLENDFUNCTION,*LPBLENDFUNCTION;
-#define MM_MAX_NUMAXES 16
-typedef struct _DESIGNVECTOR {
- DWORD dvReserved;
- DWORD dvNumAxes;
- LONG dvValues[MM_MAX_NUMAXES];
-} DESIGNVECTOR, *PDESIGNVECTOR, FAR *LPDESIGNVECTOR;
-#if _WIN32_WINNT >= 0x0500
-typedef struct tagENUMLOGFONTEXDVA
-{
- ENUMLOGFONTEXA elfEnumLogfontEx;
- DESIGNVECTOR elfDesignVector;
-} ENUMLOGFONTEXDVA, *PENUMLOGFONTEXDVA, *LPENUMLOGFONTEXDVA;
-typedef struct tagENUMLOGFONTEXDVW
-{
- ENUMLOGFONTEXW elfEnumLogfontEx;
- DESIGNVECTOR elfDesignVector;
-} ENUMLOGFONTEXDVW, *PENUMLOGFONTEXDVW, *LPENUMLOGFONTEXDVW;
-#endif /* _WIN32_WINNT >= 0x0500 */
-typedef USHORT COLOR16;
-typedef struct _TRIVERTEX {
- LONG x;
- LONG y;
- COLOR16 Red;
- COLOR16 Green;
- COLOR16 Blue;
- COLOR16 Alpha;
-} TRIVERTEX, *PTRIVERTEX, *LPTRIVERTEX;
-typedef struct _GRADIENT_TRIANGLE {
- ULONG Vertex1;
- ULONG Vertex2;
- ULONG Vertex3;
-} GRADIENT_TRIANGLE,*PGRADIENT_TRIANGLE,*LPGRADIENT_TRIANGLE;
-typedef struct _GRADIENT_RECT {
- ULONG UpperLeft;
- ULONG LowerRight;
-}GRADIENT_RECT,*PGRADIENT_RECT,*LPGRADIENT_RECT;
-typedef struct _DISPLAY_DEVICEA {
- DWORD cb;
- CHAR DeviceName[32];
- CHAR DeviceString[128];
- DWORD StateFlags;
- CHAR DeviceID[128];
- CHAR DeviceKey[128];
-} DISPLAY_DEVICEA, *PDISPLAY_DEVICEA, *LPDISPLAY_DEVICEA;
-typedef struct _DISPLAY_DEVICEW {
- DWORD cb;
- WCHAR DeviceName[32];
- WCHAR DeviceString[128];
- DWORD StateFlags;
- WCHAR DeviceID[128];
- WCHAR DeviceKey[128];
-} DISPLAY_DEVICEW, *PDISPLAY_DEVICEW, *LPDISPLAY_DEVICEW;
-
-typedef BOOL (CALLBACK *ABORTPROC)(HDC,int);
-typedef int (CALLBACK *MFENUMPROC)(HDC,HANDLETABLE*,METARECORD*,int,LPARAM);
-typedef int (CALLBACK *ENHMFENUMPROC)(HDC,HANDLETABLE*,ENHMETARECORD*,int,LPARAM);
-typedef int (CALLBACK *OLDFONTENUMPROCA)(const LOGFONTA*,const TEXTMETRICA*,DWORD,LPARAM);
-typedef int (CALLBACK *OLDFONTENUMPROCW)(const LOGFONTW*,const TEXTMETRICW*,DWORD,LPARAM);
-typedef OLDFONTENUMPROCA FONTENUMPROCA;
-typedef OLDFONTENUMPROCW FONTENUMPROCW;
-typedef int (CALLBACK *ICMENUMPROCA)(LPSTR,LPARAM);
-typedef int (CALLBACK *ICMENUMPROCW)(LPWSTR,LPARAM);
-typedef void (CALLBACK *GOBJENUMPROC)(LPVOID,LPARAM);
-typedef void (CALLBACK *LINEDDAPROC)(int,int,LPARAM);
-typedef UINT (CALLBACK *LPFNDEVMODE)(HWND,HMODULE,LPDEVMODEA,LPSTR,LPSTR,LPDEVMODEA,LPSTR,UINT);
-typedef DWORD (CALLBACK *LPFNDEVCAPS)(LPSTR,LPSTR,UINT,LPSTR,LPDEVMODEA);
-
-#define MAKEPOINTS(l) (*((POINTS*)&(l)))
-#define MAKEROP4(f,b) (DWORD)((((b)<<8)&0xFF000000)|(f))
-
-#define GetCValue(cmyk) ((BYTE)(cmyk))
-#define GetMValue(cmyk) ((BYTE)((cmyk)>> 8))
-#define GetYValue(cmyk) ((BYTE)((cmyk)>>16))
-#define GetKValue(cmyk) ((BYTE)((cmyk)>>24))
-#define CMYK(c,m,y,k) ((COLORREF)((BYTE)(k)|((BYTE)(y)<<8)|((BYTE)(m)<<16)|((BYTE)(c)<<24)))
-
-#define GetRValue(c) ((BYTE)(c))
-#define GetGValue(c) ((BYTE)(((WORD)(c))>>8))
-#define GetBValue(c) ((BYTE)((c)>>16))
-#define RGB(r,g,b) ((COLORREF)((BYTE)(r)|((BYTE)(g) << 8)|((BYTE)(b) << 16)))
-
-#define PALETTEINDEX(i) ((0x01000000|(COLORREF)(WORD)(i)))
-#define PALETTERGB(r,g,b) (0x02000000|RGB(r,g,b))
-
-WINGDIAPI int WINAPI AbortDoc(HDC);
-WINGDIAPI BOOL WINAPI AbortPath(HDC);
-WINGDIAPI int WINAPI AddFontResourceA(LPCSTR);
-WINGDIAPI int WINAPI AddFontResourceW(LPCWSTR);
-#if (_WIN32_WINNT >= 0x0500)
-WINGDIAPI HANDLE WINAPI AddFontMemResourceEx(PVOID,DWORD,PVOID,DWORD *);
-WINGDIAPI int WINAPI AddFontResourceExA(LPCSTR,DWORD,PVOID);
-WINGDIAPI int WINAPI AddFontResourceExW(LPCWSTR,DWORD,PVOID);
-#endif
-WINGDIAPI BOOL WINAPI AngleArc(HDC,int,int,DWORD,FLOAT,FLOAT);
-WINGDIAPI BOOL WINAPI AnimatePalette(HPALETTE,UINT,UINT,const PALETTEENTRY*);
-WINGDIAPI BOOL WINAPI Arc(HDC,int,int,int,int,int,int,int,int);
-WINGDIAPI BOOL WINAPI ArcTo(HDC,int,int,int,int,int,int,int,int);
-WINGDIAPI BOOL WINAPI BeginPath(HDC);
-WINGDIAPI BOOL WINAPI BitBlt(HDC,int,int,int,int,HDC,int,int,DWORD);
-WINGDIAPI BOOL WINAPI CancelDC(HDC);
-WINGDIAPI BOOL WINAPI CheckColorsInGamut(HDC,PVOID,PVOID,DWORD);
-WINGDIAPI BOOL WINAPI Chord(HDC,int,int,int,int,int,int,int,int);
-WINGDIAPI int WINAPI ChoosePixelFormat(HDC,CONST PIXELFORMATDESCRIPTOR*);
-WINGDIAPI HENHMETAFILE WINAPI CloseEnhMetaFile(HDC);
-WINGDIAPI BOOL WINAPI CloseFigure(HDC);
-WINGDIAPI HMETAFILE WINAPI CloseMetaFile(HDC);
-WINGDIAPI BOOL WINAPI ColorMatchToTarget(HDC,HDC,DWORD);
-WINGDIAPI int WINAPI CombineRgn(HRGN,HRGN,HRGN,int);
-WINGDIAPI BOOL WINAPI CombineTransform(LPXFORM,const XFORM*,const XFORM*);
-WINGDIAPI HENHMETAFILE WINAPI CopyEnhMetaFileA(HENHMETAFILE,LPCSTR);
-WINGDIAPI HENHMETAFILE WINAPI CopyEnhMetaFileW(HENHMETAFILE,LPCWSTR);
-WINGDIAPI HMETAFILE WINAPI CopyMetaFileA(HMETAFILE,LPCSTR);
-WINGDIAPI HMETAFILE WINAPI CopyMetaFileW(HMETAFILE,LPCWSTR);
-WINGDIAPI HBITMAP WINAPI CreateBitmap(int,int,UINT,UINT,PCVOID);
-WINGDIAPI HBITMAP WINAPI CreateBitmapIndirect(const BITMAP*);
-WINGDIAPI HBRUSH WINAPI CreateBrushIndirect(const LOGBRUSH*);
-WINGDIAPI HCOLORSPACE WINAPI CreateColorSpaceA(LPLOGCOLORSPACEA);
-WINGDIAPI HCOLORSPACE WINAPI CreateColorSpaceW(LPLOGCOLORSPACEW);
-WINGDIAPI HBITMAP WINAPI CreateCompatibleBitmap(HDC,int,int);
-WINGDIAPI HDC WINAPI CreateCompatibleDC(HDC);
-WINGDIAPI HDC WINAPI CreateDCA(LPCSTR,LPCSTR,LPCSTR,const DEVMODEA*);
-WINGDIAPI HDC WINAPI CreateDCW(LPCWSTR,LPCWSTR,LPCWSTR,const DEVMODEW*);
-WINGDIAPI HBITMAP WINAPI CreateDIBitmap(HDC,const BITMAPINFOHEADER*,DWORD,PCVOID,const BITMAPINFO*,UINT);
-WINGDIAPI HBRUSH WINAPI CreateDIBPatternBrush(HGLOBAL,UINT);
-WINGDIAPI HBRUSH WINAPI CreateDIBPatternBrushPt(PCVOID,UINT);
-WINGDIAPI HBITMAP WINAPI CreateDIBSection(HDC,const BITMAPINFO*,UINT,void**,HANDLE,DWORD);
-WINGDIAPI HBITMAP WINAPI CreateDiscardableBitmap(HDC,int,int);
-WINGDIAPI HRGN WINAPI CreateEllipticRgn(int,int,int,int);
-WINGDIAPI HRGN WINAPI CreateEllipticRgnIndirect(LPCRECT);
-WINGDIAPI HDC WINAPI CreateEnhMetaFileA(HDC,LPCSTR,LPCRECT,LPCSTR);
-WINGDIAPI HDC WINAPI CreateEnhMetaFileW(HDC,LPCWSTR,LPCRECT,LPCWSTR);
-WINGDIAPI HFONT WINAPI CreateFontA(int,int,int,int,int,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,LPCSTR);
-WINGDIAPI HFONT WINAPI CreateFontW(int,int,int,int,int,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,LPCWSTR);
-WINGDIAPI HFONT WINAPI CreateFontIndirectA(const LOGFONTA*);
-WINGDIAPI HFONT WINAPI CreateFontIndirectW(const LOGFONTW*);
-WINGDIAPI HPALETTE WINAPI CreateHalftonePalette(HDC);
-WINGDIAPI HBRUSH WINAPI CreateHatchBrush(int,COLORREF);
-WINGDIAPI HDC WINAPI CreateICA(LPCSTR,LPCSTR,LPCSTR,const DEVMODEA*);
-WINGDIAPI HDC WINAPI CreateICW(LPCWSTR,LPCWSTR,LPCWSTR,const DEVMODEW*);
-WINGDIAPI HDC WINAPI CreateMetaFileA(LPCSTR);
-WINGDIAPI HDC WINAPI CreateMetaFileW(LPCWSTR);
-WINGDIAPI HPALETTE WINAPI CreatePalette(const LOGPALETTE*);
-WINGDIAPI HBRUSH WINAPI CreatePatternBrush(HBITMAP);
-WINGDIAPI HPEN WINAPI CreatePen(int,int,COLORREF);
-WINGDIAPI HPEN WINAPI CreatePenIndirect(const LOGPEN*);
-WINGDIAPI HRGN WINAPI CreatePolygonRgn(const POINT*,int,int);
-WINGDIAPI HRGN WINAPI CreatePolyPolygonRgn(const POINT*,const INT*,int,int);
-WINGDIAPI HRGN WINAPI CreateRectRgn(int,int,int,int);
-WINGDIAPI HRGN WINAPI CreateRectRgnIndirect(LPCRECT);
-WINGDIAPI HRGN WINAPI CreateRoundRectRgn(int,int,int,int,int,int);
-WINGDIAPI BOOL WINAPI CreateScalableFontResourceA(DWORD,LPCSTR,LPCSTR,LPCSTR);
-WINGDIAPI BOOL WINAPI CreateScalableFontResourceW(DWORD,LPCWSTR,LPCWSTR,LPCWSTR);
-WINGDIAPI HBRUSH WINAPI CreateSolidBrush(COLORREF);
-WINGDIAPI BOOL WINAPI DeleteColorSpace(HCOLORSPACE);
-WINGDIAPI BOOL WINAPI DeleteDC(HDC);
-WINGDIAPI BOOL WINAPI DeleteEnhMetaFile(HENHMETAFILE);
-WINGDIAPI BOOL WINAPI DeleteMetaFile(HMETAFILE);
-WINGDIAPI BOOL WINAPI DeleteObject(HGDIOBJ);
-WINGDIAPI int WINAPI DescribePixelFormat(HDC,int,UINT,LPPIXELFORMATDESCRIPTOR);
-WINGDIAPI DWORD WINAPI DeviceCapabilitiesA(LPCSTR,LPCSTR,WORD,LPSTR,const DEVMODEA*);
-WINGDIAPI DWORD WINAPI DeviceCapabilitiesW(LPCWSTR,LPCWSTR,WORD,LPWSTR,const DEVMODEW*);
-WINGDIAPI BOOL WINAPI DPtoLP(HDC,LPPOINT,int);
-WINGDIAPI int WINAPI DrawEscape(HDC,int,int,LPCSTR);
-WINGDIAPI BOOL WINAPI Ellipse(HDC,int,int,int,int);
-WINGDIAPI int WINAPI EndDoc(HDC);
-WINGDIAPI int WINAPI EndPage(HDC);
-WINGDIAPI BOOL WINAPI EndPath(HDC);
-WINGDIAPI BOOL WINAPI EnumEnhMetaFile(HDC,HENHMETAFILE,ENHMFENUMPROC,PVOID,LPCRECT);
-WINGDIAPI int WINAPI EnumFontFamiliesA(HDC,LPCSTR,FONTENUMPROCA,LPARAM);
-WINGDIAPI int WINAPI EnumFontFamiliesW(HDC,LPCWSTR,FONTENUMPROCW,LPARAM);
-WINGDIAPI int WINAPI EnumFontFamiliesExA(HDC,PLOGFONTA,FONTENUMPROCA,LPARAM,DWORD);
-WINGDIAPI int WINAPI EnumFontFamiliesExW(HDC,PLOGFONTW,FONTENUMPROCW,LPARAM,DWORD);
-WINGDIAPI int WINAPI EnumFontsA(HDC,LPCSTR,FONTENUMPROCA,LPARAM);
-WINGDIAPI int WINAPI EnumFontsW(HDC,LPCWSTR,FONTENUMPROCW,LPARAM);
-WINGDIAPI int WINAPI EnumICMProfilesA(HDC,ICMENUMPROCA,LPARAM);
-WINGDIAPI int WINAPI EnumICMProfilesW(HDC,ICMENUMPROCW,LPARAM);
-WINGDIAPI BOOL WINAPI EnumMetaFile(HDC,HMETAFILE,MFENUMPROC,LPARAM);
-WINGDIAPI int WINAPI EnumObjects(HDC,int,GOBJENUMPROC,LPARAM);
-WINGDIAPI BOOL WINAPI EqualRgn(HRGN,HRGN);
-WINGDIAPI int WINAPI Escape(HDC,int,int,LPCSTR,PVOID);
-WINGDIAPI int WINAPI ExcludeClipRect(HDC,int,int,int,int);
-WINGDIAPI int WINAPI ExcludeUpdateRgn(HDC,HWND);
-WINGDIAPI HPEN WINAPI ExtCreatePen(DWORD,DWORD,const LOGBRUSH*,DWORD,const DWORD*);
-WINGDIAPI HRGN WINAPI ExtCreateRegion(const XFORM*,DWORD,const RGNDATA*);
-WINGDIAPI int WINAPI ExtEscape(HDC,int,int,LPCSTR,int,LPSTR);
-WINGDIAPI BOOL WINAPI ExtFloodFill(HDC,int,int,COLORREF,UINT);
-WINGDIAPI int WINAPI ExtSelectClipRgn(HDC,HRGN,int);
-WINGDIAPI BOOL WINAPI ExtTextOutA(HDC,int,int,UINT,LPCRECT,LPCSTR,UINT,const INT*);
-WINGDIAPI BOOL WINAPI ExtTextOutW(HDC,int,int,UINT,LPCRECT,LPCWSTR,UINT,const INT*);
-WINGDIAPI BOOL WINAPI FillPath(HDC);
-WINGDIAPI int WINAPI FillRect(HDC,LPCRECT,HBRUSH);
-WINGDIAPI int WINAPI FillRgn(HDC,HRGN,HBRUSH);
-WINGDIAPI BOOL WINAPI FixBrushOrgEx(HDC,int,int,LPPOINT);
-WINGDIAPI BOOL WINAPI FlattenPath(HDC);
-WINGDIAPI BOOL WINAPI FloodFill(HDC,int,int,COLORREF);
-WINGDIAPI BOOL WINAPI GdiComment(HDC,UINT,const BYTE*);
-WINGDIAPI BOOL WINAPI GdiFlush(void);
-WINGDIAPI DWORD WINAPI GdiGetBatchLimit(void);
-WINGDIAPI DWORD WINAPI GdiSetBatchLimit(DWORD);
-WINGDIAPI int WINAPI GetArcDirection(HDC);
-WINGDIAPI BOOL WINAPI GetAspectRatioFilterEx(HDC,LPSIZE);
-WINGDIAPI LONG WINAPI GetBitmapBits(HBITMAP,LONG,PVOID);
-WINGDIAPI BOOL WINAPI GetBitmapDimensionEx(HBITMAP,LPSIZE);
-WINGDIAPI COLORREF WINAPI GetBkColor(HDC);
-WINGDIAPI int WINAPI GetBkMode(HDC);
-WINGDIAPI UINT WINAPI GetBoundsRect(HDC,LPRECT,UINT);
-WINGDIAPI BOOL WINAPI GetBrushOrgEx(HDC,LPPOINT);
-WINGDIAPI BOOL WINAPI GetCharABCWidthsA(HDC,UINT,UINT,LPABC);
-WINGDIAPI BOOL WINAPI GetCharABCWidthsW(HDC,UINT,UINT,LPABC);
-WINGDIAPI BOOL WINAPI GetCharABCWidthsFloatA(HDC,UINT,UINT,LPABCFLOAT);
-WINGDIAPI BOOL WINAPI GetCharABCWidthsFloatW(HDC,UINT,UINT,LPABCFLOAT);
-WINGDIAPI DWORD WINAPI GetCharacterPlacementA(HDC,LPCSTR,int,int,LPGCP_RESULTSA,DWORD);
-WINGDIAPI DWORD WINAPI GetCharacterPlacementW(HDC,LPCWSTR,int,int,LPGCP_RESULTSW,DWORD);
-WINGDIAPI BOOL WINAPI GetCharWidth32A(HDC,UINT,UINT,LPINT);
-WINGDIAPI BOOL WINAPI GetCharWidth32W(HDC,UINT,UINT,LPINT);
-WINGDIAPI BOOL WINAPI GetCharWidthA(HDC,UINT,UINT,LPINT);
-WINGDIAPI BOOL WINAPI GetCharWidthW(HDC,UINT,UINT,LPINT);
-WINGDIAPI BOOL WINAPI GetCharWidthFloatA(HDC,UINT,UINT,PFLOAT);
-WINGDIAPI BOOL WINAPI GetCharWidthFloatW(HDC,UINT,UINT,PFLOAT);
-WINGDIAPI int WINAPI GetClipBox(HDC,LPRECT);
-WINGDIAPI int WINAPI GetClipRgn(HDC,HRGN);
-WINGDIAPI BOOL WINAPI GetColorAdjustment(HDC,LPCOLORADJUSTMENT);
-WINGDIAPI HANDLE WINAPI GetColorSpace(HDC);
-WINGDIAPI HGDIOBJ WINAPI GetCurrentObject(HDC,UINT);
-WINGDIAPI BOOL WINAPI GetCurrentPositionEx(HDC,LPPOINT);
-WINGDIAPI HCURSOR WINAPI GetCursor(void);
-WINGDIAPI BOOL WINAPI GetDCOrgEx(HDC,LPPOINT);
-WINGDIAPI int WINAPI GetDeviceCaps(HDC,int);
-WINGDIAPI BOOL WINAPI GetDeviceGammaRamp(HDC,PVOID);
-WINGDIAPI UINT WINAPI GetDIBColorTable(HDC,UINT,UINT,RGBQUAD*);
-WINGDIAPI int WINAPI GetDIBits(HDC,HBITMAP,UINT,UINT,PVOID,LPBITMAPINFO,UINT);
-WINGDIAPI HENHMETAFILE WINAPI GetEnhMetaFileA(LPCSTR);
-WINGDIAPI HENHMETAFILE WINAPI GetEnhMetaFileW(LPCWSTR);
-WINGDIAPI UINT WINAPI GetEnhMetaFileBits(HENHMETAFILE,UINT,LPBYTE);
-WINGDIAPI UINT WINAPI GetEnhMetaFileDescriptionA(HENHMETAFILE,UINT,LPSTR);
-WINGDIAPI UINT WINAPI GetEnhMetaFileDescriptionW(HENHMETAFILE,UINT,LPWSTR);
-WINGDIAPI UINT WINAPI GetEnhMetaFileHeader(HENHMETAFILE,UINT,LPENHMETAHEADER);
-WINGDIAPI UINT WINAPI GetEnhMetaFilePaletteEntries(HENHMETAFILE,UINT,LPPALETTEENTRY);
-WINGDIAPI UINT WINAPI GetEnhMetaFilePixelFormat(HENHMETAFILE,DWORD,CONST PIXELFORMATDESCRIPTOR*);
-WINGDIAPI DWORD WINAPI GetFontData(HDC,DWORD,DWORD,PVOID,DWORD);
-WINGDIAPI DWORD WINAPI GetFontLanguageInfo(HDC);
-WINGDIAPI DWORD WINAPI GetGlyphOutlineA(HDC,UINT,UINT,LPGLYPHMETRICS,DWORD,PVOID,const MAT2*);
-WINGDIAPI DWORD WINAPI GetGlyphOutlineW(HDC,UINT,UINT,LPGLYPHMETRICS,DWORD,PVOID,const MAT2*);
-WINGDIAPI int WINAPI GetGraphicsMode(HDC);
-WINGDIAPI BOOL WINAPI GetICMProfileA(HDC,LPDWORD,LPSTR);
-WINGDIAPI BOOL WINAPI GetICMProfileW(HDC,LPDWORD,LPWSTR);
-WINGDIAPI DWORD WINAPI GetKerningPairsA(HDC,DWORD,LPKERNINGPAIR);
-WINGDIAPI DWORD WINAPI GetKerningPairsW(HDC,DWORD,LPKERNINGPAIR);
-WINGDIAPI BOOL WINAPI GetLogColorSpaceA(HCOLORSPACE,LPLOGCOLORSPACEA,DWORD);
-WINGDIAPI BOOL WINAPI GetLogColorSpaceW(HCOLORSPACE,LPLOGCOLORSPACEW,DWORD);
-WINGDIAPI int WINAPI GetMapMode(HDC);
-WINGDIAPI HMETAFILE WINAPI GetMetaFileA(LPCSTR);
-WINGDIAPI HMETAFILE WINAPI GetMetaFileW(LPCWSTR);
-WINGDIAPI UINT WINAPI GetMetaFileBitsEx(HMETAFILE,UINT,PVOID);
-WINGDIAPI int WINAPI GetMetaRgn(HDC,HRGN);
-WINGDIAPI BOOL WINAPI GetMiterLimit(HDC,PFLOAT);
-WINGDIAPI COLORREF WINAPI GetNearestColor(HDC,COLORREF);
-WINGDIAPI UINT WINAPI GetNearestPaletteIndex(HPALETTE,COLORREF);
-WINGDIAPI int WINAPI GetObjectA(HGDIOBJ,int,PVOID);
-WINGDIAPI int WINAPI GetObjectW(HGDIOBJ,int,PVOID);
-WINGDIAPI DWORD WINAPI GetObjectType(HGDIOBJ);
-WINGDIAPI UINT WINAPI GetOutlineTextMetricsA(HDC,UINT,LPOUTLINETEXTMETRICA);
-WINGDIAPI UINT WINAPI GetOutlineTextMetricsW(HDC,UINT,LPOUTLINETEXTMETRICW);
-WINGDIAPI UINT WINAPI GetPaletteEntries(HPALETTE,UINT,UINT,LPPALETTEENTRY);
-WINGDIAPI int WINAPI GetPath(HDC,LPPOINT,PBYTE,int);
-WINGDIAPI COLORREF WINAPI GetPixel(HDC,int,int);
-WINGDIAPI int WINAPI GetPixelFormat(HDC);
-WINGDIAPI int WINAPI GetPolyFillMode(HDC);
-WINGDIAPI BOOL WINAPI GetRasterizerCaps(LPRASTERIZER_STATUS,UINT);
-WINGDIAPI int WINAPI GetRandomRgn (HDC,HRGN,INT);
-WINGDIAPI DWORD WINAPI GetRegionData(HRGN,DWORD,LPRGNDATA);
-WINGDIAPI int WINAPI GetRgnBox(HRGN,LPRECT);
-WINGDIAPI int WINAPI GetROP2(HDC);
-WINGDIAPI HGDIOBJ WINAPI GetStockObject(int);
-WINGDIAPI int WINAPI GetStretchBltMode(HDC);
-WINGDIAPI UINT WINAPI GetSystemPaletteEntries(HDC,UINT,UINT,LPPALETTEENTRY);
-WINGDIAPI UINT WINAPI GetSystemPaletteUse(HDC);
-WINGDIAPI UINT WINAPI GetTextAlign(HDC);
-WINGDIAPI int WINAPI GetTextCharacterExtra(HDC);
-WINGDIAPI int WINAPI GetTextCharset(HDC);
-WINGDIAPI int WINAPI GetTextCharsetInfo(HDC,LPFONTSIGNATURE,DWORD);
-WINGDIAPI COLORREF WINAPI GetTextColor(HDC);
-WINGDIAPI BOOL WINAPI GetTextExtentExPointA(HDC,LPCSTR,int,int,LPINT,LPINT,LPSIZE);
-WINGDIAPI BOOL WINAPI GetTextExtentExPointW( HDC,LPCWSTR,int,int,LPINT,LPINT,LPSIZE );
-WINGDIAPI BOOL WINAPI GetTextExtentPointA(HDC,LPCSTR,int,LPSIZE);
-WINGDIAPI BOOL WINAPI GetTextExtentPointW(HDC,LPCWSTR,int,LPSIZE);
-WINGDIAPI BOOL WINAPI GetTextExtentPoint32A(HDC,LPCSTR,int,LPSIZE);
-WINGDIAPI BOOL WINAPI GetTextExtentPoint32W( HDC,LPCWSTR,int,LPSIZE);
-WINGDIAPI int WINAPI GetTextFaceA(HDC,int,LPSTR);
-WINGDIAPI int WINAPI GetTextFaceW(HDC,int,LPWSTR);
-WINGDIAPI BOOL WINAPI GetTextMetricsA(HDC,LPTEXTMETRICA);
-WINGDIAPI BOOL WINAPI GetTextMetricsW(HDC,LPTEXTMETRICW);
-WINGDIAPI BOOL WINAPI GetViewportExtEx(HDC,LPSIZE);
-WINGDIAPI BOOL WINAPI GetViewportOrgEx(HDC,LPPOINT);
-WINGDIAPI BOOL WINAPI GetWindowExtEx(HDC,LPSIZE);
-WINGDIAPI BOOL WINAPI GetWindowOrgEx(HDC,LPPOINT);
-WINGDIAPI UINT WINAPI GetWinMetaFileBits(HENHMETAFILE,UINT,LPBYTE,INT,HDC);
-WINGDIAPI BOOL WINAPI GetWorldTransform(HDC,LPXFORM);
-WINGDIAPI int WINAPI IntersectClipRect(HDC,int,int,int,int);
-WINGDIAPI BOOL WINAPI InvertRgn(HDC,HRGN);
-WINGDIAPI BOOL WINAPI LineDDA(int,int,int,int,LINEDDAPROC,LPARAM);
-WINGDIAPI BOOL WINAPI LineTo(HDC,int,int);
-WINGDIAPI BOOL WINAPI LPtoDP(HDC,LPPOINT,int);
-WINGDIAPI BOOL WINAPI MaskBlt(HDC,int,int,int,int,HDC,int,int,HBITMAP,int,int,DWORD);
-WINGDIAPI BOOL WINAPI ModifyWorldTransform(HDC,const XFORM*,DWORD);
-WINGDIAPI BOOL WINAPI MoveToEx(HDC,int,int,LPPOINT);
-WINGDIAPI int WINAPI OffsetClipRgn(HDC,int,int);
-WINGDIAPI int WINAPI OffsetRgn(HRGN,int,int);
-WINGDIAPI BOOL WINAPI OffsetViewportOrgEx(HDC,int,int,LPPOINT);
-WINGDIAPI BOOL WINAPI OffsetWindowOrgEx(HDC,int,int,LPPOINT);
-WINGDIAPI BOOL WINAPI PaintRgn(HDC,HRGN);
-WINGDIAPI BOOL WINAPI PatBlt(HDC,int,int,int,int,DWORD);
-WINGDIAPI HRGN WINAPI PathToRegion(HDC);
-WINGDIAPI BOOL WINAPI Pie(HDC,int,int,int,int,int,int,int,int);
-WINGDIAPI BOOL WINAPI PlayEnhMetaFile(HDC,HENHMETAFILE,LPCRECT);
-WINGDIAPI BOOL WINAPI PlayEnhMetaFileRecord(HDC,LPHANDLETABLE,const ENHMETARECORD*,UINT);
-WINGDIAPI BOOL WINAPI PlayMetaFile(HDC,HMETAFILE);
-WINGDIAPI BOOL WINAPI PlayMetaFileRecord(HDC,LPHANDLETABLE,LPMETARECORD,UINT);
-WINGDIAPI BOOL WINAPI PlgBlt(HDC,const POINT*,HDC,int,int,int,int,HBITMAP,int,int);
-WINGDIAPI BOOL WINAPI PolyBezier(HDC,const POINT*,DWORD);
-WINGDIAPI BOOL WINAPI PolyBezierTo(HDC,const POINT*,DWORD);
-WINGDIAPI BOOL WINAPI PolyDraw(HDC,const POINT*,const BYTE*,int);
-WINGDIAPI BOOL WINAPI Polygon(HDC,const POINT*,int);
-WINGDIAPI BOOL WINAPI Polyline(HDC,const POINT*,int);
-WINGDIAPI BOOL WINAPI PolylineTo(HDC,const POINT*,DWORD);
-WINGDIAPI BOOL WINAPI PolyPolygon(HDC,const POINT*,const INT*,int);
-WINGDIAPI BOOL WINAPI PolyPolyline(HDC,const POINT*,const DWORD*,DWORD);
-WINGDIAPI BOOL WINAPI PolyTextOutA(HDC,const POLYTEXTA*,int);
-WINGDIAPI BOOL WINAPI PolyTextOutW(HDC,const POLYTEXTW*,int);
-WINGDIAPI BOOL WINAPI PtInRegion(HRGN,int,int);
-WINGDIAPI BOOL WINAPI PtVisible(HDC,int,int);
-WINGDIAPI UINT WINAPI RealizePalette(HDC);
-WINGDIAPI BOOL WINAPI Rectangle(HDC,int,int,int,int);
-WINGDIAPI BOOL WINAPI RectInRegion(HRGN,LPCRECT);
-WINGDIAPI BOOL WINAPI RectVisible(HDC,LPCRECT);
-WINGDIAPI BOOL WINAPI RemoveFontResourceA(LPCSTR);
-WINGDIAPI BOOL WINAPI RemoveFontResourceW(LPCWSTR);
-#if (_WIN32_WINNT >= 0x0500)
-WINGDIAPI BOOL WINAPI RemoveFontMemResourceEx(HANDLE);
-WINGDIAPI BOOL WINAPI RemoveFontResourceExA(LPCSTR,DWORD,PVOID);
-WINGDIAPI BOOL WINAPI RemoveFontResourceExW(LPCWSTR,DWORD,PVOID);
-#endif
-WINGDIAPI HDC WINAPI ResetDCA(HDC,const DEVMODEA*);
-WINGDIAPI HDC WINAPI ResetDCW(HDC,const DEVMODEW*);
-WINGDIAPI BOOL WINAPI ResizePalette(HPALETTE,UINT);
-WINGDIAPI BOOL WINAPI RestoreDC(HDC,int);
-WINGDIAPI BOOL WINAPI RoundRect(HDC,int,int,int,int,int,int);
-WINGDIAPI int WINAPI SaveDC(HDC);
-WINGDIAPI BOOL WINAPI ScaleViewportExtEx(HDC,int,int,int,int,LPSIZE);
-WINGDIAPI BOOL WINAPI ScaleWindowExtEx(HDC,int,int,int,int,LPSIZE);
-WINGDIAPI BOOL WINAPI SelectClipPath(HDC,int);
-WINGDIAPI int WINAPI SelectClipRgn(HDC,HRGN);
-WINGDIAPI HGDIOBJ WINAPI SelectObject(HDC,HGDIOBJ);
-WINGDIAPI HPALETTE WINAPI SelectPalette(HDC,HPALETTE,BOOL);
-WINGDIAPI int WINAPI SetAbortProc(HDC,ABORTPROC);
-WINGDIAPI int WINAPI SetArcDirection(HDC,int);
-WINGDIAPI LONG WINAPI SetBitmapBits(HBITMAP,DWORD,PCVOID);
-WINGDIAPI BOOL WINAPI SetBitmapDimensionEx(HBITMAP,int,int,LPSIZE);
-WINGDIAPI COLORREF WINAPI SetBkColor(HDC,COLORREF);
-WINGDIAPI int WINAPI SetBkMode(HDC,int);
-WINGDIAPI UINT WINAPI SetBoundsRect(HDC,LPCRECT,UINT);
-WINGDIAPI BOOL WINAPI SetBrushOrgEx(HDC,int,int,LPPOINT);
-WINGDIAPI BOOL WINAPI SetColorAdjustment(HDC,const COLORADJUSTMENT*);
-WINGDIAPI BOOL WINAPI SetColorSpace(HDC,HCOLORSPACE);
-#if (_WIN32_WINNT >= 0x0500)
-WINGDIAPI COLORREF WINAPI SetDCBrushColor(HDC,COLORREF);
-WINGDIAPI COLORREF WINAPI SetDCPenColor(HDC,COLORREF);
-#endif
-WINGDIAPI BOOL WINAPI SetDeviceGammaRamp(HDC,PVOID);
-WINGDIAPI UINT WINAPI SetDIBColorTable(HDC,UINT,UINT,const RGBQUAD*);
-WINGDIAPI int WINAPI SetDIBits(HDC,HBITMAP,UINT,UINT,PCVOID,const BITMAPINFO*,UINT);
-WINGDIAPI int WINAPI SetDIBitsToDevice(HDC,int,int,DWORD,DWORD,int,int,UINT,UINT,PCVOID,const BITMAPINFO*,UINT);
-WINGDIAPI HENHMETAFILE WINAPI SetEnhMetaFileBits(UINT,const BYTE*);
-WINGDIAPI int WINAPI SetGraphicsMode(HDC,int);
-WINGDIAPI int WINAPI SetICMMode(HDC,int);
-WINGDIAPI BOOL WINAPI SetICMProfileA(HDC,LPSTR);
-WINGDIAPI BOOL WINAPI SetICMProfileW(HDC,LPWSTR);
-WINGDIAPI int WINAPI SetMapMode(HDC,int);
-WINGDIAPI DWORD WINAPI SetMapperFlags(HDC,DWORD);
-WINGDIAPI HMETAFILE WINAPI SetMetaFileBitsEx(UINT,const BYTE *);
-WINGDIAPI int WINAPI SetMetaRgn(HDC);
-WINGDIAPI BOOL WINAPI SetMiterLimit(HDC,FLOAT,PFLOAT);
-WINGDIAPI UINT WINAPI SetPaletteEntries(HPALETTE,UINT,UINT,const PALETTEENTRY*);
-WINGDIAPI COLORREF WINAPI SetPixel(HDC,int,int,COLORREF);
-WINGDIAPI BOOL WINAPI SetPixelFormat(HDC,int,const PIXELFORMATDESCRIPTOR*);
-WINGDIAPI BOOL WINAPI SetPixelV(HDC,int,int,COLORREF);
-WINGDIAPI int WINAPI SetPolyFillMode(HDC,int);
-WINGDIAPI BOOL WINAPI SetRectRgn(HRGN,int,int,int,int);
-WINGDIAPI int WINAPI SetROP2(HDC,int);
-WINGDIAPI int WINAPI SetStretchBltMode(HDC,int);
-WINGDIAPI UINT WINAPI SetSystemPaletteUse(HDC,UINT);
-WINGDIAPI UINT WINAPI SetTextAlign(HDC,UINT);
-WINGDIAPI int WINAPI SetTextCharacterExtra(HDC,int);
-WINGDIAPI COLORREF WINAPI SetTextColor(HDC,COLORREF);
-WINGDIAPI BOOL WINAPI SetTextJustification(HDC,int,int);
-WINGDIAPI BOOL WINAPI SetViewportExtEx(HDC,int,int,LPSIZE);
-WINGDIAPI BOOL WINAPI SetViewportOrgEx(HDC,int,int,LPPOINT);
-WINGDIAPI BOOL WINAPI SetWindowExtEx(HDC,int,int,LPSIZE);
-WINGDIAPI BOOL WINAPI SetWindowOrgEx(HDC,int,int,LPPOINT);
-WINGDIAPI HENHMETAFILE WINAPI SetWinMetaFileBits(UINT,const BYTE*,HDC,const METAFILEPICT*);
-WINGDIAPI BOOL WINAPI SetWorldTransform(HDC,const XFORM *);
-WINGDIAPI int WINAPI StartDocA(HDC,const DOCINFOA*);
-WINGDIAPI int WINAPI StartDocW(HDC,const DOCINFOW*);
-WINGDIAPI int WINAPI StartPage(HDC);
-WINGDIAPI BOOL WINAPI StretchBlt(HDC,int,int,int,int,HDC,int,int,int,int,DWORD);
-WINGDIAPI int WINAPI StretchDIBits(HDC,int,int,int,int,int,int,int,int,const VOID *,const BITMAPINFO *,UINT,DWORD);
-WINGDIAPI BOOL WINAPI StrokeAndFillPath(HDC);
-WINGDIAPI BOOL WINAPI StrokePath(HDC);
-WINGDIAPI BOOL WINAPI SwapBuffers(HDC);
-WINGDIAPI BOOL WINAPI TextOutA(HDC,int,int,LPCSTR,int);
-WINGDIAPI BOOL WINAPI TextOutW(HDC,int,int,LPCWSTR,int);
-WINGDIAPI BOOL WINAPI TranslateCharsetInfo(PDWORD,LPCHARSETINFO,DWORD);
-WINGDIAPI BOOL WINAPI UnrealizeObject(HGDIOBJ);
-WINGDIAPI BOOL WINAPI UpdateColors(HDC);
-WINGDIAPI BOOL WINAPI UpdateICMRegKeyA(DWORD,DWORD,LPSTR,UINT);
-WINGDIAPI BOOL WINAPI UpdateICMRegKeyW(DWORD,DWORD,LPWSTR,UINT);
-WINGDIAPI BOOL WINAPI WidenPath(HDC);
-WINGDIAPI BOOL WINAPI wglCopyContext(HGLRC,HGLRC,UINT);
-WINGDIAPI HGLRC WINAPI wglCreateContext(HDC);
-WINGDIAPI HGLRC WINAPI wglCreateLayerContext(HDC,int);
-WINGDIAPI BOOL WINAPI wglDeleteContext(HGLRC);
-WINGDIAPI BOOL WINAPI wglDescribeLayerPlane(HDC,int,int,UINT,LPLAYERPLANEDESCRIPTOR);
-WINGDIAPI HGLRC WINAPI wglGetCurrentContext(void);
-WINGDIAPI HDC WINAPI wglGetCurrentDC(void);
-WINGDIAPI int WINAPI wglGetLayerPaletteEntries(HDC,int,int,int,COLORREF*);
-WINGDIAPI PROC WINAPI wglGetProcAddress(LPCSTR);
-WINGDIAPI BOOL WINAPI wglMakeCurrent(HDC,HGLRC);
-WINGDIAPI BOOL WINAPI wglRealizeLayerPalette(HDC,int,BOOL);
-WINGDIAPI int WINAPI wglSetLayerPaletteEntries(HDC,int,int,int,const COLORREF*);
-WINGDIAPI BOOL WINAPI wglShareLists(HGLRC,HGLRC);
-WINGDIAPI BOOL WINAPI wglSwapLayerBuffers(HDC,UINT);
-WINGDIAPI BOOL WINAPI wglUseFontBitmapsA(HDC,DWORD,DWORD,DWORD);
-WINGDIAPI BOOL WINAPI wglUseFontBitmapsW(HDC,DWORD,DWORD,DWORD);
-WINGDIAPI BOOL WINAPI wglUseFontOutlinesA(HDC,DWORD,DWORD,DWORD,FLOAT,FLOAT,int,LPGLYPHMETRICSFLOAT);
-WINGDIAPI BOOL WINAPI wglUseFontOutlinesW(HDC,DWORD,DWORD,DWORD,FLOAT,FLOAT,int,LPGLYPHMETRICSFLOAT);
-#if (WINVER >= 0x0500)
-WINGDIAPI BOOL WINAPI AlphaBlend(HDC,int,int,int,int,HDC,int,int,int,int,BLENDFUNCTION);
-WINGDIAPI BOOL WINAPI GradientFill(HDC,PTRIVERTEX,ULONG,PVOID,ULONG,ULONG);
-WINGDIAPI BOOL WINAPI TransparentBlt(HDC,int,int,int,int,HDC,int,int,int,int,UINT);
-#endif
-#if (_WIN32_WINNT >= 0x0500)
-WINGDIAPI DWORD WINAPI GetFontUnicodeRanges(HDC,LPGLYPHSET);
-WINGDIAPI DWORD WINAPI GetGlyphIndicesA(HDC,LPCSTR,int,LPWORD,DWORD);
-WINGDIAPI DWORD WINAPI GetGlyphIndicesW(HDC,LPCWSTR,int,LPWORD,DWORD);
-#endif
-
-#ifdef UNICODE
-typedef WCHAR BCHAR;
-typedef DOCINFOW DOCINFO, *LPDOCINFO;
-typedef LOGFONTW LOGFONT,*PLOGFONT,*LPLOGFONT;
-typedef TEXTMETRICW TEXTMETRIC,*PTEXTMETRIC,*LPTEXTMETRIC;
-#define ICMENUMPROC ICMENUMPROCW
-#define FONTENUMPROC FONTENUMPROCW
-typedef DEVMODEW DEVMODE,*PDEVMODE,*LPDEVMODE;
-#if _WIN32_WINNT >= 0x0500
-typedef ENUMLOGFONTEXDVW ENUMLOGFONTEXDV;
-typedef PENUMLOGFONTEXDVW PENUMLOGFONTEXDV;
-typedef LPENUMLOGFONTEXDVW LPENUMLOGFONTEXDV;
-#endif
-typedef EXTLOGFONTW EXTLOGFONT,*PEXTLOGFONT,*LPEXTLOGFONT;
-typedef GCP_RESULTSW GCP_RESULTS,*LPGCP_RESULTS;
-typedef OUTLINETEXTMETRICW OUTLINETEXTMETRIC,*POUTLINETEXTMETRIC,*LPOUTLINETEXTMETRIC;
-typedef POLYTEXTW POLYTEXT,*PPOLYTEXT,*LPPOLYTEXT;
-typedef LOGCOLORSPACEW LOGCOLORSPACE,*LPLOGCOLORSPACE;
-typedef NEWTEXTMETRICW NEWTEXTMETRIC,*PNEWTEXTMETRIC,*LPNEWTEXTMETRIC;
-typedef NEWTEXTMETRICEXW NEWTEXTMETRICEX;
-typedef ENUMLOGFONTW ENUMLOGFONT,*LPENUMLOGFONT;
-typedef ENUMLOGFONTEXW ENUMLOGFONTEX,*LPENUMLOGFONTEX;
-typedef DISPLAY_DEVICEW DISPLAY_DEVICE, *PDISPLAY_DEVICE, *LPDISPLAY_DEVICE;
-#define AddFontResource AddFontResourceW
-#if (_WIN32_WINNT >= 0x0500)
-#define AddFontResourceEx AddFontResourceExW
-#endif
-#define CopyEnhMetaFile CopyEnhMetaFileW
-#define CopyMetaFile CopyMetaFileW
-#define CreateDC CreateDCW
-#define CreateEnhMetaFile CreateEnhMetaFileW
-#define CreateFont CreateFontW
-#define CreateFontIndirect CreateFontIndirectW
-#define CreateIC CreateICW
-#define CreateMetaFile CreateMetaFileW
-#define CreateScalableFontResource CreateScalableFontResourceW
-#define DeviceCapabilities DeviceCapabilitiesW
-#define EnumFontFamilies EnumFontFamiliesW
-#define EnumFontFamiliesEx EnumFontFamiliesExW
-#define EnumFonts EnumFontsW
-#define EnumICMProfiles EnumICMProfilesW
-#define ExtTextOut ExtTextOutW
-#define GetCharABCWidthsFloat GetCharABCWidthsFloatW
-#define GetCharABCWidths GetCharABCWidthsW
-#define GetCharacterPlacement GetCharacterPlacementW
-#define GetCharWidth32 GetCharWidth32W
-#define GetCharWidthFloat GetCharWidthFloatW
-#define GetCharWidth GetCharWidthW
-#define GetEnhMetaFile GetEnhMetaFileW
-#define GetEnhMetaFileDescription GetEnhMetaFileDescriptionW
-#define GetGlyphOutline GetGlyphOutlineW
-#define GetICMProfile GetICMProfileW
-#define GetKerningPairs GetKerningPairsW
-#define GetLogColorSpace GetLogColorSpaceW
-#define GetMetaFile GetMetaFileW
-#define GetObject GetObjectW
-#define GetOutlineTextMetrics GetOutlineTextMetricsW
-#define GetTextExtentPoint GetTextExtentPointW
-#define GetTextExtentExPoint GetTextExtentExPointW
-#define GetTextExtentPoint32 GetTextExtentPoint32W
-#define GetTextFace GetTextFaceW
-#define GetTextMetrics GetTextMetricsW
-#define PolyTextOut PolyTextOutW
-#define RemoveFontResource RemoveFontResourceW
-#if (_WIN32_WINNT >= 0x0500)
-#define RemoveFontResourceEx RemoveFontResourceExW
-#endif
-#define ResetDC ResetDCW
-#define SetICMProfile SetICMProfileW
-#define StartDoc StartDocW
-#define TextOut TextOutW
-#define UpdateICMRegKey UpdateICMRegKeyW
-#define wglUseFontBitmaps wglUseFontBitmapsW
-#define wglUseFontOutlines wglUseFontOutlinesW
-#if (_WIN32_WINNT >= 0x0500)
-#define GetGlyphIndices GetGlyphIndicesW
-#endif
-#else /* UNICODE */
-typedef BYTE BCHAR;
-typedef DOCINFOA DOCINFO, *LPDOCINFO;
-typedef LOGFONTA LOGFONT,*PLOGFONT,*LPLOGFONT;
-typedef TEXTMETRICA TEXTMETRIC,*PTEXTMETRIC,*LPTEXTMETRIC;
-#define ICMENUMPROC ICMENUMPROCA
-#define FONTENUMPROC FONTENUMPROCA
-typedef DEVMODEA DEVMODE,*PDEVMODE,*LPDEVMODE;
-#if _WIN32_WINNT >= 0x0500
-typedef ENUMLOGFONTEXDVA ENUMLOGFONTEXDV;
-typedef PENUMLOGFONTEXDVA PENUMLOGFONTEXDV;
-typedef LPENUMLOGFONTEXDVA LPENUMLOGFONTEXDV;
-#endif
-typedef EXTLOGFONTA EXTLOGFONT,*PEXTLOGFONT,*LPEXTLOGFONT;
-typedef GCP_RESULTSA GCP_RESULTS,*LPGCP_RESULTS;
-typedef OUTLINETEXTMETRICA OUTLINETEXTMETRIC,*POUTLINETEXTMETRIC,*LPOUTLINETEXTMETRIC;
-typedef POLYTEXTA POLYTEXT,*PPOLYTEXT,*LPPOLYTEXT;
-typedef LOGCOLORSPACEA LOGCOLORSPACE,*LPLOGCOLORSPACE;
-typedef NEWTEXTMETRICA NEWTEXTMETRIC,*PNEWTEXTMETRIC,*LPNEWTEXTMETRIC;
-typedef NEWTEXTMETRICEXA NEWTEXTMETRICEX;
-typedef ENUMLOGFONTA ENUMLOGFONT,*LPENUMLOGFONT;
-typedef ENUMLOGFONTEXA ENUMLOGFONTEX,*LPENUMLOGFONTEX;
-typedef DISPLAY_DEVICEA DISPLAY_DEVICE, *PDISPLAY_DEVICE, *LPDISPLAY_DEVICE;
-#define AddFontResource AddFontResourceA
-#if (_WIN32_WINNT >= 0x0500)
-#define AddFontResourceEx AddFontResourceExA
-#endif
-#define CopyEnhMetaFile CopyEnhMetaFileA
-#define CopyMetaFile CopyMetaFileA
-#define CreateDC CreateDCA
-#define CreateEnhMetaFile CreateEnhMetaFileA
-#define CreateFont CreateFontA
-#define CreateFontIndirect CreateFontIndirectA
-#define CreateIC CreateICA
-#define CreateMetaFile CreateMetaFileA
-#define CreateScalableFontResource CreateScalableFontResourceA
-#define DeviceCapabilities DeviceCapabilitiesA
-#define EnumFontFamilies EnumFontFamiliesA
-#define EnumFontFamiliesEx EnumFontFamiliesExA
-#define EnumFonts EnumFontsA
-#define EnumICMProfiles EnumICMProfilesA
-#define ExtTextOut ExtTextOutA
-#define GetCharWidthFloat GetCharWidthFloatA
-#define GetCharWidth GetCharWidthA
-#define GetCharacterPlacement GetCharacterPlacementA
-#define GetCharABCWidths GetCharABCWidthsA
-#define GetCharABCWidthsFloat GetCharABCWidthsFloatA
-#define GetCharWidth32 GetCharWidth32A
-#define GetEnhMetaFile GetEnhMetaFileA
-#define GetEnhMetaFileDescription GetEnhMetaFileDescriptionA
-#define GetGlyphOutline GetGlyphOutlineA
-#define GetICMProfile GetICMProfileA
-#define GetKerningPairs GetKerningPairsA
-#define GetLogColorSpace GetLogColorSpaceA
-#define GetMetaFile GetMetaFileA
-#define GetObject GetObjectA
-#define GetOutlineTextMetrics GetOutlineTextMetricsA
-#define GetTextExtentPoint GetTextExtentPointA
-#define GetTextExtentExPoint GetTextExtentExPointA
-#define GetTextExtentPoint32 GetTextExtentPoint32A
-#define GetTextFace GetTextFaceA
-#define GetTextMetrics GetTextMetricsA
-#define PolyTextOut PolyTextOutA
-#define RemoveFontResource RemoveFontResourceA
-#if (_WIN32_WINNT >= 0x0500)
-#define RemoveFontResourceEx RemoveFontResourceExA
-#endif
-#define ResetDC ResetDCA
-#define SetICMProfile SetICMProfileA
-#define StartDoc StartDocA
-#define TextOut TextOutA
-#define UpdateICMRegKey UpdateICMRegKeyA
-#define wglUseFontBitmaps wglUseFontBitmapsA
-#define wglUseFontOutlines wglUseFontOutlinesA
-#if (_WIN32_WINNT >= 0x0500)
-#define GetGlyphIndices GetGlyphIndicesA
-#endif
-#endif /* UNICODE */
-#endif /* RC_INVOKED */
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/winsup/w32api/include/wininet.h b/winsup/w32api/include/wininet.h
deleted file mode 100644
index 70c43c233..000000000
--- a/winsup/w32api/include/wininet.h
+++ /dev/null
@@ -1,974 +0,0 @@
-#ifndef _WININET_H
-#define _WININET_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#include <windows.h>
-#ifdef __cplusplus
-extern "C" {
-#endif
-#define INTERNET_INVALID_PORT_NUMBER 0
-#define INTERNET_DEFAULT_FTP_PORT 21
-#define INTERNET_DEFAULT_GOPHER_PORT 70
-#define INTERNET_DEFAULT_HTTP_PORT 80
-#define INTERNET_DEFAULT_HTTPS_PORT 443
-#define INTERNET_DEFAULT_SOCKS_PORT 1080
-#define MAX_CACHE_ENTRY_INFO_SIZE 4096
-#define INTERNET_MAX_HOST_NAME_LENGTH 256
-#define INTERNET_MAX_USER_NAME_LENGTH 128
-#define INTERNET_MAX_PASSWORD_LENGTH 128
-#define INTERNET_MAX_PORT_NUMBER_LENGTH 5
-#define INTERNET_MAX_PORT_NUMBER_VALUE 65535
-#define INTERNET_MAX_PATH_LENGTH 2048
-#define INTERNET_MAX_SCHEME_LENGTH 32
-#define INTERNET_MAX_URL_LENGTH (INTERNET_MAX_SCHEME_LENGTH+sizeof("://")+INTERNET_MAX_PATH_LENGTH)
-#define INTERNET_KEEP_ALIVE_UNKNOWN ((DWORD)-1)
-#define INTERNET_KEEP_ALIVE_ENABLED 1
-#define INTERNET_KEEP_ALIVE_DISABLED 0
-#define INTERNET_REQFLAG_FROM_CACHE 1
-#define INTERNET_REQFLAG_ASYNC 2
-#define INTERNET_FLAG_RELOAD 0x80000000
-#define INTERNET_FLAG_RAW_DATA 0x40000000
-#define INTERNET_FLAG_EXISTING_CONNECT 0x20000000
-#define INTERNET_FLAG_ASYNC 0x10000000
-#define INTERNET_FLAG_PASSIVE 0x08000000
-#define INTERNET_FLAG_NO_CACHE_WRITE 0x04000000
-#define INTERNET_FLAG_DONT_CACHE INTERNET_FLAG_NO_CACHE_WRITE
-#define INTERNET_FLAG_MAKE_PERSISTENT 0x02000000
-#define INTERNET_FLAG_OFFLINE 0x1000000
-#define INTERNET_FLAG_SECURE 0x800000
-#define INTERNET_FLAG_KEEP_CONNECTION 0x400000
-#define INTERNET_FLAG_NO_AUTO_REDIRECT 0x200000
-#define INTERNET_FLAG_READ_PREFETCH 0x100000
-#define INTERNET_FLAG_NO_COOKIES 0x80000
-#define INTERNET_FLAG_NO_AUTH 0x40000
-#define INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTP 0x8000
-#define INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTPS 0x4000
-#define INTERNET_FLAG_IGNORE_CERT_DATE_INVALID 0x2000
-#define INTERNET_FLAG_IGNORE_CERT_CN_INVALID 0x1000
-#define INTERNET_FLAG_MUST_CACHE_REQUEST 16
-#define INTERNET_FLAG_RESYNCHRONIZE 0x800
-#define INTERNET_FLAG_HYPERLINK 0x400
-#define INTERNET_FLAG_NO_UI 0x200
-#define INTERNET_FLAG_PRAGMA_NOCACHE 0x100
-#define INTERNET_FLAG_TRANSFER_ASCII FTP_TRANSFER_TYPE_ASCII
-#define INTERNET_FLAG_TRANSFER_BINARY FTP_TRANSFER_TYPE_BINARY
-#define SECURITY_INTERNET_MASK (INTERNET_FLAG_IGNORE_CERT_CN_INVALID|INTERNET_FLAG_IGNORE_CERT_DATE_INVALID|INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTPS|INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTP)
-#define SECURITY_SET_MASK SECURITY_INTERNET_MASK
-#define INTERNET_FLAGS_MASK (INTERNET_FLAG_RELOAD|INTERNET_FLAG_RAW_DATA|INTERNET_FLAG_EXISTING_CONNECT|\
-INTERNET_FLAG_ASYNC|INTERNET_FLAG_PASSIVE|INTERNET_FLAG_NO_CACHE_WRITE|INTERNET_FLAG_MAKE_PERSISTENT|INTERNET_FLAG_OFFLINE|\
-INTERNET_FLAG_SECURE|INTERNET_FLAG_KEEP_CONNECTION|INTERNET_FLAG_NO_AUTO_REDIRECT|INTERNET_FLAG_READ_PREFETCH |\
-INTERNET_FLAG_NO_COOKIES|INTERNET_FLAG_NO_AUTH|SECURITY_INTERNET_MASK|INTERNET_FLAG_TRANSFER_ASCII|INTERNET_FLAG_TRANSFER_BINARY\
-|INTERNET_FLAG_RESYNCHRONIZE|INTERNET_FLAG_MUST_CACHE_REQUEST|INTERNET_FLAG_HYPERLINK|INTERNET_FLAG_NO_UI)
-#define INTERNET_OPTIONS_MASK (~INTERNET_FLAGS_MASK)
-#define INTERNET_NO_CALLBACK 0
-#define INTERNET_RFC1123_FORMAT 0
-#define INTERNET_RFC1123_BUFSIZE 30
-#define ICU_ESCAPE 0x80000000
-#define ICU_USERNAME 0x40000000
-#define ICU_NO_ENCODE 0x20000000
-#define ICU_DECODE 0x10000000
-#define ICU_NO_META 0x08000000
-#define ICU_ENCODE_SPACES_ONLY 0x04000000
-#define ICU_BROWSER_MODE 0x02000000
-#define INTERNET_OPEN_TYPE_PRECONFIG 0
-#define INTERNET_OPEN_TYPE_DIRECT 1
-#define INTERNET_OPEN_TYPE_PROXY 3
-#define PRE_CONFIG_INTERNET_ACCESS INTERNET_OPEN_TYPE_PRECONFIG
-#define LOCAL_INTERNET_ACCESS INTERNET_OPEN_TYPE_DIRECT
-#define GATEWAY_INTERNET_ACCESS 2
-#define CERN_PROXY_INTERNET_ACCESS INTERNET_OPEN_TYPE_PROXY
-#define ISO_GLOBAL 1
-#define ISO_REGISTRY 2
-#define ISO_VALID_FLAGS (ISO_GLOBAL | ISO_REGISTRY)
-#define INTERNET_OPTION_CALLBACK 1
-#define INTERNET_OPTION_CONNECT_TIMEOUT 2
-#define INTERNET_OPTION_CONNECT_RETRIES 3
-#define INTERNET_OPTION_CONNECT_BACKOFF 4
-#define INTERNET_OPTION_SEND_TIMEOUT 5
-#define INTERNET_OPTION_CONTROL_SEND_TIMEOUT INTERNET_OPTION_SEND_TIMEOUT
-#define INTERNET_OPTION_RECEIVE_TIMEOUT 6
-#define INTERNET_OPTION_CONTROL_RECEIVE_TIMEOUT INTERNET_OPTION_RECEIVE_TIMEOUT
-#define INTERNET_OPTION_DATA_SEND_TIMEOUT 7
-#define INTERNET_OPTION_DATA_RECEIVE_TIMEOUT 8
-#define INTERNET_OPTION_HANDLE_TYPE 9
-#define INTERNET_OPTION_CONTEXT_VALUE 10
-#define INTERNET_OPTION_LISTEN_TIMEOUT 11
-#define INTERNET_OPTION_READ_BUFFER_SIZE 12
-#define INTERNET_OPTION_WRITE_BUFFER_SIZE 13
-#define INTERNET_OPTION_ASYNC_ID 15
-#define INTERNET_OPTION_ASYNC_PRIORITY 16
-#define INTERNET_OPTION_PARENT_HANDLE 21
-#define INTERNET_OPTION_KEEP_CONNECTION 22
-#define INTERNET_OPTION_REQUEST_FLAGS 23
-#define INTERNET_OPTION_EXTENDED_ERROR 24
-#define INTERNET_OPTION_OFFLINE_MODE 26
-#define INTERNET_OPTION_CACHE_STREAM_HANDLE 27
-#define INTERNET_OPTION_USERNAME 28
-#define INTERNET_OPTION_PASSWORD 29
-#define INTERNET_OPTION_ASYNC 30
-#define INTERNET_OPTION_SECURITY_FLAGS 31
-#define INTERNET_OPTION_SECURITY_CERTIFICATE_STRUCT 32
-#define INTERNET_OPTION_DATAFILE_NAME 33
-#define INTERNET_OPTION_URL 34
-#define INTERNET_OPTION_SECURITY_CERTIFICATE 35
-#define INTERNET_OPTION_SECURITY_KEY_BITNESS 36
-#define INTERNET_OPTION_REFRESH 37
-#define INTERNET_OPTION_PROXY 38
-#define INTERNET_OPTION_SETTINGS_CHANGED 39
-#define INTERNET_OPTION_VERSION 40
-#define INTERNET_OPTION_USER_AGENT 41
-#define INTERNET_OPTION_END_BROWSER_SESSION 42
-#define INTERNET_OPTION_PROXY_USERNAME 43
-#define INTERNET_OPTION_PROXY_PASSWORD 44
-#define INTERNET_FIRST_OPTION INTERNET_OPTION_CALLBACK
-#define INTERNET_LAST_OPTION INTERNET_OPTION_USER_AGENT
-#define INTERNET_PRIORITY_FOREGROUND 1000
-#define INTERNET_HANDLE_TYPE_INTERNET 1
-#define INTERNET_HANDLE_TYPE_CONNECT_FTP 2
-#define INTERNET_HANDLE_TYPE_CONNECT_GOPHER 3
-#define INTERNET_HANDLE_TYPE_CONNECT_HTTP 4
-#define INTERNET_HANDLE_TYPE_FTP_FIND 5
-#define INTERNET_HANDLE_TYPE_FTP_FIND_HTML 6
-#define INTERNET_HANDLE_TYPE_FTP_FILE 7
-#define INTERNET_HANDLE_TYPE_FTP_FILE_HTML 8
-#define INTERNET_HANDLE_TYPE_GOPHER_FIND 9
-#define INTERNET_HANDLE_TYPE_GOPHER_FIND_HTML 10
-#define INTERNET_HANDLE_TYPE_GOPHER_FILE 11
-#define INTERNET_HANDLE_TYPE_GOPHER_FILE_HTML 12
-#define INTERNET_HANDLE_TYPE_HTTP_REQUEST 13
-#define SECURITY_FLAG_SECURE 1
-#define SECURITY_FLAG_SSL 2
-#define SECURITY_FLAG_SSL3 4
-#define SECURITY_FLAG_PCT 8
-#define SECURITY_FLAG_PCT4 16
-#define SECURITY_FLAG_IETFSSL4 0x20
-#define SECURITY_FLAG_IGNORE_REVOCATION 0x00000080
-#define SECURITY_FLAG_IGNORE_UNKNOWN_CA 0x00000100
-#define SECURITY_FLAG_IGNORE_WRONG_USAGE 0x00000200
-#define SECURITY_FLAG_40BIT 0x10000000
-#define SECURITY_FLAG_128BIT 0x20000000
-#define SECURITY_FLAG_56BIT 0x40000000
-#define SECURITY_FLAG_UNKNOWNBIT 0x80000000
-#define SECURITY_FLAG_NORMALBITNESS SECURITY_FLAG_40BIT
-#define SECURITY_FLAG_IGNORE_CERT_CN_INVALID INTERNET_FLAG_IGNORE_CERT_CN_INVALID
-#define SECURITY_FLAG_IGNORE_CERT_DATE_INVALID INTERNET_FLAG_IGNORE_CERT_DATE_INVALID
-#define SECURITY_FLAG_IGNORE_REDIRECT_TO_HTTPS INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTPS
-#define SECURITY_FLAG_IGNORE_REDIRECT_TO_HTTP INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTP
-#define INTERNET_SERVICE_FTP 1
-#define INTERNET_SERVICE_GOPHER 2
-#define INTERNET_SERVICE_HTTP 3
-#define INTERNET_STATUS_RESOLVING_NAME 10
-#define INTERNET_STATUS_NAME_RESOLVED 11
-#define INTERNET_STATUS_CONNECTING_TO_SERVER 20
-#define INTERNET_STATUS_CONNECTED_TO_SERVER 21
-#define INTERNET_STATUS_SENDING_REQUEST 30
-#define INTERNET_STATUS_REQUEST_SENT 31
-#define INTERNET_STATUS_RECEIVING_RESPONSE 40
-#define INTERNET_STATUS_RESPONSE_RECEIVED 41
-#define INTERNET_STATUS_CTL_RESPONSE_RECEIVED 42
-#define INTERNET_STATUS_PREFETCH 43
-#define INTERNET_STATUS_CLOSING_CONNECTION 50
-#define INTERNET_STATUS_CONNECTION_CLOSED 51
-#define INTERNET_STATUS_HANDLE_CREATED 60
-#define INTERNET_STATUS_HANDLE_CLOSING 70
-#define INTERNET_STATUS_REQUEST_COMPLETE 100
-#define INTERNET_STATUS_REDIRECT 110
-#define INTERNET_INVALID_STATUS_CALLBACK ((INTERNET_STATUS_CALLBACK)(-1L))
-#define FTP_TRANSFER_TYPE_UNKNOWN 0
-#define FTP_TRANSFER_TYPE_ASCII 1
-#define FTP_TRANSFER_TYPE_BINARY 2
-#define FTP_TRANSFER_TYPE_MASK (FTP_TRANSFER_TYPE_ASCII | FTP_TRANSFER_TYPE_BINARY)
-#define MAX_GOPHER_DISPLAY_TEXT 128
-#define MAX_GOPHER_SELECTOR_TEXT 256
-#define MAX_GOPHER_HOST_NAME INTERNET_MAX_HOST_NAME_LENGTH
-#define MAX_GOPHER_LOCATOR_LENGTH (1+MAX_GOPHER_DISPLAY_TEXT+1+MAX_GOPHER_SELECTOR_TEXT+1+MAX_GOPHER_HOST_NAME+1+INTERNET_MAX_PORT_NUMBER_LENGTH+1+1+2)
-#define GOPHER_TYPE_TEXT_FILE 1
-#define GOPHER_TYPE_DIRECTORY 2
-#define GOPHER_TYPE_CSO 4
-#define GOPHER_TYPE_ERROR 8
-#define GOPHER_TYPE_MAC_BINHEX 16
-#define GOPHER_TYPE_DOS_ARCHIVE 32
-#define GOPHER_TYPE_UNIX_UUENCODED 64
-#define GOPHER_TYPE_INDEX_SERVER 128
-#define GOPHER_TYPE_TELNET 256
-#define GOPHER_TYPE_BINARY 512
-#define GOPHER_TYPE_REDUNDANT 1024
-#define GOPHER_TYPE_TN3270 0x800
-#define GOPHER_TYPE_GIF 0x1000
-#define GOPHER_TYPE_IMAGE 0x2000
-#define GOPHER_TYPE_BITMAP 0x4000
-#define GOPHER_TYPE_MOVIE 0x8000
-#define GOPHER_TYPE_SOUND 0x10000
-#define GOPHER_TYPE_HTML 0x20000
-#define GOPHER_TYPE_PDF 0x40000
-#define GOPHER_TYPE_CALENDAR 0x80000
-#define GOPHER_TYPE_INLINE 0x100000
-#define GOPHER_TYPE_UNKNOWN 0x20000000
-#define GOPHER_TYPE_ASK 0x40000000
-#define GOPHER_TYPE_GOPHER_PLUS 0x80000000
-#define IS_GOPHER_FILE(t) (BOOL)(((t)&GOPHER_TYPE_FILE_MASK)?TRUE:FALSE)
-#define IS_GOPHER_DIRECTORY(t) (BOOL)(((t)&GOPHER_TYPE_DIRECTORY)?TRUE:FALSE)
-#define IS_GOPHER_PHONE_SERVER(t) (BOOL)(((t)&GOPHER_TYPE_CSO)?TRUE:FALSE)
-#define IS_GOPHER_ERROR(t) (BOOL)(((t)&GOPHER_TYPE_ERROR)?TRUE:FALSE)
-#define IS_GOPHER_INDEX_SERVER(t) (BOOL)(((t)&GOPHER_TYPE_INDEX_SERVER)?TRUE:FALSE)
-#define IS_GOPHER_TELNET_SESSION(t) (BOOL)(((t)&GOPHER_TYPE_TELNET)?TRUE:FALSE)
-#define IS_GOPHER_BACKUP_SERVER(t) (BOOL)(((t)&GOPHER_TYPE_REDUNDANT)?TRUE:FALSE)
-#define IS_GOPHER_TN3270_SESSION(t) (BOOL)(((t)&GOPHER_TYPE_TN3270)?TRUE:FALSE)
-#define IS_GOPHER_ASK(t) (BOOL)(((t)&GOPHER_TYPE_ASK)?TRUE:FALSE)
-#define IS_GOPHER_PLUS(t) (BOOL)(((t)&GOPHER_TYPE_GOPHER_PLUS)?TRUE:FALSE)
-#define IS_GOPHER_TYPE_KNOWN(t) (BOOL)(((t)&GOPHER_TYPE_UNKNOWN)?FALSE:TRUE)
-#define GOPHER_TYPE_FILE_MASK (GOPHER_TYPE_TEXT_FILE|GOPHER_TYPE_MAC_BINHEX|GOPHER_TYPE_DOS_ARCHIVE|\
-GOPHER_TYPE_UNIX_UUENCODED|GOPHER_TYPE_BINARY|GOPHER_TYPE_GIF|GOPHER_TYPE_IMAGE|GOPHER_TYPE_BITMAP\
-|GOPHER_TYPE_MOVIE|GOPHER_TYPE_SOUND|GOPHER_TYPE_HTML|GOPHER_TYPE_PDF|GOPHER_TYPE_CALENDAR|GOPHER_TYPE_INLINE)
-#define MAX_GOPHER_CATEGORY_NAME 128
-#define MAX_GOPHER_ATTRIBUTE_NAME 128
-#define MIN_GOPHER_ATTRIBUTE_LENGTH 256
-#define GOPHER_INFO_CATEGORY TEXT("+INFO")
-#define GOPHER_ADMIN_CATEGORY TEXT("+ADMIN")
-#define GOPHER_VIEWS_CATEGORY TEXT("+VIEWS")
-#define GOPHER_ABSTRACT_CATEGORY TEXT("+ABSTRACT")
-#define GOPHER_VERONICA_CATEGORY TEXT("+VERONICA")
-#define GOPHER_ADMIN_ATTRIBUTE TEXT("Admin")
-#define GOPHER_MOD_DATE_ATTRIBUTE TEXT("Mod-Date")
-#define GOPHER_TTL_ATTRIBUTE TEXT("TTL")
-#define GOPHER_SCORE_ATTRIBUTE TEXT("Score")
-#define GOPHER_RANGE_ATTRIBUTE TEXT("Score-range")
-#define GOPHER_SITE_ATTRIBUTE TEXT("Site")
-#define GOPHER_ORG_ATTRIBUTE TEXT("Org")
-#define GOPHER_LOCATION_ATTRIBUTE TEXT("Loc")
-#define GOPHER_GEOG_ATTRIBUTE TEXT("Geog")
-#define GOPHER_TIMEZONE_ATTRIBUTE TEXT("TZ")
-#define GOPHER_PROVIDER_ATTRIBUTE TEXT("Provider")
-#define GOPHER_VERSION_ATTRIBUTE TEXT("Version")
-#define GOPHER_ABSTRACT_ATTRIBUTE TEXT("Abstract")
-#define GOPHER_VIEW_ATTRIBUTE TEXT("View")
-#define GOPHER_TREEWALK_ATTRIBUTE TEXT("treewalk")
-#define GOPHER_ATTRIBUTE_ID_BASE 0xabcccc00
-#define GOPHER_CATEGORY_ID_ALL (GOPHER_ATTRIBUTE_ID_BASE+1)
-#define GOPHER_CATEGORY_ID_INFO (GOPHER_ATTRIBUTE_ID_BASE+2)
-#define GOPHER_CATEGORY_ID_ADMIN (GOPHER_ATTRIBUTE_ID_BASE+3)
-#define GOPHER_CATEGORY_ID_VIEWS (GOPHER_ATTRIBUTE_ID_BASE+4)
-#define GOPHER_CATEGORY_ID_ABSTRACT (GOPHER_ATTRIBUTE_ID_BASE+5)
-#define GOPHER_CATEGORY_ID_VERONICA (GOPHER_ATTRIBUTE_ID_BASE+6)
-#define GOPHER_CATEGORY_ID_ASK (GOPHER_ATTRIBUTE_ID_BASE+7)
-#define GOPHER_CATEGORY_ID_UNKNOWN (GOPHER_ATTRIBUTE_ID_BASE+8)
-#define GOPHER_ATTRIBUTE_ID_ALL (GOPHER_ATTRIBUTE_ID_BASE+9)
-#define GOPHER_ATTRIBUTE_ID_ADMIN (GOPHER_ATTRIBUTE_ID_BASE+10)
-#define GOPHER_ATTRIBUTE_ID_MOD_DATE (GOPHER_ATTRIBUTE_ID_BASE+11)
-#define GOPHER_ATTRIBUTE_ID_TTL (GOPHER_ATTRIBUTE_ID_BASE+12)
-#define GOPHER_ATTRIBUTE_ID_SCORE (GOPHER_ATTRIBUTE_ID_BASE+13)
-#define GOPHER_ATTRIBUTE_ID_RANGE (GOPHER_ATTRIBUTE_ID_BASE+14)
-#define GOPHER_ATTRIBUTE_ID_SITE (GOPHER_ATTRIBUTE_ID_BASE+15)
-#define GOPHER_ATTRIBUTE_ID_ORG (GOPHER_ATTRIBUTE_ID_BASE+16)
-#define GOPHER_ATTRIBUTE_ID_LOCATION (GOPHER_ATTRIBUTE_ID_BASE+17)
-#define GOPHER_ATTRIBUTE_ID_GEOG (GOPHER_ATTRIBUTE_ID_BASE+18)
-#define GOPHER_ATTRIBUTE_ID_TIMEZONE (GOPHER_ATTRIBUTE_ID_BASE+19)
-#define GOPHER_ATTRIBUTE_ID_PROVIDER (GOPHER_ATTRIBUTE_ID_BASE+20)
-#define GOPHER_ATTRIBUTE_ID_VERSION (GOPHER_ATTRIBUTE_ID_BASE+21)
-#define GOPHER_ATTRIBUTE_ID_ABSTRACT (GOPHER_ATTRIBUTE_ID_BASE+22)
-#define GOPHER_ATTRIBUTE_ID_VIEW (GOPHER_ATTRIBUTE_ID_BASE+23)
-#define GOPHER_ATTRIBUTE_ID_TREEWALK (GOPHER_ATTRIBUTE_ID_BASE+24)
-#define GOPHER_ATTRIBUTE_ID_UNKNOWN (GOPHER_ATTRIBUTE_ID_BASE+25)
-#define HTTP_MAJOR_VERSION 1
-#define HTTP_MINOR_VERSION 0
-#define HTTP_VERSION TEXT("HTTP/1.0")
-#define HTTP_QUERY_MIME_VERSION 0
-#define HTTP_QUERY_CONTENT_TYPE 1
-#define HTTP_QUERY_CONTENT_TRANSFER_ENCODING 2
-#define HTTP_QUERY_CONTENT_ID 3
-#define HTTP_QUERY_CONTENT_DESCRIPTION 4
-#define HTTP_QUERY_CONTENT_LENGTH 5
-#define HTTP_QUERY_CONTENT_LANGUAGE 6
-#define HTTP_QUERY_ALLOW 7
-#define HTTP_QUERY_PUBLIC 8
-#define HTTP_QUERY_DATE 9
-#define HTTP_QUERY_EXPIRES 10
-#define HTTP_QUERY_LAST_MODIFIED 11
-#define HTTP_QUERY_MESSAGE_ID 12
-#define HTTP_QUERY_URI 13
-#define HTTP_QUERY_DERIVED_FROM 14
-#define HTTP_QUERY_COST 15
-#define HTTP_QUERY_LINK 16
-#define HTTP_QUERY_PRAGMA 17
-#define HTTP_QUERY_VERSION 18
-#define HTTP_QUERY_STATUS_CODE 19
-#define HTTP_QUERY_STATUS_TEXT 20
-#define HTTP_QUERY_RAW_HEADERS 21
-#define HTTP_QUERY_RAW_HEADERS_CRLF 22
-#define HTTP_QUERY_CONNECTION 23
-#define HTTP_QUERY_ACCEPT 24
-#define HTTP_QUERY_ACCEPT_CHARSET 25
-#define HTTP_QUERY_ACCEPT_ENCODING 26
-#define HTTP_QUERY_ACCEPT_LANGUAGE 27
-#define HTTP_QUERY_AUTHORIZATION 28
-#define HTTP_QUERY_CONTENT_ENCODING 29
-#define HTTP_QUERY_FORWARDED 30
-#define HTTP_QUERY_FROM 31
-#define HTTP_QUERY_IF_MODIFIED_SINCE 32
-#define HTTP_QUERY_LOCATION 33
-#define HTTP_QUERY_ORIG_URI 34
-#define HTTP_QUERY_REFERER 35
-#define HTTP_QUERY_RETRY_AFTER 36
-#define HTTP_QUERY_SERVER 37
-#define HTTP_QUERY_TITLE 38
-#define HTTP_QUERY_USER_AGENT 39
-#define HTTP_QUERY_WWW_AUTHENTICATE 40
-#define HTTP_QUERY_PROXY_AUTHENTICATE 41
-#define HTTP_QUERY_ACCEPT_RANGES 42
-#define HTTP_QUERY_SET_COOKIE 43
-#define HTTP_QUERY_COOKIE 44
-#define HTTP_QUERY_REQUEST_METHOD 45
-#define HTTP_QUERY_MAX 45
-#define HTTP_QUERY_CUSTOM 65535
-#define HTTP_QUERY_FLAG_REQUEST_HEADERS 0x80000000
-#define HTTP_QUERY_FLAG_SYSTEMTIME 0x40000000
-#define HTTP_QUERY_FLAG_NUMBER 0x20000000
-#define HTTP_QUERY_FLAG_COALESCE 0x10000000
-#define HTTP_QUERY_MODIFIER_FLAGS_MASK (HTTP_QUERY_FLAG_REQUEST_HEADERS|HTTP_QUERY_FLAG_SYSTEMTIME|HTTP_QUERY_FLAG_NUMBER|HTTP_QUERY_FLAG_COALESCE)
-#define HTTP_QUERY_HEADER_MASK (~HTTP_QUERY_MODIFIER_FLAGS_MASK)
-#define HTTP_STATUS_OK 200
-#define HTTP_STATUS_CREATED 201
-#define HTTP_STATUS_ACCEPTED 202
-#define HTTP_STATUS_PARTIAL 203
-#define HTTP_STATUS_NO_CONTENT 204
-#define HTTP_STATUS_AMBIGUOUS 300
-#define HTTP_STATUS_MOVED 301
-#define HTTP_STATUS_REDIRECT 302
-#define HTTP_STATUS_REDIRECT_METHOD 303
-#define HTTP_STATUS_NOT_MODIFIED 304
-#define HTTP_STATUS_BAD_REQUEST 400
-#define HTTP_STATUS_DENIED 401
-#define HTTP_STATUS_PAYMENT_REQ 402
-#define HTTP_STATUS_FORBIDDEN 403
-#define HTTP_STATUS_NOT_FOUND 404
-#define HTTP_STATUS_BAD_METHOD 405
-#define HTTP_STATUS_NONE_ACCEPTABLE 406
-#define HTTP_STATUS_PROXY_AUTH_REQ 407
-#define HTTP_STATUS_REQUEST_TIMEOUT 408
-#define HTTP_STATUS_CONFLICT 409
-#define HTTP_STATUS_GONE 410
-#define HTTP_STATUS_AUTH_REFUSED 411
-#define HTTP_STATUS_SERVER_ERROR 500
-#define HTTP_STATUS_NOT_SUPPORTED 501
-#define HTTP_STATUS_BAD_GATEWAY 502
-#define HTTP_STATUS_SERVICE_UNAVAIL 503
-#define HTTP_STATUS_GATEWAY_TIMEOUT 504
-#define INTERNET_PREFETCH_PROGRESS 0
-#define INTERNET_PREFETCH_COMPLETE 1
-#define INTERNET_PREFETCH_ABORTED 2
-#define FLAGS_ERROR_UI_FILTER_FOR_ERRORS 0x01
-#define FLAGS_ERROR_UI_FLAGS_CHANGE_OPTIONS 0x02
-#define FLAGS_ERROR_UI_FLAGS_GENERATE_DATA 0x04
-#define FLAGS_ERROR_UI_FLAGS_NO_UI 0x08
-#define HTTP_ADDREQ_INDEX_MASK 0x0000FFFF
-#define HTTP_ADDREQ_FLAGS_MASK 0xFFFF0000
-#define HTTP_ADDREQ_FLAG_ADD_IF_NEW 0x10000000
-#define HTTP_ADDREQ_FLAG_ADD 0x20000000
-#define HTTP_ADDREQ_FLAG_COALESCE_WITH_COMMA 0x40000000
-#define HTTP_ADDREQ_FLAG_COALESCE_WITH_SEMICOLON 0x01000000
-#define HTTP_ADDREQ_FLAG_COALESCE HTTP_ADDREQ_FLAG_COALESCE_WITH_COMMA
-#define HTTP_ADDREQ_FLAG_REPLACE 0x80000000
-#define INTERNET_ERROR_BASE 12000
-#define ERROR_INTERNET_OUT_OF_HANDLES (INTERNET_ERROR_BASE+1)
-#define ERROR_INTERNET_TIMEOUT (INTERNET_ERROR_BASE+2)
-#define ERROR_INTERNET_EXTENDED_ERROR (INTERNET_ERROR_BASE+3)
-#define ERROR_INTERNET_INTERNAL_ERROR (INTERNET_ERROR_BASE+4)
-#define ERROR_INTERNET_INVALID_URL (INTERNET_ERROR_BASE+5)
-#define ERROR_INTERNET_UNRECOGNIZED_SCHEME (INTERNET_ERROR_BASE+6)
-#define ERROR_INTERNET_NAME_NOT_RESOLVED (INTERNET_ERROR_BASE+7)
-#define ERROR_INTERNET_PROTOCOL_NOT_FOUND (INTERNET_ERROR_BASE+8)
-#define ERROR_INTERNET_INVALID_OPTION (INTERNET_ERROR_BASE+9)
-#define ERROR_INTERNET_BAD_OPTION_LENGTH (INTERNET_ERROR_BASE+10)
-#define ERROR_INTERNET_OPTION_NOT_SETTABLE (INTERNET_ERROR_BASE+11)
-#define ERROR_INTERNET_SHUTDOWN (INTERNET_ERROR_BASE+12)
-#define ERROR_INTERNET_INCORRECT_USER_NAME (INTERNET_ERROR_BASE+13)
-#define ERROR_INTERNET_INCORRECT_PASSWORD (INTERNET_ERROR_BASE+14)
-#define ERROR_INTERNET_LOGIN_FAILURE (INTERNET_ERROR_BASE+15)
-#define ERROR_INTERNET_INVALID_OPERATION (INTERNET_ERROR_BASE+16)
-#define ERROR_INTERNET_OPERATION_CANCELLED (INTERNET_ERROR_BASE+17)
-#define ERROR_INTERNET_INCORRECT_HANDLE_TYPE (INTERNET_ERROR_BASE+18)
-#define ERROR_INTERNET_INCORRECT_HANDLE_STATE (INTERNET_ERROR_BASE+19)
-#define ERROR_INTERNET_NOT_PROXY_REQUEST (INTERNET_ERROR_BASE+20)
-#define ERROR_INTERNET_REGISTRY_VALUE_NOT_FOUND (INTERNET_ERROR_BASE+21)
-#define ERROR_INTERNET_BAD_REGISTRY_PARAMETER (INTERNET_ERROR_BASE+22)
-#define ERROR_INTERNET_NO_DIRECT_ACCESS (INTERNET_ERROR_BASE+23)
-#define ERROR_INTERNET_NO_CONTEXT (INTERNET_ERROR_BASE+24)
-#define ERROR_INTERNET_NO_CALLBACK (INTERNET_ERROR_BASE+25)
-#define ERROR_INTERNET_REQUEST_PENDING (INTERNET_ERROR_BASE+26)
-#define ERROR_INTERNET_INCORRECT_FORMAT (INTERNET_ERROR_BASE+27)
-#define ERROR_INTERNET_ITEM_NOT_FOUND (INTERNET_ERROR_BASE+28)
-#define ERROR_INTERNET_CANNOT_CONNECT (INTERNET_ERROR_BASE+29)
-#define ERROR_INTERNET_CONNECTION_ABORTED (INTERNET_ERROR_BASE+30)
-#define ERROR_INTERNET_CONNECTION_RESET (INTERNET_ERROR_BASE+31)
-#define ERROR_INTERNET_FORCE_RETRY (INTERNET_ERROR_BASE+32)
-#define ERROR_INTERNET_INVALID_PROXY_REQUEST (INTERNET_ERROR_BASE+33)
-#define ERROR_INTERNET_NEED_UI (INTERNET_ERROR_BASE+34)
-#define ERROR_INTERNET_HANDLE_EXISTS (INTERNET_ERROR_BASE+36)
-#define ERROR_INTERNET_SEC_CERT_DATE_INVALID (INTERNET_ERROR_BASE+37)
-#define ERROR_INTERNET_SEC_CERT_CN_INVALID (INTERNET_ERROR_BASE+38)
-#define ERROR_INTERNET_HTTP_TO_HTTPS_ON_REDIR (INTERNET_ERROR_BASE+39)
-#define ERROR_INTERNET_HTTPS_TO_HTTP_ON_REDIR (INTERNET_ERROR_BASE+40)
-#define ERROR_INTERNET_MIXED_SECURITY (INTERNET_ERROR_BASE+41)
-#define ERROR_INTERNET_CHG_POST_IS_NON_SECURE (INTERNET_ERROR_BASE+42)
-#define ERROR_INTERNET_POST_IS_NON_SECURE (INTERNET_ERROR_BASE+43)
-#define ERROR_INTERNET_CLIENT_AUTH_CERT_NEEDED (INTERNET_ERROR_BASE+44)
-#define ERROR_INTERNET_INVALID_CA (INTERNET_ERROR_BASE+45)
-#define ERROR_INTERNET_CLIENT_AUTH_NOT_SETUP (INTERNET_ERROR_BASE+46)
-#define ERROR_INTERNET_ASYNC_THREAD_FAILED (INTERNET_ERROR_BASE+47)
-#define ERROR_INTERNET_REDIRECT_SCHEME_CHANGE (INTERNET_ERROR_BASE+48)
-#define ERROR_FTP_TRANSFER_IN_PROGRESS (INTERNET_ERROR_BASE+110)
-#define ERROR_FTP_DROPPED (INTERNET_ERROR_BASE+111)
-#define ERROR_GOPHER_PROTOCOL_ERROR (INTERNET_ERROR_BASE+130)
-#define ERROR_GOPHER_NOT_FILE (INTERNET_ERROR_BASE+131)
-#define ERROR_GOPHER_DATA_ERROR (INTERNET_ERROR_BASE+132)
-#define ERROR_GOPHER_END_OF_DATA (INTERNET_ERROR_BASE+133)
-#define ERROR_GOPHER_INVALID_LOCATOR (INTERNET_ERROR_BASE+134)
-#define ERROR_GOPHER_INCORRECT_LOCATOR_TYPE (INTERNET_ERROR_BASE+135)
-#define ERROR_GOPHER_NOT_GOPHER_PLUS (INTERNET_ERROR_BASE+136)
-#define ERROR_GOPHER_ATTRIBUTE_NOT_FOUND (INTERNET_ERROR_BASE+137)
-#define ERROR_GOPHER_UNKNOWN_LOCATOR (INTERNET_ERROR_BASE+138)
-#define ERROR_HTTP_HEADER_NOT_FOUND (INTERNET_ERROR_BASE+150)
-#define ERROR_HTTP_DOWNLEVEL_SERVER (INTERNET_ERROR_BASE+151)
-#define ERROR_HTTP_INVALID_SERVER_RESPONSE (INTERNET_ERROR_BASE+152)
-#define ERROR_HTTP_INVALID_HEADER (INTERNET_ERROR_BASE+153)
-#define ERROR_HTTP_INVALID_QUERY_REQUEST (INTERNET_ERROR_BASE+154)
-#define ERROR_HTTP_HEADER_ALREADY_EXISTS (INTERNET_ERROR_BASE+155)
-#define ERROR_HTTP_REDIRECT_FAILED (INTERNET_ERROR_BASE+156)
-#define ERROR_HTTP_NOT_REDIRECTED (INTERNET_ERROR_BASE+160)
-#define ERROR_INTERNET_SECURITY_CHANNEL_ERROR (INTERNET_ERROR_BASE+157)
-#define ERROR_INTERNET_UNABLE_TO_CACHE_FILE (INTERNET_ERROR_BASE+158)
-#define ERROR_INTERNET_TCPIP_NOT_INSTALLED (INTERNET_ERROR_BASE+159)
-#define INTERNET_ERROR_LAST ERROR_INTERNET_TCPIP_NOT_INSTALLED
-#define URLCACHEAPI DECLSPEC_IMPORT
-#define NORMAL_CACHE_ENTRY 1
-#define STABLE_CACHE_ENTRY 2
-#define STICKY_CACHE_ENTRY 4
-#define SPARSE_CACHE_ENTRY 0x10000
-#define OCX_CACHE_ENTRY 0x20000
-#define COOKIE_CACHE_ENTRY 0x100000
-#define URLHISTORY_CACHE_ENTRY 0x200000
-#define CACHE_ENTRY_ATTRIBUTE_FC 4
-#define CACHE_ENTRY_HITRATE_FC 0x10
-#define CACHE_ENTRY_MODTIME_FC 0x40
-#define CACHE_ENTRY_EXPTIME_FC 0x80
-#define CACHE_ENTRY_ACCTIME_FC 0x100
-#define CACHE_ENTRY_SYNCTIME_FC 0x200
-#define CACHE_ENTRY_HEADERINFO_FC 0x400
-#define IRF_ASYNC WININET_API_FLAG_ASYNC
-#define IRF_SYNC WININET_API_FLAG_SYNC
-#define IRF_USE_CONTEXT WININET_API_FLAG_USE_CONTEXT
-#define IRF_NO_WAIT 8
-#define HSR_ASYNC WININET_API_FLAG_ASYNC
-#define HSR_SYNC WININET_API_FLAG_SYNC
-#define HSR_USE_CONTEXT WININET_API_FLAG_USE_CONTEXT
-#define HSR_INITIATE 8
-#define HSR_DOWNLOAD 16
-#define HSR_CHUNKED 32
-#define INTERNET_DIAL_UNATTENDED 0x8000
-#define INTERNET_DIALSTATE_DISCONNECTED 1
-#define INTERENT_GOONLINE_REFRESH 1
-#define INTERENT_GOONLINE_MASK 1
-#define INTERNET_AUTODIAL_FORCE_ONLINE 1
-#define INTERNET_AUTODIAL_FORCE_UNATTENDED 2
-#define INTERNET_AUTODIAL_FAILIFSECURITYCHECK 4
-#define INTERNET_CONNECTION_MODEM 0x01
-#define INTERNET_CONNECTION_LAN 0x02
-#define INTERNET_CONNECTION_PROXY 0x04
-#define INTERNET_CONNECTION_MODEM_BUSY 0x08
-#define INTERNET_RAS_INSTALLED 0x10
-#define INTERNET_CONNECTION_OFFLINE 0x20
-#define INTERNET_CONNECTION_CONFIGURED 0x40
-#define CACHEGROUP_SEARCH_ALL 0
-#define CACHEGROUP_SEARCH_BYURL 1
-#define INTERNET_CACHE_GROUP_ADD 0
-#define INTERNET_CACHE_GROUP_REMOVE 1
-#define WININET_API_FLAG_ASYNC 0x00000001 /* Force asynchronous operations. */
-#define WININET_API_FLAG_SYNC 0x00000004 /* Force synchronous operations. */
-#define WININET_API_FLAG_USE_CONTEXT 0x00000008 /* Force the API to use the context value, even if it is set to zero. */
-
-#ifndef RC_INVOKED
-typedef PVOID HINTERNET;
-typedef HINTERNET *LPHINTERNET;
-typedef LONGLONG GROUPID;
-typedef WORD INTERNET_PORT,*LPINTERNET_PORT;
-typedef enum {
- INTERNET_SCHEME_PARTIAL = -2, INTERNET_SCHEME_UNKNOWN = -1,
- INTERNET_SCHEME_DEFAULT = 0, INTERNET_SCHEME_FTP, INTERNET_SCHEME_GOPHER,
- INTERNET_SCHEME_HTTP, INTERNET_SCHEME_HTTPS, INTERNET_SCHEME_FILE,
- INTERNET_SCHEME_NEWS, INTERNET_SCHEME_MAILTO, INTERNET_SCHEME_SOCKS,
- INTERNET_SCHEME_FIRST = INTERNET_SCHEME_FTP, INTERNET_SCHEME_LAST = INTERNET_SCHEME_SOCKS
-} INTERNET_SCHEME,*LPINTERNET_SCHEME;
-typedef struct { DWORD dwResult; DWORD dwError; } INTERNET_ASYNC_RESULT,*LPINTERNET_ASYNC_RESULT;
-typedef struct { DWORD dwStatus; DWORD dwSize; } INTERNET_PREFETCH_STATUS,*LPINTERNET_PREFETCH_STATUS;
-typedef struct {
- DWORD dwAccessType;
- LPCTSTR lpszProxy;
- LPCTSTR lpszProxyBypass;
-} INTERNET_PROXY_INFO,*LPINTERNET_PROXY_INFO;
-typedef struct {
- DWORD dwMajorVersion;
- DWORD dwMinorVersion;
-} INTERNET_VERSION_INFO,*LPINTERNET_VERSION_INFO;
-typedef struct {
- DWORD dwStructSize;
- LPSTR lpszScheme;
- DWORD dwSchemeLength;
- INTERNET_SCHEME nScheme;
- LPSTR lpszHostName;
- DWORD dwHostNameLength;
- INTERNET_PORT nPort;
- LPSTR lpszUserName;
- DWORD dwUserNameLength;
- LPSTR lpszPassword;
- DWORD dwPasswordLength;
- LPSTR lpszUrlPath;
- DWORD dwUrlPathLength;
- LPSTR lpszExtraInfo;
- DWORD dwExtraInfoLength;
-} URL_COMPONENTSA,*LPURL_COMPONENTSA;
-typedef struct {
- DWORD dwStructSize;
- LPWSTR lpszScheme;
- DWORD dwSchemeLength;
- INTERNET_SCHEME nScheme;
- LPWSTR lpszHostName;
- DWORD dwHostNameLength;
- INTERNET_PORT nPort;
- LPWSTR lpszUserName;
- DWORD dwUserNameLength;
- LPWSTR lpszPassword;
- DWORD dwPasswordLength;
- LPWSTR lpszUrlPath;
- DWORD dwUrlPathLength;
- LPWSTR lpszExtraInfo;
- DWORD dwExtraInfoLength;
-} URL_COMPONENTSW,*LPURL_COMPONENTSW;
-typedef struct {
- FILETIME ftExpiry;
- FILETIME ftStart;
- LPTSTR lpszSubjectInfo;
- LPTSTR lpszIssuerInfo;
- LPTSTR lpszProtocolName;
- LPTSTR lpszSignatureAlgName;
- LPTSTR lpszEncryptionAlgName;
- DWORD dwKeySize;
-} INTERNET_CERTIFICATE_INFO,*LPINTERNET_CERTIFICATE_INFO;
-typedef VOID (CALLBACK * INTERNET_STATUS_CALLBACK)(HINTERNET,DWORD,DWORD,PVOID,DWORD);
-typedef INTERNET_STATUS_CALLBACK * LPINTERNET_STATUS_CALLBACK;
-typedef struct {
- CHAR DisplayString[MAX_GOPHER_DISPLAY_TEXT+1];
- DWORD GopherType;
- DWORD SizeLow;
- DWORD SizeHigh;
- FILETIME LastModificationTime;
- CHAR Locator[MAX_GOPHER_LOCATOR_LENGTH+1];
-} GOPHER_FIND_DATAA,*LPGOPHER_FIND_DATAA;
-typedef struct {
- WCHAR DisplayString[MAX_GOPHER_DISPLAY_TEXT+1];
- DWORD GopherType;
- DWORD SizeLow;
- DWORD SizeHigh;
- FILETIME LastModificationTime;
- WCHAR Locator[MAX_GOPHER_LOCATOR_LENGTH+1];
-} GOPHER_FIND_DATAW,*LPGOPHER_FIND_DATAW;
-typedef struct {
- LPCTSTR Comment;
- LPCTSTR EmailAddress;
-} GOPHER_ADMIN_ATTRIBUTE_TYPE,*LPGOPHER_ADMIN_ATTRIBUTE_TYPE;
-typedef struct {FILETIME DateAndTime;} GOPHER_MOD_DATE_ATTRIBUTE_TYPE,*LPGOPHER_MOD_DATE_ATTRIBUTE_TYPE;
-typedef struct {DWORD Ttl;} GOPHER_TTL_ATTRIBUTE_TYPE,*LPGOPHER_TTL_ATTRIBUTE_TYPE;
-typedef struct {INT Score;} GOPHER_SCORE_ATTRIBUTE_TYPE,*LPGOPHER_SCORE_ATTRIBUTE_TYPE;
-typedef struct {
- INT LowerBound;
- INT UpperBound;
-} GOPHER_SCORE_RANGE_ATTRIBUTE_TYPE,*LPGOPHER_SCORE_RANGE_ATTRIBUTE_TYPE;
-typedef struct {LPCTSTR Site;} GOPHER_SITE_ATTRIBUTE_TYPE,*LPGOPHER_SITE_ATTRIBUTE_TYPE;
-typedef struct {LPCTSTR Organization;} GOPHER_ORGANIZATION_ATTRIBUTE_TYPE,*LPGOPHER_ORGANIZATION_ATTRIBUTE_TYPE;
-typedef struct {LPCTSTR Location;} GOPHER_LOCATION_ATTRIBUTE_TYPE,*LPGOPHER_LOCATION_ATTRIBUTE_TYPE;
-typedef struct {
- INT DegreesNorth;
- INT MinutesNorth;
- INT SecondsNorth;
- INT DegreesEast;
- INT MinutesEast;
- INT SecondsEast;
-} GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE,*LPGOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE;
-typedef struct {INT Zone;} GOPHER_TIMEZONE_ATTRIBUTE_TYPE,*LPGOPHER_TIMEZONE_ATTRIBUTE_TYPE;
-typedef struct {LPCTSTR Provider;} GOPHER_PROVIDER_ATTRIBUTE_TYPE,*LPGOPHER_PROVIDER_ATTRIBUTE_TYPE;
-typedef struct {LPCTSTR Version;} GOPHER_VERSION_ATTRIBUTE_TYPE,*LPGOPHER_VERSION_ATTRIBUTE_TYPE;
-typedef struct {
- LPCTSTR ShortAbstract;
- LPCTSTR AbstractFile;
-} GOPHER_ABSTRACT_ATTRIBUTE_TYPE,*LPGOPHER_ABSTRACT_ATTRIBUTE_TYPE;
-typedef struct {
- LPCTSTR ContentType;
- LPCTSTR Language;
- DWORD Size;
-} GOPHER_VIEW_ATTRIBUTE_TYPE,*LPGOPHER_VIEW_ATTRIBUTE_TYPE;
-typedef struct {BOOL TreeWalk;} GOPHER_VERONICA_ATTRIBUTE_TYPE,*LPGOPHER_VERONICA_ATTRIBUTE_TYPE;
-typedef struct {
- LPCTSTR QuestionType;
- LPCTSTR QuestionText;
-} GOPHER_ASK_ATTRIBUTE_TYPE,*LPGOPHER_ASK_ATTRIBUTE_TYPE;
-typedef struct {LPCTSTR Text;} GOPHER_UNKNOWN_ATTRIBUTE_TYPE,*LPGOPHER_UNKNOWN_ATTRIBUTE_TYPE;
-typedef struct {
- DWORD CategoryId;
- DWORD AttributeId;
- union {
- GOPHER_ADMIN_ATTRIBUTE_TYPE Admin;
- GOPHER_MOD_DATE_ATTRIBUTE_TYPE ModDate;
- GOPHER_TTL_ATTRIBUTE_TYPE Ttl;
- GOPHER_SCORE_ATTRIBUTE_TYPE Score;
- GOPHER_SCORE_RANGE_ATTRIBUTE_TYPE ScoreRange;
- GOPHER_SITE_ATTRIBUTE_TYPE Site;
- GOPHER_ORGANIZATION_ATTRIBUTE_TYPE Organization;
- GOPHER_LOCATION_ATTRIBUTE_TYPE Location;
- GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE GeographicalLocation;
- GOPHER_TIMEZONE_ATTRIBUTE_TYPE TimeZone;
- GOPHER_PROVIDER_ATTRIBUTE_TYPE Provider;
- GOPHER_VERSION_ATTRIBUTE_TYPE Version;
- GOPHER_ABSTRACT_ATTRIBUTE_TYPE Abstract;
- GOPHER_VIEW_ATTRIBUTE_TYPE View;
- GOPHER_VERONICA_ATTRIBUTE_TYPE Veronica;
- GOPHER_ASK_ATTRIBUTE_TYPE Ask;
- GOPHER_UNKNOWN_ATTRIBUTE_TYPE Unknown;
- } AttributeType;
-} GOPHER_ATTRIBUTE_TYPE,*LPGOPHER_ATTRIBUTE_TYPE;
-typedef BOOL(CALLBACK *GOPHER_ATTRIBUTE_ENUMERATOR)(LPGOPHER_ATTRIBUTE_TYPE,DWORD);
-typedef struct _INTERNET_CACHE_ENTRY_INFOA {
- DWORD dwStructSize;
- LPSTR lpszSourceUrlName;
- LPSTR lpszLocalFileName;
- DWORD CacheEntryType;
- DWORD dwUseCount;
- DWORD dwHitRate;
- DWORD dwSizeLow;
- DWORD dwSizeHigh;
- FILETIME LastModifiedTime;
- FILETIME ExpireTime;
- FILETIME LastAccessTime;
- FILETIME LastSyncTime;
- PBYTE lpHeaderInfo;
- DWORD dwHeaderInfoSize;
- LPSTR lpszFileExtension;
- DWORD dwReserved;
-} INTERNET_CACHE_ENTRY_INFOA,*LPINTERNET_CACHE_ENTRY_INFOA;
-typedef struct _INTERNET_CACHE_ENTRY_INFOW {
- DWORD dwStructSize;
- LPSTR lpszSourceUrlName;
- LPWSTR lpszLocalFileName;
- DWORD CacheEntryType;
- DWORD dwUseCount;
- DWORD dwHitRate;
- DWORD dwSizeLow;
- DWORD dwSizeHigh;
- FILETIME LastModifiedTime;
- FILETIME ExpireTime;
- FILETIME LastAccessTime;
- FILETIME LastSyncTime;
- PBYTE lpHeaderInfo;
- DWORD dwHeaderInfoSize;
- LPWSTR lpszFileExtension;
- DWORD dwReserved;
-} INTERNET_CACHE_ENTRY_INFOW,*LPINTERNET_CACHE_ENTRY_INFOW;
-typedef struct _INTERNET_BUFFERSA {
- DWORD dwStructSize;
- struct _INTERNET_BUFFERSA *Next;
- LPCSTR lpcszHeader;
- DWORD dwHeadersLength;
- DWORD dwHeadersTotal;
- LPVOID lpvBuffer;
- DWORD dwBufferLength;
- DWORD dwBufferTotal;
- DWORD dwOffsetLow;
- DWORD dwOffsetHigh;
-} INTERNET_BUFFERSA,*LPINTERNET_BUFFERSA;
-typedef struct _INTERNET_BUFFERSW {
- DWORD dwStructSize;
- struct _INTERNET_BUFFERS *Next;
- LPCWSTR lpcszHeader;
- DWORD dwHeadersLength;
- DWORD dwHeadersTotal;
- LPVOID lpvBuffer;
- DWORD dwBufferLength;
- DWORD dwBufferTotal;
- DWORD dwOffsetLow;
- DWORD dwOffsetHigh;
-} INTERNET_BUFFERSW,*LPINTERNET_BUFFERSW;
-
-#define GROUP_OWNER_STORAGE_SIZE 4
-#define GROUPNAME_MAX_LENGTH 120
-typedef struct _INTERNET_CACHE_GROUP_INFOA {
- DWORD dwGroupSize;
- DWORD dwGroupFlags;
- DWORD dwGroupType;
- DWORD dwDiskUsage;
- DWORD dwDiskQuota;
- DWORD dwOwnerStorage[GROUP_OWNER_STORAGE_SIZE];
- CHAR szGroupName[GROUPNAME_MAX_LENGTH];
-} INTERNET_CACHE_GROUP_INFOA, * LPINTERNET_CACHE_GROUP_INFOA;
-typedef struct _INTERNET_CACHE_GROUP_INFOW {
- DWORD dwGroupSize;
- DWORD dwGroupFlags;
- DWORD dwGroupType;
- DWORD dwDiskUsage;
- DWORD dwDiskQuota;
- DWORD dwOwnerStorage[GROUP_OWNER_STORAGE_SIZE];
- WCHAR szGroupName[GROUPNAME_MAX_LENGTH];
-} INTERNET_CACHE_GROUP_INFOW, * LPINTERNET_CACHE_GROUP_INFOW;
-
-#ifdef UNICODE
-typedef URL_COMPONENTSW URL_COMPONENTS;
-typedef LPURL_COMPONENTSW LPURL_COMPONENTS;
-typedef GOPHER_FIND_DATAW GOPHER_FIND_DATA;
-typedef LPGOPHER_FIND_DATAW LPGOPHER_FIND_DATA;
-typedef INTERNET_CACHE_ENTRY_INFOW INTERNET_CACHE_ENTRY_INFO;
-typedef LPINTERNET_CACHE_ENTRY_INFOW LPINTERNET_CACHE_ENTRY_INFO;
-typedef INTERNET_BUFFERSW INTERNET_BUFFERS,*LPINTERNET_BUFFERS;
-typedef INTERNET_CACHE_GROUP_INFOW INTERNET_CACHE_GROUP_INFO;
-typedef LPINTERNET_CACHE_GROUP_INFOW LPINTERNET_CACHE_GROUP_INFO;
-#else
-typedef URL_COMPONENTSA URL_COMPONENTS;
-typedef LPURL_COMPONENTSA LPURL_COMPONENTS;
-typedef GOPHER_FIND_DATAA GOPHER_FIND_DATA;
-typedef LPGOPHER_FIND_DATAA LPGOPHER_FIND_DATA;
-typedef INTERNET_CACHE_ENTRY_INFOA INTERNET_CACHE_ENTRY_INFO;
-typedef LPINTERNET_CACHE_ENTRY_INFOA LPINTERNET_CACHE_ENTRY_INFO;
-typedef INTERNET_BUFFERSA INTERNET_BUFFERS,*LPINTERNET_BUFFERS;
-typedef INTERNET_CACHE_GROUP_INFOA INTERNET_CACHE_GROUP_INFO;
-typedef LPINTERNET_CACHE_GROUP_INFOA LPINTERNET_CACHE_GROUP_INFO;
-#endif
-BOOL WINAPI InternetTimeFromSystemTime(SYSTEMTIME*,DWORD,LPSTR,DWORD);
-BOOL WINAPI InternetTimeToSystemTime(LPCSTR,SYSTEMTIME*,DWORD);
-BOOL WINAPI InternetDebugGetLocalTime(SYSTEMTIME*,PDWORD);
-BOOL WINAPI InternetCrackUrlA(LPCSTR,DWORD,DWORD,LPURL_COMPONENTSA);
-BOOL WINAPI InternetCrackUrlW(LPCWSTR,DWORD,DWORD,LPURL_COMPONENTSW);
-BOOL WINAPI InternetCreateUrlA(LPURL_COMPONENTSA,DWORD,LPSTR,PDWORD);
-BOOL WINAPI InternetCreateUrlW(LPURL_COMPONENTSW,DWORD,LPWSTR,PDWORD);
-BOOL WINAPI InternetCanonicalizeUrlA(LPCSTR,LPSTR,PDWORD,DWORD);
-BOOL WINAPI InternetCanonicalizeUrlW(LPCWSTR,LPWSTR,PDWORD,DWORD);
-BOOL WINAPI InternetCheckConnectionA(LPCSTR,DWORD,DWORD);
-BOOL WINAPI InternetCheckConnectionW(LPCWSTR,DWORD,DWORD);
-BOOL WINAPI InternetCombineUrlA(LPCSTR,LPCSTR,LPSTR,PDWORD,DWORD);
-BOOL WINAPI InternetCombineUrlW(LPCWSTR,LPCWSTR,LPWSTR,PDWORD,DWORD);
-HINTERNET WINAPI InternetOpenA(LPCSTR,DWORD,LPCSTR,LPCSTR,DWORD);
-HINTERNET WINAPI InternetOpenW(LPCWSTR,DWORD,LPCWSTR,LPCWSTR,DWORD);
-BOOL WINAPI InternetCloseHandle(HINTERNET);
-HINTERNET WINAPI InternetConnectA(HINTERNET,LPCSTR,INTERNET_PORT,LPCSTR,LPCSTR,DWORD,DWORD,DWORD);
-HINTERNET WINAPI InternetConnectW(HINTERNET,LPCWSTR,INTERNET_PORT,LPCWSTR,LPCWSTR,DWORD,DWORD,DWORD);
-HINTERNET WINAPI InternetOpenUrlA(HINTERNET,LPCSTR,LPCSTR,DWORD,DWORD,DWORD);
-HINTERNET WINAPI InternetOpenUrlW(HINTERNET,LPCWSTR,LPCWSTR,DWORD,DWORD,DWORD);
-BOOL WINAPI InternetReadFile(HINTERNET,PVOID,DWORD,PDWORD);
-DWORD WINAPI InternetSetFilePointer( HINTERNET,LONG,PVOID,DWORD,DWORD);
-BOOL WINAPI InternetWriteFile(HINTERNET,LPCVOID,DWORD,PDWORD);
-BOOL WINAPI InternetQueryDataAvailable( HINTERNET,PDWORD,DWORD,DWORD);
-BOOL WINAPI InternetFindNextFileA(HINTERNET,PVOID);
-BOOL WINAPI InternetFindNextFileW(HINTERNET,PVOID);
-BOOL WINAPI InternetQueryOptionA(HINTERNET,DWORD,PVOID,PDWORD);
-BOOL WINAPI InternetQueryOptionW(HINTERNET,DWORD,PVOID,PDWORD);
-BOOL WINAPI InternetSetOptionA(HINTERNET,DWORD,PVOID,DWORD);
-BOOL WINAPI InternetSetOptionW(HINTERNET,DWORD,PVOID,DWORD);
-BOOL WINAPI InternetSetOptionExA(HINTERNET,DWORD,PVOID,DWORD,DWORD);
-BOOL WINAPI InternetSetOptionExW(HINTERNET,DWORD,PVOID,DWORD,DWORD);
-BOOL WINAPI InternetGetLastResponseInfoA(PDWORD,LPSTR,PDWORD);
-BOOL WINAPI InternetGetLastResponseInfoW(PDWORD,LPWSTR,PDWORD);
-INTERNET_STATUS_CALLBACK WINAPI InternetSetStatusCallback(HINTERNET,INTERNET_STATUS_CALLBACK);
-DWORD WINAPI FtpGetFileSize(HINTERNET,LPDWORD);
-HINTERNET WINAPI FtpFindFirstFileA(HINTERNET,LPCSTR,LPWIN32_FIND_DATA,DWORD,DWORD);
-HINTERNET WINAPI FtpFindFirstFileW(HINTERNET,LPCWSTR,LPWIN32_FIND_DATA,DWORD,DWORD);
-BOOL WINAPI FtpGetFileA(HINTERNET,LPCSTR,LPCSTR,BOOL,DWORD,DWORD,DWORD);
-BOOL WINAPI FtpGetFileW( HINTERNET,LPCWSTR,LPCWSTR,BOOL,DWORD,DWORD,DWORD);
-BOOL WINAPI FtpPutFileA(HINTERNET,LPCSTR,LPCSTR,DWORD,DWORD);
-BOOL WINAPI FtpPutFileW(HINTERNET,LPCWSTR,LPCWSTR,DWORD,DWORD);
-BOOL WINAPI FtpDeleteFileA(HINTERNET,LPCSTR);
-BOOL WINAPI FtpDeleteFileW(HINTERNET,LPCWSTR);
-BOOL WINAPI FtpRenameFileA(HINTERNET, LPCSTR,LPCSTR);
-BOOL WINAPI FtpRenameFileW(HINTERNET,LPCWSTR,LPCWSTR);
-HINTERNET WINAPI FtpOpenFileA(HINTERNET,LPCSTR,DWORD,DWORD,DWORD);
-HINTERNET WINAPI FtpOpenFileW(HINTERNET,LPCWSTR,DWORD,DWORD,DWORD);
-BOOL WINAPI FtpCreateDirectoryA(HINTERNET,LPCSTR);
-BOOL WINAPI FtpCreateDirectoryW(HINTERNET,LPCWSTR);
-BOOL WINAPI FtpRemoveDirectoryA(HINTERNET,LPCSTR);
-BOOL WINAPI FtpRemoveDirectoryW(HINTERNET,LPCWSTR);
-BOOL WINAPI FtpSetCurrentDirectoryA(HINTERNET,LPCSTR);
-BOOL WINAPI FtpSetCurrentDirectoryW(HINTERNET,LPCWSTR);
-BOOL WINAPI FtpGetCurrentDirectoryA(HINTERNET,LPSTR,PDWORD);
-BOOL WINAPI FtpGetCurrentDirectoryW(HINTERNET,LPWSTR,PDWORD);
-BOOL WINAPI FtpCommandA(HINTERNET,BOOL,DWORD,LPCSTR,DWORD_PTR,HINTERNET*);
-BOOL WINAPI FtpCommandW(HINTERNET,BOOL,DWORD,LPCWSTR,DWORD_PTR,HINTERNET*);
-BOOL WINAPI GopherCreateLocatorA(LPCSTR,INTERNET_PORT,LPCSTR,LPCSTR,DWORD,LPSTR,PDWORD);
-BOOL WINAPI GopherCreateLocatorW(LPCWSTR,INTERNET_PORT,LPCWSTR,LPCWSTR,DWORD,LPWSTR,PDWORD);
-BOOL WINAPI GopherGetLocatorTypeA(LPCSTR,PDWORD);
-BOOL WINAPI GopherGetLocatorTypeW(LPCWSTR,PDWORD);
-HINTERNET WINAPI GopherFindFirstFileA(HINTERNET,LPCSTR,LPCSTR,LPGOPHER_FIND_DATAA,DWORD,DWORD);
-HINTERNET WINAPI GopherFindFirstFileW(HINTERNET,LPCWSTR,LPCWSTR,LPGOPHER_FIND_DATAW,DWORD,DWORD);
-HINTERNET WINAPI GopherOpenFileA(HINTERNET,LPCSTR,LPCSTR,DWORD,DWORD);
-HINTERNET WINAPI GopherOpenFileW(HINTERNET,LPCWSTR,LPCWSTR,DWORD,DWORD);
-BOOL WINAPI GopherGetAttributeA(HINTERNET,LPCSTR,LPCSTR,LPBYTE,DWORD,PDWORD,GOPHER_ATTRIBUTE_ENUMERATOR,DWORD);
-BOOL WINAPI GopherGetAttributeW(HINTERNET,LPCWSTR,
-LPCWSTR, LPBYTE, DWORD, PDWORD, GOPHER_ATTRIBUTE_ENUMERATOR, DWORD);
-HINTERNET WINAPI HttpOpenRequestA(HINTERNET,LPCSTR,LPCSTR,LPCSTR,LPCSTR,LPCSTR *,DWORD,DWORD);
-HINTERNET WINAPI HttpOpenRequestW(HINTERNET,LPCWSTR,LPCWSTR,LPCWSTR,LPCWSTR,LPCWSTR FAR * lplpszAcceptTypes , DWORD dwFlags, DWORD dwContext);
-BOOL WINAPI HttpAddRequestHeadersA(HINTERNET,LPCSTR,DWORD,DWORD);
-BOOL WINAPI HttpAddRequestHeadersW(HINTERNET,LPCWSTR,DWORD,DWORD);
-BOOL WINAPI HttpSendRequestA(HINTERNET,LPCSTR,DWORD,PVOID,DWORD);
-BOOL WINAPI HttpSendRequestW(HINTERNET,LPCWSTR,DWORD,PVOID,DWORD);
-BOOL WINAPI HttpQueryInfoA(HINTERNET,DWORD,PVOID,PDWORD,PDWORD);
-BOOL WINAPI HttpQueryInfoW(HINTERNET,DWORD,PVOID,PDWORD,PDWORD);
-BOOL WINAPI InternetSetCookieA(LPCSTR,LPCSTR,LPCSTR);
-BOOL WINAPI InternetSetCookieW(LPCSTR,LPCWSTR,LPCWSTR);
-BOOL WINAPI InternetGetCookieA(LPCSTR,LPCSTR,LPSTR,PDWORD);
-BOOL WINAPI InternetGetCookieW(LPCSTR,LPCWSTR,LPWSTR,PDWORD);
-DWORD WINAPI InternetAttemptConnect(DWORD);
-DWORD WINAPI InternetErrorDlg(HWND,HINTERNET,DWORD,DWORD,PVOID *);
-DWORD WINAPI InternetConfirmZoneCrossing(HWND,LPSTR,LPSTR,BOOL);
-BOOL WINAPI CreateUrlCacheEntryA(LPCSTR,DWORD,LPCSTR,LPSTR,DWORD);
-BOOL WINAPI CreateUrlCacheEntryW(LPCSTR,DWORD,LPCSTR,LPWSTR,DWORD);
-BOOL WINAPI CommitUrlCacheEntryA(LPCSTR,LPCSTR,FILETIME,FILETIME,DWORD,LPBYTE,DWORD,LPCSTR,DWORD);
-BOOL WINAPI CommitUrlCacheEntryW(LPCSTR,LPCWSTR,FILETIME,FILETIME,DWORD,LPBYTE,DWORD,LPCWSTR,DWORD);
-BOOL WINAPI RetrieveUrlCacheEntryFileA(LPCSTR,LPINTERNET_CACHE_ENTRY_INFOA,PDWORD,DWORD);
-BOOL WINAPI RetrieveUrlCacheEntryFileW(LPCSTR,LPINTERNET_CACHE_ENTRY_INFOW,PDWORD,DWORD);
-BOOL WINAPI UnlockUrlCacheEntryFile(LPCSTR,DWORD);
-HANDLE WINAPI RetrieveUrlCacheEntryStreamA(LPCSTR,LPINTERNET_CACHE_ENTRY_INFOA,PDWORD,BOOL,DWORD);
-HANDLE WINAPI RetrieveUrlCacheEntryStreamW( LPCSTR,LPINTERNET_CACHE_ENTRY_INFOW,PDWORD,BOOL,DWORD);
-BOOL WINAPI ReadUrlCacheEntryStream(HANDLE,DWORD,PVOID,PDWORD,DWORD);
-BOOL WINAPI UnlockUrlCacheEntryStream( HANDLE,DWORD);
-BOOL WINAPI GetUrlCacheEntryInfoA(LPCSTR,LPINTERNET_CACHE_ENTRY_INFOA,PDWORD);
-BOOL WINAPI GetUrlCacheEntryInfoW(LPCSTR,LPINTERNET_CACHE_ENTRY_INFOW,PDWORD);
-BOOL WINAPI SetUrlCacheEntryInfoA(LPCSTR,LPINTERNET_CACHE_ENTRY_INFOA,DWORD);
-BOOL WINAPI SetUrlCacheEntryInfoW(LPCSTR,LPINTERNET_CACHE_ENTRY_INFOW,DWORD);
-HANDLE WINAPI FindFirstUrlCacheEntryA(LPCSTR,LPINTERNET_CACHE_ENTRY_INFOA,PDWORD);
-HANDLE WINAPI FindFirstUrlCacheEntryW(LPCSTR,LPINTERNET_CACHE_ENTRY_INFOW,PDWORD);
-BOOL WINAPI FindNextUrlCacheEntryA(HANDLE,LPINTERNET_CACHE_ENTRY_INFOA,PDWORD);
-BOOL WINAPI FindNextUrlCacheEntryW(HANDLE,LPINTERNET_CACHE_ENTRY_INFOW,PDWORD);
-BOOL WINAPI FindCloseUrlCache(HANDLE);
-BOOL WINAPI DeleteUrlCacheEntry(LPCSTR);
-DWORD AuthenticateUser(PVOID*,LPSTR,LPSTR,DWORD,LPSTR,DWORD,LPSTR,LPSTR);
-BOOL WINAPI HttpSendRequestExA(HINTERNET,LPINTERNET_BUFFERSA,LPINTERNET_BUFFERSA,DWORD,DWORD);
-BOOL WINAPI HttpSendRequestExW(HINTERNET,LPINTERNET_BUFFERSW,LPINTERNET_BUFFERSW,DWORD,DWORD);
-BOOL WINAPI HttpEndRequestA(HINTERNET,LPINTERNET_BUFFERSA,DWORD,DWORD);
-BOOL WINAPI HttpEndRequestW(HINTERNET,LPINTERNET_BUFFERSW,DWORD,DWORD);
-DWORD WINAPI InternetDial(HWND,LPTSTR,DWORD,LPDWORD,DWORD);
-DWORD WINAPI InternetHangUp(DWORD,DWORD);
-BOOL WINAPI InternetGoOnline(LPTSTR,HWND,DWORD);
-BOOL WINAPI InternetAutodial(DWORD,DWORD);
-BOOL WINAPI InternetAutodialHangup(DWORD);
-BOOL WINAPI InternetGetConnectedState(LPDWORD,DWORD);
-BOOL WINAPI InternetSetDialState(LPCTSTR,DWORD,DWORD);
-BOOL WINAPI InternetReadFileExA(HINTERNET,LPINTERNET_BUFFERSA,DWORD,DWORD_PTR);
-BOOL WINAPI InternetReadFileExW(HINTERNET,LPINTERNET_BUFFERSW,DWORD,DWORD_PTR);
-GROUPID WINAPI CreateUrlCacheGroup(DWORD,LPVOID);
-BOOL WINAPI DeleteUrlCacheGroup(GROUPID,DWORD,LPVOID);
-HANDLE WINAPI FindFirstUrlCacheGroup(DWORD,DWORD,LPVOID,DWORD,GROUPID*,LPVOID);
-BOOL WINAPI FindNextUrlCacheGroup(HANDLE,GROUPID*,LPVOID);
-BOOL WINAPI GetUrlCacheGroupAttributeA(GROUPID,DWORD,DWORD,LPINTERNET_CACHE_GROUP_INFOA,LPDWORD,LPVOID);
-BOOL WINAPI GetUrlCacheGroupAttributeW(GROUPID,DWORD,DWORD,LPINTERNET_CACHE_GROUP_INFOW,LPDWORD,LPVOID);
-BOOL WINAPI SetUrlCacheGroupAttributeA(GROUPID,DWORD,DWORD,LPINTERNET_CACHE_GROUP_INFOA,LPVOID);
-BOOL WINAPI SetUrlCacheGroupAttributeW(GROUPID,DWORD,DWORD,LPINTERNET_CACHE_GROUP_INFOW,LPVOID);
-
-#ifdef UNICODE
-#define InternetCrackUrl InternetCrackUrlW
-#define InternetCreateUrl InternetCreateUrlW
-#define InternetCanonicalizeUrl InternetCanonicalizeUrlW
-#define InternetCheckConnection InternetCheckConnectionW
-#define InternetCombineUrl InternetCombineUrlW
-#define InternetOpen InternetOpenW
-#define InternetConnect InternetConnectW
-#define InternetOpenUrl InternetOpenUrlW
-#define InternetFindNextFile InternetFindNextFileW
-#define InternetQueryOption InternetQueryOptionW
-#define InternetSetOption InternetSetOptionW
-#define InternetSetOptionEx InternetSetOptionExW
-#define InternetGetLastResponseInfo InternetGetLastResponseInfoW
-#define InternetReadFileEx InternetReadFileExW
-#define FtpFindFirstFile FtpFindFirstFileW
-#define FtpGetFile FtpGetFileW
-#define FtpPutFile FtpPutFileW
-#define FtpDeleteFile FtpDeleteFileW
-#define FtpRenameFile FtpRenameFileW
-#define FtpOpenFile FtpOpenFileW
-#define FtpCreateDirectory FtpCreateDirectoryW
-#define FtpRemoveDirectory FtpRemoveDirectoryW
-#define FtpSetCurrentDirectory FtpSetCurrentDirectoryW
-#define FtpGetCurrentDirectory FtpGetCurrentDirectoryW
-#define FtpCommand FtpCommandW
-#define GopherGetLocatorType GopherGetLocatorTypeW
-#define GopherCreateLocator GopherCreateLocatorW
-#define GopherFindFirstFile GopherFindFirstFileW
-#define GopherOpenFile GopherOpenFileW
-#define GopherGetAttribute GopherGetAttributeW
-#define HttpSendRequest HttpSendRequestW
-#define HttpOpenRequest HttpOpenRequestW
-#define HttpAddRequestHeaders HttpAddRequestHeadersW
-#define HttpQueryInfo HttpQueryInfoW
-#define InternetSetCookie InternetSetCookieW
-#define InternetGetCookie InternetGetCookieW
-#define CreateUrlCacheEntry CreateUrlCacheEntryW
-#define RetrieveUrlCacheEntryStream RetrieveUrlCacheEntryStreamW
-#define FindNextUrlCacheEntry FindNextUrlCacheEntryW
-#define CommitUrlCacheEntry CommitUrlCacheEntryW
-#define GetUrlCacheEntryInfo GetUrlCacheEntryInfoW
-#define SetUrlCacheEntryInfo SetUrlCacheEntryInfoW
-#define FindFirstUrlCacheEntry FindFirstUrlCacheEntryW
-#define RetrieveUrlCacheEntryFile RetrieveUrlCacheEntryFileW
-#define HttpSendRequestEx HttpSendRequestExW
-#define HttpEndRequest HttpEndRequestW
-#define GetUrlCacheGroupAttribute GetUrlCacheGroupAttributeW
-#define SetUrlCacheGroupAttribute SetUrlCacheGroupAttributeW
-#else
-#define GopherGetAttribute GopherGetAttributeA
-#define InternetCrackUrl InternetCrackUrlA
-#define InternetCreateUrl InternetCreateUrlA
-#define InternetCanonicalizeUrl InternetCanonicalizeUrlA
-#define InternetCheckConnection InternetCheckConnectionA
-#define InternetCombineUrl InternetCombineUrlA
-#define InternetOpen InternetOpenA
-#define InternetConnect InternetConnectA
-#define InternetOpenUrl InternetOpenUrlA
-#define InternetFindNextFile InternetFindNextFileA
-#define InternetQueryOption InternetQueryOptionA
-#define InternetSetOption InternetSetOptionA
-#define InternetSetOptionEx InternetSetOptionExA
-#define InternetGetLastResponseInfo InternetGetLastResponseInfoA
-#define InternetReadFileEx InternetReadFileExA
-#define FtpFindFirstFile FtpFindFirstFileA
-#define FtpGetFile FtpGetFileA
-#define FtpPutFile FtpPutFileA
-#define FtpDeleteFile FtpDeleteFileA
-#define FtpRenameFile FtpRenameFileA
-#define FtpOpenFile FtpOpenFileA
-#define FtpCreateDirectory FtpCreateDirectoryA
-#define FtpRemoveDirectory FtpRemoveDirectoryA
-#define FtpSetCurrentDirectory FtpSetCurrentDirectoryA
-#define FtpGetCurrentDirectory FtpGetCurrentDirectoryA
-#define FtpCommand FtpCommandA
-#define GopherGetLocatorType GopherGetLocatorTypeA
-#define GopherCreateLocator GopherCreateLocatorA
-#define GopherFindFirstFile GopherFindFirstFileA
-#define GopherOpenFile GopherOpenFileA
-#define HttpSendRequest HttpSendRequestA
-#define HttpOpenRequest HttpOpenRequestA
-#define HttpAddRequestHeaders HttpAddRequestHeadersA
-#define HttpQueryInfo HttpQueryInfoA
-#define InternetSetCookie InternetSetCookieA
-#define InternetGetCookie InternetGetCookieA
-#define CreateUrlCacheEntry CreateUrlCacheEntryA
-#define RetrieveUrlCacheEntryStream RetrieveUrlCacheEntryStreamA
-#define FindNextUrlCacheEntry FindNextUrlCacheEntryA
-#define CommitUrlCacheEntry CommitUrlCacheEntryA
-#define GetUrlCacheEntryInfo GetUrlCacheEntryInfoA
-#define SetUrlCacheEntryInfo SetUrlCacheEntryInfoA
-#define FindFirstUrlCacheEntry FindFirstUrlCacheEntryA
-#define RetrieveUrlCacheEntryFile RetrieveUrlCacheEntryFileA
-#define HttpSendRequestEx HttpSendRequestExA
-#define HttpEndRequest HttpEndRequestA
-#define GetUrlCacheGroupAttribute GetUrlCacheGroupAttributeA
-#define SetUrlCacheGroupAttribute SetUrlCacheGroupAttributeA
-#endif /* UNICODE */
-#endif /* RC_INVOKED */
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/winsup/w32api/include/winioctl.h b/winsup/w32api/include/winioctl.h
deleted file mode 100644
index 87f121fe5..000000000
--- a/winsup/w32api/include/winioctl.h
+++ /dev/null
@@ -1,554 +0,0 @@
-#ifndef _WINIOCTL_H
-#define _WINIOCTL_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-#define HIST_NO_OF_BUCKETS 24
-#define HISTOGRAM_BUCKET_SIZE sizeof(HISTOGRAM_BUCKET)
-#define DISK_HISTOGRAM_SIZE sizeof(DISK_HISTOGRAM)
-#define CTL_CODE(t,f,m,a) (((t)<<16)|((a)<<14)|((f)<<2)|(m))
-#define DEVICE_TYPE_FROM_CTL_CODE(c) (((DWORD)((c)&0xffff0000))>>16)
-#define IOCTL_STORAGE_BASE FILE_DEVICE_MASS_STORAGE
-#define IOCTL_STORAGE_CHECK_VERIFY CTL_CODE(IOCTL_STORAGE_BASE, 0x0200, METHOD_BUFFERED, FILE_READ_ACCESS)
-#define IOCTL_STORAGE_CHECK_VERIFY2 CTL_CODE(IOCTL_STORAGE_BASE, 0x0200, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_STORAGE_MEDIA_REMOVAL CTL_CODE(IOCTL_STORAGE_BASE, 0x0201, METHOD_BUFFERED, FILE_READ_ACCESS)
-#define IOCTL_STORAGE_EJECT_MEDIA CTL_CODE(IOCTL_STORAGE_BASE, 0x0202, METHOD_BUFFERED, FILE_READ_ACCESS)
-#define IOCTL_STORAGE_LOAD_MEDIA CTL_CODE(IOCTL_STORAGE_BASE, 0x0203, METHOD_BUFFERED, FILE_READ_ACCESS)
-#define IOCTL_STORAGE_LOAD_MEDIA2 CTL_CODE(IOCTL_STORAGE_BASE, 0x0203, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_STORAGE_RESERVE CTL_CODE(IOCTL_STORAGE_BASE, 0x0204, METHOD_BUFFERED, FILE_READ_ACCESS)
-#define IOCTL_STORAGE_RELEASE CTL_CODE(IOCTL_STORAGE_BASE, 0x0205, METHOD_BUFFERED, FILE_READ_ACCESS)
-#define IOCTL_STORAGE_FIND_NEW_DEVICES CTL_CODE(IOCTL_STORAGE_BASE, 0x0206, METHOD_BUFFERED, FILE_READ_ACCESS)
-#define IOCTL_STORAGE_EJECTION_CONTROL CTL_CODE(IOCTL_STORAGE_BASE, 0x0250, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_STORAGE_MCN_CONTROL CTL_CODE(IOCTL_STORAGE_BASE, 0x0251, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_STORAGE_GET_MEDIA_TYPES CTL_CODE(IOCTL_STORAGE_BASE, 0x0300, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_STORAGE_GET_MEDIA_TYPES_EX CTL_CODE(IOCTL_STORAGE_BASE, 0x0301, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_STORAGE_RESET_BUS CTL_CODE(IOCTL_STORAGE_BASE, 0x0400, METHOD_BUFFERED, FILE_READ_ACCESS)
-#define IOCTL_STORAGE_RESET_DEVICE CTL_CODE(IOCTL_STORAGE_BASE, 0x0401, METHOD_BUFFERED, FILE_READ_ACCESS)
-#define IOCTL_STORAGE_GET_DEVICE_NUMBER CTL_CODE(IOCTL_STORAGE_BASE, 0x0420, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_STORAGE_PREDICT_FAILURE CTL_CODE(IOCTL_STORAGE_BASE, 0x0440, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_DISK_BASE FILE_DEVICE_DISK
-#define IOCTL_DISK_GET_DRIVE_GEOMETRY CTL_CODE(IOCTL_DISK_BASE,0,METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_DISK_GET_PARTITION_INFO CTL_CODE(IOCTL_DISK_BASE,1,METHOD_BUFFERED,FILE_READ_ACCESS)
-#define IOCTL_DISK_SET_PARTITION_INFO CTL_CODE(IOCTL_DISK_BASE,2,METHOD_BUFFERED,FILE_READ_ACCESS|FILE_WRITE_ACCESS)
-#define IOCTL_DISK_GET_DRIVE_LAYOUT CTL_CODE(IOCTL_DISK_BASE,3,METHOD_BUFFERED,FILE_READ_ACCESS)
-#define IOCTL_DISK_SET_DRIVE_LAYOUT CTL_CODE(IOCTL_DISK_BASE,4,METHOD_BUFFERED,FILE_READ_ACCESS|FILE_WRITE_ACCESS)
-#define IOCTL_DISK_VERIFY CTL_CODE(IOCTL_DISK_BASE,5,METHOD_BUFFERED,FILE_ANY_ACCESS)
-#define IOCTL_DISK_FORMAT_TRACKS CTL_CODE(IOCTL_DISK_BASE,6,METHOD_BUFFERED,FILE_READ_ACCESS|FILE_WRITE_ACCESS)
-#define IOCTL_DISK_REASSIGN_BLOCKS CTL_CODE(IOCTL_DISK_BASE,7,METHOD_BUFFERED,FILE_READ_ACCESS|FILE_WRITE_ACCESS)
-#define IOCTL_DISK_PERFORMANCE CTL_CODE(IOCTL_DISK_BASE,8,METHOD_BUFFERED,FILE_ANY_ACCESS)
-#define IOCTL_DISK_IS_WRITABLE CTL_CODE(IOCTL_DISK_BASE,9,METHOD_BUFFERED,FILE_ANY_ACCESS)
-#define IOCTL_DISK_LOGGING CTL_CODE(IOCTL_DISK_BASE,10,METHOD_BUFFERED,FILE_ANY_ACCESS)
-#define IOCTL_DISK_FORMAT_TRACKS_EX CTL_CODE(IOCTL_DISK_BASE,11,METHOD_BUFFERED,FILE_READ_ACCESS|FILE_WRITE_ACCESS)
-#define IOCTL_DISK_HISTOGRAM_STRUCTURE CTL_CODE(IOCTL_DISK_BASE,12,METHOD_BUFFERED,FILE_ANY_ACCESS)
-#define IOCTL_DISK_HISTOGRAM_DATA CTL_CODE(IOCTL_DISK_BASE,13,METHOD_BUFFERED,FILE_ANY_ACCESS)
-#define IOCTL_DISK_HISTOGRAM_RESET CTL_CODE(IOCTL_DISK_BASE,14,METHOD_BUFFERED,FILE_ANY_ACCESS)
-#define IOCTL_DISK_REQUEST_STRUCTURE CTL_CODE(IOCTL_DISK_BASE,15,METHOD_BUFFERED,FILE_ANY_ACCESS)
-#define IOCTL_DISK_REQUEST_DATA CTL_CODE(IOCTL_DISK_BASE,16,METHOD_BUFFERED,FILE_ANY_ACCESS)
-#define IOCTL_DISK_GET_PARTITION_INFO_EX CTL_CODE(IOCTL_DISK_BASE,0x12,METHOD_BUFFERED,FILE_ANY_ACCESS)
-#define IOCTL_DISK_SET_PARTITION_INFO_EX CTL_CODE(IOCTL_DISK_BASE,0x13,METHOD_BUFFERED,FILE_READ_ACCESS | FILE_WRITE_ACCESS)
-#define IOCTL_DISK_GET_DRIVE_LAYOUT_EX CTL_CODE(IOCTL_DISK_BASE,0x14,METHOD_BUFFERED,FILE_ANY_ACCESS)
-#define IOCTL_DISK_SET_DRIVE_LAYOUT_EX CTL_CODE(IOCTL_DISK_BASE,0x15,METHOD_BUFFERED,FILE_READ_ACCESS | FILE_WRITE_ACCESS)
-#define IOCTL_DISK_CREATE_DISK CTL_CODE(IOCTL_DISK_BASE,0x16,METHOD_BUFFERED,FILE_READ_ACCESS | FILE_WRITE_ACCESS)
-#define IOCTL_DISK_GET_LENGTH_INFO CTL_CODE(IOCTL_DISK_BASE,0x17,METHOD_BUFFERED,FILE_READ_ACCESS)
-#define IOCTL_DISK_PERFORMANCE_OFF CTL_CODE(IOCTL_DISK_BASE,0x18,METHOD_BUFFERED,FILE_ANY_ACCESS)
-#define IOCTL_DISK_GET_DRIVE_GEOMETRY_EX CTL_CODE(IOCTL_DISK_BASE,0x28,METHOD_BUFFERED,FILE_ANY_ACCESS)
-#define IOCTL_DISK_GROW_PARTITION CTL_CODE(IOCTL_DISK_BASE,0x34,METHOD_BUFFERED,FILE_READ_ACCESS | FILE_WRITE_ACCESS)
-#define IOCTL_DISK_GET_CACHE_INFORMATION CTL_CODE(IOCTL_DISK_BASE,0x35,METHOD_BUFFERED,FILE_READ_ACCESS)
-#define IOCTL_DISK_SET_CACHE_INFORMATION CTL_CODE(IOCTL_DISK_BASE,0x36,METHOD_BUFFERED,FILE_READ_ACCESS | FILE_WRITE_ACCESS)
-#define IOCTL_DISK_DELETE_DRIVE_LAYOUT CTL_CODE(IOCTL_DISK_BASE,0x40,METHOD_BUFFERED,FILE_READ_ACCESS | FILE_WRITE_ACCESS)
-#define IOCTL_DISK_UPDATE_PROPERTIES CTL_CODE(IOCTL_DISK_BASE,0x50,METHOD_BUFFERED,FILE_ANY_ACCESS)
-#define IOCTL_DISK_CHECK_VERIFY CTL_CODE(IOCTL_DISK_BASE,0x200,METHOD_BUFFERED,FILE_READ_ACCESS)
-#define IOCTL_DISK_MEDIA_REMOVAL CTL_CODE(IOCTL_DISK_BASE,0x201,METHOD_BUFFERED,FILE_READ_ACCESS)
-#define IOCTL_DISK_EJECT_MEDIA CTL_CODE(IOCTL_DISK_BASE,0x202,METHOD_BUFFERED,FILE_READ_ACCESS)
-#define IOCTL_DISK_LOAD_MEDIA CTL_CODE(IOCTL_DISK_BASE,0x203,METHOD_BUFFERED,FILE_READ_ACCESS)
-#define IOCTL_DISK_RESERVE CTL_CODE(IOCTL_DISK_BASE,0x204,METHOD_BUFFERED,FILE_READ_ACCESS)
-#define IOCTL_DISK_RELEASE CTL_CODE(IOCTL_DISK_BASE,0x205,METHOD_BUFFERED,FILE_READ_ACCESS)
-#define IOCTL_DISK_FIND_NEW_DEVICES CTL_CODE(IOCTL_DISK_BASE,0x206,METHOD_BUFFERED,FILE_READ_ACCESS)
-#define IOCTL_DISK_REMOVE_DEVICE CTL_CODE(IOCTL_DISK_BASE,0x207,METHOD_BUFFERED,FILE_READ_ACCESS)
-#define IOCTL_DISK_GET_MEDIA_TYPES CTL_CODE(IOCTL_DISK_BASE,0x300,METHOD_BUFFERED,FILE_ANY_ACCESS)
-#define IOCTL_DISK_UPDATE_DRIVE_SIZE CTL_CODE(IOCTL_DISK_BASE, 0x0032, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
-#define IOCTL_SERIAL_LSRMST_INSERT CTL_CODE(FILE_DEVICE_SERIAL_PORT,31,METHOD_BUFFERED,FILE_ANY_ACCESS)
-
-/* Also in ddk/ntddvol.h */
-#define IOCTL_VOLUME_BASE ((ULONG) 'V')
-#define IOCTL_VOLUME_GET_VOLUME_DISK_EXTENTS \
- CTL_CODE(IOCTL_VOLUME_BASE, 0, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define IOCTL_VOLUME_IS_CLUSTERED \
- CTL_CODE(IOCTL_VOLUME_BASE, 12, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define FSCTL_LOCK_VOLUME CTL_CODE(FILE_DEVICE_FILE_SYSTEM,6,METHOD_BUFFERED,FILE_ANY_ACCESS)
-#define FSCTL_UNLOCK_VOLUME CTL_CODE(FILE_DEVICE_FILE_SYSTEM,7,METHOD_BUFFERED,FILE_ANY_ACCESS)
-#define FSCTL_DISMOUNT_VOLUME CTL_CODE(FILE_DEVICE_FILE_SYSTEM,8,METHOD_BUFFERED,FILE_ANY_ACCESS)
-#define FSCTL_MOUNT_DBLS_VOLUME CTL_CODE(FILE_DEVICE_FILE_SYSTEM,13,METHOD_BUFFERED,FILE_ANY_ACCESS)
-#define FSCTL_GET_COMPRESSION CTL_CODE(FILE_DEVICE_FILE_SYSTEM,15,METHOD_BUFFERED,FILE_ANY_ACCESS)
-#define FSCTL_SET_COMPRESSION CTL_CODE(FILE_DEVICE_FILE_SYSTEM,16,METHOD_BUFFERED,FILE_READ_DATA|FILE_WRITE_DATA)
-#define FSCTL_READ_COMPRESSION CTL_CODE(FILE_DEVICE_FILE_SYSTEM,17,METHOD_NEITHER,FILE_READ_DATA)
-#define FSCTL_WRITE_COMPRESSION CTL_CODE(FILE_DEVICE_FILE_SYSTEM,18,METHOD_NEITHER,FILE_WRITE_DATA)
-#define FSCTL_GET_NTFS_VOLUME_DATA CTL_CODE(FILE_DEVICE_FILE_SYSTEM,25,METHOD_BUFFERED,FILE_ANY_ACCESS)
-#define FSCTL_GET_VOLUME_BITMAP CTL_CODE(FILE_DEVICE_FILE_SYSTEM,27,METHOD_NEITHER,FILE_ANY_ACCESS)
-#define FSCTL_GET_RETRIEVAL_POINTERS CTL_CODE(FILE_DEVICE_FILE_SYSTEM,28,METHOD_NEITHER,FILE_ANY_ACCESS)
-#define FSCTL_MOVE_FILE CTL_CODE(FILE_DEVICE_FILE_SYSTEM,29,METHOD_BUFFERED,FILE_ANY_ACCESS)
-#define FSCTL_GET_REPARSE_POINT CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 42, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define FSCTL_SET_REPARSE_POINT CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 41, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define FSCTL_DELETE_REPARSE_POINT CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 43, METHOD_BUFFERED, FILE_ANY_ACCESS)
-#define FSCTL_SET_SPARSE CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 49, METHOD_BUFFERED, FILE_SPECIAL_ACCESS)
-#define DEVICE_TYPE DWORD
-#define FILE_DEVICE_BEEP 1
-#define FILE_DEVICE_CD_ROM 2
-#define FILE_DEVICE_CD_ROM_FILE_SYSTEM 3
-#define FILE_DEVICE_CONTROLLER 4
-#define FILE_DEVICE_DATALINK 5
-#define FILE_DEVICE_DFS 6
-#define FILE_DEVICE_DISK 7
-#define FILE_DEVICE_DISK_FILE_SYSTEM 8
-#define FILE_DEVICE_FILE_SYSTEM 9
-#define FILE_DEVICE_INPORT_PORT 10
-#define FILE_DEVICE_KEYBOARD 11
-#define FILE_DEVICE_MAILSLOT 12
-#define FILE_DEVICE_MIDI_IN 13
-#define FILE_DEVICE_MIDI_OUT 14
-#define FILE_DEVICE_MOUSE 15
-#define FILE_DEVICE_MULTI_UNC_PROVIDER 16
-#define FILE_DEVICE_NAMED_PIPE 17
-#define FILE_DEVICE_NETWORK 18
-#define FILE_DEVICE_NETWORK_BROWSER 19
-#define FILE_DEVICE_NETWORK_FILE_SYSTEM 20
-#define FILE_DEVICE_NULL 21
-#define FILE_DEVICE_PARALLEL_PORT 22
-#define FILE_DEVICE_PHYSICAL_NETCARD 23
-#define FILE_DEVICE_PRINTER 24
-#define FILE_DEVICE_SCANNER 25
-#define FILE_DEVICE_SERIAL_MOUSE_PORT 26
-#define FILE_DEVICE_SERIAL_PORT 27
-#define FILE_DEVICE_SCREEN 28
-#define FILE_DEVICE_SOUND 29
-#define FILE_DEVICE_STREAMS 30
-#define FILE_DEVICE_TAPE 31
-#define FILE_DEVICE_TAPE_FILE_SYSTEM 32
-#define FILE_DEVICE_TRANSPORT 33
-#define FILE_DEVICE_UNKNOWN 34
-#define FILE_DEVICE_VIDEO 35
-#define FILE_DEVICE_VIRTUAL_DISK 36
-#define FILE_DEVICE_WAVE_IN 37
-#define FILE_DEVICE_WAVE_OUT 38
-#define FILE_DEVICE_8042_PORT 39
-#define FILE_DEVICE_NETWORK_REDIRECTOR 40
-#define FILE_DEVICE_BATTERY 41
-#define FILE_DEVICE_BUS_EXTENDER 42
-#define FILE_DEVICE_MODEM 43
-#define FILE_DEVICE_VDM 44
-#define FILE_DEVICE_MASS_STORAGE 45
-#define FILE_DEVICE_SMB 46
-#define FILE_DEVICE_KS 47
-#define FILE_DEVICE_CHANGER 48
-#define FILE_DEVICE_SMARTCARD 49
-#define FILE_DEVICE_ACPI 50
-#define FILE_DEVICE_DVD 51
-#define FILE_DEVICE_FULLSCREEN_VIDEO 52
-#define FILE_DEVICE_DFS_FILE_SYSTEM 53
-#define FILE_DEVICE_DFS_VOLUME 54
-#define FILE_DEVICE_SERENUM 55
-#define FILE_DEVICE_TERMSRV 56
-#define FILE_DEVICE_KSEC 57
-#define PARTITION_ENTRY_UNUSED 0
-#define PARTITION_FAT_12 1
-#define PARTITION_XENIX_1 2
-#define PARTITION_XENIX_2 3
-#define PARTITION_FAT_16 4
-#define PARTITION_EXTENDED 5
-#define PARTITION_HUGE 6
-#define PARTITION_IFS 7
-#define PARTITION_FAT32 0x0B
-#define PARTITION_FAT32_XINT13 0x0C
-#define PARTITION_XINT13 0x0E
-#define PARTITION_XINT13_EXTENDED 0x0F
-#define PARTITION_PREP 0x41
-#define PARTITION_LDM 0x42
-#define PARTITION_UNIX 0x63
-#define PARTITION_NTFT 128
-#define VALID_NTFT 0xC0
-#define METHOD_BUFFERED 0
-#define METHOD_IN_DIRECT 1
-#define METHOD_OUT_DIRECT 2
-#define METHOD_NEITHER 3
-#define SERIAL_LSRMST_ESCAPE 0
-#define SERIAL_LSRMST_LSR_DATA 1
-#define SERIAL_LSRMST_LSR_NODATA 2
-#define SERIAL_LSRMST_MST 3
-
-/* Also in ddk/winddk.h */
-#define FILE_ANY_ACCESS 0x00000000
-#define FILE_SPECIAL_ACCESS FILE_ANY_ACCESS
-#define FILE_READ_ACCESS 0x00000001
-#define FILE_WRITE_ACCESS 0x00000002
-
-#define DISK_LOGGING_START 0
-#define DISK_LOGGING_STOP 1
-#define DISK_LOGGING_DUMP 2
-#define DISK_BINNING 3
-typedef WORD BAD_TRACK_NUMBER,*PBAD_TRACK_NUMBER;
-typedef enum _BIN_TYPES {RequestSize,RequestLocation} BIN_TYPES;
-typedef struct _BIN_RANGE {
- LARGE_INTEGER StartValue;
- LARGE_INTEGER Length;
-} BIN_RANGE,*PBIN_RANGE;
-typedef struct _BIN_COUNT {
- BIN_RANGE BinRange;
- DWORD BinCount;
-} BIN_COUNT,*PBIN_COUNT;
-typedef struct _BIN_RESULTS {
- DWORD NumberOfBins;
- BIN_COUNT BinCounts[1];
-} BIN_RESULTS,*PBIN_RESULTS;
-typedef enum _PARTITION_STYLE {
- PARTITION_STYLE_MBR,
- PARTITION_STYLE_GPT,
- PARTITION_STYLE_RAW
-} PARTITION_STYLE;
-typedef struct {
- GUID DiskId;
- DWORD MaxPartitionCount;
-} CREATE_DISK_GPT,*PCREATE_DISK_GPT;
-typedef struct {
- DWORD Signature;
-} CREATE_DISK_MBR,*PCREATE_DISK_MBR;
-typedef struct {
- PARTITION_STYLE PartitionStyle;
- _ANONYMOUS_UNION union {
- CREATE_DISK_MBR Mbr;
- CREATE_DISK_GPT Gpt;
- };
-} CREATE_DISK,*PCREATE_DISK;
-typedef enum {
- EqualPriority,
- KeepPrefetchedData,
- KeepReadData
-} DISK_CACHE_RETENTION_PRIORITY;
-typedef struct _DISK_CACHE_INFORMATION {
- BOOLEAN ParametersSavable;
- BOOLEAN ReadCacheEnabled;
- BOOLEAN WriteCacheEnabled;
- DISK_CACHE_RETENTION_PRIORITY ReadRetentionPriority;
- DISK_CACHE_RETENTION_PRIORITY WriteRetentionPriority;
- WORD DisablePrefetchTransferLength;
- BOOLEAN PrefetchScalar;
- _ANONYMOUS_UNION union {
- struct {
- WORD Minimum;
- WORD Maximum;
- WORD MaximumBlocks;
- } ScalarPrefetch;
- struct {
- WORD Minimum;
- WORD Maximum;
- } BlockPrefetch;
- };
-} DISK_CACHE_INFORMATION,*PDISK_CACHE_INFORMATION;
-typedef enum _DETECTION_TYPE {
- DetectNone,
- DetectInt13,
- DetectExInt13
-} DETECTION_TYPE;
-typedef struct _DISK_INT13_INFO {
- WORD DriveSelect;
- DWORD MaxCylinders;
- WORD SectorsPerTrack;
- WORD MaxHeads;
- WORD NumberDrives;
-} DISK_INT13_INFO,*PDISK_INT13_INFO;
-typedef struct _DISK_EX_INT13_INFO {
- WORD ExBufferSize;
- WORD ExFlags;
- DWORD ExCylinders;
- DWORD ExHeads;
- DWORD ExSectorsPerTrack;
- DWORD64 ExSectorsPerDrive;
- WORD ExSectorSize;
- WORD ExReserved;
-} DISK_EX_INT13_INFO,*PDISK_EX_INT13_INFO;
-typedef struct _DISK_DETECTION_INFO {
- DWORD SizeOfDetectInfo;
- DETECTION_TYPE DetectionType;
- _ANONYMOUS_UNION union {
- _ANONYMOUS_STRUCT struct {
- DISK_INT13_INFO Int13;
- DISK_EX_INT13_INFO ExInt13;
- };
- };
-} DISK_DETECTION_INFO,*PDISK_DETECTION_INFO;
-typedef enum _MEDIA_TYPE {
- Unknown,
- F5_1Pt2_512,
- F3_1Pt44_512,
- F3_2Pt88_512,
- F3_20Pt8_512,
- F3_720_512,
- F5_360_512,
- F5_320_512,
- F5_320_1024,
- F5_180_512,
- F5_160_512,
- RemovableMedia,
- FixedMedia,
- F3_120M_512,
- F3_640_512,
- F5_640_512,
- F5_720_512,
- F3_1Pt2_512,
- F3_1Pt23_1024,
- F5_1Pt23_1024,
- F3_128Mb_512,
- F3_230Mb_512,
- F8_256_128,
- F3_200Mb_512,
- F3_240M_512,
- F3_32M_512
-} MEDIA_TYPE,*PMEDIA_TYPE;
-typedef struct _DISK_GEOMETRY {
- LARGE_INTEGER Cylinders;
- MEDIA_TYPE MediaType;
- DWORD TracksPerCylinder;
- DWORD SectorsPerTrack;
- DWORD BytesPerSector;
-} DISK_GEOMETRY,*PDISK_GEOMETRY;
-typedef struct _DISK_GEOMETRY_EX {
- DISK_GEOMETRY Geometry;
- LARGE_INTEGER DiskSize;
- BYTE Data[1];
-} DISK_GEOMETRY_EX,*PDISK_GEOMETRY_EX;
-typedef struct _DISK_GROW_PARTITION {
- DWORD PartitionNumber;
- LARGE_INTEGER BytesToGrow;
-} DISK_GROW_PARTITION, *PDISK_GROW_PARTITION;
-typedef struct _DISK_PARTITION_INFO {
- DWORD SizeOfPartitionInfo;
- PARTITION_STYLE PartitionStyle;
- _ANONYMOUS_UNION union {
- struct {
- DWORD Signature;
- } Mbr;
- struct {
- GUID DiskId;
- } Gpt;
- };
-} DISK_PARTITION_INFO,*PDISK_PARTITION_INFO;
-typedef struct _DISK_PERFORMANCE {
- LARGE_INTEGER BytesRead;
- LARGE_INTEGER BytesWritten;
- LARGE_INTEGER ReadTime;
- LARGE_INTEGER WriteTime;
- DWORD ReadCount;
- DWORD WriteCount;
- DWORD QueueDepth;
-} DISK_PERFORMANCE, *PDISK_PERFORMANCE;
-typedef struct _DISK_RECORD {
- LARGE_INTEGER ByteOffset;
- LARGE_INTEGER StartTime;
- LARGE_INTEGER EndTime;
- PVOID VirtualAddress;
- DWORD NumberOfBytes;
- BYTE DeviceNumber;
- BOOLEAN ReadRequest;
-} DISK_RECORD,*PDISK_RECORD;
-typedef struct _DISK_LOGGING {
- BYTE Function;
- PVOID BufferAddress;
- DWORD BufferSize;
-} DISK_LOGGING,*PDISK_LOGGING;
-typedef struct DiskQuotaUserInformation {
- LONGLONG QuotaUsed;
- LONGLONG QuotaThreshold;
- LONGLONG QuotaLimit;
-} DISKQUOTA_USER_INFORMATION,*PDISKQUOTA_USER_INFORMATION;
-typedef struct _FORMAT_PARAMETERS {
- MEDIA_TYPE MediaType;
- DWORD StartCylinderNumber;
- DWORD EndCylinderNumber;
- DWORD StartHeadNumber;
- DWORD EndHeadNumber;
-} FORMAT_PARAMETERS,*PFORMAT_PARAMETERS;
-typedef struct _FORMAT_EX_PARAMETERS {
- MEDIA_TYPE MediaType;
- DWORD StartCylinderNumber;
- DWORD EndCylinderNumber;
- DWORD StartHeadNumber;
- DWORD EndHeadNumber;
- WORD FormatGapLength;
- WORD SectorsPerTrack;
- WORD SectorNumber[1];
-} FORMAT_EX_PARAMETERS,*PFORMAT_EX_PARAMETERS;
-typedef struct {
- LARGE_INTEGER Length;
-} GET_LENGTH_INFORMATION;
-typedef struct _HISTOGRAM_BUCKET {
- DWORD Reads;
- DWORD Writes;
-} HISTOGRAM_BUCKET,*PHISTOGRAM_BUCKET;
-typedef struct _DISK_HISTOGRAM {
- LARGE_INTEGER DiskSize;
- LARGE_INTEGER Start;
- LARGE_INTEGER End;
- LARGE_INTEGER Average;
- LARGE_INTEGER AverageRead;
- LARGE_INTEGER AverageWrite;
- DWORD Granularity;
- DWORD Size;
- DWORD ReadCount;
- DWORD WriteCount;
- PHISTOGRAM_BUCKET Histogram;
-} DISK_HISTOGRAM,*PDISK_HISTOGRAM;
-typedef struct _DISK_EXTENT {
- DWORD DiskNumber;
- LARGE_INTEGER StartingOffset;
- LARGE_INTEGER ExtentLength;
-} DISK_EXTENT,*PDISK_EXTENT;
-typedef struct _VOLUME_DISK_EXTENTS {
- DWORD NumberOfDiskExtents;
- DISK_EXTENT Extents[1];
-} VOLUME_DISK_EXTENTS,*PVOLUME_DISK_EXTENTS;
-typedef struct _PARTITION_INFORMATION {
- LARGE_INTEGER StartingOffset;
- LARGE_INTEGER PartitionLength;
- DWORD HiddenSectors;
- DWORD PartitionNumber;
- BYTE PartitionType;
- BOOLEAN BootIndicator;
- BOOLEAN RecognizedPartition;
- BOOLEAN RewritePartition;
-} PARTITION_INFORMATION,*PPARTITION_INFORMATION;
-typedef struct _DRIVE_LAYOUT_INFORMATION {
- DWORD PartitionCount;
- DWORD Signature;
- PARTITION_INFORMATION PartitionEntry[1];
-} DRIVE_LAYOUT_INFORMATION, *PDRIVE_LAYOUT_INFORMATION;
-typedef struct _DRIVE_LAYOUT_INFORMATION_GPT {
- GUID DiskId;
- LARGE_INTEGER StartingUsableOffset;
- LARGE_INTEGER UsableLength;
- ULONG MaxPartitionCount;
-} DRIVE_LAYOUT_INFORMATION_GPT,*PDRIVE_LAYOUT_INFORMATION_GPT;
-typedef struct _DRIVE_LAYOUT_INFORMATION_MBR {
- ULONG Signature;
-} DRIVE_LAYOUT_INFORMATION_MBR, *PDRIVE_LAYOUT_INFORMATION_MBR;
-typedef struct _PARTITION_INFORMATION_MBR {
- BYTE PartitionType;
- BOOLEAN BootIndicator;
- BOOLEAN RecognizedPartition;
- DWORD HiddenSectors;
-} PARTITION_INFORMATION_MBR;
-typedef struct _PARTITION_INFORMATION_GPT {
- GUID PartitionType;
- GUID PartitionId;
- DWORD64 Attributes;
- WCHAR Name[36];
-} PARTITION_INFORMATION_GPT;
-typedef struct _PARTITION_INFORMATION_EX {
- PARTITION_STYLE PartitionStyle;
- LARGE_INTEGER StartingOffset;
- LARGE_INTEGER PartitionLength;
- DWORD PartitionNumber;
- BOOLEAN RewritePartition;
- _ANONYMOUS_UNION union {
- PARTITION_INFORMATION_MBR Mbr;
- PARTITION_INFORMATION_GPT Gpt;
- };
-} PARTITION_INFORMATION_EX;
-typedef struct _DRIVE_LAYOUT_INFORMATION_EX {
- DWORD PartitionStyle;
- DWORD PartitionCount;
- _ANONYMOUS_UNION union {
- DRIVE_LAYOUT_INFORMATION_MBR Mbr;
- DRIVE_LAYOUT_INFORMATION_GPT Gpt;
- };
- PARTITION_INFORMATION_EX PartitionEntry[1];
-} DRIVE_LAYOUT_INFORMATION_EX,*PDRIVE_LAYOUT_INFORMATION_EX;
-typedef struct {
- HANDLE FileHandle;
- LARGE_INTEGER StartingVcn;
- LARGE_INTEGER StartingLcn;
- DWORD ClusterCount;
-} MOVE_FILE_DATA,*PMOVE_FILE_DATA;
-typedef struct _PERF_BIN {
- DWORD NumberOfBins;
- DWORD TypeOfBin;
- BIN_RANGE BinsRanges[1];
-} PERF_BIN,*PPERF_BIN;
-typedef struct _PREVENT_MEDIA_REMOVAL {
- BOOLEAN PreventMediaRemoval;
-} PREVENT_MEDIA_REMOVAL,*PPREVENT_MEDIA_REMOVAL;
-typedef struct RETRIEVAL_POINTERS_BUFFER {
- DWORD ExtentCount;
- LARGE_INTEGER StartingVcn;
- struct {
- LARGE_INTEGER NextVcn;
- LARGE_INTEGER Lcn;
- } Extents[1];
-} RETRIEVAL_POINTERS_BUFFER,*PRETRIEVAL_POINTERS_BUFFER;
-typedef struct _REASSIGN_BLOCKS {
- WORD Reserved;
- WORD Count;
- DWORD BlockNumber[1];
-} REASSIGN_BLOCKS,*PREASSIGN_BLOCKS;
-typedef struct _SET_PARTITION_INFORMATION {
- BYTE PartitionType;
-} SET_PARTITION_INFORMATION,*PSET_PARTITION_INFORMATION;
-typedef struct {
- LARGE_INTEGER StartingLcn;
-} STARTING_LCN_INPUT_BUFFER,*PSTARTING_LCN_INPUT_BUFFER;
-typedef struct {
- LARGE_INTEGER StartingVcn;
-} STARTING_VCN_INPUT_BUFFER,*PSTARTING_VCN_INPUT_BUFFER;
-typedef struct _VERIFY_INFORMATION {
- LARGE_INTEGER StartingOffset;
- DWORD Length;
-} VERIFY_INFORMATION,*PVERIFY_INFORMATION;
-typedef struct {
- LARGE_INTEGER StartingLcn;
- LARGE_INTEGER BitmapSize;
- BYTE Buffer[1];
-} VOLUME_BITMAP_BUFFER,*PVOLUME_BITMAP_BUFFER;
-typedef struct {
- LARGE_INTEGER VolumeSerialNumber;
- LARGE_INTEGER NumberSectors;
- LARGE_INTEGER TotalClusters;
- LARGE_INTEGER FreeClusters;
- LARGE_INTEGER TotalReserved;
- DWORD BytesPerSector;
- DWORD BytesPerCluster;
- DWORD BytesPerFileRecordSegment;
- DWORD ClustersPerFileRecordSegment;
- LARGE_INTEGER MftValidDataLength;
- LARGE_INTEGER MftStartLcn;
- LARGE_INTEGER Mft2StartLcn;
- LARGE_INTEGER MftZoneStart;
- LARGE_INTEGER MftZoneEnd;
-} NTFS_VOLUME_DATA_BUFFER, *PNTFS_VOLUME_DATA_BUFFER;
-
-#define IsRecognizedPartition(t)\
- (((t&PARTITION_NTFT)&&((t&~VALID_NTFT)==PARTITION_FAT_12))||\
- ((t&PARTITION_NTFT)&&((t&~VALID_NTFT)==PARTITION_FAT_16))||\
- ((t&PARTITION_NTFT)&&((t&~VALID_NTFT)==PARTITION_IFS))||\
- ((t&PARTITION_NTFT)&&((t&~VALID_NTFT)==PARTITION_HUGE))||\
- ((t&PARTITION_NTFT)&&((t&~VALID_NTFT)==PARTITION_FAT32))||\
- ((t&PARTITION_NTFT)&&((t&~VALID_NTFT)==PARTITION_FAT32_XINT13))||\
- ((t&PARTITION_NTFT)&&((t&~VALID_NTFT)==PARTITION_XINT13))||\
- ((t&~PARTITION_NTFT)==PARTITION_FAT_12)||\
- ((t&~PARTITION_NTFT)==PARTITION_FAT_16)||\
- ((t&~PARTITION_NTFT)==PARTITION_IFS)||\
- ((t&~PARTITION_NTFT)==PARTITION_HUGE)||\
- ((t&~PARTITION_NTFT)==PARTITION_FAT32)||\
- ((t&~PARTITION_NTFT)==PARTITION_FAT32_XINT13)||\
- ((t&~PARTITION_NTFT)==PARTITION_XINT13))
-#define IsContainerPartition(t)\
- (((t&PARTITION_NTFT)&&((t&~VALID_NTFT)==PARTITION_EXTENDED))||\
- ((t&PARTITION_NTFT)&&((t&~VALID_NTFT)==PARTITION_XINT13_EXTENDED))||\
- ((t&~PARTITION_NTFT)==PARTITION_EXTENDED)||\
- ((t&~PARTITION_NTFT)==PARTITION_XINT13_EXTENDED))
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/winsup/w32api/include/winldap.h b/winsup/w32api/include/winldap.h
deleted file mode 100644
index cf7083bc6..000000000
--- a/winsup/w32api/include/winldap.h
+++ /dev/null
@@ -1,713 +0,0 @@
-/*
- winldap.h - Header file for the Windows LDAP API
-
- Written by Filip Navara <xnavara@volny.cz>
-
- References:
- The C LDAP Application Program Interface
- http://www.watersprings.org/pub/id/draft-ietf-ldapext-ldap-c-api-05.txt
-
- Lightweight Directory Access Protocol Reference
- http://msdn.microsoft.com/library/en-us/netdir/ldap/ldap_reference.asp
-
- This library 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.
-*/
-
-#ifndef _WINLDAP_H
-#define _WINLDAP_H
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-#ifndef _SCHANNEL_H
-#include <schannel.h>
-#endif
-
-#ifndef _WINBER_H
-#include <winber.h>
-#endif
-
-#ifndef WINLDAPAPI
-#define WINLDAPAPI DECLSPEC_IMPORT
-#endif
-
-#ifndef _WINLDAP_DEPRECATED
-#if (( __GNUC__ == 3 && __GNUC_MINOR__ > 0 ) || __GNUC__ > 3)
-#define _WINLDAP_DEPRECATED __attribute__((__deprecated__))
-#else
-#define _WINLDAP_DEPRECATED
-#endif
-#endif
-
-#include <pshpack4.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define LDAP_VERSION1 1
-#define LDAP_VERSION2 2
-#define LDAP_VERSION3 3
-#define LDAP_VERSION LDAP_VERSION2
-#define LDAP_API_VERSION 2004
-#define LDAP_VERSION_MIN LDAP_VERSION2
-#define LDAP_VERSION_MAX LDAP_VERSION3
-#define LDAP_VENDOR_NAME "Microsoft Corporation."
-#define LDAP_VENDOR_NAME_W L"Microsoft Corporation."
-#define LDAP_VENDOR_VERSION 510
-#define LDAP_API_INFO_VERSION 1
-#define LDAP_FEATURE_INFO_VERSION 1
-#define LDAP_SUCCESS 0x00
-#define LDAP_OPERATIONS_ERROR 0x01
-#define LDAP_PROTOCOL_ERROR 0x02
-#define LDAP_TIMELIMIT_EXCEEDED 0x03
-#define LDAP_SIZELIMIT_EXCEEDED 0x04
-#define LDAP_COMPARE_FALSE 0x05
-#define LDAP_COMPARE_TRUE 0x06
-#define LDAP_STRONG_AUTH_NOT_SUPPORTED 0x07
-#define LDAP_STRONG_AUTH_REQUIRED 0x08
-#define LDAP_REFERRAL_V2 0x09
-#define LDAP_REFERRAL 0x0a
-#define LDAP_ADMIN_LIMIT_EXCEEDED 0x0b
-#define LDAP_UNAVAILABLE_CRIT_EXTENSION 0x0c
-#define LDAP_CONFIDENTIALITY_REQUIRED 0x0d
-#define LDAP_SASL_BIND_IN_PROGRESS 0x0e
-#define LDAP_NO_SUCH_ATTRIBUTE 0x10
-#define LDAP_UNDEFINED_TYPE 0x11
-#define LDAP_INAPPROPRIATE_MATCHING 0x12
-#define LDAP_CONSTRAINT_VIOLATION 0x13
-#define LDAP_TYPE_OR_VALUE_EXISTS 0x14
-#define LDAP_INVALID_SYNTAX 0x15
-#define LDAP_NO_SUCH_OBJECT 0x20
-#define LDAP_ALIAS_PROBLEM 0x21
-#define LDAP_INVALID_DN_SYNTAX 0x22
-#define LDAP_IS_LEAF 0x23
-#define LDAP_ALIAS_DEREF_PROBLEM 0x24
-#define LDAP_INAPPROPRIATE_AUTH 0x30
-#define LDAP_INVALID_CREDENTIALS 0x31
-#define LDAP_INSUFFICIENT_ACCESS 0x32
-#define LDAP_BUSY 0x33
-#define LDAP_UNAVAILABLE 0x34
-#define LDAP_UNWILLING_TO_PERFORM 0x35
-#define LDAP_LOOP_DETECT 0x36
-#define LDAP_NAMING_VIOLATION 0x40
-#define LDAP_OBJECT_CLASS_VIOLATION 0x41
-#define LDAP_NOT_ALLOWED_ON_NONLEAF 0x42
-#define LDAP_NOT_ALLOWED_ON_RDN 0x43
-#define LDAP_ALREADY_EXISTS 0x44
-#define LDAP_NO_OBJECT_CLASS_MODS 0x45
-#define LDAP_RESULTS_TOO_LARGE 0x46
-#define LDAP_AFFECTS_MULTIPLE_DSAS 0x47
-#define LDAP_OTHER 0x50
-#define LDAP_SERVER_DOWN 0x51
-#define LDAP_LOCAL_ERROR 0x52
-#define LDAP_ENCODING_ERROR 0x53
-#define LDAP_DECODING_ERROR 0x54
-#define LDAP_TIMEOUT 0x55
-#define LDAP_AUTH_UNKNOWN 0x56
-#define LDAP_FILTER_ERROR 0x57
-#define LDAP_USER_CANCELLED 0x58
-#define LDAP_PARAM_ERROR 0x59
-#define LDAP_NO_MEMORY 0x5a
-#define LDAP_CONNECT_ERROR 0x5b
-#define LDAP_NOT_SUPPORTED 0x5c
-#define LDAP_CONTROL_NOT_FOUND 0x5d
-#define LDAP_NO_RESULTS_RETURNED 0x5e
-#define LDAP_MORE_RESULTS_TO_RETURN 0x5f
-#define LDAP_CLIENT_LOOP 0x60
-#define LDAP_REFERRAL_LIMIT_EXCEEDED 0x61
-#define LDAP_OPT_SUCCESS LDAP_SUCCESS
-#define LDAP_AUTH_METHOD_NOT_SUPPORTED LDAP_STRONG_AUTH_NOT_SUPPORTED
-#define LDAP_ATTRIBUTE_OR_VALUE_EXISTS LDAP_TYPE_OR_VALUE_EXISTS
-#define LDAP_INSUFFICIENT_RIGHTS LDAP_INSUFFICIENT_ACCESS
-#define LDAP_PARTIAL_RESULTS LDAP_REFERRAL_V2
-#define LDAP_PORT 389
-#define LDAP_SSL_PORT 636
-#define LDAP_GC_PORT 3268
-#define LDAP_SSL_GC_PORT 3269
-#define LDAP_OPT_ON ((void*)1)
-#define LDAP_OPT_OFF ((void*)0)
-#define LDAP_OPT_API_INFO 0x00
-#define LDAP_OPT_DESC 0x01
-#define LDAP_OPT_DEREF 0x02
-#define LDAP_OPT_SIZELIMIT 0x03
-#define LDAP_OPT_TIMELIMIT 0x04
-#define LDAP_OPT_THREAD_FN_PTRS 0x05
-#define LDAP_OPT_REBIND_FN 0x06
-#define LDAP_OPT_REBIND_ARG 0x07
-#define LDAP_OPT_REFERRALS 0x08
-#define LDAP_OPT_RESTART 0x09
-#define LDAP_OPT_SSL 0x0a
-#define LDAP_OPT_IO_FN_PTRS 0x0b
-#define LDAP_OPT_CACHE_FN_PTRS 0x0d
-#define LDAP_OPT_CACHE_STRATEGY 0x0e
-#define LDAP_OPT_CACHE_ENABLE 0x0f
-#define LDAP_OPT_REFERRAL_HOP_LIMIT 0x10
-#define LDAP_OPT_PROTOCOL_VERSION 0x11
-#define LDAP_OPT_SERVER_CONTROLS 0x12
-#define LDAP_OPT_CLIENT_CONTROLS 0x13
-#define LDAP_OPT_API_FEATURE_INFO 0x15
-#define LDAP_OPT_HOST_NAME 0x30
-#define LDAP_OPT_ERROR_NUMBER 0x31
-#define LDAP_OPT_ERROR_STRING 0x32
-#define LDAP_OPT_SERVER_ERROR 0x33
-#define LDAP_OPT_SERVER_EXT_ERROR 0x34
-#define LDAP_OPT_PING_KEEP_ALIVE 0x36
-#define LDAP_OPT_PING_WAIT_TIME 0x37
-#define LDAP_OPT_PING_LIMIT 0x38
-#define LDAP_OPT_DNSDOMAIN_NAME 0x3b
-#define LDAP_OPT_GETDSNAME_FLAGS 0x3d
-#define LDAP_OPT_HOST_REACHABLE 0x3e
-#define LDAP_OPT_PROMPT_CREDENTIALS 0x3f
-#define LDAP_OPT_TCP_KEEPALIVE 0x40
-#define LDAP_OPT_REFERRAL_CALLBACK 0x70
-#define LDAP_OPT_CLIENT_CERTIFICATE 0x80
-#define LDAP_OPT_SERVER_CERTIFICATE 0x81
-#define LDAP_OPT_AUTO_RECONNECT 0x91
-#define LDAP_OPT_SSPI_FLAGS 0x92
-#define LDAP_OPT_SSL_INFO 0x93
-#define LDAP_OPT_REF_DEREF_CONN_PER_MSG 0x94
-#define LDAP_OPT_SIGN 0x95
-#define LDAP_OPT_ENCRYPT 0x96
-#define LDAP_OPT_SASL_METHOD 0x97
-#define LDAP_OPT_AREC_EXCLUSIVE 0x98
-#define LDAP_OPT_SECURITY_CONTEXT 0x99
-#define LDAP_OPT_ROOTDSE_CACHE 0x9a
-#define LDAP_OPT_VERSION LDAP_OPT_PROTOCOL_VERSION
-#define LDAP_OPT_TLS LDAP_OPT_SSL
-#define LDAP_OPT_TLS_INFO LDAP_OPT_SSL_INFO
-#define LDAP_DEREF_NEVER 0x00
-#define LDAP_DEREF_SEARCHING 0x01
-#define LDAP_DEREF_FINDING 0x02
-#define LDAP_DEREF_ALWAYS 0x03
-#define LDAP_NO_LIMIT 0
-#define LDAP_CONTROL_REFERRALS "1.2.840.113556.1.4.616"
-#define LDAP_CONTROL_REFERRALS_W L"1.2.840.113556.1.4.616"
-#define LDAP_CHASE_SUBORDINATE_REFERRALS 0x20U
-#define LDAP_CHASE_EXTERNAL_REFERRALS 0x40U
-#define LDAP_SCOPE_DEFAULT -1
-#define LDAP_SCOPE_BASE 0x0000
-#define LDAP_SCOPE_ONELEVEL 0x0001
-#define LDAP_SCOPE_SUBTREE 0x0002
-#define LDAP_MOD_ADD 0x00
-#define LDAP_MOD_DELETE 0x01
-#define LDAP_MOD_REPLACE 0x02
-#define LDAP_MOD_BVALUES 0x80
-#define LDAP_RES_BIND 0x61
-#define LDAP_RES_SEARCH_ENTRY 0x64
-#define LDAP_RES_SEARCH_RESULT 0x65
-#define LDAP_RES_MODIFY 0x67
-#define LDAP_RES_ADD 0x69
-#define LDAP_RES_DELETE 0x6b
-#define LDAP_RES_MODRDN 0x6d
-#define LDAP_RES_COMPARE 0x6f
-#define LDAP_RES_SEARCH_REFERENCE 0x73
-#define LDAP_RES_EXTENDED 0x78
-#define LDAP_RES_ANY (-1L)
-#define LDAP_MSG_ONE 0x00
-#define LDAP_MSG_ALL 0x01
-#define LDAP_MSG_RECEIVED 0x02
-#define LDAP_SERVER_SORT_OID "1.2.840.113556.1.4.473"
-#define LDAP_SERVER_SORT_OID_W L"1.2.840.113556.1.4.473"
-#define LDAP_SERVER_RESP_SORT_OID "1.2.840.113556.1.4.474"
-#define LDAP_SERVER_RESP_SORT_OID_W L"1.2.840.113556.1.4.474"
-#define LDAP_PAGED_RESULT_OID_STRING "1.2.840.113556.1.4.319"
-#define LDAP_PAGED_RESULT_OID_STRING_W L"1.2.840.113556.1.4.319"
-#define LDAP_CONTROL_VLVREQUEST "2.16.840.1.113730.3.4.9"
-#define LDAP_CONTROL_VLVREQUEST_W L"2.16.840.1.113730.3.4.9"
-#define LDAP_CONTROL_VLVRESPONSE "2.16.840.1.113730.3.4.10"
-#define LDAP_CONTROL_VLVRESPONSE_W L"2.16.840.1.113730.3.4.10"
-#define LDAP_START_TLS_OID "1.3.6.1.4.1.1466.20037"
-#define LDAP_START_TLS_OID_W L"1.3.6.1.4.1.1466.20037"
-#define LDAP_TTL_EXTENDED_OP_OID "1.3.6.1.4.1.1466.101.119.1"
-#define LDAP_TTL_EXTENDED_OP_OID_W L"1.3.6.1.4.1.1466.101.119.1"
-#define LDAP_AUTH_NONE 0x00U
-#define LDAP_AUTH_SIMPLE 0x80U
-#define LDAP_AUTH_SASL 0x83U
-#define LDAP_AUTH_OTHERKIND 0x86U
-#define LDAP_AUTH_EXTERNAL (LDAP_AUTH_OTHERKIND | 0x20U)
-#define LDAP_AUTH_SICILY (LDAP_AUTH_OTHERKIND | 0x200U)
-#define LDAP_AUTH_NEGOTIATE (LDAP_AUTH_OTHERKIND | 0x400U)
-#define LDAP_AUTH_MSN (LDAP_AUTH_OTHERKIND | 0x800U)
-#define LDAP_AUTH_NTLM (LDAP_AUTH_OTHERKIND | 0x1000U)
-#define LDAP_AUTH_DIGEST (LDAP_AUTH_OTHERKIND | 0x4000U)
-#define LDAP_AUTH_DPA (LDAP_AUTH_OTHERKIND | 0x2000U)
-#define LDAP_AUTH_SSPI LDAP_AUTH_NEGOTIATE
-#define LDAP_FILTER_AND 0xa0
-#define LDAP_FILTER_OR 0xa1
-#define LDAP_FILTER_NOT 0xa2
-#define LDAP_FILTER_EQUALITY 0xa3
-#define LDAP_FILTER_SUBSTRINGS 0xa4
-#define LDAP_FILTER_GE 0xa5
-#define LDAP_FILTER_LE 0xa6
-#define LDAP_FILTER_APPROX 0xa8
-#define LDAP_FILTER_EXTENSIBLE 0xa9
-#define LDAP_FILTER_PRESENT 0x87
-#define LDAP_SUBSTRING_INITIAL 0x80
-#define LDAP_SUBSTRING_ANY 0x81
-#define LDAP_SUBSTRING_FINAL 0x82
-
-typedef struct ldap {
- char Reserved[76];
- PCHAR ld_host;
- ULONG ld_version;
- UCHAR ld_lberoptions;
- int ld_deref;
- int ld_timelimit;
- int ld_sizelimit;
- int ld_errno;
- PCHAR ld_matched;
- PCHAR ld_error;
-} LDAP, *PLDAP;
-typedef struct ldapmsg {
- ULONG lm_msgid;
- ULONG lm_msgtype;
- BerElement *lm_ber;
- struct ldapmsg *lm_chain;
- struct ldapmsg *lm_next;
- ULONG lm_time;
-} LDAPMessage, *PLDAPMessage;
-typedef struct l_timeval {
- LONG tv_sec;
- LONG tv_usec;
-} LDAP_TIMEVAL, *PLDAP_TIMEVAL;
-typedef struct ldapapiinfoA {
- int ldapai_info_version;
- int ldapai_api_version;
- int ldapai_protocol_version;
- char **ldapai_extensions;
- char *ldapai_vendor_name;
- int ldapai_vendor_version;
-} LDAPAPIInfoA, *PLDAPAPIInfoA;
-typedef struct ldapapiinfoW {
- int ldapai_info_version;
- int ldapai_api_version;
- int ldapai_protocol_version;
- PWCHAR *ldapai_extensions;
- PWCHAR ldapai_vendor_name;
- int ldapai_vendor_version;
-} LDAPAPIInfoW, *PLDAPAPIInfoW;
-typedef struct ldap_apifeature_infoA {
- int ldapaif_info_version;
- char *ldapaif_name;
- int ldapaif_version;
-} LDAPAPIFeatureInfoA, *PLDAPAPIFeatureInfoA;
-typedef struct ldap_apifeature_infoW {
- int ldapaif_info_version;
- PWCHAR ldapaif_name;
- int ldapaif_version;
-} LDAPAPIFeatureInfoW, *PLDAPAPIFeatureInfoW;
-typedef struct ldapcontrolA {
- PCHAR ldctl_oid;
- BerValue ldctl_value;
- BOOLEAN ldctl_iscritical;
-} LDAPControlA, *PLDAPControlA;
-typedef struct ldapcontrolW {
- PWCHAR ldctl_oid;
- BerValue ldctl_value;
- BOOLEAN ldctl_iscritical;
-} LDAPControlW, *PLDAPControlW;
-typedef union mod_vals_uA {
- PCHAR *modv_strvals;
- BerValue **modv_bvals;
-} mod_vals_u_tA;
-typedef union mod_vals_uW {
- PWCHAR *modv_strvals;
- BerValue **modv_bvals;
-} mod_vals_u_tW;
-typedef struct ldapmodA {
- ULONG mod_op;
- PCHAR mod_type;
- mod_vals_u_tA mod_vals;
-} LDAPModA, *PLDAPModA;
-typedef struct ldapmodW {
- ULONG mod_op;
- PWCHAR mod_type;
- mod_vals_u_tW mod_vals;
-} LDAPModW, *PLDAPModW;
-
-#define mod_values mod_vals.modv_strvals
-#define mod_bvalues mod_vals.modv_bvals
-
-typedef struct ldapsearch LDAPSearch, *PLDAPSearch;
-typedef struct ldapsortkeyA {
- PCHAR sk_attrtype;
- PCHAR sk_matchruleoid;
- BOOLEAN sk_reverseorder;
-} LDAPSortKeyA, *PLDAPSortKeyA;
-typedef struct ldapsortkeyW {
- PWCHAR sk_attrtype;
- PWCHAR sk_matchruleoid;
- BOOLEAN sk_reverseorder;
-} LDAPSortKeyW, *PLDAPSortKeyW;
-typedef ULONG (__cdecl QUERYFORCONNECTION)(PLDAP,PLDAP,PWCHAR,PCHAR,ULONG,PVOID,PVOID,PLDAP*);
-typedef BOOLEAN (__cdecl NOTIFYOFNEWCONNECTION)(PLDAP,PLDAP,PWCHAR,PCHAR,PLDAP,ULONG,PVOID,PVOID,ULONG);
-typedef ULONG (__cdecl DEREFERENCECONNECTION)(PLDAP,PLDAP);
-typedef BOOLEAN (__cdecl QUERYCLIENTCERT)(PLDAP,PSecPkgContext_IssuerListInfoEx,PCCERT_CONTEXT*);
-typedef struct LdapReferralCallback {
- ULONG SizeOfCallbacks;
- QUERYFORCONNECTION *QueryForConnection;
- NOTIFYOFNEWCONNECTION *NotifyRoutine;
- DEREFERENCECONNECTION *DereferenceRoutine;
-} LDAP_REFERRAL_CALLBACK, *PLDAP_REFERRAL_CALLBACK;
-typedef struct ldapvlvinfo {
- int ldvlv_version;
- unsigned long ldvlv_before_count;
- unsigned long ldvlv_after_count;
- unsigned long ldvlv_offset;
- unsigned long ldvlv_count;
- BerValue *ldvlv_attrvalue;
- BerValue *ldvlv_context;
- void *ldvlv_extradata;
-} LDAPVLVInfo;
-
-/*
- * Under Microsoft WinLDAP the function ldap_error is only stub.
- * This macro uses LDAP structure to get error string and pass it to the user.
- */
-#define ldap_perror(handle,message) printf("%s: %s\n", message, handle->ld_error);
-
-WINLDAPAPI PLDAP ldap_initA(PCHAR,ULONG);
-WINLDAPAPI PLDAP ldap_initW(PWCHAR,ULONG);
-WINLDAPAPI PLDAP ldap_openA(const PCHAR,ULONG);
-WINLDAPAPI PLDAP ldap_openW(const PWCHAR,ULONG);
-WINLDAPAPI PLDAP cldap_openA(const PCHAR,ULONG);
-WINLDAPAPI PLDAP cldap_openW(const PWCHAR,ULONG);
-WINLDAPAPI ULONG ldap_connect(LDAP*,struct l_timeval*);
-WINLDAPAPI PLDAP ldap_sslinitA(PCHAR,ULONG,int);
-WINLDAPAPI PLDAP ldap_sslinitW(PWCHAR,ULONG,int);
-WINLDAPAPI ULONG ldap_start_tls_sA(LDAP*,PLDAPControlA*,PLDAPControlA*);
-WINLDAPAPI ULONG ldap_start_tls_sW(LDAP*,PLDAPControlW*,PLDAPControlW*);
-WINLDAPAPI BOOLEAN ldap_stop_tls_s(LDAP*);
-WINLDAPAPI ULONG ldap_get_optionA(LDAP*,int,void*);
-WINLDAPAPI ULONG ldap_get_optionW(LDAP*,int,void*);
-WINLDAPAPI ULONG ldap_set_optionA(LDAP*,int,const void*);
-WINLDAPAPI ULONG ldap_set_optionW(LDAP*,int,const void*);
-WINLDAPAPI ULONG ldap_control_freeA(LDAPControlA*);
-WINLDAPAPI ULONG ldap_control_freeW(LDAPControlW*);
-WINLDAPAPI ULONG ldap_controls_freeA(LDAPControlA**);
-WINLDAPAPI ULONG ldap_controls_freeW(LDAPControlW**);
-WINLDAPAPI ULONG ldap_free_controlsA(LDAPControlA**);
-WINLDAPAPI ULONG ldap_free_controlsW(LDAPControlW**);
-WINLDAPAPI ULONG ldap_sasl_bindA(LDAP*,const PCHAR, const PCHAR,const BERVAL*,PLDAPControlA*,PLDAPControlA*,int*);
-WINLDAPAPI ULONG ldap_sasl_bindW(LDAP*,const PWCHAR, const PWCHAR,const BERVAL*,PLDAPControlW*,PLDAPControlW*,int*);
-WINLDAPAPI ULONG ldap_sasl_bind_sA(LDAP*,const PCHAR,const PCHAR,const BERVAL*,PLDAPControlA*,PLDAPControlA*,PBERVAL*);
-WINLDAPAPI ULONG ldap_sasl_bind_sW(LDAP*,const PWCHAR,const PWCHAR,const BERVAL*,PLDAPControlW*,PLDAPControlW*,PBERVAL*);
-WINLDAPAPI ULONG ldap_simple_bindA(LDAP*,const PCHAR,const PCHAR);
-WINLDAPAPI ULONG ldap_simple_bindW(LDAP*,const PWCHAR,const PWCHAR);
-WINLDAPAPI ULONG ldap_simple_bind_sA(LDAP*,const PCHAR,const PCHAR);
-WINLDAPAPI ULONG ldap_simple_bind_sW(LDAP*,const PWCHAR,const PWCHAR);
-WINLDAPAPI ULONG ldap_bindA(LDAP*,const PCHAR,const PCHAR,ULONG) _WINLDAP_DEPRECATED;
-WINLDAPAPI ULONG ldap_bindW(LDAP*,const PWCHAR,const PWCHAR,ULONG) _WINLDAP_DEPRECATED;
-WINLDAPAPI ULONG ldap_bind_sA(LDAP*,const PCHAR,const PCHAR,ULONG) _WINLDAP_DEPRECATED;
-WINLDAPAPI ULONG ldap_bind_sW(LDAP*,const PWCHAR,const PWCHAR,ULONG) _WINLDAP_DEPRECATED;
-WINLDAPAPI ULONG ldap_unbind(LDAP*);
-WINLDAPAPI ULONG ldap_unbind_s(LDAP*);
-WINLDAPAPI ULONG ldap_search_extA(LDAP*,const PCHAR,ULONG,const PCHAR,PCHAR[],ULONG,PLDAPControlW*,PLDAPControlW*,ULONG,ULONG,ULONG*);
-WINLDAPAPI ULONG ldap_search_extW(LDAP*,const PWCHAR,ULONG,const PWCHAR,PWCHAR[],ULONG,PLDAPControlW*,PLDAPControlW*,ULONG,ULONG,ULONG*);
-WINLDAPAPI ULONG ldap_search_ext_sA(LDAP*,const PCHAR,ULONG,const PCHAR,PCHAR[],ULONG,PLDAPControlA*,PLDAPControlA*,struct l_timeval*,ULONG,LDAPMessage**);
-WINLDAPAPI ULONG ldap_search_ext_sW(LDAP*,const PWCHAR,ULONG,const PWCHAR,PWCHAR[],ULONG,PLDAPControlW*,PLDAPControlW*,struct l_timeval*,ULONG,LDAPMessage**);
-WINLDAPAPI ULONG ldap_searchA(LDAP*,const PCHAR,ULONG,const PCHAR,PCHAR[],ULONG);
-WINLDAPAPI ULONG ldap_searchW(LDAP*,const PWCHAR,ULONG,const PWCHAR,PWCHAR[],ULONG);
-WINLDAPAPI ULONG ldap_search_sA(LDAP*,const PCHAR,ULONG,const PCHAR,PCHAR[],ULONG,LDAPMessage**);
-WINLDAPAPI ULONG ldap_search_sW(LDAP*,const PWCHAR,ULONG,const PWCHAR,PWCHAR[],ULONG,LDAPMessage**);
-WINLDAPAPI ULONG ldap_search_stA(LDAP*,const PCHAR,ULONG,const PCHAR,PCHAR[],ULONG,struct l_timeval*,LDAPMessage**);
-WINLDAPAPI ULONG ldap_search_stW(LDAP*,const PWCHAR,ULONG,const PWCHAR,PWCHAR[],ULONG,struct l_timeval*,LDAPMessage**);
-WINLDAPAPI ULONG ldap_compare_extA(LDAP*,const PCHAR,const PCHAR,PCHAR,struct berval*,PLDAPControlA*,PLDAPControlA*,ULONG*);
-WINLDAPAPI ULONG ldap_compare_extW(LDAP*,const PWCHAR,const PWCHAR,PWCHAR,struct berval*,PLDAPControlW*,PLDAPControlW*,ULONG*);
-WINLDAPAPI ULONG ldap_compare_ext_sA(LDAP*,const PCHAR,const PCHAR,const PCHAR,struct berval*,PLDAPControlA*,PLDAPControlA*);
-WINLDAPAPI ULONG ldap_compare_ext_sW(LDAP*,const PWCHAR,const PWCHAR,const PWCHAR,struct berval*,PLDAPControlW*,PLDAPControlW*);
-WINLDAPAPI ULONG ldap_compareA(LDAP*,const PCHAR,const PCHAR,PCHAR);
-WINLDAPAPI ULONG ldap_compareW(LDAP*,const PWCHAR,const PWCHAR,PWCHAR);
-WINLDAPAPI ULONG ldap_compare_sA(LDAP*,const PCHAR,const PCHAR,PCHAR);
-WINLDAPAPI ULONG ldap_compare_sW(LDAP*,const PWCHAR,const PWCHAR,PWCHAR);
-WINLDAPAPI ULONG ldap_modify_extA(LDAP*,const PCHAR,LDAPModA*[],PLDAPControlA*,PLDAPControlA*,ULONG*);
-WINLDAPAPI ULONG ldap_modify_extW(LDAP*,const PWCHAR,LDAPModW*[],PLDAPControlW*,PLDAPControlW*,ULONG*);
-WINLDAPAPI ULONG ldap_modify_ext_sA(LDAP*,const PCHAR,LDAPModA*[],PLDAPControlA*,PLDAPControlA*);
-WINLDAPAPI ULONG ldap_modify_ext_sW(LDAP*,const PWCHAR,LDAPModW*[],PLDAPControlW*,PLDAPControlW*);
-WINLDAPAPI ULONG ldap_modifyA(LDAP*,const PCHAR,LDAPModA*[]);
-WINLDAPAPI ULONG ldap_modifyW(LDAP*,const PWCHAR,LDAPModW*[]);
-WINLDAPAPI ULONG ldap_modify_sA(LDAP*,const PCHAR,LDAPModA*[]);
-WINLDAPAPI ULONG ldap_modify_sW(LDAP*,const PWCHAR,LDAPModW*[]);
-WINLDAPAPI ULONG ldap_rename_extA(LDAP*,const PCHAR,const PCHAR,const PCHAR,INT,PLDAPControlA*,PLDAPControlA*,ULONG*);
-WINLDAPAPI ULONG ldap_rename_extW(LDAP*,const PWCHAR,const PWCHAR,const PWCHAR,INT,PLDAPControlW*,PLDAPControlW*,ULONG*);
-WINLDAPAPI ULONG ldap_rename_ext_sA(LDAP*,const PCHAR,const PCHAR,const PCHAR,INT,PLDAPControlA*,PLDAPControlA*);
-WINLDAPAPI ULONG ldap_rename_ext_sW(LDAP*,const PWCHAR,const PWCHAR,const PWCHAR,INT,PLDAPControlW*,PLDAPControlW*);
-WINLDAPAPI ULONG ldap_modrdnA(LDAP*,PCHAR,PCHAR) _WINLDAP_DEPRECATED;
-WINLDAPAPI ULONG ldap_modrdnW(LDAP*,PWCHAR,PWCHAR) _WINLDAP_DEPRECATED;
-WINLDAPAPI ULONG ldap_modrdn_sA(LDAP*,PCHAR,PCHAR) _WINLDAP_DEPRECATED;
-WINLDAPAPI ULONG ldap_modrdn_sW(LDAP*,PWCHAR,PWCHAR) _WINLDAP_DEPRECATED;
-WINLDAPAPI ULONG ldap_modrdn2A(LDAP*,PCHAR,PCHAR,INT) _WINLDAP_DEPRECATED;
-WINLDAPAPI ULONG ldap_modrdn2W(LDAP*,PWCHAR,PWCHAR,INT) _WINLDAP_DEPRECATED;
-WINLDAPAPI ULONG ldap_modrdn2_sA(LDAP*,PCHAR,PCHAR,INT) _WINLDAP_DEPRECATED;
-WINLDAPAPI ULONG ldap_modrdn2_sW(LDAP*,PWCHAR,PWCHAR,INT) _WINLDAP_DEPRECATED;
-WINLDAPAPI ULONG ldap_add_extA(LDAP*,const PCHAR,LDAPModA*[],PLDAPControlA*,PLDAPControlA*,ULONG*);
-WINLDAPAPI ULONG ldap_add_extW(LDAP*,const PWCHAR,LDAPModW*[],PLDAPControlW*,PLDAPControlW*,ULONG*);
-WINLDAPAPI ULONG ldap_add_ext_sA(LDAP*,const PCHAR,LDAPModA*[],PLDAPControlA*,PLDAPControlA*);
-WINLDAPAPI ULONG ldap_add_ext_sW(LDAP*,const PWCHAR,LDAPModW*[],PLDAPControlW*,PLDAPControlW*);
-WINLDAPAPI ULONG ldap_addA(LDAP*,const PCHAR,LDAPModA*[]);
-WINLDAPAPI ULONG ldap_addW(LDAP*,const PWCHAR,LDAPModW*[]);
-WINLDAPAPI ULONG ldap_add_sA(LDAP*,const PCHAR,LDAPModA*[]);
-WINLDAPAPI ULONG ldap_add_sW(LDAP*,const PWCHAR,LDAPModW*[]);
-WINLDAPAPI ULONG ldap_delete_extA(LDAP*,const PCHAR,PLDAPControlA*,PLDAPControlA*,ULONG*);
-WINLDAPAPI ULONG ldap_delete_extW(LDAP*,const PWCHAR,PLDAPControlW*,PLDAPControlW*,ULONG*);
-WINLDAPAPI ULONG ldap_delete_ext_sA(LDAP*,const PCHAR,PLDAPControlA*,PLDAPControlA*);
-WINLDAPAPI ULONG ldap_delete_ext_sW(LDAP*,const PWCHAR,PLDAPControlW*,PLDAPControlW*);
-WINLDAPAPI ULONG ldap_deleteA(LDAP*,const PCHAR);
-WINLDAPAPI ULONG ldap_deleteW(LDAP*,const PWCHAR);
-WINLDAPAPI ULONG ldap_delete_sA(LDAP*,const PCHAR);
-WINLDAPAPI ULONG ldap_delete_sW(LDAP*,const PWCHAR);
-WINLDAPAPI ULONG ldap_extended_operationA(LDAP*,const PCHAR,const struct berval*,PLDAPControlA*,PLDAPControlA*,ULONG*);
-WINLDAPAPI ULONG ldap_extended_operationW(LDAP*,const PWCHAR,const struct berval*,PLDAPControlW*,PLDAPControlW*,ULONG*);
-WINLDAPAPI ULONG ldap_extended_operation_sA(LDAP*,const PCHAR,const struct berval*,PLDAPControlA*,PLDAPControlA*,PCHAR*,struct berval**);
-WINLDAPAPI ULONG ldap_extended_operation_sW(LDAP*,const PWCHAR,const struct berval*,PLDAPControlW*,PLDAPControlW*,PWCHAR*,struct berval**);
-WINLDAPAPI ULONG ldap_close_extended_op(LDAP*,ULONG);
-WINLDAPAPI ULONG ldap_abandon(LDAP*,ULONG);
-WINLDAPAPI ULONG ldap_result(LDAP*,ULONG,ULONG,struct l_timeval*,LDAPMessage**);
-WINLDAPAPI ULONG ldap_msgfree(LDAPMessage*);
-WINLDAPAPI ULONG ldap_parse_resultA(LDAP*,LDAPMessage*,ULONG*,PCHAR*,PCHAR*,PCHAR**,PLDAPControlA**,BOOLEAN);
-WINLDAPAPI ULONG ldap_parse_resultW(LDAP*,LDAPMessage*,ULONG*,PWCHAR*,PWCHAR*,PWCHAR**,PLDAPControlW**,BOOLEAN);
-WINLDAPAPI ULONG ldap_parse_extended_resultA(LDAP,LDAPMessage*,PCHAR*,struct berval**,BOOLEAN);
-WINLDAPAPI ULONG ldap_parse_extended_resultW(LDAP,LDAPMessage*,PWCHAR*,struct berval**,BOOLEAN);
-WINLDAPAPI PCHAR ldap_err2stringA(ULONG);
-WINLDAPAPI PWCHAR ldap_err2stringW(ULONG);
-WINLDAPAPI ULONG LdapGetLastError(void);
-WINLDAPAPI ULONG LdapMapErrorToWin32(ULONG);
-WINLDAPAPI ULONG ldap_result2error(LDAP*,LDAPMessage*,ULONG);
-WINLDAPAPI PLDAPMessage ldap_first_entry(LDAP*,LDAPMessage*);
-WINLDAPAPI PLDAPMessage ldap_next_entry(LDAP*,LDAPMessage*);
-WINLDAPAPI PLDAPMessage ldap_first_reference(LDAP*,LDAPMessage*);
-WINLDAPAPI PLDAPMessage ldap_next_reference(LDAP*,LDAPMessage*);
-WINLDAPAPI ULONG ldap_count_entries(LDAP*,LDAPMessage*);
-WINLDAPAPI ULONG ldap_count_references(LDAP*,LDAPMessage*);
-WINLDAPAPI PCHAR ldap_first_attributeA(LDAP*,LDAPMessage*,BerElement**);
-WINLDAPAPI PWCHAR ldap_first_attributeW(LDAP*,LDAPMessage*,BerElement**);
-WINLDAPAPI PCHAR ldap_next_attributeA(LDAP*,LDAPMessage*,BerElement*);
-WINLDAPAPI PWCHAR ldap_next_attributeW(LDAP*,LDAPMessage*,BerElement*);
-WINLDAPAPI VOID ldap_memfreeA(PCHAR);
-WINLDAPAPI VOID ldap_memfreeW(PWCHAR);
-WINLDAPAPI PCHAR* ldap_get_valuesA(LDAP*,LDAPMessage*,const PCHAR);
-WINLDAPAPI PWCHAR* ldap_get_valuesW(LDAP*,LDAPMessage*,const PWCHAR);
-WINLDAPAPI BerValue** ldap_get_values_lenA(LDAP*,LDAPMessage*,const PCHAR);
-WINLDAPAPI BerValue** ldap_get_values_lenW(LDAP*,LDAPMessage*,const PWCHAR);
-WINLDAPAPI ULONG ldap_count_valuesA(PCHAR*);
-WINLDAPAPI ULONG ldap_count_valuesW(PWCHAR*);
-WINLDAPAPI ULONG ldap_count_values_len(struct berval**);
-WINLDAPAPI ULONG ldap_value_freeA(PCHAR*);
-WINLDAPAPI ULONG ldap_value_freeW(PWCHAR*);
-WINLDAPAPI ULONG ldap_value_free_len(struct berval**);
-WINLDAPAPI PCHAR ldap_get_dnA(LDAP*,LDAPMessage*);
-WINLDAPAPI PWCHAR ldap_get_dnW(LDAP*,LDAPMessage*);
-WINLDAPAPI PCHAR ldap_explode_dnA(PCHAR,ULONG);
-WINLDAPAPI PWCHAR ldap_explode_dnW(PWCHAR,ULONG);
-WINLDAPAPI PCHAR ldap_dn2ufnA(PCHAR);
-WINLDAPAPI PWCHAR ldap_dn2ufnW(PWCHAR);
-WINLDAPAPI ULONG ldap_ufn2dnA(const PCHAR,PCHAR*);
-WINLDAPAPI ULONG ldap_ufn2dnW(const PWCHAR,PWCHAR*);
-WINLDAPAPI ULONG ldap_parse_referenceA(LDAP*,LDAPMessage*,PCHAR**);
-WINLDAPAPI ULONG ldap_parse_referenceW(LDAP*,LDAPMessage*,PWCHAR**);
-WINLDAPAPI ULONG ldap_check_filterA(LDAP*,PCHAR);
-WINLDAPAPI ULONG ldap_check_filterW(LDAP*,PWCHAR);
-WINLDAPAPI ULONG ldap_create_page_controlA(PLDAP,ULONG,struct berval*,UCHAR,PLDAPControlA*);
-WINLDAPAPI ULONG ldap_create_page_controlW(PLDAP,ULONG,struct berval*,UCHAR,PLDAPControlW*);
-WINLDAPAPI ULONG ldap_create_sort_controlA(PLDAP,PLDAPSortKeyA*,UCHAR,PLDAPControlA*);
-WINLDAPAPI ULONG ldap_create_sort_controlW(PLDAP,PLDAPSortKeyW*,UCHAR,PLDAPControlW*);
-WINLDAPAPI INT ldap_create_vlv_controlA(LDAP*,LDAPVLVInfo*,UCHAR,LDAPControlA**);
-WINLDAPAPI INT ldap_create_vlv_controlW(LDAP*,LDAPVLVInfo*,UCHAR,LDAPControlW**);
-WINLDAPAPI ULONG ldap_encode_sort_controlA(PLDAP,PLDAPSortKeyA*,PLDAPControlA,BOOLEAN);
-WINLDAPAPI ULONG ldap_encode_sort_controlW(PLDAP,PLDAPSortKeyW*,PLDAPControlW,BOOLEAN);
-WINLDAPAPI ULONG ldap_escape_filter_elementA(PCHAR,ULONG,PCHAR,ULONG);
-WINLDAPAPI ULONG ldap_escape_filter_elementW(PWCHAR,ULONG,PWCHAR,ULONG);
-WINLDAPAPI ULONG ldap_get_next_page(PLDAP,PLDAPSearch,ULONG,ULONG*);
-WINLDAPAPI ULONG ldap_get_next_page_s(PLDAP,PLDAPSearch,struct l_timeval*,ULONG,ULONG*,LDAPMessage**);
-WINLDAPAPI ULONG ldap_get_paged_count(PLDAP,PLDAPSearch,ULONG*,PLDAPMessage);
-WINLDAPAPI ULONG ldap_parse_page_controlA(PLDAP,PLDAPControlA*,ULONG*,struct berval**);
-WINLDAPAPI ULONG ldap_parse_page_controlW(PLDAP,PLDAPControlW*,ULONG*,struct berval**);
-WINLDAPAPI ULONG ldap_parse_sort_controlA(PLDAP,PLDAPControlA*,ULONG*,PCHAR*);
-WINLDAPAPI ULONG ldap_parse_sort_controlW(PLDAP,PLDAPControlW*,ULONG*,PWCHAR*);
-WINLDAPAPI INT ldap_parse_vlv_controlA(LDAP*,LDAPControlA**,unsigned long*,unsigned long*,struct berval**,int*);
-WINLDAPAPI INT ldap_parse_vlv_controlW(LDAP*,LDAPControlW**,unsigned long*,unsigned long*,struct berval**,int*);
-WINLDAPAPI PLDAPSearch ldap_search_init_pageA(PLDAP,const PCHAR,ULONG,const PCHAR,PCHAR[],ULONG,PLDAPControlA*,PLDAPControlA*,ULONG,ULONG,PLDAPSortKeyA*);
-WINLDAPAPI PLDAPSearch ldap_search_init_pageW(PLDAP,const PWCHAR,ULONG,const PWCHAR,PWCHAR[],ULONG,PLDAPControlW*,PLDAPControlW*,ULONG,ULONG,PLDAPSortKeyW*);
-WINLDAPAPI ULONG ldap_search_abandon_page(PLDAP,PLDAPSearch);
-WINLDAPAPI LDAP ldap_conn_from_msg(LDAP*,LDAPMessage*);
-WINLDAPAPI INT LdapUnicodeToUTF8(LPCWSTR,int,LPSTR,int);
-WINLDAPAPI INT LdapUTF8ToUnicode(LPCSTR,int,LPWSTR,int);
-
-#ifdef UNICODE
-#define LDAPControl LDAPControlW
-#define PLDAPControl PLDAPControlW
-#define LDAPMod LDAPModW
-#define PLDAPMod LDAPModW
-#define LDAPSortKey LDAPSortKeyW
-#define PLDAPSortKey PLDAPSortKeyW
-#define LDAPAPIInfo LDAPAPIInfoW
-#define PLDAPAPIInfo PLDAPAPIInfoW
-#define LDAPAPIFeatureInfo LDAPAPIFeatureInfoW
-#define PLDAPAPIFeatureInfo PLDAPAPIFeatureInfoW
-#define cldap_open cldap_openW
-#define ldap_open ldap_openW
-#define ldap_bind ldap_bindW
-#define ldap_bind_s ldap_bind_sW
-#define ldap_simple_bind ldap_simple_bindW
-#define ldap_simple_bind_s ldap_simple_bind_sW
-#define ldap_sasl_bind ldap_sasl_bindW
-#define ldap_sasl_bind_s ldap_sasl_bind_sW
-#define ldap_init ldap_initW
-#define ldap_sslinit ldap_sslinitW
-#define ldap_get_option ldap_get_optionW
-#define ldap_set_option ldap_set_optionW
-#define ldap_start_tls_s ldap_start_tls_sW
-#define ldap_add ldap_addW
-#define ldap_add_ext ldap_add_extW
-#define ldap_add_s ldap_add_sW
-#define ldap_add_ext_s ldap_add_ext_sW
-#define ldap_compare ldap_compareW
-#define ldap_compare_ext ldap_compare_extW
-#define ldap_compare_s ldap_compare_sW
-#define ldap_compare_ext_s ldap_compare_ext_sW
-#define ldap_delete ldap_deleteW
-#define ldap_delete_ext ldap_delete_extW
-#define ldap_delete_s ldap_delete_sW
-#define ldap_delete_ext_s ldap_delete_ext_sW
-#define ldap_extended_operation_s ldap_extended_operation_sW
-#define ldap_extended_operation ldap_extended_operationW
-#define ldap_modify ldap_modifyW
-#define ldap_modify_ext ldap_modify_extW
-#define ldap_modify_s ldap_modify_sW
-#define ldap_modify_ext_s ldap_modify_ext_sW
-#define ldap_check_filter ldap_check_filterW
-#define ldap_count_values ldap_count_valuesW
-#define ldap_create_page_control ldap_create_page_controlW
-#define ldap_create_sort_control ldap_create_sort_controlW
-#define ldap_create_vlv_control ldap_create_vlv_controlW
-#define ldap_encode_sort_control ldap_encode_sort_controlW
-#define ldap_escape_filter_element ldap_escape_filter_elementW
-#define ldap_first_attribute ldap_first_attributeW
-#define ldap_next_attribute ldap_next_attributeW
-#define ldap_get_values ldap_get_valuesW
-#define ldap_get_values_len ldap_get_values_lenW
-#define ldap_parse_extended_result ldap_parse_extended_resultW
-#define ldap_parse_page_control ldap_parse_page_controlW
-#define ldap_parse_reference ldap_parse_referenceW
-#define ldap_parse_result ldap_parse_resultW
-#define ldap_parse_sort_control ldap_parse_sort_controlW
-#define ldap_parse_vlv_control ldap_parse_vlv_controlW
-#define ldap_search ldap_searchW
-#define ldap_search_s ldap_search_sW
-#define ldap_search_st ldap_search_stW
-#define ldap_search_ext ldap_search_extW
-#define ldap_search_ext_s ldap_search_ext_sW
-#define ldap_search_init_page ldap_search_init_pageW
-#define ldap_err2string ldap_err2stringW
-#define ldap_control_free ldap_control_freeW
-#define ldap_controls_free ldap_controls_freeW
-#define ldap_free_controls ldap_free_controlsW
-#define ldap_memfree ldap_memfreeW
-#define ldap_value_free ldap_value_freeW
-#define ldap_dn2ufn ldap_dn2ufnW
-#define ldap_ufn2dn ldap_ufn2dnW
-#define ldap_explode_dn ldap_explode_dnW
-#define ldap_get_dn ldap_get_dnW
-#define ldap_modrdn ldap_modrdnW
-#define ldap_modrdn_s ldap_modrdn_sW
-#define ldap_modrdn2 ldap_modrdn2W
-#define ldap_modrdn2_s ldap_modrdn2_sW
-#define ldap_rename ldap_rename_extW
-#define ldap_rename_s ldap_rename_ext_sW
-#define ldap_rename_ext ldap_rename_extW
-#define ldap_rename_ext_s ldap_rename_ext_sW
-#else
-#define LDAPControl LDAPControlA
-#define PLDAPControl PLDAPControlA
-#define LDAPMod LDAPModA
-#define PLDAPMod LDAPModA
-#define LDAPSortKey LDAPSortKeyA
-#define PLDAPSortKey PLDAPSortKeyA
-#define LDAPAPIInfo LDAPAPIInfoA
-#define PLDAPAPIInfo PLDAPAPIInfoA
-#define LDAPAPIFeatureInfo LDAPAPIFeatureInfoA
-#define PLDAPAPIFeatureInfo PLDAPAPIFeatureInfoA
-#define cldap_open cldap_openA
-#define ldap_open ldap_openA
-#define ldap_bind ldap_bindA
-#define ldap_bind_s ldap_bind_sA
-#define ldap_simple_bind ldap_simple_bindA
-#define ldap_simple_bind_s ldap_simple_bind_sA
-#define ldap_sasl_bind ldap_sasl_bindA
-#define ldap_sasl_bind_s ldap_sasl_bind_sA
-#define ldap_init ldap_initA
-#define ldap_sslinit ldap_sslinitA
-#define ldap_get_option ldap_get_optionA
-#define ldap_set_option ldap_set_optionA
-#define ldap_start_tls_s ldap_start_tls_sA
-#define ldap_add ldap_addA
-#define ldap_add_ext ldap_add_extA
-#define ldap_add_s ldap_add_sA
-#define ldap_add_ext_s ldap_add_ext_sA
-#define ldap_compare ldap_compareA
-#define ldap_compare_ext ldap_compare_extA
-#define ldap_compare_s ldap_compare_sA
-#define ldap_compare_ext_s ldap_compare_ext_sA
-#define ldap_delete ldap_deleteA
-#define ldap_delete_ext ldap_delete_extA
-#define ldap_delete_s ldap_delete_sA
-#define ldap_delete_ext_s ldap_delete_ext_sA
-#define ldap_extended_operation_s ldap_extended_operation_sA
-#define ldap_extended_operation ldap_extended_operationA
-#define ldap_modify ldap_modifyA
-#define ldap_modify_ext ldap_modify_extA
-#define ldap_modify_s ldap_modify_sA
-#define ldap_modify_ext_s ldap_modify_ext_sA
-#define ldap_check_filter ldap_check_filterA
-#define ldap_count_values ldap_count_valuesA
-#define ldap_create_page_control ldap_create_page_controlA
-#define ldap_create_sort_control ldap_create_sort_controlA
-#define ldap_create_vlv_control ldap_create_vlv_controlA
-#define ldap_encode_sort_control ldap_encode_sort_controlA
-#define ldap_escape_filter_element ldap_escape_filter_elementA
-#define ldap_first_attribute ldap_first_attributeA
-#define ldap_next_attribute ldap_next_attributeA
-#define ldap_get_values ldap_get_valuesA
-#define ldap_get_values_len ldap_get_values_lenA
-#define ldap_parse_extended_result ldap_parse_extended_resultA
-#define ldap_parse_page_control ldap_parse_page_controlA
-#define ldap_parse_reference ldap_parse_referenceA
-#define ldap_parse_result ldap_parse_resultA
-#define ldap_parse_sort_control ldap_parse_sort_controlA
-#define ldap_parse_vlv_control ldap_parse_vlv_controlA
-#define ldap_search ldap_searchA
-#define ldap_search_s ldap_search_sA
-#define ldap_search_st ldap_search_stA
-#define ldap_search_ext ldap_search_extA
-#define ldap_search_ext_s ldap_search_ext_sA
-#define ldap_search_init_page ldap_search_init_pageA
-#define ldap_err2string ldap_err2stringA
-#define ldap_control_free ldap_control_freeA
-#define ldap_controls_free ldap_controls_freeA
-#define ldap_free_controls ldap_free_controlsA
-#define ldap_memfree ldap_memfreeA
-#define ldap_value_free ldap_value_freeA
-#define ldap_dn2ufn ldap_dn2ufnA
-#define ldap_ufn2dn ldap_ufn2dnA
-#define ldap_explode_dn ldap_explode_dnA
-#define ldap_get_dn ldap_get_dnA
-#define ldap_modrdn ldap_modrdnA
-#define ldap_modrdn_s ldap_modrdn_sA
-#define ldap_modrdn2 ldap_modrdn2A
-#define ldap_modrdn2_s ldap_modrdn2_sA
-#define ldap_rename ldap_rename_extA
-#define ldap_rename_s ldap_rename_ext_sA
-#define ldap_rename_ext ldap_rename_extA
-#define ldap_rename_ext_s ldap_rename_ext_sA
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-
-#include <poppack.h>
-
-#endif /* _WINLDAP_H */
diff --git a/winsup/w32api/include/winnetwk.h b/winsup/w32api/include/winnetwk.h
deleted file mode 100644
index f37b4ebe8..000000000
--- a/winsup/w32api/include/winnetwk.h
+++ /dev/null
@@ -1,350 +0,0 @@
-#ifndef _WINNETWK_H
-#define _WINNETWK_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-#define WNNC_NET_MSNET 0x00010000
-#define WNNC_NET_LANMAN 0x00020000
-#define WNNC_NET_NETWARE 0x00030000
-#define WNNC_NET_VINES 0x00040000
-#define WNNC_NET_10NET 0x00050000
-#define WNNC_NET_LOCUS 0x00060000
-#define WNNC_NET_SUN_PC_NFS 0x00070000
-#define WNNC_NET_LANSTEP 0x00080000
-#define WNNC_NET_9TILES 0x00090000
-#define WNNC_NET_LANTASTIC 0x000A0000
-#define WNNC_NET_AS400 0x000B0000
-#define WNNC_NET_FTP_NFS 0x000C0000
-#define WNNC_NET_PATHWORKS 0x000D0000
-#define WNNC_NET_LIFENET 0x000E0000
-#define WNNC_NET_POWERLAN 0x000F0000
-#define WNNC_NET_BWNFS 0x00100000
-#define WNNC_NET_COGENT 0x00110000
-#define WNNC_NET_FARALLON 0x00120000
-#define WNNC_NET_APPLETALK 0x00130000
-#define WNNC_NET_INTERGRAPH 0x00140000
-#define WNNC_NET_SYMFONET 0x00150000
-#define WNNC_NET_CLEARCASE 0x00160000
-#define WNNC_NET_FRONTIER 0x00170000
-#define WNNC_NET_BMC 0x00180000
-#define WNNC_NET_DCE 0x00190000
-#define WNNC_NET_AVID 0x001A0000
-#define WNNC_NET_DOCUSPACE 0x001B0000
-#define WNNC_NET_MANGOSOFT 0x001C0000
-#define WNNC_NET_SERNET 0x001D0000
-#define WNNC_NET_DECORB 0x00200000
-#define WNNC_NET_PROTSTOR 0x00210000
-#define WNNC_NET_FJ_REDIR 0x00220000
-#define WNNC_NET_DISTINCT 0x00230000
-#define WNNC_NET_TWINS 0x00240000
-#define WNNC_NET_RDR2SAMPLE 0x00250000
-#define WNNC_NET_CSC 0x00260000
-#define WNNC_NET_3IN1 0x00270000
-#define WNNC_NET_EXTENDNET 0x00290000
-#define WNNC_NET_OBJECT_DIRE 0x00300000
-#define WNNC_NET_MASFAX 0x00310000
-#define WNNC_NET_HOB_NFS 0x00320000
-#define WNNC_NET_SHIVA 0x00330000
-#define WNNC_NET_IBMAL 0x00340000
-#define WNNC_CRED_MANAGER 0xFFFF0000
-
-#define RESOURCE_CONNECTED 1
-#define RESOURCE_GLOBALNET 2
-#define RESOURCE_REMEMBERED 3
-#define RESOURCE_RECENT 4
-#define RESOURCE_CONTEXT 5
-#define RESOURCETYPE_ANY 0
-#define RESOURCETYPE_DISK 1
-#define RESOURCETYPE_PRINT 2
-#define RESOURCETYPE_RESERVED 8
-#define RESOURCETYPE_UNKNOWN 0xFFFFFFFF
-#define RESOURCEUSAGE_CONNECTABLE 0x00000001
-#define RESOURCEUSAGE_CONTAINER 0x00000002
-#define RESOURCEUSAGE_NOLOCALDEVICE 0x00000004
-#define RESOURCEUSAGE_SIBLING 0x00000008
-#define RESOURCEUSAGE_ATTACHED 0x00000010
-#define RESOURCEUSAGE_ALL (RESOURCEUSAGE_CONNECTABLE | RESOURCEUSAGE_CONTAINER | RESOURCEUSAGE_ATTACHED)
-#define RESOURCEUSAGE_RESERVED 0x80000000
-#define RESOURCEDISPLAYTYPE_GENERIC 0
-#define RESOURCEDISPLAYTYPE_DOMAIN 1
-#define RESOURCEDISPLAYTYPE_SERVER 2
-#define RESOURCEDISPLAYTYPE_SHARE 3
-#define RESOURCEDISPLAYTYPE_FILE 4
-#define RESOURCEDISPLAYTYPE_GROUP 5
-#define RESOURCEDISPLAYTYPE_NETWORK 6
-#define RESOURCEDISPLAYTYPE_ROOT 7
-#define RESOURCEDISPLAYTYPE_SHAREADMIN 8
-#define RESOURCEDISPLAYTYPE_DIRECTORY 9
-#define RESOURCEDISPLAYTYPE_TREE 10
-#define NETPROPERTY_PERSISTENT 1
-#define CONNECT_UPDATE_PROFILE 1
-#define CONNECT_UPDATE_RECENT 2
-#define CONNECT_TEMPORARY 4
-#define CONNECT_INTERACTIVE 8
-#define CONNECT_PROMPT 16
-#define CONNECT_NEED_DRIVE 32
-#define CONNECT_REFCOUNT 64
-#define CONNECT_REDIRECT 128
-#define CONNECT_LOCALDRIVE 256
-#define CONNECT_CURRENT_MEDIA 512
-#define CONNDLG_RO_PATH 1
-#define CONNDLG_CONN_POINT 2
-#define CONNDLG_USE_MRU 4
-#define CONNDLG_HIDE_BOX 8
-#define CONNDLG_PERSIST 16
-#define CONNDLG_NOT_PERSIST 32
-#define DISC_UPDATE_PROFILE 1
-#define DISC_NO_FORCE 64
-#define WNFMT_MULTILINE 1
-#define WNFMT_ABBREVIATED 2
-#define WNFMT_INENUM 16
-#define WNFMT_CONNECTION 32
-#define WN_SUCCESS NO_ERROR
-#define WN_NO_ERROR NO_ERROR
-#define WN_NOT_SUPPORTED ERROR_NOT_SUPPORTED
-#define WN_CANCEL ERROR_CANCELLED
-#define WN_RETRY ERROR_RETRY
-#define WN_NET_ERROR ERROR_UNEXP_NET_ERR
-#define WN_MORE_DATA ERROR_MORE_DATA
-#define WN_BAD_POINTER ERROR_INVALID_ADDRESS
-#define WN_BAD_VALUE ERROR_INVALID_PARAMETER
-#define WN_BAD_USER ERROR_BAD_USERNAME
-#define WN_BAD_PASSWORD ERROR_INVALID_PASSWORD
-#define WN_ACCESS_DENIED ERROR_ACCESS_DENIED
-#define WN_FUNCTION_BUSY ERROR_BUSY
-#define WN_WINDOWS_ERROR ERROR_UNEXP_NET_ERR
-#define WN_OUT_OF_MEMORY ERROR_NOT_ENOUGH_MEMORY
-#define WN_NO_NETWORK ERROR_NO_NETWORK
-#define WN_EXTENDED_ERROR ERROR_EXTENDED_ERROR
-#define WN_BAD_LEVEL ERROR_INVALID_LEVEL
-#define WN_BAD_HANDLE ERROR_INVALID_HANDLE
-#define WN_NOT_INITIALIZING ERROR_ALREADY_INITIALIZED
-#define WN_NO_MORE_DEVICES ERROR_NO_MORE_DEVICES
-#define WN_NOT_CONNECTED ERROR_NOT_CONNECTED
-#define WN_OPEN_FILES ERROR_OPEN_FILES
-#define WN_DEVICE_IN_USE ERROR_DEVICE_IN_USE
-#define WN_BAD_NETNAME ERROR_BAD_NET_NAME
-#define WN_BAD_LOCALNAME ERROR_BAD_DEVICE
-#define WN_ALREADY_CONNECTED ERROR_ALREADY_ASSIGNED
-#define WN_DEVICE_ERROR ERROR_GEN_FAILURE
-#define WN_CONNECTION_CLOSED ERROR_CONNECTION_UNAVAIL
-#define WN_NO_NET_OR_BAD_PATH ERROR_NO_NET_OR_BAD_PATH
-#define WN_BAD_PROVIDER ERROR_BAD_PROVIDER
-#define WN_CANNOT_OPEN_PROFILE ERROR_CANNOT_OPEN_PROFILE
-#define WN_BAD_PROFILE ERROR_BAD_PROFILE
-#define WN_BAD_DEV_TYPE ERROR_BAD_DEV_TYPE
-#define WN_DEVICE_ALREADY_REMEMBERED ERROR_DEVICE_ALREADY_REMEMBERED
-#define WN_NO_MORE_ENTRIES ERROR_NO_MORE_ITEMS
-#define WN_NOT_CONTAINER ERROR_NOT_CONTAINER
-#define WN_NOT_AUTHENTICATED ERROR_NOT_AUTHENTICATED
-#define WN_NOT_LOGGED_ON ERROR_NOT_LOGGED_ON
-#define WN_NOT_VALIDATED ERROR_NO_LOGON_SERVERS
-#define UNIVERSAL_NAME_INFO_LEVEL 1
-#define REMOTE_NAME_INFO_LEVEL 2
-#define NETINFO_DLL16 1
-#define NETINFO_DISKRED 4
-#define NETINFO_PRINTERRED 8
-#define RP_LOGON 1
-#define RP_INIFILE 2
-#define PP_DISPLAYERRORS 1
-#define WNCON_FORNETCARD 1
-#define WNCON_NOTROUTED 2
-#define WNCON_SLOWLINK 4
-#define WNCON_DYNAMIC 8
-
-#ifndef RC_INVOKED
-typedef struct _NETRESOURCEA {
- DWORD dwScope;
- DWORD dwType;
- DWORD dwDisplayType;
- DWORD dwUsage;
- LPSTR lpLocalName;
- LPSTR lpRemoteName;
- LPSTR lpComment ;
- LPSTR lpProvider;
-}NETRESOURCEA,*LPNETRESOURCEA;
-typedef struct _NETRESOURCEW {
- DWORD dwScope;
- DWORD dwType;
- DWORD dwDisplayType;
- DWORD dwUsage;
- LPWSTR lpLocalName;
- LPWSTR lpRemoteName;
- LPWSTR lpComment ;
- LPWSTR lpProvider;
-}NETRESOURCEW,*LPNETRESOURCEW;
-typedef struct _CONNECTDLGSTRUCTA{
- DWORD cbStructure;
- HWND hwndOwner;
- LPNETRESOURCEA lpConnRes;
- DWORD dwFlags;
- DWORD dwDevNum;
-} CONNECTDLGSTRUCTA,*LPCONNECTDLGSTRUCTA;
-typedef struct _CONNECTDLGSTRUCTW{
- DWORD cbStructure;
- HWND hwndOwner;
- LPNETRESOURCEW lpConnRes;
- DWORD dwFlags;
- DWORD dwDevNum;
-} CONNECTDLGSTRUCTW,*LPCONNECTDLGSTRUCTW;
-typedef struct _DISCDLGSTRUCTA{
- DWORD cbStructure;
- HWND hwndOwner;
- LPSTR lpLocalName;
- LPSTR lpRemoteName;
- DWORD dwFlags;
-} DISCDLGSTRUCTA,*LPDISCDLGSTRUCTA;
-typedef struct _DISCDLGSTRUCTW{
- DWORD cbStructure;
- HWND hwndOwner;
- LPWSTR lpLocalName;
- LPWSTR lpRemoteName;
- DWORD dwFlags;
-} DISCDLGSTRUCTW,*LPDISCDLGSTRUCTW;
-typedef struct _UNIVERSAL_NAME_INFOA { LPSTR lpUniversalName; }UNIVERSAL_NAME_INFOA,*LPUNIVERSAL_NAME_INFOA;
-typedef struct _UNIVERSAL_NAME_INFOW { LPWSTR lpUniversalName; }UNIVERSAL_NAME_INFOW,*LPUNIVERSAL_NAME_INFOW;
-typedef struct _REMOTE_NAME_INFOA {
- LPSTR lpUniversalName;
- LPSTR lpConnectionName;
- LPSTR lpRemainingPath;
-}REMOTE_NAME_INFOA,*LPREMOTE_NAME_INFOA;
-typedef struct _REMOTE_NAME_INFOW {
- LPWSTR lpUniversalName;
- LPWSTR lpConnectionName;
- LPWSTR lpRemainingPath;
-}REMOTE_NAME_INFOW,*LPREMOTE_NAME_INFOW;
-typedef struct _NETINFOSTRUCT{
- DWORD cbStructure;
- DWORD dwProviderVersion;
- DWORD dwStatus;
- DWORD dwCharacteristics;
- DWORD dwHandle;
- WORD wNetType;
- DWORD dwPrinters;
- DWORD dwDrives;
-} NETINFOSTRUCT,*LPNETINFOSTRUCT;
-typedef UINT(PASCAL *PFNGETPROFILEPATHA)(LPCSTR,LPSTR,UINT);
-typedef UINT(PASCAL *PFNGETPROFILEPATHW)(LPCWSTR,LPWSTR,UINT);
-typedef UINT(PASCAL *PFNRECONCILEPROFILEA)(LPCSTR,LPCSTR,DWORD);
-typedef UINT(PASCAL *PFNRECONCILEPROFILEW)(LPCWSTR,LPCWSTR,DWORD);
-typedef BOOL(PASCAL *PFNPROCESSPOLICIESA)(HWND,LPCSTR,LPCSTR,LPCSTR,DWORD);
-typedef BOOL(PASCAL *PFNPROCESSPOLICIESW)(HWND,LPCWSTR,LPCWSTR,LPCWSTR,DWORD);
-typedef struct _NETCONNECTINFOSTRUCT{
- DWORD cbStructure;
- DWORD dwFlags;
- DWORD dwSpeed;
- DWORD dwDelay;
- DWORD dwOptDataSize;
-} NETCONNECTINFOSTRUCT,*LPNETCONNECTINFOSTRUCT;
-
-DWORD APIENTRY WNetAddConnectionA(LPCSTR,LPCSTR,LPCSTR);
-DWORD APIENTRY WNetAddConnectionW(LPCWSTR,LPCWSTR,LPCWSTR);
-DWORD APIENTRY WNetAddConnection2A(LPNETRESOURCEA,LPCSTR,LPCSTR,DWORD);
-DWORD APIENTRY WNetAddConnection2W(LPNETRESOURCEW,LPCWSTR,LPCWSTR,DWORD);
-DWORD APIENTRY WNetAddConnection3A(HWND,LPNETRESOURCEA,LPCSTR,LPCSTR,DWORD);
-DWORD APIENTRY WNetAddConnection3W(HWND,LPNETRESOURCEW,LPCWSTR,LPCWSTR,DWORD);
-DWORD APIENTRY WNetCancelConnectionA(LPCSTR,BOOL);
-DWORD APIENTRY WNetCancelConnectionW(LPCWSTR,BOOL);
-DWORD APIENTRY WNetCancelConnection2A(LPCSTR,DWORD,BOOL);
-DWORD APIENTRY WNetCancelConnection2W(LPCWSTR,DWORD,BOOL);
-DWORD APIENTRY WNetGetConnectionA(LPCSTR,LPSTR,PDWORD);
-DWORD APIENTRY WNetGetConnectionW(LPCWSTR,LPWSTR,PDWORD);
-DWORD APIENTRY WNetUseConnectionA(HWND,LPNETRESOURCEA,LPCSTR,LPCSTR,DWORD,LPSTR,PDWORD,PDWORD);
-DWORD APIENTRY WNetUseConnectionW(HWND,LPNETRESOURCEW,LPCWSTR,LPCWSTR,DWORD,LPWSTR,PDWORD,PDWORD);
-DWORD APIENTRY WNetSetConnectionA(LPCSTR,DWORD,PVOID);
-DWORD APIENTRY WNetSetConnectionW(LPCWSTR,DWORD,PVOID);
-DWORD APIENTRY WNetConnectionDialog(HWND,DWORD);
-DWORD APIENTRY WNetDisconnectDialog(HWND,DWORD);
-DWORD APIENTRY WNetConnectionDialog1A(LPCONNECTDLGSTRUCTA);
-DWORD APIENTRY WNetConnectionDialog1W(LPCONNECTDLGSTRUCTW);
-DWORD APIENTRY WNetDisconnectDialog1A(LPDISCDLGSTRUCTA);
-DWORD APIENTRY WNetDisconnectDialog1W(LPDISCDLGSTRUCTW);
-DWORD APIENTRY WNetOpenEnumA(DWORD,DWORD,DWORD,LPNETRESOURCEA,LPHANDLE);
-DWORD APIENTRY WNetOpenEnumW(DWORD,DWORD,DWORD,LPNETRESOURCEW,LPHANDLE);
-DWORD APIENTRY WNetEnumResourceA(HANDLE,PDWORD,PVOID,PDWORD);
-DWORD APIENTRY WNetEnumResourceW(HANDLE,PDWORD,PVOID,PDWORD);
-DWORD APIENTRY WNetCloseEnum(HANDLE);
-DWORD APIENTRY WNetGetUniversalNameA(LPCSTR,DWORD,PVOID,PDWORD);
-DWORD APIENTRY WNetGetUniversalNameW(LPCWSTR,DWORD,PVOID,PDWORD);
-DWORD APIENTRY WNetGetUserA(LPCSTR,LPSTR,PDWORD);
-DWORD APIENTRY WNetGetUserW(LPCWSTR,LPWSTR,PDWORD);
-DWORD APIENTRY WNetGetProviderNameA(DWORD,LPSTR,PDWORD);
-DWORD APIENTRY WNetGetProviderNameW(DWORD,LPWSTR,PDWORD);
-DWORD APIENTRY WNetGetNetworkInformationA(LPCSTR,LPNETINFOSTRUCT);
-DWORD APIENTRY WNetGetNetworkInformationW(LPCWSTR,LPNETINFOSTRUCT);
-DWORD APIENTRY WNetGetResourceInformationA(LPNETRESOURCEA,LPVOID,LPDWORD,LPSTR*);
-DWORD APIENTRY WNetGetResourceInformationW(LPNETRESOURCEA,LPVOID,LPDWORD,LPWSTR*);
-DWORD APIENTRY WNetGetResourceParentA(LPNETRESOURCEA,LPVOID,LPDWORD);
-DWORD APIENTRY WNetGetResourceParentW(LPNETRESOURCEW,LPVOID,LPDWORD);
-DWORD APIENTRY WNetGetLastErrorA(PDWORD,LPSTR,DWORD,LPSTR,DWORD);
-DWORD APIENTRY WNetGetLastErrorW(PDWORD,LPWSTR,DWORD,LPWSTR,DWORD);
-DWORD APIENTRY MultinetGetConnectionPerformanceA(LPNETRESOURCEA,LPNETCONNECTINFOSTRUCT);
-DWORD APIENTRY MultinetGetConnectionPerformanceW(LPNETRESOURCEW,LPNETCONNECTINFOSTRUCT);
-#ifdef UNICODE
-#define PFNPROCESSPOLICIES PFNPROCESSPOLICIESW
-#define PFNRECONCILEPROFILE PFNRECONCILEPROFILEW
-#define PFNGETPROFILEPATH PFNGETPROFILEPATHW
-typedef NETRESOURCEW NETRESOURCE,*LPNETRESOURCE;
-typedef CONNECTDLGSTRUCTW CONNECTDLGSTRUCT,*LPCONNECTDLGSTRUCT;
-typedef DISCDLGSTRUCTW DISCDLGSTRUCT,*LPDISCDLGSTRUCT;
-typedef REMOTE_NAME_INFOW REMOTE_NAME_INFO,*LPREMOTE_NAME_INFO;
-typedef UNIVERSAL_NAME_INFOW UNIVERSAL_NAME_INFO,*LPUNIVERSAL_NAME_INFO;
-#define WNetEnumResource WNetEnumResourceW
-#define WNetOpenEnum WNetOpenEnumW
-#define WNetGetResourceInformation WNetGetResourceInformationW
-#define WNetGetResourceParent WNetGetResourceParentW
-#define WNetGetUniversalName WNetGetUniversalNameW
-#define WNetSetConnection WNetSetConnectionW
-#define WNetUseConnection WNetUseConnectionW
-#define WNetGetConnection WNetGetConnectionW
-#define WNetCancelConnection2 WNetCancelConnection2W
-#define WNetCancelConnection WNetCancelConnectionW
-#define WNetAddConnection3 WNetAddConnection3W
-#define WNetAddConnection2 WNetAddConnection2W
-#define WNetAddConnection WNetAddConnectionW
-#define WNetConnectionDialog1 WNetConnectionDialog1W
-#define WNetDisconnectDialog1 WNetDisconnectDialog1W
-#define WNetGetNetworkInformation WNetGetNetworkInformationW
-#define WNetGetProviderName WNetGetProviderNameW
-#define WNetGetUser WNetGetUserW
-#define MultinetGetConnectionPerformance MultinetGetConnectionPerformanceW
-#define WNetGetLastError WNetGetLastErrorW
-#else
-#define PFNGETPROFILEPATH PFNGETPROFILEPATHA
-#define PFNRECONCILEPROFILE PFNRECONCILEPROFILEA
-#define PFNPROCESSPOLICIES PFNPROCESSPOLICIESA
-typedef NETRESOURCEA NETRESOURCE,*LPNETRESOURCE;
-typedef CONNECTDLGSTRUCTA CONNECTDLGSTRUCT,*LPCONNECTDLGSTRUCT;
-typedef DISCDLGSTRUCTA DISCDLGSTRUCT,*LPDISCDLGSTRUCT;
-typedef UNIVERSAL_NAME_INFOA UNIVERSAL_NAME_INFO,*LPUNIVERSAL_NAME_INFO;
-typedef REMOTE_NAME_INFOA REMOTE_NAME_INFO,*LPREMOTE_NAME_INFO;
-#define WNetOpenEnum WNetOpenEnumA
-#define WNetEnumResource WNetEnumResourceA
-#define WNetGetResourceInformation WNetGetResourceInformationA
-#define WNetGetResourceParent WNetGetResourceParentA
-#define WNetGetUniversalName WNetGetUniversalNameA
-#define WNetConnectionDialog1 WNetConnectionDialog1A
-#define WNetDisconnectDialog1 WNetDisconnectDialog1A
-#define WNetAddConnection2 WNetAddConnection2A
-#define WNetAddConnection3 WNetAddConnection3A
-#define WNetCancelConnection WNetCancelConnectionA
-#define WNetCancelConnection2 WNetCancelConnection2A
-#define WNetGetConnection WNetGetConnectionA
-#define WNetUseConnection WNetUseConnectionA
-#define WNetSetConnection WNetSetConnectionA
-#define WNetAddConnection WNetAddConnectionA
-#define WNetGetUser WNetGetUserA
-#define WNetGetProviderName WNetGetProviderNameA
-#define WNetGetNetworkInformation WNetGetNetworkInformationA
-#define WNetGetLastError WNetGetLastErrorA
-#define MultinetGetConnectionPerformance MultinetGetConnectionPerformanceA
-#endif
-#endif
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/winsup/w32api/include/winnls.h b/winsup/w32api/include/winnls.h
deleted file mode 100644
index ac7e3aa6b..000000000
--- a/winsup/w32api/include/winnls.h
+++ /dev/null
@@ -1,713 +0,0 @@
-#ifndef _WINNLS_H
-#define _WINNLS_H
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-#ifndef WINBASEAPI
-#ifdef __W32API_USE_DLLIMPORT__
-#define WINBASEAPI DECLSPEC_IMPORT
-#else
-#define WINBASEAPI
-#endif
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define MAX_LEADBYTES 12
-#define MAX_DEFAULTCHAR 2
-#define LOCALE_NOUSEROVERRIDE 0x80000000
-#define LOCALE_USE_CP_ACP 0x40000000
-#if (WINVER >= 0x0400)
-#define LOCALE_RETURN_NUMBER 0x20000000
-#endif
-#define LOCALE_ILANGUAGE 1
-#define LOCALE_SLANGUAGE 2
-#define LOCALE_SENGLANGUAGE 0x1001
-#define LOCALE_SABBREVLANGNAME 3
-#define LOCALE_SNATIVELANGNAME 4
-#define LOCALE_ICOUNTRY 5
-#define LOCALE_SCOUNTRY 6
-#define LOCALE_SENGCOUNTRY 0x1002
-#define LOCALE_SABBREVCTRYNAME 7
-#define LOCALE_SNATIVECTRYNAME 8
-#define LOCALE_IDEFAULTLANGUAGE 9
-#define LOCALE_IDEFAULTCOUNTRY 10
-#define LOCALE_IDEFAULTCODEPAGE 11
-#define LOCALE_IDEFAULTANSICODEPAGE 0x1004
-#define LOCALE_SLIST 12
-#define LOCALE_IMEASURE 13
-#define LOCALE_SDECIMAL 14
-#define LOCALE_STHOUSAND 15
-#define LOCALE_SGROUPING 16
-#define LOCALE_IDIGITS 17
-#define LOCALE_ILZERO 18
-#define LOCALE_INEGNUMBER 0x1010
-#define LOCALE_SNATIVEDIGITS 19
-#define LOCALE_SCURRENCY 20
-#define LOCALE_SINTLSYMBOL 21
-#define LOCALE_SMONDECIMALSEP 22
-#define LOCALE_SMONTHOUSANDSEP 23
-#define LOCALE_SMONGROUPING 24
-#define LOCALE_ICURRDIGITS 25
-#define LOCALE_IINTLCURRDIGITS 26
-#define LOCALE_ICURRENCY 27
-#define LOCALE_INEGCURR 28
-#define LOCALE_SDATE 29
-#define LOCALE_STIME 30
-#define LOCALE_SSHORTDATE 31
-#define LOCALE_SLONGDATE 32
-#define LOCALE_STIMEFORMAT 0x1003
-#define LOCALE_IDATE 33
-#define LOCALE_ILDATE 34
-#define LOCALE_ITIME 35
-#define LOCALE_ITIMEMARKPOSN 0x1005
-#define LOCALE_ICENTURY 36
-#define LOCALE_ITLZERO 37
-#define LOCALE_IDAYLZERO 38
-#define LOCALE_IMONLZERO 39
-#define LOCALE_S1159 40
-#define LOCALE_S2359 41
-#define LOCALE_ICALENDARTYPE 0x1009
-#define LOCALE_IOPTIONALCALENDAR 0x100B
-#define LOCALE_IFIRSTDAYOFWEEK 0x100C
-#define LOCALE_IFIRSTWEEKOFYEAR 0x100D
-#define LOCALE_SDAYNAME1 42
-#define LOCALE_SDAYNAME2 43
-#define LOCALE_SDAYNAME3 44
-#define LOCALE_SDAYNAME4 45
-#define LOCALE_SDAYNAME5 46
-#define LOCALE_SDAYNAME6 47
-#define LOCALE_SDAYNAME7 48
-#define LOCALE_SABBREVDAYNAME1 49
-#define LOCALE_SABBREVDAYNAME2 50
-#define LOCALE_SABBREVDAYNAME3 51
-#define LOCALE_SABBREVDAYNAME4 52
-#define LOCALE_SABBREVDAYNAME5 53
-#define LOCALE_SABBREVDAYNAME6 54
-#define LOCALE_SABBREVDAYNAME7 55
-#define LOCALE_SMONTHNAME1 56
-#define LOCALE_SMONTHNAME2 57
-#define LOCALE_SMONTHNAME3 58
-#define LOCALE_SMONTHNAME4 59
-#define LOCALE_SMONTHNAME5 60
-#define LOCALE_SMONTHNAME6 61
-#define LOCALE_SMONTHNAME7 62
-#define LOCALE_SMONTHNAME8 63
-#define LOCALE_SMONTHNAME9 64
-#define LOCALE_SMONTHNAME10 65
-#define LOCALE_SMONTHNAME11 66
-#define LOCALE_SMONTHNAME12 67
-#define LOCALE_SMONTHNAME13 0x100E
-#define LOCALE_SABBREVMONTHNAME1 68
-#define LOCALE_SABBREVMONTHNAME2 69
-#define LOCALE_SABBREVMONTHNAME3 70
-#define LOCALE_SABBREVMONTHNAME4 71
-#define LOCALE_SABBREVMONTHNAME5 72
-#define LOCALE_SABBREVMONTHNAME6 73
-#define LOCALE_SABBREVMONTHNAME7 74
-#define LOCALE_SABBREVMONTHNAME8 75
-#define LOCALE_SABBREVMONTHNAME9 76
-#define LOCALE_SABBREVMONTHNAME10 77
-#define LOCALE_SABBREVMONTHNAME11 78
-#define LOCALE_SABBREVMONTHNAME12 79
-#define LOCALE_SABBREVMONTHNAME13 0x100F
-#define LOCALE_SPOSITIVESIGN 80
-#define LOCALE_SNEGATIVESIGN 81
-#define LOCALE_IPOSSIGNPOSN 82
-#define LOCALE_INEGSIGNPOSN 83
-#define LOCALE_IPOSSYMPRECEDES 84
-#define LOCALE_IPOSSEPBYSPACE 85
-#define LOCALE_INEGSYMPRECEDES 86
-#define LOCALE_INEGSEPBYSPACE 87
-#define LOCALE_FONTSIGNATURE 88
-#define LOCALE_SISO639LANGNAME 89
-#define LOCALE_SISO3166CTRYNAME 90
-#define LOCALE_SYSTEM_DEFAULT 0x800
-#define LOCALE_USER_DEFAULT 0x400
-#define NORM_IGNORECASE 1
-#define NORM_IGNOREKANATYPE 65536
-#define NORM_IGNORENONSPACE 2
-#define NORM_IGNORESYMBOLS 4
-#define NORM_IGNOREWIDTH 131072
-#define SORT_STRINGSORT 4096
-#define LCMAP_LOWERCASE 0x00000100
-#define LCMAP_UPPERCASE 0x00000200
-#define LCMAP_SORTKEY 0x00000400
-#define LCMAP_BYTEREV 0x00000800
-#define LCMAP_HIRAGANA 0x00100000
-#define LCMAP_KATAKANA 0x00200000
-#define LCMAP_HALFWIDTH 0x00400000
-#define LCMAP_FULLWIDTH 0x00800000
-#define LCMAP_LINGUISTIC_CASING 0x01000000
-#define LCMAP_SIMPLIFIED_CHINESE 0x02000000
-#define LCMAP_TRADITIONAL_CHINESE 0x04000000
-#define ENUM_ALL_CALENDARS (-1)
-#define DATE_SHORTDATE 1
-#define DATE_LONGDATE 2
-#define DATE_USE_ALT_CALENDAR 4
-#define CP_INSTALLED 1
-#define CP_SUPPORTED 2
-#define LCID_INSTALLED 1
-#define LCID_SUPPORTED 2
-#define LCID_ALTERNATE_SORTS 4
-#define MAP_FOLDCZONE 16
-#define MAP_FOLDDIGITS 128
-#define MAP_PRECOMPOSED 32
-#define MAP_COMPOSITE 64
-#define CP_ACP 0
-#define CP_OEMCP 1
-#define CP_MACCP 2
-#define CP_THREAD_ACP 3
-#define CP_SYMBOL 42
-#define CP_UTF7 65000
-#define CP_UTF8 65001
-#define CT_CTYPE1 1
-#define CT_CTYPE2 2
-#define CT_CTYPE3 4
-#define C1_UPPER 1
-#define C1_LOWER 2
-#define C1_DIGIT 4
-#define C1_SPACE 8
-#define C1_PUNCT 16
-#define C1_CNTRL 32
-#define C1_BLANK 64
-#define C1_XDIGIT 128
-#define C1_ALPHA 256
-#define C2_LEFTTORIGHT 1
-#define C2_RIGHTTOLEFT 2
-#define C2_EUROPENUMBER 3
-#define C2_EUROPESEPARATOR 4
-#define C2_EUROPETERMINATOR 5
-#define C2_ARABICNUMBER 6
-#define C2_COMMONSEPARATOR 7
-#define C2_BLOCKSEPARATOR 8
-#define C2_SEGMENTSEPARATOR 9
-#define C2_WHITESPACE 10
-#define C2_OTHERNEUTRAL 11
-#define C2_NOTAPPLICABLE 0
-#define C3_NONSPACING 1
-#define C3_DIACRITIC 2
-#define C3_VOWELMARK 4
-#define C3_SYMBOL 8
-#define C3_KATAKANA 16
-#define C3_HIRAGANA 32
-#define C3_HALFWIDTH 64
-#define C3_FULLWIDTH 128
-#define C3_IDEOGRAPH 256
-#define C3_KASHIDA 512
-#define C3_LEXICAL 1024
-#define C3_ALPHA 32768
-#define C3_NOTAPPLICABLE 0
-#define TIME_NOMINUTESORSECONDS 1
-#define TIME_NOSECONDS 2
-#define TIME_NOTIMEMARKER 4
-#define TIME_FORCE24HOURFORMAT 8
-#define MB_PRECOMPOSED 1
-#define MB_COMPOSITE 2
-#define MB_ERR_INVALID_CHARS 8
-#define MB_USEGLYPHCHARS 4
-#define WC_COMPOSITECHECK 512
-#define WC_DISCARDNS 16
-#define WC_SEPCHARS 32
-#define WC_DEFAULTCHAR 64
-#define CTRY_DEFAULT 0
-#define CTRY_ALBANIA 355
-#define CTRY_ALGERIA 213
-#define CTRY_ARGENTINA 54
-#define CTRY_ARMENIA 374
-#define CTRY_AUSTRALIA 61
-#define CTRY_AUSTRIA 43
-#define CTRY_AZERBAIJAN 994
-#define CTRY_BAHRAIN 973
-#define CTRY_BELARUS 375
-#define CTRY_BELGIUM 32
-#define CTRY_BELIZE 501
-#define CTRY_BOLIVIA 591
-#define CTRY_BRAZIL 55
-#define CTRY_BRUNEI_DARUSSALAM 673
-#define CTRY_BULGARIA 359
-#define CTRY_CANADA 2
-#define CTRY_CARIBBEAN 1
-#define CTRY_CHILE 56
-#define CTRY_COLOMBIA 57
-#define CTRY_COSTA_RICA 506
-#define CTRY_CROATIA 385
-#define CTRY_CZECH 420
-#define CTRY_DENMARK 45
-#define CTRY_DOMINICAN_REPUBLIC 1
-#define CTRY_ECUADOR 593
-#define CTRY_EGYPT 20
-#define CTRY_EL_SALVADOR 503
-#define CTRY_ESTONIA 372
-#define CTRY_FAEROE_ISLANDS 298
-#define CTRY_FINLAND 358
-#define CTRY_FRANCE 33
-#define CTRY_GEORGIA 995
-#define CTRY_GERMANY 49
-#define CTRY_GREECE 30
-#define CTRY_GUATEMALA 502
-#define CTRY_HONDURAS 504
-#define CTRY_HONG_KONG 852
-#define CTRY_HUNGARY 36
-#define CTRY_ICELAND 354
-#define CTRY_INDIA 91
-#define CTRY_INDONESIA 62
-#define CTRY_IRAN 981
-#define CTRY_IRAQ 964
-#define CTRY_IRELAND 353
-#define CTRY_ISRAEL 972
-#define CTRY_ITALY 39
-#define CTRY_JAMAICA 1
-#define CTRY_JAPAN 81
-#define CTRY_JORDAN 962
-#define CTRY_KAZAKSTAN 7
-#define CTRY_KENYA 254
-#define CTRY_KUWAIT 965
-#define CTRY_KYRGYZSTAN 996
-#define CTRY_LATVIA 371
-#define CTRY_LEBANON 961
-#define CTRY_LIBYA 218
-#define CTRY_LIECHTENSTEIN 41
-#define CTRY_LITHUANIA 370
-#define CTRY_LUXEMBOURG 352
-#define CTRY_MACAU 853
-#define CTRY_MACEDONIA 389
-#define CTRY_MALAYSIA 60
-#define CTRY_MALDIVES 960
-#define CTRY_MEXICO 52
-#define CTRY_MONACO 33
-#define CTRY_MONGOLIA 976
-#define CTRY_MOROCCO 212
-#define CTRY_NETHERLANDS 31
-#define CTRY_NEW_ZEALAND 64
-#define CTRY_NICARAGUA 505
-#define CTRY_NORWAY 47
-#define CTRY_OMAN 968
-#define CTRY_PAKISTAN 92
-#define CTRY_PANAMA 507
-#define CTRY_PARAGUAY 595
-#define CTRY_PERU 51
-#define CTRY_PHILIPPINES 63
-#define CTRY_POLAND 48
-#define CTRY_PORTUGAL 351
-#define CTRY_PRCHINA 86
-#define CTRY_PUERTO_RICO 1
-#define CTRY_QATAR 974
-#define CTRY_ROMANIA 40
-#define CTRY_RUSSIA 7
-#define CTRY_SAUDI_ARABIA 966
-#define CTRY_SERBIA 381
-#define CTRY_SINGAPORE 65
-#define CTRY_SLOVAK 421
-#define CTRY_SLOVENIA 386
-#define CTRY_SOUTH_AFRICA 27
-#define CTRY_SOUTH_KOREA 82
-#define CTRY_SPAIN 34
-#define CTRY_SWEDEN 46
-#define CTRY_SWITZERLAND 41
-#define CTRY_SYRIA 963
-#define CTRY_TAIWAN 886
-#define CTRY_TATARSTAN 7
-#define CTRY_THAILAND 66
-#define CTRY_TRINIDAD_Y_TOBAGO 1
-#define CTRY_TUNISIA 216
-#define CTRY_TURKEY 90
-#define CTRY_UAE 971
-#define CTRY_UKRAINE 380
-#define CTRY_UNITED_KINGDOM 44
-#define CTRY_UNITED_STATES 1
-#define CTRY_URUGUAY 598
-#define CTRY_UZBEKISTAN 7
-#define CTRY_VENEZUELA 58
-#define CTRY_VIET_NAM 84
-#define CTRY_YEMEN 967
-#define CTRY_ZIMBABWE 263
-#define CAL_ICALINTVALUE 1
-#define CAL_SCALNAME 2
-#define CAL_IYEAROFFSETRANGE 3
-#define CAL_SERASTRING 4
-#define CAL_SSHORTDATE 5
-#define CAL_SLONGDATE 6
-#define CAL_SDAYNAME1 7
-#define CAL_SDAYNAME2 8
-#define CAL_SDAYNAME3 9
-#define CAL_SDAYNAME4 10
-#define CAL_SDAYNAME5 11
-#define CAL_SDAYNAME6 12
-#define CAL_SDAYNAME7 13
-#define CAL_SABBREVDAYNAME1 14
-#define CAL_SABBREVDAYNAME2 15
-#define CAL_SABBREVDAYNAME3 16
-#define CAL_SABBREVDAYNAME4 17
-#define CAL_SABBREVDAYNAME5 18
-#define CAL_SABBREVDAYNAME6 19
-#define CAL_SABBREVDAYNAME7 20
-#define CAL_SMONTHNAME1 21
-#define CAL_SMONTHNAME2 22
-#define CAL_SMONTHNAME3 23
-#define CAL_SMONTHNAME4 24
-#define CAL_SMONTHNAME5 25
-#define CAL_SMONTHNAME6 26
-#define CAL_SMONTHNAME7 27
-#define CAL_SMONTHNAME8 28
-#define CAL_SMONTHNAME9 29
-#define CAL_SMONTHNAME10 30
-#define CAL_SMONTHNAME11 31
-#define CAL_SMONTHNAME12 32
-#define CAL_SMONTHNAME13 33
-#define CAL_SABBREVMONTHNAME1 34
-#define CAL_SABBREVMONTHNAME2 35
-#define CAL_SABBREVMONTHNAME3 36
-#define CAL_SABBREVMONTHNAME4 37
-#define CAL_SABBREVMONTHNAME5 38
-#define CAL_SABBREVMONTHNAME6 39
-#define CAL_SABBREVMONTHNAME7 40
-#define CAL_SABBREVMONTHNAME8 41
-#define CAL_SABBREVMONTHNAME9 42
-#define CAL_SABBREVMONTHNAME10 43
-#define CAL_SABBREVMONTHNAME11 44
-#define CAL_SABBREVMONTHNAME12 45
-#define CAL_SABBREVMONTHNAME13 46
-#define CAL_GREGORIAN 1
-#define CAL_GREGORIAN_US 2
-#define CAL_JAPAN 3
-#define CAL_TAIWAN 4
-#define CAL_KOREA 5
-#define CAL_HIJRI 6
-#define CAL_THAI 7
-#define CAL_HEBREW 8
-#define CAL_GREGORIAN_ME_FRENCH 9
-#define CAL_GREGORIAN_ARABIC 10
-#define CAL_GREGORIAN_XLIT_ENGLISH 11
-#define CAL_GREGORIAN_XLIT_FRENCH 12
-#define CSTR_LESS_THAN 1
-#define CSTR_EQUAL 2
-#define CSTR_GREATER_THAN 3
-#define LGRPID_INSTALLED 1
-#define LGRPID_SUPPORTED 2
-#define LGRPID_WESTERN_EUROPE 1
-#define LGRPID_CENTRAL_EUROPE 2
-#define LGRPID_BALTIC 3
-#define LGRPID_GREEK 4
-#define LGRPID_CYRILLIC 5
-#define LGRPID_TURKISH 6
-#define LGRPID_JAPANESE 7
-#define LGRPID_KOREAN 8
-#define LGRPID_TRADITIONAL_CHINESE 9
-#define LGRPID_SIMPLIFIED_CHINESE 10
-#define LGRPID_THAI 11
-#define LGRPID_HEBREW 12
-#define LGRPID_ARABIC 13
-#define LGRPID_VIETNAMESE 14
-#define LGRPID_INDIC 15
-#define LGRPID_GEORGIAN 16
-#define LGRPID_ARMENIAN 17
-
-#if (WINVER >= 0x0500)
-#define LOCALE_SYEARMONTH 0x1006
-#define LOCALE_SENGCURRNAME 0x1007
-#define LOCALE_SNATIVECURRNAME 0x1008
-#define LOCALE_IDEFAULTEBCDICCODEPAGE 0x1012
-#define LOCALE_SSORTNAME 0x1013
-#define LOCALE_IDIGITSUBSTITUTION 0x1014
-#define LOCALE_IPAPERSIZE 0x100A
-#define DATE_YEARMONTH 8
-#define DATE_LTRREADING 16
-#define DATE_RTLREADING 32
-#define MAP_EXPAND_LIGATURES 0x2000
-#define WC_NO_BEST_FIT_CHARS 1024
-#define CAL_SYEARMONTH 47
-#define CAL_ITWODIGITYEARMAX 48
-#define CAL_NOUSEROVERRIDE LOCALE_NOUSEROVERRIDE
-#define CAL_RETURN_NUMBER LOCALE_RETURN_NUMBER
-#define CAL_USE_CP_ACP LOCALE_USE_CP_ACP
-#endif /* (WINVER >= 0x0500) */
-#ifndef _BASETSD_H
-typedef long LONG_PTR;
-#endif
-
-#ifndef RC_INVOKED
-typedef DWORD LCTYPE;
-typedef DWORD CALTYPE;
-typedef DWORD CALID;
-typedef DWORD LGRPID;
-typedef DWORD GEOID;
-typedef DWORD GEOTYPE;
-typedef DWORD GEOCLASS;
-typedef BOOL (CALLBACK *CALINFO_ENUMPROCA)(LPSTR);
-typedef BOOL (CALLBACK *CALINFO_ENUMPROCW)(LPWSTR);
-typedef BOOL (CALLBACK *CALINFO_ENUMPROCEXA)(LPSTR, CALID);
-typedef BOOL (CALLBACK *CALINFO_ENUMPROCEXW)(LPWSTR, CALID);
-typedef BOOL (CALLBACK *LANGUAGEGROUP_ENUMPROCA)(LGRPID, LPSTR, LPSTR, DWORD, LONG_PTR);
-typedef BOOL (CALLBACK *LANGUAGEGROUP_ENUMPROCW)(LGRPID, LPWSTR, LPWSTR, DWORD, LONG_PTR);
-typedef BOOL (CALLBACK *LANGGROUPLOCALE_ENUMPROCA)(LGRPID, LCID, LPSTR, LONG_PTR);
-typedef BOOL (CALLBACK *LANGGROUPLOCALE_ENUMPROCW)(LGRPID, LCID, LPWSTR, LONG_PTR);
-typedef BOOL (CALLBACK *UILANGUAGE_ENUMPROCW)(LPWSTR, LONG_PTR);
-typedef BOOL (CALLBACK *UILANGUAGE_ENUMPROCA)(LPSTR, LONG_PTR);
-typedef BOOL (CALLBACK *LOCALE_ENUMPROCA)(LPSTR);
-typedef BOOL (CALLBACK *LOCALE_ENUMPROCW)(LPWSTR);
-typedef BOOL (CALLBACK *CODEPAGE_ENUMPROCA)(LPSTR);
-typedef BOOL (CALLBACK *CODEPAGE_ENUMPROCW)(LPWSTR);
-typedef BOOL (CALLBACK *DATEFMT_ENUMPROCA)(LPSTR);
-typedef BOOL (CALLBACK *DATEFMT_ENUMPROCW)(LPWSTR);
-typedef BOOL (CALLBACK *DATEFMT_ENUMPROCEXA)(LPSTR, CALID);
-typedef BOOL (CALLBACK *DATEFMT_ENUMPROCEXW)(LPWSTR, CALID);
-typedef BOOL (CALLBACK *TIMEFMT_ENUMPROCA)(LPSTR);
-typedef BOOL (CALLBACK *TIMEFMT_ENUMPROCW)(LPWSTR);
-typedef BOOL (CALLBACK *GEO_ENUMPROC)(GEOID);
-
-enum NLS_FUNCTION {
- COMPARE_STRING = 0x0001
-};
-typedef enum NLS_FUNCTION NLS_FUNCTION;
-enum SYSGEOCLASS {
- GEOCLASS_NATION = 16,
- GEOCLASS_REGION = 14
-};
-enum SYSGEOTYPE {
- GEO_NATION = 0x0001,
- GEO_LATITUDE = 0x0002,
- GEO_LONGITUDE = 0x0003,
- GEO_ISO2 = 0x0004,
- GEO_ISO3 = 0x0005,
- GEO_RFC1766 = 0x0006,
- GEO_LCID = 0x0007,
- GEO_FRIENDLYNAME = 0x0008,
- GEO_OFFICIALNAME = 0x0009,
- GEO_TIMEZONES = 0x000a,
- GEO_OFFICIALLANGUAGES = 0x000a
-};
-
-typedef struct _cpinfo {
- UINT MaxCharSize;
- BYTE DefaultChar[MAX_DEFAULTCHAR];
- BYTE LeadByte[MAX_LEADBYTES];
-} CPINFO,*LPCPINFO;
-typedef struct _cpinfoexA {
- UINT MaxCharSize;
- BYTE DefaultChar[MAX_DEFAULTCHAR];
- BYTE LeadByte[MAX_LEADBYTES];
- WCHAR UnicodeDefaultChar;
- UINT CodePage;
- CHAR CodePageName[MAX_PATH];
-} CPINFOEXA,*LPCPINFOEXA;
-typedef struct _cpinfoexW {
- UINT MaxCharSize;
- BYTE DefaultChar[MAX_DEFAULTCHAR];
- BYTE LeadByte[MAX_LEADBYTES];
- WCHAR UnicodeDefaultChar;
- UINT CodePage;
- WCHAR CodePageName[MAX_PATH];
-} CPINFOEXW,*LPCPINFOEXW;
-typedef struct _currencyfmtA {
- UINT NumDigits;
- UINT LeadingZero;
- UINT Grouping;
- LPSTR lpDecimalSep;
- LPSTR lpThousandSep;
- UINT NegativeOrder;
- UINT PositiveOrder;
- LPSTR lpCurrencySymbol;
-} CURRENCYFMTA,*LPCURRENCYFMTA;
-typedef struct _currencyfmtW {
- UINT NumDigits;
- UINT LeadingZero;
- UINT Grouping;
- LPWSTR lpDecimalSep;
- LPWSTR lpThousandSep;
- UINT NegativeOrder;
- UINT PositiveOrder;
- LPWSTR lpCurrencySymbol;
-} CURRENCYFMTW,*LPCURRENCYFMTW;
-typedef struct nlsversioninfo {
- DWORD dwNLSVersionInfoSize;
- DWORD dwNLSVersion;
- DWORD dwDefinedVersion;
-} NLSVERSIONINFO,*LPNLSVERSIONINFO;
-typedef struct _numberfmtA {
- UINT NumDigits;
- UINT LeadingZero;
- UINT Grouping;
- LPSTR lpDecimalSep;
- LPSTR lpThousandSep;
- UINT NegativeOrder;
-} NUMBERFMTA,*LPNUMBERFMTA;
-typedef struct _numberfmtW {
- UINT NumDigits;
- UINT LeadingZero;
- UINT Grouping;
- LPWSTR lpDecimalSep;
- LPWSTR lpThousandSep;
- UINT NegativeOrder;
-} NUMBERFMTW,*LPNUMBERFMTW;
-
-WINBASEAPI int WINAPI CompareStringA(LCID,DWORD,LPCSTR,int,LPCSTR,int);
-WINBASEAPI int WINAPI CompareStringW(LCID,DWORD,LPCWSTR,int,LPCWSTR,int);
-WINBASEAPI LCID WINAPI ConvertDefaultLocale(LCID);
-WINBASEAPI BOOL WINAPI EnumCalendarInfoA(CALINFO_ENUMPROCA,LCID,CALID,CALTYPE);
-WINBASEAPI BOOL WINAPI EnumCalendarInfoW(CALINFO_ENUMPROCW,LCID,CALID,CALTYPE);
-WINBASEAPI BOOL WINAPI EnumDateFormatsA(DATEFMT_ENUMPROCA,LCID,DWORD);
-WINBASEAPI BOOL WINAPI EnumDateFormatsW(DATEFMT_ENUMPROCW,LCID,DWORD);
-WINBASEAPI BOOL WINAPI EnumSystemCodePagesA(CODEPAGE_ENUMPROCA,DWORD);
-WINBASEAPI BOOL WINAPI EnumSystemCodePagesW(CODEPAGE_ENUMPROCW,DWORD);
-WINBASEAPI BOOL WINAPI EnumSystemGeoID(GEOCLASS,GEOID,GEO_ENUMPROC);
-WINBASEAPI BOOL WINAPI EnumSystemLocalesA(LOCALE_ENUMPROCA,DWORD);
-WINBASEAPI BOOL WINAPI EnumSystemLocalesW(LOCALE_ENUMPROCW,DWORD);
-WINBASEAPI BOOL WINAPI EnumTimeFormatsA(TIMEFMT_ENUMPROCA,LCID,DWORD);
-WINBASEAPI BOOL WINAPI EnumTimeFormatsW(TIMEFMT_ENUMPROCW,LCID,DWORD);
-WINBASEAPI int WINAPI FoldStringA(DWORD,LPCSTR,int,LPSTR,int);
-WINBASEAPI int WINAPI FoldStringW(DWORD,LPCWSTR,int,LPWSTR,int);
-WINBASEAPI UINT WINAPI GetACP(void);
-WINBASEAPI int WINAPI GetCalendarInfoA(LCID,CALID,CALTYPE,LPSTR,int,LPDWORD);
-WINBASEAPI int WINAPI GetCalendarInfoW(LCID,CALID,CALTYPE,LPWSTR,int,LPDWORD);
-WINBASEAPI BOOL WINAPI GetCPInfo(UINT,LPCPINFO);
-WINBASEAPI BOOL WINAPI GetCPInfoExA(UINT,DWORD,LPCPINFOEXA);
-WINBASEAPI BOOL WINAPI GetCPInfoExW(UINT,DWORD,LPCPINFOEXW);
-WINBASEAPI int WINAPI GetCurrencyFormatA(LCID,DWORD,LPCSTR,const CURRENCYFMTA*,LPSTR,int);
-WINBASEAPI int WINAPI GetCurrencyFormatW(LCID,DWORD,LPCWSTR,const CURRENCYFMTW*,LPWSTR,int);
-WINBASEAPI int WINAPI GetDateFormatA(LCID,DWORD,const SYSTEMTIME*,LPCSTR,LPSTR,int);
-WINBASEAPI int WINAPI GetDateFormatW(LCID,DWORD,const SYSTEMTIME*,LPCWSTR,LPWSTR,int);
-WINBASEAPI int WINAPI GetGeoInfoA(GEOID,GEOTYPE,LPSTR,int,LANGID);
-WINBASEAPI int WINAPI GetGeoInfoW(GEOID,GEOTYPE,LPWSTR,int,LANGID);
-WINBASEAPI int WINAPI GetLocaleInfoA(LCID,LCTYPE,LPSTR,int);
-WINBASEAPI int WINAPI GetLocaleInfoW(LCID,LCTYPE,LPWSTR,int);
-WINBASEAPI BOOL WINAPI GetNLSVersion(NLS_FUNCTION,LCID,LPNLSVERSIONINFO);
-WINBASEAPI int WINAPI GetNumberFormatA(LCID,DWORD,LPCSTR,const NUMBERFMTA*,LPSTR,int);
-WINBASEAPI int WINAPI GetNumberFormatW(LCID,DWORD,LPCWSTR,const NUMBERFMTW*,LPWSTR,int);
-WINBASEAPI UINT WINAPI GetOEMCP(void);
-WINBASEAPI BOOL WINAPI GetStringTypeA(LCID,DWORD,LPCSTR,int,LPWORD);
-WINBASEAPI BOOL WINAPI GetStringTypeW(DWORD,LPCWSTR,int,LPWORD);
-WINBASEAPI BOOL WINAPI GetStringTypeExA(LCID,DWORD,LPCSTR,int,LPWORD);
-WINBASEAPI BOOL WINAPI GetStringTypeExW(LCID,DWORD,LPCWSTR,int,LPWORD);
-WINBASEAPI LANGID WINAPI GetSystemDefaultLangID(void);
-WINBASEAPI LCID WINAPI GetSystemDefaultLCID(void);
-WINBASEAPI LCID WINAPI GetThreadLocale(void);
-WINBASEAPI int WINAPI GetTimeFormatA(LCID,DWORD,const SYSTEMTIME*,LPCSTR,LPSTR,int);
-WINBASEAPI int WINAPI GetTimeFormatW(LCID,DWORD,const SYSTEMTIME*,LPCWSTR,LPWSTR,int);
-WINBASEAPI LANGID WINAPI GetUserDefaultLangID(void);
-WINBASEAPI LCID WINAPI GetUserDefaultLCID(void);
-WINBASEAPI GEOID WINAPI GetUserGeoID(GEOCLASS);
-WINBASEAPI BOOL WINAPI IsDBCSLeadByte(BYTE);
-WINBASEAPI BOOL WINAPI IsDBCSLeadByteEx(UINT,BYTE);
-WINBASEAPI BOOL WINAPI IsNLSDefinedString(NLS_FUNCTION,DWORD,LPNLSVERSIONINFO,LPCWSTR,int);
-WINBASEAPI BOOL WINAPI IsValidCodePage(UINT);
-WINBASEAPI BOOL WINAPI IsValidLocale(LCID,DWORD);
-WINBASEAPI int WINAPI LCMapStringA(LCID,DWORD,LPCSTR,int,LPSTR,int);
-WINBASEAPI int WINAPI LCMapStringW(LCID,DWORD,LPCWSTR,int,LPWSTR,int);
-WINBASEAPI int WINAPI MultiByteToWideChar(UINT,DWORD,LPCSTR,int,LPWSTR,int);
-WINBASEAPI int WINAPI SetCalendarInfoA(LCID,CALID,CALTYPE,LPCSTR);
-WINBASEAPI int WINAPI SetCalendarInfoW(LCID,CALID,CALTYPE,LPCWSTR);
-WINBASEAPI BOOL WINAPI SetLocaleInfoA(LCID,LCTYPE,LPCSTR);
-WINBASEAPI BOOL WINAPI SetLocaleInfoW(LCID,LCTYPE,LPCWSTR);
-WINBASEAPI BOOL WINAPI SetThreadLocale(LCID);
-WINBASEAPI BOOL WINAPI SetUserGeoID(GEOID);
-WINBASEAPI int WINAPI WideCharToMultiByte(UINT,DWORD,LPCWSTR,int,LPSTR,int,LPCSTR,LPBOOL);
-#if (WINVER >= 0x0500)
-WINBASEAPI BOOL WINAPI EnumCalendarInfoExA(CALINFO_ENUMPROCEXA,LCID,CALID,CALTYPE);
-WINBASEAPI BOOL WINAPI EnumCalendarInfoExW(CALINFO_ENUMPROCEXW,LCID,CALID,CALTYPE);
-WINBASEAPI BOOL WINAPI EnumDateFormatsExA(DATEFMT_ENUMPROCEXA,LCID,DWORD);
-WINBASEAPI BOOL WINAPI EnumDateFormatsExW(DATEFMT_ENUMPROCEXW,LCID,DWORD);
-WINBASEAPI BOOL WINAPI EnumSystemLanguageGroupsA(LANGUAGEGROUP_ENUMPROCA,DWORD,LONG_PTR);
-WINBASEAPI BOOL WINAPI EnumSystemLanguageGroupsW(LANGUAGEGROUP_ENUMPROCW,DWORD,LONG_PTR);
-WINBASEAPI BOOL WINAPI EnumLanguageGroupLocalesA(LANGGROUPLOCALE_ENUMPROCA,LGRPID,DWORD,LONG_PTR);
-WINBASEAPI BOOL WINAPI EnumLanguageGroupLocalesW(LANGGROUPLOCALE_ENUMPROCW,LGRPID,DWORD,LONG_PTR);
-WINBASEAPI BOOL WINAPI EnumUILanguagesA(UILANGUAGE_ENUMPROCA,DWORD,LONG_PTR);
-WINBASEAPI BOOL WINAPI EnumUILanguagesW(UILANGUAGE_ENUMPROCW,DWORD,LONG_PTR);
-WINBASEAPI LANGID WINAPI GetSystemDefaultUILanguage(void);
-WINBASEAPI LANGID WINAPI GetUserDefaultUILanguage(void);
-WINBASEAPI BOOL WINAPI IsValidLanguageGroup(LGRPID,DWORD);
-#endif /* (WINVER >= 0x0500) */
-
-#ifdef UNICODE
-#define CALINFO_ENUMPROC CALINFO_ENUMPROCW
-#define CALINFO_ENUMPROCEX CALINFO_ENUMPROCEXW
-#define LOCALE_ENUMPROC LOCALE_ENUMPROCW
-#define CODEPAGE_ENUMPROC CODEPAGE_ENUMPROCW
-#define DATEFMT_ENUMPROC DATEFMT_ENUMPROCW
-#define DATEFMT_ENUMPROCEX DATEFMT_ENUMPROCEXW
-#define TIMEFMT_ENUMPROC TIMEFMT_ENUMPROCW
-#define LANGUAGEGROUP_ENUMPROC LANGUAGEGROUP_ENUMPROCW
-#define LANGGROUPLOCALE_ENUMPROC LANGGROUPLOCALE_ENUMPROCW
-#define UILANGUAGE_ENUMPROC UILANGUAGE_ENUMPROCW
-typedef CPINFOEXW CPINFOEX;
-typedef LPCPINFOEXW LPCPINFOEX;
-typedef CURRENCYFMTW CURRENCYFMT;
-typedef LPCURRENCYFMTW LPCURRENCYFMT;
-typedef NUMBERFMTW NUMBERFMT;
-typedef LPNUMBERFMTW LPNUMBERFMT;
-#define CompareString CompareStringW
-#define EnumCalendarInfo EnumCalendarInfoW
-#define EnumSystemCodePages EnumSystemCodePagesW
-#define EnumSystemLocales EnumSystemLocalesW
-#define EnumTimeFormats EnumTimeFormatsW
-#define FoldString FoldStringW
-#define GetCalendarInfo GetCalendarInfoW
-#define GetCPInfoEx GetCPInfoExW
-#define GetCurrencyFormat GetCurrencyFormatW
-#define GetDateFormat GetDateFormatW
-#define GetGeoInfo GetGeoInfoW
-#define GetLocaleInfo GetLocaleInfoW
-#define GetNumberFormat GetNumberFormatW
-#define GetStringTypeEx GetStringTypeExW
-#define GetTimeFormat GetTimeFormatW
-#define LCMapString LCMapStringW
-#define SetCalendarInfo SetCalendarInfoW
-#define SetLocaleInfo SetLocaleInfoW
-#if (WINVER >= 0x0500)
-#define EnumCalendarInfoEx EnumCalendarInfoExW;
-#define EnumDateFormatsEx EnumDateFormatsExW;
-#define EnumSystemLanguageGroups EnumSystemLanguageGroupsW;
-#define EnumLanguageGroupLocales EnumLanguageGroupLocalesW;
-#define EnumUILanguages EnumUILanguagesW;
-#endif /* (WINVER >= 0x0500) */
-#else
-#define CALINFO_ENUMPROC CALINFO_ENUMPROCA
-#define CALINFO_ENUMPROCEX CALINFO_ENUMPROCEXA
-#define LOCALE_ENUMPROC LOCALE_ENUMPROCA
-#define CODEPAGE_ENUMPROC CODEPAGE_ENUMPROCA
-#define DATEFMT_ENUMPROC DATEFMT_ENUMPROCA
-#define DATEFMT_ENUMPROCEX DATEFMT_ENUMPROCEXA
-#define TIMEFMT_ENUMPROC TIMEFMT_ENUMPROCA
-#define LANGUAGEGROUP_ENUMPROC LANGUAGEGROUP_ENUMPROCA
-#define LANGGROUPLOCALE_ENUMPROC LANGGROUPLOCALE_ENUMPROCA
-#define UILANGUAGE_ENUMPROC UILANGUAGE_ENUMPROCA
-typedef CPINFOEXA CPINFOEX;
-typedef LPCPINFOEXA LPCPINFOEX;
-typedef CURRENCYFMTA CURRENCYFMT;
-typedef LPCURRENCYFMTA LPCURRENCYFMT;
-typedef NUMBERFMTA NUMBERFMT;
-typedef LPNUMBERFMTA LPNUMBERFMT;
-#define CompareString CompareStringA
-#define EnumCalendarInfo EnumCalendarInfoA
-#define EnumSystemCodePages EnumSystemCodePagesA
-#define EnumSystemLocales EnumSystemLocalesA
-#define EnumTimeFormats EnumTimeFormatsA
-#define FoldString FoldStringA
-#define GetCalendarInfo GetCalendarInfoA
-#define GetCPInfoEx GetCPInfoExA
-#define GetCurrencyFormat GetCurrencyFormatA
-#define GetDateFormat GetDateFormatA
-#define GetGeoInfo GetGeoInfoA
-#define GetLocaleInfo GetLocaleInfoA
-#define GetNumberFormat GetNumberFormatA
-#define GetStringTypeEx GetStringTypeExA
-#define GetTimeFormat GetTimeFormatA
-#define LCMapString LCMapStringA
-#define SetCalendarInfo SetCalendarInfoA
-#define SetLocaleInfo SetLocaleInfoA
-#if (WINVER >= 0x0500)
-#define EnumCalendarInfoEx EnumCalendarInfoExA;
-#define EnumDateFormatsEx EnumDateFormatsExA;
-#define EnumSystemLanguageGroups EnumSystemLanguageGroupsA;
-#define EnumLanguageGroupLocales EnumLanguageGroupLocalesA;
-#define EnumUILanguages EnumUILanguagesA;
-#endif /* (WINVER >= 0x0500) */
-#endif /* UNICODE */
-#endif /* RC_INVOKED */
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/winsup/w32api/include/winnt.h b/winsup/w32api/include/winnt.h
deleted file mode 100644
index eec5993bd..000000000
--- a/winsup/w32api/include/winnt.h
+++ /dev/null
@@ -1,3454 +0,0 @@
-#ifndef _WINNT_H
-#define _WINNT_H
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-/* translate GCC target defines to MS equivalents. Keep this synchronized
- with windows.h. */
-#if defined(__i686__) && !defined(_M_IX86)
-#define _M_IX86 600
-#elif defined(__i586__) && !defined(_M_IX86)
-#define _M_IX86 500
-#elif defined(__i486__) && !defined(_M_IX86)
-#define _M_IX86 400
-#elif defined(__i386__) && !defined(_M_IX86)
-#define _M_IX86 300
-#endif
-#if defined(_M_IX86) && !defined(_X86_)
-#define _X86_
-#elif defined(_M_ALPHA) && !defined(_ALPHA_)
-#define _ALPHA_
-#elif defined(_M_PPC) && !defined(_PPC_)
-#define _PPC_
-#elif defined(_M_MRX000) && !defined(_MIPS_)
-#define _MIPS_
-#elif defined(_M_M68K) && !defined(_68K_)
-#define _68K_
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <winerror.h>
-
-#ifndef RC_INVOKED
-#include <string.h>
-
-/* FIXME: add more architectures. Is there a way to specify this in GCC? */
-#ifdef _X86_
-#define UNALIGNED
-#else
-#define UNALIGNED
-#endif
-
-#ifndef VOID
-#define VOID void
-#endif
-typedef char CHAR;
-typedef short SHORT;
-typedef long LONG;
-typedef char CCHAR, *PCCHAR;
-typedef unsigned char UCHAR,*PUCHAR;
-typedef unsigned short USHORT,*PUSHORT;
-typedef unsigned long ULONG,*PULONG;
-typedef char *PSZ;
-
-typedef void *PVOID,*LPVOID;
-
-/* FIXME for __WIN64 */
-#ifndef __ptr64
-#define __ptr64
-#endif
-typedef void* __ptr64 PVOID64;
-
-#ifndef _WCHAR_T_DEFINED
-#define _WCHAR_T_DEFINED
-#ifndef _WCHAR_T_
-#define _WCHAR_T_
-#undef __need_wchar_t
-#ifndef __cplusplus
-typedef unsigned short wchar_t;
-#endif
-#endif
-#endif
-
-typedef wchar_t WCHAR;
-typedef WCHAR *PWCHAR,*LPWCH,*PWCH,*NWPSTR,*LPWSTR,*PWSTR;
-typedef CONST WCHAR *LPCWCH,*PCWCH,*LPCWSTR,*PCWSTR;
-typedef CHAR *PCHAR,*LPCH,*PCH,*NPSTR,*LPSTR,*PSTR;
-typedef CONST CHAR *LPCCH,*PCSTR,*LPCSTR;
-#ifndef _TCHAR_DEFINED
-#define _TCHAR_DEFINED
-#ifdef UNICODE
-/*
- * NOTE: This tests UNICODE, which is different from the _UNICODE define
- * used to differentiate standard C runtime calls.
- */
-typedef WCHAR TCHAR;
-typedef WCHAR _TCHAR;
-#else
-typedef CHAR TCHAR;
-typedef CHAR _TCHAR;
-#endif
-#endif
-typedef TCHAR TBYTE,*PTCH,*PTBYTE;
-typedef TCHAR *LPTCH,*PTSTR,*LPTSTR,*LP,*PTCHAR;
-typedef const TCHAR *LPCTSTR;
-#ifdef UNICODE
-/*
- * __TEXT is a private macro whose specific use is to force the expansion of a
- * macro passed as an argument to the macro TEXT. DO NOT use this
- * macro within your programs. It's name and function could change without
- * notice.
- */
-#define __TEXT(q) L##q
-#else
-#define __TEXT(q) q
-#endif
-/*
- * UNICODE a constant string when UNICODE is defined, else returns the string
- * unmodified.
- * The corresponding macros _TEXT() and _T() for mapping _UNICODE strings
- * passed to C runtime functions are defined in mingw/tchar.h
- */
-#define TEXT(q) __TEXT(q)
-typedef SHORT *PSHORT;
-typedef LONG *PLONG;
-#ifdef STRICT
-typedef void *HANDLE;
-#define DECLARE_HANDLE(n) typedef struct n##__{int i;}*n
-#else
-typedef PVOID HANDLE;
-#define DECLARE_HANDLE(n) typedef HANDLE n
-#endif
-typedef HANDLE *PHANDLE,*LPHANDLE;
-typedef DWORD LCID;
-typedef PDWORD PLCID;
-typedef WORD LANGID;
-#ifdef __GNUC__
-#define _HAVE_INT64
-#define _INTEGRAL_MAX_BITS 64
-#undef __int64
-#define __int64 long long
-#elif defined(__WATCOMC__) && (defined(_INTEGRAL_MAX_BITS) && _INTEGRAL_MAX_BITS >= 64 )
-#define _HAVE_INT64
-#endif /* __GNUC__/__WATCOMC */
-#if defined(_HAVE_INT64) || (defined(_INTEGRAL_MAX_BITS) && _INTEGRAL_MAX_BITS >= 64)
-typedef __int64 LONGLONG;
-typedef unsigned __int64 DWORDLONG;
-#else
-typedef double LONGLONG,DWORDLONG;
-#endif
-typedef LONGLONG *PLONGLONG;
-typedef DWORDLONG *PDWORDLONG;
-typedef DWORDLONG ULONGLONG,*PULONGLONG;
-typedef LONGLONG USN;
-#ifdef _HAVE_INT64
-#define Int32x32To64(a,b) ((LONGLONG)(a)*(LONGLONG)(b))
-#define UInt32x32To64(a,b) ((DWORDLONG)(a)*(DWORDLONG)(b))
-#define Int64ShllMod32(a,b) ((DWORDLONG)(a)<<(b))
-#define Int64ShraMod32(a,b) ((LONGLONG)(a)>>(b))
-#define Int64ShrlMod32(a,b) ((DWORDLONG)(a)>>(b))
-#endif
-#define ANSI_NULL '\0'
-#define UNICODE_NULL L'\0'
-typedef BYTE BOOLEAN,*PBOOLEAN;
-#endif
-typedef BYTE FCHAR;
-typedef WORD FSHORT;
-typedef DWORD FLONG;
-
-#define NTAPI __stdcall
-#include <basetsd.h>
-#define ACE_OBJECT_TYPE_PRESENT 0x00000001
-#define ACE_INHERITED_OBJECT_TYPE_PRESENT 0x00000002
-#define APPLICATION_ERROR_MASK 0x20000000
-#define ERROR_SEVERITY_SUCCESS 0x00000000
-#define ERROR_SEVERITY_INFORMATIONAL 0x40000000
-#define ERROR_SEVERITY_WARNING 0x80000000
-#define ERROR_SEVERITY_ERROR 0xC0000000
-/* also in ddk/ntifs.h */
-#define COMPRESSION_FORMAT_NONE (0x0000)
-#define COMPRESSION_FORMAT_DEFAULT (0x0001)
-#define COMPRESSION_FORMAT_LZNT1 (0x0002)
-#define COMPRESSION_ENGINE_STANDARD (0x0000)
-#define COMPRESSION_ENGINE_MAXIMUM (0x0100)
-#define COMPRESSION_ENGINE_HIBER (0x0200)
-#define ACCESS_ALLOWED_ACE_TYPE (0x0)
-#define ACCESS_DENIED_ACE_TYPE (0x1)
-#define SYSTEM_AUDIT_ACE_TYPE (0x2)
-#define SYSTEM_ALARM_ACE_TYPE (0x3)
-/*end ntifs.h */
-#define ANYSIZE_ARRAY 1
-#define OBJECT_INHERIT_ACE 1
-#define CONTAINER_INHERIT_ACE 2
-#define NO_PROPAGATE_INHERIT_ACE 4
-#define INHERIT_ONLY_ACE 8
-#define VALID_INHERIT_FLAGS 16
-#define SUCCESSFUL_ACCESS_ACE_FLAG 64
-#define FAILED_ACCESS_ACE_FLAG 128
-#define DELETE 0x00010000L
-#define READ_CONTROL 0x20000L
-#define WRITE_DAC 0x40000L
-#define WRITE_OWNER 0x80000L
-#define SYNCHRONIZE 0x100000L
-#define STANDARD_RIGHTS_REQUIRED 0xF0000
-#define STANDARD_RIGHTS_READ 0x20000
-#define STANDARD_RIGHTS_WRITE 0x20000
-#define STANDARD_RIGHTS_EXECUTE 0x20000
-#define STANDARD_RIGHTS_ALL 0x1F0000
-#define SPECIFIC_RIGHTS_ALL 0xFFFF
-#define ACCESS_SYSTEM_SECURITY 0x1000000
-
-#define MAXIMUM_ALLOWED 0x2000000
-#define GENERIC_READ 0x80000000
-#define GENERIC_WRITE 0x40000000
-#define GENERIC_EXECUTE 0x20000000
-#define GENERIC_ALL 0x10000000
-
-#define INVALID_FILE_ATTRIBUTES ((DWORD)-1)
-
-/* Also in ddk/winddk.h */
-#define FILE_LIST_DIRECTORY 0x00000001
-#define FILE_READ_DATA 0x00000001
-#define FILE_ADD_FILE 0x00000002
-#define FILE_WRITE_DATA 0x00000002
-#define FILE_ADD_SUBDIRECTORY 0x00000004
-#define FILE_APPEND_DATA 0x00000004
-#define FILE_CREATE_PIPE_INSTANCE 0x00000004
-#define FILE_READ_EA 0x00000008
-#define FILE_READ_PROPERTIES 0x00000008
-#define FILE_WRITE_EA 0x00000010
-#define FILE_WRITE_PROPERTIES 0x00000010
-#define FILE_EXECUTE 0x00000020
-#define FILE_TRAVERSE 0x00000020
-#define FILE_DELETE_CHILD 0x00000040
-#define FILE_READ_ATTRIBUTES 0x00000080
-#define FILE_WRITE_ATTRIBUTES 0x00000100
-
-#define FILE_SHARE_READ 0x00000001
-#define FILE_SHARE_WRITE 0x00000002
-#define FILE_SHARE_DELETE 0x00000004
-#define FILE_SHARE_VALID_FLAGS 0x00000007
-
-#define FILE_ATTRIBUTE_READONLY 0x00000001
-#define FILE_ATTRIBUTE_HIDDEN 0x00000002
-#define FILE_ATTRIBUTE_SYSTEM 0x00000004
-#define FILE_ATTRIBUTE_DIRECTORY 0x00000010
-#define FILE_ATTRIBUTE_ARCHIVE 0x00000020
-#define FILE_ATTRIBUTE_DEVICE 0x00000040
-#define FILE_ATTRIBUTE_NORMAL 0x00000080
-#define FILE_ATTRIBUTE_TEMPORARY 0x00000100
-#define FILE_ATTRIBUTE_SPARSE_FILE 0x00000200
-#define FILE_ATTRIBUTE_REPARSE_POINT 0x00000400
-#define FILE_ATTRIBUTE_COMPRESSED 0x00000800
-#define FILE_ATTRIBUTE_OFFLINE 0x00001000
-#define FILE_ATTRIBUTE_NOT_CONTENT_INDEXED 0x00002000
-#define FILE_ATTRIBUTE_ENCRYPTED 0x00004000
-#define FILE_ATTRIBUTE_VALID_FLAGS 0x00007fb7
-#define FILE_ATTRIBUTE_VALID_SET_FLAGS 0x000031a7
-
-#define FILE_COPY_STRUCTURED_STORAGE 0x00000041
-#define FILE_STRUCTURED_STORAGE 0x00000441
-
-#define FILE_VALID_OPTION_FLAGS 0x00ffffff
-#define FILE_VALID_PIPE_OPTION_FLAGS 0x00000032
-#define FILE_VALID_MAILSLOT_OPTION_FLAGS 0x00000032
-#define FILE_VALID_SET_FLAGS 0x00000036
-
-#define FILE_SUPERSEDE 0x00000000
-#define FILE_OPEN 0x00000001
-#define FILE_CREATE 0x00000002
-#define FILE_OPEN_IF 0x00000003
-#define FILE_OVERWRITE 0x00000004
-#define FILE_OVERWRITE_IF 0x00000005
-#define FILE_MAXIMUM_DISPOSITION 0x00000005
-
-#define FILE_DIRECTORY_FILE 0x00000001
-#define FILE_WRITE_THROUGH 0x00000002
-#define FILE_SEQUENTIAL_ONLY 0x00000004
-#define FILE_NO_INTERMEDIATE_BUFFERING 0x00000008
-#define FILE_SYNCHRONOUS_IO_ALERT 0x00000010
-#define FILE_SYNCHRONOUS_IO_NONALERT 0x00000020
-#define FILE_NON_DIRECTORY_FILE 0x00000040
-#define FILE_CREATE_TREE_CONNECTION 0x00000080
-#define FILE_COMPLETE_IF_OPLOCKED 0x00000100
-#define FILE_NO_EA_KNOWLEDGE 0x00000200
-#define FILE_OPEN_FOR_RECOVERY 0x00000400
-#define FILE_RANDOM_ACCESS 0x00000800
-#define FILE_DELETE_ON_CLOSE 0x00001000
-#define FILE_OPEN_BY_FILE_ID 0x00002000
-#define FILE_OPEN_FOR_BACKUP_INTENT 0x00004000
-#define FILE_NO_COMPRESSION 0x00008000
-#define FILE_RESERVE_OPFILTER 0x00100000
-#define FILE_OPEN_REPARSE_POINT 0x00200000
-#define FILE_OPEN_NO_RECALL 0x00400000
-#define FILE_OPEN_FOR_FREE_SPACE_QUERY 0x00800000
-
-#define FILE_ALL_ACCESS \
- (STANDARD_RIGHTS_REQUIRED | \
- SYNCHRONIZE | \
- 0x1FF)
-
-#define FILE_GENERIC_EXECUTE \
- (STANDARD_RIGHTS_EXECUTE | \
- FILE_READ_ATTRIBUTES | \
- FILE_EXECUTE | \
- SYNCHRONIZE)
-
-#define FILE_GENERIC_READ \
- (STANDARD_RIGHTS_READ | \
- FILE_READ_DATA | \
- FILE_READ_ATTRIBUTES | \
- FILE_READ_EA | \
- SYNCHRONIZE)
-
-#define FILE_GENERIC_WRITE \
- (STANDARD_RIGHTS_WRITE | \
- FILE_WRITE_DATA | \
- FILE_WRITE_ATTRIBUTES | \
- FILE_WRITE_EA | \
- FILE_APPEND_DATA | \
- SYNCHRONIZE)
-/* end winddk.h */
-/* also in ddk/ntifs.h */
-#define FILE_NOTIFY_CHANGE_FILE_NAME 0x00000001
-#define FILE_NOTIFY_CHANGE_DIR_NAME 0x00000002
-#define FILE_NOTIFY_CHANGE_NAME 0x00000003
-#define FILE_NOTIFY_CHANGE_ATTRIBUTES 0x00000004
-#define FILE_NOTIFY_CHANGE_SIZE 0x00000008
-#define FILE_NOTIFY_CHANGE_LAST_WRITE 0x00000010
-#define FILE_NOTIFY_CHANGE_LAST_ACCESS 0x00000020
-#define FILE_NOTIFY_CHANGE_CREATION 0x00000040
-#define FILE_NOTIFY_CHANGE_EA 0x00000080
-#define FILE_NOTIFY_CHANGE_SECURITY 0x00000100
-#define FILE_NOTIFY_CHANGE_STREAM_NAME 0x00000200
-#define FILE_NOTIFY_CHANGE_STREAM_SIZE 0x00000400
-#define FILE_NOTIFY_CHANGE_STREAM_WRITE 0x00000800
-#define FILE_NOTIFY_VALID_MASK 0x00000fff
-
-#define FILE_CASE_SENSITIVE_SEARCH 0x00000001
-#define FILE_CASE_PRESERVED_NAMES 0x00000002
-#define FILE_UNICODE_ON_DISK 0x00000004
-#define FILE_PERSISTENT_ACLS 0x00000008
-#define FILE_FILE_COMPRESSION 0x00000010
-#define FILE_VOLUME_QUOTAS 0x00000020
-#define FILE_SUPPORTS_SPARSE_FILES 0x00000040
-#define FILE_SUPPORTS_REPARSE_POINTS 0x00000080
-#define FILE_SUPPORTS_REMOTE_STORAGE 0x00000100
-#define FS_LFN_APIS 0x00004000
-#define FILE_VOLUME_IS_COMPRESSED 0x00008000
-#define FILE_SUPPORTS_OBJECT_IDS 0x00010000
-#define FILE_SUPPORTS_ENCRYPTION 0x00020000
-#define FILE_NAMED_STREAMS 0x00040000
-
-#define IO_COMPLETION_QUERY_STATE 0x0001
-#define IO_COMPLETION_MODIFY_STATE 0x0002
-#define IO_COMPLETION_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED|SYNCHRONIZE|0x3)
-/* end ntifs.h */
-
-/* also in ddk/winddk.h */
-#define DUPLICATE_CLOSE_SOURCE 0x00000001
-#define DUPLICATE_SAME_ACCESS 0x00000002
-#define DUPLICATE_SAME_ATTRIBUTES 0x00000004
-/* end winddk.k */
-
-#define MAILSLOT_NO_MESSAGE ((DWORD)-1)
-#define MAILSLOT_WAIT_FOREVER ((DWORD)-1)
-#define PROCESS_TERMINATE 1
-#define PROCESS_CREATE_THREAD 2
-#define PROCESS_SET_SESSIONID 4
-#define PROCESS_VM_OPERATION 8
-#define PROCESS_VM_READ 16
-#define PROCESS_VM_WRITE 32
-#define PROCESS_DUP_HANDLE 64
-#define PROCESS_CREATE_PROCESS 128
-#define PROCESS_SET_QUOTA 256
-#define PROCESS_SET_INFORMATION 512
-#define PROCESS_QUERY_INFORMATION 1024
-#define PROCESS_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED|SYNCHRONIZE|0xFFF)
-#define THREAD_TERMINATE 1
-#define THREAD_SUSPEND_RESUME 2
-#define THREAD_GET_CONTEXT 8
-#define THREAD_SET_CONTEXT 16
-#define THREAD_SET_INFORMATION 32
-#define THREAD_QUERY_INFORMATION 64
-#define THREAD_SET_THREAD_TOKEN 128
-#define THREAD_IMPERSONATE 256
-#define THREAD_DIRECT_IMPERSONATION 0x200
-#define THREAD_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED|SYNCHRONIZE|0x3FF)
-#define THREAD_BASE_PRIORITY_LOWRT 15
-#define THREAD_BASE_PRIORITY_MAX 2
-#define THREAD_BASE_PRIORITY_MIN (-2)
-#define THREAD_BASE_PRIORITY_IDLE (-15)
-#define EXCEPTION_NONCONTINUABLE 1
-#define EXCEPTION_MAXIMUM_PARAMETERS 15
-#define MUTANT_QUERY_STATE 0x0001
-#define MUTANT_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED|SYNCHRONIZE|MUTANT_QUERY_STATE)
-#define TIMER_QUERY_STATE 0x0001
-#define TIMER_MODIFY_STATE 0x0002
-#define TIMER_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED|SYNCHRONIZE|TIMER_QUERY_STATE|TIMER_MODIFY_STATE)
-/*
- * To prevent gcc compiler warnings, bracket these defines when initialising
- * a SID_IDENTIFIER_AUTHORITY, eg.
- * SID_IDENTIFIER_AUTHORITY aNullSidAuthority = {SECURITY_NULL_SID_AUTHORITY};
- */
-#define SECURITY_NULL_SID_AUTHORITY {0,0,0,0,0,0}
-#define SECURITY_WORLD_SID_AUTHORITY {0,0,0,0,0,1}
-#define SECURITY_LOCAL_SID_AUTHORITY {0,0,0,0,0,2}
-#define SECURITY_CREATOR_SID_AUTHORITY {0,0,0,0,0,3}
-#define SECURITY_NON_UNIQUE_AUTHORITY {0,0,0,0,0,4}
-#define SECURITY_NT_AUTHORITY {0,0,0,0,0,5}
-#define SECURITY_NULL_RID 0
-#define SECURITY_WORLD_RID (0x00000000L)
-#define SECURITY_LOCAL_RID 0
-#define SECURITY_CREATOR_OWNER_RID 0
-#define SECURITY_CREATOR_GROUP_RID 1
-#define SECURITY_DIALUP_RID 1
-#define SECURITY_NETWORK_RID 2
-#define SECURITY_BATCH_RID 3
-#define SECURITY_INTERACTIVE_RID 4
-#define SECURITY_LOGON_IDS_RID 5
-#define SECURITY_SERVICE_RID 6
-#define SECURITY_LOCAL_SYSTEM_RID 18
-#define SECURITY_BUILTIN_DOMAIN_RID 32
-#define SECURITY_PRINCIPAL_SELF_RID 10
-#define SECURITY_CREATOR_OWNER_SERVER_RID 0x2
-#define SECURITY_CREATOR_GROUP_SERVER_RID 0x3
-#define SECURITY_LOGON_IDS_RID_COUNT 0x3
-#define SECURITY_ANONYMOUS_LOGON_RID 0x7
-#define SECURITY_PROXY_RID 0x8
-#define SECURITY_ENTERPRISE_CONTROLLERS_RID 0x9
-#define SECURITY_SERVER_LOGON_RID SECURITY_ENTERPRISE_CONTROLLERS_RID
-#define SECURITY_AUTHENTICATED_USER_RID 0xB
-#define SECURITY_RESTRICTED_CODE_RID 0xC
-#define SECURITY_NT_NON_UNIQUE_RID 0x15
-#define SID_REVISION 1
-#define DOMAIN_USER_RID_ADMIN 0x1F4L
-#define DOMAIN_USER_RID_GUEST 0x1F5L
-#define DOMAIN_GROUP_RID_ADMINS 0x200L
-#define DOMAIN_GROUP_RID_USERS 0x201L
-#define DOMAIN_ALIAS_RID_ADMINS 0x220L
-#define DOMAIN_ALIAS_RID_USERS 0x221L
-#define DOMAIN_ALIAS_RID_GUESTS 0x222L
-#define DOMAIN_ALIAS_RID_POWER_USERS 0x223L
-#define DOMAIN_ALIAS_RID_ACCOUNT_OPS 0x224L
-#define DOMAIN_ALIAS_RID_SYSTEM_OPS 0x225L
-#define DOMAIN_ALIAS_RID_PRINT_OPS 0x226L
-#define DOMAIN_ALIAS_RID_BACKUP_OPS 0x227L
-#define DOMAIN_ALIAS_RID_REPLICATOR 0x228L
-#define SE_CREATE_TOKEN_NAME TEXT("SeCreateTokenPrivilege")
-#define SE_ASSIGNPRIMARYTOKEN_NAME TEXT("SeAssignPrimaryTokenPrivilege")
-#define SE_LOCK_MEMORY_NAME TEXT("SeLockMemoryPrivilege")
-#define SE_INCREASE_QUOTA_NAME TEXT("SeIncreaseQuotaPrivilege")
-#define SE_UNSOLICITED_INPUT_NAME TEXT("SeUnsolicitedInputPrivilege")
-#define SE_MACHINE_ACCOUNT_NAME TEXT("SeMachineAccountPrivilege")
-#define SE_TCB_NAME TEXT("SeTcbPrivilege")
-#define SE_SECURITY_NAME TEXT("SeSecurityPrivilege")
-#define SE_TAKE_OWNERSHIP_NAME TEXT("SeTakeOwnershipPrivilege")
-#define SE_LOAD_DRIVER_NAME TEXT("SeLoadDriverPrivilege")
-#define SE_SYSTEM_PROFILE_NAME TEXT("SeSystemProfilePrivilege")
-#define SE_SYSTEMTIME_NAME TEXT("SeSystemtimePrivilege")
-#define SE_PROF_SINGLE_PROCESS_NAME TEXT("SeProfileSingleProcessPrivilege")
-#define SE_INC_BASE_PRIORITY_NAME TEXT("SeIncreaseBasePriorityPrivilege")
-#define SE_CREATE_PAGEFILE_NAME TEXT("SeCreatePagefilePrivilege")
-#define SE_CREATE_PERMANENT_NAME TEXT("SeCreatePermanentPrivilege")
-#define SE_BACKUP_NAME TEXT("SeBackupPrivilege")
-#define SE_RESTORE_NAME TEXT("SeRestorePrivilege")
-#define SE_SHUTDOWN_NAME TEXT("SeShutdownPrivilege")
-#define SE_DEBUG_NAME TEXT("SeDebugPrivilege")
-#define SE_AUDIT_NAME TEXT("SeAuditPrivilege")
-#define SE_SYSTEM_ENVIRONMENT_NAME TEXT("SeSystemEnvironmentPrivilege")
-#define SE_CHANGE_NOTIFY_NAME TEXT("SeChangeNotifyPrivilege")
-#define SE_REMOTE_SHUTDOWN_NAME TEXT("SeRemoteShutdownPrivilege")
-#define SE_CREATE_GLOBAL_NAME TEXT("SeCreateGlobalPrivilege")
-#define SE_UNDOCK_NAME TEXT("SeUndockPrivilege")
-#define SE_MANAGE_VOLUME_NAME TEXT("SeManageVolumePrivilege")
-#define SE_IMPERSONATE_NAME TEXT("SeImpersonatePrivilege")
-#define SE_ENABLE_DELEGATION_NAME TEXT("SeEnableDelegationPrivilege")
-#define SE_SYNC_AGENT_NAME TEXT("SeSyncAgentPrivilege")
-#define SE_GROUP_MANDATORY 1
-#define SE_GROUP_ENABLED_BY_DEFAULT 2
-#define SE_GROUP_ENABLED 4
-#define SE_GROUP_OWNER 8
-#define SE_GROUP_USE_FOR_DENY_ONLY 16
-#define SE_GROUP_LOGON_ID 3221225472U
-#define SE_GROUP_RESOURCE 536870912
-#define LANG_NEUTRAL 0x00
-#define LANG_ARABIC 0x01
-#define LANG_BULGARIAN 0x02
-#define LANG_CATALAN 0x03
-#define LANG_CHINESE 0x04
-#define LANG_CZECH 0x05
-#define LANG_DANISH 0x06
-#define LANG_GERMAN 0x07
-#define LANG_GREEK 0x08
-#define LANG_ENGLISH 0x09
-#define LANG_SPANISH 0x0a
-#define LANG_FINNISH 0x0b
-#define LANG_FRENCH 0x0c
-#define LANG_HEBREW 0x0d
-#define LANG_HUNGARIAN 0x0e
-#define LANG_ICELANDIC 0x0f
-#define LANG_ITALIAN 0x10
-#define LANG_JAPANESE 0x11
-#define LANG_KOREAN 0x12
-#define LANG_DUTCH 0x13
-#define LANG_NORWEGIAN 0x14
-#define LANG_POLISH 0x15
-#define LANG_PORTUGUESE 0x16
-#define LANG_ROMANIAN 0x18
-#define LANG_RUSSIAN 0x19
-#define LANG_CROATIAN 0x1a
-#define LANG_SERBIAN 0x1a
-#define LANG_SLOVAK 0x1b
-#define LANG_ALBANIAN 0x1c
-#define LANG_SWEDISH 0x1d
-#define LANG_THAI 0x1e
-#define LANG_TURKISH 0x1f
-#define LANG_URDU 0x20
-#define LANG_INDONESIAN 0x21
-#define LANG_UKRAINIAN 0x22
-#define LANG_BELARUSIAN 0x23
-#define LANG_SLOVENIAN 0x24
-#define LANG_ESTONIAN 0x25
-#define LANG_LATVIAN 0x26
-#define LANG_LITHUANIAN 0x27
-#define LANG_FARSI 0x29
-#define LANG_VIETNAMESE 0x2a
-#define LANG_ARMENIAN 0x2b
-#define LANG_AZERI 0x2c
-#define LANG_BASQUE 0x2d
-#define LANG_MACEDONIAN 0x2f
-#define LANG_AFRIKAANS 0x36
-#define LANG_GEORGIAN 0x37
-#define LANG_FAEROESE 0x38
-#define LANG_HINDI 0x39
-#define LANG_MALAY 0x3e
-#define LANG_KAZAK 0x3f
-#define LANG_KYRGYZ 0x40
-#define LANG_SWAHILI 0x41
-#define LANG_UZBEK 0x43
-#define LANG_TATAR 0x44
-#define LANG_BENGALI 0x45
-#define LANG_PUNJABI 0x46
-#define LANG_GUJARATI 0x47
-#define LANG_ORIYA 0x48
-#define LANG_TAMIL 0x49
-#define LANG_TELUGU 0x4a
-#define LANG_KANNADA 0x4b
-#define LANG_MALAYALAM 0x4c
-#define LANG_ASSAMESE 0x4d
-#define LANG_MARATHI 0x4e
-#define LANG_SANSKRIT 0x4f
-#define LANG_MONGOLIAN 0x50
-#define LANG_GALICIAN 0x56
-#define LANG_KONKANI 0x57
-#define LANG_MANIPURI 0x58
-#define LANG_SINDHI 0x59
-#define LANG_SYRIAC 0x5a
-#define LANG_KASHMIRI 0x60
-#define LANG_NEPALI 0x61
-#define LANG_DIVEHI 0x65
-#define LANG_INVARIANT 0x7f
-#define SUBLANG_NEUTRAL 0x00
-#define SUBLANG_DEFAULT 0x01
-#define SUBLANG_SYS_DEFAULT 0x02
-#define SUBLANG_ARABIC_SAUDI_ARABIA 0x01
-#define SUBLANG_ARABIC_IRAQ 0x02
-#define SUBLANG_ARABIC_EGYPT 0x03
-#define SUBLANG_ARABIC_LIBYA 0x04
-#define SUBLANG_ARABIC_ALGERIA 0x05
-#define SUBLANG_ARABIC_MOROCCO 0x06
-#define SUBLANG_ARABIC_TUNISIA 0x07
-#define SUBLANG_ARABIC_OMAN 0x08
-#define SUBLANG_ARABIC_YEMEN 0x09
-#define SUBLANG_ARABIC_SYRIA 0x0a
-#define SUBLANG_ARABIC_JORDAN 0x0b
-#define SUBLANG_ARABIC_LEBANON 0x0c
-#define SUBLANG_ARABIC_KUWAIT 0x0d
-#define SUBLANG_ARABIC_UAE 0x0e
-#define SUBLANG_ARABIC_BAHRAIN 0x0f
-#define SUBLANG_ARABIC_QATAR 0x10
-#define SUBLANG_AZERI_LATIN 0x01
-#define SUBLANG_AZERI_CYRILLIC 0x02
-#define SUBLANG_CHINESE_TRADITIONAL 0x01
-#define SUBLANG_CHINESE_SIMPLIFIED 0x02
-#define SUBLANG_CHINESE_HONGKONG 0x03
-#define SUBLANG_CHINESE_SINGAPORE 0x04
-#define SUBLANG_CHINESE_MACAU 0x05
-#define SUBLANG_DUTCH 0x01
-#define SUBLANG_DUTCH_BELGIAN 0x02
-#define SUBLANG_ENGLISH_US 0x01
-#define SUBLANG_ENGLISH_UK 0x02
-#define SUBLANG_ENGLISH_AUS 0x03
-#define SUBLANG_ENGLISH_CAN 0x04
-#define SUBLANG_ENGLISH_NZ 0x05
-#define SUBLANG_ENGLISH_EIRE 0x06
-#define SUBLANG_ENGLISH_SOUTH_AFRICA 0x07
-#define SUBLANG_ENGLISH_JAMAICA 0x08
-#define SUBLANG_ENGLISH_CARIBBEAN 0x09
-#define SUBLANG_ENGLISH_BELIZE 0x0a
-#define SUBLANG_ENGLISH_TRINIDAD 0x0b
-#define SUBLANG_ENGLISH_ZIMBABWE 0x0c
-#define SUBLANG_ENGLISH_PHILIPPINES 0x0d
-#define SUBLANG_FRENCH 0x01
-#define SUBLANG_FRENCH_BELGIAN 0x02
-#define SUBLANG_FRENCH_CANADIAN 0x03
-#define SUBLANG_FRENCH_SWISS 0x04
-#define SUBLANG_FRENCH_LUXEMBOURG 0x05
-#define SUBLANG_FRENCH_MONACO 0x06
-#define SUBLANG_GERMAN 0x01
-#define SUBLANG_GERMAN_SWISS 0x02
-#define SUBLANG_GERMAN_AUSTRIAN 0x03
-#define SUBLANG_GERMAN_LUXEMBOURG 0x04
-#define SUBLANG_GERMAN_LIECHTENSTEIN 0x05
-#define SUBLANG_ITALIAN 0x01
-#define SUBLANG_ITALIAN_SWISS 0x02
-#define SUBLANG_KASHMIRI_INDIA 0x02
-#define SUBLANG_KASHMIRI_SASIA 0x02
-#define SUBLANG_KOREAN 0x01
-#define SUBLANG_LITHUANIAN 0x01
-#define SUBLANG_MALAY_MALAYSIA 0x01
-#define SUBLANG_MALAY_BRUNEI_DARUSSALAM 0x02
-#define SUBLANG_NEPALI_INDIA 0x02
-#define SUBLANG_NORWEGIAN_BOKMAL 0x01
-#define SUBLANG_NORWEGIAN_NYNORSK 0x02
-#define SUBLANG_PORTUGUESE_BRAZILIAN 0x01
-#define SUBLANG_PORTUGUESE 0x02
-#define SUBLANG_SERBIAN_LATIN 0x02
-#define SUBLANG_SERBIAN_CYRILLIC 0x03
-#define SUBLANG_SPANISH 0x01
-#define SUBLANG_SPANISH_MEXICAN 0x02
-#define SUBLANG_SPANISH_MODERN 0x03
-#define SUBLANG_SPANISH_GUATEMALA 0x04
-#define SUBLANG_SPANISH_COSTA_RICA 0x05
-#define SUBLANG_SPANISH_PANAMA 0x06
-#define SUBLANG_SPANISH_DOMINICAN_REPUBLIC 0x07
-#define SUBLANG_SPANISH_VENEZUELA 0x08
-#define SUBLANG_SPANISH_COLOMBIA 0x09
-#define SUBLANG_SPANISH_PERU 0x0a
-#define SUBLANG_SPANISH_ARGENTINA 0x0b
-#define SUBLANG_SPANISH_ECUADOR 0x0c
-#define SUBLANG_SPANISH_CHILE 0x0d
-#define SUBLANG_SPANISH_URUGUAY 0x0e
-#define SUBLANG_SPANISH_PARAGUAY 0x0f
-#define SUBLANG_SPANISH_BOLIVIA 0x10
-#define SUBLANG_SPANISH_EL_SALVADOR 0x11
-#define SUBLANG_SPANISH_HONDURAS 0x12
-#define SUBLANG_SPANISH_NICARAGUA 0x13
-#define SUBLANG_SPANISH_PUERTO_RICO 0x14
-#define SUBLANG_SWEDISH 0x01
-#define SUBLANG_SWEDISH_FINLAND 0x02
-#define SUBLANG_URDU_PAKISTAN 0x01
-#define SUBLANG_URDU_INDIA 0x02
-#define SUBLANG_UZBEK_LATIN 0x01
-#define SUBLANG_UZBEK_CYRILLIC 0x02
-#define NLS_VALID_LOCALE_MASK 1048575
-#define SORT_DEFAULT 0
-#define SORT_JAPANESE_XJIS 0
-#define SORT_JAPANESE_UNICODE 1
-#define SORT_CHINESE_BIG5 0
-#define SORT_CHINESE_PRCP 0
-#define SORT_CHINESE_UNICODE 1
-#define SORT_CHINESE_PRC 2
-#define SORT_CHINESE_BOPOMOFO 3
-#define SORT_KOREAN_KSC 0
-#define SORT_KOREAN_UNICODE 1
-#define SORT_GERMAN_PHONE_BOOK 1
-#define SORT_HUNGARIAN_DEFAULT 0
-#define SORT_HUNGARIAN_TECHNICAL 1
-#define SORT_GEORGIAN_TRADITIONAL 0
-#define SORT_GEORGIAN_MODERN 1
-#define MAKELANGID(p,s) ((((WORD)(s))<<10)|(WORD)(p))
-#define MAKELCID(l,s) ((DWORD)((((DWORD)((WORD)(s)))<<16)|((DWORD)((WORD)(l)))))
-#define PRIMARYLANGID(l) ((WORD)(l)&0x3ff)
-#define SORTIDFROMLCID(l) ((WORD)((((DWORD)(l))&NLS_VALID_LOCALE_MASK)>>16))
-#define SORTVERSIONFROMLCID(l) ((WORD)((((DWORD)(l))>>20)&0xf))
-#define SUBLANGID(l) ((WORD)(l)>>10)
-#define LANGIDFROMLCID(l) ((WORD)(l))
-#define LANG_SYSTEM_DEFAULT MAKELANGID(LANG_NEUTRAL,SUBLANG_SYS_DEFAULT)
-#define LANG_USER_DEFAULT MAKELANGID(LANG_NEUTRAL,SUBLANG_DEFAULT)
-#define LOCALE_NEUTRAL MAKELCID(MAKELANGID(LANG_NEUTRAL,SUBLANG_NEUTRAL),SORT_DEFAULT)
-#define ACL_REVISION 2
-#define ACL_REVISION_DS 4
-#define ACL_REVISION1 1
-#define ACL_REVISION2 2
-#define ACL_REVISION3 3
-#define ACL_REVISION4 4
-#define MIN_ACL_REVISION 2
-#define MAX_ACL_REVISION 4
-#define MINCHAR 0x80
-#define MAXCHAR 0x7f
-#define MINSHORT 0x8000
-#define MAXSHORT 0x7fff
-#define MINLONG 0x80000000
-#define MAXLONG 0x7fffffff
-#define MAXBYTE 0xff
-#define MAXWORD 0xffff
-#define MAXDWORD 0xffffffff
-#define PROCESSOR_INTEL_386 386
-#define PROCESSOR_INTEL_486 486
-#define PROCESSOR_INTEL_PENTIUM 586
-#define PROCESSOR_MIPS_R4000 4000
-#define PROCESSOR_ALPHA_21064 21064
-#define PROCESSOR_INTEL_IA64 2200
-
-#define PROCESSOR_ARCHITECTURE_INTEL 0
-#define PROCESSOR_ARCHITECTURE_MIPS 1
-#define PROCESSOR_ARCHITECTURE_ALPHA 2
-#define PROCESSOR_ARCHITECTURE_PPC 3
-#define PROCESSOR_ARCHITECTURE_SHX 4
-#define PROCESSOR_ARCHITECTURE_ARM 5
-#define PROCESSOR_ARCHITECTURE_IA64 6
-#define PROCESSOR_ARCHITECTURE_ALPHA64 7
-#define PROCESSOR_ARCHITECTURE_MSIL 8
-#define PROCESSOR_ARCHITECTURE_AMD64 9
-#define PROCESSOR_ARCHITECTURE_IA32_ON_WIN64 10
-#define PROCESSOR_ARCHITECTURE_UNKNOWN 0xFFFF
-#define PF_FLOATING_POINT_PRECISION_ERRATA 0
-#define PF_FLOATING_POINT_EMULATED 1
-#define PF_COMPARE_EXCHANGE_DOUBLE 2
-#define PF_MMX_INSTRUCTIONS_AVAILABLE 3
-#define PF_PPC_MOVEMEM_64BIT_OK 4
-#define PF_ALPHA_BYTE_INSTRUCTIONS 5
-#define PF_XMMI_INSTRUCTIONS_AVAILABLE 6
-#define PF_3DNOW_INSTRUCTIONS_AVAILABLE 7
-#define PF_RDTSC_INSTRUCTION_AVAILABLE 8
-#define PF_PAE_ENABLED 9
-#define PF_XMMI64_INSTRUCTIONS_AVAILABLE 10
-/* also in ddk/ntifs.h */
-#define FILE_ACTION_ADDED 0x00000001
-#define FILE_ACTION_REMOVED 0x00000002
-#define FILE_ACTION_MODIFIED 0x00000003
-#define FILE_ACTION_RENAMED_OLD_NAME 0x00000004
-#define FILE_ACTION_RENAMED_NEW_NAME 0x00000005
-#define FILE_ACTION_ADDED_STREAM 0x00000006
-#define FILE_ACTION_REMOVED_STREAM 0x00000007
-#define FILE_ACTION_MODIFIED_STREAM 0x00000008
-#define FILE_ACTION_REMOVED_BY_DELETE 0x00000009
-#define FILE_ACTION_ID_NOT_TUNNELLED 0x0000000A
-#define FILE_ACTION_TUNNELLED_ID_COLLISION 0x0000000B
-/* end ntifs.h */
-#define HEAP_NO_SERIALIZE 1
-#define HEAP_GROWABLE 2
-#define HEAP_GENERATE_EXCEPTIONS 4
-#define HEAP_ZERO_MEMORY 8
-#define HEAP_REALLOC_IN_PLACE_ONLY 16
-#define HEAP_TAIL_CHECKING_ENABLED 32
-#define HEAP_FREE_CHECKING_ENABLED 64
-#define HEAP_DISABLE_COALESCE_ON_FREE 128
-#define HEAP_CREATE_ALIGN_16 0x0000
-#define HEAP_CREATE_ENABLE_TRACING 0x20000
-#define HEAP_MAXIMUM_TAG 0xFFF
-#define HEAP_PSEUDO_TAG_FLAG 0x8000
-#define HEAP_TAG_SHIFT 16
-#define HEAP_MAKE_TAG_FLAGS(b,o) ((DWORD)((b)+(o)<<16)))
-#define KEY_QUERY_VALUE 1
-#define KEY_SET_VALUE 2
-#define KEY_CREATE_SUB_KEY 4
-#define KEY_ENUMERATE_SUB_KEYS 8
-#define KEY_NOTIFY 16
-#define KEY_CREATE_LINK 32
-#define KEY_WRITE 0x20006
-#define KEY_EXECUTE 0x20019
-#define KEY_READ 0x20019
-#define KEY_ALL_ACCESS 0xf003f
-#define REG_WHOLE_HIVE_VOLATILE 1
-#define REG_REFRESH_HIVE 2
-#define REG_NO_LAZY_FLUSH 4
-#define REG_OPTION_RESERVED 0
-#define REG_OPTION_NON_VOLATILE 0
-#define REG_OPTION_VOLATILE 1
-#define REG_OPTION_CREATE_LINK 2
-#define REG_OPTION_BACKUP_RESTORE 4
-#define REG_OPTION_OPEN_LINK 8
-#define REG_LEGAL_OPTION 15
-#define OWNER_SECURITY_INFORMATION 1
-#define GROUP_SECURITY_INFORMATION 2
-#define DACL_SECURITY_INFORMATION 4
-#define SACL_SECURITY_INFORMATION 8
-#define MAXIMUM_PROCESSORS 32
-#define PAGE_NOACCESS 0x0001
-#define PAGE_READONLY 0x0002
-#define PAGE_READWRITE 0x0004
-#define PAGE_WRITECOPY 0x0008
-#define PAGE_EXECUTE 0x0010
-#define PAGE_EXECUTE_READ 0x0020
-#define PAGE_EXECUTE_READWRITE 0x0040
-#define PAGE_EXECUTE_WRITECOPY 0x0080
-#define PAGE_GUARD 0x0100
-#define PAGE_NOCACHE 0x0200
-#define MEM_COMMIT 0x1000
-#define MEM_RESERVE 0x2000
-#define MEM_DECOMMIT 0x4000
-#define MEM_RELEASE 0x8000
-#define MEM_FREE 0x10000
-#define MEM_PRIVATE 0x20000
-#define MEM_MAPPED 0x40000
-#define MEM_RESET 0x80000
-#define MEM_TOP_DOWN 0x100000
-#define MEM_WRITE_WATCH 0x200000 /* 98/Me */
-#define MEM_PHYSICAL 0x400000
-#define MEM_4MB_PAGES 0x80000000
-/* also in ddk/ntifs.h */
-#define MEM_IMAGE SEC_IMAGE
-#define SEC_BASED 0x00200000
-#define SEC_NO_CHANGE 0x00400000
-#define SEC_FILE 0x00800000
-#define SEC_IMAGE 0x01000000
-#define SEC_VLM 0x02000000
-#define SEC_RESERVE 0x04000000
-#define SEC_COMMIT 0x08000000
-#define SEC_NOCACHE 0x10000000
-/* end ntifs.h */
-#define SECTION_EXTEND_SIZE 16
-#define SECTION_MAP_READ 4
-#define SECTION_MAP_WRITE 2
-#define SECTION_QUERY 1
-#define SECTION_MAP_EXECUTE 8
-#define SECTION_ALL_ACCESS 0xf001f
-#define MESSAGE_RESOURCE_UNICODE 1
-#define RTL_CRITSECT_TYPE 0
-#define RTL_RESOURCE_TYPE 1
-/* Also in winddk.h */
-#define FIELD_OFFSET(t,f) ((LONG)&(((t*)0)->f))
-#ifndef CONTAINING_RECORD
-#define CONTAINING_RECORD(address, type, field) \
- ((type*)((PCHAR)(address) - (PCHAR)(&((type *)0)->field)))
-#endif
-/* end winddk.h */
-#define IMAGE_SIZEOF_FILE_HEADER 20
-#define IMAGE_FILE_RELOCS_STRIPPED 1
-#define IMAGE_FILE_EXECUTABLE_IMAGE 2
-#define IMAGE_FILE_LINE_NUMS_STRIPPED 4
-#define IMAGE_FILE_LOCAL_SYMS_STRIPPED 8
-#define IMAGE_FILE_AGGRESIVE_WS_TRIM 16
-#define IMAGE_FILE_LARGE_ADDRESS_AWARE 32
-#define IMAGE_FILE_BYTES_REVERSED_LO 128
-#define IMAGE_FILE_32BIT_MACHINE 256
-#define IMAGE_FILE_DEBUG_STRIPPED 512
-#define IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP 1024
-#define IMAGE_FILE_NET_RUN_FROM_SWAP 2048
-#define IMAGE_FILE_SYSTEM 4096
-#define IMAGE_FILE_DLL 8192
-#define IMAGE_FILE_UP_SYSTEM_ONLY 16384
-#define IMAGE_FILE_BYTES_REVERSED_HI 32768
-#define IMAGE_FILE_MACHINE_UNKNOWN 0
-#define IMAGE_FILE_MACHINE_I386 332
-#define IMAGE_FILE_MACHINE_R3000 354
-#define IMAGE_FILE_MACHINE_R4000 358
-#define IMAGE_FILE_MACHINE_R10000 360
-#define IMAGE_FILE_MACHINE_ALPHA 388
-#define IMAGE_FILE_MACHINE_POWERPC 496
-#define IMAGE_DOS_SIGNATURE 0x5A4D
-#define IMAGE_OS2_SIGNATURE 0x454E
-#define IMAGE_OS2_SIGNATURE_LE 0x454C
-#define IMAGE_VXD_SIGNATURE 0x454C
-#define IMAGE_NT_SIGNATURE 0x00004550
-#define IMAGE_NT_OPTIONAL_HDR_MAGIC 0x10b
-#define IMAGE_ROM_OPTIONAL_HDR_MAGIC 0x107
-#define IMAGE_SEPARATE_DEBUG_SIGNATURE 0x4944
-#define IMAGE_NUMBEROF_DIRECTORY_ENTRIES 16
-#define IMAGE_SIZEOF_ROM_OPTIONAL_HEADER 56
-#define IMAGE_SIZEOF_STD_OPTIONAL_HEADER 28
-#define IMAGE_SIZEOF_NT_OPTIONAL_HEADER 224
-#define IMAGE_SIZEOF_SHORT_NAME 8
-#define IMAGE_SIZEOF_SECTION_HEADER 40
-#define IMAGE_SIZEOF_SYMBOL 18
-#define IMAGE_SIZEOF_AUX_SYMBOL 18
-#define IMAGE_SIZEOF_RELOCATION 10
-#define IMAGE_SIZEOF_BASE_RELOCATION 8
-#define IMAGE_SIZEOF_LINENUMBER 6
-#define IMAGE_SIZEOF_ARCHIVE_MEMBER_HDR 60
-#define SIZEOF_RFPO_DATA 16
-#define IMAGE_SUBSYSTEM_UNKNOWN 0
-#define IMAGE_SUBSYSTEM_NATIVE 1
-#define IMAGE_SUBSYSTEM_WINDOWS_GUI 2
-#define IMAGE_SUBSYSTEM_WINDOWS_CUI 3
-#define IMAGE_SUBSYSTEM_OS2_CUI 5
-#define IMAGE_SUBSYSTEM_POSIX_CUI 7
-#define IMAGE_SUBSYSTEM_XBOX 14
-#define IMAGE_FIRST_SECTION(h) ((PIMAGE_SECTION_HEADER) ((DWORD)h+FIELD_OFFSET(IMAGE_NT_HEADERS,OptionalHeader)+((PIMAGE_NT_HEADERS)(h))->FileHeader.SizeOfOptionalHeader))
-#define IMAGE_DIRECTORY_ENTRY_EXPORT 0
-#define IMAGE_DIRECTORY_ENTRY_IMPORT 1
-#define IMAGE_DIRECTORY_ENTRY_RESOURCE 2
-#define IMAGE_DIRECTORY_ENTRY_EXCEPTION 3
-#define IMAGE_DIRECTORY_ENTRY_SECURITY 4
-#define IMAGE_DIRECTORY_ENTRY_BASERELOC 5
-#define IMAGE_DIRECTORY_ENTRY_DEBUG 6
-#define IMAGE_DIRECTORY_ENTRY_COPYRIGHT 7
-#define IMAGE_DIRECTORY_ENTRY_GLOBALPTR 8
-#define IMAGE_DIRECTORY_ENTRY_TLS 9
-#define IMAGE_DIRECTORY_ENTRY_LOAD_CONFIG 10
-#define IMAGE_DIRECTORY_ENTRY_BOUND_IMPORT 11
-#define IMAGE_DIRECTORY_ENTRY_IAT 12
-#define IMAGE_SCN_TYPE_NO_PAD 8
-#define IMAGE_SCN_CNT_CODE 32
-#define IMAGE_SCN_CNT_INITIALIZED_DATA 64
-#define IMAGE_SCN_CNT_UNINITIALIZED_DATA 128
-#define IMAGE_SCN_LNK_OTHER 256
-#define IMAGE_SCN_LNK_INFO 512
-#define IMAGE_SCN_LNK_REMOVE 2048
-#define IMAGE_SCN_LNK_COMDAT 4096
-#define IMAGE_SCN_MEM_FARDATA 0x8000
-#define IMAGE_SCN_MEM_PURGEABLE 0x20000
-#define IMAGE_SCN_MEM_16BIT 0x20000
-#define IMAGE_SCN_MEM_LOCKED 0x40000
-#define IMAGE_SCN_MEM_PRELOAD 0x80000
-#define IMAGE_SCN_ALIGN_1BYTES 0x100000
-#define IMAGE_SCN_ALIGN_2BYTES 0x200000
-#define IMAGE_SCN_ALIGN_4BYTES 0x300000
-#define IMAGE_SCN_ALIGN_8BYTES 0x400000
-#define IMAGE_SCN_ALIGN_16BYTES 0x500000
-#define IMAGE_SCN_ALIGN_32BYTES 0x600000
-#define IMAGE_SCN_ALIGN_64BYTES 0x700000
-#define IMAGE_SCN_LNK_NRELOC_OVFL 0x1000000
-#define IMAGE_SCN_MEM_DISCARDABLE 0x2000000
-#define IMAGE_SCN_MEM_NOT_CACHED 0x4000000
-#define IMAGE_SCN_MEM_NOT_PAGED 0x8000000
-#define IMAGE_SCN_MEM_SHARED 0x10000000
-#define IMAGE_SCN_MEM_EXECUTE 0x20000000
-#define IMAGE_SCN_MEM_READ 0x40000000
-#define IMAGE_SCN_MEM_WRITE 0x80000000
-#define IMAGE_SYM_UNDEFINED 0
-#define IMAGE_SYM_ABSOLUTE (-1)
-#define IMAGE_SYM_DEBUG (-2)
-#define IMAGE_SYM_TYPE_NULL 0
-#define IMAGE_SYM_TYPE_VOID 1
-#define IMAGE_SYM_TYPE_CHAR 2
-#define IMAGE_SYM_TYPE_SHORT 3
-#define IMAGE_SYM_TYPE_INT 4
-#define IMAGE_SYM_TYPE_LONG 5
-#define IMAGE_SYM_TYPE_FLOAT 6
-#define IMAGE_SYM_TYPE_DOUBLE 7
-#define IMAGE_SYM_TYPE_STRUCT 8
-#define IMAGE_SYM_TYPE_UNION 9
-#define IMAGE_SYM_TYPE_ENUM 10
-#define IMAGE_SYM_TYPE_MOE 11
-#define IMAGE_SYM_TYPE_BYTE 12
-#define IMAGE_SYM_TYPE_WORD 13
-#define IMAGE_SYM_TYPE_UINT 14
-#define IMAGE_SYM_TYPE_DWORD 15
-#define IMAGE_SYM_TYPE_PCODE 32768
-#define IMAGE_SYM_DTYPE_NULL 0
-#define IMAGE_SYM_DTYPE_POINTER 1
-#define IMAGE_SYM_DTYPE_FUNCTION 2
-#define IMAGE_SYM_DTYPE_ARRAY 3
-#define IMAGE_SYM_CLASS_END_OF_FUNCTION (-1)
-#define IMAGE_SYM_CLASS_NULL 0
-#define IMAGE_SYM_CLASS_AUTOMATIC 1
-#define IMAGE_SYM_CLASS_EXTERNAL 2
-#define IMAGE_SYM_CLASS_STATIC 3
-#define IMAGE_SYM_CLASS_REGISTER 4
-#define IMAGE_SYM_CLASS_EXTERNAL_DEF 5
-#define IMAGE_SYM_CLASS_LABEL 6
-#define IMAGE_SYM_CLASS_UNDEFINED_LABEL 7
-#define IMAGE_SYM_CLASS_MEMBER_OF_STRUCT 8
-#define IMAGE_SYM_CLASS_ARGUMENT 9
-#define IMAGE_SYM_CLASS_STRUCT_TAG 10
-#define IMAGE_SYM_CLASS_MEMBER_OF_UNION 11
-#define IMAGE_SYM_CLASS_UNION_TAG 12
-#define IMAGE_SYM_CLASS_TYPE_DEFINITION 13
-#define IMAGE_SYM_CLASS_UNDEFINED_STATIC 14
-#define IMAGE_SYM_CLASS_ENUM_TAG 15
-#define IMAGE_SYM_CLASS_MEMBER_OF_ENUM 16
-#define IMAGE_SYM_CLASS_REGISTER_PARAM 17
-#define IMAGE_SYM_CLASS_BIT_FIELD 18
-#define IMAGE_SYM_CLASS_FAR_EXTERNAL 68
-#define IMAGE_SYM_CLASS_BLOCK 100
-#define IMAGE_SYM_CLASS_FUNCTION 101
-#define IMAGE_SYM_CLASS_END_OF_STRUCT 102
-#define IMAGE_SYM_CLASS_FILE 103
-#define IMAGE_SYM_CLASS_SECTION 104
-#define IMAGE_SYM_CLASS_WEAK_EXTERNAL 105
-#define IMAGE_COMDAT_SELECT_NODUPLICATES 1
-#define IMAGE_COMDAT_SELECT_ANY 2
-#define IMAGE_COMDAT_SELECT_SAME_SIZE 3
-#define IMAGE_COMDAT_SELECT_EXACT_MATCH 4
-#define IMAGE_COMDAT_SELECT_ASSOCIATIVE 5
-#define IMAGE_COMDAT_SELECT_LARGEST 6
-#define IMAGE_COMDAT_SELECT_NEWEST 7
-#define IMAGE_WEAK_EXTERN_SEARCH_NOLIBRARY 1
-#define IMAGE_WEAK_EXTERN_SEARCH_LIBRARY 2
-#define IMAGE_WEAK_EXTERN_SEARCH_ALIAS 3
-#define IMAGE_REL_I386_ABSOLUTE 0
-#define IMAGE_REL_I386_DIR16 1
-#define IMAGE_REL_I386_REL16 2
-#define IMAGE_REL_I386_DIR32 6
-#define IMAGE_REL_I386_DIR32NB 7
-#define IMAGE_REL_I386_SEG12 9
-#define IMAGE_REL_I386_SECTION 10
-#define IMAGE_REL_I386_SECREL 11
-#define IMAGE_REL_I386_REL32 20
-#define IMAGE_REL_MIPS_ABSOLUTE 0
-#define IMAGE_REL_MIPS_REFHALF 1
-#define IMAGE_REL_MIPS_REFWORD 2
-#define IMAGE_REL_MIPS_JMPADDR 3
-#define IMAGE_REL_MIPS_REFHI 4
-#define IMAGE_REL_MIPS_REFLO 5
-#define IMAGE_REL_MIPS_GPREL 6
-#define IMAGE_REL_MIPS_LITERAL 7
-#define IMAGE_REL_MIPS_SECTION 10
-#define IMAGE_REL_MIPS_SECREL 11
-#define IMAGE_REL_MIPS_SECRELLO 12
-#define IMAGE_REL_MIPS_SECRELHI 13
-#define IMAGE_REL_MIPS_REFWORDNB 34
-#define IMAGE_REL_MIPS_PAIR 35
-#define IMAGE_REL_ALPHA_ABSOLUTE 0
-#define IMAGE_REL_ALPHA_REFLONG 1
-#define IMAGE_REL_ALPHA_REFQUAD 2
-#define IMAGE_REL_ALPHA_GPREL32 3
-#define IMAGE_REL_ALPHA_LITERAL 4
-#define IMAGE_REL_ALPHA_LITUSE 5
-#define IMAGE_REL_ALPHA_GPDISP 6
-#define IMAGE_REL_ALPHA_BRADDR 7
-#define IMAGE_REL_ALPHA_HINT 8
-#define IMAGE_REL_ALPHA_INLINE_REFLONG 9
-#define IMAGE_REL_ALPHA_REFHI 10
-#define IMAGE_REL_ALPHA_REFLO 11
-#define IMAGE_REL_ALPHA_PAIR 12
-#define IMAGE_REL_ALPHA_MATCH 13
-#define IMAGE_REL_ALPHA_SECTION 14
-#define IMAGE_REL_ALPHA_SECREL 15
-#define IMAGE_REL_ALPHA_REFLONGNB 16
-#define IMAGE_REL_ALPHA_SECRELLO 17
-#define IMAGE_REL_ALPHA_SECRELHI 18
-#define IMAGE_REL_PPC_ABSOLUTE 0
-#define IMAGE_REL_PPC_ADDR64 1
-#define IMAGE_REL_PPC_ADDR32 2
-#define IMAGE_REL_PPC_ADDR24 3
-#define IMAGE_REL_PPC_ADDR16 4
-#define IMAGE_REL_PPC_ADDR14 5
-#define IMAGE_REL_PPC_REL24 6
-#define IMAGE_REL_PPC_REL14 7
-#define IMAGE_REL_PPC_TOCREL16 8
-#define IMAGE_REL_PPC_TOCREL14 9
-#define IMAGE_REL_PPC_ADDR32NB 10
-#define IMAGE_REL_PPC_SECREL 11
-#define IMAGE_REL_PPC_SECTION 12
-#define IMAGE_REL_PPC_IFGLUE 13
-#define IMAGE_REL_PPC_IMGLUE 14
-#define IMAGE_REL_PPC_SECREL16 15
-#define IMAGE_REL_PPC_REFHI 16
-#define IMAGE_REL_PPC_REFLO 17
-#define IMAGE_REL_PPC_PAIR 18
-#define IMAGE_REL_PPC_TYPEMASK 255
-#define IMAGE_REL_PPC_NEG 256
-#define IMAGE_REL_PPC_BRTAKEN 512
-#define IMAGE_REL_PPC_BRNTAKEN 1024
-#define IMAGE_REL_PPC_TOCDEFN 2048
-#define IMAGE_REL_BASED_ABSOLUTE 0
-#define IMAGE_REL_BASED_HIGH 1
-#define IMAGE_REL_BASED_LOW 2
-#define IMAGE_REL_BASED_HIGHLOW 3
-#define IMAGE_REL_BASED_HIGHADJ 4
-#define IMAGE_REL_BASED_MIPS_JMPADDR 5
-#define IMAGE_ARCHIVE_START_SIZE 8
-#define IMAGE_ARCHIVE_START "!<arch>\n"
-#define IMAGE_ARCHIVE_END "`\n"
-#define IMAGE_ARCHIVE_PAD "\n"
-#define IMAGE_ARCHIVE_LINKER_MEMBER "/ "
-#define IMAGE_ARCHIVE_LONGNAMES_MEMBER "// "
-#define IMAGE_ORDINAL_FLAG32 0x80000000
-#define IMAGE_SNAP_BY_ORDINAL32(o) ((o&IMAGE_ORDINAL_FLAG32)!=0)
-#define IMAGE_ORDINAL32(o) (o&0xffff)
-#define IMAGE_ORDINAL_FLAG64 0x8000000000000000ULL
-#define IMAGE_SNAP_BY_ORDINAL64(o) ((o&IMAGE_ORDINAL_FLAG64)!=0)
-#define IMAGE_ORDINAL64(o) (o&0xffff)
-#ifdef _WIN64
-#define IMAGE_ORDINAL_FLAG IMAGE_ORDINAL_FLAG64
-#define IMAGE_SNAP_BY_ORDINAL(o) IMAGE_SNAP_BY_ORDINAL64(o)
-#define IMAGE_ORDINAL(o) IMAGE_ORDINAL64(o)
-#else
-#define IMAGE_ORDINAL_FLAG IMAGE_ORDINAL_FLAG32
-#define IMAGE_SNAP_BY_ORDINAL(o) IMAGE_SNAP_BY_ORDINAL32(o)
-#define IMAGE_ORDINAL(o) IMAGE_ORDINAL32(o)
-#endif
-#define IMAGE_RESOURCE_NAME_IS_STRING 0x80000000
-#define IMAGE_RESOURCE_DATA_IS_DIRECTORY 0x80000000
-#define IMAGE_DEBUG_TYPE_UNKNOWN 0
-#define IMAGE_DEBUG_TYPE_COFF 1
-#define IMAGE_DEBUG_TYPE_CODEVIEW 2
-#define IMAGE_DEBUG_TYPE_FPO 3
-#define IMAGE_DEBUG_TYPE_MISC 4
-#define IMAGE_DEBUG_TYPE_EXCEPTION 5
-#define IMAGE_DEBUG_TYPE_FIXUP 6
-#define IMAGE_DEBUG_TYPE_OMAP_TO_SRC 7
-#define IMAGE_DEBUG_TYPE_OMAP_FROM_SRC 8
-#define FRAME_FPO 0
-#define FRAME_TRAP 1
-#define FRAME_TSS 2
-#define FRAME_NONFPO 3
-#define IMAGE_DEBUG_MISC_EXENAME 1
-#define N_BTMASK 0x000F
-#define N_TMASK 0x0030
-#define N_TMASK1 0x00C0
-#define N_TMASK2 0x00F0
-#define N_BTSHFT 4
-#define N_TSHIFT 2
-#define IS_TEXT_UNICODE_ASCII16 1
-#define IS_TEXT_UNICODE_REVERSE_ASCII16 16
-#define IS_TEXT_UNICODE_STATISTICS 2
-#define IS_TEXT_UNICODE_REVERSE_STATISTICS 32
-#define IS_TEXT_UNICODE_CONTROLS 4
-#define IS_TEXT_UNICODE_REVERSE_CONTROLS 64
-#define IS_TEXT_UNICODE_SIGNATURE 8
-#define IS_TEXT_UNICODE_REVERSE_SIGNATURE 128
-#define IS_TEXT_UNICODE_ILLEGAL_CHARS 256
-#define IS_TEXT_UNICODE_ODD_LENGTH 512
-#define IS_TEXT_UNICODE_NULL_BYTES 4096
-#define IS_TEXT_UNICODE_UNICODE_MASK 15
-#define IS_TEXT_UNICODE_REVERSE_MASK 240
-#define IS_TEXT_UNICODE_NOT_UNICODE_MASK 3840
-#define IS_TEXT_UNICODE_NOT_ASCII_MASK 61440
-#define SERVICE_KERNEL_DRIVER 1
-#define SERVICE_FILE_SYSTEM_DRIVER 2
-#define SERVICE_ADAPTER 4
-#define SERVICE_RECOGNIZER_DRIVER 8
-#define SERVICE_DRIVER (SERVICE_KERNEL_DRIVER|SERVICE_FILE_SYSTEM_DRIVER|SERVICE_RECOGNIZER_DRIVER)
-#define SERVICE_WIN32_OWN_PROCESS 16
-#define SERVICE_WIN32_SHARE_PROCESS 32
-#define SERVICE_WIN32 (SERVICE_WIN32_OWN_PROCESS|SERVICE_WIN32_SHARE_PROCESS)
-#define SERVICE_INTERACTIVE_PROCESS 256
-#define SERVICE_TYPE_ALL (SERVICE_WIN32|SERVICE_ADAPTER|SERVICE_DRIVER|SERVICE_INTERACTIVE_PROCESS)
-#define SERVICE_BOOT_START 0
-#define SERVICE_SYSTEM_START 1
-#define SERVICE_AUTO_START 2
-#define SERVICE_DEMAND_START 3
-#define SERVICE_DISABLED 4
-#define SERVICE_ERROR_IGNORE 0
-#define SERVICE_ERROR_NORMAL 1
-#define SERVICE_ERROR_SEVERE 2
-#define SERVICE_ERROR_CRITICAL 3
-#define SE_OWNER_DEFAULTED 1
-#define SE_GROUP_DEFAULTED 2
-#define SE_DACL_PRESENT 4
-#define SE_DACL_DEFAULTED 8
-#define SE_SACL_PRESENT 16
-#define SE_SACL_DEFAULTED 32
-#define SE_DACL_AUTO_INHERIT_REQ 256
-#define SE_SACL_AUTO_INHERIT_REQ 512
-#define SE_DACL_AUTO_INHERITED 1024
-#define SE_SACL_AUTO_INHERITED 2048
-#define SE_DACL_PROTECTED 4096
-#define SE_SACL_PROTECTED 8192
-#define SE_SELF_RELATIVE 0x8000
-#define SECURITY_DESCRIPTOR_MIN_LENGTH 20
-#define SECURITY_DESCRIPTOR_REVISION 1
-#define SECURITY_DESCRIPTOR_REVISION1 1
-#define SE_PRIVILEGE_ENABLED_BY_DEFAULT 1
-#define SE_PRIVILEGE_ENABLED 2
-#define SE_PRIVILEGE_USED_FOR_ACCESS 0x80000000
-#define PRIVILEGE_SET_ALL_NECESSARY 1
-#define SECURITY_MAX_IMPERSONATION_LEVEL SecurityDelegation
-#define DEFAULT_IMPERSONATION_LEVEL SecurityImpersonation
-#define SECURITY_DYNAMIC_TRACKING TRUE
-#define SECURITY_STATIC_TRACKING FALSE
-/* also in ddk/ntifs.h */
-#define TOKEN_ASSIGN_PRIMARY (0x0001)
-#define TOKEN_DUPLICATE (0x0002)
-#define TOKEN_IMPERSONATE (0x0004)
-#define TOKEN_QUERY (0x0008)
-#define TOKEN_QUERY_SOURCE (0x0010)
-#define TOKEN_ADJUST_PRIVILEGES (0x0020)
-#define TOKEN_ADJUST_GROUPS (0x0040)
-#define TOKEN_ADJUST_DEFAULT (0x0080)
-#define TOKEN_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED |\
- TOKEN_ASSIGN_PRIMARY |\
- TOKEN_DUPLICATE |\
- TOKEN_IMPERSONATE |\
- TOKEN_QUERY |\
- TOKEN_QUERY_SOURCE |\
- TOKEN_ADJUST_PRIVILEGES |\
- TOKEN_ADJUST_GROUPS |\
- TOKEN_ADJUST_DEFAULT)
-#define TOKEN_READ (STANDARD_RIGHTS_READ |\
- TOKEN_QUERY)
-#define TOKEN_WRITE (STANDARD_RIGHTS_WRITE |\
- TOKEN_ADJUST_PRIVILEGES |\
- TOKEN_ADJUST_GROUPS |\
- TOKEN_ADJUST_DEFAULT)
-
-#define TOKEN_EXECUTE (STANDARD_RIGHTS_EXECUTE)
-#define TOKEN_SOURCE_LENGTH 8
-/* end ddk/ntifs.h */
-#define DLL_PROCESS_DETACH 0
-#define DLL_PROCESS_ATTACH 1
-#define DLL_THREAD_ATTACH 2
-#define DLL_THREAD_DETACH 3
-#define DBG_CONTINUE 0x10002
-#define DBG_TERMINATE_THREAD 0x40010003
-#define DBG_TERMINATE_PROCESS 0x40010004
-#define DBG_CONTROL_C 0x40010005
-#define DBG_CONTROL_BREAK 0x40010008
-#define DBG_EXCEPTION_NOT_HANDLED 0x80010001
-#define TAPE_ABSOLUTE_POSITION 0
-#define TAPE_LOGICAL_POSITION 1
-#define TAPE_PSEUDO_LOGICAL_POSITION 2
-#define TAPE_REWIND 0
-#define TAPE_ABSOLUTE_BLOCK 1
-#define TAPE_LOGICAL_BLOCK 2
-#define TAPE_PSEUDO_LOGICAL_BLOCK 3
-#define TAPE_SPACE_END_OF_DATA 4
-#define TAPE_SPACE_RELATIVE_BLOCKS 5
-#define TAPE_SPACE_FILEMARKS 6
-#define TAPE_SPACE_SEQUENTIAL_FMKS 7
-#define TAPE_SPACE_SETMARKS 8
-#define TAPE_SPACE_SEQUENTIAL_SMKS 9
-#define TAPE_DRIVE_FIXED 1
-#define TAPE_DRIVE_SELECT 2
-#define TAPE_DRIVE_INITIATOR 4
-#define TAPE_DRIVE_ERASE_SHORT 16
-#define TAPE_DRIVE_ERASE_LONG 32
-#define TAPE_DRIVE_ERASE_BOP_ONLY 64
-#define TAPE_DRIVE_ERASE_IMMEDIATE 128
-#define TAPE_DRIVE_TAPE_CAPACITY 256
-#define TAPE_DRIVE_TAPE_REMAINING 512
-#define TAPE_DRIVE_FIXED_BLOCK 1024
-#define TAPE_DRIVE_VARIABLE_BLOCK 2048
-#define TAPE_DRIVE_WRITE_PROTECT 4096
-#define TAPE_DRIVE_EOT_WZ_SIZE 8192
-#define TAPE_DRIVE_ECC 0x10000
-#define TAPE_DRIVE_COMPRESSION 0x20000
-#define TAPE_DRIVE_PADDING 0x40000
-#define TAPE_DRIVE_REPORT_SMKS 0x80000
-#define TAPE_DRIVE_GET_ABSOLUTE_BLK 0x100000
-#define TAPE_DRIVE_GET_LOGICAL_BLK 0x200000
-#define TAPE_DRIVE_SET_EOT_WZ_SIZE 0x400000
-#define TAPE_DRIVE_EJECT_MEDIA 0x1000000
-#define TAPE_DRIVE_CLEAN_REQUESTS 0x2000000
-#define TAPE_DRIVE_SET_CMP_BOP_ONLY 0x4000000
-#define TAPE_DRIVE_RESERVED_BIT 0x80000000
-#define TAPE_DRIVE_LOAD_UNLOAD 0x80000001
-#define TAPE_DRIVE_TENSION 0x80000002
-#define TAPE_DRIVE_LOCK_UNLOCK 0x80000004
-#define TAPE_DRIVE_REWIND_IMMEDIATE 0x80000008
-#define TAPE_DRIVE_SET_BLOCK_SIZE 0x80000010
-#define TAPE_DRIVE_LOAD_UNLD_IMMED 0x80000020
-#define TAPE_DRIVE_TENSION_IMMED 0x80000040
-#define TAPE_DRIVE_LOCK_UNLK_IMMED 0x80000080
-#define TAPE_DRIVE_SET_ECC 0x80000100
-#define TAPE_DRIVE_SET_COMPRESSION 0x80000200
-#define TAPE_DRIVE_SET_PADDING 0x80000400
-#define TAPE_DRIVE_SET_REPORT_SMKS 0x80000800
-#define TAPE_DRIVE_ABSOLUTE_BLK 0x80001000
-#define TAPE_DRIVE_ABS_BLK_IMMED 0x80002000
-#define TAPE_DRIVE_LOGICAL_BLK 0x80004000
-#define TAPE_DRIVE_LOG_BLK_IMMED 0x80008000
-#define TAPE_DRIVE_END_OF_DATA 0x80010000
-#define TAPE_DRIVE_RELATIVE_BLKS 0x80020000
-#define TAPE_DRIVE_FILEMARKS 0x80040000
-#define TAPE_DRIVE_SEQUENTIAL_FMKS 0x80080000
-#define TAPE_DRIVE_SETMARKS 0x80100000
-#define TAPE_DRIVE_SEQUENTIAL_SMKS 0x80200000
-#define TAPE_DRIVE_REVERSE_POSITION 0x80400000
-#define TAPE_DRIVE_SPACE_IMMEDIATE 0x80800000
-#define TAPE_DRIVE_WRITE_SETMARKS 0x81000000
-#define TAPE_DRIVE_WRITE_FILEMARKS 0x82000000
-#define TAPE_DRIVE_WRITE_SHORT_FMKS 0x84000000
-#define TAPE_DRIVE_WRITE_LONG_FMKS 0x88000000
-#define TAPE_DRIVE_WRITE_MARK_IMMED 0x90000000
-#define TAPE_DRIVE_FORMAT 0xA0000000
-#define TAPE_DRIVE_FORMAT_IMMEDIATE 0xC0000000
-#define TAPE_DRIVE_HIGH_FEATURES 0x80000000
-#define TAPE_FIXED_PARTITIONS 0
-#define TAPE_INITIATOR_PARTITIONS 2
-#define TAPE_SELECT_PARTITIONS 1
-#define TAPE_FILEMARKS 1
-#define TAPE_LONG_FILEMARKS 3
-#define TAPE_SETMARKS 0
-#define TAPE_SHORT_FILEMARKS 2
-#define TAPE_ERASE_LONG 1
-#define TAPE_ERASE_SHORT 0
-#define TAPE_LOAD 0
-#define TAPE_UNLOAD 1
-#define TAPE_TENSION 2
-#define TAPE_LOCK 3
-#define TAPE_UNLOCK 4
-#define TAPE_FORMAT 5
-#if (_WIN32_WINNT >= 0x0500)
-#define VER_MINORVERSION 0x0000001
-#define VER_MAJORVERSION 0x0000002
-#define VER_BUILDNUMBER 0x0000004
-#define VER_PLATFORMID 0x0000008
-#define VER_SERVICEPACKMINOR 0x0000010
-#define VER_SERVICEPACKMAJOR 0x0000020
-#define VER_SUITENAME 0x0000040
-#define VER_PRODUCT_TYPE 0x0000080
-#define VER_EQUAL 1
-#define VER_GREATER 2
-#define VER_GREATER_EQUAL 3
-#define VER_LESS 4
-#define VER_LESS_EQUAL 5
-#define VER_AND 6
-#define VER_OR 7
-#endif
-#define VER_PLATFORM_WIN32s 0
-#define VER_PLATFORM_WIN32_WINDOWS 1
-#define VER_PLATFORM_WIN32_NT 2
-#define VER_NT_WORKSTATION 1
-#define VER_NT_DOMAIN_CONTROLLER 2
-#define VER_NT_SERVER 3
-#define VER_SUITE_SMALLBUSINESS 1
-#define VER_SUITE_ENTERPRISE 2
-#define VER_SUITE_BACKOFFICE 4
-#define VER_SUITE_TERMINAL 16
-#define VER_SUITE_SMALLBUSINESS_RESTRICTED 32
-#define VER_SUITE_DATACENTER 128
-#define VER_SUITE_PERSONAL 512
-#define VER_SUITE_BLADE 1024
-#define WT_EXECUTEDEFAULT 0x00000000
-#define WT_EXECUTEINIOTHREAD 0x00000001
-#define WT_EXECUTEINWAITTHREAD 0x00000004
-#define WT_EXECUTEONLYONCE 0x00000008
-#define WT_EXECUTELONGFUNCTION 0x00000010
-#define WT_EXECUTEINTIMERTHREAD 0x00000020
-#define WT_EXECUTEINPERSISTENTTHREAD 0x00000080
-#define WT_TRANSFER_IMPERSONATION 0x00000100
-#if (_WIN32_WINNT >= 0x0501)
-#define ACTIVATION_CONTEXT_SECTION_ASSEMBLY_INFORMATION 1
-#define ACTIVATION_CONTEXT_SECTION_DLL_REDIRECTION 2
-#define ACTIVATION_CONTEXT_SECTION_WINDOW_CLASS_REDIRECTION 3
-#define ACTIVATION_CONTEXT_SECTION_COM_SERVER_REDIRECTION 4
-#define ACTIVATION_CONTEXT_SECTION_COM_INTERFACE_REDIRECTION 5
-#define ACTIVATION_CONTEXT_SECTION_COM_TYPE_LIBRARY_REDIRECTION 6
-#define ACTIVATION_CONTEXT_SECTION_COM_PROGID_REDIRECTION 7
-#define ACTIVATION_CONTEXT_SECTION_CLR_SURROGATES 9
-#endif /* (_WIN32_WINNT >= 0x0501) */
-#define BTYPE(x) ((x)&N_BTMASK)
-#define ISPTR(x) (((x)&N_TMASK)==(IMAGE_SYM_DTYPE_POINTER<<N_BTSHFT))
-#define ISFCN(x) (((x)&N_TMASK)==(IMAGE_SYM_DTYPE_FUNCTION<<N_BTSHFT))
-#define ISARY(x) (((x)&N_TMASK)==(IMAGE_SYM_DTYPE_ARRAY<<N_BTSHFT))
-#define ISTAG(x) ((x)==IMAGE_SYM_CLASS_STRUCT_TAG||(x)==IMAGE_SYM_CLASS_UNION_TAG||(x)==IMAGE_SYM_CLASS_ENUM_TAG)
-#define INCREF(x) ((((x)&~N_BTMASK)<<N_TSHIFT)|(IMAGE_SYM_DTYPE_POINTER<<N_BTSHFT)|((x)&N_BTMASK))
-#define DECREF(x) ((((x)>>N_TSHIFT)&~N_BTMASK)|((x)&N_BTMASK))
-#define TLS_MINIMUM_AVAILABLE 64
-#define REPARSE_DATA_BUFFER_HEADER_SIZE FIELD_OFFSET(REPARSE_DATA_BUFFER, GenericReparseBuffer)
-#define REPARSE_GUID_DATA_BUFFER_HEADER_SIZE FIELD_OFFSET(REPARSE_GUID_DATA_BUFFER, GenericReparseBuffer)
-#define MAXIMUM_REPARSE_DATA_BUFFER_SIZE 16384
-#define IO_REPARSE_TAG_RESERVED_ZERO 0
-#define IO_REPARSE_TAG_RESERVED_ONE 1
-#define IO_REPARSE_TAG_RESERVED_RANGE IO_REPARSE_TAG_RESERVED_ONE
-#define IsReparseTagMicrosoft(x) ((x)&0x80000000)
-#define IsReparseTagHighLatency(x) ((x)&0x40000000)
-#define IsReparseTagNameSurrogate(x) ((x)&0x20000000)
-#define IO_REPARSE_TAG_VALID_VALUES 0xE000FFFF
-#define IsReparseTagValid(x) (!((x)&~IO_REPARSE_TAG_VALID_VALUES)&&((x)>IO_REPARSE_TAG_RESERVED_RANGE))
-#define IO_REPARSE_TAG_SYMBOLIC_LINK IO_REPARSE_TAG_RESERVED_ZERO
-#define IO_REPARSE_TAG_MOUNT_POINT 0xA0000003
-#ifndef RC_INVOKED
-typedef DWORD ACCESS_MASK, *PACCESS_MASK;
-
-#ifdef _GUID_DEFINED
-# warning _GUID_DEFINED is deprecated, use GUID_DEFINED instead
-#endif
-
-#if ! (defined _GUID_DEFINED || defined GUID_DEFINED) /* also defined in basetyps.h */
-#define GUID_DEFINED
-typedef struct _GUID {
- unsigned long Data1;
- unsigned short Data2;
- unsigned short Data3;
- unsigned char Data4[8];
-} GUID, *REFGUID, *LPGUID;
-#define SYSTEM_LUID { 0x3e7, 0x0 }
-#endif /* GUID_DEFINED */
-typedef struct _GENERIC_MAPPING {
- ACCESS_MASK GenericRead;
- ACCESS_MASK GenericWrite;
- ACCESS_MASK GenericExecute;
- ACCESS_MASK GenericAll;
-} GENERIC_MAPPING, *PGENERIC_MAPPING;
-typedef struct _ACE_HEADER {
- BYTE AceType;
- BYTE AceFlags;
- WORD AceSize;
-} ACE_HEADER, *PACE_HEADER;
-typedef struct _ACCESS_ALLOWED_ACE {
- ACE_HEADER Header;
- ACCESS_MASK Mask;
- DWORD SidStart;
-} ACCESS_ALLOWED_ACE, *PACCESS_ALLOWED_ACE;
-typedef struct _ACCESS_DENIED_ACE {
- ACE_HEADER Header;
- ACCESS_MASK Mask;
- DWORD SidStart;
-} ACCESS_DENIED_ACE, *PACCESS_DENIED_ACE;
-typedef struct _SYSTEM_AUDIT_ACE {
- ACE_HEADER Header;
- ACCESS_MASK Mask;
- DWORD SidStart;
-} SYSTEM_AUDIT_ACE;
-typedef SYSTEM_AUDIT_ACE *PSYSTEM_AUDIT_ACE;
-typedef struct _SYSTEM_ALARM_ACE {
- ACE_HEADER Header;
- ACCESS_MASK Mask;
- DWORD SidStart;
-} SYSTEM_ALARM_ACE,*PSYSTEM_ALARM_ACE;
-typedef struct _ACCESS_ALLOWED_OBJECT_ACE {
- ACE_HEADER Header;
- ACCESS_MASK Mask;
- DWORD Flags;
- GUID ObjectType;
- GUID InheritedObjectType;
- DWORD SidStart;
-} ACCESS_ALLOWED_OBJECT_ACE,*PACCESS_ALLOWED_OBJECT_ACE;
-typedef struct _ACCESS_DENIED_OBJECT_ACE {
- ACE_HEADER Header;
- ACCESS_MASK Mask;
- DWORD Flags;
- GUID ObjectType;
- GUID InheritedObjectType;
- DWORD SidStart;
-} ACCESS_DENIED_OBJECT_ACE,*PACCESS_DENIED_OBJECT_ACE;
-typedef struct _SYSTEM_AUDIT_OBJECT_ACE {
- ACE_HEADER Header;
- ACCESS_MASK Mask;
- DWORD Flags;
- GUID ObjectType;
- GUID InheritedObjectType;
- DWORD SidStart;
-} SYSTEM_AUDIT_OBJECT_ACE,*PSYSTEM_AUDIT_OBJECT_ACE;
-typedef struct _SYSTEM_ALARM_OBJECT_ACE {
- ACE_HEADER Header;
- ACCESS_MASK Mask;
- DWORD Flags;
- GUID ObjectType;
- GUID InheritedObjectType;
- DWORD SidStart;
-} SYSTEM_ALARM_OBJECT_ACE,*PSYSTEM_ALARM_OBJECT_ACE;
-typedef struct _ACL {
- BYTE AclRevision;
- BYTE Sbz1;
- WORD AclSize;
- WORD AceCount;
- WORD Sbz2;
-} ACL,*PACL;
-typedef struct _ACL_REVISION_INFORMATION {
- DWORD AclRevision;
-} ACL_REVISION_INFORMATION;
-typedef struct _ACL_SIZE_INFORMATION {
- DWORD AceCount;
- DWORD AclBytesInUse;
- DWORD AclBytesFree;
-} ACL_SIZE_INFORMATION;
-
-/* FIXME: add more machines */
-#ifdef _X86_
-#define SIZE_OF_80387_REGISTERS 80
-#define CONTEXT_i386 0x10000
-#define CONTEXT_i486 0x10000
-#define CONTEXT_CONTROL (CONTEXT_i386|0x00000001L)
-#define CONTEXT_INTEGER (CONTEXT_i386|0x00000002L)
-#define CONTEXT_SEGMENTS (CONTEXT_i386|0x00000004L)
-#define CONTEXT_FLOATING_POINT (CONTEXT_i386|0x00000008L)
-#define CONTEXT_DEBUG_REGISTERS (CONTEXT_i386|0x00000010L)
-#define CONTEXT_EXTENDED_REGISTERS (CONTEXT_i386|0x00000020L)
-#define CONTEXT_FULL (CONTEXT_CONTROL|CONTEXT_INTEGER|CONTEXT_SEGMENTS)
-#define MAXIMUM_SUPPORTED_EXTENSION 512
-typedef struct _FLOATING_SAVE_AREA {
- DWORD ControlWord;
- DWORD StatusWord;
- DWORD TagWord;
- DWORD ErrorOffset;
- DWORD ErrorSelector;
- DWORD DataOffset;
- DWORD DataSelector;
- BYTE RegisterArea[80];
- DWORD Cr0NpxState;
-} FLOATING_SAVE_AREA;
-typedef struct _CONTEXT {
- DWORD ContextFlags;
- DWORD Dr0;
- DWORD Dr1;
- DWORD Dr2;
- DWORD Dr3;
- DWORD Dr6;
- DWORD Dr7;
- FLOATING_SAVE_AREA FloatSave;
- DWORD SegGs;
- DWORD SegFs;
- DWORD SegEs;
- DWORD SegDs;
- DWORD Edi;
- DWORD Esi;
- DWORD Ebx;
- DWORD Edx;
- DWORD Ecx;
- DWORD Eax;
- DWORD Ebp;
- DWORD Eip;
- DWORD SegCs;
- DWORD EFlags;
- DWORD Esp;
- DWORD SegSs;
- BYTE ExtendedRegisters[MAXIMUM_SUPPORTED_EXTENSION];
-} CONTEXT;
-#elif defined(_PPC_)
-#define CONTEXT_CONTROL 1L
-#define CONTEXT_FLOATING_POINT 2L
-#define CONTEXT_INTEGER 4L
-#define CONTEXT_DEBUG_REGISTERS 8L
-#define CONTEXT_FULL (CONTEXT_CONTROL|CONTEXT_FLOATING_POINT|CONTEXT_INTEGER)
-typedef struct {
- double Fpr0;
- double Fpr1;
- double Fpr2;
- double Fpr3;
- double Fpr4;
- double Fpr5;
- double Fpr6;
- double Fpr7;
- double Fpr8;
- double Fpr9;
- double Fpr10;
- double Fpr11;
- double Fpr12;
- double Fpr13;
- double Fpr14;
- double Fpr15;
- double Fpr16;
- double Fpr17;
- double Fpr18;
- double Fpr19;
- double Fpr20;
- double Fpr21;
- double Fpr22;
- double Fpr23;
- double Fpr24;
- double Fpr25;
- double Fpr26;
- double Fpr27;
- double Fpr28;
- double Fpr29;
- double Fpr30;
- double Fpr31;
- double Fpscr;
- DWORD Gpr0;
- DWORD Gpr1;
- DWORD Gpr2;
- DWORD Gpr3;
- DWORD Gpr4;
- DWORD Gpr5;
- DWORD Gpr6;
- DWORD Gpr7;
- DWORD Gpr8;
- DWORD Gpr9;
- DWORD Gpr10;
- DWORD Gpr11;
- DWORD Gpr12;
- DWORD Gpr13;
- DWORD Gpr14;
- DWORD Gpr15;
- DWORD Gpr16;
- DWORD Gpr17;
- DWORD Gpr18;
- DWORD Gpr19;
- DWORD Gpr20;
- DWORD Gpr21;
- DWORD Gpr22;
- DWORD Gpr23;
- DWORD Gpr24;
- DWORD Gpr25;
- DWORD Gpr26;
- DWORD Gpr27;
- DWORD Gpr28;
- DWORD Gpr29;
- DWORD Gpr30;
- DWORD Gpr31;
- DWORD Cr;
- DWORD Xer;
- DWORD Msr;
- DWORD Iar;
- DWORD Lr;
- DWORD Ctr;
- DWORD ContextFlags;
- DWORD Fill[3];
- DWORD Dr0;
- DWORD Dr1;
- DWORD Dr2;
- DWORD Dr3;
- DWORD Dr4;
- DWORD Dr5;
- DWORD Dr6;
- DWORD Dr7;
-} CONTEXT;
-#elif defined(_ALPHA_)
-#define CONTEXT_ALPHA 0x20000
-#define CONTEXT_CONTROL (CONTEXT_ALPHA|1L)
-#define CONTEXT_FLOATING_POINT (CONTEXT_ALPHA|2L)
-#define CONTEXT_INTEGER (CONTEXT_ALPHA|4L)
-#define CONTEXT_FULL (CONTEXT_CONTROL|CONTEXT_FLOATING_POINT|CONTEXT_INTEGER)
-typedef struct _CONTEXT {
- ULONGLONG FltF0;
- ULONGLONG FltF1;
- ULONGLONG FltF2;
- ULONGLONG FltF3;
- ULONGLONG FltF4;
- ULONGLONG FltF5;
- ULONGLONG FltF6;
- ULONGLONG FltF7;
- ULONGLONG FltF8;
- ULONGLONG FltF9;
- ULONGLONG FltF10;
- ULONGLONG FltF11;
- ULONGLONG FltF12;
- ULONGLONG FltF13;
- ULONGLONG FltF14;
- ULONGLONG FltF15;
- ULONGLONG FltF16;
- ULONGLONG FltF17;
- ULONGLONG FltF18;
- ULONGLONG FltF19;
- ULONGLONG FltF20;
- ULONGLONG FltF21;
- ULONGLONG FltF22;
- ULONGLONG FltF23;
- ULONGLONG FltF24;
- ULONGLONG FltF25;
- ULONGLONG FltF26;
- ULONGLONG FltF27;
- ULONGLONG FltF28;
- ULONGLONG FltF29;
- ULONGLONG FltF30;
- ULONGLONG FltF31;
- ULONGLONG IntV0;
- ULONGLONG IntT0;
- ULONGLONG IntT1;
- ULONGLONG IntT2;
- ULONGLONG IntT3;
- ULONGLONG IntT4;
- ULONGLONG IntT5;
- ULONGLONG IntT6;
- ULONGLONG IntT7;
- ULONGLONG IntS0;
- ULONGLONG IntS1;
- ULONGLONG IntS2;
- ULONGLONG IntS3;
- ULONGLONG IntS4;
- ULONGLONG IntS5;
- ULONGLONG IntFp;
- ULONGLONG IntA0;
- ULONGLONG IntA1;
- ULONGLONG IntA2;
- ULONGLONG IntA3;
- ULONGLONG IntA4;
- ULONGLONG IntA5;
- ULONGLONG IntT8;
- ULONGLONG IntT9;
- ULONGLONG IntT10;
- ULONGLONG IntT11;
- ULONGLONG IntRa;
- ULONGLONG IntT12;
- ULONGLONG IntAt;
- ULONGLONG IntGp;
- ULONGLONG IntSp;
- ULONGLONG IntZero;
- ULONGLONG Fpcr;
- ULONGLONG SoftFpcr;
- ULONGLONG Fir;
- DWORD Psr;
- DWORD ContextFlags;
- DWORD Fill[4];
-} CONTEXT;
-#elif defined(SHx)
-
-/* These are the debug or break registers on the SH3 */
-typedef struct _DEBUG_REGISTERS {
- ULONG BarA;
- UCHAR BasrA;
- UCHAR BamrA;
- USHORT BbrA;
- ULONG BarB;
- UCHAR BasrB;
- UCHAR BamrB;
- USHORT BbrB;
- ULONG BdrB;
- ULONG BdmrB;
- USHORT Brcr;
- USHORT Align;
-} DEBUG_REGISTERS, *PDEBUG_REGISTERS;
-
-/* The following flags control the contents of the CONTEXT structure. */
-
-#define CONTEXT_SH3 0x00000040
-#define CONTEXT_SH4 0x000000c0 /* CONTEXT_SH3 | 0x80 - must contain the SH3 bits */
-
-#ifdef SH3
-#define CONTEXT_CONTROL (CONTEXT_SH3 | 0x00000001L)
-#define CONTEXT_INTEGER (CONTEXT_SH3 | 0x00000002L)
-#define CONTEXT_DEBUG_REGISTERS (CONTEXT_SH3 | 0x00000008L)
-#define CONTEXT_FULL (CONTEXT_CONTROL | CONTEXT_INTEGER | CONTEXT_DEBUG_REGISTERS)
-#else /* SH4 */
-#define CONTEXT_CONTROL (CONTEXT_SH4 | 0x00000001L)
-#define CONTEXT_INTEGER (CONTEXT_SH4 | 0x00000002L)
-#define CONTEXT_DEBUG_REGISTERS (CONTEXT_SH4 | 0x00000008L)
-#define CONTEXT_FLOATING_POINT (CONTEXT_SH4 | 0x00000004L)
-#define CONTEXT_FULL (CONTEXT_CONTROL | CONTEXT_INTEGER | CONTEXT_DEBUG_REGISTERS | CONTEXT_FLOATING_POINT)
-#endif
-
-/* Context Frame */
-
-/* This frame is used to store a limited processor context into the */
-/* Thread structure for CPUs which have no floating point support. */
-
-typedef struct _CONTEXT {
- /* The flags values within this flag control the contents of */
- /* a CONTEXT record. */
-
- /* If the context record is used as an input parameter, then */
- /* for each portion of the context record controlled by a flag */
- /* whose value is set, it is assumed that that portion of the */
- /* context record contains valid context. If the context record */
- /* is being used to modify a thread's context, then only that */
- /* portion of the threads context will be modified. */
-
- /* If the context record is used as an IN OUT parameter to capture */
- /* the context of a thread, then only those portions of the thread's */
- /* context corresponding to set flags will be returned. */
-
- /* The context record is never used as an OUT only parameter. */
-
-
- ULONG ContextFlags;
-
- /* This section is specified/returned if the ContextFlags word contains */
- /* the flag CONTEXT_INTEGER. */
-
- /* N.B. The registers RA and R15 are defined in this section, but are */
- /* considered part of the control context rather than part of the integer */
- /* context. */
-
- ULONG PR;
- ULONG MACH;
- ULONG MACL;
- ULONG GBR;
- ULONG R0;
- ULONG R1;
- ULONG R2;
- ULONG R3;
- ULONG R4;
- ULONG R5;
- ULONG R6;
- ULONG R7;
- ULONG R8;
- ULONG R9;
- ULONG R10;
- ULONG R11;
- ULONG R12;
- ULONG R13;
- ULONG R14;
- ULONG R15;
-
- /* This section is specified/returned if the ContextFlags word contains */
- /* the flag CONTEXT_CONTROL. */
-
- /* N.B. The registers r15 and ra are defined in the integer section, */
- /* but are considered part of the control context rather than part of */
- /* the integer context. */
-
- ULONG Fir;
- ULONG Psr;
-
-#if !defined(SH3e) && !defined(SH4)
- ULONG OldStuff[2];
- DEBUG_REGISTERS DebugRegisters;
-#else
- ULONG Fpscr;
- ULONG Fpul;
- ULONG FRegs[16];
-#if defined(SH4)
- ULONG xFRegs[16];
-#endif
-#endif
-} CONTEXT;
-
-#elif defined(MIPS)
-
-/* The following flags control the contents of the CONTEXT structure. */
-
-#define CONTEXT_R4000 0x00010000 /* r4000 context */
-
-#define CONTEXT_CONTROL (CONTEXT_R4000 | 0x00000001L)
-#define CONTEXT_FLOATING_POINT (CONTEXT_R4000 | 0x00000002L)
-#define CONTEXT_INTEGER (CONTEXT_R4000 | 0x00000004L)
-
-#define CONTEXT_FULL (CONTEXT_CONTROL | CONTEXT_FLOATING_POINT | CONTEXT_INTEGER)
-
-/* Context Frame */
-
-/* N.B. This frame must be exactly a multiple of 16 bytes in length. */
-
-/* This frame has a several purposes: 1) it is used as an argument to */
-/* NtContinue, 2) it is used to constuct a call frame for APC delivery, */
-/* 3) it is used to construct a call frame for exception dispatching */
-/* in user mode, and 4) it is used in the user level thread creation */
-/* routines. */
-
-/* The layout of the record conforms to a standard call frame. */
-
-
-typedef struct _CONTEXT {
-
- /* This section is always present and is used as an argument build */
- /* area. */
-
- DWORD Argument[4];
-
- /* This section is specified/returned if the ContextFlags word contains */
- /* the flag CONTEXT_FLOATING_POINT. */
-
- DWORD FltF0;
- DWORD FltF1;
- DWORD FltF2;
- DWORD FltF3;
- DWORD FltF4;
- DWORD FltF5;
- DWORD FltF6;
- DWORD FltF7;
- DWORD FltF8;
- DWORD FltF9;
- DWORD FltF10;
- DWORD FltF11;
- DWORD FltF12;
- DWORD FltF13;
- DWORD FltF14;
- DWORD FltF15;
- DWORD FltF16;
- DWORD FltF17;
- DWORD FltF18;
- DWORD FltF19;
- DWORD FltF20;
- DWORD FltF21;
- DWORD FltF22;
- DWORD FltF23;
- DWORD FltF24;
- DWORD FltF25;
- DWORD FltF26;
- DWORD FltF27;
- DWORD FltF28;
- DWORD FltF29;
- DWORD FltF30;
- DWORD FltF31;
-
- /* This section is specified/returned if the ContextFlags word contains */
- /* the flag CONTEXT_INTEGER. */
-
- /* N.B. The registers gp, sp, and ra are defined in this section, but are */
- /* considered part of the control context rather than part of the integer */
- /* context. */
-
- /* N.B. Register zero is not stored in the frame. */
-
- DWORD IntZero;
- DWORD IntAt;
- DWORD IntV0;
- DWORD IntV1;
- DWORD IntA0;
- DWORD IntA1;
- DWORD IntA2;
- DWORD IntA3;
- DWORD IntT0;
- DWORD IntT1;
- DWORD IntT2;
- DWORD IntT3;
- DWORD IntT4;
- DWORD IntT5;
- DWORD IntT6;
- DWORD IntT7;
- DWORD IntS0;
- DWORD IntS1;
- DWORD IntS2;
- DWORD IntS3;
- DWORD IntS4;
- DWORD IntS5;
- DWORD IntS6;
- DWORD IntS7;
- DWORD IntT8;
- DWORD IntT9;
- DWORD IntK0;
- DWORD IntK1;
- DWORD IntGp;
- DWORD IntSp;
- DWORD IntS8;
- DWORD IntRa;
- DWORD IntLo;
- DWORD IntHi;
-
- /* This section is specified/returned if the ContextFlags word contains */
- /* the flag CONTEXT_FLOATING_POINT. */
-
- DWORD Fsr;
-
- /* This section is specified/returned if the ContextFlags word contains */
- /* the flag CONTEXT_CONTROL. */
-
- /* N.B. The registers gp, sp, and ra are defined in the integer section, */
- /* but are considered part of the control context rather than part of */
- /* the integer context. */
-
- DWORD Fir;
- DWORD Psr;
-
- /* The flags values within this flag control the contents of */
- /* a CONTEXT record. */
-
- /* If the context record is used as an input parameter, then */
- /* for each portion of the context record controlled by a flag */
- /* whose value is set, it is assumed that that portion of the */
- /* context record contains valid context. If the context record */
- /* is being used to modify a thread's context, then only that */
- /* portion of the threads context will be modified. */
-
- /* If the context record is used as an IN OUT parameter to capture */
- /* the context of a thread, then only those portions of the thread's */
- /* context corresponding to set flags will be returned. */
-
- /* The context record is never used as an OUT only parameter. */
-
- DWORD ContextFlags;
-
- DWORD Fill[2];
-
-} CONTEXT;
-#elif defined(ARM)
-
-/* The following flags control the contents of the CONTEXT structure. */
-
-#define CONTEXT_ARM 0x0000040
-#define CONTEXT_CONTROL (CONTEXT_ARM | 0x00000001L)
-#define CONTEXT_INTEGER (CONTEXT_ARM | 0x00000002L)
-
-#define CONTEXT_FULL (CONTEXT_CONTROL | CONTEXT_INTEGER)
-
-typedef struct _CONTEXT {
- /* The flags values within this flag control the contents of
- a CONTEXT record.
-
- If the context record is used as an input parameter, then
- for each portion of the context record controlled by a flag
- whose value is set, it is assumed that that portion of the
- context record contains valid context. If the context record
- is being used to modify a thread's context, then only that
- portion of the threads context will be modified.
-
- If the context record is used as an IN OUT parameter to capture
- the context of a thread, then only those portions of the thread's
- context corresponding to set flags will be returned.
-
- The context record is never used as an OUT only parameter. */
-
- ULONG ContextFlags;
-
- /* This section is specified/returned if the ContextFlags word contains
- the flag CONTEXT_INTEGER. */
- ULONG R0;
- ULONG R1;
- ULONG R2;
- ULONG R3;
- ULONG R4;
- ULONG R5;
- ULONG R6;
- ULONG R7;
- ULONG R8;
- ULONG R9;
- ULONG R10;
- ULONG R11;
- ULONG R12;
-
- ULONG Sp;
- ULONG Lr;
- ULONG Pc;
- ULONG Psr;
-} CONTEXT;
-
-#else
-#error "undefined processor type"
-#endif
-typedef CONTEXT *PCONTEXT,*LPCONTEXT;
-typedef struct _EXCEPTION_RECORD {
- DWORD ExceptionCode;
- DWORD ExceptionFlags;
- struct _EXCEPTION_RECORD *ExceptionRecord;
- PVOID ExceptionAddress;
- DWORD NumberParameters;
- DWORD ExceptionInformation[EXCEPTION_MAXIMUM_PARAMETERS];
-} EXCEPTION_RECORD,*PEXCEPTION_RECORD,*LPEXCEPTION_RECORD;
-typedef struct _EXCEPTION_POINTERS {
- PEXCEPTION_RECORD ExceptionRecord;
- PCONTEXT ContextRecord;
-} EXCEPTION_POINTERS,*PEXCEPTION_POINTERS,*LPEXCEPTION_POINTERS;
-typedef union _LARGE_INTEGER {
- struct {
- DWORD LowPart;
- LONG HighPart;
- } u;
-#if ! defined(NONAMELESSUNION) || defined(__cplusplus)
- _ANONYMOUS_STRUCT struct {
- DWORD LowPart;
- LONG HighPart;
- };
-#endif /* NONAMELESSUNION */
- LONGLONG QuadPart;
-} LARGE_INTEGER, *PLARGE_INTEGER;
-typedef union _ULARGE_INTEGER {
- struct {
- DWORD LowPart;
- DWORD HighPart;
- } u;
-#if ! defined(NONAMELESSUNION) || defined(__cplusplus)
- _ANONYMOUS_STRUCT struct {
- DWORD LowPart;
- DWORD HighPart;
- };
-#endif /* NONAMELESSUNION */
- ULONGLONG QuadPart;
-} ULARGE_INTEGER, *PULARGE_INTEGER;
-typedef struct _LUID {
- DWORD LowPart;
- LONG HighPart;
-} LUID, *PLUID;
-#pragma pack(push,4)
-typedef struct _LUID_AND_ATTRIBUTES {
- LUID Luid;
- DWORD Attributes;
-} LUID_AND_ATTRIBUTES, *PLUID_AND_ATTRIBUTES;
-#pragma pack(pop)
-typedef LUID_AND_ATTRIBUTES LUID_AND_ATTRIBUTES_ARRAY[ANYSIZE_ARRAY];
-typedef LUID_AND_ATTRIBUTES_ARRAY *PLUID_AND_ATTRIBUTES_ARRAY;
-typedef struct _PRIVILEGE_SET {
- DWORD PrivilegeCount;
- DWORD Control;
- LUID_AND_ATTRIBUTES Privilege[ANYSIZE_ARRAY];
-} PRIVILEGE_SET,*PPRIVILEGE_SET;
-typedef struct _SECURITY_ATTRIBUTES {
- DWORD nLength;
- LPVOID lpSecurityDescriptor;
- BOOL bInheritHandle;
-} SECURITY_ATTRIBUTES,*PSECURITY_ATTRIBUTES,*LPSECURITY_ATTRIBUTES;
-typedef enum _SECURITY_IMPERSONATION_LEVEL {
- SecurityAnonymous,
- SecurityIdentification,
- SecurityImpersonation,
- SecurityDelegation
-} SECURITY_IMPERSONATION_LEVEL,*PSECURITY_IMPERSONATION_LEVEL;
-typedef BOOLEAN SECURITY_CONTEXT_TRACKING_MODE,*PSECURITY_CONTEXT_TRACKING_MODE;
-typedef struct _SECURITY_QUALITY_OF_SERVICE {
- DWORD Length;
- SECURITY_IMPERSONATION_LEVEL ImpersonationLevel;
- SECURITY_CONTEXT_TRACKING_MODE ContextTrackingMode;
- BOOLEAN EffectiveOnly;
-} SECURITY_QUALITY_OF_SERVICE,*PSECURITY_QUALITY_OF_SERVICE;
-typedef PVOID PACCESS_TOKEN;
-typedef struct _SE_IMPERSONATION_STATE {
- PACCESS_TOKEN Token;
- BOOLEAN CopyOnOpen;
- BOOLEAN EffectiveOnly;
- SECURITY_IMPERSONATION_LEVEL Level;
-} SE_IMPERSONATION_STATE,*PSE_IMPERSONATION_STATE;
-typedef struct _SID_IDENTIFIER_AUTHORITY {
- BYTE Value[6];
-} SID_IDENTIFIER_AUTHORITY,*PSID_IDENTIFIER_AUTHORITY,*LPSID_IDENTIFIER_AUTHORITY;
-typedef PVOID PSID;
-typedef struct _SID {
- BYTE Revision;
- BYTE SubAuthorityCount;
- SID_IDENTIFIER_AUTHORITY IdentifierAuthority;
- DWORD SubAuthority[ANYSIZE_ARRAY];
-} SID, *PISID;
-typedef struct _SID_AND_ATTRIBUTES {
- PSID Sid;
- DWORD Attributes;
-} SID_AND_ATTRIBUTES, *PSID_AND_ATTRIBUTES;
-typedef SID_AND_ATTRIBUTES SID_AND_ATTRIBUTES_ARRAY[ANYSIZE_ARRAY];
-typedef SID_AND_ATTRIBUTES_ARRAY *PSID_AND_ATTRIBUTES_ARRAY;
-typedef struct _TOKEN_SOURCE {
- CHAR SourceName[TOKEN_SOURCE_LENGTH];
- LUID SourceIdentifier;
-} TOKEN_SOURCE,*PTOKEN_SOURCE;
-typedef struct _TOKEN_CONTROL {
- LUID TokenId;
- LUID AuthenticationId;
- LUID ModifiedId;
- TOKEN_SOURCE TokenSource;
-} TOKEN_CONTROL,*PTOKEN_CONTROL;
-typedef struct _TOKEN_DEFAULT_DACL {
- PACL DefaultDacl;
-} TOKEN_DEFAULT_DACL,*PTOKEN_DEFAULT_DACL;
-typedef struct _TOKEN_GROUPS {
- DWORD GroupCount;
- SID_AND_ATTRIBUTES Groups[ANYSIZE_ARRAY];
-} TOKEN_GROUPS,*PTOKEN_GROUPS,*LPTOKEN_GROUPS;
-typedef struct _TOKEN_OWNER {
- PSID Owner;
-} TOKEN_OWNER,*PTOKEN_OWNER;
-typedef struct _TOKEN_PRIMARY_GROUP {
- PSID PrimaryGroup;
-} TOKEN_PRIMARY_GROUP,*PTOKEN_PRIMARY_GROUP;
-typedef struct _TOKEN_PRIVILEGES {
- DWORD PrivilegeCount;
- LUID_AND_ATTRIBUTES Privileges[ANYSIZE_ARRAY];
-} TOKEN_PRIVILEGES,*PTOKEN_PRIVILEGES,*LPTOKEN_PRIVILEGES;
-typedef enum tagTOKEN_TYPE {
- TokenPrimary = 1,
- TokenImpersonation
-} TOKEN_TYPE,*PTOKEN_TYPE;
-typedef struct _TOKEN_STATISTICS {
- LUID TokenId;
- LUID AuthenticationId;
- LARGE_INTEGER ExpirationTime;
- TOKEN_TYPE TokenType;
- SECURITY_IMPERSONATION_LEVEL ImpersonationLevel;
- DWORD DynamicCharged;
- DWORD DynamicAvailable;
- DWORD GroupCount;
- DWORD PrivilegeCount;
- LUID ModifiedId;
-} TOKEN_STATISTICS, *PTOKEN_STATISTICS;
-typedef struct _TOKEN_USER {
- SID_AND_ATTRIBUTES User;
-} TOKEN_USER, *PTOKEN_USER;
-typedef DWORD SECURITY_INFORMATION,*PSECURITY_INFORMATION;
-typedef WORD SECURITY_DESCRIPTOR_CONTROL,*PSECURITY_DESCRIPTOR_CONTROL;
-typedef struct _SECURITY_DESCRIPTOR {
- BYTE Revision;
- BYTE Sbz1;
- SECURITY_DESCRIPTOR_CONTROL Control;
- PSID Owner;
- PSID Group;
- PACL Sacl;
- PACL Dacl;
-} SECURITY_DESCRIPTOR, *PSECURITY_DESCRIPTOR, *PISECURITY_DESCRIPTOR;
-typedef enum _TOKEN_INFORMATION_CLASS {
- TokenUser=1,
- TokenGroups,
- TokenPrivileges,
- TokenOwner,
- TokenPrimaryGroup,
- TokenDefaultDacl,
- TokenSource,
- TokenType,
- TokenImpersonationLevel,
- TokenStatistics,
- TokenRestrictedSids,
- TokenSessionId,
- TokenGroupsAndPrivileges,
- TokenSessionReference,
- TokenSandBoxInert,
- TokenAuditPolicy,
- TokenOrigin
-} TOKEN_INFORMATION_CLASS;
-typedef enum _SID_NAME_USE {
- SidTypeUser=1,
- SidTypeGroup,
- SidTypeDomain,
- SidTypeAlias,
- SidTypeWellKnownGroup,
- SidTypeDeletedAccount,
- SidTypeInvalid,
- SidTypeUnknown,
- SidTypeComputer
-} SID_NAME_USE,*PSID_NAME_USE;
-typedef struct _QUOTA_LIMITS {
- SIZE_T PagedPoolLimit;
- SIZE_T NonPagedPoolLimit;
- SIZE_T MinimumWorkingSetSize;
- SIZE_T MaximumWorkingSetSize;
- SIZE_T PagefileLimit;
- LARGE_INTEGER TimeLimit;
-} QUOTA_LIMITS,*PQUOTA_LIMITS;
-typedef struct _IO_COUNTERS {
- ULONGLONG ReadOperationCount;
- ULONGLONG WriteOperationCount;
- ULONGLONG OtherOperationCount;
- ULONGLONG ReadTransferCount;
- ULONGLONG WriteTransferCount;
- ULONGLONG OtherTransferCount;
-} IO_COUNTERS, *PIO_COUNTERS;
-typedef struct _FILE_NOTIFY_INFORMATION {
- DWORD NextEntryOffset;
- DWORD Action;
- DWORD FileNameLength;
- WCHAR FileName[1];
-} FILE_NOTIFY_INFORMATION,*PFILE_NOTIFY_INFORMATION;
-typedef struct _TAPE_ERASE {
- DWORD Type;
- BOOLEAN Immediate;
-} TAPE_ERASE,*PTAPE_ERASE;
-typedef struct _TAPE_GET_DRIVE_PARAMETERS {
- BOOLEAN ECC;
- BOOLEAN Compression;
- BOOLEAN DataPadding;
- BOOLEAN ReportSetmarks;
- DWORD DefaultBlockSize;
- DWORD MaximumBlockSize;
- DWORD MinimumBlockSize;
- DWORD MaximumPartitionCount;
- DWORD FeaturesLow;
- DWORD FeaturesHigh;
- DWORD EOTWarningZoneSize;
-} TAPE_GET_DRIVE_PARAMETERS,*PTAPE_GET_DRIVE_PARAMETERS;
-typedef struct _TAPE_GET_MEDIA_PARAMETERS {
- LARGE_INTEGER Capacity;
- LARGE_INTEGER Remaining;
- DWORD BlockSize;
- DWORD PartitionCount;
- BOOLEAN WriteProtected;
-} TAPE_GET_MEDIA_PARAMETERS,*PTAPE_GET_MEDIA_PARAMETERS;
-typedef struct _TAPE_GET_POSITION {
- ULONG Type;
- ULONG Partition;
- ULONG OffsetLow;
- ULONG OffsetHigh;
-} TAPE_GET_POSITION,*PTAPE_GET_POSITION;
-typedef struct _TAPE_PREPARE {
- DWORD Operation;
- BOOLEAN Immediate;
-} TAPE_PREPARE,*PTAPE_PREPARE;
-typedef struct _TAPE_SET_DRIVE_PARAMETERS {
- BOOLEAN ECC;
- BOOLEAN Compression;
- BOOLEAN DataPadding;
- BOOLEAN ReportSetmarks;
- ULONG EOTWarningZoneSize;
-} TAPE_SET_DRIVE_PARAMETERS,*PTAPE_SET_DRIVE_PARAMETERS;
-typedef struct _TAPE_SET_MEDIA_PARAMETERS {
- ULONG BlockSize;
-} TAPE_SET_MEDIA_PARAMETERS,*PTAPE_SET_MEDIA_PARAMETERS;
-typedef struct _TAPE_SET_POSITION {
- DWORD Method;
- DWORD Partition;
- LARGE_INTEGER Offset;
- BOOLEAN Immediate;
-} TAPE_SET_POSITION,*PTAPE_SET_POSITION;
-typedef struct _TAPE_WRITE_MARKS {
- DWORD Type;
- DWORD Count;
- BOOLEAN Immediate;
-} TAPE_WRITE_MARKS,*PTAPE_WRITE_MARKS;
-typedef struct _TAPE_CREATE_PARTITION {
- DWORD Method;
- DWORD Count;
- DWORD Size;
-} TAPE_CREATE_PARTITION,*PTAPE_CREATE_PARTITION;
-typedef struct _MEMORY_BASIC_INFORMATION {
- PVOID BaseAddress;
- PVOID AllocationBase;
- DWORD AllocationProtect;
- DWORD RegionSize;
- DWORD State;
- DWORD Protect;
- DWORD Type;
-} MEMORY_BASIC_INFORMATION,*PMEMORY_BASIC_INFORMATION;
-typedef struct _MESSAGE_RESOURCE_ENTRY {
- WORD Length;
- WORD Flags;
- BYTE Text[1];
-} MESSAGE_RESOURCE_ENTRY,*PMESSAGE_RESOURCE_ENTRY;
-typedef struct _MESSAGE_RESOURCE_BLOCK {
- DWORD LowId;
- DWORD HighId;
- DWORD OffsetToEntries;
-} MESSAGE_RESOURCE_BLOCK,*PMESSAGE_RESOURCE_BLOCK;
-typedef struct _MESSAGE_RESOURCE_DATA {
- DWORD NumberOfBlocks;
- MESSAGE_RESOURCE_BLOCK Blocks[1];
-} MESSAGE_RESOURCE_DATA,*PMESSAGE_RESOURCE_DATA;
-typedef struct _LIST_ENTRY {
- struct _LIST_ENTRY *Flink;
- struct _LIST_ENTRY *Blink;
-} LIST_ENTRY,*PLIST_ENTRY;
-typedef struct _SINGLE_LIST_ENTRY {
- struct _SINGLE_LIST_ENTRY *Next;
-} SINGLE_LIST_ENTRY,*PSINGLE_LIST_ENTRY;
-
-#ifndef _SLIST_HEADER_
-#define _SLIST_HEADER_
-#define SLIST_ENTRY SINGLE_LIST_ENTRY
-#define _SLIST_ENTRY _SINGLE_LIST_ENTRY
-#define PSLIST_ENTRY PSINGLE_LIST_ENTRY
-typedef union _SLIST_HEADER {
- ULONGLONG Alignment;
- _ANONYMOUS_STRUCT struct {
- SLIST_ENTRY Next;
- WORD Depth;
- WORD Sequence;
- } DUMMYSTRUCTNAME;
-} SLIST_HEADER,*PSLIST_HEADER;
-#endif /* !_SLIST_HEADER_ */
-
-typedef struct _RTL_CRITICAL_SECTION_DEBUG {
- WORD Type;
- WORD CreatorBackTraceIndex;
- struct _RTL_CRITICAL_SECTION *CriticalSection;
- LIST_ENTRY ProcessLocksList;
- DWORD EntryCount;
- DWORD ContentionCount;
- DWORD Spare[2];
-} RTL_CRITICAL_SECTION_DEBUG,*PRTL_CRITICAL_SECTION_DEBUG;
-typedef struct _RTL_CRITICAL_SECTION {
- PRTL_CRITICAL_SECTION_DEBUG DebugInfo;
- LONG LockCount;
- LONG RecursionCount;
- HANDLE OwningThread;
- HANDLE LockSemaphore;
- DWORD Reserved;
-} RTL_CRITICAL_SECTION,*PRTL_CRITICAL_SECTION;
-typedef struct _EVENTLOGRECORD {
- DWORD Length;
- DWORD Reserved;
- DWORD RecordNumber;
- DWORD TimeGenerated;
- DWORD TimeWritten;
- DWORD EventID;
- WORD EventType;
- WORD NumStrings;
- WORD EventCategory;
- WORD ReservedFlags;
- DWORD ClosingRecordNumber;
- DWORD StringOffset;
- DWORD UserSidLength;
- DWORD UserSidOffset;
- DWORD DataLength;
- DWORD DataOffset;
-} EVENTLOGRECORD,*PEVENTLOGRECORD;
-typedef struct _OSVERSIONINFOA {
- DWORD dwOSVersionInfoSize;
- DWORD dwMajorVersion;
- DWORD dwMinorVersion;
- DWORD dwBuildNumber;
- DWORD dwPlatformId;
- CHAR szCSDVersion[128];
-} OSVERSIONINFOA,*POSVERSIONINFOA,*LPOSVERSIONINFOA;
-typedef struct _OSVERSIONINFOW {
- DWORD dwOSVersionInfoSize;
- DWORD dwMajorVersion;
- DWORD dwMinorVersion;
- DWORD dwBuildNumber;
- DWORD dwPlatformId;
- WCHAR szCSDVersion[128];
-} OSVERSIONINFOW,*POSVERSIONINFOW,*LPOSVERSIONINFOW;
-typedef struct _OSVERSIONINFOEXA {
- DWORD dwOSVersionInfoSize;
- DWORD dwMajorVersion;
- DWORD dwMinorVersion;
- DWORD dwBuildNumber;
- DWORD dwPlatformId;
- CHAR szCSDVersion[128];
- WORD wServicePackMajor;
- WORD wServicePackMinor;
- WORD wSuiteMask;
- BYTE wProductType;
- BYTE wReserved;
-} OSVERSIONINFOEXA, *POSVERSIONINFOEXA, *LPOSVERSIONINFOEXA;
-typedef struct _OSVERSIONINFOEXW {
- DWORD dwOSVersionInfoSize;
- DWORD dwMajorVersion;
- DWORD dwMinorVersion;
- DWORD dwBuildNumber;
- DWORD dwPlatformId;
- WCHAR szCSDVersion[128];
- WORD wServicePackMajor;
- WORD wServicePackMinor;
- WORD wSuiteMask;
- BYTE wProductType;
- BYTE wReserved;
-} OSVERSIONINFOEXW, *POSVERSIONINFOEXW, *LPOSVERSIONINFOEXW;
-#pragma pack(push,2)
-typedef struct _IMAGE_VXD_HEADER {
- WORD e32_magic;
- BYTE e32_border;
- BYTE e32_worder;
- DWORD e32_level;
- WORD e32_cpu;
- WORD e32_os;
- DWORD e32_ver;
- DWORD e32_mflags;
- DWORD e32_mpages;
- DWORD e32_startobj;
- DWORD e32_eip;
- DWORD e32_stackobj;
- DWORD e32_esp;
- DWORD e32_pagesize;
- DWORD e32_lastpagesize;
- DWORD e32_fixupsize;
- DWORD e32_fixupsum;
- DWORD e32_ldrsize;
- DWORD e32_ldrsum;
- DWORD e32_objtab;
- DWORD e32_objcnt;
- DWORD e32_objmap;
- DWORD e32_itermap;
- DWORD e32_rsrctab;
- DWORD e32_rsrccnt;
- DWORD e32_restab;
- DWORD e32_enttab;
- DWORD e32_dirtab;
- DWORD e32_dircnt;
- DWORD e32_fpagetab;
- DWORD e32_frectab;
- DWORD e32_impmod;
- DWORD e32_impmodcnt;
- DWORD e32_impproc;
- DWORD e32_pagesum;
- DWORD e32_datapage;
- DWORD e32_preload;
- DWORD e32_nrestab;
- DWORD e32_cbnrestab;
- DWORD e32_nressum;
- DWORD e32_autodata;
- DWORD e32_debuginfo;
- DWORD e32_debuglen;
- DWORD e32_instpreload;
- DWORD e32_instdemand;
- DWORD e32_heapsize;
- BYTE e32_res3[12];
- DWORD e32_winresoff;
- DWORD e32_winreslen;
- WORD e32_devid;
- WORD e32_ddkver;
-} IMAGE_VXD_HEADER,*PIMAGE_VXD_HEADER;
-#pragma pack(pop)
-#pragma pack(push,4)
-typedef struct _IMAGE_FILE_HEADER {
- WORD Machine;
- WORD NumberOfSections;
- DWORD TimeDateStamp;
- DWORD PointerToSymbolTable;
- DWORD NumberOfSymbols;
- WORD SizeOfOptionalHeader;
- WORD Characteristics;
-} IMAGE_FILE_HEADER, *PIMAGE_FILE_HEADER;
-typedef struct _IMAGE_DATA_DIRECTORY {
- DWORD VirtualAddress;
- DWORD Size;
-} IMAGE_DATA_DIRECTORY,*PIMAGE_DATA_DIRECTORY;
-typedef struct _IMAGE_OPTIONAL_HEADER {
- WORD Magic;
- BYTE MajorLinkerVersion;
- BYTE MinorLinkerVersion;
- DWORD SizeOfCode;
- DWORD SizeOfInitializedData;
- DWORD SizeOfUninitializedData;
- DWORD AddressOfEntryPoint;
- DWORD BaseOfCode;
- DWORD BaseOfData;
- DWORD ImageBase;
- DWORD SectionAlignment;
- DWORD FileAlignment;
- WORD MajorOperatingSystemVersion;
- WORD MinorOperatingSystemVersion;
- WORD MajorImageVersion;
- WORD MinorImageVersion;
- WORD MajorSubsystemVersion;
- WORD MinorSubsystemVersion;
- DWORD Reserved1;
- DWORD SizeOfImage;
- DWORD SizeOfHeaders;
- DWORD CheckSum;
- WORD Subsystem;
- WORD DllCharacteristics;
- DWORD SizeOfStackReserve;
- DWORD SizeOfStackCommit;
- DWORD SizeOfHeapReserve;
- DWORD SizeOfHeapCommit;
- DWORD LoaderFlags;
- DWORD NumberOfRvaAndSizes;
- IMAGE_DATA_DIRECTORY DataDirectory[IMAGE_NUMBEROF_DIRECTORY_ENTRIES];
-} IMAGE_OPTIONAL_HEADER,*PIMAGE_OPTIONAL_HEADER;
-typedef struct _IMAGE_ROM_OPTIONAL_HEADER {
- WORD Magic;
- BYTE MajorLinkerVersion;
- BYTE MinorLinkerVersion;
- DWORD SizeOfCode;
- DWORD SizeOfInitializedData;
- DWORD SizeOfUninitializedData;
- DWORD AddressOfEntryPoint;
- DWORD BaseOfCode;
- DWORD BaseOfData;
- DWORD BaseOfBss;
- DWORD GprMask;
- DWORD CprMask[4];
- DWORD GpValue;
-} IMAGE_ROM_OPTIONAL_HEADER,*PIMAGE_ROM_OPTIONAL_HEADER;
-#pragma pack(pop)
-#pragma pack(push,2)
-typedef struct _IMAGE_DOS_HEADER {
- WORD e_magic;
- WORD e_cblp;
- WORD e_cp;
- WORD e_crlc;
- WORD e_cparhdr;
- WORD e_minalloc;
- WORD e_maxalloc;
- WORD e_ss;
- WORD e_sp;
- WORD e_csum;
- WORD e_ip;
- WORD e_cs;
- WORD e_lfarlc;
- WORD e_ovno;
- WORD e_res[4];
- WORD e_oemid;
- WORD e_oeminfo;
- WORD e_res2[10];
- LONG e_lfanew;
-} IMAGE_DOS_HEADER,*PIMAGE_DOS_HEADER;
-typedef struct _IMAGE_OS2_HEADER {
- WORD ne_magic;
- CHAR ne_ver;
- CHAR ne_rev;
- WORD ne_enttab;
- WORD ne_cbenttab;
- LONG ne_crc;
- WORD ne_flags;
- WORD ne_autodata;
- WORD ne_heap;
- WORD ne_stack;
- LONG ne_csip;
- LONG ne_sssp;
- WORD ne_cseg;
- WORD ne_cmod;
- WORD ne_cbnrestab;
- WORD ne_segtab;
- WORD ne_rsrctab;
- WORD ne_restab;
- WORD ne_modtab;
- WORD ne_imptab;
- LONG ne_nrestab;
- WORD ne_cmovent;
- WORD ne_align;
- WORD ne_cres;
- BYTE ne_exetyp;
- BYTE ne_flagsothers;
- WORD ne_pretthunks;
- WORD ne_psegrefbytes;
- WORD ne_swaparea;
- WORD ne_expver;
-} IMAGE_OS2_HEADER,*PIMAGE_OS2_HEADER;
-#pragma pack(pop)
-#pragma pack(push,4)
-typedef struct _IMAGE_NT_HEADERS {
- DWORD Signature;
- IMAGE_FILE_HEADER FileHeader;
- IMAGE_OPTIONAL_HEADER OptionalHeader;
-} IMAGE_NT_HEADERS,*PIMAGE_NT_HEADERS;
-typedef struct _IMAGE_ROM_HEADERS {
- IMAGE_FILE_HEADER FileHeader;
- IMAGE_ROM_OPTIONAL_HEADER OptionalHeader;
-} IMAGE_ROM_HEADERS,*PIMAGE_ROM_HEADERS;
-typedef struct _IMAGE_SECTION_HEADER {
- BYTE Name[IMAGE_SIZEOF_SHORT_NAME];
- union {
- DWORD PhysicalAddress;
- DWORD VirtualSize;
- } Misc;
- DWORD VirtualAddress;
- DWORD SizeOfRawData;
- DWORD PointerToRawData;
- DWORD PointerToRelocations;
- DWORD PointerToLinenumbers;
- WORD NumberOfRelocations;
- WORD NumberOfLinenumbers;
- DWORD Characteristics;
-} IMAGE_SECTION_HEADER,*PIMAGE_SECTION_HEADER;
-#pragma pack(pop)
-#pragma pack(push,2)
-typedef struct _IMAGE_SYMBOL {
- union {
- BYTE ShortName[8];
- struct {
- DWORD Short;
- DWORD Long;
- } Name;
- PBYTE LongName[2];
- } N;
- DWORD Value;
- SHORT SectionNumber;
- WORD Type;
- BYTE StorageClass;
- BYTE NumberOfAuxSymbols;
-} IMAGE_SYMBOL,*PIMAGE_SYMBOL;
-typedef union _IMAGE_AUX_SYMBOL {
- struct {
- DWORD TagIndex;
- union {
- struct {
- WORD Linenumber;
- WORD Size;
- } LnSz;
- DWORD TotalSize;
- } Misc;
- union {
- struct {
- DWORD PointerToLinenumber;
- DWORD PointerToNextFunction;
- } Function;
- struct {
- WORD Dimension[4];
- } Array;
- } FcnAry;
- WORD TvIndex;
- } Sym;
- struct {
- BYTE Name[IMAGE_SIZEOF_SYMBOL];
- } File;
- struct {
- DWORD Length;
- WORD NumberOfRelocations;
- WORD NumberOfLinenumbers;
- DWORD CheckSum;
- SHORT Number;
- BYTE Selection;
- } Section;
-} IMAGE_AUX_SYMBOL,*PIMAGE_AUX_SYMBOL;
-typedef struct _IMAGE_COFF_SYMBOLS_HEADER {
- DWORD NumberOfSymbols;
- DWORD LvaToFirstSymbol;
- DWORD NumberOfLinenumbers;
- DWORD LvaToFirstLinenumber;
- DWORD RvaToFirstByteOfCode;
- DWORD RvaToLastByteOfCode;
- DWORD RvaToFirstByteOfData;
- DWORD RvaToLastByteOfData;
-} IMAGE_COFF_SYMBOLS_HEADER,*PIMAGE_COFF_SYMBOLS_HEADER;
-typedef struct _IMAGE_RELOCATION {
- _ANONYMOUS_UNION union {
- DWORD VirtualAddress;
- DWORD RelocCount;
- } DUMMYUNIONNAME;
- DWORD SymbolTableIndex;
- WORD Type;
-} IMAGE_RELOCATION,*PIMAGE_RELOCATION;
-#pragma pack(pop)
-#pragma pack(push,4)
-typedef struct _IMAGE_BASE_RELOCATION {
- DWORD VirtualAddress;
- DWORD SizeOfBlock;
-} IMAGE_BASE_RELOCATION,*PIMAGE_BASE_RELOCATION;
-#pragma pack(pop)
-#pragma pack(push,2)
-typedef struct _IMAGE_LINENUMBER {
- union {
- DWORD SymbolTableIndex;
- DWORD VirtualAddress;
- } Type;
- WORD Linenumber;
-} IMAGE_LINENUMBER,*PIMAGE_LINENUMBER;
-#pragma pack(pop)
-#pragma pack(push,4)
-typedef struct _IMAGE_ARCHIVE_MEMBER_HEADER {
- BYTE Name[16];
- BYTE Date[12];
- BYTE UserID[6];
- BYTE GroupID[6];
- BYTE Mode[8];
- BYTE Size[10];
- BYTE EndHeader[2];
-} IMAGE_ARCHIVE_MEMBER_HEADER,*PIMAGE_ARCHIVE_MEMBER_HEADER;
-typedef struct _IMAGE_EXPORT_DIRECTORY {
- DWORD Characteristics;
- DWORD TimeDateStamp;
- WORD MajorVersion;
- WORD MinorVersion;
- DWORD Name;
- DWORD Base;
- DWORD NumberOfFunctions;
- DWORD NumberOfNames;
- DWORD AddressOfFunctions;
- DWORD AddressOfNames;
- DWORD AddressOfNameOrdinals;
-} IMAGE_EXPORT_DIRECTORY,*PIMAGE_EXPORT_DIRECTORY;
-typedef struct _IMAGE_IMPORT_BY_NAME {
- WORD Hint;
- BYTE Name[1];
-} IMAGE_IMPORT_BY_NAME,*PIMAGE_IMPORT_BY_NAME;
-typedef struct _IMAGE_THUNK_DATA32 {
- union {
- DWORD ForwarderString;
- DWORD Function;
- DWORD Ordinal;
- DWORD AddressOfData;
- } u1;
-} IMAGE_THUNK_DATA32,*PIMAGE_THUNK_DATA32;
-typedef struct _IMAGE_THUNK_DATA64 {
- union {
- ULONGLONG ForwarderString;
- ULONGLONG Function;
- ULONGLONG Ordinal;
- ULONGLONG AddressOfData;
- } u1;
-} IMAGE_THUNK_DATA64, *PIMAGE_THUNK_DATA64;
-#ifdef __WIN64
-typedef IMAGE_THUNK_DATA64 IMAGE_THUNK_DATA;
-typedef PIMAGE_THUNK_DATA64 PIMAGE_THUNK_DATA;
-#else
-typedef IMAGE_THUNK_DATA32 IMAGE_THUNK_DATA;
-typedef PIMAGE_THUNK_DATA32 PIMAGE_THUNK_DATA;
-#endif
-typedef struct _IMAGE_IMPORT_DESCRIPTOR {
- _ANONYMOUS_UNION union {
- DWORD Characteristics;
- DWORD OriginalFirstThunk;
- } DUMMYUNIONNAME;
- DWORD TimeDateStamp;
- DWORD ForwarderChain;
- DWORD Name;
- DWORD FirstThunk;
-} IMAGE_IMPORT_DESCRIPTOR,*PIMAGE_IMPORT_DESCRIPTOR;
-typedef struct _IMAGE_BOUND_IMPORT_DESCRIPTOR {
- DWORD TimeDateStamp;
- WORD OffsetModuleName;
- WORD NumberOfModuleForwarderRefs;
-} IMAGE_BOUND_IMPORT_DESCRIPTOR,*PIMAGE_BOUND_IMPORT_DESCRIPTOR;
-typedef struct _IMAGE_BOUND_FORWARDER_REF {
- DWORD TimeDateStamp;
- WORD OffsetModuleName;
- WORD Reserved;
-} IMAGE_BOUND_FORWARDER_REF,*PIMAGE_BOUND_FORWARDER_REF;
-typedef void(NTAPI *PIMAGE_TLS_CALLBACK)(PVOID,DWORD,PVOID);
-typedef struct _IMAGE_TLS_DIRECTORY32 {
- DWORD StartAddressOfRawData;
- DWORD EndAddressOfRawData;
- DWORD AddressOfIndex;
- DWORD AddressOfCallBacks;
- DWORD SizeOfZeroFill;
- DWORD Characteristics;
-} IMAGE_TLS_DIRECTORY32,*PIMAGE_TLS_DIRECTORY32;
-typedef struct _IMAGE_TLS_DIRECTORY64 {
- ULONGLONG StartAddressOfRawData;
- ULONGLONG EndAddressOfRawData;
- ULONGLONG AddressOfIndex;
- ULONGLONG AddressOfCallBacks;
- DWORD SizeOfZeroFill;
- DWORD Characteristics;
-} IMAGE_TLS_DIRECTORY64, *PIMAGE_TLS_DIRECTORY64;
-#ifdef __WIN64
-typedef IMAGE_TLS_DIRECTORY64 IMAGE_TLS_DIRECTORY;
-typedef PIMAGE_TLS_DIRECTORY64 PIMAGE_TLS_DIRECTORY;
-#else
-typedef IMAGE_TLS_DIRECTORY32 IMAGE_TLS_DIRECTORY;
-typedef PIMAGE_TLS_DIRECTORY32 PIMAGE_TLS_DIRECTORY;
-#endif
-typedef struct _IMAGE_RESOURCE_DIRECTORY {
- DWORD Characteristics;
- DWORD TimeDateStamp;
- WORD MajorVersion;
- WORD MinorVersion;
- WORD NumberOfNamedEntries;
- WORD NumberOfIdEntries;
-} IMAGE_RESOURCE_DIRECTORY,*PIMAGE_RESOURCE_DIRECTORY;
-_ANONYMOUS_STRUCT typedef struct _IMAGE_RESOURCE_DIRECTORY_ENTRY {
- _ANONYMOUS_UNION union {
- _ANONYMOUS_STRUCT struct {
- DWORD NameOffset:31;
- DWORD NameIsString:1;
- }DUMMYSTRUCTNAME;
- DWORD Name;
- WORD Id;
- } DUMMYUNIONNAME;
- _ANONYMOUS_UNION union {
- DWORD OffsetToData;
- _ANONYMOUS_STRUCT struct {
- DWORD OffsetToDirectory:31;
- DWORD DataIsDirectory:1;
- } DUMMYSTRUCTNAME2;
- } DUMMYUNIONNAME2;
-} IMAGE_RESOURCE_DIRECTORY_ENTRY,*PIMAGE_RESOURCE_DIRECTORY_ENTRY;
-typedef struct _IMAGE_RESOURCE_DIRECTORY_STRING {
- WORD Length;
- CHAR NameString[1];
-} IMAGE_RESOURCE_DIRECTORY_STRING,*PIMAGE_RESOURCE_DIRECTORY_STRING;
-typedef struct _IMAGE_RESOURCE_DIR_STRING_U {
- WORD Length;
- WCHAR NameString[1];
-} IMAGE_RESOURCE_DIR_STRING_U,*PIMAGE_RESOURCE_DIR_STRING_U;
-typedef struct _IMAGE_RESOURCE_DATA_ENTRY {
- DWORD OffsetToData;
- DWORD Size;
- DWORD CodePage;
- DWORD Reserved;
-} IMAGE_RESOURCE_DATA_ENTRY,*PIMAGE_RESOURCE_DATA_ENTRY;
-typedef struct _IMAGE_LOAD_CONFIG_DIRECTORY {
- DWORD Characteristics;
- DWORD TimeDateStamp;
- WORD MajorVersion;
- WORD MinorVersion;
- DWORD GlobalFlagsClear;
- DWORD GlobalFlagsSet;
- DWORD CriticalSectionDefaultTimeout;
- DWORD DeCommitFreeBlockThreshold;
- DWORD DeCommitTotalFreeThreshold;
- PVOID LockPrefixTable;
- DWORD MaximumAllocationSize;
- DWORD VirtualMemoryThreshold;
- DWORD ProcessHeapFlags;
- DWORD Reserved[4];
-} IMAGE_LOAD_CONFIG_DIRECTORY,*PIMAGE_LOAD_CONFIG_DIRECTORY;
-typedef struct _IMAGE_RUNTIME_FUNCTION_ENTRY {
- DWORD BeginAddress;
- DWORD EndAddress;
- PVOID ExceptionHandler;
- PVOID HandlerData;
- DWORD PrologEndAddress;
-} IMAGE_RUNTIME_FUNCTION_ENTRY,*PIMAGE_RUNTIME_FUNCTION_ENTRY;
-typedef struct _IMAGE_DEBUG_DIRECTORY {
- DWORD Characteristics;
- DWORD TimeDateStamp;
- WORD MajorVersion;
- WORD MinorVersion;
- DWORD Type;
- DWORD SizeOfData;
- DWORD AddressOfRawData;
- DWORD PointerToRawData;
-} IMAGE_DEBUG_DIRECTORY,*PIMAGE_DEBUG_DIRECTORY;
-typedef struct _FPO_DATA {
- DWORD ulOffStart;
- DWORD cbProcSize;
- DWORD cdwLocals;
- WORD cdwParams;
- WORD cbProlog:8;
- WORD cbRegs:3;
- WORD fHasSEH:1;
- WORD fUseBP:1;
- WORD reserved:1;
- WORD cbFrame:2;
-} FPO_DATA,*PFPO_DATA;
-typedef struct _IMAGE_DEBUG_MISC {
- DWORD DataType;
- DWORD Length;
- BOOLEAN Unicode;
- BYTE Reserved[3];
- BYTE Data[1];
-} IMAGE_DEBUG_MISC,*PIMAGE_DEBUG_MISC;
-typedef struct _IMAGE_FUNCTION_ENTRY {
- DWORD StartingAddress;
- DWORD EndingAddress;
- DWORD EndOfPrologue;
-} IMAGE_FUNCTION_ENTRY,*PIMAGE_FUNCTION_ENTRY;
-typedef struct _IMAGE_SEPARATE_DEBUG_HEADER {
- WORD Signature;
- WORD Flags;
- WORD Machine;
- WORD Characteristics;
- DWORD TimeDateStamp;
- DWORD CheckSum;
- DWORD ImageBase;
- DWORD SizeOfImage;
- DWORD NumberOfSections;
- DWORD ExportedNamesSize;
- DWORD DebugDirectorySize;
- DWORD SectionAlignment;
- DWORD Reserved[2];
-} IMAGE_SEPARATE_DEBUG_HEADER,*PIMAGE_SEPARATE_DEBUG_HEADER;
-#pragma pack(pop)
-typedef enum _CM_SERVICE_NODE_TYPE {
- DriverType=SERVICE_KERNEL_DRIVER,
- FileSystemType=SERVICE_FILE_SYSTEM_DRIVER,
- Win32ServiceOwnProcess=SERVICE_WIN32_OWN_PROCESS,
- Win32ServiceShareProcess=SERVICE_WIN32_SHARE_PROCESS,
- AdapterType=SERVICE_ADAPTER,
- RecognizerType=SERVICE_RECOGNIZER_DRIVER
-} SERVICE_NODE_TYPE;
-typedef enum _CM_SERVICE_LOAD_TYPE {
- BootLoad=SERVICE_BOOT_START,
- SystemLoad=SERVICE_SYSTEM_START,
- AutoLoad=SERVICE_AUTO_START,
- DemandLoad=SERVICE_DEMAND_START,
- DisableLoad=SERVICE_DISABLED
-} SERVICE_LOAD_TYPE;
-typedef enum _CM_ERROR_CONTROL_TYPE {
- IgnoreError=SERVICE_ERROR_IGNORE,
- NormalError=SERVICE_ERROR_NORMAL,
- SevereError=SERVICE_ERROR_SEVERE,
- CriticalError=SERVICE_ERROR_CRITICAL
-} SERVICE_ERROR_TYPE;
-typedef struct _NT_TIB {
- struct _EXCEPTION_REGISTRATION_RECORD *ExceptionList;
- PVOID StackBase;
- PVOID StackLimit;
- PVOID SubSystemTib;
- _ANONYMOUS_UNION union {
- PVOID FiberData;
- DWORD Version;
- } DUMMYUNIONNAME;
- PVOID ArbitraryUserPointer;
- struct _NT_TIB *Self;
-} NT_TIB,*PNT_TIB;
-typedef struct _REPARSE_DATA_BUFFER {
- DWORD ReparseTag;
- WORD ReparseDataLength;
- WORD Reserved;
- _ANONYMOUS_UNION union {
- struct {
- WORD SubstituteNameOffset;
- WORD SubstituteNameLength;
- WORD PrintNameOffset;
- WORD PrintNameLength;
- WCHAR PathBuffer[1];
- } SymbolicLinkReparseBuffer;
- struct {
- WORD SubstituteNameOffset;
- WORD SubstituteNameLength;
- WORD PrintNameOffset;
- WORD PrintNameLength;
- WCHAR PathBuffer[1];
- } MountPointReparseBuffer;
- struct {
- BYTE DataBuffer[1];
- } GenericReparseBuffer;
- } DUMMYUNIONNAME;
-} REPARSE_DATA_BUFFER, *PREPARSE_DATA_BUFFER;
-typedef struct _REPARSE_GUID_DATA_BUFFER {
- DWORD ReparseTag;
- WORD ReparseDataLength;
- WORD Reserved;
- GUID ReparseGuid;
- struct {
- BYTE DataBuffer[1];
- } GenericReparseBuffer;
-} REPARSE_GUID_DATA_BUFFER, *PREPARSE_GUID_DATA_BUFFER;
-typedef struct _REPARSE_POINT_INFORMATION {
- WORD ReparseDataLength;
- WORD UnparsedNameLength;
-} REPARSE_POINT_INFORMATION, *PREPARSE_POINT_INFORMATION;
-
-typedef union _FILE_SEGMENT_ELEMENT {
- PVOID64 Buffer;
- ULONGLONG Alignment;
-}FILE_SEGMENT_ELEMENT, *PFILE_SEGMENT_ELEMENT;
-
-/* JOBOBJECT_BASIC_LIMIT_INFORMATION.LimitFlags constants */
-#define JOB_OBJECT_LIMIT_WORKINGSET 0x0001
-#define JOB_OBJECT_LIMIT_PROCESS_TIME 0x0002
-#define JOB_OBJECT_LIMIT_JOB_TIME 0x0004
-#define JOB_OBJECT_LIMIT_ACTIVE_PROCESS 0x0008
-#define JOB_OBJECT_LIMIT_AFFINITY 0x0010
-#define JOB_OBJECT_LIMIT_PRIORITY_CLASS 0x0020
-#define JOB_OBJECT_LIMIT_PRESERVE_JOB_TIME 0x0040
-#define JOB_OBJECT_LIMIT_SCHEDULING_CLASS 0x0080
-#define JOB_OBJECT_LIMIT_PROCESS_MEMORY 0x0100
-#define JOB_OBJECT_LIMIT_JOB_MEMORY 0x0200
-#define JOB_OBJECT_LIMIT_DIE_ON_UNHANDLED_EXCEPTION 0x0400
-#define JOB_OBJECT_BREAKAWAY_OK 0x0800
-#define JOB_OBJECT_SILENT_BREAKAWAY 0x1000
-
-/* JOBOBJECT_BASIC_UI_RESTRICTIONS.UIRestrictionsClass constants */
-#define JOB_OBJECT_UILIMIT_HANDLES 0x0001
-#define JOB_OBJECT_UILIMIT_READCLIPBOARD 0x0002
-#define JOB_OBJECT_UILIMIT_WRITECLIPBOARD 0x0004
-#define JOB_OBJECT_UILIMIT_SYSTEMPARAMETERS 0x0008
-#define JOB_OBJECT_UILIMIT_DISPLAYSETTINGS 0x0010
-#define JOB_OBJECT_UILIMIT_GLOBALATOMS 0x0020
-#define JOB_OBJECT_UILIMIT_DESKTOP 0x0040
-#define JOB_OBJECT_UILIMIT_EXITWINDOWS 0x0080
-
-/* JOBOBJECT_SECURITY_LIMIT_INFORMATION.SecurityLimitFlags constants */
-#define JOB_OBJECT_SECURITY_NO_ADMIN 0x0001
-#define JOB_OBJECT_SECURITY_RESTRICTED_TOKEN 0x0002
-#define JOB_OBJECT_SECURITY_ONLY_TOKEN 0x0004
-#define JOB_OBJECT_SECURITY_FILTER_TOKENS 0x0008
-
-/* JOBOBJECT_END_OF_JOB_TIME_INFORMATION.EndOfJobTimeAction constants */
-#define JOB_OBJECT_TERMINATE_AT_END_OF_JOB 0
-#define JOB_OBJECT_POST_AT_END_OF_JOB 1
-
-#define JOB_OBJECT_MSG_END_OF_JOB_TIME 1
-#define JOB_OBJECT_MSG_END_OF_PROCESS_TIME 2
-#define JOB_OBJECT_MSG_ACTIVE_PROCESS_LIMIT 3
-#define JOB_OBJECT_MSG_ACTIVE_PROCESS_ZERO 4
-#define JOB_OBJECT_MSG_NEW_PROCESS 6
-#define JOB_OBJECT_MSG_EXIT_PROCESS 7
-#define JOB_OBJECT_MSG_ABNORMAL_EXIT_PROCESS 8
-#define JOB_OBJECT_MSG_PROCESS_MEMORY_LIMIT 9
-#define JOB_OBJECT_MSG_JOB_MEMORY_LIMIT 10
-
-typedef enum _JOBOBJECTINFOCLASS {
- JobObjectBasicAccountingInformation = 1,
- JobObjectBasicLimitInformation,
- JobObjectBasicProcessIdList,
- JobObjectBasicUIRestrictions,
- JobObjectSecurityLimitInformation,
- JobObjectEndOfJobTimeInformation,
- JobObjectAssociateCompletionPortInformation,
- JobObjectBasicAndIoAccountingInformation,
- JobObjectExtendedLimitInformation,
- JobObjectJobSetInformation,
- MaxJobObjectInfoClass
-} JOBOBJECTINFOCLASS;
-typedef struct _JOBOBJECT_BASIC_ACCOUNTING_INFORMATION {
- LARGE_INTEGER TotalUserTime;
- LARGE_INTEGER TotalKernelTime;
- LARGE_INTEGER ThisPeriodTotalUserTime;
- LARGE_INTEGER ThisPeriodTotalKernelTime;
- DWORD TotalPageFaultCount;
- DWORD TotalProcesses;
- DWORD ActiveProcesses;
- DWORD TotalTerminatedProcesses;
-} JOBOBJECT_BASIC_ACCOUNTING_INFORMATION,*PJOBOBJECT_BASIC_ACCOUNTING_INFORMATION;
-typedef struct _JOBOBJECT_BASIC_LIMIT_INFORMATION {
- LARGE_INTEGER PerProcessUserTimeLimit;
- LARGE_INTEGER PerJobUserTimeLimit;
- DWORD LimitFlags;
- SIZE_T MinimumWorkingSetSize;
- SIZE_T MaximumWorkingSetSize;
- DWORD ActiveProcessLimit;
- ULONG_PTR Affinity;
- DWORD PriorityClass;
- DWORD SchedulingClass;
-} JOBOBJECT_BASIC_LIMIT_INFORMATION,*PJOBOBJECT_BASIC_LIMIT_INFORMATION;
-typedef struct _JOBOBJECT_BASIC_PROCESS_ID_LIST {
- DWORD NumberOfAssignedProcesses;
- DWORD NumberOfProcessIdsInList;
- ULONG_PTR ProcessIdList[1];
-} JOBOBJECT_BASIC_PROCESS_ID_LIST, *PJOBOBJECT_BASIC_PROCESS_ID_LIST;
-typedef struct _JOBOBJECT_BASIC_UI_RESTRICTIONS {
- DWORD UIRestrictionsClass;
-} JOBOBJECT_BASIC_UI_RESTRICTIONS,*PJOBOBJECT_BASIC_UI_RESTRICTIONS;
-typedef struct _JOBOBJECT_SECURITY_LIMIT_INFORMATION {
- DWORD SecurityLimitFlags;
- HANDLE JobToken;
- PTOKEN_GROUPS SidsToDisable;
- PTOKEN_PRIVILEGES PrivilegesToDelete;
- PTOKEN_GROUPS RestrictedSids;
-} JOBOBJECT_SECURITY_LIMIT_INFORMATION,*PJOBOBJECT_SECURITY_LIMIT_INFORMATION;
-typedef struct _JOBOBJECT_END_OF_JOB_TIME_INFORMATION {
- DWORD EndOfJobTimeAction;
-} JOBOBJECT_END_OF_JOB_TIME_INFORMATION,*PJOBOBJECT_END_OF_JOB_TIME_INFORMATION;
-typedef struct _JOBOBJECT_ASSOCIATE_COMPLETION_PORT {
- PVOID CompletionKey;
- HANDLE CompletionPort;
-} JOBOBJECT_ASSOCIATE_COMPLETION_PORT,*PJOBOBJECT_ASSOCIATE_COMPLETION_PORT;
-typedef struct _JOBOBJECT_BASIC_AND_IO_ACCOUNTING_INFORMATION {
- JOBOBJECT_BASIC_ACCOUNTING_INFORMATION BasicInfo;
- IO_COUNTERS IoInfo;
-} JOBOBJECT_BASIC_AND_IO_ACCOUNTING_INFORMATION,*PJOBOBJECT_BASIC_AND_IO_ACCOUNTING_INFORMATION;
-typedef struct _JOBOBJECT_EXTENDED_LIMIT_INFORMATION {
- JOBOBJECT_BASIC_LIMIT_INFORMATION BasicLimitInformation;
- IO_COUNTERS IoInfo;
- SIZE_T ProcessMemoryLimit;
- SIZE_T JobMemoryLimit;
- SIZE_T PeakProcessMemoryUsed;
- SIZE_T PeakJobMemoryUsed;
-} JOBOBJECT_EXTENDED_LIMIT_INFORMATION,*PJOBOBJECT_EXTENDED_LIMIT_INFORMATION;
-typedef struct _JOBOBJECT_JOBSET_INFORMATION {
- DWORD MemberLevel;
-} JOBOBJECT_JOBSET_INFORMATION,*PJOBOBJECT_JOBSET_INFORMATION;
-
-/* Fixme: Making these defines conditional on WINVER will break ddk includes */
-#if 1 /* (WINVER >= 0x0500) */
-#include <pshpack4.h>
-
-#define ES_SYSTEM_REQUIRED 0x00000001
-#define ES_DISPLAY_REQUIRED 0x00000002
-#define ES_USER_PRESENT 0x00000004
-#define ES_CONTINUOUS 0x80000000
-
-typedef enum _LATENCY_TIME {
- LT_DONT_CARE,
- LT_LOWEST_LATENCY
-} LATENCY_TIME, *PLATENCY_TIME;
-
-typedef enum _SYSTEM_POWER_STATE {
- PowerSystemUnspecified,
- PowerSystemWorking,
- PowerSystemSleeping1,
- PowerSystemSleeping2,
- PowerSystemSleeping3,
- PowerSystemHibernate,
- PowerSystemShutdown,
- PowerSystemMaximum
-} SYSTEM_POWER_STATE, *PSYSTEM_POWER_STATE;
-#define POWER_SYSTEM_MAXIMUM PowerSystemMaximum
-
-typedef enum {
- PowerActionNone,
- PowerActionReserved,
- PowerActionSleep,
- PowerActionHibernate,
- PowerActionShutdown,
- PowerActionShutdownReset,
- PowerActionShutdownOff,
- PowerActionWarmEject
-} POWER_ACTION, *PPOWER_ACTION;
-
-typedef enum _DEVICE_POWER_STATE {
- PowerDeviceUnspecified,
- PowerDeviceD0,
- PowerDeviceD1,
- PowerDeviceD2,
- PowerDeviceD3,
- PowerDeviceMaximum
-} DEVICE_POWER_STATE, *PDEVICE_POWER_STATE;
-
-typedef struct {
- DWORD Granularity;
- DWORD Capacity;
-} BATTERY_REPORTING_SCALE, *PBATTERY_REPORTING_SCALE;
-
-typedef struct _POWER_ACTION_POLICY {
- POWER_ACTION Action;
- ULONG Flags;
- ULONG EventCode;
-} POWER_ACTION_POLICY, *PPOWER_ACTION_POLICY;
-
-/* POWER_ACTION_POLICY.Flags constants */
-#define POWER_ACTION_QUERY_ALLOWED 0x00000001
-#define POWER_ACTION_UI_ALLOWED 0x00000002
-#define POWER_ACTION_OVERRIDE_APPS 0x00000004
-#define POWER_ACTION_LIGHTEST_FIRST 0x10000000
-#define POWER_ACTION_LOCK_CONSOLE 0x20000000
-#define POWER_ACTION_DISABLE_WAKES 0x40000000
-#define POWER_ACTION_CRITICAL 0x80000000
-
-/* POWER_ACTION_POLICY.EventCode constants */
-#define POWER_LEVEL_USER_NOTIFY_TEXT 0x00000001
-#define POWER_LEVEL_USER_NOTIFY_SOUND 0x00000002
-#define POWER_LEVEL_USER_NOTIFY_EXEC 0x00000004
-#define POWER_USER_NOTIFY_BUTTON 0x00000008
-#define POWER_USER_NOTIFY_SHUTDOWN 0x00000010
-#define POWER_FORCE_TRIGGER_RESET 0x80000000
-
-#define DISCHARGE_POLICY_CRITICAL 0
-#define DISCHARGE_POLICY_LOW 1
-#define NUM_DISCHARGE_POLICIES 4
-
-#define PO_THROTTLE_NONE 0
-#define PO_THROTTLE_CONSTANT 1
-#define PO_THROTTLE_DEGRADE 2
-#define PO_THROTTLE_ADAPTIVE 3
-#define PO_THROTTLE_MAXIMUM 4
-
-typedef struct _SYSTEM_POWER_LEVEL {
- BOOLEAN Enable;
- UCHAR Spare[3];
- ULONG BatteryLevel;
- POWER_ACTION_POLICY PowerPolicy;
- SYSTEM_POWER_STATE MinSystemState;
-} SYSTEM_POWER_LEVEL, *PSYSTEM_POWER_LEVEL;
-
-typedef struct _SYSTEM_POWER_POLICY {
- ULONG Revision;
- POWER_ACTION_POLICY PowerButton;
- POWER_ACTION_POLICY SleepButton;
- POWER_ACTION_POLICY LidClose;
- SYSTEM_POWER_STATE LidOpenWake;
- ULONG Reserved;
- POWER_ACTION_POLICY Idle;
- ULONG IdleTimeout;
- UCHAR IdleSensitivity;
- UCHAR DynamicThrottle;
- UCHAR Spare2[2];
- SYSTEM_POWER_STATE MinSleep;
- SYSTEM_POWER_STATE MaxSleep;
- SYSTEM_POWER_STATE ReducedLatencySleep;
- ULONG WinLogonFlags;
- ULONG Spare3;
- ULONG DozeS4Timeout;
- ULONG BroadcastCapacityResolution;
- SYSTEM_POWER_LEVEL DischargePolicy[NUM_DISCHARGE_POLICIES];
- ULONG VideoTimeout;
- BOOLEAN VideoDimDisplay;
- ULONG VideoReserved[3];
- ULONG SpindownTimeout;
- BOOLEAN OptimizeForPower;
- UCHAR FanThrottleTolerance;
- UCHAR ForcedThrottle;
- UCHAR MinThrottle;
- POWER_ACTION_POLICY OverThrottled;
-} SYSTEM_POWER_POLICY, *PSYSTEM_POWER_POLICY;
-
-typedef struct _SYSTEM_POWER_CAPABILITIES {
- BOOLEAN PowerButtonPresent;
- BOOLEAN SleepButtonPresent;
- BOOLEAN LidPresent;
- BOOLEAN SystemS1;
- BOOLEAN SystemS2;
- BOOLEAN SystemS3;
- BOOLEAN SystemS4;
- BOOLEAN SystemS5;
- BOOLEAN HiberFilePresent;
- BOOLEAN FullWake;
- BOOLEAN VideoDimPresent;
- BOOLEAN ApmPresent;
- BOOLEAN UpsPresent;
- BOOLEAN ThermalControl;
- BOOLEAN ProcessorThrottle;
- UCHAR ProcessorMinThrottle;
- UCHAR ProcessorMaxThrottle;
- UCHAR spare2[4];
- BOOLEAN DiskSpinDown;
- UCHAR spare3[8];
- BOOLEAN SystemBatteriesPresent;
- BOOLEAN BatteriesAreShortTerm;
- BATTERY_REPORTING_SCALE BatteryScale[3];
- SYSTEM_POWER_STATE AcOnLineWake;
- SYSTEM_POWER_STATE SoftLidWake;
- SYSTEM_POWER_STATE RtcWake;
- SYSTEM_POWER_STATE MinDeviceWakeState;
- SYSTEM_POWER_STATE DefaultLowLatencyWake;
-} SYSTEM_POWER_CAPABILITIES, *PSYSTEM_POWER_CAPABILITIES;
-
-typedef struct _SYSTEM_BATTERY_STATE {
- BOOLEAN AcOnLine;
- BOOLEAN BatteryPresent;
- BOOLEAN Charging;
- BOOLEAN Discharging;
- BOOLEAN Spare1[4];
- ULONG MaxCapacity;
- ULONG RemainingCapacity;
- ULONG Rate;
- ULONG EstimatedTime;
- ULONG DefaultAlert1;
- ULONG DefaultAlert2;
-} SYSTEM_BATTERY_STATE, *PSYSTEM_BATTERY_STATE;
-
-typedef enum _POWER_INFORMATION_LEVEL {
- SystemPowerPolicyAc,
- SystemPowerPolicyDc,
- VerifySystemPolicyAc,
- VerifySystemPolicyDc,
- SystemPowerCapabilities,
- SystemBatteryState,
- SystemPowerStateHandler,
- ProcessorStateHandler,
- SystemPowerPolicyCurrent,
- AdministratorPowerPolicy,
- SystemReserveHiberFile,
- ProcessorInformation,
- SystemPowerInformation,
- ProcessorStateHandler2,
- LastWakeTime,
- LastSleepTime,
- SystemExecutionState,
- SystemPowerStateNotifyHandler,
- ProcessorPowerPolicyAc,
- ProcessorPowerPolicyDc,
- VerifyProcessorPowerPolicyAc,
- VerifyProcessorPowerPolicyDc,
- ProcessorPowerPolicyCurrent
-} POWER_INFORMATION_LEVEL;
-
-#if (_WIN32_WINNT >= 0x0500)
-typedef LONG (WINAPI *PVECTORED_EXCEPTION_HANDLER)(PEXCEPTION_POINTERS);
-#endif
-#if 1 /* (WIN32_WINNT >= 0x0500) */
-typedef struct _SYSTEM_POWER_INFORMATION {
- ULONG MaxIdlenessAllowed;
- ULONG Idleness;
- ULONG TimeRemaining;
- UCHAR CoolingMode;
-} SYSTEM_POWER_INFORMATION,*PSYSTEM_POWER_INFORMATION;
-#endif
-
-#if (_WIN32_WINNT >= 0x0501)
-typedef enum _HEAP_INFORMATION_CLASS {
- HeapCompatibilityInformation
-} HEAP_INFORMATION_CLASS;
-typedef enum _ACTIVATION_CONTEXT_INFO_CLASS {
- ActivationContextBasicInformation = 1,
- ActivationContextDetailedInformation,
- AssemblyDetailedInformationInActivationContext,
- FileInformationInAssemblyOfAssemblyInActivationContext
-} ACTIVATION_CONTEXT_INFO_CLASS;
-typedef struct _ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION {
- DWORD ulFlags;
- DWORD ulEncodedAssemblyIdentityLength;
- DWORD ulManifestPathType;
- DWORD ulManifestPathLength;
- LARGE_INTEGER liManifestLastWriteTime;
- DWORD ulPolicyPathType;
- DWORD ulPolicyPathLength;
- LARGE_INTEGER liPolicyLastWriteTime;
- DWORD ulMetadataSatelliteRosterIndex;
- DWORD ulManifestVersionMajor;
- DWORD ulManifestVersionMinor;
- DWORD ulPolicyVersionMajor;
- DWORD ulPolicyVersionMinor;
- DWORD ulAssemblyDirectoryNameLength;
- PCWSTR lpAssemblyEncodedAssemblyIdentity;
- PCWSTR lpAssemblyManifestPath;
- PCWSTR lpAssemblyPolicyPath;
- PCWSTR lpAssemblyDirectoryName;
-} ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION,*PACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION;
-typedef const ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION *PCACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION;
-typedef struct _ACTIVATION_CONTEXT_DETAILED_INFORMATION {
- DWORD dwFlags;
- DWORD ulFormatVersion;
- DWORD ulAssemblyCount;
- DWORD ulRootManifestPathType;
- DWORD ulRootManifestPathChars;
- DWORD ulRootConfigurationPathType;
- DWORD ulRootConfigurationPathChars;
- DWORD ulAppDirPathType;
- DWORD ulAppDirPathChars;
- PCWSTR lpRootManifestPath;
- PCWSTR lpRootConfigurationPath;
- PCWSTR lpAppDirPath;
-} ACTIVATION_CONTEXT_DETAILED_INFORMATION,*PACTIVATION_CONTEXT_DETAILED_INFORMATION;
-typedef const ACTIVATION_CONTEXT_DETAILED_INFORMATION *PCACTIVATION_CONTEXT_DETAILED_INFORMATION;
-typedef struct _ACTIVATION_CONTEXT_QUERY_INDEX {
- ULONG ulAssemblyIndex;
- ULONG ulFileIndexInAssembly;
-} ACTIVATION_CONTEXT_QUERY_INDEX,*PACTIVATION_CONTEXT_QUERY_INDEX;
-typedef const ACTIVATION_CONTEXT_QUERY_INDEX *PCACTIVATION_CONTEXT_QUERY_INDEX;
-typedef struct _ASSEMBLY_FILE_DETAILED_INFORMATION {
- DWORD ulFlags;
- DWORD ulFilenameLength;
- DWORD ulPathLength;
- PCWSTR lpFileName;
- PCWSTR lpFilePath;
-} ASSEMBLY_FILE_DETAILED_INFORMATION,*PASSEMBLY_FILE_DETAILED_INFORMATION;
-typedef const ASSEMBLY_FILE_DETAILED_INFORMATION *PCASSEMBLY_FILE_DETAILED_INFORMATION;
-#endif /* (WIN32_WINNT >= 0x0501) */
-
-typedef struct _PROCESSOR_POWER_POLICY_INFO {
- ULONG TimeCheck;
- ULONG DemoteLimit;
- ULONG PromoteLimit;
- UCHAR DemotePercent;
- UCHAR PromotePercent;
- UCHAR Spare[2];
- ULONG AllowDemotion : 1;
- ULONG AllowPromotion : 1;
- ULONG Reserved : 30;
-} PROCESSOR_POWER_POLICY_INFO, *PPROCESSOR_POWER_POLICY_INFO;
-typedef struct _PROCESSOR_POWER_POLICY {
- ULONG Revision;
- UCHAR DynamicThrottle;
- UCHAR Spare[3];
- ULONG Reserved;
- ULONG PolicyCount;
- PROCESSOR_POWER_POLICY_INFO Policy[3];
-} PROCESSOR_POWER_POLICY, *PPROCESSOR_POWER_POLICY;
-typedef struct _ADMINISTRATOR_POWER_POLICY {
- SYSTEM_POWER_STATE MinSleep;
- SYSTEM_POWER_STATE MaxSleep;
- ULONG MinVideoTimeout;
- ULONG MaxVideoTimeout;
- ULONG MinSpindownTimeout;
- ULONG MaxSpindownTimeout;
-} ADMINISTRATOR_POWER_POLICY, *PADMINISTRATOR_POWER_POLICY;
-#include <poppack.h>
-#endif /* WINVER >= 0x0500 */
-
-#if (_WIN32_WINNT >= 0x0500)
-typedef VOID (NTAPI *WAITORTIMERCALLBACKFUNC)(PVOID,BOOLEAN);
-#endif
-
-#ifdef UNICODE
-typedef OSVERSIONINFOW OSVERSIONINFO,*POSVERSIONINFO,*LPOSVERSIONINFO;
-typedef OSVERSIONINFOEXW OSVERSIONINFOEX,*POSVERSIONINFOEX,*LPOSVERSIONINFOEX;
-#else
-typedef OSVERSIONINFOA OSVERSIONINFO,*POSVERSIONINFO,*LPOSVERSIONINFO;
-typedef OSVERSIONINFOEXA OSVERSIONINFOEX,*POSVERSIONINFOEX,*LPOSVERSIONINFOEX;
-#endif
-
-#if (_WIN32_WINNT >= 0x0500)
-ULONGLONG WINAPI VerSetConditionMask(ULONGLONG,DWORD,BYTE);
-#define VER_SET_CONDITION(ConditionMask, TypeBitMask, ComparisonType) \
- ((ConditionMask) = VerSetConditionMask((ConditionMask), \
- (TypeBitMask), (ComparisonType)))
-#endif
-
-PVOID GetCurrentFiber(void);
-PVOID GetFiberData(void);
-
-#ifdef _X86_
-#if defined(__GNUC__)
-#if (__GNUC__ >= 3)
-/* Support -masm=intel. */
-extern __inline__ PVOID GetCurrentFiber(void)
-{
- void* ret;
- __asm__ __volatile__ (
- "mov{l} {%%fs:0x10,%0|%0,%%fs:0x10}"
- : "=r" (ret) /* allow use of reg eax,ebx,ecx,edx,esi,edi */
- );
- return ret;
-}
-
-extern __inline__ PVOID GetFiberData(void)
-{
- void* ret;
- __asm__ __volatile__ (
- "mov{l} {%%fs:0x10,%0|%0,%%fs:0x10}\n\t"
- "mov{l} {(%0),%0|%0,[%0]}"
- : "=r" (ret) /* allow use of reg eax,ebx,ecx,edx,esi,edi */
- );
- return ret;
-}
-
-static __inline__ struct _TEB * NtCurrentTeb(void)
-{
- struct _TEB *ret;
-
- __asm__ __volatile__ (
- "mov{l} {%%fs:0x18,%0|%0,%%fs:0x18}\n"
- : "=r" (ret)
- : /* no inputs */
- );
-
- return ret;
-}
-
-#else /* __GNUC__ >= 3 */
-extern __inline__ PVOID GetCurrentFiber(void)
-{
- void* ret;
- __asm__ __volatile__ (
- "movl %%fs:0x10,%0"
- : "=r" (ret) /* allow use of reg eax,ebx,ecx,edx,esi,edi */
- );
- return ret;
-}
-
-extern __inline__ PVOID GetFiberData(void)
-{
- void* ret;
- __asm__ __volatile__ (
- "movl %%fs:0x10,%0\n\t"
- "movl (%0),%0"
- : "=r" (ret) /* allow use of reg eax,ebx,ecx,edx,esi,edi */
- );
- return ret;
-}
-
-static __inline__ struct _TEB * NtCurrentTeb(void)
-{
- struct _TEB *ret;
-
- __asm__ __volatile__ (
- "movl %%fs:0x18, %0\n"
- : "=r" (ret)
- : /* no inputs */
- );
- return ret;
-}
-#endif /* __GNUC__ >= 3 */
-
-#else
-
-#pragma aux GetCurrentFiber = \
- "mov eax, dword ptr fs:0x10" \
- value [eax] \
- modify [eax];
-
-#pragma aux GetFiberData = \
- "mov eax, dword ptr fs:0x10" \
- "mov eax, [eax]" \
- value [eax] \
- modify [eax];
-
-#endif /* __GNUC__ */
-#endif /* _X86_ */
-
-#endif /* RC_INVOKED */
-
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/winsup/w32api/include/winperf.h b/winsup/w32api/include/winperf.h
deleted file mode 100644
index 75e29a8ec..000000000
--- a/winsup/w32api/include/winperf.h
+++ /dev/null
@@ -1,139 +0,0 @@
-#ifndef _WINPERF_H
-#define _WINPERF_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-#define PERF_DATA_VERSION 1
-#define PERF_DATA_REVISION 1
-#define PERF_NO_INSTANCES -1
-#define PERF_SIZE_DWORD 0
-#define PERF_SIZE_LARGE 256
-#define PERF_SIZE_ZERO 512
-#define PERF_SIZE_VARIABLE_LEN 768
-#define PERF_TYPE_NUMBER 0
-#define PERF_TYPE_COUNTER 1024
-#define PERF_TYPE_TEXT 2048
-#define PERF_TYPE_ZERO 0xC00
-#define PERF_NUMBER_HEX 0
-#define PERF_NUMBER_DECIMAL 0x10000
-#define PERF_NUMBER_DEC_1000 0x20000
-#define PERF_COUNTER_VALUE 0
-#define PERF_COUNTER_RATE 0x10000
-#define PERF_COUNTER_FRACTION 0x20000
-#define PERF_COUNTER_BASE 0x30000
-#define PERF_COUNTER_ELAPSED 0x40000
-#define PERF_COUNTER_QUEUELEN 0x50000
-#define PERF_COUNTER_HISTOGRAM 0x60000
-#define PERF_TEXT_UNICODE 0
-#define PERF_TEXT_ASCII 0x10000
-#define PERF_TIMER_TICK 0
-#define PERF_TIMER_100NS 0x100000
-#define PERF_OBJECT_TIMER 0x200000
-#define PERF_DELTA_COUNTER 0x400000
-#define PERF_DELTA_BASE 0x800000
-#define PERF_INVERSE_COUNTER 0x1000000
-#define PERF_MULTI_COUNTER 0x2000000
-#define PERF_DISPLAY_NO_SUFFIX 0
-#define PERF_DISPLAY_PER_SEC 0x10000000
-#define PERF_DISPLAY_PERCENT 0x20000000
-#define PERF_DISPLAY_SECONDS 0x30000000
-#define PERF_DISPLAY_NOSHOW 0x40000000
-#define PERF_COUNTER_HISTOGRAM_TYPE 0x80000000
-#define PERF_NO_UNIQUE_ID (-1)
-#define PERF_DETAIL_NOVICE 100
-#define PERF_DETAIL_ADVANCED 200
-#define PERF_DETAIL_EXPERT 300
-#define PERF_DETAIL_WIZARD 400
-#define PERF_COUNTER_COUNTER (PERF_SIZE_DWORD|PERF_TYPE_COUNTER|PERF_COUNTER_RATE|PERF_TIMER_TICK|PERF_DELTA_COUNTER|PERF_DISPLAY_PER_SEC)
-#define PERF_COUNTER_TIMER (PERF_SIZE_LARGE|PERF_TYPE_COUNTER|PERF_COUNTER_RATE|PERF_TIMER_TICK|PERF_DELTA_COUNTER|PERF_DISPLAY_PERCENT)
-#define PERF_COUNTER_QUEUELEN_TYPE (PERF_SIZE_DWORD|PERF_TYPE_COUNTER|PERF_COUNTER_QUEUELEN|PERF_TIMER_TICK|PERF_DELTA_COUNTER|PERF_DISPLAY_NO_SUFFIX)
-#define PERF_COUNTER_BULK_COUNT (PERF_SIZE_LARGE|PERF_TYPE_COUNTER|PERF_COUNTER_RATE|PERF_TIMER_TICK|PERF_DELTA_COUNTER|PERF_DISPLAY_PER_SEC)
-#define PERF_COUNTER_TEXT (PERF_SIZE_VARIABLE_LEN|PERF_TYPE_TEXT|PERF_TEXT_UNICODE|PERF_DISPLAY_NO_SUFFIX)
-#define PERF_COUNTER_RAWCOUNT (PERF_SIZE_DWORD|PERF_TYPE_NUMBER|PERF_NUMBER_DECIMAL|PERF_DISPLAY_NO_SUFFIX)
-#define PERF_COUNTER_LARGE_RAWCOUNT (PERF_SIZE_LARGE|PERF_TYPE_NUMBER|PERF_NUMBER_DECIMAL|PERF_DISPLAY_NO_SUFFIX)
-#define PERF_COUNTER_RAWCOUNT_HEX (PERF_SIZE_DWORD|PERF_TYPE_NUMBER|PERF_NUMBER_HEX|PERF_DISPLAY_NO_SUFFIX)
-#define PERF_COUNTER_LARGE_RAWCOUNT_HEX (PERF_SIZE_LARGE|PERF_TYPE_NUMBER|PERF_NUMBER_HEX|PERF_DISPLAY_NO_SUFFIX)
-#define PERF_SAMPLE_FRACTION (PERF_SIZE_DWORD|PERF_TYPE_COUNTER|PERF_COUNTER_FRACTION|PERF_DELTA_COUNTER|PERF_DELTA_BASE|PERF_DISPLAY_PERCENT)
-#define PERF_SAMPLE_COUNTER (PERF_SIZE_DWORD|PERF_TYPE_COUNTER|PERF_COUNTER_RATE|PERF_TIMER_TICK|PERF_DELTA_COUNTER|PERF_DISPLAY_NO_SUFFIX)
-#define PERF_COUNTER_NODATA (PERF_SIZE_ZERO|PERF_DISPLAY_NOSHOW)
-#define PERF_COUNTER_TIMER_INV (PERF_SIZE_LARGE|PERF_TYPE_COUNTER|PERF_COUNTER_RATE|PERF_TIMER_TICK|PERF_DELTA_COUNTER|PERF_INVERSE_COUNTER|PERF_DISPLAY_PERCENT)
-#define PERF_SAMPLE_BASE (PERF_SIZE_DWORD|PERF_TYPE_COUNTER|PERF_COUNTER_BASE|PERF_DISPLAY_NOSHOW|1)
-#define PERF_AVERAGE_TIMER (PERF_SIZE_DWORD|PERF_TYPE_COUNTER|PERF_COUNTER_FRACTION|PERF_DISPLAY_SECONDS)
-#define PERF_AVERAGE_BASE (PERF_SIZE_DWORD|PERF_TYPE_COUNTER|PERF_COUNTER_BASE|PERF_DISPLAY_NOSHOW|2)
-#define PERF_AVERAGE_BULK (PERF_SIZE_LARGE|PERF_TYPE_COUNTER|PERF_COUNTER_FRACTION|PERF_DISPLAY_NOSHOW)
-#define PERF_100NSEC_TIMER (PERF_SIZE_LARGE|PERF_TYPE_COUNTER|PERF_COUNTER_RATE|PERF_TIMER_100NS|PERF_DELTA_COUNTER|PERF_DISPLAY_PERCENT)
-#define PERF_100NSEC_TIMER_INV (PERF_SIZE_LARGE|PERF_TYPE_COUNTER|PERF_COUNTER_RATE|PERF_TIMER_100NS|PERF_DELTA_COUNTER|PERF_INVERSE_COUNTER|PERF_DISPLAY_PERCENT)
-#define PERF_COUNTER_MULTI_TIMER (PERF_SIZE_LARGE|PERF_TYPE_COUNTER|PERF_COUNTER_RATE|PERF_DELTA_COUNTER|PERF_TIMER_TICK|PERF_MULTI_COUNTER|PERF_DISPLAY_PERCENT)
-#define PERF_COUNTER_MULTI_TIMER_INV (PERF_SIZE_LARGE|PERF_TYPE_COUNTER|PERF_COUNTER_RATE|PERF_DELTA_COUNTER|PERF_MULTI_COUNTER|PERF_TIMER_TICK|PERF_INVERSE_COUNTER|PERF_DISPLAY_PERCENT)
-#define PERF_COUNTER_MULTI_BASE (PERF_SIZE_LARGE|PERF_TYPE_COUNTER|PERF_COUNTER_BASE|PERF_MULTI_COUNTER|PERF_DISPLAY_NOSHOW)
-#define PERF_100NSEC_MULTI_TIMER (PERF_SIZE_LARGE|PERF_TYPE_COUNTER|PERF_DELTA_COUNTER|PERF_COUNTER_RATE|PERF_TIMER_100NS|PERF_MULTI_COUNTER|PERF_DISPLAY_PERCENT)
-#define PERF_100NSEC_MULTI_TIMER_INV (PERF_SIZE_LARGE|PERF_TYPE_COUNTER|PERF_DELTA_COUNTER|PERF_COUNTER_RATE|PERF_TIMER_100NS|PERF_MULTI_COUNTER|PERF_INVERSE_COUNTER|PERF_DISPLAY_PERCENT)
-#define PERF_RAW_FRACTION (PERF_SIZE_DWORD|PERF_TYPE_COUNTER|PERF_COUNTER_FRACTION|PERF_DISPLAY_PERCENT)
-#define PERF_RAW_BASE (PERF_SIZE_DWORD|PERF_TYPE_COUNTER|PERF_COUNTER_BASE|PERF_DISPLAY_NOSHOW|3)
-#define PERF_ELAPSED_TIME (PERF_SIZE_LARGE|PERF_TYPE_COUNTER|PERF_COUNTER_ELAPSED|PERF_OBJECT_TIMER|PERF_DISPLAY_SECONDS)
-typedef struct _PERF_DATA_BLOCK {
- WCHAR Signature[4];
- DWORD LittleEndian;
- DWORD Version;
- DWORD Revision;
- DWORD TotalByteLength;
- DWORD HeaderLength;
- DWORD NumObjectTypes;
- LONG DefaultObject;
- SYSTEMTIME SystemTime;
- LARGE_INTEGER PerfTime;
- LARGE_INTEGER PerfFreq;
- LARGE_INTEGER PerfTime100nSec;
- DWORD SystemNameLength;
- DWORD SystemNameOffset;
-} PERF_DATA_BLOCK, *PPERF_DATA_BLOCK;
-typedef struct _PERF_OBJECT_TYPE {
- DWORD TotalByteLength;
- DWORD DefinitionLength;
- DWORD HeaderLength;
- DWORD ObjectNameTitleIndex;
- LPWSTR ObjectNameTitle;
- DWORD ObjectHelpTitleIndex;
- LPWSTR ObjectHelpTitle;
- DWORD DetailLevel;
- DWORD NumCounters;
- LONG DefaultCounter;
- LONG NumInstances;
- DWORD CodePage;
- LARGE_INTEGER PerfTime;
- LARGE_INTEGER PerfFreq;
-} PERF_OBJECT_TYPE, *PPERF_OBJECT_TYPE;
-typedef struct _PERF_COUNTER_DEFINITION {
- DWORD ByteLength;
- DWORD CounterNameTitleIndex;
- LPWSTR CounterNameTitle;
- DWORD CounterHelpTitleIndex;
- LPWSTR CounterHelpTitle;
- LONG DefaultScale;
- DWORD DetailLevel;
- DWORD CounterType;
- DWORD CounterSize;
- DWORD CounterOffset;
-} PERF_COUNTER_DEFINITION,*PPERF_COUNTER_DEFINITION;
-typedef struct _PERF_INSTANCE_DEFINITION {
- DWORD ByteLength;
- DWORD ParentObjectTitleIndex;
- DWORD ParentObjectInstance;
- LONG UniqueID;
- DWORD NameOffset;
- DWORD NameLength;
-} PERF_INSTANCE_DEFINITION,*PPERF_INSTANCE_DEFINITION;
-typedef struct _PERF_COUNTER_BLOCK {
- DWORD ByteLength;
-} PERF_COUNTER_BLOCK, *PPERF_COUNTER_BLOCK;
-typedef DWORD(CALLBACK PM_OPEN_PROC)(LPWSTR);
-typedef DWORD(CALLBACK PM_COLLECT_PROC)(LPWSTR,PVOID*,PDWORD,PDWORD);
-typedef DWORD(CALLBACK PM_CLOSE_PROC)(void);
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/winsup/w32api/include/winreg.h b/winsup/w32api/include/winreg.h
deleted file mode 100644
index c82adf5d7..000000000
--- a/winsup/w32api/include/winreg.h
+++ /dev/null
@@ -1,161 +0,0 @@
-#ifndef _WINREG_H
-#define _WINREG_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-#define HKEY_CLASSES_ROOT ((HKEY)0x80000000)
-#define HKEY_CURRENT_USER ((HKEY)0x80000001)
-#define HKEY_LOCAL_MACHINE ((HKEY)0x80000002)
-#define HKEY_USERS ((HKEY)0x80000003)
-#define HKEY_PERFORMANCE_DATA ((HKEY)0x80000004)
-#define HKEY_CURRENT_CONFIG ((HKEY)0x80000005)
-#define HKEY_DYN_DATA ((HKEY)0x80000006)
-#define REG_OPTION_VOLATILE 1
-#define REG_OPTION_NON_VOLATILE 0
-#define REG_CREATED_NEW_KEY 1
-#define REG_OPENED_EXISTING_KEY 2
-#define REG_NONE 0
-#define REG_SZ 1
-#define REG_EXPAND_SZ 2
-#define REG_BINARY 3
-#define REG_DWORD_LITTLE_ENDIAN 4
-#define REG_DWORD 4
-#define REG_DWORD_BIG_ENDIAN 5
-#define REG_LINK 6
-#define REG_MULTI_SZ 7
-#define REG_RESOURCE_LIST 8
-#define REG_FULL_RESOURCE_DESCRIPTOR 9
-#define REG_RESOURCE_REQUIREMENTS_LIST 10
-#define REG_QWORD_LITTLE_ENDIAN 11
-#define REG_QWORD 11
-#define REG_NOTIFY_CHANGE_NAME 1
-#define REG_NOTIFY_CHANGE_ATTRIBUTES 2
-#define REG_NOTIFY_CHANGE_LAST_SET 4
-#define REG_NOTIFY_CHANGE_SECURITY 8
-
-#ifndef RC_INVOKED
-typedef ACCESS_MASK REGSAM;
-typedef struct value_entA {
- LPSTR ve_valuename;
- DWORD ve_valuelen;
- DWORD ve_valueptr;
- DWORD ve_type;
-} VALENTA,*PVALENTA;
-typedef struct value_entW {
- LPWSTR ve_valuename;
- DWORD ve_valuelen;
- DWORD ve_valueptr;
- DWORD ve_type;
-} VALENTW,*PVALENTW;
-BOOL WINAPI AbortSystemShutdownA(LPCSTR);
-BOOL WINAPI AbortSystemShutdownW(LPCWSTR);
-BOOL WINAPI InitiateSystemShutdownA(LPSTR,LPSTR,DWORD,BOOL,BOOL);
-BOOL WINAPI InitiateSystemShutdownW(LPWSTR,LPWSTR,DWORD,BOOL,BOOL);
-LONG WINAPI RegCloseKey(HKEY);
-LONG WINAPI RegConnectRegistryA(LPCSTR,HKEY,PHKEY);
-LONG WINAPI RegConnectRegistryW(LPCWSTR,HKEY,PHKEY);
-LONG WINAPI RegCreateKeyA(HKEY,LPCSTR,PHKEY);
-LONG WINAPI RegCreateKeyExA(HKEY,LPCSTR,DWORD,LPSTR,DWORD,REGSAM,LPSECURITY_ATTRIBUTES,PHKEY,PDWORD);
-LONG WINAPI RegCreateKeyExW(HKEY,LPCWSTR,DWORD,LPWSTR,DWORD,REGSAM,LPSECURITY_ATTRIBUTES,PHKEY,PDWORD);
-LONG WINAPI RegCreateKeyW(HKEY,LPCWSTR,PHKEY);
-LONG WINAPI RegDeleteKeyA(HKEY,LPCSTR);
-LONG WINAPI RegDeleteKeyW(HKEY,LPCWSTR);
-LONG WINAPI RegDeleteValueA(HKEY,LPCSTR);
-LONG WINAPI RegDeleteValueW(HKEY,LPCWSTR);
-LONG WINAPI RegEnumKeyA(HKEY,DWORD,LPSTR,DWORD);
-LONG WINAPI RegEnumKeyW(HKEY,DWORD,LPWSTR,DWORD);
-LONG WINAPI RegEnumKeyExA(HKEY,DWORD,LPSTR,PDWORD,PDWORD,LPSTR,PDWORD,PFILETIME);
-LONG WINAPI RegEnumKeyExW(HKEY,DWORD,LPWSTR,PDWORD,PDWORD,LPWSTR,PDWORD,PFILETIME);
-LONG WINAPI RegEnumValueA(HKEY,DWORD,LPSTR,PDWORD,PDWORD,PDWORD,LPBYTE,PDWORD);
-LONG WINAPI RegEnumValueW(HKEY,DWORD,LPWSTR,PDWORD,PDWORD,PDWORD,LPBYTE,PDWORD);
-LONG WINAPI RegFlushKey(HKEY);
-LONG WINAPI RegGetKeySecurity(HKEY,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR,PDWORD);
-LONG WINAPI RegLoadKeyA(HKEY,LPCSTR,LPCSTR);
-LONG WINAPI RegLoadKeyW(HKEY,LPCWSTR,LPCWSTR);
-LONG WINAPI RegNotifyChangeKeyValue(HKEY,BOOL,DWORD,HANDLE,BOOL);
-LONG WINAPI RegOpenKeyA(HKEY,LPCSTR,PHKEY);
-LONG WINAPI RegOpenKeyExA(HKEY,LPCSTR,DWORD,REGSAM,PHKEY);
-LONG WINAPI RegOpenKeyExW(HKEY,LPCWSTR,DWORD,REGSAM,PHKEY);
-LONG WINAPI RegOpenKeyW(HKEY,LPCWSTR,PHKEY);
-LONG WINAPI RegQueryInfoKeyA(HKEY,LPSTR,PDWORD,PDWORD,PDWORD,PDWORD,PDWORD,PDWORD,PDWORD,PDWORD,PDWORD,PFILETIME);
-LONG WINAPI RegQueryInfoKeyW(HKEY,LPWSTR,PDWORD,PDWORD,PDWORD,PDWORD,PDWORD,PDWORD,PDWORD,PDWORD,PDWORD,PFILETIME);
-LONG WINAPI RegQueryMultipleValuesA(HKEY,PVALENTA,DWORD,LPSTR,LPDWORD);
-LONG WINAPI RegQueryMultipleValuesW(HKEY,PVALENTW,DWORD,LPWSTR,LPDWORD);
-LONG WINAPI RegQueryValueA(HKEY,LPCSTR,LPSTR,PLONG);
-LONG WINAPI RegQueryValueExA(HKEY,LPCSTR,LPDWORD,LPDWORD,LPBYTE,LPDWORD);
-LONG WINAPI RegQueryValueExW(HKEY,LPCWSTR,LPDWORD,LPDWORD,LPBYTE,LPDWORD);
-LONG WINAPI RegQueryValueW(HKEY,LPCWSTR,LPWSTR,PLONG);
-LONG WINAPI RegReplaceKeyA(HKEY,LPCSTR,LPCSTR,LPCSTR);
-LONG WINAPI RegReplaceKeyW(HKEY,LPCWSTR,LPCWSTR,LPCWSTR);
-LONG WINAPI RegRestoreKeyA(HKEY,LPCSTR,DWORD);
-LONG WINAPI RegRestoreKeyW(HKEY,LPCWSTR,DWORD);
-LONG WINAPI RegSaveKeyA(HKEY,LPCSTR,LPSECURITY_ATTRIBUTES);
-LONG WINAPI RegSaveKeyW(HKEY,LPCWSTR,LPSECURITY_ATTRIBUTES);
-LONG WINAPI RegSetKeySecurity(HKEY,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR);
-LONG WINAPI RegSetValueA(HKEY,LPCSTR,DWORD,LPCSTR,DWORD);
-LONG WINAPI RegSetValueExA(HKEY,LPCSTR,DWORD,DWORD,const BYTE*,DWORD);
-LONG WINAPI RegSetValueExW(HKEY,LPCWSTR,DWORD,DWORD,const BYTE*,DWORD);
-LONG WINAPI RegSetValueW(HKEY,LPCWSTR,DWORD,LPCWSTR,DWORD);
-LONG WINAPI RegUnLoadKeyA(HKEY,LPCSTR);
-LONG WINAPI RegUnLoadKeyW(HKEY,LPCWSTR);
-
-#ifdef UNICODE
-typedef VALENTW VALENT,*PVALENT;
-#define AbortSystemShutdown AbortSystemShutdownW
-#define InitiateSystemShutdown InitiateSystemShutdownW
-#define RegConnectRegistry RegConnectRegistryW
-#define RegCreateKey RegCreateKeyW
-#define RegCreateKeyEx RegCreateKeyExW
-#define RegDeleteKey RegDeleteKeyW
-#define RegDeleteValue RegDeleteValueW
-#define RegEnumKey RegEnumKeyW
-#define RegEnumKeyEx RegEnumKeyExW
-#define RegEnumValue RegEnumValueW
-#define RegLoadKey RegLoadKeyW
-#define RegOpenKey RegOpenKeyW
-#define RegOpenKeyEx RegOpenKeyExW
-#define RegQueryInfoKey RegQueryInfoKeyW
-#define RegQueryMultipleValues RegQueryMultipleValuesW
-#define RegQueryValue RegQueryValueW
-#define RegQueryValueEx RegQueryValueExW
-#define RegReplaceKey RegReplaceKeyW
-#define RegRestoreKey RegRestoreKeyW
-#define RegSaveKey RegSaveKeyW
-#define RegSetValue RegSetValueW
-#define RegSetValueEx RegSetValueExW
-#define RegUnLoadKey RegUnLoadKeyW
-#else
-typedef VALENTA VALENT,*PVALENT;
-#define AbortSystemShutdown AbortSystemShutdownA
-#define InitiateSystemShutdown InitiateSystemShutdownA
-#define RegConnectRegistry RegConnectRegistryA
-#define RegCreateKey RegCreateKeyA
-#define RegCreateKeyEx RegCreateKeyExA
-#define RegDeleteKey RegDeleteKeyA
-#define RegDeleteValue RegDeleteValueA
-#define RegEnumKey RegEnumKeyA
-#define RegEnumKeyEx RegEnumKeyExA
-#define RegEnumValue RegEnumValueA
-#define RegLoadKey RegLoadKeyA
-#define RegOpenKey RegOpenKeyA
-#define RegOpenKeyEx RegOpenKeyExA
-#define RegQueryInfoKey RegQueryInfoKeyA
-#define RegQueryMultipleValues RegQueryMultipleValuesA
-#define RegQueryValue RegQueryValueA
-#define RegQueryValueEx RegQueryValueExA
-#define RegReplaceKey RegReplaceKeyA
-#define RegRestoreKey RegRestoreKeyA
-#define RegSaveKey RegSaveKeyA
-#define RegSetValue RegSetValueA
-#define RegSetValueEx RegSetValueExA
-#define RegUnLoadKey RegUnLoadKeyA
-#endif
-#endif
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/winsup/w32api/include/winresrc.h b/winsup/w32api/include/winresrc.h
deleted file mode 100644
index 79a5d8e03..000000000
--- a/winsup/w32api/include/winresrc.h
+++ /dev/null
@@ -1,14 +0,0 @@
-#ifndef _WINRESRC_H
-#define _WINRESRC_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#define WIN32_LEAN_AND_MEAN
-#include <winuser.h>
-#include <winnt.h>
-#include <winver.h>
-#include <dde.h>
-#include <dlgs.h>
-#include <commctrl.h>
-#endif
diff --git a/winsup/w32api/include/winsnmp.h b/winsup/w32api/include/winsnmp.h
deleted file mode 100644
index bfed3864c..000000000
--- a/winsup/w32api/include/winsnmp.h
+++ /dev/null
@@ -1,329 +0,0 @@
-/*
- winsnmp.h - Header file for the Windows SNMP API
-
- Written by Filip Navara <xnavara@volny.cz>
-
- References (2003-08-25):
- Windows SNMP
- http://www.winsnmp.com/docs/winsnmp.doc
-
- WinSNMP v2.0 Addendum
- http://www.winsnmp.com/docs/winsnmp2.txt
-
- WinSNMP v3.0 API Addendum
- http://www.winsnmp.com/docs/winsnmp3.htm
-
- WinSNMP Reference
- http://msdn.microsoft.com/library/en-us/snmp/snmp/winsnmp_api_reference.asp
-
- This library 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.
-*/
-
-#ifndef _WINSNMP_H
-#define _WINSNMP_H
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-#ifndef _WINDOWS_H
-#include <windows.h>
-#endif
-
-#include <pshpack4.h>
-
-#ifndef WINSNMPAPI
-#define WINSNMPAPI WINAPI
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define MAXOBJIDSIZE 128
-#define MAXOBJIDSTRSIZE 1408
-#define MAXVENDORINFO 32
-#ifndef _SNMP_ASN_DEFINED
-#define _SNMP_ASN_DEFINED
-#define ASN_UNIVERSAL 0x00
-#define ASN_PRIMITIVE 0x00
-#define ASN_CONSTRUCTOR 0x20
-#define ASN_APPLICATION 0x40
-#define ASN_CONTEXT 0x80
-#define ASN_PRIVATE 0xC0
-#define SNMP_PDU_GET (ASN_CONTEXT | ASN_CONSTRUCTOR | 0)
-#define SNMP_PDU_GETNEXT (ASN_CONTEXT | ASN_CONSTRUCTOR | 1)
-#define SNMP_PDU_RESPONSE (ASN_CONTEXT | ASN_CONSTRUCTOR | 2)
-#define SNMP_PDU_SET (ASN_CONTEXT | ASN_CONSTRUCTOR | 3)
-#define SNMP_PDU_GETBULK (ASN_CONTEXT | ASN_CONSTRUCTOR | 4)
-#define SNMP_PDU_V1TRAP (ASN_CONTEXT | ASN_CONSTRUCTOR | 4)
-#define SNMP_PDU_INFORM (ASN_CONTEXT | ASN_CONSTRUCTOR | 6)
-#define SNMP_PDU_TRAP (ASN_CONTEXT | ASN_CONSTRUCTOR | 7)
-#define SNMP_PDU_REPORT (ASN_CONTEXT | ASN_CONSTRUCTOR | 8)
-#endif /* _SNMP_ASN_DEFINED */
-#define SNMP_SYNTAX_SEQUENCE (ASN_UNIVERSAL | ASN_CONSTRUCTOR | 0x10)
-#define SNMP_SYNTAX_INT (ASN_UNIVERSAL | ASN_PRIMITIVE | 0x02)
-#define SNMP_SYNTAX_BITS (ASN_UNIVERSAL | ASN_PRIMITIVE | 0x03)
-#define SNMP_SYNTAX_OCTETS (ASN_UNIVERSAL | ASN_PRIMITIVE | 0x04)
-#define SNMP_SYNTAX_NULL (ASN_UNIVERSAL | ASN_PRIMITIVE | 0x05)
-#define SNMP_SYNTAX_OID (ASN_UNIVERSAL | ASN_PRIMITIVE | 0x06)
-#define SNMP_SYNTAX_IPADDR (ASN_APPLICATION | ASN_PRIMITIVE | 0x00)
-#define SNMP_SYNTAX_CNTR32 (ASN_APPLICATION | ASN_PRIMITIVE | 0x01)
-#define SNMP_SYNTAX_GAUGE32 (ASN_APPLICATION | ASN_PRIMITIVE | 0x02)
-#define SNMP_SYNTAX_TIMETICKS (ASN_APPLICATION | ASN_PRIMITIVE | 0x03)
-#define SNMP_SYNTAX_OPAQUE (ASN_APPLICATION | ASN_PRIMITIVE | 0x04)
-#define SNMP_SYNTAX_NSAPADDR (ASN_APPLICATION | ASN_PRIMITIVE | 0x05)
-#define SNMP_SYNTAX_CNTR64 (ASN_APPLICATION | ASN_PRIMITIVE | 0x06)
-#define SNMP_SYNTAX_UINT32 (ASN_APPLICATION | ASN_PRIMITIVE | 0x07)
-#define SNMP_SYNTAX_NOSUCHOBJECT (ASN_CONTEXT | ASN_PRIMITIVE | 0x00)
-#define SNMP_SYNTAX_NOSUCHINSTANCE (ASN_CONTEXT | ASN_PRIMITIVE | 0x01)
-#define SNMP_SYNTAX_ENDOFMIBVIEW (ASN_CONTEXT | ASN_PRIMITIVE | 0x02)
-#define SNMP_SYNTAX_INT32 SNMP_SYNTAX_INT
-#define SNMP_TRAP_COLDSTART 0
-#define SNMP_TRAP_WARMSTART 1
-#define SNMP_TRAP_LINKDOWN 2
-#define SNMP_TRAP_LINKUP 3
-#define SNMP_TRAP_AUTHFAIL 4
-#define SNMP_TRAP_EGPNEIGHBORLOSS 5
-#define SNMP_TRAP_ENTERPRISESPECIFIC 6
-#define SNMP_ERROR_NOERROR 0
-#define SNMP_ERROR_TOOBIG 1
-#define SNMP_ERROR_NOSUCHNAME 2
-#define SNMP_ERROR_BADVALUE 3
-#define SNMP_ERROR_READONLY 4
-#define SNMP_ERROR_GENERR 5
-#define SNMP_ERROR_NOACCESS 6
-#define SNMP_ERROR_WRONGTYPE 7
-#define SNMP_ERROR_WRONGLENGTH 8
-#define SNMP_ERROR_WRONGENCODING 9
-#define SNMP_ERROR_WRONGVALUE 10
-#define SNMP_ERROR_NOCREATION 11
-#define SNMP_ERROR_INCONSISTENTVALUE 12
-#define SNMP_ERROR_RESOURCEUNAVAILABLE 13
-#define SNMP_ERROR_COMMITFAILED 14
-#define SNMP_ERROR_UNDOFAILED 15
-#define SNMP_ERROR_AUTHORIZATIONERROR 16
-#define SNMP_ERROR_NOTWRITABLE 17
-#define SNMP_ERROR_INCONSISTENTNAME 18
-#define SNMP_SEC_MODEL_V1 1
-#define SNMP_SEC_MODEL_V2 2
-#define SNMP_SEC_MODEL_USM 3
-#define SNMP_NOAUTH_NOPRIV 0
-#define SNMP_AUTH_NOPRIV 1
-#define SNMP_AUTH_PRIV 3
-#define SNMP_USM_NO_AUTH_PROTOCOL 1
-#define SNMP_USM_HMACMD5_AUTH_PROTOCOL 2
-#define SNMP_USM_HMACSHA_AUTH_PROTOCOL 3
-#define SNMP_USM_NO_PRIV_PROTOCOL 1
-#define SNMP_USM_DES_PRIV_PROTOCOL 2
-#define SNMPAPI_TRANSLATED 0
-#define SNMPAPI_UNTRANSLATED_V1 1
-#define SNMPAPI_UNTRANSLATED_V2 2
-#define SNMPAPI_UNTRANSLATED_V3 3
-#define SNMPAPI_OFF 0
-#define SNMPAPI_ON 1
-#define SNMPAPI_FAILURE 0
-#define SNMPAPI_SUCCESS 1
-#define SNMPAPI_NO_SUPPORT 0
-#define SNMPAPI_V1_SUPPORT 1
-#define SNMPAPI_V2_SUPPORT 2
-#define SNMPAPI_M2M_SUPPORT 3
-#define SNMPAPI_V3_SUPPORT 3
-#define SNMPAPI_ALLOC_ERROR 2
-#define SNMPAPI_CONTEXT_INVALID 3
-#define SNMPAPI_CONTEXT_UNKNOWN 4
-#define SNMPAPI_ENTITY_INVALID 5
-#define SNMPAPI_ENTITY_UNKNOWN 6
-#define SNMPAPI_INDEX_INVALID 7
-#define SNMPAPI_NOOP 8
-#define SNMPAPI_OID_INVALID 9
-#define SNMPAPI_OPERATION_INVALID 10
-#define SNMPAPI_OUTPUT_TRUNCATED 11
-#define SNMPAPI_PDU_INVALID 12
-#define SNMPAPI_SESSION_INVALID 13
-#define SNMPAPI_SYNTAX_INVALID 14
-#define SNMPAPI_VBL_INVALID 15
-#define SNMPAPI_MODE_INVALID 16
-#define SNMPAPI_SIZE_INVALID 17
-#define SNMPAPI_NOT_INITIALIZED 18
-#define SNMPAPI_MESSAGE_INVALID 19
-#define SNMPAPI_HWND_INVALID 20
-#define SNMPAPI_ENGINE_INVALID 30
-#define SNMPAPI_ENGINE_DISCOVERY_FAILED 31
-#define SNMPAPI_OTHER_ERROR 99
-#define SNMPAPI_TL_NOT_INITIALIZED 100
-#define SNMPAPI_TL_NOT_SUPPORTED 101
-#define SNMPAPI_TL_NOT_AVAILABLE 102
-#define SNMPAPI_TL_RESOURCE_ERROR 103
-#define SNMPAPI_TL_UNDELIVERABLE 104
-#define SNMPAPI_TL_SRC_INVALID 105
-#define SNMPAPI_TL_INVALID_PARAM 106
-#define SNMPAPI_TL_IN_USE 107
-#define SNMPAPI_TL_TIMEOUT 108
-#define SNMPAPI_TL_PDU_TOO_BIG 109
-#define SNMPAPI_TL_OTHER 199
-#define SNMPAPI_RPT_INVALIDMSG 200
-#define SNMPAPI_RPT_INASNPARSEERR 201
-#define SNMPAPI_RPT_UNKNOWNSECMODEL 202
-#define SNMPAPI_RPT_UNKNOWNENGINEID 203
-#define SNMPAPI_RPT_UNSUPPSECLEVEL 204
-#define SNMPAPI_RPT_UNKNOWNUSERNAME 205
-#define SNMPAPI_RPT_WRONGDIGEST 206
-#define SNMPAPI_RPT_NOTINTIMEWINDOW 207
-#define SNMPAPI_RPT_DECRYPTIONERROR 208
-#define SNMPAPI_RPT_OTHER 299
-
-#ifndef RC_INVOKED
-
-typedef HANDLE HSNMP_SESSION, *LPHSNMP_SESSION;
-typedef HANDLE HSNMP_CONTEXT, *LPHSNMP_CONTEXT;
-typedef HANDLE HSNMP_VBL, *LPHSNMP_VBL;
-typedef HANDLE HSNMP_PDU, *LPHSNMP_PDU;
-typedef HANDLE HSNMP_ENTITY, *LPHSNMP_ENTITY;
-typedef unsigned char smiBYTE, *smiLPBYTE;
-typedef signed int smiINT, *smiLPINT;
-typedef signed int smiINT32, *smiLPINT32;
-typedef unsigned int smiUINT32, *smiLPUINT32;
-typedef smiUINT32 smiCNTR32, *smiLPCNTR32;
-typedef smiUINT32 smiGAUGE32, *smiLPGAUGE32;
-typedef smiUINT32 smiTIMETICKS, *smiLPTIMETICKS;
-typedef smiUINT32 SNMPAPI_STATUS;
-typedef struct {
- smiUINT32 len;
- smiLPBYTE ptr;
-} smiOCTETS, *smiLPOCTETS, smiOPAQUE, *smiLPOPAQUE, smiBITS, *smiLPBITS, smiIPADDR, *smiLPIPADDR, smiNSAPADDR, *smiLPNSAPADDR;
-typedef const smiLPOCTETS smiLPCOCTETS;
-typedef struct {
- smiUINT32 len;
- smiLPUINT32 ptr;
-} smiOID, *smiLPOID;
-typedef const smiLPOID smiLPCOID;
-typedef struct {
- smiUINT32 hipart;
- smiUINT32 lopart;
-} smiCNTR64, *smiLPCNTR64;
-typedef struct {
- smiUINT32 syntax;
- union {
- smiINT sNumber;
- smiUINT32 uNumber;
- smiCNTR64 hNumber;
- smiOCTETS string;
- smiOID oid;
- smiBYTE empty;
- } value;
-} smiVALUE, *smiLPVALUE;
-typedef const smiLPVALUE smiLPCVALUE;
-typedef struct {
- CHAR vendorName[MAXVENDORINFO*2];
- CHAR vendorContact[MAXVENDORINFO*2];
- CHAR vendorVersionId[MAXVENDORINFO];
- CHAR vendorVersionDate[MAXVENDORINFO];
- smiUINT32 vendorEnterprise;
-} smiVENDORINFO, FAR *smiLPVENDORINFO;
-typedef SNMPAPI_STATUS (CALLBACK *SNMPAPI_CALLBACK)(HSNMP_SESSION,HWND,UINT,WPARAM,LPARAM,LPVOID);
-typedef struct
-{
- HSNMP_ENTITY hEntity;
- HSNMP_SESSION hSession;
- smiUINT32 nTranslateMode;
- smiUINT32 nSnmpVersion;
- smiOCTETS dFriendlyName;
- smiUINT32 nAddressFamily;
- smiOCTETS dAddressString;
- smiUINT32 nRequestPort;
- smiUINT32 nNotificationPort;
- smiUINT32 nMaxMsgSize;
- smiOCTETS dEngineID;
- smiUINT32 nEngineBoots;
- smiUINT32 nEngineTime;
- smiUINT32 nEngineSeconds;
- smiUINT32 nRetransmitMode;
- smiTIMETICKS nPolicyTimeout;
- smiUINT32 nPolicyRetry;
- smiTIMETICKS nActualTimeout;
- smiUINT32 nActualRetry;
-} smiENTITYINFO, *smiLPENTITYINFO;
-typedef struct
-{
- HSNMP_CONTEXT hContext;
- HSNMP_SESSION hSession;
- smiUINT32 nTranslateMode;
- smiUINT32 nSnmpVersion;
- smiOCTETS dFriendlyName;
- smiOCTETS dContextEngineID;
- smiOCTETS dContextName;
- smiOCTETS dSecurityName;
- smiUINT32 nSecurityModel;
- smiUINT32 nSecurityLevel;
- smiUINT32 nSecurityAuthProtocol;
- smiOCTETS dSecurityAuthKey;
- smiUINT32 nSecurityPrivProtocol;
- smiOCTETS dSecurityPrivKey;
-} smiCONTEXTINFO, *smiLPCONTEXTINFO;
-
-SNMPAPI_STATUS WINSNMPAPI SnmpCancelMsg(HSNMP_SESSION,smiINT32);
-SNMPAPI_STATUS WINSNMPAPI SnmpCleanup(VOID);
-SNMPAPI_STATUS WINSNMPAPI SnmpClose(HSNMP_SESSION);
-SNMPAPI_STATUS WINSNMPAPI SnmpContextToStr(HSNMP_CONTEXT,smiLPOCTETS);
-SNMPAPI_STATUS WINSNMPAPI SnmpCountVbl(HSNMP_VBL);
-HSNMP_PDU WINSNMPAPI SnmpCreatePdu(HSNMP_SESSION,smiINT,smiINT32,smiINT,smiINT,HSNMP_VBL);
-HSNMP_SESSION WINSNMPAPI SnmpCreateSession(HWND,UINT,SNMPAPI_CALLBACK,LPVOID);
-HSNMP_VBL WINSNMPAPI SnmpCreateVbl(HSNMP_SESSION,smiLPCOID,smiLPCVALUE);
-SNMPAPI_STATUS WINSNMPAPI SnmpDecodeMsg(HSNMP_SESSION,LPHSNMP_ENTITY,LPHSNMP_ENTITY,LPHSNMP_CONTEXT,LPHSNMP_PDU,smiLPCOCTETS);
-SNMPAPI_STATUS WINSNMPAPI SnmpDeleteVb(HSNMP_VBL,smiUINT32);
-HSNMP_PDU WINSNMPAPI SnmpDuplicatePdu(HSNMP_SESSION,HSNMP_PDU);
-HSNMP_VBL WINSNMPAPI SnmpDuplicateVbl(HSNMP_SESSION,HSNMP_VBL);
-SNMPAPI_STATUS WINSNMPAPI SnmpEncodeMsg(HSNMP_SESSION,HSNMP_ENTITY,HSNMP_ENTITY,HSNMP_CONTEXT,HSNMP_PDU,smiLPOCTETS);
-SNMPAPI_STATUS WINSNMPAPI SnmpEntityToStr(HSNMP_ENTITY,smiUINT32,LPSTR);
-SNMPAPI_STATUS WINSNMPAPI SnmpFreeContext(HSNMP_CONTEXT);
-SNMPAPI_STATUS WINSNMPAPI SnmpFreeDescriptor(smiUINT32,smiLPOPAQUE);
-SNMPAPI_STATUS WINSNMPAPI SnmpFreeEntity(HSNMP_ENTITY);
-SNMPAPI_STATUS WINSNMPAPI SnmpFreePdu(HSNMP_PDU);
-SNMPAPI_STATUS WINSNMPAPI SnmpFreeVbl(HSNMP_VBL);
-SNMPAPI_STATUS WINSNMPAPI SnmpGetLastError(HSNMP_SESSION);
-SNMPAPI_STATUS WINSNMPAPI SnmpGetPduData(HSNMP_PDU,smiLPINT,smiLPINT32,smiLPINT,smiLPINT,LPHSNMP_VBL);
-SNMPAPI_STATUS WINSNMPAPI SnmpGetRetransmitMode(smiLPUINT32);
-SNMPAPI_STATUS WINSNMPAPI SnmpGetRetry(HSNMP_ENTITY,smiLPUINT32,smiLPUINT32);
-SNMPAPI_STATUS WINSNMPAPI SnmpGetTimeout(HSNMP_ENTITY,smiLPTIMETICKS,smiLPTIMETICKS);
-SNMPAPI_STATUS WINSNMPAPI SnmpGetTranslateMode(smiLPUINT32);
-SNMPAPI_STATUS WINSNMPAPI SnmpGetVb(HSNMP_VBL,smiUINT32,smiLPOID,smiLPVALUE);
-SNMPAPI_STATUS WINSNMPAPI SnmpGetVendorInfo(smiLPVENDORINFO);
-SNMPAPI_STATUS WINSNMPAPI SnmpListen(HSNMP_ENTITY,SNMPAPI_STATUS);
-SNMPAPI_STATUS WINSNMPAPI SnmpOidCompare(smiLPCOID,smiLPCOID,smiUINT32,smiLPINT);
-SNMPAPI_STATUS WINSNMPAPI SnmpOidCopy(smiLPCOID,smiLPOID);
-SNMPAPI_STATUS WINSNMPAPI SnmpOidToStr(smiLPCOID,smiUINT32,LPSTR);
-HSNMP_SESSION WINSNMPAPI SnmpOpen(HWND,UINT);
-SNMPAPI_STATUS WINSNMPAPI SnmpRecvMsg(HSNMP_SESSION,LPHSNMP_ENTITY,LPHSNMP_ENTITY,LPHSNMP_CONTEXT,LPHSNMP_PDU);
-SNMPAPI_STATUS WINSNMPAPI SnmpRegister(HSNMP_SESSION,HSNMP_ENTITY,HSNMP_ENTITY,HSNMP_CONTEXT,smiLPCOID,smiUINT32);
-SNMPAPI_STATUS WINSNMPAPI SnmpSendMsg(HSNMP_SESSION,HSNMP_ENTITY,HSNMP_ENTITY,HSNMP_CONTEXT,HSNMP_PDU);
-SNMPAPI_STATUS WINSNMPAPI SnmpSetPduData(HSNMP_PDU,const smiINT *,const smiINT32 *,const smiINT *,const smiINT *,const HSNMP_VBL *);
-SNMPAPI_STATUS WINSNMPAPI SnmpSetPort(HSNMP_ENTITY,UINT);
-SNMPAPI_STATUS WINSNMPAPI SnmpSetRetransmitMode(smiUINT32);
-SNMPAPI_STATUS WINSNMPAPI SnmpSetRetry(HSNMP_ENTITY,smiUINT32);
-SNMPAPI_STATUS WINSNMPAPI SnmpSetTimeout(HSNMP_ENTITY,smiTIMETICKS);
-SNMPAPI_STATUS WINSNMPAPI SnmpSetTranslateMode(smiUINT32);
-SNMPAPI_STATUS WINSNMPAPI SnmpSetVb(HSNMP_VBL,smiUINT32,smiLPCOID,smiLPCVALUE);
-SNMPAPI_STATUS WINSNMPAPI SnmpStartup(smiLPUINT32,smiLPUINT32,smiLPUINT32,smiLPUINT32,smiLPUINT32);
-HSNMP_CONTEXT WINSNMPAPI SnmpStrToContext(HSNMP_SESSION,smiLPCOCTETS);
-HSNMP_ENTITY WINSNMPAPI SnmpStrToEntity(HSNMP_SESSION,LPCSTR);
-SNMPAPI_STATUS WINSNMPAPI SnmpStrToOid(LPCSTR,smiLPOID);
-/* Added in WinSNMP v3.0, not present in some (all?) versions of MS wsnmp32.dll */
-HSNMP_ENTITY WINSNMPAPI SnmpCreateEntity(HSNMP_SESSION,smiLPENTITYINFO);
-SNMPAPI_STATUS WINSNMPAPI SnmpGetEntityInfo(HSNMP_ENTITY,smiLPENTITYINFO);
-SNMPAPI_STATUS WINSNMPAPI SnmpSetEntityInfo(HSNMP_ENTITY,smiLPENTITYINFO);
-SNMPAPI_STATUS WINSNMPAPI SnmpFreeEntityInfo(smiLPENTITYINFO);
-HSNMP_CONTEXT WINSNMPAPI SnmpCreateContext(HSNMP_SESSION,smiLPCONTEXTINFO);
-SNMPAPI_STATUS WINSNMPAPI SnmpGetContextInfo(HSNMP_CONTEXT,smiLPCONTEXTINFO);
-SNMPAPI_STATUS WINSNMPAPI SnmpSetContextInfo(HSNMP_CONTEXT,smiLPCONTEXTINFO);
-SNMPAPI_STATUS WINSNMPAPI SnmpFreeContextInfo(smiLPCONTEXTINFO);
-SNMPAPI_STATUS WINSNMPAPI SnmpPasswordToKey(smiLPOCTETS,smiINT32,smiLPOCTETS);
-
-#endif /* RC_INVOKED */
-
-#ifdef __cplusplus
-}
-#endif
-#include <poppack.h>
-#endif
diff --git a/winsup/w32api/include/winsock.h b/winsup/w32api/include/winsock.h
deleted file mode 100644
index d99d84cbc..000000000
--- a/winsup/w32api/include/winsock.h
+++ /dev/null
@@ -1,535 +0,0 @@
-/*
-
- Definitions for winsock 1.1
-
- Portions Copyright (c) 1980, 1983, 1988, 1993
- The Regents of the University of California. All rights reserved.
-
- Portions Copyright (c) 1993 by Digital Equipment Corporation.
- */
-
-#ifndef _WINSOCK_H
-#define _WINSOCK_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#define _GNU_H_WINDOWS32_SOCKETS
-#include <windows.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#if !defined ( _BSDTYPES_DEFINED )
-/* also defined in gmon.h and in cygwin's sys/types */
-typedef unsigned char u_char;
-typedef unsigned short u_short;
-typedef unsigned int u_int;
-typedef unsigned long u_long;
-#define _BSDTYPES_DEFINED
-#endif /* !defined _BSDTYPES_DEFINED */
-typedef u_int SOCKET;
-#ifndef FD_SETSIZE
-#define FD_SETSIZE 64
-#endif
-
-/* shutdown() how types */
-#define SD_RECEIVE 0x00
-#define SD_SEND 0x01
-#define SD_BOTH 0x02
-
-#ifndef _SYS_TYPES_FD_SET
-/* fd_set may have be defined by the newlib <sys/types.h>
- * if __USE_W32_SOCKETS not defined.
- */
-#ifdef fd_set
-#undef fd_set
-#endif
-typedef struct fd_set {
- u_int fd_count;
- SOCKET fd_array[FD_SETSIZE];
-} fd_set;
-int PASCAL __WSAFDIsSet(SOCKET,fd_set*);
-#ifndef FD_CLR
-#define FD_CLR(fd,set) do { u_int __i;\
-for (__i = 0; __i < ((fd_set *)(set))->fd_count ; __i++) {\
- if (((fd_set *)(set))->fd_array[__i] == (fd)) {\
- while (__i < ((fd_set *)(set))->fd_count-1) {\
- ((fd_set*)(set))->fd_array[__i] = ((fd_set*)(set))->fd_array[__i+1];\
- __i++;\
- }\
- ((fd_set*)(set))->fd_count--;\
- break;\
- }\
-}\
-} while (0)
-#endif
-#ifndef FD_SET
-#define FD_SET(fd, set) do { \
- if (((fd_set *)(set))->fd_count < FD_SETSIZE) \
- ((fd_set *)(set))->fd_array[((fd_set *)(set))->fd_count++]=(fd);\
-}while (0)
-#endif
-#ifndef FD_ZERO
-#define FD_ZERO(set) (((fd_set *)(set))->fd_count=0)
-#endif
-#ifndef FD_ISSET
-#define FD_ISSET(fd, set) __WSAFDIsSet((SOCKET)(fd), (fd_set *)(set))
-#endif
-#elif !defined(USE_SYS_TYPES_FD_SET)
-#warning "fd_set and associated macros have been defined in sys/types. \
- This can cause runtime problems with W32 sockets"
-#endif /* ndef _SYS_TYPES_FD_SET */
-
-#if !(defined (__INSIDE_CYGWIN__) || defined (__INSIDE_MSYS__))
-#ifndef _TIMEVAL_DEFINED /* also in sys/time.h */
-#define _TIMEVAL_DEFINED
-struct timeval {
- long tv_sec;
- long tv_usec;
-};
-#define timerisset(tvp) ((tvp)->tv_sec || (tvp)->tv_usec)
-#define timercmp(tvp, uvp, cmp) \
- (((tvp)->tv_sec != (uvp)->tv_sec) ? \
- ((tvp)->tv_sec cmp (uvp)->tv_sec) : \
- ((tvp)->tv_usec cmp (uvp)->tv_usec))
-#define timerclear(tvp) (tvp)->tv_sec = (tvp)->tv_usec = 0
-#endif /* _TIMEVAL_DEFINED */
-struct hostent {
- char *h_name;
- char **h_aliases;
- short h_addrtype;
- short h_length;
- char **h_addr_list;
-#define h_addr h_addr_list[0]
-};
-struct linger {
- u_short l_onoff;
- u_short l_linger;
-};
-#endif /* ! (__INSIDE_CYGWIN__ || __INSIDE_MSYS__) */
-#define IOCPARM_MASK 0x7f
-#define IOC_VOID 0x20000000
-#define IOC_OUT 0x40000000
-#define IOC_IN 0x80000000
-#define IOC_INOUT (IOC_IN|IOC_OUT)
-
-#if !(defined (__INSIDE_CYGWIN__) || defined (__INSIDE_MSYS__))
-#define _IO(x,y) (IOC_VOID|((x)<<8)|(y))
-#define _IOR(x,y,t) (IOC_OUT|(((long)sizeof(t)&IOCPARM_MASK)<<16)|((x)<<8)|(y))
-#define _IOW(x,y,t) (IOC_IN|(((long)sizeof(t)&IOCPARM_MASK)<<16)|((x)<<8)|(y))
-#define FIONBIO _IOW('f', 126, u_long)
-#endif /* ! (__INSIDE_CYGWIN__ || __INSIDE_MSYS__) */
-
-#define FIONREAD _IOR('f', 127, u_long)
-#define FIOASYNC _IOW('f', 125, u_long)
-#define SIOCSHIWAT _IOW('s', 0, u_long)
-#define SIOCGHIWAT _IOR('s', 1, u_long)
-#define SIOCSLOWAT _IOW('s', 2, u_long)
-#define SIOCGLOWAT _IOR('s', 3, u_long)
-#define SIOCATMARK _IOR('s', 7, u_long)
-
-#if !(defined (__INSIDE_CYGWIN__) || defined (__INSIDE_MSYS__))
-struct netent {
- char * n_name;
- char **n_aliases;
- short n_addrtype;
- u_long n_net;
-};
-struct servent {
- char *s_name;
- char **s_aliases;
- short s_port;
- char *s_proto;
-};
-struct protoent {
- char *p_name;
- char **p_aliases;
- short p_proto;
-};
-#endif /* ! (__INSIDE_CYGWIN__ || __INSIDE_MSYS__) */
-
-#define IPPROTO_IP 0
-#define IPPROTO_ICMP 1
-#define IPPROTO_IGMP 2
-#define IPPROTO_GGP 3
-#define IPPROTO_TCP 6
-#define IPPROTO_PUP 12
-#define IPPROTO_UDP 17
-#define IPPROTO_IDP 22
-#define IPPROTO_ND 77
-#define IPPROTO_RAW 255
-#define IPPROTO_MAX 256
-#define IPPORT_ECHO 7
-#define IPPORT_DISCARD 9
-#define IPPORT_SYSTAT 11
-#define IPPORT_DAYTIME 13
-#define IPPORT_NETSTAT 15
-#define IPPORT_FTP 21
-#define IPPORT_TELNET 23
-#define IPPORT_SMTP 25
-#define IPPORT_TIMESERVER 37
-#define IPPORT_NAMESERVER 42
-#define IPPORT_WHOIS 43
-#define IPPORT_MTP 57
-#define IPPORT_TFTP 69
-#define IPPORT_RJE 77
-#define IPPORT_FINGER 79
-#define IPPORT_TTYLINK 87
-#define IPPORT_SUPDUP 95
-#define IPPORT_EXECSERVER 512
-#define IPPORT_LOGINSERVER 513
-#define IPPORT_CMDSERVER 514
-#define IPPORT_EFSSERVER 520
-#define IPPORT_BIFFUDP 512
-#define IPPORT_WHOSERVER 513
-#define IPPORT_ROUTESERVER 520
-#define IPPORT_RESERVED 1024
-#define IMPLINK_IP 155
-#define IMPLINK_LOWEXPER 156
-#define IMPLINK_HIGHEXPER 158
-struct in_addr {
- union {
- struct { u_char s_b1,s_b2,s_b3,s_b4; } S_un_b;
- struct { u_short s_w1,s_w2; } S_un_w;
- u_long S_addr;
- } S_un;
-#define s_addr S_un.S_addr
-#define s_host S_un.S_un_b.s_b2
-#define s_net S_un.S_un_b.s_b1
-#define s_imp S_un.S_un_w.s_w2
-#define s_impno S_un.S_un_b.s_b4
-#define s_lh S_un.S_un_b.s_b3
-};
-#define IN_CLASSA(i) (((long)(i)&0x80000000) == 0)
-#define IN_CLASSA_NET 0xff000000
-#define IN_CLASSA_NSHIFT 24
-#define IN_CLASSA_HOST 0x00ffffff
-#define IN_CLASSA_MAX 128
-#define IN_CLASSB(i) (((long)(i)&0xc0000000)==0x80000000)
-#define IN_CLASSB_NET 0xffff0000
-#define IN_CLASSB_NSHIFT 16
-#define IN_CLASSB_HOST 0x0000ffff
-#define IN_CLASSB_MAX 65536
-#define IN_CLASSC(i) (((long)(i)&0xe0000000)==0xc0000000)
-#define IN_CLASSC_NET 0xffffff00
-#define IN_CLASSC_NSHIFT 8
-#define IN_CLASSC_HOST 0xff
-#define INADDR_ANY (u_long)0
-#define INADDR_LOOPBACK 0x7f000001
-#define INADDR_BROADCAST (u_long)0xffffffff
-#define INADDR_NONE 0xffffffff
-struct sockaddr_in {
- short sin_family;
- u_short sin_port;
- struct in_addr sin_addr;
- char sin_zero[8];
-};
-#define WSADESCRIPTION_LEN 256
-#define WSASYS_STATUS_LEN 128
-typedef struct WSAData {
- WORD wVersion;
- WORD wHighVersion;
- char szDescription[WSADESCRIPTION_LEN+1];
- char szSystemStatus[WSASYS_STATUS_LEN+1];
- unsigned short iMaxSockets;
- unsigned short iMaxUdpDg;
- char * lpVendorInfo;
-} WSADATA;
-typedef WSADATA *LPWSADATA;
-
-#if !(defined (__INSIDE_CYGWIN__) || defined (__INSIDE_MSYS__))
-#define IP_OPTIONS 1
-#define SO_DEBUG 1
-#define SO_ACCEPTCONN 2
-#define SO_REUSEADDR 4
-#define SO_KEEPALIVE 8
-#define SO_DONTROUTE 16
-#define SO_BROADCAST 32
-#define SO_USELOOPBACK 64
-#define SO_LINGER 128
-#define SO_OOBINLINE 256
-#define SO_DONTLINGER (u_int)(~SO_LINGER)
-#define SO_SNDBUF 0x1001
-#define SO_RCVBUF 0x1002
-#define SO_SNDLOWAT 0x1003
-#define SO_RCVLOWAT 0x1004
-#define SO_SNDTIMEO 0x1005
-#define SO_RCVTIMEO 0x1006
-#define SO_ERROR 0x1007
-#define SO_TYPE 0x1008
-#endif /* ! (__INSIDE_CYGWIN__ || __INSIDE_MSYS__) */
-/*
- * Note that the next 5 IP defines are specific to WinSock 1.1 (wsock32.dll).
- * They will cause errors or unexpected results if used with the
- * (gs)etsockopts exported from the WinSock 2 lib, ws2_32.dll. Refer ws2tcpip.h.
- */
-#define IP_MULTICAST_IF 2
-#define IP_MULTICAST_TTL 3
-#define IP_MULTICAST_LOOP 4
-#define IP_ADD_MEMBERSHIP 5
-#define IP_DROP_MEMBERSHIP 6
-
-#define IP_DEFAULT_MULTICAST_TTL 1
-#define IP_DEFAULT_MULTICAST_LOOP 1
-#define IP_MAX_MEMBERSHIPS 20
-struct ip_mreq {
- struct in_addr imr_multiaddr;
- struct in_addr imr_interface;
-};
-#define INVALID_SOCKET (SOCKET)(~0)
-#define SOCKET_ERROR (-1)
-#define SOCK_STREAM 1
-#define SOCK_DGRAM 2
-#define SOCK_RAW 3
-#define SOCK_RDM 4
-#define SOCK_SEQPACKET 5
-#define TCP_NODELAY 0x0001
-#define AF_UNSPEC 0
-#define AF_UNIX 1
-#define AF_INET 2
-#define AF_IMPLINK 3
-#define AF_PUP 4
-#define AF_CHAOS 5
-#define AF_IPX 6
-#define AF_NS 6
-#define AF_ISO 7
-#define AF_OSI AF_ISO
-#define AF_ECMA 8
-#define AF_DATAKIT 9
-#define AF_CCITT 10
-#define AF_SNA 11
-#define AF_DECnet 12
-#define AF_DLI 13
-#define AF_LAT 14
-#define AF_HYLINK 15
-#define AF_APPLETALK 16
-#define AF_NETBIOS 17
-#define AF_VOICEVIEW 18
-#define AF_FIREFOX 19
-#define AF_UNKNOWN1 20
-#define AF_BAN 21
-#define AF_ATM 22
-#define AF_INET6 23
-#if !(defined (__INSIDE_CYGWIN__) || defined (__INSIDE_MSYS__))
-#define AF_MAX 24
-struct sockaddr {
- u_short sa_family;
- char sa_data[14];
-};
-#endif /* ! (__INSIDE_CYGWIN__ || __INSIDE_MSYS__) */
-
-struct sockproto {
- u_short sp_family;
- u_short sp_protocol;
-};
-#define PF_UNSPEC AF_UNSPEC
-#define PF_UNIX AF_UNIX
-#define PF_INET AF_INET
-#define PF_IMPLINK AF_IMPLINK
-#define PF_PUP AF_PUP
-#define PF_CHAOS AF_CHAOS
-#define PF_NS AF_NS
-#define PF_IPX AF_IPX
-#define PF_ISO AF_ISO
-#define PF_OSI AF_OSI
-#define PF_ECMA AF_ECMA
-#define PF_DATAKIT AF_DATAKIT
-#define PF_CCITT AF_CCITT
-#define PF_SNA AF_SNA
-#define PF_DECnet AF_DECnet
-#define PF_DLI AF_DLI
-#define PF_LAT AF_LAT
-#define PF_HYLINK AF_HYLINK
-#define PF_APPLETALK AF_APPLETALK
-#define PF_VOICEVIEW AF_VOICEVIEW
-#define PF_FIREFOX AF_FIREFOX
-#define PF_UNKNOWN1 AF_UNKNOWN1
-#define PF_BAN AF_BAN
-#define PF_ATM AF_ATM
-#define PF_INET6 AF_INET6
-#define PF_MAX AF_MAX
-#define SOL_SOCKET 0xffff
-#define SOMAXCONN 5
-#if !(defined (__INSIDE_CYGWIN__) || defined (__INSIDE_MSYS__))
-#define MSG_OOB 1
-#define MSG_PEEK 2
-#define MSG_DONTROUTE 4
-#endif /* ! (__INSIDE_CYGWIN__ || __INSIDE_MSYS__) */
-#define MSG_MAXIOVLEN 16
-#define MSG_PARTIAL 0x8000
-#define MAXGETHOSTSTRUCT 1024
-#define FD_READ 1
-#define FD_WRITE 2
-#define FD_OOB 4
-#define FD_ACCEPT 8
-#define FD_CONNECT 16
-#define FD_CLOSE 32
-#ifndef WSABASEERR
-#define WSABASEERR 10000
-#define WSAEINTR (WSABASEERR+4)
-#define WSAEBADF (WSABASEERR+9)
-#define WSAEACCES (WSABASEERR+13)
-#define WSAEFAULT (WSABASEERR+14)
-#define WSAEINVAL (WSABASEERR+22)
-#define WSAEMFILE (WSABASEERR+24)
-#define WSAEWOULDBLOCK (WSABASEERR+35)
-#define WSAEINPROGRESS (WSABASEERR+36)
-#define WSAEALREADY (WSABASEERR+37)
-#define WSAENOTSOCK (WSABASEERR+38)
-#define WSAEDESTADDRREQ (WSABASEERR+39)
-#define WSAEMSGSIZE (WSABASEERR+40)
-#define WSAEPROTOTYPE (WSABASEERR+41)
-#define WSAENOPROTOOPT (WSABASEERR+42)
-#define WSAEPROTONOSUPPORT (WSABASEERR+43)
-#define WSAESOCKTNOSUPPORT (WSABASEERR+44)
-#define WSAEOPNOTSUPP (WSABASEERR+45)
-#define WSAEPFNOSUPPORT (WSABASEERR+46)
-#define WSAEAFNOSUPPORT (WSABASEERR+47)
-#define WSAEADDRINUSE (WSABASEERR+48)
-#define WSAEADDRNOTAVAIL (WSABASEERR+49)
-#define WSAENETDOWN (WSABASEERR+50)
-#define WSAENETUNREACH (WSABASEERR+51)
-#define WSAENETRESET (WSABASEERR+52)
-#define WSAECONNABORTED (WSABASEERR+53)
-#define WSAECONNRESET (WSABASEERR+54)
-#define WSAENOBUFS (WSABASEERR+55)
-#define WSAEISCONN (WSABASEERR+56)
-#define WSAENOTCONN (WSABASEERR+57)
-#define WSAESHUTDOWN (WSABASEERR+58)
-#define WSAETOOMANYREFS (WSABASEERR+59)
-#define WSAETIMEDOUT (WSABASEERR+60)
-#define WSAECONNREFUSED (WSABASEERR+61)
-#define WSAELOOP (WSABASEERR+62)
-#define WSAENAMETOOLONG (WSABASEERR+63)
-#define WSAEHOSTDOWN (WSABASEERR+64)
-#define WSAEHOSTUNREACH (WSABASEERR+65)
-#define WSAENOTEMPTY (WSABASEERR+66)
-#define WSAEPROCLIM (WSABASEERR+67)
-#define WSAEUSERS (WSABASEERR+68)
-#define WSAEDQUOT (WSABASEERR+69)
-#define WSAESTALE (WSABASEERR+70)
-#define WSAEREMOTE (WSABASEERR+71)
-#define WSAEDISCON (WSABASEERR+101)
-#define WSASYSNOTREADY (WSABASEERR+91)
-#define WSAVERNOTSUPPORTED (WSABASEERR+92)
-#define WSANOTINITIALISED (WSABASEERR+93)
-#define WSAHOST_NOT_FOUND (WSABASEERR+1001)
-#define WSATRY_AGAIN (WSABASEERR+1002)
-#define WSANO_RECOVERY (WSABASEERR+1003)
-#define WSANO_DATA (WSABASEERR+1004)
-#endif /* !WSABASEERR */
-
-#define WSANO_ADDRESS WSANO_DATA
-#if !(defined (__INSIDE_CYGWIN__) || defined (__INSIDE_MSYS__))
-#define h_errno WSAGetLastError()
-#define HOST_NOT_FOUND WSAHOST_NOT_FOUND
-#define TRY_AGAIN WSATRY_AGAIN
-#define NO_RECOVERY WSANO_RECOVERY
-#define NO_DATA WSANO_DATA
-#define NO_ADDRESS WSANO_ADDRESS
-#endif /* ! (__INSIDE_CYGWIN__ || __INSIDE_MSYS__) */
-SOCKET PASCAL accept(SOCKET,struct sockaddr*,int*);
-int PASCAL bind(SOCKET,const struct sockaddr*,int);
-int PASCAL closesocket(SOCKET);
-int PASCAL connect(SOCKET,const struct sockaddr*,int);
-int PASCAL ioctlsocket(SOCKET,long,u_long *);
-int PASCAL getpeername(SOCKET,struct sockaddr*,int*);
-int PASCAL getsockname(SOCKET,struct sockaddr*,int*);
-int PASCAL getsockopt(SOCKET,int,int,char*,int*);
-unsigned long PASCAL inet_addr(const char*);
-DECLARE_STDCALL_P(char *) inet_ntoa(struct in_addr);
-int PASCAL listen(SOCKET,int);
-int PASCAL recv(SOCKET,char*,int,int);
-int PASCAL recvfrom(SOCKET,char*,int,int,struct sockaddr*,int*);
-int PASCAL send(SOCKET,const char*,int,int);
-int PASCAL sendto(SOCKET,const char*,int,int,const struct sockaddr*,int);
-int PASCAL setsockopt(SOCKET,int,int,const char*,int);
-int PASCAL shutdown(SOCKET,int);
-SOCKET PASCAL socket(int,int,int);
-DECLARE_STDCALL_P(struct hostent *) gethostbyaddr(const char*,int,int);
-DECLARE_STDCALL_P(struct hostent *) gethostbyname(const char*);
-DECLARE_STDCALL_P(struct servent *) getservbyport(int,const char*);
-DECLARE_STDCALL_P(struct servent *) getservbyname(const char*,const char*);
-DECLARE_STDCALL_P(struct protoent *) getprotobynumber(int);
-DECLARE_STDCALL_P(struct protoent *) getprotobyname(const char*);
-int PASCAL WSAStartup(WORD,LPWSADATA);
-int PASCAL WSACleanup(void);
-void PASCAL WSASetLastError(int);
-int PASCAL WSAGetLastError(void);
-BOOL PASCAL WSAIsBlocking(void);
-int PASCAL WSAUnhookBlockingHook(void);
-FARPROC PASCAL WSASetBlockingHook(FARPROC);
-int PASCAL WSACancelBlockingCall(void);
-HANDLE PASCAL WSAAsyncGetServByName(HWND,u_int,const char*,const char*,char*,int);
-HANDLE PASCAL WSAAsyncGetServByPort(HWND,u_int,int,const char*,char*,int);
-HANDLE PASCAL WSAAsyncGetProtoByName(HWND,u_int,const char*,char*,int);
-HANDLE PASCAL WSAAsyncGetProtoByNumber(HWND,u_int,int,char*,int);
-HANDLE PASCAL WSAAsyncGetHostByName(HWND,u_int,const char*,char*,int);
-HANDLE PASCAL WSAAsyncGetHostByAddr(HWND,u_int,const char*,int,int,char*,int);
-int PASCAL WSACancelAsyncRequest(HANDLE);
-int PASCAL WSAAsyncSelect(SOCKET,HWND,u_int,long);
-#if !(defined (__INSIDE_CYGWIN__) || defined (__INSIDE_MSYS__))
-u_long PASCAL htonl(u_long);
-u_long PASCAL ntohl(u_long);
-u_short PASCAL htons(u_short);
-u_short PASCAL ntohs(u_short);
-int PASCAL select(int nfds,fd_set*,fd_set*,fd_set*,const struct timeval*);
-int PASCAL gethostname(char*,int);
-#endif /* ! (__INSIDE_CYGWIN__ || __INSIDE_MSYS__) */
-
-#define WSAMAKEASYNCREPLY(b,e) MAKELONG(b,e)
-#define WSAMAKESELECTREPLY(e,error) MAKELONG(e,error)
-#define WSAGETASYNCBUFLEN(l) LOWORD(l)
-#define WSAGETASYNCERROR(l) HIWORD(l)
-#define WSAGETSELECTEVENT(l) LOWORD(l)
-#define WSAGETSELECTERROR(l) HIWORD(l)
-
-typedef struct sockaddr SOCKADDR;
-typedef struct sockaddr *PSOCKADDR;
-typedef struct sockaddr *LPSOCKADDR;
-typedef struct sockaddr_in SOCKADDR_IN;
-typedef struct sockaddr_in *PSOCKADDR_IN;
-typedef struct sockaddr_in *LPSOCKADDR_IN;
-typedef struct linger LINGER;
-typedef struct linger *PLINGER;
-typedef struct linger *LPLINGER;
-typedef struct in_addr IN_ADDR;
-typedef struct in_addr *PIN_ADDR;
-typedef struct in_addr *LPIN_ADDR;
-typedef struct fd_set FD_SET;
-typedef struct fd_set *PFD_SET;
-typedef struct fd_set *LPFD_SET;
-typedef struct hostent HOSTENT;
-typedef struct hostent *PHOSTENT;
-typedef struct hostent *LPHOSTENT;
-typedef struct servent SERVENT;
-typedef struct servent *PSERVENT;
-typedef struct servent *LPSERVENT;
-typedef struct protoent PROTOENT;
-typedef struct protoent *PPROTOENT;
-typedef struct protoent *LPPROTOENT;
-typedef struct timeval TIMEVAL;
-typedef struct timeval *PTIMEVAL;
-typedef struct timeval *LPTIMEVAL;
-
-#ifdef __cplusplus
-}
-#endif
-/*
- * Recent MSDN docs indicate that the MS-specific extensions exported from
- * mswsock.dll (AcceptEx, TransmitFile. WSARecEx and GetAcceptExSockaddrs) are
- * declared in mswsock.h. These extensions are not supported on W9x or WinCE.
- * However, code using WinSock 1.1 API may expect the declarations and
- * associated defines to be in this header. Thus we include mswsock.h here.
- *
- * When linking against the WinSock 1.1 lib, wsock32.dll, the mswsock functions
- * are automatically routed to mswsock.dll (on platforms with support).
- * The WinSock 2 lib, ws2_32.dll, does not contain any references to
- * the mswsock extensions.
- */
-
-#include <mswsock.h>
-
-#endif
diff --git a/winsup/w32api/include/winsock2.h b/winsup/w32api/include/winsock2.h
deleted file mode 100644
index 64016f3ea..000000000
--- a/winsup/w32api/include/winsock2.h
+++ /dev/null
@@ -1,1282 +0,0 @@
-/*
-
- Definitions for winsock 2
-
- Contributed by the WINE project.
-
- Portions Copyright (c) 1980, 1983, 1988, 1993
- The Regents of the University of California. All rights reserved.
-
- Portions Copyright (c) 1993 by Digital Equipment Corporation.
- */
-
-#if !(defined _WINSOCK2_H || defined _WINSOCK_H)
-#define _WINSOCK2_H
-#define _WINSOCK_H /* to prevent later inclusion of winsock.h */
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#define _GNU_H_WINDOWS32_SOCKETS
-
-#include <windows.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-/* Names common to Winsock1.1 and Winsock2 */
-#if !defined ( _BSDTYPES_DEFINED )
-/* also defined in gmon.h and in cygwin's sys/types */
-typedef unsigned char u_char;
-typedef unsigned short u_short;
-typedef unsigned int u_int;
-typedef unsigned long u_long;
-#define _BSDTYPES_DEFINED
-#endif /* ! def _BSDTYPES_DEFINED */
-typedef u_int SOCKET;
-#ifndef FD_SETSIZE
-#define FD_SETSIZE 64
-#endif
-
-/* shutdown() how types */
-#define SD_RECEIVE 0x00
-#define SD_SEND 0x01
-#define SD_BOTH 0x02
-
-#ifndef _SYS_TYPES_FD_SET
-/* fd_set may be defined by the newlib <sys/types.h>
- * if __USE_W32_SOCKETS not defined.
- */
-#ifdef fd_set
-#undef fd_set
-#endif
-typedef struct fd_set {
- u_int fd_count;
- SOCKET fd_array[FD_SETSIZE];
-} fd_set;
-int PASCAL __WSAFDIsSet(SOCKET,fd_set*);
-#ifndef FD_CLR
-#define FD_CLR(fd,set) do { u_int __i;\
-for (__i = 0; __i < ((fd_set *)(set))->fd_count ; __i++) {\
- if (((fd_set *)(set))->fd_array[__i] == (fd)) {\
- while (__i < ((fd_set *)(set))->fd_count-1) {\
- ((fd_set*)(set))->fd_array[__i] = ((fd_set*)(set))->fd_array[__i+1];\
- __i++;\
- }\
- ((fd_set*)(set))->fd_count--;\
- break;\
- }\
-}\
-} while (0)
-#endif
-#ifndef FD_SET
-/* this differs from the define in winsock.h and in cygwin sys/types.h */
-#define FD_SET(fd, set) do { u_int __i;\
-for (__i = 0; __i < ((fd_set *)(set))->fd_count ; __i++) {\
- if (((fd_set *)(set))->fd_array[__i] == (fd)) {\
- break;\
- }\
-}\
-if (__i == ((fd_set *)(set))->fd_count) {\
- if (((fd_set *)(set))->fd_count < FD_SETSIZE) {\
- ((fd_set *)(set))->fd_array[__i] = (fd);\
- ((fd_set *)(set))->fd_count++;\
- }\
-}\
-} while(0)
-#endif
-#ifndef FD_ZERO
-#define FD_ZERO(set) (((fd_set *)(set))->fd_count=0)
-#endif
-#ifndef FD_ISSET
-#define FD_ISSET(fd, set) __WSAFDIsSet((SOCKET)(fd), (fd_set *)(set))
-#endif
-#elif !defined (USE_SYS_TYPES_FD_SET)
-#warning "fd_set and associated macros have been defined in sys/types. \
- This may cause runtime problems with W32 sockets"
-#endif /* ndef _SYS_TYPES_FD_SET */
-#if !(defined (__INSIDE_CYGWIN__) || (__INSIDE_MSYS__))
-#ifndef _TIMEVAL_DEFINED /* also in sys/time.h */
-#define _TIMEVAL_DEFINED
-struct timeval {
- long tv_sec;
- long tv_usec;
-};
-#define timerisset(tvp) ((tvp)->tv_sec || (tvp)->tv_usec)
-#define timercmp(tvp, uvp, cmp) \
- (((tvp)->tv_sec != (uvp)->tv_sec) ? \
- ((tvp)->tv_sec cmp (uvp)->tv_sec) : \
- ((tvp)->tv_usec cmp (uvp)->tv_usec))
-#define timerclear(tvp) (tvp)->tv_sec = (tvp)->tv_usec = 0
-#endif /* _TIMEVAL_DEFINED */
-struct hostent {
- char *h_name;
- char **h_aliases;
- short h_addrtype;
- short h_length;
- char **h_addr_list;
-#define h_addr h_addr_list[0]
-};
-struct linger {
- u_short l_onoff;
- u_short l_linger;
-};
-#endif /* ! (__INSIDE_CYGWIN__ || __INSIDE_MSYS__) */
-#define IOCPARM_MASK 0x7f
-#define IOC_VOID 0x20000000
-#define IOC_OUT 0x40000000
-#define IOC_IN 0x80000000
-#define IOC_INOUT (IOC_IN|IOC_OUT)
-
-#if ! (defined (__INSIDE_CYGWIN__) || defined (__INSIDE_MSYS__))
-#define _IO(x,y) (IOC_VOID|((x)<<8)|(y))
-#define _IOR(x,y,t) (IOC_OUT|(((long)sizeof(t)&IOCPARM_MASK)<<16)|((x)<<8)|(y))
-#define _IOW(x,y,t) (IOC_IN|(((long)sizeof(t)&IOCPARM_MASK)<<16)|((x)<<8)|(y))
-#define FIONBIO _IOW('f', 126, u_long)
-#endif /* ! (__INSIDE_CYGWIN__ || __INSIDE_MSYS__) */
-
-#define FIONREAD _IOR('f', 127, u_long)
-#define FIOASYNC _IOW('f', 125, u_long)
-#define SIOCSHIWAT _IOW('s', 0, u_long)
-#define SIOCGHIWAT _IOR('s', 1, u_long)
-#define SIOCSLOWAT _IOW('s', 2, u_long)
-#define SIOCGLOWAT _IOR('s', 3, u_long)
-#define SIOCATMARK _IOR('s', 7, u_long)
-
-#if ! (defined (__INSIDE_CYGWIN__) || defined (__INSIDE_MSYS__))
-struct netent {
- char * n_name;
- char **n_aliases;
- short n_addrtype;
- u_long n_net;
-};
-struct servent {
- char *s_name;
- char **s_aliases;
- short s_port;
- char *s_proto;
-};
-struct protoent {
- char *p_name;
- char **p_aliases;
- short p_proto;
-};
-#endif /* ! (__INSIDE_CYGWIN__ || __INSIDE_MSYS__) */
-
-#define IPPROTO_IP 0
-#define IPPROTO_ICMP 1
-#define IPPROTO_IGMP 2
-#define IPPROTO_GGP 3
-#define IPPROTO_TCP 6
-#define IPPROTO_PUP 12
-#define IPPROTO_UDP 17
-#define IPPROTO_IDP 22
-#define IPPROTO_ND 77
-#define IPPROTO_RAW 255
-#define IPPROTO_MAX 256
-/* IPv6 options */
-#define IPPROTO_HOPOPTS 0 /* IPv6 Hop-by-Hop options */
-#define IPPROTO_IPV6 41 /* IPv6 header */
-#define IPPROTO_ROUTING 43 /* IPv6 Routing header */
-#define IPPROTO_FRAGMENT 44 /* IPv6 fragmentation header */
-#define IPPROTO_ESP 50 /* encapsulating security payload */
-#define IPPROTO_AH 51 /* authentication header */
-#define IPPROTO_ICMPV6 58 /* ICMPv6 */
-#define IPPROTO_NONE 59 /* IPv6 no next header */
-#define IPPROTO_DSTOPTS 60 /* IPv6 Destination options */
-#define IPPORT_ECHO 7
-#define IPPORT_DISCARD 9
-#define IPPORT_SYSTAT 11
-#define IPPORT_DAYTIME 13
-#define IPPORT_NETSTAT 15
-#define IPPORT_FTP 21
-#define IPPORT_TELNET 23
-#define IPPORT_SMTP 25
-#define IPPORT_TIMESERVER 37
-#define IPPORT_NAMESERVER 42
-#define IPPORT_WHOIS 43
-#define IPPORT_MTP 57
-#define IPPORT_TFTP 69
-#define IPPORT_RJE 77
-#define IPPORT_FINGER 79
-#define IPPORT_TTYLINK 87
-#define IPPORT_SUPDUP 95
-#define IPPORT_EXECSERVER 512
-#define IPPORT_LOGINSERVER 513
-#define IPPORT_CMDSERVER 514
-#define IPPORT_EFSSERVER 520
-#define IPPORT_BIFFUDP 512
-#define IPPORT_WHOSERVER 513
-#define IPPORT_ROUTESERVER 520
-#define IPPORT_RESERVED 1024
-#define IMPLINK_IP 155
-#define IMPLINK_LOWEXPER 156
-#define IMPLINK_HIGHEXPER 158
-struct in_addr {
- union {
- struct { u_char s_b1,s_b2,s_b3,s_b4; } S_un_b;
- struct { u_short s_w1,s_w2; } S_un_w;
- u_long S_addr;
- } S_un;
-#define s_addr S_un.S_addr
-#define s_host S_un.S_un_b.s_b2
-#define s_net S_un.S_un_b.s_b1
-#define s_imp S_un.S_un_w.s_w2
-#define s_impno S_un.S_un_b.s_b4
-#define s_lh S_un.S_un_b.s_b3
-};
-#define IN_CLASSA(i) (((long)(i)&0x80000000) == 0)
-#define IN_CLASSA_NET 0xff000000
-#define IN_CLASSA_NSHIFT 24
-#define IN_CLASSA_HOST 0x00ffffff
-#define IN_CLASSA_MAX 128
-#define IN_CLASSB(i) (((long)(i)&0xc0000000)==0x80000000)
-#define IN_CLASSB_NET 0xffff0000
-#define IN_CLASSB_NSHIFT 16
-#define IN_CLASSB_HOST 0x0000ffff
-#define IN_CLASSB_MAX 65536
-#define IN_CLASSC(i) (((long)(i)&0xe0000000)==0xc0000000)
-#define IN_CLASSC_NET 0xffffff00
-#define IN_CLASSC_NSHIFT 8
-#define IN_CLASSC_HOST 0xff
-#define INADDR_ANY (u_long)0
-#define INADDR_LOOPBACK 0x7f000001
-#define INADDR_BROADCAST (u_long)0xffffffff
-#define INADDR_NONE 0xffffffff
-struct sockaddr_in {
- short sin_family;
- u_short sin_port;
- struct in_addr sin_addr;
- char sin_zero[8];
-};
-#define WSADESCRIPTION_LEN 256
-#define WSASYS_STATUS_LEN 128
-typedef struct WSAData {
- WORD wVersion;
- WORD wHighVersion;
- char szDescription[WSADESCRIPTION_LEN+1];
- char szSystemStatus[WSASYS_STATUS_LEN+1];
- unsigned short iMaxSockets;
- unsigned short iMaxUdpDg;
- char * lpVendorInfo;
-} WSADATA;
-typedef WSADATA *LPWSADATA;
-
-#if ! (defined (__INSIDE_CYGWIN__) || defined (__INSIDE_MSYS__))
-#define IP_OPTIONS 1
-#define SO_DEBUG 1
-#define SO_ACCEPTCONN 2
-#define SO_REUSEADDR 4
-#define SO_KEEPALIVE 8
-#define SO_DONTROUTE 16
-#define SO_BROADCAST 32
-#define SO_USELOOPBACK 64
-#define SO_LINGER 128
-#define SO_OOBINLINE 256
-#define SO_DONTLINGER (u_int)(~SO_LINGER)
-#define SO_EXCLUSIVEADDRUSE ((u_int)(~SO_REUSEADDR))
-#define SO_SNDBUF 0x1001
-#define SO_RCVBUF 0x1002
-#define SO_SNDLOWAT 0x1003
-#define SO_RCVLOWAT 0x1004
-#define SO_SNDTIMEO 0x1005
-#define SO_RCVTIMEO 0x1006
-#define SO_ERROR 0x1007
-#define SO_TYPE 0x1008
-#endif /* ! (__INSIDE_CYGWIN__ || __INSIDE_MSYS__) */
-
-#define INVALID_SOCKET (SOCKET)(~0)
-#define SOCKET_ERROR (-1)
-#define SOCK_STREAM 1
-#define SOCK_DGRAM 2
-#define SOCK_RAW 3
-#define SOCK_RDM 4
-#define SOCK_SEQPACKET 5
-#define TCP_NODELAY 0x0001
-#define AF_UNSPEC 0
-#define AF_UNIX 1
-#define AF_INET 2
-#define AF_IMPLINK 3
-#define AF_PUP 4
-#define AF_CHAOS 5
-#define AF_IPX 6
-#define AF_NS 6
-#define AF_ISO 7
-#define AF_OSI AF_ISO
-#define AF_ECMA 8
-#define AF_DATAKIT 9
-#define AF_CCITT 10
-#define AF_SNA 11
-#define AF_DECnet 12
-#define AF_DLI 13
-#define AF_LAT 14
-#define AF_HYLINK 15
-#define AF_APPLETALK 16
-#define AF_NETBIOS 17
-#define AF_VOICEVIEW 18
-#define AF_FIREFOX 19
-#define AF_UNKNOWN1 20
-#define AF_BAN 21
-#define AF_ATM 22
-#define AF_INET6 23
-#define AF_CLUSTER 24
-#define AF_12844 25
-#define AF_IRDA 26
-#define AF_NETDES 28
-#if !(defined (__INSIDE_CYGWIN__) || defined (__INSIDE_MSYS__))
-#define AF_MAX 29
-struct sockaddr {
- u_short sa_family;
- char sa_data[14];
-};
-#endif /* ! (__INSIDE_CYGWIN__ || __INSIDE_MSYS__) */
-
-/* Portable IPv6/IPv4 version of sockaddr.
- Uses padding to force 8 byte alignment
- and maximum size of 128 bytes */
-struct sockaddr_storage {
- short ss_family;
- char __ss_pad1[6]; /* pad to 8 */
- __int64 __ss_align; /* force alignment */
- char __ss_pad2[112]; /* pad to 128 */
-};
-
-struct sockproto {
- u_short sp_family;
- u_short sp_protocol;
-};
-#define PF_UNSPEC AF_UNSPEC
-#define PF_UNIX AF_UNIX
-#define PF_INET AF_INET
-#define PF_IMPLINK AF_IMPLINK
-#define PF_PUP AF_PUP
-#define PF_CHAOS AF_CHAOS
-#define PF_NS AF_NS
-#define PF_IPX AF_IPX
-#define PF_ISO AF_ISO
-#define PF_OSI AF_OSI
-#define PF_ECMA AF_ECMA
-#define PF_DATAKIT AF_DATAKIT
-#define PF_CCITT AF_CCITT
-#define PF_SNA AF_SNA
-#define PF_DECnet AF_DECnet
-#define PF_DLI AF_DLI
-#define PF_LAT AF_LAT
-#define PF_HYLINK AF_HYLINK
-#define PF_APPLETALK AF_APPLETALK
-#define PF_VOICEVIEW AF_VOICEVIEW
-#define PF_FIREFOX AF_FIREFOX
-#define PF_UNKNOWN1 AF_UNKNOWN1
-#define PF_BAN AF_BAN
-#define PF_ATM AF_ATM
-#define PF_INET6 AF_INET6
-#define PF_MAX AF_MAX
-#define SOL_SOCKET 0xffff
-#if ! (defined (__INSIDE_CYGWIN__) || defined (__INSIDE_MSYS__))
-#define SOMAXCONN 0x7fffffff /* (5) in WinSock1.1 */
-#define MSG_OOB 1
-#define MSG_PEEK 2
-#define MSG_DONTROUTE 4
-#endif /* ! (__INSIDE_CYGWIN__ || __INSIDE_MSYS__) */
-#define MSG_MAXIOVLEN 16
-#define MSG_PARTIAL 0x8000
-#define MAXGETHOSTSTRUCT 1024
-
-#define FD_READ_BIT 0
-#define FD_READ (1 << FD_READ_BIT)
-#define FD_WRITE_BIT 1
-#define FD_WRITE (1 << FD_WRITE_BIT)
-#define FD_OOB_BIT 2
-#define FD_OOB (1 << FD_OOB_BIT)
-#define FD_ACCEPT_BIT 3
-#define FD_ACCEPT (1 << FD_ACCEPT_BIT)
-#define FD_CONNECT_BIT 4
-#define FD_CONNECT (1 << FD_CONNECT_BIT)
-#define FD_CLOSE_BIT 5
-#define FD_CLOSE (1 << FD_CLOSE_BIT)
-/* winsock1.1 defines stop at FD_CLOSE (32) */
-#define FD_QOS_BIT 6
-#define FD_QOS (1 << FD_QOS_BIT)
-#define FD_GROUP_QOS_BIT 7
-#define FD_GROUP_QOS (1 << FD_GROUP_QOS_BIT)
-#define FD_ROUTING_INTERFACE_CHANGE_BIT 8
-#define FD_ROUTING_INTERFACE_CHANGE (1 << FD_ROUTING_INTERFACE_CHANGE_BIT)
-#define FD_ADDRESS_LIST_CHANGE_BIT 9
-#define FD_ADDRESS_LIST_CHANGE (1 << FD_ADDRESS_LIST_CHANGE_BIT)
-#define FD_MAX_EVENTS 10
-#define FD_ALL_EVENTS ((1 << FD_MAX_EVENTS) - 1)
-
-#ifndef WSABASEERR
-#define WSABASEERR 10000
-#define WSAEINTR (WSABASEERR+4)
-#define WSAEBADF (WSABASEERR+9)
-#define WSAEACCES (WSABASEERR+13)
-#define WSAEFAULT (WSABASEERR+14)
-#define WSAEINVAL (WSABASEERR+22)
-#define WSAEMFILE (WSABASEERR+24)
-#define WSAEWOULDBLOCK (WSABASEERR+35)
-#define WSAEINPROGRESS (WSABASEERR+36) /* deprecated on WinSock2 */
-#define WSAEALREADY (WSABASEERR+37)
-#define WSAENOTSOCK (WSABASEERR+38)
-#define WSAEDESTADDRREQ (WSABASEERR+39)
-#define WSAEMSGSIZE (WSABASEERR+40)
-#define WSAEPROTOTYPE (WSABASEERR+41)
-#define WSAENOPROTOOPT (WSABASEERR+42)
-#define WSAEPROTONOSUPPORT (WSABASEERR+43)
-#define WSAESOCKTNOSUPPORT (WSABASEERR+44)
-#define WSAEOPNOTSUPP (WSABASEERR+45)
-#define WSAEPFNOSUPPORT (WSABASEERR+46)
-#define WSAEAFNOSUPPORT (WSABASEERR+47)
-#define WSAEADDRINUSE (WSABASEERR+48)
-#define WSAEADDRNOTAVAIL (WSABASEERR+49)
-#define WSAENETDOWN (WSABASEERR+50)
-#define WSAENETUNREACH (WSABASEERR+51)
-#define WSAENETRESET (WSABASEERR+52)
-#define WSAECONNABORTED (WSABASEERR+53)
-#define WSAECONNRESET (WSABASEERR+54)
-#define WSAENOBUFS (WSABASEERR+55)
-#define WSAEISCONN (WSABASEERR+56)
-#define WSAENOTCONN (WSABASEERR+57)
-#define WSAESHUTDOWN (WSABASEERR+58)
-#define WSAETOOMANYREFS (WSABASEERR+59)
-#define WSAETIMEDOUT (WSABASEERR+60)
-#define WSAECONNREFUSED (WSABASEERR+61)
-#define WSAELOOP (WSABASEERR+62)
-#define WSAENAMETOOLONG (WSABASEERR+63)
-#define WSAEHOSTDOWN (WSABASEERR+64)
-#define WSAEHOSTUNREACH (WSABASEERR+65)
-#define WSAENOTEMPTY (WSABASEERR+66)
-#define WSAEPROCLIM (WSABASEERR+67)
-#define WSAEUSERS (WSABASEERR+68)
-#define WSAEDQUOT (WSABASEERR+69)
-#define WSAESTALE (WSABASEERR+70)
-#define WSAEREMOTE (WSABASEERR+71)
-#define WSAEDISCON (WSABASEERR+101)
-#define WSASYSNOTREADY (WSABASEERR+91)
-#define WSAVERNOTSUPPORTED (WSABASEERR+92)
-#define WSANOTINITIALISED (WSABASEERR+93)
-#define WSAHOST_NOT_FOUND (WSABASEERR+1001)
-#define WSATRY_AGAIN (WSABASEERR+1002)
-#define WSANO_RECOVERY (WSABASEERR+1003)
-#define WSANO_DATA (WSABASEERR+1004)
-
-/* WinSock2 specific error codes */
-#define WSAENOMORE (WSABASEERR+102)
-#define WSAECANCELLED (WSABASEERR+103)
-#define WSAEINVALIDPROCTABLE (WSABASEERR+104)
-#define WSAEINVALIDPROVIDER (WSABASEERR+105)
-#define WSAEPROVIDERFAILEDINIT (WSABASEERR+106)
-#define WSASYSCALLFAILURE (WSABASEERR+107)
-#define WSASERVICE_NOT_FOUND (WSABASEERR+108)
-#define WSATYPE_NOT_FOUND (WSABASEERR+109)
-#define WSA_E_NO_MORE (WSABASEERR+110)
-#define WSA_E_CANCELLED (WSABASEERR+111)
-#define WSAEREFUSED (WSABASEERR+112)
-
-/* WS QualityofService errors */
-#define WSA_QOS_RECEIVERS (WSABASEERR + 1005)
-#define WSA_QOS_SENDERS (WSABASEERR + 1006)
-#define WSA_QOS_NO_SENDERS (WSABASEERR + 1007)
-#define WSA_QOS_NO_RECEIVERS (WSABASEERR + 1008)
-#define WSA_QOS_REQUEST_CONFIRMED (WSABASEERR + 1009)
-#define WSA_QOS_ADMISSION_FAILURE (WSABASEERR + 1010)
-#define WSA_QOS_POLICY_FAILURE (WSABASEERR + 1011)
-#define WSA_QOS_BAD_STYLE (WSABASEERR + 1012)
-#define WSA_QOS_BAD_OBJECT (WSABASEERR + 1013)
-#define WSA_QOS_TRAFFIC_CTRL_ERROR (WSABASEERR + 1014)
-#define WSA_QOS_GENERIC_ERROR (WSABASEERR + 1015)
-#define WSA_QOS_ESERVICETYPE (WSABASEERR + 1016)
-#define WSA_QOS_EFLOWSPEC (WSABASEERR + 1017)
-#define WSA_QOS_EPROVSPECBUF (WSABASEERR + 1018)
-#define WSA_QOS_EFILTERSTYLE (WSABASEERR + 1019)
-#define WSA_QOS_EFILTERTYPE (WSABASEERR + 1020)
-#define WSA_QOS_EFILTERCOUNT (WSABASEERR + 1021)
-#define WSA_QOS_EOBJLENGTH (WSABASEERR + 1022)
-#define WSA_QOS_EFLOWCOUNT (WSABASEERR + 1023)
-#define WSA_QOS_EUNKOWNPSOBJ (WSABASEERR + 1024)
-#define WSA_QOS_EPOLICYOBJ (WSABASEERR + 1025)
-#define WSA_QOS_EFLOWDESC (WSABASEERR + 1026)
-#define WSA_QOS_EPSFLOWSPEC (WSABASEERR + 1027)
-#define WSA_QOS_EPSFILTERSPEC (WSABASEERR + 1028)
-#define WSA_QOS_ESDMODEOBJ (WSABASEERR + 1029)
-#define WSA_QOS_ESHAPERATEOBJ (WSABASEERR + 1030)
-#define WSA_QOS_RESERVED_PETYPE (WSABASEERR + 1031)
-
-#endif /* !WSABASEERR */
-
-#define WSANO_ADDRESS WSANO_DATA
-#if !(defined (__INSIDE_CYGWIN__) || defined (__INSIDE_MSYS__))
-#define h_errno WSAGetLastError()
-#define HOST_NOT_FOUND WSAHOST_NOT_FOUND
-#define TRY_AGAIN WSATRY_AGAIN
-#define NO_RECOVERY WSANO_RECOVERY
-#define NO_DATA WSANO_DATA
-#define NO_ADDRESS WSANO_ADDRESS
-#endif /* ! (__INSIDE_CYGWIN__ || __INSIDE_MSYS__) */
-SOCKET PASCAL accept(SOCKET,struct sockaddr*,int*);
-int PASCAL bind(SOCKET,const struct sockaddr*,int);
-int PASCAL closesocket(SOCKET);
-int PASCAL connect(SOCKET,const struct sockaddr*,int);
-int PASCAL ioctlsocket(SOCKET,long,u_long *);
-int PASCAL getpeername(SOCKET,struct sockaddr*,int*);
-int PASCAL getsockname(SOCKET,struct sockaddr*,int*);
-int PASCAL getsockopt(SOCKET,int,int,char*,int*);
-unsigned long PASCAL inet_addr(const char*);
-DECLARE_STDCALL_P(char *) inet_ntoa(struct in_addr);
-int PASCAL listen(SOCKET,int);
-int PASCAL recv(SOCKET,char*,int,int);
-int PASCAL recvfrom(SOCKET,char*,int,int,struct sockaddr*,int*);
-int PASCAL send(SOCKET,const char*,int,int);
-int PASCAL sendto(SOCKET,const char*,int,int,const struct sockaddr*,int);
-int PASCAL setsockopt(SOCKET,int,int,const char*,int);
-int PASCAL shutdown(SOCKET,int);
-SOCKET PASCAL socket(int,int,int);
-DECLARE_STDCALL_P(struct hostent *) gethostbyaddr(const char*,int,int);
-DECLARE_STDCALL_P(struct hostent *) gethostbyname(const char*);
-DECLARE_STDCALL_P(struct servent *) getservbyport(int,const char*);
-DECLARE_STDCALL_P(struct servent *) getservbyname(const char*,const char*);
-DECLARE_STDCALL_P(struct protoent *) getprotobynumber(int);
-DECLARE_STDCALL_P(struct protoent *) getprotobyname(const char*);
-typedef SOCKET (PASCAL * LPFN_ACCEPT)(SOCKET, struct sockaddr*,int *);
-typedef int (PASCAL * LPFN_BIND)(SOCKET, const struct sockaddr*,int);
-typedef int (PASCAL * LPFN_CLOSESOCKET)(SOCKET);
-typedef int (PASCAL * LPFN_CONNECT)(SOCKET, const struct sockaddr*,int);
-typedef int (PASCAL * LPFN_IOCTLSOCKET)(SOCKET, long, u_long*);
-typedef int (PASCAL * LPFN_GETPEERNAME)(SOCKET, struct sockaddr*, int*);
-typedef int(PASCAL * LPFN_GETSOCKNAME)(SOCKET, struct sockaddr*, int*);
-typedef int(PASCAL * LPFN_GETSOCKOPT)(SOCKET, int, int, char*, int*);
-typedef u_long(PASCAL * LPFN_HTONL)(u_long);
-typedef u_short(PASCAL * LPFN_HTONS)(u_short);
-typedef unsigned long(PASCAL * LPFN_INET_ADDR)(const char*);
-typedef char*(PASCAL * LPFN_INET_NTOA)(struct in_addr);
-typedef int(PASCAL * LPFN_LISTEN)(SOCKET, int);
-typedef u_long(PASCAL * LPFN_NTOHL)(u_long);
-typedef u_short(PASCAL * LPFN_NTOHS)(u_short);
-typedef int(PASCAL * LPFN_RECV)(SOCKET, char*, int, int);
-typedef int(PASCAL * LPFN_RECVFROM)(SOCKET, char*, int, int, struct sockaddr*, int*);
-typedef int(PASCAL * LPFN_SELECT)(int, fd_set*, fd_set*, fd_set*, const struct timeval*);
-typedef int(PASCAL * LPFN_SEND)(SOCKET, const char*, int, int);
-typedef int(PASCAL * LPFN_SENDTO)(SOCKET, const char*, int, int, const struct sockaddr*, int);
-typedef int(PASCAL * LPFN_SETSOCKOPT)(SOCKET, int, int, const char*, int);
-typedef int(PASCAL * LPFN_SHUTDOWN)(SOCKET, int);
-typedef SOCKET(PASCAL * LPFN_SOCKET)(int, int, int);
-typedef struct hostent*(PASCAL * LPFN_GETHOSTBYADDR)( const char*, int, int);
-typedef struct hostent*(PASCAL * LPFN_GETHOSTBYNAME)( const char*);
-typedef int(PASCAL * LPFN_GETHOSTNAME)(char*, int);
-typedef struct servent*(PASCAL * LPFN_GETSERVBYPORT)(int, const char*);
-typedef struct servent*(PASCAL * LPFN_GETSERVBYNAME)(const char*, const char*);
-typedef struct protoent*(PASCAL * LPFN_GETPROTOBYNUMBER)(int);
-typedef struct protoent*(PASCAL * LPFN_GETPROTOBYNAME)(const char*);
-
-int PASCAL WSAStartup(WORD,LPWSADATA);
-int PASCAL WSACleanup(void);
-void PASCAL WSASetLastError(int);
-int PASCAL WSAGetLastError(void);
-typedef int(PASCAL * LPFN_WSASTARTUP)(WORD, LPWSADATA);
-typedef int(PASCAL * LPFN_WSACLEANUP)(void);
-typedef void(PASCAL * LPFN_WSASETLASTERROR)(int);
-typedef int(PASCAL * LPFN_WSAGETLASTERROR)(void);
-/*
- * Pseudo-blocking functions are deprecated in WinSock2
- * spec. Use threads instead.
- */
-BOOL PASCAL WSAIsBlocking(void);
-int PASCAL WSAUnhookBlockingHook(void);
-FARPROC PASCAL WSASetBlockingHook(FARPROC);
-int PASCAL WSACancelBlockingCall(void);
-typedef BOOL(PASCAL * LPFN_WSAISBLOCKING)(void);
-typedef int(PASCAL * LPFN_WSAUNHOOKBLOCKINGHOOK)(void);
-typedef FARPROC (PASCAL * LPFN_WSASETBLOCKINGHOOK)(FARPROC);
-typedef int(PASCAL * LPFN_WSACANCELBLOCKINGCALL)(void);
-
-HANDLE PASCAL WSAAsyncGetServByName(HWND,u_int,const char*,const char*,char*,int);
-HANDLE PASCAL WSAAsyncGetServByPort(HWND,u_int,int,const char*,char*,int);
-HANDLE PASCAL WSAAsyncGetProtoByName(HWND,u_int,const char*,char*,int);
-HANDLE PASCAL WSAAsyncGetProtoByNumber(HWND,u_int,int,char*,int);
-HANDLE PASCAL WSAAsyncGetHostByName(HWND,u_int,const char*,char*,int);
-HANDLE PASCAL WSAAsyncGetHostByAddr(HWND,u_int,const char*,int,int,char*,int);
-int PASCAL WSACancelAsyncRequest(HANDLE);
-int PASCAL WSAAsyncSelect(SOCKET,HWND,u_int,long);
-typedef HANDLE(PASCAL * LPFN_WSAASYNCGETSERVBYNAME)(HWND, u_int, const char *, const char *, char *, int);
-typedef HANDLE(PASCAL * LPFN_WSAASYNCGETSERVBYPORT)(HWND, u_int, int, const char *, char *, int);
-typedef HANDLE(PASCAL * LPFN_WSAASYNCGETPROTOBYNAME)(HWND, u_int, const char*, char*, int);
-typedef HANDLE(PASCAL * LPFN_WSAASYNCGETPROTOBYNUMBER)(HWND, u_int, int, char*, int);
-typedef HANDLE(PASCAL * LPFN_WSAASYNCGETHOSTBYADDR)(HWND, u_int, const char*, int, int, char*, int);
-typedef int(PASCAL * LPFN_WSACANCELASYNCREQUEST)(HANDLE);
-typedef int(PASCAL * LPFN_WSAASYNCSELECT)(SOCKET, HWND, u_int, long);
-#if ! (defined (__INSIDE_CYGWIN__) || defined (__INSIDE_MSYS__))
-u_long PASCAL htonl(u_long);
-u_long PASCAL ntohl(u_long);
-u_short PASCAL htons(u_short);
-u_short PASCAL ntohs(u_short);
-int PASCAL select(int nfds,fd_set*,fd_set*,fd_set*,const struct timeval*);
-#endif /* ! (__INSIDE_CYGWIN__ || __INSIDE_MSYS__) */
-
-int PASCAL gethostname(char*,int);
-
-#define WSAMAKEASYNCREPLY(b,e) MAKELONG(b,e)
-#define WSAMAKESELECTREPLY(e,error) MAKELONG(e,error)
-#define WSAGETASYNCBUFLEN(l) LOWORD(l)
-#define WSAGETASYNCERROR(l) HIWORD(l)
-#define WSAGETSELECTEVENT(l) LOWORD(l)
-#define WSAGETSELECTERROR(l) HIWORD(l)
-
-typedef struct sockaddr SOCKADDR;
-typedef struct sockaddr *PSOCKADDR;
-typedef struct sockaddr *LPSOCKADDR;
-typedef struct sockaddr_storage SOCKADDR_STORAGE, *PSOCKADDR_STORAGE;
-typedef struct sockaddr_in SOCKADDR_IN;
-typedef struct sockaddr_in *PSOCKADDR_IN;
-typedef struct sockaddr_in *LPSOCKADDR_IN;
-typedef struct linger LINGER;
-typedef struct linger *PLINGER;
-typedef struct linger *LPLINGER;
-typedef struct in_addr IN_ADDR;
-typedef struct in_addr *PIN_ADDR;
-typedef struct in_addr *LPIN_ADDR;
-typedef struct fd_set FD_SET;
-typedef struct fd_set *PFD_SET;
-typedef struct fd_set *LPFD_SET;
-typedef struct hostent HOSTENT;
-typedef struct hostent *PHOSTENT;
-typedef struct hostent *LPHOSTENT;
-typedef struct servent SERVENT;
-typedef struct servent *PSERVENT;
-typedef struct servent *LPSERVENT;
-typedef struct protoent PROTOENT;
-typedef struct protoent *PPROTOENT;
-typedef struct protoent *LPPROTOENT;
-typedef struct timeval TIMEVAL;
-typedef struct timeval *PTIMEVAL;
-typedef struct timeval *LPTIMEVAL;
-
-/* winsock2 additions */
-#define ADDR_ANY INADDR_ANY
-
-#define IN_CLASSD(i) (((long)(i) & 0xf0000000) == 0xe0000000)
-#define IN_CLASSD_NET 0xf0000000
-#define IN_CLASSD_NSHIFT 28
-#define IN_CLASSD_HOST 0x0fffffff
-#define IN_MULTICAST(i) IN_CLASSD(i)
-
-#define FROM_PROTOCOL_INFO (-1)
-
-#define SO_DONTLINGER (u_int)(~SO_LINGER)
-#define SO_GROUP_ID 0x2001
-#define SO_GROUP_PRIORITY 0x2002
-#define SO_MAX_MSG_SIZE 0x2003
-#define SO_PROTOCOL_INFOA 0x2004
-#define SO_PROTOCOL_INFOW 0x2005
-#ifdef UNICODE
-#define SO_PROTOCOL_INFO SO_PROTOCOL_INFOW
-#else
-#define SO_PROTOCOL_INFO SO_PROTOCOL_INFOA
-#endif
-#define PVD_CONFIG 0x3001
-
-#define MSG_INTERRUPT 0x10
-#define MSG_MAXIOVLEN 16
-
-#define WSAAPI WINAPI
-#define WSAEVENT HANDLE
-#define LPWSAEVENT LPHANDLE
-#define WSAOVERLAPPED OVERLAPPED
-typedef struct _OVERLAPPED *LPWSAOVERLAPPED;
-
-#define WSA_IO_PENDING (ERROR_IO_PENDING)
-#define WSA_IO_INCOMPLETE (ERROR_IO_INCOMPLETE)
-#define WSA_INVALID_HANDLE (ERROR_INVALID_HANDLE)
-#define WSA_INVALID_PARAMETER (ERROR_INVALID_PARAMETER)
-#define WSA_NOT_ENOUGH_MEMORY (ERROR_NOT_ENOUGH_MEMORY)
-#define WSA_OPERATION_ABORTED (ERROR_OPERATION_ABORTED)
-
-#define WSA_INVALID_EVENT ((WSAEVENT)NULL)
-#define WSA_MAXIMUM_WAIT_EVENTS (MAXIMUM_WAIT_OBJECTS)
-#define WSA_WAIT_FAILED ((DWORD)-1L)
-#define WSA_WAIT_EVENT_0 (WAIT_OBJECT_0)
-#define WSA_WAIT_IO_COMPLETION (WAIT_IO_COMPLETION)
-#define WSA_WAIT_TIMEOUT (WAIT_TIMEOUT)
-#define WSA_INFINITE (INFINITE)
-
-typedef struct _WSABUF {
- unsigned long len;
- char *buf;
-} WSABUF, *LPWSABUF;
-
-typedef enum
-{
- BestEffortService,
- ControlledLoadService,
- PredictiveService,
- GuaranteedDelayService,
- GuaranteedService
-} GUARANTEE;
-
-/* TODO: FLOWSPEC and related definitions belong in qos.h */
-
-/*
- Windows Sockets 2 Application Programming Interface,
- revision 2.2.2 (1997) uses the type uint32 for SERVICETYPE
- and the elements of _flowspec, but the type uint32 is not defined
- or used anywhere else in the w32api. For now, just use
- unsigned int, which is 32 bits on _WIN32 and _WIN64.
-*/
-
-typedef unsigned int SERVICETYPE;
-typedef struct _flowspec
-{
- unsigned int TokenRate;
- unsigned int TokenBucketSize;
- unsigned int PeakBandwidth;
- unsigned int Latency;
- unsigned int DelayVariation;
- SERVICETYPE ServiceType;
- unsigned int MaxSduSize;
- unsigned int MinimumPolicedSize;
- } FLOWSPEC, *PFLOWSPEC, *LPFLOWSPEC;
-
-typedef struct _QualityOfService
-{
- FLOWSPEC SendingFlowspec;
- FLOWSPEC ReceivingFlowspec;
- WSABUF ProviderSpecific;
-} QOS, *LPQOS;
-
-#define CF_ACCEPT 0x0000
-#define CF_REJECT 0x0001
-#define CF_DEFER 0x0002
-#define SD_RECEIVE 0x00
-#define SD_SEND 0x01
-#define SD_BOTH 0x02
-typedef unsigned int GROUP;
-
-#define SG_UNCONSTRAINED_GROUP 0x01
-#define SG_CONSTRAINED_GROUP 0x02
-typedef struct _WSANETWORKEVENTS {
- long lNetworkEvents;
- int iErrorCode[FD_MAX_EVENTS];
-} WSANETWORKEVENTS, *LPWSANETWORKEVENTS;
-
-#define MAX_PROTOCOL_CHAIN 7
-
-#define BASE_PROTOCOL 1
-#define LAYERED_PROTOCOL 0
-
-typedef enum _WSAESETSERVICEOP
-{
- RNRSERVICE_REGISTER=0,
- RNRSERVICE_DEREGISTER,
- RNRSERVICE_DELETE
-} WSAESETSERVICEOP, *PWSAESETSERVICEOP, *LPWSAESETSERVICEOP;
-
-typedef struct _AFPROTOCOLS {
- INT iAddressFamily;
- INT iProtocol;
-} AFPROTOCOLS, *PAFPROTOCOLS, *LPAFPROTOCOLS;
-
-typedef enum _WSAEcomparator
-{
- COMP_EQUAL = 0,
- COMP_NOTLESS
-} WSAECOMPARATOR, *PWSAECOMPARATOR, *LPWSAECOMPARATOR;
-
-typedef struct _WSAVersion
-{
- DWORD dwVersion;
- WSAECOMPARATOR ecHow;
-} WSAVERSION, *PWSAVERSION, *LPWSAVERSION;
-
-#ifndef __CSADDR_T_DEFINED /* also in nspapi.h */
-#define __CSADDR_T_DEFINED
-typedef struct _SOCKET_ADDRESS {
- LPSOCKADDR lpSockaddr;
- INT iSockaddrLength;
-} SOCKET_ADDRESS,*PSOCKET_ADDRESS,*LPSOCKET_ADDRESS;
-typedef struct _CSADDR_INFO {
- SOCKET_ADDRESS LocalAddr;
- SOCKET_ADDRESS RemoteAddr;
- INT iSocketType;
- INT iProtocol;
-} CSADDR_INFO,*PCSADDR_INFO,*LPCSADDR_INFO;
-#endif
-
-typedef struct _SOCKET_ADDRESS_LIST {
- INT iAddressCount;
- SOCKET_ADDRESS Address[1];
-} SOCKET_ADDRESS_LIST, * LPSOCKET_ADDRESS_LIST;
-
-#ifndef __BLOB_T_DEFINED /* also in wtypes.h and nspapi.h */
-#define __BLOB_T_DEFINED
-typedef struct _BLOB {
- ULONG cbSize;
- BYTE *pBlobData;
-} BLOB,*PBLOB,*LPBLOB;
-#endif
-
-typedef struct _WSAQuerySetA
-{
- DWORD dwSize;
- LPSTR lpszServiceInstanceName;
- LPGUID lpServiceClassId;
- LPWSAVERSION lpVersion;
- LPSTR lpszComment;
- DWORD dwNameSpace;
- LPGUID lpNSProviderId;
- LPSTR lpszContext;
- DWORD dwNumberOfProtocols;
- LPAFPROTOCOLS lpafpProtocols;
- LPSTR lpszQueryString;
- DWORD dwNumberOfCsAddrs;
- LPCSADDR_INFO lpcsaBuffer;
- DWORD dwOutputFlags;
- LPBLOB lpBlob;
-} WSAQUERYSETA, *PWSAQUERYSETA, *LPWSAQUERYSETA;
-
-typedef struct _WSAQuerySetW
-{
- DWORD dwSize;
- LPWSTR lpszServiceInstanceName;
- LPGUID lpServiceClassId;
- LPWSAVERSION lpVersion;
- LPWSTR lpszComment;
- DWORD dwNameSpace;
- LPGUID lpNSProviderId;
- LPWSTR lpszContext;
- DWORD dwNumberOfProtocols;
- LPAFPROTOCOLS lpafpProtocols;
- LPWSTR lpszQueryString;
- DWORD dwNumberOfCsAddrs;
- LPCSADDR_INFO lpcsaBuffer;
- DWORD dwOutputFlags;
- LPBLOB lpBlob;
-} WSAQUERYSETW, *PWSAQUERYSETW, *LPWSAQUERYSETW;
-
-#ifdef UNICODE
-typedef WSAQUERYSETW WSAQUERYSET;
-typedef PWSAQUERYSETW PWSAQUERYSET;
-typedef LPWSAQUERYSETW LPWSAQUERYSET;
-#else
-typedef WSAQUERYSETA WSAQUERYSET;
-typedef PWSAQUERYSETA PWSAQUERYSET;
-typedef LPWSAQUERYSETA LPWSAQUERYSET;
-#endif
-
-#define LUP_DEEP 0x0001
-#define LUP_CONTAINERS 0x0002
-#define LUP_NOCONTAINERS 0x0004
-#define LUP_NEAREST 0x0008
-#define LUP_RETURN_NAME 0x0010
-#define LUP_RETURN_TYPE 0x0020
-#define LUP_RETURN_VERSION 0x0040
-#define LUP_RETURN_COMMENT 0x0080
-#define LUP_RETURN_ADDR 0x0100
-#define LUP_RETURN_BLOB 0x0200
-#define LUP_RETURN_ALIASES 0x0400
-#define LUP_RETURN_QUERY_STRING 0x0800
-#define LUP_RETURN_ALL 0x0FF0
-#define LUP_RES_SERVICE 0x8000
-#define LUP_FLUSHCACHE 0x1000
-#define LUP_FLUSHPREVIOUS 0x2000
-
-typedef struct _WSANSClassInfoA
-{
- LPSTR lpszName;
- DWORD dwNameSpace;
- DWORD dwValueType;
- DWORD dwValueSize;
- LPVOID lpValue;
-} WSANSCLASSINFOA, *PWSANSCLASSINFOA, *LPWSANSCLASSINFOA;
-
-typedef struct _WSANSClassInfoW
-{
- LPWSTR lpszName;
- DWORD dwNameSpace;
- DWORD dwValueType;
- DWORD dwValueSize;
- LPVOID lpValue;
-} WSANSCLASSINFOW, *PWSANSCLASSINFOW, *LPWSANSCLASSINFOW;
-
-#ifdef UNICODE
-typedef WSANSCLASSINFOW WSANSCLASSINFO;
-typedef PWSANSCLASSINFOW PWSANSCLASSINFO;
-typedef LPWSANSCLASSINFOW LPWSANSCLASSINFO;
-#else
-typedef WSANSCLASSINFOA WSANSCLASSINFO;
-typedef PWSANSCLASSINFOA PWSANSCLASSINFO;
-typedef LPWSANSCLASSINFOA LPWSANSCLASSINFO;
-#endif
-
-typedef struct _WSAServiceClassInfoA
-{
- LPGUID lpServiceClassId;
- LPSTR lpszServiceClassName;
- DWORD dwCount;
- LPWSANSCLASSINFOA lpClassInfos;
-} WSASERVICECLASSINFOA, *PWSASERVICECLASSINFOA, *LPWSASERVICECLASSINFOA;
-
-typedef struct _WSAServiceClassInfoW
-{
- LPGUID lpServiceClassId;
- LPWSTR lpszServiceClassName;
- DWORD dwCount;
- LPWSANSCLASSINFOW lpClassInfos;
-} WSASERVICECLASSINFOW, *PWSASERVICECLASSINFOW, *LPWSASERVICECLASSINFOW;
-
-#ifdef UNICODE
-typedef WSASERVICECLASSINFOW WSASERVICECLASSINFO;
-typedef PWSASERVICECLASSINFOW PWSASERVICECLASSINFO;
-typedef LPWSASERVICECLASSINFOW LPWSASERVICECLASSINFO;
-#else
-typedef WSASERVICECLASSINFOA WSASERVICECLASSINFO;
-typedef PWSASERVICECLASSINFOA PWSASERVICECLASSINFO;
-typedef LPWSASERVICECLASSINFOA LPWSASERVICECLASSINFO;
-#endif
-
-typedef struct _WSANAMESPACE_INFOA {
- GUID NSProviderId;
- DWORD dwNameSpace;
- BOOL fActive;
- DWORD dwVersion;
- LPSTR lpszIdentifier;
-} WSANAMESPACE_INFOA, *PWSANAMESPACE_INFOA, *LPWSANAMESPACE_INFOA;
-
-typedef struct _WSANAMESPACE_INFOW {
- GUID NSProviderId;
- DWORD dwNameSpace;
- BOOL fActive;
- DWORD dwVersion;
- LPWSTR lpszIdentifier;
-} WSANAMESPACE_INFOW, *PWSANAMESPACE_INFOW, *LPWSANAMESPACE_INFOW;
-
-#ifdef UNICODE
-typedef WSANAMESPACE_INFOW WSANAMESPACE_INFO;
-typedef PWSANAMESPACE_INFOW PWSANAMESPACE_INFO;
-typedef LPWSANAMESPACE_INFOW LPWSANAMESPACE_INFO;
-#else
-typedef WSANAMESPACE_INFOA WSANAMESPACE_INFO;
-typedef PWSANAMESPACE_INFOA PWSANAMESPACE_INFO;
-typedef LPWSANAMESPACE_INFOA LPWSANAMESPACE_INFO;
-#endif
-
-typedef struct _WSAPROTOCOLCHAIN {
- int ChainLen;
- DWORD ChainEntries[MAX_PROTOCOL_CHAIN];
-} WSAPROTOCOLCHAIN, *LPWSAPROTOCOLCHAIN;
-
-#define WSAPROTOCOL_LEN 255
-
-typedef struct _WSAPROTOCOL_INFOA {
- DWORD dwServiceFlags1;
- DWORD dwServiceFlags2;
- DWORD dwServiceFlags3;
- DWORD dwServiceFlags4;
- DWORD dwProviderFlags;
- GUID ProviderId;
- DWORD dwCatalogEntryId;
- WSAPROTOCOLCHAIN ProtocolChain;
- int iVersion;
- int iAddressFamily;
- int iMaxSockAddr;
- int iMinSockAddr;
- int iSocketType;
- int iProtocol;
- int iProtocolMaxOffset;
- int iNetworkByteOrder;
- int iSecurityScheme;
- DWORD dwMessageSize;
- DWORD dwProviderReserved;
- CHAR szProtocol[WSAPROTOCOL_LEN+1];
-} WSAPROTOCOL_INFOA, *LPWSAPROTOCOL_INFOA;
-
-typedef struct _WSAPROTOCOL_INFOW {
- DWORD dwServiceFlags1;
- DWORD dwServiceFlags2;
- DWORD dwServiceFlags3;
- DWORD dwServiceFlags4;
- DWORD dwProviderFlags;
- GUID ProviderId;
- DWORD dwCatalogEntryId;
- WSAPROTOCOLCHAIN ProtocolChain;
- int iVersion;
- int iAddressFamily;
- int iMaxSockAddr;
- int iMinSockAddr;
- int iSocketType;
- int iProtocol;
- int iProtocolMaxOffset;
- int iNetworkByteOrder;
- int iSecurityScheme;
- DWORD dwMessageSize;
- DWORD dwProviderReserved;
- WCHAR szProtocol[WSAPROTOCOL_LEN+1];
-} WSAPROTOCOL_INFOW, * LPWSAPROTOCOL_INFOW;
-
-typedef int (CALLBACK *LPCONDITIONPROC)(LPWSABUF, LPWSABUF, LPQOS, LPQOS, LPWSABUF, LPWSABUF, GROUP *, DWORD);
-typedef void (WINAPI *LPWSAOVERLAPPED_COMPLETION_ROUTINE)(DWORD, DWORD, LPWSAOVERLAPPED, DWORD);
-
-
-#ifdef UNICODE
-typedef WSAPROTOCOL_INFOW WSAPROTOCOL_INFO;
-typedef LPWSAPROTOCOL_INFOW LPWSAPROTOCOL_INFO;
-#else
-typedef WSAPROTOCOL_INFOA WSAPROTOCOL_INFO;
-typedef LPWSAPROTOCOL_INFOA LPWSAPROTOCOL_INFO;
-#endif
-
-/* Needed for XP & .NET Server function WSANSPIoctl. */
-typedef enum _WSACOMPLETIONTYPE {
- NSP_NOTIFY_IMMEDIATELY = 0,
- NSP_NOTIFY_HWND,
- NSP_NOTIFY_EVENT,
- NSP_NOTIFY_PORT,
- NSP_NOTIFY_APC
-} WSACOMPLETIONTYPE, * PWSACOMPLETIONTYPE, * LPWSACOMPLETIONTYPE;
-typedef struct _WSACOMPLETION {
- WSACOMPLETIONTYPE Type;
- union {
- struct {
- HWND hWnd;
- UINT uMsg;
- WPARAM context;
- } WindowMessage;
- struct {
- LPWSAOVERLAPPED lpOverlapped;
- } Event;
- struct {
- LPWSAOVERLAPPED lpOverlapped;
- LPWSAOVERLAPPED_COMPLETION_ROUTINE lpfnCompletionProc;
- } Apc;
- struct {
- LPWSAOVERLAPPED lpOverlapped;
- HANDLE hPort;
- ULONG_PTR Key;
- } Port;
- } Parameters;
-} WSACOMPLETION, *PWSACOMPLETION, *LPWSACOMPLETION;
-
-#define PFL_MULTIPLE_PROTO_ENTRIES 0x00000001
-#define PFL_RECOMMENDED_PROTO_ENTRY 0x00000002
-#define PFL_HIDDEN 0x00000004
-#define PFL_MATCHES_PROTOCOL_ZERO 0x00000008
-#define XP1_CONNECTIONLESS 0x00000001
-#define XP1_GUARANTEED_DELIVERY 0x00000002
-#define XP1_GUARANTEED_ORDER 0x00000004
-#define XP1_MESSAGE_ORIENTED 0x00000008
-#define XP1_PSEUDO_STREAM 0x00000010
-#define XP1_GRACEFUL_CLOSE 0x00000020
-#define XP1_EXPEDITED_DATA 0x00000040
-#define XP1_CONNECT_DATA 0x00000080
-#define XP1_DISCONNECT_DATA 0x00000100
-#define XP1_SUPPORT_BROADCAST 0x00000200
-#define XP1_SUPPORT_MULTIPOINT 0x00000400
-#define XP1_MULTIPOINT_CONTROL_PLANE 0x00000800
-#define XP1_MULTIPOINT_DATA_PLANE 0x00001000
-#define XP1_QOS_SUPPORTED 0x00002000
-#define XP1_INTERRUPT 0x00004000
-#define XP1_UNI_SEND 0x00008000
-#define XP1_UNI_RECV 0x00010000
-#define XP1_IFS_HANDLES 0x00020000
-#define XP1_PARTIAL_MESSAGE 0x00040000
-
-#define BIGENDIAN 0x0000
-#define LITTLEENDIAN 0x0001
-
-#define SECURITY_PROTOCOL_NONE 0x0000
-#define JL_SENDER_ONLY 0x01
-#define JL_RECEIVER_ONLY 0x02
-#define JL_BOTH 0x04
-#define WSA_FLAG_OVERLAPPED 0x01
-#define WSA_FLAG_MULTIPOINT_C_ROOT 0x02
-#define WSA_FLAG_MULTIPOINT_C_LEAF 0x04
-#define WSA_FLAG_MULTIPOINT_D_ROOT 0x08
-#define WSA_FLAG_MULTIPOINT_D_LEAF 0x10
-#define IOC_UNIX 0x00000000
-#define IOC_WS2 0x08000000
-#define IOC_PROTOCOL 0x10000000
-#define IOC_VENDOR 0x18000000
-
-#define _WSAIO(x,y) (IOC_VOID|(x)|(y))
-#define _WSAIOR(x,y) (IOC_OUT|(x)|(y))
-#define _WSAIOW(x,y) (IOC_IN|(x)|(y))
-#define _WSAIORW(x,y) (IOC_INOUT|(x)|(y))
-
-#define SIO_ASSOCIATE_HANDLE _WSAIOW(IOC_WS2,1)
-#define SIO_ENABLE_CIRCULAR_QUEUEING _WSAIO(IOC_WS2,2)
-#define SIO_FIND_ROUTE _WSAIOR(IOC_WS2,3)
-#define SIO_FLUSH _WSAIO(IOC_WS2,4)
-#define SIO_GET_BROADCAST_ADDRESS _WSAIOR(IOC_WS2,5)
-#define SIO_GET_EXTENSION_FUNCTION_POINTER _WSAIORW(IOC_WS2,6)
-#define SIO_GET_QOS _WSAIORW(IOC_WS2,7)
-#define SIO_GET_GROUP_QOS _WSAIORW(IOC_WS2,8)
-#define SIO_MULTIPOINT_LOOPBACK _WSAIOW(IOC_WS2,9)
-#define SIO_MULTICAST_SCOPE _WSAIOW(IOC_WS2,10)
-#define SIO_SET_QOS _WSAIOW(IOC_WS2,11)
-#define SIO_SET_GROUP_QOS _WSAIOW(IOC_WS2,12)
-#define SIO_TRANSLATE_HANDLE _WSAIORW(IOC_WS2,13)
-#define SIO_ROUTING_INTERFACE_QUERY _WSAIORW(IOC_WS2,20)
-#define SIO_ROUTING_INTERFACE_CHANGE _WSAIOW(IOC_WS2,21)
-#define SIO_ADDRESS_LIST_QUERY _WSAIOR(IOC_WS2,22)
-#define SIO_ADDRESS_LIST_CHANGE _WSAIO(IOC_WS2,23)
-#define SIO_QUERY_TARGET_PNP_HANDLE _WSAIOR(IOC_WS2,24)
-#define SIO_NSP_NOTIFY_CHANGE _WSAIOW(IOC_WS2,25)
-
-#define TH_NETDEV 0x00000001
-#define TH_TAPI 0x00000002
-
-SOCKET WINAPI WSAAccept(SOCKET, struct sockaddr *, LPINT, LPCONDITIONPROC, DWORD);
-INT WINAPI WSAAddressToStringA(LPSOCKADDR, DWORD, LPWSAPROTOCOL_INFOA, LPSTR, LPDWORD);
-INT WINAPI WSAAddressToStringW(LPSOCKADDR, DWORD, LPWSAPROTOCOL_INFOW, LPWSTR, LPDWORD);
-BOOL WINAPI WSACloseEvent(WSAEVENT);
-int WINAPI WSAConnect(SOCKET, const struct sockaddr *, int, LPWSABUF, LPWSABUF, LPQOS, LPQOS);
-WSAEVENT WINAPI WSACreateEvent(void);
-int WINAPI WSADuplicateSocketA(SOCKET, DWORD, LPWSAPROTOCOL_INFOA);
-int WINAPI WSADuplicateSocketW(SOCKET, DWORD, LPWSAPROTOCOL_INFOW);
-INT WINAPI WSAEnumNameSpaceProvidersA(LPDWORD, LPWSANAMESPACE_INFOA);
-INT WINAPI WSAEnumNameSpaceProvidersW(LPDWORD, LPWSANAMESPACE_INFOW);
-int WINAPI WSAEnumNetworkEvents(SOCKET, WSAEVENT, LPWSANETWORKEVENTS);
-int WINAPI WSAEnumProtocolsA(LPINT, LPWSAPROTOCOL_INFOA, LPDWORD);
-int WINAPI WSAEnumProtocolsW(LPINT, LPWSAPROTOCOL_INFOW, LPDWORD);
-int WINAPI WSAEventSelect(SOCKET, WSAEVENT, long);
-BOOL WINAPI WSAGetOverlappedResult(SOCKET, LPWSAOVERLAPPED, LPDWORD, BOOL, LPDWORD);
-BOOL WINAPI WSAGetQOSByName(SOCKET, LPWSABUF, LPQOS);
-INT WINAPI WSAGetServiceClassInfoA(LPGUID, LPGUID, LPDWORD, LPWSASERVICECLASSINFOA);
-INT WINAPI WSAGetServiceClassInfoW(LPGUID, LPGUID, LPDWORD, LPWSASERVICECLASSINFOW);
-INT WINAPI WSAGetServiceClassNameByClassIdA(LPGUID, LPSTR, LPDWORD);
-INT WINAPI WSAGetServiceClassNameByClassIdW(LPGUID, LPWSTR, LPDWORD);
-int WINAPI WSAHtonl(SOCKET, unsigned long, unsigned long *);
-int WINAPI WSAHtons(SOCKET, unsigned short, unsigned short *);
-INT WINAPI WSAInstallServiceClassA(LPWSASERVICECLASSINFOA);
-INT WINAPI WSAInstallServiceClassW(LPWSASERVICECLASSINFOW);
-int WINAPI WSAIoctl(SOCKET, DWORD, LPVOID, DWORD, LPVOID, DWORD, LPDWORD, LPWSAOVERLAPPED, LPWSAOVERLAPPED_COMPLETION_ROUTINE);
-SOCKET WINAPI WSAJoinLeaf(SOCKET, const struct sockaddr *, int, LPWSABUF, LPWSABUF, LPQOS, LPQOS, DWORD);
-INT WINAPI WSALookupServiceBeginA(LPWSAQUERYSETA, DWORD, LPHANDLE);
-INT WINAPI WSALookupServiceBeginW(LPWSAQUERYSETW lpqsRestrictions, DWORD, LPHANDLE);
-INT WINAPI WSALookupServiceNextA(HANDLE, DWORD, LPDWORD, LPWSAQUERYSETA);
-INT WINAPI WSALookupServiceNextW(HANDLE, DWORD, LPDWORD, LPWSAQUERYSETW);
-INT WINAPI WSALookupServiceEnd(HANDLE);
-int WINAPI WSANSPIoctl(HANDLE,DWORD,LPVOID,DWORD,LPVOID,DWORD,LPDWORD,LPWSACOMPLETION); /* XP or .NET Server */
-int WINAPI WSANtohl(SOCKET, unsigned long, unsigned long *);
-int WINAPI WSANtohs(SOCKET, unsigned short, unsigned short *);
-int WINAPI WSARecv(SOCKET, LPWSABUF, DWORD, LPDWORD, LPDWORD, LPWSAOVERLAPPED, LPWSAOVERLAPPED_COMPLETION_ROUTINE);
-int WINAPI WSARecvDisconnect(SOCKET, LPWSABUF);
-int WINAPI WSARecvFrom(SOCKET, LPWSABUF, DWORD, LPDWORD, LPDWORD, struct sockaddr *, LPINT, LPWSAOVERLAPPED, LPWSAOVERLAPPED_COMPLETION_ROUTINE);
-INT WINAPI WSARemoveServiceClass(LPGUID);
-BOOL WINAPI WSAResetEvent(WSAEVENT);
-int WINAPI WSASend(SOCKET, LPWSABUF, DWORD, LPDWORD, DWORD, LPWSAOVERLAPPED, LPWSAOVERLAPPED_COMPLETION_ROUTINE);
-int WINAPI WSASendDisconnect(SOCKET, LPWSABUF);
-int WINAPI WSASendTo(SOCKET, LPWSABUF, DWORD, LPDWORD, DWORD, const struct sockaddr *, int, LPWSAOVERLAPPED, LPWSAOVERLAPPED_COMPLETION_ROUTINE);
-BOOL WINAPI WSASetEvent(WSAEVENT);
-INT WSAAPI WSASetServiceA(LPWSAQUERYSETA, WSAESETSERVICEOP, DWORD);
-INT WINAPI WSASetServiceW(LPWSAQUERYSETW, WSAESETSERVICEOP, DWORD);
-SOCKET WINAPI WSASocketA(int, int, int, LPWSAPROTOCOL_INFOA, GROUP, DWORD);
-SOCKET WINAPI WSASocketW(int, int, int, LPWSAPROTOCOL_INFOW, GROUP, DWORD);
-INT WINAPI WSAStringToAddressA(LPSTR, INT, LPWSAPROTOCOL_INFOA, LPSOCKADDR, LPINT);
-INT WINAPI WSAStringToAddressW(LPWSTR, INT, LPWSAPROTOCOL_INFOW, LPSOCKADDR, LPINT);
-DWORD WINAPI WSAWaitForMultipleEvents(DWORD, const WSAEVENT *, BOOL, DWORD, BOOL);
-typedef SOCKET (WINAPI *LPFN_WSAACCEPT)(SOCKET, struct sockaddr *, LPINT, LPCONDITIONPROC, DWORD);
-typedef INT (WINAPI *LPFN_WSAADDRESSTOSTRINGA)(LPSOCKADDR, DWORD, LPWSAPROTOCOL_INFOA, LPSTR, LPDWORD);
-typedef INT (WINAPI *LPFN_WSAADDRESSTOSTRINGW)(LPSOCKADDR, DWORD, LPWSAPROTOCOL_INFOW, LPWSTR, LPDWORD);
-typedef BOOL (WINAPI *LPFN_WSACLOSEEVENT)(WSAEVENT);
-typedef int (WINAPI *LPFN_WSACONNECT)(SOCKET, const struct sockaddr *, int, LPWSABUF, LPWSABUF, LPQOS, LPQOS);
-typedef WSAEVENT (WINAPI *LPFN_WSACREATEEVENT)(void);
-typedef int (WINAPI *LPFN_WSADUPLICATESOCKETA)(SOCKET, DWORD, LPWSAPROTOCOL_INFOA);
-typedef int (WINAPI *LPFN_WSADUPLICATESOCKETW)(SOCKET, DWORD, LPWSAPROTOCOL_INFOW);
-typedef INT (WINAPI *LPFN_WSAENUMNAMESPACEPROVIDERSA)(LPDWORD, LPWSANAMESPACE_INFOA);
-typedef INT (WINAPI *LPFN_WSAENUMNAMESPACEPROVIDERSW)(LPDWORD, LPWSANAMESPACE_INFOW);
-typedef int (WINAPI *LPFN_WSAENUMNETWORKEVENTS)(SOCKET, WSAEVENT, LPWSANETWORKEVENTS);
-typedef int (WINAPI *LPFN_WSAENUMPROTOCOLSA)(LPINT, LPWSAPROTOCOL_INFOA, LPDWORD);
-typedef int (WINAPI *LPFN_WSAENUMPROTOCOLSW)(LPINT, LPWSAPROTOCOL_INFOW, LPDWORD);
-typedef int (WINAPI *LPFN_WSAEVENTSELECT)(SOCKET, WSAEVENT, long);
-typedef BOOL (WINAPI *LPFN_WSAGETOVERLAPPEDRESULT)(SOCKET, LPWSAOVERLAPPED, LPDWORD, BOOL, LPDWORD);
-typedef BOOL (WINAPI *LPFN_WSAGETQOSBYNAME)(SOCKET, LPWSABUF, LPQOS);
-typedef INT (WINAPI *LPFN_WSAGETSERVICECLASSINFOA)(LPGUID, LPGUID, LPDWORD, LPWSASERVICECLASSINFOA);
-typedef INT (WINAPI *LPFN_WSAGETSERVICECLASSINFOW)(LPGUID, LPGUID, LPDWORD, LPWSASERVICECLASSINFOW);
-typedef INT (WINAPI *LPFN_WSAGETSERVICECLASSNAMEBYCLASSIDA)(LPGUID, LPSTR, LPDWORD);
-typedef INT (WINAPI *LPFN_WSAGETSERVICECLASSNAMEBYCLASSIDW)(LPGUID, LPWSTR, LPDWORD);
-typedef int (WINAPI *LPFN_WSAHTONL)(SOCKET, unsigned long, unsigned long *);
-typedef int (WINAPI *LPFN_WSAHTONS)(SOCKET, unsigned short, unsigned short *);
-typedef INT (WINAPI *LPFN_WSAINSTALLSERVICECLASSA)(LPWSASERVICECLASSINFOA);
-typedef INT (WINAPI *LPFN_WSAINSTALLSERVICECLASSW)(LPWSASERVICECLASSINFOW);
-typedef int (WINAPI *LPFN_WSAIOCTL)(SOCKET, DWORD, LPVOID, DWORD, LPVOID, DWORD, LPDWORD, LPWSAOVERLAPPED, LPWSAOVERLAPPED_COMPLETION_ROUTINE);
-typedef SOCKET (WINAPI *LPFN_WSAJOINLEAF)(SOCKET, const struct sockaddr *, int, LPWSABUF, LPWSABUF, LPQOS, LPQOS, DWORD);
-typedef INT (WINAPI *LPFN_WSALOOKUPSERVICEBEGINA)(LPWSAQUERYSETA, DWORD, LPHANDLE);
-typedef INT (WINAPI *LPFN_WSALOOKUPSERVICEBEGINW)(LPWSAQUERYSETW, DWORD, LPHANDLE);
-typedef INT (WINAPI *LPFN_WSALOOKUPSERVICENEXTA)(HANDLE, DWORD, LPDWORD, LPWSAQUERYSETA);
-typedef INT (WINAPI *LPFN_WSALOOKUPSERVICENEXTW)(HANDLE, DWORD, LPDWORD, LPWSAQUERYSETW);
-typedef INT (WINAPI *LPFN_WSALOOKUPSERVICEEND)(HANDLE);
-typedef int (WINAPI *LPFN_WSANSPIoctl)(HANDLE, DWORD,LPVOID,DWORD,LPVOID,DWORD,LPDWORD,LPWSACOMPLETION);
-typedef int (WINAPI *LPFN_WSANTOHL)(SOCKET, unsigned long, unsigned long *);
-typedef int (WINAPI *LPFN_WSANTOHS)(SOCKET, unsigned short, unsigned short *);
-typedef int (WINAPI *LPFN_WSARECV)(SOCKET, LPWSABUF, DWORD, LPDWORD, LPDWORD, LPWSAOVERLAPPED, LPWSAOVERLAPPED_COMPLETION_ROUTINE);
-typedef int (WINAPI *LPFN_WSARECVDISCONNECT)(SOCKET, LPWSABUF);
-typedef int (WINAPI *LPFN_WSARECVFROM)(SOCKET, LPWSABUF, DWORD, LPDWORD, LPDWORD, struct sockaddr *, LPINT, LPWSAOVERLAPPED, LPWSAOVERLAPPED_COMPLETION_ROUTINE);
-typedef INT (WINAPI *LPFN_WSAREMOVESERVICECLASS)(LPGUID);
-typedef BOOL (WINAPI *LPFN_WSARESETEVENT)(WSAEVENT);
-typedef int (WINAPI *LPFN_WSASEND)(SOCKET, LPWSABUF, DWORD, LPDWORD, DWORD, LPWSAOVERLAPPED, LPWSAOVERLAPPED_COMPLETION_ROUTINE);
-typedef int (WINAPI *LPFN_WSASENDDISCONNECT)(SOCKET, LPWSABUF);
-typedef int (WINAPI *LPFN_WSASENDTO)(SOCKET, LPWSABUF, DWORD, LPDWORD, DWORD, const struct sockaddr *, int, LPWSAOVERLAPPED, LPWSAOVERLAPPED_COMPLETION_ROUTINE);
-typedef BOOL (WINAPI *LPFN_WSASETEVENT)(WSAEVENT);
-typedef INT (WINAPI *LPFN_WSASETSERVICEA)(LPWSAQUERYSETA, WSAESETSERVICEOP, DWORD);
-typedef INT (WINAPI *LPFN_WSASETSERVICEW)(LPWSAQUERYSETW, WSAESETSERVICEOP, DWORD);
-typedef SOCKET (WINAPI *LPFN_WSASOCKETA)(int, int, int, LPWSAPROTOCOL_INFOA, GROUP, DWORD);
-typedef SOCKET (WINAPI *LPFN_WSASOCKETW)(int, int, int, LPWSAPROTOCOL_INFOW, GROUP, DWORD);
-typedef INT (WINAPI *LPFN_WSASTRINGTOADDRESSA)(LPSTR, INT, LPWSAPROTOCOL_INFOA, LPSOCKADDR, LPINT);
-typedef INT (WINAPI *LPFN_WSASTRINGTOADDRESSW)(LPWSTR, INT, LPWSAPROTOCOL_INFOW, LPSOCKADDR, LPINT);
-typedef DWORD (WINAPI *LPFN_WSAWAITFORMULTIPLEEVENTS)(DWORD, const WSAEVENT *, BOOL, DWORD, BOOL);
-
-#ifdef UNICODE
-#define LPFN_WSAADDRESSTOSTRING LPFN_WSAADDRESSTOSTRINGW
-#define LPFN_WSADUPLICATESOCKET LPFN_WSADUPLICATESOCKETW
-#define LPFN_WSAENUMNAMESPACEPROVIDERS LPFN_WSAENUMNAMESPACEPROVIDERSW
-#define LPFN_WSAENUMPROTOCOLS LPFN_WSAENUMPROTOCOLSW
-#define LPFN_WSAGETSERVICECLASSINFO LPFN_WSAGETSERVICECLASSINFOW
-#define LPFN_WSAGETSERVICECLASSNAMEBYCLASSID LPFN_WSAGETSERVICECLASSNAMEBYCLASSIDW
-#define LPFN_WSAINSTALLSERVICECLASS LPFN_WSAINSTALLSERVICECLASSW
-#define LPFN_WSALOOKUPSERVICEBEGIN LPFN_WSALOOKUPSERVICEBEGINW
-#define LPFN_WSALOOKUPSERVICENEXT LPFN_WSALOOKUPSERVICENEXTW
-#define LPFN_WSASETSERVICE LPFN_WSASETSERVICEW
-#define LPFN_WSASOCKET LPFN_WSASOCKETW
-#define LPFN_WSASTRINGTOADDRESS LPFN_WSASTRINGTOADDRESSW
-#define WSAAddressToString WSAAddressToStringW
-#define WSADuplicateSocket WSADuplicateSocketW
-#define WSAEnumNameSpaceProviders WSAEnumNameSpaceProvidersW
-#define WSAEnumProtocols WSAEnumProtocolsW
-#define WSAGetServiceClassInfo WSAGetServiceClassInfoW
-#define WSAGetServiceClassNameByClassId WSAGetServiceClassNameByClassIdW
-#define WSASetService WSASetServiceW
-#define WSASocket WSASocketW
-#define WSAStringToAddress WSAStringToAddressW
-#define WSALookupServiceBegin WSALookupServiceBeginW
-#define WSALookupServiceNext WSALookupServiceNextW
-#define WSAInstallServiceClass WSAInstallServiceClassW
-#else
-#define LPFN_WSAADDRESSTOSTRING LPFN_WSAADDRESSTOSTRINGA
-#define LPFN_WSADUPLICATESOCKET LPFN_WSADUPLICATESOCKETW
-#define LPFN_WSAENUMNAMESPACEPROVIDERS LPFN_WSAENUMNAMESPACEPROVIDERSA
-#define LPFN_WSAENUMPROTOCOLS LPFN_WSAENUMPROTOCOLSA
-#define LPFN_WSAGETSERVICECLASSINFO LPFN_WSAGETSERVICECLASSINFOA
-#define LPFN_WSAGETSERVICECLASSNAMEBYCLASSID LPFN_WSAGETSERVICECLASSNAMEBYCLASSIDA
-#define LPFN_WSAINSTALLSERVICECLASS LPFN_WSAINSTALLSERVICECLASSA
-#define LPFN_WSALOOKUPSERVICEBEGIN LPFN_WSALOOKUPSERVICEBEGINA
-#define LPFN_WSALOOKUPSERVICENEXT LPFN_WSALOOKUPSERVICENEXTA
-#define LPFN_WSASETSERVICE LPFN_WSASETSERVICEA
-#define LPFN_WSASOCKET LPFN_WSASOCKETA
-#define LPFN_WSASTRINGTOADDRESS LPFN_WSASTRINGTOADDRESSA
-#define WSAAddressToString WSAAddressToStringA
-#define WSADuplicateSocket WSADuplicateSocketA
-#define WSAEnumNameSpaceProviders WSAEnumNameSpaceProvidersA
-#define WSAEnumProtocols WSAEnumProtocolsA
-#define WSAGetServiceClassInfo WSAGetServiceClassInfoA
-#define WSAGetServiceClassNameByClassId WSAGetServiceClassNameByClassIdA
-#define WSAInstallServiceClass WSAInstallServiceClassA
-#define WSALookupServiceBegin WSALookupServiceBeginA
-#define WSALookupServiceNext WSALookupServiceNextA
-#define WSASocket WSASocketA
-#define WSAStringToAddress WSAStringToAddressA
-#define WSASetService WSASetServiceA
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/winsup/w32api/include/winspool.h b/winsup/w32api/include/winspool.h
deleted file mode 100644
index e18eeda88..000000000
--- a/winsup/w32api/include/winspool.h
+++ /dev/null
@@ -1,791 +0,0 @@
-#ifndef _WINSPOOL_H
-#define _WINSPOOL_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-#define DI_CHANNEL 1
-#define DI_CHANNEL_WRITE 2
-#define DI_READ_SPOOL_JOB 3
-#define FORM_BUILTIN 1
-#define JOB_CONTROL_PAUSE 1
-#define JOB_CONTROL_RESUME 2
-#define JOB_CONTROL_CANCEL 3
-#define JOB_CONTROL_RESTART 4
-#define JOB_CONTROL_DELETE 5
-#define JOB_STATUS_PAUSED 1
-#define JOB_STATUS_ERROR 2
-#define JOB_STATUS_DELETING 4
-#define JOB_STATUS_SPOOLING 8
-#define JOB_STATUS_PRINTING 16
-#define JOB_STATUS_OFFLINE 32
-#define JOB_STATUS_PAPEROUT 0x40
-#define JOB_STATUS_PRINTED 0x80
-#define JOB_STATUS_DELETED 0x100
-#define JOB_STATUS_BLOCKED_DEVQ 0x200
-#define JOB_STATUS_USER_INTERVENTION 0x400
-#define JOB_POSITION_UNSPECIFIED 0
-#define JOB_NOTIFY_TYPE 1
-#define JOB_NOTIFY_FIELD_PRINTER_NAME 0
-#define JOB_NOTIFY_FIELD_MACHINE_NAME 1
-#define JOB_NOTIFY_FIELD_PORT_NAME 2
-#define JOB_NOTIFY_FIELD_USER_NAME 3
-#define JOB_NOTIFY_FIELD_NOTIFY_NAME 4
-#define JOB_NOTIFY_FIELD_DATATYPE 5
-#define JOB_NOTIFY_FIELD_PRINT_PROCESSOR 6
-#define JOB_NOTIFY_FIELD_PARAMETERS 7
-#define JOB_NOTIFY_FIELD_DRIVER_NAME 8
-#define JOB_NOTIFY_FIELD_DEVMODE 9
-#define JOB_NOTIFY_FIELD_STATUS 10
-#define JOB_NOTIFY_FIELD_STATUS_STRING 11
-#define JOB_NOTIFY_FIELD_SECURITY_DESCRIPTOR 12
-#define JOB_NOTIFY_FIELD_DOCUMENT 13
-#define JOB_NOTIFY_FIELD_PRIORITY 14
-#define JOB_NOTIFY_FIELD_POSITION 15
-#define JOB_NOTIFY_FIELD_SUBMITTED 16
-#define JOB_NOTIFY_FIELD_START_TIME 17
-#define JOB_NOTIFY_FIELD_UNTIL_TIME 18
-#define JOB_NOTIFY_FIELD_TIME 19
-#define JOB_NOTIFY_FIELD_TOTAL_PAGES 20
-#define JOB_NOTIFY_FIELD_PAGES_PRINTED 21
-#define JOB_NOTIFY_FIELD_TOTAL_BYTES 22
-#define JOB_NOTIFY_FIELD_BYTES_PRINTED 23
-#define JOB_ACCESS_ADMINISTER 16
-#define JOB_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED|JOB_ACCESS_ADMINISTER)
-#define JOB_READ (STANDARD_RIGHTS_READ| JOB_ACCESS_ADMINISTER)
-#define JOB_WRITE (STANDARD_RIGHTS_WRITE|JOB_ACCESS_ADMINISTER)
-#define JOB_EXECUTE (STANDARD_RIGHTS_EXECUTE|JOB_ACCESS_ADMINISTER)
-#define PRINTER_NOTIFY_OPTIONS_REFRESH 1
-#define PRINTER_ACCESS_ADMINISTER 4
-#define PRINTER_ACCESS_USE 8
-#define PRINTER_ERROR_INFORMATION 0x80000000
-#define PRINTER_ERROR_WARNING 0x40000000
-#define PRINTER_ERROR_SEVERE 0x20000000
-#define PRINTER_ERROR_OUTOFPAPER 1
-#define PRINTER_ERROR_JAM 2
-#define PRINTER_ERROR_OUTOFTONER 4
-#define PRINTER_CONTROL_PAUSE 1
-#define PRINTER_CONTROL_RESUME 2
-#define PRINTER_CONTROL_PURGE 3
-#define PRINTER_CONTROL_SET_STATUS 4
-#define PRINTER_STATUS_PAUSED 1
-#define PRINTER_STATUS_ERROR 2
-#define PRINTER_STATUS_PENDING_DELETION 4
-#define PRINTER_STATUS_PAPER_JAM 8
-#define PRINTER_STATUS_PAPER_OUT 0x10
-#define PRINTER_STATUS_MANUAL_FEED 0x20
-#define PRINTER_STATUS_PAPER_PROBLEM 0x40
-#define PRINTER_STATUS_OFFLINE 0x80
-#define PRINTER_STATUS_IO_ACTIVE 0x100
-#define PRINTER_STATUS_BUSY 0x200
-#define PRINTER_STATUS_PRINTING 0x400
-#define PRINTER_STATUS_OUTPUT_BIN_FULL 0x800
-#define PRINTER_STATUS_NOT_AVAILABLE 0x1000
-#define PRINTER_STATUS_WAITING 0x2000
-#define PRINTER_STATUS_PROCESSING 0x4000
-#define PRINTER_STATUS_INITIALIZING 0x8000
-#define PRINTER_STATUS_WARMING_UP 0x10000
-#define PRINTER_STATUS_TONER_LOW 0x20000
-#define PRINTER_STATUS_NO_TONER 0x40000
-#define PRINTER_STATUS_PAGE_PUNT 0x80000
-#define PRINTER_STATUS_USER_INTERVENTION 0x100000
-#define PRINTER_STATUS_OUT_OF_MEMORY 0x200000
-#define PRINTER_STATUS_DOOR_OPEN 0x400000
-#define PRINTER_STATUS_SERVER_UNKNOWN 0x800000
-#define PRINTER_STATUS_POWER_SAVE 0x1000000
-#define PRINTER_ATTRIBUTE_QUEUED 1
-#define PRINTER_ATTRIBUTE_DIRECT 2
-#define PRINTER_ATTRIBUTE_DEFAULT 4
-#define PRINTER_ATTRIBUTE_SHARED 8
-#define PRINTER_ATTRIBUTE_NETWORK 0x10
-#define PRINTER_ATTRIBUTE_HIDDEN 0x20
-#define PRINTER_ATTRIBUTE_LOCAL 0x40
-#define PRINTER_ATTRIBUTE_ENABLE_DEVQ 0x80
-#define PRINTER_ATTRIBUTE_KEEPPRINTEDJOBS 0x100
-#define PRINTER_ATTRIBUTE_DO_COMPLETE_FIRST 0x200
-#define PRINTER_ATTRIBUTE_WORK_OFFLINE 0x400
-#define PRINTER_ATTRIBUTE_ENABLE_BIDI 0x800
-#define PRINTER_ATTRIBUTE_RAW_ONLY 0x1000
-#define PRINTER_ATTRIBUTE_PUBLISHED 0x2000
-#define PRINTER_ENUM_DEFAULT 1
-#define PRINTER_ENUM_LOCAL 2
-#define PRINTER_ENUM_CONNECTIONS 4
-#define PRINTER_ENUM_FAVORITE 4
-#define PRINTER_ENUM_NAME 8
-#define PRINTER_ENUM_REMOTE 16
-#define PRINTER_ENUM_SHARED 32
-#define PRINTER_ENUM_NETWORK 0x40
-#define PRINTER_ENUM_EXPAND 0x4000
-#define PRINTER_ENUM_CONTAINER 0x8000
-#define PRINTER_ENUM_ICONMASK 0xff0000
-#define PRINTER_ENUM_ICON1 0x10000
-#define PRINTER_ENUM_ICON2 0x20000
-#define PRINTER_ENUM_ICON3 0x40000
-#define PRINTER_ENUM_ICON4 0x80000
-#define PRINTER_ENUM_ICON5 0x100000
-#define PRINTER_ENUM_ICON6 0x200000
-#define PRINTER_ENUM_ICON7 0x400000
-#define PRINTER_ENUM_ICON8 0x800000
-#define PRINTER_NOTIFY_TYPE 0
-#define PRINTER_NOTIFY_FIELD_SERVER_NAME 0
-#define PRINTER_NOTIFY_FIELD_PRINTER_NAME 1
-#define PRINTER_NOTIFY_FIELD_SHARE_NAME 2
-#define PRINTER_NOTIFY_FIELD_PORT_NAME 3
-#define PRINTER_NOTIFY_FIELD_DRIVER_NAME 4
-#define PRINTER_NOTIFY_FIELD_COMMENT 5
-#define PRINTER_NOTIFY_FIELD_LOCATION 6
-#define PRINTER_NOTIFY_FIELD_DEVMODE 7
-#define PRINTER_NOTIFY_FIELD_SEPFILE 8
-#define PRINTER_NOTIFY_FIELD_PRINT_PROCESSOR 9
-#define PRINTER_NOTIFY_FIELD_PARAMETERS 10
-#define PRINTER_NOTIFY_FIELD_DATATYPE 11
-#define PRINTER_NOTIFY_FIELD_SECURITY_DESCRIPTOR 12
-#define PRINTER_NOTIFY_FIELD_ATTRIBUTES 13
-#define PRINTER_NOTIFY_FIELD_PRIORITY 14
-#define PRINTER_NOTIFY_FIELD_DEFAULT_PRIORITY 15
-#define PRINTER_NOTIFY_FIELD_START_TIME 16
-#define PRINTER_NOTIFY_FIELD_UNTIL_TIME 17
-#define PRINTER_NOTIFY_FIELD_STATUS 18
-#define PRINTER_NOTIFY_FIELD_STATUS_STRING 19
-#define PRINTER_NOTIFY_FIELD_CJOBS 20
-#define PRINTER_NOTIFY_FIELD_AVERAGE_PPM 21
-#define PRINTER_NOTIFY_FIELD_TOTAL_PAGES 22
-#define PRINTER_NOTIFY_FIELD_PAGES_PRINTED 23
-#define PRINTER_NOTIFY_FIELD_TOTAL_BYTES 24
-#define PRINTER_NOTIFY_FIELD_BYTES_PRINTED 25
-#define PRINTER_CHANGE_ADD_PRINTER 1
-#define PRINTER_CHANGE_SET_PRINTER 2
-#define PRINTER_CHANGE_DELETE_PRINTER 4
-#define PRINTER_CHANGE_FAILED_CONNECTION_PRINTER 8
-#define PRINTER_CHANGE_PRINTER 0xFF
-#define PRINTER_CHANGE_ADD_JOB 0x100
-#define PRINTER_CHANGE_SET_JOB 0x200
-#define PRINTER_CHANGE_DELETE_JOB 0x400
-#define PRINTER_CHANGE_WRITE_JOB 0x800
-#define PRINTER_CHANGE_JOB 0xFF00
-#define PRINTER_CHANGE_ADD_FORM 0x10000
-#define PRINTER_CHANGE_SET_FORM 0x20000
-#define PRINTER_CHANGE_DELETE_FORM 0x40000
-#define PRINTER_CHANGE_FORM 0x70000
-#define PRINTER_CHANGE_ADD_PORT 0x100000
-#define PRINTER_CHANGE_CONFIGURE_PORT 0x200000
-#define PRINTER_CHANGE_DELETE_PORT 0x400000
-#define PRINTER_CHANGE_PORT 0x700000
-#define PRINTER_CHANGE_ADD_PRINT_PROCESSOR 0x1000000
-#define PRINTER_CHANGE_DELETE_PRINT_PROCESSOR 0x4000000
-#define PRINTER_CHANGE_PRINT_PROCESSOR 0x7000000
-#define PRINTER_CHANGE_ADD_PRINTER_DRIVER 0x10000000
-#define PRINTER_CHANGE_SET_PRINTER_DRIVER 0x20000000
-#define PRINTER_CHANGE_DELETE_PRINTER_DRIVER 0x40000000
-#define PRINTER_CHANGE_PRINTER_DRIVER 0x70000000
-#define PRINTER_CHANGE_TIMEOUT 0x80000000
-#define PRINTER_CHANGE_ALL 0x7777FFFF
-#define PRINTER_NOTIFY_INFO_DISCARDED 1
-#define PRINTER_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED|PRINTER_ACCESS_ADMINISTER|PRINTER_ACCESS_USE)
-#define PRINTER_READ (STANDARD_RIGHTS_READ|PRINTER_ACCESS_USE)
-#define PRINTER_WRITE (STANDARD_RIGHTS_WRITE|PRINTER_ACCESS_USE)
-#define PRINTER_EXECUTE (STANDARD_RIGHTS_EXECUTE|PRINTER_ACCESS_USE)
-#define NO_PRIORITY 0
-#define MAX_PRIORITY 99
-#define MIN_PRIORITY 1
-#define DEF_PRIORITY 1
-#define PORT_TYPE_WRITE 1
-#define PORT_TYPE_READ 2
-#define PORT_TYPE_REDIRECTED 4
-#define PORT_TYPE_NET_ATTACHED 8
-#define SERVER_ACCESS_ADMINISTER 1
-#define SERVER_ACCESS_ENUMERATE 2
-#define SERVER_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED|SERVER_ACCESS_ADMINISTER|SERVER_ACCESS_ENUMERATE)
-#define SERVER_READ (STANDARD_RIGHTS_READ|SERVER_ACCESS_ENUMERATE)
-#define SERVER_WRITE (STANDARD_RIGHTS_WRITE|SERVER_ACCESS_ADMINISTER|SERVER_ACCESS_ENUMERATE)
-#define SERVER_EXECUTE (STANDARD_RIGHTS_EXECUTE|SERVER_ACCESS_ENUMERATE)
-#define PORT_STATUS_TYPE_ERROR 1
-#define PORT_STATUS_TYPE_WARNING 2
-#define PORT_STATUS_TYPE_INFO 3
-#define PORT_STATUS_OFFLINE 1
-#define PORT_STATUS_PAPER_JAM 2
-#define PORT_STATUS_PAPER_OUT 3
-#define PORT_STATUS_OUTPUT_BIN_FULL 4
-#define PORT_STATUS_PAPER_PROBLEM 5
-#define PORT_STATUS_NO_TONER 6
-#define PORT_STATUS_DOOR_OPEN 7
-#define PORT_STATUS_USER_INTERVENTION 8
-#define PORT_STATUS_OUT_OF_MEMORY 9
-#define PORT_STATUS_TONER_LOW 10
-#define PORT_STATUS_WARMING_UP 11
-#define PORT_STATUS_POWER_SAVE 12
-#ifndef RC_INVOKED
-typedef struct _ADDJOB_INFO_1A {
- LPSTR Path;
- DWORD JobId;
-} ADDJOB_INFO_1A,*PADDJOB_INFO_1A,*LPADDJOB_INFO_1A;
-typedef struct _ADDJOB_INFO_1W {
- LPWSTR Path;
- DWORD JobId;
-} ADDJOB_INFO_1W,*PADDJOB_INFO_1W,*LPADDJOB_INFO_1W;
-typedef struct _DATATYPES_INFO_1A{LPSTR pName;} DATATYPES_INFO_1A,*PDATATYPES_INFO_1A,*LPDATATYPES_INFO_1A;
-typedef struct _DATATYPES_INFO_1W{LPWSTR pName;} DATATYPES_INFO_1W,*PDATATYPES_INFO_1W,*LPDATATYPES_INFO_1W;
-typedef struct _JOB_INFO_1A {
- DWORD JobId;
- LPSTR pPrinterName;
- LPSTR pMachineName;
- LPSTR pUserName;
- LPSTR pDocument;
- LPSTR pDatatype;
- LPSTR pStatus;
- DWORD Status;
- DWORD Priority;
- DWORD Position;
- DWORD TotalPages;
- DWORD PagesPrinted;
- SYSTEMTIME Submitted;
-} JOB_INFO_1A,*PJOB_INFO_1A,*LPJOB_INFO_1A;
-typedef struct _JOB_INFO_1W {
- DWORD JobId;
- LPWSTR pPrinterName;
- LPWSTR pMachineName;
- LPWSTR pUserName;
- LPWSTR pDocument;
- LPWSTR pDatatype;
- LPWSTR pStatus;
- DWORD Status;
- DWORD Priority;
- DWORD Position;
- DWORD TotalPages;
- DWORD PagesPrinted;
- SYSTEMTIME Submitted;
-} JOB_INFO_1W,*PJOB_INFO_1W,*LPJOB_INFO_1W;
-typedef struct _JOB_INFO_2A {
- DWORD JobId;
- LPSTR pPrinterName;
- LPSTR pMachineName;
- LPSTR pUserName;
- LPSTR pDocument;
- LPSTR pNotifyName;
- LPSTR pDatatype;
- LPSTR pPrintProcessor;
- LPSTR pParameters;
- LPSTR pDriverName;
- LPDEVMODEA pDevMode;
- LPSTR pStatus;
- PSECURITY_DESCRIPTOR pSecurityDescriptor;
- DWORD Status;
- DWORD Priority;
- DWORD Position;
- DWORD StartTime;
- DWORD UntilTime;
- DWORD TotalPages;
- DWORD Size;
- SYSTEMTIME Submitted;
- DWORD Time;
- DWORD PagesPrinted;
-} JOB_INFO_2A,*PJOB_INFO_2A,*LPJOB_INFO_2A;
-typedef struct _JOB_INFO_2W {
- DWORD JobId;
- LPWSTR pPrinterName;
- LPWSTR pMachineName;
- LPWSTR pUserName;
- LPWSTR pDocument;
- LPWSTR pNotifyName;
- LPWSTR pDatatype;
- LPWSTR pPrintProcessor;
- LPWSTR pParameters;
- LPWSTR pDriverName;
- LPDEVMODEW pDevMode;
- LPWSTR pStatus;
- PSECURITY_DESCRIPTOR pSecurityDescriptor;
- DWORD Status;
- DWORD Priority;
- DWORD Position;
- DWORD StartTime;
- DWORD UntilTime;
- DWORD TotalPages;
- DWORD Size;
- SYSTEMTIME Submitted;
- DWORD Time;
- DWORD PagesPrinted;
-} JOB_INFO_2W,*PJOB_INFO_2W,*LPJOB_INFO_2W;
-typedef struct _DOC_INFO_1A {
- LPSTR pDocName;
- LPSTR pOutputFile;
- LPSTR pDatatype;
-} DOC_INFO_1A,*PDOC_INFO_1A,*LPDOC_INFO_1A;
-typedef struct _DOC_INFO_1W {
- LPWSTR pDocName;
- LPWSTR pOutputFile;
- LPWSTR pDatatype;
-} DOC_INFO_1W,*PDOC_INFO_1W,*LPDOC_INFO_1W;
-typedef struct _DOC_INFO_2A {
- LPSTR pDocName;
- LPSTR pOutputFile;
- LPSTR pDatatype;
- DWORD dwMode;
- DWORD JobId;
-} DOC_INFO_2A,*PDOC_INFO_2A,*LPDOC_INFO_2A;
-typedef struct _DOC_INFO_2W {
- LPWSTR pDocName;
- LPWSTR pOutputFile;
- LPWSTR pDatatype;
- DWORD dwMode;
- DWORD JobId;
-} DOC_INFO_2W,*PDOC_INFO_2W,*LPDOC_INFO_2W;
-typedef struct _DRIVER_INFO_1A {LPSTR pName;} DRIVER_INFO_1A,*PDRIVER_INFO_1A,*LPDRIVER_INFO_1A;
-typedef struct _DRIVER_INFO_1W {LPWSTR pName;} DRIVER_INFO_1W,*PDRIVER_INFO_1W,*LPDRIVER_INFO_1W;
-typedef struct _DRIVER_INFO_2A {
- DWORD cVersion;
- LPSTR pName;
- LPSTR pEnvironment;
- LPSTR pDriverPath;
- LPSTR pDataFile;
- LPSTR pConfigFile;
-} DRIVER_INFO_2A,*PDRIVER_INFO_2A,*LPDRIVER_INFO_2A;
-typedef struct _DRIVER_INFO_2W {
- DWORD cVersion;
- LPWSTR pName;
- LPWSTR pEnvironment;
- LPWSTR pDriverPath;
- LPWSTR pDataFile;
- LPWSTR pConfigFile;
-} DRIVER_INFO_2W,*PDRIVER_INFO_2W,*LPDRIVER_INFO_2W;
-typedef struct _DRIVER_INFO_3A {
- DWORD cVersion;
- LPSTR pName;
- LPSTR pEnvironment;
- LPSTR pDriverPath;
- LPSTR pDataFile;
- LPSTR pConfigFile;
- LPSTR pHelpFile;
- LPSTR pDependentFiles;
- LPSTR pMonitorName;
- LPSTR pDefaultDataType;
-} DRIVER_INFO_3A,*PDRIVER_INFO_3A,*LPDRIVER_INFO_3A;
-typedef struct _DRIVER_INFO_3W {
- DWORD cVersion;
- LPWSTR pName;
- LPWSTR pEnvironment;
- LPWSTR pDriverPath;
- LPWSTR pDataFile;
- LPWSTR pConfigFile;
- LPWSTR pHelpFile;
- LPWSTR pDependentFiles;
- LPWSTR pMonitorName;
- LPWSTR pDefaultDataType;
-} DRIVER_INFO_3W,*PDRIVER_INFO_3W,*LPDRIVER_INFO_3W;
-typedef struct _MONITOR_INFO_1A{LPSTR pName;} MONITOR_INFO_1A,*PMONITOR_INFO_1A,*LPMONITOR_INFO_1A;
-typedef struct _MONITOR_INFO_1W{LPWSTR pName;} MONITOR_INFO_1W,*PMONITOR_INFO_1W,*LPMONITOR_INFO_1W;
-typedef struct _PORT_INFO_1A {LPSTR pName;} PORT_INFO_1A,*PPORT_INFO_1A,*LPPORT_INFO_1A;
-typedef struct _PORT_INFO_1W {LPWSTR pName;} PORT_INFO_1W,*PPORT_INFO_1W,*LPPORT_INFO_1W;
-typedef struct _MONITOR_INFO_2A{
- LPSTR pName;
- LPSTR pEnvironment;
- LPSTR pDLLName;
-} MONITOR_INFO_2A,*PMONITOR_INFO_2A,*LPMONITOR_INFO_2A;
-typedef struct _MONITOR_INFO_2W{
- LPWSTR pName;
- LPWSTR pEnvironment;
- LPWSTR pDLLName;
-} MONITOR_INFO_2W,*PMONITOR_INFO_2W,*LPMONITOR_INFO_2W;
-typedef struct _PORT_INFO_2A {
- LPSTR pPortName;
- LPSTR pMonitorName;
- LPSTR pDescription;
- DWORD fPortType;
- DWORD Reserved;
-} PORT_INFO_2A,*PPORT_INFO_2A,*LPPORT_INFO_2A;
-typedef struct _PORT_INFO_2W {
- LPWSTR pPortName;
- LPWSTR pMonitorName;
- LPWSTR pDescription;
- DWORD fPortType;
- DWORD Reserved;
-} PORT_INFO_2W,*PPORT_INFO_2W,*LPPORT_INFO_2W;
-typedef struct _PORT_INFO_3A {
- DWORD dwStatus;
- LPSTR pszStatus;
- DWORD dwSeverity;
-} PORT_INFO_3A,*PPORT_INFO_3A,*LPPORT_INFO_3A;
-typedef struct _PORT_INFO_3W {
- DWORD dwStatus;
- LPWSTR pszStatus;
- DWORD dwSeverity;
-} PORT_INFO_3W,*PPORT_INFO_3W,*LPPORT_INFO_3W;
-typedef struct _PRINTER_INFO_1A {
- DWORD Flags;
- LPSTR pDescription;
- LPSTR pName;
- LPSTR pComment;
-} PRINTER_INFO_1A,*PPRINTER_INFO_1A,*LPPRINTER_INFO_1A;
-typedef struct _PRINTER_INFO_1W {
- DWORD Flags;
- LPWSTR pDescription;
- LPWSTR pName;
- LPWSTR pComment;
-} PRINTER_INFO_1W,*PPRINTER_INFO_1W,*LPPRINTER_INFO_1W;
-typedef struct _PRINTER_INFO_2A {
- LPSTR pServerName;
- LPSTR pPrinterName;
- LPSTR pShareName;
- LPSTR pPortName;
- LPSTR pDriverName;
- LPSTR pComment;
- LPSTR pLocation;
- LPDEVMODEA pDevMode;
- LPSTR pSepFile;
- LPSTR pPrintProcessor;
- LPSTR pDatatype;
- LPSTR pParameters;
- PSECURITY_DESCRIPTOR pSecurityDescriptor;
- DWORD Attributes;
- DWORD Priority;
- DWORD DefaultPriority;
- DWORD StartTime;
- DWORD UntilTime;
- DWORD Status;
- DWORD cJobs;
- DWORD AveragePPM;
-} PRINTER_INFO_2A,*PPRINTER_INFO_2A,*LPPRINTER_INFO_2A;
-typedef struct _PRINTER_INFO_2W {
- LPWSTR pServerName;
- LPWSTR pPrinterName;
- LPWSTR pShareName;
- LPWSTR pPortName;
- LPWSTR pDriverName;
- LPWSTR pComment;
- LPWSTR pLocation;
- LPDEVMODEW pDevMode;
- LPWSTR pSepFile;
- LPWSTR pPrintProcessor;
- LPWSTR pDatatype;
- LPWSTR pParameters;
- PSECURITY_DESCRIPTOR pSecurityDescriptor;
- DWORD Attributes;
- DWORD Priority;
- DWORD DefaultPriority;
- DWORD StartTime;
- DWORD UntilTime;
- DWORD Status;
- DWORD cJobs;
- DWORD AveragePPM;
-} PRINTER_INFO_2W,*PPRINTER_INFO_2W,*LPPRINTER_INFO_2W;
-typedef struct _PRINTER_INFO_3 {
- PSECURITY_DESCRIPTOR pSecurityDescriptor;
-} PRINTER_INFO_3,*PPRINTER_INFO_3,*LPPRINTER_INFO_3;
-typedef struct _PRINTER_INFO_4A {
- LPSTR pPrinterName;
- LPSTR pServerName;
- DWORD Attributes;
-} PRINTER_INFO_4A,*PPRINTER_INFO_4A,*LPPRINTER_INFO_4A;
-typedef struct _PRINTER_INFO_4W {
- LPWSTR pPrinterName;
- LPWSTR pServerName;
- DWORD Attributes;
-} PRINTER_INFO_4W,*PPRINTER_INFO_4W,*LPPRINTER_INFO_4W;
-typedef struct _PRINTER_INFO_5A {
- LPSTR pPrinterName;
- LPSTR pPortName;
- DWORD Attributes;
- DWORD DeviceNotSelectedTimeout;
- DWORD TransmissionRetryTimeout;
-} PRINTER_INFO_5A,*PPRINTER_INFO_5A,*LPPRINTER_INFO_5A;
-typedef struct _PRINTER_INFO_5W {
- LPWSTR pPrinterName;
- LPWSTR pPortName;
- DWORD Attributes;
- DWORD DeviceNotSelectedTimeout;
- DWORD TransmissionRetryTimeout;
-} PRINTER_INFO_5W,*PPRINTER_INFO_5W,*LPPRINTER_INFO_5W;
-typedef struct _PRINTER_INFO_6 {
- DWORD dwStatus;
-} PRINTER_INFO_6,*PPRINTER_INFO_6,*LPPRINTER_INFO_6;
-typedef struct _PRINTPROCESSOR_INFO_1A {LPSTR pName;} PRINTPROCESSOR_INFO_1A,*PPRINTPROCESSOR_INFO_1A,*LPPRINTPROCESSOR_INFO_1A;
-typedef struct _PRINTPROCESSOR_INFO_1W {LPWSTR pName;} PRINTPROCESSOR_INFO_1W,*PPRINTPROCESSOR_INFO_1W,*LPPRINTPROCESSOR_INFO_1W;
-typedef struct _PRINTER_NOTIFY_INFO_DATA {
- WORD Type;
- WORD Field;
- DWORD Reserved;
- DWORD Id;
- union {
- DWORD adwData[2];
- struct {
- DWORD cbBuf;
- PVOID pBuf;
- } Data;
- } NotifyData;
-} PRINTER_NOTIFY_INFO_DATA,*PPRINTER_NOTIFY_INFO_DATA,*LPPRINTER_NOTIFY_INFO_DATA;
-typedef struct _PRINTER_NOTIFY_INFO {
- DWORD Version;
- DWORD Flags;
- DWORD Count;
- PRINTER_NOTIFY_INFO_DATA aData[1];
-} PRINTER_NOTIFY_INFO,*PPRINTER_NOTIFY_INFO,*LPPRINTER_NOTIFY_INFO;
-typedef struct _FORM_INFO_1A {
- DWORD Flags;
- LPSTR pName;
- SIZEL Size;
- RECTL ImageableArea;
-} FORM_INFO_1A,*PFORM_INFO_1A,*LPFORM_INFO_1A;
-typedef struct _FORM_INFO_1W {
- DWORD Flags;
- LPWSTR pName;
- SIZEL Size;
- RECTL ImageableArea;
-} FORM_INFO_1W,*PFORM_INFO_1W,*LPFORM_INFO_1W;
-typedef struct _PRINTER_DEFAULTSA {
- LPSTR pDatatype;
- LPDEVMODE pDevMode;
- ACCESS_MASK DesiredAccess;
-} PRINTER_DEFAULTSA,*PPRINTER_DEFAULTSA,*LPPRINTER_DEFAULTSA;
-typedef struct _PRINTER_DEFAULTSW {
- LPWSTR pDatatype;
- LPDEVMODE pDevMode;
- ACCESS_MASK DesiredAccess;
-} PRINTER_DEFAULTSW,*PPRINTER_DEFAULTSW,*LPPRINTER_DEFAULTSW;
-
-BOOL WINAPI AbortPrinter(HANDLE);
-BOOL WINAPI AddFormA(HANDLE,DWORD,PBYTE);
-BOOL WINAPI AddFormW(HANDLE,DWORD,PBYTE);
-BOOL WINAPI AddJobA(HANDLE,DWORD,PBYTE,DWORD,PDWORD);
-BOOL WINAPI AddJobW(HANDLE,DWORD,PBYTE,DWORD,PDWORD);
-BOOL WINAPI AddMonitorA(LPSTR,DWORD,PBYTE);
-BOOL WINAPI AddMonitorW(LPWSTR,DWORD,PBYTE);
-BOOL WINAPI AddPortA(LPSTR,HWND,LPSTR);
-BOOL WINAPI AddPortW(LPWSTR,HWND,LPWSTR);
-HANDLE WINAPI AddPrinterA(LPSTR,DWORD,PBYTE);
-HANDLE WINAPI AddPrinterW(LPWSTR,DWORD,PBYTE);
-BOOL WINAPI AddPrinterConnectionA(LPSTR);
-BOOL WINAPI AddPrinterConnectionW(LPWSTR);
-BOOL WINAPI AddPrinterDriverA(LPSTR,DWORD,PBYTE);
-BOOL WINAPI AddPrinterDriverW(LPWSTR,DWORD,PBYTE);
-BOOL WINAPI AddPrintProcessorA(LPSTR,LPSTR,LPSTR,LPSTR);
-BOOL WINAPI AddPrintProcessorW(LPWSTR,LPWSTR,LPWSTR,LPWSTR);
-BOOL WINAPI AddPrintProvidorA(LPSTR,DWORD,PBYTE);
-BOOL WINAPI AddPrintProvidorW(LPWSTR,DWORD,PBYTE);
-LONG WINAPI AdvancedDocumentPropertiesA(HWND,HANDLE,LPSTR,PDEVMODE,PDEVMODEA);
-LONG WINAPI AdvancedDocumentPropertiesW(HWND,HANDLE,LPWSTR,PDEVMODE,PDEVMODEW);
-BOOL WINAPI ClosePrinter(HANDLE);
-BOOL WINAPI ConfigurePortA(LPSTR,HWND,LPSTR);
-BOOL WINAPI ConfigurePortW(LPWSTR,HWND,LPWSTR);
-HANDLE WINAPI ConnectToPrinterDlg(HWND,DWORD);
-BOOL WINAPI DeleteFormA(HANDLE,LPSTR);
-BOOL WINAPI DeleteFormW(HANDLE,LPWSTR);
-BOOL WINAPI DeleteMonitorA(LPSTR,LPSTR,LPSTR);
-BOOL WINAPI DeleteMonitorW(LPWSTR,LPWSTR,LPWSTR);
-BOOL WINAPI DeletePortA(LPSTR,HWND,LPSTR);
-BOOL WINAPI DeletePortW(LPWSTR,HWND,LPWSTR);
-BOOL WINAPI DeletePrinter(HANDLE);
-BOOL WINAPI DeletePrinterConnectionA(LPSTR);
-BOOL WINAPI DeletePrinterConnectionW(LPWSTR);
-DWORD WINAPI DeletePrinterDataA(HANDLE,LPSTR);
-DWORD WINAPI DeletePrinterDataW(HANDLE,LPWSTR);
-BOOL WINAPI DeletePrinterDriverA(LPSTR,LPSTR,LPSTR);
-BOOL WINAPI DeletePrinterDriverW(LPWSTR,LPWSTR,LPWSTR);
-BOOL WINAPI DeletePrintProcessorA(LPSTR,LPSTR,LPSTR);
-BOOL WINAPI DeletePrintProcessorW(LPWSTR,LPWSTR,LPWSTR);
-BOOL WINAPI DeletePrintProvidorA(LPSTR,LPSTR,LPSTR);
-BOOL WINAPI DeletePrintProvidorW(LPWSTR,LPWSTR,LPWSTR);
-LONG WINAPI DocumentPropertiesA(HWND,HANDLE,LPSTR,PDEVMODEA,PDEVMODEA,DWORD);
-LONG WINAPI DocumentPropertiesW(HWND,HANDLE,LPWSTR,PDEVMODEW,PDEVMODEW,DWORD);
-BOOL WINAPI EndDocPrinter(HANDLE);
-BOOL WINAPI EndPagePrinter(HANDLE);
-BOOL WINAPI EnumFormsA(HANDLE,DWORD,PBYTE,DWORD,PDWORD,PDWORD);
-BOOL WINAPI EnumFormsW(HANDLE,DWORD,PBYTE,DWORD,PDWORD,PDWORD);
-BOOL WINAPI EnumJobsA(HANDLE,DWORD,DWORD,DWORD,PBYTE,DWORD,PDWORD,PDWORD);
-BOOL WINAPI EnumJobsW(HANDLE,DWORD,DWORD,DWORD,PBYTE,DWORD,PDWORD,PDWORD);
-BOOL WINAPI EnumMonitorsA(LPSTR,DWORD,PBYTE,DWORD,PDWORD,PDWORD);
-BOOL WINAPI EnumMonitorsW(LPWSTR,DWORD,PBYTE,DWORD,PDWORD,PDWORD);
-BOOL WINAPI EnumPortsA(LPSTR,DWORD,PBYTE,DWORD,PDWORD,PDWORD);
-BOOL WINAPI EnumPortsW(LPWSTR,DWORD,PBYTE,DWORD,PDWORD,PDWORD);
-DWORD WINAPI EnumPrinterDataA(HANDLE,DWORD,LPSTR,DWORD,PDWORD,PDWORD,PBYTE,DWORD,PDWORD);
-DWORD WINAPI EnumPrinterDataW(HANDLE,DWORD,LPWSTR,DWORD,PDWORD,PDWORD,PBYTE,DWORD,PDWORD);
-BOOL WINAPI EnumPrinterDriversA(LPSTR,LPSTR,DWORD,PBYTE,DWORD,PDWORD,PDWORD);
-BOOL WINAPI EnumPrinterDriversW(LPWSTR,LPWSTR,DWORD,PBYTE,DWORD,PDWORD,PDWORD);
-BOOL WINAPI EnumPrintersA(DWORD,LPSTR,DWORD,PBYTE,DWORD,PDWORD,PDWORD);
-BOOL WINAPI EnumPrintersW(DWORD,LPWSTR,DWORD,PBYTE,DWORD,PDWORD,PDWORD);
-BOOL WINAPI EnumPrintProcessorDatatypesA(LPSTR,LPSTR,DWORD,PBYTE,DWORD,PDWORD,PDWORD);
-BOOL WINAPI EnumPrintProcessorDatatypesW(LPWSTR,LPWSTR,DWORD,PBYTE,DWORD,PDWORD,PDWORD);
-BOOL WINAPI EnumPrintProcessorsA(LPSTR,LPSTR,DWORD,PBYTE,DWORD,PDWORD,PDWORD);
-BOOL WINAPI EnumPrintProcessorsW(LPWSTR,LPWSTR,DWORD,PBYTE,DWORD,PDWORD,PDWORD);
-BOOL WINAPI FindClosePrinterChangeNotification(HANDLE);
-HANDLE WINAPI FindFirstPrinterChangeNotification(HANDLE,DWORD,DWORD,PVOID);
-HANDLE WINAPI FindNextPrinterChangeNotification(HANDLE,PDWORD,PVOID,PVOID*);
-BOOL WINAPI FreePrinterNotifyInfo(PPRINTER_NOTIFY_INFO);
-#if _WIN32_WINNT >= 0x0500
-BOOL WINAPI GetDefaultPrinterA(LPSTR,LPDWORD);
-BOOL WINAPI GetDefaultPrinterW(LPWSTR,LPDWORD);
-#endif
-BOOL WINAPI GetFormA(HANDLE,LPSTR,DWORD,PBYTE,DWORD,PDWORD);
-BOOL WINAPI GetFormW(HANDLE,LPWSTR,DWORD,PBYTE,DWORD,PDWORD);
-BOOL WINAPI GetJobA(HANDLE,DWORD,DWORD,PBYTE,DWORD,PDWORD);
-BOOL WINAPI GetJobW(HANDLE,DWORD,DWORD,PBYTE,DWORD,PDWORD);
-BOOL WINAPI GetPrinterA(HANDLE,DWORD,PBYTE,DWORD,PDWORD);
-BOOL WINAPI GetPrinterW(HANDLE,DWORD,PBYTE,DWORD,PDWORD);
-DWORD WINAPI GetPrinterDataA(HANDLE,LPSTR,PDWORD,PBYTE,DWORD,PDWORD);
-DWORD WINAPI GetPrinterDataW(HANDLE,LPWSTR,PDWORD,PBYTE,DWORD,PDWORD);
-DWORD WINAPI GetPrinterDriverA(HANDLE,LPSTR,DWORD,PBYTE,DWORD,PDWORD);
-DWORD WINAPI GetPrinterDriverW(HANDLE,LPWSTR,DWORD,PBYTE,DWORD,PDWORD);
-DWORD WINAPI GetPrinterDriverDirectoryA(LPSTR,LPSTR,DWORD,PBYTE,DWORD,PDWORD);
-DWORD WINAPI GetPrinterDriverDirectoryW(LPWSTR,LPWSTR,DWORD,PBYTE,DWORD,PDWORD);
-DWORD WINAPI GetPrintProcessorDirectoryA(LPSTR,LPSTR,DWORD,PBYTE,DWORD,PDWORD);
-DWORD WINAPI GetPrintProcessorDirectoryW(LPWSTR,LPWSTR,DWORD,PBYTE,DWORD,PDWORD);
-BOOL WINAPI OpenPrinterA(LPSTR,PHANDLE,LPPRINTER_DEFAULTSA);
-BOOL WINAPI OpenPrinterW(LPWSTR,PHANDLE,LPPRINTER_DEFAULTSW);
-DWORD WINAPI PrinterMessageBoxA(HANDLE,DWORD,HWND,LPSTR,LPSTR,DWORD);
-DWORD WINAPI PrinterMessageBoxW(HANDLE,DWORD,HWND,LPWSTR,LPWSTR,DWORD);
-BOOL WINAPI PrinterProperties(HWND,HANDLE);
-BOOL WINAPI ReadPrinter(HANDLE,PVOID,DWORD,PDWORD);
-BOOL WINAPI ResetPrinterA(HANDLE,LPPRINTER_DEFAULTSA);
-BOOL WINAPI ResetPrinterW(HANDLE,LPPRINTER_DEFAULTSW);
-BOOL WINAPI ScheduleJob(HANDLE,DWORD);
-BOOL WINAPI SetFormA(HANDLE,LPSTR,DWORD,PBYTE);
-BOOL WINAPI SetFormW(HANDLE,LPWSTR,DWORD,PBYTE);
-BOOL WINAPI SetJobA(HANDLE,DWORD,DWORD,PBYTE,DWORD);
-BOOL WINAPI SetJobW(HANDLE,DWORD,DWORD,PBYTE,DWORD);
-BOOL WINAPI SetPrinterA(HANDLE,DWORD,PBYTE,DWORD);
-BOOL WINAPI SetPrinterW(HANDLE,DWORD,PBYTE,DWORD);
-BOOL WINAPI SetPrinterDataA(HANDLE,LPSTR,DWORD,PBYTE,DWORD);
-BOOL WINAPI SetPrinterDataW(HANDLE,LPWSTR,DWORD,PBYTE,DWORD);
-DWORD WINAPI StartDocPrinterA(HANDLE,DWORD,PBYTE);
-DWORD WINAPI StartDocPrinterW(HANDLE,DWORD,PBYTE);
-BOOL WINAPI StartPagePrinter(HANDLE);
-DWORD WINAPI WaitForPrinterChange(HANDLE,DWORD);
-BOOL WINAPI WritePrinter(HANDLE,PVOID,DWORD,PDWORD);
-
-#ifdef UNICODE
-typedef JOB_INFO_1W JOB_INFO_1,*PJOB_INFO_1,*LPJOB_INFO_1;
-typedef JOB_INFO_2W JOB_INFO_2,*PJOB_INFO_2,*LPJOB_INFO_2;
-typedef ADDJOB_INFO_1W ADDJOB_INFO_1,*PADDJOB_INFO_1,*LPADDJOB_INFO_1;
-typedef DATATYPES_INFO_1W DATATYPES_INFO_1,*PDATATYPES_INFO_1,*LPDATATYPES_INFO_1;
-typedef MONITOR_INFO_1W MONITOR_INFO_1,*PMONITOR_INFO_1,*LPMONITOR_INFO_1;
-typedef MONITOR_INFO_2W MONITOR_INFO_2,*PMONITOR_INFO_2,*LPMONITOR_INFO_2;
-typedef DOC_INFO_1W DOC_INFO_1,*PDOC_INFO_1,*LPDOC_INFO_1;
-typedef DOC_INFO_2W DOC_INFO_2,*PDOC_INFO_2,*LPDOC_INFO_2;
-typedef PORT_INFO_1W PORT_INFO_1,*PPORT_INFO_1,*LPPORT_INFO_1;
-typedef PORT_INFO_2W PORT_INFO_2,*PPORT_INFO_2,*LPPORT_INFO_2;
-typedef PORT_INFO_3W PORT_INFO_3,*PPORT_INFO_3,*LPPORT_INFO_3;
-typedef DRIVER_INFO_2W DRIVER_INFO_2,*PDRIVER_INFO_2,*LPDRIVER_INFO_2;
-typedef PRINTER_INFO_1W PRINTER_INFO_1,*PPRINTER_INFO_1,*LPPRINTER_INFO_1;
-typedef PRINTER_INFO_2W PRINTER_INFO_2,*PPRINTER_INFO_2,*LPPRINTER_INFO_2;
-typedef PRINTER_INFO_4W PRINTER_INFO_4,*PPRINTER_INFO_4,*LPPRINTER_INFO_4;
-typedef PRINTER_INFO_5W PRINTER_INFO_5,*PPRINTER_INFO_5,*LPPRINTER_INFO_5;
-typedef PRINTPROCESSOR_INFO_1W PRINTPROCESSOR_INFO_1,*PPRINTPROCESSOR_INFO_1,*LPPRINTPROCESSOR_INFO_1;
-typedef FORM_INFO_1W FORM_INFO_1,*PFORM_INFO_1,*LPFORM_INFO_1;
-typedef PRINTER_DEFAULTSW PRINTER_DEFAULTS,*PPRINTER_DEFAULTS,*LPPRINTER_DEFAULTS;
-#define AddForm AddFormW
-#define AddJob AddJobW
-#define AddMonitor AddMonitorW
-#define AddPort AddPortW
-#define AddPrinter AddPrinterW
-#define AddPrinterConnection AddPrinterConnectionW
-#define AddPrinterDriver AddPrinterDriverW
-#define AddPrintProcessor AddPrintProcessorW
-#define AddPrintProvidor AddPrintProvidorW
-#define AdvancedDocumentProperties AdvancedDocumentPropertiesW
-#define ConfigurePort ConfigurePortW
-#define DeleteForm DeleteFormW
-#define DeleteMonitor DeleteMonitorW
-#define DeletePort DeletePortW
-#define DeletePrinterConnection DeletePrinterConnectionW
-#define DeletePrinterData DeletePrinterDataW
-#define DeletePrinterDriver DeletePrinterDriverW
-#define DeletePrintProcessor DeletePrinterProcessorW
-#define DeletePrintProvidor DeletePrinterProvidorW
-#define DocumentProperties DocumentPropertiesW
-#define EnumForms EnumFormsW
-#define EnumJobs EnumJobsW
-#define EnumMonitors EnumMonitorsW
-#define EnumPorts EnumPortsW
-#define EnumPrinterData EnumPrinterDataW
-#define EnumPrinterDrivers EnumPrinterDriversW
-#define EnumPrinters EnumPrintersW
-#define EnumPrintProcessorDatatypes EnumPrintProcessorDatatypesW
-#define EnumPrintProcessors EnumPrintProcessorsW
-#define GetDefaultPrinter GetDefaultPrinterW
-#define GetForm GetFormW
-#define GetJob GetJobW
-#define GetPrinter GetPrinterW
-#define GetPrinterData GetPrinterDataW
-#define GetPrinterDriver GetPrinterDriverW
-#define GetPrinterDriverDirectory GetPrinterDriverDirectoryW
-#define GetPrintProcessorDirectory GetPrintProcessorDirectoryW
-#define OpenPrinter OpenPrinterW
-#define PrinterMessageBox PrinterMessageBoxW
-#define ResetPrinter ResetPrinterW
-#define SetForm SetFormW
-#define SetJob SetJobW
-#define SetPrinter SetPrinterW
-#define SetPrinterData SetPrinterDataW
-#define StartDocPrinter StartDocPrinterW
-#else
-typedef JOB_INFO_1A JOB_INFO_1,*PJOB_INFO_1,*LPJOB_INFO_1;
-typedef JOB_INFO_2A JOB_INFO_2,*PJOB_INFO_2,*LPJOB_INFO_2;
-typedef ADDJOB_INFO_1A ADDJOB_INFO_1,*PADDJOB_INFO_1,*LPADDJOB_INFO_1;
-typedef DATATYPES_INFO_1A DATATYPES_INFO_1,*PDATATYPES_INFO_1,*LPDATATYPES_INFO_1;
-typedef MONITOR_INFO_1A MONITOR_INFO_1,*PMONITOR_INFO_1,*LPMONITOR_INFO_1;
-typedef MONITOR_INFO_2A MONITOR_INFO_2,*PMONITOR_INFO_2,*LPMONITOR_INFO_2;
-typedef DOC_INFO_1A DOC_INFO_1,*PDOC_INFO_1,*LPDOC_INFO_1;
-typedef DOC_INFO_2A DOC_INFO_2,*PDOC_INFO_2,*LPDOC_INFO_2;
-typedef PORT_INFO_1A PORT_INFO_1,*PPORT_INFO_1,*LPPORT_INFO_1;
-typedef PORT_INFO_2A PORT_INFO_2,*PPORT_INFO_2,*LPPORT_INFO_2;
-typedef PORT_INFO_3A PORT_INFO_3,*PPORT_INFO_3,*LPPORT_INFO_3;
-typedef DRIVER_INFO_2A DRIVER_INFO_2,*PDRIVER_INFO_2,*LPDRIVER_INFO_2;
-typedef PRINTER_INFO_1A PRINTER_INFO_1,*PPRINTER_INFO_1,*LPPRINTER_INFO_1;
-typedef PRINTER_INFO_2A PRINTER_INFO_2,*PPRINTER_INFO_2,*LPPRINTER_INFO_2;
-typedef PRINTER_INFO_4A PRINTER_INFO_4,*PPRINTER_INFO_4,*LPPRINTER_INFO_4;
-typedef PRINTER_INFO_5A PRINTER_INFO_5,*PPRINTER_INFO_5,*LPPRINTER_INFO_5;
-typedef PRINTPROCESSOR_INFO_1A PRINTPROCESSOR_INFO_1,*PPRINTPROCESSOR_INFO_1,*LPPRINTPROCESSOR_INFO_1;
-typedef FORM_INFO_1A FORM_INFO_1,*PFORM_INFO_1,*LPFORM_INFO_1;
-typedef PRINTER_DEFAULTSA PRINTER_DEFAULTS,*PPRINTER_DEFAULTS,*LPPRINTER_DEFAULTS;
-#define AddForm AddFormA
-#define AddJob AddJobA
-#define AddMonitor AddMonitorA
-#define AddPort AddPortA
-#define AddPrinter AddPrinterA
-#define AddPrinterConnection AddPrinterConnectionA
-#define AddPrinterDriver AddPrinterDriverA
-#define AddPrintProcessor AddPrintProcessorA
-#define AddPrintProvidor AddPrintProvidorA
-#define AdvancedDocumentProperties AdvancedDocumentPropertiesA
-#define ConfigurePort ConfigurePortA
-#define DeleteForm DeleteFormA
-#define DeleteMonitor DeleteMonitorA
-#define DeletePort DeletePortA
-#define DeletePrinterConnection DeletePrinterConnectionA
-#define DeletePrinterData DeletePrinterDataA
-#define DeletePrinterDriver DeletePrinterDriverA
-#define DeletePrintProcessor DeletePrinterProcessorA
-#define DeletePrintProvidor DeletePrinterProvidorA
-#define DocumentProperties DocumentPropertiesA
-#define EnumForms EnumFormsA
-#define EnumJobs EnumJobsA
-#define EnumMonitors EnumMonitorsA
-#define EnumPorts EnumPortsA
-#define EnumPrinterData EnumPrinterDataA
-#define EnumPrinterDrivers EnumPrinterDriversA
-#define EnumPrinters EnumPrintersA
-#define EnumPrintProcessorDatatypes EnumPrintProcessorDatatypesA
-#define EnumPrintProcessors EnumPrintProcessorsA
-#define GetDefaultPrinter GetDefaultPrinterA
-#define GetForm GetFormA
-#define GetJob GetJobA
-#define GetPrinter GetPrinterA
-#define GetPrinterData GetPrinterDataA
-#define GetPrinterDriver GetPrinterDriverA
-#define GetPrinterDriverDirectory GetPrinterDriverDirectoryA
-#define GetPrintProcessorDirectory GetPrintProcessorDirectoryA
-#define OpenPrinter OpenPrinterA
-#define PrinterMessageBox PrinterMessageBoxA
-#define ResetPrinter ResetPrinterA
-#define SetForm SetFormA
-#define SetJob SetJobA
-#define SetPrinter SetPrinterA
-#define SetPrinterData SetPrinterDataA
-#define StartDocPrinter StartDocPrinterA
-#endif
-#endif /* RC_INVOKED */
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/winsup/w32api/include/winsvc.h b/winsup/w32api/include/winsvc.h
deleted file mode 100644
index cfc3f57a9..000000000
--- a/winsup/w32api/include/winsvc.h
+++ /dev/null
@@ -1,309 +0,0 @@
-#ifndef _WINSVC_H
-#define _WINSVC_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-#define SERVICES_ACTIVE_DATABASEA "ServicesActive"
-#define SERVICES_ACTIVE_DATABASEW L"ServicesActive"
-#define SERVICES_FAILED_DATABASEA "ServicesFailed"
-#define SERVICES_FAILED_DATABASEW L"ServicesFailed"
-#define SC_GROUP_IDENTIFIERA '+'
-#define SC_GROUP_IDENTIFIERW L'+'
-#define SC_MANAGER_ALL_ACCESS 0xf003f
-#define SC_MANAGER_CONNECT 1
-#define SC_MANAGER_CREATE_SERVICE 2
-#define SC_MANAGER_ENUMERATE_SERVICE 4
-#define SC_MANAGER_LOCK 8
-#define SC_MANAGER_QUERY_LOCK_STATUS 16
-#define SC_MANAGER_MODIFY_BOOT_CONFIG 32
-#define SERVICE_NO_CHANGE 0xffffffff
-#define SERVICE_STOPPED 1
-#define SERVICE_START_PENDING 2
-#define SERVICE_STOP_PENDING 3
-#define SERVICE_RUNNING 4
-#define SERVICE_CONTINUE_PENDING 5
-#define SERVICE_PAUSE_PENDING 6
-#define SERVICE_PAUSED 7
-#define SERVICE_ACCEPT_STOP 1
-#define SERVICE_ACCEPT_PAUSE_CONTINUE 2
-#define SERVICE_ACCEPT_SHUTDOWN 4
-#define SERVICE_ACCEPT_PARAMCHANGE 8
-#define SERVICE_ACCEPT_NETBINDCHANGE 16
-#define SERVICE_ACCEPT_HARDWAREPROFILECHANGE 32
-#define SERVICE_ACCEPT_POWEREVENT 64
-#define SERVICE_ACCEPT_SESSIONCHANGE 128
-#define SERVICE_CONTROL_STOP 1
-#define SERVICE_CONTROL_PAUSE 2
-#define SERVICE_CONTROL_CONTINUE 3
-#define SERVICE_CONTROL_INTERROGATE 4
-#define SERVICE_CONTROL_SHUTDOWN 5
-#define SERVICE_CONTROL_PARAMCHANGE 6
-#define SERVICE_CONTROL_NETBINDADD 7
-#define SERVICE_CONTROL_NETBINDREMOVE 8
-#define SERVICE_CONTROL_NETBINDENABLE 9
-#define SERVICE_CONTROL_NETBINDDISABLE 10
-#define SERVICE_CONTROL_DEVICEEVENT 11
-#define SERVICE_CONTROL_HARDWAREPROFILECHANGE 12
-#define SERVICE_CONTROL_POWEREVENT 13
-#define SERVICE_CONTROL_SESSIONCHANGE 14
-#define SERVICE_ACTIVE 1
-#define SERVICE_INACTIVE 2
-#define SERVICE_STATE_ALL 3
-#define SERVICE_QUERY_CONFIG 1
-#define SERVICE_CHANGE_CONFIG 2
-#define SERVICE_QUERY_STATUS 4
-#define SERVICE_ENUMERATE_DEPENDENTS 8
-#define SERVICE_START 16
-#define SERVICE_STOP 32
-#define SERVICE_PAUSE_CONTINUE 64
-#define SERVICE_INTERROGATE 128
-#define SERVICE_USER_DEFINED_CONTROL 256
-#define SERVICE_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED|SERVICE_QUERY_CONFIG|SERVICE_CHANGE_CONFIG|SERVICE_QUERY_STATUS|SERVICE_ENUMERATE_DEPENDENTS|SERVICE_START|SERVICE_STOP|SERVICE_PAUSE_CONTINUE|SERVICE_INTERROGATE|SERVICE_USER_DEFINED_CONTROL)
-#define SERVICE_RUNS_IN_SYSTEM_PROCESS 1
-#define SERVICE_CONFIG_DESCRIPTION 1
-#define SERVICE_CONFIG_FAILURE_ACTIONS 2
-
-typedef struct _SERVICE_STATUS {
- DWORD dwServiceType;
- DWORD dwCurrentState;
- DWORD dwControlsAccepted;
- DWORD dwWin32ExitCode;
- DWORD dwServiceSpecificExitCode;
- DWORD dwCheckPoint;
- DWORD dwWaitHint;
-} SERVICE_STATUS,*LPSERVICE_STATUS;
-typedef struct _SERVICE_STATUS_PROCESS {
- DWORD dwServiceType;
- DWORD dwCurrentState;
- DWORD dwControlsAccepted;
- DWORD dwWin32ExitCode;
- DWORD dwServiceSpecificExitCode;
- DWORD dwCheckPoint;
- DWORD dwWaitHint;
- DWORD dwProcessId;
- DWORD dwServiceFlags;
-} SERVICE_STATUS_PROCESS, *LPSERVICE_STATUS_PROCESS;
-typedef enum _SC_STATUS_TYPE {
- SC_STATUS_PROCESS_INFO = 0
-} SC_STATUS_TYPE;
-typedef enum _SC_ENUM_TYPE {
- SC_ENUM_PROCESS_INFO = 0
-} SC_ENUM_TYPE;
-typedef struct _ENUM_SERVICE_STATUSA {
- LPSTR lpServiceName;
- LPSTR lpDisplayName;
- SERVICE_STATUS ServiceStatus;
-} ENUM_SERVICE_STATUSA,*LPENUM_SERVICE_STATUSA;
-typedef struct _ENUM_SERVICE_STATUSW {
- LPWSTR lpServiceName;
- LPWSTR lpDisplayName;
- SERVICE_STATUS ServiceStatus;
-} ENUM_SERVICE_STATUSW,*LPENUM_SERVICE_STATUSW;
-typedef struct _ENUM_SERVICE_STATUS_PROCESSA {
- LPSTR lpServiceName;
- LPSTR lpDisplayName;
- SERVICE_STATUS_PROCESS ServiceStatusProcess;
-} ENUM_SERVICE_STATUS_PROCESSA,*LPENUM_SERVICE_STATUS_PROCESSA;
-typedef struct _ENUM_SERVICE_STATUS_PROCESSW {
- LPWSTR lpServiceName;
- LPWSTR lpDisplayName;
- SERVICE_STATUS_PROCESS ServiceStatusProcess;
-} ENUM_SERVICE_STATUS_PROCESSW,*LPENUM_SERVICE_STATUS_PROCESSW;
-typedef struct _QUERY_SERVICE_CONFIGA {
- DWORD dwServiceType;
- DWORD dwStartType;
- DWORD dwErrorControl;
- LPSTR lpBinaryPathName;
- LPSTR lpLoadOrderGroup;
- DWORD dwTagId;
- LPSTR lpDependencies;
- LPSTR lpServiceStartName;
- LPSTR lpDisplayName;
-} QUERY_SERVICE_CONFIGA,*LPQUERY_SERVICE_CONFIGA;
-typedef struct _QUERY_SERVICE_CONFIGW {
- DWORD dwServiceType;
- DWORD dwStartType;
- DWORD dwErrorControl;
- LPWSTR lpBinaryPathName;
- LPWSTR lpLoadOrderGroup;
- DWORD dwTagId;
- LPWSTR lpDependencies;
- LPWSTR lpServiceStartName;
- LPWSTR lpDisplayName;
-} QUERY_SERVICE_CONFIGW,*LPQUERY_SERVICE_CONFIGW;
-typedef struct _QUERY_SERVICE_LOCK_STATUSA {
- DWORD fIsLocked;
- LPSTR lpLockOwner;
- DWORD dwLockDuration;
-} QUERY_SERVICE_LOCK_STATUSA,*LPQUERY_SERVICE_LOCK_STATUSA;
-typedef struct _QUERY_SERVICE_LOCK_STATUSW {
- DWORD fIsLocked;
- LPWSTR lpLockOwner;
- DWORD dwLockDuration;
-} QUERY_SERVICE_LOCK_STATUSW,*LPQUERY_SERVICE_LOCK_STATUSW;
-typedef void (WINAPI *LPSERVICE_MAIN_FUNCTIONA)(DWORD,LPSTR*);
-typedef void (WINAPI *LPSERVICE_MAIN_FUNCTIONW)(DWORD,LPWSTR*);
-typedef struct _SERVICE_TABLE_ENTRYA {
- LPSTR lpServiceName;
- LPSERVICE_MAIN_FUNCTIONA lpServiceProc;
-} SERVICE_TABLE_ENTRYA,*LPSERVICE_TABLE_ENTRYA;
-typedef struct _SERVICE_TABLE_ENTRYW {
- LPWSTR lpServiceName;
- LPSERVICE_MAIN_FUNCTIONW lpServiceProc;
-} SERVICE_TABLE_ENTRYW,*LPSERVICE_TABLE_ENTRYW;
-DECLARE_HANDLE(SC_HANDLE);
-typedef SC_HANDLE *LPSC_HANDLE;
-typedef PVOID SC_LOCK;
-typedef DWORD SERVICE_STATUS_HANDLE;
-typedef VOID(WINAPI *LPHANDLER_FUNCTION)(DWORD);
-typedef DWORD (WINAPI *LPHANDLER_FUNCTION_EX)(DWORD,DWORD,LPVOID,LPVOID);
-typedef struct _SERVICE_DESCRIPTIONA {
- LPSTR lpDescription;
-} SERVICE_DESCRIPTIONA,*LPSERVICE_DESCRIPTIONA;
-typedef struct _SERVICE_DESCRIPTIONW {
- LPWSTR lpDescription;
-} SERVICE_DESCRIPTIONW,*LPSERVICE_DESCRIPTIONW;
-typedef enum _SC_ACTION_TYPE {
- SC_ACTION_NONE = 0,
- SC_ACTION_RESTART = 1,
- SC_ACTION_REBOOT = 2,
- SC_ACTION_RUN_COMMAND = 3
-} SC_ACTION_TYPE;
-typedef struct _SC_ACTION {
- SC_ACTION_TYPE Type;
- DWORD Delay;
-} SC_ACTION,*LPSC_ACTION;
-typedef struct _SERVICE_FAILURE_ACTIONSA {
- DWORD dwResetPeriod;
- LPSTR lpRebootMsg;
- LPSTR lpCommand;
- DWORD cActions;
- SC_ACTION * lpsaActions;
-} SERVICE_FAILURE_ACTIONSA,*LPSERVICE_FAILURE_ACTIONSA;
-typedef struct _SERVICE_FAILURE_ACTIONSW {
- DWORD dwResetPeriod;
- LPWSTR lpRebootMsg;
- LPWSTR lpCommand;
- DWORD cActions;
- SC_ACTION * lpsaActions;
-} SERVICE_FAILURE_ACTIONSW,*LPSERVICE_FAILURE_ACTIONSW;
-
-BOOL WINAPI ChangeServiceConfigA(SC_HANDLE,DWORD,DWORD,DWORD,LPCSTR,LPCSTR,LPDWORD,LPCSTR,LPCSTR,LPCSTR,LPCSTR);
-BOOL WINAPI ChangeServiceConfigW(SC_HANDLE,DWORD,DWORD,DWORD,LPCWSTR,LPCWSTR,LPDWORD,LPCWSTR,LPCWSTR,LPCWSTR,LPCWSTR);
-BOOL WINAPI ChangeServiceConfig2A(SC_HANDLE,DWORD,LPVOID);
-BOOL WINAPI ChangeServiceConfig2W(SC_HANDLE,DWORD,LPVOID);
-BOOL WINAPI CloseServiceHandle(SC_HANDLE);
-BOOL WINAPI ControlService(SC_HANDLE,DWORD,LPSERVICE_STATUS);
-SC_HANDLE WINAPI CreateServiceA(SC_HANDLE,LPCSTR,LPCSTR,DWORD,DWORD,DWORD,DWORD,LPCSTR,LPCSTR,PDWORD,LPCSTR,LPCSTR,LPCSTR);
-SC_HANDLE WINAPI CreateServiceW(SC_HANDLE,LPCWSTR,LPCWSTR,DWORD,DWORD,DWORD,DWORD,LPCWSTR,LPCWSTR,PDWORD,LPCWSTR,LPCWSTR,LPCWSTR);
-BOOL WINAPI DeleteService(SC_HANDLE);
-BOOL WINAPI EnumDependentServicesA(SC_HANDLE,DWORD,LPENUM_SERVICE_STATUSA,DWORD,PDWORD,PDWORD);
-BOOL WINAPI EnumDependentServicesW(SC_HANDLE,DWORD,LPENUM_SERVICE_STATUSW,DWORD,PDWORD,PDWORD);
-BOOL WINAPI EnumServicesStatusA(SC_HANDLE,DWORD,DWORD,LPENUM_SERVICE_STATUSA,DWORD,PDWORD,PDWORD,PDWORD);
-BOOL WINAPI EnumServicesStatusW(SC_HANDLE,DWORD,DWORD,LPENUM_SERVICE_STATUSW,DWORD,PDWORD,PDWORD,PDWORD);
-BOOL WINAPI EnumServicesStatusExA(SC_HANDLE,SC_ENUM_TYPE,DWORD,DWORD,LPBYTE,DWORD,LPDWORD,LPDWORD,LPDWORD,LPCSTR);
-BOOL WINAPI EnumServicesStatusExW(SC_HANDLE,SC_ENUM_TYPE,DWORD,DWORD,LPBYTE,DWORD,LPDWORD,LPDWORD,LPDWORD,LPCWSTR);
-BOOL WINAPI GetServiceDisplayNameA(SC_HANDLE,LPCSTR,LPSTR,PDWORD);
-BOOL WINAPI GetServiceDisplayNameW(SC_HANDLE,LPCWSTR,LPWSTR,PDWORD);
-BOOL WINAPI GetServiceKeyNameA(SC_HANDLE,LPCSTR,LPSTR,PDWORD);
-BOOL WINAPI GetServiceKeyNameW(SC_HANDLE,LPCWSTR,LPWSTR,PDWORD);
-SC_LOCK WINAPI LockServiceDatabase(SC_HANDLE);
-BOOL WINAPI NotifyBootConfigStatus(BOOL);
-SC_HANDLE WINAPI OpenSCManagerA(LPCSTR,LPCSTR,DWORD);
-SC_HANDLE WINAPI OpenSCManagerW(LPCWSTR,LPCWSTR,DWORD);
-SC_HANDLE WINAPI OpenServiceA(SC_HANDLE,LPCSTR,DWORD);
-SC_HANDLE WINAPI OpenServiceW(SC_HANDLE,LPCWSTR,DWORD);
-BOOL WINAPI QueryServiceConfigA(SC_HANDLE,LPQUERY_SERVICE_CONFIGA,DWORD,PDWORD);
-BOOL WINAPI QueryServiceConfigW(SC_HANDLE,LPQUERY_SERVICE_CONFIGW,DWORD,PDWORD);
-BOOL WINAPI QueryServiceConfig2A(SC_HANDLE,DWORD,LPBYTE,DWORD,LPDWORD);
-BOOL WINAPI QueryServiceConfig2W(SC_HANDLE,DWORD,LPBYTE,DWORD,LPDWORD);
-BOOL WINAPI QueryServiceLockStatusA(SC_HANDLE,LPQUERY_SERVICE_LOCK_STATUSA,DWORD,PDWORD);
-BOOL WINAPI QueryServiceLockStatusW(SC_HANDLE,LPQUERY_SERVICE_LOCK_STATUSW,DWORD,PDWORD);
-BOOL WINAPI QueryServiceObjectSecurity(SC_HANDLE,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR,DWORD,LPDWORD);
-BOOL WINAPI QueryServiceStatus(SC_HANDLE,LPSERVICE_STATUS);
-BOOL WINAPI QueryServiceStatusEx(SC_HANDLE,SC_STATUS_TYPE,LPBYTE,DWORD,LPDWORD);
-SERVICE_STATUS_HANDLE WINAPI RegisterServiceCtrlHandlerA(LPCSTR,LPHANDLER_FUNCTION);
-SERVICE_STATUS_HANDLE WINAPI RegisterServiceCtrlHandlerW(LPCWSTR,LPHANDLER_FUNCTION);
-SERVICE_STATUS_HANDLE WINAPI RegisterServiceCtrlHandlerExA(LPCSTR,LPHANDLER_FUNCTION_EX,LPVOID);
-SERVICE_STATUS_HANDLE WINAPI RegisterServiceCtrlHandlerExW(LPCWSTR,LPHANDLER_FUNCTION_EX,LPVOID);
-BOOL WINAPI SetServiceObjectSecurity(SC_HANDLE,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR);
-BOOL WINAPI SetServiceStatus(SERVICE_STATUS_HANDLE,LPSERVICE_STATUS);
-BOOL WINAPI StartServiceA(SC_HANDLE,DWORD,LPCSTR*);
-BOOL WINAPI StartServiceCtrlDispatcherA(LPSERVICE_TABLE_ENTRYA);
-BOOL WINAPI StartServiceCtrlDispatcherW(LPSERVICE_TABLE_ENTRYW);
-BOOL WINAPI StartServiceW(SC_HANDLE,DWORD,LPCWSTR*);
-BOOL WINAPI UnlockServiceDatabase(SC_LOCK);
-
-#ifdef UNICODE
-typedef ENUM_SERVICE_STATUSW ENUM_SERVICE_STATUS,*LPENUM_SERVICE_STATUS;
-typedef ENUM_SERVICE_STATUS_PROCESSW ENUM_SERVICE_STATUS_PROCESS;
-typedef LPENUM_SERVICE_STATUS_PROCESSW LPENUM_SERVICE_STATUS_PROCESS;
-typedef QUERY_SERVICE_CONFIGW QUERY_SERVICE_CONFIG,*LPQUERY_SERVICE_CONFIG;
-typedef QUERY_SERVICE_LOCK_STATUSW QUERY_SERVICE_LOCK_STATUS,*LPQUERY_SERVICE_LOCK_STATUS;
-typedef SERVICE_TABLE_ENTRYW SERVICE_TABLE_ENTRY,*LPSERVICE_TABLE_ENTRY;
-typedef LPSERVICE_MAIN_FUNCTIONW LPSERVICE_MAIN_FUNCTION;
-typedef SERVICE_DESCRIPTIONW SERVICE_DESCRIPTION;
-typedef LPSERVICE_DESCRIPTIONW LPSERVICE_DESCRIPTION;
-typedef SERVICE_FAILURE_ACTIONSW SERVICE_FAILURE_ACTIONS;
-typedef LPSERVICE_FAILURE_ACTIONSW LPSERVICE_FAILURE_ACTIONS;
-#define SERVICES_ACTIVE_DATABASE SERVICES_ACTIVE_DATABASEW
-#define SERVICES_FAILED_DATABASE SERVICES_FAILED_DATABASEW
-#define SC_GROUP_IDENTIFIER SC_GROUP_IDENTIFIERW
-#define ChangeServiceConfig ChangeServiceConfigW
-#define ChangeServiceConfig2 ChangeServiceConfig2W
-#define CreateService CreateServiceW
-#define EnumDependentServices EnumDependentServicesW
-#define EnumServicesStatus EnumServicesStatusW
-#define EnumServicesStatusEx EnumServicesStatusExW
-#define GetServiceDisplayName GetServiceDisplayNameW
-#define GetServiceKeyName GetServiceKeyNameW
-#define OpenSCManager OpenSCManagerW
-#define OpenService OpenServiceW
-#define QueryServiceConfig QueryServiceConfigW
-#define QueryServiceConfig2 QueryServiceConfig2W
-#define QueryServiceLockStatus QueryServiceLockStatusW
-#define RegisterServiceCtrlHandler RegisterServiceCtrlHandlerW
-#define RegisterServiceCtrlHandlerEx RegisterServiceCtrlHandlerExW
-#define StartService StartServiceW
-#define StartServiceCtrlDispatcher StartServiceCtrlDispatcherW
-#else
-typedef ENUM_SERVICE_STATUSA ENUM_SERVICE_STATUS,*LPENUM_SERVICE_STATUS;
-typedef ENUM_SERVICE_STATUS_PROCESSA ENUM_SERVICE_STATUS_PROCESS;
-typedef LPENUM_SERVICE_STATUS_PROCESSA LPENUM_SERVICE_STATUS_PROCESS;
-typedef QUERY_SERVICE_CONFIGA QUERY_SERVICE_CONFIG,*LPQUERY_SERVICE_CONFIG;
-typedef QUERY_SERVICE_LOCK_STATUSA QUERY_SERVICE_LOCK_STATUS,*LPQUERY_SERVICE_LOCK_STATUS;
-typedef SERVICE_TABLE_ENTRYA SERVICE_TABLE_ENTRY,*LPSERVICE_TABLE_ENTRY;
-typedef LPSERVICE_MAIN_FUNCTIONA LPSERVICE_MAIN_FUNCTION;
-typedef SERVICE_DESCRIPTIONA SERVICE_DESCRIPTION;
-typedef LPSERVICE_DESCRIPTIONA LPSERVICE_DESCRIPTION;
-typedef SERVICE_FAILURE_ACTIONSA SERVICE_FAILURE_ACTIONS;
-typedef LPSERVICE_FAILURE_ACTIONSA LPSERVICE_FAILURE_ACTIONS;
-#define SERVICES_ACTIVE_DATABASE SERVICES_ACTIVE_DATABASEA
-#define SERVICES_FAILED_DATABASE SERVICES_FAILED_DATABASEA
-#define SC_GROUP_IDENTIFIER SC_GROUP_IDENTIFIERA
-#define ChangeServiceConfig ChangeServiceConfigA
-#define ChangeServiceConfig2 ChangeServiceConfig2A
-#define CreateService CreateServiceA
-#define EnumDependentServices EnumDependentServicesA
-#define EnumServicesStatus EnumServicesStatusA
-#define EnumServicesStatusEx EnumServicesStatusExA
-#define GetServiceDisplayName GetServiceDisplayNameA
-#define GetServiceKeyName GetServiceKeyNameA
-#define OpenSCManager OpenSCManagerA
-#define OpenService OpenServiceA
-#define QueryServiceConfig QueryServiceConfigA
-#define QueryServiceConfig2 QueryServiceConfig2A
-#define QueryServiceLockStatus QueryServiceLockStatusA
-#define RegisterServiceCtrlHandler RegisterServiceCtrlHandlerA
-#define RegisterServiceCtrlHandlerEx RegisterServiceCtrlHandlerExA
-#define StartService StartServiceA
-#define StartServiceCtrlDispatcher StartServiceCtrlDispatcherA
-#endif
-#ifdef __cplusplus
-}
-#endif
-#endif /* _WINSVC_H */
diff --git a/winsup/w32api/include/winuser.h b/winsup/w32api/include/winuser.h
deleted file mode 100644
index 70db1eb8d..000000000
--- a/winsup/w32api/include/winuser.h
+++ /dev/null
@@ -1,4270 +0,0 @@
-#ifndef _WINUSER_H
-#define _WINUSER_H
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#ifndef WINUSERAPI
-#ifdef __W32API_USE_DLLIMPORT__
-#define WINUSERAPI DECLSPEC_IMPORT
-#else
-#define WINUSERAPI
-#endif
-#endif
-
-#define WC_DIALOG MAKEINTATOM(0x8002)
-#define FALT 16
-#define FCONTROL 8
-#define FNOINVERT 2
-#define FSHIFT 4
-#define FVIRTKEY 1
-#define ATF_TIMEOUTON 1
-#define ATF_ONOFFFEEDBACK 2
-#define ATF_AVAILABLE 4 /* May be obsolete. Not in recent MS docs. */
-#define WH_MIN (-1)
-#define WH_MSGFILTER (-1)
-#define WH_JOURNALRECORD 0
-#define WH_JOURNALPLAYBACK 1
-#define WH_KEYBOARD 2
-#define WH_GETMESSAGE 3
-#define WH_CALLWNDPROC 4
-#define WH_CBT 5
-#define WH_SYSMSGFILTER 6
-#define WH_MOUSE 7
-#define WH_HARDWARE 8
-#define WH_DEBUG 9
-#define WH_SHELL 10
-#define WH_FOREGROUNDIDLE 11
-#define WH_CALLWNDPROCRET 12
-#define WH_KEYBOARD_LL 13
-#define WH_MOUSE_LL 14
-#define WH_MAX 14
-#define WH_MINHOOK WH_MIN
-#define WH_MAXHOOK WH_MAX
-#define HC_ACTION 0
-#define HC_GETNEXT 1
-#define HC_SKIP 2
-#define HC_NOREMOVE 3
-#define HC_NOREM 3
-#define HC_SYSMODALON 4
-#define HC_SYSMODALOFF 5
-#define HCBT_MOVESIZE 0
-#define HCBT_MINMAX 1
-#define HCBT_QS 2
-#define HCBT_CREATEWND 3
-#define HCBT_DESTROYWND 4
-#define HCBT_ACTIVATE 5
-#define HCBT_CLICKSKIPPED 6
-#define HCBT_KEYSKIPPED 7
-#define HCBT_SYSCOMMAND 8
-#define HCBT_SETFOCUS 9
-#define CF_TEXT 1
-#define CF_BITMAP 2
-#define CF_METAFILEPICT 3
-#define CF_SYLK 4
-#define CF_DIF 5
-#define CF_TIFF 6
-#define CF_OEMTEXT 7
-#define CF_DIB 8
-#define CF_PALETTE 9
-#define CF_PENDATA 10
-#define CF_RIFF 11
-#define CF_WAVE 12
-#define CF_UNICODETEXT 13
-#define CF_ENHMETAFILE 14
-#define CF_HDROP 15
-#define CF_LOCALE 16
-#define CF_MAX 17
-#define CF_OWNERDISPLAY 128
-#define CF_DSPTEXT 129
-#define CF_DSPBITMAP 130
-#define CF_DSPMETAFILEPICT 131
-#define CF_DSPENHMETAFILE 142
-#define CF_PRIVATEFIRST 512
-#define CF_PRIVATELAST 767
-#define CF_GDIOBJFIRST 768
-#define CF_GDIOBJLAST 1023
-#define HKL_NEXT 1
-#define HKL_PREV 0
-#define KLF_ACTIVATE 1
-#define KLF_SUBSTITUTE_OK 2
-#define KLF_UNLOADPREVIOUS 4
-#define KLF_REORDER 8
-#define KLF_REPLACELANG 16
-#define KLF_NOTELLSHELL 128
-#define KLF_SETFORPROCESS 256
-#define KL_NAMELENGTH 9
-#define MF_ENABLED 0
-#define MF_GRAYED 1
-#define MF_DISABLED 2
-#define MF_BITMAP 4
-#define MF_CHECKED 8
-#define MF_MENUBARBREAK 32
-#define MF_MENUBREAK 64
-#define MF_OWNERDRAW 256
-#define MF_POPUP 16
-#define MF_SEPARATOR 0x800
-#define MF_STRING 0
-#define MF_UNCHECKED 0
-#define MF_DEFAULT 4096
-#define MF_SYSMENU 0x2000
-#define MF_HELP 0x4000
-#define MF_END 128
-#define MF_RIGHTJUSTIFY 0x4000
-#define MF_MOUSESELECT 0x8000
-#define MF_INSERT 0
-#define MF_CHANGE 128
-#define MF_APPEND 256
-#define MF_DELETE 512
-#define MF_REMOVE 4096
-#define MF_USECHECKBITMAPS 512
-#define MF_UNHILITE 0
-#define MF_HILITE 128
-
-/* Also defined in dbt.h */
-#define BSM_ALLCOMPONENTS 0
-#define BSM_APPLICATIONS 8
-#define BSM_ALLDESKTOPS 16
-#define BSM_INSTALLABLEDRIVERS 4
-#define BSM_NETDRIVER 2
-#define BSM_VXDS 1
-#define BSF_FLUSHDISK 0x00000004
-#define BSF_FORCEIFHUNG 0x00000020
-#define BSF_IGNORECURRENTTASK 0x00000002
-#define BSF_NOHANG 0x00000008
-#define BSF_NOTIMEOUTIFNOTHUNG 0x00000040
-#define BSF_POSTMESSAGE 0x00000010
-#define BSF_QUERY 0x00000001
-#if (_WIN32_WINNT >= 0x0500)
-#define BSF_ALLOWSFW 0x00000080
-#define BSF_SENDNOTIFYMESSAGE 0x00000100
-#endif /* (_WIN32_WINNT >= 0x0500) */
-#if (_WIN32_WINNT >= 0x0501)
-#define BSF_LUID 0x00000400
-#define BSF_RETURNHDESK 0x00000200
-#endif /* (_WIN32_WINNT >= 0x0501) */
-
-#define BROADCAST_QUERY_DENY 1112363332
-#define ENUM_CURRENT_SETTINGS ((DWORD)-1)
-#define ENUM_REGISTRY_SETTINGS ((DWORD)-2)
-#define DM_BITSPERPEL 0x40000
-#define DM_PELSWIDTH 0x80000
-#define DM_PELSHEIGHT 0x100000
-#define DM_DISPLAYFLAGS 0x200000
-#define DM_DISPLAYFREQUENCY 0x400000
-#define CDS_UPDATEREGISTRY 1
-#define CDS_TEST 2
-#define CDS_FULLSCREEN 4
-#define CDS_GLOBAL 8
-#define CDS_SET_PRIMARY 16
-#define CDS_RESET 0x40000000
-#define CDS_SETRECT 0x20000000
-#define CDS_NORESET 0x10000000
-#define DISP_CHANGE_SUCCESSFUL 0
-#define DISP_CHANGE_RESTART 1
-#define DISP_CHANGE_BADFLAGS (-4)
-#define DISP_CHANGE_BADPARAM (-5)
-#define DISP_CHANGE_FAILED (-1)
-#define DISP_CHANGE_BADMODE (-2)
-#define DISP_CHANGE_NOTUPDATED (-3)
-#define BST_CHECKED 1
-#define BST_INDETERMINATE 2
-#define BST_UNCHECKED 0
-#define BST_FOCUS 8
-#define BST_PUSHED 4
-#define MF_BYCOMMAND 0
-#define MF_BYPOSITION 1024
-#define MF_UNCHECKED 0
-#define MF_HILITE 128
-#define MF_UNHILITE 0
-#define CWP_ALL 0
-#define CWP_SKIPINVISIBLE 1
-#define CWP_SKIPDISABLED 2
-#define CWP_SKIPTRANSPARENT 4
-#define IMAGE_BITMAP 0
-#define IMAGE_ICON 1
-#define IMAGE_CURSOR 2
-#define IMAGE_ENHMETAFILE 3
-#define DF_ALLOWOTHERACCOUNTHOOK 1
-#define DESKTOP_CREATEMENU 4
-#define DESKTOP_CREATEWINDOW 2
-#define DESKTOP_ENUMERATE 64
-#define DESKTOP_HOOKCONTROL 8
-#define DESKTOP_JOURNALPLAYBACK 32
-#define DESKTOP_JOURNALRECORD 16
-#define DESKTOP_READOBJECTS 1
-#define DESKTOP_SWITCHDESKTOP 256
-#define DESKTOP_WRITEOBJECTS 128
-#define CW_USEDEFAULT 0x80000000
-#define WS_BORDER 0x800000
-#define WS_CAPTION 0xc00000
-#define WS_CHILD 0x40000000
-#define WS_CHILDWINDOW 0x40000000
-#define WS_CLIPCHILDREN 0x2000000
-#define WS_CLIPSIBLINGS 0x4000000
-#define WS_DISABLED 0x8000000
-#define WS_DLGFRAME 0x400000
-#define WS_GROUP 0x20000
-#define WS_HSCROLL 0x100000
-#define WS_ICONIC 0x20000000
-#define WS_MAXIMIZE 0x1000000
-#define WS_MAXIMIZEBOX 0x10000
-#define WS_MINIMIZE 0x20000000
-#define WS_MINIMIZEBOX 0x20000
-#define WS_OVERLAPPED 0
-#define WS_OVERLAPPEDWINDOW 0xcf0000
-#define WS_POPUP 0x80000000
-#define WS_POPUPWINDOW 0x80880000
-#define WS_SIZEBOX 0x40000
-#define WS_SYSMENU 0x80000
-#define WS_TABSTOP 0x10000
-#define WS_THICKFRAME 0x40000
-#define WS_TILED 0
-#define WS_TILEDWINDOW 0xcf0000
-#define WS_VISIBLE 0x10000000
-#define WS_VSCROLL 0x200000
-#define MDIS_ALLCHILDSTYLES 1
-#define BS_3STATE 5
-#define BS_AUTO3STATE 6
-#define BS_AUTOCHECKBOX 3
-#define BS_AUTORADIOBUTTON 9
-#define BS_BITMAP 128
-#define BS_BOTTOM 0x800
-#define BS_CENTER 0x300
-#define BS_CHECKBOX 2
-#define BS_DEFPUSHBUTTON 1
-#define BS_GROUPBOX 7
-#define BS_ICON 64
-#define BS_LEFT 256
-#define BS_LEFTTEXT 32
-#define BS_MULTILINE 0x2000
-#define BS_NOTIFY 0x4000
-#define BS_OWNERDRAW 0xb
-#define BS_PUSHBUTTON 0
-#define BS_PUSHLIKE 4096
-#define BS_RADIOBUTTON 4
-#define BS_RIGHT 512
-#define BS_RIGHTBUTTON 32
-#define BS_TEXT 0
-#define BS_TOP 0x400
-#define BS_USERBUTTON 8
-#define BS_VCENTER 0xc00
-#define BS_FLAT 0x8000
-#define CBS_AUTOHSCROLL 64
-#define CBS_DISABLENOSCROLL 0x800
-#define CBS_DROPDOWN 2
-#define CBS_DROPDOWNLIST 3
-#define CBS_HASSTRINGS 512
-#define CBS_LOWERCASE 0x4000
-#define CBS_NOINTEGRALHEIGHT 0x400
-#define CBS_OEMCONVERT 128
-#define CBS_OWNERDRAWFIXED 16
-#define CBS_OWNERDRAWVARIABLE 32
-#define CBS_SIMPLE 1
-#define CBS_SORT 256
-#define CBS_UPPERCASE 0x2000
-#define ES_AUTOHSCROLL 128
-#define ES_AUTOVSCROLL 64
-#define ES_CENTER 1
-#define ES_LEFT 0
-#define ES_LOWERCASE 16
-#define ES_MULTILINE 4
-#define ES_NOHIDESEL 256
-#define ES_NUMBER 0x2000
-#define ES_OEMCONVERT 0x400
-#define ES_PASSWORD 32
-#define ES_READONLY 0x800
-#define ES_RIGHT 2
-#define ES_UPPERCASE 8
-#define ES_WANTRETURN 4096
-#define LBS_DISABLENOSCROLL 4096
-#define LBS_EXTENDEDSEL 0x800
-#define LBS_HASSTRINGS 64
-#define LBS_MULTICOLUMN 512
-#define LBS_MULTIPLESEL 8
-#define LBS_NODATA 0x2000
-#define LBS_NOINTEGRALHEIGHT 256
-#define LBS_NOREDRAW 4
-#define LBS_NOSEL 0x4000
-#define LBS_NOTIFY 1
-#define LBS_OWNERDRAWFIXED 16
-#define LBS_OWNERDRAWVARIABLE 32
-#define LBS_SORT 2
-#define LBS_STANDARD 0xa00003
-#define LBS_USETABSTOPS 128
-#define LBS_WANTKEYBOARDINPUT 0x400
-#define SBS_BOTTOMALIGN 4
-#define SBS_HORZ 0
-#define SBS_LEFTALIGN 2
-#define SBS_RIGHTALIGN 4
-#define SBS_SIZEBOX 8
-#define SBS_SIZEBOXBOTTOMRIGHTALIGN 4
-#define SBS_SIZEBOXTOPLEFTALIGN 2
-#define SBS_SIZEGRIP 16
-#define SBS_TOPALIGN 2
-#define SBS_VERT 1
-#define SS_BITMAP 14
-#define SS_BLACKFRAME 7
-#define SS_BLACKRECT 4
-#define SS_CENTER 1
-#define SS_CENTERIMAGE 512
-#define SS_ENHMETAFILE 15
-#define SS_ETCHEDFRAME 18
-#define SS_ETCHEDHORZ 16
-#define SS_ETCHEDVERT 17
-#define SS_GRAYFRAME 8
-#define SS_GRAYRECT 5
-#define SS_ICON 3
-#define SS_LEFT 0
-#define SS_LEFTNOWORDWRAP 0xc
-#define SS_NOPREFIX 128
-#define SS_NOTIFY 256
-#define SS_OWNERDRAW 0xd
-#define SS_REALSIZEIMAGE 0x800
-#define SS_RIGHT 2
-#define SS_RIGHTJUST 0x400
-#define SS_SIMPLE 11
-#define SS_SUNKEN 4096
-#define SS_WHITEFRAME 9
-#define SS_WHITERECT 6
-#define SS_USERITEM 10
-#define SS_TYPEMASK 0x0000001FL
-#define SS_ENDELLIPSIS 0x00004000L
-#define SS_PATHELLIPSIS 0x00008000L
-#define SS_WORDELLIPSIS 0x0000C000L
-#define SS_ELLIPSISMASK 0x0000C000L
-#define DS_3DLOOK 4
-#define DS_ABSALIGN 1
-#define DS_CENTER 0x800
-#define DS_CENTERMOUSE 4096
-#define DS_CONTEXTHELP 0x2000
-#define DS_CONTROL 0x400
-#define DS_FIXEDSYS 8
-#define DS_LOCALEDIT 32
-#define DS_MODALFRAME 128
-#define DS_NOFAILCREATE 16
-#define DS_NOIDLEMSG 256
-#define DS_SETFONT 64
-#define DS_SETFOREGROUND 512
-#define DS_SYSMODAL 2
-#define DS_SHELLFONT (DS_SETFONT | DS_FIXEDSYS)
-#define WS_EX_ACCEPTFILES 16
-#define WS_EX_APPWINDOW 0x40000
-#define WS_EX_CLIENTEDGE 512
-#define WS_EX_COMPOSITED 0x2000000 /* XP */
-#define WS_EX_CONTEXTHELP 0x400
-#define WS_EX_CONTROLPARENT 0x10000
-#define WS_EX_DLGMODALFRAME 1
-#define WS_EX_LAYERED 0x80000 /* w2k */
-#define WS_EX_LAYOUTRTL 0x400000 /* w98, w2k */
-#define WS_EX_LEFT 0
-#define WS_EX_LEFTSCROLLBAR 0x4000
-#define WS_EX_LTRREADING 0
-#define WS_EX_MDICHILD 64
-#define WS_EX_NOACTIVATE 0x8000000 /* w2k */
-#define WS_EX_NOINHERITLAYOUT 0x100000 /* w2k */
-#define WS_EX_NOPARENTNOTIFY 4
-#define WS_EX_OVERLAPPEDWINDOW 0x300
-#define WS_EX_PALETTEWINDOW 0x188
-#define WS_EX_RIGHT 0x1000
-#define WS_EX_RIGHTSCROLLBAR 0
-#define WS_EX_RTLREADING 0x2000
-#define WS_EX_STATICEDGE 0x20000
-#define WS_EX_TOOLWINDOW 128
-#define WS_EX_TOPMOST 8
-#define WS_EX_TRANSPARENT 32
-#define WS_EX_WINDOWEDGE 256
-#define WINSTA_ACCESSCLIPBOARD 4
-#define WINSTA_ACCESSGLOBALATOMS 32
-#define WINSTA_CREATEDESKTOP 8
-#define WINSTA_ENUMDESKTOPS 1
-#define WINSTA_ENUMERATE 256
-#define WINSTA_EXITWINDOWS 64
-#define WINSTA_READATTRIBUTES 2
-#define WINSTA_READSCREEN 512
-#define WINSTA_WRITEATTRIBUTES 16
-#define DDL_READWRITE 0
-#define DDL_READONLY 1
-#define DDL_HIDDEN 2
-#define DDL_SYSTEM 4
-#define DDL_DIRECTORY 16
-#define DDL_ARCHIVE 32
-#define DDL_POSTMSGS 8192
-#define DDL_DRIVES 16384
-#define DDL_EXCLUSIVE 32768
-#define DC_ACTIVE 0x00000001
-#define DC_SMALLCAP 0x00000002
-#define DC_ICON 0x00000004
-#define DC_TEXT 0x00000008
-#define DC_INBUTTON 0x00000010
-#if (_WIN32_WINDOWS >= 0x0410 || _WIN32_WINNT >= 0x0500)
-#define DC_GRADIENT 0x00000020
-#endif
-#if (_WIN32_WINNT >= 0x0501)
-#define DC_BUTTONS 0x00001000
-#endif
-/* Where are these documented? */
-#define DC_CAPTION (DC_ICON|DC_TEXT|DC_BUTTONS)
-#define DC_NC (DC_CAPTION|DC_FRAME)
-
-#define BDR_RAISEDOUTER 1
-#define BDR_SUNKENOUTER 2
-#define BDR_RAISEDINNER 4
-#define BDR_SUNKENINNER 8
-#define BDR_OUTER 3
-#define BDR_INNER 0xc
-#define BDR_RAISED 5
-#define BDR_SUNKEN 10
-#define EDGE_RAISED (BDR_RAISEDOUTER|BDR_RAISEDINNER)
-#define EDGE_SUNKEN (BDR_SUNKENOUTER|BDR_SUNKENINNER)
-#define EDGE_ETCHED (BDR_SUNKENOUTER|BDR_RAISEDINNER)
-#define EDGE_BUMP (BDR_RAISEDOUTER|BDR_SUNKENINNER)
-#define BF_LEFT 1
-#define BF_TOP 2
-#define BF_RIGHT 4
-#define BF_BOTTOM 8
-#define BF_TOPLEFT (BF_TOP|BF_LEFT)
-#define BF_TOPRIGHT (BF_TOP|BF_RIGHT)
-#define BF_BOTTOMLEFT (BF_BOTTOM|BF_LEFT)
-#define BF_BOTTOMRIGHT (BF_BOTTOM|BF_RIGHT)
-#define BF_RECT (BF_LEFT|BF_TOP|BF_RIGHT|BF_BOTTOM)
-#define BF_DIAGONAL 16
-#define BF_DIAGONAL_ENDTOPRIGHT (BF_DIAGONAL|BF_TOP|BF_RIGHT)
-#define BF_DIAGONAL_ENDTOPLEFT (BF_DIAGONAL|BF_TOP|BF_LEFT)
-#define BF_DIAGONAL_ENDBOTTOMLEFT (BF_DIAGONAL|BF_BOTTOM|BF_LEFT)
-#define BF_DIAGONAL_ENDBOTTOMRIGHT (BF_DIAGONAL|BF_BOTTOM|BF_RIGHT)
-#define BF_MIDDLE 0x800
-#define BF_SOFT 0x1000
-#define BF_ADJUST 0x2000
-#define BF_FLAT 0x4000
-#define BF_MONO 0x8000
-#define DFC_CAPTION 1
-#define DFC_MENU 2
-#define DFC_SCROLL 3
-#define DFC_BUTTON 4
-#if (WINVER >= 0x0500)
-#define DFC_POPUPMENU 5
-#endif /* WINVER >= 0x0500 */
-#define DFCS_CAPTIONCLOSE 0
-#define DFCS_CAPTIONMIN 1
-#define DFCS_CAPTIONMAX 2
-#define DFCS_CAPTIONRESTORE 3
-#define DFCS_CAPTIONHELP 4
-#define DFCS_MENUARROW 0
-#define DFCS_MENUCHECK 1
-#define DFCS_MENUBULLET 2
-#define DFCS_MENUARROWRIGHT 4
-#define DFCS_SCROLLUP 0
-#define DFCS_SCROLLDOWN 1
-#define DFCS_SCROLLLEFT 2
-#define DFCS_SCROLLRIGHT 3
-#define DFCS_SCROLLCOMBOBOX 5
-#define DFCS_SCROLLSIZEGRIP 8
-#define DFCS_SCROLLSIZEGRIPRIGHT 16
-#define DFCS_BUTTONCHECK 0
-#define DFCS_BUTTONRADIOIMAGE 1
-#define DFCS_BUTTONRADIOMASK 2
-#define DFCS_BUTTONRADIO 4
-#define DFCS_BUTTON3STATE 8
-#define DFCS_BUTTONPUSH 16
-#define DFCS_INACTIVE 256
-#define DFCS_PUSHED 512
-#define DFCS_CHECKED 1024
-#if (WINVER >= 0x0500)
-#define DFCS_TRANSPARENT 0x800
-#define DFCS_HOT 0x1000
-#endif
-#define DFCS_ADJUSTRECT 0x2000
-#define DFCS_FLAT 0x4000
-#define DFCS_MONO 0x8000
-#define DST_COMPLEX 0
-#define DST_TEXT 1
-#define DST_PREFIXTEXT 2
-#define DST_ICON 3
-#define DST_BITMAP 4
-#define DSS_NORMAL 0
-#define DSS_UNION 16
-#define DSS_DISABLED 32
-#define DSS_MONO 128
-#define DSS_RIGHT 0x8000
-#define DT_BOTTOM 8
-#define DT_CALCRECT 1024
-#define DT_CENTER 1
-#define DT_EDITCONTROL 8192
-#define DT_END_ELLIPSIS 32768
-#define DT_PATH_ELLIPSIS 16384
-#define DT_WORD_ELLIPSIS 0x40000
-#define DT_EXPANDTABS 64
-#define DT_EXTERNALLEADING 512
-#define DT_LEFT 0
-#define DT_MODIFYSTRING 65536
-#define DT_NOCLIP 256
-#define DT_NOPREFIX 2048
-#define DT_RIGHT 2
-#define DT_RTLREADING 131072
-#define DT_SINGLELINE 32
-#define DT_TABSTOP 128
-#define DT_TOP 0
-#define DT_VCENTER 4
-#define DT_WORDBREAK 16
-#define DT_INTERNAL 4096
-#define WB_ISDELIMITER 2
-#define WB_LEFT 0
-#define WB_RIGHT 1
-#define SB_HORZ 0
-#define SB_VERT 1
-#define SB_CTL 2
-#define SB_BOTH 3
-#define ESB_DISABLE_BOTH 3
-#define ESB_DISABLE_DOWN 2
-#define ESB_DISABLE_LEFT 1
-#define ESB_DISABLE_LTUP 1
-#define ESB_DISABLE_RIGHT 2
-#define ESB_DISABLE_RTDN 2
-#define ESB_DISABLE_UP 1
-#define ESB_ENABLE_BOTH 0
-#define SB_LINEUP 0
-#define SB_LINEDOWN 1
-#define SB_LINELEFT 0
-#define SB_LINERIGHT 1
-#define SB_PAGEUP 2
-#define SB_PAGEDOWN 3
-#define SB_PAGELEFT 2
-#define SB_PAGERIGHT 3
-#define SB_THUMBPOSITION 4
-#define SB_THUMBTRACK 5
-#define SB_ENDSCROLL 8
-#define SB_LEFT 6
-#define SB_RIGHT 7
-#define SB_BOTTOM 7
-#define SB_TOP 6
-#define IS_INTRESOURCE(i) (((ULONG_PTR)(i) >> 16) == 0)
-#define MAKEINTRESOURCEA(i) (LPSTR)((DWORD)((WORD)(i)))
-#define MAKEINTRESOURCEW(i) (LPWSTR)((DWORD)((WORD)(i)))
-#ifndef XFree86Server
-# define RT_CURSOR MAKEINTRESOURCE(1)
-# define RT_FONT MAKEINTRESOURCE(8)
-#endif /* ndef XFree86Server */
-#define RT_BITMAP MAKEINTRESOURCE(2)
-#define RT_ICON MAKEINTRESOURCE(3)
-#define RT_MENU MAKEINTRESOURCE(4)
-#define RT_DIALOG MAKEINTRESOURCE(5)
-#define RT_STRING MAKEINTRESOURCE(6)
-#define RT_FONTDIR MAKEINTRESOURCE(7)
-#define RT_ACCELERATOR MAKEINTRESOURCE(9)
-#define RT_RCDATA MAKEINTRESOURCE(10)
-#define RT_MESSAGETABLE MAKEINTRESOURCE(11)
-#define DIFFERENCE 11
-#define RT_GROUP_CURSOR MAKEINTRESOURCE((DWORD)RT_CURSOR+DIFFERENCE)
-#define RT_GROUP_ICON MAKEINTRESOURCE((DWORD)RT_ICON+DIFFERENCE)
-#define RT_VERSION MAKEINTRESOURCE(16)
-#define RT_DLGINCLUDE MAKEINTRESOURCE(17)
-#define RT_PLUGPLAY MAKEINTRESOURCE(19)
-#define RT_VXD MAKEINTRESOURCE(20)
-#define RT_ANICURSOR MAKEINTRESOURCE(21)
-#define RT_ANIICON MAKEINTRESOURCE(22)
-#define RT_HTML MAKEINTRESOURCE(23)
-#ifndef RC_INVOKED
-#define RT_MANIFEST MAKEINTRESOURCE(24)
-#define CREATEPROCESS_MANIFEST_RESOURCE_ID MAKEINTRESOURCE(1)
-#define ISOLATIONAWARE_MANIFEST_RESOURCE_ID MAKEINTRESOURCE(2)
-#define ISOLATIONAWARE_NOSTATICIMPORT_MANIFEST_RESOURCE_ID MAKEINTRESOURCE(3)
-#else
-#define RT_MANIFEST 24
-#define CREATEPROCESS_MANIFEST_RESOURCE_ID 1
-#define ISOLATIONAWARE_MANIFEST_RESOURCE_ID 2
-#define ISOLATIONAWARE_NOSTATICIMPORT_MANIFEST_RESOURCE_ID 3
-#endif
-#define EWX_FORCE 4
-#define EWX_LOGOFF 0
-#define EWX_POWEROFF 8
-#define EWX_REBOOT 2
-#define EWX_SHUTDOWN 1
-#if (_WIN32_WINNT >= 0x0500)
-#define EWX_FORCEIFHUNG 16
-#endif
-#define CS_BYTEALIGNCLIENT 4096
-#define CS_BYTEALIGNWINDOW 8192
-#define CS_KEYCVTWINDOW 4
-#define CS_NOKEYCVT 256
-#define CS_CLASSDC 64
-#define CS_DBLCLKS 8
-#define CS_GLOBALCLASS 16384
-#define CS_HREDRAW 2
-#define CS_NOCLOSE 512
-#define CS_OWNDC 32
-#define CS_PARENTDC 128
-#define CS_SAVEBITS 2048
-#define CS_VREDRAW 1
-#define CS_IME 0x10000
-#define GCW_ATOM (-32)
-#define GCL_CBCLSEXTRA (-20)
-#define GCL_CBWNDEXTRA (-18)
-#define GCL_HBRBACKGROUND (-10)
-#define GCL_HCURSOR (-12)
-#define GCL_HICON (-14)
-#define GCL_HICONSM (-34)
-#define GCL_HMODULE (-16)
-#define GCL_MENUNAME (-8)
-#define GCL_STYLE (-26)
-#define GCL_WNDPROC (-24)
-#define GCLP_MENUNAME (-8)
-#define GCLP_HBRBACKGROUND (-10)
-#define GCLP_HCURSOR (-12)
-#define GCLP_HICON (-14)
-#define GCLP_HMODULE (-16)
-#define GCLP_WNDPROC (-24)
-#define GCLP_HICONSM (-34)
-#if 0
- /* This is supposed to be defined by the program using it not defined
- in the w32api headers. I've left it here for documentation purposes.
- */
-#ifndef IDC_STATIC /* May be predefined by resource compiler. */
-#define IDC_STATIC (-1)
-#endif
-#endif
-#define IDC_ARROW MAKEINTRESOURCE(32512)
-#define IDC_IBEAM MAKEINTRESOURCE(32513)
-#define IDC_WAIT MAKEINTRESOURCE(32514)
-#define IDC_CROSS MAKEINTRESOURCE(32515)
-#define IDC_UPARROW MAKEINTRESOURCE(32516)
-#define IDC_SIZENWSE MAKEINTRESOURCE(32642)
-#define IDC_SIZENESW MAKEINTRESOURCE(32643)
-#define IDC_SIZEWE MAKEINTRESOURCE(32644)
-#define IDC_SIZENS MAKEINTRESOURCE(32645)
-#define IDC_SIZEALL MAKEINTRESOURCE(32646)
-#define IDC_NO MAKEINTRESOURCE(32648)
-#define IDC_HAND MAKEINTRESOURCE(32649)
-#define IDC_APPSTARTING MAKEINTRESOURCE(32650)
-#define IDC_HELP MAKEINTRESOURCE(32651)
-#define IDC_ICON MAKEINTRESOURCE(32641)
-#define IDC_SIZE MAKEINTRESOURCE(32640)
-#ifndef RC_INVOKED
-#define IDI_APPLICATION MAKEINTRESOURCE(32512)
-#define IDI_HAND MAKEINTRESOURCE(32513)
-#define IDI_QUESTION MAKEINTRESOURCE(32514)
-#define IDI_EXCLAMATION MAKEINTRESOURCE(32515)
-#define IDI_ASTERISK MAKEINTRESOURCE(32516)
-#define IDI_WINLOGO MAKEINTRESOURCE(32517)
-#else
-#define IDI_APPLICATION 32512
-#define IDI_HAND 32513
-#define IDI_QUESTION 32514
-#define IDI_EXCLAMATION 32515
-#define IDI_ASTERISK 32516
-#define IDI_WINLOGO 32517
-#endif
-#define IDI_WARNING IDI_EXCLAMATION
-#define IDI_ERROR IDI_HAND
-#define IDI_INFORMATION IDI_ASTERISK
-#define MIIM_STATE 1
-#define MIIM_ID 2
-#define MIIM_SUBMENU 4
-#define MIIM_CHECKMARKS 8
-#define MIIM_TYPE 16
-#define MIIM_DATA 32
-#define MIIM_STRING 64
-#define MIIM_BITMAP 128
-#define MIIM_FTYPE 256
-#if (WINVER >= 0x0500)
-#define MIM_MAXHEIGHT 1
-#define MIM_BACKGROUND 2
-#define MIM_HELPID 4
-#define MIM_MENUDATA 8
-#define MIM_STYLE 16
-#define MIM_APPLYTOSUBMENUS 0x80000000L
-#define MNS_NOCHECK 0x80000000
-#define MNS_MODELESS 0x40000000
-#define MNS_DRAGDROP 0x20000000
-#define MNS_AUTODISMISS 0x10000000
-#define MNS_NOTIFYBYPOS 0x08000000
-#define MNS_CHECKORBMP 0x04000000
-#endif
-#define MFT_BITMAP 4
-#define MFT_MENUBARBREAK 32
-#define MFT_MENUBREAK 64
-#define MFT_OWNERDRAW 256
-#define MFT_RADIOCHECK 512
-#define MFT_RIGHTJUSTIFY 0x4000
-#define MFT_SEPARATOR 0x800
-#define MFT_RIGHTORDER 0x2000L
-#define MFT_STRING 0
-#define MFS_CHECKED 8
-#define MFS_DEFAULT 4096
-#define MFS_DISABLED 3
-#define MFS_ENABLED 0
-#define MFS_GRAYED 3
-#define MFS_HILITE 128
-#define MFS_UNCHECKED 0
-#define MFS_UNHILITE 0
-#define GW_HWNDNEXT 2
-#define GW_HWNDPREV 3
-#define GW_CHILD 5
-#define GW_HWNDFIRST 0
-#define GW_HWNDLAST 1
-#define GW_OWNER 4
-#define SW_HIDE 0
-#define SW_NORMAL 1
-#define SW_SHOWNORMAL 1
-#define SW_SHOWMINIMIZED 2
-#define SW_MAXIMIZE 3
-#define SW_SHOWMAXIMIZED 3
-#define SW_SHOWNOACTIVATE 4
-#define SW_SHOW 5
-#define SW_MINIMIZE 6
-#define SW_SHOWMINNOACTIVE 7
-#define SW_SHOWNA 8
-#define SW_RESTORE 9
-#define SW_SHOWDEFAULT 10
-#define SW_FORCEMINIMIZE 11
-#define SW_MAX 11
-#define MB_USERICON 128
-#define MB_ICONASTERISK 64
-#define MB_ICONEXCLAMATION 0x30
-#define MB_ICONWARNING 0x30
-#define MB_ICONERROR 16
-#define MB_ICONHAND 16
-#define MB_ICONQUESTION 32
-#define MB_OK 0
-#define MB_ABORTRETRYIGNORE 2
-#define MB_APPLMODAL 0
-#define MB_DEFAULT_DESKTOP_ONLY 0x20000
-#define MB_HELP 0x4000
-#define MB_RIGHT 0x80000
-#define MB_RTLREADING 0x100000
-#define MB_TOPMOST 0x40000
-#define MB_DEFBUTTON1 0
-#define MB_DEFBUTTON2 256
-#define MB_DEFBUTTON3 512
-#define MB_DEFBUTTON4 0x300
-#define MB_ICONINFORMATION 64
-#define MB_ICONSTOP 16
-#define MB_OKCANCEL 1
-#define MB_RETRYCANCEL 5
-#ifdef _WIN32_WINNT
-#if (_WIN32_WINNT >= 0x0400)
-#define MB_SERVICE_NOTIFICATION 0x00200000
-#else
-#define MB_SERVICE_NOTIFICATION 0x00040000
-#endif
-#define MB_SERVICE_NOTIFICATION_NT3X 0x00040000
-#endif
-#define MB_SETFOREGROUND 0x10000
-#define MB_SYSTEMMODAL 4096
-#define MB_TASKMODAL 0x2000
-#define MB_YESNO 4
-#define MB_YESNOCANCEL 3
-#define MB_ICONMASK 240
-#define MB_DEFMASK 3840
-#define MB_MODEMASK 0x00003000
-#define MB_MISCMASK 0x0000C000
-#define MB_NOFOCUS 0x00008000
-#define MB_TYPEMASK 15
-#define MB_TOPMOST 0x40000
-#if (WINVER >= 0x0500)
-#define MB_CANCELTRYCONTINUE 6
-#endif
-
-#define IDOK 1
-#define IDCANCEL 2
-#define IDABORT 3
-#define IDRETRY 4
-#define IDIGNORE 5
-#define IDYES 6
-#define IDNO 7
-#if (WINVER >= 0x0400)
-#define IDCLOSE 8
-#define IDHELP 9
-#endif
-#if (WINVER >= 0x0500)
-#define IDTRYAGAIN 10
-#define IDCONTINUE 11
-#endif
-
-#define GWL_EXSTYLE (-20)
-#define GWL_STYLE (-16)
-#define GWL_WNDPROC (-4)
-#define GWLP_WNDPROC (-4)
-#define GWL_HINSTANCE (-6)
-#define GWLP_HINSTANCE (-6)
-#define GWL_HWNDPARENT (-8)
-#define GWLP_HWNDPARENT (-8)
-#define GWL_ID (-12)
-#define GWLP_ID (-12)
-#define GWL_USERDATA (-21)
-#define GWLP_USERDATA (-21)
-#define DWL_DLGPROC 4
-#define DWLP_DLGPROC 4
-#define DWL_MSGRESULT 0
-#define DWLP_MSGRESULT 0
-#define DWL_USER 8
-#define DWLP_USER 8
-#if (_WIN32_WINNT >= 0x0501)
-#define QS_ALLEVENTS 1215
-#define QS_ALLINPUT 1279
-#else
-#define QS_ALLEVENTS 191
-#define QS_ALLINPUT 255
-#endif
-#define QS_ALLPOSTMESSAGE 256
-#define QS_HOTKEY 128
-#if (_WIN32_WINNT >= 0x0501)
-#define QS_INPUT 1031
-#else
-#define QS_INPUT 7
-#endif
-#define QS_KEY 1
-#define QS_MOUSE 6
-#define QS_MOUSEBUTTON 4
-#define QS_MOUSEMOVE 2
-#define QS_PAINT 32
-#define QS_POSTMESSAGE 8
-#if (_WIN32_WINNT >= 0x0501)
-#define QS_RAWINPUT 1024
-#endif
-#define QS_SENDMESSAGE 64
-#define QS_TIMER 16
-#define MWMO_WAITALL 1
-#define MWMO_ALERTABLE 2
-#define MWMO_INPUTAVAILABLE 4
-#define COLOR_3DDKSHADOW 21
-#define COLOR_3DFACE 15
-#define COLOR_3DHILIGHT 20
-#define COLOR_3DHIGHLIGHT 20
-#define COLOR_3DLIGHT 22
-#define COLOR_BTNHILIGHT 20
-#define COLOR_3DSHADOW 16
-#define COLOR_ACTIVEBORDER 10
-#define COLOR_ACTIVECAPTION 2
-#define COLOR_APPWORKSPACE 12
-#define COLOR_BACKGROUND 1
-#define COLOR_DESKTOP 1
-#define COLOR_BTNFACE 15
-#define COLOR_BTNHIGHLIGHT 20
-#define COLOR_BTNSHADOW 16
-#define COLOR_BTNTEXT 18
-#define COLOR_CAPTIONTEXT 9
-#define COLOR_GRAYTEXT 17
-#define COLOR_HIGHLIGHT 13
-#define COLOR_HIGHLIGHTTEXT 14
-#define COLOR_INACTIVEBORDER 11
-#define COLOR_INACTIVECAPTION 3
-#define COLOR_INACTIVECAPTIONTEXT 19
-#define COLOR_INFOBK 24
-#define COLOR_INFOTEXT 23
-#define COLOR_MENU 4
-#define COLOR_MENUTEXT 7
-#define COLOR_SCROLLBAR 0
-#define COLOR_WINDOW 5
-#define COLOR_WINDOWFRAME 6
-#define COLOR_WINDOWTEXT 8
-#define COLOR_HOTLIGHT 26
-#define COLOR_GRADIENTACTIVECAPTION 27
-#define COLOR_GRADIENTINACTIVECAPTION 28
-#define CTLCOLOR_MSGBOX 0
-#define CTLCOLOR_EDIT 1
-#define CTLCOLOR_LISTBOX 2
-#define CTLCOLOR_BTN 3
-#define CTLCOLOR_DLG 4
-#define CTLCOLOR_SCROLLBAR 5
-#define CTLCOLOR_STATIC 6
-#define CTLCOLOR_MAX 7
-#define SM_CXSCREEN 0
-#define SM_CYSCREEN 1
-#define SM_CXVSCROLL 2
-#define SM_CYHSCROLL 3
-#define SM_CYCAPTION 4
-#define SM_CXBORDER 5
-#define SM_CYBORDER 6
-#define SM_CXDLGFRAME 7
-#define SM_CXFIXEDFRAME 7
-#define SM_CYDLGFRAME 8
-#define SM_CYFIXEDFRAME 8
-#define SM_CYVTHUMB 9
-#define SM_CXHTHUMB 10
-#define SM_CXICON 11
-#define SM_CYICON 12
-#define SM_CXCURSOR 13
-#define SM_CYCURSOR 14
-#define SM_CYMENU 15
-#define SM_CXFULLSCREEN 16
-#define SM_CYFULLSCREEN 17
-#define SM_CYKANJIWINDOW 18
-#define SM_MOUSEPRESENT 19
-#define SM_CYVSCROLL 20
-#define SM_CXHSCROLL 21
-#define SM_DEBUG 22
-#define SM_SWAPBUTTON 23
-#define SM_RESERVED1 24
-#define SM_RESERVED2 25
-#define SM_RESERVED3 26
-#define SM_RESERVED4 27
-#define SM_CXMIN 28
-#define SM_CYMIN 29
-#define SM_CXSIZE 30
-#define SM_CYSIZE 31
-#define SM_CXSIZEFRAME 32
-#define SM_CXFRAME 32
-#define SM_CYSIZEFRAME 33
-#define SM_CYFRAME 33
-#define SM_CXMINTRACK 34
-#define SM_CYMINTRACK 35
-#define SM_CXDOUBLECLK 36
-#define SM_CYDOUBLECLK 37
-#define SM_CXICONSPACING 38
-#define SM_CYICONSPACING 39
-#define SM_MENUDROPALIGNMENT 40
-#define SM_PENWINDOWS 41
-#define SM_DBCSENABLED 42
-#define SM_CMOUSEBUTTONS 43
-#define SM_SECURE 44
-#define SM_CXEDGE 45
-#define SM_CYEDGE 46
-#define SM_CXMINSPACING 47
-#define SM_CYMINSPACING 48
-#define SM_CXSMICON 49
-#define SM_CYSMICON 50
-#define SM_CYSMCAPTION 51
-#define SM_CXSMSIZE 52
-#define SM_CYSMSIZE 53
-#define SM_CXMENUSIZE 54
-#define SM_CYMENUSIZE 55
-#define SM_ARRANGE 56
-#define SM_CXMINIMIZED 57
-#define SM_CYMINIMIZED 58
-#define SM_CXMAXTRACK 59
-#define SM_CYMAXTRACK 60
-#define SM_CXMAXIMIZED 61
-#define SM_CYMAXIMIZED 62
-#define SM_NETWORK 63
-#define LR_DEFAULTSIZE 64
-#define SM_CLEANBOOT 67
-#define SM_CXDRAG 68
-#define SM_CYDRAG 69
-#define SM_SHOWSOUNDS 70
-#define SM_CXMENUCHECK 71
-#define SM_CYMENUCHECK 72
-#define SM_SLOWMACHINE 73
-#define SM_MIDEASTENABLED 74
-#define SM_MOUSEWHEELPRESENT 75
-#define SM_XVIRTUALSCREEN 76
-#define SM_YVIRTUALSCREEN 77
-#define SM_CXVIRTUALSCREEN 78
-#define SM_CYVIRTUALSCREEN 79
-#define SM_CMONITORS 80
-#define SM_SAMEDISPLAYFORMAT 81
-#define SM_IMMENABLED 82
-#define SM_CXFOCUSBORDER 83
-#define SM_CYFOCUSBORDER 84
-#define SM_TABLETPC 86
-#define SM_MEDIACENTER 87
-#if (_WIN32_WINNT < 0x0400)
-#define SM_CMETRICS 76
-#else
-#define SM_CMETRICS 88
-#endif
-#define SM_REMOTESESSION 0X1000
-#define ARW_BOTTOMLEFT 0
-#define ARW_BOTTOMRIGHT 1
-#define ARW_HIDE 8
-#define ARW_TOPLEFT 2
-#define ARW_TOPRIGHT 3
-#define ARW_DOWN 4
-#define ARW_LEFT 0
-#define ARW_RIGHT 0
-#define ARW_UP 4
-#define UOI_FLAGS 1
-#define UOI_NAME 2
-#define UOI_TYPE 3
-#define UOI_USER_SID 4
-#define LR_DEFAULTCOLOR 0
-#define LR_MONOCHROME 1
-#define LR_COLOR 2
-#define LR_COPYRETURNORG 4
-#define LR_COPYDELETEORG 8
-#define LR_LOADFROMFILE 16
-#define LR_LOADTRANSPARENT 32
-#define LR_LOADREALSIZE 128
-#define LR_LOADMAP3DCOLORS 4096
-#define LR_CREATEDIBSECTION 8192
-#define LR_COPYFROMRESOURCE 0x4000
-#define LR_SHARED 32768
-#define KEYEVENTF_EXTENDEDKEY 0x00000001
-#define KEYEVENTF_KEYUP 00000002
-#if (_WIN32_WINNT >= 0x0500)
-#define KEYEVENTF_UNICODE 0x00000004
-#define KEYEVENTF_SCANCODE 0x00000008
-#endif
-#define OBM_BTNCORNERS 32758
-#define OBM_BTSIZE 32761
-#define OBM_CHECK 32760
-#define OBM_CHECKBOXES 32759
-#define OBM_CLOSE 32754
-#define OBM_COMBO 32738
-#define OBM_DNARROW 32752
-#define OBM_DNARROWD 32742
-#define OBM_DNARROWI 32736
-#define OBM_LFARROW 32750
-#define OBM_LFARROWI 32734
-#define OBM_LFARROWD 32740
-#define OBM_MNARROW 32739
-#define OBM_OLD_CLOSE 32767
-#define OBM_OLD_DNARROW 32764
-#define OBM_OLD_LFARROW 32762
-#define OBM_OLD_REDUCE 32757
-#define OBM_OLD_RESTORE 32755
-#define OBM_OLD_RGARROW 32763
-#define OBM_OLD_UPARROW 32765
-#define OBM_OLD_ZOOM 32756
-#define OBM_REDUCE 32749
-#define OBM_REDUCED 32746
-#define OBM_RESTORE 32747
-#define OBM_RESTORED 32744
-#define OBM_RGARROW 32751
-#define OBM_RGARROWD 32741
-#define OBM_RGARROWI 32735
-#define OBM_SIZE 32766
-#define OBM_UPARROW 32753
-#define OBM_UPARROWD 32743
-#define OBM_UPARROWI 32737
-#define OBM_ZOOM 32748
-#define OBM_ZOOMD 32745
-#define OCR_NORMAL 32512
-#define OCR_IBEAM 32513
-#define OCR_WAIT 32514
-#define OCR_CROSS 32515
-#define OCR_UP 32516
-#define OCR_SIZE 32640
-#define OCR_ICON 32641
-#define OCR_SIZENWSE 32642
-#define OCR_SIZENESW 32643
-#define OCR_SIZEWE 32644
-#define OCR_SIZENS 32645
-#define OCR_SIZEALL 32646
-#define OCR_NO 32648
-#define OCR_APPSTARTING 32650
-#define OIC_SAMPLE 32512
-#define OIC_HAND 32513
-#define OIC_QUES 32514
-#define OIC_BANG 32515
-#define OIC_NOTE 32516
-#define OIC_WINLOGO 32517
-#define OIC_WARNING OIC_BANG
-#define OIC_ERROR OIC_HAND
-#define OIC_INFORMATION OIC_NOTE
-#define HELPINFO_MENUITEM 2
-#define HELPINFO_WINDOW 1
-#define MSGF_DIALOGBOX 0
-#define MSGF_MESSAGEBOX 1
-#define MSGF_MENU 2
-#define MSGF_MOVE 3
-#define MSGF_SIZE 4
-#define MSGF_SCROLLBAR 5
-#define MSGF_NEXTWINDOW 6
-#define MSGF_MAINLOOP 8
-#define MSGF_USER 4096
-#define MOUSEEVENTF_MOVE 1
-#define MOUSEEVENTF_LEFTDOWN 2
-#define MOUSEEVENTF_LEFTUP 4
-#define MOUSEEVENTF_RIGHTDOWN 8
-#define MOUSEEVENTF_RIGHTUP 16
-#define MOUSEEVENTF_MIDDLEDOWN 32
-#define MOUSEEVENTF_MIDDLEUP 64
-#define MOUSEEVENTF_WHEEL 0x0800
-#define MOUSEEVENTF_ABSOLUTE 32768
-#define PM_NOREMOVE 0
-#define PM_REMOVE 1
-#define PM_NOYIELD 2
-#if (WINVER >= 0x0500)
-# define PM_QS_INPUT (QS_INPUT << 16)
-# define PM_QS_POSTMESSAGE ((QS_POSTMESSAGE|QS_HOTKEY|QS_TIMER) << 16)
-# define PM_QS_PAINT (QS_PAINT << 16)
-# define PM_QS_SENDMESSAGE (QS_SENDMESSAGE << 16)
-#endif
-#define HWND_BROADCAST ((HWND)0xffff)
-#define HWND_BOTTOM ((HWND)1)
-#define HWND_NOTOPMOST ((HWND)(-2))
-#define HWND_TOP ((HWND)0)
-#define HWND_TOPMOST ((HWND)(-1))
-#define HWND_DESKTOP (HWND)0
-#define HWND_MESSAGE ((HWND)(-3)) /* w2k */
-#define RDW_ERASE 4
-#define RDW_FRAME 1024
-#define RDW_INTERNALPAINT 2
-#define RDW_INVALIDATE 1
-#define RDW_NOERASE 32
-#define RDW_NOFRAME 2048
-#define RDW_NOINTERNALPAINT 16
-#define RDW_VALIDATE 8
-#define RDW_ERASENOW 512
-#define RDW_UPDATENOW 256
-#define RDW_ALLCHILDREN 128
-#define RDW_NOCHILDREN 64
-#define SMTO_ABORTIFHUNG 2
-#define SMTO_BLOCK 1
-#define SMTO_NORMAL 0
-#define SIF_ALL 23
-#define SIF_PAGE 2
-#define SIF_POS 4
-#define SIF_RANGE 1
-#define SIF_DISABLENOSCROLL 8
-#define SIF_TRACKPOS 16
-#define SWP_DRAWFRAME 32
-#define SWP_FRAMECHANGED 32
-#define SWP_HIDEWINDOW 128
-#define SWP_NOACTIVATE 16
-#define SWP_NOCOPYBITS 256
-#define SWP_NOMOVE 2
-#define SWP_NOSIZE 1
-#define SWP_NOREDRAW 8
-#define SWP_NOZORDER 4
-#define SWP_SHOWWINDOW 64
-#define SWP_NOOWNERZORDER 512
-#define SWP_NOREPOSITION 512
-#define SWP_NOSENDCHANGING 1024
-#define SWP_DEFERERASE 8192
-#define SWP_ASYNCWINDOWPOS 16384
-#define HSHELL_ACTIVATESHELLWINDOW 3
-#define HSHELL_GETMINRECT 5
-#define HSHELL_LANGUAGE 8
-#define HSHELL_REDRAW 6
-#define HSHELL_TASKMAN 7
-#define HSHELL_WINDOWACTIVATED 4
-#define HSHELL_WINDOWCREATED 1
-#define HSHELL_WINDOWDESTROYED 2
-#define HSHELL_RUDEAPPACTIVATED 32772
-#define HSHELL_FLASH 32774
-#if (WINVER >= 0x0500)
-#define SPI_SETFOREGROUNDLOCKTIMEOUT 0x2001
-#define SPI_GETFOREGROUNDLOCKTIMEOUT 0x2000
-#endif
-#define SPI_GETACCESSTIMEOUT 60
-#define SPI_GETACTIVEWNDTRKTIMEOUT 8194
-#define SPI_GETANIMATION 72
-#define SPI_GETBEEP 1
-#define SPI_GETBORDER 5
-#define SPI_GETDEFAULTINPUTLANG 89
-#define SPI_GETDRAGFULLWINDOWS 38
-#define SPI_GETFASTTASKSWITCH 35
-#define SPI_GETFILTERKEYS 50
-#define SPI_GETFONTSMOOTHING 74
-#define SPI_GETGRIDGRANULARITY 18
-#define SPI_GETHIGHCONTRAST 66
-#define SPI_GETICONMETRICS 45
-#define SPI_GETICONTITLELOGFONT 31
-#define SPI_GETICONTITLEWRAP 25
-#define SPI_GETKEYBOARDDELAY 22
-#define SPI_GETKEYBOARDPREF 68
-#define SPI_GETKEYBOARDSPEED 10
-#define SPI_GETLOWPOWERACTIVE 83
-#define SPI_GETLOWPOWERTIMEOUT 79
-#define SPI_GETMENUDROPALIGNMENT 27
-#define SPI_GETMINIMIZEDMETRICS 43
-#define SPI_GETMOUSE 3
-#define SPI_GETMOUSEKEYS 54
-#define SPI_GETMOUSETRAILS 94
-#define SPI_GETNONCLIENTMETRICS 41
-#define SPI_GETPOWEROFFACTIVE 84
-#define SPI_GETPOWEROFFTIMEOUT 80
-#define SPI_GETSCREENREADER 70
-#define SPI_GETSCREENSAVEACTIVE 16
-#define SPI_GETSCREENSAVETIMEOUT 14
-#define SPI_GETSERIALKEYS 62
-#define SPI_GETSHOWSOUNDS 56
-#define SPI_GETSOUNDSENTRY 64
-#define SPI_GETSTICKYKEYS 58
-#define SPI_GETTOGGLEKEYS 52
-#define SPI_GETWHEELSCROLLLINES 104
-#define SPI_GETWINDOWSEXTENSION 92
-#define SPI_GETWORKAREA 48
-#define SPI_ICONHORIZONTALSPACING 13
-#define SPI_ICONVERTICALSPACING 24
-#define SPI_LANGDRIVER 12
-#define SPI_SCREENSAVERRUNNING 97
-#define SPI_SETACCESSTIMEOUT 61
-#define SPI_SETACTIVEWNDTRKTIMEOUT 8195
-#define SPI_SETANIMATION 73
-#define SPI_SETBEEP 2
-#define SPI_SETBORDER 6
-#define SPI_SETDEFAULTINPUTLANG 90
-#define SPI_SETDESKPATTERN 21
-#define SPI_SETDESKWALLPAPER 20
-#define SPI_SETDOUBLECLICKTIME 32
-#define SPI_SETDOUBLECLKHEIGHT 30
-#define SPI_SETDOUBLECLKWIDTH 29
-#define SPI_SETDRAGFULLWINDOWS 37
-#define SPI_SETDRAGHEIGHT 77
-#define SPI_SETDRAGWIDTH 76
-#define SPI_SETFASTTASKSWITCH 36
-#define SPI_SETFILTERKEYS 51
-#define SPI_SETFONTSMOOTHING 75
-#define SPI_SETGRIDGRANULARITY 19
-#define SPI_SETHANDHELD 78
-#define SPI_SETHIGHCONTRAST 67
-#define SPI_SETICONMETRICS 46
-#define SPI_SETICONTITLELOGFONT 34
-#define SPI_SETICONTITLEWRAP 26
-#define SPI_SETKEYBOARDDELAY 23
-#define SPI_SETKEYBOARDPREF 69
-#define SPI_SETKEYBOARDSPEED 11
-#define SPI_SETLANGTOGGLE 91
-#define SPI_SETLOWPOWERACTIVE 85
-#define SPI_SETLOWPOWERTIMEOUT 81
-#define SPI_SETMENUDROPALIGNMENT 28
-#define SPI_SETMINIMIZEDMETRICS 44
-#define SPI_SETMOUSE 4
-#define SPI_SETMOUSEBUTTONSWAP 33
-#define SPI_SETMOUSEKEYS 55
-#define SPI_SETMOUSETRAILS 93
-#define SPI_SETNONCLIENTMETRICS 42
-#define SPI_SETPENWINDOWS 49
-#define SPI_SETPOWEROFFACTIVE 86
-#define SPI_SETPOWEROFFTIMEOUT 82
-#define SPI_SETSCREENREADER 71
-#define SPI_SETSCREENSAVEACTIVE 17
-#define SPI_SETSCREENSAVERRUNNING 97
-#define SPI_SETSCREENSAVETIMEOUT 15
-#define SPI_SETSERIALKEYS 63
-#define SPI_SETSHOWSOUNDS 57
-#define SPI_SETSOUNDSENTRY 65
-#define SPI_SETSTICKYKEYS 59
-#define SPI_SETTOGGLEKEYS 53
-#define SPI_SETWHEELSCROLLLINES 105
-#define SPI_SETWORKAREA 47
-#if (WINVER >= 0x0500)
-#define SPI_GETDESKWALLPAPER 115
-#define SPI_GETMOUSESPEED 112
-#define SPI_GETSCREENSAVERRUNNING 114
-#define SPI_GETACTIVEWINDOWTRACKING 0x1000
-#define SPI_GETACTIVEWNDTRKZORDER 0x100C
-#define SPI_GETCOMBOBOXANIMATION 0x1004
-#define SPI_GETCURSORSHADOW 0x101A
-#define SPI_GETGRADIENTCAPTIONS 0x1008
-#define SPI_GETHOTTRACKING 0x100E
-#define SPI_GETKEYBOARDCUES 0x100A
-#define SPI_GETLISTBOXSMOOTHSCROLLING 0x1006
-#define SPI_GETMENUANIMATION 0x1002
-#define SPI_GETMENUFADE 0x1012
-#define SPI_GETMENUUNDERLINES 0x100A
-#define SPI_GETSELECTIONFADE 0x1014
-#define SPI_GETTOOLTIPANIMATION 0x1016
-#define SPI_GETTOOLTIPFADE 0x1018
-#define SPI_SETACTIVEWINDOWTRACKING 0x1001
-#define SPI_SETACTIVEWNDTRKZORDER 0x100D
-#define SPI_SETCOMBOBOXANIMATION 0x1005
-#define SPI_SETCURSORSHADOW 0x101B
-#define SPI_SETGRADIENTCAPTIONS 0x1009
-#define SPI_SETHOTTRACKING 0x100F
-#define SPI_SETKEYBOARDCUES 0x100B
-#define SPI_SETLISTBOXSMOOTHSCROLLING 0x1007
-#define SPI_SETMENUANIMATION 0x1003
-#define SPI_SETMENUFADE 0x1013
-#define SPI_SETMENUUNDERLINES 0x100B
-#define SPI_SETMOUSESPEED 113
-#define SPI_SETSELECTIONFADE 0x1015
-#define SPI_SETTOOLTIPANIMATION 0x1017
-#define SPI_SETTOOLTIPFADE 0x1019
-#endif
-
-#define SPIF_UPDATEINIFILE 1
-#define SPIF_SENDWININICHANGE 2
-#define SPIF_SENDCHANGE 2
-#define ATF_ONOFFFEEDBACK 2
-#define ATF_TIMEOUTON 1
-#define WM_APP 32768
-#define WM_ACTIVATE 6
-#define WM_ACTIVATEAPP 28
-/* FIXME/CHECK: Are WM_AFX{FIRST,LAST} valid for WINVER < 0x400? */
-#define WM_AFXFIRST 864
-#define WM_AFXLAST 895
-#define WM_ASKCBFORMATNAME 780
-#define WM_CANCELJOURNAL 75
-#define WM_CANCELMODE 31
-#define WM_CAPTURECHANGED 533
-#define WM_CHANGECBCHAIN 781
-#define WM_CHAR 258
-#define WM_CHARTOITEM 47
-#define WM_CHILDACTIVATE 34
-#define WM_CLEAR 771
-#define WM_CLOSE 16
-#define WM_COMMAND 273
-#define WM_COMMNOTIFY 68 /* obsolete */
-#define WM_COMPACTING 65
-#define WM_COMPAREITEM 57
-#define WM_CONTEXTMENU 123
-#define WM_COPY 769
-#define WM_COPYDATA 74
-#define WM_CREATE 1
-#define WM_CTLCOLORBTN 309
-#define WM_CTLCOLORDLG 310
-#define WM_CTLCOLOREDIT 307
-#define WM_CTLCOLORLISTBOX 308
-#define WM_CTLCOLORMSGBOX 306
-#define WM_CTLCOLORSCROLLBAR 311
-#define WM_CTLCOLORSTATIC 312
-#define WM_CUT 768
-#define WM_DEADCHAR 259
-#define WM_DELETEITEM 45
-#define WM_DESTROY 2
-#define WM_DESTROYCLIPBOARD 775
-#define WM_DEVICECHANGE 537
-#define WM_DEVMODECHANGE 27
-#define WM_DISPLAYCHANGE 126
-#define WM_DRAWCLIPBOARD 776
-#define WM_DRAWITEM 43
-#define WM_DROPFILES 563
-#define WM_ENABLE 10
-#define WM_ENDSESSION 22
-#define WM_ENTERIDLE 289
-#define WM_ENTERMENULOOP 529
-#define WM_ENTERSIZEMOVE 561
-#define WM_ERASEBKGND 20
-#define WM_EXITMENULOOP 530
-#define WM_EXITSIZEMOVE 562
-#define WM_FONTCHANGE 29
-#define WM_GETDLGCODE 135
-#define WM_GETFONT 49
-#define WM_GETHOTKEY 51
-#define WM_GETICON 127
-#define WM_GETMINMAXINFO 36
-#define WM_GETTEXT 13
-#define WM_GETTEXTLENGTH 14
-/* FIXME/CHECK: Are WM_HANDHEL{FIRST,LAST} valid for WINVER < 0x400? */
-#define WM_HANDHELDFIRST 856
-#define WM_HANDHELDLAST 863
-#define WM_HELP 83
-#define WM_HOTKEY 786
-#define WM_HSCROLL 276
-#define WM_HSCROLLCLIPBOARD 782
-#define WM_ICONERASEBKGND 39
-#define WM_INITDIALOG 272
-#define WM_INITMENU 278
-#define WM_INITMENUPOPUP 279
-#define WM_INPUTLANGCHANGE 81
-#define WM_INPUTLANGCHANGEREQUEST 80
-#define WM_KEYDOWN 256
-#define WM_KEYUP 257
-#define WM_KILLFOCUS 8
-#define WM_MDIACTIVATE 546
-#define WM_MDICASCADE 551
-#define WM_MDICREATE 544
-#define WM_MDIDESTROY 545
-#define WM_MDIGETACTIVE 553
-#define WM_MDIICONARRANGE 552
-#define WM_MDIMAXIMIZE 549
-#define WM_MDINEXT 548
-#define WM_MDIREFRESHMENU 564
-#define WM_MDIRESTORE 547
-#define WM_MDISETMENU 560
-#define WM_MDITILE 550
-#define WM_MEASUREITEM 44
-#if (WINVER >= 0x0500)
-#define WM_UNINITMENUPOPUP 0x0125
-#define WM_MENURBUTTONUP 290
-#define WM_MENUCOMMAND 0x0126
-#define WM_MENUGETOBJECT 0x0124
-#define WM_MENUDRAG 0x0123
-#endif
-#define WM_MENUCHAR 288
-#define WM_MENUSELECT 287
-#define WM_NEXTMENU 531
-#define WM_MOVE 3
-#define WM_MOVING 534
-#define WM_NCACTIVATE 134
-#define WM_NCCALCSIZE 131
-#define WM_NCCREATE 129
-#define WM_NCDESTROY 130
-#define WM_NCHITTEST 132
-#define WM_NCLBUTTONDBLCLK 163
-#define WM_NCLBUTTONDOWN 161
-#define WM_NCLBUTTONUP 162
-#define WM_NCMBUTTONDBLCLK 169
-#define WM_NCMBUTTONDOWN 167
-#define WM_NCMBUTTONUP 168
-#if (_WIN32_WINNT >= 0x0500)
-#define WM_NCXBUTTONDOWN 171
-#define WM_NCXBUTTONUP 172
-#define WM_NCXBUTTONDBLCLK 173
-#define WM_NCMOUSEHOVER 0x02A0
-#define WM_NCMOUSELEAVE 0x02A2
-#endif
-#define WM_NCMOUSEMOVE 160
-#define WM_NCPAINT 133
-#define WM_NCRBUTTONDBLCLK 166
-#define WM_NCRBUTTONDOWN 164
-#define WM_NCRBUTTONUP 165
-#define WM_NEXTDLGCTL 40
-#define WM_NEXTMENU 531
-#define WM_NOTIFY 78
-#define WM_NOTIFYFORMAT 85
-#define WM_NULL 0
-#define WM_PAINT 15
-#define WM_PAINTCLIPBOARD 777
-#define WM_PAINTICON 38
-#define WM_PALETTECHANGED 785
-#define WM_PALETTEISCHANGING 784
-#define WM_PARENTNOTIFY 528
-#define WM_PASTE 770
-#define WM_PENWINFIRST 896
-#define WM_PENWINLAST 911
-#define WM_POWER 72
-#define WM_POWERBROADCAST 536
-#define WM_PRINT 791
-#define WM_PRINTCLIENT 792
-#define WM_QUERYDRAGICON 55
-#define WM_QUERYENDSESSION 17
-#define WM_QUERYNEWPALETTE 783
-#define WM_QUERYOPEN 19
-#define WM_QUEUESYNC 35
-#define WM_QUIT 18
-#define WM_RENDERALLFORMATS 774
-#define WM_RENDERFORMAT 773
-#define WM_SETCURSOR 32
-#define WM_SETFOCUS 7
-#define WM_SETFONT 48
-#define WM_SETHOTKEY 50
-#define WM_SETICON 128
-#define WM_SETREDRAW 11
-#define WM_SETTEXT 12
-#define WM_SETTINGCHANGE 26
-#define WM_SHOWWINDOW 24
-#define WM_SIZE 5
-#define WM_SIZECLIPBOARD 779
-#define WM_SIZING 532
-#define WM_SPOOLERSTATUS 42
-#define WM_STYLECHANGED 125
-#define WM_STYLECHANGING 124
-#define WM_SYSCHAR 262
-#define WM_SYSCOLORCHANGE 21
-#define WM_SYSCOMMAND 274
-#define WM_SYSDEADCHAR 263
-#define WM_SYSKEYDOWN 260
-#define WM_SYSKEYUP 261
-#define WM_TCARD 82
-#define WM_THEMECHANGED 794
-#define WM_TIMECHANGE 30
-#define WM_TIMER 275
-#define WM_UNDO 772
-#define WM_USER 1024
-#define WM_USERCHANGED 84
-#define WM_VKEYTOITEM 46
-#define WM_VSCROLL 277
-#define WM_VSCROLLCLIPBOARD 778
-#define WM_WINDOWPOSCHANGED 71
-#define WM_WINDOWPOSCHANGING 70
-#define WM_WININICHANGE 26
-#define WM_KEYFIRST 256
-#define WM_KEYLAST 264
-#define WM_SYNCPAINT 136
-#define WM_MOUSEACTIVATE 33
-#define WM_MOUSEMOVE 512
-#define WM_LBUTTONDOWN 513
-#define WM_LBUTTONUP 514
-#define WM_LBUTTONDBLCLK 515
-#define WM_RBUTTONDOWN 516
-#define WM_RBUTTONUP 517
-#define WM_RBUTTONDBLCLK 518
-#define WM_MBUTTONDOWN 519
-#define WM_MBUTTONUP 520
-#define WM_MBUTTONDBLCLK 521
-#define WM_MOUSEWHEEL 522
-#define WM_MOUSEFIRST 512
-#if (_WIN32_WINNT >= 0x0500)
-#define WM_XBUTTONDOWN 523
-#define WM_XBUTTONUP 524
-#define WM_XBUTTONDBLCLK 525
-#define WM_MOUSELAST 525
-#else
-#define WM_MOUSELAST 522
-#endif
-#define WM_MOUSEHOVER 0x2A1
-#define WM_MOUSELEAVE 0x2A3
-#if (_WIN32_WINNT >= 0x0400)
-#define WHEEL_DELTA 120
-#define GET_WHEEL_DELTA_WPARAM(wparam) ((short)HIWORD (wparam))
-#define WHEEL_PAGESCROLL UINT_MAX
-#endif
-#define BM_CLICK 245
-#define BM_GETCHECK 240
-#define BM_GETIMAGE 246
-#define BM_GETSTATE 242
-#define BM_SETCHECK 241
-#define BM_SETIMAGE 247
-#define BM_SETSTATE 243
-#define BM_SETSTYLE 244
-#define BN_CLICKED 0
-#define BN_DBLCLK 5
-#define BN_DISABLE 4
-#define BN_DOUBLECLICKED 5
-#define BN_HILITE 2
-#define BN_KILLFOCUS 7
-#define BN_PAINT 1
-#define BN_PUSHED 2
-#define BN_SETFOCUS 6
-#define BN_UNHILITE 3
-#define BN_UNPUSHED 3
-#define CB_ADDSTRING 323
-#define CB_DELETESTRING 324
-#define CB_DIR 325
-#define CB_FINDSTRING 332
-#define CB_FINDSTRINGEXACT 344
-#define CB_GETCOUNT 326
-#define CB_GETCURSEL 327
-#define CB_GETDROPPEDCONTROLRECT 338
-#define CB_GETDROPPEDSTATE 343
-#define CB_GETDROPPEDWIDTH 351
-#define CB_GETEDITSEL 320
-#define CB_GETEXTENDEDUI 342
-#define CB_GETHORIZONTALEXTENT 349
-#define CB_GETITEMDATA 336
-#define CB_GETITEMHEIGHT 340
-#define CB_GETLBTEXT 328
-#define CB_GETLBTEXTLEN 329
-#define CB_GETLOCALE 346
-#define CB_GETTOPINDEX 347
-#define CB_INITSTORAGE 353
-#define CB_INSERTSTRING 330
-#define CB_LIMITTEXT 321
-#define CB_RESETCONTENT 331
-#define CB_SELECTSTRING 333
-#define CB_SETCURSEL 334
-#define CB_SETDROPPEDWIDTH 352
-#define CB_SETEDITSEL 322
-#define CB_SETEXTENDEDUI 341
-#define CB_SETHORIZONTALEXTENT 350
-#define CB_SETITEMDATA 337
-#define CB_SETITEMHEIGHT 339
-#define CB_SETLOCALE 345
-#define CB_SETTOPINDEX 348
-#define CB_SHOWDROPDOWN 335
-#if (_WIN32_WINNT >= 0x0501)
-#define CB_SETMINVISIBLE 0x1701
-#define CB_GETMINVISIBLE 0x1702
-#endif
-#define CBN_CLOSEUP 8
-#define CBN_DBLCLK 2
-#define CBN_DROPDOWN 7
-#define CBN_EDITCHANGE 5
-#define CBN_EDITUPDATE 6
-#define CBN_ERRSPACE (-1)
-#define CBN_KILLFOCUS 4
-#define CBN_SELCHANGE 1
-#define CBN_SELENDCANCEL 10
-#define CBN_SELENDOK 9
-#define CBN_SETFOCUS 3
-#define EM_CANUNDO 198
-#define EM_CHARFROMPOS 215
-#define EM_EMPTYUNDOBUFFER 205
-#define EM_FMTLINES 200
-#define EM_GETFIRSTVISIBLELINE 206
-#define EM_GETHANDLE 189
-#define EM_GETLIMITTEXT 213
-#define EM_GETLINE 196
-#define EM_GETLINECOUNT 186
-#define EM_GETMARGINS 212
-#define EM_GETMODIFY 184
-#define EM_GETPASSWORDCHAR 210
-#define EM_GETRECT 178
-#define EM_GETSEL 176
-#define EM_GETTHUMB 190
-#define EM_GETWORDBREAKPROC 209
-#define EM_LIMITTEXT 197
-#define EM_LINEFROMCHAR 201
-#define EM_LINEINDEX 187
-#define EM_LINELENGTH 193
-#define EM_LINESCROLL 182
-#define EM_POSFROMCHAR 214
-#define EM_REPLACESEL 194
-#define EM_SCROLL 181
-#define EM_SCROLLCARET 183
-#define EM_SETHANDLE 188
-#define EM_SETLIMITTEXT 197
-#define EM_SETMARGINS 211
-#define EM_SETMODIFY 185
-#define EM_SETPASSWORDCHAR 204
-#define EM_SETREADONLY 207
-#define EM_SETRECT 179
-#define EM_SETRECTNP 180
-#define EM_SETSEL 177
-#define EM_SETTABSTOPS 203
-#define EM_SETWORDBREAKPROC 208
-#define EM_UNDO 199
-#define EN_CHANGE 768
-#define EN_ERRSPACE 1280
-#define EN_HSCROLL 1537
-#define EN_KILLFOCUS 512
-#define EN_MAXTEXT 1281
-#define EN_SETFOCUS 256
-#define EN_UPDATE 1024
-#define EN_VSCROLL 1538
-#define LB_ADDFILE 406
-#define LB_ADDSTRING 384
-#define LB_DELETESTRING 386
-#define LB_DIR 397
-#define LB_FINDSTRING 399
-#define LB_FINDSTRINGEXACT 418
-#define LB_GETANCHORINDEX 413
-#define LB_GETCARETINDEX 415
-#define LB_GETCOUNT 395
-#define LB_GETCURSEL 392
-#define LB_GETHORIZONTALEXTENT 403
-#define LB_GETITEMDATA 409
-#define LB_GETITEMHEIGHT 417
-#define LB_GETITEMRECT 408
-#define LB_GETLOCALE 422
-#define LB_GETSEL 391
-#define LB_GETSELCOUNT 400
-#define LB_GETSELITEMS 401
-#define LB_GETTEXT 393
-#define LB_GETTEXTLEN 394
-#define LB_GETTOPINDEX 398
-#define LB_INITSTORAGE 424
-#define LB_INSERTSTRING 385
-#define LB_ITEMFROMPOINT 425
-#define LB_RESETCONTENT 388
-#define LB_SELECTSTRING 396
-#define LB_SELITEMRANGE 411
-#define LB_SELITEMRANGEEX 387
-#define LB_SETANCHORINDEX 412
-#define LB_SETCARETINDEX 414
-#define LB_SETCOLUMNWIDTH 405
-#define LB_SETCOUNT 423
-#define LB_SETCURSEL 390
-#define LB_SETHORIZONTALEXTENT 404
-#define LB_SETITEMDATA 410
-#define LB_SETITEMHEIGHT 416
-#define LB_SETLOCALE 421
-#define LB_SETSEL 389
-#define LB_SETTABSTOPS 402
-#define LB_SETTOPINDEX 407
-#define LBN_DBLCLK 2
-#define LBN_ERRSPACE (-2)
-#define LBN_KILLFOCUS 5
-#define LBN_SELCANCEL 3
-#define LBN_SELCHANGE 1
-#define LBN_SETFOCUS 4
-#define SBM_ENABLE_ARROWS 228
-#define SBM_GETPOS 225
-#define SBM_GETRANGE 227
-#define SBM_GETSCROLLINFO 234
-#define SBM_SETPOS 224
-#define SBM_SETRANGE 226
-#define SBM_SETRANGEREDRAW 230
-#define SBM_SETSCROLLINFO 233
-#define STM_GETICON 369
-#define STM_GETIMAGE 371
-#define STM_SETICON 368
-#define STM_SETIMAGE 370
-#define STN_CLICKED 0
-#define STN_DBLCLK 1
-#define STN_DISABLE 3
-#define STN_ENABLE 2
-#define DM_GETDEFID WM_USER
-#define DM_SETDEFID (WM_USER+1)
-#define DM_REPOSITION (WM_USER+2)
-#define PSM_PAGEINFO (WM_USER+100)
-#define PSM_SHEETINFO (WM_USER+101)
-#define PSI_SETACTIVE 1
-#define PSI_KILLACTIVE 2
-#define PSI_APPLY 3
-#define PSI_RESET 4
-#define PSI_HASHELP 5
-#define PSI_HELP 6
-#define PSI_CHANGED 1
-#define PSI_GUISTART 2
-#define PSI_REBOOT 3
-#define PSI_GETSIBLINGS 4
-#define DCX_WINDOW 1
-#define DCX_CACHE 2
-#define DCX_PARENTCLIP 32
-#define DCX_CLIPSIBLINGS 16
-#define DCX_CLIPCHILDREN 8
-#define DCX_NORESETATTRS 4
-#define DCX_INTERSECTUPDATE 0x200
-#define DCX_LOCKWINDOWUPDATE 0x400
-#define DCX_EXCLUDERGN 64
-#define DCX_INTERSECTRGN 128
-#define DCX_VALIDATE 0x200000
-#define GMDI_GOINTOPOPUPS 2
-#define GMDI_USEDISABLED 1
-#define FKF_AVAILABLE 2
-#define FKF_CLICKON 64
-#define FKF_FILTERKEYSON 1
-#define FKF_HOTKEYACTIVE 4
-#define FKF_HOTKEYSOUND 16
-#define FKF_CONFIRMHOTKEY 8
-#define FKF_INDICATOR 32
-#define HCF_HIGHCONTRASTON 1
-#define HCF_AVAILABLE 2
-#define HCF_HOTKEYACTIVE 4
-#define HCF_CONFIRMHOTKEY 8
-#define HCF_HOTKEYSOUND 16
-#define HCF_INDICATOR 32
-#define HCF_HOTKEYAVAILABLE 64
-#define MKF_AVAILABLE 2
-#define MKF_CONFIRMHOTKEY 8
-#define MKF_HOTKEYACTIVE 4
-#define MKF_HOTKEYSOUND 16
-#define MKF_INDICATOR 32
-#define MKF_MOUSEKEYSON 1
-#define MKF_MODIFIERS 64
-#define MKF_REPLACENUMBERS 128
-#define SERKF_ACTIVE 8 /* May be obsolete. Not in recent MS docs. */
-#define SERKF_AVAILABLE 2
-#define SERKF_INDICATOR 4
-#define SERKF_SERIALKEYSON 1
-#define SSF_AVAILABLE 2
-#define SSF_SOUNDSENTRYON 1
-#define SSTF_BORDER 2
-#define SSTF_CHARS 1
-#define SSTF_DISPLAY 3
-#define SSTF_NONE 0
-#define SSGF_DISPLAY 3
-#define SSGF_NONE 0
-#define SSWF_CUSTOM 4
-#define SSWF_DISPLAY 3
-#define SSWF_NONE 0
-#define SSWF_TITLE 1
-#define SSWF_WINDOW 2
-#define SKF_AUDIBLEFEEDBACK 64
-#define SKF_AVAILABLE 2
-#define SKF_CONFIRMHOTKEY 8
-#define SKF_HOTKEYACTIVE 4
-#define SKF_HOTKEYSOUND 16
-#define SKF_INDICATOR 32
-#define SKF_STICKYKEYSON 1
-#define SKF_TRISTATE 128
-#define SKF_TWOKEYSOFF 256
-#define TKF_AVAILABLE 2
-#define TKF_CONFIRMHOTKEY 8
-#define TKF_HOTKEYACTIVE 4
-#define TKF_HOTKEYSOUND 16
-#define TKF_TOGGLEKEYSON 1
-#define MDITILE_SKIPDISABLED 2
-#define MDITILE_HORIZONTAL 1
-#define MDITILE_VERTICAL 0
-#define VK_LBUTTON 1
-#define VK_RBUTTON 2
-#define VK_CANCEL 3
-#define VK_MBUTTON 4
-#if (_WIN32_WINNT >= 0x0500)
-#define VK_XBUTTON1 5
-#define VK_XBUTTON2 6
-#endif
-#define VK_BACK 8
-#define VK_TAB 9
-#define VK_CLEAR 12
-#define VK_RETURN 13
-#define VK_SHIFT 16
-#define VK_CONTROL 17
-#define VK_MENU 18
-#define VK_PAUSE 19
-#define VK_CAPITAL 20
-#define VK_KANA 0x15
-#define VK_HANGEUL 0x15
-#define VK_HANGUL 0x15
-#define VK_JUNJA 0x17
-#define VK_FINAL 0x18
-#define VK_HANJA 0x19
-#define VK_KANJI 0x19
-#define VK_ESCAPE 0x1B
-#define VK_CONVERT 0x1C
-#define VK_NONCONVERT 0x1D
-#define VK_ACCEPT 0x1E
-#define VK_MODECHANGE 0x1F
-#define VK_SPACE 32
-#define VK_PRIOR 33
-#define VK_NEXT 34
-#define VK_END 35
-#define VK_HOME 36
-#define VK_LEFT 37
-#define VK_UP 38
-#define VK_RIGHT 39
-#define VK_DOWN 40
-#define VK_SELECT 41
-#define VK_PRINT 42
-#define VK_EXECUTE 43
-#define VK_SNAPSHOT 44
-#define VK_INSERT 45
-#define VK_DELETE 46
-#define VK_HELP 47
-#define VK_LWIN 0x5B
-#define VK_RWIN 0x5C
-#define VK_APPS 0x5D
-#define VK_SLEEP 0x5F
-#define VK_NUMPAD0 0x60
-#define VK_NUMPAD1 0x61
-#define VK_NUMPAD2 0x62
-#define VK_NUMPAD3 0x63
-#define VK_NUMPAD4 0x64
-#define VK_NUMPAD5 0x65
-#define VK_NUMPAD6 0x66
-#define VK_NUMPAD7 0x67
-#define VK_NUMPAD8 0x68
-#define VK_NUMPAD9 0x69
-#define VK_MULTIPLY 0x6A
-#define VK_ADD 0x6B
-#define VK_SEPARATOR 0x6C
-#define VK_SUBTRACT 0x6D
-#define VK_DECIMAL 0x6E
-#define VK_DIVIDE 0x6F
-#define VK_F1 0x70
-#define VK_F2 0x71
-#define VK_F3 0x72
-#define VK_F4 0x73
-#define VK_F5 0x74
-#define VK_F6 0x75
-#define VK_F7 0x76
-#define VK_F8 0x77
-#define VK_F9 0x78
-#define VK_F10 0x79
-#define VK_F11 0x7A
-#define VK_F12 0x7B
-#define VK_F13 0x7C
-#define VK_F14 0x7D
-#define VK_F15 0x7E
-#define VK_F16 0x7F
-#define VK_F17 0x80
-#define VK_F18 0x81
-#define VK_F19 0x82
-#define VK_F20 0x83
-#define VK_F21 0x84
-#define VK_F22 0x85
-#define VK_F23 0x86
-#define VK_F24 0x87
-#define VK_NUMLOCK 0x90
-#define VK_SCROLL 0x91
-#define VK_LSHIFT 0xA0
-#define VK_RSHIFT 0xA1
-#define VK_LCONTROL 0xA2
-#define VK_RCONTROL 0xA3
-#define VK_LMENU 0xA4
-#define VK_RMENU 0xA5
-#if (_WIN32_WINNT >= 0x0500)
-#define VK_BROWSER_BACK 0xA6
-#define VK_BROWSER_FORWARD 0xA7
-#define VK_BROWSER_REFRESH 0xA8
-#define VK_BROWSER_STOP 0xA9
-#define VK_BROWSER_SEARCH 0xAA
-#define VK_BROWSER_FAVORITES 0xAB
-#define VK_BROWSER_HOME 0xAC
-#define VK_VOLUME_MUTE 0xAD
-#define VK_VOLUME_DOWN 0xAE
-#define VK_VOLUME_UP 0xAF
-#define VK_MEDIA_NEXT_TRACK 0xB0
-#define VK_MEDIA_PREV_TRACK 0xB1
-#define VK_MEDIA_STOP 0xB2
-#define VK_MEDIA_PLAY_PAUSE 0xB3
-#define VK_LAUNCH_MAIL 0xB4
-#define VK_LAUNCH_MEDIA_SELECT 0xB5
-#define VK_LAUNCH_APP1 0xB6
-#define VK_LAUNCH_APP2 0xB7
-#endif
-#define VK_OEM_1 0xBA
-#if (_WIN32_WINNT >= 0x0500)
-#define VK_OEM_PLUS 0xBB
-#define VK_OEM_COMMA 0xBC
-#define VK_OEM_MINUS 0xBD
-#define VK_OEM_PERIOD 0xBE
-#endif
-#define VK_OEM_2 0xBF
-#define VK_OEM_3 0xC0
-#define VK_OEM_4 0xDB
-#define VK_OEM_5 0xDC
-#define VK_OEM_6 0xDD
-#define VK_OEM_7 0xDE
-#define VK_OEM_8 0xDF
-#if (_WIN32_WINNT >= 0x0500)
-#define VK_OEM_102 0xE2
-#endif
-#define VK_PROCESSKEY 0xE5
-#if (_WIN32_WINNT >= 0x0500)
-#define VK_PACKET 0xE7
-#endif
-#define VK_ATTN 0xF6
-#define VK_CRSEL 0xF7
-#define VK_EXSEL 0xF8
-#define VK_EREOF 0xF9
-#define VK_PLAY 0xFA
-#define VK_ZOOM 0xFB
-#define VK_NONAME 0xFC
-#define VK_PA1 0xFD
-#define VK_OEM_CLEAR 0xFE
-#define TME_HOVER 1
-#define TME_LEAVE 2
-#define TME_QUERY 0x40000000
-#define TME_CANCEL 0x80000000
-#define HOVER_DEFAULT 0xFFFFFFFF
-#define MK_LBUTTON 1
-#define MK_RBUTTON 2
-#define MK_SHIFT 4
-#define MK_CONTROL 8
-#define MK_MBUTTON 16
-#if(_WIN32_WINNT >= 0x0500)
-#define MK_XBUTTON1 32
-#define MK_XBUTTON2 64
-#endif
-#define TPM_CENTERALIGN 4
-#define TPM_LEFTALIGN 0
-#define TPM_RIGHTALIGN 8
-#define TPM_LEFTBUTTON 0
-#define TPM_RIGHTBUTTON 2
-#define TPM_HORIZONTAL 0
-#define TPM_VERTICAL 64
-#define TPM_TOPALIGN 0
-#define TPM_VCENTERALIGN 16
-#define TPM_BOTTOMALIGN 32
-#define TPM_NONOTIFY 128
-#define TPM_RETURNCMD 256
-#if (_WIN32_WINNT >= 0x0500 || _WIN32_WINDOWS >= 0x0410)
-#define TPM_RECURSE 1
-#endif
-#define HELP_COMMAND 0x102
-#define HELP_CONTENTS 3
-#define HELP_CONTEXT 1
-#define HELP_CONTEXTPOPUP 8
-#define HELP_FORCEFILE 9
-#define HELP_HELPONHELP 4
-#define HELP_INDEX 3
-#define HELP_KEY 0x101
-#define HELP_MULTIKEY 0x201
-#define HELP_PARTIALKEY 0x105
-#define HELP_QUIT 2
-#define HELP_SETCONTENTS 5
-#define HELP_SETINDEX 5
-#define HELP_SETWINPOS 0x203
-#define HELP_CONTEXTMENU 0xa
-#define HELP_FINDER 0xb
-#define HELP_WM_HELP 0xc
-#define HELP_TCARD 0x8000
-#define HELP_TCARD_DATA 16
-#define HELP_TCARD_OTHER_CALLER 0x11
-#define IDH_NO_HELP 28440
-#define IDH_MISSING_CONTEXT 28441
-#define IDH_GENERIC_HELP_BUTTON 28442
-#define IDH_OK 28443
-#define IDH_CANCEL 28444
-#define IDH_HELP 28445
-#define LB_CTLCODE 0
-#define LB_OKAY 0
-#define LB_ERR (-1)
-#define LB_ERRSPACE (-2)
-#define CB_OKAY 0
-#define CB_ERR (-1)
-#define CB_ERRSPACE (-2)
-#define HIDE_WINDOW 0
-#define SHOW_OPENWINDOW 1
-#define SHOW_ICONWINDOW 2
-#define SHOW_FULLSCREEN 3
-#define SHOW_OPENNOACTIVATE 4
-#define SW_PARENTCLOSING 1
-#define SW_OTHERZOOM 2
-#define SW_PARENTOPENING 3
-#define SW_OTHERUNZOOM 4
-#define KF_EXTENDED 256
-#define KF_DLGMODE 2048
-#define KF_MENUMODE 4096
-#define KF_ALTDOWN 8192
-#define KF_REPEAT 16384
-#define KF_UP 32768
-#define WSF_VISIBLE 1
-#define PWR_OK 1
-#define PWR_FAIL (-1)
-#define PWR_SUSPENDREQUEST 1
-#define PWR_SUSPENDRESUME 2
-#define PWR_CRITICALRESUME 3
-#define NFR_ANSI 1
-#define NFR_UNICODE 2
-#define NF_QUERY 3
-#define NF_REQUERY 4
-#define MENULOOP_WINDOW 0
-#define MENULOOP_POPUP 1
-#define WMSZ_LEFT 1
-#define WMSZ_RIGHT 2
-#define WMSZ_TOP 3
-#define WMSZ_TOPLEFT 4
-#define WMSZ_TOPRIGHT 5
-#define WMSZ_BOTTOM 6
-#define WMSZ_BOTTOMLEFT 7
-#define WMSZ_BOTTOMRIGHT 8
-#define HTERROR (-2)
-#define HTTRANSPARENT (-1)
-#define HTNOWHERE 0
-#define HTCLIENT 1
-#define HTCAPTION 2
-#define HTSYSMENU 3
-#define HTGROWBOX 4
-#define HTSIZE 4
-#define HTMENU 5
-#define HTHSCROLL 6
-#define HTVSCROLL 7
-#define HTMINBUTTON 8
-#define HTMAXBUTTON 9
-#define HTREDUCE 8
-#define HTZOOM 9
-#define HTLEFT 10
-#define HTSIZEFIRST 10
-#define HTRIGHT 11
-#define HTTOP 12
-#define HTTOPLEFT 13
-#define HTTOPRIGHT 14
-#define HTBOTTOM 15
-#define HTBOTTOMLEFT 16
-#define HTBOTTOMRIGHT 17
-#define HTSIZELAST 17
-#define HTBORDER 18
-#define HTOBJECT 19
-#define HTCLOSE 20
-#define HTHELP 21
-#define MA_ACTIVATE 1
-#define MA_ACTIVATEANDEAT 2
-#define MA_NOACTIVATE 3
-#define MA_NOACTIVATEANDEAT 4
-#define SIZE_RESTORED 0
-#define SIZE_MINIMIZED 1
-#define SIZE_MAXIMIZED 2
-#define SIZE_MAXSHOW 3
-#define SIZE_MAXHIDE 4
-#define SIZENORMAL 0
-#define SIZEICONIC 1
-#define SIZEFULLSCREEN 2
-#define SIZEZOOMSHOW 3
-#define SIZEZOOMHIDE 4
-#define WVR_ALIGNTOP 16
-#define WVR_ALIGNLEFT 32
-#define WVR_ALIGNBOTTOM 64
-#define WVR_ALIGNRIGHT 128
-#define WVR_HREDRAW 256
-#define WVR_VREDRAW 512
-#define WVR_REDRAW (WVR_HREDRAW|WVR_VREDRAW)
-#define WVR_VALIDRECTS 1024
-#define PRF_CHECKVISIBLE 1
-#define PRF_NONCLIENT 2
-#define PRF_CLIENT 4
-#define PRF_ERASEBKGND 8
-#define PRF_CHILDREN 16
-#define PRF_OWNED 32
-#define IDANI_OPEN 1
-#define IDANI_CLOSE 2
-#define IDANI_CAPTION 3
-#define WPF_RESTORETOMAXIMIZED 2
-#define WPF_SETMINPOSITION 1
-#define ODT_MENU 1
-#define ODT_LISTBOX 2
-#define ODT_COMBOBOX 3
-#define ODT_BUTTON 4
-#define ODT_STATIC 5
-#define ODA_DRAWENTIRE 1
-#define ODA_SELECT 2
-#define ODA_FOCUS 4
-#define ODS_SELECTED 1
-#define ODS_GRAYED 2
-#define ODS_DISABLED 4
-#define ODS_CHECKED 8
-#define ODS_FOCUS 16
-#define ODS_DEFAULT 32
-#define ODS_COMBOBOXEDIT 4096
-#define IDHOT_SNAPWINDOW (-1)
-#define IDHOT_SNAPDESKTOP (-2)
-#define DBWF_LPARAMPOINTER 0x8000
-#define DLGWINDOWEXTRA 30
-#define MNC_IGNORE 0
-#define MNC_CLOSE 1
-#define MNC_EXECUTE 2
-#define MNC_SELECT 3
-#define DOF_EXECUTABLE 0x8001
-#define DOF_DOCUMENT 0x8002
-#define DOF_DIRECTORY 0x8003
-#define DOF_MULTIPLE 0x8004
-#define DOF_PROGMAN 1
-#define DOF_SHELLDATA 2
-#define DO_DROPFILE 0x454C4946
-#define DO_PRINTFILE 0x544E5250
-#define SW_SCROLLCHILDREN 1
-#define SW_INVALIDATE 2
-#define SW_ERASE 4
-#if (_WIN32_WINDOWS >= 0x0410 || _WIN32_WINNT >= 0x0500)
-#define SW_SMOOTHSCROLL 0x0010
-#endif /* (_WIN32_WINDOWS >= 0x0410 || _WIN32_WINNT >= 0x0500) */
-#define SC_SIZE 0xF000
-#define SC_MOVE 0xF010
-#define SC_MINIMIZE 0xF020
-#define SC_ICON 0xf020
-#define SC_MAXIMIZE 0xF030
-#define SC_ZOOM 0xF030
-#define SC_NEXTWINDOW 0xF040
-#define SC_PREVWINDOW 0xF050
-#define SC_CLOSE 0xF060
-#define SC_VSCROLL 0xF070
-#define SC_HSCROLL 0xF080
-#define SC_MOUSEMENU 0xF090
-#define SC_KEYMENU 0xF100
-#define SC_ARRANGE 0xF110
-#define SC_RESTORE 0xF120
-#define SC_TASKLIST 0xF130
-#define SC_SCREENSAVE 0xF140
-#define SC_HOTKEY 0xF150
-#define SC_DEFAULT 0xF160
-#define SC_MONITORPOWER 0xF170
-#define SC_CONTEXTHELP 0xF180
-#define SC_SEPARATOR 0xF00F
-#define EC_LEFTMARGIN 1
-#define EC_RIGHTMARGIN 2
-#define EC_USEFONTINFO 0xffff
-#define DC_HASDEFID 0x534B
-#define DLGC_WANTARROWS 1
-#define DLGC_WANTTAB 2
-#define DLGC_WANTALLKEYS 4
-#define DLGC_WANTMESSAGE 4
-#define DLGC_HASSETSEL 8
-#define DLGC_DEFPUSHBUTTON 16
-#define DLGC_UNDEFPUSHBUTTON 32
-#define DLGC_RADIOBUTTON 64
-#define DLGC_WANTCHARS 128
-#define DLGC_STATIC 256
-#define DLGC_BUTTON 0x2000
-#define LB_CTLCODE 0
-#define WA_INACTIVE 0
-#define WA_ACTIVE 1
-#define WA_CLICKACTIVE 2
-#define ICON_SMALL 0
-#define ICON_BIG 1
-#if (_WIN32_WINNT >= 0x0501)
-#define ICON_SMALL2 2
-#endif
-#define HBMMENU_CALLBACK ((HBITMAP) -1)
-#define HBMMENU_SYSTEM ((HBITMAP)1)
-#define HBMMENU_MBAR_RESTORE ((HBITMAP)2)
-#define HBMMENU_MBAR_MINIMIZE ((HBITMAP)3)
-#define HBMMENU_MBAR_CLOSE ((HBITMAP)5)
-#define HBMMENU_MBAR_CLOSE_D ((HBITMAP)6)
-#define HBMMENU_MBAR_MINIMIZE_D ((HBITMAP)7)
-#define HBMMENU_POPUP_CLOSE ((HBITMAP)8)
-#define HBMMENU_POPUP_RESTORE ((HBITMAP)9)
-#define HBMMENU_POPUP_MAXIMIZE ((HBITMAP)10)
-#define HBMMENU_POPUP_MINIMIZE ((HBITMAP)11)
-#define MOD_ALT 1
-#define MOD_CONTROL 2
-#define MOD_SHIFT 4
-#define MOD_WIN 8
-#define MOD_IGNORE_ALL_MODIFIER 1024
-#define MOD_ON_KEYUP 2048
-#define MOD_RIGHT 16384
-#define MOD_LEFT 32768
-#define LLKHF_EXTENDED (KF_EXTENDED >> 8)
-#define LLKHF_INJECTED 0x00000010
-#define LLKHF_ALTDOWN (KF_ALTDOWN >> 8)
-#define LLKHF_UP (KF_UP >> 8)
-#if (WINVER >= 0x0500)
-#define FLASHW_STOP 0
-#define FLASHW_CAPTION 1
-#define FLASHW_TRAY 2
-#define FLASHW_ALL (FLASHW_CAPTION|FLASHW_TRAY)
-#define FLASHW_TIMER 4
-#define FLASHW_TIMERNOFG 12
-#endif /* (WINVER >= 0x0500) */
-#define CURSOR_SHOWING 0x00000001
-#define WS_ACTIVECAPTION 0x00000001
-#if (_WIN32_WINNT >= 0x0403)
-#define INPUT_MOUSE 0x00000000
-#define INPUT_KEYBOARD 0x00000001
-#define INPUT_HARDWARE 0x00000002
-#endif /* (_WIN32_WINNT >= 0x0403) */
-#if (WINVER >= 0x0400)
-#define ENDSESSION_LOGOFF 0x80000000
-#endif
-#if (WINVER >= 0x0500)
-#define CHILDID_SELF 0
-#define OBJID_WINDOW 0x00000000
-#define OBJID_SYSMENU 0xFFFFFFFF
-#define OBJID_TITLEBAR 0xFFFFFFFE
-#define OBJID_MENU 0xFFFFFFFD
-#define OBJID_CLIENT 0xFFFFFFFC
-#define OBJID_VSCROLL 0xFFFFFFFB
-#define OBJID_HSCROLL 0xFFFFFFFA
-#define OBJID_SIZEGRIP 0xFFFFFFF9
-#define OBJID_CARET 0xFFFFFFF8
-#define OBJID_CURSOR 0xFFFFFFF7
-#define OBJID_ALERT 0xFFFFFFF6
-#define OBJID_SOUND 0xFFFFFFF5
-#define GUI_CARETBLINKING 0x00000001
-#define GUI_INMOVESIZE 0x00000002
-#define GUI_INMENUMODE 0x00000004
-#define GUI_SYSTEMMENUMODE 0x00000008
-#define GUI_POPUPMENUMODE 0x00000010
-#if (_WIN32_WINNT >= 0x0501)
-#define GUI_16BITTASK 0x00000020
-#endif
-#define WINEVENT_OUTOFCONTEXT 0x0000
-#define WINEVENT_SKIPOWNTHREAD 0x0001
-#define WINEVENT_SKIPOWNPROCESS 0x0002
-#define WINEVENT_INCONTEXT 0x0004
-#define AW_HOR_POSITIVE 0x00000001
-#define AW_HOR_NEGATIVE 0x00000002
-#define AW_VER_POSITIVE 0x00000004
-#define AW_VER_NEGATIVE 0x00000008
-#define AW_CENTER 0x00000010
-#define AW_HIDE 0x00010000
-#define AW_ACTIVATE 0x00020000
-#define AW_SLIDE 0x00040000
-#define AW_BLEND 0x00080000
-#define DEVICE_NOTIFY_WINDOW_HANDLE 0x00000000
-#define DEVICE_NOTIFY_SERVICE_HANDLE 0x00000001
-#if (_WIN32_WINNT >= 0x0501)
-#define DEVICE_NOTIFY_ALL_INTERFACE_CLASSES 0x00000004
-#endif
-#define EVENT_MIN 0x00000001
-#define EVENT_SYSTEM_SOUND 0x00000001
-#define EVENT_SYSTEM_ALERT 0x00000002
-#define EVENT_SYSTEM_FOREGROUND 0x00000003
-#define EVENT_SYSTEM_MENUSTART 0x00000004
-#define EVENT_SYSTEM_MENUEND 0x00000005
-#define EVENT_SYSTEM_MENUPOPUPSTART 0x00000006
-#define EVENT_SYSTEM_MENUPOPUPEND 0x00000007
-#define EVENT_SYSTEM_CAPTURESTART 0x00000008
-#define EVENT_SYSTEM_CAPTUREEND 0x00000009
-#define EVENT_SYSTEM_MOVESIZESTART 0x0000000a
-#define EVENT_SYSTEM_MOVESIZEEND 0x0000000b
-#define EVENT_SYSTEM_CONTEXTHELPSTART 0x0000000c
-#define EVENT_SYSTEM_CONTEXTHELPEND 0x0000000d
-#define EVENT_SYSTEM_DRAGDROPSTART 0x0000000e
-#define EVENT_SYSTEM_DRAGDROPEND 0x0000000f
-#define EVENT_SYSTEM_DIALOGSTART 0x00000010
-#define EVENT_SYSTEM_DIALOGEND 0x00000011
-#define EVENT_SYSTEM_SCROLLINGSTART 0x00000012
-#define EVENT_SYSTEM_SCROLLINGEND 0x00000013
-#define EVENT_SYSTEM_SWITCHSTART 0x00000014
-#define EVENT_SYSTEM_SWITCHEND 0x00000015
-#define EVENT_SYSTEM_MINIMIZESTART 0x00000016
-#define EVENT_SYSTEM_MINIMIZEEND 0x00000017
-#define EVENT_OBJECT_CREATE 0x00008000
-#define EVENT_OBJECT_DESTROY 0x00008001
-#define EVENT_OBJECT_SHOW 0x00008002
-#define EVENT_OBJECT_HIDE 0x00008003
-#define EVENT_OBJECT_REORDER 0x00008004
-#define EVENT_OBJECT_FOCUS 0x00008005
-#define EVENT_OBJECT_SELECTION 0x00008006
-#define EVENT_OBJECT_SELECTIONADD 0x00008007
-#define EVENT_OBJECT_SELECTIONREMOVE 0x00008008
-#define EVENT_OBJECT_SELECTIONWITHIN 0x00008009
-#define EVENT_OBJECT_STATECHANGE 0x0000800a
-#define EVENT_OBJECT_LOCATIONCHANGE 0x0000800b
-#define EVENT_OBJECT_NAMECHANGE 0x0000800c
-#define EVENT_OBJECT_DESCRIPTIONCHANGE 0x0000800d
-#define EVENT_OBJECT_VALUECHANGE 0x0000800e
-#define EVENT_OBJECT_PARENTCHANGE 0x0000800f
-#define EVENT_OBJECT_HELPCHANGE 0x00008010
-#define EVENT_OBJECT_DEFACTIONCHANGE 0x00008011
-#define EVENT_OBJECT_ACCELERATORCHANGE 0x00008012
-#if (_WIN32_WINNT >= 0x0501)
-#define EVENT_CONSOLE_CARET 0x00004001
-#define CONSOLE_CARET_SELECTION 0x00000001
-#define CONSOLE_CARET_VISIBLE 0x00000002
-#define EVENT_CONSOLE_UPDATE_REGION 0x00004002
-#define EVENT_CONSOLE_UPDATE_SIMPLE 0x00004003
-#define EVENT_CONSOLE_UPDATE_SCROLL 0x00004004
-#define EVENT_CONSOLE_LAYOUT 0x00004005
-#define EVENT_CONSOLE_START_APPLICATION 0x00004006
-#define CONSOLE_APPLICATION_16BIT 0x00000001
-#define EVENT_CONSOLE_END_APPLICATION 0x00004007
-#endif /* (_WIN32_WINNT >= 0x0501) */
-#define EVENT_MAX 0x7fffffff
-#endif /* (WINVER >= 0x0500) */
-#if (_WIN32_WINNT >= 0x0500 || _WIN32_WINDOWS >= 0x0490)
-#define ASFW_ANY ((DWORD)-1)
-#define LSFW_LOCK 1
-#define LSFW_UNLOCK 2
-#endif
-#if (_WIN32_WINNT >= 0x0500)
-#define LWA_COLORKEY 0x01
-#define LWA_ALPHA 0x02
-#define ULW_COLORKEY 0x01
-#define ULW_ALPHA 0x02
-#define ULW_OPAQUE 0x04
-#endif
-#define GA_PARENT 1
-#define GA_ROOT 2
-#define GA_ROOTOWNER 3
-#if (_WIN32_WINNT >= 0x0500 || _WIN32_WINDOWS >= 0x0410)
-#define MONITOR_DEFAULTTONULL 0
-#define MONITOR_DEFAULTTOPRIMARY 1
-#define MONITOR_DEFAULTTONEAREST 2
-#define MONITORINFOF_PRIMARY 1
-#define EDS_RAWMODE 0x00000002
-#define ISMEX_NOSEND 0x00000000
-#define ISMEX_CALLBACK 0x00000004
-#define ISMEX_NOTIFY 0x00000002
-#define ISMEX_REPLIED 0x00000008
-#define ISMEX_SEND 0x00000001
-#endif
-#if (_WIN32_WINNT >= 0x0500)
-#define GR_GDIOBJECTS 0
-#define GR_USEROBJECTS 1
-#endif
-#if (_WIN32_WINNT >= 0x0500 || _WIN32_WINDOWS >= 0x0490)
-#define GMMP_USE_DISPLAY_POINTS 1
-#define GMMP_USE_HIGH_RESOLUTION_POINTS 2
-#endif
-#if (_WIN32_WINNT >= 0x0501)
-#define PW_CLIENTONLY 0x00000001
-#define RIM_INPUT 0x00000000
-#define RIM_INPUTSINK 0x00000001
-#define RIM_TYPEMOUSE 0x00000000
-#define RIM_TYPEKEYBOARD 0x00000001
-#define RIM_TYPEHID 0x00000002
-#define MOUSE_MOVE_RELATIVE 0x00000000
-#define MOUSE_MOVE_ABSOLUTE 0x00000001
-#define MOUSE_VIRTUAL_DESKTOP 0x00000002
-#define MOUSE_ATTRIBUTES_CHANGED 0x00000004
-#define RI_MOUSE_LEFT_BUTTON_DOWN 0x0001
-#define RI_MOUSE_LEFT_BUTTON_UP 0x0002
-#define RI_MOUSE_RIGHT_BUTTON_DOWN 0x0004
-#define RI_MOUSE_RIGHT_BUTTON_UP 0x0008
-#define RI_MOUSE_MIDDLE_BUTTON_DOWN 0x0010
-#define RI_MOUSE_MIDDLE_BUTTON_UP 0x0020
-#define RI_MOUSE_BUTTON_1_DOWN RI_MOUSE_LEFT_BUTTON_DOWN
-#define RI_MOUSE_BUTTON_1_UP RI_MOUSE_LEFT_BUTTON_UP
-#define RI_MOUSE_BUTTON_2_DOWN RI_MOUSE_RIGHT_BUTTON_DOWN
-#define RI_MOUSE_BUTTON_2_UP RI_MOUSE_RIGHT_BUTTON_UP
-#define RI_MOUSE_BUTTON_3_DOWN RI_MOUSE_MIDDLE_BUTTON_DOWN
-#define RI_MOUSE_BUTTON_3_UP RI_MOUSE_MIDDLE_BUTTON_UP
-#define RI_MOUSE_BUTTON_4_DOWN 0x0040
-#define RI_MOUSE_BUTTON_4_UP 0x0080
-#define RI_MOUSE_BUTTON_5_DOWN 0x0100
-#define RI_MOUSE_BUTTON_5_UP 0x0200
-#define RI_MOUSE_WHEEL 0x0400
-#define KEYBOARD_OVERRUN_MAKE_CODE 0x00ff
-#define RI_KEY_MAKE 0x0000
-#define RI_KEY_BREAK 0x0001
-#define RI_KEY_E0 0x0002
-#define RI_KEY_E1 0x0004
-#define RI_KEY_TERMSRV_SET_LED 0x0008
-#define RI_KEY_TERMSRV_SHADOW 0x0010
-#define RID_INPUT 0x10000003
-#define RID_HEADER 0x10000005
-#define RIDI_PREPARSEDDATA 0x20000005
-#define RIDI_DEVICENAME 0x20000007
-#define RIDI_DEVICEINFO 0x2000000b
-#define RIDEV_REMOVE 0x00000001
-#define RIDEV_EXCLUDE 0x00000010
-#define RIDEV_PAGEONLY 0x00000020
-#define RIDEV_NOLEGACY 0x00000030
-#define RIDEV_INPUTSINK 0x00000100
-#define RIDEV_CAPTUREMOUSE 0x00000200
-#define RIDEV_NOHOTKEYS 0x00000200
-#define RIDEV_APPKEYS 0x00000400
-#endif
-
-#ifndef RC_INVOKED
-typedef BOOL(CALLBACK *DLGPROC)(HWND,UINT,WPARAM,LPARAM);
-typedef VOID(CALLBACK *TIMERPROC)(HWND,UINT,UINT,DWORD);
-typedef BOOL(CALLBACK *GRAYSTRINGPROC)(HDC,LPARAM,int);
-typedef LRESULT(CALLBACK *HOOKPROC)(int,WPARAM,LPARAM);
-typedef BOOL(CALLBACK *PROPENUMPROCA)(HWND,LPCSTR,HANDLE);
-typedef BOOL(CALLBACK *PROPENUMPROCW)(HWND,LPCWSTR,HANDLE);
-typedef BOOL(CALLBACK *PROPENUMPROCEXA)(HWND,LPSTR,HANDLE,DWORD);
-typedef BOOL(CALLBACK *PROPENUMPROCEXW)(HWND,LPWSTR,HANDLE,DWORD);
-typedef int(CALLBACK *EDITWORDBREAKPROCA)(LPSTR,int,int,int);
-typedef int(CALLBACK *EDITWORDBREAKPROCW)(LPWSTR,int,int,int);
-typedef LRESULT(CALLBACK *WNDPROC)(HWND,UINT,WPARAM,LPARAM);
-typedef BOOL(CALLBACK *DRAWSTATEPROC)(HDC,LPARAM,WPARAM,int,int);
-typedef BOOL(CALLBACK *WNDENUMPROC)(HWND,LPARAM);
-typedef BOOL(CALLBACK *ENUMWINDOWSPROC)(HWND,LPARAM);
-typedef BOOL(CALLBACK* MONITORENUMPROC)(HMONITOR,HDC,LPRECT,LPARAM);
-typedef BOOL(CALLBACK *NAMEENUMPROCA)(LPSTR,LPARAM);
-typedef BOOL(CALLBACK *NAMEENUMPROCW)(LPWSTR,LPARAM);
-typedef NAMEENUMPROCA DESKTOPENUMPROCA;
-typedef NAMEENUMPROCW DESKTOPENUMPROCW;
-typedef NAMEENUMPROCA WINSTAENUMPROCA;
-typedef NAMEENUMPROCW WINSTAENUMPROCW;
-typedef void(CALLBACK *SENDASYNCPROC)(HWND,UINT,DWORD,LRESULT);
-DECLARE_HANDLE(HHOOK);
-DECLARE_HANDLE(HDWP);
-DECLARE_HANDLE(HDEVNOTIFY);
-typedef struct tagACCEL {
- BYTE fVirt;
- WORD key;
- WORD cmd;
-} ACCEL,*LPACCEL;
-typedef struct tagACCESSTIMEOUT {
- UINT cbSize;
- DWORD dwFlags;
- DWORD iTimeOutMSec;
-} ACCESSTIMEOUT, *LPACCESSTIMEOUT;
-typedef struct tagANIMATIONINFO {
- UINT cbSize;
- int iMinAnimate;
-} ANIMATIONINFO,*LPANIMATIONINFO;
-typedef struct tagCREATESTRUCTA {
- LPVOID lpCreateParams;
- HINSTANCE hInstance;
- HMENU hMenu;
- HWND hwndParent;
- int cy;
- int cx;
- int y;
- int x;
- LONG style;
- LPCSTR lpszName;
- LPCSTR lpszClass;
- DWORD dwExStyle;
-} CREATESTRUCTA,*LPCREATESTRUCTA;
-typedef struct tagCREATESTRUCTW {
- LPVOID lpCreateParams;
- HINSTANCE hInstance;
- HMENU hMenu;
- HWND hwndParent;
- int cy;
- int cx;
- int y;
- int x;
- LONG style;
- LPCWSTR lpszName;
- LPCWSTR lpszClass;
- DWORD dwExStyle;
-} CREATESTRUCTW,*LPCREATESTRUCTW;
-typedef struct tagCBT_CREATEWNDA {
- LPCREATESTRUCTA lpcs;
- HWND hwndInsertAfter;
-} CBT_CREATEWNDA, *LPCBT_CREATEWNDA;
-typedef struct tagCBT_CREATEWNDW {
- LPCREATESTRUCTW lpcs;
- HWND hwndInsertAfter;
-} CBT_CREATEWNDW, *LPCBT_CREATEWNDW;
-typedef struct tagCBTACTIVATESTRUCT {
- BOOL fMouse;
- HWND hWndActive;
-} CBTACTIVATESTRUCT,*LPCBTACTIVATESTRUCT;
-typedef struct tagCLIENTCREATESTRUCT {
- HANDLE hWindowMenu;
- UINT idFirstChild;
-} CLIENTCREATESTRUCT,*LPCLIENTCREATESTRUCT;
-typedef struct tagCOMPAREITEMSTRUCT {
- UINT CtlType;
- UINT CtlID;
- HWND hwndItem;
- UINT itemID1;
- DWORD itemData1;
- UINT itemID2;
- DWORD itemData2;
- DWORD dwLocaleId;
-} COMPAREITEMSTRUCT,*LPCOMPAREITEMSTRUCT;
-typedef struct tagCOPYDATASTRUCT {
- DWORD dwData;
- DWORD cbData;
- PVOID lpData;
-} COPYDATASTRUCT,*PCOPYDATASTRUCT;
-typedef struct tagCURSORSHAPE {
- int xHotSpot;
- int yHotSpot;
- int cx;
- int cy;
- int cbWidth;
- BYTE Planes;
- BYTE BitsPixel;
-} CURSORSHAPE,*LPCURSORSHAPE;
-typedef struct tagCWPRETSTRUCT {
- LRESULT lResult;
- LPARAM lParam;
- WPARAM wParam;
- DWORD message;
- HWND hwnd;
-} CWPRETSTRUCT;
-typedef struct tagCWPSTRUCT {
- LPARAM lParam;
- WPARAM wParam;
- UINT message;
- HWND hwnd;
-} CWPSTRUCT,*PCWPSTRUCT;
-typedef struct tagDEBUGHOOKINFO {
- DWORD idThread;
- DWORD idThreadInstaller;
- LPARAM lParam;
- WPARAM wParam;
- int code;
-} DEBUGHOOKINFO,*PDEBUGHOOKINFO,*LPDEBUGHOOKINFO;
-typedef struct tagDELETEITEMSTRUCT {
- UINT CtlType;
- UINT CtlID;
- UINT itemID;
- HWND hwndItem;
- UINT itemData;
-} DELETEITEMSTRUCT,*PDELETEITEMSTRUCT,*LPDELETEITEMSTRUCT;
-#pragma pack(push,2)
-typedef struct {
- DWORD style;
- DWORD dwExtendedStyle;
- short x;
- short y;
- short cx;
- short cy;
- WORD id;
-} DLGITEMTEMPLATE,*LPDLGITEMTEMPLATE;
-typedef struct {
- DWORD style;
- DWORD dwExtendedStyle;
- WORD cdit;
- short x;
- short y;
- short cx;
- short cy;
-} DLGTEMPLATE,*LPDLGTEMPLATE,*LPDLGTEMPLATEA,*LPDLGTEMPLATEW;
-typedef const DLGTEMPLATE *LPCDLGTEMPLATE;
-#pragma pack(pop)
-typedef struct tagDRAWITEMSTRUCT {
- UINT CtlType;
- UINT CtlID;
- UINT itemID;
- UINT itemAction;
- UINT itemState;
- HWND hwndItem;
- HDC hDC;
- RECT rcItem;
- DWORD itemData;
-} DRAWITEMSTRUCT,*LPDRAWITEMSTRUCT,*PDRAWITEMSTRUCT;
-typedef struct {
- UINT cbSize;
- int iTabLength;
- int iLeftMargin;
- int iRightMargin;
- UINT uiLengthDrawn;
-} DRAWTEXTPARAMS,*LPDRAWTEXTPARAMS;
-typedef struct tagPAINTSTRUCT {
- HDC hdc;
- BOOL fErase;
- RECT rcPaint;
- BOOL fRestore;
- BOOL fIncUpdate;
- BYTE rgbReserved[32];
-} PAINTSTRUCT,*LPPAINTSTRUCT;
-typedef struct tagMSG {
- HWND hwnd;
- UINT message;
- WPARAM wParam;
- LPARAM lParam;
- DWORD time;
- POINT pt;
-} MSG,*LPMSG,*PMSG;
-typedef struct _ICONINFO {
- BOOL fIcon;
- DWORD xHotspot;
- DWORD yHotspot;
- HBITMAP hbmMask;
- HBITMAP hbmColor;
-} ICONINFO,*PICONINFO;
-typedef struct tagNMHDR {
- HWND hwndFrom;
- UINT idFrom;
- UINT code;
-} NMHDR,*LPNMHDR;
-typedef struct _WNDCLASSA {
- UINT style;
- WNDPROC lpfnWndProc;
- int cbClsExtra;
- int cbWndExtra;
- HINSTANCE hInstance;
- HICON hIcon;
- HCURSOR hCursor;
- HBRUSH hbrBackground;
- LPCSTR lpszMenuName;
- LPCSTR lpszClassName;
-} WNDCLASSA,*LPWNDCLASSA,*PWNDCLASSA;
-typedef struct _WNDCLASSW {
- UINT style;
- WNDPROC lpfnWndProc;
- int cbClsExtra;
- int cbWndExtra;
- HINSTANCE hInstance;
- HICON hIcon;
- HCURSOR hCursor;
- HBRUSH hbrBackground;
- LPCWSTR lpszMenuName;
- LPCWSTR lpszClassName;
-} WNDCLASSW,*LPWNDCLASSW,*PWNDCLASSW;
-typedef struct _WNDCLASSEXA {
- UINT cbSize;
- UINT style;
- WNDPROC lpfnWndProc;
- int cbClsExtra;
- int cbWndExtra;
- HINSTANCE hInstance;
- HICON hIcon;
- HCURSOR hCursor;
- HBRUSH hbrBackground;
- LPCSTR lpszMenuName;
- LPCSTR lpszClassName;
- HICON hIconSm;
-} WNDCLASSEXA,*LPWNDCLASSEXA,*PWNDCLASSEXA;
-typedef struct _WNDCLASSEXW {
- UINT cbSize;
- UINT style;
- WNDPROC lpfnWndProc;
- int cbClsExtra;
- int cbWndExtra;
- HINSTANCE hInstance;
- HICON hIcon;
- HCURSOR hCursor;
- HBRUSH hbrBackground;
- LPCWSTR lpszMenuName;
- LPCWSTR lpszClassName;
- HICON hIconSm;
-} WNDCLASSEXW,*LPWNDCLASSEXW,*PWNDCLASSEXW;
-typedef struct tagMENUITEMINFOA {
- UINT cbSize;
- UINT fMask;
- UINT fType;
- UINT fState;
- UINT wID;
- HMENU hSubMenu;
- HBITMAP hbmpChecked;
- HBITMAP hbmpUnchecked;
- DWORD dwItemData;
- LPSTR dwTypeData;
- UINT cch;
-#if (_WIN32_WINNT >= 0x0500)
- HBITMAP hbmpItem;
-#endif
-} MENUITEMINFOA,*LPMENUITEMINFOA;
-typedef const MENUITEMINFOA *LPCMENUITEMINFOA;
-typedef struct tagMENUITEMINFOW {
- UINT cbSize;
- UINT fMask;
- UINT fType;
- UINT fState;
- UINT wID;
- HMENU hSubMenu;
- HBITMAP hbmpChecked;
- HBITMAP hbmpUnchecked;
- DWORD dwItemData;
- LPWSTR dwTypeData;
- UINT cch;
-#if (_WIN32_WINNT >= 0x0500)
- HBITMAP hbmpItem;
-#endif
-} MENUITEMINFOW,*LPMENUITEMINFOW;
-typedef const MENUITEMINFOW *LPCMENUITEMINFOW;
-typedef struct tagSCROLLINFO {
- UINT cbSize;
- UINT fMask;
- int nMin;
- int nMax;
- UINT nPage;
- int nPos;
- int nTrackPos;
-} SCROLLINFO,*LPSCROLLINFO;
-typedef const SCROLLINFO *LPCSCROLLINFO;
-typedef struct _WINDOWPLACEMENT {
- UINT length;
- UINT flags;
- UINT showCmd;
- POINT ptMinPosition;
- POINT ptMaxPosition;
- RECT rcNormalPosition;
-} WINDOWPLACEMENT,*LPWINDOWPLACEMENT,*PWINDOWPLACEMENT;
-typedef struct {
- WORD versionNumber;
- WORD offset;
-} MENUITEMTEMPLATEHEADER;
-typedef struct {
- WORD mtOption;
- WORD mtID;
- WCHAR mtString[1];
-} MENUITEMTEMPLATE;
-typedef void MENUTEMPLATE,MENUTEMPLATEA,MENUTEMPLATEW,*LPMENUTEMPLATEA,*LPMENUTEMPLATEW,*LPMENUTEMPLATE;
-typedef struct tagHELPINFO {
- UINT cbSize;
- int iContextType;
- int iCtrlId;
- HANDLE hItemHandle;
- DWORD dwContextId;
- POINT MousePos;
-} HELPINFO,*LPHELPINFO;
-typedef void(CALLBACK *MSGBOXCALLBACK)(LPHELPINFO);
-typedef struct {
- UINT cbSize;
- HWND hwndOwner;
- HINSTANCE hInstance;
- LPCSTR lpszText;
- LPCSTR lpszCaption;
- DWORD dwStyle;
- LPCSTR lpszIcon;
- DWORD dwContextHelpId;
- MSGBOXCALLBACK lpfnMsgBoxCallback;
- DWORD dwLanguageId;
-} MSGBOXPARAMSA,*PMSGBOXPARAMSA,*LPMSGBOXPARAMSA;
-typedef struct {
- UINT cbSize;
- HWND hwndOwner;
- HINSTANCE hInstance;
- LPCWSTR lpszText;
- LPCWSTR lpszCaption;
- DWORD dwStyle;
- LPCWSTR lpszIcon;
- DWORD dwContextHelpId;
- MSGBOXCALLBACK lpfnMsgBoxCallback;
- DWORD dwLanguageId;
-} MSGBOXPARAMSW,*PMSGBOXPARAMSW,*LPMSGBOXPARAMSW;
-typedef struct tagUSEROBJECTFLAGS {
- BOOL fInherit;
- BOOL fReserved;
- DWORD dwFlags;
-} USEROBJECTFLAGS;
-typedef struct tagFILTERKEYS {
- UINT cbSize;
- DWORD dwFlags;
- DWORD iWaitMSec;
- DWORD iDelayMSec;
- DWORD iRepeatMSec;
- DWORD iBounceMSec;
-} FILTERKEYS;
-typedef struct tagHIGHCONTRASTA {
- UINT cbSize;
- DWORD dwFlags;
- LPSTR lpszDefaultScheme;
-} HIGHCONTRASTA,*LPHIGHCONTRASTA;
-typedef struct tagHIGHCONTRASTW {
- UINT cbSize;
- DWORD dwFlags;
- LPWSTR lpszDefaultScheme;
-} HIGHCONTRASTW,*LPHIGHCONTRASTW;
-#ifndef NOGDI
-typedef struct tagICONMETRICSA {
- UINT cbSize;
- int iHorzSpacing;
- int iVertSpacing;
- int iTitleWrap;
- LOGFONTA lfFont;
-} ICONMETRICSA,*LPICONMETRICSA;
-typedef struct tagICONMETRICSW {
- UINT cbSize;
- int iHorzSpacing;
- int iVertSpacing;
- int iTitleWrap;
- LOGFONTW lfFont;
-} ICONMETRICSW,*LPICONMETRICSW;
-#endif /* NOGDI */
-typedef struct tagMINIMIZEDMETRICS {
- UINT cbSize;
- int iWidth;
- int iHorzGap;
- int iVertGap;
- int iArrange;
-} MINIMIZEDMETRICS,*LPMINIMIZEDMETRICS;
-typedef struct tagMOUSEKEYS{
- UINT cbSize;
- DWORD dwFlags;
- DWORD iMaxSpeed;
- DWORD iTimeToMaxSpeed;
- DWORD iCtrlSpeed;
- DWORD dwReserved1;
- DWORD dwReserved2;
-} MOUSEKEYS,*LPMOUSEKEYS;
-#ifndef NOGDI
-typedef struct tagNONCLIENTMETRICSA {
- UINT cbSize;
- int iBorderWidth;
- int iScrollWidth;
- int iScrollHeight;
- int iCaptionWidth;
- int iCaptionHeight;
- LOGFONTA lfCaptionFont;
- int iSmCaptionWidth;
- int iSmCaptionHeight;
- LOGFONTA lfSmCaptionFont;
- int iMenuWidth;
- int iMenuHeight;
- LOGFONTA lfMenuFont;
- LOGFONTA lfStatusFont;
- LOGFONTA lfMessageFont;
-} NONCLIENTMETRICSA,*LPNONCLIENTMETRICSA;
-typedef struct tagNONCLIENTMETRICSW {
- UINT cbSize;
- int iBorderWidth;
- int iScrollWidth;
- int iScrollHeight;
- int iCaptionWidth;
- int iCaptionHeight;
- LOGFONTW lfCaptionFont;
- int iSmCaptionWidth;
- int iSmCaptionHeight;
- LOGFONTW lfSmCaptionFont;
- int iMenuWidth;
- int iMenuHeight;
- LOGFONTW lfMenuFont;
- LOGFONTW lfStatusFont;
- LOGFONTW lfMessageFont;
-} NONCLIENTMETRICSW,*LPNONCLIENTMETRICSW;
-#endif
-typedef struct tagSERIALKEYSA {
- UINT cbSize;
- DWORD dwFlags;
- LPSTR lpszActivePort;
- LPSTR lpszPort;
- UINT iBaudRate;
- UINT iPortState;
- UINT iActive;
-} SERIALKEYSA,*LPSERIALKEYSA;
-typedef struct tagSERIALKEYSW {
- UINT cbSize;
- DWORD dwFlags;
- LPWSTR lpszActivePort;
- LPWSTR lpszPort;
- UINT iBaudRate;
- UINT iPortState;
- UINT iActive;
-} SERIALKEYSW,*LPSERIALKEYSW;
-typedef struct tagSOUNDSENTRYA {
- UINT cbSize;
- DWORD dwFlags;
- DWORD iFSTextEffect;
- DWORD iFSTextEffectMSec;
- DWORD iFSTextEffectColorBits;
- DWORD iFSGrafEffect;
- DWORD iFSGrafEffectMSec;
- DWORD iFSGrafEffectColor;
- DWORD iWindowsEffect;
- DWORD iWindowsEffectMSec;
- LPSTR lpszWindowsEffectDLL;
- DWORD iWindowsEffectOrdinal;
-} SOUNDSENTRYA,*LPSOUNDSENTRYA;
-typedef struct tagSOUNDSENTRYW {
- UINT cbSize;
- DWORD dwFlags;
- DWORD iFSTextEffect;
- DWORD iFSTextEffectMSec;
- DWORD iFSTextEffectColorBits;
- DWORD iFSGrafEffect;
- DWORD iFSGrafEffectMSec;
- DWORD iFSGrafEffectColor;
- DWORD iWindowsEffect;
- DWORD iWindowsEffectMSec;
- LPWSTR lpszWindowsEffectDLL;
- DWORD iWindowsEffectOrdinal;
-} SOUNDSENTRYW,*LPSOUNDSENTRYW;
-typedef struct tagSTICKYKEYS {
- DWORD cbSize;
- DWORD dwFlags;
-} STICKYKEYS,*LPSTICKYKEYS;
-typedef struct tagTOGGLEKEYS {
- DWORD cbSize;
- DWORD dwFlags;
-} TOGGLEKEYS;
-typedef struct tagMOUSEHOOKSTRUCT {
- POINT pt;
- HWND hwnd;
- UINT wHitTestCode;
- DWORD dwExtraInfo;
-} MOUSEHOOKSTRUCT,*LPMOUSEHOOKSTRUCT,*PMOUSEHOOKSTRUCT;
-typedef struct tagTRACKMOUSEEVENT {
- DWORD cbSize;
- DWORD dwFlags;
- HWND hwndTrack;
- DWORD dwHoverTime;
-} TRACKMOUSEEVENT,*LPTRACKMOUSEEVENT;
-typedef struct tagTPMPARAMS {
- UINT cbSize;
- RECT rcExclude;
-} TPMPARAMS,*LPTPMPARAMS;
-typedef struct tagEVENTMSG {
- UINT message;
- UINT paramL;
- UINT paramH;
- DWORD time;
- HWND hwnd;
-} EVENTMSG,*PEVENTMSGMSG,*LPEVENTMSGMSG,*PEVENTMSG,*LPEVENTMSG;
-typedef struct _WINDOWPOS {
- HWND hwnd;
- HWND hwndInsertAfter;
- int x;
- int y;
- int cx;
- int cy;
- UINT flags;
-} WINDOWPOS,*PWINDOWPOS,*LPWINDOWPOS;
-typedef struct tagNCCALCSIZE_PARAMS {
- RECT rgrc[3];
- PWINDOWPOS lppos;
-} NCCALCSIZE_PARAMS, *LPNCCALCSIZE_PARAMS;
-typedef struct tagMDICREATESTRUCTA {
- LPCSTR szClass;
- LPCSTR szTitle;
- HANDLE hOwner;
- int x;
- int y;
- int cx;
- int cy;
- DWORD style;
- LPARAM lParam;
-} MDICREATESTRUCTA,*LPMDICREATESTRUCTA;
-typedef struct tagMDICREATESTRUCTW {
- LPCWSTR szClass;
- LPCWSTR szTitle;
- HANDLE hOwner;
- int x;
- int y;
- int cx;
- int cy;
- DWORD style;
- LPARAM lParam;
-} MDICREATESTRUCTW,*LPMDICREATESTRUCTW;
-typedef struct tagMINMAXINFO {
- POINT ptReserved;
- POINT ptMaxSize;
- POINT ptMaxPosition;
- POINT ptMinTrackSize;
- POINT ptMaxTrackSize;
-} MINMAXINFO,*PMINMAXINFO,*LPMINMAXINFO;
-typedef struct tagMDINEXTMENU {
- HMENU hmenuIn;
- HMENU hmenuNext;
- HWND hwndNext;
-} MDINEXTMENU,*PMDINEXTMENU,*LPMDINEXTMENU;
-typedef struct tagMEASUREITEMSTRUCT {
- UINT CtlType;
- UINT CtlID;
- UINT itemID;
- UINT itemWidth;
- UINT itemHeight;
- DWORD itemData;
-} MEASUREITEMSTRUCT,*PMEASUREITEMSTRUCT,*LPMEASUREITEMSTRUCT;
-typedef struct tagDROPSTRUCT {
- HWND hwndSource;
- HWND hwndSink;
- DWORD wFmt;
- DWORD dwData;
- POINT ptDrop;
- DWORD dwControlData;
-} DROPSTRUCT,*PDROPSTRUCT,*LPDROPSTRUCT;
-typedef DWORD HELPPOLY;
-typedef struct tagMULTIKEYHELPA {
- DWORD mkSize;
- CHAR mkKeylist;
- CHAR szKeyphrase[1];
-} MULTIKEYHELPA,*PMULTIKEYHELPA,*LPMULTIKEYHELPA;
-typedef struct tagMULTIKEYHELPW {
- DWORD mkSize;
- WCHAR mkKeylist;
- WCHAR szKeyphrase[1];
-} MULTIKEYHELPW,*PMULTIKEYHELPW,*LPMULTIKEYHELPW;
-typedef struct tagHELPWININFOA {
- int wStructSize;
- int x;
- int y;
- int dx;
- int dy;
- int wMax;
- CHAR rgchMember[2];
-} HELPWININFOA,*PHELPWININFOA,*LPHELPWININFOA;
-typedef struct tagHELPWININFOW {
- int wStructSize;
- int x;
- int y;
- int dx;
- int dy;
- int wMax;
- WCHAR rgchMember[2];
-} HELPWININFOW,*PHELPWININFOW,*LPHELPWININFOW;
-typedef struct tagSTYLESTRUCT {
- DWORD styleOld;
- DWORD styleNew;
-} STYLESTRUCT,*LPSTYLESTRUCT;
-typedef struct tagALTTABINFO {
- DWORD cbSize;
- int cItems;
- int cColumns;
- int cRows;
- int iColFocus;
- int iRowFocus;
- int cxItem;
- int cyItem;
- POINT ptStart;
-} ALTTABINFO,*PALTTABINFO,*LPALTTABINFO;
-typedef struct tagCOMBOBOXINFO {
- DWORD cbSize;
- RECT rcItem;
- RECT rcButton;
- DWORD stateButton;
- HWND hwndCombo;
- HWND hwndItem;
- HWND hwndList;
-} COMBOBOXINFO,*PCOMBOBOXINFO,*LPCOMBOBOXINFO;
-typedef struct tagCURSORINFO {
- DWORD cbSize;
- DWORD flags;
- HCURSOR hCursor;
- POINT ptScreenPos;
-} CURSORINFO,*PCURSORINFO,*LPCURSORINFO;
-typedef struct tagMENUBARINFO {
- DWORD cbSize;
- RECT rcBar;
- HMENU hMenu;
- HWND hwndMenu;
- BOOL fBarFocused:1;
- BOOL fFocused:1;
-} MENUBARINFO,*PMENUBARINFO;
-typedef struct tagMENUINFO {
- DWORD cbSize;
- DWORD fMask;
- DWORD dwStyle;
- UINT cyMax;
- HBRUSH hbrBack;
- DWORD dwContextHelpID;
- ULONG_PTR dwMenuData;
-} MENUINFO,*LPMENUINFO;
-typedef MENUINFO CONST *LPCMENUINFO;
-#define CCHILDREN_SCROLLBAR 5
-typedef struct tagSCROLLBARINFO {
- DWORD cbSize;
- RECT rcScrollBar;
- int dxyLineButton;
- int xyThumbTop;
- int xyThumbBottom;
- int reserved;
- DWORD rgstate[CCHILDREN_SCROLLBAR+1];
-} SCROLLBARINFO,*PSCROLLBARINFO,*LPSCROLLBARINFO;
-#define CCHILDREN_TITLEBAR 5
-typedef struct tagTITLEBARINFO {
- DWORD cbSize;
- RECT rcTitleBar;
- DWORD rgstate[CCHILDREN_TITLEBAR+1];
-} TITLEBARINFO,*PTITLEBARINFO,*LPTITLEBARINFO;
-typedef struct tagWINDOWINFO {
- DWORD cbSize;
- RECT rcWindow;
- RECT rcClient;
- DWORD dwStyle;
- DWORD dwExStyle;
- DWORD dwWindowStatus;
- UINT cxWindowBorders;
- UINT cyWindowBorders;
- ATOM atomWindowType;
- WORD wCreatorVersion;
-} WINDOWINFO,*PWINDOWINFO,*LPWINDOWINFO;
-typedef struct tagLASTINPUTINFO {
- UINT cbSize;
- DWORD dwTime;
-} LASTINPUTINFO,*PLASTINPUTINFO;
-typedef struct tagMONITORINFO {
- DWORD cbSize;
- RECT rcMonitor;
- RECT rcWork;
- DWORD dwFlags;
-} MONITORINFO,*LPMONITORINFO;
-#define CCHDEVICENAME 32
-#ifdef __cplusplus
-typedef struct tagMONITORINFOEXA : public tagMONITORINFO
-{
- CHAR szDevice[CCHDEVICENAME];
-} MONITORINFOEXA, *LPMONITORINFOEXA;
-typedef struct tagMONITORINFOEXW : public tagMONITORINFO
-{
- WCHAR szDevice[CCHDEVICENAME];
-} MONITORINFOEXW, *LPMONITORINFOEXW;
-#else
-typedef struct tagMONITORINFOEXA {
- DWORD cbSize;
- RECT rcMonitor;
- RECT rcWork;
- DWORD dwFlags;
- CHAR szDevice[CCHDEVICENAME];
-} MONITORINFOEXA,*LPMONITORINFOEXA;
-typedef struct tagMONITORINFOEXW {
- DWORD cbSize;
- RECT rcMonitor;
- RECT rcWork;
- DWORD dwFlags;
- WCHAR szDevice[CCHDEVICENAME];
-} MONITORINFOEXW,*LPMONITORINFOEXW;
-#endif /* __cplusplus */
-typedef struct tagKBDLLHOOKSTRUCT {
- DWORD vkCode;
- DWORD scanCode;
- DWORD flags;
- DWORD time;
- DWORD dwExtraInfo;
-} KBDLLHOOKSTRUCT,*LPKBDLLHOOKSTRUCT,*PKBDLLHOOKSTRUCT;
-#if (_WIN32_WINNT >= 0x0500 || _WIN32_WINDOWS >= 0x0410)
-typedef struct {
- UINT cbSize;
- HWND hwnd;
- DWORD dwFlags;
- UINT uCount;
- DWORD dwTimeout;
-} FLASHWINFO,*PFLASHWINFO;
-#endif /* (WINVER >= 0x0500 || _WIN32_WINDOWS >= 0x0410) */
-#if (_WIN32_WINNT >= 0x0500 || _WIN32_WINDOWS >= 0x0490)
-typedef struct tagMOUSEMOVEPOINT {
- int x;
- int y;
- DWORD time;
- ULONG_PTR dwExtraInfo;
-} MOUSEMOVEPOINT,*PMOUSEMOVEPOINT,*LPMOUSEMOVEPOINT;
-#endif
-#if (_WIN32_WINNT >= 0x0403)
-typedef struct tagMOUSEINPUT {
- LONG dx;
- LONG dy;
- DWORD mouseData;
- DWORD dwFlags;
- DWORD time;
- ULONG_PTR dwExtraInfo;
-} MOUSEINPUT,*PMOUSEINPUT;
-typedef struct tagKEYBDINPUT {
- WORD wVk;
- WORD wScan;
- DWORD dwFlags;
- DWORD time;
- ULONG_PTR dwExtraInfo;
-} KEYBDINPUT,*PKEYBDINPUT;
-typedef struct tagHARDWAREINPUT {
- DWORD uMsg;
- WORD wParamL;
- WORD wParamH;
-} HARDWAREINPUT,*PHARDWAREINPUT;
-typedef struct tagINPUT {
- DWORD type;
- _ANONYMOUS_UNION union {
- MOUSEINPUT mi;
- KEYBDINPUT ki;
- HARDWAREINPUT hi;
- } DUMMYUNIONNAME;
-} INPUT,*PINPUT,*LPINPUT;
-#endif /* (_WIN32_WINNT >= 0x0403) */
-#if (WINVER >= 0x0500)
-typedef struct tagGUITHREADINFO {
- DWORD cbSize;
- DWORD flags;
- HWND hwndActive;
- HWND hwndFocus;
- HWND hwndCapture;
- HWND hwndMenuOwner;
- HWND hwndMoveSize;
- HWND hwndCaret;
- RECT rcCaret;
-} GUITHREADINFO,*PGUITHREADINFO,*LPGUITHREADINFO;
-typedef VOID (*WINEVENTPROC)(HWINEVENTHOOK,DWORD,HWND,LONG,LONG,DWORD,DWORD);
-#endif /* (WINVER >= 0x0500) */
-#if (_WIN32_WINNT >= 0x0501)
-typedef struct {
- UINT cbSize;
- HDESK hdesk;
- HWND hwnd;
- LUID luid;
-} BSMINFO,*PBSMINFO;
-DECLARE_HANDLE(HRAWINPUT);
-typedef struct tagRAWINPUTHEADER {
- DWORD dwType;
- DWORD dwSize;
- HANDLE hDevice;
- WPARAM wParam;
-} RAWINPUTHEADER,*PRAWINPUTHEADER;
-typedef struct tagRAWMOUSE {
- USHORT usFlags;
- _ANONYMOUS_UNION union {
- ULONG ulButtons;
- _ANONYMOUS_STRUCT struct {
- USHORT usButtonFlags;
- USHORT usButtonData;
- };
- };
- ULONG ulRawButtons;
- LONG lLastX;
- LONG lLastY;
- ULONG ulExtraInformation;
-} RAWMOUSE,*PRAWMOUSE,*LPRAWMOUSE;
-typedef struct tagRAWKEYBOARD {
- USHORT MakeCode;
- USHORT Flags;
- USHORT Reserved;
- USHORT VKey;
- UINT Message;
- ULONG ExtraInformation;
-} RAWKEYBOARD,*PRAWKEYBOARD,*LPRAWKEYBOARD;
-typedef struct tagRAWHID {
- DWORD dwSizeHid;
- DWORD dwCount;
- BYTE bRawData;
-} RAWHID,*PRAWHID,*LPRAWHID;
-typedef struct tagRAWINPUT {
- RAWINPUTHEADER header;
- union {
- RAWMOUSE mouse;
- RAWKEYBOARD keyboard;
- RAWHID hid;
- } data;
-} RAWINPUT,*PRAWINPUT,*LPRAWINPUT;
-typedef struct tagRAWINPUTDEVICE {
- USHORT usUsagePage;
- USHORT usUsage;
- DWORD dwFlags;
- HWND hwndTarget;
-} RAWINPUTDEVICE,*PRAWINPUTDEVICE,*LPRAWINPUTDEVICE;
-typedef const RAWINPUTDEVICE *PCRAWINPUTDEVICE;
-typedef struct tagRAWINPUTDEVICELIST {
- HANDLE hDevice;
- DWORD dwType;
-} RAWINPUTDEVICELIST,*PRAWINPUTDEVICELIST;
-#endif /* (_WIN32_WINNT >= 0x0501) */
-
-typedef struct {
- POINT pt;
- DWORD mouseData;
- DWORD flags;
- DWORD time;
- ULONG_PTR dwExtraInfo;
-} MSLLHOOKSTRUCT, *PMSLLHOOKSTRUCT;
-
-#define AnsiToOem CharToOemA
-#define OemToAnsi OemToCharA
-#define AnsiToOemBuff CharToOemBuffA
-#define OemToAnsiBuff OemToCharBuffA
-#define AnsiUpper CharUpperA
-#define AnsiUpperBuff CharUpperBuffA
-#define AnsiLower CharLowerA
-#define AnsiLowerBuff CharLowerBuffA
-#define AnsiNext CharNextA
-#define AnsiPrev CharPrevA
-#define MAKELPARAM(l,h) ((LPARAM)MAKELONG(l,h))
-#define MAKEWPARAM(l,h) ((WPARAM)MAKELONG(l,h))
-#define MAKELRESULT(l,h) ((LRESULT)MAKELONG(l,h))
-#define POINTSTOPOINT(p,ps) { \
- (p).x=LOWORD(*(DWORD *)&ps); \
- (p).y=HIWORD(*(DWORD *)&ps); \
-}
-#define POINTTOPOINTS(p) ((POINTS)MAKELONG((p).x,(p).y))
-
-WINUSERAPI HKL WINAPI ActivateKeyboardLayout(HKL,UINT);
-WINUSERAPI BOOL WINAPI AdjustWindowRect(LPRECT,DWORD,BOOL);
-WINUSERAPI BOOL WINAPI AdjustWindowRectEx(LPRECT,DWORD,BOOL,DWORD);
-#if (_WIN32_WINNT >= 0x0500)
-WINUSERAPI BOOL WINAPI AnimateWindow(HWND,DWORD,DWORD);
-#endif /* (_WIN32_WINNT >= 0x0500) */
-WINUSERAPI BOOL WINAPI AnyPopup(void);
-WINUSERAPI BOOL WINAPI AppendMenuA(HMENU,UINT,UINT_PTR,LPCSTR);
-WINUSERAPI BOOL WINAPI AppendMenuW(HMENU,UINT,UINT_PTR,LPCWSTR);
-WINUSERAPI UINT WINAPI ArrangeIconicWindows(HWND);
-WINUSERAPI BOOL WINAPI AttachThreadInput(DWORD,DWORD,BOOL);
-WINUSERAPI HDWP WINAPI BeginDeferWindowPos(int);
-WINUSERAPI HDC WINAPI BeginPaint(HWND,LPPAINTSTRUCT);
-WINUSERAPI BOOL WINAPI BringWindowToTop(HWND);
-WINUSERAPI long WINAPI BroadcastSystemMessage(DWORD,LPDWORD,UINT,WPARAM,LPARAM);
-#if (_WIN32_WINNT >= 0x0400)
-WINUSERAPI long WINAPI BroadcastSystemMessageA(DWORD,LPDWORD,UINT,WPARAM,LPARAM);
-WINUSERAPI long WINAPI BroadcastSystemMessageW(DWORD,LPDWORD,UINT,WPARAM,LPARAM);
-#endif /* (_WIN32_WINNT >= 0x0400) */
-#if (_WIN32_WINNT >= 0x0501)
-WINUSERAPI long WINAPI BroadcastSystemMessageExA(DWORD,LPDWORD,UINT,WPARAM,LPARAM,PBSMINFO);
-WINUSERAPI long WINAPI BroadcastSystemMessageExW(DWORD,LPDWORD,UINT,WPARAM,LPARAM,PBSMINFO);
-#endif /* (_WIN32_WINNT >= 0x0501) */
-WINUSERAPI BOOL WINAPI CallMsgFilterA(LPMSG,INT);
-WINUSERAPI BOOL WINAPI CallMsgFilterW(LPMSG,INT);
-WINUSERAPI LRESULT WINAPI CallNextHookEx(HHOOK,int,WPARAM,LPARAM);
-WINUSERAPI LRESULT WINAPI CallWindowProcA(WNDPROC,HWND,UINT,WPARAM,LPARAM);
-WINUSERAPI LRESULT WINAPI CallWindowProcW(WNDPROC,HWND,UINT,WPARAM,LPARAM);
-WINUSERAPI WORD WINAPI CascadeWindows(HWND,UINT,LPCRECT,UINT,const HWND*);
-WINUSERAPI BOOL WINAPI ChangeClipboardChain(HWND,HWND);
-#ifndef NOGDI
-WINUSERAPI LONG WINAPI ChangeDisplaySettingsA(PDEVMODEA,DWORD);
-WINUSERAPI LONG WINAPI ChangeDisplaySettingsW(PDEVMODEW,DWORD);
-WINUSERAPI LONG WINAPI ChangeDisplaySettingsExA(LPCSTR,LPDEVMODEA,HWND,DWORD,LPVOID);
-WINUSERAPI LONG WINAPI ChangeDisplaySettingsExW(LPCWSTR,LPDEVMODEW,HWND,DWORD,LPVOID);
-#endif
-WINUSERAPI BOOL WINAPI ChangeMenuA(HMENU,UINT,LPCSTR,UINT,UINT);
-WINUSERAPI BOOL WINAPI ChangeMenuW(HMENU,UINT,LPCWSTR,UINT,UINT);
-WINUSERAPI LPSTR WINAPI CharLowerA(LPSTR);
-WINUSERAPI LPWSTR WINAPI CharLowerW(LPWSTR);
-WINUSERAPI DWORD WINAPI CharLowerBuffA(LPSTR,DWORD);
-WINUSERAPI DWORD WINAPI CharLowerBuffW(LPWSTR,DWORD);
-WINUSERAPI LPSTR WINAPI CharNextA(LPCSTR);
-WINUSERAPI LPWSTR WINAPI CharNextW(LPCWSTR);
-WINUSERAPI LPSTR WINAPI CharNextExA(WORD,LPCSTR,DWORD);
-WINUSERAPI LPWSTR WINAPI CharNextExW(WORD,LPCWSTR,DWORD);
-WINUSERAPI LPSTR WINAPI CharPrevA(LPCSTR,LPCSTR);
-WINUSERAPI LPWSTR WINAPI CharPrevW(LPCWSTR,LPCWSTR);
-WINUSERAPI LPSTR WINAPI CharPrevExA(WORD,LPCSTR,LPCSTR,DWORD);
-WINUSERAPI LPWSTR WINAPI CharPrevExW(WORD,LPCWSTR,LPCWSTR,DWORD);
-WINUSERAPI BOOL WINAPI CharToOemA(LPCSTR,LPSTR);
-WINUSERAPI BOOL WINAPI CharToOemW(LPCWSTR,LPSTR);
-WINUSERAPI BOOL WINAPI CharToOemBuffA(LPCSTR,LPSTR,DWORD);
-WINUSERAPI BOOL WINAPI CharToOemBuffW(LPCWSTR,LPSTR,DWORD);
-WINUSERAPI LPSTR WINAPI CharUpperA(LPSTR);
-WINUSERAPI LPWSTR WINAPI CharUpperW(LPWSTR);
-WINUSERAPI DWORD WINAPI CharUpperBuffA(LPSTR,DWORD);
-WINUSERAPI DWORD WINAPI CharUpperBuffW(LPWSTR,DWORD);
-WINUSERAPI BOOL WINAPI CheckDlgButton(HWND,int,UINT);
-WINUSERAPI DWORD WINAPI CheckMenuItem(HMENU,UINT,UINT);
-WINUSERAPI BOOL WINAPI CheckMenuRadioItem(HMENU,UINT,UINT,UINT,UINT);
-WINUSERAPI BOOL WINAPI CheckRadioButton(HWND,int,int,int);
-WINUSERAPI HWND WINAPI ChildWindowFromPoint(HWND,POINT);
-WINUSERAPI HWND WINAPI ChildWindowFromPointEx(HWND,POINT,UINT);
-WINUSERAPI BOOL WINAPI ClientToScreen(HWND,LPPOINT);
-WINUSERAPI BOOL WINAPI ClipCursor(LPCRECT);
-WINUSERAPI BOOL WINAPI CloseClipboard(void);
-WINUSERAPI BOOL WINAPI CloseDesktop(HDESK);
-WINUSERAPI BOOL WINAPI CloseWindow(HWND);
-WINUSERAPI BOOL WINAPI CloseWindowStation(HWINSTA);
-WINUSERAPI int WINAPI CopyAcceleratorTableA(HACCEL,LPACCEL,int);
-WINUSERAPI int WINAPI CopyAcceleratorTableW(HACCEL,LPACCEL,int);
-#define CopyCursor(c) ((HCURSOR)CopyIcon((HICON)(c)))
-WINUSERAPI HICON WINAPI CopyIcon(HICON);
-WINUSERAPI HANDLE WINAPI CopyImage(HANDLE,UINT,int,int,UINT);
-WINUSERAPI BOOL WINAPI CopyRect(LPRECT,LPCRECT);
-WINUSERAPI int WINAPI CountClipboardFormats(void);
-WINUSERAPI HACCEL WINAPI CreateAcceleratorTableA(LPACCEL,int);
-WINUSERAPI HACCEL WINAPI CreateAcceleratorTableW(LPACCEL,int);
-WINUSERAPI BOOL WINAPI CreateCaret(HWND,HBITMAP,int,int);
-WINUSERAPI HCURSOR WINAPI CreateCursor(HINSTANCE,int,int,int,int,PCVOID,PCVOID);
-#ifndef NOGDI
-WINUSERAPI HDESK WINAPI CreateDesktopA(LPCSTR,LPCSTR,LPDEVMODEA,DWORD,ACCESS_MASK,LPSECURITY_ATTRIBUTES);
-WINUSERAPI HDESK WINAPI CreateDesktopW(LPCWSTR,LPCWSTR,LPDEVMODEW,DWORD,ACCESS_MASK,LPSECURITY_ATTRIBUTES);
-#endif
-#define CreateDialogA(h,n,w,f) CreateDialogParamA(h,n,w,f,0)
-#define CreateDialogW(h,n,w,f) CreateDialogParamW(h,n,w,f,0)
-#define CreateDialogIndirectA(h,t,w,f) CreateDialogIndirectParamA(h,t,w,f,0)
-#define CreateDialogIndirectW(h,t,w,f) CreateDialogIndirectParamW(h,t,w,f,0)
-WINUSERAPI HWND WINAPI CreateDialogIndirectParamA(HINSTANCE,LPCDLGTEMPLATE,HWND,DLGPROC,LPARAM);
-WINUSERAPI HWND WINAPI CreateDialogIndirectParamW(HINSTANCE,LPCDLGTEMPLATE,HWND,DLGPROC,LPARAM);
-WINUSERAPI HWND WINAPI CreateDialogParamA(HINSTANCE,LPCSTR,HWND,DLGPROC,LPARAM);
-WINUSERAPI HWND WINAPI CreateDialogParamW(HINSTANCE,LPCWSTR,HWND,DLGPROC,LPARAM);
-WINUSERAPI HICON WINAPI CreateIcon(HINSTANCE,int,int,BYTE,BYTE,const BYTE*,const BYTE*);
-WINUSERAPI HICON WINAPI CreateIconFromResource(PBYTE,DWORD,BOOL,DWORD);
-WINUSERAPI HICON WINAPI CreateIconFromResourceEx(PBYTE,DWORD,BOOL,DWORD,int,int,UINT);
-WINUSERAPI HICON WINAPI CreateIconIndirect(PICONINFO);
-WINUSERAPI HWND WINAPI CreateMDIWindowA(LPCSTR,LPCSTR,DWORD,int,int,int,int,HWND,HINSTANCE,LPARAM);
-WINUSERAPI HWND WINAPI CreateMDIWindowW(LPCWSTR,LPCWSTR,DWORD,int,int,int,int,HWND,HINSTANCE,LPARAM);
-WINUSERAPI HMENU WINAPI CreateMenu(void);
-WINUSERAPI HMENU WINAPI CreatePopupMenu(void);
-#define CreateWindowA(a,b,c,d,e,f,g,h,i,j,k) CreateWindowExA(0,a,b,c,d,e,f,g,h,i,j,k)
-#define CreateWindowW(a,b,c,d,e,f,g,h,i,j,k) CreateWindowExW(0,a,b,c,d,e,f,g,h,i,j,k)
-WINUSERAPI HWND WINAPI CreateWindowExA(DWORD,LPCSTR,LPCSTR,DWORD,int,int,int,int,HWND,HMENU,HINSTANCE,LPVOID);
-WINUSERAPI HWND WINAPI CreateWindowExW(DWORD,LPCWSTR,LPCWSTR,DWORD,int,int,int,int,HWND,HMENU,HINSTANCE,LPVOID);
-WINUSERAPI HWINSTA WINAPI CreateWindowStationA(LPSTR,DWORD,DWORD,LPSECURITY_ATTRIBUTES);
-WINUSERAPI HWINSTA WINAPI CreateWindowStationW(LPWSTR,DWORD,DWORD,LPSECURITY_ATTRIBUTES);
-WINUSERAPI LRESULT WINAPI DefDlgProcA(HWND,UINT,WPARAM,LPARAM);
-WINUSERAPI LRESULT WINAPI DefDlgProcW(HWND,UINT,WPARAM,LPARAM);
-WINUSERAPI HDWP WINAPI DeferWindowPos(HDWP,HWND,HWND,int,int,int,int,UINT);
-WINUSERAPI LRESULT WINAPI DefFrameProcA(HWND,HWND,UINT,WPARAM,LPARAM);
-WINUSERAPI LRESULT WINAPI DefFrameProcW(HWND,HWND,UINT,WPARAM,LPARAM);
-#define DefHookProc(c,p,lp,h) CallNextHookEx((HHOOK)*h,c,p,lp)
-WINUSERAPI LRESULT WINAPI DefMDIChildProcA(HWND,UINT,WPARAM,LPARAM);
-WINUSERAPI LRESULT WINAPI DefMDIChildProcW(HWND,UINT,WPARAM,LPARAM);
-#if (_WIN32_WINNT >= 0x0501)
-WINUSERAPI LRESULT WINAPI DefRawInputProc(PRAWINPUT*,INT,UINT);
-#endif
-WINUSERAPI LRESULT WINAPI DefWindowProcA(HWND,UINT,WPARAM,LPARAM);
-WINUSERAPI LRESULT WINAPI DefWindowProcW(HWND,UINT,WPARAM,LPARAM);
-WINUSERAPI BOOL WINAPI DeleteMenu(HMENU,UINT,UINT);
-WINUSERAPI BOOL WINAPI DeregisterShellHookWindow(HWND);
-WINUSERAPI BOOL WINAPI DestroyAcceleratorTable(HACCEL);
-WINUSERAPI BOOL WINAPI DestroyCaret(void);
-WINUSERAPI BOOL WINAPI DestroyCursor(HCURSOR);
-WINUSERAPI BOOL WINAPI DestroyIcon(HICON);
-WINUSERAPI BOOL WINAPI DestroyMenu(HMENU);
-WINUSERAPI BOOL WINAPI DestroyWindow(HWND);
-#define DialogBoxA(i,t,p,f) DialogBoxParamA(i,t,p,f,0)
-#define DialogBoxW(i,t,p,f) DialogBoxParamW(i,t,p,f,0)
-#define DialogBoxIndirectA(i,t,p,f) DialogBoxIndirectParamA(i,t,p,f,0)
-#define DialogBoxIndirectW(i,t,p,f) DialogBoxIndirectParamW(i,t,p,f,0)
-WINUSERAPI int WINAPI DialogBoxIndirectParamA(HINSTANCE,LPCDLGTEMPLATE,HWND,DLGPROC,LPARAM);
-WINUSERAPI int WINAPI DialogBoxIndirectParamW(HINSTANCE,LPCDLGTEMPLATE,HWND,DLGPROC,LPARAM);
-WINUSERAPI int WINAPI DialogBoxParamA(HINSTANCE,LPCSTR,HWND,DLGPROC,LPARAM);
-WINUSERAPI int WINAPI DialogBoxParamW(HINSTANCE,LPCWSTR,HWND,DLGPROC,LPARAM);
-WINUSERAPI LONG WINAPI DispatchMessageA(const MSG*);
-WINUSERAPI LONG WINAPI DispatchMessageW(const MSG*);
-WINUSERAPI int WINAPI DlgDirListA(HWND,LPSTR,int,int,UINT);
-WINUSERAPI int WINAPI DlgDirListW(HWND,LPWSTR,int,int,UINT);
-WINUSERAPI int WINAPI DlgDirListComboBoxA(HWND,LPSTR,int,int,UINT);
-WINUSERAPI int WINAPI DlgDirListComboBoxW(HWND,LPWSTR,int,int,UINT);
-WINUSERAPI BOOL WINAPI DlgDirSelectComboBoxExA(HWND,LPSTR,int,int);
-WINUSERAPI BOOL WINAPI DlgDirSelectComboBoxExW(HWND,LPWSTR,int,int);
-WINUSERAPI BOOL WINAPI DlgDirSelectExA(HWND,LPSTR,int,int);
-WINUSERAPI BOOL WINAPI DlgDirSelectExW(HWND,LPWSTR,int,int);
-WINUSERAPI BOOL WINAPI DragDetect(HWND,POINT);
-WINUSERAPI DWORD WINAPI DragObject(HWND,HWND,UINT,DWORD,HCURSOR);
-WINUSERAPI BOOL WINAPI DrawAnimatedRects(HWND,int,LPCRECT,LPCRECT);
-WINUSERAPI BOOL WINAPI DrawCaption(HWND,HDC,LPCRECT,UINT);
-WINUSERAPI BOOL WINAPI DrawEdge(HDC,LPRECT,UINT,UINT);
-WINUSERAPI BOOL WINAPI DrawFocusRect(HDC,LPCRECT);
-WINUSERAPI BOOL WINAPI DrawFrameControl(HDC,LPRECT,UINT,UINT);
-WINUSERAPI BOOL WINAPI DrawIcon(HDC,int,int,HICON);
-WINUSERAPI BOOL WINAPI DrawIconEx(HDC,int,int,HICON,int,int,UINT,HBRUSH,UINT);
-WINUSERAPI BOOL WINAPI DrawMenuBar(HWND);
-WINUSERAPI BOOL WINAPI DrawStateA(HDC,HBRUSH,DRAWSTATEPROC,LPARAM,WPARAM,int,int,int,int,UINT);
-WINUSERAPI BOOL WINAPI DrawStateW(HDC,HBRUSH,DRAWSTATEPROC,LPARAM,WPARAM,int,int,int,int,UINT);
-WINUSERAPI int WINAPI DrawTextA(HDC,LPCSTR,int,LPRECT,UINT);
-WINUSERAPI int WINAPI DrawTextW(HDC,LPCWSTR,int,LPRECT,UINT);
-WINUSERAPI int WINAPI DrawTextExA(HDC,LPSTR,int,LPRECT,UINT,LPDRAWTEXTPARAMS);
-WINUSERAPI int WINAPI DrawTextExW(HDC,LPWSTR,int,LPRECT,UINT,LPDRAWTEXTPARAMS);
-WINUSERAPI BOOL WINAPI EmptyClipboard(void);
-WINUSERAPI BOOL WINAPI EnableMenuItem(HMENU,UINT,UINT);
-WINUSERAPI BOOL WINAPI EnableScrollBar(HWND,UINT,UINT);
-WINUSERAPI BOOL WINAPI EnableWindow(HWND,BOOL);
-WINUSERAPI BOOL WINAPI EndDeferWindowPos(HDWP);
-WINUSERAPI BOOL WINAPI EndDialog(HWND,int);
-WINUSERAPI BOOL WINAPI EndMenu(void);
-WINUSERAPI BOOL WINAPI EndPaint(HWND,const PAINTSTRUCT*);
-#if (_WIN32_WINNT >= 0x0500)
-WINUSERAPI BOOL WINAPI EndTask(HWND,BOOL,BOOL);
-#endif
-WINUSERAPI BOOL WINAPI EnumChildWindows(HWND,ENUMWINDOWSPROC,LPARAM);
-WINUSERAPI UINT WINAPI EnumClipboardFormats(UINT);
-WINUSERAPI BOOL WINAPI EnumDesktopsA(HWINSTA,DESKTOPENUMPROCA,LPARAM);
-WINUSERAPI BOOL WINAPI EnumDesktopsW(HWINSTA,DESKTOPENUMPROCW,LPARAM);
-WINUSERAPI BOOL WINAPI EnumDesktopWindows(HDESK,ENUMWINDOWSPROC,LPARAM);
-WINUSERAPI BOOL WINAPI EnumDisplayMonitors(HDC,LPCRECT,MONITORENUMPROC,LPARAM);
-#ifndef NOGDI
-WINUSERAPI BOOL WINAPI EnumDisplaySettingsA(LPCSTR,DWORD,PDEVMODEA);
-WINUSERAPI BOOL WINAPI EnumDisplaySettingsW(LPCWSTR,DWORD,PDEVMODEW);
-#if (_WIN32_WINNT >= 0x0500 || _WIN32_WINDOWS >= 0x0410)
-WINUSERAPI BOOL WINAPI EnumDisplaySettingsExA(LPCSTR,DWORD,LPDEVMODEA,DWORD);
-WINUSERAPI BOOL WINAPI EnumDisplaySettingsExW(LPCWSTR,DWORD,LPDEVMODEW,DWORD);
-#endif
-WINUSERAPI BOOL WINAPI EnumDisplayDevicesA(LPCSTR,DWORD,PDISPLAY_DEVICEA,DWORD);
-WINUSERAPI BOOL WINAPI EnumDisplayDevicesW(LPCWSTR,DWORD,PDISPLAY_DEVICEW,DWORD);
-#endif
-WINUSERAPI int WINAPI EnumPropsA(HWND,PROPENUMPROCA);
-WINUSERAPI int WINAPI EnumPropsW(HWND,PROPENUMPROCW);
-WINUSERAPI int WINAPI EnumPropsExA(HWND,PROPENUMPROCEXA,LPARAM);
-WINUSERAPI int WINAPI EnumPropsExW(HWND,PROPENUMPROCEXW,LPARAM);
-#define EnumTaskWindows(h,f,p) EnumThreadWindows((DWORD)h,f,p)
-WINUSERAPI BOOL WINAPI EnumThreadWindows(DWORD,WNDENUMPROC,LPARAM);
-WINUSERAPI BOOL WINAPI EnumWindows(WNDENUMPROC,LPARAM);
-WINUSERAPI BOOL WINAPI EnumWindowStationsA(WINSTAENUMPROCA,LPARAM);
-WINUSERAPI BOOL WINAPI EnumWindowStationsW(WINSTAENUMPROCW,LPARAM);
-WINUSERAPI BOOL WINAPI EqualRect(LPCRECT,LPCRECT);
-#define ExitWindows(r,c) ExitWindowsEx(EWX_LOGOFF,0)
-WINUSERAPI BOOL WINAPI ExitWindowsEx(UINT,DWORD);
-WINUSERAPI HWND WINAPI FindWindowA(LPCSTR,LPCSTR);
-WINUSERAPI HWND WINAPI FindWindowExA(HWND,HWND,LPCSTR,LPCSTR);
-WINUSERAPI HWND WINAPI FindWindowExW(HWND,HWND,LPCWSTR,LPCWSTR);
-WINUSERAPI HWND WINAPI FindWindowW(LPCWSTR,LPCWSTR);
-WINUSERAPI BOOL WINAPI FlashWindow(HWND,BOOL);
-#if (_WIN32_WINNT >= 0x0500 || _WIN32_WINDOWS >= 0x0410)
-WINUSERAPI BOOL WINAPI FlashWindowEx(PFLASHWINFO);
-#endif
-int WINAPI FrameRect(HDC,LPCRECT,HBRUSH);
-WINUSERAPI BOOL WINAPI FrameRgn(HDC,HRGN,HBRUSH,int,int);
-WINUSERAPI HWND WINAPI GetActiveWindow(void);
-WINUSERAPI HWND WINAPI GetAncestor(HWND,UINT);
-WINUSERAPI SHORT WINAPI GetAsyncKeyState(int);
-WINUSERAPI HWND WINAPI GetCapture(void);
-WINUSERAPI UINT WINAPI GetCaretBlinkTime(void);
-WINUSERAPI BOOL WINAPI GetCaretPos(LPPOINT);
-WINUSERAPI BOOL WINAPI GetClassInfoA(HINSTANCE,LPCSTR,LPWNDCLASSA);
-WINUSERAPI BOOL WINAPI GetClassInfoExA(HINSTANCE,LPCSTR,LPWNDCLASSEXA);
-WINUSERAPI BOOL WINAPI GetClassInfoW(HINSTANCE,LPCWSTR,LPWNDCLASSW);
-WINUSERAPI BOOL WINAPI GetClassInfoExW(HINSTANCE,LPCWSTR,LPWNDCLASSEXW);
-WINUSERAPI DWORD WINAPI GetClassLongA(HWND,int);
-WINUSERAPI DWORD WINAPI GetClassLongW(HWND,int);
-WINUSERAPI ULONG_PTR WINAPI GetClassLongPtrA(HWND,int);
-WINUSERAPI ULONG_PTR WINAPI GetClassLongPtrW(HWND,int);
-WINUSERAPI int WINAPI GetClassNameA(HWND,LPSTR,int);
-WINUSERAPI int WINAPI GetClassNameW(HWND,LPWSTR,int);
-WINUSERAPI WORD WINAPI GetClassWord(HWND,int);
-WINUSERAPI BOOL WINAPI GetClientRect(HWND,LPRECT);
-WINUSERAPI HANDLE WINAPI GetClipboardData(UINT);
-WINUSERAPI int WINAPI GetClipboardFormatNameA(UINT,LPSTR,int);
-WINUSERAPI int WINAPI GetClipboardFormatNameW(UINT,LPWSTR,int);
-WINUSERAPI HWND WINAPI GetClipboardOwner(void);
-#if (_WIN32_WINNT >= 0x0500 || _WIN32_WINDOWS >= 0x0410)
-WINUSERAPI DWORD WINAPI GetClipboardSequenceNumber(void);
-#endif
-HWND WINAPI GetClipboardViewer(void);
-WINUSERAPI BOOL WINAPI GetClipCursor(LPRECT);
-WINUSERAPI BOOL WINAPI GetCursorPos(LPPOINT);
-WINUSERAPI HDC WINAPI GetDC(HWND);
-WINUSERAPI HDC WINAPI GetDCEx(HWND,HRGN,DWORD);
-WINUSERAPI HWND WINAPI GetDesktopWindow(void);
-WINUSERAPI long WINAPI GetDialogBaseUnits(void);
-WINUSERAPI int WINAPI GetDlgCtrlID(HWND);
-WINUSERAPI HWND WINAPI GetDlgItem(HWND,int);
-WINUSERAPI UINT WINAPI GetDlgItemInt(HWND,int,PBOOL,BOOL);
-WINUSERAPI UINT WINAPI GetDlgItemTextA(HWND,int,LPSTR,int);
-WINUSERAPI UINT WINAPI GetDlgItemTextW(HWND,int,LPWSTR,int);
-WINUSERAPI UINT WINAPI GetDoubleClickTime(void);
-WINUSERAPI HWND WINAPI GetFocus(void);
-WINUSERAPI HWND WINAPI GetForegroundWindow(void);
-#if (_WIN32_WINNT >= 0x0500)
-WINUSERAPI DWORD WINAPI GetGuiResources(HANDLE,DWORD);
-#endif
-WINUSERAPI BOOL WINAPI GetIconInfo(HICON,PICONINFO);
-WINUSERAPI BOOL WINAPI GetInputState(void);
-WINUSERAPI UINT WINAPI GetKBCodePage(void);
-WINUSERAPI HKL WINAPI GetKeyboardLayout(DWORD);
-WINUSERAPI UINT WINAPI GetKeyboardLayoutList(int,HKL*);
-WINUSERAPI BOOL WINAPI GetKeyboardLayoutNameA(LPSTR);
-WINUSERAPI BOOL WINAPI GetKeyboardLayoutNameW(LPWSTR);
-WINUSERAPI BOOL WINAPI GetKeyboardState(PBYTE);
-WINUSERAPI int WINAPI GetKeyboardType(int);
-WINUSERAPI int WINAPI GetKeyNameTextA(LONG,LPSTR,int);
-WINUSERAPI int WINAPI GetKeyNameTextW(LONG,LPWSTR,int);
-WINUSERAPI SHORT WINAPI GetKeyState(int);
-WINUSERAPI HWND WINAPI GetLastActivePopup(HWND);
-WINUSERAPI HMENU WINAPI GetMenu(HWND);
-WINUSERAPI LONG WINAPI GetMenuCheckMarkDimensions(void);
-WINUSERAPI DWORD WINAPI GetMenuContextHelpId(HMENU);
-WINUSERAPI UINT WINAPI GetMenuDefaultItem(HMENU,UINT,UINT);
-WINUSERAPI int WINAPI GetMenuItemCount(HMENU);
-WINUSERAPI UINT WINAPI GetMenuItemID(HMENU,int);
-WINUSERAPI BOOL WINAPI GetMenuItemInfoA(HMENU,UINT,BOOL,LPMENUITEMINFOA);
-WINUSERAPI BOOL WINAPI GetMenuItemInfoW(HMENU,UINT,BOOL,LPMENUITEMINFOW);
-WINUSERAPI BOOL WINAPI GetMenuItemRect(HWND,HMENU,UINT,LPRECT);
-WINUSERAPI UINT WINAPI GetMenuState(HMENU,UINT,UINT);
-WINUSERAPI int WINAPI GetMenuStringA(HMENU,UINT,LPSTR,int,UINT);
-WINUSERAPI int WINAPI GetMenuStringW(HMENU,UINT,LPWSTR,int,UINT);
-WINUSERAPI BOOL WINAPI GetMessageA(LPMSG,HWND,UINT,UINT);
-WINUSERAPI BOOL WINAPI GetMessageW(LPMSG,HWND,UINT,UINT);
-WINUSERAPI LONG WINAPI GetMessageExtraInfo(void);
-WINUSERAPI DWORD WINAPI GetMessagePos(void);
-WINUSERAPI LONG WINAPI GetMessageTime(void);
-#if (_WIN32_WINNT >= 0x0500 || _WIN32_WINDOWS >= 0x0490)
-WINUSERAPI int WINAPI GetMouseMovePointsEx(UINT,LPMOUSEMOVEPOINT,LPMOUSEMOVEPOINT,int,DWORD);
-#endif
-WINUSERAPI HWND WINAPI GetNextDlgGroupItem(HWND,HWND,BOOL);
-WINUSERAPI HWND WINAPI GetNextDlgTabItem(HWND,HWND,BOOL);
-#define GetNextWindow(h,c) GetWindow(h,c)
-WINUSERAPI HWND WINAPI GetOpenClipboardWindow(void);
-WINUSERAPI HWND WINAPI GetParent(HWND);
-WINUSERAPI int WINAPI GetPriorityClipboardFormat(UINT*,int);
-WINUSERAPI HANDLE WINAPI GetPropA(HWND,LPCSTR);
-WINUSERAPI HANDLE WINAPI GetPropW(HWND,LPCWSTR);
-#if (_WIN32_WINNT >= 0x0501)
-WINUSERAPI UINT WINAPI GetRawInputBuffer(PRAWINPUT,PUINT,UINT);
-WINUSERAPI UINT WINAPI GetRawInputData(HRAWINPUT,UINT,LPVOID,PUINT,UINT);
-WINUSERAPI UINT WINAPI GetRawInputDeviceInfoA(HANDLE,UINT,LPVOID,PUINT);
-WINUSERAPI UINT WINAPI GetRawInputDeviceInfoW(HANDLE,UINT,LPVOID,PUINT);
-WINUSERAPI UINT WINAPI GetRawInputDeviceList(PRAWINPUTDEVICELIST,PUINT,UINT);
-WINUSERAPI UINT WINAPI GetRegisteredRawInputDevices(PRAWINPUTDEVICE,PUINT,UINT);
-#endif
-WINUSERAPI DWORD WINAPI GetQueueStatus(UINT);
-WINUSERAPI BOOL WINAPI GetScrollInfo(HWND,int,LPSCROLLINFO);
-WINUSERAPI int WINAPI GetScrollPos(HWND,int);
-WINUSERAPI BOOL WINAPI GetScrollRange(HWND,int,LPINT,LPINT);
-#if (_WIN32_WINNT >= 0x0500)
-WINUSERAPI HWND WINAPI GetShellWindow(void);
-#endif
-WINUSERAPI HMENU WINAPI GetSubMenu(HMENU,int);
-WINUSERAPI DWORD WINAPI GetSysColor(int);
-WINUSERAPI HBRUSH WINAPI GetSysColorBrush(int);
-#define GetSysModalWindow() (NULL)
-WINUSERAPI HMENU WINAPI GetSystemMenu(HWND,BOOL);
-WINUSERAPI int WINAPI GetSystemMetrics(int);
-WINUSERAPI DWORD WINAPI GetTabbedTextExtentA(HDC,LPCSTR,int,int,LPINT);
-WINUSERAPI DWORD WINAPI GetTabbedTextExtentW(HDC,LPCWSTR,int,int,LPINT);
-WINUSERAPI LONG WINAPI GetWindowLongA(HWND,int);
-WINUSERAPI LONG WINAPI GetWindowLongW(HWND,int);
-#ifdef _WIN64
-WINUSERAPI LONG_PTR WINAPI GetWindowLongPtrA(HWND,int);
-WINUSERAPI LONG_PTR WINAPI GetWindowLongPtrW(HWND,int);
-#else
-#define GetWindowLongPtrA GetWindowLongA
-#define GetWindowLongPtrW GetWindowLongW
-#endif
-WINUSERAPI HDESK WINAPI GetThreadDesktop(DWORD);
-WINUSERAPI HWND WINAPI GetTopWindow(HWND);
-WINUSERAPI BOOL WINAPI GetUpdateRect(HWND,LPRECT,BOOL);
-WINUSERAPI int WINAPI GetUpdateRgn(HWND,HRGN,BOOL);
-WINUSERAPI BOOL WINAPI GetUserObjectInformationA(HANDLE,int,PVOID,DWORD,PDWORD);
-WINUSERAPI BOOL WINAPI GetUserObjectInformationW(HANDLE,int,PVOID,DWORD,PDWORD);
-WINUSERAPI BOOL WINAPI GetUserObjectSecurity(HANDLE,PSECURITY_INFORMATION,PSECURITY_DESCRIPTOR,DWORD,PDWORD);
-WINUSERAPI HWND WINAPI GetWindow(HWND,UINT);
-WINUSERAPI DWORD WINAPI GetWindowContextHelpId(HWND);
-WINUSERAPI HDC WINAPI GetWindowDC(HWND);
-WINUSERAPI BOOL WINAPI GetWindowExtEx(HDC,LPSIZE);
-WINUSERAPI BOOL WINAPI GetWindowPlacement(HWND,WINDOWPLACEMENT*);
-WINUSERAPI BOOL WINAPI GetWindowRect(HWND,LPRECT);
-WINUSERAPI int WINAPI GetWindowRgn(HWND,HRGN);
-#define GetWindowTask(hWnd) ((HANDLE)GetWindowThreadProcessId(hWnd, NULL))
-WINUSERAPI int WINAPI GetWindowTextA(HWND,LPSTR,int);
-WINUSERAPI int WINAPI GetWindowTextLengthA(HWND);
-WINUSERAPI int WINAPI GetWindowTextLengthW(HWND);
-WINUSERAPI int WINAPI GetWindowTextW(HWND,LPWSTR,int);
-WINUSERAPI WORD WINAPI GetWindowWord(HWND,int);
-WINUSERAPI BOOL WINAPI GetAltTabInfoA(HWND,int,PALTTABINFO,LPSTR,UINT);
-WINUSERAPI BOOL WINAPI GetAltTabInfoW(HWND,int,PALTTABINFO,LPWSTR,UINT);
-WINUSERAPI BOOL WINAPI GetComboBoxInfo(HWND,PCOMBOBOXINFO);
-WINUSERAPI BOOL WINAPI GetCursorInfo(PCURSORINFO);
-#if (WINVER >= 0x0500)
-WINUSERAPI BOOL WINAPI GetGUIThreadInfo(DWORD,LPGUITHREADINFO);
-#endif
-WINUSERAPI BOOL WINAPI GetLastInputInfo(PLASTINPUTINFO);
-WINUSERAPI DWORD WINAPI GetListBoxInfo(HWND);
-WINUSERAPI BOOL WINAPI GetMenuBarInfo(HWND,LONG,LONG,PMENUBARINFO);
-WINUSERAPI BOOL WINAPI GetMenuInfo(HMENU,LPMENUINFO);
-#if (_WIN32_WINNT >= 0x0500)
-WINUSERAPI BOOL WINAPI GetProcessDefaultLayout(DWORD*);
-#endif
-WINUSERAPI BOOL WINAPI GetScrollBarInfo(HWND,LONG,PSCROLLBARINFO);
-WINUSERAPI BOOL WINAPI GetTitleBarInfo(HWND,PTITLEBARINFO);
-WINUSERAPI BOOL WINAPI GetWindowInfo(HWND,PWINDOWINFO);
-WINUSERAPI BOOL WINAPI GetMonitorInfoA(HMONITOR,LPMONITORINFO);
-WINUSERAPI BOOL WINAPI GetMonitorInfoW(HMONITOR,LPMONITORINFO);
-WINUSERAPI UINT WINAPI GetWindowModuleFileNameA(HWND,LPSTR,UINT);
-WINUSERAPI UINT WINAPI GetWindowModuleFileNameW(HWND,LPWSTR,UINT);
-WINUSERAPI BOOL WINAPI GrayStringA(HDC,HBRUSH,GRAYSTRINGPROC,LPARAM,int,int,int,int,int);
-WINUSERAPI BOOL WINAPI GrayStringW(HDC,HBRUSH,GRAYSTRINGPROC,LPARAM,int,int,int,int,int);
-WINUSERAPI BOOL WINAPI HideCaret(HWND);
-WINUSERAPI BOOL WINAPI HiliteMenuItem(HWND,HMENU,UINT,UINT);
-WINUSERAPI BOOL WINAPI InflateRect(LPRECT,int,int);
-WINUSERAPI BOOL WINAPI InSendMessage(void);
-#if (_WIN32_WINNT >= 0x0500 || _WIN32_WINDOWS >= 0x0410)
-WINUSERAPI DWORD WINAPI InSendMessageEx(LPVOID);
-#endif
-WINUSERAPI BOOL WINAPI InsertMenuA(HMENU,UINT,UINT,UINT,LPCSTR);
-WINUSERAPI BOOL WINAPI InsertMenuW(HMENU,UINT,UINT,UINT,LPCWSTR);
-WINUSERAPI BOOL WINAPI InsertMenuItemA(HMENU,UINT,BOOL,LPCMENUITEMINFOA);
-WINUSERAPI BOOL WINAPI InsertMenuItemW(HMENU,UINT,BOOL,LPCMENUITEMINFOW);
-WINUSERAPI INT WINAPI InternalGetWindowText(HWND,LPWSTR,INT);
-WINUSERAPI BOOL WINAPI IntersectRect(LPRECT,LPCRECT,LPCRECT);
-WINUSERAPI BOOL WINAPI InvalidateRect(HWND,LPCRECT,BOOL);
-WINUSERAPI BOOL WINAPI InvalidateRgn(HWND,HRGN,BOOL);
-WINUSERAPI BOOL WINAPI InvertRect(HDC,LPCRECT);
-WINUSERAPI BOOL WINAPI IsCharAlphaA(CHAR ch);
-WINUSERAPI BOOL WINAPI IsCharAlphaNumericA(CHAR);
-WINUSERAPI BOOL WINAPI IsCharAlphaNumericW(WCHAR);
-WINUSERAPI BOOL WINAPI IsCharAlphaW(WCHAR);
-WINUSERAPI BOOL WINAPI IsCharLowerA(CHAR);
-WINUSERAPI BOOL WINAPI IsCharLowerW(WCHAR);
-WINUSERAPI BOOL WINAPI IsCharUpperA(CHAR);
-WINUSERAPI BOOL WINAPI IsCharUpperW(WCHAR);
-WINUSERAPI BOOL WINAPI IsChild(HWND,HWND);
-WINUSERAPI BOOL WINAPI IsClipboardFormatAvailable(UINT);
-WINUSERAPI BOOL WINAPI IsDialogMessageA(HWND,LPMSG);
-WINUSERAPI BOOL WINAPI IsDialogMessageW(HWND,LPMSG);
-WINUSERAPI UINT WINAPI IsDlgButtonChecked(HWND,int);
-#if(_WIN32_WINNT >= 0x0501)
-WINUSERAPI BOOL WINAPI IsGUIThread(BOOL);
-#endif
-#if(_WIN32_WINNT >= 0x0500)
-WINUSERAPI BOOL WINAPI IsHungAppWindow(HWND);
-#endif
-WINUSERAPI BOOL WINAPI IsIconic(HWND);
-WINUSERAPI BOOL WINAPI IsMenu(HMENU);
-WINUSERAPI BOOL WINAPI IsRectEmpty(LPCRECT);
-WINUSERAPI BOOL WINAPI IsWindow(HWND);
-WINUSERAPI BOOL WINAPI IsWindowEnabled(HWND);
-WINUSERAPI BOOL WINAPI IsWindowUnicode(HWND);
-WINUSERAPI BOOL WINAPI IsWindowVisible(HWND);
-#if (_WIN32_WINNT >= 0x0501)
-WINUSERAPI BOOL WINAPI IsWinEventHookInstalled(DWORD);
-#endif
-WINUSERAPI BOOL WINAPI IsZoomed(HWND);
-WINUSERAPI VOID WINAPI keybd_event(BYTE,BYTE,DWORD,DWORD);
-WINUSERAPI BOOL WINAPI KillTimer(HWND,UINT);
-WINUSERAPI HACCEL WINAPI LoadAcceleratorsA(HINSTANCE,LPCSTR);
-WINUSERAPI HACCEL WINAPI LoadAcceleratorsW(HINSTANCE,LPCWSTR);
-WINUSERAPI HBITMAP WINAPI LoadBitmapA(HINSTANCE,LPCSTR);
-WINUSERAPI HBITMAP WINAPI LoadBitmapW(HINSTANCE,LPCWSTR);
-WINUSERAPI HCURSOR WINAPI LoadCursorA(HINSTANCE,LPCSTR);
-WINUSERAPI HCURSOR WINAPI LoadCursorFromFileA(LPCSTR);
-WINUSERAPI HCURSOR WINAPI LoadCursorFromFileW(LPCWSTR);
-WINUSERAPI HCURSOR WINAPI LoadCursorW(HINSTANCE,LPCWSTR);
-WINUSERAPI HICON WINAPI LoadIconA(HINSTANCE,LPCSTR);
-WINUSERAPI HICON WINAPI LoadIconW(HINSTANCE,LPCWSTR);
-WINUSERAPI HANDLE WINAPI LoadImageA(HINSTANCE,LPCSTR,UINT,int,int,UINT);
-WINUSERAPI HANDLE WINAPI LoadImageW(HINSTANCE,LPCWSTR,UINT,int,int,UINT);
-WINUSERAPI HKL WINAPI LoadKeyboardLayoutA(LPCSTR,UINT);
-WINUSERAPI HKL WINAPI LoadKeyboardLayoutW(LPCWSTR,UINT);
-WINUSERAPI HMENU WINAPI LoadMenuA(HINSTANCE,LPCSTR);
-WINUSERAPI HMENU WINAPI LoadMenuIndirectA(const MENUTEMPLATE*);
-WINUSERAPI HMENU WINAPI LoadMenuIndirectW(const MENUTEMPLATE*);
-WINUSERAPI HMENU WINAPI LoadMenuW(HINSTANCE,LPCWSTR);
-WINUSERAPI int WINAPI LoadStringA(HINSTANCE,UINT,LPSTR,int);
-WINUSERAPI int WINAPI LoadStringW(HINSTANCE,UINT,LPWSTR,int);
-WINUSERAPI BOOL WINAPI LockWindowUpdate(HWND);
-#if (_WIN32_WINNT >= 0x0500)
-WINUSERAPI BOOL WINAPI LockWorkStation(void);
-#endif
-WINUSERAPI int WINAPI LookupIconIdFromDirectory(PBYTE,BOOL);
-WINUSERAPI int WINAPI LookupIconIdFromDirectoryEx(PBYTE,BOOL,int,int,UINT);
-WINUSERAPI BOOL WINAPI MapDialogRect(HWND,LPRECT);
-WINUSERAPI UINT WINAPI MapVirtualKeyA(UINT,UINT);
-WINUSERAPI UINT WINAPI MapVirtualKeyExA(UINT,UINT,HKL);
-WINUSERAPI UINT WINAPI MapVirtualKeyExW(UINT,UINT,HKL);
-WINUSERAPI UINT WINAPI MapVirtualKeyW(UINT,UINT);
-WINUSERAPI int WINAPI MapWindowPoints(HWND,HWND,LPPOINT,UINT);
-WINUSERAPI int WINAPI MenuItemFromPoint(HWND,HMENU,POINT);
-WINUSERAPI BOOL WINAPI MessageBeep(UINT);
-WINUSERAPI int WINAPI MessageBoxA(HWND,LPCSTR,LPCSTR,UINT);
-WINUSERAPI int WINAPI MessageBoxW(HWND,LPCWSTR,LPCWSTR,UINT);
-WINUSERAPI int WINAPI MessageBoxExA(HWND,LPCSTR,LPCSTR,UINT,WORD);
-WINUSERAPI int WINAPI MessageBoxExW(HWND,LPCWSTR,LPCWSTR,UINT,WORD);
-WINUSERAPI int WINAPI MessageBoxIndirectA(CONST MSGBOXPARAMSA*);
-WINUSERAPI int WINAPI MessageBoxIndirectW(CONST MSGBOXPARAMSW*);
-WINUSERAPI BOOL WINAPI ModifyMenuA(HMENU,UINT,UINT,UINT,LPCSTR);
-WINUSERAPI BOOL WINAPI ModifyMenuW(HMENU,UINT,UINT,UINT,LPCWSTR);
-#if (_WIN32_WINNT >= 0x0500 || _WIN32_WINDOWS >= 0x0410)
-WINUSERAPI HMONITOR WINAPI MonitorFromPoint(POINT,DWORD);
-WINUSERAPI HMONITOR WINAPI MonitorFromRect(LPCRECT,DWORD);
-WINUSERAPI HMONITOR WINAPI MonitorFromWindow(HWND,DWORD);
-#endif
-WINUSERAPI void WINAPI mouse_event(DWORD,DWORD,DWORD,DWORD,ULONG_PTR);
-WINUSERAPI BOOL WINAPI MoveWindow(HWND,int,int,int,int,BOOL);
-WINUSERAPI DWORD WINAPI MsgWaitForMultipleObjects(DWORD,CONST HANDLE*,BOOL,DWORD,DWORD);
-WINUSERAPI DWORD WINAPI MsgWaitForMultipleObjectsEx(DWORD,CONST HANDLE*,DWORD,DWORD,DWORD);
-#if (WINVER >= 0x0500)
-WINUSERAPI void WINAPI NotifyWinEvent(DWORD,HWND,LONG,LONG);
-#endif
-WINUSERAPI DWORD WINAPI OemKeyScan(WORD);
-WINUSERAPI BOOL WINAPI OemToCharA(LPCSTR,LPSTR);
-WINUSERAPI BOOL WINAPI OemToCharBuffA(LPCSTR,LPSTR,DWORD);
-WINUSERAPI BOOL WINAPI OemToCharBuffW(LPCSTR,LPWSTR,DWORD);
-WINUSERAPI BOOL WINAPI OemToCharW(LPCSTR,LPWSTR);
-WINUSERAPI BOOL WINAPI OffsetRect(LPRECT,int,int);
-WINUSERAPI BOOL WINAPI OpenClipboard(HWND);
-WINUSERAPI HDESK WINAPI OpenDesktopA(LPSTR,DWORD,BOOL,DWORD);
-WINUSERAPI HDESK WINAPI OpenDesktopW(LPWSTR,DWORD,BOOL,DWORD);
-WINUSERAPI BOOL WINAPI OpenIcon(HWND);
-WINUSERAPI HDESK WINAPI OpenInputDesktop(DWORD,BOOL,DWORD);
-WINUSERAPI HWINSTA WINAPI OpenWindowStationA(LPSTR,BOOL,DWORD);
-WINUSERAPI HWINSTA WINAPI OpenWindowStationW(LPWSTR,BOOL,DWORD);
-WINUSERAPI BOOL WINAPI PaintDesktop(HDC);
-WINUSERAPI BOOL WINAPI PeekMessageA(LPMSG,HWND,UINT,UINT,UINT);
-WINUSERAPI BOOL WINAPI PeekMessageW(LPMSG,HWND,UINT,UINT,UINT);
-#define PostAppMessageA(t,m,w,l) PostThreadMessageA((DWORD)t,m,w,l)
-#define PostAppMessageW(t,m,w,l) PostThreadMessageW((DWORD)t,m,w,l)
-WINUSERAPI BOOL WINAPI PostMessageA(HWND,UINT,WPARAM,LPARAM);
-WINUSERAPI BOOL WINAPI PostMessageW(HWND,UINT,WPARAM,LPARAM);
-WINUSERAPI void WINAPI PostQuitMessage(int);
-WINUSERAPI BOOL WINAPI PostThreadMessageA(DWORD,UINT,WPARAM,LPARAM);
-WINUSERAPI BOOL WINAPI PostThreadMessageW(DWORD,UINT,WPARAM,LPARAM);
-#if (_WIN32_WINNT >= 0x0501)
-WINUSERAPI BOOL WINAPI PrintWindow(HWND,HDC,UINT);
-#endif
-WINUSERAPI BOOL WINAPI PtInRect(LPCRECT,POINT);
-WINUSERAPI HWND WINAPI RealChildWindowFromPoint(HWND,POINT);
-WINUSERAPI UINT WINAPI RealGetWindowClassA(HWND,LPSTR,UINT);
-WINUSERAPI UINT WINAPI RealGetWindowClassW(HWND,LPWSTR,UINT);
-WINUSERAPI BOOL WINAPI RedrawWindow(HWND,LPCRECT,HRGN,UINT);
-WINUSERAPI ATOM WINAPI RegisterClassA(CONST WNDCLASSA*);
-WINUSERAPI ATOM WINAPI RegisterClassW(CONST WNDCLASSW*);
-WINUSERAPI ATOM WINAPI RegisterClassExA(CONST WNDCLASSEXA*);
-WINUSERAPI ATOM WINAPI RegisterClassExW(CONST WNDCLASSEXW*);
-WINUSERAPI UINT WINAPI RegisterClipboardFormatA(LPCSTR);
-WINUSERAPI UINT WINAPI RegisterClipboardFormatW(LPCWSTR);
-#if (WINVER >= 0x0500)
-WINUSERAPI HDEVNOTIFY WINAPI RegisterDeviceNotificationA(HANDLE,LPVOID,DWORD);
-WINUSERAPI HDEVNOTIFY WINAPI RegisterDeviceNotificationW(HANDLE,LPVOID,DWORD);
-#endif
-WINUSERAPI BOOL WINAPI RegisterHotKey(HWND,int,UINT,UINT);
-#if (_WIN32_WINNT >= 0x0501)
-WINUSERAPI BOOL WINAPI RegisterRawInputDevices(PCRAWINPUTDEVICE,UINT,UINT);
-#endif
-WINUSERAPI UINT WINAPI RegisterWindowMessageA(LPCSTR);
-WINUSERAPI UINT WINAPI RegisterWindowMessageW(LPCWSTR);
-WINUSERAPI BOOL WINAPI ReleaseCapture(void);
-WINUSERAPI int WINAPI ReleaseDC(HWND,HDC);
-WINUSERAPI BOOL WINAPI RemoveMenu(HMENU,UINT,UINT);
-WINUSERAPI HANDLE WINAPI RemovePropA(HWND,LPCSTR);
-WINUSERAPI HANDLE WINAPI RemovePropW(HWND,LPCWSTR);
-WINUSERAPI BOOL WINAPI ReplyMessage(LRESULT);
-WINUSERAPI BOOL WINAPI ScreenToClient(HWND,LPPOINT);
-WINUSERAPI BOOL WINAPI ScrollDC(HDC,int,int,LPCRECT,LPCRECT,HRGN,LPRECT);
-WINUSERAPI BOOL WINAPI ScrollWindow(HWND,int,int,LPCRECT,LPCRECT);
-WINUSERAPI int WINAPI ScrollWindowEx(HWND,int,int,LPCRECT,LPCRECT,HRGN,LPRECT,UINT);
-WINUSERAPI LONG WINAPI SendDlgItemMessageA(HWND,int,UINT,WPARAM,LPARAM);
-WINUSERAPI LONG WINAPI SendDlgItemMessageW(HWND,int,UINT,WPARAM,LPARAM);
-#if (_WIN32_WINNT >= 0x0403)
-WINUSERAPI UINT WINAPI SendInput(UINT,LPINPUT,int);
-#endif
-WINUSERAPI LRESULT WINAPI SendMessageA(HWND,UINT,WPARAM,LPARAM);
-WINUSERAPI BOOL WINAPI SendMessageCallbackA(HWND,UINT,WPARAM,LPARAM,SENDASYNCPROC,DWORD);
-WINUSERAPI BOOL WINAPI SendMessageCallbackW(HWND,UINT,WPARAM,LPARAM,SENDASYNCPROC,DWORD);
-WINUSERAPI LRESULT WINAPI SendMessageTimeoutA(HWND,UINT,WPARAM,LPARAM,UINT,UINT,PDWORD);
-WINUSERAPI LRESULT WINAPI SendMessageTimeoutW(HWND,UINT,WPARAM,LPARAM,UINT,UINT,PDWORD);
-WINUSERAPI LRESULT WINAPI SendMessageW(HWND,UINT,WPARAM,LPARAM);
-WINUSERAPI BOOL WINAPI SendNotifyMessageA(HWND,UINT,WPARAM,LPARAM);
-WINUSERAPI BOOL WINAPI SendNotifyMessageW(HWND,UINT,WPARAM,LPARAM);
-WINUSERAPI HWND WINAPI SetActiveWindow(HWND);
-WINUSERAPI HWND WINAPI SetCapture(HWND hWnd);
-WINUSERAPI BOOL WINAPI SetCaretBlinkTime(UINT);
-WINUSERAPI BOOL WINAPI SetCaretPos(int,int);
-WINUSERAPI DWORD WINAPI SetClassLongA(HWND,int,LONG);
-WINUSERAPI DWORD WINAPI SetClassLongW(HWND,int,LONG);
-WINUSERAPI ULONG_PTR WINAPI SetClassLongPtrA(HWND,int,LONG_PTR);
-WINUSERAPI ULONG_PTR WINAPI SetClassLongPtrW(HWND,int,LONG_PTR);
-WINUSERAPI WORD WINAPI SetClassWord(HWND,int,WORD);
-WINUSERAPI HANDLE WINAPI SetClipboardData(UINT,HANDLE);
-WINUSERAPI HWND WINAPI SetClipboardViewer(HWND);
-WINUSERAPI HCURSOR WINAPI SetCursor(HCURSOR);
-WINUSERAPI BOOL WINAPI SetCursorPos(int,int);
-WINUSERAPI VOID WINAPI SetDebugErrorLevel(DWORD);
-WINUSERAPI BOOL WINAPI SetDlgItemInt(HWND,int,UINT,BOOL);
-WINUSERAPI BOOL WINAPI SetDlgItemTextA(HWND,int,LPCSTR);
-WINUSERAPI BOOL WINAPI SetDlgItemTextW(HWND,int,LPCWSTR);
-WINUSERAPI BOOL WINAPI SetDoubleClickTime(UINT);
-WINUSERAPI HWND WINAPI SetFocus(HWND);
-WINUSERAPI BOOL WINAPI SetForegroundWindow(HWND);
-WINUSERAPI BOOL WINAPI SetKeyboardState(PBYTE);
-WINUSERAPI BOOL WINAPI SetMenu(HWND,HMENU);
-WINUSERAPI BOOL WINAPI SetMenuContextHelpId(HMENU,DWORD);
-WINUSERAPI BOOL WINAPI SetMenuDefaultItem(HMENU,UINT,UINT);
-WINUSERAPI BOOL WINAPI SetMenuInfo(HMENU,LPCMENUINFO);
-WINUSERAPI BOOL WINAPI SetMenuItemBitmaps(HMENU,UINT,UINT,HBITMAP,HBITMAP);
-WINUSERAPI BOOL WINAPI SetMenuItemInfoA(HMENU,UINT,BOOL,LPCMENUITEMINFOA);
-WINUSERAPI BOOL WINAPI SetMenuItemInfoW( HMENU,UINT,BOOL,LPCMENUITEMINFOW);
-WINUSERAPI LPARAM WINAPI SetMessageExtraInfo(LPARAM);
-WINUSERAPI BOOL WINAPI SetMessageQueue(int);
-WINUSERAPI HWND WINAPI SetParent(HWND,HWND);
-#if (_WIN32_WINNT >= 0x0500)
-WINUSERAPI BOOL WINAPI SetProcessDefaultLayout(DWORD);
-#endif /* (_WIN32_WINNT >= 0x0500) */
-WINUSERAPI BOOL WINAPI SetProcessWindowStation(HWINSTA);
-WINUSERAPI BOOL WINAPI SetPropA(HWND,LPCSTR,HANDLE);
-WINUSERAPI BOOL WINAPI SetPropW(HWND,LPCWSTR,HANDLE);
-WINUSERAPI BOOL WINAPI SetRect(LPRECT,int,int,int,int);
-WINUSERAPI BOOL WINAPI SetRectEmpty(LPRECT);
-WINUSERAPI int WINAPI SetScrollInfo(HWND,int,LPCSCROLLINFO,BOOL);
-WINUSERAPI int WINAPI SetScrollPos(HWND,int,int,BOOL);
-WINUSERAPI BOOL WINAPI SetScrollRange(HWND,int,int,int,BOOL);
-WINUSERAPI BOOL WINAPI SetSysColors(int,const INT *,const COLORREF *);
-#define SetSysModalWindow(h) (NULL)
-WINUSERAPI BOOL WINAPI SetSystemCursor(HCURSOR,DWORD);
-WINUSERAPI BOOL WINAPI SetThreadDesktop(HDESK);
-WINUSERAPI UINT WINAPI SetTimer(HWND,UINT,UINT,TIMERPROC);
-WINUSERAPI BOOL WINAPI SetUserObjectInformationA(HANDLE,int,PVOID,DWORD);
-WINUSERAPI BOOL WINAPI SetUserObjectInformationW(HANDLE,int,PVOID,DWORD);
-WINUSERAPI BOOL WINAPI SetUserObjectSecurity(HANDLE,PSECURITY_INFORMATION,PSECURITY_DESCRIPTOR);
-#if (WINVER >= 0x0500)
-WINUSERAPI HWINEVENTHOOK WINAPI SetWinEventHook(UINT,UINT,HMODULE,WINEVENTPROC,DWORD,DWORD,UINT);
-#endif
-WINUSERAPI BOOL WINAPI SetWindowContextHelpId(HWND,DWORD);
-WINUSERAPI LONG WINAPI SetWindowLongA(HWND,int,LONG);
-WINUSERAPI LONG WINAPI SetWindowLongW(HWND,int,LONG);
-#ifdef _WIN64
-WINUSERAPI LONG_PTR WINAPI SetWindowLongPtrA(HWND,int,LONG_PTR);
-WINUSERAPI LONG_PTR WINAPI SetWindowLongPtrW(HWND,int,LONG_PTR);
-#else
-#define SetWindowLongPtrA SetWindowLongA
-#define SetWindowLongPtrW SetWindowLongW
-#endif
-WINUSERAPI BOOL WINAPI SetWindowPlacement(HWND hWnd,const WINDOWPLACEMENT*);
-WINUSERAPI BOOL WINAPI SetWindowPos(HWND,HWND,int,int,int,int,UINT);
-WINUSERAPI int WINAPI SetWindowRgn(HWND,HRGN,BOOL);
-WINUSERAPI HHOOK WINAPI SetWindowsHookA(int,HOOKPROC);
-WINUSERAPI HHOOK WINAPI SetWindowsHookW(int,HOOKPROC);
-WINUSERAPI HHOOK WINAPI SetWindowsHookExA(int,HOOKPROC,HINSTANCE,DWORD);
-WINUSERAPI HHOOK WINAPI SetWindowsHookExW(int,HOOKPROC,HINSTANCE,DWORD);
-WINUSERAPI BOOL WINAPI SetWindowTextA(HWND,LPCSTR);
-WINUSERAPI BOOL WINAPI SetWindowTextW(HWND,LPCWSTR);
-WINUSERAPI WORD WINAPI SetWindowWord(HWND,int,WORD);
-WINUSERAPI BOOL WINAPI ShowCaret(HWND);
-WINUSERAPI int WINAPI ShowCursor(BOOL);
-WINUSERAPI BOOL WINAPI ShowOwnedPopups(HWND,BOOL);
-WINUSERAPI BOOL WINAPI ShowScrollBar(HWND,int,BOOL);
-WINUSERAPI BOOL WINAPI ShowWindow(HWND,int);
-WINUSERAPI BOOL WINAPI ShowWindowAsync(HWND,int);
-WINUSERAPI BOOL WINAPI SubtractRect(LPRECT,LPCRECT,LPCRECT);
-WINUSERAPI BOOL WINAPI SwapMouseButton(BOOL);
-WINUSERAPI BOOL WINAPI SwitchDesktop(HDESK);
-#if(_WIN32_WINNT >= 0x0500)
-WINUSERAPI VOID WINAPI SwitchToThisWindow(HWND,BOOL);
-#endif /* (_WIN32_WINNT >= 0x0500) */
-WINUSERAPI BOOL WINAPI SystemParametersInfoA(UINT,UINT,PVOID,UINT);
-WINUSERAPI BOOL WINAPI SystemParametersInfoW(UINT,UINT,PVOID,UINT);
-WINUSERAPI LONG WINAPI TabbedTextOutA(HDC,int,int,LPCSTR,int,int,LPINT,int);
-WINUSERAPI LONG WINAPI TabbedTextOutW(HDC,int,int,LPCWSTR,int,int,LPINT,int);
-WINUSERAPI WORD WINAPI TileWindows(HWND,UINT,LPCRECT,UINT,const HWND *);
-WINUSERAPI int WINAPI ToAscii(UINT,UINT,PBYTE,LPWORD,UINT);
-WINUSERAPI int WINAPI ToAsciiEx(UINT,UINT,PBYTE,LPWORD,UINT,HKL);
-WINUSERAPI int WINAPI ToUnicode(UINT,UINT,PBYTE,LPWSTR,int,UINT);
-WINUSERAPI int WINAPI ToUnicodeEx(UINT,UINT,PBYTE,LPWSTR,int,UINT,HKL);
-WINUSERAPI BOOL WINAPI TrackMouseEvent(LPTRACKMOUSEEVENT);
-WINUSERAPI BOOL WINAPI TrackPopupMenu(HMENU,UINT,int,int,int,HWND,LPCRECT);
-WINUSERAPI BOOL WINAPI TrackPopupMenuEx(HMENU,UINT,int,int,HWND,LPTPMPARAMS);
-WINUSERAPI int WINAPI TranslateAcceleratorA(HWND,HACCEL,LPMSG);
-WINUSERAPI int WINAPI TranslateAcceleratorW(HWND,HACCEL,LPMSG);
-WINUSERAPI BOOL WINAPI TranslateMDISysAccel(HWND,LPMSG);
-WINUSERAPI BOOL WINAPI TranslateMessage(const MSG*);
-WINUSERAPI BOOL WINAPI UnhookWindowsHook(int,HOOKPROC);
-WINUSERAPI BOOL WINAPI UnhookWindowsHookEx(HHOOK);
-#if (WINVER >= 0x0500)
-WINUSERAPI BOOL WINAPI UnhookWinEvent(HWINEVENTHOOK);
-#endif
-WINUSERAPI BOOL WINAPI UnionRect(LPRECT,LPCRECT,LPCRECT);
-WINUSERAPI BOOL WINAPI UnloadKeyboardLayout(HKL);
-WINUSERAPI BOOL WINAPI UnregisterClassA(LPCSTR,HINSTANCE);
-WINUSERAPI BOOL WINAPI UnregisterClassW(LPCWSTR,HINSTANCE);
-#if (_WIN32_WINDOWS >= 0x0410 || _WIN32_WINNT >= 0x0500)
-WINUSERAPI BOOL WINAPI UnregisterDeviceNotification(HANDLE);
-#endif
-WINUSERAPI BOOL WINAPI UnregisterHotKey(HWND,int);
-WINUSERAPI BOOL WINAPI UpdateWindow(HWND);
-#if (_WIN32_WINNT >= 0x0500)
-WINUSERAPI BOOL WINAPI UserHandleGrantAccess(HANDLE,HANDLE,BOOL);
-#endif
-WINUSERAPI BOOL WINAPI ValidateRect(HWND,LPCRECT);
-WINUSERAPI BOOL WINAPI ValidateRgn(HWND,HRGN);
-WINUSERAPI SHORT WINAPI VkKeyScanA(CHAR);
-WINUSERAPI SHORT WINAPI VkKeyScanExA(CHAR,HKL);
-WINUSERAPI SHORT WINAPI VkKeyScanExW(WCHAR,HKL);
-WINUSERAPI SHORT WINAPI VkKeyScanW(WCHAR);
-WINUSERAPI DWORD WINAPI WaitForInputIdle(HANDLE,DWORD);
-WINUSERAPI BOOL WINAPI WaitMessage(void);
-WINUSERAPI HWND WINAPI WindowFromDC(HDC hDC);
-WINUSERAPI HWND WINAPI WindowFromPoint(POINT);
-WINUSERAPI UINT WINAPI WinExec(LPCSTR,UINT);
-WINUSERAPI BOOL WINAPI WinHelpA(HWND,LPCSTR,UINT,DWORD);
-WINUSERAPI BOOL WINAPI WinHelpW(HWND,LPCWSTR,UINT,DWORD);
-WINUSERAPI int WINAPIV wsprintfA(LPSTR,LPCSTR,...);
-WINUSERAPI int WINAPIV wsprintfW(LPWSTR,LPCWSTR,...);
-WINUSERAPI int WINAPI wvsprintfA(LPSTR,LPCSTR,va_list arglist);
-WINUSERAPI int WINAPI wvsprintfW(LPWSTR,LPCWSTR,va_list arglist);
-#if (_WIN32_WINNT >= 0x0500 || _WIN32_WINDOWS >= 0x0490)
-WINUSERAPI BOOL WINAPI AllowSetForegroundWindow(DWORD);
-WINUSERAPI BOOL WINAPI LockSetForegroundWindow(UINT);
-#endif
-#if (_WIN32_WINNT >= 0x0500)
-WINUSERAPI BOOL WINAPI SetLayeredWindowAttributes(HWND,COLORREF,BYTE,DWORD);
-#ifndef NOGDI
-WINUSERAPI BOOL WINAPI UpdateLayeredWindow(HWND,HDC,POINT*,SIZE*,HDC,POINT*,COLORREF,BLENDFUNCTION*,DWORD);
-#endif
-#endif
-#if (_WIN32_WINNT >= 0x0501)
-WINUSERAPI BOOL WINAPI GetLayeredWindowAttributes(HWND,COLORREF*,BYTE*,DWORD*);
-#endif
-#ifdef UNICODE
-#define EDITWORDBREAKPROC EDITWORDBREAKPROCW
-#define PROPENUMPROC PROPENUMPROCW
-#define PROPENUMPROCEX PROPENUMPROCEXW
-#define DEKSTOPENUMPROC DEKSTOPENUMPROCW
-#define WINSTAENUMPROC WINSTAENUMPROCW
-#define PROPENUMPROC PROPENUMPROCW
-#define PROPENUMPROCEX PROPENUMPROCEXW
-#define MAKEINTRESOURCE MAKEINTRESOURCEW
-typedef WNDCLASSW WNDCLASS,*LPWNDCLASS,*PWNDCLASS;
-typedef WNDCLASSEXW WNDCLASSEX,*LPWNDCLASSEX,*PWNDCLASSEX;
-typedef MENUITEMINFOW MENUITEMINFO,*LPMENUITEMINFO;
-typedef LPCMENUITEMINFOW LPCMENUITEMINFO;
-typedef MSGBOXPARAMSW MSGBOXPARAMS,*PMSGBOXPARAMS,*LPMSGBOXPARAMS;
-typedef HIGHCONTRASTW HIGHCONTRAST,*LPHIGHCONTRAST;
-typedef SERIALKEYSW SERIALKEYS,*LPSERIALKEYS;
-typedef SOUNDSENTRYW SOUNDSENTRY,*LPSOUNDSENTRY;
-typedef CREATESTRUCTW CREATESTRUCT, *LPCREATESTRUCT;
-typedef CBT_CREATEWNDW CBT_CREATEWND, *LPCBT_CREATEWND;
-typedef MDICREATESTRUCTW MDICREATESTRUCT,*LPMDICREATESTRUCT;
-typedef MULTIKEYHELPW MULTIKEYHELP,*PMULTIKEYHELP,*LPMULTIKEYHELP;
-typedef MONITORINFOEXW MONITORINFOEX, *LPMONITORINFOEX;
-#define AppendMenu AppendMenuW
-#define BroadcastSystemMessage BroadcastSystemMessageW
-#define BroadcastSystemMessageEx BroadcastSystemMessageExW
-#define CallMsgFilter CallMsgFilterW
-#define CallWindowProc CallWindowProcW
-#define ChangeMenu ChangeMenuW
-#define CharLower CharLowerW
-#define CharLowerBuff CharLowerBuffW
-#define CharNext CharNextW
-#define CharNextEx CharNextExW
-#define CharPrev CharPrevW
-#define CharPrevEx CharPrevExW
-#define CharToOem CharToOemW
-#define CharToOemBuff CharToOemBuffW
-#define CharUpper CharUpperW
-#define CharUpperBuff CharUpperBuffW
-#define CopyAcceleratorTable CopyAcceleratorTableW
-#define CreateAcceleratorTable CreateAcceleratorTableW
-#define CreateDialog CreateDialogW
-#define CreateDialogIndirect CreateDialogIndirectW
-#define CreateDialogIndirectParam CreateDialogIndirectParamW
-#define CreateDialogParam CreateDialogParamW
-#define CreateMDIWindow CreateMDIWindowW
-#define CreateWindow CreateWindowW
-#define CreateWindowEx CreateWindowExW
-#define CreateWindowStation CreateWindowStationW
-#define DefDlgProc DefDlgProcW
-#define DefFrameProc DefFrameProcW
-#define DefMDIChildProc DefMDIChildProcW
-#define DefWindowProc DefWindowProcW
-#define DialogBox DialogBoxW
-#define DialogBoxIndirect DialogBoxIndirectW
-#define DialogBoxIndirectParam DialogBoxIndirectParamW
-#define DialogBoxParam DialogBoxParamW
-#define DispatchMessage DispatchMessageW
-#define DlgDirList DlgDirListW
-#define DlgDirListComboBox DlgDirListComboBoxW
-#define DlgDirSelectComboBoxEx DlgDirSelectComboBoxExW
-#define DlgDirSelectEx DlgDirSelectExW
-#define DrawState DrawStateW
-#define DrawText DrawTextW
-#define DrawTextEx DrawTextExW
-#define EnumDesktops EnumDesktopsW
-#define EnumProps EnumPropsW
-#define EnumPropsEx EnumPropsExW
-#define EnumWindowStations EnumWindowStationsW
-#define FindWindow FindWindowW
-#define FindWindowEx FindWindowExW
-#define GetClassInfo GetClassInfoW
-#define GetClassInfoEx GetClassInfoExW
-#define GetClassLong GetClassLongW
-#define GetClassLongPtr GetClassLongPtrW
-#define GetClassName GetClassNameW
-#define GetClipboardFormatName GetClipboardFormatNameW
-#define GetDlgItemText GetDlgItemTextW
-#define GetKeyboardLayoutName GetKeyboardLayoutNameW
-#define GetKeyNameText GetKeyNameTextW
-#define GetMenuItemInfo GetMenuItemInfoW
-#define GetMenuString GetMenuStringW
-#define GetMessage GetMessageW
-#define GetMonitorInfo GetMonitorInfoW
-#define GetProp GetPropW
-#define GetRawInputDeviceInfo GetRawInputDeviceInfoW
-#define GetTabbedTextExtent GetTabbedTextExtentW
-#define GetUserObjectInformation GetUserObjectInformationW
-#define GetWindowLong GetWindowLongW
-#define GetWindowLongPtr GetWindowLongPtrW
-#define GetWindowText GetWindowTextW
-#define GetWindowTextLength GetWindowTextLengthW
-#define GetAltTabInfo GetAltTabInfoW
-#define GetWindowModuleFileName GetWindowModuleFileNameW
-#define GrayString GrayStringW
-#define InsertMenu InsertMenuW
-#define InsertMenuItem InsertMenuItemW
-#define IsCharAlpha IsCharAlphaW
-#define IsCharAlphaNumeric IsCharAlphaNumericW
-#define IsCharLower IsCharLowerW
-#define IsCharUpper IsCharUpperW
-#define IsDialogMessage IsDialogMessageW
-#define LoadAccelerators LoadAcceleratorsW
-#define LoadBitmap LoadBitmapW
-#define LoadCursor LoadCursorW
-#define LoadCursorFromFile LoadCursorFromFileW
-#define LoadIcon LoadIconW
-#define LoadImage LoadImageW
-#define LoadKeyboardLayout LoadKeyboardLayoutW
-#define LoadMenu LoadMenuW
-#define LoadMenuIndirect LoadMenuIndirectW
-#define LoadString LoadStringW
-#define MapVirtualKey MapVirtualKeyW
-#define MapVirtualKeyEx MapVirtualKeyExW
-#define MessageBox MessageBoxW
-#define MessageBoxEx MessageBoxExW
-#define MessageBoxIndirect MessageBoxIndirectW
-#define ModifyMenu ModifyMenuW
-#define OemToChar OemToCharW
-#define OemToCharBuff OemToCharBuffW
-#define OpenDesktop OpenDesktopW
-#define OpenWindowStation OpenWindowStationW
-#define PeekMessage PeekMessageW
-#define PostAppMessage PostAppMessageW
-#define PostMessage PostMessageW
-#define PostThreadMessage PostThreadMessageW
-#define RealGetWindowClass RealGetWindowClassW
-#define RegisterClass RegisterClassW
-#define RegisterClassEx RegisterClassExW
-#define RegisterClipboardFormat RegisterClipboardFormatW
-#define RegisterDeviceNotification RegisterDeviceNotificationW
-#define RegisterWindowMessage RegisterWindowMessageW
-#define RemoveProp RemovePropW
-#define SendDlgItemMessage SendDlgItemMessageW
-#define SendMessage SendMessageW
-#define SendMessageCallback SendMessageCallbackW
-#define SendMessageTimeout SendMessageTimeoutW
-#define SendNotifyMessage SendNotifyMessageW
-#define SetClassLong SetClassLongW
-#define SetClassLongPtr SetClassLongPtrW
-#define SetDlgItemText SetDlgItemTextW
-#define SetMenuItemInfo SetMenuItemInfoW
-#define SetProp SetPropW
-#define SetUserObjectInformation SetUserObjectInformationW
-#define SetWindowLong SetWindowLongW
-#define SetWindowLongPtr SetWindowLongPtrW
-#define SetWindowsHook SetWindowsHookW
-#define SetWindowsHookEx SetWindowsHookExW
-#define SetWindowText SetWindowTextW
-#define SystemParametersInfo SystemParametersInfoW
-#define TabbedTextOut TabbedTextOutW
-#define TranslateAccelerator TranslateAcceleratorW
-#define UnregisterClass UnregisterClassW
-#define VkKeyScan VkKeyScanW
-#define VkKeyScanEx VkKeyScanExW
-#define WinHelp WinHelpW
-#define wsprintf wsprintfW
-#define wvsprintf wvsprintfW
-#ifndef NOGDI
-typedef ICONMETRICSW ICONMETRICS,*LPICONMETRICS;
-typedef NONCLIENTMETRICSW NONCLIENTMETRICS,*LPNONCLIENTMETRICS;
-#define ChangeDisplaySettings ChangeDisplaySettingsW
-#define ChangeDisplaySettingsEx ChangeDisplaySettingsExW
-#define CreateDesktop CreateDesktopW
-#define EnumDisplaySettings EnumDisplaySettingsW
-#define EnumDisplaySettingsEx EnumDisplaySettingsExW
-#define EnumDisplayDevices EnumDisplayDevicesW
-#endif /* NOGDI */
-#else /* UNICODE */
-#define EDITWORDBREAKPROC EDITWORDBREAKPROCA
-#define PROPENUMPROC PROPENUMPROCA
-#define PROPENUMPROCEX PROPENUMPROCEXA
-#define DEKSTOPENUMPROC DEKSTOPENUMPROCA
-#define WINSTAENUMPROC WINSTAENUMPROCA
-#define PROPENUMPROC PROPENUMPROCA
-#define PROPENUMPROCEX PROPENUMPROCEXA
-#define MAKEINTRESOURCE MAKEINTRESOURCEA
-typedef WNDCLASSA WNDCLASS,*LPWNDCLASS,*PWNDCLASS;
-typedef WNDCLASSEXA WNDCLASSEX,*LPWNDCLASSEX,*PWNDCLASSEX;
-typedef MENUITEMINFOA MENUITEMINFO,*LPMENUITEMINFO;
-typedef LPCMENUITEMINFOA LPCMENUITEMINFO;
-typedef MSGBOXPARAMSA MSGBOXPARAMS,*PMSGBOXPARAMS,*LPMSGBOXPARAMS;
-typedef HIGHCONTRASTA HIGHCONTRAST,*LPHIGHCONTRAST;
-typedef SERIALKEYSA SERIALKEYS,*LPSERIALKEYS;
-typedef SOUNDSENTRYA SOUNDSENTRY,*LPSOUNDSENTRY;
-typedef CREATESTRUCTA CREATESTRUCT, *LPCREATESTRUCT;
-typedef CBT_CREATEWNDA CBT_CREATEWND, *LPCBT_CREATEWND;
-typedef MDICREATESTRUCTA MDICREATESTRUCT,*LPMDICREATESTRUCT;
-typedef MULTIKEYHELPA MULTIKEYHELP,*PMULTIKEYHELP,*LPMULTIKEYHELP;
-typedef MONITORINFOEXA MONITORINFOEX, *LPMONITORINFOEX;
-#define AppendMenu AppendMenuA
-#define BroadcastSystemMessage BroadcastSystemMessageA
-#define BroadcastSystemMessageEx BroadcastSystemMessageExA
-#define CallMsgFilter CallMsgFilterA
-#define CallWindowProc CallWindowProcA
-#define ChangeMenu ChangeMenuA
-#define CharLower CharLowerA
-#define CharLowerBuff CharLowerBuffA
-#define CharNext CharNextA
-#define CharNextEx CharNextExA
-#define CharPrev CharPrevA
-#define CharPrevEx CharPrevExA
-#define CharToOem CharToOemA
-#define CharToOemBuff CharToOemBuffA
-#define CharUpper CharUpperA
-#define CharUpperBuff CharUpperBuffA
-#define CopyAcceleratorTable CopyAcceleratorTableA
-#define CreateAcceleratorTable CreateAcceleratorTableA
-#define CreateDialog CreateDialogA
-#define CreateDialogIndirect CreateDialogIndirectA
-#define CreateDialogIndirectParam CreateDialogIndirectParamA
-#define CreateDialogParam CreateDialogParamA
-#define CreateMDIWindow CreateMDIWindowA
-#define CreateWindow CreateWindowA
-#define CreateWindowEx CreateWindowExA
-#define CreateWindowStation CreateWindowStationA
-#define DefDlgProc DefDlgProcA
-#define DefFrameProc DefFrameProcA
-#define DefMDIChildProc DefMDIChildProcA
-#define DefWindowProc DefWindowProcA
-#define DialogBox DialogBoxA
-#define DialogBoxIndirect DialogBoxIndirectA
-#define DialogBoxIndirectParam DialogBoxIndirectParamA
-#define DialogBoxParam DialogBoxParamA
-#define DispatchMessage DispatchMessageA
-#define DlgDirList DlgDirListA
-#define DlgDirListComboBox DlgDirListComboBoxA
-#define DlgDirSelectComboBoxEx DlgDirSelectComboBoxExA
-#define DlgDirSelectEx DlgDirSelectExA
-#define DrawState DrawStateA
-#define DrawText DrawTextA
-#define DrawTextEx DrawTextExA
-#define EnumDesktops EnumDesktopsA
-#define EnumProps EnumPropsA
-#define EnumPropsEx EnumPropsExA
-#define EnumWindowStations EnumWindowStationsA
-#define FindWindow FindWindowA
-#define FindWindowEx FindWindowExA
-#define GetClassInfo GetClassInfoA
-#define GetClassInfoEx GetClassInfoExA
-#define GetClassLong GetClassLongA
-#define GetClassLongPtr GetClassLongPtrA
-#define GetClassName GetClassNameA
-#define GetClipboardFormatName GetClipboardFormatNameA
-#define GetDlgItemText GetDlgItemTextA
-#define GetKeyboardLayoutName GetKeyboardLayoutNameA
-#define GetKeyNameText GetKeyNameTextA
-#define GetMenuItemInfo GetMenuItemInfoA
-#define GetMenuString GetMenuStringA
-#define GetMessage GetMessageA
-#define GetMonitorInfo GetMonitorInfoA
-#define GetProp GetPropA
-#define GetRawInputDeviceInfo GetRawInputDeviceInfoA
-#define GetTabbedTextExtent GetTabbedTextExtentA
-#define GetUserObjectInformation GetUserObjectInformationA
-#define GetWindowLong GetWindowLongA
-#define GetWindowLongPtr GetWindowLongPtrA
-#define GetWindowText GetWindowTextA
-#define GetWindowTextLength GetWindowTextLengthA
-#define GetAltTabInfo GetAltTabInfoA
-#define GetWindowModuleFileName GetWindowModuleFileNameA
-#define GrayString GrayStringA
-#define InsertMenu InsertMenuA
-#define InsertMenuItem InsertMenuItemA
-#define IsCharAlpha IsCharAlphaA
-#define IsCharAlphaNumeric IsCharAlphaNumericA
-#define IsCharLower IsCharLowerA
-#define IsCharUpper IsCharUpperA
-#define IsDialogMessage IsDialogMessageA
-#define LoadAccelerators LoadAcceleratorsA
-#define LoadBitmap LoadBitmapA
-#define LoadCursor LoadCursorA
-#define LoadIcon LoadIconA
-#define LoadCursorFromFile LoadCursorFromFileA
-#define LoadImage LoadImageA
-#define LoadKeyboardLayout LoadKeyboardLayoutA
-#define LoadMenu LoadMenuA
-#define LoadMenuIndirect LoadMenuIndirectA
-#define LoadString LoadStringA
-#define MapVirtualKey MapVirtualKeyA
-#define MapVirtualKeyEx MapVirtualKeyExA
-#define MessageBox MessageBoxA
-#define MessageBoxEx MessageBoxExA
-#define MessageBoxIndirect MessageBoxIndirectA
-#define ModifyMenu ModifyMenuA
-#define OemToChar OemToCharA
-#define OemToCharBuff OemToCharBuffA
-#define OpenDesktop OpenDesktopA
-#define OpenWindowStation OpenWindowStationA
-#define PeekMessage PeekMessageA
-#define PostAppMessage PostAppMessageA
-#define PostMessage PostMessageA
-#define PostThreadMessage PostThreadMessageA
-#define RealGetWindowClass RealGetWindowClassA
-#define RegisterClass RegisterClassA
-#define RegisterClassEx RegisterClassExA
-#define RegisterClipboardFormat RegisterClipboardFormatA
-#define RegisterDeviceNotification RegisterDeviceNotificationA
-#define RegisterWindowMessage RegisterWindowMessageA
-#define RemoveProp RemovePropA
-#define SendDlgItemMessage SendDlgItemMessageA
-#define SendMessage SendMessageA
-#define SendMessageCallback SendMessageCallbackA
-#define SendMessageTimeout SendMessageTimeoutA
-#define SendNotifyMessage SendNotifyMessageA
-#define SetClassLong SetClassLongA
-#define SetClassLongPtr SetClassLongPtrA
-#define SetDlgItemText SetDlgItemTextA
-#define SetMenuItemInfo SetMenuItemInfoA
-#define SetProp SetPropA
-#define SetUserObjectInformation SetUserObjectInformationA
-#define SetWindowLong SetWindowLongA
-#define SetWindowLongPtr SetWindowLongPtrA
-#define SetWindowsHook SetWindowsHookA
-#define SetWindowsHookEx SetWindowsHookExA
-#define SetWindowText SetWindowTextA
-#define SystemParametersInfo SystemParametersInfoA
-#define TabbedTextOut TabbedTextOutA
-#define TranslateAccelerator TranslateAcceleratorA
-#define UnregisterClass UnregisterClassA
-#define VkKeyScan VkKeyScanA
-#define VkKeyScanEx VkKeyScanExA
-#define WinHelp WinHelpA
-#define wsprintf wsprintfA
-#define wvsprintf wvsprintfA
-#ifndef NOGDI
-typedef ICONMETRICSA ICONMETRICS,*LPICONMETRICS;
-typedef NONCLIENTMETRICSA NONCLIENTMETRICS,*LPNONCLIENTMETRICS;
-#define ChangeDisplaySettings ChangeDisplaySettingsA
-#define ChangeDisplaySettingsEx ChangeDisplaySettingsExA
-#define CreateDesktop CreateDesktopA
-#define EnumDisplaySettings EnumDisplaySettingsA
-#define EnumDisplaySettingsEx EnumDisplaySettingsExA
-#define EnumDisplayDevices EnumDisplayDevicesA
-#endif /* NOGDI */
-#endif /* UNICODE */
-#endif /* RC_INVOKED */
-
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/winsup/w32api/include/winver.h b/winsup/w32api/include/winver.h
deleted file mode 100644
index 913a35561..000000000
--- a/winsup/w32api/include/winver.h
+++ /dev/null
@@ -1,133 +0,0 @@
-#ifndef _WINVER_H
-#define _WINVER_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-#define VS_FILE_INFO RT_VERSION
-#define VS_VERSION_INFO 1
-#define VS_USER_DEFINED 100
-#define VS_FFI_SIGNATURE 0xFEEF04BD
-#define VS_FFI_STRUCVERSION 0x10000
-#define VS_FFI_FILEFLAGSMASK 0x3F
-#define VS_FF_DEBUG 1
-#define VS_FF_PRERELEASE 2
-#define VS_FF_PATCHED 4
-#define VS_FF_PRIVATEBUILD 8
-#define VS_FF_INFOINFERRED 16
-#define VS_FF_SPECIALBUILD 32
-#define VOS_UNKNOWN 0
-#define VOS_DOS 0x10000
-#define VOS_OS216 0x20000
-#define VOS_OS232 0x30000
-#define VOS_NT 0x40000
-#define VOS__BASE 0
-#define VOS__WINDOWS16 1
-#define VOS__PM16 2
-#define VOS__PM32 3
-#define VOS__WINDOWS32 4
-#define VOS_DOS_WINDOWS16 0x10001
-#define VOS_DOS_WINDOWS32 0x10004
-#define VOS_OS216_PM16 0x20002
-#define VOS_OS232_PM32 0x30003
-#define VOS_NT_WINDOWS32 0x40004
-#define VFT_UNKNOWN 0
-#define VFT_APP 1
-#define VFT_DLL 2
-#define VFT_DRV 3
-#define VFT_FONT 4
-#define VFT_VXD 5
-#define VFT_STATIC_LIB 7
-#define VFT2_UNKNOWN 0
-#define VFT2_DRV_PRINTER 1
-#define VFT2_DRV_KEYBOARD 2
-#define VFT2_DRV_LANGUAGE 3
-#define VFT2_DRV_DISPLAY 4
-#define VFT2_DRV_MOUSE 5
-#define VFT2_DRV_NETWORK 6
-#define VFT2_DRV_SYSTEM 7
-#define VFT2_DRV_INSTALLABLE 8
-#define VFT2_DRV_SOUND 9
-#define VFT2_DRV_COMM 10
-#define VFT2_DRV_INPUTMETHOD 11
-#define VFT2_FONT_RASTER 1
-#define VFT2_FONT_VECTOR 2
-#define VFT2_FONT_TRUETYPE 3
-#define VFFF_ISSHAREDFILE 1
-#define VFF_CURNEDEST 1
-#define VFF_FILEINUSE 2
-#define VFF_BUFFTOOSMALL 4
-#define VIFF_FORCEINSTALL 1
-#define VIFF_DONTDELETEOLD 2
-#define VIF_TEMPFILE 1
-#define VIF_MISMATCH 2
-#define VIF_SRCOLD 4
-#define VIF_DIFFLANG 8
-#define VIF_DIFFCODEPG 16
-#define VIF_DIFFTYPE 32
-#define VIF_WRITEPROT 64
-#define VIF_FILEINUSE 128
-#define VIF_OUTOFSPACE 256
-#define VIF_ACCESSVIOLATION 512
-#define VIF_SHARINGVIOLATION 1024
-#define VIF_CANNOTCREATE 2048
-#define VIF_CANNOTDELETE 4096
-#define VIF_CANNOTRENAME 8192
-#define VIF_CANNOTDELETECUR 16384
-#define VIF_OUTOFMEMORY 32768
-#define VIF_CANNOTREADSRC 65536
-#define VIF_CANNOTREADDST 0x20000
-#define VIF_BUFFTOOSMALL 0x40000
-#ifndef RC_INVOKED
-typedef struct tagVS_FIXEDFILEINFO {
- DWORD dwSignature;
- DWORD dwStrucVersion;
- DWORD dwFileVersionMS;
- DWORD dwFileVersionLS;
- DWORD dwProductVersionMS;
- DWORD dwProductVersionLS;
- DWORD dwFileFlagsMask;
- DWORD dwFileFlags;
- DWORD dwFileOS;
- DWORD dwFileType;
- DWORD dwFileSubtype;
- DWORD dwFileDateMS;
- DWORD dwFileDateLS;
-} VS_FIXEDFILEINFO;
-DWORD WINAPI VerFindFileA(DWORD,LPSTR,LPSTR,LPSTR,LPSTR,PUINT,LPSTR,PUINT);
-DWORD WINAPI VerFindFileW(DWORD,LPWSTR,LPWSTR,LPWSTR,LPWSTR,PUINT,LPWSTR,PUINT);
-DWORD WINAPI VerInstallFileA(DWORD,LPSTR,LPSTR,LPSTR,LPSTR,LPSTR,LPSTR,PUINT);
-DWORD WINAPI VerInstallFileW(DWORD,LPWSTR,LPWSTR,LPWSTR,LPWSTR,LPWSTR,LPWSTR,PUINT);
-DWORD WINAPI GetFileVersionInfoSizeA(LPSTR,PDWORD);
-DWORD WINAPI GetFileVersionInfoSizeW(LPWSTR,PDWORD);
-BOOL WINAPI GetFileVersionInfoA(LPSTR,DWORD,DWORD,PVOID);
-BOOL WINAPI GetFileVersionInfoW(LPWSTR,DWORD,DWORD,PVOID);
-DWORD WINAPI VerLanguageNameA(DWORD,LPSTR,DWORD);
-DWORD WINAPI VerLanguageNameW(DWORD,LPWSTR,DWORD);
-BOOL WINAPI VerQueryValueA(const LPVOID,LPSTR,LPVOID*,PUINT);
-BOOL WINAPI VerQueryValueW(const LPVOID,LPWSTR,LPVOID*,PUINT);
-#ifdef UNICODE
-#define VerFindFile VerFindFileW
-#define VerQueryValue VerQueryValueW
-#define VerInstallFile VerInstallFileW
-#define GetFileVersionInfoSize GetFileVersionInfoSizeW
-#define GetFileVersionInfo GetFileVersionInfoW
-#define VerLanguageName VerLanguageNameW
-#define VerQueryValue VerQueryValueW
-#else
-#define VerQueryValue VerQueryValueA
-#define VerFindFile VerFindFileA
-#define VerInstallFile VerInstallFileA
-#define GetFileVersionInfoSize GetFileVersionInfoSizeA
-#define GetFileVersionInfo GetFileVersionInfoA
-#define VerLanguageName VerLanguageNameA
-#define VerQueryValue VerQueryValueA
-#endif
-#endif
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/winsup/w32api/include/ws2spi.h b/winsup/w32api/include/ws2spi.h
deleted file mode 100644
index fe7425e59..000000000
--- a/winsup/w32api/include/ws2spi.h
+++ /dev/null
@@ -1,200 +0,0 @@
-/*
- * ws2spi.h
- *
- * Winsock 2 Service Provider interface.
- *
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-#ifndef _WS2SPI_H
-#define _WS2SPI_H
-
-#include <winsock2.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
-#define WSPAPI WSAAPI
-#define WSPDESCRIPTION_LEN 255
-
-#ifndef RC_INVOKED
-
-typedef struct WSPData {
- WORD wVersion;
- WORD wHighVersion;
- WCHAR szDescription[WSPDESCRIPTION_LEN+1];
-} WSPDATA, FAR *LPWSPDATA;
-typedef struct _WSATHREADID {
- HANDLE ThreadHandle;
- DWORD Reserved;
-} WSATHREADID, FAR *LPWSATHREADID;
-
-typedef BOOL (CALLBACK FAR *LPBLOCKINGCALLBACK)(DWORD);
-typedef VOID (CALLBACK FAR *LPWSAUSERAPC)(DWORD);
-
-/* Prototypes for service provider procedure table */
-typedef SOCKET (WSPAPI *LPWSPACCEPT)(SOCKET,LPSOCKADDR,LPINT,LPCONDITIONPROC,DWORD,LPINT);
-typedef INT (WSPAPI *LPWSPADDRESSTOSTRING)(LPSOCKADDR,DWORD,LPWSAPROTOCOL_INFOW,LPWSTR,LPDWORD,LPINT);
-typedef INT (WSPAPI *LPWSPASYNCSELECT)(SOCKET,HWND,UINT,LONG,LPINT);
-typedef INT (WSPAPI *LPWSPBIND)(SOCKET,const struct sockaddr*,INT,LPINT);
-typedef INT (WSPAPI *LPWSPCANCELBLOCKINGCALL)(LPINT);
-typedef INT (WSPAPI *LPWSPCLEANUP)(LPINT);
-typedef INT (WSPAPI *LPWSPCLOSESOCKET)(SOCKET,LPINT);
-typedef INT (WSPAPI *LPWSPCONNECT)(SOCKET,const struct sockaddr*,INT,LPWSABUF,LPWSABUF,LPQOS,LPQOS,LPINT);
-typedef INT (WSPAPI *LPWSPDUPLICATESOCKET)(SOCKET,DWORD,LPWSAPROTOCOL_INFOW,LPINT);
-typedef INT (WSPAPI *LPWSPENUMNETWORKEVENTS)(SOCKET,WSAEVENT,LPWSANETWORKEVENTS,LPINT);
-typedef INT (WSPAPI *LPWSPEVENTSELECT)(SOCKET,WSAEVENT,LONG,LPINT);
-typedef BOOL (WSPAPI *LPWSPGETOVERLAPPEDRESULT)(SOCKET,LPWSAOVERLAPPED,LPDWORD,BOOL,LPDWORD,LPINT);
-typedef INT (WSPAPI *LPWSPGETPEERNAME)(SOCKET,LPSOCKADDR,LPINT,LPINT);
-typedef BOOL (WSPAPI *LPWSPGETQOSBYNAME)(SOCKET,LPWSABUF,LPQOS,LPINT);
-typedef INT (WSPAPI *LPWSPGETSOCKNAME)(SOCKET,LPSOCKADDR,LPINT,LPINT);
-typedef INT (WSPAPI *LPWSPGETSOCKOPT)(SOCKET,INT,INT,CHAR FAR*,LPINT,LPINT);
-typedef INT (WSPAPI *LPWSPIOCTL)(SOCKET,DWORD,LPVOID,DWORD,LPVOID,DWORD,LPDWORD,
- LPWSAOVERLAPPED,LPWSAOVERLAPPED_COMPLETION_ROUTINE,LPWSATHREADID,LPINT);
-typedef SOCKET (WSPAPI *LPWSPJOINLEAF)(SOCKET,const struct sockaddr*,INT,LPWSABUF,LPWSABUF,LPQOS,LPQOS,DWORD,LPINT);
-typedef INT (WSPAPI *LPWSPLISTEN)(SOCKET,INT,LPINT);
-typedef INT (WSPAPI *LPWSPRECV)(SOCKET,LPWSABUF,DWORD,LPDWORD,LPDWORD,
-LPWSAOVERLAPPED,LPWSAOVERLAPPED_COMPLETION_ROUTINE,LPWSATHREADID,LPINT);
-typedef INT (WSPAPI *LPWSPRECVDISCONNECT)(SOCKET,LPWSABUF,LPINT);
-typedef INT (WSPAPI *LPWSPRECVFROM)(SOCKET,LPWSABUF,DWORD,LPDWORD,LPDWORD,LPSOCKADDR,
-LPINT,LPWSAOVERLAPPED,LPWSAOVERLAPPED_COMPLETION_ROUTINE,LPWSATHREADID,LPINT);
-typedef INT (WSPAPI *LPWSPSELECT)(INT,LPFD_SET,LPFD_SET,LPFD_SET,CONST TIMEVAL*,LPINT);
-typedef INT (WSPAPI *LPWSPSEND)(SOCKET,LPWSABUF,DWORD,LPDWORD,DWORD,
-LPWSAOVERLAPPED,LPWSAOVERLAPPED_COMPLETION_ROUTINE,LPWSATHREADID,LPINT);
-typedef INT (WSPAPI *LPWSPSENDDISCONNECT)(SOCKET,LPWSABUF,LPINT);
-typedef INT (WSPAPI *LPWSPSENDTO)(SOCKET,LPWSABUF,DWORD,LPDWORD,DWORD,const struct sockaddr*,
- INT,LPWSAOVERLAPPED,LPWSAOVERLAPPED_COMPLETION_ROUTINE,LPWSATHREADID,LPINT);
-typedef INT (WSPAPI *LPWSPSETSOCKOPT)(SOCKET,INT,INT,CONST CHAR FAR*,INT,LPINT);
-typedef INT (WSPAPI *LPWSPSHUTDOWN)(SOCKET,INT,LPINT);
-typedef SOCKET (WSPAPI *LPWSPSOCKET)(INT,INT,INT,LPWSAPROTOCOL_INFOW,GROUP,DWORD,LPINT);
-typedef INT (WSPAPI *LPWSPSTRINGTOADDRESS)(LPWSTR,INT,LPWSAPROTOCOL_INFOW,LPSOCKADDR,LPINT,LPINT);
-
-/* Service provider procedure table */
-typedef struct _WSPPROC_TABLE {
- LPWSPACCEPT lpWSPAccept;
- LPWSPADDRESSTOSTRING lpWSPAddressToString;
- LPWSPASYNCSELECT lpWSPAsyncSelect;
- LPWSPBIND lpWSPBind;
- LPWSPCANCELBLOCKINGCALL lpWSPCancelBlockingCall;
- LPWSPCLEANUP lpWSPCleanup;
- LPWSPCLOSESOCKET lpWSPCloseSocket;
- LPWSPCONNECT lpWSPConnect;
- LPWSPDUPLICATESOCKET lpWSPDuplicateSocket;
- LPWSPENUMNETWORKEVENTS lpWSPEnumNetworkEvents;
- LPWSPEVENTSELECT lpWSPEventSelect;
- LPWSPGETOVERLAPPEDRESULT lpWSPGetOverlappedResult;
- LPWSPGETPEERNAME lpWSPGetPeerName;
- LPWSPGETSOCKNAME lpWSPGetSockName;
- LPWSPGETSOCKOPT lpWSPGetSockOpt;
- LPWSPGETQOSBYNAME lpWSPGetQOSByName;
- LPWSPIOCTL lpWSPIoctl;
- LPWSPJOINLEAF lpWSPJoinLeaf;
- LPWSPLISTEN lpWSPListen;
- LPWSPRECV lpWSPRecv;
- LPWSPRECVDISCONNECT lpWSPRecvDisconnect;
- LPWSPRECVFROM lpWSPRecvFrom;
- LPWSPSELECT lpWSPSelect;
- LPWSPSEND lpWSPSend;
- LPWSPSENDDISCONNECT lpWSPSendDisconnect;
- LPWSPSENDTO lpWSPSendTo;
- LPWSPSETSOCKOPT lpWSPSetSockOpt;
- LPWSPSHUTDOWN lpWSPShutdown;
- LPWSPSOCKET lpWSPSocket;
- LPWSPSTRINGTOADDRESS lpWSPStringToAddress;
-} WSPPROC_TABLE, FAR* LPWSPPROC_TABLE;
-
-/* Prototypes for service provider upcall procedure table */
-typedef BOOL (WSPAPI *LPWPUCLOSEEVENT)(WSAEVENT,LPINT);
-typedef INT (WSPAPI *LPWPUCLOSESOCKETHANDLE)(SOCKET,LPINT);
-typedef INT (WSPAPI *LPWPUCLOSETHREAD)(LPWSATHREADID,LPINT);
-typedef WSAEVENT (WSPAPI *LPWPUCREATEEVENT)(LPINT);
-typedef SOCKET (WSPAPI *LPWPUCREATESOCKETHANDLE)(DWORD,DWORD,LPINT);
-typedef SOCKET (WSPAPI *LPWPUFDISSET)(SOCKET,LPFD_SET);
-typedef INT (WSPAPI *LPWPUGETPROVIDERPATH)(LPGUID,LPWSTR,LPINT,LPINT);
-typedef SOCKET (WSPAPI *LPWPUMODIFYIFSHANDLE)(DWORD,SOCKET,LPINT);
-typedef INT (WSPAPI *LPWPUOPENCURRENTTHREAD)(LPWSATHREADID,LPINT);
-typedef BOOL (WSPAPI *LPWPUPOSTMESSAGE)(HWND,UINT,WPARAM,LPARAM);
-typedef INT (WSPAPI *LPWPUQUERYBLOCKINGCALLBACK)(DWORD,LPBLOCKINGCALLBACK FAR*,LPDWORD,LPINT);
-typedef INT (WSPAPI *LPWPUQUERYSOCKETHANDLECONTEXT)(SOCKET,LPDWORD,LPINT);
-typedef INT (WSPAPI *LPWPUQUEUEAPC)(LPWSATHREADID,LPWSAUSERAPC,DWORD,LPINT);
-typedef BOOL (WSPAPI *LPWPURESETEVENT)(WSAEVENT,LPINT);
-typedef BOOL (WSPAPI *LPWPUSETEVENT)(WSAEVENT,LPINT);
-/* Available only directly from the DLL */
-typedef INT (WSPAPI *LPWPUCOMPLETEOVERLAPPEDREQUEST)(SOCKET,LPWSAOVERLAPPED,DWORD,DWORD,LPINT);
-
-/* Service Provider upcall table */
-typedef struct _WSPUPCALLTABLE {
- LPWPUCLOSEEVENT lpWPUCloseEvent;
- LPWPUCLOSESOCKETHANDLE lpWPUCloseSocketHandle;
- LPWPUCREATEEVENT lpWPUCreateEvent;
- LPWPUCREATESOCKETHANDLE lpWPUCreateSocketHandle;
- LPWPUFDISSET lpWPUFDIsSet;
- LPWPUGETPROVIDERPATH lpWPUGetProviderPath;
- LPWPUMODIFYIFSHANDLE lpWPUModifyIFSHandle;
- LPWPUPOSTMESSAGE lpWPUPostMessage;
- LPWPUQUERYBLOCKINGCALLBACK lpWPUQueryBlockingCallback;
- LPWPUQUERYSOCKETHANDLECONTEXT lpWPUQuerySocketHandleContext;
- LPWPUQUEUEAPC lpWPUQueueApc;
- LPWPURESETEVENT lpWPUResetEvent;
- LPWPUSETEVENT lpWPUSetEvent;
- LPWPUOPENCURRENTTHREAD lpWPUOpenCurrentThread;
- LPWPUCLOSETHREAD lpWPUCloseThread;
-} WSPUPCALLTABLE, FAR* LPWSPUPCALLTABLE;
-
-typedef INT (WSPAPI *LPWSPSTARTUP)(WORD,LPWSPDATA,LPWSAPROTOCOL_INFOW,WSPUPCALLTABLE,LPWSPPROC_TABLE);
-
-/* Prototypes for service provider namespace procedure table */
-typedef INT (WSPAPI *LPNSPCLEANUP)(LPGUID);
-typedef INT (WSPAPI *LPNSPGETSERVICECLASSINFO)(LPGUID,LPDWORD,LPWSASERVICECLASSINFOW);
-typedef INT (WSPAPI *LPNSPINSTALLSERVICECLASS)(LPGUID,LPWSASERVICECLASSINFOW);
-typedef INT (WSPAPI *LPNSPLOOKUPSERVICEBEGIN)(LPGUID,LPWSAQUERYSETW,LPWSASERVICECLASSINFOW,DWORD,LPHANDLE);
-typedef INT (WSPAPI *LPNSPLOOKUPSERVICEEND)(HANDLE);
-typedef INT (WSPAPI *LPNSPLOOKUPSERVICENEXT)(HANDLE,DWORD,LPDWORD,LPWSAQUERYSET);
-typedef INT (WSPAPI *LPNSPREMOVESERVICECLASS)(LPGUID,LPGUID);
-typedef INT (WSPAPI *LPNSPSETSERVICE)(LPGUID,LPWSASERVICECLASSINFOW,LPWSAQUERYSETW,WSAESETSERVICEOP,DWORD);
-
-typedef struct _NSP_ROUTINE {
- DWORD cbSize;
- DWORD dwMajorVersion;
- DWORD dwMinorVersion;
- LPNSPCLEANUP NSPCleanup;
- LPNSPLOOKUPSERVICEBEGIN NSPLookupServiceBegin;
- LPNSPLOOKUPSERVICENEXT NSPLookupServiceNext;
- LPNSPLOOKUPSERVICEEND NSPLookupServiceEnd;
- LPNSPSETSERVICE NSPSetService;
- LPNSPINSTALLSERVICECLASS NSPInstallServiceClass;
- LPNSPREMOVESERVICECLASS NSPRemoveServiceClass;
- LPNSPGETSERVICECLASSINFO NSPGetServiceClassInfo;
-} NSP_ROUTINE, *PNSP_ROUTINE, *LPNSP_ROUTINE;
-
-INT WSPAPI NSPStartup(LPGUID,LPNSP_ROUTINE);
-
-/* WinSock 2 DLL function prototypes */
-INT WSPAPI WPUCompleteOverlappedRequest(SOCKET,LPWSAOVERLAPPED,DWORD,DWORD,LPINT);
-INT WSPAPI WSPStartup(WORD,LPWSPDATA,LPWSAPROTOCOL_INFOW,WSPUPCALLTABLE,LPWSPPROC_TABLE);
-INT WSPAPI WSCDeinstallProvider(LPGUID,LPINT);
-INT WSPAPI WSCEnumProtocols(LPINT,LPWSAPROTOCOL_INFOW,LPDWORD,LPINT);
-INT WSPAPI WSCGetProviderPath(LPGUID,LPWSTR,LPINT,LPINT);
-INT WSPAPI WSCInstallProvider(CONST LPGUID,CONST LPWSTR,CONST LPWSAPROTOCOL_INFOW,DWORD,LPINT);
-INT WSPAPI WSCEnableNSProvider(LPGUID,BOOL);
-INT WSPAPI WSCInstallNameSpace(LPWSTR,LPWSTR,DWORD,DWORD,LPGUID);
-INT WSPAPI WSCUnInstallNameSpace(LPGUID);
-INT WSPAPI WSCWriteProviderOrder(LPDWORD,DWORD);
-
-#endif /* RC_INVOKED */
-
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
-
-#endif /* _WS2SPI_H */
diff --git a/winsup/w32api/include/ws2tcpip.h b/winsup/w32api/include/ws2tcpip.h
deleted file mode 100644
index 78095d39d..000000000
--- a/winsup/w32api/include/ws2tcpip.h
+++ /dev/null
@@ -1,364 +0,0 @@
-/*
- * ws2tcpip.h : TCP/IP specific extensions in Windows Sockets 2
- *
- * Portions Copyright (c) 1980, 1983, 1988, 1993
- * The Regents of the University of California. All rights reserved.
- *
- */
-
-#ifndef _WS2TCPIP_H
-#define _WS2TCPIP_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#if (defined _WINSOCK_H && !defined _WINSOCK2_H)
-#error "ws2tcpip.h is not compatable with winsock.h. Include winsock2.h instead."
-#endif
-
-#include <winsock2.h>
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*
- * The IP_* macros are also defined in winsock.h, but some values are different there.
- * The values defined in winsock.h for 1.1 and used in wsock32.dll are consistent
- * with the original values Steve Deering defined in his document "IP Multicast Extensions
- * for 4.3BSD UNIX related systems (MULTICAST 1.2 Release)." However, these conflicted with
- * the definitions for some IPPROTO_IP level socket options already assigned by BSD,
- * so Berkeley changed all the values by adding 7. WinSock2 (ws2_32.dll) uses
- * the BSD 4.4 compatible values defined here.
- *
- * See also: msdn kb article Q257460
- * http://support.microsoft.com/support/kb/articles/Q257/4/60.asp
- */
-
-/* This is also defined in winsock.h; value hasn't changed */
-#define IP_OPTIONS 1
-
-#define IP_HDRINCL 2
-/*
- * These are also be defined in winsock.h,
- * but values have changed for WinSock2 interface
- */
-#define IP_TOS 3 /* old (winsock 1.1) value 8 */
-#define IP_TTL 4 /* old value 7 */
-#define IP_MULTICAST_IF 9 /* old value 2 */
-#define IP_MULTICAST_TTL 10 /* old value 3 */
-#define IP_MULTICAST_LOOP 11 /* old value 4 */
-#define IP_ADD_MEMBERSHIP 12 /* old value 5 */
-#define IP_DROP_MEMBERSHIP 13 /* old value 6 */
-#define IP_DONTFRAGMENT 14 /* old value 9 */
-#define IP_ADD_SOURCE_MEMBERSHIP 15
-#define IP_DROP_SOURCE_MEMBERSHIP 16
-#define IP_BLOCK_SOURCE 17
-#define IP_UNBLOCK_SOURCE 18
-#define IP_PKTINFO 19
-
-/*
- * As with BSD implementation, IPPROTO_IPV6 level socket options have
- * same values as IPv4 counterparts.
- */
-#define IPV6_UNICAST_HOPS 4
-#define IPV6_MULTICAST_IF 9
-#define IPV6_MULTICAST_HOPS 10
-#define IPV6_MULTICAST_LOOP 11
-#define IPV6_ADD_MEMBERSHIP 12
-#define IPV6_DROP_MEMBERSHIP 13
-#define IPV6_JOIN_GROUP IPV6_ADD_MEMBERSHIP
-#define IPV6_LEAVE_GROUP IPV6_DROP_MEMBERSHIP
-#define IPV6_PKTINFO 19
-
-#define IP_DEFAULT_MULTICAST_TTL 1
-#define IP_DEFAULT_MULTICAST_LOOP 1
-#define IP_MAX_MEMBERSHIPS 20
-
-#define TCP_EXPEDITED_1122 2
-
-#define UDP_NOCHECKSUM 1
-
-/* INTERFACE_INFO iiFlags */
-#define IFF_UP 1
-#define IFF_BROADCAST 2
-#define IFF_LOOPBACK 4
-#define IFF_POINTTOPOINT 8
-#define IFF_MULTICAST 16
-
-#define SIO_GET_INTERFACE_LIST _IOR('t', 127, u_long)
-
-#define INET_ADDRSTRLEN 16
-#define INET6_ADDRSTRLEN 46
-
-/* getnameinfo constants */
-#define NI_MAXHOST 1025
-#define NI_MAXSERV 32
-
-#define NI_NOFQDN 0x01
-#define NI_NUMERICHOST 0x02
-#define NI_NAMEREQD 0x04
-#define NI_NUMERICSERV 0x08
-#define NI_DGRAM 0x10
-
-/* getaddrinfo constants */
-#define AI_PASSIVE 1
-#define AI_CANONNAME 2
-#define AI_NUMERICHOST 4
-
-/* getaddrinfo error codes */
-#define EAI_AGAIN WSATRY_AGAIN
-#define EAI_BADFLAGS WSAEINVAL
-#define EAI_FAIL WSANO_RECOVERY
-#define EAI_FAMILY WSAEAFNOSUPPORT
-#define EAI_MEMORY WSA_NOT_ENOUGH_MEMORY
-#define EAI_NODATA WSANO_DATA
-#define EAI_NONAME WSAHOST_NOT_FOUND
-#define EAI_SERVICE WSATYPE_NOT_FOUND
-#define EAI_SOCKTYPE WSAESOCKTNOSUPPORT
-
-/*
- * ip_mreq also in winsock.h for WinSock1.1,
- * but online msdn docs say it is defined here for WinSock2.
- */
-
-struct ip_mreq {
- struct in_addr imr_multiaddr;
- struct in_addr imr_interface;
-};
-
-struct ip_mreq_source {
- struct in_addr imr_multiaddr;
- struct in_addr imr_sourceaddr;
- struct in_addr imr_interface;
-};
-
-struct ip_msfilter {
- struct in_addr imsf_multiaddr;
- struct in_addr imsf_interface;
- u_long imsf_fmode;
- u_long imsf_numsrc;
- struct in_addr imsf_slist[1];
-};
-
-#define IP_MSFILTER_SIZE(numsrc) \
- (sizeof(struct ip_msfilter) - sizeof(struct in_addr) \
- + (numsrc) * sizeof(struct in_addr))
-
-struct in_pktinfo {
- IN_ADDR ipi_addr;
- UINT ipi_ifindex;
-};
-typedef struct in_pktinfo IN_PKTINFO;
-
-
-/* ipv6 */
-/* These require XP or .NET Server or use of add-on IPv6 stacks on NT 4
- or higher */
-
-/* This is based on the example given in RFC 2553 with stdint types
- changed to BSD types. For now, use these field names until there
- is some consistency in MS docs. In this file, we only use the
- in6_addr structure start address, with casts to get the right offsets
- when testing addresses */
-
-struct in6_addr {
- union {
- u_char _S6_u8[16];
- u_short _S6_u16[8];
- u_long _S6_u32[4];
- } _S6_un;
-};
-/* s6_addr is the standard name */
-#define s6_addr _S6_un._S6_u8
-
-/* These are GLIBC names */
-#define s6_addr16 _S6_un._S6_u16
-#define s6_addr32 _S6_un._S6_u16
-
-/* These are used in some MS code */
-#define in_addr6 in6_addr
-#define _s6_bytes _S6_un._S6_u8
-#define _s6_words _S6_un._S6_u16
-
-typedef struct in6_addr IN6_ADDR, *PIN6_ADDR, *LPIN6_ADDR;
-
-struct sockaddr_in6 {
- short sin6_family; /* AF_INET6 */
- u_short sin6_port; /* transport layer port # */
- u_long sin6_flowinfo; /* IPv6 traffic class & flow info */
- struct in6_addr sin6_addr; /* IPv6 address */
- u_long sin6_scope_id; /* set of interfaces for a scope */
-};
-typedef struct sockaddr_in6 SOCKADDR_IN6, *PSOCKADDR_IN6, *LPSOCKADDR_IN6;
-
-extern const struct in6_addr in6addr_any;
-extern const struct in6_addr in6addr_loopback;
-/* the above can get initialised using: */
-#define IN6ADDR_ANY_INIT { 0 }
-#define IN6ADDR_LOOPBACK_INIT { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 }
-
-/* Described in RFC 2292, but not in 2553 */
-/* int IN6_ARE_ADDR_EQUAL(const struct in6_addr * a, const struct in6_addr * b) */
-#define IN6_ARE_ADDR_EQUAL(a, b) \
- (memcmp ((void*)(a), (void*)(b), sizeof (struct in6_addr)) == 0)
-
-
-/* Address Testing Macros
-
- These macro functions all take const struct in6_addr* as arg.
- Static inlines would allow type checking, but RFC 2553 says they
- macros.
- NB: These are written specifically for little endian host */
-
-#define IN6_IS_ADDR_UNSPECIFIED(_addr) \
- ( (((const u_long *)(_addr))[0] == 0) \
- && (((const u_long *)(_addr))[1] == 0) \
- && (((const u_long *)(_addr))[2] == 0) \
- && (((const u_long *)(_addr))[3] == 0))
-
-#define IN6_IS_ADDR_LOOPBACK(_addr) \
- ( (((const u_long *)(_addr))[0] == 0) \
- && (((const u_long *)(_addr))[1] == 0) \
- && (((const u_long *)(_addr))[2] == 0) \
- && (((const u_long *)(_addr))[3] == 0x01000000)) /* Note byte order reversed */
-/* (((const u_long *)(_addr))[3] == ntohl(1)) */
-
-#define IN6_IS_ADDR_MULTICAST(_addr) (((const u_char *) (_addr))[0] == 0xff)
-
-#define IN6_IS_ADDR_LINKLOCAL(_addr) \
- ( (((const u_char *)(_addr))[0] == 0xfe) \
- && ((((const u_char *)(_addr))[1] & 0xc0) == 0x80))
-
-#define IN6_IS_ADDR_SITELOCAL(_addr) \
- ( (((const u_char *)(_addr))[0] == 0xfe) \
- && ((((const u_char *)(_addr))[1] & 0xc0) == 0xc0))
-
-#define IN6_IS_ADDR_V4MAPPED(_addr) \
- ( (((const u_long *)(_addr))[0] == 0) \
- && (((const u_long *)(_addr))[1] == 0) \
- && (((const u_long *)(_addr))[2] == 0xffff0000)) /* Note byte order reversed */
-/* (((const u_long *)(_addr))[2] == ntohl(0x0000ffff))) */
-
-#define IN6_IS_ADDR_V4COMPAT(_addr) \
- ( (((const u_long *)(_addr))[0] == 0) \
- && (((const u_long *)(_addr))[1] == 0) \
- && (((const u_long *)(_addr))[2] == 0) \
- && (((const u_long *)(_addr))[3] != 0) \
- && (((const u_long *)(_addr))[3] != 0x01000000)) /* Note byte order reversed */
-/* (ntohl (((const u_long *)(_addr))[3]) > 1 ) */
-
-
-#define IN6_IS_ADDR_MC_NODELOCAL(_addr) \
- ( IN6_IS_ADDR_MULTICAST(_addr) \
- && ((((const u_char *)(_addr))[1] & 0xf) == 0x1))
-
-#define IN6_IS_ADDR_MC_LINKLOCAL(_addr) \
- ( IN6_IS_ADDR_MULTICAST (_addr) \
- && ((((const u_char *)(_addr))[1] & 0xf) == 0x2))
-
-#define IN6_IS_ADDR_MC_SITELOCAL(_addr) \
- ( IN6_IS_ADDR_MULTICAST(_addr) \
- && ((((const u_char *)(_addr))[1] & 0xf) == 0x5))
-
-#define IN6_IS_ADDR_MC_ORGLOCAL(_addr) \
- ( IN6_IS_ADDR_MULTICAST(_addr) \
- && ((((const u_char *)(_addr))[1] & 0xf) == 0x8))
-
-#define IN6_IS_ADDR_MC_GLOBAL(_addr) \
- ( IN6_IS_ADDR_MULTICAST(_addr) \
- && ((((const u_char *)(_addr))[1] & 0xf) == 0xe))
-
-
-typedef int socklen_t;
-
-struct ipv6_mreq {
- struct in6_addr ipv6mr_multiaddr;
- unsigned int ipv6mr_interface;
-};
-typedef struct ipv6_mreq IPV6_MREG;
-
-struct in6_pktinfo {
- IN6_ADDR ipi6_addr;
- UINT ipi6_ifindex;
-};
-typedef struct in6_pktinfo IN6_PKTINFO;
-
-struct addrinfo {
- int ai_flags;
- int ai_family;
- int ai_socktype;
- int ai_protocol;
- size_t ai_addrlen;
- char *ai_canonname;
- struct sockaddr *ai_addr;
- struct addrinfo *ai_next;
-};
-
-#if (_WIN32_WINNT >= 0x0501)
-void WSAAPI freeaddrinfo (struct addrinfo*);
-int WSAAPI getaddrinfo (const char*,const char*,const struct addrinfo*,
- struct addrinfo**);
-int WSAAPI getnameinfo(const struct sockaddr*,socklen_t,char*,DWORD,
- char*,DWORD,int);
-#else
-/* FIXME: Need WS protocol-independent API helpers. */
-#endif
-
-#if 0
-/* These are not exported from any known w32api library. Are they
- implemented as macros or inline finctions? */
-char* WSAAPI gai_strerrorA(int);
-WCHAR* WSAAPI gai_strerrorW(int);
-#ifdef UNICODE
-#define gai_strerror gai_strerrorW
-#else
-#define gai_strerror gai_strerrorA
-#endif /* UNICODE */
-#endif /* 0 */
-
-/* Some older IPv4/IPv6 compatability stuff */
-
-/* This struct lacks sin6_scope_id; retained for use in sockaddr_gen */
-struct sockaddr_in6_old {
- short sin6_family;
- u_short sin6_port;
- u_long sin6_flowinfo;
- struct in6_addr sin6_addr;
-};
-
-typedef union sockaddr_gen{
- struct sockaddr Address;
- struct sockaddr_in AddressIn;
- struct sockaddr_in6_old AddressIn6;
-} sockaddr_gen;
-
-
-typedef struct _INTERFACE_INFO {
- u_long iiFlags;
- sockaddr_gen iiAddress;
- sockaddr_gen iiBroadcastAddress;
- sockaddr_gen iiNetmask;
-} INTERFACE_INFO, *LPINTERFACE_INFO;
-
-/*
- The definition above can cause problems on NT4,prior to sp4.
- To workaround, include the following struct and typedef and
- #define INTERFACE_INFO OLD_INTERFACE_INFO
- See: FIX: WSAIoctl SIO_GET_INTERFACE_LIST Option Problem
- (Q181520) in MSDN KB.
-
- The old definition causes problems on newer NT and on XP.
-
-typedef struct _OLD_INTERFACE_INFO {
- u_long iiFlags;
- struct sockaddr iiAddress;
- struct sockaddr iiBroadcastAddress;
- struct sockaddr iiNetmask;
-} OLD_INTERFACE_INFO;
-*/
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _WS2TCPIP_H */
diff --git a/winsup/w32api/include/wsahelp.h b/winsup/w32api/include/wsahelp.h
deleted file mode 100644
index bcdeba87d..000000000
--- a/winsup/w32api/include/wsahelp.h
+++ /dev/null
@@ -1,96 +0,0 @@
-#ifndef _WSAHELP_H
-#define _WSAHELP_H
-
-#include <winsock2.h>
-#include <ntsecapi.h>
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
-#define WSH_NOTIFY_BIND 0x00000001
-#define WSH_NOTIFY_LISTEN 0x00000002
-#define WSH_NOTIFY_CONNECT 0x00000004
-#define WSH_NOTIFY_ACCEPT 0x00000008
-#define WSH_NOTIFY_SHUTDOWN_RECEIVE 0x00000010
-#define WSH_NOTIFY_SHUTDOWN_SEND 0x00000020
-#define WSH_NOTIFY_SHUTDOWN_ALL 0x00000040
-#define WSH_NOTIFY_CLOSE 0x00000080
-#define WSH_NOTIFY_CONNECT_ERROR 0x00000100
-#define SOL_INTERNAL 0xFFFE
-#define SO_CONTEXT 1
-
-#ifndef RC_INVOKED
-typedef enum _SOCKADDR_ADDRESS_INFO {
- SockaddrAddressInfoNormal,
- SockaddrAddressInfoWildcard,
- SockaddrAddressInfoBroadcast,
- SockaddrAddressInfoLoopback
-} SOCKADDR_ADDRESS_INFO, *PSOCKADDR_ADDRESS_INFO;
-typedef enum _SOCKADDR_ENDPOINT_INFO {
- SockaddrEndpointInfoNormal,
- SockaddrEndpointInfoWildcard,
- SockaddrEndpointInfoReserved
-} SOCKADDR_ENDPOINT_INFO, *PSOCKADDR_ENDPOINT_INFO;
-typedef struct _SOCKADDR_INFO {
- SOCKADDR_ADDRESS_INFO AddressInfo;
- SOCKADDR_ENDPOINT_INFO EndpointInfo;
-} SOCKADDR_INFO, *PSOCKADDR_INFO;
-
-INT WINAPI WSHAddressToString(LPSOCKADDR,INT,LPWSAPROTOCOL_INFOW,LPWSTR,LPDWORD);
-INT WINAPI WSHEnumProtocols(LPINT,LPWSTR,LPVOID,LPDWORD);
-INT WINAPI WSHGetBroadcastSockaddr(PVOID,PSOCKADDR,PINT);
-INT WINAPI WSHGetProviderGuid(LPWSTR,LPGUID);
-INT WINAPI WSHGetSockaddrType(PSOCKADDR,DWORD,PSOCKADDR_INFO);
-INT WINAPI WSHGetSocketInformation(PVOID,SOCKET,HANDLE,HANDLE,INT,INT,PCHAR,INT);
-INT WINAPI WSHGetWildcardSockaddr(PVOID,PSOCKADDR,PINT);
-INT WINAPI WSHGetWSAProtocolInfo(LPWSTR,LPWSAPROTOCOL_INFOW*,LPDWORD);
-INT WINAPI WSHIoctl(PVOID,SOCKET,HANDLE,HANDLE,DWORD,LPVOID,DWORD,LPVOID,DWORD,
-LPDWORD,LPWSAOVERLAPPED,LPWSAOVERLAPPED_COMPLETION_ROUTINE,LPBOOL);
-INT WINAPI WSHJoinLeaf(PVOID,SOCKET,HANDLE,HANDLE,PVOID,SOCKET,PSOCKADDR,
-DWORD,LPWSABUF,LPWSABUF,LPQOS,LPQOS,DWORD);
-INT WINAPI WSHNotify(PVOID,SOCKET,HANDLE,HANDLE,DWORD);
-INT WINAPI WSHOpenSocket(PINT,PINT,PINT,PUNICODE_STRING,PVOID,PDWORD);
-INT WINAPI WSHOpenSocket2(PINT,PINT,PINT,GROUP,DWORD,PUNICODE_STRING,PVOID*,PDWORD);
-INT WINAPI WSHSetSocketInformation(PVOID,SOCKET,HANDLE,HANDLE,INT,INT,PCHAR,INT);
-INT WINAPI WSHStringToAddress(LPWSTR,DWORD,LPWSAPROTOCOL_INFOW,LPSOCKADDR,LPDWORD);
-
-typedef INT (WINAPI *PWSH_ADDRESS_TO_STRING)(LPSOCKADDR,INT,LPWSAPROTOCOL_INFOW,LPWSTR,LPDWORD);
-typedef INT (WINAPI *PWSH_ENUM_PROTOCOLS)(LPINT,LPWSTR,LPVOID,LPDWORD);
-typedef INT (WINAPI *PWSH_GET_BROADCAST_SOCKADDR)(PVOID,PSOCKADDR,PINT);
-typedef INT (WINAPI *PWSH_GET_PROVIDER_GUID)(LPWSTR,LPGUID);
-typedef INT (WINAPI *PWSH_GET_SOCKADDR_TYPE)(PSOCKADDR,DWORD,PSOCKADDR_INFO);
-typedef INT (WINAPI *PWSH_GET_SOCKET_INFORMATION)(PVOID,SOCKET,HANDLE,HANDLE,INT,INT,PCHAR,INT);
-typedef INT (WINAPI *PWSH_GET_WILDCARD_SOCKEADDR)(PVOID,PSOCKADDR,PINT);
-typedef INT (WINAPI *PWSH_GET_WSAPROTOCOL_INFO)(LPWSTR,LPWSAPROTOCOL_INFOW*,LPDWORD);
-typedef INT (WINAPI *PWSH_IOCTL)(PVOID,SOCKET,HANDLE,HANDLE,DWORD,LPVOID,DWORD,
- LPVOID,DWORD,LPDWORD,LPWSAOVERLAPPED,LPWSAOVERLAPPED_COMPLETION_ROUTINE,LPBOOL);
-typedef INT (WINAPI *PWSH_JOIN_LEAF)(PVOID,SOCKET,HANDLE,HANDLE,PVOID,SOCKET,
- PSOCKADDR,DWORD,LPWSABUF,LPWSABUF,LPQOS,LPQOS,DWORD);
-typedef INT (WINAPI *PWSH_NOTIFY)(PVOID,SOCKET,HANDLE,HANDLE,DWORD);
-typedef INT (WINAPI *PWSH_OPEN_SOCKET)(PINT,PINT,PINT,PUNICODE_STRING,PVOID,PDWORD);
-typedef INT (WINAPI *PWSH_OPEN_SOCKET2)(PINT,PINT,PINT,GROUP,DWORD,PUNICODE_STRING,PVOID*,PDWORD);
-typedef INT (WINAPI *PWSH_SET_SOCKET_INFORMATION)(PVOID,SOCKET,HANDLE,HANDLE,INT,INT,PCHAR,INT);
-typedef INT (WINAPI *PWSH_STRING_TO_ADDRESS)(LPWSTR,DWORD,LPWSAPROTOCOL_INFOW,LPSOCKADDR,LPDWORD);
-
-#ifndef __OBJC__
-/* "Protocol" is a builtin class name in ObjC. */
-typedef struct _WINSOCK_MAPPING {
- DWORD Rows;
- DWORD Columns;
- struct {
- DWORD AddressFamily;
- DWORD SocketType;
- DWORD Protocol;
- } Mapping[1];
-} WINSOCK_MAPPING, *PWINSOCK_MAPPING;
-DWORD WINAPI WSHGetWinsockMapping(PWINSOCK_MAPPING,DWORD);
-typedef DWORD (WINAPI *PWSH_GET_WINSOCK_MAPPING)(PWINSOCK_MAPPING,DWORD);
-#endif
-
-#endif /* RC_INVOKED */
-
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
-
-#endif /* _WSAHELP_H */
diff --git a/winsup/w32api/include/wsipx.h b/winsup/w32api/include/wsipx.h
deleted file mode 100644
index ff831a147..000000000
--- a/winsup/w32api/include/wsipx.h
+++ /dev/null
@@ -1,28 +0,0 @@
-/* WSIPX.H - contributed by the WINE project
- */
-
-#ifndef _WSIPX_H
-#define _WSIPX_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define NSPROTO_IPX 1000
-#define NSPROTO_SPX 1256
-#define NSPROTO_SPXII 1257
-
-typedef struct sockaddr_ipx {
- short sa_family;
- char sa_netnum[4];
- char sa_nodenum[6];
- unsigned short sa_socket;
-} SOCKADDR_IPX, *PSOCKADDR_IPX, *LPSOCKADDR_IPX;
-
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/winsup/w32api/include/wsnetbs.h b/winsup/w32api/include/wsnetbs.h
deleted file mode 100644
index e435b5daf..000000000
--- a/winsup/w32api/include/wsnetbs.h
+++ /dev/null
@@ -1,35 +0,0 @@
-#ifndef _WSNETBS_H
-#define _WSNETBS_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#define NETBIOS_NAME_LENGTH 16
-#define NETBIOS_UNIQUE_NAME 0
-#define NETBIOS_GROUP_NAME 1
-#define NETBIOS_TYPE_QUICK_UNIQUE 2
-#define NETBIOS_TYPE_QUICK_GROUP 3
-
-#ifndef RC_INVOKED
-typedef struct sockaddr_nb {
- short snb_family;
- u_short snb_type;
- char snb_name[NETBIOS_NAME_LENGTH];
-} SOCKADDR_NB, *PSOCKADDR_NB, *LPSOCKADDR_NB;
-#define SET_NETBIOS_SOCKADDR(_snb,_type,_name,_port) \
-{ \
- register int _i; \
- register char *_n = (_name); \
- register PSOCKADDR_NB _s = (_snb); \
- _s->snb_family = AF_NETBIOS; \
- _s->snb_type = (_type); \
- for (_i=0; _n[_i] != '\0' && _i<NETBIOS_NAME_LENGTH-1; _i++) { \
- _s->snb_name[_i] = _n[_i]; \
- } \
- for (; _i<NETBIOS_NAME_LENGTH-1; _i++) { \
- _s->snb_name[_i] = ' '; \
- } \
- _s->snb_name[NETBIOS_NAME_LENGTH-1] = (_port); \
-}
-#endif /* RC_INVOKED */
-#endif
diff --git a/winsup/w32api/include/wtypes.h b/winsup/w32api/include/wtypes.h
deleted file mode 100644
index 5192e1325..000000000
--- a/winsup/w32api/include/wtypes.h
+++ /dev/null
@@ -1,170 +0,0 @@
-#include <rpc.h>
-#include <rpcndr.h>
-
-#ifndef _WTYPES_H
-#define _WTYPES_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define IID_NULL GUID_NULL
-#define CLSID_NULL GUID_NULL
-#define CBPCLIPDATA(d) ((d).cbSize-sizeof((d).ulClipFmt))
-#define DECIMAL_NEG ((BYTE)0x80)
-#ifdef NONAMELESSUNION
-#define DECIMAL_SETZERO(d) {(d).DUMMYUNIONNAME2.Lo64=(d).Hi32=(d).DUMMYUNIONNAME.signscale=0;}
-#else
-#define DECIMAL_SETZERO(d) {(d).Lo64=(d).Hi32=(d).signscale=0;}
-#endif
-#define ROTFLAGS_REGISTRATIONKEEPSALIVE 0x01
-#define ROTFLAGS_ALLOWANYCLIENT 0x02
-
-#ifndef __BLOB_T_DEFINED /* also in winsock2.h */
-#define __BLOB_T_DEFINED
-typedef struct _BLOB {
- ULONG cbSize;
- BYTE *pBlobData;
-} BLOB,*PBLOB,*LPBLOB;
-#endif
-typedef enum tagDVASPECT {
- DVASPECT_CONTENT=1,
- DVASPECT_THUMBNAIL=2,
- DVASPECT_ICON=4,
- DVASPECT_DOCPRINT=8
-} DVASPECT;
-typedef enum tagDVASPECT2 {
- DVASPECT_OPAQUE=16,
- DVASPECT_TRANSPARENT=32
-} DVASPECT2;
-typedef enum tagSTATFLAG {
- STATFLAG_DEFAULT=0,
- STATFLAG_NONAME=1
-} STATFLAG;
-typedef enum tagMEMCTX {
- MEMCTX_LOCAL=0,
- MEMCTX_TASK,
- MEMCTX_SHARED,
- MEMCTX_MACSYSTEM,
- MEMCTX_UNKNOWN=-1,
- MEMCTX_SAME=-2
-} MEMCTX;
-typedef enum tagMSHCTX {
- MSHCTX_LOCAL=0,
- MSHCTX_NOSHAREDMEM,
- MSHCTX_DIFFERENTMACHINE,
- MSHCTX_INPROC,
- MSHCTX_CROSSCTX
-} MSHCTX;
-typedef enum tagCLSCTX {
- CLSCTX_INPROC_SERVER=1,CLSCTX_INPROC_HANDLER=2,CLSCTX_LOCAL_SERVER=4,
- CLSCTX_INPROC_SERVER16=8,CLSCTX_REMOTE_SERVER=16
-} CLSCTX;
-typedef enum tagMSHLFLAGS {
- MSHLFLAGS_NORMAL,MSHLFLAGS_TABLESTRONG,MSHLFLAGS_TABLEWEAK
-} MSHLFLAGS;
-typedef struct _FLAGGED_WORD_BLOB {
- unsigned long fFlags;
- unsigned long clSize;
- unsigned short asData[1];
-}FLAGGED_WORD_BLOB;
-
-#ifndef OLE2ANSI
-typedef WCHAR OLECHAR;
-typedef LPWSTR LPOLESTR;
-typedef LPCWSTR LPCOLESTR;
-#define OLESTR(s) L##s
-#else
-typedef char OLECHAR;
-typedef LPSTR LPOLESTR;
-typedef LPCSTR LPCOLESTR;
-#define OLESTR(s) s
-#endif
-typedef unsigned short VARTYPE;
-typedef short VARIANT_BOOL;
-typedef VARIANT_BOOL _VARIANT_BOOL;
-#define VARIANT_TRUE ((VARIANT_BOOL)0xffff)
-#define VARIANT_FALSE ((VARIANT_BOOL)0)
-typedef OLECHAR *BSTR;
-typedef FLAGGED_WORD_BLOB *wireBSTR;
-typedef BSTR *LPBSTR;
-typedef LONG SCODE;
-typedef void *HCONTEXT;
-typedef union tagCY {
- _ANONYMOUS_STRUCT struct {
- unsigned long Lo;
- long Hi;
- }_STRUCT_NAME(s);
- LONGLONG int64;
-} CY;
-typedef double DATE;
-typedef struct tagBSTRBLOB {
- ULONG cbSize;
- PBYTE pData;
-}BSTRBLOB;
-typedef struct tagBSTRBLOB *LPBSTRBLOB;
-typedef struct tagCLIPDATA {
- ULONG cbSize;
- long ulClipFmt;
- PBYTE pClipData;
-}CLIPDATA;
-typedef enum tagSTGC {
- STGC_DEFAULT,STGC_OVERWRITE,STGC_ONLYIFCURRENT,
- STGC_DANGEROUSLYCOMMITMERELYTODISKCACHE
-}STGC;
-typedef enum tagSTGMOVE {
- STGMOVE_MOVE,STGMOVE_COPY,STGMOVE_SHALLOWCOPY
-}STGMOVE;
-enum VARENUM {
- VT_EMPTY,VT_NULL,VT_I2,VT_I4,VT_R4,VT_R8,VT_CY,VT_DATE,VT_BSTR,VT_DISPATCH,
- VT_ERROR,VT_BOOL,VT_VARIANT,VT_UNKNOWN,VT_DECIMAL,VT_I1=16,VT_UI1,VT_UI2,VT_UI4,VT_I8,
- VT_UI8,VT_INT,VT_UINT,VT_VOID,VT_HRESULT,VT_PTR,VT_SAFEARRAY,VT_CARRAY,VT_USERDEFINED,
- VT_LPSTR,VT_LPWSTR,VT_RECORD=36,VT_INT_PTR=37,VT_UINT_PTR=38,VT_FILETIME=64,VT_BLOB,VT_STREAM,VT_STORAGE,VT_STREAMED_OBJECT,
- VT_STORED_OBJECT,VT_BLOB_OBJECT,VT_CF,VT_CLSID,VT_BSTR_BLOB=0xfff,VT_VECTOR=0x1000,
- VT_ARRAY=0x2000,VT_BYREF=0x4000,VT_RESERVED=0x8000,VT_ILLEGAL= 0xffff,VT_ILLEGALMASKED=0xfff,
- VT_TYPEMASK=0xfff
-};
-
-typedef struct _BYTE_SIZEDARR {
- unsigned long clSize;
- byte *pData;
-}BYTE_SIZEDARR;
-typedef struct _SHORT_SIZEDARR {
- unsigned long clSize;
- unsigned short *pData;
-}WORD_SIZEDARR;
-typedef struct _LONG_SIZEDARR {
- unsigned long clSize;
- unsigned long *pData;
-}DWORD_SIZEDARR;
-typedef struct _HYPER_SIZEDARR {
- unsigned long clSize;
- hyper *pData;
-}HYPER_SIZEDARR;
-typedef double DOUBLE;
-typedef struct tagDEC {
- USHORT wReserved;
- _ANONYMOUS_UNION union {
- _ANONYMOUS_STRUCT struct {
- BYTE scale;
- BYTE sign;
- }_STRUCT_NAME(s);
- USHORT signscale;
- } DUMMYUNIONNAME;
- ULONG Hi32;
- _ANONYMOUS_UNION union {
- _ANONYMOUS_STRUCT struct {
- ULONG Lo32;
- ULONG Mid32;
- }_STRUCT_NAME(s2);
- ULONGLONG Lo64;
- } DUMMYUNIONNAME2;
-} DECIMAL;
-typedef void *HMETAFILEPICT;
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/winsup/w32api/include/zmouse.h b/winsup/w32api/include/zmouse.h
deleted file mode 100644
index 764d43d13..000000000
--- a/winsup/w32api/include/zmouse.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- zmouse.h - Header for IntelliMouse.
-
- This file is part of a free library for the Win32 API.
-
- This library 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.
-
- FIXME: This file is obviously horribly incomplete!
-
-*/
-
-#ifndef _ZMOUSE_H
-#define _ZMOUSE_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
-
-#ifndef WM_MOUSEWHEEL
-# define WM_MOUSEWHEEL (WM_MOUSELAST + 1)
-#endif
-
-#ifndef WHEEL_DELTA
-# define WHEEL_DELTA 120
-#endif
-
-#ifndef WHEEL_PAGESCROLL
-# define WHEEL_PAGESCROLL UINT_MAX
-#endif
-
-#ifndef SPI_SETWHEELSCROLLLINES
-# define SPI_SETWHEELSCROLLLINES 105
-#endif
-
-#endif /* _ZMOUSE_H */
diff --git a/winsup/w32api/install-sh b/winsup/w32api/install-sh
deleted file mode 100755
index e9de23842..000000000
--- a/winsup/w32api/install-sh
+++ /dev/null
@@ -1,251 +0,0 @@
-#!/bin/sh
-#
-# install - install a program, script, or datafile
-# This comes from X11R5 (mit/util/scripts/install.sh).
-#
-# Copyright 1991 by the Massachusetts Institute of Technology
-#
-# Permission to use, copy, modify, distribute, and sell this software and its
-# documentation for any purpose is hereby granted without fee, provided that
-# the above copyright notice appear in all copies and that both that
-# copyright notice and this permission notice appear in supporting
-# documentation, and that the name of M.I.T. not be used in advertising or
-# publicity pertaining to distribution of the software without specific,
-# written prior permission. M.I.T. makes no representations about the
-# suitability of this software for any purpose. It is provided "as is"
-# without express or implied warranty.
-#
-# Calling this script install-sh is preferred over install.sh, to prevent
-# `make' implicit rules from creating a file called install from it
-# when there is no Makefile.
-#
-# This script is compatible with the BSD install script, but was written
-# from scratch. It can only install one file at a time, a restriction
-# shared with many OS's install programs.
-
-
-# set DOITPROG to echo to test this script
-
-# Don't use :- since 4.3BSD and earlier shells don't like it.
-doit="${DOITPROG-}"
-
-
-# put in absolute paths if you don't have them in your path; or use env. vars.
-
-mvprog="${MVPROG-mv}"
-cpprog="${CPPROG-cp}"
-chmodprog="${CHMODPROG-chmod}"
-chownprog="${CHOWNPROG-chown}"
-chgrpprog="${CHGRPPROG-chgrp}"
-stripprog="${STRIPPROG-strip}"
-rmprog="${RMPROG-rm}"
-mkdirprog="${MKDIRPROG-mkdir}"
-
-transformbasename=""
-transform_arg=""
-instcmd="$mvprog"
-chmodcmd="$chmodprog 0755"
-chowncmd=""
-chgrpcmd=""
-stripcmd=""
-rmcmd="$rmprog -f"
-mvcmd="$mvprog"
-src=""
-dst=""
-dir_arg=""
-
-while [ x"$1" != x ]; do
- case $1 in
- -c) instcmd="$cpprog"
- shift
- continue;;
-
- -d) dir_arg=true
- shift
- continue;;
-
- -m) chmodcmd="$chmodprog $2"
- shift
- shift
- continue;;
-
- -o) chowncmd="$chownprog $2"
- shift
- shift
- continue;;
-
- -g) chgrpcmd="$chgrpprog $2"
- shift
- shift
- continue;;
-
- -s) stripcmd="$stripprog"
- shift
- continue;;
-
- -t=*) transformarg=`echo $1 | sed 's/-t=//'`
- shift
- continue;;
-
- -b=*) transformbasename=`echo $1 | sed 's/-b=//'`
- shift
- continue;;
-
- *) if [ x"$src" = x ]
- then
- src=$1
- else
- # this colon is to work around a 386BSD /bin/sh bug
- :
- dst=$1
- fi
- shift
- continue;;
- esac
-done
-
-if [ x"$src" = x ]
-then
- echo "install: no input file specified"
- exit 1
-else
- true
-fi
-
-if [ x"$dir_arg" != x ]; then
- dst=$src
- src=""
-
- if [ -d $dst ]; then
- instcmd=:
- chmodcmd=""
- else
- instcmd=mkdir
- fi
-else
-
-# Waiting for this to be detected by the "$instcmd $src $dsttmp" command
-# might cause directories to be created, which would be especially bad
-# if $src (and thus $dsttmp) contains '*'.
-
- if [ -f $src -o -d $src ]
- then
- true
- else
- echo "install: $src does not exist"
- exit 1
- fi
-
- if [ x"$dst" = x ]
- then
- echo "install: no destination specified"
- exit 1
- else
- true
- fi
-
-# If destination is a directory, append the input filename; if your system
-# does not like double slashes in filenames, you may need to add some logic
-
- if [ -d $dst ]
- then
- dst="$dst"/`basename $src`
- else
- true
- fi
-fi
-
-## this sed command emulates the dirname command
-dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'`
-
-# Make sure that the destination directory exists.
-# this part is taken from Noah Friedman's mkinstalldirs script
-
-# Skip lots of stat calls in the usual case.
-if [ ! -d "$dstdir" ]; then
-defaultIFS='
-'
-IFS="${IFS-${defaultIFS}}"
-
-oIFS="${IFS}"
-# Some sh's can't handle IFS=/ for some reason.
-IFS='%'
-set - `echo ${dstdir} | sed -e 's@/@%@g' -e 's@^%@/@'`
-IFS="${oIFS}"
-
-pathcomp=''
-
-while [ $# -ne 0 ] ; do
- pathcomp="${pathcomp}${1}"
- shift
-
- if [ ! -d "${pathcomp}" ] ;
- then
- $mkdirprog "${pathcomp}"
- else
- true
- fi
-
- pathcomp="${pathcomp}/"
-done
-fi
-
-if [ x"$dir_arg" != x ]
-then
- $doit $instcmd $dst &&
-
- if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else true ; fi &&
- if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else true ; fi &&
- if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; else true ; fi &&
- if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; else true ; fi
-else
-
-# If we're going to rename the final executable, determine the name now.
-
- if [ x"$transformarg" = x ]
- then
- dstfile=`basename $dst`
- else
- dstfile=`basename $dst $transformbasename |
- sed $transformarg`$transformbasename
- fi
-
-# don't allow the sed command to completely eliminate the filename
-
- if [ x"$dstfile" = x ]
- then
- dstfile=`basename $dst`
- else
- true
- fi
-
-# Make a temp file name in the proper directory.
-
- dsttmp=$dstdir/#inst.$$#
-
-# Move or copy the file name to the temp name
-
- $doit $instcmd $src $dsttmp &&
-
- trap "rm -f ${dsttmp}" 0 &&
-
-# and set any options; do chmod last to preserve setuid bits
-
-# If any of these fail, we abort the whole thing. If we want to
-# ignore errors from any of these, just make sure not to ignore
-# errors from the above "$doit $instcmd $src $dsttmp" command.
-
- if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; else true;fi &&
- if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; else true;fi &&
- if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; else true;fi &&
- if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; else true;fi &&
-
-# Now rename the file to the real destination.
-
- $doit $rmcmd -f $dstdir/$dstfile &&
- $doit $mvcmd $dsttmp $dstdir/$dstfile
-
-fi &&
-
-
-exit 0
diff --git a/winsup/w32api/lib/Makefile.in b/winsup/w32api/lib/Makefile.in
deleted file mode 100644
index d5bd22cd0..000000000
--- a/winsup/w32api/lib/Makefile.in
+++ /dev/null
@@ -1,276 +0,0 @@
-#
-# Makefile.in
-#
-# This file is part of a free library for the Win32 API.
-#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-
-
-# start config section
-
-SHELL = @SHELL@
-
-srcdir = @srcdir@
-VPATH = @srcdir@
-
-SUBDIRS := ddk directx
-subdirs := ddk directx
-
-host_alias = @host@
-build_alias = @build@
-target_alias = @target@
-prefix = @prefix@
-includedir:=@includedir@
-
-program_transform_name = @program_transform_name@
-exec_prefix = @exec_prefix@
-libdir:=@libdir@
-bindir = @bindir@
-ifeq ($(target_alias),$(host_alias))
-ifeq ($(build_alias),$(host_alias))
-tooldir:=$(exec_prefix)
-else
-tooldir:=$(exec_prefix)/$(target_alias)
-endif
-else
-tooldir:=$(exec_prefix)/$(target_alias)
-endif
-datadir = @datadir@
-infodir = @infodir@
-ifneq (,$(findstring cygwin,$(target_alias)))
-inst_includedir:=$(tooldir)/include/w32api
-inst_libdir:=$(tooldir)/lib/w32api
-else
-inst_includedir:=$(includedir)
-inst_libdir:=$(libdir)
-endif
-
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-mkinstalldirs = mkdir -p
-
-CC = @CC@
-CC_FOR_TARGET = $(CC)
-
-DLLTOOL = @DLLTOOL@
-DLLTOOL_FLAGS = --as=$(AS) -k
-AS = @AS@
-AS_FOR_TARGET = $(AS_FOR_TARGET)
-WINDRES = @WINDRES@
-
-# Depending on if we build as part of winsup or mingw we need to
-# add additional include paths in order to get the correct headers
-# from the C library.
-BUILDENV = @BUILDENV@
-
-ifeq ($(BUILDENV), cygwin)
-# winsup/include
-# winsup/../newlib/libc/include
-# winsup/../newlib/libc/sys/cygwin
-EXTRA_INCLUDES = -I$(srcdir)/../../include -I$(srcdir)/../../../newlib/libc/include -I$(srcdir)/../../../newlib/libc/sys/cygwin
-endif
-ifeq ($(BUILDENV), mingw)
-EXTRA_INCLUDES = -I$(srcdir)/../../mingw/include
-endif
-
-INCLUDES = -I$(srcdir)/../include $(EXTRA_INCLUDES)
-
-CFLAGS = @CFLAGS@
-ALL_CFLAGS = $(CFLAGS) $(INCLUDES)
-
-RANLIB = @RANLIB@
-AR = @AR@
-LD = @LD@
-
-FLAGS_TO_PASS = \
- AS="$(AS)" \
- CC="$(CC)" \
- CPPFLAGS="$(CPPFLAGS)" \
- CFLAGS="$(CFLAGS)" \
- CXXFLAGS="$(CXXFLAGS)" \
- AR="$(AR)" \
- RANLIB="$(RANLIB)" \
- LD="$(LD)" \
- DLLTOOL="$(DLLTOOL)" \
- TAR="$(TAR)" \
- TARFLAGS="$(TARFLAGS)" \
- TARFILEEXT="$(TARFILEEXT)" \
- WINDRES="$(WINDRES)"
-
-# end config section
-
-# headers
-
-HEADERS = $(notdir $(wildcard $(srcdir)/../include/*.h))
-GL_HEADERS = $(notdir $(wildcard $(srcdir)/../include/GL/*.h))
-
-# libraries
-
-DEF_FILES = $(notdir $(wildcard $(srcdir)/*.def))
-MRI_FILES = $(notdir $(wildcard $(srcdir)/*.mri))
-IMPLIBS = $(addprefix lib,$(subst .def,.a,$(DEF_FILES)))
-MIMPLIBS = $(addprefix lib,$(subst .mri,.a,$(MRI_FILES)))
-EXTRA_LIBS=libuuid.a libscrnsave.a libscrnsavw.a liblargeint.a
-LIBS = $(IMPLIBS) $(MIMPLIBS) $(EXTRA_LIBS)
-UUID_OBJS = uuid.o mshtml-uuid.o
-EXTRA_OBJS = shell32.o scrnsave.o scrnsavw.o largeint.o \
- $(UUID_OBJS) kernel32.o
-UUID_SOURCES = uuid.c mshtml-uuid.c
-SOURCES = scrnsave.c shell32.c largeint.c $(UUID_SOURCES)\
-res.rc test.c kernel32.c
-
-DISTFILES = Makefile.in $(DEF_FILES) $(MRI_FILES) $(SOURCES)
-
-.NOTPARALLEL:
-
-# targets
-all: $(LIBS) $(EXTRA_OBJS) ddk directx
-
-%-subdirs:
- for i in $(SUBDIRS); do \
- $(MAKE) $(FLAGS_TO_PASS) -C $$i $*; \
- done
-
-ddk:
- $(MAKE) $(FLAGS_TO_PASS) -C $@
-
-directx:
- $(MAKE) $(FLAGS_TO_PASS) -C $@
-
-TEST_OPTIONS = $(ALL_CFLAGS) -DWINVER=0x0666 \
- -Wall -pedantic -Wsystem-headers -c $(srcdir)/test.c -o test.o
-.PHONY: test ddk directx
-test:
- @echo "Testing w32api..."
- @for lang in c c++ objective-c ; do \
- echo "$$lang..."; \
- $(CC) -x$$lang $(TEST_OPTIONS) ; \
- echo "$$lang UNICODE..."; \
- $(CC) -x$$lang -DUNICODE $(TEST_OPTIONS) ; \
- done
- @echo "windres..."
- @$(WINDRES) --include-dir $(INCDIR) -i $(srcdir)/res.rc -o test.o
- @echo "windres UNICODE..."
- @$(WINDRES) --define UNICODE --include-dir $(INCDIR) -i $(srcdir)/res.rc -o test.o
- @rm -f test.o
-
-scrnsavw.o: scrnsave.c
- $(CC) -c $(ALL_CFLAGS) -DUNICODE -o $@ $<
-
-# make rules
-
-.SUFFIXES: .c .o .def .a
-
-.c.o:
- $(CC) -c $(ALL_CFLAGS) -o $@ $<
-
-libuuid.a : $(UUID_OBJS)
- $(AR) rc $@ $(UUID_OBJS)
- $(RANLIB) $@
-
-# libvfw32.a contains import stubs for 3 dll's. Using an MRI script
-# seems to be the simplest way to combine them into one archive.
-# NB: With older dlltool, the object file members will not have unique
-# names.
-libvfw32.a : vfw32.mri libmsvfw32.a libavifil32.a libavicap32.a
- rm -f $@
- $(AR) -M < ${word 1,$^}
- $(RANLIB) $@
-
-lib%.a : %.def %.o
- $(DLLTOOL) $(DLLTOOL_FLAGS) --output-lib $@ --def $(srcdir)/$*.def
- $(AR) r $@ $*.o
- $(RANLIB) $@
-
-lib%.a: %.def
- $(DLLTOOL) $(DLLTOOL_FLAGS) --output-lib $@ --def $<
-
-lib%.a: %.o
- $(AR) rc $@ $*.o
- $(RANLIB) $@
-
-.PHONY: install install-libraries install-headers install-ddk
-# install headers and libraries in a target specified directory.
-install: install-libraries install-headers install-ddk install-directx
-
-install-libraries: all
- $(mkinstalldirs) $(inst_libdir)
- for i in $(LIBS); do \
- $(INSTALL_DATA) $$i $(inst_libdir)/$$i ; \
- done
-
-install-headers:
- $(mkinstalldirs) $(inst_includedir)
- for i in $(HEADERS); do \
- $(INSTALL_DATA) $(srcdir)/../include/$$i $(inst_includedir)/$$i ; \
- done
- $(mkinstalldirs) $(inst_includedir)/GL
- for i in $(GL_HEADERS); do \
- $(INSTALL_DATA) $(srcdir)/../include/GL/$$i $(inst_includedir)/GL/$$i ; \
- done
-
-install-ddk: install-libraries install-headers
- cd ddk && $(MAKE) install $(FLAGS_TO_PASS)
-
-install-directx: install-libraries install-headers
- cd directx && $(MAKE) install $(FLAGS_TO_PASS)
-
-# uninstall headers and libraries from a target specified directory
-uninstall: uninstall-ddk uninstall-directx uninstall-libraries uninstall-headers
-
-uninstall-libraries:
- @for i in $(LIBS); do \
- rm -f $(inst_libdir)/$$i ; \
- done
- rmdir $(inst_libdir)
-
-uninstall-headers:
- @for i in $(HEADERS); do \
- rm -r $(inst_includedir)/$$i ; \
- done
- rmdir $(inst_includedir)
-
-uninstall-ddk:
- cd ddk && $(MAKE) -C uninstall $(FLAGS_TO_PASS)
-
-uninstall-directx:
- cd directx && $(MAKE) -C uninstall $(FLAGS_TO_PASS)
-
-dist:
- mkdir $(distdir)/include
- chmod 755 $(distdir)/include
- @for i in $(HEADERS); do \
- cp -p $(srcdir)/../include/$$i $(distdir)/include/$$i ; \
- done
- mkdir $(distdir)/include/GL
- @for i in $(GL_HEADERS); do \
- cp -p $(srcdir)/../include/GL/$$i $(distdir)/include/GL/$$i ; \
- done
- mkdir $(distdir)/lib
- chmod 755 $(distdir)/lib
- @for i in $(DISTFILES); do \
- cp -p $(srcdir)/$$i $(distdir)/lib/$$i ; \
- done
- for i in $(SUBDIRS); do \
- (cd $$i; $(MAKE) distdir=../$(distdir) dist); \
- done
-
-Makefile: Makefile.in ../config.status ../configure
- cd ..; $(SHELL) config.status
-
-# clean
-
-mostlyclean:
- rm -f *~ *.o *.s
-
-clean:
- rm -f *.o *.a *.s *~
-
-distclean: clean
- rm -f config.cache config.status config.log Makefile
-
-maintainer-clean: distclean
-
diff --git a/winsup/w32api/lib/aclui.def b/winsup/w32api/lib/aclui.def
deleted file mode 100644
index 834d5fd14..000000000
--- a/winsup/w32api/lib/aclui.def
+++ /dev/null
@@ -1,7 +0,0 @@
-LIBRARY ACLUI.dll
-
-EXPORTS
-CreateSecurityPage@4
-EditSecurity@8
-IID_ISecurityInformation DATA
-
diff --git a/winsup/w32api/lib/advapi32.def b/winsup/w32api/lib/advapi32.def
deleted file mode 100644
index 99fc62bad..000000000
--- a/winsup/w32api/lib/advapi32.def
+++ /dev/null
@@ -1,533 +0,0 @@
-LIBRARY ADVAPI32.DLL
-EXPORTS
-AbortSystemShutdownA@4
-AbortSystemShutdownW@4
-AccessCheck@32
-AccessCheckAndAuditAlarmA@44
-AccessCheckAndAuditAlarmW@44
-AccessCheckByType@44
-AccessCheckByTypeAndAuditAlarmA@64
-AccessCheckByTypeAndAuditAlarmW@64
-AccessCheckByTypeResultList@44
-AccessCheckByTypeResultListAndAuditAlarmA@64
-AccessCheckByTypeResultListAndAuditAlarmByHandleA@68
-AccessCheckByTypeResultListAndAuditAlarmByHandleW@68
-AccessCheckByTypeResultListAndAuditAlarmW@64
-AddAccessAllowedAce@16
-AddAccessAllowedAceEx@20
-AddAccessAllowedObjectAce@28
-AddAccessDeniedAce@16
-AddAccessDeniedAceEx@20
-AddAccessDeniedObjectAce@28
-AddAce@20
-AddAuditAccessAce@24
-AddAuditAccessAceEx@28
-AddAuditAccessObjectAce@36
-AddUsersToEncryptedFile@8
-AdjustTokenGroups@24
-AdjustTokenPrivileges@24
-AllocateAndInitializeSid@44
-AllocateLocallyUniqueId@4
-AreAllAccessesGranted@8
-AreAnyAccessesGranted@8
-BackupEventLogA@8
-BackupEventLogW@8
-BuildExplicitAccessWithNameA@20
-BuildExplicitAccessWithNameW@20
-BuildImpersonateExplicitAccessWithNameA@24
-BuildImpersonateExplicitAccessWithNameW@24
-BuildImpersonateTrusteeA@8
-BuildImpersonateTrusteeW@8
-BuildSecurityDescriptorA@36
-BuildSecurityDescriptorW@36
-BuildTrusteeWithNameA@8
-BuildTrusteeWithNameW@8
-BuildTrusteeWithObjectsAndNameA@24
-BuildTrusteeWithObjectsAndNameW@24
-BuildTrusteeWithObjectsAndSidA@20
-BuildTrusteeWithObjectsAndSidW@20
-BuildTrusteeWithSidA@8
-BuildTrusteeWithSidW@8
-CancelOverlappedAccess@4
-ChangeServiceConfig2A@12
-ChangeServiceConfig2W@12
-ChangeServiceConfigA@44
-ChangeServiceConfigW@44
-CheckTokenMembership@12
-ClearEventLogA@8
-ClearEventLogW@8
-CloseEncryptedFileRaw@4
-CloseEventLog@4
-CloseServiceHandle@4
-CloseTrace@8
-CommandLineFromMsiDescriptor@12
-ControlService@12
-ControlTraceA@20
-ControlTraceW@20
-ConvertAccessToSecurityDescriptorA@20
-ConvertAccessToSecurityDescriptorW@20
-ConvertSDToStringSDRootDomainA@24
-ConvertSDToStringSDRootDomainW@24
-ConvertSecurityDescriptorToAccessA@28
-ConvertSecurityDescriptorToAccessNamedA@28
-ConvertSecurityDescriptorToAccessNamedW@28
-ConvertSecurityDescriptorToAccessW@28
-ConvertSecurityDescriptorToStringSecurityDescriptorA@20
-ConvertSecurityDescriptorToStringSecurityDescriptorW@20
-ConvertSidToStringSidA@8
-ConvertSidToStringSidW@8
-ConvertStringSDToSDRootDomainA@20
-ConvertStringSDToSDRootDomainW@20
-ConvertStringSecurityDescriptorToSecurityDescriptorA@16
-ConvertStringSecurityDescriptorToSecurityDescriptorW@16
-ConvertStringSidToSidA@8
-ConvertStringSidToSidW@8
-ConvertToAutoInheritPrivateObjectSecurity@24
-CopySid@12
-CreatePrivateObjectSecurity@24
-CreatePrivateObjectSecurityEx@32
-CreateProcessAsUserA@44
-CreateProcessAsUserW@44
-CreateProcessWithLogonW@44
-CreateRestrictedToken@36
-CreateServiceA@52
-CreateServiceW@52
-CreateTraceInstanceId@8
-CryptAcquireContextA@20
-CryptAcquireContextW@20
-CryptContextAddRef@12
-CryptCreateHash@20
-CryptDecrypt@24
-CryptDeriveKey@20
-CryptDestroyHash@4
-CryptDestroyKey@4
-CryptDuplicateHash@16
-CryptDuplicateKey@16
-CryptEncrypt@28
-CryptEnumProviderTypesA@24
-CryptEnumProviderTypesW@24
-CryptEnumProvidersA@24
-CryptEnumProvidersW@24
-CryptExportKey@24
-CryptGenKey@16
-CryptGenRandom@12
-CryptGetDefaultProviderA@20
-CryptGetDefaultProviderW@20
-CryptGetHashParam@20
-CryptGetKeyParam@20
-CryptGetProvParam@20
-CryptGetUserKey@12
-CryptHashData@16
-CryptHashSessionKey@12
-CryptImportKey@24
-CryptReleaseContext@8
-CryptSetHashParam@16
-CryptSetKeyParam@16
-CryptSetProvParam@16
-CryptSetProviderA@8
-CryptSetProviderExA@16
-CryptSetProviderExW@16
-CryptSetProviderW@8
-CryptSignHashA@24
-CryptSignHashW@24
-CryptVerifySignatureA@24
-CryptVerifySignatureW@24
-DecryptFileA@8
-DecryptFileW@8
-DeleteAce@8
-DeleteService@4
-DeregisterEventSource@4
-DestroyPrivateObjectSecurity@4
-DuplicateEncryptionInfoFile@8
-DuplicateToken@12
-DuplicateTokenEx@24
-ElfBackupEventLogFileA@8
-ElfBackupEventLogFileW@8
-ElfChangeNotify@8
-ElfClearEventLogFileA@8
-ElfClearEventLogFileW@8
-ElfCloseEventLog@4
-ElfDeregisterEventSource@4
-ElfNumberOfRecords@8
-ElfOldestRecord@8
-ElfOpenBackupEventLogA@12
-ElfOpenBackupEventLogW@12
-ElfOpenEventLogA@12
-ElfOpenEventLogW@12
-ElfReadEventLogA@28
-ElfReadEventLogW@28
-ElfRegisterEventSourceA@12
-ElfRegisterEventSourceW@12
-ElfReportEventA@48
-ElfReportEventW@48
-EnableTrace@24
-EncryptFileA@4
-EncryptFileW@4
-EncryptionDisable@8
-EnumDependentServicesA@24
-EnumDependentServicesW@24
-EnumServiceGroupW@36
-EnumServicesStatusA@32
-EnumServicesStatusExA@40
-EnumServicesStatusExW@40
-EnumServicesStatusW@32
-EqualPrefixSid@8
-EqualSid@8
-FileEncryptionStatusA@8
-FileEncryptionStatusW@8
-FindFirstFreeAce@8
-FreeEncryptionCertificateHashList@4
-FreeSid@4
-GetAccessPermissionsForObjectA@36
-GetAccessPermissionsForObjectW@36
-GetAce@12
-GetAclInformation@16
-GetAuditedPermissionsFromAclA@16
-GetAuditedPermissionsFromAclW@16
-GetCurrentHwProfileA@4
-GetCurrentHwProfileW@4
-GetEffectiveRightsFromAclA@12
-GetEffectiveRightsFromAclW@12
-GetEventLogInformation@20
-GetExplicitEntriesFromAclA@12
-GetExplicitEntriesFromAclW@12
-GetFileSecurityA@20
-GetFileSecurityW@20
-GetInheritanceSourceA@40
-GetInheritanceSourceW@40
-GetKernelObjectSecurity@20
-GetLengthSid@4
-GetLocalManagedApplications@12
-GetManagedApplications@20
-GetMangledSiteSid@12
-GetMultipleTrusteeA@4
-GetMultipleTrusteeOperationA@4
-GetMultipleTrusteeOperationW@4
-GetMultipleTrusteeW@4
-GetNamedSecurityInfoA@32
-GetNamedSecurityInfoExA@36
-GetNamedSecurityInfoExW@36
-GetNamedSecurityInfoW@32
-GetNumberOfEventLogRecords@8
-GetOldestEventLogRecord@8
-GetOverlappedAccessResults@16
-GetPrivateObjectSecurity@20
-GetSecurityDescriptorControl@12
-GetSecurityDescriptorDacl@16
-GetSecurityDescriptorGroup@12
-GetSecurityDescriptorLength@4
-GetSecurityDescriptorOwner@12
-GetSecurityDescriptorRMControl@8
-GetSecurityDescriptorSacl@16
-GetSecurityInfo@32
-GetSecurityInfoExA@36
-GetSecurityInfoExW@36
-GetServiceDisplayNameA@16
-GetServiceDisplayNameW@16
-GetServiceKeyNameA@16
-GetServiceKeyNameW@16
-GetSidIdentifierAuthority@4
-GetSidLengthRequired@4
-GetSidSubAuthority@8
-GetSidSubAuthorityCount@4
-GetSiteDirectoryA@12
-GetSiteDirectoryW@12
-GetSiteNameFromSid@8
-GetSiteSidFromToken@4
-GetSiteSidFromUrl@4
-GetTokenInformation@20
-GetTraceEnableFlags@8
-GetTraceEnableLevel@8
-GetTraceLoggerHandle@4
-GetTrusteeFormA@4
-GetTrusteeFormW@4
-GetTrusteeNameA@4
-GetTrusteeNameW@4
-GetTrusteeTypeA@4
-GetTrusteeTypeW@4
-GetUserNameA@8
-GetUserNameW@8
-I_ScSetServiceBitsA@20
-I_ScSetServiceBitsW@20
-ImpersonateAnonymousToken@4
-ImpersonateLoggedOnUser@4
-ImpersonateNamedPipeClient@4
-ImpersonateSelf@4
-InitializeAcl@12
-InitializeSecurityDescriptor@8
-InitializeSid@12
-InitiateSystemShutdownA@20
-InitiateSystemShutdownExA@24
-InitiateSystemShutdownExW@24
-InitiateSystemShutdownW@20
-InstallApplication@4
-IsProcessRestricted@0
-IsTextUnicode@12
-IsTokenRestricted@4
-IsValidAcl@4
-IsValidSecurityDescriptor@4
-IsValidSid@4
-LockServiceDatabase@4
-LogonUserA@24
-LogonUserW@24
-LookupAccountNameA@28
-LookupAccountNameW@28
-LookupAccountSidA@28
-LookupAccountSidW@28
-LookupPrivilegeDisplayNameA@20
-LookupPrivilegeDisplayNameW@20
-LookupPrivilegeNameA@16
-LookupPrivilegeNameW@16
-LookupPrivilegeValueA@12
-LookupPrivilegeValueW@12
-LookupSecurityDescriptorPartsA@28
-LookupSecurityDescriptorPartsW@28
-LsaAddAccountRights@16
-LsaAddPrivilegesToAccount@8
-LsaClearAuditLog@4
-LsaClose@4
-LsaCreateAccount@16
-LsaCreateSecret@16
-LsaCreateTrustedDomain@16
-LsaCreateTrustedDomainEx@20
-LsaDelete@4
-LsaDeleteTrustedDomain@8
-LsaEnumerateAccountRights@16
-LsaEnumerateAccounts@20
-LsaEnumerateAccountsWithUserRight@16
-LsaEnumeratePrivileges@20
-LsaEnumeratePrivilegesOfAccount@8
-LsaEnumerateTrustedDomains@20
-LsaEnumerateTrustedDomainsEx@20
-LsaFreeMemory@4
-LsaGetQuotasForAccount@8
-LsaGetRemoteUserName@12
-LsaGetSystemAccessAccount@8
-LsaGetUserName@8
-LsaICLookupNames@32
-LsaICLookupSids@32
-LsaLookupNames@20
-LsaLookupPrivilegeDisplayName@16
-LsaLookupPrivilegeName@12
-LsaLookupPrivilegeValue@12
-LsaLookupSids@20
-LsaNtStatusToWinError@4
-LsaOpenAccount@16
-LsaOpenPolicy@16
-LsaOpenSecret@16
-LsaOpenTrustedDomain@16
-LsaOpenTrustedDomainByName@16
-LsaQueryDomainInformationPolicy@12
-LsaQueryInfoTrustedDomain@12
-LsaQueryInformationPolicy@12
-LsaQuerySecret@20
-LsaQuerySecurityObject@12
-LsaQueryTrustedDomainInfo@16
-LsaQueryTrustedDomainInfoByName@16
-LsaRemoveAccountRights@20
-LsaRemovePrivilegesFromAccount@12
-LsaRetrievePrivateData@12
-LsaSetDomainInformationPolicy@12
-LsaSetInformationPolicy@12
-LsaSetInformationTrustedDomain@12
-LsaSetQuotasForAccount@8
-LsaSetSecret@12
-LsaSetSecurityObject@12
-LsaSetSystemAccessAccount@8
-LsaSetTrustedDomainInfoByName@16
-LsaSetTrustedDomainInformation@16
-LsaStorePrivateData@12
-MakeAbsoluteSD2@8
-MakeAbsoluteSD@44
-MakeSelfRelativeSD@12
-MapGenericMask@8
-NotifyBootConfigStatus@4
-NotifyChangeEventLog@8
-ObjectCloseAuditAlarmA@12
-ObjectCloseAuditAlarmW@12
-ObjectDeleteAuditAlarmA@12
-ObjectDeleteAuditAlarmW@12
-ObjectOpenAuditAlarmA@48
-ObjectOpenAuditAlarmW@48
-ObjectPrivilegeAuditAlarmA@24
-ObjectPrivilegeAuditAlarmW@24
-OpenBackupEventLogA@8
-OpenBackupEventLogW@8
-OpenEncryptedFileRawA@12
-OpenEncryptedFileRawW@12
-OpenEventLogA@8
-OpenEventLogW@8
-OpenProcessToken@12
-OpenSCManagerA@12
-OpenSCManagerW@12
-OpenServiceA@12
-OpenServiceW@12
-OpenThreadToken@16
-OpenTraceA@4
-OpenTraceW@4
-PrivilegeCheck@12
-PrivilegedServiceAuditAlarmA@20
-PrivilegedServiceAuditAlarmW@20
-ProcessTrace@16
-QueryAllTracesA@12
-QueryAllTracesW@12
-QueryRecoveryAgentsOnEncryptedFile@8
-QueryServiceConfig2A@20
-QueryServiceConfig2W@20
-QueryServiceConfigA@16
-QueryServiceConfigW@16
-QueryServiceLockStatusA@16
-QueryServiceLockStatusW@16
-QueryServiceObjectSecurity@20
-QueryServiceStatus@8
-QueryServiceStatusEx@20
-QueryUsersOnEncryptedFile@8
-QueryWindows31FilesMigration@4
-ReadEncryptedFileRaw@12
-ReadEventLogA@28
-ReadEventLogW@28
-RegCloseKey@4
-RegConnectRegistryA@12
-RegConnectRegistryW@12
-RegCreateKeyA@12
-RegCreateKeyExA@36
-RegCreateKeyExW@36
-RegCreateKeyW@12
-RegDeleteKeyA@8
-RegDeleteKeyW@8
-RegDeleteValueA@8
-RegDeleteValueW@8
-RegDisablePredefinedCache@0
-RegEnumKeyA@16
-RegEnumKeyExA@32
-RegEnumKeyExW@32
-RegEnumKeyW@16
-RegEnumValueA@32
-RegEnumValueW@32
-RegFlushKey@4
-RegGetKeySecurity@16
-RegLoadKeyA@12
-RegLoadKeyW@12
-RegNotifyChangeKeyValue@20
-RegOpenCurrentUser@8
-RegOpenKeyA@12
-RegOpenKeyExA@20
-RegOpenKeyExW@20
-RegOpenKeyW@12
-RegOpenUserClassesRoot@16
-RegOverridePredefKey@8
-RegQueryInfoKeyA@48
-RegQueryInfoKeyW@48
-RegQueryMultipleValuesA@20
-RegQueryMultipleValuesW@20
-RegQueryValueA@16
-RegQueryValueExA@24
-RegQueryValueExW@24
-RegQueryValueW@16
-RegReplaceKeyA@16
-RegReplaceKeyW@16
-RegRestoreKeyA@12
-RegRestoreKeyW@12
-RegSaveKeyA@12
-RegSaveKeyW@12
-RegSetKeySecurity@12
-RegSetValueA@20
-RegSetValueExA@24
-RegSetValueExW@24
-RegSetValueW@20
-RegUnLoadKeyA@8
-RegUnLoadKeyW@8
-RegisterEventSourceA@8
-RegisterEventSourceW@8
-RegisterServiceCtrlHandlerA@8
-RegisterServiceCtrlHandlerExA@12
-RegisterServiceCtrlHandlerExW@12
-RegisterServiceCtrlHandlerW@8
-RegisterTraceGuidsA@32
-RegisterTraceGuidsW@32
-RemoveTraceCallback@4
-RemoveUsersFromEncryptedFile@8
-ReportEventA@36
-ReportEventW@36
-RevertToSelf@0
-SetAclInformation@16
-SetEntriesInAccessListA@24
-SetEntriesInAccessListW@24
-SetEntriesInAclA@16
-SetEntriesInAclW@16
-SetEntriesInAuditListA@24
-SetEntriesInAuditListW@24
-SetFileSecurityA@12
-SetFileSecurityW@12
-SetKernelObjectSecurity@12
-SetNamedSecurityInfoA@28
-SetNamedSecurityInfoExA@36
-SetNamedSecurityInfoExW@36
-SetNamedSecurityInfoW@28
-SetPrivateObjectSecurity@20
-SetPrivateObjectSecurityEx@24
-SetSecurityDescriptorControl@12
-SetSecurityDescriptorDacl@16
-SetSecurityDescriptorGroup@12
-SetSecurityDescriptorOwner@12
-SetSecurityDescriptorRMControl@8
-SetSecurityDescriptorSacl@16
-SetSecurityInfo@28
-SetSecurityInfoExA@36
-SetSecurityInfoExW@36
-SetServiceBits@16
-SetServiceObjectSecurity@12
-SetServiceStatus@8
-SetThreadToken@8
-SetTokenInformation@16
-SetTraceCallback@8
-SetUserFileEncryptionKey@4
-StartServiceA@12
-StartServiceCtrlDispatcherA@4
-StartServiceCtrlDispatcherW@4
-StartServiceW@12
-StartTraceA@12
-StartTraceW@12
-SynchronizeWindows31FilesAndWindowsNTRegistry@16
-SystemFunction001@12
-SystemFunction002@12
-SystemFunction003@8
-SystemFunction004@12
-SystemFunction005@12
-SystemFunction006@8
-SystemFunction007@8
-SystemFunction008@12
-SystemFunction009@12
-SystemFunction010@12
-SystemFunction011@12
-SystemFunction012@12
-SystemFunction013@12
-SystemFunction014@12
-SystemFunction015@12
-SystemFunction016@12
-SystemFunction017@12
-SystemFunction018@12
-SystemFunction019@12
-SystemFunction020@12
-SystemFunction021@12
-SystemFunction022@12
-SystemFunction023@12
-SystemFunction024@12
-SystemFunction025@12
-SystemFunction026@12
-SystemFunction027@12
-SystemFunction028@8
-SystemFunction029@8
-SystemFunction030@8
-SystemFunction031@8
-SystemFunction032@8
-SystemFunction033@8
-SystemFunction034@12
-TraceEvent@12
-TraceEventInstance@20
-TrusteeAccessToObjectA@24
-TrusteeAccessToObjectW@24
-UninstallApplication@4
-UnlockServiceDatabase@4
-UnregisterTraceGuids@8
-WriteEncryptedFileRaw@12
diff --git a/winsup/w32api/lib/avicap32.def b/winsup/w32api/lib/avicap32.def
deleted file mode 100644
index cde12a472..000000000
--- a/winsup/w32api/lib/avicap32.def
+++ /dev/null
@@ -1,8 +0,0 @@
-LIBRARY AVICAP32.DLL
-EXPORTS
-videoThunk32@20
-capGetDriverDescriptionW@20
-capGetDriverDescriptionA@20
-capCreateCaptureWindowW@32
-capCreateCaptureWindowA@32
-AppCleanup@4
diff --git a/winsup/w32api/lib/avifil32.def b/winsup/w32api/lib/avifil32.def
deleted file mode 100644
index 32f8cb633..000000000
--- a/winsup/w32api/lib/avifil32.def
+++ /dev/null
@@ -1,77 +0,0 @@
-LIBRARY AVIFIL32.DLL
-EXPORTS
-IID_IGetFrame
-IID_IAVIStream
-IID_IAVIFile
-IID_IAVIEditStream
-EditStreamSetNameW@8
-EditStreamSetNameA@8
-EditStreamSetName@8
-EditStreamSetInfoW@12
-EditStreamSetInfoA@12
-EditStreamSetInfo@12
-EditStreamPaste@24
-EditStreamCut@16
-EditStreamCopy@16
-EditStreamClone@8
-CreateEditableStream@8
-AVIStreamWriteData@16
-AVIStreamWrite@32
-AVIStreamTimeToSample@8
-AVIStreamStart@4
-AVIStreamSetFormat@16
-AVIStreamSampleToTime@8
-AVIStreamRelease@4
-AVIStreamReadFormat@16
-AVIStreamReadData@16
-AVIStreamRead@28
-AVIStreamOpenFromFileW@24
-AVIStreamOpenFromFileA@24
-AVIStreamOpenFromFile@24
-AVIStreamLength@4
-AVIStreamInfoW@12
-AVIStreamInfoA@12
-AVIStreamInfo@12
-AVIStreamGetFrameOpen@8
-AVIStreamGetFrameClose@4
-AVIStreamGetFrame@8
-AVIStreamFindSample@12
-AVIStreamEndStreaming@4
-AVIStreamCreate@16
-AVIStreamBeginStreaming@16
-AVIStreamAddRef@4
-AVISaveW
-AVISaveVW@24
-AVISaveVA@24
-AVISaveV@24
-AVISaveOptionsFree@8
-AVISaveOptions@20
-AVISaveA
-AVISave
-AVIPutFileOnClipboard@4
-AVIMakeStreamFromClipboard@12
-AVIMakeFileFromStreams@12
-AVIMakeCompressedStream@16
-AVIGetFromClipboard@4
-AVIFileWriteData@16
-AVIFileRelease@4
-AVIFileReadData@16
-AVIFileOpenW@16
-AVIFileOpenA@16
-AVIFileOpen@16
-AVIFileInit@0
-AVIFileInfoW@12
-AVIFileInfoA@12
-AVIFileInfo@12
-AVIFileGetStream@16
-AVIFileExit@0
-AVIFileEndRecord@4
-AVIFileCreateStreamW@12
-AVIFileCreateStreamA@12
-AVIFileCreateStream@12
-AVIFileAddRef@4
-AVIClearClipboard@0
-AVIBuildFilterW@12
-AVIBuildFilterA@12
-AVIBuildFilter@12
-
diff --git a/winsup/w32api/lib/cap.def b/winsup/w32api/lib/cap.def
deleted file mode 100644
index 8732ca0cc..000000000
--- a/winsup/w32api/lib/cap.def
+++ /dev/null
@@ -1,6 +0,0 @@
-LIBRARY CAP.DLL
-EXPORTS
-DumpCAP@0
-StartCAP@0
-StopCAP@0
-_penter
diff --git a/winsup/w32api/lib/comctl32.def b/winsup/w32api/lib/comctl32.def
deleted file mode 100644
index 57c2db5eb..000000000
--- a/winsup/w32api/lib/comctl32.def
+++ /dev/null
@@ -1,133 +0,0 @@
-LIBRARY COMCTL32.DLL
-EXPORTS
-_TrackMouseEvent@4
-AddMRUData@12
-AddMRUStringA@8
-AddMRUStringW@8
-Alloc@4
-CreateMRUListA@4
-CreateMRUListW@4
-CreateMappedBitmap@20
-CreatePage@8
-CreatePropertySheetPage@4
-CreatePropertySheetPageA@4
-CreatePropertySheetPageW@4
-CreateProxyPage@8
-CreateStatusWindow@16
-CreateStatusWindowA@16
-CreateStatusWindowW@16
-CreateToolbar@32
-CreateToolbarEx@52
-CreateUpDownControl@48
-DPA_Clone@8
-DPA_Create@4
-DPA_CreateEx@8
-DPA_DeleteAllPtrs@4
-DPA_DeletePtr@8
-DPA_Destroy@4
-DPA_GetPtr@8
-DPA_GetPtrIndex@8
-DPA_Grow@8
-DPA_InsertPtr@12
-DPA_Search@24
-DPA_SetPtr@12
-DPA_Sort@12
-DSA_Create@8
-DSA_DeleteAllItems@4
-DSA_DeleteItem@8
-DSA_Destroy@4
-DSA_GetItem@12
-DSA_GetItemPtr@8
-DSA_InsertItem@12
-DSA_SetItem@12
-DelMRUString@8
-DestroyPropertySheetPage@4
-DrawInsert@12
-DrawStatusText@16
-DrawStatusTextA@16
-DrawStatusTextW@16
-EnumMRUListA@16
-EnumMRUListW@16
-FindMRUData@16
-FindMRUStringA@12
-FindMRUStringW@12
-Free@4
-FreeMRUList@4
-GetEffectiveClientRect@12
-GetSize@4
-ImageList_Add@12
-ImageList_AddIcon@8
-ImageList_AddMasked@12
-ImageList_BeginDrag@16
-ImageList_Copy@20
-ImageList_Create@20
-ImageList_Destroy@4
-ImageList_DragEnter@12
-ImageList_DragLeave@4
-ImageList_DragMove@8
-ImageList_DragShowNolock@4
-ImageList_Draw@24
-ImageList_DrawEx@40
-ImageList_DrawIndirect@4
-ImageList_Duplicate@4
-ImageList_EndDrag@0
-ImageList_GetBkColor@4
-ImageList_GetDragImage@8
-ImageList_GetIcon@12
-ImageList_GetIconSize@12
-ImageList_GetImageCount@4
-ImageList_GetImageInfo@12
-ImageList_GetImageRect@12
-ImageList_LoadImage@28
-ImageList_LoadImageA@28
-ImageList_LoadImageW@28
-ImageList_Merge@24
-ImageList_Read@4
-ImageList_Remove@8
-ImageList_Replace@16
-ImageList_ReplaceIcon@12
-ImageList_SetBkColor@8
-ImageList_SetDragCursorImage@16
-ImageList_SetIconSize@12
-ImageList_SetImageCount@8
-ImageList_SetOverlayImage@12
-ImageList_Write@8
-InitCommonControls@0
-InitCommonControlsEx@4
-LBItemFromPt@16
-MakeDragList@4
-MenuHelp@28
-PropertySheet@4
-PropertySheetA@4
-PropertySheetW@4
-ReAlloc@8
-SendNotify@16
-SendNotifyEx@20
-SetWindowSubclass@16
-ShowHideMenuCtl@12
-StrCSpnA@8
-StrCSpnIA@8
-StrCSpnW@8
-StrChrA@8
-StrChrIA@8
-StrChrIW@8
-StrChrW@8
-StrCmpNA@12
-StrCmpNIA@12
-StrCmpNIW@12
-StrCmpNW@12
-StrRChrA@12
-StrRChrIA@12
-StrRChrW@12
-StrRStrIA@12
-StrRStrIW@12
-StrStrA@8
-StrStrIA@8
-StrStrIW@8
-StrStrW@8
-StrToIntA@4
-StrToIntW@4
-Str_GetPtrA@12
-Str_GetPtrW@12
-Str_SetPtrA@8
-Str_SetPtrW@8
diff --git a/winsup/w32api/lib/comdlg32.def b/winsup/w32api/lib/comdlg32.def
deleted file mode 100644
index 82806aa03..000000000
--- a/winsup/w32api/lib/comdlg32.def
+++ /dev/null
@@ -1,27 +0,0 @@
-LIBRARY COMDLG32.DLL
-EXPORTS
-ChooseColorA@4
-ChooseColorW@4
-ChooseFontA@4
-ChooseFontW@4
-CommDlgExtendedError@0
-FindTextA@4
-FindTextW@4
-GetFileTitleA@12
-GetFileTitleW@12
-GetOpenFileNameA@4
-GetOpenFileNameW@4
-GetSaveFileNameA@4
-GetSaveFileNameW@4
-LoadAlterBitmap@12
-PageSetupDlgA@4
-PageSetupDlgW@4
-PrintDlgA@4
-PrintDlgExA@4
-PrintDlgExW@4
-PrintDlgW@4
-ReplaceTextA@4
-ReplaceTextW@4
-WantArrows@16
-dwLBSubclass@16
-dwOKSubclass@16
diff --git a/winsup/w32api/lib/crypt32.def b/winsup/w32api/lib/crypt32.def
deleted file mode 100644
index 7d7c434a7..000000000
--- a/winsup/w32api/lib/crypt32.def
+++ /dev/null
@@ -1,23 +0,0 @@
-LIBRARY CRYPT32.DLL
-EXPORTS
-CertFreeCertificateChain@4
-CertGetCertificateChain@32
-CertNameToStrA@20
-CertNameToStrW@20
-CertVerifyCertificateChainPolicy@16
-CertCloseStore@8
-CertOpenSystemStoreA@8
-CertOpenSystemStoreW@8
-CertFindCertificateInStore@24
-CertFreeCertificateContext@4
-CertGetIssuerCertificateFromStore@16
-CertFindChainInStore@24
-CertOpenStore@20
-CertOIDToAlgId@4
-CertAlgIDToOID@4
-CryptProtectData@28
-CryptUnprotectData@28
-CryptDecodeObjectEx@32
-CryptEncodeObjectEx@28
-CryptRegisterOIDFunction@20
-CryptUnregisterOIDFunction@12
diff --git a/winsup/w32api/lib/ctl3d32.def b/winsup/w32api/lib/ctl3d32.def
deleted file mode 100644
index 130c0a567..000000000
--- a/winsup/w32api/lib/ctl3d32.def
+++ /dev/null
@@ -1,27 +0,0 @@
-LIBRARY CTL3D32.DLL
-EXPORTS
-BtnWndProc3d@16
-ComboWndProc3d@16
-Ctl3dAutoSubclass@4
-Ctl3dAutoSubclassEx@8
-Ctl3dColorChange@0
-Ctl3dCtlColor@8
-Ctl3dCtlColorEx@12
-Ctl3dDlgFramePaint@16
-Ctl3dDlgProc@16
-Ctl3dEnabled@0
-Ctl3dGetVer@0
-Ctl3dIsAutoSubclass@0
-Ctl3dRegister@4
-Ctl3dSetStyle@12
-Ctl3dSubclassCtl@4
-Ctl3dSubclassCtlEx@8
-Ctl3dSubclassDlg@8
-Ctl3dSubclassDlgEx@8
-Ctl3dUnAutoSubclass@0
-Ctl3dUnregister@4
-Ctl3dUnsubclassCtl@4
-Ctl3dWinIniChange@0
-EditWndProc3d@16
-ListWndProc3d@16
-StaticWndProc3d@16
diff --git a/winsup/w32api/lib/ddk/Makefile.in b/winsup/w32api/lib/ddk/Makefile.in
deleted file mode 100644
index fa2ebcff4..000000000
--- a/winsup/w32api/lib/ddk/Makefile.in
+++ /dev/null
@@ -1,195 +0,0 @@
-# Makefile.in
-#
-# This file is part of a free library building Windows NT drivers.
-#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-
-
-# start config section
-
-SHELL = @SHELL@
-
-srcdir = @srcdir@
-VPATH = @srcdir@
-
-host_alias = @host@
-build_alias = @build@
-target_alias = @target@
-prefix = @prefix@
-includedir:=@includedir@
-
-program_transform_name = @program_transform_name@
-exec_prefix = @exec_prefix@
-libdir:=@libdir@
-bindir = @bindir@
-ifeq ($(target_alias),$(host_alias))
-ifeq ($(build_alias),$(host_alias))
-tooldir:=$(exec_prefix)
-else
-tooldir:=$(exec_prefix)/$(target_alias)
-endif
-else
-tooldir:=$(exec_prefix)/$(target_alias)
-endif
-datadir = @datadir@
-infodir = @infodir@
-ifneq (,$(findstring cygwin,$(target_alias)))
-inst_includedir:=$(tooldir)/include/w32api/ddk
-inst_libdir:=$(tooldir)/lib/w32api
-else
-inst_includedir:=$(includedir)/ddk
-inst_libdir:=$(libdir)
-endif
-
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-mkinstalldirs = mkdir -p
-
-CC = @CC@
-CC_FOR_TARGET = $(CC)
-
-DLLTOOL = @DLLTOOL@
-DLLTOOL_FLAGS = --as=$(AS) -k
-AS = @AS@
-AS_FOR_TARGET = $(AS_FOR_TARGET)
-WINDRES = @WINDRES@
-
-# Depending on if we build as part of winsup or mingw we need to
-# add additional include paths in order to get the correct headers
-# from the C library.
-BUILDENV = @BUILDENV@
-
-ifeq ($(BUILDENV), cygwin)
-# winsup/include
-# winsup/../newlib/libc/include
-# winsup/../newlib/libc/sys/cygwin
-EXTRA_INCLUDES = -I$(srcdir)/../../include -I$(srcdir)/../../../newlib/libc/include -I$(srcdir)/../../../newlib/libc/sys/cygwin
-endif
-ifeq ($(BUILDENV), mingw)
-EXTRA_INCLUDES = -I$(srcdir)/../../mingw/include
-endif
-
-INCLUDES = -I$(srcdir)/../include $(EXTRA_INCLUDES)
-
-CFLAGS = @CFLAGS@
-ALL_CFLAGS = $(CFLAGS) $(INCLUDES)
-
-RANLIB = @RANLIB@
-AR = @AR@
-LD = @LD@
-
-# end config section
-
-# headers
-
-HEADERS = $(notdir $(wildcard $(srcdir)/../../include/ddk/*.h))
-
-# libraries
-
-DEF_FILES = $(notdir $(wildcard $(srcdir)/*.def))
-IMPLIBS = $(addprefix lib,$(subst .def,.a,$(DEF_FILES)))
-LIBS = $(IMPLIBS)
-
-DISTFILES = Makefile.in $(DEF_FILES)
-
-.NOTPARALLEL:
-
-# targets
-all: $(LIBS)
-
-TEST_OPTIONS = $(ALL_CFLAGS) -Wall -pedantic -Wsystem-headers -c $(srcdir)/test.c -o test.o
-.PHONY: test
-test:
- @echo "Testing ddk..."
- @for lang in c c++ objective-c ; do \
- echo "$$lang..."; \
- $(CC) -x$$lang $(TEST_OPTIONS) ; \
- echo "$$lang UNICODE..."; \
- $(CC) -x$$lang -DUNICODE $(TEST_OPTIONS) ; \
- done
- @echo "windres..."
- @$(WINDRES) --include-dir $(INCDIR) -i $(srcdir)/res.rc -o test.o
- @echo "windres UNICODE..."
- @$(WINDRES) --define UNICODE --include-dir $(INCDIR) -i $(srcdir)/res.rc -o test.o
- @rm -f test.o
-
-# make rules
-
-.SUFFIXES: .c .o .def .a
-
-.c.o:
- $(CC) -c $(ALL_CFLAGS) -o $@ $<
-
-lib%.a : %.def %.o
- $(DLLTOOL) $(DLLTOOL_FLAGS) --output-lib $@ --def $(srcdir)/$*.def
- $(AR) r $@ $*.o
- $(RANLIB) $@
-
-lib%.a: %.def
- $(DLLTOOL) $(DLLTOOL_FLAGS) --output-lib $@ --def $<
-
-lib%.a: %.o
- $(AR) rc $@ $*.o
- $(RANLIB) $@
-
-# install headers and libraries in a target specified directory.
-install: install-libraries install-headers
-
-install-libraries: all
- $(mkinstalldirs) $(inst_libdir)
- for i in $(LIBS); do \
- $(INSTALL_DATA) $$i $(inst_libdir)/$$i ; \
- done
-
-install-headers:
- $(mkinstalldirs) $(inst_includedir)
- for i in $(HEADERS); do \
- $(INSTALL_DATA) $(srcdir)/../../include/ddk/$$i $(inst_includedir)/$$i ; \
- done
-
-# uninstall headers and libraries from a target specified directory
-uninstall: uninstall-libraries uninstall-headers
-
-uninstall-libraries:
- @for i in $(LIBS); do \
- rm -f $(inst_libdir)/$$i ; \
- done
- rmdir $(inst_libdir)
-
-uninstall-headers:
- @for i in $(HEADERS); do \
- rm -r $(inst_includedir)/$$i ; \
- done
- rmdir $(inst_includedir)
-
-
-dist:
- mkdir $(distdir)/include/ddk
- chmod 755 $(distdir)/include/ddk
- @for i in $(HEADERS); do \
- cp -p $(srcdir)/../../include/ddk/$$i $(distdir)/include/ddk/$$i ; \
- done
- mkdir $(distdir)/lib/ddk
- chmod 755 $(distdir)/lib/ddk
- @for i in $(DISTFILES); do \
- cp -p $(srcdir)/$$i $(distdir)/lib/ddk/$$i ; \
- done
-
-Makefile: Makefile.in ../../config.status ../../configure
- cd ../..; $(SHELL) config.status
-
-# clean
-
-mostlyclean:
- rm -f *~ *.o *.s
-
-clean:
- rm -f *.o *.a *.s *~
-
-distclean: clean
- rm -f config.cache config.status config.log Makefile
-
-maintainer-clean: distclean
diff --git a/winsup/w32api/lib/ddk/apcups.def b/winsup/w32api/lib/ddk/apcups.def
deleted file mode 100644
index b82d09991..000000000
--- a/winsup/w32api/lib/ddk/apcups.def
+++ /dev/null
@@ -1,8 +0,0 @@
-LIBRARY apcups.dll
-EXPORTS
-UPSCancelWait@0
-UPSGetState@0
-UPSInit@0
-UPSStop@0
-UPSTurnOff@4
-UPSWaitForStateChange@8
diff --git a/winsup/w32api/lib/ddk/cfgmgr32.def b/winsup/w32api/lib/ddk/cfgmgr32.def
deleted file mode 100644
index d849e1a46..000000000
--- a/winsup/w32api/lib/ddk/cfgmgr32.def
+++ /dev/null
@@ -1,198 +0,0 @@
-LIBRARY cfgmgr32.dll
-EXPORTS
-;CMP_Init_Detection
-;CMP_RegisterNotification
-;CMP_Report_LogOn
-;CMP_UnregisterNotification
-CMP_WaitNoPendingInstallEvents@4
-;CMP_WaitServicesAvailable
-CM_Add_Empty_Log_Conf@16
-CM_Add_Empty_Log_Conf_Ex@20
-CM_Add_IDA@16
-CM_Add_IDW@16
-CM_Add_ID_ExA@16
-CM_Add_ID_ExW@16
-;CM_Add_Range
-CM_Add_Res_Des@24
-CM_Add_Res_Des_Ex@28
-CM_Connect_MachineA@8
-CM_Connect_MachineW@8
-;CM_Create_DevNodeA
-;CM_Create_DevNodeW
-;CM_Create_DevNode_ExA
-;CM_Create_DevNode_ExW
-;CM_Create_Range_List
-;CM_Delete_Class_Key
-;CM_Delete_Class_Key_Ex
-;CM_Delete_DevNode_Key
-;CM_Delete_DevNode_Key_Ex
-;CM_Delete_Range
-;CM_Detect_Resource_Conflict
-;CM_Detect_Resource_Conflict_Ex
-;CM_Disable_DevNode
-;CM_Disable_DevNode_Ex
-CM_Disconnect_Machine@4
-;CM_Dup_Range_List
-;CM_Enable_DevNode
-;CM_Enable_DevNode_Ex
-CM_Enumerate_Classes@12
-CM_Enumerate_Classes_Ex@16
-CM_Enumerate_EnumeratorsA@16
-CM_Enumerate_EnumeratorsW@16
-CM_Enumerate_Enumerators_ExA@20
-CM_Enumerate_Enumerators_ExW@20
-;CM_Find_Range
-;CM_First_Range
-CM_Free_Log_Conf@8
-CM_Free_Log_Conf_Ex@12
-CM_Free_Log_Conf_Handle@4
-;CM_Free_Range_List
-CM_Free_Res_Des@12
-CM_Free_Res_Des_Ex@16
-CM_Free_Res_Des_Handle@4
-CM_Free_Resource_Conflict_Handle@4
-CM_Get_Child@12
-CM_Get_Child_Ex@16
-;CM_Get_Class_Key_NameA
-;CM_Get_Class_Key_NameW
-;CM_Get_Class_Key_Name_ExA
-;CM_Get_Class_Key_Name_ExW
-;CM_Get_Class_NameA
-;CM_Get_Class_NameW
-;CM_Get_Class_Name_ExA
-;CM_Get_Class_Name_ExW
-;CM_Get_Class_Registry_PropertyA
-;CM_Get_Class_Registry_PropertyW
-CM_Get_Depth@12
-CM_Get_Depth_Ex@16
-;CM_Get_DevNode_Registry_PropertyA
-;CM_Get_DevNode_Registry_PropertyW
-;CM_Get_DevNode_Registry_Property_ExA
-;CM_Get_DevNode_Registry_Property_ExW
-CM_Get_DevNode_Status@16
-CM_Get_DevNode_Status_Ex@20
-CM_Get_Device_IDA@16
-CM_Get_Device_IDW@16
-CM_Get_Device_ID_ExA@20
-CM_Get_Device_ID_ExW@20
-CM_Get_Device_ID_ListA@16
-CM_Get_Device_ID_ListW@16
-CM_Get_Device_ID_List_ExA@20
-CM_Get_Device_ID_List_ExW@20
-CM_Get_Device_ID_List_SizeA@12
-CM_Get_Device_ID_List_SizeW@12
-CM_Get_Device_ID_List_Size_ExA@16
-CM_Get_Device_ID_List_Size_ExW@16
-CM_Get_Device_ID_Size@12
-CM_Get_Device_ID_Size_Ex@16
-;CM_Get_Device_Interface_AliasA
-;CM_Get_Device_Interface_AliasW
-;CM_Get_Device_Interface_Alias_ExA
-;CM_Get_Device_Interface_Alias_ExW
-;CM_Get_Device_Interface_ListA
-;CM_Get_Device_Interface_ListW
-;CM_Get_Device_Interface_List_ExA
-;CM_Get_Device_Interface_List_ExW
-;CM_Get_Device_Interface_List_SizeA
-;CM_Get_Device_Interface_List_SizeW
-;CM_Get_Device_Interface_List_Size_ExA
-;CM_Get_Device_Interface_List_Size_ExW
-CM_Get_First_Log_Conf@12
-CM_Get_First_Log_Conf_Ex@16
-;CM_Get_Global_State
-;CM_Get_Global_State_Ex
-;CM_Get_HW_Prof_FlagsA
-;CM_Get_HW_Prof_FlagsW
-;CM_Get_HW_Prof_Flags_ExA
-;CM_Get_HW_Prof_Flags_ExW
-;CM_Get_Hardware_Profile_InfoA
-;CM_Get_Hardware_Profile_InfoW
-;CM_Get_Hardware_Profile_Info_ExA
-;CM_Get_Hardware_Profile_Info_ExW
-CM_Get_Log_Conf_Priority@12
-CM_Get_Log_Conf_Priority_Ex@16
-CM_Get_Next_Log_Conf@12
-CM_Get_Next_Log_Conf_Ex@16
-CM_Get_Next_Res_Des@20
-CM_Get_Next_Res_Des_Ex@24
-CM_Get_Parent@12
-CM_Get_Parent_Ex@16
-CM_Get_Res_Des_Data@16
-CM_Get_Res_Des_Data_Ex@20
-CM_Get_Res_Des_Data_Size@12
-CM_Get_Res_Des_Data_Size_Ex@16
-CM_Get_Resource_Conflict_Count@8
-CM_Get_Resource_Conflict_DetailsA@12
-CM_Get_Resource_Conflict_DetailsW@12
-CM_Get_Sibling@12
-CM_Get_Sibling_Ex@16
-CM_Get_Version@0
-CM_Get_Version_Ex@4
-;CM_Intersect_Range_List
-;CM_Invert_Range_List
-;CM_Is_Dock_Station_Present
-;CM_Is_Dock_Station_Present_Ex
-CM_Locate_DevNodeA@12
-CM_Locate_DevNodeW@12
-CM_Locate_DevNode_ExA@16
-CM_Locate_DevNode_ExW@16
-;CM_Merge_Range_List
-CM_Modify_Res_Des@24
-CM_Modify_Res_Des_Ex@28
-;CM_Move_DevNode
-;CM_Move_DevNode_Ex
-;CM_Next_Range
-;CM_Open_Class_KeyA
-;CM_Open_Class_KeyW
-;CM_Open_Class_Key_ExA
-;CM_Open_Class_Key_ExW
-;CM_Open_DevNode_Key
-;CM_Open_DevNode_Key_Ex
-CM_Query_And_Remove_SubTreeA@20
-CM_Query_And_Remove_SubTreeW@20
-CM_Query_And_Remove_SubTree_ExA@0
-CM_Query_And_Remove_SubTree_ExW@0
-;CM_Query_Arbitrator_Free_Data
-;CM_Query_Arbitrator_Free_Data_Ex
-;CM_Query_Arbitrator_Free_Size
-;CM_Query_Arbitrator_Free_Size_Ex
-;CM_Query_Remove_SubTree
-;CM_Query_Remove_SubTree_Ex
-CM_Query_Resource_Conflict_List@28
-CM_Reenumerate_DevNode@8
-CM_Reenumerate_DevNode_Ex@12
-;CM_Register_Device_Driver
-;CM_Register_Device_Driver_Ex
-;CM_Register_Device_InterfaceA
-;CM_Register_Device_InterfaceW
-;CM_Register_Device_Interface_ExA
-;CM_Register_Device_Interface_ExW
-;CM_Remove_SubTree
-;CM_Remove_SubTree_Ex
-;CM_Request_Eject_PC
-;CM_Request_Eject_PC_Ex
-;CM_Run_Detection
-;CM_Run_Detection_Ex
-;CM_Set_Class_Registry_PropertyA
-;CM_Set_Class_Registry_PropertyW
-;CM_Set_DevNode_Problem
-;CM_Set_DevNode_Problem_Ex
-;CM_Set_DevNode_Registry_PropertyA
-;CM_Set_DevNode_Registry_PropertyW
-;CM_Set_DevNode_Registry_Property_ExA
-;CM_Set_DevNode_Registry_Property_ExW
-;CM_Set_HW_Prof
-;CM_Set_HW_Prof_Ex
-;CM_Set_HW_Prof_FlagsA
-;CM_Set_HW_Prof_FlagsW
-;CM_Set_HW_Prof_Flags_ExA
-;CM_Set_HW_Prof_Flags_ExW
-;CM_Setup_DevNode
-;CM_Setup_DevNode_Ex
-;CM_Test_Range_Available
-;CM_Uninstall_DevNode
-;CM_Uninstall_DevNode_Ex
-;CM_Unregister_Device_InterfaceA
-;CM_Unregister_Device_InterfaceW
-;CM_Unregister_Device_Interface_ExA
-;CM_Unregister_Device_Interface_ExW
diff --git a/winsup/w32api/lib/ddk/dxapi.def b/winsup/w32api/lib/ddk/dxapi.def
deleted file mode 100644
index bff4d1bb1..000000000
--- a/winsup/w32api/lib/ddk/dxapi.def
+++ /dev/null
@@ -1,9 +0,0 @@
-LIBRARY dxapi.sys
-EXPORTS
-;_DxApi@20
-;_DxApiGetVersion@0
-;_DxApiInitialize@32
-;_DxAutoflipUpdate@20
-;_DxEnableIRQ@8
-;_DxLoseObject@8
-;_DxUpdateCapture@12
diff --git a/winsup/w32api/lib/ddk/hal.def b/winsup/w32api/lib/ddk/hal.def
deleted file mode 100644
index 2a2119c3e..000000000
--- a/winsup/w32api/lib/ddk/hal.def
+++ /dev/null
@@ -1,94 +0,0 @@
-LIBRARY hal.dll
-EXPORTS
-@ExAcquireFastMutex@4
-@ExReleaseFastMutex@4
-@ExTryToAcquireFastMutex@4
-;HalAcquireDisplayOwnership
-;HalAdjustResourceList
-;HalAllProcessorsStarted
-;HalAllocateAdapterChannel
-HalAllocateCommonBuffer@16
-;HalAllocateCrashDumpRegisters
-HalAssignSlotResources@32
-;HalBeginSystemInterrupt
-;HalCalibratePerformanceCounter
-;HalClearSoftwareInterrupt
-;HalDisableSystemInterrupt
-;HalDisplayString
-;HalEnableSystemInterrupt
-;HalEndSystemInterrupt
-;HalFlushCommonBuffer
-HalFreeCommonBuffer@20
-HalGetAdapter@8
-HalGetBusData@20
-HalGetBusDataByOffset@24
-;HalGetEnvironmentVariable
-HalGetInterruptVector@24
-;HalHandleNMI
-;HalInitSystem
-;HalInitializeProcessor
-;HalMakeBeep
-;HalProcessorIdle
-;HalQueryDisplayParameters
-;HalQueryRealTimeClock
-HalReadDmaCounter@4
-;HalReportResourceUsage
-;HalRequestIpi
-;HalRequestSoftwareInterrupt
-;HalReturnToFirmware
-HalSetBusData@20
-HalSetBusDataByOffset@24
-;HalSetDisplayParameters
-;HalSetEnvironmentVariable
-;HalSetProfileInterval
-;HalSetRealTimeClock
-;HalSetTimeIncrement
-;HalStartNextProcessor
-;HalStartProfileInterrupt
-;HalStopProfileInterrupt
-;HalSystemVectorDispatchEntry
-HalTranslateBusAddress@20
-;IoAssignDriveLetters
-IoFlushAdapterBuffers@24
-IoFreeAdapterChannel@4
-IoFreeMapRegisters@12
-IoMapTransfer@24
-IoReadPartitionTable@16
-IoSetPartitionInformation@16
-IoWritePartitionTable@20
-;KdComPortInUse DATA
-@KeAcquireInStackQueuedSpinLock@8
-;KeAcquireInStackQueuedSpinLockRaiseToSynch
-;KeAcquireQueuedSpinLock
-;KeAcquireQueuedSpinLockRaiseToSynch
-KeAcquireSpinLock@8
-;KeAcquireSpinLockRaiseToSynch
-;KeFlushWriteBuffer
-KeGetCurrentIrql@0
-KeLowerIrql@4
-KeQueryPerformanceCounter@4
-KeRaiseIrql@8
-KeRaiseIrqlToDpcLevel@0
-;KeRaiseIrqlToSynchLevel
-@KeReleaseInStackQueuedSpinLock@4
-;KeReleaseQueuedSpinLock
-KeReleaseSpinLock@8
-KeStallExecutionProcessor@4
-;KeTryToAcquireQueuedSpinLock
-;KeTryToAcquireQueuedSpinLockRaiseToSynch
-;KfAcquireSpinLock
-;KfLowerIrql
-;KfRaiseIrql
-;KfReleaseSpinLock
-READ_PORT_BUFFER_UCHAR@12
-READ_PORT_BUFFER_ULONG@12
-READ_PORT_BUFFER_USHORT@12
-READ_PORT_UCHAR@4
-READ_PORT_ULONG@4
-READ_PORT_USHORT@4
-WRITE_PORT_BUFFER_UCHAR@12
-WRITE_PORT_BUFFER_ULONG@12
-WRITE_PORT_BUFFER_USHORT@12
-WRITE_PORT_UCHAR@8
-WRITE_PORT_ULONG@8
-WRITE_PORT_USHORT@8
diff --git a/winsup/w32api/lib/ddk/hid.def b/winsup/w32api/lib/ddk/hid.def
deleted file mode 100644
index bfbc9eaf0..000000000
--- a/winsup/w32api/lib/ddk/hid.def
+++ /dev/null
@@ -1,47 +0,0 @@
-LIBRARY hid.dll
-EXPORTS
-HidD_FlushQueue@4
-HidD_FreePreparsedData@4
-HidD_GetAttributes@8
-HidD_GetConfiguration@12
-HidD_GetFeature@12
-HidD_GetHidGuid@4
-HidD_GetIndexedString@16
-HidD_GetInputReport@12
-HidD_GetManufacturerString@12
-HidD_GetMsGenreDescriptor@12
-HidD_GetNumInputBuffers@8
-HidD_GetPhysicalDescriptor@12
-HidD_GetPreparsedData@8
-HidD_GetProductString@12
-HidD_GetSerialNumberString@12
-HidD_Hello@8
-HidD_SetConfiguration@12
-HidD_SetFeature@12
-HidD_SetNumInputBuffers@8
-HidD_SetOutputReport@12
-HidP_GetButtonCaps@16
-HidP_GetCaps@8
-HidP_GetData@24
-HidP_GetExtendedAttributes@20
-HidP_GetLinkCollectionNodes@12
-HidP_GetScaledUsageValue@32
-HidP_GetSpecificButtonCaps@28
-HidP_GetSpecificValueCaps@28
-HidP_GetUsageValue@32
-HidP_GetUsageValueArray@36
-HidP_GetUsages@32
-HidP_GetUsagesEx@28
-HidP_GetValueCaps@16
-HidP_InitializeReportForID@20
-HidP_MaxDataListLength@8
-HidP_MaxUsageListLength@12
-HidP_SetData@24
-HidP_SetScaledUsageValue@32
-HidP_SetUsageValue@32
-HidP_SetUsageValueArray@36
-HidP_SetUsages@32
-HidP_TranslateUsagesToI8042ScanCodes@24
-HidP_UnsetUsages@32
-HidP_UsageListDifference@20
-;HidservInstaller
diff --git a/winsup/w32api/lib/ddk/hidparse.def b/winsup/w32api/lib/ddk/hidparse.def
deleted file mode 100644
index 34da10824..000000000
--- a/winsup/w32api/lib/ddk/hidparse.def
+++ /dev/null
@@ -1,32 +0,0 @@
-LIBRARY hidparse.sys
-EXPORTS
-;HidP_FreeCollectionDescription
-;HidP_GetButtonCaps
-HidP_GetCaps@8
-;HidP_GetCollectionDescription
-HidP_GetData@24
-HidP_GetExtendedAttributes@20
-HidP_GetLinkCollectionNodes@12
-HidP_GetScaledUsageValue@32
-HidP_GetSpecificButtonCaps@28
-HidP_GetSpecificValueCaps@28
-HidP_GetUsageValue@32
-HidP_GetUsageValueArray@36
-HidP_GetUsages@32
-HidP_GetUsagesEx@28
-;HidP_GetValueCaps
-HidP_InitializeReportForID@20
-HidP_MaxDataListLength@8
-HidP_MaxUsageListLength@12
-HidP_SetData@24
-HidP_SetScaledUsageValue@32
-HidP_SetUsageValue@32
-HidP_SetUsageValueArray@36
-HidP_SetUsages@32
-;HidP_SysPowerCaps
-;HidP_SysPowerEvent
-HidP_TranslateUsageAndPagesToI8042ScanCodes@24
-HidP_TranslateUsagesToI8042ScanCodes@24
-HidP_UnsetUsages@32
-HidP_UsageAndPageListDifference@20
-HidP_UsageListDifference@20
diff --git a/winsup/w32api/lib/ddk/mcd.def b/winsup/w32api/lib/ddk/mcd.def
deleted file mode 100644
index 69b6c60c0..000000000
--- a/winsup/w32api/lib/ddk/mcd.def
+++ /dev/null
@@ -1,7 +0,0 @@
-LIBRARY mcd.sys
-EXPORTS
-ChangerClassAllocatePool@8
-ChangerClassDebugPrint@8
-ChangerClassFreePool@4
-ChangerClassInitialize@12
-ChangerClassSendSrbSynchronous@20
diff --git a/winsup/w32api/lib/ddk/ndis.def b/winsup/w32api/lib/ddk/ndis.def
deleted file mode 100644
index 100ee492a..000000000
--- a/winsup/w32api/lib/ddk/ndis.def
+++ /dev/null
@@ -1,277 +0,0 @@
-LIBRARY ndis.sys
-EXPORTS
-;ArcFilterDprIndicateReceive
-;ArcFilterDprIndicateReceiveComplete
-;EthFilterDprIndicateReceive
-;EthFilterDprIndicateReceiveComplete
-;FddiFilterDprIndicateReceive
-;FddiFilterDprIndicateReceiveComplete
-NDIS_BUFFER_TO_SPAN_PAGES@4
-NdisAcquireReadWriteLock@12
-;NdisAcquireSpinLock
-NdisAdjustBufferLength@8
-NdisAllocateBuffer@20
-NdisAllocateBufferPool@12
-;NdisAllocateFromBlockPool
-NdisAllocateMemory@20
-NdisAllocateMemoryWithTag@12
-NdisAllocatePacket@12
-NdisAllocatePacketPool@16
-NdisAllocatePacketPoolEx@20
-;NdisAllocateSpinLock
-NdisAnsiStringToUnicodeString@8
-NdisBufferLength@4
-NdisBufferVirtualAddress@4
-;NdisCancelSendPackets
-;NdisCancelTimer
-NdisClAddParty@16
-NdisClCloseAddressFamily@4
-NdisClCloseCall@16
-NdisClDeregisterSap@4
-NdisClDropParty@12
-;NdisClGetProtocolVcContextFromTapiCallId
-NdisClIncomingCallComplete@12
-NdisClMakeCall@16
-NdisClModifyCallQoS@8
-NdisClOpenAddressFamily@24
-NdisClRegisterSap@16
-NdisCloseAdapter@8
-NdisCloseConfiguration@4
-;NdisCloseFile
-NdisCmActivateVc@8
-NdisCmAddPartyComplete@16
-NdisCmCloseAddressFamilyComplete@8
-NdisCmCloseCallComplete@12
-NdisCmDeactivateVc@4
-NdisCmDeregisterSapComplete@8
-NdisCmDispatchCallConnected@4
-NdisCmDispatchIncomingCall@12
-NdisCmDispatchIncomingCallQoSChange@8
-NdisCmDispatchIncomingCloseCall@16
-NdisCmDispatchIncomingDropParty@16
-NdisCmDropPartyComplete@8
-NdisCmMakeCallComplete@20
-NdisCmModifyCallQoSComplete@12
-NdisCmOpenAddressFamilyComplete@12
-NdisCmRegisterAddressFamily@16
-NdisCmRegisterSapComplete@12
-;NdisCoAssignInstanceName
-NdisCoCreateVc@16
-NdisCoDeleteVc@4
-;NdisCoGetTapiCallId
-NdisCoRequest@20
-NdisCoRequestComplete@20
-NdisCoSendPackets@12
-;NdisCompareAnsiString DATA
-;NdisCompareUnicodeString DATA
-NdisCompleteBindAdapter@12
-;NdisCompleteDmaTransfer
-NdisCompletePnPEvent@12
-NdisCompleteUnbindAdapter@8
-;NdisConvertStringToAtmAddress
-NdisCopyBuffer@24
-NdisCopyFromPacketToPacket@24
-;NdisCopyFromPacketToPacketSafe
-;NdisCreateBlockPool
-NdisDeregisterProtocol@8
-;NdisDestroyBlockPool
-;NdisDprAcquireSpinLock
-NdisDprAllocatePacket@12
-NdisDprAllocatePacketNonInterlocked@12
-NdisDprFreePacket@4
-NdisDprFreePacketNonInterlocked@4
-;NdisDprReleaseSpinLock
-;NdisEqualString DATA
-NdisFreeBuffer@4
-NdisFreeBufferPool@4
-NdisFreeMemory@12
-NdisFreePacket@4
-NdisFreePacketPool@4
-;NdisFreeSpinLock
-;NdisFreeToBlockPool
-;NdisGeneratePartialCancelId
-NdisGetBufferPhysicalArraySize@8
-NdisGetCurrentProcessorCounts@12
-NdisGetCurrentProcessorCpuUsage@4
-;NdisGetCurrentSystemTime
-NdisGetDriverHandle@8
-NdisGetFirstBufferFromPacket@20
-;NdisGetFirstBufferFromPacketSafe
-;NdisGetPacketCancelId
-;NdisGetPoolFromPacket
-NdisGetReceivedPacket@8
-;NdisGetRoutineAddress
-;NdisGetSharedDataAlignment
-NdisGetSystemUpTime@4
-;NdisGetVersion
-NdisIMAssociateMiniport@8
-NdisIMCancelInitializeDeviceInstance@8
-NdisIMCopySendCompletePerPacketInfo@8
-NdisIMCopySendPerPacketInfo@8
-NdisIMDeInitializeDeviceInstance@4
-NdisIMDeregisterLayeredMiniport@4
-NdisIMGetBindingContext@4
-;NdisIMGetCurrentPacketStack
-NdisIMGetDeviceContext@4
-;NdisIMInitializeDeviceInstance
-NdisIMInitializeDeviceInstanceEx@12
-;NdisIMNotifyPnPEvent
-;NdisIMQueueMiniportCallback
-NdisIMRegisterLayeredMiniport@16
-;NdisIMRevertBack
-;NdisIMSwitchToMiniport
-;NdisImmediateReadPciSlotInformation
-;NdisImmediateReadPortUchar
-;NdisImmediateReadPortUlong
-;NdisImmediateReadPortUshort
-NdisImmediateReadSharedMemory@16
-;NdisImmediateWritePciSlotInformation
-;NdisImmediateWritePortUchar
-;NdisImmediateWritePortUlong
-;NdisImmediateWritePortUshort
-NdisImmediateWriteSharedMemory@16
-;NdisInitAnsiString DATA
-;NdisInitUnicodeString DATA
-;NdisInitializeEvent
-NdisInitializeReadWriteLock@4
-;NdisInitializeString
-;NdisInitializeTimer
-NdisInitializeWrapper@16
-;NdisInterlockedAddLargeInterger DATA
-;NdisInterlockedAddUlong
-;NdisInterlockedDecrement
-;NdisInterlockedIncrement
-;NdisInterlockedInsertHeadList
-;NdisInterlockedInsertTailList
-;NdisInterlockedPopEntryList
-;NdisInterlockedPushEntryList
-;NdisInterlockedRemoveHeadList
-NdisMAllocateMapRegisters@20
-NdisMAllocateSharedMemory@20
-NdisMAllocateSharedMemoryAsync@16
-;NdisMCancelTimer
-NdisMCloseLog@4
-NdisMCmActivateVc@8
-NdisMCmCreateVc@16
-NdisMCmDeactivateVc@4
-NdisMCmDeleteVc@4
-NdisMCmRegisterAddressFamily@16
-NdisMCmRequest@16
-NdisMCoActivateVcComplete@12
-NdisMCoDeactivateVcComplete@8
-NdisMCoIndicateReceivePacket@12
-NdisMCoIndicateStatus@20
-NdisMCoReceiveComplete@4
-NdisMCoRequestComplete@12
-NdisMCoSendComplete@12
-;NdisMCompleteBufferPhysicalMapping
-NdisMCreateLog@12
-NdisMDeregisterAdapterShutdownHandler@4
-NdisMDeregisterDevice@4
-;NdisMDeregisterDmaChannel
-NdisMDeregisterInterrupt@4
-NdisMDeregisterIoPortRange@16
-NdisMFlushLog@4
-NdisMFreeMapRegisters@4
-NdisMFreeSharedMemory@24
-NdisMGetDeviceProperty@24
-;NdisMGetDmaAlignment
-;NdisMIndicateStatus
-;NdisMIndicateStatusComplete
-NdisMInitializeScatterGatherDma@12
-;NdisMInitializeTimer
-NdisMMapIoSpace@20
-;NdisMPciAssignResources
-NdisMPromoteMiniport@4
-NdisMQueryAdapterInstanceName@8
-NdisMQueryAdapterResources@16
-;NdisMQueryInformationComplete
-;NdisMReadDmaCounter
-NdisMRegisterAdapterShutdownHandler@12
-NdisMRegisterDevice@24
-;NdisMRegisterDmaChannel
-NdisMRegisterInterrupt@28
-NdisMRegisterIoPortRange@16
-NdisMRegisterMiniport@12
-NdisMRegisterUnloadHandler@8
-NdisMRemoveMiniport@4
-;NdisMResetComplete
-;NdisMSendComplete
-;NdisMSendResourcesAvailable
-;NdisMSetAttributes
-NdisMSetAttributesEx@20
-;NdisMSetInformationComplete
-NdisMSetMiniportSecondary@8
-;NdisMSetPeriodicTimer
-;NdisMSetTimer
-NdisMSleep@4
-;NdisMStartBufferPhysicalMapping
-NdisMSynchronizeWithInterrupt@12
-;NdisMTransferDataComplete
-NdisMUnmapIoSpace@12
-NdisMWanIndicateReceive@20
-NdisMWanIndicateReceiveComplete@4
-NdisMWanSendComplete@12
-NdisMWriteLogData@12
-;NdisMapFile
-;NdisMatchPdoWithPacket
-NdisOpenAdapter@44
-NdisOpenConfiguration@12
-NdisOpenConfigurationKeyByIndex@20
-NdisOpenConfigurationKeyByName@16
-;NdisOpenFile
-NdisOpenProtocolConfiguration@12
-;NdisOverrideBusNumber
-NdisPacketPoolUsage@4
-;NdisPacketSize
-NdisQueryAdapterInstanceName@8
-;NdisQueryBindInstanceName
-NdisQueryBuffer@12
-NdisQueryBufferOffset@12
-NdisQueryBufferSafe@16
-;NdisQueryMapRegisterCount
-;NdisQueryPendingIOCount
-;NdisReEnumerateProtocolBindings
-NdisReadConfiguration@20
-NdisReadEisaSlotInformation@16
-NdisReadEisaSlotInformationEx@20
-;NdisReadMcaPosInformation
-NdisReadNetworkAddress@16
-NdisReadPciSlotInformation@20
-NdisReadPcmciaAttributeMemory@16
-NdisRegisterProtocol@16
-;NdisRegisterTdiCallBack
-NdisReleaseReadWriteLock@8
-;NdisReleaseSpinLock
-NdisRequest@12
-NdisReset@8
-;NdisResetEvent
-NdisReturnPackets@8
-;NdisScheduleWorkItem
-NdisSend@12
-NdisSendPackets@12
-;NdisSetEvent
-;NdisSetPacketCancelId
-;NdisSetPacketPoolProtocolId
-;NdisSetPacketStatus
-;NdisSetProtocolFilter
-;NdisSetTimer
-;NdisSetTimerEx
-NdisSetupDmaTransfer@24
-;NdisSystemProcessorCount
-NdisTerminateWrapper@8
-NdisTransferData@28
-NdisUnchainBufferAtBack@8
-NdisUnchainBufferAtFront@8
-NdisUnicodeStringToAnsiString@8
-;NdisUnmapFile
-NdisUpcaseUnicodeString@8
-NdisUpdateSharedMemory@20
-;NdisWaitEvent
-NdisWriteConfiguration@16
-NdisWriteErrorLogEntry
-NdisWriteEventLogEntry@28
-NdisWritePciSlotInformation@20
-NdisWritePcmciaAttributeMemory@16
-;TrFilterDprIndicateReceive
-;TrFilterDprIndicateReceiveComplete
diff --git a/winsup/w32api/lib/ddk/newdev.def b/winsup/w32api/lib/ddk/newdev.def
deleted file mode 100644
index 96a5e3a79..000000000
--- a/winsup/w32api/lib/ddk/newdev.def
+++ /dev/null
@@ -1,6 +0,0 @@
-LIBRARY newdev.dll
-EXPORTS
-UpdateDriverForPlugAndPlayDevicesA
-UpdateDriverForPlugAndPlayDevicesW
-UpdateDriverForPlugAndPlayDevicesA@20=UpdateDriverForPlugAndPlayDevicesA
-UpdateDriverForPlugAndPlayDevicesW@20=UpdateDriverForPlugAndPlayDevicesW
diff --git a/winsup/w32api/lib/ddk/ntoskrnl.def b/winsup/w32api/lib/ddk/ntoskrnl.def
deleted file mode 100644
index ca1447fb3..000000000
--- a/winsup/w32api/lib/ddk/ntoskrnl.def
+++ /dev/null
@@ -1,1459 +0,0 @@
-LIBRARY ntoskrnl.exe
-EXPORTS
-;CcCanIWrite
-;CcCopyRead
-;CcCopyWrite
-;CcDeferWrite
-;CcFastCopyRead
-;CcFastCopyWrite
-;CcFastMdlReadWait
-;CcFastReadNotPossible
-;CcFastReadWait
-;CcFlushCache
-;CcGetDirtyPages
-;CcGetFileObjectFromBcb
-;CcGetFileObjectFromSectionPtrs
-;CcGetFlushedValidData
-;CcGetLsnForFileObject
-;CcInitializeCacheMap
-;CcIsThereDirtyData
-;CcMapData
-;CcMdlRead
-;CcMdlReadComplete
-;CcMdlWriteAbort
-;CcMdlWriteComplete
-;CcPinMappedData
-;CcPinRead
-;CcPrepareMdlWrite
-;CcPreparePinWrite
-;CcPurgeCacheSection
-;CcRemapBcb
-;CcRepinBcb
-;CcScheduleReadAhead
-;CcSetAdditionalCacheAttributes
-;CcSetBcbOwnerPointer
-;CcSetDirtyPageThreshold
-;CcSetDirtyPinnedData
-;CcSetFileSizes
-;CcSetLogHandleForFile
-;CcSetReadAheadGranularity
-;CcUninitializeCacheMap
-;CcUnpinData
-;CcUnpinDataForThread
-;CcUnpinRepinnedBcb
-;CcWaitForCurrentLazyWriterActivity
-;CcZeroData
-CmRegisterCallback@12
-CmUnRegisterCallback@4
-DbgBreakPoint@0
-DbgBreakPointWithStatus@4
-;DbgLoadImageSymbols
-DbgPrint
-DbgPrintEx
-DbgPrintReturnControlC
-;DbgPrompt
-DbgQueryDebugFilterState@8
-DbgSetDebugFilterState@12
-@ExAcquireFastMutexUnsafe@4
-ExAcquireResourceExclusiveLite@8
-ExAcquireResourceSharedLite@8
-;ExAcquireRundownProtection
-ExAcquireSharedStarveExclusive@8
-ExAcquireSharedWaitForExclusive@8
-ExAllocateFromPagedLookasideList@4
-ExAllocatePool@8
-ExAllocatePoolWithQuota@8
-ExAllocatePoolWithQuotaTag@12
-ExAllocatePoolWithTag@12
-ExAllocatePoolWithTagPriority@16
-ExConvertExclusiveToSharedLite@4
-ExCreateCallback@16
-ExDeleteNPagedLookasideList@4
-ExDeletePagedLookasideList@4
-ExDeleteResourceLite@4
-ExDesktopObjectType DATA
-;ExDisableResourceBoostLite
-;ExEnumHandleTable
-ExEventObjectType DATA
-ExExtendZone@12
-@Exfi386InterlockedDecrementLong@4
-@Exfi386InterlockedExchangeUlong@8
-@Exfi386InterlockedIncrementLong@4
-@ExfInterlockedAddUlong@12
-@ExfInterlockedInsertHeadList@12
-@ExfInterlockedInsertTailList@12
-@ExfInterlockedPopEntryList@8
-@ExfInterlockedPushEntryList@12
-@ExfInterlockedRemoveHeadList@8
-ExFreePool@4
-ExFreePoolWithTag@8
-ExFreeToPagedLookasideList@8
-;ExGetCurrentProcessorCounts
-;ExGetCurrentProcessorCpuUsage
-ExGetExclusiveWaiterCount@4
-ExGetPreviousMode@0
-ExGetSharedWaiterCount@4
-Exi386InterlockedDecrementLong@4
-Exi386InterlockedExchangeUlong@8
-Exi386InterlockedIncrementLong@4
-ExInitializeNPagedLookasideList@28
-ExInitializePagedLookasideList@28
-ExInitializeResourceLite@4
-;ExInitializeRundownProtection
-ExInitializeZone@16
-ExInterlockedAddLargeInteger@12
-@ExInterlockedAddLargeStatistic@8
-ExInterlockedAddUlong@12
-@ExInterlockedCompareExchange64@16
-ExInterlockedDecrementLong@8
-ExInterlockedExchangeUlong@12
-ExInterlockedExtendZone@16
-@ExInterlockedFlushSList@4
-@ExInterlockedIncrementLong@8
-ExInterlockedInsertHeadList@12
-ExInterlockedInsertTailList@12
-ExInterlockedPopEntryList@8
-@ExInterlockedPopEntrySList@8
-ExInterlockedPushEntryList@12
-@ExInterlockedPushEntrySList@12
-ExInterlockedRemoveHeadList@8
-ExIsProcessorFeaturePresent@4
-ExIsResourceAcquiredExclusiveLite@4
-ExIsResourceAcquiredSharedLite@4
-ExLocalTimeToSystemTime@8
-ExNotifyCallback@12
-;ExQueryPoolBlockSize
-ExQueueWorkItem@8
-ExRaiseAccessViolation@0
-ExRaiseDatatypeMisalignment@0
-;ExRaiseException
-;ExRaiseHardError
-ExRaiseStatus@4
-;ExReInitializeRundownProtection
-ExRegisterCallback@12
-ExReinitializeResourceLite@4
-@ExReleaseFastMutexUnsafe@4
-ExReleaseResourceForThreadLite@8
-@ExReleaseResourceLite@4
-;ExReleaseRundownProtection
-;ExRundownCompleted
-ExSemaphoreObjectType DATA
-ExSetResourceOwnerPointer@8
-ExSetTimerResolution@8
-;ExSystemExceptionFilter
-ExSystemTimeToLocalTime@8
-ExUnregisterCallback@4
-ExUuidCreate@4
-ExVerifySuite@4
-;ExWaitForRundownProtectionRelease
-ExWindowStationObjectType DATA
-;FsRtlAcquireFileExclusive
-;FsRtlAddLargeMcbEntry
-;FsRtlAddMcbEntry
-;FsRtlAddToTunnelCache
-;FsRtlAllocateFileLock
-;FsRtlAllocatePool
-;FsRtlAllocatePoolWithQuota
-;FsRtlAllocatePoolWithQuotaTag
-;FsRtlAllocatePoolWithTag
-;FsRtlAllocateResource
-;FsRtlAreNamesEqual
-;FsRtlBalanceReads
-;FsRtlCheckLockForReadAccess
-;FsRtlCheckLockForWriteAccess
-;FsRtlCheckOplock
-;FsRtlCopyRead
-;FsRtlCopyWrite
-;FsRtlCurrentBatchOplock
-;FsRtlDeleteKeyFromTunnelCache
-;FsRtlDeleteTunnelCache
-;FsRtlDeregisterUncProvider
-;FsRtlDissectDbcs
-;FsRtlDissectName
-;FsRtlDoesDbcsContainWildCards
-;FsRtlDoesNameContainWildCards
-;FsRtlFastCheckLockForRead
-;FsRtlFastCheckLockForWrite
-;FsRtlFastUnlockAll
-;FsRtlFastUnlockAllByKey
-;FsRtlFastUnlockSingle
-;FsRtlFindInTunnelCache
-;FsRtlFreeFileLock
-;FsRtlGetFileSize
-;FsRtlGetNextFileLock
-;FsRtlGetNextLargeMcbEntry
-;FsRtlGetNextMcbEntry
-;FsRtlIncrementCcFastReadNoWait
-;FsRtlIncrementCcFastReadNotPossible
-;FsRtlIncrementCcFastReadResourceMiss
-;FsRtlIncrementCcFastReadWait
-;FsRtlInitializeFileLock
-;FsRtlInitializeLargeMcb
-;FsRtlInitializeMcb
-;FsRtlInitializeOplock
-;FsRtlInitializeTunnelCache
-;FsRtlInsertPerFileObjectContext
-;FsRtlInsertPerStreamContext
-;FsRtlIsDbcsInExpression
-;FsRtlIsFatDbcsLegal
-;FsRtlIsHpfsDbcsLegal
-;FsRtlIsNameInExpression
-;FsRtlIsNtstatusExpected
-;FsRtlIsPagingFile
-FsRtlIsTotalDeviceFailure@4
-;FsRtlLegalAnsiCharacterArray
-;FsRtlLookupLargeMcbEntry
-;FsRtlLookupLastLargeMcbEntry
-;FsRtlLookupLastLargeMcbEntryAndIndex
-;FsRtlLookupLastMcbEntry
-;FsRtlLookupMcbEntry
-;FsRtlLookupPerFileObjectContext
-;FsRtlLookupPerStreamContextInternal
-;FsRtlMdlRead
-;FsRtlMdlReadComplete
-;FsRtlMdlReadCompleteDev
-;FsRtlMdlReadDev
-;FsRtlMdlWriteComplete
-;FsRtlMdlWriteCompleteDev
-;FsRtlNormalizeNtstatus
-;FsRtlNotifyChangeDirectory
-;FsRtlNotifyCleanup
-;FsRtlNotifyFilterChangeDirectory
-;FsRtlNotifyFilterReportChange
-;FsRtlNotifyFullChangeDirectory
-;FsRtlNotifyFullReportChange
-;FsRtlNotifyInitializeSync
-;FsRtlNotifyReportChange
-;FsRtlNotifyUninitializeSync
-;FsRtlNotifyVolumeEvent
-;FsRtlNumberOfRunsInLargeMcb
-;FsRtlNumberOfRunsInMcb
-;FsRtlOplockFsctrl
-;FsRtlOplockIsFastIoPossible
-;FsRtlPostPagingFileStackOverflow
-;FsRtlPostStackOverflow
-;FsRtlPrepareMdlWrite
-;FsRtlPrepareMdlWriteDev
-;FsRtlPrivateLock
-;FsRtlProcessFileLock
-;FsRtlRegisterFileSystemFilterCallbacks
-;FsRtlRegisterUncProvider
-;FsRtlReleaseFile
-;FsRtlRemoveLargeMcbEntry
-;FsRtlRemoveMcbEntry
-;FsRtlRemovePerFileObjectContext
-;FsRtlRemovePerStreamContext
-;FsRtlResetLargeMcb
-;FsRtlSplitLargeMcb
-;FsRtlSyncVolumes
-;FsRtlTeardownPerStreamContexts
-;FsRtlTruncateLargeMcb
-;FsRtlTruncateMcb
-;FsRtlUninitializeFileLock
-;FsRtlUninitializeLargeMcb
-;FsRtlUninitializeMcb
-;FsRtlUninitializeOplock
-;HalDispatchTable DATA
-@HalExamineMBR@16
-;HalPrivateDispatchTable DATA
-;HeadlessDispatch
-;InbvAcquireDisplayOwnership
-;InbvCheckDisplayOwnership
-;InbvDisplayString
-;InbvEnableBootDriver
-;InbvEnableDisplayString
-;InbvInstallDisplayStringFilter
-;InbvIsBootDriverInstalled
-;InbvNotifyDisplayOwnershipLost
-;InbvResetDisplay
-;InbvSetScrollRegion
-;InbvSetTextColor
-;InbvSolidColorFill
-;InitSafeBootMode DATA
-@InterlockedCompareExchange@12
-@InterlockedDecrement@4
-@InterlockedExchange@8
-@InterlockedExchangeAdd@8
-@InterlockedIncrement@4
-@InterlockedPopEntrySList@4
-@InterlockedPushEntrySList@8
-IoAcquireCancelSpinLock@4
-IoAcquireRemoveLockEx@20
-;IoAcquireVpbSpinLock
-IoAdapterObjectType DATA
-IoAllocateAdapterChannel@20
-IoAllocateController@16
-IoAllocateDriverObjectExtension@16
-IoAllocateErrorLogEntry@8
-IoAllocateIrp@8
-IoAllocateMdl@20
-IoAllocateWorkItem@4
-;IoAssignDriveLetters
-IoAssignResources@24
-IoAttachDevice@12
-IoAttachDeviceByPointer@8
-IoAttachDeviceToDeviceStack@8
-;IoAttachDeviceToDeviceStackSafe
-IoBuildAsynchronousFsdRequest@24
-IoBuildDeviceIoControlRequest@36
-IoBuildPartialMdl@16
-IoBuildSynchronousFsdRequest@28
-;IoCallDriver
-IoCancelFileOpen@8
-IoCancelIrp@4
-;IoCheckDesiredAccess
-;IoCheckEaBufferValidity
-;IoCheckFunctionAccess
-;IoCheckQuerySetFileInformation
-;IoCheckQuerySetVolumeInformation
-;IoCheckQuotaBufferValidity
-IoCheckShareAccess@20
-;IoCompleteRequest
-IoConnectInterrupt@44
-IoCreateController@4
-IoCreateDevice@28
-IoCreateDisk@8
-;IoCreateDriver
-IoCreateFile@56
-;IoCreateFileSpecifyDeviceObjectHint
-IoCreateNotificationEvent@8
-;IoCreateStreamFileObject
-;IoCreateStreamFileObjectEx
-;IoCreateStreamFileObjectLite
-IoCreateSymbolicLink@8
-IoCreateSynchronizationEvent@8
-IoCreateUnprotectedSymbolicLink@8
-IoCsqInitialize@28
-IoCsqInsertIrp@12
-IoCsqRemoveIrp@8
-IoCsqRemoveNextIrp@8
-IoDeleteController@4
-IoDeleteDevice@4
-;IoDeleteDriver
-IoDeleteSymbolicLink@4
-IoDetachDevice@4
-IoDeviceHandlerObjectSize DATA
-IoDeviceHandlerObjectType DATA
-IoDeviceObjectType DATA
-IoDisconnectInterrupt@4
-IoDriverObjectType DATA
-;IoEnqueueIrp
-;IoEnumerateDeviceObjectList
-;IoFastQueryNetworkAttributes
-IoFileObjectType DATA
-;IoForwardAndCatchIrp
-IoForwardIrpSynchronously@8
-IoFreeController@4
-IoFreeErrorLogEntry@4
-IoFreeIrp@4
-IoFreeMdl@4
-IoFreeWorkItem@4
-IoGetAttachedDevice@4
-IoGetAttachedDeviceReference@4
-;IoGetBaseFileSystemDeviceObject
-IoGetBootDiskInformation@8
-IoGetConfigurationInformation@0
-IoGetCurrentProcess@0
-;IoGetDeviceAttachmentBaseRef
-IoGetDeviceInterfaceAlias@12
-IoGetDeviceInterfaces@16
-IoGetDeviceObjectPointer@16
-IoGetDeviceProperty@20
-IoGetDeviceToVerify@4
-;IoGetDiskDeviceObject
-IoGetDmaAdapter@12
-IoGetDriverObjectExtension@8
-IoGetFileObjectGenericMapping@0
-IoGetInitialStack@0
-;IoGetLowerDeviceObject
-IoGetRelatedDeviceObject@4
-;IoGetRequestorProcess
-;IoGetRequestorProcessId
-;IoGetRequestorSessionId
-IoGetStackLimits@8
-;IoGetTopLevelIrp
-IoInitializeIrp@12
-IoInitializeRemoveLockEx@20
-IoInitializeTimer@12
-IoInvalidateDeviceRelations@8
-IoInvalidateDeviceState@4
-;IoIsFileOriginRemote
-;IoIsOperationSynchronous
-;IoIsSystemThread
-;IoIsValidNameGraftingBuffer
-IoIsWdmVersionAvailable@8
-IoMakeAssociatedIrp@8
-IoOpenDeviceInterfaceRegistryKey@12
-IoOpenDeviceRegistryKey@16
-;IoPageRead
-;IoPnPDeliverServicePowerNotification
-IoQueryDeviceDescription@32
-;IoQueryFileDosDeviceName
-;IoQueryFileInformation
-;IoQueryVolumeInformation
-;IoQueueThreadIrp
-IoQueueWorkItem@16
-IoRaiseHardError@12
-IoRaiseInformationalHardError@12
-IoReadDiskSignature@12
-;IoReadOperationCount DATA
-@IoReadPartitionTable@16
-IoReadPartitionTableEx@8
-;IoReadTransferCount DATA
-IoRegisterBootDriverReinitialization@12
-IoRegisterDeviceInterface@16
-IoRegisterDriverReinitialization@12
-;IoRegisterFileSystem
-;IoRegisterFsRegistrationChange
-;IoRegisterLastChanceShutdownNotification
-IoRegisterPlugPlayNotification@28
-IoRegisterShutdownNotification@4
-IoReleaseCancelSpinLock@4
-IoReleaseRemoveLockAndWaitEx@12
-IoReleaseRemoveLockEx@12
-;IoReleaseVpbSpinLock
-IoRemoveShareAccess@8
-IoReportDetectedDevice@32
-;IoReportHalResourceUsage
-IoReportResourceForDetection@28
-IoReportResourceUsage@36
-IoReportTargetDeviceChange@8
-IoReportTargetDeviceChangeAsynchronous@16
-IoRequestDeviceEject@4
-IoReuseIrp@8
-IoSetCompletionRoutineEx@28
-IoSetDeviceInterfaceState@8
-;IoSetDeviceToVerify
-;IoSetFileOrigin
-IoSetHardErrorOrVerifyDevice@8
-;IoSetInformation
-;IoSetIoCompletion
-@IoSetPartitionInformation@16
-IoSetPartitionInformationEx@12
-IoSetShareAccess@16
-IoSetStartIoAttributes@12
-IoSetSystemPartition@4
-IoSetThreadHardErrorMode@4
-;IoSetTopLevelIrp
-IoStartNextPacket@8
-IoStartNextPacketByKey@12
-IoStartPacket@16
-IoStartTimer@4
-;IoStatisticsLock DATA
-IoStopTimer@4
-;IoSynchronousInvalidateDeviceRelations
-;IoSynchronousPageWrite
-;IoThreadToProcess
-;IoUnregisterFileSystem
-;IoUnregisterFsRegistrationChange
-IoUnregisterPlugPlayNotification@4
-IoUnregisterShutdownNotification@4
-IoUpdateShareAccess@8
-IoVerifyPartitionTable@8
-;IoVerifyVolume
-IoVolumeDeviceToDosName@8
-IoWMIAllocateInstanceIds@12
-IoWMIDeviceObjectToInstanceName@12
-IoWMIExecuteMethod@24
-IoWMIHandleToInstanceName@12
-IoWMIOpenBlock@12
-IoWMIQueryAllData@12
-IoWMIQueryAllDataMultiple@16
-IoWMIQuerySingleInstance@16
-IoWMIQuerySingleInstanceMultiple@20
-IoWMIRegistrationControl@8
-IoWMISetNotificationCallback@12
-IoWMISetSingleInstance@20
-IoWMISetSingleItem@24
-IoWMISuggestInstanceName@16
-IoWMIWriteEvent@4
-IoWriteErrorLogEntry@4
-;IoWriteOperationCount DATA
-@IoWritePartitionTable@20
-IoWritePartitionTableEx@8
-;IoWriteTransferCount DATA
-@IofCallDriver@8
-@IofCompleteRequest@8
-;KdDebuggerEnabled DATA
-;KdDebuggerNotPresent DATA
-KdDisableDebugger@0
-KdEnableDebugger@0
-;KdEnteredDebugger DATA
-;KdPollBreakIn
-;KdPowerTransition
-;Ke386CallBios
-Ke386IoSetAccessProcess@8
-Ke386QueryIoAccessMap@8
-Ke386SetIoAccessMap@8
-@KeAcquireInStackQueuedSpinLockAtDpcLevel@8
-KeAcquireInterruptSpinLock@4
-;KeAcquireSpinLockAtDpcLevel
-KeAddSystemServiceTable@20
-KeAreApcsDisabled@0
-KeAttachProcess@4
-KeBugCheck@4
-KeBugCheckEx@20
-KeCancelTimer@4
-KeClearEvent@4
-;KeConnectInterrupt
-;KeDcacheFlushCount DATA
-KeDelayExecutionThread@12
-KeDeregisterBugCheckCallback@4
-KeDetachProcess@0
-;KeDisconnectInterrupt
-KeEnterCriticalRegion@0
-;KeEnterKernelDebugger
-;KeFindConfigurationEntry
-;KeFindConfigurationNextEntry
-;KeFlushEntireTb
-KeGetCurrentThread@0
-KeGetPreviousMode@0
-KeGetRecommendedSharedDataAlignment@0
-;KeI386AbiosCall
-;KeI386AllocateGdtSelectors
-;KeI386Call16BitCStyleFunction
-;KeI386Call16BitFunction
-;KeI386FlatToGdtSelector
-;KeI386GetLid
-;KeI386MachineType DATA
-;KeI386ReleaseGdtSelectors
-;KeI386ReleaseLid
-;KeI386SetGdtSelector
-;KeIcacheFlushCount DATA
-KeInitializeApc@32
-KeInitializeDeviceQueue@4
-KeInitializeDpc@12
-KeInitializeEvent@12
-;KeInitializeInterrupt
-;KeInitializeMutant
-KeInitializeMutex@8
-;KeInitializeQueue
-KeInitializeSemaphore@12
-KeInitializeSpinLock@4
-KeInitializeTimer@4
-KeInitializeTimerEx@8
-KeInsertByKeyDeviceQueue@12
-KeInsertDeviceQueue@8
-;KeInsertHeadQueue
-;KeInsertQueue
-;KeInsertQueueApc
-KeInsertQueueDpc@12
-;KeIsAttachedProcess
-;KeIsExecutingDpc
-KeLeaveCriticalRegion@0
-;KeLoaderBlock DATA
-;KeNumberProcessors DATA
-;KeProfileInterrupt
-;KeProfileInterruptWithSource
-KePulseEvent@12
-;KeQueryActiveProcessors
-KeQueryInterruptTime@0
-KeQueryPriorityThread@4
-;KeQueryRuntimeThread
-KeQuerySystemTime@4
-KeQueryTickCount@4
-KeQueryTimeIncrement@0
-;KeRaiseUserException
-KeReadStateEvent@4
-;KeReadStateMutant
-KeReadStateMutex@4
-;KeReadStateQueue
-KeReadStateSemaphore@4
-KeReadStateTimer@4
-KeRegisterBugCheckCallback@20
-KeReleaseInStackQueuedSpinLockFromDpcLevel@4
-KeReleaseInterruptSpinLock@8
-;KeReleaseMutant
-KeReleaseMutex@8
-KeReleaseSemaphore@16
-;KeReleaseSpinLockFromDpcLevel
-KeRemoveByKeyDeviceQueue@8
-;KeRemoveByKeyDeviceQueueIfBusy
-KeRemoveDeviceQueue@4
-KeRemoveEntryDeviceQueue@8
-;KeRemoveQueue
-KeRemoveQueueDpc@4
-;KeRemoveSystemServiceTable
-KeResetEvent@4
-KeRestoreFloatingPointState@4
-;KeRevertToUserAffinityThread
-;KeRundownQueue
-KeSaveFloatingPointState@4
-;KeSaveStateForHibernate
-;KeServiceDescriptorTable DATA
-;KeSetAffinityThread
-KeSetBasePriorityThread@8
-;KeSetDmaIoCoherency
-KeSetEvent@12
-;KeSetEventBoostPriority
-;KeSetIdealProcessorThread
-KeSetImportanceDpc@8
-;KeSetKernelStackSwapEnable
-KeSetPriorityThread@8
-;KeSetProfileIrql
-;KeSetSystemAffinityThread
-KeSetTargetProcessorDpc@8
-;KeSetTimeIncrement
-@KeSetTimeUpdateNotifyRoutine@4
-KeSetTimer@16
-KeSetTimerEx@20
-;KeStackAttachProcess
-KeSynchronizeExecution@12
-;KeTerminateThread
-;KeTickCount DATA
-;KeUnstackDetachProcess
-;KeUpdateRunTime
-;KeUpdateSystemTime
-;KeUserModeCallback
-KeWaitForMultipleObjects@32
-KeWaitForMutexObject@20
-KeWaitForSingleObject@20
-@KefAcquireSpinLockAtDpcLevel@4
-@KefReleaseSpinLockFromDpcLevel@4
-;Kei386EoiHelper
-;KiAcquireSpinLock
-;KiBugCheckData DATA
-;KiCoprocessorError
-;KiDeliverApc
-;KiDispatchInterrupt
-;KiEnableTimerWatchdog DATA
-;KiIpiServiceRoutine
-;KiReleaseSpinLock
-;KiUnexpectedInterrupt
-;Kii386SpinOnSpinLock
-;LdrAccessResource
-;LdrEnumResources
-;LdrFindResourceDirectory_U
-;LdrFindResource_U
-LpcPortObjectType DATA
-;LpcRequestPort
-;LpcRequestWaitReplyPort
-;LsaCallAuthenticationPackage
-;LsaDeregisterLogonProcess
-;LsaFreeReturnBuffer
-;LsaLogonUser
-;LsaLookupAuthenticationPackage
-;LsaRegisterLogonProcess
-;Mm64BitPhysicalAddress DATA
-;MmAddPhysicalMemory
-;MmAddVerifierThunks
-;MmAdjustWorkingSetSize
-MmAdvanceMdl@8
-MmAllocateContiguousMemory@8
-MmAllocateContiguousMemorySpecifyCache@20
-MmAllocateMappingAddress@8
-MmAllocateNonCachedMemory@4
-MmAllocatePagesForMdl@28
-MmBuildMdlForNonPagedPool@4
-;MmCanFileBeTruncated
-MmCreateMdl@12
-MmCreateSection@32
-;MmDisableModifiedWriteOfSection
-MmFlushImageSection@8
-;MmForceSectionClosed
-MmFreeContiguousMemory@4
-MmFreeContiguousMemorySpecifyCache@12
-MmFreeMappingAddress@8
-MmFreeNonCachedMemory@8
-MmFreePagesFromMdl@4
-MmGetPhysicalAddress@4
-MmGetPhysicalMemoryRanges@0
-MmGetSystemRoutineAddress@4
-MmGetVirtualForPhysical@4
-;MmGrowKernelStack
-;MmHighestUserAddress DATA
-MmIsAddressValid@4
-MmIsDriverVerifying@4
-MmIsNonPagedSystemAddressValid@4
-;MmIsRecursiveIoFault
-MmIsThisAnNtAsSystem@0
-MmIsVerifierEnabled@4
-MmLockPagableDataSection@4
-MmLockPagableImageSection@4
-MmLockPagableSectionByHandle@4
-MmMapIoSpace@16
-MmMapLockedPages@8
-MmMapLockedPagesSpecifyCache@24
-MmMapLockedPagesWithReservedMapping@16
-;MmMapMemoryDumpMdl
-MmMapUserAddressesToPage@12
-MmMapVideoDisplay@12
-MmMapViewInSessionSpace@12
-MmMapViewInSystemSpace@12
-;MmMapViewOfSection
-MmMarkPhysicalMemoryAsBad@8
-MmMarkPhysicalMemoryAsGood@8
-MmPageEntireDriver@4
-;MmPrefetchPages
-MmProbeAndLockPages@12
-MmProbeAndLockProcessPages@16
-;MmProbeAndLockSelectedPages
-MmProtectMdlSystemAddress@8
-MmQuerySystemSize@0
-MmRemovePhysicalMemory@8
-MmResetDriverPaging@4
-MmSectionObjectType DATA
-MmSecureVirtualMemory@12
-;MmSetAddressRangeModified
-;MmSetBankedSection
-MmSizeOfMdl@8
-;MmSystemRangeStart DATA
-;MmTrimAllSystemPagableMemory
-MmUnlockPagableImageSection@4
-MmUnlockPages@4
-MmUnmapIoSpace@8
-MmUnmapLockedPages@8
-MmUnmapReservedMapping@12
-MmUnmapVideoDisplay@8
-MmUnmapViewInSessionSpace@4
-MmUnmapViewInSystemSpace@4
-;MmUnmapViewOfSection
-MmUnsecureVirtualMemory@4
-;MmUserProbeAddress DATA
-;NlsAnsiCodePage DATA
-;NlsLeadByteInfo
-;NlsMbCodePageTag DATA
-;NlsMbOemCodePageTag DATA
-;NlsOemCodePage DATA
-;NlsOemLeadByteInfo
-NtAddAtom@12
-NtAdjustPrivilegesToken@24
-NtAllocateLocallyUniqueId@4
-NtAllocateUuids@16
-NtAllocateVirtualMemory@24
-;NtBuildNumber DATA
-NtClose@4
-NtConnectPort@32
-NtCreateEvent@20
-;NtCreateFile
-NtCreateSection@28
-NtDeleteAtom@4
-NtDeleteFile@4
-NtDeviceIoControlFile@40
-NtDuplicateObject@28
-NtDuplicateToken@24
-NtFindAtom@12
-NtFreeVirtualMemory@16
-;NtFsControlFile
-;NtGlobalFlag DATA
-;NtLockFile
-;NtMakePermanentObject
-NtMapViewOfSection@40
-;NtNotifyChangeDirectoryFile
-NtOpenFile@24
-NtOpenProcess@16
-NtOpenProcessToken@12
-;NtOpenProcessTokenEx
-NtOpenThread@16
-NtOpenThreadToken@16
-;NtOpenThreadTokenEx
-;NtQueryDirectoryFile
-;NtQueryEaFile
-NtQueryInformationAtom@20
-;NtQueryInformationFile
-NtQueryInformationProcess@20
-NtQueryInformationThread@20
-NtQueryInformationToken@20
-;NtQueryQuotaInformationFile
-NtQuerySecurityObject@20
-NtQuerySystemInformation@16
-;NtQueryVolumeInformationFile
-NtReadFile@36
-NtRequestPort@8
-NtRequestWaitReplyPort@12
-;NtSetEaFile
-NtSetEvent@8
-;NtSetInformationFile
-NtSetInformationProcess@16
-NtSetInformationThread@16
-;NtSetQuotaInformationFile
-NtSetSecurityObject@12
-;NtSetVolumeInformationFile
-NtShutdownSystem@4
-;NtTraceEvent
-;NtUnlockFile
-NtVdmControl@8
-NtWaitForSingleObject@12
-NtWriteFile@36
-ObAssignSecurity@16
-;ObCheckCreateObjectAccess
-;ObCheckObjectAccess
-;ObCloseHandle
-ObCreateObject@36
-;ObCreateObjectType
-;ObDereferenceObject
-ObDereferenceSecurityDescriptor@8
-;ObFindHandleForObject
-ObGetObjectSecurity@12
-ObInsertObject@24
-ObLogSecurityDescriptor@12
-ObMakeTemporaryObject@4
-ObOpenObjectByName@28
-ObOpenObjectByPointer@28
-;ObQueryNameString
-ObQueryObjectAuditingByHandle@8
-ObReferenceObjectByHandle@24
-ObReferenceObjectByName@32
-ObReferenceObjectByPointer@16
-ObReferenceSecurityDescriptor@8
-ObReleaseObjectSecurity@8
-;ObSetHandleAttributes
-;ObSetSecurityDescriptorInfo
-;ObSetSecurityObjectByPointer
-@ObfDereferenceObject@4
-@ObfReferenceObject@4
-;PfxFindPrefix
-;PfxInitialize
-;PfxInsertPrefix
-;PfxRemovePrefix
-PoCallDriver@8
-;PoCancelDeviceNotify
-;PoQueueShutdownWorkItem
-PoRegisterDeviceForIdleDetection@16
-;PoRegisterDeviceNotify
-PoRegisterSystemState@8
-PoRequestPowerIrp@24
-PoRequestShutdownEvent@4
-;PoSetHiberRange
-PoSetPowerState@12
-PoSetSystemState@4
-;PoShutdownBugCheck
-PoStartNextPowerIrp@4
-PoUnregisterSystemState@4
-ProbeForRead@12
-ProbeForWrite@12
-;PsAssignImpersonationToken
-;PsChargePoolQuota
-;PsChargeProcessNonPagedPoolQuota
-;PsChargeProcessPagedPoolQuota
-;PsChargeProcessPoolQuota
-PsCreateSystemProcess@12
-PsCreateSystemThread@28
-;PsDereferenceImpersonationToken
-;PsDereferencePrimaryToken
-;PsDisableImpersonation
-;PsEstablishWin32Callouts
-;PsGetCurrentProcess
-PsGetCurrentProcessId@0
-;PsGetCurrentProcessSessionId
-;PsGetCurrentThread
-PsGetCurrentThreadId@0
-;PsGetCurrentThreadPreviousMode
-;PsGetCurrentThreadStackBase
-;PsGetCurrentThreadStackLimit
-;PsGetJobLock
-;PsGetJobSessionId
-;PsGetJobUIRestrictionsClass
-;PsGetProcessCreateTimeQuadPart
-;PsGetProcessDebugPort
-;PsGetProcessExitProcessCalled
-;PsGetProcessExitStatus
-;PsGetProcessExitTime
-;PsGetProcessId
-;PsGetProcessImageFileName
-;PsGetProcessInheritedFromUniqueProcessId
-;PsGetProcessJob
-;PsGetProcessPeb
-;PsGetProcessPriorityClass
-;PsGetProcessSectionBaseAddress
-;PsGetProcessSecurityPort
-;PsGetProcessSessionId
-;PsGetProcessWin32Process
-;PsGetProcessWin32WindowStation
-;PsGetThreadFreezeCount
-;PsGetThreadHardErrorsAreDisabled
-;PsGetThreadId
-;PsGetThreadProcess
-;PsGetThreadProcessId
-;PsGetThreadSessionId
-;PsGetThreadTeb
-;PsGetThreadWin32Thread
-PsGetVersion@16
-;PsImpersonateClient
-;PsInitialSystemProcess DATA
-;PsIsProcessBeingDebugged
-;PsIsSystemThread
-;PsIsThreadImpersonating
-;PsIsThreadTerminating
-;PsJobType DATA
-;PsLookupProcessByProcessId
-;PsLookupProcessThreadByCid
-;PsLookupThreadByThreadId
-;PsProcessType DATA
-;PsReferenceImpersonationToken
-;PsReferencePrimaryToken
-PsRemoveCreateThreadNotifyRoutine@4
-PsRemoveLoadImageNotifyRoutine@4
-;PsRestoreImpersonation
-;PsReturnPoolQuota
-;PsReturnProcessNonPagedPoolQuota
-;PsReturnProcessPagedPoolQuota
-;PsRevertThreadToSelf
-;PsRevertToSelf
-PsSetCreateProcessNotifyRoutine@8
-PsSetCreateThreadNotifyRoutine@4
-;PsSetJobUIRestrictionsClass
-;PsSetLegoNotifyRoutine
-PsSetLoadImageNotifyRoutine@4
-;PsSetProcessPriorityByClass
-;PsSetProcessPriorityClass
-;PsSetProcessSecurityPort
-;PsSetProcessWin32Process
-;PsSetProcessWindowStation
-;PsSetThreadHardErrorsAreDisabled
-;PsSetThreadWin32Thread
-PsTerminateSystemThread@4
-;PsThreadType DATA
-READ_REGISTER_BUFFER_UCHAR@12
-READ_REGISTER_BUFFER_ULONG@12
-READ_REGISTER_BUFFER_USHORT@12
-READ_REGISTER_UCHAR@4
-READ_REGISTER_ULONG@4
-READ_REGISTER_USHORT@4
-;RtlAbsoluteToSelfRelativeSD
-;RtlAddAccessAllowedAce
-;RtlAddAce
-;RtlAddAtomToAtomTable
-RtlAddRange@28
-;RtlAllocateHeap
-;RtlAnsiCharToUnicodeChar
-RtlAnsiStringToUnicodeSize@4
-RtlAnsiStringToUnicodeString@12
-;RtlAppendAsciizToString
-;RtlAppendStringToString
-RtlAppendUnicodeStringToString@8
-RtlAppendUnicodeToString@8
-;RtlAreAllAccessesGranted
-;RtlAreAnyAccessesGranted
-RtlAreBitsClear@12
-RtlAreBitsSet@12
-RtlAssert@16
-;RtlCaptureContext
-;RtlCaptureStackBackTrace
-RtlCharToInteger@12
-RtlCheckRegistryKey@8
-RtlClearAllBits@4
-RtlClearBit@8
-RtlClearBits@12
-RtlCompareMemory@12
-;RtlCompareMemoryUlong
-RtlCompareString@12
-RtlCompareUnicodeString@12
-;RtlCompressBuffer
-;RtlCompressChunks
-RtlConvertLongToLargeInteger@4
-;RtlConvertSidToUnicodeString
-RtlConvertUlongToLargeInteger@4
-;RtlCopyLuid
-RtlCopyRangeList@8
-;RtlCopySid
-RtlCopyString@8
-RtlCopyUnicodeString@8
-;RtlCreateAcl
-;RtlCreateAtomTable
-;RtlCreateHeap
-RtlCreateRegistryKey@8
-RtlCreateSecurityDescriptor@8
-;RtlCreateSystemVolumeInformationFolder
-;RtlCreateUnicodeString
-;RtlCustomCPToUnicodeN
-;RtlDecompressBuffer
-;RtlDecompressChunks
-;RtlDecompressFragment
-;RtlDelete
-;RtlDeleteAce
-;RtlDeleteAtomFromAtomTable
-;RtlDeleteElementGenericTable
-;RtlDeleteElementGenericTableAvl
-;RtlDeleteNoSplay
-RtlDeleteOwnersRanges@8
-RtlDeleteRange@16
-RtlDeleteRegistryValue@12
-;RtlDescribeChunk
-;RtlDestroyAtomTable
-;RtlDestroyHeap
-;RtlDowncaseUnicodeString
-;RtlEmptyAtomTable
-RtlEnlargedIntegerMultiply@8
-RtlEnlargedUnsignedDivide@12
-RtlEnlargedUnsignedMultiply@8
-;RtlEnumerateGenericTable
-;RtlEnumerateGenericTableAvl
-;RtlEnumerateGenericTableLikeADirectory
-;RtlEnumerateGenericTableWithoutSplaying
-;RtlEnumerateGenericTableWithoutSplayingAvl
-;RtlEqualLuid
-;RtlEqualSid
-RtlEqualString@12
-RtlEqualUnicodeString@12
-RtlExtendedIntegerMultiply@8
-RtlExtendedLargeIntegerDivide@12
-RtlExtendedMagicDivide@12
-;RtlFillMemory
-;RtlFillMemoryUlong
-RtlFindClearBits@12
-RtlFindClearBitsAndSet@12
-RtlFindClearRuns@16
-RtlFindFirstRunClear@8
-RtlFindLastBackwardRunClear@12
-RtlFindLeastSignificantBit@4
-RtlFindLongestRunClear@8
-;RtlFindMessage
-RtlFindMostSignificantBit@4
-RtlFindNextForwardRunClear@12
-RtlFindRange@40
-RtlFindSetBits@12
-RtlFindSetBitsAndClear@12
-;RtlFindUnicodePrefix
-;RtlFormatCurrentUserKeyPath
-RtlFreeAnsiString@4
-;RtlFreeHeap
-;RtlFreeOemString
-RtlFreeRangeList@4
-RtlFreeUnicodeString@4
-RtlGUIDFromString@8
-;RtlGenerate8dot3Name
-;RtlGetAce
-RtlGetCallersAddress@8
-;RtlGetCompressionWorkSpaceSize
-;RtlGetDaclSecurityDescriptor
-;RtlGetDefaultCodePage
-;RtlGetElementGenericTable
-;RtlGetElementGenericTableAvl
-RtlGetFirstRange@12
-;RtlGetGroupSecurityDescriptor
-RtlGetNextRange@12
-;RtlGetNtGlobalFlags
-;RtlGetOwnerSecurityDescriptor
-;RtlGetSaclSecurityDescriptor
-;RtlGetSetBootStatusData
-RtlGetVersion@4
-RtlHashUnicodeString@16
-;RtlImageDirectoryEntryToData
-;RtlImageNtHeader
-RtlInitAnsiString@8
-;RtlInitCodePageTable
-RtlInitString@8
-RtlInitUnicodeString@8
-RtlInitializeBitMap@12
-;RtlInitializeGenericTable
-;RtlInitializeGenericTableAvl
-RtlInitializeRangeList@4
-;RtlInitializeSid
-;RtlInitializeUnicodePrefix
-;RtlInsertElementGenericTable
-;RtlInsertElementGenericTableAvl
-;RtlInsertElementGenericTableFull
-;RtlInsertElementGenericTableFullAvl
-;RtlInsertUnicodePrefix
-RtlInt64ToUnicodeString@12
-;RtlIntegerToChar
-;RtlIntegerToUnicode
-RtlIntegerToUnicodeString@12
-RtlInvertRangeList@8
-;RtlIpv4AddressToStringA
-;RtlIpv4AddressToStringW
-;RtlIpv4StringToAddressA
-;RtlIpv4StringToAddressW
-;RtlIpv6AddressToStringA
-;RtlIpv6AddressToStringW
-;RtlIpv6StringToAddressA
-;RtlIpv6StringToAddressW
-;RtlIsGenericTableEmpty
-;RtlIsGenericTableEmptyAvl
-;RtlIsNameLegalDOS8Dot3
-RtlIsRangeAvailable@32
-;RtlIsValidOemCharacter
-RtlLargeIntegerAdd@8
-RtlLargeIntegerArithmeticShift@8
-RtlLargeIntegerDivide@12
-RtlLargeIntegerNegate@4
-RtlLargeIntegerShiftLeft@8
-RtlLargeIntegerShiftRight@8
-RtlLargeIntegerSubtract@8
-;RtlLengthRequiredSid
-RtlLengthSecurityDescriptor@4
-;RtlLengthSid
-;RtlLockBootStatusData
-;RtlLookupAtomInAtomTable
-;RtlLookupElementGenericTable
-;RtlLookupElementGenericTableAvl
-;RtlLookupElementGenericTableFull
-;RtlLookupElementGenericTableFullAvl
-RtlMapGenericMask@8
-;RtlMapSecurityErrorToNtStatus
-RtlMergeRangeLists@16
-;RtlMoveMemory
-;RtlMultiByteToUnicodeN
-;RtlMultiByteToUnicodeSize
-;RtlNextUnicodePrefix
-;RtlNtStatusToDosError
-;RtlNtStatusToDosErrorNoTeb
-;RtlNumberGenericTableElements
-;RtlNumberGenericTableElementsAvl
-RtlNumberOfClearBits@4
-RtlNumberOfSetBits@4
-;RtlOemStringToCountedUnicodeString
-;RtlOemStringToUnicodeSize
-;RtlOemStringToUnicodeString
-;RtlOemToUnicodeN
-;RtlPinAtomInAtomTable
-@RtlPrefetchMemoryNonTemporal@8
-;RtlPrefixString
-RtlPrefixUnicodeString@12
-;RtlQueryAtomInAtomTable
-RtlQueryRegistryValues@20
-;RtlQueryTimeZoneInformation
-;RtlRaiseException
-;RtlRandom
-;RtlRandomEx
-;RtlRealPredecessor
-;RtlRealSuccessor
-;RtlRemoveUnicodePrefix
-;RtlReserveChunk
-;RtlSecondsSince1970ToTime
-;RtlSecondsSince1980ToTime
-;RtlSelfRelativeToAbsoluteSD
-;RtlSelfRelativeToAbsoluteSD2
-RtlSetAllBits@4
-RtlSetBit@8
-RtlSetBits@12
-RtlSetDaclSecurityDescriptor@16
-;RtlSetGroupSecurityDescriptor
-;RtlSetOwnerSecurityDescriptor
-;RtlSetSaclSecurityDescriptor
-;RtlSetTimeZoneInformation
-;RtlSizeHeap
-;RtlSplay
-RtlStringFromGUID@8
-;RtlSubAuthorityCountSid
-;RtlSubAuthoritySid
-;RtlSubtreePredecessor
-;RtlSubtreeSuccessor
-RtlTestBit@8
-RtlTimeFieldsToTime@8
-;RtlTimeToElapsedTimeFields
-;RtlTimeToSecondsSince1970
-;RtlTimeToSecondsSince1980
-RtlTimeToTimeFields@8
-;RtlTraceDatabaseAdd
-;RtlTraceDatabaseCreate
-;RtlTraceDatabaseDestroy
-;RtlTraceDatabaseEnumerate
-;RtlTraceDatabaseFind
-;RtlTraceDatabaseLock
-;RtlTraceDatabaseUnlock
-;RtlTraceDatabaseValidate
-@RtlUlongByteSwap@4
-@RtlUlonglongByteSwap@4
-RtlUnicodeStringToAnsiSize@4
-RtlUnicodeStringToAnsiString@12
-;RtlUnicodeStringToCountedOemString
-RtlUnicodeStringToInteger@12
-;RtlUnicodeStringToOemSize
-;RtlUnicodeStringToOemString
-;RtlUnicodeToCustomCPN
-;RtlUnicodeToMultiByteN
-;RtlUnicodeToMultiByteSize
-;RtlUnicodeToOemN
-;RtlUnlockBootStatusData
-;RtlUnwind
-RtlUpcaseUnicodeChar@4
-RtlUpcaseUnicodeString@12
-;RtlUpcaseUnicodeStringToAnsiString
-;RtlUpcaseUnicodeStringToCountedOemString
-;RtlUpcaseUnicodeStringToOemString
-;RtlUpcaseUnicodeToCustomCPN
-;RtlUpcaseUnicodeToMultiByteN
-;RtlUpcaseUnicodeToOemN
-RtlUpperChar@4
-RtlUpperString@8
-RtlUshortByteSwap@4
-RtlValidRelativeSecurityDescriptor@12
-RtlValidSecurityDescriptor@4
-;RtlValidSid
-RtlVerifyVersionInfo@12
-RtlVolumeDeviceToDosName@8
-RtlWalkFrameChain@12
-RtlWriteRegistryValue@24
-;RtlZeroHeap
-;RtlZeroMemory
-;RtlxAnsiStringToUnicodeSize
-;RtlxOemStringToUnicodeSize
-RtlxUnicodeStringToAnsiSize@4
-;RtlxUnicodeStringToOemSize
-SeAccessCheck@40
-;SeAppendPrivileges
-SeAssignSecurity@28
-SeAssignSecurityEx@36
-;SeAuditHardLinkCreation
-;SeAuditingFileEvents
-;SeAuditingFileOrGlobalEvents
-;SeAuditingHardLinkEvents
-;SeCaptureSecurityDescriptor
-;SeCaptureSubjectContext
-;SeCloseObjectAuditAlarm
-;SeCreateAccessState
-;SeCreateClientSecurity
-;SeCreateClientSecurityFromSubjectContext
-SeDeassignSecurity@4
-;SeDeleteAccessState
-;SeDeleteObjectAuditAlarm
-;SeExports DATA
-;SeFilterToken
-;SeFreePrivileges
-;SeImpersonateClient
-;SeImpersonateClientEx
-;SeLockSubjectContext
-;SeMarkLogonSessionForTerminationNotification
-;SeOpenObjectAuditAlarm
-;SeOpenObjectForDeleteAuditAlarm
-;SePrivilegeCheck
-;SePrivilegeObjectAuditAlarm
-;SePublicDefaultDacl DATA
-;SeQueryAuthenticationIdToken
-;SeQueryInformationToken
-;SeQuerySecurityDescriptorInfo
-;SeQuerySessionIdToken
-;SeRegisterLogonSessionTerminatedRoutine
-;SeReleaseSecurityDescriptor
-;SeReleaseSubjectContext
-;SeSetAccessStateGenericMapping
-;SeSetSecurityDescriptorInfo
-;SeSetSecurityDescriptorInfoEx
-SeSinglePrivilegeCheck@8
-;SeSystemDefaultDacl DATA
-;SeTokenImpersonationLevel
-;SeTokenIsAdmin
-;SeTokenIsRestricted
-SeTokenObjectType DATA
-;SeTokenType
-;SeUnlockSubjectContext
-;SeUnregisterLogonSessionTerminatedRoutine
-SeValidSecurityDescriptor@8
-VerSetConditionMask@16
-;VfFailDeviceNode
-;VfFailDriver
-;VfFailSystemBIOS
-;VfIsVerificationEnabled
-WRITE_REGISTER_BUFFER_UCHAR@12
-WRITE_REGISTER_BUFFER_ULONG@12
-WRITE_REGISTER_BUFFER_USHORT@12
-WRITE_REGISTER_UCHAR@8
-WRITE_REGISTER_ULONG@8
-WRITE_REGISTER_USHORT@8
-;WmiFlushTrace
-;WmiGetClock
-;WmiQueryTrace
-WmiQueryTraceInformation@20
-;WmiStartTrace
-;WmiStopTrace
-WmiTraceMessage
-;WmiTraceMessageVa
-;WmiUpdateTrace
-;XIPDispatch
-ZwAccessCheckAndAuditAlarm@44
-;ZwAddBootEntry
-ZwAdjustPrivilegesToken@24
-ZwAlertThread@4
-ZwAllocateVirtualMemory@24
-ZwAssignProcessToJobObject@8
-ZwCancelIoFile@8
-ZwCancelTimer@8
-;ZwClearEvent
-ZwClose@4
-ZwCloseObjectAuditAlarm@12
-ZwConnectPort@32
-ZwCreateDirectoryObject@12
-ZwCreateEvent@20
-ZwCreateFile@44
-ZwCreateJobObject@12
-ZwCreateKey@28
-ZwCreateSection@28
-ZwCreateSymbolicLinkObject@16
-ZwCreateTimer@16
-;ZwDeleteBootEntry
-ZwDeleteFile@4
-ZwDeleteKey@4
-ZwDeleteValueKey@8
-ZwDeviceIoControlFile@40
-ZwDisplayString@4
-ZwDuplicateObject@28
-ZwDuplicateToken@24
-;ZwEnumerateBootEntries
-ZwEnumerateKey@24
-ZwEnumerateValueKey@24
-ZwFlushInstructionCache@12
-ZwFlushKey@4
-ZwFlushVirtualMemory@16
-ZwFreeVirtualMemory@16
-;ZwFsControlFile
-ZwInitiatePowerAction@16
-;ZwIsProcessInJob
-ZwLoadDriver@4
-ZwLoadKey@8
-ZwMakeTemporaryObject@4
-ZwMapViewOfSection@40
-ZwNotifyChangeKey@40
-ZwOpenDirectoryObject@12
-;ZwOpenEvent
-ZwOpenFile@24
-ZwOpenJobObject@12
-ZwOpenKey@12
-;ZwOpenProcess
-ZwOpenProcessToken@12
-;ZwOpenProcessTokenEx
-ZwOpenSection@12
-ZwOpenSymbolicLinkObject@12
-ZwOpenThread@16
-ZwOpenThreadToken@16
-;ZwOpenThreadTokenEx
-ZwOpenTimer@12
-ZwPowerInformation@20
-;ZwPulseEvent
-;ZwQueryBootEntryOrder
-;ZwQueryBootOptions
-ZwQueryDefaultLocale@8
-ZwQueryDefaultUILanguage@4
-ZwQueryDirectoryFile@44
-ZwQueryDirectoryObject@28
-;ZwQueryEaFile
-ZwQueryFullAttributesFile@8
-ZwQueryInformationFile@20
-ZwQueryInformationJobObject@20
-ZwQueryInformationProcess@20
-ZwQueryInformationThread@20
-ZwQueryInformationToken@20
-ZwQueryInstallUILanguage@4
-ZwQueryKey@20
-ZwQueryObject@20
-ZwQuerySection@20
-ZwQuerySecurityObject@20
-ZwQuerySymbolicLinkObject@12
-ZwQuerySystemInformation@16
-ZwQueryValueKey@24
-ZwQueryVolumeInformationFile@20
-ZwReadFile@36
-ZwReplaceKey@12
-ZwRequestWaitReplyPort@12
-;ZwResetEvent
-ZwRestoreKey@12
-ZwSaveKey@8
-;ZwSaveKeyEx
-;ZwSetBootEntryOrder
-;ZwSetBootOptions
-ZwSetDefaultLocale@8
-ZwSetDefaultUILanguage@4
-;ZwSetEaFile
-ZwSetEvent@8
-ZwSetInformationFile@20
-ZwSetInformationJobObject@16
-ZwSetInformationObject@16
-ZwSetInformationProcess@16
-ZwSetInformationThread@16
-ZwSetSecurityObject@12
-ZwSetSystemInformation@12
-ZwSetSystemTime@8
-ZwSetTimer@28
-ZwSetValueKey@24
-;ZwSetVolumeInformationFile
-ZwTerminateJobObject@8
-ZwTerminateProcess@8
-;ZwTranslateFilePath
-ZwUnloadDriver@4
-ZwUnloadKey@4
-ZwUnmapViewOfSection@8
-;ZwWaitForMultipleObjects
-ZwWaitForSingleObject@12
-ZwWriteFile@36
-ZwYieldExecution@0
-;_CIcos
-;_CIsin
-;_CIsqrt
-;_abnormal_termination
-;_alldiv
-;_alldvrm
-;_allmul
-;_alloca_probe
-;_allrem
-;_allshl
-;_allshr
-;_aulldiv
-;_aulldvrm
-;_aullrem
-;_aullshr
-;_except_handler2
-;_except_handler3
-;_global_unwind2
-;_itoa
-;_itow
-;_local_unwind2
-;_purecall
-_snprintf
-_snwprintf
-_stricmp
-_strlwr
-_strnicmp
-_strnset
-_strrev
-_strset
-_strupr
-_vsnprintf
-_vsnwprintf
-_wcsicmp@8
-_wcslwr@4
-_wcsnicmp@12
-_wcsnset@12
-_wcsrev@4
-_wcsupr@4
-;atoi
-;atol
-;isdigit
-;islower
-;isprint
-;isspace
-;isupper
-;isxdigit
-;mbstowcs
-;mbtowc
-memchr
-memcpy
-memmove
-memset
-;qsort
-;rand
-sprintf
-;srand
-strcat
-strchr
-strcmp
-strcpy
-strlen
-strncat
-strncmp
-strncpy
-strrchr
-strspn
-strstr
-swprintf
-;tolower
-;toupper
-;towlower
-;towupper
-;vDbgPrintEx
-;vDbgPrintExWithPrefix
-;vsprintf
-wcscat
-wcschr
-wcscmp
-wcscpy
-wcscspn
-wcslen
-wcsncat
-wcsncmp
-wcsncpy
-wcsrchr
-wcsspn
-wcsstr
-;wcstombs
-;wctomb
diff --git a/winsup/w32api/lib/ddk/scsiport.def b/winsup/w32api/lib/ddk/scsiport.def
deleted file mode 100644
index 1965161f3..000000000
--- a/winsup/w32api/lib/ddk/scsiport.def
+++ /dev/null
@@ -1,49 +0,0 @@
-LIBRARY scsiport.sys
-EXPORTS
-DllInitialize@4
-ScsiDebugPrint
-ScsiPortCompleteRequest@20
-;ScsiPortConvertPhysicalAddressToUlong
-ScsiPortConvertUlongToPhysicalAddress@4
-ScsiPortFlushDma@4
-ScsiPortFreeDeviceBase@8
-ScsiPortGetBusData@24
-ScsiPortGetDeviceBase@24
-ScsiPortGetLogicalUnit@16
-ScsiPortGetPhysicalAddress@16
-ScsiPortGetSrb@20
-ScsiPortGetUncachedExtension@12
-ScsiPortGetVirtualAddress@8
-ScsiPortInitialize@16
-ScsiPortIoMapTransfer@16
-ScsiPortLogError@28
-ScsiPortMoveMemory@12
-ScsiPortNotification
-ScsiPortQuerySystemTime@4
-ScsiPortReadPortBufferUchar@12
-ScsiPortReadPortBufferUlong@12
-ScsiPortReadPortBufferUshort@12
-ScsiPortReadPortUchar@4
-ScsiPortReadPortUlong@4
-ScsiPortReadPortUshort@4
-ScsiPortReadRegisterBufferUchar@12
-ScsiPortReadRegisterBufferUlong@12
-ScsiPortReadRegisterBufferUshort@12
-ScsiPortReadRegisterUchar@4
-ScsiPortReadRegisterUlong@4
-ScsiPortReadRegisterUshort@4
-ScsiPortSetBusDataByOffset@28
-ScsiPortStallExecution@4
-ScsiPortValidateRange@24
-ScsiPortWritePortBufferUchar@12
-ScsiPortWritePortBufferUlong@12
-ScsiPortWritePortBufferUshort@12
-ScsiPortWritePortUchar@8
-ScsiPortWritePortUlong@8
-ScsiPortWritePortUshort@8
-ScsiPortWriteRegisterBufferUchar@12
-ScsiPortWriteRegisterBufferUlong@12
-ScsiPortWriteRegisterBufferUshort@12
-ScsiPortWriteRegisterUchar@8
-ScsiPortWriteRegisterUlong@8
-ScsiPortWriteRegisterUshort@8
diff --git a/winsup/w32api/lib/ddk/tdi.def b/winsup/w32api/lib/ddk/tdi.def
deleted file mode 100644
index ee90642f8..000000000
--- a/winsup/w32api/lib/ddk/tdi.def
+++ /dev/null
@@ -1,50 +0,0 @@
-LIBRARY tdi.sys
-EXPORTS
-;CTEAllocateString
-;CTEBlock
-;CTEInitEvent
-;CTEInitString
-;CTEInitTimer
-;CTEInitialize
-;CTELogEvent
-;CTEScheduleDelayedEvent
-;CTEScheduleEvent
-;CTESignal
-;CTEStartTimer
-;CTESystemUpTime
-TdiBuildNetbiosAddress@12
-TdiBuildNetbiosAddressEa@12
-TdiCopyBufferToMdl@24
-TdiCopyMdlChainToMdlChain@20
-TdiCopyMdlToBuffer@24
-TdiDefaultChainedRcvDatagramHandler@40
-TdiDefaultChainedRcvExpeditedHandler@28
-TdiDefaultChainedReceiveHandler@28
-TdiDefaultConnectHandler@36
-TdiDefaultDisconnectHandler@28
-TdiDefaultErrorHandler@8
-TdiDefaultRcvDatagramHandler@44
-TdiDefaultRcvExpeditedHandler@32
-TdiDefaultReceiveHandler@32
-TdiDefaultSendPossibleHandler@12
-TdiDeregisterAddressChangeHandler@4
-TdiDeregisterDeviceObject@4
-TdiDeregisterNetAddress@4
-;TdiDeregisterNotificationHandler
-TdiDeregisterPnPHandlers@4
-TdiDeregisterProvider@4
-TdiEnumerateAddresses@4
-TdiInitialize@0
-TdiMapUserRequest@12
-TdiMatchPdoWithChainedReceiveContext@8
-;TdiOpenNetbiosAddress
-TdiPnPPowerComplete@12
-TdiPnPPowerRequest@20
-TdiProviderReady@4
-TdiRegisterAddressChangeHandler@12
-TdiRegisterDeviceObject@8
-TdiRegisterNetAddress@16
-TdiRegisterNotificationHandler@12
-TdiRegisterPnPHandlers@12
-TdiRegisterProvider@8
-TdiReturnChainedReceives@8
diff --git a/winsup/w32api/lib/ddk/usbcamd.def b/winsup/w32api/lib/ddk/usbcamd.def
deleted file mode 100644
index 5b052e20f..000000000
--- a/winsup/w32api/lib/ddk/usbcamd.def
+++ /dev/null
@@ -1,10 +0,0 @@
-LIBRARY usbcamd.sys
-EXPORTS
-DllUnload@0
-USBCAMD_AdapterReceivePacket@16
-USBCAMD_ControlVendorCommand@36
-;USBCAMD_Debug_LogEntry
-USBCAMD_DriverEntry@20
-USBCAMD_GetRegistryKeyValue@20
-USBCAMD_InitializeNewInterface@16
-USBCAMD_SelectAlternateInterface@8
diff --git a/winsup/w32api/lib/ddk/usbcamd2.def b/winsup/w32api/lib/ddk/usbcamd2.def
deleted file mode 100644
index 199d21e18..000000000
--- a/winsup/w32api/lib/ddk/usbcamd2.def
+++ /dev/null
@@ -1,10 +0,0 @@
-LIBRARY usbcamd2.sys
-EXPORTS
-DllUnload@0
-USBCAMD_AdapterReceivePacket@16
-USBCAMD_ControlVendorCommand@36
-;USBCAMD_Debug_LogEntry
-USBCAMD_DriverEntry@20
-USBCAMD_GetRegistryKeyValue@20
-USBCAMD_InitializeNewInterface@16
-USBCAMD_SelectAlternateInterface@8
diff --git a/winsup/w32api/lib/ddk/videoprt.def b/winsup/w32api/lib/ddk/videoprt.def
deleted file mode 100644
index a8b9057c6..000000000
--- a/winsup/w32api/lib/ddk/videoprt.def
+++ /dev/null
@@ -1,115 +0,0 @@
-LIBRARY videoprt.sys
-EXPORTS
-VideoPortAcquireDeviceLock@4
-VideoPortAcquireSpinLock@12
-VideoPortAcquireSpinLockAtDpcLevel@8
-VideoPortAllocateBuffer@12
-VideoPortAllocateCommonBuffer@24
-VideoPortAllocateContiguousMemory@12
-VideoPortAllocatePool@16
-VideoPortAssociateEventsWithDmaHandle@16
-;VideoPortCheckForDeviceExistance
-VideoPortCheckForDeviceExistence@28
-VideoPortClearEvent@8
-VideoPortCompareMemory@12
-VideoPortCompleteDma@16
-VideoPortCreateEvent@16
-VideoPortCreateSecondaryDisplay@12
-VideoPortCreateSpinLock@8
-VideoPortDDCMonitorHelper@16
-VideoPortDebugPrint
-VideoPortDeleteEvent@8
-VideoPortDeleteSpinLock@8
-VideoPortDisableInterrupt@4
-VideoPortDoDma@12
-VideoPortEnableInterrupt@4
-VideoPortEnumerateChildren@8
-;VideoPortFlushRegistry
-VideoPortFreeCommonBuffer@20
-VideoPortFreeDeviceBase@8
-VideoPortFreePool@8
-VideoPortGetAccessRanges@32
-VideoPortGetAgpServices@8
-VideoPortGetAssociatedDeviceExtension@4
-VideoPortGetAssociatedDeviceID@4
-VideoPortGetBusData@24
-VideoPortGetBytesUsed@8
-VideoPortGetCommonBuffer@24
-VideoPortGetCurrentIrql@0
-VideoPortGetDeviceBase@16
-VideoPortGetDeviceData@16
-VideoPortGetDmaAdapter@8
-VideoPortGetDmaContext@8
-VideoPortGetMdl@8
-VideoPortGetRegistryParameters@20
-VideoPortGetRomImage@16
-VideoPortGetVersion@8
-VideoPortGetVgaStatus@8
-VideoPortInitialize@16
-VideoPortInt10@8
-@VideoPortInterlockedDecrement@4
-@VideoPortInterlockedExchange@8
-@VideoPortInterlockedIncrement@4
-VideoPortLockBuffer@16
-VideoPortLockPages@20
-VideoPortLogError@16
-VideoPortMapBankedMemory@40
-VideoPortMapDmaMemory@36
-VideoPortMapMemory@24
-VideoPortMoveMemory@12
-VideoPortPutDmaAdapter@8
-VideoPortQueryPerformanceCounter@8
-VideoPortQueryServices@12
-VideoPortQuerySystemTime@4
-VideoPortQueueDpc@12
-VideoPortReadPortBufferUchar@12
-VideoPortReadPortBufferUlong@12
-VideoPortReadPortBufferUshort@12
-VideoPortReadPortUchar@4
-VideoPortReadPortUlong@4
-VideoPortReadPortUshort@4
-VideoPortReadRegisterBufferUchar@12
-VideoPortReadRegisterBufferUlong@12
-VideoPortReadRegisterBufferUshort@12
-VideoPortReadRegisterUchar@4
-VideoPortReadRegisterUlong@4
-VideoPortReadRegisterUshort@4
-VideoPortReadStateEvent@8
-VideoPortReleaseBuffer@8
-VideoPortReleaseCommonBuffer@24
-VideoPortReleaseDeviceLock@4
-VideoPortReleaseSpinLock@12
-VideoPortReleaseSpinLockFromDpcLevel@8
-VideoPortScanRom@16
-VideoPortSetBusData@24
-VideoPortSetBytesUsed@12
-VideoPortSetDmaContext@12
-VideoPortSetEvent@8
-VideoPortSetRegistryParameters@16
-VideoPortSetTrappedEmulatorPorts@12
-VideoPortSignalDmaComplete@8
-VideoPortStallExecution@4
-VideoPortStartDma@32
-VideoPortStartTimer@4
-VideoPortStopTimer@4
-VideoPortSynchronizeExecution@16
-VideoPortUnlockBuffer@8
-VideoPortUnlockPages@8
-VideoPortUnmapDmaMemory@16
-VideoPortUnmapMemory@12
-VideoPortVerifyAccessRanges@12
-VideoPortWaitForSingleObject@12
-VideoPortWritePortBufferUchar@12
-VideoPortWritePortBufferUlong@12
-VideoPortWritePortBufferUshort@12
-VideoPortWritePortUchar@8
-VideoPortWritePortUlong@8
-VideoPortWritePortUshort@8
-VideoPortWriteRegisterBufferUchar@12
-VideoPortWriteRegisterBufferUlong@12
-VideoPortWriteRegisterBufferUshort@12
-VideoPortWriteRegisterUchar@8
-VideoPortWriteRegisterUlong@8
-VideoPortWriteRegisterUshort@8
-VideoPortZeroDeviceMemory@8
-VideoPortZeroMemory@8
diff --git a/winsup/w32api/lib/ddk/win32k.def b/winsup/w32api/lib/ddk/win32k.def
deleted file mode 100644
index 2c7f14749..000000000
--- a/winsup/w32api/lib/ddk/win32k.def
+++ /dev/null
@@ -1,226 +0,0 @@
-LIBRARY win32k.sys
-EXPORTS
-BRUSHOBJ_hGetColorTransform@4
-BRUSHOBJ_pvAllocRbrush@8
-BRUSHOBJ_pvGetRbrush@4
-BRUSHOBJ_ulGetBrushColor@4
-CLIPOBJ_bEnum@12
-CLIPOBJ_cEnumStart@20
-CLIPOBJ_ppoGetPath@4
-EngAcquireSemaphore@4
-EngAllocMem@12
-EngAllocPrivateUserMem@12
-;EngAllocSectionMem
-EngAllocUserMem@8
-EngAlphaBlend@28
-EngAssociateSurface@12
-EngBitBlt@44
-EngCheckAbort@4
-EngClearEvent@4
-EngComputeGlyphSet@12
-EngControlSprites@8
-EngCopyBits@24
-EngCreateBitmap@20
-EngCreateClip@0
-EngCreateDeviceBitmap@12
-EngCreateDeviceSurface@12
-;EngCreateDriverObj
-EngCreateEvent@4
-EngCreatePalette@24
-EngCreatePath@0
-EngCreateSemaphore@0
-EngCreateWnd@20
-EngDebugBreak@0
-EngDebugPrint@12
-EngDeleteClip@4
-EngDeleteDriverObj@12
-EngDeleteEvent@4
-EngDeleteFile@4
-EngDeletePalette@4
-EngDeletePath@4
-EngDeleteSafeSemaphore@4
-EngDeleteSemaphore@4
-EngDeleteSurface@4
-EngDeleteWnd@4
-EngDeviceIoControl@28
-EngDitherColor@16
-;EngDxIoctl
-EngEnumForms@24
-EngEraseSurface@12
-;EngFileIoControl
-;EngFileWrite
-EngFillPath@28
-EngFindImageProcAddress@8
-EngFindResource@16
-EngFntCacheAlloc@8
-EngFntCacheFault@8
-EngFntCacheLookUp@8
-EngFreeMem@4
-EngFreeModule@4
-EngFreePrivateUserMem@8
-;EngFreeSectionMem
-EngFreeUserMem@4
-EngGetCurrentCodePage@8
-EngGetCurrentProcessId@0
-EngGetCurrentThreadId@0
-EngGetDriverName@4
-EngGetFileChangeTime@8
-EngGetFilePath@8
-EngGetForm@24
-EngGetLastError@0
-EngGetPrinter@20
-EngGetPrinterData@24
-EngGetPrinterDataFileName@4
-EngGetPrinterDriver@24
-EngGetProcessHandle@0
-;EngGetTickCount
-EngGetType1FontList@24
-EngGradientFill@40
-EngHangNotification@8
-EngInitializeSafeSemaphore@4
-EngIsSemaphoreOwned@4
-EngIsSemaphoreOwnedByCurrentThread@4
-EngLineTo@36
-EngLoadImage@4
-EngLoadModule@4
-EngLoadModuleForWrite@8
-EngLockDirectDrawSurface@4
-;EngLockDriverObj
-EngLockSurface@4
-EngLpkInstalled@0
-EngMapEvent@20
-EngMapFile@12
-EngMapFontFile@12
-EngMapFontFileFD@12
-EngMapModule@8
-;EngMapSection
-EngMarkBandingSurface@4
-EngModifySurface@32
-EngMovePointer@16
-EngMulDiv@12
-EngMultiByteToUnicodeN@20
-EngMultiByteToWideChar@20
-;EngNineGrid
-EngPaint@20
-EngPlgBlt@44
-EngProbeForRead@12
-EngProbeForReadAndWrite@12
-EngQueryDeviceAttribute@24
-EngQueryLocalTime@4
-EngQueryPalette@16
-EngQueryPerformanceCounter@4
-EngQueryPerformanceFrequency@4
-EngQuerySystemAttribute@8
-EngReadStateEvent@4
-EngReleaseSemaphore@4
-EngRestoreFloatingPointState@4
-EngSaveFloatingPointState@8
-EngSecureMem@8
-EngSetEvent@4
-EngSetLastError@4
-EngSetPointerShape@40
-EngSetPointerTag@20
-EngSetPrinterData@20
-EngSort@16
-EngStretchBlt@44
-EngStretchBltROP@52
-EngStrokeAndFillPath@40
-EngStrokePath@32
-EngTextOut@40
-EngTransparentBlt@32
-EngUnicodeToMultiByteN@20
-EngUnloadImage@4
-EngUnlockDirectDrawSurface@4
-EngUnlockDriverObj@4
-EngUnlockSurface@4
-EngUnmapEvent@4
-EngUnmapFile@4
-EngUnmapFontFile@4
-EngUnmapFontFileFD@4
-EngUnsecureMem@4
-EngWaitForSingleObject@8
-EngWideCharToMultiByte@20
-EngWritePrinter@16
-FLOATOBJ_Add@8
-FLOATOBJ_AddFloat@8
-;FLOATOBJ_AddFloatObj
-FLOATOBJ_AddLong@8
-FLOATOBJ_Div@8
-FLOATOBJ_DivFloat@8
-;FLOATOBJ_DivFloatObj
-FLOATOBJ_DivLong@8
-FLOATOBJ_Equal@8
-FLOATOBJ_EqualLong@8
-FLOATOBJ_GetFloat@4
-FLOATOBJ_GetLong@4
-FLOATOBJ_GreaterThan@8
-FLOATOBJ_GreaterThanLong@8
-FLOATOBJ_LessThan@8
-FLOATOBJ_LessThanLong@8
-FLOATOBJ_Mul@8
-FLOATOBJ_MulFloat@8
-;FLOATOBJ_MulFloatObj
-FLOATOBJ_MulLong@8
-FLOATOBJ_Neg@4
-FLOATOBJ_SetFloat@8
-FLOATOBJ_SetLong@8
-FLOATOBJ_Sub@8
-FLOATOBJ_SubFloat@8
-;FLOATOBJ_SubFloatObj
-FLOATOBJ_SubLong@8
-FONTOBJ_cGetAllGlyphHandles@8
-FONTOBJ_cGetGlyphs@20
-FONTOBJ_pQueryGlyphAttrs@8
-FONTOBJ_pfdg@4
-FONTOBJ_pifi@4
-FONTOBJ_pjOpenTypeTablePointer@12
-FONTOBJ_pvTrueTypeFontFile@8
-FONTOBJ_pwszFontFilePaths@8
-FONTOBJ_pxoGetXform@4
-FONTOBJ_vGetInfo@12
-HT_ComputeRGBGammaTable@24
-HT_Get8BPPFormatPalette@16
-HT_Get8BPPMaskPalette@24
-HeapVidMemAllocAligned@20
-PALOBJ_cGetColors@16
-PATHOBJ_bCloseFigure@4
-PATHOBJ_bEnum@8
-PATHOBJ_bEnumClipLines@12
-PATHOBJ_bMoveTo@8
-PATHOBJ_bPolyBezierTo@12
-PATHOBJ_bPolyLineTo@12
-PATHOBJ_vEnumStart@4
-PATHOBJ_vEnumStartClipLines@16
-PATHOBJ_vGetBounds@8
-;RtlAnsiCharToUnicodeChar
-;RtlMultiByteToUnicodeN
-;RtlRaiseException
-;RtlUnicodeToMultiByteN
-;RtlUnicodeToMultiByteSize
-;RtlUnwind
-RtlUpcaseUnicodeChar@4
-;RtlUpcaseUnicodeToMultiByteN
-STROBJ_bEnum@12
-STROBJ_bEnumPositionsOnly@12
-STROBJ_bGetAdvanceWidths@16
-STROBJ_dwGetCodePage@4
-STROBJ_fxBreakExtra@4
-STROBJ_fxCharacterExtra@4
-STROBJ_vEnumStart@4
-VidMemFree@8
-WNDOBJ_bEnum@12
-WNDOBJ_cEnumStart@16
-WNDOBJ_vSetConsumer@8
-XFORMOBJ_bApplyXform@20
-XFORMOBJ_iGetFloatObjXform@8
-XFORMOBJ_iGetXform@8
-XLATEOBJ_cGetPalette@16
-XLATEOBJ_hGetColorTransform@4
-XLATEOBJ_iXlate@8
-XLATEOBJ_piVector@4
-;_abnormal_termination
-;_except_handler2
-;_global_unwind2
-;_itoa
-;_itow
-;_local_unwind2
diff --git a/winsup/w32api/lib/dhcpcsvc.def b/winsup/w32api/lib/dhcpcsvc.def
deleted file mode 100644
index 84023c7a0..000000000
--- a/winsup/w32api/lib/dhcpcsvc.def
+++ /dev/null
@@ -1,8 +0,0 @@
-LIBRARY DHCPCSVC.DLL
-EXPORTS
-DhcpCApiCleanup@0
-DhcpCApiInitialize@4
-DhcpDeRegisterParamChange@12
-DhcpRegisterParamChange@28
-DhcpRemoveDNSRegistrations@0
-DhcpUndoRequestParams@16
diff --git a/winsup/w32api/lib/directx/Makefile.in b/winsup/w32api/lib/directx/Makefile.in
deleted file mode 100644
index 8136f29d0..000000000
--- a/winsup/w32api/lib/directx/Makefile.in
+++ /dev/null
@@ -1,220 +0,0 @@
-# Makefile.in
-#
-# This file is part of a free library building Windows NT drivers.
-#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-
-
-# start config section
-
-SHELL = @SHELL@
-
-srcdir = @srcdir@
-VPATH = @srcdir@
-
-host_alias = @host@
-build_alias = @build@
-target_alias = @target@
-prefix = @prefix@
-includedir:=@includedir@
-
-program_transform_name = @program_transform_name@
-exec_prefix = @exec_prefix@
-libdir:=@libdir@
-bindir = @bindir@
-ifeq ($(target_alias),$(host_alias))
-ifeq ($(build_alias),$(host_alias))
-tooldir:=$(exec_prefix)
-else
-tooldir:=$(exec_prefix)/$(target_alias)
-endif
-else
-tooldir:=$(exec_prefix)/$(target_alias)
-endif
-datadir = @datadir@
-infodir = @infodir@
-ifneq (,$(findstring cygwin,$(target_alias)))
-inst_includedir:=$(tooldir)/include/w32api
-inst_libdir:=$(tooldir)/lib/w32api
-else
-inst_includedir:=$(includedir)
-inst_libdir:=$(libdir)
-endif
-
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-mkinstalldirs = mkdir -p
-
-CC = @CC@
-CC_FOR_TARGET = $(CC)
-
-DLLTOOL = @DLLTOOL@
-DLLTOOL_FLAGS = --as=$(AS) -k
-AS = @AS@
-AS_FOR_TARGET = $(AS_FOR_TARGET)
-WINDRES = @WINDRES@
-
-# Depending on if we build as part of winsup or mingw we need to
-# add additional include paths in order to get the correct headers
-# from the C library.
-BUILDENV = @BUILDENV@
-
-ifeq ($(BUILDENV), cygwin)
-# winsup/include
-# winsup/../newlib/libc/include
-# winsup/../newlib/libc/sys/cygwin
-EXTRA_INCLUDES = -I$(srcdir)/../../include -I$(srcdir)/../../../newlib/libc/include -I$(srcdir)/../../../newlib/libc/sys/cygwin
-endif
-ifeq ($(BUILDENV), mingw)
-EXTRA_INCLUDES = -I$(srcdir)/../../mingw/include
-endif
-
-INCLUDES = -I$(srcdir)/../include -I$(srcdir)/../include/directx $(EXTRA_INCLUDES)
-
-CFLAGS = @CFLAGS@
-ALL_CFLAGS = $(CFLAGS) $(INCLUDES)
-
-RANLIB = @RANLIB@
-AR = @AR@
-LD = @LD@
-
-# end config section
-
-# headers
-
-HEADERS = $(notdir $(wildcard $(srcdir)/../../include/directx/*.h))
-
-# libraries
-
-DEF_FILES = $(notdir $(wildcard $(srcdir)/*.def))
-DIST_C_FILES = $(notdir $(wildcard $(srcdir)/*.c))
-DIST_H_FILES = $(notdir $(wildcard $(srcdir)/*.h))
-LIBS = libd3d8.a libd3d9.a libd3dim.a libd3drm.a libd3dx8d.a libd3dx9d.a \
- libd3dxof.a libddraw.a libdinput.a libdinput8.a libdmoguids.a \
- libdplayx.a libdpnaddr.a libdpnet.a libdpnlobby.a libdpvoice.a \
- libdsetup.a libdsound.a libdxerr8.a libdxerr9.a libdxguid.a \
- libksproxy.a libksuser.a libmsdmo.a libquartz.a libstrmiids.a
-DINPUT_OBJS = dinput_joy.o dinput_joy2.o dinput_kbd.o dinput_mouse.o \
- dinput_mouse2.o
-
-DISTFILES = Makefile.in $(DEF_FILES) $(DIST_C_FILES) $(DIST_H_FILES)
-
-.NOTPARALLEL:
-
-# targets
-all: $(LIBS)
-
-TEST_OPTIONS = $(ALL_CFLAGS) -Wall -pedantic -Wsystem-headers -c $(srcdir)/test.c -o test.o
-.PHONY: test
-test:
- @echo "Testing directx..."
- @for lang in c c++ objective-c ; do \
- echo "$$lang..."; \
- $(CC) -x$$lang $(TEST_OPTIONS) ; \
- echo "$$lang UNICODE..."; \
- $(CC) -x$$lang -DUNICODE $(TEST_OPTIONS) ; \
- done
- @echo "windres..."
- @$(WINDRES) --include-dir $(INCDIR) -i $(srcdir)/res.rc -o test.o
- @echo "windres UNICODE..."
- @$(WINDRES) --define UNICODE --include-dir $(INCDIR) -i $(srcdir)/res.rc -o test.o
- @rm -f test.o
-
-# make rules
-
-.SUFFIXES: .c .o .def .a
-
-.c.o:
- $(CC) -c $(ALL_CFLAGS) -o $@ $<
-
-libdxerr8.a: dxerr8.o dxerr8w.o
- $(AR) r $@ dxerr8.o dxerr8w.o
- $(RANLIB) $@
-
-libdxerr9.a: dxerr9.o dxerr9w.o
- $(AR) r $@ dxerr9.o dxerr9w.o
- $(RANLIB) $@
-
-libdinput.a: dinput.def $(DINPUT_OBJS)
- $(DLLTOOL) $(DLLTOOL_FLAGS) --output-lib $@ --def $(srcdir)/dinput.def
- $(AR) r $@ $(DINPUT_OBJS)
- $(RANLIB) $@
-
-libdinput8.a: dinput8.def $(DINPUT_OBJS)
- $(DLLTOOL) $(DLLTOOL_FLAGS) --output-lib $@ --def $(srcdir)/dinput8.def
- $(AR) r $@ $(DINPUT_OBJS)
- $(RANLIB) $@
-
-lib%.a: %.def %.o
- $(DLLTOOL) $(DLLTOOL_FLAGS) --output-lib $@ --def $(srcdir)/$*.def
- $(AR) r $@ $*.o
- $(RANLIB) $@
-
-lib%.a: %.def
- $(DLLTOOL) $(DLLTOOL_FLAGS) --output-lib $@ --def $<
-
-lib%.a: %.o
- $(AR) rc $@ $*.o
- $(RANLIB) $@
-
-# install headers and libraries in a target specified directory.
-install: install-libraries install-headers
-
-install-libraries: all
- $(mkinstalldirs) $(inst_libdir)
- for i in $(LIBS); do \
- $(INSTALL_DATA) $$i $(inst_libdir)/$$i ; \
- done
-
-install-headers:
- $(mkinstalldirs) $(inst_includedir)
- for i in $(HEADERS); do \
- $(INSTALL_DATA) $(srcdir)/../../include/directx/$$i $(inst_includedir)/$$i ; \
- done
-
-# uninstall headers and libraries from a target specified directory
-uninstall: uninstall-libraries uninstall-headers
-
-uninstall-libraries:
- @for i in $(LIBS); do \
- rm -f $(inst_libdir)/$$i ; \
- done
- rmdir $(inst_libdir)
-
-uninstall-headers:
- @for i in $(HEADERS); do \
- rm -r $(inst_includedir)/$$i ; \
- done
- rmdir $(inst_includedir)
-
-
-dist:
- mkdir $(distdir)/include/directx
- chmod 755 $(distdir)/include/directx
- @for i in $(HEADERS); do \
- cp -p $(srcdir)/../../include/directx/$$i $(distdir)/include/directx/$$i ; \
- done
- mkdir $(distdir)/lib/directx
- chmod 755 $(distdir)/lib/directx
- @for i in $(DISTFILES); do \
- cp -p $(srcdir)/$$i $(distdir)/lib/directx/$$i ; \
- done
-
-Makefile: Makefile.in ../../config.status ../../configure
- cd ../..; $(SHELL) config.status
-
-# clean
-
-mostlyclean:
- rm -f *~ *.o *.s
-
-clean:
- rm -f *.o *.a *.s *~
-
-distclean: clean
- rm -f config.cache config.status config.log Makefile
-
-maintainer-clean: distclean
diff --git a/winsup/w32api/lib/directx/d3d8.def b/winsup/w32api/lib/directx/d3d8.def
deleted file mode 100644
index 7a2040a10..000000000
--- a/winsup/w32api/lib/directx/d3d8.def
+++ /dev/null
@@ -1,6 +0,0 @@
-LIBRARY d3d8.dll
-EXPORTS
-DebugSetMute
-Direct3DCreate8@4
-_Z19ValidatePixelShaderPKmPK9_D3DCAPS8mPPc@16=ValidatePixelShader
-_Z20ValidateVertexShaderPKmS0_PK9_D3DCAPS8mPPc@20=ValidateVertexShader
diff --git a/winsup/w32api/lib/directx/d3d9.def b/winsup/w32api/lib/directx/d3d9.def
deleted file mode 100644
index 0abe343e9..000000000
--- a/winsup/w32api/lib/directx/d3d9.def
+++ /dev/null
@@ -1,8 +0,0 @@
-LIBRARY d3d9.dll
-EXPORTS
-DebugSetLevel
-DebugSetMute
-Direct3DCreate9@4
-_Z30Direct3DShaderValidatorCreate9v=Direct3DShaderValidatorCreate9
-_Z9PSGPErrorP21D3DFE_PROCESSVERTICES11PSGPERRORIDj@12=PSGPError
-_Z17PSGPSampleTextureP21D3DFE_PROCESSVERTICESjPA4_fjS2_@20=PSGPSampleTexture
diff --git a/winsup/w32api/lib/directx/d3dim.def b/winsup/w32api/lib/directx/d3dim.def
deleted file mode 100644
index 62083d755..000000000
--- a/winsup/w32api/lib/directx/d3dim.def
+++ /dev/null
@@ -1,15 +0,0 @@
-LIBRARY d3dim.dll
-EXPORTS
-;D3DFree
-;D3DMalloc
-;D3DRealloc
-Direct3DCreate@12
-;Direct3DCreateDevice
-;Direct3DCreateTexture
-;Direct3DGetSWRastZPixFmts
-Direct3D_HALCleanUp@8
-FlushD3DDevices@4
-FlushD3DDevices2@4
-PaletteAssociateNotify@16
-PaletteUpdateNotify@20
-SurfaceFlipNotify@4
diff --git a/winsup/w32api/lib/directx/d3drm.def b/winsup/w32api/lib/directx/d3drm.def
deleted file mode 100644
index 47e363a3f..000000000
--- a/winsup/w32api/lib/directx/d3drm.def
+++ /dev/null
@@ -1,23 +0,0 @@
-LIBRARY d3drm.dll
-EXPORTS
-D3DRMColorGetAlpha@4
-D3DRMColorGetBlue@4
-D3DRMColorGetGreen@4
-D3DRMColorGetRed@4
-D3DRMCreateColorRGB@12
-D3DRMCreateColorRGBA@16
-D3DRMMatrixFromQuaternion@8
-D3DRMQuaternionFromRotation@12
-D3DRMQuaternionMultiply@12
-D3DRMQuaternionSlerp@16
-D3DRMVectorAdd@12
-D3DRMVectorCrossProduct@12
-D3DRMVectorDotProduct@8
-D3DRMVectorModulus@4
-D3DRMVectorNormalize@4
-D3DRMVectorRandom@4
-D3DRMVectorReflect@12
-D3DRMVectorRotate@16
-D3DRMVectorScale@12
-D3DRMVectorSubtract@12
-Direct3DRMCreate@4
diff --git a/winsup/w32api/lib/directx/d3dx8d.def b/winsup/w32api/lib/directx/d3dx8d.def
deleted file mode 100644
index 17660fff0..000000000
--- a/winsup/w32api/lib/directx/d3dx8d.def
+++ /dev/null
@@ -1,208 +0,0 @@
-LIBRARY d3dx8d.dll
-EXPORTS
-D3DXAssembleShader@24
-D3DXAssembleShaderFromFileA@20
-D3DXAssembleShaderFromFileW@20
-D3DXAssembleShaderFromResourceA@24
-D3DXAssembleShaderFromResourceW@24
-D3DXBoxBoundProbe@16
-D3DXCheckCubeTextureRequirements@24
-D3DXCheckTextureRequirements@28
-D3DXCheckVolumeTextureRequirements@32
-D3DXCleanMesh@20
-D3DXColorAdjustContrast@12
-D3DXColorAdjustSaturation@12
-D3DXCompileEffect@16
-D3DXCompileEffectFromFileA@12
-D3DXCompileEffectFromFileW@12
-D3DXComputeBoundingBox@20
-D3DXComputeBoundingSphere@20
-D3DXComputeNormalMap@24
-D3DXComputeNormals@8
-D3DXComputeTangent@28
-D3DXConvertMeshSubsetToSingleStrip@20
-D3DXConvertMeshSubsetToStrips@28
-D3DXCpuOptimizations@4
-D3DXCreateBox@24
-D3DXCreateBuffer@8
-D3DXCreateCubeTexture@28
-D3DXCreateCubeTextureFromFileA@12
-D3DXCreateCubeTextureFromFileExA@52
-D3DXCreateCubeTextureFromFileExW@52
-D3DXCreateCubeTextureFromFileInMemory@16
-D3DXCreateCubeTextureFromFileInMemoryEx@56
-D3DXCreateCubeTextureFromFileW@12
-D3DXCreateCubeTextureFromResourceA@16
-D3DXCreateCubeTextureFromResourceExA@56
-D3DXCreateCubeTextureFromResourceExW@56
-D3DXCreateCubeTextureFromResourceW@16
-D3DXCreateCylinder@32
-D3DXCreateEffect@20
-D3DXCreateEffectFromFileA@16
-D3DXCreateEffectFromFileW@16
-D3DXCreateEffectFromResourceA@16
-D3DXCreateEffectFromResourceW@16
-D3DXCreateFont@12
-D3DXCreateFontIndirect@12
-D3DXCreateMatrixStack@8
-D3DXCreateMesh@24
-D3DXCreateMeshFVF@24
-D3DXCreatePMeshFromStream@24
-D3DXCreatePolygon@20
-D3DXCreateRenderToEnvMap@24
-D3DXCreateRenderToSurface@28
-D3DXCreateSPMesh@20
-D3DXCreateSkinMesh@28
-D3DXCreateSkinMeshFVF@28
-D3DXCreateSkinMeshFromMesh@12
-D3DXCreateSphere@24
-D3DXCreateSprite@8
-D3DXCreateTeapot@12
-D3DXCreateTextA@32
-D3DXCreateTextW@32
-D3DXCreateTexture@32
-D3DXCreateTextureFromFileA@12
-D3DXCreateTextureFromFileExA@56
-D3DXCreateTextureFromFileExW@56
-D3DXCreateTextureFromFileInMemory@16
-D3DXCreateTextureFromFileInMemoryEx@60
-D3DXCreateTextureFromFileW@12
-D3DXCreateTextureFromResourceA@16
-D3DXCreateTextureFromResourceExA@60
-D3DXCreateTextureFromResourceExW@60
-D3DXCreateTextureFromResourceW@16
-D3DXCreateTorus@28
-D3DXCreateVolumeTexture@36
-D3DXCreateVolumeTextureFromFileA@12
-D3DXCreateVolumeTextureFromFileExA@56
-D3DXCreateVolumeTextureFromFileExW@56
-D3DXCreateVolumeTextureFromFileInMemory@16
-D3DXCreateVolumeTextureFromFileInMemoryEx@60
-D3DXCreateVolumeTextureFromFileW@12
-D3DXCreateVolumeTextureFromResourceA@16
-D3DXCreateVolumeTextureFromResourceExA@60
-D3DXCreateVolumeTextureFromResourceExW@60
-D3DXCreateVolumeTextureFromResourceW@16
-D3DXDeclaratorFromFVF@8
-D3DXFVFFromDeclarator@8
-D3DXFilterCubeTexture@16
-D3DXFillCubeTexture@12
-D3DXFillTexture@12
-D3DXFillVolumeTexture@12
-D3DXFilterTexture@16
-D3DXFresnelTerm@8
-D3DXFilterVolumeTexture@16
-D3DXGeneratePMesh@28
-D3DXGetErrorStringA@12
-D3DXGetErrorStringW@12
-D3DXGetFVFVertexSize@4
-D3DXGetImageInfoFromFileA@8
-D3DXGetImageInfoFromFileInMemory@12
-D3DXGetImageInfoFromFileW@8
-D3DXGetImageInfoFromResourceA@12
-D3DXGetImageInfoFromResourceW@12
-D3DXIntersect@40
-D3DXIntersectSubset@44
-D3DXIntersectTri@32
-D3DXLoadMeshFromX@28
-D3DXLoadMeshFromXInMemory@32
-D3DXLoadMeshFromXResource@36
-D3DXLoadMeshFromXof@28
-D3DXLoadSkinMeshFromXof@36
-D3DXLoadSurfaceFromFileA@32
-D3DXLoadSurfaceFromFileInMemory@36
-D3DXLoadSurfaceFromFileW@32
-D3DXLoadSurfaceFromMemory@40
-D3DXLoadSurfaceFromResourceA@36
-D3DXLoadSurfaceFromResourceW@36
-D3DXLoadSurfaceFromSurface@32
-D3DXLoadVolumeFromFileA@32
-D3DXLoadVolumeFromFileInMemory@36
-D3DXLoadVolumeFromFileW@32
-D3DXLoadVolumeFromMemory@44
-D3DXLoadVolumeFromResourceA@36
-D3DXLoadVolumeFromResourceW@36
-D3DXLoadVolumeFromVolume@32
-D3DXMatrixAffineTransformation@20
-D3DXMatrixInverse@12
-D3DXMatrixLookAtLH@16
-D3DXMatrixLookAtRH@16
-D3DXMatrixMultiply@12
-D3DXMatrixMultiplyTranspose@12
-D3DXMatrixOrthoLH@20
-D3DXMatrixOrthoOffCenterLH@28
-D3DXMatrixOrthoOffCenterRH@28
-D3DXMatrixOrthoRH@20
-D3DXMatrixPerspectiveFovLH@20
-D3DXMatrixPerspectiveFovRH@20
-D3DXMatrixPerspectiveLH@20
-D3DXMatrixPerspectiveOffCenterLH@28
-D3DXMatrixPerspectiveOffCenterRH@28
-D3DXMatrixPerspectiveRH@20
-D3DXMatrixReflect@8
-D3DXMatrixRotationAxis@12
-D3DXMatrixRotationQuaternion@8
-D3DXMatrixRotationX@8
-D3DXMatrixRotationY@8
-D3DXMatrixRotationYawPitchRoll@16
-D3DXMatrixRotationZ@8
-D3DXMatrixScaling@16
-D3DXMatrixShadow@12
-D3DXMatrixTransformation@28
-D3DXMatrixTranslation@16
-D3DXMatrixTranspose@8
-D3DXMatrixfDeterminant@4
-D3DXPlaneFromPointNormal@12
-D3DXPlaneFromPoints@16
-D3DXPlaneIntersectLine@16
-D3DXPlaneNormalize@8
-D3DXPlaneTransform@12
-D3DXQuaternionBaryCentric@24
-D3DXQuaternionExp@8
-D3DXQuaternionInverse@8
-D3DXQuaternionLn@8
-D3DXQuaternionMultiply@12
-D3DXQuaternionNormalize@8
-D3DXQuaternionRotationAxis@12
-D3DXQuaternionRotationMatrix@8
-D3DXQuaternionRotationYawPitchRoll@16
-D3DXQuaternionSlerp@16
-D3DXQuaternionSquad@24
-D3DXQuaternionSquadSetup@28
-D3DXQuaternionToAxisAngle@12
-D3DXSaveMeshToX@24
-D3DXSaveSurfaceToFileA@20
-D3DXSaveSurfaceToFileW@20
-D3DXSaveTextureToFileA@16
-D3DXSaveTextureToFileW@16
-D3DXSaveVolumeToFileA@20
-D3DXSaveVolumeToFileW@20
-D3DXSimplifyMesh@28
-D3DXSphereBoundProbe@16
-D3DXTesselateMesh@20
-D3DXSplitMesh@36
-D3DXTessellateNPatches@24
-D3DXValidMesh@12
-D3DXVec2BaryCentric@24
-D3DXVec2CatmullRom@24
-D3DXVec2Hermite@24
-D3DXVec2Normalize@8
-D3DXVec2Transform@12
-D3DXVec2TransformCoord@12
-D3DXVec2TransformNormal@12
-D3DXVec3BaryCentric@24
-D3DXVec3CatmullRom@24
-D3DXVec3Hermite@24
-D3DXVec3Normalize@8
-D3DXVec3Project@24
-D3DXVec3Transform@12
-D3DXVec3TransformCoord@12
-D3DXVec3TransformNormal@12
-D3DXVec3Unproject@24
-D3DXVec4BaryCentric@24
-D3DXVec4CatmullRom@24
-D3DXVec4Cross@16
-D3DXVec4Hermite@24
-D3DXVec4Normalize@8
-D3DXVec4Transform@12
-D3DXWeldVertices@24
diff --git a/winsup/w32api/lib/directx/d3dx9d.def b/winsup/w32api/lib/directx/d3dx9d.def
deleted file mode 100644
index f8aeaec5e..000000000
--- a/winsup/w32api/lib/directx/d3dx9d.def
+++ /dev/null
@@ -1,269 +0,0 @@
-LIBRARY d3dx9d.dll
-EXPORTS
-D3DXAssembleShader@28
-D3DXAssembleShaderFromFileA@24
-D3DXAssembleShaderFromFileW@24
-D3DXAssembleShaderFromResourceA@28
-D3DXAssembleShaderFromResourceW@28
-D3DXBoxBoundProbe@16
-D3DXCheckCubeTextureRequirements@24
-D3DXCheckTextureRequirements@28
-D3DXCheckVersion@8
-D3DXCheckVolumeTextureRequirements@32
-D3DXCleanMesh@20
-D3DXColorAdjustContrast@12
-D3DXColorAdjustSaturation@12
-D3DXCompileShader@40
-D3DXCompileShaderFromFileA@36
-D3DXCompileShaderFromFileW@36
-D3DXCompileShaderFromResourceA@40
-D3DXCompileShaderFromResourceW@40
-D3DXComputeBoundingBox@20
-D3DXComputeBoundingSphere@20
-D3DXComputeNormalMap@24
-D3DXComputeNormals@8
-D3DXComputeTangent@24
-D3DXConvertMeshSubsetToSingleStrip@20
-D3DXConvertMeshSubsetToStrips@28
-D3DXCpuOptimizations@4
-D3DXCreateAnimationController@20
-D3DXCreateAnimationSet@16
-D3DXCreateBox@24
-D3DXCreateBuffer@8
-D3DXCreateCubeTexture@28
-D3DXCreateCubeTextureFromFileA@12
-D3DXCreateCubeTextureFromFileExA@52
-D3DXCreateCubeTextureFromFileExW@52
-D3DXCreateCubeTextureFromFileInMemory@16
-D3DXCreateCubeTextureFromFileInMemoryEx@56
-D3DXCreateCubeTextureFromFileW@12
-D3DXCreateCubeTextureFromResourceA@16
-D3DXCreateCubeTextureFromResourceExA@56
-D3DXCreateCubeTextureFromResourceExW@56
-D3DXCreateCubeTextureFromResourceW@16
-D3DXCreateCylinder@32
-D3DXCreateEffect@36
-D3DXCreateEffectCompiler@28
-D3DXCreateEffectCompilerFromFileA@24
-D3DXCreateEffectCompilerFromFileW@24
-D3DXCreateEffectCompilerFromResourceA@28
-D3DXCreateEffectCompilerFromResourceW@28
-D3DXCreateEffectFromFileA@32
-D3DXCreateEffectFromFileW@32
-D3DXCreateEffectFromResourceA@36
-D3DXCreateEffectFromResourceW@36
-D3DXCreateEffectPool@4
-D3DXCreateFont@12
-D3DXCreateFontIndirect@12
-D3DXCreateFragmentLinker@12
-D3DXCreateKeyFrameInterpolator@40
-D3DXCreateLine@8
-D3DXCreateMatrixStack@8
-D3DXCreateMesh@24
-D3DXCreateMeshFVF@24
-D3DXCreateNPatchMesh@8
-D3DXCreatePMeshFromStream@28
-D3DXCreatePatchMesh@28
-D3DXCreatePolygon@20
-D3DXCreateRenderToEnvMap@28
-D3DXCreateRenderToSurface@28
-D3DXCreateSPMesh@20
-D3DXCreateSkinInfo@16
-D3DXCreateSkinInfoFVF@16
-D3DXCreateSkinInfoFromBlendedMesh@16
-D3DXCreateSphere@24
-D3DXCreateSprite@8
-D3DXCreateTeapot@12
-D3DXCreateTextA@32
-D3DXCreateTextW@32
-D3DXCreateTexture@32
-D3DXCreateTextureFromFileA@12
-D3DXCreateTextureFromFileExA@56
-D3DXCreateTextureFromFileExW@56
-D3DXCreateTextureFromFileInMemory@16
-D3DXCreateTextureFromFileInMemoryEx@60
-D3DXCreateTextureFromFileW@12
-D3DXCreateTextureFromResourceA@16
-D3DXCreateTextureFromResourceExA@60
-D3DXCreateTextureFromResourceExW@60
-D3DXCreateTextureFromResourceW@16
-D3DXCreateTorus@28
-D3DXCreateVolumeTexture@36
-D3DXCreateVolumeTextureFromFileA@12
-D3DXCreateVolumeTextureFromFileExA@60
-D3DXCreateVolumeTextureFromFileExW@60
-D3DXCreateVolumeTextureFromFileInMemory@16
-D3DXCreateVolumeTextureFromFileInMemoryEx@64
-D3DXCreateVolumeTextureFromFileW@12
-D3DXCreateVolumeTextureFromResourceA@16
-D3DXCreateVolumeTextureFromResourceExA@64
-D3DXCreateVolumeTextureFromResourceExW@64
-D3DXCreateVolumeTextureFromResourceW@16
-D3DXDeclaratorFromFVF@8
-D3DXFVFFromDeclarator@8
-D3DXFillCubeTexture@12
-D3DXFillCubeTextureTX@16
-D3DXFillTexture@12
-D3DXFillTextureTX@16
-D3DXFillVolumeTexture@12
-D3DXFillVolumeTextureTX@16
-D3DXFilterTexture@16
-D3DXFindShaderComment@16
-D3DXFloat16To32Array@12
-D3DXFloat32To16Array@12
-D3DXFrameAppendChild@8
-D3DXFrameCalculateBoundingSphere@12
-D3DXFrameDestroy@8
-D3DXFrameFind@8
-D3DXFrameNumNamedMatrices@4
-D3DXFrameRegisterNamedMatrices@8
-D3DXFresnelTerm@8
-D3DXGatherFragments@28
-D3DXGatherFragmentsFromFileA@24
-D3DXGatherFragmentsFromFileW@24
-D3DXGatherFragmentsFromResourceA@28
-D3DXGatherFragmentsFromResourceW@28
-D3DXGenerateOutputDecl@8
-D3DXGeneratePMesh@28
-D3DXGetDeclLength@4
-D3DXGetDeclVertexSize@8
-D3DXGetFVFVertexSize@4
-D3DXGetImageInfoFromFileA@8
-D3DXGetImageInfoFromFileInMemory@12
-D3DXGetImageInfoFromFileW@8
-D3DXGetImageInfoFromResourceA@12
-D3DXGetImageInfoFromResourceW@12
-D3DXGetShaderConstantTable@8
-D3DXGetShaderDebugInfo@8
-D3DXGetShaderInputSemantics@12
-D3DXGetShaderOutputSemantics@12
-D3DXGetShaderSamplers@12
-D3DXGetTargetDescByName@12
-D3DXGetTargetDescByVersion@12
-D3DXIntersect@40
-D3DXIntersectSubset@44
-D3DXIntersectTri@32
-D3DXLoadMeshFromXA@32
-D3DXLoadMeshFromXInMemory@36
-D3DXLoadMeshFromXResource@40
-D3DXLoadMeshFromXW@32
-D3DXLoadMeshFromXof@32
-D3DXLoadMeshHierarchyFromXA@28
-D3DXLoadMeshHierarchyFromXInMemory@32
-D3DXLoadMeshHierarchyFromXW@28
-D3DXLoadPatchMeshFromXof@28
-D3DXLoadSkinMeshFromXof@36
-D3DXLoadSurfaceFromFileA@32
-D3DXLoadSurfaceFromFileInMemory@36
-D3DXLoadSurfaceFromFileW@32
-D3DXLoadSurfaceFromMemory@40
-D3DXLoadSurfaceFromResourceA@36
-D3DXLoadSurfaceFromResourceW@36
-D3DXLoadSurfaceFromSurface@32
-D3DXLoadVolumeFromFileA@32
-D3DXLoadVolumeFromFileInMemory@36
-D3DXLoadVolumeFromFileW@32
-D3DXLoadVolumeFromMemory@44
-D3DXLoadVolumeFromResourceA@36
-D3DXLoadVolumeFromResourceW@36
-D3DXLoadVolumeFromVolume@32
-D3DXMatrixAffineTransformation@20
-D3DXMatrixDeterminant@4
-D3DXMatrixInverse@12
-D3DXMatrixLookAtLH@16
-D3DXMatrixLookAtRH@16
-D3DXMatrixMultiply@12
-D3DXMatrixMultiplyTranspose@12
-D3DXMatrixOrthoLH@20
-D3DXMatrixOrthoOffCenterLH@28
-D3DXMatrixOrthoOffCenterRH@28
-D3DXMatrixOrthoRH@20
-D3DXMatrixPerspectiveFovLH@20
-D3DXMatrixPerspectiveFovRH@20
-D3DXMatrixPerspectiveLH@20
-D3DXMatrixPerspectiveOffCenterLH@28
-D3DXMatrixPerspectiveOffCenterRH@28
-D3DXMatrixPerspectiveRH@20
-D3DXMatrixReflect@8
-D3DXMatrixRotationAxis@12
-D3DXMatrixRotationQuaternion@8
-D3DXMatrixRotationX@8
-D3DXMatrixRotationY@8
-D3DXMatrixRotationYawPitchRoll@16
-D3DXMatrixRotationZ@8
-D3DXMatrixScaling@16
-D3DXMatrixShadow@12
-D3DXMatrixTransformation@28
-D3DXMatrixTranslation@16
-D3DXMatrixTranspose@8
-D3DXPlaneFromPointNormal@12
-D3DXPlaneFromPoints@16
-D3DXPlaneIntersectLine@16
-D3DXPlaneNormalize@8
-D3DXPlaneTransform@12
-D3DXPlaneTransformArray@24
-D3DXQuaternionBaryCentric@24
-D3DXQuaternionExp@8
-D3DXQuaternionInverse@8
-D3DXQuaternionLn@8
-D3DXQuaternionMultiply@12
-D3DXQuaternionNormalize@8
-D3DXQuaternionRotationAxis@12
-D3DXQuaternionRotationMatrix@8
-D3DXQuaternionRotationYawPitchRoll@16
-D3DXQuaternionSlerp@16
-D3DXQuaternionSquad@24
-D3DXQuaternionSquadSetup@28
-D3DXQuaternionToAxisAngle@12
-D3DXRectPatchSize@12
-D3DXSaveMeshHierarchyToFileA@20
-D3DXSaveMeshHierarchyToFileW@20
-D3DXSaveMeshToXA@28
-D3DXSaveMeshToXW@28
-D3DXSaveSurfaceToFileA@20
-D3DXSaveSurfaceToFileW@20
-D3DXSaveTextureToFileA@16
-D3DXSaveTextureToFileW@16
-D3DXSaveVolumeToFileA@20
-D3DXSaveVolumeToFileW@20
-D3DXSimplifyMesh@28
-D3DXSphereBoundProbe@16
-D3DXSplitMesh@36
-D3DXTessellateNPatches@24
-D3DXTessellateRectPatch@20
-D3DXTessellateTriPatch@20
-D3DXTriPatchSize@12
-D3DXValidMesh@12
-D3DXValidPatchMesh@16
-D3DXVec2BaryCentric@24
-D3DXVec2CatmullRom@24
-D3DXVec2Hermite@24
-D3DXVec2Normalize@8
-D3DXVec2Transform@12
-D3DXVec2TransformArray@24
-D3DXVec2TransformCoord@12
-D3DXVec2TransformCoordArray@24
-D3DXVec2TransformNormal@12
-D3DXVec2TransformNormalArray@24
-D3DXVec3BaryCentric@24
-D3DXVec3CatmullRom@24
-D3DXVec3Hermite@24
-D3DXVec3Normalize@8
-D3DXVec3Project@24
-D3DXVec3ProjectArray@36
-D3DXVec3Transform@12
-D3DXVec3TransformArray@24
-D3DXVec3TransformCoord@12
-D3DXVec3TransformCoordArray@24
-D3DXVec3TransformNormal@12
-D3DXVec3TransformNormalArray@24
-D3DXVec3Unproject@24
-D3DXVec3UnprojectArray@36
-D3DXVec4BaryCentric@24
-D3DXVec4CatmullRom@24
-D3DXVec4Cross@16
-D3DXVec4Hermite@24
-D3DXVec4Normalize@8
-D3DXVec4Transform@12
-D3DXVec4TransformArray@24
-D3DXWeldVertices@28
diff --git a/winsup/w32api/lib/directx/d3dxof.def b/winsup/w32api/lib/directx/d3dxof.def
deleted file mode 100644
index 674139d6a..000000000
--- a/winsup/w32api/lib/directx/d3dxof.def
+++ /dev/null
@@ -1,3 +0,0 @@
-LIBRARY d3dxof.dll
-EXPORTS
-DirectXFileCreate@4
diff --git a/winsup/w32api/lib/directx/ddraw.def b/winsup/w32api/lib/directx/ddraw.def
deleted file mode 100644
index fdf57c18b..000000000
--- a/winsup/w32api/lib/directx/ddraw.def
+++ /dev/null
@@ -1,15 +0,0 @@
-LIBRARY ddraw.dll
-EXPORTS
-DDGetAttachedSurfaceLcl@12
-DDInternalLock@8
-DDInternalUnlock@4
-DSoundHelp@12
-DirectDrawCreate@12
-DirectDrawCreateClipper@12
-DirectDrawCreateEx@16
-DirectDrawEnumerateA@8
-DirectDrawEnumerateExA@12
-DirectDrawEnumerateExW@12
-DirectDrawEnumerateW@8
-GetDDSurfaceLocal@12
-GetSurfaceFromDC@12
diff --git a/winsup/w32api/lib/directx/dinput.def b/winsup/w32api/lib/directx/dinput.def
deleted file mode 100644
index 249f56b60..000000000
--- a/winsup/w32api/lib/directx/dinput.def
+++ /dev/null
@@ -1,5 +0,0 @@
-LIBRARY dinput.dll
-EXPORTS
-DirectInputCreateA@16
-DirectInputCreateEx@20
-DirectInputCreateW@16
diff --git a/winsup/w32api/lib/directx/dinput8.def b/winsup/w32api/lib/directx/dinput8.def
deleted file mode 100644
index a36cc53e0..000000000
--- a/winsup/w32api/lib/directx/dinput8.def
+++ /dev/null
@@ -1,3 +0,0 @@
-LIBRARY dinput8.dll
-EXPORTS
-DirectInput8Create@20
diff --git a/winsup/w32api/lib/directx/dinput_joy.c b/winsup/w32api/lib/directx/dinput_joy.c
deleted file mode 100644
index e2a6f9fce..000000000
--- a/winsup/w32api/lib/directx/dinput_joy.c
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
-
- dinput_joy.c - DirectInput Joystick DATAFORMAT
-
- Written by Filip Navara <xnavara@volny.cz>
-
- This library 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.
-
-*/
-
-#include "dinput_private.h"
-
-static DIOBJECTDATAFORMAT ATTRIBUTE_TEXT_SECTION c_rgodfDIJoy[] =
-{
- {&GUID_XAxis,0x0,DIDFT_ABSAXIS|DIDFT_RELAXIS|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,DIDOI_ASPECTPOSITION},
- {&GUID_YAxis,0x4,DIDFT_ABSAXIS|DIDFT_RELAXIS|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,DIDOI_ASPECTPOSITION},
- {&GUID_ZAxis,0x8,DIDFT_ABSAXIS|DIDFT_RELAXIS|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,DIDOI_ASPECTPOSITION},
- {&GUID_RxAxis,0xc,DIDFT_ABSAXIS|DIDFT_RELAXIS|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,DIDOI_ASPECTPOSITION},
- {&GUID_RyAxis,0x10,DIDFT_ABSAXIS|DIDFT_RELAXIS|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,DIDOI_ASPECTPOSITION},
- {&GUID_RzAxis,0x14,DIDFT_ABSAXIS|DIDFT_RELAXIS|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,DIDOI_ASPECTPOSITION},
- {&GUID_Slider,0x18,DIDFT_ABSAXIS|DIDFT_RELAXIS|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,DIDOI_ASPECTPOSITION},
- {&GUID_Slider,0x1c,DIDFT_ABSAXIS|DIDFT_RELAXIS|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,DIDOI_ASPECTPOSITION},
- {&GUID_POV,0x20,DIDFT_POV|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {&GUID_POV,0x24,DIDFT_POV|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {&GUID_POV,0x28,DIDFT_POV|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {&GUID_POV,0x2c,DIDFT_POV|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x30,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x31,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x32,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x33,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x34,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x35,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x36,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x37,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x38,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x39,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x3a,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x3b,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x3c,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x3d,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x3e,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x3f,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x40,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x41,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x42,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x43,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x44,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x45,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x46,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x47,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x48,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x49,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x4a,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x4b,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x4c,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x4d,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x4e,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x4f,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0}
-};
-
-const DIDATAFORMAT c_dfDIJoystick = {sizeof(DIDATAFORMAT),sizeof(DIOBJECTDATAFORMAT),DIDF_ABSAXIS,80,sizeof(c_rgodfDIJoy)/sizeof(c_rgodfDIJoy[0]),c_rgodfDIJoy};
diff --git a/winsup/w32api/lib/directx/dinput_joy2.c b/winsup/w32api/lib/directx/dinput_joy2.c
deleted file mode 100644
index 3c27abd33..000000000
--- a/winsup/w32api/lib/directx/dinput_joy2.c
+++ /dev/null
@@ -1,183 +0,0 @@
-/*
-
- dinput_joy2.c - DirectInput Joystick 2 DATAFORMAT
-
- Written by Filip Navara <xnavara@volny.cz>
-
- This library 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.
-
-*/
-
-#include "dinput_private.h"
-
-static DIOBJECTDATAFORMAT ATTRIBUTE_TEXT_SECTION c_rgodfDIJoy2[] =
-{
- {&GUID_XAxis,0x0,DIDFT_ABSAXIS|DIDFT_RELAXIS|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,DIDOI_ASPECTPOSITION},
- {&GUID_YAxis,0x4,DIDFT_ABSAXIS|DIDFT_RELAXIS|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,DIDOI_ASPECTPOSITION},
- {&GUID_ZAxis,0x8,DIDFT_ABSAXIS|DIDFT_RELAXIS|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,DIDOI_ASPECTPOSITION},
- {&GUID_RxAxis,0xc,DIDFT_ABSAXIS|DIDFT_RELAXIS|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,DIDOI_ASPECTPOSITION},
- {&GUID_RyAxis,0x10,DIDFT_ABSAXIS|DIDFT_RELAXIS|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,DIDOI_ASPECTPOSITION},
- {&GUID_RzAxis,0x14,DIDFT_ABSAXIS|DIDFT_RELAXIS|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,DIDOI_ASPECTPOSITION},
- {&GUID_Slider,0x18,DIDFT_ABSAXIS|DIDFT_RELAXIS|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,DIDOI_ASPECTPOSITION},
- {&GUID_Slider,0x1c,DIDFT_ABSAXIS|DIDFT_RELAXIS|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,DIDOI_ASPECTPOSITION},
- {&GUID_POV,0x20,DIDFT_POV|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {&GUID_POV,0x24,DIDFT_POV|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {&GUID_POV,0x28,DIDFT_POV|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {&GUID_POV,0x2c,DIDFT_POV|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x30,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x31,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x32,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x33,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x34,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x35,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x36,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x37,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x38,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x39,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x3a,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x3b,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x3c,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x3d,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x3e,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x3f,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x40,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x41,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x42,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x43,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x44,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x45,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x46,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x47,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x48,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x49,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x4a,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x4b,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x4c,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x4d,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x4e,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x4f,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x50,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x51,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x52,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x53,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x54,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x55,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x56,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x57,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x58,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x59,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x5a,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x5b,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x5c,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x5d,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x5e,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x5f,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x60,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x61,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x62,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x63,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x64,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x65,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x66,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x67,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x68,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x69,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x6a,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x6b,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x6c,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x6d,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x6e,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x6f,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x70,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x71,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x72,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x73,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x74,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x75,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x76,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x77,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x78,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x79,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x7a,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x7b,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x7c,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x7d,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x7e,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x7f,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x80,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x81,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x82,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x83,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x84,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x85,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x86,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x87,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x88,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x89,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x8a,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x8b,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x8c,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x8d,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x8e,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x8f,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x90,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x91,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x92,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x93,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x94,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x95,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x96,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x97,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x98,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x99,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x9a,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x9b,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x9c,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x9d,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x9e,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x9f,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0xa0,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0xa1,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0xa2,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0xa3,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0xa4,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0xa5,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0xa6,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0xa7,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0xa8,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0xa9,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0xaa,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0xab,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0xac,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0xad,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0xae,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0xaf,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {&GUID_XAxis,0xb0,DIDFT_ABSAXIS|DIDFT_RELAXIS|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,DIDOI_ASPECTVELOCITY},
- {&GUID_YAxis,0xb4,DIDFT_ABSAXIS|DIDFT_RELAXIS|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,DIDOI_ASPECTVELOCITY},
- {&GUID_ZAxis,0xb8,DIDFT_ABSAXIS|DIDFT_RELAXIS|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,DIDOI_ASPECTVELOCITY},
- {&GUID_RxAxis,0xbc,DIDFT_ABSAXIS|DIDFT_RELAXIS|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,DIDOI_ASPECTVELOCITY},
- {&GUID_RyAxis,0xc0,DIDFT_ABSAXIS|DIDFT_RELAXIS|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,DIDOI_ASPECTVELOCITY},
- {&GUID_RzAxis,0xc4,DIDFT_ABSAXIS|DIDFT_RELAXIS|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,DIDOI_ASPECTVELOCITY},
- {&GUID_Slider,0x18,DIDFT_ABSAXIS|DIDFT_RELAXIS|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,DIDOI_ASPECTVELOCITY},
- {&GUID_Slider,0x1c,DIDFT_ABSAXIS|DIDFT_RELAXIS|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,DIDOI_ASPECTVELOCITY},
- {&GUID_XAxis,0xd0,DIDFT_ABSAXIS|DIDFT_RELAXIS|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,DIDOI_ASPECTACCEL},
- {&GUID_YAxis,0xd4,DIDFT_ABSAXIS|DIDFT_RELAXIS|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,DIDOI_ASPECTACCEL},
- {&GUID_ZAxis,0xd8,DIDFT_ABSAXIS|DIDFT_RELAXIS|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,DIDOI_ASPECTACCEL},
- {&GUID_RxAxis,0xdc,DIDFT_ABSAXIS|DIDFT_RELAXIS|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,DIDOI_ASPECTACCEL},
- {&GUID_RyAxis,0xe0,DIDFT_ABSAXIS|DIDFT_RELAXIS|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,DIDOI_ASPECTACCEL},
- {&GUID_RzAxis,0xe4,DIDFT_ABSAXIS|DIDFT_RELAXIS|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,DIDOI_ASPECTACCEL},
- {&GUID_Slider,0x18,DIDFT_ABSAXIS|DIDFT_RELAXIS|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,DIDOI_ASPECTACCEL},
- {&GUID_Slider,0x1c,DIDFT_ABSAXIS|DIDFT_RELAXIS|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,DIDOI_ASPECTACCEL},
- {&GUID_XAxis,0xf0,DIDFT_ABSAXIS|DIDFT_RELAXIS|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,DIDOI_ASPECTFORCE},
- {&GUID_YAxis,0xf4,DIDFT_ABSAXIS|DIDFT_RELAXIS|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,DIDOI_ASPECTFORCE},
- {&GUID_ZAxis,0xf8,DIDFT_ABSAXIS|DIDFT_RELAXIS|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,DIDOI_ASPECTFORCE},
- {&GUID_RxAxis,0xfc,DIDFT_ABSAXIS|DIDFT_RELAXIS|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,DIDOI_ASPECTFORCE},
- {&GUID_RyAxis,0x100,DIDFT_ABSAXIS|DIDFT_RELAXIS|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,DIDOI_ASPECTFORCE},
- {&GUID_RzAxis,0x104,DIDFT_ABSAXIS|DIDFT_RELAXIS|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,DIDOI_ASPECTFORCE},
- {&GUID_Slider,0x18,DIDFT_ABSAXIS|DIDFT_RELAXIS|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,DIDOI_ASPECTFORCE},
- {&GUID_Slider,0x1c,DIDFT_ABSAXIS|DIDFT_RELAXIS|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,DIDOI_ASPECTFORCE}
-};
-
-const DIDATAFORMAT c_dfDIJoystick2 = {sizeof(DIDATAFORMAT),sizeof(DIOBJECTDATAFORMAT),DIDF_ABSAXIS,272,sizeof(c_rgodfDIJoy2)/sizeof(c_rgodfDIJoy2[0]),c_rgodfDIJoy2};
diff --git a/winsup/w32api/lib/directx/dinput_kbd.c b/winsup/w32api/lib/directx/dinput_kbd.c
deleted file mode 100644
index 88cac861c..000000000
--- a/winsup/w32api/lib/directx/dinput_kbd.c
+++ /dev/null
@@ -1,275 +0,0 @@
-/*
-
- dinput_kbd.c - DirectInput Keyboard DATAFORMAT
-
- Written by Filip Navara <xnavara@volny.cz>
-
- This library 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.
-
-*/
-
-#include "dinput_private.h"
-
-static DIOBJECTDATAFORMAT ATTRIBUTE_TEXT_SECTION c_rgodfDIKeyboard[] =
-{
- {&GUID_Key,0x0,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x0)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x1,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x1)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x2,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x2)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x3,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x3)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x4,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x4)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x5,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x5)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x6,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x6)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x7,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x7)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x8,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x8)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x9,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x9)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0xa,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xa)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0xb,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xb)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0xc,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xc)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0xd,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xd)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0xe,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xe)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0xf,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xf)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x10,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x10)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x11,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x11)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x12,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x12)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x13,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x13)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x14,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x14)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x15,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x15)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x16,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x16)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x17,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x17)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x18,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x18)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x19,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x19)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x1a,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x1a)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x1b,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x1b)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x1c,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x1c)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x1d,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x1d)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x1e,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x1e)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x1f,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x1f)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x20,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x20)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x21,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x21)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x22,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x22)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x23,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x23)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x24,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x24)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x25,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x25)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x26,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x26)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x27,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x27)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x28,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x28)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x29,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x29)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x2a,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x2a)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x2b,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x2b)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x2c,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x2c)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x2d,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x2d)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x2e,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x2e)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x2f,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x2f)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x30,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x30)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x31,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x31)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x32,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x32)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x33,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x33)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x34,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x34)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x35,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x35)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x36,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x36)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x37,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x37)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x38,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x38)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x39,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x39)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x3a,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x3a)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x3b,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x3b)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x3c,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x3c)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x3d,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x3d)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x3e,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x3e)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x3f,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x3f)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x40,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x40)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x41,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x41)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x42,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x42)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x43,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x43)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x44,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x44)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x45,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x45)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x46,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x46)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x47,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x47)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x48,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x48)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x49,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x49)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x4a,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x4a)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x4b,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x4b)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x4c,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x4c)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x4d,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x4d)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x4e,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x4e)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x4f,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x4f)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x50,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x50)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x51,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x51)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x52,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x52)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x53,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x53)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x54,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x54)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x55,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x55)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x56,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x56)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x57,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x57)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x58,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x58)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x59,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x59)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x5a,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x5a)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x5b,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x5b)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x5c,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x5c)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x5d,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x5d)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x5e,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x5e)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x5f,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x5f)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x60,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x60)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x61,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x61)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x62,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x62)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x63,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x63)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x64,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x64)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x65,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x65)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x66,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x66)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x67,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x67)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x68,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x68)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x69,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x69)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x6a,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x6a)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x6b,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x6b)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x6c,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x6c)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x6d,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x6d)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x6e,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x6e)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x6f,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x6f)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x70,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x70)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x71,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x71)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x72,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x72)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x73,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x73)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x74,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x74)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x75,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x75)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x76,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x76)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x77,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x77)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x78,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x78)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x79,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x79)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x7a,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x7a)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x7b,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x7b)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x7c,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x7c)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x7d,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x7d)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x7e,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x7e)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x7f,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x7f)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x80,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x80)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x81,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x81)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x82,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x82)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x83,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x83)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x84,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x84)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x85,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x85)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x86,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x86)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x87,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x87)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x88,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x88)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x89,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x89)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x8a,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x8a)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x8b,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x8b)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x8c,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x8c)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x8d,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x8d)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x8e,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x8e)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x8f,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x8f)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x90,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x90)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x91,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x91)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x92,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x92)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x93,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x93)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x94,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x94)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x95,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x95)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x96,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x96)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x97,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x97)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x98,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x98)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x99,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x99)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x9a,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x9a)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x9b,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x9b)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x9c,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x9c)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x9d,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x9d)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x9e,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x9e)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0x9f,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x9f)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0xa0,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xa0)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0xa1,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xa1)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0xa2,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xa2)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0xa3,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xa3)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0xa4,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xa4)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0xa5,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xa5)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0xa6,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xa6)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0xa7,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xa7)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0xa8,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xa8)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0xa9,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xa9)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0xaa,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xaa)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0xab,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xab)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0xac,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xac)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0xad,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xad)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0xae,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xae)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0xaf,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xaf)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0xb0,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xb0)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0xb1,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xb1)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0xb2,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xb2)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0xb3,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xb3)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0xb4,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xb4)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0xb5,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xb5)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0xb6,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xb6)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0xb7,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xb7)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0xb8,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xb8)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0xb9,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xb9)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0xba,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xba)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0xbb,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xbb)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0xbc,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xbc)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0xbd,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xbd)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0xbe,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xbe)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0xbf,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xbf)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0xc0,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xc0)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0xc1,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xc1)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0xc2,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xc2)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0xc3,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xc3)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0xc4,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xc4)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0xc5,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xc5)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0xc6,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xc6)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0xc7,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xc7)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0xc8,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xc8)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0xc9,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xc9)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0xca,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xca)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0xcb,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xcb)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0xcc,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xcc)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0xcd,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xcd)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0xce,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xce)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0xcf,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xcf)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0xd0,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xd0)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0xd1,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xd1)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0xd2,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xd2)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0xd3,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xd3)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0xd4,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xd4)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0xd5,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xd5)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0xd6,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xd6)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0xd7,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xd7)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0xd8,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xd8)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0xd9,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xd9)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0xda,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xda)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0xdb,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xdb)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0xdc,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xdc)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0xdd,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xdd)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0xde,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xde)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0xdf,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xdf)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0xe0,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xe0)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0xe1,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xe1)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0xe2,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xe2)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0xe3,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xe3)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0xe4,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xe4)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0xe5,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xe5)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0xe6,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xe6)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0xe7,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xe7)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0xe8,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xe8)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0xe9,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xe9)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0xea,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xea)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0xeb,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xeb)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0xec,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xec)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0xed,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xed)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0xee,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xee)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0xef,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xef)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0xf0,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xf0)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0xf1,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xf1)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0xf2,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xf2)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0xf3,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xf3)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0xf4,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xf4)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0xf5,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xf5)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0xf6,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xf6)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0xf7,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xf7)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0xf8,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xf8)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0xf9,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xf9)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0xfa,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xfa)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0xfb,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xfb)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0xfc,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xfc)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0xfd,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xfd)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0xfe,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xfe)|DIDFT_OPTIONAL,0x0},
- {&GUID_Key,0xff,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xff)|DIDFT_OPTIONAL,0x0}
-};
-
-const DIDATAFORMAT c_dfDIKeyboard = {sizeof(DIDATAFORMAT),sizeof(DIOBJECTDATAFORMAT),DIDF_RELAXIS,256,sizeof(c_rgodfDIKeyboard)/sizeof(c_rgodfDIKeyboard[0]),c_rgodfDIKeyboard};
diff --git a/winsup/w32api/lib/directx/dinput_mouse.c b/winsup/w32api/lib/directx/dinput_mouse.c
deleted file mode 100644
index 21e3e0380..000000000
--- a/winsup/w32api/lib/directx/dinput_mouse.c
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
-
- dinput_mouse.c - DirectInput Mouse DATAFORMAT
-
- Written by Filip Navara <xnavara@volny.cz>
-
- This library 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.
-
-*/
-
-#include "dinput_private.h"
-
-static DIOBJECTDATAFORMAT ATTRIBUTE_TEXT_SECTION c_rgodfDIMouse[] =
-{
- {&GUID_XAxis,0x0,DIDFT_ABSAXIS|DIDFT_RELAXIS|DIDFT_ANYINSTANCE,0x0},
- {&GUID_YAxis,0x4,DIDFT_ABSAXIS|DIDFT_RELAXIS|DIDFT_ANYINSTANCE,0x0},
- {&GUID_ZAxis,0x8,DIDFT_ABSAXIS|DIDFT_RELAXIS|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0xc,DIDFT_BUTTON|DIDFT_ANYINSTANCE,0x0},
- {NULL,0xd,DIDFT_BUTTON|DIDFT_ANYINSTANCE,0x0},
- {NULL,0xe,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0xf,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0}
-};
-
-const DIDATAFORMAT c_dfDIMouse = {sizeof(DIDATAFORMAT),sizeof(DIOBJECTDATAFORMAT),DIDF_RELAXIS,16,sizeof(c_rgodfDIMouse)/sizeof(c_rgodfDIMouse[0]),c_rgodfDIMouse};
diff --git a/winsup/w32api/lib/directx/dinput_mouse2.c b/winsup/w32api/lib/directx/dinput_mouse2.c
deleted file mode 100644
index 90f46c01b..000000000
--- a/winsup/w32api/lib/directx/dinput_mouse2.c
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
-
- dinput_mouse2.c - DirectInput Mouse DATAFORMAT
-
- Written by Filip Navara <xnavara@volny.cz>
-
- This library 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.
-
-*/
-
-#include "dinput_private.h"
-
-static DIOBJECTDATAFORMAT ATTRIBUTE_TEXT_SECTION c_rgodfDIMouse2[] =
-{
- {&GUID_XAxis,0x0,DIDFT_ABSAXIS|DIDFT_RELAXIS|DIDFT_ANYINSTANCE,0x0},
- {&GUID_YAxis,0x4,DIDFT_ABSAXIS|DIDFT_RELAXIS|DIDFT_ANYINSTANCE,0x0},
- {&GUID_ZAxis,0x8,DIDFT_ABSAXIS|DIDFT_RELAXIS|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0xc,DIDFT_BUTTON|DIDFT_ANYINSTANCE,0x0},
- {NULL,0xd,DIDFT_BUTTON|DIDFT_ANYINSTANCE,0x0},
- {NULL,0xe,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0xf,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x10,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x11,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x12,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0},
- {NULL,0x13,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0}
-};
-
-const DIDATAFORMAT c_dfDIMouse2 = {sizeof(DIDATAFORMAT),sizeof(DIOBJECTDATAFORMAT),DIDF_RELAXIS,20,sizeof(c_rgodfDIMouse2)/sizeof(c_rgodfDIMouse2[0]),c_rgodfDIMouse2};
diff --git a/winsup/w32api/lib/directx/dinput_private.h b/winsup/w32api/lib/directx/dinput_private.h
deleted file mode 100644
index e1629134a..000000000
--- a/winsup/w32api/lib/directx/dinput_private.h
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
-
- directx/dinput_private.h - DirectInput DATAFORMATs Definitions
-
- Written by Filip Navara <xnavara@volny.cz>
-
- This library 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.
-
-*/
-
-#ifndef _DINPUT_PRIVATE_H
-#define _DINPUT_PRIVATE_H
-
-#include <windows.h>
-
-#define DIDOI_FFACTUATOR 0x00000001
-#define DIDOI_FFEFFECTTRIGGER 0x00000002
-#define DIDOI_POLLED 0x00008000
-#define DIDOI_ASPECTPOSITION 0x00000100
-#define DIDOI_ASPECTVELOCITY 0x00000200
-#define DIDOI_ASPECTACCEL 0x00000300
-#define DIDOI_ASPECTFORCE 0x00000400
-#define DIDOI_ASPECTMASK 0x00000F00
-#define DIDOI_GUIDISUSAGE 0x00010000
-#define DIDF_ABSAXIS 0x00000001
-#define DIDF_RELAXIS 0x00000002
-#define DIDFT_RELAXIS 0x00000001
-#define DIDFT_ABSAXIS 0x00000002
-#define DIDFT_AXIS 0x00000003
-#define DIDFT_PSHBUTTON 0x00000004
-#define DIDFT_TGLBUTTON 0x00000008
-#define DIDFT_BUTTON 0x0000000C
-#define DIDFT_POV 0x00000010
-#define DIDFT_COLLECTION 0x00000040
-#define DIDFT_NODATA 0x00000080
-#define DIDFT_ANYINSTANCE 0x00FFFF00
-#define DIDFT_FFACTUATOR 0x01000000
-#define DIDFT_FFEFFECTTRIGGER 0x02000000
-#define DIDFT_OUTPUT 0x10000000
-#define DIDFT_VENDORDEFINED 0x04000000
-#define DIDFT_ALIAS 0x08000000
-#define DIDFT_OPTIONAL 0x80000000
-#define DIDFT_MAKEINSTANCE(n) ((WORD)(n) << 8)
-
-typedef struct _DIOBJECTDATAFORMAT {
- const GUID *pguid;
- DWORD dwOfs;
- DWORD dwType;
- DWORD dwFlags;
-} DIOBJECTDATAFORMAT, *LPDIOBJECTDATAFORMAT;
-
-typedef struct _DIDATAFORMAT {
- DWORD dwSize;
- DWORD dwObjSize;
- DWORD dwFlags;
- DWORD dwDataSize;
- DWORD dwNumObjs;
- LPDIOBJECTDATAFORMAT rgodf;
-} DIDATAFORMAT, *LPDIDATAFORMAT;
-
-extern GUID GUID_XAxis;
-extern GUID GUID_YAxis;
-extern GUID GUID_ZAxis;
-extern GUID GUID_RxAxis;
-extern GUID GUID_RyAxis;
-extern GUID GUID_RzAxis;
-extern GUID GUID_Slider;
-extern GUID GUID_Key;
-extern GUID GUID_POV;
-
-#if defined (__WATCOMC__)
-#define ATTRIBUTE_TEXT_SECTION __based( __segname( "_CODE" ) )
-#elif defined (__GNUC__)
-#define ATTRIBUTE_TEXT_SECTION __attribute__ ((section(".text")))
-#else
-#define ATTRIBUTE_TEXT_SECTION
-#endif
-
-#endif
diff --git a/winsup/w32api/lib/directx/dmoguids.c b/winsup/w32api/lib/directx/dmoguids.c
deleted file mode 100644
index c9606b8a0..000000000
--- a/winsup/w32api/lib/directx/dmoguids.c
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
-
- dmoguids.c - DirectMedia Objects GUIDs
-
- Written by Filip Navara <xnavara@volny.cz>
-
- This library 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.
-
-*/
-
-#if defined(__LCC__) || defined(__GNUC__)
-#define INITGUID 1
-#include <windows.h>
-#else
-#include <basetyps.h>
-#endif
-
-DEFINE_GUID(CLSID_DMOFilterCategory,0xbcd5796c,0xbd52,0x4d30,0xab,0x76,0x70,0xf9,0x75,0xb8,0x91,0x99);
-DEFINE_GUID(CLSID_DMOWrapperFilter,0x94297043,0xbd82,0x4dfd,0xb0,0xde,0x81,0x77,0x73,0x9c,0x6d,0x20);
-DEFINE_GUID(DMOCATEGORY_ACOUSTIC_ECHO_CANCEL,0xbf963d80l,0xc559,0x11d0,0x8a,0x2b,0x00,0xa0,0xc9,0x25,0x5a,0xc1);
-DEFINE_GUID(DMOCATEGORY_AGC,0xe88c9ba0l,0xc557,0x11d0,0x8a,0x2b,0x0,0xa0,0xc9,0x25,0x5a,0xc1);
-DEFINE_GUID(DMOCATEGORY_AUDIO_CAPTURE_EFFECT,0xf665aaba,0x3e09,0x4920,0xaa,0x5f,0x21,0x98,0x11,0x14,0x8f,0x09);
-DEFINE_GUID(DMOCATEGORY_AUDIO_DECODER,0x57f2db8b,0xe6bb,0x4513,0x9d,0x43,0xdc,0xd2,0xa6,0x59,0x31,0x25);
-DEFINE_GUID(DMOCATEGORY_AUDIO_EFFECT,0xf3602b3f,0x0592,0x48df,0xa4,0xcd,0x67,0x47,0x21,0xe7,0xeb,0xeb);
-DEFINE_GUID(DMOCATEGORY_AUDIO_ENCODER,0x33d9a761,0x90c8,0x11d0,0xbd,0x43,0x0,0xa0,0xc9,0x11,0xce,0x86);
-DEFINE_GUID(DMOCATEGORY_AUDIO_NOISE_SUPPRESS,0xe07f903f,0x62fd,0x4e60,0x8c,0xdd,0xde,0xa7,0x23,0x66,0x65,0xb5);
-DEFINE_GUID(DMOCATEGORY_VIDEO_DECODER,0x4a69b442,0x28be,0x4991,0x96,0x9c,0xb5,0x00,0xad,0xf5,0xd8,0xa8);
-DEFINE_GUID(DMOCATEGORY_VIDEO_EFFECT,0xd990ee14,0x776c,0x4723,0xbe,0x46,0x3d,0xa2,0xf5,0x6f,0x10,0xb9);
-DEFINE_GUID(DMOCATEGORY_VIDEO_ENCODER,0x33d9a760,0x90c8,0x11d0,0xbd,0x43,0x0,0xa0,0xc9,0x11,0xce,0x86);
-DEFINE_GUID(IID_IDMOWrapperFilter,0x52d6f586,0x9f0f,0x4824,0x8f,0xc8,0xe3,0x2c,0xa0,0x49,0x30,0xc2);
-DEFINE_GUID(IID_IMediaParamInfo,0x6d6cbb60,0xa223,0x44aa,0x84,0x2f,0xa2,0xf0,0x67,0x50,0xbe,0x6d);
-DEFINE_GUID(IID_IMediaParams,0x6d6cbb61,0xa223,0x44aa,0x84,0x2f,0xa2,0xf0,0x67,0x50,0xbe,0x6e);
-DEFINE_GUID(IID_IDMOQualityControl,0x65abea96,0xcf36,0x453f,0xaf,0x8a,0x70,0x5e,0x98,0xf1,0x62,0x60);
-DEFINE_GUID(IID_IDMOVideoOutputOptimizations,0xbe8f4f4e,0x5b16,0x4d29,0xb3,0x50,0x7f,0x6b,0x5d,0x92,0x98,0xac);
-DEFINE_GUID(IID_IEnumDMO,0x2c3cd98a,0x2bfa,0x4a53,0x9c,0x27,0x52,0x49,0xba,0x64,0xba,0x0f);
-DEFINE_GUID(IID_IMediaBuffer,0x59eff8b9,0x938c,0x4a26,0x82,0xf2,0x95,0xcb,0x84,0xcd,0xc8,0x37);
-DEFINE_GUID(IID_IMediaObject,0xd8ad0f58,0x5494,0x4102,0x97,0xc5,0xec,0x79,0x8e,0x59,0xbc,0xf4);
-DEFINE_GUID(IID_IMediaObjectInPlace,0x651b9ad0,0x0fc7,0x4aa9,0x95,0x38,0xd8,0x99,0x31,0x01,0x07,0x41);
diff --git a/winsup/w32api/lib/directx/dplayx.def b/winsup/w32api/lib/directx/dplayx.def
deleted file mode 100644
index 7916007f9..000000000
--- a/winsup/w32api/lib/directx/dplayx.def
+++ /dev/null
@@ -1,8 +0,0 @@
-LIBRARY dplayx.dll
-EXPORTS
-DirectPlayCreate@12
-DirectPlayEnumerate@8
-DirectPlayEnumerateA@8
-DirectPlayEnumerateW@8
-DirectPlayLobbyCreateA@20
-DirectPlayLobbyCreateW@20
diff --git a/winsup/w32api/lib/directx/dpnaddr.def b/winsup/w32api/lib/directx/dpnaddr.def
deleted file mode 100644
index c025df552..000000000
--- a/winsup/w32api/lib/directx/dpnaddr.def
+++ /dev/null
@@ -1,3 +0,0 @@
-LIBRARY dpnaddr.dll
-EXPORTS
-DirectPlay8AddressCreate@12
diff --git a/winsup/w32api/lib/directx/dpnet.def b/winsup/w32api/lib/directx/dpnet.def
deleted file mode 100644
index b8ee12594..000000000
--- a/winsup/w32api/lib/directx/dpnet.def
+++ /dev/null
@@ -1,3 +0,0 @@
-LIBRARY dpnet.dll
-EXPORTS
-DirectPlay8Create@12
diff --git a/winsup/w32api/lib/directx/dpnlobby.def b/winsup/w32api/lib/directx/dpnlobby.def
deleted file mode 100644
index 18ac16550..000000000
--- a/winsup/w32api/lib/directx/dpnlobby.def
+++ /dev/null
@@ -1,3 +0,0 @@
-LIBRARY dpnlobby.def
-EXPORTS
-DirectPlay8LobbyCreate@12
diff --git a/winsup/w32api/lib/directx/dpvoice.def b/winsup/w32api/lib/directx/dpvoice.def
deleted file mode 100644
index ac5d5b388..000000000
--- a/winsup/w32api/lib/directx/dpvoice.def
+++ /dev/null
@@ -1,3 +0,0 @@
-LIBRARY dpvoice.dll
-EXPORTS
-DirectPlayVoiceCreate@12
diff --git a/winsup/w32api/lib/directx/dsetup.def b/winsup/w32api/lib/directx/dsetup.def
deleted file mode 100644
index 776234a00..000000000
--- a/winsup/w32api/lib/directx/dsetup.def
+++ /dev/null
@@ -1,20 +0,0 @@
-LIBRARY dsetup.dll
-EXPORTS
-DirectXDeviceDriverSetupA@16
-DirectXDeviceDriverSetupW@16
-DirectXLoadString@12
-DirectXRegisterApplicationA@8
-DirectXRegisterApplicationW@8
-DirectXSetupA@12
-DirectXSetupCallback@20
-DirectXSetupGetEULAA@12
-DirectXSetupGetEULAW@12
-DirectXSetupGetFileVersion@12
-DirectXSetupGetVersion@8
-DirectXSetupIsEng@0
-DirectXSetupIsJapan@0
-DirectXSetupIsJapanNec@0
-DirectXSetupSetCallback@4
-DirectXSetupShowEULA@4
-DirectXSetupW@12
-DirectXUnRegisterApplication@8
diff --git a/winsup/w32api/lib/directx/dsound.def b/winsup/w32api/lib/directx/dsound.def
deleted file mode 100644
index 36049c94c..000000000
--- a/winsup/w32api/lib/directx/dsound.def
+++ /dev/null
@@ -1,12 +0,0 @@
-LIBRARY dsound.dll
-EXPORTS
-DirectSoundCaptureCreate@12
-DirectSoundCaptureCreate8@12
-DirectSoundCaptureEnumerateA@8
-DirectSoundCaptureEnumerateW@8
-DirectSoundCreate@12
-DirectSoundCreate8@12
-DirectSoundEnumerateA@8
-DirectSoundEnumerateW@8
-DirectSoundFullDuplexCreate@40
-GetDeviceID@8
diff --git a/winsup/w32api/lib/directx/dxerr.c b/winsup/w32api/lib/directx/dxerr.c
deleted file mode 100644
index e893c7523..000000000
--- a/winsup/w32api/lib/directx/dxerr.c
+++ /dev/null
@@ -1,773 +0,0 @@
-/*
-
- dxerr.c - DirectX 8 & 9 Error Functions
-
- Written by Filip Navara <xnavara@volny.cz>
-
- This library 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.
-
- NOTE: Do not use this file directly!
-
-*/
-
-#include <windows.h>
-
-#ifndef DXERROR
-#define DXERROR(v,n,d) {v, TEXT(n), TEXT(d)},
-#define DXERRORLAST(v,n,d) {v, TEXT(n), TEXT(d)}
-#endif
-#ifndef DXERROR8
-#define DXERROR8(v,n,d)
-#define DXERROR8LAST(v,n,d)
-#endif
-#ifndef DXERROR9
-#define DXERROR9(v,n,d)
-#define DXERROR9LAST(v,n,d)
-#endif
-
-typedef struct {
- unsigned long Value;
- TCHAR *Name;
- TCHAR *Description;
-} Error;
-
-static Error Errors[] = {
- DXERROR(0, "S_OK", "The function completed successfully")
- DXERROR(0x1, "S_FALSE", "Call successful, but returned FALSE")
- DXERROR(0x2, "DXERROR_FILE_NOT_FOUND", "The system cannot find the file specified.")
- DXERROR(0x3, "DXERROR_PATH_NOT_FOUND", "The system cannot find the path specified.")
- DXERROR(0x4, "DXERROR_TOO_MANY_OPEN_FILES", "The system cannot open the file.")
- DXERROR(0x5, "DXERROR_ACCESS_DENIED", "Access is denied.")
- DXERROR(0x6, "DXERROR_INVALID_HANDLE", "The handle is invalid.")
- DXERROR(0x8, "DXERROR_NOT_ENOUGH_MEMORY", "Not enough storage is available to process this command.")
- DXERROR(0x9, "DXERROR_INVALID_BLOCK", "The storage control block address is invalid.")
- DXERROR(0xa, "DXERROR_BAD_ENVIRONMENT", "The environment is incorrect.")
- DXERROR(0xb, "DXERROR_BAD_FORMAT", "An attempt was made to load a program with an incorrect format.")
- DXERROR(0xe, "DXERROR_OUTOFMEMORY", "The system cannot find the drive specified.")
- DXERROR9(0x40003, "Unknown", "End of stream. Sample not updated.")
- DXERROR(0x40103, "VFW_S_NO_MORE_ITEMS", "The end of the list has been reached.")
- DXERROR(0x4022d, "VFW_S_DUPLICATE_NAME", "An attempt to add a filter with a duplicate name succeeded with a modified name.")
- DXERROR(0x40237, "VFW_S_STATE_INTERMEDIATE", "The state transition has not completed.")
- DXERROR(0x40242, "VFW_S_PARTIAL_RENDER", "Some of the streams in this movie are in an unsupported format.")
- DXERROR(0x40245, "VFW_S_SOME_DATA_IGNORED", "The file contained some property settings that were not used.")
- DXERROR(0x40246, "VFW_S_CONNECTIONS_DEFERRED", "Some connections have failed and have been deferred.")
- DXERROR(0x40250, "VFW_S_RESOURCE_NOT_NEEDED", "The resource specified is no longer needed.")
- DXERROR(0x40254, "VFW_S_MEDIA_TYPE_IGNORED", "A connection could not be made with the media type in the persistent graph, but has been made with a negotiated media type.")
- DXERROR(0x40257, "VFW_S_VIDEO_NOT_RENDERED", "Cannot play back the video stream: no suitable decompressor could be found.")
- DXERROR(0x40258, "VFW_S_AUDIO_NOT_RENDERED", "Cannot play back the audio stream: no audio hardware is available.")
- DXERROR(0x4025a, "VFW_S_RPZA", "Cannot play back the video stream: format 'RPZA' is not supported.")
- DXERROR(0x40260, "VFW_S_ESTIMATED", "The value returned had to be estimated. It's accuracy can not be guaranteed.")
- DXERROR(0x40263, "VFW_S_RESERVED", "This success code is reserved for internal purposes within ActiveMovie.")
- DXERROR(0x40267, "VFW_S_STREAM_OFF", "The stream has been turned off.")
- DXERROR(0x40268, "VFW_S_CANT_CUE", "The graph can't be cued because of lack of or corrupt data.")
- DXERROR(0x40270, "VFW_S_NO_STOP_TIME", "The stop time for the sample was not set.")
- DXERROR(0x4027e, "VFW_S_NOPREVIEWPIN", "There was no preview pin available, so the capture pin output is being split to provide both capture and preview.")
- DXERROR(0x40280, "VFW_S_DVD_NON_ONE_SEQUENTIAL", "The current title was not a sequential set of chapters (PGC) and the returned timing information might not be continuous.")
- DXERROR(0x4028c, "VFW_S_DVD_CHANNEL_CONTENTS_NOT_AVAILABLE", "The audio stream did not contain sufficient information to determine the contents of each channel.")
- DXERROR(0x4028d, "VFW_S_DVD_NOT_ACCURATE", "The seek into the movie was not frame accurate.")
- DXERROR9(0x150005, "DV_FULLDUPLEX", "Full duplex")
- DXERROR9(0x15000a, "DV_HALFDUPLEX", "Half duplex")
- DXERROR9(0x150010, "DV_PENDING", "Pending")
- DXERROR9(0x876086f, "D3DOK_NOAUTOGEN", "The call succeeded but there won't be any mipmaps generated")
- DXERROR(0x878000a, "DS_NO_VIRTUALIZATION", "The call succeeded, but we had to substitute the 3D algorithm")
- DXERROR8(0x8780014, "DS_INCOMPLETE", "The call succeeded, but not all of the optional effects were obtained.")
- DXERROR(0x8781091, "DMUS_S_PARTIALLOAD", "The object could only load partially. This can happen if some components are not registered properly, such as embedded tracks and tools. This can also happen if some content is missing. For example, if a segment uses a DLS collection that is not in the loader's current search directory.")
- DXERROR(0x8781092, "DMUS_S_PARTIALDOWNLOAD", "Return value from IDirectMusicBand::Download() which indicates that some of the instruments safely downloaded, but others failed. This usually occurs when some instruments are on PChannels not supported by the performance or port.")
- DXERROR(0x8781200, "DMUS_S_REQUEUE", "Return value from IDirectMusicTool::ProcessPMsg() which indicates to the performance that it should cue the PMsg again automatically.")
- DXERROR(0x8781201, "DMUS_S_FREE", "Return value from IDirectMusicTool::ProcessPMsg() which indicates to the performance that it should free the PMsg automatically.")
- DXERROR(0x8781202, "DMUS_S_END", "Return value from IDirectMusicTrack::Play() which indicates to the segment that the track has no more data after mtEnd.")
- DXERROR(0x8781210, "DMUS_S_STRING_TRUNCATED", "Returned string has been truncated to fit the buffer size.")
- DXERROR(0x8781211, "DMUS_S_LAST_TOOL", "Returned from IDirectMusicGraph::StampPMsg() this indicates that the PMsg is already stamped with the last tool in the graph. The returned PMsg's tool pointer is now NULL.")
- DXERROR(0x8781212, "DMUS_S_OVER_CHORD", "Returned from IDirectMusicPerformance::MusicToMIDI() this indicates that no note has been calculated because the music value has the note at a position higher than the top note of the chord. This applies only to DMUS_PLAYMODE_NORMALCHORD play mode. This success code indicates that the caller should not do anything with the note. It is not meant to be played against this chord.")
- DXERROR(0x8781213, "DMUS_S_UP_OCTAVE", "Returned from IDirectMusicPerformance::MIDIToMusic() and IDirectMusicPerformance::MusicToMIDI() this indicates that the note conversion generated a note value that is below 0, so it has been bumped up one or more octaves to be in the proper MIDI range of 0 through 127. Note that this is valid for MIDIToMusic() when using play modes DMUS_PLAYMODE_FIXEDTOCHORD and DMUS_PLAYMODE_FIXEDTOKEY, both of which store MIDI values in wMusicValue. With MusicToMIDI() it is valid for all play modes. Ofcourse, DMUS_PLAYMODE_FIXED will never return this success code.")
- DXERROR(0x8781214, "DMUS_S_DOWN_OCTAVE", "Returned from IDirectMusicPerformance::MIDIToMusic() and IDirectMusicPerformance::MusicToMIDI() this indicates that the note conversion generated a note value that is above 127, so it has been bumped down one or more octaves to be in the proper MIDI range of 0 through 127. Note that this is valid for MIDIToMusic() when using play modes DMUS_PLAYMODE_FIXEDTOCHORD and DMUS_PLAYMODE_FIXEDTOKEY, both of which store MIDI values in wMusicValue. With MusicToMIDI() it is valid for all play modes. Ofcourse, DMUS_PLAYMODE_FIXED will never return this success code.")
- DXERROR(0x8781215, "DMUS_S_NOBUFFERCONTROL", "Although the audio output from the port will be routed to the same device as the given DirectSound buffer, buffer controls such as pan and volume will not affect the output.")
- DXERROR(0x8781216, "DMUS_S_GARBAGE_COLLECTED", "The requested operation was not performed because during CollectGarbage the loader determined that the object had been released.")
- DXERROR(0x8000000a, "E_PENDING", "The data necessary to complete this operation is not yet available.")
- DXERROR(0x80004001, "E_NOTIMPL", "The function called is not supported at this time")
- DXERROR(0x80004002, "E_NOINTERFACE", "The requested COM interface is not available")
- DXERROR(0x80004003, "E_POINTER", "Invalid pointer")
- DXERROR(0x80004004, "E_ABORT", "Operation aborted")
- DXERROR(0x80004005, "E_FAIL", "An undetermined error occurred")
- DXERROR(0x8000ffff, "E_UNEXPECTED", "Catastrophic failure")
- DXERROR8(0x80040110, "CLASS_E_NOAGGREGATION", "This object does not support aggregation")
- DXERROR9(0x80040110, "CLASSFACTORY_E_FIRST", "This object does not support aggregation")
- DXERROR(0x80040154, "REGDB_E_CLASSNOTREG", "Class not registered")
- DXERROR(0x800401f0, "CO_E_NOTINITIALIZED", "CoInitialize has not been called.")
- DXERROR(0x800401f1, "CO_E_ALREADYINITIALIZED", "CoInitialize has already been called.")
- DXERROR(0x80040200, "DIERR_INSUFFICIENTPRIVS & VFW_E_INVALIDMEDIATYPE", "Unable to IDirectInputJoyConfig_Acquire because the user does not have sufficient privileges to change the joystick configuration. & An invalid media type was specified")
- DXERROR8(0x80040201, "DIERR_DEVICEFULL & VFW_E_INVALIDSUBTYPE", "The device is full. & An invalid media subtype was specified.")
- DXERROR8(0x80040202, "DIERR_MOREDATA & VFW_E_NEED_OWNER", "Not all the requested information fit into the buffer. & This object can only be created as an aggregated object.")
- DXERROR8(0x80040203, "DIERR_NOTDOWNLOADED & VFW_E_ENUM_OUT_OF_SYNC", "The effect is not downloaded. & The enumerator has become invalid.")
- DXERROR8(0x80040204, "DIERR_HASEFFECTS & VFW_E_ALREADY_CONNECTED", "The device cannot be reinitialized because there are still effects attached to it. & At least one of the pins involved in the operation is already connected.")
- DXERROR8(0x80040205, "DIERR_NOTEXCLUSIVEACQUIRED & VFW_E_FILTER_ACTIVE", "The operation cannot be performed unless the device is acquired in DISCL_EXCLUSIVE mode. & This operation cannot be performed because the filter is active.")
- DXERROR8(0x80040206, "DIERR_INCOMPLETEEFFECT & VFW_E_NO_TYPES", "The effect could not be downloaded because essential information is missing. For example, no axes have been associated with the effect, or no type-specific information has been created. & One of the specified pins supports no media types.")
- DXERROR9(0x80040201, "DIERR_DEVICEFULL & VFW_E_INVALIDSUBTYPE & DMO_E_INVALIDSTREAMINDEX", "The device is full. & An invalid media subtype was specified.")
- DXERROR9(0x80040202, "DIERR_MOREDATA & VFW_E_NEED_OWNER & DMO_E_INVALIDTYPE", "Not all the requested information fit into the buffer. & This object can only be created as an aggregated object.")
- DXERROR9(0x80040203, "DIERR_NOTDOWNLOADED & VFW_E_ENUM_OUT_OF_SYNC & DMO_E_TYPE_NOT_SET", "The effect is not downloaded. & The enumerator has become invalid.")
- DXERROR9(0x80040204, "DIERR_HASEFFECTS & VFW_E_ALREADY_CONNECTED & DMO_E_NOTACCEPTING", "The device cannot be reinitialized because there are still effects attached to it. & At least one of the pins involved in the operation is already connected.")
- DXERROR9(0x80040205, "DIERR_NOTEXCLUSIVEACQUIRED & VFW_E_FILTER_ACTIVE & DMO_E_TYPE_NOT_ACCEPTED", "The operation cannot be performed unless the device is acquired in DISCL_EXCLUSIVE mode. & This operation cannot be performed because the filter is active.")
- DXERROR9(0x80040206, "DIERR_INCOMPLETEEFFECT & VFW_E_NO_TYPES & DMO_E_NO_MORE_ITEMS", "The effect could not be downloaded because essential information is missing. For example, no axes have been associated with the effect, or no type-specific information has been created. & One of the specified pins supports no media types.")
- DXERROR(0x80040207, "DIERR_NOTBUFFERED & VFW_E_NO_ACCEPTABLE_TYPES", "Attempted to read buffered device data from a device that is not buffered. & There is no common media type between these pins.")
- DXERROR(0x80040208, "DIERR_EFFECTPLAYING & VFW_E_INVALID_DIRECTION", "An attempt was made to modify parameters of an effect while it is playing. Not all hardware devices support altering the parameters of an effect while it is playing. & Two pins of the same direction cannot be connected together.")
- DXERROR(0x80040209, "DIERR_UNPLUGGED & VFW_E_NOT_CONNECTED", "The operation could not be completed because the device is not plugged in. & The operation cannot be performed because the pins are not connected.")
- DXERROR(0x8004020a, "DIERR_REPORTFULL & VFW_E_NO_ALLOCATOR", "SendDeviceData failed because more information was requested to be sent than can be sent to the device. Some devices have restrictions on how much data can be sent to them. (For example, there might be a limit on the number of buttons that can be pressed at once.) & No sample buffer allocator is available.")
- DXERROR(0x8004020b, "DIERR_MAPFILEFAIL & VFW_E_RUNTIME_DXERROR", "A mapper file function failed because reading or writing the user or IHV settings file failed. & A run-time error occurred.")
- DXERROR(0x8004020c, "VFW_E_BUFFER_NOTSET", "No buffer space has been set")
- DXERROR(0x8004020d, "VFW_E_BUFFER_OVERFLOW", "The buffer is not big enough.")
- DXERROR(0x8004020e, "VFW_E_BADALIGN", "An invalid alignment was specified.")
- DXERROR(0x8004020f, "VFW_E_ALREADY_COMMITTED", "Cannot change allocated memory while the filter is active.")
- DXERROR(0x80040210, "VFW_E_BUFFERS_OUTSTANDING", "One or more buffers are still active.")
- DXERROR(0x80040211, "VFW_E_NOT_COMMITTED", "Cannot allocate a sample when the allocator is not active.")
- DXERROR(0x80040212, "VFW_E_SIZENOTSET", "Cannot allocate memory because no size has been set.")
- DXERROR(0x80040213, "VFW_E_NO_CLOCK", "Cannot lock for synchronization because no clock has been defined.")
- DXERROR(0x80040214, "VFW_E_NO_SINK", "Quality messages could not be sent because no quality sink has been defined.")
- DXERROR(0x80040215, "VFW_E_NO_INTERFACE", "A required interface has not been implemented.")
- DXERROR(0x80040216, "VFW_E_NOT_FOUND", "An object or name was not found.")
- DXERROR(0x80040217, "VFW_E_CANNOT_CONNECT", "No combination of intermediate filters could be found to make the connection.")
- DXERROR(0x80040218, "VFW_E_CANNOT_RENDER", "No combination of filters could be found to render the stream.")
- DXERROR(0x80040219, "VFW_E_CHANGING_FORMAT", "Could not change formats dynamically.")
- DXERROR(0x8004021a, "VFW_E_NO_COLOR_KEY_SET", "No color key has been set.")
- DXERROR(0x8004021b, "VFW_E_NOT_OVERLAY_CONNECTION", "Current pin connection is not using the IOverlay transport.")
- DXERROR(0x8004021c, "VFW_E_NOT_SAMPLE_CONNECTION", "Current pin connection is not using the IMemInputPin transport.")
- DXERROR(0x8004021d, "VFW_E_PALETTE_SET", "Setting a color key would conflict with the palette already set.")
- DXERROR(0x8004021e, "VFW_E_COLOR_KEY_SET", "Setting a palette would conflict with the color key already set.")
- DXERROR(0x8004021f, "VFW_E_NO_COLOR_KEY_FOUND", "No matching color key is available.")
- DXERROR(0x80040220, "VFW_E_NO_PALETTE_AVAILABLE", "No palette is available.")
- DXERROR(0x80040221, "VFW_E_NO_DISPLAY_PALETTE", "Display does not use a palette.")
- DXERROR(0x80040222, "VFW_E_TOO_MANY_COLORS", "Too many colors for the current display settings.")
- DXERROR(0x80040223, "VFW_E_STATE_CHANGED", "The state changed while waiting to process the sample.")
- DXERROR(0x80040224, "VFW_E_NOT_STOPPED", "The operation could not be performed because the filter is not stopped.")
- DXERROR(0x80040225, "VFW_E_NOT_PAUSED", "The operation could not be performed because the filter is not paused.")
- DXERROR(0x80040226, "VFW_E_NOT_RUNNING", "The operation could not be performed because the filter is not running.")
- DXERROR(0x80040227, "VFW_E_WRONG_STATE", "The operation could not be performed because the filter is in the wrong state.")
- DXERROR(0x80040228, "VFW_E_START_TIME_AFTER_END", "The sample start time is after the sample end time.")
- DXERROR(0x80040229, "VFW_E_INVALID_RECT", "The supplied rectangle is invalid.")
- DXERROR(0x8004022a, "VFW_E_TYPE_NOT_ACCEPTED", "This pin cannot use the supplied media type.")
- DXERROR(0x8004022b, "VFW_E_SAMPLE_REJECTED", "This sample cannot be rendered.")
- DXERROR(0x8004022c, "VFW_E_SAMPLE_REJECTED_EOS", "This sample cannot be rendered because the end of the stream has been reached.")
- DXERROR(0x8004022d, "VFW_E_DUPLICATE_NAME", "An attempt to add a filter with a duplicate name failed.")
- DXERROR(0x8004022e, "VFW_E_TIMEOUT", "A time-out has expired.")
- DXERROR(0x8004022f, "VFW_E_INVALID_FILE_FORMAT", "The file format is invalid.")
- DXERROR(0x80040230, "VFW_E_ENUM_OUT_OF_RANGE", "The list has already been exhausted.")
- DXERROR(0x80040231, "VFW_E_CIRCULAR_GRAPH", "The filter graph is circular.")
- DXERROR(0x80040232, "VFW_E_NOT_ALLOWED_TO_SAVE", "Updates are not allowed in this state.")
- DXERROR(0x80040233, "VFW_E_TIME_ALREADY_PASSED", "An attempt was made to queue a command for a time in the past.")
- DXERROR(0x80040234, "VFW_E_ALREADY_CANCELLED", "The queued command has already been canceled.")
- DXERROR(0x80040235, "VFW_E_CORRUPT_GRAPH_FILE", "Cannot render the file because it is corrupt.")
- DXERROR(0x80040236, "VFW_E_ADVISE_ALREADY_SET", "An overlay advise link already exists.")
- DXERROR(0x80040238, "VFW_E_NO_MODEX_AVAILABLE", "No full-screen modes are available.")
- DXERROR(0x80040239, "VFW_E_NO_ADVISE_SET", "This Advise cannot be canceled because it was not successfully set.")
- DXERROR(0x8004023a, "VFW_E_NO_FULLSCREEN", "A full-screen mode is not available.")
- DXERROR(0x8004023b, "VFW_E_IN_FULLSCREEN_MODE", "Cannot call IVideoWindow methods while in full-screen mode.")
- DXERROR(0x80040240, "VFW_E_UNKNOWN_FILE_TYPE", "The media type of this file is not recognized.")
- DXERROR(0x80040241, "VFW_E_CANNOT_LOAD_SOURCE_FILTER", "The source filter for this file could not be loaded.")
- DXERROR(0x80040243, "VFW_E_FILE_TOO_SHORT", "A file appeared to be incomplete.")
- DXERROR(0x80040244, "VFW_E_INVALID_FILE_VERSION", "The version number of the file is invalid.")
- DXERROR(0x80040247, "VFW_E_INVALID_CLSID", "This file is corrupt: it contains an invalid class identifier.")
- DXERROR(0x80040248, "VFW_E_INVALID_MEDIA_TYPE", "This file is corrupt: it contains an invalid media type.")
- DXERROR(0x80040249, "VFW_E_SAMPLE_TIME_NOT_SET", "No time stamp has been set for this sample.")
- DXERROR(0x80040251, "VFW_E_MEDIA_TIME_NOT_SET", "No media time stamp has been set for this sample.")
- DXERROR(0x80040252, "VFW_E_NO_TIME_FORMAT_SET", "No media time format has been selected.")
- DXERROR(0x80040253, "VFW_E_MONO_AUDIO_HW", "Cannot change balance because audio device is mono only.")
- DXERROR(0x80040255, "VFW_E_NO_DECOMPRESSOR", "Cannot play back the video stream: no suitable decompressor could be found.")
- DXERROR(0x80040256, "VFW_E_NO_AUDIO_HARDWARE", "Cannot play back the audio stream: no audio hardware is available, or the hardware is not responding.")
- DXERROR(0x80040259, "VFW_E_RPZA", "Cannot play back the video stream: format 'RPZA' is not supported.")
- DXERROR(0x8004025b, "VFW_E_PROCESSOR_NOT_SUITABLE", "ActiveMovie cannot play MPEG movies on this processor.")
- DXERROR(0x8004025c, "VFW_E_UNSUPPORTED_AUDIO", "Cannot play back the audio stream: the audio format is not supported.")
- DXERROR(0x8004025d, "VFW_E_UNSUPPORTED_VIDEO", "Cannot play back the video stream: the video format is not supported.")
- DXERROR(0x8004025e, "VFW_E_MPEG_NOT_CONSTRAINED", "ActiveMovie cannot play this video stream because it falls outside the constrained standard.")
- DXERROR(0x8004025f, "VFW_E_NOT_IN_GRAPH", "Cannot perform the requested function on an object that is not in the filter graph.")
- DXERROR(0x80040261, "VFW_E_NO_TIME_FORMAT", "Cannot get or set time related information on an object that is using a time format of TIME_FORMAT_NONE.")
- DXERROR(0x80040262, "VFW_E_READ_ONLY", "The connection cannot be made because the stream is read only and the filter alters the data.")
- DXERROR(0x80040264, "VFW_E_BUFFER_UNDERFLOW", "The buffer is not full enough.")
- DXERROR(0x80040265, "VFW_E_UNSUPPORTED_STREAM", "Cannot play back the file. The format is not supported.")
- DXERROR(0x80040266, "VFW_E_NO_TRANSPORT", "Pins cannot connect due to not supporting the same transport.")
- DXERROR(0x80040269, "VFW_E_BAD_VIDEOCD", "The Video CD can't be read correctly by the device or is the data is corrupt.")
- DXERROR(0x80040271, "VFW_E_OUT_OF_VIDEO_MEMORY", "There is not enough Video Memory at this display resolution and number of colors. Reducing resolution might help.")
- DXERROR(0x80040272, "VFW_E_VP_NEGOTIATION_FAILED", "The VideoPort connection negotiation process has failed.")
- DXERROR(0x80040273, "VFW_E_DDRAW_CAPS_NOT_SUITABLE", "Either DirectDraw has not been installed or the Video Card capabilities are not suitable. Make sure the display is not in 16 color mode.")
- DXERROR(0x80040274, "VFW_E_NO_VP_HARDWARE", "No VideoPort hardware is available, or the hardware is not responding.")
- DXERROR(0x80040275, "VFW_E_NO_CAPTURE_HARDWARE", "No Capture hardware is available, or the hardware is not responding.")
- DXERROR(0x80040276, "VFW_E_DVD_OPERATION_INHIBITED", "This User Operation is inhibited by DVD Content at this time.")
- DXERROR(0x80040277, "VFW_E_DVD_INVALIDDOMAIN", "This Operation is not permitted in the current domain.")
- DXERROR(0x80040278, "VFW_E_DVD_NO_BUTTON", "The specified button is invalid or is not present at the current time, or there is no button present at the specified location.")
- DXERROR(0x80040279, "VFW_E_DVD_GRAPHNOTREADY", "DVD-Video playback graph has not been built yet.")
- DXERROR(0x8004027a, "VFW_E_DVD_RENDERFAIL", "DVD-Video playback graph building failed.")
- DXERROR(0x8004027b, "VFW_E_DVD_DECNOTENOUGH", "DVD-Video playback graph could not be built due to insufficient decoders.")
- DXERROR(0x8004027c, "VFW_E_DDRAW_VERSION_NOT_SUITABLE", "Version number of DirectDraw not suitable. Make sure to install dx5 or higher version.")
- DXERROR(0x8004027d, "VFW_E_COPYPROT_FAILED", "Copy protection cannot be enabled. Please make sure any other copy protected content is not being shown now.")
- DXERROR(0x8004027f, "VFW_E_TIME_EXPIRED", "This object cannot be used anymore as its time has expired.")
- DXERROR(0x80040281, "VFW_E_DVD_WRONG_SPEED", "The operation cannot be performed at the current playback speed.")
- DXERROR(0x80040282, "VFW_E_DVD_MENU_DOES_NOT_EXIST", "The specified menu doesn't exist.")
- DXERROR(0x80040283, "VFW_E_DVD_CMD_CANCELLED", "The specified command was either cancelled or no longer exists.")
- DXERROR(0x80040284, "VFW_E_DVD_STATE_WRONG_VERSION", "The data did not contain a recognized version.")
- DXERROR(0x80040285, "VFW_E_DVD_STATE_CORRUPT", "The state data was corrupt.")
- DXERROR(0x80040286, "VFW_E_DVD_STATE_WRONG_DISC", "The state data is from a different disc.")
- DXERROR(0x80040287, "VFW_E_DVD_INCOMPATIBLE_REGION", "The region was not compatible with the current drive.")
- DXERROR(0x80040288, "VFW_E_DVD_NO_ATTRIBUTES", "The requested DVD stream attribute does not exist.")
- DXERROR(0x80040289, "VFW_E_DVD_NO_GOUP_PGC", "Currently there is no GoUp (Annex J user function) program chain (PGC).")
- DXERROR(0x8004028a, "VFW_E_DVD_LOW_PARENTAL_LEVEL", "The current parental level was too low.")
- DXERROR(0x8004028b, "VFW_E_DVD_NOT_IN_KARAOKE_MODE", "The current audio is not karaoke content.")
- DXERROR(0x8004028e, "VFW_E_FRAME_STEP_UNSUPPORTED", "Frame step is not supported on this configuration.")
- DXERROR(0x8004028f, "VFW_E_DVD_STREAM_DISABLED", "The specified stream is disabled and cannot be selected.")
- DXERROR(0x80040290, "VFW_E_DVD_TITLE_UNKNOWN", "The operation depends on the current title number, however the navigator has not yet entered the VTSM or the title domains, so the 'current' title index is unknown.")
- DXERROR(0x80040291, "VFW_E_DVD_INVALID_DISC", "The specified path does not point to a valid DVD disc.")
- DXERROR(0x80040292, "VFW_E_DVD_NO_RESUME_INFORMATION", "There is currently no resume information.")
- DXERROR(0x80040293, "VFW_E_PIN_ALREADY_BLOCKED_ON_THIS_THREAD", "This thread has already blocked this output pin. There is no need to call IPinFlowControl::Block() again.")
- DXERROR(0x80040294, "VFW_E_PIN_ALREADY_BLOCKED", "IPinFlowControl::Block() has been called on another thread. The current thread cannot make any assumptions about this pin's block state.")
- DXERROR(0x80040295, "VFW_E_CERTIFICATION_FAILURE", "An operation failed due to a certification failure.")
- DXERROR(0x80040300, "DIERR_DRIVERFIRST", "Device driver-specific codes. Unless the specific driver has been precisely identified, no meaning should be attributed to these values other than that the driver originated the error.")
- DXERROR(0x80040301, "DIERR_DRIVERFIRST+1", "DIERR_DRIVERFIRST+1")
- DXERROR(0x80040302, "DIERR_DRIVERFIRST+2", "DIERR_DRIVERFIRST+2")
- DXERROR(0x80040303, "DIERR_DRIVERFIRST+3", "DIERR_DRIVERFIRST+3")
- DXERROR(0x80040304, "DIERR_DRIVERFIRST+4", "DIERR_DRIVERFIRST+4")
- DXERROR(0x80040305, "DIERR_DRIVERFIRST+5", "DIERR_DRIVERFIRST+5")
- DXERROR(0x800403f2, "VFW_E_BAD_KEY", "A registry entry is corrupt.")
- DXERROR(0x800403ff, "DIERR_DRIVERLAST", "Device installer errors.")
- DXERROR(0x80040400, "DIERR_INVALIDCLASSINSTALLER", "Registry entry or DLL for class installer invalid or class installer not found.")
- DXERROR8(0x80040401, "DIERR_CANCELLED", "The user cancelled the install operation.")
- DXERROR8(0x80040402, "DIERR_BADINF", "The INF file for the selected device could not be found or is invalid or is damaged.")
- DXERROR8(0x80070002, "DIERR_NOTFOUND", "The requested object does not exist.")
- DXERROR9(0x80040401, "DIERR_CANCELLED & MS_E_SAMPLEALLOC", "The user cancelled the install operation. & The stream already has allocated samples and the surface doesn't match the sample format.")
- DXERROR9(0x80040402, "DIERR_BADINF & MS_E_PURPOSEID", "The INF file for the selected device could not be found or is invalid or is damaged. & The specified purpose ID can't be used for the call.")
- DXERROR9(0x80040403, "MS_E_NOSTREAM", "No stream can be found with the specified attributes.")
- DXERROR9(0x80040404, "MS_E_NOSEEKING", "Seeking not supported for this object.")
- DXERROR9(0x80040405, "MS_E_INCOMPATIBLE", "The stream formats are not compatible.")
- DXERROR9(0x80040406, "MS_E_BUSY", "The sample is busy.")
- DXERROR9(0x80040407, "MS_E_NOTINIT", "The object can't accept the call because its initialize function or equivalent has not been called.")
- DXERROR9(0x80040408, "MS_E_SOURCEALREADYDEFINED", "MS_E_SOURCEALREADYDEFINED")
- DXERROR9(0x80040409, "MS_E_INVALIDSTREAMTYPE", "The stream type is not valid for this operation.")
- DXERROR9(0x8004040a, "MS_E_NOTRUNNING", "The object is not in running state.")
- DXERROR9(0x80070002, "DXERROR_FILE_NOT_FOUND", "The system cannot find the file specified.")
- DXERROR9(0x80070003, "DXERROR_PATH_NOT_FOUND", "The system cannot find the path specified.")
- DXERROR9(0x80070004, "DXERROR_TOO_MANY_OPEN_FILES", "The system cannot open the file.")
- DXERROR(0x80070005, "E_ACCESSDENIED", "Access is denied")
- DXERROR(0x80070006, "E_HANDLE", "Invalid handle")
- DXERROR8(0x8007000c, "DIERR_NOTACQUIRED", "The operation cannot be performed unless the device is acquired.")
- DXERROR9(0x80070008, "DXERROR_NOT_ENOUGH_MEMORY", "Not enough storage is available to process this command.")
- DXERROR9(0x80070009, "DXERROR_INVALID_BLOCK", "The storage control block address is invalid.")
- DXERROR9(0x8007000a, "DXERROR_BAD_ENVIRONMENT", "The environment is incorrect.")
- DXERROR9(0x8007000b, "DXERROR_BAD_FORMAT", "An attempt was made to load a program with an incorrect format.")
- DXERROR9(0x8007000c, "DXERROR_INVALID_ACCESS & DIERR_NOTACQUIRED", "The operation cannot be performed unless the device is acquired.")
- DXERROR(0x8007000e, "E_OUTOFMEMORY", "Ran out of memory")
- DXERROR8(0x80070015, "DIERR_NOTINITIALIZED", "This object has not been initialized")
- DXERROR8(0x8007001e, "DIERR_INPUTLOST", "Access to the device has been lost. It must be re-acquired.")
- DXERROR9(0x80070015, "DXERROR_NOT_READY & DIERR_NOTINITIALIZED", "This object has not been initialized")
- DXERROR9(0x8007001e, "DXERROR_READ_FAULT & DIERR_INPUTLOST", "Access to the device has been lost. It must be re-acquired.")
- DXERROR(0x80070057, "E_INVALIDARG", "An invalid parameter was passed to the returning function")
- DXERROR8(0x80070077, "DIERR_BADDRIVERVER", "The object could not be created due to an incompatible driver version or mismatched or incomplete driver components.")
- DXERROR8(0x800700aa, "DIERR_ACQUIRED", "The operation cannot be performed while the device is acquired.")
- DXERROR8(0x80070103, "DIERR_NOMOREITEMS", "No more items.")
- DXERROR8(0x8007047e, "DIERR_OLDDIRECTINPUTVERSION", "The application requires a newer version of DirectInput.")
- DXERROR8(0x80070481, "DIERR_BETADIRECTINPUTVERSION", "The application was written for an unsupported prerelease version of DirectInput.")
- DXERROR8(0x80070490, "E_PROP_ID_UNSUPPORTED", "The specified property ID is not supported for the specified property set.")
- DXERROR8(0x80070492, "E_PROP_SET_UNSUPPORTED", "The Specified property set is not supported.")
- DXERROR8(0x800704df, "DIERR_ALREADYINITIALIZED", "This object is already initialized")
- DXERROR9(0x80070077, "DXERROR_BAD_DRIVER_LEVEL & DIERR_BADDRIVERVER", "The object could not be created due to an incompatible driver version or mismatched or incomplete driver components.")
- DXERROR9(0x800700aa, "DXERROR_BUSY & DIERR_ACQUIRED", "The operation cannot be performed while the device is acquired.")
- DXERROR9(0x80070103, "DXERROR_NO_MORE_ITEMS & DIERR_NOMOREITEMS", "No more items.")
- DXERROR9(0x8007047e, "DXERROR_OLD_WIN_VERSION & DIERR_OLDDIRECTINPUTVERSION", "The application requires a newer version of DirectInput.")
- DXERROR9(0x80070481, "DXERROR_RMODE_APP & DIERR_BETADIRECTINPUTVERSION", "The application was written for an unsupported prerelease version of DirectInput.")
- DXERROR9(0x80070490, "DXERROR_NOT_FOUND & E_PROP_ID_UNSUPPORTED", "The specified property ID is not supported for the specified property set.")
- DXERROR9(0x80070492, "DXERROR_SET_NOT_FOUND & E_PROP_SET_UNSUPPORTED", "The specified property set is not supported.")
- DXERROR9(0x800704df, "DXERROR_ALREADY_INITIALIZED & DIERR_ALREADYINITIALIZED", "This object is already initialized")
- DXERROR9(0x8015001e, "DVERR_BUFFERTOOSMALL", "Buffer too small")
- DXERROR9(0x8015004a, "DVERR_EXCEPTION", "Exception")
- DXERROR9(0x80150078, "DVERR_INVALIDFLAGS", "Invalid flags")
- DXERROR9(0x80150082, "DVERR_INVALIDOBJECT", "Invalid object")
- DXERROR9(0x80150087, "DVERR_INVALIDPLAYER", "Invalid player")
- DXERROR9(0x80150091, "DVERR_INVALIDGROUP", "Invalid group")
- DXERROR9(0x80150096, "DVERR_INVALIDHANDLE", "Invalid handle")
- DXERROR9(0x8015012c, "DVERR_SESSIONLOST", "Session lost")
- DXERROR9(0x8015012e, "DVERR_NOVOICESESSION", "No voice session")
- DXERROR9(0x80150168, "DVERR_CONNECTIONLOST", "Connection lost")
- DXERROR9(0x80150169, "DVERR_NOTINITIALIZED", "Not initialized")
- DXERROR9(0x8015016a, "DVERR_CONNECTED", "Connected")
- DXERROR9(0x8015016b, "DVERR_NOTCONNECTED", "Not connected")
- DXERROR9(0x8015016e, "DVERR_CONNECTABORTING", "Connect aborting")
- DXERROR9(0x8015016f, "DVERR_NOTALLOWED", "Not allowed")
- DXERROR9(0x80150170, "DVERR_INVALIDTARGET", "Invalid target")
- DXERROR9(0x80150171, "DVERR_TRANSPORTNOTHOST", "Transport not host")
- DXERROR9(0x80150172, "DVERR_COMPRESSIONNOTSUPPORTED", "Compression not supported")
- DXERROR9(0x80150173, "DVERR_ALREADYPENDING", "Already pending")
- DXERROR9(0x80150174, "DVERR_SOUNDINITFAILURE", "Sound init failure")
- DXERROR9(0x80150175, "DVERR_TIMEOUT", "Time out")
- DXERROR9(0x80150176, "DVERR_CONNECTABORTED", "Connect aborted")
- DXERROR9(0x80150177, "DVERR_NO3DSOUND", "No 3d sound")
- DXERROR9(0x80150178, "DVERR_ALREADYBUFFERED", "Already buffered")
- DXERROR9(0x80150179, "DVERR_NOTBUFFERED", "Not buffered")
- DXERROR9(0x8015017a, "DVERR_HOSTING", "Hosting")
- DXERROR9(0x8015017b, "DVERR_NOTHOSTING", "Not hosting")
- DXERROR9(0x8015017c, "DVERR_INVALIDDEVICE", "Invalid device")
- DXERROR9(0x8015017d, "DVERR_RECORDSYSTEMDXERROR", "Record system error")
- DXERROR9(0x8015017e, "DVERR_PLAYBACKSYSTEMDXERROR", "Playback system error")
- DXERROR9(0x8015017f, "DVERR_SENDDXERROR", "Send error")
- DXERROR9(0x80150180, "DVERR_USERCANCEL", "User cancel")
- DXERROR9(0x80150183, "DVERR_RUNSETUP", "Run setup")
- DXERROR9(0x80150184, "DVERR_INCOMPATIBLEVERSION", "Incompatible version")
- DXERROR9(0x80150187, "DVERR_INITIALIZED", "Initialized")
- DXERROR9(0x80150188, "DVERR_NOTRANSPORT", "No transport")
- DXERROR9(0x80150189, "DVERR_NOCALLBACK", "No callback")
- DXERROR9(0x8015018a, "DVERR_TRANSPORTNOTINIT", "Transport not init")
- DXERROR9(0x8015018b, "DVERR_TRANSPORTNOSESSION", "Transport no session")
- DXERROR9(0x8015018c, "DVERR_TRANSPORTNOPLAYER", "Transport no player")
- DXERROR9(0x8015018d, "DVERR_USERBACK", "User back")
- DXERROR9(0x8015018e, "DVERR_NORECVOLAVAILABLE", "No rec vol available")
- DXERROR9(0x8015018f, "DVERR_INVALIDBUFFER", "Invalid buffer")
- DXERROR9(0x80150190, "DVERR_LOCKEDBUFFER", "Locked buffer")
- DXERROR9(0x80158030, "DPNERR_ABORTED", "Aborted")
- DXERROR9(0x80158040, "DPNERR_ADDRESSING", "Addressing")
- DXERROR9(0x80158050, "DPNERR_ALREADYCLOSING", "Already closing")
- DXERROR9(0x80158060, "DPNERR_ALREADYCONNECTED", "Already connected")
- DXERROR9(0x80158070, "DPNERR_ALREADYDISCONNECTING", "Already disconnecting")
- DXERROR9(0x80158080, "DPNERR_ALREADYINITIALIZED", "Already initialized")
- DXERROR9(0x80158090, "DPNERR_ALREADYREGISTERED", "Already registered")
- DXERROR9(0x80158100, "DPNERR_BUFFERTOOSMALL", "Buffer too small")
- DXERROR9(0x80158110, "DPNERR_CANNOTCANCEL", "Can not cancel")
- DXERROR9(0x80158120, "DPNERR_CANTCREATEGROUP", "Cant create group")
- DXERROR9(0x80158130, "DPNERR_CANTCREATEPLAYER", "Cant create player")
- DXERROR9(0x80158140, "DPNERR_CANTLAUNCHAPPLICATION", "Cant launch application")
- DXERROR9(0x80158150, "DPNERR_CONNECTING", "Connecting")
- DXERROR9(0x80158160, "DPNERR_CONNECTIONLOST", "Connection lost")
- DXERROR9(0x80158170, "DPNERR_CONVERSION", "Conversion")
- DXERROR9(0x80158175, "DPNERR_DATATOOLARGE", "Data too large")
- DXERROR9(0x80158180, "DPNERR_DOESNOTEXIST", "Does not exist")
- DXERROR9(0x80158185, "DPNERR_DPNSVRNOTAVAILABLE", "dpnsvr not available")
- DXERROR9(0x80158190, "DPNERR_DUPLICATECOMMAND", "Duplicate command")
- DXERROR9(0x80158200, "DPNERR_ENDPOINTNOTRECEIVING", "End point not receiving")
- DXERROR9(0x80158210, "DPNERR_ENUMQUERYTOOLARGE", "Enum query too large")
- DXERROR9(0x80158220, "DPNERR_ENUMRESPONSETOOLARGE", "Enum response too large")
- DXERROR9(0x80158230, "DPNERR_EXCEPTION", "Exception")
- DXERROR9(0x80158240, "DPNERR_GROUPNOTEMPTY", "Group not empty")
- DXERROR9(0x80158250, "DPNERR_HOSTING", "Hosting")
- DXERROR9(0x80158260, "DPNERR_HOSTREJECTEDCONNECTION", "Host rejected connection")
- DXERROR9(0x80158270, "DPNERR_HOSTTERMINATEDSESSION", "Host terminated session")
- DXERROR9(0x80158280, "DPNERR_INCOMPLETEADDRESS", "Incomplete address")
- DXERROR9(0x80158290, "DPNERR_INVALIDADDRESSFORMAT", "Invalid address format")
- DXERROR9(0x80158300, "DPNERR_INVALIDAPPLICATION", "Invalid application")
- DXERROR9(0x80158310, "DPNERR_INVALIDCOMMAND", "Invalid command")
- DXERROR9(0x80158320, "DPNERR_INVALIDDEVICEADDRESS", "Invalid device address")
- DXERROR9(0x80158330, "DPNERR_INVALIDENDPOINT", "Invalid end point")
- DXERROR9(0x80158340, "DPNERR_INVALIDFLAGS", "Invalid flags")
- DXERROR9(0x80158350, "DPNERR_INVALIDGROUP", "Invalid group")
- DXERROR9(0x80158360, "DPNERR_INVALIDHANDLE", "Invalid handle")
- DXERROR9(0x80158370, "DPNERR_INVALIDHOSTADDRESS", "Invalid host address")
- DXERROR9(0x80158380, "DPNERR_INVALIDINSTANCE", "Invalid instance")
- DXERROR9(0x80158390, "DPNERR_INVALIDINTERFACE", "Invalid interface")
- DXERROR9(0x80158400, "DPNERR_INVALIDOBJECT", "Invalid object")
- DXERROR9(0x80158410, "DPNERR_INVALIDPASSWORD", "Invalid password")
- DXERROR9(0x80158420, "DPNERR_INVALIDPLAYER", "Invalid player")
- DXERROR9(0x80158430, "DPNERR_INVALIDPRIORITY", "Invalid priority")
- DXERROR9(0x80158440, "DPNERR_INVALIDSTRING", "Invalid string")
- DXERROR9(0x80158450, "DPNERR_INVALIDURL", "Invalid url")
- DXERROR9(0x80158460, "DPNERR_INVALIDVERSION", "Invalid version")
- DXERROR9(0x80158470, "DPNERR_NOCAPS", "No caps")
- DXERROR9(0x80158480, "DPNERR_NOCONNECTION", "No connection")
- DXERROR9(0x80158490, "DPNERR_NOHOSTPLAYER", "No host player")
- DXERROR9(0x80158500, "DPNERR_NOMOREADDRESSCOMPONENTS", "No more address components")
- DXERROR9(0x80158510, "DPNERR_NORESPONSE", "No response")
- DXERROR9(0x80158520, "DPNERR_NOTALLOWED", "Not allowed")
- DXERROR9(0x80158530, "DPNERR_NOTHOST", "Not host")
- DXERROR9(0x80158540, "DPNERR_NOTREADY", "Not ready")
- DXERROR9(0x80158550, "DPNERR_NOTREGISTERED", "Not registered")
- DXERROR9(0x80158560, "DPNERR_PLAYERALREADYINGROUP", "Player already in group")
- DXERROR9(0x80158570, "DPNERR_PLAYERLOST", "Player lost")
- DXERROR9(0x80158580, "DPNERR_PLAYERNOTINGROUP", "Player not in group")
- DXERROR9(0x80158590, "DPNERR_PLAYERNOTREACHABLE", "Player not reachable")
- DXERROR9(0x80158600, "DPNERR_SENDTOOLARGE", "Send too large")
- DXERROR9(0x80158610, "DPNERR_SESSIONFULL", "Session full")
- DXERROR9(0x80158620, "DPNERR_TABLEFULL", "Table full")
- DXERROR9(0x80158630, "DPNERR_TIMEDOUT", "Timed out")
- DXERROR9(0x80158640, "DPNERR_UNINITIALIZED", "Uninitialized")
- DXERROR9(0x80158650, "DPNERR_USERCANCEL", "User cancel")
- DXERROR(0x88760005, "DDERR_ALREADYINITIALIZED", "This object is already initialized")
- DXERROR(0x8876000a, "DDERR_CANNOTATTACHSURFACE", "This surface can not be attached to the requested surface.")
- DXERROR(0x88760014, "DDERR_CANNOTDETACHSURFACE", "This surface can not be detached from the requested surface.")
- DXERROR(0x88760028, "DDERR_CURRENTLYNOTAVAIL", "Support is currently not available.")
- DXERROR(0x88760037, "DDERR_EXCEPTION", "An exception was encountered while performing the requested operation")
- DXERROR(0x8876005a, "DDERR_HEIGHTALIGN", "Height of rectangle provided is not a multiple of reqd alignment")
- DXERROR(0x8876005f, "DDERR_INCOMPATIBLEPRIMARY", "Unable to match primary surface creation request with existing primary surface.")
- DXERROR(0x88760064, "DDERR_INVALIDCAPS", "One or more of the caps bits passed to the callback are incorrect.")
- DXERROR(0x8876006e, "DDERR_INVALIDCLIPLIST", "DirectDraw does not support provided Cliplist.")
- DXERROR(0x88760078, "DDERR_INVALIDMODE", "DirectDraw does not support the requested mode")
- DXERROR(0x88760082, "DDERR_INVALIDOBJECT", "DirectDraw received a pointer that was an invalid DIRECTDRAW object.")
- DXERROR(0x88760091, "DDERR_INVALIDPIXELFORMAT", "pixel format was invalid as specified")
- DXERROR(0x88760096, "DDERR_INVALIDRECT", "Rectangle provided was invalid.")
- DXERROR(0x887600a0, "DDERR_LOCKEDSURFACES", "Operation could not be carried out because one or more surfaces are locked")
- DXERROR(0x887600aa, "DDERR_NO3D", "There is no 3D present.")
- DXERROR(0x887600b4, "DDERR_NOALPHAHW", "Operation could not be carried out because there is no alpha accleration hardware present or available.")
- DXERROR(0x887600b5, "DDERR_NOSTEREOHARDWARE", "Operation could not be carried out because there is no stereo hardware present or available.")
- DXERROR(0x887600b6, "DDERR_NOSURFACELEFT", "Operation could not be carried out because there is no hardware present which supports stereo surfaces")
- DXERROR(0x887600cd, "DDERR_NOCLIPLIST", "no clip list available")
- DXERROR(0x887600d2, "DDERR_NOCOLORCONVHW", "Operation could not be carried out because there is no color conversion hardware present or available.")
- DXERROR(0x887600d4, "DDERR_NOCOOPERATIVELEVELSET", "Create function called without DirectDraw object method SetCooperativeLevel being called.")
- DXERROR(0x887600d7, "DDERR_NOCOLORKEY", "Surface doesn't currently have a color key")
- DXERROR(0x887600dc, "DDERR_NOCOLORKEYHW", "Operation could not be carried out because there is no hardware support of the dest color key.")
- DXERROR(0x887600de, "DDERR_NODIRECTDRAWSUPPORT", "No DirectDraw support possible with current display driver")
- DXERROR(0x887600e1, "DDERR_NOEXCLUSIVEMODE", "Operation requires the application to have exclusive mode but the application does not have exclusive mode.")
- DXERROR(0x887600e6, "DDERR_NOFLIPHW", "Flipping visible surfaces is not supported.")
- DXERROR(0x887600f0, "DDERR_NOGDI", "There is no GDI present.")
- DXERROR(0x887600fa, "DDERR_NOMIRRORHW", "Operation could not be carried out because there is no hardware present or available.")
- DXERROR(0x887600ff, "DDERR_NOTFOUND", "Requested item was not found")
- DXERROR(0x88760104, "DDERR_NOOVERLAYHW", "Operation could not be carried out because there is no overlay hardware present or available.")
- DXERROR(0x8876010e, "DDERR_OVERLAPPINGRECTS", "Operation could not be carried out because the source and destination rectangles are on the same surface and overlap each other.")
- DXERROR(0x88760118, "DDERR_NORASTEROPHW", "Operation could not be carried out because there is no appropriate raster op hardware present or available.")
- DXERROR(0x88760122, "DDERR_NOROTATIONHW", "Operation could not be carried out because there is no rotation hardware present or available.")
- DXERROR(0x88760136, "DDERR_NOSTRETCHHW", "Operation could not be carried out because there is no hardware support for stretching")
- DXERROR(0x8876013c, "DDERR_NOT4BITCOLOR", "DirectDrawSurface is not in 4 bit color palette and the requested operation requires 4 bit color palette.")
- DXERROR(0x8876013d, "DDERR_NOT4BITCOLORINDEX", "DirectDrawSurface is not in 4 bit color index palette and the requested operation requires 4 bit color index palette.")
- DXERROR(0x88760140, "DDERR_NOT8BITCOLOR", "DirectDraw Surface is not in 8 bit color mode and the requested operation requires 8 bit color.")
- DXERROR(0x8876014a, "DDERR_NOTEXTUREHW", "Operation could not be carried out because there is no texture mapping hardware present or available.")
- DXERROR(0x8876014f, "DDERR_NOVSYNCHW", "Operation could not be carried out because there is no hardware support for vertical blank synchronized operations.")
- DXERROR(0x88760154, "DDERR_NOZBUFFERHW", "Operation could not be carried out because there is no hardware support for zbuffer blting.")
- DXERROR(0x8876015e, "DDERR_NOZOVERLAYHW", "Overlay surfaces could not be z layered based on their BltOrder because the hardware does not support z layering of overlays.")
- DXERROR(0x88760168, "DDERR_OUTOFCAPS", "The hardware needed for the requested operation has already been allocated.")
- DXERROR9(0x8876017c, "D3DERR_OUTOFVIDEOMEMORY", "Out of video memory")
- DXERROR(0x8876017e, "DDERR_OVERLAYCANTCLIP", "hardware does not support clipped overlays")
- DXERROR(0x88760180, "DDERR_OVERLAYCOLORKEYONLYONEACTIVE", "Can only have ony color key active at one time for overlays")
- DXERROR(0x88760183, "DDERR_PALETTEBUSY", "Access to this palette is being refused because the palette is already locked by another thread.")
- DXERROR(0x88760190, "DDERR_COLORKEYNOTSET", "No src color key specified for this operation.")
- DXERROR(0x8876019a, "DDERR_SURFACEALREADYATTACHED", "This surface is already attached to the surface it is being attached to.")
- DXERROR(0x887601a4, "DDERR_SURFACEALREADYDEPENDENT", "This surface is already a dependency of the surface it is being made a dependency of.")
- DXERROR(0x887601ae, "DDERR_SURFACEBUSY", "Access to this surface is being refused because the surface is already locked by another thread.")
- DXERROR(0x887601b3, "DDERR_CANTLOCKSURFACE", "Access to this surface is being refused because no driver exists which can supply a pointer to the surface. This is most likely to happen when attempting to lock the primary surface when no DCI provider is present. Will also happen on attempts to lock an optimized surface.")
- DXERROR(0x887601b8, "DDERR_SURFACEISOBSCURED", "Access to Surface refused because Surface is obscured.")
- DXERROR(0x887601c2, "DDERR_SURFACELOST", "Access to this surface is being refused because the surface is gone. The DIRECTDRAWSURFACE object representing this surface should have Restore called on it.")
- DXERROR(0x887601cc, "DDERR_SURFACENOTATTACHED", "The requested surface is not attached.")
- DXERROR(0x887601d6, "DDERR_TOOBIGHEIGHT", "Height requested by DirectDraw is too large.")
- DXERROR(0x887601e0, "DDERR_TOOBIGSIZE", "Size requested by DirectDraw is too large -- The individual height and width are OK.")
- DXERROR(0x887601ea, "DDERR_TOOBIGWIDTH", "Width requested by DirectDraw is too large.")
- DXERROR(0x887601fe, "DDERR_UNSUPPORTEDFORMAT", "Pixel format requested is unsupported by DirectDraw")
- DXERROR(0x88760208, "DDERR_UNSUPPORTEDMASK", "Bitmask in the pixel format requested is unsupported by DirectDraw")
- DXERROR(0x88760209, "DDERR_INVALIDSTREAM", "The specified stream contains invalid data")
- DXERROR(0x88760219, "DDERR_VERTICALBLANKINPROGRESS", "vertical blank is in progress")
- DXERROR8(0x8876021c, "DDERR_WASSTILLDRAWING", "Informs DirectDraw that the previous Blt which is transfering information to or from this Surface is incomplete.")
- DXERROR9(0x8876021c, "DDERR_WASSTILLDRAWING", "Was still drawing")
- DXERROR(0x8876021e, "DDERR_DDSCAPSCOMPLEXREQUIRED", "The specified surface type requires specification of the COMPLEX flag")
- DXERROR(0x88760230, "DDERR_XALIGN", "Rectangle provided was not horizontally aligned on reqd. boundary")
- DXERROR(0x88760231, "DDERR_INVALIDDIRECTDRAWGUID", "The GUID passed to DirectDrawCreate is not a valid DirectDraw driver identifier.")
- DXERROR(0x88760232, "DDERR_DIRECTDRAWALREADYCREATED", "A DirectDraw object representing this driver has already been created for this process.")
- DXERROR(0x88760233, "DDERR_NODIRECTDRAWHW", "A hardware only DirectDraw object creation was attempted but the driver did not support any hardware.")
- DXERROR(0x88760234, "DDERR_PRIMARYSURFACEALREADYEXISTS", "this process already has created a primary surface")
- DXERROR(0x88760235, "DDERR_NOEMULATION", "software emulation not available.")
- DXERROR(0x88760236, "DDERR_REGIONTOOSMALL", "region passed to Clipper::GetClipList is too small.")
- DXERROR(0x88760237, "DDERR_CLIPPERISUSINGHWND", "an attempt was made to set a clip list for a clipper objec that is already monitoring an hwnd.")
- DXERROR(0x88760238, "DDERR_NOCLIPPERATTACHED", "No clipper object attached to surface object")
- DXERROR(0x88760239, "DDERR_NOHWND", "Clipper notification requires an HWND or no HWND has previously been set as the CooperativeLevel HWND.")
- DXERROR(0x8876023a, "DDERR_HWNDSUBCLASSED", "HWND used by DirectDraw CooperativeLevel has been subclassed, this prevents DirectDraw from restoring state.")
- DXERROR(0x8876023b, "DDERR_HWNDALREADYSET", "The CooperativeLevel HWND has already been set. It can not be reset while the process has surfaces or palettes created.")
- DXERROR(0x8876023c, "DDERR_NOPALETTEATTACHED", "No palette object attached to this surface.")
- DXERROR(0x8876023d, "DDERR_NOPALETTEHW", "No hardware support for 16 or 256 color palettes.")
- DXERROR(0x8876023e, "DDERR_BLTFASTCANTCLIP", "If a clipper object is attached to the source surface passed into a BltFast call.")
- DXERROR(0x8876023f, "DDERR_NOBLTHW", "No blter.")
- DXERROR(0x88760240, "DDERR_NODDROPSHW", "No DirectDraw ROP hardware.")
- DXERROR(0x88760241, "DDERR_OVERLAYNOTVISIBLE", "returned when GetOverlayPosition is called on a hidden overlay")
- DXERROR(0x88760242, "DDERR_NOOVERLAYDEST", "returned when GetOverlayPosition is called on a overlay that UpdateOverlay has never been called on to establish a destionation.")
- DXERROR(0x88760243, "DDERR_INVALIDPOSITION", "returned when the position of the overlay on the destionation is no longer legal for that destionation.")
- DXERROR(0x88760244, "DDERR_NOTAOVERLAYSURFACE", "returned when an overlay member is called for a non-overlay surface")
- DXERROR(0x88760245, "DDERR_EXCLUSIVEMODEALREADYSET", "An attempt was made to set the cooperative level when it was already set to exclusive.")
- DXERROR(0x88760246, "DDERR_NOTFLIPPABLE", "An attempt has been made to flip a surface that is not flippable.")
- DXERROR(0x88760247, "DDERR_CANTDUPLICATE", "Can't duplicate primary & 3D surfaces, or surfaces that are implicitly created.")
- DXERROR(0x88760248, "DDERR_NOTLOCKED", "Surface was not locked. An attempt to unlock a surface that was not locked at all, or by this process, has been attempted.")
- DXERROR(0x88760249, "DDERR_CANTCREATEDC", "Windows can not create any more DCs, or a DC was requested for a paltte-indexed surface when the surface had no palette AND the display mode was not palette-indexed (in this case DirectDraw cannot select a proper palette into the DC)")
- DXERROR(0x8876024a, "DDERR_NODC", "No DC was ever created for this surface.")
- DXERROR(0x8876024b, "DDERR_WRONGMODE", "This surface can not be restored because it was created in a different mode.")
- DXERROR(0x8876024c, "DDERR_IMPLICITLYCREATED", "This surface can not be restored because it is an implicitly created surface.")
- DXERROR(0x8876024d, "DDERR_NOTPALETTIZED", "The surface being used is not a palette-based surface")
- DXERROR(0x8876024e, "DDERR_UNSUPPORTEDMODE", "The display is currently in an unsupported mode")
- DXERROR(0x8876024f, "DDERR_NOMIPMAPHW", "Operation could not be carried out because there is no mip-map texture mapping hardware present or available.")
- DXERROR(0x88760250, "DDERR_INVALIDSURFACETYPE", "The requested action could not be performed because the surface was of the wrong type.")
- DXERROR(0x88760258, "DDERR_NOOPTIMIZEHW", "Device does not support optimized surfaces, therefore no video memory optimized surfaces")
- DXERROR(0x88760259, "DDERR_NOTLOADED", "Surface is an optimized surface, but has not yet been allocated any memory")
- DXERROR(0x8876025a, "DDERR_NOFOCUSWINDOW", "Attempt was made to create or set a device window without first setting the focus window")
- DXERROR(0x8876025b, "DDERR_NOTONMIPMAPSUBLEVEL", "Attempt was made to set a palette on a mipmap sublevel")
- DXERROR(0x8876026c, "DDERR_DCALREADYCREATED", "A DC has already been returned for this surface. Only one DC can be retrieved per surface.")
- DXERROR(0x88760276, "DDERR_NONONLOCALVIDMEM", "An attempt was made to allocate non-local video memory from a device that does not support non-local video memory.")
- DXERROR(0x88760280, "DDERR_CANTPAGELOCK", "The attempt to page lock a surface failed.")
- DXERROR(0x88760294, "DDERR_CANTPAGEUNLOCK", "The attempt to page unlock a surface failed.")
- DXERROR(0x887602a8, "DDERR_NOTPAGELOCKED", "An attempt was made to page unlock a surface with no outstanding page locks.")
- DXERROR(0x887602b2, "DDERR_MOREDATA", "There is more data available than the specified buffer size could hold")
- DXERROR(0x887602b3, "DDERR_EXPIRED", "The data has expired and is therefore no longer valid.")
- DXERROR(0x887602b4, "DDERR_TESTFINISHED", "The mode test has finished executing.")
- DXERROR(0x887602b5, "DDERR_NEWMODE", "The mode test has switched to a new mode.")
- DXERROR(0x887602b6, "DDERR_D3DNOTINITIALIZED", "D3D has not yet been initialized.")
- DXERROR(0x887602b7, "DDERR_VIDEONOTACTIVE", "The video port is not active")
- DXERROR(0x887602b8, "DDERR_NOMONITORINFORMATION", "The monitor does not have EDID data.")
- DXERROR(0x887602b9, "DDERR_NODRIVERSUPPORT", "The driver does not enumerate display mode refresh rates.")
- DXERROR(0x887602bb, "DDERR_DEVICEDOESNTOWNSURFACE", "Surfaces created by one direct draw device cannot be used directly by another direct draw device.")
- DXERROR9(0x88760352, "DXFILEERR_BADOBJECT", "Bad object")
- DXERROR9(0x88760353, "DXFILEERR_BADVALUE", "Bad value")
- DXERROR9(0x88760354, "DXFILEERR_BADTYPE", "Bad type")
- DXERROR9(0x88760355, "DXFILEERR_BADSTREAMHANDLE", "Bad stream handle")
- DXERROR9(0x88760356, "DXFILEERR_BADALLOC", "Bad alloc")
- DXERROR9(0x88760357, "DXFILEERR_NOTFOUND", "Not found")
- DXERROR9(0x88760358, "DXFILEERR_NOTDONEYET", "Not done yet")
- DXERROR9(0x88760359, "DXFILEERR_FILENOTFOUND", "File not found")
- DXERROR9(0x8876035a, "DXFILEERR_RESOURCENOTFOUND", "Resource not found")
- DXERROR9(0x8876035b, "DXFILEERR_URLNOTFOUND", "Url not found")
- DXERROR9(0x8876035c, "DXFILEERR_BADRESOURCE", "Bad resource")
- DXERROR9(0x8876035d, "DXFILEERR_BADFILETYPE", "Bad file type")
- DXERROR9(0x8876035e, "DXFILEERR_BADFILEVERSION", "Bad file version")
- DXERROR9(0x8876035f, "DXFILEERR_BADFILEFLOATSIZE", "Bad file float size")
- DXERROR9(0x88760360, "DXFILEERR_BADFILECOMPRESSIONTYPE", "Bad file compression type")
- DXERROR9(0x88760361, "DXFILEERR_BADFILE", "Bad file")
- DXERROR9(0x88760362, "DXFILEERR_PARSEDXERROR", "Parse error")
- DXERROR9(0x88760363, "DXFILEERR_NOTEMPLATE", "No template")
- DXERROR9(0x88760364, "DXFILEERR_BADARRAYSIZE", "Bad array size")
- DXERROR9(0x88760365, "DXFILEERR_BADDATAREFERENCE", "Bad data reference")
- DXERROR9(0x88760366, "DXFILEERR_INTERNALDXERROR", "Internal error")
- DXERROR9(0x88760367, "DXFILEERR_NOMOREOBJECTS", "No more objects")
- DXERROR9(0x88760368, "DXFILEERR_BADINTRINSICS", "Bad intrinsics")
- DXERROR9(0x88760369, "DXFILEERR_NOMORESTREAMHANDLES", "No more stream handles")
- DXERROR9(0x8876036a, "DXFILEERR_NOMOREDATA", "No more data")
- DXERROR9(0x8876036b, "DXFILEERR_BADCACHEFILE", "Bad cache file")
- DXERROR9(0x8876036c, "DXFILEERR_NOINTERNET", "No internet")
- DXERROR9(0x88760818, "D3DERR_WRONGTEXTUREFORMAT", "Wrong texture format")
- DXERROR9(0x88760819, "D3DERR_UNSUPPORTEDCOLOROPERATION", "Unsupported color operation")
- DXERROR9(0x8876081a, "D3DERR_UNSUPPORTEDCOLORARG", "Unsupported color arg")
- DXERROR9(0x8876081b, "D3DERR_UNSUPPORTEDALPHAOPERATION", "Unsupported alpha operation")
- DXERROR9(0x8876081c, "D3DERR_UNSUPPORTEDALPHAARG", "Unsupported alpha arg")
- DXERROR9(0x8876081d, "D3DERR_TOOMANYOPERATIONS", "Too many operations")
- DXERROR9(0x8876081e, "D3DERR_CONFLICTINGTEXTUREFILTER", "Conflicting texture filter")
- DXERROR9(0x8876081f, "D3DERR_UNSUPPORTEDFACTORVALUE", "Unsupported factor value")
- DXERROR9(0x88760821, "D3DERR_CONFLICTINGRENDERSTATE", "Conflicting render state")
- DXERROR9(0x88760822, "D3DERR_UNSUPPORTEDTEXTUREFILTER", "Unsupported texture filter")
- DXERROR9(0x88760826, "D3DERR_CONFLICTINGTEXTUREPALETTE", "Conflicting texture palette")
- DXERROR9(0x88760827, "D3DERR_DRIVERINTERNALDXERROR", "Driver internal error")
- DXERROR9(0x88760866, "D3DERR_NOTFOUND", "Not found")
- DXERROR9(0x88760867, "D3DERR_MOREDATA", "More data")
- DXERROR9(0x88760868, "D3DERR_DEVICELOST", "Device lost")
- DXERROR9(0x88760869, "D3DERR_DEVICENOTRESET", "Device not reset")
- DXERROR9(0x8876086a, "D3DERR_NOTAVAILABLE", "Not available")
- DXERROR9(0x8876086b, "D3DERR_INVALIDDEVICE", "Invalid device")
- DXERROR9(0x8876086c, "D3DERR_INVALIDCALL", "Invalid call")
- DXERROR9(0x8876086d, "D3DERR_DRIVERINVALIDCALL", "Driver invalid call")
- DXERROR9(0x88760b54, "D3DXERR_CANNOTMODIFYINDEXBUFFER", "Can not modify index buffer")
- DXERROR9(0x88760b55, "D3DXERR_INVALIDMESH", "Invalid mesh")
- DXERROR9(0x88760b56, "D3DXERR_CANNOTATTRSORT", "Cannot attr sort")
- DXERROR9(0x88760b57, "D3DXERR_SKINNINGNOTSUPPORTED", "Skinning not supported")
- DXERROR9(0x88760b58, "D3DXERR_TOOMANYINFLUENCES", "Too many influences")
- DXERROR9(0x88760b59, "D3DXERR_INVALIDDATA", "Invalid data")
- DXERROR9(0x88760b5a, "D3DXERR_LOADEDMESHASNODATA", "Loaded mesh has no data")
- DXERROR9(0x88760b5b, "D3DXERR_DUPLICATENAMEDFRAGMENT", "Duplicate named fragment")
- DXERROR(0x8878000a, "DSERR_ALLOCATED", "The call failed because resources (such as a priority level) were already being used by another caller")
- DXERROR(0x8878001e, "DSERR_CONTROLUNAVAIL", "The control (vol, pan, etc.) requested by the caller is not available")
- DXERROR(0x88780032, "DSERR_INVALIDCALL", "This call is not valid for the current state of this object")
- DXERROR(0x88780046, "DSERR_PRIOLEVELNEEDED", "The caller does not have the priority level required for the function to succeed")
- DXERROR(0x88780064, "DSERR_BADFORMAT", "The specified WAVE format is not supported")
- DXERROR(0x88780078, "DSERR_NODRIVER", "No sound driver is available for use")
- DXERROR(0x88780082, "DSERR_ALREADYINITIALIZED", "This object is already initialized")
- DXERROR(0x88780096, "DSERR_BUFFERLOST", "The buffer memory has been lost, and must be restored")
- DXERROR(0x887800a0, "DSERR_OTHERAPPHASPRIO", "Another app has a higher priority level, preventing this call from succeeding")
- DXERROR(0x887800aa, "DSERR_UNINITIALIZED", "This object has not been initialized")
- DXERROR(0x887800b4, "DSERR_BUFFERTOOSMALL", "Tried to create a DSBCAPS_CTRLFX buffer shorter than DSBSIZE_FX_MIN milliseconds")
- DXERROR(0x887800be, "DSERR_DS8_REQUIRED", "Attempt to use DirectSound 8 functionality on an older DirectSound object")
- DXERROR(0x887800c8, "DSERR_SENDLOOP", "A circular loop of send effects was detected")
- DXERROR(0x887800d2, "DSERR_BADSENDBUFFERGUID", "The GUID specified in an audiopath file does not match a valid MIXIN buffer")
- DXERROR(0x88781101, "DMUS_E_DRIVER_FAILED", "An unexpected error was returned from a device driver, indicating possible failure of the driver or hardware.")
- DXERROR(0x88781102, "DMUS_E_PORTS_OPEN", "The requested operation cannot be performed while there are instantiated ports in any process in the system.")
- DXERROR(0x88781103, "DMUS_E_DEVICE_IN_USE", "The requested device is already in use (possibly by a non-DirectMusic client) and cannot be opened again.")
- DXERROR(0x88781104, "DMUS_E_INSUFFICIENTBUFFER", "Buffer is not large enough for requested operation.")
- DXERROR(0x88781105, "DMUS_E_BUFFERNOTSET", "No buffer was prepared for the download data.")
- DXERROR(0x88781106, "DMUS_E_BUFFERNOTAVAILABLE", "Download failed due to inability to access or create download buffer.")
- DXERROR(0x88781108, "DMUS_E_NOTADLSCOL", "Error parsing DLS collection. File is corrupt.")
- DXERROR(0x88781109, "DMUS_E_INVALIDOFFSET", "Wave chunks in DLS collection file are at incorrect offsets.")
- DXERROR(0x88781111, "DMUS_E_ALREADY_LOADED", "Second attempt to load a DLS collection that is currently open. ")
- DXERROR(0x88781113, "DMUS_E_INVALIDPOS", "Error reading wave data from DLS collection. Indicates bad file.")
- DXERROR(0x88781114, "DMUS_E_INVALIDPATCH", "There is no instrument in the collection that matches patch number.")
- DXERROR(0x88781115, "DMUS_E_CANNOTSEEK", "The IStream* doesn't support Seek().")
- DXERROR(0x88781116, "DMUS_E_CANNOTWRITE", "The IStream* doesn't support Write().")
- DXERROR(0x88781117, "DMUS_E_CHUNKNOTFOUND", "The RIFF parser doesn't contain a required chunk while parsing file.")
- DXERROR(0x88781119, "DMUS_E_INVALID_DOWNLOADID", "Invalid download id was used in the process of creating a download buffer.")
- DXERROR(0x88781120, "DMUS_E_NOT_DOWNLOADED_TO_PORT", "Tried to unload an object that was not downloaded or previously unloaded.")
- DXERROR(0x88781121, "DMUS_E_ALREADY_DOWNLOADED", "Buffer was already downloaded to synth.")
- DXERROR(0x88781122, "DMUS_E_UNKNOWN_PROPERTY", "The specified property item was not recognized by the target object.")
- DXERROR(0x88781123, "DMUS_E_SET_UNSUPPORTED", "The specified property item may not be set on the target object.")
- DXERROR(0x88781124, "DMUS_E_GET_UNSUPPORTED", "* The specified property item may not be retrieved from the target object.")
- DXERROR(0x88781125, "DMUS_E_NOTMONO", "Wave chunk has more than one interleaved channel. DLS format requires MONO.")
- DXERROR(0x88781126, "DMUS_E_BADARTICULATION", "Invalid articulation chunk in DLS collection.")
- DXERROR(0x88781127, "DMUS_E_BADINSTRUMENT", "Invalid instrument chunk in DLS collection.")
- DXERROR(0x88781128, "DMUS_E_BADWAVELINK", "Wavelink chunk in DLS collection points to invalid wave.")
- DXERROR(0x88781129, "DMUS_E_NOARTICULATION", "Articulation missing from instrument in DLS collection.")
- DXERROR(0x8878112a, "DMUS_E_NOTPCM", "Downoaded DLS wave is not in PCM format. ")
- DXERROR(0x8878112b, "DMUS_E_BADWAVE", "Bad wave chunk in DLS collection")
- DXERROR(0x8878112c, "DMUS_E_BADOFFSETTABLE", "Offset Table for download buffer has errors. ")
- DXERROR(0x8878112d, "DMUS_E_UNKNOWNDOWNLOAD", "Attempted to download unknown data type.")
- DXERROR(0x8878112e, "DMUS_E_NOSYNTHSINK", "The operation could not be completed because no sink was connected to the synthesizer.")
- DXERROR(0x8878112f, "DMUS_E_ALREADYOPEN", "An attempt was made to open the software synthesizer while it was already open.")
- DXERROR(0x88781130, "DMUS_E_ALREADYCLOSED", "An attempt was made to close the software synthesizer while it was already open.")
- DXERROR(0x88781131, "DMUS_E_SYNTHNOTCONFIGURED", "The operation could not be completed because the software synth has not yet been fully configured.")
- DXERROR(0x88781132, "DMUS_E_SYNTHACTIVE", "The operation cannot be carried out while the synthesizer is active.")
- DXERROR(0x88781133, "DMUS_E_CANNOTREAD", "An error occurred while attempting to read from the IStream* object.")
- DXERROR(0x88781134, "DMUS_E_DMUSIC_RELEASED", "The operation cannot be performed because the final instance of the DirectMusic object was released. Ports cannot be used after final release of the DirectMusic object.")
- DXERROR(0x88781135, "DMUS_E_BUFFER_EMPTY", "There was no data in the referenced buffer.")
- DXERROR(0x88781136, "DMUS_E_BUFFER_FULL", "There is insufficient space to insert the given event into the buffer.")
- DXERROR(0x88781137, "DMUS_E_PORT_NOT_CAPTURE", "The given operation could not be carried out because the port is a capture port.")
- DXERROR(0x88781138, "DMUS_E_PORT_NOT_RENDER", "The given operation could not be carried out because the port is a render port.")
- DXERROR(0x88781139, "DMUS_E_DSOUND_NOT_SET", "The port could not be created because no DirectSound has been specified. Specify a DirectSound interface via the IDirectMusic::SetDirectSound method; pass NULL to have DirectMusic manage usage of DirectSound.")
- DXERROR(0x8878113a, "DMUS_E_ALREADY_ACTIVATED", "The operation cannot be carried out while the port is active.")
- DXERROR(0x8878113b, "DMUS_E_INVALIDBUFFER", "Invalid DirectSound buffer was handed to port. ")
- DXERROR(0x8878113c, "DMUS_E_WAVEFORMATNOTSUPPORTED", "Invalid buffer format was handed to the synth sink.")
- DXERROR(0x8878113d, "DMUS_E_SYNTHINACTIVE", "The operation cannot be carried out while the synthesizer is inactive.")
- DXERROR(0x8878113e, "DMUS_E_DSOUND_ALREADY_SET", "IDirectMusic::SetDirectSound has already been called. It may not be changed while in use.")
- DXERROR(0x8878113f, "DMUS_E_INVALID_EVENT", "The given event is invalid (either it is not a valid MIDI message or it makes use of running status). The event cannot be packed into the buffer.")
- DXERROR(0x88781150, "DMUS_E_UNSUPPORTED_STREAM", "The IStream* object does not contain data supported by the loading object.")
- DXERROR(0x88781151, "DMUS_E_ALREADY_INITED", "The object has already been initialized.")
- DXERROR(0x88781152, "DMUS_E_INVALID_BAND", "The file does not contain a valid band.")
- DXERROR(0x88781155, "DMUS_E_TRACK_HDR_NOT_FIRST_CK", "The IStream* object's data does not have a track header as the first chunk, and therefore can not be read by the segment object.")
- DXERROR(0x88781156, "DMUS_E_TOOL_HDR_NOT_FIRST_CK", "The IStream* object's data does not have a tool header as the first chunk, and therefore can not be read by the graph object.")
- DXERROR(0x88781157, "DMUS_E_INVALID_TRACK_HDR", "The IStream* object's data contains an invalid track header (ckid is 0 and fccType is NULL,) and therefore can not be read by the segment object.")
- DXERROR(0x88781158, "DMUS_E_INVALID_TOOL_HDR", "The IStream* object's data contains an invalid tool header (ckid is 0 and fccType is NULL,) and therefore can not be read by the graph object.")
- DXERROR(0x88781159, "DMUS_E_ALL_TOOLS_FAILED", "The graph object was unable to load all tools from the IStream* object data. This may be due to errors in the stream, or the tools being incorrectly registered on the client.")
- DXERROR(0x88781160, "DMUS_E_ALL_TRACKS_FAILED", "The segment object was unable to load all tracks from the IStream* object data. This may be due to errors in the stream, or the tracks being incorrectly registered on the client.")
- DXERROR(0x88781161, "DSERR_OBJECTNOTFOUND", "The object requested was not found (numerically equal to DMUS_E_NOT_FOUND)")
- DXERROR(0x88781162, "DMUS_E_NOT_INIT", "A required object is not initialized or failed to initialize.")
- DXERROR(0x88781163, "DMUS_E_TYPE_DISABLED", "The requested parameter type is currently disabled. Parameter types may be enabled and disabled by certain calls to SetParam().")
- DXERROR(0x88781164, "DMUS_E_TYPE_UNSUPPORTED", "The requested parameter type is not supported on the object.")
- DXERROR(0x88781165, "DMUS_E_TIME_PAST", "The time is in the past, and the operation can not succeed.")
- DXERROR(0x88781166, "DMUS_E_TRACK_NOT_FOUND", "The requested track is not contained by the segment.")
- DXERROR(0x88781167, "DMUS_E_TRACK_NO_CLOCKTIME_SUPPORT", "The track does not support clock time playback or getparam.")
- DXERROR(0x88781170, "DMUS_E_NO_MASTER_CLOCK", "There is no master clock in the performance. Be sure to call IDirectMusicPerformance::Init().")
- DXERROR(0x88781180, "DMUS_E_LOADER_NOCLASSID", "The class id field is required and missing in the DMUS_OBJECTDESC.")
- DXERROR(0x88781181, "DMUS_E_LOADER_BADPATH", "The requested file path is invalid.")
- DXERROR(0x88781182, "DMUS_E_LOADER_FAILEDOPEN", "File open failed - either file doesn't exist or is locked.")
- DXERROR(0x88781183, "DMUS_E_LOADER_FORMATNOTSUPPORTED", "Search data type is not supported.")
- DXERROR(0x88781184, "DMUS_E_LOADER_FAILEDCREATE", "Unable to find or create object.")
- DXERROR(0x88781185, "DMUS_E_LOADER_OBJECTNOTFOUND", "Object was not found.")
- DXERROR(0x88781186, "DMUS_E_LOADER_NOFILENAME", "The file name is missing from the DMUS_OBJECTDESC.")
- DXERROR(0x88781200, "DMUS_E_INVALIDFILE", "The file requested is not a valid file.")
- DXERROR(0x88781201, "DMUS_E_ALREADY_EXISTS", "The tool is already contained in the graph. Create a new instance.")
- DXERROR(0x88781202, "DMUS_E_OUT_OF_RANGE", "Value is out of range, for instance the requested length is longer than the segment.")
- DXERROR(0x88781203, "DMUS_E_SEGMENT_INIT_FAILED", "Segment initialization failed, most likely due to a critical memory situation.")
- DXERROR(0x88781204, "DMUS_E_ALREADY_SENT", "The DMUS_PMSG has already been sent to the performance object via IDirectMusicPerformance::SendPMsg().")
- DXERROR(0x88781205, "DMUS_E_CANNOT_FREE", "The DMUS_PMSG was either not allocated by the performance via IDirectMusicPerformance::AllocPMsg() or it was already freed via IDirectMusicPerformance::FreePMsg().")
- DXERROR(0x88781206, "DMUS_E_CANNOT_OPEN_PORT", "The default system port could not be opened.")
- DXERROR(0x88781207, "DMUS_E_CANNOT_CONVERT", "A call to MIDIToMusic() or MusicToMIDI() resulted in an error because the requested conversion could not happen. This usually occurs when the provided DMUS_CHORD_KEY structure has an invalid chord or scale pattern.")
- DXERROR(0x88781210, "DMUS_E_DESCEND_CHUNK_FAIL", "DMUS_E_DESCEND_CHUNK_FAIL is returned when the end of the file was reached before the desired chunk was found.")
- DXERROR(0x88781211, "DMUS_E_NOT_LOADED", "An attempt to use this object failed because it first needs to be loaded.")
- DXERROR(0x88781213, "DMUS_E_SCRIPT_LANGUAGE_INCOMPATIBLE", "The activeX scripting engine for the script's language is not compatible with DirectMusic.")
- DXERROR(0x88781214, "DMUS_E_SCRIPT_UNSUPPORTED_VARTYPE", "A varient was used that had a type that is not supported by DirectMusic.")
- DXERROR(0x88781215, "DMUS_E_SCRIPT_DXERROR_IN_SCRIPT", "An error was encountered while parsing or executing the script. The pErrorInfo parameter (if supplied) was filled with information about the error.")
- DXERROR(0x88781216, "DMUS_E_SCRIPT_CANTLOAD_OLEAUT32", "Loading of oleaut32.dll failed. VBScript and other activeX scripting languages require use of oleaut32.dll. On platforms where oleaut32.dll is not present, only the DirectMusicScript language, which doesn't require oleaut32.dll can be used.")
- DXERROR(0x88781217, "DMUS_E_SCRIPT_LOADSCRIPT_DXERROR", "An error occured while parsing a script loaded using LoadScript. The script that was loaded contains an error.")
- DXERROR(0x88781218, "DMUS_E_SCRIPT_INVALID_FILE", "The script file is invalid.")
- DXERROR(0x88781219, "DMUS_E_INVALID_SCRIPTTRACK", "The file contains an invalid script track.")
- DXERROR(0x8878121a, "DMUS_E_SCRIPT_VARIABLE_NOT_FOUND", "The script does not contain a variable with the specified name.")
- DXERROR(0x8878121b, "DMUS_E_SCRIPT_ROUTINE_NOT_FOUND", "The script does not contain a routine with the specified name.")
- DXERROR(0x8878121c, "DMUS_E_SCRIPT_CONTENT_READONLY", "Scripts variables for content referenced or embedded in a script cannot be set.")
- DXERROR(0x8878121d, "DMUS_E_SCRIPT_NOT_A_REFERENCE", "Attempt was made to set a script's variable by reference to a value that was not an object type.")
- DXERROR(0x8878121e, "DMUS_E_SCRIPT_VALUE_NOT_SUPPORTED", "Attempt was made to set a script's variable by value to an object that does not support a default value property.")
- DXERROR(0x88781220, "DMUS_E_INVALID_SEGMENTTRIGGERTRACK", "The file contains an invalid segment trigger track.")
- DXERROR(0x88781221, "DMUS_E_INVALID_LYRICSTRACK", "The file contains an invalid lyrics track.")
- DXERROR(0x88781222, "DMUS_E_INVALID_PARAMCONTROLTRACK", "The file contains an invalid parameter control track.")
- DXERROR(0x88781223, "DMUS_E_AUDIOVBSCRIPT_SYNTAXDXERROR", "A script written in AudioVBScript could not be read because it contained a statement that is not allowed by the AudioVBScript language.")
- DXERROR(0x88781224, "DMUS_E_AUDIOVBSCRIPT_RUNTIMEDXERROR", "A script routine written in AudioVBScript failed because an invalid operation occurred. For example, adding the number 3 to a segment object would produce this error. So would attempting to call a routine that doesn't exist.")
- DXERROR(0x88781225, "DMUS_E_AUDIOVBSCRIPT_OPERATIONFAILURE", "A script routine written in AudioVBScript failed because a function outside of a script failed to complete. For example, a call to PlaySegment that fails to play because of low memory would return this error.")
- DXERROR(0x88781226, "DMUS_E_AUDIOPATHS_NOT_VALID", "The Performance has set up some PChannels using the AssignPChannel command, which makes it not capable of supporting audio paths.")
- DXERROR(0x88781227, "DMUS_E_AUDIOPATHS_IN_USE", "This is the inverse of the previous error. The Performance has set up some audio paths, which makes is incompatible with the calls to allocate pchannels, etc. ")
- DXERROR(0x88781228, "DMUS_E_NO_AUDIOPATH_CONFIG", "A segment or song was asked for its embedded audio path configuration, but there isn't any. ")
- DXERROR(0x88781229, "DMUS_E_AUDIOPATH_INACTIVE", "An audiopath is inactive, perhaps because closedown was called.")
- DXERROR(0x8878122a, "DMUS_E_AUDIOPATH_NOBUFFER", "An audiopath failed to create because a requested buffer could not be created.")
- DXERROR(0x8878122b, "DMUS_E_AUDIOPATH_NOPORT", "An audiopath could not be used for playback because it lacked port assignments.")
- DXERROR(0x8878122c, "DMUS_E_NO_AUDIOPATH", "Attempt was made to play segment in audiopath mode and there was no audiopath.")
- DXERROR(0x8878122d, "DMUS_E_INVALIDCHUNK", "Invalid data was found in a RIFF file chunk.")
- DXERROR(0x8878122e, "DMUS_E_AUDIOPATH_NOGLOBALFXBUFFER", "Attempt was made to create an audiopath that sends to a global effects buffer which did not exist.")
- DXERRORLAST(0x8878122f, "DMUS_E_INVALID_CONTAINER_OBJECT", "The file does not contain a valid container object.")
-};
-
-static Error UnknownError = DXERRORLAST(0xffffffff, "Unknown", "n/a");
-
-static Error *FindError(unsigned long hr)
-{
- register Error *Base = &Errors[0];
- register int Limit;
- register Error *Ptr;
-
- for (Limit = sizeof(Errors) / sizeof(Error); Limit != 0; Limit >>= 1)
- {
- Ptr = Base + (Limit >> 1);
- if (hr == Ptr->Value)
- return Ptr;
- if (hr > Ptr->Value)
- {
- Base = Ptr + 1;
- Limit--;
- }
- }
- return &UnknownError;
-}
-
-const TCHAR * __stdcall DXGetErrorString(unsigned long hr)
-{
- return FindError(hr)->Name;
-}
-
-const TCHAR * __stdcall DXGetErrorDescription(unsigned long hr)
-{
- return FindError(hr)->Description;
-}
-
-HRESULT __stdcall DXTrace(char *strFile, DWORD dwLine, HRESULT hr,
- TCHAR *strMsg, BOOL bPopMsgBox)
-{
-// FIXME: Decide which version to use?
-// The first version uses dynamic memory allocation and is
-// safer. Second version uses static arrays and that is why
-// it can be better for debugging.
-#if 0
- const TCHAR *ErrorName = DXGetErrorString9(hr);
- TCHAR *DebugMessage;
-
- DebugMessage = (TCHAR *)malloc((strlen(strFile) + (strMsg ? _tcslen(strMsg) : 0) + _tcslen(ErrorName) + 48) * sizeof(TCHAR));
- if (DebugMessage == 0)
- return hr;
- wsprintf(DebugMessage, TEXT("%hs(%Lu): %s (hr=%s(0x%Lx))"), strFile, dwLine, (strMsg ? strMsg : TEXT("")) ErrorName, hr);
- OutputDebugString(DebugMessage);
- free(DebugMessage);
-
- if (bPopMsgBox)
- {
- int Result;
-
- DebugMessage = (TCHAR *)malloc((strlen(strFile) + (strMsg ? _tcslen(strMsg) : 0) + _tcslen(ErrorName) + 60) * sizeof(TCHAR));
- if (DebugMessage == 0)
- return DXERROR_NOT_ENOUGH_MEMORY;
- wsprintf(DebugMessage,
- TEXT("File: %hs\nLine: %Lu\nError Code: %s(0x%Lx)\nCalling: %s\n"
- "Do you want to debug the application?"), strFile, dwLine,
- ErrorName, hr, (strMsg ? strMsg : TEXT("")));
- Result = MessageBox(0, DebugMessage, TEXT("Unexpected error encountred"), MB_YESNO | MB_ICONDXERROR);
- if (Result == 0)
- return hr;
- if (Result == IDYES)
- {
- free(DebugMessage);
- DebugBreak();
- } else
- free(DebugMessage);
- }
- return hr;
-#else
- const TCHAR *ErrorName = DXGetErrorString(hr);
- TCHAR DebugMessage[4096];
-
- wsprintf(DebugMessage, TEXT("%hs(%Lu): %s (hr=%s(0x%Lx))"), strFile, dwLine, (strMsg ? strMsg : TEXT("")), ErrorName, hr);
- OutputDebugString(DebugMessage);
- if (bPopMsgBox)
- {
- int Result;
- wsprintf(DebugMessage,
- TEXT("File: %hs\nLine: %Lu\nError Code: %s(0x%Lx)\nCalling: %s\n"
- "Do you want to debug the application?"), strFile, dwLine,
- ErrorName, hr, (strMsg ? strMsg : TEXT("")));
- Result = MessageBox(0, DebugMessage, TEXT("Unexpected error encountred"), MB_YESNO | MB_ICONERROR);
- if (Result == IDYES)
- DebugBreak();
- }
- return hr;
-#endif
-}
-
diff --git a/winsup/w32api/lib/directx/dxerr8.c b/winsup/w32api/lib/directx/dxerr8.c
deleted file mode 100644
index 6794e32d8..000000000
--- a/winsup/w32api/lib/directx/dxerr8.c
+++ /dev/null
@@ -1,18 +0,0 @@
-/*
-
- dxerr8.c - DirectX 8 Error Functions
-
- Written by Filip Navara <xnavara@volny.cz>
-
- This library 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.
-
-*/
-
-#define DXGetErrorString DXGetErrorString8A
-#define DXGetErrorDescription DXGetErrorDescription8A
-#define DXTrace DXTraceA
-#define DXERROR8(v,n,d) {v, n, d},
-#define DXERROR8LAST(v,n,d) {v, n, d}
-#include "dxerr.c"
diff --git a/winsup/w32api/lib/directx/dxerr8w.c b/winsup/w32api/lib/directx/dxerr8w.c
deleted file mode 100644
index 207bd884b..000000000
--- a/winsup/w32api/lib/directx/dxerr8w.c
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
-
- dxerr8w.c - DirectX 8 Wide Character Error Functions
-
- Written by Filip Navara <xnavara@volny.cz>
-
- This library 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.
-
-*/
-
-#define UNICODE
-#define _UNICODE
-#define DXGetErrorString DXGetErrorString8W
-#define DXGetErrorDescription DXGetErrorDescription8W
-#define DXTrace DXTraceW
-#define DXERROR8(v,n,d) {v, L##n, L##d},
-#define DXERROR8LAST(v,n,d) {v, L##n, L##d}
-#include "dxerr.c"
-
diff --git a/winsup/w32api/lib/directx/dxerr9.c b/winsup/w32api/lib/directx/dxerr9.c
deleted file mode 100644
index af2d859e0..000000000
--- a/winsup/w32api/lib/directx/dxerr9.c
+++ /dev/null
@@ -1,18 +0,0 @@
-/*
-
- dxerr9.c - DirectX 9 Error Functions
-
- Written by Filip Navara <xnavara@volny.cz>
-
- This library 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.
-
-*/
-
-#define DXGetErrorString DXGetErrorString9A
-#define DXGetErrorDescription DXGetErrorDescription9A
-#define DXTrace DXTraceA
-#define DXERROR9(v,n,d) {v, n, d},
-#define DXERROR9LAST(v,n,d) {v, n, d}
-#include "dxerr.c"
diff --git a/winsup/w32api/lib/directx/dxerr9w.c b/winsup/w32api/lib/directx/dxerr9w.c
deleted file mode 100644
index 9556598a0..000000000
--- a/winsup/w32api/lib/directx/dxerr9w.c
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
-
- dxerr9w.c - DirectX 9 Wide Character Error Functions
-
- Written by Filip Navara <xnavara@volny.cz>
-
- This library 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.
-
-*/
-
-#define UNICODE
-#define _UNICODE
-#define DXGetErrorString DXGetErrorString9W
-#define DXGetErrorDescription DXGetErrorDescription9W
-#define DXTrace DXTraceW
-#define DXERROR9(v,n,d) {v, L##n, L##d},
-#define DXERROR9LAST(v,n,d) {v, L##n, L##d}
-#include "dxerr.c"
-
diff --git a/winsup/w32api/lib/directx/dxguid.c b/winsup/w32api/lib/directx/dxguid.c
deleted file mode 100644
index 4d55b1aa6..000000000
--- a/winsup/w32api/lib/directx/dxguid.c
+++ /dev/null
@@ -1,607 +0,0 @@
-/*
-
- dxguid.c - DirectX GUIDs
-
- Written by Filip Navara <xnavara@volny.cz>
-
- This library 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.
-
-*/
-
-#if defined(__LCC__) || defined(__GNUC__)
-#define INITGUID 1
-#include <windows.h>
-#else
-#include <basetyps.h>
-#endif
-
-DEFINE_GUID(CLSID_CDirect3DRM,0x4516ec41,0x8f20,0x11d0,0x9b,0x6d,0x0,0x0,0xc0,0x78,0x1b,0xc3);
-DEFINE_GUID(CLSID_CDirect3DRMAnimation,0x4fa35698,0x623f,0x11cf,0xac,0x4a,0x0,0x0,0xc0,0x38,0x25,0xa1);
-DEFINE_GUID(CLSID_CDirect3DRMAnimationSet,0x4fa35699,0x623f,0x11cf,0xac,0x4a,0x0,0x0,0xc0,0x38,0x25,0xa1);
-DEFINE_GUID(CLSID_CDirect3DRMClippedVisual,0x5434e72d,0x6d66,0x11d1,0xbb,0xb,0x0,0x0,0xf8,0x75,0x86,0x5a);
-DEFINE_GUID(CLSID_CDirect3DRMDevice,0x4fa3568e,0x623f,0x11cf,0xac,0x4a,0x0,0x0,0xc0,0x38,0x25,0xa1);
-DEFINE_GUID(CLSID_CDirect3DRMFace,0x4fa35693,0x623f,0x11cf,0xac,0x4a,0x0,0x0,0xc0,0x38,0x25,0xa1);
-DEFINE_GUID(CLSID_CDirect3DRMFrame,0x4fa35690,0x623f,0x11cf,0xac,0x4a,0x0,0x0,0xc0,0x38,0x25,0xa1);
-DEFINE_GUID(CLSID_CDirect3DRMFrameInterpolator,0xde9eaa2,0x3b84,0x11d0,0x9b,0x6d,0x0,0x0,0xc0,0x78,0x1b,0xc3);
-DEFINE_GUID(CLSID_CDirect3DRMLight,0x4fa35694,0x623f,0x11cf,0xac,0x4a,0x0,0x0,0xc0,0x38,0x25,0xa1);
-DEFINE_GUID(CLSID_CDirect3DRMLightInterpolator,0xde9eaa6,0x3b84,0x11d0,0x9b,0x6d,0x0,0x0,0xc0,0x78,0x1b,0xc3);
-DEFINE_GUID(CLSID_CDirect3DRMMaterial,0x4fa35697,0x623f,0x11cf,0xac,0x4a,0x0,0x0,0xc0,0x38,0x25,0xa1);
-DEFINE_GUID(CLSID_CDirect3DRMMaterialInterpolator,0xde9eaa7,0x3b84,0x11d0,0x9b,0x6d,0x0,0x0,0xc0,0x78,0x1b,0xc3);
-DEFINE_GUID(CLSID_CDirect3DRMMesh,0x4fa35691,0x623f,0x11cf,0xac,0x4a,0x0,0x0,0xc0,0x38,0x25,0xa1);
-DEFINE_GUID(CLSID_CDirect3DRMMeshBuilder,0x4fa35692,0x623f,0x11cf,0xac,0x4a,0x0,0x0,0xc0,0x38,0x25,0xa1);
-DEFINE_GUID(CLSID_CDirect3DRMMeshInterpolator,0xde9eaa3,0x3b84,0x11d0,0x9b,0x6d,0x0,0x0,0xc0,0x78,0x1b,0xc3);
-DEFINE_GUID(CLSID_CDirect3DRMProgressiveMesh,0x4516ec40,0x8f20,0x11d0,0x9b,0x6d,0x0,0x0,0xc0,0x78,0x1b,0xc3);
-DEFINE_GUID(CLSID_CDirect3DRMShadow,0x4fa3569b,0x623f,0x11cf,0xac,0x4a,0x0,0x0,0xc0,0x38,0x25,0xa1);
-DEFINE_GUID(CLSID_CDirect3DRMTexture,0x4fa35695,0x623f,0x11cf,0xac,0x4a,0x0,0x0,0xc0,0x38,0x25,0xa1);
-DEFINE_GUID(CLSID_CDirect3DRMTextureInterpolator,0xde9eaa8,0x3b84,0x11d0,0x9b,0x6d,0x0,0x0,0xc0,0x78,0x1b,0xc3);
-DEFINE_GUID(CLSID_CDirect3DRMUserVisual,0x4fa3569a,0x623f,0x11cf,0xac,0x4a,0x0,0x0,0xc0,0x38,0x25,0xa1);
-DEFINE_GUID(CLSID_CDirect3DRMViewport,0x4fa3568f,0x623f,0x11cf,0xac,0x4a,0x0,0x0,0xc0,0x38,0x25,0xa1);
-DEFINE_GUID(CLSID_CDirect3DRMViewportInterpolator,0xde9eaa1,0x3b84,0x11d0,0x9b,0x6d,0x0,0x0,0xc0,0x78,0x1b,0xc3);
-DEFINE_GUID(CLSID_CDirect3DRMWrap,0x4fa35696,0x623f,0x11cf,0xac,0x4a,0x0,0x0,0xc0,0x38,0x25,0xa1);
-DEFINE_GUID(CLSID_CDirectXFile,0x4516ec43,0x8f20,0x11d0,0x9b,0x6d,0x0,0x0,0xc0,0x78,0x1b,0xc3);
-DEFINE_GUID(CLSID_DirectDraw,0xd7b70ee0,0x4340,0x11cf,0xb0,0x63,0x0,0x20,0xaf,0xc2,0xcd,0x35);
-DEFINE_GUID(CLSID_DirectDraw7,0x3c305196,0x50db,0x11d3,0x9c,0xfe,0x00,0xc0,0x4f,0xd9,0x30,0xc5);
-DEFINE_GUID(CLSID_DirectDrawClipper,0x593817a0,0x7db3,0x11cf,0xa2,0xde,0x0,0xaa,0x0,0xb9,0x33,0x56);
-DEFINE_GUID(CLSID_DirectDrawFactory2,0xb9dc4790,0x4af1,0x11d1,0x8c,0x4c,0x0,0xc0,0x4f,0xd9,0x30,0xc5);
-DEFINE_GUID(CLSID_DirectInput,0x25e609e0,0xb259,0x11cf,0xbf,0xc7,0x44,0x45,0x53,0x54,0x0,0x0);
-DEFINE_GUID(CLSID_DirectInput8,0x25e609e4,0xb259,0x11cf,0xbf,0xc7,0x44,0x45,0x53,0x54,0x00,0x00);
-DEFINE_GUID(CLSID_DirectInputDevice,0x25e609e1,0xb259,0x11cf,0xbf,0xc7,0x44,0x45,0x53,0x54,0x0,0x0);
-DEFINE_GUID(CLSID_DirectInputDevice8,0x25e609e5,0xb259,0x11cf,0xbf,0xc7,0x44,0x45,0x53,0x54,0x00,0x00);
-DEFINE_GUID(CLSID_DirectMusic,0x636b9f10,0xc7d,0x11d1,0x95,0xb2,0x0,0x20,0xaf,0xdc,0x74,0x21);
-DEFINE_GUID(CLSID_DirectMusicAudioPathConfig,0xee0b9ca0,0xa81e,0x11d3,0x9b,0xd1,0x0,0x80,0xc7,0x15,0xa,0x74);
-DEFINE_GUID(CLSID_DirectMusicBand,0x79ba9e00,0xb6ee,0x11d1,0x86,0xbe,0x0,0xc0,0x4f,0xbf,0x8f,0xef);
-DEFINE_GUID(CLSID_DirectMusicBandTrack,0xd2ac2894,0xb39b,0x11d1,0x87,0x4,0x0,0x60,0x8,0x93,0xb1,0xbd);
-DEFINE_GUID(CLSID_DirectMusicCollection,0x480ff4b0,0x28b2,0x11d1,0xbe,0xf7,0x0,0xc0,0x4f,0xbf,0x8f,0xef);
-DEFINE_GUID(CLSID_DirectMusicCommandTrack,0xd2ac288c,0xb39b,0x11d1,0x87,0x4,0x0,0x60,0x8,0x93,0xb1,0xbd);
-DEFINE_GUID(CLSID_DirectMusicComposer,0xd2ac2890,0xb39b,0x11d1,0x87,0x4,0x0,0x60,0x8,0x93,0xb1,0xbd);
-DEFINE_GUID(CLSID_DirectMusicContainer,0x9301e380,0x1f22,0x11d3,0x82,0x26,0xd2,0xfa,0x76,0x25,0x5d,0x47);
-DEFINE_GUID(CLSID_DirectMusicGraph,0xd2ac2884,0xb39b,0x11d1,0x87,0x4,0x0,0x60,0x8,0x93,0xb1,0xbd);
-DEFINE_GUID(CLSID_DirectMusicChordMap,0xd2ac288f,0xb39b,0x11d1,0x87,0x4,0x0,0x60,0x8,0x93,0xb1,0xbd);
-DEFINE_GUID(CLSID_DirectMusicChordMapTrack,0xd2ac2896,0xb39b,0x11d1,0x87,0x4,0x0,0x60,0x8,0x93,0xb1,0xbd);
-DEFINE_GUID(CLSID_DirectMusicChordTrack,0xd2ac288b,0xb39b,0x11d1,0x87,0x4,0x0,0x60,0x8,0x93,0xb1,0xbd);
-DEFINE_GUID(CLSID_DirectMusicLoader,0xd2ac2892,0xb39b,0x11d1,0x87,0x4,0x0,0x60,0x8,0x93,0xb1,0xbd);
-DEFINE_GUID(CLSID_DirectMusicLyricsTrack,0x995c1cf5,0x54ff,0x11d3,0x8b,0xda,0x0,0x60,0x8,0x93,0xb1,0xb6);
-DEFINE_GUID(CLSID_DirectMusicMarkerTrack,0x55a8fd00,0x4288,0x11d3,0x9b,0xd1,0x8a,0xd,0x61,0xc8,0x88,0x35);
-DEFINE_GUID(CLSID_DirectMusicMelodyFormulationTrack,0xb0684266,0xb57f,0x11d2,0x97,0xf9,0x0,0xc0,0x4f,0xa3,0x6e,0x58);
-DEFINE_GUID(CLSID_DirectMusicMotifTrack,0xd2ac288e,0xb39b,0x11d1,0x87,0x4,0x0,0x60,0x8,0x93,0xb1,0xbd);
-DEFINE_GUID(CLSID_DirectMusicMuteTrack,0xd2ac2898,0xb39b,0x11d1,0x87,0x4,0x0,0x60,0x8,0x93,0xb1,0xbd);
-DEFINE_GUID(CLSID_DirectMusicParamControlTrack,0x4be0537b,0x5c19,0x11d3,0x8b,0xdc,0x0,0x60,0x8,0x93,0xb1,0xb6);
-DEFINE_GUID(CLSID_DirectMusicPatternTrack,0xd2ac2897,0xb39b,0x11d1,0x87,0x4,0x0,0x60,0x8,0x93,0xb1,0xbd);
-DEFINE_GUID(CLSID_DirectMusicPerformance,0xd2ac2881,0xb39b,0x11d1,0x87,0x4,0x0,0x60,0x8,0x93,0xb1,0xbd);
-DEFINE_GUID(CLSID_DirectMusicScript,0x810b5013,0xe88d,0x11d2,0x8b,0xc1,0x0,0x60,0x8,0x93,0xb1,0xb6);
-DEFINE_GUID(CLSID_DirectMusicScriptTrack,0x4108fa85,0x3586,0x11d3,0x8b,0xd7,0x0,0x60,0x8,0x93,0xb1,0xb6);
-DEFINE_GUID(CLSID_DirectMusicSegment,0xd2ac2882,0xb39b,0x11d1,0x87,0x4,0x0,0x60,0x8,0x93,0xb1,0xbd);
-DEFINE_GUID(CLSID_DirectMusicSegmentState,0xd2ac2883,0xb39b,0x11d1,0x87,0x4,0x0,0x60,0x8,0x93,0xb1,0xbd);
-DEFINE_GUID(CLSID_DirectMusicSegmentTriggerTrack,0xbae4d665,0x4ea1,0x11d3,0x8b,0xda,0x0,0x60,0x8,0x93,0xb1,0xb6);
-DEFINE_GUID(CLSID_DirectMusicSeqTrack,0xd2ac2886,0xb39b,0x11d1,0x87,0x4,0x0,0x60,0x8,0x93,0xb1,0xbd);
-DEFINE_GUID(CLSID_DirectMusicSignPostTrack,0xf17e8672,0xc3b4,0x11d1,0x87,0xb,0x0,0x60,0x8,0x93,0xb1,0xbd);
-DEFINE_GUID(CLSID_DirectMusicSong,0xaed5f0a5,0xd972,0x483d,0xa3,0x84,0x64,0x9d,0xfe,0xb9,0xc1,0x81);
-DEFINE_GUID(CLSID_DirectMusicStyle,0xd2ac288a,0xb39b,0x11d1,0x87,0x4,0x0,0x60,0x8,0x93,0xb1,0xbd);
-DEFINE_GUID(CLSID_DirectMusicStyleTrack,0xd2ac288d,0xb39b,0x11d1,0x87,0x4,0x0,0x60,0x8,0x93,0xb1,0xbd);
-DEFINE_GUID(CLSID_DirectMusicSynth,0x58c2b4d0,0x46e7,0x11d1,0x89,0xac,0x0,0xa0,0xc9,0x5,0x41,0x29);
-DEFINE_GUID(CLSID_DirectMusicSysExTrack,0xd2ac2887,0xb39b,0x11d1,0x87,0x4,0x0,0x60,0x8,0x93,0xb1,0xbd);
-DEFINE_GUID(CLSID_DirectMusicTempoTrack,0xd2ac2885,0xb39b,0x11d1,0x87,0x4,0x0,0x60,0x8,0x93,0xb1,0xbd);
-DEFINE_GUID(CLSID_DirectMusicTimeSigTrack,0xd2ac2888,0xb39b,0x11d1,0x87,0x4,0x0,0x60,0x8,0x93,0xb1,0xbd);
-DEFINE_GUID(CLSID_DirectMusicWaveTrack,0xeed36461,0x9ea5,0x11d3,0x9b,0xd1,0x0,0x80,0xc7,0x15,0xa,0x74);
-DEFINE_GUID(CLSID_DirectPlay,0xd1eb6d20,0x8923,0x11d0,0x9d,0x97,0x0,0xa0,0xc9,0xa,0x43,0xcb);
-DEFINE_GUID(CLSID_DirectPlay8Address,0x934a9523,0xa3ca,0x4bc5,0xad,0xa0,0xd6,0xd9,0x5d,0x97,0x94,0x21);
-DEFINE_GUID(CLSID_DirectPlay8Client,0x743f1dc6,0x5aba,0x429f,0x8b,0xdf,0xc5,0x4d,0x3,0x25,0x3d,0xc2);
-DEFINE_GUID(CLSID_DirectPlay8LobbiedApplication,0x667955ad,0x6b3b,0x43ca,0xb9,0x49,0xbc,0x69,0xb5,0xba,0xff,0x7f);
-DEFINE_GUID(CLSID_DirectPlay8LobbyClient,0x3b2b6775,0x70b6,0x45af,0x8d,0xea,0xa2,0x9,0xc6,0x95,0x59,0xf3);
-DEFINE_GUID(CLSID_DirectPlay8ThreadPool,0xfc47060e,0x6153,0x4b34,0xb9,0x75,0x8e,0x41,0x21,0xeb,0x7f,0x3c);
-DEFINE_GUID(CLSID_DirectPlay8NATResolver,0xe4c1d9a2,0xcbf7,0x48bd,0x9a,0x69,0x34,0xa5,0x5e,0xd,0x89,0x41);
-DEFINE_GUID(CLSID_DirectPlay8Peer,0x286f484d,0x375e,0x4458,0xa2,0x72,0xb1,0x38,0xe2,0xf8,0xa,0x6a);
-DEFINE_GUID(CLSID_DirectPlay8Server,0xda825e1b,0x6830,0x43d7,0x83,0x5d,0xb,0x5a,0xd8,0x29,0x56,0xa2);
-DEFINE_GUID(CLSID_DirectPlayLobby,0x2fe8f810,0xb2a5,0x11d0,0xa7,0x87,0x0,0x0,0xf8,0x3,0xab,0xfc);
-DEFINE_GUID(CLSID_DirectPlayVoiceClient,0xb9f3eb85,0xb781,0x4ac1,0x8d,0x90,0x93,0xa0,0x5e,0xe3,0x7d,0x7d);
-DEFINE_GUID(CLSID_DirectPlayVoiceServer,0xd3f5b8e6,0x9b78,0x4a4c,0x94,0xea,0xca,0x23,0x97,0xb6,0x63,0xd3);
-DEFINE_GUID(CLSID_DirectPlayVoiceTest,0xf0f094b,0xb01c,0x4091,0xa1,0x4d,0xdd,0xc,0xd8,0x7,0x71,0x1a);
-DEFINE_GUID(CLSID_DirectSound,0x47d4d946,0x62e8,0x11cf,0x93,0xbc,0x44,0x45,0x53,0x54,0x0,0x0);
-DEFINE_GUID(CLSID_DirectSound8,0x3901cc3f,0x84b5,0x4fa4,0xba,0x35,0xaa,0x81,0x72,0xb8,0xa0,0x9b);
-DEFINE_GUID(CLSID_DirectSoundCapture,0xb0210780,0x89cd,0x11d0,0xaf,0x8,0x0,0xa0,0xc9,0x25,0xcd,0x16);
-DEFINE_GUID(CLSID_DirectSoundCapture8,0xe4bcac13,0x7f99,0x4908,0x9a,0x8e,0x74,0xe3,0xbf,0x24,0xb6,0xe1);
-DEFINE_GUID(CLSID_DirectSoundFullDuplex,0xfea4300c,0x7959,0x4147,0xb2,0x6a,0x23,0x77,0xb9,0xe7,0xa9,0x1d);
-DEFINE_GUID(CLSID_DirectSoundWave,0x8a667154,0xf9cb,0x11d2,0xad,0x8a,0x0,0x60,0xb0,0x57,0x5a,0xbc);
-DEFINE_GUID(CLSID_DirectSoundPrivate,0x11ab3ec0,0x25ec,0x11d1,0xa4,0xd8,0x00,0xc0,0x4f,0xc2,0x8a,0xca);
-DEFINE_GUID(DSPROPSETID_DirectSoundDevice,0x84624f82,0x25ec,0x11d1,0xa4,0xd8,0x00,0xc0,0x4f,0xc2,0x8a,0xca);
-DEFINE_GUID(CLSID_DP8SP_IPX,0x53934290,0x628d,0x11d2,0xae,0xf,0x0,0x60,0x97,0xb0,0x14,0x11);
-DEFINE_GUID(CLSID_DP8SP_MODEM,0x6d4a3650,0x628d,0x11d2,0xae,0xf,0x0,0x60,0x97,0xb0,0x14,0x11);
-DEFINE_GUID(CLSID_DP8SP_SERIAL,0x743b5d60,0x628d,0x11d2,0xae,0xf,0x0,0x60,0x97,0xb0,0x14,0x11);
-DEFINE_GUID(CLSID_DP8SP_TCPIP,0xebfe7ba0,0x628d,0x11d2,0xae,0xf,0x0,0x60,0x97,0xb0,0x14,0x11);
-DEFINE_GUID(CLSID_DP8SP_BLUETOOTH,0x995513af,0x3027,0x4b9a,0x95,0x6e,0xc7,0x72,0xb3,0xf7,0x80,0x6);
-DEFINE_GUID(DDVPTYPE_BROOKTREE,0x1352a560l,0xda61,0x11cf,0x9b,0x06,0x00,0xa0,0xc9,0x03,0xa3,0xb8);
-DEFINE_GUID(DDVPTYPE_CCIR656,0xfca326a0l,0xda60,0x11cf,0x9b,0x06,0x00,0xa0,0xc9,0x03,0xa3,0xb8);
-DEFINE_GUID(DDVPTYPE_E_HREFH_VREFH,0x54f39980l,0xda60,0x11cf,0x9b,0x06,0x00,0xa0,0xc9,0x03,0xa3,0xb8);
-DEFINE_GUID(DDVPTYPE_E_HREFH_VREFL,0x92783220l,0xda60,0x11cf,0x9b,0x06,0x00,0xa0,0xc9,0x03,0xa3,0xb8);
-DEFINE_GUID(DDVPTYPE_E_HREFL_VREFH,0xa07a02e0l,0xda60,0x11cf,0x9b,0x06,0x00,0xa0,0xc9,0x03,0xa3,0xb8);
-DEFINE_GUID(DDVPTYPE_E_HREFL_VREFL,0xe09c77e0l,0xda60,0x11cf,0x9b,0x06,0x00,0xa0,0xc9,0x03,0xa3,0xb8);
-DEFINE_GUID(DDVPTYPE_PHILIPS,0x332cf160l,0xda61,0x11cf,0x9b,0x06,0x00,0xa0,0xc9,0x03,0xa3,0xb8);
-DEFINE_GUID(DPAID_ComPort,0xf2f0ce00,0xe0af,0x11cf,0x9c,0x4e,0x0,0xa0,0xc9,0x5,0x42,0x5e);
-DEFINE_GUID(DPAID_INet,0xc4a54da0,0xe0af,0x11cf,0x9c,0x4e,0x0,0xa0,0xc9,0x5,0x42,0x5e);
-DEFINE_GUID(DPAID_INetPort,0xe4524541,0x8ea5,0x11d1,0x8a,0x96,0x0,0x60,0x97,0xb0,0x14,0x11);
-DEFINE_GUID(DPAID_INetW,0xe63232a0,0x9dbf,0x11d0,0x9c,0xc1,0x0,0xa0,0xc9,0x5,0x42,0x5e);
-DEFINE_GUID(DPAID_LobbyProvider,0x59b95640,0x9667,0x11d0,0xa7,0x7d,0x0,0x0,0xf8,0x3,0xab,0xfc);
-DEFINE_GUID(DPAID_Modem,0xf6dcc200,0xa2fe,0x11d0,0x9c,0x4f,0x0,0xa0,0xc9,0x5,0x42,0x5e);
-DEFINE_GUID(DPAID_ModemW,0x1fd92e0,0xa2ff,0x11d0,0x9c,0x4f,0x0,0xa0,0xc9,0x5,0x42,0x5e);
-DEFINE_GUID(DPAID_Phone,0x78ec89a0,0xe0af,0x11cf,0x9c,0x4e,0x0,0xa0,0xc9,0x5,0x42,0x5e);
-DEFINE_GUID(DPAID_PhoneW,0xba5a7a70,0x9dbf,0x11d0,0x9c,0xc1,0x0,0xa0,0xc9,0x5,0x42,0x5e);
-DEFINE_GUID(DPAID_ServiceProvider,0x7d916c0,0xe0af,0x11cf,0x9c,0x4e,0x0,0xa0,0xc9,0x5,0x42,0x5e);
-DEFINE_GUID(DPAID_TotalSize,0x1318f560,0x912c,0x11d0,0x9d,0xaa,0x0,0xa0,0xc9,0xa,0x43,0xcb);
-DEFINE_GUID(DPLPROPERTY_LobbyGuid,0xf56920a0,0xd218,0x11d0,0xba,0x39,0x0,0xc0,0x4f,0xd7,0xed,0x67);
-DEFINE_GUID(DPLPROPERTY_MessagesSupported,0x762ccda1,0xd916,0x11d0,0xba,0x39,0x0,0xc0,0x4f,0xd7,0xed,0x67);
-DEFINE_GUID(DPLPROPERTY_PlayerGuid,0xb4319322,0xd20d,0x11d0,0xba,0x39,0x0,0xc0,0x4f,0xd7,0xed,0x67);
-DEFINE_GUID(DPLPROPERTY_PlayerScore,0x48784000,0xd219,0x11d0,0xba,0x39,0x0,0xc0,0x4f,0xd7,0xed,0x67);
-DEFINE_GUID(DPSPGUID_IPX,0x685bc400,0x9d2c,0x11cf,0xa9,0xcd,0x0,0xaa,0x0,0x68,0x86,0xe3);
-DEFINE_GUID(DPSPGUID_TCPIP,0x36e95ee0,0x8577,0x11cf,0x96,0xc,0x0,0x80,0xc7,0x53,0x4e,0x82);
-DEFINE_GUID(DPSPGUID_SERIAL,0xf1d6860,0x88d9,0x11cf,0x9c,0x4e,0x0,0xa0,0xc9,0x5,0x42,0x5e);
-DEFINE_GUID(DPSPGUID_MODEM,0x44eaa760,0xcb68,0x11cf,0x9c,0x4e,0x0,0xa0,0xc9,0x5,0x42,0x5e);
-DEFINE_GUID(DPVCTGUID_ADPCM,0x699b52c1,0xa885,0x46a8,0xa3,0x8,0x97,0x17,0x24,0x19,0xad,0xc7);
-DEFINE_GUID(DPVCTGUID_GSM,0x24768c60,0x5a0d,0x11d3,0x9b,0xe4,0x52,0x54,0x0,0xd9,0x85,0xe7);
-DEFINE_GUID(DPVCTGUID_NONE,0x8de12fd4,0x7cb3,0x48ce,0xa7,0xe8,0x9c,0x47,0xa2,0x2e,0x8a,0xc5);
-DEFINE_GUID(DPVCTGUID_SC03,0x7d82a29b,0x2242,0x4f82,0x8f,0x39,0x5d,0x11,0x53,0xdf,0x3e,0x41);
-DEFINE_GUID(DPVCTGUID_SC06,0x53def900,0x7168,0x4633,0xb4,0x7f,0xd1,0x43,0x91,0x6a,0x13,0xc7);
-DEFINE_GUID(DPVCTGUID_TRUESPEECH,0xd7954361,0x5a0b,0x11d3,0x9b,0xe4,0x52,0x54,0x0,0xd9,0x85,0xe7);
-DEFINE_GUID(DPVCTGUID_VR12,0xfe44a9fe,0x8ed4,0x48bf,0x9d,0x66,0x1b,0x1a,0xdf,0xf9,0xff,0x6d);
-DEFINE_GUID(DS3DALG_HRTF_FULL,0xc2413340,0x1c1b,0x11d2,0x94,0xf5,0x0,0xc0,0x4f,0xc2,0x8a,0xca);
-DEFINE_GUID(DS3DALG_HRTF_LIGHT,0xc2413342,0x1c1b,0x11d2,0x94,0xf5,0x0,0xc0,0x4f,0xc2,0x8a,0xca);
-DEFINE_GUID(DS3DALG_NO_VIRTUALIZATION,0xc241333f,0x1c1b,0x11d2,0x94,0xf5,0x0,0xc0,0x4f,0xc2,0x8a,0xca);
-DEFINE_GUID(DSDEVID_DefaultCapture,0xdef00001,0x9c6d,0x47ed,0xaa,0xf1,0x4d,0xda,0x8f,0x2b,0x5c,0x03);
-DEFINE_GUID(DSDEVID_DefaultPlayback,0xdef00000,0x9c6d,0x47ed,0xaa,0xf1,0x4d,0xda,0x8f,0x2b,0x5c,0x03);
-DEFINE_GUID(DSDEVID_DefaultVoiceCapture,0xdef00003,0x9c6d,0x47ed,0xaa,0xf1,0x4d,0xda,0x8f,0x2b,0x5c,0x03);
-DEFINE_GUID(DSDEVID_DefaultVoicePlayback,0xdef00002,0x9c6d,0x47ed,0xaa,0xf1,0x4d,0xda,0x8f,0x2b,0x5c,0x03);
-DEFINE_GUID(GUID_All_Objects,0xaa114de5,0xc262,0x4169,0xa1,0xc8,0x23,0xd6,0x98,0xcc,0x73,0xb5);
-DEFINE_GUID(GUID_BandParam,0x2bb1938,0xcb8b,0x11d2,0x8b,0xb9,0x0,0x60,0x8,0x93,0xb1,0xb6);
-DEFINE_GUID(GUID_Buffer_3D_Dry,0x186cc546,0xdb29,0x11d3,0x9b,0xd1,0x0,0x80,0xc7,0x15,0xa,0x74);
-DEFINE_GUID(GUID_Buffer_EnvReverb,0x186cc542,0xdb29,0x11d3,0x9b,0xd1,0x0,0x80,0xc7,0x15,0xa,0x74);
-DEFINE_GUID(GUID_Buffer_Mono,0x186cc547,0xdb29,0x11d3,0x9b,0xd1,0x0,0x80,0xc7,0x15,0xa,0x74);
-DEFINE_GUID(GUID_Buffer_Reverb,0x186cc541,0xdb29,0x11d3,0x9b,0xd1,0x0,0x80,0xc7,0x15,0xa,0x74);
-DEFINE_GUID(GUID_Buffer_Stereo,0x186cc545,0xdb29,0x11d3,0x9b,0xd1,0x0,0x80,0xc7,0x15,0xa,0x74);
-DEFINE_GUID(GUID_Button,0xa36d02f0,0xc9f3,0x11cf,0xbf,0xc7,0x44,0x45,0x53,0x54,0x00,0x00);
-DEFINE_GUID(GUID_Clear_All_Bands,0xd2ac28ab,0xb39b,0x11d1,0x87,0x4,0x0,0x60,0x8,0x93,0xb1,0xbd);
-DEFINE_GUID(GUID_Clear_All_MelodyFragments,0x8509fee6,0xb617,0x11d2,0x97,0xfa,0x0,0xc0,0x4f,0xa3,0x6e,0x58);
-DEFINE_GUID(GUID_ColorControlCallbacks,0xefd60cc2,0x49e7,0x11d0,0x88,0x9d,0x0,0xaa,0x0,0xbb,0xb7,0x6a);
-DEFINE_GUID(GUID_CommandParam,0xd2ac289d,0xb39b,0x11d1,0x87,0x4,0x0,0x60,0x8,0x93,0xb1,0xbd);
-DEFINE_GUID(GUID_CommandParam2,0x28f97ef7,0x9538,0x11d2,0x97,0xa9,0x0,0xc0,0x4f,0xa3,0x6e,0x58);
-DEFINE_GUID(GUID_CommandParamNext,0x472afe7a,0x281b,0x11d3,0x81,0x7d,0x0,0xc0,0x4f,0xa3,0x6e,0x58);
-DEFINE_GUID(GUID_ConnectToDLSCollection,0x1db1ae6b,0xe92e,0x11d1,0xa8,0xc5,0x0,0xc0,0x4f,0xa3,0x72,0x6e);
-DEFINE_GUID(GUID_ConstantForce,0x13541c20,0x8e33,0x11d0,0x9a,0xd0,0x00,0xa0,0xc9,0xa0,0x6e,0x35);
-DEFINE_GUID(GUID_CustomForce,0x13541c2b,0x8e33,0x11d0,0x9a,0xd0,0x00,0xa0,0xc9,0xa0,0x6e,0x35);
-DEFINE_GUID(GUID_D3DCallbacks2,0xba584e1,0x70b6,0x11d0,0x88,0x9d,0x0,0xaa,0x0,0xbb,0xb7,0x6a);
-DEFINE_GUID(GUID_D3DCallbacks3,0xddf41230,0xec0a,0x11d0,0xa9,0xb6,0x0,0xaa,0x0,0xc0,0x99,0x3e);
-DEFINE_GUID(GUID_D3DExtendedCaps,0x7de41f80,0x9d93,0x11d0,0x89,0xab,0x0,0xa0,0xc9,0x5,0x41,0x29);
-DEFINE_GUID(GUID_D3DParseUnknownCommandCallback,0x2e04ffa0,0x98e4,0x11d1,0x8c,0xe1,0x0,0xa0,0xc9,0x6,0x29,0xa8);
-DEFINE_GUID(GUID_Damper,0x13541c28,0x8e33,0x11d0,0x9a,0xd0,0x00,0xa0,0xc9,0xa0,0x6e,0x35);
-DEFINE_GUID(GUID_DDMoreCaps,0x880baf30,0xb030,0x11d0,0x8e,0xa7,0x0,0x60,0x97,0x97,0xea,0x5b);
-DEFINE_GUID(GUID_DDMoreSurfaceCaps,0x3b8a0466,0xf269,0x11d1,0x88,0xb,0x0,0xc0,0x4f,0xd9,0x30,0xc5);
-DEFINE_GUID(GUID_DDStereoMode,0xf828169c,0xa8e8,0x11d2,0xa1,0xf2,0x0,0xa0,0xc9,0x83,0xea,0xf6);
-DEFINE_GUID(GUID_DefaultGMCollection,0xf17e8673,0xc3b4,0x11d1,0x87,0xb,0x0,0x60,0x8,0x93,0xb1,0xbd);
-DEFINE_GUID(GUID_DirectDrawPaletteStream,0x730c7ffc,0x5347,0x11d1,0x8c,0x4d,0x0,0xc0,0x4f,0xd9,0x30,0xc5);
-DEFINE_GUID(GUID_DirectDrawSurfaceStream,0xe043bc46,0x5317,0x11d1,0x8c,0x4d,0x0,0xc0,0x4f,0xd9,0x30,0xc5);
-DEFINE_GUID(GUID_DirectMusicAllTypes,0xd2ac2893,0xb39b,0x11d1,0x87,0x4,0x0,0x60,0x8,0x93,0xb1,0xbd);
-DEFINE_GUID(GUID_Disable_Auto_Download,0xd2ac28aa,0xb39b,0x11d1,0x87,0x4,0x0,0x60,0x8,0x93,0xb1,0xbd);
-DEFINE_GUID(GUID_DisableTempo,0x45fc707d,0x1db4,0x11d2,0xbc,0xac,0x0,0xa0,0xc9,0x22,0xe6,0xeb);
-DEFINE_GUID(GUID_DisableTimeSig,0x45fc707b,0x1db4,0x11d2,0xbc,0xac,0x0,0xa0,0xc9,0x22,0xe6,0xeb);
-DEFINE_GUID(GUID_DMUS_PROP_DLS1,0x178f2f27,0xc364,0x11d1,0xa7,0x60,0x00,0x00,0xf8,0x75,0xac,0x12);
-DEFINE_GUID(GUID_DMUS_PROP_DLS2,0xf14599e5,0x4689,0x11d2,0xaf,0xa6,0x0,0xaa,0x0,0x24,0xd8,0xb6);
-DEFINE_GUID(GUID_DMUS_PROP_Effects,0xcda8d611,0x684a,0x11d2,0x87,0x1e,0x0,0x60,0x8,0x93,0xb1,0xbd);
-DEFINE_GUID(GUID_DMUS_PROP_GM_Hardware,0x178f2f24,0xc364,0x11d1,0xa7,0x60,0x00,0x00,0xf8,0x75,0xac,0x12);
-DEFINE_GUID(GUID_DMUS_PROP_GS_Capable,0x6496aba2,0x61b0,0x11d2,0xaf,0xa6,0x0,0xaa,0x0,0x24,0xd8,0xb6);
-DEFINE_GUID(GUID_DMUS_PROP_GS_Hardware,0x178f2f25,0xc364,0x11d1,0xa7,0x60,0x00,0x00,0xf8,0x75,0xac,0x12);
-DEFINE_GUID(GUID_DMUS_PROP_INSTRUMENT2,0x865fd372,0x9f67,0x11d2,0x87,0x2a,0x0,0x60,0x8,0x93,0xb1,0xbd);
-DEFINE_GUID(GUID_DMUS_PROP_LegacyCaps,0xcfa7cdc2,0x00a1,0x11d2,0xaa,0xd5,0x00,0x00,0xf8,0x75,0xac,0x12);
-DEFINE_GUID(GUID_DMUS_PROP_MemorySize,0x178f2f28,0xc364,0x11d1,0xa7,0x60,0x00,0x00,0xf8,0x75,0xac,0x12);
-DEFINE_GUID(GUID_DMUS_PROP_SampleMemorySize,0x178f2f28,0xc364,0x11d1,0xa7,0x60,0x00,0x00,0xf8,0x75,0xac,0x12);
-DEFINE_GUID(GUID_DMUS_PROP_SamplePlaybackRate,0x2a91f713,0xa4bf,0x11d2,0xbb,0xdf,0x0,0x60,0x8,0x33,0xdb,0xd8);
-DEFINE_GUID(GUID_DMUS_PROP_SynthSink_DSOUND,0xaa97844,0xc877,0x11d1,0x87,0xc,0x0,0x60,0x8,0x93,0xb1,0xbd);
-DEFINE_GUID(GUID_DMUS_PROP_SynthSink_WAVE,0xaa97845,0xc877,0x11d1,0x87,0xc,0x0,0x60,0x8,0x93,0xb1,0xbd);
-DEFINE_GUID(GUID_DMUS_PROP_Volume,0xfedfae25l,0xe46e,0x11d1,0xaa,0xce,0x00,0x00,0xf8,0x75,0xac,0x12);
-DEFINE_GUID(GUID_DMUS_PROP_WavesReverb,0x4cb5622,0x32e5,0x11d2,0xaf,0xa6,0x0,0xaa,0x0,0x24,0xd8,0xb6);
-DEFINE_GUID(GUID_DMUS_PROP_WriteLatency,0x268a0fa0,0x60f2,0x11d2,0xaf,0xa6,0x0,0xaa,0x0,0x24,0xd8,0xb6);
-DEFINE_GUID(GUID_DMUS_PROP_WritePeriod,0x268a0fa1,0x60f2,0x11d2,0xaf,0xa6,0x0,0xaa,0x0,0x24,0xd8,0xb6);
-DEFINE_GUID(GUID_DMUS_PROP_XG_Capable,0x6496aba1,0x61b0,0x11d2,0xaf,0xa6,0x0,0xaa,0x0,0x24,0xd8,0xb6);
-DEFINE_GUID(GUID_DMUS_PROP_XG_Hardware,0x178f2f26,0xc364,0x11d1,0xa7,0x60,0x00,0x00,0xf8,0x75,0xac,0x12);
-DEFINE_GUID(GUID_Download,0xd2ac28a7,0xb39b,0x11d1,0x87,0x4,0x0,0x60,0x8,0x93,0xb1,0xbd);
-DEFINE_GUID(GUID_DownloadToAudioPath,0x9f2c0341,0xc5c4,0x11d3,0x9b,0xd1,0x44,0x45,0x53,0x54,0x0,0x0);
-DEFINE_GUID(GUID_DSCFX_CLASS_AEC,0xbf963d80l,0xc559,0x11d0,0x8a,0x2b,0x00,0xa0,0xc9,0x25,0x5a,0xc1);
-DEFINE_GUID(GUID_DSCFX_CLASS_NS,0xe07f903f,0x62fd,0x4e60,0x8c,0xdd,0xde,0xa7,0x23,0x66,0x65,0xb5);
-DEFINE_GUID(GUID_DSCFX_MS_AEC,0xcdebb919,0x379a,0x488a,0x87,0x65,0xf5,0x3c,0xfd,0x36,0xde,0x40);
-DEFINE_GUID(GUID_DSCFX_MS_NS,0x11c5c73b,0x66e9,0x4ba1,0xa0,0xba,0xe8,0x14,0xc6,0xee,0xd9,0x2d);
-DEFINE_GUID(GUID_DSCFX_SYSTEM_AEC,0x1c22c56d,0x9879,0x4f5b,0xa3,0x89,0x27,0x99,0x6d,0xdc,0x28,0x10);
-DEFINE_GUID(GUID_DSCFX_SYSTEM_NS,0x5ab0882e,0x7274,0x4516,0x87,0x7d,0x4e,0xee,0x99,0xba,0x4f,0xd0);
-DEFINE_GUID(GUID_DSFX_STANDARD_COMPRESSOR,0xef011f79,0x4000,0x406d,0x87,0xaf,0xbf,0xfb,0x3f,0xc3,0x9d,0x57);
-DEFINE_GUID(GUID_DSFX_STANDARD_DISTORTION,0xef114c90,0xcd1d,0x484e,0x96,0xe5,0x09,0xcf,0xaf,0x91,0x2a,0x21);
-DEFINE_GUID(GUID_DSFX_STANDARD_ECHO,0xef3e932c,0xd40b,0x4f51,0x8c,0xcf,0x3f,0x98,0xf1,0xb2,0x9d,0x5d);
-DEFINE_GUID(GUID_DSFX_STANDARD_FLANGER,0xefca3d92,0xdfd8,0x4672,0xa6,0x03,0x74,0x20,0x89,0x4b,0xad,0x98);
-DEFINE_GUID(GUID_DSFX_STANDARD_GARGLE,0xdafd8210,0x5711,0x4b91,0x9f,0xe3,0xf7,0x5b,0x7a,0xe2,0x79,0xbf);
-DEFINE_GUID(GUID_DSFX_STANDARD_CHORUS,0xefe6629c,0x81f7,0x4281,0xbd,0x91,0xc9,0xd6,0x04,0xa9,0x5a,0xf6);
-DEFINE_GUID(GUID_DSFX_STANDARD_I3DL2REVERB,0xef985e71,0xd5c7,0x42d4,0xba,0x4d,0x2d,0x07,0x3e,0x2e,0x96,0xf4);
-DEFINE_GUID(GUID_DSFX_STANDARD_PARAMEQ,0x120ced89,0x3bf4,0x4173,0xa1,0x32,0x3c,0xb4,0x06,0xcf,0x32,0x31);
-DEFINE_GUID(GUID_DSFX_WAVES_REVERB,0x87fc0268,0x9a55,0x4360,0x95,0xaa,0x00,0x4a,0x1d,0x9d,0xe2,0x6c);
-DEFINE_GUID(GUID_Enable_Auto_Download,0xd2ac28a9,0xb39b,0x11d1,0x87,0x4,0x0,0x60,0x8,0x93,0xb1,0xbd);
-DEFINE_GUID(GUID_EnableTempo,0x45fc707e,0x1db4,0x11d2,0xbc,0xac,0x0,0xa0,0xc9,0x22,0xe6,0xeb);
-DEFINE_GUID(GUID_EnableTimeSig,0x45fc707c,0x1db4,0x11d2,0xbc,0xac,0x0,0xa0,0xc9,0x22,0xe6,0xeb);
-DEFINE_GUID(GUID_Friction,0x13541c2a,0x8e33,0x11d0,0x9a,0xd0,0x00,0xa0,0xc9,0xa0,0x6e,0x35);
-DEFINE_GUID(GUID_HIDClass,0x745a17a0,0x74d3,0x11d0,0xb6,0xfe,0x00,0xa0,0xc9,0x0f,0x57,0xda);
-DEFINE_GUID(GUID_ChordParam,0xd2ac289e,0xb39b,0x11d1,0x87,0x4,0x0,0x60,0x8,0x93,0xb1,0xbd);
-DEFINE_GUID(GUID_IDirectMusicBand,0xd2ac28ac,0xb39b,0x11d1,0x87,0x4,0x0,0x60,0x8,0x93,0xb1,0xbd);
-DEFINE_GUID(GUID_IDirectMusicChordMap,0xd2ac28ad,0xb39b,0x11d1,0x87,0x4,0x0,0x60,0x8,0x93,0xb1,0xbd);
-DEFINE_GUID(GUID_IDirectMusicStyle,0xd2ac28a1,0xb39b,0x11d1,0x87,0x4,0x0,0x60,0x8,0x93,0xb1,0xbd);
-DEFINE_GUID(GUID_Inertia,0x13541c29,0x8e33,0x11d0,0x9a,0xd0,0x00,0xa0,0xc9,0xa0,0x6e,0x35);
-DEFINE_GUID(GUID_Joystick,0x6f1d2b70,0xd5a0,0x11cf,0xbf,0xc7,0x44,0x45,0x53,0x54,0x00,0x00);
-DEFINE_GUID(GUID_KernelCallbacks,0x80863800,0x6b06,0x11d0,0x9b,0x6,0x0,0xa0,0xc9,0x3,0xa3,0xb8);
-DEFINE_GUID(GUID_KernelCaps,0xffaa7540,0x7aa8,0x11d0,0x9b,0x6,0x0,0xa0,0xc9,0x3,0xa3,0xb8);
-DEFINE_GUID(GUID_Key,0x55728220,0xd33c,0x11cf,0xbf,0xc7,0x44,0x45,0x53,0x54,0x00,0x00);
-DEFINE_GUID(GUID_KeyboardClass,0x4d36e96b,0xe325,0x11ce,0xbf,0xc1,0x08,0x00,0x2b,0xe1,0x03,0x18);
-DEFINE_GUID(GUID_MediaClass,0x4d36e96c,0xe325,0x11ce,0xbf,0xc1,0x08,0x00,0x2b,0xe1,0x03,0x18);
-DEFINE_GUID(GUID_MelodyFragment,0xb291c7f2,0xb616,0x11d2,0x97,0xfa,0x0,0xc0,0x4f,0xa3,0x6e,0x58);
-DEFINE_GUID(GUID_Miscellaneous2Callbacks,0x406b2f00,0x3e5a,0x11d1,0xb6,0x40,0x0,0xaa,0x0,0xa1,0xf9,0x6a);
-DEFINE_GUID(GUID_MiscellaneousCallbacks,0xefd60cc0,0x49e7,0x11d0,0x88,0x9d,0x0,0xaa,0x0,0xbb,0xb7,0x6a);
-DEFINE_GUID(GUID_MotionCompCallbacks,0xb1122b40,0x5da5,0x11d1,0x8f,0xcf,0x0,0xc0,0x4f,0xc2,0x9b,0x4e);
-DEFINE_GUID(GUID_MouseClass,0x4d36e96f,0xe325,0x11ce,0xbf,0xc1,0x08,0x00,0x2b,0xe1,0x03,0x18);
-DEFINE_GUID(GUID_MuteParam,0xd2ac28af,0xb39b,0x11d1,0x87,0x4,0x0,0x60,0x8,0x93,0xb1,0xbd);
-DEFINE_GUID(GUID_NonLocalVidMemCaps,0x86c4fa80,0x8d84,0x11d0,0x94,0xe8,0x0,0xc0,0x4f,0xc3,0x41,0x37);
-DEFINE_GUID(GUID_NOTIFICATION_COMMAND,0xd2ac289c,0xb39b,0x11d1,0x87,0x4,0x0,0x60,0x8,0x93,0xb1,0xbd);
-DEFINE_GUID(GUID_NOTIFICATION_CHORD,0xd2ac289b,0xb39b,0x11d1,0x87,0x4,0x0,0x60,0x8,0x93,0xb1,0xbd);
-DEFINE_GUID(GUID_NOTIFICATION_MEASUREANDBEAT,0xd2ac289a,0xb39b,0x11d1,0x87,0x4,0x0,0x60,0x8,0x93,0xb1,0xbd);
-DEFINE_GUID(GUID_NOTIFICATION_PERFORMANCE,0x81f75bc5,0x4e5d,0x11d2,0xbc,0xc7,0x0,0xa0,0xc9,0x22,0xe6,0xeb);
-DEFINE_GUID(GUID_NOTIFICATION_RECOMPOSE,0xd348372b,0x945b,0x45ae,0xa5,0x22,0x45,0xf,0x12,0x5b,0x84,0xa5);
-DEFINE_GUID(GUID_NOTIFICATION_SEGMENT,0xd2ac2899,0xb39b,0x11d1,0x87,0x4,0x0,0x60,0x8,0x93,0xb1,0xbd);
-DEFINE_GUID(GUID_NTCallbacks,0x6fe9ecde,0xdf89,0x11d1,0x9d,0xb0,0,0x60,0x8,0x27,0x71,0xba);
-DEFINE_GUID(GUID_OptSurfaceKmodeInfo,0xe05c8472,0x51d4,0x11d1,0x8c,0xce,0x0,0xa0,0xc9,0x6,0x29,0xa8);
-DEFINE_GUID(GUID_OptSurfaceUmodeInfo,0x9d792804,0x5fa8,0x11d1,0x8c,0xd0,0x0,0xa0,0xc9,0x6,0x29,0xa8);
-DEFINE_GUID(GUID_PerfAutoDownload,0xfb09565b,0x3631,0x11d2,0xbc,0xb8,0x0,0xa0,0xc9,0x22,0xe6,0xeb);
-DEFINE_GUID(GUID_PerfMasterGrooveLevel,0xd2ac28b2,0xb39b,0x11d1,0x87,0x4,0x0,0x60,0x8,0x93,0xb1,0xbd);
-DEFINE_GUID(GUID_PerfMasterTempo,0xd2ac28b0,0xb39b,0x11d1,0x87,0x4,0x0,0x60,0x8,0x93,0xb1,0xbd);
-DEFINE_GUID(GUID_PerfMasterVolume,0xd2ac28b1,0xb39b,0x11d1,0x87,0x4,0x0,0x60,0x8,0x93,0xb1,0xbd);
-DEFINE_GUID(GUID_Play_Marker,0xd8761a41,0x801a,0x11d3,0x9b,0xd1,0xda,0xf7,0xe1,0xc3,0xd8,0x34);
-DEFINE_GUID(GUID_POV,0xa36d02f2,0xc9f3,0x11cf,0xbf,0xc7,0x44,0x45,0x53,0x54,0x00,0x00);
-DEFINE_GUID(GUID_RampForce,0x13541c21,0x8e33,0x11d0,0x9a,0xd0,0x00,0xa0,0xc9,0xa0,0x6e,0x35);
-DEFINE_GUID(GUID_RhythmParam,0xd2ac289f,0xb39b,0x11d1,0x87,0x4,0x0,0x60,0x8,0x93,0xb1,0xbd);
-DEFINE_GUID(GUID_RxAxis,0xa36d02f4,0xc9f3,0x11cf,0xbf,0xc7,0x44,0x45,0x53,0x54,0x00,0x00);
-DEFINE_GUID(GUID_RyAxis,0xa36d02f5,0xc9f3,0x11cf,0xbf,0xc7,0x44,0x45,0x53,0x54,0x00,0x00);
-DEFINE_GUID(GUID_RzAxis,0xa36d02e3,0xc9f3,0x11cf,0xbf,0xc7,0x44,0x45,0x53,0x54,0x00,0x00);
-DEFINE_GUID(GUID_SawtoothDown,0x13541c26,0x8e33,0x11d0,0x9a,0xd0,0x00,0xa0,0xc9,0xa0,0x6e,0x35);
-DEFINE_GUID(GUID_SawtoothUp,0x13541c25,0x8e33,0x11d0,0x9a,0xd0,0x00,0xa0,0xc9,0xa0,0x6e,0x35);
-DEFINE_GUID(GUID_SeedVariations,0x65b76fa5,0xff37,0x11d2,0x81,0x4e,0x0,0xc0,0x4f,0xa3,0x6e,0x58);
-DEFINE_GUID(GUID_Sine,0x13541c23,0x8e33,0x11d0,0x9a,0xd0,0x00,0xa0,0xc9,0xa0,0x6e,0x35);
-DEFINE_GUID(GUID_Slider,0xa36d02e4,0xc9f3,0x11cf,0xbf,0xc7,0x44,0x45,0x53,0x54,0x00,0x00);
-DEFINE_GUID(GUID_Spring,0x13541c27,0x8e33,0x11d0,0x9a,0xd0,0x00,0xa0,0xc9,0xa0,0x6e,0x35);
-DEFINE_GUID(GUID_Square,0x13541c22,0x8e33,0x11d0,0x9a,0xd0,0x00,0xa0,0xc9,0xa0,0x6e,0x35);
-DEFINE_GUID(GUID_StandardMIDIFile,0x6621075,0xe92e,0x11d1,0xa8,0xc5,0x0,0xc0,0x4f,0xa3,0x72,0x6e);
-DEFINE_GUID(GUID_Synth_Default,0x26bb9432,0x45fe,0x48d3,0xa3,0x75,0x24,0x72,0xc5,0xe3,0xe7,0x86);
-DEFINE_GUID(GUID_SysKeyboard,0x6f1d2b61,0xd5a0,0x11cf,0xbf,0xc7,0x44,0x45,0x53,0x54,0x00,0x00);
-DEFINE_GUID(GUID_SysKeyboardEm,0x6f1d2b82,0xd5a0,0x11cf,0xbf,0xc7,0x44,0x45,0x53,0x54,0x00,0x00);
-DEFINE_GUID(GUID_SysKeyboardEm2,0x6f1d2b83,0xd5a0,0x11cf,0xbf,0xc7,0x44,0x45,0x53,0x54,0x00,0x00);
-DEFINE_GUID(GUID_SysMouse,0x6f1d2b60,0xd5a0,0x11cf,0xbf,0xc7,0x44,0x45,0x53,0x54,0x00,0x00);
-DEFINE_GUID(GUID_SysMouseEm,0x6f1d2b80,0xd5a0,0x11cf,0xbf,0xc7,0x44,0x45,0x53,0x54,0x00,0x00);
-DEFINE_GUID(GUID_SysMouseEm2,0x6f1d2b81,0xd5a0,0x11cf,0xbf,0xc7,0x44,0x45,0x53,0x54,0x00,0x00);
-DEFINE_GUID(GUID_TempoParam,0xd2ac28a5,0xb39b,0x11d1,0x87,0x4,0x0,0x60,0x8,0x93,0xb1,0xbd);
-DEFINE_GUID(GUID_TimeSignature,0xd2ac28a4,0xb39b,0x11d1,0x87,0x4,0x0,0x60,0x8,0x93,0xb1,0xbd);
-DEFINE_GUID(GUID_Triangle,0x13541c24,0x8e33,0x11d0,0x9a,0xd0,0x00,0xa0,0xc9,0xa0,0x6e,0x35);
-DEFINE_GUID(GUID_Unknown,0xa36d02f3,0xc9f3,0x11cf,0xbf,0xc7,0x44,0x45,0x53,0x54,0x00,0x00);
-DEFINE_GUID(GUID_Unload,0xd2ac28a8,0xb39b,0x11d1,0x87,0x4,0x0,0x60,0x8,0x93,0xb1,0xbd);
-DEFINE_GUID(GUID_UnloadFromAudioPath,0x9f2c0342,0xc5c4,0x11d3,0x9b,0xd1,0x44,0x45,0x53,0x54,0x0,0x0);
-DEFINE_GUID(GUID_UserModeDriverInfo,0xf0b0e8e2,0x5f97,0x11d1,0x8c,0xd0,0x0,0xa0,0xc9,0x6,0x29,0xa8);
-DEFINE_GUID(GUID_UserModeDriverPassword,0x97f861b6,0x60a1,0x11d1,0x8c,0xd0,0x0,0xa0,0xc9,0x6,0x29,0xa8);
-DEFINE_GUID(GUID_Valid_Start_Time,0x7f6b1760,0x1fdb,0x11d3,0x82,0x26,0x44,0x45,0x53,0x54,0x0,0x0);
-DEFINE_GUID(GUID_Variations,0x11f72cce,0x26e6,0x4ecd,0xaf,0x2e,0xd6,0x68,0xe6,0x67,0x7,0xd8);
-DEFINE_GUID(GUID_VideoPortCallbacks,0xefd60cc1,0x49e7,0x11d0,0x88,0x9d,0x0,0xaa,0x0,0xbb,0xb7,0x6a);
-DEFINE_GUID(GUID_VideoPortCaps,0xefd60cc3,0x49e7,0x11d0,0x88,0x9d,0x0,0xaa,0x0,0xbb,0xb7,0x6a);
-DEFINE_GUID(GUID_XAxis,0xa36d02e0,0xc9f3,0x11cf,0xbf,0xc7,0x44,0x45,0x53,0x54,0x00,0x00);
-DEFINE_GUID(GUID_YAxis,0xa36d02e1,0xc9f3,0x11cf,0xbf,0xc7,0x44,0x45,0x53,0x54,0x00,0x00);
-DEFINE_GUID(GUID_ZAxis,0xa36d02e2,0xc9f3,0x11cf,0xbf,0xc7,0x44,0x45,0x53,0x54,0x00,0x00);
-DEFINE_GUID(GUID_ZPixelFormats,0x93869880,0x36cf,0x11d1,0x9b,0x1b,0x0,0xaa,0x0,0xbb,0xb8,0xae);
-DEFINE_GUID(IID_ID3DXAnimationController,0x3a714d34,0xff61,0x421e,0x90,0x9f,0x63,0x9f,0x38,0x35,0x67,0x8);
-DEFINE_GUID(IID_ID3DXAnimationMixer,0x5eec992b,0x1046,0x44f6,0x92,0x4b,0xd1,0x75,0x96,0xb0,0x48,0x3e);
-DEFINE_GUID(IID_ID3DXAnimationSet,0x54b569ac,0xaef,0x473e,0x97,0x4,0x3f,0xef,0x31,0x7f,0x64,0xab);
-DEFINE_GUID(IID_ID3DXBaseMesh,0x2a835771,0xbf4d,0x43f4,0x8e,0x14,0x82,0xa8,0x9,0xf1,0x7d,0x8a);
-DEFINE_GUID(IID_ID3DXBuffer,0x932e6a7e,0xc68e,0x45dd,0xa7,0xbf,0x53,0xd1,0x9c,0x86,0xdb,0x1f);
-DEFINE_GUID(IID_ID3DXEffect,0x648b1ceb,0x8d4e,0x4d66,0xb6,0xfa,0xe4,0x49,0x69,0xe8,0x2e,0x89);
-DEFINE_GUID(IID_ID3DXEffectCompiler,0xf8ee90d3,0xfcc6,0x4f14,0x8a,0xe8,0x63,0x74,0xae,0x96,0x8e,0x33);
-DEFINE_GUID(IID_ID3DXEffectPool,0x53ca7768,0xc0d0,0x4664,0x8e,0x79,0xd1,0x56,0xe4,0xf5,0xb7,0xe0);
-DEFINE_GUID(IID_ID3DXInterpolator,0xade2c06d,0x3747,0x4b9f,0xa5,0x14,0x34,0x40,0xb8,0x28,0x49,0x80);
-DEFINE_GUID(IID_ID3DXKeyFrameInterpolator,0x6caa71f8,0x972,0x4cdb,0xa5,0x5b,0x43,0xb9,0x68,0x99,0x75,0x15);
-DEFINE_GUID(IID_ID3DXMatrixStack,0xe3357330,0xcc5e,0x11d2,0xa4,0x34,0x0,0xa0,0xc9,0x6,0x29,0xa8);
-DEFINE_GUID(IID_ID3DXMesh,0xccae5c3b,0x4dd1,0x4d0f,0x99,0x7e,0x46,0x84,0xca,0x64,0x55,0x7f);
-DEFINE_GUID(IID_ID3DXPMesh,0x19fbe386,0xc282,0x4659,0x97,0xbd,0xcb,0x86,0x9b,0x8,0x4a,0x6c);
-DEFINE_GUID(IID_ID3DXSkinMesh,0x8db06ecc,0xebfc,0x408a,0x94,0x4,0x30,0x74,0xb4,0x77,0x35,0x15);
-DEFINE_GUID(IID_ID3DXSPMesh,0x4e3ca05c,0xd4ff,0x4d11,0x8a,0x2,0x16,0x45,0x9e,0x8,0xf6,0xf4);
-DEFINE_GUID(IID_ID3DXTechnique,0xa00f378d,0xaf79,0x4917,0x90,0x7e,0x4d,0x63,0x5e,0xe6,0x38,0x44);
-DEFINE_GUID(IID_IDDVideoPortContainer,0x6c142760,0xa733,0x11ce,0xa5,0x21,0x00,0x20,0xaf,0x0b,0xe5,0x60);
-DEFINE_GUID(IID_IDirect3D,0x3bba0080,0x2421,0x11cf,0xa3,0x1a,0x00,0xaa,0x00,0xb9,0x33,0x56);
-DEFINE_GUID(IID_IDirect3D2,0x6aae1ec1,0x662a,0x11d0,0x88,0x9d,0x00,0xaa,0x00,0xbb,0xb7,0x6a);
-DEFINE_GUID(IID_IDirect3D3,0xbb223240,0xe72b,0x11d0,0xa9,0xb4,0x00,0xaa,0x00,0xc0,0x99,0x3e);
-DEFINE_GUID(IID_IDirect3D7,0xf5049e77,0x4861,0x11d2,0xa4,0x7,0x0,0xa0,0xc9,0x6,0x29,0xa8);
-DEFINE_GUID(IID_IDirect3D8,0x1dd9e8da,0x1c77,0x4d40,0xb0,0xcf,0x98,0xfe,0xfd,0xff,0x95,0x12);
-DEFINE_GUID(IID_IDirect3D9, 0x81bdcbca, 0x64d4, 0x426d, 0xae, 0x8d, 0xad, 0x1, 0x47, 0xf4, 0x27, 0x5c);
-DEFINE_GUID(IID_IDirect3DBaseTexture8,0xb4211cfa,0x51b9,0x4a9f,0xab,0x78,0xdb,0x99,0xb2,0xbb,0x67,0x8e);
-DEFINE_GUID(IID_IDirect3DBaseTexture9, 0x580ca87e, 0x1d3c, 0x4d54, 0x99, 0x1d, 0xb7, 0xd3, 0xe3, 0xc2, 0x98, 0xce);
-DEFINE_GUID(IID_IDirect3DCubeTexture8,0x3ee5b968,0x2aca,0x4c34,0x8b,0xb5,0x7e,0x0c,0x3d,0x19,0xb7,0x50);
-DEFINE_GUID(IID_IDirect3DCubeTexture9, 0xfff32f81, 0xd953, 0x473a, 0x92, 0x23, 0x93, 0xd6, 0x52, 0xab, 0xa9, 0x3f);
-DEFINE_GUID(IID_IDirect3DDevice,0x64108800,0x957d,0x11d0,0x89,0xab,0x00,0xa0,0xc9,0x05,0x41,0x29);
-DEFINE_GUID(IID_IDirect3DDevice2,0x93281501,0x8cf8,0x11d0,0x89,0xab,0x0,0xa0,0xc9,0x5,0x41,0x29);
-DEFINE_GUID(IID_IDirect3DDevice3,0xb0ab3b60,0x33d7,0x11d1,0xa9,0x81,0x0,0xc0,0x4f,0xd7,0xb1,0x74);
-DEFINE_GUID(IID_IDirect3DDevice7,0xf5049e79,0x4861,0x11d2,0xa4,0x7,0x0,0xa0,0xc9,0x6,0x29,0xa8);
-DEFINE_GUID(IID_IDirect3DDevice8,0x7385e5df,0x8fe8,0x41d5,0x86,0xb6,0xd7,0xb4,0x85,0x47,0xb6,0xcf);
-DEFINE_GUID(IID_IDirect3DDevice9, 0xd0223b96, 0xbf7a, 0x43fd, 0x92, 0xbd, 0xa4, 0x3b, 0xd, 0x82, 0xb9, 0xeb);
-DEFINE_GUID(IID_IDirect3DExecuteBuffer,0x4417c145,0x33ad,0x11cf,0x81,0x6f,0x00,0x00,0xc0,0x20,0x15,0x6e);
-DEFINE_GUID(IID_IDirect3DHALDevice,0x84e63de0,0x46aa,0x11cf,0x81,0x6f,0x00,0x00,0xc0,0x20,0x15,0x6e);
-DEFINE_GUID(IID_IDirect3DIndexBuffer8,0x0e689c9a,0x053d,0x44a0,0x9d,0x92,0xdb,0x0e,0x3d,0x75,0x0f,0x86);
-DEFINE_GUID(IID_IDirect3DIndexBuffer9, 0x7c9dd65e, 0xd3f7, 0x4529, 0xac, 0xee, 0x78, 0x58, 0x30, 0xac, 0xde, 0x35);
-DEFINE_GUID(IID_IDirect3DLight,0x4417c142,0x33ad,0x11cf,0x81,0x6f,0x00,0x00,0xc0,0x20,0x15,0x6e);
-DEFINE_GUID(IID_IDirect3DMaterial,0x4417c144,0x33ad,0x11cf,0x81,0x6f,0x00,0x00,0xc0,0x20,0x15,0x6e);
-DEFINE_GUID(IID_IDirect3DMaterial2,0x93281503,0x8cf8,0x11d0,0x89,0xab,0x0,0xa0,0xc9,0x5,0x41,0x29);
-DEFINE_GUID(IID_IDirect3DMaterial3,0xca9c46f4,0xd3c5,0x11d1,0xb7,0x5a,0x0,0x60,0x8,0x52,0xb3,0x12);
-DEFINE_GUID(IID_IDirect3DMMXDevice,0x881949a1,0xd6f3,0x11d0,0x89,0xab,0x00,0xa0,0xc9,0x05,0x41,0x29);
-DEFINE_GUID(IID_IDirect3DNullDevice,0x8767df22,0xbacc,0x11d1,0x89,0x69,0x0,0xa0,0xc9,0x6,0x29,0xa8);
-DEFINE_GUID(IID_IDirect3DPixelShader9, 0x6d3bdbdc, 0x5b02, 0x4415, 0xb8, 0x52, 0xce, 0x5e, 0x8b, 0xcc, 0xb2, 0x89);
-DEFINE_GUID(IID_IDirect3DQuery9, 0xd9771460, 0xa695, 0x4f26, 0xbb, 0xd3, 0x27, 0xb8, 0x40, 0xb5, 0x41, 0xcc);
-DEFINE_GUID(IID_IDirect3DResource9, 0x5eec05d, 0x8f7d, 0x4362, 0xb9, 0x99, 0xd1, 0xba, 0xf3, 0x57, 0xc7, 0x4);
-DEFINE_GUID(IID_IDirect3DRampDevice,0xf2086b20,0x259f,0x11cf,0xa3,0x1a,0x00,0xaa,0x00,0xb9,0x33,0x56);
-DEFINE_GUID(IID_IDirect3DRefDevice,0x50936643,0x13e9,0x11d1,0x89,0xaa,0x0,0xa0,0xc9,0x5,0x41,0x29);
-DEFINE_GUID(IID_IDirect3DResource8,0x1b36bb7b,0x9b7,0x410a,0xb4,0x45,0x7d,0x14,0x30,0xd7,0xb3,0x3f);
-DEFINE_GUID(IID_IDirect3DRGBDevice,0xa4665c60,0x2673,0x11cf,0xa3,0x1a,0x00,0xaa,0x00,0xb9,0x33,0x56);
-DEFINE_GUID(IID_IDirect3DRM,0x2bc49361,0x8327,0x11cf,0xac,0x4a,0x0,0x0,0xc0,0x38,0x25,0xa1);
-DEFINE_GUID(IID_IDirect3DRM2,0x4516ecc8,0x8f20,0x11d0,0x9b,0x6d,0x00,0x00,0xc0,0x78,0x1b,0xc3);
-DEFINE_GUID(IID_IDirect3DRM3,0x4516ec83,0x8f20,0x11d0,0x9b,0x6d,0x00,0x00,0xc0,0x78,0x1b,0xc3);
-DEFINE_GUID(IID_IDirect3DRMAnimation,0xeb16cb0d,0xd271,0x11ce,0xac,0x48,0x0,0x0,0xc0,0x38,0x25,0xa1);
-DEFINE_GUID(IID_IDirect3DRMAnimation2,0xff6b7f77,0xa40e,0x11d1,0x91,0xf9,0x0,0x0,0xf8,0x75,0x8e,0x66);
-DEFINE_GUID(IID_IDirect3DRMAnimationArray,0xd5f1cae0,0x4bd7,0x11d1,0xb9,0x74,0x0,0x60,0x8,0x3e,0x45,0xf3);
-DEFINE_GUID(IID_IDirect3DRMAnimationSet,0xeb16cb0e,0xd271,0x11ce,0xac,0x48,0x0,0x0,0xc0,0x38,0x25,0xa1);
-DEFINE_GUID(IID_IDirect3DRMAnimationSet2,0xff6b7f79,0xa40e,0x11d1,0x91,0xf9,0x0,0x0,0xf8,0x75,0x8e,0x66);
-DEFINE_GUID(IID_IDirect3DRMClippedVisual,0x5434e733,0x6d66,0x11d1,0xbb,0xb,0x0,0x0,0xf8,0x75,0x86,0x5a);
-DEFINE_GUID(IID_IDirect3DRMDevice,0xe9e19280,0x6e05,0x11cf,0xac,0x4a,0x0,0x0,0xc0,0x38,0x25,0xa1);
-DEFINE_GUID(IID_IDirect3DRMDevice2,0x4516ec78,0x8f20,0x11d0,0x9b,0x6d,0x00,0x00,0xc0,0x78,0x1b,0xc3);
-DEFINE_GUID(IID_IDirect3DRMDevice3,0x549f498b,0xbfeb,0x11d1,0x8e,0xd8,0x0,0xa0,0xc9,0x67,0xa4,0x82);
-DEFINE_GUID(IID_IDirect3DRMDeviceArray,0xeb16cb10,0xd271,0x11ce,0xac,0x48,0x0,0x0,0xc0,0x38,0x25,0xa1);
-DEFINE_GUID(IID_IDirect3DRMFace,0xeb16cb07,0xd271,0x11ce,0xac,0x48,0x0,0x0,0xc0,0x38,0x25,0xa1);
-DEFINE_GUID(IID_IDirect3DRMFace2,0x4516ec81,0x8f20,0x11d0,0x9b,0x6d,0x00,0x00,0xc0,0x78,0x1b,0xc3);
-DEFINE_GUID(IID_IDirect3DRMFaceArray,0xeb16cb17,0xd271,0x11ce,0xac,0x48,0x0,0x0,0xc0,0x38,0x25,0xa1);
-DEFINE_GUID(IID_IDirect3DRMFrame,0xeb16cb03,0xd271,0x11ce,0xac,0x48,0x0,0x0,0xc0,0x38,0x25,0xa1);
-DEFINE_GUID(IID_IDirect3DRMFrame2,0xc3dfbd60,0x3988,0x11d0,0x9e,0xc2,0x0,0x0,0xc0,0x29,0x1a,0xc3);
-DEFINE_GUID(IID_IDirect3DRMFrame3,0xff6b7f70,0xa40e,0x11d1,0x91,0xf9,0x0,0x0,0xf8,0x75,0x8e,0x66);
-DEFINE_GUID(IID_IDirect3DRMFrameArray,0xeb16cb12,0xd271,0x11ce,0xac,0x48,0x0,0x0,0xc0,0x38,0x25,0xa1);
-DEFINE_GUID(IID_IDirect3DRMInterpolator,0x242f6bc1,0x3849,0x11d0,0x9b,0x6d,0x0,0x0,0xc0,0x78,0x1b,0xc3);
-DEFINE_GUID(IID_IDirect3DRMLight,0xeb16cb08,0xd271,0x11ce,0xac,0x48,0x0,0x0,0xc0,0x38,0x25,0xa1);
-DEFINE_GUID(IID_IDirect3DRMLightArray,0xeb16cb14,0xd271,0x11ce,0xac,0x48,0x0,0x0,0xc0,0x38,0x25,0xa1);
-DEFINE_GUID(IID_IDirect3DRMMaterial,0xeb16cb0b,0xd271,0x11ce,0xac,0x48,0x0,0x0,0xc0,0x38,0x25,0xa1);
-DEFINE_GUID(IID_IDirect3DRMMaterial2,0xff6b7f75,0xa40e,0x11d1,0x91,0xf9,0x0,0x0,0xf8,0x75,0x8e,0x66);
-DEFINE_GUID(IID_IDirect3DRMMesh,0xa3a80d01,0x6e12,0x11cf,0xac,0x4a,0x0,0x0,0xc0,0x38,0x25,0xa1);
-DEFINE_GUID(IID_IDirect3DRMMeshBuilder,0xa3a80d02,0x6e12,0x11cf,0xac,0x4a,0x0,0x0,0xc0,0x38,0x25,0xa1);
-DEFINE_GUID(IID_IDirect3DRMMeshBuilder2,0x4516ec77,0x8f20,0x11d0,0x9b,0x6d,0x0,0x0,0xc0,0x78,0x1b,0xc3);
-DEFINE_GUID(IID_IDirect3DRMMeshBuilder3,0x4516ec82,0x8f20,0x11d0,0x9b,0x6d,0x00,0x00,0xc0,0x78,0x1b,0xc3);
-DEFINE_GUID(IID_IDirect3DRMObject,0xeb16cb00,0xd271,0x11ce,0xac,0x48,0x0,0x0,0xc0,0x38,0x25,0xa1);
-DEFINE_GUID(IID_IDirect3DRMObject2,0x4516ec7c,0x8f20,0x11d0,0x9b,0x6d,0x00,0x00,0xc0,0x78,0x1b,0xc3);
-DEFINE_GUID(IID_IDirect3DRMObjectArray,0x242f6bc2,0x3849,0x11d0,0x9b,0x6d,0x0,0x0,0xc0,0x78,0x1b,0xc3);
-DEFINE_GUID(IID_IDirect3DRMPicked2Array,0x4516ec7b,0x8f20,0x11d0,0x9b,0x6d,0x0,0x0,0xc0,0x78,0x1b,0xc3);
-DEFINE_GUID(IID_IDirect3DRMPickedArray,0xeb16cb16,0xd271,0x11ce,0xac,0x48,0x0,0x0,0xc0,0x38,0x25,0xa1);
-DEFINE_GUID(IID_IDirect3DRMProgressiveMesh,0x4516ec79,0x8f20,0x11d0,0x9b,0x6d,0x0,0x0,0xc0,0x78,0x1b,0xc3);
-DEFINE_GUID(IID_IDirect3DRMShadow,0xaf359780,0x6ba3,0x11cf,0xac,0x4a,0x0,0x0,0xc0,0x38,0x25,0xa1);
-DEFINE_GUID(IID_IDirect3DRMShadow2,0x86b44e25,0x9c82,0x11d1,0xbb,0xb,0x0,0xa0,0xc9,0x81,0xa0,0xa6);
-DEFINE_GUID(IID_IDirect3DRMTexture,0xeb16cb09,0xd271,0x11ce,0xac,0x48,0x0,0x0,0xc0,0x38,0x25,0xa1);
-DEFINE_GUID(IID_IDirect3DRMTexture2,0x120f30c0,0x1629,0x11d0,0x94,0x1c,0x0,0x80,0xc8,0xc,0xfa,0x7b);
-DEFINE_GUID(IID_IDirect3DRMTexture3,0xff6b7f73,0xa40e,0x11d1,0x91,0xf9,0x0,0x0,0xf8,0x75,0x8e,0x66);
-DEFINE_GUID(IID_IDirect3DRMUserVisual,0x59163de0,0x6d43,0x11cf,0xac,0x4a,0x0,0x0,0xc0,0x38,0x25,0xa1);
-DEFINE_GUID(IID_IDirect3DRMViewport,0xeb16cb02,0xd271,0x11ce,0xac,0x48,0x0,0x0,0xc0,0x38,0x25,0xa1);
-DEFINE_GUID(IID_IDirect3DRMViewport2,0x4a1b1be6,0xbfed,0x11d1,0x8e,0xd8,0x0,0xa0,0xc9,0x67,0xa4,0x82);
-DEFINE_GUID(IID_IDirect3DRMViewportArray,0xeb16cb11,0xd271,0x11ce,0xac,0x48,0x0,0x0,0xc0,0x38,0x25,0xa1);
-DEFINE_GUID(IID_IDirect3DRMVisual,0xeb16cb04,0xd271,0x11ce,0xac,0x48,0x0,0x0,0xc0,0x38,0x25,0xa1);
-DEFINE_GUID(IID_IDirect3DRMVisualArray,0xeb16cb13,0xd271,0x11ce,0xac,0x48,0x0,0x0,0xc0,0x38,0x25,0xa1);
-DEFINE_GUID(IID_IDirect3DRMWinDevice,0xc5016cc0,0xd273,0x11ce,0xac,0x48,0x0,0x0,0xc0,0x38,0x25,0xa1);
-DEFINE_GUID(IID_IDirect3DRMWrap,0xeb16cb0a,0xd271,0x11ce,0xac,0x48,0x0,0x0,0xc0,0x38,0x25,0xa1);
-DEFINE_GUID(IID_IDirect3DStateBlock9,0xb07c4fe5,0x310d,0x4ba8,0xa2,0x3c,0x4f,0xf,0x20,0x6f,0x21,0x8b);
-DEFINE_GUID(IID_IDirect3DSurface8,0xb96eebca,0xb326,0x4ea5,0x88,0x2f,0x2f,0xf5,0xba,0xe0,0x21,0xdd);
-DEFINE_GUID(IID_IDirect3DSurface9,0xcfbaf3a,0x9ff6,0x429a,0x99,0xb3,0xa2,0x79,0x6a,0xf8,0xb8,0x9b);
-DEFINE_GUID(IID_IDirect3DSwapChain8,0x928c088b,0x76b9,0x4c6b,0xa5,0x36,0xa5,0x90,0x85,0x38,0x76,0xcd);
-DEFINE_GUID(IID_IDirect3DSwapChain9,0x794950f2,0xadfc,0x458a,0x90,0x5e,0x10,0xa1,0xb,0xb,0x50,0x3b);
-DEFINE_GUID(IID_IDirect3DTexture,0x2cdcd9e0,0x25a0,0x11cf,0xa3,0x1a,0x00,0xaa,0x00,0xb9,0x33,0x56);
-DEFINE_GUID(IID_IDirect3DTexture2,0x93281502,0x8cf8,0x11d0,0x89,0xab,0x0,0xa0,0xc9,0x5,0x41,0x29);
-DEFINE_GUID(IID_IDirect3DTexture8,0xe4cdd575,0x2866,0x4f01,0xb1,0x2e,0x7e,0xec,0xe1,0xec,0x93,0x58);
-DEFINE_GUID(IID_IDirect3DTexture9,0x85c31227,0x3de5,0x4f00,0x9b,0x3a,0xf1,0x1a,0xc3,0x8c,0x18,0xb5);
-DEFINE_GUID(IID_IDirect3DTnLHalDevice,0xf5049e78,0x4861,0x11d2,0xa4,0x7,0x0,0xa0,0xc9,0x6,0x29,0xa8);
-DEFINE_GUID(IID_IDirect3DVertexBuffer,0x7a503555,0x4a83,0x11d1,0xa5,0xdb,0x0,0xa0,0xc9,0x3,0x67,0xf8);
-DEFINE_GUID(IID_IDirect3DVertexBuffer7,0xf5049e7d,0x4861,0x11d2,0xa4,0x7,0x0,0xa0,0xc9,0x6,0x29,0xa8);
-DEFINE_GUID(IID_IDirect3DVertexBuffer8,0x8aeeeac7,0x05f9,0x44d4,0xb5,0x91,0x00,0x0b,0x0d,0xf1,0xcb,0x95);
-DEFINE_GUID(IID_IDirect3DVertexBuffer9,0xb64bb1b5,0xfd70,0x4df6,0xbf,0x91,0x19,0xd0,0xa1,0x24,0x55,0xe3);
-DEFINE_GUID(IID_IDirect3DVertexDeclaration9,0xdd13c59c,0x36fa,0x4098,0xa8,0xfb,0xc7,0xed,0x39,0xdc,0x85,0x46);
-DEFINE_GUID(IID_IDirect3DVertexShader9,0xefc5557e,0x6265,0x4613,0x8a,0x94,0x43,0x85,0x78,0x89,0xeb,0x36);
-DEFINE_GUID(IID_IDirect3DViewport,0x4417c146,0x33ad,0x11cf,0x81,0x6f,0x00,0x00,0xc0,0x20,0x15,0x6e);
-DEFINE_GUID(IID_IDirect3DViewport2,0x93281500,0x8cf8,0x11d0,0x89,0xab,0x0,0xa0,0xc9,0x5,0x41,0x29);
-DEFINE_GUID(IID_IDirect3DViewport3,0xb0ab3b61,0x33d7,0x11d1,0xa9,0x81,0x0,0xc0,0x4f,0xd7,0xb1,0x74);
-DEFINE_GUID(IID_IDirect3DVolume8,0xbd7349f5,0x14f1,0x42e4,0x9c,0x79,0x97,0x23,0x80,0xdb,0x40,0xc0);
-DEFINE_GUID(IID_IDirect3DVolume9,0x24f416e6,0x1f67,0x4aa7,0xb8,0x8e,0xd3,0x3f,0x6f,0x31,0x28,0xa1);
-DEFINE_GUID(IID_IDirect3DVolumeTexture8,0x4b8aaafa,0x140f,0x42ba,0x91,0x31,0x59,0x7e,0xaf,0xaa,0x2e,0xad);
-DEFINE_GUID(IID_IDirect3DVolumeTexture9,0x2518526c,0xe789,0x4111,0xa7,0xb9,0x47,0xef,0x32,0x8d,0x13,0xe6);
-DEFINE_GUID(IID_IDirectDraw,0x6c14db80,0xa733,0x11ce,0xa5,0x21,0x00,0x20,0xaf,0x0b,0xe5,0x60);
-DEFINE_GUID(IID_IDirectDraw2,0xb3a6f3e0,0x2b43,0x11cf,0xa2,0xde,0x00,0xaa,0x00,0xb9,0x33,0x56);
-DEFINE_GUID(IID_IDirectDraw4,0x9c59509a,0x39bd,0x11d1,0x8c,0x4a,0x00,0xc0,0x4f,0xd9,0x30,0xc5);
-DEFINE_GUID(IID_IDirectDraw7,0x15e65ec0,0x3b9c,0x11d2,0xb9,0x2f,0x00,0x60,0x97,0x97,0xea,0x5b);
-DEFINE_GUID(IID_IDirectDrawClipper,0x6c14db85,0xa733,0x11ce,0xa5,0x21,0x00,0x20,0xaf,0x0b,0xe5,0x60);
-DEFINE_GUID(IID_IDirectDrawColorControl,0x4b9f0ee0,0x0d7e,0x11d0,0x9b,0x06,0x00,0xa0,0xc9,0x03,0xa3,0xb8);
-DEFINE_GUID(IID_IDirectDrawFactory2,0x89b2c488,0x4af4,0x11d1,0x8c,0x4c,0x0,0xc0,0x4f,0xd9,0x30,0xc5);
-DEFINE_GUID(IID_IDirectDrawGammaControl,0x69c11c3e,0xb46b,0x11d1,0xad,0x7a,0x00,0xc0,0x4f,0xc2,0x9b,0x4e);
-DEFINE_GUID(IID_IDirectDrawOptSurface,0x51191f1e,0x4f2b,0x11d1,0x8c,0xc3,0x0,0xa0,0xc9,0x6,0x29,0xa8);
-DEFINE_GUID(IID_IDirectDrawPalette,0x6c14db84,0xa733,0x11ce,0xa5,0x21,0x00,0x20,0xaf,0x0b,0xe5,0x60);
-DEFINE_GUID(IID_IDirectDrawPalette2,0xc03c477e,0x6519,0x11d1,0x8c,0x52,0x0,0xc0,0x4f,0xd9,0x30,0xc5);
-DEFINE_GUID(IID_IDirectDrawSurface,0x6c14db81,0xa733,0x11ce,0xa5,0x21,0x00,0x20,0xaf,0x0b,0xe5,0x60);
-DEFINE_GUID(IID_IDirectDrawSurface2,0x57805885,0x6eec,0x11cf,0x94,0x41,0xa8,0x23,0x03,0xc1,0x0e,0x27);
-DEFINE_GUID(IID_IDirectDrawSurface3,0xda044e00,0x69b2,0x11d0,0xa1,0xd5,0x00,0xaa,0x00,0xb8,0xdf,0xbb);
-DEFINE_GUID(IID_IDirectDrawSurface4,0x0b2b8630,0xad35,0x11d0,0x8e,0xa6,0x00,0x60,0x97,0x97,0xea,0x5b);
-DEFINE_GUID(IID_IDirectDrawSurface7,0x06675a80,0x3b9b,0x11d2,0xb9,0x2f,0x00,0x60,0x97,0x97,0xea,0x5b);
-//IID_IDirectDrawSurfaceNew
-DEFINE_GUID(IID_IDirectDrawVideoPort,0xb36d93e0,0x2b43,0x11cf,0xa2,0xde,0x00,0xaa,0x00,0xb9,0x33,0x56);
-DEFINE_GUID(IID_IDirectDrawVideoPortNotify,0xa655fb94,0x0589,0x4e57,0xb3,0x33,0x56,0x7a,0x89,0x46,0x8c,0x88);
-DEFINE_GUID(IID_IDirectInput2A,0x5944e662,0xaa8a,0x11cf,0xbf,0xc7,0x44,0x45,0x53,0x54,0x00,0x00);
-DEFINE_GUID(IID_IDirectInput2W,0x5944e663,0xaa8a,0x11cf,0xbf,0xc7,0x44,0x45,0x53,0x54,0x00,0x00);
-DEFINE_GUID(IID_IDirectInput7A,0x9a4cb684,0x236d,0x11d3,0x8e,0x9d,0x00,0xc0,0x4f,0x68,0x44,0xae);
-DEFINE_GUID(IID_IDirectInput7W,0x9a4cb685,0x236d,0x11d3,0x8e,0x9d,0x00,0xc0,0x4f,0x68,0x44,0xae);
-DEFINE_GUID(IID_IDirectInput8A,0xbf798030,0x483a,0x4da2,0xaa,0x99,0x5d,0x64,0xed,0x36,0x97,0x00);
-DEFINE_GUID(IID_IDirectInput8W,0xbf798031,0x483a,0x4da2,0xaa,0x99,0x5d,0x64,0xed,0x36,0x97,0x00);
-DEFINE_GUID(IID_IDirectInputA,0x89521360,0xaa8a,0x11cf,0xbf,0xc7,0x44,0x45,0x53,0x54,0x00,0x00);
-DEFINE_GUID(IID_IDirectInputDevice2A,0x5944e682,0xc92e,0x11cf,0xbf,0xc7,0x44,0x45,0x53,0x54,0x00,0x00);
-DEFINE_GUID(IID_IDirectInputDevice2W,0x5944e683,0xc92e,0x11cf,0xbf,0xc7,0x44,0x45,0x53,0x54,0x00,0x00);
-DEFINE_GUID(IID_IDirectInputDevice7A,0x57d7c6bc,0x2356,0x11d3,0x8e,0x9d,0x00,0xc0,0x4f,0x68,0x44,0xae);
-DEFINE_GUID(IID_IDirectInputDevice7W,0x57d7c6bd,0x2356,0x11d3,0x8e,0x9d,0x00,0xc0,0x4f,0x68,0x44,0xae);
-DEFINE_GUID(IID_IDirectInputDevice8A,0x54d41080,0xdc15,0x4833,0xa4,0x1b,0x74,0x8f,0x73,0xa3,0x81,0x79);
-DEFINE_GUID(IID_IDirectInputDevice8W,0x54d41081,0xdc15,0x4833,0xa4,0x1b,0x74,0x8f,0x73,0xa3,0x81,0x79);
-DEFINE_GUID(IID_IDirectInputDeviceA,0x5944e680,0xc92e,0x11cf,0xbf,0xc7,0x44,0x45,0x53,0x54,0x00,0x00);
-DEFINE_GUID(IID_IDirectInputDeviceW,0x5944e681,0xc92e,0x11cf,0xbf,0xc7,0x44,0x45,0x53,0x54,0x00,0x00);
-DEFINE_GUID(IID_IDirectInputEffect,0xe7e1f7c0,0x88d2,0x11d0,0x9a,0xd0,0x00,0xa0,0xc9,0xa0,0x6e,0x35);
-DEFINE_GUID(IID_IDirectInputEffectDriver,0x02538130,0x898f,0x11d0,0x9a,0xd0,0x00,0xa0,0xc9,0xa0,0x6e,0x35);
-DEFINE_GUID(IID_IDirectInputJoyConfig,0x1de12ab1,0xc9f5,0x11cf,0xbf,0xc7,0x44,0x45,0x53,0x54,0x00,0x00);
-DEFINE_GUID(IID_IDirectInputJoyConfig8,0xeb0d7dfa,0x1990,0x4f27,0xb4,0xd6,0xed,0xf2,0xee,0xc4,0xa4,0x4c);
-DEFINE_GUID(IID_IDirectInputPIDDriver,0xeec6993a,0xb3fd,0x11d2,0xa9,0x16,0x00,0xc0,0x4f,0xb9,0x86,0x38);
-DEFINE_GUID(IID_IDirectInputW,0x89521361,0xaa8a,0x11cf,0xbf,0xc7,0x44,0x45,0x53,0x54,0x00,0x00);
-DEFINE_GUID(IID_IDirectMusic,0x6536115a,0x7b2d,0x11d2,0xba,0x18,0x00,0x00,0xf8,0x75,0xac,0x12);
-DEFINE_GUID(IID_IDirectMusic2,0x6fc2cae1, 0xbc78, 0x11d2, 0xaf, 0xa6, 0x0, 0xaa, 0x0, 0x24, 0xd8, 0xb6);
-DEFINE_GUID(IID_IDirectMusic8,0x2d3629f7,0x813d,0x4939,0x85,0x08,0xf0,0x5c,0x6b,0x75,0xfd,0x97);
-DEFINE_GUID(IID_IDirectMusicAudioPath,0xc87631f5, 0x23be, 0x4986, 0x88, 0x36, 0x5, 0x83, 0x2f, 0xcc, 0x48, 0xf9);
-DEFINE_GUID(IID_IDirectMusicBand,0xd2ac28c0, 0xb39b, 0x11d1, 0x87, 0x4, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xbd);
-DEFINE_GUID(IID_IDirectMusicBuffer,0xd2ac2878, 0xb39b, 0x11d1, 0x87, 0x4, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xbd);
-DEFINE_GUID(IID_IDirectMusicCollection,0xd2ac287c, 0xb39b, 0x11d1, 0x87, 0x4, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xbd);
-DEFINE_GUID(IID_IDirectMusicComposer,0xd2ac28bf,0xb39b,0x11d1,0x87,0x4,0x0,0x60,0x8,0x93,0xb1,0xbd);
-DEFINE_GUID(IID_IDirectMusicContainer,0x9301e386,0x1f22,0x11d3,0x82,0x26,0xd2,0xfa,0x76,0x25,0x5d,0x47);
-DEFINE_GUID(IID_IDirectMusicDownload,0xd2ac287b,0xb39b,0x11d1,0x87,0x4,0x0,0x60,0x8,0x93,0xb1,0xbd);
-DEFINE_GUID(IID_IDirectMusicDownloadedInstrument,0xd2ac287e,0xb39b,0x11d1,0x87,0x4,0x0,0x60,0x8,0x93,0xb1,0xbd);
-DEFINE_GUID(IID_IDirectMusicGetLoader,0x68a04844,0xd13d,0x11d1,0xaf,0xa6,0x0,0xaa,0x0,0x24,0xd8,0xb6);
-DEFINE_GUID(IID_IDirectMusicGraph,0x2befc277,0x5497,0x11d2,0xbc,0xcb,0x0,0xa0,0xc9,0x22,0xe6,0xeb);
-DEFINE_GUID(IID_IDirectMusicChordMap,0xd2ac28be,0xb39b,0x11d1,0x87,0x4,0x0,0x60,0x8,0x93,0xb1,0xbd);
-DEFINE_GUID(IID_IDirectMusicInstrument,0xd2ac287d,0xb39b,0x11d1,0x87,0x4,0x0,0x60,0x8,0x93,0xb1,0xbd);
-DEFINE_GUID(IID_IDirectMusicLoader,0x2ffaaca2,0x5dca,0x11d2,0xaf,0xa6,0x0,0xaa,0x0,0x24,0xd8,0xb6);
-DEFINE_GUID(IID_IDirectMusicLoader8,0x19e7c08c,0xa44,0x4e6a,0xa1,0x16,0x59,0x5a,0x7c,0xd5,0xde,0x8c);
-DEFINE_GUID(IID_IDirectMusicObject,0xd2ac28b5,0xb39b,0x11d1,0x87,0x4,0x0,0x60,0x8,0x93,0xb1,0xbd);
-DEFINE_GUID(IID_IDirectMusicPatternTrack,0x51c22e10,0xb49f,0x46fc,0xbe,0xc2,0xe6,0x28,0x8f,0xb9,0xed,0xe6);
-DEFINE_GUID(IID_IDirectMusicPerformance,0x7d43d03,0x6523,0x11d2,0x87,0x1d,0x0,0x60,0x8,0x93,0xb1,0xbd);
-DEFINE_GUID(IID_IDirectMusicPerformance2,0x6fc2cae0,0xbc78,0x11d2,0xaf,0xa6,0x0,0xaa,0x0,0x24,0xd8,0xb6);
-DEFINE_GUID(IID_IDirectMusicPerformance8,0x679c4137,0xc62e,0x4147,0xb2,0xb4,0x9d,0x56,0x9a,0xcb,0x25,0x4c);
-DEFINE_GUID(IID_IDirectMusicPort,0x08f2d8c9,0x37c2,0x11d2,0xb9,0xf9,0x00,0x00,0xf8,0x75,0xac,0x12);
-DEFINE_GUID(IID_IDirectMusicPortDownload,0xd2ac287a,0xb39b,0x11d1,0x87,0x4,0x0,0x60,0x8,0x93,0xb1,0xbd);
-DEFINE_GUID(IID_IDirectMusicScript,0x2252373a,0x5814,0x489b,0x82,0x9,0x31,0xfe,0xde,0xba,0xf1,0x37);/*{2252373a-5814-489b-8209-31fedebaf137}*/
-DEFINE_GUID(IID_IDirectMusicSegment,0xf96029a2,0x4282,0x11d2,0x87,0x17,0x0,0x60,0x8,0x93,0xb1,0xbd);
-DEFINE_GUID(IID_IDirectMusicSegment2,0xd38894d1,0xc052,0x11d2,0x87,0x2f,0x0,0x60,0x8,0x93,0xb1,0xbd);
-DEFINE_GUID(IID_IDirectMusicSegment8,0xc6784488,0x41a3,0x418f,0xaa,0x15,0xb3,0x50,0x93,0xba,0x42,0xd4);
-DEFINE_GUID(IID_IDirectMusicSegmentState,0xa3afdcc7,0xd3ee,0x11d1,0xbc,0x8d,0x0,0xa0,0xc9,0x22,0xe6,0xeb);
-DEFINE_GUID(IID_IDirectMusicSegmentState8,0xa50e4730,0xae4,0x48a7,0x98,0x39,0xbc,0x4,0xbf,0xe0,0x77,0x72);
-DEFINE_GUID(IID_IDirectMusicSong,0xa862b2ec,0x3676,0x4982,0x85,0xa,0x78,0x42,0x77,0x5e,0x1d,0x86);
-DEFINE_GUID(IID_IDirectMusicStyle,0xd2ac28bd,0xb39b,0x11d1,0x87,0x4,0x0,0x60,0x8,0x93,0xb1,0xbd);
-DEFINE_GUID(IID_IDirectMusicStyle8,0xfd24ad8a,0xa260,0x453d,0xbf,0x50,0x6f,0x93,0x84,0xf7,0x9,0x85);
-DEFINE_GUID(IID_IDirectMusicThru,0xced153e7,0x3606,0x11d2,0xb9,0xf9,0x00,0x00,0xf8,0x75,0xac,0x12);
-DEFINE_GUID(IID_IDirectMusicTool,0xd2ac28ba,0xb39b,0x11d1,0x87,0x4,0x0,0x60,0x8,0x93,0xb1,0xbd);
-DEFINE_GUID(IID_IDirectMusicTrack,0xf96029a1,0x4282,0x11d2,0x87,0x17,0x0,0x60,0x8,0x93,0xb1,0xbd);
-DEFINE_GUID(IID_IDirectMusicTool8,0xe674303,0x3b05,0x11d3,0x9b,0xd1,0xf9,0xe7,0xf0,0xa0,0x15,0x36);
-DEFINE_GUID(IID_IDirectMusicTrack8,0xe674304,0x3b05,0x11d3,0x9b,0xd1,0xf9,0xe7,0xf0,0xa0,0x15,0x36);
-DEFINE_GUID(IID_IDirectPlay,0x5454e9a0,0xdb65,0x11ce,0x92,0x1c,0x00,0xaa,0x00,0x6c,0x49,0x72);
-DEFINE_GUID(IID_IDirectPlay2,0x2b74f7c0,0x9154,0x11cf,0xa9,0xcd,0x0,0xaa,0x0,0x68,0x86,0xe3);
-DEFINE_GUID(IID_IDirectPlay2A,0x9d460580,0xa822,0x11cf,0x96,0xc,0x0,0x80,0xc7,0x53,0x4e,0x82);
-DEFINE_GUID(IID_IDirectPlay3,0x133efe40,0x32dc,0x11d0,0x9c,0xfb,0x0,0xa0,0xc9,0xa,0x43,0xcb);
-DEFINE_GUID(IID_IDirectPlay3A,0x133efe41,0x32dc,0x11d0,0x9c,0xfb,0x0,0xa0,0xc9,0xa,0x43,0xcb);
-DEFINE_GUID(IID_IDirectPlay4,0xab1c530,0x4745,0x11d1,0xa7,0xa1,0x0,0x0,0xf8,0x3,0xab,0xfc);
-DEFINE_GUID(IID_IDirectPlay4A,0xab1c531,0x4745,0x11d1,0xa7,0xa1,0x0,0x0,0xf8,0x3,0xab,0xfc);
-DEFINE_GUID(IID_IDirectPlay8Address,0x83783300,0x4063,0x4c8a,0x9d,0xb3,0x82,0x83,0xa,0x7f,0xeb,0x31);
-DEFINE_GUID(IID_IDirectPlay8AddressIP,0xe5a0e990,0x2bad,0x430b,0x87,0xda,0xa1,0x42,0xcf,0x75,0xde,0x58);
-DEFINE_GUID(IID_IDirectPlay8Client,0x5102dacd,0x241b,0x11d3,0xae,0xa7,0x0,0x60,0x97,0xb0,0x14,0x11);
-DEFINE_GUID(IID_IDirectPlay8LobbiedApplication,0x819074a3,0x16c,0x11d3,0xae,0x14,0x0,0x60,0x97,0xb0,0x14,0x11);
-DEFINE_GUID(IID_IDirectPlay8LobbyClient,0x819074a2,0x16c,0x11d3,0xae,0x14,0x0,0x60,0x97,0xb0,0x14,0x11);
-DEFINE_GUID(IID_IDirectPlay8NATResolver,0xa9e213f2,0x9a60,0x486f,0xbf,0x3b,0x53,0x40,0x8b,0x6d,0x1c,0xbb);
-DEFINE_GUID(IID_IDirectPlay8Peer,0x5102dacf,0x241b,0x11d3,0xae,0xa7,0x0,0x60,0x97,0xb0,0x14,0x11);
-DEFINE_GUID(IID_IDirectPlay8Server,0x5102dace,0x241b,0x11d3,0xae,0xa7,0x0,0x60,0x97,0xb0,0x14,0x11);
-DEFINE_GUID(IID_IDirectPlay8ThreadPool,0xd22ee73,0x4a46,0x4a0d,0x89,0xb2,0x4,0x5b,0x4d,0x66,0x64,0x25);
-DEFINE_GUID(IID_IDirectPlayLobby,0xaf465c71,0x9588,0x11cf,0xa0,0x20,0x0,0xaa,0x0,0x61,0x57,0xac);
-DEFINE_GUID(IID_IDirectPlayLobby2,0x194c220,0xa303,0x11d0,0x9c,0x4f,0x0,0xa0,0xc9,0x5,0x42,0x5e);
-DEFINE_GUID(IID_IDirectPlayLobby2A,0x1bb4af80,0xa303,0x11d0,0x9c,0x4f,0x0,0xa0,0xc9,0x5,0x42,0x5e);
-DEFINE_GUID(IID_IDirectPlayLobby3,0x2db72490,0x652c,0x11d1,0xa7,0xa8,0x0,0x0,0xf8,0x3,0xab,0xfc);
-DEFINE_GUID(IID_IDirectPlayLobby3A,0x2db72491,0x652c,0x11d1,0xa7,0xa8,0x0,0x0,0xf8,0x3,0xab,0xfc);
-DEFINE_GUID(IID_IDirectPlayLobbyA,0x26c66a70,0xb367,0x11cf,0xa0,0x24,0x0,0xaa,0x0,0x61,0x57,0xac);
-DEFINE_GUID(IID_IDirectPlayVoiceClient,0x1dfdc8ea,0xbcf7,0x41d6,0xb2,0x95,0xab,0x64,0xb3,0xb2,0x33,0x6);
-DEFINE_GUID(IID_IDirectPlayVoiceServer,0xfaa1c173,0x468,0x43b6,0x8a,0x2a,0xea,0x8a,0x4f,0x20,0x76,0xc9);
-DEFINE_GUID(IID_IDirectPlayVoiceTest,0xd26af734,0x208b,0x41da,0x82,0x24,0xe0,0xce,0x79,0x81,0xb,0xe1);
-DEFINE_GUID(IID_IDirectSound,0x279afa83,0x4981,0x11ce,0xa5,0x21,0x00,0x20,0xaf,0x0b,0xe5,0x60);
-DEFINE_GUID(IID_IDirectSound3DBuffer,0x279afa86,0x4981,0x11ce,0xa5,0x21,0x00,0x20,0xaf,0x0b,0xe5,0x60);
-DEFINE_GUID(IID_IDirectSound3DListener,0x279afa84,0x4981,0x11ce,0xa5,0x21,0x00,0x20,0xaf,0x0b,0xe5,0x60);
-DEFINE_GUID(IID_IDirectSound8,0xc50a7e93,0xf395,0x4834,0x9e,0xf6,0x7f,0xa9,0x9d,0xe5,0x09,0x66);
-DEFINE_GUID(IID_IDirectSoundBuffer,0x279afa85,0x4981,0x11ce,0xa5,0x21,0x00,0x20,0xaf,0x0b,0xe5,0x60);
-DEFINE_GUID(IID_IDirectSoundBuffer8,0x6825a449,0x7524,0x4d82,0x92,0x0f,0x50,0xe3,0x6a,0xb3,0xab,0x1e);
-DEFINE_GUID(IID_IDirectSoundCapture,0xb0210781,0x89cd,0x11d0,0xaf,0x8,0x0,0xa0,0xc9,0x25,0xcd,0x16);
-DEFINE_GUID(IID_IDirectSoundCaptureBuffer,0xb0210782,0x89cd,0x11d0,0xaf,0x8,0x0,0xa0,0xc9,0x25,0xcd,0x16);
-DEFINE_GUID(IID_IDirectSoundCaptureBuffer8,0x990df4,0xdbb,0x4872,0x83,0x3e,0x6d,0x30,0x3e,0x80,0xae,0xb6);
-DEFINE_GUID(IID_IDirectSoundCaptureFXAec,0xad74143d,0x903d,0x4ab7,0x80,0x66,0x28,0xd3,0x63,0x03,0x6d,0x65);
-DEFINE_GUID(IID_IDirectSoundCaptureFXNoiseSuppress,0xed311e41,0xfbae,0x4175,0x96,0x25,0xcd,0x8,0x54,0xf6,0x93,0xca);
-DEFINE_GUID(IID_IDirectSoundFullDuplex,0xedcb4c7a,0xdaab,0x4216,0xa4,0x2e,0x6c,0x50,0x59,0x6d,0xdc,0x1d);
-DEFINE_GUID(IID_IDirectSoundFXCompressor,0x4bbd1154,0x62f6,0x4e2c,0xa1,0x5c,0xd3,0xb6,0xc4,0x17,0xf7,0xa0);
-DEFINE_GUID(IID_IDirectSoundFXDistortion,0x8ecf4326,0x455f,0x4d8b,0xbd,0xa9,0x8d,0x5d,0x3e,0x9e,0x3e,0x0b);
-DEFINE_GUID(IID_IDirectSoundFXEcho,0x8bd28edf,0x50db,0x4e92,0xa2,0xbd,0x44,0x54,0x88,0xd1,0xed,0x42);
-DEFINE_GUID(IID_IDirectSoundFXFlanger,0x903e9878,0x2c92,0x4072,0x9b,0x2c,0xea,0x68,0xf5,0x39,0x67,0x83);
-DEFINE_GUID(IID_IDirectSoundFXGargle,0xd616f352,0xd622,0x11ce,0xaa,0xc5,0x00,0x20,0xaf,0x0b,0x99,0xa3);
-DEFINE_GUID(IID_IDirectSoundFXChorus,0x880842e3,0x145f,0x43e6,0xa9,0x34,0xa7,0x18,0x06,0xe5,0x05,0x47);
-DEFINE_GUID(IID_IDirectSoundFXI3DL2Reverb,0x4b166a6a,0x0d66,0x43f3,0x80,0xe3,0xee,0x62,0x80,0xde,0xe1,0xa4);
-DEFINE_GUID(IID_IDirectSoundFXParamEq,0xc03ca9fe,0xfe90,0x4204,0x80,0x78,0x82,0x33,0x4c,0xd1,0x77,0xda);
-DEFINE_GUID(IID_IDirectSoundFXWavesReverb,0x46858c3a,0x0dc6,0x45e3,0xb7,0x60,0xd4,0xee,0xf1,0x6c,0xb3,0x25);
-DEFINE_GUID(IID_IDirectSoundNotify,0xb0210783,0x89cd,0x11d0,0xaf,0x8,0x0,0xa0,0xc9,0x25,0xcd,0x16);
-DEFINE_GUID(IID_IDirectXFile,0x3d82ab40,0x62da,0x11cf,0xab,0x39,0x0,0x20,0xaf,0x71,0xe4,0x33);
-DEFINE_GUID(IID_IDirectXFileBinary,0x3d82ab46,0x62da,0x11cf,0xab,0x39,0x0,0x20,0xaf,0x71,0xe4,0x33);
-DEFINE_GUID(IID_IDirectXFileData,0x3d82ab44,0x62da,0x11cf,0xab,0x39,0x0,0x20,0xaf,0x71,0xe4,0x33);
-DEFINE_GUID(IID_IDirectXFileDataReference,0x3d82ab45,0x62da,0x11cf,0xab,0x39,0x0,0x20,0xaf,0x71,0xe4,0x33);
-DEFINE_GUID(IID_IDirectXFileEnumObject,0x3d82ab41,0x62da,0x11cf,0xab,0x39,0x0,0x20,0xaf,0x71,0xe4,0x33);
-DEFINE_GUID(IID_IDirectXFileObject,0x3d82ab43,0x62da,0x11cf,0xab,0x39,0x0,0x20,0xaf,0x71,0xe4,0x33);
-DEFINE_GUID(IID_IDirectXFileSaveObject,0x3d82ab42,0x62da,0x11cf,0xab,0x39,0x0,0x20,0xaf,0x71,0xe4,0x33);
-DEFINE_GUID(IID_IKsControl,0x28f54685l,0x06fd,0x11d2,0xb2,0x7a,0x00,0xa0,0xc9,0x22,0x31,0x96);
-DEFINE_GUID(IID_IKsFastClock,0xc9902485,0xc180,0x11d2,0x84,0x73,0xd4,0x23,0x94,0x45,0x9e,0x5e);
-DEFINE_GUID(IID_IKsPropertySet,0x31efac30,0x515c,0x11d0,0xa9,0xaa,0x00,0xaa,0x00,0x61,0xbe,0x93);
-DEFINE_GUID(IID_IReferenceClock,0x56a86897,0x0ad4,0x11ce,0xb0,0x3a,0x00,0x20,0xaf,0x0b,0xa7,0x70);
-DEFINE_GUID(KSDATAFORMAT_SUBTYPE_DIRECTMUSIC,0x1a82f8bc,0x3f8b,0x11d2,0xb7,0x74,0x00,0x60,0x08,0x33,0x16,0xc1);
-DEFINE_GUID(KSDATAFORMAT_SUBTYPE_MIDI,0x1d262760l,0xe957,0x11cf,0xa5,0xd6,0x28,0xdb,0x04,0xc1,0x00,0x00);
-DEFINE_GUID(TID_D3DRMAnimation,0x3d82ab4f,0x62da,0x11cf,0xab,0x39,0x0,0x20,0xaf,0x71,0xe4,0x33);
-DEFINE_GUID(TID_D3DRMAnimationKey,0x10dd46a8,0x775b,0x11cf,0x8f,0x52,0x0,0x40,0x33,0x35,0x94,0xa3);
-DEFINE_GUID(TID_D3DRMAnimationOptions,0xe2bf56c0,0x840f,0x11cf,0x8f,0x52,0x0,0x40,0x33,0x35,0x94,0xa3);
-DEFINE_GUID(TID_D3DRMAnimationSet,0x3d82ab50,0x62da,0x11cf,0xab,0x39,0x0,0x20,0xaf,0x71,0xe4,0x33);
-DEFINE_GUID(TID_D3DRMAppData,0xe5745280,0xb24f,0x11cf,0x9d,0xd5,0x0,0xaa,0x0,0xa7,0x1a,0x2f);
-DEFINE_GUID(TID_D3DRMBoolean,0x537da6a0,0xca37,0x11d0,0x94,0x1c,0x0,0x80,0xc8,0xc,0xfa,0x7b);
-DEFINE_GUID(TID_D3DRMBoolean2d,0x4885ae63,0x78e8,0x11cf,0x8f,0x52,0x0,0x40,0x33,0x35,0x94,0xa3);
-DEFINE_GUID(TID_D3DRMCamera,0x3d82ab51,0x62da,0x11cf,0xab,0x39,0x0,0x20,0xaf,0x71,0xe4,0x33);
-DEFINE_GUID(TID_D3DRMColorRGB,0xd3e16e81,0x7835,0x11cf,0x8f,0x52,0x0,0x40,0x33,0x35,0x94,0xa3);
-DEFINE_GUID(TID_D3DRMColorRGBA,0x35ff44e0,0x6c7c,0x11cf,0x8f,0x52,0x0,0x40,0x33,0x35,0x94,0xa3);
-DEFINE_GUID(TID_D3DRMCoords2d,0xf6f23f44,0x7686,0x11cf,0x8f,0x52,0x0,0x40,0x33,0x35,0x94,0xa3);
-DEFINE_GUID(TID_D3DRMExternalVisual,0x98116aa0,0xbdba,0x11d1,0x82,0xc0,0x00,0xa0,0xc9,0x69,0x72,0x71);
-DEFINE_GUID(TID_D3DRMFloatKeys,0x10dd46a9,0x775b,0x11cf,0x8f,0x52,0x0,0x40,0x33,0x35,0x94,0xa3);
-DEFINE_GUID(TID_D3DRMFrame,0x3d82ab46,0x62da,0x11cf,0xab,0x39,0x0,0x20,0xaf,0x71,0xe4,0x33);
-DEFINE_GUID(TID_D3DRMFramePosition,0xe2bf56c1,0x840f,0x11cf,0x8f,0x52,0x0,0x40,0x33,0x35,0x94,0xa3);
-DEFINE_GUID(TID_D3DRMFrameRotation,0xe2bf56c3,0x840f,0x11cf,0x8f,0x52,0x0,0x40,0x33,0x35,0x94,0xa3);
-DEFINE_GUID(TID_D3DRMFrameTransformMatrix,0xf6f23f41,0x7686,0x11cf,0x8f,0x52,0x0,0x40,0x33,0x35,0x94,0xa3);
-DEFINE_GUID(TID_D3DRMFrameVelocity,0xe2bf56c2,0x840f,0x11cf,0x8f,0x52,0x0,0x40,0x33,0x35,0x94,0xa3);
-DEFINE_GUID(TID_D3DRMGuid,0xa42790e0,0x7810,0x11cf,0x8f,0x52,0x0,0x40,0x33,0x35,0x94,0xa3);
-DEFINE_GUID(TID_D3DRMIndexedColor,0x1630b820,0x7842,0x11cf,0x8f,0x52,0x0,0x40,0x33,0x35,0x94,0xa3);
-DEFINE_GUID(TID_D3DRMInfo,0x2b957100,0x9e9a,0x11cf,0xab,0x39,0x0,0x20,0xaf,0x71,0xe4,0x33);
-DEFINE_GUID(TID_D3DRMInlineData,0x3a23eea0,0x94b1,0x11d0,0xab,0x39,0x0,0x20,0xaf,0x71,0xe4,0x33);
-DEFINE_GUID(TID_D3DRMLight,0x3d82ab4a,0x62da,0x11cf,0xab,0x39,0x0,0x20,0xaf,0x71,0xe4,0x33);
-DEFINE_GUID(TID_D3DRMLightAttenuation,0xa8a98ba0,0xc5e5,0x11cf,0xb9,0x41,0x0,0x80,0xc8,0xc,0xfa,0x7b);
-DEFINE_GUID(TID_D3DRMLightPenumbra,0xaed22741,0xb31f,0x11cf,0x9d,0xd5,0x0,0xaa,0x0,0xa7,0x1a,0x2f);
-DEFINE_GUID(TID_D3DRMLightRange,0xaed22742,0xb31f,0x11cf,0x9d,0xd5,0x0,0xaa,0x0,0xa7,0x1a,0x2f);
-DEFINE_GUID(TID_D3DRMLightUmbra,0xaed22740,0xb31f,0x11cf,0x9d,0xd5,0x0,0xaa,0x0,0xa7,0x1a,0x2f);
-DEFINE_GUID(TID_D3DRMMaterial,0x3d82ab4d,0x62da,0x11cf,0xab,0x39,0x0,0x20,0xaf,0x71,0xe4,0x33);
-DEFINE_GUID(TID_D3DRMMaterialAmbientColor,0x01411840,0x7786,0x11cf,0x8f,0x52,0x0,0x40,0x33,0x35,0x94,0xa3);
-DEFINE_GUID(TID_D3DRMMaterialArray,0x35ff44e1,0x6c7c,0x11cf,0x8f,0x52,0x0,0x40,0x33,0x35,0x94,0xa3);
-DEFINE_GUID(TID_D3DRMMaterialDiffuseColor,0x01411841,0x7786,0x11cf,0x8f,0x52,0x0,0x40,0x33,0x35,0x94,0xa3);
-DEFINE_GUID(TID_D3DRMMaterialEmissiveColor,0xd3e16e80,0x7835,0x11cf,0x8f,0x52,0x0,0x40,0x33,0x35,0x94,0xa3);
-DEFINE_GUID(TID_D3DRMMaterialPower,0x01411843,0x7786,0x11cf,0x8f,0x52,0x0,0x40,0x33,0x35,0x94,0xa3);
-DEFINE_GUID(TID_D3DRMMaterialSpecularColor,0x01411842,0x7786,0x11cf,0x8f,0x52,0x0,0x40,0x33,0x35,0x94,0xa3);
-DEFINE_GUID(TID_D3DRMMaterialWrap,0x4885ae60,0x78e8,0x11cf,0x8f,0x52,0x0,0x40,0x33,0x35,0x94,0xa3);
-DEFINE_GUID(TID_D3DRMMatrix4x4,0xf6f23f45,0x7686,0x11cf,0x8f,0x52,0x0,0x40,0x33,0x35,0x94,0xa3);
-DEFINE_GUID(TID_D3DRMMesh,0x3d82ab44,0x62da,0x11cf,0xab,0x39,0x0,0x20,0xaf,0x71,0xe4,0x33);
-DEFINE_GUID(TID_D3DRMMeshFace,0x3d82ab5f,0x62da,0x11cf,0xab,0x39,0x0,0x20,0xaf,0x71,0xe4,0x33);
-DEFINE_GUID(TID_D3DRMMeshFaceWraps,0xed1ec5c0,0xc0a8,0x11d0,0x94,0x1c,0x0,0x80,0xc8,0xc,0xfa,0x7b);
-DEFINE_GUID(TID_D3DRMMeshMaterialList,0xf6f23f42,0x7686,0x11cf,0x8f,0x52,0x0,0x40,0x33,0x35,0x94,0xa3);
-DEFINE_GUID(TID_D3DRMMeshNormals,0xf6f23f43,0x7686,0x11cf,0x8f,0x52,0x0,0x40,0x33,0x35,0x94,0xa3);
-DEFINE_GUID(TID_D3DRMMeshTextureCoords,0xf6f23f40,0x7686,0x11cf,0x8f,0x52,0x0,0x40,0x33,0x35,0x94,0xa3);
-DEFINE_GUID(TID_D3DRMMeshVertexColors,0x1630b821,0x7842,0x11cf,0x8f,0x52,0x0,0x40,0x33,0x35,0x94,0xa3);
-DEFINE_GUID(TID_D3DRMProgressiveMesh,0x8a63c360,0x997d,0x11d0,0x94,0x1c,0x0,0x80,0xc8,0x0c,0xfa,0x7b);
-DEFINE_GUID(TID_D3DRMPropertyBag,0x7f0f21e1,0xbfe1,0x11d1,0x82,0xc0,0x0,0xa0,0xc9,0x69,0x72,0x71);
-DEFINE_GUID(TID_D3DRMRightHanded,0x7f5d5ea0,0xd53a,0x11d1,0x82,0xc0,0x0,0xa0,0xc9,0x69,0x72,0x71);
-DEFINE_GUID(TID_D3DRMStringProperty,0x7f0f21e0,0xbfe1,0x11d1,0x82,0xc0,0x0,0xa0,0xc9,0x69,0x72,0x71);
-DEFINE_GUID(TID_D3DRMTextureFilename,0xa42790e1,0x7810,0x11cf,0x8f,0x52,0x0,0x40,0x33,0x35,0x94,0xa3);
-DEFINE_GUID(TID_D3DRMTextureReference,0xa42790e2,0x7810,0x11cf,0x8f,0x52,0x0,0x40,0x33,0x35,0x94,0xa3);
-DEFINE_GUID(TID_D3DRMTimedFloatKeys,0xf406b180,0x7b3b,0x11cf,0x8f,0x52,0x0,0x40,0x33,0x35,0x94,0xa3);
-DEFINE_GUID(TID_D3DRMUrl,0x3a23eea1,0x94b1,0x11d0,0xab,0x39,0x0,0x20,0xaf,0x71,0xe4,0x33);
-DEFINE_GUID(TID_D3DRMVector,0x3d82ab5e,0x62da,0x11cf,0xab,0x39,0x0,0x20,0xaf,0x71,0xe4,0x33);
-DEFINE_GUID(TID_DXFILEHeader,0x3d82ab43,0x62da,0x11cf,0xab,0x39,0x0,0x20,0xaf,0x71,0xe4,0x33);
diff --git a/winsup/w32api/lib/directx/ksproxy.def b/winsup/w32api/lib/directx/ksproxy.def
deleted file mode 100644
index b6cb4173e..000000000
--- a/winsup/w32api/lib/directx/ksproxy.def
+++ /dev/null
@@ -1,8 +0,0 @@
-LIBRARY ksproxy.ax
-EXPORTS
-KsGetMediaType@16
-KsGetMediaTypeCount@12
-KsGetMultiplePinFactoryItems@16
-KsOpenDefaultDevice@12
-KsResolveRequiredAttributes@8
-KsSynchronousDeviceControl@28
diff --git a/winsup/w32api/lib/directx/ksuser.c b/winsup/w32api/lib/directx/ksuser.c
deleted file mode 100644
index d16294b60..000000000
--- a/winsup/w32api/lib/directx/ksuser.c
+++ /dev/null
@@ -1,400 +0,0 @@
-/*
-
- ksuser.c - Kernel Streaming GUIDs
-
- Written by Filip Navara <xnavara@volny.cz>
-
- This library 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.
-
-*/
-
-#if defined(__LCC__) || defined(__GNUC__)
-#define INITGUID 1
-#include <windows.h>
-#else
-#include <basetyps.h>
-#endif
-
-DEFINE_GUID(BUSID_SoftwareDeviceEnumerator,0x4747b320,0x62ce,0x11cf,0xa5,0xd6,0x28,0xdb,0x4,0xc1,0,0);
-DEFINE_GUID(CLSID_KsIBasicAudioInterfaceHandler,0xb9f8ac3e,0x0f71,0x11d2,0xb7,0x2c,0x00,0xc0,0x4f,0xb6,0xbd,0x3d);
-DEFINE_GUID(CLSID_Proxy,0x17cca71b,0xecd7,0x11d0,0xb9,0x08,0x00,0xa0,0xc9,0x22,0x31,0x96);
-DEFINE_GUID(EVENTSETID_CROSSBAR,0x6a2e0641,0x28e4,0x11d0,0xa1,0x8c,0x00,0xa0,0xc9,0x11,0x89,0x56);
-DEFINE_GUID(EVENTSETID_TUNER,0x6a2e0606,0x28e4,0x11d0,0xa1,0x8c,0x00,0xa0,0xc9,0x11,0x89,0x56);
-DEFINE_GUID(EVENTSETID_VIDEODECODER,0x6a2e0621,0x28e4,0x11d0,0xa1,0x8c,0x00,0xa0,0xc9,0x11,0x89,0x56);
-DEFINE_GUID(GUID_BUS_INTERFACE_MEDIUMS,0x4ec35c3e,0x201b,0x11d2,0x87,0x45,0x00,0xa0,0xc9,0x22,0x31,0x96);
-DEFINE_GUID(GUID_NULL,0x00000000,0x0000,0x0000,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00);
-DEFINE_GUID(IID_IKoInitializeParentDeviceObject,0x21b36996,0x8de3,0x11d1,0x8a,0xe0,0,0xa0,0xc9,0x22,0x31,0x96);
-DEFINE_GUID(IID_IKsAggregateControl,0x7f40eac0,0x3947,0x11d2,0x87,0x4e,0x00,0xa0,0xc9,0x22,0x31,0x96);
-DEFINE_GUID(IID_IKsAllocator,0x8da64899,0xc0d9,0x11d0,0x84,0x13,0x00,0x00,0xf8,0x22,0xfe,0x8a);
-DEFINE_GUID(IID_IKsAllocatorEx,0x091bb63a,0x603f,0x11d1,0xb0,0x67,0x00,0xa0,0xc9,0x06,0x28,0x02);
-DEFINE_GUID(IID_IKsClockPropertySet,0x5c5cbd84,0xe755,0x11d0,0xac,0x18,0x00,0xa0,0xc9,0x22,0x31,0x96);
-DEFINE_GUID(IID_IKsControl,0x28f54685,0x06fd,0x11d2,0xb2,0x7a,0x00,0xa0,0xc9,0x22,0x31,0x96);
-DEFINE_GUID(IID_IKsDataTypeCompletion,0x827d1a0e,0x0f73,0x11d2,0xb2,0x7a,0x00,0xa0,0xc9,0x22,0x31,0x96);
-DEFINE_GUID(IID_IKsDataTypeHandler,0x5ffbaa02,0x49a3,0x11d0,0x9f,0x36,0x00,0xaa,0x00,0xa2,0x16,0xa1);
-DEFINE_GUID(IID_IKsInterfaceHandler,0xd3abc7e0,0x9a61,0x11d0,0xa4,0x0d,0x00,0xa0,0xc9,0x22,0x31,0x96);
-DEFINE_GUID(IID_IKsObject,0x423c13a2,0x2070,0x11d0,0x9e,0xf7,0x00,0xaa,0x00,0xa2,0x16,0xa1);
-DEFINE_GUID(IID_IKsPin,0xb61178d1,0xa2d9,0x11cf,0x9e,0x53,0x00,0xaa,0x00,0xa2,0x16,0xa1);
-DEFINE_GUID(IID_IKsPinEx,0x7bb38260,0xd19c,0x11d2,0xb3,0x8a,0x00,0xa0,0xc9,0x5e,0xc2,0x2e);
-DEFINE_GUID(IID_IKsPinPipe,0xe539cd90,0xa8b4,0x11d1,0x81,0x89,0x00,0xa0,0xc9,0x06,0x28,0x02);
-DEFINE_GUID(IID_IKsPropertySet,0x31efac30,0x515c,0x11d0,0xa9,0xaa,0x00,0xaa,0x00,0x61,0xbe,0x93);
-DEFINE_GUID(IID_IKsTopology,0x28f54683,0x06fd,0x11d2,0xb2,0x7a,0x00,0xa0,0xc9,0x22,0x31,0x96);
-DEFINE_GUID(IID_IUnknown,0,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(KoCreateObject,0x72cf721c,0x525a,0x11d1,0x9a,0xa1,0,0xa0,0xc9,0x22,0x31,0x96);
-DEFINE_GUID(KSALGORITHMINSTANCE_SYSTEM_ACOUSTIC_ECHO_CANCEL,0x1c22c56d,0x9879,0x4f5b,0xa3,0x89,0x27,0x99,0x6d,0xdc,0x28,0x10);
-DEFINE_GUID(KSALGORITHMINSTANCE_SYSTEM_AGC,0x950e55b9,0x877c,0x4c67,0xbe,0x8,0xe4,0x7b,0x56,0x11,0x13,0xa);
-DEFINE_GUID(KSALGORITHMINSTANCE_SYSTEM_MICROPHONE_ARRAY_PROCESSOR,0xb6f5a0a0,0x9e61,0x4f8c,0x91,0xe3,0x76,0xcf,0xf,0x3c,0x47,0x1f);
-DEFINE_GUID(KSALGORITHMINSTANCE_SYSTEM_NOISE_SUPPRESS,0x5ab0882e,0x7274,0x4516,0x87,0x7d,0x4e,0xee,0x99,0xba,0x4f,0xd0);
-DEFINE_GUID(KSAUDFNAME_3D_CENTER,0x9f0670b4,0x991f,0x11d2,0xac,0x4d,0,0xc0,0x4f,0x8e,0xfb,0x68);
-DEFINE_GUID(KSAUDFNAME_3D_DEPTH,0x63ff5747,0x991f,0x11d2,0xac,0x4d,0,0xc0,0x4f,0x8e,0xfb,0x68);
-DEFINE_GUID(KSAUDFNAME_3D_STEREO,0x185fede2,0x9905,0x11d1,0x95,0xa9,0,0xc0,0x4f,0xb9,0x25,0xd3);
-DEFINE_GUID(KSAUDFNAME_ALTERNATE_MICROPHONE,0x2bc31d6b,0x96e3,0x11d2,0xac,0x4c,0,0xc0,0x4f,0x8e,0xfb,0x68);
-DEFINE_GUID(KSAUDFNAME_AUX,0x185fedfe,0x9905,0x11d1,0x95,0xa9,0,0xc0,0x4f,0xb9,0x25,0xd3);
-DEFINE_GUID(KSAUDFNAME_AUX_MUTE,0x185fedfd,0x9905,0x11d1,0x95,0xa9,0,0xc0,0x4f,0xb9,0x25,0xd3);
-DEFINE_GUID(KSAUDFNAME_AUX_VOLUME,0x185fedfc,0x9905,0x11d1,0x95,0xa9,0,0xc0,0x4f,0xb9,0x25,0xd3);
-DEFINE_GUID(KSAUDFNAME_BASS,0x185fede0,0x9905,0x11d1,0x95,0xa9,0,0xc0,0x4f,0xb9,0x25,0xd3);
-DEFINE_GUID(KSAUDFNAME_CD_AUDIO,0x185fedfb,0x9905,0x11d1,0x95,0xa9,0,0xc0,0x4f,0xb9,0x25,0xd3);
-DEFINE_GUID(KSAUDFNAME_CD_IN_VOLUME,0x185fedf3,0x9905,0x11d1,0x95,0xa9,0,0xc0,0x4f,0xb9,0x25,0xd3);
-DEFINE_GUID(KSAUDFNAME_CD_MUTE,0x185fedea,0x9905,0x11d1,0x95,0xa9,0,0xc0,0x4f,0xb9,0x25,0xd3);
-DEFINE_GUID(KSAUDFNAME_CD_VOLUME,0x185fede9,0x9905,0x11d1,0x95,0xa9,0,0xc0,0x4f,0xb9,0x25,0xd3);
-DEFINE_GUID(KSAUDFNAME_LINE_IN,0x185fedf9,0x9905,0x11d1,0x95,0xa9,0,0xc0,0x4f,0xb9,0x25,0xd3);
-DEFINE_GUID(KSAUDFNAME_LINE_IN_VOLUME,0x185fedf4,0x9905,0x11d1,0x95,0xa9,0,0xc0,0x4f,0xb9,0x25,0xd3);
-DEFINE_GUID(KSAUDFNAME_LINE_MUTE,0x185fedec,0x9905,0x11d1,0x95,0xa9,0,0xc0,0x4f,0xb9,0x25,0xd3);
-DEFINE_GUID(KSAUDFNAME_LINE_VOLUME,0x185fedeb,0x9905,0x11d1,0x95,0xa9,0,0xc0,0x4f,0xb9,0x25,0xd3);
-DEFINE_GUID(KSAUDFNAME_MASTER_MUTE,0x185fede4,0x9905,0x11d1,0x95,0xa9,0,0xc0,0x4f,0xb9,0x25,0xd3);
-DEFINE_GUID(KSAUDFNAME_MASTER_VOLUME,0x185fede3,0x9905,0x11d1,0x95,0xa9,0,0xc0,0x4f,0xb9,0x25,0xd3);
-DEFINE_GUID(KSAUDFNAME_MIC_IN_VOLUME,0x185fedf5,0x9905,0x11d1,0x95,0xa9,0,0xc0,0x4f,0xb9,0x25,0xd3);
-DEFINE_GUID(KSAUDFNAME_MIC_MUTE,0x185fedee,0x9905,0x11d1,0x95,0xa9,0,0xc0,0x4f,0xb9,0x25,0xd3);
-DEFINE_GUID(KSAUDFNAME_MIC_VOLUME,0x185feded,0x9905,0x11d1,0x95,0xa9,0,0xc0,0x4f,0xb9,0x25,0xd3);
-DEFINE_GUID(KSAUDFNAME_MICROPHONE_BOOST,0x2bc31d6a,0x96e3,0x11d2,0xac,0x4c,0,0xc0,0x4f,0x8e,0xfb,0x68);
-DEFINE_GUID(KSAUDFNAME_MIDI,0x185fedf8,0x9905,0x11d1,0x95,0xa9,0,0xc0,0x4f,0xb9,0x25,0xd3);
-DEFINE_GUID(KSAUDFNAME_MIDI_IN_VOLUME,0x185fedf2,0x9905,0x11d1,0x95,0xa9,0,0xc0,0x4f,0xb9,0x25,0xd3);
-DEFINE_GUID(KSAUDFNAME_MIDI_MUTE,0x185fede8,0x9905,0x11d1,0x95,0xa9,0,0xc0,0x4f,0xb9,0x25,0xd3);
-DEFINE_GUID(KSAUDFNAME_MIDI_VOLUME,0x185fede7,0x9905,0x11d1,0x95,0xa9,0,0xc0,0x4f,0xb9,0x25,0xd3);
-DEFINE_GUID(KSAUDFNAME_MONO_MIX,0xdff078,0x96e3,0x11d2,0xac,0x4c,0,0xc0,0x4f,0x8e,0xfb,0x68);
-DEFINE_GUID(KSAUDFNAME_MONO_MIX_MUTE,0x2bc31d69,0x96e3,0x11d2,0xac,0x4c,0,0xc0,0x4f,0x8e,0xfb,0x68);
-DEFINE_GUID(KSAUDFNAME_MONO_MIX_VOLUME,0x22b0eafe,0x96e3,0x11d2,0xac,0x4c,0,0xc0,0x4f,0x8e,0xfb,0x68);
-DEFINE_GUID(KSAUDFNAME_MONO_OUT,0xf9b41dc3,0x96e2,0x11d2,0xac,0x4c,0,0xc0,0x4f,0x8e,0xfb,0x68);
-DEFINE_GUID(KSAUDFNAME_MONO_OUT_MUTE,0x1ad247ec,0x96e3,0x11d2,0xac,0x4c,0,0xc0,0x4f,0x8e,0xfb,0x68);
-DEFINE_GUID(KSAUDFNAME_MONO_OUT_VOLUME,0x1ad247eb,0x96e3,0x11d2,0xac,0x4c,0,0xc0,0x4f,0x8e,0xfb,0x68);
-DEFINE_GUID(KSAUDFNAME_PC_SPEAKER,0x185fedff,0x9905,0x11d1,0x95,0xa9,0,0xc0,0x4f,0xb9,0x25,0xd3);
-DEFINE_GUID(KSAUDFNAME_PC_SPEAKER_MUTE,0x185fedf1,0x9905,0x11d1,0x95,0xa9,0,0xc0,0x4f,0xb9,0x25,0xd3);
-DEFINE_GUID(KSAUDFNAME_PC_SPEAKER_VOLUME,0x185fedf0,0x9905,0x11d1,0x95,0xa9,0,0xc0,0x4f,0xb9,0x25,0xd3);
-DEFINE_GUID(KSAUDFNAME_PEAKMETER,0x57e24340,0xfc5b,0x4612,0xa5,0x62,0x72,0xb1,0x1a,0x29,0xdf,0xae);
-DEFINE_GUID(KSAUDFNAME_RECORDING_CONTROL,0x185fedfa,0x9905,0x11d1,0x95,0xa9,0,0xc0,0x4f,0xb9,0x25,0xd3);
-DEFINE_GUID(KSAUDFNAME_RECORDING_SOURCE,0x185fedef,0x9905,0x11d1,0x95,0xa9,0,0xc0,0x4f,0xb9,0x25,0xd3);
-DEFINE_GUID(KSAUDFNAME_STEREO_MIX,0xdff077,0x96e3,0x11d2,0xac,0x4c,0,0xc0,0x4f,0x8e,0xfb,0x68);
-DEFINE_GUID(KSAUDFNAME_STEREO_MIX_MUTE,0x22b0eafd,0x96e3,0x11d2,0xac,0x4c,0,0xc0,0x4f,0x8e,0xfb,0x68);
-DEFINE_GUID(KSAUDFNAME_STEREO_MIX_VOLUME,0x1ad247ed,0x96e3,0x11d2,0xac,0x4c,0,0xc0,0x4f,0x8e,0xfb,0x68);
-DEFINE_GUID(KSAUDFNAME_TREBLE,0x185fede1,0x9905,0x11d1,0x95,0xa9,0,0xc0,0x4f,0xb9,0x25,0xd3);
-DEFINE_GUID(KSAUDFNAME_VIDEO,0x915daec4,0xa434,0x11d2,0xac,0x52,0,0xc0,0x4f,0x8e,0xfb,0x68);
-DEFINE_GUID(KSAUDFNAME_VIDEO_MUTE,0x9b46e709,0x992a,0x11d2,0xac,0x4d,0,0xc0,0x4f,0x8e,0xfb,0x68);
-DEFINE_GUID(KSAUDFNAME_VIDEO_VOLUME,0x9b46e708,0x992a,0x11d2,0xac,0x4d,0,0xc0,0x4f,0x8e,0xfb,0x68);
-DEFINE_GUID(KSAUDFNAME_VOLUME_CONTROL,0x185fedf7,0x9905,0x11d1,0x95,0xa9,0,0xc0,0x4f,0xb9,0x25,0xd3);
-DEFINE_GUID(KSAUDFNAME_WAVE_IN_VOLUME,0x185fedf6,0x9905,0x11d1,0x95,0xa9,0,0xc0,0x4f,0xb9,0x25,0xd3);
-DEFINE_GUID(KSAUDFNAME_WAVE_MUTE,0x185fede6,0x9905,0x11d1,0x95,0xa9,0,0xc0,0x4f,0xb9,0x25,0xd3);
-DEFINE_GUID(KSAUDFNAME_WAVE_OUT_MIX,0x185fee00,0x9905,0x11d1,0x95,0xa9,0,0xc0,0x4f,0xb9,0x25,0xd3);
-DEFINE_GUID(KSAUDFNAME_WAVE_VOLUME,0x185fede5,0x9905,0x11d1,0x95,0xa9,0,0xc0,0x4f,0xb9,0x25,0xd3);
-DEFINE_GUID(KSCATEGORY_ACOUSTIC_ECHO_CANCEL,0xbf963d80,0xc559,0x11d0,0x8a,0x2b,0,0xa0,0xc9,0x25,0x5a,0xc1);
-DEFINE_GUID(KSCATEGORY_AUDIO,0x6994ad04,0x93ef,0x11d0,0xa3,0xcc,0,0xa0,0xc9,0x22,0x31,0x96);
-DEFINE_GUID(KSCATEGORY_AUDIO_DEVICE,0xfbf6f530,0x7b9,0x11d2,0xa7,0x1e,0,0,0xf8,0,0x47,0x88);
-DEFINE_GUID(KSCATEGORY_AUDIO_GFX,0x9baf9572,0x340c,0x11d3,0xab,0xdc,0,0xa0,0xc9,0xa,0xb1,0x6f);
-DEFINE_GUID(KSCATEGORY_AUDIO_SPLITTER,0x9ea331fa,0xb91b,0x45f8,0x92,0x85,0xbd,0x2b,0xc7,0x7a,0xfc,0xde);
-DEFINE_GUID(KSCATEGORY_BRIDGE,0x85aff00,0x62ce,0x11cf,0xa5,0xd6,0x28,0xdb,0x4,0xc1,0,0);
-DEFINE_GUID(KSCATEGORY_CAPTURE,0x65e8773d,0x8f56,0x11d0,0xa3,0xb9,0,0xa0,0xc9,0x22,0x31,0x96);
-DEFINE_GUID(KSCATEGORY_CLOCK,0x53172480,0x4791,0x11d0,0xa5,0xd6,0x28,0xdb,0x4,0xc1,0,0);
-DEFINE_GUID(KSCATEGORY_COMMUNICATIONSTRANSFORM,0xcf1dda2c,0x9743,0x11d0,0xa3,0xee,0,0xa0,0xc9,0x22,0x31,0x96);
-DEFINE_GUID(KSCATEGORY_CROSSBAR,0xa799a801,0xa46d,0x11d0,0xa1,0x8c,0,0xa0,0x24,0x1,0xdc,0xd4);
-DEFINE_GUID(KSCATEGORY_DATACOMPRESSOR,0x1e84c900,0x7e70,0x11d0,0xa5,0xd6,0x28,0xdb,0x4,0xc1,0,0);
-DEFINE_GUID(KSCATEGORY_DATADECOMPRESSOR,0x2721ae20,0x7e70,0x11d0,0xa5,0xd6,0x28,0xdb,0x4,0xc1,0,0);
-DEFINE_GUID(KSCATEGORY_DATATRANSFORM,0x2eb07ea0,0x7e70,0x11d0,0xa5,0xd6,0x28,0xdb,0x4,0xc1,0,0);
-DEFINE_GUID(KSCATEGORY_ESCALANTE_PLATFORM_DRIVER,0x74f3aea8,0x9768,0x11d1,0x8e,0x7,0,0xa0,0xc9,0x5e,0xc2,0x2e);
-DEFINE_GUID(KSCATEGORY_FILESYSTEM,0x760fed5e,0x9357,0x11d0,0xa3,0xcc,0,0xa0,0xc9,0x22,0x31,0x96);
-DEFINE_GUID(KSCATEGORY_INTERFACETRANSFORM,0xcf1dda2d,0x9743,0x11d0,0xa3,0xee,0,0xa0,0xc9,0x22,0x31,0x96);
-DEFINE_GUID(KSCATEGORY_MEDIUMTRANSFORM,0xcf1dda2e,0x9743,0x11d0,0xa3,0xee,0,0xa0,0xc9,0x22,0x31,0x96);
-DEFINE_GUID(KSCATEGORY_MICROPHONE_ARRAY_PROCESSOR,0x830a44f2,0xa32d,0x476b,0xbe,0x97,0x42,0x84,0x56,0x73,0xb3,0x5a);
-DEFINE_GUID(KSCATEGORY_MIXER,0xad809c00,0x7b88,0x11d0,0xa5,0xd6,0x28,0xdb,0x4,0xc1,0,0);
-DEFINE_GUID(KSCATEGORY_NETWORK,0x67c9cc3c,0x69c4,0x11d2,0x87,0x59,0,0xa0,0xc9,0x22,0x31,0x96);
-DEFINE_GUID(KSCATEGORY_PREFERRED_MIDIOUT_DEVICE,0xd6c50674,0x72c1,0x11d2,0x97,0x55,0,0,0xf8,0,0x47,0x88);
-DEFINE_GUID(KSCATEGORY_PREFERRED_WAVEIN_DEVICE,0xd6c50671,0x72c1,0x11d2,0x97,0x55,0,0,0xf8,0,0x47,0x88);
-DEFINE_GUID(KSCATEGORY_PREFERRED_WAVEOUT_DEVICE,0xd6c5066e,0x72c1,0x11d2,0x97,0x55,0,0,0xf8,0,0x47,0x88);
-DEFINE_GUID(KSCATEGORY_PROXY,0x97ebaaca,0x95bd,0x11d0,0xa3,0xea,0,0xa0,0xc9,0x22,0x31,0x96);
-DEFINE_GUID(KSCATEGORY_QUALITY,0x97ebaacb,0x95bd,0x11d0,0xa3,0xea,0,0xa0,0xc9,0x22,0x31,0x96);
-DEFINE_GUID(KSCATEGORY_RENDER,0x65e8773e,0x8f56,0x11d0,0xa3,0xb9,0,0xa0,0xc9,0x22,0x31,0x96);
-DEFINE_GUID(KSCATEGORY_SPLITTER,0xa4252a0,0x7e70,0x11d0,0xa5,0xd6,0x28,0xdb,0x4,0xc1,0,0);
-DEFINE_GUID(KSCATEGORY_SYSAUDIO,0xa7c7a5b1,0x5af3,0x11d1,0x9c,0xed,0,0xa0,0x24,0xbf,0x4,0x7);
-DEFINE_GUID(KSCATEGORY_TEXT,0x6994ad06,0x93ef,0x11d0,0xa3,0xcc,0,0xa0,0xc9,0x22,0x31,0x96);
-DEFINE_GUID(KSCATEGORY_TOPOLOGY,0xdda54a40,0x1e4c,0x11d1,0xa0,0x50,0x40,0x57,0x5,0xc1,0,0);
-DEFINE_GUID(KSCATEGORY_TVAUDIO,0xa799a802,0xa46d,0x11d0,0xa1,0x8c,0,0xa0,0x24,0x1,0xdc,0xd4);
-DEFINE_GUID(KSCATEGORY_TVTUNER,0xa799a800,0xa46d,0x11d0,0xa1,0x8c,0,0xa0,0x24,0x1,0xdc,0xd4);
-DEFINE_GUID(KSCATEGORY_VBICODEC,0x7dad660,0x22f1,0x11d1,0xa9,0xf4,0,0xc0,0x4f,0xbb,0xde,0x8f);
-DEFINE_GUID(KSCATEGORY_VIDEO,0x6994ad05,0x93ef,0x11d0,0xa3,0xcc,0,0xa0,0xc9,0x22,0x31,0x96);
-DEFINE_GUID(KSCATEGORY_VIRTUAL,0x3503eac4,0x1f26,0x11d1,0x8a,0xb0,0,0xa0,0xc9,0x22,0x31,0x96);
-DEFINE_GUID(KSCATEGORY_VPMUX,0xa799a803,0xa46d,0x11d0,0xa1,0x8c,0,0xa0,0x24,0x1,0xdc,0xd4);
-DEFINE_GUID(KSCATEGORY_WDMAUD,0x3e227e76,0x690d,0x11d2,0x81,0x61,0,0,0xf8,0x77,0x5b,0xf1);
-DEFINE_GUID(KSCATEGORY_WDMAUD_USE_PIN_NAME,0x47a4fa20,0xa251,0x11d1,0xa0,0x50,0,0,0xf8,0,0x47,0x88);
-DEFINE_GUID(KSCOMPONENTID_USBAUDIO,0x8f1275f0,0x26e9,0x4264,0xba,0x4d,0x39,0xff,0xf0,0x1d,0x94,0xaa);
-DEFINE_GUID(KSDATAFORMAT_SPECIFIER_AC3_AUDIO,0xe06d80e4,0xdb46,0x11cf,0xb4,0xd1,0,0x80,0x5f,0x6c,0xbb,0xea);
-DEFINE_GUID(KSDATAFORMAT_SPECIFIER_ANALOGVIDEO,0x482dde0,0x7817,0x11cf,0x8a,0x3,0,0xaa,0,0x6e,0xcb,0x65);
-DEFINE_GUID(KSDATAFORMAT_SPECIFIER_DIALECT_AC3_AUDIO,0x36523b35,0x8ee5,0x11d1,0x8c,0xa3,0,0x60,0xb0,0x57,0x66,0x4a);
-DEFINE_GUID(KSDATAFORMAT_SPECIFIER_DIALECT_MPEG1_AUDIO,0x36523b32,0x8ee5,0x11d1,0x8c,0xa3,0,0x60,0xb0,0x57,0x66,0x4a);
-DEFINE_GUID(KSDATAFORMAT_SPECIFIER_DIALECT_MPEG1_VIDEO,0x36523b31,0x8ee5,0x11d1,0x8c,0xa3,0,0x60,0xb0,0x57,0x66,0x4a);
-DEFINE_GUID(KSDATAFORMAT_SPECIFIER_DIALECT_MPEG2_AUDIO,0x36523b34,0x8ee5,0x11d1,0x8c,0xa3,0,0x60,0xb0,0x57,0x66,0x4a);
-DEFINE_GUID(KSDATAFORMAT_SPECIFIER_DIALECT_MPEG2_VIDEO,0x36523b33,0x8ee5,0x11d1,0x8c,0xa3,0,0x60,0xb0,0x57,0x66,0x4a);
-DEFINE_GUID(KSDATAFORMAT_SPECIFIER_DSOUND,0x518590a2,0xa184,0x11d0,0x85,0x22,0,0xc0,0x4f,0xd9,0xba,0xf3);
-DEFINE_GUID(KSDATAFORMAT_SPECIFIER_FILEHANDLE,0x65e8773c,0x8f56,0x11d0,0xa3,0xb9,0,0xa0,0xc9,0x22,0x31,0x96);
-DEFINE_GUID(KSDATAFORMAT_SPECIFIER_FILENAME,0xaa797b40,0xe974,0x11cf,0xa5,0xd6,0x28,0xdb,0x4,0xc1,0,0);
-DEFINE_GUID(KSDATAFORMAT_SPECIFIER_LPCM_AUDIO,0xe06d80e6,0xdb46,0x11cf,0xb4,0xd1,0,0x80,0x5f,0x6c,0xbb,0xea);
-DEFINE_GUID(KSDATAFORMAT_SPECIFIER_MPEG1_VIDEO,0x5589f82,0xc356,0x11ce,0xbf,0x1,0,0xaa,0,0x55,0x59,0x5a);
-DEFINE_GUID(KSDATAFORMAT_SPECIFIER_MPEG2_AUDIO,0xe06d80e5,0xdb46,0x11cf,0xb4,0xd1,0,0x80,0x5f,0x6c,0xbb,0xea);
-DEFINE_GUID(KSDATAFORMAT_SPECIFIER_MPEG2_VIDEO,0xe06d80e3,0xdb46,0x11cf,0xb4,0xd1,0,0x80,0x5f,0x6c,0xbb,0xea);
-DEFINE_GUID(KSDATAFORMAT_SPECIFIER_NONE,0xf6417d6,0xc318,0x11d0,0xa4,0x3f,0,0xa0,0xc9,0x22,0x31,0x96);
-DEFINE_GUID(KSDATAFORMAT_SPECIFIER_VBI,0xf72a76e0,0xeb0a,0x11d0,0xac,0xe4,0,0,0xc0,0xcc,0x16,0xba);
-DEFINE_GUID(KSDATAFORMAT_SPECIFIER_VC_ID,0xad98d184,0xaac3,0x11d0,0xa4,0x1c,0,0xa0,0xc9,0x22,0x31,0x96);
-DEFINE_GUID(KSDATAFORMAT_SPECIFIER_VIDEOINFO,0x5589f80,0xc356,0x11ce,0xbf,0x1,0,0xaa,0,0x55,0x59,0x5a);
-DEFINE_GUID(KSDATAFORMAT_SPECIFIER_VIDEOINFO2,0xf72a76a0,0xeb0a,0x11d0,0xac,0xe4,0,0,0xc0,0xcc,0x16,0xba);
-DEFINE_GUID(KSDATAFORMAT_SPECIFIER_WAVEFORMATEX,0x5589f81,0xc356,0x11ce,0xbf,0x1,0,0xaa,0,0x55,0x59,0x5a);
-DEFINE_GUID(KSDATAFORMAT_SUBTYPE_AC3_AUDIO,0xe06d802c,0xdb46,0x11cf,0xb4,0xd1,0,0x80,0x5f,0x6c,0xbb,0xea);
-DEFINE_GUID(KSDATAFORMAT_SUBTYPE_ADPCM,0x2,0,0x10,0x80,0,0,0xaa,0,0x38,0x9b,0x71);
-DEFINE_GUID(KSDATAFORMAT_SUBTYPE_ALAW,0x6,0,0x10,0x80,0,0,0xaa,0,0x38,0x9b,0x71);
-DEFINE_GUID(KSDATAFORMAT_SUBTYPE_ANALOG,0x6dba3190,0x67bd,0x11cf,0xa0,0xf7,0,0x20,0xaf,0xd1,0x56,0xe4);
-DEFINE_GUID(KSDATAFORMAT_SUBTYPE_CC,0x33214cc1,0x11f,0x11d2,0xb4,0xb1,0,0xa0,0xd1,0x2,0xcf,0xbe);
-DEFINE_GUID(KSDATAFORMAT_SUBTYPE_DRM,0x9,0,0x10,0x80,0,0,0xaa,0,0x38,0x9b,0x71);
-DEFINE_GUID(KSDATAFORMAT_SUBTYPE_DSS_AUDIO,0xa0af4f82,0xe163,0x11d0,0xba,0xd9,0,0x60,0x97,0x44,0x11,0x1a);
-DEFINE_GUID(KSDATAFORMAT_SUBTYPE_DSS_VIDEO,0xa0af4f81,0xe163,0x11d0,0xba,0xd9,0,0x60,0x97,0x44,0x11,0x1a);
-DEFINE_GUID(KSDATAFORMAT_SUBTYPE_DTS_AUDIO,0xe06d8033,0xdb46,0x11cf,0xb4,0xd1,0,0x80,0x5f,0x6c,0xbb,0xea);
-DEFINE_GUID(KSDATAFORMAT_SUBTYPE_IEEE_FLOAT,0x3,0,0x10,0x80,0,0,0xaa,0,0x38,0x9b,0x71);
-DEFINE_GUID(KSDATAFORMAT_SUBTYPE_Line21_BytePair,0x6e8d4a22,0x310c,0x11d0,0xb7,0x9a,0,0xaa,0,0x37,0x67,0xa7);
-DEFINE_GUID(KSDATAFORMAT_SUBTYPE_Line21_GOPPacket,0x6e8d4a23,0x310c,0x11d0,0xb7,0x9a,0,0xaa,0,0x37,0x67,0xa7);
-DEFINE_GUID(KSDATAFORMAT_SUBTYPE_LPCM_AUDIO,0xe06d8032,0xdb46,0x11cf,0xb4,0xd1,0,0x80,0x5f,0x6c,0xbb,0xea);
-DEFINE_GUID(KSDATAFORMAT_SUBTYPE_MIDI,0x1d262760,0xe957,0x11cf,0xa5,0xd6,0x28,0xdb,0x4,0xc1,0,0);
-DEFINE_GUID(KSDATAFORMAT_SUBTYPE_MIDI_BUS,0x2ca15fa0,0x6cfe,0x11cf,0xa5,0xd6,0x28,0xdb,0x4,0xc1,0,0);
-DEFINE_GUID(KSDATAFORMAT_SUBTYPE_MPEG,0x50,0,0x10,0x80,0,0,0xaa,0,0x38,0x9b,0x71);
-DEFINE_GUID(KSDATAFORMAT_SUBTYPE_MPEG1Packet,0xe436eb80,0x524f,0x11ce,0x9f,0x53,0,0x20,0xaf,0xb,0xa7,0x70);
-DEFINE_GUID(KSDATAFORMAT_SUBTYPE_MPEG1Payload,0xe436eb81,0x524f,0x11ce,0x9f,0x53,0,0x20,0xaf,0xb,0xa7,0x70);
-DEFINE_GUID(KSDATAFORMAT_SUBTYPE_MPEG1Video,0xe436eb86,0x524f,0x11ce,0x9f,0x53,0,0x20,0xaf,0xb,0xa7,0x70);
-DEFINE_GUID(KSDATAFORMAT_SUBTYPE_MPEG2_AUDIO,0xe06d802b,0xdb46,0x11cf,0xb4,0xd1,0,0x80,0x5f,0x6c,0xbb,0xea);
-DEFINE_GUID(KSDATAFORMAT_SUBTYPE_MPEG2_VIDEO,0xe06d8026,0xdb46,0x11cf,0xb4,0xd1,0,0x80,0x5f,0x6c,0xbb,0xea);
-DEFINE_GUID(KSDATAFORMAT_SUBTYPE_MULAW,0x7,0,0x10,0x80,0,0,0xaa,0,0x38,0x9b,0x71);
-DEFINE_GUID(KSDATAFORMAT_SUBTYPE_NABTS,0xf72a76e2,0xeb0a,0x11d0,0xac,0xe4,0,0,0xc0,0xcc,0x16,0xba);
-DEFINE_GUID(KSDATAFORMAT_SUBTYPE_NABTS_FEC,0xe757bca1,0x39ac,0x11d1,0xa9,0xf5,0,0xc0,0x4f,0xbb,0xde,0x8f);
-DEFINE_GUID(KSDATAFORMAT_SUBTYPE_NONE,0xe436eb8e,0x524f,0x11ce,0x9f,0x53,0,0x20,0xaf,0xb,0xa7,0x70);
-DEFINE_GUID(KSDATAFORMAT_SUBTYPE_OVERLAY,0xe436eb7f,0x524f,0x11ce,0x9f,0x53,0,0x20,0xaf,0xb,0xa7,0x70);
-DEFINE_GUID(KSDATAFORMAT_SUBTYPE_PCM,0x1,0,0x10,0x80,0,0,0xaa,0,0x38,0x9b,0x71);
-DEFINE_GUID(KSDATAFORMAT_SUBTYPE_RAW8,0xca20d9a0,0x3e3e,0x11d1,0x9b,0xf9,0,0xc0,0x4f,0xbb,0xde,0xbf);
-DEFINE_GUID(KSDATAFORMAT_SUBTYPE_RIFF,0x4995daee,0x9ee6,0x11d0,0xa4,0xe,0,0xa0,0xc9,0x22,0x31,0x96);
-DEFINE_GUID(KSDATAFORMAT_SUBTYPE_RIFFMIDI,0x4995daf0,0x9ee6,0x11d0,0xa4,0xe,0,0xa0,0xc9,0x22,0x31,0x96);
-DEFINE_GUID(KSDATAFORMAT_SUBTYPE_RIFFWAVE,0xe436eb8b,0x524f,0x11ce,0x9f,0x53,0,0x20,0xaf,0xb,0xa7,0x70);
-DEFINE_GUID(KSDATAFORMAT_SUBTYPE_SDDS_AUDIO,0xe06d8034,0xdb46,0x11cf,0xb4,0xd1,0,0x80,0x5f,0x6c,0xbb,0xea);
-DEFINE_GUID(KSDATAFORMAT_SUBTYPE_STANDARD_AC3_AUDIO,0x36523b25,0x8ee5,0x11d1,0x8c,0xa3,0,0x60,0xb0,0x57,0x66,0x4a);
-DEFINE_GUID(KSDATAFORMAT_SUBTYPE_STANDARD_MPEG1_AUDIO,0x36523b22,0x8ee5,0x11d1,0x8c,0xa3,0,0x60,0xb0,0x57,0x66,0x4a);
-DEFINE_GUID(KSDATAFORMAT_SUBTYPE_STANDARD_MPEG1_VIDEO,0x36523b21,0x8ee5,0x11d1,0x8c,0xa3,0,0x60,0xb0,0x57,0x66,0x4a);
-DEFINE_GUID(KSDATAFORMAT_SUBTYPE_STANDARD_MPEG2_AUDIO,0x36523b24,0x8ee5,0x11d1,0x8c,0xa3,0,0x60,0xb0,0x57,0x66,0x4a);
-DEFINE_GUID(KSDATAFORMAT_SUBTYPE_STANDARD_MPEG2_VIDEO,0x36523b23,0x8ee5,0x11d1,0x8c,0xa3,0,0x60,0xb0,0x57,0x66,0x4a);
-DEFINE_GUID(KSDATAFORMAT_SUBTYPE_SUBPICTURE,0xe06d802d,0xdb46,0x11cf,0xb4,0xd1,0,0x80,0x5f,0x6c,0xbb,0xea);
-DEFINE_GUID(KSDATAFORMAT_SUBTYPE_TELETEXT,0xf72a76e3,0xeb0a,0x11d0,0xac,0xe4,0,0,0xc0,0xcc,0x16,0xba);
-DEFINE_GUID(KSDATAFORMAT_SUBTYPE_VPVBI,0x5a9b6a41,0x1a22,0x11d1,0xba,0xd9,0,0x60,0x97,0x44,0x11,0x1a);
-DEFINE_GUID(KSDATAFORMAT_SUBTYPE_VPVideo,0x5a9b6a40,0x1a22,0x11d1,0xba,0xd9,0,0x60,0x97,0x44,0x11,0x1a);
-DEFINE_GUID(KSDATAFORMAT_SUBTYPE_WAVEFORMATEX,0,0,0x10,0x80,0,0,0xaa,0,0x38,0x9b,0x71);
-DEFINE_GUID(KSDATAFORMAT_TYPE_ANALOGVIDEO,0x0482dde1,0x7817,0x11cf,0x8a,0x03,0x00,0xaa,0x00,0x6e,0xcb,0x65);
-DEFINE_GUID(KSDATAFORMAT_TYPE_AUDIO,0x73647561,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);
-DEFINE_GUID(KSDATAFORMAT_TYPE_AUXLine21Data,0x670aea80,0x3a82,0x11d0,0xb7,0x9b,0x00,0xaa,0x00,0x37,0x67,0xa7);
-DEFINE_GUID(KSDATAFORMAT_TYPE_DVD_ENCRYPTED_PACK,0xed0b916a,0x044d,0x11d1,0xaa,0x78,0x00,0xc0,0x4f,0xc3,0x1d,0x60);
-DEFINE_GUID(KSDATAFORMAT_TYPE_MIDI,0x7364696d,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);
-DEFINE_GUID(KSDATAFORMAT_TYPE_MPEG2_PES,0xe06d8020,0xdb46,0x11cf,0xb4,0xd1,0x00,0x80,0x5f,0x6c,0xbb,0xea);
-DEFINE_GUID(KSDATAFORMAT_TYPE_MPEG2_PROGRAM,0xe06d8022,0xdb46,0x11cf,0xb4,0xd1,0x00,0x80,0x5f,0x6c,0xbb,0xea);
-DEFINE_GUID(KSDATAFORMAT_TYPE_MPEG2_TRANSPORT,0xe06d8023,0xdb46,0x11cf,0xb4,0xd1,0x00,0x80,0x5f,0x6c,0xbb,0xea);
-DEFINE_GUID(KSDATAFORMAT_TYPE_MUSIC,0xe725d360,0x62cc,0x11cf,0xa5,0xd6,0x28,0xdb,0x04,0xc1,0x00,0x00);
-DEFINE_GUID(KSDATAFORMAT_TYPE_NABTS,0xe757bca0,0x39ac,0x11d1,0xa9,0xf5,0x00,0xc0,0x4f,0xbb,0xde,0x8f);
-DEFINE_GUID(KSDATAFORMAT_TYPE_STANDARD_ELEMENTARY_STREAM,0x36523b11,0x8ee5,0x11d1,0x8c,0xa3,0x00,0x60,0xb0,0x57,0x66,0x4a);
-DEFINE_GUID(KSDATAFORMAT_TYPE_STANDARD_PACK_HEADER,0x36523b13,0x8ee5,0x11d1,0x8c,0xa3,0x00,0x60,0xb0,0x57,0x66,0x4a);
-DEFINE_GUID(KSDATAFORMAT_TYPE_STANDARD_PES_PACKET,0x36523b12,0x8ee5,0x11d1,0x8c,0xa3,0x00,0x60,0xb0,0x57,0x66,0x4a);
-DEFINE_GUID(KSDATAFORMAT_TYPE_STREAM,0xe436eb83,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70);
-DEFINE_GUID(KSDATAFORMAT_TYPE_TEXT,0x73747874,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);
-DEFINE_GUID(KSDATAFORMAT_TYPE_VBI,0xf72a76e1,0xeb0a,0x11d0,0xac,0xe4,0x00,0x00,0xc0,0xcc,0x16,0xba);
-DEFINE_GUID(KSDATAFORMAT_TYPE_VIDEO,0x73646976,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);
-DEFINE_GUID(KSDEGRADESETID_Standard,0x9f564180,0x704c,0x11d0,0xa5,0xd6,0x28,0xdb,0x04,0xc1,0x00,0x00);
-DEFINE_GUID(KSEVENTSETID_AudioControlChange,0xe85e9698,0xfa2f,0x11d1,0x95,0xbd,0x00,0xc0,0x4f,0xb9,0x25,0xd3);
-DEFINE_GUID(KSEVENTSETID_Clock,0x364d8e20,0x62c7,0x11cf,0xa5,0xd6,0x28,0xdb,0x04,0xc1,0x00,0x00);
-DEFINE_GUID(KSEVENTSETID_Connection,0x7f4bcbe0,0x9ea5,0x11cf,0xa5,0xd6,0x28,0xdb,0x04,0xc1,0x00,0x00);
-DEFINE_GUID(KSEVENTSETID_Cyclic,0x142c1ac0,0x072a,0x11d0,0xa5,0xd6,0x28,0xdb,0x04,0xc1,0x00,0x00);
-DEFINE_GUID(KSEVENTSETID_LoopedStreaming,0x4682b940,0xc6ef,0x11d0,0x96,0xd8,0x00,0xaa,0x00,0x51,0xe5,0x1d);
-DEFINE_GUID(KSEVENTSETID_StreamAllocator,0x75d95571,0x073c,0x11d0,0xa1,0x61,0x00,0x20,0xaf,0xd1,0x56,0xe4);
-DEFINE_GUID(KSEVENTSETID_Sysaudio,0x04800320,0x4491,0x11d1,0xa0,0x50,0x40,0x57,0x05,0xc1,0x00,0x00);
-DEFINE_GUID(KSEVENTSETID_VIDCAP_TVAUDIO,0x6a2e0651,0x28e4,0x11d0,0xa1,0x8c,0x00,0xa0,0xc9,0x11,0x89,0x56);
-DEFINE_GUID(KSEVENTSETID_VIDCAPTOSTI,0xdb47de20,0xf628,0x11d1,0xba,0x41,0x00,0xa0,0xc9,0x0d,0x2b,0x05);
-DEFINE_GUID(KSEVENTSETID_VPNotify,0x20c5598e,0xd3c8,0x11d0,0x8d,0xfc,0x00,0xc0,0x4f,0xd7,0xc0,0x8b);
-DEFINE_GUID(KSEVENTSETID_VPVBINotify,0xec529b01,0x1a1f,0x11d1,0xba,0xd9,0x00,0x60,0x97,0x44,0x11,0x1a);
-DEFINE_GUID(KSINTERFACESETID_FileIo,0x8c6f932c,0xe771,0x11d0,0xb8,0xff,0x00,0xa0,0xc9,0x22,0x31,0x96);
-DEFINE_GUID(KSINTERFACESETID_Media,0x3a13eb40,0x30a7,0x11d0,0xa5,0xd6,0x28,0xdb,0x04,0xc1,0x00,0x00);
-DEFINE_GUID(KSINTERFACESETID_Standard,0x1a8766a0,0x62ce,0x11cf,0xa5,0xd6,0x28,0xdb,0x04,0xc1,0x00,0x00);
-DEFINE_GUID(KSMEDIUMSETID_MidiBus,0x05908040,0x3246,0x11d0,0xa5,0xd6,0x28,0xdb,0x04,0xc1,0x00,0x00);
-DEFINE_GUID(KSMEDIUMSETID_Standard,0x4747b320,0x62ce,0x11cf,0xa5,0xd6,0x28,0xdb,0x04,0xc1,0x00,0x00);
-DEFINE_GUID(KSMEDIUMSETID_VPBus,0xa18c15ec,0xce43,0x11d0,0xab,0xe7,0x00,0xa0,0xc9,0x22,0x31,0x96);
-DEFINE_GUID(KSMEMORY_TYPE_DEVICE_UNKNOWN,0x091bb639,0x603f,0x11d1,0xb0,0x67,0x00,0xa0,0xc9,0x06,0x28,0x02);
-DEFINE_GUID(KSMEMORY_TYPE_KERNEL_NONPAGED,0x4a6d5fc4,0x7895,0x11d1,0xb0,0x69,0x00,0xa0,0xc9,0x06,0x28,0x02);
-DEFINE_GUID(KSMEMORY_TYPE_KERNEL_PAGED,0xd833f8f8,0x7894,0x11d1,0xb0,0x69,0x00,0xa0,0xc9,0x06,0x28,0x02);
-DEFINE_GUID(KSMEMORY_TYPE_SYSTEM,0x091bb638,0x603f,0x11d1,0xb0,0x67,0x00,0xa0,0xc9,0x06,0x28,0x02);
-DEFINE_GUID(KSMEMORY_TYPE_USER,0x8cb0fc28,0x7893,0x11d1,0xb0,0x69,0x00,0xa0,0xc9,0x06,0x28,0x02);
-DEFINE_GUID(KSMETHODSETID_StreamAllocator,0xcf6e4341,0xec87,0x11cf,0xa1,0x30,0x00,0x20,0xaf,0xd1,0x56,0xe4);
-DEFINE_GUID(KSMETHODSETID_StreamIo,0x65d003ca,0x1523,0x11d2,0xb2,0x7a,0x00,0xa0,0xc9,0x22,0x31,0x96);
-DEFINE_GUID(KSMETHODSETID_Wave_Queued,0x7432c160,0x8827,0x11cf,0xa1,0x02,0x00,0x20,0xaf,0xd1,0x56,0xe4);
-DEFINE_GUID(KSMETHODSETID_Wavetable,0xdcef31eb,0xd907,0x11d0,0x95,0x83,0x00,0xc0,0x4f,0xb9,0x25,0xd3);
-DEFINE_GUID(KSMUSIC_TECHNOLOGY_FMSYNTH,0x252c5c80,0x62e9,0x11cf,0xa5,0xd6,0x28,0xdb,0x04,0xc1,0x00,0x00);
-DEFINE_GUID(KSMUSIC_TECHNOLOGY_PORT,0x86c92e60,0x62e8,0x11cf,0xa5,0xd6,0x28,0xdb,0x04,0xc1,0x00,0x00);
-DEFINE_GUID(KSMUSIC_TECHNOLOGY_SQSYNTH,0x0ecf4380,0x62e9,0x11cf,0xa5,0xd6,0x28,0xdb,0x04,0xc1,0x00,0x00);
-DEFINE_GUID(KSMUSIC_TECHNOLOGY_SWSYNTH,0x37407736,0x3620,0x11d1,0x85,0xd3,0x00,0x00,0xf8,0x75,0x43,0x80);
-DEFINE_GUID(KSMUSIC_TECHNOLOGY_WAVETABLE,0x394ec7c0,0x62e9,0x11cf,0xa5,0xd6,0x28,0xdb,0x04,0xc1,0x00,0x00);
-DEFINE_GUID(KSNAME_Allocator,0x642f5d00,0x4791,0x11d0,0xa5,0xd6,0x28,0xdb,0x04,0xc1,0x00,0x00);
-DEFINE_GUID(KSNAME_Clock,0x53172480,0x4791,0x11d0,0xa5,0xd6,0x28,0xdb,0x04,0xc1,0x00,0x00);
-DEFINE_GUID(KSNAME_Filter,0x9b365890,0x165f,0x11d0,0xa1,0x95,0x00,0x20,0xaf,0xd1,0x56,0xe4);
-DEFINE_GUID(KSNAME_Pin,0x146f1a80,0x4791,0x11d0,0xa5,0xd6,0x28,0xdb,0x04,0xc1,0x00,0x00);
-DEFINE_GUID(KSNAME_Server,0x3c0d501a,0x140b,0x11d1,0xb4,0xf,0,0xa0,0xc9,0x22,0x31,0x96);
-DEFINE_GUID(KSNAME_TopologyNode,0x0621061a,0xee75,0x11d0,0xb9,0x15,0x00,0xa0,0xc9,0x22,0x31,0x96);
-DEFINE_GUID(KSNODETYPE_1394_DA_STREAM,0xdff21fe6,0xf70f,0x11d0,0xb9,0x17,0x00,0xa0,0xc9,0x22,0x31,0x96);
-DEFINE_GUID(KSNODETYPE_1394_DV_STREAM_SOUNDTRACK,0xdff21fe7,0xf70f,0x11d0,0xb9,0x17,0x00,0xa0,0xc9,0x22,0x31,0x96);
-DEFINE_GUID(KSNODETYPE_3D_EFFECTS,0x55515860,0xc559,0x11d0,0x8a,0x2b,0x00,0xa0,0xc9,0x25,0x5a,0xc1);
-DEFINE_GUID(KSNODETYPE_ADC,0x4d837fe0,0xc555,0x11d0,0x8a,0x2b,0x00,0xa0,0xc9,0x25,0x5a,0xc1);
-DEFINE_GUID(KSNODETYPE_AGC,0xe88c9ba0,0xc557,0x11d0,0x8a,0x2b,0x00,0xa0,0xc9,0x25,0x5a,0xc1);
-DEFINE_GUID(KSNODETYPE_ANALOG_CONNECTOR,0xdff21fe1,0xf70f,0x11d0,0xb9,0x17,0x00,0xa0,0xc9,0x22,0x31,0x96);
-DEFINE_GUID(KSNODETYPE_ANALOG_TAPE,0xdff220e7,0xf70f,0x11d0,0xb9,0x17,0x00,0xa0,0xc9,0x22,0x31,0x96);
-DEFINE_GUID(KSNODETYPE_CABLE_TUNER_AUDIO,0xdff220ee,0xf70f,0x11d0,0xb9,0x17,0x00,0xa0,0xc9,0x22,0x31,0x96);
-DEFINE_GUID(KSNODETYPE_CD_PLAYER,0xdff220e3,0xf70f,0x11d0,0xb9,0x17,0x00,0xa0,0xc9,0x22,0x31,0x96);
-DEFINE_GUID(KSNODETYPE_COMMUNICATION_SPEAKER,0xdff21ce6,0xf70f,0x11d0,0xb9,0x17,0x00,0xa0,0xc9,0x22,0x31,0x96);
-DEFINE_GUID(KSNODETYPE_DAC,0x507ae360,0xc554,0x11d0,0x8a,0x2b,0x00,0xa0,0xc9,0x25,0x5a,0xc1);
-DEFINE_GUID(KSNODETYPE_DAT_IO_DIGITAL_AUDIO_TAPE,0xdff220e4,0xf70f,0x11d0,0xb9,0x17,0x00,0xa0,0xc9,0x22,0x31,0x96);
-DEFINE_GUID(KSNODETYPE_DCC_IO_DIGITAL_COMPACT_CASSETTE,0xdff220e5,0xf70f,0x11d0,0xb9,0x17,0x00,0xa0,0xc9,0x22,0x31,0x96);
-DEFINE_GUID(KSNODETYPE_DELAY,0x144981e0,0xc558,0x11d0,0x8a,0x2b,0x00,0xa0,0xc9,0x25,0x5a,0xc1);
-DEFINE_GUID(KSNODETYPE_DEMUX,0xc0eb67d4,0xe807,0x11d0,0x95,0x8a,0x00,0xc0,0x4f,0xb9,0x25,0xd3);
-DEFINE_GUID(KSNODETYPE_DESKTOP_MICROPHONE,0xdff21be2,0xf70f,0x11d0,0xb9,0x17,0x00,0xa0,0xc9,0x22,0x31,0x96);
-DEFINE_GUID(KSNODETYPE_DESKTOP_SPEAKER,0xdff21ce4,0xf70f,0x11d0,0xb9,0x17,0x00,0xa0,0xc9,0x22,0x31,0x96);
-DEFINE_GUID(KSNODETYPE_DEV_SPECIFIC,0x941c7ac0,0xc559,0x11d0,0x8a,0x2b,0x00,0xa0,0xc9,0x25,0x5a,0xc1);
-DEFINE_GUID(KSNODETYPE_DIGITAL_AUDIO_INTERFACE,0xdff21fe2,0xf70f,0x11d0,0xb9,0x17,0x00,0xa0,0xc9,0x22,0x31,0x96);
-DEFINE_GUID(KSNODETYPE_DOWN_LINE_PHONE,0xdff21ee3,0xf70f,0x11d0,0xb9,0x17,0x00,0xa0,0xc9,0x22,0x31,0x96);
-DEFINE_GUID(KSNODETYPE_DRM_DESCRAMBLE,0xffbb6e3f,0xccfe,0x4d84,0x90,0xd9,0x42,0x14,0x18,0xb0,0x3a,0x8e);
-DEFINE_GUID(KSNODETYPE_DSS_AUDIO,0xdff220ef,0xf70f,0x11d0,0xb9,0x17,0x00,0xa0,0xc9,0x22,0x31,0x96);
-DEFINE_GUID(KSNODETYPE_DVD_AUDIO,0xdff220eb,0xf70f,0x11d0,0xb9,0x17,0x00,0xa0,0xc9,0x22,0x31,0x96);
-DEFINE_GUID(KSNODETYPE_ECHO_CANCELING_SPEAKERPHONE,0xdff21de5,0xf70f,0x11d0,0xb9,0x17,0x00,0xa0,0xc9,0x22,0x31,0x96);
-DEFINE_GUID(KSNODETYPE_ECHO_SUPPRESSING_SPEAKERPHONE,0xdff21de3,0xf70f,0x11d0,0xb9,0x17,0x00,0xa0,0xc9,0x22,0x31,0x96);
-DEFINE_GUID(KSNODETYPE_EQUALIZATION_NOISE,0xdff220e2,0xf70f,0x11d0,0xb9,0x17,0x00,0xa0,0xc9,0x22,0x31,0x96);
-DEFINE_GUID(KSNODETYPE_EQUALIZER,0x9d41b4a0,0xc557,0x11d0,0x8a,0x2b,0x00,0xa0,0xc9,0x25,0x5a,0xc1);
-DEFINE_GUID(KSNODETYPE_HANDSET,0xdff21de1,0xf70f,0x11d0,0xb9,0x17,0x00,0xa0,0xc9,0x22,0x31,0x96);
-DEFINE_GUID(KSNODETYPE_HEAD_MOUNTED_DISPLAY_AUDIO,0xdff21ce3,0xf70f,0x11d0,0xb9,0x17,0x00,0xa0,0xc9,0x22,0x31,0x96);
-DEFINE_GUID(KSNODETYPE_HEADPHONES,0xdff21ce2,0xf70f,0x11d0,0xb9,0x17,0x00,0xa0,0xc9,0x22,0x31,0x96);
-DEFINE_GUID(KSNODETYPE_HEADSET,0xdff21de2,0xf70f,0x11d0,0xb9,0x17,0x00,0xa0,0xc9,0x22,0x31,0x96);
-DEFINE_GUID(KSNODETYPE_CHORUS,0x20173f20,0xc559,0x11d0,0x8a,0x2b,0x00,0xa0,0xc9,0x25,0x5a,0xc1);
-DEFINE_GUID(KSNODETYPE_LEGACY_AUDIO_CONNECTOR,0xdff21fe4,0xf70f,0x11d0,0xb9,0x17,0x00,0xa0,0xc9,0x22,0x31,0x96);
-DEFINE_GUID(KSNODETYPE_LEVEL_CALIBRATION_NOISE_SOURCE,0xdff220e1,0xf70f,0x11d0,0xb9,0x17,0x00,0xa0,0xc9,0x22,0x31,0x96);
-DEFINE_GUID(KSNODETYPE_LINE_CONNECTOR,0xdff21fe3,0xf70f,0x11d0,0xb9,0x17,0x00,0xa0,0xc9,0x22,0x31,0x96);
-DEFINE_GUID(KSNODETYPE_LOUDNESS,0x41887440,0xc558,0x11d0,0x8a,0x2b,0x00,0xa0,0xc9,0x25,0x5a,0xc1);
-DEFINE_GUID(KSNODETYPE_LOW_FREQUENCY_EFFECTS_SPEAKER,0xdff21ce7,0xf70f,0x11d0,0xb9,0x17,0x00,0xa0,0xc9,0x22,0x31,0x96);
-DEFINE_GUID(KSNODETYPE_MICROPHONE,0xdff21be1,0xf70f,0x11d0,0xb9,0x17,0x00,0xa0,0xc9,0x22,0x31,0x96);
-DEFINE_GUID(KSNODETYPE_MICROPHONE_ARRAY,0xdff21be5,0xf70f,0x11d0,0xb9,0x17,0x00,0xa0,0xc9,0x22,0x31,0x96);
-DEFINE_GUID(KSNODETYPE_MINIDISK,0xdff220e6,0xf70f,0x11d0,0xb9,0x17,0x00,0xa0,0xc9,0x22,0x31,0x96);
-DEFINE_GUID(KSNODETYPE_MULTITRACK_RECORDER,0xdff220f2,0xf70f,0x11d0,0xb9,0x17,0x00,0xa0,0xc9,0x22,0x31,0x96);
-DEFINE_GUID(KSNODETYPE_MUTE,0x02b223c0,0xc557,0x11d0,0x8a,0x2b,0x00,0xa0,0xc9,0x25,0x5a,0xc1);
-DEFINE_GUID(KSNODETYPE_MUX,0x2ceaf780,0xc556,0x11d0,0x8a,0x2b,0x00,0xa0,0xc9,0x25,0x5a,0xc1);
-DEFINE_GUID(KSNODETYPE_NOISE_SUPPRESS,0xe07f903f,0x62fd,0x4e60,0x8c,0xdd,0xde,0xa7,0x23,0x66,0x65,0xb5);
-DEFINE_GUID(KSNODETYPE_OMNI_DIRECTIONAL_MICROPHONE,0xdff21be4,0xf70f,0x11d0,0xb9,0x17,0x00,0xa0,0xc9,0x22,0x31,0x96);
-DEFINE_GUID(KSNODETYPE_PEAKMETER,0xa085651e,0x5f0d,0x4b36,0xa8,0x69,0xd1,0x95,0xd6,0xab,0x4b,0x9e);
-DEFINE_GUID(KSNODETYPE_PERSONAL_MICROPHONE,0xdff21be3,0xf70f,0x11d0,0xb9,0x17,0x00,0xa0,0xc9,0x22,0x31,0x96);
-DEFINE_GUID(KSNODETYPE_PHONE_LINE,0xdff21ee1,0xf70f,0x11d0,0xb9,0x17,0x00,0xa0,0xc9,0x22,0x31,0x96);
-DEFINE_GUID(KSNODETYPE_PHONOGRAPH,0xdff220e8,0xf70f,0x11d0,0xb9,0x17,0x00,0xa0,0xc9,0x22,0x31,0x96);
-DEFINE_GUID(KSNODETYPE_PROCESSING_MICROPHONE_ARRAY,0xdff21be6,0xf70f,0x11d0,0xb9,0x17,0x00,0xa0,0xc9,0x22,0x31,0x96);
-DEFINE_GUID(KSNODETYPE_PROLOGIC_DECODER,0x831c2c80,0xc558,0x11d0,0x8a,0x2b,0x00,0xa0,0xc9,0x25,0x5a,0xc1);
-DEFINE_GUID(KSNODETYPE_RADIO_RECEIVER,0xdff220f0,0xf70f,0x11d0,0xb9,0x17,0x00,0xa0,0xc9,0x22,0x31,0x96);
-DEFINE_GUID(KSNODETYPE_RADIO_TRANSMITTER,0xdff220f1,0xf70f,0x11d0,0xb9,0x17,0x00,0xa0,0xc9,0x22,0x31,0x96);
-DEFINE_GUID(KSNODETYPE_REVERB,0xef0328e0,0xc558,0x11d0,0x8a,0x2b,0x00,0xa0,0xc9,0x25,0x5a,0xc1);
-DEFINE_GUID(KSNODETYPE_ROOM_SPEAKER,0xdff21ce5,0xf70f,0x11d0,0xb9,0x17,0x00,0xa0,0xc9,0x22,0x31,0x96);
-DEFINE_GUID(KSNODETYPE_SATELLITE_RECEIVER_AUDIO,0xdff220ed,0xf70f,0x11d0,0xb9,0x17,0x00,0xa0,0xc9,0x22,0x31,0x96);
-DEFINE_GUID(KSNODETYPE_SPDIF_INTERFACE,0xdff21fe5,0xf70f,0x11d0,0xb9,0x17,0x00,0xa0,0xc9,0x22,0x31,0x96);
-DEFINE_GUID(KSNODETYPE_SPEAKER,0xdff21ce1,0xf70f,0x11d0,0xb9,0x17,0x00,0xa0,0xc9,0x22,0x31,0x96);
-DEFINE_GUID(KSNODETYPE_SPEAKERPHONE_NO_ECHO_REDUCTION,0xdff21de3,0xf70f,0x11d0,0xb9,0x17,0x00,0xa0,0xc9,0x22,0x31,0x96);
-DEFINE_GUID(KSNODETYPE_SRC,0x9db7b9e0,0xc555,0x11d0,0x8a,0x2b,0x00,0xa0,0xc9,0x25,0x5a,0xc1);
-DEFINE_GUID(KSNODETYPE_STEREO_ENHANCE,0xaf6878ac,0xe83f,0x11d0,0x95,0x8a,0x00,0xc0,0x4f,0xb9,0x25,0xd3);
-DEFINE_GUID(KSNODETYPE_STEREO_WIDE,0xa9e69800,0xc558,0x11d0,0x8a,0x2b,0x00,0xa0,0xc9,0x25,0x5a,0xc1);
-DEFINE_GUID(KSNODETYPE_SUM,0xda441a60,0xc556,0x11d0,0x8a,0x2b,0x00,0xa0,0xc9,0x25,0x5a,0xc1);
-DEFINE_GUID(KSNODETYPE_SUPERMIX,0xe573adc0,0xc555,0x11d0,0x8a,0x2b,0x00,0xa0,0xc9,0x25,0x5a,0xc1);
-DEFINE_GUID(KSNODETYPE_SURROUND_ENCODER,0x8074c5b2,0x3c66,0x11d2,0xb4,0x5a,0x30,0x78,0x30,0x2c,0x20,0x30);
-DEFINE_GUID(KSNODETYPE_SWMIDI,0xcb9befa0,0xa251,0x11d1,0xa0,0x50,0x00,0x00,0xf8,0x00,0x47,0x88);
-DEFINE_GUID(KSNODETYPE_SWSYNTH,0x423274a0,0x8b81,0x11d1,0xa0,0x50,0x00,0x00,0xf8,0x00,0x47,0x88);
-DEFINE_GUID(KSNODETYPE_SYNTHESIZER,0xdff220f3,0xf70f,0x11d0,0xb9,0x17,0x00,0xa0,0xc9,0x22,0x31,0x96);
-DEFINE_GUID(KSNODETYPE_TELEPHONE,0xdff21ee2,0xf70f,0x11d0,0xb9,0x17,0x00,0xa0,0xc9,0x22,0x31,0x96);
-DEFINE_GUID(KSNODETYPE_TONE,0x7607e580,0xc557,0x11d0,0x8a,0x2b,0x00,0xa0,0xc9,0x25,0x5a,0xc1);
-DEFINE_GUID(KSNODETYPE_TV_TUNER_AUDIO,0xdff220ec,0xf70f,0x11d0,0xb9,0x17,0x00,0xa0,0xc9,0x22,0x31,0x96);
-DEFINE_GUID(KSNODETYPE_VCR_AUDIO,0xdff220e9,0xf70f,0x11d0,0xb9,0x17,0x00,0xa0,0xc9,0x22,0x31,0x96);
-DEFINE_GUID(KSNODETYPE_VIDEO_DISC_AUDIO,0xdff220ea,0xf70f,0x11d0,0xb9,0x17,0x00,0xa0,0xc9,0x22,0x31,0x96);
-DEFINE_GUID(KSNODETYPE_VOLUME,0x3a5acc00,0xc557,0x11d0,0x8a,0x2b,0x00,0xa0,0xc9,0x25,0x5a,0xc1);
-DEFINE_GUID(KSPROPSETID_AC3,0xbfabe720,0x6e1f,0x11d0,0xbc,0xf2,0x44,0x45,0x53,0x54,0x00,0x00);
-DEFINE_GUID(KSPROPSETID_Acoustic_Echo_Cancel,0xd7a4af8b,0x3dc1,0x4902,0x91,0xea,0x8a,0x15,0xc9,0xe,0x5,0xb2);
-DEFINE_GUID(KSPROPSETID_Audio,0x45ffaaa0,0x6e1b,0x11d0,0xbc,0xf2,0x44,0x45,0x53,0x54,0x00,0x00);
-DEFINE_GUID(KSPROPSETID_AudioDecoderOut,0x6ca6e020,0x43bd,0x11d0,0xbd,0x6a,0x00,0x35,0x05,0xc1,0x03,0xa9);
-DEFINE_GUID(KSPROPSETID_AudioGfx,0x79a9312e,0x59ae,0x43b0,0xa3,0x50,0x8b,0x5,0x28,0x4c,0xab,0x24);
-DEFINE_GUID(KSPROPSETID_Bibliographic,0x07ba150e,0xe2b1,0x11d0,0xac,0x17,0x00,0xa0,0xc9,0x22,0x31,0x96);
-DEFINE_GUID(KSPROPSETID_Clock,0xdf12a4c0,0xac17,0x11cf,0xa5,0xd6,0x28,0xdb,0x04,0xc1,0x00,0x00);
-DEFINE_GUID(KSPROPSETID_Connection,0x1d58c920,0xac9b,0x11cf,0xa5,0xd6,0x28,0xdb,0x04,0xc1,0x00,0x00);
-DEFINE_GUID(KSPROPSETID_CopyProt,0x0e8a0a40,0x6aef,0x11d0,0x9e,0xd0,0x00,0xa0,0x24,0xca,0x19,0xb3);
-DEFINE_GUID(KSPROPSETID_Cyclic,0x3ffeaea0,0x2bee,0x11cf,0xa5,0xd6,0x28,0xdb,0x04,0xc1,0x00,0x00);
-DEFINE_GUID(KSPROPSETID_DirectSound3DBuffer,0x437b3411,0xd060,0x11d0,0x85,0x83,0x00,0xc0,0x4f,0xd9,0xba,0xf3);
-DEFINE_GUID(KSPROPSETID_DirectSound3DListener,0x437b3414,0xd060,0x11d0,0x85,0x83,0x00,0xc0,0x4f,0xd9,0xba,0xf3);
-DEFINE_GUID(KSPROPSETID_DrmAudioStream,0x2f2c8ddd,0x4198,0x4fac,0xba,0x29,0x61,0xbb,0x05,0xb7,0xde,0x06);
-DEFINE_GUID(KSPROPSETID_DvdSubPic,0xac390460,0x43af,0x11d0,0xbd,0x6a,0x00,0x35,0x05,0xc1,0x03,0xa9);
-DEFINE_GUID(KSPROPSETID_General,0x1464eda5,0x6a8f,0x11d1,0x9a,0xa7,0x00,0xa0,0xc9,0x22,0x31,0x96);
-DEFINE_GUID(KSPROPSETID_GM,0xaf627536,0xe719,0x11d2,0x8a,0x1d,0x00,0x60,0x97,0xd2,0xdf,0x5d);
-DEFINE_GUID(KSPROPSETID_Hrtf3d,0xb66decb0,0xa083,0x11d0,0x85,0x1e,0x00,0xc0,0x4f,0xd9,0xba,0xf3);
-DEFINE_GUID(KSPROPSETID_Itd3d,0x6429f090,0x9fd9,0x11d0,0xa7,0x5b,0x00,0xa0,0xc9,0x03,0x65,0xe3);
-DEFINE_GUID(KSPROPSETID_Linear,0x5a2ffe80,0x16b9,0x11d0,0xa5,0xd6,0x28,0xdb,0x04,0xc1,0x00,0x00);
-DEFINE_GUID(KSPROPSETID_MediaSeeking,0xee904f0c,0xd09b,0x11d0,0xab,0xe9,0x00,0xa0,0xc9,0x22,0x31,0x96);
-DEFINE_GUID(KSPROPSETID_Mpeg2Vid,0xc8e11b60,0x0cc9,0x11d0,0xbd,0x69,0x00,0x35,0x05,0xc1,0x03,0xa9);
-DEFINE_GUID(KSPROPSETID_OverlayUpdate,0x490ea5cf,0x7681,0x11d1,0xa2,0x1c,0x00,0xa0,0xc9,0x22,0x31,0x96);
-DEFINE_GUID(KSPROPSETID_Pin,0x8c134960,0x51ad,0x11cf,0x87,0x8a,0x94,0xf8,0x01,0xc1,0x00,0x00);
-DEFINE_GUID(KSPROPSETID_Quality,0xd16ad380,0xac1a,0x11cf,0xa5,0xd6,0x28,0xdb,0x04,0xc1,0x00,0x00);
-DEFINE_GUID(KSPROPSETID_RtAudio,0xa855a48c,0x2f78,0x4729,0x90,0x51,0x19,0x68,0x74,0x6b,0x9e,0xef);
-DEFINE_GUID(KSPROPSETID_Service,0x3c0d501b,0x140b,0x11d1,0xb4,0xf,0,0xa0,0xc9,0x22,0x31,0x96);
-DEFINE_GUID(KSPROPSETID_Stream,0x65aaba60,0x98ae,0x11cf,0xa1,0x0d,0x00,0x20,0xaf,0xd1,0x56,0xe4);
-DEFINE_GUID(KSPROPSETID_StreamAllocator,0xcf6e4342,0xec87,0x11cf,0xa1,0x30,0x00,0x20,0xaf,0xd1,0x56,0xe4);
-DEFINE_GUID(KSPROPSETID_StreamInterface,0x1fdd8ee1,0x9cd3,0x11d0,0x82,0xaa,0x00,0x00,0xf8,0x22,0xfe,0x8a);
-DEFINE_GUID(KSPROPSETID_Sysaudio,0xcbe3faa0,0xcc75,0x11d0,0xb4,0x65,0x00,0x00,0x1a,0x18,0x18,0xe6);
-DEFINE_GUID(KSPROPSETID_Sysaudio_Pin,0xa3a53220,0xc6e4,0x11d0,0xb4,0x65,0x00,0x00,0x1a,0x18,0x18,0xe6);
-DEFINE_GUID(KSPROPSETID_Topology,0x45ffaaa1,0x6e1b,0x11d0,0xbc,0xf2,0x44,0x45,0x53,0x54,0x00,0x00);
-DEFINE_GUID(KSPROPSETID_TopologyNode,0x45ffaaa1,0x6e1b,0x11d0,0xbc,0xf2,0x44,0x45,0x53,0x54,0x00,0x00);
-DEFINE_GUID(KSPROPSETID_TSRateChange,0xa503c5c0,0x1d1d,0x11d1,0xad,0x80,0x44,0x45,0x53,0x54,0x00,0x00);
-DEFINE_GUID(KSPROPSETID_VBICAP_PROPERTIES,0xf162c607,0x7b35,0x496f,0xad,0x7f,0x2d,0xca,0x3b,0x46,0xb7,0x18);
-DEFINE_GUID(KSPROPSETID_VBICodecFiltering,0xcafeb0ca,0x8715,0x11d0,0xbd,0x6a,0x00,0x35,0xc0,0xed,0xba,0xbe);
-DEFINE_GUID(KSPROPSETID_VPConfig,0xbc29a660,0x30e3,0x11d0,0x9e,0x69,0x00,0xc0,0x4f,0xd7,0xc1,0x5b);
-DEFINE_GUID(KSPROPSETID_VPVBIConfig,0xec529b00,0x1a1f,0x11d1,0xba,0xd9,0x00,0x60,0x97,0x44,0x11,0x1a);
-DEFINE_GUID(KSPROPSETID_Wave,0x924e54b0,0x630f,0x11cf,0xad,0xa7,0x08,0x00,0x3e,0x30,0x49,0x4a);
-DEFINE_GUID(KSPROPSETID_Wave_Queued,0x16a15b10,0x16f0,0x11d0,0xa1,0x95,0x00,0x20,0xaf,0xd1,0x56,0xe4);
-DEFINE_GUID(KSPROPSETID_WaveTable,0x8539e660,0x62e9,0x11cf,0xa5,0xd6,0x28,0xdb,0x04,0xc1,0x00,0x00);
-DEFINE_GUID(KSPROPTYPESETID_General,0x97e99ba0,0xbdea,0x11cf,0xa5,0xd6,0x28,0xdb,0x04,0xc1,0x00,0x00);
-DEFINE_GUID(KSTIME_FORMAT_BYTE,0x7b785571,0x8c82,0x11cf,0xbc,0x0c,0x00,0xaa,0x00,0xac,0x74,0xf6);
-DEFINE_GUID(KSTIME_FORMAT_FIELD,0x7b785573,0x8c82,0x11cf,0xbc,0x0c,0x00,0xaa,0x00,0xac,0x74,0xf6);
-DEFINE_GUID(KSTIME_FORMAT_FRAME,0x7b785570,0x8c82,0x11cf,0xbc,0x0c,0x00,0xaa,0x00,0xac,0x74,0xf6);
-DEFINE_GUID(KSTIME_FORMAT_MEDIA_TIME,0x7b785574,0x8c82,0x11cf,0xbc,0x0c,0x00,0xaa,0x00,0xac,0x74,0xf6);
-DEFINE_GUID(KSTIME_FORMAT_SAMPLE,0x7b785572,0x8c82,0x11cf,0xbc,0x0c,0x00,0xaa,0x00,0xac,0x74,0xf6);
-DEFINE_GUID(PINNAME_VIDEO_ANALOGVIDEOIN,0xfb6c4283,0x0353,0x11d1,0x90,0x5f,0x00,0x00,0xc0,0xcc,0x16,0xba);
-DEFINE_GUID(PINNAME_VIDEO_CAPTURE,0xfb6c4281,0x0353,0x11d1,0x90,0x5f,0x00,0x00,0xc0,0xcc,0x16,0xba);
-DEFINE_GUID(PINNAME_VIDEO_CC,0xfb6c4289,0x0353,0x11d1,0x90,0x5f,0x00,0x00,0xc0,0xcc,0x16,0xba);
-DEFINE_GUID(PINNAME_VIDEO_CC_CAPTURE,0x1aad8061,0x012d,0x11d2,0xb4,0xb1,0x00,0xa0,0xd1,0x02,0xcf,0xbe);
-DEFINE_GUID(PINNAME_VIDEO_EDS,0xfb6c4287,0x0353,0x11d1,0x90,0x5f,0x00,0x00,0xc0,0xcc,0x16,0xba);
-DEFINE_GUID(PINNAME_VIDEO_NABTS,0xfb6c4286,0x0353,0x11d1,0x90,0x5f,0x00,0x00,0xc0,0xcc,0x16,0xba);
-DEFINE_GUID(PINNAME_VIDEO_NABTS_CAPTURE,0x29703660,0x498a,0x11d2,0xb4,0xb1,0x00,0xa0,0xd1,0x02,0xcf,0xbe);
-DEFINE_GUID(PINNAME_VIDEO_PREVIEW,0xfb6c4282,0x0353,0x11d1,0x90,0x5f,0x00,0x00,0xc0,0xcc,0x16,0xba);
-DEFINE_GUID(PINNAME_VIDEO_STILL,0xfb6c428a,0x0353,0x11d1,0x90,0x5f,0x00,0x00,0xc0,0xcc,0x16,0xba);
-DEFINE_GUID(PINNAME_VIDEO_TELETEXT,0xfb6c4288,0x0353,0x11d1,0x90,0x5f,0x00,0x00,0xc0,0xcc,0x16,0xba);
-DEFINE_GUID(PINNAME_VIDEO_TIMECODE,0xfb6c428b,0x0353,0x11d1,0x90,0x5f,0x00,0x00,0xc0,0xcc,0x16,0xba);
-DEFINE_GUID(PINNAME_VIDEO_VBI,0xfb6c4284,0x0353,0x11d1,0x90,0x5f,0x00,0x00,0xc0,0xcc,0x16,0xba);
-DEFINE_GUID(PINNAME_VIDEO_VIDEOPORT,0xfb6c4285,0x0353,0x11d1,0x90,0x5f,0x00,0x00,0xc0,0xcc,0x16,0xba);
-DEFINE_GUID(PINNAME_VIDEO_VIDEOPORT_VBI,0xfb6c428c,0x0353,0x11d1,0x90,0x5f,0x00,0x00,0xc0,0xcc,0x16,0xba);
-DEFINE_GUID(PROPSETID_ALLOCATOR_CONTROL,0x53171960,0x148e,0x11d2,0x99,0x79,0x00,0x00,0xc0,0xcc,0x16,0xba);
-DEFINE_GUID(PROPSETID_TUNER,0x6a2e0605,0x28e4,0x11d0,0xa1,0x8c,0x00,0xa0,0xc9,0x11,0x89,0x56);
-DEFINE_GUID(PROPSETID_VIDCAP_CAMERACONTROL,0xc6e13370,0x30ac,0x11d0,0xa1,0x8c,0x00,0xa0,0xc9,0x11,0x89,0x56);
-DEFINE_GUID(PROPSETID_VIDCAP_CROSSBAR,0x6a2e0640,0x28e4,0x11d0,0xa1,0x8c,0x00,0xa0,0xc9,0x11,0x89,0x56);
-DEFINE_GUID(PROPSETID_VIDCAP_DROPPEDFRAMES,0xc6e13344,0x30ac,0x11d0,0xa1,0x8c,0x00,0xa0,0xc9,0x11,0x89,0x56);
-DEFINE_GUID(PROPSETID_VIDCAP_TVAUDIO,0x6a2e0650,0x28e4,0x11d0,0xa1,0x8c,0x00,0xa0,0xc9,0x11,0x89,0x56);
-DEFINE_GUID(PROPSETID_VIDCAP_VIDEOCOMPRESSION,0xc6e13343,0x30ac,0x11d0,0xa1,0x8c,0x00,0xa0,0xc9,0x11,0x89,0x56);
-DEFINE_GUID(PROPSETID_VIDCAP_VIDEOCONTROL,0x6a2e0670,0x28e4,0x11d0,0xa1,0x8c,0x00,0xa0,0xc9,0x11,0x89,0x56);
-DEFINE_GUID(PROPSETID_VIDCAP_VIDEODECODER,0xc6e13350,0x30ac,0x11d0,0xa1,0x8c,0x00,0xa0,0xc9,0x11,0x89,0x56);
-DEFINE_GUID(PROPSETID_VIDCAP_VIDEOENCODER,0x6a2e0610,0x28e4,0x11d0,0xa1,0x8c,0x00,0xa0,0xc9,0x11,0x89,0x56);
-DEFINE_GUID(PROPSETID_VIDCAP_VIDEOPROCAMP,0xc6e13360,0x30ac,0x11d0,0xa1,0x8c,0x00,0xa0,0xc9,0x11,0x89,0x56);
diff --git a/winsup/w32api/lib/directx/ksuser.def b/winsup/w32api/lib/directx/ksuser.def
deleted file mode 100644
index 63a691618..000000000
--- a/winsup/w32api/lib/directx/ksuser.def
+++ /dev/null
@@ -1,6 +0,0 @@
-LIBRARY ksuser.dll
-EXPORTS
-KsCreateAllocator@12
-KsCreateClock@12
-KsCreatePin@16
-KsCreateTopologyNode@16
diff --git a/winsup/w32api/lib/directx/msdmo.def b/winsup/w32api/lib/directx/msdmo.def
deleted file mode 100644
index 25d505db7..000000000
--- a/winsup/w32api/lib/directx/msdmo.def
+++ /dev/null
@@ -1,17 +0,0 @@
-LIBRARY msdmo.dll
-EXPORTS
-DMOEnum@28
-DMOGetName@8
-DMOGetTypes@28
-DMOGuidToStrA@8
-DMOGuidToStrW@8
-DMORegister@32
-DMOStrToGuidA@8
-DMOStrToGuidW@8
-DMOUnregister@8
-MoCopyMediaType@8
-MoCreateMediaType@8
-MoDeleteMediaType@4
-MoDuplicateMediaType@8
-MoFreeMediaType@4
-MoInitMediaType@8
diff --git a/winsup/w32api/lib/directx/quartz.def b/winsup/w32api/lib/directx/quartz.def
deleted file mode 100644
index 8cfb10504..000000000
--- a/winsup/w32api/lib/directx/quartz.def
+++ /dev/null
@@ -1,7 +0,0 @@
-LIBRARY quartz.dll
-EXPORTS
-AMGetErrorTextA@12
-AMGetErrorTextW@12
-AmpFactorToDB@4
-DBToAmpFactor@4
-
diff --git a/winsup/w32api/lib/directx/strmiids.c b/winsup/w32api/lib/directx/strmiids.c
deleted file mode 100644
index 91b4920fe..000000000
--- a/winsup/w32api/lib/directx/strmiids.c
+++ /dev/null
@@ -1,980 +0,0 @@
-/*
-
- strmiids.c - DirectShow GUIDs
-
- Written by Filip Navara <xnavara@volny.cz>
-
- This library 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.
-
-*/
-
-#if defined(__LCC__) || defined(__GNUC__)
-#define INITGUID 1
-#include <windows.h>
-#else
-#include <basetyps.h>
-#endif
-
-DEFINE_GUID(CLSID_AMAudioData,0xf2468580,0xaf8a,0x11d0,0x82,0x12,0x00,0xc0,0x4f,0xc3,0x2c,0x45);
-DEFINE_GUID(CLSID_AMAudioStream,0x8496e040,0xaf4c,0x11d0,0x82,0x12,0x00,0xc0,0x4f,0xc3,0x2c,0x45);
-DEFINE_GUID(CLSID_AMDirectDrawStream,0x49c47ce4,0x9ba4,0x11d0,0x82,0x12,0x00,0xc0,0x4f,0xc3,0x2c,0x45);
-DEFINE_GUID(CLSID_AMMediaTypeStream,0xcf0f2f7c,0xf7bf,0x11d0,0x90,0xd,0x0,0xc0,0x4f,0xd9,0x18,0x9d);
-DEFINE_GUID(MSPID_PrimaryAudio,0xa35ff56b,0x9fda,0x11d0,0x8f,0xdf,0x0,0xc0,0x4f,0xd9,0x18,0x9d);
-DEFINE_GUID(MSPID_PrimaryVideo,0xa35ff56a,0x9fda,0x11d0,0x8f,0xdf,0x0,0xc0,0x4f,0xd9,0x18,0x9d);
-DEFINE_GUID(AM_INTERFACESETID_Standard,0x1a8766a0l,0x62ce,0x11cf,0xa5,0xd6,0x28,0xdb,0x04,0xc1,0x00,0x00);
-DEFINE_GUID(AM_KSCATEGORY_AUDIO,0x6994ad04,0x93ef,0x11d0,0xa3,0xcc,0x00,0xa0,0xc9,0x22,0x31,0x96);
-DEFINE_GUID(AM_KSCATEGORY_CAPTURE,0x65e8773d,0x8f56,0x11d0,0xa3,0xb9,0x00,0xa0,0xc9,0x22,0x31,0x96);
-DEFINE_GUID(AM_KSCATEGORY_CROSSBAR,0xa799a801,0xa46d,0x11d0,0xa1,0x8c,0x00,0xa0,0x24,0x01,0xdc,0xd4);
-DEFINE_GUID(AM_KSCATEGORY_DATACOMPRESSOR,0x1e84c900,0x7e70,0x11d0,0xa5,0xd6,0x28,0xdb,0x04,0xc1,0x00,0x00);
-DEFINE_GUID(AM_KSCATEGORY_RENDER,0x65e8773e,0x8f56,0x11d0,0xa3,0xb9,0x00,0xa0,0xc9,0x22,0x31,0x96);
-DEFINE_GUID(AM_KSCATEGORY_SPLITTER,0x0a4252a0,0x7e70,0x11d0,0xa5,0xd6,0x28,0xdb,0x04,0xc1,0x00,0x00);
-DEFINE_GUID(AM_KSCATEGORY_TVAUDIO,0xa799a802,0xa46d,0x11d0,0xa1,0x8c,0x00,0xa0,0x24,0x01,0xdc,0xd4);
-DEFINE_GUID(AM_KSCATEGORY_TVTUNER,0xa799a800,0xa46d,0x11d0,0xa1,0x8c,0x00,0xa0,0x24,0x01,0xdc,0xd4);
-DEFINE_GUID(AM_KSCATEGORY_VBICODEC,0x07dad660,0x22f1,0x11d1,0xa9,0xf4,0x00,0xc0,0x4f,0xbb,0xde,0x8f);
-DEFINE_GUID(AM_KSCATEGORY_VIDEO,0x6994ad05,0x93ef,0x11d0,0xa3,0xcc,0x00,0xa0,0xc9,0x22,0x31,0x96);
-DEFINE_GUID(AM_KSPROPSETID_AC3,0xbfabe720,0x6e1f,0x11d0,0xbc,0xf2,0x44,0x45,0x53,0x54,0x00,0x00);
-DEFINE_GUID(AM_KSPROPSETID_CopyProt,0x0e8a0a40,0x6aef,0x11d0,0x9e,0xd0,0x00,0xa0,0x24,0xca,0x19,0xb3);
-DEFINE_GUID(AM_KSPROPSETID_DVD_RateChange,0x3577eb09,0x9582,0x477f,0xb2,0x9c,0xb0,0xc4,0x52,0xa4,0xff,0x9a);
-DEFINE_GUID(AM_KSPROPSETID_DvdKaraoke,0xae4720ae,0xaa71,0x42d8,0xb8,0x2a,0xff,0xfd,0xf5,0x8b,0x76,0xfd);
-DEFINE_GUID(AM_KSPROPSETID_DvdSubPic,0xac390460,0x43af,0x11d0,0xbd,0x6a,0x00,0x35,0x05,0xc1,0x03,0xa9);
-DEFINE_GUID(AM_KSPROPSETID_FrameStep,0xc830acbd,0xab07,0x492f,0x88,0x52,0x45,0xb6,0x98,0x7c,0x29,0x79);
-DEFINE_GUID(AM_KSPROPSETID_TSRateChange,0xa503c5c0,0x1d1d,0x11d1,0xad,0x80,0x44,0x45,0x53,0x54,0x0,0x0);
-DEFINE_GUID(AMPROPSETID_Pin,0x9b00f101,0x1567,0x11d1,0xb3,0xf1,0x0,0xaa,0x0,0x37,0x61,0xc5);
-DEFINE_GUID(CLSID_ACMWrapper,0x6a08cf80,0x0e18,0x11cf,0xa2,0x4d,0x0,0x20,0xaf,0xd7,0x97,0x67);
-DEFINE_GUID(CLSID_ActiveMovieCategories,0xda4e3da0,0xd07d,0x11d0,0xbd,0x50,0x0,0xa0,0xc9,0x11,0xce,0x86);
-DEFINE_GUID(CLSID_AllocPresenter,0x99d54f63,0x1a69,0x41ae,0xaa,0x4d,0xc9,0x76,0xeb,0x3f,0x07,0x13);
-DEFINE_GUID(CLSID_AllocPresenterDDXclMode,0x4444ac9e,0x242e,0x471b,0xa3,0xc7,0x45,0xdc,0xd4,0x63,0x52,0xbc);
-DEFINE_GUID(CLSID_AMMultiMediaStream,0x49c47ce5,0x9ba4,0x11d0,0x82,0x12,0x00,0xc0,0x4f,0xc3,0x2c,0x45);
-DEFINE_GUID(CLSID_AMovie,0x5f2759c0,0x7685,0x11cf,0x8b,0x23,0x00,0x80,0x5f,0x6c,0xef,0x60);
-DEFINE_GUID(CLSID_AMTimeline,0x78530b75,0x61f9,0x11d2,0x8c,0xad,0x00,0xa0,0x24,0x58,0x09,0x02);
-DEFINE_GUID(CLSID_AMTimelineComp,0x74d2ec80,0x6233,0x11d2,0x8c,0xad,0x00,0xa0,0x24,0x58,0x09,0x02);
-DEFINE_GUID(CLSID_AMTimelineEffect,0x74d2ec82,0x6233,0x11d2,0x8c,0xad,0x00,0xa0,0x24,0x58,0x09,0x02);
-DEFINE_GUID(CLSID_AMTimelineGroup,0xf6d371e1,0xb8a6,0x11d2,0x80,0x23,0x00,0xc0,0xdf,0x10,0xd4,0x34);
-DEFINE_GUID(CLSID_AMTimelineObj,0x78530b78,0x61f9,0x11d2,0x8c,0xad,0x00,0xa0,0x24,0x58,0x09,0x02);
-DEFINE_GUID(CLSID_AMTimelineSrc,0x78530b7a,0x61f9,0x11d2,0x8c,0xad,0x00,0xa0,0x24,0x58,0x09,0x02);
-DEFINE_GUID(CLSID_AMTimelineTrack,0x8f6c3c50,0x897b,0x11d2,0x8c,0xfb,0x00,0xa0,0xc9,0x44,0x1e,0x20);
-DEFINE_GUID(CLSID_AMTimelineTrans,0x74d2ec81,0x6233,0x11d2,0x8c,0xad,0x00,0xa0,0x24,0x58,0x09,0x02);
-DEFINE_GUID(CLSID_AnalogRadioTuningSpace,0x8a674b4c,0x1f63,0x11d3,0xb6,0x4c,0x00,0xc0,0x4f,0x79,0x49,0x8e);
-DEFINE_GUID(CLSID_AnalogTVTuningSpace,0x8a674b4d,0x1f63,0x11d3,0xb6,0x4c,0x00,0xc0,0x4f,0x79,0x49,0x8e);
-DEFINE_GUID(CLSID_AnalogVideoDecoderPropertyPage,0x71f96466,0x78f3,0x11d0,0xa1,0x8c,0x0,0xa0,0xc9,0x11,0x89,0x56);
-DEFINE_GUID(CLSID_AsyncReader,0xe436ebb5,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70);
-DEFINE_GUID(CLSID_ATSCComponentType,0xa8dcf3d5,0x0780,0x4ef4,0x8a,0x83,0x2c,0xff,0xaa,0xcb,0x8a,0xce);
-DEFINE_GUID(CLSID_ATSCChannelTuneRequest,0x0369b4e6,0x45b6,0x11d3,0xb6,0x50,0x00,0xc0,0x4f,0x79,0x49,0x8e);
-DEFINE_GUID(CLSID_ATSCLocator,0x8872ff1b,0x98fa,0x4d7a,0x8d,0x93,0xc9,0xf1,0x05,0x5f,0x85,0xbb);
-DEFINE_GUID(CLSID_ATSCNetworkPropertyPage,0xe3444d16,0x5ac4,0x4386,0x88,0xdf,0x13,0xfd,0x23,0x0e,0x1d,0xda);
-DEFINE_GUID(CLSID_ATSCNetworkProvider,0x0dad2fdd,0x5fd7,0x11d3,0x8f,0x50,0x00,0xc0,0x4f,0x79,0x71,0xe2);
-DEFINE_GUID(CLSID_ATSCTuningSpace,0xa2e30750,0x6c3d,0x11d3,0xb6,0x53,0x00,0xc0,0x4f,0x79,0x49,0x8e);
-DEFINE_GUID(CLSID_AudioCompressorCategory,0x33d9a761,0x90c8,0x11d0,0xbd,0x43,0x00,0xa0,0xc9,0x11,0xce,0x86);
-DEFINE_GUID(CLSID_AudioInputDeviceCategory,0x33d9a762,0x90c8,0x11d0,0xbd,0x43,0x00,0xa0,0xc9,0x11,0xce,0x86);
-DEFINE_GUID(CLSID_AudioInputMixerProperties,0x2ca8ca52,0x3c3f,0x11d2,0xb7,0x3d,0x00,0xc0,0x4f,0xb6,0xbd,0x3d);
-DEFINE_GUID(CLSID_AudioProperties,0x05589faf,0xc356,0x11ce,0xbf,0x01,0x00,0xaa,0x00,0x55,0x59,0x5a);
-DEFINE_GUID(CLSID_AudioRecord,0xe30629d2,0x27e5,0x11ce,0x87,0x5d,0x00,0x60,0x8c,0xb7,0x80,0x66);
-DEFINE_GUID(CLSID_AudioRender,0xe30629d1,0x27e5,0x11ce,0x87,0x5d,0x00,0x60,0x8c,0xb7,0x80,0x66);
-DEFINE_GUID(CLSID_AudioRendererAdvancedProperties,0x37e92a92,0xd9aa,0x11d2,0xbf,0x84,0x8e,0xf2,0xb1,0x55,0x5a,0xed);
-DEFINE_GUID(CLSID_AudioRendererCategory,0xe0f158e1,0xcb04,0x11d0,0xbd,0x4e,0x00,0xa0,0xc9,0x11,0xce,0x86);
-DEFINE_GUID(CLSID_AudMixer,0x036a9790,0xc153,0x11d2,0x9e,0xf7,0x00,0x60,0x08,0x03,0x9e,0x37);
-DEFINE_GUID(CLSID_AuxInTuningSpace,0xf9769a06,0x7aca,0x4e39,0x9c,0xfb,0x97,0xbb,0x35,0xf0,0xe7,0x7e);
-DEFINE_GUID(CLSID_AVICo,0xd76e2820,0x1563,0x11cf,0xac,0x98,0x00,0xaa,0x00,0x4c,0x0f,0xa9);
-DEFINE_GUID(CLSID_AVIDec,0xcf49d4e0,0x1115,0x11ce,0xb0,0x3a,0x00,0x20,0xaf,0x0b,0xa7,0x70);
-DEFINE_GUID(CLSID_AviDest,0xe2510970,0xf137,0x11ce,0x8b,0x67,0x00,0xaa,0x00,0xa3,0xf1,0xa6);
-DEFINE_GUID(CLSID_AVIDoc,0xd3588ab0,0x0781,0x11ce,0xb0,0x3a,0x00,0x20,0xaf,0x0b,0xa7,0x70);
-DEFINE_GUID(CLSID_AVIDraw,0xa888df60,0x1e90,0x11cf,0xac,0x98,0x00,0xaa,0x00,0x4c,0x0f,0xa9);
-DEFINE_GUID(CLSID_AVIMIDIRender,0x07b65360,0xc445,0x11ce,0xaf,0xde,0x00,0xaa,0x00,0x6c,0x14,0xf4);
-DEFINE_GUID(CLSID_AviMuxProptyPage,0xc647b5c0,0x157c,0x11d0,0xbd,0x23,0x00,0xa0,0xc9,0x11,0xce,0x86);
-DEFINE_GUID(CLSID_AviMuxProptyPage1,0xc647b5c0,0x157c,0x11d0,0xbd,0x23,0x00,0xa0,0xc9,0x11,0xce,0x86);
-DEFINE_GUID(CLSID_AviReader,0x1b544c21,0xfd0b,0x11ce,0x8c,0x63,0x00,0xaa,0x00,0x44,0xb5,0x1e);
-DEFINE_GUID(CLSID_AviSplitter,0x1b544c20,0xfd0b,0x11ce,0x8c,0x63,0x00,0xaa,0x00,0x44,0xb5,0x1e);
-DEFINE_GUID(CLSID_BroadcastEventService,0x0b3ffb92,0x0919,0x4934,0x9d,0x5b,0x61,0x9c,0x71,0x9d,0x02,0x02);
-DEFINE_GUID(CLSID_CAcmCoClassManager,0x33d9a761,0x90c8,0x11d0,0xbd,0x43,0x00,0xa0,0xc9,0x11,0xce,0x86);
-DEFINE_GUID(CLSID_CADefaultDlg,0x11166990,0xdf8a,0x463a,0xb6,0x20,0x7b,0xec,0x23,0x54,0x20,0x10);
-DEFINE_GUID(CLSID_CADenials,0x11166540,0xdf8a,0x463a,0xb6,0x20,0x7b,0xec,0x23,0x54,0x20,0x10);
-DEFINE_GUID(CLSID_CAManager,0x11166100,0xdf8a,0x463a,0xb6,0x20,0x7b,0xec,0x23,0x54,0x20,0x10);
-DEFINE_GUID(CLSID_CAManagerProxy,0x11166101,0xdf8a,0x463a,0xb6,0x20,0x7b,0xec,0x23,0x54,0x20,0x10);
-DEFINE_GUID(CLSID_CameraControlPropertyPage,0x71f96465,0x78f3,0x11d0,0xa1,0x8c,0x00,0xa0,0xc9,0x11,0x89,0x56);
-DEFINE_GUID(CLSID_CAOffer,0x11166550,0xdf8a,0x463a,0xb6,0x20,0x7b,0xec,0x23,0x54,0x20,0x10);
-DEFINE_GUID(CLSID_CaptureGraphBuilder,0xbf87b6e0,0x8c27,0x11d0,0xb3,0xf0,0x00,0xaa,0x00,0x37,0x61,0xc5);
-DEFINE_GUID(CLSID_CaptureGraphBuilder2,0xbf87b6e1,0x8c27,0x11d0,0xb3,0xf0,0x00,0xaa,0x00,0x37,0x61,0xc5);
-DEFINE_GUID(CLSID_CaptureProperties,0x1b544c22,0xfd0b,0x11ce,0x8c,0x63,0x00,0xaa,0x00,0x44,0xb5,0x1f);
-DEFINE_GUID(CLSID_CAResDenialTree,0x11166998,0xdf8a,0x463a,0xb6,0x20,0x7b,0xec,0x23,0x54,0x20,0x10);
-DEFINE_GUID(CLSID_CDeviceMoniker,0x4315d437,0x5b8c,0x11d0,0xbd,0x3b,0x00,0xa0,0xc9,0x11,0xce,0x86);
-DEFINE_GUID(CLSID_CIcmCoClassManager,0x33d9a760,0x90c8,0x11d0,0xbd,0x43,0x00,0xa0,0xc9,0x11,0xce,0x86);
-DEFINE_GUID(CLSID_CMidiOutClassManager,0x4efe2452,0x168a,0x11d1,0xbc,0x76,0x00,0xc0,0x4f,0xb9,0x45,0x3b);
-DEFINE_GUID(CLSID_CMpegAudioCodec,0x4a2286e0,0x7bef,0x11ce,0x9b,0xd9,0x00,0x00,0xe2,0x02,0x59,0x9c);
-DEFINE_GUID(CLSID_CMpegVideoCodec,0xfeb50740,0x7bef,0x11ce,0x9b,0xd9,0x00,0x00,0xe2,0x02,0x59,0x9c);
-DEFINE_GUID(CLSID_ColorSource,0x0cfdd070,0x581a,0x11d2,0x9e,0xe6,0x00,0x60,0x08,0x03,0x9e,0x37);
-DEFINE_GUID(CLSID_Colour,0x1643e180,0x90f5,0x11ce,0x97,0xd5,0x00,0xaa,0x00,0x55,0x59,0x5a);
-DEFINE_GUID(CLSID_Component,0x59dc47a8,0x116c,0x11d3,0x9d,0x8e,0x00,0xc0,0x4f,0x72,0xd9,0x80);
-DEFINE_GUID(CLSID_Components,0x809b6661,0x94c4,0x49e6,0xb6,0xec,0x3f,0x0f,0x86,0x22,0x15,0xaa);
-DEFINE_GUID(CLSID_ComponentType,0x823535a0,0x0318,0x11d3,0x9d,0x8e,0x00,0xc0,0x4f,0x72,0xd9,0x80);
-DEFINE_GUID(CLSID_ComponentTypes,0xa1a2b1c4,0x0e3a,0x11d3,0x9d,0x8e,0x00,0xc0,0x4f,0x72,0xd9,0x80);
-DEFINE_GUID(CLSID_CQzFilterClassManager,0x083863f1,0x70de,0x11d0,0xbd,0x40,0x00,0xa0,0xc9,0x11,0xce,0x86);
-DEFINE_GUID(CLSID_CreatePropBagOnRegKey,0x8a674b49,0x1f63,0x11d3,0xb6,0x4c,0x00,0xc0,0x4f,0x79,0x49,0x8e);
-DEFINE_GUID(CLSID_CrossbarFilterPropertyPage,0x71f96461,0x78f3,0x11d0,0xa1,0x8c,0x00,0xa0,0xc9,0x11,0x89,0x56);
-DEFINE_GUID(CLSID_CVidCapClassManager,0x860bb310,0x5d01,0x11d0,0xbd,0x3b,0x00,0xa0,0xc9,0x11,0xce,0x86);
-DEFINE_GUID(CLSID_CWaveinClassManager,0x33d9a762,0x90c8,0x11d0,0xbd,0x43,0x00,0xa0,0xc9,0x11,0xce,0x86);
-DEFINE_GUID(CLSID_CWaveOutClassManager,0xe0f158e1,0xcb04,0x11d0,0xbd,0x4e,0x00,0xa0,0xc9,0x11,0xce,0x86);
-DEFINE_GUID(CLSID_DeviceControlCategory,0xcc7bfb46,0xf175,0x11d1,0xa3,0x92,0x00,0xe0,0x29,0x1f,0x39,0x59);
-DEFINE_GUID(CLSID_DirectDraw,0xd7b70ee0,0x4340,0x11cf,0xb0,0x63,0x00,0x20,0xaf,0xc2,0xcd,0x35);
-DEFINE_GUID(CLSID_DirectDrawClipper,0x593817a0,0x7db3,0x11cf,0xa2,0xde,0x00,0xaa,0x00,0xb9,0x33,0x56);
-DEFINE_GUID(CLSID_DirectDrawProperties,0x944d4c00,0xdd52,0x11ce,0xbf,0x0e,0x00,0xaa,0x00,0x55,0x59,0x5a);
-DEFINE_GUID(CLSID_Dither,0x1da08500,0x9edc,0x11cf,0xbc,0x10,0x00,0xaa,0x00,0xac,0x74,0xf6);
-DEFINE_GUID(CLSID_DShowTVEFilter,0x05500280,0xfaa5,0x4df9,0x82,0x46,0xbf,0xc2,0x3a,0xc5,0xce,0xa8);
-DEFINE_GUID(CLSID_DSoundRender,0x79376820,0x07d0,0x11cf,0xa2,0x4d,0x00,0x20,0xaf,0xd7,0x97,0x67);
-DEFINE_GUID(CLSID_DTFilter,0xc4c4c4f2,0x49,0x4e2b,0x98,0xfb,0x95,0x37,0xf6,0xce,0x51,0x6d);
-DEFINE_GUID(CLSID_DVBCLocator,0xc531d9fd,0x9685,0x4028,0x8b,0x68,0x6e,0x12,0x32,0x07,0x9f,0x1e);
-DEFINE_GUID(CLSID_DVBCNetworkProvider,0xdc0c0fe7,0x485,0x4266,0xb9,0x3f,0x68,0xfb,0xf8,0xe,0xd8,0x34);
-DEFINE_GUID(CLSID_DVBSLocator,0x1df7d126,0x4050,0x47f0,0xa7,0xcf,0x4c,0x4c,0xa9,0x24,0x13,0x33);
-DEFINE_GUID(CLSID_DVBSNetworkProvider,0xfa4b375a,0x45b4,0x4d45,0x84,0x40,0x26,0x39,0x57,0xb1,0x16,0x23);
-DEFINE_GUID(CLSID_DVBSTuningSpace,0xb64016f3,0xc9a2,0x4066,0x96,0xf0,0xbd,0x95,0x63,0x31,0x47,0x26);
-DEFINE_GUID(CLSID_DVBTLocator,0x9cd64701,0xbdf3,0x4d14,0x8e,0x03,0xf1,0x29,0x83,0xd8,0x66,0x64);
-DEFINE_GUID(CLSID_DVBTNetworkProvider,0x216c62df,0x6d7f,0x4e9a,0x85,0x71,0x5,0xf1,0x4e,0xdb,0x76,0x6a);
-DEFINE_GUID(CLSID_DVBTuneRequest,0x15d6504a,0x5494,0x499c,0x88,0x6c,0x97,0x3c,0x9e,0x53,0xb9,0xf1);
-DEFINE_GUID(CLSID_DVBTuningSpace,0xc6b14b32,0x76aa,0x4a86,0xa7,0xac,0x5c,0x79,0xaa,0xf5,0x8d,0xa7);
-DEFINE_GUID(CLSID_DVDecPropertiesPage,0x101193c0,0x0bfe,0x11d0,0xaf,0x91,0x00,0xaa,0x00,0xb6,0x7a,0x42);
-DEFINE_GUID(CLSID_DvdGraphBuilder,0xfcc152b7,0xf372,0x11d0,0x8e,0x00,0x00,0xc0,0x4f,0xd7,0xc0,0x8b);
-DEFINE_GUID(CLSID_DVDHWDecodersCategory,0x2721ae20,0x7e70,0x11d0,0xa5,0xd6,0x28,0xdb,0x04,0xc1,0x00,0x00);
-DEFINE_GUID(CLSID_DVDNavigator,0x9b8c4620,0x2c1a,0x11d0,0x84,0x93,0x00,0xa0,0x24,0x38,0xad,0x48);
-DEFINE_GUID(CLSID_DVDState,0xf963c5cf,0xa659,0x4a93,0x96,0x38,0xca,0xf3,0xcd,0x27,0x7d,0x13);
-DEFINE_GUID(CLSID_DVEncPropertiesPage,0x4150f050,0xbb6f,0x11d0,0xaf,0xb9,0x00,0xaa,0x00,0xb6,0x7a,0x42);
-DEFINE_GUID(CLSID_DVMux,0x129d7e40,0xc10d,0x11d0,0xaf,0xb9,0x00,0xaa,0x00,0xb6,0x7a,0x42);
-DEFINE_GUID(CLSID_DVMuxPropertyPage,0x4db880e0,0xc10d,0x11d0,0xaf,0xb9,0x00,0xaa,0x00,0xb6,0x7a,0x42);
-DEFINE_GUID(CLSID_DVSplitter,0x4eb31670,0x9fc6,0x11cf,0xaf,0x6e,0x00,0xaa,0x00,0xb6,0x7a,0x42);
-DEFINE_GUID(CLSID_DVVideoCodec,0xb1b77c00,0xc3e4,0x11cf,0xaf,0x79,0x00,0xaa,0x00,0xb6,0x7a,0x42);
-DEFINE_GUID(CLSID_DVVideoEnc,0x13aa3650,0xbb6f,0x11d0,0xaf,0xb9,0x00,0xaa,0x00,0xb6,0x7a,0x42);
-DEFINE_GUID(CLSID_DxtAlphaSetter,0x506d89ae,0x909a,0x44f7,0x94,0x44,0xab,0xd5,0x75,0x89,0x6e,0x35);
-DEFINE_GUID(CLSID_DxtCompositor,0xbb44391d,0x6abd,0x422f,0x9e,0x2e,0x38,0x5c,0x9d,0xff,0x51,0xfc);
-DEFINE_GUID(CLSID_DxtJpeg,0xde75d012,0x7a65,0x11d2,0x8c,0xea,0x00,0xa0,0xc9,0x44,0x1e,0x20);
-DEFINE_GUID(CLSID_DxtKey,0xc5b19592,0x145e,0x11d3,0x9f,0x04,0x00,0x60,0x08,0x03,0x9e,0x37);
-DEFINE_GUID(CLSID_ETFilter,0xc4c4c4f1,0x49,0x4e2b,0x98,0xfb,0x95,0x37,0xf6,0xce,0x51,0x6d);
-DEFINE_GUID(CLSID_EvalRat,0xc5c5c5f1,0x3abc,0x11d6,0xb2,0x5b,0,0xc0,0x4f,0xa0,0xc0,0x26);
-DEFINE_GUID(CLSID_FGControl,0xe436ebb4,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70);
-DEFINE_GUID(CLSID_FileSource,0x701722e0,0x8ae3,0x11ce,0xa8,0x5c,0x00,0xaa,0x00,0x2f,0xea,0xb5);
-DEFINE_GUID(CLSID_FileWriter,0x8596e5f0,0x0da5,0x11d0,0xbd,0x21,0x00,0xa0,0xc9,0x11,0xce,0x86);
-DEFINE_GUID(CLSID_FilgraphManager,0xe436ebb3,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70);
-DEFINE_GUID(CLSID_FilterGraph,0xe436ebb3,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70);
-DEFINE_GUID(CLSID_FilterGraphNoThread,0xe436ebb8,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70);
-DEFINE_GUID(CLSID_FilterMapper,0xe436ebb2,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70);
-DEFINE_GUID(CLSID_FilterMapper2,0xcda42200,0xbd88,0x11d0,0xbd,0x4e,0x00,0xa0,0xc9,0x11,0xce,0x86);
-DEFINE_GUID(CLSID_ChannelTuneRequest,0x0369b4e5,0x45b6,0x11d3,0xb6,0x50,0x00,0xc0,0x4f,0x79,0x49,0x8e);
-DEFINE_GUID(CLSID_ICodecAPIProxy,0x7ff0997a,0x1999,0x4286,0xa7,0x3c,0x62,0x2b,0x88,0x14,0xe7,0xeb);
-DEFINE_GUID(CLSID_InfTee,0xf8388a40,0xd5bb,0x11d0,0xbe,0x5a,0x00,0x80,0xc7,0x06,0x56,0x8e);
-DEFINE_GUID(CLSID_IVideoEncoderCodecAPIProxy,0xb05dabd9,0x56e5,0x4fdc,0xaf,0xa4,0x8a,0x47,0xe9,0x1f,0x1c,0x9c);
-DEFINE_GUID(CLSID_IVideoEncoderProxy,0xb43c4eec,0x8c32,0x4791,0x91,0x2,0x50,0x8a,0xda,0x5e,0xe8,0xe7);
-DEFINE_GUID(CLSID_LanguageComponentType,0x1be49f30,0x0e1b,0x11d3,0x9d,0x8e,0x00,0xc0,0x4f,0x72,0xd9,0x80);
-DEFINE_GUID(CLSID_LegacyAmFilterCategory,0x083863f1,0x70de,0x11d0,0xbd,0x40,0x00,0xa0,0xc9,0x11,0xce,0x86);
-DEFINE_GUID(CLSID_Line21Decoder,0x6e8d4a20,0x310c,0x11d0,0xb7,0x9a,0x00,0xaa,0x00,0x37,0x67,0xa7);
-DEFINE_GUID(CLSID_Line21Decoder2,0xe4206432,0x01a1,0x4bee,0xb3,0xe1,0x37,0x02,0xc8,0xed,0xc5,0x74);
-DEFINE_GUID(CLSID_Locator,0x0888c883,0xac4f,0x4943,0xb5,0x16,0x2c,0x38,0xd9,0xb3,0x45,0x62);
-DEFINE_GUID(CLSID_MediaDet,0x65bd0711,0x24d2,0x4ff7,0x93,0x24,0xed,0x2e,0x5d,0x3a,0xba,0xfa);
-DEFINE_GUID(CLSID_MediaEncoderCategory,0x7d22e920,0x5ca9,0x4787,0x8c,0x2b,0xa6,0x77,0x9b,0xd1,0x17,0x81);
-DEFINE_GUID(CLSID_MediaLocator,0xcc1101f2,0x79dc,0x11d2,0x8c,0xe6,0x00,0xa0,0xc9,0x44,0x1e,0x20);
-DEFINE_GUID(CLSID_MediaMultiplexerCategory,0x236c9559,0xadce,0x4736,0xbf,0x72,0xba,0xb3,0x4e,0x39,0x21,0x96);
-DEFINE_GUID(CLSID_MediaPropertyBag,0xcdbd8d00,0xc193,0x11d0,0xbd,0x4e,0x00,0xa0,0xc9,0x11,0xce,0x86);
-DEFINE_GUID(CLSID_MemoryAllocator,0x1e651cc0,0xb199,0x11d0,0x82,0x12,0x00,0xc0,0x4f,0xc3,0x2c,0x45);
-DEFINE_GUID(CLSID_MidiRendererCategory,0x4efe2452,0x168a,0x11d1,0xbc,0x76,0x00,0xc0,0x4f,0xb9,0x45,0x3b);
-DEFINE_GUID(CLSID_MjpegDec,0x301056d0,0x6dff,0x11d2,0x9e,0xeb,0x00,0x60,0x08,0x03,0x9e,0x37);
-DEFINE_GUID(CLSID_MJPGEnc,0xb80ab0a0,0x7416,0x11d2,0x9e,0xeb,0x00,0x60,0x08,0x03,0x9e,0x37);
-DEFINE_GUID(CLSID_MMSPLITTER,0x3ae86b20,0x7be8,0x11d1,0xab,0xe6,0x00,0xa0,0xc9,0x05,0xf3,0x75);
-DEFINE_GUID(CLSID_ModexProperties,0x0618aa30,0x6bc4,0x11cf,0xbf,0x36,0x00,0xaa,0x00,0x55,0x59,0x5a);
-DEFINE_GUID(CLSID_ModexRenderer,0x07167665,0x5011,0x11cf,0xbf,0x33,0x00,0xaa,0x00,0x55,0x59,0x5a);
-DEFINE_GUID(CLSID_MOVReader,0x44584800,0xf8ee,0x11ce,0xb2,0xd4,0x00,0xdd,0x01,0x10,0x1b,0x85);
-DEFINE_GUID(CLSID_MPEG1Doc,0xe4bbd160,0x4269,0x11ce,0x83,0x8d,0x00,0xaa,0x00,0x55,0x59,0x5a);
-DEFINE_GUID(CLSID_MPEG1PacketPlayer,0x26c25940,0x4ca9,0x11ce,0xa8,0x28,0x00,0xaa,0x00,0x2f,0xea,0xb5);
-DEFINE_GUID(CLSID_MPEG1Splitter,0x336475d0,0x942a,0x11ce,0xa8,0x70,0x00,0xaa,0x00,0x2f,0xea,0xb5);
-DEFINE_GUID(CLSID_MPEG2Component,0x055cb2d7,0x2969,0x45cd,0x91,0x4b,0x76,0x89,0x07,0x22,0xf1,0x12);
-DEFINE_GUID(CLSID_MPEG2ComponentType,0x418008f3,0xcf67,0x4668,0x96,0x28,0x10,0xdc,0x52,0xbe,0x1d,0x08);
-DEFINE_GUID(CLSID_MPEG2Demultiplexer,0xafb6c280,0x2c41,0x11d3,0x8a,0x60,0x00,0x00,0xf8,0x1e,0x0e,0x4a);
-DEFINE_GUID(CLSID_MPEG2TuneRequest,0x0955ac62,0xbf2e,0x4cba,0xa2,0xb9,0xa6,0x3f,0x77,0x2d,0x46,0xcf);
-DEFINE_GUID(CLSID_MPEG2TuneRequestFactory,0x2c63e4eb,0x4cea,0x41b8,0x91,0x9c,0xe9,0x47,0xea,0x19,0xa7,0x7c);
-DEFINE_GUID(CLSID_Mpeg2VideoStreamAnalyzer,0x6cfad761,0x735d,0x4aa5,0x8a,0xfc,0xaf,0x91,0xa7,0xd6,0x1e,0xba);
-DEFINE_GUID(CLSID_MSEventBinder,0x577faa18,0x4518,0x445e,0x8f,0x70,0x14,0x73,0xf8,0xcf,0x4b,0xa4);
-DEFINE_GUID(CLSID_MSVidAnalogCaptureToDataServices,0xc5702cd6,0x9b79,0x11d3,0xb6,0x54,0x00,0xc0,0x4f,0x79,0x49,0x8e);
-DEFINE_GUID(CLSID_MSVidAnalogCaptureToOverlayMixer,0xe18af75a,0x08af,0x11d3,0xb6,0x4a,0x00,0xc0,0x4f,0x79,0x49,0x8e);
-DEFINE_GUID(CLSID_MSVidAnalogCaptureToStreamBufferSink,0x9f50e8b1,0x9530,0x4ddc,0x82,0x5e,0x1a,0xf8,0x1d,0x47,0xae,0xd6);
-DEFINE_GUID(CLSID_MSVidAnalogCaptureToXDS,0x3540d440,0x5b1d,0x49cb,0x82,0x1a,0xe8,0x4b,0x8c,0xf0,0x65,0xa7);
-DEFINE_GUID(CLSID_MSVidAnalogTunerDevice,0x1c15d484,0x911d,0x11d2,0xb6,0x32,0x00,0xc0,0x4f,0x79,0x49,0x8e);
-DEFINE_GUID(CLSID_MSVidAnalogTVToEncoder,0x28953661,0x231,0x41db,0x89,0x86,0x21,0xff,0x43,0x88,0xee,0x9b);
-DEFINE_GUID(CLSID_MSVidAudioRenderer,0x37b03544,0xa4c8,0x11d2,0xb6,0x34,0x00,0xc0,0x4f,0x79,0x49,0x8e);
-DEFINE_GUID(CLSID_MSVidAudioRendererDevices,0xc5702ccf,0x9b79,0x11d3,0xb6,0x54,0x00,0xc0,0x4f,0x79,0x49,0x8e);
-DEFINE_GUID(CLSID_MSVidBDATunerDevice,0xa2e3074e,0x6c3d,0x11d3,0xb6,0x53,0x00,0xc0,0x4f,0x79,0x49,0x8e);
-DEFINE_GUID(CLSID_MSVidCAGSeg,0x1600f101,0x6666,0x4f66,0xb1,0xe2,0xbf,0x3c,0x9f,0xbb,0x9b,0xa6);
-DEFINE_GUID(CLSID_MSVidClosedCaptioning,0x7f9cb14d,0x48e4,0x43b6,0x93,0x46,0x1a,0xeb,0xc3,0x9c,0x64,0xd3);
-DEFINE_GUID(CLSID_MSVidCtl,0xb0edf163,0x910a,0x11d2,0xb6,0x32,0x00,0xc0,0x4f,0x79,0x49,0x8e);
-DEFINE_GUID(CLSID_MSVidDataServices,0x334125c0,0x77e5,0x11d3,0xb6,0x53,0x00,0xc0,0x4f,0x79,0x49,0x8e);
-DEFINE_GUID(CLSID_MSVidDataServicesToStreamBufferSink,0x38f03426,0xe83b,0x4e68,0xb6,0x5b,0xdc,0xae,0x73,0x30,0x48,0x38);
-DEFINE_GUID(CLSID_MSVidDataServicesToXDS,0x429ec6e,0x1144,0x4bed,0xb8,0x8b,0x2f,0xb9,0x89,0x9a,0x4a,0x3d);
-DEFINE_GUID(CLSID_MSVidDevice,0x6e40476f,0x9c49,0x4c3e,0x8b,0xb9,0x85,0x87,0x95,0x8e,0xff,0x74);
-DEFINE_GUID(CLSID_MSVidDigitalCaptureToStreamBufferSink,0xabe40035,0x27c3,0x4a2f,0x81,0x53,0x66,0x24,0x47,0x16,0x8,0xaf);
-DEFINE_GUID(CLSID_MSVidEncoder,0xbb530c63,0xd9df,0x4b49,0x94,0x39,0x63,0x45,0x39,0x62,0xe5,0x98);
-DEFINE_GUID(CLSID_MSVidEncoderToStreamBufferSink,0xa0b9b497,0xafbc,0x45ad,0xa8,0xa6,0x9b,0x7,0x7c,0x40,0xd4,0xf2);
-DEFINE_GUID(CLSID_MSVidFeature,0x7748530b,0xc08a,0x47ea,0xb2,0x4c,0xbe,0x86,0x95,0xff,0x40,0x5f);
-DEFINE_GUID(CLSID_MSVidFeatures,0xc5702cd0,0x9b79,0x11d3,0xb6,0x54,0x00,0xc0,0x4f,0x79,0x49,0x8e);
-DEFINE_GUID(CLSID_MSVidFilePlaybackDevice,0x37b0353c,0xa4c8,0x11d2,0xb6,0x34,0x00,0xc0,0x4f,0x79,0x49,0x8e);
-DEFINE_GUID(CLSID_MSVidFilePlaybackToAudioRenderer,0xcc23f537,0x18d4,0x4ece,0x93,0xbd,0x20,0x7a,0x84,0x72,0x69,0x79);
-DEFINE_GUID(CLSID_MSVidFilePlaybackToVideoRenderer,0xb401c5eb,0x8457,0x427f,0x84,0xea,0xa4,0xd2,0x36,0x33,0x64,0xb0);
-DEFINE_GUID(CLSID_MSVidGenericComposite,0x2764bce5,0xcc39,0x11d2,0xb6,0x39,0x00,0xc0,0x4f,0x79,0x49,0x8e);
-DEFINE_GUID(CLSID_MSVidInputDevice,0xac1972f2,0x138a,0x4ca3,0x90,0xda,0xae,0x51,0x11,0x2e,0xda,0x28);
-DEFINE_GUID(CLSID_MSVidInputDevices,0xc5702ccc,0x9b79,0x11d3,0xb6,0x54,0x00,0xc0,0x4f,0x79,0x49,0x8e);
-DEFINE_GUID(CLSID_MSVidMPEG2DecoderToClosedCaptioning,0x6ad28ee1,0x5002,0x4e71,0xaa,0xf7,0xbd,0x07,0x79,0x07,0xb1,0xa4);
-DEFINE_GUID(CLSID_MSVidOutput,0x87eb890d,0x03ad,0x4e9d,0x98,0x66,0x37,0x6e,0x5e,0xc5,0x72,0xed);
-DEFINE_GUID(CLSID_MSVidOutputDevices,0xc5702ccd,0x9b79,0x11d3,0xb6,0x54,0x00,0xc0,0x4f,0x79,0x49,0x8e);
-DEFINE_GUID(CLSID_MSVidRect,0xcb4276e6,0x7d5f,0x4cf1,0x97,0x27,0x62,0x9c,0x5e,0x6d,0xb6,0xae);
-DEFINE_GUID(CLSID_MSVidRenderFactory,0x11973c25,0x3529,0x40e4,0x9a,0xb1,0xdd,0xc1,0x64,0xcb,0xef,0x49);
-DEFINE_GUID(CLSID_MSVidSBESourceToCC,0x9193a8f9,0xcba,0x400e,0xaa,0x97,0xeb,0x47,0x9,0x16,0x45,0x76);
-DEFINE_GUID(CLSID_MSVidStreamBufferRecordingControl,0xcaafdd83,0xcefc,0x4e3d,0xba,0x3,0x17,0x5f,0x17,0xa2,0x4f,0x91);
-DEFINE_GUID(CLSID_MSVidStreamBufferSink,0x9e77aac4,0x35e5,0x42a1,0xbd,0xc2,0x8f,0x3f,0xf3,0x99,0x84,0x7c);
-DEFINE_GUID(CLSID_MSVidStreamBufferSource,0xad8e510d,0x217f,0x409b,0x80,0x76,0x29,0xc5,0xe7,0x3b,0x98,0xe8);
-DEFINE_GUID(CLSID_MSVidStreamBufferSourceToVideoRenderer,0x3c4708dc,0xb181,0x46a8,0x8d,0xa8,0x4a,0xb0,0x37,0x17,0x58,0xcd);
-DEFINE_GUID(CLSID_MSVidTVEGSeg,0x1600f001,0x6666,0x4f66,0xb1,0xe2,0xbf,0x3c,0x9f,0xbb,0x9b,0xa6);
-DEFINE_GUID(CLSID_MSVidVideoInputDevice,0x95f4820b,0xbb3a,0x4e2d,0xbc,0x64,0x5b,0x81,0x7b,0xc2,0xc3,0x0e);
-DEFINE_GUID(CLSID_MSVidVideoPlaybackDevice,0x1990d634,0x1a5e,0x4071,0xa3,0x4a,0x53,0xaa,0xff,0xce,0x9f,0x36);
-DEFINE_GUID(CLSID_MSVidVideoRenderer,0x37b03543,0xa4c8,0x11d2,0xb6,0x34,0x00,0xc0,0x4f,0x79,0x49,0x8e);
-DEFINE_GUID(CLSID_MSVidVideoRendererDevices,0xc5702cce,0x9b79,0x11d3,0xb6,0x54,0x00,0xc0,0x4f,0x79,0x49,0x8e);
-DEFINE_GUID(CLSID_MSVidWebDVD,0x011b3619,0xfe63,0x4814,0x8a,0x84,0x15,0xa1,0x94,0xce,0x9c,0xe3);
-DEFINE_GUID(CLSID_MSVidWebDVDAdm,0xfa7c375b,0x66a7,0x4280,0x87,0x9d,0xfd,0x45,0x9c,0x84,0xbb,0x02);
-DEFINE_GUID(CLSID_MSVidWebDVDToAudioRenderer,0x8d04238e,0x9fd1,0x41c6,0x8d,0xe3,0x9e,0x1e,0xe3,0x9,0xe9,0x35);
-DEFINE_GUID(CLSID_MSVidWebDVDToVideoRenderer,0x267db0b3,0x55e3,0x4902,0x94,0x9b,0xdf,0x8f,0x5c,0xec,0x01,0x91);
-DEFINE_GUID(CLSID_MSVidXDS,0x149eedf,0xd08f,0x4142,0x8d,0x73,0xd2,0x39,0x3,0xd2,0x1e,0x90);
-DEFINE_GUID(CLSID_NullRenderer,0xc1f400a4,0x3f08,0x11d3,0x9f,0x0b,0x00,0x60,0x08,0x03,0x9e,0x37);
-DEFINE_GUID(CLSID_OverlayMixer,0xcd8743a1,0x3736,0x11d0,0x9e,0x69,0x00,0xc0,0x4f,0xd7,0xc1,0x5b);
-DEFINE_GUID(CLSID_PerformanceProperties,0x59ce6880,0xacf8,0x11cf,0xb5,0x6e,0x00,0x80,0xc7,0xc4,0xb6,0x8a);
-DEFINE_GUID(CLSID_PersistMonikerPID,0xe436ebb7,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70);
-DEFINE_GUID(CLSID_PropertySetter,0xadf95821,0xded7,0x11d2,0xac,0xbe,0x00,0x80,0xc7,0x5e,0x24,0x6e);
-DEFINE_GUID(CLSID_ProtoFilterGraph,0xe436ebb0,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70);
-DEFINE_GUID(CLSID_QTDec,0xfdfe9681,0x74a3,0x11d0,0xaf,0xa7,0x00,0xaa,0x00,0xb6,0x7a,0x42);
-DEFINE_GUID(CLSID_QualityProperties,0x418afb70,0xf8b8,0x11ce,0xaa,0xc6,0x00,0x20,0xaf,0x0b,0x99,0xa3);
-DEFINE_GUID(CLSID_QuickTimeParser,0xd51bd5a0,0x7548,0x11cf,0xa5,0x20,0x00,0x80,0xc7,0x7e,0xf5,0x8a);
-DEFINE_GUID(CLSID_RenderEngine,0x64d8a8e0,0x80a2,0x11d2,0x8c,0xf3,0x00,0xa0,0xc9,0x44,0x1e,0x20);
-DEFINE_GUID(CLSID_SampleGrabber,0xc1f400a0,0x3f08,0x11d3,0x9f,0x0b,0x00,0x60,0x08,0x03,0x9e,0x37);
-DEFINE_GUID(CLSID_SeekingPassThru,0x060af76c,0x68dd,0x11d0,0x8f,0xc1,0x00,0xc0,0x4f,0xd9,0x18,0x9d);
-DEFINE_GUID(CLSID_SmartRenderEngine,0x498b0949,0xbbe9,0x4072,0x98,0xbe,0x6c,0xca,0xeb,0x79,0xdc,0x6f);
-DEFINE_GUID(CLSID_SmartTee,0xcc58e280,0x8aa1,0x11d1,0xb3,0xf1,0x00,0xaa,0x00,0x37,0x61,0xc5);
-DEFINE_GUID(CLSID_StreamBufferComposeRecording,0xd682c4ba,0xa90a,0x42fe,0xb9,0xe1,0x3,0x10,0x98,0x49,0xc4,0x23);
-DEFINE_GUID(CLSID_StreamBufferConfig,0xfa8a68b2,0xc864,0x4ba2,0xad,0x53,0xd3,0x87,0x6a,0x87,0x49,0x4b);
-DEFINE_GUID(CLSID_StreamBufferRecordingAttributes,0xccaa63ac,0x1057,0x4778,0xae,0x92,0x12,0x6,0xab,0x9a,0xce,0xe6);
-DEFINE_GUID(CLSID_StreamBufferSink,0x2db47ae5,0xcf39,0x43c2,0xb4,0xd6,0xc,0xd8,0xd9,0x9,0x46,0xf4);
-DEFINE_GUID(CLSID_StreamBufferSource,0xc9f5fe02,0xf851,0x4eb5,0x99,0xee,0xad,0x60,0x2a,0xf1,0xe6,0x19);
-DEFINE_GUID(CLSID_SystemClock,0xe436ebb1,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70);
-DEFINE_GUID(CLSID_SystemDeviceEnum,0x62be5d10,0x60eb,0x11d0,0xbd,0x3b,0x00,0xa0,0xc9,0x11,0xce,0x86);
-DEFINE_GUID(CLSID_SystemTuningSpaces,0xd02aac50,0x027e,0x11d3,0x9d,0x8e,0x00,0xc0,0x4f,0x72,0xd9,0x80);
-DEFINE_GUID(CLSID_TextRender,0xe30629d3,0x27e5,0x11ce,0x87,0x5d,0x00,0x60,0x8c,0xb7,0x80,0x66);
-DEFINE_GUID(CLSID_TIFLoad,0x14eb8748,0x1753,0x4393,0x95,0xae,0x4f,0x7e,0x7a,0x87,0xaa,0xd6);
-DEFINE_GUID(CLSID_TransmitCategory,0xcc7bfb41,0xf175,0x11d1,0xa3,0x92,0x00,0xe0,0x29,0x1f,0x39,0x59);
-DEFINE_GUID(CLSID_TuneRequest,0xb46e0d38,0xab35,0x4a06,0xa1,0x37,0x70,0x57,0x6b,0x01,0xb3,0x9f);
-DEFINE_GUID(CLSID_TuningSpace,0x5ffdc5e6,0xb83a,0x4b55,0xb6,0xe8,0xc6,0x9e,0x76,0x5f,0xe9,0xdb);
-DEFINE_GUID(CLSID_TVAudioFilterPropertyPage,0x71f96463,0x78f3,0x11d0,0xa1,0x8c,0x00,0xa0,0xc9,0x11,0x89,0x56);
-DEFINE_GUID(CLSID_TVEAttrMap,0x05500021,0xfaa5,0x4df9,0x82,0x46,0xbf,0xc2,0x3a,0xc5,0xce,0xa8);
-DEFINE_GUID(CLSID_TVEAttrTimeQ,0x05500022,0xfaa5,0x4df9,0x82,0x46,0xbf,0xc2,0x3a,0xc5,0xce,0xa8);
-DEFINE_GUID(CLSID_TVECBAnnc,0x05500041,0xfaa5,0x4df9,0x82,0x46,0xbf,0xc2,0x3a,0xc5,0xce,0xa8);
-DEFINE_GUID(CLSID_TVECBDummy,0x05500049,0xfaa5,0x4df9,0x82,0x46,0xbf,0xc2,0x3a,0xc5,0xce,0xa8);
-DEFINE_GUID(CLSID_TVECBFile,0x05500043,0xfaa5,0x4df9,0x82,0x46,0xbf,0xc2,0x3a,0xc5,0xce,0xa8);
-DEFINE_GUID(CLSID_TVECBTrig,0x05500042,0xfaa5,0x4df9,0x82,0x46,0xbf,0xc2,0x3a,0xc5,0xce,0xa8);
-DEFINE_GUID(CLSID_TVEEnhancement,0x05500004,0xfaa5,0x4df9,0x82,0x46,0xbf,0xc2,0x3a,0xc5,0xce,0xa8);
-DEFINE_GUID(CLSID_TVEEnhancements,0x05500014,0xfaa5,0x4df9,0x82,0x46,0xbf,0xc2,0x3a,0xc5,0xce,0xa8);
-DEFINE_GUID(CLSID_TVEFeature,0x05500025,0xfaa5,0x4df9,0x82,0x46,0xbf,0xc2,0x3a,0xc5,0xce,0xa8);
-DEFINE_GUID(CLSID_TVEFile,0x05500050,0xfaa5,0x4df9,0x82,0x46,0xbf,0xc2,0x3a,0xc5,0xce,0xa8);
-DEFINE_GUID(CLSID_TVEFilter,0x05500080,0xfaa5,0x4df9,0x82,0x46,0xbf,0xc2,0x3a,0xc5,0xce,0xa8);
-DEFINE_GUID(CLSID_TVEFilterCCProperties,0x05500282,0xfaa5,0x4df9,0x82,0x46,0xbf,0xc2,0x3a,0xc5,0xce,0xa8);
-DEFINE_GUID(CLSID_TVEFilterStatsProperties,0x05500283,0xfaa5,0x4df9,0x82,0x46,0xbf,0xc2,0x3a,0xc5,0xce,0xa8);
-DEFINE_GUID(CLSID_TVEFilterTuneProperties,0x05500281,0xfaa5,0x4df9,0x82,0x46,0xbf,0xc2,0x3a,0xc5,0xce,0xa8);
-DEFINE_GUID(CLSID_TVEMCast,0x05500030,0xfaa5,0x4df9,0x82,0x46,0xbf,0xc2,0x3a,0xc5,0xce,0xa8);
-DEFINE_GUID(CLSID_TVEMCastCallback,0x05500040,0xfaa5,0x4df9,0x82,0x46,0xbf,0xc2,0x3a,0xc5,0xce,0xa8);
-DEFINE_GUID(CLSID_TVEMCastManager,0x05500032,0xfaa5,0x4df9,0x82,0x46,0xbf,0xc2,0x3a,0xc5,0xce,0xa8);
-DEFINE_GUID(CLSID_TVEMCasts,0x05500031,0xfaa5,0x4df9,0x82,0x46,0xbf,0xc2,0x3a,0xc5,0xce,0xa8);
-DEFINE_GUID(CLSID_TVENavAid,0x05500070,0xfaa5,0x4df9,0x82,0x46,0xbf,0xc2,0x3a,0xc5,0xce,0xa8);
-DEFINE_GUID(CLSID_TVEService,0x05500005,0xfaa5,0x4df9,0x82,0x46,0xbf,0xc2,0x3a,0xc5,0xce,0xa8);
-DEFINE_GUID(CLSID_TVEServices,0x05500015,0xfaa5,0x4df9,0x82,0x46,0xbf,0xc2,0x3a,0xc5,0xce,0xa8);
-DEFINE_GUID(CLSID_TVESupervisor,0x05500006,0xfaa5,0x4df9,0x82,0x46,0xbf,0xc2,0x3a,0xc5,0xce,0xa8);
-DEFINE_GUID(CLSID_TVETrack,0x05500002,0xfaa5,0x4df9,0x82,0x46,0xbf,0xc2,0x3a,0xc5,0xce,0xa8);
-DEFINE_GUID(CLSID_TVETrigger,0x05500001,0xfaa5,0x4df9,0x82,0x46,0xbf,0xc2,0x3a,0xc5,0xce,0xa8);
-DEFINE_GUID(CLSID_TVETriggerCtrl,0x05500090,0xfaa5,0x4df9,0x82,0x46,0xbf,0xc2,0x3a,0xc5,0xce,0xa8);
-DEFINE_GUID(CLSID_TVEVariation,0x05500003,0xfaa5,0x4df9,0x82,0x46,0xbf,0xc2,0x3a,0xc5,0xce,0xa8);
-DEFINE_GUID(CLSID_TVTunerFilterPropertyPage,0x266eee41,0x6c63,0x11cf,0x8a,0x03,0x00,0xaa,0x00,0x6e,0xcb,0x65);
-DEFINE_GUID(CLSID_URLReader,0xe436ebb6,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70);
-DEFINE_GUID(CLSID_VBISurfaces,0x814b9800,0x1c88,0x11d1,0xba,0xd9,0x00,0x60,0x97,0x44,0x11,0x1a);
-DEFINE_GUID(CLSID_VfwCapture,0x1b544c22,0xfd0b,0x11ce,0x8c,0x63,0x00,0xaa,0x00,0x44,0xb5,0x1e);
-DEFINE_GUID(CLSID_VideoCompressorCategory,0x33d9a760,0x90c8,0x11d0,0xbd,0x43,0x00,0xa0,0xc9,0x11,0xce,0x86);
-DEFINE_GUID(CLSID_VideoInputDeviceCategory,0x860bb310,0x5d01,0x11d0,0xbd,0x3b,0x00,0xa0,0xc9,0x11,0xce,0x86);
-DEFINE_GUID(CLSID_VideoMixingRenderer,0xb87beb7b,0x8d29,0x423f,0xae,0x4d,0x65,0x82,0xc1,0x01,0x75,0xac);
-DEFINE_GUID(CLSID_VideoMixingRenderer9,0x51b4abf3,0x748f,0x4e3b,0xa2,0x76,0xc8,0x28,0x33,0xe,0x92,0x6a);
-DEFINE_GUID(CLSID_VideoPortManager,0x6f26a6cd,0x967b,0x47fd,0x87,0x4a,0x7a,0xed,0x2c,0x9d,0x25,0xa2);
-DEFINE_GUID(CLSID_VideoProcAmpPropertyPage,0x71f96464,0x78f3,0x11d0,0xa1,0x8c,0x00,0xa0,0xc9,0x11,0x89,0x56);
-DEFINE_GUID(CLSID_VideoRenderer,0x70e102b0,0x5556,0x11ce,0x97,0xc0,0x00,0xaa,0x00,0x55,0x59,0x5a);
-DEFINE_GUID(CLSID_VideoRendererDefault,0x6bc1cffa,0x8fc1,0x4261,0xac,0x22,0xcf,0xb4,0xcc,0x38,0xdb,0x50);
-DEFINE_GUID(CLSID_VideoStreamConfigPropertyPage,0x71f96467,0x78f3,0x11d0,0xa1,0x8c,0x00,0xa0,0xc9,0x11,0x89,0x56);
-DEFINE_GUID(CLSID_VPObject,0xce292861,0xfc88,0x11d0,0x9e,0x69,0x00,0xc0,0x4f,0xd7,0xc1,0x5b);
-DEFINE_GUID(CLSID_VPVBIObject,0x814b9801,0x1c88,0x11d1,0xba,0xd9,0x00,0x60,0x97,0x44,0x11,0x1a);
-DEFINE_GUID(CLSID_WMAsfReader,0x187463a0,0x5bb7,0x11d3,0xac,0xbe,0x00,0x80,0xc7,0x5e,0x24,0x6e);
-DEFINE_GUID(CLSID_WMAsfWriter,0x7c23220e,0x55bb,0x11d3,0x8b,0x16,0x00,0xc0,0x4f,0xb6,0xbd,0x3d);
-DEFINE_GUID(CLSID_WSTDecoder,0x70bc06e0,0x5666,0x11d3,0xa1,0x84,0x00,0x10,0x5a,0xef,0x9f,0x33);
-DEFINE_GUID(CLSID_WstDecoderPropertyPage,0x04e27f80,0x91e4,0x11d3,0xa1,0x84,0x00,0x10,0x5a,0xef,0x9f,0x33);
-DEFINE_GUID(CLSID_XDSCodec,0xc4c4c4f3,0x49,0x4e2b,0x98,0xfb,0x95,0x37,0xf6,0xce,0x51,0x6d);
-DEFINE_GUID(CLSID_XDSToRat,0xc5c5c5f0,0x3abc,0x11d6,0xb2,0x5b,0,0xc0,0x4f,0xa0,0xc0,0x26);
-DEFINE_GUID(CLSID_Xml2Dex,0x18c628ee,0x962a,0x11d2,0x8d,0x08,0x00,0xa0,0xc9,0x44,0x1e,0x20);
-DEFINE_GUID(CODECAPI_ALLSETTINGS,0x6a577e92,0x83e1,0x4113,0xad,0xc2,0x4f,0xce,0xc3,0x2f,0x83,0xa1);
-DEFINE_GUID(CODECAPI_AUDIO_ENCODER,0xb9d19a3e,0xf897,0x429c,0xbc,0x46,0x81,0x38,0xb7,0x27,0x2b,0x2d);
-DEFINE_GUID(CODECAPI_CURRENTCHANGELIST,0x1cb14e83,0x7d72,0x4657,0x83,0xfd,0x47,0xa2,0xc5,0xb9,0xd1,0x3d);
-DEFINE_GUID(CODECAPI_CHANGELISTS,0x62b12acf,0xf6b0,0x47d9,0x94,0x56,0x96,0xf2,0x2c,0x4e,0xb,0x9d);
-DEFINE_GUID(CODECAPI_SETALLDEFAULTS,0x6c5e6a7c,0xacf8,0x4f55,0xa9,0x99,0x1a,0x62,0x81,0x9,0x5,0x1b);
-DEFINE_GUID(CODECAPI_SUPPORTSEVENTS,0x581af97,0x7693,0x4dbd,0x9d,0xca,0x3f,0x9e,0xbd,0x65,0x85,0xa1);
-DEFINE_GUID(CODECAPI_VIDEO_ENCODER,0x7112e8e1,0x3d03,0x47ef,0x8e,0x60,0x3,0xf1,0xcf,0x53,0x73,0x1);
-DEFINE_GUID(DIID__ICAComponentsEvents,0x11166260,0xdf8a,0x463a,0xb6,0x20,0x7b,0xec,0x23,0x54,0x20,0x10);
-DEFINE_GUID(DIID__ICADefaultDlgEvents,0x11166991,0xdf8a,0x463a,0xb6,0x20,0x7b,0xec,0x23,0x54,0x20,0x10);
-DEFINE_GUID(DIID__ICADenialsEvents,0x11166240,0xdf8a,0x463a,0xb6,0x20,0x7b,0xec,0x23,0x54,0x20,0x10);
-DEFINE_GUID(DIID__ICAManagerEvents,0x11166200,0xdf8a,0x463a,0xb6,0x20,0x7b,0xec,0x23,0x54,0x20,0x10);
-DEFINE_GUID(DIID__ICAOffersEvents,0x11166250,0xdf8a,0x463a,0xb6,0x20,0x7b,0xec,0x23,0x54,0x20,0x10);
-DEFINE_GUID(DIID__ICAPoliciesEvents,0x11166220,0xdf8a,0x463a,0xb6,0x20,0x7b,0xec,0x23,0x54,0x20,0x10);
-DEFINE_GUID(DIID__ICARequestEvents,0x11166210,0xdf8a,0x463a,0xb6,0x20,0x7b,0xec,0x23,0x54,0x20,0x10);
-DEFINE_GUID(DIID__ICAResDenialTreeEvents,0x11166298,0xdf8a,0x463a,0xb6,0x20,0x7b,0xec,0x23,0x54,0x20,0x10);
-DEFINE_GUID(DIID__ICATollsEvents,0x11166230,0xdf8a,0x463a,0xb6,0x20,0x7b,0xec,0x23,0x54,0x20,0x10);
-DEFINE_GUID(DIID__IMSVidCtlEvents,0xb0edf164,0x910a,0x11d2,0xb6,0x32,0,0xc0,0x4f,0x79,0x49,0x8e);
-DEFINE_GUID(DIID__ITVEEvents,0x05500000,0xfaa5,0x4df9,0x82,0x46,0xbf,0xc2,0x3a,0xc5,0xce,0xa8);
-DEFINE_GUID(DIID__ITVETriggerCtrlEvents,0x05500091,0xfaa5,0x4df9,0x82,0x46,0xbf,0xc2,0x3a,0xc5,0xce,0xa8);
-DEFINE_GUID(DIID_IDTFilterEvents,0xc4c4c4c2,0x49,0x4e2b,0x98,0xfb,0x95,0x37,0xf6,0xce,0x51,0x6d);
-DEFINE_GUID(DIID_IETFilterEvents,0xc4c4c4c1,0x49,0x4e2b,0x98,0xfb,0x95,0x37,0xf6,0xce,0x51,0x6d);
-DEFINE_GUID(DIID_IXDSCodecEvents,0xc4c4c4c3,0x49,0x4e2b,0x98,0xfb,0x95,0x37,0xf6,0xce,0x51,0x6d);
-DEFINE_GUID(ENCAPIPARAM_BITRATE,0x49cc4c43,0xca83,0x4ad4,0xa9,0xaf,0xf3,0x69,0x6a,0xf6,0x66,0xdf);
-DEFINE_GUID(ENCAPIPARAM_BITRATE_MODE,0xee5fb25c,0xc713,0x40d1,0x9d,0x58,0xc0,0xd7,0x24,0x1e,0x25,0xf);
-DEFINE_GUID(ENCAPIPARAM_PEAK_BITRATE,0x703f16a9,0x3d48,0x44a1,0xb0,0x77,0x1,0x8d,0xff,0x91,0x5d,0x19);
-DEFINE_GUID(FORMAT_AnalogVideo,0x0482dde0,0x7817,0x11cf,0x8a,0x03,0x00,0xaa,0x00,0x6e,0xcb,0x65);
-DEFINE_GUID(FORMAT_DolbyAC3,0xe06d80e4,0xdb46,0x11cf,0xb4,0xd1,0x00,0x80,0x5f,0x6c,0xbb,0xea);
-DEFINE_GUID(FORMAT_DVD_LPCMAudio,0xe06d80e6,0xdb46,0x11cf,0xb4,0xd1,0x00,0x80,0x5f,0x6c,0xbb,0xea);
-DEFINE_GUID(FORMAT_DvInfo,0x05589f84,0xc356,0x11ce,0xbf,0x01,0x00,0xaa,0x00,0x55,0x59,0x5a);
-DEFINE_GUID(FORMAT_MPEG2_VIDEO,0xe06d80e3,0xdb46,0x11cf,0xb4,0xd1,0x00,0x80,0x5f,0x6c,0xbb,0xea);
-DEFINE_GUID(FORMAT_MPEG2Audio,0xe06d80e5,0xdb46,0x11cf,0xb4,0xd1,0x00,0x80,0x5f,0x6c,0xbb,0xea);
-DEFINE_GUID(FORMAT_MPEG2Video,0xe06d80e3,0xdb46,0x11cf,0xb4,0xd1,0x00,0x80,0x5f,0x6c,0xbb,0xea);
-DEFINE_GUID(FORMAT_MPEGStreams,0x05589f83,0xc356,0x11ce,0xbf,0x01,0x00,0xaa,0x00,0x55,0x59,0x5a);
-DEFINE_GUID(FORMAT_MPEGVideo,0x05589f82,0xc356,0x11ce,0xbf,0x01,0x00,0xaa,0x00,0x55,0x59,0x5a);
-DEFINE_GUID(FORMAT_None,0x0f6417d6,0xc318,0x11d0,0xa4,0x3f,0x00,0xa0,0xc9,0x22,0x31,0x96);
-DEFINE_GUID(FORMAT_VideoInfo,0x05589f80,0xc356,0x11ce,0xbf,0x01,0x00,0xaa,0x00,0x55,0x59,0x5a);
-DEFINE_GUID(FORMAT_VideoInfo2,0xf72a76a0,0xeb0a,0x11d0,0xac,0xe4,0x00,0x00,0xc0,0xcc,0x16,0xba);
-DEFINE_GUID(FORMAT_VIDEOINFO2,0xf72a76a0,0xeb0a,0x11d0,0xac,0xe4,0x00,0x00,0xc0,0xcc,0x16,0xba);
-DEFINE_GUID(FORMAT_WaveFormatEx,0x05589f81,0xc356,0x11ce,0xbf,0x01,0x00,0xaa,0x00,0x55,0x59,0x5a);
-DEFINE_GUID(IID_IAMAnalogVideoDecoder,0xc6e13350,0x30ac,0x11d0,0xa1,0x8c,0x00,0xa0,0xc9,0x11,0x89,0x56);
-DEFINE_GUID(IID_IAMAnalogVideoEncoder,0xc6e133b0,0x30ac,0x11d0,0xa1,0x8c,0x00,0xa0,0xc9,0x11,0x89,0x56);
-DEFINE_GUID(IID_IAMAudioInputMixer,0x54c39221,0x8380,0x11d0,0xb3,0xf0,0x00,0xaa,0x00,0x37,0x61,0xc5);
-DEFINE_GUID(IID_IAMAudioRendererStats,0x22320cb2,0xd41a,0x11d2,0xbf,0x7c,0xd7,0xcb,0x9d,0xf0,0xbf,0x93);
-DEFINE_GUID(IID_IAMBufferNegotiation,0x56ed71a0,0xaf5f,0x11d0,0xb3,0xf0,0x00,0xaa,0x00,0x37,0x61,0xc5);
-DEFINE_GUID(IID_IAMCameraControl,0xc6e13370,0x30ac,0x11d0,0xa1,0x8c,0x00,0xa0,0xc9,0x11,0x89,0x56);
-DEFINE_GUID(IID_IAMClockAdjust,0x4d5466b0,0xa49c,0x11d1,0xab,0xe8,0x00,0xa0,0xc9,0x05,0xf3,0x75);
-DEFINE_GUID(IID_IAMClockSlave,0x9fd52741,0x176d,0x4b36,0x8f,0x51,0xca,0x8f,0x93,0x32,0x23,0xbe);
-DEFINE_GUID(IID_IAMCollection,0x56a868b9,0x0ad4,0x11ce,0xb0,0x3a,0x00,0x20,0xaf,0x0b,0xa7,0x70);
-DEFINE_GUID(IID_IAMCopyCaptureFileProgress,0x670d1d20,0xa068,0x11d0,0xb3,0xf0,0x00,0xaa,0x00,0x37,0x61,0xc5);
-DEFINE_GUID(IID_IAMCrossbar,0xc6e13380,0x30ac,0x11d0,0xa1,0x8c,0x00,0xa0,0xc9,0x11,0x89,0x56);
-DEFINE_GUID(IID_IAMDecoderCaps,0xc0dff467,0xd499,0x4986,0x97,0x2b,0xe1,0xd9,0x09,0x0f,0xa9,0x41);
-DEFINE_GUID(IID_IAMDeviceRemoval,0xf90a6130,0xb658,0x11d2,0xae,0x49,0x00,0x00,0xf8,0x75,0x4b,0x99);
-DEFINE_GUID(IID_IAMDevMemoryAllocator,0xc6545bf0,0xe76b,0x11d0,0xbd,0x52,0x00,0xa0,0xc9,0x11,0xce,0x86);
-DEFINE_GUID(IID_IAMDevMemoryControl,0xc6545bf1,0xe76b,0x11d0,0xbd,0x52,0x00,0xa0,0xc9,0x11,0xce,0x86);
-DEFINE_GUID(IID_IAMDirectSound,0x546f4260,0xd53e,0x11cf,0xb3,0xf0,0x00,0xaa,0x00,0x37,0x61,0xc5);
-DEFINE_GUID(IID_IAMDroppedFrames,0xc6e13344,0x30ac,0x11d0,0xa1,0x8c,0x00,0xa0,0xc9,0x11,0x89,0x56);
-DEFINE_GUID(IID_IAMErrorLog,0xe43e73a2,0x0efa,0x11d3,0x96,0x01,0x00,0xa0,0xc9,0x44,0x1e,0x20);
-DEFINE_GUID(IID_IAMExtDevice,0xb5730a90,0x1a2c,0x11cf,0x8c,0x23,0x00,0xaa,0x00,0x6b,0x68,0x14);
-DEFINE_GUID(IID_IAMExtTransport,0xa03cd5f0,0x3045,0x11cf,0x8c,0x44,0x00,0xaa,0x00,0x6b,0x68,0x14);
-DEFINE_GUID(IID_IAMFilterMiscFlags,0x2dd74950,0xa890,0x11d1,0xab,0xe8,0x00,0xa0,0xc9,0x05,0xf3,0x75);
-DEFINE_GUID(IID_IAMGraphBuilderCallback,0x4995f511,0x9ddb,0x4f12,0xbd,0x3b,0xf0,0x46,0x11,0x80,0x7b,0x79);
-DEFINE_GUID(IID_IAMGraphStreams,0x632105fa,0x072e,0x11d3,0x8a,0xf9,0x00,0xc0,0x4f,0xb6,0xbd,0x3d);
-DEFINE_GUID(IID_IAMLatency,0x62ea93ba,0xec62,0x11d2,0xb7,0x70,0x00,0xc0,0x4f,0xb6,0xbd,0x3d);
-DEFINE_GUID(IID_IAMLine21Decoder,0x6e8d4a21,0x310c,0x11d0,0xb7,0x9a,0x00,0xaa,0x00,0x37,0x67,0xa7);
-DEFINE_GUID(IID_IAMMediaStream,0xbebe595d,0x9a6f,0x11d0,0x8f,0xde,0x00,0xc0,0x4f,0xd9,0x18,0x9d);
-DEFINE_GUID(IID_IAMMediaTypeSample,0xab6b4afb,0xf6e4,0x11d0,0x90,0x0d,0x00,0xc0,0x4f,0xd9,0x18,0x9d);
-DEFINE_GUID(IID_IAMMediaTypeStream,0xab6b4afa,0xf6e4,0x11d0,0x90,0x0d,0x00,0xc0,0x4f,0xd9,0x18,0x9d);
-DEFINE_GUID(IID_IAMMultiMediaStream,0xbebe595c,0x9a6f,0x11d0,0x8f,0xde,0x00,0xc0,0x4f,0xd9,0x18,0x9d);
-DEFINE_GUID(IID_IAMOpenProgress,0x8e1c39a1,0xde53,0x11cf,0xaa,0x63,0x00,0x80,0xc7,0x44,0x52,0x8d);
-DEFINE_GUID(IID_IAMOverlayFX,0x62fae250,0x7e65,0x4460,0xbf,0xc9,0x63,0x98,0xb3,0x22,0x07,0x3c);
-DEFINE_GUID(IID_IAMovie,0x359ace10,0x7688,0x11cf,0x8b,0x23,0x00,0x80,0x5f,0x6c,0xef,0x60);
-DEFINE_GUID(IID_IAMovieSetup,0xa3d8cec0,0x7e5a,0x11cf,0xbb,0xc5,0x00,0x80,0x5f,0x6c,0xef,0x20);
-DEFINE_GUID(IID_IAMPhysicalPinInfo,0xf938c991,0x3029,0x11cf,0x8c,0x44,0x00,0xaa,0x00,0x6b,0x68,0x14);
-DEFINE_GUID(IID_IAMPushSource,0xf185fe76,0xe64e,0x11d2,0xb7,0x6e,0x00,0xc0,0x4f,0xb6,0xbd,0x3d);
-DEFINE_GUID(IID_IAMResourceControl,0x8389d2d0,0x77d7,0x11d1,0xab,0xe6,0x00,0xa0,0xc9,0x05,0xf3,0x75);
-DEFINE_GUID(IID_IAMSetErrorLog,0x963566da,0xbe21,0x4eaf,0x88,0xe9,0x35,0x70,0x4f,0x8f,0x52,0xa1);
-DEFINE_GUID(IID_IAMStats,0xbc9bcf80,0xdcd2,0x11d2,0xab,0xf6,0x00,0xa0,0xc9,0x05,0xf3,0x75);
-DEFINE_GUID(IID_IAMStreamConfig,0xc6e13340,0x30ac,0x11d0,0xa1,0x8c,0x00,0xa0,0xc9,0x11,0x89,0x56);
-DEFINE_GUID(IID_IAMStreamControl,0x36b73881,0xc2c8,0x11cf,0x8b,0x46,0x00,0x80,0x5f,0x6c,0xef,0x60);
-DEFINE_GUID(IID_IAMStreamSelect,0xc1960960,0x17f5,0x11d1,0xab,0xe1,0x00,0xa0,0xc9,0x05,0xf3,0x75);
-DEFINE_GUID(IID_IAMTimecodeDisplay,0x9b496ce2,0x811b,0x11cf,0x8c,0x77,0x00,0xaa,0x00,0x6b,0x68,0x14);
-DEFINE_GUID(IID_IAMTimecodeGenerator,0x9b496ce0,0x811b,0x11cf,0x8c,0x77,0x00,0xaa,0x00,0x6b,0x68,0x14);
-DEFINE_GUID(IID_IAMTimecodeReader,0x9b496ce1,0x811b,0x11cf,0x8c,0x77,0x00,0xaa,0x00,0x6b,0x68,0x14);
-DEFINE_GUID(IID_IAMTimeline,0x78530b74,0x61f9,0x11d2,0x8c,0xad,0x00,0xa0,0x24,0x58,0x09,0x02);
-DEFINE_GUID(IID_IAMTimelineComp,0xeae58536,0x622e,0x11d2,0x8c,0xad,0x00,0xa0,0x24,0x58,0x09,0x02);
-DEFINE_GUID(IID_IAMTimelineEffect,0xbce0c264,0x622d,0x11d2,0x8c,0xad,0x00,0xa0,0x24,0x58,0x09,0x02);
-DEFINE_GUID(IID_IAMTimelineEffectable,0xeae58537,0x622e,0x11d2,0x8c,0xad,0x00,0xa0,0x24,0x58,0x09,0x02);
-DEFINE_GUID(IID_IAMTimelineGroup,0x9eed4f00,0xb8a6,0x11d2,0x80,0x23,0x00,0xc0,0xdf,0x10,0xd4,0x34);
-DEFINE_GUID(IID_IAMTimelineObj,0x78530b77,0x61f9,0x11d2,0x8c,0xad,0x00,0xa0,0x24,0x58,0x09,0x02);
-DEFINE_GUID(IID_IAMTimelineSplittable,0xa0f840a0,0xd590,0x11d2,0x8d,0x55,0x00,0xa0,0xc9,0x44,0x1e,0x20);
-DEFINE_GUID(IID_IAMTimelineSrc,0x78530b79,0x61f9,0x11d2,0x8c,0xad,0x00,0xa0,0x24,0x58,0x09,0x02);
-DEFINE_GUID(IID_IAMTimelineTrack,0xeae58538,0x622e,0x11d2,0x8c,0xad,0x00,0xa0,0x24,0x58,0x09,0x02);
-DEFINE_GUID(IID_IAMTimelineTrans,0xbce0c265,0x622d,0x11d2,0x8c,0xad,0x00,0xa0,0x24,0x58,0x09,0x02);
-DEFINE_GUID(IID_IAMTimelineTransable,0x378fa386,0x622e,0x11d2,0x8c,0xad,0x00,0xa0,0x24,0x58,0x09,0x02);
-DEFINE_GUID(IID_IAMTimelineVirtualTrack,0xa8ed5f80,0xc2c7,0x11d2,0x8d,0x39,0x00,0xa0,0xc9,0x44,0x1e,0x20);
-DEFINE_GUID(IID_IAMTuner,0x211a8761,0x03ac,0x11d1,0x8d,0x13,0x00,0xaa,0x00,0xbd,0x83,0x39);
-DEFINE_GUID(IID_IAMTunerNotification,0x211a8760,0x03ac,0x11d1,0x8d,0x13,0x00,0xaa,0x00,0xbd,0x83,0x39);
-DEFINE_GUID(IID_IAMTVAudio,0x83ec1c30,0x23d1,0x11d1,0x99,0xe6,0x00,0xa0,0xc9,0x56,0x02,0x66);
-DEFINE_GUID(IID_IAMTVAudioNotification,0x83ec1c33,0x23d1,0x11d1,0x99,0xe6,0x00,0xa0,0xc9,0x56,0x02,0x66);
-DEFINE_GUID(IID_IAMTVTuner,0x211a8766,0x03ac,0x11d1,0x8d,0x13,0x00,0xaa,0x00,0xbd,0x83,0x39);
-DEFINE_GUID(IID_IAMVfwCaptureDialogs,0xd8d715a0,0x6e5e,0x11d0,0xb3,0xf0,0x00,0xaa,0x00,0x37,0x61,0xc5);
-DEFINE_GUID(IID_IAMVfwCompressDialogs,0xd8d715a3,0x6e5e,0x11d0,0xb3,0xf0,0x00,0xaa,0x00,0x37,0x61,0xc5);
-DEFINE_GUID(IID_IAMVideoAccelerator,0x256a6a22,0xfbad,0x11d1,0x82,0xbf,0x00,0xa0,0xc9,0x69,0x6c,0x8f);
-DEFINE_GUID(IID_IAMVideoAcceleratorNotify,0x256a6a21,0xfbad,0x11d1,0x82,0xbf,0x00,0xa0,0xc9,0x69,0x6c,0x8f);
-DEFINE_GUID(IID_IAMVideoCompression,0xc6e13343,0x30ac,0x11d0,0xa1,0x8c,0x00,0xa0,0xc9,0x11,0x89,0x56);
-DEFINE_GUID(IID_IAMVideoControl,0x6a2e0670,0x28e4,0x11d0,0xa1,0x8c,0x00,0xa0,0xc9,0x11,0x89,0x56);
-DEFINE_GUID(IID_IAMVideoDecimationProperties,0x60d32930,0x13da,0x11d3,0x9e,0xc6,0xc4,0xfc,0xae,0xf5,0xc7,0xbe);
-DEFINE_GUID(IID_IAMVideoProcAmp,0xc6e13360,0x30ac,0x11d0,0xa1,0x8c,0x00,0xa0,0xc9,0x11,0x89,0x56);
-DEFINE_GUID(IID_IAMWstDecoder,0xc056de21,0x75c2,0x11d3,0xa1,0x84,0x00,0x10,0x5a,0xef,0x9f,0x33);
-DEFINE_GUID(IID_IAnalogRadioTuningSpace,0x2a6e293b,0x2595,0x11d3,0xb6,0x4c,0x00,0xc0,0x4f,0x79,0x49,0x8e);
-DEFINE_GUID(IID_IAnalogTVTuningSpace,0x2a6e293c,0x2595,0x11d3,0xb6,0x4c,0x00,0xc0,0x4f,0x79,0x49,0x8e);
-DEFINE_GUID(IID_IAsyncReader,0x56a868aa,0x0ad4,0x11ce,0xb0,0x3a,0x00,0x20,0xaf,0x0b,0xa7,0x70);
-DEFINE_GUID(IID_IATSCComponentType,0xfc189e4d,0x7bd4,0x4125,0xb3,0xb3,0x3a,0x76,0xa3,0x32,0xcc,0x96);
-DEFINE_GUID(IID_IATSCChannelTuneRequest,0x0369b4e1,0x45b6,0x11d3,0xb6,0x50,0x00,0xc0,0x4f,0x79,0x49,0x8e);
-DEFINE_GUID(IID_IATSCLocator,0xbf8d986f,0x8c2b,0x4131,0x94,0xd7,0x4d,0x3d,0x9f,0xcc,0x21,0xef);
-DEFINE_GUID(IID_IATSCTuningSpace,0x0369b4e2,0x45b6,0x11d3,0xb6,0x50,0x00,0xc0,0x4f,0x79,0x49,0x8e);
-DEFINE_GUID(IID_IAudioData,0x54c719c0,0xaf60,0x11d0,0x82,0x12,0x00,0xc0,0x4f,0xc3,0x2c,0x45);
-DEFINE_GUID(IID_IAudioMediaStream,0xf7537560,0xa3be,0x11d0,0x82,0x12,0x00,0xc0,0x4f,0xc3,0x2c,0x45);
-DEFINE_GUID(IID_IAudioStreamSample,0x345fee00,0xaba5,0x11d0,0x82,0x12,0x00,0xc0,0x4f,0xc3,0x2c,0x45);
-DEFINE_GUID(IID_IAuxInTuningSpace,0xe48244b8,0x7e17,0x4f76,0xa7,0x63,0x50,0x90,0xff,0x1e,0x2f,0x30);
-DEFINE_GUID(IID_IBaseFilter,0x56a86895,0x0ad4,0x11ce,0xb0,0x3a,0x00,0x20,0xaf,0x0b,0xa7,0x70);
-DEFINE_GUID(IID_IBaseVideoMixer,0x61ded640,0xe912,0x11ce,0xa0,0x99,0x00,0xaa,0x00,0x47,0x9a,0x58);
-DEFINE_GUID(IID_IBasicAudio,0x56a868b3,0x0ad4,0x11ce,0xb0,0x3a,0x00,0x20,0xaf,0x0b,0xa7,0x70);
-DEFINE_GUID(IID_IBasicVideo,0x56a868b5,0x0ad4,0x11ce,0xb0,0x3a,0x00,0x20,0xaf,0x0b,0xa7,0x70);
-DEFINE_GUID(IID_IBasicVideo2,0x329bb360,0xf6ea,0x11d1,0x90,0x38,0x00,0xa0,0xc9,0x69,0x72,0x98);
-DEFINE_GUID(IID_IBDA_AutoDemodulate,0xddf15b12,0xbd25,0x11d2,0x9c,0xa0,0x00,0xc0,0x4f,0x79,0x71,0xe0);
-DEFINE_GUID(IID_IBDA_DeviceControl,0xfd0a5af3,0xb41d,0x11d2,0x9c,0x95,0x00,0xc0,0x4f,0x79,0x71,0xe0);
-DEFINE_GUID(IID_IBDA_DigitalDemodulator,0xef30f379,0x985b,0x4d10,0xb6,0x40,0xa7,0x9d,0x5e,0x04,0xe1,0xe0);
-DEFINE_GUID(IID_IBDA_EthernetFilter,0x71985f43,0x1ca1,0x11d3,0x9c,0xc8,0x00,0xc0,0x4f,0x79,0x71,0xe0);
-DEFINE_GUID(IID_IBDA_FrequencyFilter,0x71985f47,0x1ca1,0x11d3,0x9c,0xc8,0x00,0xc0,0x4f,0x79,0x71,0xe0);
-DEFINE_GUID(IID_IBDA_IPSinkControl,0x3f4dc8e2,0x4050,0x11d3,0x8f,0x4b,0x00,0xc0,0x4f,0x79,0x71,0xe2);
-DEFINE_GUID(IID_IBDA_IPSinkInfo,0xa750108f,0x492e,0x4d51,0x95,0xf7,0x64,0x9b,0x23,0xff,0x7a,0xd7);
-DEFINE_GUID(IID_IBDA_IPV4Filter,0x71985f44,0x1ca1,0x11d3,0x9c,0xc8,0x00,0xc0,0x4f,0x79,0x71,0xe0);
-DEFINE_GUID(IID_IBDA_IPV6Filter,0xe1785a74,0x2a23,0x4fb3,0x92,0x45,0xa8,0xf8,0x80,0x17,0xef,0x33);
-DEFINE_GUID(IID_IBDA_LNBInfo,0x992cf102,0x49f9,0x4719,0xa6,0x64,0xc4,0xf2,0x3e,0x24,0x08,0xf4);
-DEFINE_GUID(IID_IBDA_NetworkProvider,0xfd501041,0x8ebe,0x11ce,0x81,0x83,0x00,0xaa,0x00,0x57,0x7d,0xa2);
-DEFINE_GUID(IID_IBDA_NullTransform,0xddf15b0d,0xbd25,0x11d2,0x9c,0xa0,0x00,0xc0,0x4f,0x79,0x71,0xe0);
-DEFINE_GUID(IID_IBDA_PinControl,0x0ded49d5,0xa8b7,0x4d5d,0x97,0xa1,0x12,0xb0,0xc1,0x95,0x87,0x4d);
-DEFINE_GUID(IID_IBDA_SignalProperties,0xd2f1644b,0xb409,0x11d2,0xbc,0x69,0x00,0xa0,0xc9,0xee,0x9e,0x16);
-DEFINE_GUID(IID_IBDA_SignalStatistics,0x1347d106,0xcf3a,0x428a,0xa5,0xcb,0xac,0x0d,0x9a,0x2a,0x43,0x38);
-DEFINE_GUID(IID_IBDA_TIF_REGISTRATION,0xdfef4a68,0xee61,0x415f,0x9c,0xcb,0xcd,0x95,0xf2,0xf9,0x8a,0x3a);
-DEFINE_GUID(IID_IBDA_Topology,0xa14ee835,0x0a23,0x11d3,0x9c,0xc7,0x00,0xc0,0x4f,0x79,0x71,0xe0);
-DEFINE_GUID(IID_IBDA_VoidTransform,0x71985f46,0x1ca1,0x11d3,0x9c,0xc8,0x00,0xc0,0x4f,0x79,0x71,0xe0);
-DEFINE_GUID(IID_IBPCSatelliteTuner,0x211a8765,0x03ac,0x11d1,0x8d,0x13,0x00,0xaa,0x00,0xbd,0x83,0x39);
-DEFINE_GUID(IID_IBroadcastEvent,0x3b21263f,0x26e8,0x489d,0xaa,0xc4,0x92,0x4f,0x7e,0xfd,0x95,0x11);
-DEFINE_GUID(IID_ICAComponent,0x11166360,0xdf8a,0x463a,0xb6,0x20,0x7b,0xec,0x23,0x54,0x20,0x10);
-DEFINE_GUID(IID_ICAComponentInternal,0x11166361,0xdf8a,0x463a,0xb6,0x20,0x7b,0xec,0x23,0x54,0x20,0x10);
-DEFINE_GUID(IID_ICAComponents,0x11166470,0xdf8a,0x463a,0xb6,0x20,0x7b,0xec,0x23,0x54,0x20,0x10);
-DEFINE_GUID(IID_ICADefaultDlg,0x860a3fe2,0xded1,0x40e2,0x89,0x6c,0x05,0x76,0x81,0xa8,0xa1,0xa8);
-DEFINE_GUID(IID_ICADenial,0x11166340,0xdf8a,0x463a,0xb6,0x20,0x7b,0xec,0x23,0x54,0x20,0x10);
-DEFINE_GUID(IID_ICADenials,0x11166440,0xdf8a,0x463a,0xb6,0x20,0x7b,0xec,0x23,0x54,0x20,0x10);
-DEFINE_GUID(IID_ICADenialsInternal,0x11166441,0xdf8a,0x463a,0xb6,0x20,0x7b,0xec,0x23,0x54,0x20,0x10);
-DEFINE_GUID(IID_ICAManager,0x11166300,0xdf8a,0x463a,0xb6,0x20,0x7b,0xec,0x23,0x54,0x20,0x10);
-DEFINE_GUID(IID_ICAManagerInternal,0x11166301,0xdf8a,0x463a,0xb6,0x20,0x7b,0xec,0x23,0x54,0x20,0x10);
-DEFINE_GUID(IID_ICAOffer,0x11166350,0xdf8a,0x463a,0xb6,0x20,0x7b,0xec,0x23,0x54,0x20,0x10);
-DEFINE_GUID(IID_ICAOffers,0x11166450,0xdf8a,0x463a,0xb6,0x20,0x7b,0xec,0x23,0x54,0x20,0x10);
-DEFINE_GUID(IID_ICAPolicies,0x11166420,0xdf8a,0x463a,0xb6,0x20,0x7b,0xec,0x23,0x54,0x20,0x10);
-DEFINE_GUID(IID_ICAPoliciesInternal,0x11166421,0xdf8a,0x463a,0xb6,0x20,0x7b,0xec,0x23,0x54,0x20,0x10);
-DEFINE_GUID(IID_ICAPolicy,0x11166320,0xdf8a,0x463a,0xb6,0x20,0x7b,0xec,0x23,0x54,0x20,0x10);
-DEFINE_GUID(IID_ICaptureGraphBuilder,0xbf87b6e0,0x8c27,0x11d0,0xb3,0xf0,0x00,0xaa,0x00,0x37,0x61,0xc5);
-DEFINE_GUID(IID_ICaptureGraphBuilder2,0x93e5a4e0,0x2d50,0x11d2,0xab,0xfa,0x00,0xa0,0xc9,0xc6,0xe3,0x8d);
-DEFINE_GUID(IID_ICARequest,0x11166310,0xdf8a,0x463a,0xb6,0x20,0x7b,0xec,0x23,0x54,0x20,0x10);
-DEFINE_GUID(IID_ICAResDenialTree,0x11166898,0xdf8a,0x463a,0xb6,0x20,0x7b,0xec,0x23,0x54,0x20,0x10);
-DEFINE_GUID(IID_ICAToll,0x11166330,0xdf8a,0x463a,0xb6,0x20,0x7b,0xec,0x23,0x54,0x20,0x10);
-DEFINE_GUID(IID_ICATolls,0x11166430,0xdf8a,0x463a,0xb6,0x20,0x7b,0xec,0x23,0x54,0x20,0x10);
-DEFINE_GUID(IID_ICATollsInternal,0x11166431,0xdf8a,0x463a,0xb6,0x20,0x7b,0xec,0x23,0x54,0x20,0x10);
-DEFINE_GUID(IID_ICodecAPI,0x901db4c7,0x31ce,0x41a2,0x85,0xdc,0x8f,0xa0,0xbf,0x41,0xb8,0xda);
-DEFINE_GUID(IID_IComponent,0x1a5576fc,0x0e19,0x11d3,0x9d,0x8e,0x00,0xc0,0x4f,0x72,0xd9,0x80);
-DEFINE_GUID(IID_IComponents,0xfcd01846,0x0e19,0x11d3,0x9d,0x8e,0x00,0xc0,0x4f,0x72,0xd9,0x80);
-DEFINE_GUID(IID_IComponentType,0x6a340dc0,0x0311,0x11d3,0x9d,0x8e,0x00,0xc0,0x4f,0x72,0xd9,0x80);
-DEFINE_GUID(IID_IComponentTypes,0x0dc13d4a,0x0313,0x11d3,0x9d,0x8e,0x00,0xc0,0x4f,0x72,0xd9,0x80);
-DEFINE_GUID(IID_IConfigAviMux,0x5acd6aa0,0xf482,0x11ce,0x8b,0x67,0x00,0xaa,0x00,0xa3,0xf1,0xa6);
-DEFINE_GUID(IID_IConfigInterleaving,0xbee3d220,0x157b,0x11d0,0xbd,0x23,0x00,0xa0,0xc9,0x11,0xce,0x86);
-DEFINE_GUID(IID_ICreateDevEnum,0x29840822,0x5b84,0x11d0,0xbd,0x3b,0x00,0xa0,0xc9,0x11,0xce,0x86);
-DEFINE_GUID(IID_ICreatePropBagOnRegKey,0x8a674b48,0x1f63,0x11d3,0xb6,0x4c,0x00,0xc0,0x4f,0x79,0x49,0x8e);
-DEFINE_GUID(IID_IDDrawExclModeVideo,0x153acc21,0xd83b,0x11d1,0x82,0xbf,0x00,0xa0,0xc9,0x69,0x6c,0x8f);
-DEFINE_GUID(IID_IDDrawExclModeVideoCallback,0x913c24a0,0x20ab,0x11d2,0x90,0x38,0x00,0xa0,0xc9,0x69,0x72,0x98);
-DEFINE_GUID(IID_IDDVideoPortContainer,0x6c142760,0xa733,0x11ce,0xa5,0x21,0x00,0x20,0xaf,0x0b,0xe5,0x60);
-DEFINE_GUID(IID_IDecimateVideoImage,0x2e5ea3e0,0xe924,0x11d2,0xb6,0xda,0x00,0xa0,0xc9,0x95,0xe8,0xdf);
-DEFINE_GUID(IID_IDeferredCommand,0x56a868b8,0x0ad4,0x11ce,0xb0,0x3a,0x00,0x20,0xaf,0x0b,0xa7,0x70);
-DEFINE_GUID(IID_IDirectDraw,0x6c14db80,0xa733,0x11ce,0xa5,0x21,0x00,0x20,0xaf,0x0b,0xe5,0x60);
-DEFINE_GUID(IID_IDirectDraw2,0xb3a6f3e0,0x2b43,0x11cf,0xa2,0xde,0x00,0xaa,0x00,0xb9,0x33,0x56);
-DEFINE_GUID(IID_IDirectDrawClipper,0x6c14db85,0xa733,0x11ce,0xa5,0x21,0x00,0x20,0xaf,0x0b,0xe5,0x60);
-DEFINE_GUID(IID_IDirectDrawColorControl,0x4b9f0ee0,0x0d7e,0x11d0,0x9b,0x06,0x00,0xa0,0xc9,0x03,0xa3,0xb8);
-DEFINE_GUID(IID_IDirectDrawKernel,0x8d56c120,0x6a08,0x11d0,0x9b,0x06,0x00,0xa0,0xc9,0x03,0xa3,0xb8);
-DEFINE_GUID(IID_IDirectDrawMediaSample,0xab6b4afe,0xf6e4,0x11d0,0x90,0x0d,0x00,0xc0,0x4f,0xd9,0x18,0x9d);
-DEFINE_GUID(IID_IDirectDrawMediaSampleAllocator,0xab6b4afc,0xf6e4,0x11d0,0x90,0x0d,0x00,0xc0,0x4f,0xd9,0x18,0x9d);
-DEFINE_GUID(IID_IDirectDrawMediaStream,0xf4104fce,0x9a70,0x11d0,0x8f,0xde,0x00,0xc0,0x4f,0xd9,0x18,0x9d);
-DEFINE_GUID(IID_IDirectDrawPalette,0x6c14db84,0xa733,0x11ce,0xa5,0x21,0x00,0x20,0xaf,0x0b,0xe5,0x60);
-DEFINE_GUID(IID_IDirectDrawStreamSample,0xf4104fcf,0x9a70,0x11d0,0x8f,0xde,0x00,0xc0,0x4f,0xd9,0x18,0x9d);
-DEFINE_GUID(IID_IDirectDrawSurface,0x6c14db81,0xa733,0x11ce,0xa5,0x21,0x00,0x20,0xaf,0x0b,0xe5,0x60);
-DEFINE_GUID(IID_IDirectDrawSurface2,0x57805885,0x6eec,0x11cf,0x94,0x41,0xa8,0x23,0x03,0xc1,0x0e,0x27);
-DEFINE_GUID(IID_IDirectDrawSurface3,0xda044e00,0x69b2,0x11d0,0xa1,0xd5,0x00,0xaa,0x00,0xb8,0xdf,0xbb);
-DEFINE_GUID(IID_IDirectDrawSurface4,0x0b2b8630,0xad35,0x11d0,0x8e,0xa6,0x00,0x60,0x97,0x97,0xea,0x5b);
-DEFINE_GUID(IID_IDirectDrawSurface7,0x06675a80,0x3b9b,0x11d2,0xb9,0x2f,0x00,0x60,0x97,0x97,0xea,0x5b);
-DEFINE_GUID(IID_IDirectDrawSurfaceKernel,0x60755da0,0x6a40,0x11d0,0x9b,0x06,0x00,0xa0,0xc9,0x03,0xa3,0xb8);
-DEFINE_GUID(IID_IDirectDrawVideo,0x36d39eb0,0xdd75,0x11ce,0xbf,0x0e,0x00,0xaa,0x00,0x55,0x59,0x5a);
-DEFINE_GUID(IID_IDirectShowStream,0x7db01c96,0xc0c3,0x11d0,0x8f,0xf1,0x00,0xc0,0x4f,0xd9,0x18,0x9d);
-DEFINE_GUID(IID_IDistributorNotify,0x56a868af,0x0ad4,0x11ce,0xb0,0x3a,0x00,0x20,0xaf,0x0b,0xa7,0x70);
-DEFINE_GUID(IID_IDrawVideoImage,0x48efb120,0xab49,0x11d2,0xae,0xd2,0x00,0xa0,0xc9,0x95,0xe8,0xd5);
-DEFINE_GUID(IID_IDTFilter,0xc4c4c4b2,0x49,0x4e2b,0x98,0xfb,0x95,0x37,0xf6,0xce,0x51,0x6d);
-DEFINE_GUID(IID_IDTFilterConfig,0xc4c4c4d2,0x49,0x4e2b,0x98,0xfb,0x95,0x37,0xf6,0xce,0x51,0x6d);
-DEFINE_GUID(IID_IDVBCLocator,0x6e42f36e,0x1dd2,0x43c4,0x9f,0x78,0x69,0xd2,0x5a,0xe3,0x90,0x34);
-DEFINE_GUID(IID_IDVBSLocator,0x3d7c353c,0x0d04,0x45f1,0xa7,0x42,0xf9,0x7c,0xc1,0x18,0x8d,0xc8);
-DEFINE_GUID(IID_IDVBSTuningSpace,0xcdf7be60,0xd954,0x42fd,0xa9,0x72,0x78,0x97,0x19,0x58,0xe4,0x70);
-DEFINE_GUID(IID_IDVBTLocator,0x8664da16,0xdda2,0x42ac,0x92,0x6a,0xc1,0x8f,0x91,0x27,0xc3,0x02);
-DEFINE_GUID(IID_IDVBTuneRequest,0x0d6f567e,0xa636,0x42bb,0x83,0xba,0xce,0x4c,0x17,0x04,0xaf,0xa2);
-DEFINE_GUID(IID_IDVBTuningSpace,0xada0b268,0x3b19,0x4e5b,0xac,0xc4,0x49,0xf8,0x52,0xbe,0x13,0xba);
-DEFINE_GUID(IID_IDVBTuningSpace2,0x843188b4,0xce62,0x43db,0x96,0x6b,0x81,0x45,0xa0,0x94,0xe0,0x40);
-DEFINE_GUID(IID_IDvdCmd,0x5a4a97e4,0x94ee,0x4a55,0x97,0x51,0x74,0xb5,0x64,0x3a,0xa2,0x7d);
-DEFINE_GUID(IID_IDvdControl,0xa70efe61,0xe2a3,0x11d0,0xa9,0xbe,0x00,0xaa,0x00,0x61,0xbe,0x93);
-DEFINE_GUID(IID_IDvdControl2,0x33bc7430,0xeec0,0x11d2,0x82,0x01,0x00,0xa0,0xc9,0xd7,0x48,0x42);
-DEFINE_GUID(IID_IDvdGraphBuilder,0xfcc152b6,0xf372,0x11d0,0x8e,0x00,0x00,0xc0,0x4f,0xd7,0xc0,0x8b);
-DEFINE_GUID(IID_IDvdInfo,0xa70efe60,0xe2a3,0x11d0,0xa9,0xbe,0x00,0xaa,0x00,0x61,0xbe,0x93);
-DEFINE_GUID(IID_IDvdInfo2,0x34151510,0xeec0,0x11d2,0x82,0x01,0x00,0xa0,0xc9,0xd7,0x48,0x42);
-DEFINE_GUID(IID_IDvdState,0x86303d6d,0x1c4a,0x4087,0xab,0x42,0xf7,0x11,0x16,0x70,0x48,0xef);
-DEFINE_GUID(IID_IDVEnc,0xd18e17a0,0xaacb,0x11d0,0xaf,0xb0,0x00,0xaa,0x00,0xb6,0x7a,0x42);
-DEFINE_GUID(IID_IDVRGB219,0x58473a19,0x2bc8,0x4663,0x80,0x12,0x25,0xf8,0x1b,0xab,0xdd,0xd1);
-DEFINE_GUID(IID_IDVSplitter,0x92a3a302,0xda7c,0x4a1f,0xba,0x7e,0x18,0x02,0xbb,0x5d,0x2d,0x02);
-DEFINE_GUID(IID_IDxtAlphaSetter,0x4ee9ead9,0xda4d,0x43d0,0x93,0x83,0x06,0xb9,0x0c,0x08,0xb1,0x2b);
-DEFINE_GUID(IID_IDxtCompositor,0xbb44391e,0x6abd,0x422f,0x9e,0x2e,0x38,0x5c,0x9d,0xff,0x51,0xfc);
-DEFINE_GUID(IID_IDxtJpeg,0xde75d011,0x7a65,0x11d2,0x8c,0xea,0x00,0xa0,0xc9,0x44,0x1e,0x20);
-DEFINE_GUID(IID_IDxtKey,0x3255de56,0x38fb,0x4901,0xb9,0x80,0x94,0xb4,0x38,0x01,0x0d,0x7b);
-DEFINE_GUID(IID_IEncoderAPI,0x70423839,0x6acc,0x4b23,0xb0,0x79,0x21,0xdb,0xf0,0x81,0x56,0xa5);
-DEFINE_GUID(IID_IEnumComponents,0x2a6e2939,0x2595,0x11d3,0xb6,0x4c,0x00,0xc0,0x4f,0x79,0x49,0x8e);
-DEFINE_GUID(IID_IEnumComponentTypes,0x8a674b4a,0x1f63,0x11d3,0xb6,0x4c,0x00,0xc0,0x4f,0x79,0x49,0x8e);
-DEFINE_GUID(IID_IEnumFilters,0x56a86893,0x0ad4,0x11ce,0xb0,0x3a,0x00,0x20,0xaf,0x0b,0xa7,0x70);
-DEFINE_GUID(IID_IEnumGuideDataProperties,0xae44423b,0x4571,0x475c,0xad,0x2c,0xf4,0xa,0x77,0x1d,0x80,0xef);
-DEFINE_GUID(IID_IEnumMediaTypes,0x89c31040,0x846b,0x11ce,0x97,0xd3,0x00,0xaa,0x00,0x55,0x59,0x5a);
-DEFINE_GUID(IID_IEnumMSVidGraphSegment,0x3dd2903e,0xe0aa,0x11d2,0xb6,0x3a,0x00,0xc0,0x4f,0x79,0x49,0x8e);
-DEFINE_GUID(IID_IEnumPIDMap,0xafb6c2a2,0x2c41,0x11d3,0x8a,0x60,0x00,0x00,0xf8,0x1e,0x0e,0x4a);
-DEFINE_GUID(IID_IEnumPins,0x56a86892,0x0ad4,0x11ce,0xb0,0x3a,0x00,0x20,0xaf,0x0b,0xa7,0x70);
-DEFINE_GUID(IID_IEnumRegFilters,0x56a868a4,0x0ad4,0x11ce,0xb0,0x3a,0x00,0x20,0xaf,0x0b,0xa7,0x70);
-DEFINE_GUID(IID_IEnumStreamBufferRecordingAttrib,0xc18a9162,0x1e82,0x4142,0x8c,0x73,0x56,0x90,0xfa,0x62,0xfe,0x33);
-DEFINE_GUID(IID_IEnumStreamIdMap,0x945c1566,0x6202,0x46fc,0x96,0xc7,0xd8,0x7f,0x28,0x9c,0x65,0x34);
-DEFINE_GUID(IID_IEnumTuneRequests,0x1993299c,0xced6,0x4788,0x87,0xa3,0x42,0,0x67,0xdc,0xe0,0xc7);
-DEFINE_GUID(IID_IEnumTuningSpaces,0x8b8eb248,0xfc2b,0x11d2,0x9d,0x8c,0x00,0xc0,0x4f,0x72,0xd9,0x80);
-DEFINE_GUID(IID_IETFilter,0xc4c4c4b1,0x49,0x4e2b,0x98,0xfb,0x95,0x37,0xf6,0xce,0x51,0x6d);
-DEFINE_GUID(IID_IETFilterConfig,0xc4c4c4d1,0x49,0x4e2b,0x98,0xfb,0x95,0x37,0xf6,0xce,0x51,0x6d);
-DEFINE_GUID(IID_IEvalRat,0xc5c5c5b1,0x3abc,0x11d6,0xb2,0x5b,0,0xc0,0x4f,0xa0,0xc0,0x26);
-DEFINE_GUID(IID_IFileSinkFilter,0xa2104830,0x7c70,0x11cf,0x8b,0xce,0x00,0xaa,0x00,0xa3,0xf1,0xa6);
-DEFINE_GUID(IID_IFileSinkFilter2,0x00855b90,0xce1b,0x11d0,0xbd,0x4f,0x00,0xa0,0xc9,0x11,0xce,0x86);
-DEFINE_GUID(IID_IFileSourceFilter,0x56a868a6,0x0ad4,0x11ce,0xb0,0x3a,0x00,0x20,0xaf,0x0b,0xa7,0x70);
-DEFINE_GUID(IID_IFilterGraph,0x56a8689f,0x0ad4,0x11ce,0xb0,0x3a,0x00,0x20,0xaf,0x0b,0xa7,0x70);
-DEFINE_GUID(IID_IFilterGraph2,0x36b73882,0xc2c8,0x11cf,0x8b,0x46,0x00,0x80,0x5f,0x6c,0xef,0x60);
-DEFINE_GUID(IID_IFilterChain,0xdcfbdcf6,0x0dc2,0x45f5,0x9a,0xb2,0x7c,0x33,0x0e,0xa0,0x9c,0x29);
-DEFINE_GUID(IID_IFilterInfo,0x56a868ba,0x0ad4,0x11ce,0xb0,0x3a,0x00,0x20,0xaf,0x0b,0xa7,0x70);
-DEFINE_GUID(IID_IFilterMapper,0x56a868a3,0x0ad4,0x11ce,0xb0,0x3a,0x00,0x20,0xaf,0x0b,0xa7,0x70);
-DEFINE_GUID(IID_IFilterMapper2,0xb79bb0b0,0x33c1,0x11d1,0xab,0xe1,0x00,0xa0,0xc9,0x05,0xf3,0x75);
-DEFINE_GUID(IID_IFilterMapper3,0xb79bb0b1,0x33c1,0x11d1,0xab,0xe1,0x00,0xa0,0xc9,0x05,0xf3,0x75);
-DEFINE_GUID(IID_IFindCompressorCB,0xf03fa8de,0x879a,0x4d59,0x9b,0x2c,0x26,0xbb,0x1c,0xf8,0x34,0x61);
-DEFINE_GUID(IID_IFrequencyMap,0x6fb45c1,0x693c,0x4ea7,0xb7,0x9f,0x7a,0x6a,0x54,0xd8,0xde,0xf2);
-DEFINE_GUID(IID_IFullScreenVideo,0xdd1d7110,0x7836,0x11cf,0xbf,0x47,0x00,0xaa,0x00,0x55,0x59,0x5a);
-DEFINE_GUID(IID_IFullScreenVideoEx,0x53479470,0xf1dd,0x11cf,0xbc,0x42,0x00,0xaa,0x00,0xac,0x74,0xf6);
-DEFINE_GUID(IID_IGetCapabilitiesKey,0xa8809222,0x7bb,0x48ea,0x95,0x1c,0x33,0x15,0x81,0,0x62,0x5b);
-DEFINE_GUID(IID_IGraphBuilder,0x56a868a9,0x0ad4,0x11ce,0xb0,0x3a,0x00,0x20,0xaf,0x0b,0xa7,0x70);
-DEFINE_GUID(IID_IGraphConfig,0x03a1eb8e,0x32bf,0x4245,0x85,0x02,0x11,0x4d,0x08,0xa9,0xcb,0x88);
-DEFINE_GUID(IID_IGraphConfigCallback,0xade0fd60,0xd19d,0x11d2,0xab,0xf6,0x00,0xa0,0xc9,0x05,0xf3,0x75);
-DEFINE_GUID(IID_IGraphVersion,0x56a868ab,0x0ad4,0x11ce,0xb0,0x3a,0x00,0x20,0xaf,0x0b,0xa7,0x70);
-DEFINE_GUID(IID_IGrfCache,0xae9472be,0xb0c3,0x11d2,0x8d,0x24,0x00,0xa0,0xc9,0x44,0x1e,0x20);
-DEFINE_GUID(IID_IGuideData,0x61571138,0x5b01,0x43cd,0xae,0xaf,0x60,0xb7,0x84,0xa0,0xbf,0x93);
-DEFINE_GUID(IID_IGuideDataEvent,0xefda0c80,0xf395,0x42c3,0x9b,0x3c,0x56,0xb3,0x7d,0xec,0x7b,0xb7);
-DEFINE_GUID(IID_IGuideDataLoader,0x4764ff7c,0xfa95,0x4525,0xaf,0x4d,0xd3,0x22,0x36,0xdb,0x9e,0x38);
-DEFINE_GUID(IID_IGuideDataProperty,0x88ec5e58,0xbb73,0x41d6,0x99,0xce,0x66,0xc5,0x24,0xb8,0xb5,0x91);
-DEFINE_GUID(IID_IChannelTuneRequest,0x0369b4e0,0x45b6,0x11d3,0xb6,0x50,0x00,0xc0,0x4f,0x79,0x49,0x8e);
-DEFINE_GUID(IID_IIPDVDec,0xb8e8bd60,0x0bfe,0x11d0,0xaf,0x91,0x00,0xaa,0x00,0xb6,0x7a,0x42);
-DEFINE_GUID(IID_IKsControl,0x28f54685,0x06fd,0x11d2,0xb2,0x7a,0x00,0xa0,0xc9,0x22,0x31,0x96);
-DEFINE_GUID(IID_IKsDataTypeHandler,0x5ffbaa02,0x49a3,0x11d0,0x9f,0x36,0x00,0xaa,0x00,0xa2,0x16,0xa1);
-DEFINE_GUID(IID_IKsInterfaceHandler,0xd3abc7e0,0x9a61,0x11d0,0xa4,0x0d,0x00,0xa0,0xc9,0x22,0x31,0x96);
-DEFINE_GUID(IID_IKsPin,0xb61178d1,0xa2d9,0x11cf,0x9e,0x53,0x00,0xaa,0x00,0xa2,0x16,0xa1);
-DEFINE_GUID(IID_IKsPinFactory,0xcd5ebe6b,0x8b6e,0x11d1,0x8a,0xe0,0x00,0xa0,0xc9,0x22,0x31,0x96);
-DEFINE_GUID(IID_IKsPropertySet,0x31efac30,0x515c,0x11d0,0xa9,0xaa,0x0,0xaa,0x0,0x61,0xbe,0x93);
-DEFINE_GUID(IID_ILanguageComponentType,0xb874c8ba,0x0fa2,0x11d3,0x9d,0x8e,0x00,0xc0,0x4f,0x72,0xd9,0x80);
-DEFINE_GUID(IID_ILocator,0x286d7f89,0x760c,0x4f89,0x80,0xc4,0x66,0x84,0x1d,0x25,0x07,0xaa);
-DEFINE_GUID(IID_IMediaControl,0x56a868b1,0x0ad4,0x11ce,0xb0,0x3a,0x00,0x20,0xaf,0x0b,0xa7,0x70);
-DEFINE_GUID(IID_IMediaDet,0x65bd0710,0x24d2,0x4ff7,0x93,0x24,0xed,0x2e,0x5d,0x3a,0xba,0xfa);
-DEFINE_GUID(IID_IMediaEvent,0x56a868b6,0x0ad4,0x11ce,0xb0,0x3a,0x00,0x20,0xaf,0x0b,0xa7,0x70);
-DEFINE_GUID(IID_IMediaEventEx,0x56a868c0,0x0ad4,0x11ce,0xb0,0x3a,0x00,0x20,0xaf,0x0b,0xa7,0x70);
-DEFINE_GUID(IID_IMediaEventSink,0x56a868a2,0x0ad4,0x11ce,0xb0,0x3a,0x00,0x20,0xaf,0x0b,0xa7,0x70);
-DEFINE_GUID(IID_IMediaFilter,0x56a86899,0x0ad4,0x11ce,0xb0,0x3a,0x00,0x20,0xaf,0x0b,0xa7,0x70);
-DEFINE_GUID(IID_IMediaLocator,0x288581e0,0x66ce,0x11d2,0x91,0x8f,0x00,0xc0,0xdf,0x10,0xd4,0x34);
-DEFINE_GUID(IID_IMediaPosition,0x56a868b2,0x0ad4,0x11ce,0xb0,0x3a,0x00,0x20,0xaf,0x0b,0xa7,0x70);
-DEFINE_GUID(IID_IMediaPropertyBag,0x6025a880,0xc0d5,0x11d0,0xbd,0x4e,0x00,0xa0,0xc9,0x11,0xce,0x86);
-DEFINE_GUID(IID_IMediaSample,0x56a8689a,0x0ad4,0x11ce,0xb0,0x3a,0x00,0x20,0xaf,0x0b,0xa7,0x70);
-DEFINE_GUID(IID_IMediaSample2,0x36b73884,0xc2c8,0x11cf,0x8b,0x46,0x00,0x80,0x5f,0x6c,0xef,0x60);
-DEFINE_GUID(IID_IMediaSeeking,0x36b73880,0xc2c8,0x11cf,0x8b,0x46,0x00,0x80,0x5f,0x6c,0xef,0x60);
-DEFINE_GUID(IID_IMediaStream,0xb502d1bd,0x9a57,0x11d0,0x8f,0xde,0x00,0xc0,0x4f,0xd9,0x18,0x9d);
-DEFINE_GUID(IID_IMediaStreamFilter,0xbebe595e,0x9a6f,0x11d0,0x8f,0xde,0x00,0xc0,0x4f,0xd9,0x18,0x9d);
-DEFINE_GUID(IID_IMediaTypeInfo,0x56a868bc,0x0ad4,0x11ce,0xb0,0x3a,0x00,0x20,0xaf,0x0b,0xa7,0x70);
-DEFINE_GUID(IID_IMemAllocator,0x56a8689c,0x0ad4,0x11ce,0xb0,0x3a,0x00,0x20,0xaf,0x0b,0xa7,0x70);
-DEFINE_GUID(IID_IMemAllocatorCallbackTemp,0x379a0cf0,0xc1de,0x11d2,0xab,0xf5,0x00,0xa0,0xc9,0x05,0xf3,0x75);
-DEFINE_GUID(IID_IMemAllocatorNotifyCallbackTemp,0x92980b30,0xc1de,0x11d2,0xab,0xf5,0x00,0xa0,0xc9,0x05,0xf3,0x75);
-DEFINE_GUID(IID_IMemInputPin,0x56a8689d,0x0ad4,0x11ce,0xb0,0x3a,0x00,0x20,0xaf,0x0b,0xa7,0x70);
-DEFINE_GUID(IID_IMemoryData,0x327fc560,0xaf60,0x11d0,0x82,0x12,0x00,0xc0,0x4f,0xc3,0x2c,0x45);
-DEFINE_GUID(IID_IMixerOCX,0x81a3bd32,0xdee1,0x11d1,0x85,0x8,0,0xa0,0xc9,0x1f,0x9c,0xa0);
-DEFINE_GUID(IID_IMixerOCXNotify,0x81a3bd31,0xdee1,0x11d1,0x85,0x8,0,0xa0,0xc9,0x1f,0x9c,0xa0);
-DEFINE_GUID(IID_IMixerPinConfig,0x593cdde1,0x0759,0x11d1,0x9e,0x69,0x00,0xc0,0x4f,0xd7,0xc1,0x5b);
-DEFINE_GUID(IID_IMixerPinConfig2,0xebf47182,0x8764,0x11d1,0x9e,0x69,0x00,0xc0,0x4f,0xd7,0xc1,0x5b);
-DEFINE_GUID(IID_IMPEG2_TIF_CONTROL,0xf9bac2f9,0x4149,0x4916,0xb2,0xef,0xfa,0xa2,0x2,0x32,0x68,0x62);
-DEFINE_GUID(IID_IMPEG2Component,0x1493e353,0x1eb6,0x473c,0x80,0x2d,0x8e,0x6b,0x8e,0xc9,0xd2,0xa9);
-DEFINE_GUID(IID_IMPEG2ComponentType,0x2c073d84,0xb51c,0x48c9,0xaa,0x9f,0x68,0x97,0x1e,0x1f,0x6e,0x38);
-DEFINE_GUID(IID_IMpeg2Demultiplexer,0x436eee9c,0x264f,0x4242,0x90,0xe1,0x4e,0x33,0x0c,0x10,0x75,0x12);
-DEFINE_GUID(IID_IMPEG2PIDMap,0xafb6c2a1,0x2c41,0x11d3,0x8a,0x60,0x00,0x00,0xf8,0x1e,0x0e,0x4a);
-DEFINE_GUID(IID_IMPEG2StreamIdMap,0xd0e04c47,0x25b8,0x4369,0x92,0x5a,0x36,0x2a,0x01,0xd9,0x54,0x44);
-DEFINE_GUID(IID_IMPEG2TuneRequest,0xeb7d987f,0x8a01,0x42ad,0xb8,0xae,0x57,0x4d,0xee,0xe4,0x4d,0x1a);
-DEFINE_GUID(IID_IMPEG2TuneRequestFactory,0x14e11abd,0xee37,0x4893,0x9e,0xa1,0x69,0x64,0xde,0x93,0x3e,0x39);
-DEFINE_GUID(IID_IMPEG2TuneRequestSupport,0x1b9d5fc3,0x5bbc,0x4b6c,0xbb,0x18,0xb9,0xd1,0x0e,0x3e,0xee,0xbf);
-DEFINE_GUID(IID_IMpegAudioDecoder,0xb45dd570,0x3c77,0x11d1,0xab,0xe1,0x00,0xa0,0xc9,0x05,0xf3,0x75);
-DEFINE_GUID(IID_IMSEventBinder,0xc3a9f406,0x2222,0x436d,0x86,0xd5,0xba,0x32,0x29,0x27,0x9e,0xfb);
-DEFINE_GUID(IID_IMSVidAnalogTuner,0x1c15d47e,0x911d,0x11d2,0xb6,0x32,0x00,0xc0,0x4f,0x79,0x49,0x8e);
-DEFINE_GUID(IID_IMSVidAnalogTunerEvent,0x1c15d486,0x911d,0x11d2,0xb6,0x32,0x00,0xc0,0x4f,0x79,0x49,0x8e);
-DEFINE_GUID(IID_IMSVidAudioRenderer,0x37b0353f,0xa4c8,0x11d2,0xb6,0x34,0x00,0xc0,0x4f,0x79,0x49,0x8e);
-DEFINE_GUID(IID_IMSVidAudioRendererDevices,0xc5702cd4,0x9b79,0x11d3,0xb6,0x54,0x00,0xc0,0x4f,0x79,0x49,0x8e);
-DEFINE_GUID(IID_IMSVidAudioRendererEvent,0x37b03541,0xa4c8,0x11d2,0xb6,0x34,0x00,0xc0,0x4f,0x79,0x49,0x8e);
-DEFINE_GUID(IID_IMSVidCAGSeg,0x1600d101,0x6666,0x4f66,0xb1,0xe2,0xbf,0x3c,0x9f,0xbb,0x9b,0xa6);
-DEFINE_GUID(IID_IMSVidClosedCaptioning,0x99652ea1,0xc1f7,0x414f,0xbb,0x7b,0x1c,0x96,0x7d,0xe7,0x59,0x83);
-DEFINE_GUID(IID_IMSVidClosedCaptioning2,0xe00cb864,0xa029,0x4310,0x99,0x87,0xa8,0x73,0xf5,0x88,0x7d,0x97);
-DEFINE_GUID(IID_IMSVidCompositionSegment,0x1c15d483,0x911d,0x11d2,0xb6,0x32,0x00,0xc0,0x4f,0x79,0x49,0x8e);
-DEFINE_GUID(IID_IMSVidCtl,0xb0edf162,0x910a,0x11d2,0xb6,0x32,0x00,0xc0,0x4f,0x79,0x49,0x8e);
-DEFINE_GUID(IID_IMSVidDataServices,0x334125c1,0x77e5,0x11d3,0xb6,0x53,0x00,0xc0,0x4f,0x79,0x49,0x8e);
-DEFINE_GUID(IID_IMSVidDataServicesEvent,0x334125c2,0x77e5,0x11d3,0xb6,0x53,0x00,0xc0,0x4f,0x79,0x49,0x8e);
-DEFINE_GUID(IID_IMSVidDevice,0x1c15d47c,0x911d,0x11d2,0xb6,0x32,0x00,0xc0,0x4f,0x79,0x49,0x8e);
-DEFINE_GUID(IID_IMSVidDeviceEvent,0x1c15d480,0x911d,0x11d2,0xb6,0x32,0x00,0xc0,0x4f,0x79,0x49,0x8e);
-DEFINE_GUID(IID_IMSVidEncoder,0xc0020fd4,0xbee7,0x43d9,0xa4,0x95,0x9f,0x21,0x31,0x17,0x10,0x3d);
-DEFINE_GUID(IID_IMSVidFeature,0x37b03547,0xa4c8,0x11d2,0xb6,0x34,0x00,0xc0,0x4f,0x79,0x49,0x8e);
-DEFINE_GUID(IID_IMSVidFeatureEvent,0x3dd2903c,0xe0aa,0x11d2,0xb6,0x3a,0x00,0xc0,0x4f,0x79,0x49,0x8e);
-DEFINE_GUID(IID_IMSVidFeatures,0xc5702cd5,0x9b79,0x11d3,0xb6,0x54,0x00,0xc0,0x4f,0x79,0x49,0x8e);
-DEFINE_GUID(IID_IMSVidFilePlayback,0x37b03539,0xa4c8,0x11d2,0xb6,0x34,0x00,0xc0,0x4f,0x79,0x49,0x8e);
-DEFINE_GUID(IID_IMSVidFilePlaybackEvent,0x37b0353a,0xa4c8,0x11d2,0xb6,0x34,0x00,0xc0,0x4f,0x79,0x49,0x8e);
-DEFINE_GUID(IID_IMSVidGraphSegment,0x1c15d482,0x911d,0x11d2,0xb6,0x32,0x00,0xc0,0x4f,0x79,0x49,0x8e);
-DEFINE_GUID(IID_IMSVidGraphSegmentContainer,0x3dd2903d,0xe0aa,0x11d2,0xb6,0x3a,0x00,0xc0,0x4f,0x79,0x49,0x8e);
-DEFINE_GUID(IID_IMSVidGraphSegmentUserInput,0x301c060e,0x20d9,0x4587,0x9b,0x03,0xf8,0x2e,0xd9,0xa9,0x94,0x3c);
-DEFINE_GUID(IID_IMSVidInputDevice,0x37b0353d,0xa4c8,0x11d2,0xb6,0x34,0x00,0xc0,0x4f,0x79,0x49,0x8e);
-DEFINE_GUID(IID_IMSVidInputDeviceEvent,0x37b0353e,0xa4c8,0x11d2,0xb6,0x34,0x00,0xc0,0x4f,0x79,0x49,0x8e);
-DEFINE_GUID(IID_IMSVidInputDevices,0xc5702cd1,0x9b79,0x11d3,0xb6,0x54,0x00,0xc0,0x4f,0x79,0x49,0x8e);
-DEFINE_GUID(IID_IMSVidOutputDevice,0x37b03546,0xa4c8,0x11d2,0xb6,0x34,0x00,0xc0,0x4f,0x79,0x49,0x8e);
-DEFINE_GUID(IID_IMSVidOutputDeviceEvent,0x2e6a14e2,0x571c,0x11d3,0xb6,0x52,0x00,0xc0,0x4f,0x79,0x49,0x8e);
-DEFINE_GUID(IID_IMSVidOutputDevices,0xc5702cd2,0x9b79,0x11d3,0xb6,0x54,0x00,0xc0,0x4f,0x79,0x49,0x8e);
-DEFINE_GUID(IID_IMSVidPlayback,0x37b03538,0xa4c8,0x11d2,0xb6,0x34,0x00,0xc0,0x4f,0x79,0x49,0x8e);
-DEFINE_GUID(IID_IMSVidPlaybackEvent,0x37b0353b,0xa4c8,0x11d2,0xb6,0x34,0x00,0xc0,0x4f,0x79,0x49,0x8e);
-DEFINE_GUID(IID_IMSVidRect,0x7f5000a6,0xa440,0x47ca,0x8a,0xcc,0xc0,0xe7,0x55,0x31,0xa2,0xc2);
-DEFINE_GUID(IID_IMSVidStreamBufferRecordingControl,0x160621aa,0xbbbc,0x4326,0xa8,0x24,0xc3,0x95,0xae,0xbc,0x6e,0x74);
-DEFINE_GUID(IID_IMSVidStreamBufferSink,0x159dbb45,0xcd1b,0x4dab,0x83,0xea,0x5c,0xb1,0xf4,0xf2,0x1d,0x7);
-DEFINE_GUID(IID_IMSVidStreamBufferSinkEvent,0xf798a36b,0xb05b,0x4bbe,0x97,0x3,0xea,0xea,0x7d,0x61,0xcd,0x51);
-DEFINE_GUID(IID_IMSVidStreamBufferSource,0xeb0c8cf9,0x6950,0x4772,0x87,0xb1,0x47,0xd1,0x1c,0xf3,0xa0,0x2f);
-DEFINE_GUID(IID_IMSVidStreamBufferSourceEvent,0x50ce8a7d,0x9c28,0x4da8,0x90,0x42,0xcd,0xfa,0x71,0x16,0xf9,0x79);
-DEFINE_GUID(IID_IMSVidTuner,0x1c15d47d,0x911d,0x11d2,0xb6,0x32,0x00,0xc0,0x4f,0x79,0x49,0x8e);
-DEFINE_GUID(IID_IMSVidTunerEvent,0x1c15d485,0x911d,0x11d2,0xb6,0x32,0x00,0xc0,0x4f,0x79,0x49,0x8e);
-DEFINE_GUID(IID_IMSVidTVEGSeg,0x1600d001,0x6666,0x4f66,0xb1,0xe2,0xbf,0x3c,0x9f,0xbb,0x9b,0xa6);
-DEFINE_GUID(IID_IMSVidVideoInputDevice,0x1c15d47f,0x911d,0x11d2,0xb6,0x32,0x00,0xc0,0x4f,0x79,0x49,0x8e);
-DEFINE_GUID(IID_IMSVidVideoRenderer,0x37b03540,0xa4c8,0x11d2,0xb6,0x34,0x00,0xc0,0x4f,0x79,0x49,0x8e);
-DEFINE_GUID(IID_IMSVidVideoRenderer2,0x6bdd5c1e,0x2810,0x4159,0x94,0xbc,0x5,0x51,0x1a,0xe8,0x54,0x9b);
-DEFINE_GUID(IID_IMSVidVideoRendererDevices,0xc5702cd3,0x9b79,0x11d3,0xb6,0x54,0x00,0xc0,0x4f,0x79,0x49,0x8e);
-DEFINE_GUID(IID_IMSVidVideoRendererEvent,0x37b03545,0xa4c8,0x11d2,0xb6,0x34,0x00,0xc0,0x4f,0x79,0x49,0x8e);
-DEFINE_GUID(IID_IMSVidVideoRendererEvent2,0x7145ed66,0x4730,0x4fdb,0x8a,0x53,0xfd,0xe7,0x50,0x8d,0x3e,0x5e);
-DEFINE_GUID(IID_IMSVidVRGraphSegment,0xdd47de3f,0x9874,0x4f7b,0x8b,0x22,0x7c,0xb2,0x68,0x84,0x61,0xe7);
-DEFINE_GUID(IID_IMSVidWebDVD,0xcf45f88b,0xac56,0x4ee2,0xa7,0x3a,0xed,0x04,0xe2,0x88,0x5d,0x3c);
-DEFINE_GUID(IID_IMSVidWebDVDAdm,0xb8be681a,0xeb2c,0x47f0,0xb4,0x15,0x94,0xd5,0x45,0x2f,0x0e,0x05);
-DEFINE_GUID(IID_IMSVidWebDVDEvent,0xb4f7a674,0x9b83,0x49cb,0xa3,0x57,0xc6,0x3b,0x87,0x1b,0xe9,0x58);
-DEFINE_GUID(IID_IMSVidXDS,0x11ebc158,0xe712,0x4d1f,0x8b,0xb3,0x1,0xed,0x52,0x74,0xc4,0xce);
-DEFINE_GUID(IID_IMultiMediaStream,0xb502d1bc,0x9a57,0x11d0,0x8f,0xde,0x00,0xc0,0x4f,0xd9,0x18,0x9d);
-DEFINE_GUID(IID_IOverlay,0x56a868a1,0x0ad4,0x11ce,0xb0,0x3a,0x00,0x20,0xaf,0x0b,0xa7,0x70);
-DEFINE_GUID(IID_IOverlayNotify,0x56a868a0,0x0ad4,0x11ce,0xb0,0x3a,0x00,0x20,0xaf,0x0b,0xa7,0x70);
-DEFINE_GUID(IID_IOverlayNotify2,0x680efa10,0xd535,0x11d1,0x87,0xc8,0x00,0xa0,0xc9,0x22,0x31,0x96);
-DEFINE_GUID(IID_IPersistMediaPropertyBag,0x5738e040,0xb67f,0x11d0,0xbd,0x4d,0x00,0xa0,0xc9,0x11,0xce,0x86);
-DEFINE_GUID(IID_IPin,0x56a86891,0x0ad4,0x11ce,0xb0,0x3a,0x00,0x20,0xaf,0x0b,0xa7,0x70);
-DEFINE_GUID(IID_IPinConnection,0x4a9a62d3,0x27d4,0x403d,0x91,0xe9,0x89,0xf5,0x40,0xe5,0x55,0x34);
-DEFINE_GUID(IID_IPinFlowControl,0xc56e9858,0xdbf3,0x4f6b,0x81,0x19,0x38,0x4a,0xf2,0x06,0x0d,0xeb);
-DEFINE_GUID(IID_IPinInfo,0x56a868bd,0x0ad4,0x11ce,0xb0,0x3a,0x00,0x20,0xaf,0x0b,0xa7,0x70);
-DEFINE_GUID(IID_IPropertySetter,0xae9472bd,0xb0c3,0x11d2,0x8d,0x24,0x00,0xa0,0xc9,0x44,0x1e,0x20);
-DEFINE_GUID(IID_IQualityControl,0x56a868a5,0x0ad4,0x11ce,0xb0,0x3a,0x00,0x20,0xaf,0x0b,0xa7,0x70);
-DEFINE_GUID(IID_IQualProp,0x1bd0ecb0,0xf8e2,0x11ce,0xaa,0xc6,0x00,0x20,0xaf,0x0b,0x99,0xa3);
-DEFINE_GUID(IID_IQueueCommand,0x56a868b7,0x0ad4,0x11ce,0xb0,0x3a,0x00,0x20,0xaf,0x0b,0xa7,0x70);
-DEFINE_GUID(IID_IReferenceClock,0x56a86897,0x0ad4,0x11ce,0xb0,0x3a,0x00,0x20,0xaf,0x0b,0xa7,0x70);
-DEFINE_GUID(IID_IReferenceClock2,0x36b73885,0xc2c8,0x11cf,0x8b,0x46,0x00,0x80,0x5f,0x6c,0xef,0x60);
-DEFINE_GUID(IID_IRegFilterInfo,0x56a868bb,0x0ad4,0x11ce,0xb0,0x3a,0x00,0x20,0xaf,0x0b,0xa7,0x70);
-DEFINE_GUID(IID_IRegisterServiceProvider,0x7b3a2f01,0x0751,0x48dd,0xb5,0x56,0x00,0x47,0x85,0x17,0x1c,0x54);
-DEFINE_GUID(IID_IRenderEngine,0x6bee3a81,0x66c9,0x11d2,0x91,0x8f,0x00,0xc0,0xdf,0x10,0xd4,0x34);
-DEFINE_GUID(IID_IRenderEngine2,0x6bee3a82,0x66c9,0x11d2,0x91,0x8f,0,0xc0,0xdf,0x10,0xd4,0x34);
-DEFINE_GUID(IID_IResize,0x4ada63a0,0x72d5,0x11d2,0x95,0x2a,0,0x60,0x8,0x18,0x40,0xbc);
-DEFINE_GUID(IID_IResourceConsumer,0x56a868ad,0x0ad4,0x11ce,0xb0,0x3a,0x00,0x20,0xaf,0x0b,0xa7,0x70);
-DEFINE_GUID(IID_IResourceManager,0x56a868ac,0x0ad4,0x11ce,0xb0,0x3a,0x00,0x20,0xaf,0x0b,0xa7,0x70);
-DEFINE_GUID(IID_ISampleGrabber,0x6b652fff,0x11fe,0x4fce,0x92,0xad,0x02,0x66,0xb5,0xd7,0xc7,0x8f);
-DEFINE_GUID(IID_ISampleGrabberCB,0x0579154a,0x2b53,0x4994,0xb0,0xd0,0xe7,0x73,0x14,0x8e,0xff,0x85);
-DEFINE_GUID(IID_IScanningTuner,0x1dfd0a5c,0x0284,0x11d3,0x9d,0x8e,0x00,0xc0,0x4f,0x72,0xd9,0x80);
-DEFINE_GUID(IID_ISeekingPassThru,0x36b73883,0xc2c8,0x11cf,0x8b,0x46,0x00,0x80,0x5f,0x6c,0xef,0x60);
-DEFINE_GUID(IID_ISignalEvents,0x85e2439e,0x0e23,0x11d3,0x9d,0x8e,0x00,0xc0,0x4f,0x72,0xd9,0x80);
-DEFINE_GUID(IID_ISmartRenderEngine,0xf03fa8ce,0x879a,0x4d59,0x9b,0x2c,0x26,0xbb,0x1c,0xf8,0x34,0x61);
-DEFINE_GUID(IID_IStreamBufferConfigure,0xce14dfae,0x4098,0x4af7,0xbb,0xf7,0xd6,0x51,0x1f,0x83,0x54,0x14);
-DEFINE_GUID(IID_IStreamBufferInitialize,0x9ce50f2d,0x6ba7,0x40fb,0xa0,0x34,0x50,0xb1,0xa6,0x74,0xec,0x78);
-DEFINE_GUID(IID_IStreamBufferMediaSeeking,0xf61f5c26,0x863d,0x4afa,0xb0,0xba,0x2f,0x81,0xdc,0x97,0x85,0x96);
-DEFINE_GUID(IID_IStreamBufferRecComp,0x9e259a9b,0x8815,0x42ae,0xb0,0x9f,0x22,0x19,0x70,0xb1,0x54,0xfd);
-DEFINE_GUID(IID_IStreamBufferRecordControl,0xba9b6c99,0xf3c7,0x4ff2,0x92,0xdb,0xcf,0xdd,0x48,0x51,0xbf,0x31);
-DEFINE_GUID(IID_IStreamBufferRecordingAttribute,0x16ca4e03,0xfe69,0x4705,0xbd,0x41,0x5b,0x7d,0xfc,0xc,0x95,0xf3);
-DEFINE_GUID(IID_IStreamBufferSink,0xafd1f242,0x7efd,0x45ee,0xba,0x4e,0x40,0x7a,0x25,0xc9,0xa7,0x7a);
-DEFINE_GUID(IID_IStreamBufferSource,0x1c5bd776,0x6ced,0x4f44,0x81,0x64,0x5e,0xab,0xe,0x98,0xdb,0x12);
-DEFINE_GUID(IID_IStreamBuilder,0x56a868bf,0x0ad4,0x11ce,0xb0,0x3a,0x00,0x20,0xaf,0x0b,0xa7,0x70);
-DEFINE_GUID(IID_IStreamSample,0xb502d1be,0x9a57,0x11d0,0x8f,0xde,0x00,0xc0,0x4f,0xd9,0x18,0x9d);
-DEFINE_GUID(IID_ITuner,0x28c52640,0x018a,0x11d3,0x9d,0x8e,0x00,0xc0,0x4f,0x72,0xd9,0x80);
-DEFINE_GUID(IID_ITuneRequest,0x07ddc146,0xfc3d,0x11d2,0x9d,0x8c,0x00,0xc0,0x4f,0x72,0xd9,0x80);
-DEFINE_GUID(IID_ITuneRequestInfo,0xa3b152df,0x7a90,0x4218,0xac,0x54,0x98,0x30,0xbe,0xe8,0xc0,0xb6);
-DEFINE_GUID(IID_ITunerEvents,0x68481420,0x0280,0x11d3,0x9d,0x8e,0x00,0xc0,0x4f,0x72,0xd9,0x80);
-DEFINE_GUID(IID_ITuningSpace,0x061c6e30,0xe622,0x11d2,0x94,0x93,0x00,0xc0,0x4f,0x72,0xd9,0x80);
-DEFINE_GUID(IID_ITuningSpaceContainer,0x5b692e84,0xe2f1,0x11d2,0x94,0x93,0x00,0xc0,0x4f,0x72,0xd9,0x80);
-DEFINE_GUID(IID_ITuningSpaces,0x901284e4,0x33fe,0x4b69,0x8d,0x63,0x63,0x4a,0x59,0x6f,0x37,0x56);
-DEFINE_GUID(IID_ITVEAttrMap,0x05500121,0xfaa5,0x4df9,0x82,0x46,0xbf,0xc2,0x3a,0xc5,0xce,0xa8);
-DEFINE_GUID(IID_ITVEAttrTimeQ,0x05500122,0xfaa5,0x4df9,0x82,0x46,0xbf,0xc2,0x3a,0xc5,0xce,0xa8);
-DEFINE_GUID(IID_ITVECBAnnc,0x05500141,0xfaa5,0x4df9,0x82,0x46,0xbf,0xc2,0x3a,0xc5,0xce,0xa8);
-DEFINE_GUID(IID_ITVECBDummy,0x05500144,0xfaa5,0x4df9,0x82,0x46,0xbf,0xc2,0x3a,0xc5,0xce,0xa8);
-DEFINE_GUID(IID_ITVECBFile,0x05500143,0xfaa5,0x4df9,0x82,0x46,0xbf,0xc2,0x3a,0xc5,0xce,0xa8);
-DEFINE_GUID(IID_ITVECBTrig,0x05500142,0xfaa5,0x4df9,0x82,0x46,0xbf,0xc2,0x3a,0xc5,0xce,0xa8);
-DEFINE_GUID(IID_ITVEEnhancement,0x05500104,0xfaa5,0x4df9,0x82,0x46,0xbf,0xc2,0x3a,0xc5,0xce,0xa8);
-DEFINE_GUID(IID_ITVEEnhancement_Helper,0x05500204,0xfaa5,0x4df9,0x82,0x46,0xbf,0xc2,0x3a,0xc5,0xce,0xa8);
-DEFINE_GUID(IID_ITVEEnhancements,0x05500114,0xfaa5,0x4df9,0x82,0x46,0xbf,0xc2,0x3a,0xc5,0xce,0xa8);
-DEFINE_GUID(IID_ITVEFeature,0x05500305,0xfaa5,0x4df9,0x82,0x46,0xbf,0xc2,0x3a,0xc5,0xce,0xa8);
-DEFINE_GUID(IID_ITVEFile,0x05500151,0xfaa5,0x4df9,0x82,0x46,0xbf,0xc2,0x3a,0xc5,0xce,0xa8);
-DEFINE_GUID(IID_ITVEFilter,0x05500180,0xfaa5,0x4df9,0x82,0x46,0xbf,0xc2,0x3a,0xc5,0xce,0xa8);
-DEFINE_GUID(IID_ITVEFilter_Helper,0x05500280,0xfaa5,0x4df9,0x82,0x46,0xbf,0xc2,0x3a,0xc5,0xce,0xa8);
-DEFINE_GUID(IID_ITVEMCast,0x05500130,0xfaa5,0x4df9,0x82,0x46,0xbf,0xc2,0x3a,0xc5,0xce,0xa8);
-DEFINE_GUID(IID_ITVEMCastCallback,0x05500133,0xfaa5,0x4df9,0x82,0x46,0xbf,0xc2,0x3a,0xc5,0xce,0xa8);
-DEFINE_GUID(IID_ITVEMCastManager,0x05500132,0xfaa5,0x4df9,0x82,0x46,0xbf,0xc2,0x3a,0xc5,0xce,0xa8);
-DEFINE_GUID(IID_ITVEMCastManager_Helper,0x05500232,0xfaa5,0x4df9,0x82,0x46,0xbf,0xc2,0x3a,0xc5,0xce,0xa8);
-DEFINE_GUID(IID_ITVEMCasts,0x05500131,0xfaa5,0x4df9,0x82,0x46,0xbf,0xc2,0x3a,0xc5,0xce,0xa8);
-DEFINE_GUID(IID_ITVENavAid,0x05500160,0xfaa5,0x4df9,0x82,0x46,0xbf,0xc2,0x3a,0xc5,0xce,0xa8);
-DEFINE_GUID(IID_ITVENavAid_Helper,0x05500260,0xfaa5,0x4df9,0x82,0x46,0xbf,0xc2,0x3a,0xc5,0xce,0xa8);
-DEFINE_GUID(IID_ITVENavAid_NoVidCtl,0x05500360,0xfaa5,0x4df9,0x82,0x46,0xbf,0xc2,0x3a,0xc5,0xce,0xa8);
-DEFINE_GUID(IID_ITVEService,0x05500105,0xfaa5,0x4df9,0x82,0x46,0xbf,0xc2,0x3a,0xc5,0xce,0xa8);
-DEFINE_GUID(IID_ITVEService_Helper,0x05500205,0xfaa5,0x4df9,0x82,0x46,0xbf,0xc2,0x3a,0xc5,0xce,0xa8);
-DEFINE_GUID(IID_ITVEServices,0x05500115,0xfaa5,0x4df9,0x82,0x46,0xbf,0xc2,0x3a,0xc5,0xce,0xa8);
-DEFINE_GUID(IID_ITVESupervisor,0x05500106,0xfaa5,0x4df9,0x82,0x46,0xbf,0xc2,0x3a,0xc5,0xce,0xa8);
-DEFINE_GUID(IID_ITVESupervisor_Helper,0x05500206,0xfaa5,0x4df9,0x82,0x46,0xbf,0xc2,0x3a,0xc5,0xce,0xa8);
-DEFINE_GUID(IID_ITVESupervisorGITProxy,0x05500306,0xfaa5,0x4df9,0x82,0x46,0xbf,0xc2,0x3a,0xc5,0xce,0xa8);
-DEFINE_GUID(IID_ITVETrack,0x05500102,0xfaa5,0x4df9,0x82,0x46,0xbf,0xc2,0x3a,0xc5,0xce,0xa8);
-DEFINE_GUID(IID_ITVETrack_Helper,0x05500202,0xfaa5,0x4df9,0x82,0x46,0xbf,0xc2,0x3a,0xc5,0xce,0xa8);
-DEFINE_GUID(IID_ITVETracks,0x05500112,0xfaa5,0x4df9,0x82,0x46,0xbf,0xc2,0x3a,0xc5,0xce,0xa8);
-DEFINE_GUID(IID_ITVETrigger,0x05500101,0xfaa5,0x4df9,0x82,0x46,0xbf,0xc2,0x3a,0xc5,0xce,0xa8);
-DEFINE_GUID(IID_ITVETrigger_Helper,0x05500201,0xfaa5,0x4df9,0x82,0x46,0xbf,0xc2,0x3a,0xc5,0xce,0xa8);
-DEFINE_GUID(IID_ITVETriggerCtrl,0x05500190,0xfaa5,0x4df9,0x82,0x46,0xbf,0xc2,0x3a,0xc5,0xce,0xa8);
-DEFINE_GUID(IID_ITVETriggerCtrl_Helper,0x05500191,0xfaa5,0x4df9,0x82,0x46,0xbf,0xc2,0x3a,0xc5,0xce,0xa8);
-DEFINE_GUID(IID_ITVEVariation,0x05500103,0xfaa5,0x4df9,0x82,0x46,0xbf,0xc2,0x3a,0xc5,0xce,0xa8);
-DEFINE_GUID(IID_ITVEVariation_Helper,0x05500203,0xfaa5,0x4df9,0x82,0x46,0xbf,0xc2,0x3a,0xc5,0xce,0xa8);
-DEFINE_GUID(IID_ITVEVariations,0x05500113,0xfaa5,0x4df9,0x82,0x46,0xbf,0xc2,0x3a,0xc5,0xce,0xa8);
-DEFINE_GUID(IID_IVideoEncoder,0x2997c3b,0x8e1b,0x460e,0x92,0x70,0x54,0x5e,0xd,0xe9,0x56,0x3e);
-DEFINE_GUID(IID_IVideoFrameStep,0xe46a9787,0x2b71,0x444d,0xa4,0xb5,0x1f,0xab,0x7b,0x70,0x8d,0x6a);
-DEFINE_GUID(IID_IVideoWindow,0x56a868b4,0x0ad4,0x11ce,0xb0,0x3a,0x00,0x20,0xaf,0x0b,0xa7,0x70);
-DEFINE_GUID(IID_IVMRAspectRatioControl,0xede80b5c,0xbad6,0x4623,0xb5,0x37,0x65,0x58,0x6c,0x9f,0x8d,0xfd);
-DEFINE_GUID(IID_IVMRAspectRatioControl9,0xd96c29,0xbbde,0x4efc,0x99,0x1,0xbb,0x50,0x36,0x39,0x21,0x46);
-DEFINE_GUID(IID_IVMRDeinterlaceControl,0xbb057577,0xdb8,0x4e6a,0x87,0xa7,0x1a,0x8c,0x9a,0x50,0x5a,0xf);
-DEFINE_GUID(IID_IVMRDeinterlaceControl9,0xa215fb8d,0x13c2,0x4f7f,0x99,0x3c,0,0x3d,0x62,0x71,0xa4,0x59);
-DEFINE_GUID(IID_IVMRFilterConfig,0x9e5530c5,0x7034,0x48b4,0xbb,0x46,0x0b,0x8a,0x6e,0xfc,0x8e,0x36);
-DEFINE_GUID(IID_IVMRFilterConfig9,0x5a804648,0x4f66,0x4867,0x9c,0x43,0x4f,0x5c,0x82,0x2c,0xf1,0xb8);
-DEFINE_GUID(IID_IVMRImageCompositor,0x7a4fb5af,0x479f,0x4074,0xbb,0x40,0xce,0x67,0x22,0xe4,0x3c,0x82);
-DEFINE_GUID(IID_IVMRImageCompositor9,0x4a5c89eb,0xdf51,0x4654,0xac,0x2a,0xe4,0x8e,0x2,0xbb,0xab,0xf6);
-DEFINE_GUID(IID_IVMRImagePresenter,0xce704fe7,0xe71e,0x41fb,0xba,0xa2,0xc4,0x40,0x3e,0x11,0x82,0xf5);
-DEFINE_GUID(IID_IVMRImagePresenter9,0x69188c61,0x12a3,0x40f0,0x8f,0xfc,0x34,0x2e,0x7b,0x43,0x3f,0xd7);
-DEFINE_GUID(IID_IVMRImagePresenterConfig,0x9f3a1c85,0x8555,0x49ba,0x93,0x5f,0xbe,0x5b,0x5b,0x29,0xd1,0x78);
-DEFINE_GUID(IID_IVMRImagePresenterConfig9,0x45c15cab,0x6e22,0x420a,0x80,0x43,0xae,0x1f,0xa,0xc0,0x2c,0x7d);
-DEFINE_GUID(IID_IVMRImagePresenterExclModeConfig,0xe6f7ce40,0x4673,0x44f1,0x8f,0x77,0x54,0x99,0xd6,0x8c,0xb4,0xea);
-DEFINE_GUID(IID_IVMRMixerBitmap,0x1e673275,0x0257,0x40aa,0xaf,0x20,0x7c,0x60,0x8d,0x4a,0x04,0x28);
-DEFINE_GUID(IID_IVMRMixerBitmap9,0xced175e5,0x1935,0x4820,0x81,0xbd,0xff,0x6a,0xd0,0xc,0x91,0x8);
-DEFINE_GUID(IID_IVMRMixerControl,0x1c1a17b0,0xbed0,0x415d,0x97,0x4b,0xdc,0x66,0x96,0x13,0x15,0x99);
-DEFINE_GUID(IID_IVMRMixerControl9,0x1a777eaa,0x47c8,0x4930,0xb2,0xc9,0x8f,0xee,0x1c,0x1b,0xf,0x3b);
-DEFINE_GUID(IID_IVMRMonitorConfig,0x9cf0b1b6,0xfbaa,0x4b7f,0x88,0xcf,0xcf,0x1f,0x13,0x0a,0x0d,0xce);
-DEFINE_GUID(IID_IVMRMonitorConfig9,0x46c2e457,0x8ba0,0x4eef,0xb8,0xb,0x6,0x80,0xf0,0x97,0x87,0x49);
-DEFINE_GUID(IID_IVMRSurface,0xa9849bbe,0x9ec8,0x4263,0xb7,0x64,0x62,0x73,0x0f,0x0d,0x15,0xd0);
-DEFINE_GUID(IID_IVMRSurface9,0xdfc581a1,0x6e1f,0x4c3a,0x8d,0xa,0x5e,0x97,0x92,0xea,0x2a,0xfc);
-DEFINE_GUID(IID_IVMRSurfaceAllocator,0x31ce832e,0x4484,0x458b,0x8c,0xca,0xf4,0xd7,0xe3,0xdb,0x0b,0x52);
-DEFINE_GUID(IID_IVMRSurfaceAllocator9,0x8d5148ea,0x3f5d,0x46cf,0x9d,0xf1,0xd1,0xb8,0x96,0xee,0xdb,0x1f);
-DEFINE_GUID(IID_IVMRSurfaceAllocatorNotify,0xaada05a8,0x5a4e,0x4729,0xaf,0x0b,0xce,0xa2,0x7a,0xed,0x51,0xe2);
-DEFINE_GUID(IID_IVMRSurfaceAllocatorNotify9,0xdca3f5df,0xbb3a,0x4d03,0xbd,0x81,0x84,0x61,0x4b,0xfb,0xfa,0xc);
-DEFINE_GUID(IID_IVMRVideoStreamControl,0x058d1f11,0x2a54,0x4bef,0xbd,0x54,0xdf,0x70,0x66,0x26,0xb7,0x27);
-DEFINE_GUID(IID_IVMRVideoStreamControl9,0xd0cfe38b,0x93e7,0x4772,0x89,0x57,0x4,0,0xc4,0x9a,0x44,0x85);
-DEFINE_GUID(IID_IVMRWindowlessControl,0x0eb1088c,0x4dcd,0x46f0,0x87,0x8f,0x39,0xda,0xe8,0x6a,0x51,0xb7);
-DEFINE_GUID(IID_IVMRWindowlessControl9,0x8f537d09,0xf85e,0x4414,0xb2,0x3b,0x50,0x2e,0x54,0xc7,0x99,0x27);
-DEFINE_GUID(IID_IVPConfig,0xbc29a660,0x30e3,0x11d0,0x9e,0x69,0x00,0xc0,0x4f,0xd7,0xc1,0x5b);
-DEFINE_GUID(IID_IVPManager,0xaac18c18,0xe186,0x46d2,0x82,0x5d,0xa1,0xf8,0xdc,0x8e,0x39,0x5a);
-DEFINE_GUID(IID_IVPControl,0x25df12c1,0x3de0,0x11d1,0x9e,0x69,0x00,0xc0,0x4f,0xd7,0xc1,0x5b);
-DEFINE_GUID(IID_IVPNotify,0xc76794a1,0xd6c5,0x11d0,0x9e,0x69,0x00,0xc0,0x4f,0xd7,0xc1,0x5b);
-DEFINE_GUID(IID_IVPNotify2,0xebf47183,0x8764,0x11d1,0x9e,0x69,0x00,0xc0,0x4f,0xd7,0xc1,0x5b);
-DEFINE_GUID(IID_IVPObject,0xce292862,0xfc88,0x11d0,0x9e,0x69,0x00,0xc0,0x4f,0xd7,0xc1,0x5b);
-DEFINE_GUID(IID_IVPVBIConfig,0xec529b00,0x1a1f,0x11d1,0xba,0xd9,0x00,0x60,0x97,0x44,0x11,0x1a);
-DEFINE_GUID(IID_IVPVBINotify,0xec529b01,0x1a1f,0x11d1,0xba,0xd9,0x00,0x60,0x97,0x44,0x11,0x1a);
-DEFINE_GUID(IID_IVPVBIObject,0x814b9802,0x1c88,0x11d1,0xba,0xd9,0x00,0x60,0x97,0x44,0x11,0x1a);
-DEFINE_GUID(IID_IXDSCodec,0xc4c4c4b3,0x49,0x4e2b,0x98,0xfb,0x95,0x37,0xf6,0xce,0x51,0x6d);
-DEFINE_GUID(IID_IXDSCodecConfig,0xc4c4c4d3,0x49,0x4e2b,0x98,0xfb,0x95,0x37,0xf6,0xce,0x51,0x6d);
-DEFINE_GUID(IID_IXDSToRat,0xc5c5c5b0,0x3abc,0x11d6,0xb2,0x5b,0,0xc0,0x4f,0xa0,0xc0,0x26);
-DEFINE_GUID(IID_IXml2Dex,0x18c628ed,0x962a,0x11d2,0x8d,0x08,0x00,0xa0,0xc9,0x44,0x1e,0x20);
-DEFINE_GUID(LIBID_DexterLib,0x78530b68,0x61f9,0x11d2,0x8c,0xad,0,0xa0,0x24,0x58,0x9,0x2);
-DEFINE_GUID(LIBID_DirectShowStreamLib,0x4e6cde29,0xc0c4,0x11d0,0x8f,0xf1,0,0xc0,0x4f,0xd9,0x18,0x9d);
-DEFINE_GUID(LIBID_EncDec,0xc4c4c400,0x49,0x4e2b,0x98,0xfb,0x95,0x37,0xf6,0xce,0x51,0x6d);
-DEFINE_GUID(LIBID_MSTvCALib,0x11166000,0xdf8a,0x463a,0xb6,0x20,0x7b,0xec,0x23,0x54,0x20,0x10);
-DEFINE_GUID(LIBID_MSTvELib,0x1700c001,0x6666,0x4f66,0xb1,0xe2,0xbf,0x3c,0x9f,0xbb,0x9b,0xa6);
-DEFINE_GUID(LIBID_MSVidCtlLib,0xb0edf154,0x910a,0x11d2,0xb6,0x32,0,0xc0,0x4f,0x79,0x49,0x8e);
-DEFINE_GUID(LIBID_PSISLOADLib,0x8224a083,0x7f8c,0x432d,0xb8,0x3e,0x3c,0x5e,0x9b,0xde,0x35,0x28);
-DEFINE_GUID(LIBID_QuartzTypeLib,0x56a868b0,0xad4,0x11ce,0xb0,0x3a,0,0x20,0xaf,0xb,0xa7,0x70);
-DEFINE_GUID(LIBID_TunerLib,0x9b085638,0x18e,0x11d3,0x9d,0x8e,0,0xc0,0x4f,0x72,0xd9,0x80);
-DEFINE_GUID(LIBID_TVRATINGSLib,0xc5c5c500,0x3abc,0x11d6,0xb2,0x5b,0,0xc0,0x4f,0xa0,0xc0,0x26);
-DEFINE_GUID(LOOK_DOWNSTREAM_ONLY,0xac798be1,0x98e3,0x11d1,0xb3,0xf1,0x00,0xaa,0x00,0x37,0x61,0xc5);
-DEFINE_GUID(LOOK_UPSTREAM_ONLY,0xac798be0,0x98e3,0x11d1,0xb3,0xf1,0x00,0xaa,0x00,0x37,0x61,0xc5);
-DEFINE_GUID(MEDIASUBTYPE_A2B10G10R10,0x576f7893,0xbdf6,0x48c4,0x87,0x5f,0xae,0x7b,0x81,0x83,0x45,0x67);
-DEFINE_GUID(MEDIASUBTYPE_A2R10G10B10,0x2f8bb76d,0xb644,0x4550,0xac,0xf3,0xd3,0xc,0xaa,0x65,0xd5,0xc5);
-DEFINE_GUID(MEDIASUBTYPE_AI44,0x34344941,0,0x10,0x80,0,0,0xaa,0,0x38,0x9b,0x71);
-DEFINE_GUID(MEDIASUBTYPE_AIFF,0xe436eb8d,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70);
-DEFINE_GUID(MEDIASUBTYPE_AnalogVideo_NTSC_M,0x0482dde2,0x7817,0x11cf,0x8a,0x03,0x00,0xaa,0x00,0x6e,0xcb,0x65);
-DEFINE_GUID(MEDIASUBTYPE_AnalogVideo_PAL_B,0x0482dde5,0x7817,0x11cf,0x8a,0x03,0x00,0xaa,0x00,0x6e,0xcb,0x65);
-DEFINE_GUID(MEDIASUBTYPE_AnalogVideo_PAL_D,0x0482dde6,0x7817,0x11cf,0x8a,0x03,0x00,0xaa,0x00,0x6e,0xcb,0x65);
-DEFINE_GUID(MEDIASUBTYPE_AnalogVideo_PAL_G,0x0482dde7,0x7817,0x11cf,0x8a,0x03,0x00,0xaa,0x00,0x6e,0xcb,0x65);
-DEFINE_GUID(MEDIASUBTYPE_AnalogVideo_PAL_H,0x0482dde8,0x7817,0x11cf,0x8a,0x03,0x00,0xaa,0x00,0x6e,0xcb,0x65);
-DEFINE_GUID(MEDIASUBTYPE_AnalogVideo_PAL_I,0x0482dde9,0x7817,0x11cf,0x8a,0x03,0x00,0xaa,0x00,0x6e,0xcb,0x65);
-DEFINE_GUID(MEDIASUBTYPE_AnalogVideo_PAL_M,0x0482ddea,0x7817,0x11cf,0x8a,0x03,0x00,0xaa,0x00,0x6e,0xcb,0x65);
-DEFINE_GUID(MEDIASUBTYPE_AnalogVideo_PAL_N,0x0482ddeb,0x7817,0x11cf,0x8a,0x03,0x00,0xaa,0x00,0x6e,0xcb,0x65);
-DEFINE_GUID(MEDIASUBTYPE_AnalogVideo_PAL_N_COMBO,0x0482ddec,0x7817,0x11cf,0x8a,0x03,0x00,0xaa,0x00,0x6e,0xcb,0x65);
-DEFINE_GUID(MEDIASUBTYPE_AnalogVideo_SECAM_B,0x0482ddf0,0x7817,0x11cf,0x8a,0x03,0x00,0xaa,0x00,0x6e,0xcb,0x65);
-DEFINE_GUID(MEDIASUBTYPE_AnalogVideo_SECAM_D,0x0482ddf1,0x7817,0x11cf,0x8a,0x03,0x00,0xaa,0x00,0x6e,0xcb,0x65);
-DEFINE_GUID(MEDIASUBTYPE_AnalogVideo_SECAM_G,0x0482ddf2,0x7817,0x11cf,0x8a,0x03,0x00,0xaa,0x00,0x6e,0xcb,0x65);
-DEFINE_GUID(MEDIASUBTYPE_AnalogVideo_SECAM_H,0x0482ddf3,0x7817,0x11cf,0x8a,0x03,0x00,0xaa,0x00,0x6e,0xcb,0x65);
-DEFINE_GUID(MEDIASUBTYPE_AnalogVideo_SECAM_K,0x0482ddf4,0x7817,0x11cf,0x8a,0x03,0x00,0xaa,0x00,0x6e,0xcb,0x65);
-DEFINE_GUID(MEDIASUBTYPE_AnalogVideo_SECAM_K1,0x0482ddf5,0x7817,0x11cf,0x8a,0x03,0x00,0xaa,0x00,0x6e,0xcb,0x65);
-DEFINE_GUID(MEDIASUBTYPE_AnalogVideo_SECAM_L,0x0482ddf6,0x7817,0x11cf,0x8a,0x03,0x00,0xaa,0x00,0x6e,0xcb,0x65);
-DEFINE_GUID(MEDIASUBTYPE_ARGB1555,0x297c55af,0xe209,0x4cb3,0xb7,0x57,0xc7,0x6d,0x6b,0x9c,0x88,0xa8);
-DEFINE_GUID(MEDIASUBTYPE_ARGB1555_D3D_DX7_RT,0x35314137,0,0x10,0x80,0,0,0xaa,0,0x38,0x9b,0x71);
-DEFINE_GUID(MEDIASUBTYPE_ARGB1555_D3D_DX9_RT,0x35314139,0,0x10,0x80,0,0,0xaa,0,0x38,0x9b,0x71);
-DEFINE_GUID(MEDIASUBTYPE_ARGB32,0x773c9ac0,0x3274,0x11d0,0xb7,0x24,0x00,0xaa,0x00,0x6c,0x1a,0x01);
-DEFINE_GUID(MEDIASUBTYPE_ARGB32_D3D_DX7_RT,0x38384137,0,0x10,0x80,0,0,0xaa,0,0x38,0x9b,0x71);
-DEFINE_GUID(MEDIASUBTYPE_ARGB32_D3D_DX9_RT,0x38384139,0,0x10,0x80,0,0,0xaa,0,0x38,0x9b,0x71);
-DEFINE_GUID(MEDIASUBTYPE_ARGB4444,0x6e6415e6,0x5c24,0x425f,0x93,0xcd,0x80,0x10,0x2b,0x3d,0x1c,0xca);
-DEFINE_GUID(MEDIASUBTYPE_ARGB4444_D3D_DX7_RT,0x34344137,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);
-DEFINE_GUID(MEDIASUBTYPE_ARGB4444_D3D_DX9_RT,0x34344139,0,0x10,0x80,0,0,0xaa,0,0x38,0x9b,0x71);
-DEFINE_GUID(MEDIASUBTYPE_Asf,0x3db80f90,0x9412,0x11d1,0xad,0xed,0x00,0x00,0xf8,0x75,0x4b,0x99);
-DEFINE_GUID(MEDIASUBTYPE_ATSC_SI,0xb3c7397c,0xd303,0x414d,0xb3,0x3c,0x4e,0xd2,0xc9,0xd2,0x97,0x33);
-DEFINE_GUID(MEDIASUBTYPE_AU,0xe436eb8c,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70);
-DEFINE_GUID(MEDIASUBTYPE_Avi,0xe436eb88,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70);
-DEFINE_GUID(MEDIASUBTYPE_AYUV,0x56555941,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);
-DEFINE_GUID(MEDIASUBTYPE_CFCC,0x43434643,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);
-DEFINE_GUID(MEDIASUBTYPE_CLJR,0x524a4c43,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);
-DEFINE_GUID(MEDIASUBTYPE_CLPL,0x4c504c43,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);
-DEFINE_GUID(MEDIASUBTYPE_CPLA,0x414c5043,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);
-DEFINE_GUID(MEDIASUBTYPE_DOLBY_AC3,0xe06d802c,0xdb46,0x11cf,0xb4,0xd1,0x00,0x80,0x5f,0x6c,0xbb,0xea);
-DEFINE_GUID(MEDIASUBTYPE_DOLBY_AC3_SPDIF,0x00000092,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);
-DEFINE_GUID(MEDIASUBTYPE_DRM_Audio,0x00000009,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);
-DEFINE_GUID(MEDIASUBTYPE_DssAudio,0xa0af4f82,0xe163,0x11d0,0xba,0xd9,0x00,0x60,0x97,0x44,0x11,0x1a);
-DEFINE_GUID(MEDIASUBTYPE_DssVideo,0xa0af4f81,0xe163,0x11d0,0xba,0xd9,0x00,0x60,0x97,0x44,0x11,0x1a);
-DEFINE_GUID(MEDIASUBTYPE_DTS,0xe06d8033,0xdb46,0x11cf,0xb4,0xd1,0x00,0x80,0x5f,0x6c,0xbb,0xea);
-DEFINE_GUID(MEDIASUBTYPE_dv25,0x35327664,0,0x10,0x80,0,0,0xaa,0,0x38,0x9b,0x71);
-DEFINE_GUID(MEDIASUBTYPE_dv50,0x30357664,0,0x10,0x80,0,0,0xaa,0,0x38,0x9b,0x71);
-DEFINE_GUID(MEDIASUBTYPE_DVB_SI,0xe9dd31a3,0x221d,0x4adb,0x85,0x32,0x9a,0xf3,0x9,0xc1,0xa4,0x8);
-DEFINE_GUID(MEDIASUBTYPE_DVCS,0x53435644,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);
-DEFINE_GUID(MEDIASUBTYPE_DVD_LPCM_AUDIO,0xe06d8032,0xdb46,0x11cf,0xb4,0xd1,0x00,0x80,0x5f,0x6c,0xbb,0xea);
-DEFINE_GUID(MEDIASUBTYPE_DVD_NAVIGATION_DSI,0xe06d8030,0xdb46,0x11cf,0xb4,0xd1,0x00,0x80,0x5f,0x6c,0xbb,0xea);
-DEFINE_GUID(MEDIASUBTYPE_DVD_NAVIGATION_PCI,0xe06d802f,0xdb46,0x11cf,0xb4,0xd1,0x00,0x80,0x5f,0x6c,0xbb,0xea);
-DEFINE_GUID(MEDIASUBTYPE_DVD_NAVIGATION_PROVIDER,0xe06d8031,0xdb46,0x11cf,0xb4,0xd1,0x00,0x80,0x5f,0x6c,0xbb,0xea);
-DEFINE_GUID(MEDIASUBTYPE_DVD_SUBPICTURE,0xe06d802d,0xdb46,0x11cf,0xb4,0xd1,0x00,0x80,0x5f,0x6c,0xbb,0xea);
-DEFINE_GUID(MEDIASUBTYPE_dvh1,0x31687664,0,0x10,0x80,0,0,0xaa,0,0x38,0x9b,0x71);
-DEFINE_GUID(MEDIASUBTYPE_dvhd,0x64687664,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);
-DEFINE_GUID(MEDIASUBTYPE_dvsd,0x64737664,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);
-DEFINE_GUID(MEDIASUBTYPE_DVSD,0x44535644,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);
-DEFINE_GUID(MEDIASUBTYPE_dvsl,0x6c737664,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);
-DEFINE_GUID(MEDIASUBTYPE_IA44,0x34344149,0,0x10,0x80,0,0,0xaa,0,0x38,0x9b,0x71);
-DEFINE_GUID(MEDIASUBTYPE_IEEE_FLOAT,0x00000003,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);
-DEFINE_GUID(MEDIASUBTYPE_IF09,0x39304649,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);
-DEFINE_GUID(MEDIASUBTYPE_IJPG,0x47504a49,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);
-DEFINE_GUID(MEDIASUBTYPE_IYUV,0x56555949,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);
-DEFINE_GUID(MEDIASUBTYPE_IMC1,0x31434d49,0,0x10,0x80,0,0,0xaa,0,0x38,0x9b,0x71);
-DEFINE_GUID(MEDIASUBTYPE_IMC2,0x32434d49,0,0x10,0x80,0,0,0xaa,0,0x38,0x9b,0x71);
-DEFINE_GUID(MEDIASUBTYPE_IMC3,0x33434d49,0,0x10,0x80,0,0,0xaa,0,0x38,0x9b,0x71);
-DEFINE_GUID(MEDIASUBTYPE_IMC4,0x34434d49,0,0x10,0x80,0,0,0xaa,0,0x38,0x9b,0x71);
-DEFINE_GUID(MEDIASUBTYPE_Line21_BytePair,0x6e8d4a22,0x310c,0x11d0,0xb7,0x9a,0x00,0xaa,0x00,0x37,0x67,0xa7);
-DEFINE_GUID(MEDIASUBTYPE_Line21_GOPPacket,0x6e8d4a23,0x310c,0x11d0,0xb7,0x9a,0x00,0xaa,0x00,0x37,0x67,0xa7);
-DEFINE_GUID(MEDIASUBTYPE_Line21_VBIRawData,0x6e8d4a24,0x310c,0x11d0,0xb7,0x9a,0x00,0xaa,0x00,0x37,0x67,0xa7);
-DEFINE_GUID(MEDIASUBTYPE_MDVF,0x4656444d,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);
-DEFINE_GUID(MEDIASUBTYPE_MJPG,0x47504a4d,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);
-DEFINE_GUID(MEDIASUBTYPE_MPEG1Audio,0xe436eb87,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70);
-DEFINE_GUID(MEDIASUBTYPE_MPEG1AudioPayload,0x00000050,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);
-DEFINE_GUID(MEDIASUBTYPE_MPEG1Packet,0xe436eb80,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70);
-DEFINE_GUID(MEDIASUBTYPE_MPEG1Payload,0xe436eb81,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70);
-DEFINE_GUID(MEDIASUBTYPE_MPEG1System,0xe436eb84,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70);
-DEFINE_GUID(MEDIASUBTYPE_MPEG1Video,0xe436eb86,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70);
-DEFINE_GUID(MEDIASUBTYPE_MPEG1VideoCD,0xe436eb85,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70);
-DEFINE_GUID(MEDIASUBTYPE_MPEG2_AUDIO,0xe06d802b,0xdb46,0x11cf,0xb4,0xd1,0x00,0x80,0x5f,0x6c,0xbb,0xea);
-DEFINE_GUID(MEDIASUBTYPE_MPEG2_PROGRAM,0xe06d8022,0xdb46,0x11cf,0xb4,0xd1,0x00,0x80,0x5f,0x6c,0xbb,0xea);
-DEFINE_GUID(MEDIASUBTYPE_MPEG2_TRANSPORT,0xe06d8023,0xdb46,0x11cf,0xb4,0xd1,0x00,0x80,0x5f,0x6c,0xbb,0xea);
-DEFINE_GUID(MEDIASUBTYPE_MPEG2_TRANSPORT_STRIDE,0x138aa9a4,0x1ee2,0x4c5b,0x98,0x8e,0x19,0xab,0xfd,0xbc,0x8a,0x11);
-DEFINE_GUID(MEDIASUBTYPE_MPEG2_VIDEO,0xe06d8026,0xdb46,0x11cf,0xb4,0xd1,0x00,0x80,0x5f,0x6c,0xbb,0xea);
-DEFINE_GUID(MEDIASUBTYPE_MPEG2DATA,0xc892e55b,0x252d,0x42b5,0xa3,0x16,0xd9,0x97,0xe7,0xa5,0xd9,0x95);
-DEFINE_GUID(MEDIASUBTYPE_None,0xe436eb8e,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70);
-DEFINE_GUID(MEDIASUBTYPE_NV12,0x3231564e,0,0x10,0x80,0,0,0xaa,0,0x38,0x9b,0x71);
-DEFINE_GUID(MEDIASUBTYPE_Overlay,0xe436eb7f,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70);
-DEFINE_GUID(MEDIASUBTYPE_PCM,0x00000001,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);
-DEFINE_GUID(MEDIASUBTYPE_PCMAudio_Obsolete,0xe436eb8a,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70);
-DEFINE_GUID(MEDIASUBTYPE_Plum,0x6d756c50,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);
-DEFINE_GUID(MEDIASUBTYPE_QTJpeg,0x6765706a,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);
-DEFINE_GUID(MEDIASUBTYPE_QTMovie,0xe436eb89,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70);
-DEFINE_GUID(MEDIASUBTYPE_QTRle,0x20656c72,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);
-DEFINE_GUID(MEDIASUBTYPE_QTRpza,0x617a7072,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);
-DEFINE_GUID(MEDIASUBTYPE_QTSmc,0x20636d73,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);
-DEFINE_GUID(MEDIASUBTYPE_RAW_SPORT,0x00000240,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);
-DEFINE_GUID(MEDIASUBTYPE_RGB1,0xe436eb78,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70);
-DEFINE_GUID(MEDIASUBTYPE_RGB16_D3D_DX7_RT,0x36315237,0,0x10,0x80,0,0,0xaa,0,0x38,0x9b,0x71);
-DEFINE_GUID(MEDIASUBTYPE_RGB16_D3D_DX9_RT,0x36315239,0,0x10,0x80,0,0,0xaa,0,0x38,0x9b,0x71);
-DEFINE_GUID(MEDIASUBTYPE_RGB24,0xe436eb7d,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70);
-DEFINE_GUID(MEDIASUBTYPE_RGB32,0xe436eb7e,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70);
-DEFINE_GUID(MEDIASUBTYPE_RGB32_D3D_DX7_RT,0x32335237,0,0x10,0x80,0,0,0xaa,0,0x38,0x9b,0x71);
-DEFINE_GUID(MEDIASUBTYPE_RGB32_D3D_DX9_RT,0x32335239,0,0x10,0x80,0,0,0xaa,0,0x38,0x9b,0x71);
-DEFINE_GUID(MEDIASUBTYPE_RGB4,0xe436eb79,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70);
-DEFINE_GUID(MEDIASUBTYPE_RGB555,0xe436eb7c,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70);
-DEFINE_GUID(MEDIASUBTYPE_RGB565,0xe436eb7b,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70);
-DEFINE_GUID(MEDIASUBTYPE_RGB8,0xe436eb7a,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70);
-DEFINE_GUID(MEDIASUBTYPE_S340,0x30343353,0,0x10,0x80,0,0,0xaa,0,0x38,0x9b,0x71);
-DEFINE_GUID(MEDIASUBTYPE_S342,0x32343353,0,0x10,0x80,0,0,0xaa,0,0x38,0x9b,0x71);
-DEFINE_GUID(MEDIASUBTYPE_SDDS,0xe06d8034,0xdb46,0x11cf,0xb4,0xd1,0x00,0x80,0x5f,0x6c,0xbb,0xea);
-DEFINE_GUID(MEDIASUBTYPE_SPDIF_TAG_241h,0x00000241,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);
-DEFINE_GUID(MEDIASUBTYPE_TELETEXT,0xf72a76e3,0xeb0a,0x11d0,0xac,0xe4,0x00,0x00,0xc0,0xcc,0x16,0xba);
-DEFINE_GUID(MEDIASUBTYPE_TVMJ,0x4a4d5654,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);
-DEFINE_GUID(MEDIASUBTYPE_UYVY,0x59565955,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);
-DEFINE_GUID(MEDIASUBTYPE_VPVBI,0x5a9b6a41,0x1a22,0x11d1,0xba,0xd9,0x00,0x60,0x97,0x44,0x11,0x1a);
-DEFINE_GUID(MEDIASUBTYPE_VPVideo,0x5a9b6a40,0x1a22,0x11d1,0xba,0xd9,0x00,0x60,0x97,0x44,0x11,0x1a);
-DEFINE_GUID(MEDIASUBTYPE_WAKE,0x454b4157,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);
-DEFINE_GUID(MEDIASUBTYPE_WAVE,0xe436eb8b,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70);
-DEFINE_GUID(MEDIASUBTYPE_Y211,0x31313259,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);
-DEFINE_GUID(MEDIASUBTYPE_Y411,0x31313459,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);
-DEFINE_GUID(MEDIASUBTYPE_Y41P,0x50313459,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);
-DEFINE_GUID(MEDIASUBTYPE_YUY2,0x32595559,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);
-DEFINE_GUID(MEDIASUBTYPE_YUYV,0x56595559,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);
-DEFINE_GUID(MEDIASUBTYPE_YV12,0x32315659,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);
-DEFINE_GUID(MEDIASUBTYPE_YVU9,0x39555659,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);
-DEFINE_GUID(MEDIASUBTYPE_YVYU,0x55595659,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);
-DEFINE_GUID(MEDIATYPE_AnalogAudio,0x0482dee1,0x7817,0x11cf,0x8a,0x03,0x00,0xaa,0x00,0x6e,0xcb,0x65);
-DEFINE_GUID(MEDIATYPE_AnalogVideo,0x0482dde1,0x7817,0x11cf,0x8a,0x03,0x00,0xaa,0x00,0x6e,0xcb,0x65);
-DEFINE_GUID(MEDIATYPE_Audio,0x73647561,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);
-DEFINE_GUID(MEDIATYPE_AUXLine21Data,0x670aea80,0x3a82,0x11d0,0xb7,0x9b,0x00,0xaa,0x00,0x37,0x67,0xa7);
-DEFINE_GUID(MEDIATYPE_DVD_ENCRYPTED_PACK,0xed0b916a,0x044d,0x11d1,0xaa,0x78,0x00,0xc0,0x4f,0xc3,0x1d,0x60);
-DEFINE_GUID(MEDIATYPE_DVD_NAVIGATION,0xe06d802e,0xdb46,0x11cf,0xb4,0xd1,0x00,0x80,0x5f,0x6c,0xbb,0xea);
-DEFINE_GUID(MEDIATYPE_File,0x656c6966,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);
-DEFINE_GUID(MEDIATYPE_Interleaved,0x73766169,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);
-DEFINE_GUID(MEDIATYPE_LMRT,0x74726c6d,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);
-DEFINE_GUID(MEDIATYPE_Midi,0x7364696d,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);
-DEFINE_GUID(MEDIATYPE_MPEG1SystemStream,0xe436eb82,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70);
-DEFINE_GUID(MEDIATYPE_MPEG2_PACK,0x36523b13,0x8ee5,0x11d1,0x8c,0xa3,0x00,0x60,0xb0,0x57,0x66,0x4a);
-DEFINE_GUID(MEDIATYPE_MPEG2_PES,0xe06d8020,0xdb46,0x11cf,0xb4,0xd1,0x00,0x80,0x5f,0x6c,0xbb,0xea);
-DEFINE_GUID(MEDIATYPE_MPEG2_SECTIONS,0x455f176c,0x4b06,0x47ce,0x9a,0xef,0x8c,0xae,0xf7,0x3d,0xf7,0xb5);
-DEFINE_GUID(MEDIATYPE_ScriptCommand,0x73636d64,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);
-DEFINE_GUID(MEDIATYPE_Stream,0xe436eb83,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70);
-DEFINE_GUID(MEDIATYPE_Text,0x73747874,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);
-DEFINE_GUID(MEDIATYPE_Timecode,0x0482dee3,0x7817,0x11cf,0x8a,0x03,0x00,0xaa,0x00,0x6e,0xcb,0x65);
-DEFINE_GUID(MEDIATYPE_URL_STREAM,0x74726c6d,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);
-DEFINE_GUID(MEDIATYPE_VBI,0xf72a76e1,0xeb0a,0x11d0,0xac,0xe4,0x00,0x00,0xc0,0xcc,0x16,0xba);
-DEFINE_GUID(MEDIATYPE_Video,0x73646976,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);
-DEFINE_GUID(PIN_CATEGORY_ANALOGVIDEOIN,0xfb6c4283,0x0353,0x11d1,0x90,0x5f,0x00,0x00,0xc0,0xcc,0x16,0xba);
-DEFINE_GUID(PIN_CATEGORY_CAPTURE,0xfb6c4281,0x0353,0x11d1,0x90,0x5f,0x00,0x00,0xc0,0xcc,0x16,0xba);
-DEFINE_GUID(PIN_CATEGORY_CC,0xfb6c4289,0x0353,0x11d1,0x90,0x5f,0x00,0x00,0xc0,0xcc,0x16,0xba);
-DEFINE_GUID(PIN_CATEGORY_EDS,0xfb6c4287,0x0353,0x11d1,0x90,0x5f,0x00,0x00,0xc0,0xcc,0x16,0xba);
-DEFINE_GUID(PIN_CATEGORY_NABTS,0xfb6c4286,0x0353,0x11d1,0x90,0x5f,0x00,0x00,0xc0,0xcc,0x16,0xba);
-DEFINE_GUID(PIN_CATEGORY_PREVIEW,0xfb6c4282,0x0353,0x11d1,0x90,0x5f,0x00,0x00,0xc0,0xcc,0x16,0xba);
-DEFINE_GUID(PIN_CATEGORY_STILL,0xfb6c428a,0x0353,0x11d1,0x90,0x5f,0x00,0x00,0xc0,0xcc,0x16,0xba);
-DEFINE_GUID(PIN_CATEGORY_TELETEXT,0xfb6c4288,0x0353,0x11d1,0x90,0x5f,0x00,0x00,0xc0,0xcc,0x16,0xba);
-DEFINE_GUID(PIN_CATEGORY_TIMECODE,0xfb6c428b,0x0353,0x11d1,0x90,0x5f,0x00,0x00,0xc0,0xcc,0x16,0xba);
-DEFINE_GUID(PIN_CATEGORY_VBI,0xfb6c4284,0x0353,0x11d1,0x90,0x5f,0x00,0x00,0xc0,0xcc,0x16,0xba);
-DEFINE_GUID(PIN_CATEGORY_VIDEOPORT,0xfb6c4285,0x0353,0x11d1,0x90,0x5f,0x00,0x00,0xc0,0xcc,0x16,0xba);
-DEFINE_GUID(PIN_CATEGORY_VIDEOPORT_VBI,0xfb6c428c,0x0353,0x11d1,0x90,0x5f,0x00,0x00,0xc0,0xcc,0x16,0xba);
-DEFINE_GUID(TIME_FORMAT_BYTE,0x7b785571,0x8c82,0x11cf,0xbc,0x0c,0x00,0xaa,0x00,0xac,0x74,0xf6);
-DEFINE_GUID(TIME_FORMAT_FIELD,0x7b785573,0x8c82,0x11cf,0xbc,0x0c,0x00,0xaa,0x00,0xac,0x74,0xf6);
-DEFINE_GUID(TIME_FORMAT_FRAME,0x7b785570,0x8c82,0x11cf,0xbc,0x0c,0x00,0xaa,0x00,0xac,0x74,0xf6);
-DEFINE_GUID(TIME_FORMAT_MEDIA_TIME,0x7b785574,0x8c82,0x11cf,0xbc,0x0c,0x00,0xaa,0x00,0xac,0x74,0xf6);
-DEFINE_GUID(TIME_FORMAT_NONE,0x00000000,0x0000,0x0000,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00);
-DEFINE_GUID(TIME_FORMAT_SAMPLE,0x7b785572,0x8c82,0x11cf,0xbc,0x0c,0x00,0xaa,0x00,0xac,0x74,0xf6);
diff --git a/winsup/w32api/lib/directx/test.c b/winsup/w32api/lib/directx/test.c
deleted file mode 100644
index 950e5631e..000000000
--- a/winsup/w32api/lib/directx/test.c
+++ /dev/null
@@ -1,12 +0,0 @@
-/* Perform simple test of headers to avoid typos and such */
-#include <windows.h>
-#include <d3d9.h>
-#include <d3d9caps.h>
-#include <d3d9types.h>
-#include <dxerr8.h>
-#include <dxerr9.h>
-
-int main()
-{
- return 0;
-}
diff --git a/winsup/w32api/lib/dlcapi.def b/winsup/w32api/lib/dlcapi.def
deleted file mode 100644
index 501ecd766..000000000
--- a/winsup/w32api/lib/dlcapi.def
+++ /dev/null
@@ -1,5 +0,0 @@
-LIBRARY DLCAPI.DLL
-EXPORTS
-AcsLan@8
-DlcCallDriver@24
-NtAcsLan@16
diff --git a/winsup/w32api/lib/dnsapi.def b/winsup/w32api/lib/dnsapi.def
deleted file mode 100644
index b9af10c1e..000000000
--- a/winsup/w32api/lib/dnsapi.def
+++ /dev/null
@@ -1,31 +0,0 @@
-LIBRARY DNSAPI.DLL
-EXPORTS
-DnsAcquireContextHandle_A@12
-DnsAcquireContextHandle_W@12
-DnsExtractRecordsFromMessage_UTF8@12
-DnsExtractRecordsFromMessage_W@12
-DnsModifyRecordsInSet_A@24
-DnsModifyRecordsInSet_UTF8@24
-DnsModifyRecordsInSet_W@24
-DnsNameCompare_A@8
-DnsNameCompare_W@8
-DnsQuery_A@24
-DnsQuery_UTF8@24
-DnsQuery_W@24
-DnsQueryConfig@24
-DnsRecordCompare@8
-DnsRecordCopyEx@12
-DnsRecordListFree@8
-DnsRecordSetCompare@16
-DnsRecordSetCopyEx@12
-DnsRecordSetDetach@4
-DnsReleaseContextHandle@4
-DnsReplaceRecordSetA@20
-DnsReplaceRecordSetUTF8@20
-DnsReplaceRecordSetW@20
-DnsValidateName_A@8
-DnsValidateName_UTF8@8
-DnsValidateName_W@8
-DnsWriteQuestionToBuffer_UTF8@24
-DnsWriteQuestionToBuffer_W@24
-
diff --git a/winsup/w32api/lib/faultrep.def b/winsup/w32api/lib/faultrep.def
deleted file mode 100644
index dbc72725f..000000000
--- a/winsup/w32api/lib/faultrep.def
+++ /dev/null
@@ -1,5 +0,0 @@
-LIBRARY faultrep.DLL
-EXPORTS
-AddERExcludedApplicationA@4
-AddERExcludedApplicationW@4
-ReportFault@8
diff --git a/winsup/w32api/lib/gdi32.def b/winsup/w32api/lib/gdi32.def
deleted file mode 100644
index a0df3995b..000000000
--- a/winsup/w32api/lib/gdi32.def
+++ /dev/null
@@ -1,345 +0,0 @@
-LIBRARY GDI32.dll
-EXPORTS
-AbortDoc@4
-AbortPath@4
-AddFontMemResourceEx@16
-AddFontResourceA@4
-AddFontResourceW@4
-AddFontResourceExA@12
-AddFontResourceExW@12
-AngleArc@24
-AnimatePalette@16
-Arc@36
-ArcTo@36
-BeginPath@4
-BitBlt@36
-CancelDC@4
-CheckColorsInGamut@16
-ChoosePixelFormat@8
-Chord@36
-CloseEnhMetaFile@4
-CloseFigure@4
-CloseMetaFile@4
-ColorMatchToTarget@12
-CombineRgn@16
-CombineTransform@12
-CopyEnhMetaFileA@8
-CopyEnhMetaFileW@8
-CopyMetaFileA@8
-CopyMetaFileW@8
-CreateBitmap@20
-CreateBitmapIndirect@4
-CreateBrushIndirect@4
-CreateColorSpaceA@4
-CreateColorSpaceW@4
-CreateCompatibleBitmap@12
-CreateCompatibleDC@4
-CreateDCA@16
-CreateDCW@16
-CreateDIBPatternBrush@8
-CreateDIBPatternBrushPt@8
-CreateDIBSection@24
-CreateDIBitmap@24
-CreateDiscardableBitmap@12
-CreateEllipticRgn@16
-CreateEllipticRgnIndirect@4
-CreateEnhMetaFileA@16
-CreateEnhMetaFileW@16
-CreateFontA@56
-CreateFontIndirectA@4
-CreateFontIndirectW@4
-CreateFontW@56
-CreateHalftonePalette@4
-CreateHatchBrush@8
-CreateICA@16
-CreateICW@16
-CreateMetaFileA@4
-CreateMetaFileW@4
-CreatePalette@4
-CreatePatternBrush@4
-CreatePen@12
-CreatePenIndirect@4
-CreatePolyPolygonRgn@16
-CreatePolygonRgn@12
-CreateRectRgn@16
-CreateRectRgnIndirect@4
-CreateRoundRectRgn@24
-CreateScalableFontResourceA@16
-CreateScalableFontResourceW@16
-CreateSolidBrush@4
-DPtoLP@12
-DeleteColorSpace@4
-DeleteDC@4
-DeleteEnhMetaFile@4
-DeleteMetaFile@4
-DeleteObject@4
-DescribePixelFormat@16
-DeviceCapabilitiesEx@24
-DeviceCapabilitiesExA@24
-DeviceCapabilitiesExW@24
-DrawEscape@16
-Ellipse@20
-EndDoc@4
-EndPage@4
-EndPath@4
-EnumEnhMetaFile@20
-EnumFontFamiliesA@16
-EnumFontFamiliesExA@20
-EnumFontFamiliesExW@20
-EnumFontFamiliesW@16
-EnumFontsA@16
-EnumFontsW@16
-EnumICMProfilesA@12
-EnumICMProfilesW@12
-EnumMetaFile@16
-EnumObjects@16
-EqualRgn@8
-Escape@20
-ExcludeClipRect@20
-ExtCreatePen@20
-ExtCreateRegion@12
-ExtEscape@24
-ExtFloodFill@20
-ExtSelectClipRgn@12
-ExtTextOutA@32
-ExtTextOutW@32
-FillPath@4
-FillRgn@12
-FixBrushOrgEx@16
-FlattenPath@4
-FloodFill@16
-FrameRgn@20
-GdiComment@12
-GdiFlush@0
-GdiGetBatchLimit@0
-GdiPlayDCScript@24
-GdiPlayJournal@20
-GdiPlayScript@28
-GdiSetBatchLimit@4
-GetArcDirection@4
-GetAspectRatioFilterEx@8
-GetBitmapBits@12
-GetBitmapDimensionEx@8
-GetBkColor@4
-GetBkMode@4
-GetBoundsRect@12
-GetBrushOrgEx@8
-GetCharABCWidthsA@16
-GetCharABCWidthsFloatA@16
-GetCharABCWidthsFloatW@16
-GetCharABCWidthsW@16
-GetCharWidth32A@16
-GetCharWidth32W@16
-GetCharWidthA@16
-GetCharWidthFloatA@16
-GetCharWidthFloatW@16
-GetCharWidthW@16
-GetCharacterPlacementA@24
-GetCharacterPlacementW@24
-GetClipBox@8
-GetClipRgn@8
-GetColorAdjustment@8
-GetColorSpace@4
-GetCurrentObject@8
-GetCurrentPositionEx@8
-GetDCOrgEx@8
-GetDIBColorTable@16
-GetDIBits@28
-GetDeviceCaps@8
-GetDeviceGammaRamp@8
-GetEnhMetaFileA@4
-GetEnhMetaFileBits@12
-GetEnhMetaFileDescriptionA@12
-GetEnhMetaFileDescriptionW@12
-GetEnhMetaFileHeader@12
-GetEnhMetaFilePaletteEntries@12
-GetEnhMetaFilePixelFormat@12
-GetEnhMetaFileW@4
-GetFontData@20
-GetFontLanguageInfo@4
-GetFontResourceInfo@16
-GetFontResourceInfoW@16
-GetFontUnicodeRanges@8
-GetGlyphIndicesA@20
-GetGlyphIndicesW@20
-GetGlyphOutline@28
-GetGlyphOutlineA@28
-GetGlyphOutlineW@28
-GetGlyphOutlineWow@28
-GetGraphicsMode@4
-GetICMProfileA@12
-GetICMProfileW@12
-GetKerningPairs@12
-GetKerningPairsA@12
-GetKerningPairsW@12
-GetLogColorSpaceA@12
-GetLogColorSpaceW@12
-GetMapMode@4
-GetMetaFileA@4
-GetMetaFileBitsEx@12
-GetMetaFileW@4
-GetMetaRgn@8
-GetMiterLimit@8
-GetNearestColor@8
-GetNearestPaletteIndex@8
-GetObjectA@12
-GetObjectType@4
-GetObjectW@12
-GetOutlineTextMetricsA@12
-GetOutlineTextMetricsW@12
-GetPaletteEntries@16
-GetPath@16
-GetPixel@12
-GetPixelFormat@4
-GetPolyFillMode@4
-GetROP2@4
-GetRandomRgn@12
-GetRasterizerCaps@8
-GetRegionData@12
-GetRelAbs@8
-GetRgnBox@8
-GetStockObject@4
-GetStretchBltMode@4
-GetSystemPaletteEntries@16
-GetSystemPaletteUse@4
-GetTextAlign@4
-GetTextCharacterExtra@4
-GetTextCharset@4
-GetTextCharsetInfo@12
-GetTextColor@4
-GetTextExtentExPointA@28
-GetTextExtentExPointW@28
-GetTextExtentPoint32A@16
-GetTextExtentPoint32W@16
-GetTextExtentPointA@16
-GetTextExtentPointW@16
-GetTextFaceA@12
-GetTextFaceW@12
-GetTextMetricsA@8
-GetTextMetricsW@8
-GetViewportExtEx@8
-GetViewportOrgEx@8
-GetWinMetaFileBits@20
-GetWindowExtEx@8
-GetWindowOrgEx@8
-GetWorldTransform@8
-IntersectClipRect@20
-InvertRgn@8
-LPtoDP@12
-LineDDA@24
-LineTo@12
-MaskBlt@48
-ModifyWorldTransform@12
-MoveToEx@16
-OffsetClipRgn@12
-OffsetRgn@12
-OffsetViewportOrgEx@16
-OffsetWindowOrgEx@16
-PaintRgn@8
-PatBlt@24
-PathToRegion@4
-Pie@36
-PlayEnhMetaFile@12
-PlayEnhMetaFileRecord@16
-PlayMetaFile@8
-PlayMetaFileRecord@16
-PlgBlt@40
-PolyBezier@12
-PolyBezierTo@12
-PolyDraw@16
-PolyPolygon@16
-PolyPolyline@16
-PolyTextOutA@12
-PolyTextOutW@12
-Polygon@12
-Polyline@12
-PolylineTo@12
-PtInRegion@12
-PtVisible@12
-RealizePalette@4
-RectInRegion@8
-RectVisible@8
-Rectangle@20
-RemoveFontMemResourceEx@4
-RemoveFontResourceA@4
-RemoveFontResourceW@4
-RemoveFontResourceExA@12
-RemoveFontResourceExW@12
-ResetDCA@8
-ResetDCW@8
-ResizePalette@8
-RestoreDC@8
-RoundRect@28
-SaveDC@4
-ScaleViewportExtEx@24
-ScaleWindowExtEx@24
-SelectBrushLocal@8
-SelectClipPath@8
-SelectClipRgn@8
-SelectFontLocal@8
-SelectObject@8
-SelectPalette@12
-SetAbortProc@8
-SetArcDirection@8
-SetBitmapBits@12
-SetBitmapDimensionEx@16
-SetBkColor@8
-SetBkMode@8
-SetBoundsRect@12
-SetBrushOrgEx@16
-SetColorAdjustment@8
-SetColorSpace@8
-SetDCBrushColor@8
-SetDCPenColor@8
-SetDIBColorTable@16
-SetDIBits@28
-SetDIBitsToDevice@48
-SetDeviceGammaRamp@8
-SetEnhMetaFileBits@8
-SetFontEnumeration@4
-SetGraphicsMode@8
-SetICMMode@8
-SetICMProfileA@8
-SetICMProfileW@8
-SetMapMode@8
-SetMapperFlags@8
-SetMetaFileBitsEx@8
-SetMetaRgn@4
-SetMiterLimit@12
-SetPaletteEntries@16
-SetPixel@16
-SetPixelFormat@12
-SetPixelV@16
-SetPolyFillMode@8
-SetROP2@8
-SetRectRgn@20
-SetRelAbs@8
-SetStretchBltMode@8
-SetSystemPaletteUse@8
-SetTextAlign@8
-SetTextCharacterExtra@8
-SetTextColor@8
-SetTextJustification@12
-SetViewportExtEx@16
-SetViewportOrgEx@16
-SetWinMetaFileBits@16
-SetWindowExtEx@16
-SetWindowOrgEx@16
-SetWorldTransform@8
-StartDocA@8
-StartDocW@8
-StartPage@4
-StretchBlt@44
-StretchDIBits@52
-StrokeAndFillPath@4
-StrokePath@4
-SwapBuffers@4
-TextOutA@20
-TextOutW@20
-TranslateCharsetInfo@12
-UnrealizeObject@4
-UpdateColors@4
-UpdateICMRegKeyA@16
-UpdateICMRegKeyW@16
-WidenPath@4
-gdiPlaySpoolStream@24
diff --git a/winsup/w32api/lib/glaux.def b/winsup/w32api/lib/glaux.def
deleted file mode 100644
index 87f72371e..000000000
--- a/winsup/w32api/lib/glaux.def
+++ /dev/null
@@ -1,173 +0,0 @@
-LIBRARY GLAUX.DLL
-EXPORTS
-AllocateMemory@4
-AllocateZeroedMemory@4
-CleanUp@0
-ComponentFromIndex@12
-CreateCIPalette@4
-CreateRGBPalette@4
-DelayPaletteRealization@0
-DestroyThisWindow@4
-FillRgbPaletteEntries@12
-FindBestPixelFormat@12
-FindExactPixelFormat@12
-FindPixelFormat@8
-FlushPalette@8
-ForceRedraw@4
-FreeMemory@4
-GetRegistrySysColors@8
-GrabStaticEntries@4
-IsPixelFormatValid@12
-PixelFormatDescriptorFromDc@8
-PrintMessage
-RealizePaletteNow@12
-ReleaseStaticEntries@4
-UpdateStaticMapping@4
-tkCloseWindow@0
-tkDisplayFunc@4
-tkErrorPopups@4
-tkExec@0
-tkExposeFunc@4
-tkGetColorMapSize@0
-tkGetDisplayMode@0
-tkGetDisplayModeID@0
-tkGetDisplayModePolicy@0
-tkGetHDC@0
-tkGetHRC@0
-tkGetHWND@0
-tkGetMouseLoc@8
-tkIdleFunc@4
-tkInitDisplayMode@4
-tkInitDisplayModeID@4
-tkInitDisplayModePolicy@4
-tkInitPosition@16
-tkInitWindow@4
-tkInitWindowAW@8
-tkKeyDownFunc@4
-tkMouseDownFunc@4
-tkMouseMoveFunc@4
-tkMouseUpFunc@4
-tkQuit@0
-tkReshapeFunc@4
-tkSetFogRamp@8
-tkSetGreyRamp@0
-tkSetOneColor@16
-tkSetRGBMap@8
-tkSwapBuffers@0
-tkWndProc@16
-RawImageClose@4
-RawImageGetData@8
-RawImageGetRow@16
-RawImageOpenAW@8
-tkRGBImageLoad@4
-tkRGBImageLoadAW@8
-tkCreateBitmapFont@4
-tkCreateFilledFont@4
-tkCreateOutlineFont@4
-tkCreateStrokeFont@4
-tkDrawStr@8
-DibNumColors@4
-tkDIBImageLoad@4
-tkDIBImageLoadAW@8
-m_popmatrix@0
-m_pushmatrix@0
-m_scale@24
-m_translate@24
-m_xformpt@16
-m_xformptonly@8
-add3@12
-copy3@8
-copymat3@8
-crossprod@12
-diff3@12
-dist3@8
-dot3@8
-error@4
-identifymat3@4
-length3@4
-normalize@4
-perpnorm@16
-samepoint@8
-scalarmult@16
-seterrorfunc@4
-xformvec3@12
-auxSolidTeapot@8
-auxWireTeapot@8
-solidTeapot@12
-wireTeapot@12
-auxSolidBox@24
-auxSolidCone@16
-auxSolidCube@8
-auxSolidCylinder@16
-auxSolidDodecahedron@8
-auxSolidIcosahedron@8
-auxSolidOctahedron@8
-auxSolidSphere@8
-auxSolidTetrahedron@8
-auxSolidTorus@16
-auxWireBox@24
-auxWireCone@16
-auxWireCube@8
-auxWireCylinder@16
-auxWireDodecahedron@8
-auxWireIcosahedron@8
-auxWireOctahedron@8
-auxWireSphere@8
-auxWireTetrahedron@8
-auxWireTorus@16
-compareParams@12
-dodecahedron@16
-doughnut@28
-drawbox@52
-drawtriangle@32
-findList@12
-icosahedron@16
-initdodec@0
-makeModelPtr@12
-octahedron@16
-pentagon@24
-recorditem@32
-subdivide@36
-tetrahedron@16
-auxDIBImageLoadA@4
-auxDIBImageLoadW@4
-auxRGBImageLoadA@4
-auxRGBImageLoadW@4
-auxCreateFont@0
-auxDrawStrA@4
-auxDrawStrAW@8
-auxDrawStrW@4
-DefaultHandleExpose@8
-DefaultHandleReshape@8
-KeyDown@8
-MouseDown@12
-MouseLoc@12
-MouseUp@12
-auxCloseWindow@0
-auxExposeFunc@4
-auxGetColorMapSize@0
-auxGetDisplayMode@0
-auxGetDisplayModeID@0
-auxGetDisplayModePolicy@0
-auxGetHDC@0
-auxGetHGLRC@0
-auxGetHWND@0
-auxGetMouseLoc@8
-auxIdleFunc@4
-auxInitDisplayMode@4
-auxInitDisplayModeID@4
-auxInitDisplayModePolicy@4
-auxInitPosition@16
-auxInitWindowA@4
-auxInitWindowAW@8
-auxInitWindowW@4
-auxKeyFunc@8
-auxMainLoop@4
-auxMouseFunc@12
-auxQuit@0
-auxReshapeFunc@4
-auxSetFogRamp@8
-auxSetGreyRamp@0
-auxSetOneColor@16
-auxSetRGBMap@8
-auxSwapBuffers@0
diff --git a/winsup/w32api/lib/glu32.def b/winsup/w32api/lib/glu32.def
deleted file mode 100644
index d0f091fd1..000000000
--- a/winsup/w32api/lib/glu32.def
+++ /dev/null
@@ -1,54 +0,0 @@
-LIBRARY GLU32.DLL
-EXPORTS
-gluBeginCurve@4
-gluBeginPolygon@4
-gluBeginSurface@4
-gluBeginTrim@4
-gluBuild1DMipmaps@24
-gluBuild2DMipmaps@28
-gluCylinder@36
-gluDeleteNurbsRenderer@4
-gluDeleteQuadric@4
-gluDeleteTess@4
-gluDisk@28
-gluEndCurve@4
-gluEndPolygon@4
-gluEndSurface@4
-gluEndTrim@4
-gluErrorString@4
-gluErrorUnicodeStringEXT@4
-gluGetNurbsProperty@12
-gluGetString@4
-gluGetTessProperty@12
-gluLoadSamplingMatrices@16
-gluLookAt@72
-gluNewNurbsRenderer@0
-gluNewQuadric@0
-gluNewTess@0
-gluNextContour@8
-gluNurbsCallback@12
-gluNurbsCurve@28
-gluNurbsProperty@12
-gluNurbsSurface@44
-gluOrtho2D@32
-gluPartialDisk@44
-gluPerspective@32
-gluPickMatrix@36
-gluProject@48
-gluPwlCurve@20
-gluQuadricCallback@12
-gluQuadricDrawStyle@8
-gluQuadricNormals@8
-gluQuadricOrientation@8
-gluQuadricTexture@8
-gluScaleImage@36
-gluSphere@20
-gluTessBeginContour@4
-gluTessBeginPolygon@8
-gluTessCallback@12
-gluTessEndContour@4
-gluTessEndPolygon@4
-gluTessNormal@28
-gluTessProperty@16
-gluTessVertex@12
-gluUnProject@48
diff --git a/winsup/w32api/lib/glut.def b/winsup/w32api/lib/glut.def
deleted file mode 100644
index 369ca5d14..000000000
--- a/winsup/w32api/lib/glut.def
+++ /dev/null
@@ -1,116 +0,0 @@
-LIBRARY glut.dll
-EXPORTS
-glutAddMenuEntry@8
-glutAddSubMenu@8
-glutAttachMenu@4
-glutBitmapCharacter@8
-glutBitmapLength@8
-glutBitmapWidth@8
-glutButtonBoxFunc@4
-glutChangeToMenuEntry@12
-glutChangeToSubMenu@12
-glutCopyColormap@4
-glutCreateMenu@4
-glutCreateSubWindow@20
-glutCreateWindow@4
-glutDestroyMenu@4
-glutDestroyWindow@4
-glutDetachMenu@4
-glutDeviceGet@4
-glutDialsFunc@4
-glutDisplayFunc@4
-glutEnterGameMode@0
-glutEntryFunc@4
-glutEstablishOverlay@0
-glutExtensionSupported@4
-glutForceJoystickFunc@0
-glutFullScreen@0
-glutGameModeGet@4
-glutGameModeString@4
-glutGet@4
-glutGetColor@8
-glutGetMenu@0
-glutGetModifiers@0
-glutGetWindow@0
-glutHideOverlay@0
-glutHideWindow@0
-glutIconifyWindow@0
-glutIdleFunc@4
-glutIgnoreKeyRepeat@4
-glutInit@8
-glutInitDisplayMode@4
-glutInitDisplayString@4
-glutInitWindowPosition@8
-glutInitWindowSize@8
-glutJoystickFunc@8
-glutKeyboardFunc@4
-glutKeyboardUpFunc@4
-glutLayerGet@4
-glutLeaveGameMode@0
-glutMainLoop@0
-glutMenuStateFunc@4
-glutMenuStatusFunc@4
-glutMotionFunc@4
-glutMouseFunc@4
-glutOverlayDisplayFunc@4
-glutPassiveMotionFunc@4
-glutPopWindow@0
-glutPositionWindow@8
-glutPostOverlayRedisplay@0
-glutPostRedisplay@0
-glutPostWindowOverlayRedisplay@4
-glutPostWindowRedisplay@4
-glutPushWindow@0
-glutRemoveMenuItem@4
-glutRemoveOverlay@0
-glutReportErrors@0
-glutReshapeFunc@4
-glutReshapeWindow@8
-glutSetColor@16
-glutSetCursor@4
-glutSetIconTitle@4
-glutSetKeyRepeat@4
-glutSetMenu@4
-glutSetWindow@4
-glutSetWindowTitle@4
-glutSetupVideoResizing@0
-glutShowOverlay@0
-glutShowWindow@0
-glutSolidCone@24
-glutSolidCube@8
-glutSolidDodecahedron@0
-glutSolidIcosahedron@0
-glutSolidOctahedron@0
-glutSolidSphere@16
-glutSolidTeapot@8
-glutSolidTetrahedron@0
-glutSolidTorus@24
-glutSpaceballButtonFunc@4
-glutSpaceballMotionFunc@4
-glutSpaceballRotateFunc@4
-glutSpecialFunc@4
-glutSpecialUpFunc@4
-glutStopVideoResizing@0
-glutStrokeCharacter@8
-glutStrokeLength@8
-glutStrokeWidth@8
-glutSwapBuffers@0
-glutTabletButtonFunc@4
-glutTabletMotionFunc@4
-glutTimerFunc@12
-glutUseLayer@4
-glutVideoPan@16
-glutVideoResize@16
-glutVideoResizeGet@4
-glutVisibilityFunc@4
-glutWarpPointer@8
-glutWindowStatusFunc@4
-glutWireCone@24
-glutWireCube@8
-glutWireDodecahedron@0
-glutWireIcosahedron@0
-glutWireOctahedron@0
-glutWireSphere@16
-glutWireTeapot@8
-glutWireTetrahedron@0
-glutWireTorus@24
diff --git a/winsup/w32api/lib/glut32.def b/winsup/w32api/lib/glut32.def
deleted file mode 100644
index 427e32bc3..000000000
--- a/winsup/w32api/lib/glut32.def
+++ /dev/null
@@ -1,116 +0,0 @@
-LIBRARY glut32.dll
-EXPORTS
-glutAddMenuEntry@8
-glutAddSubMenu@8
-glutAttachMenu@4
-glutBitmapCharacter@8
-glutBitmapLength@8
-glutBitmapWidth@8
-glutButtonBoxFunc@4
-glutChangeToMenuEntry@12
-glutChangeToSubMenu@12
-glutCopyColormap@4
-glutCreateMenu@4
-glutCreateSubWindow@20
-glutCreateWindow@4
-glutDestroyMenu@4
-glutDestroyWindow@4
-glutDetachMenu@4
-glutDeviceGet@4
-glutDialsFunc@4
-glutDisplayFunc@4
-glutEnterGameMode@0
-glutEntryFunc@4
-glutEstablishOverlay@0
-glutExtensionSupported@4
-glutForceJoystickFunc@0
-glutFullScreen@0
-glutGameModeGet@4
-glutGameModeString@4
-glutGet@4
-glutGetColor@8
-glutGetMenu@0
-glutGetModifiers@0
-glutGetWindow@0
-glutHideOverlay@0
-glutHideWindow@0
-glutIconifyWindow@0
-glutIdleFunc@4
-glutIgnoreKeyRepeat@4
-glutInit@8
-glutInitDisplayMode@4
-glutInitDisplayString@4
-glutInitWindowPosition@8
-glutInitWindowSize@8
-glutJoystickFunc@8
-glutKeyboardFunc@4
-glutKeyboardUpFunc@4
-glutLayerGet@4
-glutLeaveGameMode@0
-glutMainLoop@0
-glutMenuStateFunc@4
-glutMenuStatusFunc@4
-glutMotionFunc@4
-glutMouseFunc@4
-glutOverlayDisplayFunc@4
-glutPassiveMotionFunc@4
-glutPopWindow@0
-glutPositionWindow@8
-glutPostOverlayRedisplay@0
-glutPostRedisplay@0
-glutPostWindowOverlayRedisplay@4
-glutPostWindowRedisplay@4
-glutPushWindow@0
-glutRemoveMenuItem@4
-glutRemoveOverlay@0
-glutReportErrors@0
-glutReshapeFunc@4
-glutReshapeWindow@8
-glutSetColor@16
-glutSetCursor@4
-glutSetIconTitle@4
-glutSetKeyRepeat@4
-glutSetMenu@4
-glutSetWindow@4
-glutSetWindowTitle@4
-glutSetupVideoResizing@0
-glutShowOverlay@0
-glutShowWindow@0
-glutSolidCone@24
-glutSolidCube@8
-glutSolidDodecahedron@0
-glutSolidIcosahedron@0
-glutSolidOctahedron@0
-glutSolidSphere@16
-glutSolidTeapot@8
-glutSolidTetrahedron@0
-glutSolidTorus@24
-glutSpaceballButtonFunc@4
-glutSpaceballMotionFunc@4
-glutSpaceballRotateFunc@4
-glutSpecialFunc@4
-glutSpecialUpFunc@4
-glutStopVideoResizing@0
-glutStrokeCharacter@8
-glutStrokeLength@8
-glutStrokeWidth@8
-glutSwapBuffers@0
-glutTabletButtonFunc@4
-glutTabletMotionFunc@4
-glutTimerFunc@12
-glutUseLayer@4
-glutVideoPan@16
-glutVideoResize@16
-glutVideoResizeGet@4
-glutVisibilityFunc@4
-glutWarpPointer@8
-glutWindowStatusFunc@4
-glutWireCone@24
-glutWireCube@8
-glutWireDodecahedron@0
-glutWireIcosahedron@0
-glutWireOctahedron@0
-glutWireSphere@16
-glutWireTeapot@8
-glutWireTetrahedron@0
-glutWireTorus@24
diff --git a/winsup/w32api/lib/igmpagnt.def b/winsup/w32api/lib/igmpagnt.def
deleted file mode 100644
index 803ee3503..000000000
--- a/winsup/w32api/lib/igmpagnt.def
+++ /dev/null
@@ -1,6 +0,0 @@
-LIBRARY igmpagnt.dll
-EXPORTS
-SnmpExtensionClose@0
-SnmpExtensionInit@12
-SnmpExtensionQuery@16
-SnmpExtensionTrap@20
diff --git a/winsup/w32api/lib/imagehlp.def b/winsup/w32api/lib/imagehlp.def
deleted file mode 100644
index 411a360bd..000000000
--- a/winsup/w32api/lib/imagehlp.def
+++ /dev/null
@@ -1,114 +0,0 @@
-LIBRARY IMAGEHLP.DLL
-EXPORTS
-BindImage@12
-BindImageEx@20
-CheckSumMappedFile@16
-CopyPdb@12
-EnumerateLoadedModules32@12
-EnumerateLoadedModules64@12
-EnumerateLoadedModules@12
-FindDebugInfoFile@12
-FindDebugInfoFileEx@20
-FindExecutableImage@12
-GetImageConfigInformation@8
-GetImageUnusedHeaderBytes@8
-GetTimestampForLoadedLibrary@4
-ImageAddCertificate@12
-ImageDirectoryEntryToData@16
-ImageDirectoryEntryToDataEx@20
-ImageEnumerateCertificates@20
-ImageGetCertificateData@16
-ImageGetCertificateHeader@12
-ImageGetDigestStream@16
-ImageLoad@8
-ImageNtHeader@4
-ImageRemoveCertificate@8
-ImageRvaToSection@12
-ImageRvaToVa@16
-ImageUnload@4
-ImagehlpApiVersion@0
-ImagehlpApiVersionEx@4
-MakeSureDirectoryPathExists@4
-MapAndLoad@20
-MapDebugInformation32@16
-MapDebugInformation64@20
-MapDebugInformation@16
-MapFileAndCheckSumA@12
-MapFileAndCheckSumW@12
-MarkImageAsRunFromSwap@8
-ReBaseImage@44
-RemovePrivateCvSymbolic@12
-RemovePrivateCvSymbolicEx@16
-RemoveRelocations@4
-SearchTreeForFile@12
-SetImageConfigInformation@8
-SplitSymbols@16
-StackWalk32@36
-StackWalk64@36
-StackWalk@36
-SymCleanup@4
-SymEnumerateModules32@12
-SymEnumerateModules64@12
-SymEnumerateModules@12
-SymEnumerateSymbols32@16
-SymEnumerateSymbols64@20
-SymEnumerateSymbols@16
-SymFunctionTableAccess32@8
-SymFunctionTableAccess64@12
-SymFunctionTableAccess@8
-SymGetLineFromAddr32@16
-SymGetLineFromAddr64@20
-SymGetLineFromAddr@16
-SymGetLineFromName32@24
-SymGetLineFromName64@24
-SymGetLineFromName@24
-SymGetLineNext32@8
-SymGetLineNext64@8
-SymGetLineNext@8
-SymGetLinePrev32@8
-SymGetLinePrev64@8
-SymGetLinePrev@8
-SymGetModuleBase32@8
-SymGetModuleBase64@12
-SymGetModuleBase@8
-SymGetModuleInfo32@12
-SymGetModuleInfo64@16
-SymGetModuleInfo@12
-SymGetOptions@0
-SymGetSearchPath@12
-SymGetSymFromAddr32@16
-SymGetSymFromAddr64@20
-SymGetSymFromAddr@16
-SymGetSymFromName32@12
-SymGetSymFromName64@12
-SymGetSymFromName@12
-SymGetSymNext32@8
-SymGetSymNext64@8
-SymGetSymNext@8
-SymGetSymPrev32@8
-SymGetSymPrev64@8
-SymGetSymPrev@8
-SymInitialize@12
-SymLoadModule32@24
-SymLoadModule64@28
-SymLoadModule@24
-SymMatchFileName@16
-SymRegisterCallback32@12
-SymRegisterCallback64@16
-SymRegisterCallback@12
-SymSetOptions@4
-SymSetSearchPath@8
-SymUnDName32@12
-SymUnDName64@12
-SymUnDName@12
-SymUnloadModule32@8
-SymUnloadModule64@12
-SymUnloadModule@8
-TouchFileTimes@8
-UnDecorateSymbolName@16
-UnMapAndLoad@4
-UnmapDebugInformation32@4
-UnmapDebugInformation64@4
-UnmapDebugInformation@4
-UpdateDebugInfoFile@16
-UpdateDebugInfoFileEx@20
diff --git a/winsup/w32api/lib/imm32.def b/winsup/w32api/lib/imm32.def
deleted file mode 100644
index c8b9c8491..000000000
--- a/winsup/w32api/lib/imm32.def
+++ /dev/null
@@ -1,78 +0,0 @@
-LIBRARY IMM32.DLL
-EXPORTS
-ImmAssociateContext@8
-ImmConfigureIMEA@16
-ImmConfigureIMEW@16
-ImmCreateContext@0
-ImmCreateIMCC@4
-ImmCreateSoftKeyboard@16
-ImmDestroyContext@4
-ImmDestroyIMCC@4
-ImmDestroySoftKeyboard@4
-ImmDisableIME@4
-ImmEnumRegisterWordA@24
-ImmEnumRegisterWordW@24
-ImmEscapeA@16
-ImmEscapeW@16
-ImmGenerateMessage@4
-ImmGetCandidateListA@16
-ImmGetCandidateListCountA@8
-ImmGetCandidateListCountW@8
-ImmGetCandidateListW@16
-ImmGetCandidateWindow@12
-ImmGetCompositionFontA@8
-ImmGetCompositionFontW@8
-ImmGetCompositionStringA@16
-ImmGetCompositionStringW@16
-ImmGetCompositionWindow@8
-ImmGetContext@4
-ImmGetConversionListA@24
-ImmGetConversionListW@24
-ImmGetConversionStatus@12
-ImmGetDefaultIMEWnd@4
-ImmGetDescriptionA@12
-ImmGetDescriptionW@12
-ImmGetGuideLineA@16
-ImmGetGuideLineW@16
-ImmGetHotKey@16
-ImmGetIMCCLockCount@4
-ImmGetIMCCSize@4
-ImmGetIMCLockCount@4
-ImmGetIMEFileNameA@12
-ImmGetIMEFileNameW@12
-ImmGetImeMenuItemsA@24
-ImmGetImeMenuItemsW@24
-ImmGetOpenStatus@4
-ImmGetProperty@8
-ImmGetRegisterWordStyleA@12
-ImmGetRegisterWordStyleW@12
-ImmGetStatusWindowPos@8
-ImmGetVirtualKey@4
-ImmInstallIMEA@8
-ImmInstallIMEW@8
-ImmIsIME@4
-ImmIsUIMessageA@16
-ImmIsUIMessageW@16
-ImmLockIMC@4
-ImmLockIMCC@4
-ImmNotifyIME@16
-ImmReSizeIMCC@8
-ImmRegisterWordA@16
-ImmRegisterWordW@16
-ImmReleaseContext@8
-ImmSetCandidateWindow@8
-ImmSetCompositionFontA@8
-ImmSetCompositionFontW@8
-ImmSetCompositionStringA@24
-ImmSetCompositionStringW@24
-ImmSetCompositionWindow@8
-ImmSetConversionStatus@12
-ImmSetHotKey@16
-ImmSetOpenStatus@8
-ImmSetStatusWindowPos@8
-ImmShowSoftKeyboard@8
-ImmSimulateHotKey@8
-ImmUnlockIMC@4
-ImmUnlockIMCC@4
-ImmUnregisterWordA@16
-ImmUnregisterWordW@16
diff --git a/winsup/w32api/lib/iphlpapi.def b/winsup/w32api/lib/iphlpapi.def
deleted file mode 100644
index 33342e195..000000000
--- a/winsup/w32api/lib/iphlpapi.def
+++ /dev/null
@@ -1,45 +0,0 @@
-LIBRARY IPHLPAPI.DLL
-EXPORTS
-AddIPAddress@20
-CreateIpForwardEntry@4
-CreateIpNetEntry@4
-CreateProxyArpEntry@12
-DeleteIPAddress@4
-DeleteIpForwardEntry@4
-DeleteIpNetEntry@4
-DeleteProxyArpEntry@12
-EnableRouter@8
-FlushIpNetTable@4
-GetAdapterIndex@8
-GetAdaptersInfo@8
-GetBestInterface@8
-GetBestRoute@12
-GetFriendlyIfIndex@4
-GetIcmpStatistics@4
-GetIfEntry@4
-GetIfTable@12
-GetInterfaceInfo@8
-GetIpAddrTable@12
-GetIpForwardTable@12
-GetIpNetTable@12
-GetIpStatistics@4
-GetNetworkParams@8
-GetNumberOfInterfaces@4
-GetPerAdapterInfo@12
-GetRTTAndHopCount@16
-GetTcpStatistics@4
-GetTcpTable@12
-GetUdpStatistics@4
-GetUdpTable@12
-GetUniDirectionalAdapterInfo@8
-IpReleaseAddress@4
-IpRenewAddress@4
-SendARP@16
-SetAdapterIpAddress@20
-SetIfEntry@4
-SetIpForwardEntry@4
-SetIpNetEntry@4
-SetIpStatistics@4
-SetIpTTL@4
-SetTcpEntry@4
-UnenableRouter@8
diff --git a/winsup/w32api/lib/kernel32.c b/winsup/w32api/lib/kernel32.c
deleted file mode 100644
index 08ff86c25..000000000
--- a/winsup/w32api/lib/kernel32.c
+++ /dev/null
@@ -1,49 +0,0 @@
-/* extern (library) versions of inline functions defined in winnt.h */
-
-#if defined(__GNUC__)
-
-void* GetCurrentFiber(void)
-{
- void* ret;
- __asm__ volatile (
- "movl %%fs:0x10,%0"
- : "=r" (ret) /* allow use of reg eax,ebx,ecx,edx,esi,edi */
- );
- return ret;
-}
-
-void* GetFiberData(void)
-{
- void* ret;
- __asm__ volatile (
- "movl %%fs:0x10,%0\n"
- "movl (%0),%0"
- : "=r" (ret) /* allow use of reg eax,ebx,ecx,edx,esi,edi */
- );
- return ret;
-}
-
-#elif !defined (__WATCOMC__)
-
-void* GetCurrentFiber(void)
-{
- void* res;
- _asm {
- mov eax, dword ptr fs:0x10
- mov res, eax
- };
- return res;
-}
-
-void* GetFiberData(void)
-{
- void* res;
- _asm {
- mov eax, dword ptr fs:0x10
- mov eax, [eax]
- mov res, eax
- };
- return res;
-}
-
-#endif /* __GNUC__ */
diff --git a/winsup/w32api/lib/kernel32.def b/winsup/w32api/lib/kernel32.def
deleted file mode 100644
index 6ef6528e1..000000000
--- a/winsup/w32api/lib/kernel32.def
+++ /dev/null
@@ -1,869 +0,0 @@
-LIBRARY KERNEL32.dll
-EXPORTS
-ActivateActCtx@8
-AddAtomA@4
-AddAtomW@4
-AddConsoleAliasA@12
-AddConsoleAliasW@12
-AddLocalAlternateComputerNameA@8
-AddLocalAlternateComputerNameW@8
-AddRefActCtx@4
-AddVectoredExceptionHandler@8
-AllocConsole@0
-AllocateUserPhysicalPages@12
-AreFileApisANSI@0
-AssignProcessToJobObject@8
-AttachConsole@4
-BackupRead@28
-BackupSeek@24
-BackupWrite@28
-BaseAttachCompleteThunk@0
-Beep@8
-BeginUpdateResourceA@8
-BeginUpdateResourceW@8
-BuildCommDCBA@8
-BuildCommDCBAndTimeoutsA@12
-BuildCommDCBAndTimeoutsW@12
-BuildCommDCBW@8
-CallNamedPipeA@28
-CallNamedPipeW@28
-CancelDeviceWakeupRequest@4
-CancelIo@4
-CancelTimerQueueTimer@8
-CancelWaitableTimer@4
-ChangeTimerQueueTimer@16
-CheckNameLegalDOS8Dot3A@20
-CheckNameLegalDOS8Dot3W@20
-CheckRemoteDebuggerPresent@8
-ClearCommBreak@4
-ClearCommError@12
-CloseConsoleHandle@4
-CloseHandle@4
-CloseProfileUserMapping@0
-CmdBatNotification@4
-CommConfigDialogA@12
-CommConfigDialogW@12
-CompareFileTime@8
-CompareStringA@24
-CompareStringW@24
-ConnectNamedPipe@8
-ConsoleMenuControl@12
-ContinueDebugEvent@12
-ConvertDefaultLocale@4
-ConvertFiberToThread@0
-ConvertThreadToFiber@4
-ConvertToGlobalHandle@4
-CopyFileA@12
-CopyFileW@12
-CopyFileExA@24
-CopyFileExW@24
-CreateActCtxA@4
-CreateActCtxW@4
-CreateConsoleScreenBuffer@20
-CreateDirectoryA@8
-CreateDirectoryExA@12
-CreateDirectoryExW@12
-CreateDirectoryW@8
-CreateEventA@16
-CreateEventW@16
-CreateFiber@12
-CreateFiberEx@12
-CreateFileA@28
-CreateFileMappingA@24
-CreateFileMappingW@24
-CreateFileW@28
-CreateHardLinkA@12
-CreateHardLinkW@12
-CreateIoCompletionPort@16
-CreateJobObjectA@8
-CreateJobObjectW@8
-CreateMailslotA@16
-CreateMailslotW@16
-CreateMutexA@12
-CreateMutexW@12
-CreateNamedPipeA@32
-CreateNamedPipeW@32
-CreatePipe@16
-CreateProcessA@40
-CreateProcessW@40
-CreateRemoteThread@28
-CreateSemaphoreA@16
-CreateSemaphoreW@16
-CreateTapePartition@16
-CreateThread@24
-CreateTimerQueue@0
-CreateTimerQueueTimer@28
-CreateToolhelp32Snapshot@8
-CreateVirtualBuffer@12
-CreateWaitableTimerA@12
-CreateWaitableTimerW@12
-DeactivateActCtx@8
-DebugActiveProcess@4
-DebugActiveProcessStop@4
-DebugBreak@0
-DebugBreakProcess@4
-DebugSetProcessKillOnExit@4
-DefineDosDeviceA@12
-DefineDosDeviceW@12
-DeleteAtom@4
-DeleteCriticalSection@4
-DeleteFiber@4
-DeleteFileA@4
-DeleteFileW@4
-DeleteTimerQueue@4
-DeleteTimerQueueEx@8
-DeleteTimerQueueTimer@12
-DeleteVolumeMountPointA@4
-DeleteVolumeMountPointW@4
-DeviceIoControl@32
-DisableThreadLibraryCalls@4
-DisconnectNamedPipe@4
-DnsHostnameToComputerNameA@12
-DnsHostnameToComputerNameW@12
-DosDateTimeToFileTime@12
-DuplicateConsoleHandle@16
-DuplicateHandle@28
-EndUpdateResourceA@8
-EndUpdateResourceW@8
-EnterCriticalSection@4
-EnumCalendarInfoA@16
-EnumCalendarInfoW@16
-EnumCalendarInfoExA@16
-EnumCalendarInfoExW@16
-EnumDateFormatsA@12
-EnumDateFormatsW@12
-EnumDateFormatsExA@12
-EnumDateFormatsExW@12
-EnumLanguageGroupLocalesA@16
-EnumLanguageGroupLocalesW@16
-EnumResourceLanguagesA@20
-EnumResourceLanguagesW@20
-EnumResourceNamesA@16
-EnumResourceNamesW@16
-EnumResourceTypesA@12
-EnumResourceTypesW@12
-EnumSystemCodePagesA@8
-EnumSystemCodePagesW@8
-EnumSystemGeoID@12
-EnumSystemLanguageGroupsA@12
-EnumSystemLanguageGroupsW@12
-EnumSystemLocalesA@8
-EnumSystemLocalesW@8
-EnumTimeFormatsA@12
-EnumTimeFormatsW@12
-EnumUILanguagesA@12
-EnumUILanguagesW@12
-EraseTape@12
-EscapeCommFunction@8
-ExitProcess@4
-ExitThread@4
-ExitVDM@8
-ExpandEnvironmentStringsA@12
-ExpandEnvironmentStringsW@12
-ExpungeConsoleCommandHistoryA@4
-ExpungeConsoleCommandHistoryW@4
-ExtendVirtualBuffer@8
-FatalAppExitA@8
-FatalAppExitW@8
-FatalExit@4
-FileTimeToDosDateTime@12
-FileTimeToLocalFileTime@8
-FileTimeToSystemTime@8
-FillConsoleOutputAttribute@20
-FillConsoleOutputCharacterA@20
-FillConsoleOutputCharacterW@20
-FindActCtxSectionGuid@20
-FindActCtxSectionStringA@20
-FindActCtxSectionStringW@20
-FindAtomA@4
-FindAtomW@4
-FindClose@4
-FindCloseChangeNotification@4
-FindFirstChangeNotificationA@12
-FindFirstChangeNotificationW@12
-FindFirstFileA@8
-FindFirstFileW@8
-FindFirstFileExA@24
-FindFirstFileExW@24
-FindFirstVolumeA@8
-FindFirstVolumeW@8
-FindFirstVolumeMountPointA@12
-FindFirstVolumeMountPointW@12
-FindNextChangeNotification@4
-FindNextFileA@8
-FindNextFileW@8
-FindNextVolumeA@12
-FindNextVolumeW@12
-FindNextVolumeMountPointA@12
-FindNextVolumeMountPointW@12
-FindResourceA@12
-FindResourceExA@16
-FindResourceExW@16
-FindResourceW@12
-FindVolumeClose@4
-FindVolumeMountPointClose@4
-FlushConsoleInputBuffer@4
-FlushFileBuffers@4
-FlushInstructionCache@12
-FlushViewOfFile@8
-FoldStringA@20
-FoldStringW@20
-FormatMessageA@28
-FormatMessageW@28
-FreeConsole@0
-FreeEnvironmentStringsA@4
-FreeEnvironmentStringsW@4
-FreeLibrary@4
-FreeLibraryAndExitThread@8
-FreeResource@4
-FreeUserPhysicalPages@12
-FreeVirtualBuffer@4
-GenerateConsoleCtrlEvent@8
-GetACP@0
-GetAtomNameA@12
-GetAtomNameW@12
-GetBinaryType@8
-GetBinaryTypeA@8
-GetBinaryTypeW@8
-GetCPInfo@8
-GetCPInfoExA@12
-GetCPInfoExW@12
-GetCalendarInfoA@24
-GetCalendarInfoW@24
-GetCommConfig@12
-GetCommMask@8
-GetCommModemStatus@8
-GetCommProperties@8
-GetCommState@8
-GetCommTimeouts@8
-GetCommandLineA@0
-GetCommandLineW@0
-GetCompressedFileSizeA@8
-GetCompressedFileSizeW@8
-GetComputerNameA@8
-GetComputerNameW@8
-GetComputerNameExA@12
-GetComputerNameExW@12
-GetConsoleAliasA@16
-GetConsoleAliasExesA@8
-GetConsoleAliasExesLengthA@0
-GetConsoleAliasExesLengthW@0
-GetConsoleAliasExesW@8
-GetConsoleAliasW@16
-GetConsoleAliasesA@12
-GetConsoleAliasesLengthA@4
-GetConsoleAliasesLengthW@4
-GetConsoleAliasesW@12
-GetConsoleCP@0
-GetConsoleCommandHistoryA@12
-GetConsoleCommandHistoryLengthA@4
-GetConsoleCommandHistoryLengthW@4
-GetConsoleCommandHistoryW@12
-GetConsoleCursorInfo@8
-GetConsoleDisplayMode@4
-GetConsoleFontInfo@16
-GetConsoleFontSize@8
-GetConsoleHardwareState@12
-GetConsoleInputExeNameA@8
-GetConsoleInputExeNameW@8
-GetConsoleInputWaitHandle@0
-GetConsoleKeyboardLayoutNameA@4
-GetConsoleKeyboardLayoutNameW@4
-GetConsoleMode@8
-GetConsoleOutputCP@0
-GetConsoleScreenBufferInfo@8
-GetConsoleTitleA@8
-GetConsoleTitleW@8
-GetConsoleWindow@0
-GetCurrencyFormatA@24
-GetCurrencyFormatW@24
-GetCurrentActCtx@4
-GetCurrentConsoleFont@12
-GetCurrentDirectoryA@8
-GetCurrentDirectoryW@8
-GetCurrentProcess@0
-GetCurrentProcessId@0
-GetCurrentThread@0
-GetCurrentThreadId@0
-GetDateFormatA@24
-GetDateFormatW@24
-GetDefaultCommConfigA@12
-GetDefaultCommConfigW@12
-GetDevicePowerState@4
-GetDiskFreeSpaceA@20
-GetDiskFreeSpaceW@20
-GetDiskFreeSpaceExA@16
-GetDiskFreeSpaceExW@16
-GetDllDirectoryA@8
-GetDllDirectoryW@8
-GetDriveTypeA@4
-GetDriveTypeW@4
-GetErrorMode@0
-GetEnvironmentStrings@0
-GetEnvironmentStringsA@0
-GetEnvironmentStringsW@0
-GetEnvironmentVariableA@12
-GetEnvironmentVariableW@12
-GetExitCodeProcess@8
-GetExitCodeThread@8
-GetFileAttributesA@4
-GetFileAttributesW@4
-GetFileAttributesExA@12
-GetFileAttributesExW@12
-GetFileInformationByHandle@8
-GetFileSize@8
-GetFileSizeEx@8
-GetFileTime@16
-GetFileType@4
-GetFirmwareEnvironmentVariableA@16
-GetFirmwareEnvironmentVariableW@16
-GetFullPathNameA@16
-GetFullPathNameW@16
-GetGeoInfoA@20
-GetGeoInfoW@20
-GetHandleInformation@8
-GetLargestConsoleWindowSize@4
-GetLastError@0
-GetLocalTime@4
-GetLocaleInfoA@16
-GetLocaleInfoW@16
-GetLogicalDriveStringsA@8
-GetLogicalDriveStringsW@8
-GetLogicalDrives@0
-GetLongPathNameA@12
-GetLongPathNameW@12
-GetMailslotInfo@20
-GetModuleFileNameA@12
-GetModuleFileNameW@12
-GetModuleHandleA@4
-GetModuleHandleW@4
-GetModuleHandleExA@12
-GetModuleHandleExW@12
-GetNamedPipeHandleStateA@28
-GetNamedPipeHandleStateW@28
-GetNamedPipeInfo@20
-GetNativeSystemInfo@4
-GetNextVDMCommand@4
-GetNumberFormatA@24
-GetNumberFormatW@24
-GetNumberOfConsoleFonts@0
-GetNumberOfConsoleInputEvents@8
-GetNumberOfConsoleMouseButtons@4
-GetOEMCP@0
-GetOverlappedResult@16
-GetPriorityClass@4
-GetPrivateProfileIntA@16
-GetPrivateProfileIntW@16
-GetPrivateProfileSectionA@16
-GetPrivateProfileSectionNamesA@12
-GetPrivateProfileSectionNamesW@12
-GetPrivateProfileSectionW@16
-GetPrivateProfileStringA@24
-GetPrivateProfileStringW@24
-GetPrivateProfileStructA@20
-GetPrivateProfileStructW@20
-GetProcAddress@8
-GetProcessAffinityMask@12
-GetProcessHandleCount@8
-GetProcessHeap@0
-GetProcessHeaps@8
-GetProcessId@4
-GetProcessIoCounters@8
-GetProcessPriorityBoost@8
-GetProcessShutdownParameters@8
-GetProcessTimes@20
-GetProcessVersion@4
-GetProcessWorkingSetSize@12
-GetProductName@8
-GetProfileIntA@12
-GetProfileIntW@12
-GetProfileSectionA@12
-GetProfileSectionW@12
-GetProfileStringA@20
-GetProfileStringW@20
-GetQueuedCompletionStatus@20
-GetShortPathNameA@12
-GetShortPathNameW@12
-GetStartupInfoA@4
-GetStartupInfoW@4
-GetStdHandle@4
-GetStringTypeA@20
-GetStringTypeExA@20
-GetStringTypeExW@20
-GetStringTypeW@16
-GetSystemDefaultLCID@0
-GetSystemDefaultLangID@0
-GetSystemDefaultUILanguage@0
-GetSystemDirectoryA@8
-GetSystemDirectoryW@8
-GetSystemInfo@4
-GetSystemPowerStatus@4
-GetSystemRegistryQuota@8
-GetSystemTime@4
-GetSystemTimes@12
-GetSystemTimeAdjustment@12
-GetSystemTimeAsFileTime@4
-GetSystemWindowsDirectoryA@8
-GetSystemWindowsDirectoryW@8
-GetSystemWow64DirectoryA@8
-GetSystemWow64DirectoryW@8
-GetTapeParameters@16
-GetTapePosition@20
-GetTapeStatus@4
-GetTempFileNameA@16
-GetTempFileNameW@16
-GetTempPathA@8
-GetTempPathW@8
-GetThreadContext@8
-GetThreadIOPendingFlag@8
-GetThreadLocale@0
-GetThreadPriority@4
-GetThreadPriorityBoost@8
-GetThreadSelectorEntry@12
-GetThreadTimes@20
-GetTickCount@0
-GetTimeFormatA@24
-GetTimeFormatW@24
-GetTimeZoneInformation@4
-GetUserDefaultLCID@0
-GetUserDefaultLangID@0
-GetUserDefaultUILanguage@0
-GetUserGeoID@4
-GetVDMCurrentDirectories@8
-GetVersion@0
-GetVersionExA@4
-GetVersionExW@4
-GetVolumeInformationA@32
-GetVolumeInformationW@32
-GetVolumeNameForVolumeMountPointA@12
-GetVolumeNameForVolumeMountPointW@12
-GetVolumePathNameA@12
-GetVolumePathNameW@12
-GetVolumePathNamesForVolumeNameA@16
-GetVolumePathNamesForVolumeNameW@16
-GetWindowsDirectoryA@8
-GetWindowsDirectoryW@8
-GetWriteWatch@24
-GlobalAddAtomA@4
-GlobalAddAtomW@4
-GlobalAlloc@8
-GlobalCompact@4
-GlobalDeleteAtom@4
-GlobalFindAtomA@4
-GlobalFindAtomW@4
-GlobalFix@4
-GlobalFlags@4
-GlobalFree@4
-GlobalGetAtomNameA@12
-GlobalGetAtomNameW@12
-GlobalHandle@4
-GlobalLock@4
-GlobalMemoryStatus@4
-GlobalMemoryStatusEx@4
-GlobalMemoryStatusVlm@4
-GlobalReAlloc@12
-GlobalSize@4
-GlobalUnWire@4
-GlobalUnfix@4
-GlobalUnlock@4
-GlobalWire@4
-Heap32First@12
-Heap32ListFirst@8
-Heap32ListNext@8
-Heap32Next@4
-HeapAlloc@12
-HeapCompact@8
-HeapCreate@12
-HeapCreateTagsW@16
-HeapDestroy@4
-HeapExtend@16
-HeapFree@12
-HeapLock@4
-HeapQueryInformation@20
-HeapQueryTagW@20
-HeapReAlloc@16
-HeapSetInformation@16
-HeapSize@12
-HeapSummary@12
-HeapUnlock@4
-HeapUsage@20
-HeapValidate@12
-HeapWalk@8
-InitAtomTable@4
-InitializeCriticalSection@4
-InitializeCriticalSectionAndSpinCount@8
-InitializeSListHead@4
-InterlockedCompareExchange@12
-InterlockedDecrement@4
-InterlockedExchange@8
-InterlockedExchangeAdd@8
-InterlockedFlushSList@4
-InterlockedIncrement@4
-InterlockedPopEntrySList@4
-InterlockedPushEntrySList@8
-InvalidateConsoleDIBits@8
-IsBadCodePtr@4
-IsBadHugeReadPtr@8
-IsBadHugeWritePtr@8
-IsBadReadPtr@8
-IsBadStringPtrA@8
-IsBadStringPtrW@8
-IsBadWritePtr@8
-IsDBCSLeadByte@4
-IsDBCSLeadByteEx@8
-IsDebuggerPresent@0
-IsProcessInJob@12
-IsProcessorFeaturePresent@4
-IsSystemResumeAutomatic@0
-IsValidCodePage@4
-IsValidLanguageGroup@8
-IsValidLocale@8
-IsWow64Process@8
-LCMapStringA@24
-LCMapStringW@24
-LeaveCriticalSection@4
-LoadLibraryA@4
-LoadLibraryExA@12
-LoadLibraryExW@12
-LoadLibraryW@4
-LoadModule@8
-LoadResource@8
-LocalAlloc@8
-LocalCompact@4
-LocalFileTimeToFileTime@8
-LocalFlags@4
-LocalFree@4
-LocalHandle@4
-LocalLock@4
-LocalReAlloc@12
-LocalShrink@8
-LocalSize@4
-LocalUnlock@4
-LockFile@20
-LockFileEx@24
-LockResource@4
-MapUserPhysicalPages@12
-MapUserPhysicalPagesScatter@12
-MapViewOfFile@20
-MapViewOfFileEx@24
-MapViewOfFileVlm@28
-Module32First@8
-Module32FirstW@8
-Module32Next@8
-Module32NextW@8
-MoveFileA@8
-MoveFileW@8
-MoveFileExA@12
-MoveFileExW@12
-MoveFileWithProgressA@20
-MoveFileWithProgressW@20
-MulDiv@12
-MultiByteToWideChar@24
-OpenConsoleW@16
-OpenEventA@12
-OpenEventW@12
-OpenFile@12
-OpenFileMappingA@12
-OpenFileMappingW@12
-OpenJobObjectA@12
-OpenJobObjectW@12
-OpenMutexA@12
-OpenMutexW@12
-OpenProcess@12
-OpenProfileUserMapping@0
-OpenSemaphoreA@12
-OpenSemaphoreW@12
-OpenThread@12
-OpenWaitableTimerA@12
-OpenWaitableTimerW@12
-OutputDebugStringA@4
-OutputDebugStringW@4
-PeekConsoleInputA@16
-PeekConsoleInputW@16
-PeekNamedPipe@24
-PostQueuedCompletionStatus@16
-PrepareTape@12
-Process32First@8
-Process32FirstW@8
-Process32Next@8
-Process32NextW@8
-ProcessIdToSessionId@8
-PulseEvent@4
-PurgeComm@8
-QueryActCtxW@28
-QueryDosDeviceA@12
-QueryDosDeviceW@12
-QueryInformationJobObject@20
-QueryMemoryResourceNotification@8
-QueryPerformanceCounter@4
-QueryPerformanceFrequency@4
-QueryWin31IniFilesMappedToRegistry@16
-QueueUserAPC@12
-QueueUserWorkItem@12
-RaiseException@16
-ReadConsoleA@20
-ReadConsoleInputA@16
-ReadConsoleInputW@16
-ReadConsoleInputExA@20
-ReadConsoleInputExW@20
-ReadConsoleOutputA@20
-ReadConsoleOutputAttribute@20
-ReadConsoleOutputCharacterA@20
-ReadConsoleOutputCharacterW@20
-ReadConsoleOutputW@20
-ReadConsoleW@20
-ReadDirectoryChangesW@32
-ReadFile@20
-ReadFileEx@20
-ReadFileScatter@20
-ReadFileVlm@20
-ReadProcessMemory@20
-ReadProcessMemoryVlm@20
-RegisterConsoleVDM@44
-RegisterWaitForInputIdle@4
-RegisterWaitForSingleObject@24
-RegisterWaitForSingleObjectEx@20
-RegisterWowBaseHandlers@4
-RegisterWowExec@4
-ReleaseActCtx@4
-ReleaseMutex@4
-ReleaseSemaphore@12
-RemoveDirectoryA@4
-RemoveDirectoryW@4
-RemoveVectoredExceptionHandler@4
-ReplaceFile@24
-ReplaceFileA@24
-ReplaceFileW@24
-RequestWakeupLatency@4
-ResetEvent@4
-ResetWriteWatch@8
-RestoreLastError@4
-ResumeThread@4
-RtlFillMemory@12
-RtlMoveMemory@12
-RtlUnwind@16
-RtlZeroMemory@8
-ScrollConsoleScreenBufferA@20
-ScrollConsoleScreenBufferW@20
-SearchPathA@24
-SearchPathW@24
-SetCalendarInfoA@16
-SetCalendarInfoW@16
-SetCommBreak@4
-SetCommConfig@12
-SetCommMask@8
-SetCommState@8
-SetCommTimeouts@8
-SetComputerNameA@4
-SetComputerNameW@4
-SetComputerNameExA@8
-SetComputerNameExW@8
-SetConsoleActiveScreenBuffer@4
-SetConsoleCP@4
-SetConsoleCommandHistoryMode@4
-SetConsoleCtrlHandler@8
-SetConsoleCursor@8
-SetConsoleCursorInfo@8
-SetConsoleCursorPosition@8
-SetConsoleDisplayMode@12
-SetConsoleFont@8
-SetConsoleHardwareState@12
-SetConsoleIcon@4
-SetConsoleInputExeNameA@4
-SetConsoleInputExeNameW@4
-SetConsoleKeyShortcuts@16
-SetConsoleMaximumWindowSize@8
-SetConsoleMenuClose@4
-SetConsoleMode@8
-SetConsoleNumberOfCommandsA@8
-SetConsoleNumberOfCommandsW@8
-SetConsoleOutputCP@4
-SetConsolePalette@12
-SetConsoleScreenBufferSize@8
-SetConsoleTextAttribute@8
-SetConsoleTitleA@4
-SetConsoleTitleW@4
-SetConsoleWindowInfo@12
-SetCriticalSectionSpinCount@8
-SetCurrentDirectoryA@4
-SetCurrentDirectoryW@4
-SetDefaultCommConfigA@12
-SetDefaultCommConfigW@12
-SetDllDirectoryA@4
-SetDllDirectoryW@4
-SetEndOfFile@4
-SetEnvironmentVariableA@8
-SetEnvironmentVariableW@8
-SetErrorMode@4
-SetEvent@4
-SetFileApisToANSI@0
-SetFileApisToOEM@0
-SetFileAttributesA@8
-SetFileAttributesW@8
-SetFilePointer@16
-SetFilePointerEx@20
-SetFileShortNameA@8
-SetFileShortNameW@8
-SetFileTime@16
-SetFileValidData@12
-SetHandleCount@4
-SetHandleInformation@12
-SetInformationJobObject@16
-SetLastConsoleEventActive@0
-SetLastError@4
-SetLocalTime@4
-SetLocaleInfoA@12
-SetLocaleInfoW@12
-SetMailslotInfo@8
-SetNamedPipeHandleState@16
-SetPriorityClass@8
-SetProcessAffinityMask@8
-SetProcessPriorityBoost@8
-SetProcessShutdownParameters@8
-SetProcessWorkingSetSize@12
-SetStdHandle@8
-SetSystemPowerState@8
-SetSystemTime@4
-SetSystemTimeAdjustment@8
-SetTapeParameters@12
-SetTapePosition@24
-SetThreadAffinityMask@8
-SetThreadContext@8
-SetThreadExecutionState@4
-SetThreadIdealProcessor@8
-SetThreadLocale@4
-SetThreadPriority@8
-SetThreadPriorityBoost@8
-SetTimeZoneInformation@4
-SetTimerQueueTimer@24
-SetUnhandledExceptionFilter@4
-SetUserGeoID@4
-SetVDMCurrentDirectories@8
-SetVolumeLabelA@8
-SetVolumeLabelW@8
-SetVolumeMountPointA@8
-SetVolumeMountPointW@8
-SetWaitableTimer@24
-SetupComm@12
-ShowConsoleCursor@8
-SignalObjectAndWait@16
-SizeofResource@8
-Sleep@4
-SleepEx@8
-SuspendThread@4
-SwitchToFiber@4
-SwitchToThread@0
-SystemTimeToFileTime@8
-SystemTimeToTzSpecificLocalTime@12
-TerminateJobObject@8
-TerminateProcess@8
-TerminateThread@8
-Thread32First@8
-Thread32Next@8
-TlsAlloc@0
-TlsFree@4
-TlsGetValue@4
-TlsSetValue@8
-TransactNamedPipe@28
-TransmitCommChar@8
-TrimVirtualBuffer@4
-TryEnterCriticalSection@4
-UTRegister@28
-UTUnRegister@4
-UnhandledExceptionFilter@4
-UnlockFile@20
-UnlockFileEx@20
-UnmapViewOfFile@4
-UnmapViewOfFileVlm@4
-UnregisterWait@4
-UnregisterWaitEx@8
-UpdateResourceA@24
-UpdateResourceW@24
-VDMConsoleOperation@8
-VDMOperationStarted@4
-VerLanguageNameA@12
-VerLanguageNameW@12
-VerSetConditionMask@16
-VerifyConsoleIoHandle@4
-VerifyVersionInfoA@16
-VerifyVersionInfoW@16
-VirtualAlloc@16
-VirtualAllocEx@20
-VirtualAllocVlm@24
-VirtualBufferExceptionHandler@12
-VirtualFree@12
-VirtualFreeEx@16
-VirtualFreeVlm@20
-VirtualLock@8
-VirtualProtect@16
-VirtualProtectEx@20
-VirtualProtectVlm@24
-VirtualQuery@12
-VirtualQueryEx@16
-VirtualQueryVlm@16
-VirtualUnlock@8
-WaitCommEvent@12
-WaitForDebugEvent@8
-WaitForMultipleObjects@16
-WaitForMultipleObjectsEx@20
-WaitForSingleObject@8
-WaitForSingleObjectEx@12
-WaitNamedPipeA@8
-WaitNamedPipeW@8
-WideCharToMultiByte@32
-WinExec@8
-WriteConsoleA@20
-WriteConsoleInputA@16
-WriteConsoleInputVDMA@16
-WriteConsoleInputVDMW@16
-WriteConsoleInputW@16
-WriteConsoleOutputA@20
-WriteConsoleOutputAttribute@20
-WriteConsoleOutputCharacterA@20
-WriteConsoleOutputCharacterW@20
-WriteConsoleOutputW@20
-WriteConsoleW@20
-WriteFile@20
-WriteFileEx@20
-WriteFileGather@20
-WriteFileVlm@20
-WritePrivateProfileSectionA@12
-WritePrivateProfileSectionW@12
-WritePrivateProfileStringA@16
-WritePrivateProfileStringW@16
-WritePrivateProfileStructA@20
-WritePrivateProfileStructW@20
-WriteProcessMemory@20
-WriteProcessMemoryVlm@20
-WriteProfileSectionA@8
-WriteProfileSectionW@8
-WriteProfileStringA@12
-WriteProfileStringW@12
-WriteTapemark@16
-ZombifyActCtx@4
-_hread@12
-_hwrite@12
-_lclose@4
-_lcreat@8
-_llseek@12
-_lopen@8
-_lread@12
-_lwrite@12
-lstrcat@8
-lstrcatA@8
-lstrcatW@8
-lstrcmp@8
-lstrcmpA@8
-lstrcmpW@8
-lstrcmpi@8
-lstrcmpiA@8
-lstrcmpiW@8
-lstrcpy@8
-lstrcpyA@8
-lstrcpyW@8
-lstrcpyn@12
-lstrcpynA@12
-lstrcpynW@12
-lstrlen@4
-lstrlenA@4
-lstrlenW@4
diff --git a/winsup/w32api/lib/largeint.c b/winsup/w32api/lib/largeint.c
deleted file mode 100644
index 531937e23..000000000
--- a/winsup/w32api/lib/largeint.c
+++ /dev/null
@@ -1,118 +0,0 @@
-/*
- largeint.c
-
- Large (64 bits) integer arithmetics library
-
- Written by Anders Norlander <anorland@hem2.passagen.se>
-
- This file is part of a free library for the Win32 API.
-
- This library 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.
-
-*/
-
-#define __COMPILING_LARGEINT
-
-#include <largeint.h>
-
-__int64 WINAPI
-LargeIntegerAdd (__int64 i1, __int64 i2)
-{
- return i1 + i2;
-}
-
-__int64 WINAPI
-LargeIntegerSubtract (__int64 i1, __int64 i2)
-{
- return i1 - i2;
-}
-
-__int64 WINAPI
-LargeIntegerArithmeticShift (__int64 i, int n)
-{
- return i >> n;
-}
-
-__int64 WINAPI
-LargeIntegerShiftLeft (__int64 i, int n)
-{
- return i << n;
-}
-
-__int64 WINAPI
-LargeIntegerShiftRight (__int64 i, int n)
-{
- return i >> n;
-}
-
-__int64 WINAPI
-LargeIntegerNegate (__int64 i)
-{
- return -i;
-}
-
-__int64 WINAPI
-ConvertLongToLargeInteger (LONG l)
-{
- return (__int64) l;
-}
-
-__int64 WINAPI
-ConvertUlongToLargeInteger (ULONG ul)
-{
- return _toi(_toui(ul));
-}
-
-__int64 WINAPI
-EnlargedIntegerMultiply (LONG l1, LONG l2)
-{
- return _toi(l1) * _toi(l2);
-}
-
-__int64 WINAPI
-EnlargedUnsignedMultiply (ULONG ul1, ULONG ul2)
-{
- return _toi(_toui(ul1) * _toui(ul2));
-}
-
-__int64 WINAPI
-ExtendedIntegerMultiply (__int64 i, LONG l)
-{
- return i * _toi(l);
-}
-
-__int64 WINAPI
-LargeIntegerMultiply (__int64 i1, __int64 i2)
-{
- return i1 * i2;
-}
-
-__int64 WINAPI LargeIntegerDivide (__int64 i1, __int64 i2, __int64 *remainder)
-{
- if (remainder)
- *remainder = i1 % i2;
- return i1 / i2;
-}
-
-ULONG WINAPI
-EnlargedUnsignedDivide (unsigned __int64 i1, ULONG i2, PULONG remainder)
-{
- if (remainder)
- *remainder = i1 % _toi(i2);
- return i1 / _toi(i2);
-}
-__int64 WINAPI
-ExtendedLargeIntegerDivide (__int64 i1, ULONG i2, PULONG remainder)
-{
- if (remainder)
- *remainder = i1 % _toi(i2);
- return i1 / _toi(i2);
-}
-
-/* FIXME: what is this function supposed to do? */
-__int64 WINAPI ExtendedMagicDivide (__int64 i1, __int64 i2, int n)
-{
- return 0;
-}
diff --git a/winsup/w32api/lib/lz32.def b/winsup/w32api/lib/lz32.def
deleted file mode 100644
index 7ea621312..000000000
--- a/winsup/w32api/lib/lz32.def
+++ /dev/null
@@ -1,14 +0,0 @@
-LIBRARY LZ32.DLL
-EXPORTS
-CopyLZFile@8
-GetExpandedNameA@8
-GetExpandedNameW@8
-LZClose@4
-LZCopy@8
-LZDone@0
-LZInit@4
-LZOpenFileA@12
-LZOpenFileW@12
-LZRead@12
-LZSeek@12
-LZStart@0
diff --git a/winsup/w32api/lib/mapi32.def b/winsup/w32api/lib/mapi32.def
deleted file mode 100644
index 2e4fe42fb..000000000
--- a/winsup/w32api/lib/mapi32.def
+++ /dev/null
@@ -1,164 +0,0 @@
-LIBRARY MAPI32.DLL
-EXPORTS
-BuildDisplayTable@40
-CbOfEncoded@4
-CchOfEncoding@4
-ChangeIdleRoutine@28
-CloseIMsgSession@4
-CreateIProp@24
-CreateTable@36
-DeinitMapiUtil@0
-DeregisterIdleRoutine@4
-EnableIdleRoutine@8
-EncodeID@12
-FBadColumnSet@4
-FBadEntryList@4
-FBadProp@4
-FBadPropTag@4
-FBadRestriction@4
-FBadRglpNameID@8
-FBadRglpszA@8
-FBadRglpszW@8
-FBadRow@4
-FBadRowSet@4
-FBadSortOrderSet@4
-FBinFromHex@8
-FDecodeID@12
-FEqualNames@8
-FPropCompareProp@12
-FPropContainsProp@12
-FPropExists@8
-FreePadrlist@4
-FreeProws@4
-FtAdcFt@20
-FtAddFt@16
-FtDivFtBogus@20
-FtMulDw@12
-FtMulDwDw@8
-FtNegFt@8
-FtSubFt@16
-FtgRegisterIdleRoutine@20
-GetAttribIMsgOnIStg@12
-GetTnefStreamCodepage
-GetTnefStreamCodepage@12
-HexFromBin@12
-HrAddColumns@16
-HrAddColumnsEx@20
-HrAllocAdviseSink@12
-HrComposeEID@28
-HrComposeMsgID@24
-HrDecomposeEID@28
-HrDecomposeMsgID@24
-HrDispatchNotifications@4
-HrEntryIDFromSz@12
-HrGetOneProp@12
-HrIStorageFromStream@16
-HrQueryAllRows@24
-HrSetOneProp@8
-HrSzFromEntryID@12
-HrThisThreadAdviseSink@8
-HrValidateIPMSubtree@20
-HrValidateParameters@8
-InstallFilterHook@4
-IsBadBoundedStringPtr@8
-LAUNCHWIZARD
-LPropCompareProp@8
-LaunchWizard@20
-LpValFindProp@12
-MAPI_NSCP_SynchronizeClient@8
-MAPIAddress@44
-MAPIAdminProfiles
-MAPIAdminProfiles@8
-MAPIAllocateBuffer
-MAPIAllocateBuffer@8
-MAPIAllocateMore
-MAPIAllocateMore@12
-MAPIDeinitIdle@0
-MAPIDeleteMail@20
-MAPIDetails@20
-MAPIFindNext@28
-MAPIFreeBuffer
-MAPIFreeBuffer@4
-MAPIGetDefaultMalloc@0
-MAPIGetNetscapeVersion@0
-MAPIInitIdle@4
-MAPIInitialize
-MAPIInitialize@4
-MAPILogoff@16
-MAPILogon@24
-MAPILogonEx
-MAPILogonEx@20
-MAPIOpenFormMgr
-MAPIOpenFormMgr@8
-MAPIOpenLocalFormContainer
-MAPIOpenLocalFormContainer@4
-MAPIReadMail@24
-MAPIResolveName@24
-MAPISaveMail@24
-MAPISendDocuments@20
-MAPISendMail
-MAPISendMail@20
-MAPIUninitialize
-MAPIUninitialize@0
-MNLS_CompareStringW@24
-MNLS_IsBadStringPtrW@8
-MNLS_MultiByteToWideChar@24
-MNLS_WideCharToMultiByte@32
-MNLS_lstrcmpW@8
-MNLS_lstrcpyW@8
-MNLS_lstrlenW@4
-MapStorageSCode@4
-OpenIMsgOnIStg@44
-OpenIMsgSession@12
-OpenStreamOnFile
-OpenStreamOnFile@24
-OpenTnefStream
-OpenTnefStream@28
-OpenTnefStreamEx
-OpenTnefStreamEx@32
-PRProviderInit
-PpropFindProp@12
-PropCopyMore@16
-RTFSync
-RTFSync@12
-ScBinFromHexBounded@12
-ScCopyNotifications@16
-ScCopyProps@16
-ScCountNotifications@12
-ScCountProps@12
-ScCreateConversationIndex@16
-ScDupPropset@16
-ScGenerateMuid@4
-ScInitMapiUtil@4
-ScLocalPathFromUNC@12
-ScMAPIXFromCMC
-ScMAPIXFromSMAPI
-ScRelocNotifications@20
-ScRelocProps@20
-ScSplEntry
-ScUNCFromLocalPath@12
-SetAttribIMsgOnIStg@16
-SwapPlong@8
-SwapPword@8
-SzFindCh@8
-SzFindLastCh@8
-SzFindSz@8
-UFromSz@4
-UNKOBJ_COFree@8
-UNKOBJ_Free@8
-UNKOBJ_FreeRows@8
-UNKOBJ_ScAllocate@12
-UNKOBJ_ScAllocateMore@16
-UNKOBJ_ScCOAllocate@12
-UNKOBJ_ScCOReallocate@12
-UNKOBJ_ScSzFromIdsAlloc@20
-UlAddRef@4
-UlFromSzHex@4
-UlPropSize@4
-UlRelease@4
-WrapCompressedRTFStream
-WrapCompressedRTFStream@12
-WrapProgress@20
-WrapStoreEntryID@24
-__CPPValidateParameters@8
-__ValidateParameters@8
diff --git a/winsup/w32api/lib/mfcuia32.def b/winsup/w32api/lib/mfcuia32.def
deleted file mode 100644
index fb954e367..000000000
--- a/winsup/w32api/lib/mfcuia32.def
+++ /dev/null
@@ -1,12 +0,0 @@
-LIBRARY MFCUIA32.DLL
-EXPORTS
-OleUIAddVerbMenu@36
-OleUIBusy@4
-OleUICanConvertOrActivateAs@12
-OleUIChangeIcon@4
-OleUIConvert@4
-OleUIEditLinks@4
-OleUIInsertObject@4
-OleUIPasteSpecial@4
-OleUIPromptUser
-OleUIUpdateLinks@16
diff --git a/winsup/w32api/lib/mgmtapi.def b/winsup/w32api/lib/mgmtapi.def
deleted file mode 100644
index 652621c90..000000000
--- a/winsup/w32api/lib/mgmtapi.def
+++ /dev/null
@@ -1,14 +0,0 @@
-LIBRARY MGMTAPI.DLL
-EXPORTS
-SnmpMgrClose@4
-SnmpMgrCtl@28
-SnmpMgrGetTrap@24
-SnmpMgrGetTrapEx@32
-;SnmpMgrMIB2Disk@8
-SnmpMgrOidToStr@8
-SnmpMgrOpen@16
-SnmpMgrRequest@20
-SnmpMgrStrToOid@8
-SnmpMgrTrapListen@4
-serverTrapThread@4
-;dbginit@8
diff --git a/winsup/w32api/lib/mpr.def b/winsup/w32api/lib/mpr.def
deleted file mode 100644
index f8dde41f7..000000000
--- a/winsup/w32api/lib/mpr.def
+++ /dev/null
@@ -1,72 +0,0 @@
-LIBRARY MPR.DLL
-EXPORTS
-MultinetGetConnectionPerformanceA@8
-MultinetGetConnectionPerformanceW@8
-RestoreConnectionA0@8
-WNetAddConnection2A@16
-WNetAddConnection2W@16
-WNetAddConnection3A@20
-WNetAddConnection3W@20
-WNetAddConnectionA@12
-WNetAddConnectionW@12
-WNetCancelConnection2A@12
-WNetCancelConnection2W@12
-WNetCancelConnectionA@8
-WNetCancelConnectionW@8
-WNetClearConnections@4
-WNetCloseEnum@4
-WNetConnectionDialog1A@4
-WNetConnectionDialog1W@4
-WNetConnectionDialog2@16
-WNetConnectionDialog@8
-WNetDirectoryNotifyA@12
-WNetDirectoryNotifyW@12
-WNetDisconnectDialog1A@4
-WNetDisconnectDialog1W@4
-WNetDisconnectDialog2@16
-WNetDisconnectDialog@8
-WNetEnumResourceA@16
-WNetEnumResourceW@16
-WNetFMXEditPerm@12
-WNetFMXGetPermCaps@4
-WNetFMXGetPermHelp@24
-WNetFormatNetworkNameA@24
-WNetFormatNetworkNameW@24
-WNetGetConnection2A@12
-WNetGetConnection2W@12
-WNetGetConnectionA@12
-WNetGetConnectionW@12
-WNetGetDirectoryTypeA@12
-WNetGetDirectoryTypeW@12
-WNetGetFormatNameProc@4
-WNetGetLastErrorA@20
-WNetGetLastErrorW@20
-WNetGetNetworkInformationA@8
-WNetGetNetworkInformationW@8
-WNetGetPropertyTextA@24
-WNetGetPropertyTextW@24
-WNetGetProviderNameA@12
-WNetGetProviderNameW@12
-WNetGetResourceInformationA@16
-WNetGetResourceInformationW@16
-WNetGetResourceParentA@12
-WNetGetResourceParentW@12
-WNetGetSearchDialog@4
-WNetGetUniversalNameA@16
-WNetGetUniversalNameW@16
-WNetGetUserA@12
-WNetGetUserW@12
-WNetLogonNotify@36
-WNetOpenEnumA@20
-WNetOpenEnumW@20
-WNetPasswordChangeNotify@32
-WNetPropertyDialogA@20
-WNetPropertyDialogW@20
-WNetRestoreConnection@8
-WNetSetConnectionA@12
-WNetSetConnectionW@12
-WNetSetLastErrorA@12
-WNetSetLastErrorW@12
-WNetSupportGlobalEnum@4
-WNetUseConnectionA@32
-WNetUseConnectionW@32
diff --git a/winsup/w32api/lib/msacm32.def b/winsup/w32api/lib/msacm32.def
deleted file mode 100644
index 356b3aff1..000000000
--- a/winsup/w32api/lib/msacm32.def
+++ /dev/null
@@ -1,46 +0,0 @@
-LIBRARY MSACM32.DLL
-EXPORTS
-XRegThunkEntry@36
-acmDriverAddA@20
-acmDriverAddW@20
-acmDriverClose@8
-acmDriverDetailsA@12
-acmDriverDetailsW@12
-acmDriverEnum@12
-acmDriverID@12
-acmDriverMessage@16
-acmDriverOpen@12
-acmDriverPriority@12
-acmDriverRemove@8
-acmFilterChooseA@4
-acmFilterChooseW@4
-acmFilterDetailsA@12
-acmFilterDetailsW@12
-acmFilterEnumA@20
-acmFilterEnumW@20
-acmFilterTagDetailsA@12
-acmFilterTagDetailsW@12
-acmFilterTagEnumA@20
-acmFilterTagEnumW@20
-acmFormatChooseA@4
-acmFormatChooseW@4
-acmFormatDetailsA@12
-acmFormatDetailsW@12
-acmFormatEnumA@20
-acmFormatEnumW@20
-acmFormatSuggest@20
-acmFormatTagDetailsA@12
-acmFormatTagDetailsW@12
-acmFormatTagEnumA@20
-acmFormatTagEnumW@20
-acmGetVersion@0
-acmMessage32@24
-acmMetrics@12
-acmStreamClose@8
-acmStreamConvert@12
-acmStreamMessage@16
-acmStreamOpen@32
-acmStreamPrepareHeader@12
-acmStreamReset@8
-acmStreamSize@16
-acmStreamUnprepareHeader@12
diff --git a/winsup/w32api/lib/mshtml-uuid.c b/winsup/w32api/lib/mshtml-uuid.c
deleted file mode 100644
index 2a1ce57da..000000000
--- a/winsup/w32api/lib/mshtml-uuid.c
+++ /dev/null
@@ -1,147 +0,0 @@
-/* mshtml-uuid.c */
-/* Generate GUIDs for MSHTML interfaces */
-
-#define INITGUID
-#include <basetyps.h>
-DEFINE_GUID(IID_IHTMLDocument,0x626fc520,0xa41e,0x11cf,0xa7,0x31,0x0,0xa0,0xc9,0x8,0x26,0x37);
-DEFINE_GUID(IID_IHTMLDocument2,0x332c4425,0x26cb,0x11d0,0xb4,0x83,0x0,0xc0,0x4f,0xd9,0x1,0x19);
-DEFINE_GUID(IID_IHTMLElement,0x3050f1ff,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0xb);
-DEFINE_GUID(IID_IHTMLSelectionObject,0x3050f25a,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0xb);
-DEFINE_GUID(IID_IHTMLTxtRange,0x3050f220,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0x0b);
-DEFINE_GUID(IID_IHTMLImgElement,0x3050f240,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0x0b);
-DEFINE_GUID(IID_IHTMLBodyElement,0x3050f1d8,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0x0b);
-DEFINE_GUID(IID_IHTMLFontElement,0x3050f1d9,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0x0b);
-DEFINE_GUID(IID_IHTMLAnchorElement,0x3050f1da,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0x0b);
-DEFINE_GUID(IID_IHTMLUListElement,0x3050f1dd,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0x0b);
-DEFINE_GUID(IID_IHTMLOListElement,0x3050f1de,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0x0b);
-DEFINE_GUID(IID_IHTMLLIElement,0x3050f1e0,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0x0b);
-DEFINE_GUID(IID_IHTMLBRElement,0x3050f1f0,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0x0b);
-DEFINE_GUID(IID_IHTMLDListElement,0x3050f1f1,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0x0b);
-DEFINE_GUID(IID_IHTMLDDElement,0x3050f1f2,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0x0b);
-DEFINE_GUID(IID_IHTMLDTElement,0x3050f1f3,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0x0b);
-DEFINE_GUID(IID_IHTMLHRElement,0x3050f1f4,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0x0b);
-DEFINE_GUID(IID_IHTMLParaElement,0x3050f1f5,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0x0b);
-DEFINE_GUID(IID_IHTMLHeaderElement,0x3050f1f6,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0x0b);
-DEFINE_GUID(IID_IHTMLFormElement,0x3050f1f7,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0x0b);
-DEFINE_GUID(IID_IHTMLDivElement,0x3050f200,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0x0b);
-DEFINE_GUID(IID_IHTMLBaseFontElement,0x3050f202,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0x0b);
-DEFINE_GUID(IID_IHTMLMetaElement,0x3050f203,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0x0b);
-DEFINE_GUID(IID_IHTMLBaseElement,0x3050f204,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0x0b);
-DEFINE_GUID(IID_IHTMLLinkElement,0x3050f205,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0x0b);
-DEFINE_GUID(IID_IHTMLIsIndexElement,0x3050f206,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0x0b);
-DEFINE_GUID(IID_IHTMLNextIdElement,0x3050f207,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0x0b);
-DEFINE_GUID(IID_IHTMLBlockElement,0x3050f208,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0x0b);
-DEFINE_GUID(IID_IHTMLUnknownElement,0x3050f209,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0x0b);
-DEFINE_GUID(IID_IHTMLPhraseElement,0x3050f20a,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0x0b);
-DEFINE_GUID(IID_IHTMLCommentElement,0x3050f20c,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0x0b);
-DEFINE_GUID(IID_IHTMLListElement,0x3050f20e,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0x0b);
-DEFINE_GUID(IID_IHTMLOptionElement,0x3050f211,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0x0b);
-DEFINE_GUID(IID_IHTMLDivPosition,0x3050f212,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0x0b);
-DEFINE_GUID(IID_IHTMLDialog,0x3050f216,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0x0b);
-DEFINE_GUID(IID_IHTMLTextElement,0x3050f218,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0x0b);
-DEFINE_GUID(IID_IHTMLTable,0x3050f21e,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0x0b);
-DEFINE_GUID(IID_IHTMLElementCollection,0x3050f21f,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0x0b);
-DEFINE_GUID(IID_IHTMLTextContainer,0x3050f230,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0x0b);
-DEFINE_GUID(IID_IHTMLTableCol,0x3050f23a,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0x0b);
-DEFINE_GUID(IID_IHTMLTableSection,0x3050f23b,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0x0b);
-DEFINE_GUID(IID_IHTMLTableRow,0x3050f23c,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0x0b);
-DEFINE_GUID(IID_IHTMLTableCell,0x3050f23d,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0x0b);
-DEFINE_GUID(IID_IHTMLSelectElement,0x3050f244,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0x0b);
-DEFINE_GUID(IID_IHTMLObjectElement,0x3050f24f,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0x0b);
-DEFINE_GUID(IID_IHTMLStyle,0x3050f25e,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0x0b);
-DEFINE_GUID(IID_IHTMLEmbedElement,0x3050f25f,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0x0b);
-DEFINE_GUID(IID_IHTMLAreaElement,0x3050f265,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0x0b);
-DEFINE_GUID(IID_IHTMLMapElement,0x3050f266,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0x0b);
-DEFINE_GUID(IID_IHTMLScriptElement,0x3050f28b,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0x0b);
-DEFINE_GUID(IID_IHTMLControlRange,0x3050f29c,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0x0b);
-DEFINE_GUID(IID_IHTMLInputHiddenElement,0x3050f2a4,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0x0b);
-DEFINE_GUID(IID_IHTMLInputTextElement,0x3050f2a6,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0x0b);
-DEFINE_GUID(IID_IHTMLTextAreaElement,0x3050f2aa,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0x0b);
-DEFINE_GUID(IID_IHTMLInputFileElement,0x3050f2ad,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0x0b);
-DEFINE_GUID(IID_IHTMLInputButtonElement,0x3050f2b2,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0x0b);
-DEFINE_GUID(IID_IHTMLMarqueeElement,0x3050f2b5,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0x0b);
-DEFINE_GUID(IID_IHTMLButtonElement,0x3050f2bb,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0x0b);
-DEFINE_GUID(IID_IHTMLOptionButtonElement,0x3050f2bc,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0x0b);
-DEFINE_GUID(IID_IHTMLInputImage,0x3050f2c2,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0x0b);
-DEFINE_GUID(IID_IHTMLStyleSheet,0x3050f2e3,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0x0b);
-DEFINE_GUID(IID_IHTMLStyleSheetRulesCollection,0x3050f2e5,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0x0b);
-DEFINE_GUID(IID_IHTMLTableCaption,0x3050f2eb,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0x0b);
-DEFINE_GUID(IID_IHTMLFrameBase,0x3050f311,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0x0b);
-DEFINE_GUID(IID_IHTMLFrameElement,0x3050f313,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0x0b);
-DEFINE_GUID(IID_IHTMLIFrameElement,0x3050f315,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0x0b);
-DEFINE_GUID(IID_IHTMLFrameSetElement,0x3050f319,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0x0b);
-DEFINE_GUID(IID_IHTMLTitleElement,0x3050f322,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0x0b);
-DEFINE_GUID(IID_IHTMLLabelElement,0x3050f32a,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0x0b);
-DEFINE_GUID(IID_IHTMLEventObj,0x3050f32d,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0x0b);
-DEFINE_GUID(IID_IHTMLStyleSheetRule,0x3050f357,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0x0b);
-DEFINE_GUID(IID_IHTMLScreen,0x3050f35c,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0x0b);
-DEFINE_GUID(IID_IHTMLBGsound,0x3050f369,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0x0b);
-DEFINE_GUID(IID_IHTMLStyleElement,0x3050f375,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0x0b);
-DEFINE_GUID(IID_IHTMLFontNamesCollection,0x3050f376,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0x0b);
-DEFINE_GUID(IID_IHTMLFontSizesCollection,0x3050f377,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0x0b);
-DEFINE_GUID(IID_IHTMLOptionsHolder,0x3050f378,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0x0b);
-DEFINE_GUID(IID_IHTMLStyleSheetsCollection,0x3050f37e,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0x0b);
-DEFINE_GUID(IID_IHTMLAreasCollection,0x3050f383,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0x0b);
-DEFINE_GUID(IID_IHTMLNoShowElement,0x3050f38a,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0x0b);
-DEFINE_GUID(IID_IHTMLOptionElementFactory,0x3050f38c,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0x0b);
-DEFINE_GUID(IID_IHTMLImageElementFactory,0x3050f38e,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0x0b);
-DEFINE_GUID(IID_IHTMLRuleStyle,0x3050f3cf,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0x0b);
-DEFINE_GUID(IID_IHTMLStyleFontFace,0x3050f3d5,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0x0b);
-DEFINE_GUID(IID_IHTMLCurrentStyle,0x3050f3db,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0x0b);
-DEFINE_GUID(IID_IHTMLSpanFlow,0x3050f3e5,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0x0b);
-DEFINE_GUID(IID_IHTMLFieldSetElement,0x3050f3e7,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0x0b);
-DEFINE_GUID(IID_IHTMLLegendElement,0x3050f3ea,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0x0b);
-DEFINE_GUID(IID_IHTMLFiltersCollection,0x3050f3ee,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0x0b);
-DEFINE_GUID(IID_IHTMLDatabinding,0x3050f3f2,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0x0b);
-DEFINE_GUID(IID_IHTMLSpanElement,0x3050f3f3,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0x0b);
-DEFINE_GUID(IID_IHTMLMimeTypesCollection,0x3050f3fc,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0x0b);
-DEFINE_GUID(IID_IHTMLPluginsCollection,0x3050f3fd,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0x0b);
-DEFINE_GUID(IID_IHTMLOpsProfile,0x3050f401,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0x0b);
-DEFINE_GUID(IID_IHTMLTextRangeMetrics,0x3050f40b,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0x0b);
-DEFINE_GUID(IID_IHTMLTableRowMetrics,0x3050f413,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0x0b);
-DEFINE_GUID(IID_IHTMLElement2,0x3050f434,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0x0b);
-DEFINE_GUID(IID_IHTMLDocument3,0x3050f485,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0x0b);
-DEFINE_GUID(IID_IHTMLEventObj2,0x3050f48b,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0x0b);
-DEFINE_GUID(IID_IHTMLUserDataOM,0x3050f48f,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0x0b);
-DEFINE_GUID(IID_IHTMLTableRow2,0x3050f4a1,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0x0b);
-DEFINE_GUID(IID_IHTMLStyle2,0x3050f4a2,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0x0b);
-DEFINE_GUID(IID_IHTMLRect,0x3050f4a3,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0x0b);
-DEFINE_GUID(IID_IHTMLRectCollection,0x3050f4a4,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0x0b);
-DEFINE_GUID(IID_IHTMLTextRangeMetrics2,0x3050f4a6,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0x0b);
-DEFINE_GUID(IID_IHTMLRuleStyle2,0x3050f4ac,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0x0b);
-DEFINE_GUID(IID_IHTMLTable2,0x3050f4ad,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0x0b);
-DEFINE_GUID(IID_IHTMLWindow3,0x3050f4ae,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0x0b);
-DEFINE_GUID(IID_IHTMLDOMAttribute,0x3050f4b0,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0x0b);
-DEFINE_GUID(IID_IHTMLDOMTextNode,0x3050f4b1,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0x0b);
-DEFINE_GUID(IID_IHTMLDataTransfer,0x3050f4b3,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0x0b);
-DEFINE_GUID(IID_IHTMLGenericElement,0x3050f4b7,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0x0b);
-DEFINE_GUID(IID_IHTMLPersistDataOM,0x3050f4c0,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0x0b);
-DEFINE_GUID(IID_IHTMLAttributeCollection,0x3050f4c3,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0x0b);
-DEFINE_GUID(IID_IHTMLPersistData,0x3050f4c5,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0x0b);
-DEFINE_GUID(IID_IHTMLObjectElement2,0x3050f4cd,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0x0b);
-DEFINE_GUID(IID_IHTMLBookmarkCollection,0x3050f4ce,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0x0b);
-DEFINE_GUID(IID_IHTMLUniqueName,0x3050f4d0,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0x0b);
-DEFINE_GUID(IID_IHTMLLinkElement2,0x3050f4e5,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0x0b);
-DEFINE_GUID(IID_IHTMLIFrameElement2,0x3050f4e6,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0x0b);
-DEFINE_GUID(IID_IHTMLControlElement,0x3050f4e9,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0x0b);
-DEFINE_GUID(IID_IHTMLFormElement2,0x3050f4f6,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0x0b);
-DEFINE_GUID(IID_IHTMLDOMChildrenCollection,0x3050f5ab,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0x0b);
-DEFINE_GUID(IID_IHTMLBodyElement2,0x3050f5c5,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0x0b);
-DEFINE_GUID(IID_IHTMLFrameSetElement2,0x3050f5c6,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0x0b);
-DEFINE_GUID(IID_IHTMLTableSection2,0x3050f5c7,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0x0b);
-DEFINE_GUID(IID_IHTMLAppBehavior2,0x3050f5c9,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0x0b);
-DEFINE_GUID(IID_IHTMLAppBehavior,0x3050f5ca,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0x0b);
-DEFINE_GUID(IID_IHTMLInputElement,0x3050f5d2,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0x0b);
-DEFINE_GUID(IID_IHTMLDOMNode,0x3050f5da,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0x0b);
-DEFINE_GUID(IID_IHTMLDialog2,0x3050f5e0,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0x0b);
-DEFINE_GUID(IID_IHTMLUrnCollection,0x3050f5e2,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0x0b);
-DEFINE_GUID(IID_IHTMLModelessInit,0x3050f5e4,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0x0b);
-DEFINE_GUID(IID_IHTMLDocumentFragment,0x3050f5e5,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0x0b);
-DEFINE_GUID(IID_IHTMLAreasCollection2,0x3050f5ec,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0x0b);
-DEFINE_GUID(IID_IHTMLSelectElement2,0x3050f5ed,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0x0b);
-DEFINE_GUID(IID_IHTMLElementCollection2,0x3050f5ee,0x98b5,0x11cf,0xbb,0x82,0x0,0xaa,0x0,0xbd,0xce,0x0b);
-DEFINE_GUID(IID_IHTMLFramesCollection2,0x332c4426,0x26cb,0x11d0,0xb4,0x83,0x0,0xc0,0x4f,0xd9,0x01,0x19);
-DEFINE_GUID(IID_IHTMLWindow2,0x332c4427,0x26cb,0x11d0,0xb4,0x83,0x0,0xc0,0x4f,0xd9,0x01,0x19);
-DEFINE_GUID(IID_IHTMLLocation,0x163bb1e0,0x6e00,0x11cf,0x83,0x7a,0x48,0xdc,0x04,0xc1,0x0,0x0);
-DEFINE_GUID(IID_IHTMLFrameBase2,0x3050f6db,0x98b5,0x11cf,0xbb,0x82,0x00,0xaa,0x00,0xbd,0xce,0x0b);
-DEFINE_GUID(IID_IHTMLFrameBase3,0x3050f82e,0x98b5,0x11cf,0xbb,0x82,0x00,0xaa,0x00,0xbd,0xce,0x0b);
diff --git a/winsup/w32api/lib/msimg32.def b/winsup/w32api/lib/msimg32.def
deleted file mode 100644
index 4f722a15b..000000000
--- a/winsup/w32api/lib/msimg32.def
+++ /dev/null
@@ -1,5 +0,0 @@
-LIBRARY MSIMG32.DLL
-EXPORTS
-AlphaBlend@44
-GradientFill@24
-TransparentBlt@44
diff --git a/winsup/w32api/lib/msvcp60.def b/winsup/w32api/lib/msvcp60.def
deleted file mode 100644
index f6a5dc93f..000000000
--- a/winsup/w32api/lib/msvcp60.def
+++ /dev/null
@@ -1,71 +0,0 @@
-;Submitted by: Danny Smith <danny_r_smith_2001@yahoo.co.nz>
-;Only the C functions are listed. Most of these have been commented out since
-;I don't know what they are and can't test them. Some look like data exports
-;for C++ math functions (E.G.: _Xbig).
-LIBRARY MSVCP60.DLL
-EXPORTS
-;_Cosh
-;_Denorm
-;_Dnorm
-;_Dscale
-;_Dtest
-;_Eps
-;_Exp
-;_FCosh
-;_FDenorm
-;_FDnorm
-;_FDscale
-;_FDtest
-;_FEps
-;_FExp
-;_FInf
-;_FNan
-;_FRteps
-;_FSinh
-;_FSnan
-;_FXbig
-;_Getcoll
-;_Getctype
-;_Getcvt
-;_Hugeval
-;_Inf
-;_LCosh
-;_LDenorm
-;_LDscale
-;_LDtest
-;_LEps
-;_LExp
-;_LInf
-;_LNan
-;_LPoly
-;_LRteps
-;_LSinh
-;_LSnan
-;_LXbig
-;_Mbrtowc
-;_Nan
-;_Poly
-;_Rteps
-;_Sinh
-;_Snan
-;_Stod
-;_Stof
-;_Stold
-;_Strcoll
-;_Strxfrm
-;_Tolower
-;_Toupper
-;_Wcrtomb
-;__Wcrtomb_lk
-;_Xbig
-
-btowc
-mbrlen
-mbrtowc
-mbsrtowcs
-towctrans
-wcrtomb
-wcsrtombs
-wctob
-wctrans
-wctype \ No newline at end of file
diff --git a/winsup/w32api/lib/msvfw32.def b/winsup/w32api/lib/msvfw32.def
deleted file mode 100644
index 7428c6e35..000000000
--- a/winsup/w32api/lib/msvfw32.def
+++ /dev/null
@@ -1,49 +0,0 @@
-LIBRARY MSVFW32.DLL
-EXPORTS
-VideoForWindowsVersion@0
-StretchDIB@48
-MCIWndRegisterClass
-MCIWndCreateW
-MCIWndCreateA
-MCIWndCreate
-ICSeqCompressFrameStart@8
-ICSeqCompressFrameEnd@4
-ICSeqCompressFrame@20
-ICSendMessage@16
-ICRemove@12
-ICOpenFunction@16
-ICOpen@12
-ICMThunk32@20
-ICLocate@20
-ICInstall@20
-ICInfo@12
-ICImageDecompress@20
-ICImageCompress@28
-ICGetInfo@12
-ICGetDisplayFormat@24
-ICDrawBegin
-ICDraw
-ICDecompress
-ICCompressorFree@4
-ICCompressorChoose@24
-ICCompress
-ICClose@4
-GetSaveFileNamePreviewW@4
-GetSaveFileNamePreviewA@4
-GetOpenFileNamePreviewW@4
-GetOpenFileNamePreviewA@4
-GetOpenFileNamePreview@4
-DrawDibTime@8
-DrawDibStop@4
-DrawDibStart@8
-DrawDibSetPalette@8
-DrawDibRealize@12
-DrawDibProfileDisplay@4
-DrawDibOpen@0
-DrawDibGetPalette@4
-DrawDibGetBuffer@16
-DrawDibEnd@4
-DrawDibDraw@52
-DrawDibClose@4
-DrawDibChangePalette@16
-DrawDibBegin@32
diff --git a/winsup/w32api/lib/mswsock.def b/winsup/w32api/lib/mswsock.def
deleted file mode 100644
index 3e74f87a1..000000000
--- a/winsup/w32api/lib/mswsock.def
+++ /dev/null
@@ -1,28 +0,0 @@
-LIBRARY MSWSOCK.DLL
-EXPORTS
-AcceptEx@32
-EnumProtocolsA@12
-EnumProtocolsW@12
-GetAcceptExSockaddrs@32
-GetAddressByNameA@40
-GetAddressByNameW@40
-GetNameByTypeA@12
-GetNameByTypeW@12
-GetServiceA@28
-GetServiceW@28
-GetTypeByNameA@8
-GetTypeByNameW@8
-MigrateWinsockConfiguration@12
-NPLoadNameSpaces@12
-SetServiceA@24
-SetServiceW@24
-TransmitFile@28
-WSARecvEx@16
-dn_expand@20
-getnetbyname@4
-inet_network@4
-rcmd@24
-rexec@24
-rresvport@4
-s_perror@8
-sethostname@8
diff --git a/winsup/w32api/lib/nddeapi.def b/winsup/w32api/lib/nddeapi.def
deleted file mode 100644
index 4016baf53..000000000
--- a/winsup/w32api/lib/nddeapi.def
+++ /dev/null
@@ -1,30 +0,0 @@
-LIBRARY NDDEAPI.DLL
-EXPORTS
-NDdeGetErrorStringA@12
-NDdeGetErrorStringW@12
-NDdeGetShareSecurityA@24
-NDdeGetShareSecurityW@24
-NDdeGetTrustedShareA@20
-NDdeGetTrustedShareW@20
-NDdeIsValidAppTopicListA@4
-NDdeIsValidAppTopicListW@4
-NDdeIsValidShareNameA@4
-NDdeIsValidShareNameW@4
-NDdeSetShareSecurityA@16
-NDdeSetShareSecurityW@16
-NDdeSetTrustedShareA@12
-NDdeSetTrustedShareW@12
-NDdeShareAddA@20
-NDdeShareAddW@20
-NDdeShareDelA@12
-NDdeShareDelW@12
-NDdeShareEnumA@24
-NDdeShareEnumW@24
-NDdeShareGetInfoA@28
-NDdeShareGetInfoW@28
-NDdeShareSetInfoA@24
-NDdeShareSetInfoW@24
-NDdeSpecialCommandA@24
-NDdeSpecialCommandW@24
-NDdeTrustedShareEnumA@24
-NDdeTrustedShareEnumW@24
diff --git a/winsup/w32api/lib/netapi32.def b/winsup/w32api/lib/netapi32.def
deleted file mode 100644
index e8d0ef438..000000000
--- a/winsup/w32api/lib/netapi32.def
+++ /dev/null
@@ -1,247 +0,0 @@
-LIBRARY NETAPI32.DLL
-EXPORTS
-I_BrowserDebugCall@12
-I_BrowserDebugTrace@8
-I_BrowserQueryOtherDomains@16
-I_BrowserQueryStatistics@8
-I_BrowserResetNetlogonState@4
-I_BrowserResetStatistics@4
-I_BrowserServerEnum@44
-I_BrowserSetNetlogonState@16
-I_NetAccountDeltas@48
-I_NetAccountSync@48
-I_NetDatabaseDeltas@32
-I_NetDatabaseRedo@28
-I_NetDatabaseSync2@36
-I_NetDatabaseSync@32
-I_NetGetDCList@16
-I_NetListCanonicalize@36
-I_NetListTraverse@12
-I_NetLogonControl2@20
-I_NetLogonControl@16
-I_NetLogonSamLogoff@24
-I_NetLogonSamLogon@36
-I_NetLogonUasLogoff@12
-I_NetLogonUasLogon@12
-I_NetNameCanonicalize@24
-I_NetNameCompare@20
-I_NetNameValidate@16
-I_NetPathCanonicalize@28
-I_NetPathCompare@20
-I_NetPathType@16
-I_NetServerAuthenticate2@28
-I_NetServerAuthenticate@24
-I_NetServerPasswordSet@28
-I_NetServerReqChallenge@16
-I_NetServerSetServiceBits@16
-NetAlertRaise@12
-NetAlertRaiseEx@16
-NetApiBufferAllocate@8
-NetApiBufferFree@4
-NetApiBufferReallocate@12
-NetApiBufferSize@8
-NetAuditClear@12
-NetAuditRead@44
-NetAuditWrite@20
-NetBrowserStatisticsGet@12
-NetConfigGet@16
-NetConfigGetAll@12
-NetConfigSet@28
-NetConnectionEnum@32
-NetErrorLogClear@12
-NetErrorLogRead@44
-NetErrorLogWrite@32
-NetFileClose@8
-NetFileEnum@36
-NetFileGetInfo@16
-NetGetAnyDCName@12
-NetGetDCName@12
-NetGetDisplayInformationIndex@16
-NetGroupAdd@16
-NetGroupAddUser@12
-NetGroupDel@8
-NetGroupDelUser@12
-NetGroupEnum@28
-NetGroupGetInfo@16
-NetGroupGetUsers@32
-NetGroupSetInfo@20
-NetGroupSetUsers@20
-NetLocalGroupAdd@16
-NetLocalGroupAddMember@12
-NetLocalGroupAddMembers@20
-NetLocalGroupDel@8
-NetLocalGroupDelMember@12
-NetLocalGroupDelMembers@20
-NetLocalGroupEnum@28
-NetLocalGroupGetInfo@16
-NetLocalGroupGetMembers@32
-NetLocalGroupSetInfo@20
-NetLocalGroupSetMembers@20
-NetMessageBufferSend@20
-NetMessageNameAdd@8
-NetMessageNameDel@8
-NetMessageNameEnum@28
-NetMessageNameGetInfo@16
-NetQueryDisplayInformation@28
-NetRemoteComputerSupports@12
-NetRemoteTOD@8
-NetReplExportDirAdd@16
-NetReplExportDirDel@8
-NetReplExportDirEnum@28
-NetReplExportDirGetInfo@16
-NetReplExportDirLock@8
-NetReplExportDirSetInfo@20
-NetReplExportDirUnlock@12
-NetReplGetInfo@12
-NetReplImportDirAdd@16
-NetReplImportDirDel@8
-NetReplImportDirEnum@28
-NetReplImportDirGetInfo@16
-NetReplImportDirLock@8
-NetReplImportDirUnlock@12
-NetReplSetInfo@16
-NetRplAdapterAdd@16
-NetRplAdapterDel@8
-NetRplAdapterEnum@28
-NetRplBootAdd@16
-NetRplBootDel@12
-NetRplBootEnum@28
-NetRplClose@4
-NetRplConfigAdd@16
-NetRplConfigDel@8
-NetRplConfigEnum@32
-NetRplGetInfo@12
-NetRplOpen@8
-NetRplProfileAdd@16
-NetRplProfileClone@16
-NetRplProfileDel@8
-NetRplProfileEnum@32
-NetRplProfileGetInfo@16
-NetRplProfileSetInfo@20
-NetRplSetInfo@16
-NetRplSetSecurity@16
-NetRplVendorAdd@16
-NetRplVendorDel@8
-NetRplVendorEnum@28
-NetRplWkstaAdd@16
-NetRplWkstaClone@24
-NetRplWkstaDel@8
-NetRplWkstaEnum@32
-NetRplWkstaGetInfo@16
-NetRplWkstaSetInfo@20
-NetScheduleJobAdd@12
-NetScheduleJobDel@12
-NetScheduleJobEnum@24
-NetScheduleJobGetInfo@12
-NetServerDiskEnum@28
-NetServerEnum@36
-NetServerGetInfo@12
-NetServerSetInfo@16
-NetServerTransportAdd@12
-NetServerTransportDel@12
-NetServerTransportEnum@28
-NetServiceControl@20
-NetServiceEnum@28
-NetServiceGetInfo@16
-NetServiceInstall@20
-NetSessionDel@12
-NetSessionEnum@36
-NetSessionGetInfo@20
-NetShareAdd@16
-NetShareCheck@12
-NetShareDel@12
-NetShareDelSticky@12
-NetShareEnum@28
-NetShareEnumSticky@28
-NetShareGetInfo@16
-NetShareSetInfo@20
-NetStatisticsGet@20
-NetUseAdd@16
-NetUseDel@12
-NetUseEnum@28
-NetUseGetInfo@16
-NetUserAdd@16
-NetUserChangePassword@16
-NetUserDel@8
-NetUserEnum@32
-NetUserGetGroups@28
-NetUserGetInfo@16
-NetUserGetLocalGroups@32
-NetUserModalsGet@12
-NetUserModalsSet@16
-NetUserSetGroups@20
-NetUserSetInfo@20
-NetWkstaGetInfo@12
-NetWkstaSetInfo@16
-NetWkstaTransportAdd@16
-NetWkstaTransportDel@12
-NetWkstaTransportEnum@28
-NetWkstaUserEnum@28
-NetWkstaUserGetInfo@12
-NetWkstaUserSetInfo@16
-NetapipBufferAllocate@8
-Netbios@4
-NetpAccessCheckAndAudit@20
-NetpAllocConfigName@16
-NetpAllocStrFromWStr@4
-NetpAllocWStrFromStr@4
-NetpAllocWStrFromWStr@4
-NetpApiStatusToNtStatus@4
-NetpAssertFailed@16
-NetpCloseConfigData@4
-NetpCopyStringToBuffer@20
-NetpCreateSecurityObject@24
-NetpDbgDisplayServerInfo@8
-NetpDbgPrint
-NetpDeleteSecurityObject@4
-NetpGetComputerName@4
-NetpGetConfigBool@16
-NetpGetConfigDword@16
-NetpGetConfigTStrArray@12
-NetpGetConfigValue@12
-NetpGetDomainName@4
-NetpGetFileSecurity@16
-NetpGetPrivilege@8
-NetpHexDump@8
-NetpInitOemString@8
-NetpIsRemote@16
-NetpIsUncComputerNameValid@4
-NetpLocalTimeZoneOffset@0
-NetpLogonPutUnicodeString@12
-NetpNetBiosAddName@12
-NetpNetBiosCall@16
-NetpNetBiosDelName@8
-NetpNetBiosGetAdapterNumbers@8
-NetpNetBiosHangup@8
-NetpNetBiosReceive@24
-NetpNetBiosReset@4
-NetpNetBiosSend@16
-NetpNetBiosStatusToApiStatus@4
-NetpNtStatusToApiStatus@4
-NetpOpenConfigData@16
-NetpPackString@12
-NetpReleasePrivilege@0
-NetpSetConfigBool@12
-NetpSetConfigDword@12
-NetpSetConfigTStrArray@12
-NetpSetFileSecurity@12
-NetpSmbCheck@20
-NetpStringToNetBiosName@16
-NetpTStrArrayEntryCount@4
-NetpwNameCanonicalize@20
-NetpwNameCompare@16
-NetpwNameValidate@12
-NetpwPathCanonicalize@24
-NetpwPathCompare@16
-NetpwPathType@12
-NlBindingAddServerToCache@4
-NlBindingRemoveServerFromCache@4
-RxNetAccessAdd@16
-RxNetAccessDel@8
-RxNetAccessEnum@36
-RxNetAccessGetInfo@16
-RxNetAccessGetUserPerms@16
-RxNetAccessSetInfo@20
-RxNetServerEnum@40
-RxNetUserPasswordSet@16
-RxRemoteApi
diff --git a/winsup/w32api/lib/ntdll.def b/winsup/w32api/lib/ntdll.def
deleted file mode 100644
index d87cf392d..000000000
--- a/winsup/w32api/lib/ntdll.def
+++ /dev/null
@@ -1,1017 +0,0 @@
-;note that the Zw... functions are alternate names for the
-;Nt... functions. (see www.sysinternals.com for details)
-;if you change a Nt.. function DON'T FORGET to change the
-;Zw one too.
-
-LIBRARY ntdll.dll
-EXPORTS
-CsrAllocateCaptureBuffer@8
-CsrAllocateMessagePointer@12
-CsrCaptureMessageBuffer@16
-CsrCaptureMessageString@20
-CsrCaptureTimeout@8
-CsrClientCallServer@16
-CsrClientConnectToServer@24
-CsrFreeCaptureBuffer@4
-CsrIdentifyAlertableThread@0
-CsrNewThread@0
-CsrProbeForRead@12
-CsrProbeForWrite@12
-CsrSetPriorityClass@8
-DbgBreakPoint@0
-DbgPrint
-DbgPrintReturnControlC
-DbgPrompt@12
-DbgSsHandleKmApiMsg@8
-DbgSsInitialize@16
-DbgUiConnectToDbg@0
-DbgUiContinue@8
-DbgUiWaitStateChange@8
-DbgUserBreakPoint@0
-KiRaiseUserExceptionDispatcher@0
-KiUserApcDispatcher@20
-KiUserCallbackDispatcher@12
-KiUserExceptionDispatcher@8
-LdrAccessResource@16
-LdrAlternateResourcesEnabled@0
-LdrDisableThreadCalloutsForDll@4
-LdrEnumResources@20
-LdrFindEntryForAddress@8
-LdrFindResourceDirectory_U@16
-LdrFindResource_U@16
-LdrFlushAlternateResourceModules@0
-LdrGetDllHandle@16
-LdrGetProcedureAddress@16
-LdrInitializeThunk@16
-LdrLoadAlternateResourceModule@8
-LdrLoadDll@16
-LdrProcessRelocationBlock@16
-LdrQueryImageFileExecutionOptions@24
-LdrQueryProcessModuleInformation@12
-LdrShutdownProcess@0
-LdrShutdownThread@0
-LdrUnloadAlternateResourceModule@4
-LdrUnloadDll@4
-LdrVerifyImageMatchesChecksum@16
-NlsAnsiCodePage
-NlsMbCodePageTag
-NlsMbOemCodePageTag
-NtAcceptConnectPort@24
-NtAccessCheck@32
-NtAccessCheckAndAuditAlarm@44
-NtAccessCheckByType@44
-NtAccessCheckByTypeAndAuditAlarm@64
-NtAccessCheckByTypeResultList@44
-NtAccessCheckByTypeResultListAndAuditAlarm@64
-NtAccessCheckByTypeResultListAndAuditAlarmByHandle@68
-NtAddAtom@12
-NtAdjustGroupsToken@24
-NtAdjustPrivilegesToken@24
-NtAlertResumeThread@8
-NtAlertThread@4
-NtAllocateLocallyUniqueId@4
-NtAllocateUserPhysicalPages@12
-NtAllocateUuids@16
-NtAllocateVirtualMemory@24
-NtAreMappedFilesTheSame@8
-NtAssignProcessToJobObject@8
-NtCallbackReturn@12
-NtCancelDeviceWakeupRequest@4
-NtCancelIoFile@8
-NtCancelTimer@8
-NtClearEvent@4
-NtClose@4
-NtCloseObjectAuditAlarm@12
-NtCompleteConnectPort@4
-NtConnectPort@32
-NtContinue@8
-NtCreateDirectoryObject@12
-NtCreateEvent@20
-NtCreateEventPair@12
-NtCreateFile@44
-NtCreateIoCompletion@16
-NtCreateJobObject@12
-NtCreateKey@28
-NtCreateMailslotFile@32
-NtCreateMutant@16
-NtCreateNamedPipeFile@56
-NtCreatePagingFile@16
-NtCreatePort@20
-NtCreateProcess@32
-NtCreateProfile@36
-NtCreateSection@28
-NtCreateSemaphore@20
-NtCreateSymbolicLinkObject@16
-NtCreateThread@32
-NtCreateTimer@16
-NtCreateToken@52
-NtCreateWaitablePort@20
-NtDelayExecution@8
-NtDeleteAtom@4
-NtDeleteFile@4
-NtDeleteKey@4
-NtDeleteObjectAuditAlarm@12
-NtDeleteValueKey@8
-NtDeviceIoControlFile@40
-NtDisplayString@4
-NtDuplicateObject@28
-NtDuplicateToken@24
-NtEnumerateKey@24
-NtEnumerateValueKey@24
-NtExtendSection@8
-NtFilterToken@24
-NtFindAtom@12
-NtFlushBuffersFile@8
-NtFlushInstructionCache@12
-NtFlushKey@4
-NtFlushVirtualMemory@16
-NtFlushWriteBuffer@0
-NtFreeUserPhysicalPages@12
-NtFreeVirtualMemory@16
-NtFsControlFile@40
-NtGetContextThread@8
-NtGetDevicePowerState@8
-NtGetPlugPlayEvent@16
-NtGetTickCount@0
-NtGetWriteWatch@28
-NtImpersonateAnonymousToken@8
-NtImpersonateClientOfPort@8
-NtImpersonateThread@12
-NtInitializeRegistry@4
-NtInitiatePowerAction@16
-NtIsSystemResumeAutomatic@0
-NtListenPort@8
-NtLoadDriver@4
-NtLoadKey@8
-NtLoadKey2@12
-NtLockFile@40
-NtLockVirtualMemory@16
-NtMakeTemporaryObject@4
-NtMapUserPhysicalPages@12
-NtMapUserPhysicalPagesScatter@12
-NtMapViewOfSection@40
-NtNotifyChangeDirectoryFile@36
-NtNotifyChangeKey@40
-NtNotifyChangeMultipleKeys@48
-NtOpenDirectoryObject@12
-NtOpenEvent@12
-NtOpenEventPair@12
-NtOpenFile@24
-NtOpenIoCompletion@12
-NtOpenJobObject@12
-NtOpenKey@12
-NtOpenMutant@12
-NtOpenObjectAuditAlarm@48
-NtOpenProcess@16
-NtOpenProcessToken@12
-NtOpenSection@12
-NtOpenSemaphore@12
-NtOpenSymbolicLinkObject@12
-NtOpenThread@16
-NtOpenThreadToken@16
-NtOpenTimer@12
-NtPowerInformation@20
-NtPrivilegeCheck@12
-NtPrivilegedServiceAuditAlarm@20
-NtPrivilegeObjectAuditAlarm@24
-NtProtectVirtualMemory@20
-NtPulseEvent@8
-NtQueryAttributesFile@8
-NtQueryDefaultLocale@8
-NtQueryDefaultUILanguage@4
-NtQueryDirectoryFile@44
-NtQueryDirectoryObject@28
-NtQueryEaFile@36
-NtQueryEvent@20
-NtQueryFullAttributesFile@8
-NtQueryInformationAtom@20
-NtQueryInformationFile@20
-NtQueryInformationJobObject@20
-NtQueryInformationPort@20
-NtQueryInformationProcess@20
-NtQueryInformationThread@20
-NtQueryInformationToken@20
-NtQueryIntervalProfile@8
-NtQueryIoCompletion@20
-NtQueryKey@20
-NtQueryMultipleValueKey@24
-NtQueryMutant@20
-NtQueryObject@20
-NtQueryOpenSubKeys@8
-NtQueryPerformanceCounter@8
-NtQueryQuotaInformationFile@36
-NtQuerySection@20
-NtQuerySecurityObject@20
-NtQuerySemaphore@20
-NtQuerySymbolicLinkObject@12
-NtQuerySystemEnvironmentValue@16
-NtQuerySystemInformation@16
-NtQuerySystemTime@4
-NtQueryTimer@20
-NtQueryTimerResolution@12
-NtQueryValueKey@24
-NtQueryVirtualMemory@24
-NtQueryVolumeInformationFile@20
-NtQueueApcThread@20
-NtRaiseException@12
-NtRaiseHardError@24
-NtReadFile@36
-NtReadFileScatter@36
-NtReadRequestData@24
-NtReadVirtualMemory@20
-NtRegisterThreadTerminatePort@4
-NtReleaseMutant@8
-NtReleaseSemaphore@12
-NtRemoveIoCompletion@20
-NtReplaceKey@12
-NtReplyPort@8
-NtReplyWaitReceivePort@16
-NtReplyWaitReceivePortEx@20
-NtReplyWaitReplyPort@8
-NtRequestDeviceWakeup@4
-NtRequestPort@8
-NtRequestWaitReplyPort@12
-NtRequestWakeupLatency@4
-NtResetEvent@8
-NtResetWriteWatch@12
-NtRestoreKey@12
-NtResumeThread@8
-NtSaveKey@8
-NtSaveMergedKeys@12
-NtSecureConnectPort@36
-NtSetContextThread@8
-NtSetDefaultHardErrorPort@4
-NtSetDefaultLocale@8
-NtSetDefaultUILanguage@4
-NtSetEaFile@16
-NtSetEvent@8
-NtSetHighEventPair@4
-NtSetHighWaitLowEventPair@4
-NtSetInformationFile@20
-NtSetInformationJobObject@16
-NtSetInformationKey@16
-NtSetInformationObject@16
-NtSetInformationProcess@16
-NtSetInformationThread@16
-NtSetInformationToken@16
-NtSetIntervalProfile@8
-NtSetIoCompletion@20
-NtSetLdtEntries@16
-NtSetLowEventPair@4
-NtSetLowWaitHighEventPair@4
-NtSetQuotaInformationFile@16
-NtSetSecurityObject@12
-NtSetSystemEnvironmentValue@8
-NtSetSystemInformation@12
-NtSetSystemPowerState@12
-NtSetSystemTime@8
-NtSetThreadExecutionState@8
-NtSetTimer@28
-NtSetTimerResolution@12
-NtSetUuidSeed@4
-NtSetValueKey@24
-NtSetVolumeInformationFile@20
-NtShutdownSystem@4
-NtSignalAndWaitForSingleObject@16
-NtStartProfile@4
-NtStopProfile@4
-NtSuspendThread@8
-NtSystemDebugControl@24
-NtTerminateJobObject@8
-NtTerminateProcess@8
-NtTerminateThread@8
-NtTestAlert@0
-NtUnloadDriver@4
-NtUnloadKey@4
-NtUnlockFile@20
-NtUnlockVirtualMemory@16
-NtUnmapViewOfSection@8
-NtVdmControl@8
-NtWaitForMultipleObjects@20
-NtWaitForSingleObject@12
-NtWaitHighEventPair@4
-NtWaitLowEventPair@4
-NtWriteFile@36
-NtWriteFileGather@36
-NtWriteRequestData@24
-NtWriteVirtualMemory@20
-NtYieldExecution@0
-RtlAbortRXact@4
-RtlAbsoluteToSelfRelativeSD@12
-RtlAcquirePebLock@0
-RtlAcquireResourceExclusive@8
-RtlAcquireResourceShared@8
-RtlAddAccessAllowedAce@16
-RtlAddAccessAllowedAceEx@20
-RtlAddAccessAllowedObjectAce@28
-RtlAddAccessDeniedAce@16
-RtlAddAccessDeniedAceEx@20
-RtlAddAccessDeniedObjectAce@28
-RtlAddAce@20
-RtlAddActionToRXact@24
-RtlAddAtomToAtomTable@12
-RtlAddAttributeActionToRXact@32
-RtlAddAuditAccessAce@24
-RtlAddAuditAccessAceEx@28
-RtlAddAuditAccessObjectAce@36
-RtlAddCompoundAce@24
-RtlAddRange@36
-RtlAdjustPrivilege@16
-RtlAllocateAndInitializeSid@44
-RtlAllocateHandle@8
-RtlAllocateHeap@12
-RtlAnsiCharToUnicodeChar@4
-RtlAnsiStringToUnicodeSize@4
-RtlAnsiStringToUnicodeString@12
-RtlAppendAsciizToString@8
-RtlAppendStringToString@8
-RtlAppendUnicodeStringToString@8
-RtlAppendUnicodeToString@8
-RtlApplyRXact@4
-RtlApplyRXactNoFlush@4
-RtlAreAllAccessesGranted@8
-RtlAreAnyAccessesGranted@8
-RtlAreBitsClear@12
-RtlAreBitsSet@12
-RtlAssert@16
-RtlCallbackLpcClient@12
-RtlCancelTimer@8
-RtlCaptureStackBackTrace@16
-RtlCharToInteger@12
-RtlCheckForOrphanedCriticalSections@4
-RtlCheckRegistryKey@8
-RtlClearAllBits@4
-RtlClearBits@12
-RtlCompactHeap@8
-RtlCompareMemory@12
-RtlCompareMemoryUlong@12
-RtlCompareString@12
-RtlCompareUnicodeString@12
-RtlCompressBuffer@32
-RtlConsoleMultiByteToUnicodeN@24
-RtlConvertExclusiveToShared@4
-RtlConvertSharedToExclusive@4
-RtlConvertSidToUnicodeString@12
-RtlConvertToAutoInheritSecurityObject@24
-RtlConvertUiListToApiList@12
-RtlConvertUlongToLargeInteger@4
-RtlConvertVariantToProperty@28
-RtlCopyLuid@8
-RtlCopyLuidAndAttributesArray@12
-RtlCopyRangeList@8
-RtlCopySecurityDescriptor@8
-RtlCopySid@12
-RtlCopySidAndAttributesArray@28
-RtlCopyString@8
-RtlCopyUnicodeString@8
-RtlCreateAcl@12
-RtlCreateAndSetSD@20
-RtlCreateAtomTable@8
-RtlCreateEnvironment@8
-RtlCreateHeap@24
-RtlCreateLpcServer@24
-RtlCreateProcessParameters@40
-RtlCreateQueryDebugBuffer@8
-RtlCreateRegistryKey@8
-RtlCreateSecurityDescriptor@8
-RtlCreateTagHeap@16
-RtlCreateTimer@28
-RtlCreateTimerQueue@4
-RtlCreateUnicodeString@8
-RtlCreateUnicodeStringFromAsciiz@8
-RtlCreateUserProcess@40
-RtlCreateUserThread@40
-RtlCustomCPToUnicodeN@24
-RtlCutoverTimeToSystemTime@16
-RtlDebugPrintTimes@0
-RtlDecompressBuffer@24
-RtlDecompressFragment@32
-RtlDefaultNpAcl@4
-RtlDelete@4
-RtlDeleteAce@8
-RtlDeleteAtomFromAtomTable@8
-RtlDeleteCriticalSection@4
-RtlDeleteElementGenericTable@8
-RtlDeleteNoSplay@8
-RtlDeleteOwnersRanges@8
-RtlDeleteRange@24
-RtlDeleteResource@4
-RtlDeleteSecurityObject@4
-RtlDeleteTimer@12
-RtlDeleteTimerQueue@4
-RtlDeleteTimerQueueEx@8
-RtlDeNormalizeProcessParams@4
-RtlDeregisterWait@4
-RtlDeregisterWaitEx@8
-RtlDestroyAtomTable@4
-RtlDestroyEnvironment@4
-RtlDestroyHandleTable@4
-RtlDestroyHeap@4
-RtlDestroyProcessParameters@4
-RtlDestroyQueryDebugBuffer@4
-RtlDetermineDosPathNameType_U@4
-RtlDoesFileExists_U@4
-RtlDosPathNameToNtPathName_U@16
-RtlDosSearchPath_U@24
-RtlDowncaseUnicodeString@12
-RtlEmptyAtomTable@8
-RtlEnableEarlyCriticalSectionEventCreation@0
-RtlEnlargedIntegerMultiply@8
-RtlEnlargedUnsignedDivide@16
-RtlEnlargedUnsignedMultiply@8
-RtlEnterCriticalSection@4
-RtlEnumerateGenericTable@8
-RtlEnumerateGenericTableWithoutSplaying@8
-RtlEnumProcessHeaps@8
-RtlEqualComputerName@8
-RtlEqualDomainName@8
-RtlEqualLuid@8
-RtlEqualPrefixSid@8
-RtlEqualSid@8
-RtlEqualString@12
-RtlEqualUnicodeString@12
-RtlEraseUnicodeString@4
-RtlExpandEnvironmentStrings_U@16
-RtlExtendedLargeIntegerDivide@16
-RtlExtendedMagicDivide@20
-RtlExtendHeap@16
-RtlFillMemory@12
-RtlFillMemoryUlong@12
-RtlFindClearBits@12
-RtlFindClearBitsAndSet@12
-RtlFindLeastSignificantBit@8
-RtlFindLongestRunClear@8
-RtlFindLongestRunSet@8
-RtlFindMessage@20
-RtlFindMostSignificantBit@8
-RtlFindNextForwardRunClear@12
-RtlFindRange@48
-RtlFindSetBits@12
-RtlFindSetBitsAndClear@12
-RtlFirstFreeAce@8
-RtlFormatCurrentUserKeyPath@4
-RtlFormatMessage@36
-RtlFreeAnsiString@4
-RtlFreeHandle@8
-RtlFreeHeap@12
-RtlFreeOemString@4
-RtlFreeSid@4
-RtlFreeUnicodeString@4
-RtlFreeUserThreadStack@8
-RtlGenerate8dot3Name@16
-RtlGetAce@12
-RtlGetCallersAddress@8
-RtlGetCompressionWorkSpaceSize@12
-RtlGetControlSecurityDescriptor@12
-RtlGetCurrentDirectory_U@8
-RtlGetDaclSecurityDescriptor@16
-RtlGetElementGenericTable@8
-RtlGetFirstRange@12
-RtlGetFullPathName_U@16
-RtlGetGroupSecurityDescriptor@12
-RtlGetLongestNtPathLength@0
-RtlGetNextRange@12
-RtlGetNtGlobalFlags@0
-RtlGetNtProductType@4
-RtlGetOwnerSecurityDescriptor@12
-RtlGetProcessHeaps@8
-RtlGetSaclSecurityDescriptor@16
-RtlGetSecurityDescriptorRMControl@8
-RtlGetUserInfoHeap@20
-RtlGetVersion@4
-RtlGUIDFromString@8
-RtlIdentifierAuthoritySid@4
-RtlImageDirectoryEntryToData@16
-RtlImageNtHeader@4
-RtlImageRvaToSection@12
-RtlImageRvaToVa@16
-RtlImpersonateLpcClient@8
-RtlImpersonateSelf@4
-RtlInitAnsiString@8
-RtlInitCodePageTable@8
-RtlInitNlsTables@16
-RtlInitString@8
-RtlInitUnicodeString@8
-RtlInitializeAtomPackage@4
-RtlInitializeBitMap@12
-RtlInitializeContext@20
-RtlInitializeCriticalSection@4
-RtlInitializeCriticalSectionAndSpinCount@8
-RtlInitializeGenericTable@20
-RtlInitializeHandleTable@12
-RtlInitializeRXact@12
-RtlInitializeRangeList@4
-RtlInitializeResource@4
-RtlInitializeSid@12
-RtlInsertElementGenericTable@16
-RtlIntegerToChar@16
-RtlIntegerToUnicodeString@12
-RtlInvertRangeList@8
-RtlIsDosDeviceName_U@4
-RtlIsNameLegalDOS8Dot3@12
-RtlIsRangeAvailable@40
-RtlIsTextUnicode@12
-RtlIsValidHandle@8
-RtlIsValidIndexHandle@12
-RtlLargeIntegerAdd@16
-RtlLargeIntegerArithmeticShift@12
-RtlLargeIntegerDivide@20
-RtlLargeIntegerNegate@8
-RtlLargeIntegerShiftLeft@12
-RtlLargeIntegerShiftRight@12
-RtlLargeIntegerSubtract@16
-RtlLargeIntegerToChar@16
-RtlLeaveCriticalSection@4
-RtlLengthRequiredSid@4
-RtlLengthSecurityDescriptor@4
-RtlLengthSid@4
-RtlLocalTimeToSystemTime@8
-RtlLockHeap@4
-RtlLookupAtomInAtomTable@12
-RtlLookupElementGenericTable@8
-RtlMakeSelfRelativeSD@12
-RtlMapGenericMask@8
-RtlMergeRangeLists@16
-RtlMoveMemory@12
-RtlMultiByteToUnicodeN@20
-RtlMultiByteToUnicodeSize@12
-RtlNewInstanceSecurityObject@40
-RtlNewSecurityGrantedAccess@24
-RtlNewSecurityObject@24
-RtlNewSecurityObjectEx@32
-RtlNormalizeProcessParams@4
-RtlNtStatusToDosError@4
-RtlNumberGenericTableElements@4
-RtlNumberOfClearBits@4
-RtlNumberOfSetBits@4
-RtlOemStringToUnicodeSize@4
-RtlOemStringToUnicodeString@12
-RtlOemToUnicodeN@12
-RtlOpenCurrentUser@8
-RtlPcToFileHeader@8
-RtlPinAtomInAtomTable@8
-RtlPrefixString@12
-RtlPrefixUnicodeString@12
-RtlProtectHeap@8
-RtlQueryAtomInAtomTable@24
-RtlQueryEnvironmentVariable_U@12
-RtlQueryInformationAcl@16
-RtlQueryProcessBackTraceInformation@4
-RtlQueryProcessDebugInformation@12
-RtlQueryProcessHeapInformation@4
-RtlQueryProcessLockInformation@4
-RtlQueryRegistryValues@20
-RtlQuerySecurityObject@20
-RtlQueryTagHeap@20
-RtlQueryTimeZoneInformation@4
-RtlQueueWorkItem@12
-RtlRaiseException@4
-RtlRaiseStatus@4
-RtlReAllocateHeap@16
-RtlRealPredecessor@4
-RtlRegisterWait@24
-RtlReleasePebLock@0
-RtlReleaseResource@4
-RtlRemoteCall@28
-RtlResetRtlTranslations@4
-RtlRunDecodeUnicodeString@8
-RtlRunEncodeUnicodeString@8
-RtlSecondsSince1970ToTime@8
-RtlSecondsSince1980ToTime@8
-RtlSelfRelativeToAbsoluteSD2@8
-RtlSelfRelativeToAbsoluteSD@44
-RtlSetAllBits@4
-RtlSetAttributesSecurityDescriptor@12
-RtlSetBits@12
-RtlSetControlSecurityDescriptor@12
-RtlSetCriticalSectionSpinCount@8
-RtlSetCurrentDirectory_U@4
-RtlSetCurrentEnvironment@8
-RtlSetDaclSecurityDescriptor@16
-RtlSetEnvironmentVariable@12
-RtlSetGroupSecurityDescriptor@12
-RtlSetInformationAcl@16
-RtlSetIoCompletionCallback@12
-RtlSetOwnerSecurityDescriptor@12
-RtlSetSaclSecurityDescriptor@16
-RtlSetSecurityDescriptorRMControl@8
-RtlSetSecurityObject@20
-RtlSetSecurityObjectEx@24
-RtlSetThreadPoolStartFunc@8
-RtlSetTimeZoneInformation@4
-RtlSetTimer@28
-RtlSetUnicodeCallouts@4
-RtlSetUserFlagsHeap@20
-RtlSetUserValueHeap@16
-RtlShutdownLpcServer@4
-RtlSizeHeap@12
-RtlSplay@4
-RtlStartRXact@4
-RtlStringFromGUID@8
-RtlSubAuthorityCountSid@4
-RtlSubAuthoritySid@8
-RtlSubtreePredecessor@4
-RtlSubtreeSuccessor@4
-RtlSystemTimeToLocalTime@8
-RtlTimeFieldsToTime@8
-RtlTimeToElapsedTimeFields@8
-RtlTimeToSecondsSince1970@8
-RtlTimeToSecondsSince1980@8
-RtlTimeToTimeFields@8
-RtlTraceDatabaseAdd@16
-RtlTraceDatabaseCreate@20
-RtlTraceDatabaseDestroy@4
-RtlTraceDatabaseEnumerate@12
-RtlTraceDatabaseFind@16
-RtlTraceDatabaseLock@4
-RtlTraceDatabaseUnlock@4
-RtlTraceDatabaseValidate@4
-RtlTryEnterCriticalSection@4
-RtlUlongByteSwap@4
-RtlUlonglongByteSwap@4
-RtlUnicodeStringToAnsiSize@4
-RtlUnicodeStringToAnsiString@12
-RtlUnicodeStringToCountedOemString@12
-RtlUnicodeStringToInteger@12
-RtlUnicodeStringToOemSize@4
-RtlUnicodeStringToOemString@12
-RtlUnicodeToMultiByteN@20
-RtlUnicodeToMultiByteSize@12
-RtlUnicodeToOemN@20
-RtlUniform@4
-RtlUnlockHeap@4
-RtlUnwind@16
-RtlUpcaseUnicodeChar@4
-RtlUpcaseUnicodeString@12
-RtlUpcaseUnicodeStringToAnsiString@12
-RtlUpcaseUnicodeStringToCountedOemString@12
-RtlUpcaseUnicodeStringToOemString@12
-RtlUpcaseUnicodeToCustomCPN@24
-RtlUpcaseUnicodeToMultiByteN@20
-RtlUpcaseUnicodeToOemN@20
-RtlUpdateTimer@16
-RtlUpperChar@4
-RtlUpperString@12
-RtlUsageHeap@12
-RtlUshortByteSwap@4
-RtlValidAcl@4
-RtlValidRelativeSecurityDescriptor@12
-RtlValidSecurityDescriptor@4
-RtlValidSid@4
-RtlValidateHeap@12
-RtlValidateProcessHeaps@0
-RtlVerifyVersionInfo@16
-RtlWalkFrameChain@12
-RtlWalkHeap@8
-RtlWriteRegistryValue@24
-RtlZeroHeap@8
-RtlZeroMemory@8
-RtlpNtCreateKey@24
-RtlpNtEnumerateSubKey@16
-RtlpNtMakeTemporaryKey@4
-RtlpNtOpenKey@16
-RtlpNtQueryValueKey@20
-RtlpNtSetValueKey@16
-RtlpUnWaitCriticalSection@4
-RtlpWaitForCriticalSection@4
-RtlxAnsiStringToUnicodeSize@4
-RtlxOemStringToUnicodeSize@4
-RtlxUnicodeStringToAnsiSize@4
-RtlxUnicodeStringToOemSize@4
-ZwAcceptConnectPort@24
-ZwAccessCheck@32
-ZwAccessCheckAndAuditAlarm@44
-ZwAccessCheckByType@44
-ZwAccessCheckByTypeAndAuditAlarm@64
-ZwAccessCheckByTypeResultList@44
-ZwAccessCheckByTypeResultListAndAuditAlarm@64
-ZwAccessCheckByTypeResultListAndAuditAlarmByHandle@68
-ZwAddAtom@12
-ZwAdjustGroupsToken@24
-ZwAdjustPrivilegesToken@24
-ZwAlertResumeThread@8
-ZwAlertThread@4
-ZwAllocateLocallyUniqueId@4
-ZwAllocateUserPhysicalPages@12
-ZwAllocateUuids@16
-ZwAllocateVirtualMemory@24
-ZwAreMappedFilesTheSame@8
-ZwAssignProcessToJobObject@8
-ZwCallbackReturn@12
-ZwCancelDeviceWakeupRequest@4
-ZwCancelIoFile@8
-ZwCancelTimer@8
-ZwClearEvent@4
-ZwClose@4
-ZwCloseObjectAuditAlarm@12
-ZwCompleteConnectPort@4
-ZwConnectPort@32
-ZwContinue@8
-ZwCreateDirectoryObject@12
-ZwCreateEvent@20
-ZwCreateEventPair@12
-ZwCreateFile@44
-ZwCreateIoCompletion@16
-ZwCreateJobObject@12
-ZwCreateKey@28
-ZwCreateMailslotFile@32
-ZwCreateMutant@16
-ZwCreateNamedPipeFile@56
-ZwCreatePagingFile@16
-ZwCreatePort@20
-ZwCreateProcess@32
-ZwCreateProfile@36
-ZwCreateSection@28
-ZwCreateSemaphore@20
-ZwCreateSymbolicLinkObject@16
-ZwCreateThread@32
-ZwCreateTimer@16
-ZwCreateToken@52
-ZwCreateWaitablePort@20
-ZwDelayExecution@8
-ZwDeleteAtom@4
-ZwDeleteFile@4
-ZwDeleteKey@4
-ZwDeleteObjectAuditAlarm@12
-ZwDeleteValueKey@8
-ZwDeviceIoControlFile@40
-ZwDisplayString@4
-ZwDuplicateObject@28
-ZwDuplicateToken@24
-ZwEnumerateKey@24
-ZwEnumerateValueKey@24
-ZwExtendSection@8
-ZwFilterToken@24
-ZwFindAtom@12
-ZwFlushBuffersFile@8
-ZwFlushInstructionCache@12
-ZwFlushKey@4
-ZwFlushVirtualMemory@16
-ZwFlushWriteBuffer@0
-ZwFreeUserPhysicalPages@12
-ZwFreeVirtualMemory@16
-ZwFsControlFile@40
-ZwGetContextThread@8
-ZwGetDevicePowerState@8
-ZwGetPlugPlayEvent@16
-ZwGetTickCount@0
-ZwGetWriteWatch@28
-ZwImpersonateAnonymousToken@8
-ZwImpersonateClientOfPort@8
-ZwImpersonateThread@12
-ZwInitializeRegistry@4
-ZwInitiatePowerAction@16
-ZwIsSystemResumeAutomatic@0
-ZwListenPort@8
-ZwLoadDriver@4
-ZwLoadKey@8
-ZwLoadKey2@12
-ZwLockFile@40
-ZwLockVirtualMemory@16
-ZwMakeTemporaryObject@4
-ZwMapUserPhysicalPages@12
-ZwMapUserPhysicalPagesScatter@12
-ZwMapViewOfSection@40
-ZwNotifyChangeDirectoryFile@36
-ZwNotifyChangeKey@40
-ZwNotifyChangeMultipleKeys@48
-ZwOpenDirectoryObject@12
-ZwOpenEvent@12
-ZwOpenEventPair@12
-ZwOpenFile@24
-ZwOpenIoCompletion@12
-ZwOpenJobObject@12
-ZwOpenKey@12
-ZwOpenMutant@12
-ZwOpenObjectAuditAlarm@48
-ZwOpenProcess@16
-ZwOpenProcessToken@12
-ZwOpenSection@12
-ZwOpenSemaphore@12
-ZwOpenSymbolicLinkObject@12
-ZwOpenThread@16
-ZwOpenThreadToken@16
-ZwOpenTimer@12
-ZwPowerInformation@20
-ZwPrivilegeCheck@12
-ZwPrivilegedServiceAuditAlarm@20
-ZwPrivilegeObjectAuditAlarm@24
-ZwProtectVirtualMemory@20
-ZwPulseEvent@8
-ZwQueryAttributesFile@8
-ZwQueryDefaultLocale@8
-ZwQueryDefaultUILanguage@4
-ZwQueryDirectoryFile@44
-ZwQueryDirectoryObject@28
-ZwQueryEaFile@36
-ZwQueryEvent@20
-ZwQueryFullAttributesFile@8
-ZwQueryInformationAtom@20
-ZwQueryInformationFile@20
-ZwQueryInformationJobObject@20
-ZwQueryInformationPort@20
-ZwQueryInformationProcess@20
-ZwQueryInformationThread@20
-ZwQueryInformationToken@20
-ZwQueryIntervalProfile@8
-ZwQueryIoCompletion@20
-ZwQueryKey@20
-ZwQueryMultipleValueKey@24
-ZwQueryMutant@20
-ZwQueryObject@20
-ZwQueryOpenSubKeys@8
-ZwQueryPerformanceCounter@8
-ZwQueryQuotaInformationFile@36
-ZwQuerySection@20
-ZwQuerySecurityObject@20
-ZwQuerySemaphore@20
-ZwQuerySymbolicLinkObject@12
-ZwQuerySystemEnvironmentValue@16
-ZwQuerySystemInformation@16
-ZwQuerySystemTime@4
-ZwQueryTimer@20
-ZwQueryTimerResolution@12
-ZwQueryValueKey@24
-ZwQueryVirtualMemory@24
-ZwQueryVolumeInformationFile@20
-ZwQueueApcThread@20
-ZwRaiseException@12
-ZwRaiseHardError@24
-ZwReadFile@36
-ZwReadFileScatter@36
-ZwReadRequestData@24
-ZwReadVirtualMemory@20
-ZwRegisterThreadTerminatePort@4
-ZwReleaseMutant@8
-ZwReleaseSemaphore@12
-ZwRemoveIoCompletion@20
-ZwReplaceKey@12
-ZwReplyPort@8
-ZwReplyWaitReceivePort@16
-ZwReplyWaitReceivePortEx@20
-ZwReplyWaitReplyPort@8
-ZwRequestDeviceWakeup@4
-ZwRequestPort@8
-ZwRequestWaitReplyPort@12
-ZwRequestWakeupLatency@4
-ZwResetEvent@8
-ZwResetWriteWatch@12
-ZwRestoreKey@12
-ZwResumeThread@8
-ZwSaveKey@8
-ZwSaveMergedKeys@12
-ZwSecureConnectPort@36
-ZwSetContextThread@8
-ZwSetDefaultHardErrorPort@4
-ZwSetDefaultLocale@8
-ZwSetDefaultUILanguage@4
-ZwSetEaFile@16
-ZwSetEvent@8
-ZwSetHighEventPair@4
-ZwSetHighWaitLowEventPair@4
-ZwSetInformationFile@20
-ZwSetInformationJobObject@16
-ZwSetInformationKey@16
-ZwSetInformationObject@16
-ZwSetInformationProcess@16
-ZwSetInformationThread@16
-ZwSetInformationToken@16
-ZwSetIntervalProfile@8
-ZwSetIoCompletion@20
-ZwSetLdtEntries@16
-ZwSetLowEventPair@4
-ZwSetLowWaitHighEventPair@4
-ZwSetQuotaInformationFile@16
-ZwSetSecurityObject@12
-ZwSetSystemEnvironmentValue@8
-ZwSetSystemInformation@12
-ZwSetSystemPowerState@12
-ZwSetSystemTime@8
-ZwSetThreadExecutionState@8
-ZwSetTimer@28
-ZwSetTimerResolution@12
-ZwSetUuidSeed@4
-ZwSetValueKey@24
-ZwSetVolumeInformationFile@20
-ZwShutdownSystem@4
-ZwSignalAndWaitForSingleObject@16
-ZwStartProfile@4
-ZwStopProfile@4
-ZwSuspendThread@8
-ZwSystemDebugControl@24
-ZwTerminateJobObject@8
-ZwTerminateProcess@8
-ZwTerminateThread@8
-ZwTestAlert@0
-ZwUnloadDriver@4
-ZwUnloadKey@4
-ZwUnlockFile@20
-ZwUnlockVirtualMemory@16
-ZwUnmapViewOfSection@8
-ZwVdmControl@8
-ZwWaitForMultipleObjects@20
-ZwWaitForSingleObject@12
-ZwWaitHighEventPair@4
-ZwWaitLowEventPair@4
-ZwWriteFile@36
-ZwWriteFileGather@36
-ZwWriteRequestData@24
-ZwWriteVirtualMemory@20
-ZwYieldExecution@0
-__isascii
-__iscsym
-__iscsymf
-__toascii
-_itoa
-_itow
-_ltoa
-_ltow
-_snprintf
-_snwprintf
-_strcmpi
-_stricmp
-_strlwr
-_strnicmp
-_strupr
-_tolower
-_toupper
-_ultoa
-_ultow
-_vsnprintf
-_wcsicmp
-_wcslwr
-_wcsnicmp
-_wcsupr
-_wtoi
-_wtol
-abs
-atan
-atoi
-atol
-ceil
-cos
-fabs
-floor
-isalnum
-isalpha
-iscntrl
-isdigit
-isgraph
-islower
-isprint
-ispunct
-isspace
-isupper
-iswalpha
-iswctype
-isxdigit
-labs
-log
-mbstowcs
-memchr
-memcmp
-memcpy
-memmove
-memset
-pow
-sin
-sprintf
-sqrt
-strcat
-strchr
-strcmp
-strcpy
-strcspn
-strlen
-strncat
-strncmp
-strncpy
-strpbrk
-strrchr
-strspn
-strstr
-strtol
-strtoul
-swprintf
-tan
-tolower
-toupper
-towlower
-towupper
-vsprintf
-wcscat
-wcschr
-wcscmp
-wcscpy
-wcscspn
-wcslen
-wcsncat
-wcsncmp
-wcsncpy
-wcspbrk
-wcsrchr
-wcsspn
-wcsstr
-wcstol
-wcstombs
-wcstoul
diff --git a/winsup/w32api/lib/odbc32.def b/winsup/w32api/lib/odbc32.def
deleted file mode 100644
index d9205174c..000000000
--- a/winsup/w32api/lib/odbc32.def
+++ /dev/null
@@ -1,185 +0,0 @@
-LIBRARY ODBC32.dll
-EXPORTS
-CloseODBCPerfData@0
-CollectODBCPerfData@16
-CursorLibLockDbc@8
-CursorLibLockDesc@8
-CursorLibLockStmt@8
-CursorLibTransact@12
-LockHandle@12
-MpHeapAlloc
-MpHeapCompact
-MpHeapCreate
-MpHeapDestroy
-MpHeapFree
-MpHeapReAlloc
-MpHeapSize
-MpHeapValidate
-ODBCGetTryWaitValue@0
-ODBCInternalConnectW@36
-ODBCQualifyFileDSNW@4
-ODBCSetTryWaitValue@4
-ODBCSharedPerfMon
-ODBCSharedTraceFlag
-ODBCSharedVSFlag
-OpenODBCPerfData@4
-PostComponentError@4
-PostODBCComponentError@4
-PostODBCError@16
-SQLAllocConnect@8
-SQLAllocEnv@4
-SQLAllocHandle@12
-SQLAllocHandleStd@12
-SQLAllocStmt@8
-SQLBindCol@24
-SQLBindParam@32
-SQLBindParameter@40
-SQLBrowseConnect@24
-SQLBrowseConnectA@24
-SQLBrowseConnectW@24
-SQLBulkOperations@8
-SQLCancel@4
-SQLCloseCursor@4
-SQLColAttribute@28
-SQLColAttributeA@28
-SQLColAttributeW@28
-SQLColAttributes@28
-SQLColAttributesA@28
-SQLColAttributesW@28
-SQLColumnPrivileges@36
-SQLColumnPrivilegesA@36
-SQLColumnPrivilegesW@36
-SQLColumns@36
-SQLColumnsA@36
-SQLColumnsW@36
-SQLConnect@28
-SQLConnectA@28
-SQLConnectW@28
-SQLCopyDesc@8
-SQLDataSources@32
-SQLDataSourcesA@32
-SQLDataSourcesW@32
-SQLDescribeCol@36
-SQLDescribeColA@36
-SQLDescribeColW@36
-SQLDescribeParam@24
-SQLDisconnect@4
-SQLDriverConnect@32
-SQLDriverConnectA@32
-SQLDriverConnectW@32
-SQLDrivers@32
-SQLDriversA@32
-SQLDriversW@32
-SQLEndTran@12
-SQLError@32
-SQLErrorA@32
-SQLErrorW@32
-SQLExecDirect@12
-SQLExecDirectA@12
-SQLExecDirectW@12
-SQLExecute@4
-SQLExtendedFetch@20
-SQLFetch@4
-SQLFetchScroll@12
-SQLForeignKeys@52
-SQLForeignKeysA@52
-SQLForeignKeysW@52
-SQLFreeConnect@4
-SQLFreeEnv@4
-SQLFreeHandle@8
-SQLFreeStmt@8
-SQLGetConnectAttr@20
-SQLGetConnectAttrA@20
-SQLGetConnectAttrW@20
-SQLGetConnectOption@12
-SQLGetConnectOptionA@12
-SQLGetConnectOptionW@12
-SQLGetCursorName@16
-SQLGetCursorNameA@16
-SQLGetCursorNameW@16
-SQLGetData@24
-SQLGetDescField@24
-SQLGetDescFieldA@24
-SQLGetDescFieldW@24
-SQLGetDescRec@44
-SQLGetDescRecA@44
-SQLGetDescRecW@44
-SQLGetDiagField@28
-SQLGetDiagFieldA@28
-SQLGetDiagFieldW@28
-SQLGetDiagRec@32
-SQLGetDiagRecA@32
-SQLGetDiagRecW@32
-SQLGetEnvAttr@20
-SQLGetFunctions@12
-SQLGetInfo@20
-SQLGetInfoA@20
-SQLGetInfoW@20
-SQLGetStmtAttr@20
-SQLGetStmtAttrA@20
-SQLGetStmtAttrW@20
-SQLGetStmtOption@12
-SQLGetTypeInfo@8
-SQLGetTypeInfoA@8
-SQLGetTypeInfoW@8
-SQLMoreResults@4
-SQLNativeSql@24
-SQLNativeSqlA@24
-SQLNativeSqlW@24
-SQLNumParams@8
-SQLNumResultCols@8
-SQLParamData@8
-SQLParamOptions@12
-SQLPrepare@12
-SQLPrepareA@12
-SQLPrepareW@12
-SQLPrimaryKeys@28
-SQLPrimaryKeysA@28
-SQLPrimaryKeysW@28
-SQLProcedureColumns@36
-SQLProcedureColumnsA@36
-SQLProcedureColumnsW@36
-SQLProcedures@28
-SQLProceduresA@28
-SQLProceduresW@28
-SQLPutData@12
-SQLRowCount@8
-SQLSetConnectAttr@16
-SQLSetConnectAttrA@16
-SQLSetConnectAttrW@16
-SQLSetConnectOption@12
-SQLSetConnectOptionA@12
-SQLSetConnectOptionW@12
-SQLSetCursorName@12
-SQLSetCursorNameA@12
-SQLSetCursorNameW@12
-SQLSetDescField@20
-SQLSetDescFieldA@20
-SQLSetDescFieldW@20
-SQLSetDescRec@40
-SQLSetEnvAttr@16
-SQLSetParam@32
-SQLSetPos@16
-SQLSetScrollOptions@16
-SQLSetStmtAttr@16
-SQLSetStmtAttrA@16
-SQLSetStmtAttrW@16
-SQLSetStmtOption@12
-SQLSpecialColumns@40
-SQLSpecialColumnsA@40
-SQLSpecialColumnsW@40
-SQLStatistics@36
-SQLStatisticsA@36
-SQLStatisticsW@36
-SQLTablePrivileges@28
-SQLTablePrivilegesA@28
-SQLTablePrivilegesW@28
-SQLTables@36
-SQLTablesA@36
-SQLTablesW@36
-SQLTransact@12
-SearchStatusCode@8
-VFreeErrors@4
-VRetrieveDriverErrorsRowCol@24
-ValidateErrorQueue@8
-g_hHeapMalloc
diff --git a/winsup/w32api/lib/odbccp32.def b/winsup/w32api/lib/odbccp32.def
deleted file mode 100644
index f8fdfd738..000000000
--- a/winsup/w32api/lib/odbccp32.def
+++ /dev/null
@@ -1,54 +0,0 @@
-LIBRARY ODBCCP32.dll
-EXPORTS
-SQLConfigDataSource@16
-SQLConfigDataSourceW@16
-SQLConfigDriver@28
-SQLConfigDriverW@28
-SQLCreateDataSource@8
-SQLCreateDataSourceW@8
-SQLGetAvailableDrivers@16
-SQLGetAvailableDriversW@16
-SQLGetConfigMode@4
-SQLGetInstalledDrivers@12
-SQLGetInstalledDriversW@12
-SQLGetPrivateProfileString@24
-SQLGetPrivateProfileStringW@24
-SQLGetTranslator@32
-SQLGetTranslatorW@32
-SQLInstallDriver@20
-SQLInstallDriverEx@28
-SQLInstallDriverExW@28
-SQLInstallDriverManager@12
-SQLInstallDriverManagerW@12
-SQLInstallDriverW@20
-SQLInstallODBC@16
-SQLInstallODBCW@16
-SQLInstallTranslator@32
-SQLInstallTranslatorEx@28
-SQLInstallTranslatorExW@28
-SQLInstallTranslatorW@32
-SQLInstallerError@20
-SQLInstallerErrorW@20
-SQLManageDataSources@4
-SQLPostInstallerError@8
-SQLPostInstallerErrorW@8
-SQLReadFileDSN@24
-SQLReadFileDSNW@24
-SQLRemoveDSNFromIni@4
-SQLRemoveDSNFromIniW@4
-SQLRemoveDefaultDataSource@0
-SQLRemoveDriver@12
-SQLRemoveDriverManager@4
-SQLRemoveDriverW@12
-SQLRemoveTranslator@8
-SQLRemoveTranslatorW@8
-SQLSetConfigMode@4
-SQLValidDSN@4
-SQLValidDSNW@4
-SQLWriteDSNToIni@8
-SQLWriteDSNToIniW@8
-SQLWriteFileDSN@16
-SQLWriteFileDSNW@16
-SQLWritePrivateProfileString@16
-SQLWritePrivateProfileStringW@16
-ODBC___GetSetupProc@4 \ No newline at end of file
diff --git a/winsup/w32api/lib/ole32.def b/winsup/w32api/lib/ole32.def
deleted file mode 100644
index d190b1842..000000000
--- a/winsup/w32api/lib/ole32.def
+++ /dev/null
@@ -1,255 +0,0 @@
-LIBRARY OLE32.dll
-EXPORTS
-BindMoniker@16
-CLIPFORMAT_UserFree@8
-CLIPFORMAT_UserMarshal@12
-CLIPFORMAT_UserSize@12
-CLIPFORMAT_UserUnmarshal@12
-CLSIDFromProgID@8
-CLSIDFromString@8
-CoAddRefServerProcess@0
-CoBuildVersion@0
-CoCopyProxy@8
-CoCreateFreeThreadedMarshaler@8
-CoCreateGuid@4
-CoCreateInstance@20
-CoCreateInstanceEx@24
-CoDisconnectObject@8
-CoDosDateTimeToFileTime@12
-CoFileTimeNow@4
-CoFileTimeToDosDateTime@12
-CoFreeAllLibraries@0
-CoFreeLibrary@4
-CoFreeUnusedLibraries@0
-CoGetCallContext@8
-CoGetCallerTID@4
-CoGetClassObject@20
-CoGetCurrentLogicalThreadId@4
-CoGetCurrentProcess@0
-CoGetInstanceFromFile@32
-CoGetInstanceFromIStorage@28
-CoGetInterfaceAndReleaseStream@12
-CoGetMalloc@8
-CoGetMarshalSizeMax@24
-CoGetObject@16
-CoGetPSClsid@8
-CoGetStandardMarshal@24
-CoGetState@4
-CoGetTreatAsClass@8
-CoImpersonateClient@0
-CoInitialize@4
-CoInitializeEx@8
-CoInitializeSecurity@36
-CoInitializeWOW@8
-CoIsHandlerConnected@4
-CoIsOle1Class@4
-CoLoadLibrary@8
-CoLockObjectExternal@12
-CoMarshalHresult@8
-CoMarshalInterThreadInterfaceInStream@12
-CoMarshalInterface@24
-CoQueryAuthenticationServices@8
-CoQueryClientBlanket@28
-CoQueryProxyBlanket@32
-CoQueryReleaseObject@4
-CoRegisterChannelHook@8
-CoRegisterClassObject@20
-CoRegisterMallocSpy@4
-CoRegisterMessageFilter@8
-CoRegisterPSClsid@8
-CoRegisterSurrogate@4
-CoReleaseMarshalData@4
-CoReleaseServerProcess@0
-CoResumeClassObjects@0
-CoRevertToSelf@0
-CoRevokeClassObject@4
-CoRevokeMallocSpy@0
-CoSetProxyBlanket@32
-CoSetState@4
-CoSuspendClassObjects@0
-CoSwitchCallContext@8
-CoTaskMemAlloc@4
-CoTaskMemFree@4
-CoTaskMemRealloc@8
-CoTreatAsClass@8
-CoUninitialize@0
-CoUnloadingWOW@4
-CoUnmarshalHresult@8
-CoUnmarshalInterface@12
-CreateAntiMoniker@4
-CreateBindCtx@8
-CreateClassMoniker@8
-CreateDataAdviseHolder@4
-CreateDataCache@16
-CreateFileMoniker@8
-CreateGenericComposite@12
-CreateILockBytesOnHGlobal@12
-CreateItemMoniker@12
-CreateOleAdviseHolder@4
-CreatePointerMoniker@8
-CreateStreamOnHGlobal@12
-DllDebugObjectRPCHook@8
-DllGetClassObjectWOW@12
-DoDragDrop@16
-EnableHookObject@8
-FreePropVariantArray@8
-GetClassFile@8
-GetConvertStg@4
-GetDocumentBitStg@4
-GetHGlobalFromILockBytes@8
-GetHGlobalFromStream@8
-GetHookInterface@4
-GetRunningObjectTable@8
-HACCEL_UserFree@8
-HACCEL_UserMarshal@12
-HACCEL_UserSize@12
-HACCEL_UserUnmarshal@12
-HBITMAP_UserFree@8
-HBITMAP_UserMarshal@12
-HBITMAP_UserSize@12
-HBITMAP_UserUnmarshal@12
-HBRUSH_UserFree@8
-HBRUSH_UserMarshal@12
-HBRUSH_UserSize@12
-HBRUSH_UserUnmarshal@12
-HENHMETAFILE_UserFree@8
-HENHMETAFILE_UserMarshal@12
-HENHMETAFILE_UserSize@12
-HENHMETAFILE_UserUnmarshal@12
-HGLOBAL_UserFree@8
-HGLOBAL_UserMarshal@12
-HGLOBAL_UserSize@12
-HGLOBAL_UserUnmarshal@12
-HMENU_UserFree@8
-HMENU_UserMarshal@12
-HMENU_UserSize@12
-HMENU_UserUnmarshal@12
-HMETAFILEPICT_UserFree@8
-HMETAFILEPICT_UserMarshal@12
-HMETAFILEPICT_UserSize@12
-HMETAFILEPICT_UserUnmarshal@12
-HMETAFILE_UserFree@8
-HMETAFILE_UserMarshal@12
-HMETAFILE_UserSize@12
-HMETAFILE_UserUnmarshal@12
-HPALETTE_UserFree@8
-HPALETTE_UserMarshal@12
-HPALETTE_UserSize@12
-HPALETTE_UserUnmarshal@12
-HWND_UserFree@8
-HWND_UserMarshal@12
-HWND_UserSize@12
-HWND_UserUnmarshal@12
-IIDFromString@8
-IsAccelerator@16
-IsEqualGUID@8
-IsValidIid@4
-IsValidInterface@4
-IsValidPtrIn@8
-IsValidPtrOut@8
-MkParseDisplayName@16
-MonikerCommonPrefixWith@12
-MonikerRelativePathTo@16
-OleBuildVersion@0
-OleConvertIStorageToOLESTREAM@8
-OleConvertIStorageToOLESTREAMEx@28
-OleConvertOLESTREAMToIStorage@12
-OleConvertOLESTREAMToIStorageEx@28
-OleCreate@28
-OleCreateDefaultHandler@16
-OleCreateEmbeddingHelper@24
-OleCreateEx@48
-OleCreateFromData@28
-OleCreateFromDataEx@48
-OleCreateFromFile@32
-OleCreateFromFileEx@52
-OleCreateLink@28
-OleCreateLinkEx@48
-OleCreateLinkFromData@28
-OleCreateLinkFromDataEx@48
-OleCreateLinkToFile@28
-OleCreateLinkToFileEx@48
-OleCreateMenuDescriptor@8
-OleCreateStaticFromData@28
-OleDestroyMenuDescriptor@4
-OleDoAutoConvert@8
-OleDraw@16
-OleDuplicateData@12
-OleFlushClipboard@0
-OleGetAutoConvert@8
-OleGetClipboard@4
-OleGetIconOfClass@12
-OleGetIconOfFile@8
-OleInitialize@4
-OleInitializeWOW@8
-OleIsCurrentClipboard@4
-OleIsRunning@4
-OleLoad@16
-OleLoadFromStream@12
-OleLockRunning@12
-OleMetafilePictFromIconAndLabel@16
-OleNoteObjectVisible@8
-OleQueryCreateFromData@4
-OleQueryLinkFromData@4
-OleRegEnumFormatEtc@12
-OleRegEnumVerbs@8
-OleRegGetMiscStatus@12
-OleRegGetUserType@12
-OleRun@4
-OleSave@12
-OleSaveToStream@8
-OleSetAutoConvert@8
-OleSetClipboard@4
-OleSetContainedObject@8
-OleSetMenuDescriptor@20
-OleTranslateAccelerator@12
-OleUninitialize@0
-OpenOrCreateStream@12
-ProgIDFromCLSID@8
-PropSysAllocString@4
-PropSysFreeString@4
-PropVariantClear@4
-PropVariantCopy@8
-ReadClassStg@8
-ReadClassStm@8
-ReadFmtUserTypeStg@12
-ReadOleStg@24
-ReadStringStream@8
-RegisterDragDrop@8
-ReleaseStgMedium@4
-RevokeDragDrop@4
-SNB_UserFree@8
-SNB_UserMarshal@12
-SNB_UserSize@12
-SNB_UserUnmarshal@12
-STGMEDIUM_UserFree@8
-STGMEDIUM_UserMarshal@12
-STGMEDIUM_UserSize@12
-STGMEDIUM_UserUnmarshal@12
-SetConvertStg@8
-SetDocumentBitStg@8
-StgCreateDocfile@16
-StgCreateDocfileOnILockBytes@16
-StgGetIFillLockBytesOnFile@8
-StgGetIFillLockBytesOnILockBytes@8
-StgIsStorageFile@4
-StgIsStorageILockBytes@4
-StgOpenAsyncDocfileOnIFillLockBytes@16
-StgOpenStorage@24
-StgOpenStorageOnILockBytes@24
-StgSetTimes@16
-StgCreateStorageEx@32
-StgOpenStorageEx@32
-StringFromCLSID@8
-StringFromGUID2@12
-StringFromIID@8
-UpdateDCOMSettings@0
-UtConvertDvtd16toDvtd32@12
-UtConvertDvtd32toDvtd16@12
-UtGetDvtd16Info@8
-UtGetDvtd32Info@8
-WriteClassStg@8
-WriteClassStm@8
-WriteFmtUserTypeStg@12
-WriteOleStg@16
-WriteStringStream@8
diff --git a/winsup/w32api/lib/oleacc.def b/winsup/w32api/lib/oleacc.def
deleted file mode 100644
index c7ea13924..000000000
--- a/winsup/w32api/lib/oleacc.def
+++ /dev/null
@@ -1,17 +0,0 @@
-LIBRARY Oleacc.dll
-EXPORTS
-AccessibleChildren@20
-AccessibleObjectFromEvent@20
-AccessibleObjectFromPoint@16
-AccessibleObjectFromWindow@16
-CreateStdAccessibleObject@16
-CreateStdAccessibleProxyA@20
-CreateStdAccessibleProxyW@20
-GetOleaccVersionInfo@8
-GetRoleTextA@12
-GetRoleTextW@12
-GetStateTextA@12
-GetStateTextW@12
-LresultFromObject@12
-ObjectFromLresult@16
-WindowFromAccessibleObject@8
diff --git a/winsup/w32api/lib/oleaut32.def b/winsup/w32api/lib/oleaut32.def
deleted file mode 100644
index fed406574..000000000
--- a/winsup/w32api/lib/oleaut32.def
+++ /dev/null
@@ -1,355 +0,0 @@
-LIBRARY OLEAUT32.DLL
-EXPORTS
-BSTR_UserFree@8
-BSTR_UserMarshal@12
-BSTR_UserSize@12
-BSTR_UserUnmarshal@12
-BstrFromVector@8
-ClearCustData@4
-CreateDispTypeInfo@12
-CreateErrorInfo@4
-CreateStdDispatch@16
-CreateTypeLib@12
-CreateTypeLib2@12
-DispCallFunc@32
-DispGetIDsOfNames@16
-DispGetParam@20
-DispInvoke@32
-DosDateTimeToVariantTime@12
-GetActiveObject@12
-GetAltMonthNames@8
-GetErrorInfo@8
-GetRecordInfoFromGuids@24
-GetRecordInfoFromTypeInfo@8
-LHashValOfNameSys@12
-LHashValOfNameSysA@12
-LoadRegTypeLib@20
-LoadTypeLib@8
-LoadTypeLibEx@12
-LPSAFEARRAY_Marshal@16
-LPSAFEARRAY_Size@16
-LPSAFEARRAY_Unmarshal@16
-LPSAFEARRAY_UserFree@8
-LPSAFEARRAY_UserMarshal@12
-LPSAFEARRAY_UserSize@12
-LPSAFEARRAY_UserUnmarshal@12
-OaBuildVersion@0
-OleCreateFontIndirect@12
-OleCreatePictureIndirect@16
-OleCreatePropertyFrame@44
-OleCreatePropertyFrameIndirect@4
-OleIconToCursor@8
-OleLoadPicture@20
-OleLoadPictureEx@32
-OleLoadPictureFile@20
-OleLoadPictureFileEx@32
-OleLoadPicturePath@24
-OleSavePictureFile@8
-OleTranslateColor@12
-QueryPathOfRegTypeLib@20
-RegisterActiveObject@16
-RegisterTypeLib@12
-RevokeActiveObject@8
-SafeArrayAccessData@8
-SafeArrayAllocData@4
-SafeArrayAllocDescriptor@8
-SafeArrayAllocDescriptorEx@12
-SafeArrayCopy@8
-SafeArrayCopyData@8
-SafeArrayCreate@12
-SafeArrayCreateEx@16
-SafeArrayCreateVector@12
-SafeArrayCreateVectorEx@16
-SafeArrayDestroy@4
-SafeArrayDestroyData@4
-SafeArrayDestroyDescriptor@4
-SafeArrayGetDim@4
-SafeArrayGetElement@12
-SafeArrayGetElemsize@4
-SafeArrayGetIID@8
-SafeArrayGetLBound@12
-SafeArrayGetRecordInfo@8
-SafeArrayGetUBound@12
-SafeArrayGetVartype@8
-SafeArrayLock@4
-SafeArrayPtrOfIndex@12
-SafeArrayPutElement@12
-SafeArrayRedim@8
-SafeArraySetIID@8
-SafeArraySetRecordInfo@8
-SafeArrayUnaccessData@4
-SafeArrayUnlock@4
-SetErrorInfo@8
-SysAllocString@4
-SysAllocStringByteLen@8
-SysAllocStringLen@8
-SysFreeString@4
-SysReAllocString@8
-SysReAllocStringLen@12
-SysStringByteLen@4
-SysStringLen@4
-SystemTimeToVariantTime@8
-UnRegisterTypeLib@20
-UserBSTR_free_inst@4
-UserBSTR_free_local@4
-UserBSTR_from_local@8
-UserBSTR_to_local@8
-UserEXCEPINFO_free_inst@4
-UserEXCEPINFO_free_local@4
-UserEXCEPINFO_from_local@8
-UserEXCEPINFO_to_local@8
-UserHWND_free_inst@4
-UserHWND_free_local@4
-UserHWND_from_local@8
-UserHWND_to_local@8
-UserMSG_free_inst@4
-UserMSG_free_local@4
-UserMSG_from_local@8
-UserMSG_to_local@8
-UserVARIANT_free_inst@4
-UserVARIANT_free_local@4
-UserVARIANT_from_local@8
-UserVARIANT_to_local@8
-VarAbs@8
-VarAdd@12
-VarAnd@12
-VarBoolFromCy@12
-VarBoolFromDate@12
-VarBoolFromDec@8
-VarBoolFromDisp@12
-VarBoolFromI1@8
-VarBoolFromI2@8
-VarBoolFromI4@8
-VarBoolFromR4@8
-VarBoolFromR8@12
-VarBoolFromStr@16
-VarBoolFromUI1@8
-VarBoolFromUI2@8
-VarBoolFromUI4@8
-VarBstrCat@12
-VarBstrCmp@16
-VarBstrFromBool@16
-VarBstrFromCy@20
-VarBstrFromDate@20
-VarBstrFromDec@16
-VarBstrFromDisp@16
-VarBstrFromI1@16
-VarBstrFromI2@16
-VarBstrFromI4@16
-VarBstrFromR4@16
-VarBstrFromR8@20
-VarBstrFromUI1@16
-VarBstrFromUI2@16
-VarBstrFromUI4@16
-VarCat@12
-VarCmp@16
-VarCyAbs@12
-VarCyAdd@20
-VarCyCmp@16
-VarCyCmpR8@16
-VarCyFix@12
-VarCyFromBool@8
-VarCyFromDate@12
-VarCyFromDec@8
-VarCyFromDisp@12
-VarCyFromI1@8
-VarCyFromI2@8
-VarCyFromI4@8
-VarCyFromR4@8
-VarCyFromR8@12
-VarCyFromStr@16
-VarCyFromUI1@8
-VarCyFromUI2@8
-VarCyFromUI4@8
-VarCyInt@12
-VarCyMul@20
-VarCyMulI4@16
-VarCyNeg@12
-VarCyRound@16
-VarCySub@20
-VarDateFromBool@8
-VarDateFromCy@12
-VarDateFromDec@8
-VarDateFromDisp@12
-VarDateFromI1@8
-VarDateFromI2@8
-VarDateFromI4@8
-VarDateFromR4@8
-VarDateFromR8@12
-VarDateFromStr@16
-VarDateFromUdate@12
-VarDateFromUdateEx@16
-VarDateFromUI1@8
-VarDateFromUI2@8
-VarDateFromUI4@8
-VarDecAbs@8
-VarDecAdd@12
-VarDecCmp@8
-VarDecCmpR8@12
-VarDecDiv@12
-VarDecFix@8
-VarDecFromBool@8
-VarDecFromCy@12
-VarDecFromDate@12
-VarDecFromDisp@12
-VarDecFromI1@8
-VarDecFromI2@8
-VarDecFromI4@8
-VarDecFromR4@8
-VarDecFromR8@12
-VarDecFromStr@16
-VarDecFromUI1@8
-VarDecFromUI2@8
-VarDecFromUI4@8
-VarDecInt@8
-VarDecMul@12
-VarDecNeg@8
-VarDecRound@12
-VarDecSub@12
-VarDiv@12
-VarEqv@12
-VarFix@8
-VarFormat@24
-VarFormatCurrency@28
-VarFormatDateTime@16
-VarFormatFromTokens@24
-VarFormatNumber@28
-VarFormatPercent@28
-VarI1FromBool@8
-VarI1FromCy@12
-VarI1FromDate@12
-VarI1FromDec@8
-VarI1FromDisp@12
-VarI1FromI2@8
-VarI1FromI4@8
-VarI1FromR4@8
-VarI1FromR8@12
-VarI1FromStr@16
-VarI1FromUI1@8
-VarI1FromUI2@8
-VarI1FromUI4@8
-VarI2FromBool@8
-VarI2FromCy@12
-VarI2FromDate@12
-VarI2FromDec@8
-VarI2FromDisp@12
-VarI2FromI1@8
-VarI2FromI4@8
-VarI2FromR4@8
-VarI2FromR8@12
-VarI2FromStr@16
-VarI2FromUI1@8
-VarI2FromUI2@8
-VarI2FromUI4@8
-VarI4FromBool@8
-VarI4FromCy@12
-VarI4FromDate@12
-VarI4FromDec@8
-VarI4FromDisp@12
-VarI4FromI1@8
-VarI4FromI2@8
-VarI4FromR4@8
-VarI4FromR8@12
-VarI4FromStr@16
-VarI4FromUI1@8
-VarI4FromUI2@8
-VarI4FromUI4@8
-VARIANT_UserFree@8
-VARIANT_UserMarshal@12
-VARIANT_UserSize@12
-VARIANT_UserUnmarshal@12
-VariantChangeType@16
-VariantChangeTypeEx@20
-VariantClear@4
-VariantCopy@8
-VariantCopyInd@8
-VariantInit@4
-VariantTimeToDosDateTime@16
-VariantTimeToSystemTime@12
-VarIdiv@12
-VarImp@12
-VarInt@8
-VarMod@12
-VarMonthName@16
-VarMul@12
-VarNeg@8
-VarNot@8
-VarNumFromParseNum@16
-VarOr@12
-VarParseNumFromStr@20
-VarPow@12
-VarR4CmpR8@12
-VarR4FromBool@8
-VarR4FromCy@12
-VarR4FromDate@12
-VarR4FromDec@8
-VarR4FromDisp@12
-VarR4FromI1@8
-VarR4FromI2@8
-VarR4FromI4@8
-VarR4FromR8@12
-VarR4FromStr@16
-VarR4FromUI1@8
-VarR4FromUI2@8
-VarR4FromUI4@8
-VarR8FromBool@8
-VarR8FromCy@12
-VarR8FromDate@12
-VarR8FromDec@8
-VarR8FromDisp@12
-VarR8FromI1@8
-VarR8FromI2@8
-VarR8FromI4@8
-VarR8FromR4@8
-VarR8FromStr@16
-VarR8FromUI1@8
-VarR8FromUI2@8
-VarR8FromUI4@8
-VarR8Pow@20
-VarR8Round@16
-VarRound@12
-VarSub@12
-VarTokenizeFormatString@28
-VarUdateFromDate@16
-VarUI1FromBool@8
-VarUI1FromCy@12
-VarUI1FromDate@12
-VarUI1FromDec@8
-VarUI1FromDisp@12
-VarUI1FromI1@8
-VarUI1FromI2@8
-VarUI1FromI4@8
-VarUI1FromR4@8
-VarUI1FromR8@12
-VarUI1FromStr@16
-VarUI1FromUI2@8
-VarUI1FromUI4@8
-VarUI2FromBool@8
-VarUI2FromCy@12
-VarUI2FromDate@12
-VarUI2FromDec@8
-VarUI2FromDisp@12
-VarUI2FromI1@8
-VarUI2FromI2@8
-VarUI2FromI4@8
-VarUI2FromR4@8
-VarUI2FromR8@12
-VarUI2FromStr@16
-VarUI2FromUI1@8
-VarUI2FromUI4@8
-VarUI4FromBool@8
-VarUI4FromCy@12
-VarUI4FromDate@12
-VarUI4FromDec@8
-VarUI4FromDisp@12
-VarUI4FromI1@8
-VarUI4FromI2@8
-VarUI4FromI4@8
-VarUI4FromR4@8
-VarUI4FromR8@12
-VarUI4FromStr@16
-VarUI4FromUI1@8
-VarUI4FromUI2@8
-VarWeekdayName@20
-VarXor@12
-VectorFromBstr@8
diff --git a/winsup/w32api/lib/olecli32.def b/winsup/w32api/lib/olecli32.def
deleted file mode 100644
index f02f35e00..000000000
--- a/winsup/w32api/lib/olecli32.def
+++ /dev/null
@@ -1,57 +0,0 @@
-LIBRARY OLECLI32.DLL
-EXPORTS
-OleActivate@24
-OleClone@20
-OleClose@4
-OleCopyFromLink@24
-OleCopyToClipboard@4
-OleCreate@32
-OleCreateFromClip@28
-OleCreateFromFile@36
-OleCreateFromTemplate@32
-OleCreateInvisible@36
-OleCreateLinkFromClip@28
-OleCreateLinkFromFile@40
-OleDelete@4
-OleDraw@20
-OleEnumFormats@8
-OleEnumObjects@8
-OleEqual@8
-OleExecute@12
-OleGetData@12
-OleGetLinkUpdateOptions@8
-OleIsDcMeta@4
-OleLoadFromStream@24
-OleLockServer@8
-OleObjectConvert@24
-OleQueryBounds@8
-OleQueryClientVersion@0
-OleQueryCreateFromClip@12
-OleQueryLinkFromClip@12
-OleQueryName@12
-OleQueryOpen@4
-OleQueryOutOfDate@4
-OleQueryProtocol@8
-OleQueryReleaseError@4
-OleQueryReleaseMethod@4
-OleQueryReleaseStatus@4
-OleQuerySize@8
-OleQueryType@8
-OleReconnect@4
-OleRegisterClientDoc@16
-OleRelease@4
-OleRename@8
-OleRenameClientDoc@8
-OleRequestData@8
-OleRevertClientDoc@4
-OleRevokeClientDoc@4
-OleSaveToStream@8
-OleSavedClientDoc@4
-OleSetBounds@8
-OleSetColorScheme@8
-OleSetData@12
-OleSetHostNames@12
-OleSetLinkUpdateOptions@8
-OleSetTargetDevice@8
-OleUnlockServer@4
-OleUpdate@4
diff --git a/winsup/w32api/lib/oledlg.def b/winsup/w32api/lib/oledlg.def
deleted file mode 100644
index 6ae8ace10..000000000
--- a/winsup/w32api/lib/oledlg.def
+++ /dev/null
@@ -1,25 +0,0 @@
-LIBRARY OLEDLG.DLL
-EXPORTS
-OleUIAddVerbMenuA@36
-OleUIAddVerbMenuW@36
-OleUIBusyA@4
-OleUIBusyW@4
-OleUICanConvertOrActivateAs@12
-OleUIChangeIconA@4
-OleUIChangeIconW@4
-OleUIChangeSourceA@4
-OleUIChangeSourceW@4
-OleUIConvertA@4
-OleUIConvertW@4
-OleUIEditLinksA@4
-OleUIEditLinksW@4
-OleUIInsertObjectA@4
-OleUIInsertObjectW@4
-OleUIObjectPropertiesA@4
-OleUIObjectPropertiesW@4
-OleUIPasteSpecialA@4
-OleUIPasteSpecialW@4
-OleUIPromptUserA
-OleUIPromptUserW
-OleUIUpdateLinksA@16
-OleUIUpdateLinksW@16
diff --git a/winsup/w32api/lib/olepro32.def b/winsup/w32api/lib/olepro32.def
deleted file mode 100644
index ebfbbc588..000000000
--- a/winsup/w32api/lib/olepro32.def
+++ /dev/null
@@ -1,9 +0,0 @@
-LIBRARY OLEPRO32.DLL
-EXPORTS
-OleCreateFontIndirect@12
-OleCreatePictureIndirect@16
-OleCreatePropertyFrame@44
-OleCreatePropertyFrameIndirect@4
-OleIconToCursor@8
-OleLoadPicture@20
-OleTranslateColor@12
diff --git a/winsup/w32api/lib/olesvr32.def b/winsup/w32api/lib/olesvr32.def
deleted file mode 100644
index 04d5ba699..000000000
--- a/winsup/w32api/lib/olesvr32.def
+++ /dev/null
@@ -1,13 +0,0 @@
-LIBRARY OLESVR32.DLL
-EXPORTS
-OleBlockServer@4
-OleQueryServerVersion@0
-OleRegisterServer@20
-OleRegisterServerDoc@16
-OleRenameServerDoc@8
-OleRevertServerDoc@4
-OleRevokeObject@4
-OleRevokeServer@4
-OleRevokeServerDoc@4
-OleSavedServerDoc@4
-OleUnblockServer@8
diff --git a/winsup/w32api/lib/opengl32.def b/winsup/w32api/lib/opengl32.def
deleted file mode 100644
index e612a5753..000000000
--- a/winsup/w32api/lib/opengl32.def
+++ /dev/null
@@ -1,369 +0,0 @@
-LIBRARY OPENGL32.DLL
-EXPORTS
-GlmfBeginGlsBlock@4
-GlmfCloseMetaFile@4
-GlmfEndGlsBlock@4
-GlmfEndPlayback@4
-GlmfInitPlayback@12
-GlmfPlayGlsRecord@16
-glAccum@8
-glAlphaFunc@8
-glAreTexturesResident@12
-glArrayElement@4
-glBegin@4
-glBindTexture@8
-glBitmap@28
-glBlendFunc@8
-glCallList@4
-glCallLists@12
-glClear@4
-glClearAccum@16
-glClearColor@16
-glClearDepth@8
-glClearIndex@4
-glClearStencil@4
-glClipPlane@8
-glColor3b@12
-glColor3bv@4
-glColor3d@24
-glColor3dv@4
-glColor3f@12
-glColor3fv@4
-glColor3i@12
-glColor3iv@4
-glColor3s@12
-glColor3sv@4
-glColor3ub@12
-glColor3ubv@4
-glColor3ui@12
-glColor3uiv@4
-glColor3us@12
-glColor3usv@4
-glColor4b@16
-glColor4bv@4
-glColor4d@32
-glColor4dv@4
-glColor4f@16
-glColor4fv@4
-glColor4i@16
-glColor4iv@4
-glColor4s@16
-glColor4sv@4
-glColor4ub@16
-glColor4ubv@4
-glColor4ui@16
-glColor4uiv@4
-glColor4us@16
-glColor4usv@4
-glColorMask@16
-glColorMaterial@8
-glColorPointer@16
-glCopyPixels@20
-glCopyTexImage1D@28
-glCopyTexImage2D@32
-glCopyTexSubImage1D@24
-glCopyTexSubImage2D@32
-glCullFace@4
-glDebugEntry@8
-glDeleteLists@8
-glDeleteTextures@8
-glDepthFunc@4
-glDepthMask@4
-glDepthRange@16
-glDisable@4
-glDisableClientState@4
-glDrawArrays@12
-glDrawBuffer@4
-glDrawElements@16
-glDrawPixels@20
-glEdgeFlag@4
-glEdgeFlagPointer@8
-glEdgeFlagv@4
-glEnable@4
-glEnableClientState@4
-glEnd@0
-glEndList@0
-glEvalCoord1d@8
-glEvalCoord1dv@4
-glEvalCoord1f@4
-glEvalCoord1fv@4
-glEvalCoord2d@16
-glEvalCoord2dv@4
-glEvalCoord2f@8
-glEvalCoord2fv@4
-glEvalMesh1@12
-glEvalMesh2@20
-glEvalPoint1@4
-glEvalPoint2@8
-glFeedbackBuffer@12
-glFinish@0
-glFlush@0
-glFogf@8
-glFogfv@8
-glFogi@8
-glFogiv@8
-glFrontFace@4
-glFrustum@48
-glGenLists@4
-glGenTextures@8
-glGetBooleanv@8
-glGetClipPlane@8
-glGetDoublev@8
-glGetError@0
-glGetFloatv@8
-glGetIntegerv@8
-glGetLightfv@12
-glGetLightiv@12
-glGetMapdv@12
-glGetMapfv@12
-glGetMapiv@12
-glGetMaterialfv@12
-glGetMaterialiv@12
-glGetPixelMapfv@8
-glGetPixelMapuiv@8
-glGetPixelMapusv@8
-glGetPointerv@8
-glGetPolygonStipple@4
-glGetString@4
-glGetTexEnvfv@12
-glGetTexEnviv@12
-glGetTexGendv@12
-glGetTexGenfv@12
-glGetTexGeniv@12
-glGetTexImage@20
-glGetTexLevelParameterfv@16
-glGetTexLevelParameteriv@16
-glGetTexParameterfv@12
-glGetTexParameteriv@12
-glHint@8
-glIndexMask@4
-glIndexPointer@12
-glIndexd@8
-glIndexdv@4
-glIndexf@4
-glIndexfv@4
-glIndexi@4
-glIndexiv@4
-glIndexs@4
-glIndexsv@4
-glIndexub@4
-glIndexubv@4
-glInitNames@0
-glInterleavedArrays@12
-glIsEnabled@4
-glIsList@4
-glIsTexture@4
-glLightModelf@8
-glLightModelfv@8
-glLightModeli@8
-glLightModeliv@8
-glLightf@12
-glLightfv@12
-glLighti@12
-glLightiv@12
-glLineStipple@8
-glLineWidth@4
-glListBase@4
-glLoadIdentity@0
-glLoadMatrixd@4
-glLoadMatrixf@4
-glLoadName@4
-glLogicOp@4
-glMap1d@32
-glMap1f@24
-glMap2d@56
-glMap2f@40
-glMapGrid1d@20
-glMapGrid1f@12
-glMapGrid2d@40
-glMapGrid2f@24
-glMaterialf@12
-glMaterialfv@12
-glMateriali@12
-glMaterialiv@12
-glMatrixMode@4
-glMultMatrixd@4
-glMultMatrixf@4
-glNewList@8
-glNormal3b@12
-glNormal3bv@4
-glNormal3d@24
-glNormal3dv@4
-glNormal3f@12
-glNormal3fv@4
-glNormal3i@12
-glNormal3iv@4
-glNormal3s@12
-glNormal3sv@4
-glNormalPointer@12
-glOrtho@48
-glPassThrough@4
-glPixelMapfv@12
-glPixelMapuiv@12
-glPixelMapusv@12
-glPixelStoref@8
-glPixelStorei@8
-glPixelTransferf@8
-glPixelTransferi@8
-glPixelZoom@8
-glPointSize@4
-glPolygonMode@8
-glPolygonOffset@8
-glPolygonStipple@4
-glPopAttrib@0
-glPopClientAttrib@0
-glPopMatrix@0
-glPopName@0
-glPrioritizeTextures@12
-glPushAttrib@4
-glPushClientAttrib@4
-glPushMatrix@0
-glPushName@4
-glRasterPos2d@16
-glRasterPos2dv@4
-glRasterPos2f@8
-glRasterPos2fv@4
-glRasterPos2i@8
-glRasterPos2iv@4
-glRasterPos2s@8
-glRasterPos2sv@4
-glRasterPos3d@24
-glRasterPos3dv@4
-glRasterPos3f@12
-glRasterPos3fv@4
-glRasterPos3i@12
-glRasterPos3iv@4
-glRasterPos3s@12
-glRasterPos3sv@4
-glRasterPos4d@32
-glRasterPos4dv@4
-glRasterPos4f@16
-glRasterPos4fv@4
-glRasterPos4i@16
-glRasterPos4iv@4
-glRasterPos4s@16
-glRasterPos4sv@4
-glReadBuffer@4
-glReadPixels@28
-glRectd@32
-glRectdv@8
-glRectf@16
-glRectfv@8
-glRecti@16
-glRectiv@8
-glRects@16
-glRectsv@8
-glRenderMode@4
-glRotated@32
-glRotatef@16
-glScaled@24
-glScalef@12
-glScissor@16
-glSelectBuffer@8
-glShadeModel@4
-glStencilFunc@12
-glStencilMask@4
-glStencilOp@12
-glTexCoord1d@8
-glTexCoord1dv@4
-glTexCoord1f@4
-glTexCoord1fv@4
-glTexCoord1i@4
-glTexCoord1iv@4
-glTexCoord1s@4
-glTexCoord1sv@4
-glTexCoord2d@16
-glTexCoord2dv@4
-glTexCoord2f@8
-glTexCoord2fv@4
-glTexCoord2i@8
-glTexCoord2iv@4
-glTexCoord2s@8
-glTexCoord2sv@4
-glTexCoord3d@24
-glTexCoord3dv@4
-glTexCoord3f@12
-glTexCoord3fv@4
-glTexCoord3i@12
-glTexCoord3iv@4
-glTexCoord3s@12
-glTexCoord3sv@4
-glTexCoord4d@32
-glTexCoord4dv@4
-glTexCoord4f@16
-glTexCoord4fv@4
-glTexCoord4i@16
-glTexCoord4iv@4
-glTexCoord4s@16
-glTexCoord4sv@4
-glTexCoordPointer@16
-glTexEnvf@12
-glTexEnvfv@12
-glTexEnvi@12
-glTexEnviv@12
-glTexGend@16
-glTexGendv@12
-glTexGenf@12
-glTexGenfv@12
-glTexGeni@12
-glTexGeniv@12
-glTexImage1D@32
-glTexImage2D@36
-glTexParameterf@12
-glTexParameterfv@12
-glTexParameteri@12
-glTexParameteriv@12
-glTexSubImage1D@28
-glTexSubImage2D@36
-glTranslated@24
-glTranslatef@12
-glVertex2d@16
-glVertex2dv@4
-glVertex2f@8
-glVertex2fv@4
-glVertex2i@8
-glVertex2iv@4
-glVertex2s@8
-glVertex2sv@4
-glVertex3d@24
-glVertex3dv@4
-glVertex3f@12
-glVertex3fv@4
-glVertex3i@12
-glVertex3iv@4
-glVertex3s@12
-glVertex3sv@4
-glVertex4d@32
-glVertex4dv@4
-glVertex4f@16
-glVertex4fv@4
-glVertex4i@16
-glVertex4iv@4
-glVertex4s@16
-glVertex4sv@4
-glVertexPointer@16
-glViewport@16
-wglChoosePixelFormat@8
-wglCopyContext@12
-wglCreateContext@4
-wglCreateLayerContext@8
-wglDeleteContext@4
-wglDescribeLayerPlane@20
-wglDescribePixelFormat@16
-wglGetCurrentContext@0
-wglGetCurrentDC@0
-wglGetDefaultProcAddress@4
-wglGetLayerPaletteEntries@20
-wglGetPixelFormat@4
-wglGetProcAddress@4
-wglMakeCurrent@8
-wglRealizeLayerPalette@12
-wglSetLayerPaletteEntries@20
-wglSetPixelFormat@12
-wglShareLists@8
-wglSwapBuffers@4
-wglSwapLayerBuffers@8
-wglUseFontBitmapsA@16
-wglUseFontBitmapsW@16
-wglUseFontOutlinesA@32
-wglUseFontOutlinesW@32
diff --git a/winsup/w32api/lib/penwin32.def b/winsup/w32api/lib/penwin32.def
deleted file mode 100644
index 0efc7f73a..000000000
--- a/winsup/w32api/lib/penwin32.def
+++ /dev/null
@@ -1,101 +0,0 @@
-LIBRARY PENWIN32.DLL
-EXPORTS
-AddInksetInterval@8
-AddPenDataHRC@8
-AddPenInputHRC@20
-AddPointsPenData@16
-AddWordsHWL@12
-BoundingRectFromPoints@12
-CharacterToSymbol@12
-CompressPenData@12
-ConfigHREC@16
-CorrectWriting@24
-CreateCompatibleHRC@8
-CreateHWL@16
-CreateInkset@4
-CreateInksetHRCRESULT@12
-CreatePenDataEx@16
-CreatePenDataHRC@4
-CreatePenDataRegion@8
-DPtoTP@8
-DestroyHRC@4
-DestroyHRCRESULT@4
-DestroyHWL@4
-DestroyInkset@4
-DestroyPenData@4
-DoDefaultPenInput@8
-DrawPenDataEx@40
-DuplicatePenData@8
-EnableGestureSetHRC@12
-EnableSystemDictionaryHRC@8
-EndPenInputHRC@4
-ExtractPenDataPoints@28
-ExtractPenDataStrokes@20
-GetAlphabetHRC@12
-GetAlphabetPriorityHRC@12
-GetAlternateWordsHRCRESULT@20
-GetBoxMappingHRCRESULT@16
-GetBoxResultsHRC@24
-GetGuideHRC@12
-GetHRECFromHRC@4
-GetHotspotsHRCRESULT@16
-GetInksetInterval@12
-GetInksetIntervalCount@4
-GetInternationalHRC@20
-GetMaxResultsHRC@4
-GetPenAppFlags@0
-GetPenAsyncState@4
-GetPenDataAttributes@12
-GetPenDataInfo@16
-GetPenInput@24
-GetPenMiscInfo@8
-GetPointsFromPenData@20
-GetResultsHRC@16
-GetStrokeAttributes@16
-GetStrokeTableAttributes@16
-GetSymbolCountHRCRESULT@4
-GetSymbolsHRCRESULT@16
-GetVersionPenWin@0
-GetWordlistCoercionHRC@4
-GetWordlistHRC@8
-HitTestPenData@20
-InsertPenData@12
-InsertPenDataPoints@24
-InsertPenDataStroke@20
-InstallRecognizer@4
-IsPenEvent@8
-MetricScalePenData@8
-OffsetPenData@12
-PeekPenInput@20
-PenDataFromBuffer@20
-PenDataToBuffer@16
-ProcessHRC@8
-ReadHWL@8
-RedisplayPenData@24
-RemovePenDataStrokes@12
-ResizePenData@8
-SetAlphabetHRC@12
-SetAlphabetPriorityHRC@12
-SetBoxAlphabetHRC@12
-SetGuideHRC@12
-SetInternationalHRC@20
-SetMaxResultsHRC@8
-SetPenAppFlags@8
-SetPenMiscInfo@8
-SetResultsHookHREC@8
-SetStrokeAttributes@16
-SetStrokeTableAttributes@16
-SetWordlistCoercionHRC@8
-SetWordlistHRC@8
-StartInking@12
-StartPenInput@16
-StopInking@4
-StopPenInput@12
-SymbolToCharacter@16
-TPtoDP@8
-TargetPoints@20
-TrainHREC@20
-TrimPenData@12
-UnhookResultsHookHREC@8
-UninstallRecognizer@4
-WriteHWL@8
diff --git a/winsup/w32api/lib/pkpd32.def b/winsup/w32api/lib/pkpd32.def
deleted file mode 100644
index 58fbc27ab..000000000
--- a/winsup/w32api/lib/pkpd32.def
+++ /dev/null
@@ -1,36 +0,0 @@
-LIBRARY PKPD32.DLL
-EXPORTS
-AddInksetInterval@8
-AddPointsPenData@16
-BoundingRectFromPoints@12
-CompressPenData@12
-CreateInkset@4
-CreatePenDataEx@16
-CreatePenDataRegion@8
-DestroyInkset@4
-DestroyPenData@4
-DrawPenDataEx@40
-DuplicatePenData@8
-ExtractPenDataPoints@28
-ExtractPenDataStrokes@20
-GetInksetInterval@12
-GetInksetIntervalCount@4
-GetPenDataAttributes@12
-GetPenDataInfo@16
-GetPointsFromPenData@20
-GetStrokeAttributes@16
-GetStrokeTableAttributes@16
-HitTestPenData@20
-InsertPenData@12
-InsertPenDataPoints@24
-InsertPenDataStroke@20
-MetricScalePenData@8
-OffsetPenData@12
-PenDataFromBuffer@20
-PenDataToBuffer@16
-RedisplayPenData@24
-RemovePenDataStrokes@12
-ResizePenData@8
-SetStrokeAttributes@16
-SetStrokeTableAttributes@16
-TrimPenData@12
diff --git a/winsup/w32api/lib/powrprof.def b/winsup/w32api/lib/powrprof.def
deleted file mode 100644
index d2ad939dd..000000000
--- a/winsup/w32api/lib/powrprof.def
+++ /dev/null
@@ -1,25 +0,0 @@
-LIBRARY POWRPROF.dll
-EXPORTS
-CallNtPowerInformation@20
-CanUserWritePwrScheme@0
-DeletePwrScheme@4
-EnumPwrSchemes@8
-GetActivePwrScheme@4
-GetCurrentPowerPolicies@8
-GetPwrCapabilities@4
-GetPwrDiskSpindownRange@8
-IsAdminOverrideActive@4
-IsPwrHibernateAllowed@0
-IsPwrShutdownAllowed@0
-IsPwrSuspendAllowed@0
-LoadCurrentPwrScheme@16
-MergeLegacyPwrScheme@16
-ReadGlobalPwrPolicy@4
-ReadProcessorPwrScheme@8
-ReadPwrScheme@8
-SetActivePwrScheme@12
-SetSuspendState@12
-ValidatePowerPolicies@8
-WriteGlobalPwrPolicy@4
-WriteProcessorPwrScheme@8
-WritePwrScheme@16
diff --git a/winsup/w32api/lib/psapi.def b/winsup/w32api/lib/psapi.def
deleted file mode 100644
index 9d79fe82c..000000000
--- a/winsup/w32api/lib/psapi.def
+++ /dev/null
@@ -1,21 +0,0 @@
-LIBRARY PSAPI.DLL
-EXPORTS
-EmptyWorkingSet@4
-EnumDeviceDrivers@12
-EnumProcesses@12
-EnumProcessModules@16
-GetDeviceDriverBaseNameA@12
-GetDeviceDriverBaseNameW@12
-GetDeviceDriverFileNameA@12
-GetDeviceDriverFileNameW@12
-GetMappedFileNameA@16
-GetMappedFileNameW@16
-GetModuleBaseNameA@16
-GetModuleBaseNameW@16
-GetModuleFileNameExA@16
-GetModuleFileNameExW@16
-GetModuleInformation@16
-GetProcessMemoryInfo@12
-GetWsChanges@12
-InitializeProcessForWsWatch@4
-QueryWorkingSet@12
diff --git a/winsup/w32api/lib/rapi.def b/winsup/w32api/lib/rapi.def
deleted file mode 100644
index 730faa294..000000000
--- a/winsup/w32api/lib/rapi.def
+++ /dev/null
@@ -1,84 +0,0 @@
-LIBRARY RAPI.DLL
-EXPORTS
-CeCheckPassword@4
-CeCloseHandle@4
-CeCopyFile@12
-CeCreateDatabase@16
-CeCreateDirectory@8
-CeCreateFile@28
-CeCreateProcess@40
-CeDeleteDatabase@4
-CeDeleteFile@4
-CeDeleteRecord@8
-CeFindAllDatabases@16
-CeFindAllFiles@16
-CeFindClose@4
-CeFindFirstDatabase@4
-CeFindFirstFile@8
-CeFindNextDatabase@4
-CeFindNextFile@8
-CeGetClassName@12
-CeGetDesktopDeviceCaps@4
-CeGetFileAttributes@4
-CeGetFileSize@8
-CeGetFileTime@16
-CeGetLastError@0
-CeGetSpecialFolderPath@12
-CeGetStoreInformation@4
-CeGetSystemInfo@4
-CeGetSystemMetrics@4
-CeGetSystemPowerStatusEx@8
-CeGetTempPath@8
-CeGetVersionEx@4
-CeGetWindow@8
-CeGetWindowLong@8
-CeGetWindowText@12
-CeGlobalMemoryStatus@4
-CeMoveFile@8
-CeOidGetInfo@8
-CeOpenDatabase@20
-CeRapiFreeBuffer@4
-CeRapiGetError@0
-CeRapiInit@0
-CeRapiInitEx@4
-CeRapiInvoke@32
-CeRapiUninit@0
-CeReadFile@20
-CeReadRecordProps@24
-CeRegCloseKey@4
-CeRegCreateKeyEx@36
-CeRegDeleteKey@8
-CeRegDeleteValue@8
-CeRegEnumKeyEx@32
-CeRegEnumValue@32
-CeRegOpenKeyEx@20
-CeRegQueryInfoKey@48
-CeRegQueryValueEx@24
-CeRegSetValueEx@24
-CeRemoveDirectory@4
-CeSHCreateShortcut@8
-CeSHGetShortcutTarget@12
-CeSeekDatabase@16
-CeSetDatabaseInfo@8
-CeSetEndOfFile@4
-CeSetFileAttributes@8
-CeSetFilePointer@16
-CeSetFileTime@16
-CeWriteFile@20
-CeWriteRecordProps@16
-GetRapiError@0
-RAPI_EXP_10@4
-RAPI_EXP_11@8
-RAPI_EXP_12@4
-RAPI_EXP_13@0
-RAPI_EXP_14@4
-RAPI_EXP_15@4
-RAPI_EXP_16@0
-RAPI_EXP_17@8
-RAPI_EXP_18@8
-RAPI_EXP_19@12
-RAPI_EXP_20@4
-RAPI_EXP_21@8
-RAPI_EXP_22@8
-RAPI_EXP_23@12
-RapiFreeBuffer@4
diff --git a/winsup/w32api/lib/rasapi32.def b/winsup/w32api/lib/rasapi32.def
deleted file mode 100644
index 492f2a5fe..000000000
--- a/winsup/w32api/lib/rasapi32.def
+++ /dev/null
@@ -1,146 +0,0 @@
-LIBRARY RASAPI32.DLL
-EXPORTS
-DDMGetPhonebookInfo@32
-DwCloneEntry@12
-DwDeleteSubEntry@12
-DwEnumEntriesForAllUsers@12
-DwEnumEntryDetails@16
-FreeSharedAccessApplication@4
-FreeSharedAccessServer@4
-RasAutoDialSharedConnection@0
-RasAutodialAddressToNetwork@12
-RasAutodialEntryToNetwork@12
-RasClearConnectionStatistics@4
-RasClearLinkStatistics@8
-RasConnectionNotificationA@12
-RasConnectionNotificationW@12
-RasCreatePhonebookEntryA@8
-RasCreatePhonebookEntryW@8
-RasDeleteEntryA@8
-RasDeleteEntryW@8
-RasDialA@24
-RasDialW@24
-RasDialWow@20
-RasEditPhonebookEntryA@12
-RasEditPhonebookEntryW@12
-RasEnumAutodialAddressesA@12
-RasEnumAutodialAddressesW@12
-RasEnumConnectionsA@12
-RasEnumConnectionsW@12
-RasEnumConnectionsWow@12
-RasEnumDevicesA@12
-RasEnumDevicesW@12
-RasEnumEntriesA@20
-RasEnumEntriesW@20
-RasEnumEntriesWow@20
-RasFreeEapUserIdentityA@4
-RasFreeEapUserIdentityW@4
-RasFreeLanConnTable@8
-RasFreeSharedAccessSettings@4
-RasGetAutodialAddressA@20
-RasGetAutodialAddressW@20
-RasGetAutodialEnableA@8
-RasGetAutodialEnableW@8
-RasGetAutodialParamA@12
-RasGetAutodialParamW@12
-RasGetConnectResponse@8
-RasGetConnectStatusA@8
-RasGetConnectStatusW@8
-RasGetConnectStatusWow@8
-RasGetConnectionStatistics@8
-RasGetCountryInfoA@8
-RasGetCountryInfoW@8
-RasGetCredentialsA@12
-RasGetCredentialsW@12
-RasGetCustomAuthDataA@16
-RasGetCustomAuthDataW@16
-RasGetEapUserDataA@20
-RasGetEapUserDataW@20
-RasGetEapUserIdentityA@20
-RasGetEapUserIdentityW@20
-RasGetEntryDialParamsA@12
-RasGetEntryDialParamsW@12
-RasGetEntryHrasconnA@12
-RasGetEntryHrasconnW@12
-RasGetEntryPropertiesA@24
-RasGetEntryPropertiesW@24
-RasGetErrorStringA@12
-RasGetErrorStringW@12
-RasGetErrorStringWow@12
-RasGetHport@4
-RasGetLinkStatistics@12
-RasGetProjectionInfoA@16
-RasGetProjectionInfoW@16
-RasGetSubEntryHandleA@12
-RasGetSubEntryHandleW@12
-RasGetSubEntryPropertiesA@28
-RasGetSubEntryPropertiesW@28
-RasHangUpA@4
-RasHangUpW@4
-RasHangUpWow@4
-RasInvokeEapUI@16
-RasIsRouterConnection@4
-RasIsSharedConnection@8
-RasLoadSharedAccessSettings@4
-RasNameFromSharedConnection@8
-RasQueryLanConnTable@12
-RasQueryRedialOnLinkFailure@12
-RasQuerySharedAutoDial@4
-RasQuerySharedConnection@4
-RasQuerySharedConnectionCredentials@8
-RasQuerySharedPrivateLan@4
-RasQuerySharedPrivateLanAddress@4
-RasRenameEntryA@12
-RasRenameEntryW@12
-RasSaveSharedAccessSettings@4
-RasSetAutodialAddressA@20
-RasSetAutodialAddressW@20
-RasSetAutodialEnableA@8
-RasSetAutodialEnableW@8
-RasSetAutodialParamA@12
-RasSetAutodialParamW@12
-RasSetCredentialsA@16
-RasSetCredentialsW@16
-RasSetCustomAuthDataA@16
-RasSetCustomAuthDataW@16
-RasSetEapUserDataA@20
-RasSetEapUserDataW@20
-RasSetEntryDialParamsA@12
-RasSetEntryDialParamsW@12
-RasSetEntryPropertiesA@24
-RasSetEntryPropertiesW@24
-RasSetOldPassword@8
-RasSetSharedAutoDial@4
-RasSetSharedConnectionCredentials@8
-RasSetSubEntryPropertiesA@28
-RasSetSubEntryPropertiesW@28
-RasShareConnection@8
-RasUnshareConnection@4
-RasValidateEntryNameA@8
-RasValidateEntryNameW@8
-RasfileClose@4
-RasfileDeleteLine@4
-RasfileFindFirstLine@12
-RasfileFindLastLine@12
-RasfileFindMarkedLine@8
-RasfileFindNextKeyLine@12
-RasfileFindNextLine@12
-RasfileFindPrevLine@12
-RasfileFindSectionLine@12
-RasfileGetKeyValueFields@12
-RasfileGetLine@4
-RasfileGetLineMark@4
-RasfileGetLineText@8
-RasfileGetLineType@4
-RasfileGetSectionName@8
-RasfileInsertLine@12
-RasfileLoad@16
-RasfileLoadInfo@8
-RasfilePutKeyValueFields@12
-RasfilePutLineMark@8
-RasfilePutLineText@8
-RasfilePutSectionName@8
-RasfileWrite@8
-SharedAccessResponseListToString@8
-SharedAccessResponseStringToList@12
-UnInitializeRAS@0
diff --git a/winsup/w32api/lib/rasdlg.def b/winsup/w32api/lib/rasdlg.def
deleted file mode 100644
index 099c1a777..000000000
--- a/winsup/w32api/lib/rasdlg.def
+++ /dev/null
@@ -1,8 +0,0 @@
-LIBRARY RASDLG.DLL
-EXPORTS
-RasDialDlgA@16
-RasDialDlgW@16
-RasEntryDlgA@12
-RasEntryDlgW@12
-RasPhonebookDlgA@12
-RasPhonebookDlgW@12
diff --git a/winsup/w32api/lib/res.rc b/winsup/w32api/lib/res.rc
deleted file mode 100644
index 1a3f751de..000000000
--- a/winsup/w32api/lib/res.rc
+++ /dev/null
@@ -1,6 +0,0 @@
-#include <windows.h>
-
-STRINGTABLE
-{
- 100 "Dummy string"
-}
diff --git a/winsup/w32api/lib/rpcdce4.def b/winsup/w32api/lib/rpcdce4.def
deleted file mode 100644
index 43e96a7f3..000000000
--- a/winsup/w32api/lib/rpcdce4.def
+++ /dev/null
@@ -1,26 +0,0 @@
-LIBRARY RPCDCE4.dll
-EXPORTS
-DceErrorInqTextA@8
-DceErrorInqTextW@8
-MIDL_user_allocate@4
-MIDL_user_free@4
-RpcBindingToStringBindingA@8
-RpcBindingToStringBindingW@8
-RpcMgmtEpEltInqBegin@24
-RpcMgmtEpEltInqDone@4
-RpcMgmtEpEltInqNextA@20
-RpcMgmtEpEltInqNextW@20
-RpcMgmtEpUnregister@16
-RpcMgmtInqIfIds@8
-RpcMgmtInqServerPrincNameA@12
-RpcMgmtInqServerPrincNameW@12
-RpcMgmtInqStats@8
-RpcMgmtIsServerListening@4
-RpcMgmtSetAuthorizationFn@4
-RpcMgmtStopServerListening@4
-RpcServerListen@12
-UuidCompare@12
-UuidCreateNil@4
-UuidEqual@12
-UuidHash@8
-UuidIsNil@8
diff --git a/winsup/w32api/lib/rpcns4.def b/winsup/w32api/lib/rpcns4.def
deleted file mode 100644
index 7d005c365..000000000
--- a/winsup/w32api/lib/rpcns4.def
+++ /dev/null
@@ -1,60 +0,0 @@
-LIBRARY RPCNS4.dll
-EXPORTS
-I_GetDefaultEntrySyntax@0
-I_RpcNsGetBuffer@4
-I_RpcNsRaiseException@8
-I_RpcNsSendReceive@8
-I_RpcReBindBuffer@4
-RpcIfIdVectorFree@4
-RpcNsBindingExportA@20
-RpcNsBindingExportW@20
-RpcNsBindingImportBeginA@20
-RpcNsBindingImportBeginW@20
-RpcNsBindingImportDone@4
-RpcNsBindingImportNext@8
-RpcNsBindingLookupBeginA@24
-RpcNsBindingLookupBeginW@24
-RpcNsBindingLookupDone@4
-RpcNsBindingLookupNext@8
-RpcNsBindingSelect@8
-RpcNsBindingUnexportA@16
-RpcNsBindingUnexportW@16
-RpcNsEntryExpandNameA@12
-RpcNsEntryExpandNameW@12
-RpcNsEntryObjectInqBeginA@12
-RpcNsEntryObjectInqBeginW@12
-RpcNsEntryObjectInqDone@4
-RpcNsEntryObjectInqNext@8
-RpcNsGroupDeleteA@8
-RpcNsGroupDeleteW@8
-RpcNsGroupMbrAddA@16
-RpcNsGroupMbrAddW@16
-RpcNsGroupMbrInqBeginA@16
-RpcNsGroupMbrInqBeginW@16
-RpcNsGroupMbrInqDone@4
-RpcNsGroupMbrInqNextA@8
-RpcNsGroupMbrInqNextW@8
-RpcNsGroupMbrRemoveA@16
-RpcNsGroupMbrRemoveW@16
-RpcNsMgmtBindingUnexportA@20
-RpcNsMgmtBindingUnexportW@20
-RpcNsMgmtEntryCreateA@8
-RpcNsMgmtEntryCreateW@8
-RpcNsMgmtEntryDeleteA@8
-RpcNsMgmtEntryDeleteW@8
-RpcNsMgmtEntryInqIfIdsA@12
-RpcNsMgmtEntryInqIfIdsW@12
-RpcNsMgmtHandleSetExpAge@8
-RpcNsMgmtInqExpAge@4
-RpcNsMgmtSetExpAge@4
-RpcNsProfileDeleteA@8
-RpcNsProfileDeleteW@8
-RpcNsProfileEltAddA@28
-RpcNsProfileEltAddW@28
-RpcNsProfileEltInqBeginA@32
-RpcNsProfileEltInqBeginW@32
-RpcNsProfileEltInqDone@4
-RpcNsProfileEltInqNextA@20
-RpcNsProfileEltInqNextW@20
-RpcNsProfileEltRemoveA@20
-RpcNsProfileEltRemoveW@20
diff --git a/winsup/w32api/lib/rpcrt4.def b/winsup/w32api/lib/rpcrt4.def
deleted file mode 100644
index cc47f7d25..000000000
--- a/winsup/w32api/lib/rpcrt4.def
+++ /dev/null
@@ -1,373 +0,0 @@
-LIBRARY RPCRT4.dll
-EXPORTS
-CStdStubBuffer_AddRef@4
-CStdStubBuffer_Connect@8
-CStdStubBuffer_CountRefs@4
-CStdStubBuffer_DebugServerQueryInterface@8
-CStdStubBuffer_DebugServerRelease@8
-CStdStubBuffer_Disconnect@4
-CStdStubBuffer_Invoke@12
-CStdStubBuffer_IsIIDSupported@8
-CStdStubBuffer_QueryInterface@12
-DceErrorInqTextA@8
-DceErrorInqTextW@8
-IUnknown_AddRef_Proxy@4
-IUnknown_QueryInterface_Proxy@12
-IUnknown_Release_Proxy@4
-I_RpcAllocate@4
-I_RpcBindingCopy@8
-I_RpcBindingInqDynamicEndpoint@8
-I_RpcBindingInqTransportType@8
-I_RpcBindingIsClientLocal@8
-I_RpcClearMutex@4
-I_RpcConnectionInqSockBuffSize2@4
-I_RpcConnectionInqSockBuffSize@8
-I_RpcConnectionSetSockBuffSize@8
-I_RpcDeleteMutex@4
-I_RpcFree@4
-I_RpcFreeBuffer@4
-I_RpcGetAssociationContext@4
-_imp__I_RpcGetAssociationContext@4
-I_RpcGetBuffer@4
-I_RpcGetCurrentCallHandle@0
-I_RpcIOAlerted@4
-I_RpcIfInqTransferSyntaxes@16
-I_RpcMapWin32Status@4
-I_RpcMonitorAssociation@12
-I_RpcNsBindingSetEntryName@12
-I_RpcParseSecurity@8
-I_RpcPauseExecution@4
-I_RpcRequestMutex@4
-I_RpcSendReceive@4
-I_RpcServerRegisterForwardFunction@4
-I_RpcSetAssociationContext@4
-_imp__I_RpcSetAssociationContext@4
-I_RpcSsDontSerializeContext@0
-_imp__I_RpcSsDontSerializeContext@0
-I_RpcStopMonitorAssociation@4
-I_RpcTransClientMaxFrag@4
-I_RpcTransClientReallocBuffer@16
-I_RpcTransServerFindConnection@8
-I_RpcTransServerFreeBuffer@8
-I_RpcTransServerMaxFrag@4
-I_RpcTransServerNewConnection@12
-I_RpcTransServerProtectThread@0
-I_RpcTransServerReallocBuffer@16
-I_RpcTransServerReceiveDirectReady@4
-I_RpcTransServerUnprotectThread@4
-I_UuidCreate@4
-MIDL_wchar_strcpy@8
-MIDL_wchar_strlen@4
-MesBufferHandleReset@24
-MesDecodeBufferHandleCreate@12
-MesDecodeIncrementalHandleCreate@12
-MesEncodeDynBufferHandleCreate@12
-MesEncodeFixedBufferHandleCreate@16
-MesEncodeIncrementalHandleCreate@16
-MesHandleFree@4
-MesIncrementalHandleReset@24
-MesInqProcEncodingId@12
-NDRCContextBinding@4
-_imp__NDRCContextBinding@4
-NDRCContextMarshall@8
-_imp__NDRCContextMarshall@8
-NDRCContextUnmarshall@16
-_imp__NDRCContextUnmarshall@16
-NDRSContextMarshall@12
-_imp__NDRSContextMarshall@12
-NDRSContextUnmarshall@8
-_imp__NDRSContextUnmarshall@8
-NDRcopy@12
-NdrAllocate@8
-NdrByteCountPointerBufferSize@12
-NdrByteCountPointerFree@12
-NdrByteCountPointerMarshall@12
-NdrByteCountPointerUnmarshall@16
-NdrCStdStubBuffer2_Release@8
-NdrCStdStubBuffer_Release@8
-NdrClearOutParameters@12
-NdrClientCall
-NdrClientContextMarshall@12
-_imp__NdrClientContextMarshall@12
-NdrClientContextUnmarshall@12
-_imp__NdrClientContextUnmarshall@12
-NdrClientInitialize@16
-NdrClientInitializeNew@16
-NdrComplexArrayBufferSize@12
-NdrComplexArrayFree@12
-NdrComplexArrayMarshall@12
-NdrComplexArrayMemorySize@8
-NdrComplexArrayUnmarshall@16
-NdrComplexStructBufferSize@12
-NdrComplexStructFree@12
-NdrComplexStructMarshall@12
-NdrComplexStructMemorySize@8
-NdrComplexStructUnmarshall@16
-NdrConformantArrayBufferSize@12
-NdrConformantArrayFree@12
-NdrConformantArrayMarshall@12
-NdrConformantArrayMemorySize@8
-NdrConformantArrayUnmarshall@16
-NdrConformantStringBufferSize@12
-NdrConformantStringMarshall@12
-NdrConformantStringMemorySize@8
-NdrConformantStringUnmarshall@16
-NdrConformantStructBufferSize@12
-NdrConformantStructFree@12
-NdrConformantStructMarshall@12
-NdrConformantStructMemorySize@8
-NdrConformantStructUnmarshall@16
-NdrConformantVaryingArrayBufferSize@12
-NdrConformantVaryingArrayFree@12
-NdrConformantVaryingArrayMarshall@12
-NdrConformantVaryingArrayMemorySize@8
-NdrConformantVaryingArrayUnmarshall@16
-NdrConformantVaryingStructBufferSize@12
-NdrConformantVaryingStructFree@12
-NdrConformantVaryingStructMarshall@12
-NdrConformantVaryingStructMemorySize@8
-NdrConformantVaryingStructUnmarshall@16
-NdrContextHandleSize@12
-_imp__NdrContextHandleSize@12
-NdrConvert@8
-NdrDllCanUnloadNow@4
-NdrDllGetClassObject@24
-NdrDllRegisterProxy@12
-NdrDllUnregisterProxy@12
-NdrEncapsulatedUnionBufferSize@12
-NdrEncapsulatedUnionFree@12
-NdrEncapsulatedUnionMarshall@12
-NdrEncapsulatedUnionMemorySize@8
-NdrEncapsulatedUnionUnmarshall@16
-NdrFixedArrayBufferSize@12
-NdrFixedArrayFree@12
-NdrFixedArrayMarshall@12
-NdrFixedArrayMemorySize@8
-NdrFixedArrayUnmarshall@16
-NdrFreeBuffer@4
-NdrFullPointerFree@8
-NdrFullPointerInsertRefId@12
-NdrFullPointerQueryPointer@16
-NdrFullPointerQueryRefId@16
-NdrFullPointerXlatFree@4
-NdrFullPointerXlatInit@8
-NdrGetBuffer@12
-NdrHardStructBufferSize@12
-NdrHardStructFree@12
-NdrHardStructMarshall@12
-NdrHardStructMemorySize@8
-NdrHardStructUnmarshall@16
-NdrInterfacePointerBufferSize@12
-NdrInterfacePointerFree@12
-NdrInterfacePointerMarshall@12
-NdrInterfacePointerMemorySize@8
-NdrInterfacePointerUnmarshall@16
-NdrMapCommAndFaultStatus@16
-NdrMesProcEncodeDecode
-NdrMesSimpleTypeAlignSize@4
-NdrMesSimpleTypeDecode@12
-NdrMesSimpleTypeEncode@16
-NdrMesTypeAlignSize@16
-NdrMesTypeDecode@16
-NdrMesTypeEncode@16
-NdrNonConformantStringBufferSize@12
-NdrNonConformantStringMarshall@12
-NdrNonConformantStringMemorySize@8
-NdrNonConformantStringUnmarshall@16
-NdrNonEncapsulatedUnionBufferSize@12
-NdrNonEncapsulatedUnionFree@12
-NdrNonEncapsulatedUnionMarshall@12
-NdrNonEncapsulatedUnionMemorySize@8
-NdrNonEncapsulatedUnionUnmarshall@16
-NdrNsGetBuffer@12
-NdrNsSendReceive@12
-NdrOleAllocate@4
-NdrOleFree@4
-NdrPointerBufferSize@12
-NdrPointerFree@12
-NdrPointerMarshall@12
-NdrPointerMemorySize@8
-NdrPointerUnmarshall@16
-NdrProxyErrorHandler@4
-NdrProxyFreeBuffer@8
-NdrProxyGetBuffer@8
-NdrProxyInitialize@20
-NdrProxySendReceive@8
-NdrRpcSmClientAllocate@4
-NdrRpcSmClientFree@4
-NdrRpcSmSetClientToOsf@4
-NdrRpcSsDefaultAllocate@4
-NdrRpcSsDefaultFree@4
-NdrRpcSsDisableAllocate@4
-NdrRpcSsEnableAllocate@4
-NdrSendReceive@8
-NdrServerCall@4
-NdrServerContextMarshall@12
-_imp__NdrServerContextMarshall@12
-NdrServerContextUnmarshall@4
-_imp__NdrServerContextUnmarshall@4
-NdrServerInitialize@12
-NdrServerInitializeMarshall@8
-NdrServerInitializeNew@12
-NdrServerInitializeUnmarshall@12
-NdrServerMarshall@16
-NdrServerUnmarshall@24
-NdrSimpleStructBufferSize@12
-NdrSimpleStructFree@12
-NdrSimpleStructMarshall@12
-NdrSimpleStructMemorySize@8
-NdrSimpleStructUnmarshall@16
-NdrSimpleTypeMarshall@12
-NdrSimpleTypeUnmarshall@12
-NdrStubCall@16
-NdrStubForwardingFunction@16
-NdrStubGetBuffer@12
-NdrStubInitialize@16
-NdrStubInitializeMarshall@12
-NdrVaryingArrayBufferSize@12
-NdrVaryingArrayFree@12
-NdrVaryingArrayMarshall@12
-NdrVaryingArrayMemorySize@8
-NdrVaryingArrayUnmarshall@16
-NdrXmitOrRepAsBufferSize@12
-NdrXmitOrRepAsFree@12
-NdrXmitOrRepAsMarshall@12
-NdrXmitOrRepAsMemorySize@8
-NdrXmitOrRepAsUnmarshall@16
-RpcBindingCopy@8
-RpcBindingFree@4
-RpcBindingFromStringBindingA@8
-RpcBindingFromStringBindingW@8
-RpcBindingInqAuthClientA@24
-RpcBindingInqAuthClientW@24
-RpcBindingInqAuthInfoA@24
-RpcBindingInqAuthInfoW@24
-RpcBindingInqObject@8
-RpcBindingReset@4
-RpcBindingServerFromClient@8
-RpcBindingSetAuthInfoA@24
-RpcBindingSetAuthInfoW@24
-RpcBindingSetObject@8
-RpcBindingToStringBindingA@8
-RpcBindingToStringBindingW@8
-RpcBindingVectorFree@4
-RpcCancelThread@4
-RpcEpRegisterA@16
-RpcEpRegisterNoReplaceA@16
-RpcEpRegisterNoReplaceW@16
-RpcEpRegisterW@16
-RpcEpResolveBinding@8
-RpcEpUnregister@12
-RpcIfIdVectorFree@4
-RpcIfInqId@8
-RpcImpersonateClient@4
-RpcMgmtEnableIdleCleanup@0
-RpcMgmtEpEltInqBegin@24
-RpcMgmtEpEltInqDone@4
-RpcMgmtEpEltInqNextA@20
-RpcMgmtEpEltInqNextW@20
-RpcMgmtEpUnregister@16
-RpcMgmtInqComTimeout@8
-RpcMgmtInqDefaultProtectLevel@8
-RpcMgmtInqIfIds@8
-RpcMgmtInqServerPrincNameA@12
-RpcMgmtInqServerPrincNameW@12
-RpcMgmtInqStats@8
-RpcMgmtIsServerListening@4
-RpcMgmtSetAuthorizationFn@4
-RpcMgmtSetCancelTimeout@4
-RpcMgmtSetComTimeout@8
-RpcMgmtSetServerStackSize@4
-RpcMgmtStatsVectorFree@4
-RpcMgmtStopServerListening@4
-RpcMgmtWaitServerListen@0
-RpcNetworkInqProtseqsA@4
-RpcNetworkInqProtseqsW@4
-RpcNetworkIsProtseqValidA@4
-RpcNetworkIsProtseqValidW@4
-RpcNsBindingInqEntryNameA@12
-RpcNsBindingInqEntryNameW@12
-RpcObjectInqType@8
-RpcObjectSetInqFn@4
-RpcObjectSetType@8
-RpcProtseqVectorFreeA@4
-RpcProtseqVectorFreeW@4
-RpcRaiseException@4
-RpcRevertToSelf@0
-RpcServerInqBindings@4
-RpcServerInqDefaultPrincNameA@8
-RpcServerInqDefaultPrincNameW@8
-RpcServerInqIf@12
-RpcServerListen@12
-RpcServerRegisterAuthInfoA@16
-RpcServerRegisterAuthInfoW@16
-RpcServerRegisterIf@12
-RpcServerUnregisterIf@12
-RpcServerUseAllProtseqs@8
-RpcServerUseAllProtseqsIf@12
-RpcServerUseProtseqA@12
-RpcServerUseProtseqEpA@16
-RpcServerUseProtseqEpW@16
-RpcServerUseProtseqIfA@16
-RpcServerUseProtseqIfW@16
-RpcServerUseProtseqW@12
-RpcSmAllocate@8
-RpcSmClientFree@4
-RpcSmDestroyClientContext@4
-_imp__RpcSmDestroyClientContext@4
-RpcSmDisableAllocate@0
-RpcSmEnableAllocate@0
-RpcSmFree@4
-RpcSmGetThreadHandle@4
-RpcSmSetClientAllocFree@8
-RpcSmSetThreadHandle@4
-RpcSmSwapClientAllocFree@16
-RpcSsAllocate@4
-RpcSsDestroyClientContext@4
-_imp__RpcSsDestroyClientContext@4
-RpcSsDisableAllocate@0
-RpcSsEnableAllocate@0
-RpcSsFree@4
-RpcSsGetThreadHandle@0
-RpcSsSetClientAllocFree@8
-RpcSsSetThreadHandle@4
-RpcSsSwapClientAllocFree@16
-RpcStringBindingComposeA@24
-RpcStringBindingComposeW@24
-RpcStringBindingParseA@24
-RpcStringBindingParseW@24
-RpcStringFreeA@4
-RpcStringFreeW@4
-RpcTestCancel@0
-TowerConstruct@24
-TowerExplode@24
-UuidCompare@12
-UuidCreate@4
-UuidCreateNil@4
-UuidCreateSequential@4
-UuidEqual@12
-UuidFromStringA@8
-UuidFromStringW@8
-UuidHash@8
-UuidIsNil@8
-UuidToStringA@8
-UuidToStringW@8
-char_array_from_ndr@16
-char_from_ndr@8
-data_from_ndr@16
-data_into_ndr@16
-data_size_ndr@16
-double_array_from_ndr@16
-double_from_ndr@8
-enum_from_ndr@8
-float_array_from_ndr@16
-float_from_ndr@8
-long_array_from_ndr@16
-long_from_ndr@8
-long_from_ndr_temp@12
-short_array_from_ndr@16
-short_from_ndr@8
-short_from_ndr_temp@12
-tree_into_ndr@16
-tree_peek_ndr@16
-tree_size_ndr@16
diff --git a/winsup/w32api/lib/scrnsave.c b/winsup/w32api/lib/scrnsave.c
deleted file mode 100644
index 53e555d7d..000000000
--- a/winsup/w32api/lib/scrnsave.c
+++ /dev/null
@@ -1,407 +0,0 @@
-/*
- Screen saver library by Anders Norlander <anorland@hem2.passagen.se>
-
- This library is (hopefully) compatible with Microsoft's
- screen saver library.
-
- This is public domain software.
-
- */
-#include <windows.h>
-#include <scrnsave.h>
-#include <regstr.h>
-
-/* screen saver window class */
-#define CLASS_SCRNSAVE TEXT("WindowsScreenSaverClass")
-
-/* globals */
-HWND hMainWindow = NULL;
-BOOL fChildPreview = FALSE;
-HINSTANCE hMainInstance;
-TCHAR szName[TITLEBARNAMELEN];
-TCHAR szAppName[APPNAMEBUFFERLEN];
-TCHAR szIniFile[MAXFILELEN];
-TCHAR szScreenSaver[22];
-TCHAR szHelpFile[MAXFILELEN];
-TCHAR szNoHelpMemory[BUFFLEN];
-UINT MyHelpMessage;
-
-/* local house keeping */
-static HINSTANCE hPwdLib = NULL;
-static POINT pt_orig;
-static BOOL checking_pwd = FALSE;
-static BOOL closing = FALSE;
-static BOOL w95 = FALSE;
-
-typedef BOOL (WINAPI *VERIFYPWDPROC)(HWND);
-typedef DWORD (WINAPI *CHPWDPROC)(LPCTSTR, HWND, DWORD, PVOID);
-static VERIFYPWDPROC VerifyScreenSavePwd = NULL;
-
-/* function names */
-#define szVerifyPassword "VerifyScreenSavePwd"
-
-#ifdef UNICODE
-#define szPwdChangePassword "PwdChangePasswordW"
-#else
-#define szPwdChangePassword "PwdChangePasswordA"
-#endif
-
-static void TerminateScreenSaver(HWND hWnd);
-static BOOL RegisterClasses(void);
-static LRESULT WINAPI SysScreenSaverProc(HWND,UINT,WPARAM,LPARAM);
-static int LaunchScreenSaver(HWND hParent);
-static void LaunchConfig(void);
-
-static int ISSPACE(char c)
-{
- return (c == ' ' || c == '\t');
-}
-
-#define ISNUM(c) ((c) >= '0' && c <= '9')
-static unsigned long
-_toul(const char *s)
-{
- unsigned long res;
- unsigned long n;
- const char *p;
- for (p = s; *p; p++)
- if (!ISNUM(*p)) break;
- p--;
- res = 0;
- for (n = 1; p >= s; p--, n *= 10)
- res += (*p - '0') * n;
- return res;
-}
-
-/* screen saver entry point */
-int APIENTRY WinMain(HINSTANCE hInst, HINSTANCE hPrevInst,
- LPSTR CmdLine, int nCmdShow)
-{
- LPSTR p;
- OSVERSIONINFO vi;
-
- /* initialize */
- hMainInstance = hInst;
-
- vi.dwOSVersionInfoSize = sizeof(vi);
- GetVersionEx(&vi);
- /* check if we are going to check for passwords */
- if (vi.dwPlatformId == VER_PLATFORM_WIN32_WINDOWS)
- {
- HKEY hKey;
- /* we are using windows 95 */
- w95 = TRUE;
- if (RegOpenKey(HKEY_CURRENT_USER, REGSTR_PATH_SCREENSAVE ,&hKey) ==
- ERROR_SUCCESS)
- {
- DWORD check_pwd;
- DWORD size = sizeof(DWORD);
- DWORD type;
- LONG res;
- res = RegQueryValueEx(hKey, REGSTR_VALUE_USESCRPASSWORD,
- NULL, &type, (PBYTE) &check_pwd, &size);
- if (check_pwd && res == ERROR_SUCCESS)
- {
- hPwdLib = LoadLibrary(TEXT("PASSWORD.CPL"));
- if (hPwdLib)
- VerifyScreenSavePwd = GetProcAddress(hPwdLib, szVerifyPassword);
- }
- RegCloseKey(hKey);
- }
- }
-
- /* parse arguments */
- for (p = CmdLine; *p; p++)
- {
- switch (*p)
- {
- case 'S':
- case 's':
- /* start screen saver */
- return LaunchScreenSaver(NULL);
-
- case 'P':
- case 'p':
- {
- /* start screen saver in preview window */
- HWND hParent;
- fChildPreview = TRUE;
- while (ISSPACE(*++p));
- hParent = (HWND) _toul(p);
- if (hParent && IsWindow(hParent))
- return LaunchScreenSaver(hParent);
- }
- return 0;
-
- case 'C':
- case 'c':
- /* display configure dialog */
- LaunchConfig();
- return 0;
-
- case 'A':
- case 'a':
- {
- /* change screen saver password */
- HWND hParent;
- while (ISSPACE(*++p));
- hParent = (HWND) _toul(p);
- if (!hParent || !IsWindow(hParent))
- hParent = GetForegroundWindow();
- ScreenSaverChangePassword(hParent);
- }
- return 0;
-
- case '-':
- case '/':
- case ' ':
- default:
- break;
- }
- }
- LaunchConfig();
- return 0;
-}
-
-static void LaunchConfig(void)
-{
- /* FIXME: should this be called */
- RegisterDialogClasses(hMainInstance);
- /* display configure dialog */
- DialogBox(hMainInstance, MAKEINTRESOURCE(DLG_SCRNSAVECONFIGURE),
- GetForegroundWindow(), (DLGPROC) ScreenSaverConfigureDialog);
-}
-
-
-static int LaunchScreenSaver(HWND hParent)
-{
- BOOL foo;
- UINT style;
- RECT rc;
- MSG msg;
-
- /* don't allow other tasks to get into the foreground */
- if (w95 && !fChildPreview)
- SystemParametersInfo(SPI_SCREENSAVERRUNNING, TRUE, &foo, 0);
-
- msg.wParam = 0;
-
- /* register classes, both user defined and classes used by screen saver
- library */
- if (!RegisterClasses())
- {
- MessageBox(NULL, TEXT("RegisterClasses() failed"), NULL, MB_ICONHAND);
- goto restore;
- }
-
- /* a slightly different approach needs to be used when displaying
- in a preview window */
- if (hParent)
- {
- style = WS_CHILD;
- GetClientRect(hParent, &rc);
- }
- else
- {
- style = WS_POPUP;
- rc.right = GetSystemMetrics(SM_CXSCREEN);
- rc.bottom = GetSystemMetrics(SM_CYSCREEN);
- style |= WS_VISIBLE;
- }
-
- /* create main screen saver window */
- hMainWindow = CreateWindowEx(hParent ? 0 : WS_EX_TOPMOST, CLASS_SCRNSAVE,
- TEXT("SCREENSAVER"), style,
- 0, 0, rc.right, rc.bottom, hParent, NULL,
- hMainInstance, NULL);
-
- /* display window and start pumping messages */
- if (hMainWindow)
- {
- UpdateWindow(hMainWindow);
- ShowWindow(hMainWindow, SW_SHOW);
-
- while (GetMessage(&msg, NULL, 0, 0) == TRUE)
- {
- TranslateMessage(&msg);
- DispatchMessage(&msg);
- }
- }
-
-restore:
- /* restore system */
- if (w95 && !fChildPreview)
- SystemParametersInfo(SPI_SCREENSAVERRUNNING, FALSE, &foo, 0);
- FreeLibrary(hPwdLib);
- return msg.wParam;
-}
-
-/* this function takes care of *must* do tasks, like terminating
- screen saver */
-static LRESULT WINAPI SysScreenSaverProc(HWND hWnd, UINT msg,
- WPARAM wParam, LPARAM lParam)
-{
- switch (msg)
- {
- case WM_CREATE:
- if (!fChildPreview)
- SetCursor(NULL);
- /* mouse is not supposed to move from this position */
- GetCursorPos(&pt_orig);
- break;
- case WM_DESTROY:
- PostQuitMessage(0);
- break;
- case WM_TIMER:
- if (closing)
- return 0;
- break;
- case WM_PAINT:
- if (closing)
- return DefWindowProc(hWnd, msg, wParam, lParam);
- break;
- case WM_SYSCOMMAND:
- if (!fChildPreview)
- switch (wParam)
- {
- case SC_CLOSE:
- case SC_SCREENSAVE:
- case SC_NEXTWINDOW:
- case SC_PREVWINDOW:
- return FALSE;
- }
- break;
- case WM_MOUSEMOVE:
- case WM_LBUTTONDOWN:
- case WM_RBUTTONDOWN:
- case WM_MBUTTONDOWN:
- case WM_KEYDOWN:
- case WM_SYSKEYDOWN:
- case WM_NCACTIVATE:
- case WM_ACTIVATE:
- case WM_ACTIVATEAPP:
- if (closing)
- return DefWindowProc(hWnd, msg, wParam, lParam);
- break;
- }
- return ScreenSaverProc(hWnd, msg, wParam, lParam);
-}
-
-LONG WINAPI DefScreenSaverProc(HWND hWnd, UINT msg,
- WPARAM wParam, LPARAM lParam)
-{
- /* don't do any special processing when in preview mode */
- if (fChildPreview || closing)
- return DefWindowProc(hWnd, msg, wParam, lParam);
-
- switch (msg)
- {
- case WM_CLOSE:
- TerminateScreenSaver(hWnd);
- /* do NOT pass this to DefWindowProc; it will terminate even if
- an invalid password was given.
- */
- return 0;
- case SCRM_VERIFYPW:
- /* verify password or return TRUE if password checking is turned off */
- if (VerifyScreenSavePwd)
- return VerifyScreenSavePwd(hWnd);
- else
- return TRUE;
- case WM_SETCURSOR:
- if (checking_pwd)
- break;
- SetCursor(NULL);
- return TRUE;
- case WM_NCACTIVATE:
- case WM_ACTIVATE:
- case WM_ACTIVATEAPP:
- if (wParam != FALSE)
- break;
- case WM_MOUSEMOVE:
- {
- POINT pt;
- GetCursorPos(&pt);
- if (pt.x == pt_orig.x && pt.y == pt_orig.y)
- break;
- }
- case WM_LBUTTONDOWN:
- case WM_RBUTTONDOWN:
- case WM_MBUTTONDOWN:
- case WM_KEYDOWN:
- case WM_SYSKEYDOWN:
- /* try to terminate screen saver */
- if (!checking_pwd)
- PostMessage(hWnd, WM_CLOSE, 0, 0);
- break;
- }
- return DefWindowProc(hWnd, msg, wParam, lParam);
-}
-
-static void TerminateScreenSaver(HWND hWnd)
-{
- /* don't allow recursion */
- if (checking_pwd || closing)
- return;
-
- /* verify password */
- if (VerifyScreenSavePwd)
- {
- checking_pwd = TRUE;
- closing = SendMessage(hWnd, SCRM_VERIFYPW, 0, 0);
- checking_pwd = FALSE;
- }
- else
- closing = TRUE;
-
- /* are we closing? */
- if (closing)
- {
- DestroyWindow(hWnd);
- }
- else
- GetCursorPos(&pt_orig); /* if not: get new mouse position */
-}
-
-/*
- Register screen saver window class and call user
- supplied hook.
- */
-static BOOL RegisterClasses(void)
-{
- WNDCLASS cls;
-
- cls.hCursor = NULL;
- cls.hIcon = LoadIcon(hMainInstance, MAKEINTATOM(ID_APP));
- cls.lpszMenuName = NULL;
- cls.lpszClassName = CLASS_SCRNSAVE;
- cls.hbrBackground = GetStockObject(BLACK_BRUSH);
- cls.hInstance = hMainInstance;
- cls.style = CS_VREDRAW | CS_HREDRAW | CS_SAVEBITS | CS_PARENTDC;
- cls.lpfnWndProc = (WNDPROC) SysScreenSaverProc;
- cls.cbWndExtra = 0;
- cls.cbClsExtra = 0;
-
- if (!RegisterClass(&cls))
- return FALSE;
-
- return RegisterDialogClasses(hMainInstance);
-}
-
-void WINAPI ScreenSaverChangePassword(HWND hParent)
-{
- /* load Master Password Router (MPR) */
- HINSTANCE hMpr = LoadLibrary(TEXT("MPR.DLL"));
-
- if (hMpr)
- {
- CHPWDPROC ChangePassword;
- ChangePassword = (CHPWDPROC) GetProcAddress(hMpr, szPwdChangePassword);
-
- /* change password for screen saver provider */
- if (ChangePassword)
- ChangePassword(TEXT("SCRSAVE"), hParent, 0, NULL);
-
- FreeLibrary(hMpr);
- }
-}
diff --git a/winsup/w32api/lib/secur32.def b/winsup/w32api/lib/secur32.def
deleted file mode 100644
index 2628f05cf..000000000
--- a/winsup/w32api/lib/secur32.def
+++ /dev/null
@@ -1,39 +0,0 @@
-LIBRARY SECUR32.dll
-EXPORTS
-AcceptSecurityContext@36
-AcquireCredentialsHandleA@36
-AcquireCredentialsHandleW@36
-ApplyControlTokenA@8
-ApplyControlTokenW@8
-CompleteAuthToken@8
-DecryptMessage@16
-DeleteSecurityContext@4
-EncryptMessage@16
-EnumerateSecurityPackagesA@8
-EnumerateSecurityPackagesW@8
-FreeContextBuffer@4
-FreeCredentialsHandle@4
-GetComputerObjectNameA@12
-GetComputerObjectNameW@12
-GetUserNameExA@12
-GetUserNameExW@12
-ImpersonateSecurityContext@4
-InitializeSecurityContextA@48
-InitializeSecurityContextW@48
-LsaCallAuthenticationPackage@28
-LsaDeregisterLogonProcess@4
-LsaFreeReturnBuffer@4
-LsaLogonUser@56
-LsaLookupAuthenticationPackage@12
-LsaRegisterLogonProcess@12
-MakeSignature@16
-QueryContextAttributesA@12
-QueryContextAttributesW@12
-QueryCredentialsAttributesA@12
-QueryCredentialsAttributesW@12
-QuerySecurityPackageInfoA@8
-QuerySecurityPackageInfoW@8
-RevertSecurityContext@4
-TranslateNameA@20
-TranslateNameW@20
-VerifySignature@16
diff --git a/winsup/w32api/lib/setupapi.def b/winsup/w32api/lib/setupapi.def
deleted file mode 100644
index 3dc7fdc62..000000000
--- a/winsup/w32api/lib/setupapi.def
+++ /dev/null
@@ -1,379 +0,0 @@
-LIBRARY setupapi.dll
-EXPORTS
-AcquireSCMLock@8
-AddMiniIconToList@8
-AddTagToGroupOrderListEntry@12
-AppendStringToMultiSz@24
-AssertFail@12
-CM_Request_Device_EjectA@20
-CM_Request_Device_EjectW@20
-CM_Request_Device_Eject_ExA@24
-CM_Request_Device_Eject_ExW@24
-CaptureAndConvertAnsiArg@8
-CaptureStringArg@8
-CenterWindowRelativeToParent@4
-ConcatenatePaths@16
-DelayedMove@8
-DelimStringToMultiSz@12
-DestroyTextFileReadBuffer@4
-DoInstallActionWithParams@24
-DoesUserHavePrivilege@4
-DuplicateString@4
-EnablePrivilege@8
-ExtensionPropSheetPageProc@12
-FileExists@8
-FreeStringArray@8
-GetCurrentDriverSigningPolicy@4
-GetSetFileTimestamp@20
-GetVersionInfoFromImage@12
-HandleFailedVerification@40
-InfIsFromOemLocation@8
-InstallCatalog@12
-InstallHinfSection@16
-InstallHinfSectionA@16
-InstallHinfSectionW@16
-InstallStop@4
-InstallStopEx@12
-IsUserAdmin@0
-LookUpStringInTable@12
-MemoryInitialize@4
-MultiByteToUnicode@8
-MultiSzFromSearchControl@16
-MyFree@4
-MyGetFileTitle@4
-MyMalloc@4
-MyRealloc@8
-OpenAndMapFileForRead@20
-OutOfMemory@4
-QueryMultiSzValueToArray@24
-QueryRegistryValue@20
-ReadAsciiOrUnicodeTextFile@8
-RegistryDelnode@8
-RetreiveFileSecurity@8
-RetrieveServiceConfig@8
-SearchForInfFile@24
-SetArrayToMultiSzValue@20
-SetupAddInstallSectionToDiskSpaceListA@24
-SetupAddInstallSectionToDiskSpaceListW@24
-SetupAddSectionToDiskSpaceListA@28
-SetupAddSectionToDiskSpaceListW@28
-SetupAddToDiskSpaceListA@28
-SetupAddToDiskSpaceListW@28
-SetupAddToSourceListA@8
-SetupAddToSourceListW@8
-SetupAdjustDiskSpaceListA@24
-SetupAdjustDiskSpaceListW@24
-SetupBackupErrorA@24
-SetupBackupErrorW@24
-SetupCancelTemporarySourceList@0
-SetupCloseFileQueue@4
-SetupCloseInfFile@4
-SetupCloseLog@0
-SetupCommitFileQueue@16
-SetupCommitFileQueueA@16
-SetupCommitFileQueueW@16
-SetupCopyErrorA@44
-SetupCopyErrorW@44
-SetupCopyOEMInfA@32
-SetupCopyOEMInfW@32
-SetupCreateDiskSpaceListA@12
-SetupCreateDiskSpaceListW@12
-SetupDecompressOrCopyFileA@12
-SetupDecompressOrCopyFileW@12
-SetupDefaultQueueCallback@16
-SetupDefaultQueueCallbackA@16
-SetupDefaultQueueCallbackW@16
-SetupDeleteErrorA@20
-SetupDeleteErrorW@20
-SetupDestroyDiskSpaceList@4
-SetupDiAskForOEMDisk@8
-SetupDiBuildClassInfoList@16
-SetupDiBuildClassInfoListExA@24
-SetupDiBuildClassInfoListExW@24
-SetupDiBuildDriverInfoList@12
-SetupDiCallClassInstaller@12
-SetupDiCancelDriverInfoSearch@4
-SetupDiChangeState@8
-SetupDiClassGuidsFromNameA@16
-SetupDiClassGuidsFromNameExA@24
-SetupDiClassGuidsFromNameExW@24
-SetupDiClassGuidsFromNameW@16
-SetupDiClassNameFromGuidA@16
-SetupDiClassNameFromGuidExA@24
-SetupDiClassNameFromGuidExW@24
-SetupDiClassNameFromGuidW@16
-SetupDiCreateDevRegKeyA@28
-SetupDiCreateDevRegKeyW@28
-SetupDiCreateDeviceInfoA@28
-SetupDiCreateDeviceInfoList@8
-SetupDiCreateDeviceInfoListExA@16
-SetupDiCreateDeviceInfoListExW@16
-SetupDiCreateDeviceInfoW@28
-SetupDiCreateDeviceInterfaceA@24
-SetupDiCreateDeviceInterfaceRegKeyA@24
-SetupDiCreateDeviceInterfaceRegKeyW@24
-SetupDiCreateDeviceInterfaceW@24
-SetupDiDeleteDevRegKey@20
-SetupDiDeleteDeviceInfo@8
-SetupDiDeleteDeviceInterfaceData@8
-SetupDiDeleteDeviceInterfaceRegKey@12
-SetupDiDestroyClassImageList@4
-SetupDiDestroyDeviceInfoList@4
-SetupDiDestroyDriverInfoList@12
-SetupDiDrawMiniIcon@28
-SetupDiEnumDeviceInfo@12
-SetupDiEnumDeviceInterfaces@20
-SetupDiEnumDriverInfoA@20
-SetupDiEnumDriverInfoW@20
-SetupDiGetActualSectionToInstallA@24
-SetupDiGetActualSectionToInstallW@24
-SetupDiGetClassBitmapIndex@8
-SetupDiGetClassDescriptionA@16
-SetupDiGetClassDescriptionExA@24
-SetupDiGetClassDescriptionExW@24
-SetupDiGetClassDescriptionW@16
-SetupDiGetClassDevPropertySheetsA@24
-SetupDiGetClassDevPropertySheetsW@24
-SetupDiGetClassDevsA@16
-SetupDiGetClassDevsExA@28
-SetupDiGetClassDevsExW@28
-SetupDiGetClassDevsW@16
-SetupDiGetClassImageIndex@12
-SetupDiGetClassImageList@4
-SetupDiGetClassImageListExA@12
-SetupDiGetClassImageListExW@12
-SetupDiGetClassInstallParamsA@20
-SetupDiGetClassInstallParamsW@20
-SetupDiGetDeviceInfoListClass@8
-SetupDiGetDeviceInfoListDetailA@8
-SetupDiGetDeviceInfoListDetailW@8
-SetupDiGetDeviceInstallParamsA@12
-SetupDiGetDeviceInstallParamsW@12
-SetupDiGetDeviceInstanceIdA@20
-SetupDiGetDeviceInstanceIdW@20
-SetupDiGetDeviceInterfaceAlias@16
-SetupDiGetDeviceInterfaceDetailA@24
-SetupDiGetDeviceInterfaceDetailW@24
-SetupDiGetDeviceRegistryPropertyA@28
-SetupDiGetDeviceRegistryPropertyW@28
-SetupDiGetDriverInfoDetailA@24
-SetupDiGetDriverInfoDetailW@24
-SetupDiGetDriverInstallParamsA@16
-SetupDiGetDriverInstallParamsW@16
-SetupDiGetHwProfileFriendlyNameA@16
-SetupDiGetHwProfileFriendlyNameExA@24
-SetupDiGetHwProfileFriendlyNameExW@24
-SetupDiGetHwProfileFriendlyNameW@16
-SetupDiGetHwProfileList@16
-SetupDiGetHwProfileListExA@24
-SetupDiGetHwProfileListExW@24
-SetupDiGetINFClassA@20
-SetupDiGetINFClassW@20
-SetupDiGetSelectedDevice@8
-SetupDiGetSelectedDriverA@12
-SetupDiGetSelectedDriverW@12
-SetupDiGetWizardPage@20
-SetupDiInstallClassA@16
-SetupDiInstallClassExA@28
-SetupDiInstallClassExW@28
-SetupDiInstallClassW@16
-SetupDiInstallDevice@8
-SetupDiInstallDeviceInterfaces@8
-SetupDiInstallDriverFiles@8
-SetupDiLoadClassIcon@12
-SetupDiMoveDuplicateDevice@8
-SetupDiOpenClassRegKey@8
-SetupDiOpenClassRegKeyExA@20
-SetupDiOpenClassRegKeyExW@20
-SetupDiOpenDevRegKey@24
-SetupDiOpenDeviceInfoA@20
-SetupDiOpenDeviceInfoW@20
-SetupDiOpenDeviceInterfaceA@16
-SetupDiOpenDeviceInterfaceRegKey@16
-SetupDiOpenDeviceInterfaceW@16
-SetupDiRegisterCoDeviceInstallers@8
-SetupDiRegisterDeviceInfo@24
-SetupDiRemoveDevice@8
-SetupDiRemoveDeviceInterface@8
-SetupDiSelectBestCompatDrv@8
-SetupDiSelectDevice@8
-SetupDiSelectOEMDrv@12
-SetupDiSetClassInstallParamsA@16
-SetupDiSetClassInstallParamsW@16
-SetupDiSetDeviceInstallParamsA@12
-SetupDiSetDeviceInstallParamsW@12
-SetupDiSetDeviceRegistryPropertyA@20
-SetupDiSetDeviceRegistryPropertyW@20
-SetupDiSetDriverInstallParamsA@16
-SetupDiSetDriverInstallParamsW@16
-SetupDiSetSelectedDevice@8
-SetupDiSetSelectedDriverA@12
-SetupDiSetSelectedDriverW@12
-SetupDiUnremoveDevice@8
-SetupDuplicateDiskSpaceListA@16
-SetupDuplicateDiskSpaceListW@16
-SetupFindFirstLineA@16
-SetupFindFirstLineW@16
-SetupFindNextLine@8
-SetupFindNextMatchLineA@12
-SetupFindNextMatchLineW@12
-SetupFreeSourceListA@8
-SetupFreeSourceListW@8
-SetupGetBackupInformationA@8
-SetupGetBackupInformationW@8
-SetupGetBinaryField@20
-SetupGetFieldCount@4
-SetupGetFileCompressionInfoA@20
-SetupGetFileCompressionInfoW@20
-SetupGetInfFileListA@20
-SetupGetInfFileListW@20
-SetupGetInfInformationA@20
-SetupGetInfInformationW@20
-SetupGetInfSections@16
-SetupGetIntField@12
-SetupGetLineByIndexA@16
-SetupGetLineByIndexW@16
-SetupGetLineCountA@8
-SetupGetLineCountW@8
-SetupGetLineTextA@28
-SetupGetLineTextW@28
-SetupGetMultiSzFieldA@20
-SetupGetMultiSzFieldW@20
-SetupGetSourceFileLocationA@28
-SetupGetSourceFileLocationW@28
-SetupGetSourceFileSizeA@24
-SetupGetSourceFileSizeW@24
-SetupGetSourceInfoA@24
-SetupGetSourceInfoW@24
-SetupGetStringFieldA@20
-SetupGetStringFieldW@20
-SetupGetTargetPathA@24
-SetupGetTargetPathW@24
-SetupInitDefaultQueueCallback@4
-SetupInitDefaultQueueCallbackEx@20
-SetupInitializeFileLogA@8
-SetupInitializeFileLogW@8
-SetupInstallFileA@32
-SetupInstallFileExA@36
-SetupInstallFileExW@36
-SetupInstallFileW@32
-SetupInstallFilesFromInfSectionA@24
-SetupInstallFilesFromInfSectionW@24
-SetupInstallFromInfSectionA@44
-SetupInstallFromInfSectionW@44
-SetupInstallServicesFromInfSectionA@12
-SetupInstallServicesFromInfSectionExA@28
-SetupInstallServicesFromInfSectionExW@28
-SetupInstallServicesFromInfSectionW@12
-SetupIterateCabinetA@16
-SetupIterateCabinetW@16
-SetupLogErrorA@8
-SetupLogErrorW@8
-SetupLogFileA@36
-SetupLogFileW@36
-SetupOpenAppendInfFileA@12
-SetupOpenAppendInfFileW@12
-SetupOpenFileQueue@0
-SetupOpenInfFileA@16
-SetupOpenInfFileW@16
-SetupOpenLog@4
-SetupOpenMasterInf@0
-SetupPromptForDiskA@40
-SetupPromptForDiskW@40
-SetupPromptReboot@12
-SetupQueryDrivesInDiskSpaceListA@16
-SetupQueryDrivesInDiskSpaceListW@16
-SetupQueryFileLogA@28
-SetupQueryFileLogW@28
-SetupQueryInfFileInformationA@20
-SetupQueryInfFileInformationW@20
-SetupQueryInfOriginalFileInformationA@16
-SetupQueryInfOriginalFileInformationW@16
-SetupQueryInfVersionInformationA@24
-SetupQueryInfVersionInformationW@24
-SetupQuerySourceListA@12
-SetupQuerySourceListW@12
-SetupQuerySpaceRequiredOnDriveA@20
-SetupQuerySpaceRequiredOnDriveW@20
-SetupQueueCopyA@36
-SetupQueueCopyIndirectA@4
-SetupQueueCopyIndirectW@4
-SetupQueueCopySectionA@24
-SetupQueueCopySectionW@24
-SetupQueueCopyW@36
-SetupQueueDefaultCopyA@24
-SetupQueueDefaultCopyW@24
-SetupQueueDeleteA@12
-SetupQueueDeleteSectionA@16
-SetupQueueDeleteSectionW@16
-SetupQueueDeleteW@12
-SetupQueueRenameA@20
-SetupQueueRenameSectionA@16
-SetupQueueRenameSectionW@16
-SetupQueueRenameW@20
-SetupRemoveFileLogEntryA@12
-SetupRemoveFileLogEntryW@12
-SetupRemoveFromDiskSpaceListA@20
-SetupRemoveFromDiskSpaceListW@20
-SetupRemoveFromSourceListA@8
-SetupRemoveFromSourceListW@8
-SetupRemoveInstallSectionFromDiskSpaceListA@24
-SetupRemoveInstallSectionFromDiskSpaceListW@24
-SetupRemoveSectionFromDiskSpaceListA@28
-SetupRemoveSectionFromDiskSpaceListW@28
-SetupRenameErrorA@24
-SetupRenameErrorW@24
-SetupScanFileQueue@24
-SetupScanFileQueueA@24
-SetupScanFileQueueW@24
-SetupSetDirectoryIdA@12
-SetupSetDirectoryIdExA@24
-SetupSetDirectoryIdExW@24
-SetupSetDirectoryIdW@12
-SetupSetFileQueueAlternatePlatformA@12
-SetupSetFileQueueAlternatePlatformW@12
-SetupSetPlatformPathOverrideA@4
-SetupSetPlatformPathOverrideW@4
-SetupSetSourceListA@12
-SetupSetSourceListW@12
-SetupTermDefaultQueueCallback@4
-SetupTerminateFileLog@4
-ShouldDeviceBeExcluded@12
-StampFileSecurity@8
-StringTableAddString@12
-StringTableAddStringEx@20
-StringTableDestroy@4
-StringTableDuplicate@4
-StringTableEnum@20
-StringTableGetExtraData@16
-StringTableInitialize@0
-StringTableInitializeEx@8
-StringTableLookUpString@12
-StringTableLookUpStringEx@20
-StringTableSetExtraData@16
-StringTableStringFromId@8
-StringTableStringFromIdEx@16
-StringTableTrim@4
-TakeOwnershipOfFile@4
-UnicodeToMultiByte@8
-UnmapAndCloseFile@12
-VerifyCatalogFile@4
-VerifyFile@48
-pSetupAccessRunOnceNodeList@0
-pSetupDestroyRunOnceNodeList@0
-pSetupDiGetDeviceInfoContext@12
-pSetupDiSetDeviceInfoContext@12
-pSetupDirectoryIdToPath@20
-pSetupGetField@8
-pSetupGetGlobalFlags@0
-pSetupGetOsLoaderDriveAndPath@16
-pSetupGetQueueFlags@4
-pSetupGetVersionDatum@8
-pSetupGuidFromString@8
-pSetupIsGuidNull@4
-pSetupMakeSurePathExists@4
-pSetupSetGlobalFlags@4
-pSetupSetQueueFlags@8
-pSetupSetSystemSourcePath@8
-pSetupStringFromGuid@12
-pSetupVerifyQueuedCatalogs@4
diff --git a/winsup/w32api/lib/shell32.c b/winsup/w32api/lib/shell32.c
deleted file mode 100644
index efcecd83f..000000000
--- a/winsup/w32api/lib/shell32.c
+++ /dev/null
@@ -1,78 +0,0 @@
-#define INITGUID
-#include <basetyps.h>
-#include <shlguid.h>
-
-DEFINE_SHLGUID(CLSID_ShellDesktop,0x00021400L,0,0);
-DEFINE_SHLGUID(CLSID_ShellLink,0x00021401L,0,0);
-DEFINE_SHLGUID(FMTID_Intshcut,0x000214A0L,0,0);
-DEFINE_SHLGUID(FMTID_InternetSite,0x000214A1L,0,0);
-DEFINE_SHLGUID(CGID_Explorer,0x000214D0L,0,0);
-DEFINE_SHLGUID(CGID_ShellDocView,0x000214D1L,0,0);
-DEFINE_SHLGUID(CGID_ShellServiceObject,0x000214D2L,0,0);
-DEFINE_SHLGUID(IID_INewShortcutHookA,0x000214E1L,0,0);
-DEFINE_SHLGUID(IID_IShellBrowser,0x000214E2L,0,0);
-DEFINE_SHLGUID(IID_IShellView,0x000214E3L,0,0);
-DEFINE_SHLGUID(IID_IContextMenu,0x000214E4L,0,0);
-DEFINE_SHLGUID(IID_IQueryInfo,0x00021500L,0,0);
-DEFINE_SHLGUID(IID_IShellIcon,0x000214E5L,0,0);
-DEFINE_SHLGUID(IID_IShellFolder,0x000214E6L,0,0);
-DEFINE_SHLGUID(IID_IShellExtInit,0x000214E8L,0,0);
-DEFINE_SHLGUID(IID_IShellPropSheetExt,0x000214E9L,0,0);
-DEFINE_SHLGUID(IID_IPersistFolder,0x000214EAL,0,0);
-DEFINE_SHLGUID(IID_IExtractIconA,0x000214EBL,0,0);
-DEFINE_SHLGUID(IID_IShellLinkA,0x000214EEL,0,0);
-DEFINE_SHLGUID(IID_IShellCopyHookA,0x000214EFL,0,0);
-DEFINE_SHLGUID(IID_IFileViewerA,0x000214F0L,0,0);
-DEFINE_SHLGUID(IID_ICommDlgBrowser,0x000214F1L,0,0);
-DEFINE_SHLGUID(IID_IEnumIDList,0x000214F2L,0,0);
-DEFINE_SHLGUID(IID_IFileViewerSite,0x000214F3L,0,0);
-DEFINE_SHLGUID(IID_IContextMenu2,0x000214F4L,0,0);
-DEFINE_GUID(IID_IContextMenu3,0xBCFCE0A0,0xEC17,0x11D0,0x8D,0x10,0x0,0xA0,0xC9,0xF,0x27,0x19);
-DEFINE_SHLGUID(IID_IShellExecuteHookA,0x000214F5L,0,0);
-DEFINE_SHLGUID(IID_IPropSheetPage,0x000214F6L,0,0);
-DEFINE_SHLGUID(IID_INewShortcutHookW,0x000214F7L,0,0);
-DEFINE_SHLGUID(IID_IFileViewerW,0x000214F8L,0,0);
-DEFINE_SHLGUID(IID_IShellLinkW,0x000214F9L,0,0);
-DEFINE_SHLGUID(IID_IExtractIconW,0x000214FAL,0,0);
-DEFINE_SHLGUID(IID_IShellExecuteHookW,0x000214FBL,0,0);
-DEFINE_SHLGUID(IID_IShellCopyHookW,0x000214FCL,0,0);
-DEFINE_GUID(IID_IShellView2,0x88E39E80L,0x3578,0x11CF,0xAE,0x69,0x08,0x00,0x2B,0x2E,0x12,0x62);
-DEFINE_GUID(IID_IShellFolder2,0x93F2F68C,0x1D1B,0x11D3,0xA3,0x0E,0x00,0xC0,0x4F,0x79,0xAB,0xD1);
-DEFINE_GUID(IID_IPersistFolder2,0x1AC3D9F0,0x175C,0x11D1,0x95,0xBE,0x00,0x60,0x97,0x97,0xEA,0x4F);
-DEFINE_GUID(IID_IPersistFolder3,0xCEF04FDF,0xFE72,0x11D2,0x87,0xA5,0x00,0xC0,0x4F,0x68,0x37,0xCF);
-DEFINE_GUID(IID_IFileSystemBindData,0x1E18D10,0x4D8B,0x11D2,0x85,0x5D,0x00,0x60,0x08,0x05,0x93,0x67);
-DEFINE_GUID(LIBID_SHDocVw,0xEAB22AC0,0x30C1,0x11CF,0xA7,0xEB,0x00,0x00,0xC0,0x5B,0xAE,0x0B);
-DEFINE_GUID(IID_IShellExplorer,0xEAB22AC1,0x30C1,0x11CF,0xA7,0xEB,0x00,0x00,0xC0,0x5B,0xAE,0x0B);
-DEFINE_GUID(DIID_DShellExplorerEvents,0xEAB22AC2,0x30C1,0x11CF,0xA7,0xEB,0x00,0x00,0xC0,0x5B,0xAE,0x0B);
-DEFINE_GUID(CLSID_ShellExplorer,0xEAB22AC3,0x30C1,0x11CF,0xA7,0xEB,0x00,0x00,0xC0,0x5B,0xAE,0x0B);
-DEFINE_GUID(IID_ISHItemOC,0xEAB22AC4,0x30C1,0x11CF,0xA7,0xEB,0x00,0x00,0xC0,0x5B,0xAE,0x0B);
-DEFINE_GUID(DIID_DSHItemOCEvents,0xEAB22AC5,0x30C1,0x11CF,0xA7,0xEB,0x00,0x00,0xC0,0x5B,0xAE,0x0B);
-DEFINE_GUID(CLSID_SHItemOC,0xEAB22AC6,0x30C1,0x11CF,0xA7,0xEB,0x00,0x00,0xC0,0x5B,0xAE,0x0B);
-DEFINE_GUID(IID_DHyperLink,0x0002DF07,0x0000,0x0000,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46);
-DEFINE_GUID(IID_DIExplorer,0x0002DF05,0x0000,0x0000,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46);
-DEFINE_GUID(DIID_DExplorerEvents,0x0002DF06,0x0000,0x0000,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46);
-DEFINE_GUID(CLSID_InternetExplorer,0x0002DF01,0x0000,0x0000,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46);
-DEFINE_GUID(CLSID_StdHyperLink,0x0002DF09,0x0000,0x0000,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46);
-DEFINE_GUID(CLSID_FileTypes,0xB091E540,0x83E3,0x11CF,0xA7,0x13,0x00,0x20,0xAF,0xD7,0x97,0x62);
-DEFINE_GUID(CLSID_InternetShortcut,0xFBF23B40L,0xE3F0,0x101B,0x84,0x88,0x00,0xAA,0x00,0x3E,0x56,0xF8);
-DEFINE_GUID(IID_IUniformResourceLocator,0xFBF23B80L,0xE3F0,0x101B,0x84,0x88,0x00,0xAA,0x00,0x3E,0x56,0xF8);
-DEFINE_GUID(CLSID_DragDropHelper,0x4657278AL,0x411B,0x11D2,0x83,0x9A,0x0,0xC0,0x4F,0xD9,0x18,0xD0);
-DEFINE_GUID(IID_IDropTargetHelper,0x4657278BL,0x411B,0x11D2,0x83,0x9A,0x0,0xC0,0x4F,0xD9,0x18,0xD0);
-DEFINE_GUID(IID_IDragSourceHelper,0xDE5BF786L,0x477A,0x11D2,0x83,0x9D,0x0,0xC0,0x4F,0xD9,0x18,0xD0);
-DEFINE_GUID(IID_IColumnProvider,0xE8025004,0x1C42,0x11D2,0xBE,0x2C,0x0,0xA0,0xC9,0xA8,0x3D,0xA1);
-DEFINE_GUID(IID_IShellIconOverlayIdentifier,0x0C6C4200L,0xC589,0x11D0,0x99,0x9A,0x00,0xC0,0x4F,0xD6,0x55,0xE1);
-DEFINE_GUID(CLSID_AutoComplete,0x00bb2763,0x6a77,0x11d0,0xa5,0x35,0x00,0xc0,0x4f,0xd7,0xd0,0x62);
-DEFINE_GUID(IID_IAutoComplete,0x00bb2762,0x6a77,0x11d0,0xa5,0x35,0x00,0xc0,0x4f,0xd7,0xd0,0x62);
-DEFINE_GUID(IID_IAutoComplete2,0xeac04bc0,0x3791,0x11d2,0xbb,0x95,0x00,0x60,0x97,0x7b,0x46,0x4c);
-DEFINE_GUID(CLSID_ACLMulti,0x00bb2765,0x6a77,0x11d0,0xa5,0x35,0x00,0xc0,0x4f,0xd7,0xd0,0x62);
-DEFINE_GUID(IID_IObjMgr,0x00bb2761,0x6a77,0x11d0,0xa5,0x35,0x00,0xc0,0x4f,0xd7,0xd0,0x62);
-DEFINE_GUID(CLSID_ACListISF,0x03c036f1,0xa186,0x11D0,0x82,0x4a,0x00,0xaa,0x00,0x5b,0x43,0x83);
-DEFINE_GUID(IID_IACList,0x77a130b0,0x94fd,0x11D0,0xa5,0x44,0x00,0xc0,0x4f,0xd7,0xd0,0x62);
-DEFINE_GUID(CLSID_RecycleBin,0x645FF040,0x5081,0x101B,0x9F,0x08,0x00,0xAA,0x00,0x2F,0x95,0x4E);
-DEFINE_GUID(CLSID_ControlPanel,0x21EC2020,0x3AEA,0x1069,0xA2,0xDD,0x08,0x00,0x2B,0x30,0x30,0x9D);
-DEFINE_GUID(CLSID_MyComputer,0x20D04FE0,0x3AEA,0x1069,0xA2,0xD8,0x08,0x00,0x2B,0x30,0x30,0x9D);
-DEFINE_GUID(CLSID_Internet,0x871C5380,0x42A0,0x1069,0xA2,0xEA,0x08,0x00,0x2B,0x30,0x30,0x9D);
-DEFINE_GUID(CLSID_NetworkPlaces,0x208D2C60,0x3AEA,0x1069,0xA2,0xD7,0x08,0x00,0x2B,0x30,0x30,0x9D);
-DEFINE_GUID(CLSID_MyDocuments,0x450d8fba,0xad25,0x11d0,0x98,0xa8,0x08,0x00,0x36,0x1b,0x11,0x03);
-DEFINE_GUID(CLSID_FolderShortcut,0x0AFACED1,0xE828,0x11D1,0x91,0x87,0xB5,0x32,0xF1,0xE9,0x57,0x5D);
-DEFINE_GUID(CLSID_ShellFSFolder,0xF3364BA0,0x65B9,0x11CE,0xA9,0xBA,0x00,0xAA,0x00,0x4A,0xE8,0x37);
diff --git a/winsup/w32api/lib/shell32.def b/winsup/w32api/lib/shell32.def
deleted file mode 100644
index c7a8d1bdc..000000000
--- a/winsup/w32api/lib/shell32.def
+++ /dev/null
@@ -1,184 +0,0 @@
-LIBRARY SHELL32.DLL
-EXPORTS
-WOWShellExecute@28
-StrStrW@8
-StrStrIW@8
-StrStrIA@8
-StrStrA@8
-StrRStrW@12
-StrRStrIW@12
-StrRStrIA@12
-StrRStrA@12
-StrRChrW@12
-StrRChrIW@12
-StrRChrIA@12
-StrRChrA@12
-StrNCpyW@12
-StrNCpyA@12
-StrNCmpW@12
-StrNCmpIW@12
-StrNCmpIA@12
-StrNCmpA@12
-StrCpyNW@12
-StrCpyNA@12
-StrCmpNW@12
-StrCmpNIW@12
-StrCmpNIA@12
-StrCmpNA@12
-StrChrW@8
-StrChrIW@8
-StrChrIA@8
-StrChrA@8
-SHUpdateRecycleBinIcon@0
-SHSetUnreadMailCountW@12
-SHSetLocalizedName@12
-SHQueryRecycleBinW@8
-SHQueryRecycleBinA@8
-SHPathPrepareForWriteW@16
-SHPathPrepareForWriteA@16
-SHParseDisplayName@20
-SHOpenFolderAndSelectItems@16
-SHLoadNonloadedIconOverlayIdentifiers@0
-SHLoadInProc@4
-SHIsFileAvailableOffline@8
-SHInvokePrinterCommandW@20
-SHInvokePrinterCommandA@20
-SHILCreateFromPath@12
-SHHelpShortcuts_RunDLL@16
-SHGetUnreadMailCountW@24
-SHGetSpecialFolderPathW@16
-SHGetSpecialFolderPathA@16
-SHGetSpecialFolderLocation@12
-SHGetSetSettings@12
-SHGetSettings@8
-SHGetPathFromIDListW@8
-SHGetPathFromIDListA@8
-SHGetPathFromIDList@8
-SHGetNewLinkInfoW@20
-SHGetNewLinkInfoA@20
-SHGetNewLinkInfo@20
-SHGetMalloc@4
-SHGetInstanceExplorer@4
-SHGetIconOverlayIndexW@8
-SHGetIconOverlayIndexA@8
-SHGetFolderPathAndSubDirW@24
-SHGetFolderPathAndSubDirA@24
-; SHGetFolder is in shell32.dll on W2K up,
-; but in redistributable shfolder.dll for earlier OS versions.
-SHGetFolderPathW@20
-SHGetFolderPathA@20
-SHGetFolderLocation@20
-SHGetFileInfoW@20
-SHGetFileInfoA@20
-SHGetFileInfo@20
-SHGetDiskFreeSpaceExW@16
-SHGetDiskFreeSpaceExA@16
-SHGetDiskFreeSpaceA@16
-SHGetDesktopFolder@4
-SHGetDataFromIDListW@20
-SHGetDataFromIDListA@20
-SHFreeNameMappings@4
-SHFormatDrive@16
-SHFileOperationW@4
-SHFileOperationA@4
-SHFileOperation@4
-SHExtractIconsW@32
-SheShortenPathW@8
-SheShortenPathA@8
-SheSetCurDrive@4
-SheRemoveQuotesW@4
-SheRemoveQuotesA@4
-SHEnumerateUnreadMailAccountsW@16
-SHEmptyRecycleBinW@12
-SHEmptyRecycleBinA@12
-ShellHookProc@12
-ShellExecuteW@24
-ShellExecuteExW@4
-ShellExecuteExA@4
-ShellExecuteEx@4
-ShellExecuteA@24
-ShellAboutW@16
-ShellAboutA@16
-Shell_NotifyIconW@8
-Shell_NotifyIconA@8
-Shell_NotifyIcon@8
-SheGetPathOffsetW@4
-SheGetDirW@8
-SheGetDirExW@12
-SheGetDirA@8
-SheGetCurDrive@0
-SheFullPathW@12
-SheFullPathA@12
-SheConvertPathW@12
-SheChangeDirW@4
-SheChangeDirExW@4
-SheChangeDirExA@4
-SheChangeDirA@4
-SHCreateShellItem@16
-SHCreateQueryCancelAutoPlayMoniker@4
-SHCreateProcessAsUserW@4
-SHCreateDirectoryExW@12
-SHCreateDirectoryExA@12
-SHCoCreateInstance@20
-SHChangeNotify@16
-SHBrowseForFolderW@4
-SHBrowseForFolderA@4
-SHBrowseForFolder@4
-SHBindToParent@16
-SHAppBarMessage@8
-SHAddToRecentDocs@8
-RegisterShellHook@8
-RegenerateUserEnvironment@8
-RealShellExecuteW@40
-RealShellExecuteExW@44
-RealShellExecuteExA@44
-RealShellExecuteA@40
-PrintersGetCommand_RunDLL@16
-OpenAs_RunDLL@16
-InternalExtractIconListW@12
-InternalExtractIconListA@12
-FreeIconList@8
-FindExeDlgProc@16
-FindExecutableW@12
-FindExecutableA@12
-ExtractVersionResource16W@8
-ExtractIconW@12
-ExtractIconResInfoW@20
-ExtractIconResInfoA@20
-ExtractIconExW@20
-ExtractIconExA@20
-ExtractIconEx@20
-ExtractIconA@12
-ExtractAssociatedIconW@12
-ExtractAssociatedIconExW@16
-ExtractAssociatedIconExA@16
-ExtractAssociatedIconA@12
-DuplicateIcon@8
-DragQueryPoint@8
-DragQueryFileW@16
-DragQueryFileAorW@24
-DragQueryFileA@16
-DragQueryFile@16
-DragFinish@4
-DragAcceptFiles@8
-DoEnvironmentSubstW@8
-DoEnvironmentSubstA@8
-Control_RunDLL@16
-Control_FillCache_RunDLL@16
-CommandLineToArgvW@8
-CheckEscapesW@8
-CheckEscapesA@8
-ILAppendID@12
-ILClone@4
-ILCloneFirst@4
-ILCombine@8
-ILFindChild@8
-ILFindLastID@4
-ILFree@4
-ILGetNext@4
-ILGetSize@4
-ILIsEqual@8
-ILIsParent@12
-ILLoadFromStream@8
-ILRemoveLastID@4
-ILSaveToStream@8
diff --git a/winsup/w32api/lib/shfolder.def b/winsup/w32api/lib/shfolder.def
deleted file mode 100644
index edcf7060b..000000000
--- a/winsup/w32api/lib/shfolder.def
+++ /dev/null
@@ -1,4 +0,0 @@
-LIBRARY SHFOLDER.DLL
-EXPORTS
-SHGetFolderPathA@20
-SHGetFolderPathW@20
diff --git a/winsup/w32api/lib/shlwapi.def b/winsup/w32api/lib/shlwapi.def
deleted file mode 100644
index e29f72f34..000000000
--- a/winsup/w32api/lib/shlwapi.def
+++ /dev/null
@@ -1,296 +0,0 @@
-LIBRARY SHLWAPI.DLL
-EXPORTS
-AssocCreate@24
-AssocQueryKeyA@20
-AssocQueryKeyW@20
-AssocQueryStringA@24
-AssocQueryStringByKeyA@24
-AssocQueryStringByKeyW@24
-AssocQueryStringW@24
-ChrCmpIA@8
-ChrCmpIW@8
-ColorAdjustLuma@12
-ColorHLSToRGB@12
-ColorRGBToHLS@16
-GetMenuPosFromID@8
-HashData@16
-IntlStrEqWorkerA@16
-IntlStrEqWorkerW@16
-PathAddBackslashA@4
-PathAddBackslashW@4
-PathAddExtensionA@8
-PathAddExtensionW@8
-PathAppendA@8
-PathAppendW@8
-PathBuildRootA@8
-PathBuildRootW@8
-PathCanonicalizeA@8
-PathCanonicalizeW@8
-PathCombineA@12
-PathCombineW@12
-PathCommonPrefixA@12
-PathCommonPrefixW@12
-PathCompactPathA@12
-PathCompactPathExA@16
-PathCompactPathExW@16
-PathCompactPathW@12
-PathCreateFromUrlA@16
-PathCreateFromUrlW@16
-PathFileExistsA@4
-PathFileExistsW@4
-PathFindExtensionA@4
-PathFindExtensionW@4
-PathFindFileNameA@4
-PathFindFileNameW@4
-PathFindNextComponentA@4
-PathFindNextComponentW@4
-PathFindOnPathA@8
-PathFindOnPathW@8
-PathFindSuffixArrayA@12
-PathFindSuffixArrayW@12
-PathGetArgsA@4
-PathGetArgsW@4
-PathGetCharTypeA@4
-PathGetCharTypeW@4
-PathGetDriveNumberA@4
-PathGetDriveNumberW@4
-PathIsContentTypeA@8
-PathIsContentTypeW@8
-PathIsDirectoryA@4
-PathIsDirectoryEmptyA@4
-PathIsDirectoryEmptyW@4
-PathIsDirectoryW@4
-PathIsFileSpecA@4
-PathIsFileSpecW@4
-PathIsLFNFileSpecA@4
-PathIsLFNFileSpecW@4
-PathIsNetworkPathA@4
-PathIsNetworkPathW@4
-PathIsPrefixA@8
-PathIsPrefixW@8
-PathIsRelativeA@4
-PathIsRelativeW@4
-PathIsRootA@4
-PathIsRootW@4
-PathIsSameRootA@8
-PathIsSameRootW@8
-PathIsSystemFolderA@8
-PathIsSystemFolderW@8
-PathIsUNCA@4
-PathIsUNCServerA@4
-PathIsUNCServerShareA@4
-PathIsUNCServerShareW@4
-PathIsUNCServerW@4
-PathIsUNCW@4
-PathIsURLA@4
-PathIsURLW@4
-PathMakePrettyA@4
-PathMakePrettyW@4
-PathMakeSystemFolderA@4
-PathMakeSystemFolderW@4
-PathMatchSpecA@8
-PathMatchSpecW@8
-PathParseIconLocationA@4
-PathParseIconLocationW@4
-PathQuoteSpacesA@4
-PathQuoteSpacesW@4
-PathRelativePathToA@20
-PathRelativePathToW@20
-PathRemoveArgsA@4
-PathRemoveArgsW@4
-PathRemoveBackslashA@4
-PathRemoveBackslashW@4
-PathRemoveBlanksA@4
-PathRemoveBlanksW@4
-PathRemoveExtensionA@4
-PathRemoveExtensionW@4
-PathRemoveFileSpecA@4
-PathRemoveFileSpecW@4
-PathRenameExtensionA@8
-PathRenameExtensionW@8
-PathSearchAndQualifyA@12
-PathSearchAndQualifyW@12
-PathSetDlgItemPathA@12
-PathSetDlgItemPathW@12
-PathSkipRootA@4
-PathSkipRootW@4
-PathStripPathA@4
-PathStripPathW@4
-PathStripToRootA@4
-PathStripToRootW@4
-PathUnExpandEnvStringsA@12
-PathUnExpandEnvStringsW@12
-PathUndecorateA@4
-PathUndecorateW@4
-PathUnmakeSystemFolderA@4
-PathUnmakeSystemFolderW@4
-PathUnquoteSpacesA@4
-PathUnquoteSpacesW@4
-SHAutoComplete@8
-SHCopyKeyA@16
-SHCopyKeyW@16
-SHCreateShellPalette@4
-SHCreateStreamOnFileA@12
-SHCreateStreamOnFileEx@24
-SHCreateStreamOnFileW@12
-SHCreateStreamWrapper@16
-SHCreateThread@16
-SHDeleteEmptyKeyA@8
-SHDeleteEmptyKeyW@8
-SHDeleteKeyA@8
-SHDeleteKeyW@8
-SHDeleteOrphanKeyA@8
-SHDeleteOrphanKeyW@8
-SHDeleteValueA@12
-SHDeleteValueW@12
-SHEnumKeyExA@16
-SHEnumKeyExW@16
-SHEnumValueA@28
-SHEnumValueW@28
-SHGetInverseCMAP@8
-SHGetThreadRef@4
-SHGetValueA@24
-SHGetValueW@24
-SHIsLowMemoryMachine@4
-SHLoadIndirectString@16
-SHOpenRegStream2A@16
-SHOpenRegStream2W@16
-SHOpenRegStreamA@16
-SHOpenRegStreamW@16
-SHQueryInfoKeyA@20
-SHQueryInfoKeyW@20
-SHQueryValueExA@24
-SHQueryValueExW@24
-SHRegCloseUSKey@4
-SHRegCreateUSKeyA@20
-SHRegCreateUSKeyW@20
-SHRegDeleteEmptyUSKeyA@12
-SHRegDeleteEmptyUSKeyW@12
-SHRegDeleteUSValueA@12
-SHRegDeleteUSValueW@12
-SHRegDuplicateHKey@4
-SHRegEnumUSKeyA@20
-SHRegEnumUSKeyW@20
-SHRegEnumUSValueA@32
-SHRegEnumUSValueW@32
-SHRegGetBoolUSValueA@16
-SHRegGetBoolUSValueW@16
-SHRegGetPathA@20
-SHRegGetPathW@20
-SHRegGetUSValueA@32
-SHRegGetUSValueW@32
-SHRegOpenUSKeyA@20
-SHRegOpenUSKeyW@20
-SHRegQueryInfoUSKeyA@24
-SHRegQueryInfoUSKeyW@24
-SHRegQueryUSValueA@32
-SHRegQueryUSValueW@32
-SHRegSetPathA@20
-SHRegSetPathW@20
-SHRegSetUSValueA@24
-SHRegSetUSValueW@24
-SHRegWriteUSValueA@24
-SHRegWriteUSValueW@24
-SHRegisterValidateTemplate@8
-SHReleaseThreadRef@0
-SHSetThreadRef@4
-SHSetValueA@24
-SHSetValueW@24
-SHSkipJunction@8
-SHStrDupA@8
-SHStrDupW@8
-StrCSpnA@8
-StrCSpnIA@8
-StrCSpnIW@8
-StrCSpnW@8
-StrCatBuffA@12
-StrCatBuffW@12
-StrCatChainW@16
-StrCatW@8
-StrChrA@8
-StrChrIA@8
-StrChrIW@8
-StrChrNIW@12
-StrChrNW@12
-StrChrW@8
-StrCmpIW@8
-StrCmpLogicalW@8
-StrCmpNA@12
-StrCmpNIA@12
-StrCmpNIW@12
-StrCmpNW@12
-StrCmpW@8
-StrCpyNW@12
-StrCpyW@8
-StrDupA@4
-StrDupW@4
-StrFormatByteSize64A@16
-StrFormatByteSizeA@12
-StrFormatByteSizeW@16
-StrFormatKBSizeA@16
-StrFormatKBSizeW@16
-StrFromTimeIntervalA@16
-StrFromTimeIntervalW@16
-StrIsIntlEqualA@16
-StrIsIntlEqualW@16
-StrNCatA@12
-StrNCatW@12
-StrPBrkA@8
-StrPBrkW@8
-StrRChrA@12
-StrRChrIA@12
-StrRChrIW@12
-StrRChrW@12
-StrRStrIA@12
-StrRStrIW@12
-StrRetToBSTR@12
-StrRetToBufA@16
-StrRetToBufW@16
-StrRetToStrA@12
-StrRetToStrW@12
-StrSpnA@8
-StrSpnW@8
-StrStrA@8
-StrStrIA@8
-StrStrIW@8
-StrStrNIW@12
-StrStrNW@12
-StrStrW@8
-StrToInt64ExA@12
-StrToInt64ExW@12
-StrToIntA@4
-StrToIntExA@12
-StrToIntExW@12
-StrToIntW@4
-StrTrimA@8
-StrTrimW@8
-UrlApplySchemeA@16
-UrlApplySchemeW@16
-UrlCanonicalizeA@16
-UrlCanonicalizeW@16
-UrlCombineA@20
-UrlCombineW@20
-UrlCompareA@12
-UrlCompareW@12
-UrlCreateFromPathA@16
-UrlCreateFromPathW@16
-UrlEscapeA@16
-UrlEscapeW@16
-UrlGetLocationA@4
-UrlGetLocationW@4
-UrlGetPartA@20
-UrlGetPartW@20
-UrlHashA@12
-UrlHashW@12
-UrlIsA@8
-UrlIsNoHistoryA@4
-UrlIsNoHistoryW@4
-UrlIsOpaqueA@4
-UrlIsOpaqueW@4
-UrlIsW@8
-UrlUnescapeA@16
-UrlUnescapeW@16
-wnsprintfA
-wnsprintfW
-wvnsprintfA@16
-wvnsprintfW@16
diff --git a/winsup/w32api/lib/snmpapi.def b/winsup/w32api/lib/snmpapi.def
deleted file mode 100644
index 0c16c1c29..000000000
--- a/winsup/w32api/lib/snmpapi.def
+++ /dev/null
@@ -1,40 +0,0 @@
-LIBRARY snmpapi.dll
-EXPORTS
-SnmpSvcAddrIsIpx@12
-SnmpSvcAddrToSocket@8
-SnmpSvcBufRevAndCpy@12
-SnmpSvcBufRevInPlace@8
-SnmpSvcDecodeMessage@20
-SnmpSvcEncodeMessage@16
-SnmpSvcGenerateAuthFailTrap@4
-SnmpSvcGenerateColdStartTrap@4
-SnmpSvcGenerateLinkDownTrap@8
-SnmpSvcGenerateLinkUpTrap@8
-SnmpSvcGenerateTrap@20
-SnmpSvcGenerateWarmStartTrap@4
-SnmpSvcGetUptime@0
-SnmpSvcInitUptime@0
-SnmpSvcReleaseMessage@4
-SnmpSvcReportEvent@16
-SnmpSvcSetLogLevel@4
-SnmpSvcSetLogType@4
-SnmpUtilAnsiToUnicode@12
-SnmpUtilDbgPrint
-SnmpUtilIdsToA@8
-SnmpUtilMemAlloc@4
-SnmpUtilMemFree@4
-SnmpUtilMemReAlloc@8
-SnmpUtilOidAppend@8
-SnmpUtilOidCmp@8
-SnmpUtilOidCpy@8
-SnmpUtilOidFree@4
-SnmpUtilOidNCmp@12
-SnmpUtilOidToA@4
-SnmpUtilPrintAsnAny@4
-SnmpUtilPrintOid@4
-SnmpUtilStrlenW@4
-SnmpUtilUnicodeToAnsi@12
-SnmpUtilVarBindCpy@8
-SnmpUtilVarBindFree@4
-SnmpUtilVarBindListCpy@8
-SnmpUtilVarBindListFree@4
diff --git a/winsup/w32api/lib/svrapi.def b/winsup/w32api/lib/svrapi.def
deleted file mode 100644
index 4a7b0dba6..000000000
--- a/winsup/w32api/lib/svrapi.def
+++ /dev/null
@@ -1,22 +0,0 @@
-LIBRARY SVRAPI.DLL
-EXPORTS
-NetAccessAdd@16
-NetAccessCheck@20
-NetAccessDel@8
-NetAccessEnum@32
-NetAccessGetInfo@24
-NetAccessGetUserPerms@16
-NetAccessSetInfo@24
-NetConnectionEnum@28
-NetFileClose2@8
-NetFileEnum@28
-NetSecurityGetInfo@20
-NetServerGetInfo@20
-NetSessionDel@12
-NetSessionEnum@24
-NetSessionGetInfo@24
-NetShareAdd@16
-NetShareDel@12
-NetShareEnum@24
-NetShareGetInfo@24
-NetShareSetInfo@24
diff --git a/winsup/w32api/lib/tapi32.def b/winsup/w32api/lib/tapi32.def
deleted file mode 100644
index e4f0d9c8d..000000000
--- a/winsup/w32api/lib/tapi32.def
+++ /dev/null
@@ -1,116 +0,0 @@
-LIBRARY TAPI32.DLL
-EXPORTS
-lineAccept@12
-lineAddProvider@12
-lineAddToConference@8
-lineAnswer@12
-lineBlindTransfer@12
-lineClose@4
-lineCompleteCall@16
-lineCompleteTransfer@16
-lineConfigDialog@12
-lineConfigDialogEdit@24
-lineConfigProvider@8
-lineDeallocateCall@4
-lineDevSpecific@20
-lineDevSpecificFeature@16
-lineDial@12
-lineDrop@12
-lineForward@28
-lineGatherDigits@28
-lineGenerateDigits@16
-lineGenerateTone@20
-lineGetAddressCaps@24
-lineGetAddressID@20
-lineGetAddressStatus@12
-lineGetAppPriority@24
-lineGetCallInfo@8
-lineGetCallStatus@8
-lineGetConfRelatedCalls@8
-lineGetCountry@12
-lineGetDevCaps@20
-lineGetDevConfig@12
-lineGetID@24
-lineGetIcon@12
-lineGetLineDevStatus@8
-lineGetNewCalls@16
-lineGetNumRings@12
-lineGetProviderList@8
-lineGetRequest@12
-lineGetStatusMessages@12
-lineGetTranslateCaps@12
-lineHandoff@12
-lineHold@4
-lineInitialize@20
-lineMakeCall@20
-lineMonitorDigits@8
-lineMonitorMedia@8
-lineMonitorTones@12
-lineNegotiateAPIVersion@24
-lineNegotiateExtVersion@24
-lineOpen@36
-linePark@16
-linePickup@20
-linePrepareAddToConference@12
-lineRedirect@12
-lineRegisterRequestRecipient@16
-lineReleaseUserUserInfo@4
-lineRemoveFromConference@4
-lineRemoveProvider@8
-lineSecureCall@4
-lineSendUserUserInfo@12
-lineSetAppPriority@24
-lineSetAppSpecific@8
-lineSetCallParams@20
-lineSetCallPrivilege@8
-lineSetCurrentLocation@8
-lineSetDevConfig@16
-lineSetMediaControl@48
-lineSetMediaMode@8
-lineSetNumRings@12
-lineSetStatusMessages@12
-lineSetTerminal@28
-lineSetTollList@16
-lineSetupConference@24
-lineSetupTransfer@12
-lineShutdown@4
-lineSwapHold@8
-lineTranslateAddress@28
-lineTranslateDialog@20
-lineUncompleteCall@8
-lineUnhold@4
-lineUnpark@16
-phoneClose@4
-phoneConfigDialog@12
-phoneDevSpecific@12
-phoneGetButtonInfo@12
-phoneGetData@16
-phoneGetDevCaps@20
-phoneGetDisplay@8
-phoneGetGain@12
-phoneGetHookSwitch@8
-phoneGetID@12
-phoneGetIcon@12
-phoneGetLamp@12
-phoneGetRing@12
-phoneGetStatus@8
-phoneGetStatusMessages@16
-phoneGetVolume@12
-phoneInitialize@20
-phoneNegotiateAPIVersion@24
-phoneNegotiateExtVersion@24
-phoneOpen@28
-phoneSetButtonInfo@12
-phoneSetData@16
-phoneSetDisplay@20
-phoneSetGain@12
-phoneSetHookSwitch@12
-phoneSetLamp@12
-phoneSetRing@12
-phoneSetStatusMessages@16
-phoneSetVolume@12
-phoneShutdown@4
-tapiGetLocationInfo@8
-tapiRequestDrop@8
-tapiRequestMakeCall@16
-tapiRequestMediaCall@40
diff --git a/winsup/w32api/lib/test.c b/winsup/w32api/lib/test.c
deleted file mode 100644
index 71f63c389..000000000
--- a/winsup/w32api/lib/test.c
+++ /dev/null
@@ -1,117 +0,0 @@
-/* Perform simple test of headers to avoid typos and such */
-#define __USE_W32_SOCKETS
-#include <w32api.h>
-#include <windows.h>
-
-#ifdef __OBJC__
-#define BOOL WINBOOL
-#endif
-#include <windowsx.h>
-#include <commctrl.h>
-#include <largeint.h>
-#include <mmsystem.h>
-#include <mciavi.h>
-#include <mcx.h>
-#include <sql.h>
-#include <sqlext.h>
-#include <imm.h>
-#include <lm.h>
-#include <zmouse.h>
-#include <scrnsave.h>
-#include <cpl.h>
-#include <cplext.h>
-#include <wincrypt.h>
-#include <pbt.h>
-#include <wininet.h>
-#include <regstr.h>
-#include <custcntl.h>
-#include <mapi.h>
-
-#include <dbt.h>
-#include <httpext.h>
-#include <imagehlp.h>
-#include <initguid.h>
-#include <ipexport.h>
-#include <iphlpapi.h>
-#include <ipifcons.h>
-#include <iprtrmib.h>
-#include <iptypes.h>
-#include <isguids.h>
-#include <lmbrowsr.h>
-#include <mswsock.h>
-#include <nddeapi.h>
-#include <ntdef.h>
-#include <ntsecapi.h>
-#include <odbcinst.h>
-#include <powrprof.h>
-#include <psapi.h>
-#include <ras.h>
-#include <rasdlg.h>
-#include <raserror.h>
-#include <rassapi.h>
-#include <richedit.h>
-#include <rpcdce2.h>
-#include <subauth.h>
-#include <tlhelp32.h>
-#include <userenv.h>
-#include <winioctl.h>
-#include <winresrc.h>
-#include <winsock.h>
-#ifdef _WINSOCK2_H
-#include <ws2tcpip.h>
-#include <ws2spi.h>
-#include <wsahelp.h>
-#endif
-#include <wsipx.h>
-#include <wsnetbs.h>
-#include <svcguid.h>
-#include <setupapi.h>
-#include <aclapi.h>
-#include <security.h>
-#include <secext.h>
-#include <schnlsp.h>
-#include <ntldap.h>
-#include <winber.h>
-#include <winldap.h>
-#include <shlwapi.h>
-#include <snmp.h>
-#include <winsnmp.h>
-#include <mgmtapi.h>
-#include <vfw.h>
-#include <uxtheme.h>
-#include <tmschema.h>
-#include <dhcpcsdk.h>
-#include <errorrep.h>
-#include <windns.h>
-
-#ifndef __OBJC__ /* problems with BOOL */
-#include <ole2.h>
-#include <comcat.h>
-#include <shlobj.h>
-#include <intshcut.h>
-#include <ocidl.h>
-#include <ole2ver.h>
-#include <oleacc.h>
-#include <winable.h>
-#include <olectl.h>
-#include <oledlg.h>
-#include <docobj.h>
-#include <idispids.h>
-#include <rapi.h>
-#include <richole.h>
-#include <rpcproxy.h>
-#include <exdisp.h>
-#include <mshtml.h>
-#include <servprov.h>
-#include <aclui.h>
-
-#else
-#undef BOOL
-#endif
-
-#include <stdio.h>
-
-int main()
-{
- return 0;
-}
diff --git a/winsup/w32api/lib/th32.def b/winsup/w32api/lib/th32.def
deleted file mode 100644
index 4137bf61f..000000000
--- a/winsup/w32api/lib/th32.def
+++ /dev/null
@@ -1,14 +0,0 @@
-LIBRARY Kernel32.dll
-EXPORTS
-CreateToolhelp32Snapshot@8
-Heap32First@12
-Heap32ListFirst@8
-Heap32ListNext@8
-Heap32Next@4
-Module32First@8
-Module32Next@8
-Process32First@8
-Process32Next@8
-Thread32First@8
-Thread32Next@8
-Toolhelp32ReadProcessMemory@20
diff --git a/winsup/w32api/lib/thunk32.def b/winsup/w32api/lib/thunk32.def
deleted file mode 100644
index abdeb4606..000000000
--- a/winsup/w32api/lib/thunk32.def
+++ /dev/null
@@ -1,68 +0,0 @@
-LIBRARY KERNEL32.dll
-EXPORTS
-Callback12@12
-Callback16@16
-Callback20@20
-Callback24@24
-Callback28@28
-Callback32@32
-Callback36@36
-Callback40@40
-Callback44@44
-Callback48@48
-Callback4@4
-Callback52@52
-Callback56@56
-Callback60@60
-Callback64@64
-Callback8@8
-FT_Exit0
-FT_Exit12
-FT_Exit16
-FT_Exit20
-FT_Exit24
-FT_Exit28
-FT_Exit32
-FT_Exit36
-FT_Exit4
-FT_Exit40
-FT_Exit44
-FT_Exit48
-FT_Exit52
-FT_Exit56
-FT_Exit8
-FT_Prolog
-FT_Thunk
-K32Thk1632Epilog@0
-K32Thk1632Prolog@0
-MapHInstLS
-MapHInstLS_PN
-MapHInstSL
-MapHInstSL_PN
-MapLS@4
-MapSL@4
-MapSLFix@4
-QT_Thunk
-SMapLS
-SMapLS_IP_EBP_12
-SMapLS_IP_EBP_16
-SMapLS_IP_EBP_20
-SMapLS_IP_EBP_24
-SMapLS_IP_EBP_28
-SMapLS_IP_EBP_32
-SMapLS_IP_EBP_36
-SMapLS_IP_EBP_40
-SMapLS_IP_EBP_8
-SUnMapLS
-SUnMapLS_IP_EBP_12
-SUnMapLS_IP_EBP_16
-SUnMapLS_IP_EBP_20
-SUnMapLS_IP_EBP_24
-SUnMapLS_IP_EBP_28
-SUnMapLS_IP_EBP_32
-SUnMapLS_IP_EBP_36
-SUnMapLS_IP_EBP_40
-SUnMapLS_IP_EBP_8
-ThunkConnect32@24
-UnMapLS@4
-UnMapSLFixArray@8
diff --git a/winsup/w32api/lib/url.def b/winsup/w32api/lib/url.def
deleted file mode 100644
index 202073259..000000000
--- a/winsup/w32api/lib/url.def
+++ /dev/null
@@ -1,9 +0,0 @@
-LIBRARY URL.DLL
-EXPORTS
-URLAssociationDialogW@24
-URLAssociationDialogA@24
-TranslateURLW@12
-TranslateURLA@12
-MIMEAssociationDialogW@24
-MIMEAssociationDialogA@24
-InetIsOffline@4
diff --git a/winsup/w32api/lib/user32.def b/winsup/w32api/lib/user32.def
deleted file mode 100644
index ff7c99d8d..000000000
--- a/winsup/w32api/lib/user32.def
+++ /dev/null
@@ -1,641 +0,0 @@
-LIBRARY USER32.dll
-EXPORTS
-ActivateKeyboardLayout@8
-AdjustWindowRect@12
-AdjustWindowRectEx@16
-AllowSetForegroundWindow@4
-AnimateWindow@12
-AnyPopup@0
-AppendMenuA@16
-AppendMenuW@16
-ArrangeIconicWindows@4
-AttachThreadInput@12
-BeginDeferWindowPos@4
-BeginPaint@8
-BlockInput@4
-BringWindowToTop@4
-BroadcastSystemMessage@20
-BroadcastSystemMessageA@20
-BroadcastSystemMessageExA@24
-BroadcastSystemMessageExW@24
-BroadcastSystemMessageW@20
-CalcChildScroll@8
-CallMsgFilter@8
-CallMsgFilterA@8
-CallMsgFilterW@8
-CallNextHookEx@16
-CallWindowProcA@20
-CallWindowProcW@20
-CascadeChildWindows@8
-CascadeWindows@20
-ChangeClipboardChain@8
-ChangeDisplaySettingsA@8
-ChangeDisplaySettingsW@8
-ChangeDisplaySettingsExA@20
-ChangeDisplaySettingsExW@20
-ChangeMenuA@20
-ChangeMenuW@20
-CharLowerA@4
-CharLowerBuffA@8
-CharLowerBuffW@8
-CharLowerW@4
-CharNextA@4
-CharNextExA@12
-CharNextW@4
-CharPrevA@8
-CharPrevExA@16
-CharPrevW@8
-CharToOemA@8
-CharToOemBuffA@12
-CharToOemBuffW@12
-CharToOemW@8
-CharUpperA@4
-CharUpperBuffA@8
-CharUpperBuffW@8
-CharUpperW@4
-CheckDlgButton@12
-CheckMenuItem@12
-CheckMenuRadioItem@20
-CheckRadioButton@16
-ChildWindowFromPoint@12
-ChildWindowFromPointEx@16
-ClientToScreen@8
-ClipCursor@4
-CloseClipboard@0
-CloseDesktop@4
-CloseWindow@4
-CloseWindowStation@4
-CopyAcceleratorTableA@12
-CopyAcceleratorTableW@12
-CopyIcon@4
-CopyImage@20
-CopyRect@8
-CountClipboardFormats@0
-CreateAcceleratorTableA@8
-CreateAcceleratorTableW@8
-CreateCaret@16
-CreateCursor@28
-CreateDesktopA@24
-CreateDesktopW@24
-CreateDialogIndirectParamA@20
-CreateDialogIndirectParamW@20
-CreateDialogParamA@20
-CreateDialogParamW@20
-CreateIcon@28
-CreateIconFromResource@16
-CreateIconFromResourceEx@28
-CreateIconIndirect@4
-CreateMDIWindowA@40
-CreateMDIWindowW@40
-CreateMenu@0
-CreatePopupMenu@0
-CreateWindowExA@48
-CreateWindowExW@48
-CreateWindowStationA@16
-CreateWindowStationW@16
-DdeAbandonTransaction@12
-DdeAccessData@8
-DdeAddData@16
-DdeClientTransaction@32
-DdeCmpStringHandles@8
-DdeConnect@16
-DdeConnectList@20
-DdeCreateDataHandle@28
-DdeCreateStringHandleA@12
-DdeCreateStringHandleW@12
-DdeDisconnect@4
-DdeDisconnectList@4
-DdeEnableCallback@12
-DdeFreeDataHandle@4
-DdeFreeStringHandle@8
-DdeGetData@16
-DdeGetLastError@4
-DdeGetQualityOfService@12
-DdeImpersonateClient@4
-DdeInitializeA@16
-DdeInitializeW@16
-DdeKeepStringHandle@8
-DdeNameService@16
-DdePostAdvise@12
-DdeQueryConvInfo@12
-DdeQueryNextServer@8
-DdeQueryStringA@20
-DdeQueryStringW@20
-DdeReconnect@4
-DdeSetQualityOfService@12
-DdeSetUserHandle@12
-DdeUnaccessData@4
-DdeUninitialize@4
-DefDlgProcA@16
-DefDlgProcW@16
-DefFrameProcA@20
-DefFrameProcW@20
-DefMDIChildProcA@16
-DefMDIChildProcW@16
-DefRawInputProc@12
-DefWindowProcA@16
-DefWindowProcW@16
-DeferWindowPos@32
-DeleteMenu@12
-DeregisterShellHookWindow@4
-DestroyAcceleratorTable@4
-DestroyCaret@0
-DestroyCursor@4
-DestroyIcon@4
-DestroyMenu@4
-DestroyWindow@4
-DialogBoxIndirectParamA@20
-DialogBoxIndirectParamW@20
-DialogBoxParamA@20
-DialogBoxParamW@20
-DispatchMessageA@4
-DispatchMessageW@4
-DlgDirListA@20
-DlgDirListComboBoxA@20
-DlgDirListComboBoxW@20
-DlgDirListW@20
-DlgDirSelectComboBoxExA@16
-DlgDirSelectComboBoxExW@16
-DlgDirSelectExA@16
-DlgDirSelectExW@16
-DragDetect@12
-DragObject@20
-DrawAnimatedRects@16
-DrawCaption@16
-DrawEdge@16
-DrawFocusRect@8
-DrawFrame@16
-DrawFrameControl@16
-DrawIcon@16
-DrawIconEx@36
-DrawMenuBar@4
-DrawStateA@40
-DrawStateW@40
-DrawTextA@20
-DrawTextExA@24
-DrawTextExW@24
-DrawTextW@20
-EditWndProc@16
-EmptyClipboard@0
-EnableMenuItem@12
-EnableScrollBar@12
-EnableWindow@8
-EndDeferWindowPos@4
-EndDialog@8
-EndMenu@0
-EndPaint@8
-EndTask@12
-EnumChildWindows@12
-EnumClipboardFormats@4
-EnumDesktopWindows@12
-EnumDesktopsA@12
-EnumDesktopsW@12
-EnumDisplayDevicesA@16
-EnumDisplayDevicesW@16
-EnumDisplayMonitors@16
-EnumDisplaySettingsA@12
-EnumDisplaySettingsExA@16
-EnumDisplaySettingsExW@16
-EnumDisplaySettingsW@12
-EnumPropsA@8
-EnumPropsExA@12
-EnumPropsExW@12
-EnumPropsW@8
-EnumThreadWindows@12
-EnumWindowStationsA@8
-EnumWindowStationsW@8
-EnumWindows@8
-EqualRect@8
-ExcludeUpdateRgn@8
-ExitWindowsEx@8
-FillRect@12
-FindWindowA@8
-FindWindowExA@16
-FindWindowExW@16
-FindWindowW@8
-FlashWindow@8
-FlashWindowEx@4
-FrameRect@12
-FreeDDElParam@8
-GetActiveWindow@0
-GetAltTabInfo@20
-GetAltTabInfoA@20
-GetAltTabInfoW@20
-GetAncestor@8
-GetAsyncKeyState@4
-GetCapture@0
-GetCaretBlinkTime@0
-GetCaretPos@4
-GetClassInfoA@12
-GetClassInfoExA@12
-GetClassInfoExW@12
-GetClassInfoW@12
-GetClassLongA@8
-GetClassLongW@8
-GetClassLongPtrA@8
-GetClassLongPtrW@8
-GetClassNameA@12
-GetClassNameW@12
-GetClassWord@8
-GetClientRect@8
-GetClipCursor@4
-GetClipboardData@4
-GetClipboardFormatNameA@12
-GetClipboardFormatNameW@12
-GetClipboardOwner@0
-GetClipboardSequenceNumber@0
-GetClipboardViewer@0
-GetComboBoxInfo@8
-GetCursor@0
-GetCursorInfo@4
-GetCursorPos@4
-GetDC@4
-GetDCEx@12
-GetDesktopWindow@0
-GetDialogBaseUnits@0
-GetDlgCtrlID@4
-GetDlgItem@8
-GetDlgItemInt@16
-GetDlgItemTextA@16
-GetDlgItemTextW@16
-GetDoubleClickTime@0
-GetFocus@0
-GetForegroundWindow@0
-GetGUIThreadInfo@8
-GetGuiResources@8
-GetIconInfo@8
-GetInputDesktop@0
-GetInputState@0
-GetKBCodePage@0
-GetKeyNameTextA@12
-GetKeyNameTextW@12
-GetKeyState@4
-GetKeyboardLayout@4
-GetKeyboardLayoutList@8
-GetKeyboardLayoutNameA@4
-GetKeyboardLayoutNameW@4
-GetKeyboardState@4
-GetKeyboardType@4
-GetLastActivePopup@4
-GetLastInputInfo@4
-GetLayeredWindowAttributes@16
-GetListBoxInfo@4
-GetMenu@4
-GetMenuBarInfo@16
-GetMenuCheckMarkDimensions@0
-GetMenuContextHelpId@4
-GetMenuDefaultItem@12
-GetMenuInfo@8
-GetMenuItemCount@4
-GetMenuItemID@8
-GetMenuItemInfoA@16
-GetMenuItemInfoW@16
-GetMenuItemRect@16
-GetMenuState@12
-GetMenuStringA@20
-GetMenuStringW@20
-GetMessageA@16
-GetMessageExtraInfo@0
-GetMessagePos@0
-GetMessageTime@0
-GetMessageW@16
-GetMonitorInfoA@8
-GetMonitorInfoW@8
-GetMouseMovePointsEx@20
-GetNextDlgGroupItem@12
-GetNextDlgTabItem@12
-GetOpenClipboardWindow@0
-GetParent@4
-GetPriorityClipboardFormat@8
-GetProcessDefaultLayout@4
-GetProcessWindowStation@0
-GetPropA@8
-GetPropW@8
-GetRawInputBuffer@12
-GetRawInputData@20
-GetRawInputDeviceInfoA@16
-GetRawInputDeviceInfoW@16
-GetRawInputDeviceList@12
-GetRegisteredRawInputDevices@12
-GetQueueStatus@4
-GetScrollBarInfo@12
-GetScrollInfo@12
-GetScrollPos@8
-GetScrollRange@16
-GetShellWindow@0
-GetSubMenu@8
-GetSysColor@4
-GetSysColorBrush@4
-GetSystemMenu@8
-GetSystemMetrics@4
-GetTabbedTextExtentA@20
-GetTabbedTextExtentW@20
-GetThreadDesktop@4
-GetTitleBarInfo@8
-GetTopWindow@4
-GetUpdateRect@12
-GetUpdateRgn@12
-GetUserObjectInformationA@20
-GetUserObjectInformationW@20
-GetUserObjectSecurity@20
-GetWindow@8
-GetWindowContextHelpId@4
-_imp__GetWindowContextHelpId@4
-GetWindowDC@4
-GetWindowInfo@8
-GetWindowLongA@8
-GetWindowLongW@8
-GetWindowModuleFileName@12
-GetWindowModuleFileNameA@12
-GetWindowModuleFileNameW@12
-GetWindowPlacement@8
-GetWindowRect@8
-GetWindowRgn@8
-GetWindowTextA@12
-GetWindowTextLengthA@4
-GetWindowTextLengthW@4
-GetWindowTextW@12
-GetWindowThreadProcessId@8
-GetWindowWord@8
-GrayStringA@36
-GrayStringW@36
-HideCaret@4
-HiliteMenuItem@16
-ImpersonateDdeClientWindow@8
-InSendMessage@0
-InSendMessageEx@4
-InflateRect@12
-InsertMenuA@20
-InsertMenuItemA@16
-InsertMenuItemW@16
-InsertMenuW@20
-IntersectRect@12
-InvalidateRect@12
-InvalidateRgn@12
-InvertRect@8
-IsCharAlphaA@4
-IsCharAlphaNumericA@4
-IsCharAlphaNumericW@4
-IsCharAlphaW@4
-IsCharLowerA@4
-IsCharLowerW@4
-IsCharUpperA@4
-IsCharUpperW@4
-IsChild@8
-IsClipboardFormatAvailable@4
-IsDialogMessage@8
-IsDialogMessageA@8
-IsDialogMessageW@8
-IsDlgButtonChecked@8
-IsGUIThread@4
-IsHungAppWindow@4
-IsIconic@4
-IsMenu@4
-IsRectEmpty@4
-IsWinEventHookInstalled@4
-IsWindow@4
-IsWindowEnabled@4
-IsWindowUnicode@4
-IsWindowVisible@4
-IsZoomed@4
-KillSystemTimer@8
-KillTimer@8
-LoadAcceleratorsA@8
-LoadAcceleratorsW@8
-LoadBitmapA@8
-LoadBitmapW@8
-LoadCursorA@8
-LoadCursorFromFileA@4
-LoadCursorFromFileW@4
-LoadCursorW@8
-LoadIconA@8
-LoadIconW@8
-LoadImageA@24
-LoadImageW@24
-LoadKeyboardLayoutA@8
-LoadKeyboardLayoutW@8
-LoadMenuA@8
-LoadMenuIndirectA@4
-LoadMenuIndirectW@4
-LoadMenuW@8
-LoadStringA@16
-LoadStringW@16
-LockSetForegroundWindow@4
-LockWindowUpdate@4
-LockWorkStation@0
-LookupIconIdFromDirectory@8
-LookupIconIdFromDirectoryEx@20
-MapDialogRect@8
-MapVirtualKeyA@8
-MapVirtualKeyExA@12
-MapVirtualKeyExW@12
-MapVirtualKeyW@8
-MapWindowPoints@16
-MenuItemFromPoint@16
-MessageBeep@4
-MessageBoxA@16
-MessageBoxExA@20
-MessageBoxExW@20
-MessageBoxIndirectA@4
-MessageBoxIndirectW@4
-MessageBoxW@16
-ModifyMenuA@20
-ModifyMenuW@20
-MonitorFromPoint@12
-MonitorFromRect@8
-MonitorFromWindow@8
-MoveWindow@24
-MsgWaitForMultipleObjects@20
-MsgWaitForMultipleObjectsEx@20
-NotifyWinEvent@16
-OemKeyScan@4
-OemToCharA@8
-OemToCharBuffA@12
-OemToCharBuffW@12
-OemToCharW@8
-OffsetRect@12
-OpenClipboard@4
-OpenDesktopA@16
-OpenDesktopW@16
-OpenIcon@4
-OpenInputDesktop@12
-OpenWindowStationA@12
-OpenWindowStationW@12
-PackDDElParam@12
-PaintDesktop@4
-PeekMessageA@20
-PeekMessageW@20
-PostMessageA@16
-PostMessageW@16
-PostQuitMessage@4
-PostThreadMessageA@16
-PostThreadMessageW@16
-PrintWindow@12
-PtInRect@12
-RealChildWindowFromPoint@12
-RealGetWindowClassA@12
-RealGetWindowClassW@12
-RedrawWindow@16
-RegisterClassA@4
-RegisterClassExA@4
-RegisterClassExW@4
-RegisterClassW@4
-RegisterClipboardFormatA@4
-RegisterClipboardFormatW@4
-RegisterDeviceNotificationA@12
-RegisterDeviceNotificationW@12
-RegisterHotKey@16
-RegisterRawInputDevices@12
-RegisterWindowMessageA@4
-RegisterWindowMessageW@4
-ReleaseCapture@0
-ReleaseDC@8
-RemoveMenu@12
-RemovePropA@8
-RemovePropW@8
-ReplyMessage@4
-ReuseDDElParam@20
-ScreenToClient@8
-ScrollChildren@12
-ScrollDC@28
-ScrollWindow@20
-ScrollWindowEx@32
-SendDlgItemMessageA@20
-SendDlgItemMessageW@20
-SendInput@12
-SendMessageA@16
-SendMessageCallbackA@24
-SendMessageCallbackW@24
-SendMessageTimeoutA@28
-SendMessageTimeoutW@28
-SendMessageW@16
-SendNotifyMessageA@16
-SendNotifyMessageW@16
-SetActiveWindow@4
-SetCapture@4
-SetCaretBlinkTime@4
-SetCaretPos@8
-SetClassLongA@12
-SetClassLongW@12
-SetClassLongPtrA@12
-SetClassLongPtrW@12
-SetClassWord@12
-SetClipboardData@8
-SetClipboardViewer@4
-SetCursor@4
-SetCursorPos@8
-SetDebugErrorLevel@4
-SetDeskWallpaper@4
-SetDlgItemInt@16
-SetDlgItemTextA@12
-SetDlgItemTextW@12
-SetDoubleClickTime@4
-SetFocus@4
-SetForegroundWindow@4
-SetKeyboardState@4
-SetLastErrorEx@8
-SetLayeredWindowAttributes@16
-SetMenu@8
-SetMenuContextHelpId@8
-_imp__SetMenuContextHelpId@8
-SetMenuDefaultItem@12
-SetMenuInfo@8
-SetMenuItemBitmaps@20
-SetMenuItemInfoA@16
-SetMenuItemInfoW@16
-SetMessageExtraInfo@4
-SetMessageQueue@4
-SetParent@8
-SetProcessDefaultLayout@4
-SetProcessWindowStation@4
-SetPropA@12
-SetPropW@12
-SetRect@20
-SetRectEmpty@4
-SetScrollInfo@16
-SetScrollPos@16
-SetScrollRange@20
-SetShellWindow@4
-SetSysColors@12
-SetSystemCursor@8
-SetSystemMenu@8
-SetSystemTimer@16
-SetThreadDesktop@4
-SetTimer@16
-SetUserObjectInformationA@16
-SetUserObjectInformationW@16
-SetUserObjectSecurity@12
-SetWinEventHook@28
-SetWindowContextHelpId@8
-_imp__SetWindowContextHelpId@8
-SetWindowLongA@12
-SetWindowLongW@12
-SetWindowPlacement@8
-SetWindowPos@28
-SetWindowRgn@12
-SetWindowTextA@8
-SetWindowTextW@8
-SetWindowWord@12
-SetWindowsHookA@8
-SetWindowsHookExA@16
-SetWindowsHookExW@16
-SetWindowsHookW@8
-ShowCaret@4
-ShowCursor@4
-ShowOwnedPopups@8
-ShowScrollBar@12
-ShowWindow@8
-ShowWindowAsync@8
-SubtractRect@12
-SwapMouseButton@4
-SwitchDesktop@4
-SwitchToThisWindow@8
-SystemParametersInfoA@16
-SystemParametersInfoW@16
-TabbedTextOutA@32
-TabbedTextOutW@32
-TileChildWindows@8
-TileWindows@20
-ToAscii@20
-ToAsciiEx@24
-ToUnicode@24
-ToUnicodeEx@28
-TrackMouseEvent@4
-TrackPopupMenu@28
-TrackPopupMenuEx@24
-TranslateAccelerator@12
-TranslateAcceleratorA@12
-TranslateAcceleratorW@12
-TranslateMDISysAccel@8
-TranslateMessage@4
-UnhookWinEvent@4
-UnhookWindowsHook@8
-UnhookWindowsHookEx@4
-UnionRect@12
-UnloadKeyboardLayout@4
-UnpackDDElParam@16
-UnregisterClassA@8
-UnregisterClassW@8
-UnregisterDeviceNotification@4
-UnregisterHotKey@8
-UpdateLayeredWindow@36
-UpdateWindow@4
-UserHandleGrantAccess@12
-ValidateRect@8
-ValidateRgn@8
-VkKeyScanA@4
-VkKeyScanExA@8
-VkKeyScanExW@8
-VkKeyScanW@4
-WaitForInputIdle@8
-WaitMessage@0
-WinHelpA@16
-WinHelpW@16
-WindowFromDC@4
-WindowFromPoint@8
-keybd_event@16
-mouse_event@20
-wsprintfA
-wsprintfW
-wvsprintfA@12
-wvsprintfW@12
diff --git a/winsup/w32api/lib/userenv.def b/winsup/w32api/lib/userenv.def
deleted file mode 100644
index b74cb9236..000000000
--- a/winsup/w32api/lib/userenv.def
+++ /dev/null
@@ -1,11 +0,0 @@
-LIBRARY USERENV.dll
-EXPORTS
-LoadUserProfileA@8
-LoadUserProfileW@8
-UnloadUserProfile@8
-GetProfilesDirectoryA@8
-GetProfilesDirectoryW@8
-GetUserProfileDirectoryA@12
-GetUserProfileDirectoryW@12
-CreateEnvironmentBlock@12
-DestroyEnvironmentBlock@4
diff --git a/winsup/w32api/lib/uuid.c b/winsup/w32api/lib/uuid.c
deleted file mode 100644
index 4598fbe04..000000000
--- a/winsup/w32api/lib/uuid.c
+++ /dev/null
@@ -1,342 +0,0 @@
-/*
- Generate GUIDs for OLE and other interfaces.
-
- This file was generated by extracting the names of all GUIDs
- from uuid.lib. The names were in turn processed by a script
- to build a C program that when run generated this file.
- Some definitions were added by hand afterwards.
-*/
-
-/*
- TODO: Break up into smaller units, based on declarations in headers.
-*/
-
-#define INITGUID
-#include <basetyps.h>
-DEFINE_GUID(ARRAYID_PathProperties,0x7ecbba04,0x2d97,0x11cf,0xa2,0x29,0,0xaa,0,0x3d,0x73,0x52);
-DEFINE_GUID(CATID_Control,0x40fc6ed4,0x2438,0x11cf,0xa3,0xdb,0x8,0,0x36,0xf1,0x25,0x2);
-DEFINE_GUID(CATID_DocObject,0x40fc6ed8,0x2438,0x11cf,0xa3,0xdb,0x8,0,0x36,0xf1,0x25,0x2);
-DEFINE_GUID(CATID_Insertable,0x40fc6ed3,0x2438,0x11cf,0xa3,0xdb,0x8,0,0x36,0xf1,0x25,0x2);
-DEFINE_GUID(CATID_InternetAware,0xde86a58,0x2baa,0x11cf,0xa2,0x29,0,0xaa,0,0x3d,0x73,0x52);
-DEFINE_GUID(CATID_IsShortcut,0x40fc6ed6,0x2438,0x11cf,0xa3,0xdb,0x8,0,0x36,0xf1,0x25,0x2);
-DEFINE_GUID(CATID_NeverShowExt,0x40fc6ed7,0x2438,0x11cf,0xa3,0xdb,0x8,0,0x36,0xf1,0x25,0x2);
-DEFINE_GUID(CATID_PersistsToFile,0xde86a56,0x2baa,0x11cf,0xa2,0x29,0,0xaa,0,0x3d,0x73,0x52);
-DEFINE_GUID(CATID_PersistsToMemory,0xde86a55,0x2baa,0x11cf,0xa2,0x29,0,0xaa,0,0x3d,0x73,0x52);
-DEFINE_GUID(CATID_PersistsToMoniker,0xde86a51,0x2baa,0x11cf,0xa2,0x29,0,0xaa,0,0x3d,0x73,0x52);
-DEFINE_GUID(CATID_PersistsToPropertyBag,0xde86a57,0x2baa,0x11cf,0xa2,0x29,0,0xaa,0,0x3d,0x73,0x52);
-DEFINE_GUID(CATID_PersistsToStorage,0xde86a52,0x2baa,0x11cf,0xa2,0x29,0,0xaa,0,0x3d,0x73,0x52);
-DEFINE_GUID(CATID_PersistsToStream,0xde86a54,0x2baa,0x11cf,0xa2,0x29,0,0xaa,0,0x3d,0x73,0x52);
-DEFINE_GUID(CATID_PersistsToStreamInit,0xde86a53,0x2baa,0x11cf,0xa2,0x29,0,0xaa,0,0x3d,0x73,0x52);
-DEFINE_GUID(CATID_Printable,0x40fc6ed9,0x2438,0x11cf,0xa3,0xdb,0x8,0,0x36,0xf1,0x25,0x2);
-DEFINE_GUID(CATID_Programmable,0x40fc6ed5,0x2438,0x11cf,0xa3,0xdb,0x8,0,0x36,0xf1,0x25,0x2);
-DEFINE_GUID(CATID_RequiresDataPathHost,0xde86a50,0x2baa,0x11cf,0xa2,0x29,0,0xaa,0,0x3d,0x73,0x52);
-DEFINE_GUID(CATID_SafeForInitializing,0x7dd95802,0x9882,0x11cf,0x9f,0xa9,0,0xaa,0,0x6c,0x42,0xc4);
-DEFINE_GUID(CATID_SafeForScripting,0x7dd95801,0x9882,0x11cf,0x9f,0xa9,0,0xaa,0,0x6c,0x42,0xc4);
-DEFINE_GUID(CLSID_AllClasses,0x330,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(CLSID_CColorPropPage,0xbe35201,0x8f91,0x11ce,0x9d,0xe3,0,0xaa,0,0x4b,0xb8,0x51);
-DEFINE_GUID(CLSID_CFontPropPage, 0x0be35200,0x8f91,0x11ce,0x9d,0xe3,0x00,0xaa,0x00,0x4b,0xb8,0x51);
-DEFINE_GUID(CLSID_CPicturePropPage,0xbe35202,0x8f91,0x11ce,0x9d,0xe3,0,0xaa,0,0x4b,0xb8,0x51);
-DEFINE_GUID(CLSID_ConvertVBX,0xfb8f0822,0x164,0x101b,0x84,0xed,0x8,0,0x2b,0x2e,0xc7,0x13);
-DEFINE_GUID(CLSID_CurrentUserClasses,0x332,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(CLSID_FileProtocol,0x79eac9e7,0xbaf9,0x11ce,0x8c,0x82,0,0xaa,0,0x4b,0xa9,0xb);
-DEFINE_GUID(CLSID_FtpProtocol,0x79eac9e3,0xbaf9,0x11ce,0x8c,0x82,0,0xaa,0,0x4b,0xa9,0xb);
-DEFINE_GUID(CLSID_GopherProtocol,0x79eac9e4,0xbaf9,0x11ce,0x8c,0x82,0,0xaa,0,0x4b,0xa9,0xb);
-DEFINE_GUID(CLSID_HttpProtocol,0x79eac9e2,0xbaf9,0x11ce,0x8c,0x82,0,0xaa,0,0x4b,0xa9,0xb);
-DEFINE_GUID(CLSID_HttpSProtocol,0x79eac9e5,0xbaf9,0x11ce,0x8c,0x82,0,0xaa,0,0x4b,0xa9,0xb);
-DEFINE_GUID(CLSID_IdentityUnmarshal,0x1b,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(CLSID_InProcFreeMarshaler,0x1c,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(CLSID_LocalMachineClasses,0x331,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(CLSID_MkProtocol,0x79eac9e6,0xbaf9,0x11ce,0x8c,0x82,0,0xaa,0,0x4b,0xa9,0xb);
-DEFINE_GUID(CLSID_PSBindCtx,0x312,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(CLSID_PSClassObject,0x30E,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(CLSID_PSClientSite,0x30d,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(CLSID_PSDragDrop,0x311,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(CLSID_PSEnumerators,0x313,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(CLSID_PSGenObject,0x30c,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(CLSID_PSInPlaceActive,0x30f,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(CLSID_PSInPlaceFrame,0x310,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(CLSID_PSUrlMonProxy,0x79eac9f1,0xbaf9,0x11ce,0x8c,0x82,0,0xaa,0,0x4b,0xa9,0xb);
-DEFINE_GUID(CLSID_PersistPropset,0xfb8f0821,0x164,0x101b,0x84,0xed,0x8,0,0x2b,0x2e,0xc7,0x13);
-DEFINE_GUID(CLSID_Picture_Dib,0x316,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(CLSID_Picture_EnhMetafile,0x319,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(CLSID_Picture_Metafile,0x315,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(CLSID_StaticDib,0x316,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(CLSID_StaticMetafile,0x315,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(CLSID_StdComponentCategoriesMgr,0x2e005,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(CLSID_StdFont,0xbe35203,0x8f91,0x11ce,0x9d,0xe3,0,0xaa,0,0x4b,0xb8,0x51);
-DEFINE_GUID(CLSID_StdHlink,0x79eac9d0,0xbaf9,0x11ce,0x8c,0x82,0,0xaa,0,0x4b,0xa9,0xb);
-DEFINE_GUID(CLSID_StdHlinkBrowseContext,0x79eac9d1,0xbaf9,0x11ce,0x8c,0x82,0,0xaa,0,0x4b,0xa9,0xb);
-DEFINE_GUID(CLSID_StdMarshal,0x17,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(CLSID_StdPicture,0xbe35204,0x8f91,0x11ce,0x9d,0xe3,0,0xaa,0,0x4b,0xb8,0x51);
-DEFINE_GUID(CLSID_StdURLMoniker,0x79eac9e0,0xbaf9,0x11ce,0x8c,0x82,0,0xaa,0,0x4b,0xa9,0xb);
-DEFINE_GUID(CLSID_StdURLProtocol,0x79eac9e1,0xbaf9,0x11ce,0x8c,0x82,0,0xaa,0,0x4b,0xa9,0xb);
-DEFINE_GUID(CLSID_WebBrowser,0x8856f961,0x340a,0x11d0,0xa9,0x6b,0x0,0xc0,0x4f,0xd7,0x5,0xa2);
-DEFINE_GUID(DIID_DWebBrowserEvents,0xeab22ac2,0x30c1,0x11cf,0xa7,0xeb,0x0,0x0,0xc0,0x5b,0xae,0x0b);
-DEFINE_GUID(DIID_DWebBrowserEvents2,0x34a715a0,0x6587,0x11d0,0x92,0x4a,0x0,0x20,0xaf,0xc7,0xac,0x4d);
-DEFINE_GUID(FLAGID_Internet,0x96300da0,0x2bab,0x11cf,0xa2,0x29,0,0xaa,0,0x3d,0x73,0x52);
-DEFINE_GUID(FMTID_DocSummaryInformation,0xd5cdd502,0x2e9c,0x101b,0x93,0x97,0x8,0,0x2b,0x2c,0xf9,0xae);
-DEFINE_GUID(FMTID_SummaryInformation,0xf29f85e0,0x4ff9,0x1068,0xab,0x91,0x8,0,0x2b,0x27,0xb3,0xd9);
-DEFINE_GUID(FMTID_UserDefinedProperties,0xd5cdd505,0x2e9c,0x101b,0x93,0x97,0x8,0,0x2b,0x2c,0xf9,0xae);
-DEFINE_GUID(GUID_CHECKVALUEEXCLUSIVE,0x6650430c,0xbe0f,0x101a,0x8b,0xbb,0,0xaa,0,0x30,0xc,0xab);
-DEFINE_GUID(GUID_COLOR,0x66504301,0xbe0f,0x101a,0x8b,0xbb,0,0xaa,0,0x30,0xc,0xab);
-DEFINE_GUID(GUID_FONTBOLD,0x6650430f,0xbe0f,0x101a,0x8b,0xbb,0,0xaa,0,0x30,0xc,0xab);
-DEFINE_GUID(GUID_FONTITALIC,0x66504310,0xbe0f,0x101a,0x8b,0xbb,0,0xaa,0,0x30,0xc,0xab);
-DEFINE_GUID(GUID_FONTNAME,0x6650430d,0xbe0f,0x101a,0x8b,0xbb,0,0xaa,0,0x30,0xc,0xab);
-DEFINE_GUID(GUID_FONTSIZE,0x6650430e,0xbe0f,0x101a,0x8b,0xbb,0,0xaa,0,0x30,0xc,0xab);
-DEFINE_GUID(GUID_FONTSTRIKETHROUGH,0x66504312,0xbe0f,0x101a,0x8b,0xbb,0,0xaa,0,0x30,0xc,0xab);
-DEFINE_GUID(GUID_FONTUNDERSCORE,0x66504311,0xBE0F,0x101A,0x8B,0xBB,0x00,0xAA,0x00,0x30,0x0C,0xAB);
-DEFINE_GUID(GUID_HANDLE,0x66504313,0xbe0f,0x101a,0x8b,0xbb,0,0xaa,0,0x30,0xc,0xab);
-DEFINE_GUID(GUID_HIMETRIC,0x66504300,0xbe0f,0x101a,0x8b,0xbb,0,0xaa,0,0x30,0xc,0xab);
-DEFINE_GUID(GUID_HasPathProperties,0x2de81,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(GUID_NULL,0,0,0,0,0,0,0,0,0,0,0);
-DEFINE_GUID(GUID_OPTIONVALUEEXCLUSIVE,0x6650430b,0xbe0f,0x101a,0x8b,0xbb,0,0xaa,0,0x30,0xc,0xab);
-DEFINE_GUID(GUID_PathProperty,0x2de80,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(GUID_TRISTATE,0x6650430a,0xbe0f,0x101a,0x8b,0xbb,0,0xaa,0,0x30,0xc,0xab);
-DEFINE_GUID(GUID_XPOS,0x66504306,0xbe0f,0x101a,0x8b,0xbb,0,0xaa,0,0x30,0xc,0xab);
-DEFINE_GUID(GUID_XPOSPIXEL,0x66504302,0xbe0f,0x101a,0x8b,0xbb,0,0xaa,0,0x30,0xc,0xab);
-DEFINE_GUID(GUID_XSIZE,0x66504308,0xbe0f,0x101a,0x8b,0xbb,0,0xaa,0,0x30,0xc,0xab);
-DEFINE_GUID(GUID_XSIZEPIXEL,0x66504304,0xbe0f,0x101a,0x8b,0xbb,0,0xaa,0,0x30,0xc,0xab);
-DEFINE_GUID(GUID_YPOS,0x66504307,0xbe0f,0x101a,0x8b,0xbb,0,0xaa,0,0x30,0xc,0xab);
-DEFINE_GUID(GUID_YPOSPIXEL,0x66504303,0xbe0f,0x101a,0x8b,0xbb,0,0xaa,0,0x30,0xc,0xab);
-DEFINE_GUID(GUID_YSIZE,0x66504309,0xbe0f,0x101a,0x8b,0xbb,0,0xaa,0,0x30,0xc,0xab);
-DEFINE_GUID(GUID_YSIZEPIXEL,0x66504305,0xbe0f,0x101a,0x8b,0xbb,0,0xaa,0,0x30,0xc,0xab);
-DEFINE_GUID(IID_IAccessible,0x618736e0,0x3c3d,0x11cf,0x81,0x0c,0x00,0xaa,0x00,0x38,0x9b,0x71);
-DEFINE_GUID(LIBID_Accessibility, 0x1ea4dbf0, 0x3c3b,0x11cf, 0x81, 0x0c, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71);
-DEFINE_GUID(IID_IActiveScript,0xbb1a2ae1,0xa4f9,0x11cf,0x8f,0x20,0,0x80,0x5f,0x2c,0xd0,0x64);
-DEFINE_GUID(IID_IActiveScriptError,0xeae1ba61,0xa4ed,0x11cf,0x8f,0x20,0,0x80,0x5f,0x2c,0xd0,0x64);
-DEFINE_GUID(IID_IActiveScriptParse,0xbb1a2ae2,0xa4f9,0x11cf,0x8f,0x20,0,0x80,0x5f,0x2c,0xd0,0x64);
-DEFINE_GUID(IID_IActiveScriptSite,0xdb01a1e3,0xa42b,0x11cf,0x8f,0x20,0,0x80,0x5f,0x2c,0xd0,0x64);
-DEFINE_GUID(IID_IActiveScriptSiteWindow,0xd10f6761,0x83e9,0x11cf,0x8f,0x20,0,0x80,0x5f,0x2c,0xd0,0x64);
-DEFINE_GUID(IID_IAdviseSink,0x10f,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(IID_IAdviseSink2,0x125,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(IID_IAdviseSinkEx,0x3af24290,0xc96,0x11ce,0xa0,0xcf,0,0xaa,0,0x60,0xa,0xb8);
-DEFINE_GUID(IID_IAsyncMoniker,0x79eac9d3,0xbaf9,0x11ce,0x8c,0x82,0,0xaa,0,0x4b,0xa9,0xb);
-DEFINE_GUID(IID_IAuthenticate,0x79eac9d0,0xbaf9,0x11ce,0x8c,0x82,0,0xaa,0,0x4b,0xa9,0xb);
-DEFINE_GUID(IID_IBindCtx,0xe,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(IID_IBindHost,0xfc4801a1,0x2ba9,0x11cf,0xa2,0x29,0,0xaa,0,0x3d,0x73,0x52);
-DEFINE_GUID(IID_IBindProtocol,0x79eac9cd,0xbaf9,0x11ce,0x8c,0x82,0,0xaa,0,0x4b,0xa9,0xb);
-DEFINE_GUID(IID_IBindStatusCallback,0x79eac9c1,0xbaf9,0x11ce,0x8c,0x82,0,0xaa,0,0x4b,0xa9,0xb);
-DEFINE_GUID(IID_IBindStatusCallbackMsg,0x79eac9cb,0xbaf9,0x11ce,0x8c,0x82,0,0xaa,0,0x4b,0xa9,0xb);
-DEFINE_GUID(IID_IBinding,0x79eac9c0,0xbaf9,0x11ce,0x8c,0x82,0,0xaa,0,0x4b,0xa9,0xb);
-DEFINE_GUID(IID_ICatInformation,0x2e013,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(IID_ICatRegister,0x2e012,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(IID_IChannelHook,0x1008c4a0,0x7613,0x11cf,0x9a,0xf1,0,0x20,0xaf,0x6e,0x72,0xf4);
-DEFINE_GUID(IID_IClassActivator,0x140,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(IID_IClassFactory,0x1,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(IID_IClassFactory2,0xb196b28f,0xbab4,0x101a,0xb6,0x9c,0,0xaa,0,0x34,0x1d,0x7);
-DEFINE_GUID(IID_IClientSecurity,0x13D,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(IID_IClientSiteHandler,0xf4f569d1,0x593b,0x101a,0xb5,0x69,0x8,0,0x2b,0x2d,0xbf,0x7a);
-DEFINE_GUID(IID_ICodeInstall,0x79eac9d1,0xbaf9,0x11ce,0x8c,0x82,0,0xaa,0,0x4b,0xa9,0xb);
-DEFINE_GUID(IID_IConnectionPoint,0xb196b286,0xbab4,0x101a,0xb6,0x9c,0,0xaa,0,0x34,0x1d,0x7);
-DEFINE_GUID(IID_IConnectionPointContainer,0xb196b284,0xbab4,0x101a,0xb6,0x9c,0,0xaa,0,0x34,0x1d,0x7);
-DEFINE_GUID(IID_IContinue,0x12a,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(IID_IContinueCallback,0xb722bcca,0x4e68,0x101b,0xa2,0xbc,0,0xaa,0,0x40,0x47,0x70);
-DEFINE_GUID(IID_ICreateErrorInfo,0x22f03340,0x547d,0x101b,0x8e,0x65,0x8,0,0x2b,0x2b,0xd1,0x19);
-DEFINE_GUID(IID_ICreateTypeInfo,0x20405,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(IID_ICreateTypeInfo2,0x2040e,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(IID_ICreateTypeLib,0x20406,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(IID_ICreateTypeLib2,0x2040F,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(IID_IDataAdviseHolder,0x110,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(IID_IDataObject,0x10e,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(IID_IDebug,0x123,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(IID_IDebugStream,0x124,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(IID_IDfReserved1,0x13,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(IID_IDfReserved2,0x14,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(IID_IDfReserved3,0x15,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(IID_IDispatch,0x20400,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(IID_IDropSource,0x121,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(IID_IDropTarget,0x122,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(IID_IEnumCATEGORYINFO,0x2e011,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(IID_IEnumCallback,0x108,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(IID_IEnumConnectionPoints,0xb196b285,0xbab4,0x101a,0xb6,0x9c,0,0xaa,0,0x34,0x1d,0x7);
-DEFINE_GUID(IID_IEnumConnections,0xb196b287,0xbab4,0x101a,0xb6,0x9c,0,0xaa,0,0x34,0x1d,0x7);
-DEFINE_GUID(IID_IEnumFORMATETC,0x103,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(IID_IEnumGUID,0x2e000,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(IID_IEnumGeneric,0x106,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(IID_IEnumHLITEM,0x79eac9c6,0xbaf9,0x11ce,0x8c,0x82,0,0xaa,0,0x4b,0xa9,0xb);
-DEFINE_GUID(IID_IEnumHolder,0x107,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(IID_IEnumMoniker,0x102,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(IID_IEnumOLEVERB,0x104,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(IID_IEnumOleDocumentViews,0xb722bcc8,0x4e68,0x101b,0xa2,0xbc,0,0xaa,0,0x40,0x47,0x70);
-DEFINE_GUID(IID_IEnumOleUndoUnits,0xb3e7c340,0xef97,0x11ce,0x9b,0xc9,0,0xaa,0,0x60,0x8e,0x1);
-DEFINE_GUID(IID_IEnumSTATDATA,0x105,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(IID_IEnumSTATPROPSETSTG,0x13b,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(IID_IEnumSTATPROPSTG,0x139,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(IID_IEnumSTATSTG,0xd,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(IID_IEnumSTATURL,0x3c374a42,0xbae4,0x11cf,0xbf,0x7d,0,0xaa,0,0x69,0x46,0xee);
-DEFINE_GUID(IID_IEnumString,0x101,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(IID_IEnumUnknown,0x100,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(IID_IEnumVARIANT,0x20404,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(IID_IErrorInfo,0x1cf2b120,0x547d,0x101b,0x8e,0x65,0x8,0,0x2b,0x2b,0xd1,0x19);
-DEFINE_GUID(IID_IErrorLog,0x3127ca40,0x446e,0x11ce,0x81,0x35,0,0xaa,0,0x4b,0xb8,0x51);
-DEFINE_GUID(IID_IExternalConnection,0x19,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(IID_IFillLockBytes,0x99caf010,0x415e,0x11cf,0x88,0x14,0,0xaa,0,0xb5,0x69,0xf5);
-DEFINE_GUID(IID_IFilter,0x89bcb740,0x6119,0x101a,0xbc,0xb7,0,0xdd,0x1,0x6,0x55,0xaf);
-DEFINE_GUID(IID_IFont,0xbef6e002,0xa874,0x101a,0x8b,0xba,0,0xaa,0,0x30,0xc,0xab);
-DEFINE_GUID(IID_IFontDisp,0xbef6e003,0xa874,0x101a,0x8b,0xba,0,0xaa,0,0x30,0xc,0xab);
-DEFINE_GUID(IID_IGlobalInterfaceTable,0x146,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(IID_IHlink,0x79eac9c3,0xbaf9,0x11ce,0x8c,0x82,0,0xaa,0,0x4b,0xa9,0xb);
-DEFINE_GUID(IID_IHlinkBrowseContext,0x79eac9c7,0xbaf9,0x11ce,0x8c,0x82,0,0xaa,0,0x4b,0xa9,0xb);
-DEFINE_GUID(IID_IHlinkFrame,0x79eac9c5,0xbaf9,0x11ce,0x8c,0x82,0,0xaa,0,0x4b,0xa9,0xb);
-DEFINE_GUID(IID_IHlinkSite,0x79eac9c2,0xbaf9,0x11ce,0x8c,0x82,0,0xaa,0,0x4b,0xa9,0xb);
-DEFINE_GUID(IID_IHlinkTarget,0x79eac9c4,0xbaf9,0x11ce,0x8c,0x82,0,0xaa,0,0x4b,0xa9,0xb);
-DEFINE_GUID(IID_IHttpNegotiate,0x79eac9d2,0xbaf9,0x11ce,0x8c,0x82,0,0xaa,0,0x4b,0xa9,0xb);
-DEFINE_GUID(IID_IHttpSecurity,0x79eac9d7,0xbafa,0x11ce,0x8c,0x82,0,0xaa,0,0x4b,0xa9,0xb);
-DEFINE_GUID(IID_IInternalMoniker,0x11,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(IID_ILayoutStorage,0xe6d4d90,0x6738,0x11cf,0x96,0x8,0,0xaa,0,0x68,0xd,0xb4);
-DEFINE_GUID(IID_ILockBytes,0xa,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(IID_IMalloc,0x2,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(IID_IMallocSpy,0x1d,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(IID_IMarshal,0x3,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(IID_IMessageFilter,0x16,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(IID_IMimeInfo,0xf77459a0,0xbf9a,0x11cf,0xba,0x4e,0,0xc0,0x4f,0xd7,0x8,0x16);
-DEFINE_GUID(IID_IMoniker,0xf,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(IID_IMultiQI,0x20,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(IID_IObjectSafety,0xcb5bdc81,0x93c1,0x11cf,0x8f,0x20,0,0x80,0x5f,0x2c,0xd0,0x64);
-DEFINE_GUID(IID_IObjectWithSite,0xfc4801a3,0x2ba9,0x11cf,0xa2,0x29,0,0xaa,0,0x3d,0x73,0x52);
-DEFINE_GUID(IID_IOleAdviseHolder,0x111,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(IID_IOleCache,0x11e,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(IID_IOleCache2,0x128,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(IID_IOleCacheControl,0x129,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(IID_IOleClientSite,0x118,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(IID_IOleCommandTarget,0xb722bccb,0x4e68,0x101b,0xa2,0xbc,0,0xaa,0,0x40,0x47,0x70);
-DEFINE_GUID(IID_IOleContainer,0x11b,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(IID_IOleControl,0xb196b288,0xbab4,0x101a,0xb6,0x9c,0,0xaa,0,0x34,0x1d,0x7);
-DEFINE_GUID(IID_IOleControlSite,0xB196B289,0xBAB4,0x101A,0xB6,0x9C,0x00,0xAA,0x00,0x34,0x1D,0x07);
-DEFINE_GUID(IID_IOleDocument,0xb722bcc5,0x4e68,0x101b,0xa2,0xbc,0,0xaa,0,0x40,0x47,0x70);
-DEFINE_GUID(IID_IOleDocumentSite,0xb722bcc7,0x4e68,0x101b,0xa2,0xbc,0,0xaa,0,0x40,0x47,0x70);
-DEFINE_GUID(IID_IOleDocumentView,0xb722bcc6,0x4e68,0x101b,0xa2,0xbc,0,0xaa,0,0x40,0x47,0x70);
-DEFINE_GUID(IID_IOleInPlaceActiveObject,0x117,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(IID_IOleInPlaceFrame,0x116,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(IID_IOleInPlaceObject,0x113,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(IID_IOleInPlaceObjectWindowless,0x1c2056cc,0x5ef4,0x101b,0x8b,0xc8,0,0xaa,0,0x3e,0x3b,0x29);
-DEFINE_OLEGUID(IID_IOleInPlaceSite,0x00000119,0,0);
-DEFINE_GUID(IID_IOleInPlaceSiteEx,0x9c2cad80,0x3424,0x11cf,0xb6,0x70,0,0xaa,0,0x4c,0xd6,0xd8);
-DEFINE_GUID(IID_IOleInPlaceSiteWindowless,0x922eada0,0x3424,0x11cf,0xb6,0x70,0,0xaa,0,0x4c,0xd6,0xd8);
-DEFINE_GUID(IID_IOleInPlaceUIWindow,0x115,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(IID_IOleItemContainer,0x11c,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(IID_IOleLink,0x11d,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(IID_IOleManager,0x11f,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(IID_IOleObject,0x112,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(IID_IOleParentUndoUnit,0xa1faf330,0xef97,0x11ce,0x9b,0xc9,0,0xaa,0,0x60,0x8e,0x1);
-DEFINE_GUID(IID_IOlePresObj,0x120,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(IID_IOleUndoManager00,0x97d001f2,0xceef,0x9b11,0xc9,0,0xaa,0,0x60,0x8e,0x1,0);
-DEFINE_GUID(IID_IOleUndoManager,0xd001f200,0xef97,0x11ce,0x9b,0xc9,0,0xaa,0,0x60,0x8e,0x1);
-DEFINE_GUID(IID_IOleUndoUnit,0x894ad3b0,0xef97,0x11ce,0x9b,0xc9,0,0xaa,0,0x60,0x8e,0x1);
-DEFINE_GUID(IID_IOleWindow,0x114,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(IID_IOverlappedCompletion,0x521a28f0,0xe40b,0x11ce,0xb2,0xc9,0,0xaa,0,0x68,0x9,0x37);
-DEFINE_GUID(IID_IOverlappedStream,0x49384070,0xe40a,0x11ce,0xb2,0xc9,0,0xaa,0,0x68,0x9,0x37);
-DEFINE_GUID(IID_IPSFactory,0x9,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(IID_IPSFactoryBuffer,0xd5f569d0,0x593b,0x101a,0xb5,0x69,0x8,0,0x2b,0x2d,0xbf,0x7a);
-DEFINE_GUID(IID_IParseDisplayName,0x11a,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(IID_IPerPropertyBrowsing,0x376bd3aa,0x3845,0x101b,0x84,0xed,0x8,0,0x2b,0x2e,0xc7,0x13);
-DEFINE_GUID(IID_IPersist,0x10c,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(IID_IPersistFile,0x10b,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(IID_IPersistMemory,0xbd1ae5e0,0xa6ae,0x11ce,0xbd,0x37,0x50,0x42,0,0xc1,0,0);
-DEFINE_GUID(IID_IPersistMoniker,0x79eac9c9,0xbaf9,0x11ce,0x8c,0x82,0,0xaa,0,0x4b,0xa9,0x0b);
-DEFINE_GUID(IID_IPersistPropertyBag,0x37d84f60,0x42cb,0x11ce,0x81,0x35,0,0xaa,0,0x4b,0xb8,0x51);
-DEFINE_GUID(IID_IPersistPropertyBag2,0x22f55881,0x280b,0x11d0,0xa8,0xa9,0,0xa0,0xc9,0xc,0x20,4);
-DEFINE_OLEGUID(IID_IPersistStorage,0x0000010a,0,0);
-DEFINE_GUID(IID_IPersistStream,0x109,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(IID_IPersistStreamInit,0x7fd52380,0x4e07,0x101b,0xae,0x2d,0x8,0,0x2b,0x2e,0xc7,0x13);
-DEFINE_GUID(IID_IPicture,0x7bf80980,0xbf32,0x101a,0x8b,0xbb,0,0xaa,0,0x30,0xc,0xab);
-DEFINE_GUID(IID_IPictureDisp,0x7bf80981,0xbf32,0x101a,0x8b,0xbb,0,0xaa,0,0x30,0xc,0xab);
-DEFINE_GUID(IID_IPointerInactive,0x55980ba0,0x35aa,0x11cf,0xb6,0x71,0,0xaa,0,0x4c,0xd6,0xd8);
-DEFINE_GUID(IID_IPrint,0xb722bcc9,0x4e68,0x101b,0xa2,0xbc,0,0xaa,0,0x40,0x47,0x70);
-DEFINE_GUID(IID_IProgressNotify,0xa9d758a0,0x4617,0x11cf,0x95,0xfc,0,0xaa,0,0x68,0xd,0xb4);
-DEFINE_GUID(IID_IPropertyBag,0x55272a00,0x42cb,0x11ce,0x81,0x35,0,0xaa,0,0x4b,0xb8,0x51);
-DEFINE_GUID(IID_IPropertyBag2,0x22f55882,0x280b,0x11d0,0xa8,0xa9,0,0xa0,0xc9,0xc,0x20,4);
-DEFINE_GUID(IID_IPropertyFrame,0xb196b28a,0xbab4,0x101a,0xb6,0x9c,0,0xaa,0,0x34,0x1d,0x7);
-DEFINE_GUID(IID_IPropertyNotifySink,0x9bfbbc02,0xeff1,0x101a,0x84,0xed,0,0xaa,0,0x34,0x1d,0x7);
-DEFINE_GUID(IID_IPropertyPage,0xb196b28d,0xbab4,0x101a,0xb6,0x9c,0,0xaa,0,0x34,0x1d,0x7);
-DEFINE_GUID(IID_IPropertyPage2,0x1e44665,0x24ac,0x101b,0x84,0xed,0x8,0,0x2b,0x2e,0xc7,0x13);
-DEFINE_GUID(IID_IPropertyPageSite,0xb196b28c,0xbab4,0x101a,0xb6,0x9c,0,0xaa,0,0x34,0x1d,0x7);
-DEFINE_GUID(IID_IPropertySetStorage,0x13a,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(IID_IPropertyStorage,0x138,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(IID_IProvideClassInfo,0xb196b283,0xbab4,0x101a,0xb6,0x9c,0,0xaa,0,0x34,0x1d,0x7);
-DEFINE_GUID(IID_IProvideClassInfo2,0xa6bc3ac0,0xdbaa,0x11ce,0x9d,0xe3,0,0xaa,0,0x4b,0xb8,0x51);
-DEFINE_GUID(IID_IProxy,0x27,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(IID_IProxyManager,0x8,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(IID_IQuickActivate,0xcf51ed10,0x62fe,0x11cf,0xbf,0x86,0,0xa0,0xc9,0x3,0x48,0x36);
-DEFINE_GUID(IID_IROTData,0xf29f6bc0,0x5021,0x11ce,0xaa,0x15,0,0,0x69,0x1,0x29,0x3f);
-DEFINE_GUID(IID_IRichEditOle,0x20d00,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(IID_IRichEditOleCallback,0x20d03,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(IID_IRootStorage,0x12,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(IID_IRpcChannel,0x4,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(IID_IRpcChannelBuffer,0xd5f56b60,0x593b,0x101a,0xb5,0x69,0x8,0,0x2b,0x2d,0xbf,0x7a);
-DEFINE_GUID(IID_IRpcProxy,0x7,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(IID_IRpcProxyBuffer,0xd5f56a34,0x593b,0x101a,0xb5,0x69,8,0,0x2b,0x2d,0xbf,0x7a);
-DEFINE_GUID(IID_IRpcProxyBuffer34,0x3bd5f56a,0x1a59,0xb510,0x69,0x8,0,0x2b,0x2d,0xbf,0x7a,0);
-DEFINE_GUID(IID_IRpcStub,0x5,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(IID_IRpcStubBuffer,0xd5f56afc,0x593b,0x101a,0xb5,0x69,0x8,0,0x2b,0x2d,0xbf,0x7a);
-DEFINE_OLEGUID(IID_IRunnableObject,0x00000126,0,0);
-DEFINE_GUID(IID_IRunningObjectTable,0x10,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(IID_ISequentialStream,0xc733a30,0x2a1c,0x11ce,0xad,0xe5,0,0xaa,0,0x44,0x77,0x3d);
-DEFINE_GUID(IID_IServerHandler,0xf4f569d0,0x593b,0x101a,0xb5,0x69,0x8,0,0x2b,0x2d,0xbf,0x7a);
-DEFINE_GUID(IID_IServerSecurity,0x13E,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(IID_IServiceProvider,0x6d5140c1,0x7436,0x11ce,0x80,0x34,0,0xaa,0,0x60,0x9,0xfa);
-DEFINE_GUID(IID_ISimpleFrameSite,0x742b0e01,0x14e6,0x101b,0x91,0x4e,0,0xaa,0,0x30,0xc,0xab);
-DEFINE_GUID(IID_ISpecifyPropertyPages,0xb196b28b,0xbab4,0x101a,0xb6,0x9c,0,0xaa,0,0x34,0x1d,0x7);
-DEFINE_OLEGUID(IID_IStdMarshalInfo,24,0,0);
-DEFINE_GUID(IID_IStorage,0xb,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(IID_IStream,0xc,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(IID_IStub,0x26,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(IID_IStubManager,0x6,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(IID_ISupportErrorInfo,0xdf0b3d60,0x548f,0x101b,0x8e,0x65,0x8,0,0x2b,0x2b,0xd1,0x19);
-DEFINE_GUID(IID_ITargetEmbedding,0x548793c0,0x9e74,0x11cf,0x96,0x55,0,0xa0,0xc9,0x3,0x49,0x23);
-DEFINE_GUID(IID_ITargetFrame,0xd5f78c80,0x5252,0x11cf,0x90,0xfa,0,0xaa,0,0x42,0x10,0x6e);
-DEFINE_GUID(IID_ITypeChangeEvents,0x20410,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(IID_ITypeComp,0x20403,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(IID_ITypeInfo,0x20401,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(IID_ITypeInfo2,0x20412,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(IID_ITypeLib,0x20402,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(IID_ITypeLib2,0x20411,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(IID_IUnknown,0,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(IID_IUrlHistoryStg,0x3c374a41,0xbae4,0x11cf,0xbf,0x7d,0,0xaa,0,0x69,0x46,0xee);
-DEFINE_GUID(IID_IViewObject,0x10d,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(IID_IViewObject2,0x127,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(IID_IViewObjectEx,0x3af24292,0xc96,0x11ce,0xa0,0xcf,0,0xaa,0,0x60,0xa,0xb8);
-DEFINE_GUID(IID_IWebBrowser,0xeab22ac1,0x30c1,0x11cf,0xa7,0xeb,0x0,0x0,0xc0,0x5b,0xae,0x0b);
-DEFINE_GUID(IID_IWebBrowser2,0xd30c1661,0xcdaf,0x11d0,0x8a,0x3e,0x0,0xc0,0x4f,0xc9,0xe2,0x6e);
-DEFINE_GUID(IID_IWebBrowserApp,0x2df05,0x0,0x0,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x46);
-DEFINE_GUID(IID_IWinInetHttpInfo,0x79eac9d8,0xbafa,0x11ce,0x8c,0x82,0,0xaa,0,0x4b,0xa9,0xb);
-DEFINE_GUID(IID_IWinInetInfo,0x79eac9d6,0xbafa,0x11ce,0x8c,0x82,0,0xaa,0,0x4b,0xa9,0xb);
-DEFINE_GUID(IID_IWindowForBindingUI,0x79eac9d5,0xbafa,0x11ce,0x8c,0x82,0,0xaa,0,0x4b,0xa9,0xb);
-DEFINE_GUID(IID_StdOle,0x20430,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(OLE_DATAPATH_ALLIMAGE,0x2de0e,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(OLE_DATAPATH_ALLMM,0x2de18,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(OLE_DATAPATH_ALLTEXT,0x2de1e,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(OLE_DATAPATH_ANSITEXT,0x2de19,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(OLE_DATAPATH_AVI,0x2de0f,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(OLE_DATAPATH_BASICAUDIO,0x2de12,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(OLE_DATAPATH_BIFF,0x2de21,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(OLE_DATAPATH_BMP,0x2de01,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(OLE_DATAPATH_CGM,0x2de0b,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(OLE_DATAPATH_COMMONIMAGE,0x2de0d,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(OLE_DATAPATH_DIB,0x2de02,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(OLE_DATAPATH_DIF,0x2de1f,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(OLE_DATAPATH_ENHMF,0x2de04,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(OLE_DATAPATH_EPS,0x2de0c,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(OLE_DATAPATH_GIF,0x2de05,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(OLE_DATAPATH_HTML,0x2de1c,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(OLE_DATAPATH_JPEG,0x2de06,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(OLE_DATAPATH_MIDI,0x2de13,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(OLE_DATAPATH_MPEG,0x2de10,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(OLE_DATAPATH_PALETTE,0x2de22,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(OLE_DATAPATH_PCX,0x2de09,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(OLE_DATAPATH_PENDATA,0x2de23,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(OLE_DATAPATH_PICT,0x2de0a,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(OLE_DATAPATH_POSTSCRIPT,0x2de1d,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(OLE_DATAPATH_QUICKTIME,0x2de11,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(OLE_DATAPATH_RIFF,0x2de15,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(OLE_DATAPATH_RTF,0x2de1b,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(OLE_DATAPATH_SOUND,0x2de16,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(OLE_DATAPATH_SYLK,0x2de20,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(OLE_DATAPATH_TIFF,0x2de07,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(OLE_DATAPATH_UNICODE,0x2de1a,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(OLE_DATAPATH_VIDEO,0x2de17,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(OLE_DATAPATH_WAV,0x2de14,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(OLE_DATAPATH_WMF,0x2de03,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(OLE_DATAPATH_XBM,0x2de08,0,0,0xc0,0,0,0,0,0,0,0x46);
-DEFINE_GUID(SID_SContainerDispatch,0xb722be00,0x4e68,0x101b,0xa2,0xbc,0,0xaa,0,0x40,0x47,0x70);
-DEFINE_GUID(SID_SDataPathBrowser,0xfc4801a5,0x2ba9,0x11cf,0xa2,0x29,0,0xaa,0,0x3d,0x73,0x52);
diff --git a/winsup/w32api/lib/uxtheme.def b/winsup/w32api/lib/uxtheme.def
deleted file mode 100644
index 86ce21c13..000000000
--- a/winsup/w32api/lib/uxtheme.def
+++ /dev/null
@@ -1,50 +0,0 @@
-LIBRARY UxTheme.dll
-EXPORTS
-CloseThemeData@4
-DrawThemeBackground@24
-DrawThemeBackgroundEx@24
-DrawThemeEdge@32
-DrawThemeIcon@28
-DrawThemeParentBackground@12
-DrawThemeText@36
-EnableThemeDialogTexture@8
-EnableTheming@4
-GetCurrentThemeName@24
-GetThemeAppProperties@0
-GetThemeBackgroundContentRect@24
-GetThemeBackgroundExtent@24
-GetThemeBackgroundRegion@24
-GetThemeBool@20
-GetThemeColor@20
-GetThemeDocumentationProperty@16
-GetThemeEnumValue@20
-GetThemeFilename@24
-GetThemeFont@24
-GetThemeInt@20
-GetThemeIntList@20
-GetThemeMargins@28
-GetThemeMetric@24
-GetThemePartSize@28
-GetThemePosition@20
-GetThemePropertyOrigin@20
-GetThemeRect@20
-GetThemeString@24
-GetThemeSysBool@8
-GetThemeSysColor@8
-GetThemeSysColorBrush@8
-GetThemeSysFont@12
-GetThemeSysInt@12
-GetThemeSysSize@8
-GetThemeSysString@16
-GetThemeTextExtent@36
-GetThemeTextMetrics@20
-GetWindowTheme@4
-HitTestThemeBackground@40
-IsAppThemed@0
-IsThemeActive@0
-IsThemeBackgroundPartiallyTransparent@12
-IsThemeDialogTextureEnabled@4
-IsThemePartDefined@12
-OpenThemeData@8
-SetThemeAppProperties@4
-SetWindowTheme@12
diff --git a/winsup/w32api/lib/vdmdbg.def b/winsup/w32api/lib/vdmdbg.def
deleted file mode 100644
index fbd1b4fe6..000000000
--- a/winsup/w32api/lib/vdmdbg.def
+++ /dev/null
@@ -1,18 +0,0 @@
-LIBRARY VDMDBG.dll
-EXPORTS
-VDMBreakThread@8
-VDMDetectWOW@0
-VDMEnumProcessWOW@8
-VDMEnumTaskWOW@12
-VDMGetModuleSelector@20
-VDMGetPointer@20
-VDMGetSelectorModule@32
-VDMGetThreadContext@8
-VDMGetThreadSelectorEntry@16
-VDMGlobalFirst@24
-VDMGlobalNext@24
-VDMKillWOW@0
-VDMModuleFirst@20
-VDMModuleNext@20
-VDMProcessException@4
-VDMSetThreadContext@8
diff --git a/winsup/w32api/lib/version.def b/winsup/w32api/lib/version.def
deleted file mode 100644
index 35a087e5d..000000000
--- a/winsup/w32api/lib/version.def
+++ /dev/null
@@ -1,16 +0,0 @@
-LIBRARY "VERSION.dll"
-EXPORTS
-GetFileVersionInfoA@16
-GetFileVersionInfoSizeA@8
-GetFileVersionInfoSizeW@8
-GetFileVersionInfoW@16
-VerFindFileA@32
-VerFindFileW@32
-VerInstallFileA@32
-VerInstallFileW@32
-VerLanguageNameA@12
-VerLanguageNameW@12
-VerQueryValueA@16
-VerQueryValueIndexA@24
-VerQueryValueIndexW@24
-VerQueryValueW@16
diff --git a/winsup/w32api/lib/vfw32.mri b/winsup/w32api/lib/vfw32.mri
deleted file mode 100644
index ee01b1225..000000000
--- a/winsup/w32api/lib/vfw32.mri
+++ /dev/null
@@ -1,6 +0,0 @@
-CREATE libvfw32.a
-ADDLIB libmsvfw32.a
-ADDLIB libavicap32.a
-ADDLIB libavifil32.a
-SAVE
-END
diff --git a/winsup/w32api/lib/win32spl.def b/winsup/w32api/lib/win32spl.def
deleted file mode 100644
index ea00cad1c..000000000
--- a/winsup/w32api/lib/win32spl.def
+++ /dev/null
@@ -1,16 +0,0 @@
-LIBRARY WIN32SPL.DLL
-EXPORTS
-AddPortExW@16
-AddPortW@12
-ClosePort@4
-ConfigurePortW@12
-DeletePortW@12
-EndDocPort@4
-EnumPortsW@24
-InitializeMonitor@4
-InitializePrintProvidor@12
-LibMain@12
-OpenPort@8
-ReadPort@16
-StartDocPort@20
-WritePort@16
diff --git a/winsup/w32api/lib/wininet.def b/winsup/w32api/lib/wininet.def
deleted file mode 100644
index 0bcf06970..000000000
--- a/winsup/w32api/lib/wininet.def
+++ /dev/null
@@ -1,244 +0,0 @@
-; Which header declares the functions not in wininet?
-LIBRARY WININET.DLL
-EXPORTS
-CommitUrlCacheEntryA@44
-CommitUrlCacheEntryW@44
-CreateMD5SSOHash@16
-CreateUrlCacheContainerA@32
-CreateUrlCacheContainerW@32
-CreateUrlCacheEntryA@20
-CreateUrlCacheEntryW@20
-CreateUrlCacheGroup@8
-DeleteIE3Cache@16
-DeleteUrlCacheContainerA@8
-DeleteUrlCacheContainerW@8
-DeleteUrlCacheEntry@4
-DeleteUrlCacheEntryA@4
-DeleteUrlCacheEntryW@4
-DeleteUrlCacheGroup@16
-DetectAutoProxyUrl@12
-DoConnectoidsExist@0
-ExportCookieFileA@8
-ExportCookieFileW@8
-FindCloseUrlCache@4
-FindFirstUrlCacheContainerA@16
-FindFirstUrlCacheContainerW@16
-FindFirstUrlCacheEntryA@12
-FindFirstUrlCacheEntryExA@40
-FindFirstUrlCacheEntryExW@40
-FindFirstUrlCacheEntryW@12
-FindFirstUrlCacheGroup@24
-FindNextUrlCacheContainerA@12
-FindNextUrlCacheContainerW@12
-FindNextUrlCacheEntryA@12
-FindNextUrlCacheEntryExA@24
-FindNextUrlCacheEntryExW@24
-FindNextUrlCacheEntryW@12
-FindNextUrlCacheGroup@12
-FindP3PPolicySymbol@4
-ForceNexusLookup@0
-ForceNexusLookupExW@20
-FreeP3PObject@4
-FreeUrlCacheSpaceA@12
-FreeUrlCacheSpaceW@12
-FtpCommandA@24
-FtpCommandW@24
-FtpCreateDirectoryA@8
-FtpCreateDirectoryW@8
-FtpDeleteFileA@8
-FtpDeleteFileW@8
-FtpFindFirstFileA@20
-FtpFindFirstFileW@20
-FtpGetCurrentDirectoryA@12
-FtpGetCurrentDirectoryW@12
-FtpGetFileA@28
-FtpGetFileEx@28
-FtpGetFileSize@8
-FtpGetFileW@28
-FtpOpenFileA@20
-FtpOpenFileW@20
-FtpPutFileA@20
-FtpPutFileEx@20
-FtpPutFileW@20
-FtpRemoveDirectoryA@8
-FtpRemoveDirectoryW@8
-FtpRenameFileA@12
-FtpRenameFileW@12
-FtpSetCurrentDirectoryA@8
-FtpSetCurrentDirectoryW@8
-GetDiskInfoA@16
-GetP3PPolicy@16
-GetP3PRequestStatus@4
-GetUrlCacheConfigInfoA@12
-GetUrlCacheConfigInfoW@12
-GetUrlCacheEntryInfoA@12
-GetUrlCacheEntryInfoExA@28
-GetUrlCacheEntryInfoExW@28
-GetUrlCacheEntryInfoW@12
-GetUrlCacheGroupAttributeA@28
-GetUrlCacheGroupAttributeW@28
-GetUrlCacheHeaderData@8
-GopherCreateLocatorA@28
-GopherCreateLocatorW@28
-GopherFindFirstFileA@24
-GopherFindFirstFileW@24
-GopherGetAttributeA@32
-GopherGetAttributeW@32
-GopherGetLocatorTypeA@8
-GopherGetLocatorTypeW@8
-GopherOpenFileA@20
-GopherOpenFileW@20
-HttpAddRequestHeadersA@16
-HttpAddRequestHeadersW@16
-HttpCheckDavCompliance@20
-HttpCheckDavComplianceA@20
-HttpCheckDavComplianceW@20
-HttpEndRequestA@16
-HttpEndRequestW@16
-HttpOpenRequestA@32
-HttpOpenRequestW@32
-HttpQueryInfoA@20
-HttpQueryInfoW@20
-HttpSendRequestA@20
-HttpSendRequestExA@20
-HttpSendRequestExW@20
-HttpSendRequestW@20
-ImportCookieFileA@4
-ImportCookieFileW@4
-IncrementUrlCacheHeaderData@8
-InternetAlgIdToStringA@16
-InternetAlgIdToStringW@16
-InternetAttemptConnect@4
-InternetAutodial@8
-InternetAutodialCallback@8
-InternetAutodialHangup@4
-InternetCanonicalizeUrlA@16
-InternetCanonicalizeUrlW@16
-InternetCheckConnectionA@12
-InternetCheckConnectionW@12
-InternetClearAllPerSiteCookieDecisions@0
-InternetCloseHandle@4
-InternetCombineUrlA@20
-InternetCombineUrlW@20
-InternetConfirmZoneCrossing@16
-InternetConfirmZoneCrossingA@16
-InternetConfirmZoneCrossingW@16
-InternetConnectA@32
-InternetConnectW@32
-InternetCrackUrlA@16
-InternetCrackUrlW@16
-InternetCreateUrlA@16
-InternetCreateUrlW@16
-;InternetDebugGetLocalTime@8
-InternetDial@20
-InternetDialA@20
-InternetDialW@20
-InternetEnumPerSiteCookieDecisionA@16
-InternetEnumPerSiteCookieDecisionW@16
-InternetErrorDlg@20
-InternetFindNextFileA@8
-InternetFindNextFileW@8
-InternetFortezzaCommand@12
-InternetGetCertByURL@12
-InternetGetCertByURLA@12
-InternetGetConnectedState@8
-InternetGetConnectedStateEx@16
-InternetGetConnectedStateExA@16
-InternetGetConnectedStateExW@16
-InternetGetCookieA@16
-InternetGetCookieExA@24
-InternetGetCookieExW@24
-InternetGetCookieW@16
-InternetGetLastResponseInfoA@12
-InternetGetLastResponseInfoW@12
-InternetGetPerSiteCookieDecisionA@8
-InternetGetPerSiteCookieDecisionW@8
-InternetGoOnline@12
-InternetGoOnlineA@12
-InternetGoOnlineW@12
-InternetHangUp@8
-InternetInitializeAutoProxyDll@4
-InternetLockRequestFile@8
-InternetOpenA@20
-InternetOpenUrlA@24
-InternetOpenUrlW@24
-InternetOpenW@20
-InternetQueryDataAvailable@16
-InternetQueryFortezzaStatus@8
-InternetQueryOptionA@16
-InternetQueryOptionW@16
-InternetReadFile@16
-InternetReadFileExA@16
-InternetReadFileExW@16
-InternetSecurityProtocolToStringA@16
-InternetSecurityProtocolToStringW@16
-InternetSetCookieA@12
-InternetSetCookieExA@20
-InternetSetCookieExW@20
-InternetSetCookieW@12
-InternetSetDialState@12
-InternetSetDialStateA@12
-InternetSetDialStateW@12
-InternetSetFilePointer@20
-InternetSetOptionA@16
-InternetSetOptionExA@20
-InternetSetOptionExW@20
-InternetSetOptionW@16
-InternetSetPerSiteCookieDecisionA@8
-InternetSetPerSiteCookieDecisionW@8
-InternetSetStatusCallback@8
-InternetSetStatusCallbackA@8
-InternetSetStatusCallbackW@8
-InternetShowSecurityInfoByURL@8
-InternetShowSecurityInfoByURLA@8
-InternetShowSecurityInfoByURLW@8
-InternetTimeFromSystemTime@16
-InternetTimeFromSystemTimeA@16
-InternetTimeFromSystemTimeW@16
-InternetTimeToSystemTime@12
-InternetTimeToSystemTimeA@12
-InternetTimeToSystemTimeW@12
-InternetUnlockRequestFile@4
-InternetWriteFile@16
-InternetWriteFileExA@16
-InternetWriteFileExW@16
-IsDomainLegalCookieDomainA@8
-IsDomainLegalCookieDomainW@8
-IsHostInProxyBypassList@12
-IsProfilesEnabled@0
-IsUrlCacheEntryExpiredA@12
-IsUrlCacheEntryExpiredW@12
-LoadUrlCacheContent@0
-MapResourceToPolicy@16
-ParseX509EncodedCertificateForListBoxEntry@16
-PerformOperationOverUrlCacheA@40
-PrivacyGetZonePreferenceW@20
-PrivacySetZonePreferenceW@16
-ReadUrlCacheEntryStream@20
-RegisterUrlCacheNotification@24
-ResumeSuspendedDownload@8
-RetrieveUrlCacheEntryFileA@16
-RetrieveUrlCacheEntryFileW@16
-RetrieveUrlCacheEntryStreamA@20
-RetrieveUrlCacheEntryStreamW@20
-RunOnceUrlCache@16
-SetUrlCacheConfigInfoA@8
-SetUrlCacheConfigInfoW@8
-SetUrlCacheEntryGroup@28
-SetUrlCacheEntryGroupA@28
-SetUrlCacheEntryGroupW@28
-SetUrlCacheEntryInfoA@12
-SetUrlCacheEntryInfoW@12
-SetUrlCacheGroupAttributeA@24
-SetUrlCacheGroupAttributeW@24
-SetUrlCacheHeaderData@8
-ShowCertificate@8
-ShowClientAuthCerts@4
-ShowSecurityInfo@8
-ShowX509EncodedCertificate@12
-UnlockUrlCacheEntryFile@8
-UnlockUrlCacheEntryFileA@8
-UnlockUrlCacheEntryFileW@8
-UnlockUrlCacheEntryStream@8
-UpdateUrlCacheContentPath@4
-UrlZonesDetach@0
diff --git a/winsup/w32api/lib/winmm.def b/winsup/w32api/lib/winmm.def
deleted file mode 100644
index 4de3638e5..000000000
--- a/winsup/w32api/lib/winmm.def
+++ /dev/null
@@ -1,196 +0,0 @@
-LIBRARY WINMM.DLL
-EXPORTS
-CloseDriver@12
-DefDriverProc@20
-DriverCallback@28
-DrvGetModuleHandle@4
-GetDriverModuleHandle@4
-NotifyCallbackData@20
-OpenDriver@12
-PlaySound@12
-PlaySoundA@12
-PlaySoundW@12
-SendDriverMessage@16
-WOW32DriverCallback@28
-WOW32ResolveMultiMediaHandle@24
-WOWAppExit@4
-aux32Message@20
-auxGetDevCapsA@12
-auxGetDevCapsW@12
-auxGetNumDevs@0
-auxGetVolume@8
-auxOutMessage@16
-auxSetVolume@8
-joy32Message@20
-joyConfigChanged@4
-joyGetDevCapsA@12
-joyGetDevCapsW@12
-joyGetNumDevs@0
-joyGetPos@8
-joyGetPosEx@8
-joyGetThreshold@8
-joyReleaseCapture@4
-joySetCapture@16
-joySetThreshold@8
-mci32Message@20
-mciDriverNotify@12
-mciDriverYield@4
-mciExecute@4
-mciFreeCommandResource@4
-mciGetCreatorTask@4
-mciGetDeviceIDA@4
-mciGetDeviceIDFromElementIDA@8
-mciGetDeviceIDFromElementIDW@8
-mciGetDeviceIDW@4
-mciGetDriverData@4
-mciGetErrorStringA@12
-mciGetErrorStringW@12
-mciGetYieldProc@8
-mciLoadCommandResource@12
-mciSendCommandA@16
-mciSendCommandW@16
-mciSendStringA@16
-mciSendStringW@16
-mciSetDriverData@8
-mciSetYieldProc@12
-mid32Message@20
-midiConnect@12
-midiDisconnect@12
-midiInAddBuffer@12
-midiInClose@4
-midiInGetDevCapsA@12
-midiInGetDevCapsW@12
-midiInGetErrorTextA@12
-midiInGetErrorTextW@12
-midiInGetID@8
-midiInGetNumDevs@0
-midiInMessage@16
-midiInOpen@20
-midiInPrepareHeader@12
-midiInReset@4
-midiInStart@4
-midiInStop@4
-midiInUnprepareHeader@12
-midiOutCacheDrumPatches@16
-midiOutCachePatches@16
-midiOutClose@4
-midiOutGetDevCapsA@12
-midiOutGetDevCapsW@12
-midiOutGetErrorTextA@12
-midiOutGetErrorTextW@12
-midiOutGetID@8
-midiOutGetNumDevs@0
-midiOutGetVolume@8
-midiOutLongMsg@12
-midiOutMessage@16
-midiOutOpen@20
-midiOutPrepareHeader@12
-midiOutReset@4
-midiOutSetVolume@8
-midiOutShortMsg@8
-midiOutUnprepareHeader@12
-midiStreamClose@4
-midiStreamOpen@24
-midiStreamOut@12
-midiStreamPause@4
-midiStreamPosition@12
-midiStreamProperty@12
-midiStreamRestart@4
-midiStreamStop@4
-mixerClose@4
-mixerGetControlDetailsA@12
-mixerGetControlDetailsW@12
-mixerGetDevCapsA@12
-mixerGetDevCapsW@12
-mixerGetID@12
-mixerGetLineControlsA@12
-mixerGetLineControlsW@12
-mixerGetLineInfoA@12
-mixerGetLineInfoW@12
-mixerGetNumDevs@0
-mixerMessage@16
-mixerOpen@20
-mixerSetControlDetails@12
-mmDrvInstall@12
-mmGetCurrentTask@0
-mmTaskBlock@4
-mmTaskCreate@12
-mmTaskSignal@4
-mmTaskYield@0
-mmioAdvance@12
-mmioAscend@12
-mmioClose@8
-mmioCreateChunk@12
-mmioDescend@16
-mmioFlush@8
-mmioGetInfo@12
-mmioInstallIOProcA@12
-mmioInstallIOProcW@12
-mmioOpenA@12
-mmioOpenW@12
-mmioRead@12
-mmioRenameA@16
-mmioRenameW@16
-mmioSeek@12
-mmioSendMessage@16
-mmioSetBuffer@16
-mmioSetInfo@12
-mmioStringToFOURCCA@8
-mmioStringToFOURCCW@8
-mmioWrite@12
-mmsystemGetVersion@0
-mod32Message@20
-mxd32Message@20
-sndPlaySoundA@8
-sndPlaySoundW@8
-tid32Message@20
-timeBeginPeriod@4
-timeEndPeriod@4
-timeGetDevCaps@8
-timeGetSystemTime@8
-timeGetTime@0
-timeKillEvent@4
-timeSetEvent@20
-waveInAddBuffer@12
-waveInClose@4
-waveInGetDevCapsA@12
-waveInGetDevCapsW@12
-waveInGetErrorTextA@12
-waveInGetErrorTextW@12
-waveInGetID@8
-waveInGetNumDevs@0
-waveInGetPosition@12
-waveInMessage@16
-waveInOpen@24
-waveInPrepareHeader@12
-waveInReset@4
-waveInStart@4
-waveInStop@4
-waveInUnprepareHeader@12
-waveOutBreakLoop@4
-waveOutClose@4
-waveOutGetDevCapsA@12
-waveOutGetDevCapsW@12
-waveOutGetErrorTextA@12
-waveOutGetErrorTextW@12
-waveOutGetID@8
-waveOutGetNumDevs@0
-waveOutGetPitch@8
-waveOutGetPlaybackRate@8
-waveOutGetPosition@12
-waveOutGetVolume@8
-waveOutMessage@16
-waveOutOpen@24
-waveOutPause@4
-waveOutPrepareHeader@12
-waveOutReset@4
-waveOutRestart@4
-waveOutSetPitch@8
-waveOutSetPlaybackRate@8
-waveOutSetVolume@8
-waveOutUnprepareHeader@12
-waveOutWrite@12
-wid32Message@20
-winmmDbgOut
-winmmSetDebugLevel@4
-wod32Message@20
diff --git a/winsup/w32api/lib/winspool.def b/winsup/w32api/lib/winspool.def
deleted file mode 100644
index b6375b174..000000000
--- a/winsup/w32api/lib/winspool.def
+++ /dev/null
@@ -1,133 +0,0 @@
-LIBRARY WINSPOOL.DRV
-EXPORTS
-ADVANCEDSETUPDIALOG@16
-AbortPrinter@4
-AddFormA@12
-AddFormW@12
-AddJobA@20
-AddJobW@20
-AddMonitorA@12
-AddMonitorW@12
-AddPortA@12
-AddPortExA@16
-AddPortExW@16
-AddPortW@12
-AddPrintProcessorA@16
-AddPrintProcessorW@16
-AddPrintProvidorA@12
-AddPrintProvidorW@12
-AddPrinterA@12
-AddPrinterConnectionA@4
-AddPrinterConnectionW@4
-AddPrinterDriverA@12
-AddPrinterDriverW@12
-AddPrinterW@12
-AdvancedDocumentPropertiesA@20
-AdvancedDocumentPropertiesW@20
-AdvancedSetupDialog@16
-ClosePrinter@4
-ConfigurePortA@12
-ConfigurePortW@12
-ConnectToPrinterDlg@8
-CreatePrinterIC@8
-DEVICECAPABILITIES@20
-DEVICEMODE@16
-DeleteFormA@8
-DeleteFormW@8
-DeleteMonitorA@12
-DeleteMonitorW@12
-DeletePortA@12
-DeletePortW@12
-DeletePrinterDataA@8
-DeletePrinterDataW@8
-DeletePrintProcessorA@12
-DeletePrintProcessorW@12
-DeletePrintProvidorA@12
-DeletePrintProvidorW@12
-DeletePrinter@4
-DeletePrinterConnectionA@4
-DeletePrinterConnectionW@4
-DeletePrinterDriverA@12
-DeletePrinterDriverW@12
-DeletePrinterIC@4
-DevQueryPrint@12
-DeviceCapabilities@20
-DeviceCapabilitiesA@20
-DeviceCapabilitiesW@20
-DeviceMode@16
-DocumentEvent@28
-DocumentPropertiesA@24
-DocumentPropertiesW@24
-EXTDEVICEMODE@32
-EndDocPrinter@4
-EndPagePrinter@4
-EnumFormsA@24
-EnumFormsW@24
-EnumJobsA@32
-EnumJobsW@32
-EnumMonitorsA@24
-EnumMonitorsW@24
-EnumPortsA@24
-EnumPortsW@24
-EnumPrintProcessorDatatypesA@28
-EnumPrintProcessorDatatypesW@28
-EnumPrintProcessorsA@28
-EnumPrintProcessorsW@28
-EnumPrinterDriversA@28
-EnumPrinterDriversW@28
-EnumPrinterPropertySheets@16
-EnumPrintersA@28
-EnumPrintersW@28
-EnumPrinterDataA@36
-EnumPrinterDataW@36
-ExtDeviceMode@32
-FindClosePrinterChangeNotification@4
-FindFirstPrinterChangeNotification@16
-FindNextPrinterChangeNotification@16
-FreePrinterNotifyInfo@4
-GetDefaultPrinterA@8
-GetDefaultPrinterW@8
-GetFormA@24
-GetFormW@24
-GetJobA@24
-GetJobW@24
-GetPrintProcessorDirectoryA@24
-GetPrintProcessorDirectoryW@24
-GetPrinterA@20
-GetPrinterDataA@24
-GetPrinterDataW@24
-GetPrinterDriverA@24
-GetPrinterDriverDirectoryA@24
-GetPrinterDriverDirectoryW@24
-GetPrinterDriverW@24
-GetPrinterW@20
-InitializeDll@12
-OpenPrinterA@12
-OpenPrinterW@12
-PlayGdiScriptOnPrinterIC@24
-PrinterMessageBoxA@24
-PrinterMessageBoxW@24
-PrinterProperties@8
-ReadPrinter@16
-ResetPrinterA@8
-ResetPrinterW@8
-ScheduleJob@8
-SetAllocFailCount@20
-SetFormA@16
-SetFormW@16
-SetJobA@20
-SetJobW@20
-SetPort@16
-SetPrinterA@16
-SetPrinterDataA@20
-SetPrinterDataW@20
-SetPrinterW@16
-SpoolerDevQueryPrintW@20
-SpoolerInit@0
-StartDocDlgA@8
-StartDocDlgW@8
-StartDocPrinterA@12
-StartDocPrinterW@12
-StartPagePrinter@4
-WaitForPrinterChange@8
-WritePrinter@16
diff --git a/winsup/w32api/lib/winstrm.def b/winsup/w32api/lib/winstrm.def
deleted file mode 100644
index 27531a0b9..000000000
--- a/winsup/w32api/lib/winstrm.def
+++ /dev/null
@@ -1,9 +0,0 @@
-LIBRARY WINSTRM.DLL
-EXPORTS
-OpenStream@4
-getmsg@16
-poll@12
-putmsg@16
-s_ioctl@12
-s_open@12
-s_perror@8
diff --git a/winsup/w32api/lib/wldap32.def b/winsup/w32api/lib/wldap32.def
deleted file mode 100644
index 8f3f90dc0..000000000
--- a/winsup/w32api/lib/wldap32.def
+++ /dev/null
@@ -1,257 +0,0 @@
-;
-; wldap32.def - Import definition file for the Windows LDAP API
-;
-; Written by Filip Navara <xnavara@volny.cz>
-;
-; This library 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.
-;
-
-LIBRARY wldap32.dll
-EXPORTS
- ldap_abandon
- ldap_add
- ldap_get_optionW
- ldap_unbind
- ldap_set_optionW
- LdapGetLastError
- cldap_open
- LdapMapErrorToWin32
- ldap_compare
- ldap_delete
- ldap_result2error
- ldap_err2string
- ldap_modify
- ldap_modrdn
- ldap_open
- ldap_first_entry
- ldap_next_entry
- cldap_openW
- LdapUTF8ToUnicode
- ldap_get_dn
- ldap_dn2ufn
- ldap_first_attribute
- ldap_next_attribute
- ldap_get_values
- ldap_get_values_len
- ldap_count_entries
- ldap_count_values
- ldap_value_free
- ldap_explode_dn
- ldap_result
- ldap_msgfree
- ldap_addW
- ldap_search
- ldap_add_s
- ldap_bind_s
- ldap_unbind_s
- ldap_delete_s
- ldap_modify_s
- ldap_modrdn_s
- ldap_search_s
- ldap_search_st
- ldap_compare_s
- LdapUnicodeToUTF8
- ber_bvfree
- cldap_openA
- ldap_addA
- ldap_add_ext
- ldap_add_extA
- ldap_simple_bind
- ldap_simple_bind_s
- ldap_bind
- ldap_add_extW
- ldap_add_ext_s
- ldap_add_ext_sA
- ldap_add_ext_sW
- ldap_add_sA
- ldap_modrdn2
- ldap_modrdn2_s
- ldap_add_sW
- ldap_bindA
- ldap_bindW
- ldap_bind_sA
- ldap_bind_sW
- ldap_close_extended_op
- ldap_compareA
- ldap_compareW
- ldap_count_values_len
- ldap_compare_ext
- ldap_value_free_len
- ldap_compare_extA
- ldap_compare_extW
- ldap_perror
- ldap_compare_ext_s
- ldap_compare_ext_sA
- ldap_compare_ext_sW
- ldap_compare_sA
- ldap_compare_sW
- ldap_connect
- ldap_control_free
- ldap_control_freeA
- ldap_control_freeW
- ldap_controls_free
- ldap_controls_freeA
- ldap_controls_freeW
- ldap_count_references
- ldap_count_valuesA
- ldap_count_valuesW
- ldap_create_page_control
- ldap_create_page_controlA
- ldap_create_page_controlW
- ldap_create_sort_control
- ldap_create_sort_controlA
- ldap_create_sort_controlW
- ldap_deleteA
- ldap_deleteW
- ldap_delete_ext
- ldap_delete_extA
- ldap_delete_extW
- ldap_delete_ext_s
- ldap_delete_ext_sA
- ldap_delete_ext_sW
- ldap_delete_sA
- ldap_delete_sW
- ldap_dn2ufnW
- ldap_encode_sort_controlA
- ldap_encode_sort_controlW
- ldap_err2stringA
- ldap_err2stringW
- ldap_escape_filter_elementA
- ldap_escape_filter_elementW
- ldap_explode_dnA
- ldap_explode_dnW
- ldap_extended_operation
- ldap_extended_operationA
- ldap_extended_operationW
- ldap_first_attributeA
- ldap_first_attributeW
- ldap_first_reference
- ldap_free_controls
- ldap_free_controlsA
- ldap_free_controlsW
- ldap_get_dnA
- ldap_get_dnW
- ldap_get_next_page
- ldap_get_next_page_s
- ldap_get_option
- ldap_get_optionA
- ldap_get_paged_count
- ldap_get_valuesA
- ldap_get_valuesW
- ldap_get_values_lenA
- ldap_get_values_lenW
- ldap_init
- ldap_initA
- ldap_initW
- ldap_memfreeA
- ldap_memfreeW
- ldap_modifyA
- ldap_modifyW
- ldap_modify_ext
- ldap_modify_extA
- ldap_modify_extW
- ldap_modify_ext_s
- ldap_modify_ext_sA
- ldap_modify_ext_sW
- ldap_modify_sA
- ldap_modify_sW
- ldap_modrdn2A
- ldap_modrdn2W
- ldap_modrdn2_sA
- ldap_modrdn2_sW
- ldap_modrdnA
- ldap_modrdnW
- ldap_modrdn_sA
- ldap_modrdn_sW
- ldap_next_attributeA
- ldap_next_attributeW
- ldap_next_reference
- ldap_openA
- ldap_openW
- ldap_parse_page_control
- ldap_parse_page_controlA
- ldap_parse_page_controlW
- ldap_parse_reference
- ldap_parse_referenceA
- ldap_parse_referenceW
- ldap_parse_result
- ldap_parse_resultA
- ldap_parse_resultW
- ldap_parse_sort_control
- ldap_parse_sort_controlA
- ldap_parse_sort_controlW
- ldap_rename_ext
- ldap_rename_extA
- ldap_rename_extW
- ldap_rename_ext_s
- ldap_rename_ext_sA
- ldap_rename_ext_sW
- ldap_searchA
- ldap_searchW
- ldap_search_abandon_page
- ldap_search_ext
- ldap_search_extA
- ldap_search_extW
- ldap_search_ext_s
- ldap_search_ext_sA
- ldap_escape_filter_element
- ldap_set_dbg_flags
- ldap_set_dbg_routine
- ldap_memfree
- ldap_startup
- ldap_cleanup
- ldap_search_ext_sW
- ldap_search_init_page
- ldap_search_init_pageA
- ldap_search_init_pageW
- ldap_search_sA
- ldap_search_sW
- ldap_search_stA
- ldap_search_stW
- ldap_set_option
- ldap_set_optionA
- ldap_simple_bindA
- ldap_simple_bindW
- ldap_simple_bind_sA
- ldap_simple_bind_sW
- ldap_sslinit
- ldap_sslinitA
- ldap_sslinitW
- ldap_ufn2dn
- ldap_ufn2dnA
- ldap_ufn2dnW
- ldap_value_freeA
- ldap_value_freeW
- ldap_check_filterA
- ldap_check_filterW
- ldap_dn2ufnA
- ber_init
- ber_free
- ber_bvecfree
- ber_bvdup
- ber_alloc_t
- ber_skip_tag
- ber_peek_tag
- ber_first_element
- ber_next_element
- ber_flatten
- ber_printf
- ber_scanf
- ldap_conn_from_msg
- ldap_sasl_bindW
- ldap_sasl_bind_sW
- ldap_sasl_bindA
- ldap_sasl_bind_sA
- ldap_parse_extended_resultW
- ldap_parse_extended_resultA
- ldap_create_vlv_controlW
- ldap_create_vlv_controlA
- ldap_parse_vlv_controlW
- ldap_parse_vlv_controlA
- ldap_start_tls_sW
- ldap_start_tls_sA
- ldap_stop_tls_s
- ldap_extended_operation_sW
- ldap_extended_operation_sA
diff --git a/winsup/w32api/lib/wow32.def b/winsup/w32api/lib/wow32.def
deleted file mode 100644
index cd814c633..000000000
--- a/winsup/w32api/lib/wow32.def
+++ /dev/null
@@ -1,19 +0,0 @@
-LIBRARY WOW32.DLL
-EXPORTS
-WOWCallback16@8
-WOWCallback16Ex@20
-WOWDirectedYield16@4
-WOWGetDescriptor@8
-WOWGetVDMPointer@12
-WOWGetVDMPointerFix@12
-WOWGetVDMPointerUnfix@4
-WOWGlobalAlloc16@8
-WOWGlobalAllocLock16@12
-WOWGlobalFree16@4
-WOWGlobalLock16@4
-WOWGlobalLockSize16@8
-WOWGlobalUnlock16@4
-WOWGlobalUnlockFree16@4
-WOWHandle16@8
-WOWHandle32@8
-WOWYield16@0
diff --git a/winsup/w32api/lib/ws2_32.def b/winsup/w32api/lib/ws2_32.def
deleted file mode 100644
index 2146d83bf..000000000
--- a/winsup/w32api/lib/ws2_32.def
+++ /dev/null
@@ -1,111 +0,0 @@
-LIBRARY WS2_32.DLL
-EXPORTS
-WEP@0
-WPUCompleteOverlappedRequest@20
-WSAAccept@20
-WSAAddressToStringA@20
-WSAAddressToStringW@20
-WSAAsyncGetHostByAddr@28
-WSAAsyncGetHostByName@20
-WSAAsyncGetProtoByName@20
-WSAAsyncGetProtoByNumber@20
-WSAAsyncGetServByName@24
-WSAAsyncGetServByPort@24
-WSAAsyncSelect@16
-WSACancelAsyncRequest@4
-WSACancelBlockingCall@0
-WSACleanup@0
-WSACloseEvent@4
-WSAConnect@28
-WSACreateEvent@0
-WSADuplicateSocketA@12
-WSADuplicateSocketW@12
-WSAEnumNameSpaceProvidersA@8
-WSAEnumNameSpaceProvidersW@8
-WSAEnumNetworkEvents@12
-WSAEnumProtocolsA@12
-WSAEnumProtocolsW@12
-WSAEventSelect@12
-WSAGetLastError@0
-WSAGetOverlappedResult@20
-WSAGetQOSByName@12
-WSAGetServiceClassInfoA@16
-WSAGetServiceClassInfoW@16
-WSAGetServiceClassNameByClassIdA@12
-WSAGetServiceClassNameByClassIdW@12
-WSAHtonl@12
-WSAHtons@12
-WSAInstallServiceClassA@4
-WSAInstallServiceClassW@4
-WSAIoctl@36
-WSAIsBlocking@0
-WSAJoinLeaf@32
-WSALookupServiceBeginA@12
-WSALookupServiceBeginW@12
-WSALookupServiceEnd@4
-WSALookupServiceNextA@16
-WSALookupServiceNextW@16
-WSANtohl@12
-WSANtohs@12
-WSAProviderConfigChange@12
-WSARecv@28
-WSARecvDisconnect@8
-WSARecvFrom@36
-WSARemoveServiceClass@4
-WSAResetEvent@4
-WSASend@28
-WSASendDisconnect@8
-WSASendTo@36
-WSASetBlockingHook@4
-WSASetEvent@4
-WSASetLastError@4
-WSASetServiceA@12
-WSASetServiceW@12
-WSASocketA@24
-WSASocketW@24
-WSAStartup@8
-WSAStringToAddressA@20
-WSAStringToAddressW@20
-WSAUnhookBlockingHook@0
-WSAWaitForMultipleEvents@20
-WSCDeinstallProvider@8
-WSCEnableNSProvider@8
-WSCEnumProtocols@16
-WSCGetProviderPath@16
-WSCInstallNameSpace@20
-WSCInstallProvider@20
-WSCUnInstallNameSpace@4
-__WSAFDIsSet@8
-accept@12
-bind@12
-closesocket@4
-connect@12
-freeaddrinfo@4
-getaddrinfo@16
-gethostbyaddr@12
-gethostbyname@4
-gethostname@8
-getnameinfo@28
-getpeername@12
-getprotobyname@4
-getprotobynumber@4
-getservbyname@8
-getservbyport@8
-getsockname@12
-getsockopt@20
-htonl@4
-htons@4
-inet_addr@4
-inet_ntoa@4
-ioctlsocket@12
-listen@8
-ntohl@4
-ntohs@4
-recv@16
-recvfrom@24
-select@20
-send@16
-sendto@24
-setsockopt@20
-shutdown@8
-socket@12
diff --git a/winsup/w32api/lib/wsnmp32.def b/winsup/w32api/lib/wsnmp32.def
deleted file mode 100644
index d209d8945..000000000
--- a/winsup/w32api/lib/wsnmp32.def
+++ /dev/null
@@ -1,48 +0,0 @@
-LIBRARY wsnmp32.dll
-EXPORTS
-SnmpCancelMsg@8
-SnmpCleanup@0
-SnmpClose@4
-SnmpContextToStr@8
-SnmpCountVbl@4
-SnmpCreatePdu@24
-SnmpCreateSession@16
-SnmpCreateVbl@12
-SnmpDecodeMsg@24
-SnmpDeleteVb@8
-SnmpDuplicatePdu@8
-SnmpDuplicateVbl@8
-SnmpEncodeMsg@24
-SnmpEntityToStr@12
-SnmpFreeContext@4
-SnmpFreeDescriptor@8
-SnmpFreeEntity@4
-SnmpFreePdu@4
-SnmpFreeVbl@4
-SnmpGetLastError@4
-SnmpGetPduData@24
-SnmpGetRetransmitMode@4
-SnmpGetRetry@12
-SnmpGetTimeout@12
-SnmpGetTranslateMode@4
-SnmpGetVb@16
-SnmpGetVendorInfo@4
-SnmpListen@8
-SnmpOidCompare@16
-SnmpOidCopy@8
-SnmpOidToStr@12
-SnmpOpen@8
-SnmpRecvMsg@20
-SnmpRegister@24
-SnmpSendMsg@20
-SnmpSetPduData@24
-SnmpSetPort@8
-SnmpSetRetransmitMode@4
-SnmpSetRetry@8
-SnmpSetTimeout@8
-SnmpSetTranslateMode@4
-SnmpSetVb@16
-SnmpStartup@20
-SnmpStrToContext@8
-SnmpStrToEntity@8
-SnmpStrToOid@8
diff --git a/winsup/w32api/lib/wsock32.def b/winsup/w32api/lib/wsock32.def
deleted file mode 100644
index 67a8a750f..000000000
--- a/winsup/w32api/lib/wsock32.def
+++ /dev/null
@@ -1,75 +0,0 @@
-LIBRARY WSOCK32.DLL
-EXPORTS
-AcceptEx@32
-EnumProtocolsA@12
-EnumProtocolsW@12
-GetAcceptExSockaddrs@32
-GetAddressByNameA@40
-GetAddressByNameW@40
-GetNameByTypeA@12
-GetNameByTypeW@12
-GetServiceA@28
-GetServiceW@28
-GetTypeByNameA@8
-GetTypeByNameW@8
-NPLoadNameSpaces@12
-SetServiceA@24
-SetServiceW@24
-TransmitFile@28
-WSAAsyncGetHostByAddr@28
-WSAAsyncGetHostByName@20
-WSAAsyncGetProtoByName@20
-WSAAsyncGetProtoByNumber@20
-WSAAsyncGetServByName@24
-WSAAsyncGetServByPort@24
-WSAAsyncSelect@16
-WSACancelAsyncRequest@4
-WSACancelBlockingCall@0
-WSACleanup@0
-WSAGetLastError@0
-WSAIsBlocking@0
-WSARecvEx@16
-WSASetBlockingHook@4
-WSASetLastError@4
-WSAStartup@8
-WSAUnhookBlockingHook@0
-WSApSetPostRoutine@4
-__WSAFDIsSet@8
-accept@12
-bind@12
-closesocket@4
-connect@12
-dn_expand@20
-gethostbyaddr@12
-gethostbyname@4
-gethostname@8
-getnetbyname@4
-getpeername@12
-getprotobyname@4
-getprotobynumber@4
-getservbyname@8
-getservbyport@8
-getsockname@12
-getsockopt@20
-htonl@4
-htons@4
-inet_addr@4
-inet_network@4
-inet_ntoa@4
-ioctlsocket@12
-listen@8
-ntohl@4
-ntohs@4
-rcmd@24
-recv@16
-recvfrom@24
-rexec@24
-rresvport@4
-s_perror@8
-select@20
-send@16
-sendto@24
-sethostname@8
-setsockopt@20
-shutdown@8
-socket@12
diff --git a/winsup/w32api/lib/wst.def b/winsup/w32api/lib/wst.def
deleted file mode 100644
index e80170ada..000000000
--- a/winsup/w32api/lib/wst.def
+++ /dev/null
@@ -1,3 +0,0 @@
-LIBRARY WST.DLL
-EXPORTS
-_penter